diff --git a/.gitignore b/.gitignore index 77a633f97a..0d75bd873d 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ coverage/* build/curve25519_compiled.js build/compact-locales build/*.policy +build/emoji-data.json stylesheets/*.css.map /dist .DS_Store diff --git a/.oxlint/rules/enforceFileSuffix.mjs b/.oxlint/rules/enforceFileSuffix.mjs index a604febae8..e332edd713 100644 --- a/.oxlint/rules/enforceFileSuffix.mjs +++ b/.oxlint/rules/enforceFileSuffix.mjs @@ -231,8 +231,7 @@ const STD_PACKAGES = new Set([ 'danger', 'debug', 'direction', - 'emoji-datasource', - 'emoji-regex', + 'emoji-regex-xs', 'eslint', 'eslint-plugin-better-tailwindcss', 'filesize', diff --git a/.prettierignore b/.prettierignore index 9333576c15..55717c1fd8 100644 --- a/.prettierignore +++ b/.prettierignore @@ -3,6 +3,7 @@ # Generated files build/**/*.js +build/**/*.json app/**/*.js config/local-*.json config/local.json @@ -30,6 +31,7 @@ packages/lame/lame-*/ danger/node_modules/** sticker-creator/node_modules/** components/** +scripts/emoji-datasource/emoji-datasource.json # Assets /images/ diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index 718b3b0fd3..4e3b7c5284 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -30,13 +30,13 @@ import { Environment, setEnvironment } from '../ts/environment.std.ts'; import { parseUnknown } from '../ts/util/schemas.std.ts'; import { LocaleEmojiListSchema } from '../ts/types/emoji.std.ts'; import { FunProvider } from '../ts/components/fun/FunProvider.dom.tsx'; -import { EmojiSkinTone } from '../ts/components/fun/data/emojis.std.ts'; import { MOCK_GIFS_PAGINATED_ONE_PAGE } from '../ts/test-helpers/funPickerMocks.dom.tsx'; import { NavTab } from '../ts/types/Nav.std.ts'; import type { FunEmojiSelection } from '../ts/components/fun/panels/FunPanelEmojis.dom.tsx'; import type { FunGifSelection } from '../ts/components/fun/panels/FunPanelGifs.dom.tsx'; import type { FunStickerSelection } from '../ts/components/fun/panels/FunPanelStickers.dom.tsx'; +import { Emoji } from '../ts/axo/emoji.std.ts'; setEnvironment(Environment.Development, true); @@ -258,7 +258,7 @@ function withFunProvider(Story, context) { recentEmojis={[]} recentStickers={[]} recentGifs={[]} - emojiSkinToneDefault={EmojiSkinTone.None} + emojiSkinToneDefault={Emoji.SkinTone.None} onEmojiSkinToneDefaultChange={noop} installedStickerPacks={[]} showStickerPickerHint={false} diff --git a/ACKNOWLEDGMENTS.md b/ACKNOWLEDGMENTS.md index 313995d2f0..76f7442d0d 100644 --- a/ACKNOWLEDGMENTS.md +++ b/ACKNOWLEDGMENTS.md @@ -5897,11 +5897,11 @@ Signal Desktop makes use of the following open source projects. IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -## emoji-datasource +## emoji-regex-xs - The MIT License (MIT) + MIT License - Copyright (c) 2013 Cal Henderson + Copyright (c) 2025 Steven Levithan Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -5921,29 +5921,6 @@ Signal Desktop makes use of the following open source projects. OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -## emoji-regex - - Copyright Mathias Bynens - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ## enhanced-resolve Copyright JS Foundation and other contributors diff --git a/app/EmojiService.main.ts b/app/EmojiService.main.ts index e9f9583022..33f552d27a 100644 --- a/app/EmojiService.main.ts +++ b/app/EmojiService.main.ts @@ -12,6 +12,7 @@ import { SignalService as Proto } from '../ts/protobuf/index.std.ts'; import { parseUnknown } from '../ts/util/schemas.std.ts'; import { utf16ToEmoji } from '../ts/util/utf16ToEmoji.node.ts'; import { getAppRootDir } from '../ts/util/appRootDir.main.ts'; +import { Emoji } from '../ts/axo/emoji.std.ts'; const MANIFEST_PATH = join(getAppRootDir(), 'build', 'jumbomoji.json'); @@ -28,7 +29,7 @@ type SheetCacheEntry = Map>; export class EmojiService { readonly #resourceService: OptionalResourceService; - readonly #emojiMap = new Map(); + readonly #emojiMap = new Map(); readonly #sheetCache = new LRUCache({ // Each sheet is roughly 500kb @@ -44,16 +45,21 @@ export class EmojiService { protocol.handle('emoji', async req => { const url = new URL(req.url); const emoji = url.searchParams.get('emoji'); - if (!emoji) { + if (emoji == null || !Emoji.isEmoji(emoji)) { return new Response('invalid', { status: 400 }); } - return this.#fetch(emoji); + return this.#fetch(Emoji.ignorePreferredSkinTone(emoji)); }); for (const [sheet, emojiList] of Object.entries(manifest)) { for (const utf16 of emojiList) { - this.#emojiMap.set(utf16, { sheet, utf16 }); + if (Emoji.isEmoji(utf16)) { + this.#emojiMap.set(Emoji.ignorePreferredSkinTone(utf16), { + sheet, + utf16, + }); + } } } } @@ -67,7 +73,7 @@ export class EmojiService { return new EmojiService(resourceService, manifest); } - async #fetch(emoji: string): Promise { + async #fetch(emoji: Emoji.Variant): Promise { const entry = this.#emojiMap.get(emoji); if (!entry) { return new Response('entry not found', { status: 404 }); diff --git a/build/intl-linter/rules/wrapEmoji.std.ts b/build/intl-linter/rules/wrapEmoji.std.ts index d74cc55557..bd26284a6f 100644 --- a/build/intl-linter/rules/wrapEmoji.std.ts +++ b/build/intl-linter/rules/wrapEmoji.std.ts @@ -1,7 +1,7 @@ // Copyright 2023 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only -import getEmojiRegex from 'emoji-regex'; +import getEmojiRegex from 'emoji-regex-xs'; import type { MessageFormatElement, TagElement, diff --git a/package.json b/package.json index a56ad62150..d84bb26f28 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "postuninstall": "pnpm run build:acknowledgments", "start": "electron .", "generate": "run-s generate:phase-0 generate:phase-1", - "generate:phase-0": "run-s build:protobuf build:rolldown:prod", + "generate:phase-0": "run-s build:protobuf build:emoji-data build:rolldown:prod", "generate:phase-1": "run-p --aggregate-output --print-label build:icu-types build:compact-locales build:styles:prod get-expire-time build:policy-files", "build-release": "pnpm run build", "notarize": "echo 'No longer necessary'", @@ -77,7 +77,7 @@ "dev:styles:tailwind": "pnpm run build:styles:tailwind --watch", "dev:icu-types": "chokidar ./_locales/en/messages.json --initial --command \"pnpm run build:icu-types\"", "dev:protobuf": "chokidar ./protos/**/*.proto --command \"pnpm run build:protobuf\"", - "build:storybook": "pnpm run build:protobuf && cross-env SIGNAL_ENV=storybook storybook build", + "build:storybook": "pnpm run build:protobuf && pnpm run build:emoji-data && cross-env SIGNAL_ENV=storybook storybook build", "test:storybook": "pnpm run build:storybook && run-p --race test:storybook:*", "test:storybook:serve": "http-server storybook-static --port 6006 --silent", "test:storybook:test": "wait-on http://127.0.0.1:6006/ --timeout 5000 && test-storybook --testTimeout 60000", @@ -86,6 +86,7 @@ "build-linux": "run-s build:policy-files generate build:rolldown:prod && pnpm run build:release --publish=never", "build:acknowledgments": "node scripts/generate-acknowledgments.mjs", "build:dns-fallback": "node scripts/generate-dns-fallback.mjs", + "build:emoji-data": "node scripts/generate-emoji-data.mjs", "build:icu-types": "node scripts/generate-icu-types.mjs", "build:compact-locales": "node scripts/generate-compact-locales.mjs", "build:tray-icons": "node scripts/generate-tray-icons.mjs", @@ -121,7 +122,6 @@ "@signalapp/ringrtc": "2.68.1", "@signalapp/sqlcipher": "3.2.1", "@signalapp/windows-ucv": "1.0.1", - "emoji-datasource": "16.0.0", "google-libphonenumber": "3.2.44" }, "devDependencies": { @@ -237,7 +237,7 @@ "electron": "41.5.0", "electron-builder": "26.0.14", "electron-mocha": "13.1.0", - "emoji-regex": "10.6.0", + "emoji-regex-xs": "2.0.1", "enhanced-resolve": "5.20.1", "enquirer": "2.4.1", "eslint": "10.1.0", @@ -630,6 +630,7 @@ "build/dns-fallback.json", "build/optional-resources.json", "build/jumbomoji.json", + "build/emoji-data.json", "node_modules/**", "!node_modules/.cache", "!**/node_modules/**/{CHANGELOG.md,README.md,README,readme.md,readme,test,__tests__,tests,powered-test,example,examples,*.d.ts,*.d.ts.map,*.js.map,*.gypi,.snyk-*.flag,benchmark}", @@ -637,10 +638,6 @@ "!**/node_modules/.bin", "!**/node_modules/**/build/**", "!**/node_modules/**/prebuilds/**", - "!node_modules/emoji-datasource/emoji_pretty.json", - "!node_modules/emoji-datasource/img/**/*.png", - "node_modules/emoji-datasource/categories.json", - "node_modules/emoji-datasource/emoji.json", "node_modules/@signalapp/sqlcipher/prebuilds/${platform}-${arch}/*.node", "node_modules/@signalapp/libsignal-client/prebuilds/${platform}-${arch}/*.node", "!node_modules/@signalapp/ringrtc/scripts/*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0e9a3cce47..9d1c3d63d6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -87,9 +87,6 @@ importers: '@signalapp/windows-ucv': specifier: 1.0.1 version: 1.0.1 - emoji-datasource: - specifier: 16.0.0 - version: 16.0.0 google-libphonenumber: specifier: 3.2.44 version: 3.2.44 @@ -430,9 +427,9 @@ importers: electron-mocha: specifier: 13.1.0 version: 13.1.0 - emoji-regex: - specifier: 10.6.0 - version: 10.6.0 + emoji-regex-xs: + specifier: 2.0.1 + version: 2.0.1 enhanced-resolve: specifier: 5.20.1 version: 5.20.1 @@ -6156,11 +6153,9 @@ packages: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} - emoji-datasource@16.0.0: - resolution: {integrity: sha512-/qHKqK5Nr3+8zhgO6kHmF43Fm5C8HNn0AaFRIpgw8HF3+uF0Vfc8jgLI1ZQS5ba1vBzksS8NBCjHejwLb2D/Sg==} - - emoji-regex@10.6.0: - resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} + emoji-regex-xs@2.0.1: + resolution: {integrity: sha512-1QFuh8l7LqUcKe24LsPUNzjrzJQ7pgRwp1QMcZ5MX6mFplk2zQ08NVCM84++1cveaUUYtcCYHmeFEuNg16sU4g==} + engines: {node: '>=10.0.0'} emoji-regex@7.0.3: resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} @@ -16400,9 +16395,7 @@ snapshots: emittery@0.13.1: {} - emoji-datasource@16.0.0: {} - - emoji-regex@10.6.0: {} + emoji-regex-xs@2.0.1: {} emoji-regex@7.0.3: {} diff --git a/rolldown.config.ts b/rolldown.config.ts index 777fbf8cda..1538a2e5d0 100644 --- a/rolldown.config.ts +++ b/rolldown.config.ts @@ -24,7 +24,6 @@ const external = [ 'sass', // Large libraries (3.7mb total) - 'emoji-datasource', 'google-libphonenumber', // Imported, but not used in production builds diff --git a/scripts/emoji-datasource/emoji-datasource.json b/scripts/emoji-datasource/emoji-datasource.json new file mode 100644 index 0000000000..7c2507d309 --- /dev/null +++ b/scripts/emoji-datasource/emoji-datasource.json @@ -0,0 +1 @@ +[{"name":"HASH KEY","unified":"0023-FE0F-20E3","non_qualified":"0023-20E3","docomo":"E6E0","au":"EB84","softbank":"E210","google":"FE82C","image":"0023-fe0f-20e3.png","sheet_x":0,"sheet_y":0,"short_name":"hash","short_names":["hash"],"text":null,"texts":null,"category":"Symbols","subcategory":"keycap","sort_order":1564,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"KEYCAP: *","unified":"002A-FE0F-20E3","non_qualified":"002A-20E3","docomo":null,"au":null,"softbank":null,"google":null,"image":"002a-fe0f-20e3.png","sheet_x":0,"sheet_y":1,"short_name":"keycap_star","short_names":["keycap_star"],"text":null,"texts":null,"category":"Symbols","subcategory":"keycap","sort_order":1565,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"KEYCAP 0","unified":"0030-FE0F-20E3","non_qualified":"0030-20E3","docomo":"E6EB","au":"E5AC","softbank":"E225","google":"FE837","image":"0030-fe0f-20e3.png","sheet_x":0,"sheet_y":2,"short_name":"zero","short_names":["zero"],"text":null,"texts":null,"category":"Symbols","subcategory":"keycap","sort_order":1566,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"KEYCAP 1","unified":"0031-FE0F-20E3","non_qualified":"0031-20E3","docomo":"E6E2","au":"E522","softbank":"E21C","google":"FE82E","image":"0031-fe0f-20e3.png","sheet_x":0,"sheet_y":3,"short_name":"one","short_names":["one"],"text":null,"texts":null,"category":"Symbols","subcategory":"keycap","sort_order":1567,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"KEYCAP 2","unified":"0032-FE0F-20E3","non_qualified":"0032-20E3","docomo":"E6E3","au":"E523","softbank":"E21D","google":"FE82F","image":"0032-fe0f-20e3.png","sheet_x":0,"sheet_y":4,"short_name":"two","short_names":["two"],"text":null,"texts":null,"category":"Symbols","subcategory":"keycap","sort_order":1568,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"KEYCAP 3","unified":"0033-FE0F-20E3","non_qualified":"0033-20E3","docomo":"E6E4","au":"E524","softbank":"E21E","google":"FE830","image":"0033-fe0f-20e3.png","sheet_x":0,"sheet_y":5,"short_name":"three","short_names":["three"],"text":null,"texts":null,"category":"Symbols","subcategory":"keycap","sort_order":1569,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"KEYCAP 4","unified":"0034-FE0F-20E3","non_qualified":"0034-20E3","docomo":"E6E5","au":"E525","softbank":"E21F","google":"FE831","image":"0034-fe0f-20e3.png","sheet_x":0,"sheet_y":6,"short_name":"four","short_names":["four"],"text":null,"texts":null,"category":"Symbols","subcategory":"keycap","sort_order":1570,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"KEYCAP 5","unified":"0035-FE0F-20E3","non_qualified":"0035-20E3","docomo":"E6E6","au":"E526","softbank":"E220","google":"FE832","image":"0035-fe0f-20e3.png","sheet_x":0,"sheet_y":7,"short_name":"five","short_names":["five"],"text":null,"texts":null,"category":"Symbols","subcategory":"keycap","sort_order":1571,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"KEYCAP 6","unified":"0036-FE0F-20E3","non_qualified":"0036-20E3","docomo":"E6E7","au":"E527","softbank":"E221","google":"FE833","image":"0036-fe0f-20e3.png","sheet_x":0,"sheet_y":8,"short_name":"six","short_names":["six"],"text":null,"texts":null,"category":"Symbols","subcategory":"keycap","sort_order":1572,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"KEYCAP 7","unified":"0037-FE0F-20E3","non_qualified":"0037-20E3","docomo":"E6E8","au":"E528","softbank":"E222","google":"FE834","image":"0037-fe0f-20e3.png","sheet_x":0,"sheet_y":9,"short_name":"seven","short_names":["seven"],"text":null,"texts":null,"category":"Symbols","subcategory":"keycap","sort_order":1573,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"KEYCAP 8","unified":"0038-FE0F-20E3","non_qualified":"0038-20E3","docomo":"E6E9","au":"E529","softbank":"E223","google":"FE835","image":"0038-fe0f-20e3.png","sheet_x":0,"sheet_y":10,"short_name":"eight","short_names":["eight"],"text":null,"texts":null,"category":"Symbols","subcategory":"keycap","sort_order":1574,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"KEYCAP 9","unified":"0039-FE0F-20E3","non_qualified":"0039-20E3","docomo":"E6EA","au":"E52A","softbank":"E224","google":"FE836","image":"0039-fe0f-20e3.png","sheet_x":0,"sheet_y":11,"short_name":"nine","short_names":["nine"],"text":null,"texts":null,"category":"Symbols","subcategory":"keycap","sort_order":1575,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"COPYRIGHT SIGN","unified":"00A9-FE0F","non_qualified":"00A9","docomo":"E731","au":"E558","softbank":"E24E","google":"FEB29","image":"00a9-fe0f.png","sheet_x":0,"sheet_y":12,"short_name":"copyright","short_names":["copyright"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1560,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"REGISTERED SIGN","unified":"00AE-FE0F","non_qualified":"00AE","docomo":"E736","au":"E559","softbank":"E24F","google":"FEB2D","image":"00ae-fe0f.png","sheet_x":0,"sheet_y":13,"short_name":"registered","short_names":["registered"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1561,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"MAHJONG TILE RED DRAGON","unified":"1F004","non_qualified":null,"docomo":null,"au":"E5D1","softbank":"E12D","google":"FE80B","image":"1f004.png","sheet_x":0,"sheet_y":14,"short_name":"mahjong","short_names":["mahjong"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1151,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PLAYING CARD BLACK JOKER","unified":"1F0CF","non_qualified":null,"docomo":null,"au":"EB6F","softbank":null,"google":"FE812","image":"1f0cf.png","sheet_x":0,"sheet_y":15,"short_name":"black_joker","short_names":["black_joker"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1150,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NEGATIVE SQUARED LATIN CAPITAL LETTER A","unified":"1F170-FE0F","non_qualified":"1F170","docomo":null,"au":"EB26","softbank":"E532","google":"FE50B","image":"1f170-fe0f.png","sheet_x":0,"sheet_y":16,"short_name":"a","short_names":["a"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1582,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NEGATIVE SQUARED LATIN CAPITAL LETTER B","unified":"1F171-FE0F","non_qualified":"1F171","docomo":null,"au":"EB27","softbank":"E533","google":"FE50C","image":"1f171-fe0f.png","sheet_x":0,"sheet_y":17,"short_name":"b","short_names":["b"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1584,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NEGATIVE SQUARED LATIN CAPITAL LETTER O","unified":"1F17E-FE0F","non_qualified":"1F17E","docomo":null,"au":"EB28","softbank":"E535","google":"FE50E","image":"1f17e-fe0f.png","sheet_x":0,"sheet_y":18,"short_name":"o2","short_names":["o2"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1593,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NEGATIVE SQUARED LATIN CAPITAL LETTER P","unified":"1F17F-FE0F","non_qualified":"1F17F","docomo":"E66C","au":"E4A6","softbank":"E14F","google":"FE7F6","image":"1f17f-fe0f.png","sheet_x":0,"sheet_y":19,"short_name":"parking","short_names":["parking"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1595,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NEGATIVE SQUARED AB","unified":"1F18E","non_qualified":null,"docomo":null,"au":"EB29","softbank":"E534","google":"FE50D","image":"1f18e.png","sheet_x":0,"sheet_y":20,"short_name":"ab","short_names":["ab"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1583,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED CL","unified":"1F191","non_qualified":null,"docomo":"E6DB","au":"E5AB","softbank":null,"google":"FEB84","image":"1f191.png","sheet_x":0,"sheet_y":21,"short_name":"cl","short_names":["cl"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1585,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED COOL","unified":"1F192","non_qualified":null,"docomo":null,"au":"EA85","softbank":"E214","google":"FEB38","image":"1f192.png","sheet_x":0,"sheet_y":22,"short_name":"cool","short_names":["cool"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1586,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED FREE","unified":"1F193","non_qualified":null,"docomo":"E6D7","au":"E578","softbank":null,"google":"FEB21","image":"1f193.png","sheet_x":0,"sheet_y":23,"short_name":"free","short_names":["free"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1587,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED ID","unified":"1F194","non_qualified":null,"docomo":"E6D8","au":"EA88","softbank":"E229","google":"FEB81","image":"1f194.png","sheet_x":0,"sheet_y":24,"short_name":"id","short_names":["id"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1589,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED NEW","unified":"1F195","non_qualified":null,"docomo":"E6DD","au":"E5B5","softbank":"E212","google":"FEB36","image":"1f195.png","sheet_x":0,"sheet_y":25,"short_name":"new","short_names":["new"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1591,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED NG","unified":"1F196","non_qualified":null,"docomo":"E72F","au":null,"softbank":null,"google":"FEB28","image":"1f196.png","sheet_x":0,"sheet_y":26,"short_name":"ng","short_names":["ng"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1592,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED OK","unified":"1F197","non_qualified":null,"docomo":"E70B","au":"E5AD","softbank":"E24D","google":"FEB27","image":"1f197.png","sheet_x":0,"sheet_y":27,"short_name":"ok","short_names":["ok"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1594,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED SOS","unified":"1F198","non_qualified":null,"docomo":null,"au":"E4E8","softbank":null,"google":"FEB4F","image":"1f198.png","sheet_x":0,"sheet_y":28,"short_name":"sos","short_names":["sos"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1596,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED UP WITH EXCLAMATION MARK","unified":"1F199","non_qualified":null,"docomo":null,"au":"E50F","softbank":"E213","google":"FEB37","image":"1f199.png","sheet_x":0,"sheet_y":29,"short_name":"up","short_names":["up"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1597,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED VS","unified":"1F19A","non_qualified":null,"docomo":null,"au":"E5D2","softbank":"E12E","google":"FEB32","image":"1f19a.png","sheet_x":0,"sheet_y":30,"short_name":"vs","short_names":["vs"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1598,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Ascension Island Flag","unified":"1F1E6-1F1E8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e6-1f1e8.png","sheet_x":0,"sheet_y":31,"short_name":"flag-ac","short_names":["flag-ac"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1658,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Andorra Flag","unified":"1F1E6-1F1E9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e6-1f1e9.png","sheet_x":0,"sheet_y":32,"short_name":"flag-ad","short_names":["flag-ad"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1659,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"United Arab Emirates Flag","unified":"1F1E6-1F1EA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e6-1f1ea.png","sheet_x":0,"sheet_y":33,"short_name":"flag-ae","short_names":["flag-ae"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1660,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Afghanistan Flag","unified":"1F1E6-1F1EB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e6-1f1eb.png","sheet_x":0,"sheet_y":34,"short_name":"flag-af","short_names":["flag-af"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1661,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Antigua & Barbuda Flag","unified":"1F1E6-1F1EC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e6-1f1ec.png","sheet_x":0,"sheet_y":35,"short_name":"flag-ag","short_names":["flag-ag"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1662,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Anguilla Flag","unified":"1F1E6-1F1EE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e6-1f1ee.png","sheet_x":0,"sheet_y":36,"short_name":"flag-ai","short_names":["flag-ai"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1663,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Albania Flag","unified":"1F1E6-1F1F1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e6-1f1f1.png","sheet_x":0,"sheet_y":37,"short_name":"flag-al","short_names":["flag-al"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1664,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Armenia Flag","unified":"1F1E6-1F1F2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e6-1f1f2.png","sheet_x":0,"sheet_y":38,"short_name":"flag-am","short_names":["flag-am"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1665,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Angola Flag","unified":"1F1E6-1F1F4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e6-1f1f4.png","sheet_x":0,"sheet_y":39,"short_name":"flag-ao","short_names":["flag-ao"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1666,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Antarctica Flag","unified":"1F1E6-1F1F6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e6-1f1f6.png","sheet_x":0,"sheet_y":40,"short_name":"flag-aq","short_names":["flag-aq"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1667,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Argentina Flag","unified":"1F1E6-1F1F7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e6-1f1f7.png","sheet_x":0,"sheet_y":41,"short_name":"flag-ar","short_names":["flag-ar"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1668,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"American Samoa Flag","unified":"1F1E6-1F1F8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e6-1f1f8.png","sheet_x":0,"sheet_y":42,"short_name":"flag-as","short_names":["flag-as"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1669,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Austria Flag","unified":"1F1E6-1F1F9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e6-1f1f9.png","sheet_x":0,"sheet_y":43,"short_name":"flag-at","short_names":["flag-at"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1670,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Australia Flag","unified":"1F1E6-1F1FA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e6-1f1fa.png","sheet_x":0,"sheet_y":44,"short_name":"flag-au","short_names":["flag-au"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1671,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Aruba Flag","unified":"1F1E6-1F1FC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e6-1f1fc.png","sheet_x":0,"sheet_y":45,"short_name":"flag-aw","short_names":["flag-aw"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1672,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"\u00c5land Islands Flag","unified":"1F1E6-1F1FD","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e6-1f1fd.png","sheet_x":0,"sheet_y":46,"short_name":"flag-ax","short_names":["flag-ax"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1673,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Azerbaijan Flag","unified":"1F1E6-1F1FF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e6-1f1ff.png","sheet_x":0,"sheet_y":47,"short_name":"flag-az","short_names":["flag-az"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1674,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Bosnia & Herzegovina Flag","unified":"1F1E7-1F1E6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1e6.png","sheet_x":0,"sheet_y":48,"short_name":"flag-ba","short_names":["flag-ba"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1675,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Barbados Flag","unified":"1F1E7-1F1E7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1e7.png","sheet_x":0,"sheet_y":49,"short_name":"flag-bb","short_names":["flag-bb"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1676,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Bangladesh Flag","unified":"1F1E7-1F1E9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1e9.png","sheet_x":0,"sheet_y":50,"short_name":"flag-bd","short_names":["flag-bd"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1677,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Belgium Flag","unified":"1F1E7-1F1EA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1ea.png","sheet_x":0,"sheet_y":51,"short_name":"flag-be","short_names":["flag-be"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1678,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Burkina Faso Flag","unified":"1F1E7-1F1EB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1eb.png","sheet_x":0,"sheet_y":52,"short_name":"flag-bf","short_names":["flag-bf"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1679,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Bulgaria Flag","unified":"1F1E7-1F1EC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1ec.png","sheet_x":0,"sheet_y":53,"short_name":"flag-bg","short_names":["flag-bg"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1680,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Bahrain Flag","unified":"1F1E7-1F1ED","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1ed.png","sheet_x":0,"sheet_y":54,"short_name":"flag-bh","short_names":["flag-bh"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1681,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Burundi Flag","unified":"1F1E7-1F1EE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1ee.png","sheet_x":0,"sheet_y":55,"short_name":"flag-bi","short_names":["flag-bi"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1682,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Benin Flag","unified":"1F1E7-1F1EF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1ef.png","sheet_x":0,"sheet_y":56,"short_name":"flag-bj","short_names":["flag-bj"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1683,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"St. Barth\u00e9lemy Flag","unified":"1F1E7-1F1F1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1f1.png","sheet_x":0,"sheet_y":57,"short_name":"flag-bl","short_names":["flag-bl"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1684,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Bermuda Flag","unified":"1F1E7-1F1F2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1f2.png","sheet_x":0,"sheet_y":58,"short_name":"flag-bm","short_names":["flag-bm"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1685,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Brunei Flag","unified":"1F1E7-1F1F3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1f3.png","sheet_x":0,"sheet_y":59,"short_name":"flag-bn","short_names":["flag-bn"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1686,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Bolivia Flag","unified":"1F1E7-1F1F4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1f4.png","sheet_x":0,"sheet_y":60,"short_name":"flag-bo","short_names":["flag-bo"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1687,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Caribbean Netherlands Flag","unified":"1F1E7-1F1F6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1f6.png","sheet_x":0,"sheet_y":61,"short_name":"flag-bq","short_names":["flag-bq"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1688,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Brazil Flag","unified":"1F1E7-1F1F7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1f7.png","sheet_x":0,"sheet_y":62,"short_name":"flag-br","short_names":["flag-br"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1689,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Bahamas Flag","unified":"1F1E7-1F1F8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1f8.png","sheet_x":1,"sheet_y":0,"short_name":"flag-bs","short_names":["flag-bs"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1690,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Bhutan Flag","unified":"1F1E7-1F1F9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1f9.png","sheet_x":1,"sheet_y":1,"short_name":"flag-bt","short_names":["flag-bt"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1691,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Bouvet Island Flag","unified":"1F1E7-1F1FB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1fb.png","sheet_x":1,"sheet_y":2,"short_name":"flag-bv","short_names":["flag-bv"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1692,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Botswana Flag","unified":"1F1E7-1F1FC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1fc.png","sheet_x":1,"sheet_y":3,"short_name":"flag-bw","short_names":["flag-bw"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1693,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Belarus Flag","unified":"1F1E7-1F1FE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1fe.png","sheet_x":1,"sheet_y":4,"short_name":"flag-by","short_names":["flag-by"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1694,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Belize Flag","unified":"1F1E7-1F1FF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e7-1f1ff.png","sheet_x":1,"sheet_y":5,"short_name":"flag-bz","short_names":["flag-bz"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1695,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Canada Flag","unified":"1F1E8-1F1E6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e8-1f1e6.png","sheet_x":1,"sheet_y":6,"short_name":"flag-ca","short_names":["flag-ca"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1696,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Cocos (Keeling) Islands Flag","unified":"1F1E8-1F1E8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e8-1f1e8.png","sheet_x":1,"sheet_y":7,"short_name":"flag-cc","short_names":["flag-cc"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1697,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Congo - Kinshasa Flag","unified":"1F1E8-1F1E9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e8-1f1e9.png","sheet_x":1,"sheet_y":8,"short_name":"flag-cd","short_names":["flag-cd"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1698,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Central African Republic Flag","unified":"1F1E8-1F1EB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e8-1f1eb.png","sheet_x":1,"sheet_y":9,"short_name":"flag-cf","short_names":["flag-cf"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1699,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Congo - Brazzaville Flag","unified":"1F1E8-1F1EC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e8-1f1ec.png","sheet_x":1,"sheet_y":10,"short_name":"flag-cg","short_names":["flag-cg"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1700,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Switzerland Flag","unified":"1F1E8-1F1ED","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e8-1f1ed.png","sheet_x":1,"sheet_y":11,"short_name":"flag-ch","short_names":["flag-ch"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1701,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"C\u00f4te d\u2019Ivoire Flag","unified":"1F1E8-1F1EE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e8-1f1ee.png","sheet_x":1,"sheet_y":12,"short_name":"flag-ci","short_names":["flag-ci"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1702,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Cook Islands Flag","unified":"1F1E8-1F1F0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e8-1f1f0.png","sheet_x":1,"sheet_y":13,"short_name":"flag-ck","short_names":["flag-ck"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1703,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Chile Flag","unified":"1F1E8-1F1F1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e8-1f1f1.png","sheet_x":1,"sheet_y":14,"short_name":"flag-cl","short_names":["flag-cl"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1704,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Cameroon Flag","unified":"1F1E8-1F1F2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e8-1f1f2.png","sheet_x":1,"sheet_y":15,"short_name":"flag-cm","short_names":["flag-cm"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1705,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"China Flag","unified":"1F1E8-1F1F3","non_qualified":null,"docomo":null,"au":"EB11","softbank":"E513","google":"FE4ED","image":"1f1e8-1f1f3.png","sheet_x":1,"sheet_y":16,"short_name":"cn","short_names":["cn","flag-cn"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1706,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Colombia Flag","unified":"1F1E8-1F1F4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e8-1f1f4.png","sheet_x":1,"sheet_y":17,"short_name":"flag-co","short_names":["flag-co"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1707,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Clipperton Island Flag","unified":"1F1E8-1F1F5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e8-1f1f5.png","sheet_x":1,"sheet_y":18,"short_name":"flag-cp","short_names":["flag-cp"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1708,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Sark Flag","unified":"1F1E8-1F1F6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e8-1f1f6.png","sheet_x":1,"sheet_y":19,"short_name":"flag-sark","short_names":["flag-sark"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1709,"added_in":"16.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"Costa Rica Flag","unified":"1F1E8-1F1F7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e8-1f1f7.png","sheet_x":1,"sheet_y":20,"short_name":"flag-cr","short_names":["flag-cr"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1710,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Cuba Flag","unified":"1F1E8-1F1FA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e8-1f1fa.png","sheet_x":1,"sheet_y":21,"short_name":"flag-cu","short_names":["flag-cu"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1711,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Cape Verde Flag","unified":"1F1E8-1F1FB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e8-1f1fb.png","sheet_x":1,"sheet_y":22,"short_name":"flag-cv","short_names":["flag-cv"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1712,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Cura\u00e7ao Flag","unified":"1F1E8-1F1FC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e8-1f1fc.png","sheet_x":1,"sheet_y":23,"short_name":"flag-cw","short_names":["flag-cw"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1713,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Christmas Island Flag","unified":"1F1E8-1F1FD","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e8-1f1fd.png","sheet_x":1,"sheet_y":24,"short_name":"flag-cx","short_names":["flag-cx"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1714,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Cyprus Flag","unified":"1F1E8-1F1FE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e8-1f1fe.png","sheet_x":1,"sheet_y":25,"short_name":"flag-cy","short_names":["flag-cy"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1715,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Czechia Flag","unified":"1F1E8-1F1FF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e8-1f1ff.png","sheet_x":1,"sheet_y":26,"short_name":"flag-cz","short_names":["flag-cz"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1716,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Germany Flag","unified":"1F1E9-1F1EA","non_qualified":null,"docomo":null,"au":"EB0E","softbank":"E50E","google":"FE4E8","image":"1f1e9-1f1ea.png","sheet_x":1,"sheet_y":27,"short_name":"de","short_names":["de","flag-de"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1717,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Diego Garcia Flag","unified":"1F1E9-1F1EC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e9-1f1ec.png","sheet_x":1,"sheet_y":28,"short_name":"flag-dg","short_names":["flag-dg"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1718,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Djibouti Flag","unified":"1F1E9-1F1EF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e9-1f1ef.png","sheet_x":1,"sheet_y":29,"short_name":"flag-dj","short_names":["flag-dj"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1719,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Denmark Flag","unified":"1F1E9-1F1F0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e9-1f1f0.png","sheet_x":1,"sheet_y":30,"short_name":"flag-dk","short_names":["flag-dk"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1720,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Dominica Flag","unified":"1F1E9-1F1F2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e9-1f1f2.png","sheet_x":1,"sheet_y":31,"short_name":"flag-dm","short_names":["flag-dm"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1721,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Dominican Republic Flag","unified":"1F1E9-1F1F4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e9-1f1f4.png","sheet_x":1,"sheet_y":32,"short_name":"flag-do","short_names":["flag-do"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1722,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Algeria Flag","unified":"1F1E9-1F1FF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1e9-1f1ff.png","sheet_x":1,"sheet_y":33,"short_name":"flag-dz","short_names":["flag-dz"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1723,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Ceuta & Melilla Flag","unified":"1F1EA-1F1E6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ea-1f1e6.png","sheet_x":1,"sheet_y":34,"short_name":"flag-ea","short_names":["flag-ea"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1724,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Ecuador Flag","unified":"1F1EA-1F1E8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ea-1f1e8.png","sheet_x":1,"sheet_y":35,"short_name":"flag-ec","short_names":["flag-ec"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1725,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Estonia Flag","unified":"1F1EA-1F1EA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ea-1f1ea.png","sheet_x":1,"sheet_y":36,"short_name":"flag-ee","short_names":["flag-ee"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1726,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Egypt Flag","unified":"1F1EA-1F1EC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ea-1f1ec.png","sheet_x":1,"sheet_y":37,"short_name":"flag-eg","short_names":["flag-eg"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1727,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Western Sahara Flag","unified":"1F1EA-1F1ED","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ea-1f1ed.png","sheet_x":1,"sheet_y":38,"short_name":"flag-eh","short_names":["flag-eh"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1728,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Eritrea Flag","unified":"1F1EA-1F1F7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ea-1f1f7.png","sheet_x":1,"sheet_y":39,"short_name":"flag-er","short_names":["flag-er"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1729,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Spain Flag","unified":"1F1EA-1F1F8","non_qualified":null,"docomo":null,"au":"E5D5","softbank":"E511","google":"FE4EB","image":"1f1ea-1f1f8.png","sheet_x":1,"sheet_y":40,"short_name":"es","short_names":["es","flag-es"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1730,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Ethiopia Flag","unified":"1F1EA-1F1F9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ea-1f1f9.png","sheet_x":1,"sheet_y":41,"short_name":"flag-et","short_names":["flag-et"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1731,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"European Union Flag","unified":"1F1EA-1F1FA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ea-1f1fa.png","sheet_x":1,"sheet_y":42,"short_name":"flag-eu","short_names":["flag-eu"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1732,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Finland Flag","unified":"1F1EB-1F1EE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1eb-1f1ee.png","sheet_x":1,"sheet_y":43,"short_name":"flag-fi","short_names":["flag-fi"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1733,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Fiji Flag","unified":"1F1EB-1F1EF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1eb-1f1ef.png","sheet_x":1,"sheet_y":44,"short_name":"flag-fj","short_names":["flag-fj"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1734,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Falkland Islands Flag","unified":"1F1EB-1F1F0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1eb-1f1f0.png","sheet_x":1,"sheet_y":45,"short_name":"flag-fk","short_names":["flag-fk"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1735,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Micronesia Flag","unified":"1F1EB-1F1F2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1eb-1f1f2.png","sheet_x":1,"sheet_y":46,"short_name":"flag-fm","short_names":["flag-fm"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1736,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Faroe Islands Flag","unified":"1F1EB-1F1F4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1eb-1f1f4.png","sheet_x":1,"sheet_y":47,"short_name":"flag-fo","short_names":["flag-fo"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1737,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"France Flag","unified":"1F1EB-1F1F7","non_qualified":null,"docomo":null,"au":"EAFA","softbank":"E50D","google":"FE4E7","image":"1f1eb-1f1f7.png","sheet_x":1,"sheet_y":48,"short_name":"fr","short_names":["fr","flag-fr"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1738,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Gabon Flag","unified":"1F1EC-1F1E6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ec-1f1e6.png","sheet_x":1,"sheet_y":49,"short_name":"flag-ga","short_names":["flag-ga"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1739,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"United Kingdom Flag","unified":"1F1EC-1F1E7","non_qualified":null,"docomo":null,"au":"EB10","softbank":"E510","google":"FE4EA","image":"1f1ec-1f1e7.png","sheet_x":1,"sheet_y":50,"short_name":"gb","short_names":["gb","uk","flag-gb"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1740,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Grenada Flag","unified":"1F1EC-1F1E9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ec-1f1e9.png","sheet_x":1,"sheet_y":51,"short_name":"flag-gd","short_names":["flag-gd"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1741,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Georgia Flag","unified":"1F1EC-1F1EA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ec-1f1ea.png","sheet_x":1,"sheet_y":52,"short_name":"flag-ge","short_names":["flag-ge"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1742,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"French Guiana Flag","unified":"1F1EC-1F1EB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ec-1f1eb.png","sheet_x":1,"sheet_y":53,"short_name":"flag-gf","short_names":["flag-gf"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1743,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Guernsey Flag","unified":"1F1EC-1F1EC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ec-1f1ec.png","sheet_x":1,"sheet_y":54,"short_name":"flag-gg","short_names":["flag-gg"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1744,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Ghana Flag","unified":"1F1EC-1F1ED","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ec-1f1ed.png","sheet_x":1,"sheet_y":55,"short_name":"flag-gh","short_names":["flag-gh"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1745,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Gibraltar Flag","unified":"1F1EC-1F1EE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ec-1f1ee.png","sheet_x":1,"sheet_y":56,"short_name":"flag-gi","short_names":["flag-gi"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1746,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Greenland Flag","unified":"1F1EC-1F1F1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ec-1f1f1.png","sheet_x":1,"sheet_y":57,"short_name":"flag-gl","short_names":["flag-gl"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1747,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Gambia Flag","unified":"1F1EC-1F1F2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ec-1f1f2.png","sheet_x":1,"sheet_y":58,"short_name":"flag-gm","short_names":["flag-gm"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1748,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Guinea Flag","unified":"1F1EC-1F1F3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ec-1f1f3.png","sheet_x":1,"sheet_y":59,"short_name":"flag-gn","short_names":["flag-gn"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1749,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Guadeloupe Flag","unified":"1F1EC-1F1F5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ec-1f1f5.png","sheet_x":1,"sheet_y":60,"short_name":"flag-gp","short_names":["flag-gp"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1750,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Equatorial Guinea Flag","unified":"1F1EC-1F1F6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ec-1f1f6.png","sheet_x":1,"sheet_y":61,"short_name":"flag-gq","short_names":["flag-gq"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1751,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Greece Flag","unified":"1F1EC-1F1F7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ec-1f1f7.png","sheet_x":1,"sheet_y":62,"short_name":"flag-gr","short_names":["flag-gr"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1752,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"South Georgia & South Sandwich Islands Flag","unified":"1F1EC-1F1F8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ec-1f1f8.png","sheet_x":2,"sheet_y":0,"short_name":"flag-gs","short_names":["flag-gs"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1753,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Guatemala Flag","unified":"1F1EC-1F1F9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ec-1f1f9.png","sheet_x":2,"sheet_y":1,"short_name":"flag-gt","short_names":["flag-gt"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1754,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Guam Flag","unified":"1F1EC-1F1FA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ec-1f1fa.png","sheet_x":2,"sheet_y":2,"short_name":"flag-gu","short_names":["flag-gu"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1755,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Guinea-Bissau Flag","unified":"1F1EC-1F1FC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ec-1f1fc.png","sheet_x":2,"sheet_y":3,"short_name":"flag-gw","short_names":["flag-gw"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1756,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Guyana Flag","unified":"1F1EC-1F1FE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ec-1f1fe.png","sheet_x":2,"sheet_y":4,"short_name":"flag-gy","short_names":["flag-gy"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1757,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Hong Kong SAR China Flag","unified":"1F1ED-1F1F0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ed-1f1f0.png","sheet_x":2,"sheet_y":5,"short_name":"flag-hk","short_names":["flag-hk"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1758,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Heard & McDonald Islands Flag","unified":"1F1ED-1F1F2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ed-1f1f2.png","sheet_x":2,"sheet_y":6,"short_name":"flag-hm","short_names":["flag-hm"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1759,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Honduras Flag","unified":"1F1ED-1F1F3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ed-1f1f3.png","sheet_x":2,"sheet_y":7,"short_name":"flag-hn","short_names":["flag-hn"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1760,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Croatia Flag","unified":"1F1ED-1F1F7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ed-1f1f7.png","sheet_x":2,"sheet_y":8,"short_name":"flag-hr","short_names":["flag-hr"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1761,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Haiti Flag","unified":"1F1ED-1F1F9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ed-1f1f9.png","sheet_x":2,"sheet_y":9,"short_name":"flag-ht","short_names":["flag-ht"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1762,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Hungary Flag","unified":"1F1ED-1F1FA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ed-1f1fa.png","sheet_x":2,"sheet_y":10,"short_name":"flag-hu","short_names":["flag-hu"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1763,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Canary Islands Flag","unified":"1F1EE-1F1E8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ee-1f1e8.png","sheet_x":2,"sheet_y":11,"short_name":"flag-ic","short_names":["flag-ic"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1764,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Indonesia Flag","unified":"1F1EE-1F1E9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ee-1f1e9.png","sheet_x":2,"sheet_y":12,"short_name":"flag-id","short_names":["flag-id"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1765,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Ireland Flag","unified":"1F1EE-1F1EA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ee-1f1ea.png","sheet_x":2,"sheet_y":13,"short_name":"flag-ie","short_names":["flag-ie"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1766,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Israel Flag","unified":"1F1EE-1F1F1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ee-1f1f1.png","sheet_x":2,"sheet_y":14,"short_name":"flag-il","short_names":["flag-il"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1767,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Isle of Man Flag","unified":"1F1EE-1F1F2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ee-1f1f2.png","sheet_x":2,"sheet_y":15,"short_name":"flag-im","short_names":["flag-im"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1768,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"India Flag","unified":"1F1EE-1F1F3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ee-1f1f3.png","sheet_x":2,"sheet_y":16,"short_name":"flag-in","short_names":["flag-in"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1769,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"British Indian Ocean Territory Flag","unified":"1F1EE-1F1F4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ee-1f1f4.png","sheet_x":2,"sheet_y":17,"short_name":"flag-io","short_names":["flag-io"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1770,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Iraq Flag","unified":"1F1EE-1F1F6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ee-1f1f6.png","sheet_x":2,"sheet_y":18,"short_name":"flag-iq","short_names":["flag-iq"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1771,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Iran Flag","unified":"1F1EE-1F1F7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ee-1f1f7.png","sheet_x":2,"sheet_y":19,"short_name":"flag-ir","short_names":["flag-ir"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1772,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Iceland Flag","unified":"1F1EE-1F1F8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ee-1f1f8.png","sheet_x":2,"sheet_y":20,"short_name":"flag-is","short_names":["flag-is"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1773,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Italy Flag","unified":"1F1EE-1F1F9","non_qualified":null,"docomo":null,"au":"EB0F","softbank":"E50F","google":"FE4E9","image":"1f1ee-1f1f9.png","sheet_x":2,"sheet_y":21,"short_name":"it","short_names":["it","flag-it"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1774,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Jersey Flag","unified":"1F1EF-1F1EA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ef-1f1ea.png","sheet_x":2,"sheet_y":22,"short_name":"flag-je","short_names":["flag-je"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1775,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Jamaica Flag","unified":"1F1EF-1F1F2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ef-1f1f2.png","sheet_x":2,"sheet_y":23,"short_name":"flag-jm","short_names":["flag-jm"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1776,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Jordan Flag","unified":"1F1EF-1F1F4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ef-1f1f4.png","sheet_x":2,"sheet_y":24,"short_name":"flag-jo","short_names":["flag-jo"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1777,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Japan Flag","unified":"1F1EF-1F1F5","non_qualified":null,"docomo":null,"au":"E4CC","softbank":"E50B","google":"FE4E5","image":"1f1ef-1f1f5.png","sheet_x":2,"sheet_y":25,"short_name":"jp","short_names":["jp","flag-jp"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1778,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Kenya Flag","unified":"1F1F0-1F1EA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f0-1f1ea.png","sheet_x":2,"sheet_y":26,"short_name":"flag-ke","short_names":["flag-ke"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1779,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Kyrgyzstan Flag","unified":"1F1F0-1F1EC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f0-1f1ec.png","sheet_x":2,"sheet_y":27,"short_name":"flag-kg","short_names":["flag-kg"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1780,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Cambodia Flag","unified":"1F1F0-1F1ED","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f0-1f1ed.png","sheet_x":2,"sheet_y":28,"short_name":"flag-kh","short_names":["flag-kh"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1781,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Kiribati Flag","unified":"1F1F0-1F1EE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f0-1f1ee.png","sheet_x":2,"sheet_y":29,"short_name":"flag-ki","short_names":["flag-ki"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1782,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Comoros Flag","unified":"1F1F0-1F1F2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f0-1f1f2.png","sheet_x":2,"sheet_y":30,"short_name":"flag-km","short_names":["flag-km"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1783,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"St. Kitts & Nevis Flag","unified":"1F1F0-1F1F3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f0-1f1f3.png","sheet_x":2,"sheet_y":31,"short_name":"flag-kn","short_names":["flag-kn"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1784,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"North Korea Flag","unified":"1F1F0-1F1F5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f0-1f1f5.png","sheet_x":2,"sheet_y":32,"short_name":"flag-kp","short_names":["flag-kp"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1785,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"South Korea Flag","unified":"1F1F0-1F1F7","non_qualified":null,"docomo":null,"au":"EB12","softbank":"E514","google":"FE4EE","image":"1f1f0-1f1f7.png","sheet_x":2,"sheet_y":33,"short_name":"kr","short_names":["kr","flag-kr"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1786,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Kuwait Flag","unified":"1F1F0-1F1FC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f0-1f1fc.png","sheet_x":2,"sheet_y":34,"short_name":"flag-kw","short_names":["flag-kw"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1787,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Cayman Islands Flag","unified":"1F1F0-1F1FE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f0-1f1fe.png","sheet_x":2,"sheet_y":35,"short_name":"flag-ky","short_names":["flag-ky"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1788,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Kazakhstan Flag","unified":"1F1F0-1F1FF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f0-1f1ff.png","sheet_x":2,"sheet_y":36,"short_name":"flag-kz","short_names":["flag-kz"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1789,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Laos Flag","unified":"1F1F1-1F1E6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f1-1f1e6.png","sheet_x":2,"sheet_y":37,"short_name":"flag-la","short_names":["flag-la"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1790,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Lebanon Flag","unified":"1F1F1-1F1E7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f1-1f1e7.png","sheet_x":2,"sheet_y":38,"short_name":"flag-lb","short_names":["flag-lb"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1791,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"St. Lucia Flag","unified":"1F1F1-1F1E8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f1-1f1e8.png","sheet_x":2,"sheet_y":39,"short_name":"flag-lc","short_names":["flag-lc"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1792,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Liechtenstein Flag","unified":"1F1F1-1F1EE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f1-1f1ee.png","sheet_x":2,"sheet_y":40,"short_name":"flag-li","short_names":["flag-li"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1793,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Sri Lanka Flag","unified":"1F1F1-1F1F0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f1-1f1f0.png","sheet_x":2,"sheet_y":41,"short_name":"flag-lk","short_names":["flag-lk"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1794,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Liberia Flag","unified":"1F1F1-1F1F7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f1-1f1f7.png","sheet_x":2,"sheet_y":42,"short_name":"flag-lr","short_names":["flag-lr"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1795,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Lesotho Flag","unified":"1F1F1-1F1F8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f1-1f1f8.png","sheet_x":2,"sheet_y":43,"short_name":"flag-ls","short_names":["flag-ls"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1796,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Lithuania Flag","unified":"1F1F1-1F1F9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f1-1f1f9.png","sheet_x":2,"sheet_y":44,"short_name":"flag-lt","short_names":["flag-lt"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1797,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Luxembourg Flag","unified":"1F1F1-1F1FA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f1-1f1fa.png","sheet_x":2,"sheet_y":45,"short_name":"flag-lu","short_names":["flag-lu"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1798,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Latvia Flag","unified":"1F1F1-1F1FB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f1-1f1fb.png","sheet_x":2,"sheet_y":46,"short_name":"flag-lv","short_names":["flag-lv"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1799,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Libya Flag","unified":"1F1F1-1F1FE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f1-1f1fe.png","sheet_x":2,"sheet_y":47,"short_name":"flag-ly","short_names":["flag-ly"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1800,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Morocco Flag","unified":"1F1F2-1F1E6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1e6.png","sheet_x":2,"sheet_y":48,"short_name":"flag-ma","short_names":["flag-ma"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1801,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Monaco Flag","unified":"1F1F2-1F1E8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1e8.png","sheet_x":2,"sheet_y":49,"short_name":"flag-mc","short_names":["flag-mc"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1802,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Moldova Flag","unified":"1F1F2-1F1E9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1e9.png","sheet_x":2,"sheet_y":50,"short_name":"flag-md","short_names":["flag-md"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1803,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Montenegro Flag","unified":"1F1F2-1F1EA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1ea.png","sheet_x":2,"sheet_y":51,"short_name":"flag-me","short_names":["flag-me"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1804,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"St. Martin Flag","unified":"1F1F2-1F1EB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1eb.png","sheet_x":2,"sheet_y":52,"short_name":"flag-mf","short_names":["flag-mf"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1805,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Madagascar Flag","unified":"1F1F2-1F1EC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1ec.png","sheet_x":2,"sheet_y":53,"short_name":"flag-mg","short_names":["flag-mg"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1806,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Marshall Islands Flag","unified":"1F1F2-1F1ED","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1ed.png","sheet_x":2,"sheet_y":54,"short_name":"flag-mh","short_names":["flag-mh"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1807,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"North Macedonia Flag","unified":"1F1F2-1F1F0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1f0.png","sheet_x":2,"sheet_y":55,"short_name":"flag-mk","short_names":["flag-mk"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1808,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Mali Flag","unified":"1F1F2-1F1F1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1f1.png","sheet_x":2,"sheet_y":56,"short_name":"flag-ml","short_names":["flag-ml"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1809,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Myanmar (Burma) Flag","unified":"1F1F2-1F1F2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1f2.png","sheet_x":2,"sheet_y":57,"short_name":"flag-mm","short_names":["flag-mm"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1810,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Mongolia Flag","unified":"1F1F2-1F1F3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1f3.png","sheet_x":2,"sheet_y":58,"short_name":"flag-mn","short_names":["flag-mn"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1811,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Macao SAR China Flag","unified":"1F1F2-1F1F4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1f4.png","sheet_x":2,"sheet_y":59,"short_name":"flag-mo","short_names":["flag-mo"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1812,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Northern Mariana Islands Flag","unified":"1F1F2-1F1F5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1f5.png","sheet_x":2,"sheet_y":60,"short_name":"flag-mp","short_names":["flag-mp"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1813,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Martinique Flag","unified":"1F1F2-1F1F6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1f6.png","sheet_x":2,"sheet_y":61,"short_name":"flag-mq","short_names":["flag-mq"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1814,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Mauritania Flag","unified":"1F1F2-1F1F7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1f7.png","sheet_x":2,"sheet_y":62,"short_name":"flag-mr","short_names":["flag-mr"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1815,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Montserrat Flag","unified":"1F1F2-1F1F8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1f8.png","sheet_x":3,"sheet_y":0,"short_name":"flag-ms","short_names":["flag-ms"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1816,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Malta Flag","unified":"1F1F2-1F1F9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1f9.png","sheet_x":3,"sheet_y":1,"short_name":"flag-mt","short_names":["flag-mt"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1817,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Mauritius Flag","unified":"1F1F2-1F1FA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1fa.png","sheet_x":3,"sheet_y":2,"short_name":"flag-mu","short_names":["flag-mu"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1818,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Maldives Flag","unified":"1F1F2-1F1FB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1fb.png","sheet_x":3,"sheet_y":3,"short_name":"flag-mv","short_names":["flag-mv"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1819,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Malawi Flag","unified":"1F1F2-1F1FC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1fc.png","sheet_x":3,"sheet_y":4,"short_name":"flag-mw","short_names":["flag-mw"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1820,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Mexico Flag","unified":"1F1F2-1F1FD","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1fd.png","sheet_x":3,"sheet_y":5,"short_name":"flag-mx","short_names":["flag-mx"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1821,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Malaysia Flag","unified":"1F1F2-1F1FE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1fe.png","sheet_x":3,"sheet_y":6,"short_name":"flag-my","short_names":["flag-my"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1822,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Mozambique Flag","unified":"1F1F2-1F1FF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f2-1f1ff.png","sheet_x":3,"sheet_y":7,"short_name":"flag-mz","short_names":["flag-mz"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1823,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Namibia Flag","unified":"1F1F3-1F1E6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f3-1f1e6.png","sheet_x":3,"sheet_y":8,"short_name":"flag-na","short_names":["flag-na"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1824,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"New Caledonia Flag","unified":"1F1F3-1F1E8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f3-1f1e8.png","sheet_x":3,"sheet_y":9,"short_name":"flag-nc","short_names":["flag-nc"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1825,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Niger Flag","unified":"1F1F3-1F1EA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f3-1f1ea.png","sheet_x":3,"sheet_y":10,"short_name":"flag-ne","short_names":["flag-ne"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1826,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Norfolk Island Flag","unified":"1F1F3-1F1EB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f3-1f1eb.png","sheet_x":3,"sheet_y":11,"short_name":"flag-nf","short_names":["flag-nf"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1827,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Nigeria Flag","unified":"1F1F3-1F1EC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f3-1f1ec.png","sheet_x":3,"sheet_y":12,"short_name":"flag-ng","short_names":["flag-ng"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1828,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Nicaragua Flag","unified":"1F1F3-1F1EE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f3-1f1ee.png","sheet_x":3,"sheet_y":13,"short_name":"flag-ni","short_names":["flag-ni"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1829,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Netherlands Flag","unified":"1F1F3-1F1F1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f3-1f1f1.png","sheet_x":3,"sheet_y":14,"short_name":"flag-nl","short_names":["flag-nl"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1830,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Norway Flag","unified":"1F1F3-1F1F4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f3-1f1f4.png","sheet_x":3,"sheet_y":15,"short_name":"flag-no","short_names":["flag-no"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1831,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Nepal Flag","unified":"1F1F3-1F1F5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f3-1f1f5.png","sheet_x":3,"sheet_y":16,"short_name":"flag-np","short_names":["flag-np"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1832,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Nauru Flag","unified":"1F1F3-1F1F7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f3-1f1f7.png","sheet_x":3,"sheet_y":17,"short_name":"flag-nr","short_names":["flag-nr"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1833,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Niue Flag","unified":"1F1F3-1F1FA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f3-1f1fa.png","sheet_x":3,"sheet_y":18,"short_name":"flag-nu","short_names":["flag-nu"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1834,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"New Zealand Flag","unified":"1F1F3-1F1FF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f3-1f1ff.png","sheet_x":3,"sheet_y":19,"short_name":"flag-nz","short_names":["flag-nz"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1835,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Oman Flag","unified":"1F1F4-1F1F2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f4-1f1f2.png","sheet_x":3,"sheet_y":20,"short_name":"flag-om","short_names":["flag-om"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1836,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Panama Flag","unified":"1F1F5-1F1E6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f5-1f1e6.png","sheet_x":3,"sheet_y":21,"short_name":"flag-pa","short_names":["flag-pa"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1837,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Peru Flag","unified":"1F1F5-1F1EA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f5-1f1ea.png","sheet_x":3,"sheet_y":22,"short_name":"flag-pe","short_names":["flag-pe"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1838,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"French Polynesia Flag","unified":"1F1F5-1F1EB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f5-1f1eb.png","sheet_x":3,"sheet_y":23,"short_name":"flag-pf","short_names":["flag-pf"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1839,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Papua New Guinea Flag","unified":"1F1F5-1F1EC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f5-1f1ec.png","sheet_x":3,"sheet_y":24,"short_name":"flag-pg","short_names":["flag-pg"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1840,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Philippines Flag","unified":"1F1F5-1F1ED","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f5-1f1ed.png","sheet_x":3,"sheet_y":25,"short_name":"flag-ph","short_names":["flag-ph"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1841,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Pakistan Flag","unified":"1F1F5-1F1F0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f5-1f1f0.png","sheet_x":3,"sheet_y":26,"short_name":"flag-pk","short_names":["flag-pk"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1842,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Poland Flag","unified":"1F1F5-1F1F1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f5-1f1f1.png","sheet_x":3,"sheet_y":27,"short_name":"flag-pl","short_names":["flag-pl"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1843,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"St. Pierre & Miquelon Flag","unified":"1F1F5-1F1F2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f5-1f1f2.png","sheet_x":3,"sheet_y":28,"short_name":"flag-pm","short_names":["flag-pm"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1844,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Pitcairn Islands Flag","unified":"1F1F5-1F1F3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f5-1f1f3.png","sheet_x":3,"sheet_y":29,"short_name":"flag-pn","short_names":["flag-pn"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1845,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Puerto Rico Flag","unified":"1F1F5-1F1F7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f5-1f1f7.png","sheet_x":3,"sheet_y":30,"short_name":"flag-pr","short_names":["flag-pr"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1846,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Palestinian Territories Flag","unified":"1F1F5-1F1F8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f5-1f1f8.png","sheet_x":3,"sheet_y":31,"short_name":"flag-ps","short_names":["flag-ps"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1847,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Portugal Flag","unified":"1F1F5-1F1F9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f5-1f1f9.png","sheet_x":3,"sheet_y":32,"short_name":"flag-pt","short_names":["flag-pt"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1848,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Palau Flag","unified":"1F1F5-1F1FC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f5-1f1fc.png","sheet_x":3,"sheet_y":33,"short_name":"flag-pw","short_names":["flag-pw"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1849,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Paraguay Flag","unified":"1F1F5-1F1FE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f5-1f1fe.png","sheet_x":3,"sheet_y":34,"short_name":"flag-py","short_names":["flag-py"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1850,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Qatar Flag","unified":"1F1F6-1F1E6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f6-1f1e6.png","sheet_x":3,"sheet_y":35,"short_name":"flag-qa","short_names":["flag-qa"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1851,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"R\u00e9union Flag","unified":"1F1F7-1F1EA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f7-1f1ea.png","sheet_x":3,"sheet_y":36,"short_name":"flag-re","short_names":["flag-re"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1852,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Romania Flag","unified":"1F1F7-1F1F4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f7-1f1f4.png","sheet_x":3,"sheet_y":37,"short_name":"flag-ro","short_names":["flag-ro"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1853,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Serbia Flag","unified":"1F1F7-1F1F8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f7-1f1f8.png","sheet_x":3,"sheet_y":38,"short_name":"flag-rs","short_names":["flag-rs"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1854,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Russia Flag","unified":"1F1F7-1F1FA","non_qualified":null,"docomo":null,"au":"E5D6","softbank":"E512","google":"FE4EC","image":"1f1f7-1f1fa.png","sheet_x":3,"sheet_y":39,"short_name":"ru","short_names":["ru","flag-ru"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1855,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Rwanda Flag","unified":"1F1F7-1F1FC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f7-1f1fc.png","sheet_x":3,"sheet_y":40,"short_name":"flag-rw","short_names":["flag-rw"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1856,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Saudi Arabia Flag","unified":"1F1F8-1F1E6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1e6.png","sheet_x":3,"sheet_y":41,"short_name":"flag-sa","short_names":["flag-sa"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1857,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Solomon Islands Flag","unified":"1F1F8-1F1E7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1e7.png","sheet_x":3,"sheet_y":42,"short_name":"flag-sb","short_names":["flag-sb"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1858,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Seychelles Flag","unified":"1F1F8-1F1E8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1e8.png","sheet_x":3,"sheet_y":43,"short_name":"flag-sc","short_names":["flag-sc"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1859,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Sudan Flag","unified":"1F1F8-1F1E9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1e9.png","sheet_x":3,"sheet_y":44,"short_name":"flag-sd","short_names":["flag-sd"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1860,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Sweden Flag","unified":"1F1F8-1F1EA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1ea.png","sheet_x":3,"sheet_y":45,"short_name":"flag-se","short_names":["flag-se"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1861,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Singapore Flag","unified":"1F1F8-1F1EC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1ec.png","sheet_x":3,"sheet_y":46,"short_name":"flag-sg","short_names":["flag-sg"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1862,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"St. Helena Flag","unified":"1F1F8-1F1ED","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1ed.png","sheet_x":3,"sheet_y":47,"short_name":"flag-sh","short_names":["flag-sh"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1863,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Slovenia Flag","unified":"1F1F8-1F1EE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1ee.png","sheet_x":3,"sheet_y":48,"short_name":"flag-si","short_names":["flag-si"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1864,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Svalbard & Jan Mayen Flag","unified":"1F1F8-1F1EF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1ef.png","sheet_x":3,"sheet_y":49,"short_name":"flag-sj","short_names":["flag-sj"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1865,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Slovakia Flag","unified":"1F1F8-1F1F0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1f0.png","sheet_x":3,"sheet_y":50,"short_name":"flag-sk","short_names":["flag-sk"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1866,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Sierra Leone Flag","unified":"1F1F8-1F1F1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1f1.png","sheet_x":3,"sheet_y":51,"short_name":"flag-sl","short_names":["flag-sl"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1867,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"San Marino Flag","unified":"1F1F8-1F1F2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1f2.png","sheet_x":3,"sheet_y":52,"short_name":"flag-sm","short_names":["flag-sm"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1868,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Senegal Flag","unified":"1F1F8-1F1F3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1f3.png","sheet_x":3,"sheet_y":53,"short_name":"flag-sn","short_names":["flag-sn"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1869,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Somalia Flag","unified":"1F1F8-1F1F4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1f4.png","sheet_x":3,"sheet_y":54,"short_name":"flag-so","short_names":["flag-so"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1870,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Suriname Flag","unified":"1F1F8-1F1F7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1f7.png","sheet_x":3,"sheet_y":55,"short_name":"flag-sr","short_names":["flag-sr"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1871,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"South Sudan Flag","unified":"1F1F8-1F1F8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1f8.png","sheet_x":3,"sheet_y":56,"short_name":"flag-ss","short_names":["flag-ss"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1872,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"S\u00e3o Tom\u00e9 & Pr\u00edncipe Flag","unified":"1F1F8-1F1F9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1f9.png","sheet_x":3,"sheet_y":57,"short_name":"flag-st","short_names":["flag-st"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1873,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"El Salvador Flag","unified":"1F1F8-1F1FB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1fb.png","sheet_x":3,"sheet_y":58,"short_name":"flag-sv","short_names":["flag-sv"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1874,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Sint Maarten Flag","unified":"1F1F8-1F1FD","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1fd.png","sheet_x":3,"sheet_y":59,"short_name":"flag-sx","short_names":["flag-sx"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1875,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Syria Flag","unified":"1F1F8-1F1FE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1fe.png","sheet_x":3,"sheet_y":60,"short_name":"flag-sy","short_names":["flag-sy"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1876,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Eswatini Flag","unified":"1F1F8-1F1FF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f8-1f1ff.png","sheet_x":3,"sheet_y":61,"short_name":"flag-sz","short_names":["flag-sz"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1877,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Tristan da Cunha Flag","unified":"1F1F9-1F1E6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f9-1f1e6.png","sheet_x":3,"sheet_y":62,"short_name":"flag-ta","short_names":["flag-ta"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1878,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Turks & Caicos Islands Flag","unified":"1F1F9-1F1E8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f9-1f1e8.png","sheet_x":4,"sheet_y":0,"short_name":"flag-tc","short_names":["flag-tc"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1879,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Chad Flag","unified":"1F1F9-1F1E9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f9-1f1e9.png","sheet_x":4,"sheet_y":1,"short_name":"flag-td","short_names":["flag-td"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1880,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"French Southern Territories Flag","unified":"1F1F9-1F1EB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f9-1f1eb.png","sheet_x":4,"sheet_y":2,"short_name":"flag-tf","short_names":["flag-tf"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1881,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Togo Flag","unified":"1F1F9-1F1EC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f9-1f1ec.png","sheet_x":4,"sheet_y":3,"short_name":"flag-tg","short_names":["flag-tg"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1882,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Thailand Flag","unified":"1F1F9-1F1ED","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f9-1f1ed.png","sheet_x":4,"sheet_y":4,"short_name":"flag-th","short_names":["flag-th"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1883,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Tajikistan Flag","unified":"1F1F9-1F1EF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f9-1f1ef.png","sheet_x":4,"sheet_y":5,"short_name":"flag-tj","short_names":["flag-tj"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1884,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Tokelau Flag","unified":"1F1F9-1F1F0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f9-1f1f0.png","sheet_x":4,"sheet_y":6,"short_name":"flag-tk","short_names":["flag-tk"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1885,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Timor-Leste Flag","unified":"1F1F9-1F1F1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f9-1f1f1.png","sheet_x":4,"sheet_y":7,"short_name":"flag-tl","short_names":["flag-tl"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1886,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Turkmenistan Flag","unified":"1F1F9-1F1F2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f9-1f1f2.png","sheet_x":4,"sheet_y":8,"short_name":"flag-tm","short_names":["flag-tm"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1887,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Tunisia Flag","unified":"1F1F9-1F1F3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f9-1f1f3.png","sheet_x":4,"sheet_y":9,"short_name":"flag-tn","short_names":["flag-tn"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1888,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Tonga Flag","unified":"1F1F9-1F1F4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f9-1f1f4.png","sheet_x":4,"sheet_y":10,"short_name":"flag-to","short_names":["flag-to"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1889,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"T\u00fcrkiye Flag","unified":"1F1F9-1F1F7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f9-1f1f7.png","sheet_x":4,"sheet_y":11,"short_name":"flag-tr","short_names":["flag-tr"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1890,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Trinidad & Tobago Flag","unified":"1F1F9-1F1F9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f9-1f1f9.png","sheet_x":4,"sheet_y":12,"short_name":"flag-tt","short_names":["flag-tt"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1891,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Tuvalu Flag","unified":"1F1F9-1F1FB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f9-1f1fb.png","sheet_x":4,"sheet_y":13,"short_name":"flag-tv","short_names":["flag-tv"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1892,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Taiwan Flag","unified":"1F1F9-1F1FC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f9-1f1fc.png","sheet_x":4,"sheet_y":14,"short_name":"flag-tw","short_names":["flag-tw"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1893,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Tanzania Flag","unified":"1F1F9-1F1FF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1f9-1f1ff.png","sheet_x":4,"sheet_y":15,"short_name":"flag-tz","short_names":["flag-tz"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1894,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Ukraine Flag","unified":"1F1FA-1F1E6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1fa-1f1e6.png","sheet_x":4,"sheet_y":16,"short_name":"flag-ua","short_names":["flag-ua"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1895,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Uganda Flag","unified":"1F1FA-1F1EC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1fa-1f1ec.png","sheet_x":4,"sheet_y":17,"short_name":"flag-ug","short_names":["flag-ug"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1896,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"U.S. Outlying Islands Flag","unified":"1F1FA-1F1F2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1fa-1f1f2.png","sheet_x":4,"sheet_y":18,"short_name":"flag-um","short_names":["flag-um"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1897,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"United Nations Flag","unified":"1F1FA-1F1F3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1fa-1f1f3.png","sheet_x":4,"sheet_y":19,"short_name":"flag-un","short_names":["flag-un"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1898,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"United States Flag","unified":"1F1FA-1F1F8","non_qualified":null,"docomo":null,"au":"E573","softbank":"E50C","google":"FE4E6","image":"1f1fa-1f1f8.png","sheet_x":4,"sheet_y":20,"short_name":"us","short_names":["us","flag-us"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1899,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Uruguay Flag","unified":"1F1FA-1F1FE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1fa-1f1fe.png","sheet_x":4,"sheet_y":21,"short_name":"flag-uy","short_names":["flag-uy"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1900,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Uzbekistan Flag","unified":"1F1FA-1F1FF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1fa-1f1ff.png","sheet_x":4,"sheet_y":22,"short_name":"flag-uz","short_names":["flag-uz"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1901,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Vatican City Flag","unified":"1F1FB-1F1E6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1fb-1f1e6.png","sheet_x":4,"sheet_y":23,"short_name":"flag-va","short_names":["flag-va"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1902,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"St. Vincent & Grenadines Flag","unified":"1F1FB-1F1E8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1fb-1f1e8.png","sheet_x":4,"sheet_y":24,"short_name":"flag-vc","short_names":["flag-vc"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1903,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Venezuela Flag","unified":"1F1FB-1F1EA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1fb-1f1ea.png","sheet_x":4,"sheet_y":25,"short_name":"flag-ve","short_names":["flag-ve"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1904,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"British Virgin Islands Flag","unified":"1F1FB-1F1EC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1fb-1f1ec.png","sheet_x":4,"sheet_y":26,"short_name":"flag-vg","short_names":["flag-vg"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1905,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"U.S. Virgin Islands Flag","unified":"1F1FB-1F1EE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1fb-1f1ee.png","sheet_x":4,"sheet_y":27,"short_name":"flag-vi","short_names":["flag-vi"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1906,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Vietnam Flag","unified":"1F1FB-1F1F3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1fb-1f1f3.png","sheet_x":4,"sheet_y":28,"short_name":"flag-vn","short_names":["flag-vn"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1907,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Vanuatu Flag","unified":"1F1FB-1F1FA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1fb-1f1fa.png","sheet_x":4,"sheet_y":29,"short_name":"flag-vu","short_names":["flag-vu"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1908,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Wallis & Futuna Flag","unified":"1F1FC-1F1EB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1fc-1f1eb.png","sheet_x":4,"sheet_y":30,"short_name":"flag-wf","short_names":["flag-wf"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1909,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Samoa Flag","unified":"1F1FC-1F1F8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1fc-1f1f8.png","sheet_x":4,"sheet_y":31,"short_name":"flag-ws","short_names":["flag-ws"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1910,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Kosovo Flag","unified":"1F1FD-1F1F0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1fd-1f1f0.png","sheet_x":4,"sheet_y":32,"short_name":"flag-xk","short_names":["flag-xk"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1911,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Yemen Flag","unified":"1F1FE-1F1EA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1fe-1f1ea.png","sheet_x":4,"sheet_y":33,"short_name":"flag-ye","short_names":["flag-ye"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1912,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Mayotte Flag","unified":"1F1FE-1F1F9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1fe-1f1f9.png","sheet_x":4,"sheet_y":34,"short_name":"flag-yt","short_names":["flag-yt"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1913,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"South Africa Flag","unified":"1F1FF-1F1E6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ff-1f1e6.png","sheet_x":4,"sheet_y":35,"short_name":"flag-za","short_names":["flag-za"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1914,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Zambia Flag","unified":"1F1FF-1F1F2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ff-1f1f2.png","sheet_x":4,"sheet_y":36,"short_name":"flag-zm","short_names":["flag-zm"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1915,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Zimbabwe Flag","unified":"1F1FF-1F1FC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f1ff-1f1fc.png","sheet_x":4,"sheet_y":37,"short_name":"flag-zw","short_names":["flag-zw"],"text":null,"texts":null,"category":"Flags","subcategory":"country-flag","sort_order":1916,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED KATAKANA KOKO","unified":"1F201","non_qualified":null,"docomo":null,"au":null,"softbank":"E203","google":"FEB24","image":"1f201.png","sheet_x":4,"sheet_y":38,"short_name":"koko","short_names":["koko"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1599,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED KATAKANA SA","unified":"1F202-FE0F","non_qualified":"1F202","docomo":null,"au":"EA87","softbank":"E228","google":"FEB3F","image":"1f202-fe0f.png","sheet_x":4,"sheet_y":39,"short_name":"sa","short_names":["sa"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1600,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED CJK UNIFIED IDEOGRAPH-7121","unified":"1F21A","non_qualified":null,"docomo":null,"au":null,"softbank":"E216","google":"FEB3A","image":"1f21a.png","sheet_x":4,"sheet_y":40,"short_name":"u7121","short_names":["u7121"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1606,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED CJK UNIFIED IDEOGRAPH-6307","unified":"1F22F","non_qualified":null,"docomo":null,"au":"EA8B","softbank":"E22C","google":"FEB40","image":"1f22f.png","sheet_x":4,"sheet_y":41,"short_name":"u6307","short_names":["u6307"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1603,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED CJK UNIFIED IDEOGRAPH-7981","unified":"1F232","non_qualified":null,"docomo":"E738","au":null,"softbank":null,"google":"FEB2E","image":"1f232.png","sheet_x":4,"sheet_y":42,"short_name":"u7981","short_names":["u7981"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1607,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED CJK UNIFIED IDEOGRAPH-7A7A","unified":"1F233","non_qualified":null,"docomo":"E739","au":"EA8A","softbank":"E22B","google":"FEB2F","image":"1f233.png","sheet_x":4,"sheet_y":43,"short_name":"u7a7a","short_names":["u7a7a"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1611,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED CJK UNIFIED IDEOGRAPH-5408","unified":"1F234","non_qualified":null,"docomo":"E73A","au":null,"softbank":null,"google":"FEB30","image":"1f234.png","sheet_x":4,"sheet_y":44,"short_name":"u5408","short_names":["u5408"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1610,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED CJK UNIFIED IDEOGRAPH-6E80","unified":"1F235","non_qualified":null,"docomo":"E73B","au":"EA89","softbank":"E22A","google":"FEB31","image":"1f235.png","sheet_x":4,"sheet_y":45,"short_name":"u6e80","short_names":["u6e80"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1615,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED CJK UNIFIED IDEOGRAPH-6709","unified":"1F236","non_qualified":null,"docomo":null,"au":null,"softbank":"E215","google":"FEB39","image":"1f236.png","sheet_x":4,"sheet_y":46,"short_name":"u6709","short_names":["u6709"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1602,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED CJK UNIFIED IDEOGRAPH-6708","unified":"1F237-FE0F","non_qualified":"1F237","docomo":null,"au":null,"softbank":"E217","google":"FEB3B","image":"1f237-fe0f.png","sheet_x":4,"sheet_y":47,"short_name":"u6708","short_names":["u6708"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1601,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED CJK UNIFIED IDEOGRAPH-7533","unified":"1F238","non_qualified":null,"docomo":null,"au":null,"softbank":"E218","google":"FEB3C","image":"1f238.png","sheet_x":4,"sheet_y":48,"short_name":"u7533","short_names":["u7533"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1609,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED CJK UNIFIED IDEOGRAPH-5272","unified":"1F239","non_qualified":null,"docomo":null,"au":"EA86","softbank":"E227","google":"FEB3E","image":"1f239.png","sheet_x":4,"sheet_y":49,"short_name":"u5272","short_names":["u5272"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1605,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUARED CJK UNIFIED IDEOGRAPH-55B6","unified":"1F23A","non_qualified":null,"docomo":null,"au":"EA8C","softbank":"E22D","google":"FEB41","image":"1f23a.png","sheet_x":4,"sheet_y":50,"short_name":"u55b6","short_names":["u55b6"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1614,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CIRCLED IDEOGRAPH ADVANTAGE","unified":"1F250","non_qualified":null,"docomo":null,"au":"E4F7","softbank":"E226","google":"FEB3D","image":"1f250.png","sheet_x":4,"sheet_y":51,"short_name":"ideograph_advantage","short_names":["ideograph_advantage"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1604,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CIRCLED IDEOGRAPH ACCEPT","unified":"1F251","non_qualified":null,"docomo":null,"au":"EB01","softbank":null,"google":"FEB50","image":"1f251.png","sheet_x":4,"sheet_y":52,"short_name":"accept","short_names":["accept"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1608,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CYCLONE","unified":"1F300","non_qualified":null,"docomo":"E643","au":"E469","softbank":"E443","google":"FE005","image":"1f300.png","sheet_x":4,"sheet_y":53,"short_name":"cyclone","short_names":["cyclone"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1061,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FOGGY","unified":"1F301","non_qualified":null,"docomo":"E644","au":"E598","softbank":null,"google":"FE006","image":"1f301.png","sheet_x":4,"sheet_y":54,"short_name":"foggy","short_names":["foggy"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-other","sort_order":908,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOSED UMBRELLA","unified":"1F302","non_qualified":null,"docomo":"E645","au":"EAE8","softbank":"E43C","google":"FE007","image":"1f302.png","sheet_x":4,"sheet_y":55,"short_name":"closed_umbrella","short_names":["closed_umbrella"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1063,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NIGHT WITH STARS","unified":"1F303","non_qualified":null,"docomo":"E6B3","au":"EAF1","softbank":"E44B","google":"FE008","image":"1f303.png","sheet_x":4,"sheet_y":56,"short_name":"night_with_stars","short_names":["night_with_stars"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-other","sort_order":909,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SUNRISE OVER MOUNTAINS","unified":"1F304","non_qualified":null,"docomo":"E63E","au":"EAF4","softbank":"E04D","google":"FE009","image":"1f304.png","sheet_x":4,"sheet_y":57,"short_name":"sunrise_over_mountains","short_names":["sunrise_over_mountains"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-other","sort_order":911,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SUNRISE","unified":"1F305","non_qualified":null,"docomo":"E63E","au":"EAF4","softbank":"E449","google":"FE00A","image":"1f305.png","sheet_x":4,"sheet_y":58,"short_name":"sunrise","short_names":["sunrise"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-other","sort_order":912,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CITYSCAPE AT DUSK","unified":"1F306","non_qualified":null,"docomo":null,"au":"E5DA","softbank":"E146","google":"FE00B","image":"1f306.png","sheet_x":4,"sheet_y":59,"short_name":"city_sunset","short_names":["city_sunset"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-other","sort_order":913,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SUNSET OVER BUILDINGS","unified":"1F307","non_qualified":null,"docomo":"E63E","au":"E5DA","softbank":"E44A","google":"FE00C","image":"1f307.png","sheet_x":4,"sheet_y":60,"short_name":"city_sunrise","short_names":["city_sunrise"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-other","sort_order":914,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RAINBOW","unified":"1F308","non_qualified":null,"docomo":null,"au":"EAF2","softbank":"E44C","google":"FE00D","image":"1f308.png","sheet_x":4,"sheet_y":61,"short_name":"rainbow","short_names":["rainbow"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1062,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BRIDGE AT NIGHT","unified":"1F309","non_qualified":null,"docomo":"E6B3","au":"E4BF","softbank":null,"google":"FE010","image":"1f309.png","sheet_x":4,"sheet_y":62,"short_name":"bridge_at_night","short_names":["bridge_at_night"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-other","sort_order":915,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WATER WAVE","unified":"1F30A","non_qualified":null,"docomo":"E73F","au":"EB7C","softbank":"E43E","google":"FE038","image":"1f30a.png","sheet_x":5,"sheet_y":0,"short_name":"ocean","short_names":["ocean"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1074,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"VOLCANO","unified":"1F30B","non_qualified":null,"docomo":null,"au":"EB53","softbank":null,"google":"FE03A","image":"1f30b.png","sheet_x":5,"sheet_y":1,"short_name":"volcano","short_names":["volcano"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-geographic","sort_order":866,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MILKY WAY","unified":"1F30C","non_qualified":null,"docomo":"E6B3","au":"EB5F","softbank":null,"google":"FE03B","image":"1f30c.png","sheet_x":5,"sheet_y":2,"short_name":"milky_way","short_names":["milky_way"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1048,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EARTH GLOBE EUROPE-AFRICA","unified":"1F30D","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f30d.png","sheet_x":5,"sheet_y":3,"short_name":"earth_africa","short_names":["earth_africa"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-map","sort_order":856,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EARTH GLOBE AMERICAS","unified":"1F30E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f30e.png","sheet_x":5,"sheet_y":4,"short_name":"earth_americas","short_names":["earth_americas"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-map","sort_order":857,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EARTH GLOBE ASIA-AUSTRALIA","unified":"1F30F","non_qualified":null,"docomo":null,"au":"E5B3","softbank":null,"google":"FE039","image":"1f30f.png","sheet_x":5,"sheet_y":5,"short_name":"earth_asia","short_names":["earth_asia"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-map","sort_order":858,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GLOBE WITH MERIDIANS","unified":"1F310","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f310.png","sheet_x":5,"sheet_y":6,"short_name":"globe_with_meridians","short_names":["globe_with_meridians"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-map","sort_order":859,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NEW MOON SYMBOL","unified":"1F311","non_qualified":null,"docomo":"E69C","au":"E5A8","softbank":null,"google":"FE011","image":"1f311.png","sheet_x":5,"sheet_y":7,"short_name":"new_moon","short_names":["new_moon"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1028,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WAXING CRESCENT MOON SYMBOL","unified":"1F312","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f312.png","sheet_x":5,"sheet_y":8,"short_name":"waxing_crescent_moon","short_names":["waxing_crescent_moon"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1029,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FIRST QUARTER MOON SYMBOL","unified":"1F313","non_qualified":null,"docomo":"E69E","au":"E5AA","softbank":null,"google":"FE013","image":"1f313.png","sheet_x":5,"sheet_y":9,"short_name":"first_quarter_moon","short_names":["first_quarter_moon"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1030,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WAXING GIBBOUS MOON SYMBOL","unified":"1F314","non_qualified":null,"docomo":"E69D","au":"E5A9","softbank":null,"google":"FE012","image":"1f314.png","sheet_x":5,"sheet_y":10,"short_name":"moon","short_names":["moon","waxing_gibbous_moon"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1031,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FULL MOON SYMBOL","unified":"1F315","non_qualified":null,"docomo":"E6A0","au":null,"softbank":null,"google":"FE015","image":"1f315.png","sheet_x":5,"sheet_y":11,"short_name":"full_moon","short_names":["full_moon"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1032,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WANING GIBBOUS MOON SYMBOL","unified":"1F316","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f316.png","sheet_x":5,"sheet_y":12,"short_name":"waning_gibbous_moon","short_names":["waning_gibbous_moon"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1033,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LAST QUARTER MOON SYMBOL","unified":"1F317","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f317.png","sheet_x":5,"sheet_y":13,"short_name":"last_quarter_moon","short_names":["last_quarter_moon"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1034,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WANING CRESCENT MOON SYMBOL","unified":"1F318","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f318.png","sheet_x":5,"sheet_y":14,"short_name":"waning_crescent_moon","short_names":["waning_crescent_moon"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1035,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CRESCENT MOON","unified":"1F319","non_qualified":null,"docomo":"E69F","au":"E486","softbank":"E04C","google":"FE014","image":"1f319.png","sheet_x":5,"sheet_y":15,"short_name":"crescent_moon","short_names":["crescent_moon"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1036,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NEW MOON WITH FACE","unified":"1F31A","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f31a.png","sheet_x":5,"sheet_y":16,"short_name":"new_moon_with_face","short_names":["new_moon_with_face"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1037,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FIRST QUARTER MOON WITH FACE","unified":"1F31B","non_qualified":null,"docomo":"E69E","au":"E489","softbank":null,"google":"FE016","image":"1f31b.png","sheet_x":5,"sheet_y":17,"short_name":"first_quarter_moon_with_face","short_names":["first_quarter_moon_with_face"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1038,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LAST QUARTER MOON WITH FACE","unified":"1F31C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f31c.png","sheet_x":5,"sheet_y":18,"short_name":"last_quarter_moon_with_face","short_names":["last_quarter_moon_with_face"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1039,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FULL MOON WITH FACE","unified":"1F31D","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f31d.png","sheet_x":5,"sheet_y":19,"short_name":"full_moon_with_face","short_names":["full_moon_with_face"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1042,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SUN WITH FACE","unified":"1F31E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f31e.png","sheet_x":5,"sheet_y":20,"short_name":"sun_with_face","short_names":["sun_with_face"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1043,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GLOWING STAR","unified":"1F31F","non_qualified":null,"docomo":null,"au":"E48B","softbank":"E335","google":"FEB69","image":"1f31f.png","sheet_x":5,"sheet_y":21,"short_name":"star2","short_names":["star2"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1046,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SHOOTING STAR","unified":"1F320","non_qualified":null,"docomo":null,"au":"E468","softbank":null,"google":"FEB6A","image":"1f320.png","sheet_x":5,"sheet_y":22,"short_name":"stars","short_names":["stars"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1047,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"THERMOMETER","unified":"1F321-FE0F","non_qualified":"1F321","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f321-fe0f.png","sheet_x":5,"sheet_y":23,"short_name":"thermometer","short_names":["thermometer"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1040,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SUN BEHIND SMALL CLOUD","unified":"1F324-FE0F","non_qualified":"1F324","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f324-fe0f.png","sheet_x":5,"sheet_y":24,"short_name":"mostly_sunny","short_names":["mostly_sunny","sun_small_cloud"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1052,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SUN BEHIND LARGE CLOUD","unified":"1F325-FE0F","non_qualified":"1F325","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f325-fe0f.png","sheet_x":5,"sheet_y":25,"short_name":"barely_sunny","short_names":["barely_sunny","sun_behind_cloud"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1053,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SUN BEHIND RAIN CLOUD","unified":"1F326-FE0F","non_qualified":"1F326","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f326-fe0f.png","sheet_x":5,"sheet_y":26,"short_name":"partly_sunny_rain","short_names":["partly_sunny_rain","sun_behind_rain_cloud"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1054,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOUD WITH RAIN","unified":"1F327-FE0F","non_qualified":"1F327","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f327-fe0f.png","sheet_x":5,"sheet_y":27,"short_name":"rain_cloud","short_names":["rain_cloud"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1055,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOUD WITH SNOW","unified":"1F328-FE0F","non_qualified":"1F328","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f328-fe0f.png","sheet_x":5,"sheet_y":28,"short_name":"snow_cloud","short_names":["snow_cloud"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1056,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOUD WITH LIGHTNING","unified":"1F329-FE0F","non_qualified":"1F329","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f329-fe0f.png","sheet_x":5,"sheet_y":29,"short_name":"lightning","short_names":["lightning","lightning_cloud"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1057,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TORNADO","unified":"1F32A-FE0F","non_qualified":"1F32A","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f32a-fe0f.png","sheet_x":5,"sheet_y":30,"short_name":"tornado","short_names":["tornado","tornado_cloud"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1058,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FOG","unified":"1F32B-FE0F","non_qualified":"1F32B","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f32b-fe0f.png","sheet_x":5,"sheet_y":31,"short_name":"fog","short_names":["fog"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1059,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WIND FACE","unified":"1F32C-FE0F","non_qualified":"1F32C","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f32c-fe0f.png","sheet_x":5,"sheet_y":32,"short_name":"wind_blowing_face","short_names":["wind_blowing_face"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1060,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HOT DOG","unified":"1F32D","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f32d.png","sheet_x":5,"sheet_y":33,"short_name":"hotdog","short_names":["hotdog"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":780,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TACO","unified":"1F32E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f32e.png","sheet_x":5,"sheet_y":34,"short_name":"taco","short_names":["taco"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":782,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BURRITO","unified":"1F32F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f32f.png","sheet_x":5,"sheet_y":35,"short_name":"burrito","short_names":["burrito"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":783,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CHESTNUT","unified":"1F330","non_qualified":null,"docomo":null,"au":"EB38","softbank":null,"google":"FE04C","image":"1f330.png","sheet_x":5,"sheet_y":36,"short_name":"chestnut","short_names":["chestnut"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-vegetable","sort_order":759,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SEEDLING","unified":"1F331","non_qualified":null,"docomo":"E746","au":"EB7D","softbank":null,"google":"FE03E","image":"1f331.png","sheet_x":5,"sheet_y":37,"short_name":"seedling","short_names":["seedling"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-other","sort_order":708,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EVERGREEN TREE","unified":"1F332","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f332.png","sheet_x":5,"sheet_y":38,"short_name":"evergreen_tree","short_names":["evergreen_tree"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-other","sort_order":710,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DECIDUOUS TREE","unified":"1F333","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f333.png","sheet_x":5,"sheet_y":39,"short_name":"deciduous_tree","short_names":["deciduous_tree"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-other","sort_order":711,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PALM TREE","unified":"1F334","non_qualified":null,"docomo":null,"au":"E4E2","softbank":"E307","google":"FE047","image":"1f334.png","sheet_x":5,"sheet_y":40,"short_name":"palm_tree","short_names":["palm_tree"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-other","sort_order":712,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CACTUS","unified":"1F335","non_qualified":null,"docomo":null,"au":"EA96","softbank":"E308","google":"FE048","image":"1f335.png","sheet_x":5,"sheet_y":41,"short_name":"cactus","short_names":["cactus"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-other","sort_order":713,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HOT PEPPER","unified":"1F336-FE0F","non_qualified":"1F336","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f336-fe0f.png","sheet_x":5,"sheet_y":42,"short_name":"hot_pepper","short_names":["hot_pepper"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-vegetable","sort_order":750,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TULIP","unified":"1F337","non_qualified":null,"docomo":"E743","au":"E4E4","softbank":"E304","google":"FE03D","image":"1f337.png","sheet_x":5,"sheet_y":43,"short_name":"tulip","short_names":["tulip"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-flower","sort_order":706,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CHERRY BLOSSOM","unified":"1F338","non_qualified":null,"docomo":"E748","au":"E4CA","softbank":"E030","google":"FE040","image":"1f338.png","sheet_x":5,"sheet_y":44,"short_name":"cherry_blossom","short_names":["cherry_blossom"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-flower","sort_order":697,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ROSE","unified":"1F339","non_qualified":null,"docomo":null,"au":"E5BA","softbank":"E032","google":"FE041","image":"1f339.png","sheet_x":5,"sheet_y":45,"short_name":"rose","short_names":["rose"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-flower","sort_order":701,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HIBISCUS","unified":"1F33A","non_qualified":null,"docomo":null,"au":"EA94","softbank":"E303","google":"FE045","image":"1f33a.png","sheet_x":5,"sheet_y":46,"short_name":"hibiscus","short_names":["hibiscus"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-flower","sort_order":703,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SUNFLOWER","unified":"1F33B","non_qualified":null,"docomo":null,"au":"E4E3","softbank":"E305","google":"FE046","image":"1f33b.png","sheet_x":5,"sheet_y":47,"short_name":"sunflower","short_names":["sunflower"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-flower","sort_order":704,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLOSSOM","unified":"1F33C","non_qualified":null,"docomo":null,"au":"EB49","softbank":null,"google":"FE04D","image":"1f33c.png","sheet_x":5,"sheet_y":48,"short_name":"blossom","short_names":["blossom"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-flower","sort_order":705,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EAR OF MAIZE","unified":"1F33D","non_qualified":null,"docomo":null,"au":"EB36","softbank":null,"google":"FE04A","image":"1f33d.png","sheet_x":5,"sheet_y":49,"short_name":"corn","short_names":["corn"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-vegetable","sort_order":749,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EAR OF RICE","unified":"1F33E","non_qualified":null,"docomo":null,"au":null,"softbank":"E444","google":"FE049","image":"1f33e.png","sheet_x":5,"sheet_y":50,"short_name":"ear_of_rice","short_names":["ear_of_rice"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-other","sort_order":714,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HERB","unified":"1F33F","non_qualified":null,"docomo":"E741","au":"EB82","softbank":null,"google":"FE04E","image":"1f33f.png","sheet_x":5,"sheet_y":51,"short_name":"herb","short_names":["herb"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-other","sort_order":715,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FOUR LEAF CLOVER","unified":"1F340","non_qualified":null,"docomo":"E741","au":"E513","softbank":"E110","google":"FE03C","image":"1f340.png","sheet_x":5,"sheet_y":52,"short_name":"four_leaf_clover","short_names":["four_leaf_clover"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-other","sort_order":717,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MAPLE LEAF","unified":"1F341","non_qualified":null,"docomo":"E747","au":"E4CE","softbank":"E118","google":"FE03F","image":"1f341.png","sheet_x":5,"sheet_y":53,"short_name":"maple_leaf","short_names":["maple_leaf"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-other","sort_order":718,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FALLEN LEAF","unified":"1F342","non_qualified":null,"docomo":"E747","au":"E5CD","softbank":"E119","google":"FE042","image":"1f342.png","sheet_x":5,"sheet_y":54,"short_name":"fallen_leaf","short_names":["fallen_leaf"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-other","sort_order":719,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LEAF FLUTTERING IN WIND","unified":"1F343","non_qualified":null,"docomo":null,"au":"E5CD","softbank":"E447","google":"FE043","image":"1f343.png","sheet_x":5,"sheet_y":55,"short_name":"leaves","short_names":["leaves"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-other","sort_order":720,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BROWN MUSHROOM","unified":"1F344-200D-1F7EB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f344-200d-1f7eb.png","sheet_x":5,"sheet_y":56,"short_name":"brown_mushroom","short_names":["brown_mushroom"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-vegetable","sort_order":762,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"MUSHROOM","unified":"1F344","non_qualified":null,"docomo":null,"au":"EB37","softbank":null,"google":"FE04B","image":"1f344.png","sheet_x":5,"sheet_y":57,"short_name":"mushroom","short_names":["mushroom"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-other","sort_order":723,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TOMATO","unified":"1F345","non_qualified":null,"docomo":null,"au":"EABB","softbank":"E349","google":"FE055","image":"1f345.png","sheet_x":5,"sheet_y":58,"short_name":"tomato","short_names":["tomato"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-fruit","sort_order":742,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"AUBERGINE","unified":"1F346","non_qualified":null,"docomo":null,"au":"EABC","softbank":"E34A","google":"FE056","image":"1f346.png","sheet_x":5,"sheet_y":59,"short_name":"eggplant","short_names":["eggplant"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-vegetable","sort_order":746,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GRAPES","unified":"1F347","non_qualified":null,"docomo":null,"au":"EB34","softbank":null,"google":"FE059","image":"1f347.png","sheet_x":5,"sheet_y":60,"short_name":"grapes","short_names":["grapes"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-fruit","sort_order":725,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MELON","unified":"1F348","non_qualified":null,"docomo":null,"au":"EB32","softbank":null,"google":"FE057","image":"1f348.png","sheet_x":5,"sheet_y":61,"short_name":"melon","short_names":["melon"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-fruit","sort_order":726,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WATERMELON","unified":"1F349","non_qualified":null,"docomo":null,"au":"E4CD","softbank":"E348","google":"FE054","image":"1f349.png","sheet_x":5,"sheet_y":62,"short_name":"watermelon","short_names":["watermelon"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-fruit","sort_order":727,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TANGERINE","unified":"1F34A","non_qualified":null,"docomo":null,"au":"EABA","softbank":"E346","google":"FE052","image":"1f34a.png","sheet_x":6,"sheet_y":0,"short_name":"tangerine","short_names":["tangerine"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-fruit","sort_order":728,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LIME","unified":"1F34B-200D-1F7E9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f34b-200d-1f7e9.png","sheet_x":6,"sheet_y":1,"short_name":"lime","short_names":["lime"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-fruit","sort_order":730,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"LEMON","unified":"1F34B","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f34b.png","sheet_x":6,"sheet_y":2,"short_name":"lemon","short_names":["lemon"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-fruit","sort_order":729,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BANANA","unified":"1F34C","non_qualified":null,"docomo":"E744","au":"EB35","softbank":null,"google":"FE050","image":"1f34c.png","sheet_x":6,"sheet_y":3,"short_name":"banana","short_names":["banana"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-fruit","sort_order":731,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PINEAPPLE","unified":"1F34D","non_qualified":null,"docomo":null,"au":"EB33","softbank":null,"google":"FE058","image":"1f34d.png","sheet_x":6,"sheet_y":4,"short_name":"pineapple","short_names":["pineapple"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-fruit","sort_order":732,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RED APPLE","unified":"1F34E","non_qualified":null,"docomo":"E745","au":"EAB9","softbank":"E345","google":"FE051","image":"1f34e.png","sheet_x":6,"sheet_y":5,"short_name":"apple","short_names":["apple"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-fruit","sort_order":734,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GREEN APPLE","unified":"1F34F","non_qualified":null,"docomo":"E745","au":"EB5A","softbank":null,"google":"FE05B","image":"1f34f.png","sheet_x":6,"sheet_y":6,"short_name":"green_apple","short_names":["green_apple"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-fruit","sort_order":735,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PEAR","unified":"1F350","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f350.png","sheet_x":6,"sheet_y":7,"short_name":"pear","short_names":["pear"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-fruit","sort_order":736,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PEACH","unified":"1F351","non_qualified":null,"docomo":null,"au":"EB39","softbank":null,"google":"FE05A","image":"1f351.png","sheet_x":6,"sheet_y":8,"short_name":"peach","short_names":["peach"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-fruit","sort_order":737,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CHERRIES","unified":"1F352","non_qualified":null,"docomo":"E742","au":"E4D2","softbank":null,"google":"FE04F","image":"1f352.png","sheet_x":6,"sheet_y":9,"short_name":"cherries","short_names":["cherries"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-fruit","sort_order":738,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"STRAWBERRY","unified":"1F353","non_qualified":null,"docomo":null,"au":"E4D4","softbank":"E347","google":"FE053","image":"1f353.png","sheet_x":6,"sheet_y":10,"short_name":"strawberry","short_names":["strawberry"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-fruit","sort_order":739,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HAMBURGER","unified":"1F354","non_qualified":null,"docomo":"E673","au":"E4D6","softbank":"E120","google":"FE960","image":"1f354.png","sheet_x":6,"sheet_y":11,"short_name":"hamburger","short_names":["hamburger"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":777,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SLICE OF PIZZA","unified":"1F355","non_qualified":null,"docomo":null,"au":"EB3B","softbank":null,"google":"FE975","image":"1f355.png","sheet_x":6,"sheet_y":12,"short_name":"pizza","short_names":["pizza"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":779,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MEAT ON BONE","unified":"1F356","non_qualified":null,"docomo":null,"au":"E4C4","softbank":null,"google":"FE972","image":"1f356.png","sheet_x":6,"sheet_y":13,"short_name":"meat_on_bone","short_names":["meat_on_bone"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":773,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"POULTRY LEG","unified":"1F357","non_qualified":null,"docomo":null,"au":"EB3C","softbank":null,"google":"FE976","image":"1f357.png","sheet_x":6,"sheet_y":14,"short_name":"poultry_leg","short_names":["poultry_leg"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":774,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RICE CRACKER","unified":"1F358","non_qualified":null,"docomo":null,"au":"EAB3","softbank":"E33D","google":"FE969","image":"1f358.png","sheet_x":6,"sheet_y":15,"short_name":"rice_cracker","short_names":["rice_cracker"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-asian","sort_order":799,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RICE BALL","unified":"1F359","non_qualified":null,"docomo":"E749","au":"E4D5","softbank":"E342","google":"FE961","image":"1f359.png","sheet_x":6,"sheet_y":16,"short_name":"rice_ball","short_names":["rice_ball"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-asian","sort_order":800,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"COOKED RICE","unified":"1F35A","non_qualified":null,"docomo":"E74C","au":"EAB4","softbank":"E33E","google":"FE96A","image":"1f35a.png","sheet_x":6,"sheet_y":17,"short_name":"rice","short_names":["rice"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-asian","sort_order":801,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CURRY AND RICE","unified":"1F35B","non_qualified":null,"docomo":null,"au":"EAB6","softbank":"E341","google":"FE96C","image":"1f35b.png","sheet_x":6,"sheet_y":18,"short_name":"curry","short_names":["curry"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-asian","sort_order":802,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"STEAMING BOWL","unified":"1F35C","non_qualified":null,"docomo":"E74C","au":"E5B4","softbank":"E340","google":"FE963","image":"1f35c.png","sheet_x":6,"sheet_y":19,"short_name":"ramen","short_names":["ramen"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-asian","sort_order":803,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPAGHETTI","unified":"1F35D","non_qualified":null,"docomo":null,"au":"EAB5","softbank":"E33F","google":"FE96B","image":"1f35d.png","sheet_x":6,"sheet_y":20,"short_name":"spaghetti","short_names":["spaghetti"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-asian","sort_order":804,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BREAD","unified":"1F35E","non_qualified":null,"docomo":"E74D","au":"EAAF","softbank":"E339","google":"FE964","image":"1f35e.png","sheet_x":6,"sheet_y":21,"short_name":"bread","short_names":["bread"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":764,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FRENCH FRIES","unified":"1F35F","non_qualified":null,"docomo":null,"au":"EAB1","softbank":"E33B","google":"FE967","image":"1f35f.png","sheet_x":6,"sheet_y":22,"short_name":"fries","short_names":["fries"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":778,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ROASTED SWEET POTATO","unified":"1F360","non_qualified":null,"docomo":null,"au":"EB3A","softbank":null,"google":"FE974","image":"1f360.png","sheet_x":6,"sheet_y":23,"short_name":"sweet_potato","short_names":["sweet_potato"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-asian","sort_order":805,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DANGO","unified":"1F361","non_qualified":null,"docomo":null,"au":"EAB2","softbank":"E33C","google":"FE968","image":"1f361.png","sheet_x":6,"sheet_y":24,"short_name":"dango","short_names":["dango"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-asian","sort_order":811,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ODEN","unified":"1F362","non_qualified":null,"docomo":null,"au":"EAB7","softbank":"E343","google":"FE96D","image":"1f362.png","sheet_x":6,"sheet_y":25,"short_name":"oden","short_names":["oden"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-asian","sort_order":806,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SUSHI","unified":"1F363","non_qualified":null,"docomo":null,"au":"EAB8","softbank":"E344","google":"FE96E","image":"1f363.png","sheet_x":6,"sheet_y":26,"short_name":"sushi","short_names":["sushi"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-asian","sort_order":807,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FRIED SHRIMP","unified":"1F364","non_qualified":null,"docomo":null,"au":"EB70","softbank":null,"google":"FE97F","image":"1f364.png","sheet_x":6,"sheet_y":27,"short_name":"fried_shrimp","short_names":["fried_shrimp"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-asian","sort_order":808,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FISH CAKE WITH SWIRL DESIGN","unified":"1F365","non_qualified":null,"docomo":"E643","au":"E4ED","softbank":null,"google":"FE973","image":"1f365.png","sheet_x":6,"sheet_y":28,"short_name":"fish_cake","short_names":["fish_cake"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-asian","sort_order":809,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SOFT ICE CREAM","unified":"1F366","non_qualified":null,"docomo":null,"au":"EAB0","softbank":"E33A","google":"FE966","image":"1f366.png","sheet_x":6,"sheet_y":29,"short_name":"icecream","short_names":["icecream"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-sweet","sort_order":815,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SHAVED ICE","unified":"1F367","non_qualified":null,"docomo":null,"au":"EAEA","softbank":"E43F","google":"FE971","image":"1f367.png","sheet_x":6,"sheet_y":30,"short_name":"shaved_ice","short_names":["shaved_ice"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-sweet","sort_order":816,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ICE CREAM","unified":"1F368","non_qualified":null,"docomo":null,"au":"EB4A","softbank":null,"google":"FE977","image":"1f368.png","sheet_x":6,"sheet_y":31,"short_name":"ice_cream","short_names":["ice_cream"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-sweet","sort_order":817,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DOUGHNUT","unified":"1F369","non_qualified":null,"docomo":null,"au":"EB4B","softbank":null,"google":"FE978","image":"1f369.png","sheet_x":6,"sheet_y":32,"short_name":"doughnut","short_names":["doughnut"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-sweet","sort_order":818,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"COOKIE","unified":"1F36A","non_qualified":null,"docomo":null,"au":"EB4C","softbank":null,"google":"FE979","image":"1f36a.png","sheet_x":6,"sheet_y":33,"short_name":"cookie","short_names":["cookie"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-sweet","sort_order":819,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CHOCOLATE BAR","unified":"1F36B","non_qualified":null,"docomo":null,"au":"EB4D","softbank":null,"google":"FE97A","image":"1f36b.png","sheet_x":6,"sheet_y":34,"short_name":"chocolate_bar","short_names":["chocolate_bar"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-sweet","sort_order":824,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CANDY","unified":"1F36C","non_qualified":null,"docomo":null,"au":"EB4E","softbank":null,"google":"FE97B","image":"1f36c.png","sheet_x":6,"sheet_y":35,"short_name":"candy","short_names":["candy"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-sweet","sort_order":825,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LOLLIPOP","unified":"1F36D","non_qualified":null,"docomo":null,"au":"EB4F","softbank":null,"google":"FE97C","image":"1f36d.png","sheet_x":6,"sheet_y":36,"short_name":"lollipop","short_names":["lollipop"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-sweet","sort_order":826,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CUSTARD","unified":"1F36E","non_qualified":null,"docomo":null,"au":"EB56","softbank":null,"google":"FE97D","image":"1f36e.png","sheet_x":6,"sheet_y":37,"short_name":"custard","short_names":["custard"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-sweet","sort_order":827,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HONEY POT","unified":"1F36F","non_qualified":null,"docomo":null,"au":"EB59","softbank":null,"google":"FE97E","image":"1f36f.png","sheet_x":6,"sheet_y":38,"short_name":"honey_pot","short_names":["honey_pot"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-sweet","sort_order":828,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SHORTCAKE","unified":"1F370","non_qualified":null,"docomo":"E74A","au":"E4D0","softbank":"E046","google":"FE962","image":"1f370.png","sheet_x":6,"sheet_y":39,"short_name":"cake","short_names":["cake"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-sweet","sort_order":821,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BENTO BOX","unified":"1F371","non_qualified":null,"docomo":null,"au":"EABD","softbank":"E34C","google":"FE96F","image":"1f371.png","sheet_x":6,"sheet_y":40,"short_name":"bento","short_names":["bento"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-asian","sort_order":798,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"POT OF FOOD","unified":"1F372","non_qualified":null,"docomo":null,"au":"EABE","softbank":"E34D","google":"FE970","image":"1f372.png","sheet_x":6,"sheet_y":41,"short_name":"stew","short_names":["stew"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":790,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"COOKING","unified":"1F373","non_qualified":null,"docomo":null,"au":"E4D1","softbank":"E147","google":"FE965","image":"1f373.png","sheet_x":6,"sheet_y":42,"short_name":"fried_egg","short_names":["fried_egg","cooking"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":788,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FORK AND KNIFE","unified":"1F374","non_qualified":null,"docomo":"E66F","au":"E4AC","softbank":"E043","google":"FE980","image":"1f374.png","sheet_x":6,"sheet_y":43,"short_name":"fork_and_knife","short_names":["fork_and_knife"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"dishware","sort_order":851,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TEACUP WITHOUT HANDLE","unified":"1F375","non_qualified":null,"docomo":"E71E","au":"EAAE","softbank":"E338","google":"FE984","image":"1f375.png","sheet_x":6,"sheet_y":44,"short_name":"tea","short_names":["tea"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"drink","sort_order":833,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SAKE BOTTLE AND CUP","unified":"1F376","non_qualified":null,"docomo":"E74B","au":"EA97","softbank":"E30B","google":"FE985","image":"1f376.png","sheet_x":6,"sheet_y":45,"short_name":"sake","short_names":["sake"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"drink","sort_order":834,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WINE GLASS","unified":"1F377","non_qualified":null,"docomo":"E756","au":"E4C1","softbank":null,"google":"FE986","image":"1f377.png","sheet_x":6,"sheet_y":46,"short_name":"wine_glass","short_names":["wine_glass"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"drink","sort_order":836,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"COCKTAIL GLASS","unified":"1F378","non_qualified":null,"docomo":"E671","au":"E4C2","softbank":"E044","google":"FE982","image":"1f378.png","sheet_x":6,"sheet_y":47,"short_name":"cocktail","short_names":["cocktail"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"drink","sort_order":837,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TROPICAL DRINK","unified":"1F379","non_qualified":null,"docomo":"E671","au":"EB3E","softbank":null,"google":"FE988","image":"1f379.png","sheet_x":6,"sheet_y":48,"short_name":"tropical_drink","short_names":["tropical_drink"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"drink","sort_order":838,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BEER MUG","unified":"1F37A","non_qualified":null,"docomo":"E672","au":"E4C3","softbank":"E047","google":"FE983","image":"1f37a.png","sheet_x":6,"sheet_y":49,"short_name":"beer","short_names":["beer"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"drink","sort_order":839,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLINKING BEER MUGS","unified":"1F37B","non_qualified":null,"docomo":"E672","au":"EA98","softbank":"E30C","google":"FE987","image":"1f37b.png","sheet_x":6,"sheet_y":50,"short_name":"beers","short_names":["beers"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"drink","sort_order":840,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BABY BOTTLE","unified":"1F37C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f37c.png","sheet_x":6,"sheet_y":51,"short_name":"baby_bottle","short_names":["baby_bottle"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"drink","sort_order":829,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FORK AND KNIFE WITH PLATE","unified":"1F37D-FE0F","non_qualified":"1F37D","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f37d-fe0f.png","sheet_x":6,"sheet_y":52,"short_name":"knife_fork_plate","short_names":["knife_fork_plate"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"dishware","sort_order":850,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BOTTLE WITH POPPING CORK","unified":"1F37E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f37e.png","sheet_x":6,"sheet_y":53,"short_name":"champagne","short_names":["champagne"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"drink","sort_order":835,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"POPCORN","unified":"1F37F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f37f.png","sheet_x":6,"sheet_y":54,"short_name":"popcorn","short_names":["popcorn"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":794,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RIBBON","unified":"1F380","non_qualified":null,"docomo":"E684","au":"E59F","softbank":"E314","google":"FE50F","image":"1f380.png","sheet_x":6,"sheet_y":55,"short_name":"ribbon","short_names":["ribbon"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1091,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WRAPPED PRESENT","unified":"1F381","non_qualified":null,"docomo":"E685","au":"E4CF","softbank":"E112","google":"FE510","image":"1f381.png","sheet_x":6,"sheet_y":56,"short_name":"gift","short_names":["gift"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1092,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BIRTHDAY CAKE","unified":"1F382","non_qualified":null,"docomo":"E686","au":"E5A0","softbank":"E34B","google":"FE511","image":"1f382.png","sheet_x":6,"sheet_y":57,"short_name":"birthday","short_names":["birthday"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-sweet","sort_order":820,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"JACK-O-LANTERN","unified":"1F383","non_qualified":null,"docomo":null,"au":"EAEE","softbank":"E445","google":"FE51F","image":"1f383.png","sheet_x":6,"sheet_y":58,"short_name":"jack_o_lantern","short_names":["jack_o_lantern"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1075,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CHRISTMAS TREE","unified":"1F384","non_qualified":null,"docomo":"E6A4","au":"E4C9","softbank":"E033","google":"FE512","image":"1f384.png","sheet_x":6,"sheet_y":59,"short_name":"christmas_tree","short_names":["christmas_tree"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1076,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FATHER CHRISTMAS","unified":"1F385","non_qualified":null,"docomo":null,"au":"EAF0","softbank":"E448","google":"FE513","image":"1f385.png","sheet_x":6,"sheet_y":60,"short_name":"santa","short_names":["santa"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":374,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F385-1F3FB","non_qualified":null,"image":"1f385-1f3fb.png","sheet_x":6,"sheet_y":61,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F385-1F3FC","non_qualified":null,"image":"1f385-1f3fc.png","sheet_x":6,"sheet_y":62,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F385-1F3FD","non_qualified":null,"image":"1f385-1f3fd.png","sheet_x":7,"sheet_y":0,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F385-1F3FE","non_qualified":null,"image":"1f385-1f3fe.png","sheet_x":7,"sheet_y":1,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F385-1F3FF","non_qualified":null,"image":"1f385-1f3ff.png","sheet_x":7,"sheet_y":2,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"FIREWORKS","unified":"1F386","non_qualified":null,"docomo":null,"au":"E5CC","softbank":"E117","google":"FE515","image":"1f386.png","sheet_x":7,"sheet_y":3,"short_name":"fireworks","short_names":["fireworks"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1077,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FIREWORK SPARKLER","unified":"1F387","non_qualified":null,"docomo":null,"au":"EAEB","softbank":"E440","google":"FE51D","image":"1f387.png","sheet_x":7,"sheet_y":4,"short_name":"sparkler","short_names":["sparkler"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1078,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BALLOON","unified":"1F388","non_qualified":null,"docomo":null,"au":"EA9B","softbank":"E310","google":"FE516","image":"1f388.png","sheet_x":7,"sheet_y":5,"short_name":"balloon","short_names":["balloon"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1081,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PARTY POPPER","unified":"1F389","non_qualified":null,"docomo":null,"au":"EA9C","softbank":"E312","google":"FE517","image":"1f389.png","sheet_x":7,"sheet_y":6,"short_name":"tada","short_names":["tada"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1082,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CONFETTI BALL","unified":"1F38A","non_qualified":null,"docomo":null,"au":"E46F","softbank":null,"google":"FE520","image":"1f38a.png","sheet_x":7,"sheet_y":7,"short_name":"confetti_ball","short_names":["confetti_ball"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1083,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TANABATA TREE","unified":"1F38B","non_qualified":null,"docomo":null,"au":"EB3D","softbank":null,"google":"FE521","image":"1f38b.png","sheet_x":7,"sheet_y":8,"short_name":"tanabata_tree","short_names":["tanabata_tree"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1084,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CROSSED FLAGS","unified":"1F38C","non_qualified":null,"docomo":null,"au":"E5D9","softbank":"E143","google":"FE514","image":"1f38c.png","sheet_x":7,"sheet_y":9,"short_name":"crossed_flags","short_names":["crossed_flags"],"text":null,"texts":null,"category":"Flags","subcategory":"flag","sort_order":1652,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PINE DECORATION","unified":"1F38D","non_qualified":null,"docomo":null,"au":"EAE3","softbank":"E436","google":"FE518","image":"1f38d.png","sheet_x":7,"sheet_y":10,"short_name":"bamboo","short_names":["bamboo"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1085,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"JAPANESE DOLLS","unified":"1F38E","non_qualified":null,"docomo":null,"au":"EAE4","softbank":"E438","google":"FE519","image":"1f38e.png","sheet_x":7,"sheet_y":11,"short_name":"dolls","short_names":["dolls"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1086,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CARP STREAMER","unified":"1F38F","non_qualified":null,"docomo":null,"au":"EAE7","softbank":"E43B","google":"FE51C","image":"1f38f.png","sheet_x":7,"sheet_y":12,"short_name":"flags","short_names":["flags"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1087,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WIND CHIME","unified":"1F390","non_qualified":null,"docomo":null,"au":"EAED","softbank":"E442","google":"FE51E","image":"1f390.png","sheet_x":7,"sheet_y":13,"short_name":"wind_chime","short_names":["wind_chime"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1088,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MOON VIEWING CEREMONY","unified":"1F391","non_qualified":null,"docomo":null,"au":"EAEF","softbank":"E446","google":"FE017","image":"1f391.png","sheet_x":7,"sheet_y":14,"short_name":"rice_scene","short_names":["rice_scene"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1089,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SCHOOL SATCHEL","unified":"1F392","non_qualified":null,"docomo":null,"au":"EAE6","softbank":"E43A","google":"FE51B","image":"1f392.png","sheet_x":7,"sheet_y":15,"short_name":"school_satchel","short_names":["school_satchel"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1185,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GRADUATION CAP","unified":"1F393","non_qualified":null,"docomo":null,"au":"EAE5","softbank":"E439","google":"FE51A","image":"1f393.png","sheet_x":7,"sheet_y":16,"short_name":"mortar_board","short_names":["mortar_board"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1199,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MILITARY MEDAL","unified":"1F396-FE0F","non_qualified":"1F396","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f396-fe0f.png","sheet_x":7,"sheet_y":17,"short_name":"medal","short_names":["medal"],"text":null,"texts":null,"category":"Activities","subcategory":"award-medal","sort_order":1096,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"REMINDER RIBBON","unified":"1F397-FE0F","non_qualified":"1F397","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f397-fe0f.png","sheet_x":7,"sheet_y":18,"short_name":"reminder_ribbon","short_names":["reminder_ribbon"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1093,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"STUDIO MICROPHONE","unified":"1F399-FE0F","non_qualified":"1F399","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f399-fe0f.png","sheet_x":7,"sheet_y":19,"short_name":"studio_microphone","short_names":["studio_microphone"],"text":null,"texts":null,"category":"Objects","subcategory":"music","sort_order":1219,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LEVEL SLIDER","unified":"1F39A-FE0F","non_qualified":"1F39A","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f39a-fe0f.png","sheet_x":7,"sheet_y":20,"short_name":"level_slider","short_names":["level_slider"],"text":null,"texts":null,"category":"Objects","subcategory":"music","sort_order":1220,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CONTROL KNOBS","unified":"1F39B-FE0F","non_qualified":"1F39B","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f39b-fe0f.png","sheet_x":7,"sheet_y":21,"short_name":"control_knobs","short_names":["control_knobs"],"text":null,"texts":null,"category":"Objects","subcategory":"music","sort_order":1221,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FILM FRAMES","unified":"1F39E-FE0F","non_qualified":"1F39E","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f39e-fe0f.png","sheet_x":7,"sheet_y":22,"short_name":"film_frames","short_names":["film_frames"],"text":null,"texts":null,"category":"Objects","subcategory":"light & video","sort_order":1259,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ADMISSION TICKETS","unified":"1F39F-FE0F","non_qualified":"1F39F","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f39f-fe0f.png","sheet_x":7,"sheet_y":23,"short_name":"admission_tickets","short_names":["admission_tickets"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1094,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CAROUSEL HORSE","unified":"1F3A0","non_qualified":null,"docomo":"E679","au":null,"softbank":null,"google":"FE7FC","image":"1f3a0.png","sheet_x":7,"sheet_y":24,"short_name":"carousel_horse","short_names":["carousel_horse"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-other","sort_order":917,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FERRIS WHEEL","unified":"1F3A1","non_qualified":null,"docomo":null,"au":"E46D","softbank":"E124","google":"FE7FD","image":"1f3a1.png","sheet_x":7,"sheet_y":25,"short_name":"ferris_wheel","short_names":["ferris_wheel"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-other","sort_order":919,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ROLLER COASTER","unified":"1F3A2","non_qualified":null,"docomo":null,"au":"EAE2","softbank":"E433","google":"FE7FE","image":"1f3a2.png","sheet_x":7,"sheet_y":26,"short_name":"roller_coaster","short_names":["roller_coaster"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-other","sort_order":920,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FISHING POLE AND FISH","unified":"1F3A3","non_qualified":null,"docomo":"E751","au":"EB42","softbank":null,"google":"FE7FF","image":"1f3a3.png","sheet_x":7,"sheet_y":27,"short_name":"fishing_pole_and_fish","short_names":["fishing_pole_and_fish"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1123,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MICROPHONE","unified":"1F3A4","non_qualified":null,"docomo":"E676","au":"E503","softbank":"E03C","google":"FE800","image":"1f3a4.png","sheet_x":7,"sheet_y":28,"short_name":"microphone","short_names":["microphone"],"text":null,"texts":null,"category":"Objects","subcategory":"music","sort_order":1222,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MOVIE CAMERA","unified":"1F3A5","non_qualified":null,"docomo":"E677","au":"E517","softbank":"E03D","google":"FE801","image":"1f3a5.png","sheet_x":7,"sheet_y":29,"short_name":"movie_camera","short_names":["movie_camera"],"text":null,"texts":null,"category":"Objects","subcategory":"light & video","sort_order":1258,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CINEMA","unified":"1F3A6","non_qualified":null,"docomo":"E677","au":"E517","softbank":"E507","google":"FE802","image":"1f3a6.png","sheet_x":7,"sheet_y":30,"short_name":"cinema","short_names":["cinema"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1517,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HEADPHONE","unified":"1F3A7","non_qualified":null,"docomo":"E67A","au":"E508","softbank":"E30A","google":"FE803","image":"1f3a7.png","sheet_x":7,"sheet_y":31,"short_name":"headphones","short_names":["headphones"],"text":null,"texts":null,"category":"Objects","subcategory":"music","sort_order":1223,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ARTIST PALETTE","unified":"1F3A8","non_qualified":null,"docomo":"E67B","au":"E59C","softbank":"E502","google":"FE804","image":"1f3a8.png","sheet_x":7,"sheet_y":32,"short_name":"art","short_names":["art"],"text":null,"texts":null,"category":"Activities","subcategory":"arts & crafts","sort_order":1155,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TOP HAT","unified":"1F3A9","non_qualified":null,"docomo":"E67C","au":"EAF5","softbank":"E503","google":"FE805","image":"1f3a9.png","sheet_x":7,"sheet_y":33,"short_name":"tophat","short_names":["tophat"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1198,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CIRCUS TENT","unified":"1F3AA","non_qualified":null,"docomo":"E67D","au":"E59E","softbank":null,"google":"FE806","image":"1f3aa.png","sheet_x":7,"sheet_y":34,"short_name":"circus_tent","short_names":["circus_tent"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-other","sort_order":922,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TICKET","unified":"1F3AB","non_qualified":null,"docomo":"E67E","au":"E49E","softbank":"E125","google":"FE807","image":"1f3ab.png","sheet_x":7,"sheet_y":35,"short_name":"ticket","short_names":["ticket"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1095,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLAPPER BOARD","unified":"1F3AC","non_qualified":null,"docomo":"E6AC","au":"E4BE","softbank":"E324","google":"FE808","image":"1f3ac.png","sheet_x":7,"sheet_y":36,"short_name":"clapper","short_names":["clapper"],"text":null,"texts":null,"category":"Objects","subcategory":"light & video","sort_order":1261,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PERFORMING ARTS","unified":"1F3AD","non_qualified":null,"docomo":null,"au":"E59D","softbank":null,"google":"FE809","image":"1f3ad.png","sheet_x":7,"sheet_y":37,"short_name":"performing_arts","short_names":["performing_arts"],"text":null,"texts":null,"category":"Activities","subcategory":"arts & crafts","sort_order":1153,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"VIDEO GAME","unified":"1F3AE","non_qualified":null,"docomo":"E68B","au":"E4C6","softbank":null,"google":"FE80A","image":"1f3ae.png","sheet_x":7,"sheet_y":38,"short_name":"video_game","short_names":["video_game"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1136,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DIRECT HIT","unified":"1F3AF","non_qualified":null,"docomo":null,"au":"E4C5","softbank":"E130","google":"FE80C","image":"1f3af.png","sheet_x":7,"sheet_y":39,"short_name":"dart","short_names":["dart"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1129,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SLOT MACHINE","unified":"1F3B0","non_qualified":null,"docomo":null,"au":"E46E","softbank":"E133","google":"FE80D","image":"1f3b0.png","sheet_x":7,"sheet_y":40,"short_name":"slot_machine","short_names":["slot_machine"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1138,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BILLIARDS","unified":"1F3B1","non_qualified":null,"docomo":null,"au":"EADD","softbank":"E42C","google":"FE80E","image":"1f3b1.png","sheet_x":7,"sheet_y":41,"short_name":"8ball","short_names":["8ball"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1133,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GAME DIE","unified":"1F3B2","non_qualified":null,"docomo":null,"au":"E4C8","softbank":null,"google":"FE80F","image":"1f3b2.png","sheet_x":7,"sheet_y":42,"short_name":"game_die","short_names":["game_die"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1139,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BOWLING","unified":"1F3B3","non_qualified":null,"docomo":null,"au":"EB43","softbank":null,"google":"FE810","image":"1f3b3.png","sheet_x":7,"sheet_y":43,"short_name":"bowling","short_names":["bowling"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1111,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FLOWER PLAYING CARDS","unified":"1F3B4","non_qualified":null,"docomo":null,"au":"EB6E","softbank":null,"google":"FE811","image":"1f3b4.png","sheet_x":7,"sheet_y":44,"short_name":"flower_playing_cards","short_names":["flower_playing_cards"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1152,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MUSICAL NOTE","unified":"1F3B5","non_qualified":null,"docomo":"E6F6","au":"E5BE","softbank":"E03E","google":"FE813","image":"1f3b5.png","sheet_x":7,"sheet_y":45,"short_name":"musical_note","short_names":["musical_note"],"text":null,"texts":null,"category":"Objects","subcategory":"music","sort_order":1217,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MULTIPLE MUSICAL NOTES","unified":"1F3B6","non_qualified":null,"docomo":"E6FF","au":"E505","softbank":"E326","google":"FE814","image":"1f3b6.png","sheet_x":7,"sheet_y":46,"short_name":"notes","short_names":["notes"],"text":null,"texts":null,"category":"Objects","subcategory":"music","sort_order":1218,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SAXOPHONE","unified":"1F3B7","non_qualified":null,"docomo":null,"au":null,"softbank":"E040","google":"FE815","image":"1f3b7.png","sheet_x":7,"sheet_y":47,"short_name":"saxophone","short_names":["saxophone"],"text":null,"texts":null,"category":"Objects","subcategory":"musical-instrument","sort_order":1225,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GUITAR","unified":"1F3B8","non_qualified":null,"docomo":null,"au":"E506","softbank":"E041","google":"FE816","image":"1f3b8.png","sheet_x":7,"sheet_y":48,"short_name":"guitar","short_names":["guitar"],"text":null,"texts":null,"category":"Objects","subcategory":"musical-instrument","sort_order":1229,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MUSICAL KEYBOARD","unified":"1F3B9","non_qualified":null,"docomo":null,"au":"EB40","softbank":null,"google":"FE817","image":"1f3b9.png","sheet_x":7,"sheet_y":49,"short_name":"musical_keyboard","short_names":["musical_keyboard"],"text":null,"texts":null,"category":"Objects","subcategory":"musical-instrument","sort_order":1230,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TRUMPET","unified":"1F3BA","non_qualified":null,"docomo":null,"au":"EADC","softbank":"E042","google":"FE818","image":"1f3ba.png","sheet_x":7,"sheet_y":50,"short_name":"trumpet","short_names":["trumpet"],"text":null,"texts":null,"category":"Objects","subcategory":"musical-instrument","sort_order":1226,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"VIOLIN","unified":"1F3BB","non_qualified":null,"docomo":null,"au":"E507","softbank":null,"google":"FE819","image":"1f3bb.png","sheet_x":7,"sheet_y":51,"short_name":"violin","short_names":["violin"],"text":null,"texts":null,"category":"Objects","subcategory":"musical-instrument","sort_order":1231,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MUSICAL SCORE","unified":"1F3BC","non_qualified":null,"docomo":"E6FF","au":"EACC","softbank":null,"google":"FE81A","image":"1f3bc.png","sheet_x":7,"sheet_y":52,"short_name":"musical_score","short_names":["musical_score"],"text":null,"texts":null,"category":"Objects","subcategory":"music","sort_order":1216,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RUNNING SHIRT WITH SASH","unified":"1F3BD","non_qualified":null,"docomo":"E652","au":null,"softbank":null,"google":"FE7D0","image":"1f3bd.png","sheet_x":7,"sheet_y":53,"short_name":"running_shirt_with_sash","short_names":["running_shirt_with_sash"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1125,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TENNIS RACQUET AND BALL","unified":"1F3BE","non_qualified":null,"docomo":"E655","au":"E4B7","softbank":"E015","google":"FE7D3","image":"1f3be.png","sheet_x":7,"sheet_y":54,"short_name":"tennis","short_names":["tennis"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1109,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SKI AND SKI BOOT","unified":"1F3BF","non_qualified":null,"docomo":"E657","au":"EAAC","softbank":"E013","google":"FE7D5","image":"1f3bf.png","sheet_x":7,"sheet_y":55,"short_name":"ski","short_names":["ski"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1126,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BASKETBALL AND HOOP","unified":"1F3C0","non_qualified":null,"docomo":"E658","au":"E59A","softbank":"E42A","google":"FE7D6","image":"1f3c0.png","sheet_x":7,"sheet_y":56,"short_name":"basketball","short_names":["basketball"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1105,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CHEQUERED FLAG","unified":"1F3C1","non_qualified":null,"docomo":"E659","au":"E4B9","softbank":"E132","google":"FE7D7","image":"1f3c1.png","sheet_x":7,"sheet_y":57,"short_name":"checkered_flag","short_names":["checkered_flag"],"text":null,"texts":null,"category":"Flags","subcategory":"flag","sort_order":1650,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SNOWBOARDER","unified":"1F3C2","non_qualified":null,"docomo":"E712","au":"E4B8","softbank":null,"google":"FE7D8","image":"1f3c2.png","sheet_x":7,"sheet_y":58,"short_name":"snowboarder","short_names":["snowboarder"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":467,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F3C2-1F3FB","non_qualified":null,"image":"1f3c2-1f3fb.png","sheet_x":7,"sheet_y":59,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F3C2-1F3FC","non_qualified":null,"image":"1f3c2-1f3fc.png","sheet_x":7,"sheet_y":60,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F3C2-1F3FD","non_qualified":null,"image":"1f3c2-1f3fd.png","sheet_x":7,"sheet_y":61,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F3C2-1F3FE","non_qualified":null,"image":"1f3c2-1f3fe.png","sheet_x":7,"sheet_y":62,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F3C2-1F3FF","non_qualified":null,"image":"1f3c2-1f3ff.png","sheet_x":8,"sheet_y":0,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN RUNNING","unified":"1F3C3-200D-2640-FE0F","non_qualified":"1F3C3-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3c3-200d-2640-fe0f.png","sheet_x":8,"sheet_y":1,"short_name":"woman-running","short_names":["woman-running"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":447,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F3C3-1F3FB-200D-2640-FE0F","non_qualified":"1F3C3-1F3FB-200D-2640","image":"1f3c3-1f3fb-200d-2640-fe0f.png","sheet_x":8,"sheet_y":2,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F3C3-1F3FC-200D-2640-FE0F","non_qualified":"1F3C3-1F3FC-200D-2640","image":"1f3c3-1f3fc-200d-2640-fe0f.png","sheet_x":8,"sheet_y":3,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F3C3-1F3FD-200D-2640-FE0F","non_qualified":"1F3C3-1F3FD-200D-2640","image":"1f3c3-1f3fd-200d-2640-fe0f.png","sheet_x":8,"sheet_y":4,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F3C3-1F3FE-200D-2640-FE0F","non_qualified":"1F3C3-1F3FE-200D-2640","image":"1f3c3-1f3fe-200d-2640-fe0f.png","sheet_x":8,"sheet_y":5,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F3C3-1F3FF-200D-2640-FE0F","non_qualified":"1F3C3-1F3FF-200D-2640","image":"1f3c3-1f3ff-200d-2640-fe0f.png","sheet_x":8,"sheet_y":6,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN RUNNING FACING RIGHT","unified":"1F3C3-200D-2640-FE0F-200D-27A1-FE0F","non_qualified":"1F3C3-200D-2640-200D-27A1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3c3-200d-2640-fe0f-200d-27a1-fe0f.png","sheet_x":8,"sheet_y":7,"short_name":"woman_running_facing_right","short_names":["woman_running_facing_right"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":449,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false,"skin_variations":{"1F3FB":{"unified":"1F3C3-1F3FB-200D-2640-FE0F-200D-27A1-FE0F","non_qualified":"1F3C3-1F3FB-200D-2640-200D-27A1","image":"1f3c3-1f3fb-200d-2640-fe0f-200d-27a1-fe0f.png","sheet_x":8,"sheet_y":8,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FC":{"unified":"1F3C3-1F3FC-200D-2640-FE0F-200D-27A1-FE0F","non_qualified":"1F3C3-1F3FC-200D-2640-200D-27A1","image":"1f3c3-1f3fc-200d-2640-fe0f-200d-27a1-fe0f.png","sheet_x":8,"sheet_y":9,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FD":{"unified":"1F3C3-1F3FD-200D-2640-FE0F-200D-27A1-FE0F","non_qualified":"1F3C3-1F3FD-200D-2640-200D-27A1","image":"1f3c3-1f3fd-200d-2640-fe0f-200d-27a1-fe0f.png","sheet_x":8,"sheet_y":10,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FE":{"unified":"1F3C3-1F3FE-200D-2640-FE0F-200D-27A1-FE0F","non_qualified":"1F3C3-1F3FE-200D-2640-200D-27A1","image":"1f3c3-1f3fe-200d-2640-fe0f-200d-27a1-fe0f.png","sheet_x":8,"sheet_y":11,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FF":{"unified":"1F3C3-1F3FF-200D-2640-FE0F-200D-27A1-FE0F","non_qualified":"1F3C3-1F3FF-200D-2640-200D-27A1","image":"1f3c3-1f3ff-200d-2640-fe0f-200d-27a1-fe0f.png","sheet_x":8,"sheet_y":12,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false}}},{"name":"MAN RUNNING","unified":"1F3C3-200D-2642-FE0F","non_qualified":"1F3C3-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3c3-200d-2642-fe0f.png","sheet_x":8,"sheet_y":13,"short_name":"man-running","short_names":["man-running"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":446,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F3C3-1F3FB-200D-2642-FE0F","non_qualified":"1F3C3-1F3FB-200D-2642","image":"1f3c3-1f3fb-200d-2642-fe0f.png","sheet_x":8,"sheet_y":14,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F3C3-1F3FC-200D-2642-FE0F","non_qualified":"1F3C3-1F3FC-200D-2642","image":"1f3c3-1f3fc-200d-2642-fe0f.png","sheet_x":8,"sheet_y":15,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F3C3-1F3FD-200D-2642-FE0F","non_qualified":"1F3C3-1F3FD-200D-2642","image":"1f3c3-1f3fd-200d-2642-fe0f.png","sheet_x":8,"sheet_y":16,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F3C3-1F3FE-200D-2642-FE0F","non_qualified":"1F3C3-1F3FE-200D-2642","image":"1f3c3-1f3fe-200d-2642-fe0f.png","sheet_x":8,"sheet_y":17,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F3C3-1F3FF-200D-2642-FE0F","non_qualified":"1F3C3-1F3FF-200D-2642","image":"1f3c3-1f3ff-200d-2642-fe0f.png","sheet_x":8,"sheet_y":18,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F3C3"},{"name":"MAN RUNNING FACING RIGHT","unified":"1F3C3-200D-2642-FE0F-200D-27A1-FE0F","non_qualified":"1F3C3-200D-2642-200D-27A1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3c3-200d-2642-fe0f-200d-27a1-fe0f.png","sheet_x":8,"sheet_y":19,"short_name":"man_running_facing_right","short_names":["man_running_facing_right"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":450,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false,"skin_variations":{"1F3FB":{"unified":"1F3C3-1F3FB-200D-2642-FE0F-200D-27A1-FE0F","non_qualified":"1F3C3-1F3FB-200D-2642-200D-27A1","image":"1f3c3-1f3fb-200d-2642-fe0f-200d-27a1-fe0f.png","sheet_x":8,"sheet_y":20,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FC":{"unified":"1F3C3-1F3FC-200D-2642-FE0F-200D-27A1-FE0F","non_qualified":"1F3C3-1F3FC-200D-2642-200D-27A1","image":"1f3c3-1f3fc-200d-2642-fe0f-200d-27a1-fe0f.png","sheet_x":8,"sheet_y":21,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FD":{"unified":"1F3C3-1F3FD-200D-2642-FE0F-200D-27A1-FE0F","non_qualified":"1F3C3-1F3FD-200D-2642-200D-27A1","image":"1f3c3-1f3fd-200d-2642-fe0f-200d-27a1-fe0f.png","sheet_x":8,"sheet_y":22,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FE":{"unified":"1F3C3-1F3FE-200D-2642-FE0F-200D-27A1-FE0F","non_qualified":"1F3C3-1F3FE-200D-2642-200D-27A1","image":"1f3c3-1f3fe-200d-2642-fe0f-200d-27a1-fe0f.png","sheet_x":8,"sheet_y":23,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FF":{"unified":"1F3C3-1F3FF-200D-2642-FE0F-200D-27A1-FE0F","non_qualified":"1F3C3-1F3FF-200D-2642-200D-27A1","image":"1f3c3-1f3ff-200d-2642-fe0f-200d-27a1-fe0f.png","sheet_x":8,"sheet_y":24,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false}}},{"name":"PERSON RUNNING FACING RIGHT","unified":"1F3C3-200D-27A1-FE0F","non_qualified":"1F3C3-200D-27A1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3c3-200d-27a1-fe0f.png","sheet_x":8,"sheet_y":25,"short_name":"person_running_facing_right","short_names":["person_running_facing_right"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":448,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false,"skin_variations":{"1F3FB":{"unified":"1F3C3-1F3FB-200D-27A1-FE0F","non_qualified":"1F3C3-1F3FB-200D-27A1","image":"1f3c3-1f3fb-200d-27a1-fe0f.png","sheet_x":8,"sheet_y":26,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FC":{"unified":"1F3C3-1F3FC-200D-27A1-FE0F","non_qualified":"1F3C3-1F3FC-200D-27A1","image":"1f3c3-1f3fc-200d-27a1-fe0f.png","sheet_x":8,"sheet_y":27,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FD":{"unified":"1F3C3-1F3FD-200D-27A1-FE0F","non_qualified":"1F3C3-1F3FD-200D-27A1","image":"1f3c3-1f3fd-200d-27a1-fe0f.png","sheet_x":8,"sheet_y":28,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FE":{"unified":"1F3C3-1F3FE-200D-27A1-FE0F","non_qualified":"1F3C3-1F3FE-200D-27A1","image":"1f3c3-1f3fe-200d-27a1-fe0f.png","sheet_x":8,"sheet_y":29,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FF":{"unified":"1F3C3-1F3FF-200D-27A1-FE0F","non_qualified":"1F3C3-1F3FF-200D-27A1","image":"1f3c3-1f3ff-200d-27a1-fe0f.png","sheet_x":8,"sheet_y":30,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false}}},{"name":"RUNNER","unified":"1F3C3","non_qualified":null,"docomo":"E733","au":"E46B","softbank":"E115","google":"FE7D9","image":"1f3c3.png","sheet_x":8,"sheet_y":31,"short_name":"runner","short_names":["runner","running"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":445,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F3C3-1F3FB","non_qualified":null,"image":"1f3c3-1f3fb.png","sheet_x":8,"sheet_y":32,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F3C3-1F3FC","non_qualified":null,"image":"1f3c3-1f3fc.png","sheet_x":8,"sheet_y":33,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F3C3-1F3FD","non_qualified":null,"image":"1f3c3-1f3fd.png","sheet_x":8,"sheet_y":34,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F3C3-1F3FE","non_qualified":null,"image":"1f3c3-1f3fe.png","sheet_x":8,"sheet_y":35,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F3C3-1F3FF","non_qualified":null,"image":"1f3c3-1f3ff.png","sheet_x":8,"sheet_y":36,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F3C3-200D-2642-FE0F"},{"name":"WOMAN SURFING","unified":"1F3C4-200D-2640-FE0F","non_qualified":"1F3C4-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3c4-200d-2640-fe0f.png","sheet_x":8,"sheet_y":37,"short_name":"woman-surfing","short_names":["woman-surfing"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":473,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F3C4-1F3FB-200D-2640-FE0F","non_qualified":"1F3C4-1F3FB-200D-2640","image":"1f3c4-1f3fb-200d-2640-fe0f.png","sheet_x":8,"sheet_y":38,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F3C4-1F3FC-200D-2640-FE0F","non_qualified":"1F3C4-1F3FC-200D-2640","image":"1f3c4-1f3fc-200d-2640-fe0f.png","sheet_x":8,"sheet_y":39,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F3C4-1F3FD-200D-2640-FE0F","non_qualified":"1F3C4-1F3FD-200D-2640","image":"1f3c4-1f3fd-200d-2640-fe0f.png","sheet_x":8,"sheet_y":40,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F3C4-1F3FE-200D-2640-FE0F","non_qualified":"1F3C4-1F3FE-200D-2640","image":"1f3c4-1f3fe-200d-2640-fe0f.png","sheet_x":8,"sheet_y":41,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F3C4-1F3FF-200D-2640-FE0F","non_qualified":"1F3C4-1F3FF-200D-2640","image":"1f3c4-1f3ff-200d-2640-fe0f.png","sheet_x":8,"sheet_y":42,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN SURFING","unified":"1F3C4-200D-2642-FE0F","non_qualified":"1F3C4-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3c4-200d-2642-fe0f.png","sheet_x":8,"sheet_y":43,"short_name":"man-surfing","short_names":["man-surfing"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":472,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F3C4-1F3FB-200D-2642-FE0F","non_qualified":"1F3C4-1F3FB-200D-2642","image":"1f3c4-1f3fb-200d-2642-fe0f.png","sheet_x":8,"sheet_y":44,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F3C4-1F3FC-200D-2642-FE0F","non_qualified":"1F3C4-1F3FC-200D-2642","image":"1f3c4-1f3fc-200d-2642-fe0f.png","sheet_x":8,"sheet_y":45,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F3C4-1F3FD-200D-2642-FE0F","non_qualified":"1F3C4-1F3FD-200D-2642","image":"1f3c4-1f3fd-200d-2642-fe0f.png","sheet_x":8,"sheet_y":46,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F3C4-1F3FE-200D-2642-FE0F","non_qualified":"1F3C4-1F3FE-200D-2642","image":"1f3c4-1f3fe-200d-2642-fe0f.png","sheet_x":8,"sheet_y":47,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F3C4-1F3FF-200D-2642-FE0F","non_qualified":"1F3C4-1F3FF-200D-2642","image":"1f3c4-1f3ff-200d-2642-fe0f.png","sheet_x":8,"sheet_y":48,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F3C4"},{"name":"SURFER","unified":"1F3C4","non_qualified":null,"docomo":"E712","au":"EB41","softbank":"E017","google":"FE7DA","image":"1f3c4.png","sheet_x":8,"sheet_y":49,"short_name":"surfer","short_names":["surfer"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":471,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F3C4-1F3FB","non_qualified":null,"image":"1f3c4-1f3fb.png","sheet_x":8,"sheet_y":50,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F3C4-1F3FC","non_qualified":null,"image":"1f3c4-1f3fc.png","sheet_x":8,"sheet_y":51,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F3C4-1F3FD","non_qualified":null,"image":"1f3c4-1f3fd.png","sheet_x":8,"sheet_y":52,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F3C4-1F3FE","non_qualified":null,"image":"1f3c4-1f3fe.png","sheet_x":8,"sheet_y":53,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F3C4-1F3FF","non_qualified":null,"image":"1f3c4-1f3ff.png","sheet_x":8,"sheet_y":54,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F3C4-200D-2642-FE0F"},{"name":"SPORTS MEDAL","unified":"1F3C5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3c5.png","sheet_x":8,"sheet_y":55,"short_name":"sports_medal","short_names":["sports_medal"],"text":null,"texts":null,"category":"Activities","subcategory":"award-medal","sort_order":1098,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TROPHY","unified":"1F3C6","non_qualified":null,"docomo":null,"au":"E5D3","softbank":"E131","google":"FE7DB","image":"1f3c6.png","sheet_x":8,"sheet_y":56,"short_name":"trophy","short_names":["trophy"],"text":null,"texts":null,"category":"Activities","subcategory":"award-medal","sort_order":1097,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HORSE RACING","unified":"1F3C7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3c7.png","sheet_x":8,"sheet_y":57,"short_name":"horse_racing","short_names":["horse_racing"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":465,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F3C7-1F3FB","non_qualified":null,"image":"1f3c7-1f3fb.png","sheet_x":8,"sheet_y":58,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F3C7-1F3FC","non_qualified":null,"image":"1f3c7-1f3fc.png","sheet_x":8,"sheet_y":59,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F3C7-1F3FD","non_qualified":null,"image":"1f3c7-1f3fd.png","sheet_x":8,"sheet_y":60,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F3C7-1F3FE","non_qualified":null,"image":"1f3c7-1f3fe.png","sheet_x":8,"sheet_y":61,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F3C7-1F3FF","non_qualified":null,"image":"1f3c7-1f3ff.png","sheet_x":8,"sheet_y":62,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"AMERICAN FOOTBALL","unified":"1F3C8","non_qualified":null,"docomo":null,"au":"E4BB","softbank":"E42B","google":"FE7DD","image":"1f3c8.png","sheet_x":9,"sheet_y":0,"short_name":"football","short_names":["football"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1107,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RUGBY FOOTBALL","unified":"1F3C9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3c9.png","sheet_x":9,"sheet_y":1,"short_name":"rugby_football","short_names":["rugby_football"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1108,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WOMAN SWIMMING","unified":"1F3CA-200D-2640-FE0F","non_qualified":"1F3CA-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3ca-200d-2640-fe0f.png","sheet_x":9,"sheet_y":2,"short_name":"woman-swimming","short_names":["woman-swimming"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":479,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F3CA-1F3FB-200D-2640-FE0F","non_qualified":"1F3CA-1F3FB-200D-2640","image":"1f3ca-1f3fb-200d-2640-fe0f.png","sheet_x":9,"sheet_y":3,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F3CA-1F3FC-200D-2640-FE0F","non_qualified":"1F3CA-1F3FC-200D-2640","image":"1f3ca-1f3fc-200d-2640-fe0f.png","sheet_x":9,"sheet_y":4,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F3CA-1F3FD-200D-2640-FE0F","non_qualified":"1F3CA-1F3FD-200D-2640","image":"1f3ca-1f3fd-200d-2640-fe0f.png","sheet_x":9,"sheet_y":5,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F3CA-1F3FE-200D-2640-FE0F","non_qualified":"1F3CA-1F3FE-200D-2640","image":"1f3ca-1f3fe-200d-2640-fe0f.png","sheet_x":9,"sheet_y":6,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F3CA-1F3FF-200D-2640-FE0F","non_qualified":"1F3CA-1F3FF-200D-2640","image":"1f3ca-1f3ff-200d-2640-fe0f.png","sheet_x":9,"sheet_y":7,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN SWIMMING","unified":"1F3CA-200D-2642-FE0F","non_qualified":"1F3CA-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3ca-200d-2642-fe0f.png","sheet_x":9,"sheet_y":8,"short_name":"man-swimming","short_names":["man-swimming"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":478,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F3CA-1F3FB-200D-2642-FE0F","non_qualified":"1F3CA-1F3FB-200D-2642","image":"1f3ca-1f3fb-200d-2642-fe0f.png","sheet_x":9,"sheet_y":9,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F3CA-1F3FC-200D-2642-FE0F","non_qualified":"1F3CA-1F3FC-200D-2642","image":"1f3ca-1f3fc-200d-2642-fe0f.png","sheet_x":9,"sheet_y":10,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F3CA-1F3FD-200D-2642-FE0F","non_qualified":"1F3CA-1F3FD-200D-2642","image":"1f3ca-1f3fd-200d-2642-fe0f.png","sheet_x":9,"sheet_y":11,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F3CA-1F3FE-200D-2642-FE0F","non_qualified":"1F3CA-1F3FE-200D-2642","image":"1f3ca-1f3fe-200d-2642-fe0f.png","sheet_x":9,"sheet_y":12,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F3CA-1F3FF-200D-2642-FE0F","non_qualified":"1F3CA-1F3FF-200D-2642","image":"1f3ca-1f3ff-200d-2642-fe0f.png","sheet_x":9,"sheet_y":13,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F3CA"},{"name":"SWIMMER","unified":"1F3CA","non_qualified":null,"docomo":null,"au":"EADE","softbank":"E42D","google":"FE7DE","image":"1f3ca.png","sheet_x":9,"sheet_y":14,"short_name":"swimmer","short_names":["swimmer"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":477,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F3CA-1F3FB","non_qualified":null,"image":"1f3ca-1f3fb.png","sheet_x":9,"sheet_y":15,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F3CA-1F3FC","non_qualified":null,"image":"1f3ca-1f3fc.png","sheet_x":9,"sheet_y":16,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F3CA-1F3FD","non_qualified":null,"image":"1f3ca-1f3fd.png","sheet_x":9,"sheet_y":17,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F3CA-1F3FE","non_qualified":null,"image":"1f3ca-1f3fe.png","sheet_x":9,"sheet_y":18,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F3CA-1F3FF","non_qualified":null,"image":"1f3ca-1f3ff.png","sheet_x":9,"sheet_y":19,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F3CA-200D-2642-FE0F"},{"name":"WOMAN LIFTING WEIGHTS","unified":"1F3CB-FE0F-200D-2640-FE0F","non_qualified":"1F3CB-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3cb-fe0f-200d-2640-fe0f.png","sheet_x":9,"sheet_y":20,"short_name":"woman-lifting-weights","short_names":["woman-lifting-weights"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":485,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F3CB-1F3FB-200D-2640-FE0F","non_qualified":"1F3CB-1F3FB-200D-2640","image":"1f3cb-1f3fb-200d-2640-fe0f.png","sheet_x":9,"sheet_y":21,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F3CB-1F3FC-200D-2640-FE0F","non_qualified":"1F3CB-1F3FC-200D-2640","image":"1f3cb-1f3fc-200d-2640-fe0f.png","sheet_x":9,"sheet_y":22,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F3CB-1F3FD-200D-2640-FE0F","non_qualified":"1F3CB-1F3FD-200D-2640","image":"1f3cb-1f3fd-200d-2640-fe0f.png","sheet_x":9,"sheet_y":23,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F3CB-1F3FE-200D-2640-FE0F","non_qualified":"1F3CB-1F3FE-200D-2640","image":"1f3cb-1f3fe-200d-2640-fe0f.png","sheet_x":9,"sheet_y":24,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F3CB-1F3FF-200D-2640-FE0F","non_qualified":"1F3CB-1F3FF-200D-2640","image":"1f3cb-1f3ff-200d-2640-fe0f.png","sheet_x":9,"sheet_y":25,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN LIFTING WEIGHTS","unified":"1F3CB-FE0F-200D-2642-FE0F","non_qualified":"1F3CB-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3cb-fe0f-200d-2642-fe0f.png","sheet_x":9,"sheet_y":26,"short_name":"man-lifting-weights","short_names":["man-lifting-weights"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":484,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F3CB-1F3FB-200D-2642-FE0F","non_qualified":"1F3CB-1F3FB-200D-2642","image":"1f3cb-1f3fb-200d-2642-fe0f.png","sheet_x":9,"sheet_y":27,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F3CB-1F3FC-200D-2642-FE0F","non_qualified":"1F3CB-1F3FC-200D-2642","image":"1f3cb-1f3fc-200d-2642-fe0f.png","sheet_x":9,"sheet_y":28,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F3CB-1F3FD-200D-2642-FE0F","non_qualified":"1F3CB-1F3FD-200D-2642","image":"1f3cb-1f3fd-200d-2642-fe0f.png","sheet_x":9,"sheet_y":29,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F3CB-1F3FE-200D-2642-FE0F","non_qualified":"1F3CB-1F3FE-200D-2642","image":"1f3cb-1f3fe-200d-2642-fe0f.png","sheet_x":9,"sheet_y":30,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F3CB-1F3FF-200D-2642-FE0F","non_qualified":"1F3CB-1F3FF-200D-2642","image":"1f3cb-1f3ff-200d-2642-fe0f.png","sheet_x":9,"sheet_y":31,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F3CB-FE0F"},{"name":"PERSON LIFTING WEIGHTS","unified":"1F3CB-FE0F","non_qualified":"1F3CB","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3cb-fe0f.png","sheet_x":9,"sheet_y":32,"short_name":"weight_lifter","short_names":["weight_lifter"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":483,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F3CB-1F3FB","non_qualified":null,"image":"1f3cb-1f3fb.png","sheet_x":9,"sheet_y":33,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F3CB-1F3FC","non_qualified":null,"image":"1f3cb-1f3fc.png","sheet_x":9,"sheet_y":34,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F3CB-1F3FD","non_qualified":null,"image":"1f3cb-1f3fd.png","sheet_x":9,"sheet_y":35,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F3CB-1F3FE","non_qualified":null,"image":"1f3cb-1f3fe.png","sheet_x":9,"sheet_y":36,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F3CB-1F3FF","non_qualified":null,"image":"1f3cb-1f3ff.png","sheet_x":9,"sheet_y":37,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F3CB-FE0F-200D-2642-FE0F"},{"name":"WOMAN GOLFING","unified":"1F3CC-FE0F-200D-2640-FE0F","non_qualified":"1F3CC-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3cc-fe0f-200d-2640-fe0f.png","sheet_x":9,"sheet_y":38,"short_name":"woman-golfing","short_names":["woman-golfing"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":470,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F3CC-1F3FB-200D-2640-FE0F","non_qualified":"1F3CC-1F3FB-200D-2640","image":"1f3cc-1f3fb-200d-2640-fe0f.png","sheet_x":9,"sheet_y":39,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F3CC-1F3FC-200D-2640-FE0F","non_qualified":"1F3CC-1F3FC-200D-2640","image":"1f3cc-1f3fc-200d-2640-fe0f.png","sheet_x":9,"sheet_y":40,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F3CC-1F3FD-200D-2640-FE0F","non_qualified":"1F3CC-1F3FD-200D-2640","image":"1f3cc-1f3fd-200d-2640-fe0f.png","sheet_x":9,"sheet_y":41,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F3CC-1F3FE-200D-2640-FE0F","non_qualified":"1F3CC-1F3FE-200D-2640","image":"1f3cc-1f3fe-200d-2640-fe0f.png","sheet_x":9,"sheet_y":42,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F3CC-1F3FF-200D-2640-FE0F","non_qualified":"1F3CC-1F3FF-200D-2640","image":"1f3cc-1f3ff-200d-2640-fe0f.png","sheet_x":9,"sheet_y":43,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN GOLFING","unified":"1F3CC-FE0F-200D-2642-FE0F","non_qualified":"1F3CC-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3cc-fe0f-200d-2642-fe0f.png","sheet_x":9,"sheet_y":44,"short_name":"man-golfing","short_names":["man-golfing"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":469,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F3CC-1F3FB-200D-2642-FE0F","non_qualified":"1F3CC-1F3FB-200D-2642","image":"1f3cc-1f3fb-200d-2642-fe0f.png","sheet_x":9,"sheet_y":45,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F3CC-1F3FC-200D-2642-FE0F","non_qualified":"1F3CC-1F3FC-200D-2642","image":"1f3cc-1f3fc-200d-2642-fe0f.png","sheet_x":9,"sheet_y":46,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F3CC-1F3FD-200D-2642-FE0F","non_qualified":"1F3CC-1F3FD-200D-2642","image":"1f3cc-1f3fd-200d-2642-fe0f.png","sheet_x":9,"sheet_y":47,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F3CC-1F3FE-200D-2642-FE0F","non_qualified":"1F3CC-1F3FE-200D-2642","image":"1f3cc-1f3fe-200d-2642-fe0f.png","sheet_x":9,"sheet_y":48,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F3CC-1F3FF-200D-2642-FE0F","non_qualified":"1F3CC-1F3FF-200D-2642","image":"1f3cc-1f3ff-200d-2642-fe0f.png","sheet_x":9,"sheet_y":49,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F3CC-FE0F"},{"name":"PERSON GOLFING","unified":"1F3CC-FE0F","non_qualified":"1F3CC","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3cc-fe0f.png","sheet_x":9,"sheet_y":50,"short_name":"golfer","short_names":["golfer"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":468,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F3CC-1F3FB","non_qualified":null,"image":"1f3cc-1f3fb.png","sheet_x":9,"sheet_y":51,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F3CC-1F3FC","non_qualified":null,"image":"1f3cc-1f3fc.png","sheet_x":9,"sheet_y":52,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F3CC-1F3FD","non_qualified":null,"image":"1f3cc-1f3fd.png","sheet_x":9,"sheet_y":53,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F3CC-1F3FE","non_qualified":null,"image":"1f3cc-1f3fe.png","sheet_x":9,"sheet_y":54,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F3CC-1F3FF","non_qualified":null,"image":"1f3cc-1f3ff.png","sheet_x":9,"sheet_y":55,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F3CC-FE0F-200D-2642-FE0F"},{"name":"MOTORCYCLE","unified":"1F3CD-FE0F","non_qualified":"1F3CD","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3cd-fe0f.png","sheet_x":9,"sheet_y":56,"short_name":"racing_motorcycle","short_names":["racing_motorcycle"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":953,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RACING CAR","unified":"1F3CE-FE0F","non_qualified":"1F3CE","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3ce-fe0f.png","sheet_x":9,"sheet_y":57,"short_name":"racing_car","short_names":["racing_car"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":952,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CRICKET BAT AND BALL","unified":"1F3CF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3cf.png","sheet_x":9,"sheet_y":58,"short_name":"cricket_bat_and_ball","short_names":["cricket_bat_and_ball"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1112,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"VOLLEYBALL","unified":"1F3D0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3d0.png","sheet_x":9,"sheet_y":59,"short_name":"volleyball","short_names":["volleyball"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1106,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FIELD HOCKEY STICK AND BALL","unified":"1F3D1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3d1.png","sheet_x":9,"sheet_y":60,"short_name":"field_hockey_stick_and_ball","short_names":["field_hockey_stick_and_ball"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1113,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ICE HOCKEY STICK AND PUCK","unified":"1F3D2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3d2.png","sheet_x":9,"sheet_y":61,"short_name":"ice_hockey_stick_and_puck","short_names":["ice_hockey_stick_and_puck"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1114,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TABLE TENNIS PADDLE AND BALL","unified":"1F3D3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3d3.png","sheet_x":9,"sheet_y":62,"short_name":"table_tennis_paddle_and_ball","short_names":["table_tennis_paddle_and_ball"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1116,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SNOW-CAPPED MOUNTAIN","unified":"1F3D4-FE0F","non_qualified":"1F3D4","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3d4-fe0f.png","sheet_x":10,"sheet_y":0,"short_name":"snow_capped_mountain","short_names":["snow_capped_mountain"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-geographic","sort_order":863,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CAMPING","unified":"1F3D5-FE0F","non_qualified":"1F3D5","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3d5-fe0f.png","sheet_x":10,"sheet_y":1,"short_name":"camping","short_names":["camping"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-geographic","sort_order":868,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BEACH WITH UMBRELLA","unified":"1F3D6-FE0F","non_qualified":"1F3D6","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3d6-fe0f.png","sheet_x":10,"sheet_y":2,"short_name":"beach_with_umbrella","short_names":["beach_with_umbrella"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-geographic","sort_order":869,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BUILDING CONSTRUCTION","unified":"1F3D7-FE0F","non_qualified":"1F3D7","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3d7-fe0f.png","sheet_x":10,"sheet_y":3,"short_name":"building_construction","short_names":["building_construction"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":875,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HOUSES","unified":"1F3D8-FE0F","non_qualified":"1F3D8","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3d8-fe0f.png","sheet_x":10,"sheet_y":4,"short_name":"house_buildings","short_names":["house_buildings"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":880,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CITYSCAPE","unified":"1F3D9-FE0F","non_qualified":"1F3D9","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3d9-fe0f.png","sheet_x":10,"sheet_y":5,"short_name":"cityscape","short_names":["cityscape"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-other","sort_order":910,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DERELICT HOUSE","unified":"1F3DA-FE0F","non_qualified":"1F3DA","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3da-fe0f.png","sheet_x":10,"sheet_y":6,"short_name":"derelict_house_building","short_names":["derelict_house_building"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":881,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLASSICAL BUILDING","unified":"1F3DB-FE0F","non_qualified":"1F3DB","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3db-fe0f.png","sheet_x":10,"sheet_y":7,"short_name":"classical_building","short_names":["classical_building"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":874,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DESERT","unified":"1F3DC-FE0F","non_qualified":"1F3DC","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3dc-fe0f.png","sheet_x":10,"sheet_y":8,"short_name":"desert","short_names":["desert"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-geographic","sort_order":870,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DESERT ISLAND","unified":"1F3DD-FE0F","non_qualified":"1F3DD","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3dd-fe0f.png","sheet_x":10,"sheet_y":9,"short_name":"desert_island","short_names":["desert_island"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-geographic","sort_order":871,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NATIONAL PARK","unified":"1F3DE-FE0F","non_qualified":"1F3DE","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3de-fe0f.png","sheet_x":10,"sheet_y":10,"short_name":"national_park","short_names":["national_park"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-geographic","sort_order":872,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"STADIUM","unified":"1F3DF-FE0F","non_qualified":"1F3DF","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3df-fe0f.png","sheet_x":10,"sheet_y":11,"short_name":"stadium","short_names":["stadium"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":873,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HOUSE BUILDING","unified":"1F3E0","non_qualified":null,"docomo":"E663","au":"E4AB","softbank":"E036","google":"FE4B0","image":"1f3e0.png","sheet_x":10,"sheet_y":12,"short_name":"house","short_names":["house"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":882,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HOUSE WITH GARDEN","unified":"1F3E1","non_qualified":null,"docomo":"E663","au":"EB09","softbank":null,"google":"FE4B1","image":"1f3e1.png","sheet_x":10,"sheet_y":13,"short_name":"house_with_garden","short_names":["house_with_garden"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":883,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"OFFICE BUILDING","unified":"1F3E2","non_qualified":null,"docomo":"E664","au":"E4AD","softbank":"E038","google":"FE4B2","image":"1f3e2.png","sheet_x":10,"sheet_y":14,"short_name":"office","short_names":["office"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":884,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"JAPANESE POST OFFICE","unified":"1F3E3","non_qualified":null,"docomo":"E665","au":"E5DE","softbank":"E153","google":"FE4B3","image":"1f3e3.png","sheet_x":10,"sheet_y":15,"short_name":"post_office","short_names":["post_office"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":885,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EUROPEAN POST OFFICE","unified":"1F3E4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3e4.png","sheet_x":10,"sheet_y":16,"short_name":"european_post_office","short_names":["european_post_office"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":886,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HOSPITAL","unified":"1F3E5","non_qualified":null,"docomo":"E666","au":"E5DF","softbank":"E155","google":"FE4B4","image":"1f3e5.png","sheet_x":10,"sheet_y":17,"short_name":"hospital","short_names":["hospital"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":887,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BANK","unified":"1F3E6","non_qualified":null,"docomo":"E667","au":"E4AA","softbank":"E14D","google":"FE4B5","image":"1f3e6.png","sheet_x":10,"sheet_y":18,"short_name":"bank","short_names":["bank"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":888,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"AUTOMATED TELLER MACHINE","unified":"1F3E7","non_qualified":null,"docomo":"E668","au":"E4A3","softbank":"E154","google":"FE4B6","image":"1f3e7.png","sheet_x":10,"sheet_y":19,"short_name":"atm","short_names":["atm"],"text":null,"texts":null,"category":"Symbols","subcategory":"transport-sign","sort_order":1426,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HOTEL","unified":"1F3E8","non_qualified":null,"docomo":"E669","au":"EA81","softbank":"E158","google":"FE4B7","image":"1f3e8.png","sheet_x":10,"sheet_y":20,"short_name":"hotel","short_names":["hotel"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":889,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LOVE HOTEL","unified":"1F3E9","non_qualified":null,"docomo":"E669-E6EF","au":"EAF3","softbank":"E501","google":"FE4B8","image":"1f3e9.png","sheet_x":10,"sheet_y":21,"short_name":"love_hotel","short_names":["love_hotel"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":890,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CONVENIENCE STORE","unified":"1F3EA","non_qualified":null,"docomo":"E66A","au":"E4A4","softbank":"E156","google":"FE4B9","image":"1f3ea.png","sheet_x":10,"sheet_y":22,"short_name":"convenience_store","short_names":["convenience_store"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":891,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SCHOOL","unified":"1F3EB","non_qualified":null,"docomo":"E73E","au":"EA80","softbank":"E157","google":"FE4BA","image":"1f3eb.png","sheet_x":10,"sheet_y":23,"short_name":"school","short_names":["school"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":892,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DEPARTMENT STORE","unified":"1F3EC","non_qualified":null,"docomo":null,"au":"EAF6","softbank":"E504","google":"FE4BD","image":"1f3ec.png","sheet_x":10,"sheet_y":24,"short_name":"department_store","short_names":["department_store"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":893,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACTORY","unified":"1F3ED","non_qualified":null,"docomo":null,"au":"EAF9","softbank":"E508","google":"FE4C0","image":"1f3ed.png","sheet_x":10,"sheet_y":25,"short_name":"factory","short_names":["factory"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":894,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"IZAKAYA LANTERN","unified":"1F3EE","non_qualified":null,"docomo":"E74B","au":"E4BD","softbank":null,"google":"FE4C2","image":"1f3ee.png","sheet_x":10,"sheet_y":26,"short_name":"izakaya_lantern","short_names":["izakaya_lantern","lantern"],"text":null,"texts":null,"category":"Objects","subcategory":"light & video","sort_order":1272,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"JAPANESE CASTLE","unified":"1F3EF","non_qualified":null,"docomo":null,"au":"EAF7","softbank":"E505","google":"FE4BE","image":"1f3ef.png","sheet_x":10,"sheet_y":27,"short_name":"japanese_castle","short_names":["japanese_castle"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":895,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EUROPEAN CASTLE","unified":"1F3F0","non_qualified":null,"docomo":null,"au":"EAF8","softbank":"E506","google":"FE4BF","image":"1f3f0.png","sheet_x":10,"sheet_y":28,"short_name":"european_castle","short_names":["european_castle"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":896,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RAINBOW FLAG","unified":"1F3F3-FE0F-200D-1F308","non_qualified":"1F3F3-200D-1F308","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3f3-fe0f-200d-1f308.png","sheet_x":10,"sheet_y":29,"short_name":"rainbow-flag","short_names":["rainbow-flag"],"text":null,"texts":null,"category":"Flags","subcategory":"flag","sort_order":1655,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TRANSGENDER FLAG","unified":"1F3F3-FE0F-200D-26A7-FE0F","non_qualified":"1F3F3-200D-26A7","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3f3-fe0f-200d-26a7-fe0f.png","sheet_x":10,"sheet_y":30,"short_name":"transgender_flag","short_names":["transgender_flag"],"text":null,"texts":null,"category":"Flags","subcategory":"flag","sort_order":1656,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WHITE FLAG","unified":"1F3F3-FE0F","non_qualified":"1F3F3","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3f3-fe0f.png","sheet_x":10,"sheet_y":31,"short_name":"waving_white_flag","short_names":["waving_white_flag"],"text":null,"texts":null,"category":"Flags","subcategory":"flag","sort_order":1654,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PIRATE FLAG","unified":"1F3F4-200D-2620-FE0F","non_qualified":"1F3F4-200D-2620","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3f4-200d-2620-fe0f.png","sheet_x":10,"sheet_y":32,"short_name":"pirate_flag","short_names":["pirate_flag"],"text":null,"texts":null,"category":"Flags","subcategory":"flag","sort_order":1657,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"England Flag","unified":"1F3F4-E0067-E0062-E0065-E006E-E0067-E007F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.png","sheet_x":10,"sheet_y":33,"short_name":"flag-england","short_names":["flag-england"],"text":null,"texts":null,"category":"Flags","subcategory":"subdivision-flag","sort_order":1917,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Scotland Flag","unified":"1F3F4-E0067-E0062-E0073-E0063-E0074-E007F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.png","sheet_x":10,"sheet_y":34,"short_name":"flag-scotland","short_names":["flag-scotland"],"text":null,"texts":null,"category":"Flags","subcategory":"subdivision-flag","sort_order":1918,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"Wales Flag","unified":"1F3F4-E0067-E0062-E0077-E006C-E0073-E007F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.png","sheet_x":10,"sheet_y":35,"short_name":"flag-wales","short_names":["flag-wales"],"text":null,"texts":null,"category":"Flags","subcategory":"subdivision-flag","sort_order":1919,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WAVING BLACK FLAG","unified":"1F3F4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3f4.png","sheet_x":10,"sheet_y":36,"short_name":"waving_black_flag","short_names":["waving_black_flag"],"text":null,"texts":null,"category":"Flags","subcategory":"flag","sort_order":1653,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ROSETTE","unified":"1F3F5-FE0F","non_qualified":"1F3F5","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3f5-fe0f.png","sheet_x":10,"sheet_y":37,"short_name":"rosette","short_names":["rosette"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-flower","sort_order":700,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LABEL","unified":"1F3F7-FE0F","non_qualified":"1F3F7","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3f7-fe0f.png","sheet_x":10,"sheet_y":38,"short_name":"label","short_names":["label"],"text":null,"texts":null,"category":"Objects","subcategory":"book-paper","sort_order":1290,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BADMINTON RACQUET AND SHUTTLECOCK","unified":"1F3F8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3f8.png","sheet_x":10,"sheet_y":39,"short_name":"badminton_racquet_and_shuttlecock","short_names":["badminton_racquet_and_shuttlecock"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1117,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BOW AND ARROW","unified":"1F3F9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3f9.png","sheet_x":10,"sheet_y":40,"short_name":"bow_and_arrow","short_names":["bow_and_arrow"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1360,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"AMPHORA","unified":"1F3FA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3fa.png","sheet_x":10,"sheet_y":41,"short_name":"amphora","short_names":["amphora"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"dishware","sort_order":855,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EMOJI MODIFIER FITZPATRICK TYPE-1-2","unified":"1F3FB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3fb.png","sheet_x":10,"sheet_y":42,"short_name":"skin-tone-2","short_names":["skin-tone-2"],"text":null,"texts":null,"category":"Component","subcategory":"skin-tone","sort_order":560,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EMOJI MODIFIER FITZPATRICK TYPE-3","unified":"1F3FC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3fc.png","sheet_x":10,"sheet_y":43,"short_name":"skin-tone-3","short_names":["skin-tone-3"],"text":null,"texts":null,"category":"Component","subcategory":"skin-tone","sort_order":561,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EMOJI MODIFIER FITZPATRICK TYPE-4","unified":"1F3FD","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3fd.png","sheet_x":10,"sheet_y":44,"short_name":"skin-tone-4","short_names":["skin-tone-4"],"text":null,"texts":null,"category":"Component","subcategory":"skin-tone","sort_order":562,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EMOJI MODIFIER FITZPATRICK TYPE-5","unified":"1F3FE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3fe.png","sheet_x":10,"sheet_y":45,"short_name":"skin-tone-5","short_names":["skin-tone-5"],"text":null,"texts":null,"category":"Component","subcategory":"skin-tone","sort_order":563,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EMOJI MODIFIER FITZPATRICK TYPE-6","unified":"1F3FF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f3ff.png","sheet_x":10,"sheet_y":46,"short_name":"skin-tone-6","short_names":["skin-tone-6"],"text":null,"texts":null,"category":"Component","subcategory":"skin-tone","sort_order":564,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RAT","unified":"1F400","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f400.png","sheet_x":10,"sheet_y":47,"short_name":"rat","short_names":["rat"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":613,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MOUSE","unified":"1F401","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f401.png","sheet_x":10,"sheet_y":48,"short_name":"mouse2","short_names":["mouse2"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":612,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"OX","unified":"1F402","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f402.png","sheet_x":10,"sheet_y":49,"short_name":"ox","short_names":["ox"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":593,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WATER BUFFALO","unified":"1F403","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f403.png","sheet_x":10,"sheet_y":50,"short_name":"water_buffalo","short_names":["water_buffalo"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":594,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"COW","unified":"1F404","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f404.png","sheet_x":10,"sheet_y":51,"short_name":"cow2","short_names":["cow2"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":595,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TIGER","unified":"1F405","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f405.png","sheet_x":10,"sheet_y":52,"short_name":"tiger2","short_names":["tiger2"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":582,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LEOPARD","unified":"1F406","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f406.png","sheet_x":10,"sheet_y":53,"short_name":"leopard","short_names":["leopard"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":583,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RABBIT","unified":"1F407","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f407.png","sheet_x":10,"sheet_y":54,"short_name":"rabbit2","short_names":["rabbit2"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":616,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK CAT","unified":"1F408-200D-2B1B","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f408-200d-2b1b.png","sheet_x":10,"sheet_y":55,"short_name":"black_cat","short_names":["black_cat"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":579,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CAT","unified":"1F408","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f408.png","sheet_x":10,"sheet_y":56,"short_name":"cat2","short_names":["cat2"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":578,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DRAGON","unified":"1F409","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f409.png","sheet_x":10,"sheet_y":57,"short_name":"dragon","short_names":["dragon"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-reptile","sort_order":659,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CROCODILE","unified":"1F40A","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f40a.png","sheet_x":10,"sheet_y":58,"short_name":"crocodile","short_names":["crocodile"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-reptile","sort_order":654,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WHALE","unified":"1F40B","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f40b.png","sheet_x":10,"sheet_y":59,"short_name":"whale2","short_names":["whale2"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-marine","sort_order":663,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SNAIL","unified":"1F40C","non_qualified":null,"docomo":"E74E","au":"EB7E","softbank":null,"google":"FE1B9","image":"1f40c.png","sheet_x":10,"sheet_y":60,"short_name":"snail","short_names":["snail"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bug","sort_order":680,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SNAKE","unified":"1F40D","non_qualified":null,"docomo":null,"au":"EB22","softbank":"E52D","google":"FE1D3","image":"1f40d.png","sheet_x":10,"sheet_y":61,"short_name":"snake","short_names":["snake"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-reptile","sort_order":657,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HORSE","unified":"1F40E","non_qualified":null,"docomo":"E754","au":"E4D8","softbank":"E134","google":"FE7DC","image":"1f40e.png","sheet_x":10,"sheet_y":62,"short_name":"racehorse","short_names":["racehorse"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":587,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RAM","unified":"1F40F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f40f.png","sheet_x":11,"sheet_y":0,"short_name":"ram","short_names":["ram"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":600,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GOAT","unified":"1F410","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f410.png","sheet_x":11,"sheet_y":1,"short_name":"goat","short_names":["goat"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":602,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SHEEP","unified":"1F411","non_qualified":null,"docomo":null,"au":"E48F","softbank":"E529","google":"FE1CF","image":"1f411.png","sheet_x":11,"sheet_y":2,"short_name":"sheep","short_names":["sheep"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":601,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MONKEY","unified":"1F412","non_qualified":null,"docomo":null,"au":"E4D9","softbank":"E528","google":"FE1CE","image":"1f412.png","sheet_x":11,"sheet_y":3,"short_name":"monkey","short_names":["monkey"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":566,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ROOSTER","unified":"1F413","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f413.png","sheet_x":11,"sheet_y":4,"short_name":"rooster","short_names":["rooster"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":633,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CHICKEN","unified":"1F414","non_qualified":null,"docomo":null,"au":"EB23","softbank":"E52E","google":"FE1D4","image":"1f414.png","sheet_x":11,"sheet_y":5,"short_name":"chicken","short_names":["chicken"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":632,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SERVICE DOG","unified":"1F415-200D-1F9BA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f415-200d-1f9ba.png","sheet_x":11,"sheet_y":6,"short_name":"service_dog","short_names":["service_dog"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":572,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DOG","unified":"1F415","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f415.png","sheet_x":11,"sheet_y":7,"short_name":"dog2","short_names":["dog2"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":570,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PIG","unified":"1F416","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f416.png","sheet_x":11,"sheet_y":8,"short_name":"pig2","short_names":["pig2"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":597,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BOAR","unified":"1F417","non_qualified":null,"docomo":null,"au":"EB24","softbank":"E52F","google":"FE1D5","image":"1f417.png","sheet_x":11,"sheet_y":9,"short_name":"boar","short_names":["boar"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":598,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ELEPHANT","unified":"1F418","non_qualified":null,"docomo":null,"au":"EB1F","softbank":"E526","google":"FE1CC","image":"1f418.png","sheet_x":11,"sheet_y":10,"short_name":"elephant","short_names":["elephant"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":607,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"OCTOPUS","unified":"1F419","non_qualified":null,"docomo":null,"au":"E5C7","softbank":"E10A","google":"FE1C5","image":"1f419.png","sheet_x":11,"sheet_y":11,"short_name":"octopus","short_names":["octopus"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-marine","sort_order":671,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPIRAL SHELL","unified":"1F41A","non_qualified":null,"docomo":null,"au":"EAEC","softbank":"E441","google":"FE1C6","image":"1f41a.png","sheet_x":11,"sheet_y":12,"short_name":"shell","short_names":["shell"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-marine","sort_order":672,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BUG","unified":"1F41B","non_qualified":null,"docomo":null,"au":"EB1E","softbank":"E525","google":"FE1CB","image":"1f41b.png","sheet_x":11,"sheet_y":13,"short_name":"bug","short_names":["bug"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bug","sort_order":682,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ANT","unified":"1F41C","non_qualified":null,"docomo":null,"au":"E4DD","softbank":null,"google":"FE1DA","image":"1f41c.png","sheet_x":11,"sheet_y":14,"short_name":"ant","short_names":["ant"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bug","sort_order":683,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HONEYBEE","unified":"1F41D","non_qualified":null,"docomo":null,"au":"EB57","softbank":null,"google":"FE1E1","image":"1f41d.png","sheet_x":11,"sheet_y":15,"short_name":"bee","short_names":["bee","honeybee"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bug","sort_order":684,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LADY BEETLE","unified":"1F41E","non_qualified":null,"docomo":null,"au":"EB58","softbank":null,"google":"FE1E2","image":"1f41e.png","sheet_x":11,"sheet_y":16,"short_name":"ladybug","short_names":["ladybug","lady_beetle"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bug","sort_order":686,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FISH","unified":"1F41F","non_qualified":null,"docomo":"E751","au":"E49A","softbank":"E019","google":"FE1BD","image":"1f41f.png","sheet_x":11,"sheet_y":17,"short_name":"fish","short_names":["fish"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-marine","sort_order":667,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TROPICAL FISH","unified":"1F420","non_qualified":null,"docomo":"E751","au":"EB1D","softbank":"E522","google":"FE1C9","image":"1f420.png","sheet_x":11,"sheet_y":18,"short_name":"tropical_fish","short_names":["tropical_fish"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-marine","sort_order":668,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLOWFISH","unified":"1F421","non_qualified":null,"docomo":"E751","au":"E4D3","softbank":null,"google":"FE1D9","image":"1f421.png","sheet_x":11,"sheet_y":19,"short_name":"blowfish","short_names":["blowfish"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-marine","sort_order":669,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TURTLE","unified":"1F422","non_qualified":null,"docomo":null,"au":"E5D4","softbank":null,"google":"FE1DC","image":"1f422.png","sheet_x":11,"sheet_y":20,"short_name":"turtle","short_names":["turtle"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-reptile","sort_order":655,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HATCHING CHICK","unified":"1F423","non_qualified":null,"docomo":"E74F","au":"E5DB","softbank":null,"google":"FE1DD","image":"1f423.png","sheet_x":11,"sheet_y":21,"short_name":"hatching_chick","short_names":["hatching_chick"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":634,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BABY CHICK","unified":"1F424","non_qualified":null,"docomo":"E74F","au":"E4E0","softbank":"E523","google":"FE1BA","image":"1f424.png","sheet_x":11,"sheet_y":22,"short_name":"baby_chick","short_names":["baby_chick"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":635,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FRONT-FACING BABY CHICK","unified":"1F425","non_qualified":null,"docomo":"E74F","au":"EB76","softbank":null,"google":"FE1BB","image":"1f425.png","sheet_x":11,"sheet_y":23,"short_name":"hatched_chick","short_names":["hatched_chick"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":636,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PHOENIX","unified":"1F426-200D-1F525","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f426-200d-1f525.png","sheet_x":11,"sheet_y":24,"short_name":"phoenix","short_names":["phoenix"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":652,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"BLACK BIRD","unified":"1F426-200D-2B1B","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f426-200d-2b1b.png","sheet_x":11,"sheet_y":25,"short_name":"black_bird","short_names":["black_bird"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":650,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BIRD","unified":"1F426","non_qualified":null,"docomo":"E74F","au":"E4E0","softbank":"E521","google":"FE1C8","image":"1f426.png","sheet_x":11,"sheet_y":26,"short_name":"bird","short_names":["bird"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":637,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PENGUIN","unified":"1F427","non_qualified":null,"docomo":"E750","au":"E4DC","softbank":"E055","google":"FE1BC","image":"1f427.png","sheet_x":11,"sheet_y":27,"short_name":"penguin","short_names":["penguin"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":638,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"KOALA","unified":"1F428","non_qualified":null,"docomo":null,"au":"EB20","softbank":"E527","google":"FE1CD","image":"1f428.png","sheet_x":11,"sheet_y":28,"short_name":"koala","short_names":["koala"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":623,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"POODLE","unified":"1F429","non_qualified":null,"docomo":"E6A1","au":"E4DF","softbank":null,"google":"FE1D8","image":"1f429.png","sheet_x":11,"sheet_y":29,"short_name":"poodle","short_names":["poodle"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":573,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DROMEDARY CAMEL","unified":"1F42A","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f42a.png","sheet_x":11,"sheet_y":30,"short_name":"dromedary_camel","short_names":["dromedary_camel"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":603,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BACTRIAN CAMEL","unified":"1F42B","non_qualified":null,"docomo":null,"au":"EB25","softbank":"E530","google":"FE1D6","image":"1f42b.png","sheet_x":11,"sheet_y":31,"short_name":"camel","short_names":["camel"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":604,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DOLPHIN","unified":"1F42C","non_qualified":null,"docomo":null,"au":"EB1B","softbank":"E520","google":"FE1C7","image":"1f42c.png","sheet_x":11,"sheet_y":32,"short_name":"dolphin","short_names":["dolphin","flipper"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-marine","sort_order":664,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MOUSE FACE","unified":"1F42D","non_qualified":null,"docomo":null,"au":"E5C2","softbank":"E053","google":"FE1C2","image":"1f42d.png","sheet_x":11,"sheet_y":33,"short_name":"mouse","short_names":["mouse"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":611,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"COW FACE","unified":"1F42E","non_qualified":null,"docomo":null,"au":"EB21","softbank":"E52B","google":"FE1D1","image":"1f42e.png","sheet_x":11,"sheet_y":34,"short_name":"cow","short_names":["cow"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":592,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TIGER FACE","unified":"1F42F","non_qualified":null,"docomo":null,"au":"E5C0","softbank":"E050","google":"FE1C0","image":"1f42f.png","sheet_x":11,"sheet_y":35,"short_name":"tiger","short_names":["tiger"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":581,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RABBIT FACE","unified":"1F430","non_qualified":null,"docomo":null,"au":"E4D7","softbank":"E52C","google":"FE1D2","image":"1f430.png","sheet_x":11,"sheet_y":36,"short_name":"rabbit","short_names":["rabbit"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":615,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CAT FACE","unified":"1F431","non_qualified":null,"docomo":"E6A2","au":"E4DB","softbank":"E04F","google":"FE1B8","image":"1f431.png","sheet_x":11,"sheet_y":37,"short_name":"cat","short_names":["cat"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":577,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DRAGON FACE","unified":"1F432","non_qualified":null,"docomo":null,"au":"EB3F","softbank":null,"google":"FE1DE","image":"1f432.png","sheet_x":11,"sheet_y":38,"short_name":"dragon_face","short_names":["dragon_face"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-reptile","sort_order":658,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPOUTING WHALE","unified":"1F433","non_qualified":null,"docomo":null,"au":"E470","softbank":"E054","google":"FE1C3","image":"1f433.png","sheet_x":11,"sheet_y":39,"short_name":"whale","short_names":["whale"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-marine","sort_order":662,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HORSE FACE","unified":"1F434","non_qualified":null,"docomo":"E754","au":"E4D8","softbank":"E01A","google":"FE1BE","image":"1f434.png","sheet_x":11,"sheet_y":40,"short_name":"horse","short_names":["horse"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":584,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MONKEY FACE","unified":"1F435","non_qualified":null,"docomo":null,"au":"E4D9","softbank":"E109","google":"FE1C4","image":"1f435.png","sheet_x":11,"sheet_y":41,"short_name":"monkey_face","short_names":["monkey_face"],"text":null,"texts":[":o)"],"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":565,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DOG FACE","unified":"1F436","non_qualified":null,"docomo":"E6A1","au":"E4E1","softbank":"E052","google":"FE1B7","image":"1f436.png","sheet_x":11,"sheet_y":42,"short_name":"dog","short_names":["dog"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":569,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PIG FACE","unified":"1F437","non_qualified":null,"docomo":"E755","au":"E4DE","softbank":"E10B","google":"FE1BF","image":"1f437.png","sheet_x":11,"sheet_y":43,"short_name":"pig","short_names":["pig"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":596,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FROG FACE","unified":"1F438","non_qualified":null,"docomo":null,"au":"E4DA","softbank":"E531","google":"FE1D7","image":"1f438.png","sheet_x":11,"sheet_y":44,"short_name":"frog","short_names":["frog"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-amphibian","sort_order":653,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HAMSTER FACE","unified":"1F439","non_qualified":null,"docomo":null,"au":null,"softbank":"E524","google":"FE1CA","image":"1f439.png","sheet_x":11,"sheet_y":45,"short_name":"hamster","short_names":["hamster"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":614,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WOLF FACE","unified":"1F43A","non_qualified":null,"docomo":"E6A1","au":"E4E1","softbank":"E52A","google":"FE1D0","image":"1f43a.png","sheet_x":11,"sheet_y":46,"short_name":"wolf","short_names":["wolf"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":574,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"POLAR BEAR","unified":"1F43B-200D-2744-FE0F","non_qualified":"1F43B-200D-2744","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f43b-200d-2744-fe0f.png","sheet_x":11,"sheet_y":47,"short_name":"polar_bear","short_names":["polar_bear"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":622,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BEAR FACE","unified":"1F43B","non_qualified":null,"docomo":null,"au":"E5C1","softbank":"E051","google":"FE1C1","image":"1f43b.png","sheet_x":11,"sheet_y":48,"short_name":"bear","short_names":["bear"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":621,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PANDA FACE","unified":"1F43C","non_qualified":null,"docomo":null,"au":"EB46","softbank":null,"google":"FE1DF","image":"1f43c.png","sheet_x":11,"sheet_y":49,"short_name":"panda_face","short_names":["panda_face"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":624,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PIG NOSE","unified":"1F43D","non_qualified":null,"docomo":"E755","au":"EB48","softbank":null,"google":"FE1E0","image":"1f43d.png","sheet_x":11,"sheet_y":50,"short_name":"pig_nose","short_names":["pig_nose"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":599,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PAW PRINTS","unified":"1F43E","non_qualified":null,"docomo":"E698","au":"E4EE","softbank":null,"google":"FE1DB","image":"1f43e.png","sheet_x":11,"sheet_y":51,"short_name":"feet","short_names":["feet","paw_prints"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":630,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CHIPMUNK","unified":"1F43F-FE0F","non_qualified":"1F43F","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f43f-fe0f.png","sheet_x":11,"sheet_y":52,"short_name":"chipmunk","short_names":["chipmunk"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":617,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EYES","unified":"1F440","non_qualified":null,"docomo":"E691","au":"E5A4","softbank":"E419","google":"FE190","image":"1f440.png","sheet_x":11,"sheet_y":53,"short_name":"eyes","short_names":["eyes"],"text":null,"texts":null,"category":"People & Body","subcategory":"body-parts","sort_order":228,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EYE IN SPEECH BUBBLE","unified":"1F441-FE0F-200D-1F5E8-FE0F","non_qualified":"1F441-200D-1F5E8","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f441-fe0f-200d-1f5e8-fe0f.png","sheet_x":11,"sheet_y":54,"short_name":"eye-in-speech-bubble","short_names":["eye-in-speech-bubble"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"emotion","sort_order":167,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"EYE","unified":"1F441-FE0F","non_qualified":"1F441","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f441-fe0f.png","sheet_x":11,"sheet_y":55,"short_name":"eye","short_names":["eye"],"text":null,"texts":null,"category":"People & Body","subcategory":"body-parts","sort_order":229,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EAR","unified":"1F442","non_qualified":null,"docomo":"E692","au":"E5A5","softbank":"E41B","google":"FE191","image":"1f442.png","sheet_x":11,"sheet_y":56,"short_name":"ear","short_names":["ear"],"text":null,"texts":null,"category":"People & Body","subcategory":"body-parts","sort_order":220,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F442-1F3FB","non_qualified":null,"image":"1f442-1f3fb.png","sheet_x":11,"sheet_y":57,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F442-1F3FC","non_qualified":null,"image":"1f442-1f3fc.png","sheet_x":11,"sheet_y":58,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F442-1F3FD","non_qualified":null,"image":"1f442-1f3fd.png","sheet_x":11,"sheet_y":59,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F442-1F3FE","non_qualified":null,"image":"1f442-1f3fe.png","sheet_x":11,"sheet_y":60,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F442-1F3FF","non_qualified":null,"image":"1f442-1f3ff.png","sheet_x":11,"sheet_y":61,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"NOSE","unified":"1F443","non_qualified":null,"docomo":null,"au":"EAD0","softbank":"E41A","google":"FE192","image":"1f443.png","sheet_x":11,"sheet_y":62,"short_name":"nose","short_names":["nose"],"text":null,"texts":null,"category":"People & Body","subcategory":"body-parts","sort_order":222,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F443-1F3FB","non_qualified":null,"image":"1f443-1f3fb.png","sheet_x":12,"sheet_y":0,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F443-1F3FC","non_qualified":null,"image":"1f443-1f3fc.png","sheet_x":12,"sheet_y":1,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F443-1F3FD","non_qualified":null,"image":"1f443-1f3fd.png","sheet_x":12,"sheet_y":2,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F443-1F3FE","non_qualified":null,"image":"1f443-1f3fe.png","sheet_x":12,"sheet_y":3,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F443-1F3FF","non_qualified":null,"image":"1f443-1f3ff.png","sheet_x":12,"sheet_y":4,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MOUTH","unified":"1F444","non_qualified":null,"docomo":"E6F9","au":"EAD1","softbank":"E41C","google":"FE193","image":"1f444.png","sheet_x":12,"sheet_y":5,"short_name":"lips","short_names":["lips"],"text":null,"texts":null,"category":"People & Body","subcategory":"body-parts","sort_order":231,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TONGUE","unified":"1F445","non_qualified":null,"docomo":"E728","au":"EB47","softbank":null,"google":"FE194","image":"1f445.png","sheet_x":12,"sheet_y":6,"short_name":"tongue","short_names":["tongue"],"text":null,"texts":null,"category":"People & Body","subcategory":"body-parts","sort_order":230,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WHITE UP POINTING BACKHAND INDEX","unified":"1F446","non_qualified":null,"docomo":null,"au":"EA8D","softbank":"E22E","google":"FEB99","image":"1f446.png","sheet_x":12,"sheet_y":7,"short_name":"point_up_2","short_names":["point_up_2"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-single-finger","sort_order":194,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F446-1F3FB","non_qualified":null,"image":"1f446-1f3fb.png","sheet_x":12,"sheet_y":8,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F446-1F3FC","non_qualified":null,"image":"1f446-1f3fc.png","sheet_x":12,"sheet_y":9,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F446-1F3FD","non_qualified":null,"image":"1f446-1f3fd.png","sheet_x":12,"sheet_y":10,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F446-1F3FE","non_qualified":null,"image":"1f446-1f3fe.png","sheet_x":12,"sheet_y":11,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F446-1F3FF","non_qualified":null,"image":"1f446-1f3ff.png","sheet_x":12,"sheet_y":12,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WHITE DOWN POINTING BACKHAND INDEX","unified":"1F447","non_qualified":null,"docomo":null,"au":"EA8E","softbank":"E22F","google":"FEB9A","image":"1f447.png","sheet_x":12,"sheet_y":13,"short_name":"point_down","short_names":["point_down"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-single-finger","sort_order":196,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F447-1F3FB","non_qualified":null,"image":"1f447-1f3fb.png","sheet_x":12,"sheet_y":14,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F447-1F3FC","non_qualified":null,"image":"1f447-1f3fc.png","sheet_x":12,"sheet_y":15,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F447-1F3FD","non_qualified":null,"image":"1f447-1f3fd.png","sheet_x":12,"sheet_y":16,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F447-1F3FE","non_qualified":null,"image":"1f447-1f3fe.png","sheet_x":12,"sheet_y":17,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F447-1F3FF","non_qualified":null,"image":"1f447-1f3ff.png","sheet_x":12,"sheet_y":18,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WHITE LEFT POINTING BACKHAND INDEX","unified":"1F448","non_qualified":null,"docomo":null,"au":"E4FF","softbank":"E230","google":"FEB9B","image":"1f448.png","sheet_x":12,"sheet_y":19,"short_name":"point_left","short_names":["point_left"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-single-finger","sort_order":192,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F448-1F3FB","non_qualified":null,"image":"1f448-1f3fb.png","sheet_x":12,"sheet_y":20,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F448-1F3FC","non_qualified":null,"image":"1f448-1f3fc.png","sheet_x":12,"sheet_y":21,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F448-1F3FD","non_qualified":null,"image":"1f448-1f3fd.png","sheet_x":12,"sheet_y":22,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F448-1F3FE","non_qualified":null,"image":"1f448-1f3fe.png","sheet_x":12,"sheet_y":23,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F448-1F3FF","non_qualified":null,"image":"1f448-1f3ff.png","sheet_x":12,"sheet_y":24,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WHITE RIGHT POINTING BACKHAND INDEX","unified":"1F449","non_qualified":null,"docomo":null,"au":"E500","softbank":"E231","google":"FEB9C","image":"1f449.png","sheet_x":12,"sheet_y":25,"short_name":"point_right","short_names":["point_right"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-single-finger","sort_order":193,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F449-1F3FB","non_qualified":null,"image":"1f449-1f3fb.png","sheet_x":12,"sheet_y":26,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F449-1F3FC","non_qualified":null,"image":"1f449-1f3fc.png","sheet_x":12,"sheet_y":27,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F449-1F3FD","non_qualified":null,"image":"1f449-1f3fd.png","sheet_x":12,"sheet_y":28,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F449-1F3FE","non_qualified":null,"image":"1f449-1f3fe.png","sheet_x":12,"sheet_y":29,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F449-1F3FF","non_qualified":null,"image":"1f449-1f3ff.png","sheet_x":12,"sheet_y":30,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"FISTED HAND SIGN","unified":"1F44A","non_qualified":null,"docomo":"E6FD","au":"E4F3","softbank":"E00D","google":"FEB96","image":"1f44a.png","sheet_x":12,"sheet_y":31,"short_name":"facepunch","short_names":["facepunch","punch"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-closed","sort_order":202,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F44A-1F3FB","non_qualified":null,"image":"1f44a-1f3fb.png","sheet_x":12,"sheet_y":32,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F44A-1F3FC","non_qualified":null,"image":"1f44a-1f3fc.png","sheet_x":12,"sheet_y":33,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F44A-1F3FD","non_qualified":null,"image":"1f44a-1f3fd.png","sheet_x":12,"sheet_y":34,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F44A-1F3FE","non_qualified":null,"image":"1f44a-1f3fe.png","sheet_x":12,"sheet_y":35,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F44A-1F3FF","non_qualified":null,"image":"1f44a-1f3ff.png","sheet_x":12,"sheet_y":36,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WAVING HAND SIGN","unified":"1F44B","non_qualified":null,"docomo":"E695","au":"EAD6","softbank":"E41E","google":"FEB9D","image":"1f44b.png","sheet_x":12,"sheet_y":37,"short_name":"wave","short_names":["wave"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-open","sort_order":172,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F44B-1F3FB","non_qualified":null,"image":"1f44b-1f3fb.png","sheet_x":12,"sheet_y":38,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F44B-1F3FC","non_qualified":null,"image":"1f44b-1f3fc.png","sheet_x":12,"sheet_y":39,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F44B-1F3FD","non_qualified":null,"image":"1f44b-1f3fd.png","sheet_x":12,"sheet_y":40,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F44B-1F3FE","non_qualified":null,"image":"1f44b-1f3fe.png","sheet_x":12,"sheet_y":41,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F44B-1F3FF","non_qualified":null,"image":"1f44b-1f3ff.png","sheet_x":12,"sheet_y":42,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"OK HAND SIGN","unified":"1F44C","non_qualified":null,"docomo":"E70B","au":"EAD4","softbank":"E420","google":"FEB9F","image":"1f44c.png","sheet_x":12,"sheet_y":43,"short_name":"ok_hand","short_names":["ok_hand"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-partial","sort_order":183,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F44C-1F3FB","non_qualified":null,"image":"1f44c-1f3fb.png","sheet_x":12,"sheet_y":44,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F44C-1F3FC","non_qualified":null,"image":"1f44c-1f3fc.png","sheet_x":12,"sheet_y":45,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F44C-1F3FD","non_qualified":null,"image":"1f44c-1f3fd.png","sheet_x":12,"sheet_y":46,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F44C-1F3FE","non_qualified":null,"image":"1f44c-1f3fe.png","sheet_x":12,"sheet_y":47,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F44C-1F3FF","non_qualified":null,"image":"1f44c-1f3ff.png","sheet_x":12,"sheet_y":48,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"THUMBS UP SIGN","unified":"1F44D","non_qualified":null,"docomo":"E727","au":"E4F9","softbank":"E00E","google":"FEB97","image":"1f44d.png","sheet_x":12,"sheet_y":49,"short_name":"+1","short_names":["+1","thumbsup"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-closed","sort_order":199,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F44D-1F3FB","non_qualified":null,"image":"1f44d-1f3fb.png","sheet_x":12,"sheet_y":50,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F44D-1F3FC","non_qualified":null,"image":"1f44d-1f3fc.png","sheet_x":12,"sheet_y":51,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F44D-1F3FD","non_qualified":null,"image":"1f44d-1f3fd.png","sheet_x":12,"sheet_y":52,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F44D-1F3FE","non_qualified":null,"image":"1f44d-1f3fe.png","sheet_x":12,"sheet_y":53,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F44D-1F3FF","non_qualified":null,"image":"1f44d-1f3ff.png","sheet_x":12,"sheet_y":54,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"THUMBS DOWN SIGN","unified":"1F44E","non_qualified":null,"docomo":"E700","au":"EAD5","softbank":"E421","google":"FEBA0","image":"1f44e.png","sheet_x":12,"sheet_y":55,"short_name":"-1","short_names":["-1","thumbsdown"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-closed","sort_order":200,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F44E-1F3FB","non_qualified":null,"image":"1f44e-1f3fb.png","sheet_x":12,"sheet_y":56,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F44E-1F3FC","non_qualified":null,"image":"1f44e-1f3fc.png","sheet_x":12,"sheet_y":57,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F44E-1F3FD","non_qualified":null,"image":"1f44e-1f3fd.png","sheet_x":12,"sheet_y":58,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F44E-1F3FE","non_qualified":null,"image":"1f44e-1f3fe.png","sheet_x":12,"sheet_y":59,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F44E-1F3FF","non_qualified":null,"image":"1f44e-1f3ff.png","sheet_x":12,"sheet_y":60,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"CLAPPING HANDS SIGN","unified":"1F44F","non_qualified":null,"docomo":null,"au":"EAD3","softbank":"E41F","google":"FEB9E","image":"1f44f.png","sheet_x":12,"sheet_y":61,"short_name":"clap","short_names":["clap"],"text":null,"texts":null,"category":"People & Body","subcategory":"hands","sort_order":205,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F44F-1F3FB","non_qualified":null,"image":"1f44f-1f3fb.png","sheet_x":12,"sheet_y":62,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F44F-1F3FC","non_qualified":null,"image":"1f44f-1f3fc.png","sheet_x":13,"sheet_y":0,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F44F-1F3FD","non_qualified":null,"image":"1f44f-1f3fd.png","sheet_x":13,"sheet_y":1,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F44F-1F3FE","non_qualified":null,"image":"1f44f-1f3fe.png","sheet_x":13,"sheet_y":2,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F44F-1F3FF","non_qualified":null,"image":"1f44f-1f3ff.png","sheet_x":13,"sheet_y":3,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"OPEN HANDS SIGN","unified":"1F450","non_qualified":null,"docomo":"E695","au":"EAD6","softbank":"E422","google":"FEBA1","image":"1f450.png","sheet_x":13,"sheet_y":4,"short_name":"open_hands","short_names":["open_hands"],"text":null,"texts":null,"category":"People & Body","subcategory":"hands","sort_order":208,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F450-1F3FB","non_qualified":null,"image":"1f450-1f3fb.png","sheet_x":13,"sheet_y":5,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F450-1F3FC","non_qualified":null,"image":"1f450-1f3fc.png","sheet_x":13,"sheet_y":6,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F450-1F3FD","non_qualified":null,"image":"1f450-1f3fd.png","sheet_x":13,"sheet_y":7,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F450-1F3FE","non_qualified":null,"image":"1f450-1f3fe.png","sheet_x":13,"sheet_y":8,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F450-1F3FF","non_qualified":null,"image":"1f450-1f3ff.png","sheet_x":13,"sheet_y":9,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"CROWN","unified":"1F451","non_qualified":null,"docomo":"E71A","au":"E5C9","softbank":"E10E","google":"FE4D1","image":"1f451.png","sheet_x":13,"sheet_y":10,"short_name":"crown","short_names":["crown"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1196,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WOMANS HAT","unified":"1F452","non_qualified":null,"docomo":null,"au":"EA9E","softbank":"E318","google":"FE4D4","image":"1f452.png","sheet_x":13,"sheet_y":11,"short_name":"womans_hat","short_names":["womans_hat"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1197,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EYEGLASSES","unified":"1F453","non_qualified":null,"docomo":"E69A","au":"E4FE","softbank":null,"google":"FE4CE","image":"1f453.png","sheet_x":13,"sheet_y":12,"short_name":"eyeglasses","short_names":["eyeglasses"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1160,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NECKTIE","unified":"1F454","non_qualified":null,"docomo":null,"au":"EA93","softbank":"E302","google":"FE4D3","image":"1f454.png","sheet_x":13,"sheet_y":13,"short_name":"necktie","short_names":["necktie"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1165,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"T-SHIRT","unified":"1F455","non_qualified":null,"docomo":"E70E","au":"E5B6","softbank":"E006","google":"FE4CF","image":"1f455.png","sheet_x":13,"sheet_y":14,"short_name":"shirt","short_names":["shirt","tshirt"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1166,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"JEANS","unified":"1F456","non_qualified":null,"docomo":"E711","au":"EB77","softbank":null,"google":"FE4D0","image":"1f456.png","sheet_x":13,"sheet_y":15,"short_name":"jeans","short_names":["jeans"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1167,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DRESS","unified":"1F457","non_qualified":null,"docomo":null,"au":"EB6B","softbank":"E319","google":"FE4D5","image":"1f457.png","sheet_x":13,"sheet_y":16,"short_name":"dress","short_names":["dress"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1172,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"KIMONO","unified":"1F458","non_qualified":null,"docomo":null,"au":"EAA3","softbank":"E321","google":"FE4D9","image":"1f458.png","sheet_x":13,"sheet_y":17,"short_name":"kimono","short_names":["kimono"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1173,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BIKINI","unified":"1F459","non_qualified":null,"docomo":null,"au":"EAA4","softbank":"E322","google":"FE4DA","image":"1f459.png","sheet_x":13,"sheet_y":18,"short_name":"bikini","short_names":["bikini"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1178,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WOMANS CLOTHES","unified":"1F45A","non_qualified":null,"docomo":"E70E","au":"E50D","softbank":null,"google":"FE4DB","image":"1f45a.png","sheet_x":13,"sheet_y":19,"short_name":"womans_clothes","short_names":["womans_clothes"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1179,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PURSE","unified":"1F45B","non_qualified":null,"docomo":"E70F","au":"E504","softbank":null,"google":"FE4DC","image":"1f45b.png","sheet_x":13,"sheet_y":20,"short_name":"purse","short_names":["purse"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1181,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HANDBAG","unified":"1F45C","non_qualified":null,"docomo":"E682","au":"E49C","softbank":"E323","google":"FE4F0","image":"1f45c.png","sheet_x":13,"sheet_y":21,"short_name":"handbag","short_names":["handbag"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1182,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"POUCH","unified":"1F45D","non_qualified":null,"docomo":"E6AD","au":null,"softbank":null,"google":"FE4F1","image":"1f45d.png","sheet_x":13,"sheet_y":22,"short_name":"pouch","short_names":["pouch"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1183,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MANS SHOE","unified":"1F45E","non_qualified":null,"docomo":"E699","au":"E5B7","softbank":null,"google":"FE4CC","image":"1f45e.png","sheet_x":13,"sheet_y":23,"short_name":"mans_shoe","short_names":["mans_shoe","shoe"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1187,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ATHLETIC SHOE","unified":"1F45F","non_qualified":null,"docomo":"E699","au":"EB2B","softbank":"E007","google":"FE4CD","image":"1f45f.png","sheet_x":13,"sheet_y":24,"short_name":"athletic_shoe","short_names":["athletic_shoe"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1188,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HIGH-HEELED SHOE","unified":"1F460","non_qualified":null,"docomo":"E674","au":"E51A","softbank":"E13E","google":"FE4D6","image":"1f460.png","sheet_x":13,"sheet_y":25,"short_name":"high_heel","short_names":["high_heel"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1191,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WOMANS SANDAL","unified":"1F461","non_qualified":null,"docomo":"E674","au":"E51A","softbank":"E31A","google":"FE4D7","image":"1f461.png","sheet_x":13,"sheet_y":26,"short_name":"sandal","short_names":["sandal"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1192,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WOMANS BOOTS","unified":"1F462","non_qualified":null,"docomo":null,"au":"EA9F","softbank":"E31B","google":"FE4D8","image":"1f462.png","sheet_x":13,"sheet_y":27,"short_name":"boot","short_names":["boot"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1194,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FOOTPRINTS","unified":"1F463","non_qualified":null,"docomo":"E698","au":"EB2A","softbank":"E536","google":"FE553","image":"1f463.png","sheet_x":13,"sheet_y":28,"short_name":"footprints","short_names":["footprints"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-symbol","sort_order":558,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BUST IN SILHOUETTE","unified":"1F464","non_qualified":null,"docomo":"E6B1","au":null,"softbank":null,"google":"FE19A","image":"1f464.png","sheet_x":13,"sheet_y":29,"short_name":"bust_in_silhouette","short_names":["bust_in_silhouette"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-symbol","sort_order":550,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BUSTS IN SILHOUETTE","unified":"1F465","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f465.png","sheet_x":13,"sheet_y":30,"short_name":"busts_in_silhouette","short_names":["busts_in_silhouette"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-symbol","sort_order":551,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BOY","unified":"1F466","non_qualified":null,"docomo":"E6F0","au":"E4FC","softbank":"E001","google":"FE19B","image":"1f466.png","sheet_x":13,"sheet_y":31,"short_name":"boy","short_names":["boy"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":235,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F466-1F3FB","non_qualified":null,"image":"1f466-1f3fb.png","sheet_x":13,"sheet_y":32,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F466-1F3FC","non_qualified":null,"image":"1f466-1f3fc.png","sheet_x":13,"sheet_y":33,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F466-1F3FD","non_qualified":null,"image":"1f466-1f3fd.png","sheet_x":13,"sheet_y":34,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F466-1F3FE","non_qualified":null,"image":"1f466-1f3fe.png","sheet_x":13,"sheet_y":35,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F466-1F3FF","non_qualified":null,"image":"1f466-1f3ff.png","sheet_x":13,"sheet_y":36,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"GIRL","unified":"1F467","non_qualified":null,"docomo":"E6F0","au":"E4FA","softbank":"E002","google":"FE19C","image":"1f467.png","sheet_x":13,"sheet_y":37,"short_name":"girl","short_names":["girl"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":236,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F467-1F3FB","non_qualified":null,"image":"1f467-1f3fb.png","sheet_x":13,"sheet_y":38,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F467-1F3FC","non_qualified":null,"image":"1f467-1f3fc.png","sheet_x":13,"sheet_y":39,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F467-1F3FD","non_qualified":null,"image":"1f467-1f3fd.png","sheet_x":13,"sheet_y":40,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F467-1F3FE","non_qualified":null,"image":"1f467-1f3fe.png","sheet_x":13,"sheet_y":41,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F467-1F3FF","non_qualified":null,"image":"1f467-1f3ff.png","sheet_x":13,"sheet_y":42,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN FARMER","unified":"1F468-200D-1F33E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f33e.png","sheet_x":13,"sheet_y":43,"short_name":"male-farmer","short_names":["male-farmer"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":304,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F33E","non_qualified":null,"image":"1f468-1f3fb-200d-1f33e.png","sheet_x":13,"sheet_y":44,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F33E","non_qualified":null,"image":"1f468-1f3fc-200d-1f33e.png","sheet_x":13,"sheet_y":45,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F33E","non_qualified":null,"image":"1f468-1f3fd-200d-1f33e.png","sheet_x":13,"sheet_y":46,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F33E","non_qualified":null,"image":"1f468-1f3fe-200d-1f33e.png","sheet_x":13,"sheet_y":47,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F33E","non_qualified":null,"image":"1f468-1f3ff-200d-1f33e.png","sheet_x":13,"sheet_y":48,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN COOK","unified":"1F468-200D-1F373","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f373.png","sheet_x":13,"sheet_y":49,"short_name":"male-cook","short_names":["male-cook"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":307,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F373","non_qualified":null,"image":"1f468-1f3fb-200d-1f373.png","sheet_x":13,"sheet_y":50,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F373","non_qualified":null,"image":"1f468-1f3fc-200d-1f373.png","sheet_x":13,"sheet_y":51,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F373","non_qualified":null,"image":"1f468-1f3fd-200d-1f373.png","sheet_x":13,"sheet_y":52,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F373","non_qualified":null,"image":"1f468-1f3fe-200d-1f373.png","sheet_x":13,"sheet_y":53,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F373","non_qualified":null,"image":"1f468-1f3ff-200d-1f373.png","sheet_x":13,"sheet_y":54,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN FEEDING BABY","unified":"1F468-200D-1F37C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f37c.png","sheet_x":13,"sheet_y":55,"short_name":"man_feeding_baby","short_names":["man_feeding_baby"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":371,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F37C","non_qualified":null,"image":"1f468-1f3fb-200d-1f37c.png","sheet_x":13,"sheet_y":56,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F37C","non_qualified":null,"image":"1f468-1f3fc-200d-1f37c.png","sheet_x":13,"sheet_y":57,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F37C","non_qualified":null,"image":"1f468-1f3fd-200d-1f37c.png","sheet_x":13,"sheet_y":58,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F37C","non_qualified":null,"image":"1f468-1f3fe-200d-1f37c.png","sheet_x":13,"sheet_y":59,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F37C","non_qualified":null,"image":"1f468-1f3ff-200d-1f37c.png","sheet_x":13,"sheet_y":60,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN STUDENT","unified":"1F468-200D-1F393","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f393.png","sheet_x":13,"sheet_y":61,"short_name":"male-student","short_names":["male-student"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":295,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F393","non_qualified":null,"image":"1f468-1f3fb-200d-1f393.png","sheet_x":13,"sheet_y":62,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F393","non_qualified":null,"image":"1f468-1f3fc-200d-1f393.png","sheet_x":14,"sheet_y":0,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F393","non_qualified":null,"image":"1f468-1f3fd-200d-1f393.png","sheet_x":14,"sheet_y":1,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F393","non_qualified":null,"image":"1f468-1f3fe-200d-1f393.png","sheet_x":14,"sheet_y":2,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F393","non_qualified":null,"image":"1f468-1f3ff-200d-1f393.png","sheet_x":14,"sheet_y":3,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN SINGER","unified":"1F468-200D-1F3A4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f3a4.png","sheet_x":14,"sheet_y":4,"short_name":"male-singer","short_names":["male-singer"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":325,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F3A4","non_qualified":null,"image":"1f468-1f3fb-200d-1f3a4.png","sheet_x":14,"sheet_y":5,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F3A4","non_qualified":null,"image":"1f468-1f3fc-200d-1f3a4.png","sheet_x":14,"sheet_y":6,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F3A4","non_qualified":null,"image":"1f468-1f3fd-200d-1f3a4.png","sheet_x":14,"sheet_y":7,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F3A4","non_qualified":null,"image":"1f468-1f3fe-200d-1f3a4.png","sheet_x":14,"sheet_y":8,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F3A4","non_qualified":null,"image":"1f468-1f3ff-200d-1f3a4.png","sheet_x":14,"sheet_y":9,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN ARTIST","unified":"1F468-200D-1F3A8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f3a8.png","sheet_x":14,"sheet_y":10,"short_name":"male-artist","short_names":["male-artist"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":328,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F3A8","non_qualified":null,"image":"1f468-1f3fb-200d-1f3a8.png","sheet_x":14,"sheet_y":11,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F3A8","non_qualified":null,"image":"1f468-1f3fc-200d-1f3a8.png","sheet_x":14,"sheet_y":12,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F3A8","non_qualified":null,"image":"1f468-1f3fd-200d-1f3a8.png","sheet_x":14,"sheet_y":13,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F3A8","non_qualified":null,"image":"1f468-1f3fe-200d-1f3a8.png","sheet_x":14,"sheet_y":14,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F3A8","non_qualified":null,"image":"1f468-1f3ff-200d-1f3a8.png","sheet_x":14,"sheet_y":15,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN TEACHER","unified":"1F468-200D-1F3EB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f3eb.png","sheet_x":14,"sheet_y":16,"short_name":"male-teacher","short_names":["male-teacher"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":298,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F3EB","non_qualified":null,"image":"1f468-1f3fb-200d-1f3eb.png","sheet_x":14,"sheet_y":17,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F3EB","non_qualified":null,"image":"1f468-1f3fc-200d-1f3eb.png","sheet_x":14,"sheet_y":18,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F3EB","non_qualified":null,"image":"1f468-1f3fd-200d-1f3eb.png","sheet_x":14,"sheet_y":19,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F3EB","non_qualified":null,"image":"1f468-1f3fe-200d-1f3eb.png","sheet_x":14,"sheet_y":20,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F3EB","non_qualified":null,"image":"1f468-1f3ff-200d-1f3eb.png","sheet_x":14,"sheet_y":21,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN FACTORY WORKER","unified":"1F468-200D-1F3ED","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f3ed.png","sheet_x":14,"sheet_y":22,"short_name":"male-factory-worker","short_names":["male-factory-worker"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":313,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F3ED","non_qualified":null,"image":"1f468-1f3fb-200d-1f3ed.png","sheet_x":14,"sheet_y":23,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F3ED","non_qualified":null,"image":"1f468-1f3fc-200d-1f3ed.png","sheet_x":14,"sheet_y":24,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F3ED","non_qualified":null,"image":"1f468-1f3fd-200d-1f3ed.png","sheet_x":14,"sheet_y":25,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F3ED","non_qualified":null,"image":"1f468-1f3fe-200d-1f3ed.png","sheet_x":14,"sheet_y":26,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F3ED","non_qualified":null,"image":"1f468-1f3ff-200d-1f3ed.png","sheet_x":14,"sheet_y":27,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"FAMILY: MAN, BOY, BOY","unified":"1F468-200D-1F466-200D-1F466","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f466-200d-1f466.png","sheet_x":14,"sheet_y":28,"short_name":"man-boy-boy","short_names":["man-boy-boy"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":540,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: MAN, BOY","unified":"1F468-200D-1F466","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f466.png","sheet_x":14,"sheet_y":29,"short_name":"man-boy","short_names":["man-boy"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":539,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: MAN, GIRL, BOY","unified":"1F468-200D-1F467-200D-1F466","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f467-200d-1f466.png","sheet_x":14,"sheet_y":30,"short_name":"man-girl-boy","short_names":["man-girl-boy"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":542,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: MAN, GIRL, GIRL","unified":"1F468-200D-1F467-200D-1F467","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f467-200d-1f467.png","sheet_x":14,"sheet_y":31,"short_name":"man-girl-girl","short_names":["man-girl-girl"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":543,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: MAN, GIRL","unified":"1F468-200D-1F467","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f467.png","sheet_x":14,"sheet_y":32,"short_name":"man-girl","short_names":["man-girl"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":541,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: MAN, MAN, BOY","unified":"1F468-200D-1F468-200D-1F466","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f468-200d-1f466.png","sheet_x":14,"sheet_y":33,"short_name":"man-man-boy","short_names":["man-man-boy"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":529,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: MAN, MAN, BOY, BOY","unified":"1F468-200D-1F468-200D-1F466-200D-1F466","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f468-200d-1f466-200d-1f466.png","sheet_x":14,"sheet_y":34,"short_name":"man-man-boy-boy","short_names":["man-man-boy-boy"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":532,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: MAN, MAN, GIRL","unified":"1F468-200D-1F468-200D-1F467","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f468-200d-1f467.png","sheet_x":14,"sheet_y":35,"short_name":"man-man-girl","short_names":["man-man-girl"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":530,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: MAN, MAN, GIRL, BOY","unified":"1F468-200D-1F468-200D-1F467-200D-1F466","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f468-200d-1f467-200d-1f466.png","sheet_x":14,"sheet_y":36,"short_name":"man-man-girl-boy","short_names":["man-man-girl-boy"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":531,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: MAN, MAN, GIRL, GIRL","unified":"1F468-200D-1F468-200D-1F467-200D-1F467","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f468-200d-1f467-200d-1f467.png","sheet_x":14,"sheet_y":37,"short_name":"man-man-girl-girl","short_names":["man-man-girl-girl"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":533,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: MAN, WOMAN, BOY","unified":"1F468-200D-1F469-200D-1F466","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f469-200d-1f466.png","sheet_x":14,"sheet_y":38,"short_name":"man-woman-boy","short_names":["man-woman-boy"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":524,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F46A"},{"name":"FAMILY: MAN, WOMAN, BOY, BOY","unified":"1F468-200D-1F469-200D-1F466-200D-1F466","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f469-200d-1f466-200d-1f466.png","sheet_x":14,"sheet_y":39,"short_name":"man-woman-boy-boy","short_names":["man-woman-boy-boy"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":527,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: MAN, WOMAN, GIRL","unified":"1F468-200D-1F469-200D-1F467","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f469-200d-1f467.png","sheet_x":14,"sheet_y":40,"short_name":"man-woman-girl","short_names":["man-woman-girl"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":525,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: MAN, WOMAN, GIRL, BOY","unified":"1F468-200D-1F469-200D-1F467-200D-1F466","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f469-200d-1f467-200d-1f466.png","sheet_x":14,"sheet_y":41,"short_name":"man-woman-girl-boy","short_names":["man-woman-girl-boy"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":526,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: MAN, WOMAN, GIRL, GIRL","unified":"1F468-200D-1F469-200D-1F467-200D-1F467","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f469-200d-1f467-200d-1f467.png","sheet_x":14,"sheet_y":42,"short_name":"man-woman-girl-girl","short_names":["man-woman-girl-girl"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":528,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MAN TECHNOLOGIST","unified":"1F468-200D-1F4BB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f4bb.png","sheet_x":14,"sheet_y":43,"short_name":"male-technologist","short_names":["male-technologist"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":322,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F4BB","non_qualified":null,"image":"1f468-1f3fb-200d-1f4bb.png","sheet_x":14,"sheet_y":44,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F4BB","non_qualified":null,"image":"1f468-1f3fc-200d-1f4bb.png","sheet_x":14,"sheet_y":45,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F4BB","non_qualified":null,"image":"1f468-1f3fd-200d-1f4bb.png","sheet_x":14,"sheet_y":46,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F4BB","non_qualified":null,"image":"1f468-1f3fe-200d-1f4bb.png","sheet_x":14,"sheet_y":47,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F4BB","non_qualified":null,"image":"1f468-1f3ff-200d-1f4bb.png","sheet_x":14,"sheet_y":48,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN OFFICE WORKER","unified":"1F468-200D-1F4BC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f4bc.png","sheet_x":14,"sheet_y":49,"short_name":"male-office-worker","short_names":["male-office-worker"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":316,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F4BC","non_qualified":null,"image":"1f468-1f3fb-200d-1f4bc.png","sheet_x":14,"sheet_y":50,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F4BC","non_qualified":null,"image":"1f468-1f3fc-200d-1f4bc.png","sheet_x":14,"sheet_y":51,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F4BC","non_qualified":null,"image":"1f468-1f3fd-200d-1f4bc.png","sheet_x":14,"sheet_y":52,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F4BC","non_qualified":null,"image":"1f468-1f3fe-200d-1f4bc.png","sheet_x":14,"sheet_y":53,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F4BC","non_qualified":null,"image":"1f468-1f3ff-200d-1f4bc.png","sheet_x":14,"sheet_y":54,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN MECHANIC","unified":"1F468-200D-1F527","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f527.png","sheet_x":14,"sheet_y":55,"short_name":"male-mechanic","short_names":["male-mechanic"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":310,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F527","non_qualified":null,"image":"1f468-1f3fb-200d-1f527.png","sheet_x":14,"sheet_y":56,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F527","non_qualified":null,"image":"1f468-1f3fc-200d-1f527.png","sheet_x":14,"sheet_y":57,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F527","non_qualified":null,"image":"1f468-1f3fd-200d-1f527.png","sheet_x":14,"sheet_y":58,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F527","non_qualified":null,"image":"1f468-1f3fe-200d-1f527.png","sheet_x":14,"sheet_y":59,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F527","non_qualified":null,"image":"1f468-1f3ff-200d-1f527.png","sheet_x":14,"sheet_y":60,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN SCIENTIST","unified":"1F468-200D-1F52C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f52c.png","sheet_x":14,"sheet_y":61,"short_name":"male-scientist","short_names":["male-scientist"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":319,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F52C","non_qualified":null,"image":"1f468-1f3fb-200d-1f52c.png","sheet_x":14,"sheet_y":62,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F52C","non_qualified":null,"image":"1f468-1f3fc-200d-1f52c.png","sheet_x":15,"sheet_y":0,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F52C","non_qualified":null,"image":"1f468-1f3fd-200d-1f52c.png","sheet_x":15,"sheet_y":1,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F52C","non_qualified":null,"image":"1f468-1f3fe-200d-1f52c.png","sheet_x":15,"sheet_y":2,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F52C","non_qualified":null,"image":"1f468-1f3ff-200d-1f52c.png","sheet_x":15,"sheet_y":3,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN ASTRONAUT","unified":"1F468-200D-1F680","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f680.png","sheet_x":15,"sheet_y":4,"short_name":"male-astronaut","short_names":["male-astronaut"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":334,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F680","non_qualified":null,"image":"1f468-1f3fb-200d-1f680.png","sheet_x":15,"sheet_y":5,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F680","non_qualified":null,"image":"1f468-1f3fc-200d-1f680.png","sheet_x":15,"sheet_y":6,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F680","non_qualified":null,"image":"1f468-1f3fd-200d-1f680.png","sheet_x":15,"sheet_y":7,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F680","non_qualified":null,"image":"1f468-1f3fe-200d-1f680.png","sheet_x":15,"sheet_y":8,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F680","non_qualified":null,"image":"1f468-1f3ff-200d-1f680.png","sheet_x":15,"sheet_y":9,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN FIREFIGHTER","unified":"1F468-200D-1F692","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f692.png","sheet_x":15,"sheet_y":10,"short_name":"male-firefighter","short_names":["male-firefighter"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":337,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F692","non_qualified":null,"image":"1f468-1f3fb-200d-1f692.png","sheet_x":15,"sheet_y":11,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F692","non_qualified":null,"image":"1f468-1f3fc-200d-1f692.png","sheet_x":15,"sheet_y":12,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F692","non_qualified":null,"image":"1f468-1f3fd-200d-1f692.png","sheet_x":15,"sheet_y":13,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F692","non_qualified":null,"image":"1f468-1f3fe-200d-1f692.png","sheet_x":15,"sheet_y":14,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F692","non_qualified":null,"image":"1f468-1f3ff-200d-1f692.png","sheet_x":15,"sheet_y":15,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN WITH WHITE CANE FACING RIGHT","unified":"1F468-200D-1F9AF-200D-27A1-FE0F","non_qualified":"1F468-200D-1F9AF-200D-27A1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f9af-200d-27a1-fe0f.png","sheet_x":15,"sheet_y":16,"short_name":"man_with_white_cane_facing_right","short_names":["man_with_white_cane_facing_right"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":430,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F9AF-200D-27A1-FE0F","non_qualified":"1F468-1F3FB-200D-1F9AF-200D-27A1","image":"1f468-1f3fb-200d-1f9af-200d-27a1-fe0f.png","sheet_x":15,"sheet_y":17,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FC":{"unified":"1F468-1F3FC-200D-1F9AF-200D-27A1-FE0F","non_qualified":"1F468-1F3FC-200D-1F9AF-200D-27A1","image":"1f468-1f3fc-200d-1f9af-200d-27a1-fe0f.png","sheet_x":15,"sheet_y":18,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FD":{"unified":"1F468-1F3FD-200D-1F9AF-200D-27A1-FE0F","non_qualified":"1F468-1F3FD-200D-1F9AF-200D-27A1","image":"1f468-1f3fd-200d-1f9af-200d-27a1-fe0f.png","sheet_x":15,"sheet_y":19,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FE":{"unified":"1F468-1F3FE-200D-1F9AF-200D-27A1-FE0F","non_qualified":"1F468-1F3FE-200D-1F9AF-200D-27A1","image":"1f468-1f3fe-200d-1f9af-200d-27a1-fe0f.png","sheet_x":15,"sheet_y":20,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FF":{"unified":"1F468-1F3FF-200D-1F9AF-200D-27A1-FE0F","non_qualified":"1F468-1F3FF-200D-1F9AF-200D-27A1","image":"1f468-1f3ff-200d-1f9af-200d-27a1-fe0f.png","sheet_x":15,"sheet_y":21,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false}}},{"name":"MAN WITH WHITE CANE","unified":"1F468-200D-1F9AF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f9af.png","sheet_x":15,"sheet_y":22,"short_name":"man_with_probing_cane","short_names":["man_with_probing_cane"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":429,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F9AF","non_qualified":null,"image":"1f468-1f3fb-200d-1f9af.png","sheet_x":15,"sheet_y":23,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F9AF","non_qualified":null,"image":"1f468-1f3fc-200d-1f9af.png","sheet_x":15,"sheet_y":24,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F9AF","non_qualified":null,"image":"1f468-1f3fd-200d-1f9af.png","sheet_x":15,"sheet_y":25,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F9AF","non_qualified":null,"image":"1f468-1f3fe-200d-1f9af.png","sheet_x":15,"sheet_y":26,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F9AF","non_qualified":null,"image":"1f468-1f3ff-200d-1f9af.png","sheet_x":15,"sheet_y":27,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN: RED HAIR","unified":"1F468-200D-1F9B0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f9b0.png","sheet_x":15,"sheet_y":28,"short_name":"red_haired_man","short_names":["red_haired_man"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":243,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F9B0","non_qualified":null,"image":"1f468-1f3fb-200d-1f9b0.png","sheet_x":15,"sheet_y":29,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F9B0","non_qualified":null,"image":"1f468-1f3fc-200d-1f9b0.png","sheet_x":15,"sheet_y":30,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F9B0","non_qualified":null,"image":"1f468-1f3fd-200d-1f9b0.png","sheet_x":15,"sheet_y":31,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F9B0","non_qualified":null,"image":"1f468-1f3fe-200d-1f9b0.png","sheet_x":15,"sheet_y":32,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F9B0","non_qualified":null,"image":"1f468-1f3ff-200d-1f9b0.png","sheet_x":15,"sheet_y":33,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN: CURLY HAIR","unified":"1F468-200D-1F9B1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f9b1.png","sheet_x":15,"sheet_y":34,"short_name":"curly_haired_man","short_names":["curly_haired_man"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":244,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F9B1","non_qualified":null,"image":"1f468-1f3fb-200d-1f9b1.png","sheet_x":15,"sheet_y":35,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F9B1","non_qualified":null,"image":"1f468-1f3fc-200d-1f9b1.png","sheet_x":15,"sheet_y":36,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F9B1","non_qualified":null,"image":"1f468-1f3fd-200d-1f9b1.png","sheet_x":15,"sheet_y":37,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F9B1","non_qualified":null,"image":"1f468-1f3fe-200d-1f9b1.png","sheet_x":15,"sheet_y":38,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F9B1","non_qualified":null,"image":"1f468-1f3ff-200d-1f9b1.png","sheet_x":15,"sheet_y":39,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN: BALD","unified":"1F468-200D-1F9B2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f9b2.png","sheet_x":15,"sheet_y":40,"short_name":"bald_man","short_names":["bald_man"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":246,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F9B2","non_qualified":null,"image":"1f468-1f3fb-200d-1f9b2.png","sheet_x":15,"sheet_y":41,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F9B2","non_qualified":null,"image":"1f468-1f3fc-200d-1f9b2.png","sheet_x":15,"sheet_y":42,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F9B2","non_qualified":null,"image":"1f468-1f3fd-200d-1f9b2.png","sheet_x":15,"sheet_y":43,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F9B2","non_qualified":null,"image":"1f468-1f3fe-200d-1f9b2.png","sheet_x":15,"sheet_y":44,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F9B2","non_qualified":null,"image":"1f468-1f3ff-200d-1f9b2.png","sheet_x":15,"sheet_y":45,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN: WHITE HAIR","unified":"1F468-200D-1F9B3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f9b3.png","sheet_x":15,"sheet_y":46,"short_name":"white_haired_man","short_names":["white_haired_man"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":245,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F9B3","non_qualified":null,"image":"1f468-1f3fb-200d-1f9b3.png","sheet_x":15,"sheet_y":47,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F9B3","non_qualified":null,"image":"1f468-1f3fc-200d-1f9b3.png","sheet_x":15,"sheet_y":48,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F9B3","non_qualified":null,"image":"1f468-1f3fd-200d-1f9b3.png","sheet_x":15,"sheet_y":49,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F9B3","non_qualified":null,"image":"1f468-1f3fe-200d-1f9b3.png","sheet_x":15,"sheet_y":50,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F9B3","non_qualified":null,"image":"1f468-1f3ff-200d-1f9b3.png","sheet_x":15,"sheet_y":51,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN IN MOTORIZED WHEELCHAIR FACING RIGHT","unified":"1F468-200D-1F9BC-200D-27A1-FE0F","non_qualified":"1F468-200D-1F9BC-200D-27A1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f9bc-200d-27a1-fe0f.png","sheet_x":15,"sheet_y":52,"short_name":"man_in_motorized_wheelchair_facing_right","short_names":["man_in_motorized_wheelchair_facing_right"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":436,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F9BC-200D-27A1-FE0F","non_qualified":"1F468-1F3FB-200D-1F9BC-200D-27A1","image":"1f468-1f3fb-200d-1f9bc-200d-27a1-fe0f.png","sheet_x":15,"sheet_y":53,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FC":{"unified":"1F468-1F3FC-200D-1F9BC-200D-27A1-FE0F","non_qualified":"1F468-1F3FC-200D-1F9BC-200D-27A1","image":"1f468-1f3fc-200d-1f9bc-200d-27a1-fe0f.png","sheet_x":15,"sheet_y":54,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FD":{"unified":"1F468-1F3FD-200D-1F9BC-200D-27A1-FE0F","non_qualified":"1F468-1F3FD-200D-1F9BC-200D-27A1","image":"1f468-1f3fd-200d-1f9bc-200d-27a1-fe0f.png","sheet_x":15,"sheet_y":55,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FE":{"unified":"1F468-1F3FE-200D-1F9BC-200D-27A1-FE0F","non_qualified":"1F468-1F3FE-200D-1F9BC-200D-27A1","image":"1f468-1f3fe-200d-1f9bc-200d-27a1-fe0f.png","sheet_x":15,"sheet_y":56,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FF":{"unified":"1F468-1F3FF-200D-1F9BC-200D-27A1-FE0F","non_qualified":"1F468-1F3FF-200D-1F9BC-200D-27A1","image":"1f468-1f3ff-200d-1f9bc-200d-27a1-fe0f.png","sheet_x":15,"sheet_y":57,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false}}},{"name":"MAN IN MOTORIZED WHEELCHAIR","unified":"1F468-200D-1F9BC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f9bc.png","sheet_x":15,"sheet_y":58,"short_name":"man_in_motorized_wheelchair","short_names":["man_in_motorized_wheelchair"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":435,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F9BC","non_qualified":null,"image":"1f468-1f3fb-200d-1f9bc.png","sheet_x":15,"sheet_y":59,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F9BC","non_qualified":null,"image":"1f468-1f3fc-200d-1f9bc.png","sheet_x":15,"sheet_y":60,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F9BC","non_qualified":null,"image":"1f468-1f3fd-200d-1f9bc.png","sheet_x":15,"sheet_y":61,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F9BC","non_qualified":null,"image":"1f468-1f3fe-200d-1f9bc.png","sheet_x":15,"sheet_y":62,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F9BC","non_qualified":null,"image":"1f468-1f3ff-200d-1f9bc.png","sheet_x":16,"sheet_y":0,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN IN MANUAL WHEELCHAIR FACING RIGHT","unified":"1F468-200D-1F9BD-200D-27A1-FE0F","non_qualified":"1F468-200D-1F9BD-200D-27A1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f9bd-200d-27a1-fe0f.png","sheet_x":16,"sheet_y":1,"short_name":"man_in_manual_wheelchair_facing_right","short_names":["man_in_manual_wheelchair_facing_right"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":442,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F9BD-200D-27A1-FE0F","non_qualified":"1F468-1F3FB-200D-1F9BD-200D-27A1","image":"1f468-1f3fb-200d-1f9bd-200d-27a1-fe0f.png","sheet_x":16,"sheet_y":2,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FC":{"unified":"1F468-1F3FC-200D-1F9BD-200D-27A1-FE0F","non_qualified":"1F468-1F3FC-200D-1F9BD-200D-27A1","image":"1f468-1f3fc-200d-1f9bd-200d-27a1-fe0f.png","sheet_x":16,"sheet_y":3,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FD":{"unified":"1F468-1F3FD-200D-1F9BD-200D-27A1-FE0F","non_qualified":"1F468-1F3FD-200D-1F9BD-200D-27A1","image":"1f468-1f3fd-200d-1f9bd-200d-27a1-fe0f.png","sheet_x":16,"sheet_y":4,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FE":{"unified":"1F468-1F3FE-200D-1F9BD-200D-27A1-FE0F","non_qualified":"1F468-1F3FE-200D-1F9BD-200D-27A1","image":"1f468-1f3fe-200d-1f9bd-200d-27a1-fe0f.png","sheet_x":16,"sheet_y":5,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FF":{"unified":"1F468-1F3FF-200D-1F9BD-200D-27A1-FE0F","non_qualified":"1F468-1F3FF-200D-1F9BD-200D-27A1","image":"1f468-1f3ff-200d-1f9bd-200d-27a1-fe0f.png","sheet_x":16,"sheet_y":6,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false}}},{"name":"MAN IN MANUAL WHEELCHAIR","unified":"1F468-200D-1F9BD","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-1f9bd.png","sheet_x":16,"sheet_y":7,"short_name":"man_in_manual_wheelchair","short_names":["man_in_manual_wheelchair"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":441,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-1F9BD","non_qualified":null,"image":"1f468-1f3fb-200d-1f9bd.png","sheet_x":16,"sheet_y":8,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-1F9BD","non_qualified":null,"image":"1f468-1f3fc-200d-1f9bd.png","sheet_x":16,"sheet_y":9,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-1F9BD","non_qualified":null,"image":"1f468-1f3fd-200d-1f9bd.png","sheet_x":16,"sheet_y":10,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-1F9BD","non_qualified":null,"image":"1f468-1f3fe-200d-1f9bd.png","sheet_x":16,"sheet_y":11,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-1F9BD","non_qualified":null,"image":"1f468-1f3ff-200d-1f9bd.png","sheet_x":16,"sheet_y":12,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN HEALTH WORKER","unified":"1F468-200D-2695-FE0F","non_qualified":"1F468-200D-2695","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-2695-fe0f.png","sheet_x":16,"sheet_y":13,"short_name":"male-doctor","short_names":["male-doctor"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":292,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-2695-FE0F","non_qualified":"1F468-1F3FB-200D-2695","image":"1f468-1f3fb-200d-2695-fe0f.png","sheet_x":16,"sheet_y":14,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-2695-FE0F","non_qualified":"1F468-1F3FC-200D-2695","image":"1f468-1f3fc-200d-2695-fe0f.png","sheet_x":16,"sheet_y":15,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-2695-FE0F","non_qualified":"1F468-1F3FD-200D-2695","image":"1f468-1f3fd-200d-2695-fe0f.png","sheet_x":16,"sheet_y":16,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-2695-FE0F","non_qualified":"1F468-1F3FE-200D-2695","image":"1f468-1f3fe-200d-2695-fe0f.png","sheet_x":16,"sheet_y":17,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-2695-FE0F","non_qualified":"1F468-1F3FF-200D-2695","image":"1f468-1f3ff-200d-2695-fe0f.png","sheet_x":16,"sheet_y":18,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN JUDGE","unified":"1F468-200D-2696-FE0F","non_qualified":"1F468-200D-2696","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-2696-fe0f.png","sheet_x":16,"sheet_y":19,"short_name":"male-judge","short_names":["male-judge"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":301,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-2696-FE0F","non_qualified":"1F468-1F3FB-200D-2696","image":"1f468-1f3fb-200d-2696-fe0f.png","sheet_x":16,"sheet_y":20,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-2696-FE0F","non_qualified":"1F468-1F3FC-200D-2696","image":"1f468-1f3fc-200d-2696-fe0f.png","sheet_x":16,"sheet_y":21,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-2696-FE0F","non_qualified":"1F468-1F3FD-200D-2696","image":"1f468-1f3fd-200d-2696-fe0f.png","sheet_x":16,"sheet_y":22,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-2696-FE0F","non_qualified":"1F468-1F3FE-200D-2696","image":"1f468-1f3fe-200d-2696-fe0f.png","sheet_x":16,"sheet_y":23,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-2696-FE0F","non_qualified":"1F468-1F3FF-200D-2696","image":"1f468-1f3ff-200d-2696-fe0f.png","sheet_x":16,"sheet_y":24,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN PILOT","unified":"1F468-200D-2708-FE0F","non_qualified":"1F468-200D-2708","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-2708-fe0f.png","sheet_x":16,"sheet_y":25,"short_name":"male-pilot","short_names":["male-pilot"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":331,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB-200D-2708-FE0F","non_qualified":"1F468-1F3FB-200D-2708","image":"1f468-1f3fb-200d-2708-fe0f.png","sheet_x":16,"sheet_y":26,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC-200D-2708-FE0F","non_qualified":"1F468-1F3FC-200D-2708","image":"1f468-1f3fc-200d-2708-fe0f.png","sheet_x":16,"sheet_y":27,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD-200D-2708-FE0F","non_qualified":"1F468-1F3FD-200D-2708","image":"1f468-1f3fd-200d-2708-fe0f.png","sheet_x":16,"sheet_y":28,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE-200D-2708-FE0F","non_qualified":"1F468-1F3FE-200D-2708","image":"1f468-1f3fe-200d-2708-fe0f.png","sheet_x":16,"sheet_y":29,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF-200D-2708-FE0F","non_qualified":"1F468-1F3FF-200D-2708","image":"1f468-1f3ff-200d-2708-fe0f.png","sheet_x":16,"sheet_y":30,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"COUPLE WITH HEART: MAN, MAN","unified":"1F468-200D-2764-FE0F-200D-1F468","non_qualified":"1F468-200D-2764-200D-1F468","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-2764-fe0f-200d-1f468.png","sheet_x":16,"sheet_y":31,"short_name":"man-heart-man","short_names":["man-heart-man"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":522,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB-1F3FB":{"unified":"1F468-1F3FB-200D-2764-FE0F-200D-1F468-1F3FB","non_qualified":"1F468-1F3FB-200D-2764-200D-1F468-1F3FB","image":"1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb.png","sheet_x":16,"sheet_y":32,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FC":{"unified":"1F468-1F3FB-200D-2764-FE0F-200D-1F468-1F3FC","non_qualified":"1F468-1F3FB-200D-2764-200D-1F468-1F3FC","image":"1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc.png","sheet_x":16,"sheet_y":33,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FD":{"unified":"1F468-1F3FB-200D-2764-FE0F-200D-1F468-1F3FD","non_qualified":"1F468-1F3FB-200D-2764-200D-1F468-1F3FD","image":"1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd.png","sheet_x":16,"sheet_y":34,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FE":{"unified":"1F468-1F3FB-200D-2764-FE0F-200D-1F468-1F3FE","non_qualified":"1F468-1F3FB-200D-2764-200D-1F468-1F3FE","image":"1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe.png","sheet_x":16,"sheet_y":35,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FF":{"unified":"1F468-1F3FB-200D-2764-FE0F-200D-1F468-1F3FF","non_qualified":"1F468-1F3FB-200D-2764-200D-1F468-1F3FF","image":"1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff.png","sheet_x":16,"sheet_y":36,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FB":{"unified":"1F468-1F3FC-200D-2764-FE0F-200D-1F468-1F3FB","non_qualified":"1F468-1F3FC-200D-2764-200D-1F468-1F3FB","image":"1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb.png","sheet_x":16,"sheet_y":37,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FC":{"unified":"1F468-1F3FC-200D-2764-FE0F-200D-1F468-1F3FC","non_qualified":"1F468-1F3FC-200D-2764-200D-1F468-1F3FC","image":"1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc.png","sheet_x":16,"sheet_y":38,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FD":{"unified":"1F468-1F3FC-200D-2764-FE0F-200D-1F468-1F3FD","non_qualified":"1F468-1F3FC-200D-2764-200D-1F468-1F3FD","image":"1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd.png","sheet_x":16,"sheet_y":39,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FE":{"unified":"1F468-1F3FC-200D-2764-FE0F-200D-1F468-1F3FE","non_qualified":"1F468-1F3FC-200D-2764-200D-1F468-1F3FE","image":"1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe.png","sheet_x":16,"sheet_y":40,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FF":{"unified":"1F468-1F3FC-200D-2764-FE0F-200D-1F468-1F3FF","non_qualified":"1F468-1F3FC-200D-2764-200D-1F468-1F3FF","image":"1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff.png","sheet_x":16,"sheet_y":41,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FB":{"unified":"1F468-1F3FD-200D-2764-FE0F-200D-1F468-1F3FB","non_qualified":"1F468-1F3FD-200D-2764-200D-1F468-1F3FB","image":"1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb.png","sheet_x":16,"sheet_y":42,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FC":{"unified":"1F468-1F3FD-200D-2764-FE0F-200D-1F468-1F3FC","non_qualified":"1F468-1F3FD-200D-2764-200D-1F468-1F3FC","image":"1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc.png","sheet_x":16,"sheet_y":43,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FD":{"unified":"1F468-1F3FD-200D-2764-FE0F-200D-1F468-1F3FD","non_qualified":"1F468-1F3FD-200D-2764-200D-1F468-1F3FD","image":"1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd.png","sheet_x":16,"sheet_y":44,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FE":{"unified":"1F468-1F3FD-200D-2764-FE0F-200D-1F468-1F3FE","non_qualified":"1F468-1F3FD-200D-2764-200D-1F468-1F3FE","image":"1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe.png","sheet_x":16,"sheet_y":45,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FF":{"unified":"1F468-1F3FD-200D-2764-FE0F-200D-1F468-1F3FF","non_qualified":"1F468-1F3FD-200D-2764-200D-1F468-1F3FF","image":"1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff.png","sheet_x":16,"sheet_y":46,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FB":{"unified":"1F468-1F3FE-200D-2764-FE0F-200D-1F468-1F3FB","non_qualified":"1F468-1F3FE-200D-2764-200D-1F468-1F3FB","image":"1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb.png","sheet_x":16,"sheet_y":47,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FC":{"unified":"1F468-1F3FE-200D-2764-FE0F-200D-1F468-1F3FC","non_qualified":"1F468-1F3FE-200D-2764-200D-1F468-1F3FC","image":"1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc.png","sheet_x":16,"sheet_y":48,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FD":{"unified":"1F468-1F3FE-200D-2764-FE0F-200D-1F468-1F3FD","non_qualified":"1F468-1F3FE-200D-2764-200D-1F468-1F3FD","image":"1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd.png","sheet_x":16,"sheet_y":49,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FE":{"unified":"1F468-1F3FE-200D-2764-FE0F-200D-1F468-1F3FE","non_qualified":"1F468-1F3FE-200D-2764-200D-1F468-1F3FE","image":"1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe.png","sheet_x":16,"sheet_y":50,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FF":{"unified":"1F468-1F3FE-200D-2764-FE0F-200D-1F468-1F3FF","non_qualified":"1F468-1F3FE-200D-2764-200D-1F468-1F3FF","image":"1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff.png","sheet_x":16,"sheet_y":51,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FB":{"unified":"1F468-1F3FF-200D-2764-FE0F-200D-1F468-1F3FB","non_qualified":"1F468-1F3FF-200D-2764-200D-1F468-1F3FB","image":"1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb.png","sheet_x":16,"sheet_y":52,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FC":{"unified":"1F468-1F3FF-200D-2764-FE0F-200D-1F468-1F3FC","non_qualified":"1F468-1F3FF-200D-2764-200D-1F468-1F3FC","image":"1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc.png","sheet_x":16,"sheet_y":53,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FD":{"unified":"1F468-1F3FF-200D-2764-FE0F-200D-1F468-1F3FD","non_qualified":"1F468-1F3FF-200D-2764-200D-1F468-1F3FD","image":"1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd.png","sheet_x":16,"sheet_y":54,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FE":{"unified":"1F468-1F3FF-200D-2764-FE0F-200D-1F468-1F3FE","non_qualified":"1F468-1F3FF-200D-2764-200D-1F468-1F3FE","image":"1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe.png","sheet_x":16,"sheet_y":55,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FF":{"unified":"1F468-1F3FF-200D-2764-FE0F-200D-1F468-1F3FF","non_qualified":"1F468-1F3FF-200D-2764-200D-1F468-1F3FF","image":"1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff.png","sheet_x":16,"sheet_y":56,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"KISS: MAN, MAN","unified":"1F468-200D-2764-FE0F-200D-1F48B-200D-1F468","non_qualified":"1F468-200D-2764-200D-1F48B-200D-1F468","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.png","sheet_x":16,"sheet_y":57,"short_name":"man-kiss-man","short_names":["man-kiss-man"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":518,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB-1F3FB":{"unified":"1F468-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB","non_qualified":"1F468-1F3FB-200D-2764-200D-1F48B-200D-1F468-1F3FB","image":"1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.png","sheet_x":16,"sheet_y":58,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FC":{"unified":"1F468-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC","non_qualified":"1F468-1F3FB-200D-2764-200D-1F48B-200D-1F468-1F3FC","image":"1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.png","sheet_x":16,"sheet_y":59,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FD":{"unified":"1F468-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD","non_qualified":"1F468-1F3FB-200D-2764-200D-1F48B-200D-1F468-1F3FD","image":"1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.png","sheet_x":16,"sheet_y":60,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FE":{"unified":"1F468-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE","non_qualified":"1F468-1F3FB-200D-2764-200D-1F48B-200D-1F468-1F3FE","image":"1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.png","sheet_x":16,"sheet_y":61,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FF":{"unified":"1F468-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF","non_qualified":"1F468-1F3FB-200D-2764-200D-1F48B-200D-1F468-1F3FF","image":"1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.png","sheet_x":16,"sheet_y":62,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FB":{"unified":"1F468-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB","non_qualified":"1F468-1F3FC-200D-2764-200D-1F48B-200D-1F468-1F3FB","image":"1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.png","sheet_x":17,"sheet_y":0,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FC":{"unified":"1F468-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC","non_qualified":"1F468-1F3FC-200D-2764-200D-1F48B-200D-1F468-1F3FC","image":"1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.png","sheet_x":17,"sheet_y":1,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FD":{"unified":"1F468-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD","non_qualified":"1F468-1F3FC-200D-2764-200D-1F48B-200D-1F468-1F3FD","image":"1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.png","sheet_x":17,"sheet_y":2,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FE":{"unified":"1F468-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE","non_qualified":"1F468-1F3FC-200D-2764-200D-1F48B-200D-1F468-1F3FE","image":"1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.png","sheet_x":17,"sheet_y":3,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FF":{"unified":"1F468-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF","non_qualified":"1F468-1F3FC-200D-2764-200D-1F48B-200D-1F468-1F3FF","image":"1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.png","sheet_x":17,"sheet_y":4,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FB":{"unified":"1F468-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB","non_qualified":"1F468-1F3FD-200D-2764-200D-1F48B-200D-1F468-1F3FB","image":"1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.png","sheet_x":17,"sheet_y":5,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FC":{"unified":"1F468-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC","non_qualified":"1F468-1F3FD-200D-2764-200D-1F48B-200D-1F468-1F3FC","image":"1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.png","sheet_x":17,"sheet_y":6,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FD":{"unified":"1F468-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD","non_qualified":"1F468-1F3FD-200D-2764-200D-1F48B-200D-1F468-1F3FD","image":"1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.png","sheet_x":17,"sheet_y":7,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FE":{"unified":"1F468-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE","non_qualified":"1F468-1F3FD-200D-2764-200D-1F48B-200D-1F468-1F3FE","image":"1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.png","sheet_x":17,"sheet_y":8,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FF":{"unified":"1F468-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF","non_qualified":"1F468-1F3FD-200D-2764-200D-1F48B-200D-1F468-1F3FF","image":"1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.png","sheet_x":17,"sheet_y":9,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FB":{"unified":"1F468-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB","non_qualified":"1F468-1F3FE-200D-2764-200D-1F48B-200D-1F468-1F3FB","image":"1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.png","sheet_x":17,"sheet_y":10,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FC":{"unified":"1F468-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC","non_qualified":"1F468-1F3FE-200D-2764-200D-1F48B-200D-1F468-1F3FC","image":"1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.png","sheet_x":17,"sheet_y":11,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FD":{"unified":"1F468-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD","non_qualified":"1F468-1F3FE-200D-2764-200D-1F48B-200D-1F468-1F3FD","image":"1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.png","sheet_x":17,"sheet_y":12,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FE":{"unified":"1F468-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE","non_qualified":"1F468-1F3FE-200D-2764-200D-1F48B-200D-1F468-1F3FE","image":"1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.png","sheet_x":17,"sheet_y":13,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FF":{"unified":"1F468-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF","non_qualified":"1F468-1F3FE-200D-2764-200D-1F48B-200D-1F468-1F3FF","image":"1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.png","sheet_x":17,"sheet_y":14,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FB":{"unified":"1F468-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB","non_qualified":"1F468-1F3FF-200D-2764-200D-1F48B-200D-1F468-1F3FB","image":"1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.png","sheet_x":17,"sheet_y":15,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FC":{"unified":"1F468-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC","non_qualified":"1F468-1F3FF-200D-2764-200D-1F48B-200D-1F468-1F3FC","image":"1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.png","sheet_x":17,"sheet_y":16,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FD":{"unified":"1F468-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD","non_qualified":"1F468-1F3FF-200D-2764-200D-1F48B-200D-1F468-1F3FD","image":"1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.png","sheet_x":17,"sheet_y":17,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FE":{"unified":"1F468-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE","non_qualified":"1F468-1F3FF-200D-2764-200D-1F48B-200D-1F468-1F3FE","image":"1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.png","sheet_x":17,"sheet_y":18,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FF":{"unified":"1F468-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF","non_qualified":"1F468-1F3FF-200D-2764-200D-1F48B-200D-1F468-1F3FF","image":"1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.png","sheet_x":17,"sheet_y":19,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN","unified":"1F468","non_qualified":null,"docomo":"E6F0","au":"E4FC","softbank":"E004","google":"FE19D","image":"1f468.png","sheet_x":17,"sheet_y":20,"short_name":"man","short_names":["man"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":239,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F468-1F3FB","non_qualified":null,"image":"1f468-1f3fb.png","sheet_x":17,"sheet_y":21,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F468-1F3FC","non_qualified":null,"image":"1f468-1f3fc.png","sheet_x":17,"sheet_y":22,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F468-1F3FD","non_qualified":null,"image":"1f468-1f3fd.png","sheet_x":17,"sheet_y":23,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F468-1F3FE","non_qualified":null,"image":"1f468-1f3fe.png","sheet_x":17,"sheet_y":24,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F468-1F3FF","non_qualified":null,"image":"1f468-1f3ff.png","sheet_x":17,"sheet_y":25,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN FARMER","unified":"1F469-200D-1F33E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f33e.png","sheet_x":17,"sheet_y":26,"short_name":"female-farmer","short_names":["female-farmer"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":305,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F33E","non_qualified":null,"image":"1f469-1f3fb-200d-1f33e.png","sheet_x":17,"sheet_y":27,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F33E","non_qualified":null,"image":"1f469-1f3fc-200d-1f33e.png","sheet_x":17,"sheet_y":28,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F33E","non_qualified":null,"image":"1f469-1f3fd-200d-1f33e.png","sheet_x":17,"sheet_y":29,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F33E","non_qualified":null,"image":"1f469-1f3fe-200d-1f33e.png","sheet_x":17,"sheet_y":30,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F33E","non_qualified":null,"image":"1f469-1f3ff-200d-1f33e.png","sheet_x":17,"sheet_y":31,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN COOK","unified":"1F469-200D-1F373","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f373.png","sheet_x":17,"sheet_y":32,"short_name":"female-cook","short_names":["female-cook"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":308,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F373","non_qualified":null,"image":"1f469-1f3fb-200d-1f373.png","sheet_x":17,"sheet_y":33,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F373","non_qualified":null,"image":"1f469-1f3fc-200d-1f373.png","sheet_x":17,"sheet_y":34,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F373","non_qualified":null,"image":"1f469-1f3fd-200d-1f373.png","sheet_x":17,"sheet_y":35,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F373","non_qualified":null,"image":"1f469-1f3fe-200d-1f373.png","sheet_x":17,"sheet_y":36,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F373","non_qualified":null,"image":"1f469-1f3ff-200d-1f373.png","sheet_x":17,"sheet_y":37,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN FEEDING BABY","unified":"1F469-200D-1F37C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f37c.png","sheet_x":17,"sheet_y":38,"short_name":"woman_feeding_baby","short_names":["woman_feeding_baby"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":370,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F37C","non_qualified":null,"image":"1f469-1f3fb-200d-1f37c.png","sheet_x":17,"sheet_y":39,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F37C","non_qualified":null,"image":"1f469-1f3fc-200d-1f37c.png","sheet_x":17,"sheet_y":40,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F37C","non_qualified":null,"image":"1f469-1f3fd-200d-1f37c.png","sheet_x":17,"sheet_y":41,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F37C","non_qualified":null,"image":"1f469-1f3fe-200d-1f37c.png","sheet_x":17,"sheet_y":42,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F37C","non_qualified":null,"image":"1f469-1f3ff-200d-1f37c.png","sheet_x":17,"sheet_y":43,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN STUDENT","unified":"1F469-200D-1F393","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f393.png","sheet_x":17,"sheet_y":44,"short_name":"female-student","short_names":["female-student"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":296,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F393","non_qualified":null,"image":"1f469-1f3fb-200d-1f393.png","sheet_x":17,"sheet_y":45,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F393","non_qualified":null,"image":"1f469-1f3fc-200d-1f393.png","sheet_x":17,"sheet_y":46,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F393","non_qualified":null,"image":"1f469-1f3fd-200d-1f393.png","sheet_x":17,"sheet_y":47,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F393","non_qualified":null,"image":"1f469-1f3fe-200d-1f393.png","sheet_x":17,"sheet_y":48,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F393","non_qualified":null,"image":"1f469-1f3ff-200d-1f393.png","sheet_x":17,"sheet_y":49,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN SINGER","unified":"1F469-200D-1F3A4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f3a4.png","sheet_x":17,"sheet_y":50,"short_name":"female-singer","short_names":["female-singer"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":326,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F3A4","non_qualified":null,"image":"1f469-1f3fb-200d-1f3a4.png","sheet_x":17,"sheet_y":51,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F3A4","non_qualified":null,"image":"1f469-1f3fc-200d-1f3a4.png","sheet_x":17,"sheet_y":52,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F3A4","non_qualified":null,"image":"1f469-1f3fd-200d-1f3a4.png","sheet_x":17,"sheet_y":53,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F3A4","non_qualified":null,"image":"1f469-1f3fe-200d-1f3a4.png","sheet_x":17,"sheet_y":54,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F3A4","non_qualified":null,"image":"1f469-1f3ff-200d-1f3a4.png","sheet_x":17,"sheet_y":55,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN ARTIST","unified":"1F469-200D-1F3A8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f3a8.png","sheet_x":17,"sheet_y":56,"short_name":"female-artist","short_names":["female-artist"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":329,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F3A8","non_qualified":null,"image":"1f469-1f3fb-200d-1f3a8.png","sheet_x":17,"sheet_y":57,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F3A8","non_qualified":null,"image":"1f469-1f3fc-200d-1f3a8.png","sheet_x":17,"sheet_y":58,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F3A8","non_qualified":null,"image":"1f469-1f3fd-200d-1f3a8.png","sheet_x":17,"sheet_y":59,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F3A8","non_qualified":null,"image":"1f469-1f3fe-200d-1f3a8.png","sheet_x":17,"sheet_y":60,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F3A8","non_qualified":null,"image":"1f469-1f3ff-200d-1f3a8.png","sheet_x":17,"sheet_y":61,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN TEACHER","unified":"1F469-200D-1F3EB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f3eb.png","sheet_x":17,"sheet_y":62,"short_name":"female-teacher","short_names":["female-teacher"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":299,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F3EB","non_qualified":null,"image":"1f469-1f3fb-200d-1f3eb.png","sheet_x":18,"sheet_y":0,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F3EB","non_qualified":null,"image":"1f469-1f3fc-200d-1f3eb.png","sheet_x":18,"sheet_y":1,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F3EB","non_qualified":null,"image":"1f469-1f3fd-200d-1f3eb.png","sheet_x":18,"sheet_y":2,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F3EB","non_qualified":null,"image":"1f469-1f3fe-200d-1f3eb.png","sheet_x":18,"sheet_y":3,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F3EB","non_qualified":null,"image":"1f469-1f3ff-200d-1f3eb.png","sheet_x":18,"sheet_y":4,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN FACTORY WORKER","unified":"1F469-200D-1F3ED","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f3ed.png","sheet_x":18,"sheet_y":5,"short_name":"female-factory-worker","short_names":["female-factory-worker"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":314,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F3ED","non_qualified":null,"image":"1f469-1f3fb-200d-1f3ed.png","sheet_x":18,"sheet_y":6,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F3ED","non_qualified":null,"image":"1f469-1f3fc-200d-1f3ed.png","sheet_x":18,"sheet_y":7,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F3ED","non_qualified":null,"image":"1f469-1f3fd-200d-1f3ed.png","sheet_x":18,"sheet_y":8,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F3ED","non_qualified":null,"image":"1f469-1f3fe-200d-1f3ed.png","sheet_x":18,"sheet_y":9,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F3ED","non_qualified":null,"image":"1f469-1f3ff-200d-1f3ed.png","sheet_x":18,"sheet_y":10,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"FAMILY: WOMAN, BOY, BOY","unified":"1F469-200D-1F466-200D-1F466","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f466-200d-1f466.png","sheet_x":18,"sheet_y":11,"short_name":"woman-boy-boy","short_names":["woman-boy-boy"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":545,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: WOMAN, BOY","unified":"1F469-200D-1F466","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f466.png","sheet_x":18,"sheet_y":12,"short_name":"woman-boy","short_names":["woman-boy"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":544,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: WOMAN, GIRL, BOY","unified":"1F469-200D-1F467-200D-1F466","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f467-200d-1f466.png","sheet_x":18,"sheet_y":13,"short_name":"woman-girl-boy","short_names":["woman-girl-boy"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":547,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: WOMAN, GIRL, GIRL","unified":"1F469-200D-1F467-200D-1F467","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f467-200d-1f467.png","sheet_x":18,"sheet_y":14,"short_name":"woman-girl-girl","short_names":["woman-girl-girl"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":548,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: WOMAN, GIRL","unified":"1F469-200D-1F467","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f467.png","sheet_x":18,"sheet_y":15,"short_name":"woman-girl","short_names":["woman-girl"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":546,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: WOMAN, WOMAN, BOY","unified":"1F469-200D-1F469-200D-1F466","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f469-200d-1f466.png","sheet_x":18,"sheet_y":16,"short_name":"woman-woman-boy","short_names":["woman-woman-boy"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":534,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: WOMAN, WOMAN, BOY, BOY","unified":"1F469-200D-1F469-200D-1F466-200D-1F466","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f469-200d-1f466-200d-1f466.png","sheet_x":18,"sheet_y":17,"short_name":"woman-woman-boy-boy","short_names":["woman-woman-boy-boy"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":537,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: WOMAN, WOMAN, GIRL","unified":"1F469-200D-1F469-200D-1F467","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f469-200d-1f467.png","sheet_x":18,"sheet_y":18,"short_name":"woman-woman-girl","short_names":["woman-woman-girl"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":535,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: WOMAN, WOMAN, GIRL, BOY","unified":"1F469-200D-1F469-200D-1F467-200D-1F466","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f469-200d-1f467-200d-1f466.png","sheet_x":18,"sheet_y":19,"short_name":"woman-woman-girl-boy","short_names":["woman-woman-girl-boy"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":536,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAMILY: WOMAN, WOMAN, GIRL, GIRL","unified":"1F469-200D-1F469-200D-1F467-200D-1F467","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f469-200d-1f467-200d-1f467.png","sheet_x":18,"sheet_y":20,"short_name":"woman-woman-girl-girl","short_names":["woman-woman-girl-girl"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":538,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WOMAN TECHNOLOGIST","unified":"1F469-200D-1F4BB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f4bb.png","sheet_x":18,"sheet_y":21,"short_name":"female-technologist","short_names":["female-technologist"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":323,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F4BB","non_qualified":null,"image":"1f469-1f3fb-200d-1f4bb.png","sheet_x":18,"sheet_y":22,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F4BB","non_qualified":null,"image":"1f469-1f3fc-200d-1f4bb.png","sheet_x":18,"sheet_y":23,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F4BB","non_qualified":null,"image":"1f469-1f3fd-200d-1f4bb.png","sheet_x":18,"sheet_y":24,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F4BB","non_qualified":null,"image":"1f469-1f3fe-200d-1f4bb.png","sheet_x":18,"sheet_y":25,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F4BB","non_qualified":null,"image":"1f469-1f3ff-200d-1f4bb.png","sheet_x":18,"sheet_y":26,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN OFFICE WORKER","unified":"1F469-200D-1F4BC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f4bc.png","sheet_x":18,"sheet_y":27,"short_name":"female-office-worker","short_names":["female-office-worker"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":317,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F4BC","non_qualified":null,"image":"1f469-1f3fb-200d-1f4bc.png","sheet_x":18,"sheet_y":28,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F4BC","non_qualified":null,"image":"1f469-1f3fc-200d-1f4bc.png","sheet_x":18,"sheet_y":29,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F4BC","non_qualified":null,"image":"1f469-1f3fd-200d-1f4bc.png","sheet_x":18,"sheet_y":30,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F4BC","non_qualified":null,"image":"1f469-1f3fe-200d-1f4bc.png","sheet_x":18,"sheet_y":31,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F4BC","non_qualified":null,"image":"1f469-1f3ff-200d-1f4bc.png","sheet_x":18,"sheet_y":32,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN MECHANIC","unified":"1F469-200D-1F527","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f527.png","sheet_x":18,"sheet_y":33,"short_name":"female-mechanic","short_names":["female-mechanic"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":311,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F527","non_qualified":null,"image":"1f469-1f3fb-200d-1f527.png","sheet_x":18,"sheet_y":34,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F527","non_qualified":null,"image":"1f469-1f3fc-200d-1f527.png","sheet_x":18,"sheet_y":35,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F527","non_qualified":null,"image":"1f469-1f3fd-200d-1f527.png","sheet_x":18,"sheet_y":36,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F527","non_qualified":null,"image":"1f469-1f3fe-200d-1f527.png","sheet_x":18,"sheet_y":37,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F527","non_qualified":null,"image":"1f469-1f3ff-200d-1f527.png","sheet_x":18,"sheet_y":38,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN SCIENTIST","unified":"1F469-200D-1F52C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f52c.png","sheet_x":18,"sheet_y":39,"short_name":"female-scientist","short_names":["female-scientist"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":320,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F52C","non_qualified":null,"image":"1f469-1f3fb-200d-1f52c.png","sheet_x":18,"sheet_y":40,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F52C","non_qualified":null,"image":"1f469-1f3fc-200d-1f52c.png","sheet_x":18,"sheet_y":41,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F52C","non_qualified":null,"image":"1f469-1f3fd-200d-1f52c.png","sheet_x":18,"sheet_y":42,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F52C","non_qualified":null,"image":"1f469-1f3fe-200d-1f52c.png","sheet_x":18,"sheet_y":43,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F52C","non_qualified":null,"image":"1f469-1f3ff-200d-1f52c.png","sheet_x":18,"sheet_y":44,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN ASTRONAUT","unified":"1F469-200D-1F680","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f680.png","sheet_x":18,"sheet_y":45,"short_name":"female-astronaut","short_names":["female-astronaut"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":335,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F680","non_qualified":null,"image":"1f469-1f3fb-200d-1f680.png","sheet_x":18,"sheet_y":46,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F680","non_qualified":null,"image":"1f469-1f3fc-200d-1f680.png","sheet_x":18,"sheet_y":47,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F680","non_qualified":null,"image":"1f469-1f3fd-200d-1f680.png","sheet_x":18,"sheet_y":48,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F680","non_qualified":null,"image":"1f469-1f3fe-200d-1f680.png","sheet_x":18,"sheet_y":49,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F680","non_qualified":null,"image":"1f469-1f3ff-200d-1f680.png","sheet_x":18,"sheet_y":50,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN FIREFIGHTER","unified":"1F469-200D-1F692","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f692.png","sheet_x":18,"sheet_y":51,"short_name":"female-firefighter","short_names":["female-firefighter"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":338,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F692","non_qualified":null,"image":"1f469-1f3fb-200d-1f692.png","sheet_x":18,"sheet_y":52,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F692","non_qualified":null,"image":"1f469-1f3fc-200d-1f692.png","sheet_x":18,"sheet_y":53,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F692","non_qualified":null,"image":"1f469-1f3fd-200d-1f692.png","sheet_x":18,"sheet_y":54,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F692","non_qualified":null,"image":"1f469-1f3fe-200d-1f692.png","sheet_x":18,"sheet_y":55,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F692","non_qualified":null,"image":"1f469-1f3ff-200d-1f692.png","sheet_x":18,"sheet_y":56,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN WITH WHITE CANE FACING RIGHT","unified":"1F469-200D-1F9AF-200D-27A1-FE0F","non_qualified":"1F469-200D-1F9AF-200D-27A1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f9af-200d-27a1-fe0f.png","sheet_x":18,"sheet_y":57,"short_name":"woman_with_white_cane_facing_right","short_names":["woman_with_white_cane_facing_right"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":432,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F9AF-200D-27A1-FE0F","non_qualified":"1F469-1F3FB-200D-1F9AF-200D-27A1","image":"1f469-1f3fb-200d-1f9af-200d-27a1-fe0f.png","sheet_x":18,"sheet_y":58,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FC":{"unified":"1F469-1F3FC-200D-1F9AF-200D-27A1-FE0F","non_qualified":"1F469-1F3FC-200D-1F9AF-200D-27A1","image":"1f469-1f3fc-200d-1f9af-200d-27a1-fe0f.png","sheet_x":18,"sheet_y":59,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FD":{"unified":"1F469-1F3FD-200D-1F9AF-200D-27A1-FE0F","non_qualified":"1F469-1F3FD-200D-1F9AF-200D-27A1","image":"1f469-1f3fd-200d-1f9af-200d-27a1-fe0f.png","sheet_x":18,"sheet_y":60,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FE":{"unified":"1F469-1F3FE-200D-1F9AF-200D-27A1-FE0F","non_qualified":"1F469-1F3FE-200D-1F9AF-200D-27A1","image":"1f469-1f3fe-200d-1f9af-200d-27a1-fe0f.png","sheet_x":18,"sheet_y":61,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FF":{"unified":"1F469-1F3FF-200D-1F9AF-200D-27A1-FE0F","non_qualified":"1F469-1F3FF-200D-1F9AF-200D-27A1","image":"1f469-1f3ff-200d-1f9af-200d-27a1-fe0f.png","sheet_x":18,"sheet_y":62,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false}}},{"name":"WOMAN WITH WHITE CANE","unified":"1F469-200D-1F9AF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f9af.png","sheet_x":19,"sheet_y":0,"short_name":"woman_with_probing_cane","short_names":["woman_with_probing_cane"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":431,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F9AF","non_qualified":null,"image":"1f469-1f3fb-200d-1f9af.png","sheet_x":19,"sheet_y":1,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F9AF","non_qualified":null,"image":"1f469-1f3fc-200d-1f9af.png","sheet_x":19,"sheet_y":2,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F9AF","non_qualified":null,"image":"1f469-1f3fd-200d-1f9af.png","sheet_x":19,"sheet_y":3,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F9AF","non_qualified":null,"image":"1f469-1f3fe-200d-1f9af.png","sheet_x":19,"sheet_y":4,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F9AF","non_qualified":null,"image":"1f469-1f3ff-200d-1f9af.png","sheet_x":19,"sheet_y":5,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN: RED HAIR","unified":"1F469-200D-1F9B0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f9b0.png","sheet_x":19,"sheet_y":6,"short_name":"red_haired_woman","short_names":["red_haired_woman"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":248,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F9B0","non_qualified":null,"image":"1f469-1f3fb-200d-1f9b0.png","sheet_x":19,"sheet_y":7,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F9B0","non_qualified":null,"image":"1f469-1f3fc-200d-1f9b0.png","sheet_x":19,"sheet_y":8,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F9B0","non_qualified":null,"image":"1f469-1f3fd-200d-1f9b0.png","sheet_x":19,"sheet_y":9,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F9B0","non_qualified":null,"image":"1f469-1f3fe-200d-1f9b0.png","sheet_x":19,"sheet_y":10,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F9B0","non_qualified":null,"image":"1f469-1f3ff-200d-1f9b0.png","sheet_x":19,"sheet_y":11,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN: CURLY HAIR","unified":"1F469-200D-1F9B1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f9b1.png","sheet_x":19,"sheet_y":12,"short_name":"curly_haired_woman","short_names":["curly_haired_woman"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":250,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F9B1","non_qualified":null,"image":"1f469-1f3fb-200d-1f9b1.png","sheet_x":19,"sheet_y":13,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F9B1","non_qualified":null,"image":"1f469-1f3fc-200d-1f9b1.png","sheet_x":19,"sheet_y":14,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F9B1","non_qualified":null,"image":"1f469-1f3fd-200d-1f9b1.png","sheet_x":19,"sheet_y":15,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F9B1","non_qualified":null,"image":"1f469-1f3fe-200d-1f9b1.png","sheet_x":19,"sheet_y":16,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F9B1","non_qualified":null,"image":"1f469-1f3ff-200d-1f9b1.png","sheet_x":19,"sheet_y":17,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN: BALD","unified":"1F469-200D-1F9B2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f9b2.png","sheet_x":19,"sheet_y":18,"short_name":"bald_woman","short_names":["bald_woman"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":254,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F9B2","non_qualified":null,"image":"1f469-1f3fb-200d-1f9b2.png","sheet_x":19,"sheet_y":19,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F9B2","non_qualified":null,"image":"1f469-1f3fc-200d-1f9b2.png","sheet_x":19,"sheet_y":20,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F9B2","non_qualified":null,"image":"1f469-1f3fd-200d-1f9b2.png","sheet_x":19,"sheet_y":21,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F9B2","non_qualified":null,"image":"1f469-1f3fe-200d-1f9b2.png","sheet_x":19,"sheet_y":22,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F9B2","non_qualified":null,"image":"1f469-1f3ff-200d-1f9b2.png","sheet_x":19,"sheet_y":23,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN: WHITE HAIR","unified":"1F469-200D-1F9B3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f9b3.png","sheet_x":19,"sheet_y":24,"short_name":"white_haired_woman","short_names":["white_haired_woman"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":252,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F9B3","non_qualified":null,"image":"1f469-1f3fb-200d-1f9b3.png","sheet_x":19,"sheet_y":25,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F9B3","non_qualified":null,"image":"1f469-1f3fc-200d-1f9b3.png","sheet_x":19,"sheet_y":26,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F9B3","non_qualified":null,"image":"1f469-1f3fd-200d-1f9b3.png","sheet_x":19,"sheet_y":27,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F9B3","non_qualified":null,"image":"1f469-1f3fe-200d-1f9b3.png","sheet_x":19,"sheet_y":28,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F9B3","non_qualified":null,"image":"1f469-1f3ff-200d-1f9b3.png","sheet_x":19,"sheet_y":29,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN IN MOTORIZED WHEELCHAIR FACING RIGHT","unified":"1F469-200D-1F9BC-200D-27A1-FE0F","non_qualified":"1F469-200D-1F9BC-200D-27A1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f9bc-200d-27a1-fe0f.png","sheet_x":19,"sheet_y":30,"short_name":"woman_in_motorized_wheelchair_facing_right","short_names":["woman_in_motorized_wheelchair_facing_right"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":438,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F9BC-200D-27A1-FE0F","non_qualified":"1F469-1F3FB-200D-1F9BC-200D-27A1","image":"1f469-1f3fb-200d-1f9bc-200d-27a1-fe0f.png","sheet_x":19,"sheet_y":31,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FC":{"unified":"1F469-1F3FC-200D-1F9BC-200D-27A1-FE0F","non_qualified":"1F469-1F3FC-200D-1F9BC-200D-27A1","image":"1f469-1f3fc-200d-1f9bc-200d-27a1-fe0f.png","sheet_x":19,"sheet_y":32,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FD":{"unified":"1F469-1F3FD-200D-1F9BC-200D-27A1-FE0F","non_qualified":"1F469-1F3FD-200D-1F9BC-200D-27A1","image":"1f469-1f3fd-200d-1f9bc-200d-27a1-fe0f.png","sheet_x":19,"sheet_y":33,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FE":{"unified":"1F469-1F3FE-200D-1F9BC-200D-27A1-FE0F","non_qualified":"1F469-1F3FE-200D-1F9BC-200D-27A1","image":"1f469-1f3fe-200d-1f9bc-200d-27a1-fe0f.png","sheet_x":19,"sheet_y":34,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FF":{"unified":"1F469-1F3FF-200D-1F9BC-200D-27A1-FE0F","non_qualified":"1F469-1F3FF-200D-1F9BC-200D-27A1","image":"1f469-1f3ff-200d-1f9bc-200d-27a1-fe0f.png","sheet_x":19,"sheet_y":35,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false}}},{"name":"WOMAN IN MOTORIZED WHEELCHAIR","unified":"1F469-200D-1F9BC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f9bc.png","sheet_x":19,"sheet_y":36,"short_name":"woman_in_motorized_wheelchair","short_names":["woman_in_motorized_wheelchair"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":437,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F9BC","non_qualified":null,"image":"1f469-1f3fb-200d-1f9bc.png","sheet_x":19,"sheet_y":37,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F9BC","non_qualified":null,"image":"1f469-1f3fc-200d-1f9bc.png","sheet_x":19,"sheet_y":38,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F9BC","non_qualified":null,"image":"1f469-1f3fd-200d-1f9bc.png","sheet_x":19,"sheet_y":39,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F9BC","non_qualified":null,"image":"1f469-1f3fe-200d-1f9bc.png","sheet_x":19,"sheet_y":40,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F9BC","non_qualified":null,"image":"1f469-1f3ff-200d-1f9bc.png","sheet_x":19,"sheet_y":41,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN IN MANUAL WHEELCHAIR FACING RIGHT","unified":"1F469-200D-1F9BD-200D-27A1-FE0F","non_qualified":"1F469-200D-1F9BD-200D-27A1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f9bd-200d-27a1-fe0f.png","sheet_x":19,"sheet_y":42,"short_name":"woman_in_manual_wheelchair_facing_right","short_names":["woman_in_manual_wheelchair_facing_right"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":444,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F9BD-200D-27A1-FE0F","non_qualified":"1F469-1F3FB-200D-1F9BD-200D-27A1","image":"1f469-1f3fb-200d-1f9bd-200d-27a1-fe0f.png","sheet_x":19,"sheet_y":43,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FC":{"unified":"1F469-1F3FC-200D-1F9BD-200D-27A1-FE0F","non_qualified":"1F469-1F3FC-200D-1F9BD-200D-27A1","image":"1f469-1f3fc-200d-1f9bd-200d-27a1-fe0f.png","sheet_x":19,"sheet_y":44,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FD":{"unified":"1F469-1F3FD-200D-1F9BD-200D-27A1-FE0F","non_qualified":"1F469-1F3FD-200D-1F9BD-200D-27A1","image":"1f469-1f3fd-200d-1f9bd-200d-27a1-fe0f.png","sheet_x":19,"sheet_y":45,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FE":{"unified":"1F469-1F3FE-200D-1F9BD-200D-27A1-FE0F","non_qualified":"1F469-1F3FE-200D-1F9BD-200D-27A1","image":"1f469-1f3fe-200d-1f9bd-200d-27a1-fe0f.png","sheet_x":19,"sheet_y":46,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FF":{"unified":"1F469-1F3FF-200D-1F9BD-200D-27A1-FE0F","non_qualified":"1F469-1F3FF-200D-1F9BD-200D-27A1","image":"1f469-1f3ff-200d-1f9bd-200d-27a1-fe0f.png","sheet_x":19,"sheet_y":47,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false}}},{"name":"WOMAN IN MANUAL WHEELCHAIR","unified":"1F469-200D-1F9BD","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-1f9bd.png","sheet_x":19,"sheet_y":48,"short_name":"woman_in_manual_wheelchair","short_names":["woman_in_manual_wheelchair"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":443,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-1F9BD","non_qualified":null,"image":"1f469-1f3fb-200d-1f9bd.png","sheet_x":19,"sheet_y":49,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-1F9BD","non_qualified":null,"image":"1f469-1f3fc-200d-1f9bd.png","sheet_x":19,"sheet_y":50,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-1F9BD","non_qualified":null,"image":"1f469-1f3fd-200d-1f9bd.png","sheet_x":19,"sheet_y":51,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-1F9BD","non_qualified":null,"image":"1f469-1f3fe-200d-1f9bd.png","sheet_x":19,"sheet_y":52,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-1F9BD","non_qualified":null,"image":"1f469-1f3ff-200d-1f9bd.png","sheet_x":19,"sheet_y":53,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN HEALTH WORKER","unified":"1F469-200D-2695-FE0F","non_qualified":"1F469-200D-2695","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-2695-fe0f.png","sheet_x":19,"sheet_y":54,"short_name":"female-doctor","short_names":["female-doctor"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":293,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-2695-FE0F","non_qualified":"1F469-1F3FB-200D-2695","image":"1f469-1f3fb-200d-2695-fe0f.png","sheet_x":19,"sheet_y":55,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-2695-FE0F","non_qualified":"1F469-1F3FC-200D-2695","image":"1f469-1f3fc-200d-2695-fe0f.png","sheet_x":19,"sheet_y":56,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-2695-FE0F","non_qualified":"1F469-1F3FD-200D-2695","image":"1f469-1f3fd-200d-2695-fe0f.png","sheet_x":19,"sheet_y":57,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-2695-FE0F","non_qualified":"1F469-1F3FE-200D-2695","image":"1f469-1f3fe-200d-2695-fe0f.png","sheet_x":19,"sheet_y":58,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-2695-FE0F","non_qualified":"1F469-1F3FF-200D-2695","image":"1f469-1f3ff-200d-2695-fe0f.png","sheet_x":19,"sheet_y":59,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN JUDGE","unified":"1F469-200D-2696-FE0F","non_qualified":"1F469-200D-2696","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-2696-fe0f.png","sheet_x":19,"sheet_y":60,"short_name":"female-judge","short_names":["female-judge"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":302,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-2696-FE0F","non_qualified":"1F469-1F3FB-200D-2696","image":"1f469-1f3fb-200d-2696-fe0f.png","sheet_x":19,"sheet_y":61,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-2696-FE0F","non_qualified":"1F469-1F3FC-200D-2696","image":"1f469-1f3fc-200d-2696-fe0f.png","sheet_x":19,"sheet_y":62,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-2696-FE0F","non_qualified":"1F469-1F3FD-200D-2696","image":"1f469-1f3fd-200d-2696-fe0f.png","sheet_x":20,"sheet_y":0,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-2696-FE0F","non_qualified":"1F469-1F3FE-200D-2696","image":"1f469-1f3fe-200d-2696-fe0f.png","sheet_x":20,"sheet_y":1,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-2696-FE0F","non_qualified":"1F469-1F3FF-200D-2696","image":"1f469-1f3ff-200d-2696-fe0f.png","sheet_x":20,"sheet_y":2,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN PILOT","unified":"1F469-200D-2708-FE0F","non_qualified":"1F469-200D-2708","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-2708-fe0f.png","sheet_x":20,"sheet_y":3,"short_name":"female-pilot","short_names":["female-pilot"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":332,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB-200D-2708-FE0F","non_qualified":"1F469-1F3FB-200D-2708","image":"1f469-1f3fb-200d-2708-fe0f.png","sheet_x":20,"sheet_y":4,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC-200D-2708-FE0F","non_qualified":"1F469-1F3FC-200D-2708","image":"1f469-1f3fc-200d-2708-fe0f.png","sheet_x":20,"sheet_y":5,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD-200D-2708-FE0F","non_qualified":"1F469-1F3FD-200D-2708","image":"1f469-1f3fd-200d-2708-fe0f.png","sheet_x":20,"sheet_y":6,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE-200D-2708-FE0F","non_qualified":"1F469-1F3FE-200D-2708","image":"1f469-1f3fe-200d-2708-fe0f.png","sheet_x":20,"sheet_y":7,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF-200D-2708-FE0F","non_qualified":"1F469-1F3FF-200D-2708","image":"1f469-1f3ff-200d-2708-fe0f.png","sheet_x":20,"sheet_y":8,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"COUPLE WITH HEART: WOMAN, MAN","unified":"1F469-200D-2764-FE0F-200D-1F468","non_qualified":"1F469-200D-2764-200D-1F468","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-2764-fe0f-200d-1f468.png","sheet_x":20,"sheet_y":9,"short_name":"woman-heart-man","short_names":["woman-heart-man"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":521,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB-1F3FB":{"unified":"1F469-1F3FB-200D-2764-FE0F-200D-1F468-1F3FB","non_qualified":"1F469-1F3FB-200D-2764-200D-1F468-1F3FB","image":"1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb.png","sheet_x":20,"sheet_y":10,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FC":{"unified":"1F469-1F3FB-200D-2764-FE0F-200D-1F468-1F3FC","non_qualified":"1F469-1F3FB-200D-2764-200D-1F468-1F3FC","image":"1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc.png","sheet_x":20,"sheet_y":11,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FD":{"unified":"1F469-1F3FB-200D-2764-FE0F-200D-1F468-1F3FD","non_qualified":"1F469-1F3FB-200D-2764-200D-1F468-1F3FD","image":"1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd.png","sheet_x":20,"sheet_y":12,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FE":{"unified":"1F469-1F3FB-200D-2764-FE0F-200D-1F468-1F3FE","non_qualified":"1F469-1F3FB-200D-2764-200D-1F468-1F3FE","image":"1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe.png","sheet_x":20,"sheet_y":13,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FF":{"unified":"1F469-1F3FB-200D-2764-FE0F-200D-1F468-1F3FF","non_qualified":"1F469-1F3FB-200D-2764-200D-1F468-1F3FF","image":"1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff.png","sheet_x":20,"sheet_y":14,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FB":{"unified":"1F469-1F3FC-200D-2764-FE0F-200D-1F468-1F3FB","non_qualified":"1F469-1F3FC-200D-2764-200D-1F468-1F3FB","image":"1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb.png","sheet_x":20,"sheet_y":15,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FC":{"unified":"1F469-1F3FC-200D-2764-FE0F-200D-1F468-1F3FC","non_qualified":"1F469-1F3FC-200D-2764-200D-1F468-1F3FC","image":"1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc.png","sheet_x":20,"sheet_y":16,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FD":{"unified":"1F469-1F3FC-200D-2764-FE0F-200D-1F468-1F3FD","non_qualified":"1F469-1F3FC-200D-2764-200D-1F468-1F3FD","image":"1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd.png","sheet_x":20,"sheet_y":17,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FE":{"unified":"1F469-1F3FC-200D-2764-FE0F-200D-1F468-1F3FE","non_qualified":"1F469-1F3FC-200D-2764-200D-1F468-1F3FE","image":"1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe.png","sheet_x":20,"sheet_y":18,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FF":{"unified":"1F469-1F3FC-200D-2764-FE0F-200D-1F468-1F3FF","non_qualified":"1F469-1F3FC-200D-2764-200D-1F468-1F3FF","image":"1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff.png","sheet_x":20,"sheet_y":19,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FB":{"unified":"1F469-1F3FD-200D-2764-FE0F-200D-1F468-1F3FB","non_qualified":"1F469-1F3FD-200D-2764-200D-1F468-1F3FB","image":"1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb.png","sheet_x":20,"sheet_y":20,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FC":{"unified":"1F469-1F3FD-200D-2764-FE0F-200D-1F468-1F3FC","non_qualified":"1F469-1F3FD-200D-2764-200D-1F468-1F3FC","image":"1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc.png","sheet_x":20,"sheet_y":21,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FD":{"unified":"1F469-1F3FD-200D-2764-FE0F-200D-1F468-1F3FD","non_qualified":"1F469-1F3FD-200D-2764-200D-1F468-1F3FD","image":"1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd.png","sheet_x":20,"sheet_y":22,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FE":{"unified":"1F469-1F3FD-200D-2764-FE0F-200D-1F468-1F3FE","non_qualified":"1F469-1F3FD-200D-2764-200D-1F468-1F3FE","image":"1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe.png","sheet_x":20,"sheet_y":23,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FF":{"unified":"1F469-1F3FD-200D-2764-FE0F-200D-1F468-1F3FF","non_qualified":"1F469-1F3FD-200D-2764-200D-1F468-1F3FF","image":"1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff.png","sheet_x":20,"sheet_y":24,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FB":{"unified":"1F469-1F3FE-200D-2764-FE0F-200D-1F468-1F3FB","non_qualified":"1F469-1F3FE-200D-2764-200D-1F468-1F3FB","image":"1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb.png","sheet_x":20,"sheet_y":25,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FC":{"unified":"1F469-1F3FE-200D-2764-FE0F-200D-1F468-1F3FC","non_qualified":"1F469-1F3FE-200D-2764-200D-1F468-1F3FC","image":"1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc.png","sheet_x":20,"sheet_y":26,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FD":{"unified":"1F469-1F3FE-200D-2764-FE0F-200D-1F468-1F3FD","non_qualified":"1F469-1F3FE-200D-2764-200D-1F468-1F3FD","image":"1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd.png","sheet_x":20,"sheet_y":27,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FE":{"unified":"1F469-1F3FE-200D-2764-FE0F-200D-1F468-1F3FE","non_qualified":"1F469-1F3FE-200D-2764-200D-1F468-1F3FE","image":"1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe.png","sheet_x":20,"sheet_y":28,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FF":{"unified":"1F469-1F3FE-200D-2764-FE0F-200D-1F468-1F3FF","non_qualified":"1F469-1F3FE-200D-2764-200D-1F468-1F3FF","image":"1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff.png","sheet_x":20,"sheet_y":29,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FB":{"unified":"1F469-1F3FF-200D-2764-FE0F-200D-1F468-1F3FB","non_qualified":"1F469-1F3FF-200D-2764-200D-1F468-1F3FB","image":"1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb.png","sheet_x":20,"sheet_y":30,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FC":{"unified":"1F469-1F3FF-200D-2764-FE0F-200D-1F468-1F3FC","non_qualified":"1F469-1F3FF-200D-2764-200D-1F468-1F3FC","image":"1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc.png","sheet_x":20,"sheet_y":31,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FD":{"unified":"1F469-1F3FF-200D-2764-FE0F-200D-1F468-1F3FD","non_qualified":"1F469-1F3FF-200D-2764-200D-1F468-1F3FD","image":"1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd.png","sheet_x":20,"sheet_y":32,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FE":{"unified":"1F469-1F3FF-200D-2764-FE0F-200D-1F468-1F3FE","non_qualified":"1F469-1F3FF-200D-2764-200D-1F468-1F3FE","image":"1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe.png","sheet_x":20,"sheet_y":33,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FF":{"unified":"1F469-1F3FF-200D-2764-FE0F-200D-1F468-1F3FF","non_qualified":"1F469-1F3FF-200D-2764-200D-1F468-1F3FF","image":"1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff.png","sheet_x":20,"sheet_y":34,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"COUPLE WITH HEART: WOMAN, WOMAN","unified":"1F469-200D-2764-FE0F-200D-1F469","non_qualified":"1F469-200D-2764-200D-1F469","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-2764-fe0f-200d-1f469.png","sheet_x":20,"sheet_y":35,"short_name":"woman-heart-woman","short_names":["woman-heart-woman"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":523,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB-1F3FB":{"unified":"1F469-1F3FB-200D-2764-FE0F-200D-1F469-1F3FB","non_qualified":"1F469-1F3FB-200D-2764-200D-1F469-1F3FB","image":"1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fb.png","sheet_x":20,"sheet_y":36,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FC":{"unified":"1F469-1F3FB-200D-2764-FE0F-200D-1F469-1F3FC","non_qualified":"1F469-1F3FB-200D-2764-200D-1F469-1F3FC","image":"1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fc.png","sheet_x":20,"sheet_y":37,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FD":{"unified":"1F469-1F3FB-200D-2764-FE0F-200D-1F469-1F3FD","non_qualified":"1F469-1F3FB-200D-2764-200D-1F469-1F3FD","image":"1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fd.png","sheet_x":20,"sheet_y":38,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FE":{"unified":"1F469-1F3FB-200D-2764-FE0F-200D-1F469-1F3FE","non_qualified":"1F469-1F3FB-200D-2764-200D-1F469-1F3FE","image":"1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fe.png","sheet_x":20,"sheet_y":39,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FF":{"unified":"1F469-1F3FB-200D-2764-FE0F-200D-1F469-1F3FF","non_qualified":"1F469-1F3FB-200D-2764-200D-1F469-1F3FF","image":"1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3ff.png","sheet_x":20,"sheet_y":40,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FB":{"unified":"1F469-1F3FC-200D-2764-FE0F-200D-1F469-1F3FB","non_qualified":"1F469-1F3FC-200D-2764-200D-1F469-1F3FB","image":"1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fb.png","sheet_x":20,"sheet_y":41,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FC":{"unified":"1F469-1F3FC-200D-2764-FE0F-200D-1F469-1F3FC","non_qualified":"1F469-1F3FC-200D-2764-200D-1F469-1F3FC","image":"1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fc.png","sheet_x":20,"sheet_y":42,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FD":{"unified":"1F469-1F3FC-200D-2764-FE0F-200D-1F469-1F3FD","non_qualified":"1F469-1F3FC-200D-2764-200D-1F469-1F3FD","image":"1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fd.png","sheet_x":20,"sheet_y":43,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FE":{"unified":"1F469-1F3FC-200D-2764-FE0F-200D-1F469-1F3FE","non_qualified":"1F469-1F3FC-200D-2764-200D-1F469-1F3FE","image":"1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fe.png","sheet_x":20,"sheet_y":44,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FF":{"unified":"1F469-1F3FC-200D-2764-FE0F-200D-1F469-1F3FF","non_qualified":"1F469-1F3FC-200D-2764-200D-1F469-1F3FF","image":"1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3ff.png","sheet_x":20,"sheet_y":45,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FB":{"unified":"1F469-1F3FD-200D-2764-FE0F-200D-1F469-1F3FB","non_qualified":"1F469-1F3FD-200D-2764-200D-1F469-1F3FB","image":"1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fb.png","sheet_x":20,"sheet_y":46,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FC":{"unified":"1F469-1F3FD-200D-2764-FE0F-200D-1F469-1F3FC","non_qualified":"1F469-1F3FD-200D-2764-200D-1F469-1F3FC","image":"1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fc.png","sheet_x":20,"sheet_y":47,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FD":{"unified":"1F469-1F3FD-200D-2764-FE0F-200D-1F469-1F3FD","non_qualified":"1F469-1F3FD-200D-2764-200D-1F469-1F3FD","image":"1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fd.png","sheet_x":20,"sheet_y":48,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FE":{"unified":"1F469-1F3FD-200D-2764-FE0F-200D-1F469-1F3FE","non_qualified":"1F469-1F3FD-200D-2764-200D-1F469-1F3FE","image":"1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fe.png","sheet_x":20,"sheet_y":49,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FF":{"unified":"1F469-1F3FD-200D-2764-FE0F-200D-1F469-1F3FF","non_qualified":"1F469-1F3FD-200D-2764-200D-1F469-1F3FF","image":"1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3ff.png","sheet_x":20,"sheet_y":50,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FB":{"unified":"1F469-1F3FE-200D-2764-FE0F-200D-1F469-1F3FB","non_qualified":"1F469-1F3FE-200D-2764-200D-1F469-1F3FB","image":"1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fb.png","sheet_x":20,"sheet_y":51,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FC":{"unified":"1F469-1F3FE-200D-2764-FE0F-200D-1F469-1F3FC","non_qualified":"1F469-1F3FE-200D-2764-200D-1F469-1F3FC","image":"1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fc.png","sheet_x":20,"sheet_y":52,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FD":{"unified":"1F469-1F3FE-200D-2764-FE0F-200D-1F469-1F3FD","non_qualified":"1F469-1F3FE-200D-2764-200D-1F469-1F3FD","image":"1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fd.png","sheet_x":20,"sheet_y":53,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FE":{"unified":"1F469-1F3FE-200D-2764-FE0F-200D-1F469-1F3FE","non_qualified":"1F469-1F3FE-200D-2764-200D-1F469-1F3FE","image":"1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fe.png","sheet_x":20,"sheet_y":54,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FF":{"unified":"1F469-1F3FE-200D-2764-FE0F-200D-1F469-1F3FF","non_qualified":"1F469-1F3FE-200D-2764-200D-1F469-1F3FF","image":"1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3ff.png","sheet_x":20,"sheet_y":55,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FB":{"unified":"1F469-1F3FF-200D-2764-FE0F-200D-1F469-1F3FB","non_qualified":"1F469-1F3FF-200D-2764-200D-1F469-1F3FB","image":"1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fb.png","sheet_x":20,"sheet_y":56,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FC":{"unified":"1F469-1F3FF-200D-2764-FE0F-200D-1F469-1F3FC","non_qualified":"1F469-1F3FF-200D-2764-200D-1F469-1F3FC","image":"1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fc.png","sheet_x":20,"sheet_y":57,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FD":{"unified":"1F469-1F3FF-200D-2764-FE0F-200D-1F469-1F3FD","non_qualified":"1F469-1F3FF-200D-2764-200D-1F469-1F3FD","image":"1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fd.png","sheet_x":20,"sheet_y":58,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FE":{"unified":"1F469-1F3FF-200D-2764-FE0F-200D-1F469-1F3FE","non_qualified":"1F469-1F3FF-200D-2764-200D-1F469-1F3FE","image":"1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fe.png","sheet_x":20,"sheet_y":59,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FF":{"unified":"1F469-1F3FF-200D-2764-FE0F-200D-1F469-1F3FF","non_qualified":"1F469-1F3FF-200D-2764-200D-1F469-1F3FF","image":"1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3ff.png","sheet_x":20,"sheet_y":60,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"KISS: WOMAN, MAN","unified":"1F469-200D-2764-FE0F-200D-1F48B-200D-1F468","non_qualified":"1F469-200D-2764-200D-1F48B-200D-1F468","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-2764-fe0f-200d-1f48b-200d-1f468.png","sheet_x":20,"sheet_y":61,"short_name":"woman-kiss-man","short_names":["woman-kiss-man"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":517,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB-1F3FB":{"unified":"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB","non_qualified":"1F469-1F3FB-200D-2764-200D-1F48B-200D-1F468-1F3FB","image":"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.png","sheet_x":20,"sheet_y":62,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FC":{"unified":"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC","non_qualified":"1F469-1F3FB-200D-2764-200D-1F48B-200D-1F468-1F3FC","image":"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.png","sheet_x":21,"sheet_y":0,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FD":{"unified":"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD","non_qualified":"1F469-1F3FB-200D-2764-200D-1F48B-200D-1F468-1F3FD","image":"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.png","sheet_x":21,"sheet_y":1,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FE":{"unified":"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE","non_qualified":"1F469-1F3FB-200D-2764-200D-1F48B-200D-1F468-1F3FE","image":"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.png","sheet_x":21,"sheet_y":2,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FF":{"unified":"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF","non_qualified":"1F469-1F3FB-200D-2764-200D-1F48B-200D-1F468-1F3FF","image":"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.png","sheet_x":21,"sheet_y":3,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FB":{"unified":"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB","non_qualified":"1F469-1F3FC-200D-2764-200D-1F48B-200D-1F468-1F3FB","image":"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.png","sheet_x":21,"sheet_y":4,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FC":{"unified":"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC","non_qualified":"1F469-1F3FC-200D-2764-200D-1F48B-200D-1F468-1F3FC","image":"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.png","sheet_x":21,"sheet_y":5,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FD":{"unified":"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD","non_qualified":"1F469-1F3FC-200D-2764-200D-1F48B-200D-1F468-1F3FD","image":"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.png","sheet_x":21,"sheet_y":6,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FE":{"unified":"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE","non_qualified":"1F469-1F3FC-200D-2764-200D-1F48B-200D-1F468-1F3FE","image":"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.png","sheet_x":21,"sheet_y":7,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FF":{"unified":"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF","non_qualified":"1F469-1F3FC-200D-2764-200D-1F48B-200D-1F468-1F3FF","image":"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.png","sheet_x":21,"sheet_y":8,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FB":{"unified":"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB","non_qualified":"1F469-1F3FD-200D-2764-200D-1F48B-200D-1F468-1F3FB","image":"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.png","sheet_x":21,"sheet_y":9,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FC":{"unified":"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC","non_qualified":"1F469-1F3FD-200D-2764-200D-1F48B-200D-1F468-1F3FC","image":"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.png","sheet_x":21,"sheet_y":10,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FD":{"unified":"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD","non_qualified":"1F469-1F3FD-200D-2764-200D-1F48B-200D-1F468-1F3FD","image":"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.png","sheet_x":21,"sheet_y":11,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FE":{"unified":"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE","non_qualified":"1F469-1F3FD-200D-2764-200D-1F48B-200D-1F468-1F3FE","image":"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.png","sheet_x":21,"sheet_y":12,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FF":{"unified":"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF","non_qualified":"1F469-1F3FD-200D-2764-200D-1F48B-200D-1F468-1F3FF","image":"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.png","sheet_x":21,"sheet_y":13,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FB":{"unified":"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB","non_qualified":"1F469-1F3FE-200D-2764-200D-1F48B-200D-1F468-1F3FB","image":"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.png","sheet_x":21,"sheet_y":14,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FC":{"unified":"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC","non_qualified":"1F469-1F3FE-200D-2764-200D-1F48B-200D-1F468-1F3FC","image":"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.png","sheet_x":21,"sheet_y":15,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FD":{"unified":"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD","non_qualified":"1F469-1F3FE-200D-2764-200D-1F48B-200D-1F468-1F3FD","image":"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.png","sheet_x":21,"sheet_y":16,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FE":{"unified":"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE","non_qualified":"1F469-1F3FE-200D-2764-200D-1F48B-200D-1F468-1F3FE","image":"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.png","sheet_x":21,"sheet_y":17,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FF":{"unified":"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF","non_qualified":"1F469-1F3FE-200D-2764-200D-1F48B-200D-1F468-1F3FF","image":"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.png","sheet_x":21,"sheet_y":18,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FB":{"unified":"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FB","non_qualified":"1F469-1F3FF-200D-2764-200D-1F48B-200D-1F468-1F3FB","image":"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb.png","sheet_x":21,"sheet_y":19,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FC":{"unified":"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FC","non_qualified":"1F469-1F3FF-200D-2764-200D-1F48B-200D-1F468-1F3FC","image":"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc.png","sheet_x":21,"sheet_y":20,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FD":{"unified":"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FD","non_qualified":"1F469-1F3FF-200D-2764-200D-1F48B-200D-1F468-1F3FD","image":"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd.png","sheet_x":21,"sheet_y":21,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FE":{"unified":"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FE","non_qualified":"1F469-1F3FF-200D-2764-200D-1F48B-200D-1F468-1F3FE","image":"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe.png","sheet_x":21,"sheet_y":22,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FF":{"unified":"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F468-1F3FF","non_qualified":"1F469-1F3FF-200D-2764-200D-1F48B-200D-1F468-1F3FF","image":"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff.png","sheet_x":21,"sheet_y":23,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"KISS: WOMAN, WOMAN","unified":"1F469-200D-2764-FE0F-200D-1F48B-200D-1F469","non_qualified":"1F469-200D-2764-200D-1F48B-200D-1F469","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.png","sheet_x":21,"sheet_y":24,"short_name":"woman-kiss-woman","short_names":["woman-kiss-woman"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":519,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB-1F3FB":{"unified":"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FB","non_qualified":"1F469-1F3FB-200D-2764-200D-1F48B-200D-1F469-1F3FB","image":"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.png","sheet_x":21,"sheet_y":25,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FC":{"unified":"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FC","non_qualified":"1F469-1F3FB-200D-2764-200D-1F48B-200D-1F469-1F3FC","image":"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.png","sheet_x":21,"sheet_y":26,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FD":{"unified":"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FD","non_qualified":"1F469-1F3FB-200D-2764-200D-1F48B-200D-1F469-1F3FD","image":"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.png","sheet_x":21,"sheet_y":27,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FE":{"unified":"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FE","non_qualified":"1F469-1F3FB-200D-2764-200D-1F48B-200D-1F469-1F3FE","image":"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.png","sheet_x":21,"sheet_y":28,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FF":{"unified":"1F469-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FF","non_qualified":"1F469-1F3FB-200D-2764-200D-1F48B-200D-1F469-1F3FF","image":"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.png","sheet_x":21,"sheet_y":29,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FB":{"unified":"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FB","non_qualified":"1F469-1F3FC-200D-2764-200D-1F48B-200D-1F469-1F3FB","image":"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.png","sheet_x":21,"sheet_y":30,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FC":{"unified":"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FC","non_qualified":"1F469-1F3FC-200D-2764-200D-1F48B-200D-1F469-1F3FC","image":"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.png","sheet_x":21,"sheet_y":31,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FD":{"unified":"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FD","non_qualified":"1F469-1F3FC-200D-2764-200D-1F48B-200D-1F469-1F3FD","image":"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.png","sheet_x":21,"sheet_y":32,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FE":{"unified":"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FE","non_qualified":"1F469-1F3FC-200D-2764-200D-1F48B-200D-1F469-1F3FE","image":"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.png","sheet_x":21,"sheet_y":33,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FF":{"unified":"1F469-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FF","non_qualified":"1F469-1F3FC-200D-2764-200D-1F48B-200D-1F469-1F3FF","image":"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.png","sheet_x":21,"sheet_y":34,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FB":{"unified":"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FB","non_qualified":"1F469-1F3FD-200D-2764-200D-1F48B-200D-1F469-1F3FB","image":"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.png","sheet_x":21,"sheet_y":35,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FC":{"unified":"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FC","non_qualified":"1F469-1F3FD-200D-2764-200D-1F48B-200D-1F469-1F3FC","image":"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.png","sheet_x":21,"sheet_y":36,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FD":{"unified":"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FD","non_qualified":"1F469-1F3FD-200D-2764-200D-1F48B-200D-1F469-1F3FD","image":"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.png","sheet_x":21,"sheet_y":37,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FE":{"unified":"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FE","non_qualified":"1F469-1F3FD-200D-2764-200D-1F48B-200D-1F469-1F3FE","image":"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.png","sheet_x":21,"sheet_y":38,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FF":{"unified":"1F469-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FF","non_qualified":"1F469-1F3FD-200D-2764-200D-1F48B-200D-1F469-1F3FF","image":"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.png","sheet_x":21,"sheet_y":39,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FB":{"unified":"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FB","non_qualified":"1F469-1F3FE-200D-2764-200D-1F48B-200D-1F469-1F3FB","image":"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.png","sheet_x":21,"sheet_y":40,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FC":{"unified":"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FC","non_qualified":"1F469-1F3FE-200D-2764-200D-1F48B-200D-1F469-1F3FC","image":"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.png","sheet_x":21,"sheet_y":41,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FD":{"unified":"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FD","non_qualified":"1F469-1F3FE-200D-2764-200D-1F48B-200D-1F469-1F3FD","image":"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.png","sheet_x":21,"sheet_y":42,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FE":{"unified":"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FE","non_qualified":"1F469-1F3FE-200D-2764-200D-1F48B-200D-1F469-1F3FE","image":"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.png","sheet_x":21,"sheet_y":43,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FF":{"unified":"1F469-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FF","non_qualified":"1F469-1F3FE-200D-2764-200D-1F48B-200D-1F469-1F3FF","image":"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.png","sheet_x":21,"sheet_y":44,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FB":{"unified":"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FB","non_qualified":"1F469-1F3FF-200D-2764-200D-1F48B-200D-1F469-1F3FB","image":"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb.png","sheet_x":21,"sheet_y":45,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FC":{"unified":"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FC","non_qualified":"1F469-1F3FF-200D-2764-200D-1F48B-200D-1F469-1F3FC","image":"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc.png","sheet_x":21,"sheet_y":46,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FD":{"unified":"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FD","non_qualified":"1F469-1F3FF-200D-2764-200D-1F48B-200D-1F469-1F3FD","image":"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd.png","sheet_x":21,"sheet_y":47,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FE":{"unified":"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FE","non_qualified":"1F469-1F3FF-200D-2764-200D-1F48B-200D-1F469-1F3FE","image":"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe.png","sheet_x":21,"sheet_y":48,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FF":{"unified":"1F469-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F469-1F3FF","non_qualified":"1F469-1F3FF-200D-2764-200D-1F48B-200D-1F469-1F3FF","image":"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff.png","sheet_x":21,"sheet_y":49,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN","unified":"1F469","non_qualified":null,"docomo":"E6F0","au":"E4FA","softbank":"E005","google":"FE19E","image":"1f469.png","sheet_x":21,"sheet_y":50,"short_name":"woman","short_names":["woman"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":247,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F469-1F3FB","non_qualified":null,"image":"1f469-1f3fb.png","sheet_x":21,"sheet_y":51,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F469-1F3FC","non_qualified":null,"image":"1f469-1f3fc.png","sheet_x":21,"sheet_y":52,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F469-1F3FD","non_qualified":null,"image":"1f469-1f3fd.png","sheet_x":21,"sheet_y":53,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F469-1F3FE","non_qualified":null,"image":"1f469-1f3fe.png","sheet_x":21,"sheet_y":54,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F469-1F3FF","non_qualified":null,"image":"1f469-1f3ff.png","sheet_x":21,"sheet_y":55,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"FAMILY","unified":"1F46A","non_qualified":null,"docomo":null,"au":"E501","softbank":null,"google":"FE19F","image":"1f46a.png","sheet_x":21,"sheet_y":56,"short_name":"family","short_names":["family"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-symbol","sort_order":553,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F468-200D-1F469-200D-1F466"},{"name":"MAN AND WOMAN HOLDING HANDS","unified":"1F46B","non_qualified":null,"docomo":null,"au":null,"softbank":"E428","google":"FE1A0","image":"1f46b.png","sheet_x":21,"sheet_y":57,"short_name":"man_and_woman_holding_hands","short_names":["man_and_woman_holding_hands","woman_and_man_holding_hands","couple"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":514,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F46B-1F3FB","non_qualified":null,"image":"1f46b-1f3fb.png","sheet_x":21,"sheet_y":58,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F46B-1F3FC","non_qualified":null,"image":"1f46b-1f3fc.png","sheet_x":21,"sheet_y":59,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F46B-1F3FD","non_qualified":null,"image":"1f46b-1f3fd.png","sheet_x":21,"sheet_y":60,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F46B-1F3FE","non_qualified":null,"image":"1f46b-1f3fe.png","sheet_x":21,"sheet_y":61,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F46B-1F3FF","non_qualified":null,"image":"1f46b-1f3ff.png","sheet_x":21,"sheet_y":62,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FC":{"unified":"1F469-1F3FB-200D-1F91D-200D-1F468-1F3FC","non_qualified":null,"image":"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fc.png","sheet_x":22,"sheet_y":0,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FD":{"unified":"1F469-1F3FB-200D-1F91D-200D-1F468-1F3FD","non_qualified":null,"image":"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fd.png","sheet_x":22,"sheet_y":1,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FE":{"unified":"1F469-1F3FB-200D-1F91D-200D-1F468-1F3FE","non_qualified":null,"image":"1f469-1f3fb-200d-1f91d-200d-1f468-1f3fe.png","sheet_x":22,"sheet_y":2,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FF":{"unified":"1F469-1F3FB-200D-1F91D-200D-1F468-1F3FF","non_qualified":null,"image":"1f469-1f3fb-200d-1f91d-200d-1f468-1f3ff.png","sheet_x":22,"sheet_y":3,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FB":{"unified":"1F469-1F3FC-200D-1F91D-200D-1F468-1F3FB","non_qualified":null,"image":"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fb.png","sheet_x":22,"sheet_y":4,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FD":{"unified":"1F469-1F3FC-200D-1F91D-200D-1F468-1F3FD","non_qualified":null,"image":"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fd.png","sheet_x":22,"sheet_y":5,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FE":{"unified":"1F469-1F3FC-200D-1F91D-200D-1F468-1F3FE","non_qualified":null,"image":"1f469-1f3fc-200d-1f91d-200d-1f468-1f3fe.png","sheet_x":22,"sheet_y":6,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FF":{"unified":"1F469-1F3FC-200D-1F91D-200D-1F468-1F3FF","non_qualified":null,"image":"1f469-1f3fc-200d-1f91d-200d-1f468-1f3ff.png","sheet_x":22,"sheet_y":7,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FB":{"unified":"1F469-1F3FD-200D-1F91D-200D-1F468-1F3FB","non_qualified":null,"image":"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fb.png","sheet_x":22,"sheet_y":8,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FC":{"unified":"1F469-1F3FD-200D-1F91D-200D-1F468-1F3FC","non_qualified":null,"image":"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fc.png","sheet_x":22,"sheet_y":9,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FE":{"unified":"1F469-1F3FD-200D-1F91D-200D-1F468-1F3FE","non_qualified":null,"image":"1f469-1f3fd-200d-1f91d-200d-1f468-1f3fe.png","sheet_x":22,"sheet_y":10,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FF":{"unified":"1F469-1F3FD-200D-1F91D-200D-1F468-1F3FF","non_qualified":null,"image":"1f469-1f3fd-200d-1f91d-200d-1f468-1f3ff.png","sheet_x":22,"sheet_y":11,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FB":{"unified":"1F469-1F3FE-200D-1F91D-200D-1F468-1F3FB","non_qualified":null,"image":"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fb.png","sheet_x":22,"sheet_y":12,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FC":{"unified":"1F469-1F3FE-200D-1F91D-200D-1F468-1F3FC","non_qualified":null,"image":"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fc.png","sheet_x":22,"sheet_y":13,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FD":{"unified":"1F469-1F3FE-200D-1F91D-200D-1F468-1F3FD","non_qualified":null,"image":"1f469-1f3fe-200d-1f91d-200d-1f468-1f3fd.png","sheet_x":22,"sheet_y":14,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FF":{"unified":"1F469-1F3FE-200D-1F91D-200D-1F468-1F3FF","non_qualified":null,"image":"1f469-1f3fe-200d-1f91d-200d-1f468-1f3ff.png","sheet_x":22,"sheet_y":15,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FB":{"unified":"1F469-1F3FF-200D-1F91D-200D-1F468-1F3FB","non_qualified":null,"image":"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fb.png","sheet_x":22,"sheet_y":16,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FC":{"unified":"1F469-1F3FF-200D-1F91D-200D-1F468-1F3FC","non_qualified":null,"image":"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fc.png","sheet_x":22,"sheet_y":17,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FD":{"unified":"1F469-1F3FF-200D-1F91D-200D-1F468-1F3FD","non_qualified":null,"image":"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fd.png","sheet_x":22,"sheet_y":18,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FE":{"unified":"1F469-1F3FF-200D-1F91D-200D-1F468-1F3FE","non_qualified":null,"image":"1f469-1f3ff-200d-1f91d-200d-1f468-1f3fe.png","sheet_x":22,"sheet_y":19,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"TWO MEN HOLDING HANDS","unified":"1F46C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f46c.png","sheet_x":22,"sheet_y":20,"short_name":"two_men_holding_hands","short_names":["two_men_holding_hands","men_holding_hands"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":515,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F46C-1F3FB","non_qualified":null,"image":"1f46c-1f3fb.png","sheet_x":22,"sheet_y":21,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F46C-1F3FC","non_qualified":null,"image":"1f46c-1f3fc.png","sheet_x":22,"sheet_y":22,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F46C-1F3FD","non_qualified":null,"image":"1f46c-1f3fd.png","sheet_x":22,"sheet_y":23,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F46C-1F3FE","non_qualified":null,"image":"1f46c-1f3fe.png","sheet_x":22,"sheet_y":24,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F46C-1F3FF","non_qualified":null,"image":"1f46c-1f3ff.png","sheet_x":22,"sheet_y":25,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FC":{"unified":"1F468-1F3FB-200D-1F91D-200D-1F468-1F3FC","non_qualified":null,"image":"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fc.png","sheet_x":22,"sheet_y":26,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FD":{"unified":"1F468-1F3FB-200D-1F91D-200D-1F468-1F3FD","non_qualified":null,"image":"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fd.png","sheet_x":22,"sheet_y":27,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FE":{"unified":"1F468-1F3FB-200D-1F91D-200D-1F468-1F3FE","non_qualified":null,"image":"1f468-1f3fb-200d-1f91d-200d-1f468-1f3fe.png","sheet_x":22,"sheet_y":28,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FF":{"unified":"1F468-1F3FB-200D-1F91D-200D-1F468-1F3FF","non_qualified":null,"image":"1f468-1f3fb-200d-1f91d-200d-1f468-1f3ff.png","sheet_x":22,"sheet_y":29,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FB":{"unified":"1F468-1F3FC-200D-1F91D-200D-1F468-1F3FB","non_qualified":null,"image":"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fb.png","sheet_x":22,"sheet_y":30,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FD":{"unified":"1F468-1F3FC-200D-1F91D-200D-1F468-1F3FD","non_qualified":null,"image":"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fd.png","sheet_x":22,"sheet_y":31,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FE":{"unified":"1F468-1F3FC-200D-1F91D-200D-1F468-1F3FE","non_qualified":null,"image":"1f468-1f3fc-200d-1f91d-200d-1f468-1f3fe.png","sheet_x":22,"sheet_y":32,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FF":{"unified":"1F468-1F3FC-200D-1F91D-200D-1F468-1F3FF","non_qualified":null,"image":"1f468-1f3fc-200d-1f91d-200d-1f468-1f3ff.png","sheet_x":22,"sheet_y":33,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FB":{"unified":"1F468-1F3FD-200D-1F91D-200D-1F468-1F3FB","non_qualified":null,"image":"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fb.png","sheet_x":22,"sheet_y":34,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FC":{"unified":"1F468-1F3FD-200D-1F91D-200D-1F468-1F3FC","non_qualified":null,"image":"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fc.png","sheet_x":22,"sheet_y":35,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FE":{"unified":"1F468-1F3FD-200D-1F91D-200D-1F468-1F3FE","non_qualified":null,"image":"1f468-1f3fd-200d-1f91d-200d-1f468-1f3fe.png","sheet_x":22,"sheet_y":36,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FF":{"unified":"1F468-1F3FD-200D-1F91D-200D-1F468-1F3FF","non_qualified":null,"image":"1f468-1f3fd-200d-1f91d-200d-1f468-1f3ff.png","sheet_x":22,"sheet_y":37,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FB":{"unified":"1F468-1F3FE-200D-1F91D-200D-1F468-1F3FB","non_qualified":null,"image":"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fb.png","sheet_x":22,"sheet_y":38,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FC":{"unified":"1F468-1F3FE-200D-1F91D-200D-1F468-1F3FC","non_qualified":null,"image":"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fc.png","sheet_x":22,"sheet_y":39,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FD":{"unified":"1F468-1F3FE-200D-1F91D-200D-1F468-1F3FD","non_qualified":null,"image":"1f468-1f3fe-200d-1f91d-200d-1f468-1f3fd.png","sheet_x":22,"sheet_y":40,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FF":{"unified":"1F468-1F3FE-200D-1F91D-200D-1F468-1F3FF","non_qualified":null,"image":"1f468-1f3fe-200d-1f91d-200d-1f468-1f3ff.png","sheet_x":22,"sheet_y":41,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FB":{"unified":"1F468-1F3FF-200D-1F91D-200D-1F468-1F3FB","non_qualified":null,"image":"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fb.png","sheet_x":22,"sheet_y":42,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FC":{"unified":"1F468-1F3FF-200D-1F91D-200D-1F468-1F3FC","non_qualified":null,"image":"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fc.png","sheet_x":22,"sheet_y":43,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FD":{"unified":"1F468-1F3FF-200D-1F91D-200D-1F468-1F3FD","non_qualified":null,"image":"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fd.png","sheet_x":22,"sheet_y":44,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FE":{"unified":"1F468-1F3FF-200D-1F91D-200D-1F468-1F3FE","non_qualified":null,"image":"1f468-1f3ff-200d-1f91d-200d-1f468-1f3fe.png","sheet_x":22,"sheet_y":45,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"TWO WOMEN HOLDING HANDS","unified":"1F46D","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f46d.png","sheet_x":22,"sheet_y":46,"short_name":"two_women_holding_hands","short_names":["two_women_holding_hands","women_holding_hands"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":513,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F46D-1F3FB","non_qualified":null,"image":"1f46d-1f3fb.png","sheet_x":22,"sheet_y":47,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F46D-1F3FC","non_qualified":null,"image":"1f46d-1f3fc.png","sheet_x":22,"sheet_y":48,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F46D-1F3FD","non_qualified":null,"image":"1f46d-1f3fd.png","sheet_x":22,"sheet_y":49,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F46D-1F3FE","non_qualified":null,"image":"1f46d-1f3fe.png","sheet_x":22,"sheet_y":50,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F46D-1F3FF","non_qualified":null,"image":"1f46d-1f3ff.png","sheet_x":22,"sheet_y":51,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FC":{"unified":"1F469-1F3FB-200D-1F91D-200D-1F469-1F3FC","non_qualified":null,"image":"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fc.png","sheet_x":22,"sheet_y":52,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FD":{"unified":"1F469-1F3FB-200D-1F91D-200D-1F469-1F3FD","non_qualified":null,"image":"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fd.png","sheet_x":22,"sheet_y":53,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FE":{"unified":"1F469-1F3FB-200D-1F91D-200D-1F469-1F3FE","non_qualified":null,"image":"1f469-1f3fb-200d-1f91d-200d-1f469-1f3fe.png","sheet_x":22,"sheet_y":54,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FF":{"unified":"1F469-1F3FB-200D-1F91D-200D-1F469-1F3FF","non_qualified":null,"image":"1f469-1f3fb-200d-1f91d-200d-1f469-1f3ff.png","sheet_x":22,"sheet_y":55,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FB":{"unified":"1F469-1F3FC-200D-1F91D-200D-1F469-1F3FB","non_qualified":null,"image":"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fb.png","sheet_x":22,"sheet_y":56,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FD":{"unified":"1F469-1F3FC-200D-1F91D-200D-1F469-1F3FD","non_qualified":null,"image":"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fd.png","sheet_x":22,"sheet_y":57,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FE":{"unified":"1F469-1F3FC-200D-1F91D-200D-1F469-1F3FE","non_qualified":null,"image":"1f469-1f3fc-200d-1f91d-200d-1f469-1f3fe.png","sheet_x":22,"sheet_y":58,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FF":{"unified":"1F469-1F3FC-200D-1F91D-200D-1F469-1F3FF","non_qualified":null,"image":"1f469-1f3fc-200d-1f91d-200d-1f469-1f3ff.png","sheet_x":22,"sheet_y":59,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FB":{"unified":"1F469-1F3FD-200D-1F91D-200D-1F469-1F3FB","non_qualified":null,"image":"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fb.png","sheet_x":22,"sheet_y":60,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FC":{"unified":"1F469-1F3FD-200D-1F91D-200D-1F469-1F3FC","non_qualified":null,"image":"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fc.png","sheet_x":22,"sheet_y":61,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FE":{"unified":"1F469-1F3FD-200D-1F91D-200D-1F469-1F3FE","non_qualified":null,"image":"1f469-1f3fd-200d-1f91d-200d-1f469-1f3fe.png","sheet_x":22,"sheet_y":62,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FF":{"unified":"1F469-1F3FD-200D-1F91D-200D-1F469-1F3FF","non_qualified":null,"image":"1f469-1f3fd-200d-1f91d-200d-1f469-1f3ff.png","sheet_x":23,"sheet_y":0,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FB":{"unified":"1F469-1F3FE-200D-1F91D-200D-1F469-1F3FB","non_qualified":null,"image":"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fb.png","sheet_x":23,"sheet_y":1,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FC":{"unified":"1F469-1F3FE-200D-1F91D-200D-1F469-1F3FC","non_qualified":null,"image":"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fc.png","sheet_x":23,"sheet_y":2,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FD":{"unified":"1F469-1F3FE-200D-1F91D-200D-1F469-1F3FD","non_qualified":null,"image":"1f469-1f3fe-200d-1f91d-200d-1f469-1f3fd.png","sheet_x":23,"sheet_y":3,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FF":{"unified":"1F469-1F3FE-200D-1F91D-200D-1F469-1F3FF","non_qualified":null,"image":"1f469-1f3fe-200d-1f91d-200d-1f469-1f3ff.png","sheet_x":23,"sheet_y":4,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FB":{"unified":"1F469-1F3FF-200D-1F91D-200D-1F469-1F3FB","non_qualified":null,"image":"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fb.png","sheet_x":23,"sheet_y":5,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FC":{"unified":"1F469-1F3FF-200D-1F91D-200D-1F469-1F3FC","non_qualified":null,"image":"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fc.png","sheet_x":23,"sheet_y":6,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FD":{"unified":"1F469-1F3FF-200D-1F91D-200D-1F469-1F3FD","non_qualified":null,"image":"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fd.png","sheet_x":23,"sheet_y":7,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FE":{"unified":"1F469-1F3FF-200D-1F91D-200D-1F469-1F3FE","non_qualified":null,"image":"1f469-1f3ff-200d-1f91d-200d-1f469-1f3fe.png","sheet_x":23,"sheet_y":8,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN POLICE OFFICER","unified":"1F46E-200D-2640-FE0F","non_qualified":"1F46E-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f46e-200d-2640-fe0f.png","sheet_x":23,"sheet_y":9,"short_name":"female-police-officer","short_names":["female-police-officer"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":341,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F46E-1F3FB-200D-2640-FE0F","non_qualified":"1F46E-1F3FB-200D-2640","image":"1f46e-1f3fb-200d-2640-fe0f.png","sheet_x":23,"sheet_y":10,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F46E-1F3FC-200D-2640-FE0F","non_qualified":"1F46E-1F3FC-200D-2640","image":"1f46e-1f3fc-200d-2640-fe0f.png","sheet_x":23,"sheet_y":11,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F46E-1F3FD-200D-2640-FE0F","non_qualified":"1F46E-1F3FD-200D-2640","image":"1f46e-1f3fd-200d-2640-fe0f.png","sheet_x":23,"sheet_y":12,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F46E-1F3FE-200D-2640-FE0F","non_qualified":"1F46E-1F3FE-200D-2640","image":"1f46e-1f3fe-200d-2640-fe0f.png","sheet_x":23,"sheet_y":13,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F46E-1F3FF-200D-2640-FE0F","non_qualified":"1F46E-1F3FF-200D-2640","image":"1f46e-1f3ff-200d-2640-fe0f.png","sheet_x":23,"sheet_y":14,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN POLICE OFFICER","unified":"1F46E-200D-2642-FE0F","non_qualified":"1F46E-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f46e-200d-2642-fe0f.png","sheet_x":23,"sheet_y":15,"short_name":"male-police-officer","short_names":["male-police-officer"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":340,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F46E-1F3FB-200D-2642-FE0F","non_qualified":"1F46E-1F3FB-200D-2642","image":"1f46e-1f3fb-200d-2642-fe0f.png","sheet_x":23,"sheet_y":16,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F46E-1F3FC-200D-2642-FE0F","non_qualified":"1F46E-1F3FC-200D-2642","image":"1f46e-1f3fc-200d-2642-fe0f.png","sheet_x":23,"sheet_y":17,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F46E-1F3FD-200D-2642-FE0F","non_qualified":"1F46E-1F3FD-200D-2642","image":"1f46e-1f3fd-200d-2642-fe0f.png","sheet_x":23,"sheet_y":18,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F46E-1F3FE-200D-2642-FE0F","non_qualified":"1F46E-1F3FE-200D-2642","image":"1f46e-1f3fe-200d-2642-fe0f.png","sheet_x":23,"sheet_y":19,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F46E-1F3FF-200D-2642-FE0F","non_qualified":"1F46E-1F3FF-200D-2642","image":"1f46e-1f3ff-200d-2642-fe0f.png","sheet_x":23,"sheet_y":20,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F46E"},{"name":"POLICE OFFICER","unified":"1F46E","non_qualified":null,"docomo":null,"au":"E5DD","softbank":"E152","google":"FE1A1","image":"1f46e.png","sheet_x":23,"sheet_y":21,"short_name":"cop","short_names":["cop"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":339,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F46E-1F3FB","non_qualified":null,"image":"1f46e-1f3fb.png","sheet_x":23,"sheet_y":22,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F46E-1F3FC","non_qualified":null,"image":"1f46e-1f3fc.png","sheet_x":23,"sheet_y":23,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F46E-1F3FD","non_qualified":null,"image":"1f46e-1f3fd.png","sheet_x":23,"sheet_y":24,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F46E-1F3FE","non_qualified":null,"image":"1f46e-1f3fe.png","sheet_x":23,"sheet_y":25,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F46E-1F3FF","non_qualified":null,"image":"1f46e-1f3ff.png","sheet_x":23,"sheet_y":26,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F46E-200D-2642-FE0F"},{"name":"WOMEN WITH BUNNY EARS","unified":"1F46F-200D-2640-FE0F","non_qualified":"1F46F-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f46f-200d-2640-fe0f.png","sheet_x":23,"sheet_y":27,"short_name":"women-with-bunny-ears-partying","short_names":["women-with-bunny-ears-partying","woman-with-bunny-ears-partying"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":457,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F46F-1F3FB-200D-2640-FE0F","non_qualified":"1F46F-1F3FB-200D-2640","image":"1f46f-1f3fb-200d-2640-fe0f.png","sheet_x":23,"sheet_y":28,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC":{"unified":"1F46F-1F3FC-200D-2640-FE0F","non_qualified":"1F46F-1F3FC-200D-2640","image":"1f46f-1f3fc-200d-2640-fe0f.png","sheet_x":23,"sheet_y":29,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD":{"unified":"1F46F-1F3FD-200D-2640-FE0F","non_qualified":"1F46F-1F3FD-200D-2640","image":"1f46f-1f3fd-200d-2640-fe0f.png","sheet_x":23,"sheet_y":30,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE":{"unified":"1F46F-1F3FE-200D-2640-FE0F","non_qualified":"1F46F-1F3FE-200D-2640","image":"1f46f-1f3fe-200d-2640-fe0f.png","sheet_x":23,"sheet_y":31,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF":{"unified":"1F46F-1F3FF-200D-2640-FE0F","non_qualified":"1F46F-1F3FF-200D-2640","image":"1f46f-1f3ff-200d-2640-fe0f.png","sheet_x":23,"sheet_y":32,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FC":{"unified":"1F469-1F3FB-200D-1F430-200D-1F469-1F3FC","non_qualified":null,"image":"1f469-1f3fb-200d-1f430-200d-1f469-1f3fc.png","sheet_x":23,"sheet_y":33,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FD":{"unified":"1F469-1F3FB-200D-1F430-200D-1F469-1F3FD","non_qualified":null,"image":"1f469-1f3fb-200d-1f430-200d-1f469-1f3fd.png","sheet_x":23,"sheet_y":34,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FE":{"unified":"1F469-1F3FB-200D-1F430-200D-1F469-1F3FE","non_qualified":null,"image":"1f469-1f3fb-200d-1f430-200d-1f469-1f3fe.png","sheet_x":23,"sheet_y":35,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FF":{"unified":"1F469-1F3FB-200D-1F430-200D-1F469-1F3FF","non_qualified":null,"image":"1f469-1f3fb-200d-1f430-200d-1f469-1f3ff.png","sheet_x":23,"sheet_y":36,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FB":{"unified":"1F469-1F3FC-200D-1F430-200D-1F469-1F3FB","non_qualified":null,"image":"1f469-1f3fc-200d-1f430-200d-1f469-1f3fb.png","sheet_x":23,"sheet_y":37,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FD":{"unified":"1F469-1F3FC-200D-1F430-200D-1F469-1F3FD","non_qualified":null,"image":"1f469-1f3fc-200d-1f430-200d-1f469-1f3fd.png","sheet_x":23,"sheet_y":38,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FE":{"unified":"1F469-1F3FC-200D-1F430-200D-1F469-1F3FE","non_qualified":null,"image":"1f469-1f3fc-200d-1f430-200d-1f469-1f3fe.png","sheet_x":23,"sheet_y":39,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FF":{"unified":"1F469-1F3FC-200D-1F430-200D-1F469-1F3FF","non_qualified":null,"image":"1f469-1f3fc-200d-1f430-200d-1f469-1f3ff.png","sheet_x":23,"sheet_y":40,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FB":{"unified":"1F469-1F3FD-200D-1F430-200D-1F469-1F3FB","non_qualified":null,"image":"1f469-1f3fd-200d-1f430-200d-1f469-1f3fb.png","sheet_x":23,"sheet_y":41,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FC":{"unified":"1F469-1F3FD-200D-1F430-200D-1F469-1F3FC","non_qualified":null,"image":"1f469-1f3fd-200d-1f430-200d-1f469-1f3fc.png","sheet_x":23,"sheet_y":42,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FE":{"unified":"1F469-1F3FD-200D-1F430-200D-1F469-1F3FE","non_qualified":null,"image":"1f469-1f3fd-200d-1f430-200d-1f469-1f3fe.png","sheet_x":23,"sheet_y":43,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FF":{"unified":"1F469-1F3FD-200D-1F430-200D-1F469-1F3FF","non_qualified":null,"image":"1f469-1f3fd-200d-1f430-200d-1f469-1f3ff.png","sheet_x":23,"sheet_y":44,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FB":{"unified":"1F469-1F3FE-200D-1F430-200D-1F469-1F3FB","non_qualified":null,"image":"1f469-1f3fe-200d-1f430-200d-1f469-1f3fb.png","sheet_x":23,"sheet_y":45,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FC":{"unified":"1F469-1F3FE-200D-1F430-200D-1F469-1F3FC","non_qualified":null,"image":"1f469-1f3fe-200d-1f430-200d-1f469-1f3fc.png","sheet_x":23,"sheet_y":46,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FD":{"unified":"1F469-1F3FE-200D-1F430-200D-1F469-1F3FD","non_qualified":null,"image":"1f469-1f3fe-200d-1f430-200d-1f469-1f3fd.png","sheet_x":23,"sheet_y":47,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FF":{"unified":"1F469-1F3FE-200D-1F430-200D-1F469-1F3FF","non_qualified":null,"image":"1f469-1f3fe-200d-1f430-200d-1f469-1f3ff.png","sheet_x":23,"sheet_y":48,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FB":{"unified":"1F469-1F3FF-200D-1F430-200D-1F469-1F3FB","non_qualified":null,"image":"1f469-1f3ff-200d-1f430-200d-1f469-1f3fb.png","sheet_x":23,"sheet_y":49,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FC":{"unified":"1F469-1F3FF-200D-1F430-200D-1F469-1F3FC","non_qualified":null,"image":"1f469-1f3ff-200d-1f430-200d-1f469-1f3fc.png","sheet_x":23,"sheet_y":50,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FD":{"unified":"1F469-1F3FF-200D-1F430-200D-1F469-1F3FD","non_qualified":null,"image":"1f469-1f3ff-200d-1f430-200d-1f469-1f3fd.png","sheet_x":23,"sheet_y":51,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FE":{"unified":"1F469-1F3FF-200D-1F430-200D-1F469-1F3FE","non_qualified":null,"image":"1f469-1f3ff-200d-1f430-200d-1f469-1f3fe.png","sheet_x":23,"sheet_y":52,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false}},"obsoletes":"1F46F"},{"name":"MEN WITH BUNNY EARS","unified":"1F46F-200D-2642-FE0F","non_qualified":"1F46F-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f46f-200d-2642-fe0f.png","sheet_x":23,"sheet_y":53,"short_name":"men-with-bunny-ears-partying","short_names":["men-with-bunny-ears-partying","man-with-bunny-ears-partying"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":456,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F46F-1F3FB-200D-2642-FE0F","non_qualified":"1F46F-1F3FB-200D-2642","image":"1f46f-1f3fb-200d-2642-fe0f.png","sheet_x":23,"sheet_y":54,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC":{"unified":"1F46F-1F3FC-200D-2642-FE0F","non_qualified":"1F46F-1F3FC-200D-2642","image":"1f46f-1f3fc-200d-2642-fe0f.png","sheet_x":23,"sheet_y":55,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD":{"unified":"1F46F-1F3FD-200D-2642-FE0F","non_qualified":"1F46F-1F3FD-200D-2642","image":"1f46f-1f3fd-200d-2642-fe0f.png","sheet_x":23,"sheet_y":56,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE":{"unified":"1F46F-1F3FE-200D-2642-FE0F","non_qualified":"1F46F-1F3FE-200D-2642","image":"1f46f-1f3fe-200d-2642-fe0f.png","sheet_x":23,"sheet_y":57,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF":{"unified":"1F46F-1F3FF-200D-2642-FE0F","non_qualified":"1F46F-1F3FF-200D-2642","image":"1f46f-1f3ff-200d-2642-fe0f.png","sheet_x":23,"sheet_y":58,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FC":{"unified":"1F468-1F3FB-200D-1F430-200D-1F468-1F3FC","non_qualified":null,"image":"1f468-1f3fb-200d-1f430-200d-1f468-1f3fc.png","sheet_x":23,"sheet_y":59,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FD":{"unified":"1F468-1F3FB-200D-1F430-200D-1F468-1F3FD","non_qualified":null,"image":"1f468-1f3fb-200d-1f430-200d-1f468-1f3fd.png","sheet_x":23,"sheet_y":60,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FE":{"unified":"1F468-1F3FB-200D-1F430-200D-1F468-1F3FE","non_qualified":null,"image":"1f468-1f3fb-200d-1f430-200d-1f468-1f3fe.png","sheet_x":23,"sheet_y":61,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FF":{"unified":"1F468-1F3FB-200D-1F430-200D-1F468-1F3FF","non_qualified":null,"image":"1f468-1f3fb-200d-1f430-200d-1f468-1f3ff.png","sheet_x":23,"sheet_y":62,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FB":{"unified":"1F468-1F3FC-200D-1F430-200D-1F468-1F3FB","non_qualified":null,"image":"1f468-1f3fc-200d-1f430-200d-1f468-1f3fb.png","sheet_x":24,"sheet_y":0,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FD":{"unified":"1F468-1F3FC-200D-1F430-200D-1F468-1F3FD","non_qualified":null,"image":"1f468-1f3fc-200d-1f430-200d-1f468-1f3fd.png","sheet_x":24,"sheet_y":1,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FE":{"unified":"1F468-1F3FC-200D-1F430-200D-1F468-1F3FE","non_qualified":null,"image":"1f468-1f3fc-200d-1f430-200d-1f468-1f3fe.png","sheet_x":24,"sheet_y":2,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FF":{"unified":"1F468-1F3FC-200D-1F430-200D-1F468-1F3FF","non_qualified":null,"image":"1f468-1f3fc-200d-1f430-200d-1f468-1f3ff.png","sheet_x":24,"sheet_y":3,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FB":{"unified":"1F468-1F3FD-200D-1F430-200D-1F468-1F3FB","non_qualified":null,"image":"1f468-1f3fd-200d-1f430-200d-1f468-1f3fb.png","sheet_x":24,"sheet_y":4,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FC":{"unified":"1F468-1F3FD-200D-1F430-200D-1F468-1F3FC","non_qualified":null,"image":"1f468-1f3fd-200d-1f430-200d-1f468-1f3fc.png","sheet_x":24,"sheet_y":5,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FE":{"unified":"1F468-1F3FD-200D-1F430-200D-1F468-1F3FE","non_qualified":null,"image":"1f468-1f3fd-200d-1f430-200d-1f468-1f3fe.png","sheet_x":24,"sheet_y":6,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FF":{"unified":"1F468-1F3FD-200D-1F430-200D-1F468-1F3FF","non_qualified":null,"image":"1f468-1f3fd-200d-1f430-200d-1f468-1f3ff.png","sheet_x":24,"sheet_y":7,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FB":{"unified":"1F468-1F3FE-200D-1F430-200D-1F468-1F3FB","non_qualified":null,"image":"1f468-1f3fe-200d-1f430-200d-1f468-1f3fb.png","sheet_x":24,"sheet_y":8,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FC":{"unified":"1F468-1F3FE-200D-1F430-200D-1F468-1F3FC","non_qualified":null,"image":"1f468-1f3fe-200d-1f430-200d-1f468-1f3fc.png","sheet_x":24,"sheet_y":9,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FD":{"unified":"1F468-1F3FE-200D-1F430-200D-1F468-1F3FD","non_qualified":null,"image":"1f468-1f3fe-200d-1f430-200d-1f468-1f3fd.png","sheet_x":24,"sheet_y":10,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FF":{"unified":"1F468-1F3FE-200D-1F430-200D-1F468-1F3FF","non_qualified":null,"image":"1f468-1f3fe-200d-1f430-200d-1f468-1f3ff.png","sheet_x":24,"sheet_y":11,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FB":{"unified":"1F468-1F3FF-200D-1F430-200D-1F468-1F3FB","non_qualified":null,"image":"1f468-1f3ff-200d-1f430-200d-1f468-1f3fb.png","sheet_x":24,"sheet_y":12,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FC":{"unified":"1F468-1F3FF-200D-1F430-200D-1F468-1F3FC","non_qualified":null,"image":"1f468-1f3ff-200d-1f430-200d-1f468-1f3fc.png","sheet_x":24,"sheet_y":13,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FD":{"unified":"1F468-1F3FF-200D-1F430-200D-1F468-1F3FD","non_qualified":null,"image":"1f468-1f3ff-200d-1f430-200d-1f468-1f3fd.png","sheet_x":24,"sheet_y":14,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FE":{"unified":"1F468-1F3FF-200D-1F430-200D-1F468-1F3FE","non_qualified":null,"image":"1f468-1f3ff-200d-1f430-200d-1f468-1f3fe.png","sheet_x":24,"sheet_y":15,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false}}},{"name":"WOMAN WITH BUNNY EARS","unified":"1F46F","non_qualified":null,"docomo":null,"au":"EADB","softbank":"E429","google":"FE1A2","image":"1f46f.png","sheet_x":24,"sheet_y":16,"short_name":"dancers","short_names":["dancers"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":455,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F46F-1F3FB","non_qualified":null,"image":"1f46f-1f3fb.png","sheet_x":24,"sheet_y":17,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC":{"unified":"1F46F-1F3FC","non_qualified":null,"image":"1f46f-1f3fc.png","sheet_x":24,"sheet_y":18,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD":{"unified":"1F46F-1F3FD","non_qualified":null,"image":"1f46f-1f3fd.png","sheet_x":24,"sheet_y":19,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE":{"unified":"1F46F-1F3FE","non_qualified":null,"image":"1f46f-1f3fe.png","sheet_x":24,"sheet_y":20,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF":{"unified":"1F46F-1F3FF","non_qualified":null,"image":"1f46f-1f3ff.png","sheet_x":24,"sheet_y":21,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FC":{"unified":"1F9D1-1F3FB-200D-1F430-200D-1F9D1-1F3FC","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3fc.png","sheet_x":24,"sheet_y":22,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FD":{"unified":"1F9D1-1F3FB-200D-1F430-200D-1F9D1-1F3FD","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3fd.png","sheet_x":24,"sheet_y":23,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FE":{"unified":"1F9D1-1F3FB-200D-1F430-200D-1F9D1-1F3FE","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3fe.png","sheet_x":24,"sheet_y":24,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FF":{"unified":"1F9D1-1F3FB-200D-1F430-200D-1F9D1-1F3FF","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f430-200d-1f9d1-1f3ff.png","sheet_x":24,"sheet_y":25,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FB":{"unified":"1F9D1-1F3FC-200D-1F430-200D-1F9D1-1F3FB","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3fb.png","sheet_x":24,"sheet_y":26,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FD":{"unified":"1F9D1-1F3FC-200D-1F430-200D-1F9D1-1F3FD","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3fd.png","sheet_x":24,"sheet_y":27,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FE":{"unified":"1F9D1-1F3FC-200D-1F430-200D-1F9D1-1F3FE","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3fe.png","sheet_x":24,"sheet_y":28,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FF":{"unified":"1F9D1-1F3FC-200D-1F430-200D-1F9D1-1F3FF","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f430-200d-1f9d1-1f3ff.png","sheet_x":24,"sheet_y":29,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FB":{"unified":"1F9D1-1F3FD-200D-1F430-200D-1F9D1-1F3FB","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3fb.png","sheet_x":24,"sheet_y":30,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FC":{"unified":"1F9D1-1F3FD-200D-1F430-200D-1F9D1-1F3FC","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3fc.png","sheet_x":24,"sheet_y":31,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FE":{"unified":"1F9D1-1F3FD-200D-1F430-200D-1F9D1-1F3FE","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3fe.png","sheet_x":24,"sheet_y":32,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FF":{"unified":"1F9D1-1F3FD-200D-1F430-200D-1F9D1-1F3FF","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f430-200d-1f9d1-1f3ff.png","sheet_x":24,"sheet_y":33,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FB":{"unified":"1F9D1-1F3FE-200D-1F430-200D-1F9D1-1F3FB","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3fb.png","sheet_x":24,"sheet_y":34,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FC":{"unified":"1F9D1-1F3FE-200D-1F430-200D-1F9D1-1F3FC","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3fc.png","sheet_x":24,"sheet_y":35,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FD":{"unified":"1F9D1-1F3FE-200D-1F430-200D-1F9D1-1F3FD","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3fd.png","sheet_x":24,"sheet_y":36,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FF":{"unified":"1F9D1-1F3FE-200D-1F430-200D-1F9D1-1F3FF","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f430-200d-1f9d1-1f3ff.png","sheet_x":24,"sheet_y":37,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FB":{"unified":"1F9D1-1F3FF-200D-1F430-200D-1F9D1-1F3FB","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fb.png","sheet_x":24,"sheet_y":38,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FC":{"unified":"1F9D1-1F3FF-200D-1F430-200D-1F9D1-1F3FC","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fc.png","sheet_x":24,"sheet_y":39,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FD":{"unified":"1F9D1-1F3FF-200D-1F430-200D-1F9D1-1F3FD","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fd.png","sheet_x":24,"sheet_y":40,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FE":{"unified":"1F9D1-1F3FF-200D-1F430-200D-1F9D1-1F3FE","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f430-200d-1f9d1-1f3fe.png","sheet_x":24,"sheet_y":41,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false}},"obsoleted_by":"1F46F-200D-2640-FE0F"},{"name":"WOMAN WITH VEIL","unified":"1F470-200D-2640-FE0F","non_qualified":"1F470-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f470-200d-2640-fe0f.png","sheet_x":24,"sheet_y":42,"short_name":"woman_with_veil","short_names":["woman_with_veil"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":365,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F470-1F3FB-200D-2640-FE0F","non_qualified":"1F470-1F3FB-200D-2640","image":"1f470-1f3fb-200d-2640-fe0f.png","sheet_x":24,"sheet_y":43,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F470-1F3FC-200D-2640-FE0F","non_qualified":"1F470-1F3FC-200D-2640","image":"1f470-1f3fc-200d-2640-fe0f.png","sheet_x":24,"sheet_y":44,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F470-1F3FD-200D-2640-FE0F","non_qualified":"1F470-1F3FD-200D-2640","image":"1f470-1f3fd-200d-2640-fe0f.png","sheet_x":24,"sheet_y":45,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F470-1F3FE-200D-2640-FE0F","non_qualified":"1F470-1F3FE-200D-2640","image":"1f470-1f3fe-200d-2640-fe0f.png","sheet_x":24,"sheet_y":46,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F470-1F3FF-200D-2640-FE0F","non_qualified":"1F470-1F3FF-200D-2640","image":"1f470-1f3ff-200d-2640-fe0f.png","sheet_x":24,"sheet_y":47,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN WITH VEIL","unified":"1F470-200D-2642-FE0F","non_qualified":"1F470-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f470-200d-2642-fe0f.png","sheet_x":24,"sheet_y":48,"short_name":"man_with_veil","short_names":["man_with_veil"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":364,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F470-1F3FB-200D-2642-FE0F","non_qualified":"1F470-1F3FB-200D-2642","image":"1f470-1f3fb-200d-2642-fe0f.png","sheet_x":24,"sheet_y":49,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F470-1F3FC-200D-2642-FE0F","non_qualified":"1F470-1F3FC-200D-2642","image":"1f470-1f3fc-200d-2642-fe0f.png","sheet_x":24,"sheet_y":50,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F470-1F3FD-200D-2642-FE0F","non_qualified":"1F470-1F3FD-200D-2642","image":"1f470-1f3fd-200d-2642-fe0f.png","sheet_x":24,"sheet_y":51,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F470-1F3FE-200D-2642-FE0F","non_qualified":"1F470-1F3FE-200D-2642","image":"1f470-1f3fe-200d-2642-fe0f.png","sheet_x":24,"sheet_y":52,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F470-1F3FF-200D-2642-FE0F","non_qualified":"1F470-1F3FF-200D-2642","image":"1f470-1f3ff-200d-2642-fe0f.png","sheet_x":24,"sheet_y":53,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"BRIDE WITH VEIL","unified":"1F470","non_qualified":null,"docomo":null,"au":"EAE9","softbank":null,"google":"FE1A3","image":"1f470.png","sheet_x":24,"sheet_y":54,"short_name":"bride_with_veil","short_names":["bride_with_veil"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":363,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F470-1F3FB","non_qualified":null,"image":"1f470-1f3fb.png","sheet_x":24,"sheet_y":55,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F470-1F3FC","non_qualified":null,"image":"1f470-1f3fc.png","sheet_x":24,"sheet_y":56,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F470-1F3FD","non_qualified":null,"image":"1f470-1f3fd.png","sheet_x":24,"sheet_y":57,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F470-1F3FE","non_qualified":null,"image":"1f470-1f3fe.png","sheet_x":24,"sheet_y":58,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F470-1F3FF","non_qualified":null,"image":"1f470-1f3ff.png","sheet_x":24,"sheet_y":59,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN: BLOND HAIR","unified":"1F471-200D-2640-FE0F","non_qualified":"1F471-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f471-200d-2640-fe0f.png","sheet_x":24,"sheet_y":60,"short_name":"blond-haired-woman","short_names":["blond-haired-woman"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":256,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F471-1F3FB-200D-2640-FE0F","non_qualified":"1F471-1F3FB-200D-2640","image":"1f471-1f3fb-200d-2640-fe0f.png","sheet_x":24,"sheet_y":61,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F471-1F3FC-200D-2640-FE0F","non_qualified":"1F471-1F3FC-200D-2640","image":"1f471-1f3fc-200d-2640-fe0f.png","sheet_x":24,"sheet_y":62,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F471-1F3FD-200D-2640-FE0F","non_qualified":"1F471-1F3FD-200D-2640","image":"1f471-1f3fd-200d-2640-fe0f.png","sheet_x":25,"sheet_y":0,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F471-1F3FE-200D-2640-FE0F","non_qualified":"1F471-1F3FE-200D-2640","image":"1f471-1f3fe-200d-2640-fe0f.png","sheet_x":25,"sheet_y":1,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F471-1F3FF-200D-2640-FE0F","non_qualified":"1F471-1F3FF-200D-2640","image":"1f471-1f3ff-200d-2640-fe0f.png","sheet_x":25,"sheet_y":2,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN: BLOND HAIR","unified":"1F471-200D-2642-FE0F","non_qualified":"1F471-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f471-200d-2642-fe0f.png","sheet_x":25,"sheet_y":3,"short_name":"blond-haired-man","short_names":["blond-haired-man"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":257,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F471-1F3FB-200D-2642-FE0F","non_qualified":"1F471-1F3FB-200D-2642","image":"1f471-1f3fb-200d-2642-fe0f.png","sheet_x":25,"sheet_y":4,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F471-1F3FC-200D-2642-FE0F","non_qualified":"1F471-1F3FC-200D-2642","image":"1f471-1f3fc-200d-2642-fe0f.png","sheet_x":25,"sheet_y":5,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F471-1F3FD-200D-2642-FE0F","non_qualified":"1F471-1F3FD-200D-2642","image":"1f471-1f3fd-200d-2642-fe0f.png","sheet_x":25,"sheet_y":6,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F471-1F3FE-200D-2642-FE0F","non_qualified":"1F471-1F3FE-200D-2642","image":"1f471-1f3fe-200d-2642-fe0f.png","sheet_x":25,"sheet_y":7,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F471-1F3FF-200D-2642-FE0F","non_qualified":"1F471-1F3FF-200D-2642","image":"1f471-1f3ff-200d-2642-fe0f.png","sheet_x":25,"sheet_y":8,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F471"},{"name":"PERSON WITH BLOND HAIR","unified":"1F471","non_qualified":null,"docomo":null,"au":"EB13","softbank":"E515","google":"FE1A4","image":"1f471.png","sheet_x":25,"sheet_y":9,"short_name":"person_with_blond_hair","short_names":["person_with_blond_hair"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":238,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F471-1F3FB","non_qualified":null,"image":"1f471-1f3fb.png","sheet_x":25,"sheet_y":10,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F471-1F3FC","non_qualified":null,"image":"1f471-1f3fc.png","sheet_x":25,"sheet_y":11,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F471-1F3FD","non_qualified":null,"image":"1f471-1f3fd.png","sheet_x":25,"sheet_y":12,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F471-1F3FE","non_qualified":null,"image":"1f471-1f3fe.png","sheet_x":25,"sheet_y":13,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F471-1F3FF","non_qualified":null,"image":"1f471-1f3ff.png","sheet_x":25,"sheet_y":14,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F471-200D-2642-FE0F"},{"name":"MAN WITH GUA PI MAO","unified":"1F472","non_qualified":null,"docomo":null,"au":"EB14","softbank":"E516","google":"FE1A5","image":"1f472.png","sheet_x":25,"sheet_y":15,"short_name":"man_with_gua_pi_mao","short_names":["man_with_gua_pi_mao"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":358,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F472-1F3FB","non_qualified":null,"image":"1f472-1f3fb.png","sheet_x":25,"sheet_y":16,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F472-1F3FC","non_qualified":null,"image":"1f472-1f3fc.png","sheet_x":25,"sheet_y":17,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F472-1F3FD","non_qualified":null,"image":"1f472-1f3fd.png","sheet_x":25,"sheet_y":18,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F472-1F3FE","non_qualified":null,"image":"1f472-1f3fe.png","sheet_x":25,"sheet_y":19,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F472-1F3FF","non_qualified":null,"image":"1f472-1f3ff.png","sheet_x":25,"sheet_y":20,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN WEARING TURBAN","unified":"1F473-200D-2640-FE0F","non_qualified":"1F473-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f473-200d-2640-fe0f.png","sheet_x":25,"sheet_y":21,"short_name":"woman-wearing-turban","short_names":["woman-wearing-turban"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":357,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F473-1F3FB-200D-2640-FE0F","non_qualified":"1F473-1F3FB-200D-2640","image":"1f473-1f3fb-200d-2640-fe0f.png","sheet_x":25,"sheet_y":22,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F473-1F3FC-200D-2640-FE0F","non_qualified":"1F473-1F3FC-200D-2640","image":"1f473-1f3fc-200d-2640-fe0f.png","sheet_x":25,"sheet_y":23,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F473-1F3FD-200D-2640-FE0F","non_qualified":"1F473-1F3FD-200D-2640","image":"1f473-1f3fd-200d-2640-fe0f.png","sheet_x":25,"sheet_y":24,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F473-1F3FE-200D-2640-FE0F","non_qualified":"1F473-1F3FE-200D-2640","image":"1f473-1f3fe-200d-2640-fe0f.png","sheet_x":25,"sheet_y":25,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F473-1F3FF-200D-2640-FE0F","non_qualified":"1F473-1F3FF-200D-2640","image":"1f473-1f3ff-200d-2640-fe0f.png","sheet_x":25,"sheet_y":26,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN WEARING TURBAN","unified":"1F473-200D-2642-FE0F","non_qualified":"1F473-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f473-200d-2642-fe0f.png","sheet_x":25,"sheet_y":27,"short_name":"man-wearing-turban","short_names":["man-wearing-turban"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":356,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F473-1F3FB-200D-2642-FE0F","non_qualified":"1F473-1F3FB-200D-2642","image":"1f473-1f3fb-200d-2642-fe0f.png","sheet_x":25,"sheet_y":28,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F473-1F3FC-200D-2642-FE0F","non_qualified":"1F473-1F3FC-200D-2642","image":"1f473-1f3fc-200d-2642-fe0f.png","sheet_x":25,"sheet_y":29,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F473-1F3FD-200D-2642-FE0F","non_qualified":"1F473-1F3FD-200D-2642","image":"1f473-1f3fd-200d-2642-fe0f.png","sheet_x":25,"sheet_y":30,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F473-1F3FE-200D-2642-FE0F","non_qualified":"1F473-1F3FE-200D-2642","image":"1f473-1f3fe-200d-2642-fe0f.png","sheet_x":25,"sheet_y":31,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F473-1F3FF-200D-2642-FE0F","non_qualified":"1F473-1F3FF-200D-2642","image":"1f473-1f3ff-200d-2642-fe0f.png","sheet_x":25,"sheet_y":32,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F473"},{"name":"MAN WITH TURBAN","unified":"1F473","non_qualified":null,"docomo":null,"au":"EB15","softbank":"E517","google":"FE1A6","image":"1f473.png","sheet_x":25,"sheet_y":33,"short_name":"man_with_turban","short_names":["man_with_turban"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":355,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F473-1F3FB","non_qualified":null,"image":"1f473-1f3fb.png","sheet_x":25,"sheet_y":34,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F473-1F3FC","non_qualified":null,"image":"1f473-1f3fc.png","sheet_x":25,"sheet_y":35,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F473-1F3FD","non_qualified":null,"image":"1f473-1f3fd.png","sheet_x":25,"sheet_y":36,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F473-1F3FE","non_qualified":null,"image":"1f473-1f3fe.png","sheet_x":25,"sheet_y":37,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F473-1F3FF","non_qualified":null,"image":"1f473-1f3ff.png","sheet_x":25,"sheet_y":38,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F473-200D-2642-FE0F"},{"name":"OLDER MAN","unified":"1F474","non_qualified":null,"docomo":null,"au":"EB16","softbank":"E518","google":"FE1A7","image":"1f474.png","sheet_x":25,"sheet_y":39,"short_name":"older_man","short_names":["older_man"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":259,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F474-1F3FB","non_qualified":null,"image":"1f474-1f3fb.png","sheet_x":25,"sheet_y":40,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F474-1F3FC","non_qualified":null,"image":"1f474-1f3fc.png","sheet_x":25,"sheet_y":41,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F474-1F3FD","non_qualified":null,"image":"1f474-1f3fd.png","sheet_x":25,"sheet_y":42,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F474-1F3FE","non_qualified":null,"image":"1f474-1f3fe.png","sheet_x":25,"sheet_y":43,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F474-1F3FF","non_qualified":null,"image":"1f474-1f3ff.png","sheet_x":25,"sheet_y":44,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"OLDER WOMAN","unified":"1F475","non_qualified":null,"docomo":null,"au":"EB17","softbank":"E519","google":"FE1A8","image":"1f475.png","sheet_x":25,"sheet_y":45,"short_name":"older_woman","short_names":["older_woman"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":260,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F475-1F3FB","non_qualified":null,"image":"1f475-1f3fb.png","sheet_x":25,"sheet_y":46,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F475-1F3FC","non_qualified":null,"image":"1f475-1f3fc.png","sheet_x":25,"sheet_y":47,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F475-1F3FD","non_qualified":null,"image":"1f475-1f3fd.png","sheet_x":25,"sheet_y":48,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F475-1F3FE","non_qualified":null,"image":"1f475-1f3fe.png","sheet_x":25,"sheet_y":49,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F475-1F3FF","non_qualified":null,"image":"1f475-1f3ff.png","sheet_x":25,"sheet_y":50,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"BABY","unified":"1F476","non_qualified":null,"docomo":null,"au":"EB18","softbank":"E51A","google":"FE1A9","image":"1f476.png","sheet_x":25,"sheet_y":51,"short_name":"baby","short_names":["baby"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":233,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F476-1F3FB","non_qualified":null,"image":"1f476-1f3fb.png","sheet_x":25,"sheet_y":52,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F476-1F3FC","non_qualified":null,"image":"1f476-1f3fc.png","sheet_x":25,"sheet_y":53,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F476-1F3FD","non_qualified":null,"image":"1f476-1f3fd.png","sheet_x":25,"sheet_y":54,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F476-1F3FE","non_qualified":null,"image":"1f476-1f3fe.png","sheet_x":25,"sheet_y":55,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F476-1F3FF","non_qualified":null,"image":"1f476-1f3ff.png","sheet_x":25,"sheet_y":56,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN CONSTRUCTION WORKER","unified":"1F477-200D-2640-FE0F","non_qualified":"1F477-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f477-200d-2640-fe0f.png","sheet_x":25,"sheet_y":57,"short_name":"female-construction-worker","short_names":["female-construction-worker"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":351,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F477-1F3FB-200D-2640-FE0F","non_qualified":"1F477-1F3FB-200D-2640","image":"1f477-1f3fb-200d-2640-fe0f.png","sheet_x":25,"sheet_y":58,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F477-1F3FC-200D-2640-FE0F","non_qualified":"1F477-1F3FC-200D-2640","image":"1f477-1f3fc-200d-2640-fe0f.png","sheet_x":25,"sheet_y":59,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F477-1F3FD-200D-2640-FE0F","non_qualified":"1F477-1F3FD-200D-2640","image":"1f477-1f3fd-200d-2640-fe0f.png","sheet_x":25,"sheet_y":60,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F477-1F3FE-200D-2640-FE0F","non_qualified":"1F477-1F3FE-200D-2640","image":"1f477-1f3fe-200d-2640-fe0f.png","sheet_x":25,"sheet_y":61,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F477-1F3FF-200D-2640-FE0F","non_qualified":"1F477-1F3FF-200D-2640","image":"1f477-1f3ff-200d-2640-fe0f.png","sheet_x":25,"sheet_y":62,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN CONSTRUCTION WORKER","unified":"1F477-200D-2642-FE0F","non_qualified":"1F477-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f477-200d-2642-fe0f.png","sheet_x":26,"sheet_y":0,"short_name":"male-construction-worker","short_names":["male-construction-worker"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":350,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F477-1F3FB-200D-2642-FE0F","non_qualified":"1F477-1F3FB-200D-2642","image":"1f477-1f3fb-200d-2642-fe0f.png","sheet_x":26,"sheet_y":1,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F477-1F3FC-200D-2642-FE0F","non_qualified":"1F477-1F3FC-200D-2642","image":"1f477-1f3fc-200d-2642-fe0f.png","sheet_x":26,"sheet_y":2,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F477-1F3FD-200D-2642-FE0F","non_qualified":"1F477-1F3FD-200D-2642","image":"1f477-1f3fd-200d-2642-fe0f.png","sheet_x":26,"sheet_y":3,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F477-1F3FE-200D-2642-FE0F","non_qualified":"1F477-1F3FE-200D-2642","image":"1f477-1f3fe-200d-2642-fe0f.png","sheet_x":26,"sheet_y":4,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F477-1F3FF-200D-2642-FE0F","non_qualified":"1F477-1F3FF-200D-2642","image":"1f477-1f3ff-200d-2642-fe0f.png","sheet_x":26,"sheet_y":5,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F477"},{"name":"CONSTRUCTION WORKER","unified":"1F477","non_qualified":null,"docomo":null,"au":"EB19","softbank":"E51B","google":"FE1AA","image":"1f477.png","sheet_x":26,"sheet_y":6,"short_name":"construction_worker","short_names":["construction_worker"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":349,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F477-1F3FB","non_qualified":null,"image":"1f477-1f3fb.png","sheet_x":26,"sheet_y":7,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F477-1F3FC","non_qualified":null,"image":"1f477-1f3fc.png","sheet_x":26,"sheet_y":8,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F477-1F3FD","non_qualified":null,"image":"1f477-1f3fd.png","sheet_x":26,"sheet_y":9,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F477-1F3FE","non_qualified":null,"image":"1f477-1f3fe.png","sheet_x":26,"sheet_y":10,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F477-1F3FF","non_qualified":null,"image":"1f477-1f3ff.png","sheet_x":26,"sheet_y":11,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F477-200D-2642-FE0F"},{"name":"PRINCESS","unified":"1F478","non_qualified":null,"docomo":null,"au":"EB1A","softbank":"E51C","google":"FE1AB","image":"1f478.png","sheet_x":26,"sheet_y":12,"short_name":"princess","short_names":["princess"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":354,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F478-1F3FB","non_qualified":null,"image":"1f478-1f3fb.png","sheet_x":26,"sheet_y":13,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F478-1F3FC","non_qualified":null,"image":"1f478-1f3fc.png","sheet_x":26,"sheet_y":14,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F478-1F3FD","non_qualified":null,"image":"1f478-1f3fd.png","sheet_x":26,"sheet_y":15,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F478-1F3FE","non_qualified":null,"image":"1f478-1f3fe.png","sheet_x":26,"sheet_y":16,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F478-1F3FF","non_qualified":null,"image":"1f478-1f3ff.png","sheet_x":26,"sheet_y":17,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"JAPANESE OGRE","unified":"1F479","non_qualified":null,"docomo":null,"au":"EB44","softbank":null,"google":"FE1AC","image":"1f479.png","sheet_x":26,"sheet_y":18,"short_name":"japanese_ogre","short_names":["japanese_ogre"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-costume","sort_order":114,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"JAPANESE GOBLIN","unified":"1F47A","non_qualified":null,"docomo":null,"au":"EB45","softbank":null,"google":"FE1AD","image":"1f47a.png","sheet_x":26,"sheet_y":19,"short_name":"japanese_goblin","short_names":["japanese_goblin"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-costume","sort_order":115,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GHOST","unified":"1F47B","non_qualified":null,"docomo":null,"au":"E4CB","softbank":"E11B","google":"FE1AE","image":"1f47b.png","sheet_x":26,"sheet_y":20,"short_name":"ghost","short_names":["ghost"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-costume","sort_order":116,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BABY ANGEL","unified":"1F47C","non_qualified":null,"docomo":null,"au":"E5BF","softbank":"E04E","google":"FE1AF","image":"1f47c.png","sheet_x":26,"sheet_y":21,"short_name":"angel","short_names":["angel"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":373,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F47C-1F3FB","non_qualified":null,"image":"1f47c-1f3fb.png","sheet_x":26,"sheet_y":22,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F47C-1F3FC","non_qualified":null,"image":"1f47c-1f3fc.png","sheet_x":26,"sheet_y":23,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F47C-1F3FD","non_qualified":null,"image":"1f47c-1f3fd.png","sheet_x":26,"sheet_y":24,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F47C-1F3FE","non_qualified":null,"image":"1f47c-1f3fe.png","sheet_x":26,"sheet_y":25,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F47C-1F3FF","non_qualified":null,"image":"1f47c-1f3ff.png","sheet_x":26,"sheet_y":26,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"EXTRATERRESTRIAL ALIEN","unified":"1F47D","non_qualified":null,"docomo":null,"au":"E50E","softbank":"E10C","google":"FE1B0","image":"1f47d.png","sheet_x":26,"sheet_y":27,"short_name":"alien","short_names":["alien"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-costume","sort_order":117,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ALIEN MONSTER","unified":"1F47E","non_qualified":null,"docomo":null,"au":"E4EC","softbank":"E12B","google":"FE1B1","image":"1f47e.png","sheet_x":26,"sheet_y":28,"short_name":"space_invader","short_names":["space_invader"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-costume","sort_order":118,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"IMP","unified":"1F47F","non_qualified":null,"docomo":null,"au":"E4EF","softbank":"E11A","google":"FE1B2","image":"1f47f.png","sheet_x":26,"sheet_y":29,"short_name":"imp","short_names":["imp"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-negative","sort_order":109,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SKULL","unified":"1F480","non_qualified":null,"docomo":null,"au":"E4F8","softbank":"E11C","google":"FE1B3","image":"1f480.png","sheet_x":26,"sheet_y":30,"short_name":"skull","short_names":["skull"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-negative","sort_order":110,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WOMAN TIPPING HAND","unified":"1F481-200D-2640-FE0F","non_qualified":"1F481-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f481-200d-2640-fe0f.png","sheet_x":26,"sheet_y":31,"short_name":"woman-tipping-hand","short_names":["woman-tipping-hand"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":275,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F481-1F3FB-200D-2640-FE0F","non_qualified":"1F481-1F3FB-200D-2640","image":"1f481-1f3fb-200d-2640-fe0f.png","sheet_x":26,"sheet_y":32,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F481-1F3FC-200D-2640-FE0F","non_qualified":"1F481-1F3FC-200D-2640","image":"1f481-1f3fc-200d-2640-fe0f.png","sheet_x":26,"sheet_y":33,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F481-1F3FD-200D-2640-FE0F","non_qualified":"1F481-1F3FD-200D-2640","image":"1f481-1f3fd-200d-2640-fe0f.png","sheet_x":26,"sheet_y":34,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F481-1F3FE-200D-2640-FE0F","non_qualified":"1F481-1F3FE-200D-2640","image":"1f481-1f3fe-200d-2640-fe0f.png","sheet_x":26,"sheet_y":35,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F481-1F3FF-200D-2640-FE0F","non_qualified":"1F481-1F3FF-200D-2640","image":"1f481-1f3ff-200d-2640-fe0f.png","sheet_x":26,"sheet_y":36,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F481"},{"name":"MAN TIPPING HAND","unified":"1F481-200D-2642-FE0F","non_qualified":"1F481-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f481-200d-2642-fe0f.png","sheet_x":26,"sheet_y":37,"short_name":"man-tipping-hand","short_names":["man-tipping-hand"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":274,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F481-1F3FB-200D-2642-FE0F","non_qualified":"1F481-1F3FB-200D-2642","image":"1f481-1f3fb-200d-2642-fe0f.png","sheet_x":26,"sheet_y":38,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F481-1F3FC-200D-2642-FE0F","non_qualified":"1F481-1F3FC-200D-2642","image":"1f481-1f3fc-200d-2642-fe0f.png","sheet_x":26,"sheet_y":39,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F481-1F3FD-200D-2642-FE0F","non_qualified":"1F481-1F3FD-200D-2642","image":"1f481-1f3fd-200d-2642-fe0f.png","sheet_x":26,"sheet_y":40,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F481-1F3FE-200D-2642-FE0F","non_qualified":"1F481-1F3FE-200D-2642","image":"1f481-1f3fe-200d-2642-fe0f.png","sheet_x":26,"sheet_y":41,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F481-1F3FF-200D-2642-FE0F","non_qualified":"1F481-1F3FF-200D-2642","image":"1f481-1f3ff-200d-2642-fe0f.png","sheet_x":26,"sheet_y":42,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"INFORMATION DESK PERSON","unified":"1F481","non_qualified":null,"docomo":null,"au":null,"softbank":"E253","google":"FE1B4","image":"1f481.png","sheet_x":26,"sheet_y":43,"short_name":"information_desk_person","short_names":["information_desk_person"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":273,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F481-1F3FB","non_qualified":null,"image":"1f481-1f3fb.png","sheet_x":26,"sheet_y":44,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F481-1F3FC","non_qualified":null,"image":"1f481-1f3fc.png","sheet_x":26,"sheet_y":45,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F481-1F3FD","non_qualified":null,"image":"1f481-1f3fd.png","sheet_x":26,"sheet_y":46,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F481-1F3FE","non_qualified":null,"image":"1f481-1f3fe.png","sheet_x":26,"sheet_y":47,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F481-1F3FF","non_qualified":null,"image":"1f481-1f3ff.png","sheet_x":26,"sheet_y":48,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F481-200D-2640-FE0F"},{"name":"WOMAN GUARD","unified":"1F482-200D-2640-FE0F","non_qualified":"1F482-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f482-200d-2640-fe0f.png","sheet_x":26,"sheet_y":49,"short_name":"female-guard","short_names":["female-guard"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":347,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F482-1F3FB-200D-2640-FE0F","non_qualified":"1F482-1F3FB-200D-2640","image":"1f482-1f3fb-200d-2640-fe0f.png","sheet_x":26,"sheet_y":50,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F482-1F3FC-200D-2640-FE0F","non_qualified":"1F482-1F3FC-200D-2640","image":"1f482-1f3fc-200d-2640-fe0f.png","sheet_x":26,"sheet_y":51,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F482-1F3FD-200D-2640-FE0F","non_qualified":"1F482-1F3FD-200D-2640","image":"1f482-1f3fd-200d-2640-fe0f.png","sheet_x":26,"sheet_y":52,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F482-1F3FE-200D-2640-FE0F","non_qualified":"1F482-1F3FE-200D-2640","image":"1f482-1f3fe-200d-2640-fe0f.png","sheet_x":26,"sheet_y":53,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F482-1F3FF-200D-2640-FE0F","non_qualified":"1F482-1F3FF-200D-2640","image":"1f482-1f3ff-200d-2640-fe0f.png","sheet_x":26,"sheet_y":54,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN GUARD","unified":"1F482-200D-2642-FE0F","non_qualified":"1F482-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f482-200d-2642-fe0f.png","sheet_x":26,"sheet_y":55,"short_name":"male-guard","short_names":["male-guard"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":346,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F482-1F3FB-200D-2642-FE0F","non_qualified":"1F482-1F3FB-200D-2642","image":"1f482-1f3fb-200d-2642-fe0f.png","sheet_x":26,"sheet_y":56,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F482-1F3FC-200D-2642-FE0F","non_qualified":"1F482-1F3FC-200D-2642","image":"1f482-1f3fc-200d-2642-fe0f.png","sheet_x":26,"sheet_y":57,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F482-1F3FD-200D-2642-FE0F","non_qualified":"1F482-1F3FD-200D-2642","image":"1f482-1f3fd-200d-2642-fe0f.png","sheet_x":26,"sheet_y":58,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F482-1F3FE-200D-2642-FE0F","non_qualified":"1F482-1F3FE-200D-2642","image":"1f482-1f3fe-200d-2642-fe0f.png","sheet_x":26,"sheet_y":59,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F482-1F3FF-200D-2642-FE0F","non_qualified":"1F482-1F3FF-200D-2642","image":"1f482-1f3ff-200d-2642-fe0f.png","sheet_x":26,"sheet_y":60,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F482"},{"name":"GUARDSMAN","unified":"1F482","non_qualified":null,"docomo":null,"au":null,"softbank":"E51E","google":"FE1B5","image":"1f482.png","sheet_x":26,"sheet_y":61,"short_name":"guardsman","short_names":["guardsman"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":345,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F482-1F3FB","non_qualified":null,"image":"1f482-1f3fb.png","sheet_x":26,"sheet_y":62,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F482-1F3FC","non_qualified":null,"image":"1f482-1f3fc.png","sheet_x":27,"sheet_y":0,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F482-1F3FD","non_qualified":null,"image":"1f482-1f3fd.png","sheet_x":27,"sheet_y":1,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F482-1F3FE","non_qualified":null,"image":"1f482-1f3fe.png","sheet_x":27,"sheet_y":2,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F482-1F3FF","non_qualified":null,"image":"1f482-1f3ff.png","sheet_x":27,"sheet_y":3,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F482-200D-2642-FE0F"},{"name":"DANCER","unified":"1F483","non_qualified":null,"docomo":null,"au":"EB1C","softbank":"E51F","google":"FE1B6","image":"1f483.png","sheet_x":27,"sheet_y":4,"short_name":"dancer","short_names":["dancer"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":452,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F483-1F3FB","non_qualified":null,"image":"1f483-1f3fb.png","sheet_x":27,"sheet_y":5,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F483-1F3FC","non_qualified":null,"image":"1f483-1f3fc.png","sheet_x":27,"sheet_y":6,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F483-1F3FD","non_qualified":null,"image":"1f483-1f3fd.png","sheet_x":27,"sheet_y":7,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F483-1F3FE","non_qualified":null,"image":"1f483-1f3fe.png","sheet_x":27,"sheet_y":8,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F483-1F3FF","non_qualified":null,"image":"1f483-1f3ff.png","sheet_x":27,"sheet_y":9,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"LIPSTICK","unified":"1F484","non_qualified":null,"docomo":"E710","au":"E509","softbank":"E31C","google":"FE195","image":"1f484.png","sheet_x":27,"sheet_y":10,"short_name":"lipstick","short_names":["lipstick"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1204,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NAIL POLISH","unified":"1F485","non_qualified":null,"docomo":null,"au":"EAA0","softbank":"E31D","google":"FE196","image":"1f485.png","sheet_x":27,"sheet_y":11,"short_name":"nail_care","short_names":["nail_care"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-prop","sort_order":213,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F485-1F3FB","non_qualified":null,"image":"1f485-1f3fb.png","sheet_x":27,"sheet_y":12,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F485-1F3FC","non_qualified":null,"image":"1f485-1f3fc.png","sheet_x":27,"sheet_y":13,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F485-1F3FD","non_qualified":null,"image":"1f485-1f3fd.png","sheet_x":27,"sheet_y":14,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F485-1F3FE","non_qualified":null,"image":"1f485-1f3fe.png","sheet_x":27,"sheet_y":15,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F485-1F3FF","non_qualified":null,"image":"1f485-1f3ff.png","sheet_x":27,"sheet_y":16,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN GETTING MASSAGE","unified":"1F486-200D-2640-FE0F","non_qualified":"1F486-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f486-200d-2640-fe0f.png","sheet_x":27,"sheet_y":17,"short_name":"woman-getting-massage","short_names":["woman-getting-massage"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":408,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F486-1F3FB-200D-2640-FE0F","non_qualified":"1F486-1F3FB-200D-2640","image":"1f486-1f3fb-200d-2640-fe0f.png","sheet_x":27,"sheet_y":18,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F486-1F3FC-200D-2640-FE0F","non_qualified":"1F486-1F3FC-200D-2640","image":"1f486-1f3fc-200d-2640-fe0f.png","sheet_x":27,"sheet_y":19,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F486-1F3FD-200D-2640-FE0F","non_qualified":"1F486-1F3FD-200D-2640","image":"1f486-1f3fd-200d-2640-fe0f.png","sheet_x":27,"sheet_y":20,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F486-1F3FE-200D-2640-FE0F","non_qualified":"1F486-1F3FE-200D-2640","image":"1f486-1f3fe-200d-2640-fe0f.png","sheet_x":27,"sheet_y":21,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F486-1F3FF-200D-2640-FE0F","non_qualified":"1F486-1F3FF-200D-2640","image":"1f486-1f3ff-200d-2640-fe0f.png","sheet_x":27,"sheet_y":22,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F486"},{"name":"MAN GETTING MASSAGE","unified":"1F486-200D-2642-FE0F","non_qualified":"1F486-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f486-200d-2642-fe0f.png","sheet_x":27,"sheet_y":23,"short_name":"man-getting-massage","short_names":["man-getting-massage"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":407,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F486-1F3FB-200D-2642-FE0F","non_qualified":"1F486-1F3FB-200D-2642","image":"1f486-1f3fb-200d-2642-fe0f.png","sheet_x":27,"sheet_y":24,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F486-1F3FC-200D-2642-FE0F","non_qualified":"1F486-1F3FC-200D-2642","image":"1f486-1f3fc-200d-2642-fe0f.png","sheet_x":27,"sheet_y":25,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F486-1F3FD-200D-2642-FE0F","non_qualified":"1F486-1F3FD-200D-2642","image":"1f486-1f3fd-200d-2642-fe0f.png","sheet_x":27,"sheet_y":26,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F486-1F3FE-200D-2642-FE0F","non_qualified":"1F486-1F3FE-200D-2642","image":"1f486-1f3fe-200d-2642-fe0f.png","sheet_x":27,"sheet_y":27,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F486-1F3FF-200D-2642-FE0F","non_qualified":"1F486-1F3FF-200D-2642","image":"1f486-1f3ff-200d-2642-fe0f.png","sheet_x":27,"sheet_y":28,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"FACE MASSAGE","unified":"1F486","non_qualified":null,"docomo":null,"au":"E50B","softbank":"E31E","google":"FE197","image":"1f486.png","sheet_x":27,"sheet_y":29,"short_name":"massage","short_names":["massage"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":406,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F486-1F3FB","non_qualified":null,"image":"1f486-1f3fb.png","sheet_x":27,"sheet_y":30,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F486-1F3FC","non_qualified":null,"image":"1f486-1f3fc.png","sheet_x":27,"sheet_y":31,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F486-1F3FD","non_qualified":null,"image":"1f486-1f3fd.png","sheet_x":27,"sheet_y":32,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F486-1F3FE","non_qualified":null,"image":"1f486-1f3fe.png","sheet_x":27,"sheet_y":33,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F486-1F3FF","non_qualified":null,"image":"1f486-1f3ff.png","sheet_x":27,"sheet_y":34,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F486-200D-2640-FE0F"},{"name":"WOMAN GETTING HAIRCUT","unified":"1F487-200D-2640-FE0F","non_qualified":"1F487-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f487-200d-2640-fe0f.png","sheet_x":27,"sheet_y":35,"short_name":"woman-getting-haircut","short_names":["woman-getting-haircut"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":411,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F487-1F3FB-200D-2640-FE0F","non_qualified":"1F487-1F3FB-200D-2640","image":"1f487-1f3fb-200d-2640-fe0f.png","sheet_x":27,"sheet_y":36,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F487-1F3FC-200D-2640-FE0F","non_qualified":"1F487-1F3FC-200D-2640","image":"1f487-1f3fc-200d-2640-fe0f.png","sheet_x":27,"sheet_y":37,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F487-1F3FD-200D-2640-FE0F","non_qualified":"1F487-1F3FD-200D-2640","image":"1f487-1f3fd-200d-2640-fe0f.png","sheet_x":27,"sheet_y":38,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F487-1F3FE-200D-2640-FE0F","non_qualified":"1F487-1F3FE-200D-2640","image":"1f487-1f3fe-200d-2640-fe0f.png","sheet_x":27,"sheet_y":39,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F487-1F3FF-200D-2640-FE0F","non_qualified":"1F487-1F3FF-200D-2640","image":"1f487-1f3ff-200d-2640-fe0f.png","sheet_x":27,"sheet_y":40,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F487"},{"name":"MAN GETTING HAIRCUT","unified":"1F487-200D-2642-FE0F","non_qualified":"1F487-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f487-200d-2642-fe0f.png","sheet_x":27,"sheet_y":41,"short_name":"man-getting-haircut","short_names":["man-getting-haircut"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":410,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F487-1F3FB-200D-2642-FE0F","non_qualified":"1F487-1F3FB-200D-2642","image":"1f487-1f3fb-200d-2642-fe0f.png","sheet_x":27,"sheet_y":42,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F487-1F3FC-200D-2642-FE0F","non_qualified":"1F487-1F3FC-200D-2642","image":"1f487-1f3fc-200d-2642-fe0f.png","sheet_x":27,"sheet_y":43,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F487-1F3FD-200D-2642-FE0F","non_qualified":"1F487-1F3FD-200D-2642","image":"1f487-1f3fd-200d-2642-fe0f.png","sheet_x":27,"sheet_y":44,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F487-1F3FE-200D-2642-FE0F","non_qualified":"1F487-1F3FE-200D-2642","image":"1f487-1f3fe-200d-2642-fe0f.png","sheet_x":27,"sheet_y":45,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F487-1F3FF-200D-2642-FE0F","non_qualified":"1F487-1F3FF-200D-2642","image":"1f487-1f3ff-200d-2642-fe0f.png","sheet_x":27,"sheet_y":46,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"HAIRCUT","unified":"1F487","non_qualified":null,"docomo":"E675","au":"EAA1","softbank":"E31F","google":"FE198","image":"1f487.png","sheet_x":27,"sheet_y":47,"short_name":"haircut","short_names":["haircut"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":409,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F487-1F3FB","non_qualified":null,"image":"1f487-1f3fb.png","sheet_x":27,"sheet_y":48,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F487-1F3FC","non_qualified":null,"image":"1f487-1f3fc.png","sheet_x":27,"sheet_y":49,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F487-1F3FD","non_qualified":null,"image":"1f487-1f3fd.png","sheet_x":27,"sheet_y":50,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F487-1F3FE","non_qualified":null,"image":"1f487-1f3fe.png","sheet_x":27,"sheet_y":51,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F487-1F3FF","non_qualified":null,"image":"1f487-1f3ff.png","sheet_x":27,"sheet_y":52,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F487-200D-2640-FE0F"},{"name":"BARBER POLE","unified":"1F488","non_qualified":null,"docomo":null,"au":"EAA2","softbank":"E320","google":"FE199","image":"1f488.png","sheet_x":27,"sheet_y":53,"short_name":"barber","short_names":["barber"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-other","sort_order":921,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SYRINGE","unified":"1F489","non_qualified":null,"docomo":null,"au":"E510","softbank":"E13B","google":"FE509","image":"1f489.png","sheet_x":27,"sheet_y":54,"short_name":"syringe","short_names":["syringe"],"text":null,"texts":null,"category":"Objects","subcategory":"medical","sort_order":1385,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PILL","unified":"1F48A","non_qualified":null,"docomo":null,"au":"EA9A","softbank":"E30F","google":"FE50A","image":"1f48a.png","sheet_x":27,"sheet_y":55,"short_name":"pill","short_names":["pill"],"text":null,"texts":null,"category":"Objects","subcategory":"medical","sort_order":1387,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"KISS MARK","unified":"1F48B","non_qualified":null,"docomo":"E6F9","au":"E4EB","softbank":"E003","google":"FE823","image":"1f48b.png","sheet_x":27,"sheet_y":56,"short_name":"kiss","short_names":["kiss"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"emotion","sort_order":157,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LOVE LETTER","unified":"1F48C","non_qualified":null,"docomo":"E717","au":"EB78","softbank":null,"google":"FE824","image":"1f48c.png","sheet_x":27,"sheet_y":57,"short_name":"love_letter","short_names":["love_letter"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":132,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RING","unified":"1F48D","non_qualified":null,"docomo":"E71B","au":"E514","softbank":"E034","google":"FE825","image":"1f48d.png","sheet_x":27,"sheet_y":58,"short_name":"ring","short_names":["ring"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1205,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GEM STONE","unified":"1F48E","non_qualified":null,"docomo":"E71B","au":"E514","softbank":"E035","google":"FE826","image":"1f48e.png","sheet_x":27,"sheet_y":59,"short_name":"gem","short_names":["gem"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1206,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"KISS","unified":"1F48F","non_qualified":null,"docomo":"E6F9","au":"E5CA","softbank":"E111","google":"FE827","image":"1f48f.png","sheet_x":27,"sheet_y":60,"short_name":"couplekiss","short_names":["couplekiss"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":516,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F48F-1F3FB","non_qualified":null,"image":"1f48f-1f3fb.png","sheet_x":27,"sheet_y":61,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F48F-1F3FC","non_qualified":null,"image":"1f48f-1f3fc.png","sheet_x":27,"sheet_y":62,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F48F-1F3FD","non_qualified":null,"image":"1f48f-1f3fd.png","sheet_x":28,"sheet_y":0,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F48F-1F3FE","non_qualified":null,"image":"1f48f-1f3fe.png","sheet_x":28,"sheet_y":1,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F48F-1F3FF","non_qualified":null,"image":"1f48f-1f3ff.png","sheet_x":28,"sheet_y":2,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FC":{"unified":"1F9D1-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FC","non_qualified":"1F9D1-1F3FB-200D-2764-200D-1F48B-200D-1F9D1-1F3FC","image":"1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.png","sheet_x":28,"sheet_y":3,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FD":{"unified":"1F9D1-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FD","non_qualified":"1F9D1-1F3FB-200D-2764-200D-1F48B-200D-1F9D1-1F3FD","image":"1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.png","sheet_x":28,"sheet_y":4,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FE":{"unified":"1F9D1-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FE","non_qualified":"1F9D1-1F3FB-200D-2764-200D-1F48B-200D-1F9D1-1F3FE","image":"1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.png","sheet_x":28,"sheet_y":5,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FF":{"unified":"1F9D1-1F3FB-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FF","non_qualified":"1F9D1-1F3FB-200D-2764-200D-1F48B-200D-1F9D1-1F3FF","image":"1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.png","sheet_x":28,"sheet_y":6,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FB":{"unified":"1F9D1-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FB","non_qualified":"1F9D1-1F3FC-200D-2764-200D-1F48B-200D-1F9D1-1F3FB","image":"1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.png","sheet_x":28,"sheet_y":7,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FD":{"unified":"1F9D1-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FD","non_qualified":"1F9D1-1F3FC-200D-2764-200D-1F48B-200D-1F9D1-1F3FD","image":"1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.png","sheet_x":28,"sheet_y":8,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FE":{"unified":"1F9D1-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FE","non_qualified":"1F9D1-1F3FC-200D-2764-200D-1F48B-200D-1F9D1-1F3FE","image":"1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.png","sheet_x":28,"sheet_y":9,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FF":{"unified":"1F9D1-1F3FC-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FF","non_qualified":"1F9D1-1F3FC-200D-2764-200D-1F48B-200D-1F9D1-1F3FF","image":"1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.png","sheet_x":28,"sheet_y":10,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FB":{"unified":"1F9D1-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FB","non_qualified":"1F9D1-1F3FD-200D-2764-200D-1F48B-200D-1F9D1-1F3FB","image":"1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.png","sheet_x":28,"sheet_y":11,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FC":{"unified":"1F9D1-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FC","non_qualified":"1F9D1-1F3FD-200D-2764-200D-1F48B-200D-1F9D1-1F3FC","image":"1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.png","sheet_x":28,"sheet_y":12,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FE":{"unified":"1F9D1-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FE","non_qualified":"1F9D1-1F3FD-200D-2764-200D-1F48B-200D-1F9D1-1F3FE","image":"1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.png","sheet_x":28,"sheet_y":13,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FF":{"unified":"1F9D1-1F3FD-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FF","non_qualified":"1F9D1-1F3FD-200D-2764-200D-1F48B-200D-1F9D1-1F3FF","image":"1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.png","sheet_x":28,"sheet_y":14,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FB":{"unified":"1F9D1-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FB","non_qualified":"1F9D1-1F3FE-200D-2764-200D-1F48B-200D-1F9D1-1F3FB","image":"1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.png","sheet_x":28,"sheet_y":15,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FC":{"unified":"1F9D1-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FC","non_qualified":"1F9D1-1F3FE-200D-2764-200D-1F48B-200D-1F9D1-1F3FC","image":"1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.png","sheet_x":28,"sheet_y":16,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FD":{"unified":"1F9D1-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FD","non_qualified":"1F9D1-1F3FE-200D-2764-200D-1F48B-200D-1F9D1-1F3FD","image":"1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.png","sheet_x":28,"sheet_y":17,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FF":{"unified":"1F9D1-1F3FE-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FF","non_qualified":"1F9D1-1F3FE-200D-2764-200D-1F48B-200D-1F9D1-1F3FF","image":"1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff.png","sheet_x":28,"sheet_y":18,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FB":{"unified":"1F9D1-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FB","non_qualified":"1F9D1-1F3FF-200D-2764-200D-1F48B-200D-1F9D1-1F3FB","image":"1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb.png","sheet_x":28,"sheet_y":19,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FC":{"unified":"1F9D1-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FC","non_qualified":"1F9D1-1F3FF-200D-2764-200D-1F48B-200D-1F9D1-1F3FC","image":"1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc.png","sheet_x":28,"sheet_y":20,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FD":{"unified":"1F9D1-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FD","non_qualified":"1F9D1-1F3FF-200D-2764-200D-1F48B-200D-1F9D1-1F3FD","image":"1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd.png","sheet_x":28,"sheet_y":21,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FE":{"unified":"1F9D1-1F3FF-200D-2764-FE0F-200D-1F48B-200D-1F9D1-1F3FE","non_qualified":"1F9D1-1F3FF-200D-2764-200D-1F48B-200D-1F9D1-1F3FE","image":"1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe.png","sheet_x":28,"sheet_y":22,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"BOUQUET","unified":"1F490","non_qualified":null,"docomo":null,"au":"EA95","softbank":"E306","google":"FE828","image":"1f490.png","sheet_x":28,"sheet_y":23,"short_name":"bouquet","short_names":["bouquet"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-flower","sort_order":696,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"COUPLE WITH HEART","unified":"1F491","non_qualified":null,"docomo":"E6ED","au":"EADA","softbank":"E425","google":"FE829","image":"1f491.png","sheet_x":28,"sheet_y":24,"short_name":"couple_with_heart","short_names":["couple_with_heart"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":520,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F491-1F3FB","non_qualified":null,"image":"1f491-1f3fb.png","sheet_x":28,"sheet_y":25,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F491-1F3FC","non_qualified":null,"image":"1f491-1f3fc.png","sheet_x":28,"sheet_y":26,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F491-1F3FD","non_qualified":null,"image":"1f491-1f3fd.png","sheet_x":28,"sheet_y":27,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F491-1F3FE","non_qualified":null,"image":"1f491-1f3fe.png","sheet_x":28,"sheet_y":28,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F491-1F3FF","non_qualified":null,"image":"1f491-1f3ff.png","sheet_x":28,"sheet_y":29,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FC":{"unified":"1F9D1-1F3FB-200D-2764-FE0F-200D-1F9D1-1F3FC","non_qualified":"1F9D1-1F3FB-200D-2764-200D-1F9D1-1F3FC","image":"1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fc.png","sheet_x":28,"sheet_y":30,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FD":{"unified":"1F9D1-1F3FB-200D-2764-FE0F-200D-1F9D1-1F3FD","non_qualified":"1F9D1-1F3FB-200D-2764-200D-1F9D1-1F3FD","image":"1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fd.png","sheet_x":28,"sheet_y":31,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FE":{"unified":"1F9D1-1F3FB-200D-2764-FE0F-200D-1F9D1-1F3FE","non_qualified":"1F9D1-1F3FB-200D-2764-200D-1F9D1-1F3FE","image":"1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fe.png","sheet_x":28,"sheet_y":32,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FF":{"unified":"1F9D1-1F3FB-200D-2764-FE0F-200D-1F9D1-1F3FF","non_qualified":"1F9D1-1F3FB-200D-2764-200D-1F9D1-1F3FF","image":"1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3ff.png","sheet_x":28,"sheet_y":33,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FB":{"unified":"1F9D1-1F3FC-200D-2764-FE0F-200D-1F9D1-1F3FB","non_qualified":"1F9D1-1F3FC-200D-2764-200D-1F9D1-1F3FB","image":"1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fb.png","sheet_x":28,"sheet_y":34,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FD":{"unified":"1F9D1-1F3FC-200D-2764-FE0F-200D-1F9D1-1F3FD","non_qualified":"1F9D1-1F3FC-200D-2764-200D-1F9D1-1F3FD","image":"1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fd.png","sheet_x":28,"sheet_y":35,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FE":{"unified":"1F9D1-1F3FC-200D-2764-FE0F-200D-1F9D1-1F3FE","non_qualified":"1F9D1-1F3FC-200D-2764-200D-1F9D1-1F3FE","image":"1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fe.png","sheet_x":28,"sheet_y":36,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FF":{"unified":"1F9D1-1F3FC-200D-2764-FE0F-200D-1F9D1-1F3FF","non_qualified":"1F9D1-1F3FC-200D-2764-200D-1F9D1-1F3FF","image":"1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3ff.png","sheet_x":28,"sheet_y":37,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FB":{"unified":"1F9D1-1F3FD-200D-2764-FE0F-200D-1F9D1-1F3FB","non_qualified":"1F9D1-1F3FD-200D-2764-200D-1F9D1-1F3FB","image":"1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fb.png","sheet_x":28,"sheet_y":38,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FC":{"unified":"1F9D1-1F3FD-200D-2764-FE0F-200D-1F9D1-1F3FC","non_qualified":"1F9D1-1F3FD-200D-2764-200D-1F9D1-1F3FC","image":"1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fc.png","sheet_x":28,"sheet_y":39,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FE":{"unified":"1F9D1-1F3FD-200D-2764-FE0F-200D-1F9D1-1F3FE","non_qualified":"1F9D1-1F3FD-200D-2764-200D-1F9D1-1F3FE","image":"1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fe.png","sheet_x":28,"sheet_y":40,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FF":{"unified":"1F9D1-1F3FD-200D-2764-FE0F-200D-1F9D1-1F3FF","non_qualified":"1F9D1-1F3FD-200D-2764-200D-1F9D1-1F3FF","image":"1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3ff.png","sheet_x":28,"sheet_y":41,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FB":{"unified":"1F9D1-1F3FE-200D-2764-FE0F-200D-1F9D1-1F3FB","non_qualified":"1F9D1-1F3FE-200D-2764-200D-1F9D1-1F3FB","image":"1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fb.png","sheet_x":28,"sheet_y":42,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FC":{"unified":"1F9D1-1F3FE-200D-2764-FE0F-200D-1F9D1-1F3FC","non_qualified":"1F9D1-1F3FE-200D-2764-200D-1F9D1-1F3FC","image":"1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fc.png","sheet_x":28,"sheet_y":43,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FD":{"unified":"1F9D1-1F3FE-200D-2764-FE0F-200D-1F9D1-1F3FD","non_qualified":"1F9D1-1F3FE-200D-2764-200D-1F9D1-1F3FD","image":"1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fd.png","sheet_x":28,"sheet_y":44,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FF":{"unified":"1F9D1-1F3FE-200D-2764-FE0F-200D-1F9D1-1F3FF","non_qualified":"1F9D1-1F3FE-200D-2764-200D-1F9D1-1F3FF","image":"1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3ff.png","sheet_x":28,"sheet_y":45,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FB":{"unified":"1F9D1-1F3FF-200D-2764-FE0F-200D-1F9D1-1F3FB","non_qualified":"1F9D1-1F3FF-200D-2764-200D-1F9D1-1F3FB","image":"1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fb.png","sheet_x":28,"sheet_y":46,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FC":{"unified":"1F9D1-1F3FF-200D-2764-FE0F-200D-1F9D1-1F3FC","non_qualified":"1F9D1-1F3FF-200D-2764-200D-1F9D1-1F3FC","image":"1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fc.png","sheet_x":28,"sheet_y":47,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FD":{"unified":"1F9D1-1F3FF-200D-2764-FE0F-200D-1F9D1-1F3FD","non_qualified":"1F9D1-1F3FF-200D-2764-200D-1F9D1-1F3FD","image":"1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fd.png","sheet_x":28,"sheet_y":48,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FE":{"unified":"1F9D1-1F3FF-200D-2764-FE0F-200D-1F9D1-1F3FE","non_qualified":"1F9D1-1F3FF-200D-2764-200D-1F9D1-1F3FE","image":"1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fe.png","sheet_x":28,"sheet_y":49,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WEDDING","unified":"1F492","non_qualified":null,"docomo":null,"au":"E5BB","softbank":"E43D","google":"FE82A","image":"1f492.png","sheet_x":28,"sheet_y":50,"short_name":"wedding","short_names":["wedding"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":897,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BEATING HEART","unified":"1F493","non_qualified":null,"docomo":"E6ED","au":"EB75","softbank":"E327","google":"FEB0D","image":"1f493.png","sheet_x":28,"sheet_y":51,"short_name":"heartbeat","short_names":["heartbeat"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":137,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BROKEN HEART","unified":"1F494","non_qualified":null,"docomo":"E6EE","au":"E477","softbank":"E023","google":"FEB0E","image":"1f494.png","sheet_x":28,"sheet_y":52,"short_name":"broken_heart","short_names":["broken_heart"],"text":"<\/3","texts":["<\/3"],"category":"Smileys & Emotion","subcategory":"heart","sort_order":142,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TWO HEARTS","unified":"1F495","non_qualified":null,"docomo":"E6EF","au":"E478","softbank":null,"google":"FEB0F","image":"1f495.png","sheet_x":28,"sheet_y":53,"short_name":"two_hearts","short_names":["two_hearts"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":139,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPARKLING HEART","unified":"1F496","non_qualified":null,"docomo":"E6EC","au":"EAA6","softbank":null,"google":"FEB10","image":"1f496.png","sheet_x":28,"sheet_y":54,"short_name":"sparkling_heart","short_names":["sparkling_heart"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":135,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GROWING HEART","unified":"1F497","non_qualified":null,"docomo":"E6ED","au":"EB75","softbank":"E328","google":"FEB11","image":"1f497.png","sheet_x":28,"sheet_y":55,"short_name":"heartpulse","short_names":["heartpulse"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":136,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HEART WITH ARROW","unified":"1F498","non_qualified":null,"docomo":"E6EC","au":"E4EA","softbank":"E329","google":"FEB12","image":"1f498.png","sheet_x":28,"sheet_y":56,"short_name":"cupid","short_names":["cupid"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":133,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLUE HEART","unified":"1F499","non_qualified":null,"docomo":"E6EC","au":"EAA7","softbank":"E32A","google":"FEB13","image":"1f499.png","sheet_x":28,"sheet_y":57,"short_name":"blue_heart","short_names":["blue_heart"],"text":"<3","texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":150,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GREEN HEART","unified":"1F49A","non_qualified":null,"docomo":"E6EC","au":"EAA8","softbank":"E32B","google":"FEB14","image":"1f49a.png","sheet_x":28,"sheet_y":58,"short_name":"green_heart","short_names":["green_heart"],"text":"<3","texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":149,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"YELLOW HEART","unified":"1F49B","non_qualified":null,"docomo":"E6EC","au":"EAA9","softbank":"E32C","google":"FEB15","image":"1f49b.png","sheet_x":28,"sheet_y":59,"short_name":"yellow_heart","short_names":["yellow_heart"],"text":"<3","texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":148,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PURPLE HEART","unified":"1F49C","non_qualified":null,"docomo":"E6EC","au":"EAAA","softbank":"E32D","google":"FEB16","image":"1f49c.png","sheet_x":28,"sheet_y":60,"short_name":"purple_heart","short_names":["purple_heart"],"text":"<3","texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":152,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HEART WITH RIBBON","unified":"1F49D","non_qualified":null,"docomo":"E6EC","au":"EB54","softbank":"E437","google":"FEB17","image":"1f49d.png","sheet_x":28,"sheet_y":61,"short_name":"gift_heart","short_names":["gift_heart"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":134,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"REVOLVING HEARTS","unified":"1F49E","non_qualified":null,"docomo":"E6ED","au":"E5AF","softbank":null,"google":"FEB18","image":"1f49e.png","sheet_x":28,"sheet_y":62,"short_name":"revolving_hearts","short_names":["revolving_hearts"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":138,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HEART DECORATION","unified":"1F49F","non_qualified":null,"docomo":"E6F8","au":"E595","softbank":"E204","google":"FEB19","image":"1f49f.png","sheet_x":29,"sheet_y":0,"short_name":"heart_decoration","short_names":["heart_decoration"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":140,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DIAMOND SHAPE WITH A DOT INSIDE","unified":"1F4A0","non_qualified":null,"docomo":"E6F8","au":null,"softbank":null,"google":"FEB55","image":"1f4a0.png","sheet_x":29,"sheet_y":1,"short_name":"diamond_shape_with_a_dot_inside","short_names":["diamond_shape_with_a_dot_inside"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1646,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ELECTRIC LIGHT BULB","unified":"1F4A1","non_qualified":null,"docomo":"E6FB","au":"E476","softbank":"E10F","google":"FEB56","image":"1f4a1.png","sheet_x":29,"sheet_y":2,"short_name":"bulb","short_names":["bulb"],"text":null,"texts":null,"category":"Objects","subcategory":"light & video","sort_order":1270,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ANGER SYMBOL","unified":"1F4A2","non_qualified":null,"docomo":"E6FC","au":"E4E5","softbank":"E334","google":"FEB57","image":"1f4a2.png","sheet_x":29,"sheet_y":3,"short_name":"anger","short_names":["anger"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"emotion","sort_order":159,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BOMB","unified":"1F4A3","non_qualified":null,"docomo":"E6FE","au":"E47A","softbank":"E311","google":"FEB58","image":"1f4a3.png","sheet_x":29,"sheet_y":4,"short_name":"bomb","short_names":["bomb"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1358,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SLEEPING SYMBOL","unified":"1F4A4","non_qualified":null,"docomo":"E701","au":"E475","softbank":"E13C","google":"FEB59","image":"1f4a4.png","sheet_x":29,"sheet_y":5,"short_name":"zzz","short_names":["zzz"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"emotion","sort_order":171,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"COLLISION SYMBOL","unified":"1F4A5","non_qualified":null,"docomo":"E705","au":"E5B0","softbank":null,"google":"FEB5A","image":"1f4a5.png","sheet_x":29,"sheet_y":6,"short_name":"boom","short_names":["boom","collision"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"emotion","sort_order":161,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPLASHING SWEAT SYMBOL","unified":"1F4A6","non_qualified":null,"docomo":"E706","au":"E5B1","softbank":"E331","google":"FEB5B","image":"1f4a6.png","sheet_x":29,"sheet_y":7,"short_name":"sweat_drops","short_names":["sweat_drops"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"emotion","sort_order":163,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DROPLET","unified":"1F4A7","non_qualified":null,"docomo":"E707","au":"E4E6","softbank":null,"google":"FEB5C","image":"1f4a7.png","sheet_x":29,"sheet_y":8,"short_name":"droplet","short_names":["droplet"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1073,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DASH SYMBOL","unified":"1F4A8","non_qualified":null,"docomo":"E708","au":"E4F4","softbank":"E330","google":"FEB5D","image":"1f4a8.png","sheet_x":29,"sheet_y":9,"short_name":"dash","short_names":["dash"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"emotion","sort_order":164,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PILE OF POO","unified":"1F4A9","non_qualified":null,"docomo":null,"au":"E4F5","softbank":"E05A","google":"FE4F4","image":"1f4a9.png","sheet_x":29,"sheet_y":10,"short_name":"hankey","short_names":["hankey","poop","shit"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-costume","sort_order":112,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FLEXED BICEPS","unified":"1F4AA","non_qualified":null,"docomo":null,"au":"E4E9","softbank":"E14C","google":"FEB5E","image":"1f4aa.png","sheet_x":29,"sheet_y":11,"short_name":"muscle","short_names":["muscle"],"text":null,"texts":null,"category":"People & Body","subcategory":"body-parts","sort_order":215,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F4AA-1F3FB","non_qualified":null,"image":"1f4aa-1f3fb.png","sheet_x":29,"sheet_y":12,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F4AA-1F3FC","non_qualified":null,"image":"1f4aa-1f3fc.png","sheet_x":29,"sheet_y":13,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F4AA-1F3FD","non_qualified":null,"image":"1f4aa-1f3fd.png","sheet_x":29,"sheet_y":14,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F4AA-1F3FE","non_qualified":null,"image":"1f4aa-1f3fe.png","sheet_x":29,"sheet_y":15,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F4AA-1F3FF","non_qualified":null,"image":"1f4aa-1f3ff.png","sheet_x":29,"sheet_y":16,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"DIZZY SYMBOL","unified":"1F4AB","non_qualified":null,"docomo":null,"au":"EB5C","softbank":null,"google":"FEB5F","image":"1f4ab.png","sheet_x":29,"sheet_y":17,"short_name":"dizzy","short_names":["dizzy"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"emotion","sort_order":162,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPEECH BALLOON","unified":"1F4AC","non_qualified":null,"docomo":null,"au":"E4FD","softbank":null,"google":"FE532","image":"1f4ac.png","sheet_x":29,"sheet_y":18,"short_name":"speech_balloon","short_names":["speech_balloon"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"emotion","sort_order":166,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"THOUGHT BALLOON","unified":"1F4AD","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f4ad.png","sheet_x":29,"sheet_y":19,"short_name":"thought_balloon","short_names":["thought_balloon"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"emotion","sort_order":170,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WHITE FLOWER","unified":"1F4AE","non_qualified":null,"docomo":null,"au":"E4F0","softbank":null,"google":"FEB7A","image":"1f4ae.png","sheet_x":29,"sheet_y":20,"short_name":"white_flower","short_names":["white_flower"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-flower","sort_order":698,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HUNDRED POINTS SYMBOL","unified":"1F4AF","non_qualified":null,"docomo":null,"au":"E4F2","softbank":null,"google":"FEB7B","image":"1f4af.png","sheet_x":29,"sheet_y":21,"short_name":"100","short_names":["100"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"emotion","sort_order":158,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MONEY BAG","unified":"1F4B0","non_qualified":null,"docomo":"E715","au":"E4C7","softbank":"E12F","google":"FE4DD","image":"1f4b0.png","sheet_x":29,"sheet_y":22,"short_name":"moneybag","short_names":["moneybag"],"text":null,"texts":null,"category":"Objects","subcategory":"money","sort_order":1292,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CURRENCY EXCHANGE","unified":"1F4B1","non_qualified":null,"docomo":null,"au":null,"softbank":"E149","google":"FE4DE","image":"1f4b1.png","sheet_x":29,"sheet_y":23,"short_name":"currency_exchange","short_names":["currency_exchange"],"text":null,"texts":null,"category":"Symbols","subcategory":"currency","sort_order":1540,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HEAVY DOLLAR SIGN","unified":"1F4B2","non_qualified":null,"docomo":"E715","au":"E579","softbank":null,"google":"FE4E0","image":"1f4b2.png","sheet_x":29,"sheet_y":24,"short_name":"heavy_dollar_sign","short_names":["heavy_dollar_sign"],"text":null,"texts":null,"category":"Symbols","subcategory":"currency","sort_order":1541,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CREDIT CARD","unified":"1F4B3","non_qualified":null,"docomo":null,"au":"E57C","softbank":null,"google":"FE4E1","image":"1f4b3.png","sheet_x":29,"sheet_y":25,"short_name":"credit_card","short_names":["credit_card"],"text":null,"texts":null,"category":"Objects","subcategory":"money","sort_order":1299,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BANKNOTE WITH YEN SIGN","unified":"1F4B4","non_qualified":null,"docomo":"E6D6","au":"E57D","softbank":null,"google":"FE4E2","image":"1f4b4.png","sheet_x":29,"sheet_y":26,"short_name":"yen","short_names":["yen"],"text":null,"texts":null,"category":"Objects","subcategory":"money","sort_order":1294,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BANKNOTE WITH DOLLAR SIGN","unified":"1F4B5","non_qualified":null,"docomo":"E715","au":"E585","softbank":null,"google":"FE4E3","image":"1f4b5.png","sheet_x":29,"sheet_y":27,"short_name":"dollar","short_names":["dollar"],"text":null,"texts":null,"category":"Objects","subcategory":"money","sort_order":1295,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BANKNOTE WITH EURO SIGN","unified":"1F4B6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f4b6.png","sheet_x":29,"sheet_y":28,"short_name":"euro","short_names":["euro"],"text":null,"texts":null,"category":"Objects","subcategory":"money","sort_order":1296,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BANKNOTE WITH POUND SIGN","unified":"1F4B7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f4b7.png","sheet_x":29,"sheet_y":29,"short_name":"pound","short_names":["pound"],"text":null,"texts":null,"category":"Objects","subcategory":"money","sort_order":1297,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MONEY WITH WINGS","unified":"1F4B8","non_qualified":null,"docomo":null,"au":"EB5B","softbank":null,"google":"FE4E4","image":"1f4b8.png","sheet_x":29,"sheet_y":30,"short_name":"money_with_wings","short_names":["money_with_wings"],"text":null,"texts":null,"category":"Objects","subcategory":"money","sort_order":1298,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CHART WITH UPWARDS TREND AND YEN SIGN","unified":"1F4B9","non_qualified":null,"docomo":null,"au":"E5DC","softbank":"E14A","google":"FE4DF","image":"1f4b9.png","sheet_x":29,"sheet_y":31,"short_name":"chart","short_names":["chart"],"text":null,"texts":null,"category":"Objects","subcategory":"money","sort_order":1301,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SEAT","unified":"1F4BA","non_qualified":null,"docomo":"E6B2","au":null,"softbank":"E11F","google":"FE537","image":"1f4ba.png","sheet_x":29,"sheet_y":32,"short_name":"seat","short_names":["seat"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-air","sort_order":987,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PERSONAL COMPUTER","unified":"1F4BB","non_qualified":null,"docomo":"E716","au":"E5B8","softbank":"E00C","google":"FE538","image":"1f4bb.png","sheet_x":29,"sheet_y":33,"short_name":"computer","short_names":["computer"],"text":null,"texts":null,"category":"Objects","subcategory":"computer","sort_order":1247,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BRIEFCASE","unified":"1F4BC","non_qualified":null,"docomo":"E682","au":"E5CE","softbank":"E11E","google":"FE53B","image":"1f4bc.png","sheet_x":29,"sheet_y":34,"short_name":"briefcase","short_names":["briefcase"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1322,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MINIDISC","unified":"1F4BD","non_qualified":null,"docomo":null,"au":"E582","softbank":"E316","google":"FE53C","image":"1f4bd.png","sheet_x":29,"sheet_y":35,"short_name":"minidisc","short_names":["minidisc"],"text":null,"texts":null,"category":"Objects","subcategory":"computer","sort_order":1253,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FLOPPY DISK","unified":"1F4BE","non_qualified":null,"docomo":null,"au":"E562","softbank":null,"google":"FE53D","image":"1f4be.png","sheet_x":29,"sheet_y":36,"short_name":"floppy_disk","short_names":["floppy_disk"],"text":null,"texts":null,"category":"Objects","subcategory":"computer","sort_order":1254,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"OPTICAL DISC","unified":"1F4BF","non_qualified":null,"docomo":"E68C","au":"E50C","softbank":"E126","google":"FE81D","image":"1f4bf.png","sheet_x":29,"sheet_y":37,"short_name":"cd","short_names":["cd"],"text":null,"texts":null,"category":"Objects","subcategory":"computer","sort_order":1255,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DVD","unified":"1F4C0","non_qualified":null,"docomo":"E68C","au":"E50C","softbank":"E127","google":"FE81E","image":"1f4c0.png","sheet_x":29,"sheet_y":38,"short_name":"dvd","short_names":["dvd"],"text":null,"texts":null,"category":"Objects","subcategory":"computer","sort_order":1256,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FILE FOLDER","unified":"1F4C1","non_qualified":null,"docomo":null,"au":"E58F","softbank":null,"google":"FE543","image":"1f4c1.png","sheet_x":29,"sheet_y":39,"short_name":"file_folder","short_names":["file_folder"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1323,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"OPEN FILE FOLDER","unified":"1F4C2","non_qualified":null,"docomo":null,"au":"E590","softbank":null,"google":"FE544","image":"1f4c2.png","sheet_x":29,"sheet_y":40,"short_name":"open_file_folder","short_names":["open_file_folder"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1324,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PAGE WITH CURL","unified":"1F4C3","non_qualified":null,"docomo":"E689","au":"E561","softbank":null,"google":"FE540","image":"1f4c3.png","sheet_x":29,"sheet_y":41,"short_name":"page_with_curl","short_names":["page_with_curl"],"text":null,"texts":null,"category":"Objects","subcategory":"book-paper","sort_order":1283,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PAGE FACING UP","unified":"1F4C4","non_qualified":null,"docomo":"E689","au":"E569","softbank":null,"google":"FE541","image":"1f4c4.png","sheet_x":29,"sheet_y":42,"short_name":"page_facing_up","short_names":["page_facing_up"],"text":null,"texts":null,"category":"Objects","subcategory":"book-paper","sort_order":1285,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CALENDAR","unified":"1F4C5","non_qualified":null,"docomo":null,"au":"E563","softbank":null,"google":"FE542","image":"1f4c5.png","sheet_x":29,"sheet_y":43,"short_name":"date","short_names":["date"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1326,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TEAR-OFF CALENDAR","unified":"1F4C6","non_qualified":null,"docomo":null,"au":"E56A","softbank":null,"google":"FE549","image":"1f4c6.png","sheet_x":29,"sheet_y":44,"short_name":"calendar","short_names":["calendar"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1327,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CARD INDEX","unified":"1F4C7","non_qualified":null,"docomo":"E683","au":"E56C","softbank":null,"google":"FE54D","image":"1f4c7.png","sheet_x":29,"sheet_y":45,"short_name":"card_index","short_names":["card_index"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1330,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CHART WITH UPWARDS TREND","unified":"1F4C8","non_qualified":null,"docomo":null,"au":"E575","softbank":null,"google":"FE54B","image":"1f4c8.png","sheet_x":29,"sheet_y":46,"short_name":"chart_with_upwards_trend","short_names":["chart_with_upwards_trend"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1331,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CHART WITH DOWNWARDS TREND","unified":"1F4C9","non_qualified":null,"docomo":null,"au":"E576","softbank":null,"google":"FE54C","image":"1f4c9.png","sheet_x":29,"sheet_y":47,"short_name":"chart_with_downwards_trend","short_names":["chart_with_downwards_trend"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1332,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BAR CHART","unified":"1F4CA","non_qualified":null,"docomo":null,"au":"E574","softbank":null,"google":"FE54A","image":"1f4ca.png","sheet_x":29,"sheet_y":48,"short_name":"bar_chart","short_names":["bar_chart"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1333,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLIPBOARD","unified":"1F4CB","non_qualified":null,"docomo":"E689","au":"E564","softbank":null,"google":"FE548","image":"1f4cb.png","sheet_x":29,"sheet_y":49,"short_name":"clipboard","short_names":["clipboard"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1334,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PUSHPIN","unified":"1F4CC","non_qualified":null,"docomo":null,"au":"E56D","softbank":null,"google":"FE54E","image":"1f4cc.png","sheet_x":29,"sheet_y":50,"short_name":"pushpin","short_names":["pushpin"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1335,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ROUND PUSHPIN","unified":"1F4CD","non_qualified":null,"docomo":null,"au":"E560","softbank":null,"google":"FE53F","image":"1f4cd.png","sheet_x":29,"sheet_y":51,"short_name":"round_pushpin","short_names":["round_pushpin"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1336,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PAPERCLIP","unified":"1F4CE","non_qualified":null,"docomo":"E730","au":"E4A0","softbank":null,"google":"FE53A","image":"1f4ce.png","sheet_x":29,"sheet_y":52,"short_name":"paperclip","short_names":["paperclip"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1337,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"STRAIGHT RULER","unified":"1F4CF","non_qualified":null,"docomo":null,"au":"E570","softbank":null,"google":"FE550","image":"1f4cf.png","sheet_x":29,"sheet_y":53,"short_name":"straight_ruler","short_names":["straight_ruler"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1339,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TRIANGULAR RULER","unified":"1F4D0","non_qualified":null,"docomo":null,"au":"E4A2","softbank":null,"google":"FE551","image":"1f4d0.png","sheet_x":29,"sheet_y":54,"short_name":"triangular_ruler","short_names":["triangular_ruler"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1340,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BOOKMARK TABS","unified":"1F4D1","non_qualified":null,"docomo":"E689","au":"EB0B","softbank":null,"google":"FE552","image":"1f4d1.png","sheet_x":29,"sheet_y":55,"short_name":"bookmark_tabs","short_names":["bookmark_tabs"],"text":null,"texts":null,"category":"Objects","subcategory":"book-paper","sort_order":1288,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LEDGER","unified":"1F4D2","non_qualified":null,"docomo":"E683","au":"E56E","softbank":null,"google":"FE54F","image":"1f4d2.png","sheet_x":29,"sheet_y":56,"short_name":"ledger","short_names":["ledger"],"text":null,"texts":null,"category":"Objects","subcategory":"book-paper","sort_order":1282,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NOTEBOOK","unified":"1F4D3","non_qualified":null,"docomo":"E683","au":"E56B","softbank":null,"google":"FE545","image":"1f4d3.png","sheet_x":29,"sheet_y":57,"short_name":"notebook","short_names":["notebook"],"text":null,"texts":null,"category":"Objects","subcategory":"book-paper","sort_order":1281,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NOTEBOOK WITH DECORATIVE COVER","unified":"1F4D4","non_qualified":null,"docomo":"E683","au":"E49D","softbank":null,"google":"FE547","image":"1f4d4.png","sheet_x":29,"sheet_y":58,"short_name":"notebook_with_decorative_cover","short_names":["notebook_with_decorative_cover"],"text":null,"texts":null,"category":"Objects","subcategory":"book-paper","sort_order":1274,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOSED BOOK","unified":"1F4D5","non_qualified":null,"docomo":"E683","au":"E568","softbank":null,"google":"FE502","image":"1f4d5.png","sheet_x":29,"sheet_y":59,"short_name":"closed_book","short_names":["closed_book"],"text":null,"texts":null,"category":"Objects","subcategory":"book-paper","sort_order":1275,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"OPEN BOOK","unified":"1F4D6","non_qualified":null,"docomo":"E683","au":"E49F","softbank":"E148","google":"FE546","image":"1f4d6.png","sheet_x":29,"sheet_y":60,"short_name":"book","short_names":["book","open_book"],"text":null,"texts":null,"category":"Objects","subcategory":"book-paper","sort_order":1276,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GREEN BOOK","unified":"1F4D7","non_qualified":null,"docomo":"E683","au":"E565","softbank":null,"google":"FE4FF","image":"1f4d7.png","sheet_x":29,"sheet_y":61,"short_name":"green_book","short_names":["green_book"],"text":null,"texts":null,"category":"Objects","subcategory":"book-paper","sort_order":1277,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLUE BOOK","unified":"1F4D8","non_qualified":null,"docomo":"E683","au":"E566","softbank":null,"google":"FE500","image":"1f4d8.png","sheet_x":29,"sheet_y":62,"short_name":"blue_book","short_names":["blue_book"],"text":null,"texts":null,"category":"Objects","subcategory":"book-paper","sort_order":1278,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ORANGE BOOK","unified":"1F4D9","non_qualified":null,"docomo":"E683","au":"E567","softbank":null,"google":"FE501","image":"1f4d9.png","sheet_x":30,"sheet_y":0,"short_name":"orange_book","short_names":["orange_book"],"text":null,"texts":null,"category":"Objects","subcategory":"book-paper","sort_order":1279,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BOOKS","unified":"1F4DA","non_qualified":null,"docomo":"E683","au":"E56F","softbank":null,"google":"FE503","image":"1f4da.png","sheet_x":30,"sheet_y":1,"short_name":"books","short_names":["books"],"text":null,"texts":null,"category":"Objects","subcategory":"book-paper","sort_order":1280,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NAME BADGE","unified":"1F4DB","non_qualified":null,"docomo":null,"au":"E51D","softbank":null,"google":"FE504","image":"1f4db.png","sheet_x":30,"sheet_y":2,"short_name":"name_badge","short_names":["name_badge"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1546,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SCROLL","unified":"1F4DC","non_qualified":null,"docomo":"E70A","au":"E55F","softbank":null,"google":"FE4FD","image":"1f4dc.png","sheet_x":30,"sheet_y":3,"short_name":"scroll","short_names":["scroll"],"text":null,"texts":null,"category":"Objects","subcategory":"book-paper","sort_order":1284,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MEMO","unified":"1F4DD","non_qualified":null,"docomo":"E689","au":"EA92","softbank":"E301","google":"FE527","image":"1f4dd.png","sheet_x":30,"sheet_y":4,"short_name":"memo","short_names":["memo","pencil"],"text":null,"texts":null,"category":"Objects","subcategory":"writing","sort_order":1321,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TELEPHONE RECEIVER","unified":"1F4DE","non_qualified":null,"docomo":"E687","au":"E51E","softbank":null,"google":"FE524","image":"1f4de.png","sheet_x":30,"sheet_y":5,"short_name":"telephone_receiver","short_names":["telephone_receiver"],"text":null,"texts":null,"category":"Objects","subcategory":"phone","sort_order":1241,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PAGER","unified":"1F4DF","non_qualified":null,"docomo":"E65A","au":"E59B","softbank":null,"google":"FE522","image":"1f4df.png","sheet_x":30,"sheet_y":6,"short_name":"pager","short_names":["pager"],"text":null,"texts":null,"category":"Objects","subcategory":"phone","sort_order":1242,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FAX MACHINE","unified":"1F4E0","non_qualified":null,"docomo":"E6D0","au":"E520","softbank":"E00B","google":"FE528","image":"1f4e0.png","sheet_x":30,"sheet_y":7,"short_name":"fax","short_names":["fax"],"text":null,"texts":null,"category":"Objects","subcategory":"phone","sort_order":1243,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SATELLITE ANTENNA","unified":"1F4E1","non_qualified":null,"docomo":null,"au":"E4A8","softbank":"E14B","google":"FE531","image":"1f4e1.png","sheet_x":30,"sheet_y":8,"short_name":"satellite_antenna","short_names":["satellite_antenna"],"text":null,"texts":null,"category":"Objects","subcategory":"science","sort_order":1384,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PUBLIC ADDRESS LOUDSPEAKER","unified":"1F4E2","non_qualified":null,"docomo":null,"au":"E511","softbank":"E142","google":"FE52F","image":"1f4e2.png","sheet_x":30,"sheet_y":9,"short_name":"loudspeaker","short_names":["loudspeaker"],"text":null,"texts":null,"category":"Objects","subcategory":"sound","sort_order":1211,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CHEERING MEGAPHONE","unified":"1F4E3","non_qualified":null,"docomo":null,"au":"E511","softbank":"E317","google":"FE530","image":"1f4e3.png","sheet_x":30,"sheet_y":10,"short_name":"mega","short_names":["mega"],"text":null,"texts":null,"category":"Objects","subcategory":"sound","sort_order":1212,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"OUTBOX TRAY","unified":"1F4E4","non_qualified":null,"docomo":null,"au":"E592","softbank":null,"google":"FE533","image":"1f4e4.png","sheet_x":30,"sheet_y":11,"short_name":"outbox_tray","short_names":["outbox_tray"],"text":null,"texts":null,"category":"Objects","subcategory":"mail","sort_order":1306,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"INBOX TRAY","unified":"1F4E5","non_qualified":null,"docomo":null,"au":"E593","softbank":null,"google":"FE534","image":"1f4e5.png","sheet_x":30,"sheet_y":12,"short_name":"inbox_tray","short_names":["inbox_tray"],"text":null,"texts":null,"category":"Objects","subcategory":"mail","sort_order":1307,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PACKAGE","unified":"1F4E6","non_qualified":null,"docomo":"E685","au":"E51F","softbank":null,"google":"FE535","image":"1f4e6.png","sheet_x":30,"sheet_y":13,"short_name":"package","short_names":["package"],"text":null,"texts":null,"category":"Objects","subcategory":"mail","sort_order":1308,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"E-MAIL SYMBOL","unified":"1F4E7","non_qualified":null,"docomo":"E6D3","au":"EB71","softbank":null,"google":"FEB92","image":"1f4e7.png","sheet_x":30,"sheet_y":14,"short_name":"e-mail","short_names":["e-mail"],"text":null,"texts":null,"category":"Objects","subcategory":"mail","sort_order":1303,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"INCOMING ENVELOPE","unified":"1F4E8","non_qualified":null,"docomo":"E6CF","au":"E591","softbank":null,"google":"FE52A","image":"1f4e8.png","sheet_x":30,"sheet_y":15,"short_name":"incoming_envelope","short_names":["incoming_envelope"],"text":null,"texts":null,"category":"Objects","subcategory":"mail","sort_order":1304,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ENVELOPE WITH DOWNWARDS ARROW ABOVE","unified":"1F4E9","non_qualified":null,"docomo":"E6CF","au":"EB62","softbank":"E103","google":"FE52B","image":"1f4e9.png","sheet_x":30,"sheet_y":16,"short_name":"envelope_with_arrow","short_names":["envelope_with_arrow"],"text":null,"texts":null,"category":"Objects","subcategory":"mail","sort_order":1305,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOSED MAILBOX WITH LOWERED FLAG","unified":"1F4EA","non_qualified":null,"docomo":"E665","au":"E51B","softbank":null,"google":"FE52C","image":"1f4ea.png","sheet_x":30,"sheet_y":17,"short_name":"mailbox_closed","short_names":["mailbox_closed"],"text":null,"texts":null,"category":"Objects","subcategory":"mail","sort_order":1310,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOSED MAILBOX WITH RAISED FLAG","unified":"1F4EB","non_qualified":null,"docomo":"E665","au":"EB0A","softbank":"E101","google":"FE52D","image":"1f4eb.png","sheet_x":30,"sheet_y":18,"short_name":"mailbox","short_names":["mailbox"],"text":null,"texts":null,"category":"Objects","subcategory":"mail","sort_order":1309,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"OPEN MAILBOX WITH RAISED FLAG","unified":"1F4EC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f4ec.png","sheet_x":30,"sheet_y":19,"short_name":"mailbox_with_mail","short_names":["mailbox_with_mail"],"text":null,"texts":null,"category":"Objects","subcategory":"mail","sort_order":1311,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"OPEN MAILBOX WITH LOWERED FLAG","unified":"1F4ED","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f4ed.png","sheet_x":30,"sheet_y":20,"short_name":"mailbox_with_no_mail","short_names":["mailbox_with_no_mail"],"text":null,"texts":null,"category":"Objects","subcategory":"mail","sort_order":1312,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"POSTBOX","unified":"1F4EE","non_qualified":null,"docomo":"E665","au":"E51B","softbank":"E102","google":"FE52E","image":"1f4ee.png","sheet_x":30,"sheet_y":21,"short_name":"postbox","short_names":["postbox"],"text":null,"texts":null,"category":"Objects","subcategory":"mail","sort_order":1313,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"POSTAL HORN","unified":"1F4EF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f4ef.png","sheet_x":30,"sheet_y":22,"short_name":"postal_horn","short_names":["postal_horn"],"text":null,"texts":null,"category":"Objects","subcategory":"sound","sort_order":1213,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NEWSPAPER","unified":"1F4F0","non_qualified":null,"docomo":null,"au":"E58B","softbank":null,"google":"FE822","image":"1f4f0.png","sheet_x":30,"sheet_y":23,"short_name":"newspaper","short_names":["newspaper"],"text":null,"texts":null,"category":"Objects","subcategory":"book-paper","sort_order":1286,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MOBILE PHONE","unified":"1F4F1","non_qualified":null,"docomo":"E688","au":"E588","softbank":"E00A","google":"FE525","image":"1f4f1.png","sheet_x":30,"sheet_y":24,"short_name":"iphone","short_names":["iphone"],"text":null,"texts":null,"category":"Objects","subcategory":"phone","sort_order":1238,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT","unified":"1F4F2","non_qualified":null,"docomo":"E6CE","au":"EB08","softbank":"E104","google":"FE526","image":"1f4f2.png","sheet_x":30,"sheet_y":25,"short_name":"calling","short_names":["calling"],"text":null,"texts":null,"category":"Objects","subcategory":"phone","sort_order":1239,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"VIBRATION MODE","unified":"1F4F3","non_qualified":null,"docomo":null,"au":"EA90","softbank":"E250","google":"FE839","image":"1f4f3.png","sheet_x":30,"sheet_y":26,"short_name":"vibration_mode","short_names":["vibration_mode"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1522,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MOBILE PHONE OFF","unified":"1F4F4","non_qualified":null,"docomo":null,"au":"EA91","softbank":"E251","google":"FE83A","image":"1f4f4.png","sheet_x":30,"sheet_y":27,"short_name":"mobile_phone_off","short_names":["mobile_phone_off"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1523,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NO MOBILE PHONES","unified":"1F4F5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f4f5.png","sheet_x":30,"sheet_y":28,"short_name":"no_mobile_phones","short_names":["no_mobile_phones"],"text":null,"texts":null,"category":"Symbols","subcategory":"warning","sort_order":1448,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ANTENNA WITH BARS","unified":"1F4F6","non_qualified":null,"docomo":null,"au":"EA84","softbank":"E20B","google":"FE838","image":"1f4f6.png","sheet_x":30,"sheet_y":29,"short_name":"signal_strength","short_names":["signal_strength"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1520,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CAMERA","unified":"1F4F7","non_qualified":null,"docomo":"E681","au":"E515","softbank":"E008","google":"FE4EF","image":"1f4f7.png","sheet_x":30,"sheet_y":30,"short_name":"camera","short_names":["camera"],"text":null,"texts":null,"category":"Objects","subcategory":"light & video","sort_order":1263,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CAMERA WITH FLASH","unified":"1F4F8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f4f8.png","sheet_x":30,"sheet_y":31,"short_name":"camera_with_flash","short_names":["camera_with_flash"],"text":null,"texts":null,"category":"Objects","subcategory":"light & video","sort_order":1264,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"VIDEO CAMERA","unified":"1F4F9","non_qualified":null,"docomo":"E677","au":"E57E","softbank":null,"google":"FE4F9","image":"1f4f9.png","sheet_x":30,"sheet_y":32,"short_name":"video_camera","short_names":["video_camera"],"text":null,"texts":null,"category":"Objects","subcategory":"light & video","sort_order":1265,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TELEVISION","unified":"1F4FA","non_qualified":null,"docomo":"E68A","au":"E502","softbank":"E12A","google":"FE81C","image":"1f4fa.png","sheet_x":30,"sheet_y":33,"short_name":"tv","short_names":["tv"],"text":null,"texts":null,"category":"Objects","subcategory":"light & video","sort_order":1262,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RADIO","unified":"1F4FB","non_qualified":null,"docomo":null,"au":"E5B9","softbank":"E128","google":"FE81F","image":"1f4fb.png","sheet_x":30,"sheet_y":34,"short_name":"radio","short_names":["radio"],"text":null,"texts":null,"category":"Objects","subcategory":"music","sort_order":1224,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"VIDEOCASSETTE","unified":"1F4FC","non_qualified":null,"docomo":null,"au":"E580","softbank":"E129","google":"FE820","image":"1f4fc.png","sheet_x":30,"sheet_y":35,"short_name":"vhs","short_names":["vhs"],"text":null,"texts":null,"category":"Objects","subcategory":"light & video","sort_order":1266,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FILM PROJECTOR","unified":"1F4FD-FE0F","non_qualified":"1F4FD","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f4fd-fe0f.png","sheet_x":30,"sheet_y":36,"short_name":"film_projector","short_names":["film_projector"],"text":null,"texts":null,"category":"Objects","subcategory":"light & video","sort_order":1260,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PRAYER BEADS","unified":"1F4FF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f4ff.png","sheet_x":30,"sheet_y":37,"short_name":"prayer_beads","short_names":["prayer_beads"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1203,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TWISTED RIGHTWARDS ARROWS","unified":"1F500","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f500.png","sheet_x":30,"sheet_y":38,"short_name":"twisted_rightwards_arrows","short_names":["twisted_rightwards_arrows"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1499,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS","unified":"1F501","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f501.png","sheet_x":30,"sheet_y":39,"short_name":"repeat","short_names":["repeat"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1500,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY","unified":"1F502","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f502.png","sheet_x":30,"sheet_y":40,"short_name":"repeat_one","short_names":["repeat_one"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1501,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS","unified":"1F503","non_qualified":null,"docomo":"E735","au":"EB0D","softbank":null,"google":"FEB91","image":"1f503.png","sheet_x":30,"sheet_y":41,"short_name":"arrows_clockwise","short_names":["arrows_clockwise"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1466,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS","unified":"1F504","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f504.png","sheet_x":30,"sheet_y":42,"short_name":"arrows_counterclockwise","short_names":["arrows_counterclockwise"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1467,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LOW BRIGHTNESS SYMBOL","unified":"1F505","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f505.png","sheet_x":30,"sheet_y":43,"short_name":"low_brightness","short_names":["low_brightness"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1518,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HIGH BRIGHTNESS SYMBOL","unified":"1F506","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f506.png","sheet_x":30,"sheet_y":44,"short_name":"high_brightness","short_names":["high_brightness"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1519,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPEAKER WITH CANCELLATION STROKE","unified":"1F507","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f507.png","sheet_x":30,"sheet_y":45,"short_name":"mute","short_names":["mute"],"text":null,"texts":null,"category":"Objects","subcategory":"sound","sort_order":1207,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPEAKER","unified":"1F508","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f508.png","sheet_x":30,"sheet_y":46,"short_name":"speaker","short_names":["speaker"],"text":null,"texts":null,"category":"Objects","subcategory":"sound","sort_order":1208,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPEAKER WITH ONE SOUND WAVE","unified":"1F509","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f509.png","sheet_x":30,"sheet_y":47,"short_name":"sound","short_names":["sound"],"text":null,"texts":null,"category":"Objects","subcategory":"sound","sort_order":1209,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPEAKER WITH THREE SOUND WAVES","unified":"1F50A","non_qualified":null,"docomo":null,"au":"E511","softbank":"E141","google":"FE821","image":"1f50a.png","sheet_x":30,"sheet_y":48,"short_name":"loud_sound","short_names":["loud_sound"],"text":null,"texts":null,"category":"Objects","subcategory":"sound","sort_order":1210,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BATTERY","unified":"1F50B","non_qualified":null,"docomo":null,"au":"E584","softbank":null,"google":"FE4FC","image":"1f50b.png","sheet_x":30,"sheet_y":49,"short_name":"battery","short_names":["battery"],"text":null,"texts":null,"category":"Objects","subcategory":"computer","sort_order":1244,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ELECTRIC PLUG","unified":"1F50C","non_qualified":null,"docomo":null,"au":"E589","softbank":null,"google":"FE4FE","image":"1f50c.png","sheet_x":30,"sheet_y":50,"short_name":"electric_plug","short_names":["electric_plug"],"text":null,"texts":null,"category":"Objects","subcategory":"computer","sort_order":1246,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LEFT-POINTING MAGNIFYING GLASS","unified":"1F50D","non_qualified":null,"docomo":"E6DC","au":"E518","softbank":"E114","google":"FEB85","image":"1f50d.png","sheet_x":30,"sheet_y":51,"short_name":"mag","short_names":["mag"],"text":null,"texts":null,"category":"Objects","subcategory":"light & video","sort_order":1267,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RIGHT-POINTING MAGNIFYING GLASS","unified":"1F50E","non_qualified":null,"docomo":"E6DC","au":"EB05","softbank":null,"google":"FEB8D","image":"1f50e.png","sheet_x":30,"sheet_y":52,"short_name":"mag_right","short_names":["mag_right"],"text":null,"texts":null,"category":"Objects","subcategory":"light & video","sort_order":1268,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LOCK WITH INK PEN","unified":"1F50F","non_qualified":null,"docomo":"E6D9","au":"EB0C","softbank":null,"google":"FEB90","image":"1f50f.png","sheet_x":30,"sheet_y":53,"short_name":"lock_with_ink_pen","short_names":["lock_with_ink_pen"],"text":null,"texts":null,"category":"Objects","subcategory":"lock","sort_order":1347,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOSED LOCK WITH KEY","unified":"1F510","non_qualified":null,"docomo":"E6D9","au":"EAFC","softbank":null,"google":"FEB8A","image":"1f510.png","sheet_x":30,"sheet_y":54,"short_name":"closed_lock_with_key","short_names":["closed_lock_with_key"],"text":null,"texts":null,"category":"Objects","subcategory":"lock","sort_order":1348,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"KEY","unified":"1F511","non_qualified":null,"docomo":"E6D9","au":"E519","softbank":"E03F","google":"FEB82","image":"1f511.png","sheet_x":30,"sheet_y":55,"short_name":"key","short_names":["key"],"text":null,"texts":null,"category":"Objects","subcategory":"lock","sort_order":1349,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LOCK","unified":"1F512","non_qualified":null,"docomo":"E6D9","au":"E51C","softbank":"E144","google":"FEB86","image":"1f512.png","sheet_x":30,"sheet_y":56,"short_name":"lock","short_names":["lock"],"text":null,"texts":null,"category":"Objects","subcategory":"lock","sort_order":1345,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"OPEN LOCK","unified":"1F513","non_qualified":null,"docomo":"E6D9","au":"E51C","softbank":"E145","google":"FEB87","image":"1f513.png","sheet_x":30,"sheet_y":57,"short_name":"unlock","short_names":["unlock"],"text":null,"texts":null,"category":"Objects","subcategory":"lock","sort_order":1346,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BELL","unified":"1F514","non_qualified":null,"docomo":"E713","au":"E512","softbank":"E325","google":"FE4F2","image":"1f514.png","sheet_x":30,"sheet_y":58,"short_name":"bell","short_names":["bell"],"text":null,"texts":null,"category":"Objects","subcategory":"sound","sort_order":1214,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BELL WITH CANCELLATION STROKE","unified":"1F515","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f515.png","sheet_x":30,"sheet_y":59,"short_name":"no_bell","short_names":["no_bell"],"text":null,"texts":null,"category":"Objects","subcategory":"sound","sort_order":1215,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BOOKMARK","unified":"1F516","non_qualified":null,"docomo":null,"au":"EB07","softbank":null,"google":"FEB8F","image":"1f516.png","sheet_x":30,"sheet_y":60,"short_name":"bookmark","short_names":["bookmark"],"text":null,"texts":null,"category":"Objects","subcategory":"book-paper","sort_order":1289,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LINK SYMBOL","unified":"1F517","non_qualified":null,"docomo":null,"au":"E58A","softbank":null,"google":"FEB4B","image":"1f517.png","sheet_x":30,"sheet_y":61,"short_name":"link","short_names":["link"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1370,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RADIO BUTTON","unified":"1F518","non_qualified":null,"docomo":null,"au":"EB04","softbank":null,"google":"FEB8C","image":"1f518.png","sheet_x":30,"sheet_y":62,"short_name":"radio_button","short_names":["radio_button"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1647,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BACK WITH LEFTWARDS ARROW ABOVE","unified":"1F519","non_qualified":null,"docomo":null,"au":"EB06","softbank":null,"google":"FEB8E","image":"1f519.png","sheet_x":31,"sheet_y":0,"short_name":"back","short_names":["back"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1468,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"END WITH LEFTWARDS ARROW ABOVE","unified":"1F51A","non_qualified":null,"docomo":"E6B9","au":null,"softbank":null,"google":"FE01A","image":"1f51a.png","sheet_x":31,"sheet_y":1,"short_name":"end","short_names":["end"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1469,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE","unified":"1F51B","non_qualified":null,"docomo":"E6B8","au":null,"softbank":null,"google":"FE019","image":"1f51b.png","sheet_x":31,"sheet_y":2,"short_name":"on","short_names":["on"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1470,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SOON WITH RIGHTWARDS ARROW ABOVE","unified":"1F51C","non_qualified":null,"docomo":"E6B7","au":null,"softbank":null,"google":"FE018","image":"1f51c.png","sheet_x":31,"sheet_y":3,"short_name":"soon","short_names":["soon"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1471,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TOP WITH UPWARDS ARROW ABOVE","unified":"1F51D","non_qualified":null,"docomo":null,"au":null,"softbank":"E24C","google":"FEB42","image":"1f51d.png","sheet_x":31,"sheet_y":4,"short_name":"top","short_names":["top"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1472,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NO ONE UNDER EIGHTEEN SYMBOL","unified":"1F51E","non_qualified":null,"docomo":null,"au":"EA83","softbank":"E207","google":"FEB25","image":"1f51e.png","sheet_x":31,"sheet_y":5,"short_name":"underage","short_names":["underage"],"text":null,"texts":null,"category":"Symbols","subcategory":"warning","sort_order":1449,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"KEYCAP TEN","unified":"1F51F","non_qualified":null,"docomo":null,"au":"E52B","softbank":null,"google":"FE83B","image":"1f51f.png","sheet_x":31,"sheet_y":6,"short_name":"keycap_ten","short_names":["keycap_ten"],"text":null,"texts":null,"category":"Symbols","subcategory":"keycap","sort_order":1576,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"INPUT SYMBOL FOR LATIN CAPITAL LETTERS","unified":"1F520","non_qualified":null,"docomo":null,"au":"EAFD","softbank":null,"google":"FEB7C","image":"1f520.png","sheet_x":31,"sheet_y":7,"short_name":"capital_abcd","short_names":["capital_abcd"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1577,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"INPUT SYMBOL FOR LATIN SMALL LETTERS","unified":"1F521","non_qualified":null,"docomo":null,"au":"EAFE","softbank":null,"google":"FEB7D","image":"1f521.png","sheet_x":31,"sheet_y":8,"short_name":"abcd","short_names":["abcd"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1578,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"INPUT SYMBOL FOR NUMBERS","unified":"1F522","non_qualified":null,"docomo":null,"au":"EAFF","softbank":null,"google":"FEB7E","image":"1f522.png","sheet_x":31,"sheet_y":9,"short_name":"1234","short_names":["1234"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1579,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"INPUT SYMBOL FOR SYMBOLS","unified":"1F523","non_qualified":null,"docomo":null,"au":"EB00","softbank":null,"google":"FEB7F","image":"1f523.png","sheet_x":31,"sheet_y":10,"short_name":"symbols","short_names":["symbols"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1580,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"INPUT SYMBOL FOR LATIN LETTERS","unified":"1F524","non_qualified":null,"docomo":null,"au":"EB55","softbank":null,"google":"FEB80","image":"1f524.png","sheet_x":31,"sheet_y":11,"short_name":"abc","short_names":["abc"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1581,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FIRE","unified":"1F525","non_qualified":null,"docomo":null,"au":"E47B","softbank":"E11D","google":"FE4F6","image":"1f525.png","sheet_x":31,"sheet_y":12,"short_name":"fire","short_names":["fire"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1072,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ELECTRIC TORCH","unified":"1F526","non_qualified":null,"docomo":"E6FB","au":"E583","softbank":null,"google":"FE4FB","image":"1f526.png","sheet_x":31,"sheet_y":13,"short_name":"flashlight","short_names":["flashlight"],"text":null,"texts":null,"category":"Objects","subcategory":"light & video","sort_order":1271,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WRENCH","unified":"1F527","non_qualified":null,"docomo":"E718","au":"E587","softbank":null,"google":"FE4C9","image":"1f527.png","sheet_x":31,"sheet_y":14,"short_name":"wrench","short_names":["wrench"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1363,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HAMMER","unified":"1F528","non_qualified":null,"docomo":null,"au":"E5CB","softbank":"E116","google":"FE4CA","image":"1f528.png","sheet_x":31,"sheet_y":15,"short_name":"hammer","short_names":["hammer"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1351,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NUT AND BOLT","unified":"1F529","non_qualified":null,"docomo":null,"au":"E581","softbank":null,"google":"FE4CB","image":"1f529.png","sheet_x":31,"sheet_y":16,"short_name":"nut_and_bolt","short_names":["nut_and_bolt"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1365,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HOCHO","unified":"1F52A","non_qualified":null,"docomo":null,"au":"E57F","softbank":null,"google":"FE4FA","image":"1f52a.png","sheet_x":31,"sheet_y":17,"short_name":"hocho","short_names":["hocho","knife"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"dishware","sort_order":853,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PISTOL","unified":"1F52B","non_qualified":null,"docomo":null,"au":"E50A","softbank":"E113","google":"FE4F5","image":"1f52b.png","sheet_x":31,"sheet_y":18,"short_name":"gun","short_names":["gun"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1132,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MICROSCOPE","unified":"1F52C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f52c.png","sheet_x":31,"sheet_y":19,"short_name":"microscope","short_names":["microscope"],"text":null,"texts":null,"category":"Objects","subcategory":"science","sort_order":1382,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TELESCOPE","unified":"1F52D","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f52d.png","sheet_x":31,"sheet_y":20,"short_name":"telescope","short_names":["telescope"],"text":null,"texts":null,"category":"Objects","subcategory":"science","sort_order":1383,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CRYSTAL BALL","unified":"1F52E","non_qualified":null,"docomo":null,"au":"EA8F","softbank":null,"google":"FE4F7","image":"1f52e.png","sheet_x":31,"sheet_y":21,"short_name":"crystal_ball","short_names":["crystal_ball"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1134,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SIX POINTED STAR WITH MIDDLE DOT","unified":"1F52F","non_qualified":null,"docomo":null,"au":"EA8F","softbank":"E23E","google":"FE4F8","image":"1f52f.png","sheet_x":31,"sheet_y":22,"short_name":"six_pointed_star","short_names":["six_pointed_star"],"text":null,"texts":null,"category":"Symbols","subcategory":"religion","sort_order":1484,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"JAPANESE SYMBOL FOR BEGINNER","unified":"1F530","non_qualified":null,"docomo":null,"au":"E480","softbank":"E209","google":"FE044","image":"1f530.png","sheet_x":31,"sheet_y":23,"short_name":"beginner","short_names":["beginner"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1547,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TRIDENT EMBLEM","unified":"1F531","non_qualified":null,"docomo":"E71A","au":"E5C9","softbank":"E031","google":"FE4D2","image":"1f531.png","sheet_x":31,"sheet_y":24,"short_name":"trident","short_names":["trident"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1545,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK SQUARE BUTTON","unified":"1F532","non_qualified":null,"docomo":"E69C","au":"E54B","softbank":"E21A","google":"FEB64","image":"1f532.png","sheet_x":31,"sheet_y":25,"short_name":"black_square_button","short_names":["black_square_button"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1649,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WHITE SQUARE BUTTON","unified":"1F533","non_qualified":null,"docomo":"E69C","au":"E54B","softbank":"E21B","google":"FEB67","image":"1f533.png","sheet_x":31,"sheet_y":26,"short_name":"white_square_button","short_names":["white_square_button"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1648,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LARGE RED CIRCLE","unified":"1F534","non_qualified":null,"docomo":"E69C","au":"E54A","softbank":"E219","google":"FEB63","image":"1f534.png","sheet_x":31,"sheet_y":27,"short_name":"red_circle","short_names":["red_circle"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1616,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LARGE BLUE CIRCLE","unified":"1F535","non_qualified":null,"docomo":"E69C","au":"E54B","softbank":null,"google":"FEB64","image":"1f535.png","sheet_x":31,"sheet_y":28,"short_name":"large_blue_circle","short_names":["large_blue_circle"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1620,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LARGE ORANGE DIAMOND","unified":"1F536","non_qualified":null,"docomo":null,"au":"E546","softbank":null,"google":"FEB73","image":"1f536.png","sheet_x":31,"sheet_y":29,"short_name":"large_orange_diamond","short_names":["large_orange_diamond"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1640,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LARGE BLUE DIAMOND","unified":"1F537","non_qualified":null,"docomo":null,"au":"E547","softbank":null,"google":"FEB74","image":"1f537.png","sheet_x":31,"sheet_y":30,"short_name":"large_blue_diamond","short_names":["large_blue_diamond"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1641,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SMALL ORANGE DIAMOND","unified":"1F538","non_qualified":null,"docomo":null,"au":"E536","softbank":null,"google":"FEB75","image":"1f538.png","sheet_x":31,"sheet_y":31,"short_name":"small_orange_diamond","short_names":["small_orange_diamond"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1642,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SMALL BLUE DIAMOND","unified":"1F539","non_qualified":null,"docomo":null,"au":"E537","softbank":null,"google":"FEB76","image":"1f539.png","sheet_x":31,"sheet_y":32,"short_name":"small_blue_diamond","short_names":["small_blue_diamond"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1643,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"UP-POINTING RED TRIANGLE","unified":"1F53A","non_qualified":null,"docomo":null,"au":"E55A","softbank":null,"google":"FEB78","image":"1f53a.png","sheet_x":31,"sheet_y":33,"short_name":"small_red_triangle","short_names":["small_red_triangle"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1644,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DOWN-POINTING RED TRIANGLE","unified":"1F53B","non_qualified":null,"docomo":null,"au":"E55B","softbank":null,"google":"FEB79","image":"1f53b.png","sheet_x":31,"sheet_y":34,"short_name":"small_red_triangle_down","short_names":["small_red_triangle_down"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1645,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"UP-POINTING SMALL RED TRIANGLE","unified":"1F53C","non_qualified":null,"docomo":null,"au":"E543","softbank":null,"google":"FEB01","image":"1f53c.png","sheet_x":31,"sheet_y":35,"short_name":"arrow_up_small","short_names":["arrow_up_small"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1509,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DOWN-POINTING SMALL RED TRIANGLE","unified":"1F53D","non_qualified":null,"docomo":null,"au":"E542","softbank":null,"google":"FEB00","image":"1f53d.png","sheet_x":31,"sheet_y":36,"short_name":"arrow_down_small","short_names":["arrow_down_small"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1511,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"OM","unified":"1F549-FE0F","non_qualified":"1F549","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f549-fe0f.png","sheet_x":31,"sheet_y":37,"short_name":"om_symbol","short_names":["om_symbol"],"text":null,"texts":null,"category":"Symbols","subcategory":"religion","sort_order":1475,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DOVE","unified":"1F54A-FE0F","non_qualified":"1F54A","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f54a-fe0f.png","sheet_x":31,"sheet_y":38,"short_name":"dove_of_peace","short_names":["dove_of_peace"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":639,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"KAABA","unified":"1F54B","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f54b.png","sheet_x":31,"sheet_y":39,"short_name":"kaaba","short_names":["kaaba"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-religious","sort_order":905,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MOSQUE","unified":"1F54C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f54c.png","sheet_x":31,"sheet_y":40,"short_name":"mosque","short_names":["mosque"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-religious","sort_order":901,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SYNAGOGUE","unified":"1F54D","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f54d.png","sheet_x":31,"sheet_y":41,"short_name":"synagogue","short_names":["synagogue"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-religious","sort_order":903,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MENORAH WITH NINE BRANCHES","unified":"1F54E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f54e.png","sheet_x":31,"sheet_y":42,"short_name":"menorah_with_nine_branches","short_names":["menorah_with_nine_branches"],"text":null,"texts":null,"category":"Symbols","subcategory":"religion","sort_order":1483,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE ONE OCLOCK","unified":"1F550","non_qualified":null,"docomo":"E6BA","au":"E594","softbank":"E024","google":"FE01E","image":"1f550.png","sheet_x":31,"sheet_y":43,"short_name":"clock1","short_names":["clock1"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1006,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE TWO OCLOCK","unified":"1F551","non_qualified":null,"docomo":"E6BA","au":"E594","softbank":"E025","google":"FE01F","image":"1f551.png","sheet_x":31,"sheet_y":44,"short_name":"clock2","short_names":["clock2"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1008,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE THREE OCLOCK","unified":"1F552","non_qualified":null,"docomo":"E6BA","au":"E594","softbank":"E026","google":"FE020","image":"1f552.png","sheet_x":31,"sheet_y":45,"short_name":"clock3","short_names":["clock3"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1010,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE FOUR OCLOCK","unified":"1F553","non_qualified":null,"docomo":"E6BA","au":"E594","softbank":"E027","google":"FE021","image":"1f553.png","sheet_x":31,"sheet_y":46,"short_name":"clock4","short_names":["clock4"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1012,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE FIVE OCLOCK","unified":"1F554","non_qualified":null,"docomo":"E6BA","au":"E594","softbank":"E028","google":"FE022","image":"1f554.png","sheet_x":31,"sheet_y":47,"short_name":"clock5","short_names":["clock5"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1014,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE SIX OCLOCK","unified":"1F555","non_qualified":null,"docomo":"E6BA","au":"E594","softbank":"E029","google":"FE023","image":"1f555.png","sheet_x":31,"sheet_y":48,"short_name":"clock6","short_names":["clock6"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1016,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE SEVEN OCLOCK","unified":"1F556","non_qualified":null,"docomo":"E6BA","au":"E594","softbank":"E02A","google":"FE024","image":"1f556.png","sheet_x":31,"sheet_y":49,"short_name":"clock7","short_names":["clock7"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1018,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE EIGHT OCLOCK","unified":"1F557","non_qualified":null,"docomo":"E6BA","au":"E594","softbank":"E02B","google":"FE025","image":"1f557.png","sheet_x":31,"sheet_y":50,"short_name":"clock8","short_names":["clock8"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1020,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE NINE OCLOCK","unified":"1F558","non_qualified":null,"docomo":"E6BA","au":"E594","softbank":"E02C","google":"FE026","image":"1f558.png","sheet_x":31,"sheet_y":51,"short_name":"clock9","short_names":["clock9"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1022,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE TEN OCLOCK","unified":"1F559","non_qualified":null,"docomo":"E6BA","au":"E594","softbank":"E02D","google":"FE027","image":"1f559.png","sheet_x":31,"sheet_y":52,"short_name":"clock10","short_names":["clock10"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1024,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE ELEVEN OCLOCK","unified":"1F55A","non_qualified":null,"docomo":"E6BA","au":"E594","softbank":"E02E","google":"FE028","image":"1f55a.png","sheet_x":31,"sheet_y":53,"short_name":"clock11","short_names":["clock11"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1026,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE TWELVE OCLOCK","unified":"1F55B","non_qualified":null,"docomo":"E6BA","au":"E594","softbank":"E02F","google":"FE029","image":"1f55b.png","sheet_x":31,"sheet_y":54,"short_name":"clock12","short_names":["clock12"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1004,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE ONE-THIRTY","unified":"1F55C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f55c.png","sheet_x":31,"sheet_y":55,"short_name":"clock130","short_names":["clock130"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1007,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE TWO-THIRTY","unified":"1F55D","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f55d.png","sheet_x":31,"sheet_y":56,"short_name":"clock230","short_names":["clock230"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1009,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE THREE-THIRTY","unified":"1F55E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f55e.png","sheet_x":31,"sheet_y":57,"short_name":"clock330","short_names":["clock330"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1011,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE FOUR-THIRTY","unified":"1F55F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f55f.png","sheet_x":31,"sheet_y":58,"short_name":"clock430","short_names":["clock430"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1013,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE FIVE-THIRTY","unified":"1F560","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f560.png","sheet_x":31,"sheet_y":59,"short_name":"clock530","short_names":["clock530"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1015,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE SIX-THIRTY","unified":"1F561","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f561.png","sheet_x":31,"sheet_y":60,"short_name":"clock630","short_names":["clock630"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1017,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE SEVEN-THIRTY","unified":"1F562","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f562.png","sheet_x":31,"sheet_y":61,"short_name":"clock730","short_names":["clock730"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1019,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE EIGHT-THIRTY","unified":"1F563","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f563.png","sheet_x":31,"sheet_y":62,"short_name":"clock830","short_names":["clock830"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1021,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE NINE-THIRTY","unified":"1F564","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f564.png","sheet_x":32,"sheet_y":0,"short_name":"clock930","short_names":["clock930"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1023,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE TEN-THIRTY","unified":"1F565","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f565.png","sheet_x":32,"sheet_y":1,"short_name":"clock1030","short_names":["clock1030"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1025,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE ELEVEN-THIRTY","unified":"1F566","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f566.png","sheet_x":32,"sheet_y":2,"short_name":"clock1130","short_names":["clock1130"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1027,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOCK FACE TWELVE-THIRTY","unified":"1F567","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f567.png","sheet_x":32,"sheet_y":3,"short_name":"clock1230","short_names":["clock1230"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1005,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CANDLE","unified":"1F56F-FE0F","non_qualified":"1F56F","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f56f-fe0f.png","sheet_x":32,"sheet_y":4,"short_name":"candle","short_names":["candle"],"text":null,"texts":null,"category":"Objects","subcategory":"light & video","sort_order":1269,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MANTELPIECE CLOCK","unified":"1F570-FE0F","non_qualified":"1F570","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f570-fe0f.png","sheet_x":32,"sheet_y":5,"short_name":"mantelpiece_clock","short_names":["mantelpiece_clock"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1003,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HOLE","unified":"1F573-FE0F","non_qualified":"1F573","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f573-fe0f.png","sheet_x":32,"sheet_y":6,"short_name":"hole","short_names":["hole"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"emotion","sort_order":165,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PERSON IN SUIT LEVITATING","unified":"1F574-FE0F","non_qualified":"1F574","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f574-fe0f.png","sheet_x":32,"sheet_y":7,"short_name":"man_in_business_suit_levitating","short_names":["man_in_business_suit_levitating"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":454,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F574-1F3FB","non_qualified":null,"image":"1f574-1f3fb.png","sheet_x":32,"sheet_y":8,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F574-1F3FC","non_qualified":null,"image":"1f574-1f3fc.png","sheet_x":32,"sheet_y":9,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F574-1F3FD","non_qualified":null,"image":"1f574-1f3fd.png","sheet_x":32,"sheet_y":10,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F574-1F3FE","non_qualified":null,"image":"1f574-1f3fe.png","sheet_x":32,"sheet_y":11,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F574-1F3FF","non_qualified":null,"image":"1f574-1f3ff.png","sheet_x":32,"sheet_y":12,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN DETECTIVE","unified":"1F575-FE0F-200D-2640-FE0F","non_qualified":"1F575-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f575-fe0f-200d-2640-fe0f.png","sheet_x":32,"sheet_y":13,"short_name":"female-detective","short_names":["female-detective"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":344,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F575-1F3FB-200D-2640-FE0F","non_qualified":"1F575-1F3FB-200D-2640","image":"1f575-1f3fb-200d-2640-fe0f.png","sheet_x":32,"sheet_y":14,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F575-1F3FC-200D-2640-FE0F","non_qualified":"1F575-1F3FC-200D-2640","image":"1f575-1f3fc-200d-2640-fe0f.png","sheet_x":32,"sheet_y":15,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F575-1F3FD-200D-2640-FE0F","non_qualified":"1F575-1F3FD-200D-2640","image":"1f575-1f3fd-200d-2640-fe0f.png","sheet_x":32,"sheet_y":16,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F575-1F3FE-200D-2640-FE0F","non_qualified":"1F575-1F3FE-200D-2640","image":"1f575-1f3fe-200d-2640-fe0f.png","sheet_x":32,"sheet_y":17,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F575-1F3FF-200D-2640-FE0F","non_qualified":"1F575-1F3FF-200D-2640","image":"1f575-1f3ff-200d-2640-fe0f.png","sheet_x":32,"sheet_y":18,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN DETECTIVE","unified":"1F575-FE0F-200D-2642-FE0F","non_qualified":"1F575-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f575-fe0f-200d-2642-fe0f.png","sheet_x":32,"sheet_y":19,"short_name":"male-detective","short_names":["male-detective"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":343,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F575-1F3FB-200D-2642-FE0F","non_qualified":"1F575-1F3FB-200D-2642","image":"1f575-1f3fb-200d-2642-fe0f.png","sheet_x":32,"sheet_y":20,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F575-1F3FC-200D-2642-FE0F","non_qualified":"1F575-1F3FC-200D-2642","image":"1f575-1f3fc-200d-2642-fe0f.png","sheet_x":32,"sheet_y":21,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F575-1F3FD-200D-2642-FE0F","non_qualified":"1F575-1F3FD-200D-2642","image":"1f575-1f3fd-200d-2642-fe0f.png","sheet_x":32,"sheet_y":22,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F575-1F3FE-200D-2642-FE0F","non_qualified":"1F575-1F3FE-200D-2642","image":"1f575-1f3fe-200d-2642-fe0f.png","sheet_x":32,"sheet_y":23,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F575-1F3FF-200D-2642-FE0F","non_qualified":"1F575-1F3FF-200D-2642","image":"1f575-1f3ff-200d-2642-fe0f.png","sheet_x":32,"sheet_y":24,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F575-FE0F"},{"name":"DETECTIVE","unified":"1F575-FE0F","non_qualified":"1F575","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f575-fe0f.png","sheet_x":32,"sheet_y":25,"short_name":"sleuth_or_spy","short_names":["sleuth_or_spy"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":342,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F575-1F3FB","non_qualified":null,"image":"1f575-1f3fb.png","sheet_x":32,"sheet_y":26,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F575-1F3FC","non_qualified":null,"image":"1f575-1f3fc.png","sheet_x":32,"sheet_y":27,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F575-1F3FD","non_qualified":null,"image":"1f575-1f3fd.png","sheet_x":32,"sheet_y":28,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F575-1F3FE","non_qualified":null,"image":"1f575-1f3fe.png","sheet_x":32,"sheet_y":29,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F575-1F3FF","non_qualified":null,"image":"1f575-1f3ff.png","sheet_x":32,"sheet_y":30,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F575-FE0F-200D-2642-FE0F"},{"name":"SUNGLASSES","unified":"1F576-FE0F","non_qualified":"1F576","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f576-fe0f.png","sheet_x":32,"sheet_y":31,"short_name":"dark_sunglasses","short_names":["dark_sunglasses"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1161,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPIDER","unified":"1F577-FE0F","non_qualified":"1F577","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f577-fe0f.png","sheet_x":32,"sheet_y":32,"short_name":"spider","short_names":["spider"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bug","sort_order":689,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPIDER WEB","unified":"1F578-FE0F","non_qualified":"1F578","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f578-fe0f.png","sheet_x":32,"sheet_y":33,"short_name":"spider_web","short_names":["spider_web"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bug","sort_order":690,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"JOYSTICK","unified":"1F579-FE0F","non_qualified":"1F579","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f579-fe0f.png","sheet_x":32,"sheet_y":34,"short_name":"joystick","short_names":["joystick"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1137,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MAN DANCING","unified":"1F57A","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f57a.png","sheet_x":32,"sheet_y":35,"short_name":"man_dancing","short_names":["man_dancing"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":453,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F57A-1F3FB","non_qualified":null,"image":"1f57a-1f3fb.png","sheet_x":32,"sheet_y":36,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F57A-1F3FC","non_qualified":null,"image":"1f57a-1f3fc.png","sheet_x":32,"sheet_y":37,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F57A-1F3FD","non_qualified":null,"image":"1f57a-1f3fd.png","sheet_x":32,"sheet_y":38,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F57A-1F3FE","non_qualified":null,"image":"1f57a-1f3fe.png","sheet_x":32,"sheet_y":39,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F57A-1F3FF","non_qualified":null,"image":"1f57a-1f3ff.png","sheet_x":32,"sheet_y":40,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"LINKED PAPERCLIPS","unified":"1F587-FE0F","non_qualified":"1F587","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f587-fe0f.png","sheet_x":32,"sheet_y":41,"short_name":"linked_paperclips","short_names":["linked_paperclips"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1338,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PEN","unified":"1F58A-FE0F","non_qualified":"1F58A","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f58a-fe0f.png","sheet_x":32,"sheet_y":42,"short_name":"lower_left_ballpoint_pen","short_names":["lower_left_ballpoint_pen"],"text":null,"texts":null,"category":"Objects","subcategory":"writing","sort_order":1318,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FOUNTAIN PEN","unified":"1F58B-FE0F","non_qualified":"1F58B","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f58b-fe0f.png","sheet_x":32,"sheet_y":43,"short_name":"lower_left_fountain_pen","short_names":["lower_left_fountain_pen"],"text":null,"texts":null,"category":"Objects","subcategory":"writing","sort_order":1317,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PAINTBRUSH","unified":"1F58C-FE0F","non_qualified":"1F58C","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f58c-fe0f.png","sheet_x":32,"sheet_y":44,"short_name":"lower_left_paintbrush","short_names":["lower_left_paintbrush"],"text":null,"texts":null,"category":"Objects","subcategory":"writing","sort_order":1319,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CRAYON","unified":"1F58D-FE0F","non_qualified":"1F58D","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f58d-fe0f.png","sheet_x":32,"sheet_y":45,"short_name":"lower_left_crayon","short_names":["lower_left_crayon"],"text":null,"texts":null,"category":"Objects","subcategory":"writing","sort_order":1320,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HAND WITH FINGERS SPLAYED","unified":"1F590-FE0F","non_qualified":"1F590","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f590-fe0f.png","sheet_x":32,"sheet_y":46,"short_name":"raised_hand_with_fingers_splayed","short_names":["raised_hand_with_fingers_splayed"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-open","sort_order":174,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F590-1F3FB","non_qualified":null,"image":"1f590-1f3fb.png","sheet_x":32,"sheet_y":47,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F590-1F3FC","non_qualified":null,"image":"1f590-1f3fc.png","sheet_x":32,"sheet_y":48,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F590-1F3FD","non_qualified":null,"image":"1f590-1f3fd.png","sheet_x":32,"sheet_y":49,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F590-1F3FE","non_qualified":null,"image":"1f590-1f3fe.png","sheet_x":32,"sheet_y":50,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F590-1F3FF","non_qualified":null,"image":"1f590-1f3ff.png","sheet_x":32,"sheet_y":51,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"REVERSED HAND WITH MIDDLE FINGER EXTENDED","unified":"1F595","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f595.png","sheet_x":32,"sheet_y":52,"short_name":"middle_finger","short_names":["middle_finger","reversed_hand_with_middle_finger_extended"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-single-finger","sort_order":195,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F595-1F3FB","non_qualified":null,"image":"1f595-1f3fb.png","sheet_x":32,"sheet_y":53,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F595-1F3FC","non_qualified":null,"image":"1f595-1f3fc.png","sheet_x":32,"sheet_y":54,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F595-1F3FD","non_qualified":null,"image":"1f595-1f3fd.png","sheet_x":32,"sheet_y":55,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F595-1F3FE","non_qualified":null,"image":"1f595-1f3fe.png","sheet_x":32,"sheet_y":56,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F595-1F3FF","non_qualified":null,"image":"1f595-1f3ff.png","sheet_x":32,"sheet_y":57,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS","unified":"1F596","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f596.png","sheet_x":32,"sheet_y":58,"short_name":"spock-hand","short_names":["spock-hand"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-open","sort_order":176,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F596-1F3FB","non_qualified":null,"image":"1f596-1f3fb.png","sheet_x":32,"sheet_y":59,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F596-1F3FC","non_qualified":null,"image":"1f596-1f3fc.png","sheet_x":32,"sheet_y":60,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F596-1F3FD","non_qualified":null,"image":"1f596-1f3fd.png","sheet_x":32,"sheet_y":61,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F596-1F3FE","non_qualified":null,"image":"1f596-1f3fe.png","sheet_x":32,"sheet_y":62,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F596-1F3FF","non_qualified":null,"image":"1f596-1f3ff.png","sheet_x":33,"sheet_y":0,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"BLACK HEART","unified":"1F5A4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5a4.png","sheet_x":33,"sheet_y":1,"short_name":"black_heart","short_names":["black_heart"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":154,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DESKTOP COMPUTER","unified":"1F5A5-FE0F","non_qualified":"1F5A5","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5a5-fe0f.png","sheet_x":33,"sheet_y":2,"short_name":"desktop_computer","short_names":["desktop_computer"],"text":null,"texts":null,"category":"Objects","subcategory":"computer","sort_order":1248,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PRINTER","unified":"1F5A8-FE0F","non_qualified":"1F5A8","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5a8-fe0f.png","sheet_x":33,"sheet_y":3,"short_name":"printer","short_names":["printer"],"text":null,"texts":null,"category":"Objects","subcategory":"computer","sort_order":1249,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"COMPUTER MOUSE","unified":"1F5B1-FE0F","non_qualified":"1F5B1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5b1-fe0f.png","sheet_x":33,"sheet_y":4,"short_name":"three_button_mouse","short_names":["three_button_mouse"],"text":null,"texts":null,"category":"Objects","subcategory":"computer","sort_order":1251,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TRACKBALL","unified":"1F5B2-FE0F","non_qualified":"1F5B2","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5b2-fe0f.png","sheet_x":33,"sheet_y":5,"short_name":"trackball","short_names":["trackball"],"text":null,"texts":null,"category":"Objects","subcategory":"computer","sort_order":1252,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FRAMED PICTURE","unified":"1F5BC-FE0F","non_qualified":"1F5BC","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5bc-fe0f.png","sheet_x":33,"sheet_y":6,"short_name":"frame_with_picture","short_names":["frame_with_picture"],"text":null,"texts":null,"category":"Activities","subcategory":"arts & crafts","sort_order":1154,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CARD INDEX DIVIDERS","unified":"1F5C2-FE0F","non_qualified":"1F5C2","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5c2-fe0f.png","sheet_x":33,"sheet_y":7,"short_name":"card_index_dividers","short_names":["card_index_dividers"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1325,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CARD FILE BOX","unified":"1F5C3-FE0F","non_qualified":"1F5C3","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5c3-fe0f.png","sheet_x":33,"sheet_y":8,"short_name":"card_file_box","short_names":["card_file_box"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1342,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FILE CABINET","unified":"1F5C4-FE0F","non_qualified":"1F5C4","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5c4-fe0f.png","sheet_x":33,"sheet_y":9,"short_name":"file_cabinet","short_names":["file_cabinet"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1343,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WASTEBASKET","unified":"1F5D1-FE0F","non_qualified":"1F5D1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5d1-fe0f.png","sheet_x":33,"sheet_y":10,"short_name":"wastebasket","short_names":["wastebasket"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1344,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPIRAL NOTEPAD","unified":"1F5D2-FE0F","non_qualified":"1F5D2","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5d2-fe0f.png","sheet_x":33,"sheet_y":11,"short_name":"spiral_note_pad","short_names":["spiral_note_pad"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1328,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPIRAL CALENDAR","unified":"1F5D3-FE0F","non_qualified":"1F5D3","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5d3-fe0f.png","sheet_x":33,"sheet_y":12,"short_name":"spiral_calendar_pad","short_names":["spiral_calendar_pad"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1329,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLAMP","unified":"1F5DC-FE0F","non_qualified":"1F5DC","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5dc-fe0f.png","sheet_x":33,"sheet_y":13,"short_name":"compression","short_names":["compression"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1367,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"OLD KEY","unified":"1F5DD-FE0F","non_qualified":"1F5DD","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5dd-fe0f.png","sheet_x":33,"sheet_y":14,"short_name":"old_key","short_names":["old_key"],"text":null,"texts":null,"category":"Objects","subcategory":"lock","sort_order":1350,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ROLLED-UP NEWSPAPER","unified":"1F5DE-FE0F","non_qualified":"1F5DE","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5de-fe0f.png","sheet_x":33,"sheet_y":15,"short_name":"rolled_up_newspaper","short_names":["rolled_up_newspaper"],"text":null,"texts":null,"category":"Objects","subcategory":"book-paper","sort_order":1287,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DAGGER","unified":"1F5E1-FE0F","non_qualified":"1F5E1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5e1-fe0f.png","sheet_x":33,"sheet_y":16,"short_name":"dagger_knife","short_names":["dagger_knife"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1356,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPEAKING HEAD","unified":"1F5E3-FE0F","non_qualified":"1F5E3","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5e3-fe0f.png","sheet_x":33,"sheet_y":17,"short_name":"speaking_head_in_silhouette","short_names":["speaking_head_in_silhouette"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-symbol","sort_order":549,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LEFT SPEECH BUBBLE","unified":"1F5E8-FE0F","non_qualified":"1F5E8","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5e8-fe0f.png","sheet_x":33,"sheet_y":18,"short_name":"left_speech_bubble","short_names":["left_speech_bubble"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"emotion","sort_order":168,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RIGHT ANGER BUBBLE","unified":"1F5EF-FE0F","non_qualified":"1F5EF","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5ef-fe0f.png","sheet_x":33,"sheet_y":19,"short_name":"right_anger_bubble","short_names":["right_anger_bubble"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"emotion","sort_order":169,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BALLOT BOX WITH BALLOT","unified":"1F5F3-FE0F","non_qualified":"1F5F3","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5f3-fe0f.png","sheet_x":33,"sheet_y":20,"short_name":"ballot_box_with_ballot","short_names":["ballot_box_with_ballot"],"text":null,"texts":null,"category":"Objects","subcategory":"mail","sort_order":1314,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WORLD MAP","unified":"1F5FA-FE0F","non_qualified":"1F5FA","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f5fa-fe0f.png","sheet_x":33,"sheet_y":21,"short_name":"world_map","short_names":["world_map"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-map","sort_order":860,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MOUNT FUJI","unified":"1F5FB","non_qualified":null,"docomo":"E740","au":"E5BD","softbank":"E03B","google":"FE4C3","image":"1f5fb.png","sheet_x":33,"sheet_y":22,"short_name":"mount_fuji","short_names":["mount_fuji"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-geographic","sort_order":867,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TOKYO TOWER","unified":"1F5FC","non_qualified":null,"docomo":null,"au":"E4C0","softbank":"E509","google":"FE4C4","image":"1f5fc.png","sheet_x":33,"sheet_y":23,"short_name":"tokyo_tower","short_names":["tokyo_tower"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":898,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"STATUE OF LIBERTY","unified":"1F5FD","non_qualified":null,"docomo":null,"au":null,"softbank":"E51D","google":"FE4C6","image":"1f5fd.png","sheet_x":33,"sheet_y":24,"short_name":"statue_of_liberty","short_names":["statue_of_liberty"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":899,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SILHOUETTE OF JAPAN","unified":"1F5FE","non_qualified":null,"docomo":null,"au":"E572","softbank":null,"google":"FE4C7","image":"1f5fe.png","sheet_x":33,"sheet_y":25,"short_name":"japan","short_names":["japan"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-map","sort_order":861,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MOYAI","unified":"1F5FF","non_qualified":null,"docomo":null,"au":"EB6C","softbank":null,"google":"FE4C8","image":"1f5ff.png","sheet_x":33,"sheet_y":26,"short_name":"moyai","short_names":["moyai"],"text":null,"texts":null,"category":"Objects","subcategory":"other-object","sort_order":1423,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GRINNING FACE","unified":"1F600","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f600.png","sheet_x":33,"sheet_y":27,"short_name":"grinning","short_names":["grinning"],"text":":D","texts":null,"category":"Smileys & Emotion","subcategory":"face-smiling","sort_order":1,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GRINNING FACE WITH SMILING EYES","unified":"1F601","non_qualified":null,"docomo":"E753","au":"EB80","softbank":"E404","google":"FE333","image":"1f601.png","sheet_x":33,"sheet_y":28,"short_name":"grin","short_names":["grin"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-smiling","sort_order":4,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH TEARS OF JOY","unified":"1F602","non_qualified":null,"docomo":"E72A","au":"EB64","softbank":"E412","google":"FE334","image":"1f602.png","sheet_x":33,"sheet_y":29,"short_name":"joy","short_names":["joy"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-smiling","sort_order":8,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SMILING FACE WITH OPEN MOUTH","unified":"1F603","non_qualified":null,"docomo":"E6F0","au":"E471","softbank":"E057","google":"FE330","image":"1f603.png","sheet_x":33,"sheet_y":30,"short_name":"smiley","short_names":["smiley"],"text":":)","texts":["=)","=-)"],"category":"Smileys & Emotion","subcategory":"face-smiling","sort_order":2,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SMILING FACE WITH OPEN MOUTH AND SMILING EYES","unified":"1F604","non_qualified":null,"docomo":"E6F0","au":"E471","softbank":"E415","google":"FE338","image":"1f604.png","sheet_x":33,"sheet_y":31,"short_name":"smile","short_names":["smile"],"text":":)","texts":["C:","c:",":D",":-D"],"category":"Smileys & Emotion","subcategory":"face-smiling","sort_order":3,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SMILING FACE WITH OPEN MOUTH AND COLD SWEAT","unified":"1F605","non_qualified":null,"docomo":"E722","au":"E471-E5B1","softbank":null,"google":"FE331","image":"1f605.png","sheet_x":33,"sheet_y":32,"short_name":"sweat_smile","short_names":["sweat_smile"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-smiling","sort_order":6,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES","unified":"1F606","non_qualified":null,"docomo":"E72A","au":"EAC5","softbank":null,"google":"FE332","image":"1f606.png","sheet_x":33,"sheet_y":33,"short_name":"laughing","short_names":["laughing","satisfied"],"text":null,"texts":[":>",":->"],"category":"Smileys & Emotion","subcategory":"face-smiling","sort_order":5,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SMILING FACE WITH HALO","unified":"1F607","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f607.png","sheet_x":33,"sheet_y":34,"short_name":"innocent","short_names":["innocent"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-smiling","sort_order":14,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SMILING FACE WITH HORNS","unified":"1F608","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f608.png","sheet_x":33,"sheet_y":35,"short_name":"smiling_imp","short_names":["smiling_imp"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-negative","sort_order":108,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WINKING FACE","unified":"1F609","non_qualified":null,"docomo":"E729","au":"E5C3","softbank":"E405","google":"FE347","image":"1f609.png","sheet_x":33,"sheet_y":36,"short_name":"wink","short_names":["wink"],"text":";)","texts":[";)",";-)"],"category":"Smileys & Emotion","subcategory":"face-smiling","sort_order":12,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SMILING FACE WITH SMILING EYES","unified":"1F60A","non_qualified":null,"docomo":"E6F0","au":"EACD","softbank":"E056","google":"FE335","image":"1f60a.png","sheet_x":33,"sheet_y":37,"short_name":"blush","short_names":["blush"],"text":":)","texts":null,"category":"Smileys & Emotion","subcategory":"face-smiling","sort_order":13,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE SAVOURING DELICIOUS FOOD","unified":"1F60B","non_qualified":null,"docomo":"E752","au":"EACD","softbank":null,"google":"FE32B","image":"1f60b.png","sheet_x":33,"sheet_y":38,"short_name":"yum","short_names":["yum"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-tongue","sort_order":24,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RELIEVED FACE","unified":"1F60C","non_qualified":null,"docomo":"E721","au":"EAC5","softbank":"E40A","google":"FE33E","image":"1f60c.png","sheet_x":33,"sheet_y":39,"short_name":"relieved","short_names":["relieved"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-sleepy","sort_order":53,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SMILING FACE WITH HEART-SHAPED EYES","unified":"1F60D","non_qualified":null,"docomo":"E726","au":"E5C4","softbank":"E106","google":"FE327","image":"1f60d.png","sheet_x":33,"sheet_y":40,"short_name":"heart_eyes","short_names":["heart_eyes"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-affection","sort_order":16,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SMILING FACE WITH SUNGLASSES","unified":"1F60E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f60e.png","sheet_x":33,"sheet_y":41,"short_name":"sunglasses","short_names":["sunglasses"],"text":null,"texts":["8)"],"category":"Smileys & Emotion","subcategory":"face-glasses","sort_order":74,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SMIRKING FACE","unified":"1F60F","non_qualified":null,"docomo":"E72C","au":"EABF","softbank":"E402","google":"FE343","image":"1f60f.png","sheet_x":33,"sheet_y":42,"short_name":"smirk","short_names":["smirk"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-neutral-skeptical","sort_order":44,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NEUTRAL FACE","unified":"1F610","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f610.png","sheet_x":33,"sheet_y":43,"short_name":"neutral_face","short_names":["neutral_face"],"text":null,"texts":[":|",":-|"],"category":"Smileys & Emotion","subcategory":"face-neutral-skeptical","sort_order":39,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EXPRESSIONLESS FACE","unified":"1F611","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f611.png","sheet_x":33,"sheet_y":44,"short_name":"expressionless","short_names":["expressionless"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-neutral-skeptical","sort_order":40,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"UNAMUSED FACE","unified":"1F612","non_qualified":null,"docomo":"E725","au":"EAC9","softbank":"E40E","google":"FE326","image":"1f612.png","sheet_x":33,"sheet_y":45,"short_name":"unamused","short_names":["unamused"],"text":":(","texts":null,"category":"Smileys & Emotion","subcategory":"face-neutral-skeptical","sort_order":45,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH COLD SWEAT","unified":"1F613","non_qualified":null,"docomo":"E723","au":"E5C6","softbank":"E108","google":"FE344","image":"1f613.png","sheet_x":33,"sheet_y":46,"short_name":"sweat","short_names":["sweat"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":100,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PENSIVE FACE","unified":"1F614","non_qualified":null,"docomo":"E720","au":"EAC0","softbank":"E403","google":"FE340","image":"1f614.png","sheet_x":33,"sheet_y":47,"short_name":"pensive","short_names":["pensive"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-sleepy","sort_order":54,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CONFUSED FACE","unified":"1F615","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f615.png","sheet_x":33,"sheet_y":48,"short_name":"confused","short_names":["confused"],"text":null,"texts":[":\\",":-\\",":\/",":-\/"],"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":77,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CONFOUNDED FACE","unified":"1F616","non_qualified":null,"docomo":"E6F3","au":"EAC3","softbank":"E407","google":"FE33F","image":"1f616.png","sheet_x":33,"sheet_y":49,"short_name":"confounded","short_names":["confounded"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":97,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"KISSING FACE","unified":"1F617","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f617.png","sheet_x":33,"sheet_y":50,"short_name":"kissing","short_names":["kissing"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-affection","sort_order":19,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE THROWING A KISS","unified":"1F618","non_qualified":null,"docomo":"E726","au":"EACF","softbank":"E418","google":"FE32C","image":"1f618.png","sheet_x":33,"sheet_y":51,"short_name":"kissing_heart","short_names":["kissing_heart"],"text":null,"texts":[":*",":-*"],"category":"Smileys & Emotion","subcategory":"face-affection","sort_order":18,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"KISSING FACE WITH SMILING EYES","unified":"1F619","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f619.png","sheet_x":33,"sheet_y":52,"short_name":"kissing_smiling_eyes","short_names":["kissing_smiling_eyes"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-affection","sort_order":22,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"KISSING FACE WITH CLOSED EYES","unified":"1F61A","non_qualified":null,"docomo":"E726","au":"EACE","softbank":"E417","google":"FE32D","image":"1f61a.png","sheet_x":33,"sheet_y":53,"short_name":"kissing_closed_eyes","short_names":["kissing_closed_eyes"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-affection","sort_order":21,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH STUCK-OUT TONGUE","unified":"1F61B","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f61b.png","sheet_x":33,"sheet_y":54,"short_name":"stuck_out_tongue","short_names":["stuck_out_tongue"],"text":":p","texts":[":p",":-p",":P",":-P",":b",":-b"],"category":"Smileys & Emotion","subcategory":"face-tongue","sort_order":25,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH STUCK-OUT TONGUE AND WINKING EYE","unified":"1F61C","non_qualified":null,"docomo":"E728","au":"E4E7","softbank":"E105","google":"FE329","image":"1f61c.png","sheet_x":33,"sheet_y":55,"short_name":"stuck_out_tongue_winking_eye","short_names":["stuck_out_tongue_winking_eye"],"text":";p","texts":[";p",";-p",";b",";-b",";P",";-P"],"category":"Smileys & Emotion","subcategory":"face-tongue","sort_order":26,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES","unified":"1F61D","non_qualified":null,"docomo":"E728","au":"E4E7","softbank":"E409","google":"FE32A","image":"1f61d.png","sheet_x":33,"sheet_y":56,"short_name":"stuck_out_tongue_closed_eyes","short_names":["stuck_out_tongue_closed_eyes"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-tongue","sort_order":28,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DISAPPOINTED FACE","unified":"1F61E","non_qualified":null,"docomo":"E6F2","au":"EAC0","softbank":"E058","google":"FE323","image":"1f61e.png","sheet_x":33,"sheet_y":57,"short_name":"disappointed","short_names":["disappointed"],"text":":(","texts":["):",":(",":-("],"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":99,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WORRIED FACE","unified":"1F61F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f61f.png","sheet_x":33,"sheet_y":58,"short_name":"worried","short_names":["worried"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":79,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ANGRY FACE","unified":"1F620","non_qualified":null,"docomo":"E6F1","au":"E472","softbank":"E059","google":"FE320","image":"1f620.png","sheet_x":33,"sheet_y":59,"short_name":"angry","short_names":["angry"],"text":null,"texts":[">:(",">:-("],"category":"Smileys & Emotion","subcategory":"face-negative","sort_order":106,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"POUTING FACE","unified":"1F621","non_qualified":null,"docomo":"E724","au":"EB5D","softbank":"E416","google":"FE33D","image":"1f621.png","sheet_x":33,"sheet_y":60,"short_name":"rage","short_names":["rage"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-negative","sort_order":105,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CRYING FACE","unified":"1F622","non_qualified":null,"docomo":"E72E","au":"EB69","softbank":"E413","google":"FE339","image":"1f622.png","sheet_x":33,"sheet_y":61,"short_name":"cry","short_names":["cry"],"text":":'(","texts":[":'("],"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":94,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PERSEVERING FACE","unified":"1F623","non_qualified":null,"docomo":"E72B","au":"EAC2","softbank":"E406","google":"FE33C","image":"1f623.png","sheet_x":33,"sheet_y":62,"short_name":"persevere","short_names":["persevere"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":98,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH LOOK OF TRIUMPH","unified":"1F624","non_qualified":null,"docomo":"E753","au":"EAC1","softbank":null,"google":"FE328","image":"1f624.png","sheet_x":34,"sheet_y":0,"short_name":"triumph","short_names":["triumph"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-negative","sort_order":104,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DISAPPOINTED BUT RELIEVED FACE","unified":"1F625","non_qualified":null,"docomo":"E723","au":"E5C6","softbank":"E401","google":"FE345","image":"1f625.png","sheet_x":34,"sheet_y":1,"short_name":"disappointed_relieved","short_names":["disappointed_relieved"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":93,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FROWNING FACE WITH OPEN MOUTH","unified":"1F626","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f626.png","sheet_x":34,"sheet_y":2,"short_name":"frowning","short_names":["frowning"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":89,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ANGUISHED FACE","unified":"1F627","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f627.png","sheet_x":34,"sheet_y":3,"short_name":"anguished","short_names":["anguished"],"text":null,"texts":["D:"],"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":90,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FEARFUL FACE","unified":"1F628","non_qualified":null,"docomo":"E757","au":"EAC6","softbank":"E40B","google":"FE33B","image":"1f628.png","sheet_x":34,"sheet_y":4,"short_name":"fearful","short_names":["fearful"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":91,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WEARY FACE","unified":"1F629","non_qualified":null,"docomo":"E6F3","au":"EB67","softbank":null,"google":"FE321","image":"1f629.png","sheet_x":34,"sheet_y":5,"short_name":"weary","short_names":["weary"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":101,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SLEEPY FACE","unified":"1F62A","non_qualified":null,"docomo":"E701","au":"EAC4","softbank":"E408","google":"FE342","image":"1f62a.png","sheet_x":34,"sheet_y":6,"short_name":"sleepy","short_names":["sleepy"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-sleepy","sort_order":55,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TIRED FACE","unified":"1F62B","non_qualified":null,"docomo":"E72B","au":"E474","softbank":null,"google":"FE346","image":"1f62b.png","sheet_x":34,"sheet_y":7,"short_name":"tired_face","short_names":["tired_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":102,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GRIMACING FACE","unified":"1F62C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f62c.png","sheet_x":34,"sheet_y":8,"short_name":"grimacing","short_names":["grimacing"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-neutral-skeptical","sort_order":47,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LOUDLY CRYING FACE","unified":"1F62D","non_qualified":null,"docomo":"E72D","au":"E473","softbank":"E411","google":"FE33A","image":"1f62d.png","sheet_x":34,"sheet_y":9,"short_name":"sob","short_names":["sob"],"text":":'(","texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":95,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE EXHALING","unified":"1F62E-200D-1F4A8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f62e-200d-1f4a8.png","sheet_x":34,"sheet_y":10,"short_name":"face_exhaling","short_names":["face_exhaling"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-neutral-skeptical","sort_order":48,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH OPEN MOUTH","unified":"1F62E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f62e.png","sheet_x":34,"sheet_y":11,"short_name":"open_mouth","short_names":["open_mouth"],"text":null,"texts":[":o",":-o",":O",":-O"],"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":82,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HUSHED FACE","unified":"1F62F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f62f.png","sheet_x":34,"sheet_y":12,"short_name":"hushed","short_names":["hushed"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":83,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH OPEN MOUTH AND COLD SWEAT","unified":"1F630","non_qualified":null,"docomo":"E723","au":"EACB","softbank":"E40F","google":"FE325","image":"1f630.png","sheet_x":34,"sheet_y":13,"short_name":"cold_sweat","short_names":["cold_sweat"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":92,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE SCREAMING IN FEAR","unified":"1F631","non_qualified":null,"docomo":"E757","au":"E5C5","softbank":"E107","google":"FE341","image":"1f631.png","sheet_x":34,"sheet_y":14,"short_name":"scream","short_names":["scream"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":96,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ASTONISHED FACE","unified":"1F632","non_qualified":null,"docomo":"E6F4","au":"EACA","softbank":"E410","google":"FE322","image":"1f632.png","sheet_x":34,"sheet_y":15,"short_name":"astonished","short_names":["astonished"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":84,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FLUSHED FACE","unified":"1F633","non_qualified":null,"docomo":"E72A","au":"EAC8","softbank":"E40D","google":"FE32F","image":"1f633.png","sheet_x":34,"sheet_y":16,"short_name":"flushed","short_names":["flushed"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":85,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SLEEPING FACE","unified":"1F634","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f634.png","sheet_x":34,"sheet_y":17,"short_name":"sleeping","short_names":["sleeping"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-sleepy","sort_order":57,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH SPIRAL EYES","unified":"1F635-200D-1F4AB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f635-200d-1f4ab.png","sheet_x":34,"sheet_y":18,"short_name":"face_with_spiral_eyes","short_names":["face_with_spiral_eyes"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-unwell","sort_order":69,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DIZZY FACE","unified":"1F635","non_qualified":null,"docomo":"E6F4","au":"E5AE","softbank":null,"google":"FE324","image":"1f635.png","sheet_x":34,"sheet_y":19,"short_name":"dizzy_face","short_names":["dizzy_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-unwell","sort_order":68,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE IN CLOUDS","unified":"1F636-200D-1F32B-FE0F","non_qualified":"1F636-200D-1F32B","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f636-200d-1f32b-fe0f.png","sheet_x":34,"sheet_y":20,"short_name":"face_in_clouds","short_names":["face_in_clouds"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-neutral-skeptical","sort_order":43,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITHOUT MOUTH","unified":"1F636","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f636.png","sheet_x":34,"sheet_y":21,"short_name":"no_mouth","short_names":["no_mouth"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-neutral-skeptical","sort_order":41,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH MEDICAL MASK","unified":"1F637","non_qualified":null,"docomo":null,"au":"EAC7","softbank":"E40C","google":"FE32E","image":"1f637.png","sheet_x":34,"sheet_y":22,"short_name":"mask","short_names":["mask"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-unwell","sort_order":59,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GRINNING CAT FACE WITH SMILING EYES","unified":"1F638","non_qualified":null,"docomo":"E753","au":"EB7F","softbank":null,"google":"FE349","image":"1f638.png","sheet_x":34,"sheet_y":23,"short_name":"smile_cat","short_names":["smile_cat"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"cat-face","sort_order":121,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CAT FACE WITH TEARS OF JOY","unified":"1F639","non_qualified":null,"docomo":"E72A","au":"EB63","softbank":null,"google":"FE34A","image":"1f639.png","sheet_x":34,"sheet_y":24,"short_name":"joy_cat","short_names":["joy_cat"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"cat-face","sort_order":122,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SMILING CAT FACE WITH OPEN MOUTH","unified":"1F63A","non_qualified":null,"docomo":"E6F0","au":"EB61","softbank":null,"google":"FE348","image":"1f63a.png","sheet_x":34,"sheet_y":25,"short_name":"smiley_cat","short_names":["smiley_cat"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"cat-face","sort_order":120,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SMILING CAT FACE WITH HEART-SHAPED EYES","unified":"1F63B","non_qualified":null,"docomo":"E726","au":"EB65","softbank":null,"google":"FE34C","image":"1f63b.png","sheet_x":34,"sheet_y":26,"short_name":"heart_eyes_cat","short_names":["heart_eyes_cat"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"cat-face","sort_order":123,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CAT FACE WITH WRY SMILE","unified":"1F63C","non_qualified":null,"docomo":"E753","au":"EB6A","softbank":null,"google":"FE34F","image":"1f63c.png","sheet_x":34,"sheet_y":27,"short_name":"smirk_cat","short_names":["smirk_cat"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"cat-face","sort_order":124,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"KISSING CAT FACE WITH CLOSED EYES","unified":"1F63D","non_qualified":null,"docomo":"E726","au":"EB60","softbank":null,"google":"FE34B","image":"1f63d.png","sheet_x":34,"sheet_y":28,"short_name":"kissing_cat","short_names":["kissing_cat"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"cat-face","sort_order":125,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"POUTING CAT FACE","unified":"1F63E","non_qualified":null,"docomo":"E724","au":"EB5E","softbank":null,"google":"FE34E","image":"1f63e.png","sheet_x":34,"sheet_y":29,"short_name":"pouting_cat","short_names":["pouting_cat"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"cat-face","sort_order":128,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CRYING CAT FACE","unified":"1F63F","non_qualified":null,"docomo":"E72E","au":"EB68","softbank":null,"google":"FE34D","image":"1f63f.png","sheet_x":34,"sheet_y":30,"short_name":"crying_cat_face","short_names":["crying_cat_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"cat-face","sort_order":127,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WEARY CAT FACE","unified":"1F640","non_qualified":null,"docomo":"E6F3","au":"EB66","softbank":null,"google":"FE350","image":"1f640.png","sheet_x":34,"sheet_y":31,"short_name":"scream_cat","short_names":["scream_cat"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"cat-face","sort_order":126,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SLIGHTLY FROWNING FACE","unified":"1F641","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f641.png","sheet_x":34,"sheet_y":32,"short_name":"slightly_frowning_face","short_names":["slightly_frowning_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":80,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HEAD SHAKING HORIZONTALLY","unified":"1F642-200D-2194-FE0F","non_qualified":"1F642-200D-2194","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f642-200d-2194-fe0f.png","sheet_x":34,"sheet_y":33,"short_name":"head_shaking_horizontally","short_names":["head_shaking_horizontally"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-neutral-skeptical","sort_order":51,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"HEAD SHAKING VERTICALLY","unified":"1F642-200D-2195-FE0F","non_qualified":"1F642-200D-2195","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f642-200d-2195-fe0f.png","sheet_x":34,"sheet_y":34,"short_name":"head_shaking_vertically","short_names":["head_shaking_vertically"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-neutral-skeptical","sort_order":52,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"SLIGHTLY SMILING FACE","unified":"1F642","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f642.png","sheet_x":34,"sheet_y":35,"short_name":"slightly_smiling_face","short_names":["slightly_smiling_face"],"text":null,"texts":[":)","(:",":-)"],"category":"Smileys & Emotion","subcategory":"face-smiling","sort_order":9,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"UPSIDE-DOWN FACE","unified":"1F643","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f643.png","sheet_x":34,"sheet_y":36,"short_name":"upside_down_face","short_names":["upside_down_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-smiling","sort_order":10,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH ROLLING EYES","unified":"1F644","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f644.png","sheet_x":34,"sheet_y":37,"short_name":"face_with_rolling_eyes","short_names":["face_with_rolling_eyes"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-neutral-skeptical","sort_order":46,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WOMAN GESTURING NO","unified":"1F645-200D-2640-FE0F","non_qualified":"1F645-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f645-200d-2640-fe0f.png","sheet_x":34,"sheet_y":38,"short_name":"woman-gesturing-no","short_names":["woman-gesturing-no"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":269,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F645-1F3FB-200D-2640-FE0F","non_qualified":"1F645-1F3FB-200D-2640","image":"1f645-1f3fb-200d-2640-fe0f.png","sheet_x":34,"sheet_y":39,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F645-1F3FC-200D-2640-FE0F","non_qualified":"1F645-1F3FC-200D-2640","image":"1f645-1f3fc-200d-2640-fe0f.png","sheet_x":34,"sheet_y":40,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F645-1F3FD-200D-2640-FE0F","non_qualified":"1F645-1F3FD-200D-2640","image":"1f645-1f3fd-200d-2640-fe0f.png","sheet_x":34,"sheet_y":41,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F645-1F3FE-200D-2640-FE0F","non_qualified":"1F645-1F3FE-200D-2640","image":"1f645-1f3fe-200d-2640-fe0f.png","sheet_x":34,"sheet_y":42,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F645-1F3FF-200D-2640-FE0F","non_qualified":"1F645-1F3FF-200D-2640","image":"1f645-1f3ff-200d-2640-fe0f.png","sheet_x":34,"sheet_y":43,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F645"},{"name":"MAN GESTURING NO","unified":"1F645-200D-2642-FE0F","non_qualified":"1F645-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f645-200d-2642-fe0f.png","sheet_x":34,"sheet_y":44,"short_name":"man-gesturing-no","short_names":["man-gesturing-no"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":268,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F645-1F3FB-200D-2642-FE0F","non_qualified":"1F645-1F3FB-200D-2642","image":"1f645-1f3fb-200d-2642-fe0f.png","sheet_x":34,"sheet_y":45,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F645-1F3FC-200D-2642-FE0F","non_qualified":"1F645-1F3FC-200D-2642","image":"1f645-1f3fc-200d-2642-fe0f.png","sheet_x":34,"sheet_y":46,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F645-1F3FD-200D-2642-FE0F","non_qualified":"1F645-1F3FD-200D-2642","image":"1f645-1f3fd-200d-2642-fe0f.png","sheet_x":34,"sheet_y":47,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F645-1F3FE-200D-2642-FE0F","non_qualified":"1F645-1F3FE-200D-2642","image":"1f645-1f3fe-200d-2642-fe0f.png","sheet_x":34,"sheet_y":48,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F645-1F3FF-200D-2642-FE0F","non_qualified":"1F645-1F3FF-200D-2642","image":"1f645-1f3ff-200d-2642-fe0f.png","sheet_x":34,"sheet_y":49,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"FACE WITH NO GOOD GESTURE","unified":"1F645","non_qualified":null,"docomo":"E72F","au":"EAD7","softbank":"E423","google":"FE351","image":"1f645.png","sheet_x":34,"sheet_y":50,"short_name":"no_good","short_names":["no_good"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":267,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F645-1F3FB","non_qualified":null,"image":"1f645-1f3fb.png","sheet_x":34,"sheet_y":51,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F645-1F3FC","non_qualified":null,"image":"1f645-1f3fc.png","sheet_x":34,"sheet_y":52,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F645-1F3FD","non_qualified":null,"image":"1f645-1f3fd.png","sheet_x":34,"sheet_y":53,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F645-1F3FE","non_qualified":null,"image":"1f645-1f3fe.png","sheet_x":34,"sheet_y":54,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F645-1F3FF","non_qualified":null,"image":"1f645-1f3ff.png","sheet_x":34,"sheet_y":55,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F645-200D-2640-FE0F"},{"name":"WOMAN GESTURING OK","unified":"1F646-200D-2640-FE0F","non_qualified":"1F646-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f646-200d-2640-fe0f.png","sheet_x":34,"sheet_y":56,"short_name":"woman-gesturing-ok","short_names":["woman-gesturing-ok"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":272,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F646-1F3FB-200D-2640-FE0F","non_qualified":"1F646-1F3FB-200D-2640","image":"1f646-1f3fb-200d-2640-fe0f.png","sheet_x":34,"sheet_y":57,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F646-1F3FC-200D-2640-FE0F","non_qualified":"1F646-1F3FC-200D-2640","image":"1f646-1f3fc-200d-2640-fe0f.png","sheet_x":34,"sheet_y":58,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F646-1F3FD-200D-2640-FE0F","non_qualified":"1F646-1F3FD-200D-2640","image":"1f646-1f3fd-200d-2640-fe0f.png","sheet_x":34,"sheet_y":59,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F646-1F3FE-200D-2640-FE0F","non_qualified":"1F646-1F3FE-200D-2640","image":"1f646-1f3fe-200d-2640-fe0f.png","sheet_x":34,"sheet_y":60,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F646-1F3FF-200D-2640-FE0F","non_qualified":"1F646-1F3FF-200D-2640","image":"1f646-1f3ff-200d-2640-fe0f.png","sheet_x":34,"sheet_y":61,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F646"},{"name":"MAN GESTURING OK","unified":"1F646-200D-2642-FE0F","non_qualified":"1F646-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f646-200d-2642-fe0f.png","sheet_x":34,"sheet_y":62,"short_name":"man-gesturing-ok","short_names":["man-gesturing-ok"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":271,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F646-1F3FB-200D-2642-FE0F","non_qualified":"1F646-1F3FB-200D-2642","image":"1f646-1f3fb-200d-2642-fe0f.png","sheet_x":35,"sheet_y":0,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F646-1F3FC-200D-2642-FE0F","non_qualified":"1F646-1F3FC-200D-2642","image":"1f646-1f3fc-200d-2642-fe0f.png","sheet_x":35,"sheet_y":1,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F646-1F3FD-200D-2642-FE0F","non_qualified":"1F646-1F3FD-200D-2642","image":"1f646-1f3fd-200d-2642-fe0f.png","sheet_x":35,"sheet_y":2,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F646-1F3FE-200D-2642-FE0F","non_qualified":"1F646-1F3FE-200D-2642","image":"1f646-1f3fe-200d-2642-fe0f.png","sheet_x":35,"sheet_y":3,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F646-1F3FF-200D-2642-FE0F","non_qualified":"1F646-1F3FF-200D-2642","image":"1f646-1f3ff-200d-2642-fe0f.png","sheet_x":35,"sheet_y":4,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"FACE WITH OK GESTURE","unified":"1F646","non_qualified":null,"docomo":"E70B","au":"EAD8","softbank":"E424","google":"FE352","image":"1f646.png","sheet_x":35,"sheet_y":5,"short_name":"ok_woman","short_names":["ok_woman"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":270,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F646-1F3FB","non_qualified":null,"image":"1f646-1f3fb.png","sheet_x":35,"sheet_y":6,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F646-1F3FC","non_qualified":null,"image":"1f646-1f3fc.png","sheet_x":35,"sheet_y":7,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F646-1F3FD","non_qualified":null,"image":"1f646-1f3fd.png","sheet_x":35,"sheet_y":8,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F646-1F3FE","non_qualified":null,"image":"1f646-1f3fe.png","sheet_x":35,"sheet_y":9,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F646-1F3FF","non_qualified":null,"image":"1f646-1f3ff.png","sheet_x":35,"sheet_y":10,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F646-200D-2640-FE0F"},{"name":"WOMAN BOWING","unified":"1F647-200D-2640-FE0F","non_qualified":"1F647-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f647-200d-2640-fe0f.png","sheet_x":35,"sheet_y":11,"short_name":"woman-bowing","short_names":["woman-bowing"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":284,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F647-1F3FB-200D-2640-FE0F","non_qualified":"1F647-1F3FB-200D-2640","image":"1f647-1f3fb-200d-2640-fe0f.png","sheet_x":35,"sheet_y":12,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F647-1F3FC-200D-2640-FE0F","non_qualified":"1F647-1F3FC-200D-2640","image":"1f647-1f3fc-200d-2640-fe0f.png","sheet_x":35,"sheet_y":13,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F647-1F3FD-200D-2640-FE0F","non_qualified":"1F647-1F3FD-200D-2640","image":"1f647-1f3fd-200d-2640-fe0f.png","sheet_x":35,"sheet_y":14,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F647-1F3FE-200D-2640-FE0F","non_qualified":"1F647-1F3FE-200D-2640","image":"1f647-1f3fe-200d-2640-fe0f.png","sheet_x":35,"sheet_y":15,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F647-1F3FF-200D-2640-FE0F","non_qualified":"1F647-1F3FF-200D-2640","image":"1f647-1f3ff-200d-2640-fe0f.png","sheet_x":35,"sheet_y":16,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN BOWING","unified":"1F647-200D-2642-FE0F","non_qualified":"1F647-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f647-200d-2642-fe0f.png","sheet_x":35,"sheet_y":17,"short_name":"man-bowing","short_names":["man-bowing"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":283,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F647-1F3FB-200D-2642-FE0F","non_qualified":"1F647-1F3FB-200D-2642","image":"1f647-1f3fb-200d-2642-fe0f.png","sheet_x":35,"sheet_y":18,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F647-1F3FC-200D-2642-FE0F","non_qualified":"1F647-1F3FC-200D-2642","image":"1f647-1f3fc-200d-2642-fe0f.png","sheet_x":35,"sheet_y":19,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F647-1F3FD-200D-2642-FE0F","non_qualified":"1F647-1F3FD-200D-2642","image":"1f647-1f3fd-200d-2642-fe0f.png","sheet_x":35,"sheet_y":20,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F647-1F3FE-200D-2642-FE0F","non_qualified":"1F647-1F3FE-200D-2642","image":"1f647-1f3fe-200d-2642-fe0f.png","sheet_x":35,"sheet_y":21,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F647-1F3FF-200D-2642-FE0F","non_qualified":"1F647-1F3FF-200D-2642","image":"1f647-1f3ff-200d-2642-fe0f.png","sheet_x":35,"sheet_y":22,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PERSON BOWING DEEPLY","unified":"1F647","non_qualified":null,"docomo":null,"au":"EAD9","softbank":"E426","google":"FE353","image":"1f647.png","sheet_x":35,"sheet_y":23,"short_name":"bow","short_names":["bow"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":282,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F647-1F3FB","non_qualified":null,"image":"1f647-1f3fb.png","sheet_x":35,"sheet_y":24,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F647-1F3FC","non_qualified":null,"image":"1f647-1f3fc.png","sheet_x":35,"sheet_y":25,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F647-1F3FD","non_qualified":null,"image":"1f647-1f3fd.png","sheet_x":35,"sheet_y":26,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F647-1F3FE","non_qualified":null,"image":"1f647-1f3fe.png","sheet_x":35,"sheet_y":27,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F647-1F3FF","non_qualified":null,"image":"1f647-1f3ff.png","sheet_x":35,"sheet_y":28,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"SEE-NO-EVIL MONKEY","unified":"1F648","non_qualified":null,"docomo":null,"au":"EB50","softbank":null,"google":"FE354","image":"1f648.png","sheet_x":35,"sheet_y":29,"short_name":"see_no_evil","short_names":["see_no_evil"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"monkey-face","sort_order":129,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HEAR-NO-EVIL MONKEY","unified":"1F649","non_qualified":null,"docomo":null,"au":"EB52","softbank":null,"google":"FE356","image":"1f649.png","sheet_x":35,"sheet_y":30,"short_name":"hear_no_evil","short_names":["hear_no_evil"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"monkey-face","sort_order":130,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPEAK-NO-EVIL MONKEY","unified":"1F64A","non_qualified":null,"docomo":null,"au":"EB51","softbank":null,"google":"FE355","image":"1f64a.png","sheet_x":35,"sheet_y":31,"short_name":"speak_no_evil","short_names":["speak_no_evil"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"monkey-face","sort_order":131,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WOMAN RAISING HAND","unified":"1F64B-200D-2640-FE0F","non_qualified":"1F64B-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f64b-200d-2640-fe0f.png","sheet_x":35,"sheet_y":32,"short_name":"woman-raising-hand","short_names":["woman-raising-hand"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":278,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F64B-1F3FB-200D-2640-FE0F","non_qualified":"1F64B-1F3FB-200D-2640","image":"1f64b-1f3fb-200d-2640-fe0f.png","sheet_x":35,"sheet_y":33,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F64B-1F3FC-200D-2640-FE0F","non_qualified":"1F64B-1F3FC-200D-2640","image":"1f64b-1f3fc-200d-2640-fe0f.png","sheet_x":35,"sheet_y":34,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F64B-1F3FD-200D-2640-FE0F","non_qualified":"1F64B-1F3FD-200D-2640","image":"1f64b-1f3fd-200d-2640-fe0f.png","sheet_x":35,"sheet_y":35,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F64B-1F3FE-200D-2640-FE0F","non_qualified":"1F64B-1F3FE-200D-2640","image":"1f64b-1f3fe-200d-2640-fe0f.png","sheet_x":35,"sheet_y":36,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F64B-1F3FF-200D-2640-FE0F","non_qualified":"1F64B-1F3FF-200D-2640","image":"1f64b-1f3ff-200d-2640-fe0f.png","sheet_x":35,"sheet_y":37,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F64B"},{"name":"MAN RAISING HAND","unified":"1F64B-200D-2642-FE0F","non_qualified":"1F64B-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f64b-200d-2642-fe0f.png","sheet_x":35,"sheet_y":38,"short_name":"man-raising-hand","short_names":["man-raising-hand"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":277,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F64B-1F3FB-200D-2642-FE0F","non_qualified":"1F64B-1F3FB-200D-2642","image":"1f64b-1f3fb-200d-2642-fe0f.png","sheet_x":35,"sheet_y":39,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F64B-1F3FC-200D-2642-FE0F","non_qualified":"1F64B-1F3FC-200D-2642","image":"1f64b-1f3fc-200d-2642-fe0f.png","sheet_x":35,"sheet_y":40,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F64B-1F3FD-200D-2642-FE0F","non_qualified":"1F64B-1F3FD-200D-2642","image":"1f64b-1f3fd-200d-2642-fe0f.png","sheet_x":35,"sheet_y":41,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F64B-1F3FE-200D-2642-FE0F","non_qualified":"1F64B-1F3FE-200D-2642","image":"1f64b-1f3fe-200d-2642-fe0f.png","sheet_x":35,"sheet_y":42,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F64B-1F3FF-200D-2642-FE0F","non_qualified":"1F64B-1F3FF-200D-2642","image":"1f64b-1f3ff-200d-2642-fe0f.png","sheet_x":35,"sheet_y":43,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"HAPPY PERSON RAISING ONE HAND","unified":"1F64B","non_qualified":null,"docomo":null,"au":"EB85","softbank":null,"google":"FE357","image":"1f64b.png","sheet_x":35,"sheet_y":44,"short_name":"raising_hand","short_names":["raising_hand"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":276,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F64B-1F3FB","non_qualified":null,"image":"1f64b-1f3fb.png","sheet_x":35,"sheet_y":45,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F64B-1F3FC","non_qualified":null,"image":"1f64b-1f3fc.png","sheet_x":35,"sheet_y":46,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F64B-1F3FD","non_qualified":null,"image":"1f64b-1f3fd.png","sheet_x":35,"sheet_y":47,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F64B-1F3FE","non_qualified":null,"image":"1f64b-1f3fe.png","sheet_x":35,"sheet_y":48,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F64B-1F3FF","non_qualified":null,"image":"1f64b-1f3ff.png","sheet_x":35,"sheet_y":49,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F64B-200D-2640-FE0F"},{"name":"PERSON RAISING BOTH HANDS IN CELEBRATION","unified":"1F64C","non_qualified":null,"docomo":null,"au":"EB86","softbank":"E427","google":"FE358","image":"1f64c.png","sheet_x":35,"sheet_y":50,"short_name":"raised_hands","short_names":["raised_hands"],"text":null,"texts":null,"category":"People & Body","subcategory":"hands","sort_order":206,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F64C-1F3FB","non_qualified":null,"image":"1f64c-1f3fb.png","sheet_x":35,"sheet_y":51,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F64C-1F3FC","non_qualified":null,"image":"1f64c-1f3fc.png","sheet_x":35,"sheet_y":52,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F64C-1F3FD","non_qualified":null,"image":"1f64c-1f3fd.png","sheet_x":35,"sheet_y":53,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F64C-1F3FE","non_qualified":null,"image":"1f64c-1f3fe.png","sheet_x":35,"sheet_y":54,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F64C-1F3FF","non_qualified":null,"image":"1f64c-1f3ff.png","sheet_x":35,"sheet_y":55,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN FROWNING","unified":"1F64D-200D-2640-FE0F","non_qualified":"1F64D-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f64d-200d-2640-fe0f.png","sheet_x":35,"sheet_y":56,"short_name":"woman-frowning","short_names":["woman-frowning"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":263,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F64D-1F3FB-200D-2640-FE0F","non_qualified":"1F64D-1F3FB-200D-2640","image":"1f64d-1f3fb-200d-2640-fe0f.png","sheet_x":35,"sheet_y":57,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F64D-1F3FC-200D-2640-FE0F","non_qualified":"1F64D-1F3FC-200D-2640","image":"1f64d-1f3fc-200d-2640-fe0f.png","sheet_x":35,"sheet_y":58,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F64D-1F3FD-200D-2640-FE0F","non_qualified":"1F64D-1F3FD-200D-2640","image":"1f64d-1f3fd-200d-2640-fe0f.png","sheet_x":35,"sheet_y":59,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F64D-1F3FE-200D-2640-FE0F","non_qualified":"1F64D-1F3FE-200D-2640","image":"1f64d-1f3fe-200d-2640-fe0f.png","sheet_x":35,"sheet_y":60,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F64D-1F3FF-200D-2640-FE0F","non_qualified":"1F64D-1F3FF-200D-2640","image":"1f64d-1f3ff-200d-2640-fe0f.png","sheet_x":35,"sheet_y":61,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F64D"},{"name":"MAN FROWNING","unified":"1F64D-200D-2642-FE0F","non_qualified":"1F64D-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f64d-200d-2642-fe0f.png","sheet_x":35,"sheet_y":62,"short_name":"man-frowning","short_names":["man-frowning"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":262,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F64D-1F3FB-200D-2642-FE0F","non_qualified":"1F64D-1F3FB-200D-2642","image":"1f64d-1f3fb-200d-2642-fe0f.png","sheet_x":36,"sheet_y":0,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F64D-1F3FC-200D-2642-FE0F","non_qualified":"1F64D-1F3FC-200D-2642","image":"1f64d-1f3fc-200d-2642-fe0f.png","sheet_x":36,"sheet_y":1,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F64D-1F3FD-200D-2642-FE0F","non_qualified":"1F64D-1F3FD-200D-2642","image":"1f64d-1f3fd-200d-2642-fe0f.png","sheet_x":36,"sheet_y":2,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F64D-1F3FE-200D-2642-FE0F","non_qualified":"1F64D-1F3FE-200D-2642","image":"1f64d-1f3fe-200d-2642-fe0f.png","sheet_x":36,"sheet_y":3,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F64D-1F3FF-200D-2642-FE0F","non_qualified":"1F64D-1F3FF-200D-2642","image":"1f64d-1f3ff-200d-2642-fe0f.png","sheet_x":36,"sheet_y":4,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PERSON FROWNING","unified":"1F64D","non_qualified":null,"docomo":"E6F3","au":"EB87","softbank":null,"google":"FE359","image":"1f64d.png","sheet_x":36,"sheet_y":5,"short_name":"person_frowning","short_names":["person_frowning"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":261,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F64D-1F3FB","non_qualified":null,"image":"1f64d-1f3fb.png","sheet_x":36,"sheet_y":6,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F64D-1F3FC","non_qualified":null,"image":"1f64d-1f3fc.png","sheet_x":36,"sheet_y":7,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F64D-1F3FD","non_qualified":null,"image":"1f64d-1f3fd.png","sheet_x":36,"sheet_y":8,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F64D-1F3FE","non_qualified":null,"image":"1f64d-1f3fe.png","sheet_x":36,"sheet_y":9,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F64D-1F3FF","non_qualified":null,"image":"1f64d-1f3ff.png","sheet_x":36,"sheet_y":10,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F64D-200D-2640-FE0F"},{"name":"WOMAN POUTING","unified":"1F64E-200D-2640-FE0F","non_qualified":"1F64E-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f64e-200d-2640-fe0f.png","sheet_x":36,"sheet_y":11,"short_name":"woman-pouting","short_names":["woman-pouting"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":266,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F64E-1F3FB-200D-2640-FE0F","non_qualified":"1F64E-1F3FB-200D-2640","image":"1f64e-1f3fb-200d-2640-fe0f.png","sheet_x":36,"sheet_y":12,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F64E-1F3FC-200D-2640-FE0F","non_qualified":"1F64E-1F3FC-200D-2640","image":"1f64e-1f3fc-200d-2640-fe0f.png","sheet_x":36,"sheet_y":13,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F64E-1F3FD-200D-2640-FE0F","non_qualified":"1F64E-1F3FD-200D-2640","image":"1f64e-1f3fd-200d-2640-fe0f.png","sheet_x":36,"sheet_y":14,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F64E-1F3FE-200D-2640-FE0F","non_qualified":"1F64E-1F3FE-200D-2640","image":"1f64e-1f3fe-200d-2640-fe0f.png","sheet_x":36,"sheet_y":15,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F64E-1F3FF-200D-2640-FE0F","non_qualified":"1F64E-1F3FF-200D-2640","image":"1f64e-1f3ff-200d-2640-fe0f.png","sheet_x":36,"sheet_y":16,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F64E"},{"name":"MAN POUTING","unified":"1F64E-200D-2642-FE0F","non_qualified":"1F64E-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f64e-200d-2642-fe0f.png","sheet_x":36,"sheet_y":17,"short_name":"man-pouting","short_names":["man-pouting"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":265,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F64E-1F3FB-200D-2642-FE0F","non_qualified":"1F64E-1F3FB-200D-2642","image":"1f64e-1f3fb-200d-2642-fe0f.png","sheet_x":36,"sheet_y":18,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F64E-1F3FC-200D-2642-FE0F","non_qualified":"1F64E-1F3FC-200D-2642","image":"1f64e-1f3fc-200d-2642-fe0f.png","sheet_x":36,"sheet_y":19,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F64E-1F3FD-200D-2642-FE0F","non_qualified":"1F64E-1F3FD-200D-2642","image":"1f64e-1f3fd-200d-2642-fe0f.png","sheet_x":36,"sheet_y":20,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F64E-1F3FE-200D-2642-FE0F","non_qualified":"1F64E-1F3FE-200D-2642","image":"1f64e-1f3fe-200d-2642-fe0f.png","sheet_x":36,"sheet_y":21,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F64E-1F3FF-200D-2642-FE0F","non_qualified":"1F64E-1F3FF-200D-2642","image":"1f64e-1f3ff-200d-2642-fe0f.png","sheet_x":36,"sheet_y":22,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PERSON WITH POUTING FACE","unified":"1F64E","non_qualified":null,"docomo":"E6F1","au":"EB88","softbank":null,"google":"FE35A","image":"1f64e.png","sheet_x":36,"sheet_y":23,"short_name":"person_with_pouting_face","short_names":["person_with_pouting_face"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":264,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F64E-1F3FB","non_qualified":null,"image":"1f64e-1f3fb.png","sheet_x":36,"sheet_y":24,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F64E-1F3FC","non_qualified":null,"image":"1f64e-1f3fc.png","sheet_x":36,"sheet_y":25,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F64E-1F3FD","non_qualified":null,"image":"1f64e-1f3fd.png","sheet_x":36,"sheet_y":26,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F64E-1F3FE","non_qualified":null,"image":"1f64e-1f3fe.png","sheet_x":36,"sheet_y":27,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F64E-1F3FF","non_qualified":null,"image":"1f64e-1f3ff.png","sheet_x":36,"sheet_y":28,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F64E-200D-2640-FE0F"},{"name":"PERSON WITH FOLDED HANDS","unified":"1F64F","non_qualified":null,"docomo":null,"au":"EAD2","softbank":"E41D","google":"FE35B","image":"1f64f.png","sheet_x":36,"sheet_y":29,"short_name":"pray","short_names":["pray"],"text":null,"texts":null,"category":"People & Body","subcategory":"hands","sort_order":211,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F64F-1F3FB","non_qualified":null,"image":"1f64f-1f3fb.png","sheet_x":36,"sheet_y":30,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F64F-1F3FC","non_qualified":null,"image":"1f64f-1f3fc.png","sheet_x":36,"sheet_y":31,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F64F-1F3FD","non_qualified":null,"image":"1f64f-1f3fd.png","sheet_x":36,"sheet_y":32,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F64F-1F3FE","non_qualified":null,"image":"1f64f-1f3fe.png","sheet_x":36,"sheet_y":33,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F64F-1F3FF","non_qualified":null,"image":"1f64f-1f3ff.png","sheet_x":36,"sheet_y":34,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"ROCKET","unified":"1F680","non_qualified":null,"docomo":null,"au":"E5C8","softbank":"E10D","google":"FE7ED","image":"1f680.png","sheet_x":36,"sheet_y":35,"short_name":"rocket","short_names":["rocket"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-air","sort_order":993,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HELICOPTER","unified":"1F681","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f681.png","sheet_x":36,"sheet_y":36,"short_name":"helicopter","short_names":["helicopter"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-air","sort_order":988,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"STEAM LOCOMOTIVE","unified":"1F682","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f682.png","sheet_x":36,"sheet_y":37,"short_name":"steam_locomotive","short_names":["steam_locomotive"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":923,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RAILWAY CAR","unified":"1F683","non_qualified":null,"docomo":"E65B","au":"E4B5","softbank":"E01E","google":"FE7DF","image":"1f683.png","sheet_x":36,"sheet_y":38,"short_name":"railway_car","short_names":["railway_car"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":924,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HIGH-SPEED TRAIN","unified":"1F684","non_qualified":null,"docomo":"E65D","au":"E4B0","softbank":"E435","google":"FE7E2","image":"1f684.png","sheet_x":36,"sheet_y":39,"short_name":"bullettrain_side","short_names":["bullettrain_side"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":925,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HIGH-SPEED TRAIN WITH BULLET NOSE","unified":"1F685","non_qualified":null,"docomo":"E65D","au":"E4B0","softbank":"E01F","google":"FE7E3","image":"1f685.png","sheet_x":36,"sheet_y":40,"short_name":"bullettrain_front","short_names":["bullettrain_front"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":926,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TRAIN","unified":"1F686","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f686.png","sheet_x":36,"sheet_y":41,"short_name":"train2","short_names":["train2"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":927,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"METRO","unified":"1F687","non_qualified":null,"docomo":"E65C","au":"E5BC","softbank":"E434","google":"FE7E0","image":"1f687.png","sheet_x":36,"sheet_y":42,"short_name":"metro","short_names":["metro"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":928,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LIGHT RAIL","unified":"1F688","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f688.png","sheet_x":36,"sheet_y":43,"short_name":"light_rail","short_names":["light_rail"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":929,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"STATION","unified":"1F689","non_qualified":null,"docomo":null,"au":"EB6D","softbank":"E039","google":"FE7EC","image":"1f689.png","sheet_x":36,"sheet_y":44,"short_name":"station","short_names":["station"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":930,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TRAM","unified":"1F68A","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f68a.png","sheet_x":36,"sheet_y":45,"short_name":"tram","short_names":["tram"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":931,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TRAM CAR","unified":"1F68B","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f68b.png","sheet_x":36,"sheet_y":46,"short_name":"train","short_names":["train"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":934,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BUS","unified":"1F68C","non_qualified":null,"docomo":"E660","au":"E4AF","softbank":"E159","google":"FE7E6","image":"1f68c.png","sheet_x":36,"sheet_y":47,"short_name":"bus","short_names":["bus"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":935,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ONCOMING BUS","unified":"1F68D","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f68d.png","sheet_x":36,"sheet_y":48,"short_name":"oncoming_bus","short_names":["oncoming_bus"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":936,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TROLLEYBUS","unified":"1F68E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f68e.png","sheet_x":36,"sheet_y":49,"short_name":"trolleybus","short_names":["trolleybus"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":937,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BUS STOP","unified":"1F68F","non_qualified":null,"docomo":null,"au":"E4A7","softbank":"E150","google":"FE7E7","image":"1f68f.png","sheet_x":36,"sheet_y":50,"short_name":"busstop","short_names":["busstop"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":962,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MINIBUS","unified":"1F690","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f690.png","sheet_x":36,"sheet_y":51,"short_name":"minibus","short_names":["minibus"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":938,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"AMBULANCE","unified":"1F691","non_qualified":null,"docomo":null,"au":"EAE0","softbank":"E431","google":"FE7F3","image":"1f691.png","sheet_x":36,"sheet_y":52,"short_name":"ambulance","short_names":["ambulance"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":939,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FIRE ENGINE","unified":"1F692","non_qualified":null,"docomo":null,"au":"EADF","softbank":"E430","google":"FE7F2","image":"1f692.png","sheet_x":36,"sheet_y":53,"short_name":"fire_engine","short_names":["fire_engine"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":940,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"POLICE CAR","unified":"1F693","non_qualified":null,"docomo":null,"au":"EAE1","softbank":"E432","google":"FE7F4","image":"1f693.png","sheet_x":36,"sheet_y":54,"short_name":"police_car","short_names":["police_car"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":941,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ONCOMING POLICE CAR","unified":"1F694","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f694.png","sheet_x":36,"sheet_y":55,"short_name":"oncoming_police_car","short_names":["oncoming_police_car"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":942,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TAXI","unified":"1F695","non_qualified":null,"docomo":"E65E","au":"E4B1","softbank":"E15A","google":"FE7EF","image":"1f695.png","sheet_x":36,"sheet_y":56,"short_name":"taxi","short_names":["taxi"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":943,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ONCOMING TAXI","unified":"1F696","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f696.png","sheet_x":36,"sheet_y":57,"short_name":"oncoming_taxi","short_names":["oncoming_taxi"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":944,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"AUTOMOBILE","unified":"1F697","non_qualified":null,"docomo":"E65E","au":"E4B1","softbank":"E01B","google":"FE7E4","image":"1f697.png","sheet_x":36,"sheet_y":58,"short_name":"car","short_names":["car","red_car"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":945,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ONCOMING AUTOMOBILE","unified":"1F698","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f698.png","sheet_x":36,"sheet_y":59,"short_name":"oncoming_automobile","short_names":["oncoming_automobile"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":946,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RECREATIONAL VEHICLE","unified":"1F699","non_qualified":null,"docomo":"E65F","au":"E4B1","softbank":"E42E","google":"FE7E5","image":"1f699.png","sheet_x":36,"sheet_y":60,"short_name":"blue_car","short_names":["blue_car"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":947,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DELIVERY TRUCK","unified":"1F69A","non_qualified":null,"docomo":null,"au":"E4B2","softbank":"E42F","google":"FE7F1","image":"1f69a.png","sheet_x":36,"sheet_y":61,"short_name":"truck","short_names":["truck"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":949,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ARTICULATED LORRY","unified":"1F69B","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f69b.png","sheet_x":36,"sheet_y":62,"short_name":"articulated_lorry","short_names":["articulated_lorry"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":950,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TRACTOR","unified":"1F69C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f69c.png","sheet_x":37,"sheet_y":0,"short_name":"tractor","short_names":["tractor"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":951,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MONORAIL","unified":"1F69D","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f69d.png","sheet_x":37,"sheet_y":1,"short_name":"monorail","short_names":["monorail"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":932,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MOUNTAIN RAILWAY","unified":"1F69E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f69e.png","sheet_x":37,"sheet_y":2,"short_name":"mountain_railway","short_names":["mountain_railway"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":933,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SUSPENSION RAILWAY","unified":"1F69F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f69f.png","sheet_x":37,"sheet_y":3,"short_name":"suspension_railway","short_names":["suspension_railway"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-air","sort_order":989,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MOUNTAIN CABLEWAY","unified":"1F6A0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6a0.png","sheet_x":37,"sheet_y":4,"short_name":"mountain_cableway","short_names":["mountain_cableway"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-air","sort_order":990,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"AERIAL TRAMWAY","unified":"1F6A1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6a1.png","sheet_x":37,"sheet_y":5,"short_name":"aerial_tramway","short_names":["aerial_tramway"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-air","sort_order":991,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SHIP","unified":"1F6A2","non_qualified":null,"docomo":"E661","au":"EA82","softbank":"E202","google":"FE7E8","image":"1f6a2.png","sheet_x":37,"sheet_y":6,"short_name":"ship","short_names":["ship"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-water","sort_order":981,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WOMAN ROWING BOAT","unified":"1F6A3-200D-2640-FE0F","non_qualified":"1F6A3-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6a3-200d-2640-fe0f.png","sheet_x":37,"sheet_y":7,"short_name":"woman-rowing-boat","short_names":["woman-rowing-boat"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":476,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F6A3-1F3FB-200D-2640-FE0F","non_qualified":"1F6A3-1F3FB-200D-2640","image":"1f6a3-1f3fb-200d-2640-fe0f.png","sheet_x":37,"sheet_y":8,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F6A3-1F3FC-200D-2640-FE0F","non_qualified":"1F6A3-1F3FC-200D-2640","image":"1f6a3-1f3fc-200d-2640-fe0f.png","sheet_x":37,"sheet_y":9,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F6A3-1F3FD-200D-2640-FE0F","non_qualified":"1F6A3-1F3FD-200D-2640","image":"1f6a3-1f3fd-200d-2640-fe0f.png","sheet_x":37,"sheet_y":10,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F6A3-1F3FE-200D-2640-FE0F","non_qualified":"1F6A3-1F3FE-200D-2640","image":"1f6a3-1f3fe-200d-2640-fe0f.png","sheet_x":37,"sheet_y":11,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F6A3-1F3FF-200D-2640-FE0F","non_qualified":"1F6A3-1F3FF-200D-2640","image":"1f6a3-1f3ff-200d-2640-fe0f.png","sheet_x":37,"sheet_y":12,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN ROWING BOAT","unified":"1F6A3-200D-2642-FE0F","non_qualified":"1F6A3-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6a3-200d-2642-fe0f.png","sheet_x":37,"sheet_y":13,"short_name":"man-rowing-boat","short_names":["man-rowing-boat"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":475,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F6A3-1F3FB-200D-2642-FE0F","non_qualified":"1F6A3-1F3FB-200D-2642","image":"1f6a3-1f3fb-200d-2642-fe0f.png","sheet_x":37,"sheet_y":14,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F6A3-1F3FC-200D-2642-FE0F","non_qualified":"1F6A3-1F3FC-200D-2642","image":"1f6a3-1f3fc-200d-2642-fe0f.png","sheet_x":37,"sheet_y":15,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F6A3-1F3FD-200D-2642-FE0F","non_qualified":"1F6A3-1F3FD-200D-2642","image":"1f6a3-1f3fd-200d-2642-fe0f.png","sheet_x":37,"sheet_y":16,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F6A3-1F3FE-200D-2642-FE0F","non_qualified":"1F6A3-1F3FE-200D-2642","image":"1f6a3-1f3fe-200d-2642-fe0f.png","sheet_x":37,"sheet_y":17,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F6A3-1F3FF-200D-2642-FE0F","non_qualified":"1F6A3-1F3FF-200D-2642","image":"1f6a3-1f3ff-200d-2642-fe0f.png","sheet_x":37,"sheet_y":18,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F6A3"},{"name":"ROWBOAT","unified":"1F6A3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6a3.png","sheet_x":37,"sheet_y":19,"short_name":"rowboat","short_names":["rowboat"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":474,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F6A3-1F3FB","non_qualified":null,"image":"1f6a3-1f3fb.png","sheet_x":37,"sheet_y":20,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F6A3-1F3FC","non_qualified":null,"image":"1f6a3-1f3fc.png","sheet_x":37,"sheet_y":21,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F6A3-1F3FD","non_qualified":null,"image":"1f6a3-1f3fd.png","sheet_x":37,"sheet_y":22,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F6A3-1F3FE","non_qualified":null,"image":"1f6a3-1f3fe.png","sheet_x":37,"sheet_y":23,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F6A3-1F3FF","non_qualified":null,"image":"1f6a3-1f3ff.png","sheet_x":37,"sheet_y":24,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F6A3-200D-2642-FE0F"},{"name":"SPEEDBOAT","unified":"1F6A4","non_qualified":null,"docomo":"E6A3","au":"E4B4","softbank":"E135","google":"FE7EE","image":"1f6a4.png","sheet_x":37,"sheet_y":25,"short_name":"speedboat","short_names":["speedboat"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-water","sort_order":977,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HORIZONTAL TRAFFIC LIGHT","unified":"1F6A5","non_qualified":null,"docomo":"E66D","au":"E46A","softbank":"E14E","google":"FE7F7","image":"1f6a5.png","sheet_x":37,"sheet_y":26,"short_name":"traffic_light","short_names":["traffic_light"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":969,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"VERTICAL TRAFFIC LIGHT","unified":"1F6A6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6a6.png","sheet_x":37,"sheet_y":27,"short_name":"vertical_traffic_light","short_names":["vertical_traffic_light"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":970,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CONSTRUCTION SIGN","unified":"1F6A7","non_qualified":null,"docomo":null,"au":"E5D7","softbank":"E137","google":"FE7F8","image":"1f6a7.png","sheet_x":37,"sheet_y":28,"short_name":"construction","short_names":["construction"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":972,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"POLICE CARS REVOLVING LIGHT","unified":"1F6A8","non_qualified":null,"docomo":null,"au":"EB73","softbank":null,"google":"FE7F9","image":"1f6a8.png","sheet_x":37,"sheet_y":29,"short_name":"rotating_light","short_names":["rotating_light"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":968,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TRIANGULAR FLAG ON POST","unified":"1F6A9","non_qualified":null,"docomo":"E6DE","au":"EB2C","softbank":null,"google":"FEB22","image":"1f6a9.png","sheet_x":37,"sheet_y":30,"short_name":"triangular_flag_on_post","short_names":["triangular_flag_on_post"],"text":null,"texts":null,"category":"Flags","subcategory":"flag","sort_order":1651,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DOOR","unified":"1F6AA","non_qualified":null,"docomo":"E714","au":null,"softbank":null,"google":"FE4F3","image":"1f6aa.png","sheet_x":37,"sheet_y":31,"short_name":"door","short_names":["door"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1392,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NO ENTRY SIGN","unified":"1F6AB","non_qualified":null,"docomo":"E738","au":"E541","softbank":null,"google":"FEB48","image":"1f6ab.png","sheet_x":37,"sheet_y":32,"short_name":"no_entry_sign","short_names":["no_entry_sign"],"text":null,"texts":null,"category":"Symbols","subcategory":"warning","sort_order":1442,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SMOKING SYMBOL","unified":"1F6AC","non_qualified":null,"docomo":"E67F","au":"E47D","softbank":"E30E","google":"FEB1E","image":"1f6ac.png","sheet_x":37,"sheet_y":33,"short_name":"smoking","short_names":["smoking"],"text":null,"texts":null,"category":"Objects","subcategory":"other-object","sort_order":1417,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NO SMOKING SYMBOL","unified":"1F6AD","non_qualified":null,"docomo":"E680","au":"E47E","softbank":"E208","google":"FEB1F","image":"1f6ad.png","sheet_x":37,"sheet_y":34,"short_name":"no_smoking","short_names":["no_smoking"],"text":null,"texts":null,"category":"Symbols","subcategory":"warning","sort_order":1444,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PUT LITTER IN ITS PLACE SYMBOL","unified":"1F6AE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6ae.png","sheet_x":37,"sheet_y":35,"short_name":"put_litter_in_its_place","short_names":["put_litter_in_its_place"],"text":null,"texts":null,"category":"Symbols","subcategory":"transport-sign","sort_order":1427,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DO NOT LITTER SYMBOL","unified":"1F6AF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6af.png","sheet_x":37,"sheet_y":36,"short_name":"do_not_litter","short_names":["do_not_litter"],"text":null,"texts":null,"category":"Symbols","subcategory":"warning","sort_order":1445,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"POTABLE WATER SYMBOL","unified":"1F6B0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6b0.png","sheet_x":37,"sheet_y":37,"short_name":"potable_water","short_names":["potable_water"],"text":null,"texts":null,"category":"Symbols","subcategory":"transport-sign","sort_order":1428,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NON-POTABLE WATER SYMBOL","unified":"1F6B1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6b1.png","sheet_x":37,"sheet_y":38,"short_name":"non-potable_water","short_names":["non-potable_water"],"text":null,"texts":null,"category":"Symbols","subcategory":"warning","sort_order":1446,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BICYCLE","unified":"1F6B2","non_qualified":null,"docomo":"E71D","au":"E4AE","softbank":"E136","google":"FE7EB","image":"1f6b2.png","sheet_x":37,"sheet_y":39,"short_name":"bike","short_names":["bike"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":958,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NO BICYCLES","unified":"1F6B3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6b3.png","sheet_x":37,"sheet_y":40,"short_name":"no_bicycles","short_names":["no_bicycles"],"text":null,"texts":null,"category":"Symbols","subcategory":"warning","sort_order":1443,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WOMAN BIKING","unified":"1F6B4-200D-2640-FE0F","non_qualified":"1F6B4-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6b4-200d-2640-fe0f.png","sheet_x":37,"sheet_y":41,"short_name":"woman-biking","short_names":["woman-biking"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":488,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F6B4-1F3FB-200D-2640-FE0F","non_qualified":"1F6B4-1F3FB-200D-2640","image":"1f6b4-1f3fb-200d-2640-fe0f.png","sheet_x":37,"sheet_y":42,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F6B4-1F3FC-200D-2640-FE0F","non_qualified":"1F6B4-1F3FC-200D-2640","image":"1f6b4-1f3fc-200d-2640-fe0f.png","sheet_x":37,"sheet_y":43,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F6B4-1F3FD-200D-2640-FE0F","non_qualified":"1F6B4-1F3FD-200D-2640","image":"1f6b4-1f3fd-200d-2640-fe0f.png","sheet_x":37,"sheet_y":44,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F6B4-1F3FE-200D-2640-FE0F","non_qualified":"1F6B4-1F3FE-200D-2640","image":"1f6b4-1f3fe-200d-2640-fe0f.png","sheet_x":37,"sheet_y":45,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F6B4-1F3FF-200D-2640-FE0F","non_qualified":"1F6B4-1F3FF-200D-2640","image":"1f6b4-1f3ff-200d-2640-fe0f.png","sheet_x":37,"sheet_y":46,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN BIKING","unified":"1F6B4-200D-2642-FE0F","non_qualified":"1F6B4-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6b4-200d-2642-fe0f.png","sheet_x":37,"sheet_y":47,"short_name":"man-biking","short_names":["man-biking"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":487,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F6B4-1F3FB-200D-2642-FE0F","non_qualified":"1F6B4-1F3FB-200D-2642","image":"1f6b4-1f3fb-200d-2642-fe0f.png","sheet_x":37,"sheet_y":48,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F6B4-1F3FC-200D-2642-FE0F","non_qualified":"1F6B4-1F3FC-200D-2642","image":"1f6b4-1f3fc-200d-2642-fe0f.png","sheet_x":37,"sheet_y":49,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F6B4-1F3FD-200D-2642-FE0F","non_qualified":"1F6B4-1F3FD-200D-2642","image":"1f6b4-1f3fd-200d-2642-fe0f.png","sheet_x":37,"sheet_y":50,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F6B4-1F3FE-200D-2642-FE0F","non_qualified":"1F6B4-1F3FE-200D-2642","image":"1f6b4-1f3fe-200d-2642-fe0f.png","sheet_x":37,"sheet_y":51,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F6B4-1F3FF-200D-2642-FE0F","non_qualified":"1F6B4-1F3FF-200D-2642","image":"1f6b4-1f3ff-200d-2642-fe0f.png","sheet_x":37,"sheet_y":52,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F6B4"},{"name":"BICYCLIST","unified":"1F6B4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6b4.png","sheet_x":37,"sheet_y":53,"short_name":"bicyclist","short_names":["bicyclist"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":486,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F6B4-1F3FB","non_qualified":null,"image":"1f6b4-1f3fb.png","sheet_x":37,"sheet_y":54,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F6B4-1F3FC","non_qualified":null,"image":"1f6b4-1f3fc.png","sheet_x":37,"sheet_y":55,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F6B4-1F3FD","non_qualified":null,"image":"1f6b4-1f3fd.png","sheet_x":37,"sheet_y":56,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F6B4-1F3FE","non_qualified":null,"image":"1f6b4-1f3fe.png","sheet_x":37,"sheet_y":57,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F6B4-1F3FF","non_qualified":null,"image":"1f6b4-1f3ff.png","sheet_x":37,"sheet_y":58,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F6B4-200D-2642-FE0F"},{"name":"WOMAN MOUNTAIN BIKING","unified":"1F6B5-200D-2640-FE0F","non_qualified":"1F6B5-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6b5-200d-2640-fe0f.png","sheet_x":37,"sheet_y":59,"short_name":"woman-mountain-biking","short_names":["woman-mountain-biking"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":491,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F6B5-1F3FB-200D-2640-FE0F","non_qualified":"1F6B5-1F3FB-200D-2640","image":"1f6b5-1f3fb-200d-2640-fe0f.png","sheet_x":37,"sheet_y":60,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F6B5-1F3FC-200D-2640-FE0F","non_qualified":"1F6B5-1F3FC-200D-2640","image":"1f6b5-1f3fc-200d-2640-fe0f.png","sheet_x":37,"sheet_y":61,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F6B5-1F3FD-200D-2640-FE0F","non_qualified":"1F6B5-1F3FD-200D-2640","image":"1f6b5-1f3fd-200d-2640-fe0f.png","sheet_x":37,"sheet_y":62,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F6B5-1F3FE-200D-2640-FE0F","non_qualified":"1F6B5-1F3FE-200D-2640","image":"1f6b5-1f3fe-200d-2640-fe0f.png","sheet_x":38,"sheet_y":0,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F6B5-1F3FF-200D-2640-FE0F","non_qualified":"1F6B5-1F3FF-200D-2640","image":"1f6b5-1f3ff-200d-2640-fe0f.png","sheet_x":38,"sheet_y":1,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN MOUNTAIN BIKING","unified":"1F6B5-200D-2642-FE0F","non_qualified":"1F6B5-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6b5-200d-2642-fe0f.png","sheet_x":38,"sheet_y":2,"short_name":"man-mountain-biking","short_names":["man-mountain-biking"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":490,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F6B5-1F3FB-200D-2642-FE0F","non_qualified":"1F6B5-1F3FB-200D-2642","image":"1f6b5-1f3fb-200d-2642-fe0f.png","sheet_x":38,"sheet_y":3,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F6B5-1F3FC-200D-2642-FE0F","non_qualified":"1F6B5-1F3FC-200D-2642","image":"1f6b5-1f3fc-200d-2642-fe0f.png","sheet_x":38,"sheet_y":4,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F6B5-1F3FD-200D-2642-FE0F","non_qualified":"1F6B5-1F3FD-200D-2642","image":"1f6b5-1f3fd-200d-2642-fe0f.png","sheet_x":38,"sheet_y":5,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F6B5-1F3FE-200D-2642-FE0F","non_qualified":"1F6B5-1F3FE-200D-2642","image":"1f6b5-1f3fe-200d-2642-fe0f.png","sheet_x":38,"sheet_y":6,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F6B5-1F3FF-200D-2642-FE0F","non_qualified":"1F6B5-1F3FF-200D-2642","image":"1f6b5-1f3ff-200d-2642-fe0f.png","sheet_x":38,"sheet_y":7,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F6B5"},{"name":"MOUNTAIN BICYCLIST","unified":"1F6B5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6b5.png","sheet_x":38,"sheet_y":8,"short_name":"mountain_bicyclist","short_names":["mountain_bicyclist"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":489,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F6B5-1F3FB","non_qualified":null,"image":"1f6b5-1f3fb.png","sheet_x":38,"sheet_y":9,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F6B5-1F3FC","non_qualified":null,"image":"1f6b5-1f3fc.png","sheet_x":38,"sheet_y":10,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F6B5-1F3FD","non_qualified":null,"image":"1f6b5-1f3fd.png","sheet_x":38,"sheet_y":11,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F6B5-1F3FE","non_qualified":null,"image":"1f6b5-1f3fe.png","sheet_x":38,"sheet_y":12,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F6B5-1F3FF","non_qualified":null,"image":"1f6b5-1f3ff.png","sheet_x":38,"sheet_y":13,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F6B5-200D-2642-FE0F"},{"name":"WOMAN WALKING","unified":"1F6B6-200D-2640-FE0F","non_qualified":"1F6B6-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6b6-200d-2640-fe0f.png","sheet_x":38,"sheet_y":14,"short_name":"woman-walking","short_names":["woman-walking"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":414,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F6B6-1F3FB-200D-2640-FE0F","non_qualified":"1F6B6-1F3FB-200D-2640","image":"1f6b6-1f3fb-200d-2640-fe0f.png","sheet_x":38,"sheet_y":15,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F6B6-1F3FC-200D-2640-FE0F","non_qualified":"1F6B6-1F3FC-200D-2640","image":"1f6b6-1f3fc-200d-2640-fe0f.png","sheet_x":38,"sheet_y":16,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F6B6-1F3FD-200D-2640-FE0F","non_qualified":"1F6B6-1F3FD-200D-2640","image":"1f6b6-1f3fd-200d-2640-fe0f.png","sheet_x":38,"sheet_y":17,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F6B6-1F3FE-200D-2640-FE0F","non_qualified":"1F6B6-1F3FE-200D-2640","image":"1f6b6-1f3fe-200d-2640-fe0f.png","sheet_x":38,"sheet_y":18,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F6B6-1F3FF-200D-2640-FE0F","non_qualified":"1F6B6-1F3FF-200D-2640","image":"1f6b6-1f3ff-200d-2640-fe0f.png","sheet_x":38,"sheet_y":19,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN WALKING FACING RIGHT","unified":"1F6B6-200D-2640-FE0F-200D-27A1-FE0F","non_qualified":"1F6B6-200D-2640-200D-27A1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6b6-200d-2640-fe0f-200d-27a1-fe0f.png","sheet_x":38,"sheet_y":20,"short_name":"woman_walking_facing_right","short_names":["woman_walking_facing_right"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":416,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false,"skin_variations":{"1F3FB":{"unified":"1F6B6-1F3FB-200D-2640-FE0F-200D-27A1-FE0F","non_qualified":"1F6B6-1F3FB-200D-2640-200D-27A1","image":"1f6b6-1f3fb-200d-2640-fe0f-200d-27a1-fe0f.png","sheet_x":38,"sheet_y":21,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FC":{"unified":"1F6B6-1F3FC-200D-2640-FE0F-200D-27A1-FE0F","non_qualified":"1F6B6-1F3FC-200D-2640-200D-27A1","image":"1f6b6-1f3fc-200d-2640-fe0f-200d-27a1-fe0f.png","sheet_x":38,"sheet_y":22,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FD":{"unified":"1F6B6-1F3FD-200D-2640-FE0F-200D-27A1-FE0F","non_qualified":"1F6B6-1F3FD-200D-2640-200D-27A1","image":"1f6b6-1f3fd-200d-2640-fe0f-200d-27a1-fe0f.png","sheet_x":38,"sheet_y":23,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FE":{"unified":"1F6B6-1F3FE-200D-2640-FE0F-200D-27A1-FE0F","non_qualified":"1F6B6-1F3FE-200D-2640-200D-27A1","image":"1f6b6-1f3fe-200d-2640-fe0f-200d-27a1-fe0f.png","sheet_x":38,"sheet_y":24,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FF":{"unified":"1F6B6-1F3FF-200D-2640-FE0F-200D-27A1-FE0F","non_qualified":"1F6B6-1F3FF-200D-2640-200D-27A1","image":"1f6b6-1f3ff-200d-2640-fe0f-200d-27a1-fe0f.png","sheet_x":38,"sheet_y":25,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false}}},{"name":"MAN WALKING","unified":"1F6B6-200D-2642-FE0F","non_qualified":"1F6B6-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6b6-200d-2642-fe0f.png","sheet_x":38,"sheet_y":26,"short_name":"man-walking","short_names":["man-walking"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":413,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F6B6-1F3FB-200D-2642-FE0F","non_qualified":"1F6B6-1F3FB-200D-2642","image":"1f6b6-1f3fb-200d-2642-fe0f.png","sheet_x":38,"sheet_y":27,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F6B6-1F3FC-200D-2642-FE0F","non_qualified":"1F6B6-1F3FC-200D-2642","image":"1f6b6-1f3fc-200d-2642-fe0f.png","sheet_x":38,"sheet_y":28,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F6B6-1F3FD-200D-2642-FE0F","non_qualified":"1F6B6-1F3FD-200D-2642","image":"1f6b6-1f3fd-200d-2642-fe0f.png","sheet_x":38,"sheet_y":29,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F6B6-1F3FE-200D-2642-FE0F","non_qualified":"1F6B6-1F3FE-200D-2642","image":"1f6b6-1f3fe-200d-2642-fe0f.png","sheet_x":38,"sheet_y":30,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F6B6-1F3FF-200D-2642-FE0F","non_qualified":"1F6B6-1F3FF-200D-2642","image":"1f6b6-1f3ff-200d-2642-fe0f.png","sheet_x":38,"sheet_y":31,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"1F6B6"},{"name":"MAN WALKING FACING RIGHT","unified":"1F6B6-200D-2642-FE0F-200D-27A1-FE0F","non_qualified":"1F6B6-200D-2642-200D-27A1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6b6-200d-2642-fe0f-200d-27a1-fe0f.png","sheet_x":38,"sheet_y":32,"short_name":"man_walking_facing_right","short_names":["man_walking_facing_right"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":417,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false,"skin_variations":{"1F3FB":{"unified":"1F6B6-1F3FB-200D-2642-FE0F-200D-27A1-FE0F","non_qualified":"1F6B6-1F3FB-200D-2642-200D-27A1","image":"1f6b6-1f3fb-200d-2642-fe0f-200d-27a1-fe0f.png","sheet_x":38,"sheet_y":33,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FC":{"unified":"1F6B6-1F3FC-200D-2642-FE0F-200D-27A1-FE0F","non_qualified":"1F6B6-1F3FC-200D-2642-200D-27A1","image":"1f6b6-1f3fc-200d-2642-fe0f-200d-27a1-fe0f.png","sheet_x":38,"sheet_y":34,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FD":{"unified":"1F6B6-1F3FD-200D-2642-FE0F-200D-27A1-FE0F","non_qualified":"1F6B6-1F3FD-200D-2642-200D-27A1","image":"1f6b6-1f3fd-200d-2642-fe0f-200d-27a1-fe0f.png","sheet_x":38,"sheet_y":35,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FE":{"unified":"1F6B6-1F3FE-200D-2642-FE0F-200D-27A1-FE0F","non_qualified":"1F6B6-1F3FE-200D-2642-200D-27A1","image":"1f6b6-1f3fe-200d-2642-fe0f-200d-27a1-fe0f.png","sheet_x":38,"sheet_y":36,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FF":{"unified":"1F6B6-1F3FF-200D-2642-FE0F-200D-27A1-FE0F","non_qualified":"1F6B6-1F3FF-200D-2642-200D-27A1","image":"1f6b6-1f3ff-200d-2642-fe0f-200d-27a1-fe0f.png","sheet_x":38,"sheet_y":37,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false}}},{"name":"PERSON WALKING FACING RIGHT","unified":"1F6B6-200D-27A1-FE0F","non_qualified":"1F6B6-200D-27A1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6b6-200d-27a1-fe0f.png","sheet_x":38,"sheet_y":38,"short_name":"person_walking_facing_right","short_names":["person_walking_facing_right"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":415,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false,"skin_variations":{"1F3FB":{"unified":"1F6B6-1F3FB-200D-27A1-FE0F","non_qualified":"1F6B6-1F3FB-200D-27A1","image":"1f6b6-1f3fb-200d-27a1-fe0f.png","sheet_x":38,"sheet_y":39,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FC":{"unified":"1F6B6-1F3FC-200D-27A1-FE0F","non_qualified":"1F6B6-1F3FC-200D-27A1","image":"1f6b6-1f3fc-200d-27a1-fe0f.png","sheet_x":38,"sheet_y":40,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FD":{"unified":"1F6B6-1F3FD-200D-27A1-FE0F","non_qualified":"1F6B6-1F3FD-200D-27A1","image":"1f6b6-1f3fd-200d-27a1-fe0f.png","sheet_x":38,"sheet_y":41,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FE":{"unified":"1F6B6-1F3FE-200D-27A1-FE0F","non_qualified":"1F6B6-1F3FE-200D-27A1","image":"1f6b6-1f3fe-200d-27a1-fe0f.png","sheet_x":38,"sheet_y":42,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FF":{"unified":"1F6B6-1F3FF-200D-27A1-FE0F","non_qualified":"1F6B6-1F3FF-200D-27A1","image":"1f6b6-1f3ff-200d-27a1-fe0f.png","sheet_x":38,"sheet_y":43,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false}}},{"name":"PEDESTRIAN","unified":"1F6B6","non_qualified":null,"docomo":"E733","au":"EB72","softbank":"E201","google":"FE7F0","image":"1f6b6.png","sheet_x":38,"sheet_y":44,"short_name":"walking","short_names":["walking"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":412,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F6B6-1F3FB","non_qualified":null,"image":"1f6b6-1f3fb.png","sheet_x":38,"sheet_y":45,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F6B6-1F3FC","non_qualified":null,"image":"1f6b6-1f3fc.png","sheet_x":38,"sheet_y":46,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F6B6-1F3FD","non_qualified":null,"image":"1f6b6-1f3fd.png","sheet_x":38,"sheet_y":47,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F6B6-1F3FE","non_qualified":null,"image":"1f6b6-1f3fe.png","sheet_x":38,"sheet_y":48,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F6B6-1F3FF","non_qualified":null,"image":"1f6b6-1f3ff.png","sheet_x":38,"sheet_y":49,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"1F6B6-200D-2642-FE0F"},{"name":"NO PEDESTRIANS","unified":"1F6B7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6b7.png","sheet_x":38,"sheet_y":50,"short_name":"no_pedestrians","short_names":["no_pedestrians"],"text":null,"texts":null,"category":"Symbols","subcategory":"warning","sort_order":1447,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CHILDREN CROSSING","unified":"1F6B8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6b8.png","sheet_x":38,"sheet_y":51,"short_name":"children_crossing","short_names":["children_crossing"],"text":null,"texts":null,"category":"Symbols","subcategory":"warning","sort_order":1440,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MENS SYMBOL","unified":"1F6B9","non_qualified":null,"docomo":null,"au":null,"softbank":"E138","google":"FEB33","image":"1f6b9.png","sheet_x":38,"sheet_y":52,"short_name":"mens","short_names":["mens"],"text":null,"texts":null,"category":"Symbols","subcategory":"transport-sign","sort_order":1430,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WOMENS SYMBOL","unified":"1F6BA","non_qualified":null,"docomo":null,"au":null,"softbank":"E139","google":"FEB34","image":"1f6ba.png","sheet_x":38,"sheet_y":53,"short_name":"womens","short_names":["womens"],"text":null,"texts":null,"category":"Symbols","subcategory":"transport-sign","sort_order":1431,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RESTROOM","unified":"1F6BB","non_qualified":null,"docomo":"E66E","au":"E4A5","softbank":"E151","google":"FE506","image":"1f6bb.png","sheet_x":38,"sheet_y":54,"short_name":"restroom","short_names":["restroom"],"text":null,"texts":null,"category":"Symbols","subcategory":"transport-sign","sort_order":1432,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BABY SYMBOL","unified":"1F6BC","non_qualified":null,"docomo":null,"au":"EB18","softbank":"E13A","google":"FEB35","image":"1f6bc.png","sheet_x":38,"sheet_y":55,"short_name":"baby_symbol","short_names":["baby_symbol"],"text":null,"texts":null,"category":"Symbols","subcategory":"transport-sign","sort_order":1433,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TOILET","unified":"1F6BD","non_qualified":null,"docomo":"E66E","au":"E4A5","softbank":"E140","google":"FE507","image":"1f6bd.png","sheet_x":38,"sheet_y":56,"short_name":"toilet","short_names":["toilet"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1399,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WATER CLOSET","unified":"1F6BE","non_qualified":null,"docomo":"E66E","au":"E4A5","softbank":"E309","google":"FE508","image":"1f6be.png","sheet_x":38,"sheet_y":57,"short_name":"wc","short_names":["wc"],"text":null,"texts":null,"category":"Symbols","subcategory":"transport-sign","sort_order":1434,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SHOWER","unified":"1F6BF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6bf.png","sheet_x":38,"sheet_y":58,"short_name":"shower","short_names":["shower"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1401,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BATH","unified":"1F6C0","non_qualified":null,"docomo":"E6F7","au":"E5D8","softbank":"E13F","google":"FE505","image":"1f6c0.png","sheet_x":38,"sheet_y":59,"short_name":"bath","short_names":["bath"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-resting","sort_order":510,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F6C0-1F3FB","non_qualified":null,"image":"1f6c0-1f3fb.png","sheet_x":38,"sheet_y":60,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F6C0-1F3FC","non_qualified":null,"image":"1f6c0-1f3fc.png","sheet_x":38,"sheet_y":61,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F6C0-1F3FD","non_qualified":null,"image":"1f6c0-1f3fd.png","sheet_x":38,"sheet_y":62,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F6C0-1F3FE","non_qualified":null,"image":"1f6c0-1f3fe.png","sheet_x":39,"sheet_y":0,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F6C0-1F3FF","non_qualified":null,"image":"1f6c0-1f3ff.png","sheet_x":39,"sheet_y":1,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"BATHTUB","unified":"1F6C1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6c1.png","sheet_x":39,"sheet_y":2,"short_name":"bathtub","short_names":["bathtub"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1402,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PASSPORT CONTROL","unified":"1F6C2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6c2.png","sheet_x":39,"sheet_y":3,"short_name":"passport_control","short_names":["passport_control"],"text":null,"texts":null,"category":"Symbols","subcategory":"transport-sign","sort_order":1435,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CUSTOMS","unified":"1F6C3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6c3.png","sheet_x":39,"sheet_y":4,"short_name":"customs","short_names":["customs"],"text":null,"texts":null,"category":"Symbols","subcategory":"transport-sign","sort_order":1436,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BAGGAGE CLAIM","unified":"1F6C4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6c4.png","sheet_x":39,"sheet_y":5,"short_name":"baggage_claim","short_names":["baggage_claim"],"text":null,"texts":null,"category":"Symbols","subcategory":"transport-sign","sort_order":1437,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LEFT LUGGAGE","unified":"1F6C5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6c5.png","sheet_x":39,"sheet_y":6,"short_name":"left_luggage","short_names":["left_luggage"],"text":null,"texts":null,"category":"Symbols","subcategory":"transport-sign","sort_order":1438,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"COUCH AND LAMP","unified":"1F6CB-FE0F","non_qualified":"1F6CB","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6cb-fe0f.png","sheet_x":39,"sheet_y":7,"short_name":"couch_and_lamp","short_names":["couch_and_lamp"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1397,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SLEEPING ACCOMMODATION","unified":"1F6CC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6cc.png","sheet_x":39,"sheet_y":8,"short_name":"sleeping_accommodation","short_names":["sleeping_accommodation"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-resting","sort_order":511,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F6CC-1F3FB","non_qualified":null,"image":"1f6cc-1f3fb.png","sheet_x":39,"sheet_y":9,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F6CC-1F3FC","non_qualified":null,"image":"1f6cc-1f3fc.png","sheet_x":39,"sheet_y":10,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F6CC-1F3FD","non_qualified":null,"image":"1f6cc-1f3fd.png","sheet_x":39,"sheet_y":11,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F6CC-1F3FE","non_qualified":null,"image":"1f6cc-1f3fe.png","sheet_x":39,"sheet_y":12,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F6CC-1F3FF","non_qualified":null,"image":"1f6cc-1f3ff.png","sheet_x":39,"sheet_y":13,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"SHOPPING BAGS","unified":"1F6CD-FE0F","non_qualified":"1F6CD","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6cd-fe0f.png","sheet_x":39,"sheet_y":14,"short_name":"shopping_bags","short_names":["shopping_bags"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1184,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BELLHOP BELL","unified":"1F6CE-FE0F","non_qualified":"1F6CE","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6ce-fe0f.png","sheet_x":39,"sheet_y":15,"short_name":"bellhop_bell","short_names":["bellhop_bell"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"hotel","sort_order":995,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BED","unified":"1F6CF-FE0F","non_qualified":"1F6CF","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6cf-fe0f.png","sheet_x":39,"sheet_y":16,"short_name":"bed","short_names":["bed"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1396,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PLACE OF WORSHIP","unified":"1F6D0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6d0.png","sheet_x":39,"sheet_y":17,"short_name":"place_of_worship","short_names":["place_of_worship"],"text":null,"texts":null,"category":"Symbols","subcategory":"religion","sort_order":1473,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"OCTAGONAL SIGN","unified":"1F6D1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6d1.png","sheet_x":39,"sheet_y":18,"short_name":"octagonal_sign","short_names":["octagonal_sign"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":971,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SHOPPING TROLLEY","unified":"1F6D2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6d2.png","sheet_x":39,"sheet_y":19,"short_name":"shopping_trolley","short_names":["shopping_trolley"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1416,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HINDU TEMPLE","unified":"1F6D5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6d5.png","sheet_x":39,"sheet_y":20,"short_name":"hindu_temple","short_names":["hindu_temple"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-religious","sort_order":902,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HUT","unified":"1F6D6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6d6.png","sheet_x":39,"sheet_y":21,"short_name":"hut","short_names":["hut"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":879,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ELEVATOR","unified":"1F6D7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6d7.png","sheet_x":39,"sheet_y":22,"short_name":"elevator","short_names":["elevator"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1393,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LANDSLIDE","unified":"1F6D8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6d8.png","sheet_x":39,"sheet_y":23,"short_name":"landslide","short_names":["landslide"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-geographic","sort_order":865,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},{"name":"WIRELESS","unified":"1F6DC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6dc.png","sheet_x":39,"sheet_y":24,"short_name":"wireless","short_names":["wireless"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1521,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PLAYGROUND SLIDE","unified":"1F6DD","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6dd.png","sheet_x":39,"sheet_y":25,"short_name":"playground_slide","short_names":["playground_slide"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-other","sort_order":918,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WHEEL","unified":"1F6DE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6de.png","sheet_x":39,"sheet_y":26,"short_name":"wheel","short_names":["wheel"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":967,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RING BUOY","unified":"1F6DF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6df.png","sheet_x":39,"sheet_y":27,"short_name":"ring_buoy","short_names":["ring_buoy"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-water","sort_order":974,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HAMMER AND WRENCH","unified":"1F6E0-FE0F","non_qualified":"1F6E0","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6e0-fe0f.png","sheet_x":39,"sheet_y":28,"short_name":"hammer_and_wrench","short_names":["hammer_and_wrench"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1355,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SHIELD","unified":"1F6E1-FE0F","non_qualified":"1F6E1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6e1-fe0f.png","sheet_x":39,"sheet_y":29,"short_name":"shield","short_names":["shield"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1361,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"OIL DRUM","unified":"1F6E2-FE0F","non_qualified":"1F6E2","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6e2-fe0f.png","sheet_x":39,"sheet_y":30,"short_name":"oil_drum","short_names":["oil_drum"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":965,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MOTORWAY","unified":"1F6E3-FE0F","non_qualified":"1F6E3","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6e3-fe0f.png","sheet_x":39,"sheet_y":31,"short_name":"motorway","short_names":["motorway"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":963,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RAILWAY TRACK","unified":"1F6E4-FE0F","non_qualified":"1F6E4","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6e4-fe0f.png","sheet_x":39,"sheet_y":32,"short_name":"railway_track","short_names":["railway_track"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":964,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MOTOR BOAT","unified":"1F6E5-FE0F","non_qualified":"1F6E5","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6e5-fe0f.png","sheet_x":39,"sheet_y":33,"short_name":"motor_boat","short_names":["motor_boat"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-water","sort_order":980,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SMALL AIRPLANE","unified":"1F6E9-FE0F","non_qualified":"1F6E9","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6e9-fe0f.png","sheet_x":39,"sheet_y":34,"short_name":"small_airplane","short_names":["small_airplane"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-air","sort_order":983,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"AIRPLANE DEPARTURE","unified":"1F6EB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6eb.png","sheet_x":39,"sheet_y":35,"short_name":"airplane_departure","short_names":["airplane_departure"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-air","sort_order":984,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"AIRPLANE ARRIVING","unified":"1F6EC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6ec.png","sheet_x":39,"sheet_y":36,"short_name":"airplane_arriving","short_names":["airplane_arriving"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-air","sort_order":985,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SATELLITE","unified":"1F6F0-FE0F","non_qualified":"1F6F0","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6f0-fe0f.png","sheet_x":39,"sheet_y":37,"short_name":"satellite","short_names":["satellite"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-air","sort_order":992,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PASSENGER SHIP","unified":"1F6F3-FE0F","non_qualified":"1F6F3","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6f3-fe0f.png","sheet_x":39,"sheet_y":38,"short_name":"passenger_ship","short_names":["passenger_ship"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-water","sort_order":978,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SCOOTER","unified":"1F6F4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6f4.png","sheet_x":39,"sheet_y":39,"short_name":"scooter","short_names":["scooter"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":959,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MOTOR SCOOTER","unified":"1F6F5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6f5.png","sheet_x":39,"sheet_y":40,"short_name":"motor_scooter","short_names":["motor_scooter"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":954,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CANOE","unified":"1F6F6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6f6.png","sheet_x":39,"sheet_y":41,"short_name":"canoe","short_names":["canoe"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-water","sort_order":976,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SLED","unified":"1F6F7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6f7.png","sheet_x":39,"sheet_y":42,"short_name":"sled","short_names":["sled"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1127,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FLYING SAUCER","unified":"1F6F8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6f8.png","sheet_x":39,"sheet_y":43,"short_name":"flying_saucer","short_names":["flying_saucer"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-air","sort_order":994,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SKATEBOARD","unified":"1F6F9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6f9.png","sheet_x":39,"sheet_y":44,"short_name":"skateboard","short_names":["skateboard"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":960,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"AUTO RICKSHAW","unified":"1F6FA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6fa.png","sheet_x":39,"sheet_y":45,"short_name":"auto_rickshaw","short_names":["auto_rickshaw"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":957,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PICKUP TRUCK","unified":"1F6FB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6fb.png","sheet_x":39,"sheet_y":46,"short_name":"pickup_truck","short_names":["pickup_truck"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":948,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ROLLER SKATE","unified":"1F6FC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f6fc.png","sheet_x":39,"sheet_y":47,"short_name":"roller_skate","short_names":["roller_skate"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":961,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LARGE ORANGE CIRCLE","unified":"1F7E0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f7e0.png","sheet_x":39,"sheet_y":48,"short_name":"large_orange_circle","short_names":["large_orange_circle"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1617,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LARGE YELLOW CIRCLE","unified":"1F7E1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f7e1.png","sheet_x":39,"sheet_y":49,"short_name":"large_yellow_circle","short_names":["large_yellow_circle"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1618,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LARGE GREEN CIRCLE","unified":"1F7E2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f7e2.png","sheet_x":39,"sheet_y":50,"short_name":"large_green_circle","short_names":["large_green_circle"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1619,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LARGE PURPLE CIRCLE","unified":"1F7E3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f7e3.png","sheet_x":39,"sheet_y":51,"short_name":"large_purple_circle","short_names":["large_purple_circle"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1621,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LARGE BROWN CIRCLE","unified":"1F7E4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f7e4.png","sheet_x":39,"sheet_y":52,"short_name":"large_brown_circle","short_names":["large_brown_circle"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1622,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LARGE RED SQUARE","unified":"1F7E5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f7e5.png","sheet_x":39,"sheet_y":53,"short_name":"large_red_square","short_names":["large_red_square"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1625,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LARGE BLUE SQUARE","unified":"1F7E6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f7e6.png","sheet_x":39,"sheet_y":54,"short_name":"large_blue_square","short_names":["large_blue_square"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1629,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LARGE ORANGE SQUARE","unified":"1F7E7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f7e7.png","sheet_x":39,"sheet_y":55,"short_name":"large_orange_square","short_names":["large_orange_square"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1626,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LARGE YELLOW SQUARE","unified":"1F7E8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f7e8.png","sheet_x":39,"sheet_y":56,"short_name":"large_yellow_square","short_names":["large_yellow_square"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1627,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LARGE GREEN SQUARE","unified":"1F7E9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f7e9.png","sheet_x":39,"sheet_y":57,"short_name":"large_green_square","short_names":["large_green_square"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1628,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LARGE PURPLE SQUARE","unified":"1F7EA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f7ea.png","sheet_x":39,"sheet_y":58,"short_name":"large_purple_square","short_names":["large_purple_square"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1630,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LARGE BROWN SQUARE","unified":"1F7EB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f7eb.png","sheet_x":39,"sheet_y":59,"short_name":"large_brown_square","short_names":["large_brown_square"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1631,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HEAVY EQUALS SIGN","unified":"1F7F0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f7f0.png","sheet_x":39,"sheet_y":60,"short_name":"heavy_equals_sign","short_names":["heavy_equals_sign"],"text":null,"texts":null,"category":"Symbols","subcategory":"math","sort_order":1531,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PINCHED FINGERS","unified":"1F90C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f90c.png","sheet_x":39,"sheet_y":61,"short_name":"pinched_fingers","short_names":["pinched_fingers"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-partial","sort_order":184,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F90C-1F3FB","non_qualified":null,"image":"1f90c-1f3fb.png","sheet_x":39,"sheet_y":62,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F90C-1F3FC","non_qualified":null,"image":"1f90c-1f3fc.png","sheet_x":40,"sheet_y":0,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F90C-1F3FD","non_qualified":null,"image":"1f90c-1f3fd.png","sheet_x":40,"sheet_y":1,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F90C-1F3FE","non_qualified":null,"image":"1f90c-1f3fe.png","sheet_x":40,"sheet_y":2,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F90C-1F3FF","non_qualified":null,"image":"1f90c-1f3ff.png","sheet_x":40,"sheet_y":3,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WHITE HEART","unified":"1F90D","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f90d.png","sheet_x":40,"sheet_y":4,"short_name":"white_heart","short_names":["white_heart"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":156,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BROWN HEART","unified":"1F90E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f90e.png","sheet_x":40,"sheet_y":5,"short_name":"brown_heart","short_names":["brown_heart"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":153,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PINCHING HAND","unified":"1F90F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f90f.png","sheet_x":40,"sheet_y":6,"short_name":"pinching_hand","short_names":["pinching_hand"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-partial","sort_order":185,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F90F-1F3FB","non_qualified":null,"image":"1f90f-1f3fb.png","sheet_x":40,"sheet_y":7,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F90F-1F3FC","non_qualified":null,"image":"1f90f-1f3fc.png","sheet_x":40,"sheet_y":8,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F90F-1F3FD","non_qualified":null,"image":"1f90f-1f3fd.png","sheet_x":40,"sheet_y":9,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F90F-1F3FE","non_qualified":null,"image":"1f90f-1f3fe.png","sheet_x":40,"sheet_y":10,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F90F-1F3FF","non_qualified":null,"image":"1f90f-1f3ff.png","sheet_x":40,"sheet_y":11,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"ZIPPER-MOUTH FACE","unified":"1F910","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f910.png","sheet_x":40,"sheet_y":12,"short_name":"zipper_mouth_face","short_names":["zipper_mouth_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-neutral-skeptical","sort_order":37,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MONEY-MOUTH FACE","unified":"1F911","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f911.png","sheet_x":40,"sheet_y":13,"short_name":"money_mouth_face","short_names":["money_mouth_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-tongue","sort_order":29,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH THERMOMETER","unified":"1F912","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f912.png","sheet_x":40,"sheet_y":14,"short_name":"face_with_thermometer","short_names":["face_with_thermometer"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-unwell","sort_order":60,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NERD FACE","unified":"1F913","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f913.png","sheet_x":40,"sheet_y":15,"short_name":"nerd_face","short_names":["nerd_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-glasses","sort_order":75,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"THINKING FACE","unified":"1F914","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f914.png","sheet_x":40,"sheet_y":16,"short_name":"thinking_face","short_names":["thinking_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-hand","sort_order":35,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH HEAD-BANDAGE","unified":"1F915","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f915.png","sheet_x":40,"sheet_y":17,"short_name":"face_with_head_bandage","short_names":["face_with_head_bandage"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-unwell","sort_order":61,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ROBOT FACE","unified":"1F916","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f916.png","sheet_x":40,"sheet_y":18,"short_name":"robot_face","short_names":["robot_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-costume","sort_order":119,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HUGGING FACE","unified":"1F917","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f917.png","sheet_x":40,"sheet_y":19,"short_name":"hugging_face","short_names":["hugging_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-hand","sort_order":30,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SIGN OF THE HORNS","unified":"1F918","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f918.png","sheet_x":40,"sheet_y":20,"short_name":"the_horns","short_names":["the_horns","sign_of_the_horns"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-partial","sort_order":190,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F918-1F3FB","non_qualified":null,"image":"1f918-1f3fb.png","sheet_x":40,"sheet_y":21,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F918-1F3FC","non_qualified":null,"image":"1f918-1f3fc.png","sheet_x":40,"sheet_y":22,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F918-1F3FD","non_qualified":null,"image":"1f918-1f3fd.png","sheet_x":40,"sheet_y":23,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F918-1F3FE","non_qualified":null,"image":"1f918-1f3fe.png","sheet_x":40,"sheet_y":24,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F918-1F3FF","non_qualified":null,"image":"1f918-1f3ff.png","sheet_x":40,"sheet_y":25,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"CALL ME HAND","unified":"1F919","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f919.png","sheet_x":40,"sheet_y":26,"short_name":"call_me_hand","short_names":["call_me_hand"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-partial","sort_order":191,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F919-1F3FB","non_qualified":null,"image":"1f919-1f3fb.png","sheet_x":40,"sheet_y":27,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F919-1F3FC","non_qualified":null,"image":"1f919-1f3fc.png","sheet_x":40,"sheet_y":28,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F919-1F3FD","non_qualified":null,"image":"1f919-1f3fd.png","sheet_x":40,"sheet_y":29,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F919-1F3FE","non_qualified":null,"image":"1f919-1f3fe.png","sheet_x":40,"sheet_y":30,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F919-1F3FF","non_qualified":null,"image":"1f919-1f3ff.png","sheet_x":40,"sheet_y":31,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"RAISED BACK OF HAND","unified":"1F91A","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f91a.png","sheet_x":40,"sheet_y":32,"short_name":"raised_back_of_hand","short_names":["raised_back_of_hand"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-open","sort_order":173,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F91A-1F3FB","non_qualified":null,"image":"1f91a-1f3fb.png","sheet_x":40,"sheet_y":33,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F91A-1F3FC","non_qualified":null,"image":"1f91a-1f3fc.png","sheet_x":40,"sheet_y":34,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F91A-1F3FD","non_qualified":null,"image":"1f91a-1f3fd.png","sheet_x":40,"sheet_y":35,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F91A-1F3FE","non_qualified":null,"image":"1f91a-1f3fe.png","sheet_x":40,"sheet_y":36,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F91A-1F3FF","non_qualified":null,"image":"1f91a-1f3ff.png","sheet_x":40,"sheet_y":37,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"LEFT-FACING FIST","unified":"1F91B","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f91b.png","sheet_x":40,"sheet_y":38,"short_name":"left-facing_fist","short_names":["left-facing_fist"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-closed","sort_order":203,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F91B-1F3FB","non_qualified":null,"image":"1f91b-1f3fb.png","sheet_x":40,"sheet_y":39,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F91B-1F3FC","non_qualified":null,"image":"1f91b-1f3fc.png","sheet_x":40,"sheet_y":40,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F91B-1F3FD","non_qualified":null,"image":"1f91b-1f3fd.png","sheet_x":40,"sheet_y":41,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F91B-1F3FE","non_qualified":null,"image":"1f91b-1f3fe.png","sheet_x":40,"sheet_y":42,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F91B-1F3FF","non_qualified":null,"image":"1f91b-1f3ff.png","sheet_x":40,"sheet_y":43,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"RIGHT-FACING FIST","unified":"1F91C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f91c.png","sheet_x":40,"sheet_y":44,"short_name":"right-facing_fist","short_names":["right-facing_fist"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-closed","sort_order":204,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F91C-1F3FB","non_qualified":null,"image":"1f91c-1f3fb.png","sheet_x":40,"sheet_y":45,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F91C-1F3FC","non_qualified":null,"image":"1f91c-1f3fc.png","sheet_x":40,"sheet_y":46,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F91C-1F3FD","non_qualified":null,"image":"1f91c-1f3fd.png","sheet_x":40,"sheet_y":47,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F91C-1F3FE","non_qualified":null,"image":"1f91c-1f3fe.png","sheet_x":40,"sheet_y":48,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F91C-1F3FF","non_qualified":null,"image":"1f91c-1f3ff.png","sheet_x":40,"sheet_y":49,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"HANDSHAKE","unified":"1F91D","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f91d.png","sheet_x":40,"sheet_y":50,"short_name":"handshake","short_names":["handshake"],"text":null,"texts":null,"category":"People & Body","subcategory":"hands","sort_order":210,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F91D-1F3FB","non_qualified":null,"image":"1f91d-1f3fb.png","sheet_x":40,"sheet_y":51,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F91D-1F3FC","non_qualified":null,"image":"1f91d-1f3fc.png","sheet_x":40,"sheet_y":52,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F91D-1F3FD","non_qualified":null,"image":"1f91d-1f3fd.png","sheet_x":40,"sheet_y":53,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F91D-1F3FE","non_qualified":null,"image":"1f91d-1f3fe.png","sheet_x":40,"sheet_y":54,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F91D-1F3FF","non_qualified":null,"image":"1f91d-1f3ff.png","sheet_x":40,"sheet_y":55,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FC":{"unified":"1FAF1-1F3FB-200D-1FAF2-1F3FC","non_qualified":null,"image":"1faf1-1f3fb-200d-1faf2-1f3fc.png","sheet_x":40,"sheet_y":56,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FD":{"unified":"1FAF1-1F3FB-200D-1FAF2-1F3FD","non_qualified":null,"image":"1faf1-1f3fb-200d-1faf2-1f3fd.png","sheet_x":40,"sheet_y":57,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FE":{"unified":"1FAF1-1F3FB-200D-1FAF2-1F3FE","non_qualified":null,"image":"1faf1-1f3fb-200d-1faf2-1f3fe.png","sheet_x":40,"sheet_y":58,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FF":{"unified":"1FAF1-1F3FB-200D-1FAF2-1F3FF","non_qualified":null,"image":"1faf1-1f3fb-200d-1faf2-1f3ff.png","sheet_x":40,"sheet_y":59,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FB":{"unified":"1FAF1-1F3FC-200D-1FAF2-1F3FB","non_qualified":null,"image":"1faf1-1f3fc-200d-1faf2-1f3fb.png","sheet_x":40,"sheet_y":60,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FD":{"unified":"1FAF1-1F3FC-200D-1FAF2-1F3FD","non_qualified":null,"image":"1faf1-1f3fc-200d-1faf2-1f3fd.png","sheet_x":40,"sheet_y":61,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FE":{"unified":"1FAF1-1F3FC-200D-1FAF2-1F3FE","non_qualified":null,"image":"1faf1-1f3fc-200d-1faf2-1f3fe.png","sheet_x":40,"sheet_y":62,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FF":{"unified":"1FAF1-1F3FC-200D-1FAF2-1F3FF","non_qualified":null,"image":"1faf1-1f3fc-200d-1faf2-1f3ff.png","sheet_x":41,"sheet_y":0,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FB":{"unified":"1FAF1-1F3FD-200D-1FAF2-1F3FB","non_qualified":null,"image":"1faf1-1f3fd-200d-1faf2-1f3fb.png","sheet_x":41,"sheet_y":1,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FC":{"unified":"1FAF1-1F3FD-200D-1FAF2-1F3FC","non_qualified":null,"image":"1faf1-1f3fd-200d-1faf2-1f3fc.png","sheet_x":41,"sheet_y":2,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FE":{"unified":"1FAF1-1F3FD-200D-1FAF2-1F3FE","non_qualified":null,"image":"1faf1-1f3fd-200d-1faf2-1f3fe.png","sheet_x":41,"sheet_y":3,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FF":{"unified":"1FAF1-1F3FD-200D-1FAF2-1F3FF","non_qualified":null,"image":"1faf1-1f3fd-200d-1faf2-1f3ff.png","sheet_x":41,"sheet_y":4,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FB":{"unified":"1FAF1-1F3FE-200D-1FAF2-1F3FB","non_qualified":null,"image":"1faf1-1f3fe-200d-1faf2-1f3fb.png","sheet_x":41,"sheet_y":5,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FC":{"unified":"1FAF1-1F3FE-200D-1FAF2-1F3FC","non_qualified":null,"image":"1faf1-1f3fe-200d-1faf2-1f3fc.png","sheet_x":41,"sheet_y":6,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FD":{"unified":"1FAF1-1F3FE-200D-1FAF2-1F3FD","non_qualified":null,"image":"1faf1-1f3fe-200d-1faf2-1f3fd.png","sheet_x":41,"sheet_y":7,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FF":{"unified":"1FAF1-1F3FE-200D-1FAF2-1F3FF","non_qualified":null,"image":"1faf1-1f3fe-200d-1faf2-1f3ff.png","sheet_x":41,"sheet_y":8,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FB":{"unified":"1FAF1-1F3FF-200D-1FAF2-1F3FB","non_qualified":null,"image":"1faf1-1f3ff-200d-1faf2-1f3fb.png","sheet_x":41,"sheet_y":9,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FC":{"unified":"1FAF1-1F3FF-200D-1FAF2-1F3FC","non_qualified":null,"image":"1faf1-1f3ff-200d-1faf2-1f3fc.png","sheet_x":41,"sheet_y":10,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FD":{"unified":"1FAF1-1F3FF-200D-1FAF2-1F3FD","non_qualified":null,"image":"1faf1-1f3ff-200d-1faf2-1f3fd.png","sheet_x":41,"sheet_y":11,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FE":{"unified":"1FAF1-1F3FF-200D-1FAF2-1F3FE","non_qualified":null,"image":"1faf1-1f3ff-200d-1faf2-1f3fe.png","sheet_x":41,"sheet_y":12,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"HAND WITH INDEX AND MIDDLE FINGERS CROSSED","unified":"1F91E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f91e.png","sheet_x":41,"sheet_y":13,"short_name":"crossed_fingers","short_names":["crossed_fingers","hand_with_index_and_middle_fingers_crossed"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-partial","sort_order":187,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F91E-1F3FB","non_qualified":null,"image":"1f91e-1f3fb.png","sheet_x":41,"sheet_y":14,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F91E-1F3FC","non_qualified":null,"image":"1f91e-1f3fc.png","sheet_x":41,"sheet_y":15,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F91E-1F3FD","non_qualified":null,"image":"1f91e-1f3fd.png","sheet_x":41,"sheet_y":16,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F91E-1F3FE","non_qualified":null,"image":"1f91e-1f3fe.png","sheet_x":41,"sheet_y":17,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F91E-1F3FF","non_qualified":null,"image":"1f91e-1f3ff.png","sheet_x":41,"sheet_y":18,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"I LOVE YOU HAND SIGN","unified":"1F91F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f91f.png","sheet_x":41,"sheet_y":19,"short_name":"i_love_you_hand_sign","short_names":["i_love_you_hand_sign"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-partial","sort_order":189,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F91F-1F3FB","non_qualified":null,"image":"1f91f-1f3fb.png","sheet_x":41,"sheet_y":20,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F91F-1F3FC","non_qualified":null,"image":"1f91f-1f3fc.png","sheet_x":41,"sheet_y":21,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F91F-1F3FD","non_qualified":null,"image":"1f91f-1f3fd.png","sheet_x":41,"sheet_y":22,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F91F-1F3FE","non_qualified":null,"image":"1f91f-1f3fe.png","sheet_x":41,"sheet_y":23,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F91F-1F3FF","non_qualified":null,"image":"1f91f-1f3ff.png","sheet_x":41,"sheet_y":24,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"FACE WITH COWBOY HAT","unified":"1F920","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f920.png","sheet_x":41,"sheet_y":25,"short_name":"face_with_cowboy_hat","short_names":["face_with_cowboy_hat"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-hat","sort_order":71,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOWN FACE","unified":"1F921","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f921.png","sheet_x":41,"sheet_y":26,"short_name":"clown_face","short_names":["clown_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-costume","sort_order":113,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NAUSEATED FACE","unified":"1F922","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f922.png","sheet_x":41,"sheet_y":27,"short_name":"nauseated_face","short_names":["nauseated_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-unwell","sort_order":62,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ROLLING ON THE FLOOR LAUGHING","unified":"1F923","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f923.png","sheet_x":41,"sheet_y":28,"short_name":"rolling_on_the_floor_laughing","short_names":["rolling_on_the_floor_laughing"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-smiling","sort_order":7,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DROOLING FACE","unified":"1F924","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f924.png","sheet_x":41,"sheet_y":29,"short_name":"drooling_face","short_names":["drooling_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-sleepy","sort_order":56,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LYING FACE","unified":"1F925","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f925.png","sheet_x":41,"sheet_y":30,"short_name":"lying_face","short_names":["lying_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-neutral-skeptical","sort_order":49,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WOMAN FACEPALMING","unified":"1F926-200D-2640-FE0F","non_qualified":"1F926-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f926-200d-2640-fe0f.png","sheet_x":41,"sheet_y":31,"short_name":"woman-facepalming","short_names":["woman-facepalming"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":287,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F926-1F3FB-200D-2640-FE0F","non_qualified":"1F926-1F3FB-200D-2640","image":"1f926-1f3fb-200d-2640-fe0f.png","sheet_x":41,"sheet_y":32,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F926-1F3FC-200D-2640-FE0F","non_qualified":"1F926-1F3FC-200D-2640","image":"1f926-1f3fc-200d-2640-fe0f.png","sheet_x":41,"sheet_y":33,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F926-1F3FD-200D-2640-FE0F","non_qualified":"1F926-1F3FD-200D-2640","image":"1f926-1f3fd-200d-2640-fe0f.png","sheet_x":41,"sheet_y":34,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F926-1F3FE-200D-2640-FE0F","non_qualified":"1F926-1F3FE-200D-2640","image":"1f926-1f3fe-200d-2640-fe0f.png","sheet_x":41,"sheet_y":35,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F926-1F3FF-200D-2640-FE0F","non_qualified":"1F926-1F3FF-200D-2640","image":"1f926-1f3ff-200d-2640-fe0f.png","sheet_x":41,"sheet_y":36,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN FACEPALMING","unified":"1F926-200D-2642-FE0F","non_qualified":"1F926-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f926-200d-2642-fe0f.png","sheet_x":41,"sheet_y":37,"short_name":"man-facepalming","short_names":["man-facepalming"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":286,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F926-1F3FB-200D-2642-FE0F","non_qualified":"1F926-1F3FB-200D-2642","image":"1f926-1f3fb-200d-2642-fe0f.png","sheet_x":41,"sheet_y":38,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F926-1F3FC-200D-2642-FE0F","non_qualified":"1F926-1F3FC-200D-2642","image":"1f926-1f3fc-200d-2642-fe0f.png","sheet_x":41,"sheet_y":39,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F926-1F3FD-200D-2642-FE0F","non_qualified":"1F926-1F3FD-200D-2642","image":"1f926-1f3fd-200d-2642-fe0f.png","sheet_x":41,"sheet_y":40,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F926-1F3FE-200D-2642-FE0F","non_qualified":"1F926-1F3FE-200D-2642","image":"1f926-1f3fe-200d-2642-fe0f.png","sheet_x":41,"sheet_y":41,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F926-1F3FF-200D-2642-FE0F","non_qualified":"1F926-1F3FF-200D-2642","image":"1f926-1f3ff-200d-2642-fe0f.png","sheet_x":41,"sheet_y":42,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"FACE PALM","unified":"1F926","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f926.png","sheet_x":41,"sheet_y":43,"short_name":"face_palm","short_names":["face_palm"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":285,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F926-1F3FB","non_qualified":null,"image":"1f926-1f3fb.png","sheet_x":41,"sheet_y":44,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F926-1F3FC","non_qualified":null,"image":"1f926-1f3fc.png","sheet_x":41,"sheet_y":45,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F926-1F3FD","non_qualified":null,"image":"1f926-1f3fd.png","sheet_x":41,"sheet_y":46,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F926-1F3FE","non_qualified":null,"image":"1f926-1f3fe.png","sheet_x":41,"sheet_y":47,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F926-1F3FF","non_qualified":null,"image":"1f926-1f3ff.png","sheet_x":41,"sheet_y":48,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"SNEEZING FACE","unified":"1F927","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f927.png","sheet_x":41,"sheet_y":49,"short_name":"sneezing_face","short_names":["sneezing_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-unwell","sort_order":64,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH ONE EYEBROW RAISED","unified":"1F928","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f928.png","sheet_x":41,"sheet_y":50,"short_name":"face_with_raised_eyebrow","short_names":["face_with_raised_eyebrow","face_with_one_eyebrow_raised"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-neutral-skeptical","sort_order":38,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GRINNING FACE WITH STAR EYES","unified":"1F929","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f929.png","sheet_x":41,"sheet_y":51,"short_name":"star-struck","short_names":["star-struck","grinning_face_with_star_eyes"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-affection","sort_order":17,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GRINNING FACE WITH ONE LARGE AND ONE SMALL EYE","unified":"1F92A","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f92a.png","sheet_x":41,"sheet_y":52,"short_name":"zany_face","short_names":["zany_face","grinning_face_with_one_large_and_one_small_eye"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-tongue","sort_order":27,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH FINGER COVERING CLOSED LIPS","unified":"1F92B","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f92b.png","sheet_x":41,"sheet_y":53,"short_name":"shushing_face","short_names":["shushing_face","face_with_finger_covering_closed_lips"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-hand","sort_order":34,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SERIOUS FACE WITH SYMBOLS COVERING MOUTH","unified":"1F92C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f92c.png","sheet_x":41,"sheet_y":54,"short_name":"face_with_symbols_on_mouth","short_names":["face_with_symbols_on_mouth","serious_face_with_symbols_covering_mouth"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-negative","sort_order":107,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SMILING FACE WITH SMILING EYES AND HAND COVERING MOUTH","unified":"1F92D","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f92d.png","sheet_x":41,"sheet_y":55,"short_name":"face_with_hand_over_mouth","short_names":["face_with_hand_over_mouth","smiling_face_with_smiling_eyes_and_hand_covering_mouth"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-hand","sort_order":31,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH OPEN MOUTH VOMITING","unified":"1F92E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f92e.png","sheet_x":41,"sheet_y":56,"short_name":"face_vomiting","short_names":["face_vomiting","face_with_open_mouth_vomiting"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-unwell","sort_order":63,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SHOCKED FACE WITH EXPLODING HEAD","unified":"1F92F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f92f.png","sheet_x":41,"sheet_y":57,"short_name":"exploding_head","short_names":["exploding_head","shocked_face_with_exploding_head"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-unwell","sort_order":70,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PREGNANT WOMAN","unified":"1F930","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f930.png","sheet_x":41,"sheet_y":58,"short_name":"pregnant_woman","short_names":["pregnant_woman"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":366,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F930-1F3FB","non_qualified":null,"image":"1f930-1f3fb.png","sheet_x":41,"sheet_y":59,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F930-1F3FC","non_qualified":null,"image":"1f930-1f3fc.png","sheet_x":41,"sheet_y":60,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F930-1F3FD","non_qualified":null,"image":"1f930-1f3fd.png","sheet_x":41,"sheet_y":61,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F930-1F3FE","non_qualified":null,"image":"1f930-1f3fe.png","sheet_x":41,"sheet_y":62,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F930-1F3FF","non_qualified":null,"image":"1f930-1f3ff.png","sheet_x":42,"sheet_y":0,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"BREAST-FEEDING","unified":"1F931","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f931.png","sheet_x":42,"sheet_y":1,"short_name":"breast-feeding","short_names":["breast-feeding"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":369,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F931-1F3FB","non_qualified":null,"image":"1f931-1f3fb.png","sheet_x":42,"sheet_y":2,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F931-1F3FC","non_qualified":null,"image":"1f931-1f3fc.png","sheet_x":42,"sheet_y":3,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F931-1F3FD","non_qualified":null,"image":"1f931-1f3fd.png","sheet_x":42,"sheet_y":4,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F931-1F3FE","non_qualified":null,"image":"1f931-1f3fe.png","sheet_x":42,"sheet_y":5,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F931-1F3FF","non_qualified":null,"image":"1f931-1f3ff.png","sheet_x":42,"sheet_y":6,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PALMS UP TOGETHER","unified":"1F932","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f932.png","sheet_x":42,"sheet_y":7,"short_name":"palms_up_together","short_names":["palms_up_together"],"text":null,"texts":null,"category":"People & Body","subcategory":"hands","sort_order":209,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F932-1F3FB","non_qualified":null,"image":"1f932-1f3fb.png","sheet_x":42,"sheet_y":8,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F932-1F3FC","non_qualified":null,"image":"1f932-1f3fc.png","sheet_x":42,"sheet_y":9,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F932-1F3FD","non_qualified":null,"image":"1f932-1f3fd.png","sheet_x":42,"sheet_y":10,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F932-1F3FE","non_qualified":null,"image":"1f932-1f3fe.png","sheet_x":42,"sheet_y":11,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F932-1F3FF","non_qualified":null,"image":"1f932-1f3ff.png","sheet_x":42,"sheet_y":12,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"SELFIE","unified":"1F933","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f933.png","sheet_x":42,"sheet_y":13,"short_name":"selfie","short_names":["selfie"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-prop","sort_order":214,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F933-1F3FB","non_qualified":null,"image":"1f933-1f3fb.png","sheet_x":42,"sheet_y":14,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F933-1F3FC","non_qualified":null,"image":"1f933-1f3fc.png","sheet_x":42,"sheet_y":15,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F933-1F3FD","non_qualified":null,"image":"1f933-1f3fd.png","sheet_x":42,"sheet_y":16,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F933-1F3FE","non_qualified":null,"image":"1f933-1f3fe.png","sheet_x":42,"sheet_y":17,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F933-1F3FF","non_qualified":null,"image":"1f933-1f3ff.png","sheet_x":42,"sheet_y":18,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PRINCE","unified":"1F934","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f934.png","sheet_x":42,"sheet_y":19,"short_name":"prince","short_names":["prince"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":353,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F934-1F3FB","non_qualified":null,"image":"1f934-1f3fb.png","sheet_x":42,"sheet_y":20,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F934-1F3FC","non_qualified":null,"image":"1f934-1f3fc.png","sheet_x":42,"sheet_y":21,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F934-1F3FD","non_qualified":null,"image":"1f934-1f3fd.png","sheet_x":42,"sheet_y":22,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F934-1F3FE","non_qualified":null,"image":"1f934-1f3fe.png","sheet_x":42,"sheet_y":23,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F934-1F3FF","non_qualified":null,"image":"1f934-1f3ff.png","sheet_x":42,"sheet_y":24,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN IN TUXEDO","unified":"1F935-200D-2640-FE0F","non_qualified":"1F935-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f935-200d-2640-fe0f.png","sheet_x":42,"sheet_y":25,"short_name":"woman_in_tuxedo","short_names":["woman_in_tuxedo"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":362,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F935-1F3FB-200D-2640-FE0F","non_qualified":"1F935-1F3FB-200D-2640","image":"1f935-1f3fb-200d-2640-fe0f.png","sheet_x":42,"sheet_y":26,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F935-1F3FC-200D-2640-FE0F","non_qualified":"1F935-1F3FC-200D-2640","image":"1f935-1f3fc-200d-2640-fe0f.png","sheet_x":42,"sheet_y":27,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F935-1F3FD-200D-2640-FE0F","non_qualified":"1F935-1F3FD-200D-2640","image":"1f935-1f3fd-200d-2640-fe0f.png","sheet_x":42,"sheet_y":28,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F935-1F3FE-200D-2640-FE0F","non_qualified":"1F935-1F3FE-200D-2640","image":"1f935-1f3fe-200d-2640-fe0f.png","sheet_x":42,"sheet_y":29,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F935-1F3FF-200D-2640-FE0F","non_qualified":"1F935-1F3FF-200D-2640","image":"1f935-1f3ff-200d-2640-fe0f.png","sheet_x":42,"sheet_y":30,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN IN TUXEDO","unified":"1F935-200D-2642-FE0F","non_qualified":"1F935-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f935-200d-2642-fe0f.png","sheet_x":42,"sheet_y":31,"short_name":"man_in_tuxedo","short_names":["man_in_tuxedo"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":361,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F935-1F3FB-200D-2642-FE0F","non_qualified":"1F935-1F3FB-200D-2642","image":"1f935-1f3fb-200d-2642-fe0f.png","sheet_x":42,"sheet_y":32,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F935-1F3FC-200D-2642-FE0F","non_qualified":"1F935-1F3FC-200D-2642","image":"1f935-1f3fc-200d-2642-fe0f.png","sheet_x":42,"sheet_y":33,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F935-1F3FD-200D-2642-FE0F","non_qualified":"1F935-1F3FD-200D-2642","image":"1f935-1f3fd-200d-2642-fe0f.png","sheet_x":42,"sheet_y":34,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F935-1F3FE-200D-2642-FE0F","non_qualified":"1F935-1F3FE-200D-2642","image":"1f935-1f3fe-200d-2642-fe0f.png","sheet_x":42,"sheet_y":35,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F935-1F3FF-200D-2642-FE0F","non_qualified":"1F935-1F3FF-200D-2642","image":"1f935-1f3ff-200d-2642-fe0f.png","sheet_x":42,"sheet_y":36,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN IN TUXEDO","unified":"1F935","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f935.png","sheet_x":42,"sheet_y":37,"short_name":"person_in_tuxedo","short_names":["person_in_tuxedo"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":360,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F935-1F3FB","non_qualified":null,"image":"1f935-1f3fb.png","sheet_x":42,"sheet_y":38,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F935-1F3FC","non_qualified":null,"image":"1f935-1f3fc.png","sheet_x":42,"sheet_y":39,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F935-1F3FD","non_qualified":null,"image":"1f935-1f3fd.png","sheet_x":42,"sheet_y":40,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F935-1F3FE","non_qualified":null,"image":"1f935-1f3fe.png","sheet_x":42,"sheet_y":41,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F935-1F3FF","non_qualified":null,"image":"1f935-1f3ff.png","sheet_x":42,"sheet_y":42,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MOTHER CHRISTMAS","unified":"1F936","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f936.png","sheet_x":42,"sheet_y":43,"short_name":"mrs_claus","short_names":["mrs_claus","mother_christmas"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":375,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F936-1F3FB","non_qualified":null,"image":"1f936-1f3fb.png","sheet_x":42,"sheet_y":44,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F936-1F3FC","non_qualified":null,"image":"1f936-1f3fc.png","sheet_x":42,"sheet_y":45,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F936-1F3FD","non_qualified":null,"image":"1f936-1f3fd.png","sheet_x":42,"sheet_y":46,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F936-1F3FE","non_qualified":null,"image":"1f936-1f3fe.png","sheet_x":42,"sheet_y":47,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F936-1F3FF","non_qualified":null,"image":"1f936-1f3ff.png","sheet_x":42,"sheet_y":48,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN SHRUGGING","unified":"1F937-200D-2640-FE0F","non_qualified":"1F937-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f937-200d-2640-fe0f.png","sheet_x":42,"sheet_y":49,"short_name":"woman-shrugging","short_names":["woman-shrugging"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":290,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F937-1F3FB-200D-2640-FE0F","non_qualified":"1F937-1F3FB-200D-2640","image":"1f937-1f3fb-200d-2640-fe0f.png","sheet_x":42,"sheet_y":50,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F937-1F3FC-200D-2640-FE0F","non_qualified":"1F937-1F3FC-200D-2640","image":"1f937-1f3fc-200d-2640-fe0f.png","sheet_x":42,"sheet_y":51,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F937-1F3FD-200D-2640-FE0F","non_qualified":"1F937-1F3FD-200D-2640","image":"1f937-1f3fd-200d-2640-fe0f.png","sheet_x":42,"sheet_y":52,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F937-1F3FE-200D-2640-FE0F","non_qualified":"1F937-1F3FE-200D-2640","image":"1f937-1f3fe-200d-2640-fe0f.png","sheet_x":42,"sheet_y":53,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F937-1F3FF-200D-2640-FE0F","non_qualified":"1F937-1F3FF-200D-2640","image":"1f937-1f3ff-200d-2640-fe0f.png","sheet_x":42,"sheet_y":54,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN SHRUGGING","unified":"1F937-200D-2642-FE0F","non_qualified":"1F937-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f937-200d-2642-fe0f.png","sheet_x":42,"sheet_y":55,"short_name":"man-shrugging","short_names":["man-shrugging"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":289,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F937-1F3FB-200D-2642-FE0F","non_qualified":"1F937-1F3FB-200D-2642","image":"1f937-1f3fb-200d-2642-fe0f.png","sheet_x":42,"sheet_y":56,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F937-1F3FC-200D-2642-FE0F","non_qualified":"1F937-1F3FC-200D-2642","image":"1f937-1f3fc-200d-2642-fe0f.png","sheet_x":42,"sheet_y":57,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F937-1F3FD-200D-2642-FE0F","non_qualified":"1F937-1F3FD-200D-2642","image":"1f937-1f3fd-200d-2642-fe0f.png","sheet_x":42,"sheet_y":58,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F937-1F3FE-200D-2642-FE0F","non_qualified":"1F937-1F3FE-200D-2642","image":"1f937-1f3fe-200d-2642-fe0f.png","sheet_x":42,"sheet_y":59,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F937-1F3FF-200D-2642-FE0F","non_qualified":"1F937-1F3FF-200D-2642","image":"1f937-1f3ff-200d-2642-fe0f.png","sheet_x":42,"sheet_y":60,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"SHRUG","unified":"1F937","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f937.png","sheet_x":42,"sheet_y":61,"short_name":"shrug","short_names":["shrug"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":288,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F937-1F3FB","non_qualified":null,"image":"1f937-1f3fb.png","sheet_x":42,"sheet_y":62,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F937-1F3FC","non_qualified":null,"image":"1f937-1f3fc.png","sheet_x":43,"sheet_y":0,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F937-1F3FD","non_qualified":null,"image":"1f937-1f3fd.png","sheet_x":43,"sheet_y":1,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F937-1F3FE","non_qualified":null,"image":"1f937-1f3fe.png","sheet_x":43,"sheet_y":2,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F937-1F3FF","non_qualified":null,"image":"1f937-1f3ff.png","sheet_x":43,"sheet_y":3,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN CARTWHEELING","unified":"1F938-200D-2640-FE0F","non_qualified":"1F938-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f938-200d-2640-fe0f.png","sheet_x":43,"sheet_y":4,"short_name":"woman-cartwheeling","short_names":["woman-cartwheeling"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":494,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F938-1F3FB-200D-2640-FE0F","non_qualified":"1F938-1F3FB-200D-2640","image":"1f938-1f3fb-200d-2640-fe0f.png","sheet_x":43,"sheet_y":5,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F938-1F3FC-200D-2640-FE0F","non_qualified":"1F938-1F3FC-200D-2640","image":"1f938-1f3fc-200d-2640-fe0f.png","sheet_x":43,"sheet_y":6,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F938-1F3FD-200D-2640-FE0F","non_qualified":"1F938-1F3FD-200D-2640","image":"1f938-1f3fd-200d-2640-fe0f.png","sheet_x":43,"sheet_y":7,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F938-1F3FE-200D-2640-FE0F","non_qualified":"1F938-1F3FE-200D-2640","image":"1f938-1f3fe-200d-2640-fe0f.png","sheet_x":43,"sheet_y":8,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F938-1F3FF-200D-2640-FE0F","non_qualified":"1F938-1F3FF-200D-2640","image":"1f938-1f3ff-200d-2640-fe0f.png","sheet_x":43,"sheet_y":9,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN CARTWHEELING","unified":"1F938-200D-2642-FE0F","non_qualified":"1F938-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f938-200d-2642-fe0f.png","sheet_x":43,"sheet_y":10,"short_name":"man-cartwheeling","short_names":["man-cartwheeling"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":493,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F938-1F3FB-200D-2642-FE0F","non_qualified":"1F938-1F3FB-200D-2642","image":"1f938-1f3fb-200d-2642-fe0f.png","sheet_x":43,"sheet_y":11,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F938-1F3FC-200D-2642-FE0F","non_qualified":"1F938-1F3FC-200D-2642","image":"1f938-1f3fc-200d-2642-fe0f.png","sheet_x":43,"sheet_y":12,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F938-1F3FD-200D-2642-FE0F","non_qualified":"1F938-1F3FD-200D-2642","image":"1f938-1f3fd-200d-2642-fe0f.png","sheet_x":43,"sheet_y":13,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F938-1F3FE-200D-2642-FE0F","non_qualified":"1F938-1F3FE-200D-2642","image":"1f938-1f3fe-200d-2642-fe0f.png","sheet_x":43,"sheet_y":14,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F938-1F3FF-200D-2642-FE0F","non_qualified":"1F938-1F3FF-200D-2642","image":"1f938-1f3ff-200d-2642-fe0f.png","sheet_x":43,"sheet_y":15,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PERSON DOING CARTWHEEL","unified":"1F938","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f938.png","sheet_x":43,"sheet_y":16,"short_name":"person_doing_cartwheel","short_names":["person_doing_cartwheel"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":492,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F938-1F3FB","non_qualified":null,"image":"1f938-1f3fb.png","sheet_x":43,"sheet_y":17,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F938-1F3FC","non_qualified":null,"image":"1f938-1f3fc.png","sheet_x":43,"sheet_y":18,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F938-1F3FD","non_qualified":null,"image":"1f938-1f3fd.png","sheet_x":43,"sheet_y":19,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F938-1F3FE","non_qualified":null,"image":"1f938-1f3fe.png","sheet_x":43,"sheet_y":20,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F938-1F3FF","non_qualified":null,"image":"1f938-1f3ff.png","sheet_x":43,"sheet_y":21,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN JUGGLING","unified":"1F939-200D-2640-FE0F","non_qualified":"1F939-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f939-200d-2640-fe0f.png","sheet_x":43,"sheet_y":22,"short_name":"woman-juggling","short_names":["woman-juggling"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":506,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F939-1F3FB-200D-2640-FE0F","non_qualified":"1F939-1F3FB-200D-2640","image":"1f939-1f3fb-200d-2640-fe0f.png","sheet_x":43,"sheet_y":23,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F939-1F3FC-200D-2640-FE0F","non_qualified":"1F939-1F3FC-200D-2640","image":"1f939-1f3fc-200d-2640-fe0f.png","sheet_x":43,"sheet_y":24,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F939-1F3FD-200D-2640-FE0F","non_qualified":"1F939-1F3FD-200D-2640","image":"1f939-1f3fd-200d-2640-fe0f.png","sheet_x":43,"sheet_y":25,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F939-1F3FE-200D-2640-FE0F","non_qualified":"1F939-1F3FE-200D-2640","image":"1f939-1f3fe-200d-2640-fe0f.png","sheet_x":43,"sheet_y":26,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F939-1F3FF-200D-2640-FE0F","non_qualified":"1F939-1F3FF-200D-2640","image":"1f939-1f3ff-200d-2640-fe0f.png","sheet_x":43,"sheet_y":27,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN JUGGLING","unified":"1F939-200D-2642-FE0F","non_qualified":"1F939-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f939-200d-2642-fe0f.png","sheet_x":43,"sheet_y":28,"short_name":"man-juggling","short_names":["man-juggling"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":505,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F939-1F3FB-200D-2642-FE0F","non_qualified":"1F939-1F3FB-200D-2642","image":"1f939-1f3fb-200d-2642-fe0f.png","sheet_x":43,"sheet_y":29,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F939-1F3FC-200D-2642-FE0F","non_qualified":"1F939-1F3FC-200D-2642","image":"1f939-1f3fc-200d-2642-fe0f.png","sheet_x":43,"sheet_y":30,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F939-1F3FD-200D-2642-FE0F","non_qualified":"1F939-1F3FD-200D-2642","image":"1f939-1f3fd-200d-2642-fe0f.png","sheet_x":43,"sheet_y":31,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F939-1F3FE-200D-2642-FE0F","non_qualified":"1F939-1F3FE-200D-2642","image":"1f939-1f3fe-200d-2642-fe0f.png","sheet_x":43,"sheet_y":32,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F939-1F3FF-200D-2642-FE0F","non_qualified":"1F939-1F3FF-200D-2642","image":"1f939-1f3ff-200d-2642-fe0f.png","sheet_x":43,"sheet_y":33,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"JUGGLING","unified":"1F939","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f939.png","sheet_x":43,"sheet_y":34,"short_name":"juggling","short_names":["juggling"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":504,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F939-1F3FB","non_qualified":null,"image":"1f939-1f3fb.png","sheet_x":43,"sheet_y":35,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F939-1F3FC","non_qualified":null,"image":"1f939-1f3fc.png","sheet_x":43,"sheet_y":36,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F939-1F3FD","non_qualified":null,"image":"1f939-1f3fd.png","sheet_x":43,"sheet_y":37,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F939-1F3FE","non_qualified":null,"image":"1f939-1f3fe.png","sheet_x":43,"sheet_y":38,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F939-1F3FF","non_qualified":null,"image":"1f939-1f3ff.png","sheet_x":43,"sheet_y":39,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"FENCER","unified":"1F93A","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f93a.png","sheet_x":43,"sheet_y":40,"short_name":"fencer","short_names":["fencer"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":464,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WOMEN WRESTLING","unified":"1F93C-200D-2640-FE0F","non_qualified":"1F93C-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f93c-200d-2640-fe0f.png","sheet_x":43,"sheet_y":41,"short_name":"woman-wrestling","short_names":["woman-wrestling"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":497,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F93C-1F3FB-200D-2640-FE0F","non_qualified":"1F93C-1F3FB-200D-2640","image":"1f93c-1f3fb-200d-2640-fe0f.png","sheet_x":43,"sheet_y":42,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC":{"unified":"1F93C-1F3FC-200D-2640-FE0F","non_qualified":"1F93C-1F3FC-200D-2640","image":"1f93c-1f3fc-200d-2640-fe0f.png","sheet_x":43,"sheet_y":43,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD":{"unified":"1F93C-1F3FD-200D-2640-FE0F","non_qualified":"1F93C-1F3FD-200D-2640","image":"1f93c-1f3fd-200d-2640-fe0f.png","sheet_x":43,"sheet_y":44,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE":{"unified":"1F93C-1F3FE-200D-2640-FE0F","non_qualified":"1F93C-1F3FE-200D-2640","image":"1f93c-1f3fe-200d-2640-fe0f.png","sheet_x":43,"sheet_y":45,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF":{"unified":"1F93C-1F3FF-200D-2640-FE0F","non_qualified":"1F93C-1F3FF-200D-2640","image":"1f93c-1f3ff-200d-2640-fe0f.png","sheet_x":43,"sheet_y":46,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FC":{"unified":"1F469-1F3FB-200D-1FAEF-200D-1F469-1F3FC","non_qualified":null,"image":"1f469-1f3fb-200d-1faef-200d-1f469-1f3fc.png","sheet_x":43,"sheet_y":47,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FD":{"unified":"1F469-1F3FB-200D-1FAEF-200D-1F469-1F3FD","non_qualified":null,"image":"1f469-1f3fb-200d-1faef-200d-1f469-1f3fd.png","sheet_x":43,"sheet_y":48,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FE":{"unified":"1F469-1F3FB-200D-1FAEF-200D-1F469-1F3FE","non_qualified":null,"image":"1f469-1f3fb-200d-1faef-200d-1f469-1f3fe.png","sheet_x":43,"sheet_y":49,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FF":{"unified":"1F469-1F3FB-200D-1FAEF-200D-1F469-1F3FF","non_qualified":null,"image":"1f469-1f3fb-200d-1faef-200d-1f469-1f3ff.png","sheet_x":43,"sheet_y":50,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FB":{"unified":"1F469-1F3FC-200D-1FAEF-200D-1F469-1F3FB","non_qualified":null,"image":"1f469-1f3fc-200d-1faef-200d-1f469-1f3fb.png","sheet_x":43,"sheet_y":51,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FD":{"unified":"1F469-1F3FC-200D-1FAEF-200D-1F469-1F3FD","non_qualified":null,"image":"1f469-1f3fc-200d-1faef-200d-1f469-1f3fd.png","sheet_x":43,"sheet_y":52,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FE":{"unified":"1F469-1F3FC-200D-1FAEF-200D-1F469-1F3FE","non_qualified":null,"image":"1f469-1f3fc-200d-1faef-200d-1f469-1f3fe.png","sheet_x":43,"sheet_y":53,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FF":{"unified":"1F469-1F3FC-200D-1FAEF-200D-1F469-1F3FF","non_qualified":null,"image":"1f469-1f3fc-200d-1faef-200d-1f469-1f3ff.png","sheet_x":43,"sheet_y":54,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FB":{"unified":"1F469-1F3FD-200D-1FAEF-200D-1F469-1F3FB","non_qualified":null,"image":"1f469-1f3fd-200d-1faef-200d-1f469-1f3fb.png","sheet_x":43,"sheet_y":55,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FC":{"unified":"1F469-1F3FD-200D-1FAEF-200D-1F469-1F3FC","non_qualified":null,"image":"1f469-1f3fd-200d-1faef-200d-1f469-1f3fc.png","sheet_x":43,"sheet_y":56,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FE":{"unified":"1F469-1F3FD-200D-1FAEF-200D-1F469-1F3FE","non_qualified":null,"image":"1f469-1f3fd-200d-1faef-200d-1f469-1f3fe.png","sheet_x":43,"sheet_y":57,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FF":{"unified":"1F469-1F3FD-200D-1FAEF-200D-1F469-1F3FF","non_qualified":null,"image":"1f469-1f3fd-200d-1faef-200d-1f469-1f3ff.png","sheet_x":43,"sheet_y":58,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FB":{"unified":"1F469-1F3FE-200D-1FAEF-200D-1F469-1F3FB","non_qualified":null,"image":"1f469-1f3fe-200d-1faef-200d-1f469-1f3fb.png","sheet_x":43,"sheet_y":59,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FC":{"unified":"1F469-1F3FE-200D-1FAEF-200D-1F469-1F3FC","non_qualified":null,"image":"1f469-1f3fe-200d-1faef-200d-1f469-1f3fc.png","sheet_x":43,"sheet_y":60,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FD":{"unified":"1F469-1F3FE-200D-1FAEF-200D-1F469-1F3FD","non_qualified":null,"image":"1f469-1f3fe-200d-1faef-200d-1f469-1f3fd.png","sheet_x":43,"sheet_y":61,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FF":{"unified":"1F469-1F3FE-200D-1FAEF-200D-1F469-1F3FF","non_qualified":null,"image":"1f469-1f3fe-200d-1faef-200d-1f469-1f3ff.png","sheet_x":43,"sheet_y":62,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FB":{"unified":"1F469-1F3FF-200D-1FAEF-200D-1F469-1F3FB","non_qualified":null,"image":"1f469-1f3ff-200d-1faef-200d-1f469-1f3fb.png","sheet_x":44,"sheet_y":0,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FC":{"unified":"1F469-1F3FF-200D-1FAEF-200D-1F469-1F3FC","non_qualified":null,"image":"1f469-1f3ff-200d-1faef-200d-1f469-1f3fc.png","sheet_x":44,"sheet_y":1,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FD":{"unified":"1F469-1F3FF-200D-1FAEF-200D-1F469-1F3FD","non_qualified":null,"image":"1f469-1f3ff-200d-1faef-200d-1f469-1f3fd.png","sheet_x":44,"sheet_y":2,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FE":{"unified":"1F469-1F3FF-200D-1FAEF-200D-1F469-1F3FE","non_qualified":null,"image":"1f469-1f3ff-200d-1faef-200d-1f469-1f3fe.png","sheet_x":44,"sheet_y":3,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false}}},{"name":"MEN WRESTLING","unified":"1F93C-200D-2642-FE0F","non_qualified":"1F93C-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f93c-200d-2642-fe0f.png","sheet_x":44,"sheet_y":4,"short_name":"man-wrestling","short_names":["man-wrestling"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":496,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F93C-1F3FB-200D-2642-FE0F","non_qualified":"1F93C-1F3FB-200D-2642","image":"1f93c-1f3fb-200d-2642-fe0f.png","sheet_x":44,"sheet_y":5,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC":{"unified":"1F93C-1F3FC-200D-2642-FE0F","non_qualified":"1F93C-1F3FC-200D-2642","image":"1f93c-1f3fc-200d-2642-fe0f.png","sheet_x":44,"sheet_y":6,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD":{"unified":"1F93C-1F3FD-200D-2642-FE0F","non_qualified":"1F93C-1F3FD-200D-2642","image":"1f93c-1f3fd-200d-2642-fe0f.png","sheet_x":44,"sheet_y":7,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE":{"unified":"1F93C-1F3FE-200D-2642-FE0F","non_qualified":"1F93C-1F3FE-200D-2642","image":"1f93c-1f3fe-200d-2642-fe0f.png","sheet_x":44,"sheet_y":8,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF":{"unified":"1F93C-1F3FF-200D-2642-FE0F","non_qualified":"1F93C-1F3FF-200D-2642","image":"1f93c-1f3ff-200d-2642-fe0f.png","sheet_x":44,"sheet_y":9,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FC":{"unified":"1F468-1F3FB-200D-1FAEF-200D-1F468-1F3FC","non_qualified":null,"image":"1f468-1f3fb-200d-1faef-200d-1f468-1f3fc.png","sheet_x":44,"sheet_y":10,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FD":{"unified":"1F468-1F3FB-200D-1FAEF-200D-1F468-1F3FD","non_qualified":null,"image":"1f468-1f3fb-200d-1faef-200d-1f468-1f3fd.png","sheet_x":44,"sheet_y":11,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FE":{"unified":"1F468-1F3FB-200D-1FAEF-200D-1F468-1F3FE","non_qualified":null,"image":"1f468-1f3fb-200d-1faef-200d-1f468-1f3fe.png","sheet_x":44,"sheet_y":12,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FF":{"unified":"1F468-1F3FB-200D-1FAEF-200D-1F468-1F3FF","non_qualified":null,"image":"1f468-1f3fb-200d-1faef-200d-1f468-1f3ff.png","sheet_x":44,"sheet_y":13,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FB":{"unified":"1F468-1F3FC-200D-1FAEF-200D-1F468-1F3FB","non_qualified":null,"image":"1f468-1f3fc-200d-1faef-200d-1f468-1f3fb.png","sheet_x":44,"sheet_y":14,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FD":{"unified":"1F468-1F3FC-200D-1FAEF-200D-1F468-1F3FD","non_qualified":null,"image":"1f468-1f3fc-200d-1faef-200d-1f468-1f3fd.png","sheet_x":44,"sheet_y":15,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FE":{"unified":"1F468-1F3FC-200D-1FAEF-200D-1F468-1F3FE","non_qualified":null,"image":"1f468-1f3fc-200d-1faef-200d-1f468-1f3fe.png","sheet_x":44,"sheet_y":16,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FF":{"unified":"1F468-1F3FC-200D-1FAEF-200D-1F468-1F3FF","non_qualified":null,"image":"1f468-1f3fc-200d-1faef-200d-1f468-1f3ff.png","sheet_x":44,"sheet_y":17,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FB":{"unified":"1F468-1F3FD-200D-1FAEF-200D-1F468-1F3FB","non_qualified":null,"image":"1f468-1f3fd-200d-1faef-200d-1f468-1f3fb.png","sheet_x":44,"sheet_y":18,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FC":{"unified":"1F468-1F3FD-200D-1FAEF-200D-1F468-1F3FC","non_qualified":null,"image":"1f468-1f3fd-200d-1faef-200d-1f468-1f3fc.png","sheet_x":44,"sheet_y":19,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FE":{"unified":"1F468-1F3FD-200D-1FAEF-200D-1F468-1F3FE","non_qualified":null,"image":"1f468-1f3fd-200d-1faef-200d-1f468-1f3fe.png","sheet_x":44,"sheet_y":20,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FF":{"unified":"1F468-1F3FD-200D-1FAEF-200D-1F468-1F3FF","non_qualified":null,"image":"1f468-1f3fd-200d-1faef-200d-1f468-1f3ff.png","sheet_x":44,"sheet_y":21,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FB":{"unified":"1F468-1F3FE-200D-1FAEF-200D-1F468-1F3FB","non_qualified":null,"image":"1f468-1f3fe-200d-1faef-200d-1f468-1f3fb.png","sheet_x":44,"sheet_y":22,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FC":{"unified":"1F468-1F3FE-200D-1FAEF-200D-1F468-1F3FC","non_qualified":null,"image":"1f468-1f3fe-200d-1faef-200d-1f468-1f3fc.png","sheet_x":44,"sheet_y":23,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FD":{"unified":"1F468-1F3FE-200D-1FAEF-200D-1F468-1F3FD","non_qualified":null,"image":"1f468-1f3fe-200d-1faef-200d-1f468-1f3fd.png","sheet_x":44,"sheet_y":24,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FF":{"unified":"1F468-1F3FE-200D-1FAEF-200D-1F468-1F3FF","non_qualified":null,"image":"1f468-1f3fe-200d-1faef-200d-1f468-1f3ff.png","sheet_x":44,"sheet_y":25,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FB":{"unified":"1F468-1F3FF-200D-1FAEF-200D-1F468-1F3FB","non_qualified":null,"image":"1f468-1f3ff-200d-1faef-200d-1f468-1f3fb.png","sheet_x":44,"sheet_y":26,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FC":{"unified":"1F468-1F3FF-200D-1FAEF-200D-1F468-1F3FC","non_qualified":null,"image":"1f468-1f3ff-200d-1faef-200d-1f468-1f3fc.png","sheet_x":44,"sheet_y":27,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FD":{"unified":"1F468-1F3FF-200D-1FAEF-200D-1F468-1F3FD","non_qualified":null,"image":"1f468-1f3ff-200d-1faef-200d-1f468-1f3fd.png","sheet_x":44,"sheet_y":28,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FE":{"unified":"1F468-1F3FF-200D-1FAEF-200D-1F468-1F3FE","non_qualified":null,"image":"1f468-1f3ff-200d-1faef-200d-1f468-1f3fe.png","sheet_x":44,"sheet_y":29,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false}}},{"name":"WRESTLERS","unified":"1F93C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f93c.png","sheet_x":44,"sheet_y":30,"short_name":"wrestlers","short_names":["wrestlers"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":495,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F93C-1F3FB","non_qualified":null,"image":"1f93c-1f3fb.png","sheet_x":44,"sheet_y":31,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC":{"unified":"1F93C-1F3FC","non_qualified":null,"image":"1f93c-1f3fc.png","sheet_x":44,"sheet_y":32,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD":{"unified":"1F93C-1F3FD","non_qualified":null,"image":"1f93c-1f3fd.png","sheet_x":44,"sheet_y":33,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE":{"unified":"1F93C-1F3FE","non_qualified":null,"image":"1f93c-1f3fe.png","sheet_x":44,"sheet_y":34,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF":{"unified":"1F93C-1F3FF","non_qualified":null,"image":"1f93c-1f3ff.png","sheet_x":44,"sheet_y":35,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FC":{"unified":"1F9D1-1F3FB-200D-1FAEF-200D-1F9D1-1F3FC","non_qualified":null,"image":"1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3fc.png","sheet_x":44,"sheet_y":36,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FD":{"unified":"1F9D1-1F3FB-200D-1FAEF-200D-1F9D1-1F3FD","non_qualified":null,"image":"1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3fd.png","sheet_x":44,"sheet_y":37,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FE":{"unified":"1F9D1-1F3FB-200D-1FAEF-200D-1F9D1-1F3FE","non_qualified":null,"image":"1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3fe.png","sheet_x":44,"sheet_y":38,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FB-1F3FF":{"unified":"1F9D1-1F3FB-200D-1FAEF-200D-1F9D1-1F3FF","non_qualified":null,"image":"1f9d1-1f3fb-200d-1faef-200d-1f9d1-1f3ff.png","sheet_x":44,"sheet_y":39,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FB":{"unified":"1F9D1-1F3FC-200D-1FAEF-200D-1F9D1-1F3FB","non_qualified":null,"image":"1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3fb.png","sheet_x":44,"sheet_y":40,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FD":{"unified":"1F9D1-1F3FC-200D-1FAEF-200D-1F9D1-1F3FD","non_qualified":null,"image":"1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3fd.png","sheet_x":44,"sheet_y":41,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FE":{"unified":"1F9D1-1F3FC-200D-1FAEF-200D-1F9D1-1F3FE","non_qualified":null,"image":"1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3fe.png","sheet_x":44,"sheet_y":42,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC-1F3FF":{"unified":"1F9D1-1F3FC-200D-1FAEF-200D-1F9D1-1F3FF","non_qualified":null,"image":"1f9d1-1f3fc-200d-1faef-200d-1f9d1-1f3ff.png","sheet_x":44,"sheet_y":43,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FB":{"unified":"1F9D1-1F3FD-200D-1FAEF-200D-1F9D1-1F3FB","non_qualified":null,"image":"1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3fb.png","sheet_x":44,"sheet_y":44,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FC":{"unified":"1F9D1-1F3FD-200D-1FAEF-200D-1F9D1-1F3FC","non_qualified":null,"image":"1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3fc.png","sheet_x":44,"sheet_y":45,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FE":{"unified":"1F9D1-1F3FD-200D-1FAEF-200D-1F9D1-1F3FE","non_qualified":null,"image":"1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3fe.png","sheet_x":44,"sheet_y":46,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD-1F3FF":{"unified":"1F9D1-1F3FD-200D-1FAEF-200D-1F9D1-1F3FF","non_qualified":null,"image":"1f9d1-1f3fd-200d-1faef-200d-1f9d1-1f3ff.png","sheet_x":44,"sheet_y":47,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FB":{"unified":"1F9D1-1F3FE-200D-1FAEF-200D-1F9D1-1F3FB","non_qualified":null,"image":"1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3fb.png","sheet_x":44,"sheet_y":48,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FC":{"unified":"1F9D1-1F3FE-200D-1FAEF-200D-1F9D1-1F3FC","non_qualified":null,"image":"1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3fc.png","sheet_x":44,"sheet_y":49,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FD":{"unified":"1F9D1-1F3FE-200D-1FAEF-200D-1F9D1-1F3FD","non_qualified":null,"image":"1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3fd.png","sheet_x":44,"sheet_y":50,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE-1F3FF":{"unified":"1F9D1-1F3FE-200D-1FAEF-200D-1F9D1-1F3FF","non_qualified":null,"image":"1f9d1-1f3fe-200d-1faef-200d-1f9d1-1f3ff.png","sheet_x":44,"sheet_y":51,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FB":{"unified":"1F9D1-1F3FF-200D-1FAEF-200D-1F9D1-1F3FB","non_qualified":null,"image":"1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fb.png","sheet_x":44,"sheet_y":52,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FC":{"unified":"1F9D1-1F3FF-200D-1FAEF-200D-1F9D1-1F3FC","non_qualified":null,"image":"1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fc.png","sheet_x":44,"sheet_y":53,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FD":{"unified":"1F9D1-1F3FF-200D-1FAEF-200D-1F9D1-1F3FD","non_qualified":null,"image":"1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fd.png","sheet_x":44,"sheet_y":54,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF-1F3FE":{"unified":"1F9D1-1F3FF-200D-1FAEF-200D-1F9D1-1F3FE","non_qualified":null,"image":"1f9d1-1f3ff-200d-1faef-200d-1f9d1-1f3fe.png","sheet_x":44,"sheet_y":55,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false}}},{"name":"WOMAN PLAYING WATER POLO","unified":"1F93D-200D-2640-FE0F","non_qualified":"1F93D-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f93d-200d-2640-fe0f.png","sheet_x":44,"sheet_y":56,"short_name":"woman-playing-water-polo","short_names":["woman-playing-water-polo"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":500,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F93D-1F3FB-200D-2640-FE0F","non_qualified":"1F93D-1F3FB-200D-2640","image":"1f93d-1f3fb-200d-2640-fe0f.png","sheet_x":44,"sheet_y":57,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F93D-1F3FC-200D-2640-FE0F","non_qualified":"1F93D-1F3FC-200D-2640","image":"1f93d-1f3fc-200d-2640-fe0f.png","sheet_x":44,"sheet_y":58,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F93D-1F3FD-200D-2640-FE0F","non_qualified":"1F93D-1F3FD-200D-2640","image":"1f93d-1f3fd-200d-2640-fe0f.png","sheet_x":44,"sheet_y":59,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F93D-1F3FE-200D-2640-FE0F","non_qualified":"1F93D-1F3FE-200D-2640","image":"1f93d-1f3fe-200d-2640-fe0f.png","sheet_x":44,"sheet_y":60,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F93D-1F3FF-200D-2640-FE0F","non_qualified":"1F93D-1F3FF-200D-2640","image":"1f93d-1f3ff-200d-2640-fe0f.png","sheet_x":44,"sheet_y":61,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN PLAYING WATER POLO","unified":"1F93D-200D-2642-FE0F","non_qualified":"1F93D-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f93d-200d-2642-fe0f.png","sheet_x":44,"sheet_y":62,"short_name":"man-playing-water-polo","short_names":["man-playing-water-polo"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":499,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F93D-1F3FB-200D-2642-FE0F","non_qualified":"1F93D-1F3FB-200D-2642","image":"1f93d-1f3fb-200d-2642-fe0f.png","sheet_x":45,"sheet_y":0,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F93D-1F3FC-200D-2642-FE0F","non_qualified":"1F93D-1F3FC-200D-2642","image":"1f93d-1f3fc-200d-2642-fe0f.png","sheet_x":45,"sheet_y":1,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F93D-1F3FD-200D-2642-FE0F","non_qualified":"1F93D-1F3FD-200D-2642","image":"1f93d-1f3fd-200d-2642-fe0f.png","sheet_x":45,"sheet_y":2,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F93D-1F3FE-200D-2642-FE0F","non_qualified":"1F93D-1F3FE-200D-2642","image":"1f93d-1f3fe-200d-2642-fe0f.png","sheet_x":45,"sheet_y":3,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F93D-1F3FF-200D-2642-FE0F","non_qualified":"1F93D-1F3FF-200D-2642","image":"1f93d-1f3ff-200d-2642-fe0f.png","sheet_x":45,"sheet_y":4,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WATER POLO","unified":"1F93D","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f93d.png","sheet_x":45,"sheet_y":5,"short_name":"water_polo","short_names":["water_polo"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":498,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F93D-1F3FB","non_qualified":null,"image":"1f93d-1f3fb.png","sheet_x":45,"sheet_y":6,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F93D-1F3FC","non_qualified":null,"image":"1f93d-1f3fc.png","sheet_x":45,"sheet_y":7,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F93D-1F3FD","non_qualified":null,"image":"1f93d-1f3fd.png","sheet_x":45,"sheet_y":8,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F93D-1F3FE","non_qualified":null,"image":"1f93d-1f3fe.png","sheet_x":45,"sheet_y":9,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F93D-1F3FF","non_qualified":null,"image":"1f93d-1f3ff.png","sheet_x":45,"sheet_y":10,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN PLAYING HANDBALL","unified":"1F93E-200D-2640-FE0F","non_qualified":"1F93E-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f93e-200d-2640-fe0f.png","sheet_x":45,"sheet_y":11,"short_name":"woman-playing-handball","short_names":["woman-playing-handball"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":503,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F93E-1F3FB-200D-2640-FE0F","non_qualified":"1F93E-1F3FB-200D-2640","image":"1f93e-1f3fb-200d-2640-fe0f.png","sheet_x":45,"sheet_y":12,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F93E-1F3FC-200D-2640-FE0F","non_qualified":"1F93E-1F3FC-200D-2640","image":"1f93e-1f3fc-200d-2640-fe0f.png","sheet_x":45,"sheet_y":13,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F93E-1F3FD-200D-2640-FE0F","non_qualified":"1F93E-1F3FD-200D-2640","image":"1f93e-1f3fd-200d-2640-fe0f.png","sheet_x":45,"sheet_y":14,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F93E-1F3FE-200D-2640-FE0F","non_qualified":"1F93E-1F3FE-200D-2640","image":"1f93e-1f3fe-200d-2640-fe0f.png","sheet_x":45,"sheet_y":15,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F93E-1F3FF-200D-2640-FE0F","non_qualified":"1F93E-1F3FF-200D-2640","image":"1f93e-1f3ff-200d-2640-fe0f.png","sheet_x":45,"sheet_y":16,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN PLAYING HANDBALL","unified":"1F93E-200D-2642-FE0F","non_qualified":"1F93E-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f93e-200d-2642-fe0f.png","sheet_x":45,"sheet_y":17,"short_name":"man-playing-handball","short_names":["man-playing-handball"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":502,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F93E-1F3FB-200D-2642-FE0F","non_qualified":"1F93E-1F3FB-200D-2642","image":"1f93e-1f3fb-200d-2642-fe0f.png","sheet_x":45,"sheet_y":18,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F93E-1F3FC-200D-2642-FE0F","non_qualified":"1F93E-1F3FC-200D-2642","image":"1f93e-1f3fc-200d-2642-fe0f.png","sheet_x":45,"sheet_y":19,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F93E-1F3FD-200D-2642-FE0F","non_qualified":"1F93E-1F3FD-200D-2642","image":"1f93e-1f3fd-200d-2642-fe0f.png","sheet_x":45,"sheet_y":20,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F93E-1F3FE-200D-2642-FE0F","non_qualified":"1F93E-1F3FE-200D-2642","image":"1f93e-1f3fe-200d-2642-fe0f.png","sheet_x":45,"sheet_y":21,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F93E-1F3FF-200D-2642-FE0F","non_qualified":"1F93E-1F3FF-200D-2642","image":"1f93e-1f3ff-200d-2642-fe0f.png","sheet_x":45,"sheet_y":22,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"HANDBALL","unified":"1F93E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f93e.png","sheet_x":45,"sheet_y":23,"short_name":"handball","short_names":["handball"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":501,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F93E-1F3FB","non_qualified":null,"image":"1f93e-1f3fb.png","sheet_x":45,"sheet_y":24,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F93E-1F3FC","non_qualified":null,"image":"1f93e-1f3fc.png","sheet_x":45,"sheet_y":25,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F93E-1F3FD","non_qualified":null,"image":"1f93e-1f3fd.png","sheet_x":45,"sheet_y":26,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F93E-1F3FE","non_qualified":null,"image":"1f93e-1f3fe.png","sheet_x":45,"sheet_y":27,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F93E-1F3FF","non_qualified":null,"image":"1f93e-1f3ff.png","sheet_x":45,"sheet_y":28,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"DIVING MASK","unified":"1F93F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f93f.png","sheet_x":45,"sheet_y":29,"short_name":"diving_mask","short_names":["diving_mask"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1124,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WILTED FLOWER","unified":"1F940","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f940.png","sheet_x":45,"sheet_y":30,"short_name":"wilted_flower","short_names":["wilted_flower"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-flower","sort_order":702,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DRUM WITH DRUMSTICKS","unified":"1F941","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f941.png","sheet_x":45,"sheet_y":31,"short_name":"drum_with_drumsticks","short_names":["drum_with_drumsticks"],"text":null,"texts":null,"category":"Objects","subcategory":"musical-instrument","sort_order":1233,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLINKING GLASSES","unified":"1F942","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f942.png","sheet_x":45,"sheet_y":32,"short_name":"clinking_glasses","short_names":["clinking_glasses"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"drink","sort_order":841,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TUMBLER GLASS","unified":"1F943","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f943.png","sheet_x":45,"sheet_y":33,"short_name":"tumbler_glass","short_names":["tumbler_glass"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"drink","sort_order":842,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPOON","unified":"1F944","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f944.png","sheet_x":45,"sheet_y":34,"short_name":"spoon","short_names":["spoon"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"dishware","sort_order":852,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GOAL NET","unified":"1F945","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f945.png","sheet_x":45,"sheet_y":35,"short_name":"goal_net","short_names":["goal_net"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1120,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FIRST PLACE MEDAL","unified":"1F947","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f947.png","sheet_x":45,"sheet_y":36,"short_name":"first_place_medal","short_names":["first_place_medal"],"text":null,"texts":null,"category":"Activities","subcategory":"award-medal","sort_order":1099,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SECOND PLACE MEDAL","unified":"1F948","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f948.png","sheet_x":45,"sheet_y":37,"short_name":"second_place_medal","short_names":["second_place_medal"],"text":null,"texts":null,"category":"Activities","subcategory":"award-medal","sort_order":1100,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"THIRD PLACE MEDAL","unified":"1F949","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f949.png","sheet_x":45,"sheet_y":38,"short_name":"third_place_medal","short_names":["third_place_medal"],"text":null,"texts":null,"category":"Activities","subcategory":"award-medal","sort_order":1101,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BOXING GLOVE","unified":"1F94A","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f94a.png","sheet_x":45,"sheet_y":39,"short_name":"boxing_glove","short_names":["boxing_glove"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1118,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MARTIAL ARTS UNIFORM","unified":"1F94B","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f94b.png","sheet_x":45,"sheet_y":40,"short_name":"martial_arts_uniform","short_names":["martial_arts_uniform"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1119,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CURLING STONE","unified":"1F94C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f94c.png","sheet_x":45,"sheet_y":41,"short_name":"curling_stone","short_names":["curling_stone"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1128,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LACROSSE STICK AND BALL","unified":"1F94D","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f94d.png","sheet_x":45,"sheet_y":42,"short_name":"lacrosse","short_names":["lacrosse"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1115,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SOFTBALL","unified":"1F94E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f94e.png","sheet_x":45,"sheet_y":43,"short_name":"softball","short_names":["softball"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1104,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FLYING DISC","unified":"1F94F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f94f.png","sheet_x":45,"sheet_y":44,"short_name":"flying_disc","short_names":["flying_disc"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1110,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CROISSANT","unified":"1F950","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f950.png","sheet_x":45,"sheet_y":45,"short_name":"croissant","short_names":["croissant"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":765,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"AVOCADO","unified":"1F951","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f951.png","sheet_x":45,"sheet_y":46,"short_name":"avocado","short_names":["avocado"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-vegetable","sort_order":745,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CUCUMBER","unified":"1F952","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f952.png","sheet_x":45,"sheet_y":47,"short_name":"cucumber","short_names":["cucumber"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-vegetable","sort_order":752,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BACON","unified":"1F953","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f953.png","sheet_x":45,"sheet_y":48,"short_name":"bacon","short_names":["bacon"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":776,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"POTATO","unified":"1F954","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f954.png","sheet_x":45,"sheet_y":49,"short_name":"potato","short_names":["potato"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-vegetable","sort_order":747,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CARROT","unified":"1F955","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f955.png","sheet_x":45,"sheet_y":50,"short_name":"carrot","short_names":["carrot"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-vegetable","sort_order":748,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BAGUETTE BREAD","unified":"1F956","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f956.png","sheet_x":45,"sheet_y":51,"short_name":"baguette_bread","short_names":["baguette_bread"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":766,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GREEN SALAD","unified":"1F957","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f957.png","sheet_x":45,"sheet_y":52,"short_name":"green_salad","short_names":["green_salad"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":793,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SHALLOW PAN OF FOOD","unified":"1F958","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f958.png","sheet_x":45,"sheet_y":53,"short_name":"shallow_pan_of_food","short_names":["shallow_pan_of_food"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":789,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"STUFFED FLATBREAD","unified":"1F959","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f959.png","sheet_x":45,"sheet_y":54,"short_name":"stuffed_flatbread","short_names":["stuffed_flatbread"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":785,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EGG","unified":"1F95A","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f95a.png","sheet_x":45,"sheet_y":55,"short_name":"egg","short_names":["egg"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":787,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GLASS OF MILK","unified":"1F95B","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f95b.png","sheet_x":45,"sheet_y":56,"short_name":"glass_of_milk","short_names":["glass_of_milk"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"drink","sort_order":830,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PEANUTS","unified":"1F95C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f95c.png","sheet_x":45,"sheet_y":57,"short_name":"peanuts","short_names":["peanuts"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-vegetable","sort_order":757,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"KIWIFRUIT","unified":"1F95D","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f95d.png","sheet_x":45,"sheet_y":58,"short_name":"kiwifruit","short_names":["kiwifruit"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-fruit","sort_order":741,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PANCAKES","unified":"1F95E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f95e.png","sheet_x":45,"sheet_y":59,"short_name":"pancakes","short_names":["pancakes"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":770,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DUMPLING","unified":"1F95F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f95f.png","sheet_x":45,"sheet_y":60,"short_name":"dumpling","short_names":["dumpling"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-asian","sort_order":812,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FORTUNE COOKIE","unified":"1F960","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f960.png","sheet_x":45,"sheet_y":61,"short_name":"fortune_cookie","short_names":["fortune_cookie"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-asian","sort_order":813,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TAKEOUT BOX","unified":"1F961","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f961.png","sheet_x":45,"sheet_y":62,"short_name":"takeout_box","short_names":["takeout_box"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-asian","sort_order":814,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CHOPSTICKS","unified":"1F962","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f962.png","sheet_x":46,"sheet_y":0,"short_name":"chopsticks","short_names":["chopsticks"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"dishware","sort_order":849,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BOWL WITH SPOON","unified":"1F963","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f963.png","sheet_x":46,"sheet_y":1,"short_name":"bowl_with_spoon","short_names":["bowl_with_spoon"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":792,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CUP WITH STRAW","unified":"1F964","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f964.png","sheet_x":46,"sheet_y":2,"short_name":"cup_with_straw","short_names":["cup_with_straw"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"drink","sort_order":844,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"COCONUT","unified":"1F965","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f965.png","sheet_x":46,"sheet_y":3,"short_name":"coconut","short_names":["coconut"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-fruit","sort_order":744,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BROCCOLI","unified":"1F966","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f966.png","sheet_x":46,"sheet_y":4,"short_name":"broccoli","short_names":["broccoli"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-vegetable","sort_order":754,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PIE","unified":"1F967","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f967.png","sheet_x":46,"sheet_y":5,"short_name":"pie","short_names":["pie"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-sweet","sort_order":823,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PRETZEL","unified":"1F968","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f968.png","sheet_x":46,"sheet_y":6,"short_name":"pretzel","short_names":["pretzel"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":768,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CUT OF MEAT","unified":"1F969","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f969.png","sheet_x":46,"sheet_y":7,"short_name":"cut_of_meat","short_names":["cut_of_meat"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":775,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SANDWICH","unified":"1F96A","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f96a.png","sheet_x":46,"sheet_y":8,"short_name":"sandwich","short_names":["sandwich"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":781,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CANNED FOOD","unified":"1F96B","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f96b.png","sheet_x":46,"sheet_y":9,"short_name":"canned_food","short_names":["canned_food"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":797,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LEAFY GREEN","unified":"1F96C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f96c.png","sheet_x":46,"sheet_y":10,"short_name":"leafy_green","short_names":["leafy_green"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-vegetable","sort_order":753,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MANGO","unified":"1F96D","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f96d.png","sheet_x":46,"sheet_y":11,"short_name":"mango","short_names":["mango"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-fruit","sort_order":733,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MOON CAKE","unified":"1F96E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f96e.png","sheet_x":46,"sheet_y":12,"short_name":"moon_cake","short_names":["moon_cake"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-asian","sort_order":810,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BAGEL","unified":"1F96F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f96f.png","sheet_x":46,"sheet_y":13,"short_name":"bagel","short_names":["bagel"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":769,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SMILING FACE WITH SMILING EYES AND THREE HEARTS","unified":"1F970","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f970.png","sheet_x":46,"sheet_y":14,"short_name":"smiling_face_with_3_hearts","short_names":["smiling_face_with_3_hearts"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-affection","sort_order":15,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"YAWNING FACE","unified":"1F971","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f971.png","sheet_x":46,"sheet_y":15,"short_name":"yawning_face","short_names":["yawning_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":103,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SMILING FACE WITH TEAR","unified":"1F972","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f972.png","sheet_x":46,"sheet_y":16,"short_name":"smiling_face_with_tear","short_names":["smiling_face_with_tear"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-affection","sort_order":23,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH PARTY HORN AND PARTY HAT","unified":"1F973","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f973.png","sheet_x":46,"sheet_y":17,"short_name":"partying_face","short_names":["partying_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-hat","sort_order":72,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH UNEVEN EYES AND WAVY MOUTH","unified":"1F974","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f974.png","sheet_x":46,"sheet_y":18,"short_name":"woozy_face","short_names":["woozy_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-unwell","sort_order":67,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"OVERHEATED FACE","unified":"1F975","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f975.png","sheet_x":46,"sheet_y":19,"short_name":"hot_face","short_names":["hot_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-unwell","sort_order":65,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FREEZING FACE","unified":"1F976","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f976.png","sheet_x":46,"sheet_y":20,"short_name":"cold_face","short_names":["cold_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-unwell","sort_order":66,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NINJA","unified":"1F977","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f977.png","sheet_x":46,"sheet_y":21,"short_name":"ninja","short_names":["ninja"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":348,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F977-1F3FB","non_qualified":null,"image":"1f977-1f3fb.png","sheet_x":46,"sheet_y":22,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F977-1F3FC","non_qualified":null,"image":"1f977-1f3fc.png","sheet_x":46,"sheet_y":23,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F977-1F3FD","non_qualified":null,"image":"1f977-1f3fd.png","sheet_x":46,"sheet_y":24,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F977-1F3FE","non_qualified":null,"image":"1f977-1f3fe.png","sheet_x":46,"sheet_y":25,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F977-1F3FF","non_qualified":null,"image":"1f977-1f3ff.png","sheet_x":46,"sheet_y":26,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"DISGUISED FACE","unified":"1F978","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f978.png","sheet_x":46,"sheet_y":27,"short_name":"disguised_face","short_names":["disguised_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-hat","sort_order":73,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE HOLDING BACK TEARS","unified":"1F979","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f979.png","sheet_x":46,"sheet_y":28,"short_name":"face_holding_back_tears","short_names":["face_holding_back_tears"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":88,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH PLEADING EYES","unified":"1F97A","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f97a.png","sheet_x":46,"sheet_y":29,"short_name":"pleading_face","short_names":["pleading_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":87,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SARI","unified":"1F97B","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f97b.png","sheet_x":46,"sheet_y":30,"short_name":"sari","short_names":["sari"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1174,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LAB COAT","unified":"1F97C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f97c.png","sheet_x":46,"sheet_y":31,"short_name":"lab_coat","short_names":["lab_coat"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1163,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GOGGLES","unified":"1F97D","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f97d.png","sheet_x":46,"sheet_y":32,"short_name":"goggles","short_names":["goggles"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1162,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HIKING BOOT","unified":"1F97E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f97e.png","sheet_x":46,"sheet_y":33,"short_name":"hiking_boot","short_names":["hiking_boot"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1189,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FLAT SHOE","unified":"1F97F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f97f.png","sheet_x":46,"sheet_y":34,"short_name":"womans_flat_shoe","short_names":["womans_flat_shoe"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1190,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CRAB","unified":"1F980","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f980.png","sheet_x":46,"sheet_y":35,"short_name":"crab","short_names":["crab"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-marine","sort_order":675,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LION FACE","unified":"1F981","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f981.png","sheet_x":46,"sheet_y":36,"short_name":"lion_face","short_names":["lion_face"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":580,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SCORPION","unified":"1F982","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f982.png","sheet_x":46,"sheet_y":37,"short_name":"scorpion","short_names":["scorpion"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bug","sort_order":691,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TURKEY","unified":"1F983","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f983.png","sheet_x":46,"sheet_y":38,"short_name":"turkey","short_names":["turkey"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":631,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"UNICORN FACE","unified":"1F984","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f984.png","sheet_x":46,"sheet_y":39,"short_name":"unicorn_face","short_names":["unicorn_face"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":588,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EAGLE","unified":"1F985","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f985.png","sheet_x":46,"sheet_y":40,"short_name":"eagle","short_names":["eagle"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":640,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DUCK","unified":"1F986","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f986.png","sheet_x":46,"sheet_y":41,"short_name":"duck","short_names":["duck"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":641,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BAT","unified":"1F987","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f987.png","sheet_x":46,"sheet_y":42,"short_name":"bat","short_names":["bat"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":620,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SHARK","unified":"1F988","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f988.png","sheet_x":46,"sheet_y":43,"short_name":"shark","short_names":["shark"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-marine","sort_order":670,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"OWL","unified":"1F989","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f989.png","sheet_x":46,"sheet_y":44,"short_name":"owl","short_names":["owl"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":643,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FOX FACE","unified":"1F98A","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f98a.png","sheet_x":46,"sheet_y":45,"short_name":"fox_face","short_names":["fox_face"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":575,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BUTTERFLY","unified":"1F98B","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f98b.png","sheet_x":46,"sheet_y":46,"short_name":"butterfly","short_names":["butterfly"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bug","sort_order":681,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DEER","unified":"1F98C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f98c.png","sheet_x":46,"sheet_y":47,"short_name":"deer","short_names":["deer"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":590,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GORILLA","unified":"1F98D","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f98d.png","sheet_x":46,"sheet_y":48,"short_name":"gorilla","short_names":["gorilla"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":567,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LIZARD","unified":"1F98E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f98e.png","sheet_x":46,"sheet_y":49,"short_name":"lizard","short_names":["lizard"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-reptile","sort_order":656,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RHINOCEROS","unified":"1F98F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f98f.png","sheet_x":46,"sheet_y":50,"short_name":"rhinoceros","short_names":["rhinoceros"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":609,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SHRIMP","unified":"1F990","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f990.png","sheet_x":46,"sheet_y":51,"short_name":"shrimp","short_names":["shrimp"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-marine","sort_order":677,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SQUID","unified":"1F991","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f991.png","sheet_x":46,"sheet_y":52,"short_name":"squid","short_names":["squid"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-marine","sort_order":678,"added_in":"3.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GIRAFFE FACE","unified":"1F992","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f992.png","sheet_x":46,"sheet_y":53,"short_name":"giraffe_face","short_names":["giraffe_face"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":606,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ZEBRA FACE","unified":"1F993","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f993.png","sheet_x":46,"sheet_y":54,"short_name":"zebra_face","short_names":["zebra_face"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":589,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HEDGEHOG","unified":"1F994","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f994.png","sheet_x":46,"sheet_y":55,"short_name":"hedgehog","short_names":["hedgehog"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":619,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SAUROPOD","unified":"1F995","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f995.png","sheet_x":46,"sheet_y":56,"short_name":"sauropod","short_names":["sauropod"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-reptile","sort_order":660,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"T-REX","unified":"1F996","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f996.png","sheet_x":46,"sheet_y":57,"short_name":"t-rex","short_names":["t-rex"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-reptile","sort_order":661,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CRICKET","unified":"1F997","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f997.png","sheet_x":46,"sheet_y":58,"short_name":"cricket","short_names":["cricket"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bug","sort_order":687,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"KANGAROO","unified":"1F998","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f998.png","sheet_x":46,"sheet_y":59,"short_name":"kangaroo","short_names":["kangaroo"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":628,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LLAMA","unified":"1F999","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f999.png","sheet_x":46,"sheet_y":60,"short_name":"llama","short_names":["llama"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":605,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PEACOCK","unified":"1F99A","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f99a.png","sheet_x":46,"sheet_y":61,"short_name":"peacock","short_names":["peacock"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":647,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HIPPOPOTAMUS","unified":"1F99B","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f99b.png","sheet_x":46,"sheet_y":62,"short_name":"hippopotamus","short_names":["hippopotamus"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":610,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PARROT","unified":"1F99C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f99c.png","sheet_x":47,"sheet_y":0,"short_name":"parrot","short_names":["parrot"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":648,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RACCOON","unified":"1F99D","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f99d.png","sheet_x":47,"sheet_y":1,"short_name":"raccoon","short_names":["raccoon"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":576,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LOBSTER","unified":"1F99E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f99e.png","sheet_x":47,"sheet_y":2,"short_name":"lobster","short_names":["lobster"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-marine","sort_order":676,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MOSQUITO","unified":"1F99F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f99f.png","sheet_x":47,"sheet_y":3,"short_name":"mosquito","short_names":["mosquito"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bug","sort_order":692,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MICROBE","unified":"1F9A0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9a0.png","sheet_x":47,"sheet_y":4,"short_name":"microbe","short_names":["microbe"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bug","sort_order":695,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BADGER","unified":"1F9A1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9a1.png","sheet_x":47,"sheet_y":5,"short_name":"badger","short_names":["badger"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":629,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SWAN","unified":"1F9A2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9a2.png","sheet_x":47,"sheet_y":6,"short_name":"swan","short_names":["swan"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":642,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MAMMOTH","unified":"1F9A3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9a3.png","sheet_x":47,"sheet_y":7,"short_name":"mammoth","short_names":["mammoth"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":608,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DODO","unified":"1F9A4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9a4.png","sheet_x":47,"sheet_y":8,"short_name":"dodo","short_names":["dodo"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":644,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SLOTH","unified":"1F9A5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9a5.png","sheet_x":47,"sheet_y":9,"short_name":"sloth","short_names":["sloth"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":625,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"OTTER","unified":"1F9A6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9a6.png","sheet_x":47,"sheet_y":10,"short_name":"otter","short_names":["otter"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":626,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ORANGUTAN","unified":"1F9A7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9a7.png","sheet_x":47,"sheet_y":11,"short_name":"orangutan","short_names":["orangutan"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":568,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SKUNK","unified":"1F9A8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9a8.png","sheet_x":47,"sheet_y":12,"short_name":"skunk","short_names":["skunk"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":627,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FLAMINGO","unified":"1F9A9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9a9.png","sheet_x":47,"sheet_y":13,"short_name":"flamingo","short_names":["flamingo"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":646,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"OYSTER","unified":"1F9AA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9aa.png","sheet_x":47,"sheet_y":14,"short_name":"oyster","short_names":["oyster"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-marine","sort_order":679,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BEAVER","unified":"1F9AB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9ab.png","sheet_x":47,"sheet_y":15,"short_name":"beaver","short_names":["beaver"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":618,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BISON","unified":"1F9AC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9ac.png","sheet_x":47,"sheet_y":16,"short_name":"bison","short_names":["bison"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":591,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SEAL","unified":"1F9AD","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9ad.png","sheet_x":47,"sheet_y":17,"short_name":"seal","short_names":["seal"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-marine","sort_order":666,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GUIDE DOG","unified":"1F9AE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9ae.png","sheet_x":47,"sheet_y":18,"short_name":"guide_dog","short_names":["guide_dog"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":571,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PROBING CANE","unified":"1F9AF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9af.png","sheet_x":47,"sheet_y":19,"short_name":"probing_cane","short_names":["probing_cane"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1369,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BONE","unified":"1F9B4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9b4.png","sheet_x":47,"sheet_y":20,"short_name":"bone","short_names":["bone"],"text":null,"texts":null,"category":"People & Body","subcategory":"body-parts","sort_order":227,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LEG","unified":"1F9B5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9b5.png","sheet_x":47,"sheet_y":21,"short_name":"leg","short_names":["leg"],"text":null,"texts":null,"category":"People & Body","subcategory":"body-parts","sort_order":218,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9B5-1F3FB","non_qualified":null,"image":"1f9b5-1f3fb.png","sheet_x":47,"sheet_y":22,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9B5-1F3FC","non_qualified":null,"image":"1f9b5-1f3fc.png","sheet_x":47,"sheet_y":23,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9B5-1F3FD","non_qualified":null,"image":"1f9b5-1f3fd.png","sheet_x":47,"sheet_y":24,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9B5-1F3FE","non_qualified":null,"image":"1f9b5-1f3fe.png","sheet_x":47,"sheet_y":25,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9B5-1F3FF","non_qualified":null,"image":"1f9b5-1f3ff.png","sheet_x":47,"sheet_y":26,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"FOOT","unified":"1F9B6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9b6.png","sheet_x":47,"sheet_y":27,"short_name":"foot","short_names":["foot"],"text":null,"texts":null,"category":"People & Body","subcategory":"body-parts","sort_order":219,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9B6-1F3FB","non_qualified":null,"image":"1f9b6-1f3fb.png","sheet_x":47,"sheet_y":28,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9B6-1F3FC","non_qualified":null,"image":"1f9b6-1f3fc.png","sheet_x":47,"sheet_y":29,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9B6-1F3FD","non_qualified":null,"image":"1f9b6-1f3fd.png","sheet_x":47,"sheet_y":30,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9B6-1F3FE","non_qualified":null,"image":"1f9b6-1f3fe.png","sheet_x":47,"sheet_y":31,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9B6-1F3FF","non_qualified":null,"image":"1f9b6-1f3ff.png","sheet_x":47,"sheet_y":32,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"TOOTH","unified":"1F9B7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9b7.png","sheet_x":47,"sheet_y":33,"short_name":"tooth","short_names":["tooth"],"text":null,"texts":null,"category":"People & Body","subcategory":"body-parts","sort_order":226,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WOMAN SUPERHERO","unified":"1F9B8-200D-2640-FE0F","non_qualified":"1F9B8-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9b8-200d-2640-fe0f.png","sheet_x":47,"sheet_y":34,"short_name":"female_superhero","short_names":["female_superhero"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":379,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9B8-1F3FB-200D-2640-FE0F","non_qualified":"1F9B8-1F3FB-200D-2640","image":"1f9b8-1f3fb-200d-2640-fe0f.png","sheet_x":47,"sheet_y":35,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9B8-1F3FC-200D-2640-FE0F","non_qualified":"1F9B8-1F3FC-200D-2640","image":"1f9b8-1f3fc-200d-2640-fe0f.png","sheet_x":47,"sheet_y":36,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9B8-1F3FD-200D-2640-FE0F","non_qualified":"1F9B8-1F3FD-200D-2640","image":"1f9b8-1f3fd-200d-2640-fe0f.png","sheet_x":47,"sheet_y":37,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9B8-1F3FE-200D-2640-FE0F","non_qualified":"1F9B8-1F3FE-200D-2640","image":"1f9b8-1f3fe-200d-2640-fe0f.png","sheet_x":47,"sheet_y":38,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9B8-1F3FF-200D-2640-FE0F","non_qualified":"1F9B8-1F3FF-200D-2640","image":"1f9b8-1f3ff-200d-2640-fe0f.png","sheet_x":47,"sheet_y":39,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN SUPERHERO","unified":"1F9B8-200D-2642-FE0F","non_qualified":"1F9B8-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9b8-200d-2642-fe0f.png","sheet_x":47,"sheet_y":40,"short_name":"male_superhero","short_names":["male_superhero"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":378,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9B8-1F3FB-200D-2642-FE0F","non_qualified":"1F9B8-1F3FB-200D-2642","image":"1f9b8-1f3fb-200d-2642-fe0f.png","sheet_x":47,"sheet_y":41,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9B8-1F3FC-200D-2642-FE0F","non_qualified":"1F9B8-1F3FC-200D-2642","image":"1f9b8-1f3fc-200d-2642-fe0f.png","sheet_x":47,"sheet_y":42,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9B8-1F3FD-200D-2642-FE0F","non_qualified":"1F9B8-1F3FD-200D-2642","image":"1f9b8-1f3fd-200d-2642-fe0f.png","sheet_x":47,"sheet_y":43,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9B8-1F3FE-200D-2642-FE0F","non_qualified":"1F9B8-1F3FE-200D-2642","image":"1f9b8-1f3fe-200d-2642-fe0f.png","sheet_x":47,"sheet_y":44,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9B8-1F3FF-200D-2642-FE0F","non_qualified":"1F9B8-1F3FF-200D-2642","image":"1f9b8-1f3ff-200d-2642-fe0f.png","sheet_x":47,"sheet_y":45,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"SUPERHERO","unified":"1F9B8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9b8.png","sheet_x":47,"sheet_y":46,"short_name":"superhero","short_names":["superhero"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":377,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9B8-1F3FB","non_qualified":null,"image":"1f9b8-1f3fb.png","sheet_x":47,"sheet_y":47,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9B8-1F3FC","non_qualified":null,"image":"1f9b8-1f3fc.png","sheet_x":47,"sheet_y":48,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9B8-1F3FD","non_qualified":null,"image":"1f9b8-1f3fd.png","sheet_x":47,"sheet_y":49,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9B8-1F3FE","non_qualified":null,"image":"1f9b8-1f3fe.png","sheet_x":47,"sheet_y":50,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9B8-1F3FF","non_qualified":null,"image":"1f9b8-1f3ff.png","sheet_x":47,"sheet_y":51,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN SUPERVILLAIN","unified":"1F9B9-200D-2640-FE0F","non_qualified":"1F9B9-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9b9-200d-2640-fe0f.png","sheet_x":47,"sheet_y":52,"short_name":"female_supervillain","short_names":["female_supervillain"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":382,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9B9-1F3FB-200D-2640-FE0F","non_qualified":"1F9B9-1F3FB-200D-2640","image":"1f9b9-1f3fb-200d-2640-fe0f.png","sheet_x":47,"sheet_y":53,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9B9-1F3FC-200D-2640-FE0F","non_qualified":"1F9B9-1F3FC-200D-2640","image":"1f9b9-1f3fc-200d-2640-fe0f.png","sheet_x":47,"sheet_y":54,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9B9-1F3FD-200D-2640-FE0F","non_qualified":"1F9B9-1F3FD-200D-2640","image":"1f9b9-1f3fd-200d-2640-fe0f.png","sheet_x":47,"sheet_y":55,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9B9-1F3FE-200D-2640-FE0F","non_qualified":"1F9B9-1F3FE-200D-2640","image":"1f9b9-1f3fe-200d-2640-fe0f.png","sheet_x":47,"sheet_y":56,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9B9-1F3FF-200D-2640-FE0F","non_qualified":"1F9B9-1F3FF-200D-2640","image":"1f9b9-1f3ff-200d-2640-fe0f.png","sheet_x":47,"sheet_y":57,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN SUPERVILLAIN","unified":"1F9B9-200D-2642-FE0F","non_qualified":"1F9B9-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9b9-200d-2642-fe0f.png","sheet_x":47,"sheet_y":58,"short_name":"male_supervillain","short_names":["male_supervillain"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":381,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9B9-1F3FB-200D-2642-FE0F","non_qualified":"1F9B9-1F3FB-200D-2642","image":"1f9b9-1f3fb-200d-2642-fe0f.png","sheet_x":47,"sheet_y":59,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9B9-1F3FC-200D-2642-FE0F","non_qualified":"1F9B9-1F3FC-200D-2642","image":"1f9b9-1f3fc-200d-2642-fe0f.png","sheet_x":47,"sheet_y":60,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9B9-1F3FD-200D-2642-FE0F","non_qualified":"1F9B9-1F3FD-200D-2642","image":"1f9b9-1f3fd-200d-2642-fe0f.png","sheet_x":47,"sheet_y":61,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9B9-1F3FE-200D-2642-FE0F","non_qualified":"1F9B9-1F3FE-200D-2642","image":"1f9b9-1f3fe-200d-2642-fe0f.png","sheet_x":47,"sheet_y":62,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9B9-1F3FF-200D-2642-FE0F","non_qualified":"1F9B9-1F3FF-200D-2642","image":"1f9b9-1f3ff-200d-2642-fe0f.png","sheet_x":48,"sheet_y":0,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"SUPERVILLAIN","unified":"1F9B9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9b9.png","sheet_x":48,"sheet_y":1,"short_name":"supervillain","short_names":["supervillain"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":380,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9B9-1F3FB","non_qualified":null,"image":"1f9b9-1f3fb.png","sheet_x":48,"sheet_y":2,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9B9-1F3FC","non_qualified":null,"image":"1f9b9-1f3fc.png","sheet_x":48,"sheet_y":3,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9B9-1F3FD","non_qualified":null,"image":"1f9b9-1f3fd.png","sheet_x":48,"sheet_y":4,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9B9-1F3FE","non_qualified":null,"image":"1f9b9-1f3fe.png","sheet_x":48,"sheet_y":5,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9B9-1F3FF","non_qualified":null,"image":"1f9b9-1f3ff.png","sheet_x":48,"sheet_y":6,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"SAFETY VEST","unified":"1F9BA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9ba.png","sheet_x":48,"sheet_y":7,"short_name":"safety_vest","short_names":["safety_vest"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1164,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EAR WITH HEARING AID","unified":"1F9BB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9bb.png","sheet_x":48,"sheet_y":8,"short_name":"ear_with_hearing_aid","short_names":["ear_with_hearing_aid"],"text":null,"texts":null,"category":"People & Body","subcategory":"body-parts","sort_order":221,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9BB-1F3FB","non_qualified":null,"image":"1f9bb-1f3fb.png","sheet_x":48,"sheet_y":9,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9BB-1F3FC","non_qualified":null,"image":"1f9bb-1f3fc.png","sheet_x":48,"sheet_y":10,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9BB-1F3FD","non_qualified":null,"image":"1f9bb-1f3fd.png","sheet_x":48,"sheet_y":11,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9BB-1F3FE","non_qualified":null,"image":"1f9bb-1f3fe.png","sheet_x":48,"sheet_y":12,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9BB-1F3FF","non_qualified":null,"image":"1f9bb-1f3ff.png","sheet_x":48,"sheet_y":13,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MOTORIZED WHEELCHAIR","unified":"1F9BC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9bc.png","sheet_x":48,"sheet_y":14,"short_name":"motorized_wheelchair","short_names":["motorized_wheelchair"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":956,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MANUAL WHEELCHAIR","unified":"1F9BD","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9bd.png","sheet_x":48,"sheet_y":15,"short_name":"manual_wheelchair","short_names":["manual_wheelchair"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":955,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MECHANICAL ARM","unified":"1F9BE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9be.png","sheet_x":48,"sheet_y":16,"short_name":"mechanical_arm","short_names":["mechanical_arm"],"text":null,"texts":null,"category":"People & Body","subcategory":"body-parts","sort_order":216,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MECHANICAL LEG","unified":"1F9BF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9bf.png","sheet_x":48,"sheet_y":17,"short_name":"mechanical_leg","short_names":["mechanical_leg"],"text":null,"texts":null,"category":"People & Body","subcategory":"body-parts","sort_order":217,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CHEESE WEDGE","unified":"1F9C0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9c0.png","sheet_x":48,"sheet_y":18,"short_name":"cheese_wedge","short_names":["cheese_wedge"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":772,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CUPCAKE","unified":"1F9C1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9c1.png","sheet_x":48,"sheet_y":19,"short_name":"cupcake","short_names":["cupcake"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-sweet","sort_order":822,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SALT SHAKER","unified":"1F9C2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9c2.png","sheet_x":48,"sheet_y":20,"short_name":"salt","short_names":["salt"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":796,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BEVERAGE BOX","unified":"1F9C3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9c3.png","sheet_x":48,"sheet_y":21,"short_name":"beverage_box","short_names":["beverage_box"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"drink","sort_order":846,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GARLIC","unified":"1F9C4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9c4.png","sheet_x":48,"sheet_y":22,"short_name":"garlic","short_names":["garlic"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-vegetable","sort_order":755,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ONION","unified":"1F9C5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9c5.png","sheet_x":48,"sheet_y":23,"short_name":"onion","short_names":["onion"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-vegetable","sort_order":756,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FALAFEL","unified":"1F9C6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9c6.png","sheet_x":48,"sheet_y":24,"short_name":"falafel","short_names":["falafel"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":786,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WAFFLE","unified":"1F9C7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9c7.png","sheet_x":48,"sheet_y":25,"short_name":"waffle","short_names":["waffle"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":771,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BUTTER","unified":"1F9C8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9c8.png","sheet_x":48,"sheet_y":26,"short_name":"butter","short_names":["butter"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":795,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MATE DRINK","unified":"1F9C9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9c9.png","sheet_x":48,"sheet_y":27,"short_name":"mate_drink","short_names":["mate_drink"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"drink","sort_order":847,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ICE CUBE","unified":"1F9CA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9ca.png","sheet_x":48,"sheet_y":28,"short_name":"ice_cube","short_names":["ice_cube"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"drink","sort_order":848,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BUBBLE TEA","unified":"1F9CB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9cb.png","sheet_x":48,"sheet_y":29,"short_name":"bubble_tea","short_names":["bubble_tea"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"drink","sort_order":845,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TROLL","unified":"1F9CC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9cc.png","sheet_x":48,"sheet_y":30,"short_name":"troll","short_names":["troll"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":404,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WOMAN STANDING","unified":"1F9CD-200D-2640-FE0F","non_qualified":"1F9CD-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9cd-200d-2640-fe0f.png","sheet_x":48,"sheet_y":31,"short_name":"woman_standing","short_names":["woman_standing"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":420,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9CD-1F3FB-200D-2640-FE0F","non_qualified":"1F9CD-1F3FB-200D-2640","image":"1f9cd-1f3fb-200d-2640-fe0f.png","sheet_x":48,"sheet_y":32,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9CD-1F3FC-200D-2640-FE0F","non_qualified":"1F9CD-1F3FC-200D-2640","image":"1f9cd-1f3fc-200d-2640-fe0f.png","sheet_x":48,"sheet_y":33,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9CD-1F3FD-200D-2640-FE0F","non_qualified":"1F9CD-1F3FD-200D-2640","image":"1f9cd-1f3fd-200d-2640-fe0f.png","sheet_x":48,"sheet_y":34,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9CD-1F3FE-200D-2640-FE0F","non_qualified":"1F9CD-1F3FE-200D-2640","image":"1f9cd-1f3fe-200d-2640-fe0f.png","sheet_x":48,"sheet_y":35,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9CD-1F3FF-200D-2640-FE0F","non_qualified":"1F9CD-1F3FF-200D-2640","image":"1f9cd-1f3ff-200d-2640-fe0f.png","sheet_x":48,"sheet_y":36,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN STANDING","unified":"1F9CD-200D-2642-FE0F","non_qualified":"1F9CD-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9cd-200d-2642-fe0f.png","sheet_x":48,"sheet_y":37,"short_name":"man_standing","short_names":["man_standing"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":419,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9CD-1F3FB-200D-2642-FE0F","non_qualified":"1F9CD-1F3FB-200D-2642","image":"1f9cd-1f3fb-200d-2642-fe0f.png","sheet_x":48,"sheet_y":38,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9CD-1F3FC-200D-2642-FE0F","non_qualified":"1F9CD-1F3FC-200D-2642","image":"1f9cd-1f3fc-200d-2642-fe0f.png","sheet_x":48,"sheet_y":39,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9CD-1F3FD-200D-2642-FE0F","non_qualified":"1F9CD-1F3FD-200D-2642","image":"1f9cd-1f3fd-200d-2642-fe0f.png","sheet_x":48,"sheet_y":40,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9CD-1F3FE-200D-2642-FE0F","non_qualified":"1F9CD-1F3FE-200D-2642","image":"1f9cd-1f3fe-200d-2642-fe0f.png","sheet_x":48,"sheet_y":41,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9CD-1F3FF-200D-2642-FE0F","non_qualified":"1F9CD-1F3FF-200D-2642","image":"1f9cd-1f3ff-200d-2642-fe0f.png","sheet_x":48,"sheet_y":42,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"STANDING PERSON","unified":"1F9CD","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9cd.png","sheet_x":48,"sheet_y":43,"short_name":"standing_person","short_names":["standing_person"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":418,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9CD-1F3FB","non_qualified":null,"image":"1f9cd-1f3fb.png","sheet_x":48,"sheet_y":44,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9CD-1F3FC","non_qualified":null,"image":"1f9cd-1f3fc.png","sheet_x":48,"sheet_y":45,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9CD-1F3FD","non_qualified":null,"image":"1f9cd-1f3fd.png","sheet_x":48,"sheet_y":46,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9CD-1F3FE","non_qualified":null,"image":"1f9cd-1f3fe.png","sheet_x":48,"sheet_y":47,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9CD-1F3FF","non_qualified":null,"image":"1f9cd-1f3ff.png","sheet_x":48,"sheet_y":48,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN KNEELING","unified":"1F9CE-200D-2640-FE0F","non_qualified":"1F9CE-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9ce-200d-2640-fe0f.png","sheet_x":48,"sheet_y":49,"short_name":"woman_kneeling","short_names":["woman_kneeling"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":423,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9CE-1F3FB-200D-2640-FE0F","non_qualified":"1F9CE-1F3FB-200D-2640","image":"1f9ce-1f3fb-200d-2640-fe0f.png","sheet_x":48,"sheet_y":50,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9CE-1F3FC-200D-2640-FE0F","non_qualified":"1F9CE-1F3FC-200D-2640","image":"1f9ce-1f3fc-200d-2640-fe0f.png","sheet_x":48,"sheet_y":51,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9CE-1F3FD-200D-2640-FE0F","non_qualified":"1F9CE-1F3FD-200D-2640","image":"1f9ce-1f3fd-200d-2640-fe0f.png","sheet_x":48,"sheet_y":52,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9CE-1F3FE-200D-2640-FE0F","non_qualified":"1F9CE-1F3FE-200D-2640","image":"1f9ce-1f3fe-200d-2640-fe0f.png","sheet_x":48,"sheet_y":53,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9CE-1F3FF-200D-2640-FE0F","non_qualified":"1F9CE-1F3FF-200D-2640","image":"1f9ce-1f3ff-200d-2640-fe0f.png","sheet_x":48,"sheet_y":54,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN KNEELING FACING RIGHT","unified":"1F9CE-200D-2640-FE0F-200D-27A1-FE0F","non_qualified":"1F9CE-200D-2640-200D-27A1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9ce-200d-2640-fe0f-200d-27a1-fe0f.png","sheet_x":48,"sheet_y":55,"short_name":"woman_kneeling_facing_right","short_names":["woman_kneeling_facing_right"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":425,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false,"skin_variations":{"1F3FB":{"unified":"1F9CE-1F3FB-200D-2640-FE0F-200D-27A1-FE0F","non_qualified":"1F9CE-1F3FB-200D-2640-200D-27A1","image":"1f9ce-1f3fb-200d-2640-fe0f-200d-27a1-fe0f.png","sheet_x":48,"sheet_y":56,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FC":{"unified":"1F9CE-1F3FC-200D-2640-FE0F-200D-27A1-FE0F","non_qualified":"1F9CE-1F3FC-200D-2640-200D-27A1","image":"1f9ce-1f3fc-200d-2640-fe0f-200d-27a1-fe0f.png","sheet_x":48,"sheet_y":57,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FD":{"unified":"1F9CE-1F3FD-200D-2640-FE0F-200D-27A1-FE0F","non_qualified":"1F9CE-1F3FD-200D-2640-200D-27A1","image":"1f9ce-1f3fd-200d-2640-fe0f-200d-27a1-fe0f.png","sheet_x":48,"sheet_y":58,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FE":{"unified":"1F9CE-1F3FE-200D-2640-FE0F-200D-27A1-FE0F","non_qualified":"1F9CE-1F3FE-200D-2640-200D-27A1","image":"1f9ce-1f3fe-200d-2640-fe0f-200d-27a1-fe0f.png","sheet_x":48,"sheet_y":59,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FF":{"unified":"1F9CE-1F3FF-200D-2640-FE0F-200D-27A1-FE0F","non_qualified":"1F9CE-1F3FF-200D-2640-200D-27A1","image":"1f9ce-1f3ff-200d-2640-fe0f-200d-27a1-fe0f.png","sheet_x":48,"sheet_y":60,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false}}},{"name":"MAN KNEELING","unified":"1F9CE-200D-2642-FE0F","non_qualified":"1F9CE-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9ce-200d-2642-fe0f.png","sheet_x":48,"sheet_y":61,"short_name":"man_kneeling","short_names":["man_kneeling"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":422,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9CE-1F3FB-200D-2642-FE0F","non_qualified":"1F9CE-1F3FB-200D-2642","image":"1f9ce-1f3fb-200d-2642-fe0f.png","sheet_x":48,"sheet_y":62,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9CE-1F3FC-200D-2642-FE0F","non_qualified":"1F9CE-1F3FC-200D-2642","image":"1f9ce-1f3fc-200d-2642-fe0f.png","sheet_x":49,"sheet_y":0,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9CE-1F3FD-200D-2642-FE0F","non_qualified":"1F9CE-1F3FD-200D-2642","image":"1f9ce-1f3fd-200d-2642-fe0f.png","sheet_x":49,"sheet_y":1,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9CE-1F3FE-200D-2642-FE0F","non_qualified":"1F9CE-1F3FE-200D-2642","image":"1f9ce-1f3fe-200d-2642-fe0f.png","sheet_x":49,"sheet_y":2,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9CE-1F3FF-200D-2642-FE0F","non_qualified":"1F9CE-1F3FF-200D-2642","image":"1f9ce-1f3ff-200d-2642-fe0f.png","sheet_x":49,"sheet_y":3,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN KNEELING FACING RIGHT","unified":"1F9CE-200D-2642-FE0F-200D-27A1-FE0F","non_qualified":"1F9CE-200D-2642-200D-27A1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9ce-200d-2642-fe0f-200d-27a1-fe0f.png","sheet_x":49,"sheet_y":4,"short_name":"man_kneeling_facing_right","short_names":["man_kneeling_facing_right"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":426,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false,"skin_variations":{"1F3FB":{"unified":"1F9CE-1F3FB-200D-2642-FE0F-200D-27A1-FE0F","non_qualified":"1F9CE-1F3FB-200D-2642-200D-27A1","image":"1f9ce-1f3fb-200d-2642-fe0f-200d-27a1-fe0f.png","sheet_x":49,"sheet_y":5,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FC":{"unified":"1F9CE-1F3FC-200D-2642-FE0F-200D-27A1-FE0F","non_qualified":"1F9CE-1F3FC-200D-2642-200D-27A1","image":"1f9ce-1f3fc-200d-2642-fe0f-200d-27a1-fe0f.png","sheet_x":49,"sheet_y":6,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FD":{"unified":"1F9CE-1F3FD-200D-2642-FE0F-200D-27A1-FE0F","non_qualified":"1F9CE-1F3FD-200D-2642-200D-27A1","image":"1f9ce-1f3fd-200d-2642-fe0f-200d-27a1-fe0f.png","sheet_x":49,"sheet_y":7,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FE":{"unified":"1F9CE-1F3FE-200D-2642-FE0F-200D-27A1-FE0F","non_qualified":"1F9CE-1F3FE-200D-2642-200D-27A1","image":"1f9ce-1f3fe-200d-2642-fe0f-200d-27a1-fe0f.png","sheet_x":49,"sheet_y":8,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FF":{"unified":"1F9CE-1F3FF-200D-2642-FE0F-200D-27A1-FE0F","non_qualified":"1F9CE-1F3FF-200D-2642-200D-27A1","image":"1f9ce-1f3ff-200d-2642-fe0f-200d-27a1-fe0f.png","sheet_x":49,"sheet_y":9,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false}}},{"name":"PERSON KNEELING FACING RIGHT","unified":"1F9CE-200D-27A1-FE0F","non_qualified":"1F9CE-200D-27A1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9ce-200d-27a1-fe0f.png","sheet_x":49,"sheet_y":10,"short_name":"person_kneeling_facing_right","short_names":["person_kneeling_facing_right"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":424,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false,"skin_variations":{"1F3FB":{"unified":"1F9CE-1F3FB-200D-27A1-FE0F","non_qualified":"1F9CE-1F3FB-200D-27A1","image":"1f9ce-1f3fb-200d-27a1-fe0f.png","sheet_x":49,"sheet_y":11,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FC":{"unified":"1F9CE-1F3FC-200D-27A1-FE0F","non_qualified":"1F9CE-1F3FC-200D-27A1","image":"1f9ce-1f3fc-200d-27a1-fe0f.png","sheet_x":49,"sheet_y":12,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FD":{"unified":"1F9CE-1F3FD-200D-27A1-FE0F","non_qualified":"1F9CE-1F3FD-200D-27A1","image":"1f9ce-1f3fd-200d-27a1-fe0f.png","sheet_x":49,"sheet_y":13,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FE":{"unified":"1F9CE-1F3FE-200D-27A1-FE0F","non_qualified":"1F9CE-1F3FE-200D-27A1","image":"1f9ce-1f3fe-200d-27a1-fe0f.png","sheet_x":49,"sheet_y":14,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FF":{"unified":"1F9CE-1F3FF-200D-27A1-FE0F","non_qualified":"1F9CE-1F3FF-200D-27A1","image":"1f9ce-1f3ff-200d-27a1-fe0f.png","sheet_x":49,"sheet_y":15,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false}}},{"name":"KNEELING PERSON","unified":"1F9CE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9ce.png","sheet_x":49,"sheet_y":16,"short_name":"kneeling_person","short_names":["kneeling_person"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":421,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9CE-1F3FB","non_qualified":null,"image":"1f9ce-1f3fb.png","sheet_x":49,"sheet_y":17,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9CE-1F3FC","non_qualified":null,"image":"1f9ce-1f3fc.png","sheet_x":49,"sheet_y":18,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9CE-1F3FD","non_qualified":null,"image":"1f9ce-1f3fd.png","sheet_x":49,"sheet_y":19,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9CE-1F3FE","non_qualified":null,"image":"1f9ce-1f3fe.png","sheet_x":49,"sheet_y":20,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9CE-1F3FF","non_qualified":null,"image":"1f9ce-1f3ff.png","sheet_x":49,"sheet_y":21,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"DEAF WOMAN","unified":"1F9CF-200D-2640-FE0F","non_qualified":"1F9CF-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9cf-200d-2640-fe0f.png","sheet_x":49,"sheet_y":22,"short_name":"deaf_woman","short_names":["deaf_woman"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":281,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9CF-1F3FB-200D-2640-FE0F","non_qualified":"1F9CF-1F3FB-200D-2640","image":"1f9cf-1f3fb-200d-2640-fe0f.png","sheet_x":49,"sheet_y":23,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9CF-1F3FC-200D-2640-FE0F","non_qualified":"1F9CF-1F3FC-200D-2640","image":"1f9cf-1f3fc-200d-2640-fe0f.png","sheet_x":49,"sheet_y":24,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9CF-1F3FD-200D-2640-FE0F","non_qualified":"1F9CF-1F3FD-200D-2640","image":"1f9cf-1f3fd-200d-2640-fe0f.png","sheet_x":49,"sheet_y":25,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9CF-1F3FE-200D-2640-FE0F","non_qualified":"1F9CF-1F3FE-200D-2640","image":"1f9cf-1f3fe-200d-2640-fe0f.png","sheet_x":49,"sheet_y":26,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9CF-1F3FF-200D-2640-FE0F","non_qualified":"1F9CF-1F3FF-200D-2640","image":"1f9cf-1f3ff-200d-2640-fe0f.png","sheet_x":49,"sheet_y":27,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"DEAF MAN","unified":"1F9CF-200D-2642-FE0F","non_qualified":"1F9CF-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9cf-200d-2642-fe0f.png","sheet_x":49,"sheet_y":28,"short_name":"deaf_man","short_names":["deaf_man"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":280,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9CF-1F3FB-200D-2642-FE0F","non_qualified":"1F9CF-1F3FB-200D-2642","image":"1f9cf-1f3fb-200d-2642-fe0f.png","sheet_x":49,"sheet_y":29,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9CF-1F3FC-200D-2642-FE0F","non_qualified":"1F9CF-1F3FC-200D-2642","image":"1f9cf-1f3fc-200d-2642-fe0f.png","sheet_x":49,"sheet_y":30,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9CF-1F3FD-200D-2642-FE0F","non_qualified":"1F9CF-1F3FD-200D-2642","image":"1f9cf-1f3fd-200d-2642-fe0f.png","sheet_x":49,"sheet_y":31,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9CF-1F3FE-200D-2642-FE0F","non_qualified":"1F9CF-1F3FE-200D-2642","image":"1f9cf-1f3fe-200d-2642-fe0f.png","sheet_x":49,"sheet_y":32,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9CF-1F3FF-200D-2642-FE0F","non_qualified":"1F9CF-1F3FF-200D-2642","image":"1f9cf-1f3ff-200d-2642-fe0f.png","sheet_x":49,"sheet_y":33,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"DEAF PERSON","unified":"1F9CF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9cf.png","sheet_x":49,"sheet_y":34,"short_name":"deaf_person","short_names":["deaf_person"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-gesture","sort_order":279,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9CF-1F3FB","non_qualified":null,"image":"1f9cf-1f3fb.png","sheet_x":49,"sheet_y":35,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9CF-1F3FC","non_qualified":null,"image":"1f9cf-1f3fc.png","sheet_x":49,"sheet_y":36,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9CF-1F3FD","non_qualified":null,"image":"1f9cf-1f3fd.png","sheet_x":49,"sheet_y":37,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9CF-1F3FE","non_qualified":null,"image":"1f9cf-1f3fe.png","sheet_x":49,"sheet_y":38,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9CF-1F3FF","non_qualified":null,"image":"1f9cf-1f3ff.png","sheet_x":49,"sheet_y":39,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"FACE WITH MONOCLE","unified":"1F9D0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d0.png","sheet_x":49,"sheet_y":40,"short_name":"face_with_monocle","short_names":["face_with_monocle"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-glasses","sort_order":76,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FARMER","unified":"1F9D1-200D-1F33E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f33e.png","sheet_x":49,"sheet_y":41,"short_name":"farmer","short_names":["farmer"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":303,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F33E","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f33e.png","sheet_x":49,"sheet_y":42,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F33E","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f33e.png","sheet_x":49,"sheet_y":43,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F33E","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f33e.png","sheet_x":49,"sheet_y":44,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F33E","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f33e.png","sheet_x":49,"sheet_y":45,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F33E","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f33e.png","sheet_x":49,"sheet_y":46,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"COOK","unified":"1F9D1-200D-1F373","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f373.png","sheet_x":49,"sheet_y":47,"short_name":"cook","short_names":["cook"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":306,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F373","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f373.png","sheet_x":49,"sheet_y":48,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F373","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f373.png","sheet_x":49,"sheet_y":49,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F373","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f373.png","sheet_x":49,"sheet_y":50,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F373","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f373.png","sheet_x":49,"sheet_y":51,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F373","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f373.png","sheet_x":49,"sheet_y":52,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PERSON FEEDING BABY","unified":"1F9D1-200D-1F37C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f37c.png","sheet_x":49,"sheet_y":53,"short_name":"person_feeding_baby","short_names":["person_feeding_baby"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":372,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F37C","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f37c.png","sheet_x":49,"sheet_y":54,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F37C","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f37c.png","sheet_x":49,"sheet_y":55,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F37C","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f37c.png","sheet_x":49,"sheet_y":56,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F37C","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f37c.png","sheet_x":49,"sheet_y":57,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F37C","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f37c.png","sheet_x":49,"sheet_y":58,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MX CLAUS","unified":"1F9D1-200D-1F384","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f384.png","sheet_x":49,"sheet_y":59,"short_name":"mx_claus","short_names":["mx_claus"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":376,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F384","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f384.png","sheet_x":49,"sheet_y":60,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F384","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f384.png","sheet_x":49,"sheet_y":61,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F384","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f384.png","sheet_x":49,"sheet_y":62,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F384","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f384.png","sheet_x":50,"sheet_y":0,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F384","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f384.png","sheet_x":50,"sheet_y":1,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"STUDENT","unified":"1F9D1-200D-1F393","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f393.png","sheet_x":50,"sheet_y":2,"short_name":"student","short_names":["student"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":294,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F393","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f393.png","sheet_x":50,"sheet_y":3,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F393","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f393.png","sheet_x":50,"sheet_y":4,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F393","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f393.png","sheet_x":50,"sheet_y":5,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F393","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f393.png","sheet_x":50,"sheet_y":6,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F393","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f393.png","sheet_x":50,"sheet_y":7,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"SINGER","unified":"1F9D1-200D-1F3A4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f3a4.png","sheet_x":50,"sheet_y":8,"short_name":"singer","short_names":["singer"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":324,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F3A4","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f3a4.png","sheet_x":50,"sheet_y":9,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F3A4","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f3a4.png","sheet_x":50,"sheet_y":10,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F3A4","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f3a4.png","sheet_x":50,"sheet_y":11,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F3A4","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f3a4.png","sheet_x":50,"sheet_y":12,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F3A4","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f3a4.png","sheet_x":50,"sheet_y":13,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"ARTIST","unified":"1F9D1-200D-1F3A8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f3a8.png","sheet_x":50,"sheet_y":14,"short_name":"artist","short_names":["artist"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":327,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F3A8","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f3a8.png","sheet_x":50,"sheet_y":15,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F3A8","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f3a8.png","sheet_x":50,"sheet_y":16,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F3A8","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f3a8.png","sheet_x":50,"sheet_y":17,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F3A8","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f3a8.png","sheet_x":50,"sheet_y":18,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F3A8","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f3a8.png","sheet_x":50,"sheet_y":19,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"TEACHER","unified":"1F9D1-200D-1F3EB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f3eb.png","sheet_x":50,"sheet_y":20,"short_name":"teacher","short_names":["teacher"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":297,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F3EB","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f3eb.png","sheet_x":50,"sheet_y":21,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F3EB","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f3eb.png","sheet_x":50,"sheet_y":22,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F3EB","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f3eb.png","sheet_x":50,"sheet_y":23,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F3EB","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f3eb.png","sheet_x":50,"sheet_y":24,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F3EB","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f3eb.png","sheet_x":50,"sheet_y":25,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"FACTORY WORKER","unified":"1F9D1-200D-1F3ED","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f3ed.png","sheet_x":50,"sheet_y":26,"short_name":"factory_worker","short_names":["factory_worker"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":312,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F3ED","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f3ed.png","sheet_x":50,"sheet_y":27,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F3ED","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f3ed.png","sheet_x":50,"sheet_y":28,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F3ED","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f3ed.png","sheet_x":50,"sheet_y":29,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F3ED","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f3ed.png","sheet_x":50,"sheet_y":30,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F3ED","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f3ed.png","sheet_x":50,"sheet_y":31,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"TECHNOLOGIST","unified":"1F9D1-200D-1F4BB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f4bb.png","sheet_x":50,"sheet_y":32,"short_name":"technologist","short_names":["technologist"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":321,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F4BB","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f4bb.png","sheet_x":50,"sheet_y":33,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F4BB","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f4bb.png","sheet_x":50,"sheet_y":34,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F4BB","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f4bb.png","sheet_x":50,"sheet_y":35,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F4BB","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f4bb.png","sheet_x":50,"sheet_y":36,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F4BB","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f4bb.png","sheet_x":50,"sheet_y":37,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"OFFICE WORKER","unified":"1F9D1-200D-1F4BC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f4bc.png","sheet_x":50,"sheet_y":38,"short_name":"office_worker","short_names":["office_worker"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":315,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F4BC","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f4bc.png","sheet_x":50,"sheet_y":39,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F4BC","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f4bc.png","sheet_x":50,"sheet_y":40,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F4BC","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f4bc.png","sheet_x":50,"sheet_y":41,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F4BC","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f4bc.png","sheet_x":50,"sheet_y":42,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F4BC","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f4bc.png","sheet_x":50,"sheet_y":43,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MECHANIC","unified":"1F9D1-200D-1F527","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f527.png","sheet_x":50,"sheet_y":44,"short_name":"mechanic","short_names":["mechanic"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":309,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F527","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f527.png","sheet_x":50,"sheet_y":45,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F527","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f527.png","sheet_x":50,"sheet_y":46,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F527","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f527.png","sheet_x":50,"sheet_y":47,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F527","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f527.png","sheet_x":50,"sheet_y":48,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F527","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f527.png","sheet_x":50,"sheet_y":49,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"SCIENTIST","unified":"1F9D1-200D-1F52C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f52c.png","sheet_x":50,"sheet_y":50,"short_name":"scientist","short_names":["scientist"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":318,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F52C","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f52c.png","sheet_x":50,"sheet_y":51,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F52C","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f52c.png","sheet_x":50,"sheet_y":52,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F52C","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f52c.png","sheet_x":50,"sheet_y":53,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F52C","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f52c.png","sheet_x":50,"sheet_y":54,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F52C","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f52c.png","sheet_x":50,"sheet_y":55,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"ASTRONAUT","unified":"1F9D1-200D-1F680","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f680.png","sheet_x":50,"sheet_y":56,"short_name":"astronaut","short_names":["astronaut"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":333,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F680","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f680.png","sheet_x":50,"sheet_y":57,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F680","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f680.png","sheet_x":50,"sheet_y":58,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F680","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f680.png","sheet_x":50,"sheet_y":59,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F680","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f680.png","sheet_x":50,"sheet_y":60,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F680","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f680.png","sheet_x":50,"sheet_y":61,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"FIREFIGHTER","unified":"1F9D1-200D-1F692","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f692.png","sheet_x":50,"sheet_y":62,"short_name":"firefighter","short_names":["firefighter"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":336,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F692","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f692.png","sheet_x":51,"sheet_y":0,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F692","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f692.png","sheet_x":51,"sheet_y":1,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F692","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f692.png","sheet_x":51,"sheet_y":2,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F692","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f692.png","sheet_x":51,"sheet_y":3,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F692","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f692.png","sheet_x":51,"sheet_y":4,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PEOPLE HOLDING HANDS","unified":"1F9D1-200D-1F91D-200D-1F9D1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f91d-200d-1f9d1.png","sheet_x":51,"sheet_y":5,"short_name":"people_holding_hands","short_names":["people_holding_hands"],"text":null,"texts":null,"category":"People & Body","subcategory":"family","sort_order":512,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB-1F3FB":{"unified":"1F9D1-1F3FB-200D-1F91D-200D-1F9D1-1F3FB","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fb.png","sheet_x":51,"sheet_y":6,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FC":{"unified":"1F9D1-1F3FB-200D-1F91D-200D-1F9D1-1F3FC","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fc.png","sheet_x":51,"sheet_y":7,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FD":{"unified":"1F9D1-1F3FB-200D-1F91D-200D-1F9D1-1F3FD","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fd.png","sheet_x":51,"sheet_y":8,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FE":{"unified":"1F9D1-1F3FB-200D-1F91D-200D-1F9D1-1F3FE","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fe.png","sheet_x":51,"sheet_y":9,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FB-1F3FF":{"unified":"1F9D1-1F3FB-200D-1F91D-200D-1F9D1-1F3FF","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3ff.png","sheet_x":51,"sheet_y":10,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FB":{"unified":"1F9D1-1F3FC-200D-1F91D-200D-1F9D1-1F3FB","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fb.png","sheet_x":51,"sheet_y":11,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FC":{"unified":"1F9D1-1F3FC-200D-1F91D-200D-1F9D1-1F3FC","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fc.png","sheet_x":51,"sheet_y":12,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FD":{"unified":"1F9D1-1F3FC-200D-1F91D-200D-1F9D1-1F3FD","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fd.png","sheet_x":51,"sheet_y":13,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FE":{"unified":"1F9D1-1F3FC-200D-1F91D-200D-1F9D1-1F3FE","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fe.png","sheet_x":51,"sheet_y":14,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC-1F3FF":{"unified":"1F9D1-1F3FC-200D-1F91D-200D-1F9D1-1F3FF","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3ff.png","sheet_x":51,"sheet_y":15,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FB":{"unified":"1F9D1-1F3FD-200D-1F91D-200D-1F9D1-1F3FB","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fb.png","sheet_x":51,"sheet_y":16,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FC":{"unified":"1F9D1-1F3FD-200D-1F91D-200D-1F9D1-1F3FC","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fc.png","sheet_x":51,"sheet_y":17,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FD":{"unified":"1F9D1-1F3FD-200D-1F91D-200D-1F9D1-1F3FD","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fd.png","sheet_x":51,"sheet_y":18,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FE":{"unified":"1F9D1-1F3FD-200D-1F91D-200D-1F9D1-1F3FE","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fe.png","sheet_x":51,"sheet_y":19,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD-1F3FF":{"unified":"1F9D1-1F3FD-200D-1F91D-200D-1F9D1-1F3FF","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3ff.png","sheet_x":51,"sheet_y":20,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FB":{"unified":"1F9D1-1F3FE-200D-1F91D-200D-1F9D1-1F3FB","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fb.png","sheet_x":51,"sheet_y":21,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FC":{"unified":"1F9D1-1F3FE-200D-1F91D-200D-1F9D1-1F3FC","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fc.png","sheet_x":51,"sheet_y":22,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FD":{"unified":"1F9D1-1F3FE-200D-1F91D-200D-1F9D1-1F3FD","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fd.png","sheet_x":51,"sheet_y":23,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FE":{"unified":"1F9D1-1F3FE-200D-1F91D-200D-1F9D1-1F3FE","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fe.png","sheet_x":51,"sheet_y":24,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE-1F3FF":{"unified":"1F9D1-1F3FE-200D-1F91D-200D-1F9D1-1F3FF","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3ff.png","sheet_x":51,"sheet_y":25,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FB":{"unified":"1F9D1-1F3FF-200D-1F91D-200D-1F9D1-1F3FB","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fb.png","sheet_x":51,"sheet_y":26,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FC":{"unified":"1F9D1-1F3FF-200D-1F91D-200D-1F9D1-1F3FC","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fc.png","sheet_x":51,"sheet_y":27,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FD":{"unified":"1F9D1-1F3FF-200D-1F91D-200D-1F9D1-1F3FD","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fd.png","sheet_x":51,"sheet_y":28,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FE":{"unified":"1F9D1-1F3FF-200D-1F91D-200D-1F9D1-1F3FE","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fe.png","sheet_x":51,"sheet_y":29,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF-1F3FF":{"unified":"1F9D1-1F3FF-200D-1F91D-200D-1F9D1-1F3FF","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3ff.png","sheet_x":51,"sheet_y":30,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PERSON WITH WHITE CANE FACING RIGHT","unified":"1F9D1-200D-1F9AF-200D-27A1-FE0F","non_qualified":"1F9D1-200D-1F9AF-200D-27A1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f9af-200d-27a1-fe0f.png","sheet_x":51,"sheet_y":31,"short_name":"person_with_white_cane_facing_right","short_names":["person_with_white_cane_facing_right"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":428,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F9AF-200D-27A1-FE0F","non_qualified":"1F9D1-1F3FB-200D-1F9AF-200D-27A1","image":"1f9d1-1f3fb-200d-1f9af-200d-27a1-fe0f.png","sheet_x":51,"sheet_y":32,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F9AF-200D-27A1-FE0F","non_qualified":"1F9D1-1F3FC-200D-1F9AF-200D-27A1","image":"1f9d1-1f3fc-200d-1f9af-200d-27a1-fe0f.png","sheet_x":51,"sheet_y":33,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F9AF-200D-27A1-FE0F","non_qualified":"1F9D1-1F3FD-200D-1F9AF-200D-27A1","image":"1f9d1-1f3fd-200d-1f9af-200d-27a1-fe0f.png","sheet_x":51,"sheet_y":34,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F9AF-200D-27A1-FE0F","non_qualified":"1F9D1-1F3FE-200D-1F9AF-200D-27A1","image":"1f9d1-1f3fe-200d-1f9af-200d-27a1-fe0f.png","sheet_x":51,"sheet_y":35,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F9AF-200D-27A1-FE0F","non_qualified":"1F9D1-1F3FF-200D-1F9AF-200D-27A1","image":"1f9d1-1f3ff-200d-1f9af-200d-27a1-fe0f.png","sheet_x":51,"sheet_y":36,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false}}},{"name":"PERSON WITH WHITE CANE","unified":"1F9D1-200D-1F9AF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f9af.png","sheet_x":51,"sheet_y":37,"short_name":"person_with_probing_cane","short_names":["person_with_probing_cane"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":427,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F9AF","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f9af.png","sheet_x":51,"sheet_y":38,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F9AF","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f9af.png","sheet_x":51,"sheet_y":39,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F9AF","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f9af.png","sheet_x":51,"sheet_y":40,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F9AF","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f9af.png","sheet_x":51,"sheet_y":41,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F9AF","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f9af.png","sheet_x":51,"sheet_y":42,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PERSON: RED HAIR","unified":"1F9D1-200D-1F9B0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f9b0.png","sheet_x":51,"sheet_y":43,"short_name":"red_haired_person","short_names":["red_haired_person"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":249,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F9B0","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f9b0.png","sheet_x":51,"sheet_y":44,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F9B0","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f9b0.png","sheet_x":51,"sheet_y":45,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F9B0","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f9b0.png","sheet_x":51,"sheet_y":46,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F9B0","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f9b0.png","sheet_x":51,"sheet_y":47,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F9B0","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f9b0.png","sheet_x":51,"sheet_y":48,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PERSON: CURLY HAIR","unified":"1F9D1-200D-1F9B1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f9b1.png","sheet_x":51,"sheet_y":49,"short_name":"curly_haired_person","short_names":["curly_haired_person"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":251,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F9B1","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f9b1.png","sheet_x":51,"sheet_y":50,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F9B1","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f9b1.png","sheet_x":51,"sheet_y":51,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F9B1","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f9b1.png","sheet_x":51,"sheet_y":52,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F9B1","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f9b1.png","sheet_x":51,"sheet_y":53,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F9B1","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f9b1.png","sheet_x":51,"sheet_y":54,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PERSON: BALD","unified":"1F9D1-200D-1F9B2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f9b2.png","sheet_x":51,"sheet_y":55,"short_name":"bald_person","short_names":["bald_person"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":255,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F9B2","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f9b2.png","sheet_x":51,"sheet_y":56,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F9B2","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f9b2.png","sheet_x":51,"sheet_y":57,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F9B2","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f9b2.png","sheet_x":51,"sheet_y":58,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F9B2","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f9b2.png","sheet_x":51,"sheet_y":59,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F9B2","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f9b2.png","sheet_x":51,"sheet_y":60,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PERSON: WHITE HAIR","unified":"1F9D1-200D-1F9B3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f9b3.png","sheet_x":51,"sheet_y":61,"short_name":"white_haired_person","short_names":["white_haired_person"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":253,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F9B3","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f9b3.png","sheet_x":51,"sheet_y":62,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F9B3","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f9b3.png","sheet_x":52,"sheet_y":0,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F9B3","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f9b3.png","sheet_x":52,"sheet_y":1,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F9B3","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f9b3.png","sheet_x":52,"sheet_y":2,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F9B3","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f9b3.png","sheet_x":52,"sheet_y":3,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PERSON IN MOTORIZED WHEELCHAIR FACING RIGHT","unified":"1F9D1-200D-1F9BC-200D-27A1-FE0F","non_qualified":"1F9D1-200D-1F9BC-200D-27A1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f9bc-200d-27a1-fe0f.png","sheet_x":52,"sheet_y":4,"short_name":"person_in_motorized_wheelchair_facing_right","short_names":["person_in_motorized_wheelchair_facing_right"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":434,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F9BC-200D-27A1-FE0F","non_qualified":"1F9D1-1F3FB-200D-1F9BC-200D-27A1","image":"1f9d1-1f3fb-200d-1f9bc-200d-27a1-fe0f.png","sheet_x":52,"sheet_y":5,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F9BC-200D-27A1-FE0F","non_qualified":"1F9D1-1F3FC-200D-1F9BC-200D-27A1","image":"1f9d1-1f3fc-200d-1f9bc-200d-27a1-fe0f.png","sheet_x":52,"sheet_y":6,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F9BC-200D-27A1-FE0F","non_qualified":"1F9D1-1F3FD-200D-1F9BC-200D-27A1","image":"1f9d1-1f3fd-200d-1f9bc-200d-27a1-fe0f.png","sheet_x":52,"sheet_y":7,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F9BC-200D-27A1-FE0F","non_qualified":"1F9D1-1F3FE-200D-1F9BC-200D-27A1","image":"1f9d1-1f3fe-200d-1f9bc-200d-27a1-fe0f.png","sheet_x":52,"sheet_y":8,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F9BC-200D-27A1-FE0F","non_qualified":"1F9D1-1F3FF-200D-1F9BC-200D-27A1","image":"1f9d1-1f3ff-200d-1f9bc-200d-27a1-fe0f.png","sheet_x":52,"sheet_y":9,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false}}},{"name":"PERSON IN MOTORIZED WHEELCHAIR","unified":"1F9D1-200D-1F9BC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f9bc.png","sheet_x":52,"sheet_y":10,"short_name":"person_in_motorized_wheelchair","short_names":["person_in_motorized_wheelchair"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":433,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F9BC","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f9bc.png","sheet_x":52,"sheet_y":11,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F9BC","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f9bc.png","sheet_x":52,"sheet_y":12,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F9BC","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f9bc.png","sheet_x":52,"sheet_y":13,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F9BC","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f9bc.png","sheet_x":52,"sheet_y":14,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F9BC","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f9bc.png","sheet_x":52,"sheet_y":15,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PERSON IN MANUAL WHEELCHAIR FACING RIGHT","unified":"1F9D1-200D-1F9BD-200D-27A1-FE0F","non_qualified":"1F9D1-200D-1F9BD-200D-27A1","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f9bd-200d-27a1-fe0f.png","sheet_x":52,"sheet_y":16,"short_name":"person_in_manual_wheelchair_facing_right","short_names":["person_in_manual_wheelchair_facing_right"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":440,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F9BD-200D-27A1-FE0F","non_qualified":"1F9D1-1F3FB-200D-1F9BD-200D-27A1","image":"1f9d1-1f3fb-200d-1f9bd-200d-27a1-fe0f.png","sheet_x":52,"sheet_y":17,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F9BD-200D-27A1-FE0F","non_qualified":"1F9D1-1F3FC-200D-1F9BD-200D-27A1","image":"1f9d1-1f3fc-200d-1f9bd-200d-27a1-fe0f.png","sheet_x":52,"sheet_y":18,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F9BD-200D-27A1-FE0F","non_qualified":"1F9D1-1F3FD-200D-1F9BD-200D-27A1","image":"1f9d1-1f3fd-200d-1f9bd-200d-27a1-fe0f.png","sheet_x":52,"sheet_y":19,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F9BD-200D-27A1-FE0F","non_qualified":"1F9D1-1F3FE-200D-1F9BD-200D-27A1","image":"1f9d1-1f3fe-200d-1f9bd-200d-27a1-fe0f.png","sheet_x":52,"sheet_y":20,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F9BD-200D-27A1-FE0F","non_qualified":"1F9D1-1F3FF-200D-1F9BD-200D-27A1","image":"1f9d1-1f3ff-200d-1f9bd-200d-27a1-fe0f.png","sheet_x":52,"sheet_y":21,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false}}},{"name":"PERSON IN MANUAL WHEELCHAIR","unified":"1F9D1-200D-1F9BD","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f9bd.png","sheet_x":52,"sheet_y":22,"short_name":"person_in_manual_wheelchair","short_names":["person_in_manual_wheelchair"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":439,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1F9BD","non_qualified":null,"image":"1f9d1-1f3fb-200d-1f9bd.png","sheet_x":52,"sheet_y":23,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1F9BD","non_qualified":null,"image":"1f9d1-1f3fc-200d-1f9bd.png","sheet_x":52,"sheet_y":24,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1F9BD","non_qualified":null,"image":"1f9d1-1f3fd-200d-1f9bd.png","sheet_x":52,"sheet_y":25,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1F9BD","non_qualified":null,"image":"1f9d1-1f3fe-200d-1f9bd.png","sheet_x":52,"sheet_y":26,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1F9BD","non_qualified":null,"image":"1f9d1-1f3ff-200d-1f9bd.png","sheet_x":52,"sheet_y":27,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"FAMILY: ADULT, ADULT, CHILD","unified":"1F9D1-200D-1F9D1-200D-1F9D2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f9d1-200d-1f9d2.png","sheet_x":52,"sheet_y":28,"short_name":"family_adult_adult_child","short_names":["family_adult_adult_child"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-symbol","sort_order":554,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"FAMILY: ADULT, ADULT, CHILD, CHILD","unified":"1F9D1-200D-1F9D1-200D-1F9D2-200D-1F9D2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f9d1-200d-1f9d2-200d-1f9d2.png","sheet_x":52,"sheet_y":29,"short_name":"family_adult_adult_child_child","short_names":["family_adult_adult_child_child"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-symbol","sort_order":555,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"FAMILY: ADULT, CHILD, CHILD","unified":"1F9D1-200D-1F9D2-200D-1F9D2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f9d2-200d-1f9d2.png","sheet_x":52,"sheet_y":30,"short_name":"family_adult_child_child","short_names":["family_adult_child_child"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-symbol","sort_order":557,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"FAMILY: ADULT, CHILD","unified":"1F9D1-200D-1F9D2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1f9d2.png","sheet_x":52,"sheet_y":31,"short_name":"family_adult_child","short_names":["family_adult_child"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-symbol","sort_order":556,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"BALLET DANCER","unified":"1F9D1-200D-1FA70","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-1fa70.png","sheet_x":52,"sheet_y":32,"short_name":"ballet_dancer","short_names":["ballet_dancer"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":451,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-1FA70","non_qualified":null,"image":"1f9d1-1f3fb-200d-1fa70.png","sheet_x":52,"sheet_y":33,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FC":{"unified":"1F9D1-1F3FC-200D-1FA70","non_qualified":null,"image":"1f9d1-1f3fc-200d-1fa70.png","sheet_x":52,"sheet_y":34,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FD":{"unified":"1F9D1-1F3FD-200D-1FA70","non_qualified":null,"image":"1f9d1-1f3fd-200d-1fa70.png","sheet_x":52,"sheet_y":35,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FE":{"unified":"1F9D1-1F3FE-200D-1FA70","non_qualified":null,"image":"1f9d1-1f3fe-200d-1fa70.png","sheet_x":52,"sheet_y":36,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},"1F3FF":{"unified":"1F9D1-1F3FF-200D-1FA70","non_qualified":null,"image":"1f9d1-1f3ff-200d-1fa70.png","sheet_x":52,"sheet_y":37,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false}}},{"name":"HEALTH WORKER","unified":"1F9D1-200D-2695-FE0F","non_qualified":"1F9D1-200D-2695","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-2695-fe0f.png","sheet_x":52,"sheet_y":38,"short_name":"health_worker","short_names":["health_worker"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":291,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-2695-FE0F","non_qualified":"1F9D1-1F3FB-200D-2695","image":"1f9d1-1f3fb-200d-2695-fe0f.png","sheet_x":52,"sheet_y":39,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-2695-FE0F","non_qualified":"1F9D1-1F3FC-200D-2695","image":"1f9d1-1f3fc-200d-2695-fe0f.png","sheet_x":52,"sheet_y":40,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-2695-FE0F","non_qualified":"1F9D1-1F3FD-200D-2695","image":"1f9d1-1f3fd-200d-2695-fe0f.png","sheet_x":52,"sheet_y":41,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-2695-FE0F","non_qualified":"1F9D1-1F3FE-200D-2695","image":"1f9d1-1f3fe-200d-2695-fe0f.png","sheet_x":52,"sheet_y":42,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-2695-FE0F","non_qualified":"1F9D1-1F3FF-200D-2695","image":"1f9d1-1f3ff-200d-2695-fe0f.png","sheet_x":52,"sheet_y":43,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"JUDGE","unified":"1F9D1-200D-2696-FE0F","non_qualified":"1F9D1-200D-2696","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-2696-fe0f.png","sheet_x":52,"sheet_y":44,"short_name":"judge","short_names":["judge"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":300,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-2696-FE0F","non_qualified":"1F9D1-1F3FB-200D-2696","image":"1f9d1-1f3fb-200d-2696-fe0f.png","sheet_x":52,"sheet_y":45,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-2696-FE0F","non_qualified":"1F9D1-1F3FC-200D-2696","image":"1f9d1-1f3fc-200d-2696-fe0f.png","sheet_x":52,"sheet_y":46,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-2696-FE0F","non_qualified":"1F9D1-1F3FD-200D-2696","image":"1f9d1-1f3fd-200d-2696-fe0f.png","sheet_x":52,"sheet_y":47,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-2696-FE0F","non_qualified":"1F9D1-1F3FE-200D-2696","image":"1f9d1-1f3fe-200d-2696-fe0f.png","sheet_x":52,"sheet_y":48,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-2696-FE0F","non_qualified":"1F9D1-1F3FF-200D-2696","image":"1f9d1-1f3ff-200d-2696-fe0f.png","sheet_x":52,"sheet_y":49,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PILOT","unified":"1F9D1-200D-2708-FE0F","non_qualified":"1F9D1-200D-2708","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1-200d-2708-fe0f.png","sheet_x":52,"sheet_y":50,"short_name":"pilot","short_names":["pilot"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":330,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB-200D-2708-FE0F","non_qualified":"1F9D1-1F3FB-200D-2708","image":"1f9d1-1f3fb-200d-2708-fe0f.png","sheet_x":52,"sheet_y":51,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC-200D-2708-FE0F","non_qualified":"1F9D1-1F3FC-200D-2708","image":"1f9d1-1f3fc-200d-2708-fe0f.png","sheet_x":52,"sheet_y":52,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD-200D-2708-FE0F","non_qualified":"1F9D1-1F3FD-200D-2708","image":"1f9d1-1f3fd-200d-2708-fe0f.png","sheet_x":52,"sheet_y":53,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE-200D-2708-FE0F","non_qualified":"1F9D1-1F3FE-200D-2708","image":"1f9d1-1f3fe-200d-2708-fe0f.png","sheet_x":52,"sheet_y":54,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF-200D-2708-FE0F","non_qualified":"1F9D1-1F3FF-200D-2708","image":"1f9d1-1f3ff-200d-2708-fe0f.png","sheet_x":52,"sheet_y":55,"added_in":"12.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"ADULT","unified":"1F9D1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d1.png","sheet_x":52,"sheet_y":56,"short_name":"adult","short_names":["adult"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":237,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D1-1F3FB","non_qualified":null,"image":"1f9d1-1f3fb.png","sheet_x":52,"sheet_y":57,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D1-1F3FC","non_qualified":null,"image":"1f9d1-1f3fc.png","sheet_x":52,"sheet_y":58,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D1-1F3FD","non_qualified":null,"image":"1f9d1-1f3fd.png","sheet_x":52,"sheet_y":59,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D1-1F3FE","non_qualified":null,"image":"1f9d1-1f3fe.png","sheet_x":52,"sheet_y":60,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D1-1F3FF","non_qualified":null,"image":"1f9d1-1f3ff.png","sheet_x":52,"sheet_y":61,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"CHILD","unified":"1F9D2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d2.png","sheet_x":52,"sheet_y":62,"short_name":"child","short_names":["child"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":234,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D2-1F3FB","non_qualified":null,"image":"1f9d2-1f3fb.png","sheet_x":53,"sheet_y":0,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D2-1F3FC","non_qualified":null,"image":"1f9d2-1f3fc.png","sheet_x":53,"sheet_y":1,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D2-1F3FD","non_qualified":null,"image":"1f9d2-1f3fd.png","sheet_x":53,"sheet_y":2,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D2-1F3FE","non_qualified":null,"image":"1f9d2-1f3fe.png","sheet_x":53,"sheet_y":3,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D2-1F3FF","non_qualified":null,"image":"1f9d2-1f3ff.png","sheet_x":53,"sheet_y":4,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"OLDER ADULT","unified":"1F9D3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d3.png","sheet_x":53,"sheet_y":5,"short_name":"older_adult","short_names":["older_adult"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":258,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D3-1F3FB","non_qualified":null,"image":"1f9d3-1f3fb.png","sheet_x":53,"sheet_y":6,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D3-1F3FC","non_qualified":null,"image":"1f9d3-1f3fc.png","sheet_x":53,"sheet_y":7,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D3-1F3FD","non_qualified":null,"image":"1f9d3-1f3fd.png","sheet_x":53,"sheet_y":8,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D3-1F3FE","non_qualified":null,"image":"1f9d3-1f3fe.png","sheet_x":53,"sheet_y":9,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D3-1F3FF","non_qualified":null,"image":"1f9d3-1f3ff.png","sheet_x":53,"sheet_y":10,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN: BEARD","unified":"1F9D4-200D-2640-FE0F","non_qualified":"1F9D4-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d4-200d-2640-fe0f.png","sheet_x":53,"sheet_y":11,"short_name":"woman_with_beard","short_names":["woman_with_beard"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":242,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D4-1F3FB-200D-2640-FE0F","non_qualified":"1F9D4-1F3FB-200D-2640","image":"1f9d4-1f3fb-200d-2640-fe0f.png","sheet_x":53,"sheet_y":12,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D4-1F3FC-200D-2640-FE0F","non_qualified":"1F9D4-1F3FC-200D-2640","image":"1f9d4-1f3fc-200d-2640-fe0f.png","sheet_x":53,"sheet_y":13,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D4-1F3FD-200D-2640-FE0F","non_qualified":"1F9D4-1F3FD-200D-2640","image":"1f9d4-1f3fd-200d-2640-fe0f.png","sheet_x":53,"sheet_y":14,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D4-1F3FE-200D-2640-FE0F","non_qualified":"1F9D4-1F3FE-200D-2640","image":"1f9d4-1f3fe-200d-2640-fe0f.png","sheet_x":53,"sheet_y":15,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D4-1F3FF-200D-2640-FE0F","non_qualified":"1F9D4-1F3FF-200D-2640","image":"1f9d4-1f3ff-200d-2640-fe0f.png","sheet_x":53,"sheet_y":16,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN: BEARD","unified":"1F9D4-200D-2642-FE0F","non_qualified":"1F9D4-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d4-200d-2642-fe0f.png","sheet_x":53,"sheet_y":17,"short_name":"man_with_beard","short_names":["man_with_beard"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":241,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D4-1F3FB-200D-2642-FE0F","non_qualified":"1F9D4-1F3FB-200D-2642","image":"1f9d4-1f3fb-200d-2642-fe0f.png","sheet_x":53,"sheet_y":18,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D4-1F3FC-200D-2642-FE0F","non_qualified":"1F9D4-1F3FC-200D-2642","image":"1f9d4-1f3fc-200d-2642-fe0f.png","sheet_x":53,"sheet_y":19,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D4-1F3FD-200D-2642-FE0F","non_qualified":"1F9D4-1F3FD-200D-2642","image":"1f9d4-1f3fd-200d-2642-fe0f.png","sheet_x":53,"sheet_y":20,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D4-1F3FE-200D-2642-FE0F","non_qualified":"1F9D4-1F3FE-200D-2642","image":"1f9d4-1f3fe-200d-2642-fe0f.png","sheet_x":53,"sheet_y":21,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D4-1F3FF-200D-2642-FE0F","non_qualified":"1F9D4-1F3FF-200D-2642","image":"1f9d4-1f3ff-200d-2642-fe0f.png","sheet_x":53,"sheet_y":22,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"BEARDED PERSON","unified":"1F9D4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d4.png","sheet_x":53,"sheet_y":23,"short_name":"bearded_person","short_names":["bearded_person"],"text":null,"texts":null,"category":"People & Body","subcategory":"person","sort_order":240,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D4-1F3FB","non_qualified":null,"image":"1f9d4-1f3fb.png","sheet_x":53,"sheet_y":24,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D4-1F3FC","non_qualified":null,"image":"1f9d4-1f3fc.png","sheet_x":53,"sheet_y":25,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D4-1F3FD","non_qualified":null,"image":"1f9d4-1f3fd.png","sheet_x":53,"sheet_y":26,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D4-1F3FE","non_qualified":null,"image":"1f9d4-1f3fe.png","sheet_x":53,"sheet_y":27,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D4-1F3FF","non_qualified":null,"image":"1f9d4-1f3ff.png","sheet_x":53,"sheet_y":28,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PERSON WITH HEADSCARF","unified":"1F9D5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d5.png","sheet_x":53,"sheet_y":29,"short_name":"person_with_headscarf","short_names":["person_with_headscarf"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":359,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D5-1F3FB","non_qualified":null,"image":"1f9d5-1f3fb.png","sheet_x":53,"sheet_y":30,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D5-1F3FC","non_qualified":null,"image":"1f9d5-1f3fc.png","sheet_x":53,"sheet_y":31,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D5-1F3FD","non_qualified":null,"image":"1f9d5-1f3fd.png","sheet_x":53,"sheet_y":32,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D5-1F3FE","non_qualified":null,"image":"1f9d5-1f3fe.png","sheet_x":53,"sheet_y":33,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D5-1F3FF","non_qualified":null,"image":"1f9d5-1f3ff.png","sheet_x":53,"sheet_y":34,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WOMAN IN STEAMY ROOM","unified":"1F9D6-200D-2640-FE0F","non_qualified":"1F9D6-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d6-200d-2640-fe0f.png","sheet_x":53,"sheet_y":35,"short_name":"woman_in_steamy_room","short_names":["woman_in_steamy_room"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":460,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D6-1F3FB-200D-2640-FE0F","non_qualified":"1F9D6-1F3FB-200D-2640","image":"1f9d6-1f3fb-200d-2640-fe0f.png","sheet_x":53,"sheet_y":36,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D6-1F3FC-200D-2640-FE0F","non_qualified":"1F9D6-1F3FC-200D-2640","image":"1f9d6-1f3fc-200d-2640-fe0f.png","sheet_x":53,"sheet_y":37,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D6-1F3FD-200D-2640-FE0F","non_qualified":"1F9D6-1F3FD-200D-2640","image":"1f9d6-1f3fd-200d-2640-fe0f.png","sheet_x":53,"sheet_y":38,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D6-1F3FE-200D-2640-FE0F","non_qualified":"1F9D6-1F3FE-200D-2640","image":"1f9d6-1f3fe-200d-2640-fe0f.png","sheet_x":53,"sheet_y":39,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D6-1F3FF-200D-2640-FE0F","non_qualified":"1F9D6-1F3FF-200D-2640","image":"1f9d6-1f3ff-200d-2640-fe0f.png","sheet_x":53,"sheet_y":40,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN IN STEAMY ROOM","unified":"1F9D6-200D-2642-FE0F","non_qualified":"1F9D6-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d6-200d-2642-fe0f.png","sheet_x":53,"sheet_y":41,"short_name":"man_in_steamy_room","short_names":["man_in_steamy_room"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":459,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D6-1F3FB-200D-2642-FE0F","non_qualified":"1F9D6-1F3FB-200D-2642","image":"1f9d6-1f3fb-200d-2642-fe0f.png","sheet_x":53,"sheet_y":42,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9D6-1F3FB"},"1F3FC":{"unified":"1F9D6-1F3FC-200D-2642-FE0F","non_qualified":"1F9D6-1F3FC-200D-2642","image":"1f9d6-1f3fc-200d-2642-fe0f.png","sheet_x":53,"sheet_y":43,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9D6-1F3FC"},"1F3FD":{"unified":"1F9D6-1F3FD-200D-2642-FE0F","non_qualified":"1F9D6-1F3FD-200D-2642","image":"1f9d6-1f3fd-200d-2642-fe0f.png","sheet_x":53,"sheet_y":44,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9D6-1F3FD"},"1F3FE":{"unified":"1F9D6-1F3FE-200D-2642-FE0F","non_qualified":"1F9D6-1F3FE-200D-2642","image":"1f9d6-1f3fe-200d-2642-fe0f.png","sheet_x":53,"sheet_y":45,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9D6-1F3FE"},"1F3FF":{"unified":"1F9D6-1F3FF-200D-2642-FE0F","non_qualified":"1F9D6-1F3FF-200D-2642","image":"1f9d6-1f3ff-200d-2642-fe0f.png","sheet_x":53,"sheet_y":46,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9D6-1F3FF"}},"obsoletes":"1F9D6"},{"name":"PERSON IN STEAMY ROOM","unified":"1F9D6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d6.png","sheet_x":53,"sheet_y":47,"short_name":"person_in_steamy_room","short_names":["person_in_steamy_room"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":458,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D6-1F3FB","non_qualified":null,"image":"1f9d6-1f3fb.png","sheet_x":53,"sheet_y":48,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9D6-1F3FB-200D-2642-FE0F"},"1F3FC":{"unified":"1F9D6-1F3FC","non_qualified":null,"image":"1f9d6-1f3fc.png","sheet_x":53,"sheet_y":49,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9D6-1F3FC-200D-2642-FE0F"},"1F3FD":{"unified":"1F9D6-1F3FD","non_qualified":null,"image":"1f9d6-1f3fd.png","sheet_x":53,"sheet_y":50,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9D6-1F3FD-200D-2642-FE0F"},"1F3FE":{"unified":"1F9D6-1F3FE","non_qualified":null,"image":"1f9d6-1f3fe.png","sheet_x":53,"sheet_y":51,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9D6-1F3FE-200D-2642-FE0F"},"1F3FF":{"unified":"1F9D6-1F3FF","non_qualified":null,"image":"1f9d6-1f3ff.png","sheet_x":53,"sheet_y":52,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9D6-1F3FF-200D-2642-FE0F"}},"obsoleted_by":"1F9D6-200D-2642-FE0F"},{"name":"WOMAN CLIMBING","unified":"1F9D7-200D-2640-FE0F","non_qualified":"1F9D7-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d7-200d-2640-fe0f.png","sheet_x":53,"sheet_y":53,"short_name":"woman_climbing","short_names":["woman_climbing"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":463,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D7-1F3FB-200D-2640-FE0F","non_qualified":"1F9D7-1F3FB-200D-2640","image":"1f9d7-1f3fb-200d-2640-fe0f.png","sheet_x":53,"sheet_y":54,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9D7-1F3FB"},"1F3FC":{"unified":"1F9D7-1F3FC-200D-2640-FE0F","non_qualified":"1F9D7-1F3FC-200D-2640","image":"1f9d7-1f3fc-200d-2640-fe0f.png","sheet_x":53,"sheet_y":55,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9D7-1F3FC"},"1F3FD":{"unified":"1F9D7-1F3FD-200D-2640-FE0F","non_qualified":"1F9D7-1F3FD-200D-2640","image":"1f9d7-1f3fd-200d-2640-fe0f.png","sheet_x":53,"sheet_y":56,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9D7-1F3FD"},"1F3FE":{"unified":"1F9D7-1F3FE-200D-2640-FE0F","non_qualified":"1F9D7-1F3FE-200D-2640","image":"1f9d7-1f3fe-200d-2640-fe0f.png","sheet_x":53,"sheet_y":57,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9D7-1F3FE"},"1F3FF":{"unified":"1F9D7-1F3FF-200D-2640-FE0F","non_qualified":"1F9D7-1F3FF-200D-2640","image":"1f9d7-1f3ff-200d-2640-fe0f.png","sheet_x":53,"sheet_y":58,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9D7-1F3FF"}},"obsoletes":"1F9D7"},{"name":"MAN CLIMBING","unified":"1F9D7-200D-2642-FE0F","non_qualified":"1F9D7-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d7-200d-2642-fe0f.png","sheet_x":53,"sheet_y":59,"short_name":"man_climbing","short_names":["man_climbing"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":462,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D7-1F3FB-200D-2642-FE0F","non_qualified":"1F9D7-1F3FB-200D-2642","image":"1f9d7-1f3fb-200d-2642-fe0f.png","sheet_x":53,"sheet_y":60,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D7-1F3FC-200D-2642-FE0F","non_qualified":"1F9D7-1F3FC-200D-2642","image":"1f9d7-1f3fc-200d-2642-fe0f.png","sheet_x":53,"sheet_y":61,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D7-1F3FD-200D-2642-FE0F","non_qualified":"1F9D7-1F3FD-200D-2642","image":"1f9d7-1f3fd-200d-2642-fe0f.png","sheet_x":53,"sheet_y":62,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D7-1F3FE-200D-2642-FE0F","non_qualified":"1F9D7-1F3FE-200D-2642","image":"1f9d7-1f3fe-200d-2642-fe0f.png","sheet_x":54,"sheet_y":0,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D7-1F3FF-200D-2642-FE0F","non_qualified":"1F9D7-1F3FF-200D-2642","image":"1f9d7-1f3ff-200d-2642-fe0f.png","sheet_x":54,"sheet_y":1,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PERSON CLIMBING","unified":"1F9D7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d7.png","sheet_x":54,"sheet_y":2,"short_name":"person_climbing","short_names":["person_climbing"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-activity","sort_order":461,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D7-1F3FB","non_qualified":null,"image":"1f9d7-1f3fb.png","sheet_x":54,"sheet_y":3,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9D7-1F3FB-200D-2640-FE0F"},"1F3FC":{"unified":"1F9D7-1F3FC","non_qualified":null,"image":"1f9d7-1f3fc.png","sheet_x":54,"sheet_y":4,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9D7-1F3FC-200D-2640-FE0F"},"1F3FD":{"unified":"1F9D7-1F3FD","non_qualified":null,"image":"1f9d7-1f3fd.png","sheet_x":54,"sheet_y":5,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9D7-1F3FD-200D-2640-FE0F"},"1F3FE":{"unified":"1F9D7-1F3FE","non_qualified":null,"image":"1f9d7-1f3fe.png","sheet_x":54,"sheet_y":6,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9D7-1F3FE-200D-2640-FE0F"},"1F3FF":{"unified":"1F9D7-1F3FF","non_qualified":null,"image":"1f9d7-1f3ff.png","sheet_x":54,"sheet_y":7,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9D7-1F3FF-200D-2640-FE0F"}},"obsoleted_by":"1F9D7-200D-2640-FE0F"},{"name":"WOMAN IN LOTUS POSITION","unified":"1F9D8-200D-2640-FE0F","non_qualified":"1F9D8-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d8-200d-2640-fe0f.png","sheet_x":54,"sheet_y":8,"short_name":"woman_in_lotus_position","short_names":["woman_in_lotus_position"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-resting","sort_order":509,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D8-1F3FB-200D-2640-FE0F","non_qualified":"1F9D8-1F3FB-200D-2640","image":"1f9d8-1f3fb-200d-2640-fe0f.png","sheet_x":54,"sheet_y":9,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9D8-1F3FB"},"1F3FC":{"unified":"1F9D8-1F3FC-200D-2640-FE0F","non_qualified":"1F9D8-1F3FC-200D-2640","image":"1f9d8-1f3fc-200d-2640-fe0f.png","sheet_x":54,"sheet_y":10,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9D8-1F3FC"},"1F3FD":{"unified":"1F9D8-1F3FD-200D-2640-FE0F","non_qualified":"1F9D8-1F3FD-200D-2640","image":"1f9d8-1f3fd-200d-2640-fe0f.png","sheet_x":54,"sheet_y":11,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9D8-1F3FD"},"1F3FE":{"unified":"1F9D8-1F3FE-200D-2640-FE0F","non_qualified":"1F9D8-1F3FE-200D-2640","image":"1f9d8-1f3fe-200d-2640-fe0f.png","sheet_x":54,"sheet_y":12,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9D8-1F3FE"},"1F3FF":{"unified":"1F9D8-1F3FF-200D-2640-FE0F","non_qualified":"1F9D8-1F3FF-200D-2640","image":"1f9d8-1f3ff-200d-2640-fe0f.png","sheet_x":54,"sheet_y":13,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9D8-1F3FF"}},"obsoletes":"1F9D8"},{"name":"MAN IN LOTUS POSITION","unified":"1F9D8-200D-2642-FE0F","non_qualified":"1F9D8-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d8-200d-2642-fe0f.png","sheet_x":54,"sheet_y":14,"short_name":"man_in_lotus_position","short_names":["man_in_lotus_position"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-resting","sort_order":508,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D8-1F3FB-200D-2642-FE0F","non_qualified":"1F9D8-1F3FB-200D-2642","image":"1f9d8-1f3fb-200d-2642-fe0f.png","sheet_x":54,"sheet_y":15,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D8-1F3FC-200D-2642-FE0F","non_qualified":"1F9D8-1F3FC-200D-2642","image":"1f9d8-1f3fc-200d-2642-fe0f.png","sheet_x":54,"sheet_y":16,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D8-1F3FD-200D-2642-FE0F","non_qualified":"1F9D8-1F3FD-200D-2642","image":"1f9d8-1f3fd-200d-2642-fe0f.png","sheet_x":54,"sheet_y":17,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D8-1F3FE-200D-2642-FE0F","non_qualified":"1F9D8-1F3FE-200D-2642","image":"1f9d8-1f3fe-200d-2642-fe0f.png","sheet_x":54,"sheet_y":18,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D8-1F3FF-200D-2642-FE0F","non_qualified":"1F9D8-1F3FF-200D-2642","image":"1f9d8-1f3ff-200d-2642-fe0f.png","sheet_x":54,"sheet_y":19,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PERSON IN LOTUS POSITION","unified":"1F9D8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d8.png","sheet_x":54,"sheet_y":20,"short_name":"person_in_lotus_position","short_names":["person_in_lotus_position"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-resting","sort_order":507,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D8-1F3FB","non_qualified":null,"image":"1f9d8-1f3fb.png","sheet_x":54,"sheet_y":21,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9D8-1F3FB-200D-2640-FE0F"},"1F3FC":{"unified":"1F9D8-1F3FC","non_qualified":null,"image":"1f9d8-1f3fc.png","sheet_x":54,"sheet_y":22,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9D8-1F3FC-200D-2640-FE0F"},"1F3FD":{"unified":"1F9D8-1F3FD","non_qualified":null,"image":"1f9d8-1f3fd.png","sheet_x":54,"sheet_y":23,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9D8-1F3FD-200D-2640-FE0F"},"1F3FE":{"unified":"1F9D8-1F3FE","non_qualified":null,"image":"1f9d8-1f3fe.png","sheet_x":54,"sheet_y":24,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9D8-1F3FE-200D-2640-FE0F"},"1F3FF":{"unified":"1F9D8-1F3FF","non_qualified":null,"image":"1f9d8-1f3ff.png","sheet_x":54,"sheet_y":25,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9D8-1F3FF-200D-2640-FE0F"}},"obsoleted_by":"1F9D8-200D-2640-FE0F"},{"name":"WOMAN MAGE","unified":"1F9D9-200D-2640-FE0F","non_qualified":"1F9D9-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d9-200d-2640-fe0f.png","sheet_x":54,"sheet_y":26,"short_name":"female_mage","short_names":["female_mage"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":385,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D9-1F3FB-200D-2640-FE0F","non_qualified":"1F9D9-1F3FB-200D-2640","image":"1f9d9-1f3fb-200d-2640-fe0f.png","sheet_x":54,"sheet_y":27,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9D9-1F3FB"},"1F3FC":{"unified":"1F9D9-1F3FC-200D-2640-FE0F","non_qualified":"1F9D9-1F3FC-200D-2640","image":"1f9d9-1f3fc-200d-2640-fe0f.png","sheet_x":54,"sheet_y":28,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9D9-1F3FC"},"1F3FD":{"unified":"1F9D9-1F3FD-200D-2640-FE0F","non_qualified":"1F9D9-1F3FD-200D-2640","image":"1f9d9-1f3fd-200d-2640-fe0f.png","sheet_x":54,"sheet_y":29,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9D9-1F3FD"},"1F3FE":{"unified":"1F9D9-1F3FE-200D-2640-FE0F","non_qualified":"1F9D9-1F3FE-200D-2640","image":"1f9d9-1f3fe-200d-2640-fe0f.png","sheet_x":54,"sheet_y":30,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9D9-1F3FE"},"1F3FF":{"unified":"1F9D9-1F3FF-200D-2640-FE0F","non_qualified":"1F9D9-1F3FF-200D-2640","image":"1f9d9-1f3ff-200d-2640-fe0f.png","sheet_x":54,"sheet_y":31,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9D9-1F3FF"}},"obsoletes":"1F9D9"},{"name":"MAN MAGE","unified":"1F9D9-200D-2642-FE0F","non_qualified":"1F9D9-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d9-200d-2642-fe0f.png","sheet_x":54,"sheet_y":32,"short_name":"male_mage","short_names":["male_mage"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":384,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D9-1F3FB-200D-2642-FE0F","non_qualified":"1F9D9-1F3FB-200D-2642","image":"1f9d9-1f3fb-200d-2642-fe0f.png","sheet_x":54,"sheet_y":33,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9D9-1F3FC-200D-2642-FE0F","non_qualified":"1F9D9-1F3FC-200D-2642","image":"1f9d9-1f3fc-200d-2642-fe0f.png","sheet_x":54,"sheet_y":34,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9D9-1F3FD-200D-2642-FE0F","non_qualified":"1F9D9-1F3FD-200D-2642","image":"1f9d9-1f3fd-200d-2642-fe0f.png","sheet_x":54,"sheet_y":35,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9D9-1F3FE-200D-2642-FE0F","non_qualified":"1F9D9-1F3FE-200D-2642","image":"1f9d9-1f3fe-200d-2642-fe0f.png","sheet_x":54,"sheet_y":36,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9D9-1F3FF-200D-2642-FE0F","non_qualified":"1F9D9-1F3FF-200D-2642","image":"1f9d9-1f3ff-200d-2642-fe0f.png","sheet_x":54,"sheet_y":37,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAGE","unified":"1F9D9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9d9.png","sheet_x":54,"sheet_y":38,"short_name":"mage","short_names":["mage"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":383,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9D9-1F3FB","non_qualified":null,"image":"1f9d9-1f3fb.png","sheet_x":54,"sheet_y":39,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9D9-1F3FB-200D-2640-FE0F"},"1F3FC":{"unified":"1F9D9-1F3FC","non_qualified":null,"image":"1f9d9-1f3fc.png","sheet_x":54,"sheet_y":40,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9D9-1F3FC-200D-2640-FE0F"},"1F3FD":{"unified":"1F9D9-1F3FD","non_qualified":null,"image":"1f9d9-1f3fd.png","sheet_x":54,"sheet_y":41,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9D9-1F3FD-200D-2640-FE0F"},"1F3FE":{"unified":"1F9D9-1F3FE","non_qualified":null,"image":"1f9d9-1f3fe.png","sheet_x":54,"sheet_y":42,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9D9-1F3FE-200D-2640-FE0F"},"1F3FF":{"unified":"1F9D9-1F3FF","non_qualified":null,"image":"1f9d9-1f3ff.png","sheet_x":54,"sheet_y":43,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9D9-1F3FF-200D-2640-FE0F"}},"obsoleted_by":"1F9D9-200D-2640-FE0F"},{"name":"WOMAN FAIRY","unified":"1F9DA-200D-2640-FE0F","non_qualified":"1F9DA-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9da-200d-2640-fe0f.png","sheet_x":54,"sheet_y":44,"short_name":"female_fairy","short_names":["female_fairy"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":388,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9DA-1F3FB-200D-2640-FE0F","non_qualified":"1F9DA-1F3FB-200D-2640","image":"1f9da-1f3fb-200d-2640-fe0f.png","sheet_x":54,"sheet_y":45,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DA-1F3FB"},"1F3FC":{"unified":"1F9DA-1F3FC-200D-2640-FE0F","non_qualified":"1F9DA-1F3FC-200D-2640","image":"1f9da-1f3fc-200d-2640-fe0f.png","sheet_x":54,"sheet_y":46,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DA-1F3FC"},"1F3FD":{"unified":"1F9DA-1F3FD-200D-2640-FE0F","non_qualified":"1F9DA-1F3FD-200D-2640","image":"1f9da-1f3fd-200d-2640-fe0f.png","sheet_x":54,"sheet_y":47,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DA-1F3FD"},"1F3FE":{"unified":"1F9DA-1F3FE-200D-2640-FE0F","non_qualified":"1F9DA-1F3FE-200D-2640","image":"1f9da-1f3fe-200d-2640-fe0f.png","sheet_x":54,"sheet_y":48,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DA-1F3FE"},"1F3FF":{"unified":"1F9DA-1F3FF-200D-2640-FE0F","non_qualified":"1F9DA-1F3FF-200D-2640","image":"1f9da-1f3ff-200d-2640-fe0f.png","sheet_x":54,"sheet_y":49,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DA-1F3FF"}},"obsoletes":"1F9DA"},{"name":"MAN FAIRY","unified":"1F9DA-200D-2642-FE0F","non_qualified":"1F9DA-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9da-200d-2642-fe0f.png","sheet_x":54,"sheet_y":50,"short_name":"male_fairy","short_names":["male_fairy"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":387,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9DA-1F3FB-200D-2642-FE0F","non_qualified":"1F9DA-1F3FB-200D-2642","image":"1f9da-1f3fb-200d-2642-fe0f.png","sheet_x":54,"sheet_y":51,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9DA-1F3FC-200D-2642-FE0F","non_qualified":"1F9DA-1F3FC-200D-2642","image":"1f9da-1f3fc-200d-2642-fe0f.png","sheet_x":54,"sheet_y":52,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9DA-1F3FD-200D-2642-FE0F","non_qualified":"1F9DA-1F3FD-200D-2642","image":"1f9da-1f3fd-200d-2642-fe0f.png","sheet_x":54,"sheet_y":53,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9DA-1F3FE-200D-2642-FE0F","non_qualified":"1F9DA-1F3FE-200D-2642","image":"1f9da-1f3fe-200d-2642-fe0f.png","sheet_x":54,"sheet_y":54,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9DA-1F3FF-200D-2642-FE0F","non_qualified":"1F9DA-1F3FF-200D-2642","image":"1f9da-1f3ff-200d-2642-fe0f.png","sheet_x":54,"sheet_y":55,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"FAIRY","unified":"1F9DA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9da.png","sheet_x":54,"sheet_y":56,"short_name":"fairy","short_names":["fairy"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":386,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9DA-1F3FB","non_qualified":null,"image":"1f9da-1f3fb.png","sheet_x":54,"sheet_y":57,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DA-1F3FB-200D-2640-FE0F"},"1F3FC":{"unified":"1F9DA-1F3FC","non_qualified":null,"image":"1f9da-1f3fc.png","sheet_x":54,"sheet_y":58,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DA-1F3FC-200D-2640-FE0F"},"1F3FD":{"unified":"1F9DA-1F3FD","non_qualified":null,"image":"1f9da-1f3fd.png","sheet_x":54,"sheet_y":59,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DA-1F3FD-200D-2640-FE0F"},"1F3FE":{"unified":"1F9DA-1F3FE","non_qualified":null,"image":"1f9da-1f3fe.png","sheet_x":54,"sheet_y":60,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DA-1F3FE-200D-2640-FE0F"},"1F3FF":{"unified":"1F9DA-1F3FF","non_qualified":null,"image":"1f9da-1f3ff.png","sheet_x":54,"sheet_y":61,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DA-1F3FF-200D-2640-FE0F"}},"obsoleted_by":"1F9DA-200D-2640-FE0F"},{"name":"WOMAN VAMPIRE","unified":"1F9DB-200D-2640-FE0F","non_qualified":"1F9DB-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9db-200d-2640-fe0f.png","sheet_x":54,"sheet_y":62,"short_name":"female_vampire","short_names":["female_vampire"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":391,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9DB-1F3FB-200D-2640-FE0F","non_qualified":"1F9DB-1F3FB-200D-2640","image":"1f9db-1f3fb-200d-2640-fe0f.png","sheet_x":55,"sheet_y":0,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DB-1F3FB"},"1F3FC":{"unified":"1F9DB-1F3FC-200D-2640-FE0F","non_qualified":"1F9DB-1F3FC-200D-2640","image":"1f9db-1f3fc-200d-2640-fe0f.png","sheet_x":55,"sheet_y":1,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DB-1F3FC"},"1F3FD":{"unified":"1F9DB-1F3FD-200D-2640-FE0F","non_qualified":"1F9DB-1F3FD-200D-2640","image":"1f9db-1f3fd-200d-2640-fe0f.png","sheet_x":55,"sheet_y":2,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DB-1F3FD"},"1F3FE":{"unified":"1F9DB-1F3FE-200D-2640-FE0F","non_qualified":"1F9DB-1F3FE-200D-2640","image":"1f9db-1f3fe-200d-2640-fe0f.png","sheet_x":55,"sheet_y":3,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DB-1F3FE"},"1F3FF":{"unified":"1F9DB-1F3FF-200D-2640-FE0F","non_qualified":"1F9DB-1F3FF-200D-2640","image":"1f9db-1f3ff-200d-2640-fe0f.png","sheet_x":55,"sheet_y":4,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DB-1F3FF"}},"obsoletes":"1F9DB"},{"name":"MAN VAMPIRE","unified":"1F9DB-200D-2642-FE0F","non_qualified":"1F9DB-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9db-200d-2642-fe0f.png","sheet_x":55,"sheet_y":5,"short_name":"male_vampire","short_names":["male_vampire"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":390,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9DB-1F3FB-200D-2642-FE0F","non_qualified":"1F9DB-1F3FB-200D-2642","image":"1f9db-1f3fb-200d-2642-fe0f.png","sheet_x":55,"sheet_y":6,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9DB-1F3FC-200D-2642-FE0F","non_qualified":"1F9DB-1F3FC-200D-2642","image":"1f9db-1f3fc-200d-2642-fe0f.png","sheet_x":55,"sheet_y":7,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9DB-1F3FD-200D-2642-FE0F","non_qualified":"1F9DB-1F3FD-200D-2642","image":"1f9db-1f3fd-200d-2642-fe0f.png","sheet_x":55,"sheet_y":8,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9DB-1F3FE-200D-2642-FE0F","non_qualified":"1F9DB-1F3FE-200D-2642","image":"1f9db-1f3fe-200d-2642-fe0f.png","sheet_x":55,"sheet_y":9,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9DB-1F3FF-200D-2642-FE0F","non_qualified":"1F9DB-1F3FF-200D-2642","image":"1f9db-1f3ff-200d-2642-fe0f.png","sheet_x":55,"sheet_y":10,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"VAMPIRE","unified":"1F9DB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9db.png","sheet_x":55,"sheet_y":11,"short_name":"vampire","short_names":["vampire"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":389,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9DB-1F3FB","non_qualified":null,"image":"1f9db-1f3fb.png","sheet_x":55,"sheet_y":12,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DB-1F3FB-200D-2640-FE0F"},"1F3FC":{"unified":"1F9DB-1F3FC","non_qualified":null,"image":"1f9db-1f3fc.png","sheet_x":55,"sheet_y":13,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DB-1F3FC-200D-2640-FE0F"},"1F3FD":{"unified":"1F9DB-1F3FD","non_qualified":null,"image":"1f9db-1f3fd.png","sheet_x":55,"sheet_y":14,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DB-1F3FD-200D-2640-FE0F"},"1F3FE":{"unified":"1F9DB-1F3FE","non_qualified":null,"image":"1f9db-1f3fe.png","sheet_x":55,"sheet_y":15,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DB-1F3FE-200D-2640-FE0F"},"1F3FF":{"unified":"1F9DB-1F3FF","non_qualified":null,"image":"1f9db-1f3ff.png","sheet_x":55,"sheet_y":16,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DB-1F3FF-200D-2640-FE0F"}},"obsoleted_by":"1F9DB-200D-2640-FE0F"},{"name":"MERMAID","unified":"1F9DC-200D-2640-FE0F","non_qualified":"1F9DC-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9dc-200d-2640-fe0f.png","sheet_x":55,"sheet_y":17,"short_name":"mermaid","short_names":["mermaid"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":394,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9DC-1F3FB-200D-2640-FE0F","non_qualified":"1F9DC-1F3FB-200D-2640","image":"1f9dc-1f3fb-200d-2640-fe0f.png","sheet_x":55,"sheet_y":18,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9DC-1F3FC-200D-2640-FE0F","non_qualified":"1F9DC-1F3FC-200D-2640","image":"1f9dc-1f3fc-200d-2640-fe0f.png","sheet_x":55,"sheet_y":19,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9DC-1F3FD-200D-2640-FE0F","non_qualified":"1F9DC-1F3FD-200D-2640","image":"1f9dc-1f3fd-200d-2640-fe0f.png","sheet_x":55,"sheet_y":20,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9DC-1F3FE-200D-2640-FE0F","non_qualified":"1F9DC-1F3FE-200D-2640","image":"1f9dc-1f3fe-200d-2640-fe0f.png","sheet_x":55,"sheet_y":21,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9DC-1F3FF-200D-2640-FE0F","non_qualified":"1F9DC-1F3FF-200D-2640","image":"1f9dc-1f3ff-200d-2640-fe0f.png","sheet_x":55,"sheet_y":22,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MERMAN","unified":"1F9DC-200D-2642-FE0F","non_qualified":"1F9DC-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9dc-200d-2642-fe0f.png","sheet_x":55,"sheet_y":23,"short_name":"merman","short_names":["merman"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":393,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9DC-1F3FB-200D-2642-FE0F","non_qualified":"1F9DC-1F3FB-200D-2642","image":"1f9dc-1f3fb-200d-2642-fe0f.png","sheet_x":55,"sheet_y":24,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DC-1F3FB"},"1F3FC":{"unified":"1F9DC-1F3FC-200D-2642-FE0F","non_qualified":"1F9DC-1F3FC-200D-2642","image":"1f9dc-1f3fc-200d-2642-fe0f.png","sheet_x":55,"sheet_y":25,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DC-1F3FC"},"1F3FD":{"unified":"1F9DC-1F3FD-200D-2642-FE0F","non_qualified":"1F9DC-1F3FD-200D-2642","image":"1f9dc-1f3fd-200d-2642-fe0f.png","sheet_x":55,"sheet_y":26,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DC-1F3FD"},"1F3FE":{"unified":"1F9DC-1F3FE-200D-2642-FE0F","non_qualified":"1F9DC-1F3FE-200D-2642","image":"1f9dc-1f3fe-200d-2642-fe0f.png","sheet_x":55,"sheet_y":27,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DC-1F3FE"},"1F3FF":{"unified":"1F9DC-1F3FF-200D-2642-FE0F","non_qualified":"1F9DC-1F3FF-200D-2642","image":"1f9dc-1f3ff-200d-2642-fe0f.png","sheet_x":55,"sheet_y":28,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DC-1F3FF"}},"obsoletes":"1F9DC"},{"name":"MERPERSON","unified":"1F9DC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9dc.png","sheet_x":55,"sheet_y":29,"short_name":"merperson","short_names":["merperson"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":392,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9DC-1F3FB","non_qualified":null,"image":"1f9dc-1f3fb.png","sheet_x":55,"sheet_y":30,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DC-1F3FB-200D-2642-FE0F"},"1F3FC":{"unified":"1F9DC-1F3FC","non_qualified":null,"image":"1f9dc-1f3fc.png","sheet_x":55,"sheet_y":31,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DC-1F3FC-200D-2642-FE0F"},"1F3FD":{"unified":"1F9DC-1F3FD","non_qualified":null,"image":"1f9dc-1f3fd.png","sheet_x":55,"sheet_y":32,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DC-1F3FD-200D-2642-FE0F"},"1F3FE":{"unified":"1F9DC-1F3FE","non_qualified":null,"image":"1f9dc-1f3fe.png","sheet_x":55,"sheet_y":33,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DC-1F3FE-200D-2642-FE0F"},"1F3FF":{"unified":"1F9DC-1F3FF","non_qualified":null,"image":"1f9dc-1f3ff.png","sheet_x":55,"sheet_y":34,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DC-1F3FF-200D-2642-FE0F"}},"obsoleted_by":"1F9DC-200D-2642-FE0F"},{"name":"WOMAN ELF","unified":"1F9DD-200D-2640-FE0F","non_qualified":"1F9DD-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9dd-200d-2640-fe0f.png","sheet_x":55,"sheet_y":35,"short_name":"female_elf","short_names":["female_elf"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":397,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9DD-1F3FB-200D-2640-FE0F","non_qualified":"1F9DD-1F3FB-200D-2640","image":"1f9dd-1f3fb-200d-2640-fe0f.png","sheet_x":55,"sheet_y":36,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1F9DD-1F3FC-200D-2640-FE0F","non_qualified":"1F9DD-1F3FC-200D-2640","image":"1f9dd-1f3fc-200d-2640-fe0f.png","sheet_x":55,"sheet_y":37,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1F9DD-1F3FD-200D-2640-FE0F","non_qualified":"1F9DD-1F3FD-200D-2640","image":"1f9dd-1f3fd-200d-2640-fe0f.png","sheet_x":55,"sheet_y":38,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1F9DD-1F3FE-200D-2640-FE0F","non_qualified":"1F9DD-1F3FE-200D-2640","image":"1f9dd-1f3fe-200d-2640-fe0f.png","sheet_x":55,"sheet_y":39,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1F9DD-1F3FF-200D-2640-FE0F","non_qualified":"1F9DD-1F3FF-200D-2640","image":"1f9dd-1f3ff-200d-2640-fe0f.png","sheet_x":55,"sheet_y":40,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN ELF","unified":"1F9DD-200D-2642-FE0F","non_qualified":"1F9DD-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9dd-200d-2642-fe0f.png","sheet_x":55,"sheet_y":41,"short_name":"male_elf","short_names":["male_elf"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":396,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9DD-1F3FB-200D-2642-FE0F","non_qualified":"1F9DD-1F3FB-200D-2642","image":"1f9dd-1f3fb-200d-2642-fe0f.png","sheet_x":55,"sheet_y":42,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DD-1F3FB"},"1F3FC":{"unified":"1F9DD-1F3FC-200D-2642-FE0F","non_qualified":"1F9DD-1F3FC-200D-2642","image":"1f9dd-1f3fc-200d-2642-fe0f.png","sheet_x":55,"sheet_y":43,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DD-1F3FC"},"1F3FD":{"unified":"1F9DD-1F3FD-200D-2642-FE0F","non_qualified":"1F9DD-1F3FD-200D-2642","image":"1f9dd-1f3fd-200d-2642-fe0f.png","sheet_x":55,"sheet_y":44,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DD-1F3FD"},"1F3FE":{"unified":"1F9DD-1F3FE-200D-2642-FE0F","non_qualified":"1F9DD-1F3FE-200D-2642","image":"1f9dd-1f3fe-200d-2642-fe0f.png","sheet_x":55,"sheet_y":45,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DD-1F3FE"},"1F3FF":{"unified":"1F9DD-1F3FF-200D-2642-FE0F","non_qualified":"1F9DD-1F3FF-200D-2642","image":"1f9dd-1f3ff-200d-2642-fe0f.png","sheet_x":55,"sheet_y":46,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DD-1F3FF"}},"obsoletes":"1F9DD"},{"name":"ELF","unified":"1F9DD","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9dd.png","sheet_x":55,"sheet_y":47,"short_name":"elf","short_names":["elf"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":395,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1F9DD-1F3FB","non_qualified":null,"image":"1f9dd-1f3fb.png","sheet_x":55,"sheet_y":48,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DD-1F3FB-200D-2642-FE0F"},"1F3FC":{"unified":"1F9DD-1F3FC","non_qualified":null,"image":"1f9dd-1f3fc.png","sheet_x":55,"sheet_y":49,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DD-1F3FC-200D-2642-FE0F"},"1F3FD":{"unified":"1F9DD-1F3FD","non_qualified":null,"image":"1f9dd-1f3fd.png","sheet_x":55,"sheet_y":50,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DD-1F3FD-200D-2642-FE0F"},"1F3FE":{"unified":"1F9DD-1F3FE","non_qualified":null,"image":"1f9dd-1f3fe.png","sheet_x":55,"sheet_y":51,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DD-1F3FE-200D-2642-FE0F"},"1F3FF":{"unified":"1F9DD-1F3FF","non_qualified":null,"image":"1f9dd-1f3ff.png","sheet_x":55,"sheet_y":52,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DD-1F3FF-200D-2642-FE0F"}},"obsoleted_by":"1F9DD-200D-2642-FE0F"},{"name":"WOMAN GENIE","unified":"1F9DE-200D-2640-FE0F","non_qualified":"1F9DE-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9de-200d-2640-fe0f.png","sheet_x":55,"sheet_y":53,"short_name":"female_genie","short_names":["female_genie"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":400,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MAN GENIE","unified":"1F9DE-200D-2642-FE0F","non_qualified":"1F9DE-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9de-200d-2642-fe0f.png","sheet_x":55,"sheet_y":54,"short_name":"male_genie","short_names":["male_genie"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":399,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DE"},{"name":"GENIE","unified":"1F9DE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9de.png","sheet_x":55,"sheet_y":55,"short_name":"genie","short_names":["genie"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":398,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DE-200D-2642-FE0F"},{"name":"WOMAN ZOMBIE","unified":"1F9DF-200D-2640-FE0F","non_qualified":"1F9DF-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9df-200d-2640-fe0f.png","sheet_x":55,"sheet_y":56,"short_name":"female_zombie","short_names":["female_zombie"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":403,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MAN ZOMBIE","unified":"1F9DF-200D-2642-FE0F","non_qualified":"1F9DF-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9df-200d-2642-fe0f.png","sheet_x":55,"sheet_y":57,"short_name":"male_zombie","short_names":["male_zombie"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":402,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoletes":"1F9DF"},{"name":"ZOMBIE","unified":"1F9DF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9df.png","sheet_x":55,"sheet_y":58,"short_name":"zombie","short_names":["zombie"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":401,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"obsoleted_by":"1F9DF-200D-2642-FE0F"},{"name":"BRAIN","unified":"1F9E0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9e0.png","sheet_x":55,"sheet_y":59,"short_name":"brain","short_names":["brain"],"text":null,"texts":null,"category":"People & Body","subcategory":"body-parts","sort_order":223,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ORANGE HEART","unified":"1F9E1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9e1.png","sheet_x":55,"sheet_y":60,"short_name":"orange_heart","short_names":["orange_heart"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":147,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BILLED CAP","unified":"1F9E2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9e2.png","sheet_x":55,"sheet_y":61,"short_name":"billed_cap","short_names":["billed_cap"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1200,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SCARF","unified":"1F9E3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9e3.png","sheet_x":55,"sheet_y":62,"short_name":"scarf","short_names":["scarf"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1168,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GLOVES","unified":"1F9E4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9e4.png","sheet_x":56,"sheet_y":0,"short_name":"gloves","short_names":["gloves"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1169,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"COAT","unified":"1F9E5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9e5.png","sheet_x":56,"sheet_y":1,"short_name":"coat","short_names":["coat"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1170,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SOCKS","unified":"1F9E6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9e6.png","sheet_x":56,"sheet_y":2,"short_name":"socks","short_names":["socks"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1171,"added_in":"5.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RED GIFT ENVELOPE","unified":"1F9E7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9e7.png","sheet_x":56,"sheet_y":3,"short_name":"red_envelope","short_names":["red_envelope"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1090,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FIRECRACKER","unified":"1F9E8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9e8.png","sheet_x":56,"sheet_y":4,"short_name":"firecracker","short_names":["firecracker"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1079,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"JIGSAW PUZZLE PIECE","unified":"1F9E9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9e9.png","sheet_x":56,"sheet_y":5,"short_name":"jigsaw","short_names":["jigsaw"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1140,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TEST TUBE","unified":"1F9EA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9ea.png","sheet_x":56,"sheet_y":6,"short_name":"test_tube","short_names":["test_tube"],"text":null,"texts":null,"category":"Objects","subcategory":"science","sort_order":1379,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PETRI DISH","unified":"1F9EB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9eb.png","sheet_x":56,"sheet_y":7,"short_name":"petri_dish","short_names":["petri_dish"],"text":null,"texts":null,"category":"Objects","subcategory":"science","sort_order":1380,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DNA DOUBLE HELIX","unified":"1F9EC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9ec.png","sheet_x":56,"sheet_y":8,"short_name":"dna","short_names":["dna"],"text":null,"texts":null,"category":"Objects","subcategory":"science","sort_order":1381,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"COMPASS","unified":"1F9ED","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9ed.png","sheet_x":56,"sheet_y":9,"short_name":"compass","short_names":["compass"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-map","sort_order":862,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ABACUS","unified":"1F9EE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9ee.png","sheet_x":56,"sheet_y":10,"short_name":"abacus","short_names":["abacus"],"text":null,"texts":null,"category":"Objects","subcategory":"computer","sort_order":1257,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FIRE EXTINGUISHER","unified":"1F9EF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9ef.png","sheet_x":56,"sheet_y":11,"short_name":"fire_extinguisher","short_names":["fire_extinguisher"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1415,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TOOLBOX","unified":"1F9F0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9f0.png","sheet_x":56,"sheet_y":12,"short_name":"toolbox","short_names":["toolbox"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1374,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BRICK","unified":"1F9F1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9f1.png","sheet_x":56,"sheet_y":13,"short_name":"bricks","short_names":["bricks"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":876,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MAGNET","unified":"1F9F2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9f2.png","sheet_x":56,"sheet_y":14,"short_name":"magnet","short_names":["magnet"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1375,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LUGGAGE","unified":"1F9F3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9f3.png","sheet_x":56,"sheet_y":15,"short_name":"luggage","short_names":["luggage"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"hotel","sort_order":996,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LOTION BOTTLE","unified":"1F9F4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9f4.png","sheet_x":56,"sheet_y":16,"short_name":"lotion_bottle","short_names":["lotion_bottle"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1405,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPOOL OF THREAD","unified":"1F9F5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9f5.png","sheet_x":56,"sheet_y":17,"short_name":"thread","short_names":["thread"],"text":null,"texts":null,"category":"Activities","subcategory":"arts & crafts","sort_order":1156,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BALL OF YARN","unified":"1F9F6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9f6.png","sheet_x":56,"sheet_y":18,"short_name":"yarn","short_names":["yarn"],"text":null,"texts":null,"category":"Activities","subcategory":"arts & crafts","sort_order":1158,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SAFETY PIN","unified":"1F9F7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9f7.png","sheet_x":56,"sheet_y":19,"short_name":"safety_pin","short_names":["safety_pin"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1406,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TEDDY BEAR","unified":"1F9F8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9f8.png","sheet_x":56,"sheet_y":20,"short_name":"teddy_bear","short_names":["teddy_bear"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1141,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BROOM","unified":"1F9F9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9f9.png","sheet_x":56,"sheet_y":21,"short_name":"broom","short_names":["broom"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1407,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BASKET","unified":"1F9FA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9fa.png","sheet_x":56,"sheet_y":22,"short_name":"basket","short_names":["basket"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1408,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ROLL OF PAPER","unified":"1F9FB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9fb.png","sheet_x":56,"sheet_y":23,"short_name":"roll_of_paper","short_names":["roll_of_paper"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1409,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BAR OF SOAP","unified":"1F9FC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9fc.png","sheet_x":56,"sheet_y":24,"short_name":"soap","short_names":["soap"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1411,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPONGE","unified":"1F9FD","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9fd.png","sheet_x":56,"sheet_y":25,"short_name":"sponge","short_names":["sponge"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1414,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RECEIPT","unified":"1F9FE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9fe.png","sheet_x":56,"sheet_y":26,"short_name":"receipt","short_names":["receipt"],"text":null,"texts":null,"category":"Objects","subcategory":"money","sort_order":1300,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NAZAR AMULET","unified":"1F9FF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1f9ff.png","sheet_x":56,"sheet_y":27,"short_name":"nazar_amulet","short_names":["nazar_amulet"],"text":null,"texts":null,"category":"Objects","subcategory":"other-object","sort_order":1421,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BALLET SHOES","unified":"1FA70","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa70.png","sheet_x":56,"sheet_y":28,"short_name":"ballet_shoes","short_names":["ballet_shoes"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1193,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ONE-PIECE SWIMSUIT","unified":"1FA71","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa71.png","sheet_x":56,"sheet_y":29,"short_name":"one-piece_swimsuit","short_names":["one-piece_swimsuit"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1175,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BRIEFS","unified":"1FA72","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa72.png","sheet_x":56,"sheet_y":30,"short_name":"briefs","short_names":["briefs"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1176,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SHORTS","unified":"1FA73","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa73.png","sheet_x":56,"sheet_y":31,"short_name":"shorts","short_names":["shorts"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1177,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"THONG SANDAL","unified":"1FA74","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa74.png","sheet_x":56,"sheet_y":32,"short_name":"thong_sandal","short_names":["thong_sandal"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1186,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LIGHT BLUE HEART","unified":"1FA75","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa75.png","sheet_x":56,"sheet_y":33,"short_name":"light_blue_heart","short_names":["light_blue_heart"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":151,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GREY HEART","unified":"1FA76","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa76.png","sheet_x":56,"sheet_y":34,"short_name":"grey_heart","short_names":["grey_heart"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":155,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PINK HEART","unified":"1FA77","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa77.png","sheet_x":56,"sheet_y":35,"short_name":"pink_heart","short_names":["pink_heart"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":146,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DROP OF BLOOD","unified":"1FA78","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa78.png","sheet_x":56,"sheet_y":36,"short_name":"drop_of_blood","short_names":["drop_of_blood"],"text":null,"texts":null,"category":"Objects","subcategory":"medical","sort_order":1386,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ADHESIVE BANDAGE","unified":"1FA79","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa79.png","sheet_x":56,"sheet_y":37,"short_name":"adhesive_bandage","short_names":["adhesive_bandage"],"text":null,"texts":null,"category":"Objects","subcategory":"medical","sort_order":1388,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"STETHOSCOPE","unified":"1FA7A","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa7a.png","sheet_x":56,"sheet_y":38,"short_name":"stethoscope","short_names":["stethoscope"],"text":null,"texts":null,"category":"Objects","subcategory":"medical","sort_order":1390,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"X-RAY","unified":"1FA7B","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa7b.png","sheet_x":56,"sheet_y":39,"short_name":"x-ray","short_names":["x-ray"],"text":null,"texts":null,"category":"Objects","subcategory":"medical","sort_order":1391,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CRUTCH","unified":"1FA7C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa7c.png","sheet_x":56,"sheet_y":40,"short_name":"crutch","short_names":["crutch"],"text":null,"texts":null,"category":"Objects","subcategory":"medical","sort_order":1389,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"YO-YO","unified":"1FA80","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa80.png","sheet_x":56,"sheet_y":41,"short_name":"yo-yo","short_names":["yo-yo"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1130,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"KITE","unified":"1FA81","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa81.png","sheet_x":56,"sheet_y":42,"short_name":"kite","short_names":["kite"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1131,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PARACHUTE","unified":"1FA82","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa82.png","sheet_x":56,"sheet_y":43,"short_name":"parachute","short_names":["parachute"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-air","sort_order":986,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BOOMERANG","unified":"1FA83","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa83.png","sheet_x":56,"sheet_y":44,"short_name":"boomerang","short_names":["boomerang"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1359,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MAGIC WAND","unified":"1FA84","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa84.png","sheet_x":56,"sheet_y":45,"short_name":"magic_wand","short_names":["magic_wand"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1135,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PINATA","unified":"1FA85","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa85.png","sheet_x":56,"sheet_y":46,"short_name":"pinata","short_names":["pinata"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1142,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NESTING DOLLS","unified":"1FA86","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa86.png","sheet_x":56,"sheet_y":47,"short_name":"nesting_dolls","short_names":["nesting_dolls"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1144,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MARACAS","unified":"1FA87","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa87.png","sheet_x":56,"sheet_y":48,"short_name":"maracas","short_names":["maracas"],"text":null,"texts":null,"category":"Objects","subcategory":"musical-instrument","sort_order":1235,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FLUTE","unified":"1FA88","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa88.png","sheet_x":56,"sheet_y":49,"short_name":"flute","short_names":["flute"],"text":null,"texts":null,"category":"Objects","subcategory":"musical-instrument","sort_order":1236,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HARP","unified":"1FA89","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa89.png","sheet_x":56,"sheet_y":50,"short_name":"harp","short_names":["harp"],"text":null,"texts":null,"category":"Objects","subcategory":"musical-instrument","sort_order":1237,"added_in":"16.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"TROMBONE","unified":"1FA8A","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa8a.png","sheet_x":56,"sheet_y":51,"short_name":"trombone","short_names":["trombone"],"text":null,"texts":null,"category":"Objects","subcategory":"musical-instrument","sort_order":1227,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},{"name":"TREASURE CHEST","unified":"1FA8E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa8e.png","sheet_x":56,"sheet_y":52,"short_name":"treasure_chest","short_names":["treasure_chest"],"text":null,"texts":null,"category":"Objects","subcategory":"money","sort_order":1293,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},{"name":"SHOVEL","unified":"1FA8F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa8f.png","sheet_x":56,"sheet_y":53,"short_name":"shovel","short_names":["shovel"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1377,"added_in":"16.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"RINGED PLANET","unified":"1FA90","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa90.png","sheet_x":56,"sheet_y":54,"short_name":"ringed_planet","short_names":["ringed_planet"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1044,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CHAIR","unified":"1FA91","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa91.png","sheet_x":56,"sheet_y":55,"short_name":"chair","short_names":["chair"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1398,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RAZOR","unified":"1FA92","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa92.png","sheet_x":56,"sheet_y":56,"short_name":"razor","short_names":["razor"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1404,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"AXE","unified":"1FA93","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa93.png","sheet_x":56,"sheet_y":57,"short_name":"axe","short_names":["axe"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1352,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DIYA LAMP","unified":"1FA94","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa94.png","sheet_x":56,"sheet_y":58,"short_name":"diya_lamp","short_names":["diya_lamp"],"text":null,"texts":null,"category":"Objects","subcategory":"light & video","sort_order":1273,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BANJO","unified":"1FA95","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa95.png","sheet_x":56,"sheet_y":59,"short_name":"banjo","short_names":["banjo"],"text":null,"texts":null,"category":"Objects","subcategory":"musical-instrument","sort_order":1232,"added_in":"12.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MILITARY HELMET","unified":"1FA96","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa96.png","sheet_x":56,"sheet_y":60,"short_name":"military_helmet","short_names":["military_helmet"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1201,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ACCORDION","unified":"1FA97","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa97.png","sheet_x":56,"sheet_y":61,"short_name":"accordion","short_names":["accordion"],"text":null,"texts":null,"category":"Objects","subcategory":"musical-instrument","sort_order":1228,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LONG DRUM","unified":"1FA98","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa98.png","sheet_x":56,"sheet_y":62,"short_name":"long_drum","short_names":["long_drum"],"text":null,"texts":null,"category":"Objects","subcategory":"musical-instrument","sort_order":1234,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"COIN","unified":"1FA99","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa99.png","sheet_x":57,"sheet_y":0,"short_name":"coin","short_names":["coin"],"text":null,"texts":null,"category":"Objects","subcategory":"money","sort_order":1291,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CARPENTRY SAW","unified":"1FA9A","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa9a.png","sheet_x":57,"sheet_y":1,"short_name":"carpentry_saw","short_names":["carpentry_saw"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1362,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SCREWDRIVER","unified":"1FA9B","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa9b.png","sheet_x":57,"sheet_y":2,"short_name":"screwdriver","short_names":["screwdriver"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1364,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LADDER","unified":"1FA9C","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa9c.png","sheet_x":57,"sheet_y":3,"short_name":"ladder","short_names":["ladder"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1376,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HOOK","unified":"1FA9D","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa9d.png","sheet_x":57,"sheet_y":4,"short_name":"hook","short_names":["hook"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1373,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MIRROR","unified":"1FA9E","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa9e.png","sheet_x":57,"sheet_y":5,"short_name":"mirror","short_names":["mirror"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1394,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WINDOW","unified":"1FA9F","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fa9f.png","sheet_x":57,"sheet_y":6,"short_name":"window","short_names":["window"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1395,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PLUNGER","unified":"1FAA0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faa0.png","sheet_x":57,"sheet_y":7,"short_name":"plunger","short_names":["plunger"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1400,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SEWING NEEDLE","unified":"1FAA1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faa1.png","sheet_x":57,"sheet_y":8,"short_name":"sewing_needle","short_names":["sewing_needle"],"text":null,"texts":null,"category":"Activities","subcategory":"arts & crafts","sort_order":1157,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"KNOT","unified":"1FAA2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faa2.png","sheet_x":57,"sheet_y":9,"short_name":"knot","short_names":["knot"],"text":null,"texts":null,"category":"Activities","subcategory":"arts & crafts","sort_order":1159,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BUCKET","unified":"1FAA3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faa3.png","sheet_x":57,"sheet_y":10,"short_name":"bucket","short_names":["bucket"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1410,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MOUSE TRAP","unified":"1FAA4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faa4.png","sheet_x":57,"sheet_y":11,"short_name":"mouse_trap","short_names":["mouse_trap"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1403,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TOOTHBRUSH","unified":"1FAA5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faa5.png","sheet_x":57,"sheet_y":12,"short_name":"toothbrush","short_names":["toothbrush"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1413,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HEADSTONE","unified":"1FAA6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faa6.png","sheet_x":57,"sheet_y":13,"short_name":"headstone","short_names":["headstone"],"text":null,"texts":null,"category":"Objects","subcategory":"other-object","sort_order":1419,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PLACARD","unified":"1FAA7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faa7.png","sheet_x":57,"sheet_y":14,"short_name":"placard","short_names":["placard"],"text":null,"texts":null,"category":"Objects","subcategory":"other-object","sort_order":1424,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ROCK","unified":"1FAA8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faa8.png","sheet_x":57,"sheet_y":15,"short_name":"rock","short_names":["rock"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":877,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MIRROR BALL","unified":"1FAA9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faa9.png","sheet_x":57,"sheet_y":16,"short_name":"mirror_ball","short_names":["mirror_ball"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1143,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"IDENTIFICATION CARD","unified":"1FAAA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faaa.png","sheet_x":57,"sheet_y":17,"short_name":"identification_card","short_names":["identification_card"],"text":null,"texts":null,"category":"Objects","subcategory":"other-object","sort_order":1425,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LOW BATTERY","unified":"1FAAB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faab.png","sheet_x":57,"sheet_y":18,"short_name":"low_battery","short_names":["low_battery"],"text":null,"texts":null,"category":"Objects","subcategory":"computer","sort_order":1245,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HAMSA","unified":"1FAAC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faac.png","sheet_x":57,"sheet_y":19,"short_name":"hamsa","short_names":["hamsa"],"text":null,"texts":null,"category":"Objects","subcategory":"other-object","sort_order":1422,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FOLDING HAND FAN","unified":"1FAAD","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faad.png","sheet_x":57,"sheet_y":20,"short_name":"folding_hand_fan","short_names":["folding_hand_fan"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1180,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HAIR PICK","unified":"1FAAE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faae.png","sheet_x":57,"sheet_y":21,"short_name":"hair_pick","short_names":["hair_pick"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1195,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"KHANDA","unified":"1FAAF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faaf.png","sheet_x":57,"sheet_y":22,"short_name":"khanda","short_names":["khanda"],"text":null,"texts":null,"category":"Symbols","subcategory":"religion","sort_order":1485,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FLY","unified":"1FAB0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fab0.png","sheet_x":57,"sheet_y":23,"short_name":"fly","short_names":["fly"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bug","sort_order":693,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WORM","unified":"1FAB1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fab1.png","sheet_x":57,"sheet_y":24,"short_name":"worm","short_names":["worm"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bug","sort_order":694,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BEETLE","unified":"1FAB2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fab2.png","sheet_x":57,"sheet_y":25,"short_name":"beetle","short_names":["beetle"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bug","sort_order":685,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"COCKROACH","unified":"1FAB3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fab3.png","sheet_x":57,"sheet_y":26,"short_name":"cockroach","short_names":["cockroach"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bug","sort_order":688,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"POTTED PLANT","unified":"1FAB4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fab4.png","sheet_x":57,"sheet_y":27,"short_name":"potted_plant","short_names":["potted_plant"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-other","sort_order":709,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WOOD","unified":"1FAB5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fab5.png","sheet_x":57,"sheet_y":28,"short_name":"wood","short_names":["wood"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-building","sort_order":878,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FEATHER","unified":"1FAB6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fab6.png","sheet_x":57,"sheet_y":29,"short_name":"feather","short_names":["feather"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":645,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LOTUS","unified":"1FAB7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fab7.png","sheet_x":57,"sheet_y":30,"short_name":"lotus","short_names":["lotus"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-flower","sort_order":699,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CORAL","unified":"1FAB8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fab8.png","sheet_x":57,"sheet_y":31,"short_name":"coral","short_names":["coral"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-marine","sort_order":673,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EMPTY NEST","unified":"1FAB9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fab9.png","sheet_x":57,"sheet_y":32,"short_name":"empty_nest","short_names":["empty_nest"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-other","sort_order":721,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NEST WITH EGGS","unified":"1FABA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faba.png","sheet_x":57,"sheet_y":33,"short_name":"nest_with_eggs","short_names":["nest_with_eggs"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-other","sort_order":722,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HYACINTH","unified":"1FABB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fabb.png","sheet_x":57,"sheet_y":34,"short_name":"hyacinth","short_names":["hyacinth"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-flower","sort_order":707,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"JELLYFISH","unified":"1FABC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fabc.png","sheet_x":57,"sheet_y":35,"short_name":"jellyfish","short_names":["jellyfish"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-marine","sort_order":674,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WING","unified":"1FABD","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fabd.png","sheet_x":57,"sheet_y":36,"short_name":"wing","short_names":["wing"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":649,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LEAFLESS TREE","unified":"1FABE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fabe.png","sheet_x":57,"sheet_y":37,"short_name":"leafless_tree","short_names":["leafless_tree"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-other","sort_order":724,"added_in":"16.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"GOOSE","unified":"1FABF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fabf.png","sheet_x":57,"sheet_y":38,"short_name":"goose","short_names":["goose"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-bird","sort_order":651,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ANATOMICAL HEART","unified":"1FAC0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fac0.png","sheet_x":57,"sheet_y":39,"short_name":"anatomical_heart","short_names":["anatomical_heart"],"text":null,"texts":null,"category":"People & Body","subcategory":"body-parts","sort_order":224,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LUNGS","unified":"1FAC1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fac1.png","sheet_x":57,"sheet_y":40,"short_name":"lungs","short_names":["lungs"],"text":null,"texts":null,"category":"People & Body","subcategory":"body-parts","sort_order":225,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PEOPLE HUGGING","unified":"1FAC2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fac2.png","sheet_x":57,"sheet_y":41,"short_name":"people_hugging","short_names":["people_hugging"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-symbol","sort_order":552,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PREGNANT MAN","unified":"1FAC3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fac3.png","sheet_x":57,"sheet_y":42,"short_name":"pregnant_man","short_names":["pregnant_man"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":367,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1FAC3-1F3FB","non_qualified":null,"image":"1fac3-1f3fb.png","sheet_x":57,"sheet_y":43,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1FAC3-1F3FC","non_qualified":null,"image":"1fac3-1f3fc.png","sheet_x":57,"sheet_y":44,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1FAC3-1F3FD","non_qualified":null,"image":"1fac3-1f3fd.png","sheet_x":57,"sheet_y":45,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1FAC3-1F3FE","non_qualified":null,"image":"1fac3-1f3fe.png","sheet_x":57,"sheet_y":46,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1FAC3-1F3FF","non_qualified":null,"image":"1fac3-1f3ff.png","sheet_x":57,"sheet_y":47,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PREGNANT PERSON","unified":"1FAC4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fac4.png","sheet_x":57,"sheet_y":48,"short_name":"pregnant_person","short_names":["pregnant_person"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":368,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1FAC4-1F3FB","non_qualified":null,"image":"1fac4-1f3fb.png","sheet_x":57,"sheet_y":49,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1FAC4-1F3FC","non_qualified":null,"image":"1fac4-1f3fc.png","sheet_x":57,"sheet_y":50,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1FAC4-1F3FD","non_qualified":null,"image":"1fac4-1f3fd.png","sheet_x":57,"sheet_y":51,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1FAC4-1F3FE","non_qualified":null,"image":"1fac4-1f3fe.png","sheet_x":57,"sheet_y":52,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1FAC4-1F3FF","non_qualified":null,"image":"1fac4-1f3ff.png","sheet_x":57,"sheet_y":53,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PERSON WITH CROWN","unified":"1FAC5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fac5.png","sheet_x":57,"sheet_y":54,"short_name":"person_with_crown","short_names":["person_with_crown"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-role","sort_order":352,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1FAC5-1F3FB","non_qualified":null,"image":"1fac5-1f3fb.png","sheet_x":57,"sheet_y":55,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1FAC5-1F3FC","non_qualified":null,"image":"1fac5-1f3fc.png","sheet_x":57,"sheet_y":56,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1FAC5-1F3FD","non_qualified":null,"image":"1fac5-1f3fd.png","sheet_x":57,"sheet_y":57,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1FAC5-1F3FE","non_qualified":null,"image":"1fac5-1f3fe.png","sheet_x":57,"sheet_y":58,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1FAC5-1F3FF","non_qualified":null,"image":"1fac5-1f3ff.png","sheet_x":57,"sheet_y":59,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"FINGERPRINT","unified":"1FAC6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fac6.png","sheet_x":57,"sheet_y":60,"short_name":"fingerprint","short_names":["fingerprint"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-symbol","sort_order":559,"added_in":"16.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"HAIRY CREATURE","unified":"1FAC8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fac8.png","sheet_x":57,"sheet_y":61,"short_name":"hairy_creature","short_names":["hairy_creature"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-fantasy","sort_order":405,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},{"name":"ORCA","unified":"1FACD","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1facd.png","sheet_x":57,"sheet_y":62,"short_name":"orca","short_names":["orca"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-marine","sort_order":665,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},{"name":"MOOSE","unified":"1FACE","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1face.png","sheet_x":58,"sheet_y":0,"short_name":"moose","short_names":["moose"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":585,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DONKEY","unified":"1FACF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1facf.png","sheet_x":58,"sheet_y":1,"short_name":"donkey","short_names":["donkey"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"animal-mammal","sort_order":586,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLUEBERRIES","unified":"1FAD0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fad0.png","sheet_x":58,"sheet_y":2,"short_name":"blueberries","short_names":["blueberries"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-fruit","sort_order":740,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BELL PEPPER","unified":"1FAD1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fad1.png","sheet_x":58,"sheet_y":3,"short_name":"bell_pepper","short_names":["bell_pepper"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-vegetable","sort_order":751,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"OLIVE","unified":"1FAD2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fad2.png","sheet_x":58,"sheet_y":4,"short_name":"olive","short_names":["olive"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-fruit","sort_order":743,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FLATBREAD","unified":"1FAD3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fad3.png","sheet_x":58,"sheet_y":5,"short_name":"flatbread","short_names":["flatbread"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":767,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TAMALE","unified":"1FAD4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fad4.png","sheet_x":58,"sheet_y":6,"short_name":"tamale","short_names":["tamale"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":784,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FONDUE","unified":"1FAD5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fad5.png","sheet_x":58,"sheet_y":7,"short_name":"fondue","short_names":["fondue"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-prepared","sort_order":791,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TEAPOT","unified":"1FAD6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fad6.png","sheet_x":58,"sheet_y":8,"short_name":"teapot","short_names":["teapot"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"drink","sort_order":832,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"POURING LIQUID","unified":"1FAD7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fad7.png","sheet_x":58,"sheet_y":9,"short_name":"pouring_liquid","short_names":["pouring_liquid"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"drink","sort_order":843,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BEANS","unified":"1FAD8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fad8.png","sheet_x":58,"sheet_y":10,"short_name":"beans","short_names":["beans"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-vegetable","sort_order":758,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"JAR","unified":"1FAD9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fad9.png","sheet_x":58,"sheet_y":11,"short_name":"jar","short_names":["jar"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"dishware","sort_order":854,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GINGER ROOT","unified":"1FADA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fada.png","sheet_x":58,"sheet_y":12,"short_name":"ginger_root","short_names":["ginger_root"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-vegetable","sort_order":760,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PEA POD","unified":"1FADB","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fadb.png","sheet_x":58,"sheet_y":13,"short_name":"pea_pod","short_names":["pea_pod"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-vegetable","sort_order":761,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ROOT VEGETABLE","unified":"1FADC","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fadc.png","sheet_x":58,"sheet_y":14,"short_name":"root_vegetable","short_names":["root_vegetable"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"food-vegetable","sort_order":763,"added_in":"16.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"SPLATTER","unified":"1FADF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fadf.png","sheet_x":58,"sheet_y":15,"short_name":"splatter","short_names":["splatter"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1563,"added_in":"16.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"MELTING FACE","unified":"1FAE0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fae0.png","sheet_x":58,"sheet_y":16,"short_name":"melting_face","short_names":["melting_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-smiling","sort_order":11,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SALUTING FACE","unified":"1FAE1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fae1.png","sheet_x":58,"sheet_y":17,"short_name":"saluting_face","short_names":["saluting_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-hand","sort_order":36,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH OPEN EYES AND HAND OVER MOUTH","unified":"1FAE2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fae2.png","sheet_x":58,"sheet_y":18,"short_name":"face_with_open_eyes_and_hand_over_mouth","short_names":["face_with_open_eyes_and_hand_over_mouth"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-hand","sort_order":32,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH PEEKING EYE","unified":"1FAE3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fae3.png","sheet_x":58,"sheet_y":19,"short_name":"face_with_peeking_eye","short_names":["face_with_peeking_eye"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-hand","sort_order":33,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH DIAGONAL MOUTH","unified":"1FAE4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fae4.png","sheet_x":58,"sheet_y":20,"short_name":"face_with_diagonal_mouth","short_names":["face_with_diagonal_mouth"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":78,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DOTTED LINE FACE","unified":"1FAE5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fae5.png","sheet_x":58,"sheet_y":21,"short_name":"dotted_line_face","short_names":["dotted_line_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-neutral-skeptical","sort_order":42,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BITING LIP","unified":"1FAE6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fae6.png","sheet_x":58,"sheet_y":22,"short_name":"biting_lip","short_names":["biting_lip"],"text":null,"texts":null,"category":"People & Body","subcategory":"body-parts","sort_order":232,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BUBBLES","unified":"1FAE7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fae7.png","sheet_x":58,"sheet_y":23,"short_name":"bubbles","short_names":["bubbles"],"text":null,"texts":null,"category":"Objects","subcategory":"household","sort_order":1412,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SHAKING FACE","unified":"1FAE8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fae8.png","sheet_x":58,"sheet_y":24,"short_name":"shaking_face","short_names":["shaking_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-neutral-skeptical","sort_order":50,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FACE WITH BAGS UNDER EYES","unified":"1FAE9","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1fae9.png","sheet_x":58,"sheet_y":25,"short_name":"face_with_bags_under_eyes","short_names":["face_with_bags_under_eyes"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-sleepy","sort_order":58,"added_in":"16.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"DISTORTED FACE","unified":"1FAEA","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faea.png","sheet_x":58,"sheet_y":26,"short_name":"distorted_face","short_names":["distorted_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":86,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},{"name":"FIGHT CLOUD","unified":"1FAEF","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faef.png","sheet_x":58,"sheet_y":27,"short_name":"fight_cloud","short_names":["fight_cloud"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"emotion","sort_order":160,"added_in":"17.0","has_img_apple":true,"has_img_google":false,"has_img_twitter":false,"has_img_facebook":false},{"name":"HAND WITH INDEX FINGER AND THUMB CROSSED","unified":"1FAF0","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faf0.png","sheet_x":58,"sheet_y":28,"short_name":"hand_with_index_finger_and_thumb_crossed","short_names":["hand_with_index_finger_and_thumb_crossed"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-partial","sort_order":188,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1FAF0-1F3FB","non_qualified":null,"image":"1faf0-1f3fb.png","sheet_x":58,"sheet_y":29,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1FAF0-1F3FC","non_qualified":null,"image":"1faf0-1f3fc.png","sheet_x":58,"sheet_y":30,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1FAF0-1F3FD","non_qualified":null,"image":"1faf0-1f3fd.png","sheet_x":58,"sheet_y":31,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1FAF0-1F3FE","non_qualified":null,"image":"1faf0-1f3fe.png","sheet_x":58,"sheet_y":32,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1FAF0-1F3FF","non_qualified":null,"image":"1faf0-1f3ff.png","sheet_x":58,"sheet_y":33,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"RIGHTWARDS HAND","unified":"1FAF1","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faf1.png","sheet_x":58,"sheet_y":34,"short_name":"rightwards_hand","short_names":["rightwards_hand"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-open","sort_order":177,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1FAF1-1F3FB","non_qualified":null,"image":"1faf1-1f3fb.png","sheet_x":58,"sheet_y":35,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1FAF1-1F3FC","non_qualified":null,"image":"1faf1-1f3fc.png","sheet_x":58,"sheet_y":36,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1FAF1-1F3FD","non_qualified":null,"image":"1faf1-1f3fd.png","sheet_x":58,"sheet_y":37,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1FAF1-1F3FE","non_qualified":null,"image":"1faf1-1f3fe.png","sheet_x":58,"sheet_y":38,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1FAF1-1F3FF","non_qualified":null,"image":"1faf1-1f3ff.png","sheet_x":58,"sheet_y":39,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"LEFTWARDS HAND","unified":"1FAF2","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faf2.png","sheet_x":58,"sheet_y":40,"short_name":"leftwards_hand","short_names":["leftwards_hand"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-open","sort_order":178,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1FAF2-1F3FB","non_qualified":null,"image":"1faf2-1f3fb.png","sheet_x":58,"sheet_y":41,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1FAF2-1F3FC","non_qualified":null,"image":"1faf2-1f3fc.png","sheet_x":58,"sheet_y":42,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1FAF2-1F3FD","non_qualified":null,"image":"1faf2-1f3fd.png","sheet_x":58,"sheet_y":43,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1FAF2-1F3FE","non_qualified":null,"image":"1faf2-1f3fe.png","sheet_x":58,"sheet_y":44,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1FAF2-1F3FF","non_qualified":null,"image":"1faf2-1f3ff.png","sheet_x":58,"sheet_y":45,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PALM DOWN HAND","unified":"1FAF3","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faf3.png","sheet_x":58,"sheet_y":46,"short_name":"palm_down_hand","short_names":["palm_down_hand"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-open","sort_order":179,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1FAF3-1F3FB","non_qualified":null,"image":"1faf3-1f3fb.png","sheet_x":58,"sheet_y":47,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1FAF3-1F3FC","non_qualified":null,"image":"1faf3-1f3fc.png","sheet_x":58,"sheet_y":48,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1FAF3-1F3FD","non_qualified":null,"image":"1faf3-1f3fd.png","sheet_x":58,"sheet_y":49,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1FAF3-1F3FE","non_qualified":null,"image":"1faf3-1f3fe.png","sheet_x":58,"sheet_y":50,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1FAF3-1F3FF","non_qualified":null,"image":"1faf3-1f3ff.png","sheet_x":58,"sheet_y":51,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PALM UP HAND","unified":"1FAF4","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faf4.png","sheet_x":58,"sheet_y":52,"short_name":"palm_up_hand","short_names":["palm_up_hand"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-open","sort_order":180,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1FAF4-1F3FB","non_qualified":null,"image":"1faf4-1f3fb.png","sheet_x":58,"sheet_y":53,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1FAF4-1F3FC","non_qualified":null,"image":"1faf4-1f3fc.png","sheet_x":58,"sheet_y":54,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1FAF4-1F3FD","non_qualified":null,"image":"1faf4-1f3fd.png","sheet_x":58,"sheet_y":55,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1FAF4-1F3FE","non_qualified":null,"image":"1faf4-1f3fe.png","sheet_x":58,"sheet_y":56,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1FAF4-1F3FF","non_qualified":null,"image":"1faf4-1f3ff.png","sheet_x":58,"sheet_y":57,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"INDEX POINTING AT THE VIEWER","unified":"1FAF5","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faf5.png","sheet_x":58,"sheet_y":58,"short_name":"index_pointing_at_the_viewer","short_names":["index_pointing_at_the_viewer"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-single-finger","sort_order":198,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1FAF5-1F3FB","non_qualified":null,"image":"1faf5-1f3fb.png","sheet_x":58,"sheet_y":59,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1FAF5-1F3FC","non_qualified":null,"image":"1faf5-1f3fc.png","sheet_x":58,"sheet_y":60,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1FAF5-1F3FD","non_qualified":null,"image":"1faf5-1f3fd.png","sheet_x":58,"sheet_y":61,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1FAF5-1F3FE","non_qualified":null,"image":"1faf5-1f3fe.png","sheet_x":58,"sheet_y":62,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1FAF5-1F3FF","non_qualified":null,"image":"1faf5-1f3ff.png","sheet_x":59,"sheet_y":0,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"HEART HANDS","unified":"1FAF6","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faf6.png","sheet_x":59,"sheet_y":1,"short_name":"heart_hands","short_names":["heart_hands"],"text":null,"texts":null,"category":"People & Body","subcategory":"hands","sort_order":207,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1FAF6-1F3FB","non_qualified":null,"image":"1faf6-1f3fb.png","sheet_x":59,"sheet_y":2,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1FAF6-1F3FC","non_qualified":null,"image":"1faf6-1f3fc.png","sheet_x":59,"sheet_y":3,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1FAF6-1F3FD","non_qualified":null,"image":"1faf6-1f3fd.png","sheet_x":59,"sheet_y":4,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1FAF6-1F3FE","non_qualified":null,"image":"1faf6-1f3fe.png","sheet_x":59,"sheet_y":5,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1FAF6-1F3FF","non_qualified":null,"image":"1faf6-1f3ff.png","sheet_x":59,"sheet_y":6,"added_in":"14.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"LEFTWARDS PUSHING HAND","unified":"1FAF7","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faf7.png","sheet_x":59,"sheet_y":7,"short_name":"leftwards_pushing_hand","short_names":["leftwards_pushing_hand"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-open","sort_order":181,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1FAF7-1F3FB","non_qualified":null,"image":"1faf7-1f3fb.png","sheet_x":59,"sheet_y":8,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1FAF7-1F3FC","non_qualified":null,"image":"1faf7-1f3fc.png","sheet_x":59,"sheet_y":9,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1FAF7-1F3FD","non_qualified":null,"image":"1faf7-1f3fd.png","sheet_x":59,"sheet_y":10,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1FAF7-1F3FE","non_qualified":null,"image":"1faf7-1f3fe.png","sheet_x":59,"sheet_y":11,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1FAF7-1F3FF","non_qualified":null,"image":"1faf7-1f3ff.png","sheet_x":59,"sheet_y":12,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"RIGHTWARDS PUSHING HAND","unified":"1FAF8","non_qualified":null,"docomo":null,"au":null,"softbank":null,"google":null,"image":"1faf8.png","sheet_x":59,"sheet_y":13,"short_name":"rightwards_pushing_hand","short_names":["rightwards_pushing_hand"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-open","sort_order":182,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"1FAF8-1F3FB","non_qualified":null,"image":"1faf8-1f3fb.png","sheet_x":59,"sheet_y":14,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"1FAF8-1F3FC","non_qualified":null,"image":"1faf8-1f3fc.png","sheet_x":59,"sheet_y":15,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"1FAF8-1F3FD","non_qualified":null,"image":"1faf8-1f3fd.png","sheet_x":59,"sheet_y":16,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"1FAF8-1F3FE","non_qualified":null,"image":"1faf8-1f3fe.png","sheet_x":59,"sheet_y":17,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"1FAF8-1F3FF","non_qualified":null,"image":"1faf8-1f3ff.png","sheet_x":59,"sheet_y":18,"added_in":"15.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"DOUBLE EXCLAMATION MARK","unified":"203C-FE0F","non_qualified":"203C","docomo":"E704","au":"EB30","softbank":null,"google":"FEB06","image":"203c-fe0f.png","sheet_x":59,"sheet_y":19,"short_name":"bangbang","short_names":["bangbang"],"text":null,"texts":null,"category":"Symbols","subcategory":"punctuation","sort_order":1533,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EXCLAMATION QUESTION MARK","unified":"2049-FE0F","non_qualified":"2049","docomo":"E703","au":"EB2F","softbank":null,"google":"FEB05","image":"2049-fe0f.png","sheet_x":59,"sheet_y":20,"short_name":"interrobang","short_names":["interrobang"],"text":null,"texts":null,"category":"Symbols","subcategory":"punctuation","sort_order":1534,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TRADE MARK SIGN","unified":"2122-FE0F","non_qualified":"2122","docomo":"E732","au":"E54E","softbank":"E537","google":"FEB2A","image":"2122-fe0f.png","sheet_x":59,"sheet_y":21,"short_name":"tm","short_names":["tm"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1562,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"INFORMATION SOURCE","unified":"2139-FE0F","non_qualified":"2139","docomo":null,"au":"E533","softbank":null,"google":"FEB47","image":"2139-fe0f.png","sheet_x":59,"sheet_y":22,"short_name":"information_source","short_names":["information_source"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1588,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LEFT RIGHT ARROW","unified":"2194-FE0F","non_qualified":"2194","docomo":"E73C","au":"EB7A","softbank":null,"google":"FEAF6","image":"2194-fe0f.png","sheet_x":59,"sheet_y":23,"short_name":"left_right_arrow","short_names":["left_right_arrow"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1461,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"UP DOWN ARROW","unified":"2195-FE0F","non_qualified":"2195","docomo":"E73D","au":"EB7B","softbank":null,"google":"FEAF7","image":"2195-fe0f.png","sheet_x":59,"sheet_y":24,"short_name":"arrow_up_down","short_names":["arrow_up_down"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1460,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NORTH WEST ARROW","unified":"2196-FE0F","non_qualified":"2196","docomo":"E697","au":"E54C","softbank":"E237","google":"FEAF2","image":"2196-fe0f.png","sheet_x":59,"sheet_y":25,"short_name":"arrow_upper_left","short_names":["arrow_upper_left"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1459,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NORTH EAST ARROW","unified":"2197-FE0F","non_qualified":"2197","docomo":"E678","au":"E555","softbank":"E236","google":"FEAF0","image":"2197-fe0f.png","sheet_x":59,"sheet_y":26,"short_name":"arrow_upper_right","short_names":["arrow_upper_right"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1453,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SOUTH EAST ARROW","unified":"2198-FE0F","non_qualified":"2198","docomo":"E696","au":"E54D","softbank":"E238","google":"FEAF1","image":"2198-fe0f.png","sheet_x":59,"sheet_y":27,"short_name":"arrow_lower_right","short_names":["arrow_lower_right"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1455,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SOUTH WEST ARROW","unified":"2199-FE0F","non_qualified":"2199","docomo":"E6A5","au":"E556","softbank":"E239","google":"FEAF3","image":"2199-fe0f.png","sheet_x":59,"sheet_y":28,"short_name":"arrow_lower_left","short_names":["arrow_lower_left"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1457,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LEFTWARDS ARROW WITH HOOK","unified":"21A9-FE0F","non_qualified":"21A9","docomo":"E6DA","au":"E55D","softbank":null,"google":"FEB83","image":"21a9-fe0f.png","sheet_x":59,"sheet_y":29,"short_name":"leftwards_arrow_with_hook","short_names":["leftwards_arrow_with_hook"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1462,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RIGHTWARDS ARROW WITH HOOK","unified":"21AA-FE0F","non_qualified":"21AA","docomo":null,"au":"E55C","softbank":null,"google":"FEB88","image":"21aa-fe0f.png","sheet_x":59,"sheet_y":30,"short_name":"arrow_right_hook","short_names":["arrow_right_hook"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1463,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WATCH","unified":"231A","non_qualified":null,"docomo":"E71F","au":"E57A","softbank":null,"google":"FE01D","image":"231a.png","sheet_x":59,"sheet_y":31,"short_name":"watch","short_names":["watch"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":999,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HOURGLASS","unified":"231B","non_qualified":null,"docomo":"E71C","au":"E57B","softbank":null,"google":"FE01C","image":"231b.png","sheet_x":59,"sheet_y":32,"short_name":"hourglass","short_names":["hourglass"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":997,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"KEYBOARD","unified":"2328-FE0F","non_qualified":"2328","docomo":null,"au":null,"softbank":null,"google":null,"image":"2328-fe0f.png","sheet_x":59,"sheet_y":33,"short_name":"keyboard","short_names":["keyboard"],"text":null,"texts":null,"category":"Objects","subcategory":"computer","sort_order":1250,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EJECT BUTTON","unified":"23CF-FE0F","non_qualified":"23CF","docomo":null,"au":null,"softbank":null,"google":null,"image":"23cf-fe0f.png","sheet_x":59,"sheet_y":34,"short_name":"eject","short_names":["eject"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1516,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK RIGHT-POINTING DOUBLE TRIANGLE","unified":"23E9","non_qualified":null,"docomo":null,"au":"E530","softbank":"E23C","google":"FEAFE","image":"23e9.png","sheet_x":59,"sheet_y":35,"short_name":"fast_forward","short_names":["fast_forward"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1503,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK LEFT-POINTING DOUBLE TRIANGLE","unified":"23EA","non_qualified":null,"docomo":null,"au":"E52F","softbank":"E23D","google":"FEAFF","image":"23ea.png","sheet_x":59,"sheet_y":36,"short_name":"rewind","short_names":["rewind"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1507,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK UP-POINTING DOUBLE TRIANGLE","unified":"23EB","non_qualified":null,"docomo":null,"au":"E545","softbank":null,"google":"FEB03","image":"23eb.png","sheet_x":59,"sheet_y":37,"short_name":"arrow_double_up","short_names":["arrow_double_up"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1510,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK DOWN-POINTING DOUBLE TRIANGLE","unified":"23EC","non_qualified":null,"docomo":null,"au":"E544","softbank":null,"google":"FEB02","image":"23ec.png","sheet_x":59,"sheet_y":38,"short_name":"arrow_double_down","short_names":["arrow_double_down"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1512,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NEXT TRACK BUTTON","unified":"23ED-FE0F","non_qualified":"23ED","docomo":null,"au":null,"softbank":null,"google":null,"image":"23ed-fe0f.png","sheet_x":59,"sheet_y":39,"short_name":"black_right_pointing_double_triangle_with_vertical_bar","short_names":["black_right_pointing_double_triangle_with_vertical_bar"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1504,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LAST TRACK BUTTON","unified":"23EE-FE0F","non_qualified":"23EE","docomo":null,"au":null,"softbank":null,"google":null,"image":"23ee-fe0f.png","sheet_x":59,"sheet_y":40,"short_name":"black_left_pointing_double_triangle_with_vertical_bar","short_names":["black_left_pointing_double_triangle_with_vertical_bar"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1508,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PLAY OR PAUSE BUTTON","unified":"23EF-FE0F","non_qualified":"23EF","docomo":null,"au":null,"softbank":null,"google":null,"image":"23ef-fe0f.png","sheet_x":59,"sheet_y":41,"short_name":"black_right_pointing_triangle_with_double_vertical_bar","short_names":["black_right_pointing_triangle_with_double_vertical_bar"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1505,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ALARM CLOCK","unified":"23F0","non_qualified":null,"docomo":"E6BA","au":"E594","softbank":null,"google":"FE02A","image":"23f0.png","sheet_x":59,"sheet_y":42,"short_name":"alarm_clock","short_names":["alarm_clock"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1000,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"STOPWATCH","unified":"23F1-FE0F","non_qualified":"23F1","docomo":null,"au":null,"softbank":null,"google":null,"image":"23f1-fe0f.png","sheet_x":59,"sheet_y":43,"short_name":"stopwatch","short_names":["stopwatch"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1001,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TIMER CLOCK","unified":"23F2-FE0F","non_qualified":"23F2","docomo":null,"au":null,"softbank":null,"google":null,"image":"23f2-fe0f.png","sheet_x":59,"sheet_y":44,"short_name":"timer_clock","short_names":["timer_clock"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":1002,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HOURGLASS WITH FLOWING SAND","unified":"23F3","non_qualified":null,"docomo":"E71C","au":"E47C","softbank":null,"google":"FE01B","image":"23f3.png","sheet_x":59,"sheet_y":45,"short_name":"hourglass_flowing_sand","short_names":["hourglass_flowing_sand"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"time","sort_order":998,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PAUSE BUTTON","unified":"23F8-FE0F","non_qualified":"23F8","docomo":null,"au":null,"softbank":null,"google":null,"image":"23f8-fe0f.png","sheet_x":59,"sheet_y":46,"short_name":"double_vertical_bar","short_names":["double_vertical_bar"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1513,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"STOP BUTTON","unified":"23F9-FE0F","non_qualified":"23F9","docomo":null,"au":null,"softbank":null,"google":null,"image":"23f9-fe0f.png","sheet_x":59,"sheet_y":47,"short_name":"black_square_for_stop","short_names":["black_square_for_stop"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1514,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RECORD BUTTON","unified":"23FA-FE0F","non_qualified":"23FA","docomo":null,"au":null,"softbank":null,"google":null,"image":"23fa-fe0f.png","sheet_x":59,"sheet_y":48,"short_name":"black_circle_for_record","short_names":["black_circle_for_record"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1515,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CIRCLED LATIN CAPITAL LETTER M","unified":"24C2-FE0F","non_qualified":"24C2","docomo":"E65C","au":"E5BC","softbank":null,"google":"FE7E1","image":"24c2-fe0f.png","sheet_x":59,"sheet_y":49,"short_name":"m","short_names":["m"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1590,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK SMALL SQUARE","unified":"25AA-FE0F","non_qualified":"25AA","docomo":null,"au":"E532","softbank":null,"google":"FEB6E","image":"25aa-fe0f.png","sheet_x":59,"sheet_y":50,"short_name":"black_small_square","short_names":["black_small_square"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1638,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WHITE SMALL SQUARE","unified":"25AB-FE0F","non_qualified":"25AB","docomo":null,"au":"E531","softbank":null,"google":"FEB6D","image":"25ab-fe0f.png","sheet_x":59,"sheet_y":51,"short_name":"white_small_square","short_names":["white_small_square"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1639,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK RIGHT-POINTING TRIANGLE","unified":"25B6-FE0F","non_qualified":"25B6","docomo":null,"au":"E52E","softbank":"E23A","google":"FEAFC","image":"25b6-fe0f.png","sheet_x":59,"sheet_y":52,"short_name":"arrow_forward","short_names":["arrow_forward"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1502,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK LEFT-POINTING TRIANGLE","unified":"25C0-FE0F","non_qualified":"25C0","docomo":null,"au":"E52D","softbank":"E23B","google":"FEAFD","image":"25c0-fe0f.png","sheet_x":59,"sheet_y":53,"short_name":"arrow_backward","short_names":["arrow_backward"],"text":null,"texts":null,"category":"Symbols","subcategory":"av-symbol","sort_order":1506,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WHITE MEDIUM SQUARE","unified":"25FB-FE0F","non_qualified":"25FB","docomo":null,"au":"E538","softbank":null,"google":"FEB71","image":"25fb-fe0f.png","sheet_x":59,"sheet_y":54,"short_name":"white_medium_square","short_names":["white_medium_square"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1635,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK MEDIUM SQUARE","unified":"25FC-FE0F","non_qualified":"25FC","docomo":null,"au":"E539","softbank":null,"google":"FEB72","image":"25fc-fe0f.png","sheet_x":59,"sheet_y":55,"short_name":"black_medium_square","short_names":["black_medium_square"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1634,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WHITE MEDIUM SMALL SQUARE","unified":"25FD","non_qualified":null,"docomo":null,"au":"E534","softbank":null,"google":"FEB6F","image":"25fd.png","sheet_x":59,"sheet_y":56,"short_name":"white_medium_small_square","short_names":["white_medium_small_square"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1637,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK MEDIUM SMALL SQUARE","unified":"25FE","non_qualified":null,"docomo":null,"au":"E535","softbank":null,"google":"FEB70","image":"25fe.png","sheet_x":59,"sheet_y":57,"short_name":"black_medium_small_square","short_names":["black_medium_small_square"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1636,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK SUN WITH RAYS","unified":"2600-FE0F","non_qualified":"2600","docomo":"E63E","au":"E488","softbank":"E04A","google":"FE000","image":"2600-fe0f.png","sheet_x":59,"sheet_y":58,"short_name":"sunny","short_names":["sunny"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1041,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOUD","unified":"2601-FE0F","non_qualified":"2601","docomo":"E63F","au":"E48D","softbank":"E049","google":"FE001","image":"2601-fe0f.png","sheet_x":59,"sheet_y":59,"short_name":"cloud","short_names":["cloud"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1049,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"UMBRELLA","unified":"2602-FE0F","non_qualified":"2602","docomo":null,"au":null,"softbank":null,"google":null,"image":"2602-fe0f.png","sheet_x":59,"sheet_y":60,"short_name":"umbrella","short_names":["umbrella"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1064,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SNOWMAN","unified":"2603-FE0F","non_qualified":"2603","docomo":null,"au":null,"softbank":null,"google":null,"image":"2603-fe0f.png","sheet_x":59,"sheet_y":61,"short_name":"snowman","short_names":["snowman"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1069,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"COMET","unified":"2604-FE0F","non_qualified":"2604","docomo":null,"au":null,"softbank":null,"google":null,"image":"2604-fe0f.png","sheet_x":59,"sheet_y":62,"short_name":"comet","short_names":["comet"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1071,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK TELEPHONE","unified":"260E-FE0F","non_qualified":"260E","docomo":"E687","au":"E596","softbank":"E009","google":"FE523","image":"260e-fe0f.png","sheet_x":60,"sheet_y":0,"short_name":"phone","short_names":["phone","telephone"],"text":null,"texts":null,"category":"Objects","subcategory":"phone","sort_order":1240,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BALLOT BOX WITH CHECK","unified":"2611-FE0F","non_qualified":"2611","docomo":null,"au":"EB02","softbank":null,"google":"FEB8B","image":"2611-fe0f.png","sheet_x":60,"sheet_y":1,"short_name":"ballot_box_with_check","short_names":["ballot_box_with_check"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1550,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"UMBRELLA WITH RAIN DROPS","unified":"2614","non_qualified":null,"docomo":"E640","au":"E48C","softbank":"E04B","google":"FE002","image":"2614.png","sheet_x":60,"sheet_y":2,"short_name":"umbrella_with_rain_drops","short_names":["umbrella_with_rain_drops"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1065,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HOT BEVERAGE","unified":"2615","non_qualified":null,"docomo":"E670","au":"E597","softbank":"E045","google":"FE981","image":"2615.png","sheet_x":60,"sheet_y":3,"short_name":"coffee","short_names":["coffee"],"text":null,"texts":null,"category":"Food & Drink","subcategory":"drink","sort_order":831,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SHAMROCK","unified":"2618-FE0F","non_qualified":"2618","docomo":null,"au":null,"softbank":null,"google":null,"image":"2618-fe0f.png","sheet_x":60,"sheet_y":4,"short_name":"shamrock","short_names":["shamrock"],"text":null,"texts":null,"category":"Animals & Nature","subcategory":"plant-other","sort_order":716,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WHITE UP POINTING INDEX","unified":"261D-FE0F","non_qualified":"261D","docomo":null,"au":"E4F6","softbank":"E00F","google":"FEB98","image":"261d-fe0f.png","sheet_x":60,"sheet_y":5,"short_name":"point_up","short_names":["point_up"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-single-finger","sort_order":197,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"261D-1F3FB","non_qualified":null,"image":"261d-1f3fb.png","sheet_x":60,"sheet_y":6,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"261D-1F3FC","non_qualified":null,"image":"261d-1f3fc.png","sheet_x":60,"sheet_y":7,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"261D-1F3FD","non_qualified":null,"image":"261d-1f3fd.png","sheet_x":60,"sheet_y":8,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"261D-1F3FE","non_qualified":null,"image":"261d-1f3fe.png","sheet_x":60,"sheet_y":9,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"261D-1F3FF","non_qualified":null,"image":"261d-1f3ff.png","sheet_x":60,"sheet_y":10,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"SKULL AND CROSSBONES","unified":"2620-FE0F","non_qualified":"2620","docomo":null,"au":null,"softbank":null,"google":null,"image":"2620-fe0f.png","sheet_x":60,"sheet_y":11,"short_name":"skull_and_crossbones","short_names":["skull_and_crossbones"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-negative","sort_order":111,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RADIOACTIVE","unified":"2622-FE0F","non_qualified":"2622","docomo":null,"au":null,"softbank":null,"google":null,"image":"2622-fe0f.png","sheet_x":60,"sheet_y":12,"short_name":"radioactive_sign","short_names":["radioactive_sign"],"text":null,"texts":null,"category":"Symbols","subcategory":"warning","sort_order":1450,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BIOHAZARD","unified":"2623-FE0F","non_qualified":"2623","docomo":null,"au":null,"softbank":null,"google":null,"image":"2623-fe0f.png","sheet_x":60,"sheet_y":13,"short_name":"biohazard_sign","short_names":["biohazard_sign"],"text":null,"texts":null,"category":"Symbols","subcategory":"warning","sort_order":1451,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ORTHODOX CROSS","unified":"2626-FE0F","non_qualified":"2626","docomo":null,"au":null,"softbank":null,"google":null,"image":"2626-fe0f.png","sheet_x":60,"sheet_y":14,"short_name":"orthodox_cross","short_names":["orthodox_cross"],"text":null,"texts":null,"category":"Symbols","subcategory":"religion","sort_order":1480,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"STAR AND CRESCENT","unified":"262A-FE0F","non_qualified":"262A","docomo":null,"au":null,"softbank":null,"google":null,"image":"262a-fe0f.png","sheet_x":60,"sheet_y":15,"short_name":"star_and_crescent","short_names":["star_and_crescent"],"text":null,"texts":null,"category":"Symbols","subcategory":"religion","sort_order":1481,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PEACE SYMBOL","unified":"262E-FE0F","non_qualified":"262E","docomo":null,"au":null,"softbank":null,"google":null,"image":"262e-fe0f.png","sheet_x":60,"sheet_y":16,"short_name":"peace_symbol","short_names":["peace_symbol"],"text":null,"texts":null,"category":"Symbols","subcategory":"religion","sort_order":1482,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"YIN YANG","unified":"262F-FE0F","non_qualified":"262F","docomo":null,"au":null,"softbank":null,"google":null,"image":"262f-fe0f.png","sheet_x":60,"sheet_y":17,"short_name":"yin_yang","short_names":["yin_yang"],"text":null,"texts":null,"category":"Symbols","subcategory":"religion","sort_order":1478,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WHEEL OF DHARMA","unified":"2638-FE0F","non_qualified":"2638","docomo":null,"au":null,"softbank":null,"google":null,"image":"2638-fe0f.png","sheet_x":60,"sheet_y":18,"short_name":"wheel_of_dharma","short_names":["wheel_of_dharma"],"text":null,"texts":null,"category":"Symbols","subcategory":"religion","sort_order":1477,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FROWNING FACE","unified":"2639-FE0F","non_qualified":"2639","docomo":null,"au":null,"softbank":null,"google":null,"image":"2639-fe0f.png","sheet_x":60,"sheet_y":19,"short_name":"white_frowning_face","short_names":["white_frowning_face"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-concerned","sort_order":81,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WHITE SMILING FACE","unified":"263A-FE0F","non_qualified":"263A","docomo":"E6F0","au":"E4FB","softbank":"E414","google":"FE336","image":"263a-fe0f.png","sheet_x":60,"sheet_y":20,"short_name":"relaxed","short_names":["relaxed"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"face-affection","sort_order":20,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FEMALE SIGN","unified":"2640-FE0F","non_qualified":"2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"2640-fe0f.png","sheet_x":60,"sheet_y":21,"short_name":"female_sign","short_names":["female_sign"],"text":null,"texts":null,"category":"Symbols","subcategory":"gender","sort_order":1524,"added_in":"4.0","has_img_apple":false,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MALE SIGN","unified":"2642-FE0F","non_qualified":"2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"2642-fe0f.png","sheet_x":60,"sheet_y":22,"short_name":"male_sign","short_names":["male_sign"],"text":null,"texts":null,"category":"Symbols","subcategory":"gender","sort_order":1525,"added_in":"4.0","has_img_apple":false,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ARIES","unified":"2648","non_qualified":null,"docomo":"E646","au":"E48F","softbank":"E23F","google":"FE02B","image":"2648.png","sheet_x":60,"sheet_y":23,"short_name":"aries","short_names":["aries"],"text":null,"texts":null,"category":"Symbols","subcategory":"zodiac","sort_order":1486,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TAURUS","unified":"2649","non_qualified":null,"docomo":"E647","au":"E490","softbank":"E240","google":"FE02C","image":"2649.png","sheet_x":60,"sheet_y":24,"short_name":"taurus","short_names":["taurus"],"text":null,"texts":null,"category":"Symbols","subcategory":"zodiac","sort_order":1487,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GEMINI","unified":"264A","non_qualified":null,"docomo":"E648","au":"E491","softbank":"E241","google":"FE02D","image":"264a.png","sheet_x":60,"sheet_y":25,"short_name":"gemini","short_names":["gemini"],"text":null,"texts":null,"category":"Symbols","subcategory":"zodiac","sort_order":1488,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CANCER","unified":"264B","non_qualified":null,"docomo":"E649","au":"E492","softbank":"E242","google":"FE02E","image":"264b.png","sheet_x":60,"sheet_y":26,"short_name":"cancer","short_names":["cancer"],"text":null,"texts":null,"category":"Symbols","subcategory":"zodiac","sort_order":1489,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LEO","unified":"264C","non_qualified":null,"docomo":"E64A","au":"E493","softbank":"E243","google":"FE02F","image":"264c.png","sheet_x":60,"sheet_y":27,"short_name":"leo","short_names":["leo"],"text":null,"texts":null,"category":"Symbols","subcategory":"zodiac","sort_order":1490,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"VIRGO","unified":"264D","non_qualified":null,"docomo":"E64B","au":"E494","softbank":"E244","google":"FE030","image":"264d.png","sheet_x":60,"sheet_y":28,"short_name":"virgo","short_names":["virgo"],"text":null,"texts":null,"category":"Symbols","subcategory":"zodiac","sort_order":1491,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LIBRA","unified":"264E","non_qualified":null,"docomo":"E64C","au":"E495","softbank":"E245","google":"FE031","image":"264e.png","sheet_x":60,"sheet_y":29,"short_name":"libra","short_names":["libra"],"text":null,"texts":null,"category":"Symbols","subcategory":"zodiac","sort_order":1492,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SCORPIUS","unified":"264F","non_qualified":null,"docomo":"E64D","au":"E496","softbank":"E246","google":"FE032","image":"264f.png","sheet_x":60,"sheet_y":30,"short_name":"scorpius","short_names":["scorpius"],"text":null,"texts":null,"category":"Symbols","subcategory":"zodiac","sort_order":1493,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SAGITTARIUS","unified":"2650","non_qualified":null,"docomo":"E64E","au":"E497","softbank":"E247","google":"FE033","image":"2650.png","sheet_x":60,"sheet_y":31,"short_name":"sagittarius","short_names":["sagittarius"],"text":null,"texts":null,"category":"Symbols","subcategory":"zodiac","sort_order":1494,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CAPRICORN","unified":"2651","non_qualified":null,"docomo":"E64F","au":"E498","softbank":"E248","google":"FE034","image":"2651.png","sheet_x":60,"sheet_y":32,"short_name":"capricorn","short_names":["capricorn"],"text":null,"texts":null,"category":"Symbols","subcategory":"zodiac","sort_order":1495,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"AQUARIUS","unified":"2652","non_qualified":null,"docomo":"E650","au":"E499","softbank":"E249","google":"FE035","image":"2652.png","sheet_x":60,"sheet_y":33,"short_name":"aquarius","short_names":["aquarius"],"text":null,"texts":null,"category":"Symbols","subcategory":"zodiac","sort_order":1496,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PISCES","unified":"2653","non_qualified":null,"docomo":"E651","au":"E49A","softbank":"E24A","google":"FE036","image":"2653.png","sheet_x":60,"sheet_y":34,"short_name":"pisces","short_names":["pisces"],"text":null,"texts":null,"category":"Symbols","subcategory":"zodiac","sort_order":1497,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CHESS PAWN","unified":"265F-FE0F","non_qualified":"265F","docomo":null,"au":null,"softbank":null,"google":null,"image":"265f-fe0f.png","sheet_x":60,"sheet_y":35,"short_name":"chess_pawn","short_names":["chess_pawn"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1149,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK SPADE SUIT","unified":"2660-FE0F","non_qualified":"2660","docomo":"E68E","au":"E5A1","softbank":"E20E","google":"FEB1B","image":"2660-fe0f.png","sheet_x":60,"sheet_y":36,"short_name":"spades","short_names":["spades"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1145,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK CLUB SUIT","unified":"2663-FE0F","non_qualified":"2663","docomo":"E690","au":"E5A3","softbank":"E20F","google":"FEB1D","image":"2663-fe0f.png","sheet_x":60,"sheet_y":37,"short_name":"clubs","short_names":["clubs"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1148,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK HEART SUIT","unified":"2665-FE0F","non_qualified":"2665","docomo":"E68D","au":"EAA5","softbank":"E20C","google":"FEB1A","image":"2665-fe0f.png","sheet_x":60,"sheet_y":38,"short_name":"hearts","short_names":["hearts"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1146,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK DIAMOND SUIT","unified":"2666-FE0F","non_qualified":"2666","docomo":"E68F","au":"E5A2","softbank":"E20D","google":"FEB1C","image":"2666-fe0f.png","sheet_x":60,"sheet_y":39,"short_name":"diamonds","short_names":["diamonds"],"text":null,"texts":null,"category":"Activities","subcategory":"game","sort_order":1147,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HOT SPRINGS","unified":"2668-FE0F","non_qualified":"2668","docomo":"E6F7","au":"E4BC","softbank":"E123","google":"FE7FA","image":"2668-fe0f.png","sheet_x":60,"sheet_y":40,"short_name":"hotsprings","short_names":["hotsprings"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-other","sort_order":916,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK UNIVERSAL RECYCLING SYMBOL","unified":"267B-FE0F","non_qualified":"267B","docomo":"E735","au":"EB79","softbank":null,"google":"FEB2C","image":"267b-fe0f.png","sheet_x":60,"sheet_y":41,"short_name":"recycle","short_names":["recycle"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1543,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"INFINITY","unified":"267E-FE0F","non_qualified":"267E","docomo":null,"au":null,"softbank":null,"google":null,"image":"267e-fe0f.png","sheet_x":60,"sheet_y":42,"short_name":"infinity","short_names":["infinity"],"text":null,"texts":null,"category":"Symbols","subcategory":"math","sort_order":1532,"added_in":"11.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WHEELCHAIR SYMBOL","unified":"267F","non_qualified":null,"docomo":"E69B","au":"E47F","softbank":"E20A","google":"FEB20","image":"267f.png","sheet_x":60,"sheet_y":43,"short_name":"wheelchair","short_names":["wheelchair"],"text":null,"texts":null,"category":"Symbols","subcategory":"transport-sign","sort_order":1429,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HAMMER AND PICK","unified":"2692-FE0F","non_qualified":"2692","docomo":null,"au":null,"softbank":null,"google":null,"image":"2692-fe0f.png","sheet_x":60,"sheet_y":44,"short_name":"hammer_and_pick","short_names":["hammer_and_pick"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1354,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ANCHOR","unified":"2693","non_qualified":null,"docomo":"E661","au":"E4A9","softbank":null,"google":"FE4C1","image":"2693.png","sheet_x":60,"sheet_y":45,"short_name":"anchor","short_names":["anchor"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-water","sort_order":973,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CROSSED SWORDS","unified":"2694-FE0F","non_qualified":"2694","docomo":null,"au":null,"softbank":null,"google":null,"image":"2694-fe0f.png","sheet_x":60,"sheet_y":46,"short_name":"crossed_swords","short_names":["crossed_swords"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1357,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MEDICAL SYMBOL","unified":"2695-FE0F","non_qualified":"2695","docomo":null,"au":null,"softbank":null,"google":null,"image":"2695-fe0f.png","sheet_x":60,"sheet_y":47,"short_name":"medical_symbol","short_names":["medical_symbol","staff_of_aesculapius"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1542,"added_in":"4.0","has_img_apple":false,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BALANCE SCALE","unified":"2696-FE0F","non_qualified":"2696","docomo":null,"au":null,"softbank":null,"google":null,"image":"2696-fe0f.png","sheet_x":60,"sheet_y":48,"short_name":"scales","short_names":["scales"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1368,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ALEMBIC","unified":"2697-FE0F","non_qualified":"2697","docomo":null,"au":null,"softbank":null,"google":null,"image":"2697-fe0f.png","sheet_x":60,"sheet_y":49,"short_name":"alembic","short_names":["alembic"],"text":null,"texts":null,"category":"Objects","subcategory":"science","sort_order":1378,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"GEAR","unified":"2699-FE0F","non_qualified":"2699","docomo":null,"au":null,"softbank":null,"google":null,"image":"2699-fe0f.png","sheet_x":60,"sheet_y":50,"short_name":"gear","short_names":["gear"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1366,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ATOM SYMBOL","unified":"269B-FE0F","non_qualified":"269B","docomo":null,"au":null,"softbank":null,"google":null,"image":"269b-fe0f.png","sheet_x":60,"sheet_y":51,"short_name":"atom_symbol","short_names":["atom_symbol"],"text":null,"texts":null,"category":"Symbols","subcategory":"religion","sort_order":1474,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FLEUR-DE-LIS","unified":"269C-FE0F","non_qualified":"269C","docomo":null,"au":null,"softbank":null,"google":null,"image":"269c-fe0f.png","sheet_x":60,"sheet_y":52,"short_name":"fleur_de_lis","short_names":["fleur_de_lis"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1544,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WARNING SIGN","unified":"26A0-FE0F","non_qualified":"26A0","docomo":"E737","au":"E481","softbank":"E252","google":"FEB23","image":"26a0-fe0f.png","sheet_x":60,"sheet_y":53,"short_name":"warning","short_names":["warning"],"text":null,"texts":null,"category":"Symbols","subcategory":"warning","sort_order":1439,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HIGH VOLTAGE SIGN","unified":"26A1","non_qualified":null,"docomo":"E642","au":"E487","softbank":"E13D","google":"FE004","image":"26a1.png","sheet_x":60,"sheet_y":54,"short_name":"zap","short_names":["zap"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1067,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"TRANSGENDER SYMBOL","unified":"26A7-FE0F","non_qualified":"26A7","docomo":null,"au":null,"softbank":null,"google":null,"image":"26a7-fe0f.png","sheet_x":60,"sheet_y":55,"short_name":"transgender_symbol","short_names":["transgender_symbol"],"text":null,"texts":null,"category":"Symbols","subcategory":"gender","sort_order":1526,"added_in":"13.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MEDIUM WHITE CIRCLE","unified":"26AA","non_qualified":null,"docomo":"E69C","au":"E53A","softbank":null,"google":"FEB65","image":"26aa.png","sheet_x":60,"sheet_y":56,"short_name":"white_circle","short_names":["white_circle"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1624,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MEDIUM BLACK CIRCLE","unified":"26AB","non_qualified":null,"docomo":"E69C","au":"E53B","softbank":null,"google":"FEB66","image":"26ab.png","sheet_x":60,"sheet_y":57,"short_name":"black_circle","short_names":["black_circle"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1623,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"COFFIN","unified":"26B0-FE0F","non_qualified":"26B0","docomo":null,"au":null,"softbank":null,"google":null,"image":"26b0-fe0f.png","sheet_x":60,"sheet_y":58,"short_name":"coffin","short_names":["coffin"],"text":null,"texts":null,"category":"Objects","subcategory":"other-object","sort_order":1418,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FUNERAL URN","unified":"26B1-FE0F","non_qualified":"26B1","docomo":null,"au":null,"softbank":null,"google":null,"image":"26b1-fe0f.png","sheet_x":60,"sheet_y":59,"short_name":"funeral_urn","short_names":["funeral_urn"],"text":null,"texts":null,"category":"Objects","subcategory":"other-object","sort_order":1420,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SOCCER BALL","unified":"26BD","non_qualified":null,"docomo":"E656","au":"E4B6","softbank":"E018","google":"FE7D4","image":"26bd.png","sheet_x":60,"sheet_y":60,"short_name":"soccer","short_names":["soccer"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1102,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BASEBALL","unified":"26BE","non_qualified":null,"docomo":"E653","au":"E4BA","softbank":"E016","google":"FE7D1","image":"26be.png","sheet_x":60,"sheet_y":61,"short_name":"baseball","short_names":["baseball"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1103,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SNOWMAN WITHOUT SNOW","unified":"26C4","non_qualified":null,"docomo":"E641","au":"E485","softbank":"E048","google":"FE003","image":"26c4.png","sheet_x":60,"sheet_y":62,"short_name":"snowman_without_snow","short_names":["snowman_without_snow"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1070,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SUN BEHIND CLOUD","unified":"26C5","non_qualified":null,"docomo":"E63E-E63F","au":"E48E","softbank":null,"google":"FE00F","image":"26c5.png","sheet_x":61,"sheet_y":0,"short_name":"partly_sunny","short_names":["partly_sunny"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1050,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CLOUD WITH LIGHTNING AND RAIN","unified":"26C8-FE0F","non_qualified":"26C8","docomo":null,"au":null,"softbank":null,"google":null,"image":"26c8-fe0f.png","sheet_x":61,"sheet_y":1,"short_name":"thunder_cloud_and_rain","short_names":["thunder_cloud_and_rain"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1051,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"OPHIUCHUS","unified":"26CE","non_qualified":null,"docomo":null,"au":"E49B","softbank":"E24B","google":"FE037","image":"26ce.png","sheet_x":61,"sheet_y":2,"short_name":"ophiuchus","short_names":["ophiuchus"],"text":null,"texts":null,"category":"Symbols","subcategory":"zodiac","sort_order":1498,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PICK","unified":"26CF-FE0F","non_qualified":"26CF","docomo":null,"au":null,"softbank":null,"google":null,"image":"26cf-fe0f.png","sheet_x":61,"sheet_y":3,"short_name":"pick","short_names":["pick"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1353,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RESCUE WORKER\u2019S HELMET","unified":"26D1-FE0F","non_qualified":"26D1","docomo":null,"au":null,"softbank":null,"google":null,"image":"26d1-fe0f.png","sheet_x":61,"sheet_y":4,"short_name":"helmet_with_white_cross","short_names":["helmet_with_white_cross"],"text":null,"texts":null,"category":"Objects","subcategory":"clothing","sort_order":1202,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BROKEN CHAIN","unified":"26D3-FE0F-200D-1F4A5","non_qualified":"26D3-200D-1F4A5","docomo":null,"au":null,"softbank":null,"google":null,"image":"26d3-fe0f-200d-1f4a5.png","sheet_x":61,"sheet_y":5,"short_name":"broken_chain","short_names":["broken_chain"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1371,"added_in":"15.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":false},{"name":"CHAINS","unified":"26D3-FE0F","non_qualified":"26D3","docomo":null,"au":null,"softbank":null,"google":null,"image":"26d3-fe0f.png","sheet_x":61,"sheet_y":6,"short_name":"chains","short_names":["chains"],"text":null,"texts":null,"category":"Objects","subcategory":"tool","sort_order":1372,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NO ENTRY","unified":"26D4","non_qualified":null,"docomo":"E72F","au":"E484","softbank":null,"google":"FEB26","image":"26d4.png","sheet_x":61,"sheet_y":7,"short_name":"no_entry","short_names":["no_entry"],"text":null,"texts":null,"category":"Symbols","subcategory":"warning","sort_order":1441,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SHINTO SHRINE","unified":"26E9-FE0F","non_qualified":"26E9","docomo":null,"au":null,"softbank":null,"google":null,"image":"26e9-fe0f.png","sheet_x":61,"sheet_y":8,"short_name":"shinto_shrine","short_names":["shinto_shrine"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-religious","sort_order":904,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CHURCH","unified":"26EA","non_qualified":null,"docomo":null,"au":"E5BB","softbank":"E037","google":"FE4BB","image":"26ea.png","sheet_x":61,"sheet_y":9,"short_name":"church","short_names":["church"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-religious","sort_order":900,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MOUNTAIN","unified":"26F0-FE0F","non_qualified":"26F0","docomo":null,"au":null,"softbank":null,"google":null,"image":"26f0-fe0f.png","sheet_x":61,"sheet_y":10,"short_name":"mountain","short_names":["mountain"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-geographic","sort_order":864,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"UMBRELLA ON GROUND","unified":"26F1-FE0F","non_qualified":"26F1","docomo":null,"au":null,"softbank":null,"google":null,"image":"26f1-fe0f.png","sheet_x":61,"sheet_y":11,"short_name":"umbrella_on_ground","short_names":["umbrella_on_ground"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1066,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FOUNTAIN","unified":"26F2","non_qualified":null,"docomo":null,"au":"E5CF","softbank":"E121","google":"FE4BC","image":"26f2.png","sheet_x":61,"sheet_y":12,"short_name":"fountain","short_names":["fountain"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-other","sort_order":906,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FLAG IN HOLE","unified":"26F3","non_qualified":null,"docomo":"E654","au":"E599","softbank":"E014","google":"FE7D2","image":"26f3.png","sheet_x":61,"sheet_y":13,"short_name":"golf","short_names":["golf"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1121,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FERRY","unified":"26F4-FE0F","non_qualified":"26F4","docomo":null,"au":null,"softbank":null,"google":null,"image":"26f4-fe0f.png","sheet_x":61,"sheet_y":14,"short_name":"ferry","short_names":["ferry"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-water","sort_order":979,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SAILBOAT","unified":"26F5","non_qualified":null,"docomo":"E6A3","au":"E4B4","softbank":"E01C","google":"FE7EA","image":"26f5.png","sheet_x":61,"sheet_y":15,"short_name":"boat","short_names":["boat","sailboat"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-water","sort_order":975,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SKIER","unified":"26F7-FE0F","non_qualified":"26F7","docomo":null,"au":null,"softbank":null,"google":null,"image":"26f7-fe0f.png","sheet_x":61,"sheet_y":16,"short_name":"skier","short_names":["skier"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":466,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ICE SKATE","unified":"26F8-FE0F","non_qualified":"26F8","docomo":null,"au":null,"softbank":null,"google":null,"image":"26f8-fe0f.png","sheet_x":61,"sheet_y":17,"short_name":"ice_skate","short_names":["ice_skate"],"text":null,"texts":null,"category":"Activities","subcategory":"sport","sort_order":1122,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WOMAN BOUNCING BALL","unified":"26F9-FE0F-200D-2640-FE0F","non_qualified":"26F9-200D-2640","docomo":null,"au":null,"softbank":null,"google":null,"image":"26f9-fe0f-200d-2640-fe0f.png","sheet_x":61,"sheet_y":18,"short_name":"woman-bouncing-ball","short_names":["woman-bouncing-ball"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":482,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"26F9-1F3FB-200D-2640-FE0F","non_qualified":"26F9-1F3FB-200D-2640","image":"26f9-1f3fb-200d-2640-fe0f.png","sheet_x":61,"sheet_y":19,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"26F9-1F3FC-200D-2640-FE0F","non_qualified":"26F9-1F3FC-200D-2640","image":"26f9-1f3fc-200d-2640-fe0f.png","sheet_x":61,"sheet_y":20,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"26F9-1F3FD-200D-2640-FE0F","non_qualified":"26F9-1F3FD-200D-2640","image":"26f9-1f3fd-200d-2640-fe0f.png","sheet_x":61,"sheet_y":21,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"26F9-1F3FE-200D-2640-FE0F","non_qualified":"26F9-1F3FE-200D-2640","image":"26f9-1f3fe-200d-2640-fe0f.png","sheet_x":61,"sheet_y":22,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"26F9-1F3FF-200D-2640-FE0F","non_qualified":"26F9-1F3FF-200D-2640","image":"26f9-1f3ff-200d-2640-fe0f.png","sheet_x":61,"sheet_y":23,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"MAN BOUNCING BALL","unified":"26F9-FE0F-200D-2642-FE0F","non_qualified":"26F9-200D-2642","docomo":null,"au":null,"softbank":null,"google":null,"image":"26f9-fe0f-200d-2642-fe0f.png","sheet_x":61,"sheet_y":24,"short_name":"man-bouncing-ball","short_names":["man-bouncing-ball"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":481,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"26F9-1F3FB-200D-2642-FE0F","non_qualified":"26F9-1F3FB-200D-2642","image":"26f9-1f3fb-200d-2642-fe0f.png","sheet_x":61,"sheet_y":25,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"26F9-1F3FC-200D-2642-FE0F","non_qualified":"26F9-1F3FC-200D-2642","image":"26f9-1f3fc-200d-2642-fe0f.png","sheet_x":61,"sheet_y":26,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"26F9-1F3FD-200D-2642-FE0F","non_qualified":"26F9-1F3FD-200D-2642","image":"26f9-1f3fd-200d-2642-fe0f.png","sheet_x":61,"sheet_y":27,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"26F9-1F3FE-200D-2642-FE0F","non_qualified":"26F9-1F3FE-200D-2642","image":"26f9-1f3fe-200d-2642-fe0f.png","sheet_x":61,"sheet_y":28,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"26F9-1F3FF-200D-2642-FE0F","non_qualified":"26F9-1F3FF-200D-2642","image":"26f9-1f3ff-200d-2642-fe0f.png","sheet_x":61,"sheet_y":29,"added_in":"4.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoletes":"26F9-FE0F"},{"name":"PERSON BOUNCING BALL","unified":"26F9-FE0F","non_qualified":"26F9","docomo":null,"au":null,"softbank":null,"google":null,"image":"26f9-fe0f.png","sheet_x":61,"sheet_y":30,"short_name":"person_with_ball","short_names":["person_with_ball"],"text":null,"texts":null,"category":"People & Body","subcategory":"person-sport","sort_order":480,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"26F9-1F3FB","non_qualified":null,"image":"26f9-1f3fb.png","sheet_x":61,"sheet_y":31,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"26F9-1F3FC","non_qualified":null,"image":"26f9-1f3fc.png","sheet_x":61,"sheet_y":32,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"26F9-1F3FD","non_qualified":null,"image":"26f9-1f3fd.png","sheet_x":61,"sheet_y":33,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"26F9-1F3FE","non_qualified":null,"image":"26f9-1f3fe.png","sheet_x":61,"sheet_y":34,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"26F9-1F3FF","non_qualified":null,"image":"26f9-1f3ff.png","sheet_x":61,"sheet_y":35,"added_in":"2.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}},"obsoleted_by":"26F9-FE0F-200D-2642-FE0F"},{"name":"TENT","unified":"26FA","non_qualified":null,"docomo":null,"au":"E5D0","softbank":"E122","google":"FE7FB","image":"26fa.png","sheet_x":61,"sheet_y":36,"short_name":"tent","short_names":["tent"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"place-other","sort_order":907,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"FUEL PUMP","unified":"26FD","non_qualified":null,"docomo":"E66B","au":"E571","softbank":"E03A","google":"FE7F5","image":"26fd.png","sheet_x":61,"sheet_y":37,"short_name":"fuelpump","short_names":["fuelpump"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-ground","sort_order":966,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK SCISSORS","unified":"2702-FE0F","non_qualified":"2702","docomo":"E675","au":"E516","softbank":"E313","google":"FE53E","image":"2702-fe0f.png","sheet_x":61,"sheet_y":38,"short_name":"scissors","short_names":["scissors"],"text":null,"texts":null,"category":"Objects","subcategory":"office","sort_order":1341,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WHITE HEAVY CHECK MARK","unified":"2705","non_qualified":null,"docomo":null,"au":"E55E","softbank":null,"google":"FEB4A","image":"2705.png","sheet_x":61,"sheet_y":39,"short_name":"white_check_mark","short_names":["white_check_mark"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1549,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"AIRPLANE","unified":"2708-FE0F","non_qualified":"2708","docomo":"E662","au":"E4B3","softbank":"E01D","google":"FE7E9","image":"2708-fe0f.png","sheet_x":61,"sheet_y":40,"short_name":"airplane","short_names":["airplane"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"transport-air","sort_order":982,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ENVELOPE","unified":"2709-FE0F","non_qualified":"2709","docomo":"E6D3","au":"E521","softbank":null,"google":"FE529","image":"2709-fe0f.png","sheet_x":61,"sheet_y":41,"short_name":"email","short_names":["email","envelope"],"text":null,"texts":null,"category":"Objects","subcategory":"mail","sort_order":1302,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"RAISED FIST","unified":"270A","non_qualified":null,"docomo":"E693","au":"EB83","softbank":"E010","google":"FEB93","image":"270a.png","sheet_x":61,"sheet_y":42,"short_name":"fist","short_names":["fist"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-closed","sort_order":201,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"270A-1F3FB","non_qualified":null,"image":"270a-1f3fb.png","sheet_x":61,"sheet_y":43,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"270A-1F3FC","non_qualified":null,"image":"270a-1f3fc.png","sheet_x":61,"sheet_y":44,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"270A-1F3FD","non_qualified":null,"image":"270a-1f3fd.png","sheet_x":61,"sheet_y":45,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"270A-1F3FE","non_qualified":null,"image":"270a-1f3fe.png","sheet_x":61,"sheet_y":46,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"270A-1F3FF","non_qualified":null,"image":"270a-1f3ff.png","sheet_x":61,"sheet_y":47,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"RAISED HAND","unified":"270B","non_qualified":null,"docomo":"E695","au":"E5A7","softbank":"E012","google":"FEB95","image":"270b.png","sheet_x":61,"sheet_y":48,"short_name":"hand","short_names":["hand","raised_hand"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-open","sort_order":175,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"270B-1F3FB","non_qualified":null,"image":"270b-1f3fb.png","sheet_x":61,"sheet_y":49,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"270B-1F3FC","non_qualified":null,"image":"270b-1f3fc.png","sheet_x":61,"sheet_y":50,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"270B-1F3FD","non_qualified":null,"image":"270b-1f3fd.png","sheet_x":61,"sheet_y":51,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"270B-1F3FE","non_qualified":null,"image":"270b-1f3fe.png","sheet_x":61,"sheet_y":52,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"270B-1F3FF","non_qualified":null,"image":"270b-1f3ff.png","sheet_x":61,"sheet_y":53,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"VICTORY HAND","unified":"270C-FE0F","non_qualified":"270C","docomo":"E694","au":"E5A6","softbank":"E011","google":"FEB94","image":"270c-fe0f.png","sheet_x":61,"sheet_y":54,"short_name":"v","short_names":["v"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-fingers-partial","sort_order":186,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"270C-1F3FB","non_qualified":null,"image":"270c-1f3fb.png","sheet_x":61,"sheet_y":55,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"270C-1F3FC","non_qualified":null,"image":"270c-1f3fc.png","sheet_x":61,"sheet_y":56,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"270C-1F3FD","non_qualified":null,"image":"270c-1f3fd.png","sheet_x":61,"sheet_y":57,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"270C-1F3FE","non_qualified":null,"image":"270c-1f3fe.png","sheet_x":61,"sheet_y":58,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"270C-1F3FF","non_qualified":null,"image":"270c-1f3ff.png","sheet_x":61,"sheet_y":59,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"WRITING HAND","unified":"270D-FE0F","non_qualified":"270D","docomo":null,"au":null,"softbank":null,"google":null,"image":"270d-fe0f.png","sheet_x":61,"sheet_y":60,"short_name":"writing_hand","short_names":["writing_hand"],"text":null,"texts":null,"category":"People & Body","subcategory":"hand-prop","sort_order":212,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true,"skin_variations":{"1F3FB":{"unified":"270D-1F3FB","non_qualified":null,"image":"270d-1f3fb.png","sheet_x":61,"sheet_y":61,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FC":{"unified":"270D-1F3FC","non_qualified":null,"image":"270d-1f3fc.png","sheet_x":61,"sheet_y":62,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FD":{"unified":"270D-1F3FD","non_qualified":null,"image":"270d-1f3fd.png","sheet_x":62,"sheet_y":0,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FE":{"unified":"270D-1F3FE","non_qualified":null,"image":"270d-1f3fe.png","sheet_x":62,"sheet_y":1,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},"1F3FF":{"unified":"270D-1F3FF","non_qualified":null,"image":"270d-1f3ff.png","sheet_x":62,"sheet_y":2,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}}},{"name":"PENCIL","unified":"270F-FE0F","non_qualified":"270F","docomo":"E719","au":"E4A1","softbank":null,"google":"FE539","image":"270f-fe0f.png","sheet_x":62,"sheet_y":3,"short_name":"pencil2","short_names":["pencil2"],"text":null,"texts":null,"category":"Objects","subcategory":"writing","sort_order":1315,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK NIB","unified":"2712-FE0F","non_qualified":"2712","docomo":"E6AE","au":"EB03","softbank":null,"google":"FE536","image":"2712-fe0f.png","sheet_x":62,"sheet_y":4,"short_name":"black_nib","short_names":["black_nib"],"text":null,"texts":null,"category":"Objects","subcategory":"writing","sort_order":1316,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HEAVY CHECK MARK","unified":"2714-FE0F","non_qualified":"2714","docomo":null,"au":"E557","softbank":null,"google":"FEB49","image":"2714-fe0f.png","sheet_x":62,"sheet_y":5,"short_name":"heavy_check_mark","short_names":["heavy_check_mark"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1551,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HEAVY MULTIPLICATION X","unified":"2716-FE0F","non_qualified":"2716","docomo":null,"au":"E54F","softbank":null,"google":"FEB53","image":"2716-fe0f.png","sheet_x":62,"sheet_y":6,"short_name":"heavy_multiplication_x","short_names":["heavy_multiplication_x"],"text":null,"texts":null,"category":"Symbols","subcategory":"math","sort_order":1527,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LATIN CROSS","unified":"271D-FE0F","non_qualified":"271D","docomo":null,"au":null,"softbank":null,"google":null,"image":"271d-fe0f.png","sheet_x":62,"sheet_y":7,"short_name":"latin_cross","short_names":["latin_cross"],"text":null,"texts":null,"category":"Symbols","subcategory":"religion","sort_order":1479,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"STAR OF DAVID","unified":"2721-FE0F","non_qualified":"2721","docomo":null,"au":null,"softbank":null,"google":null,"image":"2721-fe0f.png","sheet_x":62,"sheet_y":8,"short_name":"star_of_david","short_names":["star_of_david"],"text":null,"texts":null,"category":"Symbols","subcategory":"religion","sort_order":1476,"added_in":"0.7","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPARKLES","unified":"2728","non_qualified":null,"docomo":"E6FA","au":"EAAB","softbank":"E32E","google":"FEB60","image":"2728.png","sheet_x":62,"sheet_y":9,"short_name":"sparkles","short_names":["sparkles"],"text":null,"texts":null,"category":"Activities","subcategory":"event","sort_order":1080,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EIGHT SPOKED ASTERISK","unified":"2733-FE0F","non_qualified":"2733","docomo":"E6F8","au":"E53E","softbank":"E206","google":"FEB62","image":"2733-fe0f.png","sheet_x":62,"sheet_y":10,"short_name":"eight_spoked_asterisk","short_names":["eight_spoked_asterisk"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1557,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"EIGHT POINTED BLACK STAR","unified":"2734-FE0F","non_qualified":"2734","docomo":"E6F8","au":"E479","softbank":"E205","google":"FEB61","image":"2734-fe0f.png","sheet_x":62,"sheet_y":11,"short_name":"eight_pointed_black_star","short_names":["eight_pointed_black_star"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1558,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SNOWFLAKE","unified":"2744-FE0F","non_qualified":"2744","docomo":null,"au":"E48A","softbank":null,"google":"FE00E","image":"2744-fe0f.png","sheet_x":62,"sheet_y":12,"short_name":"snowflake","short_names":["snowflake"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1068,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"SPARKLE","unified":"2747-FE0F","non_qualified":"2747","docomo":"E6FA","au":"E46C","softbank":null,"google":"FEB77","image":"2747-fe0f.png","sheet_x":62,"sheet_y":13,"short_name":"sparkle","short_names":["sparkle"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1559,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CROSS MARK","unified":"274C","non_qualified":null,"docomo":null,"au":"E550","softbank":"E333","google":"FEB45","image":"274c.png","sheet_x":62,"sheet_y":14,"short_name":"x","short_names":["x"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1552,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"NEGATIVE SQUARED CROSS MARK","unified":"274E","non_qualified":null,"docomo":null,"au":"E551","softbank":null,"google":"FEB46","image":"274e.png","sheet_x":62,"sheet_y":15,"short_name":"negative_squared_cross_mark","short_names":["negative_squared_cross_mark"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1553,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK QUESTION MARK ORNAMENT","unified":"2753","non_qualified":null,"docomo":null,"au":"E483","softbank":"E020","google":"FEB09","image":"2753.png","sheet_x":62,"sheet_y":16,"short_name":"question","short_names":["question"],"text":null,"texts":null,"category":"Symbols","subcategory":"punctuation","sort_order":1535,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WHITE QUESTION MARK ORNAMENT","unified":"2754","non_qualified":null,"docomo":null,"au":"E483","softbank":"E336","google":"FEB0A","image":"2754.png","sheet_x":62,"sheet_y":17,"short_name":"grey_question","short_names":["grey_question"],"text":null,"texts":null,"category":"Symbols","subcategory":"punctuation","sort_order":1536,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WHITE EXCLAMATION MARK ORNAMENT","unified":"2755","non_qualified":null,"docomo":"E702","au":"E482","softbank":"E337","google":"FEB0B","image":"2755.png","sheet_x":62,"sheet_y":18,"short_name":"grey_exclamation","short_names":["grey_exclamation"],"text":null,"texts":null,"category":"Symbols","subcategory":"punctuation","sort_order":1537,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HEAVY EXCLAMATION MARK SYMBOL","unified":"2757","non_qualified":null,"docomo":"E702","au":"E482","softbank":"E021","google":"FEB04","image":"2757.png","sheet_x":62,"sheet_y":19,"short_name":"exclamation","short_names":["exclamation","heavy_exclamation_mark"],"text":null,"texts":null,"category":"Symbols","subcategory":"punctuation","sort_order":1538,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HEART EXCLAMATION","unified":"2763-FE0F","non_qualified":"2763","docomo":null,"au":null,"softbank":null,"google":null,"image":"2763-fe0f.png","sheet_x":62,"sheet_y":20,"short_name":"heavy_heart_exclamation_mark_ornament","short_names":["heavy_heart_exclamation_mark_ornament"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":141,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HEART ON FIRE","unified":"2764-FE0F-200D-1F525","non_qualified":"2764-200D-1F525","docomo":null,"au":null,"softbank":null,"google":null,"image":"2764-fe0f-200d-1f525.png","sheet_x":62,"sheet_y":21,"short_name":"heart_on_fire","short_names":["heart_on_fire"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":143,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"MENDING HEART","unified":"2764-FE0F-200D-1FA79","non_qualified":"2764-200D-1FA79","docomo":null,"au":null,"softbank":null,"google":null,"image":"2764-fe0f-200d-1fa79.png","sheet_x":62,"sheet_y":22,"short_name":"mending_heart","short_names":["mending_heart"],"text":null,"texts":null,"category":"Smileys & Emotion","subcategory":"heart","sort_order":144,"added_in":"13.1","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HEAVY BLACK HEART","unified":"2764-FE0F","non_qualified":"2764","docomo":"E6EC","au":"E595","softbank":"E022","google":"FEB0C","image":"2764-fe0f.png","sheet_x":62,"sheet_y":23,"short_name":"heart","short_names":["heart"],"text":"<3","texts":["<3"],"category":"Smileys & Emotion","subcategory":"heart","sort_order":145,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HEAVY PLUS SIGN","unified":"2795","non_qualified":null,"docomo":null,"au":"E53C","softbank":null,"google":"FEB51","image":"2795.png","sheet_x":62,"sheet_y":24,"short_name":"heavy_plus_sign","short_names":["heavy_plus_sign"],"text":null,"texts":null,"category":"Symbols","subcategory":"math","sort_order":1528,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HEAVY MINUS SIGN","unified":"2796","non_qualified":null,"docomo":null,"au":"E53D","softbank":null,"google":"FEB52","image":"2796.png","sheet_x":62,"sheet_y":25,"short_name":"heavy_minus_sign","short_names":["heavy_minus_sign"],"text":null,"texts":null,"category":"Symbols","subcategory":"math","sort_order":1529,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HEAVY DIVISION SIGN","unified":"2797","non_qualified":null,"docomo":null,"au":"E554","softbank":null,"google":"FEB54","image":"2797.png","sheet_x":62,"sheet_y":26,"short_name":"heavy_division_sign","short_names":["heavy_division_sign"],"text":null,"texts":null,"category":"Symbols","subcategory":"math","sort_order":1530,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK RIGHTWARDS ARROW","unified":"27A1-FE0F","non_qualified":"27A1","docomo":null,"au":"E552","softbank":"E234","google":"FEAFA","image":"27a1-fe0f.png","sheet_x":62,"sheet_y":27,"short_name":"arrow_right","short_names":["arrow_right"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1454,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CURLY LOOP","unified":"27B0","non_qualified":null,"docomo":"E70A","au":"EB31","softbank":null,"google":"FEB08","image":"27b0.png","sheet_x":62,"sheet_y":28,"short_name":"curly_loop","short_names":["curly_loop"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1554,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DOUBLE CURLY LOOP","unified":"27BF","non_qualified":null,"docomo":"E6DF","au":null,"softbank":"E211","google":"FE82B","image":"27bf.png","sheet_x":62,"sheet_y":29,"short_name":"loop","short_names":["loop"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1555,"added_in":"1.0","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS","unified":"2934-FE0F","non_qualified":"2934","docomo":"E6F5","au":"EB2D","softbank":null,"google":"FEAF4","image":"2934-fe0f.png","sheet_x":62,"sheet_y":30,"short_name":"arrow_heading_up","short_names":["arrow_heading_up"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1464,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS","unified":"2935-FE0F","non_qualified":"2935","docomo":"E700","au":"EB2E","softbank":null,"google":"FEAF5","image":"2935-fe0f.png","sheet_x":62,"sheet_y":31,"short_name":"arrow_heading_down","short_names":["arrow_heading_down"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1465,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"LEFTWARDS BLACK ARROW","unified":"2B05-FE0F","non_qualified":"2B05","docomo":null,"au":"E553","softbank":"E235","google":"FEAFB","image":"2b05-fe0f.png","sheet_x":62,"sheet_y":32,"short_name":"arrow_left","short_names":["arrow_left"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1458,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"UPWARDS BLACK ARROW","unified":"2B06-FE0F","non_qualified":"2B06","docomo":null,"au":"E53F","softbank":"E232","google":"FEAF8","image":"2b06-fe0f.png","sheet_x":62,"sheet_y":33,"short_name":"arrow_up","short_names":["arrow_up"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1452,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"DOWNWARDS BLACK ARROW","unified":"2B07-FE0F","non_qualified":"2B07","docomo":null,"au":"E540","softbank":"E233","google":"FEAF9","image":"2b07-fe0f.png","sheet_x":62,"sheet_y":34,"short_name":"arrow_down","short_names":["arrow_down"],"text":null,"texts":null,"category":"Symbols","subcategory":"arrow","sort_order":1456,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"BLACK LARGE SQUARE","unified":"2B1B","non_qualified":null,"docomo":null,"au":"E549","softbank":null,"google":"FEB6C","image":"2b1b.png","sheet_x":62,"sheet_y":35,"short_name":"black_large_square","short_names":["black_large_square"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1632,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WHITE LARGE SQUARE","unified":"2B1C","non_qualified":null,"docomo":null,"au":"E548","softbank":null,"google":"FEB6B","image":"2b1c.png","sheet_x":62,"sheet_y":36,"short_name":"white_large_square","short_names":["white_large_square"],"text":null,"texts":null,"category":"Symbols","subcategory":"geometric","sort_order":1633,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WHITE MEDIUM STAR","unified":"2B50","non_qualified":null,"docomo":null,"au":"E48B","softbank":"E32F","google":"FEB68","image":"2b50.png","sheet_x":62,"sheet_y":37,"short_name":"star","short_names":["star"],"text":null,"texts":null,"category":"Travel & Places","subcategory":"sky & weather","sort_order":1045,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"HEAVY LARGE CIRCLE","unified":"2B55","non_qualified":null,"docomo":"E6A0","au":"EAAD","softbank":"E332","google":"FEB44","image":"2b55.png","sheet_x":62,"sheet_y":38,"short_name":"o","short_names":["o"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1548,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"WAVY DASH","unified":"3030-FE0F","non_qualified":"3030","docomo":"E709","au":null,"softbank":null,"google":"FEB07","image":"3030-fe0f.png","sheet_x":62,"sheet_y":39,"short_name":"wavy_dash","short_names":["wavy_dash"],"text":null,"texts":null,"category":"Symbols","subcategory":"punctuation","sort_order":1539,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"PART ALTERNATION MARK","unified":"303D-FE0F","non_qualified":"303D","docomo":null,"au":null,"softbank":"E12C","google":"FE81B","image":"303d-fe0f.png","sheet_x":62,"sheet_y":40,"short_name":"part_alternation_mark","short_names":["part_alternation_mark"],"text":null,"texts":null,"category":"Symbols","subcategory":"other-symbol","sort_order":1556,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CIRCLED IDEOGRAPH CONGRATULATION","unified":"3297-FE0F","non_qualified":"3297","docomo":null,"au":"EA99","softbank":"E30D","google":"FEB43","image":"3297-fe0f.png","sheet_x":62,"sheet_y":41,"short_name":"congratulations","short_names":["congratulations"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1612,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true},{"name":"CIRCLED IDEOGRAPH SECRET","unified":"3299-FE0F","non_qualified":"3299","docomo":"E734","au":"E4F1","softbank":"E315","google":"FEB2B","image":"3299-fe0f.png","sheet_x":62,"sheet_y":42,"short_name":"secret","short_names":["secret"],"text":null,"texts":null,"category":"Symbols","subcategory":"alphanum","sort_order":1613,"added_in":"0.6","has_img_apple":true,"has_img_google":true,"has_img_twitter":true,"has_img_facebook":true}] \ No newline at end of file diff --git a/scripts/generate-emoji-data.mjs b/scripts/generate-emoji-data.mjs new file mode 100644 index 0000000000..85fd8d4842 --- /dev/null +++ b/scripts/generate-emoji-data.mjs @@ -0,0 +1,307 @@ +// Copyright 2026 Signal Messenger, LLC +// SPDX-License-Identifier: AGPL-3.0-only +// @ts-check + +// Keep this data in sync with: +// https://raw.githubusercontent.com/greyson-signal/emoji-data/457ad4f7a09699ec940b149c8f4e76382bb0aadf/emoji.json +import SRC_EMOJIS from './emoji-datasource/emoji-datasource.json' with { type: 'json' }; +import getEmojiRegex from 'emoji-regex-xs'; +import { join } from 'node:path'; +import { writeFile } from 'node:fs/promises'; +import { gzip } from 'node:zlib'; +import { promisify } from 'node:util'; +import { assert } from './utils/assert.mjs'; + +const PRETTY = process.argv.includes('--pretty'); + +const gzipAsync = promisify(gzip); +const EMOJI_REGEX = getEmojiRegex(); + +const ROOT_DIR = join(import.meta.dirname, '..'); +const EMOJI_DATA_PATH = join(ROOT_DIR, 'build', 'emoji-data.json'); + +/** + * @typedef {string & { Emoji: never }} Emoji + * + * @typedef {( + * | 'SMILIES_AND_PEOPLE' + * | 'ANIMALS_AND_NATURE' + * | 'FOOD_AND_DRINK' + * | 'TRAVEL_AND_PLACES' + * | 'ACTIVITIES' + * | 'OBJECTS' + * | 'SYMBOLS' + * | 'FLAGS' + * )} Category + * + * @typedef {( + * | '1F3FB' + * | '1F3FC' + * | '1F3FD' + * | '1F3FE' + * | '1F3FF' + * )} SkinTone + * + * @typedef {Record} SkinTones + * + * @typedef {{ + * shortName: string; + * shortNameAlts?: Array; + * emoticon?: string; + * emoticonAlts?: Array; + * skinTones?: SkinTones; + * }} EmojiInfo + * + * @typedef {Record>} Categories + * @typedef {Record} Emojis + * @typedef {Record} Parents + * + * @typedef {{ categories: Categories, emojis: Emojis, parents: Parents }} EmojiData + */ + +/** @satisfies {Record} */ +const CATEGORY_NAME_MAP = { + 'Smileys & Emotion': 'SMILIES_AND_PEOPLE', // merged + 'People & Body': 'SMILIES_AND_PEOPLE', // merged + Component: null, // dropped + 'Animals & Nature': 'ANIMALS_AND_NATURE', + 'Food & Drink': 'FOOD_AND_DRINK', + 'Travel & Places': 'TRAVEL_AND_PLACES', + Activities: 'ACTIVITIES', + Objects: 'OBJECTS', + Symbols: 'SYMBOLS', + Flags: 'FLAGS', +}; + +/** @type {{ [K in SkinTone]: K }} */ +const SKIN_TONES = { + '1F3FB': '1F3FB', + '1F3FC': '1F3FC', + '1F3FD': '1F3FD', + '1F3FE': '1F3FE', + '1F3FF': '1F3FF', +}; + +const KNOWN_MISSING_APPLE_IMG = new Set([ + 'FEMALE SIGN', + 'MALE SIGN', + 'MEDICAL SYMBOL', +]); + +const DEPRECATED_EMOJI = new Set([ + /** + * 2022 - Family Emoji Redesign: Gender Inclusive Variants + * https://www.unicode.org/L2/L2023/23029-family-emoji.pdf + * https://www.unicode.org/L2/L2022/22276-family-emoji-guidelines.pdf + */ + 'FAMILY: MAN, BOY, BOY', + 'FAMILY: MAN, BOY', + 'FAMILY: MAN, GIRL, BOY', + 'FAMILY: MAN, GIRL, GIRL', + 'FAMILY: MAN, GIRL', + 'FAMILY: MAN, MAN, BOY', + 'FAMILY: MAN, MAN, BOY, BOY', + 'FAMILY: MAN, MAN, GIRL', + 'FAMILY: MAN, MAN, GIRL, BOY', + 'FAMILY: MAN, MAN, GIRL, GIRL', + 'FAMILY: MAN, WOMAN, BOY', + 'FAMILY: MAN, WOMAN, BOY, BOY', + 'FAMILY: MAN, WOMAN, GIRL', + 'FAMILY: MAN, WOMAN, GIRL, BOY', + 'FAMILY: MAN, WOMAN, GIRL, GIRL', + 'FAMILY: WOMAN, BOY, BOY', + 'FAMILY: WOMAN, BOY', + 'FAMILY: WOMAN, GIRL, BOY', + 'FAMILY: WOMAN, GIRL, GIRL', + 'FAMILY: WOMAN, GIRL', + 'FAMILY: WOMAN, WOMAN, BOY', + 'FAMILY: WOMAN, WOMAN, BOY, BOY', + 'FAMILY: WOMAN, WOMAN, GIRL', + 'FAMILY: WOMAN, WOMAN, GIRL, BOY', + 'FAMILY: WOMAN, WOMAN, GIRL, GIRL', +]); + +/** + * @param {string} input + * @returns {input is Emoji} + */ +function isEmoji(input) { + const match = input.match(EMOJI_REGEX); + return match != null && match[0] === input; +} + +/** + * @param {string} input + * @returns {input is keyof typeof CATEGORY_NAME_MAP} + */ +function isCategoryName(input) { + return Object.hasOwn(CATEGORY_NAME_MAP, input); +} + +/** + * @param {Emoji} emoji + * @returns {boolean} + */ +function isDeprecated(emoji) { + return DEPRECATED_EMOJI.has(emoji); +} + +/** + * @param {string} unified + * @returns {string} + */ +function encodeUnified(unified) { + return unified + .split('-') + .map(char => String.fromCodePoint(Number.parseInt(char, 16))) + .join(''); +} + +/** + * @param {Partial} skinTones + * @returns {skinTones is SkinTones} + */ +function hasAllSkinTones(skinTones) { + return Object.values(SKIN_TONES).every(skinTone => { + return Object.hasOwn(skinTones, skinTone) && skinTones[skinTone] != null; + }); +} + +const SRC_EMOJIS_SORTED = SRC_EMOJIS.toSorted((a, b) => { + return a.sort_order - b.sort_order; +}); + +/** @type {Categories} */ +const categories = { + SMILIES_AND_PEOPLE: [], + ANIMALS_AND_NATURE: [], + FOOD_AND_DRINK: [], + TRAVEL_AND_PLACES: [], + ACTIVITIES: [], + OBJECTS: [], + SYMBOLS: [], + FLAGS: [], +}; +/** @type {Emojis} */ +const emojis = {}; +/** @type {Parents} */ +const parents = {}; + +for (const emojiSrc of SRC_EMOJIS_SORTED) { + const emojiName = emojiSrc.name; + + const categoryName = emojiSrc.category; + assert(isCategoryName(categoryName), `Unexpected category: ${categoryName}`); + + const category = CATEGORY_NAME_MAP[categoryName]; + if (category == null) { + continue; // drop components + } + + assert( + emojiSrc.has_img_apple === !KNOWN_MISSING_APPLE_IMG.has(emojiName), + 'Unexpected mismatch between has_img_apple and KNOWN_MISSING_APPLE_IMG' + ); + if (!emojiSrc.has_img_apple) { + continue; + } + + const emoji = encodeUnified(emojiSrc.unified); + assert(isEmoji(emoji), 'Unexpected invalid emoji'); + + if (isDeprecated(emoji)) { + continue; // drop deprecated emoji + } + + /** @type {EmojiInfo} */ + const info = { + shortName: emojiSrc.short_name, + }; + + const shortNameAlts = new Set(emojiSrc.short_names); + shortNameAlts.delete(emojiSrc.short_name); + if (shortNameAlts.size !== 0) { + info.shortNameAlts = Array.from(shortNameAlts); + } + + if (emojiSrc.text != null) { + info.emoticon = emojiSrc.text; + } + + const emoticonAlts = new Set(emojiSrc.texts); + if (emojiSrc.text != null) { + emoticonAlts.delete(emojiSrc.text); + } + if (emoticonAlts.size !== 0) { + info.emoticonAlts = Array.from(emoticonAlts); + } + + if (emojiSrc.skin_variations != null) { + /** @type {Partial>} */ + const skinTones = {}; + + for (const skinTone of Object.values(SKIN_TONES)) { + const match = + emojiSrc.skin_variations[skinTone] ?? + emojiSrc.skin_variations[`${skinTone}-${skinTone}`]; + + if (match == null) { + continue; + } + + const variant = encodeUnified(match.unified); + + assert(match.has_img_apple, 'Unexpected missing apple image'); + assert(isEmoji(variant), 'Unexpected invalid variant'); + assert(!isDeprecated(variant), 'Unexpected deprecated variant'); + + skinTones[skinTone] = variant; + } + + assert(hasAllSkinTones(skinTones), 'Expected to have all skin tones'); + info.skinTones = skinTones; + + for (const skinTone of Object.values(SKIN_TONES)) { + const variant = info.skinTones[skinTone]; + parents[variant] = emoji; + } + } + + categories[category] ??= []; + categories[category].push(emoji); + + emojis[emoji] = info; +} + +/** @type {EmojiData} */ +const emojiData = { + categories, + emojis, + parents, +}; + +const bytesFormat = new Intl.NumberFormat('en', { + style: 'unit', + unit: 'byte', + unitDisplay: 'narrow', +}); + +/** + * @param {string} name + * @param {unknown} json + */ +async function logGzipSize(name, json) { + const src = `${JSON.stringify(json)}\n`; + const srcBytes = bytesFormat.format(Buffer.byteLength(src, 'utf8')); + const gzipped = await gzipAsync(`${JSON.stringify(json)}\n`); + const gzipBytes = bytesFormat.format(gzipped.length); + console.log(`${name}: ${srcBytes} (${gzipBytes} gzip)`); +} + +await logGzipSize('before', SRC_EMOJIS); +await logGzipSize('after', emojiData); + +const json = PRETTY + ? JSON.stringify(emojiData, null, 2) + : JSON.stringify(emojiData); +await writeFile(EMOJI_DATA_PATH, `${json}\n`); diff --git a/ts/axo/emoji.std.ts b/ts/axo/emoji.std.ts new file mode 100644 index 0000000000..978177f428 --- /dev/null +++ b/ts/axo/emoji.std.ts @@ -0,0 +1,813 @@ +// Copyright 2026 Signal Messenger, LLC +// SPDX-License-Identifier: AGPL-3.0-only +import getEmojiRegex from 'emoji-regex-xs'; +import Fuse from 'fuse.js'; +import type { FuseOptionKey, IFuseOptions } from 'fuse.js'; +import LOOSE_EMOJI_DATA from '../../build/emoji-data.json' with { type: 'json' }; +import { assert } from './_internal/assert.std.tsx'; + +function lazy(fn: () => T): () => T { + let cached: T; + return () => { + cached ??= fn(); + return cached; + }; +} + +/** + * Data + * ---------------------------------------------------------------------------- + */ + +type ParentInfo = Readonly<{ + shortName: Emoji.ShortName; + shortNameAlts?: ReadonlyArray; + emoticon?: string; + emoticonAlts?: ReadonlyArray; + skinTones?: Readonly>; +}>; + +type EmojiData = Readonly<{ + categories: Record>; + emojis: Readonly>; + parents: Readonly>; +}>; + +const EMOJI_DATA: EmojiData = { + // TypeScript only complains about this one for some reason + categories: LOOSE_EMOJI_DATA.categories as EmojiData['categories'], + emojis: LOOSE_EMOJI_DATA.emojis, + parents: LOOSE_EMOJI_DATA.parents, +}; + +function getParentInfo(parent: Emoji.Parent): ParentInfo { + return assert(EMOJI_DATA.emojis[parent], `Missing "${parent}"`); +} + +/** @internal */ +function PARENT_AND_ONLY_VARIANT( + input: T +): T & Emoji.Parent & Emoji.Variant { + assert(Emoji.isEmoji(input)); + assert(Emoji.isParent(input)); + const info = getParentInfo(input); + assert(info.skinTones == null); + return input as T & Emoji.Parent & Emoji.Variant; +} + +/** @internal */ +function PARENT(input: string): Emoji.Parent { + assert(Emoji.isEmoji(input)); + assert(Emoji.isParent(input)); + const info = getParentInfo(input); + assert(info.skinTones != null); + return input; +} + +/** + * String Normalization + * ---------------------------------------------------------------------------- + */ + +const EMOJI_COMPLETION_REGEX = /(?; + emoticon: string | null; + emoticonAlts: ReadonlyArray; +}>; + +const ALL_PARENTS_WITH_DEFAULT_RANK = lazy(() => { + const parents = new Map(); + for (const category of Object.values(EMOJI_DATA.categories)) { + for (const parent of category) { + parents.set(parent, parents.size + 1); + } + } + return parents; +}); + +type EmojiSearchFuseKey = FuseOptionKey & { + name: keyof SearchIndexEntry; +}; + +const EmojiSearchFuseKeys: Array = [ + { name: 'completion', weight: 100 }, + { name: 'completionAlts', weight: 1 }, + { name: 'emoticon', weight: 50 }, + { name: 'emoticonAlts', weight: 1 }, +]; + +const EmojiSearchFuseFuzzyOptions: IFuseOptions = { + shouldSort: false, + threshold: 0.2, + minMatchCharLength: 1, + keys: EmojiSearchFuseKeys, + includeScore: true, + includeMatches: true, +}; + +const EmojiSearchFuseExactOptions: IFuseOptions = { + shouldSort: false, + threshold: 0, + minMatchCharLength: 1, + keys: EmojiSearchFuseKeys, + includeScore: true, + includeMatches: true, +}; + +/** @internal */ +type EmojiSearchFuses = Readonly<{ + size: number; + getExact: () => Fuse; + getFuzzy: () => Fuse; +}>; + +/** @internal */ +function createEmojiSearchFuses( + searchIndex: ReadonlyArray +): EmojiSearchFuses { + const size = searchIndex.length; + const INDEX = lazy(() => Fuse.createIndex(EmojiSearchFuseKeys, searchIndex)); + return { + size, + getExact: lazy( + () => new Fuse(searchIndex, EmojiSearchFuseExactOptions, INDEX()) + ), + getFuzzy: lazy( + () => new Fuse(searchIndex, EmojiSearchFuseFuzzyOptions, INDEX()) + ), + }; +} + +/** + * Localizer + * ---------------------------------------------------------------------------- + */ + +/** @internal */ +type EmojiLocalizer = Readonly<{ + getShortName: (parent: Emoji.Parent) => Emoji.ShortName; + matchCompletion: (completion: Emoji.CompletionQuery) => Emoji.Parent | null; + getSearchFuses: () => EmojiSearchFuses; +}>; + +/** @internal */ +const DEFAULT_ENGLISH_INDEXES = lazy(() => { + const completionToParent = new Map(); + const searchIndex: Array = []; + + for (const [parent, rank] of ALL_PARENTS_WITH_DEFAULT_RANK()) { + const info = getParentInfo(parent); + const shortName = info.shortName; + const shortNameAlts = info.shortNameAlts ?? []; + + const completion = _toEmojiCompletionQuery(shortName); + const completionAlts = shortNameAlts.map(shortNameAlt => { + return _toEmojiCompletionQuery(shortNameAlt); + }); + + completionToParent.set(completion, parent); + + searchIndex.push({ + parent, + rank, + completion, + completionAlts, + emoticon: info.emoticon ?? null, + emoticonAlts: info.emoticonAlts ?? [], + }); + } + + return { completionToParent, searchIndex }; +}); + +/** @internal */ +const DEFAULT_ENGLISH_LOCALIZER: EmojiLocalizer = { + getShortName(value) { + return getParentInfo(value).shortName; + }, + matchCompletion(completion) { + return DEFAULT_ENGLISH_INDEXES().completionToParent.get(completion) ?? null; + }, + getSearchFuses() { + return createEmojiSearchFuses(DEFAULT_ENGLISH_INDEXES().searchIndex); + }, +}; + +/** @internal */ +let CURRENT_EMOJI_LOCALIZER: EmojiLocalizer | null = null; + +/** @internal */ +function getLocalizer() { + return CURRENT_EMOJI_LOCALIZER ?? DEFAULT_ENGLISH_LOCALIZER; +} + +/** @testexport */ +export function _hasEmojiLocalizer(): boolean { + return CURRENT_EMOJI_LOCALIZER != null; +} + +/** @testexport */ +export function _resetEmojiLocalizer(): void { + CURRENT_EMOJI_LOCALIZER = null; +} + +/** + * API + * ---------------------------------------------------------------------------- + */ + +export type Emoji = string & { Emoji: never }; + +export namespace Emoji { + export type Parent = Emoji & { EmojiParent: never }; + export type Variant = Emoji & { EmojiVariant: never }; + export type SkinToneVariant = Variant & { EmojiSkinToneVariant: never }; + + export type ShortName = string & { EmojiShortName: never }; + export type CompletionLabel = string & { EmojiCompletionLabel: never }; + export type CompletionQuery = string & { EmojiCompletionQuery: never }; + + export enum SkinTone { + None = '', + Type1 = '1F3FB', + Type2 = '1F3FC', + Type3 = '1F3FD', + Type4 = '1F3FE', + Type5 = '1F3FF', + } + + export enum Category { + SMILIES_AND_PEOPLE = 'SMILIES_AND_PEOPLE', + ANIMALS_AND_NATURE = 'ANIMALS_AND_NATURE', + FOOD_AND_DRINK = 'FOOD_AND_DRINK', + TRAVEL_AND_PLACES = 'TRAVEL_AND_PLACES', + ACTIVITIES = 'ACTIVITIES', + OBJECTS = 'OBJECTS', + SYMBOLS = 'SYMBOLS', + FLAGS = 'FLAGS', + } + + export function getDebugLabel(input: string): string { + return Array.from(input.slice(0, 12), char => { + const num = char.codePointAt(0) ?? 0; + const hex = num.toString(16).toUpperCase().padStart(4, '0'); + return `U+${hex}`; + }).join(' '); + } + + export function getDisplayLabel(emoji: Emoji): ShortName { + return getLocalizer().getShortName(getParent(emoji)); + } + + export function getCompletionLabel(emoji: Emoji): CompletionLabel { + return _toEmojiCompletionLabel(getDisplayLabel(emoji)); + } + + export function isEmoji(input: string): input is Emoji { + return isParent(input) || isSkinToneVariant(input); + } + + export function isParent(emoji: string): emoji is Parent { + return Object.hasOwn(EMOJI_DATA.emojis, emoji); + } + + export function isSkinToneVariant(emoji: string): emoji is SkinToneVariant { + return Object.hasOwn(EMOJI_DATA.parents, emoji); + } + + export function matchShortName(shortName: string): Parent | null { + const query = _toEmojiCompletionQuery(shortName as ShortName); + return getLocalizer().matchCompletion(query); + } + + export function getCategoryParents( + category: Category + ): ReadonlyArray { + return EMOJI_DATA.categories[category]; + } + + export function getParent(emoji: Emoji): Parent { + if (isSkinToneVariant(emoji)) { + return assert(EMOJI_DATA.parents[emoji], `Missing parent for "${emoji}"`); + } + assert(isParent(emoji), `Expected "${emoji}" to be a parent`); + return emoji; + } + + export function hasSkinToneVariants(emoji: Parent): boolean { + return getParentInfo(emoji).skinTones != null; + } + + export function getDefaultVariant(parent: Parent): Variant { + return getVariant(parent, SkinTone.None); + } + + export function getVariant(parent: Parent, skinTone: SkinTone): Variant { + if (skinTone === SkinTone.None) { + return parent as Emoji as Variant; + } + const { skinTones } = getParentInfo(parent); + if (skinTones == null) { + return parent as Emoji as Variant; + } + return assert(skinTones[skinTone]); + } + + export function unsafeCastMaybeInvalidStringToVariant( + emoji: T extends Emoji ? never : T + ): Variant { + return emoji as string as Variant; + } + + export function ignorePreferredSkinTone(emoji: Emoji): Variant { + return emoji as Variant; + } + + export const BAR_CHART = PARENT_AND_ONLY_VARIANT('๐Ÿ“Š'); + export const BEE = PARENT_AND_ONLY_VARIANT('๐Ÿ'); + export const BELL = PARENT_AND_ONLY_VARIANT('๐Ÿ””'); + export const BIKE = PARENT_AND_ONLY_VARIANT('๐Ÿšฒ'); + export const BLACK_CIRCLE = PARENT_AND_ONLY_VARIANT('โšซ'); + export const BLUE_HEART = PARENT_AND_ONLY_VARIANT('๐Ÿ’™'); + export const BLUSH = PARENT_AND_ONLY_VARIANT('๐Ÿ˜Š'); + export const BULB = PARENT_AND_ONLY_VARIANT('๐Ÿ’ก'); + export const BUST_IN_SILHOUETTE = PARENT_AND_ONLY_VARIANT('๐Ÿ‘ค'); + export const CAKE = PARENT_AND_ONLY_VARIANT('๐Ÿฐ'); + export const CALENDAR = PARENT_AND_ONLY_VARIANT('๐Ÿ“†'); + export const CALL_ME_HAND = PARENT('๐Ÿค™'); + export const CAMERA = PARENT_AND_ONLY_VARIANT('๐Ÿ“ท'); + export const CAR = PARENT_AND_ONLY_VARIANT('๐Ÿš—'); + export const CAT = PARENT_AND_ONLY_VARIANT('๐Ÿฑ'); + export const CHECKMARK = PARENT_AND_ONLY_VARIANT('โœ…'); + export const CLINKING_GLASSES = PARENT_AND_ONLY_VARIANT('๐Ÿฅ‚'); + export const COFFEE = PARENT_AND_ONLY_VARIANT('โ˜•'); + export const CONFETTI_BALL = PARENT_AND_ONLY_VARIANT('๐ŸŽŠ'); + export const CONFUSED = PARENT_AND_ONLY_VARIANT('๐Ÿ˜•'); + export const COOL = PARENT_AND_ONLY_VARIANT('๐Ÿ†’'); + export const CREDIT_CARD = PARENT_AND_ONLY_VARIANT('๐Ÿ’ณ'); + export const CRY = PARENT_AND_ONLY_VARIANT('๐Ÿ˜ข'); + export const DOG = PARENT_AND_ONLY_VARIANT('๐Ÿถ'); + export const DOTTED_LINE_FACE = PARENT_AND_ONLY_VARIANT('๐Ÿซฅ'); + export const ELEPHANT = PARENT_AND_ONLY_VARIANT('๐Ÿ˜'); + export const EXPLODING_HEAD = PARENT_AND_ONLY_VARIANT('๐Ÿคฏ'); + export const FACE_WITH_SPIRAL_EYES = PARENT_AND_ONLY_VARIANT('๐Ÿ˜ตโ€๐Ÿ’ซ'); + export const FERRIS_WHEEL = PARENT_AND_ONLY_VARIANT('๐ŸŽก'); + export const FIRE = PARENT_AND_ONLY_VARIANT('๐Ÿ”ฅ'); + export const FIREWORK_SPARKLER = PARENT_AND_ONLY_VARIANT('๐ŸŽ‡'); + export const FOLDED_HANDS = PARENT('๐Ÿ™'); + export const FRIED_SHRIMP = PARENT_AND_ONLY_VARIANT('๐Ÿค'); + export const GHOST = PARENT_AND_ONLY_VARIANT('๐Ÿ‘ป'); + export const GREEN_CIRCLE = PARENT_AND_ONLY_VARIANT('๐ŸŸข'); + export const GRIMACING = PARENT_AND_ONLY_VARIANT('๐Ÿ˜ฌ'); + export const GRINNING = PARENT_AND_ONLY_VARIANT('๐Ÿ˜€'); + export const HAND = PARENT('โœ‹'); + export const HEART = PARENT_AND_ONLY_VARIANT('โค๏ธ'); + export const HEART_ON_FIRE = PARENT_AND_ONLY_VARIANT('โค๏ธโ€๐Ÿ”ฅ'); + export const HOUSE = PARENT_AND_ONLY_VARIANT('๐Ÿ '); + export const JOY = PARENT_AND_ONLY_VARIANT('๐Ÿ˜‚'); + export const KISSING_HEART = PARENT_AND_ONLY_VARIANT('๐Ÿ˜˜'); + export const LIPSTICK = PARENT_AND_ONLY_VARIANT('๐Ÿ’„'); + export const MICROPHONE = PARENT_AND_ONLY_VARIANT('๐ŸŽค'); + export const MOBILE_PHONE_OFF = PARENT_AND_ONLY_VARIANT('๐Ÿ“ด'); + export const MONKEY = PARENT_AND_ONLY_VARIANT('๐Ÿ’'); + export const MOVIE_CAMERA = PARENT_AND_ONLY_VARIANT('๐ŸŽฅ'); + export const MUSCLE = PARENT('๐Ÿ’ช'); + export const NAIL_CARE = PARENT('๐Ÿ’…'); + export const NEUTRAL_FACE = PARENT_AND_ONLY_VARIANT('๐Ÿ˜'); + export const NO_BELL = PARENT_AND_ONLY_VARIANT('๐Ÿ”•'); + export const OK_HAND = PARENT('๐Ÿ‘Œ'); + export const ONE = PARENT_AND_ONLY_VARIANT('1๏ธโƒฃ'); + export const ONE_HUNDRED = PARENT_AND_ONLY_VARIANT('๐Ÿ’ฏ'); + export const OPEN_MOUTH = PARENT_AND_ONLY_VARIANT('๐Ÿ˜ฎ'); + export const PAPERCLIP = PARENT_AND_ONLY_VARIANT('๐Ÿ“Ž'); + export const PARKING = PARENT_AND_ONLY_VARIANT('๐Ÿ…ฟ๏ธ'); + export const PLUS = PARENT_AND_ONLY_VARIANT('โž•'); + export const POULTRY_LEG = PARENT_AND_ONLY_VARIANT('๐Ÿ—'); + export const PUSHPIN = PARENT_AND_ONLY_VARIANT('๐Ÿ“Œ'); + export const RAGE = PARENT_AND_ONLY_VARIANT('๐Ÿ˜ก'); + export const REPEAT = PARENT_AND_ONLY_VARIANT('๐Ÿ”'); + export const ROCKET = PARENT_AND_ONLY_VARIANT('๐Ÿš€'); + export const ROSE = PARENT_AND_ONLY_VARIANT('๐ŸŒน'); + export const SHARK = PARENT_AND_ONLY_VARIANT('๐Ÿฆˆ'); + export const SHRUG = PARENT('๐Ÿคท'); + export const SHUSHING_FACE = PARENT_AND_ONLY_VARIANT('๐Ÿคซ'); + export const SKULL = PARENT_AND_ONLY_VARIANT('๐Ÿ’€'); + export const SLEEPING = PARENT_AND_ONLY_VARIANT('๐Ÿ˜ด'); + export const SLIGHTLY_FROWNING_FACE = PARENT_AND_ONLY_VARIANT('๐Ÿ™'); + export const SLIGHTLY_SMILING_FACE = PARENT_AND_ONLY_VARIANT('๐Ÿ™‚'); + export const SMILE = PARENT_AND_ONLY_VARIANT('๐Ÿ˜„'); + export const SMILE_CAT = PARENT_AND_ONLY_VARIANT('๐Ÿ˜ธ'); + export const SOB = PARENT_AND_ONLY_VARIANT('๐Ÿ˜ญ'); + export const SPARKLE = PARENT_AND_ONLY_VARIANT('โ‡๏ธ'); + export const SPARKLES = PARENT_AND_ONLY_VARIANT('โœจ'); + export const SPARKLING_HEART = PARENT_AND_ONLY_VARIANT('๐Ÿ’–'); + export const SPEAKER = PARENT_AND_ONLY_VARIANT('๐Ÿ”ˆ'); + export const SPEECH_BALLOON = PARENT_AND_ONLY_VARIANT('๐Ÿ’ฌ'); + export const STAR = PARENT_AND_ONLY_VARIANT('โญ'); + export const STUCK_OUT_TONGUE = PARENT_AND_ONLY_VARIANT('๐Ÿ˜›'); + export const SUNGLASSES = PARENT_AND_ONLY_VARIANT('๐Ÿ˜Ž'); + export const SUNNY = PARENT_AND_ONLY_VARIANT('โ˜€๏ธ'); + export const SWEAT_SMILE = PARENT_AND_ONLY_VARIANT('๐Ÿ˜…'); + export const TADA = PARENT_AND_ONLY_VARIANT('๐ŸŽ‰'); + export const THE_HORNS = PARENT('๐Ÿค˜'); + export const THREE = PARENT_AND_ONLY_VARIANT('3๏ธโƒฃ'); + export const THUMBS_DOWN = PARENT('๐Ÿ‘Ž'); + export const THUMBS_UP = PARENT('๐Ÿ‘'); + export const TOPHAT = PARENT_AND_ONLY_VARIANT('๐ŸŽฉ'); + export const TURTLE = PARENT_AND_ONLY_VARIANT('๐Ÿข'); + export const TWO = PARENT_AND_ONLY_VARIANT('2๏ธโƒฃ'); + export const WARNING = PARENT_AND_ONLY_VARIANT('โš ๏ธ'); + export const WAVE = PARENT('๐Ÿ‘‹'); + export const WEIGHT_LIFTER = PARENT('๐Ÿ‹๏ธ'); + export const WHITE_HEART = PARENT_AND_ONLY_VARIANT('๐Ÿค'); + export const WILTED_FLOWER = PARENT_AND_ONLY_VARIANT('๐Ÿฅ€'); + export const WINK = PARENT_AND_ONLY_VARIANT('๐Ÿ˜‰'); + export const ZIPPER_MOUTH_FACE = PARENT_AND_ONLY_VARIANT('๐Ÿค'); + export const ZZZ = PARENT_AND_ONLY_VARIANT('๐Ÿ’ค'); + + const DEFAULT_PREFERRED_REACTION_EMOJI: Array = [ + HEART, + THUMBS_UP, + THUMBS_DOWN, + JOY, + OPEN_MOUTH, + CRY, + ]; + + export function getDefaultPreferredReactionEmojis( + skinTone: SkinTone + ): ReadonlyArray { + return DEFAULT_PREFERRED_REACTION_EMOJI.map(emoji => { + return getVariant(emoji, skinTone); + }); + } + + export const CATEGORY_ORDER: ReadonlyArray = [ + Category.SMILIES_AND_PEOPLE, + Category.ANIMALS_AND_NATURE, + Category.FOOD_AND_DRINK, + Category.TRAVEL_AND_PLACES, + Category.ACTIVITIES, + Category.OBJECTS, + Category.SYMBOLS, + Category.FLAGS, + ]; + + export const SKIN_TONE_ORDER: ReadonlyArray = [ + SkinTone.None, + SkinTone.Type1, + SkinTone.Type2, + SkinTone.Type3, + SkinTone.Type4, + SkinTone.Type5, + ]; + + export function* iterateAllVariants(): Generator { + for (const category of Object.values(EMOJI_DATA.categories)) { + for (const parent of category) { + yield getDefaultVariant(parent); + const info = getParentInfo(parent); + if (info.skinTones != null) { + for (const skinTone of SKIN_TONE_ORDER) { + if (skinTone === SkinTone.None) { + continue; + } + yield info.skinTones[skinTone]; + } + } + } + } + } + + /** @internal */ + function isEmptyString(input: string): boolean { + return input === '' || input.trim() === ''; + } + + /** + * Emoji.replaceEmojiWithSpaces() + * ------------------------------ + */ + + const SPACES_CACHE: Record = {}; + const MAX_EMOJI_UTF16_LENGTH = 15; + + for (let i = 0; i < MAX_EMOJI_UTF16_LENGTH; i += 1) { + SPACES_CACHE[i] = ' '.repeat(i); + } + + export function replaceEmojiWithSpaces(input: string): string { + if (isEmptyString(input)) { + return input; // fast path + } + const emojiRegex = getEmojiRegex(); + return input.replaceAll(emojiRegex, match => { + const length = match.length; + return SPACES_CACHE[length] ?? ' '.repeat(length); + }); + } + + /** + * Emoji.stripEmojiFromText() + * -------------------------- + */ + + export function stripEmojiFromText(input: string): string { + if (isEmptyString(input)) { + return input; // fast path + } + const emojiRegex = getEmojiRegex(); + return input.replaceAll(emojiRegex, ''); + } + + /** + * Emoji.getMatches() + * ------------------ + */ + + export type Match = Readonly<{ + emoji: Variant; + offset: number; + }>; + + const MAX_EMOJI_TO_MATCH = 5000; + + export function* getMatches(input: string): Generator { + if (isEmptyString(input)) { + return; // fast path + } + + const emojiRegex = getEmojiRegex(); + let count = 0; + for (const match of input.matchAll(emojiRegex)) { + const emoji = match[0]; + if (isEmoji(emoji)) { + yield { + emoji: ignorePreferredSkinTone(emoji), + offset: match.index, + }; + } + count += 1; + if (count >= MAX_EMOJI_TO_MATCH) { + break; + } + } + } + + /** + * Emoji.getSegments() + * ------------------- + */ + + export type TextSegment = Readonly<{ + kind: 'text'; + value: string; + offset: number; + }>; + + export type EmojiSegment = Readonly<{ + kind: 'emoji'; + value: Variant; + offset: number; + }>; + + export type Segment = TextSegment | EmojiSegment; + + export function* getSegments(input: string): Generator { + if (isEmptyString(input)) { + yield { kind: 'text', value: input, offset: 0 }; // fast path + return; + } + + let cursor = 0; + + // oxlint-disable-next-line typescript/no-unnecessary-qualifier allow this call to be spied on + for (const match of Emoji.getMatches(input)) { + const { offset, emoji } = match; + + if (offset > cursor) { + const value = input.slice(cursor, offset); + yield { kind: 'text', value, offset: cursor }; + } + + yield { kind: 'emoji', value: emoji, offset }; + cursor = offset + emoji.length; + } + + if (cursor < input.length) { + yield { kind: 'text', value: input.slice(cursor), offset: cursor }; + } + } + + /** + * getEmojiOnlyCount() + * ------------------- + */ + + /** + * Count the number of emoji in some text, returns 0 if there is non-emoji + * text, or there is too many emoji + * @internal + */ + function getEmojiOnlyCount(input: string, limit: number): number { + if (isEmptyString(input)) { + return 0; // fast path + } + + let count = 0; + + // oxlint-disable-next-line typescript/no-unnecessary-qualifier allow this call to be spied on + for (const segment of Emoji.getSegments(input)) { + if (segment.kind === 'text') { + return 0; // found other text + } + if (segment.kind === 'emoji') { + count += 1; + } + if (count > limit) { + return 0; // too many + } + } + + return count; + } + + /** + * Emoji.isLoneEmoji() + * ------------------- + */ + + export function isLoneEmoji(input: string): boolean { + const count = getEmojiOnlyCount(input, 1); + return count === 1; + } + + /** + * Emoji.getJumboEmojiCount() + * -------------------------- + */ + + export type JumboEmojiCount = null | 1 | 2 | 3 | 4 | 5; + + export const MAX_JUMBO_EMOJI_COUNT = 5 satisfies JumboEmojiCount; + + export function getJumboEmojiCount(input: string): JumboEmojiCount { + const count = getEmojiOnlyCount(input, MAX_JUMBO_EMOJI_COUNT); + if (count === 0) { + return null; + } + assert(count <= MAX_JUMBO_EMOJI_COUNT); + return count as JumboEmojiCount; + } + + /** + * Localization + */ + + export type EmojiLocaleItem = Readonly<{ + emoji: string; + tags: ReadonlyArray; + rank: number; + }>; + + export type EmojiLocaleData = ReadonlyArray; + + export function setupLocale(localeData: EmojiLocaleData): void { + const LOCALE_INDEXES = lazy(() => { + const localeItemsByParent = new Map(); + for (const item of localeData) { + if (isParent(item.emoji)) { + localeItemsByParent.set(item.emoji, item); + } + } + + const parentToShortName = new Map(); + const completionToParent = new Map(); + + const searchIndex: Array = []; + + for (const [parent, defaultRank] of ALL_PARENTS_WITH_DEFAULT_RANK()) { + const info = getParentInfo(parent); + const item = localeItemsByParent.get(parent); + + let allShortNames = (item?.tags ?? []) as Array; + allShortNames.push(info.shortName); + if (info.shortNameAlts != null) { + allShortNames = allShortNames.concat(info.shortNameAlts); + } + + const shortName = assert(allShortNames.at(0)); + const shortNameAlts = allShortNames.slice(1); + + parentToShortName.set(parent, shortName); + + const completion = _toEmojiCompletionQuery(shortName); + const completionAlts = shortNameAlts.map(shortNameAlt => { + return _toEmojiCompletionQuery(shortNameAlt); + }); + + completionToParent.set(completion, parent); + + searchIndex.push({ + parent, + rank: item?.rank ?? defaultRank, + completion, + completionAlts, + emoticon: info.emoticon ?? null, + emoticonAlts: [], + }); + } + + return { parentToShortName, completionToParent, searchIndex }; + }); + + CURRENT_EMOJI_LOCALIZER = { + getShortName(parent) { + return ( + LOCALE_INDEXES().parentToShortName.get(parent) ?? + DEFAULT_ENGLISH_LOCALIZER.getShortName(parent) + ); + }, + matchCompletion(completion) { + return ( + LOCALE_INDEXES().completionToParent.get(completion) ?? + DEFAULT_ENGLISH_LOCALIZER.matchCompletion(completion) + ); + }, + getSearchFuses() { + return createEmojiSearchFuses(LOCALE_INDEXES().searchIndex); + }, + }; + } + + export function search(input: string, limit = 200): ReadonlyArray { + if (isEmptyString(input)) { + return []; // fast path + } + + const fuses = getLocalizer().getSearchFuses(); + + const query = _toEmojiCompletionQuery(input.trim() as ShortName); + const fuse = query.length < 2 ? fuses.getExact() : fuses.getFuzzy(); + const results = fuse.search(query.substring(0, 32)); + + const scores = results.map(result => { + const { item, matches } = result; + const { parent } = item; + + const match = matches?.[0]?.value ?? item.completion; + + let score: number; + if (match.startsWith(query)) { + // Exact prefix matches in [0,1] range + score = 1 - query.length / match.length; + } else { + const queryScore = result.score ?? 0; + const rankScore = item.rank / fuses.size; + // Other matches in [1,] range ordered by score and rank + score = 1 + queryScore + rankScore; + } + + return { parent, score }; + }); + + const sorted = scores.toSorted((a, b) => { + return a.score - b.score; + }); + + return sorted.slice(0, limit).map(result => { + return result.parent; + }); + } +} diff --git a/ts/background.preload.ts b/ts/background.preload.ts index 23baf64d97..35dcfa7820 100644 --- a/ts/background.preload.ts +++ b/ts/background.preload.ts @@ -70,7 +70,6 @@ import { updateIdentityKey } from './services/profiles.preload.ts'; import { initializeUpdateListener } from './services/updateListener.preload.ts'; import { RoutineProfileRefresher } from './routineProfileRefresh.preload.ts'; import { isOlderThan } from './util/timestamp.std.ts'; -import { isValidReactionEmoji } from './reactions/isValidReactionEmoji.std.ts'; import { safeParsePartial } from './util/schemas.std.ts'; import { PollVoteSchema, PollTerminateSchema } from './types/Polls.dom.ts'; import type { ConversationModel } from './models/conversations.preload.ts'; @@ -295,6 +294,7 @@ import { initMessageCleanup } from './services/messageStateCleanup.dom.ts'; import { MessageCache } from './services/MessageCache.preload.ts'; import { saveAndNotify } from './messages/saveAndNotify.preload.ts'; import { getBackupKeyHash } from './services/backups/crypto.preload.ts'; +import { Emoji } from './axo/emoji.std.ts'; const { isNumber, throttle } = lodash; @@ -2547,7 +2547,13 @@ async function startApp(): Promise { const { reaction, timestamp } = data.message; - if (!isValidReactionEmoji(reaction.emoji)) { + if (reaction.emoji == null) { + log.warn('Received a reaction without an emoji. Dropping it'); + confirm(); + return; + } + + if (!Emoji.isEmoji(reaction.emoji)) { log.warn('Received an invalid reaction emoji. Dropping it'); confirm(); return; @@ -3103,7 +3109,13 @@ async function startApp(): Promise { 'Reaction without targetAuthorAci' ); - if (!isValidReactionEmoji(reaction.emoji)) { + if (reaction.emoji == null) { + log.warn('Received a reaction without an emoji. Dropping it'); + confirm(); + return; + } + + if (!Emoji.isEmoji(reaction.emoji)) { log.warn('Received an invalid reaction emoji. Dropping it'); confirm(); return; diff --git a/ts/components/AnimatedEmojiGalore.dom.stories.tsx b/ts/components/AnimatedEmojiGalore.dom.stories.tsx index 47f81f52de..94054a4f15 100644 --- a/ts/components/AnimatedEmojiGalore.dom.stories.tsx +++ b/ts/components/AnimatedEmojiGalore.dom.stories.tsx @@ -8,6 +8,7 @@ import { action } from '@storybook/addon-actions'; import type { Meta } from '@storybook/react'; import type { PropsType } from './AnimatedEmojiGalore.dom.tsx'; import { AnimatedEmojiGalore } from './AnimatedEmojiGalore.dom.tsx'; +import { Emoji } from '../axo/emoji.std.ts'; export default { title: 'Components/AnimatedEmojiGalore', @@ -15,7 +16,7 @@ export default { function getDefaultProps(): PropsType { return { - emoji: 'โค๏ธ', + emoji: Emoji.HEART, onAnimationEnd: action('onAnimationEnd'), }; } diff --git a/ts/components/AnimatedEmojiGalore.dom.tsx b/ts/components/AnimatedEmojiGalore.dom.tsx index 12fa38e27d..dbfd5ad1d7 100644 --- a/ts/components/AnimatedEmojiGalore.dom.tsx +++ b/ts/components/AnimatedEmojiGalore.dom.tsx @@ -8,16 +8,12 @@ import lodash from 'lodash'; import { useReducedMotion } from '../hooks/useReducedMotion.dom.ts'; import { FunStaticEmoji } from './fun/FunEmoji.dom.tsx'; import { strictAssert } from '../util/assert.std.ts'; -import { - getEmojiVariantByKey, - getEmojiVariantKeyByValue, - isEmojiVariantValue, -} from './fun/data/emojis.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const { random } = lodash; export type PropsType = { - emoji: string; + emoji: Emoji.Variant; onAnimationEnd: () => unknown; rotate?: number; scale?: number; @@ -48,9 +44,7 @@ export function AnimatedEmojiGalore({ emoji, onAnimationEnd, }: PropsType): JSX.Element { - strictAssert(isEmojiVariantValue(emoji), 'Must be valid english short name'); - const emojiVariantKey = getEmojiVariantKeyByValue(emoji); - const emojiVariant = getEmojiVariantByKey(emojiVariantKey); + strictAssert(Emoji.isEmoji(emoji), 'Must be valid emoji variant value'); const reducedMotion = useReducedMotion(); const [springs] = useSprings(NUM_EMOJIS, i => ({ @@ -80,7 +74,7 @@ export function AnimatedEmojiGalore({ ), }} > - + ))} diff --git a/ts/components/CallReactionBurst.dom.tsx b/ts/components/CallReactionBurst.dom.tsx index 2d96ed13e5..ffa7730594 100644 --- a/ts/components/CallReactionBurst.dom.tsx +++ b/ts/components/CallReactionBurst.dom.tsx @@ -18,11 +18,12 @@ import { createPortal } from 'react-dom'; import { v4 as uuid } from 'uuid'; import { useIsMounted } from '../hooks/useIsMounted.std.ts'; import { CallReactionBurstEmoji } from './CallReactionBurstEmoji.dom.tsx'; +import type { Emoji } from '../axo/emoji.std.ts'; const LIFETIME = 3000; export type CallReactionBurstType = { - values: Array; + values: Array; }; type CallReactionBurstStateType = CallReactionBurstType & { diff --git a/ts/components/CallReactionBurstEmoji.dom.tsx b/ts/components/CallReactionBurstEmoji.dom.tsx index 612671931d..d8567ed384 100644 --- a/ts/components/CallReactionBurstEmoji.dom.tsx +++ b/ts/components/CallReactionBurstEmoji.dom.tsx @@ -14,11 +14,12 @@ import lodash from 'lodash'; import { v4 as uuid } from 'uuid'; import { Emojify } from './conversation/Emojify.dom.tsx'; import { useReducedMotion } from '../hooks/useReducedMotion.dom.ts'; +import type { Emoji } from '../axo/emoji.std.ts'; const { random } = lodash; export type PropsType = { - values: Array; + values: Array; onAnimationEnd?: () => unknown; }; @@ -109,7 +110,7 @@ export function CallReactionBurstEmoji({ values }: PropsType): JSX.Element { } type AnimatedEmojiProps = { - value: string; + value: Emoji; fromRotate: number; fromX: number; fromY: number; diff --git a/ts/components/CallScreen.dom.stories.tsx b/ts/components/CallScreen.dom.stories.tsx index fac4b75590..c248437724 100644 --- a/ts/components/CallScreen.dom.stories.tsx +++ b/ts/components/CallScreen.dom.stories.tsx @@ -24,7 +24,6 @@ import type { ConversationType } from '../state/ducks/conversations.preload.ts'; import { AvatarColors } from '../types/Colors.std.ts'; import type { PropsType } from './CallScreen.dom.tsx'; import { CallScreen as UnwrappedCallScreen } from './CallScreen.dom.tsx'; -import { DEFAULT_PREFERRED_REACTION_EMOJI } from '../reactions/constants.std.ts'; import { missingCaseError } from '../util/missingCaseError.std.ts'; import { getAvatarPath, @@ -38,6 +37,7 @@ import { MINUTE } from '../util/durations/index.std.ts'; import { strictAssert } from '../util/assert.std.ts'; import { generateAci } from '../test-helpers/serviceIdUtils.std.ts'; import { renderCallingParticipantMenu } from './CallingParticipantMenu.dom.stories.tsx'; +import { Emoji } from '../axo/emoji.std.ts'; const { sample, shuffle, times } = lodash; @@ -834,7 +834,18 @@ export function GroupCallReactionsSkinTones(): JSX.Element { const activeCall = useReactionsEmitter({ activeCall: props.activeCall as ActiveGroupCallType, frequency: 500, - emojis: ['๐Ÿ‘', '๐Ÿ‘๐Ÿป', '๐Ÿ‘๐Ÿผ', '๐Ÿ‘๐Ÿฝ', '๐Ÿ‘๐Ÿพ', '๐Ÿ‘๐Ÿฟ', 'โค๏ธ', '๐Ÿ˜‚', '๐Ÿ˜ฎ', '๐Ÿ˜ข'], + emojis: [ + Emoji.getVariant(Emoji.THUMBS_UP, Emoji.SkinTone.None), + Emoji.getVariant(Emoji.THUMBS_UP, Emoji.SkinTone.Type1), + Emoji.getVariant(Emoji.THUMBS_UP, Emoji.SkinTone.Type2), + Emoji.getVariant(Emoji.THUMBS_UP, Emoji.SkinTone.Type3), + Emoji.getVariant(Emoji.THUMBS_UP, Emoji.SkinTone.Type4), + Emoji.getVariant(Emoji.THUMBS_UP, Emoji.SkinTone.Type5), + Emoji.HEART, + Emoji.JOY, + Emoji.OPEN_MOUTH, + Emoji.CRY, + ], }); return ; @@ -845,10 +856,10 @@ export function GroupCallReactionsManyInOrder(): JSX.Element { const remoteParticipants = allRemoteParticipants.slice(0, 5); const reactions = remoteParticipants.map((participant, i) => { const { demuxId } = participant; - const value = - DEFAULT_PREFERRED_REACTION_EMOJI[ - i % DEFAULT_PREFERRED_REACTION_EMOJI.length - ]; + const defaults = Emoji.getDefaultPreferredReactionEmojis( + Emoji.SkinTone.None + ); + const value = defaults[i % defaults.length]; strictAssert(value, 'Missing value'); return { timestamp, demuxId, value }; }); @@ -868,12 +879,12 @@ function useReactionsEmitter({ activeCall, frequency = 2000, removeAfter = 5000, - emojis = DEFAULT_PREFERRED_REACTION_EMOJI, + emojis = Emoji.getDefaultPreferredReactionEmojis(Emoji.SkinTone.None), }: { activeCall: ActiveGroupCallType; frequency?: number; removeAfter?: number; - emojis?: Array; + emojis?: ReadonlyArray; }) { const [call, setCall] = useState(activeCall); useEffect(() => { diff --git a/ts/components/CallScreen.dom.tsx b/ts/components/CallScreen.dom.tsx index 851133467a..3c475c7675 100644 --- a/ts/components/CallScreen.dom.tsx +++ b/ts/components/CallScreen.dom.tsx @@ -103,15 +103,6 @@ import { assertDev } from '../util/assert.std.ts'; import { CallingPendingParticipants } from './CallingPendingParticipants.dom.tsx'; import type { CallingImageDataCache } from './CallManager.dom.tsx'; import { FunStaticEmoji } from './fun/FunEmoji.dom.tsx'; -import { - getEmojiDebugLabel, - getEmojiParentByKey, - getEmojiParentKeyByVariantKey, - getEmojiVariantByKey, - getEmojiVariantKeyByValue, - isEmojiVariantValue, -} from './fun/data/emojis.std.ts'; -import { useFunEmojiLocalizer } from './fun/useFunEmojiLocalizer.dom.tsx'; import { BeforeNavigateResponse, beforeNavigateService, @@ -124,6 +115,7 @@ import { PIP_MINIMUM_LOCAL_VIDEO_HEIGHT_MULTIPLIER, } from './CallingPip.dom.tsx'; import type { PropsType as SmartCallingParticipantMenuProps } from '../state/smart/CallingParticipantMenu.preload.tsx'; +import { Emoji } from '../axo/emoji.std.ts'; const { isEqual, noop } = lodash; @@ -1398,17 +1390,16 @@ function useReactionsToast(props: UseReactionsToastType): void { Map< string, { - value: string; - originalValue: string; + value: Emoji; + originalValue: Emoji; isBursted: boolean; expireAt: number; demuxId: number; } > >(new Map()); - const burstsShown = useRef>(new Map()); + const burstsShown = useRef>(new Map()); const { showToast } = useCallingToasts(); - const emojiLocalizer = useFunEmojiLocalizer(); useEffect(() => { setPreviousReactions(reactions); @@ -1429,16 +1420,13 @@ function useReactionsToast(props: UseReactionsToastType): void { const key = `reactions-${timestamp}-${demuxId}`; - if (!isEmojiVariantValue(value)) { + if (!Emoji.isEmoji(value)) { log.error( - `Expected a valid emoji value, got ${getEmojiDebugLabel(value)}` + `Expected a valid emoji value, got ${Emoji.getDebugLabel(value)}` ); return; } - const emojiVariantKey = getEmojiVariantKeyByValue(value); - const emojiVariant = getEmojiVariantByKey(emojiVariantKey); - showToast({ key, onlyShowOnce: true, @@ -1447,9 +1435,9 @@ function useReactionsToast(props: UseReactionsToastType): void { {demuxId === localDemuxId || (ourServiceId && conversation?.serviceId === ourServiceId) @@ -1472,11 +1460,9 @@ function useReactionsToast(props: UseReactionsToastType): void { ); // Normalize skin tone emoji to calculate burst threshold, but save original // value to show in the burst animation - const emojiParentKey = getEmojiParentKeyByVariantKey(emojiVariantKey); - const emojiParent = getEmojiParentByKey(emojiParentKey); - const normalizedValue = emojiParent.value; + const emojiParent = Emoji.getParent(value); reactionsShown.current.set(key, { - value: normalizedValue, + value: emojiParent, originalValue: value, isBursted, expireAt: timestamp + REACTIONS_BURST_WINDOW, @@ -1489,9 +1475,9 @@ function useReactionsToast(props: UseReactionsToastType): void { return; } - const unburstedEmojis = new Map>(); + const unburstedEmojis = new Map>(); const unburstedEmojisReactorIds = new Map< - string, + Emoji, Set >(); reactionsShown.current.forEach( @@ -1505,6 +1491,10 @@ function useReactionsToast(props: UseReactionsToastType): void { return; } + if (!Emoji.isEmoji(value)) { + return; + } + const reactionKeys = unburstedEmojis.get(value) ?? new Set(); reactionKeys.add(key); unburstedEmojis.set(value, reactionKeys); @@ -1540,7 +1530,7 @@ function useReactionsToast(props: UseReactionsToastType): void { } burstsShown.current.set(value, time); - const values: Array = []; + const values: Array = []; reactionKeys.forEach(key => { const reactionShown = reactionsShown.current.get(key); if (!reactionShown) { @@ -1565,7 +1555,6 @@ function useReactionsToast(props: UseReactionsToastType): void { localDemuxId, i18n, ourServiceId, - emojiLocalizer, ]); } diff --git a/ts/components/CompositionArea.dom.stories.tsx b/ts/components/CompositionArea.dom.stories.tsx index 7534e5b91d..b52f3793f9 100644 --- a/ts/components/CompositionArea.dom.stories.tsx +++ b/ts/components/CompositionArea.dom.stories.tsx @@ -16,8 +16,8 @@ import type { ContactNameColorType } from '../types/Colors.std.ts'; import { ContactNameColors, ConversationColors } from '../types/Colors.std.ts'; import { getDefaultConversation } from '../test-helpers/getDefaultConversation.std.ts'; import { PaymentEventKind } from '../types/Payment.std.ts'; -import { EmojiSkinTone } from './fun/data/emojis.std.ts'; import { isNotNil } from '../util/isNotNil.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const { i18n } = window.SignalContext; @@ -29,12 +29,12 @@ const groupAdmins = [ }, { member: getDefaultConversation(), - labelEmoji: 'โœ…', + labelEmoji: Emoji.CHECKMARK, labelString: 'Planner', }, { member: getDefaultConversation(), - labelEmoji: '#', + labelEmoji: Emoji.unsafeCastMaybeInvalidStringToVariant('#'), labelString: 'Invalid Emoji', }, { @@ -128,7 +128,7 @@ export default { sortedGroupMembers: [], // FunPicker onSelectEmoji: action('onSelectEmoji'), - emojiSkinToneDefault: EmojiSkinTone.Type1, + emojiSkinToneDefault: Emoji.SkinTone.Type1, pushPanelForConversation: action('pushPanelForConversation'), sendStickerMessage: action('sendStickerMessage'), // Message Requests diff --git a/ts/components/CompositionArea.dom.tsx b/ts/components/CompositionArea.dom.tsx index 88c9486bf9..afb3b2527d 100644 --- a/ts/components/CompositionArea.dom.tsx +++ b/ts/components/CompositionArea.dom.tsx @@ -82,7 +82,6 @@ import type { FunGifSelection } from './fun/panels/FunPanelGifs.dom.tsx'; import type { SmartDraftGifMessageSendModalProps } from '../state/smart/DraftGifMessageSendModal.preload.tsx'; import { strictAssert } from '../util/assert.std.ts'; import { ConfirmationDialog } from './ConfirmationDialog.dom.tsx'; -import type { EmojiSkinTone } from './fun/data/emojis.std.ts'; import { FunPickerButton } from './fun/FunButton.dom.tsx'; import { AxoDropdownMenu } from '../axo/AxoDropdownMenu.dom.tsx'; import { AxoIconButton } from '../axo/AxoIconButton.dom.tsx'; @@ -92,6 +91,7 @@ import { PollCreateModal } from './PollCreateModal.dom.tsx'; import { useDocumentKeyDown } from '../hooks/useDocumentKeyDown.dom.ts'; import { hasDraft } from '../util/hasDraft.std.ts'; import type { ContactNameColorType } from '../types/Colors.std.ts'; +import type { Emoji } from '../axo/emoji.std.ts'; export type OwnProps = Readonly<{ acceptedMessageRequest: boolean | null; @@ -123,7 +123,7 @@ export type OwnProps = Readonly<{ focusCounter: number; groupAdmins: Array<{ member: ConversationType; - labelEmoji: string | undefined; + labelEmoji: Emoji.Variant | undefined; labelString: string | undefined; }>; groupVersion: 1 | 2 | null; @@ -229,7 +229,7 @@ export type OwnProps = Readonly<{ ) => void; onSelectEmoji: (emojiSelection: FunEmojiSelection) => void; - emojiSkinToneDefault: EmojiSkinTone | null; + emojiSkinToneDefault: Emoji.SkinTone | null; }>; export type Props = Pick< diff --git a/ts/components/CompositionInput.dom.stories.tsx b/ts/components/CompositionInput.dom.stories.tsx index a4004ba7c7..a28ea24970 100644 --- a/ts/components/CompositionInput.dom.stories.tsx +++ b/ts/components/CompositionInput.dom.stories.tsx @@ -8,8 +8,8 @@ import { getDefaultConversation } from '../test-helpers/getDefaultConversation.s import type { Props } from './CompositionInput.dom.tsx'; import { CompositionInput } from './CompositionInput.dom.tsx'; import { StorybookThemeContext } from '../../.storybook/StorybookThemeContext.std.ts'; -import { EmojiSkinTone } from './fun/data/emojis.std.ts'; import { generateAci } from '../test-helpers/serviceIdUtils.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const { i18n } = window.SignalContext; @@ -46,7 +46,7 @@ const useProps = (overrideProps: Partial = {}): Props => { sendCounter: 0, sortedGroupMembers: overrideProps.sortedGroupMembers ?? [], emojiSkinToneDefault: - overrideProps.emojiSkinToneDefault ?? EmojiSkinTone.None, + overrideProps.emojiSkinToneDefault ?? Emoji.SkinTone.None, theme: useContext(StorybookThemeContext), inputApi: null, shouldHidePopovers: null, diff --git a/ts/components/CompositionInput.dom.tsx b/ts/components/CompositionInput.dom.tsx index 8a2f442e07..0ed0105afb 100644 --- a/ts/components/CompositionInput.dom.tsx +++ b/ts/components/CompositionInput.dom.tsx @@ -88,19 +88,14 @@ import type { AutoSubstituteAsciiEmojisOptions } from '../quill/auto-substitute- import { AutoSubstituteAsciiEmojis } from '../quill/auto-substitute-ascii-emojis/index.dom.tsx'; import { dropNull } from '../util/dropNull.std.ts'; import { SimpleQuillWrapper } from './SimpleQuillWrapper.dom.tsx'; -import { - getEmojiVariantByKey, - type EmojiSkinTone, -} from './fun/data/emojis.std.ts'; import { FUN_STATIC_EMOJI_CLASS } from './fun/FunEmoji.dom.tsx'; -import { useFunEmojiSearch } from './fun/useFunEmojiSearch.dom.tsx'; import type { EmojiCompletionOptions } from '../quill/emoji/completion.dom.tsx'; -import { useFunEmojiLocalizer } from './fun/useFunEmojiLocalizer.dom.tsx'; import { MAX_BODY_ATTACHMENT_BYTE_LENGTH } from '../util/longAttachment.std.ts'; import type { FunEmojiSelection } from './fun/panels/FunPanelEmojis.dom.tsx'; import { AxoSymbol } from '../axo/AxoSymbol.dom.tsx'; import { AxoTooltip } from '../axo/AxoTooltip.dom.tsx'; import { tw } from '../axo/tw.dom.tsx'; +import type { Emoji } from '../axo/emoji.std.ts'; const log = createLogger('CompositionInput'); @@ -145,7 +140,7 @@ export type Props = Readonly<{ isFormattingEnabled: boolean; isActive: boolean; sendCounter: number; - emojiSkinToneDefault: EmojiSkinTone | null; + emojiSkinToneDefault: Emoji.SkinTone | null; draftText: string | null; draftBodyRanges: HydratedBodyRangesType | null; moduleClassName?: string; @@ -321,12 +316,10 @@ export function CompositionInput(props: Props): ReactElement { return; } - const emojiVariant = getEmojiVariantByKey(emojiSelection.variantKey); - const delta = new Delta() .retain(insertionRange.index) .delete(insertionRange.length) - .insert({ emoji: { value: emojiVariant.value } }); + .insert({ emoji: { value: emojiSelection.emoji } }); quill.updateContents(delta, 'user'); quill.setSelection(insertionRange.index + 1, 0, 'user'); @@ -811,9 +804,6 @@ export function CompositionInput(props: Props): ReactElement { const callbacksRef = useRef(unstaleCallbacks); callbacksRef.current = unstaleCallbacks; - const emojiSearch = useFunEmojiSearch(); - const emojiLocalizer = useFunEmojiLocalizer(); - const reactQuill = useMemo( () => { const delta = generateDelta(draftText || '', draftBodyRanges || []); @@ -879,8 +869,6 @@ export function CompositionInput(props: Props): ReactElement { onSelectEmoji: (emojiSelection: FunEmojiSelection) => callbacksRef.current.onSelectEmoji(emojiSelection), emojiSkinToneDefault, - emojiSearch, - emojiLocalizer, } satisfies EmojiCompletionOptions, autoSubstituteAsciiEmojis: { emojiSkinToneDefault, diff --git a/ts/components/CompositionTextArea.dom.tsx b/ts/components/CompositionTextArea.dom.tsx index ca9043f995..b7b7dd6294 100644 --- a/ts/components/CompositionTextArea.dom.tsx +++ b/ts/components/CompositionTextArea.dom.tsx @@ -14,8 +14,8 @@ import type { PreferredBadgeSelectorType } from '../state/selectors/badges.prelo import * as grapheme from '../util/grapheme.std.ts'; import { FunEmojiPicker } from './fun/FunEmojiPicker.dom.tsx'; import type { FunEmojiSelection } from './fun/panels/FunPanelEmojis.dom.tsx'; -import type { EmojiSkinTone } from './fun/data/emojis.std.ts'; import { FunEmojiPickerButton } from './fun/FunButton.dom.tsx'; +import type { Emoji } from '../axo/emoji.std.ts'; export type CompositionTextAreaProps = { bodyRanges: HydratedBodyRangesType | null; @@ -32,8 +32,8 @@ export type CompositionTextAreaProps = { draftBodyRanges: HydratedBodyRangesType, caretLocation?: number ) => void; - emojiSkinToneDefault: EmojiSkinTone; - onEmojiSkinToneDefaultChange: (emojiSkinToneDefault: EmojiSkinTone) => void; + emojiSkinToneDefault: Emoji.SkinTone; + onEmojiSkinToneDefaultChange: (emojiSkinToneDefault: Emoji.SkinTone) => void; onSubmit: ( message: string, draftBodyRanges: DraftBodyRanges, diff --git a/ts/components/ConversationList.dom.stories.tsx b/ts/components/ConversationList.dom.stories.tsx index bd7e3a7f37..17350ab503 100644 --- a/ts/components/ConversationList.dom.stories.tsx +++ b/ts/components/ConversationList.dom.stories.tsx @@ -16,6 +16,7 @@ import { getDefaultConversation } from '../test-helpers/getDefaultConversation.s import { ThemeType } from '../types/Util.std.ts'; import { StorybookThemeContext } from '../../.storybook/StorybookThemeContext.std.ts'; import { makeFakeLookupConversationWithoutServiceId } from '../test-helpers/fakeLookupConversationWithoutServiceId.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const { times, omit } = lodash; @@ -349,7 +350,7 @@ export const ConversationWithDraft = (): JSX.Element => shouldShowDraft: true, draftPreview: { text: "I'm in the middle of typing this...", - prefix: '๐ŸŽค', + prefix: Emoji.MICROPHONE, bodyRanges: [], }, }); diff --git a/ts/components/CustomizingPreferredReactionsModal.dom.stories.tsx b/ts/components/CustomizingPreferredReactionsModal.dom.stories.tsx index a2a0bb72c3..4602c0d1ea 100644 --- a/ts/components/CustomizingPreferredReactionsModal.dom.stories.tsx +++ b/ts/components/CustomizingPreferredReactionsModal.dom.stories.tsx @@ -5,10 +5,9 @@ import type { ComponentProps, JSX } from 'react'; import { action } from '@storybook/addon-actions'; import type { Meta } from '@storybook/react'; -import { DEFAULT_PREFERRED_REACTION_EMOJI } from '../reactions/constants.std.ts'; import type { PropsType } from './CustomizingPreferredReactionsModal.dom.tsx'; import { CustomizingPreferredReactionsModal } from './CustomizingPreferredReactionsModal.dom.tsx'; -import { EmojiSkinTone } from './fun/data/emojis.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const { i18n } = window.SignalContext; @@ -22,19 +21,28 @@ const defaultProps: ComponentProps = 'cancelCustomizePreferredReactionsModal' ), deselectDraftEmoji: action('deselectDraftEmoji'), - draftPreferredReactions: ['โœจ', 'โ‡๏ธ', '๐ŸŽ‡', '๐Ÿฆˆ', '๐Ÿ’–', '๐Ÿ…ฟ๏ธ'], + draftPreferredReactions: [ + Emoji.SPARKLES, + Emoji.SPARKLE, + Emoji.FIREWORK_SPARKLER, + Emoji.SHARK, + Emoji.SPARKLING_HEART, + Emoji.PARKING, + ], hadSaveError: false, i18n, isSaving: false, onEmojiSkinToneDefaultChange: action('onEmojiSkinToneDefaultChange'), - originalPreferredReactions: DEFAULT_PREFERRED_REACTION_EMOJI, - recentEmojis: ['cake'], + originalPreferredReactions: Emoji.getDefaultPreferredReactionEmojis( + Emoji.SkinTone.None + ), + recentEmojis: [Emoji.CAKE], replaceSelectedDraftEmoji: action('replaceSelectedDraftEmoji'), resetDraftEmoji: action('resetDraftEmoji'), savePreferredReactions: action('savePreferredReactions'), selectDraftEmojiToBeReplaced: action('selectDraftEmojiToBeReplaced'), selectedDraftEmojiIndex: undefined, - emojiSkinToneDefault: EmojiSkinTone.Type4, + emojiSkinToneDefault: Emoji.SkinTone.Type4, }; export function Default(): JSX.Element { diff --git a/ts/components/CustomizingPreferredReactionsModal.dom.tsx b/ts/components/CustomizingPreferredReactionsModal.dom.tsx index 438d3c3d11..dd1b6a8628 100644 --- a/ts/components/CustomizingPreferredReactionsModal.dom.tsx +++ b/ts/components/CustomizingPreferredReactionsModal.dom.tsx @@ -12,31 +12,26 @@ import { ReactionPickerPickerEmojiButton, ReactionPickerPickerStyle, } from './ReactionPickerPicker.dom.tsx'; -import { DEFAULT_PREFERRED_REACTION_EMOJI_PARENT_KEYS } from '../reactions/constants.std.ts'; -import { - EmojiSkinTone, - getEmojiVariantByKey, - getEmojiVariantByParentKeyAndSkinTone, -} from './fun/data/emojis.std.ts'; import { FunEmojiPicker } from './fun/FunEmojiPicker.dom.tsx'; import type { FunEmojiSelection } from './fun/panels/FunPanelEmojis.dom.tsx'; +import { Emoji } from '../axo/emoji.std.ts'; const { isEqual } = lodash; export type PropsType = { - draftPreferredReactions: ReadonlyArray; + draftPreferredReactions: ReadonlyArray; hadSaveError: boolean; i18n: LocalizerType; isSaving: boolean; - originalPreferredReactions: ReadonlyArray; - recentEmojis: ReadonlyArray; + originalPreferredReactions: ReadonlyArray; + recentEmojis: ReadonlyArray; selectedDraftEmojiIndex: undefined | number; - emojiSkinToneDefault: EmojiSkinTone | null; + emojiSkinToneDefault: Emoji.SkinTone | null; cancelCustomizePreferredReactionsModal(): unknown; deselectDraftEmoji(): unknown; - onEmojiSkinToneDefaultChange: (emojiSkinToneDefault: EmojiSkinTone) => void; - replaceSelectedDraftEmoji(newEmoji: string): unknown; + onEmojiSkinToneDefaultChange: (emojiSkinToneDefault: Emoji.SkinTone) => void; + replaceSelectedDraftEmoji(newEmoji: Emoji.Variant): unknown; resetDraftEmoji(): unknown; savePreferredReactions(): unknown; selectDraftEmojiToBeReplaced(index: number): unknown; @@ -68,13 +63,9 @@ export function CustomizingPreferredReactionsModal({ const canReset = !isSaving && !isEqual( - DEFAULT_PREFERRED_REACTION_EMOJI_PARENT_KEYS.map(parentKey => { - const variant = getEmojiVariantByParentKeyAndSkinTone( - parentKey, - emojiSkinToneDefault ?? EmojiSkinTone.None - ); - return variant.value; - }), + Emoji.getDefaultPreferredReactionEmojis( + emojiSkinToneDefault ?? Emoji.SkinTone.None + ), draftPreferredReactions ); const canSave = !isSaving && hasChanged; @@ -147,10 +138,7 @@ export function CustomizingPreferredReactionsModal({ deselectDraftEmoji(); }} onSelectEmoji={emojiSelection => { - const emojiVariant = getEmojiVariantByKey( - emojiSelection.variantKey - ); - replaceSelectedDraftEmoji(emojiVariant.value); + replaceSelectedDraftEmoji(emojiSelection.emoji); }} /> ); @@ -165,7 +153,7 @@ export function CustomizingPreferredReactionsModal({ } function CustomizingPreferredReactionsModalItem(props: { - emoji: string; + emoji: Emoji.Variant; isSelected: boolean; onSelect: () => void; onDeselect: () => void; diff --git a/ts/components/DraftGifMessageSendModal.dom.stories.tsx b/ts/components/DraftGifMessageSendModal.dom.stories.tsx index 6316306bd8..17b20e592a 100644 --- a/ts/components/DraftGifMessageSendModal.dom.stories.tsx +++ b/ts/components/DraftGifMessageSendModal.dom.stories.tsx @@ -10,10 +10,10 @@ import { import { ThemeType } from '../types/Util.std.ts'; import { CompositionTextArea } from './CompositionTextArea.dom.tsx'; import type { SmartCompositionTextAreaProps } from '../state/smart/CompositionTextArea.preload.tsx'; -import { EmojiSkinTone } from './fun/data/emojis.std.ts'; import { LoadingState } from '../util/loadable.std.ts'; import { VIDEO_MP4 } from '../types/MIME.std.ts'; import { drop } from '../util/drop.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const { i18n } = window.SignalContext; @@ -39,7 +39,7 @@ function RenderCompositionTextArea(props: SmartCompositionTextAreaProps) { onTextTooLong={action('onTextTooLong')} ourConversationId="me" platform="darwin" - emojiSkinToneDefault={EmojiSkinTone.None} + emojiSkinToneDefault={Emoji.SkinTone.None} convertDraftBodyRangesIntoHydrated={() => []} /> ); diff --git a/ts/components/DraftGifMessageSendModal.dom.tsx b/ts/components/DraftGifMessageSendModal.dom.tsx index 91bffb89cb..edc9926f26 100644 --- a/ts/components/DraftGifMessageSendModal.dom.tsx +++ b/ts/components/DraftGifMessageSendModal.dom.tsx @@ -8,11 +8,11 @@ import { Modal } from './Modal.dom.tsx'; import type { HydratedBodyRangesType } from '../types/BodyRange.std.ts'; import type { SmartCompositionTextAreaProps } from '../state/smart/CompositionTextArea.preload.tsx'; import type { ThemeType } from '../types/Util.std.ts'; -import { EmojiSkinTone } from './fun/data/emojis.std.ts'; import { FunGifPreview } from './fun/FunGif.dom.tsx'; import type { FunGifSelection } from './fun/panels/FunPanelGifs.dom.tsx'; import type { GifDownloadState } from '../state/smart/DraftGifMessageSendModal.preload.tsx'; import { LoadingState } from '../util/loadable.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; export type DraftGifMessageSendModalProps = Readonly<{ i18n: LocalizerType; @@ -98,7 +98,7 @@ export function DraftGifMessageSendModal( onChange={props.onChange} onSubmit={props.onSubmit} theme={props.theme} - emojiSkinToneDefault={EmojiSkinTone.None} + emojiSkinToneDefault={Emoji.SkinTone.None} /> ); diff --git a/ts/components/ForwardMessagesModal.dom.stories.tsx b/ts/components/ForwardMessagesModal.dom.stories.tsx index 2d169d6def..e053d21d51 100644 --- a/ts/components/ForwardMessagesModal.dom.stories.tsx +++ b/ts/components/ForwardMessagesModal.dom.stories.tsx @@ -15,7 +15,7 @@ import { getDefaultConversation } from '../test-helpers/getDefaultConversation.s import { StorybookThemeContext } from '../../.storybook/StorybookThemeContext.std.ts'; import { CompositionTextArea } from './CompositionTextArea.dom.tsx'; import type { MessageForwardDraft } from '../types/ForwardDraft.std.ts'; -import { EmojiSkinTone } from './fun/data/emojis.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const createAttachment = ( props: Partial = {} @@ -69,7 +69,7 @@ const useProps = (overrideProps: Partial = {}): PropsType => ({ onTextTooLong={action('onTextTooLong')} ourConversationId="me" platform="darwin" - emojiSkinToneDefault={EmojiSkinTone.None} + emojiSkinToneDefault={Emoji.SkinTone.None} convertDraftBodyRangesIntoHydrated={() => []} /> ), diff --git a/ts/components/ForwardMessagesModal.dom.tsx b/ts/components/ForwardMessagesModal.dom.tsx index 38350c06cb..fea65386c4 100644 --- a/ts/components/ForwardMessagesModal.dom.tsx +++ b/ts/components/ForwardMessagesModal.dom.tsx @@ -43,7 +43,7 @@ import { } from '../types/ForwardDraft.std.ts'; import { missingCaseError } from '../util/missingCaseError.std.ts'; import { Theme } from '../util/theme.std.ts'; -import { EmojiSkinTone } from './fun/data/emojis.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; export enum ForwardMessagesModalType { Forward, @@ -477,7 +477,7 @@ function ForwardMessageEditor({ onChange={onChange} onSubmit={onSubmit} theme={theme} - emojiSkinToneDefault={EmojiSkinTone.None} + emojiSkinToneDefault={Emoji.SkinTone.None} /> ); diff --git a/ts/components/I18n.dom.stories.tsx b/ts/components/I18n.dom.stories.tsx index 37e0d53585..b76a62f75c 100644 --- a/ts/components/I18n.dom.stories.tsx +++ b/ts/components/I18n.dom.stories.tsx @@ -75,7 +75,7 @@ export function MultipleTagReplacement( ); } -export function Emoji( +export function WithEmoji( args: Props<'icu:Message__reaction-emoji-label--you'> ): JSX.Element { return ( diff --git a/ts/components/MediaEditor.dom.stories.tsx b/ts/components/MediaEditor.dom.stories.tsx index 86da4ed148..a4fc189c5f 100644 --- a/ts/components/MediaEditor.dom.stories.tsx +++ b/ts/components/MediaEditor.dom.stories.tsx @@ -5,7 +5,7 @@ import type { Meta, StoryFn } from '@storybook/react'; import { action } from '@storybook/addon-actions'; import type { PropsType } from './MediaEditor.dom.tsx'; import { MediaEditor } from './MediaEditor.dom.tsx'; -import { EmojiSkinTone } from './fun/data/emojis.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const { i18n } = window.SignalContext; const IMAGE_1 = '/fixtures/nathan-anderson-316188-unsplash.jpg'; @@ -30,7 +30,7 @@ export default { onSelectEmoji: action('onSelectEmoji'), onTextTooLong: action('onTextTooLong'), platform: 'darwin', - emojiSkinToneDefault: EmojiSkinTone.None, + emojiSkinToneDefault: Emoji.SkinTone.None, convertDraftBodyRangesIntoHydrated: () => undefined, }, } satisfies Meta; diff --git a/ts/components/NotificationProfilesMenu.dom.stories.tsx b/ts/components/NotificationProfilesMenu.dom.stories.tsx index ce0b7919f4..c1bd771b3c 100644 --- a/ts/components/NotificationProfilesMenu.dom.stories.tsx +++ b/ts/components/NotificationProfilesMenu.dom.stories.tsx @@ -17,6 +17,7 @@ import { HOUR } from '../util/durations/index.std.ts'; import { AxoDropdownMenu } from '../axo/AxoDropdownMenu.dom.tsx'; import { AxoButton } from '../axo/AxoButton.dom.tsx'; import type { ConversationType } from '../state/ducks/conversations.preload.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const { i18n } = window.SignalContext; @@ -34,7 +35,7 @@ const threeProfiles = [ { id: 'Weekday' as NotificationProfileIdString, name: 'Weekday', - emoji: '๐Ÿ˜ฌ', + emoji: Emoji.GRIMACING, color: 0xffe3e3fe, createdAtMs: Date.now(), @@ -63,7 +64,7 @@ const threeProfiles = [ { id: 'Weekend' as NotificationProfileIdString, name: 'Weekend', - emoji: 'โค๏ธโ€๐Ÿ”ฅ', + emoji: Emoji.HEART_ON_FIRE, color: 0xffd7d7d9, createdAtMs: Date.now(), diff --git a/ts/components/PollCreateModal.dom.tsx b/ts/components/PollCreateModal.dom.tsx index 20c2762751..ce1c99a1c9 100644 --- a/ts/components/PollCreateModal.dom.tsx +++ b/ts/components/PollCreateModal.dom.tsx @@ -21,7 +21,6 @@ import { Toast } from './Toast.dom.tsx'; import { FunEmojiPicker } from './fun/FunEmojiPicker.dom.tsx'; import { FunEmojiPickerButton } from './fun/FunButton.dom.tsx'; import type { FunEmojiSelection } from './fun/panels/FunPanelEmojis.dom.tsx'; -import { getEmojiVariantByKey } from './fun/data/emojis.std.ts'; import { strictAssert } from '../util/assert.std.ts'; import { type PollCreateType, @@ -178,8 +177,7 @@ export function PollCreateModal({ strictAssert(inputEl, 'Missing input ref for option'); const { selectionStart, selectionEnd } = inputEl; - const variant = getEmojiVariantByKey(emojiSelection.variantKey); - const emoji = variant.value; + const emoji = emojiSelection.emoji; const updatedOptions = options.map(opt => { if (opt.id !== optionId) { diff --git a/ts/components/Preferences.dom.stories.tsx b/ts/components/Preferences.dom.stories.tsx index 802f06ccdd..e0bce9cb20 100644 --- a/ts/components/Preferences.dom.stories.tsx +++ b/ts/components/Preferences.dom.stories.tsx @@ -12,7 +12,6 @@ import { DEFAULT_CONVERSATION_COLOR } from '../types/Colors.std.ts'; import { PhoneNumberSharingMode } from '../types/PhoneNumberSharingMode.std.ts'; import { PhoneNumberDiscoverability } from '../util/phoneNumberDiscoverability.std.ts'; import { sleep } from '../util/sleep.std.ts'; -import { EmojiSkinTone } from './fun/data/emojis.std.ts'; import { DAY, DurationInSeconds, @@ -61,6 +60,7 @@ import type { ExternalProps as SmartNotificationProfilesProps } from '../state/s import type { NotificationProfileIdString } from '../types/NotificationProfile.std.ts'; import type { ExportResultType } from '../services/backups/types.std.ts'; import { BackupLevel } from '../services/backups/types.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const { shuffle } = lodash; @@ -430,7 +430,7 @@ export default { customColors: {}, defaultConversationColor: DEFAULT_CONVERSATION_COLOR, deviceName: 'Work Windows ME', - emojiSkinToneDefault: EmojiSkinTone.None, + emojiSkinToneDefault: Emoji.SkinTone.None, phoneNumber: '+1 555 123-4567', hasAnyCurrentCustomChatFolders: false, hasAudioNotifications: true, @@ -757,7 +757,7 @@ const threeProfiles = [ { id: 'Weekday' as NotificationProfileIdString, name: 'Weekday', - emoji: '๐Ÿ˜ฌ', + emoji: Emoji.GRIMACING, color: 0xffe3e3fe, createdAtMs: Date.now(), @@ -786,7 +786,7 @@ const threeProfiles = [ { id: 'Weekend' as NotificationProfileIdString, name: 'Weekend', - emoji: 'โค๏ธโ€๐Ÿ”ฅ', + emoji: Emoji.HEART_ON_FIRE, color: 0xffd7d7d9, createdAtMs: Date.now(), diff --git a/ts/components/Preferences.dom.tsx b/ts/components/Preferences.dom.tsx index aae0a298b3..87d7d54c53 100644 --- a/ts/components/Preferences.dom.tsx +++ b/ts/components/Preferences.dom.tsx @@ -39,7 +39,6 @@ import { removeDiacritics } from '../util/removeDiacritics.std.ts'; import { assertDev } from '../util/assert.std.ts'; import { I18n } from './I18n.dom.tsx'; import { FunSkinTonesList } from './fun/FunSkinTones.dom.tsx'; -import { EMOJI_PARENT_KEY_CONSTANTS } from './fun/data/emojis.std.ts'; import { SettingsControl as Control, FlowingSettingsControl as FlowingControl, @@ -48,14 +47,12 @@ import { } from './PreferencesUtil.dom.tsx'; import { PreferencesBackups } from './PreferencesBackups.dom.tsx'; import { PreferencesInternal } from './PreferencesInternal.dom.tsx'; -import { FunEmojiLocalizationProvider } from './fun/FunEmojiLocalizationProvider.dom.tsx'; import { Avatar, AvatarSize } from './Avatar.dom.tsx'; import { NavSidebar } from './NavSidebar.dom.tsx'; import type { SettingsLocation } from '../types/Nav.std.ts'; import { SettingsPage, ProfileEditorPage } from '../types/Nav.std.ts'; import { tw } from '../axo/tw.dom.tsx'; import { FullWidthButton } from './PreferencesNotificationProfiles.dom.tsx'; -import type { EmojiSkinTone } from './fun/data/emojis.std.ts'; import type { MediaDeviceSettings } from '../types/Calling.std.ts'; import type { ValidationResultType as BackupValidationResultType } from '../services/backups/index.preload.ts'; import type { @@ -105,6 +102,7 @@ import { isDonationsPage } from './PreferencesDonations.dom.tsx'; import type { VisibleRemoteMegaphoneType } from '../types/Megaphone.std.ts'; import { TitlebarDragArea } from './TitlebarDragArea.dom.tsx'; import type { PreferredBadgeSelectorType } from '../state/selectors/badges.preload.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const { isNumber, noop, partition } = lodash; @@ -134,7 +132,7 @@ export type PropsDataType = { customColors: Record; defaultConversationColor: DefaultConversationColorType; deviceName?: string; - emojiSkinToneDefault: EmojiSkinTone; + emojiSkinToneDefault: Emoji.SkinTone; hasAnyCurrentCustomChatFolders: boolean; hasAudioNotifications?: boolean; hasAutoConvertEmoji: boolean; @@ -326,7 +324,7 @@ type PropsFunctionType = { onCallRingtoneNotificationChange: CheckboxChangeHandlerType; onContentProtectionChange: CheckboxChangeHandlerType; onCountMutedConversationsChange: CheckboxChangeHandlerType; - onEmojiSkinToneDefaultChange: (emojiSkinTone: EmojiSkinTone) => void; + onEmojiSkinToneDefaultChange: (emojiSkinTone: Emoji.SkinTone) => void; onHasKeyTransparencyDisabledChanged: SelectChangeHandlerType; onHasStoriesDisabledChanged: SelectChangeHandlerType; onHideMenuBarChange: CheckboxChangeHandlerType; @@ -1254,7 +1252,7 @@ export function Preferences({ right={ @@ -2585,7 +2583,7 @@ export function Preferences({ ); } return ( - + <>
- + ); } diff --git a/ts/components/PreferencesNotificationProfiles.dom.tsx b/ts/components/PreferencesNotificationProfiles.dom.tsx index d4c62135bc..532b6f1473 100644 --- a/ts/components/PreferencesNotificationProfiles.dom.tsx +++ b/ts/components/PreferencesNotificationProfiles.dom.tsx @@ -9,14 +9,8 @@ import { sample, isEqual, noop, range } from 'lodash'; import classNames from 'classnames'; import { Popper } from 'react-popper'; -import { - isEmojiVariantValue, - getEmojiVariantByKey, - getEmojiVariantKeyByValue, -} from './fun/data/emojis.std.ts'; import { FunStaticEmoji } from './fun/FunEmoji.dom.tsx'; import { FunEmojiPicker } from './fun/FunEmojiPicker.dom.tsx'; -import { useFunEmojiLocalizer } from './fun/useFunEmojiLocalizer.dom.tsx'; import { FunEmojiPickerButton } from './fun/FunButton.dom.tsx'; import { tw } from '../axo/tw.dom.tsx'; import { AxoButton } from '../axo/AxoButton.dom.tsx'; @@ -46,8 +40,6 @@ import { useRefMerger } from '../hooks/useRefMerger.std.ts'; import { handleOutsideClick } from '../util/handleOutsideClick.dom.ts'; import { useEscapeHandling } from '../hooks/useEscapeHandling.dom.ts'; import { Modal } from './Modal.dom.tsx'; - -import type { EmojiVariantKey } from './fun/data/emojis.std.ts'; import type { LocalizerType } from '../types/I18N.std.ts'; import type { ThemeType } from '../types/Util.std.ts'; import type { ConversationType } from '../state/ducks/conversations.preload.ts'; @@ -60,6 +52,7 @@ import type { } from '../types/NotificationProfile.std.ts'; import type { SettingsLocation } from '../types/Nav.std.ts'; import { addLeadingZero } from '../util/timestamp.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; enum CreateFlowPage { Name = 'Name', @@ -261,14 +254,6 @@ function getColorFromProfile(argb: number): string { return `#${rgb.toString(16)}`; } -function getEmojiVariantKey(value: string): EmojiVariantKey | undefined { - if (isEmojiVariantValue(value)) { - return getEmojiVariantKeyByValue(value); - } - - return undefined; -} - type ProfileToSave = Omit; export function NotificationProfilesCreateFlow({ @@ -284,7 +269,7 @@ export function NotificationProfilesCreateFlow({ const [page, setPage] = useState(CreateFlowPage.Name); const [name, setName] = useState(); - const [emoji, setEmoji] = useState(); + const [emoji, setEmoji] = useState(); const [allowedMembers, setAllowedMembers] = useState>( new Set() ); @@ -683,40 +668,39 @@ function NotificationProfilesNamePage({ }: { contentsRef: MutableRefObject; i18n: LocalizerType; - initialEmoji: string | undefined; + initialEmoji: Emoji.Variant | undefined; initialName?: string; isEditing: boolean; onBack: VoidFunction; onNext: () => void; - onUpdate: (data: { emoji: string | undefined; name: string }) => void; + onUpdate: (data: { emoji: Emoji.Variant | undefined; name: string }) => void; theme: ThemeType; }) { const [emojiPickerOpen, setEmojiPickerOpen] = useState(false); const [name, setName] = useState(initialName); - const [emoji, setEmoji] = useState(initialEmoji); - const emojiLocalizer = useFunEmojiLocalizer(); + const [emoji, setEmoji] = useState(initialEmoji); const isValid = Boolean(name); const sampleProfileNames = useMemo(() => { return [ { - emoji: '๐Ÿ’ช', + emoji: Emoji.getDefaultVariant(Emoji.MUSCLE), text: i18n('icu:NotificationProfiles--sample-name__work'), }, { - emoji: '๐Ÿ˜ด', + emoji: Emoji.SLEEPING, text: i18n('icu:NotificationProfiles--sample-name__sleep'), }, { - emoji: '๐Ÿš—', + emoji: Emoji.CAR, text: i18n('icu:NotificationProfiles--sample-name__driving'), }, { - emoji: '๐Ÿ˜Š', + emoji: Emoji.BLUSH, text: i18n('icu:NotificationProfiles--sample-name__downtime'), }, { - emoji: '๐Ÿ’ก', + emoji: Emoji.BULB, text: i18n('icu:NotificationProfiles--sample-name__focus'), }, ] as const; @@ -739,8 +723,6 @@ function NotificationProfilesNamePage({ [emoji, setEmoji, setName, onUpdate] ); - const emojiKey = emoji ? getEmojiVariantKey(emoji) : null; - return ( <>
{ - const newEmoji = getEmojiVariantByKey(data.variantKey)?.value; - + const newEmoji = data.emoji; setEmoji(newEmoji); if (name) { onUpdate({ name, emoji: newEmoji }); @@ -777,7 +758,7 @@ function NotificationProfilesNamePage({ closeOnSelect theme={theme} > - + } maxLengthCount={140} @@ -791,13 +772,6 @@ function NotificationProfilesNamePage({ />
{sampleProfileNames.map(item => { - const itemEmojiKey = getEmojiVariantKey(item.emoji); - strictAssert( - itemEmojiKey, - 'Emoji for name defaults should exist' - ); - const itemEmojiData = getEmojiVariantByKey(itemEmojiKey); - return ( {item.text} @@ -1566,12 +1538,11 @@ function EmojiOrMoon({ i18n, size, }: { - emoji?: EmojiVariantKey | undefined; + emoji?: Emoji.Variant | undefined; forceLightTheme?: boolean; i18n: LocalizerType; size: IconSize; }) { - const emojiLocalizer = useFunEmojiLocalizer(); const sizeMap = useMemo( () => ({ large: 48 as const, @@ -1605,17 +1576,15 @@ function EmojiOrMoon({ ); } - const emojiData = getEmojiVariantByKey(emoji); - return ( ); @@ -1775,7 +1744,6 @@ export function ProfileAvatar({ profile?: ProfileToSave; size: IconSize; }): ReactNode { - const emoji = profile?.emoji ? getEmojiVariantKey(profile.emoji) : undefined; const backgroundColor = profile?.color ? getColorFromProfile(profile.color) : undefined; @@ -1803,7 +1771,7 @@ export function ProfileAvatar({ style={{ backgroundColor }} > = args => { export const FullSet = Template.bind({}); FullSet.args = { - aboutEmoji: '๐Ÿ™', + aboutEmoji: Emoji.getDefaultVariant(Emoji.FOLDED_HANDS), aboutText: 'Live. Laugh. Love', familyName: casual.last_name, firstName: casual.first_name, @@ -131,7 +131,7 @@ WithFullName.args = { }; export const WithCustomAbout = Template.bind({}); WithCustomAbout.args = { - aboutEmoji: '๐Ÿ™', + aboutEmoji: Emoji.getDefaultVariant(Emoji.FOLDED_HANDS), aboutText: 'Live. Laugh. Love', }; diff --git a/ts/components/ProfileEditor.dom.tsx b/ts/components/ProfileEditor.dom.tsx index 8584699131..512581f2ef 100644 --- a/ts/components/ProfileEditor.dom.tsx +++ b/ts/components/ProfileEditor.dom.tsx @@ -28,17 +28,8 @@ import { Tooltip, TooltipPlacement } from './Tooltip.dom.tsx'; import { offsetDistanceModifier } from '../util/popperUtil.std.ts'; import { useReducedMotion } from '../hooks/useReducedMotion.dom.ts'; import { FunStaticEmoji } from './fun/FunEmoji.dom.tsx'; -import { - EMOJI_PARENT_KEY_CONSTANTS, - EmojiSkinTone, - getEmojiVariantByKey, - getEmojiVariantByParentKeyAndSkinTone, - getEmojiVariantKeyByValue, - isEmojiVariantValue, -} from './fun/data/emojis.std.ts'; import { FunEmojiPicker } from './fun/FunEmojiPicker.dom.tsx'; import { FunEmojiPickerButton } from './fun/FunButton.dom.tsx'; -import { useFunEmojiLocalizer } from './fun/useFunEmojiLocalizer.dom.tsx'; import { PreferencesContent } from './Preferences.dom.tsx'; import { ProfileEditorPage } from '../types/Nav.std.ts'; @@ -58,11 +49,11 @@ import type { } from '../state/ducks/conversations.preload.ts'; import type { UsernameLinkState } from '../state/ducks/usernameEnums.std.ts'; import type { ShowToastAction } from '../state/ducks/toast.preload.ts'; -import type { EmojiParentKey, EmojiVariantKey } from './fun/data/emojis.std.ts'; import type { FunEmojiSelection } from './fun/panels/FunPanelEmojis.dom.tsx'; import { useConfirmDiscard } from '../hooks/useConfirmDiscard.dom.tsx'; import { AxoButton } from '../axo/AxoButton.dom.tsx'; import { normalizeProfileName } from '../util/normalizeProfileName.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; import { AxoTextField } from '../axo/AxoTextField.dom.tsx'; import { tw } from '../axo/tw.dom.tsx'; @@ -79,12 +70,12 @@ type PropsExternalType = { }; export type PropsDataType = { - aboutEmoji?: string; + aboutEmoji?: Emoji.Variant; aboutText?: string; color?: AvatarColorType; contentsRef: MutableRefObject; conversationId: string; - emojiSkinToneDefault: EmojiSkinTone | null; + emojiSkinToneDefault: Emoji.SkinTone | null; familyName?: string; firstName: string; hasCompletedUsernameLinkOnboarding: boolean; @@ -120,42 +111,40 @@ export type PropsType = PropsDataType & PropsActionType & PropsExternalType; type DefaultBio = { i18nLabel: string; - emojiParentKey: EmojiParentKey; + emojiParent: Emoji.Parent; }; function getDefaultBios(i18n: LocalizerType): Array { return [ { i18nLabel: i18n('icu:Bio--speak-freely'), - emojiParentKey: EMOJI_PARENT_KEY_CONSTANTS.WAVING_HAND, + emojiParent: Emoji.WAVE, }, { i18nLabel: i18n('icu:Bio--encrypted'), - emojiParentKey: EMOJI_PARENT_KEY_CONSTANTS.ZIPPER_MOUTH_FACE, + emojiParent: Emoji.ZIPPER_MOUTH_FACE, }, { i18nLabel: i18n('icu:Bio--free-to-chat'), - emojiParentKey: EMOJI_PARENT_KEY_CONSTANTS.THUMBS_UP, + emojiParent: Emoji.THUMBS_UP, }, { i18nLabel: i18n('icu:Bio--coffee-lover'), - emojiParentKey: EMOJI_PARENT_KEY_CONSTANTS.HOT_BEVERAGE, + emojiParent: Emoji.COFFEE, }, { i18nLabel: i18n('icu:Bio--taking-break'), - emojiParentKey: EMOJI_PARENT_KEY_CONSTANTS.MOBILE_PHONE_OFF, + emojiParent: Emoji.MOBILE_PHONE_OFF, }, ]; } -function BioEmoji(props: { emoji: EmojiVariantKey }) { - const emojiLocalizer = useFunEmojiLocalizer(); - const emojiVariant = getEmojiVariantByKey(props.emoji); +function BioEmoji(props: { emoji: Emoji.Variant }) { return ( ); @@ -242,14 +231,14 @@ export function ProfileEditor({ const [isResettingUsernameLink, setIsResettingUsernameLink] = useState(false); const [emojiPickerOpen, setEmojiPickerOpen] = useState(false); - const stagedAboutEmojiVariantKey = useMemo(() => { + const stagedAboutEmojiVariant = useMemo(() => { if ( stagedProfile.aboutEmoji == null || - !isEmojiVariantValue(stagedProfile.aboutEmoji) + !Emoji.isEmoji(stagedProfile.aboutEmoji) ) { return null; } - return getEmojiVariantKeyByValue(stagedProfile.aboutEmoji); + return Emoji.ignorePreferredSkinTone(stagedProfile.aboutEmoji); }, [stagedProfile.aboutEmoji]); // Reset username edit state when leaving @@ -270,11 +259,9 @@ export function ProfileEditor({ const handleSelectEmoji = useCallback( (emojiSelection: FunEmojiSelection) => { - const emojiVariant = getEmojiVariantByKey(emojiSelection.variantKey); - setStagedProfile(profileData => ({ ...profileData, - aboutEmoji: emojiVariant.value, + aboutEmoji: emojiSelection.emoji, })); }, [setStagedProfile] @@ -471,7 +458,7 @@ export function ProfileEditor({ >
@@ -501,25 +488,25 @@ export function ProfileEditor({ /> {defaultBios.map(defaultBio => { - const emojiVariant = getEmojiVariantByParentKeyAndSkinTone( - defaultBio.emojiParentKey, - emojiSkinToneDefault ?? EmojiSkinTone.None + const emojiVariant = Emoji.getVariant( + defaultBio.emojiParent, + emojiSkinToneDefault ?? Emoji.SkinTone.None ); return ( - +
} label={defaultBio.i18nLabel} onClick={() => { setStagedProfile(profileData => ({ ...profileData, - aboutEmoji: emojiVariant.value, + aboutEmoji: emojiVariant, aboutText: defaultBio.i18nLabel, })); }} @@ -754,10 +741,10 @@ export function ProfileEditor({ ) : ( diff --git a/ts/components/ReactionPickerPicker.dom.tsx b/ts/components/ReactionPickerPicker.dom.tsx index e665f1b011..abd14c7235 100644 --- a/ts/components/ReactionPickerPicker.dom.tsx +++ b/ts/components/ReactionPickerPicker.dom.tsx @@ -4,16 +4,10 @@ import type { CSSProperties, ReactNode } from 'react'; import { forwardRef } from 'react'; import classNames from 'classnames'; - import { Button } from 'react-aria-components'; import { FunStaticEmoji } from './fun/FunEmoji.dom.tsx'; -import { - getEmojiDebugLabel, - getEmojiVariantByKey, - getEmojiVariantKeyByValue, - isEmojiVariantValue, -} from './fun/data/emojis.std.ts'; import { createLogger } from '../logging/log.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const log = createLogger('ReactionPickerPicker'); @@ -25,7 +19,7 @@ export enum ReactionPickerPickerStyle { export const ReactionPickerPickerEmojiButton = forwardRef< HTMLButtonElement, { - emoji: string; + emoji: Emoji.Variant; isSelected: boolean; onClick: () => unknown; title?: string; @@ -34,16 +28,13 @@ export const ReactionPickerPickerEmojiButton = forwardRef< { emoji, onClick, isSelected, title }, ref ) { - if (!isEmojiVariantValue(emoji)) { + if (!Emoji.isEmoji(emoji)) { log.error( - `Expected a valid emoji variant value, got ${getEmojiDebugLabel(emoji)}` + `Expected a valid emoji variant value, got ${Emoji.getDebugLabel(emoji)}` ); return null; } - const emojiVariantKey = getEmojiVariantKeyByValue(emoji); - const emojiVariant = getEmojiVariantByKey(emojiVariantKey); - return ( ); diff --git a/ts/components/StoryCreator.dom.stories.tsx b/ts/components/StoryCreator.dom.stories.tsx index 1f9acfb242..8ecc5c1e91 100644 --- a/ts/components/StoryCreator.dom.stories.tsx +++ b/ts/components/StoryCreator.dom.stories.tsx @@ -12,7 +12,7 @@ import { getDefaultGroup, } from '../test-helpers/getDefaultConversation.std.ts'; import { getFakeDistributionListsWithMembers } from '../test-helpers/getFakeDistributionLists.std.ts'; -import { EmojiSkinTone } from './fun/data/emojis.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const { i18n } = window.SignalContext; @@ -45,7 +45,7 @@ export default { 'setMyStoriesToAllSignalConnections' ), signalConnections: Array.from(Array(42), getDefaultConversation), - emojiSkinToneDefault: EmojiSkinTone.None, + emojiSkinToneDefault: Emoji.SkinTone.None, toggleSignalConnectionsModal: action('toggleSignalConnectionsModal'), }, } satisfies Meta; diff --git a/ts/components/StoryViewer.dom.stories.tsx b/ts/components/StoryViewer.dom.stories.tsx index 3c1a6acf51..0ef62575f3 100644 --- a/ts/components/StoryViewer.dom.stories.tsx +++ b/ts/components/StoryViewer.dom.stories.tsx @@ -14,8 +14,7 @@ import { VIDEO_MP4 } from '../types/MIME.std.ts'; import { fakeAttachment } from '../test-helpers/fakeAttachment.std.ts'; import { getDefaultConversation } from '../test-helpers/getDefaultConversation.std.ts'; import { getFakeStoryView } from '../test-helpers/getFakeStory.dom.tsx'; -import { DEFAULT_PREFERRED_REACTION_EMOJI } from '../reactions/constants.std.ts'; -import { EmojiSkinTone } from './fun/data/emojis.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const { i18n } = window.SignalContext; @@ -48,11 +47,13 @@ export default { onTextTooLong: action('onTextTooLong'), onSelectEmoji: action('onSelectEmoji'), onMediaPlaybackStart: action('onMediaPlaybackStart'), - preferredReactionEmoji: DEFAULT_PREFERRED_REACTION_EMOJI, + preferredReactionEmoji: Emoji.getDefaultPreferredReactionEmojis( + Emoji.SkinTone.None + ), queueStoryDownload: action('queueStoryDownload'), retryMessageSend: action('retryMessageSend'), showToast: action('showToast'), - emojiSkinToneDefault: EmojiSkinTone.None, + emojiSkinToneDefault: Emoji.SkinTone.None, story: getFakeStoryView(), storyViewMode: StoryViewModeType.All, viewStory: action('viewStory'), diff --git a/ts/components/StoryViewer.dom.tsx b/ts/components/StoryViewer.dom.tsx index 08c946c7e2..3cf68ef9a3 100644 --- a/ts/components/StoryViewer.dom.tsx +++ b/ts/components/StoryViewer.dom.tsx @@ -51,9 +51,9 @@ import { MessageBody } from './conversation/MessageBody.dom.tsx'; import { RenderLocation } from './conversation/MessageTextRenderer.dom.tsx'; import { arrow } from '../util/keyboard.dom.ts'; import { StoryProgressSegment } from './StoryProgressSegment.dom.tsx'; -import type { EmojiSkinTone } from './fun/data/emojis.std.ts'; import type { FunEmojiSelection } from './fun/panels/FunPanelEmojis.dom.tsx'; import type { ContactModalStateType } from '../types/globalModals.std.ts'; +import type { Emoji } from '../axo/emoji.std.ts'; const log = createLogger('StoryViewer'); @@ -95,7 +95,7 @@ export type PropsType = { onGoToConversation: (conversationId: string) => unknown; onHideStory: (conversationId: string) => unknown; onTextTooLong: () => unknown; - onReactToStory: (emoji: string, story: StoryViewType) => unknown; + onReactToStory: (emoji: Emoji.Variant, story: StoryViewType) => unknown; onReplyToStory: ( message: string, bodyRanges: DraftBodyRanges, @@ -106,7 +106,7 @@ export type PropsType = { onMediaPlaybackStart: () => void; ourConversationId: string | undefined; platform: string; - preferredReactionEmoji: ReadonlyArray; + preferredReactionEmoji: ReadonlyArray; queueStoryDownload: (storyId: string) => unknown; replyState?: ReplyStateType; retryMessageSend: (messageId: string) => unknown; @@ -114,7 +114,7 @@ export type PropsType = { setHasAllStoriesUnmuted: (isUnmuted: boolean) => unknown; showContactModal: (payload: ContactModalStateType) => void; showToast: ShowToastAction; - emojiSkinToneDefault: EmojiSkinTone | null; + emojiSkinToneDefault: Emoji.SkinTone | null; story: StoryViewType; storyViewMode: StoryViewModeType; viewStory: ViewStoryActionCreatorType; @@ -178,7 +178,9 @@ export function StoryViewer({ useState(false); const [storyDuration, setStoryDuration] = useState(); const [hasConfirmHideStory, setHasConfirmHideStory] = useState(false); - const [reactionEmoji, setReactionEmoji] = useState(); + const [reactionEmoji, setReactionEmoji] = useState< + Emoji.Variant | undefined + >(); const [confirmDeleteStory, setConfirmDeleteStory] = useState< StoryViewType | undefined >(); diff --git a/ts/components/StoryViewsNRepliesModal.dom.stories.tsx b/ts/components/StoryViewsNRepliesModal.dom.stories.tsx index 527773e292..8f62b183c1 100644 --- a/ts/components/StoryViewsNRepliesModal.dom.stories.tsx +++ b/ts/components/StoryViewsNRepliesModal.dom.stories.tsx @@ -12,7 +12,7 @@ import { SendStatus } from '../messages/MessageSendState.std.ts'; import { StoryViewsNRepliesModal } from './StoryViewsNRepliesModal.dom.tsx'; import { getDefaultConversation } from '../test-helpers/getDefaultConversation.std.ts'; import { StoryViewTargetType } from '../types/Stories.std.ts'; -import { DEFAULT_PREFERRED_REACTION_EMOJI } from '../reactions/constants.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const { i18n } = window.SignalContext; @@ -40,7 +40,9 @@ export default { onReply: action('onReply'), onTextTooLong: action('onTextTooLong'), onSelectEmoji: action('onSelectEmoji'), - preferredReactionEmoji: DEFAULT_PREFERRED_REACTION_EMOJI, + preferredReactionEmoji: Emoji.getDefaultPreferredReactionEmojis( + Emoji.SkinTone.None + ), replies: [], views: [], viewTarget: StoryViewTargetType.Views, @@ -119,7 +121,7 @@ function getViewsAndReplies() { author: p4, conversationId: p4.id, id: generateUuid(), - reactionEmoji: 'โค๏ธ', + reactionEmoji: Emoji.HEART, timestamp: Date.now() - 5 * durations.MINUTE, }, { diff --git a/ts/components/StoryViewsNRepliesModal.dom.tsx b/ts/components/StoryViewsNRepliesModal.dom.tsx index 9410fc55f7..cfaa76e026 100644 --- a/ts/components/StoryViewsNRepliesModal.dom.tsx +++ b/ts/components/StoryViewsNRepliesModal.dom.tsx @@ -31,7 +31,6 @@ import { WidthBreakpoint } from './_util.std.ts'; import { getAvatarColor } from '../types/Colors.std.ts'; import { shouldNeverBeCalled } from '../util/shouldNeverBeCalled.std.ts'; import { ConfirmationDialog } from './ConfirmationDialog.dom.tsx'; -import type { EmojiSkinTone } from './fun/data/emojis.std.ts'; import { FunEmojiPicker } from './fun/FunEmojiPicker.dom.tsx'; import { FunEmojiPickerButton } from './fun/FunButton.dom.tsx'; import type { FunEmojiSelection } from './fun/panels/FunPanelEmojis.dom.tsx'; @@ -40,6 +39,7 @@ import { AxoContextMenu } from '../axo/AxoContextMenu.dom.tsx'; import type { AxoMenuBuilder } from '../axo/AxoMenuBuilder.dom.tsx'; import { drop } from '../util/drop.std.ts'; import type { ContactModalStateType } from '../types/globalModals.std.ts'; +import type { Emoji } from '../axo/emoji.std.ts'; const { noop, orderBy } = lodash; @@ -111,7 +111,7 @@ export type PropsType = { isInternalUser?: boolean; onChangeViewTarget: (target: StoryViewTargetType) => unknown; onClose: () => unknown; - onReact: (emoji: string) => unknown; + onReact: (emoji: Emoji.Variant) => unknown; onReply: ( message: string, bodyRanges: DraftBodyRanges, @@ -120,10 +120,10 @@ export type PropsType = { onTextTooLong: () => unknown; onSelectEmoji: (emojiSelection: FunEmojiSelection) => unknown; ourConversationId: string | undefined; - preferredReactionEmoji: ReadonlyArray; + preferredReactionEmoji: ReadonlyArray; replies: ReadonlyArray; showContactModal: (payload: ContactModalStateType) => void; - emojiSkinToneDefault: EmojiSkinTone | null; + emojiSkinToneDefault: Emoji.SkinTone | null; sortedGroupMembers?: ReadonlyArray; views: ReadonlyArray; viewTarget: StoryViewTargetType; diff --git a/ts/components/TextStoryCreator.dom.tsx b/ts/components/TextStoryCreator.dom.tsx index 3f8bb0b50b..ca57c4e10e 100644 --- a/ts/components/TextStoryCreator.dom.tsx +++ b/ts/components/TextStoryCreator.dom.tsx @@ -28,7 +28,6 @@ import { handleOutsideClick } from '../util/handleOutsideClick.dom.ts'; import { Spinner } from './Spinner.dom.tsx'; import { FunEmojiPicker } from './fun/FunEmojiPicker.dom.tsx'; import type { FunEmojiSelection } from './fun/panels/FunPanelEmojis.dom.tsx'; -import { getEmojiVariantByKey } from './fun/data/emojis.std.ts'; import { FunEmojiPickerButton } from './fun/FunButton.dom.tsx'; import { useConfirmDiscard } from '../hooks/useConfirmDiscard.dom.tsx'; @@ -341,8 +340,7 @@ export function TextStoryCreator({ const handleSelectEmoji = useCallback( (emojiSelection: FunEmojiSelection) => { - const emojiVariant = getEmojiVariantByKey(emojiSelection.variantKey); - const emojiValue = emojiVariant.value; + const { emoji } = emojiSelection; onSelectEmoji(emojiSelection); @@ -353,7 +351,7 @@ export function TextStoryCreator({ const before = originalText.substr(0, insertAt); const after = originalText.substr(insertAt, originalText.length); - return `${before}${emojiValue}${after}`; + return `${before}${emoji}${after}`; }); }, [onSelectEmoji] diff --git a/ts/components/conversation/AboutContactModal.dom.stories.tsx b/ts/components/conversation/AboutContactModal.dom.stories.tsx index 5b22fe9137..91c3c64028 100644 --- a/ts/components/conversation/AboutContactModal.dom.stories.tsx +++ b/ts/components/conversation/AboutContactModal.dom.stories.tsx @@ -8,6 +8,7 @@ import type { PropsType } from './AboutContactModal.dom.tsx'; import { AboutContactModal } from './AboutContactModal.dom.tsx'; import { type ComponentMeta } from '../../storybook/types.std.ts'; import { getDefaultConversation } from '../../test-helpers/getDefaultConversation.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; const { i18n } = window.SignalContext; @@ -107,7 +108,7 @@ export function MeWithLabel(args: PropsType): JSX.Element { ) { return ( @@ -40,7 +33,7 @@ export type PropsType = Readonly<{ i18n: LocalizerType; canAddLabel: boolean; contact: ConversationType; - contactLabelEmoji: string | undefined; + contactLabelEmoji: Emoji.Variant | undefined; contactLabelString: string | undefined; contactNameColor: string | undefined; fromOrAddedByTrustedContact?: boolean; @@ -135,23 +128,20 @@ export function AboutContactModal({ const shouldShowLabel = isMe && hasLabel; const shouldShowAddLabel = isMe && !hasLabel && canAddLabel && isEditMemberLabelEnabled; - const emojiLocalizer = useFunEmojiLocalizer(); let labelEmojiElement; if ( shouldShowLabel && contactLabelEmoji && - isEmojiVariantValue(contactLabelEmoji) + Emoji.isEmoji(contactLabelEmoji) ) { - const emojiKey = getEmojiVariantKeyByValue(contactLabelEmoji); - const labelEmojiData = getEmojiVariantByKey(emojiKey); labelEmojiElement = ( <> {' '} ); diff --git a/ts/components/conversation/ContactModal.dom.stories.tsx b/ts/components/conversation/ContactModal.dom.stories.tsx index e695390553..e6c3452ac1 100644 --- a/ts/components/conversation/ContactModal.dom.stories.tsx +++ b/ts/components/conversation/ContactModal.dom.stories.tsx @@ -12,6 +12,7 @@ import { ThemeType } from '../../types/Util.std.ts'; import { getDefaultConversation } from '../../test-helpers/getDefaultConversation.std.ts'; import { getFakeBadges } from '../../test-helpers/getFakeBadge.std.ts'; import { SignalService as Proto } from '../../protobuf/index.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; const ACCESS_ENUM = Proto.AccessControl.AccessRequired; @@ -85,7 +86,7 @@ AsNonAdmin.args = { export const WithLabel = Template.bind({}); WithLabel.args = { areWeAdmin: false, - contactLabelEmoji: '๐Ÿ’ช๐Ÿผ', + contactLabelEmoji: Emoji.getVariant(Emoji.MUSCLE, Emoji.SkinTone.Type2), contactLabelString: 'Strong', contactNameColor: '180', }; @@ -100,28 +101,28 @@ WithLabelNoEmoji.args = { export const WithLabelInvalidEmoji = Template.bind({}); WithLabelInvalidEmoji.args = { areWeAdmin: false, - contactLabelEmoji: '%', + contactLabelEmoji: Emoji.unsafeCastMaybeInvalidStringToVariant('%'), contactLabelString: 'Strong', contactNameColor: '220', }; export const LongLabel = Template.bind({}); LongLabel.args = { - contactLabelEmoji: '๐Ÿ', + contactLabelEmoji: Emoji.BEE, contactLabelString: '๐’ซ๐’ซ๐’ซ๐’ซ๐’ซ๐’ซ๐’ซ๐’ซ๐’ซ๐’ซ๐’ซ๐’ซ๐’ซ๐’ซ๐’ซ๐’ซ๐’ซ๐’ซ๐’ซ๐’ซ๐’ซ๐’ซ๐’ซ๐’ซ', contactNameColor: '270', }; export const LongLabel2 = Template.bind({}); LongLabel2.args = { - contactLabelEmoji: '๐Ÿ', + contactLabelEmoji: Emoji.BEE, contactLabelString: '๏ทฝ๏ทฝ๏ทฝ๏ทฝ๏ทฝ๏ทฝ๏ทฝ๏ทฝ๏ทฝ๏ทฝ๏ทฝ๏ทฝ๏ทฝ๏ทฝ๏ทฝ๏ทฝ๏ทฝ๏ทฝ๏ทฝ๏ทฝ๏ทฝ๏ทฝ๏ทฝ๏ทฝ', contactNameColor: '270', }; export const LongLabelAllEmoji = Template.bind({}); LongLabelAllEmoji.args = { - contactLabelEmoji: '๐Ÿ', + contactLabelEmoji: Emoji.BEE, contactLabelString: '๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ๐Ÿ', contactNameColor: '270', }; diff --git a/ts/components/conversation/ContactModal.dom.tsx b/ts/components/conversation/ContactModal.dom.tsx index b058fa67a8..16ca136eb0 100644 --- a/ts/components/conversation/ContactModal.dom.tsx +++ b/ts/components/conversation/ContactModal.dom.tsx @@ -40,6 +40,7 @@ import { tw } from '../../axo/tw.dom.tsx'; import { strictAssert } from '../../util/assert.std.ts'; import type { RemoveClientType } from '../../types/Calling.std.ts'; import type { ContactNameColorType } from '../../types/Colors.std.ts'; +import type { Emoji } from '../../axo/emoji.std.ts'; const ACCESS_ENUM = Proto.AccessControl.AccessRequired; @@ -51,7 +52,7 @@ export type PropsDataType = { areWeAdmin: boolean; badges: ReadonlyArray; contact?: ConversationType; - contactLabelEmoji: string | undefined; + contactLabelEmoji: Emoji.Variant | undefined; contactLabelString: string | undefined; contactNameColor: ContactNameColorType | undefined; conversation?: ConversationType; diff --git a/ts/components/conversation/ContactName.dom.stories.tsx b/ts/components/conversation/ContactName.dom.stories.tsx index 31d7290be0..d2b889d6cc 100644 --- a/ts/components/conversation/ContactName.dom.stories.tsx +++ b/ts/components/conversation/ContactName.dom.stories.tsx @@ -7,6 +7,7 @@ import type { Meta } from '@storybook/react'; import type { PropsType } from './ContactName.dom.tsx'; import { ContactName } from './ContactName.dom.tsx'; import { ContactNameColors } from '../../types/Colors.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; export default { title: 'Components/Conversation/ContactName', @@ -32,7 +33,7 @@ export function WithLongLabel(): JSX.Element { ))} @@ -113,7 +117,7 @@ export function ColorsWithInvalidLabelEmoji(): JSX.Element { title={`Hello ${color}`} contactNameColor={color} contactLabel={{ - labelEmoji: '&', + labelEmoji: Emoji.unsafeCastMaybeInvalidStringToVariant('&'), labelString: 'Task Wrangler', }} /> diff --git a/ts/components/conversation/ContactName.dom.tsx b/ts/components/conversation/ContactName.dom.tsx index cd6e2b2375..b499a5ea88 100644 --- a/ts/components/conversation/ContactName.dom.tsx +++ b/ts/components/conversation/ContactName.dom.tsx @@ -8,12 +8,6 @@ import type { ReactNode, JSX, MouseEvent } from 'react'; import { getClassNamesFor } from '../../util/getClassNamesFor.std.ts'; import { isSignalConversation as getIsSignalConversation } from '../../util/isSignalConversation.dom.ts'; -import { - getEmojiVariantByKey, - getEmojiVariantKeyByValue, - isEmojiVariantValue, -} from '../fun/data/emojis.std.ts'; -import { useFunEmojiLocalizer } from '../fun/useFunEmojiLocalizer.dom.tsx'; import { FunStaticEmoji } from '../fun/FunEmoji.dom.tsx'; import { missingEmojiPlaceholder } from '../../types/GroupMemberLabels.std.ts'; @@ -23,10 +17,11 @@ import type { ContactNameColorType } from '../../types/Colors.std.ts'; import type { FunStaticEmojiSize } from '../fun/FunEmoji.dom.tsx'; import { UserText } from '../UserText.dom.tsx'; import { OfficialChatInlineBadge } from './OfficialChatInlineBadge.dom.tsx'; +import { Emoji } from '../../axo/emoji.std.ts'; export type ContactNameData = { contactNameColor?: ContactNameColorType; - contactLabel?: { labelString: string; labelEmoji: string | undefined }; + contactLabel?: { labelString: string; labelEmoji: Emoji.Variant | undefined }; firstName?: string; isSignalConversation?: boolean; isMe?: boolean; @@ -134,7 +129,6 @@ export function GroupMemberLabel({ context: Context; module?: string; }): ReactNode { - const emojiLocalizer = useFunEmojiLocalizer(); const getClassName = getClassNamesFor('module-contact-name', module); if (!contactLabel) { @@ -144,10 +138,7 @@ export function GroupMemberLabel({ const { labelEmoji, labelString } = contactLabel; let emojiElement; - if (labelEmoji && isEmojiVariantValue(labelEmoji)) { - const emojiKey = getEmojiVariantKeyByValue(labelEmoji); - const emojiData = getEmojiVariantByKey(emojiKey); - + if (labelEmoji && Emoji.isEmoji(labelEmoji)) { emojiElement = ( ); diff --git a/ts/components/conversation/ConversationHero.dom.stories.tsx b/ts/components/conversation/ConversationHero.dom.stories.tsx index cc69c6199a..1fca553033 100644 --- a/ts/components/conversation/ConversationHero.dom.stories.tsx +++ b/ts/components/conversation/ConversationHero.dom.stories.tsx @@ -12,6 +12,7 @@ import { StorybookThemeContext } from '../../../.storybook/StorybookThemeContext import { getDefaultConversation } from '../../test-helpers/getDefaultConversation.std.ts'; import { ThemeType } from '../../types/Util.std.ts'; import type { GroupV2Membership } from './conversation-details/ConversationDetailsMembershipList.dom.tsx'; +import { Emoji } from '../../axo/emoji.std.ts'; const { i18n } = window.SignalContext; @@ -29,7 +30,7 @@ const createMemberships = ({ return Array.from(new Array(count)).map( (_, i): GroupV2Membership => ({ isAdmin: i % 3 === 0, - labelEmoji: i % 6 === 0 ? '๐ŸŸข' : undefined, + labelEmoji: i % 6 === 0 ? Emoji.GREEN_CIRCLE : undefined, labelString: i % 3 === 0 ? `Task Wrangler ${i}` : undefined, member: unknownContactIndices.includes(i) ? getDefaultConversation({ diff --git a/ts/components/conversation/Emojify.dom.tsx b/ts/components/conversation/Emojify.dom.tsx index bab5cdac66..bedbd939f6 100644 --- a/ts/components/conversation/Emojify.dom.tsx +++ b/ts/components/conversation/Emojify.dom.tsx @@ -1,20 +1,11 @@ // Copyright 2018 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only import type { CSSProperties, JSX } from 'react'; +import { useMemo } from 'react'; import type { RenderTextCallbackType } from '../../types/Util.std.ts'; -import { splitByEmoji } from '../../util/emoji.std.ts'; import { missingCaseError } from '../../util/missingCaseError.std.ts'; import { FunInlineEmoji } from '../fun/FunEmoji.dom.tsx'; -import { - getEmojiVariantByKey, - getEmojiVariantKeyByValue, - isEmojiVariantValue, - isEmojiVariantValueNonQualified, -} from '../fun/data/emojis.std.ts'; -import { createLogger } from '../../logging/log.std.ts'; -import { useFunEmojiLocalizer } from '../fun/useFunEmojiLocalizer.dom.tsx'; - -const log = createLogger('Emojify'); +import { Emoji } from '../../axo/emoji.std.ts'; export type Props = { fontSizeOverride?: number | null; @@ -34,43 +25,31 @@ export function Emojify({ renderNonEmoji = defaultRenderNonEmoji, style, }: Props): JSX.Element { - const emojiLocalizer = useFunEmojiLocalizer(); + const segments = useMemo(() => { + return Array.from(Emoji.getSegments(text)); + }, [text]); + return ( <> - {splitByEmoji(text).map(({ type, value: match }, index) => { - if (type === 'emoji') { - // If we don't recognize the emoji, render it as text. - if (!isEmojiVariantValue(match)) { - log.warn('Found emoji that we did not recognize', match.length); - return renderNonEmoji({ text: match, key: index }); - } - - // Render emoji as text if they are a non-qualified emoji value. - if (isEmojiVariantValueNonQualified(match)) { - return renderNonEmoji({ text: match, key: index }); - } - - const variantKey = getEmojiVariantKeyByValue(match); - const variant = getEmojiVariantByKey(variantKey); - + {segments.map(segment => { + if (segment.kind === 'emoji') { return ( ); } - if (type === 'text') { - return renderNonEmoji({ text: match, key: index }); + if (segment.kind === 'text') { + return renderNonEmoji({ text: segment.value, key: segment.offset }); } - throw missingCaseError(type); + throw missingCaseError(segment); })} ); diff --git a/ts/components/conversation/Linkify.dom.tsx b/ts/components/conversation/Linkify.dom.tsx index 560bfb4b05..765ce947c5 100644 --- a/ts/components/conversation/Linkify.dom.tsx +++ b/ts/components/conversation/Linkify.dom.tsx @@ -10,8 +10,8 @@ import { isLinkSneaky, shouldLinkifyMessage, } from '../../types/LinkPreview.std.ts'; -import { splitByEmoji } from '../../util/emoji.std.ts'; import { missingCaseError } from '../../util/missingCaseError.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; export const linkify = new LinkifyIt() // This is all TLDs in place in 2010, according to [IANA's root zone database][0] @@ -326,6 +326,11 @@ export const SUPPORTED_PROTOCOLS = /^(http|https):/i; const defaultRenderNonLink: RenderTextCallbackType = ({ text }) => text; +type ChunkDataItem = Readonly<{ + chunk: string; + matchData: ReadonlyArray; +}>; + export function Linkify(props: Props): JSX.Element { const { text, renderNonLink = defaultRenderNonLink } = props; @@ -333,19 +338,20 @@ export function Linkify(props: Props): JSX.Element { return <>{renderNonLink({ text, key: 1 })}; } - const chunkData: Array<{ - chunk: string; - matchData: ReadonlyArray; - }> = splitByEmoji(text).map(({ type, value: chunk }) => { - if (type === 'text') { + const segments = Array.from(Emoji.getSegments(text)); + + const chunkData = segments.map((segment): ChunkDataItem => { + const chunk = segment.value; + + if (segment.kind === 'text') { return { chunk, matchData: linkify.match(chunk) || [] }; } - if (type === 'emoji') { + if (segment.kind === 'emoji') { return { chunk, matchData: [] }; } - throw missingCaseError(type); + throw missingCaseError(segment); }); const results: Array = []; diff --git a/ts/components/conversation/Message.dom.tsx b/ts/components/conversation/Message.dom.tsx index b83c22b8b8..5d143fec1e 100644 --- a/ts/components/conversation/Message.dom.tsx +++ b/ts/components/conversation/Message.dom.tsx @@ -116,23 +116,14 @@ import { TapToViewNotAvailableType } from '../TapToViewNotAvailableModal.dom.tsx import type { DataPropsType as TapToViewNotAvailablePropsType } from '../TapToViewNotAvailableModal.dom.tsx'; import { FileThumbnail } from '../FileThumbnail.dom.tsx'; import { FunStaticEmoji } from '../fun/FunEmoji.dom.tsx'; -import { - type EmojifyData, - getEmojiDebugLabel, - getEmojifyData, - getEmojiParentByKey, - getEmojiParentKeyByVariantKey, - getEmojiVariantByKey, - getEmojiVariantKeyByValue, - isEmojiVariantValue, -} from '../fun/data/emojis.std.ts'; -import { useGroupedAndOrderedReactions } from '../../util/groupAndOrderReactions.dom.ts'; +import { useGroupedAndOrderedReactions } from '../../util/groupAndOrderReactions.std.ts'; import type { AxoMenuBuilder } from '../../axo/AxoMenuBuilder.dom.tsx'; import { AxoSymbol } from '../../axo/AxoSymbol.dom.tsx'; import type { RenderAudioAttachmentProps } from '../../state/smart/renderAudioAttachment.preload.tsx'; import type { MemberLabelType } from '../../types/GroupMemberLabels.std.ts'; import type { ContactModalStateType } from '../../types/globalModals.std.ts'; import { tw } from '../../axo/tw.dom.tsx'; +import { Emoji } from '../../axo/emoji.std.ts'; const { drop, take, unescape } = lodash; @@ -202,25 +193,18 @@ export type GiftBadgeType = state: GiftBadgeStates.Failed; }; -function ReactionEmoji(props: { emojiVariantValue: string }) { - if (!isEmojiVariantValue(props.emojiVariantValue)) { - log.error( - `Expected a valid emoji variant value, got ${getEmojiDebugLabel(props.emojiVariantValue)}` - ); - return null; - } - - const emojiVariantKey = getEmojiVariantKeyByValue(props.emojiVariantValue); - const emojiVariant = getEmojiVariantByKey(emojiVariantKey); - const emojiParentKey = getEmojiParentKeyByVariantKey(emojiVariantKey); - const emojiParent = getEmojiParentByKey(emojiParentKey); +type EmojifyData = Readonly<{ + text: string; + count: Emoji.JumboEmojiCount; +}>; +function ReactionEmoji(props: { emoji: Emoji.Variant }) { return ( ); } @@ -300,7 +284,7 @@ export type PropsData = { authorTitle: string; conversationColor: ConversationColorType; customColor?: CustomColorType; - emoji?: string; + emoji?: Emoji.Variant; isFromMe: boolean; rawAttachment?: QuotedAttachmentForUIType; storyId?: string; @@ -465,7 +449,7 @@ const MessageReactions = forwardRef(function MessageReactions( }: MessageReactionsProps, parentRef ): JSX.Element { - const ordered = useGroupedAndOrderedReactions(reactions, 'parentKey'); + const ordered = useGroupedAndOrderedReactions(reactions, 'parent'); const reactionsContainerRefMerger = useRef(createRefMerger()); @@ -578,7 +562,7 @@ const MessageReactions = forwardRef(function MessageReactions(
) : ( <> - + {re.count > 1 ? ( { this.#cachedEmojifyData == null || this.#cachedEmojifyData.text !== text ) { - this.#cachedEmojifyData = getEmojifyData(text); + this.#cachedEmojifyData = { + text, + count: Emoji.getJumboEmojiCount(text), + }; } const emojifyData = this.#cachedEmojifyData; - if ( - !emojifyData.isEmojiOnlyText || - emojifyData.emojiCount === 0 || - emojifyData.emojiCount >= 6 - ) { + if (emojifyData.count == null) { return false; } diff --git a/ts/components/conversation/MessageBody.dom.tsx b/ts/components/conversation/MessageBody.dom.tsx index a29de40f3d..0011cae069 100644 --- a/ts/components/conversation/MessageBody.dom.tsx +++ b/ts/components/conversation/MessageBody.dom.tsx @@ -12,30 +12,30 @@ import type { RenderLocation } from './MessageTextRenderer.dom.tsx'; import { UserText } from '../UserText.dom.tsx'; import { shouldLinkifyMessage } from '../../types/LinkPreview.std.ts'; import { FunJumboEmojiSize } from '../fun/FunEmoji.dom.tsx'; -import { getEmojifyData } from '../fun/data/emojis.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; +import { missingCaseError } from '../../util/missingCaseError.std.ts'; function getSizeClass(str: string): FunJumboEmojiSize | null { - const emojifyData = getEmojifyData(str); - // Do we have non-emoji characters? - if (!emojifyData.isEmojiOnlyText) { + const count = Emoji.getJumboEmojiCount(str); + if (count == null) { return null; } - if (emojifyData.emojiCount === 1) { + if (count === 1) { return FunJumboEmojiSize.Max; } - if (emojifyData.emojiCount === 2) { + if (count === 2) { return FunJumboEmojiSize.ExtraLarge; } - if (emojifyData.emojiCount === 3) { + if (count === 3) { return FunJumboEmojiSize.Large; } - if (emojifyData.emojiCount === 4) { + if (count === 4) { return FunJumboEmojiSize.Medium; } - if (emojifyData.emojiCount === 5) { + if (count === 5) { return FunJumboEmojiSize.Small; } - return null; + throw missingCaseError(count); } export type Props = { diff --git a/ts/components/conversation/MessageTextRenderer.dom.tsx b/ts/components/conversation/MessageTextRenderer.dom.tsx index 350b11e46c..4d6d06eec4 100644 --- a/ts/components/conversation/MessageTextRenderer.dom.tsx +++ b/ts/components/conversation/MessageTextRenderer.dom.tsx @@ -4,7 +4,6 @@ import { useMemo } from 'react'; import type { ReactElement, JSX } from 'react'; import classNames from 'classnames'; -import emojiRegex from 'emoji-regex'; import lodash from 'lodash'; import { linkify, SUPPORTED_PROTOCOLS } from './Linkify.dom.tsx'; @@ -26,10 +25,10 @@ import { Emojify } from './Emojify.dom.tsx'; import { AddNewLines } from './AddNewLines.dom.tsx'; import type { LocalizerType } from '../../types/Util.std.ts'; import type { FunJumboEmojiSize } from '../fun/FunEmoji.dom.tsx'; +import { Emoji } from '../../axo/emoji.std.ts'; const { sortBy } = lodash; -const EMOJI_REGEXP = emojiRegex(); export enum RenderLocation { ConversationList = 'ConversationList', Quote = 'Quote', @@ -444,7 +443,7 @@ function extractLinks( // to support emojis immediately before links // we replace emojis with a space for each byte const matches = linkify.match( - originalMessageText.replace(EMOJI_REGEXP, s => ' '.repeat(s.length)) + Emoji.replaceEmojiWithSpaces(originalMessageText) ); if (matches == null) { diff --git a/ts/components/conversation/Quote.dom.stories.tsx b/ts/components/conversation/Quote.dom.stories.tsx index b77bc8c1e4..58905cc330 100644 --- a/ts/components/conversation/Quote.dom.stories.tsx +++ b/ts/components/conversation/Quote.dom.stories.tsx @@ -26,6 +26,7 @@ import { getDefaultConversation } from '../../test-helpers/getDefaultConversatio import { WidthBreakpoint } from '../_util.std.ts'; import { ThemeType } from '../../types/Util.std.ts'; import { PaymentEventKind } from '../../types/Payment.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; const { i18n } = window.SignalContext; @@ -232,7 +233,7 @@ IncomingByAnotherWithLabel.args = { authorTitle: getDefaultConversation().title, isIncoming: true, authorLabel: { - labelEmoji: '1๏ธโƒฃ', + labelEmoji: Emoji.ONE, labelString: 'First', }, }; @@ -251,7 +252,7 @@ export function IncomingOutgoingColors(args: Props): JSX.Element { ...args, conversationColor: color, authorLabel: { - labelEmoji: '1๏ธโƒฃ', + labelEmoji: Emoji.ONE, labelString: 'First', }, }) @@ -630,7 +631,7 @@ IsStoryReplyEmoji.args = { url: pngUrl, }, }, - reactionEmoji: '๐Ÿ‹๏ธ', + reactionEmoji: Emoji.getDefaultVariant(Emoji.WEIGHT_LIFTER), }; export const Payment = Template.bind({}); diff --git a/ts/components/conversation/Quote.dom.tsx b/ts/components/conversation/Quote.dom.tsx index 849f3342eb..cd7bdf9747 100644 --- a/ts/components/conversation/Quote.dom.tsx +++ b/ts/components/conversation/Quote.dom.tsx @@ -33,6 +33,7 @@ import type { import type { AnyPaymentEvent } from '../../types/Payment.std.ts'; import type { QuotedAttachmentType } from '../../model-types.d.ts'; import type { MemberLabelType } from '../../types/GroupMemberLabels.std.ts'; +import type { Emoji } from '../../axo/emoji.std.ts'; const { noop } = lodash; @@ -64,7 +65,7 @@ export type Props = { payment?: AnyPaymentEvent; isGiftBadge: boolean; isViewOnce: boolean; - reactionEmoji?: string; + reactionEmoji?: Emoji.Variant; referencedMessageNotFound: boolean; doubleCheckMissingQuoteReference?: () => unknown; }; diff --git a/ts/components/conversation/ReactionPicker.dom.stories.tsx b/ts/components/conversation/ReactionPicker.dom.stories.tsx index 4d5350f88e..b57916eeea 100644 --- a/ts/components/conversation/ReactionPicker.dom.stories.tsx +++ b/ts/components/conversation/ReactionPicker.dom.stories.tsx @@ -7,7 +7,7 @@ import { action } from '@storybook/addon-actions'; import type { Meta } from '@storybook/react'; import type { Props as ReactionPickerProps } from './ReactionPicker.dom.tsx'; import { ReactionPicker } from './ReactionPicker.dom.tsx'; -import { DEFAULT_PREFERRED_REACTION_EMOJI } from '../../reactions/constants.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; const { i18n } = window.SignalContext; @@ -20,7 +20,9 @@ export function Base(): JSX.Element { ); } @@ -28,13 +30,23 @@ export function Base(): JSX.Element { export function SelectedReaction(): JSX.Element { return ( <> - {['โค๏ธ', '๐Ÿ‘', '๐Ÿ‘Ž', '๐Ÿ˜‚', '๐Ÿ˜ฎ', '๐Ÿ˜ข', '๐Ÿ˜ก'].map(e => ( + {[ + Emoji.HEART, + Emoji.getDefaultVariant(Emoji.THUMBS_UP), + Emoji.getDefaultVariant(Emoji.THUMBS_DOWN), + Emoji.JOY, + Emoji.OPEN_MOUTH, + Emoji.CRY, + Emoji.RAGE, + ].map(e => (
))} diff --git a/ts/components/conversation/ReactionPicker.dom.tsx b/ts/components/conversation/ReactionPicker.dom.tsx index f3640506b6..fcf0fadb0d 100644 --- a/ts/components/conversation/ReactionPicker.dom.tsx +++ b/ts/components/conversation/ReactionPicker.dom.tsx @@ -16,19 +16,18 @@ import { ReactionPickerPickerEmojiButton, ReactionPickerPickerStyle, } from '../ReactionPickerPicker.dom.tsx'; -import type { EmojiVariantKey } from '../fun/data/emojis.std.ts'; -import { getEmojiVariantByKey } from '../fun/data/emojis.std.ts'; import { FunEmojiPicker } from '../fun/FunEmojiPicker.dom.tsx'; import type { FunEmojiSelection } from '../fun/panels/FunPanelEmojis.dom.tsx'; +import type { Emoji } from '../../axo/emoji.std.ts'; export type OwnProps = { i18n: LocalizerType; - selected?: string; + selected?: Emoji.Variant; onClose?: () => unknown; - onPick: (emoji: string) => unknown; - preferredReactionEmoji: ReadonlyArray; + onPick: (emoji: Emoji.Variant) => unknown; + preferredReactionEmoji: ReadonlyArray; theme?: ThemeType; - messageEmojis?: ReadonlyArray; + messageEmojis?: ReadonlyArray; }; export type Props = OwnProps & Pick, 'style'>; @@ -70,8 +69,7 @@ export const ReactionPicker = forwardRef( const onSelectEmoji = useCallback( (emojiSelection: FunEmojiSelection) => { - const variant = getEmojiVariantByKey(emojiSelection.variantKey); - onPick(variant.value); + onPick(emojiSelection.emoji); }, [onPick] ); diff --git a/ts/components/conversation/ReactionViewer.dom.stories.tsx b/ts/components/conversation/ReactionViewer.dom.stories.tsx index 9a9d31bca7..b5750435b2 100644 --- a/ts/components/conversation/ReactionViewer.dom.stories.tsx +++ b/ts/components/conversation/ReactionViewer.dom.stories.tsx @@ -9,6 +9,7 @@ import type { Props } from './ReactionViewer.dom.tsx'; import { ReactionViewer } from './ReactionViewer.dom.tsx'; import { getDefaultConversation } from '../../test-helpers/getDefaultConversation.std.ts'; import { ThemeType } from '../../types/Util.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; const { i18n } = window.SignalContext; @@ -30,7 +31,7 @@ export function AllReactions(): JSX.Element { const props = createProps({ reactions: [ { - emoji: 'โค๏ธ', + emoji: Emoji.HEART, timestamp: 1, from: getDefaultConversation({ id: '+14155552671', @@ -40,7 +41,7 @@ export function AllReactions(): JSX.Element { }), }, { - emoji: 'โค๏ธ', + emoji: Emoji.HEART, timestamp: 2, from: getDefaultConversation({ id: '+14155552672', @@ -49,7 +50,7 @@ export function AllReactions(): JSX.Element { }), }, { - emoji: 'โค๏ธ', + emoji: Emoji.HEART, timestamp: 3, from: getDefaultConversation({ id: '+14155552673', @@ -58,7 +59,7 @@ export function AllReactions(): JSX.Element { }), }, { - emoji: 'โค๏ธ', + emoji: Emoji.HEART, timestamp: 4, from: getDefaultConversation({ id: '+14155552674', @@ -67,7 +68,7 @@ export function AllReactions(): JSX.Element { }), }, { - emoji: '๐Ÿ‘', + emoji: Emoji.getDefaultVariant(Emoji.THUMBS_UP), timestamp: 9, from: getDefaultConversation({ id: '+14155552678', @@ -77,7 +78,7 @@ export function AllReactions(): JSX.Element { }), }, { - emoji: '๐Ÿ‘Ž', + emoji: Emoji.getDefaultVariant(Emoji.THUMBS_DOWN), timestamp: 10, from: getDefaultConversation({ id: '+14155552673', @@ -86,7 +87,7 @@ export function AllReactions(): JSX.Element { }), }, { - emoji: '๐Ÿ˜‚', + emoji: Emoji.JOY, timestamp: 11, from: getDefaultConversation({ id: '+14155552674', @@ -95,7 +96,7 @@ export function AllReactions(): JSX.Element { }), }, { - emoji: '๐Ÿ˜ฎ', + emoji: Emoji.OPEN_MOUTH, timestamp: 12, from: getDefaultConversation({ id: '+14155552675', @@ -104,7 +105,7 @@ export function AllReactions(): JSX.Element { }), }, { - emoji: '๐Ÿ˜ข', + emoji: Emoji.CRY, timestamp: 13, from: getDefaultConversation({ id: '+14155552676', @@ -113,7 +114,7 @@ export function AllReactions(): JSX.Element { }), }, { - emoji: '๐Ÿ˜ก', + emoji: Emoji.RAGE, timestamp: 14, from: getDefaultConversation({ id: '+14155552676', @@ -128,10 +129,10 @@ export function AllReactions(): JSX.Element { export function PickedReaction(): JSX.Element { const props = createProps({ - pickedReaction: 'โค๏ธ', + pickedReaction: Emoji.HEART, reactions: [ { - emoji: 'โค๏ธ', + emoji: Emoji.HEART, from: getDefaultConversation({ id: '+14155552671', name: 'Amelia Briggs', @@ -141,7 +142,7 @@ export function PickedReaction(): JSX.Element { timestamp: Date.now(), }, { - emoji: '๐Ÿ‘', + emoji: Emoji.getDefaultVariant(Emoji.THUMBS_UP), from: getDefaultConversation({ id: '+14155552671', phoneNumber: '+14155552671', @@ -157,10 +158,10 @@ export function PickedReaction(): JSX.Element { export function PickedMissingReaction(): JSX.Element { const props = createProps({ - pickedReaction: '๐Ÿ˜ก', + pickedReaction: Emoji.RAGE, reactions: [ { - emoji: 'โค๏ธ', + emoji: Emoji.HEART, from: getDefaultConversation({ id: '+14155552671', name: 'Amelia Briggs', @@ -170,7 +171,7 @@ export function PickedMissingReaction(): JSX.Element { timestamp: Date.now(), }, { - emoji: '๐Ÿ‘', + emoji: Emoji.getDefaultVariant(Emoji.THUMBS_UP), from: getDefaultConversation({ id: '+14155552671', phoneNumber: '+14155552671', @@ -184,18 +185,16 @@ export function PickedMissingReaction(): JSX.Element { return ; } -const skinTones = [ - '\u{1F3FB}', - '\u{1F3FC}', - '\u{1F3FD}', - '\u{1F3FE}', - '\u{1F3FF}', -]; -const thumbsUpHands = skinTones.map(skinTone => `๐Ÿ‘${skinTone}`); -const okHands = skinTones.map(skinTone => `๐Ÿ‘Œ${skinTone}`).reverse(); +const thumbsUpHands = Emoji.SKIN_TONE_ORDER.map(skinTone => { + return Emoji.getVariant(Emoji.THUMBS_UP, skinTone); +}); + +const okHands = Emoji.SKIN_TONE_ORDER.map(skinTone => { + return Emoji.getVariant(Emoji.OK_HAND, skinTone); +}).toReversed(); const createReaction = ( - emoji: string, + emoji: Emoji.Variant, name: string, timestamp = Date.now() ) => ({ @@ -210,7 +209,7 @@ const createReaction = ( export function ReactionSkinTones(): JSX.Element { const props = createProps({ - pickedReaction: '๐Ÿ˜ก', + pickedReaction: Emoji.RAGE, reactions: [ ...thumbsUpHands.map((emoji, n) => createReaction(emoji, `Thumbs Up ${n + 1}`, Date.now() + n * 1000) diff --git a/ts/components/conversation/ReactionViewer.dom.tsx b/ts/components/conversation/ReactionViewer.dom.tsx index ed51f51206..81ed085efc 100644 --- a/ts/components/conversation/ReactionViewer.dom.tsx +++ b/ts/components/conversation/ReactionViewer.dom.tsx @@ -19,29 +19,14 @@ import type { ConversationType } from '../../state/ducks/conversations.preload.t import type { PreferredBadgeSelectorType } from '../../state/selectors/badges.preload.ts'; import { useEscapeHandling } from '../../hooks/useEscapeHandling.dom.ts'; import type { ThemeType } from '../../types/Util.std.ts'; -import type { - EmojiParentKey, - EmojiVariantKey, -} from '../fun/data/emojis.std.ts'; -import { - EMOJI_PARENT_KEY_CONSTANTS, - getEmojiDebugLabel, - getEmojiParentKeyByVariantKey, - getEmojiVariantByKey, - getEmojiVariantKeyByValue, - isEmojiVariantValue, -} from '../fun/data/emojis.std.ts'; import { strictAssert } from '../../util/assert.std.ts'; import { FunStaticEmoji } from '../fun/FunEmoji.dom.tsx'; -import { useFunEmojiLocalizer } from '../fun/useFunEmojiLocalizer.dom.tsx'; -import { createLogger } from '../../logging/log.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; const { mapValues, orderBy } = lodash; -const log = createLogger('ReactionViewer'); - export type Reaction = { - emoji: string; + emoji: Emoji.Variant; timestamp: number; from: Pick< ConversationType, @@ -60,7 +45,7 @@ export type Reaction = { export type OwnProps = { getPreferredBadge: PreferredBadgeSelectorType; reactions: Array; - pickedReaction?: string; + pickedReaction?: Emoji.Variant; onClose?: () => unknown; theme: ThemeType; }; @@ -70,49 +55,38 @@ export type Props = OwnProps & Pick; const DEFAULT_EMOJI_ORDER = [ - EMOJI_PARENT_KEY_CONSTANTS.RED_HEART, - EMOJI_PARENT_KEY_CONSTANTS.THUMBS_UP, - EMOJI_PARENT_KEY_CONSTANTS.THUMBS_DOWN, - EMOJI_PARENT_KEY_CONSTANTS.FACE_WITH_TEARS_OF_JOY, - EMOJI_PARENT_KEY_CONSTANTS.FACE_WITH_OPEN_MOUTH, - EMOJI_PARENT_KEY_CONSTANTS.CRYING_FACE, - EMOJI_PARENT_KEY_CONSTANTS.ENRAGED_FACE, + Emoji.HEART, + Emoji.THUMBS_UP, + Emoji.THUMBS_DOWN, + Emoji.JOY, + Emoji.OPEN_MOUTH, + Emoji.CRY, + Emoji.RAGE, ]; type ReactionCategory = { count: number; - emoji?: string; + emoji?: Emoji.Variant; id: string; index: number; }; type ReactionWithEmojiData = Reaction & Readonly<{ - parentKey: EmojiParentKey; - variantKey: EmojiVariantKey; + parent: Emoji.Parent; + variant: Emoji.Variant; }>; function ReactionViewerEmoji(props: { - emojiVariantValue: string | undefined; + emoji: Emoji.Variant | null; }): JSX.Element | null { - const emojiLocalizer = useFunEmojiLocalizer(); - strictAssert(props.emojiVariantValue != null, 'Expected an emoji'); - - if (!isEmojiVariantValue(props.emojiVariantValue)) { - log.error( - `Must be valid emoji variant value, got ${getEmojiDebugLabel(props.emojiVariantValue)}` - ); - return null; - } - - const emojiVariantKey = getEmojiVariantKeyByValue(props.emojiVariantValue); - const emojiVariant = getEmojiVariantByKey(emojiVariantKey); + strictAssert(props.emoji != null, 'Missing emoji'); return ( ); } @@ -133,13 +107,10 @@ export const ReactionViewer = forwardRef( const reactionsWithEmojiData = useMemo( () => reactions - .map(reaction => { - if (!isEmojiVariantValue(reaction.emoji)) { - return null; - } - const variantKey = getEmojiVariantKeyByValue(reaction.emoji); - const parentKey = getEmojiParentKeyByVariantKey(variantKey); - return { ...reaction, parentKey, variantKey }; + .map((reaction): ReactionWithEmojiData | null => { + const variant = reaction.emoji; + const parent = Emoji.getParent(reaction.emoji); + return { ...reaction, parent, variant }; }) .filter((data): data is ReactionWithEmojiData => { return data != null; @@ -149,7 +120,7 @@ export const ReactionViewer = forwardRef( const groupedAndSortedReactions = useMemo(() => { const groups = Object.groupBy(reactionsWithEmojiData, data => { - return data.parentKey; + return data.parent; }); return mapValues( @@ -177,9 +148,9 @@ export const ReactionViewer = forwardRef( const firstReaction = localUserReaction || groupedReactions[0]; strictAssert(firstReaction, 'Missing firstReaction'); return { - id: firstReaction.parentKey, - index: DEFAULT_EMOJI_ORDER.includes(firstReaction.parentKey) - ? DEFAULT_EMOJI_ORDER.indexOf(firstReaction.parentKey) + id: firstReaction.parent, + index: DEFAULT_EMOJI_ORDER.includes(firstReaction.parent) + ? DEFAULT_EMOJI_ORDER.indexOf(firstReaction.parent) : Infinity, emoji: firstReaction.emoji, count: groupedReactions.length, @@ -259,7 +230,7 @@ export const ReactionViewer = forwardRef(
) : ( <> - + {count} @@ -300,7 +271,7 @@ export const ReactionViewer = forwardRef( )}
- +
))} diff --git a/ts/components/conversation/TimelineMessage.dom.stories.tsx b/ts/components/conversation/TimelineMessage.dom.stories.tsx index 9c2d55ee7f..e248ea8bd5 100644 --- a/ts/components/conversation/TimelineMessage.dom.stories.tsx +++ b/ts/components/conversation/TimelineMessage.dom.stories.tsx @@ -44,6 +44,7 @@ import { PaymentEventKind } from '../../types/Payment.std.ts'; import type { RenderAudioAttachmentProps } from '../../state/smart/renderAudioAttachment.preload.tsx'; import type { PollVoteWithUserType } from '../../state/selectors/message.preload.ts'; import { generateAci } from '../../test-helpers/serviceIdUtils.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; const { isBoolean, noop } = lodash; @@ -98,7 +99,7 @@ const messageIdToAudioUrl = { function getJoyReaction() { return { - emoji: '๐Ÿ˜‚', + emoji: Emoji.JOY, from: getDefaultConversation({ id: '+14155552674', phoneNumber: '+14155552674', @@ -608,7 +609,7 @@ export function ReactionsWiderMessage(): JSX.Element { timestamp: Date.now() - 180 * 24 * 60 * 60 * 1000, reactions: [ { - emoji: '๐Ÿ‘', + emoji: Emoji.getDefaultVariant(Emoji.THUMBS_UP), from: getDefaultConversation({ isMe: true, id: '+14155552672', @@ -619,7 +620,7 @@ export function ReactionsWiderMessage(): JSX.Element { timestamp: Date.now() - 10, }, { - emoji: '๐Ÿ‘', + emoji: Emoji.getDefaultVariant(Emoji.THUMBS_UP), from: getDefaultConversation({ id: '+14155552672', phoneNumber: '+14155552672', @@ -629,7 +630,7 @@ export function ReactionsWiderMessage(): JSX.Element { timestamp: Date.now() - 10, }, { - emoji: '๐Ÿ‘', + emoji: Emoji.getDefaultVariant(Emoji.THUMBS_UP), from: getDefaultConversation({ id: '+14155552673', phoneNumber: '+14155552673', @@ -639,7 +640,7 @@ export function ReactionsWiderMessage(): JSX.Element { timestamp: Date.now() - 10, }, { - emoji: '๐Ÿ˜‚', + emoji: Emoji.JOY, from: getDefaultConversation({ id: '+14155552674', phoneNumber: '+14155552674', @@ -649,7 +650,7 @@ export function ReactionsWiderMessage(): JSX.Element { timestamp: Date.now() - 10, }, { - emoji: '๐Ÿ˜ก', + emoji: Emoji.RAGE, from: getDefaultConversation({ id: '+14155552677', phoneNumber: '+14155552677', @@ -659,7 +660,7 @@ export function ReactionsWiderMessage(): JSX.Element { timestamp: Date.now() - 10, }, { - emoji: '๐Ÿ‘Ž', + emoji: Emoji.getVariant(Emoji.THUMBS_DOWN, Emoji.SkinTone.None), from: getDefaultConversation({ id: '+14155552678', phoneNumber: '+14155552678', @@ -669,7 +670,7 @@ export function ReactionsWiderMessage(): JSX.Element { timestamp: Date.now() - 10, }, { - emoji: 'โค๏ธ', + emoji: Emoji.HEART, from: getDefaultConversation({ id: '+14155552679', phoneNumber: '+14155552679', @@ -693,7 +694,7 @@ export function ReactionsShortMessage(): JSX.Element { reactions: [ ...joyReactions, { - emoji: '๐Ÿ‘', + emoji: Emoji.getDefaultVariant(Emoji.THUMBS_UP), from: getDefaultConversation({ isMe: true, id: '+14155552672', @@ -704,7 +705,7 @@ export function ReactionsShortMessage(): JSX.Element { timestamp: Date.now(), }, { - emoji: '๐Ÿ‘', + emoji: Emoji.getDefaultVariant(Emoji.THUMBS_UP), from: getDefaultConversation({ id: '+14155552672', phoneNumber: '+14155552672', @@ -714,7 +715,7 @@ export function ReactionsShortMessage(): JSX.Element { timestamp: Date.now(), }, { - emoji: '๐Ÿ‘', + emoji: Emoji.getDefaultVariant(Emoji.THUMBS_UP), from: getDefaultConversation({ id: '+14155552673', phoneNumber: '+14155552673', @@ -724,7 +725,7 @@ export function ReactionsShortMessage(): JSX.Element { timestamp: Date.now(), }, { - emoji: '๐Ÿ˜ก', + emoji: Emoji.RAGE, from: getDefaultConversation({ id: '+14155552677', phoneNumber: '+14155552677', @@ -734,7 +735,7 @@ export function ReactionsShortMessage(): JSX.Element { timestamp: Date.now(), }, { - emoji: '๐Ÿ‘Ž', + emoji: Emoji.getVariant(Emoji.THUMBS_DOWN, Emoji.SkinTone.None), from: getDefaultConversation({ id: '+14155552678', phoneNumber: '+14155552678', @@ -744,7 +745,7 @@ export function ReactionsShortMessage(): JSX.Element { timestamp: Date.now(), }, { - emoji: 'โค๏ธ', + emoji: Emoji.HEART, from: getDefaultConversation({ id: '+14155552679', phoneNumber: '+14155552679', @@ -783,7 +784,7 @@ LabelInGroup.args = { text: 'Hello it is me, the saxophone.', contactNameColor: '260', contactLabel: { - labelEmoji: '๐Ÿ—', + labelEmoji: Emoji.POULTRY_LEG, labelString: 'Chicken Taster', }, }; @@ -799,7 +800,7 @@ LabelInGroupWithLongName.args = { }, contactNameColor: '260', contactLabel: { - labelEmoji: '๐Ÿ—', + labelEmoji: Emoji.POULTRY_LEG, labelString: 'Chicken Taster', }, }; @@ -815,7 +816,7 @@ LabelInGroupWithLongNameAndLongMessage.args = { }, contactNameColor: '260', contactLabel: { - labelEmoji: '๐Ÿ—', + labelEmoji: Emoji.POULTRY_LEG, labelString: 'Chicken Taster', }, }; @@ -868,7 +869,7 @@ StickerWithLabelInGroup.args = { status: 'sent', contactNameColor: '260', contactLabel: { - labelEmoji: '๐Ÿ—', + labelEmoji: Emoji.POULTRY_LEG, labelString: 'Chicken Taster', }, }; @@ -893,7 +894,7 @@ StickerWithLongNameAndLabelInGroup.args = { }, contactNameColor: '280', contactLabel: { - labelEmoji: '๐Ÿ—', + labelEmoji: Emoji.POULTRY_LEG, labelString: 'Chicken Taster', }, }; @@ -3408,7 +3409,7 @@ export const StoryReplyEmoji = (): JSX.Element => { storyReplyContext: { authorTitle: conversation.firstName || conversation.title, conversationColor: ConversationColors[0], - emoji: '๐Ÿ’„', + emoji: Emoji.LIPSTICK, isFromMe: false, rawAttachment: fakeAttachment({ url: '/fixtures/snow.jpg', diff --git a/ts/components/conversation/TimelineMessage.dom.tsx b/ts/components/conversation/TimelineMessage.dom.tsx index 56e347f797..957386788a 100644 --- a/ts/components/conversation/TimelineMessage.dom.tsx +++ b/ts/components/conversation/TimelineMessage.dom.tsx @@ -32,11 +32,12 @@ import type { import { useScrollerLock } from '../../hooks/useScrollLock.dom.tsx'; import { MessageContextMenu } from './MessageContextMenu.dom.tsx'; import { ForwardMessagesModalType } from '../ForwardMessagesModal.dom.tsx'; -import { useGroupedAndOrderedReactions } from '../../util/groupAndOrderReactions.dom.ts'; +import { useGroupedAndOrderedReactions } from '../../util/groupAndOrderReactions.std.ts'; import { isNotNil } from '../../util/isNotNil.std.ts'; import type { AxoMenuBuilder } from '../../axo/AxoMenuBuilder.dom.tsx'; import { AxoContextMenu } from '../../axo/AxoContextMenu.dom.tsx'; import { useDocumentKeyDown } from '../../hooks/useDocumentKeyDown.dom.ts'; +import type { Emoji } from '../../axo/emoji.std.ts'; const { useAxoContextMenuOutsideKeyboardTrigger } = AxoContextMenu; @@ -53,7 +54,7 @@ export type PropsData = { canReact: boolean; canReply: boolean; canPinMessage: boolean; - selectedReaction?: string; + selectedReaction?: Emoji.Variant; isTargeted?: boolean; isSignalConversation: boolean; } & Omit; @@ -66,7 +67,7 @@ export type PropsActions = { endPoll: (id: string) => void; reactToMessage: ( id: string, - { emoji, remove }: { emoji: string; remove: boolean } + { emoji, remove }: { emoji: Emoji.Variant; remove: boolean } ) => void; retryMessageSend: (id: string) => void; sendPollVote: (params: { @@ -309,13 +310,13 @@ export function TimelineMessage(props: Props): JSX.Element { const groupedReactions = useGroupedAndOrderedReactions( props.reactions, - 'variantKey' + 'variant' ); const messageEmojis = useMemo(() => { return groupedReactions .map(groupedReaction => { - return groupedReaction?.[0]?.variantKey; + return groupedReaction?.[0]?.variant; }) .filter(isNotNil); }, [groupedReactions]); diff --git a/ts/components/conversation/conversation-details/ConversationDetails.dom.stories.tsx b/ts/components/conversation/conversation-details/ConversationDetails.dom.stories.tsx index b2842e8ff6..76aa8f2822 100644 --- a/ts/components/conversation/conversation-details/ConversationDetails.dom.stories.tsx +++ b/ts/components/conversation/conversation-details/ConversationDetails.dom.stories.tsx @@ -22,6 +22,7 @@ import type { ContactNameColorType } from '../../../types/Colors.std.ts'; import { ContactNameColors } from '../../../types/Colors.std.ts'; import { isNotNil } from '../../../util/isNotNil.std.ts'; import { strictAssert } from '../../../util/assert.std.ts'; +import { Emoji } from '../../../axo/emoji.std.ts'; const { times } = lodash; @@ -48,7 +49,7 @@ const createProps = ( ): Props => { const memberships = times(32, i => ({ isAdmin: i === 1, - labelEmoji: i % 6 === 0 ? '๐ŸŸข' : undefined, + labelEmoji: i % 6 === 0 ? Emoji.GREEN_CIRCLE : undefined, labelString: i % 3 === 0 ? `Task Wrangler ${i}` : undefined, member: getDefaultConversation({ isMe: i === 2, @@ -220,7 +221,7 @@ export function AsLastAdmin(): JSX.Element { isAdmin memberships={times(32, i => ({ isAdmin: i === 2, - labelEmoji: i % 6 === 0 ? '๐ŸŸข' : undefined, + labelEmoji: i % 6 === 0 ? Emoji.GREEN_CIRCLE : undefined, labelString: i % 3 === 0 ? `Last Admin ${i}` : undefined, member: getDefaultConversation({ isMe: i === 2, diff --git a/ts/components/conversation/conversation-details/ConversationDetailsMembershipList.dom.stories.tsx b/ts/components/conversation/conversation-details/ConversationDetailsMembershipList.dom.stories.tsx index c0e7554b1d..8658d60020 100644 --- a/ts/components/conversation/conversation-details/ConversationDetailsMembershipList.dom.stories.tsx +++ b/ts/components/conversation/conversation-details/ConversationDetailsMembershipList.dom.stories.tsx @@ -15,6 +15,7 @@ import type { import { ConversationDetailsMembershipList } from './ConversationDetailsMembershipList.dom.tsx'; import type { ContactNameColorType } from '../../../types/Colors.std.ts'; import { ContactNameColors } from '../../../types/Colors.std.ts'; +import { Emoji } from '../../../axo/emoji.std.ts'; const { i18n } = window.SignalContext; @@ -24,7 +25,7 @@ const createMemberships = ( return Array.from(new Array(numberOfMemberships)).map( (_, i): GroupV2Membership => ({ isAdmin: i % 4 === 0, - labelEmoji: i % 6 === 0 ? '๐ŸŸข' : undefined, + labelEmoji: i % 6 === 0 ? Emoji.GREEN_CIRCLE : undefined, labelString: i % 3 === 0 ? `Task Wrangler ${i}` : undefined, member: getDefaultConversation({ isMe: i === 2, diff --git a/ts/components/conversation/conversation-details/ConversationDetailsMembershipList.dom.tsx b/ts/components/conversation/conversation-details/ConversationDetailsMembershipList.dom.tsx index 7cf292774c..f5cbaab440 100644 --- a/ts/components/conversation/conversation-details/ConversationDetailsMembershipList.dom.tsx +++ b/ts/components/conversation/conversation-details/ConversationDetailsMembershipList.dom.tsx @@ -20,11 +20,12 @@ import { GroupMemberLabel } from '../ContactName.dom.tsx'; import { AriaClickable } from '../../../axo/AriaClickable.dom.tsx'; import type { ContactModalStateType } from '../../../types/globalModals.std.ts'; import type { ContactNameColorType } from '../../../types/Colors.std.ts'; +import type { Emoji } from '../../../axo/emoji.std.ts'; export type GroupV2Membership = { isAdmin: boolean; member: ConversationType; - labelEmoji: string | undefined; + labelEmoji: Emoji.Variant | undefined; labelString: string | undefined; }; diff --git a/ts/components/conversation/conversation-details/GroupMemberLabelEditor.dom.stories.tsx b/ts/components/conversation/conversation-details/GroupMemberLabelEditor.dom.stories.tsx index 4e90e5b9d2..55df9eeaa2 100644 --- a/ts/components/conversation/conversation-details/GroupMemberLabelEditor.dom.stories.tsx +++ b/ts/components/conversation/conversation-details/GroupMemberLabelEditor.dom.stories.tsx @@ -16,16 +16,36 @@ import { SECOND } from '../../../util/durations/constants.std.ts'; import { sleep } from '../../../util/sleep.std.ts'; import { SignalService as Proto } from '../../../protobuf/index.std.ts'; import { ContactNameColors } from '../../../types/Colors.std.ts'; +import { Emoji } from '../../../axo/emoji.std.ts'; const { i18n } = window.SignalContext; +function getRandomEmoji() { + return sample([ + Emoji.BLACK_CIRCLE, + Emoji.HEART, + Emoji.DOTTED_LINE_FACE, + Emoji.WHITE_HEART, + Emoji.TWO, + Emoji.THREE, + Emoji.CLINKING_GLASSES, + Emoji.CONFETTI_BALL, + Emoji.PLUS, + Emoji.FACE_WITH_SPIRAL_EYES, + Emoji.BIKE, + Emoji.DOG, + Emoji.CAT, + Emoji.HOUSE, + ]); +} + export default { title: 'Components/Conversation/ConversationDetails/GroupMemberLabelEditor', } satisfies Meta; const createProps = (): PropsType => ({ canAddLabel: true, - existingLabelEmoji: '๐Ÿ˜', + existingLabelEmoji: Emoji.ELEPHANT, existingLabelString: 'Good Memory', getPreferredBadge: () => undefined, group: getDefaultConversation({ type: 'group' }), @@ -134,22 +154,7 @@ export function AFewMembersWithLabel(): JSX.Element { (contactNameColor, i) => ({ member: getDefaultConversation(), isAdmin: i <= 2, - labelEmoji: sample([ - 'โšซ', - 'โค๏ธ', - '๐Ÿซฅ', - '๐Ÿค', - '2๏ธโƒฃ', - '3๏ธโƒฃ', - '๐Ÿฅ‚', - '๐ŸŽŠ', - 'โž•', - '๐Ÿ˜ตโ€๐Ÿ’ซ', - '๐Ÿšฒ', - '๐Ÿถ', - '๐Ÿฑ', - '๐Ÿ ', - ]), + labelEmoji: getRandomEmoji(), labelString: i % 2 === 0 ? `Label number long long long long long long long long long ${i}` @@ -170,22 +175,7 @@ export function LotsOfMembersWithLabel(): JSX.Element { membersWithLabel={ContactNameColors.map((contactNameColor, i) => ({ member: getDefaultConversation(), isAdmin: i <= 6, - labelEmoji: sample([ - 'โšซ', - 'โค๏ธ', - '๐Ÿซฅ', - '๐Ÿค', - '2๏ธโƒฃ', - '3๏ธโƒฃ', - '๐Ÿฅ‚', - '๐ŸŽŠ', - 'โž•', - '๐Ÿ˜ตโ€๐Ÿ’ซ', - '๐Ÿšฒ', - '๐Ÿถ', - '๐Ÿฑ', - '๐Ÿ ', - ]), + labelEmoji: getRandomEmoji(), labelString: i % 2 === 0 ? `Label number long long long long long long long long long ${i}` diff --git a/ts/components/conversation/conversation-details/GroupMemberLabelEditor.dom.tsx b/ts/components/conversation/conversation-details/GroupMemberLabelEditor.dom.tsx index d19cb7c474..b565948edc 100644 --- a/ts/components/conversation/conversation-details/GroupMemberLabelEditor.dom.tsx +++ b/ts/components/conversation/conversation-details/GroupMemberLabelEditor.dom.tsx @@ -6,11 +6,6 @@ import { noop } from 'lodash'; import { Input } from '../../Input.dom.tsx'; import { FunEmojiPicker } from '../../fun/FunEmojiPicker.dom.tsx'; -import { - getEmojiVariantByKey, - getEmojiVariantKeyByValue, - isEmojiVariantValue, -} from '../../fun/data/emojis.std.ts'; import { FunEmojiPickerButton } from '../../fun/FunButton.dom.tsx'; import { tw } from '../../../axo/tw.dom.tsx'; import { AxoButton } from '../../../axo/AxoButton.dom.tsx'; @@ -33,8 +28,6 @@ import { GroupMemberLabel } from '../ContactName.dom.tsx'; import { useConfirmDiscard } from '../../../hooks/useConfirmDiscard.dom.tsx'; import { NavTab } from '../../../types/Nav.std.ts'; import { PanelType } from '../../../types/Panels.std.ts'; - -import type { EmojiVariantKey } from '../../fun/data/emojis.std.ts'; import type { ConversationType, UpdateGroupMemberLabelType, @@ -43,10 +36,11 @@ import type { LocalizerType, ThemeType } from '../../../types/Util.std.ts'; import type { PreferredBadgeSelectorType } from '../../../state/selectors/badges.preload.ts'; import type { Location } from '../../../types/Nav.std.ts'; import { usePrevious } from '../../../hooks/usePrevious.std.ts'; +import type { Emoji } from '../../../axo/emoji.std.ts'; export type PropsDataType = { canAddLabel: boolean; - existingLabelEmoji: string | undefined; + existingLabelEmoji: Emoji.Variant | undefined; existingLabelString: string | undefined; group: ConversationType; i18n: LocalizerType; @@ -55,7 +49,7 @@ export type PropsDataType = { membersWithLabel: Array<{ contactNameColor: ContactNameColorType; isAdmin: boolean; - labelEmoji: string | undefined; + labelEmoji: Emoji.Variant | undefined; labelString: string; member: ConversationType; }>; @@ -84,14 +78,6 @@ export function getLeafPanelOnly( ); } -function getEmojiVariantKey(value: string): EmojiVariantKey | undefined { - if (isEmojiVariantValue(value)) { - return getEmojiVariantKeyByValue(value); - } - - return undefined; -} - export function GroupMemberLabelEditor({ canAddLabel, group, @@ -118,7 +104,6 @@ export function GroupMemberLabelEditor({ const [emojiPickerOpen, setEmojiPickerOpen] = useState(false); - const emojiKey = labelEmoji ? getEmojiVariantKey(labelEmoji) : null; const [isSaving, setIsSaving] = useState(false); const labelStringForSave = labelString ? labelString.trim() : labelString; @@ -185,14 +170,12 @@ export function GroupMemberLabelEditor({ onOpenChange={(open: boolean) => setEmojiPickerOpen(open)} placement="bottom" onSelectEmoji={data => { - const newEmoji = getEmojiVariantByKey(data.variantKey)?.value; - - setLabelEmoji(newEmoji); + setLabelEmoji(data.emoji); }} closeOnSelect theme={theme} > - + } maxLengthCount={STRING_GRAPHEME_LIMIT} diff --git a/ts/components/fun/FunButton.dom.tsx b/ts/components/fun/FunButton.dom.tsx index cb82b3d7bc..0b3948226a 100644 --- a/ts/components/fun/FunButton.dom.tsx +++ b/ts/components/fun/FunButton.dom.tsx @@ -1,15 +1,11 @@ // Copyright 2025 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only -import { useMemo, type JSX } from 'react'; +import { type JSX } from 'react'; import { VisuallyHidden } from 'react-aria'; import { Button } from 'react-aria-components'; import type { LocalizerType } from '../../types/I18N.std.ts'; -import { - type EmojiVariantKey, - getEmojiVariantByKey, -} from './data/emojis.std.ts'; import { FunStaticEmoji } from './FunEmoji.dom.tsx'; -import { useFunEmojiLocalizer } from './useFunEmojiLocalizer.dom.tsx'; +import { Emoji } from '../../axo/emoji.std.ts'; /** * Fun Picker Button @@ -34,7 +30,7 @@ export function FunPickerButton(props: FunPickerButtonProps): JSX.Element { */ export type FunEmojiPickerButtonProps = Readonly<{ - selectedEmoji?: EmojiVariantKey | null; + selectedEmoji?: Emoji.Variant | null; i18n: LocalizerType; }>; @@ -42,26 +38,15 @@ export function FunEmojiPickerButton( props: FunEmojiPickerButtonProps ): JSX.Element { const { i18n } = props; - const emojiLocalizer = useFunEmojiLocalizer(); - - const emojiVarant = useMemo(() => { - if (props.selectedEmoji == null) { - return null; - } - - const variantKey = props.selectedEmoji; - const variant = getEmojiVariantByKey(variantKey); - return variant; - }, [props.selectedEmoji]); return ( ); diff --git a/ts/quill/mentions/blot.dom.tsx b/ts/quill/mentions/blot.dom.tsx index 41a2149290..64094a864b 100644 --- a/ts/quill/mentions/blot.dom.tsx +++ b/ts/quill/mentions/blot.dom.tsx @@ -8,7 +8,6 @@ import { createRoot } from 'react-dom/client'; import { Emojify } from '../../components/conversation/Emojify.dom.tsx'; import { normalizeAci } from '../../util/normalizeAci.std.ts'; import type { MentionBlotValue } from '../util.dom.ts'; -import { FunEmojiLocalizationProvider } from '../../components/fun/FunEmojiLocalizationProvider.dom.tsx'; import { AxoProvider } from '../../axo/AxoProvider.dom.tsx'; const { i18n } = window.SignalContext; @@ -52,14 +51,12 @@ export class MentionBlot extends EmbedBlot { createRoot(mentionSpan).render( - - - - @ - - - - + + + @ + + + ); diff --git a/ts/quill/signal-clipboard/util.dom.ts b/ts/quill/signal-clipboard/util.dom.ts index 430c061297..4931768f01 100644 --- a/ts/quill/signal-clipboard/util.dom.ts +++ b/ts/quill/signal-clipboard/util.dom.ts @@ -78,9 +78,9 @@ function getStringFromNode( } const element = node; - const emojiValue = getFunEmojiElementValue(element); - if (emojiValue != null) { - return emojiValue; + const emoji = getFunEmojiElementValue(element); + if (emoji != null) { + return emoji; } // Sometimes we need to add multiple newlines to represent nested divs, and other times diff --git a/ts/quill/util.dom.ts b/ts/quill/util.dom.ts index 269d5dbfcf..86fad852f8 100644 --- a/ts/quill/util.dom.ts +++ b/ts/quill/util.dom.ts @@ -1,10 +1,8 @@ // Copyright 2020 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only -import emojiRegex from 'emoji-regex'; import { Delta } from '@signalapp/quill-cjs'; import type { AttributeMap, Op, Parchment } from '@signalapp/quill-cjs'; - import type { DisplayNode, DraftBodyRange, @@ -19,15 +17,8 @@ import { } from './formatting/menu.dom.tsx'; import { isNotNil } from '../util/isNotNil.std.ts'; import type { AciString } from '../types/ServiceId.std.ts'; -import { - getEmojiDebugLabel, - getEmojiVariantByKey, - getEmojiVariantKeyByValue, - isSafeEmojifyEmoji, -} from '../components/fun/data/emojis.std.ts'; -import { createLogger } from '../logging/log.std.ts'; - -const log = createLogger('quill/util'); +import { Emoji } from '../axo/emoji.std.ts'; +import { missingCaseError } from '../util/missingCaseError.std.ts'; export type Matcher = ( node: HTMLElement, @@ -431,39 +422,29 @@ export const insertEmojiOps = ( incomingOps: ReadonlyArray, existingAttributes: AttributeMap ): Array => { - return incomingOps.reduce>((ops, op) => { - if (typeof op.insert === 'string') { - const text = op.insert; - const { attributes } = op; - const re = emojiRegex(); - let index = 0; - let match: RegExpExecArray | null; + const result: Array = []; - // oxlint-disable-next-line no-cond-assign - while ((match = re.exec(text))) { - const [emojiMatch] = match; - if (!isSafeEmojifyEmoji(emojiMatch)) { - log.error( - `Expected a valid emoji variant value, got ${getEmojiDebugLabel(emojiMatch)}` - ); + for (const op of incomingOps) { + if (typeof op.insert === 'string') { + for (const segment of Emoji.getSegments(op.insert)) { + if (segment.kind === 'text') { + result.push({ insert: segment.value, attributes: op.attributes }); continue; } - const variantKey = getEmojiVariantKeyByValue(emojiMatch); - const variant = getEmojiVariantByKey(variantKey); - ops.push({ insert: text.slice(index, match.index), attributes }); - ops.push({ - insert: { emoji: { value: variant.value } }, - attributes: { ...existingAttributes, ...attributes }, - }); - index = match.index + variant.value.length; + if (segment.kind === 'emoji') { + const emoji = { value: segment.value }; + const attributes = { ...existingAttributes, ...op.attributes }; + result.push({ insert: { emoji }, attributes }); + continue; + } + + throw missingCaseError(segment); } - - ops.push({ insert: text.slice(index, text.length), attributes }); } else { - ops.push(op); + result.push(op); } + } - return ops; - }, []); + return result; }; diff --git a/ts/reactions/constants.std.ts b/ts/reactions/constants.std.ts deleted file mode 100644 index 830613298c..0000000000 --- a/ts/reactions/constants.std.ts +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 2021 Signal Messenger, LLC -// SPDX-License-Identifier: AGPL-3.0-only - -import { EMOJI_PARENT_KEY_CONSTANTS } from '../components/fun/data/emojis.std.ts'; - -export const DEFAULT_PREFERRED_REACTION_EMOJI_PARENT_KEYS = [ - EMOJI_PARENT_KEY_CONSTANTS.RED_HEART, - EMOJI_PARENT_KEY_CONSTANTS.THUMBS_UP, - EMOJI_PARENT_KEY_CONSTANTS.THUMBS_DOWN, - EMOJI_PARENT_KEY_CONSTANTS.FACE_WITH_TEARS_OF_JOY, - EMOJI_PARENT_KEY_CONSTANTS.FACE_WITH_OPEN_MOUTH, - EMOJI_PARENT_KEY_CONSTANTS.CRYING_FACE, -]; - -// This is used in storybook for simplicity. Normally we prefer to convert emoji short -// names to actual emoji using convertShortNameToData from components/emoji/lib -// because it takes skin tone into consideration. -/** @testexport */ -export const DEFAULT_PREFERRED_REACTION_EMOJI = [ - 'โค๏ธ', - '๐Ÿ‘', - '๐Ÿ‘Ž', - '๐Ÿ˜‚', - '๐Ÿ˜ฎ', - '๐Ÿ˜ข', -]; diff --git a/ts/reactions/enqueueReactionForSend.preload.ts b/ts/reactions/enqueueReactionForSend.preload.ts index a405fe210b..ce4cbf68e6 100644 --- a/ts/reactions/enqueueReactionForSend.preload.ts +++ b/ts/reactions/enqueueReactionForSend.preload.ts @@ -24,6 +24,7 @@ import { isAciString } from '../util/isAciString.std.ts'; import { SendStatus } from '../messages/MessageSendState.std.ts'; import { createLogger } from '../logging/log.std.ts'; import { getMessageIdForLogging } from '../util/idForLogging.preload.ts'; +import type { Emoji } from '../axo/emoji.std.ts'; const log = createLogger('enqueueReactionForSend'); @@ -32,7 +33,7 @@ export async function enqueueReactionForSend({ messageId, remove, }: Readonly<{ - emoji: string; + emoji: Emoji.Variant; messageId: string; remove: boolean; }>): Promise { diff --git a/ts/reactions/isValidReactionEmoji.std.ts b/ts/reactions/isValidReactionEmoji.std.ts deleted file mode 100644 index 4ac416ff05..0000000000 --- a/ts/reactions/isValidReactionEmoji.std.ts +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2021 Signal Messenger, LLC -// SPDX-License-Identifier: AGPL-3.0-only - -import emojiRegex from 'emoji-regex'; -import { getGraphemes } from '../util/grapheme.std.ts'; -import { take, size } from '../util/iterables.std.ts'; - -export function isValidReactionEmoji(value: unknown): value is string { - if (typeof value !== 'string') { - return false; - } - - // This is effectively `countGraphemes(value) === 1`, but doesn't require iterating - // through an extremely long string. - const graphemes = getGraphemes(value); - const truncatedGraphemes = take(graphemes, 2); - if (size(truncatedGraphemes) !== 1) { - return false; - } - - return emojiRegex().test(value); -} diff --git a/ts/reactions/preferredReactionEmoji.std.ts b/ts/reactions/preferredReactionEmoji.std.ts index d2b046fe8a..db3e59a4a6 100644 --- a/ts/reactions/preferredReactionEmoji.std.ts +++ b/ts/reactions/preferredReactionEmoji.std.ts @@ -1,66 +1,39 @@ // Copyright 2021 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only -import lodash from 'lodash'; -import { createLogger } from '../logging/log.std.ts'; -import { DEFAULT_PREFERRED_REACTION_EMOJI_PARENT_KEYS } from './constants.std.ts'; -import { isValidReactionEmoji } from './isValidReactionEmoji.std.ts'; -import { - getEmojiVariantByParentKeyAndSkinTone, - type EmojiSkinTone, -} from '../components/fun/data/emojis.std.ts'; - -const { times } = lodash; - -const log = createLogger('preferredReactionEmoji'); +import { Emoji } from '../axo/emoji.std.ts'; const MAX_STORED_LENGTH = 20; const MAX_ITEM_LENGTH = 20; -const PREFERRED_REACTION_EMOJI_COUNT = - DEFAULT_PREFERRED_REACTION_EMOJI_PARENT_KEYS.length; - export function getPreferredReactionEmoji( - storedValue: unknown, - emojiSkinToneDefault: EmojiSkinTone -): Array { - const storedValueAsArray: Array = Array.isArray(storedValue) - ? storedValue - : []; + storedValueTyped: ReadonlyArray | undefined, + emojiSkinToneDefault: Emoji.SkinTone +): Array { + const storedValue = storedValueTyped as Array; - return times(PREFERRED_REACTION_EMOJI_COUNT, index => { - const storedItem: unknown = storedValueAsArray[index]; - if (isValidReactionEmoji(storedItem)) { - return storedItem; + const defaultEmojis = + Emoji.getDefaultPreferredReactionEmojis(emojiSkinToneDefault); + + return defaultEmojis.map((defaultEmoji, index) => { + const storedItem = storedValue?.[index]; + if (storedItem != null && Emoji.isEmoji(storedItem)) { + return Emoji.ignorePreferredSkinTone(storedItem); } - const fallbackParentKey = - DEFAULT_PREFERRED_REACTION_EMOJI_PARENT_KEYS.at(index); - if (fallbackParentKey == null) { - log.error( - 'Index is out of range. Is the preferred count larger than the list of fallbacks?' - ); - return 'โค๏ธ'; - } - - const fallbackEmoji = getEmojiVariantByParentKeyAndSkinTone( - fallbackParentKey, - emojiSkinToneDefault - ); - if (fallbackEmoji == null) { - log.error( - 'No fallback emoji. Does the fallback list contain an invalid short name?' - ); - return 'โค๏ธ'; - } - - return fallbackEmoji.value; + return defaultEmoji; }); } -export const canBeSynced = (value: unknown): value is Array => - Array.isArray(value) && - value.length <= MAX_STORED_LENGTH && - value.every( - item => typeof item === 'string' && item.length <= MAX_ITEM_LENGTH +export function canBeSynced( + typedValue: ReadonlyArray | undefined +): typedValue is Array { + const value: unknown = typedValue; + return ( + Array.isArray(value) && + value.length <= MAX_STORED_LENGTH && + value.every(item => { + return typeof item === 'string' && item.length <= MAX_ITEM_LENGTH; + }) ); +} diff --git a/ts/reactions/util.std.ts b/ts/reactions/util.std.ts index db53266e19..945d28c66f 100644 --- a/ts/reactions/util.std.ts +++ b/ts/reactions/util.std.ts @@ -4,6 +4,7 @@ import lodash from 'lodash'; import type { MessageReactionType } from '../model-types.d.ts'; import { areObjectEntriesEqual } from '../util/areObjectEntriesEqual.std.ts'; +import type { Emoji } from '../axo/emoji.std.ts'; const { findLastIndex, has, identity, omit, negate } = lodash; @@ -50,7 +51,7 @@ export function getNewestPendingOutgoingReaction( | { pendingReaction?: undefined; emojiToRemove?: undefined } | { pendingReaction: MessageReactionType; - emojiToRemove?: string; + emojiToRemove?: Emoji.Variant; } { const ourReactions = reactions .filter(({ fromId }) => fromId === ourConversationId) diff --git a/ts/services/allLoaders.preload.ts b/ts/services/allLoaders.preload.ts index 655f159d87..0593e4c2d3 100644 --- a/ts/services/allLoaders.preload.ts +++ b/ts/services/allLoaders.preload.ts @@ -20,18 +20,20 @@ import { getDonationsForRedux, loadDonationReceipts, } from './donationsLoader.preload.ts'; +import { loadLocalizedEmojiList } from './localizedEmojiListLoader.dom.ts'; import { getStoriesForRedux, loadStories } from './storyLoader.preload.ts'; import { getUserDataForRedux, loadUserData } from './userLoader.dom.ts'; import { loadCachedProfiles as loadNotificationProfiles, getCachedProfiles as getNotificationProfiles, } from './notificationProfilesService.preload.ts'; +import { + getRecentEmojisForRedux, + loadRecentEmojis, +} from './recentEmojisLoader.preload.ts'; // old-style loaders -import { - getEmojiReducerState, - loadRecentEmojis, -} from '../util/loadRecentEmojis.preload.ts'; + import { load as loadStickers, getInitialState as getStickersReduxState, @@ -55,6 +57,7 @@ export async function loadAll(): Promise { loadDistributionLists(), loadDonationReceipts(), loadGifsState(), + loadLocalizedEmojiList(), loadNotificationProfiles(), loadRecentEmojis(), loadStickers(), @@ -78,12 +81,12 @@ export function getParametersForRedux(): ReduxInitData { callLinks: getCallLinksForRedux(), chatFolders: getChatFoldersForRedux(), donations: getDonationsForRedux(), + emojis: getRecentEmojisForRedux(), gifs: getGifsStateForRedux(), mainWindowStats, menuOptions, megaphones: getInitialMegaphonesState(), notificationProfiles: getNotificationProfiles(), - recentEmoji: getEmojiReducerState(), stickers: getStickersReduxState(), stories: getStoriesForRedux(), storyDistributionLists: getDistributionListsForRedux(), diff --git a/ts/services/backups/export.preload.ts b/ts/services/backups/export.preload.ts index bc4309d15d..0a25509942 100644 --- a/ts/services/backups/export.preload.ts +++ b/ts/services/backups/export.preload.ts @@ -191,6 +191,7 @@ import { MAX_VALUE as LONG_MAX_VALUE } from '../../util/long.std.ts'; import { encodeDelimited } from '../../util/encodeDelimited.std.ts'; import { safeParseStrict } from '../../util/schemas.std.ts'; import type { WithRequiredProperties } from '../../types/Util.std.ts'; +import type { Emoji } from '../../axo/emoji.std.ts'; const { isNumber } = lodash; @@ -976,7 +977,7 @@ export class BackupExportStream extends Readable { const rawPreferredReactionEmoji = itemStorage.get('preferredReactionEmoji'); - let preferredReactionEmoji: Array | undefined; + let preferredReactionEmoji: Array | undefined; if (canPreferredReactionEmojiBeSynced(rawPreferredReactionEmoji)) { preferredReactionEmoji = rawPreferredReactionEmoji; } diff --git a/ts/services/backups/import.preload.ts b/ts/services/backups/import.preload.ts index c17523bb33..641369e434 100644 --- a/ts/services/backups/import.preload.ts +++ b/ts/services/backups/import.preload.ts @@ -168,6 +168,7 @@ import type { PinnedMessageParams } from '../../types/PinnedMessage.std.ts'; import type { ThemeType } from '../../util/preload.preload.ts'; import { toNumber } from '../../util/toNumber.std.ts'; import { isKnownProtoEnumMember } from '../../util/isKnownProtoEnumMember.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; const { isNumber } = lodash; @@ -827,7 +828,7 @@ export class BackupImportStream extends Writable { me.about = bioText; } if (bioEmoji != null) { - me.aboutEmoji = bioEmoji; + me.aboutEmoji = Emoji.unsafeCastMaybeInvalidStringToVariant(bioEmoji); } if (Bytes.isNotEmpty(keyTransparencyData)) { const ourAci = this.#ourConversation?.serviceId; @@ -936,7 +937,9 @@ export class BackupImportStream extends Writable { ); await itemStorage.put( 'preferredReactionEmoji', - accountSettings?.preferredReactionEmoji || [] + accountSettings?.preferredReactionEmoji?.map(emoji => { + return Emoji.unsafeCastMaybeInvalidStringToVariant(emoji); + }) ?? [] ); if (svrPin) { await itemStorage.put('svrPin', svrPin); @@ -1287,7 +1290,10 @@ export class BackupImportStream extends Writable { return { aci: fromAciObject(Aci.fromUuidBytes(userId)), joinedAtVersion: dropNull(joinedAtVersion) ?? 0, - labelEmoji: dropNull(labelEmoji), + labelEmoji: + labelEmoji != null + ? Emoji.unsafeCastMaybeInvalidStringToVariant(labelEmoji) + : undefined, labelString: dropNull(labelString), role: parseGroupMemberRole(role), }; @@ -2297,7 +2303,7 @@ export class BackupImportStream extends Writable { : undefined; } else if (emoji) { result.storyReaction = { - emoji, + emoji: Emoji.unsafeCastMaybeInvalidStringToVariant(emoji), targetAuthorAci: storyAuthorAci, targetTimestamp: 0, // stories are never imported }; @@ -2519,7 +2525,6 @@ export class BackupImportStream extends Writable { return 0; }) .map(({ emoji, authorId, sentTimestamp }) => { - strictAssert(emoji != null, 'reaction must have an emoji'); strictAssert(authorId != null, 'reaction must have authorId'); strictAssert( sentTimestamp != null, @@ -2533,7 +2538,7 @@ export class BackupImportStream extends Writable { ); return { - emoji, + emoji: Emoji.unsafeCastMaybeInvalidStringToVariant(emoji), fromId: authorConvo.id, targetTimestamp: getCheckedTimestampFromLong(sentTimestamp), timestamp: getCheckedTimestampFromLong(sentTimestamp), @@ -2711,7 +2716,10 @@ export class BackupImportStream extends Writable { return { message: { sticker: { - emoji: dropNull(emoji), + emoji: + emoji != null + ? Emoji.unsafeCastMaybeInvalidStringToVariant(emoji) + : undefined, packId: Bytes.toHex(packId), packKey: Bytes.toBase64(packKey), stickerId, @@ -3946,7 +3954,10 @@ export class BackupImportStream extends Writable { const profile: NotificationProfileType = { id: normalizeNotificationProfileId(Bytes.toHex(id), 'import', log), name, - emoji: dropNull(emoji), + emoji: + emoji != null + ? Emoji.unsafeCastMaybeInvalidStringToVariant(emoji) + : undefined, color: dropNull(color) ?? DEFAULT_PROFILE_COLOR, createdAtMs: getCheckedTimestampOrUndefinedFromLong(createdAtMs) ?? 0, allowAllCalls, diff --git a/ts/services/localizedEmojiListLoader.dom.ts b/ts/services/localizedEmojiListLoader.dom.ts new file mode 100644 index 0000000000..b923b078c5 --- /dev/null +++ b/ts/services/localizedEmojiListLoader.dom.ts @@ -0,0 +1,17 @@ +// Copyright 2026 Signal Messenger, LLC +// SPDX-License-Identifier: AGPL-3.0-only +import { Emoji } from '../axo/emoji.std.ts'; +import { drop } from '../util/drop.std.ts'; + +export async function loadLocalizedEmojiList(): Promise { + const locale = window.SignalContext.i18n.getLocale(); + + // Don't block app startup on network fetch + drop( + (async () => { + const localizedEmojiList = + await window.SignalContext.getLocalizedEmojiList(locale); + Emoji.setupLocale(localizedEmojiList); + })() + ); +} diff --git a/ts/services/notifications.preload.ts b/ts/services/notifications.preload.ts index c582476782..ffd29727b0 100644 --- a/ts/services/notifications.preload.ts +++ b/ts/services/notifications.preload.ts @@ -18,6 +18,7 @@ import type { StorageInterface } from '../types/Storage.d.ts'; import type { LocalizerType } from '../types/Util.std.ts'; import { NotificationType } from '../types/notifications.std.ts'; import { drop } from '../util/drop.std.ts'; +import type { Emoji } from '../axo/emoji.std.ts'; const { debounce } = lodash; @@ -31,7 +32,7 @@ type NotificationDataType = Readonly<{ notificationIconUrl?: undefined | string; notificationIconAbsolutePath?: undefined | string; reaction?: { - emoji: string; + emoji: Emoji.Variant; targetAuthorAci: string; targetTimestamp: number; }; @@ -254,7 +255,7 @@ class NotificationService extends EventEmitter { public removeBy( options: Readonly< { - emoji?: string; + emoji?: Emoji.Variant; targetAuthorAci?: string; targetTimestamp?: number; onlyRemoveAssociatedPollVotes?: boolean; diff --git a/ts/services/profiles.preload.ts b/ts/services/profiles.preload.ts index 53af722f28..17ed5a1f85 100644 --- a/ts/services/profiles.preload.ts +++ b/ts/services/profiles.preload.ts @@ -57,6 +57,7 @@ import { ProfileDecryptError } from '../types/errors.std.ts'; import { signalProtocolStore } from '../SignalProtocolStore.preload.ts'; import { itemStorage } from '../textsecure/Storage.preload.ts'; import { runMegaphoneCheck } from './megaphone.preload.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const log = createLogger('profiles'); @@ -684,7 +685,11 @@ async function doGetProfile( if (isFieldDefined(profile.aboutEmoji)) { if (updatedDecryptionKey != null) { const decrypted = decryptField(profile.aboutEmoji, updatedDecryptionKey); - c.set({ aboutEmoji: formatTextField(decrypted) }); + c.set({ + aboutEmoji: Emoji.unsafeCastMaybeInvalidStringToVariant( + formatTextField(decrypted) + ), + }); } } else { c.set({ aboutEmoji: undefined }); diff --git a/ts/services/recentEmojisLoader.preload.ts b/ts/services/recentEmojisLoader.preload.ts new file mode 100644 index 0000000000..972bf665b1 --- /dev/null +++ b/ts/services/recentEmojisLoader.preload.ts @@ -0,0 +1,15 @@ +// Copyright 2026 Signal Messenger, LLC +// SPDX-License-Identifier: AGPL-3.0-only +import { DataReader } from '../sql/Client.preload.ts'; +import type { Emoji } from '../axo/emoji.std.ts'; +import type { EmojisStateType } from '../state/ducks/emojis.preload.ts'; + +let recentEmojis: ReadonlyArray; + +export async function loadRecentEmojis(): Promise { + recentEmojis = await DataReader.getRecentEmojis(32); +} + +export function getRecentEmojisForRedux(): EmojisStateType { + return { recentEmojis: recentEmojis }; +} diff --git a/ts/services/storageRecordOps.preload.ts b/ts/services/storageRecordOps.preload.ts index a6a6445e39..36c66dee05 100644 --- a/ts/services/storageRecordOps.preload.ts +++ b/ts/services/storageRecordOps.preload.ts @@ -133,6 +133,7 @@ import { keyTransparency } from './keyTransparency.preload.ts'; import { toNumber } from '../util/toNumber.std.ts'; import { MAX_VALUE } from '../util/long.std.ts'; import { isKnownProtoEnumMember } from '../util/isKnownProtoEnumMember.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const { isEqual } = lodash; @@ -1621,7 +1622,12 @@ export async function mergeAccountRecord( rawPreferredReactionEmoji.length ); } - await itemStorage.put('preferredReactionEmoji', rawPreferredReactionEmoji); + await itemStorage.put( + 'preferredReactionEmoji', + rawPreferredReactionEmoji?.map(emoji => { + return Emoji.unsafeCastMaybeInvalidStringToVariant(emoji); + }) + ); } void setUniversalExpireTimer( @@ -2844,7 +2850,10 @@ export async function mergeNotificationProfileRecord( const newProfile: NotificationProfileType = { id: idString, name, - emoji: dropNull(emoji), + emoji: + emoji != null + ? Emoji.unsafeCastMaybeInvalidStringToVariant(emoji) + : undefined, color: dropNull(color) ?? DEFAULT_PROFILE_COLOR, createdAtMs: toNumber(createdAtMs) ?? Date.now(), allowAllCalls, diff --git a/ts/shims/renderClearingDataView.preload.tsx b/ts/shims/renderClearingDataView.preload.tsx index 4d8c0bfc71..86491060d4 100644 --- a/ts/shims/renderClearingDataView.preload.tsx +++ b/ts/shims/renderClearingDataView.preload.tsx @@ -7,7 +7,6 @@ import { createRoot } from 'react-dom/client'; import { ClearingData } from '../components/ClearingData.dom.tsx'; import { strictAssert } from '../util/assert.std.ts'; import { deleteAllData } from './deleteAllData.preload.ts'; -import { FunDefaultEnglishEmojiLocalizationProvider } from '../components/fun/FunEmojiLocalizationProvider.dom.tsx'; import { AxoProvider } from '../axo/AxoProvider.dom.tsx'; export function renderClearingDataView(): void { @@ -17,12 +16,10 @@ export function renderClearingDataView(): void { createRoot(appContainer).render( - - - + ); diff --git a/ts/sql/Interface.std.ts b/ts/sql/Interface.std.ts index 2f1162a2f0..efe0b42a6c 100644 --- a/ts/sql/Interface.std.ts +++ b/ts/sql/Interface.std.ts @@ -79,6 +79,7 @@ import type { } from '../types/Megaphone.std.ts'; import { sqlFragment, sqlId, sqlJoin } from './util.std.ts'; import type { MIMEType } from '../types/MIME.std.ts'; +import type { Emoji } from '../axo/emoji.std.ts'; export type ReadableDB = Database & { __readable_db: never }; export type WritableDB = ReadableDB & { __writable_db: never }; @@ -115,10 +116,6 @@ export type ConversationMetricsType = { totalUnseen: number; }; export type ConversationType = ConversationAttributesType; -export type EmojiType = { - shortName: string; - lastUsage: number; -}; export type IdentityKeyType = { firstUse: boolean; @@ -354,7 +351,7 @@ export type StickerType = Readonly<{ id: number; packId: string; - emoji?: string; + emoji?: Emoji.Variant; isCoverOnly: boolean; lastUsed?: number; path: string; @@ -1037,7 +1034,7 @@ type ReadableInterface = { getAllStickers: () => Array; getRecentStickers: (options?: { limit?: number }) => Array; - getRecentEmojis: (limit?: number) => Array; + getRecentEmojis: (limit: number) => ReadonlyArray; getRecentGifs: (limit: number) => ReadonlyArray; getAllBadges(): Array; @@ -1237,7 +1234,7 @@ type WritableInterface = { targetTimestamp: number ) => MessageAttributesType | undefined; removeReactionFromConversation: (reaction: { - emoji: string; + emoji: Emoji.Variant; fromId: string; targetAuthorServiceId: ServiceIdString; targetTimestamp: number; @@ -1381,7 +1378,7 @@ type WritableInterface = { uninstallStickerPack: (packId: string, timestamp: number) => boolean; clearAllErrorStickerPackAttempts: () => void; - updateEmojiUsage: (shortName: string, timeUsed?: number) => void; + updateEmojiUsage: (emoji: Emoji.Parent, lastUsedAt: number) => void; addRecentGif: (gif: GifType, lastUsedAt: number, maxRecents: number) => void; removeRecentGif: (gif: GifType['id']) => void; diff --git a/ts/sql/Server.node.ts b/ts/sql/Server.node.ts index 348fac90bc..668a7a613f 100644 --- a/ts/sql/Server.node.ts +++ b/ts/sql/Server.node.ts @@ -132,7 +132,6 @@ import type { DeleteSentProtoRecipientOptionsType, DeleteSentProtoRecipientResultType, EditedMessageType, - EmojiType, GetAllStoriesResultType, GetConversationRangeCenteredOnMessageResultType, GetKnownMessageAttachmentsResultType, @@ -306,6 +305,7 @@ import { permissiveMessageAttachmentSchema } from './server/messageAttachments.s import { getFilePathsReferencedByMessage } from '../util/messageFilePaths.std.ts'; import { createMessagesOnInsertTrigger } from './migrations/1500-search-polls.std.ts'; import { isValidPlaintextHash } from '../types/Crypto.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const { forEach, @@ -846,7 +846,10 @@ function rowToSticker(row: StickerRow): StickerType { return { ...row, isCoverOnly: Boolean(row.isCoverOnly), - emoji: dropNull(row.emoji), + emoji: + row.emoji != null + ? Emoji.unsafeCastMaybeInvalidStringToVariant(row.emoji) + : undefined, version: row.version || 1, localKey: dropNull(row.localKey), size: dropNull(row.size), @@ -3894,7 +3897,7 @@ function removeReactionFromConversation( targetAuthorServiceId, targetTimestamp, }: { - emoji: string; + emoji: Emoji.Variant; fromId: string; targetAuthorServiceId: ServiceIdString; targetTimestamp: number; @@ -7560,55 +7563,31 @@ function getRecentStickers( } // Emojis -function updateEmojiUsage( - db: WritableDB, - shortName: string, - timeUsed: number = Date.now() -): void { - db.transaction(() => { - const rows = db - .prepare( - ` - SELECT * FROM emojis - WHERE shortName = $shortName; - ` - ) - .get({ - shortName, - }); - if (rows) { - db.prepare( - ` - UPDATE emojis - SET lastUsage = $timeUsed - WHERE shortName = $shortName; - ` - ).run({ shortName, timeUsed }); - } else { - db.prepare( - ` - INSERT INTO emojis(shortName, lastUsage) - VALUES ($shortName, $timeUsed); - ` - ).run({ shortName, timeUsed }); - } - })(); +function updateEmojiUsage(db: WritableDB, emoji: Emoji.Parent): void { + const lastUsedAt = Date.now(); + const [query, params] = sql` + INSERT OR REPLACE INTO recentEmojis ( + emoji, + lastUsedAt + ) VALUES ( + ${emoji}, + ${lastUsedAt} + ) + `; + db.prepare(query).run(params); } -function getRecentEmojis(db: ReadableDB, limit = 32): Array { - const rows = db - .prepare( - ` - SELECT * - FROM emojis - ORDER BY lastUsage DESC - LIMIT $limit; - ` - ) - .all({ limit }); - - return rows || []; +function getRecentEmojis( + db: ReadableDB, + limit: number +): ReadonlyArray { + const [query, params] = sql` + SELECT emoji FROM recentEmojis + ORDER BY lastUsedAt DESC + LIMIT ${limit} + `; + return db.prepare(query, { pluck: true }).all(params); } const RecentGifsRow = z.object({ @@ -8253,7 +8232,7 @@ function countStoryReadsByConversation( type NotificationProfileForDatabase = Readonly< { - emoji: string | null; + emoji: Emoji.Variant | null; allowAllCalls: 0 | 1; allowAllMentions: 0 | 1; scheduleEnabled: 0 | 1; @@ -8287,7 +8266,7 @@ function hydrateNotificationProfile( ): NotificationProfileType { return { ...omit(profile, ['allowedMembersJson', 'scheduleDaysEnabledJson']), - emoji: profile.emoji || undefined, + emoji: profile.emoji ?? undefined, allowAllCalls: Boolean(profile.allowAllCalls), allowAllMentions: Boolean(profile.allowAllMentions), scheduleEnabled: Boolean(profile.scheduleEnabled), @@ -8491,7 +8470,6 @@ function removeAll(db: WritableDB): void { DELETE FROM conversations; DELETE FROM defunctCallLinks; DELETE FROM donationReceipts; - DELETE FROM emojis; DELETE FROM groupCallRingCancellations; DELETE FROM groupSendCombinedEndorsement; DELETE FROM groupSendMemberEndorsement; @@ -8508,6 +8486,7 @@ function removeAll(db: WritableDB): void { DELETE FROM pinnedMessages; DELETE FROM preKeys; DELETE FROM reactions; + DELETE FROM recentEmojis; DELETE FROM recentGifs; DELETE FROM senderKeys; DELETE FROM sendLogMessageIds; diff --git a/ts/sql/migrations/1710-emoji-skin-tone-default.std.ts b/ts/sql/migrations/1710-emoji-skin-tone-default.std.ts new file mode 100644 index 0000000000..e01806cb16 --- /dev/null +++ b/ts/sql/migrations/1710-emoji-skin-tone-default.std.ts @@ -0,0 +1,25 @@ +// Copyright 2026 Signal Messenger, LLC +// SPDX-License-Identifier: AGPL-3.0-only +import type { WritableDB } from '../Interface.std.ts'; +import { sql } from '../util.std.ts'; + +export default function updateToSchemaVersion1710(db: WritableDB): void { + const [query] = sql` + UPDATE items + SET json = json_set( + json, + '$.value', + CASE json_extract(json, '$.value') + WHEN 'EmojiSkinTone.None' THEN '' + WHEN 'EmojiSkinTone.Type1' THEN '1F3FB' + WHEN 'EmojiSkinTone.Type2' THEN '1F3FC' + WHEN 'EmojiSkinTone.Type3' THEN '1F3FD' + WHEN 'EmojiSkinTone.Type4' THEN '1F3FE' + WHEN 'EmojiSkinTone.Type5' THEN '1F3FF' + ELSE '' + END + ) + WHERE id IS 'emojiSkinToneDefault'; + `; + db.exec(query); +} diff --git a/ts/sql/migrations/1720-update-recent-emoji.std.ts b/ts/sql/migrations/1720-update-recent-emoji.std.ts new file mode 100644 index 0000000000..7335ecb567 --- /dev/null +++ b/ts/sql/migrations/1720-update-recent-emoji.std.ts @@ -0,0 +1,101 @@ +// Copyright 2026 Signal Messenger, LLC +// SPDX-License-Identifier: AGPL-3.0-only +import type { WritableDB } from '../Interface.std.ts'; +import { sql } from '../util.std.ts'; +import EMOJI_DATA from '../../../build/emoji-data.json' with { type: 'json' }; + +type PrevRow = Readonly<{ + shortName?: string; + lastUsage?: number; +}>; + +type UpdatedRow = Readonly<{ + emoji: string; + lastUsedAt: number; +}>; + +function getPrevRows(db: WritableDB): ReadonlyArray { + const [query, params] = sql` + SELECT * FROM emojis; + `; + + return db.prepare(query).all(params); +} + +function toUpdatedRows( + prevRows: ReadonlyArray +): ReadonlyArray { + if (prevRows.length === 0) { + return []; + } + + const shortNameToParentEmoji = new Map(); + for (const [emoji, info] of Object.entries(EMOJI_DATA.emojis)) { + shortNameToParentEmoji.set(info.shortName, emoji); + } + + const updatedRows: Array = []; + + for (const prevRow of prevRows) { + if (prevRow.shortName == null || prevRow.lastUsage == null) { + continue; + } + + const emoji = shortNameToParentEmoji.get(prevRow.shortName); + if (emoji != null) { + updatedRows.push({ + emoji, + lastUsedAt: prevRow.lastUsage, + }); + } + } + + return updatedRows; +} + +function createNewTable(db: WritableDB) { + const [query] = sql` + CREATE TABLE recentEmojis ( + emoji TEXT NOT NULL PRIMARY KEY, + lastUsedAt INTEGER NOT NULL + ) STRICT; + + CREATE INDEX recentEmojis_order ON recentEmojis (lastUsedAt DESC); + `; + db.exec(query); +} + +function insertUpdatedRows( + db: WritableDB, + updatedRows: ReadonlyArray +) { + if (updatedRows.length === 0) { + return; + } + + const statement = db.prepare(` + INSERT INTO recentEmojis (emoji, lastUsedAt) VALUES ($emoji, $lastUsedAt); + `); + + for (const updatedRow of updatedRows) { + statement.run({ + emoji: updatedRow.emoji, + lastUsedAt: updatedRow.lastUsedAt, + }); + } +} + +function dropOldTable(db: WritableDB) { + const [query] = sql` + DROP TABLE emojis; + `; + db.exec(query); +} + +export default function updateToSchemaVersion1720(db: WritableDB): void { + createNewTable(db); + const prevRows = getPrevRows(db); + const updatedRows = toUpdatedRows(prevRows); + insertUpdatedRows(db, updatedRows); + dropOldTable(db); +} diff --git a/ts/sql/migrations/index.node.ts b/ts/sql/migrations/index.node.ts index 568d15bd5a..f282527ba8 100644 --- a/ts/sql/migrations/index.node.ts +++ b/ts/sql/migrations/index.node.ts @@ -147,6 +147,8 @@ import updateToSchemaVersion1670 from './1670-drop-call-link-epoch.std.ts'; import updateToSchemaVersion1680 from './1680-cleanup-empty-strings.std.ts'; import updateToSchemaVersion1690 from './1690-poll-terminate-notification-timestamp.std.ts'; import updateToSchemaVersion1700 from './1700-trim-profile-names.std.ts'; +import updateToSchemaVersion1710 from './1710-emoji-skin-tone-default.std.ts'; +import updateToSchemaVersion1720 from './1720-update-recent-emoji.std.ts'; import { DataWriter } from '../Server.node.ts'; import { strictAssert } from '../../util/assert.std.ts'; @@ -1656,6 +1658,8 @@ export const SCHEMA_VERSIONS: ReadonlyArray = [ { version: 1680, update: updateToSchemaVersion1680 }, { version: 1690, update: updateToSchemaVersion1690 }, { version: 1700, update: updateToSchemaVersion1700 }, + { version: 1710, update: updateToSchemaVersion1710 }, + { version: 1720, update: updateToSchemaVersion1720 }, ]; class DBVersionFromFutureError extends Error { diff --git a/ts/state/ducks/calling.preload.ts b/ts/state/ducks/calling.preload.ts index 8c43fbb0f5..6432a70170 100644 --- a/ts/state/ducks/calling.preload.ts +++ b/ts/state/ducks/calling.preload.ts @@ -133,6 +133,7 @@ import { itemStorage } from '../../textsecure/Storage.preload.ts'; import type { SizeCallbackType } from '../../calling/VideoSupport.preload.ts'; import { noopAction, type NoopActionType } from './noop.std.ts'; import type { SignalService } from '../../protobuf/index.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; const { omit } = lodash; @@ -356,12 +357,12 @@ export type SendGroupCallRaiseHandType = ReadonlyDeep<{ export type SendGroupCallReactionType = ReadonlyDeep<{ callMode: CallMode; conversationId: string; - value: string; + value: Emoji.Variant; }>; type SendGroupCallReactionLocalCopyType = ReadonlyDeep<{ callMode: CallMode; conversationId: string; - value: string; + value: Emoji.Variant; timestamp: number; }>; @@ -849,7 +850,10 @@ export type GroupCallStateChangeActionType = { type GroupCallReactionsReceivedActionPayloadType = ReadonlyDeep<{ callMode: CallMode; conversationId: string; - reactions: Array; + reactions: Array<{ + demuxId: number; + value: Emoji.Variant; + }>; timestamp: number; }>; @@ -1585,9 +1589,16 @@ function receiveGroupCallReactions( const { callMode, conversationId } = payload; const timestamp = Date.now(); + const reactions = payload.reactions.map(reaction => { + return { + demuxId: reaction.demuxId, + value: Emoji.unsafeCastMaybeInvalidStringToVariant(reaction.value), + }; + }); + dispatch({ type: GROUP_CALL_REACTIONS_RECEIVED, - payload: { ...payload, callMode, timestamp }, + payload: { conversationId, callMode, timestamp, reactions }, }); await sleep(CALLING_REACTIONS_LIFETIME); diff --git a/ts/state/ducks/composer.preload.ts b/ts/state/ducks/composer.preload.ts index 2f5e62c34b..44bd466c1f 100644 --- a/ts/state/ducks/composer.preload.ts +++ b/ts/state/ducks/composer.preload.ts @@ -109,6 +109,7 @@ import { getSelectedConversationId, } from '../selectors/nav.std.ts'; import { isPoll } from '../../messages/helpers.std.ts'; +import type { Emoji } from '../../axo/emoji.std.ts'; const { debounce, isEqual } = lodash; @@ -1431,7 +1432,7 @@ export function replaceAttachments( function reactToMessage( messageId: string, - reaction: { emoji: string; remove: boolean } + reaction: { emoji: Emoji.Variant; remove: boolean } ): ThunkAction< void, RootStateType, diff --git a/ts/state/ducks/conversations.preload.ts b/ts/state/ducks/conversations.preload.ts index a15d49b332..67fbeada07 100644 --- a/ts/state/ducks/conversations.preload.ts +++ b/ts/state/ducks/conversations.preload.ts @@ -256,6 +256,7 @@ import { getSelectedConversationId, } from '../selectors/nav.std.ts'; import { computeGroupNameHash } from '../../util/Conversation.preload.ts'; +import type { Emoji } from '../../axo/emoji.std.ts'; const { chunk, difference, fromPairs, omit, orderBy, pick, values, without } = lodash; @@ -315,7 +316,7 @@ export type LastMessageType = ReadonlyDeep< >; export type DraftPreviewType = ReadonlyDeep<{ text: string; - prefix?: string; + prefix?: Emoji.Variant; bodyRanges?: HydratedBodyRangesType; }>; @@ -326,7 +327,7 @@ export type ConversationRemovalStage = ReadonlyDeep< export type MembershipType = ReadonlyDeep<{ aci: AciString; isAdmin: boolean; - labelEmoji: string | undefined; + labelEmoji: Emoji.Variant | undefined; labelString: string | undefined; }>; @@ -351,7 +352,7 @@ export type ConversationType = ReadonlyDeep< username?: string; about?: string; aboutText?: string; - aboutEmoji?: string; + aboutEmoji?: Emoji.Variant; avatars?: ReadonlyArray; avatarUrl?: string; rawAvatarPath?: string; @@ -4675,7 +4676,7 @@ function updateGroupMemberLabel( labelString, }: { conversationId: string; - labelEmoji: string | undefined; + labelEmoji: Emoji.Variant | undefined; labelString: string | undefined; }, { diff --git a/ts/state/ducks/emojis.preload.ts b/ts/state/ducks/emojis.preload.ts index 72b14114f3..674a5ce86c 100644 --- a/ts/state/ducks/emojis.preload.ts +++ b/ts/state/ducks/emojis.preload.ts @@ -1,33 +1,27 @@ // Copyright 2019 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only -import lodash from 'lodash'; import type { ThunkAction } from 'redux-thunk'; import type { ReadonlyDeep } from 'type-fest'; import { DataWriter } from '../../sql/Client.preload.ts'; import type { BoundActionCreatorsMapObject } from '../../hooks/useBoundActions.std.ts'; import { useBoundActions } from '../../hooks/useBoundActions.std.ts'; import type { FunEmojiSelection } from '../../components/fun/panels/FunPanelEmojis.dom.tsx'; -import { - getEmojiParentByKey, - getEmojiParentKeyByVariantKey, -} from '../../components/fun/data/emojis.std.ts'; - -const { take, uniq } = lodash; +import { Emoji } from '../../axo/emoji.std.ts'; const { updateEmojiUsage } = DataWriter; // State export type EmojisStateType = ReadonlyDeep<{ - recents: Array; + recentEmojis: Array; }>; // Actions type EmojiUsedAction = ReadonlyDeep<{ type: 'emojis/EMOJI_USED'; - payload: string; + payload: Emoji.Parent; }>; type EmojisActionType = ReadonlyDeep; @@ -47,20 +41,16 @@ function onUseEmoji( ): ThunkAction { return async dispatch => { try { - const emojiParentKey = getEmojiParentKeyByVariantKey( - emojiSelection.variantKey - ); - const emojiParent = getEmojiParentByKey(emojiParentKey); - const shortName = emojiParent.englishShortNameDefault; - await updateEmojiUsage(shortName); - dispatch(emojiUsed(shortName)); + const parent = Emoji.getParent(emojiSelection.emoji); + await updateEmojiUsage(parent, Date.now()); + dispatch(emojiUsed(parent)); } catch (err) { // Errors are ignored. } }; } -function emojiUsed(payload: string): EmojiUsedAction { +function emojiUsed(payload: Emoji.Parent): EmojiUsedAction { return { type: 'emojis/EMOJI_USED', payload, @@ -71,7 +61,7 @@ function emojiUsed(payload: string): EmojiUsedAction { export function getEmptyState(): EmojisStateType { return { - recents: [], + recentEmojis: [], }; } @@ -84,7 +74,12 @@ export function reducer( return { ...state, - recents: take(uniq([payload, ...state.recents]), 32), + recentEmojis: [ + payload, + ...state.recentEmojis.filter(emoji => { + return emoji !== payload; + }), + ].slice(32), }; } diff --git a/ts/state/ducks/items.preload.ts b/ts/state/ducks/items.preload.ts index 4e7994bacf..1afa700575 100644 --- a/ts/state/ducks/items.preload.ts +++ b/ts/state/ducks/items.preload.ts @@ -19,9 +19,9 @@ import { reloadSelectedConversation } from '../../shims/reloadSelectedConversati import type { StorageAccessType } from '../../types/Storage.d.ts'; import { actions as conversationActions } from './conversations.preload.ts'; import type { ConfigMapType as RemoteConfigType } from '../../RemoteConfig.dom.ts'; -import type { EmojiSkinTone } from '../../components/fun/data/emojis.std.ts'; import type { StateThunk } from '../types.std.ts'; import { storageServiceUploadJob } from '../../services/storage.preload.ts'; +import type { Emoji } from '../../axo/emoji.std.ts'; const { omit } = lodash; @@ -109,7 +109,7 @@ function putItem( } function setEmojiSkinToneDefault( - emojiSkinToneDefault: EmojiSkinTone + emojiSkinToneDefault: Emoji.SkinTone ): ThunkAction { return putItem('emojiSkinToneDefault', emojiSkinToneDefault); } diff --git a/ts/state/ducks/preferredReactions.preload.ts b/ts/state/ducks/preferredReactions.preload.ts index 2bc50a8d09..bd473cf08b 100644 --- a/ts/state/ducks/preferredReactions.preload.ts +++ b/ts/state/ducks/preferredReactions.preload.ts @@ -10,14 +10,10 @@ import { replaceIndex } from '../../util/replaceIndex.std.ts'; import type { BoundActionCreatorsMapObject } from '../../hooks/useBoundActions.std.ts'; import { useBoundActions } from '../../hooks/useBoundActions.std.ts'; import type { StateType as RootStateType } from '../reducer.preload.ts'; -import { DEFAULT_PREFERRED_REACTION_EMOJI_PARENT_KEYS } from '../../reactions/constants.std.ts'; import { getPreferredReactionEmoji } from '../../reactions/preferredReactionEmoji.std.ts'; import { getEmojiSkinToneDefault } from '../selectors/items.dom.ts'; -import { - EmojiSkinTone, - getEmojiVariantByParentKeyAndSkinTone, -} from '../../components/fun/data/emojis.std.ts'; import { itemStorage } from '../../textsecure/Storage.preload.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; const { omit } = lodash; @@ -27,8 +23,8 @@ const log = createLogger('preferredReactions'); export type PreferredReactionsStateType = ReadonlyDeep<{ customizePreferredReactionsModal?: { - draftPreferredReactions: Array; - originalPreferredReactions: Array; + draftPreferredReactions: Array; + originalPreferredReactions: Array; selectedDraftEmojiIndex: undefined | number; } & ( | { isSaving: true; hadSaveError: false } @@ -66,18 +62,18 @@ type DeselectDraftEmojiActionType = ReadonlyDeep<{ type OpenCustomizePreferredReactionsModalActionType = ReadonlyDeep<{ type: typeof OPEN_CUSTOMIZE_PREFERRED_REACTIONS_MODAL; payload: { - originalPreferredReactions: Array; + originalPreferredReactions: Array; }; }>; type ReplaceSelectedDraftEmojiActionType = ReadonlyDeep<{ type: typeof REPLACE_SELECTED_DRAFT_EMOJI; - payload: string; + payload: Emoji.Variant; }>; type ResetDraftEmojiActionType = ReadonlyDeep<{ type: typeof RESET_DRAFT_EMOJI; - payload: { emojiSkinTone: EmojiSkinTone }; + payload: { emojiSkinTone: Emoji.SkinTone }; }>; type SavePreferredReactionsFulfilledActionType = ReadonlyDeep<{ @@ -131,7 +127,7 @@ function openCustomizePreferredReactionsModal(): ThunkAction< const state = getState(); const originalPreferredReactions = getPreferredReactionEmoji( getState().items.preferredReactionEmoji, - getEmojiSkinToneDefault(state) ?? EmojiSkinTone.None + getEmojiSkinToneDefault(state) ?? Emoji.SkinTone.None ); dispatch({ type: OPEN_CUSTOMIZE_PREFERRED_REACTIONS_MODAL, @@ -141,7 +137,7 @@ function openCustomizePreferredReactionsModal(): ThunkAction< } function replaceSelectedDraftEmoji( - newEmoji: string + newEmoji: Emoji.Variant ): ReplaceSelectedDraftEmojiActionType { return { type: REPLACE_SELECTED_DRAFT_EMOJI, @@ -157,7 +153,7 @@ function resetDraftEmoji(): ThunkAction< > { return (dispatch, getState) => { const emojiSkinTone = - getEmojiSkinToneDefault(getState()) ?? EmojiSkinTone.None; + getEmojiSkinToneDefault(getState()) ?? Emoji.SkinTone.None; dispatch({ type: RESET_DRAFT_EMOJI, payload: { emojiSkinTone } }); }; } @@ -295,13 +291,7 @@ export function reducer( customizePreferredReactionsModal: { ...state.customizePreferredReactionsModal, draftPreferredReactions: - DEFAULT_PREFERRED_REACTION_EMOJI_PARENT_KEYS.map(parentKey => { - const variant = getEmojiVariantByParentKeyAndSkinTone( - parentKey, - emojiSkinTone - ); - return variant.value; - }), + Emoji.getDefaultPreferredReactionEmojis(emojiSkinTone), selectedDraftEmojiIndex: undefined, }, }; diff --git a/ts/state/ducks/stickers.preload.ts b/ts/state/ducks/stickers.preload.ts index ddbd188433..3851d6055c 100644 --- a/ts/state/ducks/stickers.preload.ts +++ b/ts/state/ducks/stickers.preload.ts @@ -28,6 +28,7 @@ import { noopAction, type NoopActionType } from './noop.std.ts'; import type { BoundActionCreatorsMapObject } from '../../hooks/useBoundActions.std.ts'; import { useBoundActions } from '../../hooks/useBoundActions.std.ts'; import { strictAssert } from '../../util/assert.std.ts'; +import type { Emoji } from '../../axo/emoji.std.ts'; const { omit, reject } = lodash; @@ -48,7 +49,7 @@ export type StickersStateType = ReadonlyDeep<{ export type StickerType = ReadonlyDeep<{ id: number; packId: string; - emoji?: string; + emoji?: Emoji.Variant; url: string; }>; diff --git a/ts/state/ducks/stories.preload.ts b/ts/state/ducks/stories.preload.ts index 60997ed608..6c1389ac8f 100644 --- a/ts/state/ducks/stories.preload.ts +++ b/ts/state/ducks/stories.preload.ts @@ -84,6 +84,7 @@ import { ReceiptType } from '../../types/Receipt.std.ts'; import { cleanupMessages } from '../../util/cleanup.preload.ts'; import { AttachmentDownloadUrgency } from '../../types/AttachmentDownload.std.ts'; import { itemStorage } from '../../textsecure/Storage.preload.ts'; +import type { Emoji } from '../../axo/emoji.std.ts'; const { isEqual, pick } = lodash; @@ -557,7 +558,7 @@ function queueStoryDownload( } function reactToStory( - nextReaction: string, + nextReaction: Emoji.Variant, messageId: string ): ThunkAction< void, diff --git a/ts/state/getInitialState.preload.ts b/ts/state/getInitialState.preload.ts index 25b16c00e3..82d5573837 100644 --- a/ts/state/getInitialState.preload.ts +++ b/ts/state/getInitialState.preload.ts @@ -76,7 +76,7 @@ export function getInitialState( mainWindowStats, menuOptions, notificationProfiles, - recentEmoji, + emojis, stickers, stories, storyDistributionLists, @@ -102,7 +102,7 @@ export function getInitialState( }, chatFolders: getInitialChatFoldersState(chatFolders), donations, - emojis: recentEmoji, + emojis, gifs, items, megaphones: megaphonesEmptyState(), diff --git a/ts/state/initializeRedux.preload.ts b/ts/state/initializeRedux.preload.ts index 50fa250738..d3cced5273 100644 --- a/ts/state/initializeRedux.preload.ts +++ b/ts/state/initializeRedux.preload.ts @@ -15,7 +15,7 @@ import type { StoryDataType } from './ducks/stories.preload.ts'; import type { StoryDistributionListDataType } from './ducks/storyDistributionLists.preload.ts'; import type { ThemeType } from '../types/Util.std.ts'; import type { CallLinkType } from '../types/CallLink.std.ts'; -import type { RecentEmojiObjectType } from '../util/loadRecentEmojis.preload.ts'; +import type { EmojisStateType } from './ducks/emojis.preload.ts'; import type { StickersStateType } from './ducks/stickers.preload.ts'; import type { GifsStateType } from './ducks/gifs.preload.ts'; import type { NotificationProfileType } from '../types/NotificationProfile.std.ts'; @@ -29,12 +29,12 @@ export type ReduxInitData = { callLinks: ReadonlyArray; chatFolders: ReadonlyArray; donations: DonationsStateType; + emojis: EmojisStateType; gifs: GifsStateType; mainWindowStats: MainWindowStatsType; megaphones: MegaphonesStateType; menuOptions: MenuOptionsType; notificationProfiles: ReadonlyArray; - recentEmoji: RecentEmojiObjectType; stickers: StickersStateType; stories: Array; storyDistributionLists: Array; diff --git a/ts/state/roots/createGroupV2JoinModal.dom.tsx b/ts/state/roots/createGroupV2JoinModal.dom.tsx index 42bcda5ceb..26e8888f61 100644 --- a/ts/state/roots/createGroupV2JoinModal.dom.tsx +++ b/ts/state/roots/createGroupV2JoinModal.dom.tsx @@ -12,7 +12,6 @@ import type { Store } from 'redux'; import { ModalHost } from '../../components/ModalHost.dom.tsx'; import type { SmartGroupV2JoinDialogProps } from '../smart/GroupV2JoinDialog.dom.tsx'; import { SmartGroupV2JoinDialog } from '../smart/GroupV2JoinDialog.dom.tsx'; -import { FunEmojiLocalizationProvider } from '../../components/fun/FunEmojiLocalizationProvider.dom.tsx'; export const createGroupV2JoinModal = ( store: Store, @@ -22,11 +21,9 @@ export const createGroupV2JoinModal = ( return ( - - - - - + + + ); }; diff --git a/ts/state/selectors/conversations.dom.ts b/ts/state/selectors/conversations.dom.ts index cb0fb293a1..f12a192921 100644 --- a/ts/state/selectors/conversations.dom.ts +++ b/ts/state/selectors/conversations.dom.ts @@ -95,6 +95,7 @@ import { getSelectedConversationId, getSelectedNavTab } from './nav.std.ts'; import { getCallHistoryUnreadCount } from './callHistory.std.ts'; import { NavTab } from '../../types/Nav.std.ts'; import { ReadStatus } from '../../messages/MessageReadStatus.std.ts'; +import type { Emoji } from '../../axo/emoji.std.ts'; const { isNumber, pick } = lodash; @@ -1356,7 +1357,7 @@ export function isMissingRequiredProfileSharing( export type AdminMembershipType = { member: ConversationType; - labelEmoji: string | undefined; + labelEmoji: Emoji.Variant | undefined; labelString: string | undefined; }; export const getGroupAdminsSelector = createSelector( diff --git a/ts/state/selectors/emojis.std.ts b/ts/state/selectors/emojis.std.ts index a76ce92050..6ae987bf49 100644 --- a/ts/state/selectors/emojis.std.ts +++ b/ts/state/selectors/emojis.std.ts @@ -2,14 +2,16 @@ // SPDX-License-Identifier: AGPL-3.0-only import { createSelector } from 'reselect'; -import { useSelector } from 'react-redux'; import type { StateType } from '../reducer.preload.ts'; -import { isEmojiEnglishShortName } from '../../components/fun/data/emojis.std.ts'; +import type { EmojisStateType } from '../ducks/emojis.preload.ts'; +import type { StateSelector } from '../types.std.ts'; +import type { Emoji } from '../../axo/emoji.std.ts'; -export const selectRecentEmojis = createSelector( - ({ emojis }: StateType) => emojis.recents, - recents => recents.filter(isEmojiEnglishShortName) -); +function selectEmojisState(state: StateType): EmojisStateType { + return state.emojis; +} -export const useRecentEmojis = (): Array => - useSelector(selectRecentEmojis); +export const selectRecentEmojis: StateSelector> = + createSelector(selectEmojisState, state => { + return state.recentEmojis; + }); diff --git a/ts/state/selectors/items.dom.ts b/ts/state/selectors/items.dom.ts index 9c781ab7c0..2fede177a9 100644 --- a/ts/state/selectors/items.dom.ts +++ b/ts/state/selectors/items.dom.ts @@ -18,12 +18,9 @@ import { DurationInSeconds } from '../../util/durations/index.std.ts'; import * as Bytes from '../../Bytes.std.ts'; import { contactByEncryptedUsernameRoute } from '../../util/signalRoutes.std.ts'; import { isNotUpdatable } from '../../util/version.std.ts'; -import { - EmojiSkinTone, - isValidEmojiSkinTone, -} from '../../components/fun/data/emojis.std.ts'; import { BackupLevel } from '../../services/backups/types.std.ts'; import type { StateSelector } from '../types.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; const DEFAULT_PREFERRED_LEFT_PANE_WIDTH = 320; @@ -159,11 +156,10 @@ export const getCustomColors = createSelector( state.customColors?.colors ); -export const getEmojiSkinToneDefault = createSelector( - getItems, - ({ emojiSkinToneDefault }: Readonly): EmojiSkinTone | null => - isValidEmojiSkinTone(emojiSkinToneDefault) ? emojiSkinToneDefault : null -); +export const getEmojiSkinToneDefault: StateSelector = + createSelector(getItems, ({ emojiSkinToneDefault }) => { + return emojiSkinToneDefault ?? null; + }); export const getPreferredLeftPaneWidth = createSelector( getItems, @@ -179,11 +175,11 @@ export const getPreferredReactionEmoji = createSelector( getEmojiSkinToneDefault, ( state: Readonly, - emojiSkinToneDefault: EmojiSkinTone | null - ): Array => + emojiSkinToneDefault: Emoji.SkinTone | null + ): Array => getPreferredReactionEmojiFromStoredValue( state.preferredReactionEmoji, - emojiSkinToneDefault ?? EmojiSkinTone.None + emojiSkinToneDefault ?? Emoji.SkinTone.None ) ); diff --git a/ts/state/selectors/message.preload.ts b/ts/state/selectors/message.preload.ts index aca1bdcc94..ecf092cc75 100644 --- a/ts/state/selectors/message.preload.ts +++ b/ts/state/selectors/message.preload.ts @@ -4,7 +4,6 @@ import lodash from 'lodash'; import { createSelector } from 'reselect'; import { direction as getDirection } from 'direction'; -import emojiRegex from 'emoji-regex'; import LinkifyIt from 'linkify-it'; import type { ReadonlyDeep } from 'type-fest'; @@ -181,6 +180,7 @@ import { LONG_MESSAGE } from '../../types/MIME.std.ts'; import type { MessageRequestResponseNotificationData } from '../../components/conversation/MessageRequestResponseNotification.dom.tsx'; import type { PinnedMessageNotificationData } from '../../components/conversation/pinned-messages/PinnedMessageNotification.dom.tsx'; import type { PollTerminateNotificationDataType } from '../../components/conversation/PollTerminateNotification.dom.tsx'; +import { Emoji } from '../../axo/emoji.std.ts'; const { groupBy, isEmpty, isNumber, isObject, map } = lodash; @@ -807,8 +807,7 @@ function getPayment( export function cleanBodyForDirectionCheck(text: string): string { const MENTIONS_REGEX = getMentionsRegex(); - const EMOJI_REGEX = emojiRegex(); - const initial = text.replace(MENTIONS_REGEX, '').replace(EMOJI_REGEX, ''); + const initial = Emoji.stripEmojiFromText(text.replace(MENTIONS_REGEX, '')); const linkMatches = linkify.match(initial); diff --git a/ts/state/smart/CustomizingPreferredReactionsModal.preload.tsx b/ts/state/smart/CustomizingPreferredReactionsModal.preload.tsx index c8d40bbcf7..a9108bbced 100644 --- a/ts/state/smart/CustomizingPreferredReactionsModal.preload.tsx +++ b/ts/state/smart/CustomizingPreferredReactionsModal.preload.tsx @@ -6,7 +6,7 @@ import { usePreferredReactionsActions } from '../ducks/preferredReactions.preloa import { useItemsActions } from '../ducks/items.preload.ts'; import { getIntl } from '../selectors/user.std.ts'; import { getEmojiSkinToneDefault } from '../selectors/items.dom.ts'; -import { useRecentEmojis } from '../selectors/emojis.std.ts'; +import { selectRecentEmojis } from '../selectors/emojis.std.ts'; import { getCustomizeModalState } from '../selectors/preferredReactions.std.ts'; import { CustomizingPreferredReactionsModal } from '../../components/CustomizingPreferredReactionsModal.dom.tsx'; import { strictAssert } from '../../util/assert.std.ts'; @@ -16,7 +16,7 @@ export const SmartCustomizingPreferredReactionsModal = memo( const i18n = useSelector(getIntl); const customizeModalState = useSelector(getCustomizeModalState); const emojiSkinToneDefault = useSelector(getEmojiSkinToneDefault); - const recentEmojis = useRecentEmojis(); + const recentEmojis = useSelector(selectRecentEmojis); const { cancelCustomizePreferredReactionsModal, diff --git a/ts/state/smart/FunProvider.preload.tsx b/ts/state/smart/FunProvider.preload.tsx index a7f8ad0867..71da7f122d 100644 --- a/ts/state/smart/FunProvider.preload.tsx +++ b/ts/state/smart/FunProvider.preload.tsx @@ -13,11 +13,6 @@ import { getRecentStickers, } from '../selectors/stickers.std.ts'; import { strictAssert } from '../../util/assert.std.ts'; -import type { EmojiSkinTone } from '../../components/fun/data/emojis.std.ts'; -import { - getEmojiParentKeyByEnglishShortName, - isEmojiEnglishShortName, -} from '../../components/fun/data/emojis.std.ts'; import { getEmojiSkinToneDefault, getShowStickerPickerHint, @@ -35,6 +30,7 @@ import { useStickersActions } from '../ducks/stickers.preload.ts'; import type { FunStickerSelection } from '../../components/fun/panels/FunPanelStickers.dom.tsx'; import type { FunEmojiSelection } from '../../components/fun/panels/FunPanelEmojis.dom.tsx'; import { getRecentGifs } from '../selectors/gifs.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; export type SmartFunProviderProps = Readonly<{ children: ReactNode; @@ -60,17 +56,14 @@ export const SmartFunProvider = memo(function SmartFunProvider( // Translate recent emojis to keys const recentEmojisKeys = useMemo(() => { - return recentEmojis.map(emojiShortName => { - strictAssert( - isEmojiEnglishShortName(emojiShortName), - `Invalid short name: ${emojiShortName}` - ); - return getEmojiParentKeyByEnglishShortName(emojiShortName); + return recentEmojis.map(emoji => { + strictAssert(Emoji.isParent(emoji), `Invalid emoji parent: ${emoji}`); + return emoji; }); }, [recentEmojis]); const handleEmojiSkinToneDefaultChange = useCallback( - (emojiSkinTone: EmojiSkinTone) => { + (emojiSkinTone: Emoji.SkinTone) => { setEmojiSkinToneDefault(emojiSkinTone); }, [setEmojiSkinToneDefault] diff --git a/ts/state/smart/Preferences.preload.tsx b/ts/state/smart/Preferences.preload.tsx index 5b5a60421d..9cce5a40b0 100644 --- a/ts/state/smart/Preferences.preload.tsx +++ b/ts/state/smart/Preferences.preload.tsx @@ -41,7 +41,6 @@ import { getUser, getUserNumber, } from '../selectors/user.std.ts'; -import { EmojiSkinTone } from '../../components/fun/data/emojis.std.ts'; import { renderClearingDataView } from '../../shims/renderClearingDataView.preload.tsx'; import OS from '../../util/os/osPreload.preload.ts'; import { themeChanged } from '../../shims/themeChanged.dom.ts'; @@ -122,6 +121,7 @@ import { useMegaphonesActions } from '../ducks/megaphones.preload.ts'; import type { ZoomFactorType } from '../../types/StorageKeys.std.ts'; import { isLocalBackupsEnabled } from '../../util/isLocalBackupsEnabled.preload.ts'; import { getBackupKeyHash } from '../../services/backups/crypto.preload.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; const DEFAULT_NOTIFICATION_SETTING = 'message'; @@ -613,7 +613,8 @@ export function SmartPreferences(): JSX.Element | null { return result; }, [items, conversationSelector]); - const emojiSkinToneDefault = items.emojiSkinToneDefault ?? EmojiSkinTone.None; + const emojiSkinToneDefault = + items.emojiSkinToneDefault ?? Emoji.SkinTone.None; const isInternalUser = items.remoteConfig?.['desktop.internalUser']?.enabled ?? false; const isContentProtectionSupported = diff --git a/ts/state/smart/StoryViewer.preload.tsx b/ts/state/smart/StoryViewer.preload.tsx index 9746963e7b..5dcb934323 100644 --- a/ts/state/smart/StoryViewer.preload.tsx +++ b/ts/state/smart/StoryViewer.preload.tsx @@ -38,6 +38,7 @@ import { useStoriesActions } from '../ducks/stories.preload.ts'; import { useIsWindowActive } from '../../hooks/useIsWindowActive.dom.ts'; import type { DraftBodyRanges } from '../../types/BodyRange.std.ts'; import type { StoryViewType } from '../../types/Stories.std.ts'; +import type { Emoji } from '../../axo/emoji.std.ts'; export const SmartStoryViewer = memo(function SmartStoryViewer() { const { @@ -99,7 +100,7 @@ export const SmartStoryViewer = memo(function SmartStoryViewer() { ); const handleReactToStory = useCallback( - async (emoji: string, story: StoryViewType) => { + async (emoji: Emoji.Variant, story: StoryViewType) => { const { messageId } = story; reactToStory(emoji, messageId); }, diff --git a/ts/test-electron/backup/attachments_test.preload.ts b/ts/test-electron/backup/attachments_test.preload.ts index e2282b3b6e..01aa5c2912 100644 --- a/ts/test-electron/backup/attachments_test.preload.ts +++ b/ts/test-electron/backup/attachments_test.preload.ts @@ -42,6 +42,7 @@ import { import { KIBIBYTE } from '../../types/AttachmentSize.std.ts'; import { itemStorage } from '../../textsecure/Storage.preload.ts'; import { generateAci } from '../../test-helpers/serviceIdUtils.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; const { omit } = lodash; @@ -831,7 +832,7 @@ describe('backup/attachments', () => { [ composeMessage(1, { sticker: { - emoji: '๐Ÿ’', + emoji: Emoji.MONKEY, packId, packKey, stickerId: 0, @@ -848,7 +849,7 @@ describe('backup/attachments', () => { [ composeMessage(1, { sticker: { - emoji: '๐Ÿ’', + emoji: Emoji.MONKEY, packId, packKey, stickerId: 0, @@ -895,7 +896,7 @@ describe('backup/attachments', () => { [ composeMessage(1, { sticker: { - emoji: '๐Ÿ’', + emoji: Emoji.MONKEY, packId, packKey, stickerId: 0, @@ -912,7 +913,7 @@ describe('backup/attachments', () => { [ composeMessage(1, { sticker: { - emoji: '๐Ÿ’', + emoji: Emoji.MONKEY, packId, packKey, stickerId: 0, @@ -940,7 +941,7 @@ describe('backup/attachments', () => { [ composeMessage(1, { sticker: { - emoji: '๐Ÿ’', + emoji: Emoji.MONKEY, packId, packKey, stickerId: 0, @@ -951,7 +952,7 @@ describe('backup/attachments', () => { [ composeMessage(1, { sticker: { - emoji: '๐Ÿ’', + emoji: Emoji.MONKEY, packId, packKey, stickerId: 0, diff --git a/ts/test-electron/backup/bubble_test.preload.ts b/ts/test-electron/backup/bubble_test.preload.ts index 4d4627c40c..c7c143c737 100644 --- a/ts/test-electron/backup/bubble_test.preload.ts +++ b/ts/test-electron/backup/bubble_test.preload.ts @@ -29,6 +29,7 @@ import { generateAttachmentKeys } from '../../AttachmentCrypto.node.ts'; import { itemStorage } from '../../textsecure/Storage.preload.ts'; import { BodyRange } from '../../types/BodyRange.std.ts'; import { generateAci } from '../../test-helpers/serviceIdUtils.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; const CONTACT_A = generateAci(); const CONTACT_B = generateAci(); @@ -523,19 +524,19 @@ describe('backup/bubble messages', () => { timestamp: 3, reactions: [ { - emoji: 'first', + emoji: Emoji.ONE, fromId: contactA.id, targetTimestamp: 3, timestamp: 3, }, { - emoji: 'second', + emoji: Emoji.TWO, fromId: generateGuid(), targetTimestamp: 3, timestamp: 3, }, { - emoji: 'third', + emoji: Emoji.THREE, fromId: contactB.id, targetTimestamp: 3, timestamp: 3, @@ -1337,7 +1338,7 @@ describe('backup/bubble messages', () => { unidentifiedDeliveryReceived: true, sourceServiceId: CONTACT_A, storyReaction: { - emoji: '๐Ÿคทโ€โ™‚๏ธ', + emoji: Emoji.getDefaultVariant(Emoji.SHRUG), targetAuthorAci: OUR_ACI, targetTimestamp: 0, // targetTimestamp is not roundtripped }, @@ -1353,7 +1354,7 @@ describe('backup/bubble messages', () => { type: 'outgoing', sourceServiceId: OUR_ACI, storyReaction: { - emoji: '๐Ÿคทโ€โ™‚๏ธ', + emoji: Emoji.getDefaultVariant(Emoji.SHRUG), targetAuthorAci: CONTACT_A, targetTimestamp: 0, // targetTimestamp is not roundtripped }, @@ -1834,13 +1835,13 @@ describe('backup/bubble messages', () => { }, reactions: [ { - emoji: '๐Ÿ‘', + emoji: Emoji.getDefaultVariant(Emoji.THUMBS_UP), fromId: contactA.id, targetTimestamp: 3, timestamp: 3, }, { - emoji: 'โค๏ธ', + emoji: Emoji.HEART, fromId: contactB.id, targetTimestamp: 3, timestamp: 3, diff --git a/ts/test-electron/backup/non_bubble_test.preload.ts b/ts/test-electron/backup/non_bubble_test.preload.ts index 3d765cfe29..478a701d36 100644 --- a/ts/test-electron/backup/non_bubble_test.preload.ts +++ b/ts/test-electron/backup/non_bubble_test.preload.ts @@ -25,6 +25,7 @@ import { import { loadAllAndReinitializeRedux } from '../../services/allLoaders.preload.ts'; import { itemStorage } from '../../textsecure/Storage.preload.ts'; import { generateAci } from '../../test-helpers/serviceIdUtils.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; const CONTACT_A = generateAci(); const GROUP_ID = Bytes.toBase64(getRandomBytes(32)); @@ -381,7 +382,7 @@ describe('backup/non-bubble messages', () => { ], reactions: [ { - emoji: '๐Ÿ‘', + emoji: Emoji.getDefaultVariant(Emoji.THUMBS_UP), fromId: contactA.id, targetTimestamp: 1, timestamp: 1, @@ -408,7 +409,7 @@ describe('backup/non-bubble messages', () => { unidentifiedDeliveryReceived: true, // TODO (DESKTOP-6845): properly handle data FilePointer sticker: { - emoji: '๐Ÿ‘', + emoji: Emoji.getDefaultVariant(Emoji.THUMBS_UP), packId: Bytes.toHex(getRandomBytes(16)), stickerId: 1, packKey: Bytes.toBase64(getRandomBytes(32)), @@ -420,7 +421,7 @@ describe('backup/non-bubble messages', () => { }, reactions: [ { - emoji: '๐Ÿ‘', + emoji: Emoji.getDefaultVariant(Emoji.THUMBS_UP), fromId: contactA.id, targetTimestamp: 1, timestamp: 1, diff --git a/ts/test-electron/models/messages_test.preload.ts b/ts/test-electron/models/messages_test.preload.ts index bb30a2962a..b3c00a31e5 100644 --- a/ts/test-electron/models/messages_test.preload.ts +++ b/ts/test-electron/models/messages_test.preload.ts @@ -32,6 +32,7 @@ import { send } from '../../messages/send.preload.ts'; import { messageSender } from '../../textsecure/SendMessage.preload.ts'; import { itemStorage } from '../../textsecure/Storage.preload.ts'; import { generateAci } from '../../test-helpers/serviceIdUtils.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; describe('Message', () => { const i18n = setupI18n('en', enMessages); @@ -283,7 +284,7 @@ describe('Message', () => { }, ], }), - { text: 'View-once Photo', emoji: '๐Ÿ“ท' } + { text: 'View-once Photo', emoji: Emoji.CAMERA } ); }); @@ -299,7 +300,7 @@ describe('Message', () => { }, ], }), - { text: 'View-once Video', emoji: '๐ŸŽฅ' } + { text: 'View-once Video', emoji: Emoji.MOVIE_CAMERA } ); }); @@ -315,7 +316,7 @@ describe('Message', () => { }, ], }), - { text: 'Media Message', emoji: '๐Ÿ“Ž' } + { text: 'Media Message', emoji: Emoji.PAPERCLIP } ); }); @@ -498,7 +499,7 @@ describe('Message', () => { attachment: AttachmentType; expectedResult: { text: string; - emoji: string; + emoji: Emoji.Variant; bodyRanges?: Array; }; }> = [ @@ -510,7 +511,7 @@ describe('Message', () => { }, expectedResult: { text: 'GIF', - emoji: '๐ŸŽก', + emoji: Emoji.FERRIS_WHEEL, bodyRanges: [], }, }, @@ -522,7 +523,7 @@ describe('Message', () => { }, expectedResult: { text: 'Photo', - emoji: '๐Ÿ“ท', + emoji: Emoji.CAMERA, bodyRanges: [], }, }, @@ -534,7 +535,7 @@ describe('Message', () => { }, expectedResult: { text: 'Video', - emoji: '๐ŸŽฅ', + emoji: Emoji.MOVIE_CAMERA, bodyRanges: [], }, }, @@ -547,7 +548,7 @@ describe('Message', () => { }, expectedResult: { text: 'Voice Message', - emoji: '๐ŸŽค', + emoji: Emoji.MICROPHONE, bodyRanges: [], }, }, @@ -560,7 +561,7 @@ describe('Message', () => { }, expectedResult: { text: 'Audio Message', - emoji: '๐Ÿ”ˆ', + emoji: Emoji.SPEAKER, bodyRanges: [], }, }, @@ -572,7 +573,7 @@ describe('Message', () => { }, expectedResult: { text: 'File', - emoji: '๐Ÿ“Ž', + emoji: Emoji.PAPERCLIP, bodyRanges: [], }, }, @@ -584,7 +585,7 @@ describe('Message', () => { }, expectedResult: { text: 'File', - emoji: '๐Ÿ“Ž', + emoji: Emoji.PAPERCLIP, bodyRanges: [], }, }, diff --git a/ts/test-electron/quill/emoji/completion_test.dom.tsx b/ts/test-electron/quill/emoji/completion_test.dom.tsx index cae0c581a4..826f700d60 100644 --- a/ts/test-electron/quill/emoji/completion_test.dom.tsx +++ b/ts/test-electron/quill/emoji/completion_test.dom.tsx @@ -9,58 +9,10 @@ import type { EmojiCompletionOptions, InsertEmojiOptionsType, } from '../../../quill/emoji/completion.dom.tsx'; -import { - EMOJI_VARIANT_KEY_CONSTANTS, - EmojiSkinTone, - getEmojiParentKeyByVariantKey, - getEmojiVariantByKey, -} from '../../../components/fun/data/emojis.std.ts'; -import { - _createFunEmojiSearch, - createFunEmojiSearchIndex, -} from '../../../components/fun/useFunEmojiSearch.dom.tsx'; -import { - _createFunEmojiLocalizer, - createFunEmojiLocalizerIndex, -} from '../../../components/fun/useFunEmojiLocalizer.dom.tsx'; -import type { LocaleEmojiListType } from '../../../types/emoji.std.ts'; +import { Emoji } from '../../../axo/emoji.std.ts'; -const EMOJI_VARIANTS = { - SMILE: getEmojiVariantByKey( - EMOJI_VARIANT_KEY_CONSTANTS.GRINNING_FACE_WITH_SMILING_EYES - ), - SMILE_CAT: getEmojiVariantByKey( - EMOJI_VARIANT_KEY_CONSTANTS.GRINNING_CAT_WITH_SMILING_EYES - ), - FRIEND_SHRIMP: getEmojiVariantByKey(EMOJI_VARIANT_KEY_CONSTANTS.FRIED_SHRIMP), -} as const; - -const PARENT_KEYS = { - SMILE: getEmojiParentKeyByVariantKey(EMOJI_VARIANTS.SMILE.key), - SMILE_CAT: getEmojiParentKeyByVariantKey(EMOJI_VARIANTS.SMILE_CAT.key), - FRIED_SHRIMP: getEmojiParentKeyByVariantKey(EMOJI_VARIANTS.FRIEND_SHRIMP.key), -} as const; - -const EMOJI_LIST: LocaleEmojiListType = [ - { - emoji: EMOJI_VARIANTS.SMILE.value, - shortName: 'smile', - tags: [], - rank: 0, - }, - { - emoji: EMOJI_VARIANTS.SMILE_CAT.value, - shortName: 'smile_cat', - tags: [], - rank: 0, - }, - { - emoji: EMOJI_VARIANTS.FRIEND_SHRIMP.value, - shortName: 'fried_shrimp', - tags: [], - rank: 0, - }, -]; +const SMILE = Emoji.SMILE; +const SMILE_CAT = Emoji.SMILE_CAT; describe('emojiCompletion', () => { let emojiCompletion: EmojiCompletion; @@ -80,18 +32,10 @@ describe('emojiCompletion', () => { updateContents: sinon.stub(), }; - const searchIndex = createFunEmojiSearchIndex(EMOJI_LIST); - const localizerIndex = createFunEmojiLocalizerIndex(EMOJI_LIST); - - const emojiSearch = _createFunEmojiSearch(searchIndex); - const emojiLocalizer = _createFunEmojiLocalizer(localizerIndex); - const options: EmojiCompletionOptions = { onSelectEmoji: sinon.stub(), setEmojiPickerElement: sinon.stub(), - emojiSkinToneDefault: EmojiSkinTone.None, - emojiSearch, - emojiLocalizer, + emojiSkinToneDefault: Emoji.SkinTone.None, }; emojiCompletion = new EmojiCompletion(mockQuill, options); @@ -118,7 +62,7 @@ describe('emojiCompletion', () => { let insertEmojiStub: sinon.SinonStub<[InsertEmojiOptionsType], void>; beforeEach(() => { - emojiCompletion.results = [{ parentKey: PARENT_KEYS.SMILE }]; + emojiCompletion.results = [SMILE]; emojiCompletion.index = 5; insertEmojiStub = sinon .stub(emojiCompletion, 'insertEmoji') @@ -254,9 +198,9 @@ describe('emojiCompletion', () => { const firstArgs = insertEmojiStub.args[0]; assert.exists(firstArgs); - const [{ emojiParentKey, index, range }] = firstArgs; + const [{ emoji, index, range }] = firstArgs; - assert.equal(emojiParentKey, PARENT_KEYS.SMILE); + assert.equal(emoji, SMILE); assert.equal(index, 0); assert.equal(range, 7); }); @@ -286,9 +230,9 @@ describe('emojiCompletion', () => { const firstArgs = insertEmojiStub.args[0]; assert.exists(firstArgs); - const [{ emojiParentKey, index, range }] = firstArgs; + const [{ emoji, index, range }] = firstArgs; - assert.equal(emojiParentKey, PARENT_KEYS.SMILE); + assert.equal(emoji, SMILE); assert.equal(index, 7); assert.equal(range, 7); }); @@ -349,9 +293,9 @@ describe('emojiCompletion', () => { const firstArgs = insertEmojiStub.args[0]; assert.exists(firstArgs); - const [{ emojiParentKey, index, range }] = firstArgs; + const [{ emoji, index, range }] = firstArgs; - assert.equal(emojiParentKey, PARENT_KEYS.SMILE); + assert.equal(emoji, SMILE); assert.equal(index, 0); assert.equal(range, validEmoji.length); }); @@ -401,9 +345,9 @@ describe('emojiCompletion', () => { const firstArgs = insertEmojiStub.args[0]; assert.exists(firstArgs); - const [{ emojiParentKey, index, range }] = firstArgs; + const [{ emoji, index, range }] = firstArgs; - assert.equal(emojiParentKey, PARENT_KEYS.SMILE); + assert.equal(emoji, SMILE); assert.equal(index, 0); assert.equal(range, 6); }); @@ -419,10 +363,7 @@ describe('emojiCompletion', () => { let insertEmojiStub: sinon.SinonStub<[InsertEmojiOptionsType], void>; beforeEach(() => { - emojiCompletion.results = [ - { parentKey: PARENT_KEYS.SMILE }, - { parentKey: PARENT_KEYS.SMILE_CAT }, - ]; + emojiCompletion.results = [SMILE, SMILE_CAT]; emojiCompletion.index = 1; insertEmojiStub = sinon.stub(emojiCompletion, 'insertEmoji'); }); @@ -449,9 +390,9 @@ describe('emojiCompletion', () => { const firstArgs = insertEmojiStub.args[0]; assert.exists(firstArgs); - const [{ emojiParentKey, index: insertIndex, range }] = firstArgs; + const [{ emoji, index: insertIndex, range }] = firstArgs; - assert.equal(emojiParentKey, PARENT_KEYS.SMILE_CAT); + assert.equal(emoji, SMILE_CAT); assert.equal(insertIndex, 0); assert.equal(range, text.length); }); diff --git a/ts/test-electron/sql/markRead_test.preload.ts b/ts/test-electron/sql/markRead_test.preload.ts index 48bf4d24de..b875538517 100644 --- a/ts/test-electron/sql/markRead_test.preload.ts +++ b/ts/test-electron/sql/markRead_test.preload.ts @@ -12,6 +12,7 @@ import type { MessageAttributesType } from '../../model-types.d.ts'; import { ReadStatus } from '../../messages/MessageReadStatus.std.ts'; import { postSaveUpdates } from '../../util/cleanup.preload.ts'; import { generateAci } from '../../test-helpers/serviceIdUtils.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; const { _getAllReactions, _getAllMessages, getTotalUnreadForConversation } = DataReader; @@ -535,7 +536,7 @@ describe('sql/markRead', () => { const reaction1: ReactionType = { conversationId, - emoji: '๐ŸŽ‰', + emoji: Emoji.TADA, fromId: generateUuid(), messageId: message1.id, messageReceivedAt: message1.received_at, @@ -545,7 +546,7 @@ describe('sql/markRead', () => { }; const reaction2: ReactionType = { conversationId, - emoji: '๐Ÿš€', + emoji: Emoji.ROCKET, fromId: generateUuid(), messageId: message2.id, messageReceivedAt: message2.received_at, @@ -555,7 +556,7 @@ describe('sql/markRead', () => { }; const reaction3: ReactionType = { conversationId: generateUuid(), - emoji: 'โ˜€๏ธ', + emoji: Emoji.SUNNY, fromId: generateUuid(), messageId: message3.id, messageReceivedAt: message3.received_at, @@ -565,7 +566,7 @@ describe('sql/markRead', () => { }; const reaction4: ReactionType = { conversationId, - emoji: 'โค๏ธโ€๐Ÿ”ฅ', + emoji: Emoji.HEART_ON_FIRE, fromId: generateUuid(), messageId: message4.id, messageReceivedAt: message4.received_at, @@ -575,7 +576,7 @@ describe('sql/markRead', () => { }; const reaction5: ReactionType = { conversationId, - emoji: '๐Ÿ†’', + emoji: Emoji.COOL, fromId: generateUuid(), messageId: message5.id, messageReceivedAt: message5.received_at, @@ -682,7 +683,7 @@ describe('sql/markRead', () => { const reaction1: ReactionType = { conversationId, - emoji: '๐ŸŽ‰', + emoji: Emoji.TADA, fromId: generateUuid(), messageId: message1.id, messageReceivedAt: message1.received_at, @@ -692,7 +693,7 @@ describe('sql/markRead', () => { }; const reaction2: ReactionType = { conversationId, - emoji: '๐Ÿš€', + emoji: Emoji.ROCKET, fromId: generateUuid(), messageId: message2.id, messageReceivedAt: message2.received_at, @@ -702,7 +703,7 @@ describe('sql/markRead', () => { }; const reaction3: ReactionType = { conversationId: generateUuid(), - emoji: 'โ˜€๏ธ', + emoji: Emoji.SUNNY, fromId: generateUuid(), messageId: message3.id, messageReceivedAt: message3.received_at, @@ -712,7 +713,7 @@ describe('sql/markRead', () => { }; const reaction4: ReactionType = { conversationId, - emoji: 'โค๏ธโ€๐Ÿ”ฅ', + emoji: Emoji.HEART_ON_FIRE, fromId: generateUuid(), messageId: message4.id, messageReceivedAt: message4.received_at, @@ -722,7 +723,7 @@ describe('sql/markRead', () => { }; const reaction5: ReactionType = { conversationId, - emoji: '๐Ÿ†’', + emoji: Emoji.COOL, fromId: generateUuid(), messageId: message5.id, messageReceivedAt: message5.received_at, diff --git a/ts/test-electron/sql/notificationProfiles_test.preload.ts b/ts/test-electron/sql/notificationProfiles_test.preload.ts index cd6876f3d9..2f7e542e10 100644 --- a/ts/test-electron/sql/notificationProfiles_test.preload.ts +++ b/ts/test-electron/sql/notificationProfiles_test.preload.ts @@ -9,6 +9,7 @@ import { DayOfWeek } from '../../types/NotificationProfile.std.ts'; import { generateNotificationProfileId } from '../../types/NotificationProfile-node.node.ts'; import type { NotificationProfileType } from '../../types/NotificationProfile.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; const { getAllNotificationProfiles } = DataReader; const { @@ -32,7 +33,7 @@ describe('sql/notificationProfiles', () => { const profile1: NotificationProfileType = { id: generateNotificationProfileId(), name: 'After Hours', - emoji: '๐Ÿ’ค ', + emoji: Emoji.ZZZ, color: 0xff111111, createdAtMs: now, @@ -108,7 +109,7 @@ describe('sql/notificationProfiles', () => { const profile1: NotificationProfileType = { id: generateNotificationProfileId(), name: 'After Hours', - emoji: '๐Ÿ’ค ', + emoji: Emoji.ZZZ, color: 0xff111111, createdAtMs: now, @@ -180,7 +181,7 @@ describe('sql/notificationProfiles', () => { const profile: NotificationProfileType = { id, name: 'After Hours', - emoji: '๐Ÿ’ค ', + emoji: Emoji.ZZZ, color: 0xff111111, createdAtMs: now, @@ -212,7 +213,7 @@ describe('sql/notificationProfiles', () => { const update: NotificationProfileType = { id, name: 'Holiday', - emoji: '๐Ÿ“† ', + emoji: Emoji.CALENDAR, color: 0xff222222, createdAtMs: now + 1, diff --git a/ts/test-electron/state/ducks/calling_test.preload.ts b/ts/test-electron/state/ducks/calling_test.preload.ts index a81bcdc02c..e1a8f68e08 100644 --- a/ts/test-electron/state/ducks/calling_test.preload.ts +++ b/ts/test-electron/state/ducks/calling_test.preload.ts @@ -51,6 +51,7 @@ import { callLinkRefreshJobQueue } from '../../../jobs/callLinkRefreshJobQueue.p import { CALL_LINK_DEFAULT_STATE } from '../../../util/callLinks.std.ts'; import { DataWriter } from '../../../sql/Client.preload.ts'; import { generateAci } from '../../../test-helpers/serviceIdUtils.std.ts'; +import { Emoji } from '../../../axo/emoji.std.ts'; const { cloneDeep, noop } = lodash; @@ -1886,7 +1887,7 @@ describe('calling duck', () => { { timestamp: NOW.getTime(), demuxId: 123, - value: 'โค๏ธ', + value: Emoji.HEART, }, ]); @@ -1899,7 +1900,7 @@ describe('calling duck', () => { reactions: [ { demuxId: 456, - value: '๐ŸŽ‰', + value: Emoji.TADA, }, ], }); @@ -1913,12 +1914,12 @@ describe('calling duck', () => { { timestamp: NOW.getTime(), demuxId: 123, - value: 'โค๏ธ', + value: Emoji.HEART, }, { timestamp: secondDate.getTime(), demuxId: 456, - value: '๐ŸŽ‰', + value: Emoji.TADA, }, ]); }); @@ -1930,11 +1931,11 @@ describe('calling duck', () => { reactions: [ { demuxId: 123, - value: 'โค๏ธ', + value: Emoji.HEART, }, { demuxId: 456, - value: '๐ŸŽ‰', + value: Emoji.TADA, }, ], }); @@ -1948,12 +1949,12 @@ describe('calling duck', () => { { timestamp: NOW.getTime(), demuxId: 123, - value: 'โค๏ธ', + value: Emoji.HEART, }, { timestamp: NOW.getTime(), demuxId: 456, - value: '๐ŸŽ‰', + value: Emoji.TADA, }, ]); }); @@ -1992,7 +1993,7 @@ describe('calling duck', () => { const action = getAction({ callMode: CallMode.Group, conversationId: 'fake-group-call-conversation-id', - value: 'โค๏ธ', + value: Emoji.HEART, }); const result = reducer(getState().calling, action); @@ -2004,7 +2005,7 @@ describe('calling duck', () => { { timestamp: NOW.getTime(), demuxId: 1, - value: 'โค๏ธ', + value: Emoji.HEART, }, ]); }); diff --git a/ts/test-electron/util/encryptProfileData_test.preload.ts b/ts/test-electron/util/encryptProfileData_test.preload.ts index f89ccf5986..3abebe1d07 100644 --- a/ts/test-electron/util/encryptProfileData_test.preload.ts +++ b/ts/test-electron/util/encryptProfileData_test.preload.ts @@ -13,6 +13,7 @@ import { import type { ConversationType } from '../../state/ducks/conversations.preload.ts'; import { encryptProfileData } from '../../util/encryptProfileData.preload.ts'; import { generateAci } from '../../test-helpers/serviceIdUtils.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; describe('encryptProfileData', () => { let keyBuffer: Uint8Array; @@ -21,7 +22,7 @@ describe('encryptProfileData', () => { beforeEach(() => { keyBuffer = getRandomBytes(32); conversation = { - aboutEmoji: '๐Ÿข', + aboutEmoji: Emoji.TURTLE, aboutText: 'I like turtles', familyName: 'Kid', firstName: 'Zombie', diff --git a/ts/test-helpers/funPickerMocks.dom.tsx b/ts/test-helpers/funPickerMocks.dom.tsx index 9170f96ce0..9c3de3f880 100644 --- a/ts/test-helpers/funPickerMocks.dom.tsx +++ b/ts/test-helpers/funPickerMocks.dom.tsx @@ -1,81 +1,61 @@ // Copyright 2025 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only -import { strictAssert } from '../util/assert.std.ts'; -import type { - EmojiParentKey, - EmojiVariantKey, -} from '../components/fun/data/emojis.std.ts'; -import { - EmojiSkinTone, - getEmojiParentKeyByEnglishShortName, - getEmojiVariantKeyByParentKeyAndSkinTone, - isEmojiEnglishShortName, -} from '../components/fun/data/emojis.std.ts'; import type { PaginatedGifResults } from '../components/fun/panels/FunPanelGifs.dom.tsx'; +import { Emoji } from '../axo/emoji.std.ts'; +import { strictAssert } from '../util/assert.std.ts'; -function getEmoji(input: string): EmojiParentKey { - strictAssert( - isEmojiEnglishShortName(input), - `Not an emoji short name ${input}` - ); - return getEmojiParentKeyByEnglishShortName(input); +function getEmoji(input: string): Emoji.Parent { + strictAssert(Emoji.isParent(input), 'Invalid emoji parent value'); + return input; } -function getSkinToneEmoji( - input: string, - skinTone: EmojiSkinTone = EmojiSkinTone.None -): EmojiVariantKey { - strictAssert( - isEmojiEnglishShortName(input), - `Not an emoji short name ${input}` - ); - const parentKey = getEmojiParentKeyByEnglishShortName(input); - return getEmojiVariantKeyByParentKeyAndSkinTone(parentKey, skinTone); +function getSkinToneEmoji(input: string, skinTone: Emoji.SkinTone) { + return Emoji.getVariant(getEmoji(input), skinTone); } -export const MOCK_THIS_MESSAGE_EMOJIS: ReadonlyArray = [ - getSkinToneEmoji('+1', EmojiSkinTone.None), - getSkinToneEmoji('+1', EmojiSkinTone.Type4), - getSkinToneEmoji('the_horns', EmojiSkinTone.Type1), - getSkinToneEmoji('the_horns', EmojiSkinTone.Type2), - getSkinToneEmoji('smile'), - getSkinToneEmoji('sweat_smile'), +export const MOCK_THIS_MESSAGE_EMOJIS: ReadonlyArray = [ + getSkinToneEmoji('๐Ÿ‘', Emoji.SkinTone.None), + getSkinToneEmoji('๐Ÿ‘', Emoji.SkinTone.Type4), + getSkinToneEmoji('๐Ÿค˜', Emoji.SkinTone.Type1), + getSkinToneEmoji('๐Ÿค˜', Emoji.SkinTone.Type2), + getSkinToneEmoji('๐Ÿ˜„', Emoji.SkinTone.None), + getSkinToneEmoji('๐Ÿ˜…', Emoji.SkinTone.None), ]; -export const MOCK_RECENT_EMOJIS: ReadonlyArray = [ - getEmoji('grinning'), - getEmoji('grin'), - getEmoji('joy'), - getEmoji('rolling_on_the_floor_laughing'), - getEmoji('smiley'), - getEmoji('smile'), - getEmoji('sweat_smile'), - getEmoji('laughing'), - getEmoji('wink'), - getEmoji('blush'), - getEmoji('yum'), - getEmoji('sunglasses'), - getEmoji('heart_eyes'), - getEmoji('kissing_heart'), - getEmoji('kissing'), - getEmoji('kissing_smiling_eyes'), - getEmoji('kissing_closed_eyes'), - getEmoji('relaxed'), - getEmoji('slightly_smiling_face'), - getEmoji('hugging_face'), - getEmoji('grinning_face_with_star_eyes'), - getEmoji('thinking_face'), - getEmoji('face_with_one_eyebrow_raised'), - getEmoji('neutral_face'), - getEmoji('expressionless'), - getEmoji('no_mouth'), - getEmoji('face_with_rolling_eyes'), - getEmoji('smirk'), - getEmoji('persevere'), - getEmoji('disappointed_relieved'), - getEmoji('open_mouth'), - getEmoji('zipper_mouth_face'), +export const MOCK_RECENT_EMOJIS: ReadonlyArray = [ + getEmoji('๐Ÿ˜€'), + getEmoji('๐Ÿ˜'), + getEmoji('๐Ÿ˜‚'), + getEmoji('๐Ÿคฃ'), + getEmoji('๐Ÿ˜ƒ'), + getEmoji('๐Ÿ˜„'), + getEmoji('๐Ÿ˜…'), + getEmoji('๐Ÿ˜†'), + getEmoji('๐Ÿ˜‰'), + getEmoji('๐Ÿ˜Š'), + getEmoji('๐Ÿ˜‹'), + getEmoji('๐Ÿ˜Ž'), + getEmoji('๐Ÿ˜'), + getEmoji('๐Ÿ˜˜'), + getEmoji('๐Ÿ˜—'), + getEmoji('๐Ÿ˜™'), + getEmoji('๐Ÿ˜š'), + getEmoji('โ˜บ๏ธ'), + getEmoji('๐Ÿ™‚'), + getEmoji('๐Ÿค—'), + getEmoji('๐Ÿคฉ'), + getEmoji('๐Ÿค”'), + getEmoji('๐Ÿคจ'), + getEmoji('๐Ÿ˜'), + getEmoji('๐Ÿ˜‘'), + getEmoji('๐Ÿ˜ถ'), + getEmoji('๐Ÿ™„'), + getEmoji('๐Ÿ˜'), + getEmoji('๐Ÿ˜ฃ'), + getEmoji('๐Ÿ˜ฅ'), + getEmoji('๐Ÿ˜ฎ'), + getEmoji('๐Ÿค'), ]; export const MOCK_GIFS_PAGINATED_ONE_PAGE: PaginatedGifResults = { diff --git a/ts/test-helpers/stickersMocks.std.ts b/ts/test-helpers/stickersMocks.std.ts index 923f609c6c..767b32c502 100644 --- a/ts/test-helpers/stickersMocks.std.ts +++ b/ts/test-helpers/stickersMocks.std.ts @@ -13,42 +13,42 @@ export const sticker1: StickerType = { id: 1, url: '/fixtures/kitten-1-64-64.jpg', packId: 'foo', - emoji: '', + emoji: undefined, }; export const sticker2: StickerType = { id: 2, url: '/fixtures/kitten-2-64-64.jpg', packId: 'bar', - emoji: '', + emoji: undefined, }; const sticker3: StickerType = { id: 3, url: '/fixtures/kitten-3-64-64.jpg', packId: 'baz', - emoji: '', + emoji: undefined, }; const abeSticker: StickerType = { id: 4, url: '/fixtures/512x515-thumbs-up-lincoln.webp', packId: 'abe', - emoji: '', + emoji: undefined, }; const wideSticker: StickerType = { id: 5, url: '/fixtures/1000x50-green.jpeg', packId: 'wide', - emoji: '', + emoji: undefined, }; const tallSticker: StickerType = { id: 6, url: '/fixtures/50x1000-teal.jpeg', packId: 'tall', - emoji: '', + emoji: undefined, }; const choosableStickers = [sticker1, sticker2, sticker3, abeSticker]; diff --git a/ts/test-mock/backups/backups_test.node.ts b/ts/test-mock/backups/backups_test.node.ts index 336b97c516..ac2b5a27b1 100644 --- a/ts/test-mock/backups/backups_test.node.ts +++ b/ts/test-mock/backups/backups_test.node.ts @@ -30,6 +30,7 @@ import { strictAssert } from '../../util/assert.std.ts'; import { BackupLevel } from '../../services/backups/types.std.ts'; import { generateNotificationProfileId } from '../../types/NotificationProfile-node.node.ts'; import { generateAci } from '../../test-helpers/serviceIdUtils.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; export const debug = createDebug('mock:test:backups'); @@ -258,7 +259,7 @@ describe('backups', function (this: Mocha.Suite) { targetMessageTimestamp: ourTimestamp, reactionTimestamp, desktop, - emoji: '๐Ÿ‘', + emoji: Emoji.getDefaultVariant(Emoji.THUMBS_UP), }) ); } diff --git a/ts/test-mock/helpers.node.ts b/ts/test-mock/helpers.node.ts index bfa65209be..7df3f0cc8e 100644 --- a/ts/test-mock/helpers.node.ts +++ b/ts/test-mock/helpers.node.ts @@ -16,6 +16,7 @@ import { expect } from 'playwright/test'; import { strictAssert } from '../util/assert.std.ts'; import { SECOND } from '../util/durations/constants.std.ts'; import { toNumber } from '../util/toNumber.std.ts'; +import type { Emoji } from '../axo/emoji.std.ts'; const debug = createDebug('mock:test:helpers'); @@ -260,7 +261,7 @@ export function sendReaction({ to: PrimaryDevice | Device; targetAuthor: PrimaryDevice | Device; targetMessageTimestamp: number; - emoji: string; + emoji: Emoji.Variant; reactionTimestamp?: number; desktop: Device; }): Promise { diff --git a/ts/test-mock/messaging/reaction_test.node.ts b/ts/test-mock/messaging/reaction_test.node.ts index 9bf0fcc70e..fac5850aa5 100644 --- a/ts/test-mock/messaging/reaction_test.node.ts +++ b/ts/test-mock/messaging/reaction_test.node.ts @@ -19,6 +19,7 @@ import { sendReaction, createGroup, } from '../helpers.node.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; export const debug = createDebug('mock:test:reactions'); @@ -38,7 +39,7 @@ async function getReactionsForMessage(page: Page, timestamp: number) { // oxlint-disable-next-line no-await-in-loop const emoji = await row .locator('.FunStaticEmoji') - .getAttribute('data-emoji-value'); + .getAttribute('data-emoji'); // oxlint-disable-next-line no-await-in-loop const reactor = await row .locator('.module-reaction-viewer__body__row__name') @@ -60,7 +61,7 @@ async function getReactionsForMessage(page: Page, timestamp: number) { async function expectMessageToHaveReactions( page: Page, timestamp: number, - reactionsBySender: Record>, + reactionsBySender: Record>, options?: { timeout: number } ): Promise { return expect(async () => { @@ -164,7 +165,7 @@ describe('reactions', function (this: Mocha.Suite) { await sendReaction({ from: bob, to: desktop, - emoji: '๐Ÿ‘ป', + emoji: Emoji.GHOST, targetAuthor: alice, targetMessageTimestamp: alice1on1Timestamp, desktop, @@ -174,17 +175,18 @@ describe('reactions', function (this: Mocha.Suite) { await sendReaction({ from: phone, to: desktop, - emoji: '๐Ÿ’€', + emoji: Emoji.SKULL, targetAuthor: bob, targetMessageTimestamp: alice1on1Timestamp, desktop, }); + const thumbsUp = Emoji.getDefaultVariant(Emoji.THUMBS_UP); // [โœ… incoming message] alice reacting to her own message await sendReaction({ from: alice, to: desktop, - emoji: '๐Ÿ‘', + emoji: thumbsUp, targetAuthor: alice, targetMessageTimestamp: alice1on1Timestamp, desktop, @@ -192,22 +194,23 @@ describe('reactions', function (this: Mocha.Suite) { await clickOnConversation(window, alice); await expectMessageToHaveReactions(window, alice1on1Timestamp, { - '๐Ÿ‘': [alice.profileName], + [thumbsUp]: [alice.profileName], }); // [โœ… incoming message] phone sending message with right author + const wave = Emoji.getDefaultVariant(Emoji.WAVE); await sendReaction({ from: phone, to: alice, - emoji: '๐Ÿ‘‹', + emoji: wave, targetAuthor: alice, targetMessageTimestamp: alice1on1Timestamp, desktop, }); await expectMessageToHaveReactions(window, alice1on1Timestamp, { - '๐Ÿ‘': [alice.profileName], - '๐Ÿ‘‹': ['You'], + [thumbsUp]: [alice.profileName], + [wave]: ['You'], }); // now, receive reactions from those messages with same timestamp @@ -215,7 +218,7 @@ describe('reactions', function (this: Mocha.Suite) { await sendReaction({ from: bob, to: desktop, - emoji: '๐Ÿ‘‹', + emoji: Emoji.getDefaultVariant(Emoji.WAVE), targetAuthor: phone, targetMessageTimestamp: outgoingTimestamp, desktop, @@ -225,7 +228,7 @@ describe('reactions', function (this: Mocha.Suite) { await sendReaction({ from: charlie, to: desktop, - emoji: '๐Ÿ‘‹', + emoji: Emoji.getDefaultVariant(Emoji.WAVE), targetAuthor: phone, targetMessageTimestamp: outgoingTimestamp, desktop, @@ -233,12 +236,12 @@ describe('reactions', function (this: Mocha.Suite) { await clickOnConversation(window, bob); await expectMessageToHaveReactions(window, outgoingTimestamp, { - '๐Ÿ‘‹': [bob.profileName], + [wave]: [bob.profileName], }); await clickOnConversation(window, charlie); await expectMessageToHaveReactions(window, outgoingTimestamp, { - '๐Ÿ‘‹': [charlie.profileName], + [wave]: [charlie.profileName], }); }); @@ -269,10 +272,11 @@ describe('reactions', function (this: Mocha.Suite) { const charlieGroupTimestamp = now + 3; // [โœ… outgoing message]: charlie reacting to bob's group message, early + const wave = Emoji.getDefaultVariant(Emoji.WAVE); await sendReaction({ from: charlie, to: desktop, - emoji: '๐Ÿ‘‹', + emoji: wave, targetAuthor: bob, targetMessageTimestamp: bobGroupTimestamp, desktop, @@ -318,17 +322,18 @@ describe('reactions', function (this: Mocha.Suite) { await sendReaction({ from: danielle, to: desktop, - emoji: '๐Ÿ‘ป', + emoji: Emoji.GHOST, targetAuthor: phone, targetMessageTimestamp: myGroupTimestamp, desktop, }); // [โœ… outgoing message]: alice reacting to our group message + const thumbsUp = Emoji.getDefaultVariant(Emoji.THUMBS_UP); await sendReaction({ from: alice, to: desktop, - emoji: '๐Ÿ‘', + emoji: thumbsUp, targetAuthor: phone, targetMessageTimestamp: myGroupTimestamp, desktop, @@ -338,7 +343,7 @@ describe('reactions', function (this: Mocha.Suite) { await sendReaction({ from: bob, to: desktop, - emoji: '๐Ÿ‘', + emoji: thumbsUp, targetAuthor: phone, targetMessageTimestamp: myGroupTimestamp, desktop, @@ -348,22 +353,22 @@ describe('reactions', function (this: Mocha.Suite) { await sendReaction({ from: charlie, to: desktop, - emoji: '๐Ÿ˜›', + emoji: Emoji.STUCK_OUT_TONGUE, targetAuthor: alice, targetMessageTimestamp: aliceGroupTimestamp, desktop, }); await expectMessageToHaveReactions(window, myGroupTimestamp, { - '๐Ÿ‘': [bob.profileName, alice.profileName], + [thumbsUp]: [bob.profileName, alice.profileName], }); await expectMessageToHaveReactions(window, aliceGroupTimestamp, { - '๐Ÿ˜›': [charlie.profileName], + [Emoji.STUCK_OUT_TONGUE]: [charlie.profileName], }); await expectMessageToHaveReactions(window, bobGroupTimestamp, { - '๐Ÿ‘‹': [charlie.profileName], + [wave]: [charlie.profileName], }); }); @@ -397,7 +402,7 @@ describe('reactions', function (this: Mocha.Suite) { await sendReaction({ from: phone, to: desktop, - emoji: '๐Ÿ‘๐Ÿฝ', + emoji: Emoji.getVariant(Emoji.THUMBS_UP, Emoji.SkinTone.Type3), targetAuthor: phone, targetMessageTimestamp: ts, desktop, @@ -407,7 +412,7 @@ describe('reactions', function (this: Mocha.Suite) { await sendReaction({ from: bob, to: desktop, - emoji: '๐Ÿ‘๐Ÿฟ', + emoji: Emoji.getVariant(Emoji.THUMBS_UP, Emoji.SkinTone.Type5), targetAuthor: phone, targetMessageTimestamp: ts, desktop, @@ -426,7 +431,7 @@ describe('reactions', function (this: Mocha.Suite) { ); // The header emoji should still show the local "๐Ÿ‘๐Ÿฝ" - await expect(headerEmoji).toHaveAttribute('data-emoji-value', '๐Ÿ‘๐Ÿฝ'); + await expect(headerEmoji).toHaveAttribute('data-emoji', '๐Ÿ‘๐Ÿฝ'); // Get all reaction rows; Bob's should be first (most recent), then "You" const reactionRows = await window @@ -440,7 +445,7 @@ describe('reactions', function (this: Mocha.Suite) { firstReaction.locator('.module-reaction-viewer__body__row__name') ).toHaveText(bob.profileName); await expect(firstReaction.locator('.FunStaticEmoji')).toHaveAttribute( - 'data-emoji-value', + 'data-emoji', '๐Ÿ‘๐Ÿฟ' ); @@ -451,7 +456,7 @@ describe('reactions', function (this: Mocha.Suite) { secondReaction.locator('.module-reaction-viewer__body__row__name') ).toHaveText('You'); await expect(secondReaction.locator('.FunStaticEmoji')).toHaveAttribute( - 'data-emoji-value', + 'data-emoji', '๐Ÿ‘๐Ÿฝ' ); }); diff --git a/ts/test-node/axo/emoji_test.node.ts b/ts/test-node/axo/emoji_test.node.ts new file mode 100644 index 0000000000..908b1fed2b --- /dev/null +++ b/ts/test-node/axo/emoji_test.node.ts @@ -0,0 +1,849 @@ +// Copyright 2026 Signal Messenger, LLC +// SPDX-License-Identifier: AGPL-3.0-only +import assert from 'node:assert/strict'; +import { + _hasEmojiLocalizer, + _toEmojiCompletionLabel, + _toEmojiCompletionQuery, + _resetEmojiLocalizer, + Emoji, +} from '../../axo/emoji.std.ts'; +import type { SinonSandbox, SinonSpiedMember } from 'sinon'; +import sinon from 'sinon'; + +type EmojiEdgeCase = Readonly<{ + label: string; + input: string; + debug: string; + isEmoji: boolean; + isParent: boolean; + isSkinToneVariant: boolean; + codeUnits: number; +}>; + +const EMOJI_EDGE_CASES: Array = [ + { + label: 'Single code point in BMP with no VS', + input: 'โ˜•', + debug: 'U+2615', + isEmoji: true, + isParent: true, + isSkinToneVariant: false, + codeUnits: 1, + }, + { + label: 'Single code point in astral plane as surrogate pair', + input: '๐Ÿ˜€', + debug: 'U+1F600', + isEmoji: true, + isParent: true, + isSkinToneVariant: false, + codeUnits: 2, + }, + { + label: 'Text-default characters without VS16', + input: 'โ˜บ', + debug: 'U+263A', + isEmoji: false, + isParent: false, + isSkinToneVariant: false, + codeUnits: 1, + }, + { + label: 'Text-default characters with VS16 to force emoji presentation', + input: 'โ˜บ๏ธ', + debug: 'U+263A U+FE0F', + isEmoji: true, + isParent: true, + isSkinToneVariant: false, + codeUnits: 2, + }, + { + label: 'Modifier sequence with base + fitzpatrick skin tone', + input: '๐Ÿ‘‹๐Ÿป', + debug: 'U+1F44B U+1F3FB', + isEmoji: true, + isParent: false, + isSkinToneVariant: true, + codeUnits: 4, + }, + { + label: 'ZWJ sequence with no VS16', + input: '๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง', + debug: 'U+1F468 U+200D U+1F469 U+200D U+1F467', + isEmoji: true, + isParent: true, + isSkinToneVariant: false, + codeUnits: 8, + }, + { + label: 'ZWJ sequence with VS16 required mid-sequence', + input: '๐Ÿณ๏ธโ€๐ŸŒˆ', + debug: 'U+1F3F3 U+FE0F U+200D U+1F308', + isEmoji: true, + isParent: true, + isSkinToneVariant: false, + codeUnits: 6, + }, + { + label: 'ZWJ sequence with BMP base + VS16 + ZWJ + astral', + input: 'โค๏ธโ€๐Ÿ”ฅ', + debug: 'U+2764 U+FE0F U+200D U+1F525', + isEmoji: true, + isParent: true, + isSkinToneVariant: false, + codeUnits: 5, + }, + { + label: 'ZWJ sequence with trailing VS16', + input: '๐Ÿดโ€โ˜ ๏ธ', + debug: 'U+1F3F4 U+200D U+2620 U+FE0F', + isEmoji: true, + isParent: true, + isSkinToneVariant: false, + codeUnits: 5, + }, + { + label: 'ZWJ sequence with skin tone', + input: '๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป', + debug: 'U+1F468 U+1F3FD U+200D U+1F4BB', + isEmoji: true, + isParent: false, + isSkinToneVariant: true, + codeUnits: 7, + }, + { + label: 'Keycap sequence with digit + VS16 + enclosing keycap', + input: '1๏ธโƒฃ', + debug: 'U+0031 U+FE0F U+20E3', + isEmoji: true, + isParent: true, + isSkinToneVariant: false, + codeUnits: 3, + }, + { + label: 'Keycap sequence with ASCII punctuation base', + input: '#๏ธโƒฃ', + debug: 'U+0023 U+FE0F U+20E3', + isEmoji: true, + isParent: true, + isSkinToneVariant: false, + codeUnits: 3, + }, + { + label: 'Flag with regional indicator pair', + input: '๐Ÿ‡จ๐Ÿ‡ฆ', + debug: 'U+1F1E8 U+1F1E6', + isEmoji: true, + isParent: true, + isSkinToneVariant: false, + codeUnits: 4, + }, + { + label: 'Flag with subdivision tag sequence', + input: '๐Ÿด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ', + debug: 'U+1F3F4 U+E0067 U+E0062 U+E0073 U+E0063 U+E0074 U+E007F', + isEmoji: true, + isParent: true, + isSkinToneVariant: false, + codeUnits: 14, + }, +]; + +describe('Emoji', () => { + let sandbox: SinonSandbox; + + beforeEach(() => { + sandbox = sinon.createSandbox(); + assert.equal(_hasEmojiLocalizer(), false); + }); + + afterEach(() => { + sandbox.restore(); + _resetEmojiLocalizer(); + }); + + function spyGetMatches() { + type Next = ReturnType['next']; + let spy: SinonSpiedMember; + + const stub = sandbox.stub(Emoji, 'getMatches'); + + stub.onCall(0).callsFake(input => { + const iterator = stub.wrappedMethod(input); + spy = sandbox.spy(iterator, 'next'); + return iterator; + }); + + stub.throws('cannot call more than once in a test'); + + return { + getNextCallCount() { + return spy?.callCount ?? 0; + }, + }; + } + + describe('Emoji.getDebugLabel()', () => { + function check(input: string, expected: string) { + assert.equal(Emoji.getDebugLabel(input), expected); + } + + it('formats unicode sequences', () => { + check('a', 'U+0061'); + check('abc', 'U+0061 U+0062 U+0063'); + check('๐Ÿ˜€', 'U+1F600'); + check('โค๏ธ', 'U+2764 U+FE0F'); + check('a๐Ÿ˜€b', 'U+0061 U+1F600 U+0062'); + }); + + it('truncates to the first 12 UTF-16 code units', () => { + check( + 'abcdefghijklmnop', + 'U+0061 U+0062 U+0063 U+0064 U+0065 U+0066 U+0067 U+0068 U+0069 U+006A U+006B U+006C' + ); + }); + }); + + describe('Emoji.getDisplayLabel()', () => { + function setup() { + Emoji.setupLocale([ + { emoji: '๐Ÿ˜„', rank: 1, tags: ['not-a-default-tag'] }, + ]); + } + + function check(input: string, expected: string) { + assert(Emoji.isEmoji(input)); + assert.equal(Emoji.getDisplayLabel(input), expected); + } + + it('falls back to default english short names when no locale is setup', () => { + check('๐Ÿ˜„', 'smile'); + }); + + it('matches localized short names', () => { + setup(); + check('๐Ÿ˜„', 'not-a-default-tag'); + }); + + it('falls back to default english short names locale doesnt contain emoji', () => { + setup(); + check('๐Ÿ‘‹', 'wave'); + }); + }); + + describe('Emoji.getCompletionLabel()', () => { + function setup() { + Emoji.setupLocale([ + { emoji: '๐Ÿ˜„', rank: 1, tags: ['this-is_not, รฑormalรฎzed'] }, + ]); + } + + function check(input: string, expected: string) { + assert(Emoji.isEmoji(input)); + assert.equal(Emoji.getCompletionLabel(input), expected); + } + + it('falls back to default english short names when no locale is setup', () => { + check('๐Ÿ˜„', 'smile'); + }); + + it('matches localized short names', () => { + setup(); + check('๐Ÿ˜„', 'this_is_not_รฑormalรฎzed'); + }); + + it('falls back to default english short names locale doesnt contain emoji', () => { + setup(); + check('๐Ÿ‘‹', 'wave'); + }); + + it('leaves :-1: alone', () => { + check('๐Ÿ‘Ž', '-1'); + }); + }); + + describe('Emoji.isEmoji()', () => { + function check(input: string, expected: boolean) { + assert.equal(Emoji.isEmoji(input), expected); + } + + it('returns true for a single emoji', () => { + check('๐Ÿ˜€', true); + check('โค๏ธ', true); + check('๐Ÿ‘‹๐Ÿป', true); + }); + + it('returns false for plain text', () => { + check('', false); + check('a', false); + check('hello', false); + }); + + it('returns false when an emoji is mixed with other text', () => { + check('a๐Ÿ˜€', false); + check('๐Ÿ˜€b', false); + check('๐Ÿ˜€๐Ÿ˜€', false); + }); + + describe('EMOJI_EDGE_CASES', () => { + for (const test of EMOJI_EDGE_CASES) { + it(test.label, () => { + check(test.input, test.isEmoji); + }); + } + }); + }); + + describe('Emoji.isParent()', () => { + function check(input: string, expected: boolean) { + assert.equal(Emoji.isParent(input), expected); + } + + it('returns true for parent emoji', () => { + check('๐Ÿ˜€', true); + check('๐Ÿ‘‹', true); + }); + + it('returns false for skin tone variants', () => { + check('๐Ÿ‘‹๐Ÿป', false); + }); + + it('returns false for non-emoji', () => { + check('', false); + check(' ', false); + check('abc', false); + check('abc๐Ÿ‘‹', false); + }); + + it('returns false for multiple emojis', () => { + check('๐Ÿ‘‹๐Ÿ‘‹', false); + }); + + describe('EMOJI_EDGE_CASES', () => { + for (const test of EMOJI_EDGE_CASES) { + it(test.label, () => { + check(test.input, test.isParent); + }); + } + }); + }); + + describe('Emoji.isSkinToneVariant()', () => { + function check(input: string, expected: boolean) { + assert.equal(Emoji.isSkinToneVariant(input), expected); + } + + it('returns true for skin tone variants', () => { + check('๐Ÿ‘‹๐Ÿป', true); + check('๐Ÿ‘‹๐Ÿฟ', true); + }); + + it('returns false for parent emoji', () => { + check('๐Ÿ˜€', false); + check('๐Ÿ‘‹', false); + }); + + it('returns false for non-emoji', () => { + check('', false); + check(' ', false); + check('abc', false); + check('abc๐Ÿ‘‹๐Ÿป', false); + }); + + it('returns false for multiple emojis', () => { + check('๐Ÿ‘‹๐Ÿป๐Ÿ‘‹๐Ÿฟ', false); + }); + + describe('EMOJI_EDGE_CASES', () => { + for (const test of EMOJI_EDGE_CASES) { + it(test.label, () => { + check(test.input, test.isSkinToneVariant); + }); + } + }); + }); + + describe('Emoji.matchShortName()', () => { + function setup() { + Emoji.setupLocale([ + { emoji: '๐Ÿ˜„', rank: 1, tags: ['not-a-default-tag'] }, + ]); + } + + function check(input: string, expected: string | null) { + assert.equal(Emoji.matchShortName(input), expected); + } + + it('falls back to default english short names when no locale is setup', () => { + check('smile', '๐Ÿ˜„'); + }); + + it('returns null for inputs that are not exactly a short name', () => { + check('', null); + check(' ', null); + check('s', null); + check('smil', null); + check('smiles', null); + check('smile ', null); + check(' smile', null); + }); + + it('matches localized short names', () => { + setup(); + check('not-a-default-tag', '๐Ÿ˜„'); + }); + + it('falls back to default english short names when doesnt match locale', () => { + setup(); + check('smile', '๐Ÿ˜„'); + }); + }); + + describe('Emoji.getCategoryParents()', () => { + function check( + category: Emoji.Category, + includes: string, + excludes: string + ) { + assert(Emoji.isParent(includes)); + assert(Emoji.isParent(excludes)); + const results = Emoji.getCategoryParents(category); + assert(results.length > 0); + assert(results.includes(includes)); + assert(!results.includes(excludes)); + } + + it('returns the parents for a category', () => { + check(Emoji.Category.SMILIES_AND_PEOPLE, '๐Ÿ˜€', '๐Ÿค'); + check(Emoji.Category.FOOD_AND_DRINK, '๐Ÿค', '๐Ÿ˜€'); + }); + }); + + describe('Emoji.getParent()', () => { + function check(input: string, expected: string) { + assert(Emoji.isEmoji(input)); + assert(Emoji.isEmoji(expected)); + assert.equal(Emoji.getParent(input), expected); + } + + it('returns the input when given a parent', () => { + check('๐Ÿ˜€', '๐Ÿ˜€'); + check('๐Ÿ‘‹', '๐Ÿ‘‹'); + }); + + it('returns the parent for a skin tone variant', () => { + check('๐Ÿ‘‹๐Ÿป', '๐Ÿ‘‹'); + check('๐Ÿ‘‹๐Ÿฟ', '๐Ÿ‘‹'); + }); + + it('throws for non-emoji input', () => { + assert.throws(() => Emoji.getParent('a' as unknown as Emoji.Parent)); + }); + }); + + describe('Emoji.hasSkinToneVariants()', () => { + function check(input: string, expected: boolean) { + assert(Emoji.isParent(input)); + assert.equal(Emoji.hasSkinToneVariants(input), expected); + } + + it('returns true for emoji with skin tone variants', () => { + check('๐Ÿ‘‹', true); + check('๐Ÿ‘', true); + }); + + it('returns false for emoji without skin tone variants', () => { + check('๐Ÿ˜€', false); + check('โค๏ธ', false); + }); + }); + + describe('Emoji.getVariant()', () => { + function check(parent: string, skinTone: Emoji.SkinTone, variant: string) { + assert(Emoji.isParent(parent)); + assert.equal(Emoji.getVariant(parent, skinTone), variant); + } + + it('returns the parent emoji unchanged with SkinTone.None', () => { + check('๐Ÿ‘‹', Emoji.SkinTone.None, '๐Ÿ‘‹'); + check('๐Ÿ˜€', Emoji.SkinTone.None, '๐Ÿ˜€'); + }); + + it('returns the variant emoji when a skin tone is available', () => { + check('๐Ÿ‘‹', Emoji.SkinTone.Type1, '๐Ÿ‘‹๐Ÿป'); + check('๐Ÿ‘‹', Emoji.SkinTone.Type5, '๐Ÿ‘‹๐Ÿฟ'); + }); + + it('returns the parent when an emoji has no skin tone variants', () => { + check('๐Ÿ˜€', Emoji.SkinTone.Type3, '๐Ÿ˜€'); + }); + }); + + describe('Emoji.iterateAllVariants()', () => { + // ... + }); + + describe('Emoji.replaceEmojiWithSpaces()', () => { + function check(input: string, expected: string) { + assert.equal(Emoji.replaceEmojiWithSpaces(input), expected); + } + + it('returns text-only strings unchanged', () => { + check('', ''); + check(' ', ' '); + check('hello', 'hello'); + check(' hello ', ' hello '); + }); + + it('returns text with emojis replaced with spaces of the same UTF-16 length', () => { + check('๐Ÿ˜€', ' '); + check('๐Ÿ˜Ž', ' '); + check('a๐Ÿ˜€b', 'a b'); + check('๐Ÿ‘‹๐Ÿป', ' '); + }); + + describe('EMOJI_EDGE_CASES', () => { + for (const test of EMOJI_EDGE_CASES) { + it(test.label, () => { + check(`a${test.input}b`, `a${' '.repeat(test.codeUnits)}b`); + }); + } + }); + }); + + describe('Emoji.stripEmojiFromText()', () => { + function check(input: string, expected: string) { + assert.equal(Emoji.stripEmojiFromText(input), expected); + } + + it('returns text-only strings unchanged', () => { + check('', ''); + check(' ', ' '); + check('hello', 'hello'); + check(' hello ', ' hello '); + }); + + it('returns text with emojis stripped away', () => { + check('a๐Ÿ˜€b', 'ab'); + check('hi ๐Ÿ‘‹๐Ÿป there', 'hi there'); + check('๐Ÿ˜€๐Ÿ˜€', ''); + }); + + describe('EMOJI_EDGE_CASES', () => { + for (const test of EMOJI_EDGE_CASES) { + it(test.label, () => { + check(`a${test.input}b`, 'ab'); + }); + } + }); + }); + + describe('Emoji.getMatches()', () => { + function check(input: string, expected: Array) { + assert.deepEqual(Array.from(Emoji.getMatches(input)), expected); + } + + function match(emoji: string, offset: number): Emoji.Match { + assert(Emoji.isEmoji(emoji)); + return { emoji: Emoji.ignorePreferredSkinTone(emoji), offset }; + } + + it('yields nothing for an empty string', () => { + check('', []); + check(' ', []); + }); + + it('yields nothing for a text-only string', () => { + check('hello', []); + }); + + it('yields emoji matches', () => { + check('๐Ÿ˜€', [match('๐Ÿ˜€', 0)]); + check('๐Ÿ˜€๐Ÿ˜€๐Ÿ˜€', [match('๐Ÿ˜€', 0), match('๐Ÿ˜€', 2), match('๐Ÿ˜€', 4)]); + }); + + it('yields emojis inside mixed text', () => { + check('a๐Ÿ˜€b๐Ÿ‘‹๐Ÿปc', [match('๐Ÿ˜€', 1), match('๐Ÿ‘‹๐Ÿป', 4)]); + }); + + describe('EMOJI_EDGE_CASES', () => { + for (const test of EMOJI_EDGE_CASES) { + it(test.label, () => { + check(test.input, test.isEmoji ? [match(test.input, 0)] : []); + }); + } + }); + }); + + describe('Emoji.getSegments()', () => { + function check(input: string, expected: Array) { + assert.deepEqual(Array.from(Emoji.getSegments(input)), expected); + } + + function text(value: string, offset: number): Emoji.TextSegment { + return { kind: 'text', value, offset }; + } + + function emoji(value: string, offset: number): Emoji.EmojiSegment { + assert(Emoji.isEmoji(value)); + return { + kind: 'emoji', + value: Emoji.ignorePreferredSkinTone(value), + offset, + }; + } + + it('doesnt call Emoji.getMatches() for empty input', () => { + const spy = sandbox.spy(Emoji, 'getMatches'); + assert.deepEqual(Array.from(Emoji.getSegments('')), [text('', 0)]); + assert.equal(spy.called, false); + + assert.deepEqual(Array.from(Emoji.getSegments(' ')), [text(' ', 0)]); + assert.equal(spy.called, false); + }); + + it('only calls Emoji.getMatches().next() while requesting items', () => { + const getMatchesSpy = spyGetMatches(); + const iterator = Emoji.getSegments('a๐Ÿ˜€b๐Ÿ˜€c๐Ÿ˜€d๐Ÿ˜€e'); + + assert.equal(getMatchesSpy.getNextCallCount(), 0); + + function next(value: string, count: number) { + assert.equal(iterator.next().value?.value, value); + assert.equal(getMatchesSpy.getNextCallCount(), count); + } + + // Note: Only calls getMatches().next() when searching for the next emoji + next('a', 1); + next('๐Ÿ˜€', 1); + next('b', 2); + next('๐Ÿ˜€', 2); + next('c', 3); + next('๐Ÿ˜€', 3); + }); + + it('yields an empty string', () => { + check('', [text('', 0)]); + }); + + it('yields a whitespace-only string', () => { + check(' ', [text(' ', 0)]); + }); + + it('yields a single text segment', () => { + check('abc', [text('abc', 0)]); + }); + + it('yields a single emoji segment', () => { + check('๐Ÿ˜€', [emoji('๐Ÿ˜€', 0)]); + }); + + it('yields multiple emoji segments', () => { + check('๐Ÿ˜€๐Ÿ˜€๐Ÿ˜€', [emoji('๐Ÿ˜€', 0), emoji('๐Ÿ˜€', 2), emoji('๐Ÿ˜€', 4)]); + }); + + it('yields leading text before emoji', () => { + check('abc๐Ÿ˜€', [text('abc', 0), emoji('๐Ÿ˜€', 3)]); + }); + + it('yields trailing text after emoji', () => { + check('๐Ÿ˜€abc', [emoji('๐Ÿ˜€', 0), text('abc', 2)]); + check('abc๐Ÿ˜€๐Ÿ˜€๐Ÿ˜€def', [ + text('abc', 0), + emoji('๐Ÿ˜€', 3), + emoji('๐Ÿ˜€', 5), + emoji('๐Ÿ˜€', 7), + text('def', 9), + ]); + }); + + it('yields text in between emoji', () => { + check('๐Ÿ˜€abc๐Ÿ˜€', [emoji('๐Ÿ˜€', 0), text('abc', 2), emoji('๐Ÿ˜€', 5)]); + }); + }); + + describe('Emoji.isLoneEmoji()', () => { + function check(input: string, expected: boolean) { + assert.equal(Emoji.isLoneEmoji(input), expected); + } + + it('returns true for a single emoji', () => { + check('๐Ÿ˜€', true); + check('๐Ÿ‘‹๐Ÿป', true); + }); + + it('returns false for empty input', () => { + check('', false); + check(' ', false); + }); + + it('returns false for text-only', () => { + check('hello', false); + }); + + it('returns false for multiple emoji', () => { + check('๐Ÿ˜€๐Ÿ˜€', false); + }); + + it('returns false with mixed text and emoji', () => { + check('๐Ÿ˜€ a', false); + }); + + describe('EMOJI_EDGE_CASES', () => { + for (const test of EMOJI_EDGE_CASES) { + it(test.label, () => { + check(test.input, test.isEmoji); + }); + } + }); + }); + + describe('Emoji.getJumboEmojiCount()', () => { + function check(input: string, expected: Emoji.JumboEmojiCount) { + assert.equal(Emoji.getJumboEmojiCount(input), expected); + } + + const MAX = Emoji.MAX_JUMBO_EMOJI_COUNT; + + it('returns null for empty input', () => { + check('', null); + }); + + it('returns null for text-only input', () => { + check('hello', null); + }); + + it('returns count of single emoji', () => { + check('๐Ÿ˜€', 1); + }); + + it('returns count of multiple emojis', () => { + check('๐Ÿ˜€๐Ÿ˜€๐Ÿ˜€', 3); + }); + + it('returns count of max emojis', () => { + check('๐Ÿ˜€๐Ÿ˜€๐Ÿ˜€๐Ÿ˜€๐Ÿ˜€', MAX); + }); + + it('returns null over max emojis', () => { + check('๐Ÿ˜€'.repeat(MAX + 1), null); + }); + + it('returns null for mixed text and emoji', () => { + check('๐Ÿ˜€a', null); + check('a๐Ÿ˜€', null); + }); + }); + + describe('_toEmojiCompletionDisplay', () => { + function check(input: string, expected: string) { + assert.equal(_toEmojiCompletionLabel(input as Emoji.ShortName), expected); + } + + it('normalizes misc chars', () => { + check('foo bar', 'foo_bar'); + check('foo,bar', 'foo_bar'); + check('foo_bar', 'foo_bar'); + check('foo-bar', 'foo_bar'); + }); + + it('normalizes multiple misc chars', () => { + check('foo, _-bar', 'foo_bar'); + }); + + it('leaves diacritics', () => { + check('รฑ', 'รฑ'); + }); + + it('lowercases', () => { + check('N', 'n'); + check('ร‘', 'รฑ'); + }); + + it('leaves :-1: alone', () => { + check('-1', '-1'); + }); + }); + + describe('_normalizeShortNameCompletionQuery', () => { + function check(input: string, expected: string) { + assert.equal(_toEmojiCompletionQuery(input as Emoji.ShortName), expected); + } + + it('normalizes misc chars', () => { + check('foo bar', 'foo bar'); + check('foo,bar', 'foo bar'); + check('foo_bar', 'foo bar'); + check('foo-bar', 'foo bar'); + }); + + it('normalizes multiple misc chars', () => { + check('foo, _-bar', 'foo bar'); + }); + + it('replaces diacritics', () => { + check('รฑ', 'n'); + }); + + it('lowercases', () => { + check('N', 'n'); + check('ร‘', 'n'); + }); + + it('leaves :-1: alone', () => { + check('-1', '-1'); + }); + }); + + describe('search', () => { + function setup() { + Emoji.setupLocale([ + { emoji: '๐Ÿ˜€', rank: 1, tags: ['not-a-default-tag'] }, + ]); + } + + function check(input: string, expected: Array) { + assert.deepEqual( + Emoji.search(input).map(emoji => { + return Emoji.getCompletionLabel(emoji); + }), + expected + ); + } + + it('returns nothing for empty string', () => { + check('', []); + check(' ', []); + check(' ', []); + }); + + it('falls back to default english short names when no locale is setup', () => { + check('grinning', ['grinning', 'star_struck', 'zany_face']); + }); + + it('searches emoticons', () => { + check(':D', ['grinning', 'smile']); + }); + + it('matches localized short names', () => { + setup(); + check('not a default tag', ['not_a_default_tag']); + }); + + it('falls back to default english short names locale doesnt contain emoji', () => { + setup(); + check('wave', ['wave']); + }); + + it('searches english short names even when locale contains emoji', () => { + setup(); + check('grinning', ['not_a_default_tag', 'star_struck', 'zany_face']); + }); + + it('searches emoticons when a locale is setup', () => { + setup(); + check(':D', ['not_a_default_tag']); + }); + }); +}); diff --git a/ts/test-node/components/fun/emojis_test.node.ts b/ts/test-node/components/fun/emojis_test.node.ts deleted file mode 100644 index fbd4117b0e..0000000000 --- a/ts/test-node/components/fun/emojis_test.node.ts +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2025 Signal Messenger, LLC -// SPDX-License-Identifier: AGPL-3.0-only -import assert from 'node:assert/strict'; -import { getEmojifyData } from '../../../components/fun/data/emojis.std.ts'; - -describe('getEmojifyData', () => { - function check(text: string, emojiCount: number, isEmojiOnlyText: boolean) { - assert.deepEqual(getEmojifyData(text), { - text, - emojiCount, - isEmojiOnlyText, - }); - } - - it('empty strings', () => check('', 0, false)); - it('no emojis', () => check('abc', 0, false)); - it('emoji-like chars', () => check('ยฎ', 0, false)); - it('one emoji', () => check('โค๏ธ', 1, true)); - it('multiple emojis', () => check('โค๏ธโค๏ธโค๏ธ', 3, true)); - it('emojis + leading text', () => check('leadingโค๏ธ', 1, false)); - it('emojis + trailing text', () => check('โค๏ธtrailing', 1, false)); - it('emojis + middle text', () => check('โค๏ธmiddleโค๏ธ', 2, false)); - it('lots of emoji', () => check('โค๏ธ'.repeat(1000), 1000, true)); - it('lots of text + emoji', () => check(`${'a'.repeat(1000)}โค๏ธ`, 1, false)); -}); diff --git a/ts/test-node/processDataMessage_test.preload.ts b/ts/test-node/processDataMessage_test.preload.ts index 91d773d376..c546fded62 100644 --- a/ts/test-node/processDataMessage_test.preload.ts +++ b/ts/test-node/processDataMessage_test.preload.ts @@ -14,6 +14,7 @@ import { IMAGE_GIF, IMAGE_JPEG, LONG_MESSAGE } from '../types/MIME.std.ts'; import { toAciObject } from '../util/ServiceId.node.ts'; import { uuidToBytes } from '../util/uuidToBytes.std.ts'; import { generateAci } from '../test-helpers/serviceIdUtils.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const ACI_1 = generateAci(); const ACI_BINARY_1 = toAciObject(ACI_1).getRawUuidBytes(); @@ -358,7 +359,7 @@ describe('processDataMessage', () => { assert.deepStrictEqual( check({ reaction: { - emoji: '๐Ÿ˜Ž', + emoji: Emoji.COOL, remove: null, targetAuthorAci: null, targetAuthorAciBinary: ACI_BINARY_1, @@ -366,7 +367,7 @@ describe('processDataMessage', () => { }, }).reaction, { - emoji: '๐Ÿ˜Ž', + emoji: Emoji.COOL, remove: false, targetAuthorAci: ACI_1, targetTimestamp: TIMESTAMP, @@ -376,7 +377,7 @@ describe('processDataMessage', () => { assert.deepStrictEqual( check({ reaction: { - emoji: '๐Ÿ˜Ž', + emoji: Emoji.COOL, remove: true, targetAuthorAci: null, targetAuthorAciBinary: ACI_BINARY_1, @@ -384,7 +385,7 @@ describe('processDataMessage', () => { }, }).reaction, { - emoji: '๐Ÿ˜Ž', + emoji: Emoji.COOL, remove: true, targetAuthorAci: ACI_1, targetTimestamp: TIMESTAMP, @@ -431,7 +432,7 @@ describe('processDataMessage', () => { packId: '010203', packKey: 'BAUG', stickerId: 1, - emoji: '๐Ÿ’ฏ', + emoji: Emoji.ONE_HUNDRED, data: PROCESSED_ATTACHMENT, }); }); diff --git a/ts/test-node/reactions/isValidReactionEmoji_test.std.ts b/ts/test-node/reactions/isValidReactionEmoji_test.std.ts deleted file mode 100644 index aaa1a2dafe..0000000000 --- a/ts/test-node/reactions/isValidReactionEmoji_test.std.ts +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2021 Signal Messenger, LLC -// SPDX-License-Identifier: AGPL-3.0-only - -import { assert } from 'chai'; - -import { isValidReactionEmoji } from '../../reactions/isValidReactionEmoji.std.ts'; - -describe('isValidReactionEmoji', () => { - it('returns false for non-strings', () => { - assert.isFalse(isValidReactionEmoji(undefined)); - assert.isFalse(isValidReactionEmoji(null)); - assert.isFalse(isValidReactionEmoji(1)); - }); - - it("returns false for strings that aren't a single emoji", () => { - assert.isFalse(isValidReactionEmoji('')); - - assert.isFalse(isValidReactionEmoji('a')); - assert.isFalse(isValidReactionEmoji('abc')); - - assert.isFalse(isValidReactionEmoji('๐Ÿ’ฉ๐Ÿ’ฉ')); - - assert.isFalse(isValidReactionEmoji('๐Ÿ‡ธ')); - assert.isFalse(isValidReactionEmoji('โ€')); - }); - - it('returns true for strings that are exactly 1 emoji', () => { - assert.isTrue(isValidReactionEmoji('๐Ÿ‡บ๐Ÿ‡ธ')); - assert.isTrue(isValidReactionEmoji('๐Ÿ‘')); - assert.isTrue(isValidReactionEmoji('๐Ÿ‘๐Ÿพ')); - assert.isTrue(isValidReactionEmoji('๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘ฉ')); - }); -}); diff --git a/ts/test-node/reactions/preferredReactionEmoji_test.std.ts b/ts/test-node/reactions/preferredReactionEmoji_test.std.ts index f02cb243ff..a17ba1bbcd 100644 --- a/ts/test-node/reactions/preferredReactionEmoji_test.std.ts +++ b/ts/test-node/reactions/preferredReactionEmoji_test.std.ts @@ -7,24 +7,17 @@ import { canBeSynced, getPreferredReactionEmoji, } from '../../reactions/preferredReactionEmoji.std.ts'; -import { EmojiSkinTone } from '../../components/fun/data/emojis.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; describe('preferred reaction emoji utilities', () => { describe('getPreferredReactionEmoji', () => { - const defaultsForSkinTone2 = ['โค๏ธ', '๐Ÿ‘๐Ÿผ', '๐Ÿ‘Ž๐Ÿผ', '๐Ÿ˜‚', '๐Ÿ˜ฎ', '๐Ÿ˜ข']; - - it('returns the default set if passed a non-array', () => { - [undefined, null, 'โค๏ธ๐Ÿ‘๐Ÿผ๐Ÿ‘Ž๐Ÿผ๐Ÿ˜‚๐Ÿ˜ฎ๐Ÿ˜ข'].forEach(input => { - assert.deepStrictEqual( - getPreferredReactionEmoji(input, EmojiSkinTone.Type2), - defaultsForSkinTone2 - ); - }); - }); + const defaultsForSkinTone2 = Emoji.getDefaultPreferredReactionEmojis( + Emoji.SkinTone.Type2 + ); it('returns the default set if passed an empty array', () => { assert.deepStrictEqual( - getPreferredReactionEmoji([], EmojiSkinTone.Type2), + getPreferredReactionEmoji([], Emoji.SkinTone.Type2), defaultsForSkinTone2 ); }); @@ -33,16 +26,23 @@ describe('preferred reaction emoji utilities', () => { const input = ['โœจ', 'โ‡๏ธ']; const expected = ['โœจ', 'โ‡๏ธ', '๐Ÿ‘Ž๐Ÿฝ', '๐Ÿ˜‚', '๐Ÿ˜ฎ', '๐Ÿ˜ข']; assert.deepStrictEqual( - getPreferredReactionEmoji(input, EmojiSkinTone.Type3), + getPreferredReactionEmoji(input, Emoji.SkinTone.Type3), expected ); }); it('falls back to defaults when passed an array with some invalid values', () => { - const input = ['โœจ', 'invalid', '๐ŸŽ‡', '๐Ÿฆˆ', undefined, '']; + const input = [ + 'โœจ', + 'invalid', + '๐ŸŽ‡', + '๐Ÿฆˆ', + undefined, + '', + ] as Array; const expected = ['โœจ', '๐Ÿ‘๐Ÿผ', '๐ŸŽ‡', '๐Ÿฆˆ', '๐Ÿ˜ฎ', '๐Ÿ˜ข']; assert.deepStrictEqual( - getPreferredReactionEmoji(input, EmojiSkinTone.Type2), + getPreferredReactionEmoji(input, Emoji.SkinTone.Type2), expected ); }); @@ -50,7 +50,7 @@ describe('preferred reaction emoji utilities', () => { it('returns a custom set if passed a valid value', () => { const input = ['โœจ', 'โ‡๏ธ', '๐ŸŽ‡', '๐Ÿฆˆ', '๐Ÿ’–', '๐Ÿ…ฟ๏ธ']; assert.deepStrictEqual( - getPreferredReactionEmoji(input, EmojiSkinTone.Type3), + getPreferredReactionEmoji(input, Emoji.SkinTone.Type3), input ); }); @@ -59,7 +59,7 @@ describe('preferred reaction emoji utilities', () => { const expected = ['โœจ', 'โ‡๏ธ', '๐ŸŽ‡', '๐Ÿฆˆ', '๐Ÿ’–', '๐Ÿ…ฟ๏ธ']; const input = [...expected, '๐Ÿ’…', '๐Ÿ’…', '๐Ÿ’…', '๐Ÿ’…']; assert.deepStrictEqual( - getPreferredReactionEmoji(input, EmojiSkinTone.Type3), + getPreferredReactionEmoji(input, Emoji.SkinTone.Type3), expected ); }); @@ -68,8 +68,8 @@ describe('preferred reaction emoji utilities', () => { describe('canBeSynced', () => { it('returns false for non-arrays', () => { assert.isFalse(canBeSynced(undefined)); - assert.isFalse(canBeSynced(null)); - assert.isFalse(canBeSynced('โค๏ธ๐Ÿ‘๐Ÿผ๐Ÿ‘Ž๐Ÿผ๐Ÿ˜‚๐Ÿ˜ฎ๐Ÿ˜ข')); + assert.isFalse(canBeSynced(null as unknown as Array)); + assert.isFalse(canBeSynced('โค๏ธ๐Ÿ‘๐Ÿผ๐Ÿ‘Ž๐Ÿผ๐Ÿ˜‚๐Ÿ˜ฎ๐Ÿ˜ข' as unknown as Array)); }); it('returns false for arrays that are too long', () => { diff --git a/ts/test-node/reactions/util_test.std.ts b/ts/test-node/reactions/util_test.std.ts index 9dfb8f8b30..b09ce64546 100644 --- a/ts/test-node/reactions/util_test.std.ts +++ b/ts/test-node/reactions/util_test.std.ts @@ -14,6 +14,7 @@ import { markOutgoingReactionFailed, markOutgoingReactionSent, } from '../../reactions/util.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; const { omit } = lodash; @@ -21,7 +22,7 @@ describe('reaction utilities', () => { const OUR_CONVO_ID = uuid(); const rxn = ( - emoji: undefined | string, + emoji: undefined | Emoji.Variant, { isPending = false }: Readonly<{ isPending?: boolean }> = {} ): MessageReactionType => ({ emoji, @@ -33,19 +34,19 @@ describe('reaction utilities', () => { describe('addOutgoingReaction', () => { it('adds the reaction to the end of an empty list', () => { - const reaction = rxn('๐Ÿ’…'); + const reaction = rxn(Emoji.getDefaultVariant(Emoji.NAIL_CARE)); const result = addOutgoingReaction([], reaction); assert.deepStrictEqual(result, [reaction]); }); it('removes all pending reactions', () => { const oldReactions = [ - { ...rxn('๐Ÿ˜ญ', { isPending: true }), timestamp: 3 }, - { ...rxn('๐Ÿ’ฌ'), fromId: uuid() }, - { ...rxn('๐Ÿฅ€', { isPending: true }), timestamp: 1 }, - { ...rxn('๐ŸŒน', { isPending: true }), timestamp: 2 }, + { ...rxn(Emoji.SOB, { isPending: true }), timestamp: 3 }, + { ...rxn(Emoji.SPEECH_BALLOON), fromId: uuid() }, + { ...rxn(Emoji.WILTED_FLOWER, { isPending: true }), timestamp: 1 }, + { ...rxn(Emoji.ROSE, { isPending: true }), timestamp: 2 }, ] as const; - const reaction = rxn('๐Ÿ˜€'); + const reaction = rxn(Emoji.GRINNING); const newReactions = addOutgoingReaction(oldReactions, reaction); assert.deepStrictEqual(newReactions, [oldReactions[1], reaction]); }); @@ -53,20 +54,22 @@ describe('reaction utilities', () => { describe('getNewestPendingOutgoingReaction', () => { it('returns undefined if there are no pending outgoing reactions', () => { - [[], [rxn('๐Ÿ””')], [rxn('๐Ÿ˜ญ'), { ...rxn('๐Ÿ’ฌ'), fromId: uuid() }]].forEach( - oldReactions => { - assert.deepStrictEqual( - getNewestPendingOutgoingReaction(oldReactions, OUR_CONVO_ID), - {} - ); - } - ); + [ + [], + [rxn(Emoji.BELL)], + [rxn(Emoji.SOB), { ...rxn(Emoji.SPEECH_BALLOON), fromId: uuid() }], + ].forEach(oldReactions => { + assert.deepStrictEqual( + getNewestPendingOutgoingReaction(oldReactions, OUR_CONVO_ID), + {} + ); + }); }); it("returns undefined if there's a pending reaction before a fully sent one", () => { const oldReactions = [ - { ...rxn('โญ๏ธ'), timestamp: 2 }, - { ...rxn('๐Ÿ”ฅ', { isPending: true }), timestamp: 1 }, + { ...rxn(Emoji.STAR), timestamp: 2 }, + { ...rxn(Emoji.FIRE, { isPending: true }), timestamp: 1 }, ]; const { pendingReaction, emojiToRemove } = getNewestPendingOutgoingReaction(oldReactions, OUR_CONVO_ID); @@ -77,32 +80,32 @@ describe('reaction utilities', () => { it('returns the newest pending reaction', () => { [ - [rxn('โญ๏ธ', { isPending: true })], + [rxn(Emoji.STAR, { isPending: true })], [ - { ...rxn('๐Ÿฅ€', { isPending: true }), timestamp: 1 }, - { ...rxn('โญ๏ธ', { isPending: true }), timestamp: 2 }, + { ...rxn(Emoji.WILTED_FLOWER, { isPending: true }), timestamp: 1 }, + { ...rxn(Emoji.STAR, { isPending: true }), timestamp: 2 }, ], ].forEach(oldReactions => { const { pendingReaction, emojiToRemove } = getNewestPendingOutgoingReaction(oldReactions, OUR_CONVO_ID); - assert.strictEqual(pendingReaction?.emoji, 'โญ๏ธ'); + assert.strictEqual(pendingReaction?.emoji, Emoji.STAR); assert.isUndefined(emojiToRemove); }); }); it('makes its best guess of an emoji to remove, if applicable', () => { const oldReactions = [ - { ...rxn('โญ๏ธ'), timestamp: 1 }, + { ...rxn(Emoji.STAR), timestamp: 1 }, { ...rxn(undefined, { isPending: true }), timestamp: 3 }, - { ...rxn('๐Ÿ”ฅ', { isPending: true }), timestamp: 2 }, + { ...rxn(Emoji.FIRE, { isPending: true }), timestamp: 2 }, ]; const { pendingReaction, emojiToRemove } = getNewestPendingOutgoingReaction(oldReactions, OUR_CONVO_ID); assert.isDefined(pendingReaction); assert.isUndefined(pendingReaction?.emoji); - assert.strictEqual(emojiToRemove, 'โญ๏ธ'); + assert.strictEqual(emojiToRemove, Emoji.STAR); }); }); @@ -138,12 +141,12 @@ describe('reaction utilities', () => { }); describe('markReactionFailed', () => { - const fullySent = rxn('โญ๏ธ'); + const fullySent = rxn(Emoji.STAR); const partiallySent = { - ...rxn('๐Ÿ”ฅ'), + ...rxn(Emoji.FIRE), isSentByConversationId: { [uuid()]: true, [uuid()]: false }, }; - const unsent = rxn('๐Ÿคซ', { isPending: true }); + const unsent = rxn(Emoji.SHUSHING_FACE, { isPending: true }); const reactions = [fullySent, partiallySent, unsent]; @@ -161,7 +164,10 @@ describe('reaction utilities', () => { it('does nothing if the reaction is not in the list', () => { assert.deepStrictEqual( - markOutgoingReactionFailed(reactions, rxn('๐Ÿฅ€', { isPending: true })), + markOutgoingReactionFailed( + reactions, + rxn(Emoji.WILTED_FLOWER, { isPending: true }) + ), reactions ); }); @@ -180,7 +186,7 @@ describe('reaction utilities', () => { const uuid3 = uuid(); const star = { - ...rxn('โญ๏ธ'), + ...rxn(Emoji.STAR), timestamp: 2, isSentByConversationId: { [uuid1]: false, @@ -198,12 +204,12 @@ describe('reaction utilities', () => { }, }; - const reactions = [star, none, { ...rxn('๐Ÿ”•'), timestamp: 1 }]; + const reactions = [star, none, { ...rxn(Emoji.NO_BELL), timestamp: 1 }]; it("does nothing if the reaction isn't in the list", () => { const result = markOutgoingReactionSent( reactions, - rxn('๐Ÿฅ€', { isPending: true }), + rxn(Emoji.WILTED_FLOWER, { isPending: true }), [uuid()] ); assert.deepStrictEqual(result, reactions); @@ -234,7 +240,7 @@ describe('reaction utilities', () => { uuid3, ]); - const newReaction = result.find(re => re.emoji === 'โญ๏ธ'); + const newReaction = result.find(re => re.emoji === Emoji.STAR); assert.isDefined(newReaction); assert.isUndefined(newReaction?.isSentByConversationId); }); @@ -259,7 +265,7 @@ describe('reaction utilities', () => { uuid3, ]); - assert.isUndefined(result.find(re => re.emoji === '๐Ÿ”•')); + assert.isUndefined(result.find(re => re.emoji === Emoji.NO_BELL)); }); }); }); diff --git a/ts/test-node/sql/helpers.node.ts b/ts/test-node/sql/helpers.node.ts index 1d9bb94a91..fc71bc1c86 100644 --- a/ts/test-node/sql/helpers.node.ts +++ b/ts/test-node/sql/helpers.node.ts @@ -46,7 +46,7 @@ export function updateToVersion(db: WritableDB, version: number): void { throw new Error(`Migration to ${version} not found`); } -type TableRows = ReadonlyArray< +export type TableRows = ReadonlyArray< Record< string, string | number | Buffer | null | Record diff --git a/ts/test-node/sql/migration_1710_test.node.ts b/ts/test-node/sql/migration_1710_test.node.ts new file mode 100644 index 0000000000..856bc4688a --- /dev/null +++ b/ts/test-node/sql/migration_1710_test.node.ts @@ -0,0 +1,61 @@ +// Copyright 2026 Signal Messenger, LLC +// SPDX-License-Identifier: AGPL-3.0-only +import assert from 'node:assert/strict'; +import type { WritableDB } from '../../sql/Interface.std.ts'; +import { + createDB, + getTableData, + insertData, + updateToVersion, +} from './helpers.node.ts'; + +describe('SQL/updateToSchemaVersion1710', () => { + let db: WritableDB; + + beforeEach(() => { + db = createDB(); + updateToVersion(db, 1700); + }); + + afterEach(() => { + db.close(); + }); + + type Item = { id: string; json: { id: string; value: string } }; + + function item(id: string, value: string): Item { + return { id: id, json: { id, value } }; + } + + function skinToneItem(value: string): Item { + return item('emojiSkinToneDefault', value); + } + + function check(input: Array, expected: Array) { + insertData(db, 'items', input); + updateToVersion(db, 1710); + assert.deepEqual(getTableData(db, 'items'), expected); + } + + function testMappedCase(from: string, to: string) { + it(`maps "${from}" to "${to}"`, () => { + check([skinToneItem(from)], [skinToneItem(to)]); + }); + } + + testMappedCase('EmojiSkinTone.None', ''); + testMappedCase('EmojiSkinTone.Type1', '1F3FB'); + testMappedCase('EmojiSkinTone.Type2', '1F3FC'); + testMappedCase('EmojiSkinTone.Type3', '1F3FD'); + testMappedCase('EmojiSkinTone.Type4', '1F3FE'); + testMappedCase('EmojiSkinTone.Type5', '1F3FF'); + + it('falls back to empty string for unexpected values', () => { + check([skinToneItem('something-unexpected')], [skinToneItem('')]); + }); + + it('leaves other items rows untouched', () => { + const other = item('somethingElse', 'EmojiSkinTone.Type2'); + check([other], [other]); + }); +}); diff --git a/ts/test-node/sql/migration_1720_test.node.ts b/ts/test-node/sql/migration_1720_test.node.ts new file mode 100644 index 0000000000..48454ebaa7 --- /dev/null +++ b/ts/test-node/sql/migration_1720_test.node.ts @@ -0,0 +1,60 @@ +// Copyright 2026 Signal Messenger, LLC +// SPDX-License-Identifier: AGPL-3.0-only +import assert from 'node:assert/strict'; +import type { WritableDB } from '../../sql/Interface.std.ts'; +import type { TableRows } from './helpers.node.ts'; +import { + createDB, + getTableData, + insertData, + updateToVersion, +} from './helpers.node.ts'; + +describe('SQL/updateToSchemaVersion1720', () => { + let db: WritableDB; + + beforeEach(() => { + db = createDB(); + updateToVersion(db, 1710); + }); + + afterEach(() => { + db.close(); + }); + + function oldRow(shortName: string | null, lastUsage: number | null) { + return { shortName, lastUsage }; + } + + function newRow(emoji: string, lastUsedAt: number) { + return { emoji, lastUsedAt }; + } + + function check(opts: { oldRows: TableRows; newRows: TableRows }) { + insertData(db, 'emojis', opts.oldRows); + updateToVersion(db, 1720); + const rows = getTableData(db, 'recentEmojis'); + assert.deepEqual(rows, opts.newRows); + } + + it('migrates rows with known shortNames into emoji + lastUsedAt', () => { + check({ + oldRows: [oldRow('grinning', 1000), oldRow('joy', 2000)], + newRows: [newRow('๐Ÿ˜€', 1000), newRow('๐Ÿ˜‚', 2000)], + }); + }); + + it('drops invalid shortnames', () => { + check({ + oldRows: [oldRow('not-real-emoji-shortname', 1000)], + newRows: [], + }); + }); + + it('drops rows with missing values', () => { + check({ + oldRows: [oldRow(null, 1000), oldRow('joy', null)], + newRows: [], + }); + }); +}); diff --git a/ts/test-node/state/ducks/preferredReactions_test.preload.ts b/ts/test-node/state/ducks/preferredReactions_test.preload.ts index aea346c49f..d2985a11d4 100644 --- a/ts/test-node/state/ducks/preferredReactions_test.preload.ts +++ b/ts/test-node/state/ducks/preferredReactions_test.preload.ts @@ -13,8 +13,8 @@ import { getEmptyState, reducer, } from '../../../state/ducks/preferredReactions.preload.ts'; -import { EmojiSkinTone } from '../../../components/fun/data/emojis.std.ts'; import { itemStorage } from '../../../textsecure/Storage.preload.ts'; +import { Emoji } from '../../../axo/emoji.std.ts'; describe('preferred reactions duck', () => { const getEmptyRootState = (): StateType => @@ -30,13 +30,27 @@ describe('preferred reactions duck', () => { const stateWithOpenCustomizationModal = { ...getEmptyState(), customizePreferredReactionsModal: { - draftPreferredReactions: ['โœจ', 'โ‡๏ธ', '๐ŸŽ‡', '๐Ÿฆˆ', '๐Ÿ’–', '๐Ÿ…ฟ๏ธ'], - originalPreferredReactions: ['๐Ÿ’™', '๐Ÿ‘', '๐Ÿ‘Ž', '๐Ÿ˜‚', '๐Ÿ˜ฎ', '๐Ÿ˜ข'], + draftPreferredReactions: [ + Emoji.SPARKLES, + Emoji.SPARKLE, + Emoji.FIREWORK_SPARKLER, + Emoji.SHARK, + Emoji.SPARKLING_HEART, + Emoji.PARKING, + ], + originalPreferredReactions: [ + Emoji.BLUE_HEART, + Emoji.getDefaultVariant(Emoji.THUMBS_UP), + Emoji.getDefaultVariant(Emoji.THUMBS_DOWN), + Emoji.JOY, + Emoji.OPEN_MOUTH, + Emoji.CRY, + ], selectedDraftEmojiIndex: undefined, isSaving: false as const, hadSaveError: false, }, - }; + } satisfies PreferredReactionsStateType; const stateWithOpenCustomizationModalAndSelectedEmoji = { ...stateWithOpenCustomizationModal, @@ -44,7 +58,7 @@ describe('preferred reactions duck', () => { ...stateWithOpenCustomizationModal.customizePreferredReactionsModal, selectedDraftEmojiIndex: 1, }, - }; + } satisfies PreferredReactionsStateType; let sinonSandbox: sinon.SinonSandbox; @@ -116,7 +130,7 @@ describe('preferred reactions duck', () => { ...emptyRootState, items: { ...emptyRootState.items, - emojiSkinToneDefault: EmojiSkinTone.Type5, + emojiSkinToneDefault: Emoji.SkinTone.Type5, }, }; @@ -126,7 +140,9 @@ describe('preferred reactions duck', () => { const result = reducer(rootState.preferredReactions, action); - const expectedEmoji = ['โค๏ธ', '๐Ÿ‘๐Ÿฟ', '๐Ÿ‘Ž๐Ÿฟ', '๐Ÿ˜‚', '๐Ÿ˜ฎ', '๐Ÿ˜ข']; + const expectedEmoji = Emoji.getDefaultPreferredReactionEmojis( + Emoji.SkinTone.Type5 + ); assert.deepEqual(result.customizePreferredReactionsModal, { draftPreferredReactions: expectedEmoji, @@ -138,7 +154,14 @@ describe('preferred reactions duck', () => { }); it('opens the customization modal with stored values', () => { - const storedPreferredReactionEmoji = ['โœจ', 'โ‡๏ธ', '๐ŸŽ‡', '๐Ÿฆˆ', '๐Ÿ’–', '๐Ÿ…ฟ๏ธ']; + const storedPreferredReactionEmoji = [ + Emoji.SPARKLES, + Emoji.SPARKLE, + Emoji.FIREWORK_SPARKLER, + Emoji.SHARK, + Emoji.SPARKLING_HEART, + Emoji.PARKING, + ]; const emptyRootState = getEmptyRootState(); const state = { @@ -170,21 +193,23 @@ describe('preferred reactions duck', () => { it('is a no-op if the customization modal is not open', () => { const state = getEmptyState(); - const action = replaceSelectedDraftEmoji('๐Ÿฆˆ'); + const action = replaceSelectedDraftEmoji(Emoji.SHARK); const result = reducer(state, action); assert.strictEqual(result, state); }); it('is a no-op if no emoji is selected', () => { - const action = replaceSelectedDraftEmoji('๐Ÿ’…'); + const action = replaceSelectedDraftEmoji( + Emoji.getDefaultVariant(Emoji.NAIL_CARE) + ); const result = reducer(stateWithOpenCustomizationModal, action); assert.strictEqual(result, stateWithOpenCustomizationModal); }); it('replaces the selected draft emoji and deselects', () => { - const action = replaceSelectedDraftEmoji('๐Ÿฑ'); + const action = replaceSelectedDraftEmoji(Emoji.CAT); const result = reducer( stateWithOpenCustomizationModalAndSelectedEmoji, action @@ -192,7 +217,14 @@ describe('preferred reactions duck', () => { assert.deepStrictEqual( result.customizePreferredReactionsModal?.draftPreferredReactions, - ['โœจ', '๐Ÿฑ', '๐ŸŽ‡', '๐Ÿฆˆ', '๐Ÿ’–', '๐Ÿ…ฟ๏ธ'] + [ + Emoji.SPARKLES, + Emoji.CAT, + Emoji.FIREWORK_SPARKLER, + Emoji.SHARK, + Emoji.SPARKLING_HEART, + Emoji.PARKING, + ] ); assert.isUndefined( result.customizePreferredReactionsModal?.selectedDraftEmojiIndex @@ -226,7 +258,7 @@ describe('preferred reactions duck', () => { assert.deepEqual( result.customizePreferredReactionsModal?.draftPreferredReactions, - ['โค๏ธ', '๐Ÿ‘', '๐Ÿ‘Ž', '๐Ÿ˜‚', '๐Ÿ˜ฎ', '๐Ÿ˜ข'] + Emoji.getDefaultPreferredReactionEmojis(Emoji.SkinTone.None) ); }); diff --git a/ts/test-node/state/selectors/items_test.dom.ts b/ts/test-node/state/selectors/items_test.dom.ts index e5808cacdf..eda10799b9 100644 --- a/ts/test-node/state/selectors/items_test.dom.ts +++ b/ts/test-node/state/selectors/items_test.dom.ts @@ -11,10 +11,7 @@ import { } from '../../../state/selectors/items.dom.ts'; import type { StateType } from '../../../state/reducer.preload.ts'; import type { ItemsStateType } from '../../../state/ducks/items.preload.ts'; -import { - EMOJI_SKIN_TONE_ORDER, - EmojiSkinTone, -} from '../../../components/fun/data/emojis.std.ts'; +import { Emoji } from '../../../axo/emoji.std.ts'; describe('both/state/selectors/items', () => { // Note: we would like to use the full reducer here, to get a real empty state object @@ -42,30 +39,8 @@ describe('both/state/selectors/items', () => { }); describe('#getEmojiSkinTone', () => { - it('returns null if passed anything invalid', () => { - [ - // Invalid types - undefined, - null, - '2', - [2], - // Numbers out of range - -1, - 6, - Infinity, - // Invalid numbers - 0.1, - 1.2, - NaN, - // oxlint-disable-next-line typescript/no-explicit-any -- for testing - ].forEach((emojiSkinToneDefault: any) => { - const state = getRootState({ emojiSkinToneDefault }); - assert.strictEqual(getEmojiSkinToneDefault(state), null); - }); - }); - it('returns all valid skin tones', () => { - EMOJI_SKIN_TONE_ORDER.forEach(skinTone => { + Emoji.SKIN_TONE_ORDER.forEach(skinTone => { const state = getRootState({ emojiSkinToneDefault: skinTone }); assert.strictEqual(getEmojiSkinToneDefault(state), skinTone); }); @@ -125,7 +100,7 @@ describe('both/state/selectors/items', () => { it('returns the default set if no value is stored', () => { const state = getRootState({ - emojiSkinToneDefault: EmojiSkinTone.Type5, + emojiSkinToneDefault: Emoji.SkinTone.Type5, }); const actual = getPreferredReactionEmoji(state); @@ -134,8 +109,10 @@ describe('both/state/selectors/items', () => { it('returns the default set if the stored value is invalid', () => { const state = getRootState({ - emojiSkinToneDefault: EmojiSkinTone.Type5, - preferredReactionEmoji: ['garbage!!'], + emojiSkinToneDefault: Emoji.SkinTone.Type5, + preferredReactionEmoji: [ + 'garbage!!', + ] as unknown as Array, }); const actual = getPreferredReactionEmoji(state); @@ -143,9 +120,16 @@ describe('both/state/selectors/items', () => { }); it('returns a custom set of emoji', () => { - const preferredReactionEmoji = ['โœจ', 'โ‡๏ธ', '๐Ÿค™๐Ÿป', '๐Ÿฆˆ', '๐Ÿ’–', '๐Ÿ…ฟ๏ธ']; + const preferredReactionEmoji = [ + Emoji.SPARKLES, + Emoji.SPARKLE, + Emoji.getVariant(Emoji.CALL_ME_HAND, Emoji.SkinTone.Type1), + Emoji.SHARK, + Emoji.SPARKLES, + Emoji.PARKING, + ]; const state = getRootState({ - emojiSkinToneDefault: EmojiSkinTone.Type5, + emojiSkinToneDefault: Emoji.SkinTone.Type5, preferredReactionEmoji, }); const actual = getPreferredReactionEmoji(state); diff --git a/ts/test-node/state/selectors/preferredReactions_test.preload.ts b/ts/test-node/state/selectors/preferredReactions_test.preload.ts index 26326252a7..e601a18d31 100644 --- a/ts/test-node/state/selectors/preferredReactions_test.preload.ts +++ b/ts/test-node/state/selectors/preferredReactions_test.preload.ts @@ -8,6 +8,7 @@ import type { StateType } from '../../../state/reducer.preload.ts'; import type { PreferredReactionsStateType } from '../../../state/ducks/preferredReactions.preload.ts'; import { getIsCustomizingPreferredReactions } from '../../../state/selectors/preferredReactions.std.ts'; +import { Emoji } from '../../../axo/emoji.std.ts'; describe('both/state/selectors/preferredReactions', () => { const getEmptyRootState = (): StateType => @@ -28,8 +29,22 @@ describe('both/state/selectors/preferredReactions', () => { getIsCustomizingPreferredReactions( getRootState({ customizePreferredReactionsModal: { - draftPreferredReactions: ['โœจ', 'โ‡๏ธ', '๐ŸŽ‡', '๐Ÿฆˆ', '๐Ÿ’–', '๐Ÿ…ฟ๏ธ'], - originalPreferredReactions: ['๐Ÿ’™', '๐Ÿ‘', '๐Ÿ‘Ž', '๐Ÿ˜‚', '๐Ÿ˜ฎ', '๐Ÿ˜ข'], + draftPreferredReactions: [ + Emoji.SPARKLES, + Emoji.SPARKLE, + Emoji.FIREWORK_SPARKLER, + Emoji.SHARK, + Emoji.SPARKLING_HEART, + Emoji.PARKING, + ], + originalPreferredReactions: [ + Emoji.BLUE_HEART, + Emoji.getDefaultVariant(Emoji.THUMBS_UP), + Emoji.getDefaultVariant(Emoji.THUMBS_DOWN), + Emoji.JOY, + Emoji.OPEN_MOUTH, + Emoji.CRY, + ], selectedDraftEmojiIndex: undefined, isSaving: false as const, hadSaveError: false, diff --git a/ts/test-node/types/LinkPreview_test.std.ts b/ts/test-node/types/LinkPreview_test.std.ts index 8b73268577..e1ceef37cd 100644 --- a/ts/test-node/types/LinkPreview_test.std.ts +++ b/ts/test-node/types/LinkPreview_test.std.ts @@ -121,7 +121,7 @@ describe('Link previews', () => { const expected = ['https://github.com/signalapp/Signal-Desktop']; - const actual = findLinks(text, 45); + const actual = findLinks(text, 46); assert.deepEqual(expected, actual); }); @@ -130,7 +130,7 @@ describe('Link previews', () => { const expected = ['https://github.com/signalapp/Signal-Desktop']; - const actual = findLinks(text, 45); + const actual = findLinks(text, 52); assert.deepEqual(expected, actual); }); diff --git a/ts/test-node/types/NotificationProfile_test.node.ts b/ts/test-node/types/NotificationProfile_test.node.ts index ab0f026105..dd16d096f2 100644 --- a/ts/test-node/types/NotificationProfile_test.node.ts +++ b/ts/test-node/types/NotificationProfile_test.node.ts @@ -21,6 +21,7 @@ import type { NextProfileEvent, NotificationProfileType, } from '../../types/NotificationProfile.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; describe('NotificationProfile', () => { const startingTime = Date.now(); @@ -42,7 +43,7 @@ describe('NotificationProfile', () => { return { id: generateNotificationProfileId(), name: 'After Hours', - emoji: '๐Ÿ’ค ', + emoji: Emoji.ZZZ, color: 0xff111111, createdAtMs: now, diff --git a/ts/test-node/util/emoji_test.std.ts b/ts/test-node/util/emoji_test.std.ts deleted file mode 100644 index efaeb55a86..0000000000 --- a/ts/test-node/util/emoji_test.std.ts +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2021 Signal Messenger, LLC -// SPDX-License-Identifier: AGPL-3.0-only -import { assert } from 'chai'; - -import { replaceEmojiWithSpaces, splitByEmoji } from '../../util/emoji.std.ts'; - -describe('emoji', () => { - describe('replaceEmojiWithSpaces', () => { - it('replaces emoji and pictograms with a single space', () => { - assert.strictEqual( - replaceEmojiWithSpaces('hello๐ŸŒ€๐Ÿ€๐Ÿ”€๐Ÿ˜€world'), - 'hello world' - ); - }); - - it('leaves regular text as it is', () => { - assert.strictEqual( - replaceEmojiWithSpaces('ะŸั€ะธะฒะตั‚ ๅ˜ฟ ีฐีฅีต ื”ืขืœื ู…ุฑุญุจุง '), - 'ะŸั€ะธะฒะตั‚ ๅ˜ฟ ีฐีฅีต ื”ืขืœื ู…ุฑุญุจุง ' - ); - }); - }); - - describe('splitByEmoji', () => { - it('replaces emoji and pictograms with a single space', () => { - assert.deepStrictEqual(splitByEmoji('hello๐Ÿ˜›world๐Ÿ˜Ž๐Ÿ˜›!'), [ - { type: 'text', value: 'hello' }, - { type: 'emoji', value: '๐Ÿ˜›' }, - { type: 'text', value: 'world' }, - { type: 'emoji', value: '๐Ÿ˜Ž' }, - { type: 'emoji', value: '๐Ÿ˜›' }, - { type: 'text', value: '!' }, - ]); - }); - - it('returns emojis as text after 5,000 emojis are found', () => { - assert.deepStrictEqual(splitByEmoji('๐Ÿ’ฌ'.repeat(5002)), [ - ...Array(5000).fill({ type: 'emoji', value: '๐Ÿ’ฌ' }), - { type: 'text', value: '๐Ÿ’ฌ๐Ÿ’ฌ' }, - ]); - }); - }); -}); diff --git a/ts/test-node/util/getGroupMemberships_test.dom.ts b/ts/test-node/util/getGroupMemberships_test.dom.ts index 6782acc8ae..f93ed5e794 100644 --- a/ts/test-node/util/getGroupMemberships_test.dom.ts +++ b/ts/test-node/util/getGroupMemberships_test.dom.ts @@ -9,6 +9,7 @@ import { getDefaultConversationWithServiceId } from '../../test-helpers/getDefau import { getGroupMemberships } from '../../util/getGroupMemberships.dom.ts'; import { generateAci } from '../../test-helpers/serviceIdUtils.std.ts'; +import { Emoji } from '../../axo/emoji.std.ts'; describe('getGroupMemberships', () => { const normalConversation1 = getDefaultConversationWithServiceId(); @@ -97,7 +98,7 @@ describe('getGroupMemberships', () => { }); it('hydrates memberships', () => { - const conversation = { + const conversation: Pick = { memberships: [ { aci: normalizeAci(normalConversation2.serviceId, 'test'), @@ -108,7 +109,7 @@ describe('getGroupMemberships', () => { { aci: normalizeAci(normalConversation1.serviceId, 'test'), isAdmin: true, - labelEmoji: 'โœ…', + labelEmoji: Emoji.CHECKMARK, labelString: 'Task Wrangler', }, ], @@ -129,7 +130,7 @@ describe('getGroupMemberships', () => { assert.deepEqual(result[1], { isAdmin: true, member: normalConversation1, - labelEmoji: 'โœ…', + labelEmoji: Emoji.CHECKMARK, labelString: 'Task Wrangler', }); }); diff --git a/ts/test-node/util/grapheme_test.std.ts b/ts/test-node/util/grapheme_test.std.ts index 17607f2ef6..cc82050999 100644 --- a/ts/test-node/util/grapheme_test.std.ts +++ b/ts/test-node/util/grapheme_test.std.ts @@ -3,31 +3,9 @@ import { assert } from 'chai'; -import { - getGraphemes, - count, - hasAtMostGraphemes, -} from '../../util/grapheme.std.ts'; +import { count, hasAtMostGraphemes } from '../../util/grapheme.std.ts'; describe('grapheme utilities', () => { - describe('getGraphemes', () => { - it('returns extended graphemes in a string', () => { - assert.deepEqual([...getGraphemes('')], []); - // oxlint-disable-next-line typescript/no-misused-spread - assert.deepEqual([...getGraphemes('hello')], [...'hello']); - assert.deepEqual( - [...getGraphemes('Bokmรฅl')], - ['B', 'o', 'k', 'm', 'รฅ', 'l'] - ); - - assert.deepEqual([...getGraphemes('๐Ÿ’ฉ๐Ÿ’ฉ๐Ÿ’ฉ')], ['๐Ÿ’ฉ', '๐Ÿ’ฉ', '๐Ÿ’ฉ']); - assert.deepEqual([...getGraphemes('๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘ฉ')], ['๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘ฉ']); - assert.deepEqual([...getGraphemes('๐Ÿ‘Œ๐Ÿฝ๐Ÿ‘Œ๐Ÿพ๐Ÿ‘Œ๐Ÿฟ')], ['๐Ÿ‘Œ๐Ÿฝ', '๐Ÿ‘Œ๐Ÿพ', '๐Ÿ‘Œ๐Ÿฟ']); - - assert.deepEqual([...getGraphemes('Lฬทอฬณอ”ฬฒGฬงฬตออŸฬฎฬฏฬคฬฉฬ™อฬฌฬŸอ‰ฬนฬ˜ฬนออˆฬฎฬฆฬฐฬฃOอ˜ฬถฬดอกฬฎฬปฬฎฬ—!ฬดฬทฬŸอ“อ“')], ['Lฬทอฬณอ”ฬฒ', 'GฬงฬตออŸฬฎฬฏฬคฬฉฬ™อฬฌฬŸอ‰ฬนฬ˜ฬนออˆฬฎฬฆฬฐฬฃ', 'Oอ˜ฬถฬดอกฬฎฬปฬฎฬ—', '!ฬดฬทฬŸอ“อ“']); - }); - }); - describe('count', () => { it('returns the number of extended graphemes in a string (not necessarily the length)', () => { // These tests modified [from iOS][0]. diff --git a/ts/textsecure/SendMessage.preload.ts b/ts/textsecure/SendMessage.preload.ts index f02b10d20a..6ebf487edc 100644 --- a/ts/textsecure/SendMessage.preload.ts +++ b/ts/textsecure/SendMessage.preload.ts @@ -102,6 +102,7 @@ import type { SendPinMessageType, SendUnpinMessageType, } from '../types/PinnedMessage.std.ts'; +import type { Emoji } from '../axo/emoji.std.ts'; const log = createLogger('SendMessage'); @@ -173,12 +174,12 @@ export type OutgoingStickerType = Readonly<{ packId: string; packKey: string; stickerId: number; - emoji?: string; + emoji?: Emoji.Variant; data: Readonly; }>; export type ReactionType = { - emoji?: string; + emoji?: Emoji.Variant; remove?: boolean; targetAuthorAci?: AciString; targetTimestamp?: number; diff --git a/ts/textsecure/Types.d.ts b/ts/textsecure/Types.d.ts index c2223c03b8..0a7ba065dd 100644 --- a/ts/textsecure/Types.d.ts +++ b/ts/textsecure/Types.d.ts @@ -17,6 +17,7 @@ import type { DurationInSeconds } from '../util/durations/index.std.ts'; import type { AnyPaymentEvent } from '../types/Payment.std.ts'; import type { RawBodyRange } from '../types/BodyRange.std.ts'; import type { StoryMessageRecipientsType } from '../types/Stories.std.ts'; +import type { Emoji } from '../axo/emoji.std.ts'; export type { IdentityKeyType, @@ -175,12 +176,12 @@ export type ProcessedSticker = { packId?: string; packKey?: string; stickerId?: number; - emoji?: string; + emoji?: Emoji.Variant; data?: ProcessedAttachment; }; export type ProcessedReaction = { - emoji?: string; + emoji?: Emoji.Variant; remove: boolean; targetAuthorAci?: AciString; targetTimestamp?: number; diff --git a/ts/textsecure/processDataMessage.preload.ts b/ts/textsecure/processDataMessage.preload.ts index c1661624ce..b3da2f1377 100644 --- a/ts/textsecure/processDataMessage.preload.ts +++ b/ts/textsecure/processDataMessage.preload.ts @@ -56,6 +56,7 @@ import { isNotNil } from '../util/isNotNil.std.ts'; import { createLogger } from '../logging/log.std.ts'; import { toNumber } from '../util/toNumber.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const { isNumber } = lodash; @@ -317,7 +318,10 @@ function processSticker( packId: sticker.packId ? Bytes.toHex(sticker.packId) : undefined, packKey: sticker.packKey ? Bytes.toBase64(sticker.packKey) : undefined, stickerId: sticker.stickerId ?? 0, - emoji: sticker.emoji ?? '', + emoji: + sticker.emoji != null + ? Emoji.unsafeCastMaybeInvalidStringToVariant(sticker.emoji) + : undefined, data: processAttachment(sticker.data), }; } @@ -338,7 +342,10 @@ function processReaction( ); return { - emoji: reaction.emoji ?? '', + emoji: + reaction.emoji != null + ? Emoji.unsafeCastMaybeInvalidStringToVariant(reaction.emoji) + : undefined, remove: Boolean(reaction.remove), targetAuthorAci, targetTimestamp: toNumber(reaction.targetSentTimestamp) ?? 0, diff --git a/ts/types/Calling.std.ts b/ts/types/Calling.std.ts index a03d8b5509..ae2e63bbd3 100644 --- a/ts/types/Calling.std.ts +++ b/ts/types/Calling.std.ts @@ -2,11 +2,12 @@ // SPDX-License-Identifier: AGPL-3.0-only import type { ReadonlyDeep } from 'type-fest'; -import type { AudioDevice, Reaction as CallReaction } from '@signalapp/ringrtc'; +import type { AudioDevice } from '@signalapp/ringrtc'; import type { ConversationType } from '../state/ducks/conversations.preload.ts'; import type { AciString, ServiceIdString } from './ServiceId.std.ts'; import type { CallLinkConversationType } from './CallLink.std.ts'; import type { CallMode } from './CallDisposition.std.ts'; +import type { Emoji } from '../axo/emoji.std.ts'; export const MAX_CALLING_REACTIONS = 5; export const CALLING_REACTIONS_LIFETIME = 4000; @@ -38,8 +39,10 @@ export type PresentedSource = { // }; export type ActiveCallReaction = { + demuxId: number; + value: Emoji.Variant; timestamp: number; -} & CallReaction; +}; export type ActiveCallReactionsType = ReadonlyArray; diff --git a/ts/types/GroupMemberLabels.std.ts b/ts/types/GroupMemberLabels.std.ts index 616bffd01a..2a0d8f1cce 100644 --- a/ts/types/GroupMemberLabels.std.ts +++ b/ts/types/GroupMemberLabels.std.ts @@ -6,6 +6,7 @@ import type { MembershipType, } from '../state/ducks/conversations.preload.ts'; import { SignalService as Proto } from '../protobuf/index.std.ts'; +import type { Emoji } from '../axo/emoji.std.ts'; export const missingEmojiPlaceholder = 'โฐ'; @@ -19,7 +20,7 @@ export const SERVER_EMOJI_BYTE_LIMIT = 64; export type MemberLabelType = { labelString: string; - labelEmoji: string | undefined; + labelEmoji: Emoji.Variant | undefined; }; export function getCanAddLabel( diff --git a/ts/types/LinkPreview.std.ts b/ts/types/LinkPreview.std.ts index 03db36e7b8..907b9339f0 100644 --- a/ts/types/LinkPreview.std.ts +++ b/ts/types/LinkPreview.std.ts @@ -9,8 +9,6 @@ import nodeUrl from 'url'; import LinkifyIt from 'linkify-it'; import { maybeParseUrl } from '../util/url.std.ts'; -import { replaceEmojiWithSpaces } from '../util/emoji.std.ts'; -import { count } from '../util/grapheme.std.ts'; import type { AttachmentWithHydratedData } from './Attachment.std.ts'; import { @@ -20,6 +18,7 @@ import { } from '../util/signalRoutes.std.ts'; import type { Backups } from '../protobuf/index.std.ts'; import type { LinkPreviewType } from './message/LinkPreviews.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const { isNumber, compact, isEmpty, range } = lodash; @@ -160,9 +159,9 @@ export function findLinks(text: string, caretLocation?: number): Array { } const haveCaretLocation = isNumber(caretLocation); - const textLength = count(text || ''); + const textLength = text.length; - const matches = linkify.match(text ? replaceEmojiWithSpaces(text) : '') || []; + const matches = linkify.match(Emoji.replaceEmojiWithSpaces(text)) || []; return compact( matches.map(match => { if (!haveCaretLocation) { diff --git a/ts/types/NotificationProfile.std.ts b/ts/types/NotificationProfile.std.ts index 29df0255d4..e7ea5df653 100644 --- a/ts/types/NotificationProfile.std.ts +++ b/ts/types/NotificationProfile.std.ts @@ -7,6 +7,7 @@ import { DAY, HOUR, MINUTE } from '../util/durations/index.std.ts'; import { strictAssert } from '../util/assert.std.ts'; import type { StorageServiceFieldsType } from '../sql/Interface.std.ts'; +import type { Emoji } from '../axo/emoji.std.ts'; const { isNumber, orderBy } = lodash; @@ -32,7 +33,7 @@ export type NotificationProfileType = Readonly<{ id: NotificationProfileIdString; name: string; - emoji: string | undefined; + emoji: Emoji.Variant | undefined; /* A numeric representation of a color, like 0xAARRGGBB */ color: number; diff --git a/ts/types/Reactions.std.ts b/ts/types/Reactions.std.ts index c2412ba781..7a6b7f0b05 100644 --- a/ts/types/Reactions.std.ts +++ b/ts/types/Reactions.std.ts @@ -1,11 +1,12 @@ // Copyright 2021 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only +import type { Emoji } from '../axo/emoji.std.ts'; import type { AciString } from './ServiceId.std.ts'; export type ReactionType = Readonly<{ conversationId: string; - emoji: string; + emoji: Emoji.Variant; fromId: string; messageId: string; messageReceivedAt: number; diff --git a/ts/types/Stickers.preload.ts b/ts/types/Stickers.preload.ts index 0657f75578..3729fb46d6 100644 --- a/ts/types/Stickers.preload.ts +++ b/ts/types/Stickers.preload.ts @@ -51,6 +51,7 @@ import { getStickerPackManifest, } from '../textsecure/WebAPI.preload.ts'; import { getExistingAttachmentDataForReuse } from '../util/attachments/deduplicateAttachment.preload.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const { isNumber, reject, groupBy, values, chunk } = lodash; @@ -66,7 +67,7 @@ export type StickerType = { packId: string; stickerId: number; packKey: string; - emoji?: string; + emoji?: Emoji.Variant; data?: AttachmentType; path?: string; width?: number; @@ -464,7 +465,10 @@ async function downloadSticker( return { id, - emoji: dropNull(emoji), + emoji: + emoji != null + ? Emoji.unsafeCastMaybeInvalidStringToVariant(emoji) + : undefined, ...sticker, packId, }; diff --git a/ts/types/StorageKeys.std.ts b/ts/types/StorageKeys.std.ts index 55823c9af1..c27b742fad 100644 --- a/ts/types/StorageKeys.std.ts +++ b/ts/types/StorageKeys.std.ts @@ -27,8 +27,8 @@ import type { NotificationProfileOverride } from './NotificationProfile.std.ts'; import type { PhoneNumberSharingMode } from './PhoneNumberSharingMode.std.ts'; import type { LocalBackupExportMetadata } from './LocalExport.std.ts'; import type { ServerAlertsType } from './ServerAlert.std.ts'; -import type { EmojiSkinTone } from './emoji.std.ts'; import type { AssertSameMembers } from './Util.std.ts'; +import type { Emoji } from '../axo/emoji.std.ts'; export type AutoDownloadAttachmentType = { photos: boolean; @@ -174,8 +174,8 @@ export type StorageAccessType = { setBackupMessagesSignatureKey: boolean; setBackupMediaSignatureKey: boolean; lastReceivedAtCounter: number; - preferredReactionEmoji: ReadonlyArray; - emojiSkinToneDefault: EmojiSkinTone; + preferredReactionEmoji: ReadonlyArray; + emojiSkinToneDefault: Emoji.SkinTone; unreadCount: number; 'challenge:conversations': ReadonlyArray; diff --git a/ts/types/Stories.std.ts b/ts/types/Stories.std.ts index bdc3f19b9e..65aaae1b72 100644 --- a/ts/types/Stories.std.ts +++ b/ts/types/Stories.std.ts @@ -11,6 +11,7 @@ import type { SendStatus } from '../messages/MessageSendState.std.ts'; import type { StoryDistributionListDataType } from '../state/ducks/storyDistributionLists.preload.ts'; import type { ServiceIdString } from './ServiceId.std.ts'; import type { StoryDistributionIdString } from './StoryDistributionId.std.ts'; +import type { Emoji } from '../axo/emoji.std.ts'; export type ReplyType = { author: Pick< @@ -31,7 +32,7 @@ export type ReplyType = { conversationId: string; deletedForEveryone?: boolean; id: string; - reactionEmoji?: string; + reactionEmoji?: Emoji.Variant; readStatus?: ReadStatus; timestamp: number; }; diff --git a/ts/types/emoji.std.ts b/ts/types/emoji.std.ts index 71f65a96cf..9dd3d992d6 100644 --- a/ts/types/emoji.std.ts +++ b/ts/types/emoji.std.ts @@ -15,12 +15,3 @@ export type LocaleEmojiType = z.infer; export const LocaleEmojiListSchema = LocaleEmojiSchema.array(); export type LocaleEmojiListType = z.infer; - -export enum EmojiSkinTone { - None = 'EmojiSkinTone.None', - Type1 = 'EmojiSkinTone.Type1', // 1F3FB - Type2 = 'EmojiSkinTone.Type2', // 1F3FC - Type3 = 'EmojiSkinTone.Type3', // 1F3FD - Type4 = 'EmojiSkinTone.Type4', // 1F3FE - Type5 = 'EmojiSkinTone.Type5', // 1F3FF -} diff --git a/ts/util/avatarTextSizeCalculator.std.ts b/ts/util/avatarTextSizeCalculator.std.ts index 6f412e4ba0..f0aa3382e5 100644 --- a/ts/util/avatarTextSizeCalculator.std.ts +++ b/ts/util/avatarTextSizeCalculator.std.ts @@ -1,8 +1,7 @@ // Copyright 2021 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only -// oxlint-disable-next-line signal-desktop/no-restricted-paths -import { getEmojifyData } from '../components/fun/data/emojis.std.ts'; +import { Emoji } from '../axo/emoji.std.ts'; type FontSizes = { diameter: number; @@ -31,11 +30,10 @@ export function getFittedFontSize( measure: (candidateFontSize: number) => RectSize ): number { const sizes = getFontSizes(bubbleSize); - const emojifyData = getEmojifyData(text); let candidateFontSize = sizes.text; - if (emojifyData.isEmojiOnlyText && emojifyData.emojiCount === 1) { + if (Emoji.isLoneEmoji(text)) { candidateFontSize = sizes.singleEmoji; } diff --git a/ts/util/emoji.std.ts b/ts/util/emoji.std.ts deleted file mode 100644 index c2542deae8..0000000000 --- a/ts/util/emoji.std.ts +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2021 Signal Messenger, LLC -// SPDX-License-Identifier: AGPL-3.0-only - -import emojiRegex from 'emoji-regex'; - -import { assertDev } from './assert.std.ts'; -import { take } from './iterables.std.ts'; - -const REGEXP = emojiRegex(); -const MAX_EMOJI_TO_MATCH = 5000; - -export function replaceEmojiWithSpaces(value: string): string { - return value.replace(REGEXP, ' '); -} - -export type SplitElement = Readonly<{ - type: 'emoji' | 'text'; - value: string; -}>; - -export function splitByEmoji(value: string): ReadonlyArray { - const emojis = take(value.matchAll(REGEXP), MAX_EMOJI_TO_MATCH); - - const result: Array = []; - let lastIndex = 0; - for (const match of emojis) { - const nonEmojiText = value.slice(lastIndex, match.index); - if (nonEmojiText) { - result.push({ type: 'text', value: nonEmojiText }); - } - - result.push({ type: 'emoji', value: match[0] }); - - assertDev(match.index !== undefined, '`matchAll` should provide indices'); - lastIndex = match.index + match[0].length; - } - - const finalNonEmojiText = value.slice(lastIndex); - if (finalNonEmojiText) { - result.push({ type: 'text', value: finalNonEmojiText }); - } - - return result; -} diff --git a/ts/util/getDraftPreview.preload.ts b/ts/util/getDraftPreview.preload.ts index 2e7df88927..0d6a1130f2 100644 --- a/ts/util/getDraftPreview.preload.ts +++ b/ts/util/getDraftPreview.preload.ts @@ -9,6 +9,7 @@ import { hydrateRanges } from './BodyRange.node.ts'; import { isVoiceMessage } from './Attachment.std.ts'; import { stripNewlinesForLeftPane } from './stripNewlinesForLeftPane.std.ts'; import { isDirectConversation } from './whatTypeOfConversation.dom.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const { i18n } = window.SignalContext; @@ -35,7 +36,7 @@ export function getDraftPreview( if (isVoiceMessage(draftAttachments[0])) { return { text: i18n('icu:message--getNotificationText--voice-message'), - prefix: '๐ŸŽค', + prefix: Emoji.MICROPHONE, }; } return { diff --git a/ts/util/getNotificationDataForMessage.preload.ts b/ts/util/getNotificationDataForMessage.preload.ts index 0a38dfd5f4..14f1d88a71 100644 --- a/ts/util/getNotificationDataForMessage.preload.ts +++ b/ts/util/getNotificationDataForMessage.preload.ts @@ -62,6 +62,7 @@ import { MessageRequestResponseEvent } from '../types/MessageRequestResponseEven import { missingCaseError } from './missingCaseError.std.ts'; import { getUserConversationId } from '../state/selectors/user.std.ts'; import { itemStorage } from '../textsecure/Storage.preload.ts'; +import { Emoji } from '../axo/emoji.std.ts'; const log = createLogger('getNotificationDataForMessage'); const { i18n } = window.SignalContext; @@ -78,12 +79,12 @@ export function getNotificationDataForMessage( attributes: ReadonlyMessageAttributesType ): { bodyRanges?: ReadonlyArray>; - emoji?: string; + emoji?: Emoji.Variant; text: string; } { if (isDeliveryIssue(attributes)) { return { - emoji: 'โš ๏ธ', + emoji: Emoji.WARNING, text: i18n('icu:DeliveryIssue--preview'), }; } @@ -117,7 +118,7 @@ export function getNotificationDataForMessage( if (isChatSessionRefreshed(attributes)) { return { - emoji: '๐Ÿ”', + emoji: Emoji.REPEAT, text: i18n('icu:ChatRefresh--notification'), }; } @@ -187,7 +188,7 @@ export function getNotificationDataForMessage( sender.isMe, i18n ), - emoji: '๐Ÿ’ณ', + emoji: Emoji.CREDIT_CARD, }; } @@ -249,18 +250,18 @@ export function getNotificationDataForMessage( if (Attachment.isImage(attachments)) { return { text: i18n('icu:message--getDescription--disappearing-photo'), - emoji: '๐Ÿ“ท', + emoji: Emoji.CAMERA, }; } if (Attachment.isVideo(attachments)) { return { text: i18n('icu:message--getDescription--disappearing-video'), - emoji: '๐ŸŽฅ', + emoji: Emoji.MOVIE_CAMERA, }; } // There should be an image or video attachment, but we have a fallback just in // case. - return { text: i18n('icu:mediaMessage'), emoji: '๐Ÿ“Ž' }; + return { text: i18n('icu:mediaMessage'), emoji: Emoji.PAPERCLIP }; } if (isGroupUpdate(attributes)) { @@ -368,7 +369,7 @@ export function getNotificationDataForMessage( ).length; if (tooBigAttachmentCount === attachments.length) { return { - emoji: '๐Ÿ“Ž', + emoji: Emoji.PAPERCLIP, text: i18n('icu:message--attachmentTooBig--one'), }; } @@ -376,35 +377,35 @@ export function getNotificationDataForMessage( if (contentType === MIME.IMAGE_GIF || Attachment.isGIF(attachments)) { return { bodyRanges, - emoji: '๐ŸŽก', + emoji: Emoji.FERRIS_WHEEL, text: body || i18n('icu:message--getNotificationText--gif'), }; } if (Attachment.isImage(attachments)) { return { bodyRanges, - emoji: '๐Ÿ“ท', + emoji: Emoji.CAMERA, text: body || i18n('icu:message--getNotificationText--photo'), }; } if (Attachment.isVideo(attachments)) { return { bodyRanges, - emoji: '๐ŸŽฅ', + emoji: Emoji.MOVIE_CAMERA, text: body || i18n('icu:message--getNotificationText--video'), }; } if (Attachment.isVoiceMessage(attachment)) { return { bodyRanges, - emoji: '๐ŸŽค', + emoji: Emoji.MICROPHONE, text: body || i18n('icu:message--getNotificationText--voice-message'), }; } if (Attachment.isAudio(attachments)) { return { bodyRanges, - emoji: '๐Ÿ”ˆ', + emoji: Emoji.SPEAKER, text: body || i18n('icu:message--getNotificationText--audio-message'), }; } @@ -412,7 +413,7 @@ export function getNotificationDataForMessage( return { bodyRanges, text: body || i18n('icu:message--getNotificationText--file'), - emoji: '๐Ÿ“Ž', + emoji: Emoji.PAPERCLIP, }; } @@ -480,13 +481,13 @@ export function getNotificationDataForMessage( return { // oxlint-disable-next-line typescript/no-non-null-assertion text: EmbeddedContact.getName(contacts[0]!) || i18n('icu:unknownContact'), - emoji: '๐Ÿ‘ค', + emoji: Emoji.BUST_IN_SILHOUETTE, }; } const { giftBadge } = attributes; if (giftBadge) { - const emoji = 'โœจ'; + const emoji = Emoji.SPARKLES; if (isOutgoing(attributes)) { const toContact = window.ConversationController.get( @@ -527,7 +528,7 @@ export function getNotificationDataForMessage( } return { - emoji: '๐Ÿ“Œ', + emoji: Emoji.PUSHPIN, text, }; } @@ -535,7 +536,7 @@ export function getNotificationDataForMessage( const { poll } = attributes; if (poll) { return { - emoji: '๐Ÿ“Š', + emoji: Emoji.BAR_CHART, text: i18n('icu:Poll--preview', { pollQuestion: poll.question, }), @@ -557,7 +558,7 @@ export function getNotificationDataForMessage( }); return { - emoji: '๐Ÿ“Š', + emoji: Emoji.BAR_CHART, text, }; } diff --git a/ts/util/grapheme.std.ts b/ts/util/grapheme.std.ts index 2ae2f042b4..6e11c3277d 100644 --- a/ts/util/grapheme.std.ts +++ b/ts/util/grapheme.std.ts @@ -7,11 +7,6 @@ import { map, size, take, join } from './iterables.std.ts'; const getSegmenter = memoizee((): Intl.Segmenter => new Intl.Segmenter()); -export function getGraphemes(str: string): Iterable { - const segments = getSegmenter().segment(str); - return map(segments, s => s.segment); -} - export function count(str: string): number { const segments = getSegmenter().segment(str); return size(segments); diff --git a/ts/util/groupAndOrderReactions.dom.ts b/ts/util/groupAndOrderReactions.std.ts similarity index 50% rename from ts/util/groupAndOrderReactions.dom.ts rename to ts/util/groupAndOrderReactions.std.ts index cf2b630782..e41228c774 100644 --- a/ts/util/groupAndOrderReactions.dom.ts +++ b/ts/util/groupAndOrderReactions.std.ts @@ -3,65 +3,37 @@ import lodash from 'lodash'; import { useMemo } from 'react'; - // oxlint-disable-next-line signal-desktop/no-restricted-paths import type { Reaction } from '../components/conversation/ReactionViewer.dom.tsx'; -import { - isEmojiVariantValue, - getEmojiVariantKeyByValue, - getEmojiParentKeyByVariantKey, - getEmojiVariantByKey, - type EmojiVariantKey, - type EmojiParentKey, - // oxlint-disable-next-line signal-desktop/no-restricted-paths -} from '../components/fun/data/emojis.std.ts'; import { isNotNil } from './isNotNil.std.ts'; -// oxlint-disable-next-line signal-desktop/no-restricted-paths -import { useFunEmojiLocalizer } from '../components/fun/useFunEmojiLocalizer.dom.tsx'; +import { Emoji } from '../axo/emoji.std.ts'; const { groupBy, orderBy } = lodash; type ReactionWithEmojiData = Reaction & { - short_name: string | undefined; - short_names: Array; - sheet_x: number; - sheet_y: number; - parentKey: EmojiParentKey; - variantKey: EmojiVariantKey; + parent: Emoji.Parent; + variant: Emoji.Variant; }; export function useGroupedAndOrderedReactions( reactions: ReadonlyArray | undefined, - groupByKey: 'variantKey' | 'parentKey' + groupByKey: 'variant' | 'parent' ): Array> { - const emojiLocalization = useFunEmojiLocalizer(); - return useMemo(() => { if (!reactions || reactions.length === 0) { return []; } const reactionsWithEmojiData: Array = reactions - .map(reaction => { - if (!isEmojiVariantValue(reaction.emoji)) { - return undefined; - } - + .map((reaction): ReactionWithEmojiData | undefined => { try { - const variantKey = getEmojiVariantKeyByValue(reaction.emoji); - const parentKey = getEmojiParentKeyByVariantKey(variantKey); - const variant = getEmojiVariantByKey(variantKey); - - const shortName = emojiLocalization.getLocaleShortName(variantKey); + const variant = reaction.emoji; + const parent = Emoji.getParent(variant); return { ...reaction, - short_name: shortName, - short_names: [shortName].filter(isNotNil), - variantKey, - parentKey, - sheet_x: variant.sheetX, - sheet_y: variant.sheetY, + variant, + parent, }; } catch { return undefined; @@ -85,5 +57,5 @@ export function useGroupedAndOrderedReactions( ['length', ([first]) => first!.timestamp], ['desc', 'desc'] ); - }, [reactions, groupByKey, emojiLocalization]); + }, [reactions, groupByKey]); } diff --git a/ts/util/groupMembershipUtils.preload.ts b/ts/util/groupMembershipUtils.preload.ts index b09f19f5d8..6eed9a2748 100644 --- a/ts/util/groupMembershipUtils.preload.ts +++ b/ts/util/groupMembershipUtils.preload.ts @@ -16,6 +16,7 @@ import { STRING_GRAPHEME_LIMIT, } from '../types/GroupMemberLabels.std.ts'; import { isConversationAccepted } from './isConversationAccepted.preload.ts'; +import type { Emoji } from '../axo/emoji.std.ts'; export function isMemberPending( conversationAttrs: Pick< @@ -183,7 +184,7 @@ export function getMemberships( ): ReadonlyArray<{ aci: AciString; isAdmin: boolean; - labelEmoji: string | undefined; + labelEmoji: Emoji.Variant | undefined; labelString: string | undefined; }> { if (!isGroupV2(conversationAttrs)) { diff --git a/ts/util/loadRecentEmojis.preload.ts b/ts/util/loadRecentEmojis.preload.ts deleted file mode 100644 index 282bad2727..0000000000 --- a/ts/util/loadRecentEmojis.preload.ts +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2019 Signal Messenger, LLC -// SPDX-License-Identifier: AGPL-3.0-only - -import lodash from 'lodash'; -import { DataReader } from '../sql/Client.preload.ts'; - -const { take } = lodash; - -export type RecentEmojiObjectType = { - recents: Array; -}; - -let initialState: RecentEmojiObjectType; - -async function getRecentEmojisForRedux() { - const recent = await DataReader.getRecentEmojis(); - return recent.map(e => e.shortName); -} - -export async function loadRecentEmojis(): Promise { - const recents = await getRecentEmojisForRedux(); - - initialState = { - recents: take(recents, 32), - }; -} - -export function getEmojiReducerState(): RecentEmojiObjectType { - return initialState; -} diff --git a/ts/util/longRunningTaskWrapper.dom.tsx b/ts/util/longRunningTaskWrapper.dom.tsx index f6e8d8fc48..032c27bacf 100644 --- a/ts/util/longRunningTaskWrapper.dom.tsx +++ b/ts/util/longRunningTaskWrapper.dom.tsx @@ -11,8 +11,6 @@ import { ProgressModal } from '../components/ProgressModal.dom.tsx'; import { clearTimeoutIfNecessary } from './clearTimeoutIfNecessary.std.ts'; import { sleep } from './sleep.std.ts'; // oxlint-disable-next-line signal-desktop/no-restricted-paths -import { FunDefaultEnglishEmojiLocalizationProvider } from '../components/fun/FunEmojiLocalizationProvider.dom.tsx'; -// oxlint-disable-next-line signal-desktop/no-restricted-paths import { AxoProvider } from '../axo/AxoProvider.dom.tsx'; const log = createLogger('longRunningTaskWrapper'); @@ -45,9 +43,7 @@ export async function longRunningTaskWrapper({ progressRoot.render( - - - + ); diff --git a/ts/util/showConfirmationDialog.dom.tsx b/ts/util/showConfirmationDialog.dom.tsx index 1c17aeabf7..3284d89374 100644 --- a/ts/util/showConfirmationDialog.dom.tsx +++ b/ts/util/showConfirmationDialog.dom.tsx @@ -6,8 +6,6 @@ import { createRoot, type Root } from 'react-dom/client'; // oxlint-disable-next-line signal-desktop/no-restricted-paths import { ConfirmationDialog } from '../components/ConfirmationDialog.dom.tsx'; // oxlint-disable-next-line signal-desktop/no-restricted-paths -import { FunDefaultEnglishEmojiLocalizationProvider } from '../components/fun/FunEmojiLocalizationProvider.dom.tsx'; -// oxlint-disable-next-line signal-desktop/no-restricted-paths import { AxoProvider } from '../axo/AxoProvider.dom.tsx'; type ConfirmationDialogViewProps = { @@ -64,37 +62,35 @@ export function showConfirmationDialog( confirmationDialogRoot.render( - - { - options.resolve(); - }, - style: options.confirmStyle, - text: options.okText || i18n('icu:ok'), + { + options.resolve(); }, - ]} - cancelText={options.cancelText || i18n('icu:cancel')} - i18n={i18n} - onCancel={() => { - if (options.reject) { - options.reject( - new Error('showConfirmationDialog: onCancel called') - ); - } - }} - onClose={() => { - removeConfirmationDialog(); - }} - title={options.title} - noMouseClose={options.noMouseClose} - > - {options.description} - - + style: options.confirmStyle, + text: options.okText || i18n('icu:ok'), + }, + ]} + cancelText={options.cancelText || i18n('icu:cancel')} + i18n={i18n} + onCancel={() => { + if (options.reject) { + options.reject( + new Error('showConfirmationDialog: onCancel called') + ); + } + }} + onClose={() => { + removeConfirmationDialog(); + }} + title={options.title} + noMouseClose={options.noMouseClose} + > + {options.description} + ); diff --git a/ts/windows/about/app.dom.tsx b/ts/windows/about/app.dom.tsx index 1002227c0a..29d99afe8e 100644 --- a/ts/windows/about/app.dom.tsx +++ b/ts/windows/about/app.dom.tsx @@ -7,7 +7,6 @@ import { createRoot } from 'react-dom/client'; import '../sandboxedInit.dom.ts'; import { About } from '../../components/About.dom.tsx'; import { strictAssert } from '../../util/assert.std.ts'; -import { FunDefaultEnglishEmojiLocalizationProvider } from '../../components/fun/FunEmojiLocalizationProvider.dom.tsx'; import { AxoProvider } from '../../axo/AxoProvider.dom.tsx'; const { AboutWindowProps } = window.Signal; @@ -23,16 +22,14 @@ createRoot(app).render( - - window.SignalContext.executeMenuRole('close')} - appEnv={AboutWindowProps.appEnv} - platform={AboutWindowProps.platform} - arch={AboutWindowProps.arch} - i18n={i18n} - version={window.SignalContext.getVersion()} - /> - + window.SignalContext.executeMenuRole('close')} + appEnv={AboutWindowProps.appEnv} + platform={AboutWindowProps.platform} + arch={AboutWindowProps.arch} + i18n={i18n} + version={window.SignalContext.getVersion()} + /> ); diff --git a/ts/windows/calldiagnostic/app.dom.tsx b/ts/windows/calldiagnostic/app.dom.tsx index d1a18a9ce4..c33b8a85e7 100644 --- a/ts/windows/calldiagnostic/app.dom.tsx +++ b/ts/windows/calldiagnostic/app.dom.tsx @@ -5,7 +5,6 @@ import { StrictMode, useSyncExternalStore, type JSX } from 'react'; import { createRoot } from 'react-dom/client'; import '../sandboxedInit.dom.ts'; import { CallDiagnosticWindow } from '../../components/CallDiagnosticWindow.dom.tsx'; -import { FunDefaultEnglishEmojiLocalizationProvider } from '../../components/fun/FunEmojiLocalizationProvider.dom.tsx'; import { strictAssert } from '../../util/assert.std.ts'; import { AxoProvider } from '../../axo/AxoProvider.dom.tsx'; @@ -38,9 +37,7 @@ createRoot(app).render( - - - + ); diff --git a/ts/windows/debuglog/app.dom.tsx b/ts/windows/debuglog/app.dom.tsx index 01a52b35f9..2322e9afea 100644 --- a/ts/windows/debuglog/app.dom.tsx +++ b/ts/windows/debuglog/app.dom.tsx @@ -5,7 +5,6 @@ import { StrictMode } from 'react'; import { createRoot } from 'react-dom/client'; import '../sandboxedInit.dom.ts'; import { DebugLogWindow } from '../../components/DebugLogWindow.dom.tsx'; -import { FunDefaultEnglishEmojiLocalizationProvider } from '../../components/fun/FunEmojiLocalizationProvider.dom.tsx'; import { strictAssert } from '../../util/assert.std.ts'; import { AxoProvider } from '../../axo/AxoProvider.dom.tsx'; @@ -22,16 +21,14 @@ createRoot(app).render( - - window.SignalContext.executeMenuRole('close')} - downloadLog={DebugLogWindowProps.downloadLog} - i18n={i18n} - fetchLogs={DebugLogWindowProps.fetchLogs} - uploadLogs={DebugLogWindowProps.uploadLogs} - mode={DebugLogWindowProps.mode} - /> - + window.SignalContext.executeMenuRole('close')} + downloadLog={DebugLogWindowProps.downloadLog} + i18n={i18n} + fetchLogs={DebugLogWindowProps.fetchLogs} + uploadLogs={DebugLogWindowProps.uploadLogs} + mode={DebugLogWindowProps.mode} + /> ); diff --git a/ts/windows/main/preload_test.preload.ts b/ts/windows/main/preload_test.preload.ts index ea84bce5ca..fc428fbbd9 100644 --- a/ts/windows/main/preload_test.preload.ts +++ b/ts/windows/main/preload_test.preload.ts @@ -104,6 +104,9 @@ window.testUtilities = { callHistory: [], callHistoryUnreadCount: 0, chatFolders: [], + emojis: { + recentEmojis: [], + }, gifs: { recentGifs: [], }, @@ -123,9 +126,6 @@ window.testUtilities = { platform: 'test', }, notificationProfiles: [], - recentEmoji: { - recents: [], - }, stories: [], storyDistributionLists: [], donations: { diff --git a/ts/windows/permissions/app.dom.tsx b/ts/windows/permissions/app.dom.tsx index ce101f21c8..98d6aed5e0 100644 --- a/ts/windows/permissions/app.dom.tsx +++ b/ts/windows/permissions/app.dom.tsx @@ -7,7 +7,6 @@ import { createRoot } from 'react-dom/client'; import '../sandboxedInit.dom.ts'; import { PermissionsPopup } from '../../components/PermissionsPopup.dom.tsx'; import { strictAssert } from '../../util/assert.std.ts'; -import { FunDefaultEnglishEmojiLocalizationProvider } from '../../components/fun/FunEmojiLocalizationProvider.dom.tsx'; import { AxoProvider } from '../../axo/AxoProvider.dom.tsx'; const { PermissionsWindowProps } = window.Signal; @@ -36,14 +35,12 @@ createRoot(app).render( - - - + ); diff --git a/ts/windows/screenShare/app.dom.tsx b/ts/windows/screenShare/app.dom.tsx index 7be02ff41e..1aaf25d308 100644 --- a/ts/windows/screenShare/app.dom.tsx +++ b/ts/windows/screenShare/app.dom.tsx @@ -9,7 +9,6 @@ import { CallingScreenSharingController } from '../../components/CallingScreenSh import { strictAssert } from '../../util/assert.std.ts'; import { drop } from '../../util/drop.std.ts'; import { parseEnvironment, setEnvironment } from '../../environment.std.ts'; -import { FunDefaultEnglishEmojiLocalizationProvider } from '../../components/fun/FunEmojiLocalizationProvider.dom.tsx'; import { AxoProvider } from '../../axo/AxoProvider.dom.tsx'; const { ScreenShareWindowProps } = window.Signal; @@ -38,17 +37,15 @@ function render() { - -
- -
-
+
+ +
);