+
+
## Features
-* Inventory managment of your electronic parts. Each part can be assigned to a category, footprint, manufacturer
-and multiple store locations and price informations. Parts can be grouped using tags. You can associate various files like datasheets or pictures with the parts.
-* Multi-Language support (currently German, English, Russian, Japanese and French (experimental))
+
+* Inventory management of your electronic parts. Each part can be assigned to a category, footprint, manufacturer,
+ and multiple store locations and price information. Parts can be grouped using tags. You can associate various files
+ like datasheets or pictures with the parts.
+* Multi-language support (currently German, English, Russian, Japanese, French, Czech, Danish, and Chinese)
* Barcodes/Labels generator for parts and storage locations, scan barcodes via webcam using the builtin barcode scanner
-* User system with groups and detailed (fine granular) permissions.
-Two-factor authentication is supported (Google Authenticator and Webauthn/U2F keys) and can be enforced for groups. Password reset via email can be setuped.
-* Import/Export system (partial working)
-* Project managment: Create projects and assign parts to the bill of material (BOM), to show how often you could build this project and directly withdraw all components needed from DB
-* Event log: Track what changes happens to your inventory, track which user does what. Revert your parts to older versions.
-* Responsive design: You can use Part-DB on your PC, your tablet and your smartphone using the same interface.
-* MySQL and SQLite (experimental) supported as database backends
+* User system with groups and detailed (fine granular) permissions.
+ Two-factor authentication is supported (Google Authenticator and Webauthn/U2F keys) and can be enforced for groups.
+ Password reset via email can be set up.
+* Optional support for single sign-on (SSO) via SAML (using an intermediate service
+ like [Keycloak](https://www.keycloak.org/) you can connect Part-DB to an existing LDAP or Active Directory server)
+* Import/Export system for parts and data structure. BOM import for projects from KiCAD is supported.
+* Project management: Create projects and assign parts to the bill of material (BOM), to show how often you could build
+ this project and directly withdraw all components needed from DB
+* Event log: Track what changes happen to your inventory, track which user does what. Revert your parts to older
+ versions.
+* Responsive design: You can use Part-DB on your PC, your tablet, and your smartphone using the same interface.
+* MySQL, SQLite and PostgreSQL are supported as database backends
* Support for rich text descriptions and comments in parts
* Support for multiple currencies and automatic update of exchange rates supported
* Powerful search and filter function, including parametric search (search for parts according to some specifications)
+* Automatic thumbnail generation for pictures
+* Use cloud providers (like Octopart, Digikey, Farnell, LCSC or TME) to automatically get part information, datasheets, and
+ prices for parts
+* API to access Part-DB from other applications/scripts
+* [Integration with KiCad](https://docs.part-db.de/usage/eda_integration.html): Use Part-DB as the central datasource for your
+ KiCad and see available parts from Part-DB directly inside KiCad.
-
-With this features Part-DB is useful to hobbyists, who want to keep track of their private electronic parts inventory,
-or makerspaces, where many users have should have (controlled) access to the shared inventory.
+With these features, Part-DB is useful to hobbyists, who want to keep track of their private electronic parts inventory,
+or maker spaces, where many users should have (controlled) access to the shared inventory.
Part-DB is also used by small companies and universities for managing their inventory.
## Requirements
- * A **web server** (like Apache2 or nginx) that is capable of running [Symfony 5](https://symfony.com/doc/current/reference/requirements.html),
- this includes a minimum PHP version of **PHP 7.4**
- * A **MySQL** (at least 5.7) /**MariaDB** (at least 10.2.2) database server if you do not want to use SQLite.
- * Shell access to your server is highly suggested!
- * For building the client side assets **yarn** and **nodejs** is needed.
-
+
+* A **web server** (like Apache2 or nginx) that is capable of
+ running [Symfony 6](https://symfony.com/doc/current/reference/requirements.html),
+ this includes a minimum PHP version of **PHP 8.2**
+* A **MySQL** (at least 5.7) /**MariaDB** (at least 10.4) database server, or **PostgreSQL** 10+ if you do not want to use SQLite.
+* Shell access to your server is highly recommended!
+* For building the client-side assets **yarn** and **nodejs** (>= 20.0) is needed.
+
## Installation
-**Caution:** It is possible to upgrade the old Part-DB databases.
-Anyhow, the migrations that will be made, are not compatible with the old Part-DB versions, so you must not use the old Part-DB versions with the new database, or the DB could become corrupted.
-Also after the migration it is not possible to go back to the old database scheme, so make sure to make a backup of your database beforehand.
-See [UPGRADE](UPGRADE.md) for more infos.
-*Hint:* A docker image is available under [jbtronics/part-db1](https://hub.docker.com/r/jbtronics/part-db1). How to setup Part-DB via docker is described [here](https://github.com/Part-DB/Part-DB-symfony/blob/master/docs/docker/docker-install.md).
+If you want to upgrade your legacy (< 1.0.0) version of Part-DB to this version, please
+read [this](https://docs.part-db.de/upgrade_legacy.html) first.
-**Below you find some general hints for installtion, see [here](docs/installation/installation_guide-debian.md) for a detailed guide how to install Part-DB on Debian/Ubuntu.**
+*Hint:* A docker image is available under [jbtronics/part-db1](https://hub.docker.com/r/jbtronics/part-db1). How to set
+up Part-DB via docker is described [here](https://docs.part-db.de/installation/installation_docker.html).
+
+**Below you find a very rough outline of the installation process, see [here](https://docs.part-db.de/installation/)
+for a detailed guide on how to install Part-DB.**
1. Copy or clone this repository into a folder on your server.
-2. Configure your webserver to serve from the `public/` folder. See [here](https://symfony.com/doc/current/setup/web_server_configuration.html)
-for additional informations.
+2. Configure your webserver to serve from the `public/` folder.
+ See [here](https://symfony.com/doc/current/setup/web_server_configuration.html)
+ for additional information.
3. Copy the global config file `cp .env .env.local` and edit `.env.local`:
* Change the line `APP_ENV=dev` to `APP_ENV=prod`
- * If you do not want to use SQLite, change the value of `DATABASE_URL=` to your needs (see [here](http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url)) for the format.
- In bigger instances with concurrent accesses, MySQL is more performant. This can not be changed easily later, so choose wisely.
+ * If you do not want to use SQLite, change the value of `DATABASE_URL=` to your needs (
+ see [here](http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url))
+ for the format.
+ In bigger instances with concurrent accesses, MySQL is more performant. This can not be changed easily later, so
+ choose wisely.
4. Install composer dependencies and generate autoload files: `composer install -o --no-dev`
-5. If you have put Part-DB into a sub-directory on your server (like `part-db/`), you have to edit the file
-`webpack.config.js` and uncomment the lines (remove the `//` before the lines) `.setPublicPath('/part-db/build')` (line 43) and
- `.setManifestKeyPrefix('build/')` (line 44). You have to replace `/part-db` with your own path on line 44.
-6. Install client side dependencies and build it: `yarn install` and `yarn build`
-7. _Optional_ (speeds up first load): Warmup cache: `php bin/console cache:warmup`
-8. Upgrade database to new scheme (or create it, when it was empty): `php bin/console doctrine:migrations:migrate` and follow the instructions given. During the process the password for the admin is user is shown. Copy it. **Caution**: This steps tamper with your database and could potentially destroy it. So make sure to make a backup of your database.
-9. You can configure Part-DB via `config/parameters.yaml`. You should check if settings match your expectations, after you installed/upgraded Part-DB. Check if `partdb.default_currency` matches your mainly used currency (this can not be changed after creating price informations).
- Run `php bin/console cache:clear` when you changed something.
-10. Access Part-DB in your browser (under the URL you put it) and login with user *admin*. Password is the one outputted during DB setup.
- If you can not remember the password, set a new one with `php bin/console app:set-password admin`. You can create new users with the admin user and start using Part-DB.
+5. Install client side dependencies and build it: `yarn install` and `yarn build`
+6. _Optional_ (speeds up first load): Warmup cache: `php bin/console cache:warmup`
+7. Upgrade database to new scheme (or create it, when it was empty): `php bin/console doctrine:migrations:migrate` and
+ follow the instructions given. During the process the password for the admin is user is shown. Copy it. **Caution**:
+ These steps tamper with your database and could potentially destroy it. So make sure to make a backup of your
+ database.
+8. You can configure Part-DB via `config/parameters.yaml`. You should check if settings match your expectations after
+ you installed/upgraded Part-DB. Check if `partdb.default_currency` matches your mainly used currency (this can not be
+ changed after creating price information).
+ Run `php bin/console cache:clear` when you change something.
+9. Access Part-DB in your browser (under the URL you put it) and log in with user *admin*. Password is the one outputted
+ during DB setup.
+ If you can not remember the password, set a new one with `php bin/console app:set-password admin`. You can create
+ new users with the admin user and start using Part-DB.
When you want to upgrade to a newer version, then just copy the new files into the folder
and repeat the steps 4. to 7.
+Normally a random password is generated when the admin user is created during initial database creation,
+however, you can set the initial admin password, by setting the `INITIAL_ADMIN_PW` env var.
+
+You can configure Part-DB to your needs by changing environment variables in the `.env.local` file.
+See [here](https://docs.part-db.de/configuration.html) for more information.
+
### Reverse proxy
-If you are using a reverse proxy, you have to ensure that the proxies sets the `X-Forwarded-*` headers correctly, or you will get HTTP/HTTPS mixup and wrong hostnames.
-If the reverse proxy is on a different server (or it cannot access Part-DB via localhost) you have to set the `TRUSTED_PROXIES` env variable to match your reverse proxies IP-address (or IP block). You can do this in your `.env.local` or (when using docker) in your `docker-compose.yml` file.
-## Useful console commands
-Part-DB provides some command consoles which can be invoked by `php bin/console [command]`. You can get help for every command with the parameter `--help`.
-Useful commands are:
-* `php bin/console partdb:users:set-password [username]`: Sets a new password for the user with the given username. Useful if you forget the password to your Part-DB instance.
-* `php bin/console partdb:logs:show`: Show last activty log on console. Use `-x` options, to include extra column.
-* `php bin/console partdb:currencies:update-exchange-rates`: Update the exchange rates of your currencies from internet. Setup this to be run in a cronjob to always get up-to-date exchange rates.
- If you dont use Euro as base currency, you have to setup an fixer.io API key in `.env.local`.
-* `php bin/console partdb:attachments:clean-unused`: Removes all unused files (files without an associated attachment) in attachments folder.
-Normally Part-DB should be able to delete the attachment file, if you delete the attachment, but if you have some obsolete files left over from legacy Part-DB you can remove them safely with this command.
-* `php bin/console partdb:check-requirements`: Checks if the required dependencies are installed and gives you recommendations for optimization
-* `php bin/console cache:clear`: Remove and rebuild all caches. If you encounter some weird issues in Part-DB, it maybe helps to run this command.
-* `php bin/console doctrine:migrations:up-to-date`: Check if your database is up to date.
+If you are using a reverse proxy, you have to ensure that the proxies set the `X-Forwarded-*` headers correctly, or you
+will get HTTP/HTTPS mixup and wrong hostnames.
+If the reverse proxy is on a different server (or it cannot access Part-DB via localhost) you have to set
+the `TRUSTED_PROXIES` env variable to match your reverse proxy's IP address (or IP block). You can do this in
+your `.env.local` or (when using docker) in your `docker-compose.yml` file.
-* Normally a random password is generated when the admin user is created during inital database creation.
-You can set the inital admin password, by setting the `INITIAL_ADMIN_PW` env var.
## Donate for development
+
If you want to donate to the Part-DB developer, see the sponsor button in the top bar (next to the repo name).
-There you will find various methods to support development on a monthly or a one time base.
+There you will find various methods to support development on a monthly or a one-time base.
## Built with
+
* [Symfony 5](https://symfony.com/): The main framework used for the serverside PHP
* [Bootstrap 5](https://getbootstrap.com/) and [Bootswatch](https://bootswatch.com/): Used as website theme
-* [Fontawesome](https://fontawesome.com/: Used as icon set
-* [Hotwire Stimulus](https://stimulus.hotwired.dev/) and [Hotwire Turbo](https://turbo.hotwired.dev/): Frontend Javascript
+* [Fontawesome](https://fontawesome.com/): Used as icon set
+* [Hotwire Stimulus](https://stimulus.hotwired.dev/) and [Hotwire Turbo](https://turbo.hotwired.dev/): Frontend
+ Javascript
## Authors
-* **Jan Böhmer** - *Inital work* - [Github](https://github.com/jbtronics/)
-See also the list of [contributors](https://github.com/Part-DB/Part-DB-symfony/graphs/contributors) who participated in this project.
+* **Jan Böhmer** - *Initial work* - [GitHub](https://github.com/jbtronics/)
+
+See also the list of [contributors](https://github.com/Part-DB/Part-DB-server/graphs/contributors) who participated in
+this project.
Based on the original Part-DB by Christoph Lechner and K. Jacobs
## License
+
Part-DB is licensed under the GNU Affero General Public License v3.0 (or at your opinion any later).
This mostly means that you can use Part-DB for whatever you want (even use it commercially)
as long as you publish the source code for every change you make under the AGPL, too.
-See [LICENSE](https://github.com/Part-DB/Part-DB-symfony/blob/master/LICENSE) for more informations.
+See [LICENSE](https://github.com/Part-DB/Part-DB-server/blob/master/LICENSE) for more information.
diff --git a/SECURITY.md b/SECURITY.md
index 87224069..a9234a01 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -2,8 +2,11 @@
## Supported Versions
-This is an alpha version without releases yet. Only the newest version from the master branch is supported.
+Only the most recent release of Part-DB is supported.
+
+(Unreleased) development versions are not supported and might contain security vulnerabilities, which might not be
+fixed before the next release. However, if you find a security vulnerability in a development version, please report it
## Reporting a Vulnerability
-If you find an vulnerability contact the maintainer directly (Email: security@part-db.de).
+If you find a security vulnerability, report a vulnerability in the [security section of GitHub](https://github.com/Part-DB/Part-DB-server/security/advisories) or contact the maintainer directly (Email: security@part-db.de)
diff --git a/UPGRADE.md b/UPGRADE.md
deleted file mode 100644
index c498120f..00000000
--- a/UPGRADE.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Upgrade from legacy Versions (Part-DB 0.5/0.6)
-
-This document describes how to upgrade from an old Part-DB version (Part-DB 0.6 or older) to Part-DB 1.0.
-The instructions on how to install the new version or upgrade from Part-DB 1.0 to a newer version, see
-[README](README.md).
-
-## Breaking Changes
-Please note that there are some breaking changes with the new version.
-It is tried to keep the breaking changes as small as possible, so they should not have much impact for the most users:
- * PHP 7.2.5 is required now (Part-DB 0.5 required PHP 5.4+, Part-DB 0.6 PHP 7.0).
- PHP 7.2.5 (or newer) is shipped by all current major Linux distros now (and can be installed by third party sources on others),
- Releases are available for Windows too, so almost everybody should be able to use PHP 7.2.5
- * Console access highly required. The installation of composer and frontend dependencies require console access, also
- the managment commands are using CLI, so you should have console access on your server.
- * Markdown/HTML is now used instead of BBCode for rich text in description and command fields.
- It is possible to migrate your existing BBCode to Markdown via `php bin/console php bin/console partdb:migrations:convert-bbcode`.
- * Server exceptions are not logged to Event log anymore. For security reasons (exceptions can contain sensitive informations)
- exceptions are only logged to server log (by default under './var/log'), so only the server admins can access it.
- * Profile labels are now saved in Database (before they were saved in a seperate JSON file). The profiles of legacy Part-DB versions can not be imported into new Part-DB 1.0
- * Label placeholders now use the `[[PLACEHOLDER]]` format instead of `%PLACEHOLDER%`. Also some placeholders has changed.
-
- ## Upgrade process
- 1. Upgrade your existing Part-DB version the newest Part-DB 0.5.* version (in the moment Part-DB 0.5.8), like
- described in the old Part-DB's repository.
- 2. Make a backup of your database. If somethings goes wrong during migration, you can use this backup to start over.
- 3. Setup the new Part-DB like described on [README](README.md) in section Installation. In `.env.local` enter the URL
- to your old Part-DB database.
- 4. Run `php bin/console partdb:migrations:convert-bbcode` to convert the BBCode used in comments and part description to the newly used markdown.
- 5. Copy the content of `data/media` from the old Part-DB version into `public/media` in the new version.
- 6. Run 'php bin/console cache:clear'
-
-You should now be able to access Part-DB and log in using your old credentials.
-
-**It is not possible to access the database using the old Part-DB version.
-If you do so, this could damage your database.** Therefore it is recommended to remove the old Part-DB version.
diff --git a/VERSION b/VERSION
index ebb5fbf5..c043eea7 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.0-beta.1
\ No newline at end of file
+2.2.1
diff --git a/assets/ckeditor/emojis.json b/assets/ckeditor/emojis.json
new file mode 100644
index 00000000..a6bafe26
--- /dev/null
+++ b/assets/ckeditor/emojis.json
@@ -0,0 +1 @@
+[{"emoji":"😀","group":0,"order":1,"tags":["cheerful","cheery","face","grin","grinning","happy","laugh","nice","smile","smiling","teeth"],"version":1,"annotation":"grinning face","shortcodes":["grinning","grinning_face"]},{"emoji":"😃","group":0,"order":2,"tags":["awesome","big","eyes","face","grin","grinning","happy","mouth","open","smile","smiling","teeth","yay"],"version":0.6,"annotation":"grinning face with big eyes","shortcodes":["grinning_face_with_big_eyes","smiley"]},{"emoji":"😄","group":0,"order":3,"tags":["eye","eyes","face","grin","grinning","happy","laugh","lol","mouth","open","smile","smiling"],"version":0.6,"annotation":"grinning face with smiling eyes","emoticon":":D","shortcodes":["grinning_face_with_closed_eyes","smile"]},{"emoji":"😁","group":0,"order":4,"tags":["beaming","eye","eyes","face","grin","grinning","happy","nice","smile","smiling","teeth"],"version":0.6,"annotation":"beaming face with smiling eyes","shortcodes":["beaming_face","grin"]},{"emoji":"😆","group":0,"order":5,"tags":["closed","eyes","face","grinning","haha","hahaha","happy","laugh","lol","mouth","open","rofl","smile","smiling","squinting"],"version":0.6,"annotation":"grinning squinting face","emoticon":"XD","shortcodes":["laughing","lol","satisfied","squinting_face"]},{"emoji":"😅","group":0,"order":6,"tags":["cold","dejected","excited","face","grinning","mouth","nervous","open","smile","smiling","stress","stressed","sweat"],"version":0.6,"annotation":"grinning face with sweat","shortcodes":["grinning_face_with_sweat","sweat_smile"]},{"emoji":"🤣","group":0,"order":7,"tags":["crying","face","floor","funny","haha","happy","hehe","hilarious","joy","laugh","lmao","lol","rofl","roflmao","rolling","tear"],"version":3,"annotation":"rolling on the floor laughing","emoticon":":'D","shortcodes":["rofl"]},{"emoji":"😂","group":0,"order":8,"tags":["crying","face","feels","funny","haha","happy","hehe","hilarious","joy","laugh","lmao","lol","rofl","roflmao","tear"],"version":0.6,"annotation":"face with tears of joy","emoticon":":')","shortcodes":["joy","lmao","tears_of_joy"]},{"emoji":"🙂","group":0,"order":9,"tags":["face","happy","slightly","smile","smiling"],"version":1,"annotation":"slightly smiling face","emoticon":":)","shortcodes":["slightly_smiling_face"]},{"emoji":"🙃","group":0,"order":10,"tags":["face","hehe","smile","upside-down"],"version":1,"annotation":"upside-down face","shortcodes":["upside_down_face"]},{"emoji":"🫠","group":0,"order":11,"tags":["disappear","dissolve","embarrassed","face","haha","heat","hot","liquid","lol","melt","melting","sarcasm","sarcastic"],"version":14,"annotation":"melting face","shortcodes":["melt","melting_face"]},{"emoji":"😉","group":0,"order":12,"tags":["face","flirt","heartbreaker","sexy","slide","tease","wink","winking","winks"],"version":0.6,"annotation":"winking face","emoticon":";)","shortcodes":["wink","winking_face"]},{"emoji":"😊","group":0,"order":13,"tags":["blush","eye","eyes","face","glad","satisfied","smile","smiling"],"version":0.6,"annotation":"smiling face with smiling eyes","emoticon":":>","shortcodes":["blush","smiling_face_with_closed_eyes"]},{"emoji":"😇","group":0,"order":14,"tags":["angel","angelic","angels","blessed","face","fairy","fairytale","fantasy","halo","happy","innocent","peaceful","smile","smiling","spirit","tale"],"version":1,"annotation":"smiling face with halo","emoticon":"O:)","shortcodes":["halo","innocent"]},{"emoji":"🥰","group":0,"order":15,"tags":["3","adore","crush","face","heart","hearts","ily","love","romance","smile","smiling","you"],"version":11,"annotation":"smiling face with hearts","shortcodes":["smiling_face_with_3_hearts"]},{"emoji":"😍","group":0,"order":16,"tags":["143","bae","eye","face","feels","heart-eyes","hearts","ily","kisses","love","romance","romantic","smile","xoxo"],"version":0.6,"annotation":"smiling face with heart-eyes","shortcodes":["heart_eyes","smiling_face_with_heart_eyes"]},{"emoji":"🤩","group":0,"order":17,"tags":["excited","eyes","face","grinning","smile","star","starry-eyed","wow"],"version":5,"annotation":"star-struck","shortcodes":["star_struck"]},{"emoji":"😘","group":0,"order":18,"tags":["adorbs","bae","blowing","face","flirt","heart","ily","kiss","love","lover","miss","muah","romantic","smooch","xoxo","you"],"version":0.6,"annotation":"face blowing a kiss","emoticon":":X","shortcodes":["blowing_a_kiss","kissing_heart"]},{"emoji":"😗","group":0,"order":19,"tags":["143","date","dating","face","flirt","ily","kiss","love","smooch","smooches","xoxo","you"],"version":1,"annotation":"kissing face","shortcodes":["kissing","kissing_face"]},{"emoji":"☺️","group":0,"order":21,"tags":["face","happy","outlined","relaxed","smile","smiling"],"version":0.6,"annotation":"smiling face","shortcodes":["relaxed","smiling_face"]},{"emoji":"😚","group":0,"order":22,"tags":["143","bae","blush","closed","date","dating","eye","eyes","face","flirt","ily","kisses","kissing","smooches","xoxo"],"version":0.6,"annotation":"kissing face with closed eyes","emoticon":":*","shortcodes":["kissing_closed_eyes","kissing_face_with_closed_eyes"]},{"emoji":"😙","group":0,"order":23,"tags":["143","closed","date","dating","eye","eyes","face","flirt","ily","kiss","kisses","kissing","love","night","smile","smiling"],"version":1,"annotation":"kissing face with smiling eyes","shortcodes":["kissing_face_with_smiling_eyes","kissing_smiling_eyes"]},{"emoji":"🥲","group":0,"order":24,"tags":["face","glad","grateful","happy","joy","pain","proud","relieved","smile","smiley","smiling","tear","touched"],"version":13,"annotation":"smiling face with tear","shortcodes":["smiling_face_with_tear"]},{"emoji":"😋","group":0,"order":25,"tags":["delicious","eat","face","food","full","hungry","savor","smile","smiling","tasty","um","yum","yummy"],"version":0.6,"annotation":"face savoring food","shortcodes":["savoring_food","yum"]},{"emoji":"😛","group":0,"order":26,"tags":["awesome","cool","face","nice","party","stuck-out","sweet","tongue"],"version":1,"annotation":"face with tongue","emoticon":":P","shortcodes":["face_with_tongue","stuck_out_tongue"]},{"emoji":"😜","group":0,"order":27,"tags":["crazy","epic","eye","face","funny","joke","loopy","nutty","party","stuck-out","tongue","wacky","weirdo","wink","winking","yolo"],"version":0.6,"annotation":"winking face with tongue","emoticon":";P","shortcodes":["stuck_out_tongue_winking_eye"]},{"emoji":"🤪","group":0,"order":28,"tags":["crazy","eye","eyes","face","goofy","large","small","zany"],"version":5,"annotation":"zany face","shortcodes":["zany","zany_face"]},{"emoji":"😝","group":0,"order":29,"tags":["closed","eye","eyes","face","gross","horrible","omg","squinting","stuck-out","taste","tongue","whatever","yolo"],"version":0.6,"annotation":"squinting face with tongue","emoticon":"XP","shortcodes":["stuck_out_tongue_closed_eyes"]},{"emoji":"🤑","group":0,"order":30,"tags":["face","money","money-mouth","mouth","paid"],"version":1,"annotation":"money-mouth face","shortcodes":["money_mouth_face"]},{"emoji":"🤗","group":0,"order":31,"tags":["face","hands","hug","hugging","open","smiling"],"version":1,"annotation":"smiling face with open hands","shortcodes":["hug","hugging","hugging_face"]},{"emoji":"🤭","group":0,"order":32,"tags":["face","giggle","giggling","hand","mouth","oops","realization","secret","shock","sudden","surprise","whoops"],"version":5,"annotation":"face with hand over mouth","shortcodes":["face_with_hand_over_mouth","hand_over_mouth"]},{"emoji":"🫢","group":0,"order":33,"tags":["amazement","awe","disbelief","embarrass","eyes","face","gasp","hand","mouth","omg","open","over","quiet","scared","shock","surprise"],"version":14,"annotation":"face with open eyes and hand over mouth","shortcodes":["face_with_open_eyes_hand_over_mouth","gasp"]},{"emoji":"🫣","group":0,"order":34,"tags":["captivated","embarrass","eye","face","hide","hiding","peek","peeking","peep","scared","shy","stare"],"version":14,"annotation":"face with peeking eye","shortcodes":["face_with_peeking_eye","peek"]},{"emoji":"🤫","group":0,"order":35,"tags":["face","quiet","shh","shush","shushing"],"version":5,"annotation":"shushing face","shortcodes":["shush","shushing_face"]},{"emoji":"🤔","group":0,"order":36,"tags":["chin","consider","face","hmm","ponder","pondering","thinking","wondering"],"version":1,"annotation":"thinking face","emoticon":":L","shortcodes":["thinking","thinking_face","wtf"]},{"emoji":"🫡","group":0,"order":37,"tags":["face","good","luck","ma’am","ok","respect","salute","saluting","sir","troops","yes"],"version":14,"annotation":"saluting face","shortcodes":["salute","saluting_face"]},{"emoji":"🤐","group":0,"order":38,"tags":["face","keep","mouth","quiet","secret","shut","zip","zipper","zipper-mouth"],"version":1,"annotation":"zipper-mouth face","emoticon":":Z","shortcodes":["zipper_mouth","zipper_mouth_face"]},{"emoji":"🤨","group":0,"order":39,"tags":["disapproval","disbelief","distrust","emoji","eyebrow","face","hmm","mild","raised","skeptic","skeptical","skepticism","surprise","what"],"version":5,"annotation":"face with raised eyebrow","shortcodes":["face_with_raised_eyebrow","raised_eyebrow"]},{"emoji":"😐️","group":0,"order":40,"tags":["awkward","blank","deadpan","expressionless","face","fine","jealous","meh","neutral","oh","shade","straight","unamused","unhappy","unimpressed","whatever"],"version":0.7,"annotation":"neutral face","emoticon":":|","shortcodes":["neutral","neutral_face"]},{"emoji":"😑","group":0,"order":41,"tags":["awkward","dead","expressionless","face","fine","inexpressive","jealous","meh","not","oh","omg","straight","uh","unhappy","unimpressed","whatever"],"version":1,"annotation":"expressionless face","shortcodes":["expressionless","expressionless_face"]},{"emoji":"😶","group":0,"order":42,"tags":["awkward","blank","expressionless","face","mouth","mouthless","mute","quiet","secret","silence","silent","speechless"],"version":1,"annotation":"face without mouth","emoticon":":#","shortcodes":["no_mouth"]},{"emoji":"🫥","group":0,"order":43,"tags":["depressed","disappear","dotted","face","hidden","hide","introvert","invisible","line","meh","whatever","wtv"],"version":14,"annotation":"dotted line face","shortcodes":["dotted_line_face"]},{"emoji":"😶🌫️","group":0,"order":44,"tags":["absentminded","clouds","face","fog","head"],"version":13.1,"annotation":"face in clouds","shortcodes":["in_clouds"]},{"emoji":"😏","group":0,"order":46,"tags":["boss","dapper","face","flirt","homie","kidding","leer","shade","slick","sly","smirk","smug","snicker","suave","suspicious","swag"],"version":0.6,"annotation":"smirking face","emoticon":":j","shortcodes":["smirk","smirking","smirking_face"]},{"emoji":"😒","group":0,"order":47,"tags":["...","bored","face","fine","jealous","jel","jelly","pissed","smh","ugh","uhh","unamused","unhappy","weird","whatever"],"version":0.6,"annotation":"unamused face","emoticon":":?","shortcodes":["unamused","unamused_face"]},{"emoji":"🙄","group":0,"order":48,"tags":["eyeroll","eyes","face","rolling","shade","ugh","whatever"],"version":1,"annotation":"face with rolling eyes","shortcodes":["rolling_eyes"]},{"emoji":"😬","group":0,"order":49,"tags":["awk","awkward","dentist","face","grimace","grimacing","grinning","smile","smiling"],"version":1,"annotation":"grimacing face","emoticon":"8D","shortcodes":["grimacing","grimacing_face"]},{"emoji":"😮💨","group":0,"order":50,"tags":["blow","blowing","exhale","exhaling","exhausted","face","gasp","groan","relief","sigh","smiley","smoke","whisper","whistle"],"version":13.1,"annotation":"face exhaling","shortcodes":["exhale","exhaling"]},{"emoji":"🤥","group":0,"order":51,"tags":["face","liar","lie","lying","pinocchio"],"version":3,"annotation":"lying face","shortcodes":["lying","lying_face"]},{"emoji":"🫨","group":0,"order":52,"tags":["crazy","daze","earthquake","face","omg","panic","shaking","shock","surprise","vibrate","whoa","wow"],"version":15,"annotation":"shaking face","shortcodes":["shaking","shaking_face"]},{"emoji":"🙂↔️","group":0,"order":53,"tags":["head","horizontally","no","shake","shaking"],"version":15.1,"annotation":"head shaking horizontally","shortcodes":["head_shaking_horizontally"]},{"emoji":"🙂↕️","group":0,"order":55,"tags":["head","nod","shaking","vertically","yes"],"version":15.1,"annotation":"head shaking vertically","shortcodes":["head_shaking_vertically"]},{"emoji":"😌","group":0,"order":57,"tags":["calm","face","peace","relief","relieved","zen"],"version":0.6,"annotation":"relieved face","shortcodes":["relieved","relieved_face"]},{"emoji":"😔","group":0,"order":58,"tags":["awful","bored","dejected","died","disappointed","face","losing","lost","pensive","sad","sucks"],"version":0.6,"annotation":"pensive face","shortcodes":["pensive","pensive_face"]},{"emoji":"😪","group":0,"order":59,"tags":["crying","face","good","night","sad","sleep","sleeping","sleepy","tired"],"version":0.6,"annotation":"sleepy face","shortcodes":["sleepy","sleepy_face"]},{"emoji":"🤤","group":0,"order":60,"tags":["drooling","face"],"version":3,"annotation":"drooling face","shortcodes":["drooling","drooling_face"]},{"emoji":"😴","group":0,"order":61,"tags":["bed","bedtime","face","good","goodnight","nap","night","sleep","sleeping","tired","whatever","yawn","zzz"],"version":1,"annotation":"sleeping face","shortcodes":["sleeping","sleeping_face"]},{"emoji":"","group":0,"order":62,"tags":["bags","bored","exhausted","eyes","face","fatigued","late","sleepy","tired","weary"],"version":16,"annotation":"face with bags under eyes","shortcodes":["face_with_eye_bags"]},{"emoji":"😷","group":0,"order":63,"tags":["cold","dentist","dermatologist","doctor","dr","face","germs","mask","medical","medicine","sick"],"version":0.6,"annotation":"face with medical mask","shortcodes":["mask","medical_mask"]},{"emoji":"🤒","group":0,"order":64,"tags":["face","ill","sick","thermometer"],"version":1,"annotation":"face with thermometer","shortcodes":["face_with_thermometer"]},{"emoji":"🤕","group":0,"order":65,"tags":["bandage","face","head-bandage","hurt","injury","ouch"],"version":1,"annotation":"face with head-bandage","shortcodes":["face_with_head_bandage"]},{"emoji":"🤢","group":0,"order":66,"tags":["face","gross","nasty","nauseated","sick","vomit"],"version":3,"annotation":"nauseated face","emoticon":"%(","shortcodes":["nauseated","nauseated_face"]},{"emoji":"🤮","group":0,"order":67,"tags":["barf","ew","face","gross","puke","sick","spew","throw","up","vomit","vomiting"],"version":5,"annotation":"face vomiting","shortcodes":["face_vomiting","vomiting"]},{"emoji":"🤧","group":0,"order":68,"tags":["face","fever","flu","gesundheit","sick","sneeze","sneezing"],"version":3,"annotation":"sneezing face","shortcodes":["sneezing","sneezing_face"]},{"emoji":"🥵","group":0,"order":69,"tags":["dying","face","feverish","heat","hot","panting","red-faced","stroke","sweating","tongue"],"version":11,"annotation":"hot face","shortcodes":["hot","hot_face"]},{"emoji":"🥶","group":0,"order":70,"tags":["blue","blue-faced","cold","face","freezing","frostbite","icicles","subzero","teeth"],"version":11,"annotation":"cold face","shortcodes":["cold","cold_face"]},{"emoji":"🥴","group":0,"order":71,"tags":["dizzy","drunk","eyes","face","intoxicated","mouth","tipsy","uneven","wavy","woozy"],"version":11,"annotation":"woozy face","emoticon":":&","shortcodes":["woozy","woozy_face"]},{"emoji":"😵","group":0,"order":72,"tags":["crossed-out","dead","dizzy","eyes","face","feels","knocked","out","sick","tired"],"version":0.6,"annotation":"face with crossed-out eyes","emoticon":"XO","shortcodes":["dizzy_face","knocked_out"]},{"emoji":"😵💫","group":0,"order":73,"tags":["confused","dizzy","eyes","face","hypnotized","omg","smiley","spiral","trouble","whoa","woah","woozy"],"version":13.1,"annotation":"face with spiral eyes","shortcodes":["dizzy_eyes"]},{"emoji":"🤯","group":0,"order":74,"tags":["blown","explode","exploding","head","mind","mindblown","no","shocked","way"],"version":5,"annotation":"exploding head","shortcodes":["exploding_head"]},{"emoji":"🤠","group":0,"order":75,"tags":["cowboy","cowgirl","face","hat"],"version":3,"annotation":"cowboy hat face","shortcodes":["cowboy","cowboy_face"]},{"emoji":"🥳","group":0,"order":76,"tags":["bday","birthday","celebrate","celebration","excited","face","happy","hat","hooray","horn","party","partying"],"version":11,"annotation":"partying face","shortcodes":["hooray","partying","partying_face"]},{"emoji":"🥸","group":0,"order":77,"tags":["disguise","eyebrow","face","glasses","incognito","moustache","mustache","nose","person","spy","tache","tash"],"version":13,"annotation":"disguised face","shortcodes":["disguised","disguised_face"]},{"emoji":"😎","group":0,"order":78,"tags":["awesome","beach","bright","bro","chilling","cool","face","rad","relaxed","shades","slay","smile","style","sunglasses","swag","win"],"version":1,"annotation":"smiling face with sunglasses","emoticon":"8)","shortcodes":["smiling_face_with_sunglasses","sunglasses_cool","too_cool"]},{"emoji":"🤓","group":0,"order":79,"tags":["brainy","clever","expert","face","geek","gifted","glasses","intelligent","nerd","smart"],"version":1,"annotation":"nerd face","emoticon":":B","shortcodes":["nerd","nerd_face"]},{"emoji":"🧐","group":0,"order":80,"tags":["classy","face","fancy","monocle","rich","stuffy","wealthy"],"version":5,"annotation":"face with monocle","shortcodes":["face_with_monocle"]},{"emoji":"😕","group":0,"order":81,"tags":["befuddled","confused","confusing","dunno","face","frown","hm","meh","not","sad","sorry","sure"],"version":1,"annotation":"confused face","emoticon":":/","shortcodes":["confused","confused_face"]},{"emoji":"🫤","group":0,"order":82,"tags":["confused","confusion","diagonal","disappointed","doubt","doubtful","face","frustrated","frustration","meh","mouth","skeptical","unsure","whatever","wtv"],"version":14,"annotation":"face with diagonal mouth","shortcodes":["face_with_diagonal_mouth"]},{"emoji":"😟","group":0,"order":83,"tags":["anxious","butterflies","face","nerves","nervous","sad","stress","stressed","surprised","worried","worry"],"version":1,"annotation":"worried face","shortcodes":["worried","worried_face"]},{"emoji":"🙁","group":0,"order":84,"tags":["face","frown","frowning","sad","slightly"],"version":1,"annotation":"slightly frowning face","shortcodes":["slightly_frowning_face"]},{"emoji":"☹️","group":0,"order":86,"tags":["face","frown","frowning","sad"],"version":0.7,"annotation":"frowning face","emoticon":":(","shortcodes":["white_frowning_face"]},{"emoji":"😮","group":0,"order":87,"tags":["believe","face","forgot","mouth","omg","open","shocked","surprised","sympathy","unbelievable","unreal","whoa","wow","you"],"version":1,"annotation":"face with open mouth","shortcodes":["face_with_open_mouth","open_mouth"]},{"emoji":"😯","group":0,"order":88,"tags":["epic","face","hushed","omg","stunned","surprised","whoa","woah"],"version":1,"annotation":"hushed face","shortcodes":["hushed","hushed_face"]},{"emoji":"😲","group":0,"order":89,"tags":["astonished","cost","face","no","omg","shocked","totally","way"],"version":0.6,"annotation":"astonished face","emoticon":":O","shortcodes":["astonished","astonished_face"]},{"emoji":"😳","group":0,"order":90,"tags":["amazed","awkward","crazy","dazed","dead","disbelief","embarrassed","face","flushed","geez","heat","hot","impressed","jeez","what","wow"],"version":0.6,"annotation":"flushed face","emoticon":":$","shortcodes":["flushed","flushed_face"]},{"emoji":"🥺","group":0,"order":91,"tags":["begging","big","eyes","face","mercy","not","pleading","please","pretty","puppy","sad","why"],"version":11,"annotation":"pleading face","shortcodes":["pleading","pleading_face"]},{"emoji":"🥹","group":0,"order":92,"tags":["admiration","aww","back","cry","embarrassed","face","feelings","grateful","gratitude","holding","joy","please","proud","resist","sad","tears"],"version":14,"annotation":"face holding back tears","shortcodes":["face_holding_back_tears","watery_eyes"]},{"emoji":"😦","group":0,"order":93,"tags":["caught","face","frown","frowning","guard","mouth","open","scared","scary","surprise","what","wow"],"version":1,"annotation":"frowning face with open mouth","shortcodes":["frowning","frowning_face"]},{"emoji":"😧","group":0,"order":94,"tags":["anguished","face","forgot","scared","scary","stressed","surprise","unhappy","what","wow"],"version":1,"annotation":"anguished face","emoticon":":S","shortcodes":["anguished","anguished_face"]},{"emoji":"😨","group":0,"order":95,"tags":["afraid","anxious","blame","face","fear","fearful","scared","worried"],"version":0.6,"annotation":"fearful face","shortcodes":["fearful","fearful_face"]},{"emoji":"😰","group":0,"order":96,"tags":["anxious","blue","cold","eek","face","mouth","nervous","open","rushed","scared","sweat","yikes"],"version":0.6,"annotation":"anxious face with sweat","shortcodes":["anxious","anxious_face","cold_sweat"]},{"emoji":"😥","group":0,"order":97,"tags":["anxious","call","close","complicated","disappointed","face","not","relieved","sad","sweat","time","whew"],"version":0.6,"annotation":"sad but relieved face","shortcodes":["disappointed_relieved","sad_relieved_face"]},{"emoji":"😢","group":0,"order":98,"tags":["awful","cry","crying","face","feels","miss","sad","tear","triste","unhappy"],"version":0.6,"annotation":"crying face","emoticon":":'(","shortcodes":["cry","crying_face"]},{"emoji":"😭","group":0,"order":99,"tags":["bawling","cry","crying","face","loudly","sad","sob","tear","tears","unhappy"],"version":0.6,"annotation":"loudly crying face","emoticon":":'o","shortcodes":["loudly_crying_face","sob"]},{"emoji":"😱","group":0,"order":100,"tags":["epic","face","fear","fearful","munch","scared","scream","screamer","screaming","shocked","surprised","woah"],"version":0.6,"annotation":"face screaming in fear","emoticon":"Dx","shortcodes":["scream","screaming_in_fear"]},{"emoji":"😖","group":0,"order":101,"tags":["annoyed","confounded","confused","cringe","distraught","face","feels","frustrated","mad","sad"],"version":0.6,"annotation":"confounded face","emoticon":"X(","shortcodes":["confounded","confounded_face"]},{"emoji":"😣","group":0,"order":102,"tags":["concentrate","concentration","face","focus","headache","persevere","persevering"],"version":0.6,"annotation":"persevering face","shortcodes":["persevere","persevering_face"]},{"emoji":"😞","group":0,"order":103,"tags":["awful","blame","dejected","disappointed","face","fail","losing","sad","unhappy"],"version":0.6,"annotation":"disappointed face","shortcodes":["disappointed","disappointed_face"]},{"emoji":"😓","group":0,"order":104,"tags":["close","cold","downcast","face","feels","headache","nervous","sad","scared","sweat","yikes"],"version":0.6,"annotation":"downcast face with sweat","emoticon":":<","shortcodes":["downcast_face","sweat"]},{"emoji":"😩","group":0,"order":105,"tags":["crying","face","fail","feels","hungry","mad","nooo","sad","sleepy","tired","unhappy","weary"],"version":0.6,"annotation":"weary face","emoticon":"D:","shortcodes":["weary","weary_face"]},{"emoji":"😫","group":0,"order":106,"tags":["cost","face","feels","nap","sad","sneeze","tired"],"version":0.6,"annotation":"tired face","emoticon":":C","shortcodes":["tired","tired_face"]},{"emoji":"🥱","group":0,"order":107,"tags":["bedtime","bored","face","goodnight","nap","night","sleep","sleepy","tired","whatever","yawn","yawning","zzz"],"version":12,"annotation":"yawning face","shortcodes":["yawn","yawning","yawning_face"]},{"emoji":"😤","group":0,"order":108,"tags":["anger","angry","face","feels","fume","fuming","furious","fury","mad","nose","steam","triumph","unhappy","won"],"version":0.6,"annotation":"face with steam from nose","shortcodes":["nose_steam","triumph"]},{"emoji":"😡","group":0,"order":109,"tags":["anger","angry","enraged","face","feels","mad","maddening","pouting","rage","red","shade","unhappy","upset"],"version":0.6,"annotation":"enraged face","emoticon":">:/","shortcodes":["pout","pouting_face","rage"]},{"emoji":"😠","group":0,"order":110,"tags":["anger","angry","blame","face","feels","frustrated","mad","maddening","rage","shade","unhappy","upset"],"version":0.6,"annotation":"angry face","shortcodes":["angry","angry_face"]},{"emoji":"🤬","group":0,"order":111,"tags":["censor","cursing","cussing","face","mad","mouth","pissed","swearing","symbols"],"version":5,"annotation":"face with symbols on mouth","emoticon":":@","shortcodes":["censored","face_with_symbols_on_mouth"]},{"emoji":"😈","group":0,"order":112,"tags":["demon","devil","evil","face","fairy","fairytale","fantasy","horns","purple","shade","smile","smiling","tale"],"version":1,"annotation":"smiling face with horns","emoticon":">:)","shortcodes":["smiling_imp"]},{"emoji":"👿","group":0,"order":113,"tags":["angry","demon","devil","evil","face","fairy","fairytale","fantasy","horns","imp","mischievous","purple","shade","tale"],"version":0.6,"annotation":"angry face with horns","emoticon":">:(","shortcodes":["angry_imp","imp"]},{"emoji":"💀","group":0,"order":114,"tags":["body","dead","death","face","fairy","fairytale","i’m","lmao","monster","tale","yolo"],"version":0.6,"annotation":"skull","shortcodes":["skull"]},{"emoji":"☠️","group":0,"order":116,"tags":["bone","crossbones","dead","death","face","monster","skull"],"version":1,"annotation":"skull and crossbones","shortcodes":["skull_and_crossbones"]},{"emoji":"💩","group":0,"order":117,"tags":["bs","comic","doo","dung","face","fml","monster","pile","poo","poop","smelly","smh","stink","stinks","stinky","turd"],"version":0.6,"annotation":"pile of poo","shortcodes":["poop","shit"]},{"emoji":"🤡","group":0,"order":118,"tags":["clown","face"],"version":3,"annotation":"clown face","shortcodes":["clown","clown_face"]},{"emoji":"👹","group":0,"order":119,"tags":["creature","devil","face","fairy","fairytale","fantasy","mask","monster","scary","tale"],"version":0.6,"annotation":"ogre","emoticon":">0)","shortcodes":["japanese_ogre","ogre"]},{"emoji":"👺","group":0,"order":120,"tags":["angry","creature","face","fairy","fairytale","fantasy","mask","mean","monster","tale"],"version":0.6,"annotation":"goblin","shortcodes":["goblin","japanese_goblin"]},{"emoji":"👻","group":0,"order":121,"tags":["boo","creature","excited","face","fairy","fairytale","fantasy","halloween","haunting","monster","scary","silly","tale"],"version":0.6,"annotation":"ghost","shortcodes":["ghost"]},{"emoji":"👽️","group":0,"order":122,"tags":["creature","extraterrestrial","face","fairy","fairytale","fantasy","monster","space","tale","ufo"],"version":0.6,"annotation":"alien","shortcodes":["alien"]},{"emoji":"👾","group":0,"order":123,"tags":["alien","creature","extraterrestrial","face","fairy","fairytale","fantasy","game","gamer","games","monster","pixelated","space","tale","ufo"],"version":0.6,"annotation":"alien monster","shortcodes":["alien_monster","space_invader"]},{"emoji":"🤖","group":0,"order":124,"tags":["face","monster"],"version":1,"annotation":"robot","shortcodes":["robot","robot_face"]},{"emoji":"😺","group":0,"order":125,"tags":["animal","cat","face","grinning","mouth","open","smile","smiling"],"version":0.6,"annotation":"grinning cat","shortcodes":["grinning_cat","smiley_cat"]},{"emoji":"😸","group":0,"order":126,"tags":["animal","cat","eye","eyes","face","grin","grinning","smile","smiling"],"version":0.6,"annotation":"grinning cat with smiling eyes","shortcodes":["grinning_cat_with_closed_eyes","smile_cat"]},{"emoji":"😹","group":0,"order":127,"tags":["animal","cat","face","joy","laugh","laughing","lol","tear","tears"],"version":0.6,"annotation":"cat with tears of joy","shortcodes":["joy_cat","tears_of_joy_cat"]},{"emoji":"😻","group":0,"order":128,"tags":["animal","cat","eye","face","heart","heart-eyes","love","smile","smiling"],"version":0.6,"annotation":"smiling cat with heart-eyes","shortcodes":["heart_eyes_cat","smiling_cat_with_heart_eyes"]},{"emoji":"😼","group":0,"order":129,"tags":["animal","cat","face","ironic","smile","wry"],"version":0.6,"annotation":"cat with wry smile","shortcodes":["smirk_cat","wry_smile_cat"]},{"emoji":"😽","group":0,"order":130,"tags":["animal","cat","closed","eye","eyes","face","kiss","kissing"],"version":0.6,"annotation":"kissing cat","emoticon":":3","shortcodes":["kissing_cat"]},{"emoji":"🙀","group":0,"order":131,"tags":["animal","cat","face","oh","surprised","weary"],"version":0.6,"annotation":"weary cat","shortcodes":["scream_cat","weary_cat"]},{"emoji":"😿","group":0,"order":132,"tags":["animal","cat","cry","crying","face","sad","tear"],"version":0.6,"annotation":"crying cat","shortcodes":["crying_cat"]},{"emoji":"😾","group":0,"order":133,"tags":["animal","cat","face","pouting"],"version":0.6,"annotation":"pouting cat","shortcodes":["pouting_cat"]},{"emoji":"🙈","group":0,"order":134,"tags":["embarrassed","evil","face","forbidden","forgot","gesture","hide","monkey","no","omg","prohibited","scared","secret","smh","watch"],"version":0.6,"annotation":"see-no-evil monkey","shortcodes":["see_no_evil"]},{"emoji":"🙉","group":0,"order":135,"tags":["animal","ears","evil","face","forbidden","gesture","hear","listen","monkey","no","not","prohibited","secret","shh","tmi"],"version":0.6,"annotation":"hear-no-evil monkey","shortcodes":["hear_no_evil"]},{"emoji":"🙊","group":0,"order":136,"tags":["animal","evil","face","forbidden","gesture","monkey","no","not","oops","prohibited","quiet","secret","speak","stealth"],"version":0.6,"annotation":"speak-no-evil monkey","shortcodes":["speak_no_evil"]},{"emoji":"💌","group":0,"order":137,"tags":["heart","letter","love","mail","romance","valentine"],"version":0.6,"annotation":"love letter","shortcodes":["love_letter"]},{"emoji":"💘","group":0,"order":138,"tags":["143","adorbs","arrow","cupid","date","emotion","heart","ily","love","romance","valentine"],"version":0.6,"annotation":"heart with arrow","shortcodes":["cupid","heart_with_arrow"]},{"emoji":"💝","group":0,"order":139,"tags":["143","anniversary","emotion","heart","ily","kisses","ribbon","valentine","xoxo"],"version":0.6,"annotation":"heart with ribbon","shortcodes":["gift_heart","heart_with_ribbon"]},{"emoji":"💖","group":0,"order":140,"tags":["143","emotion","excited","good","heart","ily","kisses","morning","night","sparkle","sparkling","xoxo"],"version":0.6,"annotation":"sparkling heart","shortcodes":["sparkling_heart"]},{"emoji":"💗","group":0,"order":141,"tags":["143","emotion","excited","growing","heart","heartpulse","ily","kisses","muah","nervous","pulse","xoxo"],"version":0.6,"annotation":"growing heart","shortcodes":["growing_heart","heartpulse"]},{"emoji":"💓","group":0,"order":142,"tags":["143","beating","cardio","emotion","heart","heartbeat","ily","love","pulsating","pulse"],"version":0.6,"annotation":"beating heart","shortcodes":["beating_heart","heartbeat"]},{"emoji":"💞","group":0,"order":143,"tags":["143","adorbs","anniversary","emotion","heart","hearts","revolving"],"version":0.6,"annotation":"revolving hearts","shortcodes":["revolving_hearts"]},{"emoji":"💕","group":0,"order":144,"tags":["143","anniversary","date","dating","emotion","heart","hearts","ily","kisses","love","loving","two","xoxo"],"version":0.6,"annotation":"two hearts","shortcodes":["two_hearts"]},{"emoji":"💟","group":0,"order":145,"tags":["143","decoration","emotion","heart","hearth","purple","white"],"version":0.6,"annotation":"heart decoration","shortcodes":["heart_decoration"]},{"emoji":"❣️","group":0,"order":147,"tags":["exclamation","heart","heavy","mark","punctuation"],"version":1,"annotation":"heart exclamation","shortcodes":["heart_exclamation"]},{"emoji":"💔","group":0,"order":148,"tags":["break","broken","crushed","emotion","heart","heartbroken","lonely","sad"],"version":0.6,"annotation":"broken heart","emoticon":"3","shortcodes":["broken_heart"]},{"emoji":"❤️🔥","group":0,"order":149,"tags":["burn","fire","heart","love","lust","sacred"],"version":13.1,"annotation":"heart on fire","shortcodes":["heart_on_fire"]},{"emoji":"❤️🩹","group":0,"order":151,"tags":["healthier","heart","improving","mending","recovering","recuperating","well"],"version":13.1,"annotation":"mending heart","shortcodes":["mending_heart"]},{"emoji":"❤️","group":0,"order":154,"tags":["emotion","heart","love","red"],"version":0.6,"annotation":"red heart","emoticon":"<3","shortcodes":["heart","red_heart"]},{"emoji":"🩷","group":0,"order":155,"tags":["143","adorable","cute","emotion","heart","ily","like","love","pink","special","sweet"],"version":15,"annotation":"pink heart","shortcodes":["pink_heart"]},{"emoji":"🧡","group":0,"order":156,"tags":["143","heart","orange"],"version":5,"annotation":"orange heart","shortcodes":["orange_heart"]},{"emoji":"💛","group":0,"order":157,"tags":["143","cardiac","emotion","heart","ily","love","yellow"],"version":0.6,"annotation":"yellow heart","shortcodes":["yellow_heart"]},{"emoji":"💚","group":0,"order":158,"tags":["143","emotion","green","heart","ily","love","romantic"],"version":0.6,"annotation":"green heart","shortcodes":["green_heart"]},{"emoji":"💙","group":0,"order":159,"tags":["143","blue","emotion","heart","ily","love","romance"],"version":0.6,"annotation":"blue heart","shortcodes":["blue_heart"]},{"emoji":"🩵","group":0,"order":160,"tags":["143","blue","cute","cyan","emotion","heart","ily","light","like","love","sky","special","teal"],"version":15,"annotation":"light blue heart","shortcodes":["light_blue_heart"]},{"emoji":"💜","group":0,"order":161,"tags":["143","bestest","emotion","heart","ily","love","purple"],"version":0.6,"annotation":"purple heart","shortcodes":["purple_heart"]},{"emoji":"🤎","group":0,"order":162,"tags":["143","brown","heart"],"version":12,"annotation":"brown heart","shortcodes":["brown_heart"]},{"emoji":"🖤","group":0,"order":163,"tags":["black","evil","heart","wicked"],"version":3,"annotation":"black heart","shortcodes":["black_heart"]},{"emoji":"🩶","group":0,"order":164,"tags":["143","emotion","gray","grey","heart","ily","love","silver","slate","special"],"version":15,"annotation":"grey heart","shortcodes":["gray_heart","grey_heart"]},{"emoji":"🤍","group":0,"order":165,"tags":["143","heart","white"],"version":12,"annotation":"white heart","shortcodes":["white_heart"]},{"emoji":"💋","group":0,"order":166,"tags":["dating","emotion","heart","kiss","kissing","lips","mark","romance","sexy"],"version":0.6,"annotation":"kiss mark","shortcodes":["kiss"]},{"emoji":"💯","group":0,"order":167,"tags":["100","a+","agree","clearly","definitely","faithful","fleek","full","hundred","keep","perfect","point","score","true","truth","yup"],"version":0.6,"annotation":"hundred points","shortcodes":["100"]},{"emoji":"💢","group":0,"order":168,"tags":["anger","angry","comic","mad","symbol","upset"],"version":0.6,"annotation":"anger symbol","shortcodes":["anger"]},{"emoji":"💥","group":0,"order":169,"tags":["bomb","boom","collide","comic","explode"],"version":0.6,"annotation":"collision","shortcodes":["boom","collision"]},{"emoji":"💫","group":0,"order":170,"tags":["comic","shining","shooting","star","stars"],"version":0.6,"annotation":"dizzy","shortcodes":["dizzy"]},{"emoji":"💦","group":0,"order":171,"tags":["comic","drip","droplet","droplets","drops","splashing","squirt","sweat","water","wet","work","workout"],"version":0.6,"annotation":"sweat droplets","shortcodes":["sweat_drops"]},{"emoji":"💨","group":0,"order":172,"tags":["away","cloud","comic","dash","dashing","fart","fast","go","gone","gotta","running","smoke"],"version":0.6,"annotation":"dashing away","shortcodes":["dash","dashing_away"]},{"emoji":"🕳️","group":0,"order":174,"tags":["hole"],"version":0.7,"annotation":"hole","shortcodes":["hole"]},{"emoji":"💬","group":0,"order":175,"tags":["balloon","bubble","comic","dialog","message","sms","speech","talk","text","typing"],"version":0.6,"annotation":"speech balloon","shortcodes":["speech_balloon"]},{"emoji":"👁️🗨️","group":0,"order":176,"tags":["balloon","bubble","eye","speech","witness"],"version":2,"annotation":"eye in speech bubble","shortcodes":["eye_in_speech_bubble"]},{"emoji":"🗨️","group":0,"order":181,"tags":["balloon","bubble","dialog","left","speech"],"version":2,"annotation":"left speech bubble","shortcodes":["left_speech_bubble"]},{"emoji":"🗯️","group":0,"order":183,"tags":["anger","angry","balloon","bubble","mad","right"],"version":0.7,"annotation":"right anger bubble","shortcodes":["right_anger_bubble"]},{"emoji":"💭","group":0,"order":184,"tags":["balloon","bubble","cartoon","cloud","comic","daydream","decisions","dream","idea","invent","invention","realize","think","thoughts","wonder"],"version":1,"annotation":"thought balloon","shortcodes":["thought_balloon"]},{"emoji":"💤","group":0,"order":185,"tags":["comic","good","goodnight","night","sleep","sleeping","sleepy","tired","zzz"],"version":0.6,"annotation":"ZZZ","shortcodes":["zzz"]},{"emoji":"👋","group":1,"order":186,"tags":["bye","cya","g2g","greetings","gtg","hand","hello","hey","hi","later","outtie","ttfn","ttyl","wave","yo","you"],"version":0.6,"annotation":"waving hand","shortcodes":["wave","waving_hand"],"skins":[{"tone":1,"emoji":"👋🏻","version":1},{"tone":2,"emoji":"👋🏼","version":1},{"tone":3,"emoji":"👋🏽","version":1},{"tone":4,"emoji":"👋🏾","version":1},{"tone":5,"emoji":"👋🏿","version":1}]},{"emoji":"🤚","group":1,"order":192,"tags":["back","backhand","hand","raised"],"version":3,"annotation":"raised back of hand","shortcodes":["raised_back_of_hand"],"skins":[{"tone":1,"emoji":"🤚🏻","version":3},{"tone":2,"emoji":"🤚🏼","version":3},{"tone":3,"emoji":"🤚🏽","version":3},{"tone":4,"emoji":"🤚🏾","version":3},{"tone":5,"emoji":"🤚🏿","version":3}]},{"emoji":"🖐️","group":1,"order":199,"tags":["finger","fingers","hand","raised","splayed","stop"],"version":0.7,"annotation":"hand with fingers splayed","shortcodes":["raised_hand_with_fingers_splayed"],"skins":[{"tone":1,"emoji":"🖐🏻","version":1},{"tone":2,"emoji":"🖐🏼","version":1},{"tone":3,"emoji":"🖐🏽","version":1},{"tone":4,"emoji":"🖐🏾","version":1},{"tone":5,"emoji":"🖐🏿","version":1}]},{"emoji":"✋️","group":1,"order":205,"tags":["5","five","hand","high","raised","stop"],"version":0.6,"annotation":"raised hand","shortcodes":["high_five","raised_hand"],"skins":[{"tone":1,"emoji":"✋🏻","version":1},{"tone":2,"emoji":"✋🏼","version":1},{"tone":3,"emoji":"✋🏽","version":1},{"tone":4,"emoji":"✋🏾","version":1},{"tone":5,"emoji":"✋🏿","version":1}]},{"emoji":"🖖","group":1,"order":211,"tags":["finger","hand","hands","salute","vulcan"],"version":1,"annotation":"vulcan salute","shortcodes":["vulcan"],"skins":[{"tone":1,"emoji":"🖖🏻","version":1},{"tone":2,"emoji":"🖖🏼","version":1},{"tone":3,"emoji":"🖖🏽","version":1},{"tone":4,"emoji":"🖖🏾","version":1},{"tone":5,"emoji":"🖖🏿","version":1}]},{"emoji":"🫱","group":1,"order":217,"tags":["hand","handshake","hold","reach","right","rightward","rightwards","shake"],"version":14,"annotation":"rightwards hand","shortcodes":["rightwards_hand"],"skins":[{"tone":1,"emoji":"🫱🏻","version":14},{"tone":2,"emoji":"🫱🏼","version":14},{"tone":3,"emoji":"🫱🏽","version":14},{"tone":4,"emoji":"🫱🏾","version":14},{"tone":5,"emoji":"🫱🏿","version":14}]},{"emoji":"🫲","group":1,"order":223,"tags":["hand","handshake","hold","left","leftward","leftwards","reach","shake"],"version":14,"annotation":"leftwards hand","shortcodes":["leftwards_hand"],"skins":[{"tone":1,"emoji":"🫲🏻","version":14},{"tone":2,"emoji":"🫲🏼","version":14},{"tone":3,"emoji":"🫲🏽","version":14},{"tone":4,"emoji":"🫲🏾","version":14},{"tone":5,"emoji":"🫲🏿","version":14}]},{"emoji":"🫳","group":1,"order":229,"tags":["dismiss","down","drop","dropped","hand","palm","pick","shoo","up"],"version":14,"annotation":"palm down hand","shortcodes":["palm_down"],"skins":[{"tone":1,"emoji":"🫳🏻","version":14},{"tone":2,"emoji":"🫳🏼","version":14},{"tone":3,"emoji":"🫳🏽","version":14},{"tone":4,"emoji":"🫳🏾","version":14},{"tone":5,"emoji":"🫳🏿","version":14}]},{"emoji":"🫴","group":1,"order":235,"tags":["beckon","catch","come","hand","hold","know","lift","me","offer","palm","tell"],"version":14,"annotation":"palm up hand","shortcodes":["palm_up"],"skins":[{"tone":1,"emoji":"🫴🏻","version":14},{"tone":2,"emoji":"🫴🏼","version":14},{"tone":3,"emoji":"🫴🏽","version":14},{"tone":4,"emoji":"🫴🏾","version":14},{"tone":5,"emoji":"🫴🏿","version":14}]},{"emoji":"🫷","group":1,"order":241,"tags":["block","five","halt","hand","high","hold","leftward","leftwards","pause","push","pushing","refuse","slap","stop","wait"],"version":15,"annotation":"leftwards pushing hand","shortcodes":["leftwards_pushing_hand"],"skins":[{"tone":1,"emoji":"🫷🏻","version":15},{"tone":2,"emoji":"🫷🏼","version":15},{"tone":3,"emoji":"🫷🏽","version":15},{"tone":4,"emoji":"🫷🏾","version":15},{"tone":5,"emoji":"🫷🏿","version":15}]},{"emoji":"🫸","group":1,"order":247,"tags":["block","five","halt","hand","high","hold","pause","push","pushing","refuse","rightward","rightwards","slap","stop","wait"],"version":15,"annotation":"rightwards pushing hand","shortcodes":["rightwards_pushing_hand"],"skins":[{"tone":1,"emoji":"🫸🏻","version":15},{"tone":2,"emoji":"🫸🏼","version":15},{"tone":3,"emoji":"🫸🏽","version":15},{"tone":4,"emoji":"🫸🏾","version":15},{"tone":5,"emoji":"🫸🏿","version":15}]},{"emoji":"👌","group":1,"order":253,"tags":["awesome","bet","dope","fleek","fosho","got","gotcha","hand","legit","ok","okay","pinch","rad","sure","sweet","three"],"version":0.6,"annotation":"OK hand","shortcodes":["ok_hand"],"skins":[{"tone":1,"emoji":"👌🏻","version":1},{"tone":2,"emoji":"👌🏼","version":1},{"tone":3,"emoji":"👌🏽","version":1},{"tone":4,"emoji":"👌🏾","version":1},{"tone":5,"emoji":"👌🏿","version":1}]},{"emoji":"🤌","group":1,"order":259,"tags":["fingers","gesture","hand","hold","huh","interrogation","patience","pinched","relax","sarcastic","ugh","what","zip"],"version":13,"annotation":"pinched fingers","shortcodes":["pinch","pinched_fingers"],"skins":[{"tone":1,"emoji":"🤌🏻","version":13},{"tone":2,"emoji":"🤌🏼","version":13},{"tone":3,"emoji":"🤌🏽","version":13},{"tone":4,"emoji":"🤌🏾","version":13},{"tone":5,"emoji":"🤌🏿","version":13}]},{"emoji":"🤏","group":1,"order":265,"tags":["amount","bit","fingers","hand","little","pinching","small","sort"],"version":12,"annotation":"pinching hand","shortcodes":["pinching_hand"],"skins":[{"tone":1,"emoji":"🤏🏻","version":12},{"tone":2,"emoji":"🤏🏼","version":12},{"tone":3,"emoji":"🤏🏽","version":12},{"tone":4,"emoji":"🤏🏾","version":12},{"tone":5,"emoji":"🤏🏿","version":12}]},{"emoji":"✌️","group":1,"order":272,"tags":["hand","peace","v","victory"],"version":0.6,"annotation":"victory hand","shortcodes":["v","victory"],"skins":[{"tone":1,"emoji":"✌🏻","version":1},{"tone":2,"emoji":"✌🏼","version":1},{"tone":3,"emoji":"✌🏽","version":1},{"tone":4,"emoji":"✌🏾","version":1},{"tone":5,"emoji":"✌🏿","version":1}]},{"emoji":"🤞","group":1,"order":278,"tags":["cross","crossed","finger","fingers","hand","luck"],"version":3,"annotation":"crossed fingers","shortcodes":["fingers_crossed"],"skins":[{"tone":1,"emoji":"🤞🏻","version":3},{"tone":2,"emoji":"🤞🏼","version":3},{"tone":3,"emoji":"🤞🏽","version":3},{"tone":4,"emoji":"🤞🏾","version":3},{"tone":5,"emoji":"🤞🏿","version":3}]},{"emoji":"🫰","group":1,"order":284,"tags":["<3","crossed","expensive","finger","hand","heart","index","love","money","snap","thumb"],"version":14,"annotation":"hand with index finger and thumb crossed","shortcodes":["hand_with_index_finger_and_thumb_crossed"],"skins":[{"tone":1,"emoji":"🫰🏻","version":14},{"tone":2,"emoji":"🫰🏼","version":14},{"tone":3,"emoji":"🫰🏽","version":14},{"tone":4,"emoji":"🫰🏾","version":14},{"tone":5,"emoji":"🫰🏿","version":14}]},{"emoji":"🤟","group":1,"order":290,"tags":["fingers","gesture","hand","ily","love","love-you","three","you"],"version":5,"annotation":"love-you gesture","shortcodes":["love_you_gesture"],"skins":[{"tone":1,"emoji":"🤟🏻","version":5},{"tone":2,"emoji":"🤟🏼","version":5},{"tone":3,"emoji":"🤟🏽","version":5},{"tone":4,"emoji":"🤟🏾","version":5},{"tone":5,"emoji":"🤟🏿","version":5}]},{"emoji":"🤘","group":1,"order":296,"tags":["finger","hand","horns","rock-on","sign"],"version":1,"annotation":"sign of the horns","emoticon":"\\M/","shortcodes":["metal","sign_of_the_horns"],"skins":[{"tone":1,"emoji":"🤘🏻","version":1},{"tone":2,"emoji":"🤘🏼","version":1},{"tone":3,"emoji":"🤘🏽","version":1},{"tone":4,"emoji":"🤘🏾","version":1},{"tone":5,"emoji":"🤘🏿","version":1}]},{"emoji":"🤙","group":1,"order":302,"tags":["call","hand","hang","loose","me","shaka"],"version":3,"annotation":"call me hand","shortcodes":["call_me_hand"],"skins":[{"tone":1,"emoji":"🤙🏻","version":3},{"tone":2,"emoji":"🤙🏼","version":3},{"tone":3,"emoji":"🤙🏽","version":3},{"tone":4,"emoji":"🤙🏾","version":3},{"tone":5,"emoji":"🤙🏿","version":3}]},{"emoji":"👈️","group":1,"order":308,"tags":["backhand","finger","hand","index","left","point","pointing"],"version":0.6,"annotation":"backhand index pointing left","shortcodes":["point_left"],"skins":[{"tone":1,"emoji":"👈🏻","version":1},{"tone":2,"emoji":"👈🏼","version":1},{"tone":3,"emoji":"👈🏽","version":1},{"tone":4,"emoji":"👈🏾","version":1},{"tone":5,"emoji":"👈🏿","version":1}]},{"emoji":"👉️","group":1,"order":314,"tags":["backhand","finger","hand","index","point","pointing","right"],"version":0.6,"annotation":"backhand index pointing right","shortcodes":["point_right"],"skins":[{"tone":1,"emoji":"👉🏻","version":1},{"tone":2,"emoji":"👉🏼","version":1},{"tone":3,"emoji":"👉🏽","version":1},{"tone":4,"emoji":"👉🏾","version":1},{"tone":5,"emoji":"👉🏿","version":1}]},{"emoji":"👆️","group":1,"order":320,"tags":["backhand","finger","hand","index","point","pointing","up"],"version":0.6,"annotation":"backhand index pointing up","shortcodes":["point_up"],"skins":[{"tone":1,"emoji":"👆🏻","version":1},{"tone":2,"emoji":"👆🏼","version":1},{"tone":3,"emoji":"👆🏽","version":1},{"tone":4,"emoji":"👆🏾","version":1},{"tone":5,"emoji":"👆🏿","version":1}]},{"emoji":"🖕","group":1,"order":326,"tags":["finger","hand","middle"],"version":1,"annotation":"middle finger","shortcodes":["middle_finger"],"skins":[{"tone":1,"emoji":"🖕🏻","version":1},{"tone":2,"emoji":"🖕🏼","version":1},{"tone":3,"emoji":"🖕🏽","version":1},{"tone":4,"emoji":"🖕🏾","version":1},{"tone":5,"emoji":"🖕🏿","version":1}]},{"emoji":"👇️","group":1,"order":332,"tags":["backhand","down","finger","hand","index","point","pointing"],"version":0.6,"annotation":"backhand index pointing down","shortcodes":["point_down"],"skins":[{"tone":1,"emoji":"👇🏻","version":1},{"tone":2,"emoji":"👇🏼","version":1},{"tone":3,"emoji":"👇🏽","version":1},{"tone":4,"emoji":"👇🏾","version":1},{"tone":5,"emoji":"👇🏿","version":1}]},{"emoji":"☝️","group":1,"order":339,"tags":["finger","hand","index","point","pointing","this","up"],"version":0.6,"annotation":"index pointing up","shortcodes":["point_up_2"],"skins":[{"tone":1,"emoji":"☝🏻","version":1},{"tone":2,"emoji":"☝🏼","version":1},{"tone":3,"emoji":"☝🏽","version":1},{"tone":4,"emoji":"☝🏾","version":1},{"tone":5,"emoji":"☝🏿","version":1}]},{"emoji":"🫵","group":1,"order":345,"tags":["at","finger","hand","index","pointing","poke","viewer","you"],"version":14,"annotation":"index pointing at the viewer","shortcodes":["point_forward"],"skins":[{"tone":1,"emoji":"🫵🏻","version":14},{"tone":2,"emoji":"🫵🏼","version":14},{"tone":3,"emoji":"🫵🏽","version":14},{"tone":4,"emoji":"🫵🏾","version":14},{"tone":5,"emoji":"🫵🏿","version":14}]},{"emoji":"👍️","group":1,"order":351,"tags":["+1","good","hand","like","thumb","up","yes"],"version":0.6,"annotation":"thumbs up","shortcodes":["+1","thumbsup","yes"],"skins":[{"tone":1,"emoji":"👍🏻","version":1},{"tone":2,"emoji":"👍🏼","version":1},{"tone":3,"emoji":"👍🏽","version":1},{"tone":4,"emoji":"👍🏾","version":1},{"tone":5,"emoji":"👍🏿","version":1}]},{"emoji":"👎️","group":1,"order":357,"tags":["-1","bad","dislike","down","good","hand","no","nope","thumb","thumbs"],"version":0.6,"annotation":"thumbs down","shortcodes":["-1","no","thumbsdown"],"skins":[{"tone":1,"emoji":"👎🏻","version":1},{"tone":2,"emoji":"👎🏼","version":1},{"tone":3,"emoji":"👎🏽","version":1},{"tone":4,"emoji":"👎🏾","version":1},{"tone":5,"emoji":"👎🏿","version":1}]},{"emoji":"✊️","group":1,"order":363,"tags":["clenched","fist","hand","punch","raised","solidarity"],"version":0.6,"annotation":"raised fist","shortcodes":["fist"],"skins":[{"tone":1,"emoji":"✊🏻","version":1},{"tone":2,"emoji":"✊🏼","version":1},{"tone":3,"emoji":"✊🏽","version":1},{"tone":4,"emoji":"✊🏾","version":1},{"tone":5,"emoji":"✊🏿","version":1}]},{"emoji":"👊","group":1,"order":369,"tags":["absolutely","agree","boom","bro","bruh","bump","clenched","correct","fist","hand","knuckle","oncoming","pound","punch","rock","ttyl"],"version":0.6,"annotation":"oncoming fist","shortcodes":["punch"],"skins":[{"tone":1,"emoji":"👊🏻","version":1},{"tone":2,"emoji":"👊🏼","version":1},{"tone":3,"emoji":"👊🏽","version":1},{"tone":4,"emoji":"👊🏾","version":1},{"tone":5,"emoji":"👊🏿","version":1}]},{"emoji":"🤛","group":1,"order":375,"tags":["fist","left-facing","leftwards"],"version":3,"annotation":"left-facing fist","shortcodes":["left_facing_fist"],"skins":[{"tone":1,"emoji":"🤛🏻","version":3},{"tone":2,"emoji":"🤛🏼","version":3},{"tone":3,"emoji":"🤛🏽","version":3},{"tone":4,"emoji":"🤛🏾","version":3},{"tone":5,"emoji":"🤛🏿","version":3}]},{"emoji":"🤜","group":1,"order":381,"tags":["fist","right-facing","rightwards"],"version":3,"annotation":"right-facing fist","shortcodes":["right_facing_fist"],"skins":[{"tone":1,"emoji":"🤜🏻","version":3},{"tone":2,"emoji":"🤜🏼","version":3},{"tone":3,"emoji":"🤜🏽","version":3},{"tone":4,"emoji":"🤜🏾","version":3},{"tone":5,"emoji":"🤜🏿","version":3}]},{"emoji":"👏","group":1,"order":387,"tags":["applause","approval","awesome","clap","congrats","congratulations","excited","good","great","hand","homie","job","nice","prayed","well","yay"],"version":0.6,"annotation":"clapping hands","shortcodes":["clap","clapping_hands"],"skins":[{"tone":1,"emoji":"👏🏻","version":1},{"tone":2,"emoji":"👏🏼","version":1},{"tone":3,"emoji":"👏🏽","version":1},{"tone":4,"emoji":"👏🏾","version":1},{"tone":5,"emoji":"👏🏿","version":1}]},{"emoji":"🙌","group":1,"order":393,"tags":["celebration","gesture","hand","hands","hooray","praise","raised","raising"],"version":0.6,"annotation":"raising hands","shortcodes":["raised_hands"],"skins":[{"tone":1,"emoji":"🙌🏻","version":1},{"tone":2,"emoji":"🙌🏼","version":1},{"tone":3,"emoji":"🙌🏽","version":1},{"tone":4,"emoji":"🙌🏾","version":1},{"tone":5,"emoji":"🙌🏿","version":1}]},{"emoji":"🫶","group":1,"order":399,"tags":["<3","hands","heart","love","you"],"version":14,"annotation":"heart hands","shortcodes":["heart_hands"],"skins":[{"tone":1,"emoji":"🫶🏻","version":14},{"tone":2,"emoji":"🫶🏼","version":14},{"tone":3,"emoji":"🫶🏽","version":14},{"tone":4,"emoji":"🫶🏾","version":14},{"tone":5,"emoji":"🫶🏿","version":14}]},{"emoji":"👐","group":1,"order":405,"tags":["hand","hands","hug","jazz","open","swerve"],"version":0.6,"annotation":"open hands","shortcodes":["open_hands"],"skins":[{"tone":1,"emoji":"👐🏻","version":1},{"tone":2,"emoji":"👐🏼","version":1},{"tone":3,"emoji":"👐🏽","version":1},{"tone":4,"emoji":"👐🏾","version":1},{"tone":5,"emoji":"👐🏿","version":1}]},{"emoji":"🤲","group":1,"order":411,"tags":["cupped","dua","hands","palms","pray","prayer","together","up","wish"],"version":5,"annotation":"palms up together","shortcodes":["palms_up_together"],"skins":[{"tone":1,"emoji":"🤲🏻","version":5},{"tone":2,"emoji":"🤲🏼","version":5},{"tone":3,"emoji":"🤲🏽","version":5},{"tone":4,"emoji":"🤲🏾","version":5},{"tone":5,"emoji":"🤲🏿","version":5}]},{"emoji":"🤝","group":1,"order":417,"tags":["agreement","deal","hand","meeting","shake"],"version":3,"annotation":"handshake","shortcodes":["handshake"],"skins":[{"tone":1,"emoji":"🤝🏻","version":14},{"tone":2,"emoji":"🤝🏼","version":14},{"tone":3,"emoji":"🤝🏽","version":14},{"tone":4,"emoji":"🤝🏾","version":14},{"tone":5,"emoji":"🤝🏿","version":14},{"tone":[1,2],"emoji":"🫱🏻🫲🏼","version":14},{"tone":[1,3],"emoji":"🫱🏻🫲🏽","version":14},{"tone":[1,4],"emoji":"🫱🏻🫲🏾","version":14},{"tone":[1,5],"emoji":"🫱🏻🫲🏿","version":14},{"tone":[2,1],"emoji":"🫱🏼🫲🏻","version":14},{"tone":[2,3],"emoji":"🫱🏼🫲🏽","version":14},{"tone":[2,4],"emoji":"🫱🏼🫲🏾","version":14},{"tone":[2,5],"emoji":"🫱🏼🫲🏿","version":14},{"tone":[3,1],"emoji":"🫱🏽🫲🏻","version":14},{"tone":[3,2],"emoji":"🫱🏽🫲🏼","version":14},{"tone":[3,4],"emoji":"🫱🏽🫲🏾","version":14},{"tone":[3,5],"emoji":"🫱🏽🫲🏿","version":14},{"tone":[4,1],"emoji":"🫱🏾🫲🏻","version":14},{"tone":[4,2],"emoji":"🫱🏾🫲🏼","version":14},{"tone":[4,3],"emoji":"🫱🏾🫲🏽","version":14},{"tone":[4,5],"emoji":"🫱🏾🫲🏿","version":14},{"tone":[5,1],"emoji":"🫱🏿🫲🏻","version":14},{"tone":[5,2],"emoji":"🫱🏿🫲🏼","version":14},{"tone":[5,3],"emoji":"🫱🏿🫲🏽","version":14},{"tone":[5,4],"emoji":"🫱🏿🫲🏾","version":14}]},{"emoji":"🙏","group":1,"order":443,"tags":["appreciate","ask","beg","blessed","bow","cmon","five","folded","gesture","hand","high","please","pray","thanks","thx"],"version":0.6,"annotation":"folded hands","shortcodes":["folded_hands","pray"],"skins":[{"tone":1,"emoji":"🙏🏻","version":1},{"tone":2,"emoji":"🙏🏼","version":1},{"tone":3,"emoji":"🙏🏽","version":1},{"tone":4,"emoji":"🙏🏾","version":1},{"tone":5,"emoji":"🙏🏿","version":1}]},{"emoji":"✍️","group":1,"order":450,"tags":["hand","write","writing"],"version":0.7,"annotation":"writing hand","shortcodes":["writing_hand"],"skins":[{"tone":1,"emoji":"✍🏻","version":1},{"tone":2,"emoji":"✍🏼","version":1},{"tone":3,"emoji":"✍🏽","version":1},{"tone":4,"emoji":"✍🏾","version":1},{"tone":5,"emoji":"✍🏿","version":1}]},{"emoji":"💅","group":1,"order":456,"tags":["bored","care","cosmetics","done","makeup","manicure","nail","polish","whatever"],"version":0.6,"annotation":"nail polish","shortcodes":["nail_care","nail_polish"],"skins":[{"tone":1,"emoji":"💅🏻","version":1},{"tone":2,"emoji":"💅🏼","version":1},{"tone":3,"emoji":"💅🏽","version":1},{"tone":4,"emoji":"💅🏾","version":1},{"tone":5,"emoji":"💅🏿","version":1}]},{"emoji":"🤳","group":1,"order":462,"tags":["camera","phone"],"version":3,"annotation":"selfie","shortcodes":["selfie"],"skins":[{"tone":1,"emoji":"🤳🏻","version":3},{"tone":2,"emoji":"🤳🏼","version":3},{"tone":3,"emoji":"🤳🏽","version":3},{"tone":4,"emoji":"🤳🏾","version":3},{"tone":5,"emoji":"🤳🏿","version":3}]},{"emoji":"💪","group":1,"order":468,"tags":["arm","beast","bench","biceps","bodybuilder","bro","curls","flex","gains","gym","jacked","muscle","press","ripped","strong","weightlift"],"version":0.6,"annotation":"flexed biceps","shortcodes":["muscle","right_bicep"],"skins":[{"tone":1,"emoji":"💪🏻","version":1},{"tone":2,"emoji":"💪🏼","version":1},{"tone":3,"emoji":"💪🏽","version":1},{"tone":4,"emoji":"💪🏾","version":1},{"tone":5,"emoji":"💪🏿","version":1}]},{"emoji":"🦾","group":1,"order":474,"tags":["accessibility","arm","mechanical","prosthetic"],"version":12,"annotation":"mechanical arm","shortcodes":["mechanical_arm"]},{"emoji":"🦿","group":1,"order":475,"tags":["accessibility","leg","mechanical","prosthetic"],"version":12,"annotation":"mechanical leg","shortcodes":["mechanical_leg"]},{"emoji":"🦵","group":1,"order":476,"tags":["bent","foot","kick","knee","limb"],"version":11,"annotation":"leg","shortcodes":["leg"],"skins":[{"tone":1,"emoji":"🦵🏻","version":11},{"tone":2,"emoji":"🦵🏼","version":11},{"tone":3,"emoji":"🦵🏽","version":11},{"tone":4,"emoji":"🦵🏾","version":11},{"tone":5,"emoji":"🦵🏿","version":11}]},{"emoji":"🦶","group":1,"order":482,"tags":["ankle","feet","kick","stomp"],"version":11,"annotation":"foot","shortcodes":["foot"],"skins":[{"tone":1,"emoji":"🦶🏻","version":11},{"tone":2,"emoji":"🦶🏼","version":11},{"tone":3,"emoji":"🦶🏽","version":11},{"tone":4,"emoji":"🦶🏾","version":11},{"tone":5,"emoji":"🦶🏿","version":11}]},{"emoji":"👂️","group":1,"order":488,"tags":["body","ears","hear","hearing","listen","listening","sound"],"version":0.6,"annotation":"ear","shortcodes":["ear"],"skins":[{"tone":1,"emoji":"👂🏻","version":1},{"tone":2,"emoji":"👂🏼","version":1},{"tone":3,"emoji":"👂🏽","version":1},{"tone":4,"emoji":"👂🏾","version":1},{"tone":5,"emoji":"👂🏿","version":1}]},{"emoji":"🦻","group":1,"order":494,"tags":["accessibility","aid","ear","hard","hearing"],"version":12,"annotation":"ear with hearing aid","shortcodes":["ear_with_hearing_aid","hearing_aid"],"skins":[{"tone":1,"emoji":"🦻🏻","version":12},{"tone":2,"emoji":"🦻🏼","version":12},{"tone":3,"emoji":"🦻🏽","version":12},{"tone":4,"emoji":"🦻🏾","version":12},{"tone":5,"emoji":"🦻🏿","version":12}]},{"emoji":"👃","group":1,"order":500,"tags":["body","noses","nosey","odor","smell","smells"],"version":0.6,"annotation":"nose","shortcodes":["nose"],"skins":[{"tone":1,"emoji":"👃🏻","version":1},{"tone":2,"emoji":"👃🏼","version":1},{"tone":3,"emoji":"👃🏽","version":1},{"tone":4,"emoji":"👃🏾","version":1},{"tone":5,"emoji":"👃🏿","version":1}]},{"emoji":"🧠","group":1,"order":506,"tags":["intelligent","smart"],"version":5,"annotation":"brain","shortcodes":["brain"]},{"emoji":"🫀","group":1,"order":507,"tags":["anatomical","beat","cardiology","heart","heartbeat","organ","pulse","real","red"],"version":13,"annotation":"anatomical heart","shortcodes":["anatomical_heart"]},{"emoji":"🫁","group":1,"order":508,"tags":["breath","breathe","exhalation","inhalation","lung","organ","respiration"],"version":13,"annotation":"lungs","shortcodes":["lungs"]},{"emoji":"🦷","group":1,"order":509,"tags":["dentist","pearly","teeth","white"],"version":11,"annotation":"tooth","shortcodes":["tooth"]},{"emoji":"🦴","group":1,"order":510,"tags":["bones","dog","skeleton","wishbone"],"version":11,"annotation":"bone","shortcodes":["bone"]},{"emoji":"👀","group":1,"order":511,"tags":["body","eye","face","googly","look","looking","omg","peep","see","seeing"],"version":0.6,"annotation":"eyes","shortcodes":["eyes"]},{"emoji":"👁️","group":1,"order":513,"tags":["1","body","one"],"version":0.7,"annotation":"eye","shortcodes":["eye"]},{"emoji":"👅","group":1,"order":514,"tags":["body","lick","slurp"],"version":0.6,"annotation":"tongue","shortcodes":["tongue"]},{"emoji":"👄","group":1,"order":515,"tags":["beauty","body","kiss","kissing","lips","lipstick"],"version":0.6,"annotation":"mouth","shortcodes":["lips","mouth"]},{"emoji":"🫦","group":1,"order":516,"tags":["anxious","bite","biting","fear","flirt","flirting","kiss","lip","lipstick","nervous","sexy","uncomfortable","worried","worry"],"version":14,"annotation":"biting lip","shortcodes":["biting_lip"]},{"emoji":"👶","group":1,"order":517,"tags":["babies","children","goo","infant","newborn","pregnant","young"],"version":0.6,"annotation":"baby","shortcodes":["baby"],"skins":[{"tone":1,"emoji":"👶🏻","version":1},{"tone":2,"emoji":"👶🏼","version":1},{"tone":3,"emoji":"👶🏽","version":1},{"tone":4,"emoji":"👶🏾","version":1},{"tone":5,"emoji":"👶🏿","version":1}]},{"emoji":"🧒","group":1,"order":523,"tags":["bright-eyed","grandchild","kid","young","younger"],"version":5,"annotation":"child","shortcodes":["child"],"skins":[{"tone":1,"emoji":"🧒🏻","version":5},{"tone":2,"emoji":"🧒🏼","version":5},{"tone":3,"emoji":"🧒🏽","version":5},{"tone":4,"emoji":"🧒🏾","version":5},{"tone":5,"emoji":"🧒🏿","version":5}]},{"emoji":"👦","group":1,"order":529,"tags":["bright-eyed","child","grandson","kid","son","young","younger"],"version":0.6,"annotation":"boy","shortcodes":["boy"],"skins":[{"tone":1,"emoji":"👦🏻","version":1},{"tone":2,"emoji":"👦🏼","version":1},{"tone":3,"emoji":"👦🏽","version":1},{"tone":4,"emoji":"👦🏾","version":1},{"tone":5,"emoji":"👦🏿","version":1}]},{"emoji":"👧","group":1,"order":535,"tags":["bright-eyed","child","daughter","granddaughter","kid","virgo","young","younger","zodiac"],"version":0.6,"annotation":"girl","shortcodes":["girl"],"skins":[{"tone":1,"emoji":"👧🏻","version":1},{"tone":2,"emoji":"👧🏼","version":1},{"tone":3,"emoji":"👧🏽","version":1},{"tone":4,"emoji":"👧🏾","version":1},{"tone":5,"emoji":"👧🏿","version":1}]},{"emoji":"🧑","group":1,"order":541,"tags":["adult"],"version":5,"annotation":"person","shortcodes":["adult"],"skins":[{"tone":1,"emoji":"🧑🏻","version":5},{"tone":2,"emoji":"🧑🏼","version":5},{"tone":3,"emoji":"🧑🏽","version":5},{"tone":4,"emoji":"🧑🏾","version":5},{"tone":5,"emoji":"🧑🏿","version":5}]},{"emoji":"👱","group":1,"order":547,"tags":["blond","blond-haired","human","person"],"version":0.6,"annotation":"person: blond hair","shortcodes":["blond_haired"],"skins":[{"tone":1,"emoji":"👱🏻","version":1},{"tone":2,"emoji":"👱🏼","version":1},{"tone":3,"emoji":"👱🏽","version":1},{"tone":4,"emoji":"👱🏾","version":1},{"tone":5,"emoji":"👱🏿","version":1}]},{"emoji":"👨","group":1,"order":553,"tags":["adult","bro"],"version":0.6,"annotation":"man","shortcodes":["man"],"skins":[{"tone":1,"emoji":"👨🏻","version":1},{"tone":2,"emoji":"👨🏼","version":1},{"tone":3,"emoji":"👨🏽","version":1},{"tone":4,"emoji":"👨🏾","version":1},{"tone":5,"emoji":"👨🏿","version":1}]},{"emoji":"🧔","group":1,"order":559,"tags":["beard","bearded","person","whiskers"],"version":5,"annotation":"person: beard","shortcodes":["person_bearded"],"skins":[{"tone":1,"emoji":"🧔🏻","version":5},{"tone":2,"emoji":"🧔🏼","version":5},{"tone":3,"emoji":"🧔🏽","version":5},{"tone":4,"emoji":"🧔🏾","version":5},{"tone":5,"emoji":"🧔🏿","version":5}]},{"emoji":"🧔♂️","group":1,"order":565,"tags":["beard","bearded","man","whiskers"],"version":13.1,"annotation":"man: beard","shortcodes":["man_bearded"],"skins":[{"tone":1,"emoji":"🧔🏻♂️","version":13.1},{"tone":2,"emoji":"🧔🏼♂️","version":13.1},{"tone":3,"emoji":"🧔🏽♂️","version":13.1},{"tone":4,"emoji":"🧔🏾♂️","version":13.1},{"tone":5,"emoji":"🧔🏿♂️","version":13.1}]},{"emoji":"🧔♀️","group":1,"order":577,"tags":["beard","bearded","whiskers","woman"],"version":13.1,"annotation":"woman: beard","shortcodes":["woman_bearded"],"skins":[{"tone":1,"emoji":"🧔🏻♀️","version":13.1},{"tone":2,"emoji":"🧔🏼♀️","version":13.1},{"tone":3,"emoji":"🧔🏽♀️","version":13.1},{"tone":4,"emoji":"🧔🏾♀️","version":13.1},{"tone":5,"emoji":"🧔🏿♀️","version":13.1}]},{"emoji":"👨🦰","group":1,"order":589,"tags":["adult","bro","man","red hair"],"version":11,"annotation":"man: red hair","shortcodes":["man_red_haired"],"skins":[{"tone":1,"emoji":"👨🏻🦰","version":11},{"tone":2,"emoji":"👨🏼🦰","version":11},{"tone":3,"emoji":"👨🏽🦰","version":11},{"tone":4,"emoji":"👨🏾🦰","version":11},{"tone":5,"emoji":"👨🏿🦰","version":11}]},{"emoji":"👨🦱","group":1,"order":595,"tags":["adult","bro","curly hair","man"],"version":11,"annotation":"man: curly hair","shortcodes":["man_curly_haired"],"skins":[{"tone":1,"emoji":"👨🏻🦱","version":11},{"tone":2,"emoji":"👨🏼🦱","version":11},{"tone":3,"emoji":"👨🏽🦱","version":11},{"tone":4,"emoji":"👨🏾🦱","version":11},{"tone":5,"emoji":"👨🏿🦱","version":11}]},{"emoji":"👨🦳","group":1,"order":601,"tags":["adult","bro","man","white hair"],"version":11,"annotation":"man: white hair","shortcodes":["man_white_haired"],"skins":[{"tone":1,"emoji":"👨🏻🦳","version":11},{"tone":2,"emoji":"👨🏼🦳","version":11},{"tone":3,"emoji":"👨🏽🦳","version":11},{"tone":4,"emoji":"👨🏾🦳","version":11},{"tone":5,"emoji":"👨🏿🦳","version":11}]},{"emoji":"👨🦲","group":1,"order":607,"tags":["adult","bald","bro","man"],"version":11,"annotation":"man: bald","shortcodes":["man_bald"],"skins":[{"tone":1,"emoji":"👨🏻🦲","version":11},{"tone":2,"emoji":"👨🏼🦲","version":11},{"tone":3,"emoji":"👨🏽🦲","version":11},{"tone":4,"emoji":"👨🏾🦲","version":11},{"tone":5,"emoji":"👨🏿🦲","version":11}]},{"emoji":"👩","group":1,"order":613,"tags":["adult","lady"],"version":0.6,"annotation":"woman","shortcodes":["woman"],"skins":[{"tone":1,"emoji":"👩🏻","version":1},{"tone":2,"emoji":"👩🏼","version":1},{"tone":3,"emoji":"👩🏽","version":1},{"tone":4,"emoji":"👩🏾","version":1},{"tone":5,"emoji":"👩🏿","version":1}]},{"emoji":"👩🦰","group":1,"order":619,"tags":["adult","lady","red hair","woman"],"version":11,"annotation":"woman: red hair","shortcodes":["woman_red_haired"],"skins":[{"tone":1,"emoji":"👩🏻🦰","version":11},{"tone":2,"emoji":"👩🏼🦰","version":11},{"tone":3,"emoji":"👩🏽🦰","version":11},{"tone":4,"emoji":"👩🏾🦰","version":11},{"tone":5,"emoji":"👩🏿🦰","version":11}]},{"emoji":"🧑🦰","group":1,"order":625,"tags":["adult","person","red hair"],"version":12.1,"annotation":"person: red hair","shortcodes":["red_haired"],"skins":[{"tone":1,"emoji":"🧑🏻🦰","version":12.1},{"tone":2,"emoji":"🧑🏼🦰","version":12.1},{"tone":3,"emoji":"🧑🏽🦰","version":12.1},{"tone":4,"emoji":"🧑🏾🦰","version":12.1},{"tone":5,"emoji":"🧑🏿🦰","version":12.1}]},{"emoji":"👩🦱","group":1,"order":631,"tags":["adult","curly hair","lady","woman"],"version":11,"annotation":"woman: curly hair","shortcodes":["woman_curly_haired"],"skins":[{"tone":1,"emoji":"👩🏻🦱","version":11},{"tone":2,"emoji":"👩🏼🦱","version":11},{"tone":3,"emoji":"👩🏽🦱","version":11},{"tone":4,"emoji":"👩🏾🦱","version":11},{"tone":5,"emoji":"👩🏿🦱","version":11}]},{"emoji":"🧑🦱","group":1,"order":637,"tags":["adult","curly hair","person"],"version":12.1,"annotation":"person: curly hair","shortcodes":["curly_haired"],"skins":[{"tone":1,"emoji":"🧑🏻🦱","version":12.1},{"tone":2,"emoji":"🧑🏼🦱","version":12.1},{"tone":3,"emoji":"🧑🏽🦱","version":12.1},{"tone":4,"emoji":"🧑🏾🦱","version":12.1},{"tone":5,"emoji":"🧑🏿🦱","version":12.1}]},{"emoji":"👩🦳","group":1,"order":643,"tags":["adult","lady","white hair","woman"],"version":11,"annotation":"woman: white hair","shortcodes":["woman_white_haired"],"skins":[{"tone":1,"emoji":"👩🏻🦳","version":11},{"tone":2,"emoji":"👩🏼🦳","version":11},{"tone":3,"emoji":"👩🏽🦳","version":11},{"tone":4,"emoji":"👩🏾🦳","version":11},{"tone":5,"emoji":"👩🏿🦳","version":11}]},{"emoji":"🧑🦳","group":1,"order":649,"tags":["adult","person","white hair"],"version":12.1,"annotation":"person: white hair","shortcodes":["white_haired"],"skins":[{"tone":1,"emoji":"🧑🏻🦳","version":12.1},{"tone":2,"emoji":"🧑🏼🦳","version":12.1},{"tone":3,"emoji":"🧑🏽🦳","version":12.1},{"tone":4,"emoji":"🧑🏾🦳","version":12.1},{"tone":5,"emoji":"🧑🏿🦳","version":12.1}]},{"emoji":"👩🦲","group":1,"order":655,"tags":["adult","bald","lady","woman"],"version":11,"annotation":"woman: bald","shortcodes":["woman_bald"],"skins":[{"tone":1,"emoji":"👩🏻🦲","version":11},{"tone":2,"emoji":"👩🏼🦲","version":11},{"tone":3,"emoji":"👩🏽🦲","version":11},{"tone":4,"emoji":"👩🏾🦲","version":11},{"tone":5,"emoji":"👩🏿🦲","version":11}]},{"emoji":"🧑🦲","group":1,"order":661,"tags":["adult","bald","person"],"version":12.1,"annotation":"person: bald","shortcodes":["bald"],"skins":[{"tone":1,"emoji":"🧑🏻🦲","version":12.1},{"tone":2,"emoji":"🧑🏼🦲","version":12.1},{"tone":3,"emoji":"🧑🏽🦲","version":12.1},{"tone":4,"emoji":"🧑🏾🦲","version":12.1},{"tone":5,"emoji":"🧑🏿🦲","version":12.1}]},{"emoji":"👱♀️","group":1,"order":667,"tags":["blond","blond-haired","blonde","hair","woman"],"version":4,"annotation":"woman: blond hair","shortcodes":["woman_blond_haired"],"skins":[{"tone":1,"emoji":"👱🏻♀️","version":4},{"tone":2,"emoji":"👱🏼♀️","version":4},{"tone":3,"emoji":"👱🏽♀️","version":4},{"tone":4,"emoji":"👱🏾♀️","version":4},{"tone":5,"emoji":"👱🏿♀️","version":4}]},{"emoji":"👱♂️","group":1,"order":679,"tags":["blond","blond-haired","hair","man"],"version":4,"annotation":"man: blond hair","shortcodes":["man_blond_haired"],"skins":[{"tone":1,"emoji":"👱🏻♂️","version":4},{"tone":2,"emoji":"👱🏼♂️","version":4},{"tone":3,"emoji":"👱🏽♂️","version":4},{"tone":4,"emoji":"👱🏾♂️","version":4},{"tone":5,"emoji":"👱🏿♂️","version":4}]},{"emoji":"🧓","group":1,"order":691,"tags":["adult","elderly","grandparent","old","person","wise"],"version":5,"annotation":"older person","shortcodes":["older_adult"],"skins":[{"tone":1,"emoji":"🧓🏻","version":5},{"tone":2,"emoji":"🧓🏼","version":5},{"tone":3,"emoji":"🧓🏽","version":5},{"tone":4,"emoji":"🧓🏾","version":5},{"tone":5,"emoji":"🧓🏿","version":5}]},{"emoji":"👴","group":1,"order":697,"tags":["adult","bald","elderly","gramps","grandfather","grandpa","man","old","wise"],"version":0.6,"annotation":"old man","shortcodes":["older_man"],"skins":[{"tone":1,"emoji":"👴🏻","version":1},{"tone":2,"emoji":"👴🏼","version":1},{"tone":3,"emoji":"👴🏽","version":1},{"tone":4,"emoji":"👴🏾","version":1},{"tone":5,"emoji":"👴🏿","version":1}]},{"emoji":"👵","group":1,"order":703,"tags":["adult","elderly","grandma","grandmother","granny","lady","old","wise","woman"],"version":0.6,"annotation":"old woman","shortcodes":["older_woman"],"skins":[{"tone":1,"emoji":"👵🏻","version":1},{"tone":2,"emoji":"👵🏼","version":1},{"tone":3,"emoji":"👵🏽","version":1},{"tone":4,"emoji":"👵🏾","version":1},{"tone":5,"emoji":"👵🏿","version":1}]},{"emoji":"🙍","group":1,"order":709,"tags":["annoyed","disappointed","disgruntled","disturbed","frown","frowning","frustrated","gesture","irritated","person","upset"],"version":0.6,"annotation":"person frowning","shortcodes":["person_frowning"],"skins":[{"tone":1,"emoji":"🙍🏻","version":1},{"tone":2,"emoji":"🙍🏼","version":1},{"tone":3,"emoji":"🙍🏽","version":1},{"tone":4,"emoji":"🙍🏾","version":1},{"tone":5,"emoji":"🙍🏿","version":1}]},{"emoji":"🙍♂️","group":1,"order":715,"tags":["annoyed","disappointed","disgruntled","disturbed","frown","frowning","frustrated","gesture","irritated","man","upset"],"version":4,"annotation":"man frowning","shortcodes":["man_frowning"],"skins":[{"tone":1,"emoji":"🙍🏻♂️","version":4},{"tone":2,"emoji":"🙍🏼♂️","version":4},{"tone":3,"emoji":"🙍🏽♂️","version":4},{"tone":4,"emoji":"🙍🏾♂️","version":4},{"tone":5,"emoji":"🙍🏿♂️","version":4}]},{"emoji":"🙍♀️","group":1,"order":727,"tags":["annoyed","disappointed","disgruntled","disturbed","frown","frowning","frustrated","gesture","irritated","upset","woman"],"version":4,"annotation":"woman frowning","shortcodes":["woman_frowning"],"skins":[{"tone":1,"emoji":"🙍🏻♀️","version":4},{"tone":2,"emoji":"🙍🏼♀️","version":4},{"tone":3,"emoji":"🙍🏽♀️","version":4},{"tone":4,"emoji":"🙍🏾♀️","version":4},{"tone":5,"emoji":"🙍🏿♀️","version":4}]},{"emoji":"🙎","group":1,"order":739,"tags":["disappointed","downtrodden","frown","grimace","person","pouting","scowl","sulk","upset","whine"],"version":0.6,"annotation":"person pouting","shortcodes":["person_pouting","pouting"],"skins":[{"tone":1,"emoji":"🙎🏻","version":1},{"tone":2,"emoji":"🙎🏼","version":1},{"tone":3,"emoji":"🙎🏽","version":1},{"tone":4,"emoji":"🙎🏾","version":1},{"tone":5,"emoji":"🙎🏿","version":1}]},{"emoji":"🙎♂️","group":1,"order":745,"tags":["disappointed","downtrodden","frown","grimace","man","pouting","scowl","sulk","upset","whine"],"version":4,"annotation":"man pouting","shortcodes":["man_pouting"],"skins":[{"tone":1,"emoji":"🙎🏻♂️","version":4},{"tone":2,"emoji":"🙎🏼♂️","version":4},{"tone":3,"emoji":"🙎🏽♂️","version":4},{"tone":4,"emoji":"🙎🏾♂️","version":4},{"tone":5,"emoji":"🙎🏿♂️","version":4}]},{"emoji":"🙎♀️","group":1,"order":757,"tags":["disappointed","downtrodden","frown","grimace","pouting","scowl","sulk","upset","whine","woman"],"version":4,"annotation":"woman pouting","shortcodes":["woman_pouting"],"skins":[{"tone":1,"emoji":"🙎🏻♀️","version":4},{"tone":2,"emoji":"🙎🏼♀️","version":4},{"tone":3,"emoji":"🙎🏽♀️","version":4},{"tone":4,"emoji":"🙎🏾♀️","version":4},{"tone":5,"emoji":"🙎🏿♀️","version":4}]},{"emoji":"🙅","group":1,"order":769,"tags":["forbidden","gesture","hand","no","not","person","prohibit"],"version":0.6,"annotation":"person gesturing NO","shortcodes":["no_good","person_gesturing_no"],"skins":[{"tone":1,"emoji":"🙅🏻","version":1},{"tone":2,"emoji":"🙅🏼","version":1},{"tone":3,"emoji":"🙅🏽","version":1},{"tone":4,"emoji":"🙅🏾","version":1},{"tone":5,"emoji":"🙅🏿","version":1}]},{"emoji":"🙅♂️","group":1,"order":775,"tags":["forbidden","gesture","hand","man","no","not","prohibit"],"version":4,"annotation":"man gesturing NO","shortcodes":["man_gesturing_no"],"skins":[{"tone":1,"emoji":"🙅🏻♂️","version":4},{"tone":2,"emoji":"🙅🏼♂️","version":4},{"tone":3,"emoji":"🙅🏽♂️","version":4},{"tone":4,"emoji":"🙅🏾♂️","version":4},{"tone":5,"emoji":"🙅🏿♂️","version":4}]},{"emoji":"🙅♀️","group":1,"order":787,"tags":["forbidden","gesture","hand","no","not","prohibit","woman"],"version":4,"annotation":"woman gesturing NO","shortcodes":["woman_gesturing_no"],"skins":[{"tone":1,"emoji":"🙅🏻♀️","version":4},{"tone":2,"emoji":"🙅🏼♀️","version":4},{"tone":3,"emoji":"🙅🏽♀️","version":4},{"tone":4,"emoji":"🙅🏾♀️","version":4},{"tone":5,"emoji":"🙅🏿♀️","version":4}]},{"emoji":"🙆","group":1,"order":799,"tags":["exercise","gesture","gesturing","hand","ok","omg","person"],"version":0.6,"annotation":"person gesturing OK","shortcodes":["all_good","person_gesturing_ok"],"skins":[{"tone":1,"emoji":"🙆🏻","version":1},{"tone":2,"emoji":"🙆🏼","version":1},{"tone":3,"emoji":"🙆🏽","version":1},{"tone":4,"emoji":"🙆🏾","version":1},{"tone":5,"emoji":"🙆🏿","version":1}]},{"emoji":"🙆♂️","group":1,"order":805,"tags":["exercise","gesture","gesturing","hand","man","ok","omg"],"version":4,"annotation":"man gesturing OK","shortcodes":["man_gesturing_ok"],"skins":[{"tone":1,"emoji":"🙆🏻♂️","version":4},{"tone":2,"emoji":"🙆🏼♂️","version":4},{"tone":3,"emoji":"🙆🏽♂️","version":4},{"tone":4,"emoji":"🙆🏾♂️","version":4},{"tone":5,"emoji":"🙆🏿♂️","version":4}]},{"emoji":"🙆♀️","group":1,"order":817,"tags":["exercise","gesture","gesturing","hand","ok","omg","woman"],"version":4,"annotation":"woman gesturing OK","shortcodes":["woman_gesturing_ok"],"skins":[{"tone":1,"emoji":"🙆🏻♀️","version":4},{"tone":2,"emoji":"🙆🏼♀️","version":4},{"tone":3,"emoji":"🙆🏽♀️","version":4},{"tone":4,"emoji":"🙆🏾♀️","version":4},{"tone":5,"emoji":"🙆🏿♀️","version":4}]},{"emoji":"💁","group":1,"order":829,"tags":["fetch","flick","flip","gossip","hand","person","sarcasm","sarcastic","sassy","seriously","tipping","whatever"],"version":0.6,"annotation":"person tipping hand","shortcodes":["person_tipping_hand"],"skins":[{"tone":1,"emoji":"💁🏻","version":1},{"tone":2,"emoji":"💁🏼","version":1},{"tone":3,"emoji":"💁🏽","version":1},{"tone":4,"emoji":"💁🏾","version":1},{"tone":5,"emoji":"💁🏿","version":1}]},{"emoji":"💁♂️","group":1,"order":835,"tags":["fetch","flick","flip","gossip","hand","man","sarcasm","sarcastic","sassy","seriously","tipping","whatever"],"version":4,"annotation":"man tipping hand","shortcodes":["man_tipping_hand"],"skins":[{"tone":1,"emoji":"💁🏻♂️","version":4},{"tone":2,"emoji":"💁🏼♂️","version":4},{"tone":3,"emoji":"💁🏽♂️","version":4},{"tone":4,"emoji":"💁🏾♂️","version":4},{"tone":5,"emoji":"💁🏿♂️","version":4}]},{"emoji":"💁♀️","group":1,"order":847,"tags":["fetch","flick","flip","gossip","hand","sarcasm","sarcastic","sassy","seriously","tipping","whatever","woman"],"version":4,"annotation":"woman tipping hand","shortcodes":["woman_tipping_hand"],"skins":[{"tone":1,"emoji":"💁🏻♀️","version":4},{"tone":2,"emoji":"💁🏼♀️","version":4},{"tone":3,"emoji":"💁🏽♀️","version":4},{"tone":4,"emoji":"💁🏾♀️","version":4},{"tone":5,"emoji":"💁🏿♀️","version":4}]},{"emoji":"🙋","group":1,"order":859,"tags":["gesture","hand","here","know","me","person","pick","question","raise","raising"],"version":0.6,"annotation":"person raising hand","shortcodes":["person_raising_hand"],"skins":[{"tone":1,"emoji":"🙋🏻","version":1},{"tone":2,"emoji":"🙋🏼","version":1},{"tone":3,"emoji":"🙋🏽","version":1},{"tone":4,"emoji":"🙋🏾","version":1},{"tone":5,"emoji":"🙋🏿","version":1}]},{"emoji":"🙋♂️","group":1,"order":865,"tags":["gesture","hand","here","know","man","me","pick","question","raise","raising"],"version":4,"annotation":"man raising hand","shortcodes":["man_raising_hand"],"skins":[{"tone":1,"emoji":"🙋🏻♂️","version":4},{"tone":2,"emoji":"🙋🏼♂️","version":4},{"tone":3,"emoji":"🙋🏽♂️","version":4},{"tone":4,"emoji":"🙋🏾♂️","version":4},{"tone":5,"emoji":"🙋🏿♂️","version":4}]},{"emoji":"🙋♀️","group":1,"order":877,"tags":["gesture","hand","here","know","me","pick","question","raise","raising","woman"],"version":4,"annotation":"woman raising hand","shortcodes":["woman_raising_hand"],"skins":[{"tone":1,"emoji":"🙋🏻♀️","version":4},{"tone":2,"emoji":"🙋🏼♀️","version":4},{"tone":3,"emoji":"🙋🏽♀️","version":4},{"tone":4,"emoji":"🙋🏾♀️","version":4},{"tone":5,"emoji":"🙋🏿♀️","version":4}]},{"emoji":"🧏","group":1,"order":889,"tags":["accessibility","deaf","ear","gesture","hear","person"],"version":12,"annotation":"deaf person","shortcodes":["deaf_person"],"skins":[{"tone":1,"emoji":"🧏🏻","version":12},{"tone":2,"emoji":"🧏🏼","version":12},{"tone":3,"emoji":"🧏🏽","version":12},{"tone":4,"emoji":"🧏🏾","version":12},{"tone":5,"emoji":"🧏🏿","version":12}]},{"emoji":"🧏♂️","group":1,"order":895,"tags":["accessibility","deaf","ear","gesture","hear","man"],"version":12,"annotation":"deaf man","shortcodes":["deaf_man"],"skins":[{"tone":1,"emoji":"🧏🏻♂️","version":12},{"tone":2,"emoji":"🧏🏼♂️","version":12},{"tone":3,"emoji":"🧏🏽♂️","version":12},{"tone":4,"emoji":"🧏🏾♂️","version":12},{"tone":5,"emoji":"🧏🏿♂️","version":12}]},{"emoji":"🧏♀️","group":1,"order":907,"tags":["accessibility","deaf","ear","gesture","hear","woman"],"version":12,"annotation":"deaf woman","shortcodes":["deaf_woman"],"skins":[{"tone":1,"emoji":"🧏🏻♀️","version":12},{"tone":2,"emoji":"🧏🏼♀️","version":12},{"tone":3,"emoji":"🧏🏽♀️","version":12},{"tone":4,"emoji":"🧏🏾♀️","version":12},{"tone":5,"emoji":"🧏🏿♀️","version":12}]},{"emoji":"🙇","group":1,"order":919,"tags":["apology","ask","beg","bow","bowing","favor","forgive","gesture","meditate","meditation","person","pity","regret","sorry"],"version":0.6,"annotation":"person bowing","shortcodes":["bow","person_bowing"],"skins":[{"tone":1,"emoji":"🙇🏻","version":1},{"tone":2,"emoji":"🙇🏼","version":1},{"tone":3,"emoji":"🙇🏽","version":1},{"tone":4,"emoji":"🙇🏾","version":1},{"tone":5,"emoji":"🙇🏿","version":1}]},{"emoji":"🙇♂️","group":1,"order":925,"tags":["apology","ask","beg","bow","bowing","favor","forgive","gesture","man","meditate","meditation","pity","regret","sorry"],"version":4,"annotation":"man bowing","shortcodes":["man_bowing"],"skins":[{"tone":1,"emoji":"🙇🏻♂️","version":4},{"tone":2,"emoji":"🙇🏼♂️","version":4},{"tone":3,"emoji":"🙇🏽♂️","version":4},{"tone":4,"emoji":"🙇🏾♂️","version":4},{"tone":5,"emoji":"🙇🏿♂️","version":4}]},{"emoji":"🙇♀️","group":1,"order":937,"tags":["apology","ask","beg","bow","bowing","favor","forgive","gesture","meditate","meditation","pity","regret","sorry","woman"],"version":4,"annotation":"woman bowing","shortcodes":["woman_bowing"],"skins":[{"tone":1,"emoji":"🙇🏻♀️","version":4},{"tone":2,"emoji":"🙇🏼♀️","version":4},{"tone":3,"emoji":"🙇🏽♀️","version":4},{"tone":4,"emoji":"🙇🏾♀️","version":4},{"tone":5,"emoji":"🙇🏿♀️","version":4}]},{"emoji":"🤦","group":1,"order":949,"tags":["again","bewilder","disbelief","exasperation","facepalm","no","not","oh","omg","person","shock","smh"],"version":3,"annotation":"person facepalming","shortcodes":["facepalm","person_facepalming"],"skins":[{"tone":1,"emoji":"🤦🏻","version":3},{"tone":2,"emoji":"🤦🏼","version":3},{"tone":3,"emoji":"🤦🏽","version":3},{"tone":4,"emoji":"🤦🏾","version":3},{"tone":5,"emoji":"🤦🏿","version":3}]},{"emoji":"🤦♂️","group":1,"order":955,"tags":["again","bewilder","disbelief","exasperation","facepalm","man","no","not","oh","omg","shock","smh"],"version":4,"annotation":"man facepalming","shortcodes":["man_facepalming"],"skins":[{"tone":1,"emoji":"🤦🏻♂️","version":4},{"tone":2,"emoji":"🤦🏼♂️","version":4},{"tone":3,"emoji":"🤦🏽♂️","version":4},{"tone":4,"emoji":"🤦🏾♂️","version":4},{"tone":5,"emoji":"🤦🏿♂️","version":4}]},{"emoji":"🤦♀️","group":1,"order":967,"tags":["again","bewilder","disbelief","exasperation","facepalm","no","not","oh","omg","shock","smh","woman"],"version":4,"annotation":"woman facepalming","shortcodes":["woman_facepalming"],"skins":[{"tone":1,"emoji":"🤦🏻♀️","version":4},{"tone":2,"emoji":"🤦🏼♀️","version":4},{"tone":3,"emoji":"🤦🏽♀️","version":4},{"tone":4,"emoji":"🤦🏾♀️","version":4},{"tone":5,"emoji":"🤦🏿♀️","version":4}]},{"emoji":"🤷","group":1,"order":979,"tags":["doubt","dunno","guess","idk","ignorance","indifference","knows","maybe","person","shrug","shrugging","whatever","who"],"version":3,"annotation":"person shrugging","shortcodes":["person_shrugging","shrug"],"skins":[{"tone":1,"emoji":"🤷🏻","version":3},{"tone":2,"emoji":"🤷🏼","version":3},{"tone":3,"emoji":"🤷🏽","version":3},{"tone":4,"emoji":"🤷🏾","version":3},{"tone":5,"emoji":"🤷🏿","version":3}]},{"emoji":"🤷♂️","group":1,"order":985,"tags":["doubt","dunno","guess","idk","ignorance","indifference","knows","man","maybe","shrug","shrugging","whatever","who"],"version":4,"annotation":"man shrugging","shortcodes":["man_shrugging"],"skins":[{"tone":1,"emoji":"🤷🏻♂️","version":4},{"tone":2,"emoji":"🤷🏼♂️","version":4},{"tone":3,"emoji":"🤷🏽♂️","version":4},{"tone":4,"emoji":"🤷🏾♂️","version":4},{"tone":5,"emoji":"🤷🏿♂️","version":4}]},{"emoji":"🤷♀️","group":1,"order":997,"tags":["doubt","dunno","guess","idk","ignorance","indifference","knows","maybe","shrug","shrugging","whatever","who","woman"],"version":4,"annotation":"woman shrugging","shortcodes":["woman_shrugging"],"skins":[{"tone":1,"emoji":"🤷🏻♀️","version":4},{"tone":2,"emoji":"🤷🏼♀️","version":4},{"tone":3,"emoji":"🤷🏽♀️","version":4},{"tone":4,"emoji":"🤷🏾♀️","version":4},{"tone":5,"emoji":"🤷🏿♀️","version":4}]},{"emoji":"🧑⚕️","group":1,"order":1009,"tags":["doctor","health","healthcare","nurse","therapist","worker"],"version":12.1,"annotation":"health worker","shortcodes":["health_worker"],"skins":[{"tone":1,"emoji":"🧑🏻⚕️","version":12.1},{"tone":2,"emoji":"🧑🏼⚕️","version":12.1},{"tone":3,"emoji":"🧑🏽⚕️","version":12.1},{"tone":4,"emoji":"🧑🏾⚕️","version":12.1},{"tone":5,"emoji":"🧑🏿⚕️","version":12.1}]},{"emoji":"👨⚕️","group":1,"order":1021,"tags":["doctor","health","healthcare","man","nurse","therapist","worker"],"version":4,"annotation":"man health worker","shortcodes":["man_health_worker"],"skins":[{"tone":1,"emoji":"👨🏻⚕️","version":4},{"tone":2,"emoji":"👨🏼⚕️","version":4},{"tone":3,"emoji":"👨🏽⚕️","version":4},{"tone":4,"emoji":"👨🏾⚕️","version":4},{"tone":5,"emoji":"👨🏿⚕️","version":4}]},{"emoji":"👩⚕️","group":1,"order":1033,"tags":["doctor","health","healthcare","nurse","therapist","woman","worker"],"version":4,"annotation":"woman health worker","shortcodes":["woman_health_worker"],"skins":[{"tone":1,"emoji":"👩🏻⚕️","version":4},{"tone":2,"emoji":"👩🏼⚕️","version":4},{"tone":3,"emoji":"👩🏽⚕️","version":4},{"tone":4,"emoji":"👩🏾⚕️","version":4},{"tone":5,"emoji":"👩🏿⚕️","version":4}]},{"emoji":"🧑🎓","group":1,"order":1045,"tags":["graduate"],"version":12.1,"annotation":"student","shortcodes":["student"],"skins":[{"tone":1,"emoji":"🧑🏻🎓","version":12.1},{"tone":2,"emoji":"🧑🏼🎓","version":12.1},{"tone":3,"emoji":"🧑🏽🎓","version":12.1},{"tone":4,"emoji":"🧑🏾🎓","version":12.1},{"tone":5,"emoji":"🧑🏿🎓","version":12.1}]},{"emoji":"👨🎓","group":1,"order":1051,"tags":["graduate","man","student"],"version":4,"annotation":"man student","shortcodes":["man_student"],"skins":[{"tone":1,"emoji":"👨🏻🎓","version":4},{"tone":2,"emoji":"👨🏼🎓","version":4},{"tone":3,"emoji":"👨🏽🎓","version":4},{"tone":4,"emoji":"👨🏾🎓","version":4},{"tone":5,"emoji":"👨🏿🎓","version":4}]},{"emoji":"👩🎓","group":1,"order":1057,"tags":["graduate","student","woman"],"version":4,"annotation":"woman student","shortcodes":["woman_student"],"skins":[{"tone":1,"emoji":"👩🏻🎓","version":4},{"tone":2,"emoji":"👩🏼🎓","version":4},{"tone":3,"emoji":"👩🏽🎓","version":4},{"tone":4,"emoji":"👩🏾🎓","version":4},{"tone":5,"emoji":"👩🏿🎓","version":4}]},{"emoji":"🧑🏫","group":1,"order":1063,"tags":["instructor","lecturer","professor"],"version":12.1,"annotation":"teacher","shortcodes":["teacher"],"skins":[{"tone":1,"emoji":"🧑🏻🏫","version":12.1},{"tone":2,"emoji":"🧑🏼🏫","version":12.1},{"tone":3,"emoji":"🧑🏽🏫","version":12.1},{"tone":4,"emoji":"🧑🏾🏫","version":12.1},{"tone":5,"emoji":"🧑🏿🏫","version":12.1}]},{"emoji":"👨🏫","group":1,"order":1069,"tags":["instructor","lecturer","man","professor","teacher"],"version":4,"annotation":"man teacher","shortcodes":["man_teacher"],"skins":[{"tone":1,"emoji":"👨🏻🏫","version":4},{"tone":2,"emoji":"👨🏼🏫","version":4},{"tone":3,"emoji":"👨🏽🏫","version":4},{"tone":4,"emoji":"👨🏾🏫","version":4},{"tone":5,"emoji":"👨🏿🏫","version":4}]},{"emoji":"👩🏫","group":1,"order":1075,"tags":["instructor","lecturer","professor","teacher","woman"],"version":4,"annotation":"woman teacher","shortcodes":["woman_teacher"],"skins":[{"tone":1,"emoji":"👩🏻🏫","version":4},{"tone":2,"emoji":"👩🏼🏫","version":4},{"tone":3,"emoji":"👩🏽🏫","version":4},{"tone":4,"emoji":"👩🏾🏫","version":4},{"tone":5,"emoji":"👩🏿🏫","version":4}]},{"emoji":"🧑⚖️","group":1,"order":1081,"tags":["justice","law","scales"],"version":12.1,"annotation":"judge","shortcodes":["judge"],"skins":[{"tone":1,"emoji":"🧑🏻⚖️","version":12.1},{"tone":2,"emoji":"🧑🏼⚖️","version":12.1},{"tone":3,"emoji":"🧑🏽⚖️","version":12.1},{"tone":4,"emoji":"🧑🏾⚖️","version":12.1},{"tone":5,"emoji":"🧑🏿⚖️","version":12.1}]},{"emoji":"👨⚖️","group":1,"order":1093,"tags":["judge","justice","law","man","scales"],"version":4,"annotation":"man judge","shortcodes":["man_judge"],"skins":[{"tone":1,"emoji":"👨🏻⚖️","version":4},{"tone":2,"emoji":"👨🏼⚖️","version":4},{"tone":3,"emoji":"👨🏽⚖️","version":4},{"tone":4,"emoji":"👨🏾⚖️","version":4},{"tone":5,"emoji":"👨🏿⚖️","version":4}]},{"emoji":"👩⚖️","group":1,"order":1105,"tags":["judge","justice","law","scales","woman"],"version":4,"annotation":"woman judge","shortcodes":["woman_judge"],"skins":[{"tone":1,"emoji":"👩🏻⚖️","version":4},{"tone":2,"emoji":"👩🏼⚖️","version":4},{"tone":3,"emoji":"👩🏽⚖️","version":4},{"tone":4,"emoji":"👩🏾⚖️","version":4},{"tone":5,"emoji":"👩🏿⚖️","version":4}]},{"emoji":"🧑🌾","group":1,"order":1117,"tags":["gardener","rancher"],"version":12.1,"annotation":"farmer","shortcodes":["farmer"],"skins":[{"tone":1,"emoji":"🧑🏻🌾","version":12.1},{"tone":2,"emoji":"🧑🏼🌾","version":12.1},{"tone":3,"emoji":"🧑🏽🌾","version":12.1},{"tone":4,"emoji":"🧑🏾🌾","version":12.1},{"tone":5,"emoji":"🧑🏿🌾","version":12.1}]},{"emoji":"👨🌾","group":1,"order":1123,"tags":["farmer","gardener","man","rancher"],"version":4,"annotation":"man farmer","shortcodes":["man_farmer"],"skins":[{"tone":1,"emoji":"👨🏻🌾","version":4},{"tone":2,"emoji":"👨🏼🌾","version":4},{"tone":3,"emoji":"👨🏽🌾","version":4},{"tone":4,"emoji":"👨🏾🌾","version":4},{"tone":5,"emoji":"👨🏿🌾","version":4}]},{"emoji":"👩🌾","group":1,"order":1129,"tags":["farmer","gardener","rancher","woman"],"version":4,"annotation":"woman farmer","shortcodes":["woman_farmer"],"skins":[{"tone":1,"emoji":"👩🏻🌾","version":4},{"tone":2,"emoji":"👩🏼🌾","version":4},{"tone":3,"emoji":"👩🏽🌾","version":4},{"tone":4,"emoji":"👩🏾🌾","version":4},{"tone":5,"emoji":"👩🏿🌾","version":4}]},{"emoji":"🧑🍳","group":1,"order":1135,"tags":["chef"],"version":12.1,"annotation":"cook","shortcodes":["cook"],"skins":[{"tone":1,"emoji":"🧑🏻🍳","version":12.1},{"tone":2,"emoji":"🧑🏼🍳","version":12.1},{"tone":3,"emoji":"🧑🏽🍳","version":12.1},{"tone":4,"emoji":"🧑🏾🍳","version":12.1},{"tone":5,"emoji":"🧑🏿🍳","version":12.1}]},{"emoji":"👨🍳","group":1,"order":1141,"tags":["chef","cook","man"],"version":4,"annotation":"man cook","shortcodes":["man_cook"],"skins":[{"tone":1,"emoji":"👨🏻🍳","version":4},{"tone":2,"emoji":"👨🏼🍳","version":4},{"tone":3,"emoji":"👨🏽🍳","version":4},{"tone":4,"emoji":"👨🏾🍳","version":4},{"tone":5,"emoji":"👨🏿🍳","version":4}]},{"emoji":"👩🍳","group":1,"order":1147,"tags":["chef","cook","woman"],"version":4,"annotation":"woman cook","shortcodes":["woman_cook"],"skins":[{"tone":1,"emoji":"👩🏻🍳","version":4},{"tone":2,"emoji":"👩🏼🍳","version":4},{"tone":3,"emoji":"👩🏽🍳","version":4},{"tone":4,"emoji":"👩🏾🍳","version":4},{"tone":5,"emoji":"👩🏿🍳","version":4}]},{"emoji":"🧑🔧","group":1,"order":1153,"tags":["electrician","plumber","tradesperson"],"version":12.1,"annotation":"mechanic","shortcodes":["mechanic"],"skins":[{"tone":1,"emoji":"🧑🏻🔧","version":12.1},{"tone":2,"emoji":"🧑🏼🔧","version":12.1},{"tone":3,"emoji":"🧑🏽🔧","version":12.1},{"tone":4,"emoji":"🧑🏾🔧","version":12.1},{"tone":5,"emoji":"🧑🏿🔧","version":12.1}]},{"emoji":"👨🔧","group":1,"order":1159,"tags":["electrician","man","mechanic","plumber","tradesperson"],"version":4,"annotation":"man mechanic","shortcodes":["man_mechanic"],"skins":[{"tone":1,"emoji":"👨🏻🔧","version":4},{"tone":2,"emoji":"👨🏼🔧","version":4},{"tone":3,"emoji":"👨🏽🔧","version":4},{"tone":4,"emoji":"👨🏾🔧","version":4},{"tone":5,"emoji":"👨🏿🔧","version":4}]},{"emoji":"👩🔧","group":1,"order":1165,"tags":["electrician","mechanic","plumber","tradesperson","woman"],"version":4,"annotation":"woman mechanic","shortcodes":["woman_mechanic"],"skins":[{"tone":1,"emoji":"👩🏻🔧","version":4},{"tone":2,"emoji":"👩🏼🔧","version":4},{"tone":3,"emoji":"👩🏽🔧","version":4},{"tone":4,"emoji":"👩🏾🔧","version":4},{"tone":5,"emoji":"👩🏿🔧","version":4}]},{"emoji":"🧑🏭","group":1,"order":1171,"tags":["assembly","factory","industrial","worker"],"version":12.1,"annotation":"factory worker","shortcodes":["factory_worker"],"skins":[{"tone":1,"emoji":"🧑🏻🏭","version":12.1},{"tone":2,"emoji":"🧑🏼🏭","version":12.1},{"tone":3,"emoji":"🧑🏽🏭","version":12.1},{"tone":4,"emoji":"🧑🏾🏭","version":12.1},{"tone":5,"emoji":"🧑🏿🏭","version":12.1}]},{"emoji":"👨🏭","group":1,"order":1177,"tags":["assembly","factory","industrial","man","worker"],"version":4,"annotation":"man factory worker","shortcodes":["man_factory_worker"],"skins":[{"tone":1,"emoji":"👨🏻🏭","version":4},{"tone":2,"emoji":"👨🏼🏭","version":4},{"tone":3,"emoji":"👨🏽🏭","version":4},{"tone":4,"emoji":"👨🏾🏭","version":4},{"tone":5,"emoji":"👨🏿🏭","version":4}]},{"emoji":"👩🏭","group":1,"order":1183,"tags":["assembly","factory","industrial","woman","worker"],"version":4,"annotation":"woman factory worker","shortcodes":["woman_factory_worker"],"skins":[{"tone":1,"emoji":"👩🏻🏭","version":4},{"tone":2,"emoji":"👩🏼🏭","version":4},{"tone":3,"emoji":"👩🏽🏭","version":4},{"tone":4,"emoji":"👩🏾🏭","version":4},{"tone":5,"emoji":"👩🏿🏭","version":4}]},{"emoji":"🧑💼","group":1,"order":1189,"tags":["architect","business","manager","office","white-collar","worker"],"version":12.1,"annotation":"office worker","shortcodes":["office_worker"],"skins":[{"tone":1,"emoji":"🧑🏻💼","version":12.1},{"tone":2,"emoji":"🧑🏼💼","version":12.1},{"tone":3,"emoji":"🧑🏽💼","version":12.1},{"tone":4,"emoji":"🧑🏾💼","version":12.1},{"tone":5,"emoji":"🧑🏿💼","version":12.1}]},{"emoji":"👨💼","group":1,"order":1195,"tags":["architect","business","man","manager","office","white-collar","worker"],"version":4,"annotation":"man office worker","shortcodes":["man_office_worker"],"skins":[{"tone":1,"emoji":"👨🏻💼","version":4},{"tone":2,"emoji":"👨🏼💼","version":4},{"tone":3,"emoji":"👨🏽💼","version":4},{"tone":4,"emoji":"👨🏾💼","version":4},{"tone":5,"emoji":"👨🏿💼","version":4}]},{"emoji":"👩💼","group":1,"order":1201,"tags":["architect","business","manager","office","white-collar","woman","worker"],"version":4,"annotation":"woman office worker","shortcodes":["woman_office_worker"],"skins":[{"tone":1,"emoji":"👩🏻💼","version":4},{"tone":2,"emoji":"👩🏼💼","version":4},{"tone":3,"emoji":"👩🏽💼","version":4},{"tone":4,"emoji":"👩🏾💼","version":4},{"tone":5,"emoji":"👩🏿💼","version":4}]},{"emoji":"🧑🔬","group":1,"order":1207,"tags":["biologist","chemist","engineer","mathematician","physicist"],"version":12.1,"annotation":"scientist","shortcodes":["scientist"],"skins":[{"tone":1,"emoji":"🧑🏻🔬","version":12.1},{"tone":2,"emoji":"🧑🏼🔬","version":12.1},{"tone":3,"emoji":"🧑🏽🔬","version":12.1},{"tone":4,"emoji":"🧑🏾🔬","version":12.1},{"tone":5,"emoji":"🧑🏿🔬","version":12.1}]},{"emoji":"👨🔬","group":1,"order":1213,"tags":["biologist","chemist","engineer","man","mathematician","physicist","scientist"],"version":4,"annotation":"man scientist","shortcodes":["man_scientist"],"skins":[{"tone":1,"emoji":"👨🏻🔬","version":4},{"tone":2,"emoji":"👨🏼🔬","version":4},{"tone":3,"emoji":"👨🏽🔬","version":4},{"tone":4,"emoji":"👨🏾🔬","version":4},{"tone":5,"emoji":"👨🏿🔬","version":4}]},{"emoji":"👩🔬","group":1,"order":1219,"tags":["biologist","chemist","engineer","mathematician","physicist","scientist","woman"],"version":4,"annotation":"woman scientist","shortcodes":["woman_scientist"],"skins":[{"tone":1,"emoji":"👩🏻🔬","version":4},{"tone":2,"emoji":"👩🏼🔬","version":4},{"tone":3,"emoji":"👩🏽🔬","version":4},{"tone":4,"emoji":"👩🏾🔬","version":4},{"tone":5,"emoji":"👩🏿🔬","version":4}]},{"emoji":"🧑💻","group":1,"order":1225,"tags":["coder","computer","developer","inventor","software"],"version":12.1,"annotation":"technologist","shortcodes":["technologist"],"skins":[{"tone":1,"emoji":"🧑🏻💻","version":12.1},{"tone":2,"emoji":"🧑🏼💻","version":12.1},{"tone":3,"emoji":"🧑🏽💻","version":12.1},{"tone":4,"emoji":"🧑🏾💻","version":12.1},{"tone":5,"emoji":"🧑🏿💻","version":12.1}]},{"emoji":"👨💻","group":1,"order":1231,"tags":["coder","computer","developer","inventor","man","software","technologist"],"version":4,"annotation":"man technologist","shortcodes":["man_technologist"],"skins":[{"tone":1,"emoji":"👨🏻💻","version":4},{"tone":2,"emoji":"👨🏼💻","version":4},{"tone":3,"emoji":"👨🏽💻","version":4},{"tone":4,"emoji":"👨🏾💻","version":4},{"tone":5,"emoji":"👨🏿💻","version":4}]},{"emoji":"👩💻","group":1,"order":1237,"tags":["coder","computer","developer","inventor","software","technologist","woman"],"version":4,"annotation":"woman technologist","shortcodes":["woman_technologist"],"skins":[{"tone":1,"emoji":"👩🏻💻","version":4},{"tone":2,"emoji":"👩🏼💻","version":4},{"tone":3,"emoji":"👩🏽💻","version":4},{"tone":4,"emoji":"👩🏾💻","version":4},{"tone":5,"emoji":"👩🏿💻","version":4}]},{"emoji":"🧑🎤","group":1,"order":1243,"tags":["actor","entertainer","rock","rockstar","star"],"version":12.1,"annotation":"singer","shortcodes":["singer"],"skins":[{"tone":1,"emoji":"🧑🏻🎤","version":12.1},{"tone":2,"emoji":"🧑🏼🎤","version":12.1},{"tone":3,"emoji":"🧑🏽🎤","version":12.1},{"tone":4,"emoji":"🧑🏾🎤","version":12.1},{"tone":5,"emoji":"🧑🏿🎤","version":12.1}]},{"emoji":"👨🎤","group":1,"order":1249,"tags":["actor","entertainer","man","rock","rockstar","singer","star"],"version":4,"annotation":"man singer","shortcodes":["man_singer"],"skins":[{"tone":1,"emoji":"👨🏻🎤","version":4},{"tone":2,"emoji":"👨🏼🎤","version":4},{"tone":3,"emoji":"👨🏽🎤","version":4},{"tone":4,"emoji":"👨🏾🎤","version":4},{"tone":5,"emoji":"👨🏿🎤","version":4}]},{"emoji":"👩🎤","group":1,"order":1255,"tags":["actor","entertainer","rock","rockstar","singer","star","woman"],"version":4,"annotation":"woman singer","shortcodes":["woman_singer"],"skins":[{"tone":1,"emoji":"👩🏻🎤","version":4},{"tone":2,"emoji":"👩🏼🎤","version":4},{"tone":3,"emoji":"👩🏽🎤","version":4},{"tone":4,"emoji":"👩🏾🎤","version":4},{"tone":5,"emoji":"👩🏿🎤","version":4}]},{"emoji":"🧑🎨","group":1,"order":1261,"tags":["palette"],"version":12.1,"annotation":"artist","shortcodes":["artist"],"skins":[{"tone":1,"emoji":"🧑🏻🎨","version":12.1},{"tone":2,"emoji":"🧑🏼🎨","version":12.1},{"tone":3,"emoji":"🧑🏽🎨","version":12.1},{"tone":4,"emoji":"🧑🏾🎨","version":12.1},{"tone":5,"emoji":"🧑🏿🎨","version":12.1}]},{"emoji":"👨🎨","group":1,"order":1267,"tags":["artist","man","palette"],"version":4,"annotation":"man artist","shortcodes":["man_artist"],"skins":[{"tone":1,"emoji":"👨🏻🎨","version":4},{"tone":2,"emoji":"👨🏼🎨","version":4},{"tone":3,"emoji":"👨🏽🎨","version":4},{"tone":4,"emoji":"👨🏾🎨","version":4},{"tone":5,"emoji":"👨🏿🎨","version":4}]},{"emoji":"👩🎨","group":1,"order":1273,"tags":["artist","palette","woman"],"version":4,"annotation":"woman artist","shortcodes":["woman_artist"],"skins":[{"tone":1,"emoji":"👩🏻🎨","version":4},{"tone":2,"emoji":"👩🏼🎨","version":4},{"tone":3,"emoji":"👩🏽🎨","version":4},{"tone":4,"emoji":"👩🏾🎨","version":4},{"tone":5,"emoji":"👩🏿🎨","version":4}]},{"emoji":"🧑✈️","group":1,"order":1279,"tags":["plane"],"version":12.1,"annotation":"pilot","shortcodes":["pilot"],"skins":[{"tone":1,"emoji":"🧑🏻✈️","version":12.1},{"tone":2,"emoji":"🧑🏼✈️","version":12.1},{"tone":3,"emoji":"🧑🏽✈️","version":12.1},{"tone":4,"emoji":"🧑🏾✈️","version":12.1},{"tone":5,"emoji":"🧑🏿✈️","version":12.1}]},{"emoji":"👨✈️","group":1,"order":1291,"tags":["man","pilot","plane"],"version":4,"annotation":"man pilot","shortcodes":["man_pilot"],"skins":[{"tone":1,"emoji":"👨🏻✈️","version":4},{"tone":2,"emoji":"👨🏼✈️","version":4},{"tone":3,"emoji":"👨🏽✈️","version":4},{"tone":4,"emoji":"👨🏾✈️","version":4},{"tone":5,"emoji":"👨🏿✈️","version":4}]},{"emoji":"👩✈️","group":1,"order":1303,"tags":["pilot","plane","woman"],"version":4,"annotation":"woman pilot","shortcodes":["woman_pilot"],"skins":[{"tone":1,"emoji":"👩🏻✈️","version":4},{"tone":2,"emoji":"👩🏼✈️","version":4},{"tone":3,"emoji":"👩🏽✈️","version":4},{"tone":4,"emoji":"👩🏾✈️","version":4},{"tone":5,"emoji":"👩🏿✈️","version":4}]},{"emoji":"🧑🚀","group":1,"order":1315,"tags":["rocket","space"],"version":12.1,"annotation":"astronaut","shortcodes":["astronaut"],"skins":[{"tone":1,"emoji":"🧑🏻🚀","version":12.1},{"tone":2,"emoji":"🧑🏼🚀","version":12.1},{"tone":3,"emoji":"🧑🏽🚀","version":12.1},{"tone":4,"emoji":"🧑🏾🚀","version":12.1},{"tone":5,"emoji":"🧑🏿🚀","version":12.1}]},{"emoji":"👨🚀","group":1,"order":1321,"tags":["astronaut","man","rocket","space"],"version":4,"annotation":"man astronaut","shortcodes":["man_astronaut"],"skins":[{"tone":1,"emoji":"👨🏻🚀","version":4},{"tone":2,"emoji":"👨🏼🚀","version":4},{"tone":3,"emoji":"👨🏽🚀","version":4},{"tone":4,"emoji":"👨🏾🚀","version":4},{"tone":5,"emoji":"👨🏿🚀","version":4}]},{"emoji":"👩🚀","group":1,"order":1327,"tags":["astronaut","rocket","space","woman"],"version":4,"annotation":"woman astronaut","shortcodes":["woman_astronaut"],"skins":[{"tone":1,"emoji":"👩🏻🚀","version":4},{"tone":2,"emoji":"👩🏼🚀","version":4},{"tone":3,"emoji":"👩🏽🚀","version":4},{"tone":4,"emoji":"👩🏾🚀","version":4},{"tone":5,"emoji":"👩🏿🚀","version":4}]},{"emoji":"🧑🚒","group":1,"order":1333,"tags":["fire","firetruck"],"version":12.1,"annotation":"firefighter","shortcodes":["firefighter"],"skins":[{"tone":1,"emoji":"🧑🏻🚒","version":12.1},{"tone":2,"emoji":"🧑🏼🚒","version":12.1},{"tone":3,"emoji":"🧑🏽🚒","version":12.1},{"tone":4,"emoji":"🧑🏾🚒","version":12.1},{"tone":5,"emoji":"🧑🏿🚒","version":12.1}]},{"emoji":"👨🚒","group":1,"order":1339,"tags":["fire","firefighter","firetruck","man"],"version":4,"annotation":"man firefighter","shortcodes":["man_firefighter"],"skins":[{"tone":1,"emoji":"👨🏻🚒","version":4},{"tone":2,"emoji":"👨🏼🚒","version":4},{"tone":3,"emoji":"👨🏽🚒","version":4},{"tone":4,"emoji":"👨🏾🚒","version":4},{"tone":5,"emoji":"👨🏿🚒","version":4}]},{"emoji":"👩🚒","group":1,"order":1345,"tags":["fire","firefighter","firetruck","woman"],"version":4,"annotation":"woman firefighter","shortcodes":["woman_firefighter"],"skins":[{"tone":1,"emoji":"👩🏻🚒","version":4},{"tone":2,"emoji":"👩🏼🚒","version":4},{"tone":3,"emoji":"👩🏽🚒","version":4},{"tone":4,"emoji":"👩🏾🚒","version":4},{"tone":5,"emoji":"👩🏿🚒","version":4}]},{"emoji":"👮","group":1,"order":1351,"tags":["apprehend","arrest","citation","cop","law","officer","over","police","pulled","undercover"],"version":0.6,"annotation":"police officer","shortcodes":["cop","police_officer"],"skins":[{"tone":1,"emoji":"👮🏻","version":1},{"tone":2,"emoji":"👮🏼","version":1},{"tone":3,"emoji":"👮🏽","version":1},{"tone":4,"emoji":"👮🏾","version":1},{"tone":5,"emoji":"👮🏿","version":1}]},{"emoji":"👮♂️","group":1,"order":1357,"tags":["apprehend","arrest","citation","cop","law","man","officer","over","police","pulled","undercover"],"version":4,"annotation":"man police officer","shortcodes":["man_police_officer"],"skins":[{"tone":1,"emoji":"👮🏻♂️","version":4},{"tone":2,"emoji":"👮🏼♂️","version":4},{"tone":3,"emoji":"👮🏽♂️","version":4},{"tone":4,"emoji":"👮🏾♂️","version":4},{"tone":5,"emoji":"👮🏿♂️","version":4}]},{"emoji":"👮♀️","group":1,"order":1369,"tags":["apprehend","arrest","citation","cop","law","officer","over","police","pulled","undercover","woman"],"version":4,"annotation":"woman police officer","shortcodes":["woman_police_officer"],"skins":[{"tone":1,"emoji":"👮🏻♀️","version":4},{"tone":2,"emoji":"👮🏼♀️","version":4},{"tone":3,"emoji":"👮🏽♀️","version":4},{"tone":4,"emoji":"👮🏾♀️","version":4},{"tone":5,"emoji":"👮🏿♀️","version":4}]},{"emoji":"🕵️","group":1,"order":1382,"tags":["sleuth","spy"],"version":0.7,"annotation":"detective","shortcodes":["detective"],"skins":[{"tone":1,"emoji":"🕵🏻","version":2},{"tone":2,"emoji":"🕵🏼","version":2},{"tone":3,"emoji":"🕵🏽","version":2},{"tone":4,"emoji":"🕵🏾","version":2},{"tone":5,"emoji":"🕵🏿","version":2}]},{"emoji":"🕵️♂️","group":1,"order":1388,"tags":["detective","man","sleuth","spy"],"version":4,"annotation":"man detective","shortcodes":["man_detective"],"skins":[{"tone":1,"emoji":"🕵🏻♂️","version":4},{"tone":2,"emoji":"🕵🏼♂️","version":4},{"tone":3,"emoji":"🕵🏽♂️","version":4},{"tone":4,"emoji":"🕵🏾♂️","version":4},{"tone":5,"emoji":"🕵🏿♂️","version":4}]},{"emoji":"🕵️♀️","group":1,"order":1402,"tags":["detective","sleuth","spy","woman"],"version":4,"annotation":"woman detective","shortcodes":["woman_detective"],"skins":[{"tone":1,"emoji":"🕵🏻♀️","version":4},{"tone":2,"emoji":"🕵🏼♀️","version":4},{"tone":3,"emoji":"🕵🏽♀️","version":4},{"tone":4,"emoji":"🕵🏾♀️","version":4},{"tone":5,"emoji":"🕵🏿♀️","version":4}]},{"emoji":"💂","group":1,"order":1416,"tags":["buckingham","helmet","london","palace"],"version":0.6,"annotation":"guard","shortcodes":["guard"],"skins":[{"tone":1,"emoji":"💂🏻","version":1},{"tone":2,"emoji":"💂🏼","version":1},{"tone":3,"emoji":"💂🏽","version":1},{"tone":4,"emoji":"💂🏾","version":1},{"tone":5,"emoji":"💂🏿","version":1}]},{"emoji":"💂♂️","group":1,"order":1422,"tags":["buckingham","guard","helmet","london","man","palace"],"version":4,"annotation":"man guard","shortcodes":["man_guard"],"skins":[{"tone":1,"emoji":"💂🏻♂️","version":4},{"tone":2,"emoji":"💂🏼♂️","version":4},{"tone":3,"emoji":"💂🏽♂️","version":4},{"tone":4,"emoji":"💂🏾♂️","version":4},{"tone":5,"emoji":"💂🏿♂️","version":4}]},{"emoji":"💂♀️","group":1,"order":1434,"tags":["buckingham","guard","helmet","london","palace","woman"],"version":4,"annotation":"woman guard","shortcodes":["woman_guard"],"skins":[{"tone":1,"emoji":"💂🏻♀️","version":4},{"tone":2,"emoji":"💂🏼♀️","version":4},{"tone":3,"emoji":"💂🏽♀️","version":4},{"tone":4,"emoji":"💂🏾♀️","version":4},{"tone":5,"emoji":"💂🏿♀️","version":4}]},{"emoji":"🥷","group":1,"order":1446,"tags":["assassin","fight","fighter","hidden","person","secret","skills","sly","soldier","stealth","war"],"version":13,"annotation":"ninja","shortcodes":["ninja"],"skins":[{"tone":1,"emoji":"🥷🏻","version":13},{"tone":2,"emoji":"🥷🏼","version":13},{"tone":3,"emoji":"🥷🏽","version":13},{"tone":4,"emoji":"🥷🏾","version":13},{"tone":5,"emoji":"🥷🏿","version":13}]},{"emoji":"👷","group":1,"order":1452,"tags":["build","construction","fix","hardhat","hat","man","person","rebuild","remodel","repair","work","worker"],"version":0.6,"annotation":"construction worker","shortcodes":["construction_worker"],"skins":[{"tone":1,"emoji":"👷🏻","version":1},{"tone":2,"emoji":"👷🏼","version":1},{"tone":3,"emoji":"👷🏽","version":1},{"tone":4,"emoji":"👷🏾","version":1},{"tone":5,"emoji":"👷🏿","version":1}]},{"emoji":"👷♂️","group":1,"order":1458,"tags":["build","construction","fix","hardhat","hat","man","rebuild","remodel","repair","work","worker"],"version":4,"annotation":"man construction worker","shortcodes":["man_construction_worker"],"skins":[{"tone":1,"emoji":"👷🏻♂️","version":4},{"tone":2,"emoji":"👷🏼♂️","version":4},{"tone":3,"emoji":"👷🏽♂️","version":4},{"tone":4,"emoji":"👷🏾♂️","version":4},{"tone":5,"emoji":"👷🏿♂️","version":4}]},{"emoji":"👷♀️","group":1,"order":1470,"tags":["build","construction","fix","hardhat","hat","man","rebuild","remodel","repair","woman","work","worker"],"version":4,"annotation":"woman construction worker","shortcodes":["woman_construction_worker"],"skins":[{"tone":1,"emoji":"👷🏻♀️","version":4},{"tone":2,"emoji":"👷🏼♀️","version":4},{"tone":3,"emoji":"👷🏽♀️","version":4},{"tone":4,"emoji":"👷🏾♀️","version":4},{"tone":5,"emoji":"👷🏿♀️","version":4}]},{"emoji":"🫅","group":1,"order":1482,"tags":["crown","monarch","noble","person","regal","royal","royalty"],"version":14,"annotation":"person with crown","shortcodes":["person_with_crown","royalty"],"skins":[{"tone":1,"emoji":"🫅🏻","version":14},{"tone":2,"emoji":"🫅🏼","version":14},{"tone":3,"emoji":"🫅🏽","version":14},{"tone":4,"emoji":"🫅🏾","version":14},{"tone":5,"emoji":"🫅🏿","version":14}]},{"emoji":"🤴","group":1,"order":1488,"tags":["crown","fairy","fairytale","fantasy","king","royal","royalty","tale"],"version":3,"annotation":"prince","shortcodes":["prince"],"skins":[{"tone":1,"emoji":"🤴🏻","version":3},{"tone":2,"emoji":"🤴🏼","version":3},{"tone":3,"emoji":"🤴🏽","version":3},{"tone":4,"emoji":"🤴🏾","version":3},{"tone":5,"emoji":"🤴🏿","version":3}]},{"emoji":"👸","group":1,"order":1494,"tags":["crown","fairy","fairytale","fantasy","queen","royal","royalty","tale"],"version":0.6,"annotation":"princess","shortcodes":["princess"],"skins":[{"tone":1,"emoji":"👸🏻","version":1},{"tone":2,"emoji":"👸🏼","version":1},{"tone":3,"emoji":"👸🏽","version":1},{"tone":4,"emoji":"👸🏾","version":1},{"tone":5,"emoji":"👸🏿","version":1}]},{"emoji":"👳","group":1,"order":1500,"tags":["person","turban","wearing"],"version":0.6,"annotation":"person wearing turban","shortcodes":["person_wearing_turban"],"skins":[{"tone":1,"emoji":"👳🏻","version":1},{"tone":2,"emoji":"👳🏼","version":1},{"tone":3,"emoji":"👳🏽","version":1},{"tone":4,"emoji":"👳🏾","version":1},{"tone":5,"emoji":"👳🏿","version":1}]},{"emoji":"👳♂️","group":1,"order":1506,"tags":["man","turban","wearing"],"version":4,"annotation":"man wearing turban","shortcodes":["man_wearing_turban"],"skins":[{"tone":1,"emoji":"👳🏻♂️","version":4},{"tone":2,"emoji":"👳🏼♂️","version":4},{"tone":3,"emoji":"👳🏽♂️","version":4},{"tone":4,"emoji":"👳🏾♂️","version":4},{"tone":5,"emoji":"👳🏿♂️","version":4}]},{"emoji":"👳♀️","group":1,"order":1518,"tags":["turban","wearing","woman"],"version":4,"annotation":"woman wearing turban","shortcodes":["woman_wearing_turban"],"skins":[{"tone":1,"emoji":"👳🏻♀️","version":4},{"tone":2,"emoji":"👳🏼♀️","version":4},{"tone":3,"emoji":"👳🏽♀️","version":4},{"tone":4,"emoji":"👳🏾♀️","version":4},{"tone":5,"emoji":"👳🏿♀️","version":4}]},{"emoji":"👲","group":1,"order":1530,"tags":["cap","chinese","gua","guapi","hat","mao","person","pi","skullcap"],"version":0.6,"annotation":"person with skullcap","shortcodes":["person_with_skullcap"],"skins":[{"tone":1,"emoji":"👲🏻","version":1},{"tone":2,"emoji":"👲🏼","version":1},{"tone":3,"emoji":"👲🏽","version":1},{"tone":4,"emoji":"👲🏾","version":1},{"tone":5,"emoji":"👲🏿","version":1}]},{"emoji":"🧕","group":1,"order":1536,"tags":["bandana","head","headscarf","hijab","kerchief","mantilla","tichel","woman"],"version":5,"annotation":"woman with headscarf","shortcodes":["woman_with_headscarf"],"skins":[{"tone":1,"emoji":"🧕🏻","version":5},{"tone":2,"emoji":"🧕🏼","version":5},{"tone":3,"emoji":"🧕🏽","version":5},{"tone":4,"emoji":"🧕🏾","version":5},{"tone":5,"emoji":"🧕🏿","version":5}]},{"emoji":"🤵","group":1,"order":1542,"tags":["formal","person","tuxedo","wedding"],"version":3,"annotation":"person in tuxedo","shortcodes":["person_in_tuxedo"],"skins":[{"tone":1,"emoji":"🤵🏻","version":3},{"tone":2,"emoji":"🤵🏼","version":3},{"tone":3,"emoji":"🤵🏽","version":3},{"tone":4,"emoji":"🤵🏾","version":3},{"tone":5,"emoji":"🤵🏿","version":3}]},{"emoji":"🤵♂️","group":1,"order":1548,"tags":["formal","groom","man","tuxedo","wedding"],"version":13,"annotation":"man in tuxedo","shortcodes":["man_in_tuxedo"],"skins":[{"tone":1,"emoji":"🤵🏻♂️","version":13},{"tone":2,"emoji":"🤵🏼♂️","version":13},{"tone":3,"emoji":"🤵🏽♂️","version":13},{"tone":4,"emoji":"🤵🏾♂️","version":13},{"tone":5,"emoji":"🤵🏿♂️","version":13}]},{"emoji":"🤵♀️","group":1,"order":1560,"tags":["formal","tuxedo","wedding","woman"],"version":13,"annotation":"woman in tuxedo","shortcodes":["woman_in_tuxedo"],"skins":[{"tone":1,"emoji":"🤵🏻♀️","version":13},{"tone":2,"emoji":"🤵🏼♀️","version":13},{"tone":3,"emoji":"🤵🏽♀️","version":13},{"tone":4,"emoji":"🤵🏾♀️","version":13},{"tone":5,"emoji":"🤵🏿♀️","version":13}]},{"emoji":"👰","group":1,"order":1572,"tags":["person","veil","wedding"],"version":0.6,"annotation":"person with veil","shortcodes":["person_with_veil"],"skins":[{"tone":1,"emoji":"👰🏻","version":1},{"tone":2,"emoji":"👰🏼","version":1},{"tone":3,"emoji":"👰🏽","version":1},{"tone":4,"emoji":"👰🏾","version":1},{"tone":5,"emoji":"👰🏿","version":1}]},{"emoji":"👰♂️","group":1,"order":1578,"tags":["man","veil","wedding"],"version":13,"annotation":"man with veil","shortcodes":["man_with_veil"],"skins":[{"tone":1,"emoji":"👰🏻♂️","version":13},{"tone":2,"emoji":"👰🏼♂️","version":13},{"tone":3,"emoji":"👰🏽♂️","version":13},{"tone":4,"emoji":"👰🏾♂️","version":13},{"tone":5,"emoji":"👰🏿♂️","version":13}]},{"emoji":"👰♀️","group":1,"order":1590,"tags":["bride","veil","wedding","woman"],"version":13,"annotation":"woman with veil","shortcodes":["woman_with_veil"],"skins":[{"tone":1,"emoji":"👰🏻♀️","version":13},{"tone":2,"emoji":"👰🏼♀️","version":13},{"tone":3,"emoji":"👰🏽♀️","version":13},{"tone":4,"emoji":"👰🏾♀️","version":13},{"tone":5,"emoji":"👰🏿♀️","version":13}]},{"emoji":"🤰","group":1,"order":1602,"tags":["pregnant","woman"],"version":3,"annotation":"pregnant woman","shortcodes":["pregnant_woman"],"skins":[{"tone":1,"emoji":"🤰🏻","version":3},{"tone":2,"emoji":"🤰🏼","version":3},{"tone":3,"emoji":"🤰🏽","version":3},{"tone":4,"emoji":"🤰🏾","version":3},{"tone":5,"emoji":"🤰🏿","version":3}]},{"emoji":"🫃","group":1,"order":1608,"tags":["belly","bloated","full","man","overeat","pregnant"],"version":14,"annotation":"pregnant man","shortcodes":["pregnant_man"],"skins":[{"tone":1,"emoji":"🫃🏻","version":14},{"tone":2,"emoji":"🫃🏼","version":14},{"tone":3,"emoji":"🫃🏽","version":14},{"tone":4,"emoji":"🫃🏾","version":14},{"tone":5,"emoji":"🫃🏿","version":14}]},{"emoji":"🫄","group":1,"order":1614,"tags":["belly","bloated","full","overeat","person","pregnant","stuffed"],"version":14,"annotation":"pregnant person","shortcodes":["pregnant_person"],"skins":[{"tone":1,"emoji":"🫄🏻","version":14},{"tone":2,"emoji":"🫄🏼","version":14},{"tone":3,"emoji":"🫄🏽","version":14},{"tone":4,"emoji":"🫄🏾","version":14},{"tone":5,"emoji":"🫄🏿","version":14}]},{"emoji":"🤱","group":1,"order":1620,"tags":["baby","breast","feeding","mom","mother","nursing","woman"],"version":5,"annotation":"breast-feeding","shortcodes":["breast_feeding"],"skins":[{"tone":1,"emoji":"🤱🏻","version":5},{"tone":2,"emoji":"🤱🏼","version":5},{"tone":3,"emoji":"🤱🏽","version":5},{"tone":4,"emoji":"🤱🏾","version":5},{"tone":5,"emoji":"🤱🏿","version":5}]},{"emoji":"👩🍼","group":1,"order":1626,"tags":["baby","feed","feeding","mom","mother","nanny","newborn","nursing","woman"],"version":13,"annotation":"woman feeding baby","shortcodes":["woman_feeding_baby"],"skins":[{"tone":1,"emoji":"👩🏻🍼","version":13},{"tone":2,"emoji":"👩🏼🍼","version":13},{"tone":3,"emoji":"👩🏽🍼","version":13},{"tone":4,"emoji":"👩🏾🍼","version":13},{"tone":5,"emoji":"👩🏿🍼","version":13}]},{"emoji":"👨🍼","group":1,"order":1632,"tags":["baby","dad","father","feed","feeding","man","nanny","newborn","nursing"],"version":13,"annotation":"man feeding baby","shortcodes":["man_feeding_baby"],"skins":[{"tone":1,"emoji":"👨🏻🍼","version":13},{"tone":2,"emoji":"👨🏼🍼","version":13},{"tone":3,"emoji":"👨🏽🍼","version":13},{"tone":4,"emoji":"👨🏾🍼","version":13},{"tone":5,"emoji":"👨🏿🍼","version":13}]},{"emoji":"🧑🍼","group":1,"order":1638,"tags":["baby","feed","feeding","nanny","newborn","nursing","parent"],"version":13,"annotation":"person feeding baby","shortcodes":["person_feeding_baby"],"skins":[{"tone":1,"emoji":"🧑🏻🍼","version":13},{"tone":2,"emoji":"🧑🏼🍼","version":13},{"tone":3,"emoji":"🧑🏽🍼","version":13},{"tone":4,"emoji":"🧑🏾🍼","version":13},{"tone":5,"emoji":"🧑🏿🍼","version":13}]},{"emoji":"👼","group":1,"order":1644,"tags":["angel","baby","church","face","fairy","fairytale","fantasy","tale"],"version":0.6,"annotation":"baby angel","shortcodes":["angel"],"skins":[{"tone":1,"emoji":"👼🏻","version":1},{"tone":2,"emoji":"👼🏼","version":1},{"tone":3,"emoji":"👼🏽","version":1},{"tone":4,"emoji":"👼🏾","version":1},{"tone":5,"emoji":"👼🏿","version":1}]},{"emoji":"🎅","group":1,"order":1650,"tags":["celebration","christmas","claus","fairy","fantasy","father","holiday","merry","santa","tale","xmas"],"version":0.6,"annotation":"Santa Claus","shortcodes":["santa"],"skins":[{"tone":1,"emoji":"🎅🏻","version":1},{"tone":2,"emoji":"🎅🏼","version":1},{"tone":3,"emoji":"🎅🏽","version":1},{"tone":4,"emoji":"🎅🏾","version":1},{"tone":5,"emoji":"🎅🏿","version":1}]},{"emoji":"🤶","group":1,"order":1656,"tags":["celebration","christmas","claus","fairy","fantasy","holiday","merry","mother","mrs","santa","tale","xmas"],"version":3,"annotation":"Mrs. Claus","shortcodes":["mrs_claus"],"skins":[{"tone":1,"emoji":"🤶🏻","version":3},{"tone":2,"emoji":"🤶🏼","version":3},{"tone":3,"emoji":"🤶🏽","version":3},{"tone":4,"emoji":"🤶🏾","version":3},{"tone":5,"emoji":"🤶🏿","version":3}]},{"emoji":"🧑🎄","group":1,"order":1662,"tags":["celebration","christmas","claus","fairy","fantasy","holiday","merry","mx","santa","tale","xmas"],"version":13,"annotation":"Mx Claus","shortcodes":["mx_claus"],"skins":[{"tone":1,"emoji":"🧑🏻🎄","version":13},{"tone":2,"emoji":"🧑🏼🎄","version":13},{"tone":3,"emoji":"🧑🏽🎄","version":13},{"tone":4,"emoji":"🧑🏾🎄","version":13},{"tone":5,"emoji":"🧑🏿🎄","version":13}]},{"emoji":"🦸","group":1,"order":1668,"tags":["good","hero","superpower"],"version":11,"annotation":"superhero","shortcodes":["superhero"],"skins":[{"tone":1,"emoji":"🦸🏻","version":11},{"tone":2,"emoji":"🦸🏼","version":11},{"tone":3,"emoji":"🦸🏽","version":11},{"tone":4,"emoji":"🦸🏾","version":11},{"tone":5,"emoji":"🦸🏿","version":11}]},{"emoji":"🦸♂️","group":1,"order":1674,"tags":["good","hero","man","superhero","superpower"],"version":11,"annotation":"man superhero","shortcodes":["man_superhero"],"skins":[{"tone":1,"emoji":"🦸🏻♂️","version":11},{"tone":2,"emoji":"🦸🏼♂️","version":11},{"tone":3,"emoji":"🦸🏽♂️","version":11},{"tone":4,"emoji":"🦸🏾♂️","version":11},{"tone":5,"emoji":"🦸🏿♂️","version":11}]},{"emoji":"🦸♀️","group":1,"order":1686,"tags":["good","hero","heroine","superhero","superpower","woman"],"version":11,"annotation":"woman superhero","shortcodes":["woman_superhero"],"skins":[{"tone":1,"emoji":"🦸🏻♀️","version":11},{"tone":2,"emoji":"🦸🏼♀️","version":11},{"tone":3,"emoji":"🦸🏽♀️","version":11},{"tone":4,"emoji":"🦸🏾♀️","version":11},{"tone":5,"emoji":"🦸🏿♀️","version":11}]},{"emoji":"🦹","group":1,"order":1698,"tags":["bad","criminal","evil","superpower","villain"],"version":11,"annotation":"supervillain","shortcodes":["supervillain"],"skins":[{"tone":1,"emoji":"🦹🏻","version":11},{"tone":2,"emoji":"🦹🏼","version":11},{"tone":3,"emoji":"🦹🏽","version":11},{"tone":4,"emoji":"🦹🏾","version":11},{"tone":5,"emoji":"🦹🏿","version":11}]},{"emoji":"🦹♂️","group":1,"order":1704,"tags":["bad","criminal","evil","man","superpower","supervillain","villain"],"version":11,"annotation":"man supervillain","shortcodes":["man_supervillain"],"skins":[{"tone":1,"emoji":"🦹🏻♂️","version":11},{"tone":2,"emoji":"🦹🏼♂️","version":11},{"tone":3,"emoji":"🦹🏽♂️","version":11},{"tone":4,"emoji":"🦹🏾♂️","version":11},{"tone":5,"emoji":"🦹🏿♂️","version":11}]},{"emoji":"🦹♀️","group":1,"order":1716,"tags":["bad","criminal","evil","superpower","supervillain","villain","woman"],"version":11,"annotation":"woman supervillain","shortcodes":["woman_supervillain"],"skins":[{"tone":1,"emoji":"🦹🏻♀️","version":11},{"tone":2,"emoji":"🦹🏼♀️","version":11},{"tone":3,"emoji":"🦹🏽♀️","version":11},{"tone":4,"emoji":"🦹🏾♀️","version":11},{"tone":5,"emoji":"🦹🏿♀️","version":11}]},{"emoji":"🧙","group":1,"order":1728,"tags":["fantasy","magic","play","sorcerer","sorceress","sorcery","spell","summon","witch","wizard"],"version":5,"annotation":"mage","shortcodes":["mage"],"skins":[{"tone":1,"emoji":"🧙🏻","version":5},{"tone":2,"emoji":"🧙🏼","version":5},{"tone":3,"emoji":"🧙🏽","version":5},{"tone":4,"emoji":"🧙🏾","version":5},{"tone":5,"emoji":"🧙🏿","version":5}]},{"emoji":"🧙♂️","group":1,"order":1734,"tags":["fantasy","mage","magic","man","play","sorcerer","sorceress","sorcery","spell","summon","witch","wizard"],"version":5,"annotation":"man mage","emoticon":":{>","shortcodes":["man_mage"],"skins":[{"tone":1,"emoji":"🧙🏻♂️","version":5},{"tone":2,"emoji":"🧙🏼♂️","version":5},{"tone":3,"emoji":"🧙🏽♂️","version":5},{"tone":4,"emoji":"🧙🏾♂️","version":5},{"tone":5,"emoji":"🧙🏿♂️","version":5}]},{"emoji":"🧙♀️","group":1,"order":1746,"tags":["fantasy","mage","magic","play","sorcerer","sorceress","sorcery","spell","summon","witch","wizard","woman"],"version":5,"annotation":"woman mage","shortcodes":["woman_mage"],"skins":[{"tone":1,"emoji":"🧙🏻♀️","version":5},{"tone":2,"emoji":"🧙🏼♀️","version":5},{"tone":3,"emoji":"🧙🏽♀️","version":5},{"tone":4,"emoji":"🧙🏾♀️","version":5},{"tone":5,"emoji":"🧙🏿♀️","version":5}]},{"emoji":"🧚","group":1,"order":1758,"tags":["fairytale","fantasy","myth","person","pixie","tale","wings"],"version":5,"annotation":"fairy","shortcodes":["fairy"],"skins":[{"tone":1,"emoji":"🧚🏻","version":5},{"tone":2,"emoji":"🧚🏼","version":5},{"tone":3,"emoji":"🧚🏽","version":5},{"tone":4,"emoji":"🧚🏾","version":5},{"tone":5,"emoji":"🧚🏿","version":5}]},{"emoji":"🧚♂️","group":1,"order":1764,"tags":["fairy","fairytale","fantasy","man","myth","oberon","person","pixie","puck","tale","wings"],"version":5,"annotation":"man fairy","shortcodes":["man_fairy"],"skins":[{"tone":1,"emoji":"🧚🏻♂️","version":5},{"tone":2,"emoji":"🧚🏼♂️","version":5},{"tone":3,"emoji":"🧚🏽♂️","version":5},{"tone":4,"emoji":"🧚🏾♂️","version":5},{"tone":5,"emoji":"🧚🏿♂️","version":5}]},{"emoji":"🧚♀️","group":1,"order":1776,"tags":["fairy","fairytale","fantasy","myth","person","pixie","tale","titania","wings","woman"],"version":5,"annotation":"woman fairy","shortcodes":["woman_fairy"],"skins":[{"tone":1,"emoji":"🧚🏻♀️","version":5},{"tone":2,"emoji":"🧚🏼♀️","version":5},{"tone":3,"emoji":"🧚🏽♀️","version":5},{"tone":4,"emoji":"🧚🏾♀️","version":5},{"tone":5,"emoji":"🧚🏿♀️","version":5}]},{"emoji":"🧛","group":1,"order":1788,"tags":["blood","dracula","fangs","halloween","scary","supernatural","teeth","undead"],"version":5,"annotation":"vampire","emoticon":":E","shortcodes":["vampire"],"skins":[{"tone":1,"emoji":"🧛🏻","version":5},{"tone":2,"emoji":"🧛🏼","version":5},{"tone":3,"emoji":"🧛🏽","version":5},{"tone":4,"emoji":"🧛🏾","version":5},{"tone":5,"emoji":"🧛🏿","version":5}]},{"emoji":"🧛♂️","group":1,"order":1794,"tags":["blood","fangs","halloween","man","scary","supernatural","teeth","undead","vampire"],"version":5,"annotation":"man vampire","shortcodes":["man_vampire"],"skins":[{"tone":1,"emoji":"🧛🏻♂️","version":5},{"tone":2,"emoji":"🧛🏼♂️","version":5},{"tone":3,"emoji":"🧛🏽♂️","version":5},{"tone":4,"emoji":"🧛🏾♂️","version":5},{"tone":5,"emoji":"🧛🏿♂️","version":5}]},{"emoji":"🧛♀️","group":1,"order":1806,"tags":["blood","fangs","halloween","scary","supernatural","teeth","undead","vampire","woman"],"version":5,"annotation":"woman vampire","shortcodes":["woman_vampire"],"skins":[{"tone":1,"emoji":"🧛🏻♀️","version":5},{"tone":2,"emoji":"🧛🏼♀️","version":5},{"tone":3,"emoji":"🧛🏽♀️","version":5},{"tone":4,"emoji":"🧛🏾♀️","version":5},{"tone":5,"emoji":"🧛🏿♀️","version":5}]},{"emoji":"🧜","group":1,"order":1818,"tags":["creature","fairytale","folklore","ocean","sea","siren","trident"],"version":5,"annotation":"merperson","shortcodes":["merperson"],"skins":[{"tone":1,"emoji":"🧜🏻","version":5},{"tone":2,"emoji":"🧜🏼","version":5},{"tone":3,"emoji":"🧜🏽","version":5},{"tone":4,"emoji":"🧜🏾","version":5},{"tone":5,"emoji":"🧜🏿","version":5}]},{"emoji":"🧜♂️","group":1,"order":1824,"tags":["creature","fairytale","folklore","neptune","ocean","poseidon","sea","siren","trident","triton"],"version":5,"annotation":"merman","shortcodes":["merman"],"skins":[{"tone":1,"emoji":"🧜🏻♂️","version":5},{"tone":2,"emoji":"🧜🏼♂️","version":5},{"tone":3,"emoji":"🧜🏽♂️","version":5},{"tone":4,"emoji":"🧜🏾♂️","version":5},{"tone":5,"emoji":"🧜🏿♂️","version":5}]},{"emoji":"🧜♀️","group":1,"order":1836,"tags":["creature","fairytale","folklore","merwoman","ocean","sea","siren","trident"],"version":5,"annotation":"mermaid","shortcodes":["mermaid"],"skins":[{"tone":1,"emoji":"🧜🏻♀️","version":5},{"tone":2,"emoji":"🧜🏼♀️","version":5},{"tone":3,"emoji":"🧜🏽♀️","version":5},{"tone":4,"emoji":"🧜🏾♀️","version":5},{"tone":5,"emoji":"🧜🏿♀️","version":5}]},{"emoji":"🧝","group":1,"order":1848,"tags":["elves","enchantment","fantasy","folklore","magic","magical","myth"],"version":5,"annotation":"elf","shortcodes":["elf"],"skins":[{"tone":1,"emoji":"🧝🏻","version":5},{"tone":2,"emoji":"🧝🏼","version":5},{"tone":3,"emoji":"🧝🏽","version":5},{"tone":4,"emoji":"🧝🏾","version":5},{"tone":5,"emoji":"🧝🏿","version":5}]},{"emoji":"🧝♂️","group":1,"order":1854,"tags":["elf","elves","enchantment","fantasy","folklore","magic","magical","man","myth"],"version":5,"annotation":"man elf","shortcodes":["man_elf"],"skins":[{"tone":1,"emoji":"🧝🏻♂️","version":5},{"tone":2,"emoji":"🧝🏼♂️","version":5},{"tone":3,"emoji":"🧝🏽♂️","version":5},{"tone":4,"emoji":"🧝🏾♂️","version":5},{"tone":5,"emoji":"🧝🏿♂️","version":5}]},{"emoji":"🧝♀️","group":1,"order":1866,"tags":["elf","elves","enchantment","fantasy","folklore","magic","magical","myth","woman"],"version":5,"annotation":"woman elf","shortcodes":["woman_elf"],"skins":[{"tone":1,"emoji":"🧝🏻♀️","version":5},{"tone":2,"emoji":"🧝🏼♀️","version":5},{"tone":3,"emoji":"🧝🏽♀️","version":5},{"tone":4,"emoji":"🧝🏾♀️","version":5},{"tone":5,"emoji":"🧝🏿♀️","version":5}]},{"emoji":"🧞","group":1,"order":1878,"tags":["djinn","fantasy","jinn","lamp","myth","rub","wishes"],"version":5,"annotation":"genie","shortcodes":["genie"]},{"emoji":"🧞♂️","group":1,"order":1879,"tags":["djinn","fantasy","genie","jinn","lamp","man","myth","rub","wishes"],"version":5,"annotation":"man genie","shortcodes":["man_genie"]},{"emoji":"🧞♀️","group":1,"order":1881,"tags":["djinn","fantasy","genie","jinn","lamp","myth","rub","wishes","woman"],"version":5,"annotation":"woman genie","shortcodes":["woman_genie"]},{"emoji":"🧟","group":1,"order":1883,"tags":["apocalypse","dead","halloween","horror","scary","undead","walking"],"version":5,"annotation":"zombie","emoticon":"8#","shortcodes":["zombie"]},{"emoji":"🧟♂️","group":1,"order":1884,"tags":["apocalypse","dead","halloween","horror","man","scary","undead","walking","zombie"],"version":5,"annotation":"man zombie","shortcodes":["man_zombie"]},{"emoji":"🧟♀️","group":1,"order":1886,"tags":["apocalypse","dead","halloween","horror","scary","undead","walking","woman","zombie"],"version":5,"annotation":"woman zombie","shortcodes":["woman_zombie"]},{"emoji":"🧌","group":1,"order":1888,"tags":["fairy","fantasy","monster","tale","trolling"],"version":14,"annotation":"troll","shortcodes":["troll"]},{"emoji":"💆","group":1,"order":1889,"tags":["face","getting","headache","massage","person","relax","relaxing","salon","soothe","spa","tension","therapy","treatment"],"version":0.6,"annotation":"person getting massage","shortcodes":["massage","person_getting_massage"],"skins":[{"tone":1,"emoji":"💆🏻","version":1},{"tone":2,"emoji":"💆🏼","version":1},{"tone":3,"emoji":"💆🏽","version":1},{"tone":4,"emoji":"💆🏾","version":1},{"tone":5,"emoji":"💆🏿","version":1}]},{"emoji":"💆♂️","group":1,"order":1895,"tags":["face","getting","headache","man","massage","relax","relaxing","salon","soothe","spa","tension","therapy","treatment"],"version":4,"annotation":"man getting massage","shortcodes":["man_getting_massage"],"skins":[{"tone":1,"emoji":"💆🏻♂️","version":4},{"tone":2,"emoji":"💆🏼♂️","version":4},{"tone":3,"emoji":"💆🏽♂️","version":4},{"tone":4,"emoji":"💆🏾♂️","version":4},{"tone":5,"emoji":"💆🏿♂️","version":4}]},{"emoji":"💆♀️","group":1,"order":1907,"tags":["face","getting","headache","massage","relax","relaxing","salon","soothe","spa","tension","therapy","treatment","woman"],"version":4,"annotation":"woman getting massage","shortcodes":["woman_getting_massage"],"skins":[{"tone":1,"emoji":"💆🏻♀️","version":4},{"tone":2,"emoji":"💆🏼♀️","version":4},{"tone":3,"emoji":"💆🏽♀️","version":4},{"tone":4,"emoji":"💆🏾♀️","version":4},{"tone":5,"emoji":"💆🏿♀️","version":4}]},{"emoji":"💇","group":1,"order":1919,"tags":["barber","beauty","chop","cosmetology","cut","groom","hair","haircut","parlor","person","shears","style"],"version":0.6,"annotation":"person getting haircut","shortcodes":["haircut","person_getting_haircut"],"skins":[{"tone":1,"emoji":"💇🏻","version":1},{"tone":2,"emoji":"💇🏼","version":1},{"tone":3,"emoji":"💇🏽","version":1},{"tone":4,"emoji":"💇🏾","version":1},{"tone":5,"emoji":"💇🏿","version":1}]},{"emoji":"💇♂️","group":1,"order":1925,"tags":["barber","beauty","chop","cosmetology","cut","groom","hair","haircut","man","parlor","person","shears","style"],"version":4,"annotation":"man getting haircut","shortcodes":["man_getting_haircut"],"skins":[{"tone":1,"emoji":"💇🏻♂️","version":4},{"tone":2,"emoji":"💇🏼♂️","version":4},{"tone":3,"emoji":"💇🏽♂️","version":4},{"tone":4,"emoji":"💇🏾♂️","version":4},{"tone":5,"emoji":"💇🏿♂️","version":4}]},{"emoji":"💇♀️","group":1,"order":1937,"tags":["barber","beauty","chop","cosmetology","cut","groom","hair","haircut","parlor","person","shears","style","woman"],"version":4,"annotation":"woman getting haircut","shortcodes":["woman_getting_haircut"],"skins":[{"tone":1,"emoji":"💇🏻♀️","version":4},{"tone":2,"emoji":"💇🏼♀️","version":4},{"tone":3,"emoji":"💇🏽♀️","version":4},{"tone":4,"emoji":"💇🏾♀️","version":4},{"tone":5,"emoji":"💇🏿♀️","version":4}]},{"emoji":"🚶","group":1,"order":1949,"tags":["amble","gait","hike","man","pace","pedestrian","person","stride","stroll","walk","walking"],"version":0.6,"annotation":"person walking","shortcodes":["person_walking","walking"],"skins":[{"tone":1,"emoji":"🚶🏻","version":1},{"tone":2,"emoji":"🚶🏼","version":1},{"tone":3,"emoji":"🚶🏽","version":1},{"tone":4,"emoji":"🚶🏾","version":1},{"tone":5,"emoji":"🚶🏿","version":1}]},{"emoji":"🚶♂️","group":1,"order":1955,"tags":["amble","gait","hike","man","pace","pedestrian","stride","stroll","walk","walking"],"version":4,"annotation":"man walking","shortcodes":["man_walking"],"skins":[{"tone":1,"emoji":"🚶🏻♂️","version":4},{"tone":2,"emoji":"🚶🏼♂️","version":4},{"tone":3,"emoji":"🚶🏽♂️","version":4},{"tone":4,"emoji":"🚶🏾♂️","version":4},{"tone":5,"emoji":"🚶🏿♂️","version":4}]},{"emoji":"🚶♀️","group":1,"order":1967,"tags":["amble","gait","hike","man","pace","pedestrian","stride","stroll","walk","walking","woman"],"version":4,"annotation":"woman walking","shortcodes":["woman_walking"],"skins":[{"tone":1,"emoji":"🚶🏻♀️","version":4},{"tone":2,"emoji":"🚶🏼♀️","version":4},{"tone":3,"emoji":"🚶🏽♀️","version":4},{"tone":4,"emoji":"🚶🏾♀️","version":4},{"tone":5,"emoji":"🚶🏿♀️","version":4}]},{"emoji":"🚶➡️","group":1,"order":1979,"tags":["amble","gait","hike","man","pace","pedestrian","person","stride","stroll","walk","walking"],"version":15.1,"annotation":"person walking facing right","shortcodes":["person_walking_right"],"skins":[{"tone":1,"emoji":"🚶🏻➡️","version":15.1},{"tone":2,"emoji":"🚶🏼➡️","version":15.1},{"tone":3,"emoji":"🚶🏽➡️","version":15.1},{"tone":4,"emoji":"🚶🏾➡️","version":15.1},{"tone":5,"emoji":"🚶🏿➡️","version":15.1}]},{"emoji":"🚶♀️➡️","group":1,"order":1991,"tags":["amble","gait","hike","man","pace","pedestrian","stride","stroll","walk","walking","woman"],"version":15.1,"annotation":"woman walking facing right","shortcodes":["woman_walking_right"],"skins":[{"tone":1,"emoji":"🚶🏻♀️➡️","version":15.1},{"tone":2,"emoji":"🚶🏼♀️➡️","version":15.1},{"tone":3,"emoji":"🚶🏽♀️➡️","version":15.1},{"tone":4,"emoji":"🚶🏾♀️➡️","version":15.1},{"tone":5,"emoji":"🚶🏿♀️➡️","version":15.1}]},{"emoji":"🚶♂️➡️","group":1,"order":2015,"tags":["amble","gait","hike","man","pace","pedestrian","stride","stroll","walk","walking"],"version":15.1,"annotation":"man walking facing right","shortcodes":["man_walking_right"],"skins":[{"tone":1,"emoji":"🚶🏻♂️➡️","version":15.1},{"tone":2,"emoji":"🚶🏼♂️➡️","version":15.1},{"tone":3,"emoji":"🚶🏽♂️➡️","version":15.1},{"tone":4,"emoji":"🚶🏾♂️➡️","version":15.1},{"tone":5,"emoji":"🚶🏿♂️➡️","version":15.1}]},{"emoji":"🧍","group":1,"order":2039,"tags":["person","stand","standing"],"version":12,"annotation":"person standing","shortcodes":["person_standing","standing"],"skins":[{"tone":1,"emoji":"🧍🏻","version":12},{"tone":2,"emoji":"🧍🏼","version":12},{"tone":3,"emoji":"🧍🏽","version":12},{"tone":4,"emoji":"🧍🏾","version":12},{"tone":5,"emoji":"🧍🏿","version":12}]},{"emoji":"🧍♂️","group":1,"order":2045,"tags":["man","stand","standing"],"version":12,"annotation":"man standing","shortcodes":["man_standing"],"skins":[{"tone":1,"emoji":"🧍🏻♂️","version":12},{"tone":2,"emoji":"🧍🏼♂️","version":12},{"tone":3,"emoji":"🧍🏽♂️","version":12},{"tone":4,"emoji":"🧍🏾♂️","version":12},{"tone":5,"emoji":"🧍🏿♂️","version":12}]},{"emoji":"🧍♀️","group":1,"order":2057,"tags":["stand","standing","woman"],"version":12,"annotation":"woman standing","shortcodes":["woman_standing"],"skins":[{"tone":1,"emoji":"🧍🏻♀️","version":12},{"tone":2,"emoji":"🧍🏼♀️","version":12},{"tone":3,"emoji":"🧍🏽♀️","version":12},{"tone":4,"emoji":"🧍🏾♀️","version":12},{"tone":5,"emoji":"🧍🏿♀️","version":12}]},{"emoji":"🧎","group":1,"order":2069,"tags":["kneel","kneeling","knees","person"],"version":12,"annotation":"person kneeling","shortcodes":["kneeling","person_kneeling"],"skins":[{"tone":1,"emoji":"🧎🏻","version":12},{"tone":2,"emoji":"🧎🏼","version":12},{"tone":3,"emoji":"🧎🏽","version":12},{"tone":4,"emoji":"🧎🏾","version":12},{"tone":5,"emoji":"🧎🏿","version":12}]},{"emoji":"🧎♂️","group":1,"order":2075,"tags":["kneel","kneeling","knees","man"],"version":12,"annotation":"man kneeling","shortcodes":["man_kneeling"],"skins":[{"tone":1,"emoji":"🧎🏻♂️","version":12},{"tone":2,"emoji":"🧎🏼♂️","version":12},{"tone":3,"emoji":"🧎🏽♂️","version":12},{"tone":4,"emoji":"🧎🏾♂️","version":12},{"tone":5,"emoji":"🧎🏿♂️","version":12}]},{"emoji":"🧎♀️","group":1,"order":2087,"tags":["kneel","kneeling","knees","woman"],"version":12,"annotation":"woman kneeling","shortcodes":["woman_kneeling"],"skins":[{"tone":1,"emoji":"🧎🏻♀️","version":12},{"tone":2,"emoji":"🧎🏼♀️","version":12},{"tone":3,"emoji":"🧎🏽♀️","version":12},{"tone":4,"emoji":"🧎🏾♀️","version":12},{"tone":5,"emoji":"🧎🏿♀️","version":12}]},{"emoji":"🧎➡️","group":1,"order":2099,"tags":["kneel","kneeling","knees","person"],"version":15.1,"annotation":"person kneeling facing right","shortcodes":["person_kneeling_right"],"skins":[{"tone":1,"emoji":"🧎🏻➡️","version":15.1},{"tone":2,"emoji":"🧎🏼➡️","version":15.1},{"tone":3,"emoji":"🧎🏽➡️","version":15.1},{"tone":4,"emoji":"🧎🏾➡️","version":15.1},{"tone":5,"emoji":"🧎🏿➡️","version":15.1}]},{"emoji":"🧎♀️➡️","group":1,"order":2111,"tags":["kneel","kneeling","knees","woman"],"version":15.1,"annotation":"woman kneeling facing right","shortcodes":["woman_kneeling_right"],"skins":[{"tone":1,"emoji":"🧎🏻♀️➡️","version":15.1},{"tone":2,"emoji":"🧎🏼♀️➡️","version":15.1},{"tone":3,"emoji":"🧎🏽♀️➡️","version":15.1},{"tone":4,"emoji":"🧎🏾♀️➡️","version":15.1},{"tone":5,"emoji":"🧎🏿♀️➡️","version":15.1}]},{"emoji":"🧎♂️➡️","group":1,"order":2135,"tags":["kneel","kneeling","knees","man"],"version":15.1,"annotation":"man kneeling facing right","shortcodes":["man_kneeling_right"],"skins":[{"tone":1,"emoji":"🧎🏻♂️➡️","version":15.1},{"tone":2,"emoji":"🧎🏼♂️➡️","version":15.1},{"tone":3,"emoji":"🧎🏽♂️➡️","version":15.1},{"tone":4,"emoji":"🧎🏾♂️➡️","version":15.1},{"tone":5,"emoji":"🧎🏿♂️➡️","version":15.1}]},{"emoji":"🧑🦯","group":1,"order":2159,"tags":["accessibility","blind","cane","person","probing","white"],"version":12.1,"annotation":"person with white cane","shortcodes":["person_with_probing_cane","person_with_white_cane"],"skins":[{"tone":1,"emoji":"🧑🏻🦯","version":12.1},{"tone":2,"emoji":"🧑🏼🦯","version":12.1},{"tone":3,"emoji":"🧑🏽🦯","version":12.1},{"tone":4,"emoji":"🧑🏾🦯","version":12.1},{"tone":5,"emoji":"🧑🏿🦯","version":12.1}]},{"emoji":"🧑🦯➡️","group":1,"order":2165,"tags":["accessibility","blind","cane","person","probing","white"],"version":15.1,"annotation":"person with white cane facing right","shortcodes":["person_with_white_cane_right"],"skins":[{"tone":1,"emoji":"🧑🏻🦯➡️","version":15.1},{"tone":2,"emoji":"🧑🏼🦯➡️","version":15.1},{"tone":3,"emoji":"🧑🏽🦯➡️","version":15.1},{"tone":4,"emoji":"🧑🏾🦯➡️","version":15.1},{"tone":5,"emoji":"🧑🏿🦯➡️","version":15.1}]},{"emoji":"👨🦯","group":1,"order":2177,"tags":["accessibility","blind","cane","man","probing","white"],"version":12,"annotation":"man with white cane","shortcodes":["man_with_probing_cane","man_with_white_cane"],"skins":[{"tone":1,"emoji":"👨🏻🦯","version":12},{"tone":2,"emoji":"👨🏼🦯","version":12},{"tone":3,"emoji":"👨🏽🦯","version":12},{"tone":4,"emoji":"👨🏾🦯","version":12},{"tone":5,"emoji":"👨🏿🦯","version":12}]},{"emoji":"👨🦯➡️","group":1,"order":2183,"tags":["accessibility","blind","cane","man","probing","white"],"version":15.1,"annotation":"man with white cane facing right","shortcodes":["man_with_white_cane_right"],"skins":[{"tone":1,"emoji":"👨🏻🦯➡️","version":15.1},{"tone":2,"emoji":"👨🏼🦯➡️","version":15.1},{"tone":3,"emoji":"👨🏽🦯➡️","version":15.1},{"tone":4,"emoji":"👨🏾🦯➡️","version":15.1},{"tone":5,"emoji":"👨🏿🦯➡️","version":15.1}]},{"emoji":"👩🦯","group":1,"order":2195,"tags":["accessibility","blind","cane","probing","white","woman"],"version":12,"annotation":"woman with white cane","shortcodes":["woman_with_probing_cane","woman_with_white_cane"],"skins":[{"tone":1,"emoji":"👩🏻🦯","version":12},{"tone":2,"emoji":"👩🏼🦯","version":12},{"tone":3,"emoji":"👩🏽🦯","version":12},{"tone":4,"emoji":"👩🏾🦯","version":12},{"tone":5,"emoji":"👩🏿🦯","version":12}]},{"emoji":"👩🦯➡️","group":1,"order":2201,"tags":["accessibility","blind","cane","probing","white","woman"],"version":15.1,"annotation":"woman with white cane facing right","shortcodes":["woman_with_white_cane_right"],"skins":[{"tone":1,"emoji":"👩🏻🦯➡️","version":15.1},{"tone":2,"emoji":"👩🏼🦯➡️","version":15.1},{"tone":3,"emoji":"👩🏽🦯➡️","version":15.1},{"tone":4,"emoji":"👩🏾🦯➡️","version":15.1},{"tone":5,"emoji":"👩🏿🦯➡️","version":15.1}]},{"emoji":"🧑🦼","group":1,"order":2213,"tags":["accessibility","motorized","person","wheelchair"],"version":12.1,"annotation":"person in motorized wheelchair","shortcodes":["person_in_motorized_wheelchair"],"skins":[{"tone":1,"emoji":"🧑🏻🦼","version":12.1},{"tone":2,"emoji":"🧑🏼🦼","version":12.1},{"tone":3,"emoji":"🧑🏽🦼","version":12.1},{"tone":4,"emoji":"🧑🏾🦼","version":12.1},{"tone":5,"emoji":"🧑🏿🦼","version":12.1}]},{"emoji":"🧑🦼➡️","group":1,"order":2219,"tags":["accessibility","motorized","person","wheelchair"],"version":15.1,"annotation":"person in motorized wheelchair facing right","shortcodes":["person_in_motorized_wheelchair_right"],"skins":[{"tone":1,"emoji":"🧑🏻🦼➡️","version":15.1},{"tone":2,"emoji":"🧑🏼🦼➡️","version":15.1},{"tone":3,"emoji":"🧑🏽🦼➡️","version":15.1},{"tone":4,"emoji":"🧑🏾🦼➡️","version":15.1},{"tone":5,"emoji":"🧑🏿🦼➡️","version":15.1}]},{"emoji":"👨🦼","group":1,"order":2231,"tags":["accessibility","man","motorized","wheelchair"],"version":12,"annotation":"man in motorized wheelchair","shortcodes":["man_in_motorized_wheelchair"],"skins":[{"tone":1,"emoji":"👨🏻🦼","version":12},{"tone":2,"emoji":"👨🏼🦼","version":12},{"tone":3,"emoji":"👨🏽🦼","version":12},{"tone":4,"emoji":"👨🏾🦼","version":12},{"tone":5,"emoji":"👨🏿🦼","version":12}]},{"emoji":"👨🦼➡️","group":1,"order":2237,"tags":["accessibility","man","motorized","wheelchair"],"version":15.1,"annotation":"man in motorized wheelchair facing right","shortcodes":["man_in_motorized_wheelchair_right"],"skins":[{"tone":1,"emoji":"👨🏻🦼➡️","version":15.1},{"tone":2,"emoji":"👨🏼🦼➡️","version":15.1},{"tone":3,"emoji":"👨🏽🦼➡️","version":15.1},{"tone":4,"emoji":"👨🏾🦼➡️","version":15.1},{"tone":5,"emoji":"👨🏿🦼➡️","version":15.1}]},{"emoji":"👩🦼","group":1,"order":2249,"tags":["accessibility","motorized","wheelchair","woman"],"version":12,"annotation":"woman in motorized wheelchair","shortcodes":["woman_in_motorized_wheelchair"],"skins":[{"tone":1,"emoji":"👩🏻🦼","version":12},{"tone":2,"emoji":"👩🏼🦼","version":12},{"tone":3,"emoji":"👩🏽🦼","version":12},{"tone":4,"emoji":"👩🏾🦼","version":12},{"tone":5,"emoji":"👩🏿🦼","version":12}]},{"emoji":"👩🦼➡️","group":1,"order":2255,"tags":["accessibility","motorized","wheelchair","woman"],"version":15.1,"annotation":"woman in motorized wheelchair facing right","shortcodes":["woman_in_motorized_wheelchair_right"],"skins":[{"tone":1,"emoji":"👩🏻🦼➡️","version":15.1},{"tone":2,"emoji":"👩🏼🦼➡️","version":15.1},{"tone":3,"emoji":"👩🏽🦼➡️","version":15.1},{"tone":4,"emoji":"👩🏾🦼➡️","version":15.1},{"tone":5,"emoji":"👩🏿🦼➡️","version":15.1}]},{"emoji":"🧑🦽","group":1,"order":2267,"tags":["accessibility","manual","person","wheelchair"],"version":12.1,"annotation":"person in manual wheelchair","shortcodes":["person_in_manual_wheelchair"],"skins":[{"tone":1,"emoji":"🧑🏻🦽","version":12.1},{"tone":2,"emoji":"🧑🏼🦽","version":12.1},{"tone":3,"emoji":"🧑🏽🦽","version":12.1},{"tone":4,"emoji":"🧑🏾🦽","version":12.1},{"tone":5,"emoji":"🧑🏿🦽","version":12.1}]},{"emoji":"🧑🦽➡️","group":1,"order":2273,"tags":["accessibility","manual","person","wheelchair"],"version":15.1,"annotation":"person in manual wheelchair facing right","shortcodes":["person_in_manual_wheelchair_right"],"skins":[{"tone":1,"emoji":"🧑🏻🦽➡️","version":15.1},{"tone":2,"emoji":"🧑🏼🦽➡️","version":15.1},{"tone":3,"emoji":"🧑🏽🦽➡️","version":15.1},{"tone":4,"emoji":"🧑🏾🦽➡️","version":15.1},{"tone":5,"emoji":"🧑🏿🦽➡️","version":15.1}]},{"emoji":"👨🦽","group":1,"order":2285,"tags":["accessibility","man","manual","wheelchair"],"version":12,"annotation":"man in manual wheelchair","shortcodes":["man_in_manual_wheelchair"],"skins":[{"tone":1,"emoji":"👨🏻🦽","version":12},{"tone":2,"emoji":"👨🏼🦽","version":12},{"tone":3,"emoji":"👨🏽🦽","version":12},{"tone":4,"emoji":"👨🏾🦽","version":12},{"tone":5,"emoji":"👨🏿🦽","version":12}]},{"emoji":"👨🦽➡️","group":1,"order":2291,"tags":["accessibility","man","manual","wheelchair"],"version":15.1,"annotation":"man in manual wheelchair facing right","shortcodes":["man_in_manual_wheelchair_right"],"skins":[{"tone":1,"emoji":"👨🏻🦽➡️","version":15.1},{"tone":2,"emoji":"👨🏼🦽➡️","version":15.1},{"tone":3,"emoji":"👨🏽🦽➡️","version":15.1},{"tone":4,"emoji":"👨🏾🦽➡️","version":15.1},{"tone":5,"emoji":"👨🏿🦽➡️","version":15.1}]},{"emoji":"👩🦽","group":1,"order":2303,"tags":["accessibility","manual","wheelchair","woman"],"version":12,"annotation":"woman in manual wheelchair","shortcodes":["woman_in_manual_wheelchair"],"skins":[{"tone":1,"emoji":"👩🏻🦽","version":12},{"tone":2,"emoji":"👩🏼🦽","version":12},{"tone":3,"emoji":"👩🏽🦽","version":12},{"tone":4,"emoji":"👩🏾🦽","version":12},{"tone":5,"emoji":"👩🏿🦽","version":12}]},{"emoji":"👩🦽➡️","group":1,"order":2309,"tags":["accessibility","manual","wheelchair","woman"],"version":15.1,"annotation":"woman in manual wheelchair facing right","shortcodes":["woman_in_manual_wheelchair_right"],"skins":[{"tone":1,"emoji":"👩🏻🦽➡️","version":15.1},{"tone":2,"emoji":"👩🏼🦽➡️","version":15.1},{"tone":3,"emoji":"👩🏽🦽➡️","version":15.1},{"tone":4,"emoji":"👩🏾🦽➡️","version":15.1},{"tone":5,"emoji":"👩🏿🦽➡️","version":15.1}]},{"emoji":"🏃","group":1,"order":2321,"tags":["fast","hurry","marathon","move","person","quick","race","racing","run","rush","speed"],"version":0.6,"annotation":"person running","shortcodes":["person_running","running"],"skins":[{"tone":1,"emoji":"🏃🏻","version":1},{"tone":2,"emoji":"🏃🏼","version":1},{"tone":3,"emoji":"🏃🏽","version":1},{"tone":4,"emoji":"🏃🏾","version":1},{"tone":5,"emoji":"🏃🏿","version":1}]},{"emoji":"🏃♂️","group":1,"order":2327,"tags":["fast","hurry","man","marathon","move","quick","race","racing","run","rush","speed"],"version":4,"annotation":"man running","shortcodes":["man_running"],"skins":[{"tone":1,"emoji":"🏃🏻♂️","version":4},{"tone":2,"emoji":"🏃🏼♂️","version":4},{"tone":3,"emoji":"🏃🏽♂️","version":4},{"tone":4,"emoji":"🏃🏾♂️","version":4},{"tone":5,"emoji":"🏃🏿♂️","version":4}]},{"emoji":"🏃♀️","group":1,"order":2339,"tags":["fast","hurry","marathon","move","quick","race","racing","run","rush","speed","woman"],"version":4,"annotation":"woman running","shortcodes":["woman_running"],"skins":[{"tone":1,"emoji":"🏃🏻♀️","version":4},{"tone":2,"emoji":"🏃🏼♀️","version":4},{"tone":3,"emoji":"🏃🏽♀️","version":4},{"tone":4,"emoji":"🏃🏾♀️","version":4},{"tone":5,"emoji":"🏃🏿♀️","version":4}]},{"emoji":"🏃➡️","group":1,"order":2351,"tags":["fast","hurry","marathon","move","person","quick","race","racing","run","rush","speed"],"version":15.1,"annotation":"person running facing right","shortcodes":["person_running_right"],"skins":[{"tone":1,"emoji":"🏃🏻➡️","version":15.1},{"tone":2,"emoji":"🏃🏼➡️","version":15.1},{"tone":3,"emoji":"🏃🏽➡️","version":15.1},{"tone":4,"emoji":"🏃🏾➡️","version":15.1},{"tone":5,"emoji":"🏃🏿➡️","version":15.1}]},{"emoji":"🏃♀️➡️","group":1,"order":2363,"tags":["fast","hurry","marathon","move","quick","race","racing","run","rush","speed","woman"],"version":15.1,"annotation":"woman running facing right","shortcodes":["woman_running_right"],"skins":[{"tone":1,"emoji":"🏃🏻♀️➡️","version":15.1},{"tone":2,"emoji":"🏃🏼♀️➡️","version":15.1},{"tone":3,"emoji":"🏃🏽♀️➡️","version":15.1},{"tone":4,"emoji":"🏃🏾♀️➡️","version":15.1},{"tone":5,"emoji":"🏃🏿♀️➡️","version":15.1}]},{"emoji":"🏃♂️➡️","group":1,"order":2387,"tags":["fast","hurry","man","marathon","move","quick","race","racing","run","rush","speed"],"version":15.1,"annotation":"man running facing right","shortcodes":["man_running_right"],"skins":[{"tone":1,"emoji":"🏃🏻♂️➡️","version":15.1},{"tone":2,"emoji":"🏃🏼♂️➡️","version":15.1},{"tone":3,"emoji":"🏃🏽♂️➡️","version":15.1},{"tone":4,"emoji":"🏃🏾♂️➡️","version":15.1},{"tone":5,"emoji":"🏃🏿♂️➡️","version":15.1}]},{"emoji":"💃","group":1,"order":2411,"tags":["dance","dancer","dancing","elegant","festive","flair","flamenco","groove","let’s","salsa","tango","woman"],"version":0.6,"annotation":"woman dancing","shortcodes":["dancer","woman_dancing"],"skins":[{"tone":1,"emoji":"💃🏻","version":1},{"tone":2,"emoji":"💃🏼","version":1},{"tone":3,"emoji":"💃🏽","version":1},{"tone":4,"emoji":"💃🏾","version":1},{"tone":5,"emoji":"💃🏿","version":1}]},{"emoji":"🕺","group":1,"order":2417,"tags":["dance","dancer","dancing","elegant","festive","flair","flamenco","groove","let’s","man","salsa","tango"],"version":3,"annotation":"man dancing","shortcodes":["man_dancing"],"skins":[{"tone":1,"emoji":"🕺🏻","version":3},{"tone":2,"emoji":"🕺🏼","version":3},{"tone":3,"emoji":"🕺🏽","version":3},{"tone":4,"emoji":"🕺🏾","version":3},{"tone":5,"emoji":"🕺🏿","version":3}]},{"emoji":"🕴️","group":1,"order":2424,"tags":["business","levitating","person","suit"],"version":0.7,"annotation":"person in suit levitating","shortcodes":["levitate","levitating","person_in_suit_levitating"],"skins":[{"tone":1,"emoji":"🕴🏻","version":4},{"tone":2,"emoji":"🕴🏼","version":4},{"tone":3,"emoji":"🕴🏽","version":4},{"tone":4,"emoji":"🕴🏾","version":4},{"tone":5,"emoji":"🕴🏿","version":4}]},{"emoji":"👯","group":1,"order":2430,"tags":["bestie","bff","bunny","counterpart","dancer","double","ear","identical","pair","party","partying","people","soulmate","twin","twinsies"],"version":0.6,"annotation":"people with bunny ears","shortcodes":["dancers","people_with_bunny_ears_partying"]},{"emoji":"👯♂️","group":1,"order":2431,"tags":["bestie","bff","bunny","counterpart","dancer","double","ear","identical","men","pair","party","partying","people","soulmate","twin","twinsies"],"version":4,"annotation":"men with bunny ears","shortcodes":["men_with_bunny_ears_partying"]},{"emoji":"👯♀️","group":1,"order":2433,"tags":["bestie","bff","bunny","counterpart","dancer","double","ear","identical","pair","party","partying","people","soulmate","twin","twinsies","women"],"version":4,"annotation":"women with bunny ears","shortcodes":["women_with_bunny_ears_partying"]},{"emoji":"🧖","group":1,"order":2435,"tags":["day","luxurious","pamper","person","relax","room","sauna","spa","steam","steambath","unwind"],"version":5,"annotation":"person in steamy room","shortcodes":["person_in_steamy_room"],"skins":[{"tone":1,"emoji":"🧖🏻","version":5},{"tone":2,"emoji":"🧖🏼","version":5},{"tone":3,"emoji":"🧖🏽","version":5},{"tone":4,"emoji":"🧖🏾","version":5},{"tone":5,"emoji":"🧖🏿","version":5}]},{"emoji":"🧖♂️","group":1,"order":2441,"tags":["day","luxurious","man","pamper","relax","room","sauna","spa","steam","steambath","unwind"],"version":5,"annotation":"man in steamy room","shortcodes":["man_in_steamy_room"],"skins":[{"tone":1,"emoji":"🧖🏻♂️","version":5},{"tone":2,"emoji":"🧖🏼♂️","version":5},{"tone":3,"emoji":"🧖🏽♂️","version":5},{"tone":4,"emoji":"🧖🏾♂️","version":5},{"tone":5,"emoji":"🧖🏿♂️","version":5}]},{"emoji":"🧖♀️","group":1,"order":2453,"tags":["day","luxurious","pamper","relax","room","sauna","spa","steam","steambath","unwind","woman"],"version":5,"annotation":"woman in steamy room","shortcodes":["woman_in_steamy_room"],"skins":[{"tone":1,"emoji":"🧖🏻♀️","version":5},{"tone":2,"emoji":"🧖🏼♀️","version":5},{"tone":3,"emoji":"🧖🏽♀️","version":5},{"tone":4,"emoji":"🧖🏾♀️","version":5},{"tone":5,"emoji":"🧖🏿♀️","version":5}]},{"emoji":"🧗","group":1,"order":2465,"tags":["climb","climber","climbing","mountain","person","rock","scale","up"],"version":5,"annotation":"person climbing","shortcodes":["climbing","person_climbing"],"skins":[{"tone":1,"emoji":"🧗🏻","version":5},{"tone":2,"emoji":"🧗🏼","version":5},{"tone":3,"emoji":"🧗🏽","version":5},{"tone":4,"emoji":"🧗🏾","version":5},{"tone":5,"emoji":"🧗🏿","version":5}]},{"emoji":"🧗♂️","group":1,"order":2471,"tags":["climb","climber","climbing","man","mountain","rock","scale","up"],"version":5,"annotation":"man climbing","shortcodes":["man_climbing"],"skins":[{"tone":1,"emoji":"🧗🏻♂️","version":5},{"tone":2,"emoji":"🧗🏼♂️","version":5},{"tone":3,"emoji":"🧗🏽♂️","version":5},{"tone":4,"emoji":"🧗🏾♂️","version":5},{"tone":5,"emoji":"🧗🏿♂️","version":5}]},{"emoji":"🧗♀️","group":1,"order":2483,"tags":["climb","climber","climbing","mountain","rock","scale","up","woman"],"version":5,"annotation":"woman climbing","shortcodes":["woman_climbing"],"skins":[{"tone":1,"emoji":"🧗🏻♀️","version":5},{"tone":2,"emoji":"🧗🏼♀️","version":5},{"tone":3,"emoji":"🧗🏽♀️","version":5},{"tone":4,"emoji":"🧗🏾♀️","version":5},{"tone":5,"emoji":"🧗🏿♀️","version":5}]},{"emoji":"🤺","group":1,"order":2495,"tags":["fencer","fencing","person","sword"],"version":3,"annotation":"person fencing","shortcodes":["fencer","fencing","person_fencing"]},{"emoji":"🏇","group":1,"order":2496,"tags":["horse","jockey","racehorse","racing","riding","sport"],"version":1,"annotation":"horse racing","shortcodes":["horse_racing"],"skins":[{"tone":1,"emoji":"🏇🏻","version":1},{"tone":2,"emoji":"🏇🏼","version":1},{"tone":3,"emoji":"🏇🏽","version":1},{"tone":4,"emoji":"🏇🏾","version":1},{"tone":5,"emoji":"🏇🏿","version":1}]},{"emoji":"⛷️","group":1,"order":2503,"tags":["ski","snow"],"version":0.7,"annotation":"skier","shortcodes":["person_skiing","skier","skiing"]},{"emoji":"🏂️","group":1,"order":2504,"tags":["ski","snow","snowboard","sport"],"version":0.6,"annotation":"snowboarder","shortcodes":["person_snowboarding","snowboarder","snowboarding"],"skins":[{"tone":1,"emoji":"🏂🏻","version":1},{"tone":2,"emoji":"🏂🏼","version":1},{"tone":3,"emoji":"🏂🏽","version":1},{"tone":4,"emoji":"🏂🏾","version":1},{"tone":5,"emoji":"🏂🏿","version":1}]},{"emoji":"🏌️","group":1,"order":2511,"tags":["ball","birdie","caddy","driving","golf","golfing","green","person","pga","putt","range","tee"],"version":0.7,"annotation":"person golfing","shortcodes":["golfer","golfing","person_golfing"],"skins":[{"tone":1,"emoji":"🏌🏻","version":4},{"tone":2,"emoji":"🏌🏼","version":4},{"tone":3,"emoji":"🏌🏽","version":4},{"tone":4,"emoji":"🏌🏾","version":4},{"tone":5,"emoji":"🏌🏿","version":4}]},{"emoji":"🏌️♂️","group":1,"order":2517,"tags":["ball","birdie","caddy","driving","golf","golfing","green","man","pga","putt","range","tee"],"version":4,"annotation":"man golfing","shortcodes":["man_golfing"],"skins":[{"tone":1,"emoji":"🏌🏻♂️","version":4},{"tone":2,"emoji":"🏌🏼♂️","version":4},{"tone":3,"emoji":"🏌🏽♂️","version":4},{"tone":4,"emoji":"🏌🏾♂️","version":4},{"tone":5,"emoji":"🏌🏿♂️","version":4}]},{"emoji":"🏌️♀️","group":1,"order":2531,"tags":["ball","birdie","caddy","driving","golf","golfing","green","pga","putt","range","tee","woman"],"version":4,"annotation":"woman golfing","shortcodes":["woman_golfing"],"skins":[{"tone":1,"emoji":"🏌🏻♀️","version":4},{"tone":2,"emoji":"🏌🏼♀️","version":4},{"tone":3,"emoji":"🏌🏽♀️","version":4},{"tone":4,"emoji":"🏌🏾♀️","version":4},{"tone":5,"emoji":"🏌🏿♀️","version":4}]},{"emoji":"🏄️","group":1,"order":2545,"tags":["beach","ocean","person","sport","surf","surfer","surfing","swell","waves"],"version":0.6,"annotation":"person surfing","shortcodes":["person_surfing","surfer","surfing"],"skins":[{"tone":1,"emoji":"🏄🏻","version":1},{"tone":2,"emoji":"🏄🏼","version":1},{"tone":3,"emoji":"🏄🏽","version":1},{"tone":4,"emoji":"🏄🏾","version":1},{"tone":5,"emoji":"🏄🏿","version":1}]},{"emoji":"🏄♂️","group":1,"order":2551,"tags":["beach","man","ocean","sport","surf","surfer","surfing","swell","waves"],"version":4,"annotation":"man surfing","shortcodes":["man_surfing"],"skins":[{"tone":1,"emoji":"🏄🏻♂️","version":4},{"tone":2,"emoji":"🏄🏼♂️","version":4},{"tone":3,"emoji":"🏄🏽♂️","version":4},{"tone":4,"emoji":"🏄🏾♂️","version":4},{"tone":5,"emoji":"🏄🏿♂️","version":4}]},{"emoji":"🏄♀️","group":1,"order":2563,"tags":["beach","ocean","person","sport","surf","surfer","surfing","swell","waves"],"version":4,"annotation":"woman surfing","shortcodes":["woman_surfing"],"skins":[{"tone":1,"emoji":"🏄🏻♀️","version":4},{"tone":2,"emoji":"🏄🏼♀️","version":4},{"tone":3,"emoji":"🏄🏽♀️","version":4},{"tone":4,"emoji":"🏄🏾♀️","version":4},{"tone":5,"emoji":"🏄🏿♀️","version":4}]},{"emoji":"🚣","group":1,"order":2575,"tags":["boat","canoe","cruise","fishing","lake","oar","paddle","person","raft","river","row","rowboat","rowing"],"version":1,"annotation":"person rowing boat","shortcodes":["person_rowing_boat","rowboat"],"skins":[{"tone":1,"emoji":"🚣🏻","version":1},{"tone":2,"emoji":"🚣🏼","version":1},{"tone":3,"emoji":"🚣🏽","version":1},{"tone":4,"emoji":"🚣🏾","version":1},{"tone":5,"emoji":"🚣🏿","version":1}]},{"emoji":"🚣♂️","group":1,"order":2581,"tags":["boat","canoe","cruise","fishing","lake","man","oar","paddle","raft","river","row","rowboat","rowing"],"version":4,"annotation":"man rowing boat","shortcodes":["man_rowing_boat"],"skins":[{"tone":1,"emoji":"🚣🏻♂️","version":4},{"tone":2,"emoji":"🚣🏼♂️","version":4},{"tone":3,"emoji":"🚣🏽♂️","version":4},{"tone":4,"emoji":"🚣🏾♂️","version":4},{"tone":5,"emoji":"🚣🏿♂️","version":4}]},{"emoji":"🚣♀️","group":1,"order":2593,"tags":["boat","canoe","cruise","fishing","lake","oar","paddle","raft","river","row","rowboat","rowing","woman"],"version":4,"annotation":"woman rowing boat","shortcodes":["woman_rowing_boat"],"skins":[{"tone":1,"emoji":"🚣🏻♀️","version":4},{"tone":2,"emoji":"🚣🏼♀️","version":4},{"tone":3,"emoji":"🚣🏽♀️","version":4},{"tone":4,"emoji":"🚣🏾♀️","version":4},{"tone":5,"emoji":"🚣🏿♀️","version":4}]},{"emoji":"🏊️","group":1,"order":2605,"tags":["freestyle","person","sport","swim","swimmer","swimming","triathlon"],"version":0.6,"annotation":"person swimming","shortcodes":["person_swimming","swimmer","swimming"],"skins":[{"tone":1,"emoji":"🏊🏻","version":1},{"tone":2,"emoji":"🏊🏼","version":1},{"tone":3,"emoji":"🏊🏽","version":1},{"tone":4,"emoji":"🏊🏾","version":1},{"tone":5,"emoji":"🏊🏿","version":1}]},{"emoji":"🏊♂️","group":1,"order":2611,"tags":["freestyle","man","sport","swim","swimmer","swimming","triathlon"],"version":4,"annotation":"man swimming","shortcodes":["man_swimming"],"skins":[{"tone":1,"emoji":"🏊🏻♂️","version":4},{"tone":2,"emoji":"🏊🏼♂️","version":4},{"tone":3,"emoji":"🏊🏽♂️","version":4},{"tone":4,"emoji":"🏊🏾♂️","version":4},{"tone":5,"emoji":"🏊🏿♂️","version":4}]},{"emoji":"🏊♀️","group":1,"order":2623,"tags":["freestyle","man","sport","swim","swimmer","swimming","triathlon"],"version":4,"annotation":"woman swimming","shortcodes":["woman_swimming"],"skins":[{"tone":1,"emoji":"🏊🏻♀️","version":4},{"tone":2,"emoji":"🏊🏼♀️","version":4},{"tone":3,"emoji":"🏊🏽♀️","version":4},{"tone":4,"emoji":"🏊🏾♀️","version":4},{"tone":5,"emoji":"🏊🏿♀️","version":4}]},{"emoji":"⛹️","group":1,"order":2636,"tags":["athletic","ball","basketball","bouncing","championship","dribble","net","person","player","throw"],"version":0.7,"annotation":"person bouncing ball","shortcodes":["person_bouncing_ball"],"skins":[{"tone":1,"emoji":"⛹🏻","version":2},{"tone":2,"emoji":"⛹🏼","version":2},{"tone":3,"emoji":"⛹🏽","version":2},{"tone":4,"emoji":"⛹🏾","version":2},{"tone":5,"emoji":"⛹🏿","version":2}]},{"emoji":"⛹️♂️","group":1,"order":2642,"tags":["athletic","ball","basketball","bouncing","championship","dribble","man","net","player","throw"],"version":4,"annotation":"man bouncing ball","shortcodes":["man_bouncing_ball"],"skins":[{"tone":1,"emoji":"⛹🏻♂️","version":4},{"tone":2,"emoji":"⛹🏼♂️","version":4},{"tone":3,"emoji":"⛹🏽♂️","version":4},{"tone":4,"emoji":"⛹🏾♂️","version":4},{"tone":5,"emoji":"⛹🏿♂️","version":4}]},{"emoji":"⛹️♀️","group":1,"order":2656,"tags":["athletic","ball","basketball","bouncing","championship","dribble","net","player","throw","woman"],"version":4,"annotation":"woman bouncing ball","shortcodes":["woman_bouncing_ball"],"skins":[{"tone":1,"emoji":"⛹🏻♀️","version":4},{"tone":2,"emoji":"⛹🏼♀️","version":4},{"tone":3,"emoji":"⛹🏽♀️","version":4},{"tone":4,"emoji":"⛹🏾♀️","version":4},{"tone":5,"emoji":"⛹🏿♀️","version":4}]},{"emoji":"🏋️","group":1,"order":2671,"tags":["barbell","bodybuilder","deadlift","lifter","lifting","person","powerlifting","weight","weightlifter","weights","workout"],"version":0.7,"annotation":"person lifting weights","shortcodes":["person_lifting_weights","weight_lifter","weight_lifting"],"skins":[{"tone":1,"emoji":"🏋🏻","version":2},{"tone":2,"emoji":"🏋🏼","version":2},{"tone":3,"emoji":"🏋🏽","version":2},{"tone":4,"emoji":"🏋🏾","version":2},{"tone":5,"emoji":"🏋🏿","version":2}]},{"emoji":"🏋️♂️","group":1,"order":2677,"tags":["barbell","bodybuilder","deadlift","lifter","lifting","man","powerlifting","weight","weightlifter","weights","workout"],"version":4,"annotation":"man lifting weights","shortcodes":["man_lifting_weights"],"skins":[{"tone":1,"emoji":"🏋🏻♂️","version":4},{"tone":2,"emoji":"🏋🏼♂️","version":4},{"tone":3,"emoji":"🏋🏽♂️","version":4},{"tone":4,"emoji":"🏋🏾♂️","version":4},{"tone":5,"emoji":"🏋🏿♂️","version":4}]},{"emoji":"🏋️♀️","group":1,"order":2691,"tags":["barbell","bodybuilder","deadlift","lifter","lifting","powerlifting","weight","weightlifter","weights","woman","workout"],"version":4,"annotation":"woman lifting weights","shortcodes":["woman_lifting_weights"],"skins":[{"tone":1,"emoji":"🏋🏻♀️","version":4},{"tone":2,"emoji":"🏋🏼♀️","version":4},{"tone":3,"emoji":"🏋🏽♀️","version":4},{"tone":4,"emoji":"🏋🏾♀️","version":4},{"tone":5,"emoji":"🏋🏿♀️","version":4}]},{"emoji":"🚴","group":1,"order":2705,"tags":["bicycle","bicyclist","bike","biking","cycle","cyclist","person","riding","sport"],"version":1,"annotation":"person biking","shortcodes":["bicyclist","biking","person_biking"],"skins":[{"tone":1,"emoji":"🚴🏻","version":1},{"tone":2,"emoji":"🚴🏼","version":1},{"tone":3,"emoji":"🚴🏽","version":1},{"tone":4,"emoji":"🚴🏾","version":1},{"tone":5,"emoji":"🚴🏿","version":1}]},{"emoji":"🚴♂️","group":1,"order":2711,"tags":["bicycle","bicyclist","bike","biking","cycle","cyclist","man","riding","sport"],"version":4,"annotation":"man biking","shortcodes":["man_biking"],"skins":[{"tone":1,"emoji":"🚴🏻♂️","version":4},{"tone":2,"emoji":"🚴🏼♂️","version":4},{"tone":3,"emoji":"🚴🏽♂️","version":4},{"tone":4,"emoji":"🚴🏾♂️","version":4},{"tone":5,"emoji":"🚴🏿♂️","version":4}]},{"emoji":"🚴♀️","group":1,"order":2723,"tags":["bicycle","bicyclist","bike","biking","cycle","cyclist","riding","sport","woman"],"version":4,"annotation":"woman biking","shortcodes":["woman_biking"],"skins":[{"tone":1,"emoji":"🚴🏻♀️","version":4},{"tone":2,"emoji":"🚴🏼♀️","version":4},{"tone":3,"emoji":"🚴🏽♀️","version":4},{"tone":4,"emoji":"🚴🏾♀️","version":4},{"tone":5,"emoji":"🚴🏿♀️","version":4}]},{"emoji":"🚵","group":1,"order":2735,"tags":["bicycle","bicyclist","bike","biking","cycle","cyclist","mountain","person","riding","sport"],"version":1,"annotation":"person mountain biking","shortcodes":["mountain_bicyclist","mountain_biking","person_mountain_biking"],"skins":[{"tone":1,"emoji":"🚵🏻","version":1},{"tone":2,"emoji":"🚵🏼","version":1},{"tone":3,"emoji":"🚵🏽","version":1},{"tone":4,"emoji":"🚵🏾","version":1},{"tone":5,"emoji":"🚵🏿","version":1}]},{"emoji":"🚵♂️","group":1,"order":2741,"tags":["bicycle","bicyclist","bike","biking","cycle","cyclist","man","mountain","riding","sport"],"version":4,"annotation":"man mountain biking","shortcodes":["man_mountain_biking"],"skins":[{"tone":1,"emoji":"🚵🏻♂️","version":4},{"tone":2,"emoji":"🚵🏼♂️","version":4},{"tone":3,"emoji":"🚵🏽♂️","version":4},{"tone":4,"emoji":"🚵🏾♂️","version":4},{"tone":5,"emoji":"🚵🏿♂️","version":4}]},{"emoji":"🚵♀️","group":1,"order":2753,"tags":["bicycle","bicyclist","bike","biking","cycle","cyclist","mountain","riding","sport","woman"],"version":4,"annotation":"woman mountain biking","shortcodes":["woman_mountain_biking"],"skins":[{"tone":1,"emoji":"🚵🏻♀️","version":4},{"tone":2,"emoji":"🚵🏼♀️","version":4},{"tone":3,"emoji":"🚵🏽♀️","version":4},{"tone":4,"emoji":"🚵🏾♀️","version":4},{"tone":5,"emoji":"🚵🏿♀️","version":4}]},{"emoji":"🤸","group":1,"order":2765,"tags":["active","cartwheel","cartwheeling","excited","flip","gymnastics","happy","person","somersault"],"version":3,"annotation":"person cartwheeling","shortcodes":["cartwheeling","person_cartwheel"],"skins":[{"tone":1,"emoji":"🤸🏻","version":3},{"tone":2,"emoji":"🤸🏼","version":3},{"tone":3,"emoji":"🤸🏽","version":3},{"tone":4,"emoji":"🤸🏾","version":3},{"tone":5,"emoji":"🤸🏿","version":3}]},{"emoji":"🤸♂️","group":1,"order":2771,"tags":["active","cartwheel","cartwheeling","excited","flip","gymnastics","happy","man","somersault"],"version":4,"annotation":"man cartwheeling","shortcodes":["man_cartwheeling"],"skins":[{"tone":1,"emoji":"🤸🏻♂️","version":4},{"tone":2,"emoji":"🤸🏼♂️","version":4},{"tone":3,"emoji":"🤸🏽♂️","version":4},{"tone":4,"emoji":"🤸🏾♂️","version":4},{"tone":5,"emoji":"🤸🏿♂️","version":4}]},{"emoji":"🤸♀️","group":1,"order":2783,"tags":["active","cartwheel","cartwheeling","excited","flip","gymnastics","happy","somersault","woman"],"version":4,"annotation":"woman cartwheeling","shortcodes":["woman_cartwheeling"],"skins":[{"tone":1,"emoji":"🤸🏻♀️","version":4},{"tone":2,"emoji":"🤸🏼♀️","version":4},{"tone":3,"emoji":"🤸🏽♀️","version":4},{"tone":4,"emoji":"🤸🏾♀️","version":4},{"tone":5,"emoji":"🤸🏿♀️","version":4}]},{"emoji":"🤼","group":1,"order":2795,"tags":["combat","duel","grapple","people","ring","tournament","wrestle","wrestling"],"version":3,"annotation":"people wrestling","shortcodes":["people_wrestling","wrestlers","wrestling"]},{"emoji":"🤼♂️","group":1,"order":2796,"tags":["combat","duel","grapple","men","ring","tournament","wrestle","wrestling"],"version":4,"annotation":"men wrestling","shortcodes":["men_wrestling"]},{"emoji":"🤼♀️","group":1,"order":2798,"tags":["combat","duel","grapple","ring","tournament","women","wrestle","wrestling"],"version":4,"annotation":"women wrestling","shortcodes":["women_wrestling"]},{"emoji":"🤽","group":1,"order":2800,"tags":["person","playing","polo","sport","swimming","water","waterpolo"],"version":3,"annotation":"person playing water polo","shortcodes":["person_playing_water_polo","water_polo"],"skins":[{"tone":1,"emoji":"🤽🏻","version":3},{"tone":2,"emoji":"🤽🏼","version":3},{"tone":3,"emoji":"🤽🏽","version":3},{"tone":4,"emoji":"🤽🏾","version":3},{"tone":5,"emoji":"🤽🏿","version":3}]},{"emoji":"🤽♂️","group":1,"order":2806,"tags":["man","playing","polo","sport","swimming","water","waterpolo"],"version":4,"annotation":"man playing water polo","shortcodes":["man_playing_water_polo"],"skins":[{"tone":1,"emoji":"🤽🏻♂️","version":4},{"tone":2,"emoji":"🤽🏼♂️","version":4},{"tone":3,"emoji":"🤽🏽♂️","version":4},{"tone":4,"emoji":"🤽🏾♂️","version":4},{"tone":5,"emoji":"🤽🏿♂️","version":4}]},{"emoji":"🤽♀️","group":1,"order":2818,"tags":["playing","polo","sport","swimming","water","waterpolo","woman"],"version":4,"annotation":"woman playing water polo","shortcodes":["woman_playing_water_polo"],"skins":[{"tone":1,"emoji":"🤽🏻♀️","version":4},{"tone":2,"emoji":"🤽🏼♀️","version":4},{"tone":3,"emoji":"🤽🏽♀️","version":4},{"tone":4,"emoji":"🤽🏾♀️","version":4},{"tone":5,"emoji":"🤽🏿♀️","version":4}]},{"emoji":"🤾","group":1,"order":2830,"tags":["athletics","ball","catch","chuck","handball","hurl","lob","person","pitch","playing","sport","throw","toss"],"version":3,"annotation":"person playing handball","shortcodes":["handball","person_playing_handball"],"skins":[{"tone":1,"emoji":"🤾🏻","version":3},{"tone":2,"emoji":"🤾🏼","version":3},{"tone":3,"emoji":"🤾🏽","version":3},{"tone":4,"emoji":"🤾🏾","version":3},{"tone":5,"emoji":"🤾🏿","version":3}]},{"emoji":"🤾♂️","group":1,"order":2836,"tags":["athletics","ball","catch","chuck","handball","hurl","lob","man","pitch","playing","sport","throw","toss"],"version":4,"annotation":"man playing handball","shortcodes":["man_playing_handball"],"skins":[{"tone":1,"emoji":"🤾🏻♂️","version":4},{"tone":2,"emoji":"🤾🏼♂️","version":4},{"tone":3,"emoji":"🤾🏽♂️","version":4},{"tone":4,"emoji":"🤾🏾♂️","version":4},{"tone":5,"emoji":"🤾🏿♂️","version":4}]},{"emoji":"🤾♀️","group":1,"order":2848,"tags":["athletics","ball","catch","chuck","handball","hurl","lob","pitch","playing","sport","throw","toss","woman"],"version":4,"annotation":"woman playing handball","shortcodes":["woman_playing_handball"],"skins":[{"tone":1,"emoji":"🤾🏻♀️","version":4},{"tone":2,"emoji":"🤾🏼♀️","version":4},{"tone":3,"emoji":"🤾🏽♀️","version":4},{"tone":4,"emoji":"🤾🏾♀️","version":4},{"tone":5,"emoji":"🤾🏿♀️","version":4}]},{"emoji":"🤹","group":1,"order":2860,"tags":["act","balance","balancing","handle","juggle","juggling","manage","multitask","person","skill"],"version":3,"annotation":"person juggling","shortcodes":["juggler","juggling","person_juggling"],"skins":[{"tone":1,"emoji":"🤹🏻","version":3},{"tone":2,"emoji":"🤹🏼","version":3},{"tone":3,"emoji":"🤹🏽","version":3},{"tone":4,"emoji":"🤹🏾","version":3},{"tone":5,"emoji":"🤹🏿","version":3}]},{"emoji":"🤹♂️","group":1,"order":2866,"tags":["act","balance","balancing","handle","juggle","juggling","man","manage","multitask","skill"],"version":4,"annotation":"man juggling","shortcodes":["man_juggling"],"skins":[{"tone":1,"emoji":"🤹🏻♂️","version":4},{"tone":2,"emoji":"🤹🏼♂️","version":4},{"tone":3,"emoji":"🤹🏽♂️","version":4},{"tone":4,"emoji":"🤹🏾♂️","version":4},{"tone":5,"emoji":"🤹🏿♂️","version":4}]},{"emoji":"🤹♀️","group":1,"order":2878,"tags":["act","balance","balancing","handle","juggle","juggling","manage","multitask","skill","woman"],"version":4,"annotation":"woman juggling","shortcodes":["woman_juggling"],"skins":[{"tone":1,"emoji":"🤹🏻♀️","version":4},{"tone":2,"emoji":"🤹🏼♀️","version":4},{"tone":3,"emoji":"🤹🏽♀️","version":4},{"tone":4,"emoji":"🤹🏾♀️","version":4},{"tone":5,"emoji":"🤹🏿♀️","version":4}]},{"emoji":"🧘","group":1,"order":2890,"tags":["cross","legged","legs","lotus","meditation","peace","person","position","relax","serenity","yoga","yogi","zen"],"version":5,"annotation":"person in lotus position","shortcodes":["person_in_lotus_position"],"skins":[{"tone":1,"emoji":"🧘🏻","version":5},{"tone":2,"emoji":"🧘🏼","version":5},{"tone":3,"emoji":"🧘🏽","version":5},{"tone":4,"emoji":"🧘🏾","version":5},{"tone":5,"emoji":"🧘🏿","version":5}]},{"emoji":"🧘♂️","group":1,"order":2896,"tags":["cross","legged","legs","lotus","man","meditation","peace","position","relax","serenity","yoga","yogi","zen"],"version":5,"annotation":"man in lotus position","shortcodes":["man_in_lotus_position"],"skins":[{"tone":1,"emoji":"🧘🏻♂️","version":5},{"tone":2,"emoji":"🧘🏼♂️","version":5},{"tone":3,"emoji":"🧘🏽♂️","version":5},{"tone":4,"emoji":"🧘🏾♂️","version":5},{"tone":5,"emoji":"🧘🏿♂️","version":5}]},{"emoji":"🧘♀️","group":1,"order":2908,"tags":["cross","legged","legs","lotus","meditation","peace","position","relax","serenity","woman","yoga","yogi","zen"],"version":5,"annotation":"woman in lotus position","shortcodes":["woman_in_lotus_position"],"skins":[{"tone":1,"emoji":"🧘🏻♀️","version":5},{"tone":2,"emoji":"🧘🏼♀️","version":5},{"tone":3,"emoji":"🧘🏽♀️","version":5},{"tone":4,"emoji":"🧘🏾♀️","version":5},{"tone":5,"emoji":"🧘🏿♀️","version":5}]},{"emoji":"🛀","group":1,"order":2920,"tags":["bath","bathtub","person","taking","tub"],"version":0.6,"annotation":"person taking bath","shortcodes":["bath","person_taking_bath"],"skins":[{"tone":1,"emoji":"🛀🏻","version":1},{"tone":2,"emoji":"🛀🏼","version":1},{"tone":3,"emoji":"🛀🏽","version":1},{"tone":4,"emoji":"🛀🏾","version":1},{"tone":5,"emoji":"🛀🏿","version":1}]},{"emoji":"🛌","group":1,"order":2926,"tags":["bed","bedtime","good","goodnight","hotel","nap","night","person","sleep","tired","zzz"],"version":1,"annotation":"person in bed","shortcodes":["person_in_bed","sleeping_accommodation"],"skins":[{"tone":1,"emoji":"🛌🏻","version":4},{"tone":2,"emoji":"🛌🏼","version":4},{"tone":3,"emoji":"🛌🏽","version":4},{"tone":4,"emoji":"🛌🏾","version":4},{"tone":5,"emoji":"🛌🏿","version":4}]},{"emoji":"🧑🤝🧑","group":1,"order":2932,"tags":["bae","bestie","bff","couple","dating","flirt","friends","hand","hold","people","twins"],"version":12,"annotation":"people holding hands","shortcodes":["people_holding_hands"],"skins":[{"tone":1,"emoji":"🧑🏻🤝🧑🏻","version":12},{"tone":[1,2],"emoji":"🧑🏻🤝🧑🏼","version":12.1},{"tone":[1,3],"emoji":"🧑🏻🤝🧑🏽","version":12.1},{"tone":[1,4],"emoji":"🧑🏻🤝🧑🏾","version":12.1},{"tone":[1,5],"emoji":"🧑🏻🤝🧑🏿","version":12.1},{"tone":[2,1],"emoji":"🧑🏼🤝🧑🏻","version":12},{"tone":2,"emoji":"🧑🏼🤝🧑🏼","version":12},{"tone":[2,3],"emoji":"🧑🏼🤝🧑🏽","version":12.1},{"tone":[2,4],"emoji":"🧑🏼🤝🧑🏾","version":12.1},{"tone":[2,5],"emoji":"🧑🏼🤝🧑🏿","version":12.1},{"tone":[3,1],"emoji":"🧑🏽🤝🧑🏻","version":12},{"tone":[3,2],"emoji":"🧑🏽🤝🧑🏼","version":12},{"tone":3,"emoji":"🧑🏽🤝🧑🏽","version":12},{"tone":[3,4],"emoji":"🧑🏽🤝🧑🏾","version":12.1},{"tone":[3,5],"emoji":"🧑🏽🤝🧑🏿","version":12.1},{"tone":[4,1],"emoji":"🧑🏾🤝🧑🏻","version":12},{"tone":[4,2],"emoji":"🧑🏾🤝🧑🏼","version":12},{"tone":[4,3],"emoji":"🧑🏾🤝🧑🏽","version":12},{"tone":4,"emoji":"🧑🏾🤝🧑🏾","version":12},{"tone":[4,5],"emoji":"🧑🏾🤝🧑🏿","version":12.1},{"tone":[5,1],"emoji":"🧑🏿🤝🧑🏻","version":12},{"tone":[5,2],"emoji":"🧑🏿🤝🧑🏼","version":12},{"tone":[5,3],"emoji":"🧑🏿🤝🧑🏽","version":12},{"tone":[5,4],"emoji":"🧑🏿🤝🧑🏾","version":12},{"tone":5,"emoji":"🧑🏿🤝🧑🏿","version":12}]},{"emoji":"👭","group":1,"order":2958,"tags":["bae","bestie","bff","couple","dating","flirt","friends","girls","hand","hold","sisters","twins","women"],"version":1,"annotation":"women holding hands","shortcodes":["two_women_holding_hands"],"skins":[{"tone":1,"emoji":"👭🏻","version":12},{"tone":2,"emoji":"👭🏼","version":12},{"tone":3,"emoji":"👭🏽","version":12},{"tone":4,"emoji":"👭🏾","version":12},{"tone":5,"emoji":"👭🏿","version":12},{"tone":[1,2],"emoji":"👩🏻🤝👩🏼","version":12.1},{"tone":[1,3],"emoji":"👩🏻🤝👩🏽","version":12.1},{"tone":[1,4],"emoji":"👩🏻🤝👩🏾","version":12.1},{"tone":[1,5],"emoji":"👩🏻🤝👩🏿","version":12.1},{"tone":[2,1],"emoji":"👩🏼🤝👩🏻","version":12},{"tone":[2,3],"emoji":"👩🏼🤝👩🏽","version":12.1},{"tone":[2,4],"emoji":"👩🏼🤝👩🏾","version":12.1},{"tone":[2,5],"emoji":"👩🏼🤝👩🏿","version":12.1},{"tone":[3,1],"emoji":"👩🏽🤝👩🏻","version":12},{"tone":[3,2],"emoji":"👩🏽🤝👩🏼","version":12},{"tone":[3,4],"emoji":"👩🏽🤝👩🏾","version":12.1},{"tone":[3,5],"emoji":"👩🏽🤝👩🏿","version":12.1},{"tone":[4,1],"emoji":"👩🏾🤝👩🏻","version":12},{"tone":[4,2],"emoji":"👩🏾🤝👩🏼","version":12},{"tone":[4,3],"emoji":"👩🏾🤝👩🏽","version":12},{"tone":[4,5],"emoji":"👩🏾🤝👩🏿","version":12.1},{"tone":[5,1],"emoji":"👩🏿🤝👩🏻","version":12},{"tone":[5,2],"emoji":"👩🏿🤝👩🏼","version":12},{"tone":[5,3],"emoji":"👩🏿🤝👩🏽","version":12},{"tone":[5,4],"emoji":"👩🏿🤝👩🏾","version":12}]},{"emoji":"👫","group":1,"order":2984,"tags":["bae","bestie","bff","couple","dating","flirt","friends","hand","hold","man","twins","woman"],"version":0.6,"annotation":"woman and man holding hands","shortcodes":["couple"],"skins":[{"tone":1,"emoji":"👫🏻","version":12},{"tone":2,"emoji":"👫🏼","version":12},{"tone":3,"emoji":"👫🏽","version":12},{"tone":4,"emoji":"👫🏾","version":12},{"tone":5,"emoji":"👫🏿","version":12},{"tone":[1,2],"emoji":"👩🏻🤝👨🏼","version":12},{"tone":[1,3],"emoji":"👩🏻🤝👨🏽","version":12},{"tone":[1,4],"emoji":"👩🏻🤝👨🏾","version":12},{"tone":[1,5],"emoji":"👩🏻🤝👨🏿","version":12},{"tone":[2,1],"emoji":"👩🏼🤝👨🏻","version":12},{"tone":[2,3],"emoji":"👩🏼🤝👨🏽","version":12},{"tone":[2,4],"emoji":"👩🏼🤝👨🏾","version":12},{"tone":[2,5],"emoji":"👩🏼🤝👨🏿","version":12},{"tone":[3,1],"emoji":"👩🏽🤝👨🏻","version":12},{"tone":[3,2],"emoji":"👩🏽🤝👨🏼","version":12},{"tone":[3,4],"emoji":"👩🏽🤝👨🏾","version":12},{"tone":[3,5],"emoji":"👩🏽🤝👨🏿","version":12},{"tone":[4,1],"emoji":"👩🏾🤝👨🏻","version":12},{"tone":[4,2],"emoji":"👩🏾🤝👨🏼","version":12},{"tone":[4,3],"emoji":"👩🏾🤝👨🏽","version":12},{"tone":[4,5],"emoji":"👩🏾🤝👨🏿","version":12},{"tone":[5,1],"emoji":"👩🏿🤝👨🏻","version":12},{"tone":[5,2],"emoji":"👩🏿🤝👨🏼","version":12},{"tone":[5,3],"emoji":"👩🏿🤝👨🏽","version":12},{"tone":[5,4],"emoji":"👩🏿🤝👨🏾","version":12}]},{"emoji":"👬","group":1,"order":3010,"tags":["bae","bestie","bff","boys","brothers","couple","dating","flirt","friends","hand","hold","men","twins"],"version":1,"annotation":"men holding hands","shortcodes":["two_men_holding_hands"],"skins":[{"tone":1,"emoji":"👬🏻","version":12},{"tone":2,"emoji":"👬🏼","version":12},{"tone":3,"emoji":"👬🏽","version":12},{"tone":4,"emoji":"👬🏾","version":12},{"tone":5,"emoji":"👬🏿","version":12},{"tone":[1,2],"emoji":"👨🏻🤝👨🏼","version":12.1},{"tone":[1,3],"emoji":"👨🏻🤝👨🏽","version":12.1},{"tone":[1,4],"emoji":"👨🏻🤝👨🏾","version":12.1},{"tone":[1,5],"emoji":"👨🏻🤝👨🏿","version":12.1},{"tone":[2,1],"emoji":"👨🏼🤝👨🏻","version":12},{"tone":[2,3],"emoji":"👨🏼🤝👨🏽","version":12.1},{"tone":[2,4],"emoji":"👨🏼🤝👨🏾","version":12.1},{"tone":[2,5],"emoji":"👨🏼🤝👨🏿","version":12.1},{"tone":[3,1],"emoji":"👨🏽🤝👨🏻","version":12},{"tone":[3,2],"emoji":"👨🏽🤝👨🏼","version":12},{"tone":[3,4],"emoji":"👨🏽🤝👨🏾","version":12.1},{"tone":[3,5],"emoji":"👨🏽🤝👨🏿","version":12.1},{"tone":[4,1],"emoji":"👨🏾🤝👨🏻","version":12},{"tone":[4,2],"emoji":"👨🏾🤝👨🏼","version":12},{"tone":[4,3],"emoji":"👨🏾🤝👨🏽","version":12},{"tone":[4,5],"emoji":"👨🏾🤝👨🏿","version":12.1},{"tone":[5,1],"emoji":"👨🏿🤝👨🏻","version":12},{"tone":[5,2],"emoji":"👨🏿🤝👨🏼","version":12},{"tone":[5,3],"emoji":"👨🏿🤝👨🏽","version":12},{"tone":[5,4],"emoji":"👨🏿🤝👨🏾","version":12}]},{"emoji":"💏","group":1,"order":3036,"tags":["anniversary","babe","bae","couple","date","dating","heart","love","mwah","person","romance","together","xoxo"],"version":0.6,"annotation":"kiss","shortcodes":["couple_kiss","couplekiss"],"skins":[{"tone":1,"emoji":"💏🏻","version":13.1},{"tone":2,"emoji":"💏🏼","version":13.1},{"tone":3,"emoji":"💏🏽","version":13.1},{"tone":4,"emoji":"💏🏾","version":13.1},{"tone":5,"emoji":"💏🏿","version":13.1},{"tone":[1,2],"emoji":"🧑🏻❤️💋🧑🏼","version":13.1},{"tone":[1,3],"emoji":"🧑🏻❤️💋🧑🏽","version":13.1},{"tone":[1,4],"emoji":"🧑🏻❤️💋🧑🏾","version":13.1},{"tone":[1,5],"emoji":"🧑🏻❤️💋🧑🏿","version":13.1},{"tone":[2,1],"emoji":"🧑🏼❤️💋🧑🏻","version":13.1},{"tone":[2,3],"emoji":"🧑🏼❤️💋🧑🏽","version":13.1},{"tone":[2,4],"emoji":"🧑🏼❤️💋🧑🏾","version":13.1},{"tone":[2,5],"emoji":"🧑🏼❤️💋🧑🏿","version":13.1},{"tone":[3,1],"emoji":"🧑🏽❤️💋🧑🏻","version":13.1},{"tone":[3,2],"emoji":"🧑🏽❤️💋🧑🏼","version":13.1},{"tone":[3,4],"emoji":"🧑🏽❤️💋🧑🏾","version":13.1},{"tone":[3,5],"emoji":"🧑🏽❤️💋🧑🏿","version":13.1},{"tone":[4,1],"emoji":"🧑🏾❤️💋🧑🏻","version":13.1},{"tone":[4,2],"emoji":"🧑🏾❤️💋🧑🏼","version":13.1},{"tone":[4,3],"emoji":"🧑🏾❤️💋🧑🏽","version":13.1},{"tone":[4,5],"emoji":"🧑🏾❤️💋🧑🏿","version":13.1},{"tone":[5,1],"emoji":"🧑🏿❤️💋🧑🏻","version":13.1},{"tone":[5,2],"emoji":"🧑🏿❤️💋🧑🏼","version":13.1},{"tone":[5,3],"emoji":"🧑🏿❤️💋🧑🏽","version":13.1},{"tone":[5,4],"emoji":"🧑🏿❤️💋🧑🏾","version":13.1}]},{"emoji":"👩❤️💋👨","group":1,"order":3082,"tags":["anniversary","babe","bae","couple","date","dating","heart","kiss","love","man","mwah","person","romance","together","woman","xoxo"],"version":2,"annotation":"kiss: woman, man","shortcodes":["kiss_mw","kiss_wm"],"skins":[{"tone":1,"emoji":"👩🏻❤️💋👨🏻","version":13.1},{"tone":[1,2],"emoji":"👩🏻❤️💋👨🏼","version":13.1},{"tone":[1,3],"emoji":"👩🏻❤️💋👨🏽","version":13.1},{"tone":[1,4],"emoji":"👩🏻❤️💋👨🏾","version":13.1},{"tone":[1,5],"emoji":"👩🏻❤️💋👨🏿","version":13.1},{"tone":[2,1],"emoji":"👩🏼❤️💋👨🏻","version":13.1},{"tone":2,"emoji":"👩🏼❤️💋👨🏼","version":13.1},{"tone":[2,3],"emoji":"👩🏼❤️💋👨🏽","version":13.1},{"tone":[2,4],"emoji":"👩🏼❤️💋👨🏾","version":13.1},{"tone":[2,5],"emoji":"👩🏼❤️💋👨🏿","version":13.1},{"tone":[3,1],"emoji":"👩🏽❤️💋👨🏻","version":13.1},{"tone":[3,2],"emoji":"👩🏽❤️💋👨🏼","version":13.1},{"tone":3,"emoji":"👩🏽❤️💋👨🏽","version":13.1},{"tone":[3,4],"emoji":"👩🏽❤️💋👨🏾","version":13.1},{"tone":[3,5],"emoji":"👩🏽❤️💋👨🏿","version":13.1},{"tone":[4,1],"emoji":"👩🏾❤️💋👨🏻","version":13.1},{"tone":[4,2],"emoji":"👩🏾❤️💋👨🏼","version":13.1},{"tone":[4,3],"emoji":"👩🏾❤️💋👨🏽","version":13.1},{"tone":4,"emoji":"👩🏾❤️💋👨🏾","version":13.1},{"tone":[4,5],"emoji":"👩🏾❤️💋👨🏿","version":13.1},{"tone":[5,1],"emoji":"👩🏿❤️💋👨🏻","version":13.1},{"tone":[5,2],"emoji":"👩🏿❤️💋👨🏼","version":13.1},{"tone":[5,3],"emoji":"👩🏿❤️💋👨🏽","version":13.1},{"tone":[5,4],"emoji":"👩🏿❤️💋👨🏾","version":13.1},{"tone":5,"emoji":"👩🏿❤️💋👨🏿","version":13.1}]},{"emoji":"👨❤️💋👨","group":1,"order":3134,"tags":["anniversary","babe","bae","couple","date","dating","heart","kiss","love","man","mwah","person","romance","together","xoxo"],"version":2,"annotation":"kiss: man, man","shortcodes":["kiss_mm"],"skins":[{"tone":1,"emoji":"👨🏻❤️💋👨🏻","version":13.1},{"tone":[1,2],"emoji":"👨🏻❤️💋👨🏼","version":13.1},{"tone":[1,3],"emoji":"👨🏻❤️💋👨🏽","version":13.1},{"tone":[1,4],"emoji":"👨🏻❤️💋👨🏾","version":13.1},{"tone":[1,5],"emoji":"👨🏻❤️💋👨🏿","version":13.1},{"tone":[2,1],"emoji":"👨🏼❤️💋👨🏻","version":13.1},{"tone":2,"emoji":"👨🏼❤️💋👨🏼","version":13.1},{"tone":[2,3],"emoji":"👨🏼❤️💋👨🏽","version":13.1},{"tone":[2,4],"emoji":"👨🏼❤️💋👨🏾","version":13.1},{"tone":[2,5],"emoji":"👨🏼❤️💋👨🏿","version":13.1},{"tone":[3,1],"emoji":"👨🏽❤️💋👨🏻","version":13.1},{"tone":[3,2],"emoji":"👨🏽❤️💋👨🏼","version":13.1},{"tone":3,"emoji":"👨🏽❤️💋👨🏽","version":13.1},{"tone":[3,4],"emoji":"👨🏽❤️💋👨🏾","version":13.1},{"tone":[3,5],"emoji":"👨🏽❤️💋👨🏿","version":13.1},{"tone":[4,1],"emoji":"👨🏾❤️💋👨🏻","version":13.1},{"tone":[4,2],"emoji":"👨🏾❤️💋👨🏼","version":13.1},{"tone":[4,3],"emoji":"👨🏾❤️💋👨🏽","version":13.1},{"tone":4,"emoji":"👨🏾❤️💋👨🏾","version":13.1},{"tone":[4,5],"emoji":"👨🏾❤️💋👨🏿","version":13.1},{"tone":[5,1],"emoji":"👨🏿❤️💋👨🏻","version":13.1},{"tone":[5,2],"emoji":"👨🏿❤️💋👨🏼","version":13.1},{"tone":[5,3],"emoji":"👨🏿❤️💋👨🏽","version":13.1},{"tone":[5,4],"emoji":"👨🏿❤️💋👨🏾","version":13.1},{"tone":5,"emoji":"👨🏿❤️💋👨🏿","version":13.1}]},{"emoji":"👩❤️💋👩","group":1,"order":3186,"tags":["anniversary","babe","bae","couple","date","dating","heart","kiss","love","mwah","person","romance","together","woman","xoxo"],"version":2,"annotation":"kiss: woman, woman","shortcodes":["kiss_ww"],"skins":[{"tone":1,"emoji":"👩🏻❤️💋👩🏻","version":13.1},{"tone":[1,2],"emoji":"👩🏻❤️💋👩🏼","version":13.1},{"tone":[1,3],"emoji":"👩🏻❤️💋👩🏽","version":13.1},{"tone":[1,4],"emoji":"👩🏻❤️💋👩🏾","version":13.1},{"tone":[1,5],"emoji":"👩🏻❤️💋👩🏿","version":13.1},{"tone":[2,1],"emoji":"👩🏼❤️💋👩🏻","version":13.1},{"tone":2,"emoji":"👩🏼❤️💋👩🏼","version":13.1},{"tone":[2,3],"emoji":"👩🏼❤️💋👩🏽","version":13.1},{"tone":[2,4],"emoji":"👩🏼❤️💋👩🏾","version":13.1},{"tone":[2,5],"emoji":"👩🏼❤️💋👩🏿","version":13.1},{"tone":[3,1],"emoji":"👩🏽❤️💋👩🏻","version":13.1},{"tone":[3,2],"emoji":"👩🏽❤️💋👩🏼","version":13.1},{"tone":3,"emoji":"👩🏽❤️💋👩🏽","version":13.1},{"tone":[3,4],"emoji":"👩🏽❤️💋👩🏾","version":13.1},{"tone":[3,5],"emoji":"👩🏽❤️💋👩🏿","version":13.1},{"tone":[4,1],"emoji":"👩🏾❤️💋👩🏻","version":13.1},{"tone":[4,2],"emoji":"👩🏾❤️💋👩🏼","version":13.1},{"tone":[4,3],"emoji":"👩🏾❤️💋👩🏽","version":13.1},{"tone":4,"emoji":"👩🏾❤️💋👩🏾","version":13.1},{"tone":[4,5],"emoji":"👩🏾❤️💋👩🏿","version":13.1},{"tone":[5,1],"emoji":"👩🏿❤️💋👩🏻","version":13.1},{"tone":[5,2],"emoji":"👩🏿❤️💋👩🏼","version":13.1},{"tone":[5,3],"emoji":"👩🏿❤️💋👩🏽","version":13.1},{"tone":[5,4],"emoji":"👩🏿❤️💋👩🏾","version":13.1},{"tone":5,"emoji":"👩🏿❤️💋👩🏿","version":13.1}]},{"emoji":"💑","group":1,"order":3238,"tags":["anniversary","babe","bae","couple","dating","heart","kiss","love","person","relationship","romance","together","you"],"version":0.6,"annotation":"couple with heart","shortcodes":["couple_with_heart"],"skins":[{"tone":1,"emoji":"💑🏻","version":13.1},{"tone":2,"emoji":"💑🏼","version":13.1},{"tone":3,"emoji":"💑🏽","version":13.1},{"tone":4,"emoji":"💑🏾","version":13.1},{"tone":5,"emoji":"💑🏿","version":13.1},{"tone":[1,2],"emoji":"🧑🏻❤️🧑🏼","version":13.1},{"tone":[1,3],"emoji":"🧑🏻❤️🧑🏽","version":13.1},{"tone":[1,4],"emoji":"🧑🏻❤️🧑🏾","version":13.1},{"tone":[1,5],"emoji":"🧑🏻❤️🧑🏿","version":13.1},{"tone":[2,1],"emoji":"🧑🏼❤️🧑🏻","version":13.1},{"tone":[2,3],"emoji":"🧑🏼❤️🧑🏽","version":13.1},{"tone":[2,4],"emoji":"🧑🏼❤️🧑🏾","version":13.1},{"tone":[2,5],"emoji":"🧑🏼❤️🧑🏿","version":13.1},{"tone":[3,1],"emoji":"🧑🏽❤️🧑🏻","version":13.1},{"tone":[3,2],"emoji":"🧑🏽❤️🧑🏼","version":13.1},{"tone":[3,4],"emoji":"🧑🏽❤️🧑🏾","version":13.1},{"tone":[3,5],"emoji":"🧑🏽❤️🧑🏿","version":13.1},{"tone":[4,1],"emoji":"🧑🏾❤️🧑🏻","version":13.1},{"tone":[4,2],"emoji":"🧑🏾❤️🧑🏼","version":13.1},{"tone":[4,3],"emoji":"🧑🏾❤️🧑🏽","version":13.1},{"tone":[4,5],"emoji":"🧑🏾❤️🧑🏿","version":13.1},{"tone":[5,1],"emoji":"🧑🏿❤️🧑🏻","version":13.1},{"tone":[5,2],"emoji":"🧑🏿❤️🧑🏼","version":13.1},{"tone":[5,3],"emoji":"🧑🏿❤️🧑🏽","version":13.1},{"tone":[5,4],"emoji":"🧑🏿❤️🧑🏾","version":13.1}]},{"emoji":"👩❤️👨","group":1,"order":3284,"tags":["anniversary","babe","bae","couple","dating","heart","kiss","love","man","person","relationship","romance","together","woman","you"],"version":2,"annotation":"couple with heart: woman, man","shortcodes":["couple_with_heart_mw","couple_with_heart_wm"],"skins":[{"tone":1,"emoji":"👩🏻❤️👨🏻","version":13.1},{"tone":[1,2],"emoji":"👩🏻❤️👨🏼","version":13.1},{"tone":[1,3],"emoji":"👩🏻❤️👨🏽","version":13.1},{"tone":[1,4],"emoji":"👩🏻❤️👨🏾","version":13.1},{"tone":[1,5],"emoji":"👩🏻❤️👨🏿","version":13.1},{"tone":[2,1],"emoji":"👩🏼❤️👨🏻","version":13.1},{"tone":2,"emoji":"👩🏼❤️👨🏼","version":13.1},{"tone":[2,3],"emoji":"👩🏼❤️👨🏽","version":13.1},{"tone":[2,4],"emoji":"👩🏼❤️👨🏾","version":13.1},{"tone":[2,5],"emoji":"👩🏼❤️👨🏿","version":13.1},{"tone":[3,1],"emoji":"👩🏽❤️👨🏻","version":13.1},{"tone":[3,2],"emoji":"👩🏽❤️👨🏼","version":13.1},{"tone":3,"emoji":"👩🏽❤️👨🏽","version":13.1},{"tone":[3,4],"emoji":"👩🏽❤️👨🏾","version":13.1},{"tone":[3,5],"emoji":"👩🏽❤️👨🏿","version":13.1},{"tone":[4,1],"emoji":"👩🏾❤️👨🏻","version":13.1},{"tone":[4,2],"emoji":"👩🏾❤️👨🏼","version":13.1},{"tone":[4,3],"emoji":"👩🏾❤️👨🏽","version":13.1},{"tone":4,"emoji":"👩🏾❤️👨🏾","version":13.1},{"tone":[4,5],"emoji":"👩🏾❤️👨🏿","version":13.1},{"tone":[5,1],"emoji":"👩🏿❤️👨🏻","version":13.1},{"tone":[5,2],"emoji":"👩🏿❤️👨🏼","version":13.1},{"tone":[5,3],"emoji":"👩🏿❤️👨🏽","version":13.1},{"tone":[5,4],"emoji":"👩🏿❤️👨🏾","version":13.1},{"tone":5,"emoji":"👩🏿❤️👨🏿","version":13.1}]},{"emoji":"👨❤️👨","group":1,"order":3336,"tags":["anniversary","babe","bae","couple","dating","heart","kiss","love","man","person","relationship","romance","together","you"],"version":2,"annotation":"couple with heart: man, man","shortcodes":["couple_with_heart_mm"],"skins":[{"tone":1,"emoji":"👨🏻❤️👨🏻","version":13.1},{"tone":[1,2],"emoji":"👨🏻❤️👨🏼","version":13.1},{"tone":[1,3],"emoji":"👨🏻❤️👨🏽","version":13.1},{"tone":[1,4],"emoji":"👨🏻❤️👨🏾","version":13.1},{"tone":[1,5],"emoji":"👨🏻❤️👨🏿","version":13.1},{"tone":[2,1],"emoji":"👨🏼❤️👨🏻","version":13.1},{"tone":2,"emoji":"👨🏼❤️👨🏼","version":13.1},{"tone":[2,3],"emoji":"👨🏼❤️👨🏽","version":13.1},{"tone":[2,4],"emoji":"👨🏼❤️👨🏾","version":13.1},{"tone":[2,5],"emoji":"👨🏼❤️👨🏿","version":13.1},{"tone":[3,1],"emoji":"👨🏽❤️👨🏻","version":13.1},{"tone":[3,2],"emoji":"👨🏽❤️👨🏼","version":13.1},{"tone":3,"emoji":"👨🏽❤️👨🏽","version":13.1},{"tone":[3,4],"emoji":"👨🏽❤️👨🏾","version":13.1},{"tone":[3,5],"emoji":"👨🏽❤️👨🏿","version":13.1},{"tone":[4,1],"emoji":"👨🏾❤️👨🏻","version":13.1},{"tone":[4,2],"emoji":"👨🏾❤️👨🏼","version":13.1},{"tone":[4,3],"emoji":"👨🏾❤️👨🏽","version":13.1},{"tone":4,"emoji":"👨🏾❤️👨🏾","version":13.1},{"tone":[4,5],"emoji":"👨🏾❤️👨🏿","version":13.1},{"tone":[5,1],"emoji":"👨🏿❤️👨🏻","version":13.1},{"tone":[5,2],"emoji":"👨🏿❤️👨🏼","version":13.1},{"tone":[5,3],"emoji":"👨🏿❤️👨🏽","version":13.1},{"tone":[5,4],"emoji":"👨🏿❤️👨🏾","version":13.1},{"tone":5,"emoji":"👨🏿❤️👨🏿","version":13.1}]},{"emoji":"👩❤️👩","group":1,"order":3388,"tags":["anniversary","babe","bae","couple","dating","heart","kiss","love","person","relationship","romance","together","woman","you"],"version":2,"annotation":"couple with heart: woman, woman","shortcodes":["couple_with_heart_ww"],"skins":[{"tone":1,"emoji":"👩🏻❤️👩🏻","version":13.1},{"tone":[1,2],"emoji":"👩🏻❤️👩🏼","version":13.1},{"tone":[1,3],"emoji":"👩🏻❤️👩🏽","version":13.1},{"tone":[1,4],"emoji":"👩🏻❤️👩🏾","version":13.1},{"tone":[1,5],"emoji":"👩🏻❤️👩🏿","version":13.1},{"tone":[2,1],"emoji":"👩🏼❤️👩🏻","version":13.1},{"tone":2,"emoji":"👩🏼❤️👩🏼","version":13.1},{"tone":[2,3],"emoji":"👩🏼❤️👩🏽","version":13.1},{"tone":[2,4],"emoji":"👩🏼❤️👩🏾","version":13.1},{"tone":[2,5],"emoji":"👩🏼❤️👩🏿","version":13.1},{"tone":[3,1],"emoji":"👩🏽❤️👩🏻","version":13.1},{"tone":[3,2],"emoji":"👩🏽❤️👩🏼","version":13.1},{"tone":3,"emoji":"👩🏽❤️👩🏽","version":13.1},{"tone":[3,4],"emoji":"👩🏽❤️👩🏾","version":13.1},{"tone":[3,5],"emoji":"👩🏽❤️👩🏿","version":13.1},{"tone":[4,1],"emoji":"👩🏾❤️👩🏻","version":13.1},{"tone":[4,2],"emoji":"👩🏾❤️👩🏼","version":13.1},{"tone":[4,3],"emoji":"👩🏾❤️👩🏽","version":13.1},{"tone":4,"emoji":"👩🏾❤️👩🏾","version":13.1},{"tone":[4,5],"emoji":"👩🏾❤️👩🏿","version":13.1},{"tone":[5,1],"emoji":"👩🏿❤️👩🏻","version":13.1},{"tone":[5,2],"emoji":"👩🏿❤️👩🏼","version":13.1},{"tone":[5,3],"emoji":"👩🏿❤️👩🏽","version":13.1},{"tone":[5,4],"emoji":"👩🏿❤️👩🏾","version":13.1},{"tone":5,"emoji":"👩🏿❤️👩🏿","version":13.1}]},{"emoji":"👨👩👦","group":1,"order":3440,"tags":["boy","child","family","man","woman"],"version":2,"annotation":"family: man, woman, boy","shortcodes":["family_mwb"]},{"emoji":"👨👩👧","group":1,"order":3441,"tags":["child","family","girl","man","woman"],"version":2,"annotation":"family: man, woman, girl","shortcodes":["family_mwg"]},{"emoji":"👨👩👧👦","group":1,"order":3442,"tags":["boy","child","family","girl","man","woman"],"version":2,"annotation":"family: man, woman, girl, boy","shortcodes":["family_mwgb"]},{"emoji":"👨👩👦👦","group":1,"order":3443,"tags":["boy","child","family","man","woman"],"version":2,"annotation":"family: man, woman, boy, boy","shortcodes":["family_mwbb"]},{"emoji":"👨👩👧👧","group":1,"order":3444,"tags":["child","family","girl","man","woman"],"version":2,"annotation":"family: man, woman, girl, girl","shortcodes":["family_mwgg"]},{"emoji":"👨👨👦","group":1,"order":3445,"tags":["boy","child","family","man"],"version":2,"annotation":"family: man, man, boy","shortcodes":["family_mmb"]},{"emoji":"👨👨👧","group":1,"order":3446,"tags":["child","family","girl","man"],"version":2,"annotation":"family: man, man, girl","shortcodes":["family_mmg"]},{"emoji":"👨👨👧👦","group":1,"order":3447,"tags":["boy","child","family","girl","man"],"version":2,"annotation":"family: man, man, girl, boy","shortcodes":["family_mmgb"]},{"emoji":"👨👨👦👦","group":1,"order":3448,"tags":["boy","child","family","man"],"version":2,"annotation":"family: man, man, boy, boy","shortcodes":["family_mmbb"]},{"emoji":"👨👨👧👧","group":1,"order":3449,"tags":["child","family","girl","man"],"version":2,"annotation":"family: man, man, girl, girl","shortcodes":["family_mmgg"]},{"emoji":"👩👩👦","group":1,"order":3450,"tags":["boy","child","family","woman"],"version":2,"annotation":"family: woman, woman, boy","shortcodes":["family_wwb"]},{"emoji":"👩👩👧","group":1,"order":3451,"tags":["child","family","girl","woman"],"version":2,"annotation":"family: woman, woman, girl","shortcodes":["family_wwg"]},{"emoji":"👩👩👧👦","group":1,"order":3452,"tags":["boy","child","family","girl","woman"],"version":2,"annotation":"family: woman, woman, girl, boy","shortcodes":["family_wwgb"]},{"emoji":"👩👩👦👦","group":1,"order":3453,"tags":["boy","child","family","woman"],"version":2,"annotation":"family: woman, woman, boy, boy","shortcodes":["family_wwbb"]},{"emoji":"👩👩👧👧","group":1,"order":3454,"tags":["child","family","girl","woman"],"version":2,"annotation":"family: woman, woman, girl, girl","shortcodes":["family_wwgg"]},{"emoji":"👨👦","group":1,"order":3455,"tags":["boy","child","family","man"],"version":4,"annotation":"family: man, boy","shortcodes":["family_mb"]},{"emoji":"👨👦👦","group":1,"order":3456,"tags":["boy","child","family","man"],"version":4,"annotation":"family: man, boy, boy","shortcodes":["family_mbb"]},{"emoji":"👨👧","group":1,"order":3457,"tags":["child","family","girl","man"],"version":4,"annotation":"family: man, girl","shortcodes":["family_mg"]},{"emoji":"👨👧👦","group":1,"order":3458,"tags":["boy","child","family","girl","man"],"version":4,"annotation":"family: man, girl, boy","shortcodes":["family_mgb"]},{"emoji":"👨👧👧","group":1,"order":3459,"tags":["child","family","girl","man"],"version":4,"annotation":"family: man, girl, girl","shortcodes":["family_mgg"]},{"emoji":"👩👦","group":1,"order":3460,"tags":["boy","child","family","woman"],"version":4,"annotation":"family: woman, boy","shortcodes":["family_wb"]},{"emoji":"👩👦👦","group":1,"order":3461,"tags":["boy","child","family","woman"],"version":4,"annotation":"family: woman, boy, boy","shortcodes":["family_wbb"]},{"emoji":"👩👧","group":1,"order":3462,"tags":["child","family","girl","woman"],"version":4,"annotation":"family: woman, girl","shortcodes":["family_wg"]},{"emoji":"👩👧👦","group":1,"order":3463,"tags":["boy","child","family","girl","woman"],"version":4,"annotation":"family: woman, girl, boy","shortcodes":["family_wgb"]},{"emoji":"👩👧👧","group":1,"order":3464,"tags":["child","family","girl","woman"],"version":4,"annotation":"family: woman, girl, girl","shortcodes":["family_wgg"]},{"emoji":"🗣️","group":1,"order":3466,"tags":["face","head","silhouette","speak","speaking"],"version":0.7,"annotation":"speaking head","shortcodes":["speaking_head"]},{"emoji":"👤","group":1,"order":3467,"tags":["bust","mysterious","shadow","silhouette"],"version":0.6,"annotation":"bust in silhouette","shortcodes":["bust_in_silhouette"]},{"emoji":"👥","group":1,"order":3468,"tags":["bff","bust","busts","everyone","friend","friends","people","silhouette"],"version":1,"annotation":"busts in silhouette","shortcodes":["busts_in_silhouette"]},{"emoji":"🫂","group":1,"order":3469,"tags":["comfort","embrace","farewell","friendship","goodbye","hello","hug","hugging","love","people","thanks"],"version":13,"annotation":"people hugging","shortcodes":["people_hugging"]},{"emoji":"👪️","group":1,"order":3470,"tags":["child"],"version":0.6,"annotation":"family","shortcodes":["family"]},{"emoji":"🧑🧑🧒","group":1,"order":3471,"tags":["adult","child","family"],"version":15.1,"annotation":"family: adult, adult, child","shortcodes":["family_aac"]},{"emoji":"🧑🧑🧒🧒","group":1,"order":3472,"tags":["adult","child","family"],"version":15.1,"annotation":"family: adult, adult, child, child","shortcodes":["family_aacc"]},{"emoji":"🧑🧒","group":1,"order":3473,"tags":["adult","child","family"],"version":15.1,"annotation":"family: adult, child","shortcodes":["family_ac"]},{"emoji":"🧑🧒🧒","group":1,"order":3474,"tags":["adult","child","family"],"version":15.1,"annotation":"family: adult, child, child","shortcodes":["family_acc"]},{"emoji":"👣","group":1,"order":3475,"tags":["barefoot","clothing","footprint","omw","print","walk"],"version":0.6,"annotation":"footprints","shortcodes":["footprints"]},{"emoji":"","group":1,"order":3476,"tags":["clue","crime","detective","forensics","identity","mystery","print","safety","trace"],"version":16,"annotation":"fingerprint","shortcodes":["fingerprint"]},{"emoji":"🏻","group":2,"order":3477,"tags":["1–2","light","skin","tone","type"],"version":1,"annotation":"light skin tone","shortcodes":["tone1","tone_light"]},{"emoji":"🏼","group":2,"order":3478,"tags":["3","medium-light","skin","tone","type"],"version":1,"annotation":"medium-light skin tone","shortcodes":["tone2","tone_medium_light"]},{"emoji":"🏽","group":2,"order":3479,"tags":["4","medium","skin","tone","type"],"version":1,"annotation":"medium skin tone","shortcodes":["tone3","tone_medium"]},{"emoji":"🏾","group":2,"order":3480,"tags":["5","medium-dark","skin","tone","type"],"version":1,"annotation":"medium-dark skin tone","shortcodes":["tone4","tone_medium_dark"]},{"emoji":"🏿","group":2,"order":3481,"tags":["6","dark","skin","tone","type"],"version":1,"annotation":"dark skin tone","shortcodes":["tone5","tone_dark"]},{"emoji":"🦰","group":2,"order":3482,"tags":["ginger","hair","red","redhead"],"version":11,"annotation":"red hair","shortcodes":["red_hair"]},{"emoji":"🦱","group":2,"order":3483,"tags":["afro","curly","hair","ringlets"],"version":11,"annotation":"curly hair","shortcodes":["curly_hair"]},{"emoji":"🦳","group":2,"order":3484,"tags":["gray","hair","old","white"],"version":11,"annotation":"white hair","shortcodes":["white_hair"]},{"emoji":"🦲","group":2,"order":3485,"tags":["chemotherapy","hair","hairless","no","shaven"],"version":11,"annotation":"bald","shortcodes":["no_hair"]},{"emoji":"🐵","group":3,"order":3486,"tags":["animal","banana","face","monkey"],"version":0.6,"annotation":"monkey face","shortcodes":["monkey_face"]},{"emoji":"🐒","group":3,"order":3487,"tags":["animal","banana"],"version":0.6,"annotation":"monkey","shortcodes":["monkey"]},{"emoji":"🦍","group":3,"order":3488,"tags":["animal"],"version":3,"annotation":"gorilla","shortcodes":["gorilla"]},{"emoji":"🦧","group":3,"order":3489,"tags":["animal","ape","monkey"],"version":12,"annotation":"orangutan","shortcodes":["orangutan"]},{"emoji":"🐶","group":3,"order":3490,"tags":["adorbs","animal","dog","face","pet","puppies","puppy"],"version":0.6,"annotation":"dog face","shortcodes":["dog_face"]},{"emoji":"🐕️","group":3,"order":3491,"tags":["animal","animals","dogs","pet"],"version":0.7,"annotation":"dog","shortcodes":["dog"]},{"emoji":"🦮","group":3,"order":3492,"tags":["accessibility","animal","blind","dog","guide"],"version":12,"annotation":"guide dog","shortcodes":["guide_dog"]},{"emoji":"🐕🦺","group":3,"order":3493,"tags":["accessibility","animal","assistance","dog","service"],"version":12,"annotation":"service dog","shortcodes":["service_dog"]},{"emoji":"🐩","group":3,"order":3494,"tags":["animal","dog","fluffy"],"version":0.6,"annotation":"poodle","shortcodes":["poodle"]},{"emoji":"🐺","group":3,"order":3495,"tags":["animal","face"],"version":0.6,"annotation":"wolf","shortcodes":["wolf","wolf_face"]},{"emoji":"🦊","group":3,"order":3496,"tags":["animal","face"],"version":3,"annotation":"fox","shortcodes":["fox","fox_face"]},{"emoji":"🦝","group":3,"order":3497,"tags":["animal","curious","sly"],"version":11,"annotation":"raccoon","shortcodes":["raccoon"]},{"emoji":"🐱","group":3,"order":3498,"tags":["animal","cat","face","kitten","kitty","pet"],"version":0.6,"annotation":"cat face","shortcodes":["cat_face"]},{"emoji":"🐈️","group":3,"order":3499,"tags":["animal","animals","cats","kitten","pet"],"version":0.7,"annotation":"cat","shortcodes":["cat"]},{"emoji":"🐈⬛","group":3,"order":3500,"tags":["animal","black","cat","feline","halloween","meow","unlucky"],"version":13,"annotation":"black cat","shortcodes":["black_cat"]},{"emoji":"🦁","group":3,"order":3501,"tags":["alpha","animal","face","leo","mane","order","rawr","roar","safari","strong","zodiac"],"version":1,"annotation":"lion","shortcodes":["lion","lion_face"]},{"emoji":"🐯","group":3,"order":3502,"tags":["animal","big","cat","face","predator","tiger"],"version":0.6,"annotation":"tiger face","shortcodes":["tiger_face"]},{"emoji":"🐅","group":3,"order":3503,"tags":["animal","big","cat","predator","zoo"],"version":1,"annotation":"tiger","shortcodes":["tiger"]},{"emoji":"🐆","group":3,"order":3504,"tags":["animal","big","cat","predator","zoo"],"version":1,"annotation":"leopard","shortcodes":["leopard"]},{"emoji":"🐴","group":3,"order":3505,"tags":["animal","dressage","equine","face","farm","horse","horses"],"version":0.6,"annotation":"horse face","shortcodes":["horse_face"]},{"emoji":"🫎","group":3,"order":3506,"tags":["alces","animal","antlers","elk","mammal"],"version":15,"annotation":"moose","shortcodes":["moose"]},{"emoji":"🫏","group":3,"order":3507,"tags":["animal","ass","burro","hinny","mammal","mule","stubborn"],"version":15,"annotation":"donkey","shortcodes":["donkey"]},{"emoji":"🐎","group":3,"order":3508,"tags":["animal","equestrian","farm","racehorse","racing"],"version":0.6,"annotation":"horse","shortcodes":["horse","racehorse"]},{"emoji":"🦄","group":3,"order":3509,"tags":["face"],"version":1,"annotation":"unicorn","shortcodes":["unicorn","unicorn_face"]},{"emoji":"🦓","group":3,"order":3510,"tags":["animal","stripe"],"version":5,"annotation":"zebra","shortcodes":["zebra"]},{"emoji":"🦌","group":3,"order":3511,"tags":["animal"],"version":3,"annotation":"deer","shortcodes":["deer"]},{"emoji":"🦬","group":3,"order":3512,"tags":["animal","buffalo","herd","wisent"],"version":13,"annotation":"bison","shortcodes":["bison"]},{"emoji":"🐮","group":3,"order":3513,"tags":["animal","cow","face","farm","milk","moo"],"version":0.6,"annotation":"cow face","shortcodes":["cow_face"]},{"emoji":"🐂","group":3,"order":3514,"tags":["animal","animals","bull","farm","taurus","zodiac"],"version":1,"annotation":"ox","shortcodes":["ox"]},{"emoji":"🐃","group":3,"order":3515,"tags":["animal","buffalo","water","zoo"],"version":1,"annotation":"water buffalo","shortcodes":["water_buffalo"]},{"emoji":"🐄","group":3,"order":3516,"tags":["animal","animals","farm","milk","moo"],"version":1,"annotation":"cow","shortcodes":["cow"]},{"emoji":"🐷","group":3,"order":3517,"tags":["animal","bacon","face","farm","pig","pork"],"version":0.6,"annotation":"pig face","shortcodes":["pig_face"]},{"emoji":"🐖","group":3,"order":3518,"tags":["animal","bacon","farm","pork","sow"],"version":1,"annotation":"pig","shortcodes":["pig"]},{"emoji":"🐗","group":3,"order":3519,"tags":["animal","pig"],"version":0.6,"annotation":"boar","shortcodes":["boar"]},{"emoji":"🐽","group":3,"order":3520,"tags":["animal","face","farm","nose","pig","smell","snout"],"version":0.6,"annotation":"pig nose","shortcodes":["pig_nose"]},{"emoji":"🐏","group":3,"order":3521,"tags":["animal","aries","horns","male","sheep","zodiac","zoo"],"version":1,"annotation":"ram","shortcodes":["ram"]},{"emoji":"🐑","group":3,"order":3522,"tags":["animal","baa","farm","female","fluffy","lamb","sheep","wool"],"version":0.6,"annotation":"ewe","shortcodes":["ewe","sheep"]},{"emoji":"🐐","group":3,"order":3523,"tags":["animal","capricorn","farm","milk","zodiac"],"version":1,"annotation":"goat","shortcodes":["goat"]},{"emoji":"🐪","group":3,"order":3524,"tags":["animal","desert","dromedary","hump","one"],"version":1,"annotation":"camel","shortcodes":["dromedary_camel"]},{"emoji":"🐫","group":3,"order":3525,"tags":["animal","bactrian","camel","desert","hump","two","two-hump"],"version":0.6,"annotation":"two-hump camel","shortcodes":["camel"]},{"emoji":"🦙","group":3,"order":3526,"tags":["alpaca","animal","guanaco","vicuña","wool"],"version":11,"annotation":"llama","shortcodes":["llama"]},{"emoji":"🦒","group":3,"order":3527,"tags":["animal","spots"],"version":5,"annotation":"giraffe","shortcodes":["giraffe"]},{"emoji":"🐘","group":3,"order":3528,"tags":["animal"],"version":0.6,"annotation":"elephant","shortcodes":["elephant"]},{"emoji":"🦣","group":3,"order":3529,"tags":["animal","extinction","large","tusk","wooly"],"version":13,"annotation":"mammoth","shortcodes":["mammoth"]},{"emoji":"🦏","group":3,"order":3530,"tags":["animal"],"version":3,"annotation":"rhinoceros","shortcodes":["rhino","rhinoceros"]},{"emoji":"🦛","group":3,"order":3531,"tags":["animal","hippo"],"version":11,"annotation":"hippopotamus","shortcodes":["hippo"]},{"emoji":"🐭","group":3,"order":3532,"tags":["animal","face","mouse"],"version":0.6,"annotation":"mouse face","shortcodes":["mouse_face"]},{"emoji":"🐁","group":3,"order":3533,"tags":["animal","animals"],"version":1,"annotation":"mouse","shortcodes":["mouse"]},{"emoji":"🐀","group":3,"order":3534,"tags":["animal"],"version":1,"annotation":"rat","shortcodes":["rat"]},{"emoji":"🐹","group":3,"order":3535,"tags":["animal","face","pet"],"version":0.6,"annotation":"hamster","shortcodes":["hamster","hamster_face"]},{"emoji":"🐰","group":3,"order":3536,"tags":["animal","bunny","face","pet","rabbit"],"version":0.6,"annotation":"rabbit face","shortcodes":["rabbit_face"]},{"emoji":"🐇","group":3,"order":3537,"tags":["animal","bunny","pet"],"version":1,"annotation":"rabbit","shortcodes":["rabbit"]},{"emoji":"🐿️","group":3,"order":3539,"tags":["animal","squirrel"],"version":0.7,"annotation":"chipmunk","shortcodes":["chipmunk"]},{"emoji":"🦫","group":3,"order":3540,"tags":["animal","dam","teeth"],"version":13,"annotation":"beaver","shortcodes":["beaver"]},{"emoji":"🦔","group":3,"order":3541,"tags":["animal","spiny"],"version":5,"annotation":"hedgehog","shortcodes":["hedgehog"]},{"emoji":"🦇","group":3,"order":3542,"tags":["animal","vampire"],"version":3,"annotation":"bat","shortcodes":["bat"]},{"emoji":"🐻","group":3,"order":3543,"tags":["animal","face","grizzly","growl","honey"],"version":0.6,"annotation":"bear","shortcodes":["bear","bear_face"]},{"emoji":"🐻❄️","group":3,"order":3544,"tags":["animal","arctic","bear","polar","white"],"version":13,"annotation":"polar bear","shortcodes":["polar_bear","polar_bear_face"]},{"emoji":"🐨","group":3,"order":3546,"tags":["animal","australia","bear","down","face","marsupial","under"],"version":0.6,"annotation":"koala","shortcodes":["koala","koala_face"]},{"emoji":"🐼","group":3,"order":3547,"tags":["animal","bamboo","face"],"version":0.6,"annotation":"panda","shortcodes":["panda","panda_face"]},{"emoji":"🦥","group":3,"order":3548,"tags":["lazy","slow"],"version":12,"annotation":"sloth","shortcodes":["sloth"]},{"emoji":"🦦","group":3,"order":3549,"tags":["animal","fishing","playful"],"version":12,"annotation":"otter","shortcodes":["otter"]},{"emoji":"🦨","group":3,"order":3550,"tags":["animal","stink"],"version":12,"annotation":"skunk","shortcodes":["skunk"]},{"emoji":"🦘","group":3,"order":3551,"tags":["animal","joey","jump","marsupial"],"version":11,"annotation":"kangaroo","shortcodes":["kangaroo"]},{"emoji":"🦡","group":3,"order":3552,"tags":["animal","honey","pester"],"version":11,"annotation":"badger","shortcodes":["badger"]},{"emoji":"🐾","group":3,"order":3553,"tags":["feet","paw","paws","print","prints"],"version":0.6,"annotation":"paw prints","shortcodes":["paw_prints"]},{"emoji":"🦃","group":3,"order":3554,"tags":["bird","gobble","thanksgiving"],"version":1,"annotation":"turkey","shortcodes":["turkey"]},{"emoji":"🐔","group":3,"order":3555,"tags":["animal","bird","ornithology"],"version":0.6,"annotation":"chicken","shortcodes":["chicken","chicken_face"]},{"emoji":"🐓","group":3,"order":3556,"tags":["animal","bird","ornithology"],"version":1,"annotation":"rooster","shortcodes":["rooster"]},{"emoji":"🐣","group":3,"order":3557,"tags":["animal","baby","bird","chick","egg","hatching"],"version":0.6,"annotation":"hatching chick","shortcodes":["hatching_chick"]},{"emoji":"🐤","group":3,"order":3558,"tags":["animal","baby","bird","chick","ornithology"],"version":0.6,"annotation":"baby chick","shortcodes":["baby_chick"]},{"emoji":"🐥","group":3,"order":3559,"tags":["animal","baby","bird","chick","front-facing","newborn","ornithology"],"version":0.6,"annotation":"front-facing baby chick","shortcodes":["hatched_chick"]},{"emoji":"🐦️","group":3,"order":3560,"tags":["animal","ornithology"],"version":0.6,"annotation":"bird","shortcodes":["bird","bird_face"]},{"emoji":"🐧","group":3,"order":3561,"tags":["animal","antarctica","bird","ornithology"],"version":0.6,"annotation":"penguin","shortcodes":["penguin","penguin_face"]},{"emoji":"🕊️","group":3,"order":3563,"tags":["bird","fly","ornithology","peace"],"version":0.7,"annotation":"dove","shortcodes":["dove"]},{"emoji":"🦅","group":3,"order":3564,"tags":["animal","bird","ornithology"],"version":3,"annotation":"eagle","shortcodes":["eagle"]},{"emoji":"🦆","group":3,"order":3565,"tags":["animal","bird","ornithology"],"version":3,"annotation":"duck","shortcodes":["duck"]},{"emoji":"🦢","group":3,"order":3566,"tags":["animal","bird","cygnet","duckling","ornithology","ugly"],"version":11,"annotation":"swan","shortcodes":["swan"]},{"emoji":"🦉","group":3,"order":3567,"tags":["animal","bird","ornithology","wise"],"version":3,"annotation":"owl","shortcodes":["owl"]},{"emoji":"🦤","group":3,"order":3568,"tags":["animal","bird","extinction","large","ornithology"],"version":13,"annotation":"dodo","shortcodes":["dodo"]},{"emoji":"🪶","group":3,"order":3569,"tags":["bird","flight","light","plumage"],"version":13,"annotation":"feather","shortcodes":["feather"]},{"emoji":"🦩","group":3,"order":3570,"tags":["animal","bird","flamboyant","ornithology","tropical"],"version":12,"annotation":"flamingo","shortcodes":["flamingo"]},{"emoji":"🦚","group":3,"order":3571,"tags":["animal","bird","colorful","ornithology","ostentatious","peahen","pretty","proud"],"version":11,"annotation":"peacock","shortcodes":["peacock"]},{"emoji":"🦜","group":3,"order":3572,"tags":["animal","bird","ornithology","pirate","talk"],"version":11,"annotation":"parrot","shortcodes":["parrot"]},{"emoji":"🪽","group":3,"order":3573,"tags":["angelic","ascend","aviation","bird","fly","flying","heavenly","mythology","soar"],"version":15,"annotation":"wing","shortcodes":["wing"]},{"emoji":"🐦⬛","group":3,"order":3574,"tags":["animal","beak","bird","black","caw","corvid","crow","ornithology","raven","rook"],"version":15,"annotation":"black bird","shortcodes":["black_bird"]},{"emoji":"🪿","group":3,"order":3575,"tags":["animal","bird","duck","flock","fowl","gaggle","gander","geese","honk","ornithology","silly"],"version":15,"annotation":"goose","shortcodes":["goose"]},{"emoji":"🐦🔥","group":3,"order":3576,"tags":["ascend","ascension","emerge","fantasy","firebird","glory","immortal","rebirth","reincarnation","reinvent","renewal","revival","revive","rise","transform"],"version":15.1,"annotation":"phoenix","shortcodes":["phoenix"]},{"emoji":"🐸","group":3,"order":3577,"tags":["animal","face"],"version":0.6,"annotation":"frog","shortcodes":["frog","frog_face"]},{"emoji":"🐊","group":3,"order":3578,"tags":["animal","zoo"],"version":1,"annotation":"crocodile","shortcodes":["crocodile"]},{"emoji":"🐢","group":3,"order":3579,"tags":["animal","terrapin","tortoise"],"version":0.6,"annotation":"turtle","shortcodes":["turtle"]},{"emoji":"🦎","group":3,"order":3580,"tags":["animal","reptile"],"version":3,"annotation":"lizard","shortcodes":["lizard"]},{"emoji":"🐍","group":3,"order":3581,"tags":["animal","bearer","ophiuchus","serpent","zodiac"],"version":0.6,"annotation":"snake","shortcodes":["snake"]},{"emoji":"🐲","group":3,"order":3582,"tags":["animal","dragon","face","fairy","fairytale","tale"],"version":0.6,"annotation":"dragon face","shortcodes":["dragon_face"]},{"emoji":"🐉","group":3,"order":3583,"tags":["animal","fairy","fairytale","knights","tale"],"version":1,"annotation":"dragon","shortcodes":["dragon"]},{"emoji":"🦕","group":3,"order":3584,"tags":["brachiosaurus","brontosaurus","dinosaur","diplodocus"],"version":5,"annotation":"sauropod","shortcodes":["sauropod"]},{"emoji":"🦖","group":3,"order":3585,"tags":["dinosaur","rex","t","t-rex","tyrannosaurus"],"version":5,"annotation":"T-Rex","shortcodes":["t-rex","trex"]},{"emoji":"🐳","group":3,"order":3586,"tags":["animal","beach","face","ocean","spouting","whale"],"version":0.6,"annotation":"spouting whale","shortcodes":["spouting_whale"]},{"emoji":"🐋","group":3,"order":3587,"tags":["animal","beach","ocean"],"version":1,"annotation":"whale","shortcodes":["whale"]},{"emoji":"🐬","group":3,"order":3588,"tags":["animal","beach","flipper","ocean"],"version":0.6,"annotation":"dolphin","shortcodes":["dolphin"]},{"emoji":"🦭","group":3,"order":3589,"tags":["animal","lion","ocean","sea"],"version":13,"annotation":"seal","shortcodes":["seal"]},{"emoji":"🐟️","group":3,"order":3590,"tags":["animal","dinner","fishes","fishing","pisces","zodiac"],"version":0.6,"annotation":"fish","shortcodes":["fish"]},{"emoji":"🐠","group":3,"order":3591,"tags":["animal","fish","fishes","tropical"],"version":0.6,"annotation":"tropical fish","shortcodes":["tropical_fish"]},{"emoji":"🐡","group":3,"order":3592,"tags":["animal","fish"],"version":0.6,"annotation":"blowfish","shortcodes":["blowfish"]},{"emoji":"🦈","group":3,"order":3593,"tags":["animal","fish"],"version":3,"annotation":"shark","shortcodes":["shark"]},{"emoji":"🐙","group":3,"order":3594,"tags":["animal","creature","ocean"],"version":0.6,"annotation":"octopus","shortcodes":["octopus"]},{"emoji":"🐚","group":3,"order":3595,"tags":["animal","beach","conch","sea","shell","spiral"],"version":0.6,"annotation":"spiral shell","shortcodes":["shell"]},{"emoji":"🪸","group":3,"order":3596,"tags":["change","climate","ocean","reef","sea"],"version":14,"annotation":"coral","shortcodes":["coral"]},{"emoji":"🪼","group":3,"order":3597,"tags":["animal","aquarium","burn","invertebrate","jelly","life","marine","ocean","ouch","plankton","sea","sting","stinger","tentacles"],"version":15,"annotation":"jellyfish","shortcodes":["jellyfish"]},{"emoji":"🦀","group":3,"order":3598,"tags":["cancer","zodiac"],"version":1,"annotation":"crab","shortcodes":["crab"]},{"emoji":"🦞","group":3,"order":3599,"tags":["animal","bisque","claws","seafood"],"version":11,"annotation":"lobster","shortcodes":["lobster"]},{"emoji":"🦐","group":3,"order":3600,"tags":["food","shellfish","small"],"version":3,"annotation":"shrimp","shortcodes":["shrimp"]},{"emoji":"🦑","group":3,"order":3601,"tags":["animal","food","mollusk"],"version":3,"annotation":"squid","shortcodes":["squid"]},{"emoji":"🦪","group":3,"order":3602,"tags":["diving","pearl"],"version":12,"annotation":"oyster","shortcodes":["oyster"]},{"emoji":"🐌","group":3,"order":3603,"tags":["animal","escargot","garden","nature","slug"],"version":0.6,"annotation":"snail","shortcodes":["snail"]},{"emoji":"🦋","group":3,"order":3604,"tags":["insect","pretty"],"version":3,"annotation":"butterfly","shortcodes":["butterfly"]},{"emoji":"🐛","group":3,"order":3605,"tags":["animal","garden","insect"],"version":0.6,"annotation":"bug","shortcodes":["bug"]},{"emoji":"🐜","group":3,"order":3606,"tags":["animal","garden","insect"],"version":0.6,"annotation":"ant","shortcodes":["ant"]},{"emoji":"🐝","group":3,"order":3607,"tags":["animal","bee","bumblebee","honey","insect","nature","spring"],"version":0.6,"annotation":"honeybee","shortcodes":["bee"]},{"emoji":"🪲","group":3,"order":3608,"tags":["animal","bug","insect"],"version":13,"annotation":"beetle","shortcodes":["beetle"]},{"emoji":"🐞","group":3,"order":3609,"tags":["animal","beetle","garden","insect","lady","ladybird","ladybug","nature"],"version":0.6,"annotation":"lady beetle","shortcodes":["lady_beetle"]},{"emoji":"🦗","group":3,"order":3610,"tags":["animal","bug","grasshopper","insect","orthoptera"],"version":5,"annotation":"cricket","shortcodes":["cricket"]},{"emoji":"🪳","group":3,"order":3611,"tags":["animal","insect","pest","roach"],"version":13,"annotation":"cockroach","shortcodes":["cockroach"]},{"emoji":"🕷️","group":3,"order":3613,"tags":["animal","insect"],"version":0.7,"annotation":"spider","shortcodes":["spider"]},{"emoji":"🕸️","group":3,"order":3615,"tags":["spider","web"],"version":0.7,"annotation":"spider web","shortcodes":["spider_web"]},{"emoji":"🦂","group":3,"order":3616,"tags":["scorpio","scorpius","zodiac"],"version":1,"annotation":"scorpion","shortcodes":["scorpion"]},{"emoji":"🦟","group":3,"order":3617,"tags":["bite","disease","fever","insect","malaria","pest","virus"],"version":11,"annotation":"mosquito","shortcodes":["mosquito"]},{"emoji":"🪰","group":3,"order":3618,"tags":["animal","disease","insect","maggot","pest","rotting"],"version":13,"annotation":"fly","shortcodes":["fly"]},{"emoji":"🪱","group":3,"order":3619,"tags":["animal","annelid","earthworm","parasite"],"version":13,"annotation":"worm","shortcodes":["worm"]},{"emoji":"🦠","group":3,"order":3620,"tags":["amoeba","bacteria","science","virus"],"version":11,"annotation":"microbe","shortcodes":["microbe"]},{"emoji":"💐","group":3,"order":3621,"tags":["anniversary","birthday","date","flower","love","plant","romance"],"version":0.6,"annotation":"bouquet","shortcodes":["bouquet"]},{"emoji":"🌸","group":3,"order":3622,"tags":["blossom","cherry","flower","plant","spring","springtime"],"version":0.6,"annotation":"cherry blossom","shortcodes":["cherry_blossom"]},{"emoji":"💮","group":3,"order":3623,"tags":["flower","white"],"version":0.6,"annotation":"white flower","shortcodes":["white_flower"]},{"emoji":"🪷","group":3,"order":3624,"tags":["beauty","buddhism","calm","flower","hinduism","peace","purity","serenity"],"version":14,"annotation":"lotus","shortcodes":["lotus"]},{"emoji":"🏵️","group":3,"order":3626,"tags":["plant"],"version":0.7,"annotation":"rosette","shortcodes":["rosette"]},{"emoji":"🌹","group":3,"order":3627,"tags":["beauty","elegant","flower","love","plant","red","valentine"],"version":0.6,"annotation":"rose","shortcodes":["rose"]},{"emoji":"🥀","group":3,"order":3628,"tags":["dying","flower","wilted"],"version":3,"annotation":"wilted flower","shortcodes":["wilted_flower"]},{"emoji":"🌺","group":3,"order":3629,"tags":["flower","plant"],"version":0.6,"annotation":"hibiscus","shortcodes":["hibiscus"]},{"emoji":"🌻","group":3,"order":3630,"tags":["flower","outdoors","plant","sun"],"version":0.6,"annotation":"sunflower","shortcodes":["sunflower"]},{"emoji":"🌼","group":3,"order":3631,"tags":["buttercup","dandelion","flower","plant"],"version":0.6,"annotation":"blossom","shortcodes":["blossom"]},{"emoji":"🌷","group":3,"order":3632,"tags":["blossom","flower","growth","plant"],"version":0.6,"annotation":"tulip","shortcodes":["tulip"]},{"emoji":"🪻","group":3,"order":3633,"tags":["bloom","bluebonnet","flower","indigo","lavender","lilac","lupine","plant","purple","shrub","snapdragon","spring","violet"],"version":15,"annotation":"hyacinth","shortcodes":["hyacinth"]},{"emoji":"🌱","group":3,"order":3634,"tags":["plant","sapling","sprout","young"],"version":0.6,"annotation":"seedling","shortcodes":["seedling"]},{"emoji":"🪴","group":3,"order":3635,"tags":["decor","grow","house","nurturing","plant","pot","potted"],"version":13,"annotation":"potted plant","shortcodes":["potted_plant"]},{"emoji":"🌲","group":3,"order":3636,"tags":["christmas","evergreen","forest","pine","tree"],"version":1,"annotation":"evergreen tree","shortcodes":["evergreen_tree"]},{"emoji":"🌳","group":3,"order":3637,"tags":["deciduous","forest","green","habitat","shedding","tree"],"version":1,"annotation":"deciduous tree","shortcodes":["deciduous_tree"]},{"emoji":"🌴","group":3,"order":3638,"tags":["beach","palm","plant","tree","tropical"],"version":0.6,"annotation":"palm tree","shortcodes":["palm_tree"]},{"emoji":"🌵","group":3,"order":3639,"tags":["desert","drought","nature","plant"],"version":0.6,"annotation":"cactus","shortcodes":["cactus"]},{"emoji":"🌾","group":3,"order":3640,"tags":["ear","grain","grains","plant","rice","sheaf"],"version":0.6,"annotation":"sheaf of rice","shortcodes":["ear_of_rice","sheaf_of_rice"]},{"emoji":"🌿","group":3,"order":3641,"tags":["leaf","plant"],"version":0.6,"annotation":"herb","shortcodes":["herb"]},{"emoji":"☘️","group":3,"order":3643,"tags":["irish","plant"],"version":1,"annotation":"shamrock","shortcodes":["shamrock"]},{"emoji":"🍀","group":3,"order":3644,"tags":["4","clover","four","four-leaf","irish","leaf","lucky","plant"],"version":0.6,"annotation":"four leaf clover","shortcodes":["four_leaf_clover"]},{"emoji":"🍁","group":3,"order":3645,"tags":["falling","leaf","maple"],"version":0.6,"annotation":"maple leaf","shortcodes":["maple_leaf"]},{"emoji":"🍂","group":3,"order":3646,"tags":["autumn","fall","fallen","falling","leaf"],"version":0.6,"annotation":"fallen leaf","shortcodes":["fallen_leaf"]},{"emoji":"🍃","group":3,"order":3647,"tags":["blow","flutter","fluttering","leaf","wind"],"version":0.6,"annotation":"leaf fluttering in wind","shortcodes":["leaves"]},{"emoji":"🪹","group":3,"order":3648,"tags":["branch","empty","home","nest","nesting"],"version":14,"annotation":"empty nest","shortcodes":["empty_nest","nest"]},{"emoji":"🪺","group":3,"order":3649,"tags":["bird","branch","egg","eggs","nest","nesting"],"version":14,"annotation":"nest with eggs","shortcodes":["nest_with_eggs"]},{"emoji":"🍄","group":3,"order":3650,"tags":["fungus","toadstool"],"version":0.6,"annotation":"mushroom","shortcodes":["mushroom"]},{"emoji":"","group":3,"order":3651,"tags":["bare","barren","branches","dead","drought","leafless","tree","trunk","winter","wood"],"version":16,"annotation":"leafless tree","shortcodes":["leafless_tree"]},{"emoji":"🍇","group":4,"order":3652,"tags":["dionysus","fruit","grape"],"version":0.6,"annotation":"grapes","shortcodes":["grapes"]},{"emoji":"🍈","group":4,"order":3653,"tags":["cantaloupe","fruit"],"version":0.6,"annotation":"melon","shortcodes":["melon"]},{"emoji":"🍉","group":4,"order":3654,"tags":["fruit"],"version":0.6,"annotation":"watermelon","shortcodes":["watermelon"]},{"emoji":"🍊","group":4,"order":3655,"tags":["c","citrus","fruit","nectarine","orange","vitamin"],"version":0.6,"annotation":"tangerine","shortcodes":["orange","tangerine"]},{"emoji":"🍋","group":4,"order":3656,"tags":["citrus","fruit","sour"],"version":1,"annotation":"lemon","shortcodes":["lemon"]},{"emoji":"🍋🟩","group":4,"order":3657,"tags":["acidity","citrus","cocktail","fruit","garnish","key","margarita","mojito","refreshing","salsa","sour","tangy","tequila","tropical","zest"],"version":15.1,"annotation":"lime","shortcodes":["lime"]},{"emoji":"🍌","group":4,"order":3658,"tags":["fruit","potassium"],"version":0.6,"annotation":"banana","shortcodes":["banana"]},{"emoji":"🍍","group":4,"order":3659,"tags":["colada","fruit","pina","tropical"],"version":0.6,"annotation":"pineapple","shortcodes":["pineapple"]},{"emoji":"🥭","group":4,"order":3660,"tags":["food","fruit","tropical"],"version":11,"annotation":"mango","shortcodes":["mango"]},{"emoji":"🍎","group":4,"order":3661,"tags":["apple","diet","food","fruit","health","red","ripe"],"version":0.6,"annotation":"red apple","shortcodes":["apple","red_apple"]},{"emoji":"🍏","group":4,"order":3662,"tags":["apple","fruit","green"],"version":0.6,"annotation":"green apple","shortcodes":["green_apple"]},{"emoji":"🍐","group":4,"order":3663,"tags":["fruit"],"version":1,"annotation":"pear","shortcodes":["pear"]},{"emoji":"🍑","group":4,"order":3664,"tags":["fruit"],"version":0.6,"annotation":"peach","shortcodes":["peach"]},{"emoji":"🍒","group":4,"order":3665,"tags":["berries","cherry","fruit","red"],"version":0.6,"annotation":"cherries","shortcodes":["cherries"]},{"emoji":"🍓","group":4,"order":3666,"tags":["berry","fruit"],"version":0.6,"annotation":"strawberry","shortcodes":["strawberry"]},{"emoji":"🫐","group":4,"order":3667,"tags":["berries","berry","bilberry","blue","blueberry","food","fruit"],"version":13,"annotation":"blueberries","shortcodes":["blueberries"]},{"emoji":"🥝","group":4,"order":3668,"tags":["food","fruit","kiwi"],"version":3,"annotation":"kiwi fruit","shortcodes":["kiwi"]},{"emoji":"🍅","group":4,"order":3669,"tags":["food","fruit","vegetable"],"version":0.6,"annotation":"tomato","shortcodes":["tomato"]},{"emoji":"🫒","group":4,"order":3670,"tags":["food"],"version":13,"annotation":"olive","shortcodes":["olive"]},{"emoji":"🥥","group":4,"order":3671,"tags":["colada","palm","piña"],"version":5,"annotation":"coconut","shortcodes":["coconut"]},{"emoji":"🥑","group":4,"order":3672,"tags":["food","fruit"],"version":3,"annotation":"avocado","shortcodes":["avocado"]},{"emoji":"🍆","group":4,"order":3673,"tags":["aubergine","vegetable"],"version":0.6,"annotation":"eggplant","shortcodes":["eggplant"]},{"emoji":"🥔","group":4,"order":3674,"tags":["food","vegetable"],"version":3,"annotation":"potato","shortcodes":["potato"]},{"emoji":"🥕","group":4,"order":3675,"tags":["food","vegetable"],"version":3,"annotation":"carrot","shortcodes":["carrot"]},{"emoji":"🌽","group":4,"order":3676,"tags":["corn","crops","ear","farm","maize","maze"],"version":0.6,"annotation":"ear of corn","shortcodes":["corn","ear_of_corn"]},{"emoji":"🌶️","group":4,"order":3678,"tags":["hot","pepper"],"version":0.7,"annotation":"hot pepper","shortcodes":["hot_pepper"]},{"emoji":"🫑","group":4,"order":3679,"tags":["bell","capsicum","food","pepper","vegetable"],"version":13,"annotation":"bell pepper","shortcodes":["bell_pepper"]},{"emoji":"🥒","group":4,"order":3680,"tags":["food","pickle","vegetable"],"version":3,"annotation":"cucumber","shortcodes":["cucumber"]},{"emoji":"🥬","group":4,"order":3681,"tags":["bok","burgers","cabbage","choy","green","kale","leafy","lettuce","salad"],"version":11,"annotation":"leafy green","shortcodes":["leafy_green"]},{"emoji":"🥦","group":4,"order":3682,"tags":["cabbage","wild"],"version":5,"annotation":"broccoli","shortcodes":["broccoli"]},{"emoji":"🧄","group":4,"order":3683,"tags":["flavoring"],"version":12,"annotation":"garlic","shortcodes":["garlic"]},{"emoji":"🧅","group":4,"order":3684,"tags":["flavoring"],"version":12,"annotation":"onion","shortcodes":["onion"]},{"emoji":"🥜","group":4,"order":3685,"tags":["food","nut","peanut","vegetable"],"version":3,"annotation":"peanuts","shortcodes":["peanuts"]},{"emoji":"🫘","group":4,"order":3686,"tags":["food","kidney","legume","small"],"version":14,"annotation":"beans","shortcodes":["beans"]},{"emoji":"🌰","group":4,"order":3687,"tags":["almond","plant"],"version":0.6,"annotation":"chestnut","shortcodes":["chestnut"]},{"emoji":"🫚","group":4,"order":3688,"tags":["beer","ginger","health","herb","natural","root","spice"],"version":15,"annotation":"ginger root","shortcodes":["ginger"]},{"emoji":"🫛","group":4,"order":3689,"tags":["beans","beanstalk","edamame","legume","pea","pod","soybean","vegetable","veggie"],"version":15,"annotation":"pea pod","shortcodes":["pea"]},{"emoji":"🍄🟫","group":4,"order":3690,"tags":["food","fungi","fungus","mushroom","nature","pizza","portobello","shiitake","shroom","spore","sprout","toppings","truffle","vegetable","vegetarian","veggie"],"version":15.1,"annotation":"brown mushroom","shortcodes":["brown_mushroom"]},{"emoji":"","group":4,"order":3691,"tags":["beet","food","garden","radish","root","salad","turnip","vegetable","vegetarian"],"version":16,"annotation":"root vegetable","shortcodes":["root_vegetable"]},{"emoji":"🍞","group":4,"order":3692,"tags":["carbs","food","grain","loaf","restaurant","toast","wheat"],"version":0.6,"annotation":"bread","shortcodes":["bread"]},{"emoji":"🥐","group":4,"order":3693,"tags":["bread","breakfast","crescent","food","french","roll"],"version":3,"annotation":"croissant","shortcodes":["croissant"]},{"emoji":"🥖","group":4,"order":3694,"tags":["baguette","bread","food","french"],"version":3,"annotation":"baguette bread","shortcodes":["baguette_bread"]},{"emoji":"🫓","group":4,"order":3695,"tags":["arepa","bread","food","gordita","lavash","naan","pita"],"version":13,"annotation":"flatbread","shortcodes":["flatbread"]},{"emoji":"🥨","group":4,"order":3696,"tags":["convoluted","twisted"],"version":5,"annotation":"pretzel","shortcodes":["pretzel"]},{"emoji":"🥯","group":4,"order":3697,"tags":["bakery","bread","breakfast","schmear"],"version":11,"annotation":"bagel","shortcodes":["bagel"]},{"emoji":"🥞","group":4,"order":3698,"tags":["breakfast","crêpe","food","hotcake","pancake"],"version":3,"annotation":"pancakes","shortcodes":["pancakes"]},{"emoji":"🧇","group":4,"order":3699,"tags":["breakfast","indecisive","iron"],"version":12,"annotation":"waffle","shortcodes":["waffle"]},{"emoji":"🧀","group":4,"order":3700,"tags":["cheese","wedge"],"version":1,"annotation":"cheese wedge","shortcodes":["cheese"]},{"emoji":"🍖","group":4,"order":3701,"tags":["bone","meat"],"version":0.6,"annotation":"meat on bone","shortcodes":["meat_on_bone"]},{"emoji":"🍗","group":4,"order":3702,"tags":["bone","chicken","drumstick","hungry","leg","poultry","turkey"],"version":0.6,"annotation":"poultry leg","shortcodes":["poultry_leg"]},{"emoji":"🥩","group":4,"order":3703,"tags":["chop","cut","lambchop","meat","porkchop","red","steak"],"version":5,"annotation":"cut of meat","shortcodes":["cut_of_meat"]},{"emoji":"🥓","group":4,"order":3704,"tags":["breakfast","food","meat"],"version":3,"annotation":"bacon","shortcodes":["bacon"]},{"emoji":"🍔","group":4,"order":3705,"tags":["burger","eat","fast","food","hungry"],"version":0.6,"annotation":"hamburger","shortcodes":["hamburger"]},{"emoji":"🍟","group":4,"order":3706,"tags":["fast","food","french","fries"],"version":0.6,"annotation":"french fries","shortcodes":["french_fries","fries"]},{"emoji":"🍕","group":4,"order":3707,"tags":["cheese","food","hungry","pepperoni","slice"],"version":0.6,"annotation":"pizza","shortcodes":["pizza"]},{"emoji":"🌭","group":4,"order":3708,"tags":["dog","frankfurter","hot","hotdog","sausage"],"version":1,"annotation":"hot dog","shortcodes":["hotdog"]},{"emoji":"🥪","group":4,"order":3709,"tags":["bread"],"version":5,"annotation":"sandwich","shortcodes":["sandwich"]},{"emoji":"🌮","group":4,"order":3710,"tags":["mexican"],"version":1,"annotation":"taco","shortcodes":["taco"]},{"emoji":"🌯","group":4,"order":3711,"tags":["mexican","wrap"],"version":1,"annotation":"burrito","shortcodes":["burrito"]},{"emoji":"🫔","group":4,"order":3712,"tags":["food","mexican","pamonha","wrapped"],"version":13,"annotation":"tamale","shortcodes":["tamale"]},{"emoji":"🥙","group":4,"order":3713,"tags":["falafel","flatbread","food","gyro","kebab","stuffed"],"version":3,"annotation":"stuffed flatbread","shortcodes":["stuffed_flatbread"]},{"emoji":"🧆","group":4,"order":3714,"tags":["chickpea","meatball"],"version":12,"annotation":"falafel","shortcodes":["falafel"]},{"emoji":"🥚","group":4,"order":3715,"tags":["breakfast","food"],"version":3,"annotation":"egg","shortcodes":["egg"]},{"emoji":"🍳","group":4,"order":3716,"tags":["breakfast","easy","egg","fry","frying","over","pan","restaurant","side","sunny","up"],"version":0.6,"annotation":"cooking","shortcodes":["cooking","fried_egg"]},{"emoji":"🥘","group":4,"order":3717,"tags":["casserole","food","paella","pan","shallow"],"version":3,"annotation":"shallow pan of food","shortcodes":["shallow_pan_of_food"]},{"emoji":"🍲","group":4,"order":3718,"tags":["food","pot","soup","stew"],"version":0.6,"annotation":"pot of food","shortcodes":["pot_of_food","stew"]},{"emoji":"🫕","group":4,"order":3719,"tags":["cheese","chocolate","food","melted","pot","ski"],"version":13,"annotation":"fondue","shortcodes":["fondue"]},{"emoji":"🥣","group":4,"order":3720,"tags":["bowl","breakfast","cereal","congee","oatmeal","porridge","spoon"],"version":5,"annotation":"bowl with spoon","shortcodes":["bowl_with_spoon"]},{"emoji":"🥗","group":4,"order":3721,"tags":["food","green","salad"],"version":3,"annotation":"green salad","shortcodes":["green_salad","salad"]},{"emoji":"🍿","group":4,"order":3722,"tags":["corn","movie","pop"],"version":1,"annotation":"popcorn","shortcodes":["popcorn"]},{"emoji":"🧈","group":4,"order":3723,"tags":["dairy"],"version":12,"annotation":"butter","shortcodes":["butter"]},{"emoji":"🧂","group":4,"order":3724,"tags":["condiment","flavor","mad","salty","shaker","taste","upset"],"version":11,"annotation":"salt","shortcodes":["salt"]},{"emoji":"🥫","group":4,"order":3725,"tags":["can","canned","food"],"version":5,"annotation":"canned food","shortcodes":["canned_food"]},{"emoji":"🍱","group":4,"order":3726,"tags":["bento","box","food"],"version":0.6,"annotation":"bento box","shortcodes":["bento","bento_box"]},{"emoji":"🍘","group":4,"order":3727,"tags":["cracker","food","rice"],"version":0.6,"annotation":"rice cracker","shortcodes":["rice_cracker"]},{"emoji":"🍙","group":4,"order":3728,"tags":["ball","food","japanese","rice"],"version":0.6,"annotation":"rice ball","shortcodes":["rice_ball"]},{"emoji":"🍚","group":4,"order":3729,"tags":["cooked","food","rice"],"version":0.6,"annotation":"cooked rice","shortcodes":["cooked_rice","rice"]},{"emoji":"🍛","group":4,"order":3730,"tags":["curry","food","rice"],"version":0.6,"annotation":"curry rice","shortcodes":["curry","curry_rice"]},{"emoji":"🍜","group":4,"order":3731,"tags":["bowl","chopsticks","food","noodle","pho","ramen","soup","steaming"],"version":0.6,"annotation":"steaming bowl","shortcodes":["ramen","steaming_bowl"]},{"emoji":"🍝","group":4,"order":3732,"tags":["food","meatballs","pasta","restaurant"],"version":0.6,"annotation":"spaghetti","shortcodes":["spaghetti"]},{"emoji":"🍠","group":4,"order":3733,"tags":["food","potato","roasted","sweet"],"version":0.6,"annotation":"roasted sweet potato","shortcodes":["sweet_potato"]},{"emoji":"🍢","group":4,"order":3734,"tags":["food","kebab","restaurant","seafood","skewer","stick"],"version":0.6,"annotation":"oden","shortcodes":["oden"]},{"emoji":"🍣","group":4,"order":3735,"tags":["food"],"version":0.6,"annotation":"sushi","shortcodes":["sushi"]},{"emoji":"🍤","group":4,"order":3736,"tags":["fried","prawn","shrimp","tempura"],"version":0.6,"annotation":"fried shrimp","shortcodes":["fried_shrimp"]},{"emoji":"🍥","group":4,"order":3737,"tags":["cake","fish","food","pastry","restaurant","swirl"],"version":0.6,"annotation":"fish cake with swirl","shortcodes":["fish_cake"]},{"emoji":"🥮","group":4,"order":3738,"tags":["autumn","cake","festival","moon","yuèbǐng"],"version":11,"annotation":"moon cake","shortcodes":["moon_cake"]},{"emoji":"🍡","group":4,"order":3739,"tags":["dessert","japanese","skewer","stick","sweet"],"version":0.6,"annotation":"dango","shortcodes":["dango"]},{"emoji":"🥟","group":4,"order":3740,"tags":["empanada","gyōza","jiaozi","pierogi","potsticker"],"version":5,"annotation":"dumpling","shortcodes":["dumpling"]},{"emoji":"🥠","group":4,"order":3741,"tags":["cookie","fortune","prophecy"],"version":5,"annotation":"fortune cookie","shortcodes":["fortune_cookie"]},{"emoji":"🥡","group":4,"order":3742,"tags":["box","chopsticks","delivery","food","oyster","pail","takeout"],"version":5,"annotation":"takeout box","shortcodes":["takeout_box"]},{"emoji":"🍦","group":4,"order":3743,"tags":["cream","dessert","food","ice","icecream","restaurant","serve","soft","sweet"],"version":0.6,"annotation":"soft ice cream","shortcodes":["icecream","soft_serve"]},{"emoji":"🍧","group":4,"order":3744,"tags":["dessert","ice","restaurant","shaved","sweet"],"version":0.6,"annotation":"shaved ice","shortcodes":["shaved_ice"]},{"emoji":"🍨","group":4,"order":3745,"tags":["cream","dessert","food","ice","restaurant","sweet"],"version":0.6,"annotation":"ice cream","shortcodes":["ice_cream"]},{"emoji":"🍩","group":4,"order":3746,"tags":["breakfast","dessert","donut","food","sweet"],"version":0.6,"annotation":"doughnut","shortcodes":["doughnut"]},{"emoji":"🍪","group":4,"order":3747,"tags":["chip","chocolate","dessert","sweet"],"version":0.6,"annotation":"cookie","shortcodes":["cookie"]},{"emoji":"🎂","group":4,"order":3748,"tags":["bday","birthday","cake","celebration","dessert","happy","pastry","sweet"],"version":0.6,"annotation":"birthday cake","shortcodes":["birthday","birthday_cake"]},{"emoji":"🍰","group":4,"order":3749,"tags":["cake","dessert","pastry","slice","sweet"],"version":0.6,"annotation":"shortcake","shortcodes":["cake","shortcake"]},{"emoji":"🧁","group":4,"order":3750,"tags":["bakery","dessert","sprinkles","sugar","sweet","treat"],"version":11,"annotation":"cupcake","shortcodes":["cupcake"]},{"emoji":"🥧","group":4,"order":3751,"tags":["apple","filling","fruit","meat","pastry","pumpkin","slice"],"version":5,"annotation":"pie","shortcodes":["pie"]},{"emoji":"🍫","group":4,"order":3752,"tags":["bar","candy","chocolate","dessert","halloween","sweet","tooth"],"version":0.6,"annotation":"chocolate bar","shortcodes":["chocolate_bar"]},{"emoji":"🍬","group":4,"order":3753,"tags":["cavities","dessert","halloween","restaurant","sweet","tooth","wrapper"],"version":0.6,"annotation":"candy","shortcodes":["candy"]},{"emoji":"🍭","group":4,"order":3754,"tags":["candy","dessert","food","restaurant","sweet"],"version":0.6,"annotation":"lollipop","shortcodes":["lollipop"]},{"emoji":"🍮","group":4,"order":3755,"tags":["dessert","pudding","sweet"],"version":0.6,"annotation":"custard","shortcodes":["custard"]},{"emoji":"🍯","group":4,"order":3756,"tags":["barrel","bear","food","honey","honeypot","jar","pot","sweet"],"version":0.6,"annotation":"honey pot","shortcodes":["honey_pot"]},{"emoji":"🍼","group":4,"order":3757,"tags":["babies","baby","birth","born","bottle","drink","infant","milk","newborn"],"version":1,"annotation":"baby bottle","shortcodes":["baby_bottle"]},{"emoji":"🥛","group":4,"order":3758,"tags":["drink","glass","milk"],"version":3,"annotation":"glass of milk","shortcodes":["glass_of_milk","milk"]},{"emoji":"☕️","group":4,"order":3759,"tags":["beverage","cafe","caffeine","chai","coffee","drink","hot","morning","steaming","tea"],"version":0.6,"annotation":"hot beverage","shortcodes":["coffee"]},{"emoji":"🫖","group":4,"order":3760,"tags":["brew","drink","food","pot","tea"],"version":13,"annotation":"teapot","shortcodes":["teapot"]},{"emoji":"🍵","group":4,"order":3761,"tags":["beverage","cup","drink","handle","oolong","tea","teacup"],"version":0.6,"annotation":"teacup without handle","shortcodes":["tea"]},{"emoji":"🍶","group":4,"order":3762,"tags":["bar","beverage","bottle","cup","drink","restaurant"],"version":0.6,"annotation":"sake","shortcodes":["sake"]},{"emoji":"🍾","group":4,"order":3763,"tags":["bar","bottle","cork","drink","popping"],"version":1,"annotation":"bottle with popping cork","shortcodes":["champagne"]},{"emoji":"🍷","group":4,"order":3764,"tags":["alcohol","bar","beverage","booze","club","drink","drinking","drinks","glass","restaurant","wine"],"version":0.6,"annotation":"wine glass","shortcodes":["wine_glass"]},{"emoji":"🍸️","group":4,"order":3765,"tags":["alcohol","bar","booze","club","cocktail","drink","drinking","drinks","glass","mad","martini","men"],"version":0.6,"annotation":"cocktail glass","shortcodes":["cocktail"]},{"emoji":"🍹","group":4,"order":3766,"tags":["alcohol","bar","booze","club","cocktail","drink","drinking","drinks","drunk","mai","party","tai","tropical","tropics"],"version":0.6,"annotation":"tropical drink","shortcodes":["tropical_drink"]},{"emoji":"🍺","group":4,"order":3767,"tags":["alcohol","ale","bar","beer","booze","drink","drinking","drinks","mug","octoberfest","oktoberfest","pint","stein","summer"],"version":0.6,"annotation":"beer mug","shortcodes":["beer"]},{"emoji":"🍻","group":4,"order":3768,"tags":["alcohol","bar","beer","booze","bottoms","cheers","clink","clinking","drinking","drinks","mugs"],"version":0.6,"annotation":"clinking beer mugs","shortcodes":["beers"]},{"emoji":"🥂","group":4,"order":3769,"tags":["celebrate","clink","clinking","drink","glass","glasses"],"version":3,"annotation":"clinking glasses","shortcodes":["clinking_glasses"]},{"emoji":"🥃","group":4,"order":3770,"tags":["glass","liquor","scotch","shot","tumbler","whiskey","whisky"],"version":3,"annotation":"tumbler glass","shortcodes":["tumbler_glass","whisky"]},{"emoji":"🫗","group":4,"order":3771,"tags":["accident","drink","empty","glass","liquid","oops","pour","pouring","spill","water"],"version":14,"annotation":"pouring liquid","shortcodes":["pour","pouring_liquid"]},{"emoji":"🥤","group":4,"order":3772,"tags":["cup","drink","juice","malt","soda","soft","straw","water"],"version":5,"annotation":"cup with straw","shortcodes":["cup_with_straw"]},{"emoji":"🧋","group":4,"order":3773,"tags":["boba","bubble","food","milk","pearl","tea"],"version":13,"annotation":"bubble tea","shortcodes":["boba_drink","bubble_tea"]},{"emoji":"🧃","group":4,"order":3774,"tags":["beverage","box","juice","straw","sweet"],"version":12,"annotation":"beverage box","shortcodes":["beverage_box","juice_box"]},{"emoji":"🧉","group":4,"order":3775,"tags":["drink"],"version":12,"annotation":"mate","shortcodes":["mate"]},{"emoji":"🧊","group":4,"order":3776,"tags":["cold","cube","iceberg"],"version":12,"annotation":"ice","shortcodes":["ice","ice_cube"]},{"emoji":"🥢","group":4,"order":3777,"tags":["hashi","jeotgarak","kuaizi"],"version":5,"annotation":"chopsticks","shortcodes":["chopsticks"]},{"emoji":"🍽️","group":4,"order":3779,"tags":["cooking","dinner","eat","fork","knife","plate"],"version":0.7,"annotation":"fork and knife with plate","shortcodes":["fork_knife_plate"]},{"emoji":"🍴","group":4,"order":3780,"tags":["breakfast","breaky","cooking","cutlery","delicious","dinner","eat","feed","food","fork","hungry","knife","lunch","restaurant","yum","yummy"],"version":0.6,"annotation":"fork and knife","shortcodes":["fork_and_knife"]},{"emoji":"🥄","group":4,"order":3781,"tags":["eat","tableware"],"version":3,"annotation":"spoon","shortcodes":["spoon"]},{"emoji":"🔪","group":4,"order":3782,"tags":["chef","cooking","hocho","kitchen","knife","tool","weapon"],"version":0.6,"annotation":"kitchen knife","shortcodes":["knife"]},{"emoji":"🫙","group":4,"order":3783,"tags":["condiment","container","empty","nothing","sauce","store"],"version":14,"annotation":"jar","shortcodes":["jar"]},{"emoji":"🏺","group":4,"order":3784,"tags":["aquarius","cooking","drink","jug","tool","weapon","zodiac"],"version":1,"annotation":"amphora","shortcodes":["amphora"]},{"emoji":"🌍️","group":5,"order":3785,"tags":["africa","earth","europe","europe-africa","globe","showing","world"],"version":0.7,"annotation":"globe showing Europe-Africa","shortcodes":["earth_africa","earth_europe"]},{"emoji":"🌎️","group":5,"order":3786,"tags":["americas","earth","globe","showing","world"],"version":0.7,"annotation":"globe showing Americas","shortcodes":["earth_americas"]},{"emoji":"🌏️","group":5,"order":3787,"tags":["asia","asia-australia","australia","earth","globe","showing","world"],"version":0.6,"annotation":"globe showing Asia-Australia","shortcodes":["earth_asia"]},{"emoji":"🌐","group":5,"order":3788,"tags":["earth","globe","internet","meridians","web","world","worldwide"],"version":1,"annotation":"globe with meridians","shortcodes":["globe_with_meridians"]},{"emoji":"🗺️","group":5,"order":3790,"tags":["map","world"],"version":0.7,"annotation":"world map","shortcodes":["world_map"]},{"emoji":"🗾","group":5,"order":3791,"tags":["japan","map"],"version":0.6,"annotation":"map of Japan","shortcodes":["japan_map"]},{"emoji":"🧭","group":5,"order":3792,"tags":["direction","magnetic","navigation","orienteering"],"version":11,"annotation":"compass","shortcodes":["compass"]},{"emoji":"🏔️","group":5,"order":3794,"tags":["cold","mountain","snow","snow-capped"],"version":0.7,"annotation":"snow-capped mountain","shortcodes":["mountain_snow"]},{"emoji":"⛰️","group":5,"order":3796,"tags":["mountain"],"version":0.7,"annotation":"mountain","shortcodes":["mountain"]},{"emoji":"🌋","group":5,"order":3797,"tags":["eruption","mountain","nature"],"version":0.6,"annotation":"volcano","shortcodes":["volcano"]},{"emoji":"🗻","group":5,"order":3798,"tags":["fuji","mount","mountain","nature"],"version":0.6,"annotation":"mount fuji","shortcodes":["mount_fuji"]},{"emoji":"🏕️","group":5,"order":3800,"tags":["camping"],"version":0.7,"annotation":"camping","shortcodes":["camping"]},{"emoji":"🏖️","group":5,"order":3802,"tags":["beach","umbrella"],"version":0.7,"annotation":"beach with umbrella","shortcodes":["beach","beach_with_umbrella"]},{"emoji":"🏜️","group":5,"order":3804,"tags":["desert"],"version":0.7,"annotation":"desert","shortcodes":["desert"]},{"emoji":"🏝️","group":5,"order":3806,"tags":["desert","island"],"version":0.7,"annotation":"desert island","shortcodes":["desert_island","island"]},{"emoji":"🏞️","group":5,"order":3808,"tags":["national","park"],"version":0.7,"annotation":"national park","shortcodes":["national_park"]},{"emoji":"🏟️","group":5,"order":3810,"tags":["stadium"],"version":0.7,"annotation":"stadium","shortcodes":["stadium"]},{"emoji":"🏛️","group":5,"order":3812,"tags":["building","classical"],"version":0.7,"annotation":"classical building","shortcodes":["classical_building"]},{"emoji":"🏗️","group":5,"order":3814,"tags":["building","construction","crane"],"version":0.7,"annotation":"building construction","shortcodes":["building_construction","construction_site"]},{"emoji":"🧱","group":5,"order":3815,"tags":["bricks","clay","mortar","wall"],"version":11,"annotation":"brick","shortcodes":["bricks"]},{"emoji":"🪨","group":5,"order":3816,"tags":["boulder","heavy","solid","stone","tough"],"version":13,"annotation":"rock","shortcodes":["rock"]},{"emoji":"🪵","group":5,"order":3817,"tags":["log","lumber","timber"],"version":13,"annotation":"wood","shortcodes":["wood"]},{"emoji":"🛖","group":5,"order":3818,"tags":["home","house","roundhouse","shelter","yurt"],"version":13,"annotation":"hut","shortcodes":["hut"]},{"emoji":"🏘️","group":5,"order":3820,"tags":["house"],"version":0.7,"annotation":"houses","shortcodes":["homes","houses"]},{"emoji":"🏚️","group":5,"order":3822,"tags":["derelict","home","house"],"version":0.7,"annotation":"derelict house","shortcodes":["derelict_house","house_abandoned"]},{"emoji":"🏠️","group":5,"order":3823,"tags":["building","country","heart","home","ranch","settle","simple","suburban","suburbia","where"],"version":0.6,"annotation":"house","shortcodes":["house"]},{"emoji":"🏡","group":5,"order":3824,"tags":["building","country","garden","heart","home","house","ranch","settle","simple","suburban","suburbia","where"],"version":0.6,"annotation":"house with garden","shortcodes":["house_with_garden"]},{"emoji":"🏢","group":5,"order":3825,"tags":["building","city","cubical","job","office"],"version":0.6,"annotation":"office building","shortcodes":["office"]},{"emoji":"🏣","group":5,"order":3826,"tags":["building","japanese","office","post"],"version":0.6,"annotation":"Japanese post office","shortcodes":["post_office"]},{"emoji":"🏤","group":5,"order":3827,"tags":["building","european","office","post"],"version":1,"annotation":"post office","shortcodes":["european_post_office"]},{"emoji":"🏥","group":5,"order":3828,"tags":["building","doctor","medicine"],"version":0.6,"annotation":"hospital","shortcodes":["hospital"]},{"emoji":"🏦","group":5,"order":3829,"tags":["building"],"version":0.6,"annotation":"bank","shortcodes":["bank"]},{"emoji":"🏨","group":5,"order":3830,"tags":["building"],"version":0.6,"annotation":"hotel","shortcodes":["hotel"]},{"emoji":"🏩","group":5,"order":3831,"tags":["building","hotel","love"],"version":0.6,"annotation":"love hotel","shortcodes":["love_hotel"]},{"emoji":"🏪","group":5,"order":3832,"tags":["24","building","convenience","hours","store"],"version":0.6,"annotation":"convenience store","shortcodes":["convenience_store"]},{"emoji":"🏫","group":5,"order":3833,"tags":["building"],"version":0.6,"annotation":"school","shortcodes":["school"]},{"emoji":"🏬","group":5,"order":3834,"tags":["building","department","store"],"version":0.6,"annotation":"department store","shortcodes":["department_store"]},{"emoji":"🏭️","group":5,"order":3835,"tags":["building"],"version":0.6,"annotation":"factory","shortcodes":["factory"]},{"emoji":"🏯","group":5,"order":3836,"tags":["building","castle","japanese"],"version":0.6,"annotation":"Japanese castle","shortcodes":["japanese_castle"]},{"emoji":"🏰","group":5,"order":3837,"tags":["building","european"],"version":0.6,"annotation":"castle","shortcodes":["castle","european_castle"]},{"emoji":"💒","group":5,"order":3838,"tags":["chapel","hitched","nuptials","romance"],"version":0.6,"annotation":"wedding","shortcodes":["wedding"]},{"emoji":"🗼","group":5,"order":3839,"tags":["tokyo","tower"],"version":0.6,"annotation":"Tokyo tower","shortcodes":["tokyo_tower"]},{"emoji":"🗽","group":5,"order":3840,"tags":["liberty","new","ny","nyc","statue","york"],"version":0.6,"annotation":"Statue of Liberty","shortcodes":["statue_of_liberty"]},{"emoji":"⛪️","group":5,"order":3841,"tags":["bless","chapel","christian","cross","religion"],"version":0.6,"annotation":"church","shortcodes":["church"]},{"emoji":"🕌","group":5,"order":3842,"tags":["islam","masjid","muslim","religion"],"version":1,"annotation":"mosque","shortcodes":["mosque"]},{"emoji":"🛕","group":5,"order":3843,"tags":["hindu","temple"],"version":12,"annotation":"hindu temple","shortcodes":["hindu_temple"]},{"emoji":"🕍","group":5,"order":3844,"tags":["jew","jewish","judaism","religion","temple"],"version":1,"annotation":"synagogue","shortcodes":["synagogue"]},{"emoji":"⛩️","group":5,"order":3846,"tags":["religion","shinto","shrine"],"version":0.7,"annotation":"shinto shrine","shortcodes":["shinto_shrine"]},{"emoji":"🕋","group":5,"order":3847,"tags":["hajj","islam","muslim","religion","umrah"],"version":1,"annotation":"kaaba","shortcodes":["kaaba"]},{"emoji":"⛲️","group":5,"order":3848,"tags":["fountain"],"version":0.6,"annotation":"fountain","shortcodes":["fountain"]},{"emoji":"⛺️","group":5,"order":3849,"tags":["camping"],"version":0.6,"annotation":"tent","shortcodes":["tent"]},{"emoji":"🌁","group":5,"order":3850,"tags":["fog"],"version":0.6,"annotation":"foggy","shortcodes":["foggy"]},{"emoji":"🌃","group":5,"order":3851,"tags":["night","star","stars"],"version":0.6,"annotation":"night with stars","shortcodes":["night_with_stars"]},{"emoji":"🏙️","group":5,"order":3853,"tags":["city"],"version":0.7,"annotation":"cityscape","shortcodes":["cityscape"]},{"emoji":"🌄","group":5,"order":3854,"tags":["morning","mountains","over","sun","sunrise"],"version":0.6,"annotation":"sunrise over mountains","shortcodes":["sunrise_over_mountains"]},{"emoji":"🌅","group":5,"order":3855,"tags":["morning","nature","sun"],"version":0.6,"annotation":"sunrise","shortcodes":["sunrise"]},{"emoji":"🌆","group":5,"order":3856,"tags":["at","building","city","cityscape","dusk","evening","landscape","sun","sunset"],"version":0.6,"annotation":"cityscape at dusk","shortcodes":["city_dusk"]},{"emoji":"🌇","group":5,"order":3857,"tags":["building","dusk","sun"],"version":0.6,"annotation":"sunset","shortcodes":["city_sunrise","city_sunset"]},{"emoji":"🌉","group":5,"order":3858,"tags":["at","bridge","night"],"version":0.6,"annotation":"bridge at night","shortcodes":["bridge_at_night"]},{"emoji":"♨️","group":5,"order":3860,"tags":["hot","hotsprings","springs","steaming"],"version":0.6,"annotation":"hot springs","shortcodes":["hotsprings"]},{"emoji":"🎠","group":5,"order":3861,"tags":["carousel","entertainment","horse"],"version":0.6,"annotation":"carousel horse","shortcodes":["carousel_horse"]},{"emoji":"🛝","group":5,"order":3862,"tags":["amusement","park","play","playground","playing","slide","sliding","theme"],"version":14,"annotation":"playground slide","shortcodes":["playground_slide","slide"]},{"emoji":"🎡","group":5,"order":3863,"tags":["amusement","ferris","park","theme","wheel"],"version":0.6,"annotation":"ferris wheel","shortcodes":["ferris_wheel"]},{"emoji":"🎢","group":5,"order":3864,"tags":["amusement","coaster","park","roller","theme"],"version":0.6,"annotation":"roller coaster","shortcodes":["roller_coaster"]},{"emoji":"💈","group":5,"order":3865,"tags":["barber","cut","fresh","haircut","pole","shave"],"version":0.6,"annotation":"barber pole","shortcodes":["barber","barber_pole"]},{"emoji":"🎪","group":5,"order":3866,"tags":["circus","tent"],"version":0.6,"annotation":"circus tent","shortcodes":["circus_tent"]},{"emoji":"🚂","group":5,"order":3867,"tags":["caboose","engine","railway","steam","train","trains","travel"],"version":1,"annotation":"locomotive","shortcodes":["steam_locomotive"]},{"emoji":"🚃","group":5,"order":3868,"tags":["car","electric","railway","train","tram","travel","trolleybus"],"version":0.6,"annotation":"railway car","shortcodes":["railway_car"]},{"emoji":"🚄","group":5,"order":3869,"tags":["high-speed","railway","shinkansen","speed","train"],"version":0.6,"annotation":"high-speed train","shortcodes":["bullettrain_side"]},{"emoji":"🚅","group":5,"order":3870,"tags":["bullet","high-speed","nose","railway","shinkansen","speed","train","travel"],"version":0.6,"annotation":"bullet train","shortcodes":["bullettrain_front"]},{"emoji":"🚆","group":5,"order":3871,"tags":["arrived","choo","railway"],"version":1,"annotation":"train","shortcodes":["train"]},{"emoji":"🚇️","group":5,"order":3872,"tags":["subway","travel"],"version":0.6,"annotation":"metro","shortcodes":["metro"]},{"emoji":"🚈","group":5,"order":3873,"tags":["arrived","light","monorail","rail","railway"],"version":1,"annotation":"light rail","shortcodes":["light_rail"]},{"emoji":"🚉","group":5,"order":3874,"tags":["railway","train"],"version":0.6,"annotation":"station","shortcodes":["station"]},{"emoji":"🚊","group":5,"order":3875,"tags":["trolleybus"],"version":1,"annotation":"tram","shortcodes":["tram"]},{"emoji":"🚝","group":5,"order":3876,"tags":["vehicle"],"version":1,"annotation":"monorail","shortcodes":["monorail"]},{"emoji":"🚞","group":5,"order":3877,"tags":["car","mountain","railway","trip"],"version":1,"annotation":"mountain railway","shortcodes":["mountain_railway"]},{"emoji":"🚋","group":5,"order":3878,"tags":["bus","car","tram","trolley","trolleybus"],"version":1,"annotation":"tram car","shortcodes":["tram_car"]},{"emoji":"🚌","group":5,"order":3879,"tags":["school","vehicle"],"version":0.6,"annotation":"bus","shortcodes":["bus"]},{"emoji":"🚍️","group":5,"order":3880,"tags":["bus","cars","oncoming"],"version":0.7,"annotation":"oncoming bus","shortcodes":["oncoming_bus"]},{"emoji":"🚎","group":5,"order":3881,"tags":["bus","tram","trolley"],"version":1,"annotation":"trolleybus","shortcodes":["trolleybus"]},{"emoji":"🚐","group":5,"order":3882,"tags":["bus","drive","van","vehicle"],"version":1,"annotation":"minibus","shortcodes":["minibus"]},{"emoji":"🚑️","group":5,"order":3883,"tags":["emergency","vehicle"],"version":0.6,"annotation":"ambulance","shortcodes":["ambulance"]},{"emoji":"🚒","group":5,"order":3884,"tags":["engine","fire","truck"],"version":0.6,"annotation":"fire engine","shortcodes":["fire_engine"]},{"emoji":"🚓","group":5,"order":3885,"tags":["5–0","car","cops","patrol","police"],"version":0.6,"annotation":"police car","shortcodes":["police_car"]},{"emoji":"🚔️","group":5,"order":3886,"tags":["car","oncoming","police"],"version":0.7,"annotation":"oncoming police car","shortcodes":["oncoming_police_car"]},{"emoji":"🚕","group":5,"order":3887,"tags":["cab","cabbie","car","drive","vehicle","yellow"],"version":0.6,"annotation":"taxi","shortcodes":["taxi"]},{"emoji":"🚖","group":5,"order":3888,"tags":["cab","cabbie","cars","drove","hail","oncoming","taxi","yellow"],"version":1,"annotation":"oncoming taxi","shortcodes":["oncoming_taxi"]},{"emoji":"🚗","group":5,"order":3889,"tags":["car","driving","vehicle"],"version":0.6,"annotation":"automobile","shortcodes":["car","red_car"]},{"emoji":"🚘️","group":5,"order":3890,"tags":["automobile","car","cars","drove","oncoming","vehicle"],"version":0.7,"annotation":"oncoming automobile","shortcodes":["oncoming_automobile"]},{"emoji":"🚙","group":5,"order":3891,"tags":["car","drive","recreational","sport","sportutility","utility","vehicle"],"version":0.6,"annotation":"sport utility vehicle","shortcodes":["blue_car","suv"]},{"emoji":"🛻","group":5,"order":3892,"tags":["automobile","car","flatbed","pick-up","pickup","transportation","truck"],"version":13,"annotation":"pickup truck","shortcodes":["pickup_truck"]},{"emoji":"🚚","group":5,"order":3893,"tags":["car","delivery","drive","truck","vehicle"],"version":0.6,"annotation":"delivery truck","shortcodes":["delivery_truck","truck"]},{"emoji":"🚛","group":5,"order":3894,"tags":["articulated","car","drive","lorry","move","semi","truck","vehicle"],"version":1,"annotation":"articulated lorry","shortcodes":["articulated_lorry"]},{"emoji":"🚜","group":5,"order":3895,"tags":["vehicle"],"version":1,"annotation":"tractor","shortcodes":["tractor"]},{"emoji":"🏎️","group":5,"order":3897,"tags":["car","racing","zoom"],"version":0.7,"annotation":"racing car","shortcodes":["racing_car"]},{"emoji":"🏍️","group":5,"order":3899,"tags":["racing"],"version":0.7,"annotation":"motorcycle","shortcodes":["motorcycle"]},{"emoji":"🛵","group":5,"order":3900,"tags":["motor","scooter"],"version":3,"annotation":"motor scooter","shortcodes":["motor_scooter"]},{"emoji":"🦽","group":5,"order":3901,"tags":["accessibility","manual","wheelchair"],"version":12,"annotation":"manual wheelchair","shortcodes":["manual_wheelchair"]},{"emoji":"🦼","group":5,"order":3902,"tags":["accessibility","motorized","wheelchair"],"version":12,"annotation":"motorized wheelchair","shortcodes":["motorized_wheelchair"]},{"emoji":"🛺","group":5,"order":3903,"tags":["auto","rickshaw","tuk"],"version":12,"annotation":"auto rickshaw","shortcodes":["auto_rickshaw"]},{"emoji":"🚲️","group":5,"order":3904,"tags":["bike","class","cycle","cycling","cyclist","gang","ride","spin","spinning"],"version":0.6,"annotation":"bicycle","shortcodes":["bicycle","bike"]},{"emoji":"🛴","group":5,"order":3905,"tags":["kick","scooter"],"version":3,"annotation":"kick scooter","shortcodes":["scooter"]},{"emoji":"🛹","group":5,"order":3906,"tags":["board","skate","skater","wheels"],"version":11,"annotation":"skateboard","shortcodes":["skateboard"]},{"emoji":"🛼","group":5,"order":3907,"tags":["blades","roller","skate","skates","sport"],"version":13,"annotation":"roller skate","shortcodes":["roller_skate"]},{"emoji":"🚏","group":5,"order":3908,"tags":["bus","busstop","stop"],"version":0.6,"annotation":"bus stop","shortcodes":["busstop"]},{"emoji":"🛣️","group":5,"order":3910,"tags":["highway","road"],"version":0.7,"annotation":"motorway","shortcodes":["motorway"]},{"emoji":"🛤️","group":5,"order":3912,"tags":["railway","track","train"],"version":0.7,"annotation":"railway track","shortcodes":["railway_track"]},{"emoji":"🛢️","group":5,"order":3914,"tags":["drum","oil"],"version":0.7,"annotation":"oil drum","shortcodes":["oil_drum"]},{"emoji":"⛽️","group":5,"order":3915,"tags":["diesel","fuel","fuelpump","gas","gasoline","pump","station"],"version":0.6,"annotation":"fuel pump","shortcodes":["fuelpump"]},{"emoji":"🛞","group":5,"order":3916,"tags":["car","circle","tire","turn","vehicle"],"version":14,"annotation":"wheel","shortcodes":["wheel"]},{"emoji":"🚨","group":5,"order":3917,"tags":["alarm","alert","beacon","car","emergency","light","police","revolving","siren"],"version":0.6,"annotation":"police car light","shortcodes":["rotating_light"]},{"emoji":"🚥","group":5,"order":3918,"tags":["horizontal","intersection","light","signal","stop","stoplight","traffic"],"version":0.6,"annotation":"horizontal traffic light","shortcodes":["traffic_light"]},{"emoji":"🚦","group":5,"order":3919,"tags":["drove","intersection","light","signal","stop","stoplight","traffic","vertical"],"version":1,"annotation":"vertical traffic light","shortcodes":["vertical_traffic_light"]},{"emoji":"🛑","group":5,"order":3920,"tags":["octagonal","sign","stop"],"version":3,"annotation":"stop sign","shortcodes":["octagonal_sign","stop_sign"]},{"emoji":"🚧","group":5,"order":3921,"tags":["barrier"],"version":0.6,"annotation":"construction","shortcodes":["construction"]},{"emoji":"⚓️","group":5,"order":3922,"tags":["ship","tool"],"version":0.6,"annotation":"anchor","shortcodes":["anchor"]},{"emoji":"🛟","group":5,"order":3923,"tags":["buoy","float","life","lifesaver","preserver","rescue","ring","safety","save","saver","swim"],"version":14,"annotation":"ring buoy","shortcodes":["lifebuoy","ring_buoy"]},{"emoji":"⛵️","group":5,"order":3924,"tags":["boat","resort","sailing","sea","yacht"],"version":0.6,"annotation":"sailboat","shortcodes":["sailboat"]},{"emoji":"🛶","group":5,"order":3925,"tags":["boat"],"version":3,"annotation":"canoe","shortcodes":["canoe"]},{"emoji":"🚤","group":5,"order":3926,"tags":["billionaire","boat","lake","luxury","millionaire","summer","travel"],"version":0.6,"annotation":"speedboat","shortcodes":["speedboat"]},{"emoji":"🛳️","group":5,"order":3928,"tags":["passenger","ship"],"version":0.7,"annotation":"passenger ship","shortcodes":["cruise_ship","passenger_ship"]},{"emoji":"⛴️","group":5,"order":3930,"tags":["boat","passenger"],"version":0.7,"annotation":"ferry","shortcodes":["ferry"]},{"emoji":"🛥️","group":5,"order":3932,"tags":["boat","motor","motorboat"],"version":0.7,"annotation":"motor boat","shortcodes":["motorboat"]},{"emoji":"🚢","group":5,"order":3933,"tags":["boat","passenger","travel"],"version":0.6,"annotation":"ship","shortcodes":["ship"]},{"emoji":"✈️","group":5,"order":3935,"tags":["aeroplane","fly","flying","jet","plane","travel"],"version":0.6,"annotation":"airplane","shortcodes":["airplane"]},{"emoji":"🛩️","group":5,"order":3937,"tags":["aeroplane","airplane","plane","small"],"version":0.7,"annotation":"small airplane","shortcodes":["small_airplane"]},{"emoji":"🛫","group":5,"order":3938,"tags":["aeroplane","airplane","check-in","departure","departures","plane"],"version":1,"annotation":"airplane departure","shortcodes":["airplane_departure"]},{"emoji":"🛬","group":5,"order":3939,"tags":["aeroplane","airplane","arrival","arrivals","arriving","landing","plane"],"version":1,"annotation":"airplane arrival","shortcodes":["airplane_arriving"]},{"emoji":"🪂","group":5,"order":3940,"tags":["hang-glide","parasail","skydive"],"version":12,"annotation":"parachute","shortcodes":["parachute"]},{"emoji":"💺","group":5,"order":3941,"tags":["chair"],"version":0.6,"annotation":"seat","shortcodes":["seat"]},{"emoji":"🚁","group":5,"order":3942,"tags":["copter","roflcopter","travel","vehicle"],"version":1,"annotation":"helicopter","shortcodes":["helicopter"]},{"emoji":"🚟","group":5,"order":3943,"tags":["railway","suspension"],"version":1,"annotation":"suspension railway","shortcodes":["suspension_railway"]},{"emoji":"🚠","group":5,"order":3944,"tags":["cable","cableway","gondola","lift","mountain","ski"],"version":1,"annotation":"mountain cableway","shortcodes":["mountain_cableway"]},{"emoji":"🚡","group":5,"order":3945,"tags":["aerial","cable","car","gondola","ropeway","tramway"],"version":1,"annotation":"aerial tramway","shortcodes":["aerial_tramway"]},{"emoji":"🛰️","group":5,"order":3947,"tags":["space"],"version":0.7,"annotation":"satellite","shortcodes":["satellite"]},{"emoji":"🚀","group":5,"order":3948,"tags":["launch","rockets","space","travel"],"version":0.6,"annotation":"rocket","shortcodes":["rocket"]},{"emoji":"🛸","group":5,"order":3949,"tags":["aliens","extra","flying","saucer","terrestrial","ufo"],"version":5,"annotation":"flying saucer","shortcodes":["flying_saucer"]},{"emoji":"🛎️","group":5,"order":3951,"tags":["bell","bellhop","hotel"],"version":0.7,"annotation":"bellhop bell","shortcodes":["bellhop"]},{"emoji":"🧳","group":5,"order":3952,"tags":["bag","packing","roller","suitcase","travel"],"version":11,"annotation":"luggage","shortcodes":["luggage"]},{"emoji":"⌛️","group":5,"order":3953,"tags":["done","hourglass","sand","time","timer"],"version":0.6,"annotation":"hourglass done","shortcodes":["hourglass"]},{"emoji":"⏳️","group":5,"order":3954,"tags":["done","flowing","hourglass","hours","not","sand","timer","waiting","yolo"],"version":0.6,"annotation":"hourglass not done","shortcodes":["hourglass_flowing_sand"]},{"emoji":"⌚️","group":5,"order":3955,"tags":["clock","time"],"version":0.6,"annotation":"watch","shortcodes":["watch"]},{"emoji":"⏰️","group":5,"order":3956,"tags":["alarm","clock","hours","hrs","late","time","waiting"],"version":0.6,"annotation":"alarm clock","shortcodes":["alarm_clock"]},{"emoji":"⏱️","group":5,"order":3958,"tags":["clock","time"],"version":1,"annotation":"stopwatch","shortcodes":["stopwatch"]},{"emoji":"⏲️","group":5,"order":3960,"tags":["clock","timer"],"version":1,"annotation":"timer clock","shortcodes":["timer_clock"]},{"emoji":"🕰️","group":5,"order":3962,"tags":["clock","mantelpiece","time"],"version":0.7,"annotation":"mantelpiece clock","shortcodes":["clock"]},{"emoji":"🕛️","group":5,"order":3963,"tags":["12","12:00","clock","o’clock","time","twelve"],"version":0.6,"annotation":"twelve o’clock","shortcodes":["clock12"]},{"emoji":"🕧️","group":5,"order":3964,"tags":["12","12:30","30","clock","thirty","time","twelve"],"version":0.7,"annotation":"twelve-thirty","shortcodes":["clock1230"]},{"emoji":"🕐️","group":5,"order":3965,"tags":["1","1:00","clock","one","o’clock","time"],"version":0.6,"annotation":"one o’clock","shortcodes":["clock1"]},{"emoji":"🕜️","group":5,"order":3966,"tags":["1","1:30","30","clock","one","thirty","time"],"version":0.7,"annotation":"one-thirty","shortcodes":["clock130"]},{"emoji":"🕑️","group":5,"order":3967,"tags":["2","2:00","clock","o’clock","time","two"],"version":0.6,"annotation":"two o’clock","shortcodes":["clock2"]},{"emoji":"🕝️","group":5,"order":3968,"tags":["2","2:30","30","clock","thirty","time","two"],"version":0.7,"annotation":"two-thirty","shortcodes":["clock230"]},{"emoji":"🕒️","group":5,"order":3969,"tags":["3","3:00","clock","o’clock","three","time"],"version":0.6,"annotation":"three o’clock","shortcodes":["clock3"]},{"emoji":"🕞️","group":5,"order":3970,"tags":["3","30","3:30","clock","thirty","three","time"],"version":0.7,"annotation":"three-thirty","shortcodes":["clock330"]},{"emoji":"🕓️","group":5,"order":3971,"tags":["4","4:00","clock","four","o’clock","time"],"version":0.6,"annotation":"four o’clock","shortcodes":["clock4"]},{"emoji":"🕟️","group":5,"order":3972,"tags":["30","4","4:30","clock","four","thirty","time"],"version":0.7,"annotation":"four-thirty","shortcodes":["clock430"]},{"emoji":"🕔️","group":5,"order":3973,"tags":["5","5:00","clock","five","o’clock","time"],"version":0.6,"annotation":"five o’clock","shortcodes":["clock5"]},{"emoji":"🕠️","group":5,"order":3974,"tags":["30","5","5:30","clock","five","thirty","time"],"version":0.7,"annotation":"five-thirty","shortcodes":["clock530"]},{"emoji":"🕕️","group":5,"order":3975,"tags":["6","6:00","clock","o’clock","six","time"],"version":0.6,"annotation":"six o’clock","shortcodes":["clock6"]},{"emoji":"🕡️","group":5,"order":3976,"tags":["30","6","6:30","clock","six","thirty"],"version":0.7,"annotation":"six-thirty","shortcodes":["clock630"]},{"emoji":"🕖️","group":5,"order":3977,"tags":["0","7","7:00","clock","o’clock","seven"],"version":0.6,"annotation":"seven o’clock","shortcodes":["clock7"]},{"emoji":"🕢️","group":5,"order":3978,"tags":["30","7","7:30","clock","seven","thirty"],"version":0.7,"annotation":"seven-thirty","shortcodes":["clock730"]},{"emoji":"🕗️","group":5,"order":3979,"tags":["8","8:00","clock","eight","o’clock","time"],"version":0.6,"annotation":"eight o’clock","shortcodes":["clock8"]},{"emoji":"🕣️","group":5,"order":3980,"tags":["30","8","8:30","clock","eight","thirty","time"],"version":0.7,"annotation":"eight-thirty","shortcodes":["clock830"]},{"emoji":"🕘️","group":5,"order":3981,"tags":["9","9:00","clock","nine","o’clock","time"],"version":0.6,"annotation":"nine o’clock","shortcodes":["clock9"]},{"emoji":"🕤️","group":5,"order":3982,"tags":["30","9","9:30","clock","nine","thirty","time"],"version":0.7,"annotation":"nine-thirty","shortcodes":["clock930"]},{"emoji":"🕙️","group":5,"order":3983,"tags":["0","10","10:00","clock","o’clock","ten"],"version":0.6,"annotation":"ten o’clock","shortcodes":["clock10"]},{"emoji":"🕥️","group":5,"order":3984,"tags":["10","10:30","30","clock","ten","thirty","time"],"version":0.7,"annotation":"ten-thirty","shortcodes":["clock1030"]},{"emoji":"🕚️","group":5,"order":3985,"tags":["11","11:00","clock","eleven","o’clock","time"],"version":0.6,"annotation":"eleven o’clock","shortcodes":["clock11"]},{"emoji":"🕦️","group":5,"order":3986,"tags":["11","11:30","30","clock","eleven","thirty","time"],"version":0.7,"annotation":"eleven-thirty","shortcodes":["clock1130"]},{"emoji":"🌑","group":5,"order":3987,"tags":["dark","moon","new","space"],"version":0.6,"annotation":"new moon","shortcodes":["new_moon"]},{"emoji":"🌒","group":5,"order":3988,"tags":["crescent","dreams","moon","space","waxing"],"version":1,"annotation":"waxing crescent moon","shortcodes":["waxing_crescent_moon"]},{"emoji":"🌓","group":5,"order":3989,"tags":["first","moon","quarter","space"],"version":0.6,"annotation":"first quarter moon","shortcodes":["first_quarter_moon"]},{"emoji":"🌔","group":5,"order":3990,"tags":["gibbous","moon","space","waxing"],"version":0.6,"annotation":"waxing gibbous moon","shortcodes":["waxing_gibbous_moon"]},{"emoji":"🌕️","group":5,"order":3991,"tags":["full","moon","space"],"version":0.6,"annotation":"full moon","shortcodes":["full_moon"]},{"emoji":"🌖","group":5,"order":3992,"tags":["gibbous","moon","space","waning"],"version":1,"annotation":"waning gibbous moon","shortcodes":["waning_gibbous_moon"]},{"emoji":"🌗","group":5,"order":3993,"tags":["last","moon","quarter","space"],"version":1,"annotation":"last quarter moon","shortcodes":["last_quarter_moon"]},{"emoji":"🌘","group":5,"order":3994,"tags":["crescent","moon","space","waning"],"version":1,"annotation":"waning crescent moon","shortcodes":["waning_crescent_moon"]},{"emoji":"🌙","group":5,"order":3995,"tags":["crescent","moon","ramadan","space"],"version":0.6,"annotation":"crescent moon","shortcodes":["crescent_moon"]},{"emoji":"🌚","group":5,"order":3996,"tags":["face","moon","new","space"],"version":1,"annotation":"new moon face","shortcodes":["new_moon_with_face"]},{"emoji":"🌛","group":5,"order":3997,"tags":["face","first","moon","quarter","space"],"version":0.6,"annotation":"first quarter moon face","shortcodes":["first_quarter_moon_with_face"]},{"emoji":"🌜️","group":5,"order":3998,"tags":["dreams","face","last","moon","quarter"],"version":0.7,"annotation":"last quarter moon face","shortcodes":["last_quarter_moon_with_face"]},{"emoji":"🌡️","group":5,"order":4000,"tags":["weather"],"version":0.7,"annotation":"thermometer","shortcodes":["thermometer"]},{"emoji":"☀️","group":5,"order":4002,"tags":["bright","rays","space","sunny","weather"],"version":0.6,"annotation":"sun","shortcodes":["sun"]},{"emoji":"🌝","group":5,"order":4003,"tags":["bright","face","full","moon"],"version":1,"annotation":"full moon face","shortcodes":["full_moon_with_face"]},{"emoji":"🌞","group":5,"order":4004,"tags":["beach","bright","day","face","heat","shine","sun","sunny","sunshine","weather"],"version":1,"annotation":"sun with face","shortcodes":["sun_with_face"]},{"emoji":"🪐","group":5,"order":4005,"tags":["planet","ringed","saturn","saturnine"],"version":12,"annotation":"ringed planet","shortcodes":["ringed_planet","saturn"]},{"emoji":"⭐️","group":5,"order":4006,"tags":["astronomy","medium","stars","white"],"version":0.6,"annotation":"star","shortcodes":["star"]},{"emoji":"🌟","group":5,"order":4007,"tags":["glittery","glow","glowing","night","shining","sparkle","star","win"],"version":0.6,"annotation":"glowing star","shortcodes":["glowing_star","star2"]},{"emoji":"🌠","group":5,"order":4008,"tags":["falling","night","shooting","space","star"],"version":0.6,"annotation":"shooting star","shortcodes":["shooting_star","stars"]},{"emoji":"🌌","group":5,"order":4009,"tags":["milky","space","way"],"version":0.6,"annotation":"milky way","shortcodes":["milky_way"]},{"emoji":"☁️","group":5,"order":4011,"tags":["weather"],"version":0.6,"annotation":"cloud","shortcodes":["cloud"]},{"emoji":"⛅️","group":5,"order":4012,"tags":["behind","cloud","cloudy","sun","weather"],"version":0.6,"annotation":"sun behind cloud","shortcodes":["partly_sunny","sun_behind_cloud"]},{"emoji":"⛈️","group":5,"order":4014,"tags":["cloud","lightning","rain","thunder","thunderstorm"],"version":0.7,"annotation":"cloud with lightning and rain","shortcodes":["stormy","thunder_cloud_and_rain"]},{"emoji":"🌤️","group":5,"order":4016,"tags":["behind","cloud","sun","weather"],"version":0.7,"annotation":"sun behind small cloud","shortcodes":["sun_behind_small_cloud","sunny"]},{"emoji":"🌥️","group":5,"order":4018,"tags":["behind","cloud","sun","weather"],"version":0.7,"annotation":"sun behind large cloud","shortcodes":["cloudy","sun_behind_large_cloud"]},{"emoji":"🌦️","group":5,"order":4020,"tags":["behind","cloud","rain","sun","weather"],"version":0.7,"annotation":"sun behind rain cloud","shortcodes":["sun_and_rain","sun_behind_rain_cloud"]},{"emoji":"🌧️","group":5,"order":4022,"tags":["cloud","rain","weather"],"version":0.7,"annotation":"cloud with rain","shortcodes":["cloud_with_rain","rainy"]},{"emoji":"🌨️","group":5,"order":4024,"tags":["cloud","cold","snow","weather"],"version":0.7,"annotation":"cloud with snow","shortcodes":["cloud_with_snow","snowy"]},{"emoji":"🌩️","group":5,"order":4026,"tags":["cloud","lightning","weather"],"version":0.7,"annotation":"cloud with lightning","shortcodes":["cloud_with_lightning","lightning"]},{"emoji":"🌪️","group":5,"order":4028,"tags":["cloud","weather","whirlwind"],"version":0.7,"annotation":"tornado","shortcodes":["tornado"]},{"emoji":"🌫️","group":5,"order":4030,"tags":["cloud","weather"],"version":0.7,"annotation":"fog","shortcodes":["fog"]},{"emoji":"🌬️","group":5,"order":4032,"tags":["blow","cloud","face","wind"],"version":0.7,"annotation":"wind face","shortcodes":["wind_blowing_face"]},{"emoji":"🌀","group":5,"order":4033,"tags":["dizzy","hurricane","twister","typhoon","weather"],"version":0.6,"annotation":"cyclone","shortcodes":["cyclone"]},{"emoji":"🌈","group":5,"order":4034,"tags":["gay","genderqueer","glbt","glbtq","lesbian","lgbt","lgbtq","lgbtqia","nature","pride","queer","rain","trans","transgender","weather"],"version":0.6,"annotation":"rainbow","shortcodes":["rainbow"]},{"emoji":"🌂","group":5,"order":4035,"tags":["closed","clothing","rain","umbrella"],"version":0.6,"annotation":"closed umbrella","shortcodes":["closed_umbrella"]},{"emoji":"☂️","group":5,"order":4037,"tags":["clothing","rain"],"version":0.7,"annotation":"umbrella","shortcodes":["umbrella"]},{"emoji":"☔️","group":5,"order":4038,"tags":["clothing","drop","drops","rain","umbrella","weather"],"version":0.6,"annotation":"umbrella with rain drops","shortcodes":["umbrella_with_rain"]},{"emoji":"⛱️","group":5,"order":4040,"tags":["ground","rain","sun","umbrella"],"version":0.7,"annotation":"umbrella on ground","shortcodes":["beach_umbrella","umbrella_on_ground"]},{"emoji":"⚡️","group":5,"order":4041,"tags":["danger","electric","electricity","high","lightning","nature","thunder","thunderbolt","voltage","zap"],"version":0.6,"annotation":"high voltage","shortcodes":["high_voltage","zap"]},{"emoji":"❄️","group":5,"order":4043,"tags":["cold","snow","weather"],"version":0.6,"annotation":"snowflake","shortcodes":["snowflake"]},{"emoji":"☃️","group":5,"order":4045,"tags":["cold","man","snow"],"version":0.7,"annotation":"snowman","shortcodes":["snowman2"]},{"emoji":"⛄️","group":5,"order":4046,"tags":["cold","man","snow","snowman"],"version":0.6,"annotation":"snowman without snow","shortcodes":["snowman"]},{"emoji":"☄️","group":5,"order":4048,"tags":["space"],"version":1,"annotation":"comet","shortcodes":["comet"]},{"emoji":"🔥","group":5,"order":4049,"tags":["af","burn","flame","hot","lit","litaf","tool"],"version":0.6,"annotation":"fire","shortcodes":["fire"]},{"emoji":"💧","group":5,"order":4050,"tags":["cold","comic","drop","nature","sad","sweat","tear","water","weather"],"version":0.6,"annotation":"droplet","shortcodes":["droplet"]},{"emoji":"🌊","group":5,"order":4051,"tags":["nature","ocean","surf","surfer","surfing","water","wave"],"version":0.6,"annotation":"water wave","shortcodes":["ocean","water_wave"]},{"emoji":"🎃","group":6,"order":4052,"tags":["celebration","halloween","jack","lantern","pumpkin"],"version":0.6,"annotation":"jack-o-lantern","shortcodes":["jack_o_lantern"]},{"emoji":"🎄","group":6,"order":4053,"tags":["celebration","christmas","tree"],"version":0.6,"annotation":"Christmas tree","shortcodes":["christmas_tree"]},{"emoji":"🎆","group":6,"order":4054,"tags":["boom","celebration","entertainment","yolo"],"version":0.6,"annotation":"fireworks","shortcodes":["fireworks"]},{"emoji":"🎇","group":6,"order":4055,"tags":["boom","celebration","fireworks","sparkle"],"version":0.6,"annotation":"sparkler","shortcodes":["sparkler"]},{"emoji":"🧨","group":6,"order":4056,"tags":["dynamite","explosive","fire","fireworks","light","pop","popping","spark"],"version":11,"annotation":"firecracker","shortcodes":["firecracker"]},{"emoji":"✨️","group":6,"order":4057,"tags":["*","magic","sparkle","star"],"version":0.6,"annotation":"sparkles","shortcodes":["sparkles"]},{"emoji":"🎈","group":6,"order":4058,"tags":["birthday","celebrate","celebration"],"version":0.6,"annotation":"balloon","shortcodes":["balloon"]},{"emoji":"🎉","group":6,"order":4059,"tags":["awesome","birthday","celebrate","celebration","excited","hooray","party","popper","tada","woohoo"],"version":0.6,"annotation":"party popper","shortcodes":["party","party_popper","tada"]},{"emoji":"🎊","group":6,"order":4060,"tags":["ball","celebrate","celebration","confetti","party","woohoo"],"version":0.6,"annotation":"confetti ball","shortcodes":["confetti_ball"]},{"emoji":"🎋","group":6,"order":4061,"tags":["banner","celebration","japanese","tanabata","tree"],"version":0.6,"annotation":"tanabata tree","shortcodes":["tanabata_tree"]},{"emoji":"🎍","group":6,"order":4062,"tags":["bamboo","celebration","decoration","japanese","pine","plant"],"version":0.6,"annotation":"pine decoration","shortcodes":["bamboo"]},{"emoji":"🎎","group":6,"order":4063,"tags":["celebration","doll","dolls","festival","japanese"],"version":0.6,"annotation":"Japanese dolls","shortcodes":["dolls"]},{"emoji":"🎏","group":6,"order":4064,"tags":["carp","celebration","streamer"],"version":0.6,"annotation":"carp streamer","shortcodes":["carp_streamer","flags"]},{"emoji":"🎐","group":6,"order":4065,"tags":["bell","celebration","chime","wind"],"version":0.6,"annotation":"wind chime","shortcodes":["wind_chime"]},{"emoji":"🎑","group":6,"order":4066,"tags":["celebration","ceremony","moon","viewing"],"version":0.6,"annotation":"moon viewing ceremony","shortcodes":["moon_ceremony","rice_scene"]},{"emoji":"🧧","group":6,"order":4067,"tags":["envelope","gift","good","hóngbāo","lai","luck","money","red","see"],"version":11,"annotation":"red envelope","shortcodes":["red_envelope"]},{"emoji":"🎀","group":6,"order":4068,"tags":["celebration"],"version":0.6,"annotation":"ribbon","shortcodes":["ribbon"]},{"emoji":"🎁","group":6,"order":4069,"tags":["birthday","bow","box","celebration","christmas","gift","present","surprise","wrapped"],"version":0.6,"annotation":"wrapped gift","shortcodes":["gift"]},{"emoji":"🎗️","group":6,"order":4071,"tags":["celebration","reminder","ribbon"],"version":0.7,"annotation":"reminder ribbon","shortcodes":["reminder_ribbon"]},{"emoji":"🎟️","group":6,"order":4073,"tags":["admission","ticket","tickets"],"version":0.7,"annotation":"admission tickets","shortcodes":["admission_tickets","tickets"]},{"emoji":"🎫","group":6,"order":4074,"tags":["admission","stub"],"version":0.6,"annotation":"ticket","shortcodes":["ticket"]},{"emoji":"🎖️","group":6,"order":4076,"tags":["award","celebration","medal","military"],"version":0.7,"annotation":"military medal","shortcodes":["military_medal"]},{"emoji":"🏆️","group":6,"order":4077,"tags":["champion","champs","prize","slay","sport","victory","win","winning"],"version":0.6,"annotation":"trophy","shortcodes":["trophy"]},{"emoji":"🏅","group":6,"order":4078,"tags":["award","gold","medal","sports","winner"],"version":1,"annotation":"sports medal","shortcodes":["sports_medal"]},{"emoji":"🥇","group":6,"order":4079,"tags":["1st","first","gold","medal","place"],"version":3,"annotation":"1st place medal","shortcodes":["1st","first_place_medal"]},{"emoji":"🥈","group":6,"order":4080,"tags":["2nd","medal","place","second","silver"],"version":3,"annotation":"2nd place medal","shortcodes":["2nd","second_place_medal"]},{"emoji":"🥉","group":6,"order":4081,"tags":["3rd","bronze","medal","place","third"],"version":3,"annotation":"3rd place medal","shortcodes":["3rd","third_place_medal"]},{"emoji":"⚽️","group":6,"order":4082,"tags":["ball","football","futbol","soccer","sport"],"version":0.6,"annotation":"soccer ball","shortcodes":["soccer"]},{"emoji":"⚾️","group":6,"order":4083,"tags":["ball","sport"],"version":0.6,"annotation":"baseball","shortcodes":["baseball"]},{"emoji":"🥎","group":6,"order":4084,"tags":["ball","glove","sports","underarm"],"version":11,"annotation":"softball","shortcodes":["softball"]},{"emoji":"🏀","group":6,"order":4085,"tags":["ball","hoop","sport"],"version":0.6,"annotation":"basketball","shortcodes":["basketball"]},{"emoji":"🏐","group":6,"order":4086,"tags":["ball","game"],"version":1,"annotation":"volleyball","shortcodes":["volleyball"]},{"emoji":"🏈","group":6,"order":4087,"tags":["american","ball","bowl","football","sport","super"],"version":0.6,"annotation":"american football","shortcodes":["football"]},{"emoji":"🏉","group":6,"order":4088,"tags":["ball","football","rugby","sport"],"version":1,"annotation":"rugby football","shortcodes":["rugby_football"]},{"emoji":"🎾","group":6,"order":4089,"tags":["ball","racquet","sport"],"version":0.6,"annotation":"tennis","shortcodes":["tennis"]},{"emoji":"🥏","group":6,"order":4090,"tags":["disc","flying","ultimate"],"version":11,"annotation":"flying disc","shortcodes":["flying_disc"]},{"emoji":"🎳","group":6,"order":4091,"tags":["ball","game","sport","strike"],"version":0.6,"annotation":"bowling","shortcodes":["bowling"]},{"emoji":"🏏","group":6,"order":4092,"tags":["ball","bat","cricket","game"],"version":1,"annotation":"cricket game","shortcodes":["cricket_game"]},{"emoji":"🏑","group":6,"order":4093,"tags":["ball","field","game","hockey","stick"],"version":1,"annotation":"field hockey","shortcodes":["field_hockey"]},{"emoji":"🏒","group":6,"order":4094,"tags":["game","hockey","ice","puck","stick"],"version":1,"annotation":"ice hockey","shortcodes":["hockey"]},{"emoji":"🥍","group":6,"order":4095,"tags":["ball","goal","sports","stick"],"version":11,"annotation":"lacrosse","shortcodes":["lacrosse"]},{"emoji":"🏓","group":6,"order":4096,"tags":["ball","bat","game","paddle","ping","pingpong","pong","table","tennis"],"version":1,"annotation":"ping pong","shortcodes":["ping_pong"]},{"emoji":"🏸","group":6,"order":4097,"tags":["birdie","game","racquet","shuttlecock"],"version":1,"annotation":"badminton","shortcodes":["badminton"]},{"emoji":"🥊","group":6,"order":4098,"tags":["boxing","glove"],"version":3,"annotation":"boxing glove","shortcodes":["boxing_glove"]},{"emoji":"🥋","group":6,"order":4099,"tags":["arts","judo","karate","martial","taekwondo","uniform"],"version":3,"annotation":"martial arts uniform","shortcodes":["martial_arts_uniform"]},{"emoji":"🥅","group":6,"order":4100,"tags":["goal","net"],"version":3,"annotation":"goal net","shortcodes":["goal_net"]},{"emoji":"⛳️","group":6,"order":4101,"tags":["flag","golf","hole","sport"],"version":0.6,"annotation":"flag in hole","shortcodes":["golf"]},{"emoji":"⛸️","group":6,"order":4103,"tags":["ice","skate","skating"],"version":0.7,"annotation":"ice skate","shortcodes":["ice_skate"]},{"emoji":"🎣","group":6,"order":4104,"tags":["entertainment","fish","fishing","pole","sport"],"version":0.6,"annotation":"fishing pole","shortcodes":["fishing_pole","fishing_pole_and_fish"]},{"emoji":"🤿","group":6,"order":4105,"tags":["diving","mask","scuba","snorkeling"],"version":12,"annotation":"diving mask","shortcodes":["diving_mask"]},{"emoji":"🎽","group":6,"order":4106,"tags":["athletics","running","sash","shirt"],"version":0.6,"annotation":"running shirt","shortcodes":["running_shirt","running_shirt_with_sash"]},{"emoji":"🎿","group":6,"order":4107,"tags":["ski","snow","sport"],"version":0.6,"annotation":"skis","shortcodes":["ski"]},{"emoji":"🛷","group":6,"order":4108,"tags":["luge","sledge","sleigh","snow","toboggan"],"version":5,"annotation":"sled","shortcodes":["sled"]},{"emoji":"🥌","group":6,"order":4109,"tags":["curling","game","rock","stone"],"version":5,"annotation":"curling stone","shortcodes":["curling_stone"]},{"emoji":"🎯","group":6,"order":4110,"tags":["bull","dart","direct","entertainment","game","hit","target"],"version":0.6,"annotation":"bullseye","shortcodes":["bullseye","dart","direct_hit"]},{"emoji":"🪀","group":6,"order":4111,"tags":["fluctuate","toy"],"version":12,"annotation":"yo-yo","shortcodes":["yo_yo"]},{"emoji":"🪁","group":6,"order":4112,"tags":["fly","soar"],"version":12,"annotation":"kite","shortcodes":["kite"]},{"emoji":"🔫","group":6,"order":4113,"tags":["gun","handgun","pistol","revolver","tool","water","weapon"],"version":0.6,"annotation":"water pistol","shortcodes":["gun","pistol"]},{"emoji":"🎱","group":6,"order":4114,"tags":["8","8ball","ball","billiard","eight","game","pool"],"version":0.6,"annotation":"pool 8 ball","shortcodes":["8ball","billiards"]},{"emoji":"🔮","group":6,"order":4115,"tags":["ball","crystal","fairy","fairytale","fantasy","fortune","future","magic","tale","tool"],"version":0.6,"annotation":"crystal ball","shortcodes":["crystal_ball"]},{"emoji":"🪄","group":6,"order":4116,"tags":["magic","magician","wand","witch","wizard"],"version":13,"annotation":"magic wand","shortcodes":["magic_wand"]},{"emoji":"🎮️","group":6,"order":4117,"tags":["controller","entertainment","game","video"],"version":0.6,"annotation":"video game","shortcodes":["controller","video_game"]},{"emoji":"🕹️","group":6,"order":4119,"tags":["game","video","videogame"],"version":0.7,"annotation":"joystick","shortcodes":["joystick"]},{"emoji":"🎰","group":6,"order":4120,"tags":["casino","gamble","gambling","game","machine","slot","slots"],"version":0.6,"annotation":"slot machine","shortcodes":["slot_machine"]},{"emoji":"🎲","group":6,"order":4121,"tags":["dice","die","entertainment","game"],"version":0.6,"annotation":"game die","shortcodes":["game_die"]},{"emoji":"🧩","group":6,"order":4122,"tags":["clue","interlocking","jigsaw","piece","puzzle"],"version":11,"annotation":"puzzle piece","shortcodes":["jigsaw","puzzle_piece"]},{"emoji":"🧸","group":6,"order":4123,"tags":["bear","plaything","plush","stuffed","teddy","toy"],"version":11,"annotation":"teddy bear","shortcodes":["teddy_bear"]},{"emoji":"🪅","group":6,"order":4124,"tags":["candy","celebrate","celebration","cinco","de","festive","mayo","party","pinada","pinata"],"version":13,"annotation":"piñata","shortcodes":["pinata"]},{"emoji":"🪩","group":6,"order":4125,"tags":["ball","dance","disco","glitter","mirror","party"],"version":14,"annotation":"mirror ball","shortcodes":["disco","disco_ball","mirror_ball"]},{"emoji":"🪆","group":6,"order":4126,"tags":["babooshka","baboushka","babushka","doll","dolls","matryoshka","nesting","russia"],"version":13,"annotation":"nesting dolls","shortcodes":["nesting_dolls"]},{"emoji":"♠️","group":6,"order":4128,"tags":["card","game","spade","suit"],"version":0.6,"annotation":"spade suit","shortcodes":["spades"]},{"emoji":"♥️","group":6,"order":4130,"tags":["card","emotion","game","heart","hearts","suit"],"version":0.6,"annotation":"heart suit","shortcodes":["hearts"]},{"emoji":"♦️","group":6,"order":4132,"tags":["card","diamond","game","suit"],"version":0.6,"annotation":"diamond suit","shortcodes":["diamonds"]},{"emoji":"♣️","group":6,"order":4134,"tags":["card","club","clubs","game","suit"],"version":0.6,"annotation":"club suit","shortcodes":["clubs"]},{"emoji":"♟️","group":6,"order":4136,"tags":["chess","dupe","expendable","pawn"],"version":11,"annotation":"chess pawn","shortcodes":["chess_pawn"]},{"emoji":"🃏","group":6,"order":4137,"tags":["card","game","wildcard"],"version":0.6,"annotation":"joker","shortcodes":["black_joker"]},{"emoji":"🀄️","group":6,"order":4138,"tags":["dragon","game","mahjong","red"],"version":0.6,"annotation":"mahjong red dragon","shortcodes":["mahjong"]},{"emoji":"🎴","group":6,"order":4139,"tags":["card","cards","flower","game","japanese","playing"],"version":0.6,"annotation":"flower playing cards","shortcodes":["flower_playing_cards"]},{"emoji":"🎭️","group":6,"order":4140,"tags":["actor","actress","art","arts","entertainment","mask","performing","theater","theatre","thespian"],"version":0.6,"annotation":"performing arts","shortcodes":["performing_arts"]},{"emoji":"🖼️","group":6,"order":4142,"tags":["art","frame","framed","museum","painting","picture"],"version":0.7,"annotation":"framed picture","shortcodes":["frame_with_picture","framed_picture"]},{"emoji":"🎨","group":6,"order":4143,"tags":["art","artist","artsy","arty","colorful","creative","entertainment","museum","painter","painting","palette"],"version":0.6,"annotation":"artist palette","shortcodes":["art","palette"]},{"emoji":"🧵","group":6,"order":4144,"tags":["needle","sewing","spool","string"],"version":11,"annotation":"thread","shortcodes":["thread"]},{"emoji":"🪡","group":6,"order":4145,"tags":["embroidery","needle","sew","sewing","stitches","sutures","tailoring","thread"],"version":13,"annotation":"sewing needle","shortcodes":["sewing_needle"]},{"emoji":"🧶","group":6,"order":4146,"tags":["ball","crochet","knit"],"version":11,"annotation":"yarn","shortcodes":["yarn"]},{"emoji":"🪢","group":6,"order":4147,"tags":["cord","rope","tangled","tie","twine","twist"],"version":13,"annotation":"knot","shortcodes":["knot"]},{"emoji":"👓️","group":7,"order":4148,"tags":["clothing","eye","eyeglasses","eyewear"],"version":0.6,"annotation":"glasses","shortcodes":["eyeglasses","glasses"]},{"emoji":"🕶️","group":7,"order":4150,"tags":["dark","eye","eyewear","glasses"],"version":0.7,"annotation":"sunglasses","shortcodes":["sunglasses"]},{"emoji":"🥽","group":7,"order":4151,"tags":["dive","eye","protection","scuba","swimming","welding"],"version":11,"annotation":"goggles","shortcodes":["goggles"]},{"emoji":"🥼","group":7,"order":4152,"tags":["clothes","coat","doctor","dr","experiment","jacket","lab","scientist","white"],"version":11,"annotation":"lab coat","shortcodes":["lab_coat"]},{"emoji":"🦺","group":7,"order":4153,"tags":["emergency","safety","vest"],"version":12,"annotation":"safety vest","shortcodes":["safety_vest"]},{"emoji":"👔","group":7,"order":4154,"tags":["clothing","employed","serious","shirt","tie"],"version":0.6,"annotation":"necktie","shortcodes":["necktie"]},{"emoji":"👕","group":7,"order":4155,"tags":["blue","casual","clothes","clothing","collar","dressed","shirt","shopping","tshirt","weekend"],"version":0.6,"annotation":"t-shirt","shortcodes":["shirt"]},{"emoji":"👖","group":7,"order":4156,"tags":["blue","casual","clothes","clothing","denim","dressed","pants","shopping","trousers","weekend"],"version":0.6,"annotation":"jeans","shortcodes":["jeans"]},{"emoji":"🧣","group":7,"order":4157,"tags":["bundle","cold","neck","up"],"version":5,"annotation":"scarf","shortcodes":["scarf"]},{"emoji":"🧤","group":7,"order":4158,"tags":["hand"],"version":5,"annotation":"gloves","shortcodes":["gloves"]},{"emoji":"🧥","group":7,"order":4159,"tags":["brr","bundle","cold","jacket","up"],"version":5,"annotation":"coat","shortcodes":["coat"]},{"emoji":"🧦","group":7,"order":4160,"tags":["stocking"],"version":5,"annotation":"socks","shortcodes":["socks"]},{"emoji":"👗","group":7,"order":4161,"tags":["clothes","clothing","dressed","fancy","shopping"],"version":0.6,"annotation":"dress","shortcodes":["dress"]},{"emoji":"👘","group":7,"order":4162,"tags":["clothing","comfortable"],"version":0.6,"annotation":"kimono","shortcodes":["kimono"]},{"emoji":"🥻","group":7,"order":4163,"tags":["clothing","dress"],"version":12,"annotation":"sari","shortcodes":["sari"]},{"emoji":"🩱","group":7,"order":4164,"tags":["bathing","one-piece","suit","swimsuit"],"version":12,"annotation":"one-piece swimsuit","shortcodes":["one_piece_swimsuit"]},{"emoji":"🩲","group":7,"order":4165,"tags":["bathing","one-piece","suit","swimsuit","underwear"],"version":12,"annotation":"briefs","shortcodes":["briefs"]},{"emoji":"🩳","group":7,"order":4166,"tags":["bathing","pants","suit","swimsuit","underwear"],"version":12,"annotation":"shorts","shortcodes":["shorts"]},{"emoji":"👙","group":7,"order":4167,"tags":["bathing","beach","clothing","pool","suit","swim"],"version":0.6,"annotation":"bikini","shortcodes":["bikini"]},{"emoji":"👚","group":7,"order":4168,"tags":["blouse","clothes","clothing","collar","dress","dressed","lady","shirt","shopping","woman","woman’s"],"version":0.6,"annotation":"woman’s clothes","shortcodes":["womans_clothes"]},{"emoji":"🪭","group":7,"order":4169,"tags":["clack","clap","cool","cooling","dance","fan","flirt","flutter","folding","hand","hot","shy"],"version":15,"annotation":"folding hand fan","shortcodes":["folding_fan"]},{"emoji":"👛","group":7,"order":4170,"tags":["clothes","clothing","coin","dress","fancy","handbag","shopping"],"version":0.6,"annotation":"purse","shortcodes":["purse"]},{"emoji":"👜","group":7,"order":4171,"tags":["bag","clothes","clothing","dress","lady","purse","shopping"],"version":0.6,"annotation":"handbag","shortcodes":["handbag"]},{"emoji":"👝","group":7,"order":4172,"tags":["bag","clothes","clothing","clutch","dress","handbag","pouch","purse"],"version":0.6,"annotation":"clutch bag","shortcodes":["clutch_bag","pouch"]},{"emoji":"🛍️","group":7,"order":4174,"tags":["bag","bags","hotel","shopping"],"version":0.7,"annotation":"shopping bags","shortcodes":["shopping_bags"]},{"emoji":"🎒","group":7,"order":4175,"tags":["backpacking","bag","bookbag","education","rucksack","satchel","school"],"version":0.6,"annotation":"backpack","shortcodes":["backpack","school_satchel"]},{"emoji":"🩴","group":7,"order":4176,"tags":["beach","flip","flop","sandal","sandals","shoe","thong","thongs","zōri"],"version":13,"annotation":"thong sandal","shortcodes":["thong_sandal"]},{"emoji":"👞","group":7,"order":4177,"tags":["brown","clothes","clothing","feet","foot","kick","man","man’s","shoe","shoes","shopping"],"version":0.6,"annotation":"man’s shoe","shortcodes":["mans_shoe"]},{"emoji":"👟","group":7,"order":4178,"tags":["athletic","clothes","clothing","fast","kick","running","shoe","shoes","shopping","sneaker","tennis"],"version":0.6,"annotation":"running shoe","shortcodes":["athletic_shoe","sneaker"]},{"emoji":"🥾","group":7,"order":4179,"tags":["backpacking","boot","brown","camping","hiking","outdoors","shoe"],"version":11,"annotation":"hiking boot","shortcodes":["hiking_boot"]},{"emoji":"🥿","group":7,"order":4180,"tags":["ballet","comfy","flat","flats","shoe","slip-on","slipper"],"version":11,"annotation":"flat shoe","shortcodes":["flat_shoe","womans_flat_shoe"]},{"emoji":"👠","group":7,"order":4181,"tags":["clothes","clothing","dress","fashion","heel","heels","high-heeled","shoe","shoes","shopping","stiletto","woman"],"version":0.6,"annotation":"high-heeled shoe","shortcodes":["high_heel"]},{"emoji":"👡","group":7,"order":4182,"tags":["clothing","sandal","shoe","woman","woman’s"],"version":0.6,"annotation":"woman’s sandal","shortcodes":["sandal"]},{"emoji":"🩰","group":7,"order":4183,"tags":["ballet","dance","shoes"],"version":12,"annotation":"ballet shoes","shortcodes":["ballet_shoes"]},{"emoji":"👢","group":7,"order":4184,"tags":["boot","clothes","clothing","dress","shoe","shoes","shopping","woman","woman’s"],"version":0.6,"annotation":"woman’s boot","shortcodes":["boot"]},{"emoji":"🪮","group":7,"order":4185,"tags":["afro","comb","groom","hair","pick"],"version":15,"annotation":"hair pick","shortcodes":["hair_pick"]},{"emoji":"👑","group":7,"order":4186,"tags":["clothing","family","king","medieval","queen","royal","royalty","win"],"version":0.6,"annotation":"crown","shortcodes":["crown"]},{"emoji":"👒","group":7,"order":4187,"tags":["clothes","clothing","garden","hat","hats","party","woman","woman’s"],"version":0.6,"annotation":"woman’s hat","shortcodes":["womans_hat"]},{"emoji":"🎩","group":7,"order":4188,"tags":["clothes","clothing","fancy","formal","hat","magic","top","tophat"],"version":0.6,"annotation":"top hat","shortcodes":["top_hat","tophat"]},{"emoji":"🎓️","group":7,"order":4189,"tags":["cap","celebration","clothing","education","graduation","hat","scholar"],"version":0.6,"annotation":"graduation cap","shortcodes":["graduation_cap","mortar_board"]},{"emoji":"🧢","group":7,"order":4190,"tags":["baseball","bent","billed","cap","dad","hat"],"version":5,"annotation":"billed cap","shortcodes":["billed_cap"]},{"emoji":"🪖","group":7,"order":4191,"tags":["army","helmet","military","soldier","war","warrior"],"version":13,"annotation":"military helmet","shortcodes":["military_helmet"]},{"emoji":"⛑️","group":7,"order":4193,"tags":["aid","cross","face","hat","helmet","rescue","worker’s"],"version":0.7,"annotation":"rescue worker’s helmet","shortcodes":["helmet_with_cross","rescue_worker_helmet"]},{"emoji":"📿","group":7,"order":4194,"tags":["beads","clothing","necklace","prayer","religion"],"version":1,"annotation":"prayer beads","shortcodes":["prayer_beads"]},{"emoji":"💄","group":7,"order":4195,"tags":["cosmetics","date","makeup"],"version":0.6,"annotation":"lipstick","shortcodes":["lipstick"]},{"emoji":"💍","group":7,"order":4196,"tags":["diamond","engaged","engagement","married","romance","shiny","sparkling","wedding"],"version":0.6,"annotation":"ring","shortcodes":["ring"]},{"emoji":"💎","group":7,"order":4197,"tags":["diamond","engagement","gem","jewel","money","romance","stone","wedding"],"version":0.6,"annotation":"gem stone","shortcodes":["gem"]},{"emoji":"🔇","group":7,"order":4198,"tags":["mute","muted","quiet","silent","sound","speaker"],"version":1,"annotation":"muted speaker","shortcodes":["mute","no_sound"]},{"emoji":"🔈️","group":7,"order":4199,"tags":["low","soft","sound","speaker","volume"],"version":0.7,"annotation":"speaker low volume","shortcodes":["low_volume","quiet_sound","speaker"]},{"emoji":"🔉","group":7,"order":4200,"tags":["medium","sound","speaker","volume"],"version":1,"annotation":"speaker medium volume","shortcodes":["medium_volumne","sound"]},{"emoji":"🔊","group":7,"order":4201,"tags":["high","loud","music","sound","speaker","volume"],"version":0.6,"annotation":"speaker high volume","shortcodes":["high_volume","loud_sound"]},{"emoji":"📢","group":7,"order":4202,"tags":["address","communication","loud","public","sound"],"version":0.6,"annotation":"loudspeaker","shortcodes":["loudspeaker"]},{"emoji":"📣","group":7,"order":4203,"tags":["cheering","sound"],"version":0.6,"annotation":"megaphone","shortcodes":["mega","megaphone"]},{"emoji":"📯","group":7,"order":4204,"tags":["horn","post","postal"],"version":1,"annotation":"postal horn","shortcodes":["postal_horn"]},{"emoji":"🔔","group":7,"order":4205,"tags":["break","church","sound"],"version":0.6,"annotation":"bell","shortcodes":["bell"]},{"emoji":"🔕","group":7,"order":4206,"tags":["bell","forbidden","mute","no","not","prohibited","quiet","silent","slash","sound"],"version":1,"annotation":"bell with slash","shortcodes":["no_bell"]},{"emoji":"🎼","group":7,"order":4207,"tags":["music","musical","note","score"],"version":0.6,"annotation":"musical score","shortcodes":["musical_score"]},{"emoji":"🎵","group":7,"order":4208,"tags":["music","musical","note","sound"],"version":0.6,"annotation":"musical note","shortcodes":["musical_note"]},{"emoji":"🎶","group":7,"order":4209,"tags":["music","musical","note","notes","sound"],"version":0.6,"annotation":"musical notes","shortcodes":["musical_notes","notes"]},{"emoji":"🎙️","group":7,"order":4211,"tags":["mic","microphone","music","studio"],"version":0.7,"annotation":"studio microphone","shortcodes":["studio_microphone"]},{"emoji":"🎚️","group":7,"order":4213,"tags":["level","music","slider"],"version":0.7,"annotation":"level slider","shortcodes":["level_slider"]},{"emoji":"🎛️","group":7,"order":4215,"tags":["control","knobs","music"],"version":0.7,"annotation":"control knobs","shortcodes":["control_knobs"]},{"emoji":"🎤","group":7,"order":4216,"tags":["karaoke","mic","music","sing","sound"],"version":0.6,"annotation":"microphone","shortcodes":["microphone"]},{"emoji":"🎧️","group":7,"order":4217,"tags":["earbud","sound"],"version":0.6,"annotation":"headphone","shortcodes":["headphones"]},{"emoji":"📻️","group":7,"order":4218,"tags":["entertainment","tbt","video"],"version":0.6,"annotation":"radio","shortcodes":["radio"]},{"emoji":"🎷","group":7,"order":4219,"tags":["instrument","music","sax"],"version":0.6,"annotation":"saxophone","shortcodes":["saxophone"]},{"emoji":"🪗","group":7,"order":4220,"tags":["box","concertina","instrument","music","squeeze","squeezebox"],"version":13,"annotation":"accordion","shortcodes":["accordion"]},{"emoji":"🎸","group":7,"order":4221,"tags":["instrument","music","strat"],"version":0.6,"annotation":"guitar","shortcodes":["guitar"]},{"emoji":"🎹","group":7,"order":4222,"tags":["instrument","keyboard","music","musical","piano"],"version":0.6,"annotation":"musical keyboard","shortcodes":["musical_keyboard"]},{"emoji":"🎺","group":7,"order":4223,"tags":["instrument","music"],"version":0.6,"annotation":"trumpet","shortcodes":["trumpet"]},{"emoji":"🎻","group":7,"order":4224,"tags":["instrument","music"],"version":0.6,"annotation":"violin","shortcodes":["violin"]},{"emoji":"🪕","group":7,"order":4225,"tags":["music","stringed"],"version":12,"annotation":"banjo","shortcodes":["banjo"]},{"emoji":"🥁","group":7,"order":4226,"tags":["drumsticks","music"],"version":3,"annotation":"drum","shortcodes":["drum"]},{"emoji":"🪘","group":7,"order":4227,"tags":["beat","conga","drum","instrument","long","rhythm"],"version":13,"annotation":"long drum","shortcodes":["long_drum"]},{"emoji":"🪇","group":7,"order":4228,"tags":["cha","dance","instrument","music","party","percussion","rattle","shake","shaker"],"version":15,"annotation":"maracas","shortcodes":["maracas"]},{"emoji":"🪈","group":7,"order":4229,"tags":["band","fife","flautist","instrument","marching","music","orchestra","piccolo","pipe","recorder","woodwind"],"version":15,"annotation":"flute","shortcodes":["flute"]},{"emoji":"","group":7,"order":4230,"tags":["cupid","instrument","love","music","orchestra"],"version":16,"annotation":"harp","shortcodes":["harp"]},{"emoji":"📱","group":7,"order":4231,"tags":["cell","communication","mobile","phone","telephone"],"version":0.6,"annotation":"mobile phone","shortcodes":["android","iphone","mobile_phone"]},{"emoji":"📲","group":7,"order":4232,"tags":["arrow","build","call","cell","communication","mobile","phone","receive","telephone"],"version":0.6,"annotation":"mobile phone with arrow","shortcodes":["calling","mobile_phone_arrow"]},{"emoji":"☎️","group":7,"order":4234,"tags":["phone"],"version":0.6,"annotation":"telephone","shortcodes":["telephone"]},{"emoji":"📞","group":7,"order":4235,"tags":["communication","phone","receiver","telephone","voip"],"version":0.6,"annotation":"telephone receiver","shortcodes":["telephone_receiver"]},{"emoji":"📟️","group":7,"order":4236,"tags":["communication"],"version":0.6,"annotation":"pager","shortcodes":["pager"]},{"emoji":"📠","group":7,"order":4237,"tags":["communication","fax","machine"],"version":0.6,"annotation":"fax machine","shortcodes":["fax","fax_machine"]},{"emoji":"🔋","group":7,"order":4238,"tags":["battery"],"version":0.6,"annotation":"battery","shortcodes":["battery"]},{"emoji":"🪫","group":7,"order":4239,"tags":["battery","drained","electronic","energy","low","power"],"version":14,"annotation":"low battery","shortcodes":["low_battery"]},{"emoji":"🔌","group":7,"order":4240,"tags":["electric","electricity","plug"],"version":0.6,"annotation":"electric plug","shortcodes":["electric_plug"]},{"emoji":"💻️","group":7,"order":4241,"tags":["computer","office","pc","personal"],"version":0.6,"annotation":"laptop","shortcodes":["laptop"]},{"emoji":"🖥️","group":7,"order":4243,"tags":["computer","desktop","monitor"],"version":0.7,"annotation":"desktop computer","shortcodes":["computer","desktop_computer"]},{"emoji":"🖨️","group":7,"order":4245,"tags":["computer"],"version":0.7,"annotation":"printer","shortcodes":["printer"]},{"emoji":"⌨️","group":7,"order":4247,"tags":["computer"],"version":1,"annotation":"keyboard","shortcodes":["keyboard"]},{"emoji":"🖱️","group":7,"order":4249,"tags":["computer","mouse"],"version":0.7,"annotation":"computer mouse","shortcodes":["computer_mouse"]},{"emoji":"🖲️","group":7,"order":4251,"tags":["computer"],"version":0.7,"annotation":"trackball","shortcodes":["trackball"]},{"emoji":"💽","group":7,"order":4252,"tags":["computer","disk","minidisk","optical"],"version":0.6,"annotation":"computer disk","shortcodes":["computer_disk","minidisc"]},{"emoji":"💾","group":7,"order":4253,"tags":["computer","disk","floppy"],"version":0.6,"annotation":"floppy disk","shortcodes":["floppy_disk"]},{"emoji":"💿️","group":7,"order":4254,"tags":["blu-ray","cd","computer","disk","dvd","optical"],"version":0.6,"annotation":"optical disk","shortcodes":["cd","optical_disk"]},{"emoji":"📀","group":7,"order":4255,"tags":["blu-ray","cd","computer","disk","optical"],"version":0.6,"annotation":"dvd","shortcodes":["dvd"]},{"emoji":"🧮","group":7,"order":4256,"tags":["calculation","calculator"],"version":11,"annotation":"abacus","shortcodes":["abacus"]},{"emoji":"🎥","group":7,"order":4257,"tags":["bollywood","camera","cinema","film","hollywood","movie","record"],"version":0.6,"annotation":"movie camera","shortcodes":["movie_camera"]},{"emoji":"🎞️","group":7,"order":4259,"tags":["cinema","film","frames","movie"],"version":0.7,"annotation":"film frames","shortcodes":["film_frames"]},{"emoji":"📽️","group":7,"order":4261,"tags":["cinema","film","movie","projector","video"],"version":0.7,"annotation":"film projector","shortcodes":["film_projector"]},{"emoji":"🎬️","group":7,"order":4262,"tags":["action","board","clapper","movie"],"version":0.6,"annotation":"clapper board","shortcodes":["clapper"]},{"emoji":"📺️","group":7,"order":4263,"tags":["tv","video"],"version":0.6,"annotation":"television","shortcodes":["tv"]},{"emoji":"📷️","group":7,"order":4264,"tags":["photo","selfie","snap","tbt","trip","video"],"version":0.6,"annotation":"camera","shortcodes":["camera"]},{"emoji":"📸","group":7,"order":4265,"tags":["camera","flash","video"],"version":1,"annotation":"camera with flash","shortcodes":["camera_with_flash"]},{"emoji":"📹️","group":7,"order":4266,"tags":["camcorder","camera","tbt","video"],"version":0.6,"annotation":"video camera","shortcodes":["video_camera"]},{"emoji":"📼","group":7,"order":4267,"tags":["old","school","tape","vcr","vhs","video"],"version":0.6,"annotation":"videocassette","shortcodes":["vhs","videocassette"]},{"emoji":"🔍️","group":7,"order":4268,"tags":["glass","lab","left","left-pointing","magnifying","science","search","tilted","tool"],"version":0.6,"annotation":"magnifying glass tilted left","shortcodes":["mag"]},{"emoji":"🔎","group":7,"order":4269,"tags":["contact","glass","lab","magnifying","right","right-pointing","science","search","tilted","tool"],"version":0.6,"annotation":"magnifying glass tilted right","shortcodes":["mag_right"]},{"emoji":"🕯️","group":7,"order":4271,"tags":["light"],"version":0.7,"annotation":"candle","shortcodes":["candle"]},{"emoji":"💡","group":7,"order":4272,"tags":["bulb","comic","electric","idea","light"],"version":0.6,"annotation":"light bulb","shortcodes":["bulb","light_bulb"]},{"emoji":"🔦","group":7,"order":4273,"tags":["electric","light","tool","torch"],"version":0.6,"annotation":"flashlight","shortcodes":["flashlight"]},{"emoji":"🏮","group":7,"order":4274,"tags":["bar","lantern","light","paper","red","restaurant"],"version":0.6,"annotation":"red paper lantern","shortcodes":["izakaya_lantern","red_paper_lantern"]},{"emoji":"🪔","group":7,"order":4275,"tags":["diya","lamp","light","oil"],"version":12,"annotation":"diya lamp","shortcodes":["diya_lamp"]},{"emoji":"📔","group":7,"order":4276,"tags":["book","cover","decorated","decorative","education","notebook","school","writing"],"version":0.6,"annotation":"notebook with decorative cover","shortcodes":["notebook_with_decorative_cover"]},{"emoji":"📕","group":7,"order":4277,"tags":["book","closed","education"],"version":0.6,"annotation":"closed book","shortcodes":["closed_book"]},{"emoji":"📖","group":7,"order":4278,"tags":["book","education","fantasy","knowledge","library","novels","open","reading"],"version":0.6,"annotation":"open book","shortcodes":["book","open_book"]},{"emoji":"📗","group":7,"order":4279,"tags":["book","education","fantasy","green","library","reading"],"version":0.6,"annotation":"green book","shortcodes":["green_book"]},{"emoji":"📘","group":7,"order":4280,"tags":["blue","book","education","fantasy","library","reading"],"version":0.6,"annotation":"blue book","shortcodes":["blue_book"]},{"emoji":"📙","group":7,"order":4281,"tags":["book","education","fantasy","library","orange","reading"],"version":0.6,"annotation":"orange book","shortcodes":["orange_book"]},{"emoji":"📚️","group":7,"order":4282,"tags":["book","education","fantasy","knowledge","library","novels","reading","school","study"],"version":0.6,"annotation":"books","shortcodes":["books"]},{"emoji":"📓","group":7,"order":4283,"tags":["notebook"],"version":0.6,"annotation":"notebook","shortcodes":["notebook"]},{"emoji":"📒","group":7,"order":4284,"tags":["notebook"],"version":0.6,"annotation":"ledger","shortcodes":["ledger"]},{"emoji":"📃","group":7,"order":4285,"tags":["curl","document","page","paper"],"version":0.6,"annotation":"page with curl","shortcodes":["page_with_curl"]},{"emoji":"📜","group":7,"order":4286,"tags":["paper"],"version":0.6,"annotation":"scroll","shortcodes":["scroll"]},{"emoji":"📄","group":7,"order":4287,"tags":["document","facing","page","paper","up"],"version":0.6,"annotation":"page facing up","shortcodes":["page_facing_up"]},{"emoji":"📰","group":7,"order":4288,"tags":["communication","news","paper"],"version":0.6,"annotation":"newspaper","shortcodes":["newspaper"]},{"emoji":"🗞️","group":7,"order":4290,"tags":["news","newspaper","paper","rolled","rolled-up"],"version":0.7,"annotation":"rolled-up newspaper","shortcodes":["rolled_up_newspaper"]},{"emoji":"📑","group":7,"order":4291,"tags":["bookmark","mark","marker","tabs"],"version":0.6,"annotation":"bookmark tabs","shortcodes":["bookmark_tabs"]},{"emoji":"🔖","group":7,"order":4292,"tags":["mark"],"version":0.6,"annotation":"bookmark","shortcodes":["bookmark"]},{"emoji":"🏷️","group":7,"order":4294,"tags":["tag"],"version":0.7,"annotation":"label","shortcodes":["label"]},{"emoji":"💰️","group":7,"order":4295,"tags":["bag","bank","bet","billion","cash","cost","dollar","gold","million","money","moneybag","paid","paying","pot","rich","win"],"version":0.6,"annotation":"money bag","shortcodes":["moneybag"]},{"emoji":"🪙","group":7,"order":4296,"tags":["dollar","euro","gold","metal","money","rich","silver","treasure"],"version":13,"annotation":"coin","shortcodes":["coin"]},{"emoji":"💴","group":7,"order":4297,"tags":["bank","banknote","bill","currency","money","note","yen"],"version":0.6,"annotation":"yen banknote","shortcodes":["yen"]},{"emoji":"💵","group":7,"order":4298,"tags":["bank","banknote","bill","currency","dollar","money","note"],"version":0.6,"annotation":"dollar banknote","shortcodes":["dollar"]},{"emoji":"💶","group":7,"order":4299,"tags":["100","bank","banknote","bill","currency","euro","money","note","rich"],"version":1,"annotation":"euro banknote","shortcodes":["euro"]},{"emoji":"💷","group":7,"order":4300,"tags":["bank","banknote","bill","billion","cash","currency","money","note","pound","pounds"],"version":1,"annotation":"pound banknote","shortcodes":["pound"]},{"emoji":"💸","group":7,"order":4301,"tags":["bank","banknote","bill","billion","cash","dollar","fly","million","money","note","pay","wings"],"version":0.6,"annotation":"money with wings","shortcodes":["money_with_wings"]},{"emoji":"💳️","group":7,"order":4302,"tags":["bank","card","cash","charge","credit","money","pay"],"version":0.6,"annotation":"credit card","shortcodes":["credit_card"]},{"emoji":"🧾","group":7,"order":4303,"tags":["accounting","bookkeeping","evidence","invoice","proof"],"version":11,"annotation":"receipt","shortcodes":["receipt"]},{"emoji":"💹","group":7,"order":4304,"tags":["bank","chart","currency","graph","growth","increasing","market","money","rise","trend","upward","yen"],"version":0.6,"annotation":"chart increasing with yen","shortcodes":["chart"]},{"emoji":"✉️","group":7,"order":4306,"tags":["e-mail","email","letter"],"version":0.6,"annotation":"envelope","shortcodes":["envelope"]},{"emoji":"📧","group":7,"order":4307,"tags":["email","letter","mail"],"version":0.6,"annotation":"e-mail","shortcodes":["e-mail","email"]},{"emoji":"📨","group":7,"order":4308,"tags":["delivering","e-mail","email","envelope","incoming","letter","mail","receive","sent"],"version":0.6,"annotation":"incoming envelope","shortcodes":["incoming_envelope"]},{"emoji":"📩","group":7,"order":4309,"tags":["arrow","communication","down","e-mail","email","envelope","letter","mail","outgoing","send","sent"],"version":0.6,"annotation":"envelope with arrow","shortcodes":["envelope_with_arrow"]},{"emoji":"📤️","group":7,"order":4310,"tags":["box","email","letter","mail","outbox","sent","tray"],"version":0.6,"annotation":"outbox tray","shortcodes":["outbox_tray"]},{"emoji":"📥️","group":7,"order":4311,"tags":["box","email","inbox","letter","mail","receive","tray","zero"],"version":0.6,"annotation":"inbox tray","shortcodes":["inbox_tray"]},{"emoji":"📦️","group":7,"order":4312,"tags":["box","communication","delivery","parcel","shipping"],"version":0.6,"annotation":"package","shortcodes":["package"]},{"emoji":"📫️","group":7,"order":4313,"tags":["closed","communication","flag","mail","mailbox","postbox","raised"],"version":0.6,"annotation":"closed mailbox with raised flag","shortcodes":["mailbox"]},{"emoji":"📪️","group":7,"order":4314,"tags":["closed","flag","lowered","mail","mailbox","postbox"],"version":0.6,"annotation":"closed mailbox with lowered flag","shortcodes":["mailbox_closed"]},{"emoji":"📬️","group":7,"order":4315,"tags":["flag","mail","mailbox","open","postbox","raised"],"version":0.7,"annotation":"open mailbox with raised flag","shortcodes":["mailbox_with_mail"]},{"emoji":"📭️","group":7,"order":4316,"tags":["flag","lowered","mail","mailbox","open","postbox"],"version":0.7,"annotation":"open mailbox with lowered flag","shortcodes":["mailbox_with_no_mail"]},{"emoji":"📮","group":7,"order":4317,"tags":["mail","mailbox"],"version":0.6,"annotation":"postbox","shortcodes":["postbox"]},{"emoji":"🗳️","group":7,"order":4319,"tags":["ballot","box"],"version":0.7,"annotation":"ballot box with ballot","shortcodes":["ballot_box"]},{"emoji":"✏️","group":7,"order":4321,"tags":["pencil"],"version":0.6,"annotation":"pencil","shortcodes":["pencil"]},{"emoji":"✒️","group":7,"order":4323,"tags":["black","nib","pen"],"version":0.6,"annotation":"black nib","shortcodes":["black_nib"]},{"emoji":"🖋️","group":7,"order":4325,"tags":["fountain","pen"],"version":0.7,"annotation":"fountain pen","shortcodes":["fountain_pen"]},{"emoji":"🖊️","group":7,"order":4327,"tags":["ballpoint"],"version":0.7,"annotation":"pen","shortcodes":["pen"]},{"emoji":"🖌️","group":7,"order":4329,"tags":["painting"],"version":0.7,"annotation":"paintbrush","shortcodes":["paintbrush"]},{"emoji":"🖍️","group":7,"order":4331,"tags":["crayon"],"version":0.7,"annotation":"crayon","shortcodes":["crayon"]},{"emoji":"📝","group":7,"order":4332,"tags":["communication","media","notes","pencil"],"version":0.6,"annotation":"memo","shortcodes":["memo"]},{"emoji":"💼","group":7,"order":4333,"tags":["office"],"version":0.6,"annotation":"briefcase","shortcodes":["briefcase"]},{"emoji":"📁","group":7,"order":4334,"tags":["file","folder"],"version":0.6,"annotation":"file folder","shortcodes":["file_folder"]},{"emoji":"📂","group":7,"order":4335,"tags":["file","folder","open"],"version":0.6,"annotation":"open file folder","shortcodes":["open_file_folder"]},{"emoji":"🗂️","group":7,"order":4337,"tags":["card","dividers","index"],"version":0.7,"annotation":"card index dividers","shortcodes":["card_index_dividers"]},{"emoji":"📅","group":7,"order":4338,"tags":["date"],"version":0.6,"annotation":"calendar","shortcodes":["date"]},{"emoji":"📆","group":7,"order":4339,"tags":["calendar","tear-off"],"version":0.6,"annotation":"tear-off calendar","shortcodes":["calendar"]},{"emoji":"🗒️","group":7,"order":4341,"tags":["note","notepad","pad","spiral"],"version":0.7,"annotation":"spiral notepad","shortcodes":["notepad_spiral"]},{"emoji":"🗓️","group":7,"order":4343,"tags":["calendar","pad","spiral"],"version":0.7,"annotation":"spiral calendar","shortcodes":["calendar_spiral"]},{"emoji":"📇","group":7,"order":4344,"tags":["card","index","old","rolodex","school"],"version":0.6,"annotation":"card index","shortcodes":["card_index"]},{"emoji":"📈","group":7,"order":4345,"tags":["chart","data","graph","growth","increasing","right","trend","up","upward"],"version":0.6,"annotation":"chart increasing","shortcodes":["chart_increasing","chart_with_upwards_trend"]},{"emoji":"📉","group":7,"order":4346,"tags":["chart","data","decreasing","down","downward","graph","negative","trend"],"version":0.6,"annotation":"chart decreasing","shortcodes":["chart_decreasing","chart_with_downwards_trend"]},{"emoji":"📊","group":7,"order":4347,"tags":["bar","chart","data","graph"],"version":0.6,"annotation":"bar chart","shortcodes":["bar_chart"]},{"emoji":"📋️","group":7,"order":4348,"tags":["do","list","notes"],"version":0.6,"annotation":"clipboard","shortcodes":["clipboard"]},{"emoji":"📌","group":7,"order":4349,"tags":["collage","pin"],"version":0.6,"annotation":"pushpin","shortcodes":["pushpin"]},{"emoji":"📍","group":7,"order":4350,"tags":["location","map","pin","pushpin","round"],"version":0.6,"annotation":"round pushpin","shortcodes":["round_pushpin"]},{"emoji":"📎","group":7,"order":4351,"tags":["paperclip"],"version":0.6,"annotation":"paperclip","shortcodes":["paperclip"]},{"emoji":"🖇️","group":7,"order":4353,"tags":["link","linked","paperclip","paperclips"],"version":0.7,"annotation":"linked paperclips","shortcodes":["paperclips"]},{"emoji":"📏","group":7,"order":4354,"tags":["angle","edge","math","ruler","straight","straightedge"],"version":0.6,"annotation":"straight ruler","shortcodes":["straight_ruler"]},{"emoji":"📐","group":7,"order":4355,"tags":["angle","math","rule","ruler","set","slide","triangle","triangular"],"version":0.6,"annotation":"triangular ruler","shortcodes":["triangular_ruler"]},{"emoji":"✂️","group":7,"order":4357,"tags":["cut","cutting","paper","tool"],"version":0.6,"annotation":"scissors","shortcodes":["scissors"]},{"emoji":"🗃️","group":7,"order":4359,"tags":["box","card","file"],"version":0.7,"annotation":"card file box","shortcodes":["card_file_box"]},{"emoji":"🗄️","group":7,"order":4361,"tags":["cabinet","file","filing","paper"],"version":0.7,"annotation":"file cabinet","shortcodes":["file_cabinet"]},{"emoji":"🗑️","group":7,"order":4363,"tags":["can","garbage","trash","waste"],"version":0.7,"annotation":"wastebasket","shortcodes":["trashcan","wastebasket"]},{"emoji":"🔒️","group":7,"order":4364,"tags":["closed","lock","private"],"version":0.6,"annotation":"locked","shortcodes":["lock","locked"]},{"emoji":"🔓️","group":7,"order":4365,"tags":["cracked","lock","open","unlock"],"version":0.6,"annotation":"unlocked","shortcodes":["unlock","unlocked"]},{"emoji":"🔏","group":7,"order":4366,"tags":["ink","lock","locked","nib","pen","privacy"],"version":0.6,"annotation":"locked with pen","shortcodes":["lock_with_ink_pen","locked_with_pen"]},{"emoji":"🔐","group":7,"order":4367,"tags":["bike","closed","key","lock","locked","secure"],"version":0.6,"annotation":"locked with key","shortcodes":["closed_lock_with_key","locked_with_key"]},{"emoji":"🔑","group":7,"order":4368,"tags":["keys","lock","major","password","unlock"],"version":0.6,"annotation":"key","shortcodes":["key"]},{"emoji":"🗝️","group":7,"order":4370,"tags":["clue","key","lock","old"],"version":0.7,"annotation":"old key","shortcodes":["old_key"]},{"emoji":"🔨","group":7,"order":4371,"tags":["home","improvement","repairs","tool"],"version":0.6,"annotation":"hammer","shortcodes":["hammer"]},{"emoji":"🪓","group":7,"order":4372,"tags":["ax","chop","hatchet","split","wood"],"version":12,"annotation":"axe","shortcodes":["axe"]},{"emoji":"⛏️","group":7,"order":4374,"tags":["hammer","mining","tool"],"version":0.7,"annotation":"pick","shortcodes":["pick"]},{"emoji":"⚒️","group":7,"order":4376,"tags":["hammer","pick","tool"],"version":1,"annotation":"hammer and pick","shortcodes":["hammer_and_pick"]},{"emoji":"🛠️","group":7,"order":4378,"tags":["hammer","spanner","tool","wrench"],"version":0.7,"annotation":"hammer and wrench","shortcodes":["hammer_and_wrench"]},{"emoji":"🗡️","group":7,"order":4380,"tags":["knife","weapon"],"version":0.7,"annotation":"dagger","shortcodes":["dagger"]},{"emoji":"⚔️","group":7,"order":4382,"tags":["crossed","swords","weapon"],"version":1,"annotation":"crossed swords","shortcodes":["crossed_swords"]},{"emoji":"💣️","group":7,"order":4383,"tags":["boom","comic","dangerous","explosion","hot"],"version":0.6,"annotation":"bomb","shortcodes":["bomb"]},{"emoji":"🪃","group":7,"order":4384,"tags":["rebound","repercussion","weapon"],"version":13,"annotation":"boomerang","shortcodes":["boomerang"]},{"emoji":"🏹","group":7,"order":4385,"tags":["archer","archery","arrow","bow","sagittarius","tool","weapon","zodiac"],"version":1,"annotation":"bow and arrow","shortcodes":["bow_and_arrow"]},{"emoji":"🛡️","group":7,"order":4387,"tags":["weapon"],"version":0.7,"annotation":"shield","shortcodes":["shield"]},{"emoji":"🪚","group":7,"order":4388,"tags":["carpenter","carpentry","cut","lumber","saw","tool","trim"],"version":13,"annotation":"carpentry saw","shortcodes":["carpentry_saw"]},{"emoji":"🔧","group":7,"order":4389,"tags":["home","improvement","spanner","tool"],"version":0.6,"annotation":"wrench","shortcodes":["wrench"]},{"emoji":"🪛","group":7,"order":4390,"tags":["flathead","handy","screw","tool"],"version":13,"annotation":"screwdriver","shortcodes":["screwdriver"]},{"emoji":"🔩","group":7,"order":4391,"tags":["bolt","home","improvement","nut","tool"],"version":0.6,"annotation":"nut and bolt","shortcodes":["nut_and_bolt"]},{"emoji":"⚙️","group":7,"order":4393,"tags":["cog","cogwheel","tool"],"version":1,"annotation":"gear","shortcodes":["gear"]},{"emoji":"🗜️","group":7,"order":4395,"tags":["compress","tool","vice"],"version":0.7,"annotation":"clamp","shortcodes":["clamp","compression"]},{"emoji":"⚖️","group":7,"order":4397,"tags":["balance","justice","libra","scale","scales","tool","weight","zodiac"],"version":1,"annotation":"balance scale","shortcodes":["scales"]},{"emoji":"🦯","group":7,"order":4398,"tags":["accessibility","blind","cane","probing","white"],"version":12,"annotation":"white cane","shortcodes":["probing_cane","white_cane"]},{"emoji":"🔗","group":7,"order":4399,"tags":["links"],"version":0.6,"annotation":"link","shortcodes":["link"]},{"emoji":"⛓️💥","group":7,"order":4400,"tags":["break","breaking","broken","chain","cuffs","freedom"],"version":15.1,"annotation":"broken chain","shortcodes":["broken_chain"]},{"emoji":"⛓️","group":7,"order":4403,"tags":["chain"],"version":0.7,"annotation":"chains","shortcodes":["chains"]},{"emoji":"🪝","group":7,"order":4404,"tags":["catch","crook","curve","ensnare","point","selling"],"version":13,"annotation":"hook","shortcodes":["hook"]},{"emoji":"🧰","group":7,"order":4405,"tags":["box","chest","mechanic","red","tool"],"version":11,"annotation":"toolbox","shortcodes":["toolbox"]},{"emoji":"🧲","group":7,"order":4406,"tags":["attraction","horseshoe","magnetic","negative","positive","shape","u"],"version":11,"annotation":"magnet","shortcodes":["magnet"]},{"emoji":"🪜","group":7,"order":4407,"tags":["climb","rung","step"],"version":13,"annotation":"ladder","shortcodes":["ladder"]},{"emoji":"","group":7,"order":4408,"tags":["bury","dig","garden","hole","plant","scoop","snow","spade"],"version":16,"annotation":"shovel","shortcodes":["shovel"]},{"emoji":"⚗️","group":7,"order":4410,"tags":["chemistry","tool"],"version":1,"annotation":"alembic","shortcodes":["alembic"]},{"emoji":"🧪","group":7,"order":4411,"tags":["chemist","chemistry","experiment","lab","science","test","tube"],"version":11,"annotation":"test tube","shortcodes":["test_tube"]},{"emoji":"🧫","group":7,"order":4412,"tags":["bacteria","biologist","biology","culture","dish","lab","petri"],"version":11,"annotation":"petri dish","shortcodes":["petri_dish"]},{"emoji":"🧬","group":7,"order":4413,"tags":["biologist","evolution","gene","genetics","life"],"version":11,"annotation":"dna","shortcodes":["dna","double_helix"]},{"emoji":"🔬","group":7,"order":4414,"tags":["experiment","lab","science","tool"],"version":1,"annotation":"microscope","shortcodes":["microscope"]},{"emoji":"🔭","group":7,"order":4415,"tags":["contact","extraterrestrial","science","tool"],"version":1,"annotation":"telescope","shortcodes":["telescope"]},{"emoji":"📡","group":7,"order":4416,"tags":["aliens","antenna","contact","dish","satellite","science"],"version":0.6,"annotation":"satellite antenna","shortcodes":["satellite_antenna"]},{"emoji":"💉","group":7,"order":4417,"tags":["doctor","flu","medicine","needle","shot","sick","tool","vaccination"],"version":0.6,"annotation":"syringe","shortcodes":["syringe"]},{"emoji":"🩸","group":7,"order":4418,"tags":["bleed","blood","donation","drop","injury","medicine","menstruation"],"version":12,"annotation":"drop of blood","shortcodes":["drop_of_blood"]},{"emoji":"💊","group":7,"order":4419,"tags":["doctor","drugs","medicated","medicine","pills","sick","vitamin"],"version":0.6,"annotation":"pill","shortcodes":["pill"]},{"emoji":"🩹","group":7,"order":4420,"tags":["adhesive","bandage"],"version":12,"annotation":"adhesive bandage","shortcodes":["adhesive_bandage","bandaid"]},{"emoji":"🩼","group":7,"order":4421,"tags":["aid","cane","disability","help","hurt","injured","mobility","stick"],"version":14,"annotation":"crutch","shortcodes":["crutch"]},{"emoji":"🩺","group":7,"order":4422,"tags":["doctor","heart","medicine"],"version":12,"annotation":"stethoscope","shortcodes":["stethoscope"]},{"emoji":"🩻","group":7,"order":4423,"tags":["bones","doctor","medical","skeleton","skull","xray"],"version":14,"annotation":"x-ray","shortcodes":["x-ray","xray"]},{"emoji":"🚪","group":7,"order":4424,"tags":["back","closet","front"],"version":0.6,"annotation":"door","shortcodes":["door"]},{"emoji":"🛗","group":7,"order":4425,"tags":["accessibility","hoist","lift"],"version":13,"annotation":"elevator","shortcodes":["elevator"]},{"emoji":"🪞","group":7,"order":4426,"tags":["makeup","reflection","reflector","speculum"],"version":13,"annotation":"mirror","shortcodes":["mirror"]},{"emoji":"🪟","group":7,"order":4427,"tags":["air","frame","fresh","opening","transparent","view"],"version":13,"annotation":"window","shortcodes":["window"]},{"emoji":"🛏️","group":7,"order":4429,"tags":["hotel","sleep"],"version":0.7,"annotation":"bed","shortcodes":["bed"]},{"emoji":"🛋️","group":7,"order":4431,"tags":["couch","hotel","lamp"],"version":0.7,"annotation":"couch and lamp","shortcodes":["couch_and_lamp"]},{"emoji":"🪑","group":7,"order":4432,"tags":["seat","sit"],"version":12,"annotation":"chair","shortcodes":["chair"]},{"emoji":"🚽","group":7,"order":4433,"tags":["bathroom"],"version":0.6,"annotation":"toilet","shortcodes":["toilet"]},{"emoji":"🪠","group":7,"order":4434,"tags":["cup","force","plumber","poop","suction","toilet"],"version":13,"annotation":"plunger","shortcodes":["plunger"]},{"emoji":"🚿","group":7,"order":4435,"tags":["water"],"version":1,"annotation":"shower","shortcodes":["shower"]},{"emoji":"🛁","group":7,"order":4436,"tags":["bath"],"version":1,"annotation":"bathtub","shortcodes":["bathtub"]},{"emoji":"🪤","group":7,"order":4437,"tags":["bait","cheese","lure","mouse","mousetrap","snare","trap"],"version":13,"annotation":"mouse trap","shortcodes":["mouse_trap"]},{"emoji":"🪒","group":7,"order":4438,"tags":["sharp","shave"],"version":12,"annotation":"razor","shortcodes":["razor"]},{"emoji":"🧴","group":7,"order":4439,"tags":["bottle","lotion","moisturizer","shampoo","sunscreen"],"version":11,"annotation":"lotion bottle","shortcodes":["lotion_bottle"]},{"emoji":"🧷","group":7,"order":4440,"tags":["diaper","pin","punk","rock","safety"],"version":11,"annotation":"safety pin","shortcodes":["safety_pin"]},{"emoji":"🧹","group":7,"order":4441,"tags":["cleaning","sweeping","witch"],"version":11,"annotation":"broom","shortcodes":["broom"]},{"emoji":"🧺","group":7,"order":4442,"tags":["farming","laundry","picnic"],"version":11,"annotation":"basket","shortcodes":["basket"]},{"emoji":"🧻","group":7,"order":4443,"tags":["paper","roll","toilet","towels"],"version":11,"annotation":"roll of paper","shortcodes":["roll_of_paper","toilet_paper"]},{"emoji":"🪣","group":7,"order":4444,"tags":["cask","pail","vat"],"version":13,"annotation":"bucket","shortcodes":["bucket"]},{"emoji":"🧼","group":7,"order":4445,"tags":["bar","bathing","clean","cleaning","lather","soapdish"],"version":11,"annotation":"soap","shortcodes":["soap"]},{"emoji":"🫧","group":7,"order":4446,"tags":["bubble","burp","clean","floating","pearl","soap","underwater"],"version":14,"annotation":"bubbles","shortcodes":["bubbles"]},{"emoji":"🪥","group":7,"order":4447,"tags":["bathroom","brush","clean","dental","hygiene","teeth","toiletry"],"version":13,"annotation":"toothbrush","shortcodes":["toothbrush"]},{"emoji":"🧽","group":7,"order":4448,"tags":["absorbing","cleaning","porous","soak"],"version":11,"annotation":"sponge","shortcodes":["sponge"]},{"emoji":"🧯","group":7,"order":4449,"tags":["extinguish","extinguisher","fire","quench"],"version":11,"annotation":"fire extinguisher","shortcodes":["fire_extinguisher"]},{"emoji":"🛒","group":7,"order":4450,"tags":["cart","shopping","trolley"],"version":3,"annotation":"shopping cart","shortcodes":["shopping_cart"]},{"emoji":"🚬","group":7,"order":4451,"tags":["smoking"],"version":0.6,"annotation":"cigarette","shortcodes":["cigarette","smoking"]},{"emoji":"⚰️","group":7,"order":4453,"tags":["dead","death","vampire"],"version":1,"annotation":"coffin","shortcodes":["coffin"]},{"emoji":"🪦","group":7,"order":4454,"tags":["cemetery","dead","grave","graveyard","memorial","rip","tomb","tombstone"],"version":13,"annotation":"headstone","shortcodes":["headstone"]},{"emoji":"⚱️","group":7,"order":4456,"tags":["ashes","death","funeral","urn"],"version":1,"annotation":"funeral urn","shortcodes":["funeral_urn"]},{"emoji":"🧿","group":7,"order":4457,"tags":["amulet","bead","blue","charm","evil-eye","nazar","talisman"],"version":11,"annotation":"nazar amulet","shortcodes":["nazar_amulet"]},{"emoji":"🪬","group":7,"order":4458,"tags":["amulet","fatima","fortune","guide","hand","mary","miriam","palm","protect","protection"],"version":14,"annotation":"hamsa","shortcodes":["hamsa"]},{"emoji":"🗿","group":7,"order":4459,"tags":["face","moyai","statue","stoneface","travel"],"version":0.6,"annotation":"moai","shortcodes":["moai","moyai"]},{"emoji":"🪧","group":7,"order":4460,"tags":["card","demonstration","notice","picket","plaque","protest","sign"],"version":13,"annotation":"placard","shortcodes":["placard"]},{"emoji":"🪪","group":7,"order":4461,"tags":["card","credentials","document","id","identification","license","security"],"version":14,"annotation":"identification card","shortcodes":["id_card"]},{"emoji":"🏧","group":8,"order":4462,"tags":["atm","automated","bank","cash","money","sign","teller"],"version":0.6,"annotation":"ATM sign","shortcodes":["atm"]},{"emoji":"🚮","group":8,"order":4463,"tags":["bin","litter","litterbin","sign"],"version":1,"annotation":"litter in bin sign","shortcodes":["litter_bin","put_litter_in_its_place"]},{"emoji":"🚰","group":8,"order":4464,"tags":["drinking","potable","water"],"version":1,"annotation":"potable water","shortcodes":["potable_water"]},{"emoji":"♿️","group":8,"order":4465,"tags":["access","handicap","symbol","wheelchair"],"version":0.6,"annotation":"wheelchair symbol","shortcodes":["handicapped","wheelchair"]},{"emoji":"🚹️","group":8,"order":4466,"tags":["bathroom","lavatory","man","men’s","restroom","room","toilet","wc"],"version":0.6,"annotation":"men’s room","shortcodes":["mens"]},{"emoji":"🚺️","group":8,"order":4467,"tags":["bathroom","lavatory","restroom","room","toilet","wc","woman","women’s"],"version":0.6,"annotation":"women’s room","shortcodes":["womens"]},{"emoji":"🚻","group":8,"order":4468,"tags":["bathroom","lavatory","toilet","wc"],"version":0.6,"annotation":"restroom","shortcodes":["bathroom","restroom"]},{"emoji":"🚼️","group":8,"order":4469,"tags":["baby","changing","symbol"],"version":0.6,"annotation":"baby symbol","shortcodes":["baby_symbol"]},{"emoji":"🚾","group":8,"order":4470,"tags":["bathroom","closet","lavatory","restroom","toilet","water","wc"],"version":0.6,"annotation":"water closet","shortcodes":["water_closet","wc"]},{"emoji":"🛂","group":8,"order":4471,"tags":["control","passport"],"version":1,"annotation":"passport control","shortcodes":["passport_control"]},{"emoji":"🛃","group":8,"order":4472,"tags":["packing"],"version":1,"annotation":"customs","shortcodes":["customs"]},{"emoji":"🛄","group":8,"order":4473,"tags":["arrived","baggage","bags","case","checked","claim","journey","packing","plane","ready","travel","trip"],"version":1,"annotation":"baggage claim","shortcodes":["baggage_claim"]},{"emoji":"🛅","group":8,"order":4474,"tags":["baggage","case","left","locker","luggage"],"version":1,"annotation":"left luggage","shortcodes":["left_luggage"]},{"emoji":"⚠️","group":8,"order":4476,"tags":["caution"],"version":0.6,"annotation":"warning","shortcodes":["warning"]},{"emoji":"🚸","group":8,"order":4477,"tags":["child","children","crossing","pedestrian","traffic"],"version":1,"annotation":"children crossing","shortcodes":["children_crossing"]},{"emoji":"⛔️","group":8,"order":4478,"tags":["do","entry","fail","forbidden","no","not","pass","prohibited","traffic"],"version":0.6,"annotation":"no entry","shortcodes":["no_entry"]},{"emoji":"🚫","group":8,"order":4479,"tags":["entry","forbidden","no","not","smoke"],"version":0.6,"annotation":"prohibited","shortcodes":["no_entry_sign"]},{"emoji":"🚳","group":8,"order":4480,"tags":["bicycle","bicycles","bike","forbidden","no","not","prohibited"],"version":1,"annotation":"no bicycles","shortcodes":["no_bicycles"]},{"emoji":"🚭️","group":8,"order":4481,"tags":["forbidden","no","not","prohibited","smoke","smoking"],"version":0.6,"annotation":"no smoking","shortcodes":["no_smoking"]},{"emoji":"🚯","group":8,"order":4482,"tags":["forbidden","litter","littering","no","not","prohibited"],"version":1,"annotation":"no littering","shortcodes":["do_not_litter","no_littering"]},{"emoji":"🚱","group":8,"order":4483,"tags":["dry","non-drinking","non-potable","prohibited","water"],"version":1,"annotation":"non-potable water","shortcodes":["non-potable_water"]},{"emoji":"🚷","group":8,"order":4484,"tags":["forbidden","no","not","pedestrian","pedestrians","prohibited"],"version":1,"annotation":"no pedestrians","shortcodes":["no_pedestrians"]},{"emoji":"📵","group":8,"order":4485,"tags":["cell","forbidden","mobile","no","not","phone","phones","prohibited","telephone"],"version":1,"annotation":"no mobile phones","shortcodes":["no_mobile_phones"]},{"emoji":"🔞","group":8,"order":4486,"tags":["18","age","eighteen","forbidden","no","not","one","prohibited","restriction","underage"],"version":0.6,"annotation":"no one under eighteen","shortcodes":["no_one_under_18","underage"]},{"emoji":"☢️","group":8,"order":4488,"tags":["sign"],"version":1,"annotation":"radioactive","shortcodes":["radioactive"]},{"emoji":"☣️","group":8,"order":4490,"tags":["sign"],"version":1,"annotation":"biohazard","shortcodes":["biohazard"]},{"emoji":"⬆️","group":8,"order":4492,"tags":["arrow","cardinal","direction","north","up"],"version":0.6,"annotation":"up arrow","shortcodes":["arrow_up"]},{"emoji":"↗️","group":8,"order":4494,"tags":["arrow","direction","intercardinal","northeast","up-right"],"version":0.6,"annotation":"up-right arrow","shortcodes":["arrow_upper_right"]},{"emoji":"➡️","group":8,"order":4496,"tags":["arrow","cardinal","direction","east","right"],"version":0.6,"annotation":"right arrow","shortcodes":["arrow_right"]},{"emoji":"↘️","group":8,"order":4498,"tags":["arrow","direction","down-right","intercardinal","southeast"],"version":0.6,"annotation":"down-right arrow","shortcodes":["arrow_lower_right"]},{"emoji":"⬇️","group":8,"order":4500,"tags":["arrow","cardinal","direction","down","south"],"version":0.6,"annotation":"down arrow","shortcodes":["arrow_down"]},{"emoji":"↙️","group":8,"order":4502,"tags":["arrow","direction","down-left","intercardinal","southwest"],"version":0.6,"annotation":"down-left arrow","shortcodes":["arrow_lower_left"]},{"emoji":"⬅️","group":8,"order":4504,"tags":["arrow","cardinal","direction","left","west"],"version":0.6,"annotation":"left arrow","shortcodes":["arrow_left"]},{"emoji":"↖️","group":8,"order":4506,"tags":["arrow","direction","intercardinal","northwest","up-left"],"version":0.6,"annotation":"up-left arrow","shortcodes":["arrow_upper_left"]},{"emoji":"↕️","group":8,"order":4508,"tags":["arrow","up-down"],"version":0.6,"annotation":"up-down arrow","shortcodes":["arrow_up_down"]},{"emoji":"↔️","group":8,"order":4510,"tags":["arrow","left-right"],"version":0.6,"annotation":"left-right arrow","shortcodes":["left_right_arrow"]},{"emoji":"↩️","group":8,"order":4512,"tags":["arrow","curving","left","right"],"version":0.6,"annotation":"right arrow curving left","shortcodes":["arrow_left_hook","leftwards_arrow_with_hook"]},{"emoji":"↪️","group":8,"order":4514,"tags":["arrow","curving","left","right"],"version":0.6,"annotation":"left arrow curving right","shortcodes":["arrow_right_hook","rightwards_arrow_with_hook"]},{"emoji":"⤴️","group":8,"order":4516,"tags":["arrow","curving","right","up"],"version":0.6,"annotation":"right arrow curving up","shortcodes":["arrow_heading_up"]},{"emoji":"⤵️","group":8,"order":4518,"tags":["arrow","curving","down","right"],"version":0.6,"annotation":"right arrow curving down","shortcodes":["arrow_heading_down"]},{"emoji":"🔃","group":8,"order":4519,"tags":["arrow","arrows","clockwise","refresh","reload","vertical"],"version":0.6,"annotation":"clockwise vertical arrows","shortcodes":["arrows_clockwise","clockwise"]},{"emoji":"🔄","group":8,"order":4520,"tags":["again","anticlockwise","arrow","arrows","button","counterclockwise","deja","refresh","rewindershins","vu"],"version":1,"annotation":"counterclockwise arrows button","shortcodes":["arrows_counterclockwise","counterclockwise"]},{"emoji":"🔙","group":8,"order":4521,"tags":["arrow","back"],"version":0.6,"annotation":"BACK arrow","shortcodes":["back"]},{"emoji":"🔚","group":8,"order":4522,"tags":["arrow","end"],"version":0.6,"annotation":"END arrow","shortcodes":["end"]},{"emoji":"🔛","group":8,"order":4523,"tags":["arrow","mark","on!"],"version":0.6,"annotation":"ON! arrow","shortcodes":["on"]},{"emoji":"🔜","group":8,"order":4524,"tags":["arrow","brb","omw","soon"],"version":0.6,"annotation":"SOON arrow","shortcodes":["soon"]},{"emoji":"🔝","group":8,"order":4525,"tags":["arrow","homie","top","up"],"version":0.6,"annotation":"TOP arrow","shortcodes":["top"]},{"emoji":"🛐","group":8,"order":4526,"tags":["place","pray","religion","worship"],"version":1,"annotation":"place of worship","shortcodes":["place_of_worship"]},{"emoji":"⚛️","group":8,"order":4528,"tags":["atheist","atom","symbol"],"version":1,"annotation":"atom symbol","shortcodes":["atom","atom_symbol"]},{"emoji":"🕉️","group":8,"order":4530,"tags":["hindu","religion"],"version":0.7,"annotation":"om","shortcodes":["om"]},{"emoji":"✡️","group":8,"order":4532,"tags":["david","jew","jewish","judaism","religion","star"],"version":0.7,"annotation":"star of David","shortcodes":["star_of_david"]},{"emoji":"☸️","group":8,"order":4534,"tags":["buddhist","dharma","religion","wheel"],"version":0.7,"annotation":"wheel of dharma","shortcodes":["wheel_of_dharma"]},{"emoji":"☯️","group":8,"order":4536,"tags":["difficult","lives","religion","tao","taoist","total","yang","yin","yinyang"],"version":0.7,"annotation":"yin yang","shortcodes":["yin_yang"]},{"emoji":"✝️","group":8,"order":4538,"tags":["christ","christian","cross","latin","religion"],"version":0.7,"annotation":"latin cross","shortcodes":["latin_cross"]},{"emoji":"☦️","group":8,"order":4540,"tags":["christian","cross","orthodox","religion"],"version":1,"annotation":"orthodox cross","shortcodes":["orthodox_cross"]},{"emoji":"☪️","group":8,"order":4542,"tags":["crescent","islam","muslim","ramadan","religion","star"],"version":0.7,"annotation":"star and crescent","shortcodes":["star_and_crescent"]},{"emoji":"☮️","group":8,"order":4544,"tags":["healing","peace","peaceful","symbol"],"version":1,"annotation":"peace symbol","shortcodes":["peace","peace_symbol"]},{"emoji":"🕎","group":8,"order":4545,"tags":["candelabrum","candlestick","hanukkah","jewish","judaism","religion"],"version":1,"annotation":"menorah","shortcodes":["menorah"]},{"emoji":"🔯","group":8,"order":4546,"tags":["dotted","fortune","jewish","judaism","six-pointed","star"],"version":0.6,"annotation":"dotted six-pointed star","shortcodes":["six_pointed_star"]},{"emoji":"🪯","group":8,"order":4547,"tags":["deg","fateh","khalsa","religion","sikh","sikhism","tegh"],"version":15,"annotation":"khanda","shortcodes":["khanda"]},{"emoji":"♈️","group":8,"order":4548,"tags":["aries","horoscope","ram","zodiac"],"version":0.6,"annotation":"Aries","shortcodes":["aries"]},{"emoji":"♉️","group":8,"order":4549,"tags":["bull","horoscope","ox","taurus","zodiac"],"version":0.6,"annotation":"Taurus","shortcodes":["taurus"]},{"emoji":"♊️","group":8,"order":4550,"tags":["gemini","horoscope","twins","zodiac"],"version":0.6,"annotation":"Gemini","shortcodes":["gemini"]},{"emoji":"♋️","group":8,"order":4551,"tags":["cancer","crab","horoscope","zodiac"],"version":0.6,"annotation":"Cancer","shortcodes":["cancer"]},{"emoji":"♌️","group":8,"order":4552,"tags":["horoscope","leo","lion","zodiac"],"version":0.6,"annotation":"Leo","shortcodes":["leo"]},{"emoji":"♍️","group":8,"order":4553,"tags":["horoscope","virgo","zodiac"],"version":0.6,"annotation":"Virgo","shortcodes":["virgo"]},{"emoji":"♎️","group":8,"order":4554,"tags":["balance","horoscope","justice","libra","scales","zodiac"],"version":0.6,"annotation":"Libra","shortcodes":["libra"]},{"emoji":"♏️","group":8,"order":4555,"tags":["horoscope","scorpio","scorpion","scorpius","zodiac"],"version":0.6,"annotation":"Scorpio","shortcodes":["scorpius"]},{"emoji":"♐️","group":8,"order":4556,"tags":["archer","horoscope","sagittarius","zodiac"],"version":0.6,"annotation":"Sagittarius","shortcodes":["sagittarius"]},{"emoji":"♑️","group":8,"order":4557,"tags":["capricorn","goat","horoscope","zodiac"],"version":0.6,"annotation":"Capricorn","shortcodes":["capricorn"]},{"emoji":"♒️","group":8,"order":4558,"tags":["aquarius","bearer","horoscope","water","zodiac"],"version":0.6,"annotation":"Aquarius","shortcodes":["aquarius"]},{"emoji":"♓️","group":8,"order":4559,"tags":["fish","horoscope","pisces","zodiac"],"version":0.6,"annotation":"Pisces","shortcodes":["pisces"]},{"emoji":"⛎️","group":8,"order":4560,"tags":["bearer","ophiuchus","serpent","snake","zodiac"],"version":0.6,"annotation":"Ophiuchus","shortcodes":["ophiuchus"]},{"emoji":"🔀","group":8,"order":4561,"tags":["arrow","button","crossed","shuffle","tracks"],"version":1,"annotation":"shuffle tracks button","shortcodes":["shuffle","twisted_rightwards_arrows"]},{"emoji":"🔁","group":8,"order":4562,"tags":["arrow","button","clockwise","repeat"],"version":1,"annotation":"repeat button","shortcodes":["repeat"]},{"emoji":"🔂","group":8,"order":4563,"tags":["arrow","button","clockwise","once","repeat","single"],"version":1,"annotation":"repeat single button","shortcodes":["repeat_one"]},{"emoji":"▶️","group":8,"order":4565,"tags":["arrow","button","play","right","triangle"],"version":0.6,"annotation":"play button","shortcodes":["arrow_forward","play"]},{"emoji":"⏩️","group":8,"order":4566,"tags":["arrow","button","double","fast","fast-forward","forward"],"version":0.6,"annotation":"fast-forward button","shortcodes":["fast_forward"]},{"emoji":"⏭️","group":8,"order":4568,"tags":["arrow","button","next","scene","track","triangle"],"version":0.7,"annotation":"next track button","shortcodes":["next_track"]},{"emoji":"⏯️","group":8,"order":4570,"tags":["arrow","button","pause","play","right","triangle"],"version":1,"annotation":"play or pause button","shortcodes":["play_pause"]},{"emoji":"◀️","group":8,"order":4572,"tags":["arrow","button","left","reverse","triangle"],"version":0.6,"annotation":"reverse button","shortcodes":["arrow_backward","reverse"]},{"emoji":"⏪️","group":8,"order":4573,"tags":["arrow","button","double","fast","reverse","rewind"],"version":0.6,"annotation":"fast reverse button","shortcodes":["fast_reverse","rewind"]},{"emoji":"⏮️","group":8,"order":4575,"tags":["arrow","button","last","previous","scene","track","triangle"],"version":0.7,"annotation":"last track button","shortcodes":["previous_track"]},{"emoji":"🔼","group":8,"order":4576,"tags":["arrow","button","red","up","upwards"],"version":0.6,"annotation":"upwards button","shortcodes":["arrow_up_small","up"]},{"emoji":"⏫️","group":8,"order":4577,"tags":["arrow","button","double","fast","up"],"version":0.6,"annotation":"fast up button","shortcodes":["arrow_double_up","fast_up"]},{"emoji":"🔽","group":8,"order":4578,"tags":["arrow","button","down","downwards","red"],"version":0.6,"annotation":"downwards button","shortcodes":["arrow_down_small","down"]},{"emoji":"⏬️","group":8,"order":4579,"tags":["arrow","button","double","down","fast"],"version":0.6,"annotation":"fast down button","shortcodes":["arrow_double_down","fast_down"]},{"emoji":"⏸️","group":8,"order":4581,"tags":["bar","button","double","pause","vertical"],"version":0.7,"annotation":"pause button","shortcodes":["pause"]},{"emoji":"⏹️","group":8,"order":4583,"tags":["button","square","stop"],"version":0.7,"annotation":"stop button","shortcodes":["stop"]},{"emoji":"⏺️","group":8,"order":4585,"tags":["button","circle","record"],"version":0.7,"annotation":"record button","shortcodes":["record"]},{"emoji":"⏏️","group":8,"order":4587,"tags":["button","eject"],"version":1,"annotation":"eject button","shortcodes":["eject"]},{"emoji":"🎦","group":8,"order":4588,"tags":["camera","film","movie"],"version":0.6,"annotation":"cinema","shortcodes":["cinema"]},{"emoji":"🔅","group":8,"order":4589,"tags":["brightness","button","dim","low"],"version":1,"annotation":"dim button","shortcodes":["dim_button","low_brightness"]},{"emoji":"🔆","group":8,"order":4590,"tags":["bright","brightness","button","light"],"version":1,"annotation":"bright button","shortcodes":["bright_button","high_brightness"]},{"emoji":"📶","group":8,"order":4591,"tags":["antenna","bar","bars","cell","communication","mobile","phone","signal","telephone"],"version":0.6,"annotation":"antenna bars","shortcodes":["antenna_bars","signal_strength"]},{"emoji":"🛜","group":8,"order":4592,"tags":["broadband","computer","connectivity","hotspot","internet","network","router","smartphone","wi-fi","wifi","wlan"],"version":15,"annotation":"wireless","shortcodes":["wireless"]},{"emoji":"📳","group":8,"order":4593,"tags":["cell","communication","mobile","mode","phone","telephone","vibration"],"version":0.6,"annotation":"vibration mode","shortcodes":["vibration_mode"]},{"emoji":"📴","group":8,"order":4594,"tags":["cell","mobile","off","phone","telephone"],"version":0.6,"annotation":"mobile phone off","shortcodes":["mobile_phone_off"]},{"emoji":"♀️","group":8,"order":4596,"tags":["female","sign","woman"],"version":4,"annotation":"female sign","shortcodes":["female","female_sign"]},{"emoji":"♂️","group":8,"order":4598,"tags":["male","man","sign"],"version":4,"annotation":"male sign","shortcodes":["male","male_sign"]},{"emoji":"⚧️","group":8,"order":4600,"tags":["symbol","transgender"],"version":13,"annotation":"transgender symbol","shortcodes":["transgender_symbol"]},{"emoji":"✖️","group":8,"order":4602,"tags":["cancel","multiplication","sign","x","×"],"version":0.6,"annotation":"multiply","shortcodes":["multiplication","multiply"]},{"emoji":"➕️","group":8,"order":4603,"tags":["+"],"version":0.6,"annotation":"plus","shortcodes":["plus"]},{"emoji":"➖️","group":8,"order":4604,"tags":["-","heavy","math","sign","−"],"version":0.6,"annotation":"minus","shortcodes":["minus"]},{"emoji":"➗️","group":8,"order":4605,"tags":["division","heavy","math","sign","÷"],"version":0.6,"annotation":"divide","shortcodes":["divide","division"]},{"emoji":"🟰","group":8,"order":4606,"tags":["answer","equal","equality","equals","heavy","math","sign"],"version":14,"annotation":"heavy equals sign","shortcodes":["heavy_equals_sign"]},{"emoji":"♾️","group":8,"order":4608,"tags":["forever","unbounded","universal"],"version":11,"annotation":"infinity","shortcodes":["infinity"]},{"emoji":"‼️","group":8,"order":4610,"tags":["!","!!","bangbang","double","exclamation","mark","punctuation"],"version":0.6,"annotation":"double exclamation mark","shortcodes":["bangbang","double_exclamation"]},{"emoji":"⁉️","group":8,"order":4612,"tags":["!","!?","?","exclamation","interrobang","mark","punctuation","question"],"version":0.6,"annotation":"exclamation question mark","shortcodes":["exclamation_question","interrobang"]},{"emoji":"❓️","group":8,"order":4613,"tags":["?","mark","punctuation","question","red"],"version":0.6,"annotation":"red question mark","shortcodes":["question"]},{"emoji":"❔️","group":8,"order":4614,"tags":["?","mark","outlined","punctuation","question","white"],"version":0.6,"annotation":"white question mark","shortcodes":["white_question"]},{"emoji":"❕️","group":8,"order":4615,"tags":["!","exclamation","mark","outlined","punctuation","white"],"version":0.6,"annotation":"white exclamation mark","shortcodes":["white_exclamation"]},{"emoji":"❗️","group":8,"order":4616,"tags":["!","exclamation","mark","punctuation","red"],"version":0.6,"annotation":"red exclamation mark","shortcodes":["exclamation"]},{"emoji":"〰️","group":8,"order":4618,"tags":["dash","punctuation","wavy"],"version":0.6,"annotation":"wavy dash","shortcodes":["wavy_dash"]},{"emoji":"💱","group":8,"order":4619,"tags":["bank","currency","exchange","money"],"version":0.6,"annotation":"currency exchange","shortcodes":["currency_exchange"]},{"emoji":"💲","group":8,"order":4620,"tags":["billion","cash","charge","currency","dollar","heavy","million","money","pay","sign"],"version":0.6,"annotation":"heavy dollar sign","shortcodes":["heavy_dollar_sign"]},{"emoji":"⚕️","group":8,"order":4622,"tags":["aesculapius","medical","medicine","staff","symbol"],"version":4,"annotation":"medical symbol","shortcodes":["medical","medical_symbol"]},{"emoji":"♻️","group":8,"order":4624,"tags":["recycle","recycling","symbol"],"version":0.6,"annotation":"recycling symbol","shortcodes":["recycle","recycling_symbol"]},{"emoji":"⚜️","group":8,"order":4626,"tags":["knights"],"version":1,"annotation":"fleur-de-lis","shortcodes":["fleur-de-lis"]},{"emoji":"🔱","group":8,"order":4627,"tags":["anchor","emblem","poseidon","ship","tool","trident"],"version":0.6,"annotation":"trident emblem","shortcodes":["trident"]},{"emoji":"📛","group":8,"order":4628,"tags":["badge","name"],"version":0.6,"annotation":"name badge","shortcodes":["name_badge"]},{"emoji":"🔰","group":8,"order":4629,"tags":["beginner","chevron","green","japanese","leaf","symbol","tool","yellow"],"version":0.6,"annotation":"Japanese symbol for beginner","shortcodes":["beginner"]},{"emoji":"⭕️","group":8,"order":4630,"tags":["circle","heavy","hollow","large","o","red"],"version":0.6,"annotation":"hollow red circle","shortcodes":["hollow_red_circle","red_o"]},{"emoji":"✅️","group":8,"order":4631,"tags":["button","check","checked","checkmark","complete","completed","done","fixed","mark","tick","✓"],"version":0.6,"annotation":"check mark button","shortcodes":["check_mark_button","white_check_mark"]},{"emoji":"☑️","group":8,"order":4633,"tags":["ballot","box","check","checked","done","off","tick","✓"],"version":0.6,"annotation":"check box with check","shortcodes":["ballot_box_with_check"]},{"emoji":"✔️","group":8,"order":4635,"tags":["check","checked","checkmark","done","heavy","mark","tick","✓"],"version":0.6,"annotation":"check mark","shortcodes":["check_mark","heavy_check_mark"]},{"emoji":"❌️","group":8,"order":4636,"tags":["cancel","cross","mark","multiplication","multiply","x","×"],"version":0.6,"annotation":"cross mark","shortcodes":["cross_mark","x"]},{"emoji":"❎️","group":8,"order":4637,"tags":["button","cross","mark","multiplication","multiply","square","x","×"],"version":0.6,"annotation":"cross mark button","shortcodes":["cross_mark_button","negative_squared_cross_mark"]},{"emoji":"➰️","group":8,"order":4638,"tags":["curl","curly","loop"],"version":0.6,"annotation":"curly loop","shortcodes":["curly_loop"]},{"emoji":"➿️","group":8,"order":4639,"tags":["curl","curly","double","loop"],"version":1,"annotation":"double curly loop","shortcodes":["double_curly_loop","loop"]},{"emoji":"〽️","group":8,"order":4641,"tags":["alternation","mark","part"],"version":0.6,"annotation":"part alternation mark","shortcodes":["part_alternation_mark"]},{"emoji":"✳️","group":8,"order":4643,"tags":["*","asterisk","eight-spoked"],"version":0.6,"annotation":"eight-spoked asterisk","shortcodes":["eight_spoked_asterisk"]},{"emoji":"✴️","group":8,"order":4645,"tags":["*","eight-pointed","star"],"version":0.6,"annotation":"eight-pointed star","shortcodes":["eight_pointed_black_star"]},{"emoji":"❇️","group":8,"order":4647,"tags":["*"],"version":0.6,"annotation":"sparkle","shortcodes":["sparkle"]},{"emoji":"©️","group":8,"order":4649,"tags":["c"],"version":0.6,"annotation":"copyright","shortcodes":["copyright"]},{"emoji":"®️","group":8,"order":4651,"tags":["r"],"version":0.6,"annotation":"registered","shortcodes":["registered"]},{"emoji":"™️","group":8,"order":4653,"tags":["mark","tm","trade","trademark"],"version":0.6,"annotation":"trade mark","shortcodes":["tm","trade_mark"]},{"emoji":"","group":8,"order":4654,"tags":["drip","holi","ink","liquid","mess","paint","spill","stain"],"version":16,"annotation":"splatter","shortcodes":["splatter"]},{"emoji":"#️⃣","group":8,"order":4655,"tags":["keycap"],"version":0.6,"annotation":"keycap: #","shortcodes":["hash","number_sign"]},{"emoji":"*️⃣","group":8,"order":4657,"tags":["keycap"],"version":2,"annotation":"keycap: *","shortcodes":["asterisk"]},{"emoji":"0️⃣","group":8,"order":4659,"tags":["keycap"],"version":0.6,"annotation":"keycap: 0","shortcodes":["zero"]},{"emoji":"1️⃣","group":8,"order":4661,"tags":["keycap"],"version":0.6,"annotation":"keycap: 1","shortcodes":["one"]},{"emoji":"2️⃣","group":8,"order":4663,"tags":["keycap"],"version":0.6,"annotation":"keycap: 2","shortcodes":["two"]},{"emoji":"3️⃣","group":8,"order":4665,"tags":["keycap"],"version":0.6,"annotation":"keycap: 3","shortcodes":["three"]},{"emoji":"4️⃣","group":8,"order":4667,"tags":["keycap"],"version":0.6,"annotation":"keycap: 4","shortcodes":["four"]},{"emoji":"5️⃣","group":8,"order":4669,"tags":["keycap"],"version":0.6,"annotation":"keycap: 5","shortcodes":["five"]},{"emoji":"6️⃣","group":8,"order":4671,"tags":["keycap"],"version":0.6,"annotation":"keycap: 6","shortcodes":["six"]},{"emoji":"7️⃣","group":8,"order":4673,"tags":["keycap"],"version":0.6,"annotation":"keycap: 7","shortcodes":["seven"]},{"emoji":"8️⃣","group":8,"order":4675,"tags":["keycap"],"version":0.6,"annotation":"keycap: 8","shortcodes":["eight"]},{"emoji":"9️⃣","group":8,"order":4677,"tags":["keycap"],"version":0.6,"annotation":"keycap: 9","shortcodes":["nine"]},{"emoji":"🔟","group":8,"order":4679,"tags":["keycap"],"version":0.6,"annotation":"keycap: 10","shortcodes":["ten"]},{"emoji":"🔠","group":8,"order":4680,"tags":["abcd","input","latin","letters","uppercase"],"version":0.6,"annotation":"input latin uppercase","shortcodes":["capital_abcd"]},{"emoji":"🔡","group":8,"order":4681,"tags":["abcd","input","latin","letters","lowercase"],"version":0.6,"annotation":"input latin lowercase","shortcodes":["abcd"]},{"emoji":"🔢","group":8,"order":4682,"tags":["1234","input","numbers"],"version":0.6,"annotation":"input numbers","shortcodes":["1234"]},{"emoji":"🔣","group":8,"order":4683,"tags":["%","&","input","symbols","♪","〒"],"version":0.6,"annotation":"input symbols","shortcodes":["symbols"]},{"emoji":"🔤","group":8,"order":4684,"tags":["abc","alphabet","input","latin","letters"],"version":0.6,"annotation":"input latin letters","shortcodes":["abc"]},{"emoji":"🅰️","group":8,"order":4686,"tags":["blood","button","type"],"version":0.6,"annotation":"A button (blood type)","shortcodes":["a","a_blood"]},{"emoji":"🆎","group":8,"order":4687,"tags":["ab","blood","button","type"],"version":0.6,"annotation":"AB button (blood type)","shortcodes":["ab","ab_blood"]},{"emoji":"🅱️","group":8,"order":4689,"tags":["b","blood","button","type"],"version":0.6,"annotation":"B button (blood type)","shortcodes":["b","b_blood"]},{"emoji":"🆑","group":8,"order":4690,"tags":["button","cl"],"version":0.6,"annotation":"CL button","shortcodes":["cl"]},{"emoji":"🆒","group":8,"order":4691,"tags":["button","cool"],"version":0.6,"annotation":"COOL button","shortcodes":["cool"]},{"emoji":"🆓","group":8,"order":4692,"tags":["button","free"],"version":0.6,"annotation":"FREE button","shortcodes":["free"]},{"emoji":"ℹ️","group":8,"order":4694,"tags":["i"],"version":0.6,"annotation":"information","shortcodes":["info","information_source"]},{"emoji":"🆔","group":8,"order":4695,"tags":["button","id","identity"],"version":0.6,"annotation":"ID button","shortcodes":["id"]},{"emoji":"Ⓜ️","group":8,"order":4697,"tags":["circle","circled","m"],"version":0.6,"annotation":"circled M","shortcodes":["m"]},{"emoji":"🆕","group":8,"order":4698,"tags":["button","new"],"version":0.6,"annotation":"NEW button","shortcodes":["new"]},{"emoji":"🆖","group":8,"order":4699,"tags":["button","ng"],"version":0.6,"annotation":"NG button","shortcodes":["ng"]},{"emoji":"🅾️","group":8,"order":4701,"tags":["blood","button","o","type"],"version":0.6,"annotation":"O button (blood type)","shortcodes":["o","o_blood"]},{"emoji":"🆗","group":8,"order":4702,"tags":["button","ok","okay"],"version":0.6,"annotation":"OK button","shortcodes":["ok"]},{"emoji":"🅿️","group":8,"order":4704,"tags":["button","p","parking"],"version":0.6,"annotation":"P button","shortcodes":["parking"]},{"emoji":"🆘","group":8,"order":4705,"tags":["button","help","sos"],"version":0.6,"annotation":"SOS button","shortcodes":["sos"]},{"emoji":"🆙","group":8,"order":4706,"tags":["button","mark","up","up!"],"version":0.6,"annotation":"UP! button","shortcodes":["up2"]},{"emoji":"🆚","group":8,"order":4707,"tags":["button","versus","vs"],"version":0.6,"annotation":"VS button","shortcodes":["vs"]},{"emoji":"🈁","group":8,"order":4708,"tags":["button","here","japanese","katakana"],"version":0.6,"annotation":"Japanese “here” button","shortcodes":["ja_here","koko"]},{"emoji":"🈂️","group":8,"order":4710,"tags":["button","charge","japanese","katakana","service"],"version":0.6,"annotation":"Japanese “service charge” button","shortcodes":["ja_service_charge"]},{"emoji":"🈷️","group":8,"order":4712,"tags":["amount","button","ideograph","japanese","monthly"],"version":0.6,"annotation":"Japanese “monthly amount” button","shortcodes":["ja_monthly_amount"]},{"emoji":"🈶","group":8,"order":4713,"tags":["button","charge","free","ideograph","japanese","not"],"version":0.6,"annotation":"Japanese “not free of charge” button","shortcodes":["ja_not_free_of_carge"]},{"emoji":"🈯️","group":8,"order":4714,"tags":["button","ideograph","japanese","reserved"],"version":0.6,"annotation":"Japanese “reserved” button","shortcodes":["ja_reserved"]},{"emoji":"🉐","group":8,"order":4715,"tags":["bargain","button","ideograph","japanese"],"version":0.6,"annotation":"Japanese “bargain” button","shortcodes":["ideograph_advantage","ja_bargain"]},{"emoji":"🈹","group":8,"order":4716,"tags":["button","discount","ideograph","japanese"],"version":0.6,"annotation":"Japanese “discount” button","shortcodes":["ja_discount"]},{"emoji":"🈚️","group":8,"order":4717,"tags":["button","charge","free","ideograph","japanese"],"version":0.6,"annotation":"Japanese “free of charge” button","shortcodes":["ja_free_of_charge"]},{"emoji":"🈲","group":8,"order":4718,"tags":["button","ideograph","japanese","prohibited"],"version":0.6,"annotation":"Japanese “prohibited” button","shortcodes":["ja_prohibited"]},{"emoji":"🉑","group":8,"order":4719,"tags":["acceptable","button","ideograph","japanese"],"version":0.6,"annotation":"Japanese “acceptable” button","shortcodes":["accept","ja_acceptable"]},{"emoji":"🈸","group":8,"order":4720,"tags":["application","button","ideograph","japanese"],"version":0.6,"annotation":"Japanese “application” button","shortcodes":["ja_application"]},{"emoji":"🈴","group":8,"order":4721,"tags":["button","grade","ideograph","japanese","passing"],"version":0.6,"annotation":"Japanese “passing grade” button","shortcodes":["ja_passing_grade"]},{"emoji":"🈳","group":8,"order":4722,"tags":["button","ideograph","japanese","vacancy"],"version":0.6,"annotation":"Japanese “vacancy” button","shortcodes":["ja_vacancy"]},{"emoji":"㊗️","group":8,"order":4724,"tags":["button","congratulations","ideograph","japanese"],"version":0.6,"annotation":"Japanese “congratulations” button","shortcodes":["congratulations","ja_congratulations"]},{"emoji":"㊙️","group":8,"order":4726,"tags":["button","ideograph","japanese","secret"],"version":0.6,"annotation":"Japanese “secret” button","shortcodes":["ja_secret","secret"]},{"emoji":"🈺","group":8,"order":4727,"tags":["business","button","ideograph","japanese","open"],"version":0.6,"annotation":"Japanese “open for business” button","shortcodes":["ja_open_for_business"]},{"emoji":"🈵","group":8,"order":4728,"tags":["button","ideograph","japanese","no","vacancy"],"version":0.6,"annotation":"Japanese “no vacancy” button","shortcodes":["ja_no_vacancy"]},{"emoji":"🔴","group":8,"order":4729,"tags":["circle","geometric","red"],"version":0.6,"annotation":"red circle","shortcodes":["red_circle"]},{"emoji":"🟠","group":8,"order":4730,"tags":["circle","orange"],"version":12,"annotation":"orange circle","shortcodes":["orange_circle"]},{"emoji":"🟡","group":8,"order":4731,"tags":["circle","yellow"],"version":12,"annotation":"yellow circle","shortcodes":["yellow_circle"]},{"emoji":"🟢","group":8,"order":4732,"tags":["circle","green"],"version":12,"annotation":"green circle","shortcodes":["green_circle"]},{"emoji":"🔵","group":8,"order":4733,"tags":["blue","circle","geometric"],"version":0.6,"annotation":"blue circle","shortcodes":["blue_circle"]},{"emoji":"🟣","group":8,"order":4734,"tags":["circle","purple"],"version":12,"annotation":"purple circle","shortcodes":["purple_circle"]},{"emoji":"🟤","group":8,"order":4735,"tags":["brown","circle"],"version":12,"annotation":"brown circle","shortcodes":["brown_circle"]},{"emoji":"⚫️","group":8,"order":4736,"tags":["black","circle","geometric"],"version":0.6,"annotation":"black circle","shortcodes":["black_circle"]},{"emoji":"⚪️","group":8,"order":4737,"tags":["circle","geometric","white"],"version":0.6,"annotation":"white circle","shortcodes":["white_circle"]},{"emoji":"🟥","group":8,"order":4738,"tags":["card","penalty","red","square"],"version":12,"annotation":"red square","shortcodes":["red_square"]},{"emoji":"🟧","group":8,"order":4739,"tags":["orange","square"],"version":12,"annotation":"orange square","shortcodes":["orange_square"]},{"emoji":"🟨","group":8,"order":4740,"tags":["card","penalty","square","yellow"],"version":12,"annotation":"yellow square","shortcodes":["yellow_square"]},{"emoji":"🟩","group":8,"order":4741,"tags":["green","square"],"version":12,"annotation":"green square","shortcodes":["green_square"]},{"emoji":"🟦","group":8,"order":4742,"tags":["blue","square"],"version":12,"annotation":"blue square","shortcodes":["blue_square"]},{"emoji":"🟪","group":8,"order":4743,"tags":["purple","square"],"version":12,"annotation":"purple square","shortcodes":["purple_square"]},{"emoji":"🟫","group":8,"order":4744,"tags":["brown","square"],"version":12,"annotation":"brown square","shortcodes":["brown_square"]},{"emoji":"⬛️","group":8,"order":4745,"tags":["black","geometric","large","square"],"version":0.6,"annotation":"black large square","shortcodes":["black_large_square"]},{"emoji":"⬜️","group":8,"order":4746,"tags":["geometric","large","square","white"],"version":0.6,"annotation":"white large square","shortcodes":["white_large_square"]},{"emoji":"◼️","group":8,"order":4748,"tags":["black","geometric","medium","square"],"version":0.6,"annotation":"black medium square","shortcodes":["black_medium_square"]},{"emoji":"◻️","group":8,"order":4750,"tags":["geometric","medium","square","white"],"version":0.6,"annotation":"white medium square","shortcodes":["white_medium_square"]},{"emoji":"◾️","group":8,"order":4751,"tags":["black","geometric","medium-small","square"],"version":0.6,"annotation":"black medium-small square","shortcodes":["black_medium_small_square"]},{"emoji":"◽️","group":8,"order":4752,"tags":["geometric","medium-small","square","white"],"version":0.6,"annotation":"white medium-small square","shortcodes":["white_medium_small_square"]},{"emoji":"▪️","group":8,"order":4754,"tags":["black","geometric","small","square"],"version":0.6,"annotation":"black small square","shortcodes":["black_small_square"]},{"emoji":"▫️","group":8,"order":4756,"tags":["geometric","small","square","white"],"version":0.6,"annotation":"white small square","shortcodes":["white_small_square"]},{"emoji":"🔶","group":8,"order":4757,"tags":["diamond","geometric","large","orange"],"version":0.6,"annotation":"large orange diamond","shortcodes":["large_orange_diamond"]},{"emoji":"🔷","group":8,"order":4758,"tags":["blue","diamond","geometric","large"],"version":0.6,"annotation":"large blue diamond","shortcodes":["large_blue_diamond"]},{"emoji":"🔸","group":8,"order":4759,"tags":["diamond","geometric","orange","small"],"version":0.6,"annotation":"small orange diamond","shortcodes":["small_orange_diamond"]},{"emoji":"🔹","group":8,"order":4760,"tags":["blue","diamond","geometric","small"],"version":0.6,"annotation":"small blue diamond","shortcodes":["small_blue_diamond"]},{"emoji":"🔺","group":8,"order":4761,"tags":["geometric","pointed","red","triangle","up"],"version":0.6,"annotation":"red triangle pointed up","shortcodes":["small_red_triangle"]},{"emoji":"🔻","group":8,"order":4762,"tags":["down","geometric","pointed","red","triangle"],"version":0.6,"annotation":"red triangle pointed down","shortcodes":["small_red_triangle_down"]},{"emoji":"💠","group":8,"order":4763,"tags":["comic","diamond","dot","geometric"],"version":0.6,"annotation":"diamond with a dot","shortcodes":["diamond_shape_with_a_dot_inside","diamond_with_a_dot"]},{"emoji":"🔘","group":8,"order":4764,"tags":["button","geometric","radio"],"version":0.6,"annotation":"radio button","shortcodes":["radio_button"]},{"emoji":"🔳","group":8,"order":4765,"tags":["button","geometric","outlined","square","white"],"version":0.6,"annotation":"white square button","shortcodes":["white_square_button"]},{"emoji":"🔲","group":8,"order":4766,"tags":["black","button","geometric","square"],"version":0.6,"annotation":"black square button","shortcodes":["black_square_button"]},{"emoji":"🏁","group":9,"order":4767,"tags":["checkered","chequered","finish","flag","flags","game","race","racing","sport","win"],"version":0.6,"annotation":"chequered flag","shortcodes":["checkered_flag"]},{"emoji":"🚩","group":9,"order":4768,"tags":["construction","flag","golf","post","triangular"],"version":0.6,"annotation":"triangular flag","shortcodes":["triangular_flag","triangular_flag_on_post"]},{"emoji":"🎌","group":9,"order":4769,"tags":["celebration","cross","crossed","flags","japanese"],"version":0.6,"annotation":"crossed flags","shortcodes":["crossed_flags"]},{"emoji":"🏴","group":9,"order":4770,"tags":["black","flag","waving"],"version":1,"annotation":"black flag","shortcodes":["black_flag"]},{"emoji":"🏳️","group":9,"order":4772,"tags":["flag","waving","white"],"version":0.7,"annotation":"white flag","shortcodes":["white_flag"]},{"emoji":"🏳️🌈","group":9,"order":4773,"tags":["bisexual","flag","gay","genderqueer","glbt","glbtq","lesbian","lgbt","lgbtq","lgbtqia","pride","queer","rainbow","trans","transgender"],"version":4,"annotation":"rainbow flag","shortcodes":["rainbow_flag"]},{"emoji":"🏳️⚧️","group":9,"order":4775,"tags":["blue","flag","light","pink","transgender","white"],"version":13,"annotation":"transgender flag","shortcodes":["transgender_flag"]},{"emoji":"🏴☠️","group":9,"order":4779,"tags":["flag","jolly","pirate","plunder","roger","treasure"],"version":11,"annotation":"pirate flag","shortcodes":["jolly_roger","pirate_flag"]},{"emoji":"🇦🇨","group":9,"order":4781,"tags":["AC","flag"],"version":2,"annotation":"flag: Ascension Island","shortcodes":["ascension_island","flag_ac"]},{"emoji":"🇦🇩","group":9,"order":4782,"tags":["AD","flag"],"version":2,"annotation":"flag: Andorra","shortcodes":["andorra","flag_ad"]},{"emoji":"🇦🇪","group":9,"order":4783,"tags":["AE","flag"],"version":2,"annotation":"flag: United Arab Emirates","shortcodes":["flag_ae","united_arab_emirates"]},{"emoji":"🇦🇫","group":9,"order":4784,"tags":["AF","flag"],"version":2,"annotation":"flag: Afghanistan","shortcodes":["afghanistan","flag_af"]},{"emoji":"🇦🇬","group":9,"order":4785,"tags":["AG","flag"],"version":2,"annotation":"flag: Antigua & Barbuda","shortcodes":["antigua_barbuda","flag_ag"]},{"emoji":"🇦🇮","group":9,"order":4786,"tags":["AI","flag"],"version":2,"annotation":"flag: Anguilla","shortcodes":["anguilla","flag_ai"]},{"emoji":"🇦🇱","group":9,"order":4787,"tags":["AL","flag"],"version":2,"annotation":"flag: Albania","shortcodes":["albania","flag_al"]},{"emoji":"🇦🇲","group":9,"order":4788,"tags":["AM","flag"],"version":2,"annotation":"flag: Armenia","shortcodes":["armenia","flag_am"]},{"emoji":"🇦🇴","group":9,"order":4789,"tags":["AO","flag"],"version":2,"annotation":"flag: Angola","shortcodes":["angola","flag_ao"]},{"emoji":"🇦🇶","group":9,"order":4790,"tags":["AQ","flag"],"version":2,"annotation":"flag: Antarctica","shortcodes":["antarctica","flag_aq"]},{"emoji":"🇦🇷","group":9,"order":4791,"tags":["AR","flag"],"version":2,"annotation":"flag: Argentina","shortcodes":["argentina","flag_ar"]},{"emoji":"🇦🇸","group":9,"order":4792,"tags":["AS","flag"],"version":2,"annotation":"flag: American Samoa","shortcodes":["american_samoa","flag_as"]},{"emoji":"🇦🇹","group":9,"order":4793,"tags":["AT","flag"],"version":2,"annotation":"flag: Austria","shortcodes":["austria","flag_at"]},{"emoji":"🇦🇺","group":9,"order":4794,"tags":["AU","flag"],"version":2,"annotation":"flag: Australia","shortcodes":["australia","flag_au"]},{"emoji":"🇦🇼","group":9,"order":4795,"tags":["AW","flag"],"version":2,"annotation":"flag: Aruba","shortcodes":["aruba","flag_aw"]},{"emoji":"🇦🇽","group":9,"order":4796,"tags":["AX","flag"],"version":2,"annotation":"flag: Åland Islands","shortcodes":["aland_islands","flag_ax"]},{"emoji":"🇦🇿","group":9,"order":4797,"tags":["AZ","flag"],"version":2,"annotation":"flag: Azerbaijan","shortcodes":["azerbaijan","flag_az"]},{"emoji":"🇧🇦","group":9,"order":4798,"tags":["BA","flag"],"version":2,"annotation":"flag: Bosnia & Herzegovina","shortcodes":["bosnia_herzegovina","flag_ba"]},{"emoji":"🇧🇧","group":9,"order":4799,"tags":["BB","flag"],"version":2,"annotation":"flag: Barbados","shortcodes":["barbados","flag_bb"]},{"emoji":"🇧🇩","group":9,"order":4800,"tags":["BD","flag"],"version":2,"annotation":"flag: Bangladesh","shortcodes":["bangladesh","flag_bd"]},{"emoji":"🇧🇪","group":9,"order":4801,"tags":["BE","flag"],"version":2,"annotation":"flag: Belgium","shortcodes":["belgium","flag_be"]},{"emoji":"🇧🇫","group":9,"order":4802,"tags":["BF","flag"],"version":2,"annotation":"flag: Burkina Faso","shortcodes":["burkina_faso","flag_bf"]},{"emoji":"🇧🇬","group":9,"order":4803,"tags":["BG","flag"],"version":2,"annotation":"flag: Bulgaria","shortcodes":["bulgaria","flag_bg"]},{"emoji":"🇧🇭","group":9,"order":4804,"tags":["BH","flag"],"version":2,"annotation":"flag: Bahrain","shortcodes":["bahrain","flag_bh"]},{"emoji":"🇧🇮","group":9,"order":4805,"tags":["BI","flag"],"version":2,"annotation":"flag: Burundi","shortcodes":["burundi","flag_bi"]},{"emoji":"🇧🇯","group":9,"order":4806,"tags":["BJ","flag"],"version":2,"annotation":"flag: Benin","shortcodes":["benin","flag_bj"]},{"emoji":"🇧🇱","group":9,"order":4807,"tags":["BL","flag"],"version":2,"annotation":"flag: St. Barthélemy","shortcodes":["flag_bl","st_barthelemy"]},{"emoji":"🇧🇲","group":9,"order":4808,"tags":["BM","flag"],"version":2,"annotation":"flag: Bermuda","shortcodes":["bermuda","flag_bm"]},{"emoji":"🇧🇳","group":9,"order":4809,"tags":["BN","flag"],"version":2,"annotation":"flag: Brunei","shortcodes":["brunei","flag_bn"]},{"emoji":"🇧🇴","group":9,"order":4810,"tags":["BO","flag"],"version":2,"annotation":"flag: Bolivia","shortcodes":["bolivia","flag_bo"]},{"emoji":"🇧🇶","group":9,"order":4811,"tags":["BQ","flag"],"version":2,"annotation":"flag: Caribbean Netherlands","shortcodes":["caribbean_netherlands","flag_bq"]},{"emoji":"🇧🇷","group":9,"order":4812,"tags":["BR","flag"],"version":2,"annotation":"flag: Brazil","shortcodes":["brazil","flag_br"]},{"emoji":"🇧🇸","group":9,"order":4813,"tags":["BS","flag"],"version":2,"annotation":"flag: Bahamas","shortcodes":["bahamas","flag_bs"]},{"emoji":"🇧🇹","group":9,"order":4814,"tags":["BT","flag"],"version":2,"annotation":"flag: Bhutan","shortcodes":["bhutan","flag_bt"]},{"emoji":"🇧🇻","group":9,"order":4815,"tags":["BV","flag"],"version":2,"annotation":"flag: Bouvet Island","shortcodes":["bouvet_island","flag_bv"]},{"emoji":"🇧🇼","group":9,"order":4816,"tags":["BW","flag"],"version":2,"annotation":"flag: Botswana","shortcodes":["botswana","flag_bw"]},{"emoji":"🇧🇾","group":9,"order":4817,"tags":["BY","flag"],"version":2,"annotation":"flag: Belarus","shortcodes":["belarus","flag_by"]},{"emoji":"🇧🇿","group":9,"order":4818,"tags":["BZ","flag"],"version":2,"annotation":"flag: Belize","shortcodes":["belize","flag_bz"]},{"emoji":"🇨🇦","group":9,"order":4819,"tags":["CA","flag"],"version":2,"annotation":"flag: Canada","shortcodes":["canada","flag_ca"]},{"emoji":"🇨🇨","group":9,"order":4820,"tags":["CC","flag"],"version":2,"annotation":"flag: Cocos (Keeling) Islands","shortcodes":["cocos_islands","flag_cc"]},{"emoji":"🇨🇩","group":9,"order":4821,"tags":["CD","flag"],"version":2,"annotation":"flag: Congo - Kinshasa","shortcodes":["congo_kinshasa","flag_cd"]},{"emoji":"🇨🇫","group":9,"order":4822,"tags":["CF","flag"],"version":2,"annotation":"flag: Central African Republic","shortcodes":["central_african_republic","flag_cf"]},{"emoji":"🇨🇬","group":9,"order":4823,"tags":["CG","flag"],"version":2,"annotation":"flag: Congo - Brazzaville","shortcodes":["congo_brazzaville","flag_cg"]},{"emoji":"🇨🇭","group":9,"order":4824,"tags":["CH","flag"],"version":2,"annotation":"flag: Switzerland","shortcodes":["flag_ch","switzerland"]},{"emoji":"🇨🇮","group":9,"order":4825,"tags":["CI","flag"],"version":2,"annotation":"flag: Côte d’Ivoire","shortcodes":["cote_divoire","flag_ci"]},{"emoji":"🇨🇰","group":9,"order":4826,"tags":["CK","flag"],"version":2,"annotation":"flag: Cook Islands","shortcodes":["cook_islands","flag_ck"]},{"emoji":"🇨🇱","group":9,"order":4827,"tags":["CL","flag"],"version":2,"annotation":"flag: Chile","shortcodes":["chile","flag_cl"]},{"emoji":"🇨🇲","group":9,"order":4828,"tags":["CM","flag"],"version":2,"annotation":"flag: Cameroon","shortcodes":["cameroon","flag_cm"]},{"emoji":"🇨🇳","group":9,"order":4829,"tags":["CN","flag"],"version":0.6,"annotation":"flag: China","shortcodes":["china","flag_cn"]},{"emoji":"🇨🇴","group":9,"order":4830,"tags":["CO","flag"],"version":2,"annotation":"flag: Colombia","shortcodes":["colombia","flag_co"]},{"emoji":"🇨🇵","group":9,"order":4831,"tags":["CP","flag"],"version":2,"annotation":"flag: Clipperton Island","shortcodes":["clipperton_island","flag_cp"]},{"emoji":"🇨🇶","group":9,"order":4832,"tags":["CQ","flag"],"version":16,"annotation":"flag: Sark","shortcodes":["flag_cq","sark"]},{"emoji":"🇨🇷","group":9,"order":4833,"tags":["CR","flag"],"version":2,"annotation":"flag: Costa Rica","shortcodes":["costa_rica","flag_cr"]},{"emoji":"🇨🇺","group":9,"order":4834,"tags":["CU","flag"],"version":2,"annotation":"flag: Cuba","shortcodes":["cuba","flag_cu"]},{"emoji":"🇨🇻","group":9,"order":4835,"tags":["CV","flag"],"version":2,"annotation":"flag: Cape Verde","shortcodes":["cape_verde","flag_cv"]},{"emoji":"🇨🇼","group":9,"order":4836,"tags":["CW","flag"],"version":2,"annotation":"flag: Curaçao","shortcodes":["curacao","flag_cw"]},{"emoji":"🇨🇽","group":9,"order":4837,"tags":["CX","flag"],"version":2,"annotation":"flag: Christmas Island","shortcodes":["christmas_island","flag_cx"]},{"emoji":"🇨🇾","group":9,"order":4838,"tags":["CY","flag"],"version":2,"annotation":"flag: Cyprus","shortcodes":["cyprus","flag_cy"]},{"emoji":"🇨🇿","group":9,"order":4839,"tags":["CZ","flag"],"version":2,"annotation":"flag: Czechia","shortcodes":["czech_republic","czechia","flag_cz"]},{"emoji":"🇩🇪","group":9,"order":4840,"tags":["DE","flag"],"version":0.6,"annotation":"flag: Germany","shortcodes":["flag_de","germany"]},{"emoji":"🇩🇬","group":9,"order":4841,"tags":["DG","flag"],"version":2,"annotation":"flag: Diego Garcia","shortcodes":["diego_garcia","flag_dg"]},{"emoji":"🇩🇯","group":9,"order":4842,"tags":["DJ","flag"],"version":2,"annotation":"flag: Djibouti","shortcodes":["djibouti","flag_dj"]},{"emoji":"🇩🇰","group":9,"order":4843,"tags":["DK","flag"],"version":2,"annotation":"flag: Denmark","shortcodes":["denmark","flag_dk"]},{"emoji":"🇩🇲","group":9,"order":4844,"tags":["DM","flag"],"version":2,"annotation":"flag: Dominica","shortcodes":["dominica","flag_dm"]},{"emoji":"🇩🇴","group":9,"order":4845,"tags":["DO","flag"],"version":2,"annotation":"flag: Dominican Republic","shortcodes":["dominican_republic","flag_do"]},{"emoji":"🇩🇿","group":9,"order":4846,"tags":["DZ","flag"],"version":2,"annotation":"flag: Algeria","shortcodes":["algeria","flag_dz"]},{"emoji":"🇪🇦","group":9,"order":4847,"tags":["EA","flag"],"version":2,"annotation":"flag: Ceuta & Melilla","shortcodes":["ceuta_melilla","flag_ea"]},{"emoji":"🇪🇨","group":9,"order":4848,"tags":["EC","flag"],"version":2,"annotation":"flag: Ecuador","shortcodes":["ecuador","flag_ec"]},{"emoji":"🇪🇪","group":9,"order":4849,"tags":["EE","flag"],"version":2,"annotation":"flag: Estonia","shortcodes":["estonia","flag_ee"]},{"emoji":"🇪🇬","group":9,"order":4850,"tags":["EG","flag"],"version":2,"annotation":"flag: Egypt","shortcodes":["egypt","flag_eg"]},{"emoji":"🇪🇭","group":9,"order":4851,"tags":["EH","flag"],"version":2,"annotation":"flag: Western Sahara","shortcodes":["flag_eh","western_sahara"]},{"emoji":"🇪🇷","group":9,"order":4852,"tags":["ER","flag"],"version":2,"annotation":"flag: Eritrea","shortcodes":["eritrea","flag_er"]},{"emoji":"🇪🇸","group":9,"order":4853,"tags":["ES","flag"],"version":0.6,"annotation":"flag: Spain","shortcodes":["flag_es","spain"]},{"emoji":"🇪🇹","group":9,"order":4854,"tags":["ET","flag"],"version":2,"annotation":"flag: Ethiopia","shortcodes":["ethiopia","flag_et"]},{"emoji":"🇪🇺","group":9,"order":4855,"tags":["EU","flag"],"version":2,"annotation":"flag: European Union","shortcodes":["european_union","flag_eu"]},{"emoji":"🇫🇮","group":9,"order":4856,"tags":["FI","flag"],"version":2,"annotation":"flag: Finland","shortcodes":["finland","flag_fi"]},{"emoji":"🇫🇯","group":9,"order":4857,"tags":["FJ","flag"],"version":2,"annotation":"flag: Fiji","shortcodes":["fiji","flag_fj"]},{"emoji":"🇫🇰","group":9,"order":4858,"tags":["FK","flag"],"version":2,"annotation":"flag: Falkland Islands","shortcodes":["falkland_islands","flag_fk"]},{"emoji":"🇫🇲","group":9,"order":4859,"tags":["FM","flag"],"version":2,"annotation":"flag: Micronesia","shortcodes":["flag_fm","micronesia"]},{"emoji":"🇫🇴","group":9,"order":4860,"tags":["FO","flag"],"version":2,"annotation":"flag: Faroe Islands","shortcodes":["faroe_islands","flag_fo"]},{"emoji":"🇫🇷","group":9,"order":4861,"tags":["FR","flag"],"version":0.6,"annotation":"flag: France","shortcodes":["flag_fr","france"]},{"emoji":"🇬🇦","group":9,"order":4862,"tags":["GA","flag"],"version":2,"annotation":"flag: Gabon","shortcodes":["flag_ga","gabon"]},{"emoji":"🇬🇧","group":9,"order":4863,"tags":["GB","flag"],"version":0.6,"annotation":"flag: United Kingdom","shortcodes":["flag_gb","uk","united_kingdom"]},{"emoji":"🇬🇩","group":9,"order":4864,"tags":["GD","flag"],"version":2,"annotation":"flag: Grenada","shortcodes":["flag_gd","grenada"]},{"emoji":"🇬🇪","group":9,"order":4865,"tags":["GE","flag"],"version":2,"annotation":"flag: Georgia","shortcodes":["flag_ge","georgia"]},{"emoji":"🇬🇫","group":9,"order":4866,"tags":["GF","flag"],"version":2,"annotation":"flag: French Guiana","shortcodes":["flag_gf","french_guiana"]},{"emoji":"🇬🇬","group":9,"order":4867,"tags":["GG","flag"],"version":2,"annotation":"flag: Guernsey","shortcodes":["flag_gg","guernsey"]},{"emoji":"🇬🇭","group":9,"order":4868,"tags":["GH","flag"],"version":2,"annotation":"flag: Ghana","shortcodes":["flag_gh","ghana"]},{"emoji":"🇬🇮","group":9,"order":4869,"tags":["GI","flag"],"version":2,"annotation":"flag: Gibraltar","shortcodes":["flag_gi","gibraltar"]},{"emoji":"🇬🇱","group":9,"order":4870,"tags":["GL","flag"],"version":2,"annotation":"flag: Greenland","shortcodes":["flag_gl","greenland"]},{"emoji":"🇬🇲","group":9,"order":4871,"tags":["GM","flag"],"version":2,"annotation":"flag: Gambia","shortcodes":["flag_gm","gambia"]},{"emoji":"🇬🇳","group":9,"order":4872,"tags":["GN","flag"],"version":2,"annotation":"flag: Guinea","shortcodes":["flag_gn","guinea"]},{"emoji":"🇬🇵","group":9,"order":4873,"tags":["GP","flag"],"version":2,"annotation":"flag: Guadeloupe","shortcodes":["flag_gp","guadeloupe"]},{"emoji":"🇬🇶","group":9,"order":4874,"tags":["GQ","flag"],"version":2,"annotation":"flag: Equatorial Guinea","shortcodes":["equatorial_guinea","flag_gq"]},{"emoji":"🇬🇷","group":9,"order":4875,"tags":["GR","flag"],"version":2,"annotation":"flag: Greece","shortcodes":["flag_gr","greece"]},{"emoji":"🇬🇸","group":9,"order":4876,"tags":["GS","flag"],"version":2,"annotation":"flag: South Georgia & South Sandwich Islands","shortcodes":["flag_gs","south_georgia_south_sandwich_islands"]},{"emoji":"🇬🇹","group":9,"order":4877,"tags":["GT","flag"],"version":2,"annotation":"flag: Guatemala","shortcodes":["flag_gt","guatemala"]},{"emoji":"🇬🇺","group":9,"order":4878,"tags":["GU","flag"],"version":2,"annotation":"flag: Guam","shortcodes":["flag_gu","guam"]},{"emoji":"🇬🇼","group":9,"order":4879,"tags":["GW","flag"],"version":2,"annotation":"flag: Guinea-Bissau","shortcodes":["flag_gw","guinea_bissau"]},{"emoji":"🇬🇾","group":9,"order":4880,"tags":["GY","flag"],"version":2,"annotation":"flag: Guyana","shortcodes":["flag_gy","guyana"]},{"emoji":"🇭🇰","group":9,"order":4881,"tags":["HK","flag"],"version":2,"annotation":"flag: Hong Kong SAR China","shortcodes":["flag_hk","hong_kong"]},{"emoji":"🇭🇲","group":9,"order":4882,"tags":["HM","flag"],"version":2,"annotation":"flag: Heard & McDonald Islands","shortcodes":["flag_hm","heard_mcdonald_islands"]},{"emoji":"🇭🇳","group":9,"order":4883,"tags":["HN","flag"],"version":2,"annotation":"flag: Honduras","shortcodes":["flag_hn","honduras"]},{"emoji":"🇭🇷","group":9,"order":4884,"tags":["HR","flag"],"version":2,"annotation":"flag: Croatia","shortcodes":["croatia","flag_hr"]},{"emoji":"🇭🇹","group":9,"order":4885,"tags":["HT","flag"],"version":2,"annotation":"flag: Haiti","shortcodes":["flag_ht","haiti"]},{"emoji":"🇭🇺","group":9,"order":4886,"tags":["HU","flag"],"version":2,"annotation":"flag: Hungary","shortcodes":["flag_hu","hungary"]},{"emoji":"🇮🇨","group":9,"order":4887,"tags":["IC","flag"],"version":2,"annotation":"flag: Canary Islands","shortcodes":["canary_islands","flag_ic"]},{"emoji":"🇮🇩","group":9,"order":4888,"tags":["ID","flag"],"version":2,"annotation":"flag: Indonesia","shortcodes":["flag_id","indonesia"]},{"emoji":"🇮🇪","group":9,"order":4889,"tags":["IE","flag"],"version":2,"annotation":"flag: Ireland","shortcodes":["flag_ie","ireland"]},{"emoji":"🇮🇱","group":9,"order":4890,"tags":["IL","flag"],"version":2,"annotation":"flag: Israel","shortcodes":["flag_il","israel"]},{"emoji":"🇮🇲","group":9,"order":4891,"tags":["IM","flag"],"version":2,"annotation":"flag: Isle of Man","shortcodes":["flag_im","isle_of_man"]},{"emoji":"🇮🇳","group":9,"order":4892,"tags":["IN","flag"],"version":2,"annotation":"flag: India","shortcodes":["flag_in","india"]},{"emoji":"🇮🇴","group":9,"order":4893,"tags":["IO","flag"],"version":2,"annotation":"flag: British Indian Ocean Territory","shortcodes":["british_indian_ocean_territory","flag_io"]},{"emoji":"🇮🇶","group":9,"order":4894,"tags":["IQ","flag"],"version":2,"annotation":"flag: Iraq","shortcodes":["flag_iq","iraq"]},{"emoji":"🇮🇷","group":9,"order":4895,"tags":["IR","flag"],"version":2,"annotation":"flag: Iran","shortcodes":["flag_ir","iran"]},{"emoji":"🇮🇸","group":9,"order":4896,"tags":["IS","flag"],"version":2,"annotation":"flag: Iceland","shortcodes":["flag_is","iceland"]},{"emoji":"🇮🇹","group":9,"order":4897,"tags":["IT","flag"],"version":0.6,"annotation":"flag: Italy","shortcodes":["flag_it","italy"]},{"emoji":"🇯🇪","group":9,"order":4898,"tags":["JE","flag"],"version":2,"annotation":"flag: Jersey","shortcodes":["flag_je","jersey"]},{"emoji":"🇯🇲","group":9,"order":4899,"tags":["JM","flag"],"version":2,"annotation":"flag: Jamaica","shortcodes":["flag_jm","jamaica"]},{"emoji":"🇯🇴","group":9,"order":4900,"tags":["JO","flag"],"version":2,"annotation":"flag: Jordan","shortcodes":["flag_jo","jordan"]},{"emoji":"🇯🇵","group":9,"order":4901,"tags":["JP","flag"],"version":0.6,"annotation":"flag: Japan","shortcodes":["flag_jp","japan"]},{"emoji":"🇰🇪","group":9,"order":4902,"tags":["KE","flag"],"version":2,"annotation":"flag: Kenya","shortcodes":["flag_ke","kenya"]},{"emoji":"🇰🇬","group":9,"order":4903,"tags":["KG","flag"],"version":2,"annotation":"flag: Kyrgyzstan","shortcodes":["flag_kg","kyrgyzstan"]},{"emoji":"🇰🇭","group":9,"order":4904,"tags":["KH","flag"],"version":2,"annotation":"flag: Cambodia","shortcodes":["cambodia","flag_kh"]},{"emoji":"🇰🇮","group":9,"order":4905,"tags":["KI","flag"],"version":2,"annotation":"flag: Kiribati","shortcodes":["flag_ki","kiribati"]},{"emoji":"🇰🇲","group":9,"order":4906,"tags":["KM","flag"],"version":2,"annotation":"flag: Comoros","shortcodes":["comoros","flag_km"]},{"emoji":"🇰🇳","group":9,"order":4907,"tags":["KN","flag"],"version":2,"annotation":"flag: St. Kitts & Nevis","shortcodes":["flag_kn","st_kitts_nevis"]},{"emoji":"🇰🇵","group":9,"order":4908,"tags":["KP","flag"],"version":2,"annotation":"flag: North Korea","shortcodes":["flag_kp","north_korea"]},{"emoji":"🇰🇷","group":9,"order":4909,"tags":["KR","flag"],"version":0.6,"annotation":"flag: South Korea","shortcodes":["flag_kr","south_korea"]},{"emoji":"🇰🇼","group":9,"order":4910,"tags":["KW","flag"],"version":2,"annotation":"flag: Kuwait","shortcodes":["flag_kw","kuwait"]},{"emoji":"🇰🇾","group":9,"order":4911,"tags":["KY","flag"],"version":2,"annotation":"flag: Cayman Islands","shortcodes":["cayman_islands","flag_ky"]},{"emoji":"🇰🇿","group":9,"order":4912,"tags":["KZ","flag"],"version":2,"annotation":"flag: Kazakhstan","shortcodes":["flag_kz","kazakhstan"]},{"emoji":"🇱🇦","group":9,"order":4913,"tags":["LA","flag"],"version":2,"annotation":"flag: Laos","shortcodes":["flag_la","laos"]},{"emoji":"🇱🇧","group":9,"order":4914,"tags":["LB","flag"],"version":2,"annotation":"flag: Lebanon","shortcodes":["flag_lb","lebanon"]},{"emoji":"🇱🇨","group":9,"order":4915,"tags":["LC","flag"],"version":2,"annotation":"flag: St. Lucia","shortcodes":["flag_lc","st_lucia"]},{"emoji":"🇱🇮","group":9,"order":4916,"tags":["LI","flag"],"version":2,"annotation":"flag: Liechtenstein","shortcodes":["flag_li","liechtenstein"]},{"emoji":"🇱🇰","group":9,"order":4917,"tags":["LK","flag"],"version":2,"annotation":"flag: Sri Lanka","shortcodes":["flag_lk","sri_lanka"]},{"emoji":"🇱🇷","group":9,"order":4918,"tags":["LR","flag"],"version":2,"annotation":"flag: Liberia","shortcodes":["flag_lr","liberia"]},{"emoji":"🇱🇸","group":9,"order":4919,"tags":["LS","flag"],"version":2,"annotation":"flag: Lesotho","shortcodes":["flag_ls","lesotho"]},{"emoji":"🇱🇹","group":9,"order":4920,"tags":["LT","flag"],"version":2,"annotation":"flag: Lithuania","shortcodes":["flag_lt","lithuania"]},{"emoji":"🇱🇺","group":9,"order":4921,"tags":["LU","flag"],"version":2,"annotation":"flag: Luxembourg","shortcodes":["flag_lu","luxembourg"]},{"emoji":"🇱🇻","group":9,"order":4922,"tags":["LV","flag"],"version":2,"annotation":"flag: Latvia","shortcodes":["flag_lv","latvia"]},{"emoji":"🇱🇾","group":9,"order":4923,"tags":["LY","flag"],"version":2,"annotation":"flag: Libya","shortcodes":["flag_ly","libya"]},{"emoji":"🇲🇦","group":9,"order":4924,"tags":["MA","flag"],"version":2,"annotation":"flag: Morocco","shortcodes":["flag_ma","morocco"]},{"emoji":"🇲🇨","group":9,"order":4925,"tags":["MC","flag"],"version":2,"annotation":"flag: Monaco","shortcodes":["flag_mc","monaco"]},{"emoji":"🇲🇩","group":9,"order":4926,"tags":["MD","flag"],"version":2,"annotation":"flag: Moldova","shortcodes":["flag_md","moldova"]},{"emoji":"🇲🇪","group":9,"order":4927,"tags":["ME","flag"],"version":2,"annotation":"flag: Montenegro","shortcodes":["flag_me","montenegro"]},{"emoji":"🇲🇫","group":9,"order":4928,"tags":["MF","flag"],"version":2,"annotation":"flag: St. Martin","shortcodes":["flag_mf","st_martin"]},{"emoji":"🇲🇬","group":9,"order":4929,"tags":["MG","flag"],"version":2,"annotation":"flag: Madagascar","shortcodes":["flag_mg","madagascar"]},{"emoji":"🇲🇭","group":9,"order":4930,"tags":["MH","flag"],"version":2,"annotation":"flag: Marshall Islands","shortcodes":["flag_mh","marshall_islands"]},{"emoji":"🇲🇰","group":9,"order":4931,"tags":["MK","flag"],"version":2,"annotation":"flag: North Macedonia","shortcodes":["flag_mk","macedonia"]},{"emoji":"🇲🇱","group":9,"order":4932,"tags":["ML","flag"],"version":2,"annotation":"flag: Mali","shortcodes":["flag_ml","mali"]},{"emoji":"🇲🇲","group":9,"order":4933,"tags":["MM","flag"],"version":2,"annotation":"flag: Myanmar (Burma)","shortcodes":["burma","flag_mm","myanmar"]},{"emoji":"🇲🇳","group":9,"order":4934,"tags":["MN","flag"],"version":2,"annotation":"flag: Mongolia","shortcodes":["flag_mn","mongolia"]},{"emoji":"🇲🇴","group":9,"order":4935,"tags":["MO","flag"],"version":2,"annotation":"flag: Macao SAR China","shortcodes":["flag_mo","macao","macau"]},{"emoji":"🇲🇵","group":9,"order":4936,"tags":["MP","flag"],"version":2,"annotation":"flag: Northern Mariana Islands","shortcodes":["flag_mp","northern_mariana_islands"]},{"emoji":"🇲🇶","group":9,"order":4937,"tags":["MQ","flag"],"version":2,"annotation":"flag: Martinique","shortcodes":["flag_mq","martinique"]},{"emoji":"🇲🇷","group":9,"order":4938,"tags":["MR","flag"],"version":2,"annotation":"flag: Mauritania","shortcodes":["flag_mr","mauritania"]},{"emoji":"🇲🇸","group":9,"order":4939,"tags":["MS","flag"],"version":2,"annotation":"flag: Montserrat","shortcodes":["flag_ms","montserrat"]},{"emoji":"🇲🇹","group":9,"order":4940,"tags":["MT","flag"],"version":2,"annotation":"flag: Malta","shortcodes":["flag_mt","malta"]},{"emoji":"🇲🇺","group":9,"order":4941,"tags":["MU","flag"],"version":2,"annotation":"flag: Mauritius","shortcodes":["flag_mu","mauritius"]},{"emoji":"🇲🇻","group":9,"order":4942,"tags":["MV","flag"],"version":2,"annotation":"flag: Maldives","shortcodes":["flag_mv","maldives"]},{"emoji":"🇲🇼","group":9,"order":4943,"tags":["MW","flag"],"version":2,"annotation":"flag: Malawi","shortcodes":["flag_mw","malawi"]},{"emoji":"🇲🇽","group":9,"order":4944,"tags":["MX","flag"],"version":2,"annotation":"flag: Mexico","shortcodes":["flag_mx","mexico"]},{"emoji":"🇲🇾","group":9,"order":4945,"tags":["MY","flag"],"version":2,"annotation":"flag: Malaysia","shortcodes":["flag_my","malaysia"]},{"emoji":"🇲🇿","group":9,"order":4946,"tags":["MZ","flag"],"version":2,"annotation":"flag: Mozambique","shortcodes":["flag_mz","mozambique"]},{"emoji":"🇳🇦","group":9,"order":4947,"tags":["NA","flag"],"version":2,"annotation":"flag: Namibia","shortcodes":["flag_na","namibia"]},{"emoji":"🇳🇨","group":9,"order":4948,"tags":["NC","flag"],"version":2,"annotation":"flag: New Caledonia","shortcodes":["flag_nc","new_caledonia"]},{"emoji":"🇳🇪","group":9,"order":4949,"tags":["NE","flag"],"version":2,"annotation":"flag: Niger","shortcodes":["flag_ne","niger"]},{"emoji":"🇳🇫","group":9,"order":4950,"tags":["NF","flag"],"version":2,"annotation":"flag: Norfolk Island","shortcodes":["flag_nf","norfolk_island"]},{"emoji":"🇳🇬","group":9,"order":4951,"tags":["NG","flag"],"version":2,"annotation":"flag: Nigeria","shortcodes":["flag_ng","nigeria"]},{"emoji":"🇳🇮","group":9,"order":4952,"tags":["NI","flag"],"version":2,"annotation":"flag: Nicaragua","shortcodes":["flag_ni","nicaragua"]},{"emoji":"🇳🇱","group":9,"order":4953,"tags":["NL","flag"],"version":2,"annotation":"flag: Netherlands","shortcodes":["flag_nl","netherlands"]},{"emoji":"🇳🇴","group":9,"order":4954,"tags":["NO","flag"],"version":2,"annotation":"flag: Norway","shortcodes":["flag_no","norway"]},{"emoji":"🇳🇵","group":9,"order":4955,"tags":["NP","flag"],"version":2,"annotation":"flag: Nepal","shortcodes":["flag_np","nepal"]},{"emoji":"🇳🇷","group":9,"order":4956,"tags":["NR","flag"],"version":2,"annotation":"flag: Nauru","shortcodes":["flag_nr","nauru"]},{"emoji":"🇳🇺","group":9,"order":4957,"tags":["NU","flag"],"version":2,"annotation":"flag: Niue","shortcodes":["flag_nu","niue"]},{"emoji":"🇳🇿","group":9,"order":4958,"tags":["NZ","flag"],"version":2,"annotation":"flag: New Zealand","shortcodes":["flag_nz","new_zealand"]},{"emoji":"🇴🇲","group":9,"order":4959,"tags":["OM","flag"],"version":2,"annotation":"flag: Oman","shortcodes":["flag_om","oman"]},{"emoji":"🇵🇦","group":9,"order":4960,"tags":["PA","flag"],"version":2,"annotation":"flag: Panama","shortcodes":["flag_pa","panama"]},{"emoji":"🇵🇪","group":9,"order":4961,"tags":["PE","flag"],"version":2,"annotation":"flag: Peru","shortcodes":["flag_pe","peru"]},{"emoji":"🇵🇫","group":9,"order":4962,"tags":["PF","flag"],"version":2,"annotation":"flag: French Polynesia","shortcodes":["flag_pf","french_polynesia"]},{"emoji":"🇵🇬","group":9,"order":4963,"tags":["PG","flag"],"version":2,"annotation":"flag: Papua New Guinea","shortcodes":["flag_pg","papua_new_guinea"]},{"emoji":"🇵🇭","group":9,"order":4964,"tags":["PH","flag"],"version":2,"annotation":"flag: Philippines","shortcodes":["flag_ph","philippines"]},{"emoji":"🇵🇰","group":9,"order":4965,"tags":["PK","flag"],"version":2,"annotation":"flag: Pakistan","shortcodes":["flag_pk","pakistan"]},{"emoji":"🇵🇱","group":9,"order":4966,"tags":["PL","flag"],"version":2,"annotation":"flag: Poland","shortcodes":["flag_pl","poland"]},{"emoji":"🇵🇲","group":9,"order":4967,"tags":["PM","flag"],"version":2,"annotation":"flag: St. Pierre & Miquelon","shortcodes":["flag_pm","st_pierre_miquelon"]},{"emoji":"🇵🇳","group":9,"order":4968,"tags":["PN","flag"],"version":2,"annotation":"flag: Pitcairn Islands","shortcodes":["flag_pn","pitcairn_islands"]},{"emoji":"🇵🇷","group":9,"order":4969,"tags":["PR","flag"],"version":2,"annotation":"flag: Puerto Rico","shortcodes":["flag_pr","puerto_rico"]},{"emoji":"🇵🇸","group":9,"order":4970,"tags":["PS","flag"],"version":2,"annotation":"flag: Palestinian Territories","shortcodes":["flag_ps","palestinian_territories"]},{"emoji":"🇵🇹","group":9,"order":4971,"tags":["PT","flag"],"version":2,"annotation":"flag: Portugal","shortcodes":["flag_pt","portugal"]},{"emoji":"🇵🇼","group":9,"order":4972,"tags":["PW","flag"],"version":2,"annotation":"flag: Palau","shortcodes":["flag_pw","palau"]},{"emoji":"🇵🇾","group":9,"order":4973,"tags":["PY","flag"],"version":2,"annotation":"flag: Paraguay","shortcodes":["flag_py","paraguay"]},{"emoji":"🇶🇦","group":9,"order":4974,"tags":["QA","flag"],"version":2,"annotation":"flag: Qatar","shortcodes":["flag_qa","qatar"]},{"emoji":"🇷🇪","group":9,"order":4975,"tags":["RE","flag"],"version":2,"annotation":"flag: Réunion","shortcodes":["flag_re","reunion"]},{"emoji":"🇷🇴","group":9,"order":4976,"tags":["RO","flag"],"version":2,"annotation":"flag: Romania","shortcodes":["flag_ro","romania"]},{"emoji":"🇷🇸","group":9,"order":4977,"tags":["RS","flag"],"version":2,"annotation":"flag: Serbia","shortcodes":["flag_rs","serbia"]},{"emoji":"🇷🇺","group":9,"order":4978,"tags":["RU","flag"],"version":0.6,"annotation":"flag: Russia","shortcodes":["flag_ru","russia"]},{"emoji":"🇷🇼","group":9,"order":4979,"tags":["RW","flag"],"version":2,"annotation":"flag: Rwanda","shortcodes":["flag_rw","rwanda"]},{"emoji":"🇸🇦","group":9,"order":4980,"tags":["SA","flag"],"version":2,"annotation":"flag: Saudi Arabia","shortcodes":["flag_sa","saudi_arabia"]},{"emoji":"🇸🇧","group":9,"order":4981,"tags":["SB","flag"],"version":2,"annotation":"flag: Solomon Islands","shortcodes":["flag_sb","solomon_islands"]},{"emoji":"🇸🇨","group":9,"order":4982,"tags":["SC","flag"],"version":2,"annotation":"flag: Seychelles","shortcodes":["flag_sc","seychelles"]},{"emoji":"🇸🇩","group":9,"order":4983,"tags":["SD","flag"],"version":2,"annotation":"flag: Sudan","shortcodes":["flag_sd","sudan"]},{"emoji":"🇸🇪","group":9,"order":4984,"tags":["SE","flag"],"version":2,"annotation":"flag: Sweden","shortcodes":["flag_se","sweden"]},{"emoji":"🇸🇬","group":9,"order":4985,"tags":["SG","flag"],"version":2,"annotation":"flag: Singapore","shortcodes":["flag_sg","singapore"]},{"emoji":"🇸🇭","group":9,"order":4986,"tags":["SH","flag"],"version":2,"annotation":"flag: St. Helena","shortcodes":["flag_sh","st_helena"]},{"emoji":"🇸🇮","group":9,"order":4987,"tags":["SI","flag"],"version":2,"annotation":"flag: Slovenia","shortcodes":["flag_si","slovenia"]},{"emoji":"🇸🇯","group":9,"order":4988,"tags":["SJ","flag"],"version":2,"annotation":"flag: Svalbard & Jan Mayen","shortcodes":["flag_sj","svalbard_jan_mayen"]},{"emoji":"🇸🇰","group":9,"order":4989,"tags":["SK","flag"],"version":2,"annotation":"flag: Slovakia","shortcodes":["flag_sk","slovakia"]},{"emoji":"🇸🇱","group":9,"order":4990,"tags":["SL","flag"],"version":2,"annotation":"flag: Sierra Leone","shortcodes":["flag_sl","sierra_leone"]},{"emoji":"🇸🇲","group":9,"order":4991,"tags":["SM","flag"],"version":2,"annotation":"flag: San Marino","shortcodes":["flag_sm","san_marino"]},{"emoji":"🇸🇳","group":9,"order":4992,"tags":["SN","flag"],"version":2,"annotation":"flag: Senegal","shortcodes":["flag_sn","senegal"]},{"emoji":"🇸🇴","group":9,"order":4993,"tags":["SO","flag"],"version":2,"annotation":"flag: Somalia","shortcodes":["flag_so","somalia"]},{"emoji":"🇸🇷","group":9,"order":4994,"tags":["SR","flag"],"version":2,"annotation":"flag: Suriname","shortcodes":["flag_sr","suriname"]},{"emoji":"🇸🇸","group":9,"order":4995,"tags":["SS","flag"],"version":2,"annotation":"flag: South Sudan","shortcodes":["flag_ss","south_sudan"]},{"emoji":"🇸🇹","group":9,"order":4996,"tags":["ST","flag"],"version":2,"annotation":"flag: São Tomé & Príncipe","shortcodes":["flag_st","sao_tome_principe"]},{"emoji":"🇸🇻","group":9,"order":4997,"tags":["SV","flag"],"version":2,"annotation":"flag: El Salvador","shortcodes":["el_salvador","flag_sv"]},{"emoji":"🇸🇽","group":9,"order":4998,"tags":["SX","flag"],"version":2,"annotation":"flag: Sint Maarten","shortcodes":["flag_sx","sint_maarten"]},{"emoji":"🇸🇾","group":9,"order":4999,"tags":["SY","flag"],"version":2,"annotation":"flag: Syria","shortcodes":["flag_sy","syria"]},{"emoji":"🇸🇿","group":9,"order":5000,"tags":["SZ","flag"],"version":2,"annotation":"flag: Eswatini","shortcodes":["eswatini","flag_sz","swaziland"]},{"emoji":"🇹🇦","group":9,"order":5001,"tags":["TA","flag"],"version":2,"annotation":"flag: Tristan da Cunha","shortcodes":["flag_ta","tristan_da_cunha"]},{"emoji":"🇹🇨","group":9,"order":5002,"tags":["TC","flag"],"version":2,"annotation":"flag: Turks & Caicos Islands","shortcodes":["flag_tc","turks_caicos_islands"]},{"emoji":"🇹🇩","group":9,"order":5003,"tags":["TD","flag"],"version":2,"annotation":"flag: Chad","shortcodes":["chad","flag_td"]},{"emoji":"🇹🇫","group":9,"order":5004,"tags":["TF","flag"],"version":2,"annotation":"flag: French Southern Territories","shortcodes":["flag_tf","french_southern_territories"]},{"emoji":"🇹🇬","group":9,"order":5005,"tags":["TG","flag"],"version":2,"annotation":"flag: Togo","shortcodes":["flag_tg","togo"]},{"emoji":"🇹🇭","group":9,"order":5006,"tags":["TH","flag"],"version":2,"annotation":"flag: Thailand","shortcodes":["flag_th","thailand"]},{"emoji":"🇹🇯","group":9,"order":5007,"tags":["TJ","flag"],"version":2,"annotation":"flag: Tajikistan","shortcodes":["flag_tj","tajikistan"]},{"emoji":"🇹🇰","group":9,"order":5008,"tags":["TK","flag"],"version":2,"annotation":"flag: Tokelau","shortcodes":["flag_tk","tokelau"]},{"emoji":"🇹🇱","group":9,"order":5009,"tags":["TL","flag"],"version":2,"annotation":"flag: Timor-Leste","shortcodes":["flag_tl","timor_leste"]},{"emoji":"🇹🇲","group":9,"order":5010,"tags":["TM","flag"],"version":2,"annotation":"flag: Turkmenistan","shortcodes":["flag_tm","turkmenistan"]},{"emoji":"🇹🇳","group":9,"order":5011,"tags":["TN","flag"],"version":2,"annotation":"flag: Tunisia","shortcodes":["flag_tn","tunisia"]},{"emoji":"🇹🇴","group":9,"order":5012,"tags":["TO","flag"],"version":2,"annotation":"flag: Tonga","shortcodes":["flag_to","tonga"]},{"emoji":"🇹🇷","group":9,"order":5013,"tags":["TR","flag"],"version":2,"annotation":"flag: Türkiye","shortcodes":["flag_tr","turkey_tr"]},{"emoji":"🇹🇹","group":9,"order":5014,"tags":["TT","flag"],"version":2,"annotation":"flag: Trinidad & Tobago","shortcodes":["flag_tt","trinidad_tobago"]},{"emoji":"🇹🇻","group":9,"order":5015,"tags":["TV","flag"],"version":2,"annotation":"flag: Tuvalu","shortcodes":["flag_tv","tuvalu"]},{"emoji":"🇹🇼","group":9,"order":5016,"tags":["TW","flag"],"version":2,"annotation":"flag: Taiwan","shortcodes":["flag_tw","taiwan"]},{"emoji":"🇹🇿","group":9,"order":5017,"tags":["TZ","flag"],"version":2,"annotation":"flag: Tanzania","shortcodes":["flag_tz","tanzania"]},{"emoji":"🇺🇦","group":9,"order":5018,"tags":["UA","flag"],"version":2,"annotation":"flag: Ukraine","shortcodes":["flag_ua","ukraine"]},{"emoji":"🇺🇬","group":9,"order":5019,"tags":["UG","flag"],"version":2,"annotation":"flag: Uganda","shortcodes":["flag_ug","uganda"]},{"emoji":"🇺🇲","group":9,"order":5020,"tags":["UM","flag"],"version":2,"annotation":"flag: U.S. Outlying Islands","shortcodes":["flag_um","us_outlying_islands"]},{"emoji":"🇺🇳","group":9,"order":5021,"tags":["UN","flag"],"version":4,"annotation":"flag: United Nations","shortcodes":["flag_un","un","united_nations"]},{"emoji":"🇺🇸","group":9,"order":5022,"tags":["US","flag"],"version":0.6,"annotation":"flag: United States","shortcodes":["flag_us","united_states","usa"]},{"emoji":"🇺🇾","group":9,"order":5023,"tags":["UY","flag"],"version":2,"annotation":"flag: Uruguay","shortcodes":["flag_uy","uruguay"]},{"emoji":"🇺🇿","group":9,"order":5024,"tags":["UZ","flag"],"version":2,"annotation":"flag: Uzbekistan","shortcodes":["flag_uz","uzbekistan"]},{"emoji":"🇻🇦","group":9,"order":5025,"tags":["VA","flag"],"version":2,"annotation":"flag: Vatican City","shortcodes":["flag_va","vatican_city"]},{"emoji":"🇻🇨","group":9,"order":5026,"tags":["VC","flag"],"version":2,"annotation":"flag: St. Vincent & Grenadines","shortcodes":["flag_vc","st_vincent_grenadines"]},{"emoji":"🇻🇪","group":9,"order":5027,"tags":["VE","flag"],"version":2,"annotation":"flag: Venezuela","shortcodes":["flag_ve","venezuela"]},{"emoji":"🇻🇬","group":9,"order":5028,"tags":["VG","flag"],"version":2,"annotation":"flag: British Virgin Islands","shortcodes":["british_virgin_islands","flag_vg"]},{"emoji":"🇻🇮","group":9,"order":5029,"tags":["VI","flag"],"version":2,"annotation":"flag: U.S. Virgin Islands","shortcodes":["flag_vi","us_virgin_islands"]},{"emoji":"🇻🇳","group":9,"order":5030,"tags":["VN","flag"],"version":2,"annotation":"flag: Vietnam","shortcodes":["flag_vn","vietnam"]},{"emoji":"🇻🇺","group":9,"order":5031,"tags":["VU","flag"],"version":2,"annotation":"flag: Vanuatu","shortcodes":["flag_vu","vanuatu"]},{"emoji":"🇼🇫","group":9,"order":5032,"tags":["WF","flag"],"version":2,"annotation":"flag: Wallis & Futuna","shortcodes":["flag_wf","wallis_futuna"]},{"emoji":"🇼🇸","group":9,"order":5033,"tags":["WS","flag"],"version":2,"annotation":"flag: Samoa","shortcodes":["flag_ws","samoa"]},{"emoji":"🇽🇰","group":9,"order":5034,"tags":["XK","flag"],"version":2,"annotation":"flag: Kosovo","shortcodes":["flag_xk","kosovo"]},{"emoji":"🇾🇪","group":9,"order":5035,"tags":["YE","flag"],"version":2,"annotation":"flag: Yemen","shortcodes":["flag_ye","yemen"]},{"emoji":"🇾🇹","group":9,"order":5036,"tags":["YT","flag"],"version":2,"annotation":"flag: Mayotte","shortcodes":["flag_yt","mayotte"]},{"emoji":"🇿🇦","group":9,"order":5037,"tags":["ZA","flag"],"version":2,"annotation":"flag: South Africa","shortcodes":["flag_za","south_africa"]},{"emoji":"🇿🇲","group":9,"order":5038,"tags":["ZM","flag"],"version":2,"annotation":"flag: Zambia","shortcodes":["flag_zm","zambia"]},{"emoji":"🇿🇼","group":9,"order":5039,"tags":["ZW","flag"],"version":2,"annotation":"flag: Zimbabwe","shortcodes":["flag_zw","zimbabwe"]},{"emoji":"🏴","group":9,"order":5040,"tags":["flag","gbeng"],"version":5,"annotation":"flag: England","shortcodes":["england","flag_gbeng"]},{"emoji":"🏴","group":9,"order":5041,"tags":["flag","gbsct"],"version":5,"annotation":"flag: Scotland","shortcodes":["flag_gbsct","scotland"]},{"emoji":"🏴","group":9,"order":5042,"tags":["flag","gbwls"],"version":5,"annotation":"flag: Wales","shortcodes":["flag_gbwls","wales"]}]
diff --git a/assets/ckeditor/html_label.js b/assets/ckeditor/html_label.js
index b5ca5c3e..72d1126e 100644
--- a/assets/ckeditor/html_label.js
+++ b/assets/ckeditor/html_label.js
@@ -1,66 +1,63 @@
-/**
- * @license Copyright (c) 2014-2022, CKSource Holding sp. z o.o. All rights reserved.
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- */
-import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor.js';
-import Alignment from '@ckeditor/ckeditor5-alignment/src/alignment.js';
-import Autoformat from '@ckeditor/ckeditor5-autoformat/src/autoformat.js';
-import Base64UploadAdapter from '@ckeditor/ckeditor5-upload/src/adapters/base64uploadadapter.js';
-import BlockQuote from '@ckeditor/ckeditor5-block-quote/src/blockquote.js';
-import Bold from '@ckeditor/ckeditor5-basic-styles/src/bold.js';
-import Code from '@ckeditor/ckeditor5-basic-styles/src/code.js';
-import CodeBlock from '@ckeditor/ckeditor5-code-block/src/codeblock.js';
-import Essentials from '@ckeditor/ckeditor5-essentials/src/essentials.js';
-import FindAndReplace from '@ckeditor/ckeditor5-find-and-replace/src/findandreplace.js';
-import FontBackgroundColor from '@ckeditor/ckeditor5-font/src/fontbackgroundcolor.js';
-import FontColor from '@ckeditor/ckeditor5-font/src/fontcolor.js';
-import FontFamily from '@ckeditor/ckeditor5-font/src/fontfamily.js';
-import FontSize from '@ckeditor/ckeditor5-font/src/fontsize.js';
-import GeneralHtmlSupport from '@ckeditor/ckeditor5-html-support/src/generalhtmlsupport.js';
-import Heading from '@ckeditor/ckeditor5-heading/src/heading.js';
-import Highlight from '@ckeditor/ckeditor5-highlight/src/highlight.js';
-import HorizontalLine from '@ckeditor/ckeditor5-horizontal-line/src/horizontalline.js';
-import HtmlComment from '@ckeditor/ckeditor5-html-support/src/htmlcomment.js';
-import HtmlEmbed from '@ckeditor/ckeditor5-html-embed/src/htmlembed.js';
-import Image from '@ckeditor/ckeditor5-image/src/image.js';
-import ImageResize from '@ckeditor/ckeditor5-image/src/imageresize.js';
-import ImageStyle from '@ckeditor/ckeditor5-image/src/imagestyle.js';
-import ImageToolbar from '@ckeditor/ckeditor5-image/src/imagetoolbar.js';
-import ImageUpload from '@ckeditor/ckeditor5-image/src/imageupload.js';
-import Indent from '@ckeditor/ckeditor5-indent/src/indent.js';
-import IndentBlock from '@ckeditor/ckeditor5-indent/src/indentblock.js';
-import Italic from '@ckeditor/ckeditor5-basic-styles/src/italic.js';
-import Link from '@ckeditor/ckeditor5-link/src/link.js';
-import LinkImage from '@ckeditor/ckeditor5-link/src/linkimage.js';
-import List from '@ckeditor/ckeditor5-list/src/list.js';
-import ListProperties from '@ckeditor/ckeditor5-list/src/listproperties.js';
-import Markdown from '@ckeditor/ckeditor5-markdown-gfm/src/markdown.js';
-import MediaEmbed from '@ckeditor/ckeditor5-media-embed/src/mediaembed.js';
-import MediaEmbedToolbar from '@ckeditor/ckeditor5-media-embed/src/mediaembedtoolbar.js';
-import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph.js';
-import PasteFromOffice from '@ckeditor/ckeditor5-paste-from-office/src/pastefromoffice.js';
-import RemoveFormat from '@ckeditor/ckeditor5-remove-format/src/removeformat.js';
-import SourceEditing from '@ckeditor/ckeditor5-source-editing/src/sourceediting.js';
-import SpecialCharacters from '@ckeditor/ckeditor5-special-characters/src/specialcharacters.js';
-import SpecialCharactersArrows from '@ckeditor/ckeditor5-special-characters/src/specialcharactersarrows.js';
-import SpecialCharactersCurrency from '@ckeditor/ckeditor5-special-characters/src/specialcharacterscurrency.js';
-import SpecialCharactersEssentials from '@ckeditor/ckeditor5-special-characters/src/specialcharactersessentials.js';
-import SpecialCharactersLatin from '@ckeditor/ckeditor5-special-characters/src/specialcharacterslatin.js';
-import SpecialCharactersMathematical from '@ckeditor/ckeditor5-special-characters/src/specialcharactersmathematical.js';
-import SpecialCharactersText from '@ckeditor/ckeditor5-special-characters/src/specialcharacterstext.js';
-import Strikethrough from '@ckeditor/ckeditor5-basic-styles/src/strikethrough.js';
-import Subscript from '@ckeditor/ckeditor5-basic-styles/src/subscript.js';
-import Superscript from '@ckeditor/ckeditor5-basic-styles/src/superscript.js';
-import Table from '@ckeditor/ckeditor5-table/src/table.js';
-import TableCaption from '@ckeditor/ckeditor5-table/src/tablecaption.js';
-import TableCellProperties from '@ckeditor/ckeditor5-table/src/tablecellproperties';
-import TableColumnResize from '@ckeditor/ckeditor5-table/src/tablecolumnresize.js';
-import TableProperties from '@ckeditor/ckeditor5-table/src/tableproperties';
-import TableToolbar from '@ckeditor/ckeditor5-table/src/tabletoolbar.js';
-import Underline from '@ckeditor/ckeditor5-basic-styles/src/underline.js';
-import WordCount from '@ckeditor/ckeditor5-word-count/src/wordcount.js';
-import EditorWatchdog from '@ckeditor/ckeditor5-watchdog/src/editorwatchdog.js';
+import {ClassicEditor} from 'ckeditor5'
+import {Alignment} from 'ckeditor5';
+import {Autoformat} from 'ckeditor5';
+import {Base64UploadAdapter} from 'ckeditor5';
+import {BlockQuote} from 'ckeditor5';
+import {Bold} from 'ckeditor5';
+import {Code} from 'ckeditor5';
+import {CodeBlock} from 'ckeditor5';
+import {Essentials} from 'ckeditor5';
+import {FindAndReplace} from 'ckeditor5';
+import {FontBackgroundColor} from 'ckeditor5';
+import {FontColor} from 'ckeditor5';
+import {FontFamily} from 'ckeditor5';
+import {FontSize} from 'ckeditor5';
+import {GeneralHtmlSupport} from 'ckeditor5';
+import {Heading} from 'ckeditor5';
+import {Highlight} from 'ckeditor5';
+import {HorizontalLine} from 'ckeditor5';
+import {HtmlComment} from 'ckeditor5';
+import {HtmlEmbed} from 'ckeditor5';
+import {Image} from 'ckeditor5';
+import {ImageResize} from 'ckeditor5';
+import {ImageStyle} from 'ckeditor5';
+import {ImageToolbar} from 'ckeditor5';
+import {ImageUpload} from 'ckeditor5';
+import {Indent} from 'ckeditor5';
+import {IndentBlock} from 'ckeditor5';
+import {Italic} from 'ckeditor5';
+import {Link} from 'ckeditor5';
+import {LinkImage} from 'ckeditor5';
+import {List} from 'ckeditor5';
+import {ListProperties} from 'ckeditor5';
+import {Markdown} from 'ckeditor5';
+import {MediaEmbed} from 'ckeditor5';
+import {MediaEmbedToolbar} from 'ckeditor5';
+import {Paragraph} from 'ckeditor5';
+import {PasteFromOffice} from 'ckeditor5';
+import {RemoveFormat} from 'ckeditor5';
+import {SourceEditing} from 'ckeditor5';
+import {SpecialCharacters} from 'ckeditor5';
+import {SpecialCharactersArrows} from 'ckeditor5';
+import {SpecialCharactersCurrency} from 'ckeditor5';
+import {SpecialCharactersEssentials} from 'ckeditor5';
+import {SpecialCharactersLatin} from 'ckeditor5';
+import {SpecialCharactersMathematical} from 'ckeditor5';
+import {SpecialCharactersText} from 'ckeditor5';
+import {Strikethrough} from 'ckeditor5';
+import {Subscript} from 'ckeditor5';
+import {Superscript} from 'ckeditor5';
+import {Table} from 'ckeditor5';
+import {TableCaption} from 'ckeditor5';
+import {TableCellProperties} from 'ckeditor5';
+import {TableColumnResize} from 'ckeditor5';
+import {TableProperties} from 'ckeditor5';
+import {TableToolbar} from 'ckeditor5';
+import {Underline} from 'ckeditor5';
+import {WordCount} from 'ckeditor5';
+import {EditorWatchdog} from 'ckeditor5';
import PartDBLabel from "./plugins/PartDBLabel/PartDBLabel";
+import SpecialCharactersGreek from "./plugins/special_characters_emoji";
class Editor extends ClassicEditor {}
@@ -122,7 +119,8 @@ Editor.builtinPlugins = [
Underline,
WordCount,
- PartDBLabel
+ PartDBLabel,
+ SpecialCharactersGreek
];
// Editor configuration.
@@ -181,7 +179,8 @@ Editor.defaultConfig = {
'DejaVu Serif, serif',
'Helvetica, Arial, sans-serif',
'Times New Roman, Times, serif',
- 'Courier New, Courier, monospace'
+ 'Courier New, Courier, monospace',
+ 'Unifont, monospace',
],
supportAllValues: true
},
diff --git a/assets/ckeditor/markdown_full.js b/assets/ckeditor/markdown_full.js
index 784bd688..76944b86 100644
--- a/assets/ckeditor/markdown_full.js
+++ b/assets/ckeditor/markdown_full.js
@@ -2,68 +2,69 @@
* @license Copyright (c) 2014-2022, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
-import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor.js';
-import Alignment from '@ckeditor/ckeditor5-alignment/src/alignment.js';
-import Autoformat from '@ckeditor/ckeditor5-autoformat/src/autoformat.js';
-import Base64UploadAdapter from '@ckeditor/ckeditor5-upload/src/adapters/base64uploadadapter.js';
-import BlockQuote from '@ckeditor/ckeditor5-block-quote/src/blockquote.js';
-import Bold from '@ckeditor/ckeditor5-basic-styles/src/bold.js';
-import Code from '@ckeditor/ckeditor5-basic-styles/src/code.js';
-import CodeBlock from '@ckeditor/ckeditor5-code-block/src/codeblock.js';
-import Essentials from '@ckeditor/ckeditor5-essentials/src/essentials.js';
-import FindAndReplace from '@ckeditor/ckeditor5-find-and-replace/src/findandreplace.js';
-import FontBackgroundColor from '@ckeditor/ckeditor5-font/src/fontbackgroundcolor.js';
-import FontColor from '@ckeditor/ckeditor5-font/src/fontcolor.js';
-import FontFamily from '@ckeditor/ckeditor5-font/src/fontfamily.js';
-import FontSize from '@ckeditor/ckeditor5-font/src/fontsize.js';
-import GeneralHtmlSupport from '@ckeditor/ckeditor5-html-support/src/generalhtmlsupport.js';
-import Heading from '@ckeditor/ckeditor5-heading/src/heading.js';
-import Highlight from '@ckeditor/ckeditor5-highlight/src/highlight.js';
-import HorizontalLine from '@ckeditor/ckeditor5-horizontal-line/src/horizontalline.js';
-import HtmlComment from '@ckeditor/ckeditor5-html-support/src/htmlcomment.js';
-import HtmlEmbed from '@ckeditor/ckeditor5-html-embed/src/htmlembed.js';
-import Image from '@ckeditor/ckeditor5-image/src/image.js';
-import ImageResize from '@ckeditor/ckeditor5-image/src/imageresize.js';
-import ImageStyle from '@ckeditor/ckeditor5-image/src/imagestyle.js';
-import ImageToolbar from '@ckeditor/ckeditor5-image/src/imagetoolbar.js';
-import ImageUpload from '@ckeditor/ckeditor5-image/src/imageupload.js';
-import Indent from '@ckeditor/ckeditor5-indent/src/indent.js';
-import IndentBlock from '@ckeditor/ckeditor5-indent/src/indentblock.js';
-import Italic from '@ckeditor/ckeditor5-basic-styles/src/italic.js';
-import Link from '@ckeditor/ckeditor5-link/src/link.js';
-import LinkImage from '@ckeditor/ckeditor5-link/src/linkimage.js';
-import List from '@ckeditor/ckeditor5-list/src/list.js';
-import ListProperties from '@ckeditor/ckeditor5-list/src/listproperties.js';
-import Markdown from '@ckeditor/ckeditor5-markdown-gfm/src/markdown.js';
-import MediaEmbed from '@ckeditor/ckeditor5-media-embed/src/mediaembed.js';
-import MediaEmbedToolbar from '@ckeditor/ckeditor5-media-embed/src/mediaembedtoolbar.js';
-import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph.js';
-import PasteFromOffice from '@ckeditor/ckeditor5-paste-from-office/src/pastefromoffice.js';
-import RemoveFormat from '@ckeditor/ckeditor5-remove-format/src/removeformat.js';
-import SourceEditing from '@ckeditor/ckeditor5-source-editing/src/sourceediting.js';
-import SpecialCharacters from '@ckeditor/ckeditor5-special-characters/src/specialcharacters.js';
-import SpecialCharactersArrows from '@ckeditor/ckeditor5-special-characters/src/specialcharactersarrows.js';
-import SpecialCharactersCurrency from '@ckeditor/ckeditor5-special-characters/src/specialcharacterscurrency.js';
-import SpecialCharactersEssentials from '@ckeditor/ckeditor5-special-characters/src/specialcharactersessentials.js';
-import SpecialCharactersLatin from '@ckeditor/ckeditor5-special-characters/src/specialcharacterslatin.js';
-import SpecialCharactersMathematical from '@ckeditor/ckeditor5-special-characters/src/specialcharactersmathematical.js';
-import SpecialCharactersText from '@ckeditor/ckeditor5-special-characters/src/specialcharacterstext.js';
-import Strikethrough from '@ckeditor/ckeditor5-basic-styles/src/strikethrough.js';
-import Subscript from '@ckeditor/ckeditor5-basic-styles/src/subscript.js';
-import Superscript from '@ckeditor/ckeditor5-basic-styles/src/superscript.js';
-import Table from '@ckeditor/ckeditor5-table/src/table.js';
-import TableCaption from '@ckeditor/ckeditor5-table/src/tablecaption.js';
-import TableCellProperties from '@ckeditor/ckeditor5-table/src/tablecellproperties';
-import TableColumnResize from '@ckeditor/ckeditor5-table/src/tablecolumnresize.js';
-import TableProperties from '@ckeditor/ckeditor5-table/src/tableproperties';
-import TableToolbar from '@ckeditor/ckeditor5-table/src/tabletoolbar.js';
-import Underline from '@ckeditor/ckeditor5-basic-styles/src/underline.js';
-import WordCount from '@ckeditor/ckeditor5-word-count/src/wordcount.js';
-import EditorWatchdog from '@ckeditor/ckeditor5-watchdog/src/editorwatchdog.js';
-import TodoList from '@ckeditor/ckeditor5-list/src/todolist';
+import {ClassicEditor} from 'ckeditor5';
+import {Alignment} from 'ckeditor5';
+import {Autoformat} from 'ckeditor5';
+import {Base64UploadAdapter} from 'ckeditor5';
+import {BlockQuote} from 'ckeditor5';
+import {Bold} from 'ckeditor5';
+import {Code} from 'ckeditor5';
+import {CodeBlock} from 'ckeditor5';
+import {Essentials} from 'ckeditor5';
+import {FindAndReplace} from 'ckeditor5';
+import {FontBackgroundColor} from 'ckeditor5';
+import {FontColor} from 'ckeditor5';
+import {FontFamily} from 'ckeditor5';
+import {FontSize} from 'ckeditor5';
+import {GeneralHtmlSupport} from 'ckeditor5';
+import {Heading} from 'ckeditor5';
+import {Highlight} from 'ckeditor5';
+import {HorizontalLine} from 'ckeditor5';
+import {HtmlComment} from 'ckeditor5';
+import {HtmlEmbed} from 'ckeditor5';
+import {Image} from 'ckeditor5';
+import {ImageResize} from 'ckeditor5';
+import {ImageStyle} from 'ckeditor5';
+import {ImageToolbar} from 'ckeditor5';
+import {ImageUpload} from 'ckeditor5';
+import {Indent} from 'ckeditor5';
+import {IndentBlock} from 'ckeditor5';
+import {Italic} from 'ckeditor5';
+import {Link} from 'ckeditor5';
+import {LinkImage} from 'ckeditor5';
+import {List} from 'ckeditor5';
+import {ListProperties} from 'ckeditor5';
+import {Markdown} from 'ckeditor5';
+import {MediaEmbed} from 'ckeditor5';
+import {MediaEmbedToolbar} from 'ckeditor5';
+import {Paragraph} from 'ckeditor5';
+import {PasteFromOffice} from 'ckeditor5';
+import {RemoveFormat} from 'ckeditor5';
+import {SourceEditing} from 'ckeditor5';
+import {SpecialCharacters} from 'ckeditor5';
+import {SpecialCharactersArrows} from 'ckeditor5';
+import {SpecialCharactersCurrency} from 'ckeditor5';
+import {SpecialCharactersEssentials} from 'ckeditor5';
+import {SpecialCharactersLatin} from 'ckeditor5';
+import {SpecialCharactersMathematical} from 'ckeditor5';
+import {SpecialCharactersText} from 'ckeditor5';
+import {Strikethrough} from 'ckeditor5';
+import {Subscript} from 'ckeditor5';
+import {Superscript} from 'ckeditor5';
+import {Table} from 'ckeditor5';
+import {TableCaption} from 'ckeditor5';
+import {TableCellProperties} from 'ckeditor5';
+import {TableColumnResize} from 'ckeditor5';
+import {TableProperties} from 'ckeditor5';
+import {TableToolbar} from 'ckeditor5';
+import {Underline} from 'ckeditor5';
+import {WordCount} from 'ckeditor5';
+import {EditorWatchdog} from 'ckeditor5';
+import {TodoList} from 'ckeditor5';
import ExtendedMarkdown from "./plugins/extendedMarkdown.js";
-import SpecialCharactersEmoji from "./plugins/special_characters_emoji";
+import SpecialCharactersGreek from "./plugins/special_characters_emoji";
+import {Mention, Emoji} from "ckeditor5";
class Editor extends ClassicEditor {}
@@ -117,9 +118,11 @@ Editor.builtinPlugins = [
Underline,
TodoList,
+ Mention, Emoji,
+
//Our own extensions
ExtendedMarkdown,
- SpecialCharactersEmoji
+ SpecialCharactersGreek
];
// Editor configuration.
@@ -148,6 +151,7 @@ Editor.defaultConfig = {
'indent',
'|',
'specialCharacters',
+ "emoji",
'horizontalLine',
'|',
'imageUpload',
diff --git a/assets/ckeditor/markdown_single_line.js b/assets/ckeditor/markdown_single_line.js
index f7e91aa9..f05983a2 100644
--- a/assets/ckeditor/markdown_single_line.js
+++ b/assets/ckeditor/markdown_single_line.js
@@ -2,35 +2,36 @@
* @license Copyright (c) 2014-2022, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
-import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor.js';
-import Autoformat from '@ckeditor/ckeditor5-autoformat/src/autoformat.js';
-import AutoLink from '@ckeditor/ckeditor5-link/src/autolink.js';
-import Bold from '@ckeditor/ckeditor5-basic-styles/src/bold.js';
-import Code from '@ckeditor/ckeditor5-basic-styles/src/code.js';
-import Essentials from '@ckeditor/ckeditor5-essentials/src/essentials.js';
-import FindAndReplace from '@ckeditor/ckeditor5-find-and-replace/src/findandreplace.js';
-import Highlight from '@ckeditor/ckeditor5-highlight/src/highlight.js';
-import Italic from '@ckeditor/ckeditor5-basic-styles/src/italic.js';
-import Link from '@ckeditor/ckeditor5-link/src/link.js';
-import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph.js';
-import RemoveFormat from '@ckeditor/ckeditor5-remove-format/src/removeformat.js';
-import SourceEditing from '@ckeditor/ckeditor5-source-editing/src/sourceediting.js';
-import SpecialCharacters from '@ckeditor/ckeditor5-special-characters/src/specialcharacters.js';
-import SpecialCharactersArrows from '@ckeditor/ckeditor5-special-characters/src/specialcharactersarrows.js';
-import SpecialCharactersCurrency from '@ckeditor/ckeditor5-special-characters/src/specialcharacterscurrency.js';
-import SpecialCharactersEssentials from '@ckeditor/ckeditor5-special-characters/src/specialcharactersessentials.js';
-import SpecialCharactersLatin from '@ckeditor/ckeditor5-special-characters/src/specialcharacterslatin.js';
-import SpecialCharactersMathematical from '@ckeditor/ckeditor5-special-characters/src/specialcharactersmathematical.js';
-import SpecialCharactersText from '@ckeditor/ckeditor5-special-characters/src/specialcharacterstext.js';
-import Strikethrough from '@ckeditor/ckeditor5-basic-styles/src/strikethrough.js';
-import Subscript from '@ckeditor/ckeditor5-basic-styles/src/subscript.js';
-import Superscript from '@ckeditor/ckeditor5-basic-styles/src/superscript.js';
-import Underline from '@ckeditor/ckeditor5-basic-styles/src/underline.js';
-import EditorWatchdog from '@ckeditor/ckeditor5-watchdog/src/editorwatchdog.js';
+import {ClassicEditor} from 'ckeditor5';
+import {Autoformat} from 'ckeditor5';
+import {AutoLink} from 'ckeditor5';
+import {Bold} from 'ckeditor5';
+import {Code} from 'ckeditor5';
+import {Essentials} from 'ckeditor5';
+import {FindAndReplace} from 'ckeditor5';
+import {Highlight} from 'ckeditor5';
+import {Italic} from 'ckeditor5';
+import {Link} from 'ckeditor5';
+import {Paragraph} from 'ckeditor5';
+import {RemoveFormat} from 'ckeditor5';
+import {SourceEditing} from 'ckeditor5';
+import {SpecialCharacters} from 'ckeditor5';
+import {SpecialCharactersArrows} from 'ckeditor5';
+import {SpecialCharactersCurrency} from 'ckeditor5';
+import {SpecialCharactersEssentials} from 'ckeditor5';
+import {SpecialCharactersLatin} from 'ckeditor5';
+import {SpecialCharactersMathematical} from 'ckeditor5';
+import {SpecialCharactersText} from 'ckeditor5';
+import {Strikethrough} from 'ckeditor5';
+import {Subscript} from 'ckeditor5';
+import {Superscript} from 'ckeditor5';
+import {Underline} from 'ckeditor5';
+import {EditorWatchdog} from 'ckeditor5';
+import {Mention, Emoji} from "ckeditor5";
import ExtendedMarkdownInline from "./plugins/extendedMarkdownInline";
import SingleLinePlugin from "./plugins/singleLine";
-import SpecialCharactersEmoji from "./plugins/special_characters_emoji";
+import SpecialCharactersGreek from "./plugins/special_characters_emoji";
class Editor extends ClassicEditor {}
@@ -62,7 +63,8 @@ Editor.builtinPlugins = [
ExtendedMarkdownInline,
SingleLinePlugin,
- SpecialCharactersEmoji
+ SpecialCharactersGreek,
+ Mention, Emoji
];
// Editor configuration.
@@ -81,6 +83,7 @@ Editor.defaultConfig = {
'link',
'code',
'specialCharacters',
+ 'emoji',
'|',
'undo',
'redo',
diff --git a/assets/ckeditor/plugins/PartDBLabel/PartDBLabel.js b/assets/ckeditor/plugins/PartDBLabel/PartDBLabel.js
index 01e1c7bf..708d4ebb 100644
--- a/assets/ckeditor/plugins/PartDBLabel/PartDBLabel.js
+++ b/assets/ckeditor/plugins/PartDBLabel/PartDBLabel.js
@@ -22,7 +22,7 @@ import PartDBLabelEditing from "./PartDBLabelEditing";
import "./PartDBLabel.css";
-import Plugin from "@ckeditor/ckeditor5-core/src/plugin";
+import {Plugin} from "ckeditor5";
export default class PartDBLabel extends Plugin {
static get requires() {
@@ -32,4 +32,4 @@ export default class PartDBLabel extends Plugin {
static get pluginName() {
return 'PartDBLabel';
}
-}
\ No newline at end of file
+}
diff --git a/assets/ckeditor/plugins/PartDBLabel/PartDBLabelCommand.js b/assets/ckeditor/plugins/PartDBLabel/PartDBLabelCommand.js
index 4c3af3ef..7b9797e7 100644
--- a/assets/ckeditor/plugins/PartDBLabel/PartDBLabelCommand.js
+++ b/assets/ckeditor/plugins/PartDBLabel/PartDBLabelCommand.js
@@ -17,7 +17,7 @@
* along with this program. If not, see ${components.Highlight({hit: item, attribute: 'category'})}
` : ""} + ${item.footprint ? html`${components.Highlight({hit: item, attribute: 'footprint'})}
` : ""} +' + err + ''); + this._showAlert(response.statusText, response.status, response.url, '
' + err + ''); }); } } diff --git a/assets/js/lib/dataTables.select.mjs b/assets/js/lib/dataTables.select.mjs new file mode 100644 index 00000000..bba97692 --- /dev/null +++ b/assets/js/lib/dataTables.select.mjs @@ -0,0 +1,1538 @@ +/********************* + * This is the fixed version of the select extension for DataTables with the fix for the issue with the select extension + * (https://github.com/DataTables/Select/issues/51) + * We use this instead of the yarn version until the PR (https://github.com/DataTables/Select/pull/52) is merged and released + * /*******************/ + + +/*! Select for DataTables 2.0.0 + * © SpryMedia Ltd - datatables.net/license/mit + */ + +import jQuery from 'jquery'; +import DataTable from 'datatables.net'; + +// Allow reassignment of the $ variable +let $ = jQuery; + + +// Version information for debugger +DataTable.select = {}; + +DataTable.select.version = '2.0.0'; + +DataTable.select.init = function (dt) { + var ctx = dt.settings()[0]; + + if (!DataTable.versionCheck('2')) { + throw 'Warning: Select requires DataTables 2 or newer'; + } + + if (ctx._select) { + return; + } + + var savedSelected = dt.state.loaded(); + + var selectAndSave = function (e, settings, data) { + if (data === null || data.select === undefined) { + return; + } + + // Clear any currently selected rows, before restoring state + // None will be selected on first initialisation + if (dt.rows({ selected: true }).any()) { + dt.rows().deselect(); + } + if (data.select.rows !== undefined) { + dt.rows(data.select.rows).select(); + } + + if (dt.columns({ selected: true }).any()) { + dt.columns().deselect(); + } + if (data.select.columns !== undefined) { + dt.columns(data.select.columns).select(); + } + + if (dt.cells({ selected: true }).any()) { + dt.cells().deselect(); + } + if (data.select.cells !== undefined) { + for (var i = 0; i < data.select.cells.length; i++) { + dt.cell(data.select.cells[i].row, data.select.cells[i].column).select(); + } + } + + dt.state.save(); + }; + + dt.on('stateSaveParams', function (e, settings, data) { + data.select = {}; + data.select.rows = dt.rows({ selected: true }).ids(true).toArray(); + data.select.columns = dt.columns({ selected: true })[0]; + data.select.cells = dt.cells({ selected: true })[0].map(function (coords) { + return { row: dt.row(coords.row).id(true), column: coords.column }; + }); + }) + .on('stateLoadParams', selectAndSave) + .one('init', function () { + selectAndSave(undefined, undefined, savedSelected); + }); + + var init = ctx.oInit.select; + var defaults = DataTable.defaults.select; + var opts = init === undefined ? defaults : init; + + // Set defaults + var items = 'row'; + var style = 'api'; + var blurable = false; + var toggleable = true; + var info = true; + var selector = 'td, th'; + var className = 'selected'; + var headerCheckbox = true; + var setStyle = false; + + ctx._select = { + infoEls: [] + }; + + // Initialisation customisations + if (opts === true) { + style = 'os'; + setStyle = true; + } + else if (typeof opts === 'string') { + style = opts; + setStyle = true; + } + else if ($.isPlainObject(opts)) { + if (opts.blurable !== undefined) { + blurable = opts.blurable; + } + + if (opts.toggleable !== undefined) { + toggleable = opts.toggleable; + } + + if (opts.info !== undefined) { + info = opts.info; + } + + if (opts.items !== undefined) { + items = opts.items; + } + + if (opts.style !== undefined) { + style = opts.style; + setStyle = true; + } + else { + style = 'os'; + setStyle = true; + } + + if (opts.selector !== undefined) { + selector = opts.selector; + } + + if (opts.className !== undefined) { + className = opts.className; + } + + if (opts.headerCheckbox !== undefined) { + headerCheckbox = opts.headerCheckbox; + } + } + + dt.select.selector(selector); + dt.select.items(items); + dt.select.style(style); + dt.select.blurable(blurable); + dt.select.toggleable(toggleable); + dt.select.info(info); + ctx._select.className = className; + + // If the init options haven't enabled select, but there is a selectable + // class name, then enable + if (!setStyle && $(dt.table().node()).hasClass('selectable')) { + dt.select.style('os'); + } + + // Insert a checkbox into the header if needed - might need to wait + // for init complete, or it might already be done + if (headerCheckbox) { + initCheckboxHeader(dt); + + dt.on('init', function () { + initCheckboxHeader(dt); + }); + } +}; + +/* + +Select is a collection of API methods, event handlers, event emitters and +buttons (for the `Buttons` extension) for DataTables. It provides the following +features, with an overview of how they are implemented: + +## Selection of rows, columns and cells. Whether an item is selected or not is + stored in: + +* rows: a `_select_selected` property which contains a boolean value of the + DataTables' `aoData` object for each row +* columns: a `_select_selected` property which contains a boolean value of the + DataTables' `aoColumns` object for each column +* cells: a `_selected_cells` property which contains an array of boolean values + of the `aoData` object for each row. The array is the same length as the + columns array, with each element of it representing a cell. + +This method of using boolean flags allows Select to operate when nodes have not +been created for rows / cells (DataTables' defer rendering feature). + +## API methods + +A range of API methods are available for triggering selection and de-selection +of rows. Methods are also available to configure the selection events that can +be triggered by an end user (such as which items are to be selected). To a large +extent, these of API methods *is* Select. It is basically a collection of helper +functions that can be used to select items in a DataTable. + +Configuration of select is held in the object `_select` which is attached to the +DataTables settings object on initialisation. Select being available on a table +is not optional when Select is loaded, but its default is for selection only to +be available via the API - so the end user wouldn't be able to select rows +without additional configuration. + +The `_select` object contains the following properties: + +``` +{ + items:string - Can be `rows`, `columns` or `cells`. Defines what item + will be selected if the user is allowed to activate row + selection using the mouse. + style:string - Can be `none`, `single`, `multi` or `os`. Defines the + interaction style when selecting items + blurable:boolean - If row selection can be cleared by clicking outside of + the table + toggleable:boolean - If row selection can be cancelled by repeated clicking + on the row + info:boolean - If the selection summary should be shown in the table + information elements + infoEls:element[] - List of HTML elements with info elements for a table +} +``` + +In addition to the API methods, Select also extends the DataTables selector +options for rows, columns and cells adding a `selected` option to the selector +options object, allowing the developer to select only selected items or +unselected items. + +## Mouse selection of items + +Clicking on items can be used to select items. This is done by a simple event +handler that will select the items using the API methods. + + */ + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Local functions + */ + +/** + * Add one or more cells to the selection when shift clicking in OS selection + * style cell selection. + * + * Cell range is more complicated than row and column as we want to select + * in the visible grid rather than by index in sequence. For example, if you + * click first in cell 1-1 and then shift click in 2-2 - cells 1-2 and 2-1 + * should also be selected (and not 1-3, 1-4. etc) + * + * @param {DataTable.Api} dt DataTable + * @param {object} idx Cell index to select to + * @param {object} last Cell index to select from + * @private + */ +function cellRange(dt, idx, last) { + var indexes; + var columnIndexes; + var rowIndexes; + var selectColumns = function (start, end) { + if (start > end) { + var tmp = end; + end = start; + start = tmp; + } + + var record = false; + return dt + .columns(':visible') + .indexes() + .filter(function (i) { + if (i === start) { + record = true; + } + + if (i === end) { + // not else if, as start might === end + record = false; + return true; + } + + return record; + }); + }; + + var selectRows = function (start, end) { + var indexes = dt.rows({ search: 'applied' }).indexes(); + + // Which comes first - might need to swap + if (indexes.indexOf(start) > indexes.indexOf(end)) { + var tmp = end; + end = start; + start = tmp; + } + + var record = false; + return indexes.filter(function (i) { + if (i === start) { + record = true; + } + + if (i === end) { + record = false; + return true; + } + + return record; + }); + }; + + if (!dt.cells({ selected: true }).any() && !last) { + // select from the top left cell to this one + columnIndexes = selectColumns(0, idx.column); + rowIndexes = selectRows(0, idx.row); + } + else { + // Get column indexes between old and new + columnIndexes = selectColumns(last.column, idx.column); + rowIndexes = selectRows(last.row, idx.row); + } + + indexes = dt.cells(rowIndexes, columnIndexes).flatten(); + + if (!dt.cells(idx, { selected: true }).any()) { + // Select range + dt.cells(indexes).select(); + } + else { + // Deselect range + dt.cells(indexes).deselect(); + } +} + +/** + * Disable mouse selection by removing the selectors + * + * @param {DataTable.Api} dt DataTable to remove events from + * @private + */ +function disableMouseSelection(dt) { + var ctx = dt.settings()[0]; + var selector = ctx._select.selector; + + $(dt.table().container()) + .off('mousedown.dtSelect', selector) + .off('mouseup.dtSelect', selector) + .off('click.dtSelect', selector); + + $('body').off('click.dtSelect' + _safeId(dt.table().node())); +} + +/** + * Attach mouse listeners to the table to allow mouse selection of items + * + * @param {DataTable.Api} dt DataTable to remove events from + * @private + */ +function enableMouseSelection(dt) { + var container = $(dt.table().container()); + var ctx = dt.settings()[0]; + var selector = ctx._select.selector; + var matchSelection; + + container + .on('mousedown.dtSelect', selector, function (e) { + // Disallow text selection for shift clicking on the table so multi + // element selection doesn't look terrible! + if (e.shiftKey || e.metaKey || e.ctrlKey) { + container + .css('-moz-user-select', 'none') + .one('selectstart.dtSelect', selector, function () { + return false; + }); + } + + if (window.getSelection) { + matchSelection = window.getSelection(); + } + }) + .on('mouseup.dtSelect', selector, function () { + // Allow text selection to occur again, Mozilla style (tested in FF + // 35.0.1 - still required) + container.css('-moz-user-select', ''); + }) + .on('click.dtSelect', selector, function (e) { + var items = dt.select.items(); + var idx; + + // If text was selected (click and drag), then we shouldn't change + // the row's selected state + if (matchSelection) { + var selection = window.getSelection(); + + // If the element that contains the selection is not in the table, we can ignore it + // This can happen if the developer selects text from the click event + if ( + !selection.anchorNode || + $(selection.anchorNode).closest('table')[0] === dt.table().node() + ) { + if (selection !== matchSelection) { + return; + } + } + } + + var ctx = dt.settings()[0]; + var container = dt.table().container(); + + // Ignore clicks inside a sub-table + if ($(e.target).closest('div.dt-container')[0] != container) { + return; + } + + var cell = dt.cell($(e.target).closest('td, th')); + + // Check the cell actually belongs to the host DataTable (so child + // rows, etc, are ignored) + if (!cell.any()) { + return; + } + + var event = $.Event('user-select.dt'); + eventTrigger(dt, event, [items, cell, e]); + + if (event.isDefaultPrevented()) { + return; + } + + var cellIndex = cell.index(); + if (items === 'row') { + idx = cellIndex.row; + typeSelect(e, dt, ctx, 'row', idx); + } + else if (items === 'column') { + idx = cell.index().column; + typeSelect(e, dt, ctx, 'column', idx); + } + else if (items === 'cell') { + idx = cell.index(); + typeSelect(e, dt, ctx, 'cell', idx); + } + + ctx._select_lastCell = cellIndex; + }); + + // Blurable + $('body').on('click.dtSelect' + _safeId(dt.table().node()), function (e) { + if (ctx._select.blurable) { + // If the click was inside the DataTables container, don't blur + if ($(e.target).parents().filter(dt.table().container()).length) { + return; + } + + // Ignore elements which have been removed from the DOM (i.e. paging + // buttons) + if ($(e.target).parents('html').length === 0) { + return; + } + + // Don't blur in Editor form + if ($(e.target).parents('div.DTE').length) { + return; + } + + var event = $.Event('select-blur.dt'); + eventTrigger(dt, event, [e.target, e]); + + if (event.isDefaultPrevented()) { + return; + } + + clear(ctx, true); + } + }); +} + +/** + * Trigger an event on a DataTable + * + * @param {DataTable.Api} api DataTable to trigger events on + * @param {boolean} selected true if selected, false if deselected + * @param {string} type Item type acting on + * @param {boolean} any Require that there are values before + * triggering + * @private + */ +function eventTrigger(api, type, args, any) { + if (any && !api.flatten().length) { + return; + } + + if (typeof type === 'string') { + type = type + '.dt'; + } + + args.unshift(api); + + $(api.table().node()).trigger(type, args); +} + +/** + * Update the information element of the DataTable showing information about the + * items selected. This is done by adding tags to the existing text + * + * @param {DataTable.Api} api DataTable to update + * @private + */ +function info(api, node) { + if (api.select.style() === 'api' || api.select.info() === false) { + return; + } + + var rows = api.rows({ selected: true }).flatten().length; + var columns = api.columns({ selected: true }).flatten().length; + var cells = api.cells({ selected: true }).flatten().length; + + var add = function (el, name, num) { + el.append( + $('').append( + api.i18n( + 'select.' + name + 's', + { _: '%d ' + name + 's selected', 0: '', 1: '1 ' + name + ' selected' }, + num + ) + ) + ); + }; + + var el = $(node); + var output = $(''); + + add(output, 'row', rows); + add(output, 'column', columns); + add(output, 'cell', cells); + + var existing = el.children('span.select-info'); + + if (existing.length) { + existing.remove(); + } + + if (output.text() !== '') { + el.append(output); + } +} + +/** + * Add a checkbox to the header for checkbox columns, allowing all rows to + * be selected, deselected or just to show the state. + * + * @param {*} dt API + */ +function initCheckboxHeader( dt ) { + // Find any checkbox column(s) + dt.columns('.dt-select').every(function () { + var header = this.header(); + + if (! $('input', header).length) { + // If no checkbox yet, insert one + var input = $('') + .attr({ + class: 'dt-select-checkbox', + type: 'checkbox', + 'aria-label': dt.i18n('select.aria.headerCheckbox') || 'Select all rows' + }) + .appendTo(header) + .on('change', function () { + if (this.checked) { + dt.rows({search: 'applied'}).select(); + } + else { + dt.rows({selected: true}).deselect(); + } + }) + .on('click', function (e) { + e.stopPropagation(); + }); + + // Update the header checkbox's state when the selection in the + // table changes + dt.on('draw select deselect', function (e, pass, type) { + if (type === 'row' || ! type) { + var count = dt.rows({selected: true}).count(); + var search = dt.rows({search: 'applied', selected: true}).count(); + var available = dt.rows({search: 'applied'}).count(); + + if (search && search <= count && search === available) { + input + .prop('checked', true) + .prop('indeterminate', false); + } + else if (search === 0 && count === 0) { + input + .prop('checked', false) + .prop('indeterminate', false); + } + else { + input + .prop('checked', false) + .prop('indeterminate', true); + } + } + }); + } + }); +} + +/** + * Initialisation of a new table. Attach event handlers and callbacks to allow + * Select to operate correctly. + * + * This will occur _after_ the initial DataTables initialisation, although + * before Ajax data is rendered, if there is ajax data + * + * @param {DataTable.settings} ctx Settings object to operate on + * @private + */ +function init(ctx) { + var api = new DataTable.Api(ctx); + ctx._select_init = true; + + // Row callback so that classes can be added to rows and cells if the item + // was selected before the element was created. This will happen with the + // `deferRender` option enabled. + // + // This method of attaching to `aoRowCreatedCallback` is a hack until + // DataTables has proper events for row manipulation If you are reviewing + // this code to create your own plug-ins, please do not do this! + ctx.aoRowCreatedCallback.push(function (row, data, index) { + var i, ien; + var d = ctx.aoData[index]; + + // Row + if (d._select_selected) { + $(row).addClass(ctx._select.className); + } + + // Cells and columns - if separated out, we would need to do two + // loops, so it makes sense to combine them into a single one + for (i = 0, ien = ctx.aoColumns.length; i < ien; i++) { + if ( + ctx.aoColumns[i]._select_selected || + (d._selected_cells && d._selected_cells[i]) + ) { + $(d.anCells[i]).addClass(ctx._select.className); + } + } + } + ); + + // On Ajax reload we want to reselect all rows which are currently selected, + // if there is an rowId (i.e. a unique value to identify each row with) + api.on('preXhr.dt.dtSelect', function (e, settings) { + if (settings !== api.settings()[0]) { + // Not triggered by our DataTable! + return; + } + + // note that column selection doesn't need to be cached and then + // reselected, as they are already selected + var rows = api + .rows({ selected: true }) + .ids(true) + .filter(function (d) { + return d !== undefined; + }); + + var cells = api + .cells({ selected: true }) + .eq(0) + .map(function (cellIdx) { + var id = api.row(cellIdx.row).id(true); + return id ? { row: id, column: cellIdx.column } : undefined; + }) + .filter(function (d) { + return d !== undefined; + }); + + // On the next draw, reselect the currently selected items + api.one('draw.dt.dtSelect', function () { + api.rows(rows).select(); + + // `cells` is not a cell index selector, so it needs a loop + if (cells.any()) { + cells.each(function (id) { + api.cells(id.row, id.column).select(); + }); + } + }); + }); + + // Update the table information element with selected item summary + api.on('info.dt', function (e, ctx, node) { + // Store the info node for updating on select / deselect + if (!ctx._select.infoEls.includes(node)) { + ctx._select.infoEls.push(node); + } + + info(api, node); + }); + + api.on('select.dtSelect.dt deselect.dtSelect.dt', function () { + ctx._select.infoEls.forEach(function (el) { + info(api, el); + }); + + api.state.save(); + }); + + // Clean up and release + api.on('destroy.dtSelect', function () { + // Remove class directly rather than calling deselect - which would trigger events + $(api.rows({ selected: true }).nodes()).removeClass(api.settings()[0]._select.className); + + disableMouseSelection(api); + api.off('.dtSelect'); + $('body').off('.dtSelect' + _safeId(api.table().node())); + }); +} + +/** + * Add one or more items (rows or columns) to the selection when shift clicking + * in OS selection style + * + * @param {DataTable.Api} dt DataTable + * @param {string} type Row or column range selector + * @param {object} idx Item index to select to + * @param {object} last Item index to select from + * @private + */ +function rowColumnRange(dt, type, idx, last) { + // Add a range of rows from the last selected row to this one + var indexes = dt[type + 's']({ search: 'applied' }).indexes(); + var idx1 = indexes.indexOf(last); + var idx2 = indexes.indexOf(idx); + + if (!dt[type + 's']({ selected: true }).any() && idx1 === -1) { + // select from top to here - slightly odd, but both Windows and Mac OS + // do this + indexes.splice(indexes.indexOf(idx) + 1, indexes.length); + } + else { + // reverse so we can shift click 'up' as well as down + if (idx1 > idx2) { + var tmp = idx2; + idx2 = idx1; + idx1 = tmp; + } + + indexes.splice(idx2 + 1, indexes.length); + indexes.splice(0, idx1); + } + + if (!dt[type](idx, { selected: true }).any()) { + // Select range + dt[type + 's'](indexes).select(); + } + else { + // Deselect range - need to keep the clicked on row selected + indexes.splice(indexes.indexOf(idx), 1); + dt[type + 's'](indexes).deselect(); + } +} + +/** + * Clear all selected items + * + * @param {DataTable.settings} ctx Settings object of the host DataTable + * @param {boolean} [force=false] Force the de-selection to happen, regardless + * of selection style + * @private + */ +function clear(ctx, force) { + if (force || ctx._select.style === 'single') { + var api = new DataTable.Api(ctx); + + api.rows({ selected: true }).deselect(); + api.columns({ selected: true }).deselect(); + api.cells({ selected: true }).deselect(); + } +} + +/** + * Select items based on the current configuration for style and items. + * + * @param {object} e Mouse event object + * @param {DataTables.Api} dt DataTable + * @param {DataTable.settings} ctx Settings object of the host DataTable + * @param {string} type Items to select + * @param {int|object} idx Index of the item to select + * @private + */ +function typeSelect(e, dt, ctx, type, idx) { + var style = dt.select.style(); + var toggleable = dt.select.toggleable(); + var isSelected = dt[type](idx, { selected: true }).any(); + + if (isSelected && !toggleable) { + return; + } + + if (style === 'os') { + if (e.ctrlKey || e.metaKey) { + // Add or remove from the selection + dt[type](idx).select(!isSelected); + } + else if (e.shiftKey) { + if (type === 'cell') { + cellRange(dt, idx, ctx._select_lastCell || null); + } + else { + rowColumnRange( + dt, + type, + idx, + ctx._select_lastCell ? ctx._select_lastCell[type] : null + ); + } + } + else { + // No cmd or shift click - deselect if selected, or select + // this row only + var selected = dt[type + 's']({ selected: true }); + + if (isSelected && selected.flatten().length === 1) { + dt[type](idx).deselect(); + } + else { + selected.deselect(); + dt[type](idx).select(); + } + } + } + else if (style == 'multi+shift') { + if (e.shiftKey) { + if (type === 'cell') { + cellRange(dt, idx, ctx._select_lastCell || null); + } + else { + rowColumnRange( + dt, + type, + idx, + ctx._select_lastCell ? ctx._select_lastCell[type] : null + ); + } + } + else { + dt[type](idx).select(!isSelected); + } + } + else { + dt[type](idx).select(!isSelected); + } +} + +function _safeId(node) { + return node.id.replace(/[^a-zA-Z0-9\-\_]/g, '-'); +} + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * DataTables selectors + */ + +// row and column are basically identical just assigned to different properties +// and checking a different array, so we can dynamically create the functions to +// reduce the code size +$.each( + [ + { type: 'row', prop: 'aoData' }, + { type: 'column', prop: 'aoColumns' } + ], + function (i, o) { + DataTable.ext.selector[o.type].push(function (settings, opts, indexes) { + var selected = opts.selected; + var data; + var out = []; + + if (selected !== true && selected !== false) { + return indexes; + } + + for (var i = 0, ien = indexes.length; i < ien; i++) { + data = settings[o.prop][indexes[i]]; + + if ( + data && ( + (selected === true && data._select_selected === true) || + (selected === false && !data._select_selected) + ) + ) { + out.push(indexes[i]); + } + } + + return out; + }); + } +); + +DataTable.ext.selector.cell.push(function (settings, opts, cells) { + var selected = opts.selected; + var rowData; + var out = []; + + if (selected === undefined) { + return cells; + } + + for (var i = 0, ien = cells.length; i < ien; i++) { + rowData = settings.aoData[cells[i].row]; + + if ( + rowData && ( + (selected === true && + rowData._selected_cells && + rowData._selected_cells[cells[i].column] === true) || + (selected === false && + (!rowData._selected_cells || !rowData._selected_cells[cells[i].column])) + ) + ) { + out.push(cells[i]); + } + } + + return out; +}); + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * DataTables API + * + * For complete documentation, please refer to the docs/api directory or the + * DataTables site + */ + +// Local variables to improve compression +var apiRegister = DataTable.Api.register; +var apiRegisterPlural = DataTable.Api.registerPlural; + +apiRegister('select()', function () { + return this.iterator('table', function (ctx) { + DataTable.select.init(new DataTable.Api(ctx)); + }); +}); + +apiRegister('select.blurable()', function (flag) { + if (flag === undefined) { + return this.context[0]._select.blurable; + } + + return this.iterator('table', function (ctx) { + ctx._select.blurable = flag; + }); +}); + +apiRegister('select.toggleable()', function (flag) { + if (flag === undefined) { + return this.context[0]._select.toggleable; + } + + return this.iterator('table', function (ctx) { + ctx._select.toggleable = flag; + }); +}); + +apiRegister('select.info()', function (flag) { + if (flag === undefined) { + return this.context[0]._select.info; + } + + return this.iterator('table', function (ctx) { + ctx._select.info = flag; + }); +}); + +apiRegister('select.items()', function (items) { + if (items === undefined) { + return this.context[0]._select.items; + } + + return this.iterator('table', function (ctx) { + ctx._select.items = items; + + eventTrigger(new DataTable.Api(ctx), 'selectItems', [items]); + }); +}); + +// Takes effect from the _next_ selection. None disables future selection, but +// does not clear the current selection. Use the `deselect` methods for that +apiRegister('select.style()', function (style) { + if (style === undefined) { + return this.context[0]._select.style; + } + + return this.iterator('table', function (ctx) { + if (!ctx._select) { + DataTable.select.init(new DataTable.Api(ctx)); + } + + if (!ctx._select_init) { + init(ctx); + } + + ctx._select.style = style; + + // Add / remove mouse event handlers. They aren't required when only + // API selection is available + var dt = new DataTable.Api(ctx); + disableMouseSelection(dt); + + if (style !== 'api') { + enableMouseSelection(dt); + } + + eventTrigger(new DataTable.Api(ctx), 'selectStyle', [style]); + }); +}); + +apiRegister('select.selector()', function (selector) { + if (selector === undefined) { + return this.context[0]._select.selector; + } + + return this.iterator('table', function (ctx) { + disableMouseSelection(new DataTable.Api(ctx)); + + ctx._select.selector = selector; + + if (ctx._select.style !== 'api') { + enableMouseSelection(new DataTable.Api(ctx)); + } + }); +}); + +apiRegister('select.last()', function (set) { + let ctx = this.context[0]; + + if (set) { + ctx._select_lastCell = set; + return this; + } + + return ctx._select_lastCell; +}); + +apiRegisterPlural('rows().select()', 'row().select()', function (select) { + var api = this; + + if (select === false) { + return this.deselect(); + } + + this.iterator('row', function (ctx, idx) { + clear(ctx); + + // There is a good amount of knowledge of DataTables internals in + // this function. It _could_ be done without that, but it would hurt + // performance (or DT would need new APIs for this work) + var dtData = ctx.aoData[idx]; + var dtColumns = ctx.aoColumns; + + $(dtData.nTr).addClass(ctx._select.className); + dtData._select_selected = true; + + for (var i=0 ; i
-\ No newline at end of file +You can now set the banner text directly in the admin interface, or by setting the `BANNER` environment variable. diff --git a/config/bootstrap.php b/config/bootstrap.php deleted file mode 100644 index 55560fb8..00000000 --- a/config/bootstrap.php +++ /dev/null @@ -1,23 +0,0 @@ -=1.2) -if (is_array($env = @include dirname(__DIR__).'/.env.local.php') && (!isset($env['APP_ENV']) || ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? $env['APP_ENV']) === $env['APP_ENV'])) { - (new Dotenv(false))->populate($env); -} else { - // load all the .env files - (new Dotenv(false))->loadEnv(dirname(__DIR__).'/.env'); -} - -$_SERVER += $_ENV; -$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? null) ?: 'dev'; -$_SERVER['APP_DEBUG'] = $_SERVER['APP_DEBUG'] ?? $_ENV['APP_DEBUG'] ?? 'prod' !== $_SERVER['APP_ENV']; -$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = (int) $_SERVER['APP_DEBUG'] || filter_var($_SERVER['APP_DEBUG'], FILTER_VALIDATE_BOOLEAN) ? '1' : '0'; diff --git a/config/bundles.php b/config/bundles.php index 8ca67ae7..ae7dc9cc 100644 --- a/config/bundles.php +++ b/config/bundles.php @@ -2,7 +2,6 @@ return [ Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true], - Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true], Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true], Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true], Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true], @@ -19,12 +18,19 @@ return [ DAMA\DoctrineTestBundle\DAMADoctrineTestBundle::class => ['test' => true], Twig\Extra\TwigExtraBundle\TwigExtraBundle::class => ['all' => true], Gregwar\CaptchaBundle\GregwarCaptchaBundle::class => ['all' => true], - Translation\Bundle\TranslationBundle::class => ['all' => true], Florianv\SwapBundle\FlorianvSwapBundle::class => ['all' => true], Nelmio\SecurityBundle\NelmioSecurityBundle::class => ['all' => true], Symfony\UX\Turbo\TurboBundle::class => ['all' => true], Jbtronics\TFAWebauthn\TFAWebauthnBundle::class => ['all' => true], Scheb\TwoFactorBundle\SchebTwoFactorBundle::class => ['all' => true], - SpomkyLabs\CborBundle\SpomkyLabsCborBundle::class => ['all' => true], Webauthn\Bundle\WebauthnBundle::class => ['all' => true], + Nbgrp\OneloginSamlBundle\NbgrpOneloginSamlBundle::class => ['all' => true], + Symfony\UX\StimulusBundle\StimulusBundle::class => ['all' => true], + Symfony\UX\Translator\UxTranslatorBundle::class => ['all' => true], + Jbtronics\DompdfFontLoaderBundle\DompdfFontLoaderBundle::class => ['all' => true], + KnpU\OAuth2ClientBundle\KnpUOAuth2ClientBundle::class => ['all' => true], + Nelmio\CorsBundle\NelmioCorsBundle::class => ['all' => true], + Jbtronics\SettingsBundle\JbtronicsSettingsBundle::class => ['all' => true], + Jbtronics\TranslationEditorBundle\JbtronicsTranslationEditorBundle::class => ['dev' => true], + ApiPlatform\Symfony\Bundle\ApiPlatformBundle::class => ['all' => true], ]; diff --git a/config/packages/api_platform.yaml b/config/packages/api_platform.yaml new file mode 100644 index 00000000..1b679cd1 --- /dev/null +++ b/config/packages/api_platform.yaml @@ -0,0 +1,40 @@ +api_platform: + title: 'Part-DB API' + description: 'API of Part-DB' + version: '0.1.0' + + formats: + jsonld: ['application/ld+json'] + json: ['application/json'] + jsonapi: ['application/vnd.api+json'] + + docs_formats: + jsonld: ['application/ld+json'] + jsonopenapi: ['application/vnd.openapi+json'] + html: ['text/html'] + json: ['application/vnd.openapi+json'] + + swagger: + api_keys: + # overridden in OpenApiFactoryDecorator + access_token: + name: Authorization + type: header + + defaults: + # TODO: Change this to true later. In the moment it is false, because we use the session in somewhere + stateless: false + cache_headers: + vary: ['Content-Type', 'Authorization', 'Origin'] + extra_properties: + standard_put: true + rfc_7807_compliant_errors: true + + pagination_client_items_per_page: true # Allow clients to override the default items per page + + # Need to be true, or some tests will fail + use_symfony_listeners: true + + serializer: + # Change this to false later, to remove the hydra prefix on the API + hydra_prefix: true diff --git a/config/packages/cache.yaml b/config/packages/cache.yaml index 07ecf18a..6adea442 100644 --- a/config/packages/cache.yaml +++ b/config/packages/cache.yaml @@ -20,3 +20,6 @@ framework: tree.cache: adapter: cache.app tags: true + + info_provider.cache: + adapter: cache.app diff --git a/config/packages/csrf.yaml b/config/packages/csrf.yaml new file mode 100644 index 00000000..01db6267 --- /dev/null +++ b/config/packages/csrf.yaml @@ -0,0 +1,12 @@ +# Enable stateless CSRF protection for forms and logins/logouts +framework: + form: + csrf_protection: + token_id: submit + + csrf_protection: + check_header: true + stateless_token_ids: + - submit + - authenticate + - logout diff --git a/config/packages/dama_doctrine_test_bundle.yaml b/config/packages/dama_doctrine_test_bundle.yaml new file mode 100644 index 00000000..3482cbae --- /dev/null +++ b/config/packages/dama_doctrine_test_bundle.yaml @@ -0,0 +1,5 @@ +when@test: + dama_doctrine_test: + enable_static_connection: true + enable_static_meta_data_cache: true + enable_static_query_cache: true diff --git a/config/packages/datatables.yaml b/config/packages/datatables.yaml index 0ccd6434..f1ea4715 100644 --- a/config/packages/datatables.yaml +++ b/config/packages/datatables.yaml @@ -8,17 +8,17 @@ datatables: # Set options, as documented at https://datatables.net/reference/option/ options: - lengthMenu : [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]] - pageLength: 50 - #dom: "<'row' <'col-sm-12' tr>><'row' <'col-sm-6'l><'col-sm-6 text-right'pif>>" - dom: " <'row'<'col mb-2 input-group' B l> <'col mb-2' <'pull-end' p>>> - <'card' - rt - <'card-footer card-footer-table text-muted' i > - > - <'row'<'col mt-2 input-group' B l> <'col mt-2' <'pull-right' p>>>" + lengthMenu : [[10, 25, 50, 100], [10, 25, 50, 100]] # We add the "All" option, when part tables are generated + #pageLength: '%partdb.table.default_page_size%' # Set to -1 to disable pagination (i.e. show all rows) by default + pageLength: 50 #TODO + dom: " <'row' <'col mb-2 input-group flex-nowrap' B l > <'col-auto mb-2' < p >>> + <'card' + rt + <'card-footer card-footer-table text-muted' i > + > + <'row' <'col mt-2 input-group flex-nowrap' B l > <'col-auto mt-2' < p >>>" pagingType: 'simple_numbers' - searching: true + searching: false stateSave: true diff --git a/config/packages/dev/php_translation.yaml b/config/packages/dev/php_translation.yaml deleted file mode 100644 index 53398fbc..00000000 --- a/config/packages/dev/php_translation.yaml +++ /dev/null @@ -1,5 +0,0 @@ -translation: - symfony_profiler: - enabled: true - webui: - enabled: true diff --git a/config/packages/docker/doctrine.yaml b/config/packages/docker/doctrine.yaml deleted file mode 100644 index 513704c8..00000000 --- a/config/packages/docker/doctrine.yaml +++ /dev/null @@ -1,20 +0,0 @@ -doctrine: - orm: - auto_generate_proxy_classes: false - metadata_cache_driver: - type: pool - pool: doctrine.system_cache_pool - query_cache_driver: - type: pool - pool: doctrine.system_cache_pool - result_cache_driver: - type: pool - pool: doctrine.result_cache_pool - -framework: - cache: - pools: - doctrine.result_cache_pool: - adapter: cache.app - doctrine.system_cache_pool: - adapter: cache.system \ No newline at end of file diff --git a/config/packages/doctrine.php b/config/packages/doctrine.php new file mode 100644 index 00000000..47584ed7 --- /dev/null +++ b/config/packages/doctrine.php @@ -0,0 +1,33 @@ +. + */ + +declare(strict_types=1); + +/** + * This class extends the default doctrine ORM configuration to enable native lazy objects on PHP 8.4+. + * We have to do this in a PHP file, because the yaml file does not support conditionals on PHP version. + */ + +return static function(\Symfony\Config\DoctrineConfig $doctrine) { + //On PHP 8.4+ we can use native lazy objects, which are much more efficient than proxies. + if (PHP_VERSION_ID >= 80400) { + $doctrine->orm()->enableNativeLazyObjects(true); + } +}; diff --git a/config/packages/doctrine.yaml b/config/packages/doctrine.yaml index bc31bb8f..5261c295 100644 --- a/config/packages/doctrine.yaml +++ b/config/packages/doctrine.yaml @@ -2,35 +2,85 @@ doctrine: dbal: url: '%env(resolve:DATABASE_URL)%' + # Required for DAMA doctrine test bundle + use_savepoints: true + # IMPORTANT: You MUST configure your server version, # either here or in the DATABASE_URL env var (see .env file) - #server_version: '5.7' types: + # UTC datetimes datetime: class: App\Doctrine\Types\UTCDateTimeType date: class: App\Doctrine\Types\UTCDateTimeType + + datetime_immutable: + class: App\Doctrine\Types\UTCDateTimeImmutableType + date_immutable: + class: App\Doctrine\Types\UTCDateTimeImmutableType + big_decimal: class: App\Doctrine\Types\BigDecimalType - + tinyint: + class: App\Doctrine\Types\TinyIntType + schema_filter: ~^(?!internal)~ # Only enable this when needed profiling_collect_backtrace: false orm: auto_generate_proxy_classes: true + enable_lazy_ghost_objects: true + report_fields_where_declared: true + validate_xml_mapping: true naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware + identity_generation_preferences: + Doctrine\DBAL\Platforms\PostgreSQLPlatform: identity auto_mapping: true + controller_resolver: + auto_mapping: true mappings: App: + type: attribute is_bundle: false - type: annotation dir: '%kernel.project_dir%/src/Entity' prefix: 'App\Entity' alias: App dql: string_functions: - regexp: DoctrineExtensions\Query\Mysql\Regexp - ifnull: DoctrineExtensions\Query\Mysql\IfNull \ No newline at end of file + regexp: App\Doctrine\Functions\Regexp + field: DoctrineExtensions\Query\Mysql\Field + field2: App\Doctrine\Functions\Field2 + natsort: App\Doctrine\Functions\Natsort + array_position: App\Doctrine\Functions\ArrayPosition + ilike: App\Doctrine\Functions\ILike + +when@test: + doctrine: + dbal: + # "TEST_TOKEN" is typically set by ParaTest + dbname_suffix: '_test%env(default::TEST_TOKEN)%' + +when@prod: &prod + doctrine: + orm: + auto_generate_proxy_classes: false + proxy_dir: '%kernel.build_dir%/doctrine/orm/Proxies' + query_cache_driver: + type: pool + pool: doctrine.system_cache_pool + result_cache_driver: + type: pool + pool: doctrine.result_cache_pool + + framework: + cache: + pools: + doctrine.result_cache_pool: + adapter: cache.app + doctrine.system_cache_pool: + adapter: cache.system + +when@docker: *prod diff --git a/config/packages/dompdf_font_loader.yaml b/config/packages/dompdf_font_loader.yaml new file mode 100644 index 00000000..8e35c37b --- /dev/null +++ b/config/packages/dompdf_font_loader.yaml @@ -0,0 +1,11 @@ +dompdf_font_loader: + auto_install: true + + fonts: + unifont: + normal: "%kernel.project_dir%/vendor/part-db/label-fonts/fonts/unifont.ttf" + + # Enable autodiscovery of fonts, so that font installation is much easier + autodiscovery: + paths: + - "%kernel.project_dir%/assets/fonts/dompdf" \ No newline at end of file diff --git a/config/packages/framework.yaml b/config/packages/framework.yaml index 6adac2bb..6843a177 100644 --- a/config/packages/framework.yaml +++ b/config/packages/framework.yaml @@ -1,9 +1,11 @@ # see https://symfony.com/doc/current/reference/configuration/framework.html framework: secret: '%env(APP_SECRET)%' - csrf_protection: true - # Must be set to true, to enable the change of HTTP methhod via _method parameter, otherwise our delete routines does not work anymore + # We set this header by ourselves, so we can disable it here + disallow_search_engine_index: false + + # Must be set to true, to enable the change of HTTP method via _method parameter, otherwise our delete routines does not work anymore # TODO: Rework delete routines to work without _method parameter as it is not recommended anymore (see https://github.com/symfony/symfony/issues/45278) http_method_override: true @@ -22,15 +24,14 @@ framework: handler_id: null cookie_secure: auto cookie_samesite: lax - storage_factory_id: session.storage.factory.native #esi: true #fragments: true - php_errors: - log: true - form: - legacy_error_messages: false # Enable to use the new Form component validation messages + + form: { csrf_protection: { token_id: 'submit' } } + csrf_protection: + stateless_token_ids: ['submit', 'authenticate', 'logout'] when@test: framework: diff --git a/config/packages/http_client.yaml b/config/packages/http_client.yaml new file mode 100644 index 00000000..2e693f7f --- /dev/null +++ b/config/packages/http_client.yaml @@ -0,0 +1,5 @@ +framework: + http_client: + default_options: + headers: + 'User-Agent': 'Part-DB' \ No newline at end of file diff --git a/config/packages/http_discovery.yaml b/config/packages/http_discovery.yaml new file mode 100644 index 00000000..2a789e73 --- /dev/null +++ b/config/packages/http_discovery.yaml @@ -0,0 +1,10 @@ +services: + Psr\Http\Message\RequestFactoryInterface: '@http_discovery.psr17_factory' + Psr\Http\Message\ResponseFactoryInterface: '@http_discovery.psr17_factory' + Psr\Http\Message\ServerRequestFactoryInterface: '@http_discovery.psr17_factory' + Psr\Http\Message\StreamFactoryInterface: '@http_discovery.psr17_factory' + Psr\Http\Message\UploadedFileFactoryInterface: '@http_discovery.psr17_factory' + Psr\Http\Message\UriFactoryInterface: '@http_discovery.psr17_factory' + + http_discovery.psr17_factory: + class: Http\Discovery\Psr17Factory diff --git a/config/packages/knpu_oauth2_client.yaml b/config/packages/knpu_oauth2_client.yaml new file mode 100644 index 00000000..5e56d5c5 --- /dev/null +++ b/config/packages/knpu_oauth2_client.yaml @@ -0,0 +1,38 @@ +knpu_oauth2_client: + clients: + # configure your clients as described here: https://github.com/knpuniversity/oauth2-client-bundle#configuration + + ip_digikey_oauth: + type: generic + provider_class: '\League\OAuth2\Client\Provider\GenericProvider' + + client_id: '%env(settings:digikey:clientId)%' + client_secret: '%env(settings:digikey:secret)%' + + redirect_route: 'oauth_client_check' + redirect_params: {name: 'ip_digikey_oauth'} + + provider_options: + urlAuthorize: 'https://api.digikey.com/v1/oauth2/authorize' + urlAccessToken: 'https://api.digikey.com/v1/oauth2/token' + urlResourceOwnerDetails: '' + + # Sandbox + #urlAuthorize: 'https://sandbox-api.digikey.com/v1/oauth2/authorize' + #urlAccessToken: 'https://sandbox-api.digikey.com/v1/oauth2/token' + #urlResourceOwnerDetails: '' + + ip_octopart_oauth: + type: generic + provider_class: '\League\OAuth2\Client\Provider\GenericProvider' + + client_id: '%env(settings:octopart:clientId)%' + client_secret: '%env(settings:octopart:secret)%' + + redirect_route: 'oauth_client_check' + redirect_params: { name: 'ip_octopart_oauth' } + + provider_options: + urlAuthorize: 'https://identity.nexar.com/connect/authorize' + urlAccessToken: 'https://identity.nexar.com/connect/token' + urlResourceOwnerDetails: '' \ No newline at end of file diff --git a/config/packages/liip_imagine.yaml b/config/packages/liip_imagine.yaml index a2205a24..51686b58 100644 --- a/config/packages/liip_imagine.yaml +++ b/config/packages/liip_imagine.yaml @@ -3,9 +3,15 @@ liip_imagine: # valid drivers options include "gd" or "gmagick" or "imagick" driver: "gd" + twig: + mode: lazy + + default_filter_set_settings: + format: webp + filter_sets: thumbnail_sm: - quality: 90 + quality: 65 filters: thumbnail: size: [150, 150] @@ -20,7 +26,7 @@ liip_imagine: mode: inset thumbnail_xs: - quality: 90 + quality: 60 filters: thumbnail: size: [50, 50] diff --git a/config/packages/monolog.yaml b/config/packages/monolog.yaml index 8938cc13..387d71ad 100644 --- a/config/packages/monolog.yaml +++ b/config/packages/monolog.yaml @@ -10,14 +10,6 @@ when@dev: path: "%kernel.logs_dir%/%kernel.environment%.log" level: debug channels: ["!event"] - # uncomment to get logging in your browser - # you may have to allow bigger header sizes in your Web server configuration - #firephp: - # type: firephp - # level: info - #chromephp: - # type: chromephp - # level: info console: type: console process_psr_3_messages: false @@ -45,12 +37,12 @@ when@prod: action_level: error handler: nested excluded_http_codes: [404, 405] + channels: ["!deprecation"] buffer_size: 50 # How many messages should be saved? Prevent memory leaks nested: type: stream path: "%kernel.logs_dir%/%kernel.environment%.log" level: debug - formatter: monolog.formatter.json console: type: console process_psr_3_messages: false @@ -70,11 +62,11 @@ when@docker: excluded_http_codes: [404, 405] buffer_size: 50 # How many messages should be saved? Prevent memory leaks include_stacktraces: true + channels: ["!deprecation"] nested: type: stream path: "php://stderr" level: debug - formatter: monolog.formatter.json console: type: console process_psr_3_messages: false diff --git a/config/packages/nbgrp_onelogin_saml.yaml b/config/packages/nbgrp_onelogin_saml.yaml new file mode 100644 index 00000000..2b1974f3 --- /dev/null +++ b/config/packages/nbgrp_onelogin_saml.yaml @@ -0,0 +1,69 @@ +# See https://github.com/SAML-Toolkits/php-saml for more information about the SAML settings + +# Define a parameter here, so we can access it later in the default fallback +parameters: + saml.sp.privateKey: '%env(string:SAML_SP_PRIVATE_KEY)%' + +nbgrp_onelogin_saml: + use_proxy_vars: '%env(bool:SAML_BEHIND_PROXY)%' + onelogin_settings: + default: + # Basic settings + idp: + entityId: '%env(string:SAML_IDP_ENTITY_ID)%' + singleSignOnService: + url: '%env(string:SAML_IDP_SINGLE_SIGN_ON_SERVICE)%' + binding: 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect' + singleLogoutService: + url: '%env(string:SAML_IDP_SINGLE_LOGOUT_SERVICE)%' + binding: 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect' + x509cert: '%env(string:SAML_IDP_X509_CERT)%' + sp: + entityId: '%env(string:SAML_SP_ENTITY_ID)%' + assertionConsumerService: + url: '%partdb.default_uri%saml/acs' + binding: 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST' + singleLogoutService: + url: '%partdb.default_uri%logout' + binding: 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect' + x509cert: '%env(string:SAML_SP_X509_CERT)%' + # Before the env variable was wrongly named "SAMLP_SP_PRIVATE_KEY". + # For compatibility reasons we keep it and only fallback to the new name if the old one is not set. This may be removed in the future. + privateKey: '%env(string:default:saml.sp.privateKey:string:SAMLP_SP_PRIVATE_KEY)%' + + # Optional settings + baseurl: '%partdb.default_uri%saml/' + strict: true + debug: false + security: + allowRepeatAttributeName: true + # nameIdEncrypted: false + authnRequestsSigned: true + logoutRequestSigned: true + logoutResponseSigned: true + # wantMessagesSigned: false + # wantAssertionsSigned: true + # wantNameIdEncrypted: false + # requestedAuthnContext: true + # signMetadata: false + # wantXMLValidation: true + # relaxDestinationValidation: false + # destinationStrictlyMatches: true + # rejectUnsolicitedResponsesWithInResponseTo: false + # signatureAlgorithm: 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha256' + # digestAlgorithm: 'http://www.w3.org/2001/04/xmlenc#sha256' + #contactPerson: + # technical: + # givenName: 'Tech User' + # emailAddress: 'techuser@example.com' + # support: + # givenName: 'Support User' + # emailAddress: 'supportuser@example.com' + # administrative: + # givenName: 'Administrative User' + # emailAddress: 'administrativeuser@example.com' + #organization: + # en: + # name: 'Part-DB-name' + # displayname: 'Displayname' + # url: 'http://example.com' \ No newline at end of file diff --git a/config/packages/nelmio_cors.yaml b/config/packages/nelmio_cors.yaml new file mode 100644 index 00000000..c7665081 --- /dev/null +++ b/config/packages/nelmio_cors.yaml @@ -0,0 +1,10 @@ +nelmio_cors: + defaults: + origin_regex: true + allow_origin: ['%env(CORS_ALLOW_ORIGIN)%'] + allow_methods: ['GET', 'OPTIONS', 'POST', 'PUT', 'PATCH', 'DELETE'] + allow_headers: ['Content-Type', 'Authorization'] + expose_headers: ['Link'] + max_age: 3600 + paths: + '^/': null diff --git a/config/packages/nelmio_security.yaml b/config/packages/nelmio_security.yaml index d97b3983..6b2b7337 100644 --- a/config/packages/nelmio_security.yaml +++ b/config/packages/nelmio_security.yaml @@ -12,12 +12,13 @@ nelmio_security: external_redirects: abort: true log: true + allow_list: + # Whitelist the domain of the SAML IDP, so we can redirect to it during the SAML login process + - '%env(string:key:host:url:SAML_IDP_SINGLE_SIGN_ON_SERVICE)%' - # forces Microsoft's XSS-Protection with - # its block mode - xss_protection: - enabled: true - mode_block: true + # Whitelist the info provider APIs (OAuth redirects) + - 'digikey.com' + - 'nexar.com' # Send a full URL in the `Referer` header when performing a same-origin request, # only send the origin of the document to secure destination (HTTPS->HTTPS), @@ -44,12 +45,16 @@ nelmio_security: img-src: - '*' - 'data:' + # Required for be able to load pictures in the QR code scanner + - 'blob:' style-src: - 'self' - 'unsafe-inline' - 'data:' script-src: - 'self' + # Required for loading the Wasm for the barcode scanner: + - 'wasm-unsafe-eval' object-src: - 'self' - 'data:' @@ -58,9 +63,3 @@ nelmio_security: - 'data:' block-all-mixed-content: true # defaults to false, blocks HTTP content over HTTPS transport # upgrade-insecure-requests: true # defaults to false, upgrades HTTP requests to HTTPS transport - -when@dev: - # disables the Content-Security-Policy header - nelmio_security: - csp: - enabled: false \ No newline at end of file diff --git a/config/packages/php_translation.yaml b/config/packages/php_translation.yaml deleted file mode 100644 index 7c4f6ad9..00000000 --- a/config/packages/php_translation.yaml +++ /dev/null @@ -1,11 +0,0 @@ -translation: - locales: ["en", "de"] - edit_in_place: - enabled: false - config_name: app - configs: - app: - dirs: ["%kernel.project_dir%/templates", "%kernel.project_dir%/src"] - output_dir: "%kernel.project_dir%/translations" - excluded_names: ["*TestCase.php", "*Test.php"] - excluded_dirs: [cache, data, logs] diff --git a/config/packages/prod/doctrine.yaml b/config/packages/prod/doctrine.yaml deleted file mode 100644 index 084f59a0..00000000 --- a/config/packages/prod/doctrine.yaml +++ /dev/null @@ -1,20 +0,0 @@ -doctrine: - orm: - auto_generate_proxy_classes: false - metadata_cache_driver: - type: pool - pool: doctrine.system_cache_pool - query_cache_driver: - type: pool - pool: doctrine.system_cache_pool - result_cache_driver: - type: pool - pool: doctrine.result_cache_pool - -framework: - cache: - pools: - doctrine.result_cache_pool: - adapter: cache.app - doctrine.system_cache_pool: - adapter: cache.system diff --git a/config/packages/property_info.yaml b/config/packages/property_info.yaml new file mode 100644 index 00000000..dd31b9da --- /dev/null +++ b/config/packages/property_info.yaml @@ -0,0 +1,3 @@ +framework: + property_info: + with_constructor_extractor: true diff --git a/config/packages/routing.yaml b/config/packages/routing.yaml index 4b766ce5..0f34f872 100644 --- a/config/packages/routing.yaml +++ b/config/packages/routing.yaml @@ -1,10 +1,8 @@ framework: router: - utf8: true - # Configure how to generate URLs in non-HTTP contexts, such as CLI commands. # See https://symfony.com/doc/current/routing.html#generating-urls-in-commands - #default_uri: http://localhost + default_uri: '%env(DEFAULT_URI)%' when@prod: framework: diff --git a/config/packages/scheb_2fa.yaml b/config/packages/scheb_2fa.yaml index f58bdacc..ad0e7a5a 100644 --- a/config/packages/scheb_2fa.yaml +++ b/config/packages/scheb_2fa.yaml @@ -1,12 +1,12 @@ -# See the configuration reference at https://symfony.com/bundles/SchebTwoFactorBundle/5.x/configuration.html +# See the configuration reference at https://symfony.com/bundles/SchebTwoFactorBundle/6.x/configuration.html scheb_two_factor: google: enabled: true # If Google Authenticator should be enabled, default false - server_name: '%partdb.title%' # Server name used in QR code - issuer: 'Part-DB' # Issuer name used in QR code + server_name: '$$DOMAIN$$' # This field is replaced by the domain name of the server in DecoratedGoogleAuthenticator + issuer: '%partdb.title%' # Issuer name used in QR code digits: 6 # Number of digits in authentication code - window: 1 # How many codes before/after the current one would be accepted as valid + leeway: 5 # Acceptable time drift in seconds template: security/2fa_form.html.twig backup_codes: @@ -23,6 +23,6 @@ scheb_two_factor: security_tokens: - Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken # If you're using guard-based authentication, you have to use this one: - # - Symfony\Component\Security\Guard\Token\PostAuthenticationGuardToken + # - Symfony\Component\Security\Http\Authenticator\Token\PostAuthenticationToken # If you're using authenticator-based security (introduced in Symfony 5.1), you have to use this one: - # - Symfony\Component\Security\Http\Authenticator\Token\PostAuthenticationToken \ No newline at end of file + - Symfony\Component\Security\Http\Authenticator\Token\PostAuthenticationToken diff --git a/config/packages/security.yaml b/config/packages/security.yaml index 6dbc853e..e7a44e0c 100644 --- a/config/packages/security.yaml +++ b/config/packages/security.yaml @@ -1,10 +1,8 @@ security: - enable_authenticator_manager: true - + # https://symfony.com/doc/current/security.html#registering-the-user-hashing-passwords password_hashers: Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto' - # https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers providers: # used to reload user from session & other features (e.g. switch_user) app_user_provider: @@ -12,21 +10,38 @@ security: class: App\Entity\UserSystem\User property: name + firewalls: dev: - pattern: ^/(_(profiler|wdt)|css|images|js)/ + pattern: ^/(_(profiler|wdt)|css|images|js|\.well-known)/ security: false main: provider: app_user_provider lazy: true user_checker: App\Security\UserChecker + entry_point: App\Security\AuthenticationEntryPoint + + # Enable user impersonation + switch_user: { role: CAN_SWITCH_USER } + + custom_authenticators: + - App\Security\ApiTokenAuthenticator two_factor: auth_form_path: 2fa_login check_path: 2fa_login_check enable_csrf: true + login_throttling: + max_attempts: 5 # per minute + saml: + use_referer: true + user_factory: saml_user_factory + persist_user: true + check_path: saml_acs + login_path: saml_login + failure_path: login # https://symfony.com/doc/current/security/form_login_setup.html form_login: @@ -54,3 +69,7 @@ security: # We get into trouble with the U2F authentication, if the calls to the trees trigger an 2FA login # This settings should not do much harm, because a read only access to show available data structures is not really critical - { path: "^/\\w{2}/tree", role: PUBLIC_ACCESS } + # Restrict access to API to users, which has the API access permission + - { path: "^/api", allow_if: 'is_granted("@api.access_api") and is_authenticated()' } + # Restrict access to KICAD to users, which has API access permission + - { path: "^/kicad-api", allow_if: 'is_granted("@api.access_api") and is_authenticated()' } diff --git a/config/packages/sensio_framework_extra.yaml b/config/packages/sensio_framework_extra.yaml deleted file mode 100644 index 1821ccc0..00000000 --- a/config/packages/sensio_framework_extra.yaml +++ /dev/null @@ -1,3 +0,0 @@ -sensio_framework_extra: - router: - annotations: false diff --git a/config/packages/settings.yaml b/config/packages/settings.yaml new file mode 100644 index 00000000..c16d1804 --- /dev/null +++ b/config/packages/settings.yaml @@ -0,0 +1,15 @@ +jbtronics_settings: + default_storage_adapter: Jbtronics\SettingsBundle\Storage\ORMStorageAdapter + + cache: + default_cacheable: true + + orm_storage: + default_entity_class: App\Entity\SettingsEntry + + +# Disable caching for development environment +when@dev: + jbtronics_settings: + cache: + default_cacheable: false diff --git a/config/packages/swap.yaml b/config/packages/swap.yaml index 2767f740..4ef8fbdf 100644 --- a/config/packages/swap.yaml +++ b/config/packages/swap.yaml @@ -5,6 +5,12 @@ florianv_swap: providers: european_central_bank: ~ # European Central Bank (only works for EUR base currency) - fixer: # Fixer.io (needs an API key) - access_key: "%env(FIXER_API_KEY)%" - #exchange_rates_api: ~ \ No newline at end of file + central_bank_of_czech_republic: ~ + central_bank_of_republic_turkey: ~ + national_bank_of_romania: ~ + + fixer: # Fixer.io (needs an API key) + access_key: "%env(string:settings:exchange_rate:fixerApiKey)%" + + frankfurter: ~ + fawazahmed_currency_api: ~ diff --git a/config/packages/test/doctrine.yaml b/config/packages/test/doctrine.yaml deleted file mode 100644 index 34c2ebcc..00000000 --- a/config/packages/test/doctrine.yaml +++ /dev/null @@ -1,4 +0,0 @@ -doctrine: - dbal: - # "TEST_TOKEN" is typically set by ParaTest - dbname_suffix: '_test%env(default::TEST_TOKEN)%' diff --git a/config/packages/test/framework.yaml b/config/packages/test/framework.yaml index d051c840..f76cc2ef 100644 --- a/config/packages/test/framework.yaml +++ b/config/packages/test/framework.yaml @@ -1,4 +1,2 @@ framework: test: true - session: - storage_id: session.storage.mock_file diff --git a/config/packages/translation.yaml b/config/packages/translation.yaml index 7266a176..a3f529e3 100644 --- a/config/packages/translation.yaml +++ b/config/packages/translation.yaml @@ -1,11 +1,10 @@ framework: - default_locale: '%partdb.locale%' + default_locale: 'en' # Just enable the locales we need for performance reasons. - enabled_locale: '%partdb.locale_menu%' + enabled_locale: ['en', 'de', 'it', 'fr', 'ru', 'ja', 'cs', 'da', 'zh', 'pl'] translator: default_path: '%kernel.project_dir%/translations' fallbacks: - - '%partdb.locale%' - 'en' providers: # crowdin: diff --git a/config/packages/twig.yaml b/config/packages/twig.yaml index fe8bd4ae..95ae4f3b 100644 --- a/config/packages/twig.yaml +++ b/config/packages/twig.yaml @@ -1,25 +1,23 @@ twig: default_path: '%kernel.project_dir%/templates' - form_themes: ['bootstrap_5_horizontal_layout.html.twig', 'form/extended_bootstrap_layout.html.twig', 'form/permission_layout.html.twig', 'form/filter_types_layout.html.twig'] + form_themes: ['bootstrap_5_horizontal_layout.html.twig', 'form/extended_bootstrap_layout.html.twig', 'form/permission_layout.html.twig', 'form/filter_types_layout.html.twig', 'form/synonyms_collection.html.twig'] paths: '%kernel.project_dir%/assets/css': css globals: - partdb_title: '%partdb.title%' - default_currency: '%partdb.default_currency%' - global_theme: '%partdb.global_theme%' allow_email_pw_reset: '%partdb.users.email_pw_reset%' locale_menu: '%partdb.locale_menu%' attachment_manager: '@App\Services\Attachments\AttachmentManager' label_profile_dropdown_helper: '@App\Services\LabelSystem\LabelProfileDropdownHelper' error_page_admin_email: '%partdb.error_pages.admin_email%' error_page_show_help: '%partdb.error_pages.show_help%' - sidebar_items: '%partdb.sidebar.items%' sidebar_tree_updater: '@App\Services\Trees\SidebarTreeUpdater' avatar_helper: '@App\Services\UserSystem\UserAvatarHelper' available_themes: '%partdb.available_themes%' + saml_enabled: '%partdb.saml.enabled%' + part_preview_generator: '@App\Services\Attachments\PartPreviewGenerator' when@test: twig: - strict_variables: true \ No newline at end of file + strict_variables: true diff --git a/config/packages/ux_translator.yaml b/config/packages/ux_translator.yaml new file mode 100644 index 00000000..1c1c7060 --- /dev/null +++ b/config/packages/ux_translator.yaml @@ -0,0 +1,3 @@ +ux_translator: + # The directory where the JavaScript translations are dumped + dump_directory: '%kernel.project_dir%/var/translations' diff --git a/config/packages/ux_turbo.yaml b/config/packages/ux_turbo.yaml new file mode 100644 index 00000000..c2a6a44e --- /dev/null +++ b/config/packages/ux_turbo.yaml @@ -0,0 +1,4 @@ +# Enable stateless CSRF protection for forms and logins/logouts +framework: + csrf_protection: + check_header: true diff --git a/config/packages/validator.yaml b/config/packages/validator.yaml index 0201281d..dd47a6ad 100644 --- a/config/packages/validator.yaml +++ b/config/packages/validator.yaml @@ -1,7 +1,5 @@ framework: validation: - email_validation_mode: html5 - # Enables validator auto-mapping support. # For instance, basic validation constraints will be inferred from Doctrine's metadata. #auto_mapping: diff --git a/config/packages/web_profiler.yaml b/config/packages/web_profiler.yaml index 17893da1..15112444 100644 --- a/config/packages/web_profiler.yaml +++ b/config/packages/web_profiler.yaml @@ -1,15 +1,14 @@ when@dev: web_profiler: - toolbar: true - intercept_redirects: false + toolbar: + ajax_replace: true framework: - profiler: { only_exceptions: false } + profiler: + collect_serializer_data: true when@test: - web_profiler: - toolbar: false - intercept_redirects: false - framework: - profiler: { collect: false } + profiler: + collect: false + collect_serializer_data: true diff --git a/config/parameters.yaml b/config/parameters.yaml index ec80e939..b79e2b88 100644 --- a/config/parameters.yaml +++ b/config/parameters.yaml @@ -5,19 +5,19 @@ parameters: ###################################################################################################################### # Common ###################################################################################################################### - partdb.locale: '%env(string:DEFAULT_LANG)%' # The default language to use serverwide - partdb.timezone: '%env(string:DEFAULT_TIMEZONE)%' # The default timezone - partdb.title: '%env(trim:string:INSTANCE_NAME)%' # The title shown inside of Part-DB (e.g. in the navbar and on homepage) - partdb.banner: '%env(trim:string:BANNER)%' # The info text shown in the homepage, if empty config/banner.md is used - partdb.default_currency: '%env(string:BASE_CURRENCY)%' # The currency that is used inside the DB (and is assumed when no currency is set). This can not be changed later, so be sure to set it the currency used in your country - partdb.global_theme: '' # The theme to use globally (see public/build/themes/ for choices, use name without .css). Set to '' for default bootstrap theme - partdb.locale_menu: ['en', 'de', 'fr', 'ru', 'ja'] # The languages that are shown in user drop down menu + + # This is used as workaround for places where we can not access the settings directly (like the 2FA application names) + partdb.title: '%env(string:settings:customization:instanceName)%' # The title shown inside of Part-DB (e.g. in the navbar and on homepage) + partdb.locale_menu: ['en', 'de', 'it', 'fr', 'ru', 'ja', 'cs', 'da', 'zh', 'pl', 'hu'] # The languages that are shown in user drop down menu + + partdb.default_uri: '%env(addSlash:string:DEFAULT_URI)%' # The default URI to use for the Part-DB instance (e.g. https://part-db.example.com/). This is used for generating links in emails + + partdb.db.emulate_natural_sort: '%env(bool:DATABASE_EMULATE_NATURAL_SORT)%' # If this is set to true, natural sorting is emulated on platforms that do not support it natively. This can be slow on large datasets. ###################################################################################################################### # Users and Privacy ###################################################################################################################### - partdb.gpdr_compliance: true # If this option is activated, IP addresses are anonymized to be GPDR compliant - partdb.users.use_gravatar: '%env(bool:USE_GRAVATAR)%' # Set to false, if no Gravatar images should be used for user profiles. + partdb.gdpr_compliance: true # If this option is activated, IP addresses are anonymized to be GDPR compliant partdb.users.email_pw_reset: '%env(bool:ALLOW_EMAIL_PW_RESET)%' # Config if users are able, to reset their password by email. By default this enabled, when a mail server is configured. ###################################################################################################################### @@ -29,9 +29,8 @@ parameters: ###################################################################################################################### # Attachments and files ###################################################################################################################### - partdb.attachments.allow_downloads: '%env(bool:ALLOW_ATTACHMENT_DOWNLOADS)%' # Allow users to download attachments to server. Warning: This can be dangerous, because via that feature attackers maybe can access ressources on your intranet! - partdb.attachments.dir.media: 'public/media/' # The folder where uploaded attachment files are saved (must be in public folder) - partdb.attachments.dir.secure: 'uploads/' # The folder where secured attachment files are saved (must not be in public/) + partdb.attachments.dir.media: 'public/media/' # The folder where uploaded attachment files are saved (must be in public folder) + partdb.attachments.dir.secure: 'uploads/' # The folder where secured attachment files are saved (must not be in public/) ###################################################################################################################### # Error pages @@ -40,15 +39,10 @@ parameters: partdb.error_pages.show_help: '%env(trim:string:ERROR_PAGE_SHOW_HELP)%' # If this is set to true, solutions to common problems are shown on error pages. Disable this, if you do not want your users to see them... ###################################################################################################################### - # Sidebar + # SAML ###################################################################################################################### - # You can configures the default shown tree items in the sidebar here. You can add or remove entries here, to change the number of trees in the sidebar. The possible entries are: categories, locations, footprints, manufacturers, suppliers, devices, tools - partdb.sidebar.items: - - categories - - devices - - tools - partdb.sidebar.root_expanded: true # If this is set to true, the root node of the sidebar is expanded by default - partdb.sidebar.root_node_enable: true # Put all entities below a root node in the sidebar + partdb.saml.enabled: '%env(bool:SAML_ENABLED)%' # If this is set to true, SAML authentication is enabled + ###################################################################################################################### # Miscellaneous @@ -90,18 +84,12 @@ parameters: # Env default values ###################################################################################################################### - env(DEFAULT_LANG): 'en' - env(DEFAULT_TIMEZONE): 'Europe/Berlin' - env(INSTANCE_NAME): 'Part-DB' - env(BASE_CURRENCY): 'EUR' - env(USE_GRAVATAR): '0' - env(ALLOW_ATTACHMENT_DOWNLOADS): 0 + env(REDIRECT_TO_HTTPS): 0 env(ERROR_PAGE_ADMIN_EMAIL): '' env(ERROR_PAGE_SHOW_HELP): 1 env(DEMO_MODE): 0 - env(BANNER): '' env(EMAIL_SENDER_EMAIL): 'noreply@partdb.changeme' @@ -110,3 +98,15 @@ parameters: env(TRUSTED_PROXIES): '127.0.0.1' #By default trust only our own server env(TRUSTED_HOSTS): '' # Trust all host names by default + + env(DEFAULT_URI): 'https://partdb.changeme.invalid/' + + env(SAML_ROLE_MAPPING): '{}' + + env(DATABASE_EMULATE_NATURAL_SORT): 0 + + ###################################################################################################################### + # Bulk Info Provider Import Configuration + ###################################################################################################################### + partdb.bulk_import.batch_size: 20 # Number of parts to process in each batch during bulk operations + partdb.bulk_import.max_parts_per_operation: 1000 # Maximum number of parts allowed per bulk import operation diff --git a/config/permissions.yaml b/config/permissions.yaml index f9b4a1ee..5adfb79d 100644 --- a/config/permissions.yaml +++ b/config/permissions.yaml @@ -18,31 +18,42 @@ perms: # Here comes a list with all Permission names (they have a perm_[name] co parts: # e.g. this maps to perms_parts in User/Group database group: "data" - label: "perm.parts" + label: "{{part}}" operations: # Here are all possible operations are listed => the op name is mapped to bit value read: label: "perm.read" # If a part can be read by a user, he can also see all the datastructures (except devices) alsoSet: ['storelocations.read', 'footprints.read', 'categories.read', 'suppliers.read', 'manufacturers.read', - 'currencies.read', 'attachment_types.read', 'measurement_units.read'] + 'currencies.read', 'attachment_types.read', 'measurement_units.read', 'part_custom_states.read'] + apiTokenRole: ROLE_API_READ_ONLY edit: label: "perm.edit" alsoSet: ['read', 'parts_stock.withdraw', 'parts_stock.add', 'parts_stock.move'] + apiTokenRole: ROLE_API_EDIT create: label: "perm.create" alsoSet: ['read', 'edit'] + apiTokenRole: ROLE_API_EDIT delete: label: "perm.delete" alsoSet: ['read', 'edit'] + apiTokenRole: ROLE_API_EDIT change_favorite: label: "perm.part.change_favorite" alsoSet: ['edit'] + apiTokenRole: ROLE_API_EDIT show_history: label: "perm.part.show_history" alsoSet: ['read'] + apiTokenRole: ROLE_API_READ_ONLY revert_element: label: "perm.revert_elements" alsoSet: ["read", "edit", "create", "delete", "show_history"] + apiTokenRole: ROLE_API_EDIT + import: + label: "perm.import" + alsoSet: ["read", "edit", "create"] + apiTokenRole: ROLE_API_EDIT parts_stock: group: "data" @@ -50,64 +61,81 @@ perms: # Here comes a list with all Permission names (they have a perm_[name] co operations: withdraw: label: "perm.parts_stock.withdraw" + apiTokenRole: ROLE_API_EDIT add: label: "perm.parts_stock.add" + apiTokenRole: ROLE_API_EDIT move: label: "perm.parts_stock.move" + apiTokenRole: ROLE_API_EDIT storelocations: &PART_CONTAINING - label: "perm.storelocations" + label: "{{storage_location}}" group: "data" operations: read: label: "perm.read" + apiTokenRole: ROLE_API_READ_ONLY edit: label: "perm.edit" alsoSet: 'read' + apiTokenRole: ROLE_API_EDIT create: label: "perm.create" alsoSet: ['read', 'edit'] + apiTokenRole: ROLE_API_EDIT delete: label: "perm.delete" alsoSet: ['read', 'edit'] + apiTokenRole: ROLE_API_EDIT show_history: label: "perm.show_history" + apiTokenRole: ROLE_API_READ_ONLY revert_element: label: "perm.revert_elements" alsoSet: ["read", "edit", "create", "delete", "show_history"] + apiTokenRole: ROLE_API_EDIT + import: + label: "perm.import" + alsoSet: [ "read", "edit", "create" ] + apiTokenRole: ROLE_API_EDIT footprints: <<: *PART_CONTAINING - label: "perm.part.footprints" + label: "{{footprint}}" categories: <<: *PART_CONTAINING - label: "perm.part.categories" + label: "{{category}}" suppliers: <<: *PART_CONTAINING - label: "perm.part.supplier" + label: "{{supplier}}" manufacturers: <<: *PART_CONTAINING - label: "perm.part.manufacturers" + label: "{{manufacturer}}" projects: <<: *PART_CONTAINING - label: "perm.projects" + label: "{{project}}" attachment_types: <<: *PART_CONTAINING - label: "perm.part.attachment_types" + label: "{{attachment_type}}" currencies: <<: *PART_CONTAINING - label: "perm.currencies" + label: "{{currency}}" measurement_units: <<: *PART_CONTAINING - label: "perm.measurement_units" + label: "{{measurement_unit}}" + + part_custom_states: + <<: *PART_CONTAINING + label: "{{part_custom_state}}" tools: label: "perm.part.tools" @@ -133,29 +161,48 @@ perms: # Here comes a list with all Permission names (they have a perm_[name] co ic_logos: label: "perm.tools.ic_logos" + info_providers: + label: "perm.part.info_providers" + operations: + create_parts: + label: "perm.part.info_providers.create_parts" + alsoSet: ['parts.create'] + apiTokenRole: ROLE_API_EDIT + groups: label: "perm.groups" group: "system" operations: read: label: "perm.read" + apiTokenRole: ROLE_API_ADMIN edit: label: "perm.edit" alsoSet: 'read' + apiTokenRole: ROLE_API_ADMIN create: label: "perm.create" alsoSet: ['read', 'edit'] + apiTokenRole: ROLE_API_ADMIN delete: label: "perm.delete" alsoSet: ['read', 'delete'] + apiTokenRole: ROLE_API_ADMIN edit_permissions: label: "perm.edit_permissions" alsoSet: ['read', 'edit'] + apiTokenRole: ROLE_API_ADMIN show_history: label: "perm.show_history" + apiTokenRole: ROLE_API_ADMIN revert_element: label: "perm.revert_elements" alsoSet: ["read", "edit", "create", "delete", "edit_permissions", "show_history"] + apiTokenRole: ROLE_API_ADMIN + import: + label: "perm.import" + alsoSet: [ "read", "edit", "create" ] + apiTokenRole: ROLE_API_ADMIN users: label: "perm.users" @@ -163,31 +210,49 @@ perms: # Here comes a list with all Permission names (they have a perm_[name] co operations: read: label: "perm.read" + apiTokenRole: ROLE_API_ADMIN create: label: "perm.create" alsoSet: ['read', 'edit_username', 'edit_infos'] + apiTokenRole: ROLE_API_ADMIN delete: label: "perm.delete" alsoSet: ['read', 'edit_username', 'edit_infos'] + apiTokenRole: ROLE_API_ADMIN edit_username: label: "perm.users.edit_user_name" alsoSet: ['read'] + apiTokenRole: ROLE_API_ADMIN edit_infos: label: "perm.users.edit_infos" alsoSet: 'read' + apiTokenRole: ROLE_API_ADMIN edit_permissions: label: "perm.users.edit_permissions" alsoSet: 'read' + apiTokenRole: ROLE_API_ADMIN set_password: label: "perm.users.set_password" alsoSet: 'read' + apiTokenRole: ROLE_API_FULL + impersonate: + label: "perm.users.impersonate" + alsoSet: ['set_password'] + apiTokenRole: ROLE_API_FULL change_user_settings: label: "perm.users.change_user_settings" + apiTokenRole: ROLE_API_ADMIN show_history: label: "perm.show_history" + apiTokenRole: ROLE_API_ADMIN revert_element: label: "perm.revert_elements" alsoSet: ["read", "create", "delete", "edit_permissions", "show_history", "edit_infos", "edit_username"] + apiTokenRole: ROLE_API_ADMIN + import: + label: "perm.import" + alsoSet: [ "read", "create" ] + apiTokenRole: ROLE_API_ADMIN #database: # label: "perm.database" @@ -204,17 +269,13 @@ perms: # Here comes a list with all Permission names (they have a perm_[name] co # label: "perm.database.write_db_settings" # alsoSet: ['read_db_settings', 'see_status'] - #config: - # label: "perm.config" - # group: "system" - # operations: - # read_config: - # label: "perm.config.read_config" - # edit_config: - # label: "perm.config.edit_config" - # alsoSet: 'read_config' - # server_info: - # label: "perm.config.server_info" + config: + label: "perm.config" + group: "system" + operations: + change_system_settings: + label: "perm.config.change_system_settings" + apiTokenRole: ROLE_API_ADMIN system: label: "perm.system" @@ -222,60 +283,98 @@ perms: # Here comes a list with all Permission names (they have a perm_[name] co operations: show_logs: label: "perm.show_logs" + apiTokenRole: ROLE_API_ADMIN delete_logs: label: "perm.delete_logs" alsoSet: 'show_logs' + apiTokenRole: ROLE_API_ADMIN server_infos: label: "perm.server_infos" + apiTokenRole: ROLE_API_ADMIN + manage_oauth_tokens: + label: "Manage OAuth tokens" + apiTokenRole: ROLE_API_ADMIN + show_updates: + label: "perm.system.show_available_updates" + apiTokenRole: ROLE_API_ADMIN + attachments: label: "perm.part.attachments" operations: show_private: label: "perm.attachments.show_private" + apiTokenRole: ROLE_API_READ_ONLY list_attachments: label: "perm.attachments.list_attachments" alsoSet: ['attachment_types.read'] + apiTokenRole: ROLE_API_READ_ONLY self: label: "perm.self" operations: edit_infos: label: "perm.self.edit_infos" + apiTokenRole: ROLE_API_FULL edit_username: label: "perm.self.edit_username" + apiTokenRole: ROLE_API_FULL show_permissions: label: "perm.self.show_permissions" + apiTokenRole: ROLE_API_READ_ONLY show_logs: label: "perm.self.show_logs" + apiTokenRole: ROLE_API_FULL labels: label: "perm.labels" operations: create_labels: label: "perm.self.create_labels" + apiTokenRole: ROLE_API_READ_ONLY edit_options: label: "perm.self.edit_options" alsoSet: ['create_labels'] + apiTokenRole: ROLE_API_READ_ONLY read_profiles: label: "perm.self.read_profiles" + apiTokenRole: ROLE_API_READ_ONLY edit_profiles: label: "perm.self.edit_profiles" alsoSet: ['read_profiles'] + apiTokenRole: ROLE_API_EDIT create_profiles: label: "perm.self.create_profiles" alsoSet: ['read_profiles', 'edit_profiles'] + apiTokenRole: ROLE_API_EDIT delete_profiles: label: "perm.self.delete_profiles" alsoSet: ['read_profiles', 'edit_profiles', 'create_profiles'] + apiTokenRole: ROLE_API_EDIT use_twig: label: "perm.labels.use_twig" alsoSet: ['create_labels', 'edit_options'] + apiTokenRole: ROLE_API_ADMIN show_history: label: "perm.show_history" alsoSet: ['read_profiles'] + apiTokenRole: ROLE_API_READ_ONLY revert_element: label: "perm.revert_elements" alsoSet: ['read_profiles', 'edit_profiles', 'create_profiles', 'delete_profiles'] + apiTokenRole: ROLE_API_EDIT + import: + label: "perm.import" + alsoSet: ['read_profiles', 'edit_profiles', 'create_profiles' ] + apiTokenRole: ROLE_API_EDIT - + api: + label: "perm.api" + operations: + access_api: + label: "perm.api.access_api" + apiTokenRole: ROLE_API_READ_ONLY + manage_tokens: + label: "perm.api.manage_tokens" + alsoSet: ['access_api'] + apiTokenRole: ROLE_API_FULL diff --git a/config/reference.php b/config/reference.php new file mode 100644 index 00000000..6ea52419 --- /dev/null +++ b/config/reference.php @@ -0,0 +1,2896 @@ + [ + * 'App\\' => [ + * 'resource' => '../src/', + * ], + * ], + * ]); + * ``` + * + * @psalm-type ImportsConfig = list-And God said
-
-$\nabla \cdot \vec{D} = \rho$, -$\nabla \cdot \vec{B} = 0$, -$\nabla \times \vec{E} = -\frac{\partial \vec{B}}{\partial t}$, -$\nabla \times \vec{H} = \vec{j} + \frac{\partial \vec{D}}{\partial t}$,
-and then there was light. -