Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-10-24 18:12:41 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-10-24 18:12:41 +0300
commit40a4f37126bb1a1dd6b6f4b3c0ebb414a3e3908a (patch)
treeff6b0774cbd1ab71b69d9e9bf9fa0e0b3d1ad799
parenta19e3ec8e8545d5a6b275bab3e5ea8b0cc707449 (diff)
Add latest changes from gitlab-org/gitlab@master
-rw-r--r--Gemfile4
-rw-r--r--Gemfile.checksum24
-rw-r--r--Gemfile.lock12
-rw-r--r--app/assets/javascripts/analytics/shared/components/metric_tile.vue1
-rw-r--r--app/assets/javascripts/blob/components/blob_header.vue21
-rw-r--r--app/assets/javascripts/blob/components/blob_header_viewer_switcher.vue34
-rw-r--r--app/assets/javascripts/blob/components/constants.js3
-rw-r--r--app/assets/javascripts/boards/components/board_list.vue9
-rw-r--r--app/assets/javascripts/boards/components/board_list_header.vue3
-rw-r--r--app/assets/javascripts/boards/stores/actions.js6
-rw-r--r--app/assets/javascripts/ci/admin/jobs_table/admin_jobs_table_app.vue3
-rw-r--r--app/assets/javascripts/ci/artifacts/components/job_artifacts_table.vue6
-rw-r--r--app/assets/javascripts/ci/catalog/components/details/ci_resource_header.vue11
-rw-r--r--app/assets/javascripts/ci/common/private/job_name_component.vue2
-rw-r--r--app/assets/javascripts/ci/job_details/components/job_header.vue6
-rw-r--r--app/assets/javascripts/ci/job_details/components/sidebar/job_container_item.vue4
-rw-r--r--app/assets/javascripts/ci/job_details/components/sidebar/stages_dropdown.vue15
-rw-r--r--app/assets/javascripts/ci/jobs_page/components/job_cells/status_cell.vue6
-rw-r--r--app/assets/javascripts/ci/jobs_page/jobs_page_app.vue3
-rw-r--r--app/assets/javascripts/ci/pipeline_details/graph/components/job_item.vue6
-rw-r--r--app/assets/javascripts/ci/pipeline_details/graph/components/linked_pipeline.vue8
-rw-r--r--app/assets/javascripts/ci/pipeline_details/header/pipeline_details_header.vue11
-rw-r--r--app/assets/javascripts/ci/pipeline_details/jobs/components/failed_jobs_table.vue6
-rw-r--r--app/assets/javascripts/ci/pipeline_details/pipeline_shared_client.js7
-rw-r--r--app/assets/javascripts/ci/pipeline_editor/components/header/pipeline_status.vue13
-rw-r--r--app/assets/javascripts/ci/pipeline_editor/options.js1
-rw-r--r--app/assets/javascripts/ci/pipeline_mini_graph/legacy_pipeline_stage.vue13
-rw-r--r--app/assets/javascripts/ci/pipeline_mini_graph/linked_pipelines_mini_list.vue8
-rw-r--r--app/assets/javascripts/ci/pipeline_schedules/components/table/cells/pipeline_schedule_last_pipeline.vue7
-rw-r--r--app/assets/javascripts/ci/pipelines_page/components/pipeline_status_badge.vue11
-rw-r--r--app/assets/javascripts/ci/runner/admin_runners/admin_runners_app.vue3
-rw-r--r--app/assets/javascripts/ci/runner/components/runner_jobs_table.vue6
-rw-r--r--app/assets/javascripts/ci/runner/graphql/show/runner_jobs.query.graphql2
-rw-r--r--app/assets/javascripts/ci/runner/group_runners/group_runners_app.vue3
-rw-r--r--app/assets/javascripts/environments/components/environment_item.vue2
-rw-r--r--app/assets/javascripts/environments/graphql/client.js1
-rw-r--r--app/assets/javascripts/helpers/help_page_helper.js2
-rw-r--r--app/assets/javascripts/ide/components/ide_status_bar.vue1
-rw-r--r--app/assets/javascripts/ide/components/jobs/detail/description.vue2
-rw-r--r--app/assets/javascripts/ide/components/pipelines/list.vue2
-rw-r--r--app/assets/javascripts/issuable/components/related_issuable_item.vue2
-rw-r--r--app/assets/javascripts/issues/dashboard/components/issues_dashboard_app.vue3
-rw-r--r--app/assets/javascripts/issues/list/components/issues_list_app.vue3
-rw-r--r--app/assets/javascripts/issues/service_desk/components/service_desk_list_app.vue3
-rw-r--r--app/assets/javascripts/jira_connect/subscriptions/constants.js6
-rw-r--r--app/assets/javascripts/jira_connect/subscriptions/pages/sign_in/sign_in_gitlab_multiversion/setup_instructions.vue58
-rw-r--r--app/assets/javascripts/merge_request_tabs.js7
-rw-r--r--app/assets/javascripts/observability/client.js8
-rw-r--r--app/assets/javascripts/observability/components/observability_container.vue1
-rw-r--r--app/assets/javascripts/observability/components/observability_empty_state.vue36
-rw-r--r--app/assets/javascripts/observability/components/provisioned_observability_container.vue113
-rw-r--r--app/assets/javascripts/packages_and_registries/package_registry/components/details/additional_metadata.vue3
-rw-r--r--app/assets/javascripts/packages_and_registries/package_registry/components/details/package_files.vue3
-rw-r--r--app/assets/javascripts/pages/admin/application_settings/metrics_and_profiling/index.js2
-rw-r--r--app/assets/javascripts/pages/admin/application_settings/service_usage_data/index.js3
-rw-r--r--app/assets/javascripts/projects/commit_box/info/components/commit_box_pipeline_status.vue12
-rw-r--r--app/assets/javascripts/projects/commit_box/info/init_commit_pipeline_mini_graph.js2
-rw-r--r--app/assets/javascripts/projects/commit_box/info/init_commit_pipeline_status.js2
-rw-r--r--app/assets/javascripts/projects/pipelines/charts/components/statistics_list.vue12
-rw-r--r--app/assets/javascripts/projects/tree/components/commit_pipeline_status.vue9
-rw-r--r--app/assets/javascripts/repository/components/blob_content_viewer.vue17
-rw-r--r--app/assets/javascripts/repository/components/commit_info.vue6
-rw-r--r--app/assets/javascripts/repository/components/last_commit.vue11
-rw-r--r--app/assets/javascripts/sidebar/components/participants/sidebar_participants_widget.vue3
-rw-r--r--app/assets/javascripts/super_sidebar/components/global_search/components/global_search_default_places.vue9
-rw-r--r--app/assets/javascripts/terraform/components/states_table.vue8
-rw-r--r--app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.vue12
-rw-r--r--app/assets/javascripts/vue_shared/components/ci_badge_link.vue157
-rw-r--r--app/assets/javascripts/vue_shared/components/ci_icon.vue129
-rw-r--r--app/assets/javascripts/vue_shared/components/source_viewer/components/blame_info.vue9
-rw-r--r--app/assets/javascripts/vue_shared/components/source_viewer/queries/blame_data.query.graphql33
-rw-r--r--app/assets/javascripts/vue_shared/components/source_viewer/source_viewer_new.vue77
-rw-r--r--app/assets/javascripts/vue_shared/components/source_viewer/utils.js5
-rw-r--r--app/assets/javascripts/work_items/components/work_item_links/work_item_children_wrapper.vue3
-rw-r--r--app/assets/javascripts/work_items/components/work_item_links/work_item_links.vue3
-rw-r--r--app/assets/javascripts/work_items/components/work_item_notes.vue3
-rw-r--r--app/assets/javascripts/work_items/components/work_item_relationships/work_item_relationships.vue3
-rw-r--r--app/assets/stylesheets/framework/highlight.scss2
-rw-r--r--app/assets/stylesheets/page_bundles/build.scss8
-rw-r--r--app/controllers/admin/application_settings_controller.rb20
-rw-r--r--app/controllers/projects/blob_controller.rb1
-rw-r--r--app/controllers/projects/tree_controller.rb1
-rw-r--r--app/controllers/projects_controller.rb1
-rw-r--r--app/graphql/types/analytics/cycle_analytics/value_stream_type.rb5
-rw-r--r--app/graphql/types/project_type.rb6
-rw-r--r--app/graphql/types/projects/detailed_import_status_type.rb39
-rw-r--r--app/policies/project_import_state_policy.rb5
-rw-r--r--app/presenters/project_presenter.rb19
-rw-r--r--app/services/bulk_imports/process_service.rb2
-rw-r--r--app/services/bulk_imports/relation_batch_export_service.rb6
-rw-r--r--app/services/ci/cancel_pipeline_service.rb28
-rw-r--r--app/services/ci/pipeline_creation/cancel_redundant_pipelines_service.rb2
-rw-r--r--app/views/admin/application_settings/_usage.html.haml22
-rw-r--r--app/views/admin/application_settings/service_usage_data.html.haml29
-rw-r--r--app/views/groups/_import_group_from_another_instance_panel.html.haml4
-rw-r--r--app/views/import/gitea/new.html.haml4
-rw-r--r--app/views/import/github/new.html.haml8
-rw-r--r--app/views/shared/integrations/slack_slash_commands/_help.html.haml10
-rw-r--r--app/workers/bulk_imports/pipeline_batch_worker.rb4
-rw-r--r--app/workers/bulk_imports/pipeline_worker.rb10
-rw-r--r--app/workers/bulk_imports/relation_batch_export_worker.rb8
-rw-r--r--app/workers/bulk_imports/relation_export_worker.rb3
-rw-r--r--app/workers/ci/cancel_pipeline_worker.rb2
-rw-r--r--config/feature_flags/development/auto_devops_banner_disabled.yml2
-rw-r--r--config/feature_flags/development/blob_blame_info.yml8
-rw-r--r--config/feature_flags/development/ci_job_artifacts_backlog_large_loop_limit.yml2
-rw-r--r--config/feature_flags/development/disable_unsafe_regexp.yml2
-rw-r--r--config/feature_flags/development/display_cost_factored_storage_size_on_project_pages.yml8
-rw-r--r--config/feature_flags/development/observability_metrics.yml8
-rw-r--r--config/feature_flags/development/order_builds_for_group_runner.yml2
-rw-r--r--config/feature_flags/development/project_overwrite_service_tracking.yml2
-rw-r--r--config/feature_flags/development/set_feature_flag_service.yml2
-rw-r--r--config/routes/admin.rb1
-rw-r--r--db/migrate/20231017114131_add_auto_canceled_by_partition_id_to_p_ci_builds.rb14
-rw-r--r--db/migrate/20231020074227_add_auto_canceled_by_partition_id_to_p_ci_builds_self_managed.rb13
-rw-r--r--db/post_migrate/20231020150211_delete_duplicated_index_scan_result_policies_on_policy_configuration_id.rb16
-rw-r--r--db/schema_migrations/202310200742271
-rw-r--r--db/schema_migrations/202310201502111
-rw-r--r--db/structure.sql2
-rw-r--r--doc/administration/settings/usage_statistics.md1
-rw-r--r--doc/api/graphql/reference/index.md59
-rw-r--r--doc/architecture/blueprints/secret_manager/decisions/002_gcp_kms.md101
-rw-r--r--doc/architecture/blueprints/secret_manager/index.md1
-rw-r--r--doc/ci/environments/deployment_approvals.md129
-rw-r--r--doc/development/ai_features/duo_chat.md21
-rw-r--r--doc/development/code_review.md2
-rw-r--r--doc/development/fe_guide/graphql.md37
-rw-r--r--doc/subscriptions/gitlab_com/index.md6
-rw-r--r--doc/user/group/saml_sso/troubleshooting.md2
-rw-r--r--doc/user/project/merge_requests/cherry_pick_changes.md13
-rw-r--r--doc/user/project/merge_requests/revert_changes.md5
-rw-r--r--fixtures/emojis/digests.json19114
-rw-r--r--lib/gitlab/bitbucket_import/importers/issue_importer.rb2
-rw-r--r--lib/gitlab/bitbucket_import/importers/issues_importer.rb18
-rw-r--r--lib/gitlab/bitbucket_import/importers/pull_request_importer.rb2
-rw-r--r--lib/gitlab/bitbucket_import/loggable.rb4
-rw-r--r--lib/gitlab/emoji.rb2
-rw-r--r--lib/gitlab/gitaly_client/conflict_files_stitcher.rb10
-rw-r--r--lib/sidebars/admin/menus/admin_settings_menu.rb10
-rw-r--r--lib/sidebars/projects/super_sidebar_menus/monitor_menu.rb1
-rw-r--r--lib/tasks/tanuki_emoji.rake9
-rw-r--r--locale/gitlab.pot86
-rw-r--r--public/-/emojis/3/100.pngbin0 -> 3429 bytes
-rw-r--r--public/-/emojis/3/1234.pngbin0 -> 3097 bytes
-rw-r--r--public/-/emojis/3/8ball.pngbin0 -> 3702 bytes
-rw-r--r--public/-/emojis/3/a.pngbin0 -> 2804 bytes
-rw-r--r--public/-/emojis/3/ab.pngbin0 -> 3080 bytes
-rw-r--r--public/-/emojis/3/abc.pngbin0 -> 2999 bytes
-rw-r--r--public/-/emojis/3/abcd.pngbin0 -> 3352 bytes
-rw-r--r--public/-/emojis/3/accept.pngbin0 -> 3162 bytes
-rw-r--r--public/-/emojis/3/aerial_tramway.pngbin0 -> 3297 bytes
-rw-r--r--public/-/emojis/3/airplane.pngbin0 -> 5401 bytes
-rw-r--r--public/-/emojis/3/airplane_arriving.pngbin0 -> 4300 bytes
-rw-r--r--public/-/emojis/3/airplane_departure.pngbin0 -> 3980 bytes
-rw-r--r--public/-/emojis/3/airplane_small.pngbin0 -> 5373 bytes
-rw-r--r--public/-/emojis/3/alarm_clock.pngbin0 -> 6273 bytes
-rw-r--r--public/-/emojis/3/alembic.pngbin0 -> 4544 bytes
-rw-r--r--public/-/emojis/3/alien.pngbin0 -> 3191 bytes
-rw-r--r--public/-/emojis/3/ambulance.pngbin0 -> 3864 bytes
-rw-r--r--public/-/emojis/3/amphora.pngbin0 -> 4125 bytes
-rw-r--r--public/-/emojis/3/anchor.pngbin0 -> 3166 bytes
-rw-r--r--public/-/emojis/3/angel.pngbin0 -> 5329 bytes
-rw-r--r--public/-/emojis/3/angel_tone1.pngbin0 -> 5332 bytes
-rw-r--r--public/-/emojis/3/angel_tone2.pngbin0 -> 5196 bytes
-rw-r--r--public/-/emojis/3/angel_tone3.pngbin0 -> 5233 bytes
-rw-r--r--public/-/emojis/3/angel_tone4.pngbin0 -> 5068 bytes
-rw-r--r--public/-/emojis/3/angel_tone5.pngbin0 -> 5094 bytes
-rw-r--r--public/-/emojis/3/anger.pngbin0 -> 2791 bytes
-rw-r--r--public/-/emojis/3/anger_right.pngbin0 -> 4527 bytes
-rw-r--r--public/-/emojis/3/angry.pngbin0 -> 4815 bytes
-rw-r--r--public/-/emojis/3/anguished.pngbin0 -> 4897 bytes
-rw-r--r--public/-/emojis/3/ant.pngbin0 -> 4108 bytes
-rw-r--r--public/-/emojis/3/apple.pngbin0 -> 3432 bytes
-rw-r--r--public/-/emojis/3/aquarius.pngbin0 -> 5602 bytes
-rw-r--r--public/-/emojis/3/aries.pngbin0 -> 4474 bytes
-rw-r--r--public/-/emojis/3/arrow_backward.pngbin0 -> 1679 bytes
-rw-r--r--public/-/emojis/3/arrow_double_down.pngbin0 -> 2145 bytes
-rw-r--r--public/-/emojis/3/arrow_double_up.pngbin0 -> 2127 bytes
-rw-r--r--public/-/emojis/3/arrow_down.pngbin0 -> 1713 bytes
-rw-r--r--public/-/emojis/3/arrow_down_small.pngbin0 -> 1714 bytes
-rw-r--r--public/-/emojis/3/arrow_forward.pngbin0 -> 1656 bytes
-rw-r--r--public/-/emojis/3/arrow_heading_down.pngbin0 -> 2249 bytes
-rw-r--r--public/-/emojis/3/arrow_heading_up.pngbin0 -> 2328 bytes
-rw-r--r--public/-/emojis/3/arrow_left.pngbin0 -> 1690 bytes
-rw-r--r--public/-/emojis/3/arrow_lower_left.pngbin0 -> 1832 bytes
-rw-r--r--public/-/emojis/3/arrow_lower_right.pngbin0 -> 1803 bytes
-rw-r--r--public/-/emojis/3/arrow_right.pngbin0 -> 1680 bytes
-rw-r--r--public/-/emojis/3/arrow_right_hook.pngbin0 -> 2284 bytes
-rw-r--r--public/-/emojis/3/arrow_up.pngbin0 -> 1666 bytes
-rw-r--r--public/-/emojis/3/arrow_up_down.pngbin0 -> 2040 bytes
-rw-r--r--public/-/emojis/3/arrow_up_small.pngbin0 -> 1658 bytes
-rw-r--r--public/-/emojis/3/arrow_upper_left.pngbin0 -> 1784 bytes
-rw-r--r--public/-/emojis/3/arrow_upper_right.pngbin0 -> 1800 bytes
-rw-r--r--public/-/emojis/3/arrows_clockwise.pngbin0 -> 2736 bytes
-rw-r--r--public/-/emojis/3/arrows_counterclockwise.pngbin0 -> 2710 bytes
-rw-r--r--public/-/emojis/3/art.pngbin0 -> 4958 bytes
-rw-r--r--public/-/emojis/3/articulated_lorry.pngbin0 -> 3583 bytes
-rw-r--r--public/-/emojis/3/asterisk.pngbin0 -> 2668 bytes
-rw-r--r--public/-/emojis/3/astonished.pngbin0 -> 4894 bytes
-rw-r--r--public/-/emojis/3/athletic_shoe.pngbin0 -> 4116 bytes
-rw-r--r--public/-/emojis/3/atm.pngbin0 -> 3091 bytes
-rw-r--r--public/-/emojis/3/atom.pngbin0 -> 4941 bytes
-rw-r--r--public/-/emojis/3/avocado.pngbin0 -> 4585 bytes
-rw-r--r--public/-/emojis/3/b.pngbin0 -> 2390 bytes
-rw-r--r--public/-/emojis/3/baby.pngbin0 -> 3211 bytes
-rw-r--r--public/-/emojis/3/baby_bottle.pngbin0 -> 3677 bytes
-rw-r--r--public/-/emojis/3/baby_chick.pngbin0 -> 2407 bytes
-rw-r--r--public/-/emojis/3/baby_symbol.pngbin0 -> 3474 bytes
-rw-r--r--public/-/emojis/3/baby_tone1.pngbin0 -> 3341 bytes
-rw-r--r--public/-/emojis/3/baby_tone2.pngbin0 -> 3168 bytes
-rw-r--r--public/-/emojis/3/baby_tone3.pngbin0 -> 3107 bytes
-rw-r--r--public/-/emojis/3/baby_tone4.pngbin0 -> 3043 bytes
-rw-r--r--public/-/emojis/3/baby_tone5.pngbin0 -> 3127 bytes
-rw-r--r--public/-/emojis/3/back.pngbin0 -> 3529 bytes
-rw-r--r--public/-/emojis/3/bacon.pngbin0 -> 3805 bytes
-rw-r--r--public/-/emojis/3/badminton.pngbin0 -> 4891 bytes
-rw-r--r--public/-/emojis/3/baggage_claim.pngbin0 -> 2937 bytes
-rw-r--r--public/-/emojis/3/balloon.pngbin0 -> 1977 bytes
-rw-r--r--public/-/emojis/3/ballot_box.pngbin0 -> 3484 bytes
-rw-r--r--public/-/emojis/3/ballot_box_with_check.pngbin0 -> 2762 bytes
-rw-r--r--public/-/emojis/3/bamboo.pngbin0 -> 3829 bytes
-rw-r--r--public/-/emojis/3/banana.pngbin0 -> 3384 bytes
-rw-r--r--public/-/emojis/3/bangbang.pngbin0 -> 2312 bytes
-rw-r--r--public/-/emojis/3/bank.pngbin0 -> 4455 bytes
-rw-r--r--public/-/emojis/3/bar_chart.pngbin0 -> 2152 bytes
-rw-r--r--public/-/emojis/3/barber.pngbin0 -> 3154 bytes
-rw-r--r--public/-/emojis/3/baseball.pngbin0 -> 5149 bytes
-rw-r--r--public/-/emojis/3/basketball.pngbin0 -> 5158 bytes
-rw-r--r--public/-/emojis/3/basketball_player.pngbin0 -> 4215 bytes
-rw-r--r--public/-/emojis/3/basketball_player_tone1.pngbin0 -> 4273 bytes
-rw-r--r--public/-/emojis/3/basketball_player_tone2.pngbin0 -> 4256 bytes
-rw-r--r--public/-/emojis/3/basketball_player_tone3.pngbin0 -> 4236 bytes
-rw-r--r--public/-/emojis/3/basketball_player_tone4.pngbin0 -> 4274 bytes
-rw-r--r--public/-/emojis/3/basketball_player_tone5.pngbin0 -> 4291 bytes
-rw-r--r--public/-/emojis/3/bat.pngbin0 -> 3647 bytes
-rw-r--r--public/-/emojis/3/bath.pngbin0 -> 5134 bytes
-rw-r--r--public/-/emojis/3/bath_tone1.pngbin0 -> 5181 bytes
-rw-r--r--public/-/emojis/3/bath_tone2.pngbin0 -> 5127 bytes
-rw-r--r--public/-/emojis/3/bath_tone3.pngbin0 -> 5123 bytes
-rw-r--r--public/-/emojis/3/bath_tone4.pngbin0 -> 5123 bytes
-rw-r--r--public/-/emojis/3/bath_tone5.pngbin0 -> 5141 bytes
-rw-r--r--public/-/emojis/3/bathtub.pngbin0 -> 4064 bytes
-rw-r--r--public/-/emojis/3/battery.pngbin0 -> 2468 bytes
-rw-r--r--public/-/emojis/3/beach.pngbin0 -> 4471 bytes
-rw-r--r--public/-/emojis/3/beach_umbrella.pngbin0 -> 3787 bytes
-rw-r--r--public/-/emojis/3/bear.pngbin0 -> 3495 bytes
-rw-r--r--public/-/emojis/3/bed.pngbin0 -> 1635 bytes
-rw-r--r--public/-/emojis/3/bee.pngbin0 -> 4830 bytes
-rw-r--r--public/-/emojis/3/beer.pngbin0 -> 4702 bytes
-rw-r--r--public/-/emojis/3/beers.pngbin0 -> 6052 bytes
-rw-r--r--public/-/emojis/3/beetle.pngbin0 -> 5033 bytes
-rw-r--r--public/-/emojis/3/beginner.pngbin0 -> 2151 bytes
-rw-r--r--public/-/emojis/3/bell.pngbin0 -> 3524 bytes
-rw-r--r--public/-/emojis/3/bellhop.pngbin0 -> 3234 bytes
-rw-r--r--public/-/emojis/3/bento.pngbin0 -> 4736 bytes
-rw-r--r--public/-/emojis/3/bicyclist.pngbin0 -> 5822 bytes
-rw-r--r--public/-/emojis/3/bicyclist_tone1.pngbin0 -> 5879 bytes
-rw-r--r--public/-/emojis/3/bicyclist_tone2.pngbin0 -> 5865 bytes
-rw-r--r--public/-/emojis/3/bicyclist_tone3.pngbin0 -> 5852 bytes
-rw-r--r--public/-/emojis/3/bicyclist_tone4.pngbin0 -> 5872 bytes
-rw-r--r--public/-/emojis/3/bicyclist_tone5.pngbin0 -> 5889 bytes
-rw-r--r--public/-/emojis/3/bike.pngbin0 -> 5493 bytes
-rw-r--r--public/-/emojis/3/bikini.pngbin0 -> 4236 bytes
-rw-r--r--public/-/emojis/3/biohazard.pngbin0 -> 5855 bytes
-rw-r--r--public/-/emojis/3/bird.pngbin0 -> 2500 bytes
-rw-r--r--public/-/emojis/3/birthday.pngbin0 -> 5512 bytes
-rw-r--r--public/-/emojis/3/black_circle.pngbin0 -> 2741 bytes
-rw-r--r--public/-/emojis/3/black_heart.pngbin0 -> 2912 bytes
-rw-r--r--public/-/emojis/3/black_joker.pngbin0 -> 3545 bytes
-rw-r--r--public/-/emojis/3/black_large_square.pngbin0 -> 982 bytes
-rw-r--r--public/-/emojis/3/black_medium_small_square.pngbin0 -> 674 bytes
-rw-r--r--public/-/emojis/3/black_medium_square.pngbin0 -> 734 bytes
-rw-r--r--public/-/emojis/3/black_nib.pngbin0 -> 4179 bytes
-rw-r--r--public/-/emojis/3/black_small_square.pngbin0 -> 541 bytes
-rw-r--r--public/-/emojis/3/black_square_button.pngbin0 -> 1088 bytes
-rw-r--r--public/-/emojis/3/blossom.pngbin0 -> 5324 bytes
-rw-r--r--public/-/emojis/3/blowfish.pngbin0 -> 5323 bytes
-rw-r--r--public/-/emojis/3/blue_book.pngbin0 -> 1104 bytes
-rw-r--r--public/-/emojis/3/blue_car.pngbin0 -> 3663 bytes
-rw-r--r--public/-/emojis/3/blue_heart.pngbin0 -> 2994 bytes
-rw-r--r--public/-/emojis/3/blush.pngbin0 -> 5028 bytes
-rw-r--r--public/-/emojis/3/boar.pngbin0 -> 4472 bytes
-rw-r--r--public/-/emojis/3/bomb.pngbin0 -> 3413 bytes
-rw-r--r--public/-/emojis/3/book.pngbin0 -> 5014 bytes
-rw-r--r--public/-/emojis/3/bookmark.pngbin0 -> 2843 bytes
-rw-r--r--public/-/emojis/3/bookmark_tabs.pngbin0 -> 2553 bytes
-rw-r--r--public/-/emojis/3/books.pngbin0 -> 6804 bytes
-rw-r--r--public/-/emojis/3/boom.pngbin0 -> 6368 bytes
-rw-r--r--public/-/emojis/3/boot.pngbin0 -> 2652 bytes
-rw-r--r--public/-/emojis/3/bouquet.pngbin0 -> 5542 bytes
-rw-r--r--public/-/emojis/3/bow.pngbin0 -> 4683 bytes
-rw-r--r--public/-/emojis/3/bow_and_arrow.pngbin0 -> 3853 bytes
-rw-r--r--public/-/emojis/3/bow_tone1.pngbin0 -> 4868 bytes
-rw-r--r--public/-/emojis/3/bow_tone2.pngbin0 -> 4758 bytes
-rw-r--r--public/-/emojis/3/bow_tone3.pngbin0 -> 4660 bytes
-rw-r--r--public/-/emojis/3/bow_tone4.pngbin0 -> 4591 bytes
-rw-r--r--public/-/emojis/3/bow_tone5.pngbin0 -> 4676 bytes
-rw-r--r--public/-/emojis/3/bowling.pngbin0 -> 4860 bytes
-rw-r--r--public/-/emojis/3/boxing_glove.pngbin0 -> 2061 bytes
-rw-r--r--public/-/emojis/3/boy.pngbin0 -> 4356 bytes
-rw-r--r--public/-/emojis/3/boy_tone1.pngbin0 -> 4398 bytes
-rw-r--r--public/-/emojis/3/boy_tone2.pngbin0 -> 4319 bytes
-rw-r--r--public/-/emojis/3/boy_tone3.pngbin0 -> 4210 bytes
-rw-r--r--public/-/emojis/3/boy_tone4.pngbin0 -> 4045 bytes
-rw-r--r--public/-/emojis/3/boy_tone5.pngbin0 -> 4077 bytes
-rw-r--r--public/-/emojis/3/bread.pngbin0 -> 3361 bytes
-rw-r--r--public/-/emojis/3/bride_with_veil.pngbin0 -> 6663 bytes
-rw-r--r--public/-/emojis/3/bride_with_veil_tone1.pngbin0 -> 6669 bytes
-rw-r--r--public/-/emojis/3/bride_with_veil_tone2.pngbin0 -> 6360 bytes
-rw-r--r--public/-/emojis/3/bride_with_veil_tone3.pngbin0 -> 6513 bytes
-rw-r--r--public/-/emojis/3/bride_with_veil_tone4.pngbin0 -> 6409 bytes
-rw-r--r--public/-/emojis/3/bride_with_veil_tone5.pngbin0 -> 6437 bytes
-rw-r--r--public/-/emojis/3/bridge_at_night.pngbin0 -> 6752 bytes
-rw-r--r--public/-/emojis/3/briefcase.pngbin0 -> 2680 bytes
-rw-r--r--public/-/emojis/3/broken_heart.pngbin0 -> 3597 bytes
-rw-r--r--public/-/emojis/3/bug.pngbin0 -> 4362 bytes
-rw-r--r--public/-/emojis/3/bulb.pngbin0 -> 3532 bytes
-rw-r--r--public/-/emojis/3/bullettrain_front.pngbin0 -> 3061 bytes
-rw-r--r--public/-/emojis/3/bullettrain_side.pngbin0 -> 3117 bytes
-rw-r--r--public/-/emojis/3/burrito.pngbin0 -> 5742 bytes
-rw-r--r--public/-/emojis/3/bus.pngbin0 -> 3327 bytes
-rw-r--r--public/-/emojis/3/busstop.pngbin0 -> 3629 bytes
-rw-r--r--public/-/emojis/3/bust_in_silhouette.pngbin0 -> 1339 bytes
-rw-r--r--public/-/emojis/3/busts_in_silhouette.pngbin0 -> 1757 bytes
-rw-r--r--public/-/emojis/3/butterfly.pngbin0 -> 6362 bytes
-rw-r--r--public/-/emojis/3/cactus.pngbin0 -> 4517 bytes
-rw-r--r--public/-/emojis/3/cake.pngbin0 -> 4393 bytes
-rw-r--r--public/-/emojis/3/calendar.pngbin0 -> 3694 bytes
-rw-r--r--public/-/emojis/3/calendar_spiral.pngbin0 -> 5551 bytes
-rw-r--r--public/-/emojis/3/call_me.pngbin0 -> 3666 bytes
-rw-r--r--public/-/emojis/3/call_me_tone1.pngbin0 -> 3936 bytes
-rw-r--r--public/-/emojis/3/call_me_tone2.pngbin0 -> 4040 bytes
-rw-r--r--public/-/emojis/3/call_me_tone3.pngbin0 -> 3973 bytes
-rw-r--r--public/-/emojis/3/call_me_tone4.pngbin0 -> 3546 bytes
-rw-r--r--public/-/emojis/3/call_me_tone5.pngbin0 -> 3808 bytes
-rw-r--r--public/-/emojis/3/calling.pngbin0 -> 3136 bytes
-rw-r--r--public/-/emojis/3/camel.pngbin0 -> 3951 bytes
-rw-r--r--public/-/emojis/3/camera.pngbin0 -> 4170 bytes
-rw-r--r--public/-/emojis/3/camera_with_flash.pngbin0 -> 5079 bytes
-rw-r--r--public/-/emojis/3/camping.pngbin0 -> 4810 bytes
-rw-r--r--public/-/emojis/3/cancer.pngbin0 -> 5088 bytes
-rw-r--r--public/-/emojis/3/candle.pngbin0 -> 2797 bytes
-rw-r--r--public/-/emojis/3/candy.pngbin0 -> 3955 bytes
-rw-r--r--public/-/emojis/3/canoe.pngbin0 -> 2689 bytes
-rw-r--r--public/-/emojis/3/capital_abcd.pngbin0 -> 3330 bytes
-rw-r--r--public/-/emojis/3/capricorn.pngbin0 -> 4493 bytes
-rw-r--r--public/-/emojis/3/card_box.pngbin0 -> 1948 bytes
-rw-r--r--public/-/emojis/3/card_index.pngbin0 -> 3953 bytes
-rw-r--r--public/-/emojis/3/carousel_horse.pngbin0 -> 5794 bytes
-rw-r--r--public/-/emojis/3/carrot.pngbin0 -> 2795 bytes
-rw-r--r--public/-/emojis/3/cartwheel.pngbin0 -> 2970 bytes
-rw-r--r--public/-/emojis/3/cartwheel_tone1.pngbin0 -> 3043 bytes
-rw-r--r--public/-/emojis/3/cartwheel_tone2.pngbin0 -> 2979 bytes
-rw-r--r--public/-/emojis/3/cartwheel_tone3.pngbin0 -> 2968 bytes
-rw-r--r--public/-/emojis/3/cartwheel_tone4.pngbin0 -> 3002 bytes
-rw-r--r--public/-/emojis/3/cartwheel_tone5.pngbin0 -> 3012 bytes
-rw-r--r--public/-/emojis/3/cat.pngbin0 -> 4175 bytes
-rw-r--r--public/-/emojis/3/cat2.pngbin0 -> 3261 bytes
-rw-r--r--public/-/emojis/3/cd.pngbin0 -> 5270 bytes
-rw-r--r--public/-/emojis/3/chains.pngbin0 -> 4271 bytes
-rw-r--r--public/-/emojis/3/champagne.pngbin0 -> 3479 bytes
-rw-r--r--public/-/emojis/3/champagne_glass.pngbin0 -> 5376 bytes
-rw-r--r--public/-/emojis/3/chart.pngbin0 -> 4004 bytes
-rw-r--r--public/-/emojis/3/chart_with_downwards_trend.pngbin0 -> 4033 bytes
-rw-r--r--public/-/emojis/3/chart_with_upwards_trend.pngbin0 -> 4222 bytes
-rw-r--r--public/-/emojis/3/checkered_flag.pngbin0 -> 5404 bytes
-rw-r--r--public/-/emojis/3/cheese.pngbin0 -> 3157 bytes
-rw-r--r--public/-/emojis/3/cherries.pngbin0 -> 3910 bytes
-rw-r--r--public/-/emojis/3/cherry_blossom.pngbin0 -> 3387 bytes
-rw-r--r--public/-/emojis/3/chestnut.pngbin0 -> 4084 bytes
-rw-r--r--public/-/emojis/3/chicken.pngbin0 -> 3936 bytes
-rw-r--r--public/-/emojis/3/children_crossing.pngbin0 -> 3964 bytes
-rw-r--r--public/-/emojis/3/chipmunk.pngbin0 -> 4676 bytes
-rw-r--r--public/-/emojis/3/chocolate_bar.pngbin0 -> 4559 bytes
-rw-r--r--public/-/emojis/3/christmas_tree.pngbin0 -> 5452 bytes
-rw-r--r--public/-/emojis/3/church.pngbin0 -> 3873 bytes
-rw-r--r--public/-/emojis/3/cinema.pngbin0 -> 2555 bytes
-rw-r--r--public/-/emojis/3/circus_tent.pngbin0 -> 5116 bytes
-rw-r--r--public/-/emojis/3/city_dusk.pngbin0 -> 5760 bytes
-rw-r--r--public/-/emojis/3/city_sunset.pngbin0 -> 6407 bytes
-rw-r--r--public/-/emojis/3/cityscape.pngbin0 -> 5902 bytes
-rw-r--r--public/-/emojis/3/cl.pngbin0 -> 2540 bytes
-rw-r--r--public/-/emojis/3/clap.pngbin0 -> 4650 bytes
-rw-r--r--public/-/emojis/3/clap_tone1.pngbin0 -> 5025 bytes
-rw-r--r--public/-/emojis/3/clap_tone2.pngbin0 -> 4966 bytes
-rw-r--r--public/-/emojis/3/clap_tone3.pngbin0 -> 5007 bytes
-rw-r--r--public/-/emojis/3/clap_tone4.pngbin0 -> 4635 bytes
-rw-r--r--public/-/emojis/3/clap_tone5.pngbin0 -> 4828 bytes
-rw-r--r--public/-/emojis/3/clapper.pngbin0 -> 3826 bytes
-rw-r--r--public/-/emojis/3/classical_building.pngbin0 -> 3736 bytes
-rw-r--r--public/-/emojis/3/clipboard.pngbin0 -> 1924 bytes
-rw-r--r--public/-/emojis/3/clock.pngbin0 -> 4974 bytes
-rw-r--r--public/-/emojis/3/clock1.pngbin0 -> 4232 bytes
-rw-r--r--public/-/emojis/3/clock10.pngbin0 -> 4296 bytes
-rw-r--r--public/-/emojis/3/clock1030.pngbin0 -> 4284 bytes
-rw-r--r--public/-/emojis/3/clock11.pngbin0 -> 4176 bytes
-rw-r--r--public/-/emojis/3/clock1130.pngbin0 -> 4210 bytes
-rw-r--r--public/-/emojis/3/clock12.pngbin0 -> 4045 bytes
-rw-r--r--public/-/emojis/3/clock1230.pngbin0 -> 4225 bytes
-rw-r--r--public/-/emojis/3/clock130.pngbin0 -> 4250 bytes
-rw-r--r--public/-/emojis/3/clock2.pngbin0 -> 4238 bytes
-rw-r--r--public/-/emojis/3/clock230.pngbin0 -> 4203 bytes
-rw-r--r--public/-/emojis/3/clock3.pngbin0 -> 4058 bytes
-rw-r--r--public/-/emojis/3/clock330.pngbin0 -> 4248 bytes
-rw-r--r--public/-/emojis/3/clock4.pngbin0 -> 4299 bytes
-rw-r--r--public/-/emojis/3/clock430.pngbin0 -> 4257 bytes
-rw-r--r--public/-/emojis/3/clock5.pngbin0 -> 4205 bytes
-rw-r--r--public/-/emojis/3/clock530.pngbin0 -> 4176 bytes
-rw-r--r--public/-/emojis/3/clock6.pngbin0 -> 4078 bytes
-rw-r--r--public/-/emojis/3/clock630.pngbin0 -> 4182 bytes
-rw-r--r--public/-/emojis/3/clock7.pngbin0 -> 4197 bytes
-rw-r--r--public/-/emojis/3/clock730.pngbin0 -> 4235 bytes
-rw-r--r--public/-/emojis/3/clock8.pngbin0 -> 4219 bytes
-rw-r--r--public/-/emojis/3/clock830.pngbin0 -> 4216 bytes
-rw-r--r--public/-/emojis/3/clock9.pngbin0 -> 4065 bytes
-rw-r--r--public/-/emojis/3/clock930.pngbin0 -> 4240 bytes
-rw-r--r--public/-/emojis/3/closed_book.pngbin0 -> 1117 bytes
-rw-r--r--public/-/emojis/3/closed_lock_with_key.pngbin0 -> 3986 bytes
-rw-r--r--public/-/emojis/3/closed_umbrella.pngbin0 -> 3932 bytes
-rw-r--r--public/-/emojis/3/cloud.pngbin0 -> 1704 bytes
-rw-r--r--public/-/emojis/3/cloud_lightning.pngbin0 -> 2647 bytes
-rw-r--r--public/-/emojis/3/cloud_rain.pngbin0 -> 2700 bytes
-rw-r--r--public/-/emojis/3/cloud_snow.pngbin0 -> 2918 bytes
-rw-r--r--public/-/emojis/3/cloud_tornado.pngbin0 -> 4640 bytes
-rw-r--r--public/-/emojis/3/clown.pngbin0 -> 5987 bytes
-rw-r--r--public/-/emojis/3/clubs.pngbin0 -> 2188 bytes
-rw-r--r--public/-/emojis/3/cocktail.pngbin0 -> 4333 bytes
-rw-r--r--public/-/emojis/3/coffee.pngbin0 -> 4816 bytes
-rw-r--r--public/-/emojis/3/coffin.pngbin0 -> 4583 bytes
-rw-r--r--public/-/emojis/3/cold_sweat.pngbin0 -> 5402 bytes
-rw-r--r--public/-/emojis/3/comet.pngbin0 -> 5048 bytes
-rw-r--r--public/-/emojis/3/compression.pngbin0 -> 3724 bytes
-rw-r--r--public/-/emojis/3/computer.pngbin0 -> 3228 bytes
-rw-r--r--public/-/emojis/3/confetti_ball.pngbin0 -> 6051 bytes
-rw-r--r--public/-/emojis/3/confounded.pngbin0 -> 5187 bytes
-rw-r--r--public/-/emojis/3/confused.pngbin0 -> 4642 bytes
-rw-r--r--public/-/emojis/3/congratulations.pngbin0 -> 4555 bytes
-rw-r--r--public/-/emojis/3/construction.pngbin0 -> 3478 bytes
-rw-r--r--public/-/emojis/3/construction_site.pngbin0 -> 4264 bytes
-rw-r--r--public/-/emojis/3/construction_worker.pngbin0 -> 4896 bytes
-rw-r--r--public/-/emojis/3/construction_worker_tone1.pngbin0 -> 5067 bytes
-rw-r--r--public/-/emojis/3/construction_worker_tone2.pngbin0 -> 4795 bytes
-rw-r--r--public/-/emojis/3/construction_worker_tone3.pngbin0 -> 4830 bytes
-rw-r--r--public/-/emojis/3/construction_worker_tone4.pngbin0 -> 4730 bytes
-rw-r--r--public/-/emojis/3/construction_worker_tone5.pngbin0 -> 4717 bytes
-rw-r--r--public/-/emojis/3/control_knobs.pngbin0 -> 5684 bytes
-rw-r--r--public/-/emojis/3/convenience_store.pngbin0 -> 2698 bytes
-rw-r--r--public/-/emojis/3/cookie.pngbin0 -> 5938 bytes
-rw-r--r--public/-/emojis/3/cooking.pngbin0 -> 4770 bytes
-rw-r--r--public/-/emojis/3/cool.pngbin0 -> 2875 bytes
-rw-r--r--public/-/emojis/3/cop.pngbin0 -> 6019 bytes
-rw-r--r--public/-/emojis/3/cop_tone1.pngbin0 -> 6169 bytes
-rw-r--r--public/-/emojis/3/cop_tone2.pngbin0 -> 5920 bytes
-rw-r--r--public/-/emojis/3/cop_tone3.pngbin0 -> 5868 bytes
-rw-r--r--public/-/emojis/3/cop_tone4.pngbin0 -> 5772 bytes
-rw-r--r--public/-/emojis/3/cop_tone5.pngbin0 -> 5780 bytes
-rw-r--r--public/-/emojis/3/copyright.pngbin0 -> 5128 bytes
-rw-r--r--public/-/emojis/3/corn.pngbin0 -> 5563 bytes
-rw-r--r--public/-/emojis/3/couch.pngbin0 -> 2475 bytes
-rw-r--r--public/-/emojis/3/couple.pngbin0 -> 5173 bytes
-rw-r--r--public/-/emojis/3/couple_mm.pngbin0 -> 5810 bytes
-rw-r--r--public/-/emojis/3/couple_with_heart.pngbin0 -> 6553 bytes
-rw-r--r--public/-/emojis/3/couple_ww.pngbin0 -> 6149 bytes
-rw-r--r--public/-/emojis/3/couplekiss.pngbin0 -> 5525 bytes
-rw-r--r--public/-/emojis/3/cow.pngbin0 -> 4007 bytes
-rw-r--r--public/-/emojis/3/cow2.pngbin0 -> 4363 bytes
-rw-r--r--public/-/emojis/3/cowboy.pngbin0 -> 5300 bytes
-rw-r--r--public/-/emojis/3/crab.pngbin0 -> 4705 bytes
-rw-r--r--public/-/emojis/3/crayon.pngbin0 -> 2966 bytes
-rw-r--r--public/-/emojis/3/credit_card.pngbin0 -> 1178 bytes
-rw-r--r--public/-/emojis/3/crescent_moon.pngbin0 -> 2074 bytes
-rw-r--r--public/-/emojis/3/cricket.pngbin0 -> 3508 bytes
-rw-r--r--public/-/emojis/3/crocodile.pngbin0 -> 4846 bytes
-rw-r--r--public/-/emojis/3/croissant.pngbin0 -> 5061 bytes
-rw-r--r--public/-/emojis/3/cross.pngbin0 -> 1516 bytes
-rw-r--r--public/-/emojis/3/crossed_flags.pngbin0 -> 4828 bytes
-rw-r--r--public/-/emojis/3/crossed_swords.pngbin0 -> 4299 bytes
-rw-r--r--public/-/emojis/3/crown.pngbin0 -> 5591 bytes
-rw-r--r--public/-/emojis/3/cruise_ship.pngbin0 -> 4569 bytes
-rw-r--r--public/-/emojis/3/cry.pngbin0 -> 5234 bytes
-rw-r--r--public/-/emojis/3/crying_cat_face.pngbin0 -> 4784 bytes
-rw-r--r--public/-/emojis/3/crystal_ball.pngbin0 -> 6021 bytes
-rw-r--r--public/-/emojis/3/cucumber.pngbin0 -> 3510 bytes
-rw-r--r--public/-/emojis/3/cupid.pngbin0 -> 3724 bytes
-rw-r--r--public/-/emojis/3/curly_loop.pngbin0 -> 3415 bytes
-rw-r--r--public/-/emojis/3/currency_exchange.pngbin0 -> 4497 bytes
-rw-r--r--public/-/emojis/3/curry.pngbin0 -> 5423 bytes
-rw-r--r--public/-/emojis/3/custard.pngbin0 -> 4078 bytes
-rw-r--r--public/-/emojis/3/customs.pngbin0 -> 3252 bytes
-rw-r--r--public/-/emojis/3/cyclone.pngbin0 -> 2952 bytes
-rw-r--r--public/-/emojis/3/dagger.pngbin0 -> 3563 bytes
-rw-r--r--public/-/emojis/3/dancer.pngbin0 -> 4630 bytes
-rw-r--r--public/-/emojis/3/dancer_tone1.pngbin0 -> 4815 bytes
-rw-r--r--public/-/emojis/3/dancer_tone2.pngbin0 -> 4725 bytes
-rw-r--r--public/-/emojis/3/dancer_tone3.pngbin0 -> 4651 bytes
-rw-r--r--public/-/emojis/3/dancer_tone4.pngbin0 -> 4627 bytes
-rw-r--r--public/-/emojis/3/dancer_tone5.pngbin0 -> 4671 bytes
-rw-r--r--public/-/emojis/3/dancers.pngbin0 -> 7024 bytes
-rw-r--r--public/-/emojis/3/dango.pngbin0 -> 2521 bytes
-rw-r--r--public/-/emojis/3/dark_sunglasses.pngbin0 -> 2077 bytes
-rw-r--r--public/-/emojis/3/dart.pngbin0 -> 5170 bytes
-rw-r--r--public/-/emojis/3/dash.pngbin0 -> 3690 bytes
-rw-r--r--public/-/emojis/3/date.pngbin0 -> 2660 bytes
-rw-r--r--public/-/emojis/3/deciduous_tree.pngbin0 -> 3211 bytes
-rw-r--r--public/-/emojis/3/deer.pngbin0 -> 3056 bytes
-rw-r--r--public/-/emojis/3/department_store.pngbin0 -> 4122 bytes
-rw-r--r--public/-/emojis/3/desert.pngbin0 -> 4523 bytes
-rw-r--r--public/-/emojis/3/desktop.pngbin0 -> 3258 bytes
-rw-r--r--public/-/emojis/3/diamond_shape_with_a_dot_inside.pngbin0 -> 3773 bytes
-rw-r--r--public/-/emojis/3/diamonds.pngbin0 -> 1936 bytes
-rw-r--r--public/-/emojis/3/disappointed.pngbin0 -> 4443 bytes
-rw-r--r--public/-/emojis/3/disappointed_relieved.pngbin0 -> 5316 bytes
-rw-r--r--public/-/emojis/3/dividers.pngbin0 -> 1221 bytes
-rw-r--r--public/-/emojis/3/dizzy.pngbin0 -> 3519 bytes
-rw-r--r--public/-/emojis/3/dizzy_face.pngbin0 -> 5424 bytes
-rw-r--r--public/-/emojis/3/do_not_litter.pngbin0 -> 5991 bytes
-rw-r--r--public/-/emojis/3/dog.pngbin0 -> 3819 bytes
-rw-r--r--public/-/emojis/3/dog2.pngbin0 -> 4299 bytes
-rw-r--r--public/-/emojis/3/dollar.pngbin0 -> 2400 bytes
-rw-r--r--public/-/emojis/3/dolls.pngbin0 -> 6570 bytes
-rw-r--r--public/-/emojis/3/dolphin.pngbin0 -> 3429 bytes
-rw-r--r--public/-/emojis/3/door.pngbin0 -> 1048 bytes
-rw-r--r--public/-/emojis/3/doughnut.pngbin0 -> 5066 bytes
-rw-r--r--public/-/emojis/3/dove.pngbin0 -> 3487 bytes
-rw-r--r--public/-/emojis/3/dragon.pngbin0 -> 5676 bytes
-rw-r--r--public/-/emojis/3/dragon_face.pngbin0 -> 5024 bytes
-rw-r--r--public/-/emojis/3/dress.pngbin0 -> 2376 bytes
-rw-r--r--public/-/emojis/3/dromedary_camel.pngbin0 -> 3406 bytes
-rw-r--r--public/-/emojis/3/drooling_face.pngbin0 -> 5286 bytes
-rw-r--r--public/-/emojis/3/droplet.pngbin0 -> 1614 bytes
-rw-r--r--public/-/emojis/3/drum.pngbin0 -> 5433 bytes
-rw-r--r--public/-/emojis/3/duck.pngbin0 -> 3436 bytes
-rw-r--r--public/-/emojis/3/dvd.pngbin0 -> 5257 bytes
-rw-r--r--public/-/emojis/3/e-mail.pngbin0 -> 2597 bytes
-rw-r--r--public/-/emojis/3/eagle.pngbin0 -> 3506 bytes
-rw-r--r--public/-/emojis/3/ear.pngbin0 -> 3801 bytes
-rw-r--r--public/-/emojis/3/ear_of_rice.pngbin0 -> 3601 bytes
-rw-r--r--public/-/emojis/3/ear_tone1.pngbin0 -> 3643 bytes
-rw-r--r--public/-/emojis/3/ear_tone2.pngbin0 -> 3659 bytes
-rw-r--r--public/-/emojis/3/ear_tone3.pngbin0 -> 3702 bytes
-rw-r--r--public/-/emojis/3/ear_tone4.pngbin0 -> 3365 bytes
-rw-r--r--public/-/emojis/3/ear_tone5.pngbin0 -> 3432 bytes
-rw-r--r--public/-/emojis/3/earth_africa.pngbin0 -> 6073 bytes
-rw-r--r--public/-/emojis/3/earth_americas.pngbin0 -> 5651 bytes
-rw-r--r--public/-/emojis/3/earth_asia.pngbin0 -> 6108 bytes
-rw-r--r--public/-/emojis/3/egg.pngbin0 -> 2340 bytes
-rw-r--r--public/-/emojis/3/eggplant.pngbin0 -> 2665 bytes
-rw-r--r--public/-/emojis/3/eight.pngbin0 -> 2697 bytes
-rw-r--r--public/-/emojis/3/eight_pointed_black_star.pngbin0 -> 2657 bytes
-rw-r--r--public/-/emojis/3/eight_spoked_asterisk.pngbin0 -> 2695 bytes
-rw-r--r--public/-/emojis/3/eject.pngbin0 -> 1881 bytes
-rw-r--r--public/-/emojis/3/electric_plug.pngbin0 -> 3440 bytes
-rw-r--r--public/-/emojis/3/elephant.pngbin0 -> 3367 bytes
-rw-r--r--public/-/emojis/3/emojis.json12560
-rw-r--r--public/-/emojis/3/end.pngbin0 -> 2763 bytes
-rw-r--r--public/-/emojis/3/envelope.pngbin0 -> 2349 bytes
-rw-r--r--public/-/emojis/3/envelope_with_arrow.pngbin0 -> 2710 bytes
-rw-r--r--public/-/emojis/3/euro.pngbin0 -> 2357 bytes
-rw-r--r--public/-/emojis/3/european_castle.pngbin0 -> 4038 bytes
-rw-r--r--public/-/emojis/3/european_post_office.pngbin0 -> 3735 bytes
-rw-r--r--public/-/emojis/3/evergreen_tree.pngbin0 -> 4038 bytes
-rw-r--r--public/-/emojis/3/exclamation.pngbin0 -> 1320 bytes
-rw-r--r--public/-/emojis/3/expressionless.pngbin0 -> 3974 bytes
-rw-r--r--public/-/emojis/3/eye.pngbin0 -> 4113 bytes
-rw-r--r--public/-/emojis/3/eye_in_speech_bubble.pngbin0 -> 4306 bytes
-rw-r--r--public/-/emojis/3/eyeglasses.pngbin0 -> 2289 bytes
-rw-r--r--public/-/emojis/3/eyes.pngbin0 -> 4038 bytes
-rw-r--r--public/-/emojis/3/face_palm.pngbin0 -> 5371 bytes
-rw-r--r--public/-/emojis/3/face_palm_tone1.pngbin0 -> 5569 bytes
-rw-r--r--public/-/emojis/3/face_palm_tone2.pngbin0 -> 5362 bytes
-rw-r--r--public/-/emojis/3/face_palm_tone3.pngbin0 -> 5288 bytes
-rw-r--r--public/-/emojis/3/face_palm_tone4.pngbin0 -> 5135 bytes
-rw-r--r--public/-/emojis/3/face_palm_tone5.pngbin0 -> 5136 bytes
-rw-r--r--public/-/emojis/3/factory.pngbin0 -> 3573 bytes
-rw-r--r--public/-/emojis/3/fallen_leaf.pngbin0 -> 4567 bytes
-rw-r--r--public/-/emojis/3/family.pngbin0 -> 6948 bytes
-rw-r--r--public/-/emojis/3/family_mmb.pngbin0 -> 6105 bytes
-rw-r--r--public/-/emojis/3/family_mmbb.pngbin0 -> 7068 bytes
-rw-r--r--public/-/emojis/3/family_mmg.pngbin0 -> 6193 bytes
-rw-r--r--public/-/emojis/3/family_mmgb.pngbin0 -> 7166 bytes
-rw-r--r--public/-/emojis/3/family_mmgg.pngbin0 -> 7227 bytes
-rw-r--r--public/-/emojis/3/family_mwbb.pngbin0 -> 7391 bytes
-rw-r--r--public/-/emojis/3/family_mwg.pngbin0 -> 6476 bytes
-rw-r--r--public/-/emojis/3/family_mwgb.pngbin0 -> 7491 bytes
-rw-r--r--public/-/emojis/3/family_mwgg.pngbin0 -> 7567 bytes
-rw-r--r--public/-/emojis/3/family_wwb.pngbin0 -> 6449 bytes
-rw-r--r--public/-/emojis/3/family_wwbb.pngbin0 -> 7388 bytes
-rw-r--r--public/-/emojis/3/family_wwg.pngbin0 -> 6464 bytes
-rw-r--r--public/-/emojis/3/family_wwgb.pngbin0 -> 7472 bytes
-rw-r--r--public/-/emojis/3/family_wwgg.pngbin0 -> 7559 bytes
-rw-r--r--public/-/emojis/3/fast_forward.pngbin0 -> 2175 bytes
-rw-r--r--public/-/emojis/3/fax.pngbin0 -> 4402 bytes
-rw-r--r--public/-/emojis/3/fearful.pngbin0 -> 5029 bytes
-rw-r--r--public/-/emojis/3/feet.pngbin0 -> 2176 bytes
-rw-r--r--public/-/emojis/3/fencer.pngbin0 -> 4332 bytes
-rw-r--r--public/-/emojis/3/ferris_wheel.pngbin0 -> 7812 bytes
-rw-r--r--public/-/emojis/3/ferry.pngbin0 -> 4406 bytes
-rw-r--r--public/-/emojis/3/field_hockey.pngbin0 -> 3521 bytes
-rw-r--r--public/-/emojis/3/file_cabinet.pngbin0 -> 1937 bytes
-rw-r--r--public/-/emojis/3/file_folder.pngbin0 -> 1645 bytes
-rw-r--r--public/-/emojis/3/film_frames.pngbin0 -> 3374 bytes
-rw-r--r--public/-/emojis/3/fingers_crossed.pngbin0 -> 3592 bytes
-rw-r--r--public/-/emojis/3/fingers_crossed_tone1.pngbin0 -> 3952 bytes
-rw-r--r--public/-/emojis/3/fingers_crossed_tone2.pngbin0 -> 4026 bytes
-rw-r--r--public/-/emojis/3/fingers_crossed_tone3.pngbin0 -> 3880 bytes
-rw-r--r--public/-/emojis/3/fingers_crossed_tone4.pngbin0 -> 3518 bytes
-rw-r--r--public/-/emojis/3/fingers_crossed_tone5.pngbin0 -> 3678 bytes
-rw-r--r--public/-/emojis/3/fire.pngbin0 -> 3744 bytes
-rw-r--r--public/-/emojis/3/fire_engine.pngbin0 -> 3792 bytes
-rw-r--r--public/-/emojis/3/fireworks.pngbin0 -> 9670 bytes
-rw-r--r--public/-/emojis/3/first_place.pngbin0 -> 3269 bytes
-rw-r--r--public/-/emojis/3/first_quarter_moon.pngbin0 -> 3809 bytes
-rw-r--r--public/-/emojis/3/first_quarter_moon_with_face.pngbin0 -> 3386 bytes
-rw-r--r--public/-/emojis/3/fish.pngbin0 -> 3269 bytes
-rw-r--r--public/-/emojis/3/fish_cake.pngbin0 -> 5325 bytes
-rw-r--r--public/-/emojis/3/fishing_pole_and_fish.pngbin0 -> 3633 bytes
-rw-r--r--public/-/emojis/3/fist.pngbin0 -> 4433 bytes
-rw-r--r--public/-/emojis/3/fist_tone1.pngbin0 -> 4893 bytes
-rw-r--r--public/-/emojis/3/fist_tone2.pngbin0 -> 4935 bytes
-rw-r--r--public/-/emojis/3/fist_tone3.pngbin0 -> 4564 bytes
-rw-r--r--public/-/emojis/3/fist_tone4.pngbin0 -> 4289 bytes
-rw-r--r--public/-/emojis/3/fist_tone5.pngbin0 -> 4299 bytes
-rw-r--r--public/-/emojis/3/five.pngbin0 -> 2379 bytes
-rw-r--r--public/-/emojis/3/flag_ac.pngbin0 -> 5417 bytes
-rw-r--r--public/-/emojis/3/flag_ad.pngbin0 -> 3679 bytes
-rw-r--r--public/-/emojis/3/flag_ae.pngbin0 -> 2260 bytes
-rw-r--r--public/-/emojis/3/flag_af.pngbin0 -> 3840 bytes
-rw-r--r--public/-/emojis/3/flag_ag.pngbin0 -> 4348 bytes
-rw-r--r--public/-/emojis/3/flag_ai.pngbin0 -> 4868 bytes
-rw-r--r--public/-/emojis/3/flag_al.pngbin0 -> 4244 bytes
-rw-r--r--public/-/emojis/3/flag_am.pngbin0 -> 3180 bytes
-rw-r--r--public/-/emojis/3/flag_ao.pngbin0 -> 3976 bytes
-rw-r--r--public/-/emojis/3/flag_aq.pngbin0 -> 3687 bytes
-rw-r--r--public/-/emojis/3/flag_ar.pngbin0 -> 3575 bytes
-rw-r--r--public/-/emojis/3/flag_as.pngbin0 -> 4483 bytes
-rw-r--r--public/-/emojis/3/flag_at.pngbin0 -> 3109 bytes
-rw-r--r--public/-/emojis/3/flag_au.pngbin0 -> 4377 bytes
-rw-r--r--public/-/emojis/3/flag_aw.pngbin0 -> 4458 bytes
-rw-r--r--public/-/emojis/3/flag_ax.pngbin0 -> 4073 bytes
-rw-r--r--public/-/emojis/3/flag_az.pngbin0 -> 3840 bytes
-rw-r--r--public/-/emojis/3/flag_ba.pngbin0 -> 4022 bytes
-rw-r--r--public/-/emojis/3/flag_bb.pngbin0 -> 3240 bytes
-rw-r--r--public/-/emojis/3/flag_bd.pngbin0 -> 2956 bytes
-rw-r--r--public/-/emojis/3/flag_be.pngbin0 -> 2304 bytes
-rw-r--r--public/-/emojis/3/flag_bf.pngbin0 -> 3029 bytes
-rw-r--r--public/-/emojis/3/flag_bg.pngbin0 -> 3158 bytes
-rw-r--r--public/-/emojis/3/flag_bh.pngbin0 -> 3494 bytes
-rw-r--r--public/-/emojis/3/flag_bi.pngbin0 -> 5293 bytes
-rw-r--r--public/-/emojis/3/flag_bj.pngbin0 -> 2974 bytes
-rw-r--r--public/-/emojis/3/flag_bl.pngbin0 -> 5101 bytes
-rw-r--r--public/-/emojis/3/flag_black.pngbin0 -> 2831 bytes
-rw-r--r--public/-/emojis/3/flag_bm.pngbin0 -> 5562 bytes
-rw-r--r--public/-/emojis/3/flag_bn.pngbin0 -> 4677 bytes
-rw-r--r--public/-/emojis/3/flag_bo.pngbin0 -> 3130 bytes
-rw-r--r--public/-/emojis/3/flag_bq.pngbin0 -> 4110 bytes
-rw-r--r--public/-/emojis/3/flag_br.pngbin0 -> 4522 bytes
-rw-r--r--public/-/emojis/3/flag_bs.pngbin0 -> 3170 bytes
-rw-r--r--public/-/emojis/3/flag_bt.pngbin0 -> 4770 bytes
-rw-r--r--public/-/emojis/3/flag_bv.pngbin0 -> 4312 bytes
-rw-r--r--public/-/emojis/3/flag_bw.pngbin0 -> 3981 bytes
-rw-r--r--public/-/emojis/3/flag_by.pngbin0 -> 3969 bytes
-rw-r--r--public/-/emojis/3/flag_bz.pngbin0 -> 5952 bytes
-rw-r--r--public/-/emojis/3/flag_ca.pngbin0 -> 2441 bytes
-rw-r--r--public/-/emojis/3/flag_cc.pngbin0 -> 3093 bytes
-rw-r--r--public/-/emojis/3/flag_cd.pngbin0 -> 4558 bytes
-rw-r--r--public/-/emojis/3/flag_cf.pngbin0 -> 3796 bytes
-rw-r--r--public/-/emojis/3/flag_cg.pngbin0 -> 3593 bytes
-rw-r--r--public/-/emojis/3/flag_ch.pngbin0 -> 1830 bytes
-rw-r--r--public/-/emojis/3/flag_ci.pngbin0 -> 2322 bytes
-rw-r--r--public/-/emojis/3/flag_ck.pngbin0 -> 5675 bytes
-rw-r--r--public/-/emojis/3/flag_cl.pngbin0 -> 3265 bytes
-rw-r--r--public/-/emojis/3/flag_cm.pngbin0 -> 3159 bytes
-rw-r--r--public/-/emojis/3/flag_cn.pngbin0 -> 3457 bytes
-rw-r--r--public/-/emojis/3/flag_co.pngbin0 -> 3468 bytes
-rw-r--r--public/-/emojis/3/flag_cp.pngbin0 -> 2564 bytes
-rw-r--r--public/-/emojis/3/flag_cr.pngbin0 -> 3967 bytes
-rw-r--r--public/-/emojis/3/flag_cu.pngbin0 -> 4313 bytes
-rw-r--r--public/-/emojis/3/flag_cv.pngbin0 -> 4356 bytes
-rw-r--r--public/-/emojis/3/flag_cw.pngbin0 -> 3609 bytes
-rw-r--r--public/-/emojis/3/flag_cx.pngbin0 -> 4590 bytes
-rw-r--r--public/-/emojis/3/flag_cy.pngbin0 -> 3018 bytes
-rw-r--r--public/-/emojis/3/flag_cz.pngbin0 -> 3434 bytes
-rw-r--r--public/-/emojis/3/flag_de.pngbin0 -> 2217 bytes
-rw-r--r--public/-/emojis/3/flag_dg.pngbin0 -> 8831 bytes
-rw-r--r--public/-/emojis/3/flag_dj.pngbin0 -> 3765 bytes
-rw-r--r--public/-/emojis/3/flag_dk.pngbin0 -> 3547 bytes
-rw-r--r--public/-/emojis/3/flag_dm.pngbin0 -> 4407 bytes
-rw-r--r--public/-/emojis/3/flag_do.pngbin0 -> 3628 bytes
-rw-r--r--public/-/emojis/3/flag_dz.pngbin0 -> 3080 bytes
-rw-r--r--public/-/emojis/3/flag_ea.pngbin0 -> 3922 bytes
-rw-r--r--public/-/emojis/3/flag_ec.pngbin0 -> 4321 bytes
-rw-r--r--public/-/emojis/3/flag_ee.pngbin0 -> 2601 bytes
-rw-r--r--public/-/emojis/3/flag_eg.pngbin0 -> 2949 bytes
-rw-r--r--public/-/emojis/3/flag_eh.pngbin0 -> 3334 bytes
-rw-r--r--public/-/emojis/3/flag_er.pngbin0 -> 4782 bytes
-rw-r--r--public/-/emojis/3/flag_es.pngbin0 -> 3922 bytes
-rw-r--r--public/-/emojis/3/flag_et.pngbin0 -> 4771 bytes
-rw-r--r--public/-/emojis/3/flag_eu.pngbin0 -> 3474 bytes
-rw-r--r--public/-/emojis/3/flag_fi.pngbin0 -> 3009 bytes
-rw-r--r--public/-/emojis/3/flag_fj.pngbin0 -> 5649 bytes
-rw-r--r--public/-/emojis/3/flag_fk.pngbin0 -> 5268 bytes
-rw-r--r--public/-/emojis/3/flag_fm.pngbin0 -> 3552 bytes
-rw-r--r--public/-/emojis/3/flag_fo.pngbin0 -> 3753 bytes
-rw-r--r--public/-/emojis/3/flag_fr.pngbin0 -> 2564 bytes
-rw-r--r--public/-/emojis/3/flag_ga.pngbin0 -> 3416 bytes
-rw-r--r--public/-/emojis/3/flag_gb.pngbin0 -> 6636 bytes
-rw-r--r--public/-/emojis/3/flag_gd.pngbin0 -> 4878 bytes
-rw-r--r--public/-/emojis/3/flag_ge.pngbin0 -> 3036 bytes
-rw-r--r--public/-/emojis/3/flag_gf.pngbin0 -> 3584 bytes
-rw-r--r--public/-/emojis/3/flag_gg.pngbin0 -> 3414 bytes
-rw-r--r--public/-/emojis/3/flag_gh.pngbin0 -> 3656 bytes
-rw-r--r--public/-/emojis/3/flag_gi.pngbin0 -> 3416 bytes
-rw-r--r--public/-/emojis/3/flag_gl.pngbin0 -> 3523 bytes
-rw-r--r--public/-/emojis/3/flag_gm.pngbin0 -> 4338 bytes
-rw-r--r--public/-/emojis/3/flag_gn.pngbin0 -> 2866 bytes
-rw-r--r--public/-/emojis/3/flag_gp.pngbin0 -> 4367 bytes
-rw-r--r--public/-/emojis/3/flag_gq.pngbin0 -> 3911 bytes
-rw-r--r--public/-/emojis/3/flag_gr.pngbin0 -> 5192 bytes
-rw-r--r--public/-/emojis/3/flag_gs.pngbin0 -> 5561 bytes
-rw-r--r--public/-/emojis/3/flag_gt.pngbin0 -> 3411 bytes
-rw-r--r--public/-/emojis/3/flag_gu.pngbin0 -> 3457 bytes
-rw-r--r--public/-/emojis/3/flag_gw.pngbin0 -> 3274 bytes
-rw-r--r--public/-/emojis/3/flag_gy.pngbin0 -> 4879 bytes
-rw-r--r--public/-/emojis/3/flag_hk.pngbin0 -> 4245 bytes
-rw-r--r--public/-/emojis/3/flag_hm.pngbin0 -> 4377 bytes
-rw-r--r--public/-/emojis/3/flag_hn.pngbin0 -> 3320 bytes
-rw-r--r--public/-/emojis/3/flag_hr.pngbin0 -> 3448 bytes
-rw-r--r--public/-/emojis/3/flag_ht.pngbin0 -> 3418 bytes
-rw-r--r--public/-/emojis/3/flag_hu.pngbin0 -> 3128 bytes
-rw-r--r--public/-/emojis/3/flag_ic.pngbin0 -> 2379 bytes
-rw-r--r--public/-/emojis/3/flag_id.pngbin0 -> 1859 bytes
-rw-r--r--public/-/emojis/3/flag_ie.pngbin0 -> 2580 bytes
-rw-r--r--public/-/emojis/3/flag_il.pngbin0 -> 4462 bytes
-rw-r--r--public/-/emojis/3/flag_im.pngbin0 -> 3823 bytes
-rw-r--r--public/-/emojis/3/flag_in.pngbin0 -> 3492 bytes
-rw-r--r--public/-/emojis/3/flag_io.pngbin0 -> 8831 bytes
-rw-r--r--public/-/emojis/3/flag_iq.pngbin0 -> 3228 bytes
-rw-r--r--public/-/emojis/3/flag_ir.pngbin0 -> 3658 bytes
-rw-r--r--public/-/emojis/3/flag_is.pngbin0 -> 4244 bytes
-rw-r--r--public/-/emojis/3/flag_it.pngbin0 -> 2514 bytes
-rw-r--r--public/-/emojis/3/flag_je.pngbin0 -> 4803 bytes
-rw-r--r--public/-/emojis/3/flag_jm.pngbin0 -> 3939 bytes
-rw-r--r--public/-/emojis/3/flag_jo.pngbin0 -> 3327 bytes
-rw-r--r--public/-/emojis/3/flag_jp.pngbin0 -> 2594 bytes
-rw-r--r--public/-/emojis/3/flag_ke.pngbin0 -> 3724 bytes
-rw-r--r--public/-/emojis/3/flag_kg.pngbin0 -> 4093 bytes
-rw-r--r--public/-/emojis/3/flag_kh.pngbin0 -> 4306 bytes
-rw-r--r--public/-/emojis/3/flag_ki.pngbin0 -> 5861 bytes
-rw-r--r--public/-/emojis/3/flag_km.pngbin0 -> 4561 bytes
-rw-r--r--public/-/emojis/3/flag_kn.pngbin0 -> 4492 bytes
-rw-r--r--public/-/emojis/3/flag_kp.pngbin0 -> 4708 bytes
-rw-r--r--public/-/emojis/3/flag_kr.pngbin0 -> 4606 bytes
-rw-r--r--public/-/emojis/3/flag_kw.pngbin0 -> 3032 bytes
-rw-r--r--public/-/emojis/3/flag_ky.pngbin0 -> 5276 bytes
-rw-r--r--public/-/emojis/3/flag_kz.pngbin0 -> 3942 bytes
-rw-r--r--public/-/emojis/3/flag_la.pngbin0 -> 3789 bytes
-rw-r--r--public/-/emojis/3/flag_lb.pngbin0 -> 4040 bytes
-rw-r--r--public/-/emojis/3/flag_lc.pngbin0 -> 3733 bytes
-rw-r--r--public/-/emojis/3/flag_li.pngbin0 -> 3413 bytes
-rw-r--r--public/-/emojis/3/flag_lk.pngbin0 -> 4954 bytes
-rw-r--r--public/-/emojis/3/flag_lr.pngbin0 -> 5784 bytes
-rw-r--r--public/-/emojis/3/flag_ls.pngbin0 -> 3321 bytes
-rw-r--r--public/-/emojis/3/flag_lt.pngbin0 -> 3317 bytes
-rw-r--r--public/-/emojis/3/flag_lu.pngbin0 -> 2988 bytes
-rw-r--r--public/-/emojis/3/flag_lv.pngbin0 -> 3232 bytes
-rw-r--r--public/-/emojis/3/flag_ly.pngbin0 -> 2954 bytes
-rw-r--r--public/-/emojis/3/flag_ma.pngbin0 -> 3154 bytes
-rw-r--r--public/-/emojis/3/flag_mc.pngbin0 -> 2706 bytes
-rw-r--r--public/-/emojis/3/flag_md.pngbin0 -> 3617 bytes
-rw-r--r--public/-/emojis/3/flag_me.pngbin0 -> 4032 bytes
-rw-r--r--public/-/emojis/3/flag_mf.pngbin0 -> 2564 bytes
-rw-r--r--public/-/emojis/3/flag_mg.pngbin0 -> 2367 bytes
-rw-r--r--public/-/emojis/3/flag_mh.pngbin0 -> 4529 bytes
-rw-r--r--public/-/emojis/3/flag_mk.pngbin0 -> 4370 bytes
-rw-r--r--public/-/emojis/3/flag_ml.pngbin0 -> 3015 bytes
-rw-r--r--public/-/emojis/3/flag_mm.pngbin0 -> 4051 bytes
-rw-r--r--public/-/emojis/3/flag_mn.pngbin0 -> 3514 bytes
-rw-r--r--public/-/emojis/3/flag_mo.pngbin0 -> 3509 bytes
-rw-r--r--public/-/emojis/3/flag_mp.pngbin0 -> 4857 bytes
-rw-r--r--public/-/emojis/3/flag_mq.pngbin0 -> 5397 bytes
-rw-r--r--public/-/emojis/3/flag_mr.pngbin0 -> 3973 bytes
-rw-r--r--public/-/emojis/3/flag_ms.pngbin0 -> 4904 bytes
-rw-r--r--public/-/emojis/3/flag_mt.pngbin0 -> 2759 bytes
-rw-r--r--public/-/emojis/3/flag_mu.pngbin0 -> 3611 bytes
-rw-r--r--public/-/emojis/3/flag_mv.pngbin0 -> 3560 bytes
-rw-r--r--public/-/emojis/3/flag_mw.pngbin0 -> 3658 bytes
-rw-r--r--public/-/emojis/3/flag_mx.pngbin0 -> 3475 bytes
-rw-r--r--public/-/emojis/3/flag_my.pngbin0 -> 6217 bytes
-rw-r--r--public/-/emojis/3/flag_mz.pngbin0 -> 4380 bytes
-rw-r--r--public/-/emojis/3/flag_na.pngbin0 -> 4842 bytes
-rw-r--r--public/-/emojis/3/flag_nc.pngbin0 -> 4035 bytes
-rw-r--r--public/-/emojis/3/flag_ne.pngbin0 -> 3490 bytes
-rw-r--r--public/-/emojis/3/flag_nf.pngbin0 -> 3639 bytes
-rw-r--r--public/-/emojis/3/flag_ng.pngbin0 -> 2321 bytes
-rw-r--r--public/-/emojis/3/flag_ni.pngbin0 -> 3335 bytes
-rw-r--r--public/-/emojis/3/flag_nl.pngbin0 -> 3205 bytes
-rw-r--r--public/-/emojis/3/flag_no.pngbin0 -> 4312 bytes
-rw-r--r--public/-/emojis/3/flag_np.pngbin0 -> 3979 bytes
-rw-r--r--public/-/emojis/3/flag_nr.pngbin0 -> 3527 bytes
-rw-r--r--public/-/emojis/3/flag_nu.pngbin0 -> 4776 bytes
-rw-r--r--public/-/emojis/3/flag_nz.pngbin0 -> 4674 bytes
-rw-r--r--public/-/emojis/3/flag_om.pngbin0 -> 3384 bytes
-rw-r--r--public/-/emojis/3/flag_pa.pngbin0 -> 3381 bytes
-rw-r--r--public/-/emojis/3/flag_pe.pngbin0 -> 2762 bytes
-rw-r--r--public/-/emojis/3/flag_pf.pngbin0 -> 4073 bytes
-rw-r--r--public/-/emojis/3/flag_pg.pngbin0 -> 3751 bytes
-rw-r--r--public/-/emojis/3/flag_ph.pngbin0 -> 3984 bytes
-rw-r--r--public/-/emojis/3/flag_pk.pngbin0 -> 3332 bytes
-rw-r--r--public/-/emojis/3/flag_pl.pngbin0 -> 2692 bytes
-rw-r--r--public/-/emojis/3/flag_pm.pngbin0 -> 7375 bytes
-rw-r--r--public/-/emojis/3/flag_pn.pngbin0 -> 5825 bytes
-rw-r--r--public/-/emojis/3/flag_pr.pngbin0 -> 4023 bytes
-rw-r--r--public/-/emojis/3/flag_ps.pngbin0 -> 3028 bytes
-rw-r--r--public/-/emojis/3/flag_pt.pngbin0 -> 2899 bytes
-rw-r--r--public/-/emojis/3/flag_pw.pngbin0 -> 3569 bytes
-rw-r--r--public/-/emojis/3/flag_py.pngbin0 -> 3402 bytes
-rw-r--r--public/-/emojis/3/flag_qa.pngbin0 -> 2884 bytes
-rw-r--r--public/-/emojis/3/flag_re.pngbin0 -> 4952 bytes
-rw-r--r--public/-/emojis/3/flag_ro.pngbin0 -> 2870 bytes
-rw-r--r--public/-/emojis/3/flag_rs.pngbin0 -> 4417 bytes
-rw-r--r--public/-/emojis/3/flag_ru.pngbin0 -> 3165 bytes
-rw-r--r--public/-/emojis/3/flag_rw.pngbin0 -> 3669 bytes
-rw-r--r--public/-/emojis/3/flag_sa.pngbin0 -> 3905 bytes
-rw-r--r--public/-/emojis/3/flag_sb.pngbin0 -> 4590 bytes
-rw-r--r--public/-/emojis/3/flag_sc.pngbin0 -> 4103 bytes
-rw-r--r--public/-/emojis/3/flag_sd.pngbin0 -> 3020 bytes
-rw-r--r--public/-/emojis/3/flag_se.pngbin0 -> 3302 bytes
-rw-r--r--public/-/emojis/3/flag_sg.pngbin0 -> 3268 bytes
-rw-r--r--public/-/emojis/3/flag_sh.pngbin0 -> 4769 bytes
-rw-r--r--public/-/emojis/3/flag_si.pngbin0 -> 3628 bytes
-rw-r--r--public/-/emojis/3/flag_sj.pngbin0 -> 4312 bytes
-rw-r--r--public/-/emojis/3/flag_sk.pngbin0 -> 4146 bytes
-rw-r--r--public/-/emojis/3/flag_sl.pngbin0 -> 3018 bytes
-rw-r--r--public/-/emojis/3/flag_sm.pngbin0 -> 3857 bytes
-rw-r--r--public/-/emojis/3/flag_sn.pngbin0 -> 3237 bytes
-rw-r--r--public/-/emojis/3/flag_so.pngbin0 -> 3395 bytes
-rw-r--r--public/-/emojis/3/flag_sr.pngbin0 -> 4566 bytes
-rw-r--r--public/-/emojis/3/flag_ss.pngbin0 -> 4267 bytes
-rw-r--r--public/-/emojis/3/flag_st.pngbin0 -> 4037 bytes
-rw-r--r--public/-/emojis/3/flag_sv.pngbin0 -> 3683 bytes
-rw-r--r--public/-/emojis/3/flag_sx.pngbin0 -> 4158 bytes
-rw-r--r--public/-/emojis/3/flag_sy.pngbin0 -> 3140 bytes
-rw-r--r--public/-/emojis/3/flag_sz.pngbin0 -> 5784 bytes
-rw-r--r--public/-/emojis/3/flag_ta.pngbin0 -> 5942 bytes
-rw-r--r--public/-/emojis/3/flag_tc.pngbin0 -> 4778 bytes
-rw-r--r--public/-/emojis/3/flag_td.pngbin0 -> 2642 bytes
-rw-r--r--public/-/emojis/3/flag_tf.pngbin0 -> 3767 bytes
-rw-r--r--public/-/emojis/3/flag_tg.pngbin0 -> 4153 bytes
-rw-r--r--public/-/emojis/3/flag_th.pngbin0 -> 4119 bytes
-rw-r--r--public/-/emojis/3/flag_tj.pngbin0 -> 3015 bytes
-rw-r--r--public/-/emojis/3/flag_tk.pngbin0 -> 3998 bytes
-rw-r--r--public/-/emojis/3/flag_tl.pngbin0 -> 4012 bytes
-rw-r--r--public/-/emojis/3/flag_tm.pngbin0 -> 4418 bytes
-rw-r--r--public/-/emojis/3/flag_tn.pngbin0 -> 3610 bytes
-rw-r--r--public/-/emojis/3/flag_to.pngbin0 -> 2314 bytes
-rw-r--r--public/-/emojis/3/flag_tr.pngbin0 -> 3904 bytes
-rw-r--r--public/-/emojis/3/flag_tt.pngbin0 -> 4913 bytes
-rw-r--r--public/-/emojis/3/flag_tv.pngbin0 -> 5608 bytes
-rw-r--r--public/-/emojis/3/flag_tw.pngbin0 -> 2556 bytes
-rw-r--r--public/-/emojis/3/flag_tz.pngbin0 -> 4065 bytes
-rw-r--r--public/-/emojis/3/flag_ua.pngbin0 -> 2740 bytes
-rw-r--r--public/-/emojis/3/flag_ug.pngbin0 -> 3871 bytes
-rw-r--r--public/-/emojis/3/flag_um.pngbin0 -> 6869 bytes
-rw-r--r--public/-/emojis/3/flag_us.pngbin0 -> 6869 bytes
-rw-r--r--public/-/emojis/3/flag_uy.pngbin0 -> 5666 bytes
-rw-r--r--public/-/emojis/3/flag_uz.pngbin0 -> 3871 bytes
-rw-r--r--public/-/emojis/3/flag_va.pngbin0 -> 2980 bytes
-rw-r--r--public/-/emojis/3/flag_vc.pngbin0 -> 3489 bytes
-rw-r--r--public/-/emojis/3/flag_ve.pngbin0 -> 3871 bytes
-rw-r--r--public/-/emojis/3/flag_vg.pngbin0 -> 5297 bytes
-rw-r--r--public/-/emojis/3/flag_vi.pngbin0 -> 5591 bytes
-rw-r--r--public/-/emojis/3/flag_vn.pngbin0 -> 3524 bytes
-rw-r--r--public/-/emojis/3/flag_vu.pngbin0 -> 4768 bytes
-rw-r--r--public/-/emojis/3/flag_wf.pngbin0 -> 3650 bytes
-rw-r--r--public/-/emojis/3/flag_white.pngbin0 -> 3094 bytes
-rw-r--r--public/-/emojis/3/flag_ws.pngbin0 -> 3466 bytes
-rw-r--r--public/-/emojis/3/flag_xk.pngbin0 -> 4110 bytes
-rw-r--r--public/-/emojis/3/flag_ye.pngbin0 -> 2525 bytes
-rw-r--r--public/-/emojis/3/flag_yt.pngbin0 -> 5317 bytes
-rw-r--r--public/-/emojis/3/flag_za.pngbin0 -> 4932 bytes
-rw-r--r--public/-/emojis/3/flag_zm.pngbin0 -> 2816 bytes
-rw-r--r--public/-/emojis/3/flag_zw.pngbin0 -> 4175 bytes
-rw-r--r--public/-/emojis/3/flags.pngbin0 -> 6001 bytes
-rw-r--r--public/-/emojis/3/flashlight.pngbin0 -> 3717 bytes
-rw-r--r--public/-/emojis/3/fleur-de-lis.pngbin0 -> 4213 bytes
-rw-r--r--public/-/emojis/3/floppy_disk.pngbin0 -> 1145 bytes
-rw-r--r--public/-/emojis/3/flower_playing_cards.pngbin0 -> 1867 bytes
-rw-r--r--public/-/emojis/3/flushed.pngbin0 -> 5287 bytes
-rw-r--r--public/-/emojis/3/fog.pngbin0 -> 3554 bytes
-rw-r--r--public/-/emojis/3/foggy.pngbin0 -> 5564 bytes
-rw-r--r--public/-/emojis/3/football.pngbin0 -> 5526 bytes
-rw-r--r--public/-/emojis/3/footprints.pngbin0 -> 2400 bytes
-rw-r--r--public/-/emojis/3/fork_and_knife.pngbin0 -> 1967 bytes
-rw-r--r--public/-/emojis/3/fork_knife_plate.pngbin0 -> 3521 bytes
-rw-r--r--public/-/emojis/3/fountain.pngbin0 -> 5367 bytes
-rw-r--r--public/-/emojis/3/four.pngbin0 -> 1967 bytes
-rw-r--r--public/-/emojis/3/four_leaf_clover.pngbin0 -> 4088 bytes
-rw-r--r--public/-/emojis/3/fox.pngbin0 -> 4198 bytes
-rw-r--r--public/-/emojis/3/frame_photo.pngbin0 -> 3181 bytes
-rw-r--r--public/-/emojis/3/free.pngbin0 -> 2328 bytes
-rw-r--r--public/-/emojis/3/french_bread.pngbin0 -> 4176 bytes
-rw-r--r--public/-/emojis/3/fried_shrimp.pngbin0 -> 3197 bytes
-rw-r--r--public/-/emojis/3/fries.pngbin0 -> 4531 bytes
-rw-r--r--public/-/emojis/3/frog.pngbin0 -> 3157 bytes
-rw-r--r--public/-/emojis/3/frowning.pngbin0 -> 4514 bytes
-rw-r--r--public/-/emojis/3/frowning2.pngbin0 -> 4868 bytes
-rw-r--r--public/-/emojis/3/fuelpump.pngbin0 -> 4213 bytes
-rw-r--r--public/-/emojis/3/full_moon.pngbin0 -> 3799 bytes
-rw-r--r--public/-/emojis/3/full_moon_with_face.pngbin0 -> 5131 bytes
-rw-r--r--public/-/emojis/3/game_die.pngbin0 -> 4219 bytes
-rw-r--r--public/-/emojis/3/gay_pride_flag.pngbin0 -> 4447 bytes
-rw-r--r--public/-/emojis/3/gear.pngbin0 -> 3165 bytes
-rw-r--r--public/-/emojis/3/gem.pngbin0 -> 3371 bytes
-rw-r--r--public/-/emojis/3/gemini.pngbin0 -> 3896 bytes
-rw-r--r--public/-/emojis/3/ghost.pngbin0 -> 4181 bytes
-rw-r--r--public/-/emojis/3/gift.pngbin0 -> 4167 bytes
-rw-r--r--public/-/emojis/3/gift_heart.pngbin0 -> 4302 bytes
-rw-r--r--public/-/emojis/3/girl.pngbin0 -> 5150 bytes
-rw-r--r--public/-/emojis/3/girl_tone1.pngbin0 -> 5097 bytes
-rw-r--r--public/-/emojis/3/girl_tone2.pngbin0 -> 5086 bytes
-rw-r--r--public/-/emojis/3/girl_tone3.pngbin0 -> 4986 bytes
-rw-r--r--public/-/emojis/3/girl_tone4.pngbin0 -> 4701 bytes
-rw-r--r--public/-/emojis/3/girl_tone5.pngbin0 -> 4761 bytes
-rw-r--r--public/-/emojis/3/globe_with_meridians.pngbin0 -> 4630 bytes
-rw-r--r--public/-/emojis/3/goal.pngbin0 -> 5397 bytes
-rw-r--r--public/-/emojis/3/goat.pngbin0 -> 3653 bytes
-rw-r--r--public/-/emojis/3/golf.pngbin0 -> 2737 bytes
-rw-r--r--public/-/emojis/3/golfer.pngbin0 -> 3496 bytes
-rw-r--r--public/-/emojis/3/gorilla.pngbin0 -> 4435 bytes
-rw-r--r--public/-/emojis/3/grapes.pngbin0 -> 5191 bytes
-rw-r--r--public/-/emojis/3/green_apple.pngbin0 -> 3338 bytes
-rw-r--r--public/-/emojis/3/green_book.pngbin0 -> 1113 bytes
-rw-r--r--public/-/emojis/3/green_heart.pngbin0 -> 2929 bytes
-rw-r--r--public/-/emojis/3/grey_exclamation.pngbin0 -> 1314 bytes
-rw-r--r--public/-/emojis/3/grey_question.pngbin0 -> 2364 bytes
-rw-r--r--public/-/emojis/3/grimacing.pngbin0 -> 4875 bytes
-rw-r--r--public/-/emojis/3/grin.pngbin0 -> 5219 bytes
-rw-r--r--public/-/emojis/3/grinning.pngbin0 -> 5239 bytes
-rw-r--r--public/-/emojis/3/guardsman.pngbin0 -> 3910 bytes
-rw-r--r--public/-/emojis/3/guardsman_tone1.pngbin0 -> 4024 bytes
-rw-r--r--public/-/emojis/3/guardsman_tone2.pngbin0 -> 4001 bytes
-rw-r--r--public/-/emojis/3/guardsman_tone3.pngbin0 -> 3884 bytes
-rw-r--r--public/-/emojis/3/guardsman_tone4.pngbin0 -> 3777 bytes
-rw-r--r--public/-/emojis/3/guardsman_tone5.pngbin0 -> 3726 bytes
-rw-r--r--public/-/emojis/3/guitar.pngbin0 -> 4627 bytes
-rw-r--r--public/-/emojis/3/gun.pngbin0 -> 2282 bytes
-rw-r--r--public/-/emojis/3/haircut.pngbin0 -> 5526 bytes
-rw-r--r--public/-/emojis/3/haircut_tone1.pngbin0 -> 5692 bytes
-rw-r--r--public/-/emojis/3/haircut_tone2.pngbin0 -> 5496 bytes
-rw-r--r--public/-/emojis/3/haircut_tone3.pngbin0 -> 5453 bytes
-rw-r--r--public/-/emojis/3/haircut_tone4.pngbin0 -> 5330 bytes
-rw-r--r--public/-/emojis/3/haircut_tone5.pngbin0 -> 5415 bytes
-rw-r--r--public/-/emojis/3/hamburger.pngbin0 -> 6559 bytes
-rw-r--r--public/-/emojis/3/hammer.pngbin0 -> 2848 bytes
-rw-r--r--public/-/emojis/3/hammer_pick.pngbin0 -> 4505 bytes
-rw-r--r--public/-/emojis/3/hamster.pngbin0 -> 4285 bytes
-rw-r--r--public/-/emojis/3/hand_splayed.pngbin0 -> 3638 bytes
-rw-r--r--public/-/emojis/3/hand_splayed_tone1.pngbin0 -> 3809 bytes
-rw-r--r--public/-/emojis/3/hand_splayed_tone2.pngbin0 -> 3826 bytes
-rw-r--r--public/-/emojis/3/hand_splayed_tone3.pngbin0 -> 3842 bytes
-rw-r--r--public/-/emojis/3/hand_splayed_tone4.pngbin0 -> 3569 bytes
-rw-r--r--public/-/emojis/3/hand_splayed_tone5.pngbin0 -> 3589 bytes
-rw-r--r--public/-/emojis/3/handbag.pngbin0 -> 3952 bytes
-rw-r--r--public/-/emojis/3/handball.pngbin0 -> 4367 bytes
-rw-r--r--public/-/emojis/3/handball_tone1.pngbin0 -> 4413 bytes
-rw-r--r--public/-/emojis/3/handball_tone2.pngbin0 -> 4395 bytes
-rw-r--r--public/-/emojis/3/handball_tone3.pngbin0 -> 4363 bytes
-rw-r--r--public/-/emojis/3/handball_tone4.pngbin0 -> 4386 bytes
-rw-r--r--public/-/emojis/3/handball_tone5.pngbin0 -> 4440 bytes
-rw-r--r--public/-/emojis/3/handshake.pngbin0 -> 3653 bytes
-rw-r--r--public/-/emojis/3/handshake_tone1.pngbin0 -> 3974 bytes
-rw-r--r--public/-/emojis/3/handshake_tone2.pngbin0 -> 3984 bytes
-rw-r--r--public/-/emojis/3/handshake_tone3.pngbin0 -> 3872 bytes
-rw-r--r--public/-/emojis/3/handshake_tone4.pngbin0 -> 3532 bytes
-rw-r--r--public/-/emojis/3/handshake_tone5.pngbin0 -> 3738 bytes
-rw-r--r--public/-/emojis/3/hash.pngbin0 -> 2614 bytes
-rw-r--r--public/-/emojis/3/hatched_chick.pngbin0 -> 2478 bytes
-rw-r--r--public/-/emojis/3/hatching_chick.pngbin0 -> 3130 bytes
-rw-r--r--public/-/emojis/3/head_bandage.pngbin0 -> 5477 bytes
-rw-r--r--public/-/emojis/3/headphones.pngbin0 -> 4072 bytes
-rw-r--r--public/-/emojis/3/hear_no_evil.pngbin0 -> 3931 bytes
-rw-r--r--public/-/emojis/3/heart.pngbin0 -> 2771 bytes
-rw-r--r--public/-/emojis/3/heart_decoration.pngbin0 -> 2795 bytes
-rw-r--r--public/-/emojis/3/heart_exclamation.pngbin0 -> 2855 bytes
-rw-r--r--public/-/emojis/3/heart_eyes.pngbin0 -> 5144 bytes
-rw-r--r--public/-/emojis/3/heart_eyes_cat.pngbin0 -> 5410 bytes
-rw-r--r--public/-/emojis/3/heartbeat.pngbin0 -> 4506 bytes
-rw-r--r--public/-/emojis/3/heartpulse.pngbin0 -> 4016 bytes
-rw-r--r--public/-/emojis/3/hearts.pngbin0 -> 2209 bytes
-rw-r--r--public/-/emojis/3/heavy_check_mark.pngbin0 -> 2537 bytes
-rw-r--r--public/-/emojis/3/heavy_division_sign.pngbin0 -> 2077 bytes
-rw-r--r--public/-/emojis/3/heavy_dollar_sign.pngbin0 -> 3480 bytes
-rw-r--r--public/-/emojis/3/heavy_minus_sign.pngbin0 -> 661 bytes
-rw-r--r--public/-/emojis/3/heavy_multiplication_x.pngbin0 -> 3621 bytes
-rw-r--r--public/-/emojis/3/heavy_plus_sign.pngbin0 -> 1369 bytes
-rw-r--r--public/-/emojis/3/helicopter.pngbin0 -> 3722 bytes
-rw-r--r--public/-/emojis/3/helmet_with_cross.pngbin0 -> 3954 bytes
-rw-r--r--public/-/emojis/3/herb.pngbin0 -> 3941 bytes
-rw-r--r--public/-/emojis/3/hibiscus.pngbin0 -> 4720 bytes
-rw-r--r--public/-/emojis/3/high_brightness.pngbin0 -> 4362 bytes
-rw-r--r--public/-/emojis/3/high_heel.pngbin0 -> 3721 bytes
-rw-r--r--public/-/emojis/3/hockey.pngbin0 -> 2532 bytes
-rw-r--r--public/-/emojis/3/hole.pngbin0 -> 2503 bytes
-rw-r--r--public/-/emojis/3/homes.pngbin0 -> 4621 bytes
-rw-r--r--public/-/emojis/3/honey_pot.pngbin0 -> 3772 bytes
-rw-r--r--public/-/emojis/3/horse.pngbin0 -> 3539 bytes
-rw-r--r--public/-/emojis/3/horse_racing.pngbin0 -> 5233 bytes
-rw-r--r--public/-/emojis/3/horse_racing_tone1.pngbin0 -> 5275 bytes
-rw-r--r--public/-/emojis/3/horse_racing_tone2.pngbin0 -> 5251 bytes
-rw-r--r--public/-/emojis/3/horse_racing_tone3.pngbin0 -> 5249 bytes
-rw-r--r--public/-/emojis/3/horse_racing_tone4.pngbin0 -> 5216 bytes
-rw-r--r--public/-/emojis/3/horse_racing_tone5.pngbin0 -> 5218 bytes
-rw-r--r--public/-/emojis/3/hospital.pngbin0 -> 3394 bytes
-rw-r--r--public/-/emojis/3/hot_pepper.pngbin0 -> 2777 bytes
-rw-r--r--public/-/emojis/3/hotdog.pngbin0 -> 3562 bytes
-rw-r--r--public/-/emojis/3/hotel.pngbin0 -> 4353 bytes
-rw-r--r--public/-/emojis/3/hotsprings.pngbin0 -> 4638 bytes
-rw-r--r--public/-/emojis/3/hourglass.pngbin0 -> 3644 bytes
-rw-r--r--public/-/emojis/3/hourglass_flowing_sand.pngbin0 -> 4241 bytes
-rw-r--r--public/-/emojis/3/house.pngbin0 -> 4321 bytes
-rw-r--r--public/-/emojis/3/house_abandoned.pngbin0 -> 5488 bytes
-rw-r--r--public/-/emojis/3/house_with_garden.pngbin0 -> 4590 bytes
-rw-r--r--public/-/emojis/3/hugging.pngbin0 -> 6431 bytes
-rw-r--r--public/-/emojis/3/hushed.pngbin0 -> 4789 bytes
-rw-r--r--public/-/emojis/3/ice_cream.pngbin0 -> 4582 bytes
-rw-r--r--public/-/emojis/3/ice_skate.pngbin0 -> 4210 bytes
-rw-r--r--public/-/emojis/3/icecream.pngbin0 -> 3187 bytes
-rw-r--r--public/-/emojis/3/id.pngbin0 -> 2064 bytes
-rw-r--r--public/-/emojis/3/ideograph_advantage.pngbin0 -> 4578 bytes
-rw-r--r--public/-/emojis/3/imp.pngbin0 -> 5369 bytes
-rw-r--r--public/-/emojis/3/inbox_tray.pngbin0 -> 2325 bytes
-rw-r--r--public/-/emojis/3/incoming_envelope.pngbin0 -> 2582 bytes
-rw-r--r--public/-/emojis/3/information_desk_person.pngbin0 -> 5060 bytes
-rw-r--r--public/-/emojis/3/information_desk_person_tone1.pngbin0 -> 5246 bytes
-rw-r--r--public/-/emojis/3/information_desk_person_tone2.pngbin0 -> 4994 bytes
-rw-r--r--public/-/emojis/3/information_desk_person_tone3.pngbin0 -> 4974 bytes
-rw-r--r--public/-/emojis/3/information_desk_person_tone4.pngbin0 -> 4804 bytes
-rw-r--r--public/-/emojis/3/information_desk_person_tone5.pngbin0 -> 4824 bytes
-rw-r--r--public/-/emojis/3/information_source.pngbin0 -> 1537 bytes
-rw-r--r--public/-/emojis/3/innocent.pngbin0 -> 5344 bytes
-rw-r--r--public/-/emojis/3/interrobang.pngbin0 -> 3312 bytes
-rw-r--r--public/-/emojis/3/iphone.pngbin0 -> 2704 bytes
-rw-r--r--public/-/emojis/3/island.pngbin0 -> 4381 bytes
-rw-r--r--public/-/emojis/3/izakaya_lantern.pngbin0 -> 4639 bytes
-rw-r--r--public/-/emojis/3/jack_o_lantern.pngbin0 -> 4353 bytes
-rw-r--r--public/-/emojis/3/japan.pngbin0 -> 3058 bytes
-rw-r--r--public/-/emojis/3/japanese_castle.pngbin0 -> 6472 bytes
-rw-r--r--public/-/emojis/3/japanese_goblin.pngbin0 -> 6629 bytes
-rw-r--r--public/-/emojis/3/japanese_ogre.pngbin0 -> 7269 bytes
-rw-r--r--public/-/emojis/3/jeans.pngbin0 -> 2844 bytes
-rw-r--r--public/-/emojis/3/joy.pngbin0 -> 6101 bytes
-rw-r--r--public/-/emojis/3/joy_cat.pngbin0 -> 5353 bytes
-rw-r--r--public/-/emojis/3/joystick.pngbin0 -> 3192 bytes
-rw-r--r--public/-/emojis/3/juggling.pngbin0 -> 5236 bytes
-rw-r--r--public/-/emojis/3/juggling_tone1.pngbin0 -> 5329 bytes
-rw-r--r--public/-/emojis/3/juggling_tone2.pngbin0 -> 5222 bytes
-rw-r--r--public/-/emojis/3/juggling_tone3.pngbin0 -> 5193 bytes
-rw-r--r--public/-/emojis/3/juggling_tone4.pngbin0 -> 5139 bytes
-rw-r--r--public/-/emojis/3/juggling_tone5.pngbin0 -> 5127 bytes
-rw-r--r--public/-/emojis/3/kaaba.pngbin0 -> 3359 bytes
-rw-r--r--public/-/emojis/3/key.pngbin0 -> 3290 bytes
-rw-r--r--public/-/emojis/3/key2.pngbin0 -> 3953 bytes
-rw-r--r--public/-/emojis/3/keyboard.pngbin0 -> 3239 bytes
-rw-r--r--public/-/emojis/3/kimono.pngbin0 -> 6336 bytes
-rw-r--r--public/-/emojis/3/kiss.pngbin0 -> 1994 bytes
-rw-r--r--public/-/emojis/3/kiss_mm.pngbin0 -> 5116 bytes
-rw-r--r--public/-/emojis/3/kiss_ww.pngbin0 -> 5843 bytes
-rw-r--r--public/-/emojis/3/kissing.pngbin0 -> 4631 bytes
-rw-r--r--public/-/emojis/3/kissing_cat.pngbin0 -> 4854 bytes
-rw-r--r--public/-/emojis/3/kissing_closed_eyes.pngbin0 -> 5482 bytes
-rw-r--r--public/-/emojis/3/kissing_heart.pngbin0 -> 5214 bytes
-rw-r--r--public/-/emojis/3/kissing_smiling_eyes.pngbin0 -> 4661 bytes
-rw-r--r--public/-/emojis/3/kiwi.pngbin0 -> 6140 bytes
-rw-r--r--public/-/emojis/3/knife.pngbin0 -> 2527 bytes
-rw-r--r--public/-/emojis/3/koala.pngbin0 -> 3886 bytes
-rw-r--r--public/-/emojis/3/koko.pngbin0 -> 1734 bytes
-rw-r--r--public/-/emojis/3/label.pngbin0 -> 3461 bytes
-rw-r--r--public/-/emojis/3/large_blue_circle.pngbin0 -> 2907 bytes
-rw-r--r--public/-/emojis/3/large_blue_diamond.pngbin0 -> 2163 bytes
-rw-r--r--public/-/emojis/3/large_orange_diamond.pngbin0 -> 1856 bytes
-rw-r--r--public/-/emojis/3/last_quarter_moon.pngbin0 -> 3858 bytes
-rw-r--r--public/-/emojis/3/last_quarter_moon_with_face.pngbin0 -> 3463 bytes
-rw-r--r--public/-/emojis/3/laughing.pngbin0 -> 5571 bytes
-rw-r--r--public/-/emojis/3/leaves.pngbin0 -> 2772 bytes
-rw-r--r--public/-/emojis/3/ledger.pngbin0 -> 2798 bytes
-rw-r--r--public/-/emojis/3/left_facing_fist.pngbin0 -> 2921 bytes
-rw-r--r--public/-/emojis/3/left_facing_fist_tone1.pngbin0 -> 3218 bytes
-rw-r--r--public/-/emojis/3/left_facing_fist_tone2.pngbin0 -> 3382 bytes
-rw-r--r--public/-/emojis/3/left_facing_fist_tone3.pngbin0 -> 3153 bytes
-rw-r--r--public/-/emojis/3/left_facing_fist_tone4.pngbin0 -> 3051 bytes
-rw-r--r--public/-/emojis/3/left_facing_fist_tone5.pngbin0 -> 3079 bytes
-rw-r--r--public/-/emojis/3/left_luggage.pngbin0 -> 2814 bytes
-rw-r--r--public/-/emojis/3/left_right_arrow.pngbin0 -> 2108 bytes
-rw-r--r--public/-/emojis/3/leftwards_arrow_with_hook.pngbin0 -> 2369 bytes
-rw-r--r--public/-/emojis/3/lemon.pngbin0 -> 2862 bytes
-rw-r--r--public/-/emojis/3/leo.pngbin0 -> 4555 bytes
-rw-r--r--public/-/emojis/3/leopard.pngbin0 -> 5202 bytes
-rw-r--r--public/-/emojis/3/level_slider.pngbin0 -> 2629 bytes
-rw-r--r--public/-/emojis/3/levitate.pngbin0 -> 2902 bytes
-rw-r--r--public/-/emojis/3/libra.pngbin0 -> 4663 bytes
-rw-r--r--public/-/emojis/3/lifter.pngbin0 -> 4338 bytes
-rw-r--r--public/-/emojis/3/lifter_tone1.pngbin0 -> 4417 bytes
-rw-r--r--public/-/emojis/3/lifter_tone2.pngbin0 -> 4380 bytes
-rw-r--r--public/-/emojis/3/lifter_tone3.pngbin0 -> 4345 bytes
-rw-r--r--public/-/emojis/3/lifter_tone4.pngbin0 -> 4364 bytes
-rw-r--r--public/-/emojis/3/lifter_tone5.pngbin0 -> 4354 bytes
-rw-r--r--public/-/emojis/3/light_rail.pngbin0 -> 3096 bytes
-rw-r--r--public/-/emojis/3/link.pngbin0 -> 3539 bytes
-rw-r--r--public/-/emojis/3/lion_face.pngbin0 -> 4220 bytes
-rw-r--r--public/-/emojis/3/lips.pngbin0 -> 2561 bytes
-rw-r--r--public/-/emojis/3/lipstick.pngbin0 -> 2562 bytes
-rw-r--r--public/-/emojis/3/lizard.pngbin0 -> 4208 bytes
-rw-r--r--public/-/emojis/3/lock.pngbin0 -> 2401 bytes
-rw-r--r--public/-/emojis/3/lock_with_ink_pen.pngbin0 -> 4901 bytes
-rw-r--r--public/-/emojis/3/lollipop.pngbin0 -> 6431 bytes
-rw-r--r--public/-/emojis/3/loop.pngbin0 -> 4041 bytes
-rw-r--r--public/-/emojis/3/loud_sound.pngbin0 -> 5112 bytes
-rw-r--r--public/-/emojis/3/loudspeaker.pngbin0 -> 4557 bytes
-rw-r--r--public/-/emojis/3/love_hotel.pngbin0 -> 4943 bytes
-rw-r--r--public/-/emojis/3/love_letter.pngbin0 -> 2802 bytes
-rw-r--r--public/-/emojis/3/low_brightness.pngbin0 -> 3767 bytes
-rw-r--r--public/-/emojis/3/lying_face.pngbin0 -> 4932 bytes
-rw-r--r--public/-/emojis/3/m.pngbin0 -> 4118 bytes
-rw-r--r--public/-/emojis/3/mag.pngbin0 -> 4524 bytes
-rw-r--r--public/-/emojis/3/mag_right.pngbin0 -> 4430 bytes
-rw-r--r--public/-/emojis/3/mahjong.pngbin0 -> 2833 bytes
-rw-r--r--public/-/emojis/3/mailbox.pngbin0 -> 2341 bytes
-rw-r--r--public/-/emojis/3/mailbox_closed.pngbin0 -> 2162 bytes
-rw-r--r--public/-/emojis/3/mailbox_with_mail.pngbin0 -> 3167 bytes
-rw-r--r--public/-/emojis/3/mailbox_with_no_mail.pngbin0 -> 2159 bytes
-rw-r--r--public/-/emojis/3/man.pngbin0 -> 3977 bytes
-rw-r--r--public/-/emojis/3/man_dancing.pngbin0 -> 3863 bytes
-rw-r--r--public/-/emojis/3/man_dancing_tone1.pngbin0 -> 3862 bytes
-rw-r--r--public/-/emojis/3/man_dancing_tone2.pngbin0 -> 3871 bytes
-rw-r--r--public/-/emojis/3/man_dancing_tone3.pngbin0 -> 3872 bytes
-rw-r--r--public/-/emojis/3/man_dancing_tone4.pngbin0 -> 3833 bytes
-rw-r--r--public/-/emojis/3/man_dancing_tone5.pngbin0 -> 3870 bytes
-rw-r--r--public/-/emojis/3/man_in_tuxedo.pngbin0 -> 5576 bytes
-rw-r--r--public/-/emojis/3/man_in_tuxedo_tone1.pngbin0 -> 5679 bytes
-rw-r--r--public/-/emojis/3/man_in_tuxedo_tone2.pngbin0 -> 5524 bytes
-rw-r--r--public/-/emojis/3/man_in_tuxedo_tone3.pngbin0 -> 5439 bytes
-rw-r--r--public/-/emojis/3/man_in_tuxedo_tone4.pngbin0 -> 5358 bytes
-rw-r--r--public/-/emojis/3/man_in_tuxedo_tone5.pngbin0 -> 5379 bytes
-rw-r--r--public/-/emojis/3/man_tone1.pngbin0 -> 4081 bytes
-rw-r--r--public/-/emojis/3/man_tone2.pngbin0 -> 3984 bytes
-rw-r--r--public/-/emojis/3/man_tone3.pngbin0 -> 3858 bytes
-rw-r--r--public/-/emojis/3/man_tone4.pngbin0 -> 3681 bytes
-rw-r--r--public/-/emojis/3/man_tone5.pngbin0 -> 3730 bytes
-rw-r--r--public/-/emojis/3/man_with_gua_pi_mao.pngbin0 -> 4881 bytes
-rw-r--r--public/-/emojis/3/man_with_gua_pi_mao_tone1.pngbin0 -> 5086 bytes
-rw-r--r--public/-/emojis/3/man_with_gua_pi_mao_tone2.pngbin0 -> 4860 bytes
-rw-r--r--public/-/emojis/3/man_with_gua_pi_mao_tone3.pngbin0 -> 4779 bytes
-rw-r--r--public/-/emojis/3/man_with_gua_pi_mao_tone4.pngbin0 -> 4689 bytes
-rw-r--r--public/-/emojis/3/man_with_gua_pi_mao_tone5.pngbin0 -> 4689 bytes
-rw-r--r--public/-/emojis/3/man_with_turban.pngbin0 -> 5188 bytes
-rw-r--r--public/-/emojis/3/man_with_turban_tone1.pngbin0 -> 5267 bytes
-rw-r--r--public/-/emojis/3/man_with_turban_tone2.pngbin0 -> 4987 bytes
-rw-r--r--public/-/emojis/3/man_with_turban_tone3.pngbin0 -> 5024 bytes
-rw-r--r--public/-/emojis/3/man_with_turban_tone4.pngbin0 -> 5003 bytes
-rw-r--r--public/-/emojis/3/man_with_turban_tone5.pngbin0 -> 5022 bytes
-rw-r--r--public/-/emojis/3/mans_shoe.pngbin0 -> 2850 bytes
-rw-r--r--public/-/emojis/3/map.pngbin0 -> 5412 bytes
-rw-r--r--public/-/emojis/3/maple_leaf.pngbin0 -> 4187 bytes
-rw-r--r--public/-/emojis/3/martial_arts_uniform.pngbin0 -> 6113 bytes
-rw-r--r--public/-/emojis/3/mask.pngbin0 -> 4679 bytes
-rw-r--r--public/-/emojis/3/massage.pngbin0 -> 4900 bytes
-rw-r--r--public/-/emojis/3/massage_tone1.pngbin0 -> 5194 bytes
-rw-r--r--public/-/emojis/3/massage_tone2.pngbin0 -> 4766 bytes
-rw-r--r--public/-/emojis/3/massage_tone3.pngbin0 -> 4834 bytes
-rw-r--r--public/-/emojis/3/massage_tone4.pngbin0 -> 4717 bytes
-rw-r--r--public/-/emojis/3/massage_tone5.pngbin0 -> 4693 bytes
-rw-r--r--public/-/emojis/3/meat_on_bone.pngbin0 -> 4272 bytes
-rw-r--r--public/-/emojis/3/medal.pngbin0 -> 3268 bytes
-rw-r--r--public/-/emojis/3/mega.pngbin0 -> 4291 bytes
-rw-r--r--public/-/emojis/3/melon.pngbin0 -> 6709 bytes
-rw-r--r--public/-/emojis/3/menorah.pngbin0 -> 5397 bytes
-rw-r--r--public/-/emojis/3/mens.pngbin0 -> 2254 bytes
-rw-r--r--public/-/emojis/3/metal.pngbin0 -> 3185 bytes
-rw-r--r--public/-/emojis/3/metal_tone1.pngbin0 -> 3404 bytes
-rw-r--r--public/-/emojis/3/metal_tone2.pngbin0 -> 3452 bytes
-rw-r--r--public/-/emojis/3/metal_tone3.pngbin0 -> 3389 bytes
-rw-r--r--public/-/emojis/3/metal_tone4.pngbin0 -> 3047 bytes
-rw-r--r--public/-/emojis/3/metal_tone5.pngbin0 -> 3244 bytes
-rw-r--r--public/-/emojis/3/metro.pngbin0 -> 5833 bytes
-rw-r--r--public/-/emojis/3/microphone.pngbin0 -> 3348 bytes
-rw-r--r--public/-/emojis/3/microphone2.pngbin0 -> 5368 bytes
-rw-r--r--public/-/emojis/3/microscope.pngbin0 -> 4623 bytes
-rw-r--r--public/-/emojis/3/middle_finger.pngbin0 -> 2086 bytes
-rw-r--r--public/-/emojis/3/middle_finger_tone1.pngbin0 -> 2282 bytes
-rw-r--r--public/-/emojis/3/middle_finger_tone2.pngbin0 -> 2266 bytes
-rw-r--r--public/-/emojis/3/middle_finger_tone3.pngbin0 -> 2252 bytes
-rw-r--r--public/-/emojis/3/middle_finger_tone4.pngbin0 -> 2135 bytes
-rw-r--r--public/-/emojis/3/middle_finger_tone5.pngbin0 -> 2111 bytes
-rw-r--r--public/-/emojis/3/military_medal.pngbin0 -> 2798 bytes
-rw-r--r--public/-/emojis/3/milk.pngbin0 -> 3379 bytes
-rw-r--r--public/-/emojis/3/milky_way.pngbin0 -> 6311 bytes
-rw-r--r--public/-/emojis/3/minibus.pngbin0 -> 3124 bytes
-rw-r--r--public/-/emojis/3/minidisc.pngbin0 -> 5502 bytes
-rw-r--r--public/-/emojis/3/mobile_phone_off.pngbin0 -> 2710 bytes
-rw-r--r--public/-/emojis/3/money_mouth.pngbin0 -> 5760 bytes
-rw-r--r--public/-/emojis/3/money_with_wings.pngbin0 -> 5929 bytes
-rw-r--r--public/-/emojis/3/moneybag.pngbin0 -> 3729 bytes
-rw-r--r--public/-/emojis/3/monkey.pngbin0 -> 4705 bytes
-rw-r--r--public/-/emojis/3/monkey_face.pngbin0 -> 3541 bytes
-rw-r--r--public/-/emojis/3/monorail.pngbin0 -> 3324 bytes
-rw-r--r--public/-/emojis/3/mortar_board.pngbin0 -> 3435 bytes
-rw-r--r--public/-/emojis/3/mosque.pngbin0 -> 4307 bytes
-rw-r--r--public/-/emojis/3/motor_scooter.pngbin0 -> 4661 bytes
-rw-r--r--public/-/emojis/3/motorboat.pngbin0 -> 3003 bytes
-rw-r--r--public/-/emojis/3/motorcycle.pngbin0 -> 4778 bytes
-rw-r--r--public/-/emojis/3/motorway.pngbin0 -> 6009 bytes
-rw-r--r--public/-/emojis/3/mount_fuji.pngbin0 -> 3436 bytes
-rw-r--r--public/-/emojis/3/mountain.pngbin0 -> 4169 bytes
-rw-r--r--public/-/emojis/3/mountain_bicyclist.pngbin0 -> 6246 bytes
-rw-r--r--public/-/emojis/3/mountain_bicyclist_tone1.pngbin0 -> 6255 bytes
-rw-r--r--public/-/emojis/3/mountain_bicyclist_tone2.pngbin0 -> 6181 bytes
-rw-r--r--public/-/emojis/3/mountain_bicyclist_tone3.pngbin0 -> 6168 bytes
-rw-r--r--public/-/emojis/3/mountain_bicyclist_tone4.pngbin0 -> 6198 bytes
-rw-r--r--public/-/emojis/3/mountain_bicyclist_tone5.pngbin0 -> 6243 bytes
-rw-r--r--public/-/emojis/3/mountain_cableway.pngbin0 -> 3797 bytes
-rw-r--r--public/-/emojis/3/mountain_railway.pngbin0 -> 5247 bytes
-rw-r--r--public/-/emojis/3/mountain_snow.pngbin0 -> 4437 bytes
-rw-r--r--public/-/emojis/3/mouse.pngbin0 -> 3427 bytes
-rw-r--r--public/-/emojis/3/mouse2.pngbin0 -> 3171 bytes
-rw-r--r--public/-/emojis/3/mouse_three_button.pngbin0 -> 2529 bytes
-rw-r--r--public/-/emojis/3/movie_camera.pngbin0 -> 3494 bytes
-rw-r--r--public/-/emojis/3/moyai.pngbin0 -> 4229 bytes
-rw-r--r--public/-/emojis/3/mrs_claus.pngbin0 -> 5177 bytes
-rw-r--r--public/-/emojis/3/mrs_claus_tone1.pngbin0 -> 5073 bytes
-rw-r--r--public/-/emojis/3/mrs_claus_tone2.pngbin0 -> 5088 bytes
-rw-r--r--public/-/emojis/3/mrs_claus_tone3.pngbin0 -> 5135 bytes
-rw-r--r--public/-/emojis/3/mrs_claus_tone4.pngbin0 -> 5167 bytes
-rw-r--r--public/-/emojis/3/mrs_claus_tone5.pngbin0 -> 5262 bytes
-rw-r--r--public/-/emojis/3/muscle.pngbin0 -> 3278 bytes
-rw-r--r--public/-/emojis/3/muscle_tone1.pngbin0 -> 3499 bytes
-rw-r--r--public/-/emojis/3/muscle_tone2.pngbin0 -> 3604 bytes
-rw-r--r--public/-/emojis/3/muscle_tone3.pngbin0 -> 3520 bytes
-rw-r--r--public/-/emojis/3/muscle_tone4.pngbin0 -> 3247 bytes
-rw-r--r--public/-/emojis/3/muscle_tone5.pngbin0 -> 3411 bytes
-rw-r--r--public/-/emojis/3/mushroom.pngbin0 -> 3692 bytes
-rw-r--r--public/-/emojis/3/musical_keyboard.pngbin0 -> 1637 bytes
-rw-r--r--public/-/emojis/3/musical_note.pngbin0 -> 1158 bytes
-rw-r--r--public/-/emojis/3/musical_score.pngbin0 -> 2446 bytes
-rw-r--r--public/-/emojis/3/mute.pngbin0 -> 5449 bytes
-rw-r--r--public/-/emojis/3/nail_care.pngbin0 -> 5573 bytes
-rw-r--r--public/-/emojis/3/nail_care_tone1.pngbin0 -> 5858 bytes
-rw-r--r--public/-/emojis/3/nail_care_tone2.pngbin0 -> 5766 bytes
-rw-r--r--public/-/emojis/3/nail_care_tone3.pngbin0 -> 5589 bytes
-rw-r--r--public/-/emojis/3/nail_care_tone4.pngbin0 -> 5449 bytes
-rw-r--r--public/-/emojis/3/nail_care_tone5.pngbin0 -> 5477 bytes
-rw-r--r--public/-/emojis/3/name_badge.pngbin0 -> 3595 bytes
-rw-r--r--public/-/emojis/3/nauseated_face.pngbin0 -> 5393 bytes
-rw-r--r--public/-/emojis/3/necktie.pngbin0 -> 3757 bytes
-rw-r--r--public/-/emojis/3/negative_squared_cross_mark.pngbin0 -> 3087 bytes
-rw-r--r--public/-/emojis/3/nerd.pngbin0 -> 6275 bytes
-rw-r--r--public/-/emojis/3/neutral_face.pngbin0 -> 4235 bytes
-rw-r--r--public/-/emojis/3/new.pngbin0 -> 2672 bytes
-rw-r--r--public/-/emojis/3/new_moon.pngbin0 -> 3594 bytes
-rw-r--r--public/-/emojis/3/new_moon_with_face.pngbin0 -> 5492 bytes
-rw-r--r--public/-/emojis/3/newspaper.pngbin0 -> 2911 bytes
-rw-r--r--public/-/emojis/3/newspaper2.pngbin0 -> 5370 bytes
-rw-r--r--public/-/emojis/3/ng.pngbin0 -> 2864 bytes
-rw-r--r--public/-/emojis/3/night_with_stars.pngbin0 -> 6402 bytes
-rw-r--r--public/-/emojis/3/nine.pngbin0 -> 2515 bytes
-rw-r--r--public/-/emojis/3/no_bell.pngbin0 -> 6195 bytes
-rw-r--r--public/-/emojis/3/no_bicycles.pngbin0 -> 6930 bytes
-rw-r--r--public/-/emojis/3/no_entry.pngbin0 -> 2993 bytes
-rw-r--r--public/-/emojis/3/no_entry_sign.pngbin0 -> 3714 bytes
-rw-r--r--public/-/emojis/3/no_good.pngbin0 -> 5141 bytes
-rw-r--r--public/-/emojis/3/no_good_tone1.pngbin0 -> 5264 bytes
-rw-r--r--public/-/emojis/3/no_good_tone2.pngbin0 -> 5245 bytes
-rw-r--r--public/-/emojis/3/no_good_tone3.pngbin0 -> 5172 bytes
-rw-r--r--public/-/emojis/3/no_good_tone4.pngbin0 -> 5049 bytes
-rw-r--r--public/-/emojis/3/no_good_tone5.pngbin0 -> 5141 bytes
-rw-r--r--public/-/emojis/3/no_mobile_phones.pngbin0 -> 5254 bytes
-rw-r--r--public/-/emojis/3/no_mouth.pngbin0 -> 4108 bytes
-rw-r--r--public/-/emojis/3/no_pedestrians.pngbin0 -> 6025 bytes
-rw-r--r--public/-/emojis/3/no_smoking.pngbin0 -> 5308 bytes
-rw-r--r--public/-/emojis/3/non-potable_water.pngbin0 -> 6044 bytes
-rw-r--r--public/-/emojis/3/nose.pngbin0 -> 2560 bytes
-rw-r--r--public/-/emojis/3/nose_tone1.pngbin0 -> 2719 bytes
-rw-r--r--public/-/emojis/3/nose_tone2.pngbin0 -> 2655 bytes
-rw-r--r--public/-/emojis/3/nose_tone3.pngbin0 -> 2686 bytes
-rw-r--r--public/-/emojis/3/nose_tone4.pngbin0 -> 2527 bytes
-rw-r--r--public/-/emojis/3/nose_tone5.pngbin0 -> 2584 bytes
-rw-r--r--public/-/emojis/3/notebook.pngbin0 -> 6651 bytes
-rw-r--r--public/-/emojis/3/notebook_with_decorative_cover.pngbin0 -> 1693 bytes
-rw-r--r--public/-/emojis/3/notepad_spiral.pngbin0 -> 3343 bytes
-rw-r--r--public/-/emojis/3/notes.pngbin0 -> 2021 bytes
-rw-r--r--public/-/emojis/3/nut_and_bolt.pngbin0 -> 4134 bytes
-rw-r--r--public/-/emojis/3/o.pngbin0 -> 3903 bytes
-rw-r--r--public/-/emojis/3/o2.pngbin0 -> 3178 bytes
-rw-r--r--public/-/emojis/3/ocean.pngbin0 -> 4573 bytes
-rw-r--r--public/-/emojis/3/octagonal_sign.pngbin0 -> 1433 bytes
-rw-r--r--public/-/emojis/3/octopus.pngbin0 -> 5073 bytes
-rw-r--r--public/-/emojis/3/oden.pngbin0 -> 4554 bytes
-rw-r--r--public/-/emojis/3/office.pngbin0 -> 3224 bytes
-rw-r--r--public/-/emojis/3/oil.pngbin0 -> 3648 bytes
-rw-r--r--public/-/emojis/3/ok.pngbin0 -> 3253 bytes
-rw-r--r--public/-/emojis/3/ok_hand.pngbin0 -> 3675 bytes
-rw-r--r--public/-/emojis/3/ok_hand_tone1.pngbin0 -> 3914 bytes
-rw-r--r--public/-/emojis/3/ok_hand_tone2.pngbin0 -> 4012 bytes
-rw-r--r--public/-/emojis/3/ok_hand_tone3.pngbin0 -> 4000 bytes
-rw-r--r--public/-/emojis/3/ok_hand_tone4.pngbin0 -> 3636 bytes
-rw-r--r--public/-/emojis/3/ok_hand_tone5.pngbin0 -> 3828 bytes
-rw-r--r--public/-/emojis/3/ok_woman.pngbin0 -> 5058 bytes
-rw-r--r--public/-/emojis/3/ok_woman_tone1.pngbin0 -> 5439 bytes
-rw-r--r--public/-/emojis/3/ok_woman_tone2.pngbin0 -> 4948 bytes
-rw-r--r--public/-/emojis/3/ok_woman_tone3.pngbin0 -> 5049 bytes
-rw-r--r--public/-/emojis/3/ok_woman_tone4.pngbin0 -> 4958 bytes
-rw-r--r--public/-/emojis/3/ok_woman_tone5.pngbin0 -> 4971 bytes
-rw-r--r--public/-/emojis/3/older_man.pngbin0 -> 4097 bytes
-rw-r--r--public/-/emojis/3/older_man_tone1.pngbin0 -> 4087 bytes
-rw-r--r--public/-/emojis/3/older_man_tone2.pngbin0 -> 4094 bytes
-rw-r--r--public/-/emojis/3/older_man_tone3.pngbin0 -> 4047 bytes
-rw-r--r--public/-/emojis/3/older_man_tone4.pngbin0 -> 3948 bytes
-rw-r--r--public/-/emojis/3/older_man_tone5.pngbin0 -> 4168 bytes
-rw-r--r--public/-/emojis/3/older_woman.pngbin0 -> 4684 bytes
-rw-r--r--public/-/emojis/3/older_woman_tone1.pngbin0 -> 4662 bytes
-rw-r--r--public/-/emojis/3/older_woman_tone2.pngbin0 -> 4584 bytes
-rw-r--r--public/-/emojis/3/older_woman_tone3.pngbin0 -> 4478 bytes
-rw-r--r--public/-/emojis/3/older_woman_tone4.pngbin0 -> 4414 bytes
-rw-r--r--public/-/emojis/3/older_woman_tone5.pngbin0 -> 4598 bytes
-rw-r--r--public/-/emojis/3/om_symbol.pngbin0 -> 4522 bytes
-rw-r--r--public/-/emojis/3/on.pngbin0 -> 3208 bytes
-rw-r--r--public/-/emojis/3/oncoming_automobile.pngbin0 -> 4047 bytes
-rw-r--r--public/-/emojis/3/oncoming_bus.pngbin0 -> 3702 bytes
-rw-r--r--public/-/emojis/3/oncoming_police_car.pngbin0 -> 4042 bytes
-rw-r--r--public/-/emojis/3/oncoming_taxi.pngbin0 -> 4096 bytes
-rw-r--r--public/-/emojis/3/one.pngbin0 -> 1464 bytes
-rw-r--r--public/-/emojis/3/open_file_folder.pngbin0 -> 1871 bytes
-rw-r--r--public/-/emojis/3/open_hands.pngbin0 -> 3865 bytes
-rw-r--r--public/-/emojis/3/open_hands_tone1.pngbin0 -> 4024 bytes
-rw-r--r--public/-/emojis/3/open_hands_tone2.pngbin0 -> 4190 bytes
-rw-r--r--public/-/emojis/3/open_hands_tone3.pngbin0 -> 4103 bytes
-rw-r--r--public/-/emojis/3/open_hands_tone4.pngbin0 -> 3659 bytes
-rw-r--r--public/-/emojis/3/open_hands_tone5.pngbin0 -> 3941 bytes
-rw-r--r--public/-/emojis/3/open_mouth.pngbin0 -> 4562 bytes
-rw-r--r--public/-/emojis/3/ophiuchus.pngbin0 -> 4242 bytes
-rw-r--r--public/-/emojis/3/orange_book.pngbin0 -> 1120 bytes
-rw-r--r--public/-/emojis/3/orthodox_cross.pngbin0 -> 2447 bytes
-rw-r--r--public/-/emojis/3/outbox_tray.pngbin0 -> 2302 bytes
-rw-r--r--public/-/emojis/3/owl.pngbin0 -> 5134 bytes
-rw-r--r--public/-/emojis/3/ox.pngbin0 -> 3627 bytes
-rw-r--r--public/-/emojis/3/package.pngbin0 -> 3114 bytes
-rw-r--r--public/-/emojis/3/page_facing_up.pngbin0 -> 1186 bytes
-rw-r--r--public/-/emojis/3/page_with_curl.pngbin0 -> 1207 bytes
-rw-r--r--public/-/emojis/3/pager.pngbin0 -> 3441 bytes
-rw-r--r--public/-/emojis/3/paintbrush.pngbin0 -> 2635 bytes
-rw-r--r--public/-/emojis/3/palm_tree.pngbin0 -> 3932 bytes
-rw-r--r--public/-/emojis/3/pancakes.pngbin0 -> 7014 bytes
-rw-r--r--public/-/emojis/3/panda_face.pngbin0 -> 5397 bytes
-rw-r--r--public/-/emojis/3/paperclip.pngbin0 -> 5483 bytes
-rw-r--r--public/-/emojis/3/paperclips.pngbin0 -> 6905 bytes
-rw-r--r--public/-/emojis/3/park.pngbin0 -> 6976 bytes
-rw-r--r--public/-/emojis/3/parking.pngbin0 -> 1911 bytes
-rw-r--r--public/-/emojis/3/part_alternation_mark.pngbin0 -> 3247 bytes
-rw-r--r--public/-/emojis/3/partly_sunny.pngbin0 -> 2686 bytes
-rw-r--r--public/-/emojis/3/passport_control.pngbin0 -> 3363 bytes
-rw-r--r--public/-/emojis/3/pause_button.pngbin0 -> 1129 bytes
-rw-r--r--public/-/emojis/3/peace.pngbin0 -> 3962 bytes
-rw-r--r--public/-/emojis/3/peach.pngbin0 -> 4907 bytes
-rw-r--r--public/-/emojis/3/peanuts.pngbin0 -> 3417 bytes
-rw-r--r--public/-/emojis/3/pear.pngbin0 -> 2445 bytes
-rw-r--r--public/-/emojis/3/pen_ballpoint.pngbin0 -> 3639 bytes
-rw-r--r--public/-/emojis/3/pen_fountain.pngbin0 -> 3827 bytes
-rw-r--r--public/-/emojis/3/pencil.pngbin0 -> 4593 bytes
-rw-r--r--public/-/emojis/3/pencil2.pngbin0 -> 3004 bytes
-rw-r--r--public/-/emojis/3/penguin.pngbin0 -> 3286 bytes
-rw-r--r--public/-/emojis/3/pensive.pngbin0 -> 4716 bytes
-rw-r--r--public/-/emojis/3/performing_arts.pngbin0 -> 4317 bytes
-rw-r--r--public/-/emojis/3/persevere.pngbin0 -> 5289 bytes
-rw-r--r--public/-/emojis/3/person_frowning.pngbin0 -> 4403 bytes
-rw-r--r--public/-/emojis/3/person_frowning_tone1.pngbin0 -> 4543 bytes
-rw-r--r--public/-/emojis/3/person_frowning_tone2.pngbin0 -> 4309 bytes
-rw-r--r--public/-/emojis/3/person_frowning_tone3.pngbin0 -> 4310 bytes
-rw-r--r--public/-/emojis/3/person_frowning_tone4.pngbin0 -> 4190 bytes
-rw-r--r--public/-/emojis/3/person_frowning_tone5.pngbin0 -> 4247 bytes
-rw-r--r--public/-/emojis/3/person_with_blond_hair.pngbin0 -> 3983 bytes
-rw-r--r--public/-/emojis/3/person_with_blond_hair_tone1.pngbin0 -> 4280 bytes
-rw-r--r--public/-/emojis/3/person_with_blond_hair_tone2.pngbin0 -> 4305 bytes
-rw-r--r--public/-/emojis/3/person_with_blond_hair_tone3.pngbin0 -> 4318 bytes
-rw-r--r--public/-/emojis/3/person_with_blond_hair_tone4.pngbin0 -> 4234 bytes
-rw-r--r--public/-/emojis/3/person_with_blond_hair_tone5.pngbin0 -> 4366 bytes
-rw-r--r--public/-/emojis/3/person_with_pouting_face.pngbin0 -> 4824 bytes
-rw-r--r--public/-/emojis/3/person_with_pouting_face_tone1.pngbin0 -> 5056 bytes
-rw-r--r--public/-/emojis/3/person_with_pouting_face_tone2.pngbin0 -> 4856 bytes
-rw-r--r--public/-/emojis/3/person_with_pouting_face_tone3.pngbin0 -> 4770 bytes
-rw-r--r--public/-/emojis/3/person_with_pouting_face_tone4.pngbin0 -> 4675 bytes
-rw-r--r--public/-/emojis/3/person_with_pouting_face_tone5.pngbin0 -> 4807 bytes
-rw-r--r--public/-/emojis/3/pick.pngbin0 -> 2789 bytes
-rw-r--r--public/-/emojis/3/pig.pngbin0 -> 3649 bytes
-rw-r--r--public/-/emojis/3/pig2.pngbin0 -> 3112 bytes
-rw-r--r--public/-/emojis/3/pig_nose.pngbin0 -> 2677 bytes
-rw-r--r--public/-/emojis/3/pill.pngbin0 -> 2705 bytes
-rw-r--r--public/-/emojis/3/pineapple.pngbin0 -> 3974 bytes
-rw-r--r--public/-/emojis/3/ping_pong.pngbin0 -> 2968 bytes
-rw-r--r--public/-/emojis/3/pisces.pngbin0 -> 4576 bytes
-rw-r--r--public/-/emojis/3/pizza.pngbin0 -> 4654 bytes
-rw-r--r--public/-/emojis/3/place_of_worship.pngbin0 -> 3414 bytes
-rw-r--r--public/-/emojis/3/play_pause.pngbin0 -> 1906 bytes
-rw-r--r--public/-/emojis/3/point_down.pngbin0 -> 2314 bytes
-rw-r--r--public/-/emojis/3/point_down_tone1.pngbin0 -> 2519 bytes
-rw-r--r--public/-/emojis/3/point_down_tone2.pngbin0 -> 2513 bytes
-rw-r--r--public/-/emojis/3/point_down_tone3.pngbin0 -> 2413 bytes
-rw-r--r--public/-/emojis/3/point_down_tone4.pngbin0 -> 2301 bytes
-rw-r--r--public/-/emojis/3/point_down_tone5.pngbin0 -> 2356 bytes
-rw-r--r--public/-/emojis/3/point_left.pngbin0 -> 2143 bytes
-rw-r--r--public/-/emojis/3/point_left_tone1.pngbin0 -> 2330 bytes
-rw-r--r--public/-/emojis/3/point_left_tone2.pngbin0 -> 2309 bytes
-rw-r--r--public/-/emojis/3/point_left_tone3.pngbin0 -> 2386 bytes
-rw-r--r--public/-/emojis/3/point_left_tone4.pngbin0 -> 2210 bytes
-rw-r--r--public/-/emojis/3/point_left_tone5.pngbin0 -> 2312 bytes
-rw-r--r--public/-/emojis/3/point_right.pngbin0 -> 2175 bytes
-rw-r--r--public/-/emojis/3/point_right_tone1.pngbin0 -> 2344 bytes
-rw-r--r--public/-/emojis/3/point_right_tone2.pngbin0 -> 2325 bytes
-rw-r--r--public/-/emojis/3/point_right_tone3.pngbin0 -> 2276 bytes
-rw-r--r--public/-/emojis/3/point_right_tone4.pngbin0 -> 2143 bytes
-rw-r--r--public/-/emojis/3/point_right_tone5.pngbin0 -> 2172 bytes
-rw-r--r--public/-/emojis/3/point_up.pngbin0 -> 3044 bytes
-rw-r--r--public/-/emojis/3/point_up_2.pngbin0 -> 2272 bytes
-rw-r--r--public/-/emojis/3/point_up_2_tone1.pngbin0 -> 2457 bytes
-rw-r--r--public/-/emojis/3/point_up_2_tone2.pngbin0 -> 2442 bytes
-rw-r--r--public/-/emojis/3/point_up_2_tone3.pngbin0 -> 2385 bytes
-rw-r--r--public/-/emojis/3/point_up_2_tone4.pngbin0 -> 2290 bytes
-rw-r--r--public/-/emojis/3/point_up_2_tone5.pngbin0 -> 2351 bytes
-rw-r--r--public/-/emojis/3/point_up_tone1.pngbin0 -> 3231 bytes
-rw-r--r--public/-/emojis/3/point_up_tone2.pngbin0 -> 3255 bytes
-rw-r--r--public/-/emojis/3/point_up_tone3.pngbin0 -> 3176 bytes
-rw-r--r--public/-/emojis/3/point_up_tone4.pngbin0 -> 2818 bytes
-rw-r--r--public/-/emojis/3/point_up_tone5.pngbin0 -> 3005 bytes
-rw-r--r--public/-/emojis/3/police_car.pngbin0 -> 3987 bytes
-rw-r--r--public/-/emojis/3/poodle.pngbin0 -> 4467 bytes
-rw-r--r--public/-/emojis/3/poop.pngbin0 -> 3452 bytes
-rw-r--r--public/-/emojis/3/popcorn.pngbin0 -> 5674 bytes
-rw-r--r--public/-/emojis/3/post_office.pngbin0 -> 2559 bytes
-rw-r--r--public/-/emojis/3/postal_horn.pngbin0 -> 3491 bytes
-rw-r--r--public/-/emojis/3/postbox.pngbin0 -> 2569 bytes
-rw-r--r--public/-/emojis/3/potable_water.pngbin0 -> 3165 bytes
-rw-r--r--public/-/emojis/3/potato.pngbin0 -> 3683 bytes
-rw-r--r--public/-/emojis/3/pouch.pngbin0 -> 2529 bytes
-rw-r--r--public/-/emojis/3/poultry_leg.pngbin0 -> 2702 bytes
-rw-r--r--public/-/emojis/3/pound.pngbin0 -> 2390 bytes
-rw-r--r--public/-/emojis/3/pouting_cat.pngbin0 -> 4361 bytes
-rw-r--r--public/-/emojis/3/pray.pngbin0 -> 3399 bytes
-rw-r--r--public/-/emojis/3/pray_tone1.pngbin0 -> 3406 bytes
-rw-r--r--public/-/emojis/3/pray_tone2.pngbin0 -> 3437 bytes
-rw-r--r--public/-/emojis/3/pray_tone3.pngbin0 -> 3309 bytes
-rw-r--r--public/-/emojis/3/pray_tone4.pngbin0 -> 3278 bytes
-rw-r--r--public/-/emojis/3/pray_tone5.pngbin0 -> 3332 bytes
-rw-r--r--public/-/emojis/3/prayer_beads.pngbin0 -> 5496 bytes
-rw-r--r--public/-/emojis/3/pregnant_woman.pngbin0 -> 3089 bytes
-rw-r--r--public/-/emojis/3/pregnant_woman_tone1.pngbin0 -> 3104 bytes
-rw-r--r--public/-/emojis/3/pregnant_woman_tone2.pngbin0 -> 3095 bytes
-rw-r--r--public/-/emojis/3/pregnant_woman_tone3.pngbin0 -> 3038 bytes
-rw-r--r--public/-/emojis/3/pregnant_woman_tone4.pngbin0 -> 2988 bytes
-rw-r--r--public/-/emojis/3/pregnant_woman_tone5.pngbin0 -> 3042 bytes
-rw-r--r--public/-/emojis/3/prince.pngbin0 -> 4988 bytes
-rw-r--r--public/-/emojis/3/prince_tone1.pngbin0 -> 5158 bytes
-rw-r--r--public/-/emojis/3/prince_tone2.pngbin0 -> 4951 bytes
-rw-r--r--public/-/emojis/3/prince_tone3.pngbin0 -> 4971 bytes
-rw-r--r--public/-/emojis/3/prince_tone4.pngbin0 -> 4911 bytes
-rw-r--r--public/-/emojis/3/prince_tone5.pngbin0 -> 4979 bytes
-rw-r--r--public/-/emojis/3/princess.pngbin0 -> 5591 bytes
-rw-r--r--public/-/emojis/3/princess_tone1.pngbin0 -> 5621 bytes
-rw-r--r--public/-/emojis/3/princess_tone2.pngbin0 -> 5429 bytes
-rw-r--r--public/-/emojis/3/princess_tone3.pngbin0 -> 5535 bytes
-rw-r--r--public/-/emojis/3/princess_tone4.pngbin0 -> 5461 bytes
-rw-r--r--public/-/emojis/3/princess_tone5.pngbin0 -> 5534 bytes
-rw-r--r--public/-/emojis/3/printer.pngbin0 -> 3128 bytes
-rw-r--r--public/-/emojis/3/projector.pngbin0 -> 5684 bytes
-rw-r--r--public/-/emojis/3/punch.pngbin0 -> 3271 bytes
-rw-r--r--public/-/emojis/3/punch_tone1.pngbin0 -> 3011 bytes
-rw-r--r--public/-/emojis/3/punch_tone2.pngbin0 -> 3165 bytes
-rw-r--r--public/-/emojis/3/punch_tone3.pngbin0 -> 3592 bytes
-rw-r--r--public/-/emojis/3/punch_tone4.pngbin0 -> 3215 bytes
-rw-r--r--public/-/emojis/3/punch_tone5.pngbin0 -> 3327 bytes
-rw-r--r--public/-/emojis/3/purple_heart.pngbin0 -> 3051 bytes
-rw-r--r--public/-/emojis/3/purse.pngbin0 -> 3661 bytes
-rw-r--r--public/-/emojis/3/pushpin.pngbin0 -> 3160 bytes
-rw-r--r--public/-/emojis/3/put_litter_in_its_place.pngbin0 -> 3446 bytes
-rw-r--r--public/-/emojis/3/question.pngbin0 -> 2342 bytes
-rw-r--r--public/-/emojis/3/rabbit.pngbin0 -> 4230 bytes
-rw-r--r--public/-/emojis/3/rabbit2.pngbin0 -> 3614 bytes
-rw-r--r--public/-/emojis/3/race_car.pngbin0 -> 3228 bytes
-rw-r--r--public/-/emojis/3/racehorse.pngbin0 -> 4442 bytes
-rw-r--r--public/-/emojis/3/radio.pngbin0 -> 3597 bytes
-rw-r--r--public/-/emojis/3/radio_button.pngbin0 -> 4227 bytes
-rw-r--r--public/-/emojis/3/radioactive.pngbin0 -> 4640 bytes
-rw-r--r--public/-/emojis/3/rage.pngbin0 -> 5128 bytes
-rw-r--r--public/-/emojis/3/railway_car.pngbin0 -> 2707 bytes
-rw-r--r--public/-/emojis/3/railway_track.pngbin0 -> 4420 bytes
-rw-r--r--public/-/emojis/3/rainbow.pngbin0 -> 3488 bytes
-rw-r--r--public/-/emojis/3/raised_back_of_hand.pngbin0 -> 2913 bytes
-rw-r--r--public/-/emojis/3/raised_back_of_hand_tone1.pngbin0 -> 3126 bytes
-rw-r--r--public/-/emojis/3/raised_back_of_hand_tone2.pngbin0 -> 3156 bytes
-rw-r--r--public/-/emojis/3/raised_back_of_hand_tone3.pngbin0 -> 3053 bytes
-rw-r--r--public/-/emojis/3/raised_back_of_hand_tone4.pngbin0 -> 2886 bytes
-rw-r--r--public/-/emojis/3/raised_back_of_hand_tone5.pngbin0 -> 2930 bytes
-rw-r--r--public/-/emojis/3/raised_hand.pngbin0 -> 2896 bytes
-rw-r--r--public/-/emojis/3/raised_hand_tone1.pngbin0 -> 3120 bytes
-rw-r--r--public/-/emojis/3/raised_hand_tone2.pngbin0 -> 3123 bytes
-rw-r--r--public/-/emojis/3/raised_hand_tone3.pngbin0 -> 3090 bytes
-rw-r--r--public/-/emojis/3/raised_hand_tone4.pngbin0 -> 2860 bytes
-rw-r--r--public/-/emojis/3/raised_hand_tone5.pngbin0 -> 2917 bytes
-rw-r--r--public/-/emojis/3/raised_hands.pngbin0 -> 3902 bytes
-rw-r--r--public/-/emojis/3/raised_hands_tone1.pngbin0 -> 4107 bytes
-rw-r--r--public/-/emojis/3/raised_hands_tone2.pngbin0 -> 4189 bytes
-rw-r--r--public/-/emojis/3/raised_hands_tone3.pngbin0 -> 4084 bytes
-rw-r--r--public/-/emojis/3/raised_hands_tone4.pngbin0 -> 3756 bytes
-rw-r--r--public/-/emojis/3/raised_hands_tone5.pngbin0 -> 3954 bytes
-rw-r--r--public/-/emojis/3/raising_hand.pngbin0 -> 5099 bytes
-rw-r--r--public/-/emojis/3/raising_hand_tone1.pngbin0 -> 5338 bytes
-rw-r--r--public/-/emojis/3/raising_hand_tone2.pngbin0 -> 4972 bytes
-rw-r--r--public/-/emojis/3/raising_hand_tone3.pngbin0 -> 4973 bytes
-rw-r--r--public/-/emojis/3/raising_hand_tone4.pngbin0 -> 4848 bytes
-rw-r--r--public/-/emojis/3/raising_hand_tone5.pngbin0 -> 4883 bytes
-rw-r--r--public/-/emojis/3/ram.pngbin0 -> 4480 bytes
-rw-r--r--public/-/emojis/3/ramen.pngbin0 -> 5580 bytes
-rw-r--r--public/-/emojis/3/rat.pngbin0 -> 3436 bytes
-rw-r--r--public/-/emojis/3/record_button.pngbin0 -> 1872 bytes
-rw-r--r--public/-/emojis/3/recycle.pngbin0 -> 3648 bytes
-rw-r--r--public/-/emojis/3/red_car.pngbin0 -> 3692 bytes
-rw-r--r--public/-/emojis/3/red_circle.pngbin0 -> 2832 bytes
-rw-r--r--public/-/emojis/3/registered.pngbin0 -> 4675 bytes
-rw-r--r--public/-/emojis/3/relaxed.pngbin0 -> 5366 bytes
-rw-r--r--public/-/emojis/3/relieved.pngbin0 -> 4930 bytes
-rw-r--r--public/-/emojis/3/reminder_ribbon.pngbin0 -> 2344 bytes
-rw-r--r--public/-/emojis/3/repeat.pngbin0 -> 2820 bytes
-rw-r--r--public/-/emojis/3/repeat_one.pngbin0 -> 3247 bytes
-rw-r--r--public/-/emojis/3/restroom.pngbin0 -> 3589 bytes
-rw-r--r--public/-/emojis/3/revolving_hearts.pngbin0 -> 4560 bytes
-rw-r--r--public/-/emojis/3/rewind.pngbin0 -> 2223 bytes
-rw-r--r--public/-/emojis/3/rhino.pngbin0 -> 3630 bytes
-rw-r--r--public/-/emojis/3/ribbon.pngbin0 -> 4255 bytes
-rw-r--r--public/-/emojis/3/rice.pngbin0 -> 3765 bytes
-rw-r--r--public/-/emojis/3/rice_ball.pngbin0 -> 3858 bytes
-rw-r--r--public/-/emojis/3/rice_cracker.pngbin0 -> 4058 bytes
-rw-r--r--public/-/emojis/3/rice_scene.pngbin0 -> 7219 bytes
-rw-r--r--public/-/emojis/3/right_facing_fist.pngbin0 -> 2932 bytes
-rw-r--r--public/-/emojis/3/right_facing_fist_tone1.pngbin0 -> 3447 bytes
-rw-r--r--public/-/emojis/3/right_facing_fist_tone2.pngbin0 -> 3544 bytes
-rw-r--r--public/-/emojis/3/right_facing_fist_tone3.pngbin0 -> 3357 bytes
-rw-r--r--public/-/emojis/3/right_facing_fist_tone4.pngbin0 -> 3196 bytes
-rw-r--r--public/-/emojis/3/right_facing_fist_tone5.pngbin0 -> 3248 bytes
-rw-r--r--public/-/emojis/3/ring.pngbin0 -> 3808 bytes
-rw-r--r--public/-/emojis/3/robot.pngbin0 -> 3144 bytes
-rw-r--r--public/-/emojis/3/rocket.pngbin0 -> 5488 bytes
-rw-r--r--public/-/emojis/3/rofl.pngbin0 -> 6172 bytes
-rw-r--r--public/-/emojis/3/roller_coaster.pngbin0 -> 5186 bytes
-rw-r--r--public/-/emojis/3/rolling_eyes.pngbin0 -> 4685 bytes
-rw-r--r--public/-/emojis/3/rooster.pngbin0 -> 3854 bytes
-rw-r--r--public/-/emojis/3/rose.pngbin0 -> 3291 bytes
-rw-r--r--public/-/emojis/3/rosette.pngbin0 -> 4556 bytes
-rw-r--r--public/-/emojis/3/rotating_light.pngbin0 -> 4679 bytes
-rw-r--r--public/-/emojis/3/round_pushpin.pngbin0 -> 1555 bytes
-rw-r--r--public/-/emojis/3/rowboat.pngbin0 -> 4149 bytes
-rw-r--r--public/-/emojis/3/rowboat_tone1.pngbin0 -> 4210 bytes
-rw-r--r--public/-/emojis/3/rowboat_tone2.pngbin0 -> 4204 bytes
-rw-r--r--public/-/emojis/3/rowboat_tone3.pngbin0 -> 4175 bytes
-rw-r--r--public/-/emojis/3/rowboat_tone4.pngbin0 -> 4157 bytes
-rw-r--r--public/-/emojis/3/rowboat_tone5.pngbin0 -> 4183 bytes
-rw-r--r--public/-/emojis/3/rugby_football.pngbin0 -> 3937 bytes
-rw-r--r--public/-/emojis/3/runner.pngbin0 -> 3191 bytes
-rw-r--r--public/-/emojis/3/runner_tone1.pngbin0 -> 3280 bytes
-rw-r--r--public/-/emojis/3/runner_tone2.pngbin0 -> 3270 bytes
-rw-r--r--public/-/emojis/3/runner_tone3.pngbin0 -> 3231 bytes
-rw-r--r--public/-/emojis/3/runner_tone4.pngbin0 -> 3213 bytes
-rw-r--r--public/-/emojis/3/runner_tone5.pngbin0 -> 3285 bytes
-rw-r--r--public/-/emojis/3/running_shirt_with_sash.pngbin0 -> 3358 bytes
-rw-r--r--public/-/emojis/3/sa.pngbin0 -> 2386 bytes
-rw-r--r--public/-/emojis/3/sagittarius.pngbin0 -> 4468 bytes
-rw-r--r--public/-/emojis/3/sailboat.pngbin0 -> 3987 bytes
-rw-r--r--public/-/emojis/3/sake.pngbin0 -> 3311 bytes
-rw-r--r--public/-/emojis/3/salad.pngbin0 -> 5279 bytes
-rw-r--r--public/-/emojis/3/sandal.pngbin0 -> 2770 bytes
-rw-r--r--public/-/emojis/3/santa.pngbin0 -> 4289 bytes
-rw-r--r--public/-/emojis/3/santa_tone1.pngbin0 -> 4204 bytes
-rw-r--r--public/-/emojis/3/santa_tone2.pngbin0 -> 4284 bytes
-rw-r--r--public/-/emojis/3/santa_tone3.pngbin0 -> 4382 bytes
-rw-r--r--public/-/emojis/3/santa_tone4.pngbin0 -> 4409 bytes
-rw-r--r--public/-/emojis/3/santa_tone5.pngbin0 -> 4449 bytes
-rw-r--r--public/-/emojis/3/satellite.pngbin0 -> 5128 bytes
-rw-r--r--public/-/emojis/3/satellite_orbital.pngbin0 -> 4941 bytes
-rw-r--r--public/-/emojis/3/saxophone.pngbin0 -> 2954 bytes
-rw-r--r--public/-/emojis/3/scales.pngbin0 -> 4230 bytes
-rw-r--r--public/-/emojis/3/school.pngbin0 -> 4001 bytes
-rw-r--r--public/-/emojis/3/school_satchel.pngbin0 -> 5291 bytes
-rw-r--r--public/-/emojis/3/scissors.pngbin0 -> 3793 bytes
-rw-r--r--public/-/emojis/3/scooter.pngbin0 -> 3110 bytes
-rw-r--r--public/-/emojis/3/scorpion.pngbin0 -> 4502 bytes
-rw-r--r--public/-/emojis/3/scorpius.pngbin0 -> 4438 bytes
-rw-r--r--public/-/emojis/3/scream.pngbin0 -> 5649 bytes
-rw-r--r--public/-/emojis/3/scream_cat.pngbin0 -> 5280 bytes
-rw-r--r--public/-/emojis/3/scroll.pngbin0 -> 3417 bytes
-rw-r--r--public/-/emojis/3/seat.pngbin0 -> 3717 bytes
-rw-r--r--public/-/emojis/3/second_place.pngbin0 -> 3637 bytes
-rw-r--r--public/-/emojis/3/secret.pngbin0 -> 5359 bytes
-rw-r--r--public/-/emojis/3/see_no_evil.pngbin0 -> 4037 bytes
-rw-r--r--public/-/emojis/3/seedling.pngbin0 -> 2678 bytes
-rw-r--r--public/-/emojis/3/selfie.pngbin0 -> 3196 bytes
-rw-r--r--public/-/emojis/3/selfie_tone1.pngbin0 -> 3171 bytes
-rw-r--r--public/-/emojis/3/selfie_tone2.pngbin0 -> 3258 bytes
-rw-r--r--public/-/emojis/3/selfie_tone3.pngbin0 -> 3255 bytes
-rw-r--r--public/-/emojis/3/selfie_tone4.pngbin0 -> 3245 bytes
-rw-r--r--public/-/emojis/3/selfie_tone5.pngbin0 -> 3253 bytes
-rw-r--r--public/-/emojis/3/seven.pngbin0 -> 1981 bytes
-rw-r--r--public/-/emojis/3/shallow_pan_of_food.pngbin0 -> 7933 bytes
-rw-r--r--public/-/emojis/3/shamrock.pngbin0 -> 3812 bytes
-rw-r--r--public/-/emojis/3/shark.pngbin0 -> 3599 bytes
-rw-r--r--public/-/emojis/3/shaved_ice.pngbin0 -> 4374 bytes
-rw-r--r--public/-/emojis/3/sheep.pngbin0 -> 4608 bytes
-rw-r--r--public/-/emojis/3/shell.pngbin0 -> 3732 bytes
-rw-r--r--public/-/emojis/3/shield.pngbin0 -> 4162 bytes
-rw-r--r--public/-/emojis/3/shinto_shrine.pngbin0 -> 2517 bytes
-rw-r--r--public/-/emojis/3/ship.pngbin0 -> 4370 bytes
-rw-r--r--public/-/emojis/3/shirt.pngbin0 -> 2090 bytes
-rw-r--r--public/-/emojis/3/shopping_bags.pngbin0 -> 4273 bytes
-rw-r--r--public/-/emojis/3/shopping_cart.pngbin0 -> 3825 bytes
-rw-r--r--public/-/emojis/3/shower.pngbin0 -> 4662 bytes
-rw-r--r--public/-/emojis/3/shrimp.pngbin0 -> 3495 bytes
-rw-r--r--public/-/emojis/3/shrug.pngbin0 -> 4781 bytes
-rw-r--r--public/-/emojis/3/shrug_tone1.pngbin0 -> 4984 bytes
-rw-r--r--public/-/emojis/3/shrug_tone2.pngbin0 -> 4800 bytes
-rw-r--r--public/-/emojis/3/shrug_tone3.pngbin0 -> 4762 bytes
-rw-r--r--public/-/emojis/3/shrug_tone4.pngbin0 -> 4717 bytes
-rw-r--r--public/-/emojis/3/shrug_tone5.pngbin0 -> 4754 bytes
-rw-r--r--public/-/emojis/3/signal_strength.pngbin0 -> 1468 bytes
-rw-r--r--public/-/emojis/3/six.pngbin0 -> 2529 bytes
-rw-r--r--public/-/emojis/3/six_pointed_star.pngbin0 -> 3801 bytes
-rw-r--r--public/-/emojis/3/ski.pngbin0 -> 3862 bytes
-rw-r--r--public/-/emojis/3/skier.pngbin0 -> 5603 bytes
-rw-r--r--public/-/emojis/3/skull.pngbin0 -> 4059 bytes
-rw-r--r--public/-/emojis/3/skull_crossbones.pngbin0 -> 4347 bytes
-rw-r--r--public/-/emojis/3/sleeping.pngbin0 -> 5214 bytes
-rw-r--r--public/-/emojis/3/sleeping_accommodation.pngbin0 -> 2442 bytes
-rw-r--r--public/-/emojis/3/sleepy.pngbin0 -> 5248 bytes
-rw-r--r--public/-/emojis/3/slight_frown.pngbin0 -> 4636 bytes
-rw-r--r--public/-/emojis/3/slight_smile.pngbin0 -> 4644 bytes
-rw-r--r--public/-/emojis/3/slot_machine.pngbin0 -> 5163 bytes
-rw-r--r--public/-/emojis/3/small_blue_diamond.pngbin0 -> 977 bytes
-rw-r--r--public/-/emojis/3/small_orange_diamond.pngbin0 -> 950 bytes
-rw-r--r--public/-/emojis/3/small_red_triangle.pngbin0 -> 1371 bytes
-rw-r--r--public/-/emojis/3/small_red_triangle_down.pngbin0 -> 1435 bytes
-rw-r--r--public/-/emojis/3/smile.pngbin0 -> 5185 bytes
-rw-r--r--public/-/emojis/3/smile_cat.pngbin0 -> 4845 bytes
-rw-r--r--public/-/emojis/3/smiley.pngbin0 -> 5211 bytes
-rw-r--r--public/-/emojis/3/smiley_cat.pngbin0 -> 4458 bytes
-rw-r--r--public/-/emojis/3/smiling_imp.pngbin0 -> 5355 bytes
-rw-r--r--public/-/emojis/3/smirk.pngbin0 -> 4817 bytes
-rw-r--r--public/-/emojis/3/smirk_cat.pngbin0 -> 4383 bytes
-rw-r--r--public/-/emojis/3/smoking.pngbin0 -> 3110 bytes
-rw-r--r--public/-/emojis/3/snail.pngbin0 -> 4356 bytes
-rw-r--r--public/-/emojis/3/snake.pngbin0 -> 4040 bytes
-rw-r--r--public/-/emojis/3/sneezing_face.pngbin0 -> 6024 bytes
-rw-r--r--public/-/emojis/3/snowboarder.pngbin0 -> 5823 bytes
-rw-r--r--public/-/emojis/3/snowflake.pngbin0 -> 5219 bytes
-rw-r--r--public/-/emojis/3/snowman.pngbin0 -> 2907 bytes
-rw-r--r--public/-/emojis/3/snowman2.pngbin0 -> 3718 bytes
-rw-r--r--public/-/emojis/3/sob.pngbin0 -> 5597 bytes
-rw-r--r--public/-/emojis/3/soccer.pngbin0 -> 5272 bytes
-rw-r--r--public/-/emojis/3/soon.pngbin0 -> 3511 bytes
-rw-r--r--public/-/emojis/3/sos.pngbin0 -> 3896 bytes
-rw-r--r--public/-/emojis/3/sound.pngbin0 -> 3960 bytes
-rw-r--r--public/-/emojis/3/space_invader.pngbin0 -> 2411 bytes
-rw-r--r--public/-/emojis/3/spades.pngbin0 -> 2300 bytes
-rw-r--r--public/-/emojis/3/spaghetti.pngbin0 -> 5923 bytes
-rw-r--r--public/-/emojis/3/sparkle.pngbin0 -> 3257 bytes
-rw-r--r--public/-/emojis/3/sparkler.pngbin0 -> 9294 bytes
-rw-r--r--public/-/emojis/3/sparkles.pngbin0 -> 2796 bytes
-rw-r--r--public/-/emojis/3/sparkling_heart.pngbin0 -> 4578 bytes
-rw-r--r--public/-/emojis/3/speak_no_evil.pngbin0 -> 3986 bytes
-rw-r--r--public/-/emojis/3/speaker.pngbin0 -> 3686 bytes
-rw-r--r--public/-/emojis/3/speaking_head.pngbin0 -> 1746 bytes
-rw-r--r--public/-/emojis/3/speech_balloon.pngbin0 -> 3203 bytes
-rw-r--r--public/-/emojis/3/speech_left.pngbin0 -> 2709 bytes
-rw-r--r--public/-/emojis/3/speedboat.pngbin0 -> 2620 bytes
-rw-r--r--public/-/emojis/3/spider.pngbin0 -> 4025 bytes
-rw-r--r--public/-/emojis/3/spider_web.pngbin0 -> 3798 bytes
-rw-r--r--public/-/emojis/3/spoon.pngbin0 -> 2894 bytes
-rw-r--r--public/-/emojis/3/spy.pngbin0 -> 6337 bytes
-rw-r--r--public/-/emojis/3/spy_tone1.pngbin0 -> 6445 bytes
-rw-r--r--public/-/emojis/3/spy_tone2.pngbin0 -> 6304 bytes
-rw-r--r--public/-/emojis/3/spy_tone3.pngbin0 -> 6154 bytes
-rw-r--r--public/-/emojis/3/spy_tone4.pngbin0 -> 6081 bytes
-rw-r--r--public/-/emojis/3/spy_tone5.pngbin0 -> 6028 bytes
-rw-r--r--public/-/emojis/3/squid.pngbin0 -> 4763 bytes
-rw-r--r--public/-/emojis/3/stadium.pngbin0 -> 6540 bytes
-rw-r--r--public/-/emojis/3/star.pngbin0 -> 2222 bytes
-rw-r--r--public/-/emojis/3/star2.pngbin0 -> 3065 bytes
-rw-r--r--public/-/emojis/3/star_and_crescent.pngbin0 -> 3631 bytes
-rw-r--r--public/-/emojis/3/star_of_david.pngbin0 -> 3664 bytes
-rw-r--r--public/-/emojis/3/stars.pngbin0 -> 5233 bytes
-rw-r--r--public/-/emojis/3/station.pngbin0 -> 5407 bytes
-rw-r--r--public/-/emojis/3/statue_of_liberty.pngbin0 -> 5849 bytes
-rw-r--r--public/-/emojis/3/steam_locomotive.pngbin0 -> 5410 bytes
-rw-r--r--public/-/emojis/3/stew.pngbin0 -> 4054 bytes
-rw-r--r--public/-/emojis/3/stop_button.pngbin0 -> 1130 bytes
-rw-r--r--public/-/emojis/3/stopwatch.pngbin0 -> 4767 bytes
-rw-r--r--public/-/emojis/3/straight_ruler.pngbin0 -> 3199 bytes
-rw-r--r--public/-/emojis/3/strawberry.pngbin0 -> 4260 bytes
-rw-r--r--public/-/emojis/3/stuck_out_tongue.pngbin0 -> 4664 bytes
-rw-r--r--public/-/emojis/3/stuck_out_tongue_closed_eyes.pngbin0 -> 5088 bytes
-rw-r--r--public/-/emojis/3/stuck_out_tongue_winking_eye.pngbin0 -> 5175 bytes
-rw-r--r--public/-/emojis/3/stuffed_flatbread.pngbin0 -> 6153 bytes
-rw-r--r--public/-/emojis/3/sun_with_face.pngbin0 -> 5405 bytes
-rw-r--r--public/-/emojis/3/sunflower.pngbin0 -> 3686 bytes
-rw-r--r--public/-/emojis/3/sunglasses.pngbin0 -> 4783 bytes
-rw-r--r--public/-/emojis/3/sunny.pngbin0 -> 3127 bytes
-rw-r--r--public/-/emojis/3/sunrise.pngbin0 -> 5904 bytes
-rw-r--r--public/-/emojis/3/sunrise_over_mountains.pngbin0 -> 7314 bytes
-rw-r--r--public/-/emojis/3/surfer.pngbin0 -> 6505 bytes
-rw-r--r--public/-/emojis/3/surfer_tone1.pngbin0 -> 6533 bytes
-rw-r--r--public/-/emojis/3/surfer_tone2.pngbin0 -> 6530 bytes
-rw-r--r--public/-/emojis/3/surfer_tone3.pngbin0 -> 6536 bytes
-rw-r--r--public/-/emojis/3/surfer_tone4.pngbin0 -> 6551 bytes
-rw-r--r--public/-/emojis/3/surfer_tone5.pngbin0 -> 6613 bytes
-rw-r--r--public/-/emojis/3/sushi.pngbin0 -> 5586 bytes
-rw-r--r--public/-/emojis/3/suspension_railway.pngbin0 -> 4615 bytes
-rw-r--r--public/-/emojis/3/sweat.pngbin0 -> 4783 bytes
-rw-r--r--public/-/emojis/3/sweat_drops.pngbin0 -> 2832 bytes
-rw-r--r--public/-/emojis/3/sweat_smile.pngbin0 -> 5513 bytes
-rw-r--r--public/-/emojis/3/sweet_potato.pngbin0 -> 3646 bytes
-rw-r--r--public/-/emojis/3/swimmer.pngbin0 -> 2894 bytes
-rw-r--r--public/-/emojis/3/swimmer_tone1.pngbin0 -> 2968 bytes
-rw-r--r--public/-/emojis/3/swimmer_tone2.pngbin0 -> 2972 bytes
-rw-r--r--public/-/emojis/3/swimmer_tone3.pngbin0 -> 2984 bytes
-rw-r--r--public/-/emojis/3/swimmer_tone4.pngbin0 -> 2970 bytes
-rw-r--r--public/-/emojis/3/swimmer_tone5.pngbin0 -> 3002 bytes
-rw-r--r--public/-/emojis/3/symbols.pngbin0 -> 3442 bytes
-rw-r--r--public/-/emojis/3/synagogue.pngbin0 -> 4062 bytes
-rw-r--r--public/-/emojis/3/syringe.pngbin0 -> 3298 bytes
-rw-r--r--public/-/emojis/3/taco.pngbin0 -> 5095 bytes
-rw-r--r--public/-/emojis/3/tada.pngbin0 -> 5758 bytes
-rw-r--r--public/-/emojis/3/tanabata_tree.pngbin0 -> 4774 bytes
-rw-r--r--public/-/emojis/3/tangerine.pngbin0 -> 3009 bytes
-rw-r--r--public/-/emojis/3/taurus.pngbin0 -> 4716 bytes
-rw-r--r--public/-/emojis/3/taxi.pngbin0 -> 3989 bytes
-rw-r--r--public/-/emojis/3/tea.pngbin0 -> 2862 bytes
-rw-r--r--public/-/emojis/3/telephone.pngbin0 -> 3940 bytes
-rw-r--r--public/-/emojis/3/telephone_receiver.pngbin0 -> 2937 bytes
-rw-r--r--public/-/emojis/3/telescope.pngbin0 -> 3989 bytes
-rw-r--r--public/-/emojis/3/ten.pngbin0 -> 2573 bytes
-rw-r--r--public/-/emojis/3/tennis.pngbin0 -> 5650 bytes
-rw-r--r--public/-/emojis/3/tent.pngbin0 -> 2610 bytes
-rw-r--r--public/-/emojis/3/thermometer.pngbin0 -> 2433 bytes
-rw-r--r--public/-/emojis/3/thermometer_face.pngbin0 -> 5693 bytes
-rw-r--r--public/-/emojis/3/thinking.pngbin0 -> 5440 bytes
-rw-r--r--public/-/emojis/3/third_place.pngbin0 -> 3784 bytes
-rw-r--r--public/-/emojis/3/thought_balloon.pngbin0 -> 3237 bytes
-rw-r--r--public/-/emojis/3/three.pngbin0 -> 2580 bytes
-rw-r--r--public/-/emojis/3/thumbsdown.pngbin0 -> 3520 bytes
-rw-r--r--public/-/emojis/3/thumbsdown_tone1.pngbin0 -> 3749 bytes
-rw-r--r--public/-/emojis/3/thumbsdown_tone2.pngbin0 -> 3776 bytes
-rw-r--r--public/-/emojis/3/thumbsdown_tone3.pngbin0 -> 3679 bytes
-rw-r--r--public/-/emojis/3/thumbsdown_tone4.pngbin0 -> 3443 bytes
-rw-r--r--public/-/emojis/3/thumbsdown_tone5.pngbin0 -> 3501 bytes
-rw-r--r--public/-/emojis/3/thumbsup.pngbin0 -> 3475 bytes
-rw-r--r--public/-/emojis/3/thumbsup_tone1.pngbin0 -> 3754 bytes
-rw-r--r--public/-/emojis/3/thumbsup_tone2.pngbin0 -> 3737 bytes
-rw-r--r--public/-/emojis/3/thumbsup_tone3.pngbin0 -> 3670 bytes
-rw-r--r--public/-/emojis/3/thumbsup_tone4.pngbin0 -> 3403 bytes
-rw-r--r--public/-/emojis/3/thumbsup_tone5.pngbin0 -> 3474 bytes
-rw-r--r--public/-/emojis/3/thunder_cloud_rain.pngbin0 -> 3424 bytes
-rw-r--r--public/-/emojis/3/ticket.pngbin0 -> 2253 bytes
-rw-r--r--public/-/emojis/3/tickets.pngbin0 -> 1702 bytes
-rw-r--r--public/-/emojis/3/tiger.pngbin0 -> 6453 bytes
-rw-r--r--public/-/emojis/3/tiger2.pngbin0 -> 5531 bytes
-rw-r--r--public/-/emojis/3/timer.pngbin0 -> 4883 bytes
-rw-r--r--public/-/emojis/3/tired_face.pngbin0 -> 5606 bytes
-rw-r--r--public/-/emojis/3/tm.pngbin0 -> 1885 bytes
-rw-r--r--public/-/emojis/3/toilet.pngbin0 -> 2807 bytes
-rw-r--r--public/-/emojis/3/tokyo_tower.pngbin0 -> 2259 bytes
-rw-r--r--public/-/emojis/3/tomato.pngbin0 -> 3520 bytes
-rw-r--r--public/-/emojis/3/tone1.pngbin0 -> 406 bytes
-rw-r--r--public/-/emojis/3/tone2.pngbin0 -> 419 bytes
-rw-r--r--public/-/emojis/3/tone3.pngbin0 -> 414 bytes
-rw-r--r--public/-/emojis/3/tone4.pngbin0 -> 416 bytes
-rw-r--r--public/-/emojis/3/tone5.pngbin0 -> 405 bytes
-rw-r--r--public/-/emojis/3/tongue.pngbin0 -> 3705 bytes
-rw-r--r--public/-/emojis/3/tools.pngbin0 -> 5049 bytes
-rw-r--r--public/-/emojis/3/top.pngbin0 -> 2753 bytes
-rw-r--r--public/-/emojis/3/tophat.pngbin0 -> 3289 bytes
-rw-r--r--public/-/emojis/3/track_next.pngbin0 -> 2235 bytes
-rw-r--r--public/-/emojis/3/track_previous.pngbin0 -> 2252 bytes
-rw-r--r--public/-/emojis/3/trackball.pngbin0 -> 4137 bytes
-rw-r--r--public/-/emojis/3/tractor.pngbin0 -> 5972 bytes
-rw-r--r--public/-/emojis/3/traffic_light.pngbin0 -> 2502 bytes
-rw-r--r--public/-/emojis/3/train.pngbin0 -> 3318 bytes
-rw-r--r--public/-/emojis/3/train2.pngbin0 -> 4262 bytes
-rw-r--r--public/-/emojis/3/tram.pngbin0 -> 4236 bytes
-rw-r--r--public/-/emojis/3/triangular_flag_on_post.pngbin0 -> 3203 bytes
-rw-r--r--public/-/emojis/3/triangular_ruler.pngbin0 -> 3101 bytes
-rw-r--r--public/-/emojis/3/trident.pngbin0 -> 4253 bytes
-rw-r--r--public/-/emojis/3/triumph.pngbin0 -> 5870 bytes
-rw-r--r--public/-/emojis/3/trolleybus.pngbin0 -> 4107 bytes
-rw-r--r--public/-/emojis/3/trophy.pngbin0 -> 4374 bytes
-rw-r--r--public/-/emojis/3/tropical_drink.pngbin0 -> 3950 bytes
-rw-r--r--public/-/emojis/3/tropical_fish.pngbin0 -> 4411 bytes
-rw-r--r--public/-/emojis/3/truck.pngbin0 -> 3314 bytes
-rw-r--r--public/-/emojis/3/trumpet.pngbin0 -> 3443 bytes
-rw-r--r--public/-/emojis/3/tulip.pngbin0 -> 3162 bytes
-rw-r--r--public/-/emojis/3/tumbler_glass.pngbin0 -> 5194 bytes
-rw-r--r--public/-/emojis/3/turkey.pngbin0 -> 5886 bytes
-rw-r--r--public/-/emojis/3/turtle.pngbin0 -> 3718 bytes
-rw-r--r--public/-/emojis/3/tv.pngbin0 -> 2981 bytes
-rw-r--r--public/-/emojis/3/twisted_rightwards_arrows.pngbin0 -> 3645 bytes
-rw-r--r--public/-/emojis/3/two.pngbin0 -> 2368 bytes
-rw-r--r--public/-/emojis/3/two_hearts.pngbin0 -> 3543 bytes
-rw-r--r--public/-/emojis/3/two_men_holding_hands.pngbin0 -> 4990 bytes
-rw-r--r--public/-/emojis/3/two_women_holding_hands.pngbin0 -> 5302 bytes
-rw-r--r--public/-/emojis/3/u5272.pngbin0 -> 2808 bytes
-rw-r--r--public/-/emojis/3/u5408.pngbin0 -> 2840 bytes
-rw-r--r--public/-/emojis/3/u55b6.pngbin0 -> 2585 bytes
-rw-r--r--public/-/emojis/3/u6307.pngbin0 -> 2970 bytes
-rw-r--r--public/-/emojis/3/u6708.pngbin0 -> 2072 bytes
-rw-r--r--public/-/emojis/3/u6709.pngbin0 -> 2477 bytes
-rw-r--r--public/-/emojis/3/u6e80.pngbin0 -> 3696 bytes
-rw-r--r--public/-/emojis/3/u7121.pngbin0 -> 3254 bytes
-rw-r--r--public/-/emojis/3/u7533.pngbin0 -> 2115 bytes
-rw-r--r--public/-/emojis/3/u7981.pngbin0 -> 3651 bytes
-rw-r--r--public/-/emojis/3/u7a7a.pngbin0 -> 2572 bytes
-rw-r--r--public/-/emojis/3/umbrella.pngbin0 -> 4009 bytes
-rw-r--r--public/-/emojis/3/umbrella2.pngbin0 -> 2695 bytes
-rw-r--r--public/-/emojis/3/unamused.pngbin0 -> 4844 bytes
-rw-r--r--public/-/emojis/3/underage.pngbin0 -> 6503 bytes
-rw-r--r--public/-/emojis/3/unicorn.pngbin0 -> 4566 bytes
-rw-r--r--public/-/emojis/3/unlock.pngbin0 -> 2560 bytes
-rw-r--r--public/-/emojis/3/up.pngbin0 -> 2524 bytes
-rw-r--r--public/-/emojis/3/upside_down.pngbin0 -> 4771 bytes
-rw-r--r--public/-/emojis/3/urn.pngbin0 -> 3097 bytes
-rw-r--r--public/-/emojis/3/v.pngbin0 -> 3650 bytes
-rw-r--r--public/-/emojis/3/v_tone1.pngbin0 -> 3873 bytes
-rw-r--r--public/-/emojis/3/v_tone2.pngbin0 -> 3970 bytes
-rw-r--r--public/-/emojis/3/v_tone3.pngbin0 -> 3894 bytes
-rw-r--r--public/-/emojis/3/v_tone4.pngbin0 -> 3585 bytes
-rw-r--r--public/-/emojis/3/v_tone5.pngbin0 -> 3722 bytes
-rw-r--r--public/-/emojis/3/vertical_traffic_light.pngbin0 -> 2608 bytes
-rw-r--r--public/-/emojis/3/vhs.pngbin0 -> 2286 bytes
-rw-r--r--public/-/emojis/3/vibration_mode.pngbin0 -> 4065 bytes
-rw-r--r--public/-/emojis/3/video_camera.pngbin0 -> 2530 bytes
-rw-r--r--public/-/emojis/3/video_game.pngbin0 -> 3467 bytes
-rw-r--r--public/-/emojis/3/violin.pngbin0 -> 5262 bytes
-rw-r--r--public/-/emojis/3/virgo.pngbin0 -> 4848 bytes
-rw-r--r--public/-/emojis/3/volcano.pngbin0 -> 6192 bytes
-rw-r--r--public/-/emojis/3/volleyball.pngbin0 -> 6651 bytes
-rw-r--r--public/-/emojis/3/vs.pngbin0 -> 3290 bytes
-rw-r--r--public/-/emojis/3/vulcan.pngbin0 -> 3853 bytes
-rw-r--r--public/-/emojis/3/vulcan_tone1.pngbin0 -> 4142 bytes
-rw-r--r--public/-/emojis/3/vulcan_tone2.pngbin0 -> 4131 bytes
-rw-r--r--public/-/emojis/3/vulcan_tone3.pngbin0 -> 4061 bytes
-rw-r--r--public/-/emojis/3/vulcan_tone4.pngbin0 -> 3728 bytes
-rw-r--r--public/-/emojis/3/vulcan_tone5.pngbin0 -> 3878 bytes
-rw-r--r--public/-/emojis/3/walking.pngbin0 -> 2553 bytes
-rw-r--r--public/-/emojis/3/walking_tone1.pngbin0 -> 2613 bytes
-rw-r--r--public/-/emojis/3/walking_tone2.pngbin0 -> 2586 bytes
-rw-r--r--public/-/emojis/3/walking_tone3.pngbin0 -> 2547 bytes
-rw-r--r--public/-/emojis/3/walking_tone4.pngbin0 -> 2538 bytes
-rw-r--r--public/-/emojis/3/walking_tone5.pngbin0 -> 2577 bytes
-rw-r--r--public/-/emojis/3/waning_crescent_moon.pngbin0 -> 4258 bytes
-rw-r--r--public/-/emojis/3/waning_gibbous_moon.pngbin0 -> 4446 bytes
-rw-r--r--public/-/emojis/3/warning.pngbin0 -> 2659 bytes
-rw-r--r--public/-/emojis/3/wastebasket.pngbin0 -> 5979 bytes
-rw-r--r--public/-/emojis/3/watch.pngbin0 -> 4900 bytes
-rw-r--r--public/-/emojis/3/water_buffalo.pngbin0 -> 3875 bytes
-rw-r--r--public/-/emojis/3/water_polo.pngbin0 -> 4456 bytes
-rw-r--r--public/-/emojis/3/water_polo_tone1.pngbin0 -> 4577 bytes
-rw-r--r--public/-/emojis/3/water_polo_tone2.pngbin0 -> 4544 bytes
-rw-r--r--public/-/emojis/3/water_polo_tone3.pngbin0 -> 4534 bytes
-rw-r--r--public/-/emojis/3/water_polo_tone4.pngbin0 -> 4536 bytes
-rw-r--r--public/-/emojis/3/water_polo_tone5.pngbin0 -> 4593 bytes
-rw-r--r--public/-/emojis/3/watermelon.pngbin0 -> 4264 bytes
-rw-r--r--public/-/emojis/3/wave.pngbin0 -> 4474 bytes
-rw-r--r--public/-/emojis/3/wave_tone1.pngbin0 -> 4858 bytes
-rw-r--r--public/-/emojis/3/wave_tone2.pngbin0 -> 4912 bytes
-rw-r--r--public/-/emojis/3/wave_tone3.pngbin0 -> 4957 bytes
-rw-r--r--public/-/emojis/3/wave_tone4.pngbin0 -> 4639 bytes
-rw-r--r--public/-/emojis/3/wave_tone5.pngbin0 -> 4765 bytes
-rw-r--r--public/-/emojis/3/wavy_dash.pngbin0 -> 2238 bytes
-rw-r--r--public/-/emojis/3/waxing_crescent_moon.pngbin0 -> 4363 bytes
-rw-r--r--public/-/emojis/3/waxing_gibbous_moon.pngbin0 -> 4350 bytes
-rw-r--r--public/-/emojis/3/wc.pngbin0 -> 3464 bytes
-rw-r--r--public/-/emojis/3/weary.pngbin0 -> 5334 bytes
-rw-r--r--public/-/emojis/3/wedding.pngbin0 -> 5157 bytes
-rw-r--r--public/-/emojis/3/whale.pngbin0 -> 3872 bytes
-rw-r--r--public/-/emojis/3/whale2.pngbin0 -> 4330 bytes
-rw-r--r--public/-/emojis/3/wheel_of_dharma.pngbin0 -> 4707 bytes
-rw-r--r--public/-/emojis/3/wheelchair.pngbin0 -> 4014 bytes
-rw-r--r--public/-/emojis/3/white_check_mark.pngbin0 -> 2938 bytes
-rw-r--r--public/-/emojis/3/white_circle.pngbin0 -> 2714 bytes
-rw-r--r--public/-/emojis/3/white_flower.pngbin0 -> 4248 bytes
-rw-r--r--public/-/emojis/3/white_large_square.pngbin0 -> 946 bytes
-rw-r--r--public/-/emojis/3/white_medium_small_square.pngbin0 -> 657 bytes
-rw-r--r--public/-/emojis/3/white_medium_square.pngbin0 -> 693 bytes
-rw-r--r--public/-/emojis/3/white_small_square.pngbin0 -> 525 bytes
-rw-r--r--public/-/emojis/3/white_square_button.pngbin0 -> 1150 bytes
-rw-r--r--public/-/emojis/3/white_sun_cloud.pngbin0 -> 2314 bytes
-rw-r--r--public/-/emojis/3/white_sun_rain_cloud.pngbin0 -> 3147 bytes
-rw-r--r--public/-/emojis/3/white_sun_small_cloud.pngbin0 -> 3215 bytes
-rw-r--r--public/-/emojis/3/wilted_rose.pngbin0 -> 3372 bytes
-rw-r--r--public/-/emojis/3/wind_blowing_face.pngbin0 -> 4038 bytes
-rw-r--r--public/-/emojis/3/wind_chime.pngbin0 -> 3681 bytes
-rw-r--r--public/-/emojis/3/wine_glass.pngbin0 -> 3861 bytes
-rw-r--r--public/-/emojis/3/wink.pngbin0 -> 4847 bytes
-rw-r--r--public/-/emojis/3/wolf.pngbin0 -> 3840 bytes
-rw-r--r--public/-/emojis/3/woman.pngbin0 -> 4621 bytes
-rw-r--r--public/-/emojis/3/woman_tone1.pngbin0 -> 4677 bytes
-rw-r--r--public/-/emojis/3/woman_tone2.pngbin0 -> 4672 bytes
-rw-r--r--public/-/emojis/3/woman_tone3.pngbin0 -> 4448 bytes
-rw-r--r--public/-/emojis/3/woman_tone4.pngbin0 -> 4214 bytes
-rw-r--r--public/-/emojis/3/woman_tone5.pngbin0 -> 4272 bytes
-rw-r--r--public/-/emojis/3/womans_clothes.pngbin0 -> 2441 bytes
-rw-r--r--public/-/emojis/3/womans_hat.pngbin0 -> 4445 bytes
-rw-r--r--public/-/emojis/3/womens.pngbin0 -> 2469 bytes
-rw-r--r--public/-/emojis/3/worried.pngbin0 -> 4921 bytes
-rw-r--r--public/-/emojis/3/wrench.pngbin0 -> 3179 bytes
-rw-r--r--public/-/emojis/3/wrestlers.pngbin0 -> 5306 bytes
-rw-r--r--public/-/emojis/3/wrestlers_tone1.pngbin0 -> 5399 bytes
-rw-r--r--public/-/emojis/3/wrestlers_tone2.pngbin0 -> 5441 bytes
-rw-r--r--public/-/emojis/3/wrestlers_tone3.pngbin0 -> 5421 bytes
-rw-r--r--public/-/emojis/3/wrestlers_tone4.pngbin0 -> 5390 bytes
-rw-r--r--public/-/emojis/3/wrestlers_tone5.pngbin0 -> 5485 bytes
-rw-r--r--public/-/emojis/3/writing_hand.pngbin0 -> 4347 bytes
-rw-r--r--public/-/emojis/3/writing_hand_tone1.pngbin0 -> 4523 bytes
-rw-r--r--public/-/emojis/3/writing_hand_tone2.pngbin0 -> 4652 bytes
-rw-r--r--public/-/emojis/3/writing_hand_tone3.pngbin0 -> 4625 bytes
-rw-r--r--public/-/emojis/3/writing_hand_tone4.pngbin0 -> 4307 bytes
-rw-r--r--public/-/emojis/3/writing_hand_tone5.pngbin0 -> 4385 bytes
-rw-r--r--public/-/emojis/3/x.pngbin0 -> 3100 bytes
-rw-r--r--public/-/emojis/3/yellow_heart.pngbin0 -> 2958 bytes
-rw-r--r--public/-/emojis/3/yen.pngbin0 -> 2286 bytes
-rw-r--r--public/-/emojis/3/yin_yang.pngbin0 -> 3900 bytes
-rw-r--r--public/-/emojis/3/yum.pngbin0 -> 4930 bytes
-rw-r--r--public/-/emojis/3/zap.pngbin0 -> 2705 bytes
-rw-r--r--public/-/emojis/3/zero.pngbin0 -> 2234 bytes
-rw-r--r--public/-/emojis/3/zipper_mouth.pngbin0 -> 5280 bytes
-rw-r--r--public/-/emojis/3/zzz.pngbin0 -> 2030 bytes
-rw-r--r--qa/qa/flow/login.rb8
-rw-r--r--qa/qa/page/component/ci_icon.rb (renamed from qa/qa/page/component/ci_badge_link.rb)10
-rw-r--r--qa/qa/page/project/job/show.rb2
-rw-r--r--qa/qa/page/project/pipeline/index.rb4
-rw-r--r--qa/qa/page/project/pipeline/show.rb2
-rw-r--r--spec/controllers/admin/application_settings_controller_spec.rb94
-rw-r--r--spec/features/admin/admin_jobs_spec.rb2
-rw-r--r--spec/features/admin/admin_settings_spec.rb102
-rw-r--r--spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb14
-rw-r--r--spec/features/merge_request/user_sees_pipelines_spec.rb2
-rw-r--r--spec/features/projects/commit/user_sees_pipelines_tab_spec.rb2
-rw-r--r--spec/features/projects/jobs/user_browses_jobs_spec.rb8
-rw-r--r--spec/features/projects/jobs_spec.rb2
-rw-r--r--spec/features/projects/pipelines/pipeline_spec.rb18
-rw-r--r--spec/features/projects/pipelines/pipelines_spec.rb16
-rw-r--r--spec/frontend/analytics/shared/components/metric_tile_spec.js21
-rw-r--r--spec/frontend/blob/components/blob_header_spec.js11
-rw-r--r--spec/frontend/blob/components/blob_header_viewer_switcher_spec.js33
-rw-r--r--spec/frontend/ci/artifacts/components/job_artifacts_table_spec.js9
-rw-r--r--spec/frontend/ci/catalog/components/details/ci_resource_header_spec.js7
-rw-r--r--spec/frontend/ci/common/pipelines_table_spec.js8
-rw-r--r--spec/frontend/ci/job_details/components/job_header_spec.js6
-rw-r--r--spec/frontend/ci/job_details/components/sidebar/stages_dropdown_spec.js5
-rw-r--r--spec/frontend/ci/jobs_page/components/jobs_table_spec.js6
-rw-r--r--spec/frontend/ci/pipeline_details/graph/components/job_item_spec.js20
-rw-r--r--spec/frontend/ci/pipeline_details/header/pipeline_details_header_spec.js4
-rw-r--r--spec/frontend/ci/pipeline_mini_graph/legacy_pipeline_stage_spec.js4
-rw-r--r--spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_last_pipeline_spec.js12
-rw-r--r--spec/frontend/commit/components/commit_box_pipeline_status_spec.js12
-rw-r--r--spec/frontend/helpers/help_page_helper_spec.js1
-rw-r--r--spec/frontend/ide/components/jobs/detail/description_spec.js4
-rw-r--r--spec/frontend/ide/components/jobs/item_spec.js2
-rw-r--r--spec/frontend/jira_connect/subscriptions/pages/sign_in/sign_in_gitlab_multiversion/setup_instructions_spec.js44
-rw-r--r--spec/frontend/observability/client_spec.js18
-rw-r--r--spec/frontend/observability/observability_container_spec.js50
-rw-r--r--spec/frontend/observability/observability_empty_state_spec.js36
-rw-r--r--spec/frontend/observability/provisioned_observability_container_spec.js151
-rw-r--r--spec/frontend/projects/pipelines/charts/components/__snapshots__/statistics_list_spec.js.snap6
-rw-r--r--spec/frontend/projects/pipelines/charts/mock_data.js6
-rw-r--r--spec/frontend/repository/components/__snapshots__/last_commit_spec.js.snap4
-rw-r--r--spec/frontend/repository/components/blob_content_viewer_spec.js34
-rw-r--r--spec/frontend/super_sidebar/components/global_search/components/global_search_default_places_spec.js13
-rw-r--r--spec/frontend/super_sidebar/mock_data.js1
-rw-r--r--spec/frontend/vue_shared/components/ci_badge_link_spec.js158
-rw-r--r--spec/frontend/vue_shared/components/ci_icon_spec.js42
-rw-r--r--spec/frontend/vue_shared/components/source_viewer/mock_data.js61
-rw-r--r--spec/frontend/vue_shared/components/source_viewer/source_viewer_new_spec.js73
-rw-r--r--spec/graphql/types/analytics/cycle_analytics/value_stream_type_spec.rb2
-rw-r--r--spec/graphql/types/project_type_spec.rb91
-rw-r--r--spec/graphql/types/projects/detailed_import_status_type_spec.rb23
-rw-r--r--spec/lib/gitlab/bitbucket_import/importers/issue_importer_spec.rb8
-rw-r--r--spec/lib/gitlab/bitbucket_import/importers/issues_importer_spec.rb47
-rw-r--r--spec/lib/gitlab/bitbucket_import/importers/issues_notes_importer_spec.rb4
-rw-r--r--spec/lib/gitlab/bitbucket_import/importers/pull_request_importer_spec.rb8
-rw-r--r--spec/lib/gitlab/bitbucket_import/importers/pull_requests_importer_spec.rb4
-rw-r--r--spec/lib/gitlab/bitbucket_import/importers/pull_requests_notes_importer_spec.rb4
-rw-r--r--spec/lib/gitlab/gitaly_client/conflict_files_stitcher_spec.rb52
-rw-r--r--spec/lib/sidebars/projects/menus/security_compliance_menu_spec.rb3
-rw-r--r--spec/lib/sidebars/projects/super_sidebar_menus/monitor_menu_spec.rb1
-rw-r--r--spec/services/bulk_imports/process_service_spec.rb4
-rw-r--r--spec/services/bulk_imports/relation_batch_export_service_spec.rb2
-rw-r--r--spec/services/ci/cancel_pipeline_service_spec.rb17
-rw-r--r--spec/support/helpers/database/duplicate_indexes.yml3
-rw-r--r--spec/support/shared_examples/requests/api/graphql/remote_development_shared_examples.rb48
-rw-r--r--spec/workers/bulk_imports/pipeline_worker_spec.rb16
-rw-r--r--spec/workers/bulk_imports/relation_batch_export_worker_spec.rb2
-rw-r--r--spec/workers/ci/cancel_pipeline_worker_spec.rb24
2004 files changed, 24238 insertions, 10865 deletions
diff --git a/Gemfile b/Gemfile
index f008aab22e2..ea58c17cb2a 100644
--- a/Gemfile
+++ b/Gemfile
@@ -262,7 +262,7 @@ gem 'rainbow', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'ruby-progressbar', '~> 1.10' # rubocop:todo Gemfile/MissingFeatureCategory
# Linear-time regex library for untrusted regular expressions
-gem 're2', '2.1.3' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 're2', '2.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Misc
@@ -334,7 +334,7 @@ gem 'terser', '1.0.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'click_house-client', path: 'gems/click_house-client', require: 'click_house/client' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'addressable', '~> 2.8' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'tanuki_emoji', '~> 0.7' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'tanuki_emoji', '~> 0.9' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gon', '~> 6.4.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'request_store', '~> 1.5.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'base32', '~> 0.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
diff --git a/Gemfile.checksum b/Gemfile.checksum
index d12e220e1f6..d8b5e2ea4e9 100644
--- a/Gemfile.checksum
+++ b/Gemfile.checksum
@@ -358,7 +358,7 @@
{"name":"mini_histogram","version":"0.3.1","platform":"ruby","checksum":"6a114b504e4618b0e076cc672996036870f7cc6f16b8e5c25c0c637726d2dd94"},
{"name":"mini_magick","version":"4.10.1","platform":"ruby","checksum":"e939d2c70c8002233fc6b1eecfe762f38a156d69ad31a87160205870be08f852"},
{"name":"mini_mime","version":"1.1.2","platform":"ruby","checksum":"a54aec0cc7438a03a850adb00daca2bdb60747f839e28186994df057cea87151"},
-{"name":"mini_portile2","version":"2.8.4","platform":"ruby","checksum":"180bc4193701bbeb9b6c02df5a6b8185bff7f32abd466dd97d6532d36e45b20a"},
+{"name":"mini_portile2","version":"2.8.5","platform":"ruby","checksum":"7a37db8ae758086c3c3ac3a59c036704d331e965d5e106635e4a42d6e66089ce"},
{"name":"minitest","version":"5.11.3","platform":"ruby","checksum":"78e18aa2c49c58e9bc53c54a0b900e87ad0a96394e92fbbfa58d3ff860a68f45"},
{"name":"mixlib-cli","version":"2.1.8","platform":"ruby","checksum":"e6f27be34d580f6ed71731ca46b967e57793a627131c1f6e1ed2dad39ea3bdf9"},
{"name":"mixlib-config","version":"3.0.9","platform":"ruby","checksum":"9867adab3ab547eb74a8efdc9dfab6bcc83d2802a571ff8af8d6e981ca8d53ab"},
@@ -490,16 +490,16 @@
{"name":"rbtrace","version":"0.4.14","platform":"ruby","checksum":"162bbf89cecabfc4f09c869b655f6f3a679c4870ebb7cbdcadf7393a81cc1769"},
{"name":"rbtree","version":"0.4.6","platform":"ruby","checksum":"14eea4469b24fd2472542e5f3eb105d6344c8ccf36f0b56d55fdcfeb4e0f10fc"},
{"name":"rchardet","version":"1.8.0","platform":"ruby","checksum":"693acd5253d5ade81a51940697955f6dd4bb2f0d245bda76a8e23deec70a52c7"},
-{"name":"re2","version":"2.1.3","platform":"aarch64-linux","checksum":"27316bb47cfc0f28cfd1626426120e1c55ca8420a64c9e966f8feb1c911eae2a"},
-{"name":"re2","version":"2.1.3","platform":"arm-linux","checksum":"81ffdd76b202f24461b4868abed96c994e2106e57970004b841499da983f688c"},
-{"name":"re2","version":"2.1.3","platform":"arm64-darwin","checksum":"86d553e85779943a353865cbfdd89156c0411b92a1c7fe6abf1024135d53190e"},
-{"name":"re2","version":"2.1.3","platform":"ruby","checksum":"03a30b53002ab66b66fa2d4500c82ec0866020c22e11c23516f660ce43cfae8f"},
-{"name":"re2","version":"2.1.3","platform":"x64-mingw-ucrt","checksum":"be0277c15bef6f38a2f9805aca798de4a31f6319cb1790ff6683112cb89721da"},
-{"name":"re2","version":"2.1.3","platform":"x64-mingw32","checksum":"cadba41d90f2186507c97593084b8f951c9c3ee7ecb2be02f3497aa9c5cdaadb"},
-{"name":"re2","version":"2.1.3","platform":"x86-linux","checksum":"ad54cafdaf40310cf3aab485697b997718c573d6a780f802c3faab7a38119623"},
-{"name":"re2","version":"2.1.3","platform":"x86-mingw32","checksum":"6bfa3c1c119b485375688a9c90c0b8cfc03991495c2e4d50accb6bbcd406c186"},
-{"name":"re2","version":"2.1.3","platform":"x86_64-darwin","checksum":"513b12c5b7536c65e80ddb2a7eee0dbbefea534d6352e9470040016c547f90a5"},
-{"name":"re2","version":"2.1.3","platform":"x86_64-linux","checksum":"73a2e20fc1dc7b2773d2862ec061e545f6820643486c0d69e3ad40de19ce5c0b"},
+{"name":"re2","version":"2.2.0","platform":"aarch64-linux","checksum":"2bf4905969d36b17df14c034bc051f0b7eac2a2317a93b0a02479e11f9032e73"},
+{"name":"re2","version":"2.2.0","platform":"arm-linux","checksum":"69cf9926935a1bb8cfccda8632ed20cc72153c038cf7a70ea1d9b890d6caa477"},
+{"name":"re2","version":"2.2.0","platform":"arm64-darwin","checksum":"3e6a3dfe649539309d82190988febc82b1bce15c33abf84fe9359daeca23cbfa"},
+{"name":"re2","version":"2.2.0","platform":"ruby","checksum":"cfb28090edc30f236b965244942a84cb219ca522e92d6da1deb461597e3ceca8"},
+{"name":"re2","version":"2.2.0","platform":"x64-mingw-ucrt","checksum":"5f49ffc900d42799761ac1c51ecc6b4aa56d0dc9d5dc20e2afe2f48b6bd03510"},
+{"name":"re2","version":"2.2.0","platform":"x64-mingw32","checksum":"129f31a45d4ae940ccdcc8cfce0cc8c0ac8bc755932b05f771522bf531f114c8"},
+{"name":"re2","version":"2.2.0","platform":"x86-linux","checksum":"0a650b420d914f2f28b40993bf1933345f44f7829ceee782a29827a935b2f7ce"},
+{"name":"re2","version":"2.2.0","platform":"x86-mingw32","checksum":"62bc3f6773f582500fb7e7a902a23f6b316198582e66928e9c8a8dec77b5663d"},
+{"name":"re2","version":"2.2.0","platform":"x86_64-darwin","checksum":"682a71da596a863637f501ef688db957f3bd3d1735852d5284c808e1209837a6"},
+{"name":"re2","version":"2.2.0","platform":"x86_64-linux","checksum":"f501b94d98b61f0efaac33d7496b1467d4e79b8bc324b5986cbd2d8c86746aa6"},
{"name":"recaptcha","version":"5.12.3","platform":"ruby","checksum":"37d1894add9e70a54d0c6c7f0ecbeedffbfa7d075acfbd4c509818dfdebdb7ee"},
{"name":"recursive-open-struct","version":"1.1.3","platform":"ruby","checksum":"a3538a72552fcebcd0ada657bdff313641a4a5fbc482c08cfb9a65acb1c9de5a"},
{"name":"redcarpet","version":"3.6.0","platform":"ruby","checksum":"8ad1889c0355ff4c47174af14edd06d62f45a326da1da6e8a121d59bdcd2e9e9"},
@@ -621,7 +621,7 @@
{"name":"sys-filesystem","version":"1.4.3","platform":"ruby","checksum":"390919de89822ad6d3ba3daf694d720be9d83ed95cdf7adf54d4573c98b17421"},
{"name":"sysexits","version":"1.2.0","platform":"ruby","checksum":"598241c4ae57baa403c125182dfdcc0d1ac4c0fb606dd47fbed57e4aaf795662"},
{"name":"table_print","version":"1.5.7","platform":"ruby","checksum":"436664281f93387b882335795e16cfeeb839ad0c785ff7f9110fc0f17c68b5cb"},
-{"name":"tanuki_emoji","version":"0.7.0","platform":"ruby","checksum":"d10df452d8087b2c6a0eecb888609315d47bb30bb9e17c11441869cf24aae987"},
+{"name":"tanuki_emoji","version":"0.9.0","platform":"ruby","checksum":"009f0b283f61b7aed5f57d7d1f050225f2a5df8eec121550a67bdd7b95c74056"},
{"name":"telesign","version":"2.2.4","platform":"ruby","checksum":"dcc6e96ea7bcb4da1e2ae786bfe7a4d670a4b5f94ae95dfcdde77d547c544c42"},
{"name":"telesignenterprise","version":"2.2.2","platform":"ruby","checksum":"f147a03263a8c2fe0a0db1a7a9454a6ee37d9e8abd58eaca305bdd8081f9f1b3"},
{"name":"temple","version":"0.8.2","platform":"ruby","checksum":"c12071214346c606dbd219b4117276d04a9f2c20d65e66a66b2c4ec18efc1f18"},
diff --git a/Gemfile.lock b/Gemfile.lock
index 729408d5850..97b39d6708b 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1020,7 +1020,7 @@ GEM
mini_histogram (0.3.1)
mini_magick (4.10.1)
mini_mime (1.1.2)
- mini_portile2 (2.8.4)
+ mini_portile2 (2.8.5)
minitest (5.11.3)
mixlib-cli (2.1.8)
mixlib-config (3.0.9)
@@ -1298,8 +1298,8 @@ GEM
optimist (>= 3.0.0)
rbtree (0.4.6)
rchardet (1.8.0)
- re2 (2.1.3)
- mini_portile2 (~> 2.8.4)
+ re2 (2.2.0)
+ mini_portile2 (~> 2.8.5)
recaptcha (5.12.3)
json
recursive-open-struct (1.1.3)
@@ -1565,7 +1565,7 @@ GEM
ffi (~> 1.1)
sysexits (1.2.0)
table_print (1.5.7)
- tanuki_emoji (0.7.0)
+ tanuki_emoji (0.9.0)
telesign (2.2.4)
net-http-persistent (>= 3.0.0, < 5.0)
telesignenterprise (2.2.2)
@@ -1959,7 +1959,7 @@ DEPENDENCIES
rails-i18n (~> 7.0)
rainbow (~> 3.0)
rbtrace (~> 0.4)
- re2 (= 2.1.3)
+ re2 (= 2.2.0)
recaptcha (~> 5.12)
redis (~> 4.8.0)
redis-actionpack (~> 5.3.0)
@@ -2015,7 +2015,7 @@ DEPENDENCIES
stackprof (~> 0.2.25)
state_machines-activerecord (~> 0.8.0)
sys-filesystem (~> 1.4.3)
- tanuki_emoji (~> 0.7)
+ tanuki_emoji (~> 0.9)
telesignenterprise (~> 2.2)
terser (= 1.0.2)
test-prof (~> 1.2.3)
diff --git a/app/assets/javascripts/analytics/shared/components/metric_tile.vue b/app/assets/javascripts/analytics/shared/components/metric_tile.vue
index 54dbe329c7a..9e0262b5175 100644
--- a/app/assets/javascripts/analytics/shared/components/metric_tile.vue
+++ b/app/assets/javascripts/analytics/shared/components/metric_tile.vue
@@ -44,6 +44,7 @@ export default {
:animation-decimal-places="decimalPlaces"
:class="{ 'gl-hover-cursor-pointer': hasLinks }"
tabindex="0"
+ use-delimiters
@click="clickHandler(metric)"
/>
<metric-popover :metric="metric" :target="metric.identifier" />
diff --git a/app/assets/javascripts/blob/components/blob_header.vue b/app/assets/javascripts/blob/components/blob_header.vue
index 699a0491183..5411881a8d2 100644
--- a/app/assets/javascripts/blob/components/blob_header.vue
+++ b/app/assets/javascripts/blob/components/blob_header.vue
@@ -5,7 +5,7 @@ import userInfoQuery from '../queries/user_info.query.graphql';
import applicationInfoQuery from '../queries/application_info.query.graphql';
import BlobFilepath from './blob_header_filepath.vue';
import ViewerSwitcher from './blob_header_viewer_switcher.vue';
-import { SIMPLE_BLOB_VIEWER } from './constants';
+import { SIMPLE_BLOB_VIEWER, BLAME_VIEWER } from './constants';
import TableOfContents from './table_contents.vue';
export default {
@@ -85,6 +85,11 @@ export default {
required: false,
default: '',
},
+ showBlameToggle: {
+ type: Boolean,
+ required: false,
+ default: false,
+ },
},
data() {
return {
@@ -93,9 +98,6 @@ export default {
};
},
computed: {
- showViewerSwitcher() {
- return !this.hideViewerSwitcher && Boolean(this.blob.simpleViewer && this.blob.richViewer);
- },
showDefaultActions() {
return !this.hideDefaultActions;
},
@@ -114,7 +116,7 @@ export default {
},
watch: {
viewer(newVal, oldVal) {
- if (!this.hideViewerSwitcher && newVal !== oldVal) {
+ if (newVal !== BLAME_VIEWER && newVal !== oldVal) {
this.$emit('viewer-changed', newVal);
}
},
@@ -138,7 +140,14 @@ export default {
</div>
<div class="gl-display-flex gl-flex-wrap file-actions">
- <viewer-switcher v-if="showViewerSwitcher" v-model="viewer" :doc-icon="blobSwitcherDocIcon" />
+ <viewer-switcher
+ v-if="!hideViewerSwitcher"
+ v-model="viewer"
+ :doc-icon="blobSwitcherDocIcon"
+ :show-blame-toggle="showBlameToggle"
+ :show-viewer-toggles="Boolean(blob.simpleViewer && blob.richViewer)"
+ v-on="$listeners"
+ />
<web-ide-link
v-if="showWebIdeLink"
diff --git a/app/assets/javascripts/blob/components/blob_header_viewer_switcher.vue b/app/assets/javascripts/blob/components/blob_header_viewer_switcher.vue
index 7351df0f93b..9b5b77ebebe 100644
--- a/app/assets/javascripts/blob/components/blob_header_viewer_switcher.vue
+++ b/app/assets/javascripts/blob/components/blob_header_viewer_switcher.vue
@@ -5,6 +5,8 @@ import {
RICH_BLOB_VIEWER_TITLE,
SIMPLE_BLOB_VIEWER,
SIMPLE_BLOB_VIEWER_TITLE,
+ BLAME_VIEWER,
+ BLAME_TITLE,
} from './constants';
export default {
@@ -26,6 +28,16 @@ export default {
default: 'document',
required: false,
},
+ showViewerToggles: {
+ type: Boolean,
+ required: false,
+ default: false,
+ },
+ showBlameToggle: {
+ type: Boolean,
+ required: false,
+ default: false,
+ },
},
computed: {
isSimpleViewer() {
@@ -34,9 +46,16 @@ export default {
isRichViewer() {
return this.value === RICH_BLOB_VIEWER;
},
+ isBlameViewer() {
+ return this.value === BLAME_VIEWER;
+ },
},
methods: {
switchToViewer(viewer) {
+ if (viewer === BLAME_VIEWER) {
+ this.$emit('blame');
+ }
+
if (viewer !== this.value) {
this.$emit('input', viewer);
}
@@ -46,11 +65,14 @@ export default {
RICH_BLOB_VIEWER,
SIMPLE_BLOB_VIEWER_TITLE,
RICH_BLOB_VIEWER_TITLE,
+ BLAME_TITLE,
+ BLAME_VIEWER,
};
</script>
<template>
<gl-button-group class="js-blob-viewer-switcher mx-2">
<gl-button
+ v-if="showViewerToggles"
v-gl-tooltip.hover
:aria-label="$options.SIMPLE_BLOB_VIEWER_TITLE"
:title="$options.SIMPLE_BLOB_VIEWER_TITLE"
@@ -63,6 +85,7 @@ export default {
@click="switchToViewer($options.SIMPLE_BLOB_VIEWER)"
/>
<gl-button
+ v-if="showViewerToggles"
v-gl-tooltip.hover
:aria-label="$options.RICH_BLOB_VIEWER_TITLE"
:title="$options.RICH_BLOB_VIEWER_TITLE"
@@ -74,5 +97,16 @@ export default {
data-viewer="rich"
@click="switchToViewer($options.RICH_BLOB_VIEWER)"
/>
+ <gl-button
+ v-if="showBlameToggle"
+ v-gl-tooltip.hover
+ :title="$options.BLAME_TITLE"
+ :selected="isBlameViewer"
+ category="primary"
+ variant="default"
+ data-test-id="blame-toggle"
+ @click="switchToViewer($options.BLAME_VIEWER)"
+ >{{ __('Blame') }}</gl-button
+ >
</gl-button-group>
</template>
diff --git a/app/assets/javascripts/blob/components/constants.js b/app/assets/javascripts/blob/components/constants.js
index adac4d6408d..bccab09c7a2 100644
--- a/app/assets/javascripts/blob/components/constants.js
+++ b/app/assets/javascripts/blob/components/constants.js
@@ -11,6 +11,9 @@ export const SIMPLE_BLOB_VIEWER_TITLE = __('Display source');
export const RICH_BLOB_VIEWER = 'rich';
export const RICH_BLOB_VIEWER_TITLE = __('Display rendered file');
+export const BLAME_VIEWER = 'blame';
+export const BLAME_TITLE = __('Display blame info');
+
export const BLOB_RENDER_EVENT_LOAD = 'force-content-fetch';
export const BLOB_RENDER_EVENT_SHOW_SOURCE = 'force-switch-viewer';
diff --git a/app/assets/javascripts/boards/components/board_list.vue b/app/assets/javascripts/boards/components/board_list.vue
index 2693a6bb5ea..226640cdf9e 100644
--- a/app/assets/javascripts/boards/components/board_list.vue
+++ b/app/assets/javascripts/boards/components/board_list.vue
@@ -100,9 +100,6 @@ export default {
filters: this.filterParams,
};
},
- context: {
- isSingleRequest: true,
- },
skip() {
return this.isEpicBoard;
},
@@ -123,9 +120,6 @@ export default {
update(data) {
return data[this.boardType].board.lists.nodes[0];
},
- context: {
- isSingleRequest: true,
- },
error(error) {
setError({
error,
@@ -149,9 +143,6 @@ export default {
update(data) {
return data[this.boardType].board.lists.nodes[0];
},
- context: {
- isSingleRequest: true,
- },
error(error) {
setError({
error,
diff --git a/app/assets/javascripts/boards/components/board_list_header.vue b/app/assets/javascripts/boards/components/board_list_header.vue
index 0235edd69ac..bedb3a75a70 100644
--- a/app/assets/javascripts/boards/components/board_list_header.vue
+++ b/app/assets/javascripts/boards/components/board_list_header.vue
@@ -223,9 +223,6 @@ export default {
variables() {
return this.countQueryVariables;
},
- context: {
- isSingleRequest: true,
- },
error(error) {
setError({
error,
diff --git a/app/assets/javascripts/boards/stores/actions.js b/app/assets/javascripts/boards/stores/actions.js
index bdaec8a1c84..97e40c8cc39 100644
--- a/app/assets/javascripts/boards/stores/actions.js
+++ b/app/assets/javascripts/boards/stores/actions.js
@@ -148,9 +148,6 @@ export default {
query: listsQuery[issuableType].query,
variables,
...(resetLists ? { fetchPolicy: fetchPolicies.NO_CACHE } : {}),
- context: {
- isSingleRequest: true,
- },
})
.then(({ data }) => {
const { lists, hideBacklogList } = data[boardType].board;
@@ -439,9 +436,6 @@ export default {
return gqlClient
.query({
query: listsIssuesQuery,
- context: {
- isSingleRequest: true,
- },
variables,
...(!fetchNext ? { fetchPolicy: fetchPolicies.NO_CACHE } : {}),
})
diff --git a/app/assets/javascripts/ci/admin/jobs_table/admin_jobs_table_app.vue b/app/assets/javascripts/ci/admin/jobs_table/admin_jobs_table_app.vue
index 89582e64f3a..55ff647e25f 100644
--- a/app/assets/javascripts/ci/admin/jobs_table/admin_jobs_table_app.vue
+++ b/app/assets/javascripts/ci/admin/jobs_table/admin_jobs_table_app.vue
@@ -84,9 +84,6 @@ export default {
update(data) {
return data?.jobs?.count || 0;
},
- context: {
- isSingleRequest: true,
- },
error() {
this.error = this.$options.i18n.jobsCountErrorMsg;
},
diff --git a/app/assets/javascripts/ci/artifacts/components/job_artifacts_table.vue b/app/assets/javascripts/ci/artifacts/components/job_artifacts_table.vue
index d8f9eb65236..de37aa431e6 100644
--- a/app/assets/javascripts/ci/artifacts/components/job_artifacts_table.vue
+++ b/app/assets/javascripts/ci/artifacts/components/job_artifacts_table.vue
@@ -10,7 +10,7 @@ import {
GlFormCheckbox,
GlTooltipDirective,
} from '@gitlab/ui';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import { createAlert } from '~/alert';
import { getIdFromGraphQLId, convertToGraphQLId } from '~/graphql_shared/utils';
import TimeAgo from '~/vue_shared/components/time_ago_tooltip.vue';
@@ -68,7 +68,7 @@ export default {
GlPagination,
GlFormCheckbox,
TimeAgo,
- CiBadgeLink,
+ CiIcon,
JobCheckbox,
ArtifactsBulkDelete,
BulkDeleteModal,
@@ -442,7 +442,7 @@ export default {
<template #cell(job)="{ item }">
<div class="gl-display-inline-flex gl-align-items-center gl-mb-3 gl-gap-3">
<span data-testid="job-artifacts-job-status">
- <ci-badge-link :status="item.detailedStatus" size="sm" :show-text="false" />
+ <ci-icon :status="item.detailedStatus" />
</span>
<gl-link :href="item.webPath">
{{ item.name }}
diff --git a/app/assets/javascripts/ci/catalog/components/details/ci_resource_header.vue b/app/assets/javascripts/ci/catalog/components/details/ci_resource_header.vue
index 6673785ffd2..29009c14e1b 100644
--- a/app/assets/javascripts/ci/catalog/components/details/ci_resource_header.vue
+++ b/app/assets/javascripts/ci/catalog/components/details/ci_resource_header.vue
@@ -2,13 +2,13 @@
import { GlAvatar, GlAvatarLink, GlBadge } from '@gitlab/ui';
import { getIdFromGraphQLId } from '~/graphql_shared/utils';
import { isNumeric } from '~/lib/utils/number_utils';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import CiResourceAbout from './ci_resource_about.vue';
import CiResourceHeaderSkeletonLoader from './ci_resource_header_skeleton_loader.vue';
export default {
components: {
- CiBadgeLink,
+ CiIcon,
CiResourceAbout,
CiResourceHeaderSkeletonLoader,
GlAvatar,
@@ -102,12 +102,11 @@ export default {
{{ versionBadgeText }}
</gl-badge>
</span>
- <ci-badge-link
+ <ci-icon
v-if="hasPipelineStatus"
- class="gl-mt-2"
:status="pipelineStatus"
- size="sm"
- show-text
+ show-status-text
+ class="gl-mt-2"
/>
</div>
</div>
diff --git a/app/assets/javascripts/ci/common/private/job_name_component.vue b/app/assets/javascripts/ci/common/private/job_name_component.vue
index 1c7f5a7476d..b4e831d69d4 100644
--- a/app/assets/javascripts/ci/common/private/job_name_component.vue
+++ b/app/assets/javascripts/ci/common/private/job_name_component.vue
@@ -30,7 +30,7 @@ export default {
</script>
<template>
<span class="mw-100 gl-display-flex gl-align-items-center gl-flex-grow-1">
- <ci-icon :size="iconSize" :status="status" class="gl-line-height-0" />
+ <ci-icon :size="iconSize" :status="status" :show-tooltip="false" class="gl-line-height-0" />
<span class="gl-text-truncate mw-70p gl-pl-3 gl-display-inline-block">
{{ name }}
</span>
diff --git a/app/assets/javascripts/ci/job_details/components/job_header.vue b/app/assets/javascripts/ci/job_details/components/job_header.vue
index 00d15f87064..1aa83a94bc5 100644
--- a/app/assets/javascripts/ci/job_details/components/job_header.vue
+++ b/app/assets/javascripts/ci/job_details/components/job_header.vue
@@ -4,12 +4,12 @@ import SafeHtml from '~/vue_shared/directives/safe_html';
import { isGid, getIdFromGraphQLId } from '~/graphql_shared/utils';
import { glEmojiTag } from '~/emoji';
import { __, sprintf } from '~/locale';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import TimeagoTooltip from '~/vue_shared/components/time_ago_tooltip.vue';
export default {
components: {
- CiBadgeLink,
+ CiIcon,
TimeagoTooltip,
GlButton,
GlAvatarLink,
@@ -113,7 +113,7 @@ export default {
</div>
</div>
<section class="header-main-content gl-display-flex gl-align-items-center gl-mr-3">
- <ci-badge-link class="gl-mr-3" :status="status" />
+ <ci-icon class="gl-mr-3" :status="status" show-status-text />
<template v-if="shouldRenderTriggeredLabel">{{ __('Started') }}</template>
<template v-else>{{ __('Created') }}</template>
diff --git a/app/assets/javascripts/ci/job_details/components/sidebar/job_container_item.vue b/app/assets/javascripts/ci/job_details/components/sidebar/job_container_item.vue
index 8e87f118fa4..4ec9044a21c 100644
--- a/app/assets/javascripts/ci/job_details/components/sidebar/job_container_item.vue
+++ b/app/assets/javascripts/ci/job_details/components/sidebar/job_container_item.vue
@@ -63,11 +63,11 @@ export default {
<gl-icon
v-if="isActive"
name="arrow-right"
+ :show-tooltip="false"
class="icon-arrow-right gl-absolute gl-display-block"
- :size="14"
/>
- <ci-icon :status="job.status" class="gl-mr-3" :size="14" />
+ <ci-icon :status="job.status" :show-tooltip="false" class="gl-mr-3" />
<span class="gl-text-truncate gl-w-full">{{ jobName }}</span>
diff --git a/app/assets/javascripts/ci/job_details/components/sidebar/stages_dropdown.vue b/app/assets/javascripts/ci/job_details/components/sidebar/stages_dropdown.vue
index 7744395734f..e229abcbe12 100644
--- a/app/assets/javascripts/ci/job_details/components/sidebar/stages_dropdown.vue
+++ b/app/assets/javascripts/ci/job_details/components/sidebar/stages_dropdown.vue
@@ -1,7 +1,7 @@
<script>
import { GlLink, GlDisclosureDropdown, GlSprintf } from '@gitlab/ui';
import { isEmpty } from 'lodash';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import { Mousetrap } from '~/lib/mousetrap';
import { s__ } from '~/locale';
import ClipboardButton from '~/vue_shared/components/clipboard_button.vue';
@@ -14,7 +14,7 @@ export default {
GlDisclosureDropdown,
GlLink,
GlSprintf,
- CiBadgeLink,
+ CiIcon,
},
props: {
pipeline: {
@@ -94,7 +94,10 @@ export default {
</script>
<template>
<div class="dropdown">
- <div class="gl-display-flex gl-flex-wrap gl-gap-2 js-pipeline-info" data-testid="pipeline-info">
+ <div
+ class="gl-display-flex gl-flex-wrap gl-align-items-center gl-gap-2 js-pipeline-info"
+ data-testid="pipeline-info"
+ >
<gl-sprintf :message="pipelineInfo">
<template #bold="{ content }">
<span class="gl-display-flex gl-font-weight-bold">{{ content }}</span>
@@ -108,9 +111,9 @@ export default {
>
</template>
<template #status>
- <ci-badge-link
+ <ci-icon
:status="pipeline.details.status"
- size="sm"
+ show-status-text
data-testid="pipeline-status-link"
/>
</template>
@@ -125,7 +128,7 @@ export default {
<template #ref>
<gl-link
:href="pipeline.ref.path"
- class="link-commit ref-name gl-mt-1"
+ class="link-commit ref-name"
data-testid="source-ref-link"
>{{ pipeline.ref.name }}</gl-link
><clipboard-button
diff --git a/app/assets/javascripts/ci/jobs_page/components/job_cells/status_cell.vue b/app/assets/javascripts/ci/jobs_page/components/job_cells/status_cell.vue
index a2b6a430138..efa74d86bd6 100644
--- a/app/assets/javascripts/ci/jobs_page/components/job_cells/status_cell.vue
+++ b/app/assets/javascripts/ci/jobs_page/components/job_cells/status_cell.vue
@@ -1,14 +1,14 @@
<script>
import { GlIcon } from '@gitlab/ui';
import { formatTime } from '~/lib/utils/datetime_utility';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue';
import timeagoMixin from '~/vue_shared/mixins/timeago';
export default {
iconSize: 12,
components: {
- CiBadgeLink,
+ CiIcon,
GlIcon,
TimeAgoTooltip,
},
@@ -38,7 +38,7 @@ export default {
<template>
<div>
- <ci-badge-link :status="job.detailedStatus" />
+ <ci-icon :status="job.detailedStatus" show-status-text />
<div class="gl-font-sm gl-text-secondary gl-mt-2 gl-ml-3">
<div v-if="duration" data-testid="job-duration">
<gl-icon name="timer" :size="$options.iconSize" data-testid="duration-icon" />
diff --git a/app/assets/javascripts/ci/jobs_page/jobs_page_app.vue b/app/assets/javascripts/ci/jobs_page/jobs_page_app.vue
index 03e0f2dadc8..09bbb7afbca 100644
--- a/app/assets/javascripts/ci/jobs_page/jobs_page_app.vue
+++ b/app/assets/javascripts/ci/jobs_page/jobs_page_app.vue
@@ -58,9 +58,6 @@ export default {
},
jobsCount: {
query: GetJobsCount,
- context: {
- isSingleRequest: true,
- },
variables() {
return {
fullPath: this.fullPath,
diff --git a/app/assets/javascripts/ci/pipeline_details/graph/components/job_item.vue b/app/assets/javascripts/ci/pipeline_details/graph/components/job_item.vue
index bb36ac8b6ab..ab12e4c05e3 100644
--- a/app/assets/javascripts/ci/pipeline_details/graph/components/job_item.vue
+++ b/app/assets/javascripts/ci/pipeline_details/graph/components/job_item.vue
@@ -5,7 +5,7 @@ import delayedJobMixin from '~/ci/mixins/delayed_job_mixin';
import { helpPagePath } from '~/helpers/help_page_helper';
import { BV_HIDE_TOOLTIP } from '~/lib/utils/constants';
import { __, s__, sprintf } from '~/locale';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import ActionComponent from '../../../common/private/job_action_component.vue';
import JobNameComponent from '../../../common/private/job_name_component.vue';
import { BRIDGE_KIND, RETRY_ACTION_TITLE, SINGLE_JOB, SKIP_RETRY_MODAL_KEY } from '../constants';
@@ -58,7 +58,7 @@ export default {
hoverClass: 'gl-shadow-x0-y0-b3-s1-blue-500',
components: {
ActionComponent,
- CiBadgeLink,
+ CiIcon,
GlBadge,
GlForm,
GlFormCheckbox,
@@ -329,7 +329,7 @@ export default {
@mouseout="hideTooltips"
>
<div class="gl-display-flex gl-align-items-center gl-flex-grow-1">
- <ci-badge-link :status="job.status" size="md" :show-text="false" :use-link="false" />
+ <ci-icon :status="job.status" size="md" :use-link="false" />
<div class="gl-pl-3 gl-pr-3 gl-display-flex gl-flex-direction-column gl-pipeline-job-width">
<div class="gl-text-truncate gl-pr-9 gl-line-height-normal">{{ job.name }}</div>
<div
diff --git a/app/assets/javascripts/ci/pipeline_details/graph/components/linked_pipeline.vue b/app/assets/javascripts/ci/pipeline_details/graph/components/linked_pipeline.vue
index 5960eea5b4f..511eac79fb5 100644
--- a/app/assets/javascripts/ci/pipeline_details/graph/components/linked_pipeline.vue
+++ b/app/assets/javascripts/ci/pipeline_details/graph/components/linked_pipeline.vue
@@ -13,7 +13,7 @@ import { BV_HIDE_TOOLTIP } from '~/lib/utils/constants';
import { __, sprintf } from '~/locale';
import CancelPipelineMutation from '~/ci/pipeline_details/graphql/mutations/cancel_pipeline.mutation.graphql';
import RetryPipelineMutation from '~/ci/pipeline_details/graphql/mutations/retry_pipeline.mutation.graphql';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import { reportToSentry } from '~/ci/utils';
import { ACTION_FAILURE, DOWNSTREAM, UPSTREAM } from '../constants';
@@ -22,7 +22,7 @@ export default {
GlTooltip: GlTooltipDirective,
},
components: {
- CiBadgeLink,
+ CiIcon,
GlBadge,
GlButton,
GlLink,
@@ -242,11 +242,9 @@ export default {
</gl-tooltip>
<div class="gl-bg-white gl-border gl-p-3 gl-rounded-lg gl-w-full" :class="cardClasses">
<div class="gl-display-flex gl-gap-x-3">
- <ci-badge-link
+ <ci-icon
v-if="!pipelineIsLoading"
:status="pipelineStatus"
- size="md"
- :show-text="false"
:use-link="false"
class="gl-align-self-start"
/>
diff --git a/app/assets/javascripts/ci/pipeline_details/header/pipeline_details_header.vue b/app/assets/javascripts/ci/pipeline_details/header/pipeline_details_header.vue
index 51a68f6619a..5c1841615ab 100644
--- a/app/assets/javascripts/ci/pipeline_details/header/pipeline_details_header.vue
+++ b/app/assets/javascripts/ci/pipeline_details/header/pipeline_details_header.vue
@@ -17,7 +17,7 @@ import { setUrlFragment, redirectTo } from '~/lib/utils/url_utility'; // eslint-
import { __, s__, sprintf, formatNumber } from '~/locale';
import { getIdFromGraphQLId } from '~/graphql_shared/utils';
import ClipboardButton from '~/vue_shared/components/clipboard_button.vue';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue';
import SafeHtml from '~/vue_shared/directives/safe_html';
import { LOAD_FAILURE, POST_FAILURE, DELETE_FAILURE, DEFAULT } from '../constants';
@@ -38,7 +38,7 @@ export default {
pipelineRetry: 'pipelineRetry',
finishedStatuses: ['FAILED', 'SUCCESS', 'CANCELED'],
components: {
- CiBadgeLink,
+ CiIcon,
ClipboardButton,
GlAlert,
GlBadge,
@@ -403,7 +403,12 @@ export default {
{{ commitTitle }}
</h3>
<div>
- <ci-badge-link :status="detailedStatus" class="gl-display-inline-block gl-mb-3" />
+ <ci-icon
+ :status="detailedStatus"
+ show-status-text
+ :show-link="false"
+ class="gl-display-inline-block gl-mb-3"
+ />
<div class="gl-ml-2 gl-mb-3 gl-display-inline-block gl-h-6">
<gl-link
v-if="user"
diff --git a/app/assets/javascripts/ci/pipeline_details/jobs/components/failed_jobs_table.vue b/app/assets/javascripts/ci/pipeline_details/jobs/components/failed_jobs_table.vue
index 4752fbb3e96..287f6e045c6 100644
--- a/app/assets/javascripts/ci/pipeline_details/jobs/components/failed_jobs_table.vue
+++ b/app/assets/javascripts/ci/pipeline_details/jobs/components/failed_jobs_table.vue
@@ -5,7 +5,7 @@ import { __, s__ } from '~/locale';
import { createAlert } from '~/alert';
import Tracking from '~/tracking';
import { redirectTo } from '~/lib/utils/url_utility'; // eslint-disable-line import/no-deprecated
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import { TRACKING_CATEGORIES } from '~/ci/constants';
import RetryFailedJobMutation from '../graphql/mutations/retry_failed_job.mutation.graphql';
import { DEFAULT_FIELDS } from '../../constants';
@@ -14,7 +14,7 @@ export default {
fields: DEFAULT_FIELDS,
retry: __('Retry'),
components: {
- CiBadgeLink,
+ CiIcon,
GlButton,
GlLink,
GlTableLite,
@@ -80,7 +80,7 @@ export default {
<div
class="gl-display-flex gl-align-items-center gl-lg-justify-content-start gl-justify-content-end"
>
- <ci-badge-link :status="item.detailedStatus" :show-text="false" class="gl-mr-3" />
+ <ci-icon :status="item.detailedStatus" class="gl-mr-3" />
<div class="gl-text-truncate">
<gl-link
:href="item.detailedStatus.detailsPath"
diff --git a/app/assets/javascripts/ci/pipeline_details/pipeline_shared_client.js b/app/assets/javascripts/ci/pipeline_details/pipeline_shared_client.js
index c3be487caae..63a46d81dd5 100644
--- a/app/assets/javascripts/ci/pipeline_details/pipeline_shared_client.js
+++ b/app/assets/javascripts/ci/pipeline_details/pipeline_shared_client.js
@@ -2,10 +2,5 @@ import VueApollo from 'vue-apollo';
import createDefaultClient from '~/lib/graphql';
export const apolloProvider = new VueApollo({
- defaultClient: createDefaultClient(
- {},
- {
- useGet: true,
- },
- ),
+ defaultClient: createDefaultClient(),
});
diff --git a/app/assets/javascripts/ci/pipeline_editor/components/header/pipeline_status.vue b/app/assets/javascripts/ci/pipeline_editor/components/header/pipeline_status.vue
index 44cf11acfe2..7c4a07e3f83 100644
--- a/app/assets/javascripts/ci/pipeline_editor/components/header/pipeline_status.vue
+++ b/app/assets/javascripts/ci/pipeline_editor/components/header/pipeline_status.vue
@@ -7,7 +7,7 @@ import getPipelineQuery from '~/ci/pipeline_editor/graphql/queries/pipeline.quer
import getPipelineEtag from '~/ci/pipeline_editor/graphql/queries/client/pipeline_etag.query.graphql';
import { getQueryHeaders, toggleQueryPollingByVisibility } from '~/ci/pipeline_details/graph/utils';
import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import PipelineMiniGraph from '~/ci/pipeline_mini_graph/pipeline_mini_graph.vue';
import PipelineEditorMiniGraph from './pipeline_editor_mini_graph.vue';
@@ -25,7 +25,7 @@ export const i18n = {
export default {
i18n,
components: {
- CiBadgeLink,
+ CiIcon,
GlButton,
GlIcon,
GlLink,
@@ -155,14 +155,7 @@ export default {
</template>
<template v-else>
<div class="gl-text-truncate gl-md-max-w-50p gl-mr-1">
- <a :href="status.detailsPath" class="gl-mr-auto">
- <ci-badge-link
- :status="status"
- size="md"
- :show-text="false"
- data-testid="pipeline-status-icon"
- />
- </a>
+ <ci-icon :status="status" data-testid="pipeline-status-icon" />
<span class="gl-font-weight-bold">
<gl-sprintf :message="$options.i18n.pipelineInfo">
<template #id="{ content }">
diff --git a/app/assets/javascripts/ci/pipeline_editor/options.js b/app/assets/javascripts/ci/pipeline_editor/options.js
index 922c8eee8fc..340cb6ab979 100644
--- a/app/assets/javascripts/ci/pipeline_editor/options.js
+++ b/app/assets/javascripts/ci/pipeline_editor/options.js
@@ -55,7 +55,6 @@ export const createAppOptions = (el) => {
const apolloProvider = new VueApollo({
defaultClient: createDefaultClient(resolvers, {
typeDefs,
- useGet: true,
}),
});
const { cache } = apolloProvider.clients.defaultClient;
diff --git a/app/assets/javascripts/ci/pipeline_mini_graph/legacy_pipeline_stage.vue b/app/assets/javascripts/ci/pipeline_mini_graph/legacy_pipeline_stage.vue
index 34640d49b80..ed78a335453 100644
--- a/app/assets/javascripts/ci/pipeline_mini_graph/legacy_pipeline_stage.vue
+++ b/app/assets/javascripts/ci/pipeline_mini_graph/legacy_pipeline_stage.vue
@@ -13,7 +13,7 @@
*/
import { GlDropdown, GlLoadingIcon, GlTooltipDirective } from '@gitlab/ui';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import { createAlert } from '~/alert';
import eventHub from '~/ci/event_hub';
import axios from '~/lib/utils/axios_utils';
@@ -33,7 +33,7 @@ export default {
positionFixed: true,
},
components: {
- CiBadgeLink,
+ CiIcon,
GlLoadingIcon,
GlDropdown,
LegacyJobItem,
@@ -126,14 +126,7 @@ export default {
@show="onShowDropdown"
>
<template #button-content>
- <ci-badge-link
- :status="stage.status"
- size="md"
- :show-text="false"
- :show-tooltip="false"
- :use-link="false"
- class="gl-mb-0!"
- />
+ <ci-icon :status="stage.status" :show-tooltip="false" :use-link="false" class="gl-mb-0!" />
</template>
<div v-if="isLoading" class="gl--flex-center gl-p-2" data-testid="pipeline-stage-loading-state">
<gl-loading-icon size="sm" class="gl-mr-3" />
diff --git a/app/assets/javascripts/ci/pipeline_mini_graph/linked_pipelines_mini_list.vue b/app/assets/javascripts/ci/pipeline_mini_graph/linked_pipelines_mini_list.vue
index cc703d29e23..4dace6b501a 100644
--- a/app/assets/javascripts/ci/pipeline_mini_graph/linked_pipelines_mini_list.vue
+++ b/app/assets/javascripts/ci/pipeline_mini_graph/linked_pipelines_mini_list.vue
@@ -1,7 +1,7 @@
<script>
import { GlTooltipDirective } from '@gitlab/ui';
import { sprintf, s__ } from '~/locale';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import { accessValue } from './accessors/linked_pipelines_accessors';
/**
* Renders the upstream/downstream portions of the pipeline mini graph.
@@ -11,7 +11,7 @@ export default {
GlTooltip: GlTooltipDirective,
},
components: {
- CiBadgeLink,
+ CiIcon,
},
inject: {
dataMethod: {
@@ -99,13 +99,11 @@ export default {
}"
class="linked-pipeline-mini-list gl-display-inline gl-vertical-align-middle"
>
- <ci-badge-link
+ <ci-icon
v-for="pipeline in linkedPipelinesTrimmed"
:key="pipeline.id"
v-gl-tooltip="{ title: pipelineTooltipText(pipeline) }"
:status="pipelineStatus(pipeline)"
- size="md"
- :show-text="false"
:show-tooltip="false"
:class="triggerButtonClass(pipeline)"
class="linked-pipeline-mini-item gl-mb-0!"
diff --git a/app/assets/javascripts/ci/pipeline_schedules/components/table/cells/pipeline_schedule_last_pipeline.vue b/app/assets/javascripts/ci/pipeline_schedules/components/table/cells/pipeline_schedule_last_pipeline.vue
index 92f461c72d7..d979c0efaf2 100644
--- a/app/assets/javascripts/ci/pipeline_schedules/components/table/cells/pipeline_schedule_last_pipeline.vue
+++ b/app/assets/javascripts/ci/pipeline_schedules/components/table/cells/pipeline_schedule_last_pipeline.vue
@@ -1,9 +1,9 @@
<script>
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
export default {
components: {
- CiBadgeLink,
+ CiIcon,
},
props: {
schedule: {
@@ -24,9 +24,10 @@ export default {
<template>
<div data-testid="last-pipeline-status">
- <ci-badge-link
+ <ci-icon
v-if="hasPipeline"
:status="lastPipelineStatus"
+ show-status-text
class="gl-vertical-align-middle"
/>
<span v-else data-testid="pipeline-schedule-status-text">
diff --git a/app/assets/javascripts/ci/pipelines_page/components/pipeline_status_badge.vue b/app/assets/javascripts/ci/pipelines_page/components/pipeline_status_badge.vue
index 20e2c7e9dce..3dcbcf260dc 100644
--- a/app/assets/javascripts/ci/pipelines_page/components/pipeline_status_badge.vue
+++ b/app/assets/javascripts/ci/pipelines_page/components/pipeline_status_badge.vue
@@ -1,12 +1,12 @@
<script>
import { TRACKING_CATEGORIES } from '~/ci/constants';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import Tracking from '~/tracking';
import PipelinesTimeago from './time_ago.vue';
export default {
components: {
- CiBadgeLink,
+ CiIcon,
PipelinesTimeago,
},
mixins: [Tracking.mixin()],
@@ -31,7 +31,12 @@ export default {
<template>
<div>
- <ci-badge-link class="gl-mb-3" :status="pipelineStatus" @ciStatusBadgeClick="trackClick" />
+ <ci-icon
+ class="gl-mb-3"
+ :status="pipelineStatus"
+ show-status-text
+ @ciStatusBadgeClick="trackClick"
+ />
<pipelines-timeago :pipeline="pipeline" />
</div>
</template>
diff --git a/app/assets/javascripts/ci/runner/admin_runners/admin_runners_app.vue b/app/assets/javascripts/ci/runner/admin_runners/admin_runners_app.vue
index 0ec94dc865f..48c088f3a29 100644
--- a/app/assets/javascripts/ci/runner/admin_runners/admin_runners_app.vue
+++ b/app/assets/javascripts/ci/runner/admin_runners/admin_runners_app.vue
@@ -78,9 +78,6 @@ export default {
apollo: {
runners: {
query: allRunnersQuery,
- context: {
- isSingleRequest: true,
- },
fetchPolicy: fetchPolicies.NETWORK_ONLY,
variables() {
return this.variables;
diff --git a/app/assets/javascripts/ci/runner/components/runner_jobs_table.vue b/app/assets/javascripts/ci/runner/components/runner_jobs_table.vue
index 5d8e9dcdee2..653d9b05330 100644
--- a/app/assets/javascripts/ci/runner/components/runner_jobs_table.vue
+++ b/app/assets/javascripts/ci/runner/components/runner_jobs_table.vue
@@ -3,7 +3,7 @@ import { GlTableLite } from '@gitlab/ui';
import { __, s__ } from '~/locale';
import { getIdFromGraphQLId } from '~/graphql_shared/utils';
import { formatTime } from '~/lib/utils/datetime_utility';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import RunnerTags from '~/ci/runner/components/runner_tags.vue';
import TimeAgo from '~/vue_shared/components/time_ago_tooltip.vue';
import { tableField } from '../utils';
@@ -11,7 +11,7 @@ import LinkCell from './cells/link_cell.vue';
export default {
components: {
- CiBadgeLink,
+ CiIcon,
GlTableLite,
LinkCell,
RunnerTags,
@@ -80,7 +80,7 @@ export default {
fixed
>
<template #cell(status)="{ item = {} }">
- <ci-badge-link v-if="item.detailedStatus" :status="item.detailedStatus" />
+ <ci-icon v-if="item.detailedStatus" :status="item.detailedStatus" show-status-text />
</template>
<template #cell(job)="{ item = {} }">
diff --git a/app/assets/javascripts/ci/runner/graphql/show/runner_jobs.query.graphql b/app/assets/javascripts/ci/runner/graphql/show/runner_jobs.query.graphql
index b6d6996a857..611de43b995 100644
--- a/app/assets/javascripts/ci/runner/graphql/show/runner_jobs.query.graphql
+++ b/app/assets/javascripts/ci/runner/graphql/show/runner_jobs.query.graphql
@@ -8,7 +8,7 @@ query getRunnerJobs($id: CiRunnerID!, $first: Int, $last: Int, $before: String,
nodes {
id
detailedStatus {
- # fields for `<ci-badge-link>`
+ # fields for `<ci-icon>`
id
detailsPath
group
diff --git a/app/assets/javascripts/ci/runner/group_runners/group_runners_app.vue b/app/assets/javascripts/ci/runner/group_runners/group_runners_app.vue
index dcaf8635f5c..4f218e279ce 100644
--- a/app/assets/javascripts/ci/runner/group_runners/group_runners_app.vue
+++ b/app/assets/javascripts/ci/runner/group_runners/group_runners_app.vue
@@ -86,9 +86,6 @@ export default {
apollo: {
runners: {
query: groupRunnersQuery,
- context: {
- isSingleRequest: true,
- },
fetchPolicy: fetchPolicies.NETWORK_ONLY,
variables() {
return this.variables;
diff --git a/app/assets/javascripts/environments/components/environment_item.vue b/app/assets/javascripts/environments/components/environment_item.vue
index 08a1eacec7a..47edec8dcb0 100644
--- a/app/assets/javascripts/environments/components/environment_item.vue
+++ b/app/assets/javascripts/environments/components/environment_item.vue
@@ -752,7 +752,7 @@ export default {
:title="upcomingDeploymentTooltipText"
data-testid="upcoming-deployment-status-link"
>
- <ci-icon class="gl-mr-2" :status="upcomingDeployment.deployable.status" />
+ <ci-icon :status="upcomingDeployment.deployable.status" class="gl-mr-2" />
</gl-link>
</div>
<span
diff --git a/app/assets/javascripts/environments/graphql/client.js b/app/assets/javascripts/environments/graphql/client.js
index 8faed710402..8f57069d89d 100644
--- a/app/assets/javascripts/environments/graphql/client.js
+++ b/app/assets/javascripts/environments/graphql/client.js
@@ -17,7 +17,6 @@ import typeDefs from './typedefs.graphql';
export const apolloProvider = (endpoint) => {
const defaultClient = createDefaultClient(resolvers(endpoint), {
typeDefs,
- useGet: true,
});
const { cache } = defaultClient;
diff --git a/app/assets/javascripts/helpers/help_page_helper.js b/app/assets/javascripts/helpers/help_page_helper.js
index 21d27b5fea9..fab0f17cd3b 100644
--- a/app/assets/javascripts/helpers/help_page_helper.js
+++ b/app/assets/javascripts/helpers/help_page_helper.js
@@ -1,6 +1,6 @@
import { joinPaths, setUrlFragment } from '~/lib/utils/url_utility';
-const HELP_PAGE_URL_ROOT = '/help/';
+const HELP_PAGE_URL_ROOT = '/help';
/**
* Generate link to a GitLab documentation page.
diff --git a/app/assets/javascripts/ide/components/ide_status_bar.vue b/app/assets/javascripts/ide/components/ide_status_bar.vue
index 76b284b6185..984dc9edaf1 100644
--- a/app/assets/javascripts/ide/components/ide_status_bar.vue
+++ b/app/assets/javascripts/ide/components/ide_status_bar.vue
@@ -88,7 +88,6 @@ export default {
@click="openRightPane($options.rightSidebarViews.pipelines)"
>
<ci-icon
- v-gl-tooltip
:status="latestPipeline.details.status"
:title="latestPipeline.details.status.text"
/>
diff --git a/app/assets/javascripts/ide/components/jobs/detail/description.vue b/app/assets/javascripts/ide/components/jobs/detail/description.vue
index f0c5b29e210..f5840661c17 100644
--- a/app/assets/javascripts/ide/components/jobs/detail/description.vue
+++ b/app/assets/javascripts/ide/components/jobs/detail/description.vue
@@ -25,9 +25,7 @@ export default {
<template>
<div class="d-flex align-items-center">
<ci-icon
- is-borderless
:status="job.status"
- :size="24"
class="gl-align-items-center gl-border gl-display-inline-flex gl-z-index-1"
/>
<span class="gl-ml-3">
diff --git a/app/assets/javascripts/ide/components/pipelines/list.vue b/app/assets/javascripts/ide/components/pipelines/list.vue
index 6bf51ed06a6..0e07cc34dd8 100644
--- a/app/assets/javascripts/ide/components/pipelines/list.vue
+++ b/app/assets/javascripts/ide/components/pipelines/list.vue
@@ -63,7 +63,7 @@ export default {
</div>
<template v-else-if="hasLoadedPipeline">
<header v-if="latestPipeline" class="ide-tree-header ide-pipeline-header">
- <ci-icon :status="latestPipeline.details.status" :size="24" class="d-flex" />
+ <ci-icon :status="latestPipeline.details.status" />
<span class="gl-ml-3">
<strong> {{ __('Pipeline') }} </strong>
<a
diff --git a/app/assets/javascripts/issuable/components/related_issuable_item.vue b/app/assets/javascripts/issuable/components/related_issuable_item.vue
index 71bd301162e..76518cc3adf 100644
--- a/app/assets/javascripts/issuable/components/related_issuable_item.vue
+++ b/app/assets/javascripts/issuable/components/related_issuable_item.vue
@@ -193,7 +193,7 @@ export default {
>
<span v-if="hasPipeline" class="mr-ci-status order-md-last">
<a :href="pipelineStatus.details_path">
- <ci-icon v-gl-tooltip :status="pipelineStatus" :title="pipelineStatusTooltip" />
+ <ci-icon :status="pipelineStatus" :title="pipelineStatusTooltip" />
</a>
</span>
diff --git a/app/assets/javascripts/issues/dashboard/components/issues_dashboard_app.vue b/app/assets/javascripts/issues/dashboard/components/issues_dashboard_app.vue
index 8bef5bd6156..b6465cf6c68 100644
--- a/app/assets/javascripts/issues/dashboard/components/issues_dashboard_app.vue
+++ b/app/assets/javascripts/issues/dashboard/components/issues_dashboard_app.vue
@@ -165,9 +165,6 @@ export default {
skip() {
return !this.hasSearch;
},
- context: {
- isSingleRequest: true,
- },
},
},
computed: {
diff --git a/app/assets/javascripts/issues/list/components/issues_list_app.vue b/app/assets/javascripts/issues/list/components/issues_list_app.vue
index 92a12c73da2..dcd7aef923a 100644
--- a/app/assets/javascripts/issues/list/components/issues_list_app.vue
+++ b/app/assets/javascripts/issues/list/components/issues_list_app.vue
@@ -277,9 +277,6 @@ export default {
skip() {
return !this.hasAnyIssues || isEmpty(this.pageParams);
},
- context: {
- isSingleRequest: true,
- },
},
},
computed: {
diff --git a/app/assets/javascripts/issues/service_desk/components/service_desk_list_app.vue b/app/assets/javascripts/issues/service_desk/components/service_desk_list_app.vue
index 7160872c794..eb7bcf70563 100644
--- a/app/assets/javascripts/issues/service_desk/components/service_desk_list_app.vue
+++ b/app/assets/javascripts/issues/service_desk/components/service_desk_list_app.vue
@@ -166,9 +166,6 @@ export default {
skip() {
return this.shouldSkipQuery;
},
- context: {
- isSingleRequest: true,
- },
},
},
computed: {
diff --git a/app/assets/javascripts/jira_connect/subscriptions/constants.js b/app/assets/javascripts/jira_connect/subscriptions/constants.js
index 1a10360ed30..85e250b14a0 100644
--- a/app/assets/javascripts/jira_connect/subscriptions/constants.js
+++ b/app/assets/javascripts/jira_connect/subscriptions/constants.js
@@ -37,9 +37,15 @@ export const I18N_OAUTH_FAILED_MESSAGE = s__(
export const INTEGRATIONS_DOC_LINK = helpPagePath('integration/jira/development_panel', {
anchor: 'use-the-integration',
});
+export const PREREQUISITES_DOC_LINK = helpPagePath('administration/settings/jira_cloud_app', {
+ anchor: 'prerequisites',
+});
export const OAUTH_SELF_MANAGED_DOC_LINK = helpPagePath('administration/settings/jira_cloud_app', {
anchor: 'set-up-oauth-authentication',
});
+export const SET_UP_INSTANCE_DOC_LINK = helpPagePath('administration/settings/jira_cloud_app', {
+ anchor: 'set-up-your-instance',
+});
export const FAILED_TO_UPDATE_DOC_LINK = helpPagePath('administration/settings/jira_cloud_app', {
anchor: 'failed-to-update-the-gitlab-instance',
});
diff --git a/app/assets/javascripts/jira_connect/subscriptions/pages/sign_in/sign_in_gitlab_multiversion/setup_instructions.vue b/app/assets/javascripts/jira_connect/subscriptions/pages/sign_in/sign_in_gitlab_multiversion/setup_instructions.vue
index d8d2db18d9f..9f8fae5b476 100644
--- a/app/assets/javascripts/jira_connect/subscriptions/pages/sign_in/sign_in_gitlab_multiversion/setup_instructions.vue
+++ b/app/assets/javascripts/jira_connect/subscriptions/pages/sign_in/sign_in_gitlab_multiversion/setup_instructions.vue
@@ -1,13 +1,44 @@
<script>
-import { GlButton, GlLink } from '@gitlab/ui';
-import { OAUTH_SELF_MANAGED_DOC_LINK } from '~/jira_connect/subscriptions/constants';
+import { GlButton, GlFormCheckbox, GlLink } from '@gitlab/ui';
+import { s__ } from '~/locale';
+import {
+ PREREQUISITES_DOC_LINK,
+ OAUTH_SELF_MANAGED_DOC_LINK,
+ SET_UP_INSTANCE_DOC_LINK,
+} from '~/jira_connect/subscriptions/constants';
export default {
components: {
GlButton,
+ GlFormCheckbox,
GlLink,
},
- OAUTH_SELF_MANAGED_DOC_LINK,
+ data() {
+ return {
+ requiredSteps: [
+ {
+ name: s__('JiraConnect|Prerequisites'),
+ link: PREREQUISITES_DOC_LINK,
+ checked: false,
+ },
+ {
+ name: s__('JiraConnect|Set up OAuth authentication'),
+ link: OAUTH_SELF_MANAGED_DOC_LINK,
+ checked: false,
+ },
+ {
+ name: s__('JiraConnect|Set up your instance'),
+ link: SET_UP_INSTANCE_DOC_LINK,
+ checked: false,
+ },
+ ],
+ };
+ },
+ computed: {
+ nextDisabled() {
+ return !this.requiredSteps.every((step) => step.checked);
+ },
+ },
};
</script>
@@ -17,20 +48,25 @@ export default {
<p>
{{
s__(
- 'JiraConnect|In order to complete the set up, you’ll need to complete a few steps in GitLab.',
+ 'JiraConnect|In order to complete the set up, you’ll need to complete a few steps in GitLab:',
)
}}
- <gl-link
- class="gl-reset-font-size!"
- :href="$options.OAUTH_SELF_MANAGED_DOC_LINK"
- target="_blank"
- >{{ __('Learn more') }}</gl-link
- >
</p>
+ <div class="gl-mb-5">
+ <div v-for="step in requiredSteps" :key="step.name" class="gl-mb-2">
+ <gl-form-checkbox v-model="step.checked">
+ <gl-link :href="step.link" target="_blank">
+ {{ step.name }}
+ </gl-link>
+ </gl-form-checkbox>
+ </div>
+ </div>
<div class="gl-display-flex gl-justify-content-space-between">
<gl-button @click="$emit('back')">{{ __('Back') }}</gl-button>
- <gl-button variant="confirm" @click="$emit('next')">{{ __('Next') }}</gl-button>
+ <gl-button variant="confirm" :disabled="nextDisabled" @click="$emit('next')"
+ >{{ __('Next') }}
+ </gl-button>
</div>
</div>
</template>
diff --git a/app/assets/javascripts/merge_request_tabs.js b/app/assets/javascripts/merge_request_tabs.js
index 2095f24eb84..8ea995b8b4e 100644
--- a/app/assets/javascripts/merge_request_tabs.js
+++ b/app/assets/javascripts/merge_request_tabs.js
@@ -21,12 +21,7 @@ import syntaxHighlight from './syntax_highlight';
Vue.use(VueApollo);
const apolloProvider = new VueApollo({
- defaultClient: createDefaultClient(
- {},
- {
- useGet: true,
- },
- ),
+ defaultClient: createDefaultClient(),
});
// MergeRequestTabs
diff --git a/app/assets/javascripts/observability/client.js b/app/assets/javascripts/observability/client.js
index 840dc080399..cdb5f8078e6 100644
--- a/app/assets/javascripts/observability/client.js
+++ b/app/assets/javascripts/observability/client.js
@@ -6,7 +6,7 @@ function reportErrorAndThrow(e) {
throw e;
}
// Provisioning API spec: https://gitlab.com/gitlab-org/opstrace/opstrace/-/blob/main/provisioning-api/pkg/provisioningapi/routes.go#L59
-async function enableTraces(provisioningUrl) {
+async function enableObservability(provisioningUrl) {
try {
// Note: axios.put(url, undefined, {withCredentials: true}) does not send cookies properly, so need to use the API below for the correct behaviour
return await axios(provisioningUrl, {
@@ -19,7 +19,7 @@ async function enableTraces(provisioningUrl) {
}
// Provisioning API spec: https://gitlab.com/gitlab-org/opstrace/opstrace/-/blob/main/provisioning-api/pkg/provisioningapi/routes.go#L37
-async function isTracingEnabled(provisioningUrl) {
+async function isObservabilityEnabled(provisioningUrl) {
try {
const { data } = await axios.get(provisioningUrl, { withCredentials: true });
if (data && data.status) {
@@ -235,8 +235,8 @@ export function buildClient({ provisioningUrl, tracingUrl, servicesUrl, operatio
);
}
return {
- enableTraces: () => enableTraces(provisioningUrl),
- isTracingEnabled: () => isTracingEnabled(provisioningUrl),
+ enableObservability: () => enableObservability(provisioningUrl),
+ isObservabilityEnabled: () => isObservabilityEnabled(provisioningUrl),
fetchTraces: (filters) => fetchTraces(tracingUrl, filters),
fetchTrace: (traceId) => fetchTrace(tracingUrl, traceId),
fetchServices: () => fetchServices(servicesUrl),
diff --git a/app/assets/javascripts/observability/components/observability_container.vue b/app/assets/javascripts/observability/components/observability_container.vue
index 1518c132560..3027f01ea1e 100644
--- a/app/assets/javascripts/observability/components/observability_container.vue
+++ b/app/assets/javascripts/observability/components/observability_container.vue
@@ -70,6 +70,7 @@ export default {
operationsUrl: this.operationsUrl,
});
this.$refs.observabilitySkeleton?.onContentLoaded();
+ this.$emit('observability-client-ready', this.observabilityClient);
} else if (status === 'error') {
// eslint-disable-next-line @gitlab/require-i18n-strings,no-console
console.error('GOB auth failed with error:', message, statusCode);
diff --git a/app/assets/javascripts/observability/components/observability_empty_state.vue b/app/assets/javascripts/observability/components/observability_empty_state.vue
new file mode 100644
index 00000000000..d4d8b887934
--- /dev/null
+++ b/app/assets/javascripts/observability/components/observability_empty_state.vue
@@ -0,0 +1,36 @@
+<script>
+import EMPTY_TRACING_SVG from '@gitlab/svgs/dist/illustrations/monitoring/tracing.svg?url';
+import { GlEmptyState, GlButton } from '@gitlab/ui';
+import { s__ } from '~/locale';
+
+export default {
+ EMPTY_TRACING_SVG,
+ i18n: {
+ title: s__('Observability|Get started with GitLab Observability'),
+ description: s__('Observability|Monitor your applications with GitLab Observability.'),
+ enableButtonText: s__('Observability|Enable'),
+ },
+ components: {
+ GlEmptyState,
+ GlButton,
+ },
+};
+</script>
+
+<template>
+ <gl-empty-state
+ :title="$options.i18n.title"
+ :svg-path="$options.EMPTY_TRACING_SVG"
+ :svg-height="null"
+ >
+ <template #description>
+ <span>{{ $options.i18n.description }}</span>
+ </template>
+
+ <template #actions>
+ <gl-button variant="confirm" class="gl-mx-2 gl-mb-3" @click="$emit('enable-observability')">
+ {{ $options.i18n.enableButtonText }}
+ </gl-button>
+ </template>
+ </gl-empty-state>
+</template>
diff --git a/app/assets/javascripts/observability/components/provisioned_observability_container.vue b/app/assets/javascripts/observability/components/provisioned_observability_container.vue
new file mode 100644
index 00000000000..1fe10a634f4
--- /dev/null
+++ b/app/assets/javascripts/observability/components/provisioned_observability_container.vue
@@ -0,0 +1,113 @@
+<script>
+import { GlLoadingIcon } from '@gitlab/ui';
+import ObservabilityContainer from '~/observability/components/observability_container.vue';
+import { s__ } from '~/locale';
+import { createAlert } from '~/alert';
+import ObservabilityEmptyState from './observability_empty_state.vue';
+
+export default {
+ components: {
+ ObservabilityContainer,
+ ObservabilityEmptyState,
+ GlLoadingIcon,
+ },
+ props: {
+ oauthUrl: {
+ type: String,
+ required: true,
+ },
+ tracingUrl: {
+ type: String,
+ required: true,
+ },
+ servicesUrl: {
+ type: String,
+ required: true,
+ },
+ provisioningUrl: {
+ type: String,
+ required: true,
+ },
+ operationsUrl: {
+ type: String,
+ required: true,
+ },
+ },
+ data() {
+ return {
+ loading: false,
+ /**
+ * observabilityEnabled: boolean | null.
+ * null identifies a state where we don't know if observability is enabled or not (e.g. when fetching the status from the API fails)
+ */
+ observabilityEnabled: null,
+ observabilityClient: null,
+ };
+ },
+ computed: {
+ isObservabilityStatusKnown() {
+ return this.observabilityEnabled !== null;
+ },
+ isObservabilityDisabled() {
+ return this.observabilityEnabled === false;
+ },
+ isObservabilityEnabled() {
+ return this.observabilityEnabled;
+ },
+ },
+ methods: {
+ onObservabilityClientReady(client) {
+ this.observabilityClient = client;
+ this.checkEnabled();
+ },
+ async checkEnabled() {
+ this.loading = true;
+ try {
+ this.observabilityEnabled = await this.observabilityClient.isObservabilityEnabled();
+ } catch (e) {
+ createAlert({
+ message: s__('Observability|Failed to load page.'),
+ });
+ } finally {
+ this.loading = false;
+ }
+ },
+ async onEnableObservability() {
+ this.loading = true;
+ try {
+ await this.observabilityClient.enableObservability();
+ this.observabilityEnabled = true;
+ } catch (e) {
+ createAlert({
+ message: s__('Observability|Failed to enable GitLab Observability.'),
+ });
+ } finally {
+ this.loading = false;
+ }
+ },
+ },
+};
+</script>
+
+<template>
+ <observability-container
+ :oauth-url="oauthUrl"
+ :tracing-url="tracingUrl"
+ :provisioning-url="provisioningUrl"
+ :services-url="servicesUrl"
+ :operations-url="operationsUrl"
+ @observability-client-ready="onObservabilityClientReady"
+ >
+ <div v-if="loading" class="gl-py-5">
+ <gl-loading-icon size="lg" />
+ </div>
+
+ <template v-else-if="isObservabilityStatusKnown">
+ <observability-empty-state
+ v-if="isObservabilityDisabled"
+ @enable-observability="onEnableObservability"
+ />
+ <slot v-if="isObservabilityEnabled" :observability-client="observabilityClient"></slot>
+ </template>
+ </observability-container>
+</template>
diff --git a/app/assets/javascripts/packages_and_registries/package_registry/components/details/additional_metadata.vue b/app/assets/javascripts/packages_and_registries/package_registry/components/details/additional_metadata.vue
index 51afd8ba269..937553e25cc 100644
--- a/app/assets/javascripts/packages_and_registries/package_registry/components/details/additional_metadata.vue
+++ b/app/assets/javascripts/packages_and_registries/package_registry/components/details/additional_metadata.vue
@@ -41,9 +41,6 @@ export default {
apollo: {
packageMetadata: {
query: getPackageMetadataQuery,
- context: {
- isSingleRequest: true,
- },
variables() {
return {
id: this.packageId,
diff --git a/app/assets/javascripts/packages_and_registries/package_registry/components/details/package_files.vue b/app/assets/javascripts/packages_and_registries/package_registry/components/details/package_files.vue
index 5043da6e59f..7b3acaf2ab6 100644
--- a/app/assets/javascripts/packages_and_registries/package_registry/components/details/package_files.vue
+++ b/app/assets/javascripts/packages_and_registries/package_registry/components/details/package_files.vue
@@ -92,9 +92,6 @@ export default {
apollo: {
packageFiles: {
query: getPackageFilesQuery,
- context: {
- isSingleRequest: true,
- },
variables() {
return this.queryVariables;
},
diff --git a/app/assets/javascripts/pages/admin/application_settings/metrics_and_profiling/index.js b/app/assets/javascripts/pages/admin/application_settings/metrics_and_profiling/index.js
index a5305777dd5..6ca9f39842a 100644
--- a/app/assets/javascripts/pages/admin/application_settings/metrics_and_profiling/index.js
+++ b/app/assets/javascripts/pages/admin/application_settings/metrics_and_profiling/index.js
@@ -1,3 +1,5 @@
import setup from '~/admin/application_settings/setup_metrics_and_profiling';
+import initServiceUsageData from '~/admin/application_settings/setup_service_usage_data';
setup();
+initServiceUsageData();
diff --git a/app/assets/javascripts/pages/admin/application_settings/service_usage_data/index.js b/app/assets/javascripts/pages/admin/application_settings/service_usage_data/index.js
deleted file mode 100644
index 8a12e753847..00000000000
--- a/app/assets/javascripts/pages/admin/application_settings/service_usage_data/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import initServiceUsageData from '~/admin/application_settings/setup_service_usage_data';
-
-initServiceUsageData();
diff --git a/app/assets/javascripts/projects/commit_box/info/components/commit_box_pipeline_status.vue b/app/assets/javascripts/projects/commit_box/info/components/commit_box_pipeline_status.vue
index 0feaf8db82b..a4851b4fe4b 100644
--- a/app/assets/javascripts/projects/commit_box/info/components/commit_box_pipeline_status.vue
+++ b/app/assets/javascripts/projects/commit_box/info/components/commit_box_pipeline_status.vue
@@ -1,6 +1,6 @@
<script>
import { GlLoadingIcon } from '@gitlab/ui';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import { createAlert } from '~/alert';
import { getQueryHeaders, toggleQueryPollingByVisibility } from '~/ci/pipeline_details/graph/utils';
import getLatestPipelineStatusQuery from '../graphql/queries/get_latest_pipeline_status.query.graphql';
@@ -9,7 +9,7 @@ import { COMMIT_BOX_POLL_INTERVAL, PIPELINE_STATUS_FETCH_ERROR } from '../consta
export default {
PIPELINE_STATUS_FETCH_ERROR,
components: {
- CiBadgeLink,
+ CiIcon,
GlLoadingIcon,
},
inject: {
@@ -63,12 +63,6 @@ export default {
<template>
<div class="gl-display-inline-block gl-vertical-align-middle gl-mr-2">
<gl-loading-icon v-if="loading" />
- <ci-badge-link
- v-else
- :status="pipelineStatus"
- :details-path="pipelineStatus.detailsPath"
- size="md"
- :show-text="false"
- />
+ <ci-icon v-else :status="pipelineStatus" />
</div>
</template>
diff --git a/app/assets/javascripts/projects/commit_box/info/init_commit_pipeline_mini_graph.js b/app/assets/javascripts/projects/commit_box/info/init_commit_pipeline_mini_graph.js
index c206e648561..24b7130e765 100644
--- a/app/assets/javascripts/projects/commit_box/info/init_commit_pipeline_mini_graph.js
+++ b/app/assets/javascripts/projects/commit_box/info/init_commit_pipeline_mini_graph.js
@@ -5,7 +5,7 @@ import createDefaultClient from '~/lib/graphql';
Vue.use(VueApollo);
const apolloProvider = new VueApollo({
- defaultClient: createDefaultClient({}, { useGet: true }),
+ defaultClient: createDefaultClient(),
});
export const initCommitPipelineMiniGraph = async (selector = '.js-commit-pipeline-mini-graph') => {
diff --git a/app/assets/javascripts/projects/commit_box/info/init_commit_pipeline_status.js b/app/assets/javascripts/projects/commit_box/info/init_commit_pipeline_status.js
index d5e62531283..079f74dc8a2 100644
--- a/app/assets/javascripts/projects/commit_box/info/init_commit_pipeline_status.js
+++ b/app/assets/javascripts/projects/commit_box/info/init_commit_pipeline_status.js
@@ -6,7 +6,7 @@ import CommitBoxPipelineStatus from './components/commit_box_pipeline_status.vue
Vue.use(VueApollo);
const apolloProvider = new VueApollo({
- defaultClient: createDefaultClient({}, { useGet: true }),
+ defaultClient: createDefaultClient(),
});
export default (selector = '.js-commit-pipeline-status') => {
diff --git a/app/assets/javascripts/projects/pipelines/charts/components/statistics_list.vue b/app/assets/javascripts/projects/pipelines/charts/components/statistics_list.vue
index 5383a6cdddf..f921b2dfdd6 100644
--- a/app/assets/javascripts/projects/pipelines/charts/components/statistics_list.vue
+++ b/app/assets/javascripts/projects/pipelines/charts/components/statistics_list.vue
@@ -1,7 +1,7 @@
<script>
import { GlLink } from '@gitlab/ui';
import { SUPPORTED_FORMATS, getFormatter } from '~/lib/utils/unit_format';
-import { s__, n__ } from '~/locale';
+import { s__, n__, formatNumber } from '~/locale';
const defaultPrecision = 2;
@@ -22,25 +22,25 @@ export default {
},
computed: {
statistics() {
- const formatter = getFormatter(SUPPORTED_FORMATS.percentHundred);
+ const formatPercent = getFormatter(SUPPORTED_FORMATS.percentHundred);
return [
{
title: s__('PipelineCharts|Total:'),
- value: n__('1 pipeline', '%d pipelines', this.counts.total),
+ value: n__('1 pipeline', '%d pipelines', formatNumber(this.counts.total)),
},
{
title: s__('PipelineCharts|Successful:'),
- value: n__('1 pipeline', '%d pipelines', this.counts.success),
+ value: n__('1 pipeline', '%d pipelines', formatNumber(this.counts.success)),
},
{
title: s__('PipelineCharts|Failed:'),
- value: n__('1 pipeline', '%d pipelines', this.counts.failed),
+ value: n__('1 pipeline', '%d pipelines', formatNumber(this.counts.failed)),
link: this.failedPipelinesLink,
},
{
title: s__('PipelineCharts|Success ratio:'),
- value: formatter(this.counts.successRatio, defaultPrecision),
+ value: formatPercent(this.counts.successRatio, defaultPrecision),
},
];
},
diff --git a/app/assets/javascripts/projects/tree/components/commit_pipeline_status.vue b/app/assets/javascripts/projects/tree/components/commit_pipeline_status.vue
index 16d688de3a0..074cddac422 100644
--- a/app/assets/javascripts/projects/tree/components/commit_pipeline_status.vue
+++ b/app/assets/javascripts/projects/tree/components/commit_pipeline_status.vue
@@ -94,14 +94,7 @@ export default {
<div class="gl-ml-5">
<gl-loading-icon v-if="isLoading" size="lg" label="Loading pipeline status" />
<a v-else :href="ciStatus.details_path">
- <ci-icon
- v-gl-tooltip
- :title="statusTitle"
- :aria-label="statusTitle"
- :status="ciStatus"
- :size="24"
- data-container="body"
- />
+ <ci-icon :status="ciStatus" :title="statusTitle" :aria-label="statusTitle" />
</a>
</div>
</template>
diff --git a/app/assets/javascripts/repository/components/blob_content_viewer.vue b/app/assets/javascripts/repository/components/blob_content_viewer.vue
index 6565c84fa11..97a1cbda5d0 100644
--- a/app/assets/javascripts/repository/components/blob_content_viewer.vue
+++ b/app/assets/javascripts/repository/components/blob_content_viewer.vue
@@ -122,6 +122,7 @@ export default {
blobInfo: {},
isEmptyRepository: false,
projectId: null,
+ showBlame: this.$route?.query?.blame === '1',
};
},
computed: {
@@ -202,6 +203,9 @@ export default {
isUsingLfs() {
return this.blobInfo.storedExternally && this.blobInfo.externalStorage === LFS_STORAGE;
},
+ isBlameEnabled() {
+ return this.glFeatures.blobBlameInfo && this.blobInfo.language === 'json'; // This feature is currently scoped to JSON files
+ },
},
watch: {
// Watch the URL 'plain' query value to know if the viewer needs changing.
@@ -289,6 +293,14 @@ export default {
onCopy() {
navigator.clipboard.writeText(this.blobInfo.rawTextBlob);
},
+ handleToggleBlame() {
+ this.switchViewer(SIMPLE_BLOB_VIEWER);
+ this.showBlame = !this.showBlame;
+
+ const blame = this.showBlame === true ? '1' : '0';
+ if (this.$route?.query?.blame === blame) return;
+ this.$router.push({ path: this.$route.path, query: { ...this.$route.query, blame } });
+ },
},
};
</script>
@@ -299,19 +311,21 @@ export default {
<div v-if="blobInfo && !isLoading" id="fileHolder" class="file-holder">
<blob-header
:blob="blobInfo"
- :hide-viewer-switcher="!hasRichViewer || isBinaryFileType || isUsingLfs"
+ :hide-viewer-switcher="isBinaryFileType || isUsingLfs"
:is-binary="isBinaryFileType"
:active-viewer-type="viewer.type"
:has-render-error="hasRenderError"
:show-path="false"
:override-copy="true"
:show-fork-suggestion="showForkSuggestion"
+ :show-blame-toggle="isBlameEnabled"
:project-path="projectPath"
:project-id="projectId"
@viewer-changed="handleViewerChanged"
@copy="onCopy"
@edit="editBlob"
@error="displayError"
+ @blame="handleToggleBlame"
>
<template #actions>
<blob-button-group
@@ -354,6 +368,7 @@ export default {
v-else
:blob="blobInfo"
:chunks="chunks"
+ :show-blame="showBlame"
:project-path="projectPath"
:current-ref="currentRef"
class="blob-viewer"
diff --git a/app/assets/javascripts/repository/components/commit_info.vue b/app/assets/javascripts/repository/components/commit_info.vue
index b6e3cdbb7a3..d81c6303422 100644
--- a/app/assets/javascripts/repository/components/commit_info.vue
+++ b/app/assets/javascripts/repository/components/commit_info.vue
@@ -67,10 +67,8 @@ export default {
:img-src="commit.authorGravatar || $options.defaultAvatarUrl"
:size="32"
/>
- <div
- class="commit-detail flex-list gl-display-flex gl-justify-content-space-between gl-align-items-center gl-flex-grow-1 gl-min-w-0"
- >
- <div class="commit-content" data-qa-selector="commit_content">
+ <div class="commit-detail flex-list gl-display-flex gl-flex-grow-1 gl-min-w-0">
+ <div class="commit-content gl-w-full gl-text-truncate" data-qa-selector="commit_content">
<gl-link
v-safe-html:[$options.safeHtmlConfig]="commit.titleHtml"
:href="commit.webPath"
diff --git a/app/assets/javascripts/repository/components/last_commit.vue b/app/assets/javascripts/repository/components/last_commit.vue
index d6fa879976e..7f7a76cd4aa 100644
--- a/app/assets/javascripts/repository/components/last_commit.vue
+++ b/app/assets/javascripts/repository/components/last_commit.vue
@@ -3,7 +3,7 @@ import { GlTooltipDirective, GlButton, GlButtonGroup, GlLoadingIcon } from '@git
import SafeHtml from '~/vue_shared/directives/safe_html';
import pathLastCommitQuery from 'shared_queries/repository/path_last_commit.query.graphql';
import { sprintf, s__ } from '~/locale';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import ClipboardButton from '~/vue_shared/components/clipboard_button.vue';
import SignatureBadge from '~/commit/components/signature_badge.vue';
import getRefMixin from '../mixins/get_ref';
@@ -17,7 +17,7 @@ export default {
CommitInfo,
ClipboardButton,
SignatureBadge,
- CiBadgeLink,
+ CiIcon,
GlButtonGroup,
GlButton,
GlLoadingIcon,
@@ -50,9 +50,6 @@ export default {
pipeline: pipelines?.length && pipelines[0].node,
};
},
- context: {
- isSingleRequest: true,
- },
error(error) {
throw error;
},
@@ -116,11 +113,9 @@ export default {
>
<signature-badge v-if="commit.signature" :signature="commit.signature" />
<div v-if="commit.pipeline" class="gl-ml-5">
- <ci-badge-link
+ <ci-icon
:status="commit.pipeline.detailedStatus"
- :details-path="commit.pipeline.detailedStatus.detailsPath"
:aria-label="statusTitle"
- :show-text="false"
class="js-commit-pipeline"
/>
</div>
diff --git a/app/assets/javascripts/sidebar/components/participants/sidebar_participants_widget.vue b/app/assets/javascripts/sidebar/components/participants/sidebar_participants_widget.vue
index b764d660d63..40893f10109 100644
--- a/app/assets/javascripts/sidebar/components/participants/sidebar_participants_widget.vue
+++ b/app/assets/javascripts/sidebar/components/participants/sidebar_participants_widget.vue
@@ -49,9 +49,6 @@ export default {
error,
});
},
- context: {
- isSingleRequest: true,
- },
},
},
computed: {
diff --git a/app/assets/javascripts/super_sidebar/components/global_search/components/global_search_default_places.vue b/app/assets/javascripts/super_sidebar/components/global_search/components/global_search_default_places.vue
index 9167be5c1cc..914d3c393f5 100644
--- a/app/assets/javascripts/super_sidebar/components/global_search/components/global_search_default_places.vue
+++ b/app/assets/javascripts/super_sidebar/components/global_search/components/global_search_default_places.vue
@@ -1,5 +1,6 @@
<script>
import { GlDisclosureDropdownGroup } from '@gitlab/ui';
+import { kebabCase } from 'lodash';
import { PLACES } from '~/vue_shared/global_search/constants';
import { TRACKING_UNKNOWN_ID, TRACKING_UNKNOWN_PANEL } from '~/super_sidebar/constants';
import { TRACKING_CLICK_COMMAND_PALETTE_ITEM } from '../command_palette/constants';
@@ -20,7 +21,7 @@ export default {
group() {
return {
name: this.$options.i18n.PLACES,
- items: this.contextSwitcherLinks.map(({ title, link }) => ({
+ items: this.contextSwitcherLinks.map(({ title, link, ...rest }) => ({
text: title,
href: link,
extraAttrs: {
@@ -35,6 +36,12 @@ export default {
// QA attributes
'data-testid': 'places-item-link',
'data-qa-places-item': title,
+
+ // Any other data- attributes (e.g., for @rails/ujs)
+ ...Object.entries(rest).reduce((acc, [name, value]) => {
+ if (name.startsWith('data')) acc[kebabCase(name)] = value;
+ return acc;
+ }, {}),
},
})),
};
diff --git a/app/assets/javascripts/terraform/components/states_table.vue b/app/assets/javascripts/terraform/components/states_table.vue
index c88c528a632..273cd599308 100644
--- a/app/assets/javascripts/terraform/components/states_table.vue
+++ b/app/assets/javascripts/terraform/components/states_table.vue
@@ -11,14 +11,14 @@ import {
} from '@gitlab/ui';
import { getIdFromGraphQLId } from '~/graphql_shared/utils';
import { s__, sprintf } from '~/locale';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue';
import timeagoMixin from '~/vue_shared/mixins/timeago';
import StateActions from './states_table_actions.vue';
export default {
components: {
- CiBadgeLink,
+ CiIcon,
GlAlert,
GlBadge,
GlLink,
@@ -198,10 +198,10 @@ export default {
:id="`terraformJobStatusContainer${item.name}`"
class="gl-my-2"
>
- <ci-badge-link
+ <ci-icon
:id="`terraformJobStatus${item.name}`"
:status="pipelineDetailedStatus(item)"
- class="gl-py-1"
+ show-status-text
/>
<gl-tooltip
diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.vue b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.vue
index 2e104f2b93b..ac037b69dd7 100644
--- a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.vue
+++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.vue
@@ -10,7 +10,7 @@ import {
} from '@gitlab/ui';
import SafeHtml from '~/vue_shared/directives/safe_html';
import { s__, n__ } from '~/locale';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import { keepLatestDownstreamPipelines } from '~/ci/pipeline_details/utils/parsing_utils';
import PipelineArtifacts from '~/ci/pipelines_page/components/pipelines_artifacts.vue';
import LegacyPipelineMiniGraph from '~/ci/pipeline_mini_graph/legacy_pipeline_mini_graph.vue';
@@ -21,7 +21,7 @@ import { MT_MERGE_STRATEGY } from '../constants';
export default {
name: 'MRWidgetPipeline',
components: {
- CiBadgeLink,
+ CiIcon,
GlLink,
GlLoadingIcon,
GlIcon,
@@ -194,13 +194,7 @@ export default {
</p>
</template>
<template v-else-if="hasPipeline">
- <ci-badge-link
- :status="status"
- :href="status.details_path"
- size="md"
- :show-text="false"
- class="gl-align-self-start gl-mt-2 gl-mr-3"
- />
+ <ci-icon :status="status" class="gl-align-self-start gl-mt-2 gl-mr-3" />
<div class="ci-widget-container d-flex">
<div class="ci-widget-content">
<div class="media-body">
diff --git a/app/assets/javascripts/vue_shared/components/ci_badge_link.vue b/app/assets/javascripts/vue_shared/components/ci_badge_link.vue
deleted file mode 100644
index abbeac0e098..00000000000
--- a/app/assets/javascripts/vue_shared/components/ci_badge_link.vue
+++ /dev/null
@@ -1,157 +0,0 @@
-<script>
-import { GlBadge, GlTooltipDirective } from '@gitlab/ui';
-import CiIcon from './ci_icon.vue';
-
-/**
- * Renders CI Badge link with CI icon and status text based on
- * API response shared between all places where it is used.
- *
- * Receives status object containing:
- * status: {
- * details_path or detailsPath: "/gitlab-org/gitlab-foss/pipelines/8150156" // url
- * group:"running" // used for CSS class
- * icon: "icon_status_running" // used to render the icon
- * label:"running" // used for potential tooltip
- * text:"running" // text rendered
- * }
- *
- * Used in:
- * - Pipelines table - first column
- * - Jobs table - first column
- * - Pipeline show view - header
- * - Job show view - header
- * - MR widget
- * - Terraform table
- * - On-demand scans list
- */
-
-const badgeSizeOptions = {
- sm: 'sm',
- md: 'md',
- lg: 'lg',
-};
-
-export default {
- components: {
- CiIcon,
- GlBadge,
- },
- directives: {
- GlTooltip: GlTooltipDirective,
- },
- props: {
- status: {
- type: Object,
- required: true,
- },
- showText: {
- type: Boolean,
- required: false,
- default: true,
- },
- size: {
- type: String,
- required: false,
- default: badgeSizeOptions.md,
- validator(value) {
- return badgeSizeOptions[value] !== undefined;
- },
- },
- showTooltip: {
- type: Boolean,
- required: false,
- default: true,
- },
- useLink: {
- type: Boolean,
- default: true,
- required: false,
- },
- },
- computed: {
- isNotLargeBadgeSize() {
- return this.size !== badgeSizeOptions.lg;
- },
- title() {
- return this.showTooltip && !this.showText ? this.status?.text : '';
- },
- detailsPath() {
- // For now, this can either come from graphQL with camelCase or REST API in snake_case
- if (!this.useLink) {
- return null;
- }
- return this.status.detailsPath || this.status.details_path;
- },
- badgeStyles() {
- switch (this.status.icon) {
- case 'status_success':
- return {
- textColor: 'gl-text-green-700',
- variant: 'success',
- };
- case 'status_warning':
- return {
- textColor: 'gl-text-orange-700',
- variant: 'warning',
- };
- case 'status_failed':
- return {
- textColor: 'gl-text-red-700',
- variant: 'danger',
- };
- case 'status_running':
- return {
- textColor: 'gl-text-blue-700',
- variant: 'info',
- };
- case 'status_pending':
- return {
- textColor: 'gl-text-orange-700',
- variant: 'warning',
- };
- case 'status_canceled':
- return {
- textColor: 'gl-text-gray-700',
- variant: 'neutral',
- };
- case 'status_manual':
- return {
- textColor: 'gl-text-gray-700',
- variant: 'neutral',
- };
- // default covers the styles for the remainder of CI
- // statuses that are not explicitly stated here
- default:
- return {
- textColor: 'gl-text-gray-600',
- variant: 'muted',
- };
- }
- },
- },
-};
-</script>
-<template>
- <gl-badge
- v-gl-tooltip
- :class="{ 'gl-px-2': !showText && isNotLargeBadgeSize }"
- :title="title"
- :href="detailsPath"
- :size="size"
- :variant="badgeStyles.variant"
- data-testid="ci-badge-link"
- @click="$emit('ciStatusBadgeClick')"
- >
- <ci-icon :status="status" />
-
- <template v-if="showText">
- <span
- class="gl-ml-2 gl-white-space-nowrap"
- :class="badgeStyles.textColor"
- data-testid="ci-badge-text"
- >
- {{ status.text }}
- </span>
- </template>
- </gl-badge>
-</template>
diff --git a/app/assets/javascripts/vue_shared/components/ci_icon.vue b/app/assets/javascripts/vue_shared/components/ci_icon.vue
index 6670b931416..9f4cfa6f690 100644
--- a/app/assets/javascripts/vue_shared/components/ci_icon.vue
+++ b/app/assets/javascripts/vue_shared/components/ci_icon.vue
@@ -1,5 +1,5 @@
<script>
-import { GlIcon } from '@gitlab/ui';
+import { GlBadge, GlTooltipDirective, GlIcon } from '@gitlab/ui';
/**
* Renders CI icon based on API response shared between all places where it is used.
@@ -22,16 +22,14 @@ import { GlIcon } from '@gitlab/ui';
* - Pipelines table Badge
*/
-/*
- * These sizes are defined in gitlab-ui/src/scss/variables.scss
- * under '$gl-icon-sizes'
- */
-const validSizes = [8, 12, 14, 16, 24, 32, 48, 72];
-
export default {
components: {
+ GlBadge,
GlIcon,
},
+ directives: {
+ GlTooltip: GlTooltipDirective,
+ },
props: {
status: {
type: Object,
@@ -46,54 +44,117 @@ export default {
);
},
},
- size: {
- type: Number,
- required: false,
- default: 16,
- validator(value) {
- return validSizes.includes(value);
- },
- },
- isActive: {
+ showStatusText: {
type: Boolean,
required: false,
default: false,
},
- isBorderless: {
+ showTooltip: {
type: Boolean,
required: false,
- default: false,
+ default: true,
},
- isInteractive: {
+ useLink: {
type: Boolean,
+ default: true,
required: false,
- default: false,
- },
- cssClasses: {
- type: String,
- required: false,
- default: '',
},
},
computed: {
+ title() {
+ return this.showTooltip && !this.showStatusText ? this.status?.text : '';
+ },
+ detailsPath() {
+ // For now, this can either come from graphQL with camelCase or REST API in snake_case
+ if (!this.useLink) {
+ return null;
+ }
+ return this.status.detailsPath || this.status.details_path;
+ },
wrapperStyleClasses() {
const status = this.status.group;
return `ci-status-icon ci-status-icon-${status} gl-rounded-full gl-justify-content-center gl-line-height-0`;
},
icon() {
- return this.isBorderless ? `${this.status.icon}_borderless` : this.status.icon;
+ return this.status.icon;
+ },
+ badgeStyles() {
+ switch (this.status.icon) {
+ case 'status_success':
+ return {
+ textColor: 'gl-text-green-700',
+ variant: 'success',
+ };
+ case 'status_warning':
+ return {
+ textColor: 'gl-text-orange-700',
+ variant: 'warning',
+ };
+ case 'status_failed':
+ return {
+ textColor: 'gl-text-red-700',
+ variant: 'danger',
+ };
+ case 'status_running':
+ return {
+ textColor: 'gl-text-blue-700',
+ variant: 'info',
+ };
+ case 'status_pending':
+ return {
+ textColor: 'gl-text-orange-700',
+ variant: 'warning',
+ };
+ case 'status_canceled':
+ return {
+ textColor: 'gl-text-gray-700',
+ variant: 'neutral',
+ };
+ case 'status_manual':
+ return {
+ textColor: 'gl-text-gray-700',
+ variant: 'neutral',
+ };
+ // default covers the styles for the remainder of CI
+ // statuses that are not explicitly stated here
+ default:
+ return {
+ textColor: 'gl-text-gray-600',
+ variant: 'muted',
+ };
+ }
},
},
};
</script>
<template>
- <span
- :class="[
- wrapperStyleClasses,
- { interactive: isInteractive, active: isActive, borderless: isBorderless },
- ]"
- :style="{ height: `${size}px`, width: `${size}px` }"
+ <gl-badge
+ v-gl-tooltip
+ class="ci-icon gl-p-2"
+ :title="title"
+ :aria-label="title"
+ :href="detailsPath"
+ size="md"
+ :variant="badgeStyles.variant"
+ data-testid="ci-icon"
+ @click="$emit('ciStatusBadgeClick')"
>
- <gl-icon :name="icon" :size="size" :class="cssClasses" :aria-label="status.icon" />
- </span>
+ <span
+ class="ci-icon-wrapper"
+ :class="[
+ wrapperStyleClasses,
+ {
+ 'gl-display-inline-block gl-vertical-align-top': showStatusText,
+ },
+ ]"
+ >
+ <gl-icon :name="icon" :aria-label="status.icon" /> </span
+ ><span
+ v-if="showStatusText"
+ class="gl-mx-2 gl-white-space-nowrap"
+ :class="badgeStyles.textColor"
+ data-testid="ci-icon-text"
+ >{{ status.text }}</span
+ >
+ </gl-badge>
</template>
diff --git a/app/assets/javascripts/vue_shared/components/source_viewer/components/blame_info.vue b/app/assets/javascripts/vue_shared/components/source_viewer/components/blame_info.vue
index 9bce9402afa..a0e901bfc4b 100644
--- a/app/assets/javascripts/vue_shared/components/source_viewer/components/blame_info.vue
+++ b/app/assets/javascripts/vue_shared/components/source_viewer/components/blame_info.vue
@@ -27,8 +27,13 @@ export default {
}));
},
},
- mounted() {
- toggleBlameClasses(this.blameData, true);
+ watch: {
+ blameData: {
+ handler(blameData) {
+ toggleBlameClasses(blameData, true);
+ },
+ immediate: true,
+ },
},
destroyed() {
toggleBlameClasses(this.blameData, false);
diff --git a/app/assets/javascripts/vue_shared/components/source_viewer/queries/blame_data.query.graphql b/app/assets/javascripts/vue_shared/components/source_viewer/queries/blame_data.query.graphql
new file mode 100644
index 00000000000..22a8f8911d0
--- /dev/null
+++ b/app/assets/javascripts/vue_shared/components/source_viewer/queries/blame_data.query.graphql
@@ -0,0 +1,33 @@
+#import "~/graphql_shared/fragments/author.fragment.graphql"
+
+query getBlameData($fullPath: ID!, $filePath: String!, $fromLine: Int, $toLine: Int) {
+ project(fullPath: $fullPath) {
+ id
+ repository {
+ blobs(paths: [$filePath]) {
+ nodes {
+ id
+ blame(fromLine: $fromLine, toLine: $toLine) {
+ firstLine
+ groups {
+ lineno
+ span
+ commit {
+ id
+ titleHtml
+ message
+ authoredDate
+ authorGravatar
+ webPath
+ author {
+ ...Author
+ }
+ sha
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/app/assets/javascripts/vue_shared/components/source_viewer/source_viewer_new.vue b/app/assets/javascripts/vue_shared/components/source_viewer/source_viewer_new.vue
index c7353ed6785..53daf7339c0 100644
--- a/app/assets/javascripts/vue_shared/components/source_viewer/source_viewer_new.vue
+++ b/app/assets/javascripts/vue_shared/components/source_viewer/source_viewer_new.vue
@@ -5,6 +5,8 @@ import addBlobLinksTracking from '~/blob/blob_links_tracking';
import LineHighlighter from '~/blob/line_highlighter';
import { EVENT_ACTION, EVENT_LABEL_VIEWER } from './constants';
import Chunk from './components/chunk_new.vue';
+import Blame from './components/blame_info.vue';
+import blameDataQuery from './queries/blame_data.query.graphql';
/*
* Note, this is a new experimental version of the SourceViewer, it is not ready for production use.
@@ -15,6 +17,7 @@ export default {
name: 'SourceViewerNew',
components: {
Chunk,
+ Blame,
},
directives: {
SafeHtml,
@@ -30,10 +33,21 @@ export default {
required: false,
default: () => [],
},
+ showBlame: {
+ type: Boolean,
+ required: false,
+ default: false,
+ },
+ projectPath: {
+ type: String,
+ required: true,
+ },
},
data() {
return {
lineHighlighter: new LineHighlighter(),
+ blameData: [],
+ renderedChunks: [],
};
},
created() {
@@ -44,6 +58,27 @@ export default {
this.selectLine();
},
methods: {
+ async handleChunkAppear(chunk, chunkIndex) {
+ await this.selectLine();
+
+ if (!this.renderedChunks.includes(chunkIndex)) {
+ this.renderedChunks.push(chunkIndex);
+
+ const { data } = await this.$apollo.query({
+ query: blameDataQuery,
+ variables: {
+ fullPath: this.projectPath,
+ filePath: this.blob.path,
+ fromLine: chunk.startingFrom + 1,
+ toLine: chunk.startingFrom + chunk.totalLines,
+ },
+ });
+
+ const blob = data?.project?.repository?.blobs?.nodes[0];
+ const blameGroups = blob?.blame?.groups;
+ if (blameGroups) this.blameData.push(...blameGroups);
+ }
+ },
async selectLine() {
await this.$nextTick();
const scrollEnabled = false;
@@ -55,24 +90,28 @@ export default {
</script>
<template>
- <div
- class="file-content code js-syntax-highlight blob-content gl-display-flex gl-flex-direction-column gl-overflow-auto"
- :class="$options.userColorScheme"
- data-type="simple"
- :data-path="blob.path"
- data-qa-selector="blob_viewer_file_content"
- >
- <chunk
- v-for="(chunk, _, index) in chunks"
- :key="index"
- :chunk-index="index"
- :is-highlighted="Boolean(chunk.isHighlighted)"
- :raw-content="chunk.rawContent"
- :highlighted-content="chunk.highlightedContent"
- :total-lines="chunk.totalLines"
- :starting-from="chunk.startingFrom"
- :blame-path="blob.blamePath"
- @appear="selectLine"
- />
+ <div class="gl-display-flex">
+ <blame v-if="showBlame && blameData.length" :blame-data="blameData" />
+
+ <div
+ class="file-content code js-syntax-highlight blob-content gl-display-flex gl-flex-direction-column gl-overflow-auto gl-w-full"
+ :class="$options.userColorScheme"
+ data-type="simple"
+ :data-path="blob.path"
+ data-qa-selector="blob_viewer_file_content"
+ >
+ <chunk
+ v-for="(chunk, index) in chunks"
+ :key="index"
+ :chunk-index="index"
+ :is-highlighted="Boolean(chunk.isHighlighted)"
+ :raw-content="chunk.rawContent"
+ :highlighted-content="chunk.highlightedContent"
+ :total-lines="chunk.totalLines"
+ :starting-from="chunk.startingFrom"
+ :blame-path="blob.blamePath"
+ @appear="() => handleChunkAppear(chunk, index)"
+ />
+ </div>
</div>
</template>
diff --git a/app/assets/javascripts/vue_shared/components/source_viewer/utils.js b/app/assets/javascripts/vue_shared/components/source_viewer/utils.js
index af01653fc0d..165f06e9228 100644
--- a/app/assets/javascripts/vue_shared/components/source_viewer/utils.js
+++ b/app/assets/javascripts/vue_shared/components/source_viewer/utils.js
@@ -8,8 +8,9 @@ const findLineContentElement = (lineNumber) => document.getElementById(`LC${line
export const calculateBlameOffset = (lineNumber) => {
if (lineNumber === 1) return '0px';
- const lineContentOffset = findLineContentElement(lineNumber)?.offsetTop;
- return `${lineContentOffset}px`;
+ const blobViewerOffset = document.querySelector('.blob-viewer')?.getBoundingClientRect().top;
+ const lineContentOffset = findLineContentElement(lineNumber).getBoundingClientRect().top;
+ return `${lineContentOffset - blobViewerOffset}px`;
};
export const toggleBlameClasses = (blameData, isVisible) => {
diff --git a/app/assets/javascripts/work_items/components/work_item_links/work_item_children_wrapper.vue b/app/assets/javascripts/work_items/components/work_item_links/work_item_children_wrapper.vue
index 2b45b28bd4a..76d50bf858d 100644
--- a/app/assets/javascripts/work_items/components/work_item_links/work_item_children_wrapper.vue
+++ b/app/assets/javascripts/work_items/components/work_item_links/work_item_children_wrapper.vue
@@ -151,9 +151,6 @@ export default {
update(data) {
return data.workspace.workItems.nodes[0];
},
- context: {
- isSingleRequest: true,
- },
});
},
prefetchWorkItem({ iid }) {
diff --git a/app/assets/javascripts/work_items/components/work_item_links/work_item_links.vue b/app/assets/javascripts/work_items/components/work_item_links/work_item_links.vue
index 7fa6ac2c57f..2ec3f8355f5 100644
--- a/app/assets/javascripts/work_items/components/work_item_links/work_item_links.vue
+++ b/app/assets/javascripts/work_items/components/work_item_links/work_item_links.vue
@@ -65,9 +65,6 @@ export default {
update(data) {
return data.workspace.workItems.nodes[0] ?? {};
},
- context: {
- isSingleRequest: true,
- },
skip() {
return !this.iid;
},
diff --git a/app/assets/javascripts/work_items/components/work_item_notes.vue b/app/assets/javascripts/work_items/components/work_item_notes.vue
index ccada3465a6..6756acd4495 100644
--- a/app/assets/javascripts/work_items/components/work_item_notes.vue
+++ b/app/assets/javascripts/work_items/components/work_item_notes.vue
@@ -170,9 +170,6 @@ export default {
apollo: {
workItemNotes: {
query: workItemNotesByIidQuery,
- context: {
- isSingleRequest: true,
- },
variables() {
return {
fullPath: this.fullPath,
diff --git a/app/assets/javascripts/work_items/components/work_item_relationships/work_item_relationships.vue b/app/assets/javascripts/work_items/components/work_item_relationships/work_item_relationships.vue
index 20427fe96c4..842bdd36a58 100644
--- a/app/assets/javascripts/work_items/components/work_item_relationships/work_item_relationships.vue
+++ b/app/assets/javascripts/work_items/components/work_item_relationships/work_item_relationships.vue
@@ -60,9 +60,6 @@ export default {
update(data) {
return data.workspace.workItems.nodes[0] ?? {};
},
- context: {
- isSingleRequest: true,
- },
skip() {
return !this.workItemIid;
},
diff --git a/app/assets/stylesheets/framework/highlight.scss b/app/assets/stylesheets/framework/highlight.scss
index a63ce66e681..a93c2191016 100644
--- a/app/assets/stylesheets/framework/highlight.scss
+++ b/app/assets/stylesheets/framework/highlight.scss
@@ -33,7 +33,7 @@
padding-right: 10px;
white-space: pre;
- &:empty::before {
+ &:empty::before, span:empty::before {
content: '\200b';
}
}
diff --git a/app/assets/stylesheets/page_bundles/build.scss b/app/assets/stylesheets/page_bundles/build.scss
index 16fc0e7ebae..6165ee6e8b4 100644
--- a/app/assets/stylesheets/page_bundles/build.scss
+++ b/app/assets/stylesheets/page_bundles/build.scss
@@ -48,14 +48,6 @@
border: 1px solid var(--border-color, $border-color);
padding: 8px $gl-padding 12px;
border-radius: $border-radius-default;
-
- svg {
- position: relative;
- top: 3px;
- margin-right: 5px;
- width: 22px;
- height: 22px;
- }
}
.build-loader-animation {
diff --git a/app/controllers/admin/application_settings_controller.rb b/app/controllers/admin/application_settings_controller.rb
index f0b6d86d48d..8cf0ab60fd3 100644
--- a/app/controllers/admin/application_settings_controller.rb
+++ b/app/controllers/admin/application_settings_controller.rb
@@ -12,6 +12,7 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController
before_action :set_application_setting, except: :integrations
before_action :disable_query_limiting, only: [:usage_data]
+ before_action :prerecorded_service_ping_data, only: [:metrics_and_profiling] # rubocop:disable Rails/LexicallyScopedActionFilter
before_action do
push_frontend_feature_flag(:ci_variables_pages, current_user)
@@ -29,7 +30,7 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController
feature_category :source_code_management, [:repository, :clear_repository_check_states]
feature_category :continuous_integration, [:ci_cd, :reset_registration_token]
urgency :low, [:ci_cd, :reset_registration_token]
- feature_category :service_ping, [:usage_data, :service_usage_data]
+ feature_category :service_ping, [:usage_data]
feature_category :integrations, [:integrations, :slack_app_manifest_share, :slack_app_manifest_download]
feature_category :pages, [:lets_encrypt_terms_of_service]
feature_category :error_tracking, [:reset_error_tracking_access_token]
@@ -55,18 +56,16 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController
@integrations = Integration.find_or_initialize_all_non_project_specific(Integration.for_instance).sort_by(&:title)
end
- def service_usage_data
- @service_ping_data_present = prerecorded_service_ping_data.present?
- end
-
def update
perform_update
end
def usage_data
+ return not_found unless prerecorded_service_ping_data.present?
+
respond_to do |format|
format.html do
- usage_data_json = Gitlab::Json.pretty_generate(service_ping_data)
+ usage_data_json = Gitlab::Json.pretty_generate(prerecorded_service_ping_data)
render html: Gitlab::Highlight.highlight('payload.json', usage_data_json, language: 'json')
end
@@ -74,7 +73,7 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController
format.json do
Gitlab::UsageDataCounters::ServiceUsageDataCounter.count(:download_payload_click)
- render json: Gitlab::Json.dump(service_ping_data)
+ render json: Gitlab::Json.dump(prerecorded_service_ping_data)
end
end
end
@@ -242,12 +241,9 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController
VALID_SETTING_PANELS
end
- def service_ping_data
- prerecorded_service_ping_data || Gitlab::Usage::ServicePingReport.for(output: :all_metrics_values)
- end
-
def prerecorded_service_ping_data
- Rails.cache.fetch(Gitlab::Usage::ServicePingReport::CACHE_KEY) || ::RawUsageData.for_current_reporting_cycle.first&.payload
+ @service_ping_data ||= Rails.cache.fetch(Gitlab::Usage::ServicePingReport::CACHE_KEY) ||
+ ::RawUsageData.for_current_reporting_cycle.first&.payload
end
end
diff --git a/app/controllers/projects/blob_controller.rb b/app/controllers/projects/blob_controller.rb
index 015e56db012..71f90a43892 100644
--- a/app/controllers/projects/blob_controller.rb
+++ b/app/controllers/projects/blob_controller.rb
@@ -48,6 +48,7 @@ class Projects::BlobController < Projects::ApplicationController
urgency :low, [:create, :show, :edit, :update, :diff]
before_action do
+ push_frontend_feature_flag(:blob_blame_info, @project)
push_frontend_feature_flag(:highlight_js_worker, @project)
push_frontend_feature_flag(:explain_code_chat, current_user)
push_licensed_feature(:file_locks) if @project.licensed_feature_available?(:file_locks)
diff --git a/app/controllers/projects/tree_controller.rb b/app/controllers/projects/tree_controller.rb
index 0371fb21ac8..cfe536a9294 100644
--- a/app/controllers/projects/tree_controller.rb
+++ b/app/controllers/projects/tree_controller.rb
@@ -18,6 +18,7 @@ class Projects::TreeController < Projects::ApplicationController
before_action :authorize_edit_tree!, only: [:create_dir]
before_action do
+ push_frontend_feature_flag(:blob_blame_info, @project)
push_frontend_feature_flag(:highlight_js_worker, @project)
push_frontend_feature_flag(:explain_code_chat, current_user)
push_licensed_feature(:file_locks) if @project.licensed_feature_available?(:file_locks)
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index fa26601204a..aee48ecd007 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -37,6 +37,7 @@ class ProjectsController < Projects::ApplicationController
before_action :check_export_rate_limit!, only: [:export, :download_export, :generate_new_export]
before_action do
+ push_frontend_feature_flag(:blob_blame_info, @project)
push_frontend_feature_flag(:highlight_js_worker, @project)
push_frontend_feature_flag(:remove_monitor_metrics, @project)
push_frontend_feature_flag(:explain_code_chat, current_user)
diff --git a/app/graphql/types/analytics/cycle_analytics/value_stream_type.rb b/app/graphql/types/analytics/cycle_analytics/value_stream_type.rb
index cbfd61a76a3..16ce9b82718 100644
--- a/app/graphql/types/analytics/cycle_analytics/value_stream_type.rb
+++ b/app/graphql/types/analytics/cycle_analytics/value_stream_type.rb
@@ -8,6 +8,11 @@ module Types
authorize :read_cycle_analytics
+ field :id,
+ type: ::Types::GlobalIDType[::Analytics::CycleAnalytics::ValueStream],
+ null: false,
+ description: "ID of the value stream."
+
field :name,
GraphQL::Types::String,
null: false,
diff --git a/app/graphql/types/project_type.rb b/app/graphql/types/project_type.rb
index 95caefc3825..ec87f133843 100644
--- a/app/graphql/types/project_type.rb
+++ b/app/graphql/types/project_type.rb
@@ -641,6 +641,12 @@ module Types
resolver: Resolvers::AutocompleteUsersResolver,
description: 'Search users for autocompletion'
+ field :detailed_import_status,
+ ::Types::Projects::DetailedImportStatusType,
+ null: true,
+ description: 'Detailed import status of the project.',
+ method: :import_state
+
def timelog_categories
object.project_namespace.timelog_categories if Feature.enabled?(:timelog_categories)
end
diff --git a/app/graphql/types/projects/detailed_import_status_type.rb b/app/graphql/types/projects/detailed_import_status_type.rb
new file mode 100644
index 00000000000..9cba176e097
--- /dev/null
+++ b/app/graphql/types/projects/detailed_import_status_type.rb
@@ -0,0 +1,39 @@
+# frozen_string_literal: true
+
+module Types
+ module Projects
+ class DetailedImportStatusType < BaseObject
+ graphql_name 'DetailedImportStatus'
+ description 'Details of the import status of a project.'
+
+ authorize :read_project
+
+ field :id, ::Types::GlobalIDType[::ProjectImportState],
+ description: 'ID of the import state.'
+
+ field :status, GraphQL::Types::String,
+ description: 'Current status of the import.'
+
+ field :url, GraphQL::Types::String,
+ description: 'Import url.'
+
+ field :last_error, GraphQL::Types::String,
+ description: 'Last error of the import.',
+ null: true,
+ authorize: :read_import_error
+
+ field :last_update_at, Types::TimeType,
+ description: 'Time of the last update.'
+
+ field :last_update_started_at, Types::TimeType,
+ description: 'Time of the start of the last update.'
+
+ field :last_successful_update_at, Types::TimeType,
+ description: 'Time of the last successful update.'
+
+ def url
+ object.project.safe_import_url
+ end
+ end
+ end
+end
diff --git a/app/policies/project_import_state_policy.rb b/app/policies/project_import_state_policy.rb
new file mode 100644
index 00000000000..c2cd03337b7
--- /dev/null
+++ b/app/policies/project_import_state_policy.rb
@@ -0,0 +1,5 @@
+# frozen_string_literal: true
+
+class ProjectImportStatePolicy < ::BasePolicy # rubocop:disable Gitlab/NamespacedClass -- required by DeclarativePolicy lookup logic
+ delegate { @subject.project }
+end
diff --git a/app/presenters/project_presenter.rb b/app/presenters/project_presenter.rb
index 4533ef3633d..3e81418c757 100644
--- a/app/presenters/project_presenter.rb
+++ b/app/presenters/project_presenter.rb
@@ -11,6 +11,7 @@ class ProjectPresenter < Gitlab::View::Presenter::Delegated
include ChecksCollaboration
include Gitlab::Utils::StrongMemoize
include Gitlab::Experiment::Dsl
+ include SafeFormatHelper
delegator_override_with GitlabRoutingHelper # TODO: Remove `GitlabRoutingHelper` inclusion as it's duplicate
delegator_override_with Gitlab::Utils::StrongMemoize # This module inclusion is expected. See https://gitlab.com/gitlab-org/gitlab/-/issues/352884.
@@ -163,14 +164,10 @@ class ProjectPresenter < Gitlab::View::Presenter::Delegated
def storage_anchor_data
can_show_quota = can?(current_user, :admin_project, project) && !empty_repo?
+
AnchorData.new(
true,
- statistic_icon('disk') +
- _('%{strong_start}%{human_size}%{strong_end} Project Storage').html_safe % {
- human_size: storage_counter(statistics.storage_size),
- strong_start: '<strong class="project-stat-value">'.html_safe,
- strong_end: '</strong>'.html_safe
- },
+ statistic_icon('disk') + storage_anchor_text,
can_show_quota ? project_usage_quotas_path(project) : nil
)
end
@@ -528,6 +525,16 @@ class ProjectPresenter < Gitlab::View::Presenter::Delegated
def project_create_wiki_path
"#{wiki_path(project.wiki)}?view=create"
end
+
+ def storage_anchor_text
+ safe_format(
+ _('%{strong_start}%{human_size}%{strong_end} Project Storage'), {
+ human_size: storage_counter(statistics.storage_size),
+ strong_start: '<strong class="project-stat-value">'.html_safe,
+ strong_end: '</strong>'.html_safe
+ }
+ )
+ end
end
ProjectPresenter.prepend_mod_with('ProjectPresenter')
diff --git a/app/services/bulk_imports/process_service.rb b/app/services/bulk_imports/process_service.rb
index 14c5545cfd5..40882ba13a1 100644
--- a/app/services/bulk_imports/process_service.rb
+++ b/app/services/bulk_imports/process_service.rb
@@ -114,7 +114,7 @@ module BulkImports
bulk_import_id: entity.bulk_import_id,
bulk_import_entity_type: entity.source_type,
source_full_path: entity.source_full_path,
- pipeline_name: pipeline[:pipeline],
+ pipeline_class: pipeline[:pipeline],
minimum_source_version: minimum_version,
maximum_source_version: maximum_version,
source_version: entity.source_version.to_s,
diff --git a/app/services/bulk_imports/relation_batch_export_service.rb b/app/services/bulk_imports/relation_batch_export_service.rb
index c7164d7c304..20795de54f9 100644
--- a/app/services/bulk_imports/relation_batch_export_service.rb
+++ b/app/services/bulk_imports/relation_batch_export_service.rb
@@ -4,9 +4,9 @@ module BulkImports
class RelationBatchExportService
include Gitlab::ImportExport::CommandLineUtil
- def initialize(user_id, batch_id)
- @user = User.find(user_id)
- @batch = BulkImports::ExportBatch.find(batch_id)
+ def initialize(user, batch)
+ @user = user
+ @batch = batch
@config = FileTransfer.config_for(portable)
end
diff --git a/app/services/ci/cancel_pipeline_service.rb b/app/services/ci/cancel_pipeline_service.rb
index b5c8c00273e..0fd63768400 100644
--- a/app/services/ci/cancel_pipeline_service.rb
+++ b/app/services/ci/cancel_pipeline_service.rb
@@ -8,18 +8,18 @@ module Ci
##
# @cascade_to_children - if true cancels all related child pipelines for parent child pipelines
- # @auto_canceled_by_pipeline_id - store the pipeline_id of the pipeline that triggered cancellation
+ # @auto_canceled_by_pipeline - store the pipeline_id of the pipeline that triggered cancellation
# @execute_async - if true cancel the children asyncronously
def initialize(
pipeline:,
current_user:,
cascade_to_children: true,
- auto_canceled_by_pipeline_id: nil,
+ auto_canceled_by_pipeline: nil,
execute_async: true)
@pipeline = pipeline
@current_user = current_user
@cascade_to_children = cascade_to_children
- @auto_canceled_by_pipeline_id = auto_canceled_by_pipeline_id
+ @auto_canceled_by_pipeline = auto_canceled_by_pipeline
@execute_async = execute_async
end
@@ -45,7 +45,7 @@ module Ci
log_pipeline_being_canceled
- pipeline.update_column(:auto_canceled_by_id, @auto_canceled_by_pipeline_id) if @auto_canceled_by_pipeline_id
+ pipeline.update_column(:auto_canceled_by_id, @auto_canceled_by_pipeline.id) if @auto_canceled_by_pipeline
cancel_jobs(pipeline.cancelable_statuses)
return ServiceResponse.success unless cascade_to_children?
@@ -65,7 +65,7 @@ module Ci
Gitlab::AppJsonLogger.info(
event: 'pipeline_cancel_running',
pipeline_id: pipeline.id,
- auto_canceled_by_pipeline_id: @auto_canceled_by_pipeline_id,
+ auto_canceled_by_pipeline_id: @auto_canceled_by_pipeline&.id,
cascade_to_children: cascade_to_children?,
execute_async: execute_async?,
**Gitlab::ApplicationContext.current
@@ -89,21 +89,27 @@ module Ci
relation = CommitStatus.id_in(batch)
Preloaders::CommitStatusPreloader.new(relation).execute(preloaded_relations)
- relation.each do |job|
- job.auto_canceled_by_id = @auto_canceled_by_pipeline_id if @auto_canceled_by_pipeline_id
- job.cancel
- end
+ relation.each { |job| cancel_job(job) }
end
end
end
+ def cancel_job(job)
+ if @auto_canceled_by_pipeline
+ job.auto_canceled_by_id = @auto_canceled_by_pipeline.id
+ job.auto_canceled_by_partition_id = @auto_canceled_by_pipeline.partition_id
+ end
+
+ job.cancel
+ end
+
# For parent child-pipelines only (not multi-project)
def cancel_children
pipeline.all_child_pipelines.each do |child_pipeline|
if execute_async?
::Ci::CancelPipelineWorker.perform_async(
child_pipeline.id,
- @auto_canceled_by_pipeline_id
+ @auto_canceled_by_pipeline&.id
)
else
# cascade_to_children is false because we iterate through children
@@ -113,7 +119,7 @@ module Ci
current_user: nil,
cascade_to_children: false,
execute_async: execute_async?,
- auto_canceled_by_pipeline_id: @auto_canceled_by_pipeline_id
+ auto_canceled_by_pipeline: @auto_canceled_by_pipeline
).force_execute
end
end
diff --git a/app/services/ci/pipeline_creation/cancel_redundant_pipelines_service.rb b/app/services/ci/pipeline_creation/cancel_redundant_pipelines_service.rb
index c18984953a1..224b2d96205 100644
--- a/app/services/ci/pipeline_creation/cancel_redundant_pipelines_service.rb
+++ b/app/services/ci/pipeline_creation/cancel_redundant_pipelines_service.rb
@@ -88,7 +88,7 @@ module Ci
::Ci::CancelPipelineService.new(
pipeline: cancelable_pipeline,
current_user: nil,
- auto_canceled_by_pipeline_id: pipeline.id,
+ auto_canceled_by_pipeline: pipeline,
cascade_to_children: false
).force_execute
end
diff --git a/app/views/admin/application_settings/_usage.html.haml b/app/views/admin/application_settings/_usage.html.haml
index 2d51dc2a6f2..7f90db73468 100644
--- a/app/views/admin/application_settings/_usage.html.haml
+++ b/app/views/admin/application_settings/_usage.html.haml
@@ -20,11 +20,23 @@
help_text: can_be_configured ? usage_ping_help_text : disabled_help_text,
checkbox_options: { disabled: !can_be_configured, data: { testid: 'enable-usage-data-checkbox' } }
.form-text.gl-pl-6
- - if can_be_configured
- = render Pajamas::ButtonComponent.new(button_options: { class: 'js-payload-preview-trigger', data: { payload_selector: ".#{payload_class}" } }) do
- = gl_loading_icon(css_class: 'js-spinner gl-display-none gl-mr-2')
- .js-text.gl-display-inline= s_('AdminSettings|Preview payload')
- %pre.service-data-payload-container.js-syntax-highlight.code.highlight.gl-mt-2.gl-display-none{ class: payload_class, data: { endpoint: usage_data_admin_application_settings_path(format: :html) } }
+ - if @service_ping_data.present?
+ = render Pajamas::ButtonComponent.new(button_options: { class: 'js-payload-preview-trigger gl-mr-2', data: { payload_selector: ".#{payload_class}" } }) do
+ = gl_loading_icon(css_class: 'js-spinner gl-display-none', inline: true)
+ %span.js-text.gl-display-inline= s_('AdminSettings|Preview payload')
+ = render Pajamas::ButtonComponent.new(button_options: { class: 'js-payload-download-trigger gl-mr-2', data: { endpoint: usage_data_admin_application_settings_path(format: :json) } }) do
+ = gl_loading_icon(css_class: 'js-spinner gl-display-none', inline: true)
+ %span.js-text.gl-display-inline= s_('AdminSettings|Download payload')
+ %pre.js-syntax-highlight.code.highlight.gl-mt-2.gl-display-none{ class: payload_class, data: { endpoint: usage_data_admin_application_settings_path(format: :html) } }
+ - else
+ = render Pajamas::AlertComponent.new(variant: :warning,
+ dismissible: false,
+ title: s_('AdminSettings|Service Ping payload not found in the application cache')) do |c|
+
+ - c.with_body do
+ - generate_manually_link = link_to('', help_page_path('development/internal_analytics/service_ping/troubleshooting', anchor: 'generate-service-ping'), target: '_blank', rel: 'noopener noreferrer')
+ = safe_format(s_('AdminSettings|%{generate_manually_link_start}Generate%{generate_manually_link_end} Service Ping to preview and download service usage data payload.'), tag_pair(generate_manually_link, :generate_manually_link_start, :generate_manually_link_end))
+
.form-group
- usage_ping_enabled = @application_setting.usage_ping_enabled?
- label = s_('AdminSettings|Enable Registration Features')
diff --git a/app/views/admin/application_settings/service_usage_data.html.haml b/app/views/admin/application_settings/service_usage_data.html.haml
deleted file mode 100644
index 9f73099465c..00000000000
--- a/app/views/admin/application_settings/service_usage_data.html.haml
+++ /dev/null
@@ -1,29 +0,0 @@
-- name = _("Service usage data")
-
-- breadcrumb_title name
-- page_title name
-- add_page_specific_style 'page_bundles/settings'
-- payload_class = 'js-service-ping-payload'
-- @force_desktop_expanded_sidebar = true
-
-%section.js-search-settings-section
- %h3= name
-
- - if @service_ping_data_present
- = render Pajamas::ButtonComponent.new(button_options: { class: 'js-payload-preview-trigger gl-mr-2', data: { payload_selector: ".#{payload_class}" } }) do
- = gl_loading_icon(css_class: 'js-spinner gl-display-none', inline: true)
- %span.js-text.gl-display-inline= _('Preview payload')
- = render Pajamas::ButtonComponent.new(button_options: { class: 'js-payload-download-trigger gl-mr-2', data: { endpoint: usage_data_admin_application_settings_path(format: :json) } }) do
- = gl_loading_icon(css_class: 'js-spinner gl-display-none', inline: true)
- %span.js-text.gl-display-inline= _('Download payload')
- %pre.js-syntax-highlight.code.highlight.gl-mt-2.gl-display-none{ class: payload_class, data: { endpoint: usage_data_admin_application_settings_path(format: :html) } }
- - else
- = render Pajamas::AlertComponent.new(variant: :warning,
- dismissible: false,
- title: _('Service Ping payload not found in the application cache')) do |c|
-
- - c.with_body do
- - enable_service_ping_link = link_to('', help_page_path('administration/settings/usage_statistics', anchor: 'enable-or-disable-usage-statistics'), target: '_blank', rel: 'noopener noreferrer')
- - generate_manually_link = link_to('', help_page_path('development/internal_analytics/service_ping/troubleshooting', anchor: 'generate-service-ping'), target: '_blank', rel: 'noopener noreferrer')
-
- = safe_format(s_('%{enable_service_ping_link_start}Enable%{enable_service_ping_link_end} or %{generate_manually_link_start}generate%{generate_manually_link_end} Service Ping to preview and download service usage data payload.'), tag_pair(enable_service_ping_link, :enable_service_ping_link_start, :enable_service_ping_link_end), tag_pair(generate_manually_link, :generate_manually_link_start, :generate_manually_link_end))
diff --git a/app/views/groups/_import_group_from_another_instance_panel.html.haml b/app/views/groups/_import_group_from_another_instance_panel.html.haml
index c35bbce6ba7..38dc850553b 100644
--- a/app/views/groups/_import_group_from_another_instance_panel.html.haml
+++ b/app/views/groups/_import_group_from_another_instance_panel.html.haml
@@ -37,12 +37,12 @@
id: 'import_gitlab_url',
data: { testid: 'import-gitlab-url' }
.form-group.gl-display-flex.gl-flex-direction-column
- = f.label :bulk_import_gitlab_access_token, s_('GroupsNew|Personal access token'), for: 'import_gitlab_token'
+ = f.label :bulk_import_gitlab_access_token, s_('GroupsNew|Personal access token'), for: 'import_gitlab_token', class: 'col-form-label'
.gl-font-weight-normal
- pat_link = link_to('', help_page_path('user/profile/personal_access_tokens'), target: '_blank')
- short_living_link = link_to('', help_page_path('security/token_overview', anchor: 'security-considerations'), target: '_blank')
= safe_format(s_('GroupsNew|Create a token with %{code_start}api%{code_end} and %{code_start}read_repository%{code_end} scopes in the %{pat_link_start}user settings%{pat_link_end} of the source GitLab instance. For %{short_living_link_start}security reasons%{short_living_link_end}, set a short expiration date for the token. Keep in mind that large migrations take more time.'), tag_pair('<code></code>'.html_safe, :code_start , :code_end), tag_pair(pat_link, :pat_link_start, :pat_link_end), tag_pair(short_living_link, :short_living_link_start, :short_living_link_end))
- = f.text_field :bulk_import_gitlab_access_token, placeholder: s_('GroupsNew|e.g. h8d3f016698e...'), class: 'gl-form-input gl-mt-3 col-xs-12 col-sm-8',
+ = f.password_field :bulk_import_gitlab_access_token, placeholder: s_('GroupsNew|e.g. h8d3f016698e...'), class: 'gl-form-input gl-mt-3 col-xs-12 col-sm-8',
required: true,
disabled: bulk_imports_disabled,
autocomplete: 'off',
diff --git a/app/views/import/gitea/new.html.haml b/app/views/import/gitea/new.html.haml
index f76e9f3f6ed..f25ee8dedfb 100644
--- a/app/views/import/gitea/new.html.haml
+++ b/app/views/import/gitea/new.html.haml
@@ -17,9 +17,9 @@
.col-sm-4
= text_field_tag :gitea_host_url, nil, placeholder: 'https://gitea.com', class: 'form-control gl-form-input'
.form-group.row
- = label_tag :personal_access_token, _('Personal access token'), class: 'col-form-label col-sm-2'
+ = label_tag :personal_access_token, _('Personal access token'), for: :personal_access_token, class: 'col-form-label col-sm-2'
.col-sm-4
- = text_field_tag :personal_access_token, nil, class: 'form-control gl-form-input'
+ = password_field_tag :personal_access_token, nil, class: 'form-control gl-form-input'
.form-actions
= render Pajamas::ButtonComponent.new(type: :submit, variant: :confirm) do
= _('List your Gitea repositories')
diff --git a/app/views/import/github/new.html.haml b/app/views/import/github/new.html.haml
index 5293013b813..6d0205957ec 100644
--- a/app/views/import/github/new.html.haml
+++ b/app/views/import/github/new.html.haml
@@ -23,9 +23,9 @@
= form_tag personal_access_token_import_github_path, method: :post do
.form-group
- %label.label-bold= _('Personal Access Token')
+ %label.col-form-label{ for: 'personal_access_token' }= _('Personal Access Token')
= hidden_field_tag(:namespace_id, params[:namespace_id])
- = text_field_tag :personal_access_token, '', class: 'form-control gl-form-input', placeholder: _('e.g. %{token}') % { token: '8d3f016698e...' }, data: { qa_selector: 'personal_access_token_field' }
+ = password_field_tag :personal_access_token, '', class: 'form-control gl-form-input', placeholder: _('e.g. %{token}') % { token: '8d3f016698e...' }, data: { testid: 'personal_access_token_field' }
%span.form-text.gl-text-gray-600
= import_github_personal_access_token_message
@@ -34,7 +34,5 @@
.form-actions.gl-display-flex.gl-justify-content-end
= render Pajamas::ButtonComponent.new(href: new_project_path) do
= _('Cancel')
- = render Pajamas::ButtonComponent.new(variant: :confirm,
- type: :submit,
- button_options: { class: 'gl-ml-3', data: { qa_selector: 'authenticate_button' } }) do
+ = render Pajamas::ButtonComponent.new(variant: :confirm, type: :submit, button_options: { class: 'gl-ml-3', data: { testid: 'authenticate_button' } }) do
= _('Authenticate')
diff --git a/app/views/shared/integrations/slack_slash_commands/_help.html.haml b/app/views/shared/integrations/slack_slash_commands/_help.html.haml
index fd30c5b0da3..d3c74a80a1a 100644
--- a/app/views/shared/integrations/slack_slash_commands/_help.html.haml
+++ b/app/views/shared/integrations/slack_slash_commands/_help.html.haml
@@ -40,7 +40,7 @@
.col-12.input-group
= text_field_tag :url, integration_trigger_url(integration), class: 'form-control form-control-sm', readonly: 'readonly'
.input-group-append
- = clipboard_button(target: '#url', category: :primary, size: :medium)
+ = clipboard_button(target: '#url', category: :primary, size: :medium, title: _('Copy URL'))
.form-group
= label_tag nil, _('Method'), class: 'col-12 col-form-label label-bold'
@@ -51,7 +51,7 @@
.col-12.input-group
= text_field_tag :customize_name, 'GitLab', class: 'form-control form-control-sm', readonly: 'readonly'
.input-group-append
- = clipboard_button(target: '#customize_name', category: :primary, size: :medium)
+ = clipboard_button(target: '#customize_name', category: :primary, size: :medium, title: _('Copy customize name'))
.form-group
= label_tag nil, _('Customize icon'), class: 'col-12 col-form-label label-bold'
@@ -68,21 +68,21 @@
.col-12.input-group
= text_field_tag :autocomplete_description, run_actions_text.html_safe, class: 'form-control form-control-sm', readonly: 'readonly'
.input-group-append
- = clipboard_button(target: '#autocomplete_description', category: :primary, size: :medium)
+ = clipboard_button(target: '#autocomplete_description', category: :primary, size: :medium, title: _('Copy autocomplete description'))
.form-group
= label_tag :autocomplete_usage_hint, _('Autocomplete usage hint'), class: 'col-12 col-form-label label-bold'
.col-12.input-group
= text_field_tag :autocomplete_usage_hint, '[help]', class: 'form-control form-control-sm', readonly: 'readonly'
.input-group-append
- = clipboard_button(target: '#autocomplete_usage_hint', category: :primary, size: :medium)
+ = clipboard_button(target: '#autocomplete_usage_hint', category: :primary, size: :medium, title: _('Copy autocomplete usage hint'))
.form-group
= label_tag :descriptive_label, _('Descriptive label'), class: 'col-12 col-form-label label-bold'
.col-12.input-group
= text_field_tag :descriptive_label, _('Perform common operations on GitLab project'), class: 'form-control form-control-sm', readonly: 'readonly'
.input-group-append
- = clipboard_button(target: '#descriptive_label', category: :primary, size: :medium)
+ = clipboard_button(target: '#descriptive_label', category: :primary, size: :medium, title: _('Copy descriptive label'))
%hr
diff --git a/app/workers/bulk_imports/pipeline_batch_worker.rb b/app/workers/bulk_imports/pipeline_batch_worker.rb
index 6230d517641..1f66d3ec7fa 100644
--- a/app/workers/bulk_imports/pipeline_batch_worker.rb
+++ b/app/workers/bulk_imports/pipeline_batch_worker.rb
@@ -16,6 +16,8 @@ module BulkImports
@tracker = @batch.tracker
@pending_retry = false
+ log_extra_metadata_on_done(:pipeline_class, @tracker.pipeline_name)
+
try_obtain_lease { run }
ensure
::BulkImports::FinishBatchedPipelineWorker.perform_async(tracker.id) unless pending_retry
@@ -78,6 +80,8 @@ module BulkImports
end
def re_enqueue(delay = FILE_EXTRACTION_PIPELINE_PERFORM_DELAY)
+ log_extra_metadata_on_done(:re_enqueue, true)
+
self.class.perform_in(delay, batch.id)
end
end
diff --git a/app/workers/bulk_imports/pipeline_worker.rb b/app/workers/bulk_imports/pipeline_worker.rb
index 2f57c4579cc..567a27b991d 100644
--- a/app/workers/bulk_imports/pipeline_worker.rb
+++ b/app/workers/bulk_imports/pipeline_worker.rb
@@ -21,6 +21,8 @@ module BulkImports
@entity = ::BulkImports::Entity.find(entity_id)
@pipeline_tracker = ::BulkImports::Tracker.find(pipeline_tracker_id)
+ log_extra_metadata_on_done(:pipeline_class, @pipeline_tracker.pipeline_name)
+
try_obtain_lease do
if pipeline_tracker.enqueued?
logger.info(log_attributes(message: 'Pipeline starting'))
@@ -49,12 +51,16 @@ module BulkImports
return re_enqueue if export_empty? || export_started?
if file_extraction_pipeline? && export_status.batched?
+ log_extra_metadata_on_done(:batched, true)
+
pipeline_tracker.update!(status_event: 'start', jid: jid, batched: true)
return pipeline_tracker.finish! if export_status.batches_count < 1
enqueue_batches
else
+ log_extra_metadata_on_done(:batched, false)
+
pipeline_tracker.update!(status_event: 'start', jid: jid)
pipeline_tracker.pipeline_class.new(context).run
pipeline_tracker.finish!
@@ -91,6 +97,8 @@ module BulkImports
end
def re_enqueue(delay = FILE_EXTRACTION_PIPELINE_PERFORM_DELAY)
+ log_extra_metadata_on_done(:re_enqueue, true)
+
self.class.perform_in(
delay,
pipeline_tracker.id,
@@ -155,7 +163,7 @@ module BulkImports
bulk_import_entity_type: entity.source_type,
source_full_path: entity.source_full_path,
pipeline_tracker_id: pipeline_tracker.id,
- pipeline_name: pipeline_tracker.pipeline_name,
+ pipeline_class: pipeline_tracker.pipeline_name,
pipeline_tracker_state: pipeline_tracker.human_status_name,
source_version: source_version,
importer: 'gitlab_migration'
diff --git a/app/workers/bulk_imports/relation_batch_export_worker.rb b/app/workers/bulk_imports/relation_batch_export_worker.rb
index 4ce36929e15..b3acf3ee01b 100644
--- a/app/workers/bulk_imports/relation_batch_export_worker.rb
+++ b/app/workers/bulk_imports/relation_batch_export_worker.rb
@@ -10,7 +10,13 @@ module BulkImports
sidekiq_options status_expiration: StuckExportJobsWorker::EXPORT_JOBS_EXPIRATION
def perform(user_id, batch_id)
- RelationBatchExportService.new(user_id, batch_id).execute
+ @user = User.find(user_id)
+ @batch = BulkImports::ExportBatch.find(batch_id)
+
+ log_extra_metadata_on_done(:relation, @batch.export.relation)
+ log_extra_metadata_on_done(:objects_count, @batch.objects_count)
+
+ RelationBatchExportService.new(@user, @batch).execute
end
end
end
diff --git a/app/workers/bulk_imports/relation_export_worker.rb b/app/workers/bulk_imports/relation_export_worker.rb
index 531edc6c7a7..09600b9363a 100644
--- a/app/workers/bulk_imports/relation_export_worker.rb
+++ b/app/workers/bulk_imports/relation_export_worker.rb
@@ -17,10 +17,13 @@ module BulkImports
user = User.find(user_id)
portable = portable(portable_id, portable_class)
config = BulkImports::FileTransfer.config_for(portable)
+ log_extra_metadata_on_done(:relation, relation)
if Gitlab::Utils.to_boolean(batched) && config.batchable_relation?(relation)
+ log_extra_metadata_on_done(:batched, true)
BatchedRelationExportService.new(user, portable, relation, jid).execute
else
+ log_extra_metadata_on_done(:batched, false)
RelationExportService.new(user, portable, relation, jid).execute
end
end
diff --git a/app/workers/ci/cancel_pipeline_worker.rb b/app/workers/ci/cancel_pipeline_worker.rb
index 0b2c96e7ace..f099e185629 100644
--- a/app/workers/ci/cancel_pipeline_worker.rb
+++ b/app/workers/ci/cancel_pipeline_worker.rb
@@ -20,7 +20,7 @@ module Ci
pipeline: pipeline,
current_user: nil,
cascade_to_children: false,
- auto_canceled_by_pipeline_id: auto_canceled_by_pipeline_id
+ auto_canceled_by_pipeline: ::Ci::Pipeline.find_by_id(auto_canceled_by_pipeline_id)
).force_execute
end
end
diff --git a/config/feature_flags/development/auto_devops_banner_disabled.yml b/config/feature_flags/development/auto_devops_banner_disabled.yml
index 5e0c037bf23..e2087ad574c 100644
--- a/config/feature_flags/development/auto_devops_banner_disabled.yml
+++ b/config/feature_flags/development/auto_devops_banner_disabled.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/350882
milestone: '10.0'
type: development
-group: group::pipeline execution
+group: group::environments
default_enabled: false
diff --git a/config/feature_flags/development/blob_blame_info.yml b/config/feature_flags/development/blob_blame_info.yml
new file mode 100644
index 00000000000..106ceb60cfe
--- /dev/null
+++ b/config/feature_flags/development/blob_blame_info.yml
@@ -0,0 +1,8 @@
+---
+name: blob_blame_info
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/133798
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/425272
+milestone: '16.5'
+type: development
+group: group::source code
+default_enabled: false
diff --git a/config/feature_flags/development/ci_job_artifacts_backlog_large_loop_limit.yml b/config/feature_flags/development/ci_job_artifacts_backlog_large_loop_limit.yml
index 1415d9e0db7..395580a4d80 100644
--- a/config/feature_flags/development/ci_job_artifacts_backlog_large_loop_limit.yml
+++ b/config/feature_flags/development/ci_job_artifacts_backlog_large_loop_limit.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76509
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/347151
milestone: '14.10'
type: development
-group: group::pipeline execution
+group: group::pipeline security
default_enabled: false
diff --git a/config/feature_flags/development/disable_unsafe_regexp.yml b/config/feature_flags/development/disable_unsafe_regexp.yml
index 196b647082e..cb00645444f 100644
--- a/config/feature_flags/development/disable_unsafe_regexp.yml
+++ b/config/feature_flags/development/disable_unsafe_regexp.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/79611
rollout_issue_url:
milestone: '14.9'
type: development
-group: group::pipeline execution
+group: group::pipeline authoring
default_enabled: false
diff --git a/config/feature_flags/development/display_cost_factored_storage_size_on_project_pages.yml b/config/feature_flags/development/display_cost_factored_storage_size_on_project_pages.yml
new file mode 100644
index 00000000000..9f47e4bf157
--- /dev/null
+++ b/config/feature_flags/development/display_cost_factored_storage_size_on_project_pages.yml
@@ -0,0 +1,8 @@
+---
+name: display_cost_factored_storage_size_on_project_pages
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/130862
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/428743
+milestone: '16.6'
+type: development
+group: group::utilization
+default_enabled: false
diff --git a/config/feature_flags/development/observability_metrics.yml b/config/feature_flags/development/observability_metrics.yml
new file mode 100644
index 00000000000..c8bb1d3c2e2
--- /dev/null
+++ b/config/feature_flags/development/observability_metrics.yml
@@ -0,0 +1,8 @@
+---
+name: observability_metrics
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/134393
+rollout_issue_url: https://gitlab.com/gitlab-org/opstrace/opstrace/-/issues/2444
+milestone: '16.6'
+type: development
+group: group::observability
+default_enabled: false
diff --git a/config/feature_flags/development/order_builds_for_group_runner.yml b/config/feature_flags/development/order_builds_for_group_runner.yml
index 50f9a301ad6..3ca461e8033 100644
--- a/config/feature_flags/development/order_builds_for_group_runner.yml
+++ b/config/feature_flags/development/order_builds_for_group_runner.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/94815
rollout_issue_url:
milestone: '15.4'
type: development
-group: group::pipeline execution
+group: group::runner
default_enabled: true
diff --git a/config/feature_flags/development/project_overwrite_service_tracking.yml b/config/feature_flags/development/project_overwrite_service_tracking.yml
index 1a0c4fed4cd..c2e2349e066 100644
--- a/config/feature_flags/development/project_overwrite_service_tracking.yml
+++ b/config/feature_flags/development/project_overwrite_service_tracking.yml
@@ -4,5 +4,5 @@ introduced_by_url:
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/350889
milestone: '14.1'
type: development
-group: group::pipeline execution
+group: group::import and integrate
default_enabled: false
diff --git a/config/feature_flags/development/set_feature_flag_service.yml b/config/feature_flags/development/set_feature_flag_service.yml
index f25076177d6..4b49af02dfd 100644
--- a/config/feature_flags/development/set_feature_flag_service.yml
+++ b/config/feature_flags/development/set_feature_flag_service.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87028
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/373176
milestone: '15.4'
type: development
-group: group::pipeline execution
+group: group::import and integrate
default_enabled: false
diff --git a/config/routes/admin.rb b/config/routes/admin.rb
index e8ad19624e9..bb59435729e 100644
--- a/config/routes/admin.rb
+++ b/config/routes/admin.rb
@@ -163,7 +163,6 @@ namespace :admin do
get :lets_encrypt_terms_of_service
get :slack_app_manifest_download, format: :json
get :slack_app_manifest_share
- get :service_usage_data
resource :appearances, only: [:show, :create, :update], path: 'appearance', module: 'application_settings' do
member do
diff --git a/db/migrate/20231017114131_add_auto_canceled_by_partition_id_to_p_ci_builds.rb b/db/migrate/20231017114131_add_auto_canceled_by_partition_id_to_p_ci_builds.rb
index ecc606ca1a8..afd3b60a244 100644
--- a/db/migrate/20231017114131_add_auto_canceled_by_partition_id_to_p_ci_builds.rb
+++ b/db/migrate/20231017114131_add_auto_canceled_by_partition_id_to_p_ci_builds.rb
@@ -1,13 +1,13 @@
# frozen_string_literal: true
class AddAutoCanceledByPartitionIdToPCiBuilds < Gitlab::Database::Migration[2.1]
- include Gitlab::Database::MigrationHelpers::WraparoundAutovacuum
-
- enable_lock_retries!
-
- def change
- return unless can_execute_on?(:ci_builds)
+ def up
+ # no-op
+ # moved to db/migrate/20231020074227_add_auto_canceled_by_partition_id_to_p_ci_builds_self_managed.rb
+ end
- add_column :p_ci_builds, :auto_canceled_by_partition_id, :bigint, default: 100, null: false, if_not_exists: true
+ def down
+ # no-op
+ # moved to db/migrate/20231020074227_add_auto_canceled_by_partition_id_to_p_ci_builds_self_managed.rb
end
end
diff --git a/db/migrate/20231020074227_add_auto_canceled_by_partition_id_to_p_ci_builds_self_managed.rb b/db/migrate/20231020074227_add_auto_canceled_by_partition_id_to_p_ci_builds_self_managed.rb
new file mode 100644
index 00000000000..5aa5d6c42ae
--- /dev/null
+++ b/db/migrate/20231020074227_add_auto_canceled_by_partition_id_to_p_ci_builds_self_managed.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class AddAutoCanceledByPartitionIdToPCiBuildsSelfManaged < Gitlab::Database::Migration[2.1]
+ enable_lock_retries!
+
+ def up
+ add_column :p_ci_builds, :auto_canceled_by_partition_id, :bigint, default: 100, null: false, if_not_exists: true
+ end
+
+ def down
+ remove_column :p_ci_builds, :auto_canceled_by_partition_id, if_exists: true
+ end
+end
diff --git a/db/post_migrate/20231020150211_delete_duplicated_index_scan_result_policies_on_policy_configuration_id.rb b/db/post_migrate/20231020150211_delete_duplicated_index_scan_result_policies_on_policy_configuration_id.rb
new file mode 100644
index 00000000000..8df7a7d5194
--- /dev/null
+++ b/db/post_migrate/20231020150211_delete_duplicated_index_scan_result_policies_on_policy_configuration_id.rb
@@ -0,0 +1,16 @@
+# frozen_string_literal: true
+
+class DeleteDuplicatedIndexScanResultPoliciesOnPolicyConfigurationId < Gitlab::Database::Migration[2.1]
+ disable_ddl_transaction!
+
+ INDEX_NAME = 'index_scan_result_policies_on_policy_configuration_id'
+ COLUMNS = %i[security_orchestration_policy_configuration_id]
+
+ def up
+ remove_concurrent_index_by_name :scan_result_policies, INDEX_NAME
+ end
+
+ def down
+ add_concurrent_index :scan_result_policies, COLUMNS, name: INDEX_NAME
+ end
+end
diff --git a/db/schema_migrations/20231020074227 b/db/schema_migrations/20231020074227
new file mode 100644
index 00000000000..48185f79937
--- /dev/null
+++ b/db/schema_migrations/20231020074227
@@ -0,0 +1 @@
+0dcf5a04af59563c58a658cb3c99619d2b671f3e78960859f3ed6053a9e96994 \ No newline at end of file
diff --git a/db/schema_migrations/20231020150211 b/db/schema_migrations/20231020150211
new file mode 100644
index 00000000000..47a22d6c9f9
--- /dev/null
+++ b/db/schema_migrations/20231020150211
@@ -0,0 +1 @@
+0ef5c4756854bead328fe61e51a78a86076870844edb7a8dba0941788736a12f \ No newline at end of file
diff --git a/db/structure.sql b/db/structure.sql
index 458de410588..dfddf1dda09 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -34085,8 +34085,6 @@ CREATE UNIQUE INDEX index_sbom_occurrences_on_uuid ON sbom_occurrences USING btr
CREATE UNIQUE INDEX index_sbom_sources_on_source_type_and_source ON sbom_sources USING btree (source_type, source);
-CREATE INDEX index_scan_result_policies_on_policy_configuration_id ON scan_result_policies USING btree (security_orchestration_policy_configuration_id);
-
CREATE UNIQUE INDEX index_scan_result_policies_on_position_in_configuration ON scan_result_policies USING btree (security_orchestration_policy_configuration_id, project_id, orchestration_policy_idx, rule_idx);
CREATE INDEX index_scan_result_policies_on_project_id ON scan_result_policies USING btree (project_id);
diff --git a/doc/administration/settings/usage_statistics.md b/doc/administration/settings/usage_statistics.md
index fe7541cc876..e191e824e80 100644
--- a/doc/administration/settings/usage_statistics.md
+++ b/doc/administration/settings/usage_statistics.md
@@ -65,6 +65,7 @@ In the following table, you can see:
| [Contribution analytics](../../user/group/contribution_analytics/index.md) | GitLab 16.5 and later |
| [Group file templates](../../user/group/manage.md#group-file-templates) | GitLab 16.6 and later |
| [Group webhooks](../../user/project/integrations/webhooks.md#group-webhooks) | GitLab 16.6 and later |
+| [Service Level Agreement countdown timer](../../operations/incident_management/incidents.md#service-level-agreement-countdown-timer) | GitLab 16.6 and later |
### Enable registration features
diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md
index ca2b655e904..50d8217bb74 100644
--- a/doc/api/graphql/reference/index.md
+++ b/doc/api/graphql/reference/index.md
@@ -3898,7 +3898,7 @@ Input type: `ExternalAuditEventDestinationUpdateInput`
### `Mutation.geoRegistriesBulkUpdate`
-Mutates multiple Geo registries for a given registry class. Does not mutate the registries if `geo_registries_update_mutation` feature flag is disabled.
+Mutates multiple Geo registries for a given registry class.
WARNING:
**Introduced** in 16.4.
@@ -3924,7 +3924,7 @@ Input type: `GeoRegistriesBulkUpdateInput`
### `Mutation.geoRegistriesUpdate`
-Mutates a Geo registry. Does not mutate the registry entry if `geo_registries_update_mutation` feature flag is disabled.
+Mutates a Geo registry.
WARNING:
**Introduced** in 16.1.
@@ -7509,6 +7509,31 @@ Input type: `ValueStreamCreateInput`
| <a id="mutationvaluestreamcreateerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
| <a id="mutationvaluestreamcreatevaluestream"></a>`valueStream` | [`ValueStream`](#valuestream) | Created value stream. |
+### `Mutation.valueStreamDestroy`
+
+Destroy a value stream.
+
+WARNING:
+**Introduced** in 16.6.
+This feature is an Experiment. It can be changed or removed at any time.
+
+Input type: `ValueStreamDestroyInput`
+
+#### Arguments
+
+| Name | Type | Description |
+| ---- | ---- | ----------- |
+| <a id="mutationvaluestreamdestroyclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
+| <a id="mutationvaluestreamdestroyid"></a>`id` | [`AnalyticsCycleAnalyticsValueStreamID!`](#analyticscycleanalyticsvaluestreamid) | Global ID of the value stream to destroy. |
+
+#### Fields
+
+| Name | Type | Description |
+| ---- | ---- | ----------- |
+| <a id="mutationvaluestreamdestroyclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
+| <a id="mutationvaluestreamdestroyerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
+| <a id="mutationvaluestreamdestroyvaluestream"></a>`valueStream` | [`ValueStream`](#valuestream) | Value stream deleted after mutation. |
+
### `Mutation.vulnerabilitiesDismiss`
Input type: `VulnerabilitiesDismissInput`
@@ -16485,6 +16510,22 @@ four standard [pagination arguments](#connection-pagination-arguments):
| <a id="designversiondesignsatversionfilenames"></a>`filenames` | [`[String!]`](#string) | Filters designs by their filename. |
| <a id="designversiondesignsatversionids"></a>`ids` | [`[DesignManagementDesignID!]`](#designmanagementdesignid) | Filters designs by their ID. |
+### `DetailedImportStatus`
+
+Details of the import status of a project.
+
+#### Fields
+
+| Name | Type | Description |
+| ---- | ---- | ----------- |
+| <a id="detailedimportstatusid"></a>`id` | [`ProjectImportStateID`](#projectimportstateid) | ID of the import state. |
+| <a id="detailedimportstatuslasterror"></a>`lastError` | [`String`](#string) | Last error of the import. |
+| <a id="detailedimportstatuslastsuccessfulupdateat"></a>`lastSuccessfulUpdateAt` | [`Time`](#time) | Time of the last successful update. |
+| <a id="detailedimportstatuslastupdateat"></a>`lastUpdateAt` | [`Time`](#time) | Time of the last update. |
+| <a id="detailedimportstatuslastupdatestartedat"></a>`lastUpdateStartedAt` | [`Time`](#time) | Time of the start of the last update. |
+| <a id="detailedimportstatusstatus"></a>`status` | [`String`](#string) | Current status of the import. |
+| <a id="detailedimportstatusurl"></a>`url` | [`String`](#string) | Import url. |
+
### `DetailedStatus`
#### Fields
@@ -22490,6 +22531,7 @@ Represents vulnerability finding of a security report on the pipeline.
| <a id="projectdependencyproxypackagessetting"></a>`dependencyProxyPackagesSetting` **{warning-solid}** | [`DependencyProxyPackagesSetting`](#dependencyproxypackagessetting) | **Introduced** in 16.5. This feature is an Experiment. It can be changed or removed at any time. Packages Dependency Proxy settings for the project. Requires the packages and dependency proxy to be enabled in the config. Requires the packages feature to be enabled at the project level. Returns `null` if `packages_dependency_proxy_maven` feature flag is disabled. |
| <a id="projectdescription"></a>`description` | [`String`](#string) | Short description of the project. |
| <a id="projectdescriptionhtml"></a>`descriptionHtml` | [`String`](#string) | GitLab Flavored Markdown rendering of `description`. |
+| <a id="projectdetailedimportstatus"></a>`detailedImportStatus` | [`DetailedImportStatus`](#detailedimportstatus) | Detailed import status of the project. |
| <a id="projectdora"></a>`dora` | [`Dora`](#dora) | Project's DORA metrics. |
| <a id="projectflowmetrics"></a>`flowMetrics` **{warning-solid}** | [`ProjectValueStreamAnalyticsFlowMetrics`](#projectvaluestreamanalyticsflowmetrics) | **Introduced** in 15.10. This feature is an Experiment. It can be changed or removed at any time. Flow metrics for value stream analytics. |
| <a id="projectforkscount"></a>`forksCount` | [`Int!`](#int) | Number of times the project has been forked. |
@@ -26217,6 +26259,7 @@ fields relate to interactions between the two entities.
| Name | Type | Description |
| ---- | ---- | ----------- |
+| <a id="valuestreamid"></a>`id` | [`AnalyticsCycleAnalyticsValueStreamID!`](#analyticscycleanalyticsvaluestreamid) | ID of the value stream. |
| <a id="valuestreamname"></a>`name` | [`String!`](#string) | Name of the value stream. |
| <a id="valuestreamnamespace"></a>`namespace` | [`Namespace!`](#namespace) | Namespace the value stream belongs to. |
| <a id="valuestreamproject"></a>`project` **{warning-solid}** | [`Project`](#project) | **Introduced** in 15.6. This feature is an Experiment. It can be changed or removed at any time. Project the value stream belongs to, returns empty if it belongs to a group. |
@@ -30058,6 +30101,12 @@ A `AlertManagementHttpIntegrationID` is a global ID. It is encoded as a string.
An example `AlertManagementHttpIntegrationID` is: `"gid://gitlab/AlertManagement::HttpIntegration/1"`.
+### `AnalyticsCycleAnalyticsValueStreamID`
+
+A `AnalyticsCycleAnalyticsValueStreamID` is a global ID. It is encoded as a string.
+
+An example `AnalyticsCycleAnalyticsValueStreamID` is: `"gid://gitlab/Analytics::CycleAnalytics::ValueStream/1"`.
+
### `AnalyticsDevopsAdoptionEnabledNamespaceID`
A `AnalyticsDevopsAdoptionEnabledNamespaceID` is a global ID. It is encoded as a string.
@@ -30665,6 +30714,12 @@ A `ProjectID` is a global ID. It is encoded as a string.
An example `ProjectID` is: `"gid://gitlab/Project/1"`.
+### `ProjectImportStateID`
+
+A `ProjectImportStateID` is a global ID. It is encoded as a string.
+
+An example `ProjectImportStateID` is: `"gid://gitlab/ProjectImportState/1"`.
+
### `ReleaseID`
A `ReleaseID` is a global ID. It is encoded as a string.
diff --git a/doc/architecture/blueprints/secret_manager/decisions/002_gcp_kms.md b/doc/architecture/blueprints/secret_manager/decisions/002_gcp_kms.md
new file mode 100644
index 00000000000..c750164632f
--- /dev/null
+++ b/doc/architecture/blueprints/secret_manager/decisions/002_gcp_kms.md
@@ -0,0 +1,101 @@
+---
+owning-stage: "~devops::verify"
+description: 'GitLab Secrets Manager ADR 002: Use GCP Key Management Service'
+---
+
+# GitLab Secrets Manager ADR 002: Use GCP Key Management Service
+
+## Context
+
+Following from [ADR 001: Use envelope encryption](001_envelop_encryption.md), we need to find a solution to securely
+store asymmetric keys belonging to each vault.
+
+## Decision
+
+We decided to rely on Google CLoud Platform (GCP) Key Management Service (KMS) to manage the asymmetric keys
+used by the GitLab Secrets Manager vaults.
+
+Using GCP provides a few advantages:
+
+1. Avoid implementing our own secure storage of cryptographic keys.
+1. Support for Hardware Security Modules (HSM).
+
+```mermaid
+sequenceDiagram
+ participant A as Client
+ participant B as GitLab Rails
+ participant C as GitLab Secrets Service
+ participant D as GCP Key Management Service
+
+ Note over B,D: Initialize vault for project/group/organization
+
+ B->>C: Initialize vault - create key pair
+
+ Note over D: Incurs cost per key
+ C->>D: Create new asymmetric key
+ D->>C: Returns public key
+ C->>B: Returns vault public key
+ B->>B: Stores vault public key
+
+ Note over A,C: Creating a new secret
+
+ A->>B: Create new secret
+ B->>B: Generate new symmetric data key
+ B->>B: Encrypts secret with data key
+ B->>B: Encrypts data key with vault public key
+ B->>B: Stores envelope (encrypted secret + encrypted data key)
+ B-->>B: Discards plain-text data key
+ B->>A: Success
+
+ Note over A,D: Retrieving a secret
+
+ A->>B: Get secret
+ B->>B: Retrieves envelope (encrypted secret + encrypted data key)
+ B->>C: Decrypt data key
+ Note over D: Incurs cost per decryption request
+ C->>D: Decrypt data key
+ D->>C: Returns plain-text data key
+ C->>B: Returns plain-text data key
+ B->>B: Decrypts secret
+ B-->>B: Discards plain-text data key
+ B->>A: Returns secret
+```
+
+For security purpose, we decided to use Hardware Security Module (HSM) to protect the keys in GCP KMS.
+
+## Consequences
+
+### Authentication
+
+With keys stored in GCP KMS, we need to de-multiplex between identities configured in GCP KMS and
+identities defined in GitLab so that decryption requests can be authenticated accordingly.
+
+### Cost
+
+With the use of GCP KMS, we need to account for the following cost:
+
+1. Number of keys required
+1. Number of key operations
+1. HSM Protection level
+
+The number of keys required would be dependent on the number of projects, groups, and organizations using this feature.
+A single asymmetric key is required for each project, group or organization.
+
+Each cryptographic key operation would also incur cost and it varies per protection level.
+Based on the proposed design above, this would incur cost at each secret decryption request.
+
+We may implement a multi-tier protection level, supporting different protection types for different users.
+
+The pricing table of GCP KMS can be found [here](https://cloud.google.com/kms/pricing).
+
+### Feature availability for Self-Managed customers
+
+Using GCP KMS as a backend means that this solution cannot be deployed into self-managed environments.
+To make this feature available to Self-Managed customers, this feature needs to be a GitLab Cloud Connector feature.
+
+## Alternatives
+
+We considered generating and storing private keys within GitLab Secrets Service,
+but this would not meet the requirements for [FIPS Compliance](../../../../development/fips_compliance.md).
+
+On the other hand, GCP HSM Keys comply with [FIPS 140-2 Level 3](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation).
diff --git a/doc/architecture/blueprints/secret_manager/index.md b/doc/architecture/blueprints/secret_manager/index.md
index 2a840f8d846..1831090c046 100644
--- a/doc/architecture/blueprints/secret_manager/index.md
+++ b/doc/architecture/blueprints/secret_manager/index.md
@@ -123,6 +123,7 @@ self-managed GitLab instances and the GitLab Secrets Manager.
## Decision Records
- [001: Use envelope encryption](decisions/001_envelop_encryption.md)
+- [002: Use GCP Key Management Service](decisions/002_gcp_kms.md)
## Alternative Solutions
diff --git a/doc/ci/environments/deployment_approvals.md b/doc/ci/environments/deployment_approvals.md
index 754dcafb9f7..3234a490276 100644
--- a/doc/ci/environments/deployment_approvals.md
+++ b/doc/ci/environments/deployment_approvals.md
@@ -47,38 +47,6 @@ The environments in your project require approval before deployment.
<!--- start_remove The following content will be removed on remove_date: '2024-05-22' -->
-### Unified approval setting (deprecated)
-
-> - UI configuration [removed](https://gitlab.com/gitlab-org/gitlab/-/issues/378447) in GitLab
-> 15.11.
-
-WARNING:
-This feature was [deprecated](https://gitlab.com/groups/gitlab-org/-/epics/9662) in GitLab 16.1 and is planned for removal
-in 17.0. Use [multiple approval rules](https://gitlab.com/gitlab-org/gitlab/-/issues/404579) instead. This change
-is a breaking change.
-
-To configure approvals for a protected environment:
-
-- Using the [REST API](../../api/protected_environments.md#protect-a-single-environment),
- set the `required_approval_count` field to 1 or more.
-
-After this is configured, all jobs deploying to this environment automatically go into a blocked state and wait for approvals before running. Ensure that the number of required approvals is less than the number of users allowed to deploy.
-
-Example:
-
-```shell
-curl --header 'Content-Type: application/json' --request POST \
- --data '{"name": "production", "deploy_access_levels": [{"group_id": 9899826}], "required_approval_count": 1}' \
- --header "PRIVATE-TOKEN: <your_access_token>" \
- "https://gitlab.example.com/api/v4/projects/22034114/protected_environments"
-```
-
-NOTE:
-To protect, update, or unprotect an environment, you must have at least the
-Maintainer role.
-
-<!--- end_remove -->
-
### Multiple approval rules
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/345678) in GitLab 14.10 with a flag named `deployment_approval_rules`. Disabled by default.
@@ -113,6 +81,38 @@ NOTE:
To protect, update, or unprotect an environment, you must have at least the
Maintainer role.
+### Unified approval setting (deprecated)
+
+> - UI configuration [removed](https://gitlab.com/gitlab-org/gitlab/-/issues/378447) in GitLab
+> 15.11.
+
+WARNING:
+This feature was [deprecated](https://gitlab.com/groups/gitlab-org/-/epics/9662) in GitLab 16.1 and is planned for removal
+in 17.0. Use [multiple approval rules](https://gitlab.com/gitlab-org/gitlab/-/issues/404579) instead. This change
+is a breaking change.
+
+To configure approvals for a protected environment:
+
+- Using the [REST API](../../api/protected_environments.md#protect-a-single-environment),
+ set the `required_approval_count` field to 1 or more.
+
+After this setting is configured, all jobs deploying to this environment automatically go into a blocked state and wait for approvals before running. Ensure that the number of required approvals is less than the number of users allowed to deploy.
+
+Example:
+
+```shell
+curl --header 'Content-Type: application/json' --request POST \
+ --data '{"name": "production", "deploy_access_levels": [{"group_id": 9899826}], "required_approval_count": 1}' \
+ --header "PRIVATE-TOKEN: <your_access_token>" \
+ "https://gitlab.example.com/api/v4/projects/22034114/protected_environments"
+```
+
+NOTE:
+To protect, update, or unprotect an environment, you must have at least the
+Maintainer role.
+
+<!--- end_remove -->
+
### Migrate to multiple approval rules
You can migrate a protected environment from unified approval rules to multiple
@@ -154,6 +154,9 @@ require `Administrator` to approve every deployment job in `Production`.
> - Automatic approval [removed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124638) in GitLab 16.2 due to [usability issues](https://gitlab.com/gitlab-org/gitlab/-/issues/391258).
By default, the user who triggers a deployment pipeline can't also approve the deployment job.
+
+A GitLab administrator can approve or reject all deployments.
+
To allow self-approval of a deployment job:
1. On the left sidebar, select **Search or go to** and find your project.
@@ -165,55 +168,53 @@ To allow self-approval of a deployment job:
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/342180/) in GitLab 14.9
-Using either the GitLab UI or the API, you can:
+Using the GitLab UI or the API, you can:
- Approve a deployment to allow it to proceed.
- Reject a deployment to prevent it.
-NOTE:
-GitLab administrators can approve or reject all deployments.
+Prerequisites:
-### Approve or reject a deployment using the UI
+- You have permission to deploy to the protected environment.
-Prerequisites:
+::Tabs
-- Permission to deploy to the protected environment.
+:::TabTitle With the UI
-To approve or reject a deployment to a protected environment using the UI:
+To approve or reject a deployment with the UI:
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Operate > Environments**.
1. Select the environment's name.
1. In the deployment's row, select **Approval options** (**{thumb-up}**).
- Before approving or rejecting the deployment, you can view the number of approvals granted and
- remaining, also who has approved or rejected it.
+ Before you approve or reject the deployment, you can view the deployment's approval details.
1. Optional. Add a comment which describes your reason for approving or rejecting the deployment.
1. Select **Approve** or **Reject**.
-### Approve or reject a deployment using the API
+:::TabTitle With the API
-Prerequisites:
+To approve or reject a deployment with the API:
-- Permission to deploy to the protected environment.
+- Pass the required attributes to the deployment endpoint.
-To approve or reject a deployment to a protected environment using the API, pass the
-required attributes. For more details, see
-[Approve or reject a blocked deployment](../../api/deployments.md#approve-or-reject-a-blocked-deployment).
+For details, see [Approve or reject a blocked deployment](../../api/deployments.md#approve-or-reject-a-blocked-deployment).
-Example:
+For example:
```shell
curl --data "status=approved&comment=Looks good to me" \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/deployments/1/approval"
```
+::EndTabs
+
### View the approval details of a deployment
Prerequisites:
-- Permission to deploy to the protected environment.
+- You have permission to deploy to the protected environment.
-A deployment to a protected environment can only proceed after all required approvals have been
+A deployment to a protected environment can proceed only after all required approvals have been
granted.
To view the approval details of a deployment:
@@ -230,25 +231,31 @@ The approval status details are shown:
- Users who have granted approval
- History of approvals or rejections
-## How to see blocked deployments
+## View blocked deployments
+
+Use the UI or API to review the status of your deployments, including whether a deployment is blocked.
+
+::Tabs
-### Using the UI
+:::TabTitle With the UI
+
+To view your deployments:
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Operate > Environments**.
1. Select the environment being deployed to.
-1. Look for the `blocked` label.
-### Using the API
+A deployment with the **blocked** label is blocked.
+
+:::TabTitle With the API
+
+To view your deployments:
+
+- Using the [deployments API](../../api/deployments.md#get-a-specific-deployment), get a specific deployment, or a list of all deployments in a project.
-Use the [Deployments API](../../api/deployments.md#get-a-specific-deployment) to see deployments.
+The `status` field indicates whether a deployment is blocked.
-- The `status` field indicates if a deployment is blocked.
-- When the [unified approval setting](#unified-approval-setting-deprecated) is configured:
- - The `pending_approval_count` field indicates how many approvals are remaining to run a deployment.
- - The `approvals` field contains the deployment's approvals.
-- When the [multiple approval rules](#multiple-approval-rules) is configured:
- - The `approval_summary` field contains the current approval status per rule.
+::EndTabs
## Related topics
diff --git a/doc/development/ai_features/duo_chat.md b/doc/development/ai_features/duo_chat.md
index 103801a5e0b..2a624d4b830 100644
--- a/doc/development/ai_features/duo_chat.md
+++ b/doc/development/ai_features/duo_chat.md
@@ -86,14 +86,25 @@ gdk start
tail -f log/llm.log
```
-## Testing GitLab Duo Chat with predefined questions
+## Testing GitLab Duo Chat against real LLMs
-Because success of answers to user questions in GitLab Duo Chat heavily depends on toolchain and prompts of each tool, it's common that even a minor change in a prompt or a tool impacts processing of some questions. To make sure that a change in the toolchain doesn't break existing functionality, you can use the following rspecs to validate answers to some predefined questions:
+Because success of answers to user questions in GitLab Duo Chat heavily depends
+on toolchain and prompts of each tool, it's common that even a minor change in a
+prompt or a tool impacts processing of some questions.
+
+To make sure that a change in the toolchain doesn't break existing
+functionality, you can use the following RSpec tests to validate answers to some
+predefined questions when using real LLMs:
```ruby
-export OPENAI_API_KEY='<key>'
-export ANTHROPIC_API_KEY='<key>'
-REAL_AI_REQUEST=1 rspec ee/spec/lib/gitlab/llm/chain/agents/zero_shot/executor_spec.rb
+export OPENAI_EMBEDDINGS='true' # if using OpenAI embeddings
+export VERTEX_AI_EMBEDDINGS='true' # if using Vertex embeddings
+export ANTHROPIC_API_KEY='<key>' # can use dev value of Gitlab::CurrentSettings.openai_api_key
+export OPENAI_API_KEY='<key>' # can use dev value of Gitlab::CurrentSettings.anthropic_api_key
+export VERTEX_AI_CREDENTIALS='<vertex-ai-credentials>' # can set as dev value of Gitlab::CurrentSettings.vertex_ai_credentials
+export VERTEX_AI_PROJECT='<vertex-project-name>' # can use dev value of Gitlab::CurrentSettings.vertex_ai_project
+
+REAL_AI_REQUEST=1 bundle exec rspec ee/spec/lib/gitlab/llm/chain/agents/zero_shot/executor_real_requests_spec.rb
```
When you need to update the test questions that require documentation embeddings,
diff --git a/doc/development/code_review.md b/doc/development/code_review.md
index 8e6ea3d68e9..e5f79a55a06 100644
--- a/doc/development/code_review.md
+++ b/doc/development/code_review.md
@@ -764,7 +764,7 @@ A merge request may benefit from being considered a customer critical priority b
Properties of customer critical merge requests:
-- The [VP of Development](https://about.gitlab.com/job-families/engineering/development/management/vp/) ([@clefelhocz1](https://gitlab.com/clefelhocz1)) is the approver for deciding if a merge request qualifies as customer critical. Also, if two of his direct reports approve, that can also serve as approval.
+- A senior director or higher in Development must approve that a merge request qualifies as customer-critical. Alternatively, if two of their direct reports approve, that can also serve as approval.
- The DRI applies the `customer-critical-merge-request` label to the merge request.
- It is required that the reviewers and maintainers involved with a customer critical merge request are engaged as soon as this decision is made.
- It is required to prioritize work for those involved on a customer critical merge request so that they have the time available necessary to focus on it.
diff --git a/doc/development/fe_guide/graphql.md b/doc/development/fe_guide/graphql.md
index 99070f3d31c..5807c9c5621 100644
--- a/doc/development/fe_guide/graphql.md
+++ b/doc/development/fe_guide/graphql.md
@@ -974,28 +974,6 @@ const data = store.readQuery({
Read more about the `@connection` directive in [Apollo's documentation](https://www.apollographql.com/docs/react/caching/advanced-topics/#the-connection-directive).
-### Managing performance
-
-The Apollo client batches queries by default. Given 3 deferred queries,
-Apollo groups them into one request, sends the single request to the server, and
-responds after all 3 queries have completed.
-
-If you need to have queries sent as individual requests, additional context can be provided
-to tell Apollo to do this.
-
-```javascript
-export default {
- apollo: {
- user: {
- query: QUERY_IMPORT,
- context: {
- isSingleRequest: true,
- }
- }
- },
-};
-```
-
#### Polling and Performance
While the Apollo client has support for simple polling, for performance reasons, our [ETag-based caching](../polling.md) is preferred to hitting the database each time.
@@ -1081,21 +1059,6 @@ await this.$apollo.mutate({
});
```
-ETags depend on the request being a `GET` instead of GraphQL's usual `POST`. Our default link library does not support `GET` requests, so we must let our default Apollo client know to use a different library. Keep in mind, this means your app cannot batch queries.
-
-```javascript
-/* componentMountIndex.js */
-
-const apolloProvider = new VueApollo({
- defaultClient: createDefaultClient(
- {},
- {
- useGet: true,
- },
- ),
-});
-```
-
Finally, we can add a visibility check so that the component pauses polling when the browser tab is not active. This should lessen the request load on the page.
```javascript
diff --git a/doc/subscriptions/gitlab_com/index.md b/doc/subscriptions/gitlab_com/index.md
index b4efc463910..0e2d00cb2e8 100644
--- a/doc/subscriptions/gitlab_com/index.md
+++ b/doc/subscriptions/gitlab_com/index.md
@@ -412,7 +412,7 @@ You can [cancel the subscription](#enable-or-disable-automatic-subscription-rene
1. Sign in to GitLab SaaS.
1. From either your personal homepage or the group's page, go to **Settings > Usage Quotas**.
-1. For each locked project, total by how much its **Usage** exceeds the free quota and purchased
+1. For each read-only project, total by how much its **Usage** exceeds the free quota and purchased
storage. You must purchase the storage increment that exceeds this total.
1. Select **Purchase more storage** and you are taken to the Customers Portal.
1. Select **Add new subscription**.
@@ -425,8 +425,8 @@ You can [cancel the subscription](#enable-or-disable-automatic-subscription-rene
1. Sign out of the Customers Portal.
1. Switch back to the GitLab SaaS tab and refresh the page.
-The **Purchased storage available** total is incremented by the amount purchased. All locked
-projects are unlocked and their excess usage is deducted from the additional storage.
+The **Purchased storage available** total is incremented by the amount purchased. The read-only
+state for all projects is removed, and their excess usage is deducted from the additional storage.
#### For your group namespace
diff --git a/doc/user/group/saml_sso/troubleshooting.md b/doc/user/group/saml_sso/troubleshooting.md
index 2fce30b1cc2..527d710058a 100644
--- a/doc/user/group/saml_sso/troubleshooting.md
+++ b/doc/user/group/saml_sso/troubleshooting.md
@@ -222,7 +222,7 @@ to [reset their password](https://gitlab.com/users/password/new) if both:
Users might get an error that states "SAML Name ID and email address do not match your user account. Contact an administrator."
This means:
-- The NameID value sent by SAML does not match the existing SAML identity `extern_uid` value.
+- The NameID value sent by SAML does not match the existing SAML identity `extern_uid` value. Both the NameID and the `extern_uid` are case sensitive. For more information, see [manage user SAML identity](index.md#manage-user-saml-identity).
- Either the SAML response did not include an email address or the email address did not match the user's GitLab email address.
The workaround is that a GitLab group Owner uses the [SAML API](../../../api/saml.md) to update the user's SAML `extern_uid`.
diff --git a/doc/user/project/merge_requests/cherry_pick_changes.md b/doc/user/project/merge_requests/cherry_pick_changes.md
index ef1554f3b86..af76aa100c1 100644
--- a/doc/user/project/merge_requests/cherry_pick_changes.md
+++ b/doc/user/project/merge_requests/cherry_pick_changes.md
@@ -50,7 +50,18 @@ Commit `G` is added after the cherry-pick.
## Cherry-pick all changes from a merge request
After a merge request is merged, you can cherry-pick all changes introduced
-by the merge request:
+by the merge request.
+
+Prerequisites:
+
+- You must have a role in the project that allows you to edit merge requests, and add
+ code to the repository.
+- Your project must use the [merge method](methods/index.md#fast-forward-merge) **Merge Commit**,
+ which is set in the project's **Settings > Merge requests**. Fast-forwarded commits
+ can't be cherry-picked from the GitLab UI, but the individual commits can
+ [still be cherry-picked](#cherry-pick-a-single-commit).
+
+To do this:
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Code > Merge requests**, and find your merge request.
diff --git a/doc/user/project/merge_requests/revert_changes.md b/doc/user/project/merge_requests/revert_changes.md
index 7e6bf606f10..cc95b63e5a8 100644
--- a/doc/user/project/merge_requests/revert_changes.md
+++ b/doc/user/project/merge_requests/revert_changes.md
@@ -25,8 +25,9 @@ Prerequisites:
- You must have a role in the project that allows you to edit merge requests, and add
code to the repository.
- Your project must use the [merge method](methods/index.md#fast-forward-merge) **Merge Commit**,
- which is set in the project's **Settings > General > Merge request**. You can't revert
- fast-forwarded commits from the GitLab UI.
+ which is set in the project's **Settings > General > Merge request**. Fast-forwarded commits
+ can't be reverted from the GitLab UI, but the individual commits can
+ [still be reverted](#revert-a-commit).
To do this:
diff --git a/fixtures/emojis/digests.json b/fixtures/emojis/digests.json
index 4b8a74d62e5..8cd980df3ec 100644
--- a/fixtures/emojis/digests.json
+++ b/fixtures/emojis/digests.json
@@ -1,199 +1,409 @@
{
- "100": {
- "category": "symbols",
- "moji": "💯",
- "description": "hundred points symbol",
+ "grinning": {
+ "category": "people",
+ "moji": "😀",
+ "description": "grinning face",
+ "unicodeVersion": "6.1",
+ "digest": "c83774596b63aed388259582de228aab02f912bc79200e6368a7926df2a1fad8"
+ },
+ "smiley": {
+ "category": "people",
+ "moji": "😃",
+ "description": "smiling face with open mouth",
"unicodeVersion": "6.0",
- "digest": "66b1338bd0bc6efa35033dec6d9f8962c98f1eda08e50bae6a319e7f069ae861"
+ "digest": "9b0f2fca8ba5bb1b3de39686302f2f9ef7e1c93d4af47c71828931f874bd4db1"
},
- "1234": {
- "category": "symbols",
- "moji": "🔢",
- "description": "input symbol for numbers",
+ "smile": {
+ "category": "people",
+ "moji": "😄",
+ "description": "smiling face with open mouth and smiling eyes",
"unicodeVersion": "6.0",
- "digest": "6f276a9127f2de22f508978bd645974d5e21dfd3cf138e0cb00f33599677b533"
+ "digest": "fb06bf4088887ca1aadbc0201b63d75f3d2b5b5779bd81f1767f17e794b0c0a7"
},
- "8ball": {
- "category": "activity",
- "moji": "🎱",
- "description": "billiards",
+ "grin": {
+ "category": "people",
+ "moji": "😁",
+ "description": "grinning face with smiling eyes",
"unicodeVersion": "6.0",
- "digest": "de5dbbd700f078ed6d780e79cb1b5b3214180b42a38917b3e1222af731cf5e3d"
+ "digest": "15b73c02a8456b4b41164090c27409606a60440bbe1a1932ee58702ecacabcbe"
},
- "a": {
- "category": "symbols",
- "moji": "🅰",
- "description": "negative squared latin capital letter a",
+ "laughing": {
+ "category": "people",
+ "moji": "😆",
+ "description": "smiling face with open mouth and tightly-closed ey",
"unicodeVersion": "6.0",
- "digest": "3a5aea7fbabb9e1a5e364f937704fd21296323470fdb1e2bf767d07516c94d21"
+ "digest": "43f119b4cac94c33c49e35381710d74d4f81883364ade30088cd92e5130287e1"
},
- "ab": {
- "category": "symbols",
- "moji": "🆎",
- "description": "negative squared ab",
+ "sweat_smile": {
+ "category": "people",
+ "moji": "😅",
+ "description": "smiling face with open mouth and cold sweat",
"unicodeVersion": "6.0",
- "digest": "2a58932a5ab57aa3c82f77e5df5cd9ce5103667483bb93a6c96f31e171577654"
+ "digest": "18e9821a9dd3f90342ed952660654ddbb8e46671b5e95ab88df637406b6cc0fb"
},
- "abc": {
- "category": "symbols",
- "moji": "🔤",
- "description": "input symbol for latin letters",
+ "rofl": {
+ "category": "people",
+ "moji": "🤣",
+ "description": "rolling on the floor laughing",
+ "unicodeVersion": "9.0",
+ "digest": "1a997e5e1a86c52ced7f4685ad6eb6ce93d50aef0b4cde72f143dd75e5139b43"
+ },
+ "joy": {
+ "category": "people",
+ "moji": "😂",
+ "description": "face with tears of joy",
"unicodeVersion": "6.0",
- "digest": "9991fd68e58377848e6e1b8d4b74bdbfd09e575686047651f139c126e9df6c4c"
+ "digest": "3c7d20273bbe976dc8cf8d5cf44ac4cb9c71b02ec358b50427e9d0662e67a557"
},
- "abcd": {
- "category": "symbols",
- "moji": "🔡",
- "description": "input symbol for latin small letters",
+ "slight_smile": {
+ "category": "people",
+ "moji": "🙂",
+ "description": "slightly smiling face",
+ "unicodeVersion": "7.0",
+ "digest": "04feb9e847c67936ddd0e40d6dd6c90333abc9bfbd81fae7fef9bd1e5265ba9e"
+ },
+ "upside_down": {
+ "category": "people",
+ "moji": "🙃",
+ "description": "upside-down face",
+ "unicodeVersion": "8.0",
+ "digest": "3211b742f7fefdca6b0e817fb45070d6a306e3d31debcfd11d006ea24ba08983"
+ },
+ "wink": {
+ "category": "people",
+ "moji": "😉",
+ "description": "winking face",
"unicodeVersion": "6.0",
- "digest": "ad9982f0e3f4c346a6536d8b2a65c625f05278510910f656e59a6d280a90d3c2"
+ "digest": "a9746d44d7fd9f51c0b0329aeb9eaa438e4690162d6c82c482ec3f4bc2def8b9"
},
- "accept": {
- "category": "symbols",
- "moji": "🉑",
- "description": "circled ideograph accept",
+ "blush": {
+ "category": "people",
+ "moji": "😊",
+ "description": "smiling face with smiling eyes",
"unicodeVersion": "6.0",
- "digest": "d4dcdfdb5dfcd5374044568d879662e89bb5269fb789901e5468c07243f32143"
+ "digest": "3d7d115f7da861e3565a446d9aea177c7bc27592bac17d0d96d815d853b68467"
},
- "aerial_tramway": {
- "category": "travel",
- "moji": "🚡",
- "description": "aerial tramway",
+ "innocent": {
+ "category": "people",
+ "moji": "😇",
+ "description": "smiling face with halo",
"unicodeVersion": "6.0",
- "digest": "716dae206b786d985ddfa6b311369a708d00539f35b2612500afb19ac537261d"
+ "digest": "3571bdd00112793ecf4ade131f2e50b6234b6f794fcb799e6dadacbb4106a92d"
},
- "airplane": {
- "category": "travel",
- "moji": "✈",
- "description": "airplane",
- "unicodeVersion": "1.1",
- "digest": "b223b20d905ace04c602f7fcf22eb66c8defb22f2589434a83ae39e1622dcc67"
+ "heart_eyes": {
+ "category": "people",
+ "moji": "😍",
+ "description": "smiling face with heart-shaped eyes",
+ "unicodeVersion": "6.0",
+ "digest": "997c08afa77ab1bd0b08ae58854024286669ce94385c2a5c7bcab02d219a3667"
},
- "airplane_arriving": {
- "category": "travel",
- "moji": "🛬",
- "description": "airplane arriving",
- "unicodeVersion": "7.0",
- "digest": "a8ea037bc27226bd7e7ce07fdcedfcc74d0cd9c99737c93f2a588066c01fe1fe"
+ "kissing_heart": {
+ "category": "people",
+ "moji": "😘",
+ "description": "face throwing a kiss",
+ "unicodeVersion": "6.0",
+ "digest": "6dd07e9fa9892aec92ba42b78fe23646d31701fb1d29f968ce5cf7f3c5f1336e"
},
- "airplane_departure": {
- "category": "travel",
- "moji": "🛫",
- "description": "airplane departure",
- "unicodeVersion": "7.0",
- "digest": "c371879cd5b6bd5df2954f5c6c7eb5b07b3358253e8b35cd806ca21e2af2d794"
+ "kissing": {
+ "category": "people",
+ "moji": "😗",
+ "description": "kissing face",
+ "unicodeVersion": "6.1",
+ "digest": "9339112fdb5a89aca2b8baed88215ba09c698487713ea6c3a4906d6370ba8a8e"
},
- "airplane_small": {
- "category": "travel",
- "moji": "🛩",
- "description": "small airplane",
- "unicodeVersion": "7.0",
- "digest": "ad2f6b4f6f141bd184c743c31fa0eadbef7653f1915b410c8144293dbb4b3720"
+ "relaxed": {
+ "category": "people",
+ "moji": "☺",
+ "description": "white smiling face",
+ "unicodeVersion": "1.1",
+ "digest": "27bb85737e7f969e392a23141f27c75c82e327fcd0614a445dec47a00578057d"
},
- "alarm_clock": {
- "category": "objects",
- "moji": "⏰",
- "description": "alarm clock",
+ "kissing_closed_eyes": {
+ "category": "people",
+ "moji": "😚",
+ "description": "kissing face with closed eyes",
"unicodeVersion": "6.0",
- "digest": "b125863048df0f332c2af68df61d919d3ff61863bced1aca9269759aff4dfe10"
+ "digest": "0a58401451a4c7daad884fbcc0343f6d08efc5ce4f97cb9c455019ed57b7a979"
},
- "alembic": {
- "category": "objects",
- "moji": "⚗",
- "description": "alembic",
- "unicodeVersion": "4.1",
- "digest": "9af1181b6190b06ed4fd78d13c64d17c16a59f9b1b512fb0b92a9be9cfb92a2b"
+ "kissing_smiling_eyes": {
+ "category": "people",
+ "moji": "😙",
+ "description": "kissing face with smiling eyes",
+ "unicodeVersion": "6.1",
+ "digest": "75b7829612e5e0a3c96c33cb3add78892ef8fb2012b95d24bb9e45888091648e"
},
- "alien": {
+ "yum": {
"category": "people",
- "moji": "👽",
- "description": "extraterrestrial alien",
+ "moji": "😋",
+ "description": "face savouring delicious food",
"unicodeVersion": "6.0",
- "digest": "77ecf901092da0e96501eb86281f2d85d5c813dba15dbaf490f024a835c8da58"
+ "digest": "796badd831c75797cd4acb88694d3bf19b2727678b3c2e63e465e4d8125e4ad4"
},
- "ambulance": {
- "category": "travel",
- "moji": "🚑",
- "description": "ambulance",
+ "stuck_out_tongue": {
+ "category": "people",
+ "moji": "😛",
+ "description": "face with stuck-out tongue",
+ "unicodeVersion": "6.1",
+ "digest": "04df5c3e122e85ebafea184a808d090cebe8fda6c08ab08bb756a21d43b6661f"
+ },
+ "stuck_out_tongue_winking_eye": {
+ "category": "people",
+ "moji": "😜",
+ "description": "face with stuck-out tongue and winking eye",
"unicodeVersion": "6.0",
- "digest": "1ca176a46c2f020e0386e7a0ab662711f66af1683ae165c06853ec5b6bcc4cf1"
+ "digest": "73443f4962da500d4ebe32abf7a9d95a217fa3f58df5567f8ac623b439f8b265"
},
- "amphora": {
- "category": "objects",
- "moji": "🏺",
- "description": "amphora",
- "unicodeVersion": "8.0",
- "digest": "ce9f7d0bd6b4d04c033eb2b3b8c2d339e4a8d19ef46cb23e500cd2854578d4e5"
+ "stuck_out_tongue_closed_eyes": {
+ "category": "people",
+ "moji": "😝",
+ "description": "face with stuck-out tongue and tightly-closed eyes",
+ "unicodeVersion": "6.0",
+ "digest": "88bceb40811057945decca24c3fb69f5703a15417dd5bf16787019e9067cb125"
},
- "anchor": {
- "category": "travel",
- "moji": "⚓",
- "description": "anchor",
- "unicodeVersion": "4.1",
- "digest": "b5f2eacb26d6e550286eb7c01beb0bd5072baf33f6c68c8d7110f634a8b2fdf6"
+ "money_mouth": {
+ "category": "people",
+ "moji": "🤑",
+ "description": "money-mouth face",
+ "unicodeVersion": "8.0",
+ "digest": "99ba4973b84ecb2dbf7e6303190c22c67eedf750f49313135ddbe8e541650688"
},
- "angel": {
+ "hugging": {
"category": "people",
- "moji": "👼",
- "description": "baby angel",
- "unicodeVersion": "6.0",
- "digest": "93d8abd48b9a0eac8332ed79e1f95c206dd29895e74d31931db32f4feab664fb"
+ "moji": "🤗",
+ "description": "hugging face",
+ "unicodeVersion": "8.0",
+ "digest": "c52e3522e798301a973ab2e8829ba85d50b428ac853dbe096dd09a81d2fc5b29"
},
- "angel_tone1": {
+ "thinking": {
"category": "people",
- "moji": "👼🏻",
- "description": "baby angel tone 1",
+ "moji": "🤔",
+ "description": "thinking face",
"unicodeVersion": "8.0",
- "digest": "032faac5736197bb9a75da5743891334264d278378f8510b40623c02bc597601"
+ "digest": "2b2d2b844f147e1be7f4c9019c54ce1b96561b4a8e5bd0af9c8d955b3ceabefa"
},
- "angel_tone2": {
+ "zipper_mouth": {
"category": "people",
- "moji": "👼🏼",
- "description": "baby angel tone 2",
+ "moji": "🤐",
+ "description": "zipper-mouth face",
"unicodeVersion": "8.0",
- "digest": "2f37a1d960eba5ada71b166c4371fdeb69f560f57759de1b24984d0848f74c68"
+ "digest": "dfeeb9947458d1bb04805e46211d4f29aa89210239c475425ac04a1cef340701"
},
- "angel_tone3": {
+ "neutral_face": {
"category": "people",
- "moji": "👼🏽",
- "description": "baby angel tone 3",
+ "moji": "😐",
+ "description": "neutral face",
+ "unicodeVersion": "6.0",
+ "digest": "d69ad475b00bc3770047b0d3e06ebd1f3b6523c285d80402c233bf42fe967e8e"
+ },
+ "expressionless": {
+ "category": "people",
+ "moji": "😑",
+ "description": "expressionless face",
+ "unicodeVersion": "6.1",
+ "digest": "d818ca9cf4ba0c02756559d0e870517f298a88466b3e27002a86389942d89145"
+ },
+ "no_mouth": {
+ "category": "people",
+ "moji": "😶",
+ "description": "face without mouth",
+ "unicodeVersion": "6.0",
+ "digest": "47a0110f84c97673d86cca26854505e47b0e94af996e23eff58e3861baca4b43"
+ },
+ "smirk": {
+ "category": "people",
+ "moji": "😏",
+ "description": "smirking face",
+ "unicodeVersion": "6.0",
+ "digest": "e02911a76fe7c40dde28998741f201789b7ab5c6be6e5168e4eddbd9886ef790"
+ },
+ "unamused": {
+ "category": "people",
+ "moji": "😒",
+ "description": "unamused face",
+ "unicodeVersion": "6.0",
+ "digest": "68eaad1164a9cfdcfb28e6e247ab733d0698a4ddd8f9c72add082d28d3a74445"
+ },
+ "rolling_eyes": {
+ "category": "people",
+ "moji": "🙄",
+ "description": "face with rolling eyes",
"unicodeVersion": "8.0",
- "digest": "96fb1d8e568752aed2c716a062ef650cf4ccca609fdf78cde2e81e3e8f86a098"
+ "digest": "a5fec5606c1cd4b295fe69c261326c848e246622c02ca6cda9f2c5a5bf0aed98"
},
- "angel_tone4": {
+ "grimacing": {
"category": "people",
- "moji": "👼🏾",
- "description": "baby angel tone 4",
+ "moji": "😬",
+ "description": "grimacing face",
+ "unicodeVersion": "6.1",
+ "digest": "781a6548b4b6e394bfd08d57ad222def3eb28d1f1743c9f305296b6108a93958"
+ },
+ "lying_face": {
+ "category": "people",
+ "moji": "🤥",
+ "description": "lying face",
+ "unicodeVersion": "9.0",
+ "digest": "b7a8bcad9036fa6c0441bbc0558cf6ca32464db8ab7d522af505deb1a07623b3"
+ },
+ "relieved": {
+ "category": "people",
+ "moji": "😌",
+ "description": "relieved face",
+ "unicodeVersion": "6.0",
+ "digest": "ed96de2532a1fd5f96f52621d233b391830d31119b9604e7505340aac2dd1fa5"
+ },
+ "pensive": {
+ "category": "people",
+ "moji": "😔",
+ "description": "pensive face",
+ "unicodeVersion": "6.0",
+ "digest": "9da78949740dfdb9c72127f5b7aef68c3b0ba1e5462f5cefcd4d22bdbc4857f9"
+ },
+ "sleepy": {
+ "category": "people",
+ "moji": "😪",
+ "description": "sleepy face",
+ "unicodeVersion": "6.0",
+ "digest": "afc0c40fb97bd1fe79e828f76f03aa08beeed09b42e307b5053758d9889fcc01"
+ },
+ "drooling_face": {
+ "category": "people",
+ "moji": "🤤",
+ "description": "drooling face",
+ "unicodeVersion": "9.0",
+ "digest": "bed3de639ae375a5683806f5661cda66790f0e991912044ec6d8bcdf6ab56b55"
+ },
+ "sleeping": {
+ "category": "people",
+ "moji": "😴",
+ "description": "sleeping face",
+ "unicodeVersion": "6.1",
+ "digest": "061017b6fea9012cdfc7f90ab5dbf18a55830743fdd062f1ea0a085f52e0a564"
+ },
+ "mask": {
+ "category": "people",
+ "moji": "😷",
+ "description": "face with medical mask",
+ "unicodeVersion": "6.0",
+ "digest": "20b1988145e75b2ba72f5c595245fc5574315ee8c26fd39f7785c0a6fc5a9906"
+ },
+ "thermometer_face": {
+ "category": "people",
+ "moji": "🤒",
+ "description": "face with thermometer",
"unicodeVersion": "8.0",
- "digest": "b17721fd657278ee719963b0df074a9290c52cf58d094ed2722881030f57a79e"
+ "digest": "8300d80af44461b1da2aeed90203901753705ec3418a288646a00dc59da70c93"
},
- "angel_tone5": {
+ "head_bandage": {
"category": "people",
- "moji": "👼🏿",
- "description": "baby angel tone 5",
+ "moji": "🤕",
+ "description": "face with head-bandage",
"unicodeVersion": "8.0",
- "digest": "c6ebaa89eb3b2e6ee6e16b483587a6f6b341cae187d282e27cf71d1a18117735"
+ "digest": "53fef09c38e83bc82c90bd3d63e01767767d2f25cec1cd5a6742e3be8cb0ef12"
},
- "anger": {
- "category": "symbols",
- "moji": "💢",
- "description": "anger symbol",
+ "nauseated_face": {
+ "category": "people",
+ "moji": "🤢",
+ "description": "nauseated face",
+ "unicodeVersion": "9.0",
+ "digest": "3b3f3fe5fdd6aa6e30bf433d3533438cbee50d337fb2ad83b154873aaac0d9d1"
+ },
+ "sneezing_face": {
+ "category": "people",
+ "moji": "🤧",
+ "description": "sneezing face",
+ "unicodeVersion": "9.0",
+ "digest": "fa08b2714d529efb670662a65b19201333217d31152a1e4c48b3ee7ab4398eb5"
+ },
+ "dizzy_face": {
+ "category": "people",
+ "moji": "😵",
+ "description": "dizzy face",
"unicodeVersion": "6.0",
- "digest": "f63add6c0e9483fb1ee5d2fffdc6e0a818b233713a6da85f6ce1ec3da0a7049a"
+ "digest": "5e3c7e1f97d4d9a330b89358c89d2fbdf31a945f3be40c352600a985ac49b197"
},
- "anger_right": {
- "category": "symbols",
- "moji": "🗯",
- "description": "right anger bubble",
+ "cowboy": {
+ "category": "people",
+ "moji": "🤠",
+ "description": "face with cowboy hat",
+ "unicodeVersion": "9.0",
+ "digest": "0c3a81e8bc276a84073ae94db2cf08d378b3e17ca09e2e03abf248c66c00f34b"
+ },
+ "sunglasses": {
+ "category": "people",
+ "moji": "😎",
+ "description": "smiling face with sunglasses",
+ "unicodeVersion": "6.0",
+ "digest": "1b2ba362ef41c55b05bf8d28df5508e8f4f2b0418c22c47ecd9e8e772ac1c19b"
+ },
+ "nerd": {
+ "category": "people",
+ "moji": "🤓",
+ "description": "nerd face",
+ "unicodeVersion": "8.0",
+ "digest": "da428d87fe165911944fb1a15ef2fa4859a1c181fc4dc712907eaea7daba1c85"
+ },
+ "confused": {
+ "category": "people",
+ "moji": "😕",
+ "description": "confused face",
+ "unicodeVersion": "6.1",
+ "digest": "4b8a05e1d84cb6314b217fdd4f89065411021f3ed3f5a824dbf538d54b5c3132"
+ },
+ "worried": {
+ "category": "people",
+ "moji": "😟",
+ "description": "worried face",
+ "unicodeVersion": "6.1",
+ "digest": "66814ad2b00574ed539af543224116a3564b162b57e9d02d58f19513cb2c80f2"
+ },
+ "slight_frown": {
+ "category": "people",
+ "moji": "🙁",
+ "description": "slightly frowning face",
"unicodeVersion": "7.0",
- "digest": "f47446e92c821d4f4d1d9861b99b3b3fff69ef52364c0aea3d99dc8e5fa40c3e"
+ "digest": "2bccd273d6445ddf54366b9aa565370af3110b7722cb9a85e76534c729b397b8"
},
- "angry": {
+ "frowning2": {
"category": "people",
- "moji": "😠",
- "description": "angry face",
+ "moji": "☹",
+ "description": "white frowning face",
+ "unicodeVersion": "1.1",
+ "digest": "aa6b9f39cd2511d918a395f1e363a34642761cdc7f5a0170405b40455a47f0b6"
+ },
+ "open_mouth": {
+ "category": "people",
+ "moji": "😮",
+ "description": "face with open mouth",
+ "unicodeVersion": "6.1",
+ "digest": "346f4923115965b864ef63bfc4b34deaadaa2dcbc965ef6285a1b81f9966b9a6"
+ },
+ "hushed": {
+ "category": "people",
+ "moji": "😯",
+ "description": "hushed face",
+ "unicodeVersion": "6.1",
+ "digest": "a1b0d468e68dff4b3ab40b5980c838635e9680cfb35592ee62260b597cc8b551"
+ },
+ "astonished": {
+ "category": "people",
+ "moji": "😲",
+ "description": "astonished face",
"unicodeVersion": "6.0",
- "digest": "f4fb17bf4cacd87fefdf9f235a9f6d77a5b12514061bc277645bccd410d3720a"
+ "digest": "ecfb4bc1b9617e8de75b5c7b97e09e97e7bac08de23d4e76ce27b3c04277ab0e"
+ },
+ "flushed": {
+ "category": "people",
+ "moji": "😳",
+ "description": "flushed face",
+ "unicodeVersion": "6.0",
+ "digest": "d29c62b5892744d9d95cd876c703d079f1e8eed6091e51291e01667b8f4a6c7a"
+ },
+ "frowning": {
+ "category": "people",
+ "moji": "😦",
+ "description": "frowning face with open mouth",
+ "unicodeVersion": "6.1",
+ "digest": "615dc050d755f9fb9aa325fba6efc812ec78984dd282c8e81e4b0bf2ffb00b79"
},
"anguished": {
"category": "people",
@@ -202,838 +412,2497 @@
"unicodeVersion": "6.1",
"digest": "b0670af3e3d615d03f5e20b371b6ca7852583f5ac0b272018ac71cc67096dc56"
},
- "ant": {
- "category": "nature",
- "moji": "🐜",
- "description": "ant",
+ "fearful": {
+ "category": "people",
+ "moji": "😨",
+ "description": "fearful face",
"unicodeVersion": "6.0",
- "digest": "d60a32588453dd0a17b55358089bc62e53f09fc262c7aa30a1d6fc2c1e7cde2c"
+ "digest": "ce0c48c3ede7231acd645ffa0fe3dfec012e6f88a30431c44e3b816063ac42b4"
},
- "apple": {
- "category": "food",
- "moji": "🍎",
- "description": "red apple",
+ "cold_sweat": {
+ "category": "people",
+ "moji": "😰",
+ "description": "face with open mouth and cold sweat",
"unicodeVersion": "6.0",
- "digest": "2a2d7a1fb558b2f77f9ef57b11229992a6ba4a1a679707f6339fc47744d64df2"
+ "digest": "d96b966a52919667857c96c5d03596cb29daa1a7d87acba0286556f5dcaa25af"
},
- "aquarius": {
- "category": "symbols",
- "moji": "♒",
- "description": "aquarius",
- "unicodeVersion": "1.1",
- "digest": "a40fb6ccb866eaf296e083c57f46ca29f3d9732de897e62a8201481b526ae6b9"
+ "disappointed_relieved": {
+ "category": "people",
+ "moji": "😥",
+ "description": "disappointed but relieved face",
+ "unicodeVersion": "6.0",
+ "digest": "cfe92ebfbaaa0b02b84b05c17c94f07db315a8771d3ebfea8043862559c6ce74"
},
- "aries": {
- "category": "symbols",
- "moji": "♈",
- "description": "aries",
- "unicodeVersion": "1.1",
- "digest": "4e35bd481a7c73be42faba7afa67c522b4340180efa18f0523e394a90a2944aa"
+ "cry": {
+ "category": "people",
+ "moji": "😢",
+ "description": "crying face",
+ "unicodeVersion": "6.0",
+ "digest": "5b16d711fc3d2e611dbd406e5849c22ebdad9c9812fd6897f304a89f21f05755"
},
- "arrow_backward": {
- "category": "symbols",
- "moji": "◀",
- "description": "black left-pointing triangle",
+ "sob": {
+ "category": "people",
+ "moji": "😭",
+ "description": "loudly crying face",
+ "unicodeVersion": "6.0",
+ "digest": "2bd275f629a26cb40ce648eff68155a5625e944ed724b8a6d2890a80a099503a"
+ },
+ "scream": {
+ "category": "people",
+ "moji": "😱",
+ "description": "face screaming in fear",
+ "unicodeVersion": "6.0",
+ "digest": "3403d66a449c643d1dbc3029d11bf9a9edfd503b5594b524517356a8eeef296e"
+ },
+ "confounded": {
+ "category": "people",
+ "moji": "😖",
+ "description": "confounded face",
+ "unicodeVersion": "6.0",
+ "digest": "084da8b9e9e24eaee418df200ed9369e04fded381d756382b34f96a362d2c93c"
+ },
+ "persevere": {
+ "category": "people",
+ "moji": "😣",
+ "description": "persevering face",
+ "unicodeVersion": "6.0",
+ "digest": "5297ca44798cb08da3651322d7f34d45e88333f820cfcd9cce4a540b3333ca63"
+ },
+ "disappointed": {
+ "category": "people",
+ "moji": "😞",
+ "description": "disappointed face",
+ "unicodeVersion": "6.0",
+ "digest": "0e8f9fdef204d2684a92666709ff4d785d5b3690f1ff0f7ebed9f37d2a3651f5"
+ },
+ "sweat": {
+ "category": "people",
+ "moji": "😓",
+ "description": "face with cold sweat",
+ "unicodeVersion": "6.0",
+ "digest": "54f6998fabdc88fd169a6c9013f6471608f29554dd304d3abe9ee246b4a0cb16"
+ },
+ "weary": {
+ "category": "people",
+ "moji": "😩",
+ "description": "weary face",
+ "unicodeVersion": "6.0",
+ "digest": "44fd697167f1403eaf6bc6778a394dee514f900a964bb9e7b6a45aac86a5d985"
+ },
+ "tired_face": {
+ "category": "people",
+ "moji": "😫",
+ "description": "tired face",
+ "unicodeVersion": "6.0",
+ "digest": "60d0656f21c7937c3f2e9c5a90d1dfd2deee068804fb17d813e8b6e9c9f994d5"
+ },
+ "triumph": {
+ "category": "people",
+ "moji": "😤",
+ "description": "face with look of triumph",
+ "unicodeVersion": "6.0",
+ "digest": "b258f96aa69a0c5bbe672097bb58d0b7bd6c1dfcc93e66f73d632c2a42c9ecc4"
+ },
+ "rage": {
+ "category": "people",
+ "moji": "😡",
+ "description": "pouting face",
+ "unicodeVersion": "6.0",
+ "digest": "55c5a1450a9c4ba539c4c2f6760209c7cedfbbc93abee597d63703e7bc96743c"
+ },
+ "angry": {
+ "category": "people",
+ "moji": "😠",
+ "description": "angry face",
+ "unicodeVersion": "6.0",
+ "digest": "f4fb17bf4cacd87fefdf9f235a9f6d77a5b12514061bc277645bccd410d3720a"
+ },
+ "smiling_imp": {
+ "category": "people",
+ "moji": "😈",
+ "description": "smiling face with horns",
+ "unicodeVersion": "6.0",
+ "digest": "7609669c056339bec4dc916c3b0fb56d4adc55d37b8c3e0fb078af59594500d9"
+ },
+ "imp": {
+ "category": "people",
+ "moji": "👿",
+ "description": "imp",
+ "unicodeVersion": "6.0",
+ "digest": "bf3ec6b5b728a98f16b630cea877fe3cef79e5ebe7e58ee0caec197279ed3a80"
+ },
+ "skull": {
+ "category": "people",
+ "moji": "💀",
+ "description": "skull",
+ "unicodeVersion": "6.0",
+ "digest": "ccf317cd63caa24cd1a008dd26cda83d6487a0a7fca71843e42715cd8cbaafc9"
+ },
+ "skull_crossbones": {
+ "category": "objects",
+ "moji": "☠",
+ "description": "skull and crossbones",
"unicodeVersion": "1.1",
- "digest": "c4e1ba32b806674ba5f7cdb1433d4b45cf9b31f546918aa5ad169c0c8af50a8a"
+ "digest": "81f050043fc49fb83d5e87753337f77fb2acd599e53432212de42ec58345d567"
},
- "arrow_double_down": {
- "category": "symbols",
- "moji": "⏬",
- "description": "black down-pointing double triangle",
+ "poop": {
+ "category": "people",
+ "moji": "💩",
+ "description": "pile of poo",
"unicodeVersion": "6.0",
- "digest": "079bfc85ed3a1b354a6c8d9d041ed2049c449a696a2a2d1ff11e65efc91bc420"
+ "digest": "b5c6a197435c518508edf1cc7bc015c14c120965b574813838797507fab21994"
},
- "arrow_double_up": {
+ "clown": {
+ "category": "people",
+ "moji": "🤡",
+ "description": "clown face",
+ "unicodeVersion": "9.0",
+ "digest": "4cabd73ae323f53200eb179e177ffbcc984f07847b71912f0c2874fa9c5e53f3"
+ },
+ "japanese_ogre": {
+ "category": "people",
+ "moji": "👹",
+ "description": "japanese ogre",
+ "unicodeVersion": "6.0",
+ "digest": "3ecbc95d1e43ebda0a0c9988e8dc012dc4985cdaa2b8e81a42cbf8cff30a93e3"
+ },
+ "japanese_goblin": {
+ "category": "people",
+ "moji": "👺",
+ "description": "japanese goblin",
+ "unicodeVersion": "6.0",
+ "digest": "4c5b8cfc3b172269a943341583e938cd1c8030e9de9fc9008ec0cfbca53d2f81"
+ },
+ "ghost": {
+ "category": "people",
+ "moji": "👻",
+ "description": "ghost",
+ "unicodeVersion": "6.0",
+ "digest": "02e92350f546b637c7070d01b71d84062b6cdc72cde79fce39b41c5945c5ff6c"
+ },
+ "alien": {
+ "category": "people",
+ "moji": "👽",
+ "description": "extraterrestrial alien",
+ "unicodeVersion": "6.0",
+ "digest": "77ecf901092da0e96501eb86281f2d85d5c813dba15dbaf490f024a835c8da58"
+ },
+ "space_invader": {
+ "category": "activity",
+ "moji": "👾",
+ "description": "alien monster",
+ "unicodeVersion": "6.0",
+ "digest": "84897a48330cb0ae9ac42111cfaa0e0baefb5c314cb49d1eae77c7ace3a7ab25"
+ },
+ "robot": {
+ "category": "people",
+ "moji": "🤖",
+ "description": "robot face",
+ "unicodeVersion": "8.0",
+ "digest": "363bacd1c9c3bb115d4fe363ac212fc0a81270c057aaf432ab866581b976e38d"
+ },
+ "smiley_cat": {
+ "category": "people",
+ "moji": "😺",
+ "description": "smiling cat face with open mouth",
+ "unicodeVersion": "6.0",
+ "digest": "eb6c8fa3e46a9ea9c0e79b3db5578299ea041792ae46c54c50799e5c3970c372"
+ },
+ "smile_cat": {
+ "category": "people",
+ "moji": "😸",
+ "description": "grinning cat face with smiling eyes",
+ "unicodeVersion": "6.0",
+ "digest": "5882f8784080c11ae3b95bccb4ecf00dacd127047ff76d3b4158fbba0ddb1f14"
+ },
+ "joy_cat": {
+ "category": "people",
+ "moji": "😹",
+ "description": "cat face with tears of joy",
+ "unicodeVersion": "6.0",
+ "digest": "fd65d87249121b7e1b1b48af53179ff8ccc7d5f072fcb07e498dc20e9370c436"
+ },
+ "heart_eyes_cat": {
+ "category": "people",
+ "moji": "😻",
+ "description": "smiling cat face with heart-shaped eyes",
+ "unicodeVersion": "6.0",
+ "digest": "9ea3bd6876a5833b702730a8b21ba0a20b3f95c64131e46414402ad485719069"
+ },
+ "smirk_cat": {
+ "category": "people",
+ "moji": "😼",
+ "description": "cat face with wry smile",
+ "unicodeVersion": "6.0",
+ "digest": "8aed1a44a0b0673c1f62cf9f77d89239725258b7b3b482b66b5d39c6306b601a"
+ },
+ "kissing_cat": {
+ "category": "people",
+ "moji": "😽",
+ "description": "kissing cat face with closed eyes",
+ "unicodeVersion": "6.0",
+ "digest": "e4c818629b8482ec9f3747125dbc4ea0c08ca12c151eb29f103e19d66ba39e78"
+ },
+ "scream_cat": {
+ "category": "people",
+ "moji": "🙀",
+ "description": "weary cat face",
+ "unicodeVersion": "6.0",
+ "digest": "e4d277a511c2e1edc5873579e78a94320133ff730502c1ebf36272e4a2e5c598"
+ },
+ "crying_cat_face": {
+ "category": "people",
+ "moji": "😿",
+ "description": "crying cat face",
+ "unicodeVersion": "6.0",
+ "digest": "32cc70455196cddbd0664789c5b1dc7d777a81884b748bdf43c8de6cd892d498"
+ },
+ "pouting_cat": {
+ "category": "people",
+ "moji": "😾",
+ "description": "pouting cat face",
+ "unicodeVersion": "6.0",
+ "digest": "e253bae99f9859322bc02b5e9b87cb33c68a5e38aebaa57478d5f4a5b1c23bb0"
+ },
+ "see_no_evil": {
+ "category": "nature",
+ "moji": "🙈",
+ "description": "see-no-evil monkey",
+ "unicodeVersion": "6.0",
+ "digest": "b5659d1f0ae7dc35ba729bee05ef351dbf8fe299b768937a1e271c19ac1dd9a9"
+ },
+ "hear_no_evil": {
+ "category": "nature",
+ "moji": "🙉",
+ "description": "hear-no-evil monkey",
+ "unicodeVersion": "6.0",
+ "digest": "6358afb4d187b86c325b5b0113b46d0ab080968fbd8c477d54f733c169b0242e"
+ },
+ "speak_no_evil": {
+ "category": "nature",
+ "moji": "🙊",
+ "description": "speak-no-evil monkey",
+ "unicodeVersion": "6.0",
+ "digest": "7cb1d4a61d2947bb0624a57a7355089f751d576c3bf26b61e3a2f1c413b4c293"
+ },
+ "love_letter": {
+ "category": "objects",
+ "moji": "💌",
+ "description": "love letter",
+ "unicodeVersion": "6.0",
+ "digest": "2a263ff736055811ce621c61f5ef9d9393bb71e180515a0fdc75107b89c60093"
+ },
+ "cupid": {
"category": "symbols",
- "moji": "⏫",
- "description": "black up-pointing double triangle",
+ "moji": "💘",
+ "description": "heart with arrow",
"unicodeVersion": "6.0",
- "digest": "79fe28485f924df1c66447c2e633ebc02d01ab46c0d2ad4b319f950f060d5525"
+ "digest": "c13b5e7a7a9824b3921b07805ffc08bb07e01f5384c49909ac375e9f55a3102c"
},
- "arrow_down": {
+ "gift_heart": {
"category": "symbols",
- "moji": "⬇",
- "description": "downwards black arrow",
- "unicodeVersion": "4.0",
- "digest": "70c8ffa3178143b62de0d2e739700456ed470f5990599f86f518307d77bace97"
+ "moji": "💝",
+ "description": "heart with ribbon",
+ "unicodeVersion": "6.0",
+ "digest": "9d747c69520b804e5cf3810475ff764a1d88f9f4e90f2fb3030a85ea35cd63a2"
},
- "arrow_down_small": {
+ "sparkling_heart": {
"category": "symbols",
- "moji": "🔽",
- "description": "down-pointing small red triangle",
+ "moji": "💖",
+ "description": "sparkling heart",
"unicodeVersion": "6.0",
- "digest": "6432caec004e9eadb0d160cb857a2eeb43cfab1ace23a904fa5a624f56bfca95"
+ "digest": "cc017b631dae27a01e15faa5f7d24c35983a4a2d928c23e9449b1b183636cb05"
},
- "arrow_forward": {
+ "heartpulse": {
"category": "symbols",
- "moji": "▶",
- "description": "black right-pointing triangle",
- "unicodeVersion": "1.1",
- "digest": "b3f0c8db863157c1c4121602ecaee91845346b2b7a1ef0ad4d46744db7866e98"
+ "moji": "💗",
+ "description": "growing heart",
+ "unicodeVersion": "6.0",
+ "digest": "bb45713a2195b5f4742bc57aa4e72e26a850c8860e0ca395fcc8e2a64e13334b"
},
- "arrow_heading_down": {
+ "heartbeat": {
"category": "symbols",
- "moji": "⤵",
- "description": "arrow pointing rightwards then curving downwards",
- "unicodeVersion": "3.2",
- "digest": "f351d6b66a0e73f41bc58446486c5fbe35d70b715fdc4ae9adef474df7aa1f69"
+ "moji": "💓",
+ "description": "beating heart",
+ "unicodeVersion": "6.0",
+ "digest": "1b8ecc1830cb706a354bd340c6c127bf045102a5fe7e1f472daecf13a772628f"
},
- "arrow_heading_up": {
+ "revolving_hearts": {
"category": "symbols",
- "moji": "⤴",
- "description": "arrow pointing rightwards then curving upwards",
- "unicodeVersion": "3.2",
- "digest": "b684802de1239962bd0c076a5a0aeb268d2cf43620dde214520817e522a60792"
+ "moji": "💞",
+ "description": "revolving hearts",
+ "unicodeVersion": "6.0",
+ "digest": "f6d44311823de89d93f7f0c0758e60a804491237b18b4b0bd20a9843570c9c04"
},
- "arrow_left": {
+ "two_hearts": {
"category": "symbols",
- "moji": "⬅",
- "description": "leftwards black arrow",
- "unicodeVersion": "4.0",
- "digest": "431289c3759f093a1a2f3460d6b912897098d3344a23a31fa9ce778c484f60ba"
+ "moji": "💕",
+ "description": "two hearts",
+ "unicodeVersion": "6.0",
+ "digest": "52fba958d8153422ae667827dd2dd44a58bf36ac3f7d3d9433527b6a92b7e6e7"
},
- "arrow_lower_left": {
+ "heart_decoration": {
"category": "symbols",
- "moji": "↙",
- "description": "south west arrow",
- "unicodeVersion": "1.1",
- "digest": "53a95853a65f3add101d64cd4ca26d677b1519d388d9c5ac75088e1965e8b856"
+ "moji": "💟",
+ "description": "heart decoration",
+ "unicodeVersion": "6.0",
+ "digest": "f68f4ff3043101c8bb2ce52257ee918a016128a962ba3d8e0bb4a640076743f9"
},
- "arrow_lower_right": {
+ "heart_exclamation": {
"category": "symbols",
- "moji": "↘",
- "description": "south east arrow",
+ "moji": "❣",
+ "description": "heavy heart exclamation mark ornament",
"unicodeVersion": "1.1",
- "digest": "603a00a2370d8872a037fdd195315bbbe936ccf12db2801bd93211a55068daa7"
+ "digest": "35c8dd5c38c09f8bcee07145e68f299f662866c7d05294aff6ab2a9b11bb83de"
},
- "arrow_right": {
+ "broken_heart": {
"category": "symbols",
- "moji": "➡",
- "description": "black rightwards arrow",
- "unicodeVersion": "1.1",
- "digest": "cca969d90670944613bcaa9463a35abfdbfa6474d1177683e2fa1327d8b52c91"
+ "moji": "💔",
+ "description": "broken heart",
+ "unicodeVersion": "6.0",
+ "digest": "6b60f5c0d0a7702308a85e0d8eca3ca54ac348a9f66bb56f89f9f3aae9303ca4"
},
- "arrow_right_hook": {
+ "heart": {
"category": "symbols",
- "moji": "↪",
- "description": "rightwards arrow with hook",
+ "moji": "❤",
+ "description": "heavy black heart",
"unicodeVersion": "1.1",
- "digest": "65e1489951134f221d8b7d45d6857321530dfad720c43fa0590d123b3cf29c00"
+ "digest": "f4f1ba1aa7118b2ccb2693eeb523fd1ef44766e88bbda830fe2154a7791bb677"
},
- "arrow_up": {
+ "yellow_heart": {
"category": "symbols",
- "moji": "⬆",
- "description": "upwards black arrow",
- "unicodeVersion": "4.0",
- "digest": "9ea5aba6d658bc8bed6a8eb9ea073e010d916dd7e6cde9de71a760026754ed6a"
+ "moji": "💛",
+ "description": "yellow heart",
+ "unicodeVersion": "6.0",
+ "digest": "1785103b3aab8606869692986a2ff5e320dae4b6d58f7dca33beed221aff8f42"
},
- "arrow_up_down": {
+ "green_heart": {
"category": "symbols",
- "moji": "↕",
- "description": "up down arrow",
- "unicodeVersion": "1.1",
- "digest": "83bda8fd50d42e169679a9825df1f5d5b7c421c710fb965b9ad4885c3c61268a"
+ "moji": "💚",
+ "description": "green heart",
+ "unicodeVersion": "6.0",
+ "digest": "426e89957ea1b6631948c5607f1806695af2a339a27159bf93c4c42a6110595c"
},
- "arrow_up_small": {
+ "blue_heart": {
"category": "symbols",
- "moji": "🔼",
- "description": "up-pointing small red triangle",
+ "moji": "💙",
+ "description": "blue heart",
"unicodeVersion": "6.0",
- "digest": "2335b064c64d375d54e4e59111cd169781e633969b57d57dd9e1abba7555e9f1"
+ "digest": "dde3ac8cbd84903c39310d0a9a0121f47e1701bf3298d0cecaba552076b462c1"
},
- "arrow_upper_left": {
+ "purple_heart": {
"category": "symbols",
- "moji": "↖",
- "description": "north west arrow",
- "unicodeVersion": "1.1",
- "digest": "035fd0f1149c8af6bec2c3dd09465b494427fcc34213749802e2e18e5ae8159a"
+ "moji": "💜",
+ "description": "purple heart",
+ "unicodeVersion": "6.0",
+ "digest": "68bc43f94a83b183d3ae134cfb36ef801dbb08f8ed46ed2972caa24cad3c8d2c"
},
- "arrow_upper_right": {
+ "black_heart": {
"category": "symbols",
- "moji": "↗",
- "description": "north east arrow",
- "unicodeVersion": "1.1",
- "digest": "e8894fed9c62b652add3bac3ad3dd84bf3a215c45a0883c6e701cc02f89e5bfc"
+ "moji": "🖤",
+ "description": "black heart",
+ "unicodeVersion": "9.0",
+ "digest": "d32225e69f8013ed033687a275d2cf0bf19bc7d38f54353ae8441ec50ca25e0b"
},
- "arrows_clockwise": {
- "category": "symbols",
- "moji": "🔃",
- "description": "clockwise downwards and upwards open circle arrows",
+ "kiss": {
+ "category": "people",
+ "moji": "💋",
+ "description": "kiss mark",
"unicodeVersion": "6.0",
- "digest": "0f4be61ded4f219dc1582b002635b538c15d40234e8571a3bfbc35921f0e83a6"
+ "digest": "751426045d0e8e59b148b2f2dd275373d361ac8e90d9e6ee65f356a8a9c5e24c"
},
- "arrows_counterclockwise": {
+ "100": {
"category": "symbols",
- "moji": "🔄",
- "description": "anticlockwise downwards and upwards open circle ar",
+ "moji": "💯",
+ "description": "hundred points symbol",
"unicodeVersion": "6.0",
- "digest": "e94e5cd47117e7dd196d0b1f32a97f2f87e76b6ad2652359849cda8d773c284c"
+ "digest": "66b1338bd0bc6efa35033dec6d9f8962c98f1eda08e50bae6a319e7f069ae861"
},
- "art": {
- "category": "activity",
- "moji": "🎨",
- "description": "artist palette",
+ "anger": {
+ "category": "symbols",
+ "moji": "💢",
+ "description": "anger symbol",
"unicodeVersion": "6.0",
- "digest": "ee525dbf572a127ac99ccc165520e429e3d24f7cf3b8d787496b63415454d49c"
+ "digest": "f63add6c0e9483fb1ee5d2fffdc6e0a818b233713a6da85f6ce1ec3da0a7049a"
},
- "articulated_lorry": {
- "category": "travel",
- "moji": "🚛",
- "description": "articulated lorry",
+ "boom": {
+ "category": "nature",
+ "moji": "💥",
+ "description": "collision symbol",
"unicodeVersion": "6.0",
- "digest": "35d63d2bb71429a9da433fa2464827f53996a738e22efd275b2326a6cc30063c"
+ "digest": "eb699268e39f7fa16a39fc731a7ebed9f7dcdbde083e222cffbac860c1bc643b"
},
- "asterisk": {
- "category": "symbols",
- "moji": "*⃣",
- "description": "keycap asterisk",
- "unicodeVersion": "3.0",
- "digest": "7f65396609bdbffe6bf305cbfe56c4274f063f235d9e505b66367a71ee1cf233"
+ "dizzy": {
+ "category": "nature",
+ "moji": "💫",
+ "description": "dizzy symbol",
+ "unicodeVersion": "6.0",
+ "digest": "b3d16f5748abede6f133bac2104e51eaff0e59f184256aa6902ebb6d8a3e32b7"
},
- "astonished": {
- "category": "people",
- "moji": "😲",
- "description": "astonished face",
+ "sweat_drops": {
+ "category": "nature",
+ "moji": "💦",
+ "description": "splashing sweat symbol",
"unicodeVersion": "6.0",
- "digest": "ecfb4bc1b9617e8de75b5c7b97e09e97e7bac08de23d4e76ce27b3c04277ab0e"
+ "digest": "48642bb76350a7be33303751b18ca1150085d20070e18eb9e3617833ae406b11"
},
- "athletic_shoe": {
- "category": "people",
- "moji": "👟",
- "description": "athletic shoe",
+ "dash": {
+ "category": "nature",
+ "moji": "💨",
+ "description": "dash symbol",
"unicodeVersion": "6.0",
- "digest": "74ad8b5b9f0612ab983841e94637e02e91fc0de90b4a12997be5d2a2eb56d12c"
+ "digest": "6c0ab681346b90d7b75e1e16531890a6ebed5c7b8bc63b269cc4a6080328fd6f"
},
- "atm": {
+ "hole": {
+ "category": "objects",
+ "moji": "🕳",
+ "description": "hole",
+ "unicodeVersion": "7.0",
+ "digest": "a486f10fd58f9e9424feb4b1409e5fccac7706952b616460156a55db836a46f0"
+ },
+ "speech_balloon": {
"category": "symbols",
- "moji": "🏧",
- "description": "automated teller machine",
+ "moji": "💬",
+ "description": "speech balloon",
"unicodeVersion": "6.0",
- "digest": "58d4d4ab5df9de2f88f7ce4af21f1e5146ebd61731967d47ec5209affd987a24"
+ "digest": "8a0b9329452cb5b6d529bb5a5a56656eceaba92177f566e3748d7910588a938b"
},
- "atom": {
+ "eye_in_speech_bubble": {
"category": "symbols",
- "moji": "⚛",
- "description": "atom symbol",
- "unicodeVersion": "4.1",
- "digest": "1a7ca89822b91c1acfe7a10d57c859bfa87b6797713efa2ec87f01d36d302056"
+ "moji": "👁‍🗨",
+ "description": "eye in speech bubble",
+ "unicodeVersion": "7.0",
+ "digest": "4b4d96038c0883d99091f9718a3c1e9c096268a3bcead903a7f6551db2b779a8"
},
- "avocado": {
- "category": "food",
- "moji": "🥑",
- "description": "avocado",
- "unicodeVersion": "9.0",
- "digest": "465bdf47c670c469b14e17a61f6d60b5975aa8d2c1e8764c8e7305185f831d58"
+ "speech_left": {
+ "category": "symbols",
+ "moji": "🗨",
+ "description": "left speech bubble",
+ "unicodeVersion": "7.0",
+ "digest": "45487904f8cbf1a1de421f85fbdd212e0a7e51d8540d9f99b65a1aea187477b5"
},
- "b": {
+ "anger_right": {
"category": "symbols",
- "moji": "🅱",
- "description": "negative squared latin capital letter b",
+ "moji": "🗯",
+ "description": "right anger bubble",
+ "unicodeVersion": "7.0",
+ "digest": "f47446e92c821d4f4d1d9861b99b3b3fff69ef52364c0aea3d99dc8e5fa40c3e"
+ },
+ "thought_balloon": {
+ "category": "symbols",
+ "moji": "💭",
+ "description": "thought balloon",
"unicodeVersion": "6.0",
- "digest": "ae89fc972ef5c80863022ef169e3ceb4bfdece3cf052fe9023516904db23b8a0"
+ "digest": "d6a36d105964c8184aa889193b812be4307508c10a9bf99d6eb199565be2c5cc"
},
- "baby": {
+ "zzz": {
"category": "people",
- "moji": "👶",
- "description": "baby",
+ "moji": "💤",
+ "description": "sleeping symbol",
"unicodeVersion": "6.0",
- "digest": "16999f24cdb63691baf5a2a8252de265a8a73bbd10ba0d4214c85b2f43c5b02e"
+ "digest": "6b19746f5be6ee5f10dcb0969557eb9b02972d4429052237facf8d4b4f768546"
},
- "baby_bottle": {
- "category": "food",
- "moji": "🍼",
- "description": "baby bottle",
+ "wave": {
+ "category": "people",
+ "moji": "👋",
+ "description": "waving hand sign",
"unicodeVersion": "6.0",
- "digest": "2bd1cb4a294c83eb07b6d12e2abf8ab42a5083941096dd11ee772cdb1b1e3091"
+ "digest": "5b877d50f49e858c453871fc380f0449633870118d487217c0a1f7f9cab02a06"
},
- "baby_chick": {
- "category": "nature",
- "moji": "🐤",
- "description": "baby chick",
- "unicodeVersion": "6.0",
- "digest": "997e1f93ed8fb08c4362d5b0907b8243dc623a62e6cf0b3a9034112f187a3314"
+ "wave_tone1": {
+ "category": "people",
+ "moji": "👋🏻",
+ "description": "waving hand sign tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "d27aa7181be2fab9d0281889496ab100a6a9473d7b1b4b0b4bcaa7523a311706"
},
- "baby_symbol": {
- "category": "symbols",
- "moji": "🚼",
- "description": "baby symbol",
- "unicodeVersion": "6.0",
- "digest": "19ea4b3a81368933b6e78901205747e4fbc1dcdbfc3162f27191c1a8e0c395f7"
+ "wave_tone2": {
+ "category": "people",
+ "moji": "👋🏼",
+ "description": "waving hand sign tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "7656b85268eb3318a0e8f954d334ca585c780da567a9a57ffdf24ecc3758e123"
},
- "baby_tone1": {
+ "wave_tone3": {
"category": "people",
- "moji": "👶🏻",
- "description": "baby tone 1",
+ "moji": "👋🏽",
+ "description": "waving hand sign tone 3",
"unicodeVersion": "8.0",
- "digest": "f6262f7773de6b2cdbd5f0464ccbdd9584d8077d11c8b27cf353329d8dfdbded"
+ "digest": "002912d69d16d423253db2e90d04164b2a861847dd6eff31f9a28f32e8720c9b"
},
- "baby_tone2": {
+ "wave_tone4": {
"category": "people",
- "moji": "👶🏼",
- "description": "baby tone 2",
+ "moji": "👋🏾",
+ "description": "waving hand sign tone 4",
"unicodeVersion": "8.0",
- "digest": "c90cf6fa9a95e38ab449cfd25bd422e4ead60351666dc9221ade4e2eac17f38e"
+ "digest": "8e91cbf4b2eb22caa7c06e816d4083a861882b38cced8c59b5f19f7371114044"
},
- "baby_tone3": {
+ "wave_tone5": {
"category": "people",
- "moji": "👶🏽",
- "description": "baby tone 3",
+ "moji": "👋🏿",
+ "description": "waving hand sign tone 5",
"unicodeVersion": "8.0",
- "digest": "290215d0ad2cd110ea918fa7020aff5b5e8b08849ff2a5acae5ed1f8e9f59958"
+ "digest": "40f696691a3ee439029d7914abe0ccb5efe66bab0ed2c057080991fc878eb0f4"
},
- "baby_tone4": {
+ "raised_back_of_hand": {
"category": "people",
- "moji": "👶🏾",
- "description": "baby tone 4",
+ "moji": "🤚",
+ "description": "raised back of hand",
+ "unicodeVersion": "9.0",
+ "digest": "3335f2a4f8ac26c22418968e1836e697ee03af488a9349bab6795076ab5dd771"
+ },
+ "raised_back_of_hand_tone1": {
+ "category": "people",
+ "moji": "🤚🏻",
+ "description": "raised back of hand tone 1",
+ "unicodeVersion": "9.0",
+ "digest": "6388f3e4b61cc32967aa6b9bceb60e8673f01cb1cdf94c37332d61040be48d6b"
+ },
+ "raised_back_of_hand_tone2": {
+ "category": "people",
+ "moji": "🤚🏼",
+ "description": "raised back of hand tone 2",
+ "unicodeVersion": "9.0",
+ "digest": "66491196ad238a2a12c14d9be5cec12d22788d719725e7d22e6edad40afc0c8e"
+ },
+ "raised_back_of_hand_tone3": {
+ "category": "people",
+ "moji": "🤚🏽",
+ "description": "raised back of hand tone 3",
+ "unicodeVersion": "9.0",
+ "digest": "27e2f03168b0733a0492a30df1f2f924783bf309a3a05a22a27529953783d0cd"
+ },
+ "raised_back_of_hand_tone4": {
+ "category": "people",
+ "moji": "🤚🏾",
+ "description": "raised back of hand tone 4",
+ "unicodeVersion": "9.0",
+ "digest": "729c1c34a2aa7c236d11c73665fa7b29fa1c31cc3ce56ea0a7e46f0754483efd"
+ },
+ "raised_back_of_hand_tone5": {
+ "category": "people",
+ "moji": "🤚🏿",
+ "description": "raised back of hand tone 5",
+ "unicodeVersion": "9.0",
+ "digest": "50cca64dcbf0dff9a896668c6d909bd91805d699873224933e91af524c781320"
+ },
+ "hand_splayed": {
+ "category": "people",
+ "moji": "🖐",
+ "description": "raised hand with fingers splayed",
+ "unicodeVersion": "7.0",
+ "digest": "cf0d977763f453074d581b2f305065ec0237ff8d242ea99641b85e1041c4aa62"
+ },
+ "hand_splayed_tone1": {
+ "category": "people",
+ "moji": "🖐🏻",
+ "description": "raised hand with fingers splayed tone 1",
"unicodeVersion": "8.0",
- "digest": "dfda26c31ab16afde0500631e08875205deb3ebd87bbb96e8b746ae49ecefa11"
+ "digest": "33aeacad6f84a936dbcc8787d49cb0358afbde289bc324320f00f9582512762e"
},
- "baby_tone5": {
+ "hand_splayed_tone2": {
"category": "people",
- "moji": "👶🏿",
- "description": "baby tone 5",
+ "moji": "🖐🏼",
+ "description": "raised hand with fingers splayed tone 2",
"unicodeVersion": "8.0",
- "digest": "8c32dba5be741fb3c009e55e9766526dbfec3e90977c4ab24b8ee3472a38f8e8"
+ "digest": "e78d9a420e4b28549c90869764b09edb030884049e49202515cf31d3f95e04e3"
},
- "back": {
- "category": "symbols",
- "moji": "🔙",
- "description": "back with leftwards arrow above",
- "unicodeVersion": "6.0",
- "digest": "c473fa1c3be08fb1920ce88072cf4f6ce3a031707d765d5e24b47aab0aac45be"
+ "hand_splayed_tone3": {
+ "category": "people",
+ "moji": "🖐🏽",
+ "description": "raised hand with fingers splayed tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "252148eb798f804b341c862ca04b64bc499eef820e95d481abf85d88d2cadca7"
},
- "bacon": {
- "category": "food",
- "moji": "🥓",
- "description": "bacon",
- "unicodeVersion": "9.0",
- "digest": "a076ea85c09e7783948f5710294c32d34487402779227bf47dc6f8d0fe7a9689"
+ "hand_splayed_tone4": {
+ "category": "people",
+ "moji": "🖐🏾",
+ "description": "raised hand with fingers splayed tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "551ed9bcf75b5fd83b8d4d5e4d01700b494fd8787a40ab84db4783e670fa404c"
},
- "badminton": {
- "category": "activity",
- "moji": "🏸",
- "description": "badminton racquet",
+ "hand_splayed_tone5": {
+ "category": "people",
+ "moji": "🖐🏿",
+ "description": "raised hand with fingers splayed tone 5",
"unicodeVersion": "8.0",
- "digest": "52efeaba6a27cef40bbd624eb945bf8712c8ce3a135de8b979c1e04b440ec51a"
+ "digest": "a1b05e2a3dbd79b673e058f22533142c2e4bf6c542054ffbf3f61dc48f3aa274"
},
- "baggage_claim": {
- "category": "symbols",
- "moji": "🛄",
- "description": "baggage claim",
+ "raised_hand": {
+ "category": "people",
+ "moji": "✋",
+ "description": "raised hand",
"unicodeVersion": "6.0",
- "digest": "c99d1d554d119f4a1f8ffa7f6c53d03071972d2f0907ffcba4f5ef92739edb1d"
+ "digest": "0bfd815713f428f4408c4225abd10c73e1200dbabe07216cb5d07098f8314270"
},
- "balloon": {
- "category": "objects",
- "moji": "🎈",
- "description": "balloon",
- "unicodeVersion": "6.0",
- "digest": "9f76188ad32199d081dfc6757b68f66c8b4e8629f420e85d4cb88e00a72256ab"
+ "raised_hand_tone1": {
+ "category": "people",
+ "moji": "✋🏻",
+ "description": "raised hand tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "5d8a093e609223ce89bb3813d1b673d8558b81597ec747002a5e30792e1bcd72"
},
- "ballot_box": {
- "category": "objects",
- "moji": "🗳",
- "description": "ballot box with ballot",
+ "raised_hand_tone2": {
+ "category": "people",
+ "moji": "✋🏼",
+ "description": "raised hand tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "7b76fb17f3da3719ee18ca00903b0b89b4fad7718aa18df52c7920d0ae049fb2"
+ },
+ "raised_hand_tone3": {
+ "category": "people",
+ "moji": "✋🏽",
+ "description": "raised hand tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "44bce7c38e3b814d00fee161df4cdf94b2c73f5e044b65317010588029aae4be"
+ },
+ "raised_hand_tone4": {
+ "category": "people",
+ "moji": "✋🏾",
+ "description": "raised hand tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "b23fad6235d1e3dfbbf7c613013cf294b9c36c6d1f2228fd97fb4802aa3ef0af"
+ },
+ "raised_hand_tone5": {
+ "category": "people",
+ "moji": "✋🏿",
+ "description": "raised hand tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "a66a0fc82b6d8abd282f5c7f7e35cc31a3f83dd425f4621a3538a2455113b02a"
+ },
+ "vulcan": {
+ "category": "people",
+ "moji": "🖖",
+ "description": "raised hand with part between middle and ring fingers",
"unicodeVersion": "7.0",
- "digest": "375bf5ca28895dd54acc3f7927d62fed9d56ad79b5218f6f3be2533929ad47a5"
+ "digest": "829687cca319f7293457db7d49b7eb236c681def71b96711556534c6d9123279"
},
- "ballot_box_with_check": {
- "category": "symbols",
- "moji": "☑",
- "description": "ballot box with check",
- "unicodeVersion": "1.1",
- "digest": "81e61184a557724ccfe7c2f8e2005f053e134ed19c9c8e4aa5890d9fefc32392"
+ "vulcan_tone1": {
+ "category": "people",
+ "moji": "🖖🏻",
+ "description": "raised hand with part between middle and ring fingers tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "993550c5e6d01f173ce710e8d721474f21359f706cff863f913db3e31212ab56"
},
- "bamboo": {
- "category": "nature",
- "moji": "🎍",
- "description": "pine decoration",
- "unicodeVersion": "6.0",
- "digest": "1d26da431d87de2787fc0b8a18559ea14cc2fdbb928d40bcc0de6810a84be2bd"
+ "vulcan_tone2": {
+ "category": "people",
+ "moji": "🖖🏼",
+ "description": "raised hand with part between middle and ring fingers tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "fad2b5ba5fef661214bee2d43a93d2cedb9024d1ba6d1f0369e76e8167926156"
},
- "banana": {
- "category": "food",
- "moji": "🍌",
- "description": "banana",
+ "vulcan_tone3": {
+ "category": "people",
+ "moji": "🖖🏽",
+ "description": "raised hand with part between middle and ring fingers tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "344f09198268734de3a4f300b410a65c6a35d2ff958e7b675329e5ddffd1dd3f"
+ },
+ "vulcan_tone4": {
+ "category": "people",
+ "moji": "🖖🏾",
+ "description": "raised hand with part between middle and ring fingers tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "92f84231b71044b20d6132617fd1d2553472d3402175d85a42e24a3e5b40316d"
+ },
+ "vulcan_tone5": {
+ "category": "people",
+ "moji": "🖖🏿",
+ "description": "raised hand with part between middle and ring fingers tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "ab3aec60fd46b425d0ff4bed7e96f25007b6943e6e46b1754e695ef5e289c7a5"
+ },
+ "ok_hand": {
+ "category": "people",
+ "moji": "👌",
+ "description": "ok hand sign",
"unicodeVersion": "6.0",
- "digest": "9e11c486281f89713ed8853946434210f068e7cc5e26776f80125d7c1c303a84"
+ "digest": "7ef74c756b59eb60e85daf27cb92962c376733220fbfdb5569be95e67496abc0"
},
- "bangbang": {
- "category": "symbols",
- "moji": "‼",
- "description": "double exclamation mark",
+ "ok_hand_tone1": {
+ "category": "people",
+ "moji": "👌🏻",
+ "description": "ok hand sign tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "285a19578d98da6686b597b5e384edab263d8129194dd3672767d9c67632dae5"
+ },
+ "ok_hand_tone2": {
+ "category": "people",
+ "moji": "👌🏼",
+ "description": "ok hand sign tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "b746860ad63866d6afac53fb82ac6b593e9fbcedad18728bf874091f12c4284d"
+ },
+ "ok_hand_tone3": {
+ "category": "people",
+ "moji": "👌🏽",
+ "description": "ok hand sign tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "b5eba516e1d45861434c3871ef11450771aecc6d219b9328cea618424f2c0f4e"
+ },
+ "ok_hand_tone4": {
+ "category": "people",
+ "moji": "👌🏾",
+ "description": "ok hand sign tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "c4f1bf219363ef580b95fcb99e7aa541ddf1464e17d6d837f4a535b8c6eb0b58"
+ },
+ "ok_hand_tone5": {
+ "category": "people",
+ "moji": "👌🏿",
+ "description": "ok hand sign tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "fccfab629162bb963f7dd60b84a2fd101f52a1f51edaf2e84a4dca5149ec1516"
+ },
+ "v": {
+ "category": "people",
+ "moji": "✌",
+ "description": "victory hand",
"unicodeVersion": "1.1",
- "digest": "905c1dc3100192f2052c72531cf796e106815f1ce11ba1993d18c0585ed75e18"
+ "digest": "cf0a1553b56d27c678ee71819933807339d0134eb71119aecc0c185bcd922996"
},
- "bank": {
- "category": "travel",
- "moji": "🏦",
- "description": "bank",
- "unicodeVersion": "6.0",
- "digest": "ec529c75f3ccf2110adbe912d06269357d84f831ba737eab90aa408d8097bb35"
+ "v_tone1": {
+ "category": "people",
+ "moji": "✌🏻",
+ "description": "victory hand tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "1d4b156f48968318917284d695cf72f56f2ad8d2ed318f3886fa1eca5a27439f"
},
- "bar_chart": {
- "category": "objects",
- "moji": "📊",
- "description": "bar chart",
- "unicodeVersion": "6.0",
- "digest": "ba858a33edbab84f6c0505404a0f10cd89031747ab4e9104524973813d05970a"
+ "v_tone2": {
+ "category": "people",
+ "moji": "✌🏼",
+ "description": "victory hand tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "6d842f89c4fe8d344d7748b4de74733a7b680566589556e542f808b28de8c12a"
},
- "barber": {
- "category": "objects",
- "moji": "💈",
- "description": "barber pole",
- "unicodeVersion": "6.0",
- "digest": "9ef01a8d9556863264c72b59b404f302f870b676a836ba3beb8892f745b40c80"
+ "v_tone3": {
+ "category": "people",
+ "moji": "✌🏽",
+ "description": "victory hand tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "0125d0d20a51b11716399dcb0e0b81220a1fe755ea7a2e2fed22c5688516ae52"
},
- "baseball": {
- "category": "activity",
- "moji": "⚾",
- "description": "baseball",
- "unicodeVersion": "5.2",
- "digest": "8c9c750fe39ff65807d9deabccce9dbf96cdff585f320919973576027093c7a6"
+ "v_tone4": {
+ "category": "people",
+ "moji": "✌🏾",
+ "description": "victory hand tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "10502f0b7ce2aaaf9e9823f74f7cbe88503ec5bd614218b75c8f277b8a280328"
},
- "basketball": {
- "category": "activity",
- "moji": "🏀",
- "description": "basketball and hoop",
- "unicodeVersion": "6.0",
- "digest": "1c38475863ccaf78b869bdd50d0eb71d189299e189be0ab8b00405096a047628"
+ "v_tone5": {
+ "category": "people",
+ "moji": "✌🏿",
+ "description": "victory hand tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "1ea229068485d71074f7b6c782c6d275d7ff0a039f8c4ace5ba2700ee94315c4"
},
- "basketball_player": {
- "category": "activity",
- "moji": "⛹",
- "description": "person with ball",
- "unicodeVersion": "5.2",
- "digest": "518a3f9b20138447812b9ea81f879c035a03694c426f77d8bdc8cef51c04592f"
+ "fingers_crossed": {
+ "category": "people",
+ "moji": "🤞",
+ "description": "hand with first and index finger crossed",
+ "unicodeVersion": "9.0",
+ "digest": "fee443087ed38c26487edd1bd8866ce399ef6a8eb98342fc0110bd2f77835253"
},
- "basketball_player_tone1": {
- "category": "activity",
- "moji": "⛹🏻",
- "description": "person with ball tone 1",
+ "fingers_crossed_tone1": {
+ "category": "people",
+ "moji": "🤞🏻",
+ "description": "hand with index and middle fingers crossed tone 1",
+ "unicodeVersion": "9.0",
+ "digest": "b91c28f9644867ff41f22c1f80b6c9ee120413ae62f30772c9853d76987fed05"
+ },
+ "fingers_crossed_tone2": {
+ "category": "people",
+ "moji": "🤞🏼",
+ "description": "hand with index and middle fingers crossed tone 2",
+ "unicodeVersion": "9.0",
+ "digest": "9d4ea025f1daa063d14e8d26c3c94a0c86379b214ac8125acc404820fd1ddbb5"
+ },
+ "fingers_crossed_tone3": {
+ "category": "people",
+ "moji": "🤞🏽",
+ "description": "hand with index and middle fingers crossed tone 3",
+ "unicodeVersion": "9.0",
+ "digest": "23ee099706ec89b6bbc6f2911f9f1571822192d913516279a5318d92d01bc754"
+ },
+ "fingers_crossed_tone4": {
+ "category": "people",
+ "moji": "🤞🏾",
+ "description": "hand with index and middle fingers crossed tone 4",
+ "unicodeVersion": "9.0",
+ "digest": "cda52831530605511b13a4953136dd5f36fca1fbf3d11ac261caac862086aff9"
+ },
+ "fingers_crossed_tone5": {
+ "category": "people",
+ "moji": "🤞🏿",
+ "description": "hand with index and middle fingers crossed tone 5",
+ "unicodeVersion": "9.0",
+ "digest": "b49c1b15808715547f6f04113cf1631f4d79f8c1fec5f9ecdeea60284f9b4dad"
+ },
+ "metal": {
+ "category": "people",
+ "moji": "🤘",
+ "description": "sign of the horns",
"unicodeVersion": "8.0",
- "digest": "e34414295433335df2783de205076e9c44cdbd7e07a041d2695a83e4fe4f70ba"
+ "digest": "9bc7445e2832356d34c88f498c426fcc3fced736323af13cd8bfa18ab4a795f2"
},
- "basketball_player_tone2": {
- "category": "activity",
- "moji": "⛹🏼",
- "description": "person with ball tone 2",
+ "metal_tone1": {
+ "category": "people",
+ "moji": "🤘🏻",
+ "description": "sign of the horns tone 1",
"unicodeVersion": "8.0",
- "digest": "59308fa1cbe4b778990ced93eb866bbad7f88fda3c1b68837d0da822801f0f20"
+ "digest": "c2107bd9851d508f8128c0dbcd02d3d623597d866d4c938889ec5b4cb2dccf84"
},
- "basketball_player_tone3": {
- "category": "activity",
- "moji": "⛹🏽",
- "description": "person with ball tone 3",
+ "metal_tone2": {
+ "category": "people",
+ "moji": "🤘🏼",
+ "description": "sign of the horns tone 2",
"unicodeVersion": "8.0",
- "digest": "e334bddf438b49c145a5c11c010a05964dc50495510017dc37ea8bd6ddc400b3"
+ "digest": "85583c2c1eff98dc005d2c7cd80f75b18fe4723055b677c8f1bc90207cf0b1fd"
},
- "basketball_player_tone4": {
- "category": "activity",
- "moji": "⛹🏾",
- "description": "person with ball tone 4",
+ "metal_tone3": {
+ "category": "people",
+ "moji": "🤘🏽",
+ "description": "sign of the horns tone 3",
"unicodeVersion": "8.0",
- "digest": "24a472bcb4f27a2d8fe2dce4ed6a060391a798721b2146cf6921ff7059bb8446"
+ "digest": "f004a5b303b1e7bcf20d46bc42214e21f703658f7f83503888c326d9e76cf29f"
},
- "basketball_player_tone5": {
- "category": "activity",
- "moji": "⛹🏿",
- "description": "person with ball tone 5",
+ "metal_tone4": {
+ "category": "people",
+ "moji": "🤘🏾",
+ "description": "sign of the horns tone 4",
"unicodeVersion": "8.0",
- "digest": "8c6a17f2c938aa60aba16634d81dcb069f2c6e7bbf8d79bf36fe888ff83951ae"
+ "digest": "968ebedf7b100f33773f73cfd98c24a62870d022b46ac5c442a8b34184c9a5cf"
},
- "bat": {
- "category": "nature",
- "moji": "🦇",
- "description": "bat",
+ "metal_tone5": {
+ "category": "people",
+ "moji": "🤘🏿",
+ "description": "sign of the horns tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "be4add5e381ffb482ed191f1f305eeb22707c67e251660ccf76bf550d32e16eb"
+ },
+ "call_me": {
+ "category": "people",
+ "moji": "🤙",
+ "description": "call me hand",
"unicodeVersion": "9.0",
- "digest": "5f66d15070c283ae9a293719ada7d88d6837f858dda94c61cf56835f734985d8"
+ "digest": "3701197e18ffedc242a6b20ab74e7a339c7f77df27c5f92d5124a42e39a9502a"
},
- "bath": {
- "category": "activity",
- "moji": "🛀",
- "description": "bath",
+ "call_me_tone1": {
+ "category": "people",
+ "moji": "🤙🏻",
+ "description": "call me hand tone 1",
+ "unicodeVersion": "9.0",
+ "digest": "1c5c681c9b588a2b07a57d27d3aaf209e7d23c4cba938ffce07bfa4a53d720e9"
+ },
+ "call_me_tone2": {
+ "category": "people",
+ "moji": "🤙🏼",
+ "description": "call me hand tone 2",
+ "unicodeVersion": "9.0",
+ "digest": "4c848da3d8849de81922aa2eb6611489ad72649cf189849176217e946cf9aad8"
+ },
+ "call_me_tone3": {
+ "category": "people",
+ "moji": "🤙🏽",
+ "description": "call me hand tone 3",
+ "unicodeVersion": "9.0",
+ "digest": "b697c1a4aa15f7793002b79aee8e5240f48b832b33f8ad39b8d46b90624c6c0a"
+ },
+ "call_me_tone4": {
+ "category": "people",
+ "moji": "🤙🏾",
+ "description": "call me hand tone 4",
+ "unicodeVersion": "9.0",
+ "digest": "f1b07c2a8071f5f704b5354277777aa651202f56ef7d334ce66e0475fdba086a"
+ },
+ "call_me_tone5": {
+ "category": "people",
+ "moji": "🤙🏿",
+ "description": "call me hand tone 5",
+ "unicodeVersion": "9.0",
+ "digest": "d7d8d96a3980e3c558d3e3ef62aa49dc237c075f0c3dfb0b06ae33fc98f565c5"
+ },
+ "point_left": {
+ "category": "people",
+ "moji": "👈",
+ "description": "white left pointing backhand index",
"unicodeVersion": "6.0",
- "digest": "2cac99346c8054b8f883c45194395b35121e7108aaa36ecddccc16d30c32efae"
+ "digest": "b7f186ed45ddd21e5c62cbc3d5040194ae1282caad89508fa628c248b3edf0bd"
},
- "bath_tone1": {
- "category": "activity",
- "moji": "🛀🏻",
- "description": "bath tone 1",
+ "point_left_tone1": {
+ "category": "people",
+ "moji": "👈🏻",
+ "description": "white left pointing backhand index tone 1",
"unicodeVersion": "8.0",
- "digest": "17a3cd2bf235984c097eb1ab875b44516e1deba49c9237d0d25585b3df326a57"
+ "digest": "439f771d094340a43f83b8f2e05b39d90b2ec3921756fea2878754119aafd683"
},
- "bath_tone2": {
- "category": "activity",
- "moji": "🛀🏼",
- "description": "bath tone 2",
+ "point_left_tone2": {
+ "category": "people",
+ "moji": "👈🏼",
+ "description": "white left pointing backhand index tone 2",
"unicodeVersion": "8.0",
- "digest": "4ca1d1c1a48290c175551fe9ec30d1b82dc7a952530e978d085d72180c1886e0"
+ "digest": "73d6b8d0df34df349653fcfdbcc2adbc98ba6c25f612d933cc52da1154af37f2"
},
- "bath_tone3": {
- "category": "activity",
- "moji": "🛀🏽",
- "description": "bath tone 3",
+ "point_left_tone3": {
+ "category": "people",
+ "moji": "👈🏽",
+ "description": "white left pointing backhand index tone 3",
"unicodeVersion": "8.0",
- "digest": "084a77c7f583653d8c1d228432144b3210fcd50ed96630591663b3c4dff282fd"
+ "digest": "1cfd0d1db8a06ead619a12bd248c4c9fda7b6b50309a2526a20bfc66dcb86177"
},
- "bath_tone4": {
- "category": "activity",
- "moji": "🛀🏾",
- "description": "bath tone 4",
+ "point_left_tone4": {
+ "category": "people",
+ "moji": "👈🏾",
+ "description": "white left pointing backhand index tone 4",
"unicodeVersion": "8.0",
- "digest": "c605e25a1efd41be4ded235b71924c495b0aa861bdd6f43d9f5137c51de14bb1"
+ "digest": "26b4755890f8e290e7d8958566612c14caa6522a7bd43a3d7e8c206436fad70b"
},
- "bath_tone5": {
- "category": "activity",
- "moji": "🛀🏿",
- "description": "bath tone 5",
+ "point_left_tone5": {
+ "category": "people",
+ "moji": "👈🏿",
+ "description": "white left pointing backhand index tone 5",
"unicodeVersion": "8.0",
- "digest": "e15b1bd11177d6a342dfe5eadb52969d60e6b7a1662afe55610aebbcc1a44242"
+ "digest": "8ca52d65aaedcf7ca346e90da3f53b50af83dfd544ed8631b4da1ab31e5e1497"
},
- "bathtub": {
- "category": "objects",
- "moji": "🛁",
- "description": "bathtub",
+ "point_right": {
+ "category": "people",
+ "moji": "👉",
+ "description": "white right pointing backhand index",
"unicodeVersion": "6.0",
- "digest": "1caecc05b8ae78774b7620480f4cfbbb549ca2bf6b2fb93badecf440db9ce9c8"
+ "digest": "2d27c0ffba78c5c5fbd502dd42fbbae220c8619c8a2b964bef03e4a84ad4a1b6"
},
- "battery": {
- "category": "objects",
- "moji": "🔋",
- "description": "battery",
- "unicodeVersion": "6.0",
- "digest": "8c50a487dfc349dd3b57ab4000e892efaeec967e5862485b3a023fb63c8c2949"
+ "point_right_tone1": {
+ "category": "people",
+ "moji": "👉🏻",
+ "description": "white right pointing backhand index tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "c2f84a57648a6de49b2b9000afd2c45ce1ef8f303d71f248b292e3fe83b8cf94"
},
- "beach": {
- "category": "travel",
- "moji": "🏖",
- "description": "beach with umbrella",
- "unicodeVersion": "7.0",
- "digest": "98bb54c59c818b30ae9024d85156424a345f2912ca2b37b0ef18f2ef60b96619"
+ "point_right_tone2": {
+ "category": "people",
+ "moji": "👉🏼",
+ "description": "white right pointing backhand index tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "0a1aae46415401cd3557f61ce491e975acaa995b6c2bf487977beb91e4b1bc7e"
},
- "beach_umbrella": {
- "category": "objects",
- "moji": "⛱",
- "description": "umbrella on ground",
- "unicodeVersion": "5.2",
- "digest": "8222557bcf3669971279b80855fad3d97cd891e8a446b2e82ca220627a4283d5"
+ "point_right_tone3": {
+ "category": "people",
+ "moji": "👉🏽",
+ "description": "white right pointing backhand index tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "86c13a18c53b548907ec0ec468922beab040c29a365f55e18f265e79f1bb42bf"
},
- "bear": {
- "category": "nature",
- "moji": "🐻",
- "description": "bear face",
+ "point_right_tone4": {
+ "category": "people",
+ "moji": "👉🏾",
+ "description": "white right pointing backhand index tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "1605160b761b975c0f11490eb1a7b724c674ec371d72e73f824fdbe873aeddb2"
+ },
+ "point_right_tone5": {
+ "category": "people",
+ "moji": "👉🏿",
+ "description": "white right pointing backhand index tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "1cfee9fdcdaa1a790c14a4f8436dad4b3b6677860bf60dd1da3985fc7cb25a00"
+ },
+ "point_up_2": {
+ "category": "people",
+ "moji": "👆",
+ "description": "white up pointing backhand index",
"unicodeVersion": "6.0",
- "digest": "6d7ed0e469e7146c5fa5caf7496e516f553eecf2b212ec7835a0636cff147a51"
+ "digest": "0e5a1d7841d0f54762d0fadf460086cad4fcd05fbf65cabdf1df90d1ab0c3f2b"
},
- "bed": {
- "category": "objects",
- "moji": "🛏",
- "description": "bed",
+ "point_up_2_tone1": {
+ "category": "people",
+ "moji": "👆🏻",
+ "description": "white up pointing backhand index tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "bdcd26a212498dcddc69342caefe4a68d2b4bfbebcfa94045a1c27dcce158311"
+ },
+ "point_up_2_tone2": {
+ "category": "people",
+ "moji": "👆🏼",
+ "description": "white up pointing backhand index tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "fd5a6d912f3533b3356392e68df8b155dcacd3bb2d2e1c44d84807d587ef1ed5"
+ },
+ "point_up_2_tone3": {
+ "category": "people",
+ "moji": "👆🏽",
+ "description": "white up pointing backhand index tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "57af38773077d28200e033dc3dd28913f570311a51b833df32f23a85bfcc530c"
+ },
+ "point_up_2_tone4": {
+ "category": "people",
+ "moji": "👆🏾",
+ "description": "white up pointing backhand index tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "7110f1d42dffcab536906e176baa36e817142f9d71329fdfc1b74ee9813cffd6"
+ },
+ "point_up_2_tone5": {
+ "category": "people",
+ "moji": "👆🏿",
+ "description": "white up pointing backhand index tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "1795ede377cdd58189471af3f6488d8197f2a742f817f8a61523ccff8d08581b"
+ },
+ "middle_finger": {
+ "category": "people",
+ "moji": "🖕",
+ "description": "reversed hand with middle finger extended",
"unicodeVersion": "7.0",
- "digest": "73395ab70c867c776ef56dd14507f7feeaa7871f98e0c0c417df5345e8034976"
+ "digest": "7d543ffbc78a5e8b9162c0f48e4503f6e32efefea7f3b22f436463ace77066fa"
},
- "bee": {
- "category": "nature",
- "moji": "🐝",
- "description": "honeybee",
- "unicodeVersion": "6.0",
- "digest": "57d564f50abfd154473c3ebb16aeac058dc15253fed2b319daf1f2cb063e29af"
+ "middle_finger_tone1": {
+ "category": "people",
+ "moji": "🖕🏻",
+ "description": "reversed hand with middle finger extended tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "40a676ff704d57f6b5d2bd8c31b183600781bf3f0ff4342f1e4886717228e0ee"
},
- "beer": {
- "category": "food",
- "moji": "🍺",
- "description": "beer mug",
+ "middle_finger_tone2": {
+ "category": "people",
+ "moji": "🖕🏼",
+ "description": "reversed hand with middle finger extended tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "9dcd0cc6a88d67d7fd561fccf95fd3a6030b53598fea69d5de6f14ffd72b3a82"
+ },
+ "middle_finger_tone3": {
+ "category": "people",
+ "moji": "🖕🏽",
+ "description": "reversed hand with middle finger extended tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "7787a192eff949d308e925c9df0a44153429df4a290c6f348a950e8414b1d4dc"
+ },
+ "middle_finger_tone4": {
+ "category": "people",
+ "moji": "🖕🏾",
+ "description": "reversed hand with middle finger extended tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "b5b4b65aa300d498aaef8753cffb34455111887a12a378b2517297622f428330"
+ },
+ "middle_finger_tone5": {
+ "category": "people",
+ "moji": "🖕🏿",
+ "description": "reversed hand with middle finger extended tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "c08f75c25bd88a288d685849a8575d868b257296c1afae80d241ec5e9193bea3"
+ },
+ "point_down": {
+ "category": "people",
+ "moji": "👇",
+ "description": "white down pointing backhand index",
"unicodeVersion": "6.0",
- "digest": "c7e45519f39d1cfb1c97d05bca80ee8881dca7aced770d3dac5f282f5bb34773"
+ "digest": "4fa9f01922409ef7831ad0ab78782174dd59c46e74e9a76c38111fcdbc1666a1"
},
- "beers": {
- "category": "food",
- "moji": "🍻",
- "description": "clinking beer mugs",
+ "point_down_tone1": {
+ "category": "people",
+ "moji": "👇🏻",
+ "description": "white down pointing backhand index tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "e64f86886b78db3088952713caef3144f99ba1d8b5f730e640c4ae42762fb645"
+ },
+ "point_down_tone2": {
+ "category": "people",
+ "moji": "👇🏼",
+ "description": "white down pointing backhand index tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "7d44c5c286b83afdc301c8a39bda0e1619d8a099cc576cbcebf55af15931a55e"
+ },
+ "point_down_tone3": {
+ "category": "people",
+ "moji": "👇🏽",
+ "description": "white down pointing backhand index tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "33d981c6cd9641f2864b807bc2e288798bbd56bbd413e1aa4d23d42bb6e1af74"
+ },
+ "point_down_tone4": {
+ "category": "people",
+ "moji": "👇🏾",
+ "description": "white down pointing backhand index tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "19dc8c01dd571e65f0314cc18b55bde4038617b782808faae976cffb0fadfce4"
+ },
+ "point_down_tone5": {
+ "category": "people",
+ "moji": "👇🏿",
+ "description": "white down pointing backhand index tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "67b1413272b5a0c8efbbd5461bd6fd89849ac5f8dc0d1dac26e2edfcc6b9d1ea"
+ },
+ "point_up": {
+ "category": "people",
+ "moji": "☝",
+ "description": "white up pointing index",
+ "unicodeVersion": "1.1",
+ "digest": "dc20d84a1a808e2d207f10f2f292cb78e05b9e67b4a26f7491e0c6c7f8059af5"
+ },
+ "point_up_tone1": {
+ "category": "people",
+ "moji": "☝🏻",
+ "description": "white up pointing index tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "16f0e85643558fd2f471cc8d317058914f42279f4aef2ba0e8390728efb4992b"
+ },
+ "point_up_tone2": {
+ "category": "people",
+ "moji": "☝🏼",
+ "description": "white up pointing index tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "fe8f930134adc4be29b7e659c6acbfa76ba52ab3d0b46dd4797e79c365708666"
+ },
+ "point_up_tone3": {
+ "category": "people",
+ "moji": "☝🏽",
+ "description": "white up pointing index tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "d7258aeab80e697649a0e8ad13445380462bb5814c90b1183cc105ebe3eaa5ef"
+ },
+ "point_up_tone4": {
+ "category": "people",
+ "moji": "☝🏾",
+ "description": "white up pointing index tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "4c4aca5e2e436421b26d5d58a82bd52fdb9135593fb1afd92c30fa8f1ed51dd1"
+ },
+ "point_up_tone5": {
+ "category": "people",
+ "moji": "☝🏿",
+ "description": "white up pointing index tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "ab94fd7fe02205894add98c4c97d812f2228c7c766b1b0e01fa1e9e5dc7c669b"
+ },
+ "thumbsup": {
+ "category": "people",
+ "moji": "👍",
+ "description": "thumbs up sign",
"unicodeVersion": "6.0",
- "digest": "8f11a1397605165bfd346619faa5fcddfd1f6b4f9fc2ddc4756cd2518ed92062"
+ "digest": "38755ce0360171dd24005d6f4d6b06c2df337adb0cfd590e2e381cf44a9c24ec"
},
- "beetle": {
- "category": "nature",
- "moji": "🐞",
- "description": "lady beetle",
+ "thumbsup_tone1": {
+ "category": "people",
+ "moji": "👍🏻",
+ "description": "thumbs up sign tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "15492d43b5bafa46473154505b431ed81e365b6ebce507c97f509a00333420f3"
+ },
+ "thumbsup_tone2": {
+ "category": "people",
+ "moji": "👍🏼",
+ "description": "thumbs up sign tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "87f9941a2d3afba4ff5737a113cf070dcfbc3a2292ad15cb5b07459692cb0fdd"
+ },
+ "thumbsup_tone3": {
+ "category": "people",
+ "moji": "👍🏽",
+ "description": "thumbs up sign tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "f09364411db2331284b3deb85c6107049cbb41d2e5edfb50f61fc5907641a7a0"
+ },
+ "thumbsup_tone4": {
+ "category": "people",
+ "moji": "👍🏾",
+ "description": "thumbs up sign tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "8c1322a624b0ebcab1f08d7675df39383eac8b1d4b627889d3393b0d3cdc946d"
+ },
+ "thumbsup_tone5": {
+ "category": "people",
+ "moji": "👍🏿",
+ "description": "thumbs up sign tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "6dec547ee282457cbbcb7e3dffcf804188aed47960a70069df81a547a8f40df9"
+ },
+ "thumbsdown": {
+ "category": "people",
+ "moji": "👎",
+ "description": "thumbs down sign",
"unicodeVersion": "6.0",
- "digest": "c05375aae35bdedd627fa55d63bda6ec9351d9a261a4a60145a8a775d99deaee"
+ "digest": "e5e3594f30f8b3c59f22963c3a903ec69569e9735690cbce1c96da981cea5f91"
},
- "beginner": {
- "category": "symbols",
- "moji": "🔰",
- "description": "japanese symbol for beginner",
+ "thumbsdown_tone1": {
+ "category": "people",
+ "moji": "👎🏻",
+ "description": "thumbs down sign tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "e360d25bc6fc05243ec5ea6489fdc80702899783faa83c88686c9b73c9e8684c"
+ },
+ "thumbsdown_tone2": {
+ "category": "people",
+ "moji": "👎🏼",
+ "description": "thumbs down sign tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "bf0ad5d01e7ac0ab4d2be9db76615ff303bd01d2b4915b2b846a494aa36878fd"
+ },
+ "thumbsdown_tone3": {
+ "category": "people",
+ "moji": "👎🏽",
+ "description": "thumbs down sign tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "e3d907396c17971a6d533900dd857ad273c1b0ff1af520c6fda780a54616b3c8"
+ },
+ "thumbsdown_tone4": {
+ "category": "people",
+ "moji": "👎🏾",
+ "description": "thumbs down sign tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "31a952ef8b0fe9c0a9b04e46033e052d8104539929509010f7ab74a09b72d396"
+ },
+ "thumbsdown_tone5": {
+ "category": "people",
+ "moji": "👎🏿",
+ "description": "thumbs down sign tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "afe38eb9c879ba04556cb4bf211ef0dae63b51957389256e5af93dc7e7e94cef"
+ },
+ "fist": {
+ "category": "people",
+ "moji": "✊",
+ "description": "raised fist",
"unicodeVersion": "6.0",
- "digest": "330defe4283c7387645422a58f8ccdba013087938a21e726bad64abaafc5d2c3"
+ "digest": "5902870e6121df3f316a3c5f62b3e0a32679f3fca37fda165267d15001fbcfe4"
},
- "bell": {
- "category": "symbols",
- "moji": "🔔",
- "description": "bell",
+ "fist_tone1": {
+ "category": "people",
+ "moji": "✊🏻",
+ "description": "raised fist tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "9c4e0289af6fd5a9fdb5b77396d37d93f97bf0f302c20a980dc4663121b31eb9"
+ },
+ "fist_tone2": {
+ "category": "people",
+ "moji": "✊🏼",
+ "description": "raised fist tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "6784ddda1bef3dee456860266c9d408efddbfd50566115f674091ae338d8a8bd"
+ },
+ "fist_tone3": {
+ "category": "people",
+ "moji": "✊🏽",
+ "description": "raised fist tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "0355b2238cabd2edcedbb47b548db789bcb1ccbd1fc56090e2b5976db0f792ef"
+ },
+ "fist_tone4": {
+ "category": "people",
+ "moji": "✊🏾",
+ "description": "raised fist tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "2e29b3c36c7260c6f327941b4345be2642f034f36c6b5cb9ffcff0ee7a6140b3"
+ },
+ "fist_tone5": {
+ "category": "people",
+ "moji": "✊🏿",
+ "description": "raised fist tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "3d69c0e6b12f4e6ec6b9e6a3b2974b880c4017d92bfe77bf5e14e8cc713d1c8c"
+ },
+ "punch": {
+ "category": "people",
+ "moji": "👊",
+ "description": "fisted hand sign",
"unicodeVersion": "6.0",
- "digest": "dae95427928c10693b249c1d324838702dd43295658faa85a9687ae4ea8cc36d"
+ "digest": "1f8bdf4ead54a6d9ccad648c98f126a49e4a16a1d525abf8d8194b2e253461e2"
},
- "bellhop": {
- "category": "objects",
- "moji": "🛎",
- "description": "bellhop bell",
- "unicodeVersion": "7.0",
- "digest": "9ea748fc595b9bdc1f012b38d2b86d42092baa8d4c58dc38040f624c0a893f2a"
+ "punch_tone1": {
+ "category": "people",
+ "moji": "👊🏻",
+ "description": "fisted hand sign tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "6e368dfc6f762bc1db1127592d91fa29437f182391a71d61472e8459b2dfc770"
},
- "bento": {
- "category": "food",
- "moji": "🍱",
- "description": "bento box",
+ "punch_tone2": {
+ "category": "people",
+ "moji": "👊🏼",
+ "description": "fisted hand sign tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "62e40f8ac33d5f28cc2bba06dc0871627db3f40a04f16a7dd2ab426bb9c740a4"
+ },
+ "punch_tone3": {
+ "category": "people",
+ "moji": "👊🏽",
+ "description": "fisted hand sign tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "94a9d410d1ac2252be7386a2110708686ea2bba4859f3fd84a11e64bbd6a1432"
+ },
+ "punch_tone4": {
+ "category": "people",
+ "moji": "👊🏾",
+ "description": "fisted hand sign tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "b378775978c26547d87fe8d2f7d20a05c2bbca386d40533fe774e4bca2e7540a"
+ },
+ "punch_tone5": {
+ "category": "people",
+ "moji": "👊🏿",
+ "description": "fisted hand sign tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "4300760b118dee45c53098601e7d8f9d3ec66e87f2d11e87b07adb79793c53e8"
+ },
+ "left_facing_fist": {
+ "category": "people",
+ "moji": "🤛",
+ "description": "left-facing fist",
+ "unicodeVersion": "9.0",
+ "digest": "69390c51d4188f7f5381f7d8f4658c8ea4e52455ed648ebf59b6fb3157c5c6e0"
+ },
+ "left_facing_fist_tone1": {
+ "category": "people",
+ "moji": "🤛🏻",
+ "description": "left facing fist tone 1",
+ "unicodeVersion": "9.0",
+ "digest": "57e9a2288243d2024cf25e4258c48e1b0bfe5c12aee218629bb03f8a5ab0cb61"
+ },
+ "left_facing_fist_tone2": {
+ "category": "people",
+ "moji": "🤛🏼",
+ "description": "left facing fist tone 2",
+ "unicodeVersion": "9.0",
+ "digest": "061ef44811174e10f7598aadf1f4c69cbc915d029ba83d5101cc34d0cfd44431"
+ },
+ "left_facing_fist_tone3": {
+ "category": "people",
+ "moji": "🤛🏽",
+ "description": "left facing fist tone 3",
+ "unicodeVersion": "9.0",
+ "digest": "c313fcb7d4e1505b76ce25e45b50c0c4d0842be34c472abc328915f07e6b6efe"
+ },
+ "left_facing_fist_tone4": {
+ "category": "people",
+ "moji": "🤛🏾",
+ "description": "left facing fist tone 4",
+ "unicodeVersion": "9.0",
+ "digest": "825e7feac0a934250246dcb97cae5daafe31aef100c9614a17ba0c7669cb18ee"
+ },
+ "left_facing_fist_tone5": {
+ "category": "people",
+ "moji": "🤛🏿",
+ "description": "left facing fist tone 5",
+ "unicodeVersion": "9.0",
+ "digest": "20bfe330f9c1ae22b0cd4d0af0a8a5d062e898fafe10c8a4153f89e582c0de54"
+ },
+ "right_facing_fist": {
+ "category": "people",
+ "moji": "🤜",
+ "description": "right-facing fist",
+ "unicodeVersion": "9.0",
+ "digest": "d1abe6e551a7b336ed0c7234db5c5a653db975647ac603a320f05b1635378736"
+ },
+ "right_facing_fist_tone1": {
+ "category": "people",
+ "moji": "🤜🏻",
+ "description": "right facing fist tone 1",
+ "unicodeVersion": "9.0",
+ "digest": "d281365007abb9150174089f9a1baa7033237f6e566aca72763e538861674a74"
+ },
+ "right_facing_fist_tone2": {
+ "category": "people",
+ "moji": "🤜🏼",
+ "description": "right facing fist tone 2",
+ "unicodeVersion": "9.0",
+ "digest": "841c242354f94f30eea0e16ab3373d6c6d6d3e6a90ac20baf7765a08bf6e7f07"
+ },
+ "right_facing_fist_tone3": {
+ "category": "people",
+ "moji": "🤜🏽",
+ "description": "right facing fist tone 3",
+ "unicodeVersion": "9.0",
+ "digest": "6843fe9b8f162bc43bff78c16555f9eadece02285ca7758818db5e8c4caf064b"
+ },
+ "right_facing_fist_tone4": {
+ "category": "people",
+ "moji": "🤜🏾",
+ "description": "right facing fist tone 4",
+ "unicodeVersion": "9.0",
+ "digest": "af349e6f8b54e0124667e7a6cf01fb4eb48eb21653e8f6d0ddd22e8114dde797"
+ },
+ "right_facing_fist_tone5": {
+ "category": "people",
+ "moji": "🤜🏿",
+ "description": "right facing fist tone 5",
+ "unicodeVersion": "9.0",
+ "digest": "efd40f38ab91c5ea8e66ba129d4aa2d5af2c35c5030182695cfe81d6e9123987"
+ },
+ "clap": {
+ "category": "people",
+ "moji": "👏",
+ "description": "clapping hands sign",
"unicodeVersion": "6.0",
- "digest": "dee568150c21a99f0b6ce11af58ac7c8a298443fc3971e3efead7728b1bc7459"
+ "digest": "68fca08d9340cd18b061a9ceef10111b006df9f888b534dd9b307c490cdb045c"
},
- "bicyclist": {
- "category": "activity",
- "moji": "🚴",
- "description": "bicyclist",
+ "clap_tone1": {
+ "category": "people",
+ "moji": "👏🏻",
+ "description": "clapping hands sign tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "dc842eb100206a92eab5cefadeb5dab004ee34d054b0adc02de27f525a0a724c"
+ },
+ "clap_tone2": {
+ "category": "people",
+ "moji": "👏🏼",
+ "description": "clapping hands sign tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "6a92a954a6ea47ce0e42dceee82cd4220f710582f7589cb86037555f0a5e9dce"
+ },
+ "clap_tone3": {
+ "category": "people",
+ "moji": "👏🏽",
+ "description": "clapping hands sign tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "6b7dfeae569488df0bd85c16233abcf770bc2bb5942c178cbe5107e798a9ca88"
+ },
+ "clap_tone4": {
+ "category": "people",
+ "moji": "👏🏾",
+ "description": "clapping hands sign tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "2fa8961ad763675c6619b5f4137e912ce4126fb9b5df71d23c59b05e54533afa"
+ },
+ "clap_tone5": {
+ "category": "people",
+ "moji": "👏🏿",
+ "description": "clapping hands sign tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "7b8b5e0befd920ac4e02ef1823b63c2513dbe58fe6471dc54b8265b75b4c8f41"
+ },
+ "raised_hands": {
+ "category": "people",
+ "moji": "🙌",
+ "description": "person raising both hands in celebration",
"unicodeVersion": "6.0",
- "digest": "3dd17f72beea2fcc4fc9124af3f4997ac00009c699096495b3515cd3ad2453f7"
+ "digest": "6bc3e746c276ce1ea46ba5233d30ec5cdb8340b5c9c15768873404d59b1f3496"
},
- "bicyclist_tone1": {
- "category": "activity",
- "moji": "🚴🏻",
- "description": "bicyclist tone 1",
+ "raised_hands_tone1": {
+ "category": "people",
+ "moji": "🙌🏻",
+ "description": "person raising both hands in celebration tone 1",
"unicodeVersion": "8.0",
- "digest": "9bb97a68bdb7d081c1ddfa277be0842fccf3497752fde007e08e46ff831ab4dc"
+ "digest": "c3e5095f41e49954c688edefeb223069c57979052735b06277d7f3620161796f"
},
- "bicyclist_tone2": {
- "category": "activity",
- "moji": "🚴🏼",
- "description": "bicyclist tone 2",
+ "raised_hands_tone2": {
+ "category": "people",
+ "moji": "🙌🏼",
+ "description": "person raising both hands in celebration tone 2",
"unicodeVersion": "8.0",
- "digest": "36329bb0d01bfbd7f99458081ea6ff071317de2525879dc211dafc4e2e7c299b"
+ "digest": "4bd2f620dba790a58a42ab6d234de14772e4224994b929d731acc50ed6a8d259"
},
- "bicyclist_tone3": {
- "category": "activity",
- "moji": "🚴🏽",
- "description": "bicyclist tone 3",
+ "raised_hands_tone3": {
+ "category": "people",
+ "moji": "🙌🏽",
+ "description": "person raising both hands in celebration tone 3",
"unicodeVersion": "8.0",
- "digest": "0ef3ff2cbf408d29b7921ffcdcea3ad7d1faa6ec6a1c1b20582a58e4850c6569"
+ "digest": "1db8bfc21ab03d98849684f6d32e8e333bb9b33dd540a38c4673a33ea78698d8"
},
- "bicyclist_tone4": {
- "category": "activity",
- "moji": "🚴🏾",
- "description": "bicyclist tone 4",
+ "raised_hands_tone4": {
+ "category": "people",
+ "moji": "🙌🏾",
+ "description": "person raising both hands in celebration tone 4",
"unicodeVersion": "8.0",
- "digest": "9283b7e63bd6a17048e33661e6792568d889ba0f3655a359db159589d6767a47"
+ "digest": "65991dd419d1a02f126dfc401252faa929eb9b437d990b7802a2323ce6e929cb"
},
- "bicyclist_tone5": {
- "category": "activity",
- "moji": "🚴🏿",
- "description": "bicyclist tone 5",
+ "raised_hands_tone5": {
+ "category": "people",
+ "moji": "🙌🏿",
+ "description": "person raising both hands in celebration tone 5",
"unicodeVersion": "8.0",
- "digest": "c2849bb847cc9cbe75ec219ebbd2968891c1ebc2fca62bf86f362eba5e3d78f6"
+ "digest": "ffe251cc1a777836f40217630cb6652d3ec7f4f80c88045d1ec1430c8ce368d1"
},
- "bike": {
- "category": "travel",
- "moji": "🚲",
- "description": "bicycle",
+ "open_hands": {
+ "category": "people",
+ "moji": "👐",
+ "description": "open hands sign",
"unicodeVersion": "6.0",
- "digest": "65d94129ac0445495a0cf55f529f416682fa7a1dc7a16b275e3c267a132777ee"
+ "digest": "6200ecf734f542da4a9450f14d4254f2fb5a74fcae3e44a8e96dc639e1271779"
},
- "bikini": {
+ "open_hands_tone1": {
"category": "people",
- "moji": "👙",
- "description": "bikini",
+ "moji": "👐🏻",
+ "description": "open hands sign tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "d07b0f6efe5a85d1f09f94a297520496659ab93002f9c2ac6d82c73cbadab400"
+ },
+ "open_hands_tone2": {
+ "category": "people",
+ "moji": "👐🏼",
+ "description": "open hands sign tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "de7ad131fe4f9e4a20f24fe4bd22fd11a0b896c1bdf216c85045ad2a4407890e"
+ },
+ "open_hands_tone3": {
+ "category": "people",
+ "moji": "👐🏽",
+ "description": "open hands sign tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "a607b5ca058c240eb530031ec63d57bb4290fa7df42c71a63bc7511759712ae1"
+ },
+ "open_hands_tone4": {
+ "category": "people",
+ "moji": "👐🏾",
+ "description": "open hands sign tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "f101e21968a7bc2365758664eb3d121ecc019b2555e2f6d6f984257ba3237b87"
+ },
+ "open_hands_tone5": {
+ "category": "people",
+ "moji": "👐🏿",
+ "description": "open hands sign tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "908cd7f4bdfb6670358287dee92cfdabd18a802f0b7d673f07f3cbb46689e91f"
+ },
+ "handshake": {
+ "category": "people",
+ "moji": "🤝",
+ "description": "handshake",
+ "unicodeVersion": "9.0",
+ "digest": "59e0dfc9059d643a6e88a2c498ac62175876f78394c68605e984d25597f4e177"
+ },
+ "handshake_tone1": {
+ "category": "people",
+ "moji": "🤝🏻",
+ "description": "handshake tone 1",
+ "unicodeVersion": "9.0",
+ "digest": "d16474fe7d1eb0e3b6441111370051caf5b20847d4080a89c4474a6af8c9f711"
+ },
+ "handshake_tone2": {
+ "category": "people",
+ "moji": "🤝🏼",
+ "description": "handshake tone 2",
+ "unicodeVersion": "9.0",
+ "digest": "f101fcd171fedad33bb5a90bc51cdbd5041902adef5e94f4893eafdac76512a0"
+ },
+ "handshake_tone3": {
+ "category": "people",
+ "moji": "🤝🏽",
+ "description": "handshake tone 3",
+ "unicodeVersion": "9.0",
+ "digest": "9a519adf10d9bd3ef8f0c94beeeb64de8922d85b428e74663f9a9eec3be15a71"
+ },
+ "handshake_tone4": {
+ "category": "people",
+ "moji": "🤝🏾",
+ "description": "handshake tone 4",
+ "unicodeVersion": "9.0",
+ "digest": "e0aff05eaed64f9c03c91a821982d425bd4f237b0fb09fffb23476912b100ffa"
+ },
+ "handshake_tone5": {
+ "category": "people",
+ "moji": "🤝🏿",
+ "description": "handshake tone 5",
+ "unicodeVersion": "9.0",
+ "digest": "76ec70c0b6bfca7dfc3d2b202f36c6cd59c030e6414c49f3f1e3f68cee77be9b"
+ },
+ "pray": {
+ "category": "people",
+ "moji": "🙏",
+ "description": "person with folded hands",
"unicodeVersion": "6.0",
- "digest": "f7bf17cea90c1d7e18c55af498ea3019e1515efefd4f692b868998861d40000e"
+ "digest": "175a97bcdf0110e4a435cc760d5203b8493c5bbf6d4ce70fb7a5643b2d1021dc"
},
- "biohazard": {
- "category": "symbols",
- "moji": "☣",
- "description": "biohazard sign",
+ "pray_tone1": {
+ "category": "people",
+ "moji": "🙏🏻",
+ "description": "person with folded hands tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "0a453f3e7292c7d813da211b9d1359c6d893426077b010bca5a4bc3f17a695c1"
+ },
+ "pray_tone2": {
+ "category": "people",
+ "moji": "🙏🏼",
+ "description": "person with folded hands tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "f66640530c3818fff333ebd6636dfb912aa6e986060ad03555766bbc5888d8b4"
+ },
+ "pray_tone3": {
+ "category": "people",
+ "moji": "🙏🏽",
+ "description": "person with folded hands tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "5d8f49ada7ce2e5c473220aa881b32cda4fe73c024ec9260fd2af09b55478239"
+ },
+ "pray_tone4": {
+ "category": "people",
+ "moji": "🙏🏾",
+ "description": "person with folded hands tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "c830c04f893a424a6694c478d8356a549a43b2ba3e9e912becc018178ca0c54c"
+ },
+ "pray_tone5": {
+ "category": "people",
+ "moji": "🙏🏿",
+ "description": "person with folded hands tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "3fc8c39440ac0ae1646949dad41cc56305e51fbd299378de5356be3e5b4bda24"
+ },
+ "writing_hand": {
+ "category": "people",
+ "moji": "✍",
+ "description": "writing hand",
"unicodeVersion": "1.1",
- "digest": "aac5d8bf19b5e33c0a1d600a5e86522023415fb2a98160c58f541c862e439f9a"
+ "digest": "efe3bfa1c36098242e2c4cb2d66e8d76fd3c0bba57335059dd1ad25748752c41"
},
- "bird": {
- "category": "nature",
- "moji": "🐦",
- "description": "bird",
- "unicodeVersion": "6.0",
- "digest": "b19660ba47b3a0151dc470064a6594cdb9aaaa14a42a0a18d70c253206c954e5"
+ "writing_hand_tone1": {
+ "category": "people",
+ "moji": "✍🏻",
+ "description": "writing hand tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "13e6782eea27e216721c4d1aeaa049f9ae3d93c9052f131cc17618102d16e4f6"
},
- "birthday": {
- "category": "food",
- "moji": "🎂",
- "description": "birthday cake",
+ "writing_hand_tone2": {
+ "category": "people",
+ "moji": "✍🏼",
+ "description": "writing hand tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "6ec5eeef36ef27fae05f2d3ac9bd97460d75b08fa52e01e239cbbe4101eb8ad8"
+ },
+ "writing_hand_tone3": {
+ "category": "people",
+ "moji": "✍🏽",
+ "description": "writing hand tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "e3d68b62cbda6579641f49b45581deca7653e6322df43413ee6b80967861e315"
+ },
+ "writing_hand_tone4": {
+ "category": "people",
+ "moji": "✍🏾",
+ "description": "writing hand tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "52b7652348605b384761de53c28ffc3dc84b1b34210f795b40bb3e6235b8a959"
+ },
+ "writing_hand_tone5": {
+ "category": "people",
+ "moji": "✍🏿",
+ "description": "writing hand tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "ce22c8e6c71ca3a07d32fb0c336301d015b81975a1019f20760ee908349c76dd"
+ },
+ "nail_care": {
+ "category": "people",
+ "moji": "💅",
+ "description": "nail polish",
"unicodeVersion": "6.0",
- "digest": "f8087a3df94702f990da6a6dd1a0f143f679aa84ea0d178e030dd13e9d414bfa"
+ "digest": "1f88d57808e1e93dd8870eb24235b1700337b441ea96b7ddabfdae1377bd5795"
},
- "black_circle": {
- "category": "symbols",
- "moji": "⚫",
- "description": "medium black circle",
- "unicodeVersion": "4.1",
- "digest": "dd472d37a09519c4b35d7cce0c1d988cc78abc7eec6ab794f49c75ac1c506450"
+ "nail_care_tone1": {
+ "category": "people",
+ "moji": "💅🏻",
+ "description": "nail polish tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "4faa570dee925e2eaebfc2cd8ccd93dcefd5087e38b6aedadd356ae5234e89a5"
},
- "black_heart": {
- "category": "symbols",
- "moji": "🖤",
- "description": "black heart",
+ "nail_care_tone2": {
+ "category": "people",
+ "moji": "💅🏼",
+ "description": "nail polish tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "320a8d5586f108d66b39cc6df25677fed43bb02914c3c867736881af4195d739"
+ },
+ "nail_care_tone3": {
+ "category": "people",
+ "moji": "💅🏽",
+ "description": "nail polish tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "70d8d5a203e23ada34c18c2f368352efb247823a3db919c75c02f659bdc2601f"
+ },
+ "nail_care_tone4": {
+ "category": "people",
+ "moji": "💅🏾",
+ "description": "nail polish tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "71d4e886b73ccdbdab9963bedbd23cbaa3693af5e2b9911db8a51d3d3fbb9843"
+ },
+ "nail_care_tone5": {
+ "category": "people",
+ "moji": "💅🏿",
+ "description": "nail polish tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "c3cd47041cf0095e03893e165c9b591d7497abf7271588463ef9e8ca42191108"
+ },
+ "selfie": {
+ "category": "people",
+ "moji": "🤳",
+ "description": "selfie",
"unicodeVersion": "9.0",
- "digest": "d32225e69f8013ed033687a275d2cf0bf19bc7d38f54353ae8441ec50ca25e0b"
+ "digest": "4914fbc5b8a0838d275c286b7a3626c9353e233ef75f2b1f600a647ff56a7ff4"
},
- "black_joker": {
- "category": "symbols",
- "moji": "🃏",
- "description": "playing card black joker",
+ "selfie_tone1": {
+ "category": "people",
+ "moji": "🤳🏻",
+ "description": "selfie tone 1",
+ "unicodeVersion": "9.0",
+ "digest": "0e9e3090566876f49dc5a03321e190dce2737a5c8547b07f0244056d59623182"
+ },
+ "selfie_tone2": {
+ "category": "people",
+ "moji": "🤳🏼",
+ "description": "selfie tone 2",
+ "unicodeVersion": "9.0",
+ "digest": "5d2c271f2cf39d3ffacf1192b1804edef0849a2ad8f0e81e493a752960de97ed"
+ },
+ "selfie_tone3": {
+ "category": "people",
+ "moji": "🤳🏽",
+ "description": "selfie tone 3",
+ "unicodeVersion": "9.0",
+ "digest": "41670b6b45ab178205692a6bca8816e79f99ed7bbab1754b99bcf973ff178e30"
+ },
+ "selfie_tone4": {
+ "category": "people",
+ "moji": "🤳🏾",
+ "description": "selfie tone 4",
+ "unicodeVersion": "9.0",
+ "digest": "4b1c5145f0e454aed5c37b3dd3bef07dfa3576880997e6bd552871de474867ec"
+ },
+ "selfie_tone5": {
+ "category": "people",
+ "moji": "🤳🏿",
+ "description": "selfie tone 5",
+ "unicodeVersion": "9.0",
+ "digest": "bbe0db1f762ad830a38a6ff85e36565c0ef446c22b8ab25054d6b266f1b8421d"
+ },
+ "muscle": {
+ "category": "people",
+ "moji": "💪",
+ "description": "flexed biceps",
"unicodeVersion": "6.0",
- "digest": "40b7dccd258d4d1323fc744fb545e0e06c1e813bc9030147fb28e0f5b3a76ef3"
+ "digest": "5e6bff383eb4b63009779c1872797eb8b6651788b4005fa0af12b254bb67d404"
},
- "black_large_square": {
- "category": "symbols",
- "moji": "⬛",
- "description": "black large square",
- "unicodeVersion": "5.1",
- "digest": "2c606063c452385e38808861d820d799c25450d777c58faa3a58030e32d40d0c"
+ "muscle_tone1": {
+ "category": "people",
+ "moji": "💪🏻",
+ "description": "flexed biceps tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "921fd25fcc812896f4d4f8ba7f84af84adc72f624ec464a8a3d7414a788d25e7"
},
- "black_medium_small_square": {
- "category": "symbols",
- "moji": "◾",
- "description": "black medium small square",
- "unicodeVersion": "3.2",
- "digest": "abd57777f919013b8c0686541263d62492ffd042a1d4b05000856dd1a3ff33ef"
+ "muscle_tone2": {
+ "category": "people",
+ "moji": "💪🏼",
+ "description": "flexed biceps tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "e43dd3f98fa6e0916a3da459a66d8e39cc4d83aab68848343fa830b589ad39d2"
},
- "black_medium_square": {
- "category": "symbols",
- "moji": "◼",
- "description": "black medium square",
- "unicodeVersion": "3.2",
- "digest": "7811b577922f508cf89ac34abdbe5285213b3519de340fe1d57ca6780a500066"
+ "muscle_tone3": {
+ "category": "people",
+ "moji": "💪🏽",
+ "description": "flexed biceps tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "508b89b10736e79d6e951cdaf0418912dfed191b464ffe93cfd8621493d7b382"
},
- "black_nib": {
- "category": "objects",
- "moji": "✒",
- "description": "black nib",
- "unicodeVersion": "1.1",
- "digest": "196230be1ae39d5841e9ed322f74816c61e47c4235dab7abff0e6d86fba786ed"
+ "muscle_tone4": {
+ "category": "people",
+ "moji": "💪🏾",
+ "description": "flexed biceps tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "ac2e279defdba9ba232b254936f5069f3a17313454d5f2c2f7ca62084a6b50d8"
},
- "black_small_square": {
- "category": "symbols",
- "moji": "▪",
- "description": "black small square",
- "unicodeVersion": "1.1",
- "digest": "958483632202cf3181ef96532b0371cad1ea9b693100def41df69388b1ee468a"
+ "muscle_tone5": {
+ "category": "people",
+ "moji": "💪🏿",
+ "description": "flexed biceps tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "91b6e61e0815b7f746dae45fae5cdb15d9f4b8608188673260d7e4aa134f58ed"
},
- "black_square_button": {
- "category": "symbols",
- "moji": "🔲",
- "description": "black square button",
+ "ear": {
+ "category": "people",
+ "moji": "👂",
+ "description": "ear",
"unicodeVersion": "6.0",
- "digest": "2211e8f2193751c4d1716a4d13145e945293f0158d413333829e7a20a265e55b"
+ "digest": "29f21bcb6963c709173aa895704029e48f233493ece1f0bb442705d90713e20e"
},
- "blossom": {
- "category": "nature",
- "moji": "🌼",
- "description": "blossom",
+ "ear_tone1": {
+ "category": "people",
+ "moji": "👂🏻",
+ "description": "ear tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "5974f347c09ed99eb26af3b38ed5ff6d270920d5a5cf4bc2ca1e4ce1c6ca86d8"
+ },
+ "ear_tone2": {
+ "category": "people",
+ "moji": "👂🏼",
+ "description": "ear tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "10a215f5a1b0ca5c39abb4b2ba1c95fc541b21d03eb74b437a732bc155772b7f"
+ },
+ "ear_tone3": {
+ "category": "people",
+ "moji": "👂🏽",
+ "description": "ear tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "339cb06fc200e7a2f175de0862fa0f69792725532002e26446a64b47bae4e7f0"
+ },
+ "ear_tone4": {
+ "category": "people",
+ "moji": "👂🏾",
+ "description": "ear tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "4fc70d5c353ad59518bb3829b0c544a4092b59924bf6fe0dd573f8fee3d00c68"
+ },
+ "ear_tone5": {
+ "category": "people",
+ "moji": "👂🏿",
+ "description": "ear tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "fa4d1bdab5ed8dc2e8976edb389571c21942cbdcf7ad51281b4e064a2b260a58"
+ },
+ "nose": {
+ "category": "people",
+ "moji": "👃",
+ "description": "nose",
"unicodeVersion": "6.0",
- "digest": "4b330c92cc58a402534cb0bbbde2d18d680a88da5e1321d460e2d5ce2644d774"
+ "digest": "b53c2b2226bbaf8505e196a760717d503e7bd886c0b3a87c08bc56138867492e"
},
- "blowfish": {
- "category": "nature",
- "moji": "🐡",
- "description": "blowfish",
+ "nose_tone1": {
+ "category": "people",
+ "moji": "👃🏻",
+ "description": "nose tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "bfc69572dac70db3a59abaac127f854ba648d3a8acf4d5dd0478d6c381910776"
+ },
+ "nose_tone2": {
+ "category": "people",
+ "moji": "👃🏼",
+ "description": "nose tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "b6dfa564b8c1859930b3f01da0131c43e3e96f055e45ff7de166493e1d14aab1"
+ },
+ "nose_tone3": {
+ "category": "people",
+ "moji": "👃🏽",
+ "description": "nose tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "1dc363dd57dda74e17467b06eb82bea745bf48faca589ffca709cc1e8dd4ad5e"
+ },
+ "nose_tone4": {
+ "category": "people",
+ "moji": "👃🏾",
+ "description": "nose tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "76c8919041fa06f25d0bc2eb80d8491f673a1f708680bad1e5f8240d1d97949b"
+ },
+ "nose_tone5": {
+ "category": "people",
+ "moji": "👃🏿",
+ "description": "nose tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "08db1747f19cf6f1129f38f5e9fcecc51d65043cfd408cb3b6ccbbd9f491165e"
+ },
+ "eyes": {
+ "category": "people",
+ "moji": "👀",
+ "description": "eyes",
"unicodeVersion": "6.0",
- "digest": "084c33958f40081d19012e35fcf72f085cf1f749964ba7256d8721e8a2d929e0"
+ "digest": "659c9a040950bd320a33177be730c086cc6cf390d1b99d7cbf3e6bc7705f21bf"
},
- "blue_book": {
- "category": "objects",
- "moji": "📘",
- "description": "blue book",
+ "eye": {
+ "category": "people",
+ "moji": "👁",
+ "description": "eye",
+ "unicodeVersion": "7.0",
+ "digest": "d48868ab77a09456b5f80553f08af363983ead45173759e3ff8a9ddf626effc2"
+ },
+ "tongue": {
+ "category": "people",
+ "moji": "👅",
+ "description": "tongue",
"unicodeVersion": "6.0",
- "digest": "bc47b3b8f1bfa21c2a4bf185cc247e0c9fc7f4f221292c3b0286e13b32f7a6da"
+ "digest": "da75f4b8859b698b941cd091e1d3bf4be3c4e86bb72b2407b9d7b9abe063ed84"
},
- "blue_car": {
- "category": "travel",
- "moji": "🚙",
- "description": "recreational vehicle",
+ "lips": {
+ "category": "people",
+ "moji": "👄",
+ "description": "mouth",
"unicodeVersion": "6.0",
- "digest": "c0faa7f7d4344391478aba15cb4cbfbbe1eb5fd5cdcdb9afdb7d49984abb8108"
+ "digest": "26fb9b50ab57120d2bc613eb1537fc1517f0c962bf3ae0b43fb2da42581dde5c"
},
- "blue_heart": {
- "category": "symbols",
- "moji": "💙",
- "description": "blue heart",
+ "baby": {
+ "category": "people",
+ "moji": "👶",
+ "description": "baby",
"unicodeVersion": "6.0",
- "digest": "dde3ac8cbd84903c39310d0a9a0121f47e1701bf3298d0cecaba552076b462c1"
+ "digest": "16999f24cdb63691baf5a2a8252de265a8a73bbd10ba0d4214c85b2f43c5b02e"
},
- "blush": {
+ "baby_tone1": {
"category": "people",
- "moji": "😊",
- "description": "smiling face with smiling eyes",
+ "moji": "👶🏻",
+ "description": "baby tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "f6262f7773de6b2cdbd5f0464ccbdd9584d8077d11c8b27cf353329d8dfdbded"
+ },
+ "baby_tone2": {
+ "category": "people",
+ "moji": "👶🏼",
+ "description": "baby tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "c90cf6fa9a95e38ab449cfd25bd422e4ead60351666dc9221ade4e2eac17f38e"
+ },
+ "baby_tone3": {
+ "category": "people",
+ "moji": "👶🏽",
+ "description": "baby tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "290215d0ad2cd110ea918fa7020aff5b5e8b08849ff2a5acae5ed1f8e9f59958"
+ },
+ "baby_tone4": {
+ "category": "people",
+ "moji": "👶🏾",
+ "description": "baby tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "dfda26c31ab16afde0500631e08875205deb3ebd87bbb96e8b746ae49ecefa11"
+ },
+ "baby_tone5": {
+ "category": "people",
+ "moji": "👶🏿",
+ "description": "baby tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "8c32dba5be741fb3c009e55e9766526dbfec3e90977c4ab24b8ee3472a38f8e8"
+ },
+ "boy": {
+ "category": "people",
+ "moji": "👦",
+ "description": "boy",
"unicodeVersion": "6.0",
- "digest": "3d7d115f7da861e3565a446d9aea177c7bc27592bac17d0d96d815d853b68467"
+ "digest": "7a5a1eb2e38f835e8fe6506a78f0f05dd4e831bdd8ea30f3f5f473bc1d28baa2"
},
- "boar": {
- "category": "nature",
- "moji": "🐗",
- "description": "boar",
+ "boy_tone1": {
+ "category": "people",
+ "moji": "👦🏻",
+ "description": "boy tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "b0edd5f1171b2969e5273cb0be90d57f2d7c605ff413478eabecb9501bcfe811"
+ },
+ "boy_tone2": {
+ "category": "people",
+ "moji": "👦🏼",
+ "description": "boy tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "52f5dba881f3fb1867619dfc35d503022e6455a475137d2d5366830fe6966e09"
+ },
+ "boy_tone3": {
+ "category": "people",
+ "moji": "👦🏽",
+ "description": "boy tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "57d11252ed3e92e5093ee70a11549f98f70f623a18b75dd8736dc5908f361c8c"
+ },
+ "boy_tone4": {
+ "category": "people",
+ "moji": "👦🏾",
+ "description": "boy tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "b18387f39f18a50afc737c13d5387a904d27210e5e147e0ad4f0966f9091156b"
+ },
+ "boy_tone5": {
+ "category": "people",
+ "moji": "👦🏿",
+ "description": "boy tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "37527ef42b6e163d273b95178e0c385c46172e45bac09070e421fa8230d5b04c"
+ },
+ "girl": {
+ "category": "people",
+ "moji": "👧",
+ "description": "girl",
"unicodeVersion": "6.0",
- "digest": "0e6774094f935bf5eaccc85077e357d2f002276a76aa7a3ba8457e11c7458314"
+ "digest": "5b6e2d936ee671b82328adbb0d77a8a23ad169aa455f8f3e07a974620d62b698"
},
- "bomb": {
- "category": "objects",
- "moji": "💣",
- "description": "bomb",
+ "girl_tone1": {
+ "category": "people",
+ "moji": "👧🏻",
+ "description": "girl tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "34f82173f73d9e3048ffd339c480ae72017be5fb99616f40cb90ca507ce81365"
+ },
+ "girl_tone2": {
+ "category": "people",
+ "moji": "👧🏼",
+ "description": "girl tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "e1efcff7f827dbea4258ec5cb0b40555266119e1f2e4526c251ea166ec252eb7"
+ },
+ "girl_tone3": {
+ "category": "people",
+ "moji": "👧🏽",
+ "description": "girl tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "2589873f9c4792091359126462bfb83d3f14bf1bcf977b834e33d11969c551d5"
+ },
+ "girl_tone4": {
+ "category": "people",
+ "moji": "👧🏾",
+ "description": "girl tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "af208f0ab6e4e26b80d6bb02994ef6f38d9395414e23978973d651c4bc895367"
+ },
+ "girl_tone5": {
+ "category": "people",
+ "moji": "👧🏿",
+ "description": "girl tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "253012160b7a9a57708377062b43396ef620b9b63784736e1e6180f320715dfb"
+ },
+ "person_with_blond_hair": {
+ "category": "people",
+ "moji": "👱",
+ "description": "person with blond hair",
"unicodeVersion": "6.0",
- "digest": "c06294f2bc2ca60c09544598a699662609f41bd06efa01d92d8ab7b48356b830"
+ "digest": "9194bee1257b169fdcb1858023922b83a0ea10cb2f6c2bbc8824e1d15250416d"
},
- "book": {
- "category": "objects",
- "moji": "📖",
- "description": "open book",
+ "person_with_blond_hair_tone1": {
+ "category": "people",
+ "moji": "👱🏻",
+ "description": "person with blond hair tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "bbbd79e4de2b447b081cbc82426f7d2584760489576426768cdf7e1e0e43c249"
+ },
+ "person_with_blond_hair_tone2": {
+ "category": "people",
+ "moji": "👱🏼",
+ "description": "person with blond hair tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "23885c8e9d0d34eadf6941e6001c3f03863ebcef8c97733929cb0f61a03b48a9"
+ },
+ "person_with_blond_hair_tone3": {
+ "category": "people",
+ "moji": "👱🏽",
+ "description": "person with blond hair tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "87ab121eb227c13fbe454537078761484acf1f09eeae4981bb46021ccd7b71de"
+ },
+ "person_with_blond_hair_tone4": {
+ "category": "people",
+ "moji": "👱🏾",
+ "description": "person with blond hair tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "cd12e7c5a19a4a1b5445ecf98adca9e3ac4361a9b01ff8a18d13693af50bbf3a"
+ },
+ "person_with_blond_hair_tone5": {
+ "category": "people",
+ "moji": "👱🏿",
+ "description": "person with blond hair tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "d11a5989a12155e1bb3432d672aff88311afc947a65c3e1c640b9e1d42cdeb0c"
+ },
+ "man": {
+ "category": "people",
+ "moji": "👨",
+ "description": "man",
"unicodeVersion": "6.0",
- "digest": "07f1af90a8f2bdddaa585b4da1da9ac7c52dbb7365d409d264e2b66f43b165d7"
+ "digest": "72f5a4ee76d2f91fcce52673cdf08867d9322dde33b2b859a2687d20f2875d7a"
},
- "bookmark": {
- "category": "objects",
- "moji": "🔖",
- "description": "bookmark",
+ "man_tone1": {
+ "category": "people",
+ "moji": "👨🏻",
+ "description": "man tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "fd5531169631dbed6b6380c40732afda0d943980e2a399d9ce65167026f9f33c"
+ },
+ "man_tone2": {
+ "category": "people",
+ "moji": "👨🏼",
+ "description": "man tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "628574c3994302e2d1ee0742951f26eb3d44aa1abe1161f78df5db3d18bc377f"
+ },
+ "man_tone3": {
+ "category": "people",
+ "moji": "👨🏽",
+ "description": "man tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "431642916465938d09bd6ca5097e716abae550dc5c54dd514519e1561f372b90"
+ },
+ "man_tone4": {
+ "category": "people",
+ "moji": "👨🏾",
+ "description": "man tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "26662b4aca1f0a9a24b148a36db1f1119a28e458b1b9addd4ecb4fa36c4c3d3d"
+ },
+ "man_tone5": {
+ "category": "people",
+ "moji": "👨🏿",
+ "description": "man tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "e2f45518af9033350ad4c44a42f564403a7248b4d67c8ec21b19199458aaa4de"
+ },
+ "woman": {
+ "category": "people",
+ "moji": "👩",
+ "description": "woman",
"unicodeVersion": "6.0",
- "digest": "cafb404fab72e67a7c0254ebe91f9631be9a6f7da763bbd948358e8544e2fd53"
+ "digest": "7f06a5df2103c959228c15f44a76d39f87f792bef6aaadf7e4f47fe31a0e85fa"
},
- "bookmark_tabs": {
- "category": "objects",
- "moji": "📑",
- "description": "bookmark tabs",
+ "woman_tone1": {
+ "category": "people",
+ "moji": "👩🏻",
+ "description": "woman tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "e1e1bc0d9e6c06fc37e54251c9d492c83852016baeb16acfedd7242a0f4a289e"
+ },
+ "woman_tone2": {
+ "category": "people",
+ "moji": "👩🏼",
+ "description": "woman tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "f3e0dd2ee081ca179d8c70e3c5a77254f98880f732cabdf601d54b64ae8702cd"
+ },
+ "woman_tone3": {
+ "category": "people",
+ "moji": "👩🏽",
+ "description": "woman tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "1ad974a8aad0dc2cb62d22e7c6c155bd07030222c3f115e62c153ce5cb6b240d"
+ },
+ "woman_tone4": {
+ "category": "people",
+ "moji": "👩🏾",
+ "description": "woman tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "c11d39ec49db3d36256f372521461b9d668726cab6d63166ef23c9c99e3a9c55"
+ },
+ "woman_tone5": {
+ "category": "people",
+ "moji": "👩🏿",
+ "description": "woman tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "7220ffd6a38cf1587f1c45e3461c38f65162b604fb4261318c342bb6f1a4d95f"
+ },
+ "older_man": {
+ "category": "people",
+ "moji": "👴",
+ "description": "older man",
"unicodeVersion": "6.0",
- "digest": "78450d6c894fee9badbed92a07144718908a305be825304dc47839e259884e9c"
+ "digest": "84b2a44e5fcc74bc599566caffd79472cdb5c521d7c1b011753d36b8a629cd3f"
},
- "books": {
- "category": "objects",
- "moji": "📚",
- "description": "books",
+ "older_man_tone1": {
+ "category": "people",
+ "moji": "👴🏻",
+ "description": "older man tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "1f9e38cfb593a30d9afc29bdb18fa00ead144290dbd5a1c34190855e58f3f930"
+ },
+ "older_man_tone2": {
+ "category": "people",
+ "moji": "👴🏼",
+ "description": "older man tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "ddef54810d7a168ada23e30686ea9a09d2abb440c230ac5c7823ef731b7aac49"
+ },
+ "older_man_tone3": {
+ "category": "people",
+ "moji": "👴🏽",
+ "description": "older man tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "e8f881c06e41460f3e8bb37bba81f11a194b23f2354ddd7ddf3aae44faed2ad9"
+ },
+ "older_man_tone4": {
+ "category": "people",
+ "moji": "👴🏾",
+ "description": "older man tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "924a841c5d3ef0a6e3a79d519c38bdff2dff6700dbf51985e06f819f6690b35e"
+ },
+ "older_man_tone5": {
+ "category": "people",
+ "moji": "👴🏿",
+ "description": "older man tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "5f893aa727caa220c06c180099c20834abaeeeb7d7b29d64a72259ad7239e487"
+ },
+ "older_woman": {
+ "category": "people",
+ "moji": "👵",
+ "description": "older woman",
"unicodeVersion": "6.0",
- "digest": "566cb93cf32782ae39aec670e22b711fa33afd52bc75c9e7069174cd252125d1"
+ "digest": "b96d5fbaa0fe6d0d21998a617b2c07776542ee2ab1d79424e22b25a1906d42a5"
},
- "boom": {
- "category": "nature",
- "moji": "💥",
- "description": "collision symbol",
+ "older_woman_tone1": {
+ "category": "people",
+ "moji": "👵🏻",
+ "description": "older woman tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "a5a0475ecc4b452d65f04d31f8ff838531724fbd59c3e00db7c70bc0d87d850f"
+ },
+ "older_woman_tone2": {
+ "category": "people",
+ "moji": "👵🏼",
+ "description": "older woman tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "0ede94d29641f3cd592c084b1281a475db4e09a0c98ede0af8500b953e26730b"
+ },
+ "older_woman_tone3": {
+ "category": "people",
+ "moji": "👵🏽",
+ "description": "older woman tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "6a4878555493bc7f80aea33c0766d2781ef427d96c1e73d623ee74a77c3dab6e"
+ },
+ "older_woman_tone4": {
+ "category": "people",
+ "moji": "👵🏾",
+ "description": "older woman tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "cf7afc02b1d4fb584af1e224be6afa2410a39d3ae1ada553e683b6f14f50dda7"
+ },
+ "older_woman_tone5": {
+ "category": "people",
+ "moji": "👵🏿",
+ "description": "older woman tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "35aebc57848405f369eacb1defafce49ecc0f3e3833b21e53e46353b8bcdf755"
+ },
+ "person_frowning": {
+ "category": "people",
+ "moji": "🙍",
+ "description": "person frowning",
"unicodeVersion": "6.0",
- "digest": "eb699268e39f7fa16a39fc731a7ebed9f7dcdbde083e222cffbac860c1bc643b"
+ "digest": "cc38a861c7edbc5eae6bb91beb2acfc5d044453960f612c36693ef71663b1d5e"
},
- "boot": {
+ "person_frowning_tone1": {
"category": "people",
- "moji": "👢",
- "description": "womans boots",
+ "moji": "🙍🏻",
+ "description": "person frowning tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "d7350116b174ba8902292c382a410a458e86d68fd977d7e8e80ce8b47d80eb3e"
+ },
+ "person_frowning_tone2": {
+ "category": "people",
+ "moji": "🙍🏼",
+ "description": "person frowning tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "09bfa39a6b743494967806691248ab94a90bb8efc934a3e08eb13cc9a1221989"
+ },
+ "person_frowning_tone3": {
+ "category": "people",
+ "moji": "🙍🏽",
+ "description": "person frowning tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "3631d7c4d757007ca5b1543c0819b351fa70dd1fa76dc4e947bb074119837143"
+ },
+ "person_frowning_tone4": {
+ "category": "people",
+ "moji": "🙍🏾",
+ "description": "person frowning tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "852c4794d10336cb636d615d702504cf58bbdcf5a7269e9bc3e2b215074d11a0"
+ },
+ "person_frowning_tone5": {
+ "category": "people",
+ "moji": "🙍🏿",
+ "description": "person frowning tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "ac64dda090f40addeab42d79bee681060d3b43de56b461fb94883d67fb24e1c6"
+ },
+ "person_with_pouting_face": {
+ "category": "people",
+ "moji": "🙎",
+ "description": "person with pouting face",
"unicodeVersion": "6.0",
- "digest": "3ac88fcfbe55d073949e89aeeadf168c04633c9af4ce6673c897358e595511c2"
+ "digest": "687a13af899b65a14f27c205c9fffdc4ce50edc86b55f9dab05711f21a8fa06f"
},
- "bouquet": {
- "category": "nature",
- "moji": "💐",
- "description": "bouquet",
+ "person_with_pouting_face_tone1": {
+ "category": "people",
+ "moji": "🙎🏻",
+ "description": "person with pouting face tone1",
+ "unicodeVersion": "8.0",
+ "digest": "dd6d64d1d51bca83c0b3212d028394cdb84e8550e6740e3a862ce24379a522ea"
+ },
+ "person_with_pouting_face_tone2": {
+ "category": "people",
+ "moji": "🙎🏼",
+ "description": "person with pouting face tone2",
+ "unicodeVersion": "8.0",
+ "digest": "7ef959a93142351a77e62074a5b339afa63b7019b23e3b823e8d95a5c82863f2"
+ },
+ "person_with_pouting_face_tone3": {
+ "category": "people",
+ "moji": "🙎🏽",
+ "description": "person with pouting face tone3",
+ "unicodeVersion": "8.0",
+ "digest": "777c69c3b59b9688b5cda0cd61b67aaedf742c2758b4ea1537170f1648185dcf"
+ },
+ "person_with_pouting_face_tone4": {
+ "category": "people",
+ "moji": "🙎🏾",
+ "description": "person with pouting face tone4",
+ "unicodeVersion": "8.0",
+ "digest": "ee918ba63a9dbb71aa7a2a19552da4a86ecd3a15ff6b01b00595b04c98a8d3f4"
+ },
+ "person_with_pouting_face_tone5": {
+ "category": "people",
+ "moji": "🙎🏿",
+ "description": "person with pouting face tone5",
+ "unicodeVersion": "8.0",
+ "digest": "a1d4e4e89b7c8044a38a68d7cdb96d7ee576296689c996225e778af9b033dbfa"
+ },
+ "no_good": {
+ "category": "people",
+ "moji": "🙅",
+ "description": "face with no good gesture",
"unicodeVersion": "6.0",
- "digest": "0d737305d51cced40a4de5da6dacb5dfb049c7d8ad4136c312193049a9915a3b"
+ "digest": "9db57840d894a17c23a77c4a5ed315aa852d85ab2841e3393494c600b635f341"
+ },
+ "no_good_tone1": {
+ "category": "people",
+ "moji": "🙅🏻",
+ "description": "face with no good gesture tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "ecb77f526ecedd1414faf252ec85a7f468ee0429c0684f69eefa28e3cf4e5710"
+ },
+ "no_good_tone2": {
+ "category": "people",
+ "moji": "🙅🏼",
+ "description": "face with no good gesture tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "509882d9171d11cec481bb561d805c3719828954f71ac6b3ec86b34eeea85bfe"
+ },
+ "no_good_tone3": {
+ "category": "people",
+ "moji": "🙅🏽",
+ "description": "face with no good gesture tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "7c8d9ba5acdbcad2e99cee95808de8d65f1d8c8a2474bb1a71aca04158e0a542"
+ },
+ "no_good_tone4": {
+ "category": "people",
+ "moji": "🙅🏾",
+ "description": "face with no good gesture tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "64a58084e10960f9d2c118b927a6bba759f5aa0038988f1984e7578aee4b16e4"
+ },
+ "no_good_tone5": {
+ "category": "people",
+ "moji": "🙅🏿",
+ "description": "face with no good gesture tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "20266de1fbdc6ccb83b4da026c7c71c853dc566d49a39ece5b7379f79c3cf68b"
+ },
+ "ok_woman": {
+ "category": "people",
+ "moji": "🙆",
+ "description": "face with ok gesture",
+ "unicodeVersion": "6.0",
+ "digest": "0b08d0e64c0a55e47d0f783034a46fbfe7a742388b2961dd13adcd91217f5551"
+ },
+ "ok_woman_tone1": {
+ "category": "people",
+ "moji": "🙆🏻",
+ "description": "face with ok gesture tone1",
+ "unicodeVersion": "8.0",
+ "digest": "daaa1c03e25a234c577fa82d868cd7341e4b21262be8a19ebc8ec52c1dfaf3be"
+ },
+ "ok_woman_tone2": {
+ "category": "people",
+ "moji": "🙆🏼",
+ "description": "face with ok gesture tone2",
+ "unicodeVersion": "8.0",
+ "digest": "4441187c1bfb3953731fa3cc98fca07f8ef499001af7c954e9e6c766bc113215"
+ },
+ "ok_woman_tone3": {
+ "category": "people",
+ "moji": "🙆🏽",
+ "description": "face with ok gesture tone3",
+ "unicodeVersion": "8.0",
+ "digest": "08ef7d0a47d54ba9b8ed19c5d317219ea6d675154085c0e311af845a3cc753f9"
+ },
+ "ok_woman_tone4": {
+ "category": "people",
+ "moji": "🙆🏾",
+ "description": "face with ok gesture tone4",
+ "unicodeVersion": "8.0",
+ "digest": "eb8183accaeae7920c7150c13f3d484fefc2868d3203760d4a1e42b04ac14e40"
+ },
+ "ok_woman_tone5": {
+ "category": "people",
+ "moji": "🙆🏿",
+ "description": "face with ok gesture tone5",
+ "unicodeVersion": "8.0",
+ "digest": "a8fbb88db77c35ce9fdf85ede6ed71de726277464613b46fcc024b0c38acc675"
+ },
+ "information_desk_person": {
+ "category": "people",
+ "moji": "💁",
+ "description": "information desk person",
+ "unicodeVersion": "6.0",
+ "digest": "ee9a1e94470a107b494840ac5b9bd0d59c38fcbc5d6a9f0842c910688ea9ec74"
+ },
+ "information_desk_person_tone1": {
+ "category": "people",
+ "moji": "💁🏻",
+ "description": "information desk person tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "bb91f3dedc55cca320cd14343c04c388b4dfa870a9d5860957a0180f24161fea"
+ },
+ "information_desk_person_tone2": {
+ "category": "people",
+ "moji": "💁🏼",
+ "description": "information desk person tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "a556b596a0d9cd480adaff344d3ba5c02a16ef2eb73695e9d9fc231ab8e3599f"
+ },
+ "information_desk_person_tone3": {
+ "category": "people",
+ "moji": "💁🏽",
+ "description": "information desk person tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "b5a7ca77e15e749731fcd63da9c274c47eade033da8cfc8a6ab5413d939a8a8e"
+ },
+ "information_desk_person_tone4": {
+ "category": "people",
+ "moji": "💁🏾",
+ "description": "information desk person tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "a7912c3121b1bb31b55c528812f54b89cdbc1982045e226c3cbce29c83970a59"
+ },
+ "information_desk_person_tone5": {
+ "category": "people",
+ "moji": "💁🏿",
+ "description": "information desk person tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "a3e3fb0ae133513f565e5331a699a6d147200a5141a4e692fec86cfca03b9f5f"
+ },
+ "raising_hand": {
+ "category": "people",
+ "moji": "🙋",
+ "description": "happy person raising one hand",
+ "unicodeVersion": "6.0",
+ "digest": "b9cc5deb1d33ace5ab80f9b4fe7d2d277c2ee04dfdbc8bc3d41ca69edd3d5c52"
+ },
+ "raising_hand_tone1": {
+ "category": "people",
+ "moji": "🙋🏻",
+ "description": "happy person raising one hand tone1",
+ "unicodeVersion": "8.0",
+ "digest": "6d7aea2c2c9620448ffc6be9e5bf5cddcc7a1e18f9f816a030dc818d93d45d61"
+ },
+ "raising_hand_tone2": {
+ "category": "people",
+ "moji": "🙋🏼",
+ "description": "happy person raising one hand tone2",
+ "unicodeVersion": "8.0",
+ "digest": "8af44fa3d2d7eadc95c8193993eeeaea3bd764c1ac884d897804a074bba87a21"
+ },
+ "raising_hand_tone3": {
+ "category": "people",
+ "moji": "🙋🏽",
+ "description": "happy person raising one hand tone3",
+ "unicodeVersion": "8.0",
+ "digest": "cc39cadc42f9ec7fba6e74661e757f0d7a36fd10807fe90fddd511a07e290059"
+ },
+ "raising_hand_tone4": {
+ "category": "people",
+ "moji": "🙋🏾",
+ "description": "happy person raising one hand tone4",
+ "unicodeVersion": "8.0",
+ "digest": "7ef0c37921ced3c64898531b746eaf1e6ed7133ebefd74394e5b0164ee57085d"
+ },
+ "raising_hand_tone5": {
+ "category": "people",
+ "moji": "🙋🏿",
+ "description": "happy person raising one hand tone5",
+ "unicodeVersion": "8.0",
+ "digest": "96927ec26049ce6efc65917605f9039f9ec746eff23fe00c4f35ceb29d4f2c93"
},
"bow": {
"category": "people",
@@ -1042,13 +2911,6 @@
"unicodeVersion": "6.0",
"digest": "7f87a4acccfe257981459813185e6379477e5a892241c30e035db16d661119fe"
},
- "bow_and_arrow": {
- "category": "activity",
- "moji": "🏹",
- "description": "bow and arrow",
- "unicodeVersion": "8.0",
- "digest": "c98949db3391c74e299232ea99a28e035cc1cd747e281e52ccb9afd6a6ac40c3"
- },
"bow_tone1": {
"category": "people",
"moji": "🙇🏻",
@@ -1084,68 +2946,467 @@
"unicodeVersion": "8.0",
"digest": "123679fd642e0b47297e69becaa3d490e52c6b45a3ec810f50fe4e75744bf990"
},
- "bowling": {
- "category": "activity",
- "moji": "🎳",
- "description": "bowling",
+ "face_palm": {
+ "category": "people",
+ "moji": "🤦",
+ "description": "face palm",
+ "unicodeVersion": "9.0",
+ "digest": "60baca7855516c86883de6fd63f154b047d27325590c751089404e7287df56aa"
+ },
+ "face_palm_tone1": {
+ "category": "people",
+ "moji": "🤦🏻",
+ "description": "face palm tone 1",
+ "unicodeVersion": "9.0",
+ "digest": "f505ab5fc98f2e3bf5893f59484b90900e7c04c6f0467e0c89ccf99c5fd76715"
+ },
+ "face_palm_tone2": {
+ "category": "people",
+ "moji": "🤦🏼",
+ "description": "face palm tone 2",
+ "unicodeVersion": "9.0",
+ "digest": "9a3361cef95736983bbd54375ce9bf59c0fb1608f445da9dce79617cf05841bb"
+ },
+ "face_palm_tone3": {
+ "category": "people",
+ "moji": "🤦🏽",
+ "description": "face palm tone 3",
+ "unicodeVersion": "9.0",
+ "digest": "d53cda9e9909988ec6ca4b9ee5735bac82ca53ee890f1c0eca50471ddbb044d3"
+ },
+ "face_palm_tone4": {
+ "category": "people",
+ "moji": "🤦🏾",
+ "description": "face palm tone 4",
+ "unicodeVersion": "9.0",
+ "digest": "51d8cd0103356c08c4fe5cb6d68ac09688d08ea9253d6ccc09b4900730a89d80"
+ },
+ "face_palm_tone5": {
+ "category": "people",
+ "moji": "🤦🏿",
+ "description": "face palm tone 5",
+ "unicodeVersion": "9.0",
+ "digest": "7c044e1662880c143f8f2b15eee0d5aeb2c6831ee70ff5dcc3796f2585f5f6b0"
+ },
+ "shrug": {
+ "category": "people",
+ "moji": "🤷",
+ "description": "shrug",
+ "unicodeVersion": "9.0",
+ "digest": "1203afd3973f34c726c8e8ca66b76c2f1e7036a45d595d6f4cfd104c00d76d63"
+ },
+ "shrug_tone1": {
+ "category": "people",
+ "moji": "🤷🏻",
+ "description": "shrug tone 1",
+ "unicodeVersion": "9.0",
+ "digest": "fb6eb588f019cf7a25bac347cb2b5c124f9d333314d040daef8b70ed1de5032d"
+ },
+ "shrug_tone2": {
+ "category": "people",
+ "moji": "🤷🏼",
+ "description": "shrug tone 2",
+ "unicodeVersion": "9.0",
+ "digest": "a3b64ffa33f602adae12924b5576b6ed1f4bebbcf2db4952ec846b9778aadeaa"
+ },
+ "shrug_tone3": {
+ "category": "people",
+ "moji": "🤷🏽",
+ "description": "shrug tone 3",
+ "unicodeVersion": "9.0",
+ "digest": "e7148fbdb7194182d5f3c66e9a1e7a9e5a8c4d88ceab38f5d0ecd40bc231f6b8"
+ },
+ "shrug_tone4": {
+ "category": "people",
+ "moji": "🤷🏾",
+ "description": "shrug tone 4",
+ "unicodeVersion": "9.0",
+ "digest": "8977c5afbde154d944f965ff7f10d26167ea427b8b191a6ec8708c6517168334"
+ },
+ "shrug_tone5": {
+ "category": "people",
+ "moji": "🤷🏿",
+ "description": "shrug tone 5",
+ "unicodeVersion": "9.0",
+ "digest": "3968a312496e479a86b63274f529c2b283d180118c04edf3c6b6ea5f812c05bb"
+ },
+ "cop": {
+ "category": "people",
+ "moji": "👮",
+ "description": "police officer",
"unicodeVersion": "6.0",
- "digest": "2bc7f10afb9d6c61e015e4b6ca8c65c038a6a802840e1879142ee9bb86369b38"
+ "digest": "ca75e6722bc6520f3375af4d588cd5af15b52d5a856a67d99414e149d8ea9ca0"
},
- "boxing_glove": {
- "category": "activity",
- "moji": "🥊",
- "description": "boxing glove",
+ "cop_tone1": {
+ "category": "people",
+ "moji": "👮🏻",
+ "description": "police officer tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "309280c5b2f6f957134015fe62a262b7853b67c6d7a020e59e942a21ac52c561"
+ },
+ "cop_tone2": {
+ "category": "people",
+ "moji": "👮🏼",
+ "description": "police officer tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "2db60b30bb0533a82590190ba1e9aa2a4a21b13219c9b5fdf67e0c88a63cac59"
+ },
+ "cop_tone3": {
+ "category": "people",
+ "moji": "👮🏽",
+ "description": "police officer tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "724bf942373fe976683449d871bd76275f0b21966abd69dfe046249731f17fee"
+ },
+ "cop_tone4": {
+ "category": "people",
+ "moji": "👮🏾",
+ "description": "police officer tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "c95ba196d60964cdc5252cef740ee98369ce6a9553f6da55e8b0dc3e6cfc345b"
+ },
+ "cop_tone5": {
+ "category": "people",
+ "moji": "👮🏿",
+ "description": "police officer tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "8aa857e06fa050ae584e2be28e61944e336f7b53d94ec10763be04ce9b59a812"
+ },
+ "spy": {
+ "category": "people",
+ "moji": "🕵",
+ "description": "sleuth or spy",
+ "unicodeVersion": "7.0",
+ "digest": "af9ec39cb9ec28b9b3917628187b28899f8f778b593ce722c59575af6a8cff75"
+ },
+ "spy_tone1": {
+ "category": "people",
+ "moji": "🕵🏻",
+ "description": "sleuth or spy tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "26134ab9a163d03fde9a4ce7e77ba06acfd6a385d6534bd94cbd0430fdb56054"
+ },
+ "spy_tone2": {
+ "category": "people",
+ "moji": "🕵🏼",
+ "description": "sleuth or spy tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "6f0d3ae8b0980c4586aaacdc8df8ed5815fe5f1fe18be566316cb0f21b1beeba"
+ },
+ "spy_tone3": {
+ "category": "people",
+ "moji": "🕵🏽",
+ "description": "sleuth or spy tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "154818ede71c0b8ae5cdf621efe9560e419f62f67ad03049c29cf505bd160bbc"
+ },
+ "spy_tone4": {
+ "category": "people",
+ "moji": "🕵🏾",
+ "description": "sleuth or spy tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "2ff959799064e9e47c9e1698357b04cc0fd1343bfc8b1be0d20fe49852b05f32"
+ },
+ "spy_tone5": {
+ "category": "people",
+ "moji": "🕵🏿",
+ "description": "sleuth or spy tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "6046a8031fd6d410380d41f2a7cd658d9aec9b61a5759265a26ae1e2b9409096"
+ },
+ "guardsman": {
+ "category": "people",
+ "moji": "💂",
+ "description": "guardsman",
+ "unicodeVersion": "6.0",
+ "digest": "b8fe4960df2f06ada3c1d6d8a7c53bb7c01b976a7f43afce50c7dadc4840771b"
+ },
+ "guardsman_tone1": {
+ "category": "people",
+ "moji": "💂🏻",
+ "description": "guardsman tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "0e7fbf3faddaac2246c318fac9a8f40908ad44c98bd6543091c601abe62a5c96"
+ },
+ "guardsman_tone2": {
+ "category": "people",
+ "moji": "💂🏼",
+ "description": "guardsman tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "56a81767c023dd6ac42b586fc50804b34b4da8fcbbffe9a6d6e5dc12e89868f8"
+ },
+ "guardsman_tone3": {
+ "category": "people",
+ "moji": "💂🏽",
+ "description": "guardsman tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "1c15ae587f90408781f5560366febafbee7e5318d1f618135408827ef82b09ee"
+ },
+ "guardsman_tone4": {
+ "category": "people",
+ "moji": "💂🏾",
+ "description": "guardsman tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "4fd65aa93d212fd58e5c41dc70816d691635fa6fb271bf55d72c33f3acc72c4a"
+ },
+ "guardsman_tone5": {
+ "category": "people",
+ "moji": "💂🏿",
+ "description": "guardsman tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "dcf7b0462d5b5b0ae09673c8ea3b7e48648edc28541680dc0adbaef1fb7e738d"
+ },
+ "construction_worker": {
+ "category": "people",
+ "moji": "👷",
+ "description": "construction worker",
+ "unicodeVersion": "6.0",
+ "digest": "47476b5eb51a1e00d0c95f032c79ca6472b41ece0bdf057bbb87da088605c589"
+ },
+ "construction_worker_tone1": {
+ "category": "people",
+ "moji": "👷🏻",
+ "description": "construction worker tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "087fe998c1e316591d4a0c09c7ef80b0cf73d7f0f295e4bc18405e9153eb7b6c"
+ },
+ "construction_worker_tone2": {
+ "category": "people",
+ "moji": "👷🏼",
+ "description": "construction worker tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "2a829b907f78a0d197677d19be96e177e0a021a04decb3c0bbf637cf74716787"
+ },
+ "construction_worker_tone3": {
+ "category": "people",
+ "moji": "👷🏽",
+ "description": "construction worker tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "551d3bddffe6e7c739732a1d759994e2a8090e81df401a70c5b4eab315242840"
+ },
+ "construction_worker_tone4": {
+ "category": "people",
+ "moji": "👷🏾",
+ "description": "construction worker tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "d563f84633598c86bbad12a96418eee7e7a6cd945d9ecdb60d93be56697b8d96"
+ },
+ "construction_worker_tone5": {
+ "category": "people",
+ "moji": "👷🏿",
+ "description": "construction worker tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "56950bb7e235ccd82c8b1e689268ecd471809b8b65ec8654949a15cd6b42e7b5"
+ },
+ "prince": {
+ "category": "people",
+ "moji": "🤴",
+ "description": "prince",
"unicodeVersion": "9.0",
- "digest": "4acdaf7627f8a70148dadec0012474c3eb5042d2a165522c9a221cb6c63376c3"
+ "digest": "07fcbaf5d14e5e77d1a44cae21006ab245da1fd799773aa836a9bb2fdac24f61"
},
- "boy": {
+ "prince_tone1": {
"category": "people",
- "moji": "👦",
- "description": "boy",
+ "moji": "🤴🏻",
+ "description": "prince tone 1",
+ "unicodeVersion": "9.0",
+ "digest": "2db61fd0e8bb7d9d5941df7c680d2e4fff6b282d2a356c34bf32e55bf41d1245"
+ },
+ "prince_tone2": {
+ "category": "people",
+ "moji": "🤴🏼",
+ "description": "prince tone 2",
+ "unicodeVersion": "9.0",
+ "digest": "283dbc3550fe80ce1bf4f6eabd7e216026f3996f4e0fa9b9b881df8d741c26d3"
+ },
+ "prince_tone3": {
+ "category": "people",
+ "moji": "🤴🏽",
+ "description": "prince tone 3",
+ "unicodeVersion": "9.0",
+ "digest": "374f58411517a2c3532adad34108db23e8587a86d15e32aa0e67e8a82d1c2ef3"
+ },
+ "prince_tone4": {
+ "category": "people",
+ "moji": "🤴🏾",
+ "description": "prince tone 4",
+ "unicodeVersion": "9.0",
+ "digest": "a6d44eb1caf4dc0fbb1b5821809cd55bea127f5a6b4b4b7e259f161ef502a52b"
+ },
+ "prince_tone5": {
+ "category": "people",
+ "moji": "🤴🏿",
+ "description": "prince tone 5",
+ "unicodeVersion": "9.0",
+ "digest": "72bbb711de954db8d01bf0270ae23ead3fabc76a1e9edc208b2ee08b3c282c17"
+ },
+ "princess": {
+ "category": "people",
+ "moji": "👸",
+ "description": "princess",
"unicodeVersion": "6.0",
- "digest": "7a5a1eb2e38f835e8fe6506a78f0f05dd4e831bdd8ea30f3f5f473bc1d28baa2"
+ "digest": "0255742ad246f6245302c68965ce7243618c62e27a55927a1101db0a58144205"
},
- "boy_tone1": {
+ "princess_tone1": {
"category": "people",
- "moji": "👦🏻",
- "description": "boy tone 1",
+ "moji": "👸🏻",
+ "description": "princess tone 1",
"unicodeVersion": "8.0",
- "digest": "b0edd5f1171b2969e5273cb0be90d57f2d7c605ff413478eabecb9501bcfe811"
+ "digest": "6634c586ce395cc2417acfffc4997bd9152b200abb357921f9bcb37d5501c99b"
},
- "boy_tone2": {
+ "princess_tone2": {
"category": "people",
- "moji": "👦🏼",
- "description": "boy tone 2",
+ "moji": "👸🏼",
+ "description": "princess tone 2",
"unicodeVersion": "8.0",
- "digest": "52f5dba881f3fb1867619dfc35d503022e6455a475137d2d5366830fe6966e09"
+ "digest": "9ef16a00fa3f044559e9a8f5abbd0d8be7c6d665f8007c59094e2581d92236d1"
},
- "boy_tone3": {
+ "princess_tone3": {
"category": "people",
- "moji": "👦🏽",
- "description": "boy tone 3",
+ "moji": "👸🏽",
+ "description": "princess tone 3",
"unicodeVersion": "8.0",
- "digest": "57d11252ed3e92e5093ee70a11549f98f70f623a18b75dd8736dc5908f361c8c"
+ "digest": "0a6687e1da8a427e55fc2769f8927fa3f285b9e3dfc4d0a89de2339f9c7ad5d6"
},
- "boy_tone4": {
+ "princess_tone4": {
"category": "people",
- "moji": "👦🏾",
- "description": "boy tone 4",
+ "moji": "👸🏾",
+ "description": "princess tone 4",
"unicodeVersion": "8.0",
- "digest": "b18387f39f18a50afc737c13d5387a904d27210e5e147e0ad4f0966f9091156b"
+ "digest": "687368a236801772418314f1ca4271d97511a3c5875a22886abc21e2383d784d"
},
- "boy_tone5": {
+ "princess_tone5": {
"category": "people",
- "moji": "👦🏿",
- "description": "boy tone 5",
+ "moji": "👸🏿",
+ "description": "princess tone 5",
"unicodeVersion": "8.0",
- "digest": "37527ef42b6e163d273b95178e0c385c46172e45bac09070e421fa8230d5b04c"
+ "digest": "cd1a5425ebe5bd0334ae35e3fcdbe50fffcceac150a86b842b92bbb78bbb0e3b"
},
- "bread": {
- "category": "food",
- "moji": "🍞",
- "description": "bread",
+ "man_with_turban": {
+ "category": "people",
+ "moji": "👳",
+ "description": "man with turban",
"unicodeVersion": "6.0",
- "digest": "6108ad957056be1eeeb3c28e5fbd1b215becb07ad8669513466a26dfd481fe74"
+ "digest": "7741fa53fa283478eec7746c6d3952551980fa2faf2cadd79ad3e60b22413093"
+ },
+ "man_with_turban_tone1": {
+ "category": "people",
+ "moji": "👳🏻",
+ "description": "man with turban tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "e5163b3d793ff9f7f3efe04a4264a160aef3d1c4b6e731a25601a5ebc1f91dc9"
+ },
+ "man_with_turban_tone2": {
+ "category": "people",
+ "moji": "👳🏼",
+ "description": "man with turban tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "f99883c8d09281cdb9a63374e4e418767cf104976fe68f353443e3687b93ecf5"
+ },
+ "man_with_turban_tone3": {
+ "category": "people",
+ "moji": "👳🏽",
+ "description": "man with turban tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "168392861e99c39719618454721047f1dc75b8fcef07233079806eccdf0b63be"
+ },
+ "man_with_turban_tone4": {
+ "category": "people",
+ "moji": "👳🏾",
+ "description": "man with turban tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "1ed7b32cb652d66421a90378b3fd3dbec0da4124886114152ff199f538d8d593"
+ },
+ "man_with_turban_tone5": {
+ "category": "people",
+ "moji": "👳🏿",
+ "description": "man with turban tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "0f639e64c4393c5c81d7c8bc3a37b4988acfc7112616dec45c82226fff15f245"
+ },
+ "man_with_gua_pi_mao": {
+ "category": "people",
+ "moji": "👲",
+ "description": "man with gua pi mao",
+ "unicodeVersion": "6.0",
+ "digest": "f8376151b1df1cca64805f8b64e4b2b3b7358bbd3eb1bbd2cbf363a4a1d542a5"
+ },
+ "man_with_gua_pi_mao_tone1": {
+ "category": "people",
+ "moji": "👲🏻",
+ "description": "man with gua pi mao tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "858d738820987110c6dc6811b69f4b9b7107304ab4e094c55d2f09e8f506dff4"
+ },
+ "man_with_gua_pi_mao_tone2": {
+ "category": "people",
+ "moji": "👲🏼",
+ "description": "man with gua pi mao tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "52e61c5ba607cdb6c49a9252bbb9290d117aa991e34c7d352ab82b9ee708680b"
+ },
+ "man_with_gua_pi_mao_tone3": {
+ "category": "people",
+ "moji": "👲🏽",
+ "description": "man with gua pi mao tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "6ed7de2cb0d2d5434e3fe454b9d56f92f498b7f77a99611ee23f6137627e014c"
+ },
+ "man_with_gua_pi_mao_tone4": {
+ "category": "people",
+ "moji": "👲🏾",
+ "description": "man with gua pi mao tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "c0c6caca9dfd6e3420483929b16556414d0d64708cecc05b1e6969f9e15cb103"
+ },
+ "man_with_gua_pi_mao_tone5": {
+ "category": "people",
+ "moji": "👲🏿",
+ "description": "man with gua pi mao tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "a1ce066b7903e2156919a88e1f4824ece7598cc3b8384ee27342cdf4b69310f1"
+ },
+ "man_in_tuxedo": {
+ "category": "people",
+ "moji": "🤵",
+ "description": "man in tuxedo",
+ "unicodeVersion": "9.0",
+ "digest": "2da1693a18afdd9722380c4778183195d006563787b2d8b839a9810a18626798"
+ },
+ "man_in_tuxedo_tone1": {
+ "category": "people",
+ "moji": "🤵🏻",
+ "description": "man in tuxedo tone 1",
+ "unicodeVersion": "9.0",
+ "digest": "506256c184c13806736c599a07f62ac910b5a10130480355d012a53e11894c79"
+ },
+ "man_in_tuxedo_tone2": {
+ "category": "people",
+ "moji": "🤵🏼",
+ "description": "man in tuxedo tone 2",
+ "unicodeVersion": "9.0",
+ "digest": "1413dbbe32c1578fbc3a9afe0bec950aab0da5277f6ae286aaae03870aeb0846"
+ },
+ "man_in_tuxedo_tone3": {
+ "category": "people",
+ "moji": "🤵🏽",
+ "description": "man in tuxedo tone 3",
+ "unicodeVersion": "9.0",
+ "digest": "1c42dc5683bf2f9a5ea719de1eda6f9f872950495581ca2201b61cbcdc74a342"
+ },
+ "man_in_tuxedo_tone4": {
+ "category": "people",
+ "moji": "🤵🏾",
+ "description": "man in tuxedo tone 4",
+ "unicodeVersion": "9.0",
+ "digest": "9fcf33a14bec175bd7587db3778fe50c5d31dcf2db37e3e941944df133b5b722"
+ },
+ "man_in_tuxedo_tone5": {
+ "category": "people",
+ "moji": "🤵🏿",
+ "description": "man in tuxedo tone 5",
+ "unicodeVersion": "9.0",
+ "digest": "941765104eab002f58217ad7ba418a5082732b32faba92e372bafc8debe457f4"
},
"bride_with_veil": {
"category": "people",
@@ -1189,271 +3450,803 @@
"unicodeVersion": "8.0",
"digest": "e542a466332ea26f2b94a6504912659d4ed72e6fcf399830828a478124e2d79c"
},
- "bridge_at_night": {
- "category": "travel",
- "moji": "🌉",
- "description": "bridge at night",
- "unicodeVersion": "6.0",
- "digest": "212feaa05b96bff46d9699d3e9f1d61f6fc0e228414534b1bf8f1383c591784c"
+ "pregnant_woman": {
+ "category": "people",
+ "moji": "🤰",
+ "description": "pregnant woman",
+ "unicodeVersion": "9.0",
+ "digest": "541e4d6245b5b243121e4666298cd5ae5a31fd38228ca2f527865019d7fa25b5"
},
- "briefcase": {
+ "pregnant_woman_tone1": {
"category": "people",
- "moji": "💼",
- "description": "briefcase",
- "unicodeVersion": "6.0",
- "digest": "f72220b3fa933c6b503c041643543369177efc2bee094d392cbf8ee9d5cf11a0"
+ "moji": "🤰🏻",
+ "description": "pregnant woman tone 1",
+ "unicodeVersion": "9.0",
+ "digest": "8c16b193ce1c39aafcc4ba1b7db7524486cfbd640ece996bd795e91198db6196"
},
- "broken_heart": {
- "category": "symbols",
- "moji": "💔",
- "description": "broken heart",
- "unicodeVersion": "6.0",
- "digest": "6b60f5c0d0a7702308a85e0d8eca3ca54ac348a9f66bb56f89f9f3aae9303ca4"
+ "pregnant_woman_tone2": {
+ "category": "people",
+ "moji": "🤰🏼",
+ "description": "pregnant woman tone 2",
+ "unicodeVersion": "9.0",
+ "digest": "44261300c22052fdc4f82cb41d63754b5bd9d5bc6dac92ac68440a62f3456b87"
},
- "bug": {
- "category": "nature",
- "moji": "🐛",
- "description": "bug",
- "unicodeVersion": "6.0",
- "digest": "8c3a35433d6c2d63c57d2fdfa8be50bd35c334dfe0ba1b1554555e872091b857"
+ "pregnant_woman_tone3": {
+ "category": "people",
+ "moji": "🤰🏽",
+ "description": "pregnant woman tone 3",
+ "unicodeVersion": "9.0",
+ "digest": "f734c133c3d9dc59aeb050024c420e2de231e2fabefda255169666ee955ab8e4"
},
- "bulb": {
- "category": "objects",
- "moji": "💡",
- "description": "electric light bulb",
- "unicodeVersion": "6.0",
- "digest": "2cdc43e4bb17fc00c903a911e065fe1bb96f4f57103a3836cfa908c4618e6d45"
+ "pregnant_woman_tone4": {
+ "category": "people",
+ "moji": "🤰🏾",
+ "description": "pregnant woman tone 4",
+ "unicodeVersion": "9.0",
+ "digest": "6990dabfc19d92c061fdffd82ab99f582378fd84c535db0dc042f20cb9db6c16"
},
- "bullettrain_front": {
- "category": "travel",
- "moji": "🚅",
- "description": "high-speed train with bullet nose",
- "unicodeVersion": "6.0",
- "digest": "b8cd48a543a5ed0cf750cfa8bcfa536e26b72a77e4b7f506041b623e9081fb69"
+ "pregnant_woman_tone5": {
+ "category": "people",
+ "moji": "🤰🏿",
+ "description": "pregnant woman tone 5",
+ "unicodeVersion": "9.0",
+ "digest": "6981c98ac30d7ff3dc5b44279a3d3a8891a1fd33de5a41050aced7e37ec9ea21"
},
- "bullettrain_side": {
- "category": "travel",
- "moji": "🚄",
- "description": "high-speed train",
+ "angel": {
+ "category": "people",
+ "moji": "👼",
+ "description": "baby angel",
"unicodeVersion": "6.0",
- "digest": "401e85f01801e39f8325a96bdee7e27626fc4124d92eeb3e39227d78ef7d26c0"
+ "digest": "93d8abd48b9a0eac8332ed79e1f95c206dd29895e74d31931db32f4feab664fb"
},
- "burrito": {
- "category": "food",
- "moji": "🌯",
- "description": "burrito",
+ "angel_tone1": {
+ "category": "people",
+ "moji": "👼🏻",
+ "description": "baby angel tone 1",
"unicodeVersion": "8.0",
- "digest": "99ad1315f80dd9c1a9dab3a88e4c272d813b072a10f085c44ec4d261f7cb1d83"
+ "digest": "032faac5736197bb9a75da5743891334264d278378f8510b40623c02bc597601"
},
- "bus": {
- "category": "travel",
- "moji": "🚌",
- "description": "bus",
- "unicodeVersion": "6.0",
- "digest": "70534ef30162b8af4b548c3fc0f4d7964e01c8bcb2b52c3b2dc2df4854aa308c"
+ "angel_tone2": {
+ "category": "people",
+ "moji": "👼🏼",
+ "description": "baby angel tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "2f37a1d960eba5ada71b166c4371fdeb69f560f57759de1b24984d0848f74c68"
},
- "busstop": {
- "category": "travel",
- "moji": "🚏",
- "description": "bus stop",
- "unicodeVersion": "6.0",
- "digest": "ccb2c93fe9f2a03c0674d921bb3a6a6c80e2eef64a274bd31b1efb3147785e6f"
+ "angel_tone3": {
+ "category": "people",
+ "moji": "👼🏽",
+ "description": "baby angel tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "96fb1d8e568752aed2c716a062ef650cf4ccca609fdf78cde2e81e3e8f86a098"
},
- "bust_in_silhouette": {
+ "angel_tone4": {
"category": "people",
- "moji": "👤",
- "description": "bust in silhouette",
- "unicodeVersion": "6.0",
- "digest": "17f35781aa264a26812ca9a13a32e7ab73a7eb95af1bc0b812a35d6fc9ac521f"
+ "moji": "👼🏾",
+ "description": "baby angel tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "b17721fd657278ee719963b0df074a9290c52cf58d094ed2722881030f57a79e"
},
- "busts_in_silhouette": {
+ "angel_tone5": {
"category": "people",
- "moji": "👥",
- "description": "busts in silhouette",
+ "moji": "👼🏿",
+ "description": "baby angel tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "c6ebaa89eb3b2e6ee6e16b483587a6f6b341cae187d282e27cf71d1a18117735"
+ },
+ "santa": {
+ "category": "people",
+ "moji": "🎅",
+ "description": "father christmas",
"unicodeVersion": "6.0",
- "digest": "f9aa0c03d90e5d0f57f8114b998019452c5756a8dcbf1750b07f9aeae2f4ab08"
+ "digest": "bc9f3a14f824d9299d2132822c6341c4e87f53ed0c5050c31b5b96d801bc5c3c"
},
- "butterfly": {
- "category": "nature",
- "moji": "🦋",
- "description": "butterfly",
- "unicodeVersion": "9.0",
- "digest": "a7c33f816a9705a83a0debf8cbeb1ff9dc430200f52e8d0f5682fe11c39b4473"
+ "santa_tone1": {
+ "category": "people",
+ "moji": "🎅🏻",
+ "description": "father christmas tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "7e527394c52da94c740197b0d05d15d7c5ee113dce7a7800ec617bd3a3fa297f"
},
- "cactus": {
- "category": "nature",
- "moji": "🌵",
- "description": "cactus",
- "unicodeVersion": "6.0",
- "digest": "1690158bb63afbe907bbc343627b9c353198ad611b9bb195f5eda5c3545aa2e9"
+ "santa_tone2": {
+ "category": "people",
+ "moji": "🎅🏼",
+ "description": "father christmas tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "26c649ec3f466952dbb6d3234ad3254c735259c83bfbbf96c68d0203ed5744e1"
},
- "cake": {
- "category": "food",
- "moji": "🍰",
- "description": "shortcake",
- "unicodeVersion": "6.0",
- "digest": "807cc6dd0621c1c4dbd5380191d056ce44ccd2b92dda0cad6ca1c57e19e9f785"
+ "santa_tone3": {
+ "category": "people",
+ "moji": "🎅🏽",
+ "description": "father christmas tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "d8e656829487c0808af4efb095e55cbc8a9b18576572ebd61dbac422119a1a01"
},
- "calendar": {
- "category": "objects",
- "moji": "📆",
- "description": "tear-off calendar",
- "unicodeVersion": "6.0",
- "digest": "275fa5b2c113c3d117b1c8970f01dd897b90405db7a55ff6a3dda767817ed4f5"
+ "santa_tone4": {
+ "category": "people",
+ "moji": "🎅🏾",
+ "description": "father christmas tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "e12990b6edb39eea5f8bcd0f3c4d0f404cd47beb8fe180066455f833e7b99cf8"
},
- "calendar_spiral": {
- "category": "objects",
- "moji": "🗓",
- "description": "spiral calendar pad",
- "unicodeVersion": "7.0",
- "digest": "01aefae6a6d0d517be52e7918d6893d55a9fa5b7480d60cb8b8b5a743573ea0b"
+ "santa_tone5": {
+ "category": "people",
+ "moji": "🎅🏿",
+ "description": "father christmas tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "0310b472690b6f3aac9fa4f611fa00c3d9d5d50edb94d08a676c77f28c0913da"
},
- "call_me": {
+ "mrs_claus": {
"category": "people",
- "moji": "🤙",
- "description": "call me hand",
+ "moji": "🤶",
+ "description": "mother christmas",
"unicodeVersion": "9.0",
- "digest": "3701197e18ffedc242a6b20ab74e7a339c7f77df27c5f92d5124a42e39a9502a"
+ "digest": "67d7fccbfd20aa195e526485ce40e52994aa4fa9fb71c70533fb579f4ca0ef1f"
},
- "call_me_tone1": {
+ "mrs_claus_tone1": {
"category": "people",
- "moji": "🤙🏻",
- "description": "call me hand tone 1",
+ "moji": "🤶🏻",
+ "description": "mother christmas tone 1",
"unicodeVersion": "9.0",
- "digest": "1c5c681c9b588a2b07a57d27d3aaf209e7d23c4cba938ffce07bfa4a53d720e9"
+ "digest": "c95a39dcdabe20d1f18a2c5cf7cbf1e530fe9ced7ffdbb0f7f8cf833663f8775"
},
- "call_me_tone2": {
+ "mrs_claus_tone2": {
"category": "people",
- "moji": "🤙🏼",
- "description": "call me hand tone 2",
+ "moji": "🤶🏼",
+ "description": "mother christmas tone 2",
"unicodeVersion": "9.0",
- "digest": "4c848da3d8849de81922aa2eb6611489ad72649cf189849176217e946cf9aad8"
+ "digest": "425a73cb7d57dbaaf13b1156329ef31a0e9b8cc3917c16b90cc561d4d3373bad"
},
- "call_me_tone3": {
+ "mrs_claus_tone3": {
"category": "people",
- "moji": "🤙🏽",
- "description": "call me hand tone 3",
+ "moji": "🤶🏽",
+ "description": "mother christmas tone 3",
"unicodeVersion": "9.0",
- "digest": "b697c1a4aa15f7793002b79aee8e5240f48b832b33f8ad39b8d46b90624c6c0a"
+ "digest": "59fd4b47738832f3996b94f67e049edf5d64e0c346b55c9ff09cb893db898fbb"
},
- "call_me_tone4": {
+ "mrs_claus_tone4": {
"category": "people",
- "moji": "🤙🏾",
- "description": "call me hand tone 4",
+ "moji": "🤶🏾",
+ "description": "mother christmas tone 4",
"unicodeVersion": "9.0",
- "digest": "f1b07c2a8071f5f704b5354277777aa651202f56ef7d334ce66e0475fdba086a"
+ "digest": "e96e7945124124002f13cb381f43dad4f40d77b3ec9eb691a58c929ea3214c0d"
},
- "call_me_tone5": {
+ "mrs_claus_tone5": {
"category": "people",
- "moji": "🤙🏿",
- "description": "call me hand tone 5",
+ "moji": "🤶🏿",
+ "description": "mother christmas tone 5",
"unicodeVersion": "9.0",
- "digest": "d7d8d96a3980e3c558d3e3ef62aa49dc237c075f0c3dfb0b06ae33fc98f565c5"
+ "digest": "a1639e1ed2d862d48e528a5b3f1da14e8afddbed09fafed8f0ad1dbb75c335dc"
},
- "calling": {
- "category": "objects",
- "moji": "📲",
- "description": "mobile phone with rightwards arrow at left",
+ "massage": {
+ "category": "people",
+ "moji": "💆",
+ "description": "face massage",
"unicodeVersion": "6.0",
- "digest": "3fc285fd0fc7a6beb6c64091671d0f789458e32aaba9d9fd74dfac16b9549826"
+ "digest": "3c5ede480d35f567954a1dd7082836f0898b44cd41037ce37c0539f8062209a1"
},
- "camel": {
- "category": "nature",
- "moji": "🐫",
- "description": "bactrian camel",
+ "massage_tone1": {
+ "category": "people",
+ "moji": "💆🏻",
+ "description": "face massage tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "d70f8df999a2f2a69eceb60cc09be2d8cabd5121deb051e1e6ef1b60504209c6"
+ },
+ "massage_tone2": {
+ "category": "people",
+ "moji": "💆🏼",
+ "description": "face massage tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "1487da84572a32db39b018369df3ddabb1903294425d9b60091d83ac6b59a48a"
+ },
+ "massage_tone3": {
+ "category": "people",
+ "moji": "💆🏽",
+ "description": "face massage tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "c10b984c5225440f3da97df2d00b4a88f41ee1cd9902042f64c557e31ddf944d"
+ },
+ "massage_tone4": {
+ "category": "people",
+ "moji": "💆🏾",
+ "description": "face massage tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "3140b503be64c8a91a7be46b12585a11b03aba0d3c5186095b734de23b9919e5"
+ },
+ "massage_tone5": {
+ "category": "people",
+ "moji": "💆🏿",
+ "description": "face massage tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "ee0d958448ae7c5f0314520d6dab1220d827ad037d2880a72749433cf6381ab3"
+ },
+ "haircut": {
+ "category": "people",
+ "moji": "💇",
+ "description": "haircut",
"unicodeVersion": "6.0",
- "digest": "666d8efce2033fd7a69fa8537a0d724b3e1e0d9d5093b8d7666a45a4f7d1831f"
+ "digest": "d6da39a1156f21ca140f28c5477fbbc37c2a9903bb2eb183e9288e16eedf134e"
},
- "camera": {
- "category": "objects",
- "moji": "📷",
- "description": "camera",
+ "haircut_tone1": {
+ "category": "people",
+ "moji": "💇🏻",
+ "description": "haircut tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "186dfd3d0512fc316dd48a75b4201cb9006bf1f01ad17afe41c1e9fc4f1b440a"
+ },
+ "haircut_tone2": {
+ "category": "people",
+ "moji": "💇🏼",
+ "description": "haircut tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "4e85e6281419b2bc948d529d883bdcea6c115a4195299c1fc3c0bb839ac95b26"
+ },
+ "haircut_tone3": {
+ "category": "people",
+ "moji": "💇🏽",
+ "description": "haircut tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "08d8b031cb43180346a7be2e6e010b31abfdc091471c357ff1d428bd8bd66bba"
+ },
+ "haircut_tone4": {
+ "category": "people",
+ "moji": "💇🏾",
+ "description": "haircut tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "b3d2c66952b6d141ab000c6c99a4b8a978f135e2b880aed83517fb5cbced7f14"
+ },
+ "haircut_tone5": {
+ "category": "people",
+ "moji": "💇🏿",
+ "description": "haircut tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "eab0facef35c9b3e920c79adce756116b68fe8042bc77f9505d93cdd75a58e79"
+ },
+ "walking": {
+ "category": "people",
+ "moji": "🚶",
+ "description": "pedestrian",
"unicodeVersion": "6.0",
- "digest": "5d86baa4baede9c6d02fbe02fd2d4ad07a47a77e09c1d2d045ea20b36bd2938c"
+ "digest": "595b89b7ed1359e120f4aeeaccc8dbce01fc96358ce6b9501b6f4ab6559428f4"
},
- "camera_with_flash": {
- "category": "objects",
- "moji": "📸",
- "description": "camera with flash",
- "unicodeVersion": "7.0",
- "digest": "9b701460de9ba318811d771bb451fb109850bc08ad6592f9365bc350de571f9f"
+ "walking_tone1": {
+ "category": "people",
+ "moji": "🚶🏻",
+ "description": "pedestrian tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "794562b94ed8c825c4facad1b3d8fca0c90f49582209cc0f0923e33d2d5a083d"
},
- "camping": {
- "category": "travel",
- "moji": "🏕",
- "description": "camping",
- "unicodeVersion": "7.0",
- "digest": "70c596c5d9ab030e26b46c95e011a28050aa6082f4ba2b8b197f24915ce03c86"
+ "walking_tone2": {
+ "category": "people",
+ "moji": "🚶🏼",
+ "description": "pedestrian tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "3fc7452b3b324a3a9f7a34faa82175865681248094f13ea7977ee1eb64e6e201"
},
- "cancer": {
- "category": "symbols",
- "moji": "♋",
- "description": "cancer",
- "unicodeVersion": "1.1",
- "digest": "f707db14878e03608dee3eca4eacf0a0be4a709c6d33b2d5b7ab0e8f05473b2b"
+ "walking_tone3": {
+ "category": "people",
+ "moji": "🚶🏽",
+ "description": "pedestrian tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "b9200fae09036c6919e8a348b51a2fe09e2e2909120077000dcba0fd62fb9fa5"
},
- "candle": {
- "category": "objects",
- "moji": "🕯",
- "description": "candle",
+ "walking_tone4": {
+ "category": "people",
+ "moji": "🚶🏾",
+ "description": "pedestrian tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "c1dbd3327bed96613834dd05dbf43bd233f5d4ab96b1c6f42684ecc690d62fa7"
+ },
+ "walking_tone5": {
+ "category": "people",
+ "moji": "🚶🏿",
+ "description": "pedestrian tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "60e0ceb95d5c555835dda6b1fa368938f50e2ee6ccbda723f2ad9c511fd9d16b"
+ },
+ "runner": {
+ "category": "people",
+ "moji": "🏃",
+ "description": "runner",
+ "unicodeVersion": "6.0",
+ "digest": "6a87e5a783e98a571bdbe4d983b0cce46c0b337707a99a8bea7dcc5a5d78c46e"
+ },
+ "runner_tone1": {
+ "category": "people",
+ "moji": "🏃🏻",
+ "description": "runner tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "788912454e5a001a96cfbbf7ae07d22c7d53bd0a0a333add62bd38f50f890202"
+ },
+ "runner_tone2": {
+ "category": "people",
+ "moji": "🏃🏼",
+ "description": "runner tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "0e0c0509fe054b31b82629bb97d410d56154143e0612af9ced7f754bc16876b8"
+ },
+ "runner_tone3": {
+ "category": "people",
+ "moji": "🏃🏽",
+ "description": "runner tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "33b6233182bec5958325115fc8b238913773b03fe616ceb465152c75a83aa3bd"
+ },
+ "runner_tone4": {
+ "category": "people",
+ "moji": "🏃🏾",
+ "description": "runner tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "d14b09b58e47a80781df8f7d6687be75f2bc22f312b96129109166c1535e6001"
+ },
+ "runner_tone5": {
+ "category": "people",
+ "moji": "🏃🏿",
+ "description": "runner tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "a816106153bf16d304e766386d3ad641fc931faa302d998fc2bd3e3334de5d7f"
+ },
+ "dancer": {
+ "category": "people",
+ "moji": "💃",
+ "description": "dancer",
+ "unicodeVersion": "6.0",
+ "digest": "21117e63374e501b1daf8350d5921314cc8b306558c8d6803d43c71066438648"
+ },
+ "dancer_tone1": {
+ "category": "people",
+ "moji": "💃🏻",
+ "description": "dancer tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "35c64d92577272999d1151cacb584e248a2a005ce9388ce64250bcc8a7178dc1"
+ },
+ "dancer_tone2": {
+ "category": "people",
+ "moji": "💃🏼",
+ "description": "dancer tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "9dfdd28db7267f172b1bae228216d0111583c4903934e4afa081cdbf83facd45"
+ },
+ "dancer_tone3": {
+ "category": "people",
+ "moji": "💃🏽",
+ "description": "dancer tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "79b7c1e313b235e0acec3ff50d3eb7ecff53b5ae4a2ba7d363b0992fa939ac9b"
+ },
+ "dancer_tone4": {
+ "category": "people",
+ "moji": "💃🏾",
+ "description": "dancer tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "16e6f14fef6464ac20273713c196e189eab75f3ecab98b9eee172bc33c8f2847"
+ },
+ "dancer_tone5": {
+ "category": "people",
+ "moji": "💃🏿",
+ "description": "dancer tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "c090f007657b775acab02656ad3de9d02f97373d6b897a7052e1aa5b032de2ee"
+ },
+ "man_dancing": {
+ "category": "people",
+ "moji": "🕺",
+ "description": "man dancing",
+ "unicodeVersion": "9.0",
+ "digest": "1d8c16790d9c7affa997923ea15ce09221cdc9d26b6f82150e91d22463b96319"
+ },
+ "man_dancing_tone1": {
+ "category": "activity",
+ "moji": "🕺🏻",
+ "description": "man dancing tone 1",
+ "unicodeVersion": "9.0",
+ "digest": "317e619d66577c49fcba699a0b9bf3ee63d100b487c182b4637b5fd46f532bc2"
+ },
+ "man_dancing_tone2": {
+ "category": "activity",
+ "moji": "🕺🏼",
+ "description": "man dancing tone 2",
+ "unicodeVersion": "9.0",
+ "digest": "72a9eea3cee40692a56f234ca59093dfd7ff1113b710a1aaa146b5a137fa213a"
+ },
+ "man_dancing_tone3": {
+ "category": "activity",
+ "moji": "🕺🏽",
+ "description": "man dancing tone 3",
+ "unicodeVersion": "9.0",
+ "digest": "97824a84dbb9058b4b90e802c1aa72556d3c5f5941599e3e23fd662534b6421a"
+ },
+ "man_dancing_tone4": {
+ "category": "activity",
+ "moji": "🕺🏾",
+ "description": "man dancing tone 4",
+ "unicodeVersion": "9.0",
+ "digest": "632fae4e335dae2713a26cc6ac77e62229f88f24db5b33d3c50da13ae7ce8686"
+ },
+ "man_dancing_tone5": {
+ "category": "activity",
+ "moji": "🕺🏿",
+ "description": "man dancing tone 5",
+ "unicodeVersion": "9.0",
+ "digest": "b33a036b2b7f202dc980786796171eeda66caa3cb06320f94617191ec6133ee3"
+ },
+ "levitate": {
+ "category": "activity",
+ "moji": "🕴",
+ "description": "man in business suit levitating",
"unicodeVersion": "7.0",
- "digest": "67400dd5e800a6e496a661da639d4964bf6646525bcf6d6c4773529ae5f7f075"
+ "digest": "103fabb2260fef61982731785dc3d09884cbfcb6bd4ef93f2d5db8403ae4c40a"
},
- "candy": {
- "category": "food",
- "moji": "🍬",
- "description": "candy",
+ "dancers": {
+ "category": "people",
+ "moji": "👯",
+ "description": "woman with bunny ears",
"unicodeVersion": "6.0",
- "digest": "7064f2eb0dc768e3deb1e6ebe449950eb5a72ea882fb13bb06e23e7e2012c740"
+ "digest": "8449ee0de1754c317e82371ae80d7f6b840b69b657960953a50ddcb918f363c2"
},
- "canoe": {
- "category": "travel",
- "moji": "🛶",
- "description": "canoe",
+ "fencer": {
+ "category": "activity",
+ "moji": "🤺",
+ "description": "fencer",
"unicodeVersion": "9.0",
- "digest": "20d70c92c33a8bc6629e6d0b87bfca0dbbc9c32458d253ee62eb0845398fe095"
+ "digest": "8fe2320e2bf8ae87bdd7b2cb519146fba1cc5f1df8c426f83a780544bfec3785"
},
- "capital_abcd": {
- "category": "symbols",
- "moji": "🔠",
- "description": "input symbol for latin capital letters",
+ "horse_racing": {
+ "category": "activity",
+ "moji": "🏇",
+ "description": "horse racing",
"unicodeVersion": "6.0",
- "digest": "6cd31a4765c108d5e85f0ad9e25dee8e8f8af1fc40de161c0407f4041db9e288"
+ "digest": "1c1a2fa09a64da5b442f334a45054b7cbe39dbf7ac1d2a26d7a1ef2bb2debdc4"
},
- "capricorn": {
- "category": "symbols",
- "moji": "♑",
- "description": "capricorn",
- "unicodeVersion": "1.1",
- "digest": "d769793914f9c1ea4237aea85d288344c7422ccb286f8c1d3b18fa99ee8fa7ce"
+ "horse_racing_tone1": {
+ "category": "activity",
+ "moji": "🏇🏻",
+ "description": "horse racing tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "5d55d2cc1a8efc0b754cd75d56d2643784aa41fc7a09e1e9d4ddee767f35ffd6"
},
- "card_box": {
- "category": "objects",
- "moji": "🗃",
- "description": "card file box",
+ "horse_racing_tone2": {
+ "category": "activity",
+ "moji": "🏇🏼",
+ "description": "horse racing tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "f8b5b8f7247f6526ea3bca0e6a1136978449815a105f766b42ff6a2bfe24a7a3"
+ },
+ "horse_racing_tone3": {
+ "category": "activity",
+ "moji": "🏇🏽",
+ "description": "horse racing tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "13a6b8ceeba67ea1dcda173f8c4ce012ec5333460bff51646ecd3c26092b492b"
+ },
+ "horse_racing_tone4": {
+ "category": "activity",
+ "moji": "🏇🏾",
+ "description": "horse racing tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "042cb542ea8008f51f7750923a8f88090bc91c9301234b6eb39284735930f5ae"
+ },
+ "horse_racing_tone5": {
+ "category": "activity",
+ "moji": "🏇🏿",
+ "description": "horse racing tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "07a0a17002c5f623540377cf24a86d364bcb42b57b759e41d07af17ae36c1206"
+ },
+ "skier": {
+ "category": "activity",
+ "moji": "⛷",
+ "description": "skier",
+ "unicodeVersion": "5.2",
+ "digest": "7a490189499bc88ed15fe945813665ba3114edc039d25eb003026d27c84b5f78"
+ },
+ "snowboarder": {
+ "category": "activity",
+ "moji": "🏂",
+ "description": "snowboarder",
+ "unicodeVersion": "6.0",
+ "digest": "b2acc118ae84560f980a44a95af7c2de8e57c2c95ff69ef9c25c9e5d535306b8"
+ },
+ "golfer": {
+ "category": "activity",
+ "moji": "🏌",
+ "description": "golfer",
"unicodeVersion": "7.0",
- "digest": "25acb25ee37044c67b69ce3a7cb412f7ec2fad76009b9e022cf45b58e0d1d898"
+ "digest": "969e342b2749a357f110ebd60fc3f8e49899e0a0777304f8bb4d03416f076d75"
},
- "card_index": {
- "category": "objects",
- "moji": "📇",
- "description": "card index",
+ "surfer": {
+ "category": "activity",
+ "moji": "🏄",
+ "description": "surfer",
"unicodeVersion": "6.0",
- "digest": "262bfa04568a192dd8696ec43c6f916a45e16a7c19d77f830e366de0d930bb7a"
+ "digest": "39564fb830c8bd3e37cc30f227ffa454bee97a9f5a3df9d062df656fb7cca740"
},
- "carousel_horse": {
- "category": "travel",
- "moji": "🎠",
- "description": "carousel horse",
+ "surfer_tone1": {
+ "category": "activity",
+ "moji": "🏄🏻",
+ "description": "surfer tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "c47d4c1057a86878179b86d4a56e432b9cc9d34f5d3aa9b817c84be29a029904"
+ },
+ "surfer_tone2": {
+ "category": "activity",
+ "moji": "🏄🏼",
+ "description": "surfer tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "d15f802cf36c352a1817b15bc508a1983c9362e24d2707f12f7e6a2c4b1f8b90"
+ },
+ "surfer_tone3": {
+ "category": "activity",
+ "moji": "🏄🏽",
+ "description": "surfer tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "1377c1f74dd0987032b564c7ad55d0a2bb418e1f372937db50cb0e6806e9c11a"
+ },
+ "surfer_tone4": {
+ "category": "activity",
+ "moji": "🏄🏾",
+ "description": "surfer tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "6155339508cf035a4eab763083f73e6c78bdaa15ce2acba5abe808b6d4f9d9c8"
+ },
+ "surfer_tone5": {
+ "category": "activity",
+ "moji": "🏄🏿",
+ "description": "surfer tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "c3f84fd38dfe40f539fbf1201c319b990aa4fb81bb57548377a7dfb2e3ee8661"
+ },
+ "rowboat": {
+ "category": "activity",
+ "moji": "🚣",
+ "description": "rowboat",
"unicodeVersion": "6.0",
- "digest": "d8a609d98fab29e04443f12457a8c8c7fe321b3b940289f1c9fe55f711583b20"
+ "digest": "a0a0b5f15fffb7be60e7467c2a0a368b34a8f9d47af65ead06881bad9e0bd8c2"
},
- "carrot": {
- "category": "food",
- "moji": "🥕",
- "description": "carrot",
- "unicodeVersion": "9.0",
- "digest": "8d8a49f70f7f339347d4a59afcb9a58d9113ebb4d7488d681e409cefd5cb9e47"
+ "rowboat_tone1": {
+ "category": "activity",
+ "moji": "🚣🏻",
+ "description": "rowboat tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "2f6403643528646b73013979e3564e54a9a529782f019a44a956ff275b2017c0"
+ },
+ "rowboat_tone2": {
+ "category": "activity",
+ "moji": "🚣🏼",
+ "description": "rowboat tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "cd925816e16fce63bca0dbd0fc2832fd69ff98a9ee7836ddbc939f3bd9b5a189"
+ },
+ "rowboat_tone3": {
+ "category": "activity",
+ "moji": "🚣🏽",
+ "description": "rowboat tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "09cee7c79709dfdb07e98b585617a068dd624713a02d0f5c21fd7b09a5695baf"
+ },
+ "rowboat_tone4": {
+ "category": "activity",
+ "moji": "🚣🏾",
+ "description": "rowboat tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "12408bd1b720f2799c46fb22d91c9d62fe5fe4f0f2449e2eff921d7f392ab22f"
+ },
+ "rowboat_tone5": {
+ "category": "activity",
+ "moji": "🚣🏿",
+ "description": "rowboat tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "cb64137080640be1bcb7e577e0984bc5cf5dd524e60e229c09003191c4ca1680"
+ },
+ "swimmer": {
+ "category": "activity",
+ "moji": "🏊",
+ "description": "swimmer",
+ "unicodeVersion": "6.0",
+ "digest": "16c5a68b9f1cc7d0f5da1f288be73a0419d059e76f22bed5f7d7d902a1320af4"
+ },
+ "swimmer_tone1": {
+ "category": "activity",
+ "moji": "🏊🏻",
+ "description": "swimmer tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "2159c9ecb0580a2183e921e3a3988643caaa56ad3037993b83e2776988a92e70"
+ },
+ "swimmer_tone2": {
+ "category": "activity",
+ "moji": "🏊🏼",
+ "description": "swimmer tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "8aeeafc91941162d71eaf9d2a2313d9af6cfdf4ea081ccacbc6a28389e0e77c0"
+ },
+ "swimmer_tone3": {
+ "category": "activity",
+ "moji": "🏊🏽",
+ "description": "swimmer tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "e6811d73ef31041bb9c602e20e1853b34d6db4774dee657851b0e1952b7a038e"
+ },
+ "swimmer_tone4": {
+ "category": "activity",
+ "moji": "🏊🏾",
+ "description": "swimmer tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "627184d5dae69aea7345661c1c721beb78ccbeae9cf6dc3f844f6368fddf1018"
+ },
+ "swimmer_tone5": {
+ "category": "activity",
+ "moji": "🏊🏿",
+ "description": "swimmer tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "db6862ca44bd4375ed8ccf2085398e4003342360f7f8325de3f7126d69716432"
+ },
+ "basketball_player": {
+ "category": "activity",
+ "moji": "⛹",
+ "description": "person with ball",
+ "unicodeVersion": "5.2",
+ "digest": "518a3f9b20138447812b9ea81f879c035a03694c426f77d8bdc8cef51c04592f"
+ },
+ "basketball_player_tone1": {
+ "category": "activity",
+ "moji": "⛹🏻",
+ "description": "person with ball tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "e34414295433335df2783de205076e9c44cdbd7e07a041d2695a83e4fe4f70ba"
+ },
+ "basketball_player_tone2": {
+ "category": "activity",
+ "moji": "⛹🏼",
+ "description": "person with ball tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "59308fa1cbe4b778990ced93eb866bbad7f88fda3c1b68837d0da822801f0f20"
+ },
+ "basketball_player_tone3": {
+ "category": "activity",
+ "moji": "⛹🏽",
+ "description": "person with ball tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "e334bddf438b49c145a5c11c010a05964dc50495510017dc37ea8bd6ddc400b3"
+ },
+ "basketball_player_tone4": {
+ "category": "activity",
+ "moji": "⛹🏾",
+ "description": "person with ball tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "24a472bcb4f27a2d8fe2dce4ed6a060391a798721b2146cf6921ff7059bb8446"
+ },
+ "basketball_player_tone5": {
+ "category": "activity",
+ "moji": "⛹🏿",
+ "description": "person with ball tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "8c6a17f2c938aa60aba16634d81dcb069f2c6e7bbf8d79bf36fe888ff83951ae"
+ },
+ "lifter": {
+ "category": "activity",
+ "moji": "🏋",
+ "description": "weight lifter",
+ "unicodeVersion": "7.0",
+ "digest": "d8a22a5258a05e8c31453955103531b59c6018e3e3dfd1f507d6f21ee28b3f00"
+ },
+ "lifter_tone1": {
+ "category": "activity",
+ "moji": "🏋🏻",
+ "description": "weight lifter tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "f13372d0812c433eafca5d943a6be6f8f6481bde4e681aa2ee5942bf3a74224f"
+ },
+ "lifter_tone2": {
+ "category": "activity",
+ "moji": "🏋🏼",
+ "description": "weight lifter tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "6a58152d31b5d8992c231e76823beb81dc9d440944d0ebc6bbc7630f9385f163"
+ },
+ "lifter_tone3": {
+ "category": "activity",
+ "moji": "🏋🏽",
+ "description": "weight lifter tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "9fe7befca13df23016568b785e1174122f1b60f8f7a1104bfd1d948ffe2f552e"
+ },
+ "lifter_tone4": {
+ "category": "activity",
+ "moji": "🏋🏾",
+ "description": "weight lifter tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "510cfdae9be775ef9a5866f780a0cd95080b3b6e9959cfbaa41833aa3f24db83"
+ },
+ "lifter_tone5": {
+ "category": "activity",
+ "moji": "🏋🏿",
+ "description": "weight lifter tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "7347d561a692bd604d3763115cecc66203f1c9a00515de53acecb4d6e0689d65"
+ },
+ "bicyclist": {
+ "category": "activity",
+ "moji": "🚴",
+ "description": "bicyclist",
+ "unicodeVersion": "6.0",
+ "digest": "3dd17f72beea2fcc4fc9124af3f4997ac00009c699096495b3515cd3ad2453f7"
+ },
+ "bicyclist_tone1": {
+ "category": "activity",
+ "moji": "🚴🏻",
+ "description": "bicyclist tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "9bb97a68bdb7d081c1ddfa277be0842fccf3497752fde007e08e46ff831ab4dc"
+ },
+ "bicyclist_tone2": {
+ "category": "activity",
+ "moji": "🚴🏼",
+ "description": "bicyclist tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "36329bb0d01bfbd7f99458081ea6ff071317de2525879dc211dafc4e2e7c299b"
+ },
+ "bicyclist_tone3": {
+ "category": "activity",
+ "moji": "🚴🏽",
+ "description": "bicyclist tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "0ef3ff2cbf408d29b7921ffcdcea3ad7d1faa6ec6a1c1b20582a58e4850c6569"
+ },
+ "bicyclist_tone4": {
+ "category": "activity",
+ "moji": "🚴🏾",
+ "description": "bicyclist tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "9283b7e63bd6a17048e33661e6792568d889ba0f3655a359db159589d6767a47"
+ },
+ "bicyclist_tone5": {
+ "category": "activity",
+ "moji": "🚴🏿",
+ "description": "bicyclist tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "c2849bb847cc9cbe75ec219ebbd2968891c1ebc2fca62bf86f362eba5e3d78f6"
+ },
+ "mountain_bicyclist": {
+ "category": "activity",
+ "moji": "🚵",
+ "description": "mountain bicyclist",
+ "unicodeVersion": "6.0",
+ "digest": "f3a2fd3bc93fe4e5a039a81e8d5e11b25c949ae041f822a49b15ea7dc35f560e"
+ },
+ "mountain_bicyclist_tone1": {
+ "category": "activity",
+ "moji": "🚵🏻",
+ "description": "mountain bicyclist tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "dc3b22a219da2c45a6cc45e67ea76e5b35a74eae46f9202dc2f19dd66effc595"
+ },
+ "mountain_bicyclist_tone2": {
+ "category": "activity",
+ "moji": "🚵🏼",
+ "description": "mountain bicyclist tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "1ac6898b085ce24e5d80fbafc2c9c9afe6390beae052097f92bfeb9f85a5f906"
+ },
+ "mountain_bicyclist_tone3": {
+ "category": "activity",
+ "moji": "🚵🏽",
+ "description": "mountain bicyclist tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "b0c9d179b0ba26c618b69c46aad4f7470b49b9f6c173c452c7a56b61a54537bc"
+ },
+ "mountain_bicyclist_tone4": {
+ "category": "activity",
+ "moji": "🚵🏾",
+ "description": "mountain bicyclist tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "e59f743d7e8e8802973da998bc3627f12101508caef7ca2512b8fecb7f9c34d4"
+ },
+ "mountain_bicyclist_tone5": {
+ "category": "activity",
+ "moji": "🚵🏿",
+ "description": "mountain bicyclist tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "ca19109c586fc3d0ddf1662b497f517096a813bfcec8184989fa6b578eb57424"
},
"cartwheel": {
"category": "activity",
@@ -1497,6 +4290,510 @@
"unicodeVersion": "9.0",
"digest": "b9a51589e53cb61afe0b470de87deb135b8396d8300848bf7a240190787b5863"
},
+ "wrestlers": {
+ "category": "activity",
+ "moji": "🤼",
+ "description": "wrestlers",
+ "unicodeVersion": "9.0",
+ "digest": "919cf0ff49517c62a0abc8a6067e196fa6a1d5f73fa5902537879775ee9fad13"
+ },
+ "wrestlers_tone1": {
+ "category": "activity",
+ "moji": "🤼🏻",
+ "description": "wrestlers tone 1",
+ "unicodeVersion": "9.0",
+ "digest": "9611c3dfb8a18b8332135642d0fac74bd6557054909066141a81c9684bbc7207"
+ },
+ "wrestlers_tone2": {
+ "category": "activity",
+ "moji": "🤼🏼",
+ "description": "wrestlers tone 2",
+ "unicodeVersion": "9.0",
+ "digest": "17c529119acb4aafd8c834874d6285e41d2d9694243cce9eb51c87f67d22a3be"
+ },
+ "wrestlers_tone3": {
+ "category": "activity",
+ "moji": "🤼🏽",
+ "description": "wrestlers tone 3",
+ "unicodeVersion": "9.0",
+ "digest": "0f98afb56ecc165b4b8193c86565eaf0ded90456d6370b9d9f2e61eef572642e"
+ },
+ "wrestlers_tone4": {
+ "category": "activity",
+ "moji": "🤼🏾",
+ "description": "wrestlers tone 4",
+ "unicodeVersion": "9.0",
+ "digest": "595507c7163ed2349d6f5cd3afeb3cb961a889bda1091bb5b03bf97c743ddd83"
+ },
+ "wrestlers_tone5": {
+ "category": "activity",
+ "moji": "🤼🏿",
+ "description": "wrestlers tone 5",
+ "unicodeVersion": "9.0",
+ "digest": "9a844250d5dbce6369a7923154fd3e7192e9bbc8773044ede577e587c86a6481"
+ },
+ "water_polo": {
+ "category": "activity",
+ "moji": "🤽",
+ "description": "water polo",
+ "unicodeVersion": "9.0",
+ "digest": "b1ddaec4c4a506a89462a8d72173e44e0766c27e936e41d894de7ffc3da48236"
+ },
+ "water_polo_tone1": {
+ "category": "activity",
+ "moji": "🤽🏻",
+ "description": "water polo tone 1",
+ "unicodeVersion": "9.0",
+ "digest": "a86b73dac5b378283ca59e0985b98524c813aa34bc08e0c3bb5e0279a572adbf"
+ },
+ "water_polo_tone2": {
+ "category": "activity",
+ "moji": "🤽🏼",
+ "description": "water polo tone 2",
+ "unicodeVersion": "9.0",
+ "digest": "080f98b0afbc5a6a087ca9774c817717f8bae0bb2ff7d2968eecebeb7ef8fee6"
+ },
+ "water_polo_tone3": {
+ "category": "activity",
+ "moji": "🤽🏽",
+ "description": "water polo tone 3",
+ "unicodeVersion": "9.0",
+ "digest": "08a235850af9851f27148f53bd3e6f29668ce5d37afaaab0226a59195139e41c"
+ },
+ "water_polo_tone4": {
+ "category": "activity",
+ "moji": "🤽🏾",
+ "description": "water polo tone 4",
+ "unicodeVersion": "9.0",
+ "digest": "7e69265f86e139af75bc1d1bea03c21b7f2cc445e4b7a767b0515ffa7be1a99c"
+ },
+ "water_polo_tone5": {
+ "category": "activity",
+ "moji": "🤽🏿",
+ "description": "water polo tone 5",
+ "unicodeVersion": "9.0",
+ "digest": "db363a1e0a5f9b9d807258799d12e0a9010c99c383a4382f0f9a99feff2fd683"
+ },
+ "handball": {
+ "category": "activity",
+ "moji": "🤾",
+ "description": "handball",
+ "unicodeVersion": "9.0",
+ "digest": "66eb58f2b6fed026008dc73d99259f3023145b3955a52e47033f09055502992e"
+ },
+ "handball_tone1": {
+ "category": "activity",
+ "moji": "🤾🏻",
+ "description": "handball tone 1",
+ "unicodeVersion": "9.0",
+ "digest": "52b5a29715638415371c6546795930fa3b589e0723f59af9969a0de6822cfe04"
+ },
+ "handball_tone2": {
+ "category": "activity",
+ "moji": "🤾🏼",
+ "description": "handball tone 2",
+ "unicodeVersion": "9.0",
+ "digest": "8454813e2e2aabd6eb897bb973129c41d3628e0418e611c4968e8aee477b077d"
+ },
+ "handball_tone3": {
+ "category": "activity",
+ "moji": "🤾🏽",
+ "description": "handball tone 3",
+ "unicodeVersion": "9.0",
+ "digest": "b7f821482e3bcb63e36ba9b5d3838f1444c35095a9d68648cec24438cc860f4f"
+ },
+ "handball_tone4": {
+ "category": "activity",
+ "moji": "🤾🏾",
+ "description": "handball tone 4",
+ "unicodeVersion": "9.0",
+ "digest": "604e7948a99d23d469e3914040eea00e40faeab8e0f92d837fc1aebb7953104b"
+ },
+ "handball_tone5": {
+ "category": "activity",
+ "moji": "🤾🏿",
+ "description": "handball tone 5",
+ "unicodeVersion": "9.0",
+ "digest": "d989a7bd045a77163055d7973ee4ccbd3b04029a06df25cecd50a76466ca1526"
+ },
+ "juggling": {
+ "category": "activity",
+ "moji": "🤹",
+ "description": "juggling",
+ "unicodeVersion": "9.0",
+ "digest": "dbc4b794cb55d03b091b86d1b1b0682535c4a2f9a4d6d6b4ad5c413f1279a4f6"
+ },
+ "juggling_tone1": {
+ "category": "activity",
+ "moji": "🤹🏻",
+ "description": "juggling tone 1",
+ "unicodeVersion": "9.0",
+ "digest": "124e52052704f34a91e0cf8ef9ec7d08176942b8bee6faf2e4214df827443ae2"
+ },
+ "juggling_tone2": {
+ "category": "activity",
+ "moji": "🤹🏼",
+ "description": "juggling tone 2",
+ "unicodeVersion": "9.0",
+ "digest": "1d8609d3e765fbbed6659e5fbd5026911a276b5703b1e7593b12702de2d0555e"
+ },
+ "juggling_tone3": {
+ "category": "activity",
+ "moji": "🤹🏽",
+ "description": "juggling tone 3",
+ "unicodeVersion": "9.0",
+ "digest": "1666f54f93b744f8ee5cf8cc29be022ea5d3afd15436e642c5592d583c87830b"
+ },
+ "juggling_tone4": {
+ "category": "activity",
+ "moji": "🤹🏾",
+ "description": "juggling tone 4",
+ "unicodeVersion": "9.0",
+ "digest": "efe82bf4c3759b48435a7575ff0b016035d505dbdb2c7a3774d3878eed671602"
+ },
+ "juggling_tone5": {
+ "category": "activity",
+ "moji": "🤹🏿",
+ "description": "juggling tone 5",
+ "unicodeVersion": "9.0",
+ "digest": "ebf39b7b85e8c5e2fc899bb98de9f35739b7e656efd0526d9a50e8039e7bee86"
+ },
+ "bath": {
+ "category": "activity",
+ "moji": "🛀",
+ "description": "bath",
+ "unicodeVersion": "6.0",
+ "digest": "2cac99346c8054b8f883c45194395b35121e7108aaa36ecddccc16d30c32efae"
+ },
+ "bath_tone1": {
+ "category": "activity",
+ "moji": "🛀🏻",
+ "description": "bath tone 1",
+ "unicodeVersion": "8.0",
+ "digest": "17a3cd2bf235984c097eb1ab875b44516e1deba49c9237d0d25585b3df326a57"
+ },
+ "bath_tone2": {
+ "category": "activity",
+ "moji": "🛀🏼",
+ "description": "bath tone 2",
+ "unicodeVersion": "8.0",
+ "digest": "4ca1d1c1a48290c175551fe9ec30d1b82dc7a952530e978d085d72180c1886e0"
+ },
+ "bath_tone3": {
+ "category": "activity",
+ "moji": "🛀🏽",
+ "description": "bath tone 3",
+ "unicodeVersion": "8.0",
+ "digest": "084a77c7f583653d8c1d228432144b3210fcd50ed96630591663b3c4dff282fd"
+ },
+ "bath_tone4": {
+ "category": "activity",
+ "moji": "🛀🏾",
+ "description": "bath tone 4",
+ "unicodeVersion": "8.0",
+ "digest": "c605e25a1efd41be4ded235b71924c495b0aa861bdd6f43d9f5137c51de14bb1"
+ },
+ "bath_tone5": {
+ "category": "activity",
+ "moji": "🛀🏿",
+ "description": "bath tone 5",
+ "unicodeVersion": "8.0",
+ "digest": "e15b1bd11177d6a342dfe5eadb52969d60e6b7a1662afe55610aebbcc1a44242"
+ },
+ "sleeping_accommodation": {
+ "category": "objects",
+ "moji": "🛌",
+ "description": "sleeping accommodation",
+ "unicodeVersion": "7.0",
+ "digest": "18ea38c6da5ac6f86c56b546c78ba60bca1aca9eba397b9500d91e8533e81823"
+ },
+ "two_women_holding_hands": {
+ "category": "people",
+ "moji": "👭",
+ "description": "two women holding hands",
+ "unicodeVersion": "6.0",
+ "digest": "4a6dc2a4b900084faa7b934300b1f07717e41971a9eb9d7830cec83a78c14e46"
+ },
+ "couple": {
+ "category": "people",
+ "moji": "👫",
+ "description": "man and woman holding hands",
+ "unicodeVersion": "6.0",
+ "digest": "d6523ae18c5e2a10b355dda179ca7b172ece9ef3ac70548dba3c45a5d5169e70"
+ },
+ "two_men_holding_hands": {
+ "category": "people",
+ "moji": "👬",
+ "description": "two men holding hands",
+ "unicodeVersion": "6.0",
+ "digest": "8953ff520ff541f4ee8001ef4dfc22462b6ebf15f2e1adf9ba46d0c6384a0091"
+ },
+ "couplekiss": {
+ "category": "people",
+ "moji": "💏",
+ "description": "kiss",
+ "unicodeVersion": "6.0",
+ "digest": "14c66d83cace54fb7326ef04eb989ee27d5f2dec2e3884374cd346cd30340d5e"
+ },
+ "kiss_mm": {
+ "category": "people",
+ "moji": "👨‍❤️‍💋‍👨",
+ "description": "kiss (man,man)",
+ "unicodeVersion": "6.0",
+ "digest": "a256b66869e47ee51a6b3b08c56e9ecfe9f0ed5279aeb15e0045be30891ac70f"
+ },
+ "kiss_ww": {
+ "category": "people",
+ "moji": "👩‍❤️‍💋‍👩",
+ "description": "kiss (woman,woman)",
+ "unicodeVersion": "6.0",
+ "digest": "989937e58c7862cd6cedc74b8c7774fb01efaa7ab3b424f4472b638d101abdd9"
+ },
+ "couple_with_heart": {
+ "category": "people",
+ "moji": "💑",
+ "description": "couple with heart",
+ "unicodeVersion": "6.0",
+ "digest": "224c8f5d7c5a446b69e7175dfa6b07a9d36f2b2db3f908579813b6bcffb35f92"
+ },
+ "couple_mm": {
+ "category": "people",
+ "moji": "👨‍❤️‍👨",
+ "description": "couple (man,man)",
+ "unicodeVersion": "6.0",
+ "digest": "0c3344e2abffd74868fb52ffa5614c77737094bac369030ceac6218eee2a0edf"
+ },
+ "couple_ww": {
+ "category": "people",
+ "moji": "👩‍❤️‍👩",
+ "description": "couple (woman,woman)",
+ "unicodeVersion": "6.0",
+ "digest": "56651c521bbaade1979708f52d827e2251581b576c3afa651c89ea4c63739916"
+ },
+ "family_mwg": {
+ "category": "people",
+ "moji": "👨‍👩‍👧",
+ "description": "family (man,woman,girl)",
+ "unicodeVersion": "6.0",
+ "digest": "3c256c9982e40db556a4667e6a666c06f6088249b5cc260e92bd443cc5d85b1c"
+ },
+ "family_mwgb": {
+ "category": "people",
+ "moji": "👨‍👩‍👧‍👦",
+ "description": "family (man,woman,girl,boy)",
+ "unicodeVersion": "6.0",
+ "digest": "09481d128ece6416b169b99a9b770a1c72f662adde86fa6c214a1f979e98f8bd"
+ },
+ "family_mwbb": {
+ "category": "people",
+ "moji": "👨‍👩‍👦‍👦",
+ "description": "family (man,woman,boy,boy)",
+ "unicodeVersion": "6.0",
+ "digest": "e0056e604ec4d411ebb4aefc079f47efb11bf7db4c3ebf9d17759f40075a19a5"
+ },
+ "family_mwgg": {
+ "category": "people",
+ "moji": "👨‍👩‍👧‍👧",
+ "description": "family (man,woman,girl,girl)",
+ "unicodeVersion": "6.0",
+ "digest": "2e9670f98d310c15491a66a4108773cc994401cc864923c0fc1c61123b99c1b5"
+ },
+ "family_mmb": {
+ "category": "people",
+ "moji": "👨‍👨‍👦",
+ "description": "family (man,man,boy)",
+ "unicodeVersion": "6.0",
+ "digest": "4464331734f8afbc33ebd38552ea1452813dc9e0295e315e4bcadf4876444474"
+ },
+ "family_mmg": {
+ "category": "people",
+ "moji": "👨‍👨‍👧",
+ "description": "family (man,man,girl)",
+ "unicodeVersion": "6.0",
+ "digest": "961e428e8dfccab9575c6add7fc1523643caa2da47890b2baaa265c5f0ea0d8b"
+ },
+ "family_mmgb": {
+ "category": "people",
+ "moji": "👨‍👨‍👧‍👦",
+ "description": "family (man,man,girl,boy)",
+ "unicodeVersion": "6.0",
+ "digest": "7240b99930a16295b3396d7183ecad125423d019b08f11746969c3939005ceff"
+ },
+ "family_mmbb": {
+ "category": "people",
+ "moji": "👨‍👨‍👦‍👦",
+ "description": "family (man,man,boy,boy)",
+ "unicodeVersion": "6.0",
+ "digest": "ad976771f346f8c48d0a0077ee8ec427048937814a03a8691d422dd664991734"
+ },
+ "family_mmgg": {
+ "category": "people",
+ "moji": "👨‍👨‍👧‍👧",
+ "description": "family (man,man,girl,girl)",
+ "unicodeVersion": "6.0",
+ "digest": "2f2d726791f01c880df79431dc9472724f61d621b8b17344a9839db6f65b8cd7"
+ },
+ "family_wwb": {
+ "category": "people",
+ "moji": "👩‍👩‍👦",
+ "description": "family (woman,woman,boy)",
+ "unicodeVersion": "6.0",
+ "digest": "df970eeb8fe917398b9dfd68b181ec6cfe1f7e981af2f67e5d8c96a228aa8147"
+ },
+ "family_wwg": {
+ "category": "people",
+ "moji": "👩‍👩‍👧",
+ "description": "family (woman,woman,girl)",
+ "unicodeVersion": "6.0",
+ "digest": "1f64c8a10f813344c4d10ab78fb55c2a2c221101e8645c6b6dcc0c8ca40c029c"
+ },
+ "family_wwgb": {
+ "category": "people",
+ "moji": "👩‍👩‍👧‍👦",
+ "description": "family (woman,woman,girl,boy)",
+ "unicodeVersion": "6.0",
+ "digest": "d0962105cff6755305a08c0a0f748cb4fdfe3f78c9add25640dac05a8e4200e6"
+ },
+ "family_wwbb": {
+ "category": "people",
+ "moji": "👩‍👩‍👦‍👦",
+ "description": "family (woman,woman,boy,boy)",
+ "unicodeVersion": "6.0",
+ "digest": "d6e262911da6a7fc47d49642666f5068e597976c1760d25758114cad16b1ac1c"
+ },
+ "family_wwgg": {
+ "category": "people",
+ "moji": "👩‍👩‍👧‍👧",
+ "description": "family (woman,woman,girl,girl)",
+ "unicodeVersion": "6.0",
+ "digest": "9733e9a03cccda66612c0274842e514092d1816dba914f337ba422e988225352"
+ },
+ "speaking_head": {
+ "category": "people",
+ "moji": "🗣",
+ "description": "speaking head in silhouette",
+ "unicodeVersion": "7.0",
+ "digest": "d6e536f54711d04899135d966b9ba64286e58b05879c90855e49e5c64fca7567"
+ },
+ "bust_in_silhouette": {
+ "category": "people",
+ "moji": "👤",
+ "description": "bust in silhouette",
+ "unicodeVersion": "6.0",
+ "digest": "17f35781aa264a26812ca9a13a32e7ab73a7eb95af1bc0b812a35d6fc9ac521f"
+ },
+ "busts_in_silhouette": {
+ "category": "people",
+ "moji": "👥",
+ "description": "busts in silhouette",
+ "unicodeVersion": "6.0",
+ "digest": "f9aa0c03d90e5d0f57f8114b998019452c5756a8dcbf1750b07f9aeae2f4ab08"
+ },
+ "family": {
+ "category": "people",
+ "moji": "👪",
+ "description": "family",
+ "unicodeVersion": "6.0",
+ "digest": "363da6588b6816c4f9811c76fee6601e3111030a1ba86fea9464c60568144c50"
+ },
+ "footprints": {
+ "category": "people",
+ "moji": "👣",
+ "description": "footprints",
+ "unicodeVersion": "6.0",
+ "digest": "43a8daa470e070c1cfdf541a502076f0a258e8cde2f707ad842bc24e499ad69c"
+ },
+ "tone1": {
+ "category": "modifier",
+ "moji": "🏻",
+ "description": "emoji modifier Fitzpatrick type-1-2",
+ "unicodeVersion": "8.0",
+ "digest": "545d866024aa7d4de2e2254420a9d8cca667534672d9e7122bd3e67cf81b694b"
+ },
+ "tone2": {
+ "category": "modifier",
+ "moji": "🏼",
+ "description": "emoji modifier Fitzpatrick type-3",
+ "unicodeVersion": "8.0",
+ "digest": "c2f93946364e79ed130e3c355416ada791c09d9b3d1bbfa44d03324bfabd642e"
+ },
+ "tone3": {
+ "category": "modifier",
+ "moji": "🏽",
+ "description": "emoji modifier Fitzpatrick type-4",
+ "unicodeVersion": "8.0",
+ "digest": "ea55f80c25ec5df8232d509913b8f5e3260ecc98a2db0f5de333d7e3c9f05bb2"
+ },
+ "tone4": {
+ "category": "modifier",
+ "moji": "🏾",
+ "description": "emoji modifier Fitzpatrick type-5",
+ "unicodeVersion": "8.0",
+ "digest": "676bd7f45026066bb72a6b5344e288c6b42ce9524eb0065d50d3354cc716cc6a"
+ },
+ "tone5": {
+ "category": "modifier",
+ "moji": "🏿",
+ "description": "emoji modifier Fitzpatrick type-6",
+ "unicodeVersion": "8.0",
+ "digest": "b9ab9e2f6307e2e5b8e0560d6b3048f2d0cd58e11c90b03d90688b91fdb4b5f8"
+ },
+ "monkey_face": {
+ "category": "nature",
+ "moji": "🐵",
+ "description": "monkey face",
+ "unicodeVersion": "6.0",
+ "digest": "f006cc5b32745c0e315ad2b2e995587f7f3dec115f81db7f681e00e040e1ab02"
+ },
+ "monkey": {
+ "category": "nature",
+ "moji": "🐒",
+ "description": "monkey",
+ "unicodeVersion": "6.0",
+ "digest": "0e555b55cdaeea97aba5e054ce6c283578036d739466a78be63662872729cf55"
+ },
+ "gorilla": {
+ "category": "nature",
+ "moji": "🦍",
+ "description": "gorilla",
+ "unicodeVersion": "9.0",
+ "digest": "bfd0ef21e14e0e11f426dca6ed062fbc360038df043855dde873bed4cef247bd"
+ },
+ "dog": {
+ "category": "nature",
+ "moji": "🐶",
+ "description": "dog face",
+ "unicodeVersion": "6.0",
+ "digest": "d6ee83df6b3a233b90c0b589c6f290164239fb4062be21566430183d9b4e507a"
+ },
+ "dog2": {
+ "category": "nature",
+ "moji": "🐕",
+ "description": "dog",
+ "unicodeVersion": "6.0",
+ "digest": "ba52e04ae1e024c596fc453b9af53347ecf76d342150b7701eccb83ef2df67f0"
+ },
+ "poodle": {
+ "category": "nature",
+ "moji": "🐩",
+ "description": "poodle",
+ "unicodeVersion": "6.0",
+ "digest": "4e73855cbdb10f644146fb3bc1636a74faff02a5d69ad0f91302e920973b03f0"
+ },
+ "wolf": {
+ "category": "nature",
+ "moji": "🐺",
+ "description": "wolf face",
+ "unicodeVersion": "6.0",
+ "digest": "f961f617f4b6af5a0b1683132476ce765cb3ce74c3c5c32083593622ff8c10e7"
+ },
+ "fox": {
+ "category": "nature",
+ "moji": "🦊",
+ "description": "fox face",
+ "unicodeVersion": "9.0",
+ "digest": "0d98c8fd904dceaa53041b5c8dcf7c357805712ed547668ee53ab48808c6255b"
+ },
"cat": {
"category": "nature",
"moji": "🐱",
@@ -1511,68 +4808,747 @@
"unicodeVersion": "6.0",
"digest": "a12d0ab04554c3a7c2b45e6501da312773777587bef28ba233202f3812901af4"
},
- "cd": {
- "category": "objects",
- "moji": "💿",
- "description": "optical disc",
+ "lion_face": {
+ "category": "nature",
+ "moji": "🦁",
+ "description": "lion face",
+ "unicodeVersion": "8.0",
+ "digest": "59067f1acf8b42395164dc02089624d696549bfdbd60a6dd24d04199a0c3dda2"
+ },
+ "tiger": {
+ "category": "nature",
+ "moji": "🐯",
+ "description": "tiger face",
"unicodeVersion": "6.0",
- "digest": "d7242edbba09de17d223d7e3178a241b1aafe05d14a19000428522dc9b2891f4"
+ "digest": "0ea11ea4b71adee37b67019634153f09ca6d5b762d4c9507a3d3f7b47ff59274"
},
- "chains": {
- "category": "objects",
- "moji": "⛓",
- "description": "chains",
- "unicodeVersion": "5.2",
- "digest": "245a60d0dcdf759898d5f6093d3b67e7e3234a5799de52af87166886bb8e67ff"
+ "tiger2": {
+ "category": "nature",
+ "moji": "🐅",
+ "description": "tiger",
+ "unicodeVersion": "6.0",
+ "digest": "84d80ae536dfad345dd878970c339451d4189f73f0d786cafcaa2421dab9fe97"
},
- "champagne": {
- "category": "food",
- "moji": "🍾",
- "description": "bottle with popping cork",
+ "leopard": {
+ "category": "nature",
+ "moji": "🐆",
+ "description": "leopard",
+ "unicodeVersion": "6.0",
+ "digest": "00204970970b9dd38bb9b1ae30a11832c992ade57bce1496a1f3c366e7d31f00"
+ },
+ "horse": {
+ "category": "nature",
+ "moji": "🐴",
+ "description": "horse face",
+ "unicodeVersion": "6.0",
+ "digest": "fa6681d0536051b55e189bdd7435edfd4d4967cc28c255b55baf25cb25f40865"
+ },
+ "racehorse": {
+ "category": "nature",
+ "moji": "🐎",
+ "description": "horse",
+ "unicodeVersion": "6.0",
+ "digest": "44ade212bafa562416e9df439229052db2e45cf631d6d32a8261aa541a675a07"
+ },
+ "unicorn": {
+ "category": "nature",
+ "moji": "🦄",
+ "description": "unicorn face",
"unicodeVersion": "8.0",
- "digest": "6e686856c9e39b9947ef669394e6621fffd2a91ebe8f21c2cdc06b06669d1160"
+ "digest": "00d784632f584c953340b1f1474be2a1ab6f065625e69e2d06dabd38ab45531c"
},
- "champagne_glass": {
- "category": "food",
- "moji": "🥂",
- "description": "clinking glasses",
+ "deer": {
+ "category": "nature",
+ "moji": "🦌",
+ "description": "deer",
"unicodeVersion": "9.0",
- "digest": "8e59ae799d7c7844dc19f5fd4fbefebc34f597059373c94e8639a7ce73d13519"
+ "digest": "83a9c2a0bfb5d82631dc653337279545d72ccea10fb2ccf6da6ab82586fb1d56"
},
- "chart": {
+ "cow": {
+ "category": "nature",
+ "moji": "🐮",
+ "description": "cow face",
+ "unicodeVersion": "6.0",
+ "digest": "9959b4d621471e4c3ddd23f52ddeb5ddb5792a0b6ac8697d2c2940bd6cb01b82"
+ },
+ "ox": {
+ "category": "nature",
+ "moji": "🐂",
+ "description": "ox",
+ "unicodeVersion": "6.0",
+ "digest": "060595f1707bd4b0182c2610e397dbb8800a2410e2205c0156043163b32b9965"
+ },
+ "water_buffalo": {
+ "category": "nature",
+ "moji": "🐃",
+ "description": "water buffalo",
+ "unicodeVersion": "6.0",
+ "digest": "dd9f6609e0ea97f610ab30e34c6564fe1504a54e2bd258fa64601cdbc91de177"
+ },
+ "cow2": {
+ "category": "nature",
+ "moji": "🐄",
+ "description": "cow",
+ "unicodeVersion": "6.0",
+ "digest": "a9f5cdb317d96e7536d87faff2f2c651d6fb5bd00b89991c977b270e9f522820"
+ },
+ "pig": {
+ "category": "nature",
+ "moji": "🐷",
+ "description": "pig face",
+ "unicodeVersion": "6.0",
+ "digest": "7ce19e18b6fb941b8075e18f8c680048828c8b129d1a74a9ac3c2ae937a02aa5"
+ },
+ "pig2": {
+ "category": "nature",
+ "moji": "🐖",
+ "description": "pig",
+ "unicodeVersion": "6.0",
+ "digest": "ba4acbc207d817071d485e33186f5ddc20d470a0dc468fb1fea502d4768c25d7"
+ },
+ "boar": {
+ "category": "nature",
+ "moji": "🐗",
+ "description": "boar",
+ "unicodeVersion": "6.0",
+ "digest": "0e6774094f935bf5eaccc85077e357d2f002276a76aa7a3ba8457e11c7458314"
+ },
+ "pig_nose": {
+ "category": "nature",
+ "moji": "🐽",
+ "description": "pig nose",
+ "unicodeVersion": "6.0",
+ "digest": "f9fb90cd7919ed06aec8bf6b0cda13fcd6a58b25329b48a57714d0909a290e4b"
+ },
+ "ram": {
+ "category": "nature",
+ "moji": "🐏",
+ "description": "ram",
+ "unicodeVersion": "6.0",
+ "digest": "8f4a19d64e01593a7487fb4d58fe1d300055e458d3daa1659ec59877a8a3b00f"
+ },
+ "sheep": {
+ "category": "nature",
+ "moji": "🐑",
+ "description": "sheep",
+ "unicodeVersion": "6.0",
+ "digest": "7bd6d2af15a7d13587b9521d80668d5db70c67188df59a33921e78edbf40e42e"
+ },
+ "goat": {
+ "category": "nature",
+ "moji": "🐐",
+ "description": "goat",
+ "unicodeVersion": "6.0",
+ "digest": "83e2498db2f088b8bfaf7614a543bc691da93eec2d8a156cfdde67e86ccbade8"
+ },
+ "dromedary_camel": {
+ "category": "nature",
+ "moji": "🐪",
+ "description": "dromedary camel",
+ "unicodeVersion": "6.0",
+ "digest": "8401968c38aa200463e4f8dd68287cff7ccc0c2be93c425329ccc56bcfa1b672"
+ },
+ "camel": {
+ "category": "nature",
+ "moji": "🐫",
+ "description": "bactrian camel",
+ "unicodeVersion": "6.0",
+ "digest": "666d8efce2033fd7a69fa8537a0d724b3e1e0d9d5093b8d7666a45a4f7d1831f"
+ },
+ "elephant": {
+ "category": "nature",
+ "moji": "🐘",
+ "description": "elephant",
+ "unicodeVersion": "6.0",
+ "digest": "c151ce8cf6aee435ed27099fac1d5e55501e643f69d7e39476fa6bcd73be9559"
+ },
+ "rhino": {
+ "category": "nature",
+ "moji": "🦏",
+ "description": "rhinoceros",
+ "unicodeVersion": "9.0",
+ "digest": "6b23d83c2b2cc252e5983b75840086971807c2ea5425f17753d049b5b7a5ebf7"
+ },
+ "mouse": {
+ "category": "nature",
+ "moji": "🐭",
+ "description": "mouse face",
+ "unicodeVersion": "6.0",
+ "digest": "ba3d78feeca02888c96bc81ffbe07d8be073f695ab17e167d63c4fe0ad2edfc0"
+ },
+ "mouse2": {
+ "category": "nature",
+ "moji": "🐁",
+ "description": "mouse",
+ "unicodeVersion": "6.0",
+ "digest": "abd7dded58299599e4cd419c3052e0d4e52ccc788e905201f5dd225b74152aff"
+ },
+ "rat": {
+ "category": "nature",
+ "moji": "🐀",
+ "description": "rat",
+ "unicodeVersion": "6.0",
+ "digest": "7f15ecd2a5c5dd340a5e1c69454a512bf176cbb74b042efc65a7d6c8efad5e6e"
+ },
+ "hamster": {
+ "category": "nature",
+ "moji": "🐹",
+ "description": "hamster face",
+ "unicodeVersion": "6.0",
+ "digest": "aa2bb7c3ca254800ae7bb02b49ae4206984d4a07350be9fe8e0d645133918863"
+ },
+ "rabbit": {
+ "category": "nature",
+ "moji": "🐰",
+ "description": "rabbit face",
+ "unicodeVersion": "6.0",
+ "digest": "1a7201ef67f5ce4c9deb0f5c9e1e14d0e3d6ffaac17bbb73d6ca6c1de62c43ea"
+ },
+ "rabbit2": {
+ "category": "nature",
+ "moji": "🐇",
+ "description": "rabbit",
+ "unicodeVersion": "6.0",
+ "digest": "120075f5ca435b5dc903bfe3934bbc9adb2c17c16a8b839625320a46c299827a"
+ },
+ "chipmunk": {
+ "category": "nature",
+ "moji": "🐿",
+ "description": "chipmunk",
+ "unicodeVersion": "7.0",
+ "digest": "ec1f696b11273364e8c7f386d38bbb133e5d7c387b9ea7ebc49b4fd5c84717c4"
+ },
+ "bat": {
+ "category": "nature",
+ "moji": "🦇",
+ "description": "bat",
+ "unicodeVersion": "9.0",
+ "digest": "5f66d15070c283ae9a293719ada7d88d6837f858dda94c61cf56835f734985d8"
+ },
+ "bear": {
+ "category": "nature",
+ "moji": "🐻",
+ "description": "bear face",
+ "unicodeVersion": "6.0",
+ "digest": "6d7ed0e469e7146c5fa5caf7496e516f553eecf2b212ec7835a0636cff147a51"
+ },
+ "koala": {
+ "category": "nature",
+ "moji": "🐨",
+ "description": "koala",
+ "unicodeVersion": "6.0",
+ "digest": "73549917efa845ecc4a5b4c347fc6f686717e95323fed97977e6677c881f801d"
+ },
+ "panda_face": {
+ "category": "nature",
+ "moji": "🐼",
+ "description": "panda face",
+ "unicodeVersion": "6.0",
+ "digest": "8439a209f086e61dde97c5a578dc7b3a23099fd4f5a939e27535956a2c78e5c9"
+ },
+ "feet": {
+ "category": "nature",
+ "moji": "🐾",
+ "description": "paw prints",
+ "unicodeVersion": "6.0",
+ "digest": "cb4b59f2c5df407bae3d02b638721b7f47b685d4e03f7ddb8d1fedaae9e2179a"
+ },
+ "turkey": {
+ "category": "nature",
+ "moji": "🦃",
+ "description": "turkey",
+ "unicodeVersion": "8.0",
+ "digest": "2b141b75a1df1c8e347fe96a5193060d6feb230e4ced5976e3a22ab4a145887b"
+ },
+ "chicken": {
+ "category": "nature",
+ "moji": "🐔",
+ "description": "chicken",
+ "unicodeVersion": "6.0",
+ "digest": "6fb2f9392e8e78ec3e46187013e53a19dcb319e9528c27e453ae2dc470d91cf3"
+ },
+ "rooster": {
+ "category": "nature",
+ "moji": "🐓",
+ "description": "rooster",
+ "unicodeVersion": "6.0",
+ "digest": "8ebd22e8776d16c6557f777a731871e93a20b8b828b718f57267033f13a5e50b"
+ },
+ "hatching_chick": {
+ "category": "nature",
+ "moji": "🐣",
+ "description": "hatching chick",
+ "unicodeVersion": "6.0",
+ "digest": "839de0c6a31a0c0ff1e4ee36f64fe462667d15acda79747dd0a362f59a37f144"
+ },
+ "baby_chick": {
+ "category": "nature",
+ "moji": "🐤",
+ "description": "baby chick",
+ "unicodeVersion": "6.0",
+ "digest": "997e1f93ed8fb08c4362d5b0907b8243dc623a62e6cf0b3a9034112f187a3314"
+ },
+ "hatched_chick": {
+ "category": "nature",
+ "moji": "🐥",
+ "description": "front-facing baby chick",
+ "unicodeVersion": "6.0",
+ "digest": "e87f9edbc75c2f65940e59ec3ee752bf15cca10767e83766d3bb2e2cacbb30d1"
+ },
+ "bird": {
+ "category": "nature",
+ "moji": "🐦",
+ "description": "bird",
+ "unicodeVersion": "6.0",
+ "digest": "b19660ba47b3a0151dc470064a6594cdb9aaaa14a42a0a18d70c253206c954e5"
+ },
+ "penguin": {
+ "category": "nature",
+ "moji": "🐧",
+ "description": "penguin",
+ "unicodeVersion": "6.0",
+ "digest": "0735168781cd9316b40fbce845a55980acc33491112aea840b26b0cef226ccc0"
+ },
+ "dove": {
+ "category": "nature",
+ "moji": "🕊",
+ "description": "dove of peace",
+ "unicodeVersion": "7.0",
+ "digest": "66d335c04e2daef92ed0ee5979d6b072d99551e2950cdbc78882bf28269773f8"
+ },
+ "eagle": {
+ "category": "nature",
+ "moji": "🦅",
+ "description": "eagle",
+ "unicodeVersion": "9.0",
+ "digest": "996a7d29861f0ebd0762baeefccd1a8f7179b52bbb16e34e54787c9f6e959857"
+ },
+ "duck": {
+ "category": "nature",
+ "moji": "🦆",
+ "description": "duck",
+ "unicodeVersion": "9.0",
+ "digest": "41f179dcac9de4a0eb5335ce435176db90fb1e35c043a100a9be09ce1ce3fac0"
+ },
+ "owl": {
+ "category": "nature",
+ "moji": "🦉",
+ "description": "owl",
+ "unicodeVersion": "9.0",
+ "digest": "f5c1451adf6d1192cc377bc86f25604233d3c9fee42d4b4d4e8b4c4d76d0e981"
+ },
+ "frog": {
+ "category": "nature",
+ "moji": "🐸",
+ "description": "frog face",
+ "unicodeVersion": "6.0",
+ "digest": "f1b86d108560eb022ed026b7158477f664bdebe2b313bf49e4bd4f3c79278bf3"
+ },
+ "crocodile": {
+ "category": "nature",
+ "moji": "🐊",
+ "description": "crocodile",
+ "unicodeVersion": "6.0",
+ "digest": "94f36ae30277cc802bbe827c727358540548ebdd85d3e1f70e976e205a885756"
+ },
+ "turtle": {
+ "category": "nature",
+ "moji": "🐢",
+ "description": "turtle",
+ "unicodeVersion": "6.0",
+ "digest": "cb9ebbbd5c861943b8e52ad447959cb489edcb64c93a878a2db00060220e56da"
+ },
+ "lizard": {
+ "category": "nature",
+ "moji": "🦎",
+ "description": "lizard",
+ "unicodeVersion": "9.0",
+ "digest": "7c21a4d9e165efe57eca3982944b93ad30bf7ea462bdbf5cb4d63e3dc93e7707"
+ },
+ "snake": {
+ "category": "nature",
+ "moji": "🐍",
+ "description": "snake",
+ "unicodeVersion": "6.0",
+ "digest": "1b28000702a5b3b294b22c5bd1ad8c203937712fb30dc1cb12f63fc6244e38e6"
+ },
+ "dragon_face": {
+ "category": "nature",
+ "moji": "🐲",
+ "description": "dragon face",
+ "unicodeVersion": "6.0",
+ "digest": "8990c5f5a5cf7d94e4eafb7515e6367cfaeea6bd648c36d65dca1525b60d591c"
+ },
+ "dragon": {
+ "category": "nature",
+ "moji": "🐉",
+ "description": "dragon",
+ "unicodeVersion": "6.0",
+ "digest": "460c7674101d32edf90b563329947c620c1e6bea9dfe2c81483e3313248d498c"
+ },
+ "whale": {
+ "category": "nature",
+ "moji": "🐳",
+ "description": "spouting whale",
+ "unicodeVersion": "6.0",
+ "digest": "6a5de13dec0e0bbb05c9b3222ce04c16c079367124e59a49d015bbbee7a174a7"
+ },
+ "whale2": {
+ "category": "nature",
+ "moji": "🐋",
+ "description": "whale",
+ "unicodeVersion": "6.0",
+ "digest": "939087b5e3b24f0cc27978a8777eec9c38f6e8bafc98200ff2606c3648fa589e"
+ },
+ "dolphin": {
+ "category": "nature",
+ "moji": "🐬",
+ "description": "dolphin",
+ "unicodeVersion": "6.0",
+ "digest": "92298c8287cbda0eaad24b50145236bb29ff9a6473a6faac07deddd8ae97ff1b"
+ },
+ "fish": {
+ "category": "nature",
+ "moji": "🐟",
+ "description": "fish",
+ "unicodeVersion": "6.0",
+ "digest": "036332286b852c6dd8c672f1540a4b4c5082885555f60a7d0f93b82c2acdc0f5"
+ },
+ "tropical_fish": {
+ "category": "nature",
+ "moji": "🐠",
+ "description": "tropical fish",
+ "unicodeVersion": "6.0",
+ "digest": "26974903529bbda281c4f1302d8ced6eeca6f3d316ef0bd4ab6617062bd10ca9"
+ },
+ "blowfish": {
+ "category": "nature",
+ "moji": "🐡",
+ "description": "blowfish",
+ "unicodeVersion": "6.0",
+ "digest": "084c33958f40081d19012e35fcf72f085cf1f749964ba7256d8721e8a2d929e0"
+ },
+ "shark": {
+ "category": "nature",
+ "moji": "🦈",
+ "description": "shark",
+ "unicodeVersion": "9.0",
+ "digest": "552b7265f53c435c860583c2aaee8acec5f854fa2092f6e8be74d89f9f3132da"
+ },
+ "octopus": {
+ "category": "nature",
+ "moji": "🐙",
+ "description": "octopus",
+ "unicodeVersion": "6.0",
+ "digest": "215314d376c54c12b73eef4115a8d91a3a21f39e39d41a72b24ef2228595b6af"
+ },
+ "shell": {
+ "category": "nature",
+ "moji": "🐚",
+ "description": "spiral shell",
+ "unicodeVersion": "6.0",
+ "digest": "4d30626d66ac2921fb7a81761841923b855e363c4198eea67c76d86c696cc805"
+ },
+ "snail": {
+ "category": "nature",
+ "moji": "🐌",
+ "description": "snail",
+ "unicodeVersion": "6.0",
+ "digest": "4244f824afbbf8f60e41654f35596395a9a45715a3f229e351aaea6dab361e02"
+ },
+ "butterfly": {
+ "category": "nature",
+ "moji": "🦋",
+ "description": "butterfly",
+ "unicodeVersion": "9.0",
+ "digest": "a7c33f816a9705a83a0debf8cbeb1ff9dc430200f52e8d0f5682fe11c39b4473"
+ },
+ "bug": {
+ "category": "nature",
+ "moji": "🐛",
+ "description": "bug",
+ "unicodeVersion": "6.0",
+ "digest": "8c3a35433d6c2d63c57d2fdfa8be50bd35c334dfe0ba1b1554555e872091b857"
+ },
+ "ant": {
+ "category": "nature",
+ "moji": "🐜",
+ "description": "ant",
+ "unicodeVersion": "6.0",
+ "digest": "d60a32588453dd0a17b55358089bc62e53f09fc262c7aa30a1d6fc2c1e7cde2c"
+ },
+ "bee": {
+ "category": "nature",
+ "moji": "🐝",
+ "description": "honeybee",
+ "unicodeVersion": "6.0",
+ "digest": "57d564f50abfd154473c3ebb16aeac058dc15253fed2b319daf1f2cb063e29af"
+ },
+ "beetle": {
+ "category": "nature",
+ "moji": "🐞",
+ "description": "lady beetle",
+ "unicodeVersion": "6.0",
+ "digest": "c05375aae35bdedd627fa55d63bda6ec9351d9a261a4a60145a8a775d99deaee"
+ },
+ "spider": {
+ "category": "nature",
+ "moji": "🕷",
+ "description": "spider",
+ "unicodeVersion": "7.0",
+ "digest": "204672675b8f272185eb58517e6cac6e9398a9c27279b8bb0da97330d35da094"
+ },
+ "spider_web": {
+ "category": "nature",
+ "moji": "🕸",
+ "description": "spider web",
+ "unicodeVersion": "7.0",
+ "digest": "82a223ba2c1dc71ac0945544a16a2f607a679c5727cd86070b537bec6e1fdcb1"
+ },
+ "scorpion": {
+ "category": "nature",
+ "moji": "🦂",
+ "description": "scorpion",
+ "unicodeVersion": "8.0",
+ "digest": "2e97ed412be63a4eaefd4205d13e5d4957389ce7497c4c79e00e9729bdb39e0c"
+ },
+ "bouquet": {
+ "category": "nature",
+ "moji": "💐",
+ "description": "bouquet",
+ "unicodeVersion": "6.0",
+ "digest": "0d737305d51cced40a4de5da6dacb5dfb049c7d8ad4136c312193049a9915a3b"
+ },
+ "cherry_blossom": {
+ "category": "nature",
+ "moji": "🌸",
+ "description": "cherry blossom",
+ "unicodeVersion": "6.0",
+ "digest": "67e42777b2d2b8e71dc303c096b45f5b66733d2099533c6c6f798c98e314234d"
+ },
+ "white_flower": {
"category": "symbols",
- "moji": "💹",
- "description": "chart with upwards trend and yen sign",
+ "moji": "💮",
+ "description": "white flower",
"unicodeVersion": "6.0",
- "digest": "b513f5b5ff0e9a8139aaa378982e1937b09da1827adef70158d07d8c4a288139"
+ "digest": "30a1761e5672133bf4172bfecad661e951488c89e22ceee88d04fd3bcbd7e6d1"
},
- "chart_with_downwards_trend": {
- "category": "objects",
- "moji": "📉",
- "description": "chart with downwards trend",
+ "rosette": {
+ "category": "activity",
+ "moji": "🏵",
+ "description": "rosette",
+ "unicodeVersion": "7.0",
+ "digest": "b5d6fac78383056f66f48e9576f3e8e1f38c473330f44382e0f2a13bb0b6cf89"
+ },
+ "rose": {
+ "category": "nature",
+ "moji": "🌹",
+ "description": "rose",
"unicodeVersion": "6.0",
- "digest": "0c12dfccd80564f29dc56d3e994e55793ec02d1bd4e3109c7e1b003163579ecc"
+ "digest": "a86cff9a79b2296c8c2c39dbeb7bd9e42edf2e5af402ae5dfb63a3bf910083cd"
},
- "chart_with_upwards_trend": {
- "category": "objects",
- "moji": "📈",
- "description": "chart with upwards trend",
+ "wilted_rose": {
+ "category": "nature",
+ "moji": "🥀",
+ "description": "wilted flower",
+ "unicodeVersion": "9.0",
+ "digest": "401fb35a8c6d26db708b2756c0bb55e0c62490a8cbdd51a21d6634881a62d32c"
+ },
+ "hibiscus": {
+ "category": "nature",
+ "moji": "🌺",
+ "description": "hibiscus",
"unicodeVersion": "6.0",
- "digest": "c09ad5dd7817106a1df65a1f8da086006de804d2de22107423a5805da5ee3f9f"
+ "digest": "2dc90fc37f140ac3a56600042ba44116f28e40bdda1d041d2218a6251099cbf6"
},
- "checkered_flag": {
- "category": "travel",
- "moji": "🏁",
- "description": "chequered flag",
+ "sunflower": {
+ "category": "nature",
+ "moji": "🌻",
+ "description": "sunflower",
"unicodeVersion": "6.0",
- "digest": "b2527f2ce6797b261083947b9e9dd588382da6e7e46f81a1919d0f039635f21b"
+ "digest": "ea2947ff8994128b131e8e692d6183f38553d709fafa7611f3c15d00e5e2b9d6"
},
- "cheese": {
+ "blossom": {
+ "category": "nature",
+ "moji": "🌼",
+ "description": "blossom",
+ "unicodeVersion": "6.0",
+ "digest": "4b330c92cc58a402534cb0bbbde2d18d680a88da5e1321d460e2d5ce2644d774"
+ },
+ "tulip": {
+ "category": "nature",
+ "moji": "🌷",
+ "description": "tulip",
+ "unicodeVersion": "6.0",
+ "digest": "78b7615137fedb534bb1a760b1c7bfdd09b60e1c770ba21ee9f5a3799aa7c93b"
+ },
+ "seedling": {
+ "category": "nature",
+ "moji": "🌱",
+ "description": "seedling",
+ "unicodeVersion": "6.0",
+ "digest": "4227f4780193ccd7d807c0e6d18b42cbaa247554708efbf64dbd3b7c6919a466"
+ },
+ "evergreen_tree": {
+ "category": "nature",
+ "moji": "🌲",
+ "description": "evergreen tree",
+ "unicodeVersion": "6.0",
+ "digest": "62ae1c4109a7458bcc754f89311fa37be31a0cdc63ee96f420482568bc74000c"
+ },
+ "deciduous_tree": {
+ "category": "nature",
+ "moji": "🌳",
+ "description": "deciduous tree",
+ "unicodeVersion": "6.0",
+ "digest": "89804981f62825a45150919436442c70838d90a015de398d2bb9aaffa4b2e998"
+ },
+ "palm_tree": {
+ "category": "nature",
+ "moji": "🌴",
+ "description": "palm tree",
+ "unicodeVersion": "6.0",
+ "digest": "4e5f7c8c216d86839a59a559db1c6b8741d80ec8e2cb8e6c055f7ee5dcf1ceaf"
+ },
+ "cactus": {
+ "category": "nature",
+ "moji": "🌵",
+ "description": "cactus",
+ "unicodeVersion": "6.0",
+ "digest": "1690158bb63afbe907bbc343627b9c353198ad611b9bb195f5eda5c3545aa2e9"
+ },
+ "ear_of_rice": {
+ "category": "nature",
+ "moji": "🌾",
+ "description": "ear of rice",
+ "unicodeVersion": "6.0",
+ "digest": "9ea7efc5ebf3cea2cfd17ac2318a1ea0dd1519af6a60a95af33aabe1baa9042e"
+ },
+ "herb": {
+ "category": "nature",
+ "moji": "🌿",
+ "description": "herb",
+ "unicodeVersion": "6.0",
+ "digest": "26a5958f4afaa7ec0f0fbbddfe50b6a467dff109fab45345c5a63b0316d20370"
+ },
+ "shamrock": {
+ "category": "nature",
+ "moji": "☘",
+ "description": "shamrock",
+ "unicodeVersion": "4.1",
+ "digest": "cb9408a7b1884bfca8fe7cd2ea93440a49a44b226298325a3f138f6e772f5d64"
+ },
+ "four_leaf_clover": {
+ "category": "nature",
+ "moji": "🍀",
+ "description": "four leaf clover",
+ "unicodeVersion": "6.0",
+ "digest": "a9ca1028812de7da08319eb0403b28951d381ace771b1050e90d1aa05e62baef"
+ },
+ "maple_leaf": {
+ "category": "nature",
+ "moji": "🍁",
+ "description": "maple leaf",
+ "unicodeVersion": "6.0",
+ "digest": "f16bc6dfd5bd33811f8cbf1bca6733715bb1e8b35109d7038f25497a89e79f8e"
+ },
+ "fallen_leaf": {
+ "category": "nature",
+ "moji": "🍂",
+ "description": "fallen leaf",
+ "unicodeVersion": "6.0",
+ "digest": "96c9e1139937dc4be942855f4b1f140cb06809c51a818d078f4680e0375ddc1c"
+ },
+ "leaves": {
+ "category": "nature",
+ "moji": "🍃",
+ "description": "leaf fluttering in wind",
+ "unicodeVersion": "6.0",
+ "digest": "814ac13b38d78820a050dd97155abfcd6c98fc56c5793044de7b7d2855e5acb9"
+ },
+ "mushroom": {
+ "category": "nature",
+ "moji": "🍄",
+ "description": "mushroom",
+ "unicodeVersion": "6.0",
+ "digest": "76123b383ae3515904cc8015b730a419c7dac5b16df83e8f0baf7b472e08adbe"
+ },
+ "grapes": {
"category": "food",
- "moji": "🧀",
- "description": "cheese wedge",
- "unicodeVersion": "8.0",
- "digest": "5d0152d394bb97558cdd52eb5c9c6f9924e04071e7aa76fa1abde43ae727ca78"
+ "moji": "🍇",
+ "description": "grapes",
+ "unicodeVersion": "6.0",
+ "digest": "6df4590ee90aa5dd376597fa8e500ad99b4dacae5ceaad8d0b5c2a4662e09e74"
+ },
+ "melon": {
+ "category": "food",
+ "moji": "🍈",
+ "description": "melon",
+ "unicodeVersion": "6.0",
+ "digest": "75e1353511e5b2c345ec411ca9b8dc7d172fcbc7fbe5366ef0ed96c74035ef32"
+ },
+ "watermelon": {
+ "category": "food",
+ "moji": "🍉",
+ "description": "watermelon",
+ "unicodeVersion": "6.0",
+ "digest": "8a18d12c6fb648b5cadc8d3ff390b9e24f5505a649055a2d4c840df7eb6bad78"
+ },
+ "tangerine": {
+ "category": "food",
+ "moji": "🍊",
+ "description": "tangerine",
+ "unicodeVersion": "6.0",
+ "digest": "6858dcb7aa079a6639511d86328f55fd70319787efe06934573c774adec2ade0"
+ },
+ "lemon": {
+ "category": "food",
+ "moji": "🍋",
+ "description": "lemon",
+ "unicodeVersion": "6.0",
+ "digest": "b6d67cb631ddc6d448f658fb151d325018ef01b791c005ed1d601f8223b7a722"
+ },
+ "banana": {
+ "category": "food",
+ "moji": "🍌",
+ "description": "banana",
+ "unicodeVersion": "6.0",
+ "digest": "9e11c486281f89713ed8853946434210f068e7cc5e26776f80125d7c1c303a84"
+ },
+ "pineapple": {
+ "category": "food",
+ "moji": "🍍",
+ "description": "pineapple",
+ "unicodeVersion": "6.0",
+ "digest": "62e7ffdfac3638f71d1381861a87d6f361718912099ddd4df1bc8245d6a1fc2f"
+ },
+ "apple": {
+ "category": "food",
+ "moji": "🍎",
+ "description": "red apple",
+ "unicodeVersion": "6.0",
+ "digest": "2a2d7a1fb558b2f77f9ef57b11229992a6ba4a1a679707f6339fc47744d64df2"
+ },
+ "green_apple": {
+ "category": "food",
+ "moji": "🍏",
+ "description": "green apple",
+ "unicodeVersion": "6.0",
+ "digest": "7f07991633eb29615cd7da645921adfdf01dfd83186d30f29c9ca02b6ed4384b"
+ },
+ "pear": {
+ "category": "food",
+ "moji": "🍐",
+ "description": "pear",
+ "unicodeVersion": "6.0",
+ "digest": "73114dab6e3ec572ae1f9a98e85961605b6a98cdd19497e6957eec60941959b5"
+ },
+ "peach": {
+ "category": "food",
+ "moji": "🍑",
+ "description": "peach",
+ "unicodeVersion": "6.0",
+ "digest": "952c053be4d68b53c35b0d43e83557606dc235afd821595236c8f80fb8602608"
},
"cherries": {
"category": "food",
@@ -1581,12 +5557,82 @@
"unicodeVersion": "6.0",
"digest": "49f2c738ad924302542d2c0b6d1f30076c77f9651234e1c6d57bc200540f0476"
},
- "cherry_blossom": {
- "category": "nature",
- "moji": "🌸",
- "description": "cherry blossom",
+ "strawberry": {
+ "category": "food",
+ "moji": "🍓",
+ "description": "strawberry",
"unicodeVersion": "6.0",
- "digest": "67e42777b2d2b8e71dc303c096b45f5b66733d2099533c6c6f798c98e314234d"
+ "digest": "4563a502fa27cbc543f6ad287a6c40eee76319e29a98fbf818c93e7b48c2249f"
+ },
+ "kiwi": {
+ "category": "food",
+ "moji": "🥝",
+ "description": "kiwifruit",
+ "unicodeVersion": "9.0",
+ "digest": "bc2ee501a2c313cee1816720975228ab34fda6b83581248012112af1ba5ce1ae"
+ },
+ "tomato": {
+ "category": "food",
+ "moji": "🍅",
+ "description": "tomato",
+ "unicodeVersion": "6.0",
+ "digest": "9fc42d1837bf67d7845f2a00c83c6b8001f96b6bb350f009063d211b20e96c16"
+ },
+ "avocado": {
+ "category": "food",
+ "moji": "🥑",
+ "description": "avocado",
+ "unicodeVersion": "9.0",
+ "digest": "465bdf47c670c469b14e17a61f6d60b5975aa8d2c1e8764c8e7305185f831d58"
+ },
+ "eggplant": {
+ "category": "food",
+ "moji": "🍆",
+ "description": "aubergine",
+ "unicodeVersion": "6.0",
+ "digest": "717719283180637a9929192d3af0459a871c144a5d6134cd1b31482cf065fc04"
+ },
+ "potato": {
+ "category": "food",
+ "moji": "🥔",
+ "description": "potato",
+ "unicodeVersion": "9.0",
+ "digest": "72e5b1d7dd118dd85886d880a88a92b60e1542587d92591dd42f2d59a721b4c4"
+ },
+ "carrot": {
+ "category": "food",
+ "moji": "🥕",
+ "description": "carrot",
+ "unicodeVersion": "9.0",
+ "digest": "8d8a49f70f7f339347d4a59afcb9a58d9113ebb4d7488d681e409cefd5cb9e47"
+ },
+ "corn": {
+ "category": "food",
+ "moji": "🌽",
+ "description": "ear of maize",
+ "unicodeVersion": "6.0",
+ "digest": "18c605b675251470f411303851450e3010e6a4683c06f1ad0df48eb2c8560a46"
+ },
+ "hot_pepper": {
+ "category": "food",
+ "moji": "🌶",
+ "description": "hot pepper",
+ "unicodeVersion": "7.0",
+ "digest": "78301b29d9426d81938771c3c25a95d70c9eecf78b39a3f49f30cb63f0cf6c50"
+ },
+ "cucumber": {
+ "category": "food",
+ "moji": "🥒",
+ "description": "cucumber",
+ "unicodeVersion": "9.0",
+ "digest": "752ddddf7b18831b74cc2b14b3fd787f9f914c1a9e72b7119f2e0b7267e4f749"
+ },
+ "peanuts": {
+ "category": "food",
+ "moji": "🥜",
+ "description": "peanuts",
+ "unicodeVersion": "9.0",
+ "digest": "f18fe7dfb1eb5e9db42fc3c37d4c4fb4866d9ad26ecf9f6cf5be798a09fc58eb"
},
"chestnut": {
"category": "nature",
@@ -1595,26 +5641,313 @@
"unicodeVersion": "6.0",
"digest": "0a6528154b5f4039d32a2e7e0550b1e2666bee8d55d4195402829d169fed350c"
},
- "chicken": {
- "category": "nature",
- "moji": "🐔",
- "description": "chicken",
+ "bread": {
+ "category": "food",
+ "moji": "🍞",
+ "description": "bread",
"unicodeVersion": "6.0",
- "digest": "6fb2f9392e8e78ec3e46187013e53a19dcb319e9528c27e453ae2dc470d91cf3"
+ "digest": "6108ad957056be1eeeb3c28e5fbd1b215becb07ad8669513466a26dfd481fe74"
},
- "children_crossing": {
- "category": "symbols",
- "moji": "🚸",
- "description": "children crossing",
+ "croissant": {
+ "category": "food",
+ "moji": "🥐",
+ "description": "croissant",
+ "unicodeVersion": "9.0",
+ "digest": "8524b964d39d5193569c03177162dc3bf2d6b2e1d4b5ba2b651cd906199f053f"
+ },
+ "french_bread": {
+ "category": "food",
+ "moji": "🥖",
+ "description": "baguette bread",
+ "unicodeVersion": "9.0",
+ "digest": "356771456e476bfc85b9ba08b8bd8473fef0e8045af88bafe563aed815cba8e9"
+ },
+ "pancakes": {
+ "category": "food",
+ "moji": "🥞",
+ "description": "pancakes",
+ "unicodeVersion": "9.0",
+ "digest": "5df3886ed4e65b22054269943718a69dcb75744e2dff9e414cf9ab62a2ea0596"
+ },
+ "cheese": {
+ "category": "food",
+ "moji": "🧀",
+ "description": "cheese wedge",
+ "unicodeVersion": "8.0",
+ "digest": "5d0152d394bb97558cdd52eb5c9c6f9924e04071e7aa76fa1abde43ae727ca78"
+ },
+ "meat_on_bone": {
+ "category": "food",
+ "moji": "🍖",
+ "description": "meat on bone",
"unicodeVersion": "6.0",
- "digest": "092e5fa179cce029edae31733f6c1dc0e147cde9050183b3f7b121cc7839c2ab"
+ "digest": "df7239ae70b5612f38b3bb309d685464cf529a75a6faa27084acbf71dd633a33"
},
- "chipmunk": {
+ "poultry_leg": {
+ "category": "food",
+ "moji": "🍗",
+ "description": "poultry leg",
+ "unicodeVersion": "6.0",
+ "digest": "c3c667f9795aa2d14fd1a500438d7fd2441e924a3d1af68bd6be1f082b935f4c"
+ },
+ "bacon": {
+ "category": "food",
+ "moji": "🥓",
+ "description": "bacon",
+ "unicodeVersion": "9.0",
+ "digest": "a076ea85c09e7783948f5710294c32d34487402779227bf47dc6f8d0fe7a9689"
+ },
+ "hamburger": {
+ "category": "food",
+ "moji": "🍔",
+ "description": "hamburger",
+ "unicodeVersion": "6.0",
+ "digest": "5d302067792941f85238d73dabc26e5565891ffd23514c93a26e5ac759d86198"
+ },
+ "fries": {
+ "category": "food",
+ "moji": "🍟",
+ "description": "french fries",
+ "unicodeVersion": "6.0",
+ "digest": "492b7d015ce5bcd3b9674049e5421cd2c65451c65a175f2e7ffca391b178d1e5"
+ },
+ "pizza": {
+ "category": "food",
+ "moji": "🍕",
+ "description": "slice of pizza",
+ "unicodeVersion": "6.0",
+ "digest": "74f0ca139931c470d814ed91f1bc7d395205b3d836fa2f425c50dff56d77ccb9"
+ },
+ "hotdog": {
+ "category": "food",
+ "moji": "🌭",
+ "description": "hot dog",
+ "unicodeVersion": "8.0",
+ "digest": "09bc0ee460411220b1e853893eb161106d173909d7754b35c36d16e99b54a30f"
+ },
+ "taco": {
+ "category": "food",
+ "moji": "🌮",
+ "description": "taco",
+ "unicodeVersion": "8.0",
+ "digest": "13802015749117fc3889d27eb8a66846bb81e2a469dfd90a66b9603b54526c5b"
+ },
+ "burrito": {
+ "category": "food",
+ "moji": "🌯",
+ "description": "burrito",
+ "unicodeVersion": "8.0",
+ "digest": "99ad1315f80dd9c1a9dab3a88e4c272d813b072a10f085c44ec4d261f7cb1d83"
+ },
+ "stuffed_flatbread": {
+ "category": "food",
+ "moji": "🥙",
+ "description": "stuffed flatbread",
+ "unicodeVersion": "9.0",
+ "digest": "ace05b5608aa3c51ad0aff66949ff5c6d06812597d1f55cb21a29834e531c46c"
+ },
+ "egg": {
+ "category": "food",
+ "moji": "🥚",
+ "description": "egg",
+ "unicodeVersion": "9.0",
+ "digest": "97287d7b86252a2e3b8a112aaa1a3096f48ee930691e200470e6b35876d9d3c3"
+ },
+ "cooking": {
+ "category": "food",
+ "moji": "🍳",
+ "description": "cooking",
+ "unicodeVersion": "6.0",
+ "digest": "b4bcd344fb394300464b8a81f325f8652c032f39ebe2acf85e046d594a58b84a"
+ },
+ "shallow_pan_of_food": {
+ "category": "food",
+ "moji": "🥘",
+ "description": "shallow pan of food",
+ "unicodeVersion": "9.0",
+ "digest": "1c90318cf2f78c965a0e4dfc710781e5da862874fa8e29f010231e5dc5657976"
+ },
+ "stew": {
+ "category": "food",
+ "moji": "🍲",
+ "description": "pot of food",
+ "unicodeVersion": "6.0",
+ "digest": "0c9cdd4de27a6108da2567070dad1ab9220dc513dd8ec6543ad66dddb7c09bdc"
+ },
+ "salad": {
+ "category": "food",
+ "moji": "🥗",
+ "description": "green salad",
+ "unicodeVersion": "9.0",
+ "digest": "2498d846c9ae599cd1fac3c74e87f595e1938df6b9a0eeb001c7f19ca0c7477d"
+ },
+ "popcorn": {
+ "category": "food",
+ "moji": "🍿",
+ "description": "popcorn",
+ "unicodeVersion": "8.0",
+ "digest": "6571fce7fb3cdf92db6fdb69b89b21b664eab348f7fd9ccb37da09eefa65d14f"
+ },
+ "bento": {
+ "category": "food",
+ "moji": "🍱",
+ "description": "bento box",
+ "unicodeVersion": "6.0",
+ "digest": "dee568150c21a99f0b6ce11af58ac7c8a298443fc3971e3efead7728b1bc7459"
+ },
+ "rice_cracker": {
+ "category": "food",
+ "moji": "🍘",
+ "description": "rice cracker",
+ "unicodeVersion": "6.0",
+ "digest": "33d54212f8418a5148b4b7e7b38edc72e7f03c5cf54356cdc15319c56160a3f3"
+ },
+ "rice_ball": {
+ "category": "food",
+ "moji": "🍙",
+ "description": "rice ball",
+ "unicodeVersion": "6.0",
+ "digest": "40e8af6fcac8dbc63e18809e12a00e41dc8cf75eba0c856f8c031c866e27099c"
+ },
+ "rice": {
+ "category": "food",
+ "moji": "🍚",
+ "description": "cooked rice",
+ "unicodeVersion": "6.0",
+ "digest": "ca2eb63d32044cf29435eec542dea6d2aad9eed4dcf4d12bb092a221c4e17eac"
+ },
+ "curry": {
+ "category": "food",
+ "moji": "🍛",
+ "description": "curry and rice",
+ "unicodeVersion": "6.0",
+ "digest": "6c317ba8a3dba9a294c2a3cb3b6385c946549a06bf934fd4b6964304f3b9a9b3"
+ },
+ "ramen": {
+ "category": "food",
+ "moji": "🍜",
+ "description": "steaming bowl",
+ "unicodeVersion": "6.0",
+ "digest": "2dab0bf5560aacda31e87d8a86a1a39eaaa7f6b4fb3dbc1b9768f3a49a9e20f9"
+ },
+ "spaghetti": {
+ "category": "food",
+ "moji": "🍝",
+ "description": "spaghetti",
+ "unicodeVersion": "6.0",
+ "digest": "b2de3171e90345dc777aa7554d97d6de659f4a9928b7da6a871e3925e234484c"
+ },
+ "sweet_potato": {
+ "category": "food",
+ "moji": "🍠",
+ "description": "roasted sweet potato",
+ "unicodeVersion": "6.0",
+ "digest": "0a322b21e76c9c487b8a8cb158c60d6e0be1aaa0495f865262f4c69e55a870b0"
+ },
+ "oden": {
+ "category": "food",
+ "moji": "🍢",
+ "description": "oden",
+ "unicodeVersion": "6.0",
+ "digest": "af6a824831041aacce2e5c510a3bc1a46ddc68f0083bcbfbbd30df941e50ec8b"
+ },
+ "sushi": {
+ "category": "food",
+ "moji": "🍣",
+ "description": "sushi",
+ "unicodeVersion": "6.0",
+ "digest": "a5bbbe7979621cc830f8a6860623af797530eb1d6cb4fb909f5e728ca8684864"
+ },
+ "fried_shrimp": {
+ "category": "food",
+ "moji": "🍤",
+ "description": "fried shrimp",
+ "unicodeVersion": "6.0",
+ "digest": "77985671090380d5e36b5c1bed476dcfe8e6e09d7a3f090aaae534be6297ecfd"
+ },
+ "fish_cake": {
+ "category": "food",
+ "moji": "🍥",
+ "description": "fish cake with swirl design",
+ "unicodeVersion": "6.0",
+ "digest": "2289ec22dc4e1cb1e143c56809f4d4f920e221f11237533cee95472a30985068"
+ },
+ "dango": {
+ "category": "food",
+ "moji": "🍡",
+ "description": "dango",
+ "unicodeVersion": "6.0",
+ "digest": "c3047205e462d958f6e5ab2ad318bc70e903343c4a87956055f76ea8adcc9456"
+ },
+ "crab": {
"category": "nature",
- "moji": "🐿",
- "description": "chipmunk",
- "unicodeVersion": "7.0",
- "digest": "ec1f696b11273364e8c7f386d38bbb133e5d7c387b9ea7ebc49b4fd5c84717c4"
+ "moji": "🦀",
+ "description": "crab",
+ "unicodeVersion": "8.0",
+ "digest": "8cdd21a6eaa56df3e503e8710e703b60ba6b059eaf2a9e93d8d25a4cbe2b55dc"
+ },
+ "shrimp": {
+ "category": "nature",
+ "moji": "🦐",
+ "description": "shrimp",
+ "unicodeVersion": "9.0",
+ "digest": "fd240e3208f6221cf6e7053645d40767898ea430733e0ebc5b81a8f834be2eb1"
+ },
+ "squid": {
+ "category": "nature",
+ "moji": "🦑",
+ "description": "squid",
+ "unicodeVersion": "9.0",
+ "digest": "f483430d758e7432b8696b5f95bf606b17cb017ea0beb5dc97dcf7fae7ed2455"
+ },
+ "icecream": {
+ "category": "food",
+ "moji": "🍦",
+ "description": "soft ice cream",
+ "unicodeVersion": "6.0",
+ "digest": "434307d583d20429b1646cbe1bd8317a53f445cae61e8d8ff1258d3996e6b9fe"
+ },
+ "shaved_ice": {
+ "category": "food",
+ "moji": "🍧",
+ "description": "shaved ice",
+ "unicodeVersion": "6.0",
+ "digest": "5f3f65f3974f30d1c9557d2c4af3052c7548f534b854f964647cafc2b4ab73a8"
+ },
+ "ice_cream": {
+ "category": "food",
+ "moji": "🍨",
+ "description": "ice cream",
+ "unicodeVersion": "6.0",
+ "digest": "3294b57aa673511686ad1c6a01f6e4c0ecb0eb7d5472c3015c3271b4f6e16d50"
+ },
+ "doughnut": {
+ "category": "food",
+ "moji": "🍩",
+ "description": "doughnut",
+ "unicodeVersion": "6.0",
+ "digest": "f249df4adc65187348d3a57d110c672dbf9e5a4d7919db473aab71f24f85e9b6"
+ },
+ "cookie": {
+ "category": "food",
+ "moji": "🍪",
+ "description": "cookie",
+ "unicodeVersion": "6.0",
+ "digest": "246ade6def10ac3e98af1ba9517990a4b41e391b9f1d8323a333d4cb69acbe36"
+ },
+ "birthday": {
+ "category": "food",
+ "moji": "🎂",
+ "description": "birthday cake",
+ "unicodeVersion": "6.0",
+ "digest": "f8087a3df94702f990da6a6dd1a0f143f679aa84ea0d178e030dd13e9d414bfa"
+ },
+ "cake": {
+ "category": "food",
+ "moji": "🍰",
+ "description": "shortcake",
+ "unicodeVersion": "6.0",
+ "digest": "807cc6dd0621c1c4dbd5380191d056ce44ccd2b92dda0cad6ca1c57e19e9f785"
},
"chocolate_bar": {
"category": "food",
@@ -1623,12 +5956,425 @@
"unicodeVersion": "6.0",
"digest": "89fbf46c19d87b7d86c400a54929fc7c3a0c4bd2a7c19f76f31e47486080b37f"
},
- "christmas_tree": {
+ "candy": {
+ "category": "food",
+ "moji": "🍬",
+ "description": "candy",
+ "unicodeVersion": "6.0",
+ "digest": "7064f2eb0dc768e3deb1e6ebe449950eb5a72ea882fb13bb06e23e7e2012c740"
+ },
+ "lollipop": {
+ "category": "food",
+ "moji": "🍭",
+ "description": "lollipop",
+ "unicodeVersion": "6.0",
+ "digest": "6499b3140dcc958c4bb99a80ac0424a209d7a978138feb5b919db36443eb529f"
+ },
+ "custard": {
+ "category": "food",
+ "moji": "🍮",
+ "description": "custard",
+ "unicodeVersion": "6.0",
+ "digest": "9790383c5841ec63d87182fc0f4dd05862c973b0e1b9f2fc2c047654089a404c"
+ },
+ "honey_pot": {
+ "category": "food",
+ "moji": "🍯",
+ "description": "honey pot",
+ "unicodeVersion": "6.0",
+ "digest": "bc66ee9940f2c1af04e066e78d4a61bc261f1dca4419d028b133ea9bc42e24d4"
+ },
+ "baby_bottle": {
+ "category": "food",
+ "moji": "🍼",
+ "description": "baby bottle",
+ "unicodeVersion": "6.0",
+ "digest": "2bd1cb4a294c83eb07b6d12e2abf8ab42a5083941096dd11ee772cdb1b1e3091"
+ },
+ "milk": {
+ "category": "food",
+ "moji": "🥛",
+ "description": "glass of milk",
+ "unicodeVersion": "9.0",
+ "digest": "3f9229a2c754345be8e721dde032f289fa92c23a11cfd1afe6b38b44d34e435d"
+ },
+ "coffee": {
+ "category": "food",
+ "moji": "☕",
+ "description": "hot beverage",
+ "unicodeVersion": "4.0",
+ "digest": "bd09e4d36ebe4df49c695147a2d1ae91b6cbdd7eb7bb5066a1bada8ca2fa7c6f"
+ },
+ "tea": {
+ "category": "food",
+ "moji": "🍵",
+ "description": "teacup without handle",
+ "unicodeVersion": "6.0",
+ "digest": "520da660803cd133832badfa170c6795e2673b6881b6b52e22db3771c430cafa"
+ },
+ "sake": {
+ "category": "food",
+ "moji": "🍶",
+ "description": "sake bottle and cup",
+ "unicodeVersion": "6.0",
+ "digest": "bd09899bee1411e26464b5f0d86d69a3f57cfd6e3f557f0f87fcb61bd2fc51ba"
+ },
+ "champagne": {
+ "category": "food",
+ "moji": "🍾",
+ "description": "bottle with popping cork",
+ "unicodeVersion": "8.0",
+ "digest": "6e686856c9e39b9947ef669394e6621fffd2a91ebe8f21c2cdc06b06669d1160"
+ },
+ "wine_glass": {
+ "category": "food",
+ "moji": "🍷",
+ "description": "wine glass",
+ "unicodeVersion": "6.0",
+ "digest": "d7551c39ea933566603e8ccd18c9c116e8d4dd2dca14697f5d6f6c0dc481e05c"
+ },
+ "cocktail": {
+ "category": "food",
+ "moji": "🍸",
+ "description": "cocktail glass",
+ "unicodeVersion": "6.0",
+ "digest": "91b4e4dc85b87b50d85d4831a18de7dd952c45c427f46a1a2c55d0abf4c4f5dd"
+ },
+ "tropical_drink": {
+ "category": "food",
+ "moji": "🍹",
+ "description": "tropical drink",
+ "unicodeVersion": "6.0",
+ "digest": "085a51de7c6df9e8734450b0b7b30577c3afaed56cf02f6a481808c2d90a0c13"
+ },
+ "beer": {
+ "category": "food",
+ "moji": "🍺",
+ "description": "beer mug",
+ "unicodeVersion": "6.0",
+ "digest": "c7e45519f39d1cfb1c97d05bca80ee8881dca7aced770d3dac5f282f5bb34773"
+ },
+ "beers": {
+ "category": "food",
+ "moji": "🍻",
+ "description": "clinking beer mugs",
+ "unicodeVersion": "6.0",
+ "digest": "8f11a1397605165bfd346619faa5fcddfd1f6b4f9fc2ddc4756cd2518ed92062"
+ },
+ "champagne_glass": {
+ "category": "food",
+ "moji": "🥂",
+ "description": "clinking glasses",
+ "unicodeVersion": "9.0",
+ "digest": "8e59ae799d7c7844dc19f5fd4fbefebc34f597059373c94e8639a7ce73d13519"
+ },
+ "tumbler_glass": {
+ "category": "food",
+ "moji": "🥃",
+ "description": "tumbler glass",
+ "unicodeVersion": "9.0",
+ "digest": "41ca844a7ae31e28bac5320298ff16c2adf9124b9a649ce5112e47ddce42ab06"
+ },
+ "fork_knife_plate": {
+ "category": "food",
+ "moji": "🍽",
+ "description": "fork and knife with plate",
+ "unicodeVersion": "7.0",
+ "digest": "3161044fa7ac67ef1f09c35ecde7ca8eca471a36e3e67ccbaa3a42f35dd67f16"
+ },
+ "fork_and_knife": {
+ "category": "food",
+ "moji": "🍴",
+ "description": "fork and knife",
+ "unicodeVersion": "6.0",
+ "digest": "a22c9fabbcae702d4043e4bfab3f15cd96e585a291f93f820f01723c0465410c"
+ },
+ "spoon": {
+ "category": "food",
+ "moji": "🥄",
+ "description": "spoon",
+ "unicodeVersion": "9.0",
+ "digest": "c5fbd1bd2ca6ca2cf13a6b7bfaeba67305d21b2d86bba97e7d283ca1e9b1aacf"
+ },
+ "knife": {
+ "category": "objects",
+ "moji": "🔪",
+ "description": "hocho",
+ "unicodeVersion": "6.0",
+ "digest": "bf3934138e3dd112241807efbe2aa91ec9913fad890236276d4c36c710c400b8"
+ },
+ "amphora": {
+ "category": "objects",
+ "moji": "🏺",
+ "description": "amphora",
+ "unicodeVersion": "8.0",
+ "digest": "ce9f7d0bd6b4d04c033eb2b3b8c2d339e4a8d19ef46cb23e500cd2854578d4e5"
+ },
+ "earth_africa": {
"category": "nature",
- "moji": "🎄",
- "description": "christmas tree",
+ "moji": "🌍",
+ "description": "earth globe europe-africa",
"unicodeVersion": "6.0",
- "digest": "cb28845d8770cc86de0034f03e38e46b251fb5bd4357a923c107404e8c5116bb"
+ "digest": "597e652a0be2d59d9f0190423767a763500c724ac53321c1cb6fc7fc0f9b9e8c"
+ },
+ "earth_americas": {
+ "category": "nature",
+ "moji": "🌎",
+ "description": "earth globe americas",
+ "unicodeVersion": "6.0",
+ "digest": "b65c2ce55702e00286792a5007609bafdf1f184e2da5a8c6b949054534d5e8ad"
+ },
+ "earth_asia": {
+ "category": "nature",
+ "moji": "🌏",
+ "description": "earth globe asia-australia",
+ "unicodeVersion": "6.0",
+ "digest": "0334bd2fcfd55b0759c7bf900c7ef9a70fb3408ecb7762038e6b587d8226d204"
+ },
+ "globe_with_meridians": {
+ "category": "symbols",
+ "moji": "🌐",
+ "description": "globe with meridians",
+ "unicodeVersion": "6.0",
+ "digest": "e85db2d778b99bf7557d48fed2ff9ed1db94a615124b47d85ed5a3eeb5c3b554"
+ },
+ "map": {
+ "category": "objects",
+ "moji": "🗺",
+ "description": "world map",
+ "unicodeVersion": "7.0",
+ "digest": "8eb87e7238c5dca1b1b8efb181e42f0d91ca515d3e12dac67aafbe1028338d8e"
+ },
+ "japan": {
+ "category": "travel",
+ "moji": "🗾",
+ "description": "silhouette of japan",
+ "unicodeVersion": "6.0",
+ "digest": "a27fd17e252497aa0220540d778427dc5fba138b6adeac10b132feae8175d554"
+ },
+ "mountain_snow": {
+ "category": "travel",
+ "moji": "🏔",
+ "description": "snow capped mountain",
+ "unicodeVersion": "7.0",
+ "digest": "9b7e802436798fd7eb042bbe31cdb77c124196cd262dca3e671e5ad278fe742f"
+ },
+ "mountain": {
+ "category": "travel",
+ "moji": "⛰",
+ "description": "mountain",
+ "unicodeVersion": "5.2",
+ "digest": "5e0087bb9324c99b5b4f730b8878cadab69cd3af0f580df6c31490a7b7b0abe4"
+ },
+ "volcano": {
+ "category": "travel",
+ "moji": "🌋",
+ "description": "volcano",
+ "unicodeVersion": "6.0",
+ "digest": "75b53e25406d31b630fd1bb75c363044129f481f24f7d225a6d30eef5257f92c"
+ },
+ "mount_fuji": {
+ "category": "travel",
+ "moji": "🗻",
+ "description": "mount fuji",
+ "unicodeVersion": "6.0",
+ "digest": "dd27d0550d5df7dd376a43e56e0819a41c48f21cc89e58f36d290140c4effd5e"
+ },
+ "camping": {
+ "category": "travel",
+ "moji": "🏕",
+ "description": "camping",
+ "unicodeVersion": "7.0",
+ "digest": "70c596c5d9ab030e26b46c95e011a28050aa6082f4ba2b8b197f24915ce03c86"
+ },
+ "beach": {
+ "category": "travel",
+ "moji": "🏖",
+ "description": "beach with umbrella",
+ "unicodeVersion": "7.0",
+ "digest": "98bb54c59c818b30ae9024d85156424a345f2912ca2b37b0ef18f2ef60b96619"
+ },
+ "desert": {
+ "category": "travel",
+ "moji": "🏜",
+ "description": "desert",
+ "unicodeVersion": "7.0",
+ "digest": "c60bd12a5864c0789c2e8fb93a392a42600e08cc23450c716c0bd008c16e1c93"
+ },
+ "island": {
+ "category": "travel",
+ "moji": "🏝",
+ "description": "desert island",
+ "unicodeVersion": "7.0",
+ "digest": "9cd601f946f247ad80810f256b5c4f0c71658e9e52b974c3d8d36173eedcd05e"
+ },
+ "park": {
+ "category": "travel",
+ "moji": "🏞",
+ "description": "national park",
+ "unicodeVersion": "7.0",
+ "digest": "b49486510df4e66e1beb21abdf1eb7745dfb4381a3f76b3f2ffcb2966bf5f5c4"
+ },
+ "stadium": {
+ "category": "travel",
+ "moji": "🏟",
+ "description": "stadium",
+ "unicodeVersion": "7.0",
+ "digest": "807c4f6f19b9819ca3c846126ccfa2d24a2b00b66cb946e8be75536032426815"
+ },
+ "classical_building": {
+ "category": "travel",
+ "moji": "🏛",
+ "description": "classical building",
+ "unicodeVersion": "7.0",
+ "digest": "73e1b32e337042475e76fdbdb03c0b04588f626018bd81adce7f3183be907a92"
+ },
+ "construction_site": {
+ "category": "travel",
+ "moji": "🏗",
+ "description": "building construction",
+ "unicodeVersion": "7.0",
+ "digest": "5973b6f1b1c75fd083d975c2c11f68fff6583f10056418c699da1cd3049a5f89"
+ },
+ "homes": {
+ "category": "travel",
+ "moji": "🏘",
+ "description": "house buildings",
+ "unicodeVersion": "7.0",
+ "digest": "2ffdafabb89623b096e12f9a81936e699c436d0e948af6c1dd8786690b1a601b"
+ },
+ "house_abandoned": {
+ "category": "travel",
+ "moji": "🏚",
+ "description": "derelict house building",
+ "unicodeVersion": "7.0",
+ "digest": "0931ce0e42ca7206910a62452e1b7975aed4692d362c81bf62cafef25f2bcefa"
+ },
+ "house": {
+ "category": "travel",
+ "moji": "🏠",
+ "description": "house building",
+ "unicodeVersion": "6.0",
+ "digest": "6be52f020a7e12a3298044d270d9322742e930cc7543e2d6dfb9c26f25b529ec"
+ },
+ "house_with_garden": {
+ "category": "travel",
+ "moji": "🏡",
+ "description": "house with garden",
+ "unicodeVersion": "6.0",
+ "digest": "b62e44e69e1a04f88280518fd48c4870035f0abb5ae6a6664daa7cf005c8f8de"
+ },
+ "office": {
+ "category": "travel",
+ "moji": "🏢",
+ "description": "office building",
+ "unicodeVersion": "6.0",
+ "digest": "404b17445c4da0dc0ec8561604d741bb1c4f1aad8d7d49299249c9732fb33d40"
+ },
+ "post_office": {
+ "category": "travel",
+ "moji": "🏣",
+ "description": "japanese post office",
+ "unicodeVersion": "6.0",
+ "digest": "7dc4ef6e09bab68f31dfb7f594a6488b62c9dcb956b36ac2788c1fbefa908251"
+ },
+ "european_post_office": {
+ "category": "travel",
+ "moji": "🏤",
+ "description": "european post office",
+ "unicodeVersion": "6.0",
+ "digest": "664ed0206445f1511bc2ecdfaf77c3df14dfd4e98fd73b58c6272e54e4117810"
+ },
+ "hospital": {
+ "category": "travel",
+ "moji": "🏥",
+ "description": "hospital",
+ "unicodeVersion": "6.0",
+ "digest": "84895d822ef2e2a77b3703b80c5d5b29574f655b88420ef6f39ab3d93bb123df"
+ },
+ "bank": {
+ "category": "travel",
+ "moji": "🏦",
+ "description": "bank",
+ "unicodeVersion": "6.0",
+ "digest": "ec529c75f3ccf2110adbe912d06269357d84f831ba737eab90aa408d8097bb35"
+ },
+ "hotel": {
+ "category": "travel",
+ "moji": "🏨",
+ "description": "hotel",
+ "unicodeVersion": "6.0",
+ "digest": "7f04757da4f1a537cb92ac9a0537e3a7ebd90ae9e2c3e73ad79c95623b3126ef"
+ },
+ "love_hotel": {
+ "category": "travel",
+ "moji": "🏩",
+ "description": "love hotel",
+ "unicodeVersion": "6.0",
+ "digest": "05e846b25799923b3a85826f40d2d22f9e2ea35855620fdde4d1baec25cf5f25"
+ },
+ "convenience_store": {
+ "category": "travel",
+ "moji": "🏪",
+ "description": "convenience store",
+ "unicodeVersion": "6.0",
+ "digest": "07d3989157223a8249db3532a642050529831d47f05c0733fbe2cb6a6a780ea6"
+ },
+ "school": {
+ "category": "travel",
+ "moji": "🏫",
+ "description": "school",
+ "unicodeVersion": "6.0",
+ "digest": "d6cf41776c0b3c6e3a20d672b85ef91a65085dc7ee40aa4b0c94b0683f3ab2b4"
+ },
+ "department_store": {
+ "category": "travel",
+ "moji": "🏬",
+ "description": "department store",
+ "unicodeVersion": "6.0",
+ "digest": "0cbab31777aeecc148e54777e1a65e794eb4b5f45e0f8ecaffa990efd06a0fb2"
+ },
+ "factory": {
+ "category": "travel",
+ "moji": "🏭",
+ "description": "factory",
+ "unicodeVersion": "6.0",
+ "digest": "e71fc6d2fb903490f28565cbea6c3ca7384adc24aa0ba3ae481ca12255a015d3"
+ },
+ "japanese_castle": {
+ "category": "travel",
+ "moji": "🏯",
+ "description": "japanese castle",
+ "unicodeVersion": "6.0",
+ "digest": "4beaf1e9f6d7e25d3faa5076896f337fce68e75d25acdd91ceaceb9c15faa5eb"
+ },
+ "european_castle": {
+ "category": "travel",
+ "moji": "🏰",
+ "description": "european castle",
+ "unicodeVersion": "6.0",
+ "digest": "183e813391199158b855481acefea11061b1722e51f2d2880486782b7639598d"
+ },
+ "wedding": {
+ "category": "travel",
+ "moji": "💒",
+ "description": "wedding",
+ "unicodeVersion": "6.0",
+ "digest": "bdc97890b2ccd38285d4d9832e700c0cb99cf740305b37eac5cee1bf03137a92"
+ },
+ "tokyo_tower": {
+ "category": "travel",
+ "moji": "🗼",
+ "description": "tokyo tower",
+ "unicodeVersion": "6.0",
+ "digest": "e012cdbb4648219ccee443cc09fa2946b99dadb483aeca5a3fdee39270dd3061"
+ },
+ "statue_of_liberty": {
+ "category": "travel",
+ "moji": "🗽",
+ "description": "statue of liberty",
+ "unicodeVersion": "6.0",
+ "digest": "9779b56242c4eb3de2060b060ae39de21ad1082b1135ec9c29f9d1aca6bf13cb"
},
"church": {
"category": "travel",
@@ -1637,19 +6383,82 @@
"unicodeVersion": "5.2",
"digest": "5920057525f6b395d3aead6f44f5a1cbf76662fac740f993694afe8f482c0864"
},
- "cinema": {
- "category": "symbols",
- "moji": "🎦",
- "description": "cinema",
+ "mosque": {
+ "category": "travel",
+ "moji": "🕌",
+ "description": "mosque",
+ "unicodeVersion": "8.0",
+ "digest": "f15b137d0d23275694d6743602054d05334c9dfb15964378f38defddc8a25b2a"
+ },
+ "synagogue": {
+ "category": "travel",
+ "moji": "🕍",
+ "description": "synagogue",
+ "unicodeVersion": "8.0",
+ "digest": "07bcf08d94008462f001e6512e3ba3e9e70cfd57ac4e84e04b94e6f74684f51c"
+ },
+ "shinto_shrine": {
+ "category": "travel",
+ "moji": "⛩",
+ "description": "shinto shrine",
+ "unicodeVersion": "5.2",
+ "digest": "e3027766f283d86acb7f0730dd04cbda16bb6fa16c90edb40dad7f09f1bca3fe"
+ },
+ "kaaba": {
+ "category": "travel",
+ "moji": "🕋",
+ "description": "kaaba",
+ "unicodeVersion": "8.0",
+ "digest": "363ef4a89268542427e494f0dbe04f04eabad2849fa24be57a77eb55a3d45122"
+ },
+ "fountain": {
+ "category": "travel",
+ "moji": "⛲",
+ "description": "fountain",
+ "unicodeVersion": "5.2",
+ "digest": "f940be34d7db82c7dcf5e4343c05f74e5834f1123edd0382b9aa0c3b8b72e90d"
+ },
+ "tent": {
+ "category": "travel",
+ "moji": "⛺",
+ "description": "tent",
+ "unicodeVersion": "5.2",
+ "digest": "a2fc1e803dc0eef13ea7d3847e1e92a3d0790b1336a7ed5675ea60069fb76676"
+ },
+ "foggy": {
+ "category": "travel",
+ "moji": "🌁",
+ "description": "foggy",
"unicodeVersion": "6.0",
- "digest": "acfdea199d4ab48103e5491dd3ab0a616ffbef57641a07aef315273559ccf690"
+ "digest": "0ccc53edb0aba767c59682d74a29221f829297e334120d3b90e3030054698ec7"
},
- "circus_tent": {
- "category": "activity",
- "moji": "🎪",
- "description": "circus tent",
+ "night_with_stars": {
+ "category": "travel",
+ "moji": "🌃",
+ "description": "night with stars",
"unicodeVersion": "6.0",
- "digest": "5bc6aae497746b5af5cbc03d703df1754903cc71c25a2c7fc8a068292f5614fc"
+ "digest": "0ca3f52bf56337784d36c545285fce5777bfe6fb01631c3491e33fec61e12474"
+ },
+ "cityscape": {
+ "category": "travel",
+ "moji": "🏙",
+ "description": "cityscape",
+ "unicodeVersion": "7.0",
+ "digest": "1ae1932db38c72652e85dfe56dd173a37ed96b6913ec74f1718d19fd6ea948ac"
+ },
+ "sunrise_over_mountains": {
+ "category": "travel",
+ "moji": "🌄",
+ "description": "sunrise over mountains",
+ "unicodeVersion": "6.0",
+ "digest": "089412d5a9ce8f71fa184bc90cd9a092bfea41361a792cc6b9f94ac1bc741fb7"
+ },
+ "sunrise": {
+ "category": "travel",
+ "moji": "🌅",
+ "description": "sunrise",
+ "unicodeVersion": "6.0",
+ "digest": "5e1511462f5e0bfaaf865baa62eb7dd1f76ce22acebb0bd5ef27c55e3a69fed3"
},
"city_dusk": {
"category": "travel",
@@ -1665,124 +6474,544 @@
"unicodeVersion": "6.0",
"digest": "7da54c98e269c041a20dc94861338b546af78ffaa577249e14f1258e232ca5dc"
},
- "cityscape": {
+ "bridge_at_night": {
"category": "travel",
- "moji": "🏙",
- "description": "cityscape",
- "unicodeVersion": "7.0",
- "digest": "1ae1932db38c72652e85dfe56dd173a37ed96b6913ec74f1718d19fd6ea948ac"
+ "moji": "🌉",
+ "description": "bridge at night",
+ "unicodeVersion": "6.0",
+ "digest": "212feaa05b96bff46d9699d3e9f1d61f6fc0e228414534b1bf8f1383c591784c"
},
- "cl": {
+ "hotsprings": {
"category": "symbols",
- "moji": "🆑",
- "description": "squared cl",
+ "moji": "♨",
+ "description": "hot springs",
+ "unicodeVersion": "1.1",
+ "digest": "755da4733bacad870d226b5ec054c803368c4ab10ae577e193a3015ee25a8271"
+ },
+ "carousel_horse": {
+ "category": "travel",
+ "moji": "🎠",
+ "description": "carousel horse",
"unicodeVersion": "6.0",
- "digest": "071117bab8c92f8ea4b734b358d3591ef4b4df067514b80f747b6293efc77ec7"
+ "digest": "d8a609d98fab29e04443f12457a8c8c7fe321b3b940289f1c9fe55f711583b20"
},
- "clap": {
- "category": "people",
- "moji": "👏",
- "description": "clapping hands sign",
+ "ferris_wheel": {
+ "category": "travel",
+ "moji": "🎡",
+ "description": "ferris wheel",
"unicodeVersion": "6.0",
- "digest": "68fca08d9340cd18b061a9ceef10111b006df9f888b534dd9b307c490cdb045c"
+ "digest": "a2eabc2a9f677373e013a100fc0f3b1e55d9aab24fc77056ee2bfef7dfc19add"
},
- "clap_tone1": {
- "category": "people",
- "moji": "👏🏻",
- "description": "clapping hands sign tone 1",
- "unicodeVersion": "8.0",
- "digest": "dc842eb100206a92eab5cefadeb5dab004ee34d054b0adc02de27f525a0a724c"
+ "roller_coaster": {
+ "category": "travel",
+ "moji": "🎢",
+ "description": "roller coaster",
+ "unicodeVersion": "6.0",
+ "digest": "5c4c5d8639d4bbeab07bc46304e5233a95f379fad92e395d087afe5af00529fc"
},
- "clap_tone2": {
- "category": "people",
- "moji": "👏🏼",
- "description": "clapping hands sign tone 2",
- "unicodeVersion": "8.0",
- "digest": "6a92a954a6ea47ce0e42dceee82cd4220f710582f7589cb86037555f0a5e9dce"
+ "barber": {
+ "category": "objects",
+ "moji": "💈",
+ "description": "barber pole",
+ "unicodeVersion": "6.0",
+ "digest": "9ef01a8d9556863264c72b59b404f302f870b676a836ba3beb8892f745b40c80"
},
- "clap_tone3": {
- "category": "people",
- "moji": "👏🏽",
- "description": "clapping hands sign tone 3",
- "unicodeVersion": "8.0",
- "digest": "6b7dfeae569488df0bd85c16233abcf770bc2bb5942c178cbe5107e798a9ca88"
+ "circus_tent": {
+ "category": "activity",
+ "moji": "🎪",
+ "description": "circus tent",
+ "unicodeVersion": "6.0",
+ "digest": "5bc6aae497746b5af5cbc03d703df1754903cc71c25a2c7fc8a068292f5614fc"
},
- "clap_tone4": {
- "category": "people",
- "moji": "👏🏾",
- "description": "clapping hands sign tone 4",
- "unicodeVersion": "8.0",
- "digest": "2fa8961ad763675c6619b5f4137e912ce4126fb9b5df71d23c59b05e54533afa"
+ "steam_locomotive": {
+ "category": "travel",
+ "moji": "🚂",
+ "description": "steam locomotive",
+ "unicodeVersion": "6.0",
+ "digest": "479aa4a2c2704d79f642036eef9c8ddf00f8df17b9389a87d7d5f688827c7f56"
},
- "clap_tone5": {
- "category": "people",
- "moji": "👏🏿",
- "description": "clapping hands sign tone 5",
- "unicodeVersion": "8.0",
- "digest": "7b8b5e0befd920ac4e02ef1823b63c2513dbe58fe6471dc54b8265b75b4c8f41"
+ "railway_car": {
+ "category": "travel",
+ "moji": "🚃",
+ "description": "railway car",
+ "unicodeVersion": "6.0",
+ "digest": "5aaa2731f58c2a08c2c731cf361da3a9ea407d2754134dcacf14d9ea4cfb702f"
},
- "clapper": {
- "category": "activity",
- "moji": "🎬",
- "description": "clapper board",
+ "bullettrain_side": {
+ "category": "travel",
+ "moji": "🚄",
+ "description": "high-speed train",
"unicodeVersion": "6.0",
- "digest": "73820f057b2d7d50f6be4a51c0ebaa39a4e0463f0f1121471fb3816fdd05f5bd"
+ "digest": "401e85f01801e39f8325a96bdee7e27626fc4124d92eeb3e39227d78ef7d26c0"
},
- "classical_building": {
+ "bullettrain_front": {
"category": "travel",
- "moji": "🏛",
- "description": "classical building",
+ "moji": "🚅",
+ "description": "high-speed train with bullet nose",
+ "unicodeVersion": "6.0",
+ "digest": "b8cd48a543a5ed0cf750cfa8bcfa536e26b72a77e4b7f506041b623e9081fb69"
+ },
+ "train2": {
+ "category": "travel",
+ "moji": "🚆",
+ "description": "train",
+ "unicodeVersion": "6.0",
+ "digest": "4809681fd588ad64f82483ecb825bb16ff387e31f45e5fc5637f0c2547acd42f"
+ },
+ "metro": {
+ "category": "travel",
+ "moji": "🚇",
+ "description": "metro",
+ "unicodeVersion": "6.0",
+ "digest": "d5053b49a13908a38615c71096d9377d6e8a091f169171eb32d0ab1f209a3424"
+ },
+ "light_rail": {
+ "category": "travel",
+ "moji": "🚈",
+ "description": "light rail",
+ "unicodeVersion": "6.0",
+ "digest": "f7ee16c0a5853c542570a684e25e3fc388e5f52ef8fe7ffaa1120ad7de74a3bd"
+ },
+ "station": {
+ "category": "travel",
+ "moji": "🚉",
+ "description": "station",
+ "unicodeVersion": "6.0",
+ "digest": "a4e784b6c4238269932befca55cd7b41af85fc899f023a49c7f1ceaf81652496"
+ },
+ "tram": {
+ "category": "travel",
+ "moji": "🚊",
+ "description": "tram",
+ "unicodeVersion": "6.0",
+ "digest": "ab9d03c841a0ef60218aae50fe2b2e0ee045052b8b8f73c001c4203199209ba0"
+ },
+ "monorail": {
+ "category": "travel",
+ "moji": "🚝",
+ "description": "monorail",
+ "unicodeVersion": "6.0",
+ "digest": "551b6d88c465c54bd2fc03eb396a6afbc68e24aa41c07203c84fd36e31608836"
+ },
+ "mountain_railway": {
+ "category": "travel",
+ "moji": "🚞",
+ "description": "mountain railway",
+ "unicodeVersion": "6.0",
+ "digest": "3ce97b097df39e9e46eb09d1d544b1bd45596a232fd9163b8f02c37ecaffe794"
+ },
+ "train": {
+ "category": "travel",
+ "moji": "🚋",
+ "description": "Tram Car",
+ "unicodeVersion": "6.0",
+ "digest": "2b991f1b04ea9a364de103d751d4e3ca7d263b29e169517cf0b6bc098c0544fd"
+ },
+ "bus": {
+ "category": "travel",
+ "moji": "🚌",
+ "description": "bus",
+ "unicodeVersion": "6.0",
+ "digest": "70534ef30162b8af4b548c3fc0f4d7964e01c8bcb2b52c3b2dc2df4854aa308c"
+ },
+ "oncoming_bus": {
+ "category": "travel",
+ "moji": "🚍",
+ "description": "oncoming bus",
+ "unicodeVersion": "6.0",
+ "digest": "7fba3ec5ef62299568f19384826914c3dd1b4b7d2f27ee575a451e8a764f60a0"
+ },
+ "trolleybus": {
+ "category": "travel",
+ "moji": "🚎",
+ "description": "trolleybus",
+ "unicodeVersion": "6.0",
+ "digest": "587261051e9e8a6c1354406c62830d8895eaa83b1d9dc6df7516a835788805ec"
+ },
+ "minibus": {
+ "category": "travel",
+ "moji": "🚐",
+ "description": "minibus",
+ "unicodeVersion": "6.0",
+ "digest": "7e71052ea22df57fa12c7e3829924ebd3f144b9d71301c34755c10d33ddee697"
+ },
+ "ambulance": {
+ "category": "travel",
+ "moji": "🚑",
+ "description": "ambulance",
+ "unicodeVersion": "6.0",
+ "digest": "1ca176a46c2f020e0386e7a0ab662711f66af1683ae165c06853ec5b6bcc4cf1"
+ },
+ "fire_engine": {
+ "category": "travel",
+ "moji": "🚒",
+ "description": "fire engine",
+ "unicodeVersion": "6.0",
+ "digest": "c81e1df702689c4c3895862e2da1092f30f5c415c0e9726f0b2c5c42ed9660ce"
+ },
+ "police_car": {
+ "category": "travel",
+ "moji": "🚓",
+ "description": "police car",
+ "unicodeVersion": "6.0",
+ "digest": "38e3b0bdee599b71a5f556dc86b12aa01df38dcf533179515bbdbf2512828548"
+ },
+ "oncoming_police_car": {
+ "category": "travel",
+ "moji": "🚔",
+ "description": "oncoming police car",
+ "unicodeVersion": "6.0",
+ "digest": "2c13ed1f79d19a50de28061b822b76242ec2ee979a838aa85833a3dc361a3523"
+ },
+ "taxi": {
+ "category": "travel",
+ "moji": "🚕",
+ "description": "taxi",
+ "unicodeVersion": "6.0",
+ "digest": "260b37ae31fcfe5b30682f0592ec4e32ce308f9cb9574daa532099c47735252b"
+ },
+ "oncoming_taxi": {
+ "category": "travel",
+ "moji": "🚖",
+ "description": "oncoming taxi",
+ "unicodeVersion": "6.0",
+ "digest": "4cf0f88b9520d40772b743dcf2e618c49c5f74fa57fd46cda4add3bee9e18ef3"
+ },
+ "red_car": {
+ "category": "travel",
+ "moji": "🚗",
+ "description": "automobile",
+ "unicodeVersion": "6.0",
+ "digest": "db3f7e0dd1e1aa92541afc4db067e0c6bf9d325d912b1bafce182e683f68a06e"
+ },
+ "oncoming_automobile": {
+ "category": "travel",
+ "moji": "🚘",
+ "description": "oncoming automobile",
+ "unicodeVersion": "6.0",
+ "digest": "a51563ac9f0674e9d398a0da88c94865583f7478b222717e9187064707ec792b"
+ },
+ "blue_car": {
+ "category": "travel",
+ "moji": "🚙",
+ "description": "recreational vehicle",
+ "unicodeVersion": "6.0",
+ "digest": "c0faa7f7d4344391478aba15cb4cbfbbe1eb5fd5cdcdb9afdb7d49984abb8108"
+ },
+ "truck": {
+ "category": "travel",
+ "moji": "🚚",
+ "description": "delivery truck",
+ "unicodeVersion": "6.0",
+ "digest": "c58cdc9790438031e3acd58bd224b83428a6e89be5cec3af01233d257d7b54a6"
+ },
+ "articulated_lorry": {
+ "category": "travel",
+ "moji": "🚛",
+ "description": "articulated lorry",
+ "unicodeVersion": "6.0",
+ "digest": "35d63d2bb71429a9da433fa2464827f53996a738e22efd275b2326a6cc30063c"
+ },
+ "tractor": {
+ "category": "travel",
+ "moji": "🚜",
+ "description": "tractor",
+ "unicodeVersion": "6.0",
+ "digest": "0bec7945ef52027a634bfbe75b71902e31c03a8d91814f3c37c2d1dbfa21de10"
+ },
+ "race_car": {
+ "category": "travel",
+ "moji": "🏎",
+ "description": "racing car",
"unicodeVersion": "7.0",
- "digest": "73e1b32e337042475e76fdbdb03c0b04588f626018bd81adce7f3183be907a92"
+ "digest": "183bf5e7abb9e7c7e94a08f212040d6dbe24633c2fb25a452096a2062c18acc6"
},
- "clipboard": {
- "category": "objects",
- "moji": "📋",
- "description": "clipboard",
+ "motorcycle": {
+ "category": "travel",
+ "moji": "🏍",
+ "description": "racing motorcycle",
+ "unicodeVersion": "7.0",
+ "digest": "b30c2e98f3a439b0c0b6481a5025ee3d380c35a7aa43d7b46c3e948fe732613c"
+ },
+ "motor_scooter": {
+ "category": "travel",
+ "moji": "🛵",
+ "description": "motor scooter",
+ "unicodeVersion": "9.0",
+ "digest": "cb76bb0e2f94960426a85f273e2a74046eefebd0b6a265bafecfb8850f0a0c6c"
+ },
+ "bike": {
+ "category": "travel",
+ "moji": "🚲",
+ "description": "bicycle",
"unicodeVersion": "6.0",
- "digest": "d3d42f1ff9c8dacfd8219d9563e3fab709290d887695d3bf0a0e51afac7b7149"
+ "digest": "65d94129ac0445495a0cf55f529f416682fa7a1dc7a16b275e3c267a132777ee"
},
- "clock": {
+ "scooter": {
+ "category": "travel",
+ "moji": "🛴",
+ "description": "scooter",
+ "unicodeVersion": "9.0",
+ "digest": "baa3060602995716fba048ed2be1559712abc6edc3d8822b4ae6c0fe185197e4"
+ },
+ "busstop": {
+ "category": "travel",
+ "moji": "🚏",
+ "description": "bus stop",
+ "unicodeVersion": "6.0",
+ "digest": "ccb2c93fe9f2a03c0674d921bb3a6a6c80e2eef64a274bd31b1efb3147785e6f"
+ },
+ "motorway": {
+ "category": "travel",
+ "moji": "🛣",
+ "description": "motorway",
+ "unicodeVersion": "7.0",
+ "digest": "96694ecc0e48e7b0ab1e0a8fdf5e75169ae404fad47620986dfd120571e39e58"
+ },
+ "railway_track": {
+ "category": "travel",
+ "moji": "🛤",
+ "description": "railway track",
+ "unicodeVersion": "7.0",
+ "digest": "2a36d0f6b16ecb70328a34502c639ce931fcb558c72fad0118b7380a13de2076"
+ },
+ "oil": {
"category": "objects",
- "moji": "🕰",
- "description": "mantlepiece clock",
+ "moji": "🛢",
+ "description": "oil drum",
"unicodeVersion": "7.0",
- "digest": "c62364007eb0e3a3c873476ff4b97c832947769502944f11875fab15c41dbe36"
+ "digest": "d2307ad3c2e74c0c5c2594d34e77e0a31a5ef5c0c052a147f24f119054697e1e"
},
- "clock1": {
- "category": "symbols",
- "moji": "🕐",
- "description": "clock face one oclock",
+ "fuelpump": {
+ "category": "travel",
+ "moji": "⛽",
+ "description": "fuel pump",
+ "unicodeVersion": "5.2",
+ "digest": "7c8c6c22de83e52ef399607cd6b17b535bf5e3a0aa29a9739f20c6bfe64d52d6"
+ },
+ "rotating_light": {
+ "category": "travel",
+ "moji": "🚨",
+ "description": "police cars revolving light",
"unicodeVersion": "6.0",
- "digest": "633f923dc3e76cd6e502f60e7445c81dc00372bb9aaae80e702c601ddcfb4821"
+ "digest": "353edbbfb893497b28d753273a11eb94ae67136365dae826ad5c7ac5a37b0d08"
},
- "clock10": {
- "category": "symbols",
- "moji": "🕙",
- "description": "clock face ten oclock",
+ "traffic_light": {
+ "category": "travel",
+ "moji": "🚥",
+ "description": "horizontal traffic light",
"unicodeVersion": "6.0",
- "digest": "d993967e8116003d6de796cba9caf743297fdf8f900bc8d1f0b7eb9bd3a5194f"
+ "digest": "7ba4ce5e0bab82e8a78afb05e7705c1dfcaebba6bce6eec0dae63fd62896cd38"
},
- "clock1030": {
- "category": "symbols",
- "moji": "🕥",
- "description": "clock face ten-thirty",
+ "vertical_traffic_light": {
+ "category": "travel",
+ "moji": "🚦",
+ "description": "vertical traffic light",
"unicodeVersion": "6.0",
- "digest": "fe6cdac5e9d3f8177ab18efd7f2acce65314964872fd659b7b498049bbf1a0eb"
+ "digest": "ff094eb787c114159f19f263994531db073cd9b3bd98c55fe4913bfa9bda53ec"
},
- "clock11": {
+ "octagonal_sign": {
"category": "symbols",
- "moji": "🕚",
- "description": "clock face eleven oclock",
+ "moji": "🛑",
+ "description": "octagonal sign",
+ "unicodeVersion": "9.0",
+ "digest": "0b138b4b190a12e0601bf71573378d5cce2012d72b9606b01a572ad7f7631c9d"
+ },
+ "construction": {
+ "category": "travel",
+ "moji": "🚧",
+ "description": "construction sign",
"unicodeVersion": "6.0",
- "digest": "2e676cc1f8a7dcbe76ba414a2a2a4b5724a0cda372d936cb869a4cfa540b0728"
+ "digest": "3a406d5baeede21f5ae078a4a641ee42d36c1b877a97bb10191fec729a6c0fb1"
},
- "clock1130": {
- "category": "symbols",
- "moji": "🕦",
- "description": "clock face eleven-thirty",
+ "anchor": {
+ "category": "travel",
+ "moji": "⚓",
+ "description": "anchor",
+ "unicodeVersion": "4.1",
+ "digest": "b5f2eacb26d6e550286eb7c01beb0bd5072baf33f6c68c8d7110f634a8b2fdf6"
+ },
+ "sailboat": {
+ "category": "travel",
+ "moji": "⛵",
+ "description": "sailboat",
+ "unicodeVersion": "5.2",
+ "digest": "252e917b1bc71019256db272af716e77bbe5839e4e5b77416ee566657ec3ffaf"
+ },
+ "canoe": {
+ "category": "travel",
+ "moji": "🛶",
+ "description": "canoe",
+ "unicodeVersion": "9.0",
+ "digest": "20d70c92c33a8bc6629e6d0b87bfca0dbbc9c32458d253ee62eb0845398fe095"
+ },
+ "speedboat": {
+ "category": "travel",
+ "moji": "🚤",
+ "description": "speedboat",
"unicodeVersion": "6.0",
- "digest": "0b95e14406f4b60ba855a4b2d7655a9af98601ce0306f1d113569e033ba054f8"
+ "digest": "54ce5a81c70e2f1e57a8d0f90829db96d146d84911462b8412e1cb6ee62ddf22"
+ },
+ "cruise_ship": {
+ "category": "travel",
+ "moji": "🛳",
+ "description": "passenger ship",
+ "unicodeVersion": "7.0",
+ "digest": "8dc923a465e8183b0a1410f810825c190e494c77b01de7c2f5ee0a64f7580206"
+ },
+ "ferry": {
+ "category": "travel",
+ "moji": "⛴",
+ "description": "ferry",
+ "unicodeVersion": "5.2",
+ "digest": "977c47292fd51ecd5d558a309405b15fc64b9b8edbedf95d8af30fa40636e6d0"
+ },
+ "motorboat": {
+ "category": "travel",
+ "moji": "🛥",
+ "description": "motorboat",
+ "unicodeVersion": "7.0",
+ "digest": "edee0a9d9d7b9b9201fc41d5b5a38c939e5f6e2e7baa7891e495b91dc5198e65"
+ },
+ "ship": {
+ "category": "travel",
+ "moji": "🚢",
+ "description": "ship",
+ "unicodeVersion": "6.0",
+ "digest": "9d0c13fcfcefd0a07424396626cc955e0b5e6cdf8b6d7d3ae1c1f746826af89b"
+ },
+ "airplane": {
+ "category": "travel",
+ "moji": "✈",
+ "description": "airplane",
+ "unicodeVersion": "1.1",
+ "digest": "b223b20d905ace04c602f7fcf22eb66c8defb22f2589434a83ae39e1622dcc67"
+ },
+ "airplane_small": {
+ "category": "travel",
+ "moji": "🛩",
+ "description": "small airplane",
+ "unicodeVersion": "7.0",
+ "digest": "ad2f6b4f6f141bd184c743c31fa0eadbef7653f1915b410c8144293dbb4b3720"
+ },
+ "airplane_departure": {
+ "category": "travel",
+ "moji": "🛫",
+ "description": "airplane departure",
+ "unicodeVersion": "7.0",
+ "digest": "c371879cd5b6bd5df2954f5c6c7eb5b07b3358253e8b35cd806ca21e2af2d794"
+ },
+ "airplane_arriving": {
+ "category": "travel",
+ "moji": "🛬",
+ "description": "airplane arriving",
+ "unicodeVersion": "7.0",
+ "digest": "a8ea037bc27226bd7e7ce07fdcedfcc74d0cd9c99737c93f2a588066c01fe1fe"
+ },
+ "seat": {
+ "category": "travel",
+ "moji": "💺",
+ "description": "seat",
+ "unicodeVersion": "6.0",
+ "digest": "ef4b820995bafb53c28877312060b1b6ef1d2e5d65268f9942ac3567914ef2da"
+ },
+ "helicopter": {
+ "category": "travel",
+ "moji": "🚁",
+ "description": "helicopter",
+ "unicodeVersion": "6.0",
+ "digest": "e5cacdf04612e3e2bb7a1c8f6968c2dd5b0b715ee2bdbfa703d5d0ddedf6be5e"
+ },
+ "suspension_railway": {
+ "category": "travel",
+ "moji": "🚟",
+ "description": "suspension railway",
+ "unicodeVersion": "6.0",
+ "digest": "8c3f5852d6b7e363ef8dc14c483154ed7b65456aaf6cbfb16b3f46539de17c8d"
+ },
+ "mountain_cableway": {
+ "category": "travel",
+ "moji": "🚠",
+ "description": "mountain cableway",
+ "unicodeVersion": "6.0",
+ "digest": "22969301dc7395450c11ba2c81af096b2ce98da13786109dee70d801563a59b5"
+ },
+ "aerial_tramway": {
+ "category": "travel",
+ "moji": "🚡",
+ "description": "aerial tramway",
+ "unicodeVersion": "6.0",
+ "digest": "716dae206b786d985ddfa6b311369a708d00539f35b2612500afb19ac537261d"
+ },
+ "satellite_orbital": {
+ "category": "travel",
+ "moji": "🛰",
+ "description": "satellite",
+ "unicodeVersion": "7.0",
+ "digest": "f80a557315729acf11186808c9bf031570a12f34c8da29e6f4506d732609d541"
+ },
+ "rocket": {
+ "category": "travel",
+ "moji": "🚀",
+ "description": "rocket",
+ "unicodeVersion": "6.0",
+ "digest": "136f56b7d54596e10ba226a05a8f4628eba967d8fc90d55c115bdf4366d102d8"
+ },
+ "bellhop": {
+ "category": "objects",
+ "moji": "🛎",
+ "description": "bellhop bell",
+ "unicodeVersion": "7.0",
+ "digest": "9ea748fc595b9bdc1f012b38d2b86d42092baa8d4c58dc38040f624c0a893f2a"
+ },
+ "hourglass": {
+ "category": "objects",
+ "moji": "⌛",
+ "description": "hourglass",
+ "unicodeVersion": "1.1",
+ "digest": "88925df394060ad7e8285bc7cc6cdb3c54453316b75658c780bb956ca812d2fc"
+ },
+ "hourglass_flowing_sand": {
+ "category": "objects",
+ "moji": "⏳",
+ "description": "hourglass with flowing sand",
+ "unicodeVersion": "6.0",
+ "digest": "899fa78157223e27acf260c2cd902646b7271087aabd4724a2d05095484ac724"
+ },
+ "watch": {
+ "category": "objects",
+ "moji": "⌚",
+ "description": "watch",
+ "unicodeVersion": "1.1",
+ "digest": "1e540e8c6856ebfab897c71132525d2f3a1a51513d86423b862116515489f55b"
+ },
+ "alarm_clock": {
+ "category": "objects",
+ "moji": "⏰",
+ "description": "alarm clock",
+ "unicodeVersion": "6.0",
+ "digest": "b125863048df0f332c2af68df61d919d3ff61863bced1aca9269759aff4dfe10"
+ },
+ "stopwatch": {
+ "category": "objects",
+ "moji": "⏱",
+ "description": "stopwatch",
+ "unicodeVersion": "6.0",
+ "digest": "162489af83ccc7e09349637fa9e23b97a22208b05ff6bfbd31271a50c3745ee9"
+ },
+ "timer": {
+ "category": "objects",
+ "moji": "⏲",
+ "description": "timer clock",
+ "unicodeVersion": "6.0",
+ "digest": "b94e3cdd84834063f72e333339b27f5aeaa2e8b3082eff51a871d706f0038349"
+ },
+ "clock": {
+ "category": "objects",
+ "moji": "🕰",
+ "description": "mantlepiece clock",
+ "unicodeVersion": "7.0",
+ "digest": "c62364007eb0e3a3c873476ff4b97c832947769502944f11875fab15c41dbe36"
},
"clock12": {
"category": "symbols",
@@ -1798,6 +7027,13 @@
"unicodeVersion": "6.0",
"digest": "112ac4095b40ea4fffb33c0341e6bdfff09fca08b4c748eb7ece8544111d02e1"
},
+ "clock1": {
+ "category": "symbols",
+ "moji": "🕐",
+ "description": "clock face one oclock",
+ "unicodeVersion": "6.0",
+ "digest": "633f923dc3e76cd6e502f60e7445c81dc00372bb9aaae80e702c601ddcfb4821"
+ },
"clock130": {
"category": "symbols",
"moji": "🕜",
@@ -1917,26 +7153,173 @@
"unicodeVersion": "6.0",
"digest": "6a9e6a5775f11cea55103d4c3c02fef87da6196c4d4b58b91820b0074fabfa67"
},
- "closed_book": {
- "category": "objects",
- "moji": "📕",
- "description": "closed book",
+ "clock10": {
+ "category": "symbols",
+ "moji": "🕙",
+ "description": "clock face ten oclock",
"unicodeVersion": "6.0",
- "digest": "2b60f7ca436be9aa12cc95d9733e3c72cf36ca7c98a83be70748d1452fa758da"
+ "digest": "d993967e8116003d6de796cba9caf743297fdf8f900bc8d1f0b7eb9bd3a5194f"
},
- "closed_lock_with_key": {
+ "clock1030": {
+ "category": "symbols",
+ "moji": "🕥",
+ "description": "clock face ten-thirty",
+ "unicodeVersion": "6.0",
+ "digest": "fe6cdac5e9d3f8177ab18efd7f2acce65314964872fd659b7b498049bbf1a0eb"
+ },
+ "clock11": {
+ "category": "symbols",
+ "moji": "🕚",
+ "description": "clock face eleven oclock",
+ "unicodeVersion": "6.0",
+ "digest": "2e676cc1f8a7dcbe76ba414a2a2a4b5724a0cda372d936cb869a4cfa540b0728"
+ },
+ "clock1130": {
+ "category": "symbols",
+ "moji": "🕦",
+ "description": "clock face eleven-thirty",
+ "unicodeVersion": "6.0",
+ "digest": "0b95e14406f4b60ba855a4b2d7655a9af98601ce0306f1d113569e033ba054f8"
+ },
+ "new_moon": {
+ "category": "nature",
+ "moji": "🌑",
+ "description": "new moon symbol",
+ "unicodeVersion": "6.0",
+ "digest": "bb7c1576993e7aed13ae107a4f51c41aa1e811038c6c86a82388c8f6fa05dd72"
+ },
+ "waxing_crescent_moon": {
+ "category": "nature",
+ "moji": "🌒",
+ "description": "waxing crescent moon symbol",
+ "unicodeVersion": "6.0",
+ "digest": "a3534c77cf0a8da83fc2cef14481983bafc745e35da96231259dc926cd15937d"
+ },
+ "first_quarter_moon": {
+ "category": "nature",
+ "moji": "🌓",
+ "description": "first quarter moon symbol",
+ "unicodeVersion": "6.0",
+ "digest": "8bcc5d70d27f52098378fc800041429f726323ee840276c7901f4b525778a8f2"
+ },
+ "waxing_gibbous_moon": {
+ "category": "nature",
+ "moji": "🌔",
+ "description": "waxing gibbous moon symbol",
+ "unicodeVersion": "6.0",
+ "digest": "46fc534be196723eabfe1a8be62217c1cff70e2ea806ff5bc15e9e09c116d9c1"
+ },
+ "full_moon": {
+ "category": "nature",
+ "moji": "🌕",
+ "description": "full moon symbol",
+ "unicodeVersion": "6.0",
+ "digest": "094a0a8bbf01f188d48c6bd1bbb035be622f2046d8b0c1a1252a96424e95d856"
+ },
+ "waning_gibbous_moon": {
+ "category": "nature",
+ "moji": "🌖",
+ "description": "waning gibbous moon symbol",
+ "unicodeVersion": "6.0",
+ "digest": "bba224edaa61c1f00f4ea0679ebb96e15090c2948463bc7414734fd13307a3cc"
+ },
+ "last_quarter_moon": {
+ "category": "nature",
+ "moji": "🌗",
+ "description": "last quarter moon symbol",
+ "unicodeVersion": "6.0",
+ "digest": "7801bf738898b75b09c7ee3f89d71fb11f41bf838f2766b8e80c1028b2873f88"
+ },
+ "waning_crescent_moon": {
+ "category": "nature",
+ "moji": "🌘",
+ "description": "waning crescent moon symbol",
+ "unicodeVersion": "6.0",
+ "digest": "5790b3f1f581dd7e5480978f31a8c2ed67bca238a2f26eb6f415a2dc3b6ff7c5"
+ },
+ "crescent_moon": {
+ "category": "nature",
+ "moji": "🌙",
+ "description": "crescent moon",
+ "unicodeVersion": "6.0",
+ "digest": "bab44314af40c16b245f2e91b2cec98592cddda05630012ac9d6554e1d9b8b43"
+ },
+ "new_moon_with_face": {
+ "category": "nature",
+ "moji": "🌚",
+ "description": "new moon with face",
+ "unicodeVersion": "6.0",
+ "digest": "7d341f6f48648d0c4c45677509d3aac49c7b38162a06d28540fca49fb3ec9de6"
+ },
+ "first_quarter_moon_with_face": {
+ "category": "nature",
+ "moji": "🌛",
+ "description": "first quarter moon with face",
+ "unicodeVersion": "6.0",
+ "digest": "a878335d845f1ec830614307fe3d48e346730ec62d3334687aaef43d4a9033e6"
+ },
+ "last_quarter_moon_with_face": {
+ "category": "nature",
+ "moji": "🌜",
+ "description": "last quarter moon with face",
+ "unicodeVersion": "6.0",
+ "digest": "e1e5678ea54dfafb83bb94879150bc43c495dc546be92c8780469f24b52d036e"
+ },
+ "thermometer": {
"category": "objects",
- "moji": "🔐",
- "description": "closed lock with key",
+ "moji": "🌡",
+ "description": "thermometer",
+ "unicodeVersion": "7.0",
+ "digest": "4b54cd4fc758bfc9e8830d36726ba06a0ac9e0d0d397ecba99599c9bde44f4e5"
+ },
+ "sunny": {
+ "category": "nature",
+ "moji": "☀",
+ "description": "black sun with rays",
+ "unicodeVersion": "1.1",
+ "digest": "254e2e15e1e548aeb54048217501d7da60f57ebe8c9de2e61e84e0714deba7a4"
+ },
+ "full_moon_with_face": {
+ "category": "nature",
+ "moji": "🌝",
+ "description": "full moon with face",
"unicodeVersion": "6.0",
- "digest": "5772854e275a722c97338858e416961e9812c19a6e908323f02d400158fbd6da"
+ "digest": "aeccdf5baf685650ee34da23f14cb4d659598c44c260a8f549489cbed1d46058"
},
- "closed_umbrella": {
- "category": "people",
- "moji": "🌂",
- "description": "closed umbrella",
+ "sun_with_face": {
+ "category": "nature",
+ "moji": "🌞",
+ "description": "sun with face",
"unicodeVersion": "6.0",
- "digest": "464550b8a3f71825b81ba11f158b815dd54d33e010c1bc1ba67ea196efcbccb3"
+ "digest": "631ad6d36e45769ebfe03c3d9fc18d5ad8f333c58ed7f92dcc5dcb8bf7f6321e"
+ },
+ "star": {
+ "category": "nature",
+ "moji": "⭐",
+ "description": "white medium star",
+ "unicodeVersion": "5.1",
+ "digest": "3dc3b69f9789146c64cd333666f35ce1e1efdd4fe335f6b8574685015bf8bd09"
+ },
+ "star2": {
+ "category": "nature",
+ "moji": "🌟",
+ "description": "glowing star",
+ "unicodeVersion": "6.0",
+ "digest": "c242d4e9c64d0ba3d8b5e3c83888ee4561c4250e48bd72f80d3264497a66ce77"
+ },
+ "stars": {
+ "category": "travel",
+ "moji": "🌠",
+ "description": "shooting star",
+ "unicodeVersion": "6.0",
+ "digest": "46bfa86253fb531e4357590f5244a88c3713926d1f28349ca641705dc069265f"
+ },
+ "milky_way": {
+ "category": "travel",
+ "moji": "🌌",
+ "description": "milky way",
+ "unicodeVersion": "6.0",
+ "digest": "6664f60e65321fccf491333caca68f961acfdd35a24f299e5909369a94816a6b"
},
"cloud": {
"category": "nature",
@@ -1945,12 +7328,40 @@
"unicodeVersion": "1.1",
"digest": "5a44592a6e7185d800b540d087049b75c1a8fd706725c980001633f64dad1472"
},
- "cloud_lightning": {
+ "partly_sunny": {
"category": "nature",
- "moji": "🌩",
- "description": "cloud with lightning",
+ "moji": "⛅",
+ "description": "sun behind cloud",
+ "unicodeVersion": "5.2",
+ "digest": "3e3e120cd4b1fc10548064d7cc529ea3c04eec3f8ac457b90628c119ba62d1f6"
+ },
+ "thunder_cloud_rain": {
+ "category": "nature",
+ "moji": "⛈",
+ "description": "thunder cloud and rain",
+ "unicodeVersion": "5.2",
+ "digest": "c1d9417ce640885540743b4fdb7df6efcccb6a04a31a1c62780b4c952c9f11d4"
+ },
+ "white_sun_small_cloud": {
+ "category": "nature",
+ "moji": "🌤",
+ "description": "white sun with small cloud",
"unicodeVersion": "7.0",
- "digest": "6e0db4d854dfb78548f458630b0f66a2a5bfa415116d87e89c9ee3c1595eccdb"
+ "digest": "7f6a12cec242c9fd4ece3a014eb12f771b4d5195280783ad771b5110c444c028"
+ },
+ "white_sun_cloud": {
+ "category": "nature",
+ "moji": "🌥",
+ "description": "white sun behind cloud",
+ "unicodeVersion": "7.0",
+ "digest": "78c9ade346888e8758e56107bed5bd0a16b4da60ef591cb71e1c68625feec8c8"
+ },
+ "white_sun_rain_cloud": {
+ "category": "nature",
+ "moji": "🌦",
+ "description": "white sun behind cloud with rain",
+ "unicodeVersion": "7.0",
+ "digest": "7d95f929a5679e52f4c9f93d2fe87d33524e38ab08115cd9a20aa481611f83ab"
},
"cloud_rain": {
"category": "nature",
@@ -1966,6 +7377,13 @@
"unicodeVersion": "7.0",
"digest": "34fadb93556a1c2b94104ba4b533b0a2b56399f41f4d4e9f4898a8c8add204b6"
},
+ "cloud_lightning": {
+ "category": "nature",
+ "moji": "🌩",
+ "description": "cloud with lightning",
+ "unicodeVersion": "7.0",
+ "digest": "6e0db4d854dfb78548f458630b0f66a2a5bfa415116d87e89c9ee3c1595eccdb"
+ },
"cloud_tornado": {
"category": "nature",
"moji": "🌪",
@@ -1973,47 +7391,89 @@
"unicodeVersion": "7.0",
"digest": "d7ff0075ec6ad30866c1f44d6b091e11e9d56ec5395481f9372edf08cfb7e002"
},
- "clown": {
- "category": "people",
- "moji": "🤡",
- "description": "clown face",
- "unicodeVersion": "9.0",
- "digest": "4cabd73ae323f53200eb179e177ffbcc984f07847b71912f0c2874fa9c5e53f3"
+ "fog": {
+ "category": "nature",
+ "moji": "🌫",
+ "description": "fog",
+ "unicodeVersion": "7.0",
+ "digest": "d216852000dd40e0f8b4c407368631b60a56d8eac32832461b303cc8f4d47488"
},
- "clubs": {
+ "wind_blowing_face": {
+ "category": "nature",
+ "moji": "🌬",
+ "description": "wind blowing face",
+ "unicodeVersion": "7.0",
+ "digest": "acb691375579ce301ce94a0c9f23bebcac90139e2c3cea8aa8c6cb3b581e8ae3"
+ },
+ "cyclone": {
"category": "symbols",
- "moji": "♣",
- "description": "black club suit",
- "unicodeVersion": "1.1",
- "digest": "eca840fc5c181df26e30df8ac9de5303c534d7532d86a4c4f29e029ebb1eb18d"
+ "moji": "🌀",
+ "description": "cyclone",
+ "unicodeVersion": "6.0",
+ "digest": "ead05cbe9adcf38310712af602c8caea12eac26e87756579efb8c542dde8b391"
},
- "cocktail": {
- "category": "food",
- "moji": "🍸",
- "description": "cocktail glass",
+ "rainbow": {
+ "category": "travel",
+ "moji": "🌈",
+ "description": "rainbow",
"unicodeVersion": "6.0",
- "digest": "91b4e4dc85b87b50d85d4831a18de7dd952c45c427f46a1a2c55d0abf4c4f5dd"
+ "digest": "f3e13a1ac2f7a2ae4096f47a2e1a1afd18f2998a67f6491002c3bcb019093222"
},
- "coffee": {
- "category": "food",
- "moji": "☕",
- "description": "hot beverage",
+ "closed_umbrella": {
+ "category": "people",
+ "moji": "🌂",
+ "description": "closed umbrella",
+ "unicodeVersion": "6.0",
+ "digest": "464550b8a3f71825b81ba11f158b815dd54d33e010c1bc1ba67ea196efcbccb3"
+ },
+ "umbrella2": {
+ "category": "nature",
+ "moji": "☂",
+ "description": "umbrella",
+ "unicodeVersion": "1.1",
+ "digest": "c8e5f34916627bd8053727b3ae40c5fb1df6bad76049e925696140825b413af4"
+ },
+ "umbrella": {
+ "category": "nature",
+ "moji": "☔",
+ "description": "umbrella with rain drops",
"unicodeVersion": "4.0",
- "digest": "bd09e4d36ebe4df49c695147a2d1ae91b6cbdd7eb7bb5066a1bada8ca2fa7c6f"
+ "digest": "99c2f2a4331ff3f17192394ce766808e725e0701cf903cea606efb5f1d4b3f4a"
},
- "coffin": {
+ "beach_umbrella": {
"category": "objects",
- "moji": "⚰",
- "description": "coffin",
- "unicodeVersion": "4.1",
- "digest": "08e3596ffa53801967dd6ff1715999513d8d9b3ae1f1f7c2b841a414981ee5d4"
+ "moji": "⛱",
+ "description": "umbrella on ground",
+ "unicodeVersion": "5.2",
+ "digest": "8222557bcf3669971279b80855fad3d97cd891e8a446b2e82ca220627a4283d5"
},
- "cold_sweat": {
- "category": "people",
- "moji": "😰",
- "description": "face with open mouth and cold sweat",
- "unicodeVersion": "6.0",
- "digest": "d96b966a52919667857c96c5d03596cb29daa1a7d87acba0286556f5dcaa25af"
+ "zap": {
+ "category": "nature",
+ "moji": "⚡",
+ "description": "high voltage sign",
+ "unicodeVersion": "4.0",
+ "digest": "fbbfbda066d067a5b92ca815c784b577354de3e6c7a3dfa9a1656c29dc804f0c"
+ },
+ "snowflake": {
+ "category": "nature",
+ "moji": "❄",
+ "description": "snowflake",
+ "unicodeVersion": "1.1",
+ "digest": "256f84d43855ee7699d7bfa2e3bb4cf71ec61ee9cc83a1ffb2973393cc43a5fa"
+ },
+ "snowman2": {
+ "category": "nature",
+ "moji": "☃",
+ "description": "snowman",
+ "unicodeVersion": "1.1",
+ "digest": "ce7bc1b374999e94c2f4a08f77ed979ccb6ee86ec9a6c1b8f4a93680080a25a7"
+ },
+ "snowman": {
+ "category": "nature",
+ "moji": "⛄",
+ "description": "snowman without snow",
+ "unicodeVersion": "5.2",
+ "digest": "c0908d9bc9b9fabff1e5eb18c6db07e981a4b9d886c7babbe2ce109e244f8182"
},
"comet": {
"category": "nature",
@@ -2022,19 +7482,75 @@
"unicodeVersion": "1.1",
"digest": "647209d932dbca09e1a0f3e13b0579251f76ba5f314faf6fc010eee6eb1606bb"
},
- "compression": {
+ "fire": {
+ "category": "nature",
+ "moji": "🔥",
+ "description": "fire",
+ "unicodeVersion": "6.0",
+ "digest": "37ab0faba2cb2a665775cdde7aaf4b4a0dfdd21030b57a613ddc9cb91883d7e4"
+ },
+ "droplet": {
+ "category": "nature",
+ "moji": "💧",
+ "description": "droplet",
+ "unicodeVersion": "6.0",
+ "digest": "df3a38da24ffe4b245eaffe3a16c9f8d995a23f07030d4de3d7244a057939a5a"
+ },
+ "ocean": {
+ "category": "nature",
+ "moji": "🌊",
+ "description": "water wave",
+ "unicodeVersion": "6.0",
+ "digest": "495ef59f29b98d5e87b9353274051950dbf7ac9fe486571775389c10e658fa5c"
+ },
+ "jack_o_lantern": {
+ "category": "nature",
+ "moji": "🎃",
+ "description": "jack-o-lantern",
+ "unicodeVersion": "6.0",
+ "digest": "876808e4ffa5ef7d736b88d9b1d646ea1af3bdf91f494190740502491d82edbd"
+ },
+ "christmas_tree": {
+ "category": "nature",
+ "moji": "🎄",
+ "description": "christmas tree",
+ "unicodeVersion": "6.0",
+ "digest": "cb28845d8770cc86de0034f03e38e46b251fb5bd4357a923c107404e8c5116bb"
+ },
+ "fireworks": {
+ "category": "travel",
+ "moji": "🎆",
+ "description": "fireworks",
+ "unicodeVersion": "6.0",
+ "digest": "6242b48df4b30753b154ec6d5f3883646fa42b55a629a7a1273d290e97df8a41"
+ },
+ "sparkler": {
+ "category": "travel",
+ "moji": "🎇",
+ "description": "firework sparkler",
+ "unicodeVersion": "6.0",
+ "digest": "d603ef03cdc4ec05338005c357c3a41215f180545f422fea5b40b766ecfe6d1f"
+ },
+ "sparkles": {
+ "category": "nature",
+ "moji": "✨",
+ "description": "sparkles",
+ "unicodeVersion": "6.0",
+ "digest": "8f68cb167489b1055a8acedaf8ea4c0553d0a5f7bf0983fc3660537ff09a5360"
+ },
+ "balloon": {
"category": "objects",
- "moji": "🗜",
- "description": "compression",
- "unicodeVersion": "7.0",
- "digest": "e762761f41d6c41d204ca149b161ea4286ae71517ea714fa75951c0eea600eeb"
+ "moji": "🎈",
+ "description": "balloon",
+ "unicodeVersion": "6.0",
+ "digest": "9f76188ad32199d081dfc6757b68f66c8b4e8629f420e85d4cb88e00a72256ab"
},
- "computer": {
+ "tada": {
"category": "objects",
- "moji": "💻",
- "description": "personal computer",
+ "moji": "🎉",
+ "description": "party popper",
"unicodeVersion": "6.0",
- "digest": "08200fc0c04bb776d3b7e187de415a1a6a6bc82a7beb70829e03c40c5312d7d1"
+ "digest": "879b8a892411b1839ad7c4a4d9ffcae074d3829bb40767c916471b06a39da9ec"
},
"confetti_ball": {
"category": "objects",
@@ -2043,551 +7559,1328 @@
"unicodeVersion": "6.0",
"digest": "745790484353edffb62c78d1460baa049411e32fed88bd6424c0fd804fe67ca8"
},
- "confounded": {
- "category": "people",
- "moji": "😖",
- "description": "confounded face",
+ "tanabata_tree": {
+ "category": "nature",
+ "moji": "🎋",
+ "description": "tanabata tree",
"unicodeVersion": "6.0",
- "digest": "084da8b9e9e24eaee418df200ed9369e04fded381d756382b34f96a362d2c93c"
+ "digest": "6ec94e277dc3027dbaf8d844dd26202c00b36602f5f73d0d2c36c087d5d674b9"
},
- "confused": {
- "category": "people",
- "moji": "😕",
- "description": "confused face",
- "unicodeVersion": "6.1",
- "digest": "4b8a05e1d84cb6314b217fdd4f89065411021f3ed3f5a824dbf538d54b5c3132"
+ "bamboo": {
+ "category": "nature",
+ "moji": "🎍",
+ "description": "pine decoration",
+ "unicodeVersion": "6.0",
+ "digest": "1d26da431d87de2787fc0b8a18559ea14cc2fdbb928d40bcc0de6810a84be2bd"
},
- "congratulations": {
- "category": "symbols",
- "moji": "㊗",
- "description": "circled ideograph congratulation",
- "unicodeVersion": "1.1",
- "digest": "3c4f04a0b13353e975bdcd489f5cc2899b3dace2c83ca3012605f1b2801b581e"
+ "dolls": {
+ "category": "objects",
+ "moji": "🎎",
+ "description": "japanese dolls",
+ "unicodeVersion": "6.0",
+ "digest": "da477dfcb1ecfab98835f4ed721354240d1a7f82e1d7df4b80e67baabb237b9f"
},
- "construction": {
- "category": "travel",
- "moji": "🚧",
- "description": "construction sign",
+ "flags": {
+ "category": "objects",
+ "moji": "🎏",
+ "description": "carp streamer",
"unicodeVersion": "6.0",
- "digest": "3a406d5baeede21f5ae078a4a641ee42d36c1b877a97bb10191fec729a6c0fb1"
+ "digest": "fe687c07453ae2869f11816bc2c604c67ba8c3754e597ce6871289cc358253c1"
},
- "construction_site": {
+ "wind_chime": {
+ "category": "objects",
+ "moji": "🎐",
+ "description": "wind chime",
+ "unicodeVersion": "6.0",
+ "digest": "57b721fd94e359f9a8dcd9fc702a3c9f82b06f4347d5b6e33c9d42117dd26e8a"
+ },
+ "rice_scene": {
"category": "travel",
- "moji": "🏗",
- "description": "building construction",
+ "moji": "🎑",
+ "description": "moon viewing ceremony",
+ "unicodeVersion": "6.0",
+ "digest": "18b94e88b72cd2158d831d86f78c91d3ae44b279ec104b3606fd177a2ab1372f"
+ },
+ "ribbon": {
+ "category": "objects",
+ "moji": "🎀",
+ "description": "ribbon",
+ "unicodeVersion": "6.0",
+ "digest": "498ca699cf15df0de221f962a03566a1944f9eab0cdd44353460d9198265f35c"
+ },
+ "gift": {
+ "category": "objects",
+ "moji": "🎁",
+ "description": "wrapped present",
+ "unicodeVersion": "6.0",
+ "digest": "f05374b0464ab426379251722208599f95b4dc00f8ca551b5fbd6cea5ee98ee6"
+ },
+ "reminder_ribbon": {
+ "category": "activity",
+ "moji": "🎗",
+ "description": "reminder ribbon",
"unicodeVersion": "7.0",
- "digest": "5973b6f1b1c75fd083d975c2c11f68fff6583f10056418c699da1cd3049a5f89"
+ "digest": "3f3b9a65033a2e9e9d58ee18aa3cb3158ce2bf243c6c0352f7278bf2b4f8106c"
},
- "construction_worker": {
- "category": "people",
- "moji": "👷",
- "description": "construction worker",
+ "tickets": {
+ "category": "activity",
+ "moji": "🎟",
+ "description": "admission tickets",
+ "unicodeVersion": "7.0",
+ "digest": "f70e7c3f2a059c85b36587941a861dc9e41c8db0475ddbe2d5dd50ad440dd579"
+ },
+ "ticket": {
+ "category": "activity",
+ "moji": "🎫",
+ "description": "ticket",
"unicodeVersion": "6.0",
- "digest": "47476b5eb51a1e00d0c95f032c79ca6472b41ece0bdf057bbb87da088605c589"
+ "digest": "0575c271a22acdc294505b2aae0f288e67b0d78d9b60af97420806ac893e4ea9"
},
- "construction_worker_tone1": {
- "category": "people",
- "moji": "👷🏻",
- "description": "construction worker tone 1",
+ "military_medal": {
+ "category": "activity",
+ "moji": "🎖",
+ "description": "military medal",
+ "unicodeVersion": "7.0",
+ "digest": "745687033024bc5d1dae74f427504058f17f29c1f02a59b25c9d488a6307cae3"
+ },
+ "trophy": {
+ "category": "activity",
+ "moji": "🏆",
+ "description": "trophy",
+ "unicodeVersion": "6.0",
+ "digest": "33ba0ae0619cb3c2cfa350a36e535601d327b7a0cb7371f2686790336559f912"
+ },
+ "medal": {
+ "category": "activity",
+ "moji": "🏅",
+ "description": "sports medal",
+ "unicodeVersion": "7.0",
+ "digest": "b7518a4c832aa937d85741738e1c74c09ff645197fbbdc7d66cd4a8e78977073"
+ },
+ "first_place": {
+ "category": "activity",
+ "moji": "🥇",
+ "description": "first place medal",
+ "unicodeVersion": "9.0",
+ "digest": "d250c1890f341665d689d705c13fc4c5448d870d193b8b3405832e2fd92f5385"
+ },
+ "second_place": {
+ "category": "activity",
+ "moji": "🥈",
+ "description": "second place medal",
+ "unicodeVersion": "9.0",
+ "digest": "9c9a125c7085e8ab5b89cbd10d9458eac835330dbb78737e8cf979a39c2ae5fd"
+ },
+ "third_place": {
+ "category": "activity",
+ "moji": "🥉",
+ "description": "third place medal",
+ "unicodeVersion": "9.0",
+ "digest": "0afe5ea1a8963329439e0a5ed4922939cc4ab733f5fb50f40edcc2e4fafa12ed"
+ },
+ "soccer": {
+ "category": "activity",
+ "moji": "⚽",
+ "description": "soccer ball",
+ "unicodeVersion": "5.2",
+ "digest": "1807b8f9e9b0a3cbf390a582f52d2ec4dad7a19008d9d0215ae6cded7b6dd691"
+ },
+ "baseball": {
+ "category": "activity",
+ "moji": "⚾",
+ "description": "baseball",
+ "unicodeVersion": "5.2",
+ "digest": "8c9c750fe39ff65807d9deabccce9dbf96cdff585f320919973576027093c7a6"
+ },
+ "basketball": {
+ "category": "activity",
+ "moji": "🏀",
+ "description": "basketball and hoop",
+ "unicodeVersion": "6.0",
+ "digest": "1c38475863ccaf78b869bdd50d0eb71d189299e189be0ab8b00405096a047628"
+ },
+ "volleyball": {
+ "category": "activity",
+ "moji": "🏐",
+ "description": "volleyball",
"unicodeVersion": "8.0",
- "digest": "087fe998c1e316591d4a0c09c7ef80b0cf73d7f0f295e4bc18405e9153eb7b6c"
+ "digest": "a9dc3a3516d1e22aededc7198fdf3a4f304b7c2f7fa528806c2e0bdfe320d007"
},
- "construction_worker_tone2": {
- "category": "people",
- "moji": "👷🏼",
- "description": "construction worker tone 2",
+ "football": {
+ "category": "activity",
+ "moji": "🏈",
+ "description": "american football",
+ "unicodeVersion": "6.0",
+ "digest": "aefdff9cd010c9d82e2cdd83c4430db38bf311bfeac7f86583b122cba146c73f"
+ },
+ "rugby_football": {
+ "category": "activity",
+ "moji": "🏉",
+ "description": "rugby football",
+ "unicodeVersion": "6.0",
+ "digest": "db852921f30f88e9604440a5d7f8ce513c3001293a1ffbc35c66c45fee1159c4"
+ },
+ "tennis": {
+ "category": "activity",
+ "moji": "🎾",
+ "description": "tennis racquet and ball",
+ "unicodeVersion": "6.0",
+ "digest": "857b0f96109f4534cef496348b76036354eecdee640855fb83e0e3b253c7d914"
+ },
+ "bowling": {
+ "category": "activity",
+ "moji": "🎳",
+ "description": "bowling",
+ "unicodeVersion": "6.0",
+ "digest": "2bc7f10afb9d6c61e015e4b6ca8c65c038a6a802840e1879142ee9bb86369b38"
+ },
+ "cricket": {
+ "category": "activity",
+ "moji": "🏏",
+ "description": "cricket bat and ball",
+ "unicodeVersion": "10.0",
+ "digest": "c0447966114b1db5c9d1dd5e47bd7f85a19accb8c6daeb9984644834e72e7598"
+ },
+ "field_hockey": {
+ "category": "activity",
+ "moji": "🏑",
+ "description": "field hockey stick and ball",
"unicodeVersion": "8.0",
- "digest": "2a829b907f78a0d197677d19be96e177e0a021a04decb3c0bbf637cf74716787"
+ "digest": "8608cd6944c9d3791e5c0b3111f7c5ca6155f64552ae9ab3e2f93514d053e042"
},
- "construction_worker_tone3": {
- "category": "people",
- "moji": "👷🏽",
- "description": "construction worker tone 3",
+ "hockey": {
+ "category": "activity",
+ "moji": "🏒",
+ "description": "ice hockey stick and puck",
"unicodeVersion": "8.0",
- "digest": "551d3bddffe6e7c739732a1d759994e2a8090e81df401a70c5b4eab315242840"
+ "digest": "9c5e4e47bca98e73610173eb568ab9f2abf6cbdb8357438db30244946ebd7dac"
},
- "construction_worker_tone4": {
- "category": "people",
- "moji": "👷🏾",
- "description": "construction worker tone 4",
+ "ping_pong": {
+ "category": "activity",
+ "moji": "🏓",
+ "description": "table tennis paddle and ball",
"unicodeVersion": "8.0",
- "digest": "d563f84633598c86bbad12a96418eee7e7a6cd945d9ecdb60d93be56697b8d96"
+ "digest": "f55f8483698dd2252aa5e2819f98e2f5d753616319446067de16acc5ffe12129"
},
- "construction_worker_tone5": {
- "category": "people",
- "moji": "👷🏿",
- "description": "construction worker tone 5",
+ "badminton": {
+ "category": "activity",
+ "moji": "🏸",
+ "description": "badminton racquet",
"unicodeVersion": "8.0",
- "digest": "56950bb7e235ccd82c8b1e689268ecd471809b8b65ec8654949a15cd6b42e7b5"
+ "digest": "52efeaba6a27cef40bbd624eb945bf8712c8ce3a135de8b979c1e04b440ec51a"
},
- "control_knobs": {
+ "boxing_glove": {
+ "category": "activity",
+ "moji": "🥊",
+ "description": "boxing glove",
+ "unicodeVersion": "9.0",
+ "digest": "4acdaf7627f8a70148dadec0012474c3eb5042d2a165522c9a221cb6c63376c3"
+ },
+ "martial_arts_uniform": {
+ "category": "activity",
+ "moji": "🥋",
+ "description": "martial arts uniform",
+ "unicodeVersion": "9.0",
+ "digest": "d1953d1f75350bcde491bb2a551e55bafc34e14e5de0ca6f27b1d55e0dffa135"
+ },
+ "goal": {
+ "category": "activity",
+ "moji": "🥅",
+ "description": "goal net",
+ "unicodeVersion": "9.0",
+ "digest": "e867e3f1d97159e2301c2903bbfab130921490cbf4d5fdc4d5d0a62088dbfda8"
+ },
+ "golf": {
+ "category": "activity",
+ "moji": "⛳",
+ "description": "flag in hole",
+ "unicodeVersion": "5.2",
+ "digest": "90dbc9461dfb3f37bcf171eedaf1131d4567ceace94a86f21f6e6befd6473a98"
+ },
+ "ice_skate": {
+ "category": "activity",
+ "moji": "⛸",
+ "description": "ice skate",
+ "unicodeVersion": "5.2",
+ "digest": "e06869a74874d409372ef2714ca8f3e3050ad8a81e589709ecb541d5c77603df"
+ },
+ "fishing_pole_and_fish": {
+ "category": "activity",
+ "moji": "🎣",
+ "description": "fishing pole and fish",
+ "unicodeVersion": "6.0",
+ "digest": "539df418ee29c240216b28aa1af12feefe9273de148a80289c2a512785d98aee"
+ },
+ "running_shirt_with_sash": {
+ "category": "activity",
+ "moji": "🎽",
+ "description": "running shirt with sash",
+ "unicodeVersion": "6.0",
+ "digest": "a5f5ff9bf3e3eab82f370c9b81dc2bce186bb0a667dee54a2066d42f04d97eb4"
+ },
+ "ski": {
+ "category": "activity",
+ "moji": "🎿",
+ "description": "ski and ski boot",
+ "unicodeVersion": "6.0",
+ "digest": "973ff4abd90a020e2c608c32ab88324e1a11ca7a4541e436f37c5d858681eba6"
+ },
+ "dart": {
+ "category": "activity",
+ "moji": "🎯",
+ "description": "direct hit",
+ "unicodeVersion": "6.0",
+ "digest": "01d4bb3f51417e7861404746bbebc4704edf5fa80bde6ad9cf9e12c238a1206c"
+ },
+ "gun": {
"category": "objects",
- "moji": "🎛",
- "description": "control knobs",
+ "moji": "🔫",
+ "description": "pistol",
+ "unicodeVersion": "6.0",
+ "digest": "586379358f302248a7be52d185997a0904e31635d32a0fac86366d98ac1ab242"
+ },
+ "8ball": {
+ "category": "activity",
+ "moji": "🎱",
+ "description": "billiards",
+ "unicodeVersion": "6.0",
+ "digest": "de5dbbd700f078ed6d780e79cb1b5b3214180b42a38917b3e1222af731cf5e3d"
+ },
+ "crystal_ball": {
+ "category": "objects",
+ "moji": "🔮",
+ "description": "crystal ball",
+ "unicodeVersion": "6.0",
+ "digest": "225f048f2fefb378d3178931ad5e5e8feb419a19436e45d03c199bd726ec5151"
+ },
+ "video_game": {
+ "category": "activity",
+ "moji": "🎮",
+ "description": "video game",
+ "unicodeVersion": "6.0",
+ "digest": "95a218fcb12095024a77ee4826d0574190b5ebb8878d0fba7a640dcbeb3b78ba"
+ },
+ "joystick": {
+ "category": "objects",
+ "moji": "🕹",
+ "description": "joystick",
"unicodeVersion": "7.0",
- "digest": "437abc26fe18f903c498b5223ab35de813b8166e8460cfe9bc5b59177d949bc1"
+ "digest": "def1450af8fc7e3e4d968a6f6a2f5644b17f2786941d49c688c91dc4fde36836"
},
- "convenience_store": {
- "category": "travel",
- "moji": "🏪",
- "description": "convenience store",
+ "slot_machine": {
+ "category": "activity",
+ "moji": "🎰",
+ "description": "slot machine",
"unicodeVersion": "6.0",
- "digest": "07d3989157223a8249db3532a642050529831d47f05c0733fbe2cb6a6a780ea6"
+ "digest": "c057d62fa2bca301d20f6103606873b82d0136711f4d922eb05ab29d3179ecfe"
},
- "cookie": {
- "category": "food",
- "moji": "🍪",
- "description": "cookie",
+ "game_die": {
+ "category": "activity",
+ "moji": "🎲",
+ "description": "game die",
"unicodeVersion": "6.0",
- "digest": "246ade6def10ac3e98af1ba9517990a4b41e391b9f1d8323a333d4cb69acbe36"
+ "digest": "9a9eb1efd149aa229f39ffb93605f7c231a149892d9cedfeebc6e15eb7235656"
},
- "cooking": {
- "category": "food",
- "moji": "🍳",
- "description": "cooking",
+ "spades": {
+ "category": "symbols",
+ "moji": "♠",
+ "description": "black spade suit",
+ "unicodeVersion": "1.1",
+ "digest": "4581ce17d9b2a29ba4cc38794d7869e12cd1ceda5861e67b2d09130730ccc378"
+ },
+ "hearts": {
+ "category": "symbols",
+ "moji": "♥",
+ "description": "black heart suit",
+ "unicodeVersion": "1.1",
+ "digest": "86712f800e461be471d9d64d427f4e751eab584cae33b2c7a72634161c51e622"
+ },
+ "diamonds": {
+ "category": "symbols",
+ "moji": "♦",
+ "description": "black diamond suit",
+ "unicodeVersion": "1.1",
+ "digest": "77c773b770a293129c33513fc22124c6953db07d1b254905b0c734c853e65387"
+ },
+ "clubs": {
+ "category": "symbols",
+ "moji": "♣",
+ "description": "black club suit",
+ "unicodeVersion": "1.1",
+ "digest": "eca840fc5c181df26e30df8ac9de5303c534d7532d86a4c4f29e029ebb1eb18d"
+ },
+ "black_joker": {
+ "category": "symbols",
+ "moji": "🃏",
+ "description": "playing card black joker",
"unicodeVersion": "6.0",
- "digest": "b4bcd344fb394300464b8a81f325f8652c032f39ebe2acf85e046d594a58b84a"
+ "digest": "40b7dccd258d4d1323fc744fb545e0e06c1e813bc9030147fb28e0f5b3a76ef3"
},
- "cool": {
+ "mahjong": {
"category": "symbols",
- "moji": "🆒",
- "description": "squared cool",
+ "moji": "🀄",
+ "description": "mahjong tile red dragon",
+ "unicodeVersion": "5.1",
+ "digest": "adf2b23065245bbffa1f0e7d0a4656bb2c69d6862f162cd77e9eda26aee06353"
+ },
+ "flower_playing_cards": {
+ "category": "symbols",
+ "moji": "🎴",
+ "description": "flower playing cards",
"unicodeVersion": "6.0",
- "digest": "d9e004043f68d0dfea5cb4ae961c4e66edf32a840bf5f1dae43df3c522db6322"
+ "digest": "814948cd185c22b3a394a5bb15924ddf6cf07b612658bd79c5192cd453057681"
},
- "cop": {
+ "performing_arts": {
+ "category": "activity",
+ "moji": "🎭",
+ "description": "performing arts",
+ "unicodeVersion": "6.0",
+ "digest": "d4f55655f113bc672739e74b6e3b7684b05f49a68a8ce1a230a32295d0d7a847"
+ },
+ "frame_photo": {
+ "category": "objects",
+ "moji": "🖼",
+ "description": "frame with picture",
+ "unicodeVersion": "7.0",
+ "digest": "bcc4eade7fb066c301457bfd79daae84f0b2a4aa56c71dcb6bcb8fb76c2c4a96"
+ },
+ "art": {
+ "category": "activity",
+ "moji": "🎨",
+ "description": "artist palette",
+ "unicodeVersion": "6.0",
+ "digest": "ee525dbf572a127ac99ccc165520e429e3d24f7cf3b8d787496b63415454d49c"
+ },
+ "eyeglasses": {
"category": "people",
- "moji": "👮",
- "description": "police officer",
+ "moji": "👓",
+ "description": "eyeglasses",
"unicodeVersion": "6.0",
- "digest": "ca75e6722bc6520f3375af4d588cd5af15b52d5a856a67d99414e149d8ea9ca0"
+ "digest": "7f413b054509c24ee233b944df5a0b314ede67006d64f03df4a1c055a45245ee"
},
- "cop_tone1": {
+ "dark_sunglasses": {
"category": "people",
- "moji": "👮🏻",
- "description": "police officer tone 1",
- "unicodeVersion": "8.0",
- "digest": "309280c5b2f6f957134015fe62a262b7853b67c6d7a020e59e942a21ac52c561"
+ "moji": "🕶",
+ "description": "dark sunglasses",
+ "unicodeVersion": "7.0",
+ "digest": "0f941dc4ed9dcc861863176f49812966bcae7e3179044c1c8fa22de9ed8dbd09"
},
- "cop_tone2": {
+ "necktie": {
"category": "people",
- "moji": "👮🏼",
- "description": "police officer tone 2",
- "unicodeVersion": "8.0",
- "digest": "2db60b30bb0533a82590190ba1e9aa2a4a21b13219c9b5fdf67e0c88a63cac59"
+ "moji": "👔",
+ "description": "necktie",
+ "unicodeVersion": "6.0",
+ "digest": "1ae4a9a8c38b68c883bf843a044ebb7902ec5c9d73c6bbc1111b847d0353f657"
},
- "cop_tone3": {
+ "shirt": {
"category": "people",
- "moji": "👮🏽",
- "description": "police officer tone 3",
- "unicodeVersion": "8.0",
- "digest": "724bf942373fe976683449d871bd76275f0b21966abd69dfe046249731f17fee"
+ "moji": "👕",
+ "description": "t-shirt",
+ "unicodeVersion": "6.0",
+ "digest": "a165e8bd82e5ef701aafaabcfac6946af3a0c10c22d4c84010103ecf8d74e424"
},
- "cop_tone4": {
+ "jeans": {
"category": "people",
- "moji": "👮🏾",
- "description": "police officer tone 4",
- "unicodeVersion": "8.0",
- "digest": "c95ba196d60964cdc5252cef740ee98369ce6a9553f6da55e8b0dc3e6cfc345b"
+ "moji": "👖",
+ "description": "jeans",
+ "unicodeVersion": "6.0",
+ "digest": "e470f82274f2b149f98d4620e61c374c3737e722bd0a08576335cc269e86f83f"
},
- "cop_tone5": {
+ "dress": {
"category": "people",
- "moji": "👮🏿",
- "description": "police officer tone 5",
- "unicodeVersion": "8.0",
- "digest": "8aa857e06fa050ae584e2be28e61944e336f7b53d94ec10763be04ce9b59a812"
+ "moji": "👗",
+ "description": "dress",
+ "unicodeVersion": "6.0",
+ "digest": "9a1c024dd6f402a2764ad097eeb5656488df5bd60905e8deb04dc3f91ab890f4"
},
- "copyright": {
- "category": "symbols",
- "moji": "©️",
- "description": "copyright sign",
- "unicodeVersion": "1.1",
- "digest": "681f772f6710df90e3b53e2ee6c3170f344873bd4c1e41e2016a411125b90f4a"
+ "kimono": {
+ "category": "people",
+ "moji": "👘",
+ "description": "kimono",
+ "unicodeVersion": "6.0",
+ "digest": "987ec803ad9f64bd7ab8c41b487df6afd3416ef25fba11df698c2dddc779e59e"
},
- "corn": {
- "category": "food",
- "moji": "🌽",
- "description": "ear of maize",
+ "bikini": {
+ "category": "people",
+ "moji": "👙",
+ "description": "bikini",
"unicodeVersion": "6.0",
- "digest": "18c605b675251470f411303851450e3010e6a4683c06f1ad0df48eb2c8560a46"
+ "digest": "f7bf17cea90c1d7e18c55af498ea3019e1515efefd4f692b868998861d40000e"
},
- "couch": {
+ "womans_clothes": {
+ "category": "people",
+ "moji": "👚",
+ "description": "womans clothes",
+ "unicodeVersion": "6.0",
+ "digest": "4b47a76b3fa144213583b47c2284eee1e4148b9b4cd578f1d02ddb474c78a3ae"
+ },
+ "purse": {
+ "category": "people",
+ "moji": "👛",
+ "description": "purse",
+ "unicodeVersion": "6.0",
+ "digest": "069d6ce3046648578d3c04796bb6190ecfb55e1fd708be2021144f1716c3ae2f"
+ },
+ "handbag": {
+ "category": "people",
+ "moji": "👜",
+ "description": "handbag",
+ "unicodeVersion": "6.0",
+ "digest": "0f1d0849440c523c026b3dea64850f48c3fccbc01fc08878927a25900f393a76"
+ },
+ "pouch": {
+ "category": "people",
+ "moji": "👝",
+ "description": "pouch",
+ "unicodeVersion": "6.0",
+ "digest": "e333815505f48dad6240f0d6ac9476ab256b26ec53108c0454f77c6ac31c4874"
+ },
+ "shopping_bags": {
"category": "objects",
- "moji": "🛋",
- "description": "couch and lamp",
+ "moji": "🛍",
+ "description": "shopping bags",
"unicodeVersion": "7.0",
- "digest": "e9421d26e96ce4d68b09280e77e699963a3d8259385a12fd28375d61de4aff6b"
+ "digest": "1a6df85fd8117c2c9361c7524a43613a80d6c6d65a1940f2320cbc7d451ebf6f"
},
- "couple": {
+ "school_satchel": {
"category": "people",
- "moji": "👫",
- "description": "man and woman holding hands",
+ "moji": "🎒",
+ "description": "school satchel",
"unicodeVersion": "6.0",
- "digest": "d6523ae18c5e2a10b355dda179ca7b172ece9ef3ac70548dba3c45a5d5169e70"
+ "digest": "500fdb662493897890ad00c67200190fc2b48a5629231994d7bf43a5a9897e6d"
},
- "couple_mm": {
+ "mans_shoe": {
"category": "people",
- "moji": "👨‍❤️‍👨",
- "description": "couple (man,man)",
+ "moji": "👞",
+ "description": "mans shoe",
"unicodeVersion": "6.0",
- "digest": "0c3344e2abffd74868fb52ffa5614c77737094bac369030ceac6218eee2a0edf"
+ "digest": "ba3da1749562ad332de9a2c0916c1e72a8b6ccaf277d5c379bf6847f9b6fc148"
},
- "couple_with_heart": {
+ "athletic_shoe": {
"category": "people",
- "moji": "💑",
- "description": "couple with heart",
+ "moji": "👟",
+ "description": "athletic shoe",
"unicodeVersion": "6.0",
- "digest": "224c8f5d7c5a446b69e7175dfa6b07a9d36f2b2db3f908579813b6bcffb35f92"
+ "digest": "74ad8b5b9f0612ab983841e94637e02e91fc0de90b4a12997be5d2a2eb56d12c"
},
- "couple_ww": {
+ "high_heel": {
"category": "people",
- "moji": "👩‍❤️‍👩",
- "description": "couple (woman,woman)",
+ "moji": "👠",
+ "description": "high-heeled shoe",
"unicodeVersion": "6.0",
- "digest": "56651c521bbaade1979708f52d827e2251581b576c3afa651c89ea4c63739916"
+ "digest": "f2aee61e8ae1cb532d9f005317476bbbe26b6e7d18cf2b2cac3d21ab39a86dd1"
},
- "couplekiss": {
+ "sandal": {
"category": "people",
- "moji": "💏",
- "description": "kiss",
+ "moji": "👡",
+ "description": "womans sandal",
"unicodeVersion": "6.0",
- "digest": "14c66d83cace54fb7326ef04eb989ee27d5f2dec2e3884374cd346cd30340d5e"
+ "digest": "9737db7518eaf91a7294503c471ba0b015260677ca842988ef3764d30a0d402b"
},
- "cow": {
- "category": "nature",
- "moji": "🐮",
- "description": "cow face",
+ "boot": {
+ "category": "people",
+ "moji": "👢",
+ "description": "womans boots",
"unicodeVersion": "6.0",
- "digest": "9959b4d621471e4c3ddd23f52ddeb5ddb5792a0b6ac8697d2c2940bd6cb01b82"
+ "digest": "3ac88fcfbe55d073949e89aeeadf168c04633c9af4ce6673c897358e595511c2"
},
- "cow2": {
- "category": "nature",
- "moji": "🐄",
- "description": "cow",
+ "crown": {
+ "category": "people",
+ "moji": "👑",
+ "description": "crown",
"unicodeVersion": "6.0",
- "digest": "a9f5cdb317d96e7536d87faff2f2c651d6fb5bd00b89991c977b270e9f522820"
+ "digest": "6fd07901b1aedf7f0fe7ebcdbd6f7fe40f768a66a0e862203274097b16b5431d"
},
- "cowboy": {
+ "womans_hat": {
"category": "people",
- "moji": "🤠",
- "description": "face with cowboy hat",
- "unicodeVersion": "9.0",
- "digest": "0c3a81e8bc276a84073ae94db2cf08d378b3e17ca09e2e03abf248c66c00f34b"
+ "moji": "👒",
+ "description": "womans hat",
+ "unicodeVersion": "6.0",
+ "digest": "7feded8ca13ddee2d9fd71e97a0e7f719d85f85190a69d6fde985d69e20bc422"
},
- "crab": {
- "category": "nature",
- "moji": "🦀",
- "description": "crab",
+ "tophat": {
+ "category": "people",
+ "moji": "🎩",
+ "description": "top hat",
+ "unicodeVersion": "6.0",
+ "digest": "dff54bdac5a4d1df8e406a5dfa517c5ea60f9ebb6952f27b2780878478c4c8dc"
+ },
+ "mortar_board": {
+ "category": "people",
+ "moji": "🎓",
+ "description": "graduation cap",
+ "unicodeVersion": "6.0",
+ "digest": "6524faad267ba769fb1997527d41c97cac42cc5d99c57800adaf5a6892c79371"
+ },
+ "helmet_with_cross": {
+ "category": "people",
+ "moji": "⛑",
+ "description": "helmet with white cross",
+ "unicodeVersion": "5.2",
+ "digest": "12a73fcfb9d2a62305f4a59f028215c81868a4b8de862b276c3b508872ac70ad"
+ },
+ "prayer_beads": {
+ "category": "objects",
+ "moji": "📿",
+ "description": "prayer beads",
"unicodeVersion": "8.0",
- "digest": "8cdd21a6eaa56df3e503e8710e703b60ba6b059eaf2a9e93d8d25a4cbe2b55dc"
+ "digest": "aedb143e4798a14b97ff6595293d7ed873988023efbc1e3de3aa9f17344359fd"
},
- "crayon": {
+ "lipstick": {
+ "category": "people",
+ "moji": "💄",
+ "description": "lipstick",
+ "unicodeVersion": "6.0",
+ "digest": "102278217b4f4088fd48ccb08af558822258d85d24a4febdcad1b5cc78cbe2a2"
+ },
+ "ring": {
+ "category": "people",
+ "moji": "💍",
+ "description": "ring",
+ "unicodeVersion": "6.0",
+ "digest": "ec4386554d3b001d9b64cfa534094b67844b55bcbec118146c5d238079107f6f"
+ },
+ "gem": {
"category": "objects",
- "moji": "🖍",
- "description": "lower left crayon",
+ "moji": "💎",
+ "description": "gem stone",
+ "unicodeVersion": "6.0",
+ "digest": "abb9f5097963624e3e1e0ef7dd973a264910c22baa549d24f396defc0fcd8ef6"
+ },
+ "mute": {
+ "category": "symbols",
+ "moji": "🔇",
+ "description": "speaker with cancellation stroke",
+ "unicodeVersion": "6.0",
+ "digest": "5f80daf97d6bffc8451bbf9b4bc3780a2b555e9449c23922a84feef93a238953"
+ },
+ "speaker": {
+ "category": "symbols",
+ "moji": "🔈",
+ "description": "speaker",
+ "unicodeVersion": "6.0",
+ "digest": "f83fd9518675bb83fa037a49d762f774eccea08f2a981dc85c37c46a6621cd6d"
+ },
+ "sound": {
+ "category": "symbols",
+ "moji": "🔉",
+ "description": "speaker with one sound wave",
+ "unicodeVersion": "6.0",
+ "digest": "c1e588da701bb5e139cfb4c8e068b8785d4ac08afc255792d28b06c7e0e565a9"
+ },
+ "loud_sound": {
+ "category": "symbols",
+ "moji": "🔊",
+ "description": "speaker with three sound waves",
+ "unicodeVersion": "6.0",
+ "digest": "6d6affb03b43fbfa71796d83521735af6038bfd236f3dacb77d2097496a73a01"
+ },
+ "loudspeaker": {
+ "category": "symbols",
+ "moji": "📢",
+ "description": "public address loudspeaker",
+ "unicodeVersion": "6.0",
+ "digest": "04f791bc8d3eb6486448deb2654d9a0cd1c19f946ba623116f556f27399b34a0"
+ },
+ "mega": {
+ "category": "symbols",
+ "moji": "📣",
+ "description": "cheering megaphone",
+ "unicodeVersion": "6.0",
+ "digest": "f28088b3880bf25bb1daa9d624ff3d58d8ab768c1d442ab8a9bfec4032b47343"
+ },
+ "postal_horn": {
+ "category": "objects",
+ "moji": "📯",
+ "description": "postal horn",
+ "unicodeVersion": "6.0",
+ "digest": "0cee35210e86afe9bdf0e60345d0c8c23c25d0b43e74bfd4bb8f76e223ffdfe3"
+ },
+ "bell": {
+ "category": "symbols",
+ "moji": "🔔",
+ "description": "bell",
+ "unicodeVersion": "6.0",
+ "digest": "dae95427928c10693b249c1d324838702dd43295658faa85a9687ae4ea8cc36d"
+ },
+ "no_bell": {
+ "category": "symbols",
+ "moji": "🔕",
+ "description": "bell with cancellation stroke",
+ "unicodeVersion": "6.0",
+ "digest": "d04d96e4032e288d191079579c2cc3a24e41e02cc4bb681e85cd0f45e01af0a4"
+ },
+ "musical_score": {
+ "category": "activity",
+ "moji": "🎼",
+ "description": "musical score",
+ "unicodeVersion": "6.0",
+ "digest": "a379d47ab59308c0faabf74167d53085595a491ced7b1c2d8b9e9fc53575a650"
+ },
+ "musical_note": {
+ "category": "symbols",
+ "moji": "🎵",
+ "description": "musical note",
+ "unicodeVersion": "6.0",
+ "digest": "9204e70e4d68df5d8ab44087881c90c6d6cce0ac0403d767781cfb8ec23f3a98"
+ },
+ "notes": {
+ "category": "symbols",
+ "moji": "🎶",
+ "description": "multiple musical notes",
+ "unicodeVersion": "6.0",
+ "digest": "e18a0e7c520b862def1df85e1d56ef4a18f42e9998a2e9a000045cfddb6bf75d"
+ },
+ "microphone2": {
+ "category": "objects",
+ "moji": "🎙",
+ "description": "studio microphone",
"unicodeVersion": "7.0",
- "digest": "d2d609470d943ad4a320273180eb9c9bced90c472e24cac3f0a52f238f8caaf9"
+ "digest": "c1b14280e7a0bfd9ee4c8f83024f9cbf5a15a5bdadf3a4795f101864a4ad2c6d"
},
- "credit_card": {
+ "level_slider": {
"category": "objects",
- "moji": "💳",
- "description": "credit card",
+ "moji": "🎚",
+ "description": "level slider",
+ "unicodeVersion": "7.0",
+ "digest": "d57965d6b267a20a4529adbc71dd4efcb7f5e8f1146c03746b65922cd3f271c6"
+ },
+ "control_knobs": {
+ "category": "objects",
+ "moji": "🎛",
+ "description": "control knobs",
+ "unicodeVersion": "7.0",
+ "digest": "437abc26fe18f903c498b5223ab35de813b8166e8460cfe9bc5b59177d949bc1"
+ },
+ "microphone": {
+ "category": "activity",
+ "moji": "🎤",
+ "description": "microphone",
"unicodeVersion": "6.0",
- "digest": "b96a52f41dfd125f63f3f927e8333db5dd31388e3b9cfce4664bad8bc6a750a3"
+ "digest": "5d7d70a4347d677eeed8dcd0f87f9ed4b10a14a6ebeb9279eab9d6ed4d505d28"
},
- "crescent_moon": {
- "category": "nature",
- "moji": "🌙",
- "description": "crescent moon",
+ "headphones": {
+ "category": "activity",
+ "moji": "🎧",
+ "description": "headphone",
"unicodeVersion": "6.0",
- "digest": "bab44314af40c16b245f2e91b2cec98592cddda05630012ac9d6554e1d9b8b43"
+ "digest": "ca903e1013a0be982e3281dd357b9acf3cccd41db7021385a6d4d84ce1f31c04"
},
- "cricket": {
+ "radio": {
+ "category": "objects",
+ "moji": "📻",
+ "description": "radio",
+ "unicodeVersion": "6.0",
+ "digest": "a397a47cb1ab6621628112afcdc7ce4338f9e77954f2ef7e9bb461d519705099"
+ },
+ "saxophone": {
"category": "activity",
- "moji": "🏏",
- "description": "cricket bat and ball",
- "unicodeVersion": "10.0",
- "digest": "c0447966114b1db5c9d1dd5e47bd7f85a19accb8c6daeb9984644834e72e7598"
+ "moji": "🎷",
+ "description": "saxophone",
+ "unicodeVersion": "6.0",
+ "digest": "e49b31381a32c4ddf5b47b631e3c260bc62c793084b3cf026af5bea3105b6e0e"
},
- "crocodile": {
- "category": "nature",
- "moji": "🐊",
- "description": "crocodile",
+ "guitar": {
+ "category": "activity",
+ "moji": "🎸",
+ "description": "guitar",
"unicodeVersion": "6.0",
- "digest": "94f36ae30277cc802bbe827c727358540548ebdd85d3e1f70e976e205a885756"
+ "digest": "c51339829b282ea6007d42be71949ff646bb978d5e8989d15b21857aeb2b5f12"
},
- "croissant": {
- "category": "food",
- "moji": "🥐",
- "description": "croissant",
+ "musical_keyboard": {
+ "category": "activity",
+ "moji": "🎹",
+ "description": "musical keyboard",
+ "unicodeVersion": "6.0",
+ "digest": "85f8bb1668f64cde65c886b207ae588a794e98b6b64dfaee96659b80bc42b644"
+ },
+ "trumpet": {
+ "category": "activity",
+ "moji": "🎺",
+ "description": "trumpet",
+ "unicodeVersion": "6.0",
+ "digest": "21803bcdcfd7681ce77b8fdd30b115a4f67fb8f2cb91908ac9eb02613c413719"
+ },
+ "violin": {
+ "category": "activity",
+ "moji": "🎻",
+ "description": "violin",
+ "unicodeVersion": "6.0",
+ "digest": "3adf18cfe5778c508be936827ff1812503e02b8ebaf3db45053f0fab962cca39"
+ },
+ "drum": {
+ "category": "activity",
+ "moji": "🥁",
+ "description": "drum with drumsticks",
"unicodeVersion": "9.0",
- "digest": "8524b964d39d5193569c03177162dc3bf2d6b2e1d4b5ba2b651cd906199f053f"
+ "digest": "ba6e2d42af351338819b48803792d5dd1597e831fbae53d2f2aaef275306c8ed"
},
- "cross": {
- "category": "symbols",
- "moji": "✝",
- "description": "latin cross",
+ "iphone": {
+ "category": "objects",
+ "moji": "📱",
+ "description": "mobile phone",
+ "unicodeVersion": "6.0",
+ "digest": "6ef1372438c96383e375ab88a965db818efe0e3ae4b87f49870487c72f62ab9f"
+ },
+ "calling": {
+ "category": "objects",
+ "moji": "📲",
+ "description": "mobile phone with rightwards arrow at left",
+ "unicodeVersion": "6.0",
+ "digest": "3fc285fd0fc7a6beb6c64091671d0f789458e32aaba9d9fd74dfac16b9549826"
+ },
+ "telephone": {
+ "category": "objects",
+ "moji": "☎",
+ "description": "black telephone",
"unicodeVersion": "1.1",
- "digest": "4c96506b864fefcb67c75ab76262065ca34dc247bdf0a65a859a7c18051aa8be"
+ "digest": "63655f8f945e2b0a7bb235b7b2d118db845bea995f5d04adab25b9b1ea7fc9ae"
},
- "crossed_flags": {
+ "telephone_receiver": {
"category": "objects",
- "moji": "🎌",
- "description": "crossed flags",
+ "moji": "📞",
+ "description": "telephone receiver",
"unicodeVersion": "6.0",
- "digest": "451e17cbb40af3f42c7f687186c3ba7d8c9a99826635f3733256c663a0be31cb"
+ "digest": "83bc544dc191e7145a4d59059780fbd5c020c64f090de11816d681a504d65472"
},
- "crossed_swords": {
+ "pager": {
"category": "objects",
- "moji": "⚔",
- "description": "crossed swords",
- "unicodeVersion": "4.1",
- "digest": "a69a11c517efe421e0c36c3e231520967e8791d41b7a83370229e166b7a25d13"
+ "moji": "📟",
+ "description": "pager",
+ "unicodeVersion": "6.0",
+ "digest": "196d7a020ab2bb15c8d2ae723c8c8efe161d0e50109af3238727654956c554e5"
},
- "crown": {
- "category": "people",
- "moji": "👑",
- "description": "crown",
+ "fax": {
+ "category": "objects",
+ "moji": "📠",
+ "description": "fax machine",
"unicodeVersion": "6.0",
- "digest": "6fd07901b1aedf7f0fe7ebcdbd6f7fe40f768a66a0e862203274097b16b5431d"
+ "digest": "cf7823d54b57edbf46384c7833efc4ce9ddef29786d74a89a8af1e8ed2e7d599"
},
- "cruise_ship": {
- "category": "travel",
- "moji": "🛳",
- "description": "passenger ship",
+ "battery": {
+ "category": "objects",
+ "moji": "🔋",
+ "description": "battery",
+ "unicodeVersion": "6.0",
+ "digest": "8c50a487dfc349dd3b57ab4000e892efaeec967e5862485b3a023fb63c8c2949"
+ },
+ "electric_plug": {
+ "category": "objects",
+ "moji": "🔌",
+ "description": "electric plug",
+ "unicodeVersion": "6.0",
+ "digest": "78feabb40b541ad46e396f9508de72a52f0e4ca2f48717078eea100b3c125a24"
+ },
+ "computer": {
+ "category": "objects",
+ "moji": "💻",
+ "description": "personal computer",
+ "unicodeVersion": "6.0",
+ "digest": "08200fc0c04bb776d3b7e187de415a1a6a6bc82a7beb70829e03c40c5312d7d1"
+ },
+ "desktop": {
+ "category": "objects",
+ "moji": "🖥",
+ "description": "desktop computer",
"unicodeVersion": "7.0",
- "digest": "8dc923a465e8183b0a1410f810825c190e494c77b01de7c2f5ee0a64f7580206"
+ "digest": "a4d1664692b50035f04b1236960a59c61fd5bedd35b77ce0772aabb776631fa1"
},
- "cry": {
- "category": "people",
- "moji": "😢",
- "description": "crying face",
+ "printer": {
+ "category": "objects",
+ "moji": "🖨",
+ "description": "printer",
+ "unicodeVersion": "7.0",
+ "digest": "6d955ef121cac0fb8f24e617c664e13b44cb318db041be39ebbbd158e731ae2f"
+ },
+ "keyboard": {
+ "category": "objects",
+ "moji": "⌨",
+ "description": "keyboard",
+ "unicodeVersion": "1.1",
+ "digest": "0f3ca37b19de485983e39b02db94b0f6243d94081918703510e020ef1d269810"
+ },
+ "mouse_three_button": {
+ "category": "objects",
+ "moji": "🖱",
+ "description": "three button mouse",
+ "unicodeVersion": "7.0",
+ "digest": "aea26b9ebd3ea81d0e8b56c8a0281a94e9862e9deda989ec679150e7aec36b5b"
+ },
+ "trackball": {
+ "category": "objects",
+ "moji": "🖲",
+ "description": "trackball",
+ "unicodeVersion": "7.0",
+ "digest": "80003d0b886adf81afc07427b73b6ba462032c9fad318d1dcc142eae6e943238"
+ },
+ "minidisc": {
+ "category": "objects",
+ "moji": "💽",
+ "description": "minidisc",
"unicodeVersion": "6.0",
- "digest": "5b16d711fc3d2e611dbd406e5849c22ebdad9c9812fd6897f304a89f21f05755"
+ "digest": "5b6ddb7b5242dffdc04755e8dcac4cc3ae237040481bf076a8c1f95ce0ada3b6"
},
- "crying_cat_face": {
- "category": "people",
- "moji": "😿",
- "description": "crying cat face",
+ "floppy_disk": {
+ "category": "objects",
+ "moji": "💾",
+ "description": "floppy disk",
"unicodeVersion": "6.0",
- "digest": "32cc70455196cddbd0664789c5b1dc7d777a81884b748bdf43c8de6cd892d498"
+ "digest": "24b4d593478f5619160a95967deb34662d0b1a3f6da96f84910d749914179e13"
},
- "crystal_ball": {
+ "cd": {
"category": "objects",
- "moji": "🔮",
- "description": "crystal ball",
+ "moji": "💿",
+ "description": "optical disc",
"unicodeVersion": "6.0",
- "digest": "225f048f2fefb378d3178931ad5e5e8feb419a19436e45d03c199bd726ec5151"
+ "digest": "d7242edbba09de17d223d7e3178a241b1aafe05d14a19000428522dc9b2891f4"
},
- "cucumber": {
- "category": "food",
- "moji": "🥒",
- "description": "cucumber",
- "unicodeVersion": "9.0",
- "digest": "752ddddf7b18831b74cc2b14b3fd787f9f914c1a9e72b7119f2e0b7267e4f749"
+ "dvd": {
+ "category": "objects",
+ "moji": "📀",
+ "description": "dvd",
+ "unicodeVersion": "6.0",
+ "digest": "06080cd1b46afcbdd854c06936389fc990aec029dd6909345861ff18d2275045"
},
- "cupid": {
- "category": "symbols",
- "moji": "💘",
- "description": "heart with arrow",
+ "movie_camera": {
+ "category": "objects",
+ "moji": "🎥",
+ "description": "movie camera",
"unicodeVersion": "6.0",
- "digest": "c13b5e7a7a9824b3921b07805ffc08bb07e01f5384c49909ac375e9f55a3102c"
+ "digest": "f82751e6f069482fbc01b0d2d135fdf58ef3cf58526b7dbf5b50a71b5ea0ae75"
},
- "curly_loop": {
- "category": "symbols",
- "moji": "➰",
- "description": "curly loop",
+ "film_frames": {
+ "category": "objects",
+ "moji": "🎞",
+ "description": "film frames",
+ "unicodeVersion": "7.0",
+ "digest": "ddc2c8bf00765b8a91bff22a06dba1cef2a78d89afb9515e55dc417cfcba570e"
+ },
+ "projector": {
+ "category": "objects",
+ "moji": "📽",
+ "description": "film projector",
+ "unicodeVersion": "7.0",
+ "digest": "ad03ae86f9188ccc2909335de034ed0de68dadc4a6e59fb678e752d219c41f92"
+ },
+ "clapper": {
+ "category": "activity",
+ "moji": "🎬",
+ "description": "clapper board",
"unicodeVersion": "6.0",
- "digest": "365b37a4afb451ace34de1a59727467bfe6f501437dc3459ec55a0234d98e307"
+ "digest": "73820f057b2d7d50f6be4a51c0ebaa39a4e0463f0f1121471fb3816fdd05f5bd"
},
- "currency_exchange": {
- "category": "symbols",
- "moji": "💱",
- "description": "currency exchange",
+ "tv": {
+ "category": "objects",
+ "moji": "📺",
+ "description": "television",
"unicodeVersion": "6.0",
- "digest": "3703307c690bd113fbe5826720c6466ee9dccc80ef8d3556cfe2ba7401240df8"
+ "digest": "86ab2eef07bed93f56e29e20ef67d566ec7b4b1e96463ba3f9614a1db28aec11"
},
- "curry": {
- "category": "food",
- "moji": "🍛",
- "description": "curry and rice",
+ "camera": {
+ "category": "objects",
+ "moji": "📷",
+ "description": "camera",
"unicodeVersion": "6.0",
- "digest": "6c317ba8a3dba9a294c2a3cb3b6385c946549a06bf934fd4b6964304f3b9a9b3"
+ "digest": "5d86baa4baede9c6d02fbe02fd2d4ad07a47a77e09c1d2d045ea20b36bd2938c"
},
- "custard": {
- "category": "food",
- "moji": "🍮",
- "description": "custard",
+ "camera_with_flash": {
+ "category": "objects",
+ "moji": "📸",
+ "description": "camera with flash",
+ "unicodeVersion": "7.0",
+ "digest": "9b701460de9ba318811d771bb451fb109850bc08ad6592f9365bc350de571f9f"
+ },
+ "video_camera": {
+ "category": "objects",
+ "moji": "📹",
+ "description": "video camera",
"unicodeVersion": "6.0",
- "digest": "9790383c5841ec63d87182fc0f4dd05862c973b0e1b9f2fc2c047654089a404c"
+ "digest": "b297b7675c9e69638a29f5332a4024fd68675101d03a059d90f151534de1a3b5"
},
- "customs": {
- "category": "symbols",
- "moji": "🛃",
- "description": "customs",
+ "vhs": {
+ "category": "objects",
+ "moji": "📼",
+ "description": "videocassette",
"unicodeVersion": "6.0",
- "digest": "0f374b6f60c5bc6da41b0682a352304bc258ef6274da8afd6820ff9bb50a5c39"
+ "digest": "7fbd915d2b660e32fc5720179a113deea2997601f8dc0f7dcf4ec754f4d8d17b"
},
- "cyclone": {
- "category": "symbols",
- "moji": "🌀",
- "description": "cyclone",
+ "mag": {
+ "category": "objects",
+ "moji": "🔍",
+ "description": "left-pointing magnifying glass",
"unicodeVersion": "6.0",
- "digest": "ead05cbe9adcf38310712af602c8caea12eac26e87756579efb8c542dde8b391"
+ "digest": "bfb8b2d3ef82281c7b821c3814c8213d6f853322546f0107575dedc20de31559"
},
- "dagger": {
+ "mag_right": {
"category": "objects",
- "moji": "🗡",
- "description": "dagger knife",
+ "moji": "🔎",
+ "description": "right-pointing magnifying glass",
+ "unicodeVersion": "6.0",
+ "digest": "3ee06dcf290a822c5084d8e0cf245a97b354fb03ff0b5f4ae2a7063a6c967ce7"
+ },
+ "candle": {
+ "category": "objects",
+ "moji": "🕯",
+ "description": "candle",
"unicodeVersion": "7.0",
- "digest": "6038c5c863bdacbade2f2426a48bd530e286d6624813960ae0e390d71d4cd58e"
+ "digest": "67400dd5e800a6e496a661da639d4964bf6646525bcf6d6c4773529ae5f7f075"
},
- "dancer": {
- "category": "people",
- "moji": "💃",
- "description": "dancer",
+ "bulb": {
+ "category": "objects",
+ "moji": "💡",
+ "description": "electric light bulb",
"unicodeVersion": "6.0",
- "digest": "21117e63374e501b1daf8350d5921314cc8b306558c8d6803d43c71066438648"
+ "digest": "2cdc43e4bb17fc00c903a911e065fe1bb96f4f57103a3836cfa908c4618e6d45"
},
- "dancer_tone1": {
- "category": "people",
- "moji": "💃🏻",
- "description": "dancer tone 1",
- "unicodeVersion": "8.0",
- "digest": "35c64d92577272999d1151cacb584e248a2a005ce9388ce64250bcc8a7178dc1"
+ "flashlight": {
+ "category": "objects",
+ "moji": "🔦",
+ "description": "electric torch",
+ "unicodeVersion": "6.0",
+ "digest": "2fd24a87d1609384d671d0d6b6c5d27afde221e28e0ce1443f09b8ab96200329"
},
- "dancer_tone2": {
- "category": "people",
- "moji": "💃🏼",
- "description": "dancer tone 2",
- "unicodeVersion": "8.0",
- "digest": "9dfdd28db7267f172b1bae228216d0111583c4903934e4afa081cdbf83facd45"
+ "izakaya_lantern": {
+ "category": "objects",
+ "moji": "🏮",
+ "description": "izakaya lantern",
+ "unicodeVersion": "6.0",
+ "digest": "de36e5f5fe5da0c922e194b1ae93ed07039620b83e518a259c374563a166f4bf"
},
- "dancer_tone3": {
- "category": "people",
- "moji": "💃🏽",
- "description": "dancer tone 3",
- "unicodeVersion": "8.0",
- "digest": "79b7c1e313b235e0acec3ff50d3eb7ecff53b5ae4a2ba7d363b0992fa939ac9b"
+ "notebook_with_decorative_cover": {
+ "category": "objects",
+ "moji": "📔",
+ "description": "notebook with decorative cover",
+ "unicodeVersion": "6.0",
+ "digest": "6054dca42cc303e7a8d89111d06aaca38950e179a348fc1a2a7c3405401de8a0"
},
- "dancer_tone4": {
- "category": "people",
- "moji": "💃🏾",
- "description": "dancer tone 4",
- "unicodeVersion": "8.0",
- "digest": "16e6f14fef6464ac20273713c196e189eab75f3ecab98b9eee172bc33c8f2847"
+ "closed_book": {
+ "category": "objects",
+ "moji": "📕",
+ "description": "closed book",
+ "unicodeVersion": "6.0",
+ "digest": "2b60f7ca436be9aa12cc95d9733e3c72cf36ca7c98a83be70748d1452fa758da"
},
- "dancer_tone5": {
- "category": "people",
- "moji": "💃🏿",
- "description": "dancer tone 5",
- "unicodeVersion": "8.0",
- "digest": "c090f007657b775acab02656ad3de9d02f97373d6b897a7052e1aa5b032de2ee"
+ "book": {
+ "category": "objects",
+ "moji": "📖",
+ "description": "open book",
+ "unicodeVersion": "6.0",
+ "digest": "07f1af90a8f2bdddaa585b4da1da9ac7c52dbb7365d409d264e2b66f43b165d7"
},
- "dancers": {
- "category": "people",
- "moji": "👯",
- "description": "woman with bunny ears",
+ "green_book": {
+ "category": "objects",
+ "moji": "📗",
+ "description": "green book",
"unicodeVersion": "6.0",
- "digest": "8449ee0de1754c317e82371ae80d7f6b840b69b657960953a50ddcb918f363c2"
+ "digest": "6a638f78d0ccb18907a2606afb45e9d32852fbaeee2e41250432e102b8366984"
},
- "dango": {
- "category": "food",
- "moji": "🍡",
- "description": "dango",
+ "blue_book": {
+ "category": "objects",
+ "moji": "📘",
+ "description": "blue book",
"unicodeVersion": "6.0",
- "digest": "c3047205e462d958f6e5ab2ad318bc70e903343c4a87956055f76ea8adcc9456"
+ "digest": "bc47b3b8f1bfa21c2a4bf185cc247e0c9fc7f4f221292c3b0286e13b32f7a6da"
},
- "dark_sunglasses": {
- "category": "people",
- "moji": "🕶",
- "description": "dark sunglasses",
- "unicodeVersion": "7.0",
- "digest": "0f941dc4ed9dcc861863176f49812966bcae7e3179044c1c8fa22de9ed8dbd09"
+ "orange_book": {
+ "category": "objects",
+ "moji": "📙",
+ "description": "orange book",
+ "unicodeVersion": "6.0",
+ "digest": "b2744b07ad93a32b7f114bb8e11f0b26445ce0b2b4edf4720f14fc32da3b3cce"
},
- "dart": {
- "category": "activity",
- "moji": "🎯",
- "description": "direct hit",
+ "books": {
+ "category": "objects",
+ "moji": "📚",
+ "description": "books",
"unicodeVersion": "6.0",
- "digest": "01d4bb3f51417e7861404746bbebc4704edf5fa80bde6ad9cf9e12c238a1206c"
+ "digest": "566cb93cf32782ae39aec670e22b711fa33afd52bc75c9e7069174cd252125d1"
},
- "dash": {
- "category": "nature",
- "moji": "💨",
- "description": "dash symbol",
+ "notebook": {
+ "category": "objects",
+ "moji": "📓",
+ "description": "notebook",
"unicodeVersion": "6.0",
- "digest": "6c0ab681346b90d7b75e1e16531890a6ebed5c7b8bc63b269cc4a6080328fd6f"
+ "digest": "aeb529f82e76ab543f7ab44ef530cbc3558b586559b9e04a6fddc0a0a06ebbb2"
},
- "date": {
+ "ledger": {
"category": "objects",
- "moji": "📅",
- "description": "calendar",
+ "moji": "📒",
+ "description": "ledger",
"unicodeVersion": "6.0",
- "digest": "3d0a59825a932b1a12f6b0980aaabc93b77f55499d5c6d81f61cf03dbb7188cb"
+ "digest": "826379f5164a8c3a10ec43ae1296f994ffd40bc3eb6c0595117993eff65f8f2a"
},
- "deciduous_tree": {
- "category": "nature",
- "moji": "🌳",
- "description": "deciduous tree",
+ "page_with_curl": {
+ "category": "objects",
+ "moji": "📃",
+ "description": "page with curl",
"unicodeVersion": "6.0",
- "digest": "89804981f62825a45150919436442c70838d90a015de398d2bb9aaffa4b2e998"
+ "digest": "da5752233d152e49c5fac55d89b82fbd1e98b5a6d7f2f574fe7d218879899282"
},
- "deer": {
- "category": "nature",
- "moji": "🦌",
- "description": "deer",
- "unicodeVersion": "9.0",
- "digest": "83a9c2a0bfb5d82631dc653337279545d72ccea10fb2ccf6da6ab82586fb1d56"
+ "scroll": {
+ "category": "objects",
+ "moji": "📜",
+ "description": "scroll",
+ "unicodeVersion": "6.0",
+ "digest": "abdb7024b5f50b04389b1a65e5cb5a3b7929f4e9c5719388684603210774b3c1"
},
- "department_store": {
- "category": "travel",
- "moji": "🏬",
- "description": "department store",
+ "page_facing_up": {
+ "category": "objects",
+ "moji": "📄",
+ "description": "page facing up",
"unicodeVersion": "6.0",
- "digest": "0cbab31777aeecc148e54777e1a65e794eb4b5f45e0f8ecaffa990efd06a0fb2"
+ "digest": "d8aa1a6d309f70108aef98ee066419652a91fe5d793a1230f2de922ef6275f03"
},
- "desert": {
- "category": "travel",
- "moji": "🏜",
- "description": "desert",
+ "newspaper": {
+ "category": "objects",
+ "moji": "📰",
+ "description": "newspaper",
+ "unicodeVersion": "6.0",
+ "digest": "591892ad44fd9168ec274c76bf212a15020dd91091623f79526514b9d83f84c3"
+ },
+ "newspaper2": {
+ "category": "objects",
+ "moji": "🗞",
+ "description": "rolled-up newspaper",
"unicodeVersion": "7.0",
- "digest": "c60bd12a5864c0789c2e8fb93a392a42600e08cc23450c716c0bd008c16e1c93"
+ "digest": "a2d8413b95004751aa47bbb80bd5bd067b0591cf1c832ecb6b7911b88be7043c"
},
- "desktop": {
+ "bookmark_tabs": {
"category": "objects",
- "moji": "🖥",
- "description": "desktop computer",
+ "moji": "📑",
+ "description": "bookmark tabs",
+ "unicodeVersion": "6.0",
+ "digest": "78450d6c894fee9badbed92a07144718908a305be825304dc47839e259884e9c"
+ },
+ "bookmark": {
+ "category": "objects",
+ "moji": "🔖",
+ "description": "bookmark",
+ "unicodeVersion": "6.0",
+ "digest": "cafb404fab72e67a7c0254ebe91f9631be9a6f7da763bbd948358e8544e2fd53"
+ },
+ "label": {
+ "category": "objects",
+ "moji": "🏷",
+ "description": "label",
"unicodeVersion": "7.0",
- "digest": "a4d1664692b50035f04b1236960a59c61fd5bedd35b77ce0772aabb776631fa1"
+ "digest": "ad9f3bfc709138edfb61c692d96c1ca08b0bd97203d370342e7b70f46ae23aa8"
},
- "diamond_shape_with_a_dot_inside": {
- "category": "symbols",
- "moji": "💠",
- "description": "diamond shape with a dot inside",
+ "moneybag": {
+ "category": "objects",
+ "moji": "💰",
+ "description": "money bag",
"unicodeVersion": "6.0",
- "digest": "785dedaf65b4c8a8b2a758608563528cae6d65864e36b17a45b7b4b15fce67e5"
+ "digest": "5fbc74d9eb713ca5d00c8ecb528361bc22c24ab97fdab6606427acc5af480c07"
},
- "diamonds": {
+ "yen": {
+ "category": "objects",
+ "moji": "💴",
+ "description": "banknote with yen sign",
+ "unicodeVersion": "6.0",
+ "digest": "b12182adf55be97d7d5e52176bb149c16f57d0645f508dcb97efbeab4607d439"
+ },
+ "dollar": {
+ "category": "objects",
+ "moji": "💵",
+ "description": "banknote with dollar sign",
+ "unicodeVersion": "6.0",
+ "digest": "8e7ee431f4c5afac19aa8d93a433619c96952178e6cf7e20c6e6e0768cccf7e0"
+ },
+ "euro": {
+ "category": "objects",
+ "moji": "💶",
+ "description": "banknote with euro sign",
+ "unicodeVersion": "6.0",
+ "digest": "5c08342b52ba2417f1daf6c357107eddc3ed9e46ed82443665859dba944b0754"
+ },
+ "pound": {
+ "category": "objects",
+ "moji": "💷",
+ "description": "banknote with pound sign",
+ "unicodeVersion": "6.0",
+ "digest": "2cb892a8131edb282cb8f5dadaa8db602e6b6934fdf06588d8ccb8f3e7e6eae6"
+ },
+ "money_with_wings": {
+ "category": "objects",
+ "moji": "💸",
+ "description": "money with wings",
+ "unicodeVersion": "6.0",
+ "digest": "3d2b0e5939f92d0ab9e40758a9ec239817ad6e9463fd2140803ee229bdc95720"
+ },
+ "credit_card": {
+ "category": "objects",
+ "moji": "💳",
+ "description": "credit card",
+ "unicodeVersion": "6.0",
+ "digest": "b96a52f41dfd125f63f3f927e8333db5dd31388e3b9cfce4664bad8bc6a750a3"
+ },
+ "chart": {
"category": "symbols",
- "moji": "♦",
- "description": "black diamond suit",
+ "moji": "💹",
+ "description": "chart with upwards trend and yen sign",
+ "unicodeVersion": "6.0",
+ "digest": "b513f5b5ff0e9a8139aaa378982e1937b09da1827adef70158d07d8c4a288139"
+ },
+ "envelope": {
+ "category": "objects",
+ "moji": "✉",
+ "description": "envelope",
"unicodeVersion": "1.1",
- "digest": "77c773b770a293129c33513fc22124c6953db07d1b254905b0c734c853e65387"
+ "digest": "ff00c491ba40989d83d6586ebb8e18e1507cdf55e056981803c3f77d0b246314"
},
- "disappointed": {
- "category": "people",
- "moji": "😞",
- "description": "disappointed face",
+ "e-mail": {
+ "category": "objects",
+ "moji": "📧",
+ "description": "e-mail symbol",
"unicodeVersion": "6.0",
- "digest": "0e8f9fdef204d2684a92666709ff4d785d5b3690f1ff0f7ebed9f37d2a3651f5"
+ "digest": "7ca1119b9683e5e34185c9cbee9bcd59b6e24feae3a691826672c72d1d7401d1"
},
- "disappointed_relieved": {
+ "incoming_envelope": {
+ "category": "objects",
+ "moji": "📨",
+ "description": "incoming envelope",
+ "unicodeVersion": "6.0",
+ "digest": "c23f819ce0abd3b695b05051f8c9e9be72f9bf5176207106c56e30015c199252"
+ },
+ "envelope_with_arrow": {
+ "category": "objects",
+ "moji": "📩",
+ "description": "envelope with downwards arrow above",
+ "unicodeVersion": "6.0",
+ "digest": "1af1da925637995928c8f83f7f5effee40db1f5a33f1cd7d626ff9ed408bfe19"
+ },
+ "outbox_tray": {
+ "category": "objects",
+ "moji": "📤",
+ "description": "outbox tray",
+ "unicodeVersion": "6.0",
+ "digest": "9ccb7f9dfbec078899a97725772841bc3f2752352abf9fd29765a782169b2330"
+ },
+ "inbox_tray": {
+ "category": "objects",
+ "moji": "📥",
+ "description": "inbox tray",
+ "unicodeVersion": "6.0",
+ "digest": "fa79ca5efc93767858677871df687d0666cc9174e7f226d7acb65c15a4cad0df"
+ },
+ "package": {
+ "category": "objects",
+ "moji": "📦",
+ "description": "package",
+ "unicodeVersion": "6.0",
+ "digest": "06ce28df9b4abdb483f7d7eccad4a388fce4ed3596635b8ff148e7399fa99d53"
+ },
+ "mailbox": {
+ "category": "objects",
+ "moji": "📫",
+ "description": "closed mailbox with raised flag",
+ "unicodeVersion": "6.0",
+ "digest": "492df72deb2679ad387f76edf9c9e7475ef7221c5eb8e24fa6c964e5a3250a61"
+ },
+ "mailbox_closed": {
+ "category": "objects",
+ "moji": "📪",
+ "description": "closed mailbox with lowered flag",
+ "unicodeVersion": "6.0",
+ "digest": "be27aef10401f26e8f539216b01e2e0774756cb3abb9535d55f91de5415d9737"
+ },
+ "mailbox_with_mail": {
+ "category": "objects",
+ "moji": "📬",
+ "description": "open mailbox with raised flag",
+ "unicodeVersion": "6.0",
+ "digest": "bfe3df313a2f57bdb99192ce6e674044e385d044020b6e472b2414fe17649805"
+ },
+ "mailbox_with_no_mail": {
+ "category": "objects",
+ "moji": "📭",
+ "description": "open mailbox with lowered flag",
+ "unicodeVersion": "6.0",
+ "digest": "cad6a927c392ed3181284f005eb260976cf69ab6608d59a43ea252a89c89b6e1"
+ },
+ "postbox": {
+ "category": "objects",
+ "moji": "📮",
+ "description": "postbox",
+ "unicodeVersion": "6.0",
+ "digest": "3e12a4b2a7bce5c1257ecd05f69ba6f51d9db39b21f6393c304e6870c5f432da"
+ },
+ "ballot_box": {
+ "category": "objects",
+ "moji": "🗳",
+ "description": "ballot box with ballot",
+ "unicodeVersion": "7.0",
+ "digest": "375bf5ca28895dd54acc3f7927d62fed9d56ad79b5218f6f3be2533929ad47a5"
+ },
+ "pencil2": {
+ "category": "objects",
+ "moji": "✏",
+ "description": "pencil",
+ "unicodeVersion": "1.1",
+ "digest": "537f6d69a4039270d8856febea24fd3021005da6f35dca29e5491ee49cc3b217"
+ },
+ "black_nib": {
+ "category": "objects",
+ "moji": "✒",
+ "description": "black nib",
+ "unicodeVersion": "1.1",
+ "digest": "196230be1ae39d5841e9ed322f74816c61e47c4235dab7abff0e6d86fba786ed"
+ },
+ "pen_fountain": {
+ "category": "objects",
+ "moji": "🖋",
+ "description": "lower left fountain pen",
+ "unicodeVersion": "7.0",
+ "digest": "114ba929b5f8812b9767e8260112ebcebd04a46175c3d5d487d71ca36c372d40"
+ },
+ "pen_ballpoint": {
+ "category": "objects",
+ "moji": "🖊",
+ "description": "lower left ballpoint pen",
+ "unicodeVersion": "7.0",
+ "digest": "7739947fa359e641e04f51bae4ba292613fa2692b17b3f2b3c4bf27c82e97d82"
+ },
+ "paintbrush": {
+ "category": "objects",
+ "moji": "🖌",
+ "description": "lower left paintbrush",
+ "unicodeVersion": "7.0",
+ "digest": "093064c1459d5b84932aab78fdc8d597e333ab2ce73524733e42c2b609b40f6b"
+ },
+ "crayon": {
+ "category": "objects",
+ "moji": "🖍",
+ "description": "lower left crayon",
+ "unicodeVersion": "7.0",
+ "digest": "d2d609470d943ad4a320273180eb9c9bced90c472e24cac3f0a52f238f8caaf9"
+ },
+ "pencil": {
+ "category": "objects",
+ "moji": "📝",
+ "description": "memo",
+ "unicodeVersion": "6.0",
+ "digest": "d18a7c355267e820ac7694c6f7da276b19a59fd42fca4eab74b7f3653e4acdd6"
+ },
+ "briefcase": {
"category": "people",
- "moji": "😥",
- "description": "disappointed but relieved face",
+ "moji": "💼",
+ "description": "briefcase",
"unicodeVersion": "6.0",
- "digest": "cfe92ebfbaaa0b02b84b05c17c94f07db315a8771d3ebfea8043862559c6ce74"
+ "digest": "f72220b3fa933c6b503c041643543369177efc2bee094d392cbf8ee9d5cf11a0"
+ },
+ "file_folder": {
+ "category": "objects",
+ "moji": "📁",
+ "description": "file folder",
+ "unicodeVersion": "6.0",
+ "digest": "25f9840f4a2bc80558ef9ed231f88a7031bc4b0aad087a7be9748fb006a37288"
+ },
+ "open_file_folder": {
+ "category": "objects",
+ "moji": "📂",
+ "description": "open file folder",
+ "unicodeVersion": "6.0",
+ "digest": "ebcb375b6039c7a7f35fd36bc9240fc401ac9b4225922fc015f7b59773a89e95"
},
"dividers": {
"category": "objects",
@@ -2596,264 +8889,1034 @@
"unicodeVersion": "7.0",
"digest": "e0b0b297473b27e2163e7b9d38be02a98a025b9c0c679da3bb5af2af7b4d5001"
},
- "dizzy": {
- "category": "nature",
- "moji": "💫",
- "description": "dizzy symbol",
+ "date": {
+ "category": "objects",
+ "moji": "📅",
+ "description": "calendar",
"unicodeVersion": "6.0",
- "digest": "b3d16f5748abede6f133bac2104e51eaff0e59f184256aa6902ebb6d8a3e32b7"
+ "digest": "3d0a59825a932b1a12f6b0980aaabc93b77f55499d5c6d81f61cf03dbb7188cb"
},
- "dizzy_face": {
- "category": "people",
- "moji": "😵",
- "description": "dizzy face",
+ "calendar": {
+ "category": "objects",
+ "moji": "📆",
+ "description": "tear-off calendar",
"unicodeVersion": "6.0",
- "digest": "5e3c7e1f97d4d9a330b89358c89d2fbdf31a945f3be40c352600a985ac49b197"
+ "digest": "275fa5b2c113c3d117b1c8970f01dd897b90405db7a55ff6a3dda767817ed4f5"
},
- "do_not_litter": {
- "category": "symbols",
- "moji": "🚯",
- "description": "do not litter symbol",
+ "notepad_spiral": {
+ "category": "objects",
+ "moji": "🗒",
+ "description": "spiral note pad",
+ "unicodeVersion": "7.0",
+ "digest": "cff2a9d4657b423731ba9d91e366ffd774a8504650039b5757ace4c0911eda9f"
+ },
+ "calendar_spiral": {
+ "category": "objects",
+ "moji": "🗓",
+ "description": "spiral calendar pad",
+ "unicodeVersion": "7.0",
+ "digest": "01aefae6a6d0d517be52e7918d6893d55a9fa5b7480d60cb8b8b5a743573ea0b"
+ },
+ "card_index": {
+ "category": "objects",
+ "moji": "📇",
+ "description": "card index",
"unicodeVersion": "6.0",
- "digest": "13dd4fc59cd518187d2827a935ad7ca61c8f4542ff9843d882ee44c942e57045"
+ "digest": "262bfa04568a192dd8696ec43c6f916a45e16a7c19d77f830e366de0d930bb7a"
},
- "dog": {
- "category": "nature",
- "moji": "🐶",
- "description": "dog face",
+ "chart_with_upwards_trend": {
+ "category": "objects",
+ "moji": "📈",
+ "description": "chart with upwards trend",
"unicodeVersion": "6.0",
- "digest": "d6ee83df6b3a233b90c0b589c6f290164239fb4062be21566430183d9b4e507a"
+ "digest": "c09ad5dd7817106a1df65a1f8da086006de804d2de22107423a5805da5ee3f9f"
},
- "dog2": {
- "category": "nature",
- "moji": "🐕",
- "description": "dog",
+ "chart_with_downwards_trend": {
+ "category": "objects",
+ "moji": "📉",
+ "description": "chart with downwards trend",
"unicodeVersion": "6.0",
- "digest": "ba52e04ae1e024c596fc453b9af53347ecf76d342150b7701eccb83ef2df67f0"
+ "digest": "0c12dfccd80564f29dc56d3e994e55793ec02d1bd4e3109c7e1b003163579ecc"
},
- "dollar": {
+ "bar_chart": {
"category": "objects",
- "moji": "💵",
- "description": "banknote with dollar sign",
+ "moji": "📊",
+ "description": "bar chart",
"unicodeVersion": "6.0",
- "digest": "8e7ee431f4c5afac19aa8d93a433619c96952178e6cf7e20c6e6e0768cccf7e0"
+ "digest": "ba858a33edbab84f6c0505404a0f10cd89031747ab4e9104524973813d05970a"
},
- "dolls": {
+ "clipboard": {
"category": "objects",
- "moji": "🎎",
- "description": "japanese dolls",
+ "moji": "📋",
+ "description": "clipboard",
"unicodeVersion": "6.0",
- "digest": "da477dfcb1ecfab98835f4ed721354240d1a7f82e1d7df4b80e67baabb237b9f"
+ "digest": "d3d42f1ff9c8dacfd8219d9563e3fab709290d887695d3bf0a0e51afac7b7149"
},
- "dolphin": {
- "category": "nature",
- "moji": "🐬",
- "description": "dolphin",
+ "pushpin": {
+ "category": "objects",
+ "moji": "📌",
+ "description": "pushpin",
"unicodeVersion": "6.0",
- "digest": "92298c8287cbda0eaad24b50145236bb29ff9a6473a6faac07deddd8ae97ff1b"
+ "digest": "c8b820588fe733d505e95d93eeadcc3e1073f745b2b53bae8dcc1c0bb8624aa7"
},
- "door": {
+ "round_pushpin": {
"category": "objects",
- "moji": "🚪",
- "description": "door",
+ "moji": "📍",
+ "description": "round pushpin",
"unicodeVersion": "6.0",
- "digest": "4e3117984e88544efda68c78d0f90e7ba44533ba74beba28e7ea6b9718ca3225"
+ "digest": "c79c44a8563cd0777ce2f26d1dea54b283d76d4309eccfe048ba3b2ea8a9645b"
},
- "doughnut": {
- "category": "food",
- "moji": "🍩",
- "description": "doughnut",
+ "paperclip": {
+ "category": "objects",
+ "moji": "📎",
+ "description": "paperclip",
"unicodeVersion": "6.0",
- "digest": "f249df4adc65187348d3a57d110c672dbf9e5a4d7919db473aab71f24f85e9b6"
+ "digest": "dbe70e01e1d9bdb96851f18b51cc2380436ab1affe4922c1ad9f4c76811e8453"
},
- "dove": {
- "category": "nature",
- "moji": "🕊",
- "description": "dove of peace",
+ "paperclips": {
+ "category": "objects",
+ "moji": "🖇",
+ "description": "linked paperclips",
"unicodeVersion": "7.0",
- "digest": "66d335c04e2daef92ed0ee5979d6b072d99551e2950cdbc78882bf28269773f8"
+ "digest": "d71e54755ddaf37aa86ff2c1cd1d8dc55d2a5b806a0b9080168ea8e28332d46b"
},
- "dragon": {
- "category": "nature",
- "moji": "🐉",
- "description": "dragon",
+ "straight_ruler": {
+ "category": "objects",
+ "moji": "📏",
+ "description": "straight ruler",
"unicodeVersion": "6.0",
- "digest": "460c7674101d32edf90b563329947c620c1e6bea9dfe2c81483e3313248d498c"
+ "digest": "ab8b04cfbb19178452fc5eb32eea3a619049b0d46ea21b4c48023e01c30b6510"
},
- "dragon_face": {
- "category": "nature",
- "moji": "🐲",
- "description": "dragon face",
+ "triangular_ruler": {
+ "category": "objects",
+ "moji": "📐",
+ "description": "triangular ruler",
"unicodeVersion": "6.0",
- "digest": "8990c5f5a5cf7d94e4eafb7515e6367cfaeea6bd648c36d65dca1525b60d591c"
+ "digest": "8db7d5546f2c1403a5dbcd87216d15c9ded1c137def938f6cff3e14282b3b659"
},
- "dress": {
- "category": "people",
- "moji": "👗",
- "description": "dress",
+ "scissors": {
+ "category": "objects",
+ "moji": "✂",
+ "description": "black scissors",
+ "unicodeVersion": "1.1",
+ "digest": "295ce7c48d3f8e58daa454f18d534146bfaf98d46614e2783535927f23d22215"
+ },
+ "card_box": {
+ "category": "objects",
+ "moji": "🗃",
+ "description": "card file box",
+ "unicodeVersion": "7.0",
+ "digest": "25acb25ee37044c67b69ce3a7cb412f7ec2fad76009b9e022cf45b58e0d1d898"
+ },
+ "file_cabinet": {
+ "category": "objects",
+ "moji": "🗄",
+ "description": "file cabinet",
+ "unicodeVersion": "7.0",
+ "digest": "29cf5c9587eb08a6736e37a6c7e01ad7e1453dd770c02c743604c2abf314d90f"
+ },
+ "wastebasket": {
+ "category": "objects",
+ "moji": "🗑",
+ "description": "wastebasket",
+ "unicodeVersion": "7.0",
+ "digest": "2a099e1431b96a2de10f79ddb319a1bcdc74d5bd7d05dee9a27b67274e4d86b0"
+ },
+ "lock": {
+ "category": "objects",
+ "moji": "🔒",
+ "description": "lock",
"unicodeVersion": "6.0",
- "digest": "9a1c024dd6f402a2764ad097eeb5656488df5bd60905e8deb04dc3f91ab890f4"
+ "digest": "63408513eaf29059c6025981c27434f71fa2be87dcd060dd9f971d0e54a73922"
},
- "dromedary_camel": {
- "category": "nature",
- "moji": "🐪",
- "description": "dromedary camel",
+ "unlock": {
+ "category": "objects",
+ "moji": "🔓",
+ "description": "open lock",
"unicodeVersion": "6.0",
- "digest": "8401968c38aa200463e4f8dd68287cff7ccc0c2be93c425329ccc56bcfa1b672"
+ "digest": "129328bd903055394ded6f0427d24c8f4ffc1a8ccb0cc831d1343b5c6c8d4416"
},
- "drooling_face": {
- "category": "people",
- "moji": "🤤",
- "description": "drooling face",
- "unicodeVersion": "9.0",
- "digest": "bed3de639ae375a5683806f5661cda66790f0e991912044ec6d8bcdf6ab56b55"
+ "lock_with_ink_pen": {
+ "category": "objects",
+ "moji": "🔏",
+ "description": "lock with ink pen",
+ "unicodeVersion": "6.0",
+ "digest": "85c1713e44becc6543464d2ff4a07dc46b25a4e40fe233695055236d7c4f62aa"
},
- "droplet": {
- "category": "nature",
- "moji": "💧",
- "description": "droplet",
+ "closed_lock_with_key": {
+ "category": "objects",
+ "moji": "🔐",
+ "description": "closed lock with key",
"unicodeVersion": "6.0",
- "digest": "df3a38da24ffe4b245eaffe3a16c9f8d995a23f07030d4de3d7244a057939a5a"
+ "digest": "5772854e275a722c97338858e416961e9812c19a6e908323f02d400158fbd6da"
},
- "drum": {
+ "key": {
+ "category": "objects",
+ "moji": "🔑",
+ "description": "key",
+ "unicodeVersion": "6.0",
+ "digest": "8f2ac6bfd01430b2350a91b747c58d9d7a20e58096e22f1b73ea8e1d53dd2ac7"
+ },
+ "key2": {
+ "category": "objects",
+ "moji": "🗝",
+ "description": "old key",
+ "unicodeVersion": "7.0",
+ "digest": "f1e9a01ce355b9be051eca6f2211d542f190a77ccb95e1d5b148dca8da422bce"
+ },
+ "hammer": {
+ "category": "objects",
+ "moji": "🔨",
+ "description": "hammer",
+ "unicodeVersion": "6.0",
+ "digest": "ad9c4c0d7613bf9022426fbd46fe1966c98a46222f81fc13402a93d5101ba3ca"
+ },
+ "pick": {
+ "category": "objects",
+ "moji": "⛏",
+ "description": "pick",
+ "unicodeVersion": "5.2",
+ "digest": "c74411a556653f5b4b0825627089ab96c01ecdd8d472697c961c22c8a99a6265"
+ },
+ "hammer_pick": {
+ "category": "objects",
+ "moji": "⚒",
+ "description": "hammer and pick",
+ "unicodeVersion": "4.1",
+ "digest": "e5fd4464456d11cfe9fb50c460cf784174a36013a81771d029c8cfbb73c5ce9a"
+ },
+ "tools": {
+ "category": "objects",
+ "moji": "🛠",
+ "description": "hammer and wrench",
+ "unicodeVersion": "7.0",
+ "digest": "f74b73f7a143d6e5a4efe0b293d998d7dfb681b23f0d6764137c6d9373a28374"
+ },
+ "dagger": {
+ "category": "objects",
+ "moji": "🗡",
+ "description": "dagger knife",
+ "unicodeVersion": "7.0",
+ "digest": "6038c5c863bdacbade2f2426a48bd530e286d6624813960ae0e390d71d4cd58e"
+ },
+ "crossed_swords": {
+ "category": "objects",
+ "moji": "⚔",
+ "description": "crossed swords",
+ "unicodeVersion": "4.1",
+ "digest": "a69a11c517efe421e0c36c3e231520967e8791d41b7a83370229e166b7a25d13"
+ },
+ "bomb": {
+ "category": "objects",
+ "moji": "💣",
+ "description": "bomb",
+ "unicodeVersion": "6.0",
+ "digest": "c06294f2bc2ca60c09544598a699662609f41bd06efa01d92d8ab7b48356b830"
+ },
+ "bow_and_arrow": {
"category": "activity",
- "moji": "🥁",
- "description": "drum with drumsticks",
- "unicodeVersion": "9.0",
- "digest": "ba6e2d42af351338819b48803792d5dd1597e831fbae53d2f2aaef275306c8ed"
+ "moji": "🏹",
+ "description": "bow and arrow",
+ "unicodeVersion": "8.0",
+ "digest": "c98949db3391c74e299232ea99a28e035cc1cd747e281e52ccb9afd6a6ac40c3"
},
- "duck": {
- "category": "nature",
- "moji": "🦆",
- "description": "duck",
- "unicodeVersion": "9.0",
- "digest": "41f179dcac9de4a0eb5335ce435176db90fb1e35c043a100a9be09ce1ce3fac0"
+ "shield": {
+ "category": "objects",
+ "moji": "🛡",
+ "description": "shield",
+ "unicodeVersion": "7.0",
+ "digest": "ce3512d081c31c26df95a8f791aa413db09d25e8fba29a1e9f6a2470d6cb3430"
},
- "dvd": {
+ "wrench": {
"category": "objects",
- "moji": "📀",
- "description": "dvd",
+ "moji": "🔧",
+ "description": "wrench",
"unicodeVersion": "6.0",
- "digest": "06080cd1b46afcbdd854c06936389fc990aec029dd6909345861ff18d2275045"
+ "digest": "8478c1b8b0565f87fe6e4f429975f16919d80622a3cdbcc2e83f17fd6978a1d7"
},
- "e-mail": {
+ "nut_and_bolt": {
"category": "objects",
- "moji": "📧",
- "description": "e-mail symbol",
+ "moji": "🔩",
+ "description": "nut and bolt",
"unicodeVersion": "6.0",
- "digest": "7ca1119b9683e5e34185c9cbee9bcd59b6e24feae3a691826672c72d1d7401d1"
+ "digest": "e1a81f58c68ec8371dc7fc146e225fe3b95fcedcea4194da744793a28c3fe263"
},
- "eagle": {
- "category": "nature",
- "moji": "🦅",
- "description": "eagle",
+ "gear": {
+ "category": "objects",
+ "moji": "⚙",
+ "description": "gear",
+ "unicodeVersion": "4.1",
+ "digest": "c752b015d8b37be10c77820e951f9d999ac5860a7a0c453c5eceaf0eb442103b"
+ },
+ "compression": {
+ "category": "objects",
+ "moji": "🗜",
+ "description": "compression",
+ "unicodeVersion": "7.0",
+ "digest": "e762761f41d6c41d204ca149b161ea4286ae71517ea714fa75951c0eea600eeb"
+ },
+ "scales": {
+ "category": "objects",
+ "moji": "⚖",
+ "description": "scales",
+ "unicodeVersion": "4.1",
+ "digest": "2d0fcd2d6d6fe368d142ce7cd1ba78d9fc802131d84e0097d89e49041a9342e8"
+ },
+ "link": {
+ "category": "objects",
+ "moji": "🔗",
+ "description": "link symbol",
+ "unicodeVersion": "6.0",
+ "digest": "eb23a200ad464e4d16f3d977e8aef3ee0b55da62d2a7cd72743c1f57839c4e02"
+ },
+ "chains": {
+ "category": "objects",
+ "moji": "⛓",
+ "description": "chains",
+ "unicodeVersion": "5.2",
+ "digest": "245a60d0dcdf759898d5f6093d3b67e7e3234a5799de52af87166886bb8e67ff"
+ },
+ "alembic": {
+ "category": "objects",
+ "moji": "⚗",
+ "description": "alembic",
+ "unicodeVersion": "4.1",
+ "digest": "9af1181b6190b06ed4fd78d13c64d17c16a59f9b1b512fb0b92a9be9cfb92a2b"
+ },
+ "microscope": {
+ "category": "objects",
+ "moji": "🔬",
+ "description": "microscope",
+ "unicodeVersion": "6.0",
+ "digest": "b732bdd52a38057a56cfcddf2598c9a2d91f0838686f960a91ddc7333fa0ae12"
+ },
+ "telescope": {
+ "category": "objects",
+ "moji": "🔭",
+ "description": "telescope",
+ "unicodeVersion": "6.0",
+ "digest": "202137ea4dc1f3f544100942d597ec9a31c4c4a96f0386a77d437d2274a3fbe7"
+ },
+ "satellite": {
+ "category": "objects",
+ "moji": "📡",
+ "description": "satellite antenna",
+ "unicodeVersion": "6.0",
+ "digest": "84aa893218e8cc97a0f8b74d2d34c0b05a62d8eef47d5f0fede8ee956b222acd"
+ },
+ "syringe": {
+ "category": "objects",
+ "moji": "💉",
+ "description": "syringe",
+ "unicodeVersion": "6.0",
+ "digest": "7c1f7fcc64d14e129f02f6cdf63ba6d13839be54263c1c9c2471826583ca2431"
+ },
+ "pill": {
+ "category": "objects",
+ "moji": "💊",
+ "description": "pill",
+ "unicodeVersion": "6.0",
+ "digest": "dea2366892fb3739ba549da27d7d0f75871d073099ae61a1d0e1c7683bd274d5"
+ },
+ "door": {
+ "category": "objects",
+ "moji": "🚪",
+ "description": "door",
+ "unicodeVersion": "6.0",
+ "digest": "4e3117984e88544efda68c78d0f90e7ba44533ba74beba28e7ea6b9718ca3225"
+ },
+ "bed": {
+ "category": "objects",
+ "moji": "🛏",
+ "description": "bed",
+ "unicodeVersion": "7.0",
+ "digest": "73395ab70c867c776ef56dd14507f7feeaa7871f98e0c0c417df5345e8034976"
+ },
+ "couch": {
+ "category": "objects",
+ "moji": "🛋",
+ "description": "couch and lamp",
+ "unicodeVersion": "7.0",
+ "digest": "e9421d26e96ce4d68b09280e77e699963a3d8259385a12fd28375d61de4aff6b"
+ },
+ "toilet": {
+ "category": "objects",
+ "moji": "🚽",
+ "description": "toilet",
+ "unicodeVersion": "6.0",
+ "digest": "ae590884c0bf0b5f5d721b4d7791ea3878a9514642f6a57ad4784b2ca7ce6fbd"
+ },
+ "shower": {
+ "category": "objects",
+ "moji": "🚿",
+ "description": "shower",
+ "unicodeVersion": "6.0",
+ "digest": "dc732f36a76bbd98ccc3ec886bb697fe8b0e799bc063abc1d5aaa9da4adb655a"
+ },
+ "bathtub": {
+ "category": "objects",
+ "moji": "🛁",
+ "description": "bathtub",
+ "unicodeVersion": "6.0",
+ "digest": "1caecc05b8ae78774b7620480f4cfbbb549ca2bf6b2fb93badecf440db9ce9c8"
+ },
+ "shopping_cart": {
+ "category": "objects",
+ "moji": "🛒",
+ "description": "shopping trolley",
"unicodeVersion": "9.0",
- "digest": "996a7d29861f0ebd0762baeefccd1a8f7179b52bbb16e34e54787c9f6e959857"
+ "digest": "cc32f38d94856b58620bd817fe40641c937ceacdc6b3c7e9ed4350c8926f128f"
},
- "ear": {
- "category": "people",
- "moji": "👂",
- "description": "ear",
+ "smoking": {
+ "category": "objects",
+ "moji": "🚬",
+ "description": "smoking symbol",
"unicodeVersion": "6.0",
- "digest": "29f21bcb6963c709173aa895704029e48f233493ece1f0bb442705d90713e20e"
+ "digest": "3fa148109d83f785ad90999c0d362fb9d6aadd38986f7d483fd0f70ecb5b0447"
},
- "ear_of_rice": {
- "category": "nature",
- "moji": "🌾",
- "description": "ear of rice",
+ "coffin": {
+ "category": "objects",
+ "moji": "⚰",
+ "description": "coffin",
+ "unicodeVersion": "4.1",
+ "digest": "08e3596ffa53801967dd6ff1715999513d8d9b3ae1f1f7c2b841a414981ee5d4"
+ },
+ "urn": {
+ "category": "objects",
+ "moji": "⚱",
+ "description": "funeral urn",
+ "unicodeVersion": "4.1",
+ "digest": "0730518fad9fab0d5070432a6e771d6526349fb075ed9e42b046b88464b0f13c"
+ },
+ "moyai": {
+ "category": "objects",
+ "moji": "🗿",
+ "description": "moyai",
"unicodeVersion": "6.0",
- "digest": "9ea7efc5ebf3cea2cfd17ac2318a1ea0dd1519af6a60a95af33aabe1baa9042e"
+ "digest": "19b4b5efdb559f958b114fbaf6a3ad017a42012528de7a1dfedee5dbc3bce3d3"
},
- "ear_tone1": {
- "category": "people",
- "moji": "👂🏻",
- "description": "ear tone 1",
- "unicodeVersion": "8.0",
- "digest": "5974f347c09ed99eb26af3b38ed5ff6d270920d5a5cf4bc2ca1e4ce1c6ca86d8"
+ "atm": {
+ "category": "symbols",
+ "moji": "🏧",
+ "description": "automated teller machine",
+ "unicodeVersion": "6.0",
+ "digest": "58d4d4ab5df9de2f88f7ce4af21f1e5146ebd61731967d47ec5209affd987a24"
},
- "ear_tone2": {
- "category": "people",
- "moji": "👂🏼",
- "description": "ear tone 2",
- "unicodeVersion": "8.0",
- "digest": "10a215f5a1b0ca5c39abb4b2ba1c95fc541b21d03eb74b437a732bc155772b7f"
+ "put_litter_in_its_place": {
+ "category": "symbols",
+ "moji": "🚮",
+ "description": "put litter in its place symbol",
+ "unicodeVersion": "6.0",
+ "digest": "8f4d77e14f81634081b21e9bc062082d5a18cad551560eb8479c0c5d14ab3358"
},
- "ear_tone3": {
- "category": "people",
- "moji": "👂🏽",
- "description": "ear tone 3",
- "unicodeVersion": "8.0",
- "digest": "339cb06fc200e7a2f175de0862fa0f69792725532002e26446a64b47bae4e7f0"
+ "potable_water": {
+ "category": "symbols",
+ "moji": "🚰",
+ "description": "potable water symbol",
+ "unicodeVersion": "6.0",
+ "digest": "e35ad512f4da69fa132475c68cdbb831ab617f013127aba15cd7508f0b732d19"
},
- "ear_tone4": {
- "category": "people",
- "moji": "👂🏾",
- "description": "ear tone 4",
+ "wheelchair": {
+ "category": "symbols",
+ "moji": "♿",
+ "description": "wheelchair symbol",
+ "unicodeVersion": "4.1",
+ "digest": "805e8f94922c2214849af36b2de79cb812472cf6c3cf7c55dbf7fe9e11f0380b"
+ },
+ "mens": {
+ "category": "symbols",
+ "moji": "🚹",
+ "description": "mens symbol",
+ "unicodeVersion": "6.0",
+ "digest": "eca8312aaade2705ca15be8c1d1fcd897ed4ea0189e995dee3727bcda9d900df"
+ },
+ "womens": {
+ "category": "symbols",
+ "moji": "🚺",
+ "description": "womens symbol",
+ "unicodeVersion": "6.0",
+ "digest": "d0dd248ac8f17c5eb5c24f636f2d6387f1e4126d2227834ffb89057e9428a19f"
+ },
+ "restroom": {
+ "category": "symbols",
+ "moji": "🚻",
+ "description": "restroom",
+ "unicodeVersion": "6.0",
+ "digest": "f2a6d958afccd904f504425f024c968e22d13466f122006b245ea3db25e22bdd"
+ },
+ "baby_symbol": {
+ "category": "symbols",
+ "moji": "🚼",
+ "description": "baby symbol",
+ "unicodeVersion": "6.0",
+ "digest": "19ea4b3a81368933b6e78901205747e4fbc1dcdbfc3162f27191c1a8e0c395f7"
+ },
+ "wc": {
+ "category": "symbols",
+ "moji": "🚾",
+ "description": "water closet",
+ "unicodeVersion": "6.0",
+ "digest": "a1576f1731a68646c9de74c135674955eee3df8f740437ab9ef04a45a49b282c"
+ },
+ "passport_control": {
+ "category": "symbols",
+ "moji": "🛂",
+ "description": "passport control",
+ "unicodeVersion": "6.0",
+ "digest": "cd2221bd39e8517b14d1509afcebf3aeb138d0b286c1012544e2950671affa1a"
+ },
+ "customs": {
+ "category": "symbols",
+ "moji": "🛃",
+ "description": "customs",
+ "unicodeVersion": "6.0",
+ "digest": "0f374b6f60c5bc6da41b0682a352304bc258ef6274da8afd6820ff9bb50a5c39"
+ },
+ "baggage_claim": {
+ "category": "symbols",
+ "moji": "🛄",
+ "description": "baggage claim",
+ "unicodeVersion": "6.0",
+ "digest": "c99d1d554d119f4a1f8ffa7f6c53d03071972d2f0907ffcba4f5ef92739edb1d"
+ },
+ "left_luggage": {
+ "category": "symbols",
+ "moji": "🛅",
+ "description": "left luggage",
+ "unicodeVersion": "6.0",
+ "digest": "18bade3d46e8ea3ba9d6bc52679e367d7a1721757719ca6903e68331a1fd1c47"
+ },
+ "warning": {
+ "category": "symbols",
+ "moji": "⚠",
+ "description": "warning sign",
+ "unicodeVersion": "4.0",
+ "digest": "1d6cf2ec8990304aaca53a2eecd878c17e4eb8685c48d3be59c8f0a1cfb66202"
+ },
+ "children_crossing": {
+ "category": "symbols",
+ "moji": "🚸",
+ "description": "children crossing",
+ "unicodeVersion": "6.0",
+ "digest": "092e5fa179cce029edae31733f6c1dc0e147cde9050183b3f7b121cc7839c2ab"
+ },
+ "no_entry": {
+ "category": "symbols",
+ "moji": "⛔",
+ "description": "no entry",
+ "unicodeVersion": "5.2",
+ "digest": "a960fb2c78aac5ca7ad01e6f5c3dc2212f050f3e4e0dace7bbf79168b63857f6"
+ },
+ "no_entry_sign": {
+ "category": "symbols",
+ "moji": "🚫",
+ "description": "no entry sign",
+ "unicodeVersion": "6.0",
+ "digest": "ed0f2355d1edca66757f78849bebeeac010c19bf7d443c04eafa01e15a3f12fe"
+ },
+ "no_bicycles": {
+ "category": "symbols",
+ "moji": "🚳",
+ "description": "no bicycles",
+ "unicodeVersion": "6.0",
+ "digest": "0f0d8e8ab9e421e5f87af7d8dd2afde646d47e35846483e350e11d46039181b6"
+ },
+ "no_smoking": {
+ "category": "symbols",
+ "moji": "🚭",
+ "description": "no smoking symbol",
+ "unicodeVersion": "6.0",
+ "digest": "90337e0742354ba1e87c0262300e48172cfc5db1c9efb4b6837be49efdec73d3"
+ },
+ "do_not_litter": {
+ "category": "symbols",
+ "moji": "🚯",
+ "description": "do not litter symbol",
+ "unicodeVersion": "6.0",
+ "digest": "13dd4fc59cd518187d2827a935ad7ca61c8f4542ff9843d882ee44c942e57045"
+ },
+ "non-potable_water": {
+ "category": "symbols",
+ "moji": "🚱",
+ "description": "non-potable water symbol",
+ "unicodeVersion": "6.0",
+ "digest": "fded06ba8a998777f04af38833981c8b7980772be1b37509bfbe1692a5e9c81b"
+ },
+ "no_pedestrians": {
+ "category": "symbols",
+ "moji": "🚷",
+ "description": "no pedestrians",
+ "unicodeVersion": "6.0",
+ "digest": "490933e9068e71aa8ab4e864768dbba8c0dcb76d3958261ba0a3da1139984862"
+ },
+ "no_mobile_phones": {
+ "category": "symbols",
+ "moji": "📵",
+ "description": "no mobile phones",
+ "unicodeVersion": "6.0",
+ "digest": "e7fc1cf8ab08e5144cd9a515098e9ea5e5c6dc7d098b764792a6a175c7ac7cab"
+ },
+ "underage": {
+ "category": "symbols",
+ "moji": "🔞",
+ "description": "no one under eighteen symbol",
+ "unicodeVersion": "6.0",
+ "digest": "afdd3883748acb01bb18bfe034c39b4510957c7bfbdb9cec33b4e6b4a0068089"
+ },
+ "radioactive": {
+ "category": "symbols",
+ "moji": "☢",
+ "description": "radioactive sign",
+ "unicodeVersion": "1.1",
+ "digest": "adae20f9d65f9e4c3d2ff97012c58475ed56d446010999b75af2ddc78961cf54"
+ },
+ "biohazard": {
+ "category": "symbols",
+ "moji": "☣",
+ "description": "biohazard sign",
+ "unicodeVersion": "1.1",
+ "digest": "aac5d8bf19b5e33c0a1d600a5e86522023415fb2a98160c58f541c862e439f9a"
+ },
+ "arrow_up": {
+ "category": "symbols",
+ "moji": "⬆",
+ "description": "upwards black arrow",
+ "unicodeVersion": "4.0",
+ "digest": "9ea5aba6d658bc8bed6a8eb9ea073e010d916dd7e6cde9de71a760026754ed6a"
+ },
+ "arrow_upper_right": {
+ "category": "symbols",
+ "moji": "↗",
+ "description": "north east arrow",
+ "unicodeVersion": "1.1",
+ "digest": "e8894fed9c62b652add3bac3ad3dd84bf3a215c45a0883c6e701cc02f89e5bfc"
+ },
+ "arrow_right": {
+ "category": "symbols",
+ "moji": "➡",
+ "description": "black rightwards arrow",
+ "unicodeVersion": "1.1",
+ "digest": "cca969d90670944613bcaa9463a35abfdbfa6474d1177683e2fa1327d8b52c91"
+ },
+ "arrow_lower_right": {
+ "category": "symbols",
+ "moji": "↘",
+ "description": "south east arrow",
+ "unicodeVersion": "1.1",
+ "digest": "603a00a2370d8872a037fdd195315bbbe936ccf12db2801bd93211a55068daa7"
+ },
+ "arrow_down": {
+ "category": "symbols",
+ "moji": "⬇",
+ "description": "downwards black arrow",
+ "unicodeVersion": "4.0",
+ "digest": "70c8ffa3178143b62de0d2e739700456ed470f5990599f86f518307d77bace97"
+ },
+ "arrow_lower_left": {
+ "category": "symbols",
+ "moji": "↙",
+ "description": "south west arrow",
+ "unicodeVersion": "1.1",
+ "digest": "53a95853a65f3add101d64cd4ca26d677b1519d388d9c5ac75088e1965e8b856"
+ },
+ "arrow_left": {
+ "category": "symbols",
+ "moji": "⬅",
+ "description": "leftwards black arrow",
+ "unicodeVersion": "4.0",
+ "digest": "431289c3759f093a1a2f3460d6b912897098d3344a23a31fa9ce778c484f60ba"
+ },
+ "arrow_upper_left": {
+ "category": "symbols",
+ "moji": "↖",
+ "description": "north west arrow",
+ "unicodeVersion": "1.1",
+ "digest": "035fd0f1149c8af6bec2c3dd09465b494427fcc34213749802e2e18e5ae8159a"
+ },
+ "arrow_up_down": {
+ "category": "symbols",
+ "moji": "↕",
+ "description": "up down arrow",
+ "unicodeVersion": "1.1",
+ "digest": "83bda8fd50d42e169679a9825df1f5d5b7c421c710fb965b9ad4885c3c61268a"
+ },
+ "left_right_arrow": {
+ "category": "symbols",
+ "moji": "↔",
+ "description": "left right arrow",
+ "unicodeVersion": "1.1",
+ "digest": "292108ff7e529974269eb98b0d417f651a9d97258a8070aaec6579c934139bb0"
+ },
+ "leftwards_arrow_with_hook": {
+ "category": "symbols",
+ "moji": "↩",
+ "description": "leftwards arrow with hook",
+ "unicodeVersion": "1.1",
+ "digest": "1f4c8e03c92083ddd647f3328fd1ff9b919c10a98d0325b877f1b7034a7387ea"
+ },
+ "arrow_right_hook": {
+ "category": "symbols",
+ "moji": "↪",
+ "description": "rightwards arrow with hook",
+ "unicodeVersion": "1.1",
+ "digest": "65e1489951134f221d8b7d45d6857321530dfad720c43fa0590d123b3cf29c00"
+ },
+ "arrow_heading_up": {
+ "category": "symbols",
+ "moji": "⤴",
+ "description": "arrow pointing rightwards then curving upwards",
+ "unicodeVersion": "3.2",
+ "digest": "b684802de1239962bd0c076a5a0aeb268d2cf43620dde214520817e522a60792"
+ },
+ "arrow_heading_down": {
+ "category": "symbols",
+ "moji": "⤵",
+ "description": "arrow pointing rightwards then curving downwards",
+ "unicodeVersion": "3.2",
+ "digest": "f351d6b66a0e73f41bc58446486c5fbe35d70b715fdc4ae9adef474df7aa1f69"
+ },
+ "arrows_clockwise": {
+ "category": "symbols",
+ "moji": "🔃",
+ "description": "clockwise downwards and upwards open circle arrows",
+ "unicodeVersion": "6.0",
+ "digest": "0f4be61ded4f219dc1582b002635b538c15d40234e8571a3bfbc35921f0e83a6"
+ },
+ "arrows_counterclockwise": {
+ "category": "symbols",
+ "moji": "🔄",
+ "description": "anticlockwise downwards and upwards open circle ar",
+ "unicodeVersion": "6.0",
+ "digest": "e94e5cd47117e7dd196d0b1f32a97f2f87e76b6ad2652359849cda8d773c284c"
+ },
+ "back": {
+ "category": "symbols",
+ "moji": "🔙",
+ "description": "back with leftwards arrow above",
+ "unicodeVersion": "6.0",
+ "digest": "c473fa1c3be08fb1920ce88072cf4f6ce3a031707d765d5e24b47aab0aac45be"
+ },
+ "end": {
+ "category": "symbols",
+ "moji": "🔚",
+ "description": "end with leftwards arrow above",
+ "unicodeVersion": "6.0",
+ "digest": "b809c2bda4b924a3e2f43ae45a3bfc1a3e09d1750b1f17a19b82f66a2456038b"
+ },
+ "on": {
+ "category": "symbols",
+ "moji": "🔛",
+ "description": "on with exclamation mark with left right arrow abo",
+ "unicodeVersion": "6.0",
+ "digest": "2e96678d4a15fd6be2b87c4fbccbe51f4bfafcc9d04c866ce1bc640a80144730"
+ },
+ "soon": {
+ "category": "symbols",
+ "moji": "🔜",
+ "description": "soon with rightwards arrow above",
+ "unicodeVersion": "6.0",
+ "digest": "6325b67539559992fc3d1ed23f2dc20ee95b3052b93a674f82ed53dc2e199270"
+ },
+ "top": {
+ "category": "symbols",
+ "moji": "🔝",
+ "description": "top with upwards arrow above",
+ "unicodeVersion": "6.0",
+ "digest": "69250cda059411b279e6503ff1afac1188b2507d861db7efc956d7758468aa01"
+ },
+ "place_of_worship": {
+ "category": "symbols",
+ "moji": "🛐",
+ "description": "place of worship",
"unicodeVersion": "8.0",
- "digest": "4fc70d5c353ad59518bb3829b0c544a4092b59924bf6fe0dd573f8fee3d00c68"
+ "digest": "39562f00c92f6a75028f57faf3f951026866f42bca6e51bcbbf30f442e24c63a"
},
- "ear_tone5": {
- "category": "people",
- "moji": "👂🏿",
- "description": "ear tone 5",
+ "atom": {
+ "category": "symbols",
+ "moji": "⚛",
+ "description": "atom symbol",
+ "unicodeVersion": "4.1",
+ "digest": "1a7ca89822b91c1acfe7a10d57c859bfa87b6797713efa2ec87f01d36d302056"
+ },
+ "om_symbol": {
+ "category": "symbols",
+ "moji": "🕉",
+ "description": "om symbol",
+ "unicodeVersion": "7.0",
+ "digest": "8cc8000af09220f887582df7d0300da13889d371180fda773894b89ecd0053bb"
+ },
+ "star_of_david": {
+ "category": "symbols",
+ "moji": "✡",
+ "description": "star of david",
+ "unicodeVersion": "1.1",
+ "digest": "dbe79ef9f506a4f46368a8a5e9953579c97fc1bca97c1ddc7f2bcc76398f0149"
+ },
+ "wheel_of_dharma": {
+ "category": "symbols",
+ "moji": "☸",
+ "description": "wheel of dharma",
+ "unicodeVersion": "1.1",
+ "digest": "bdc92990dc2dcde7de136ed934e9f2476dc011257ffbeeb5dc45e1f86e26a067"
+ },
+ "yin_yang": {
+ "category": "symbols",
+ "moji": "☯",
+ "description": "yin yang",
+ "unicodeVersion": "1.1",
+ "digest": "2d97f8a9eca001163c5895ff25ca66aad5dfabe5e2e00bda102fb6b9a27fc02b"
+ },
+ "cross": {
+ "category": "symbols",
+ "moji": "✝",
+ "description": "latin cross",
+ "unicodeVersion": "1.1",
+ "digest": "4c96506b864fefcb67c75ab76262065ca34dc247bdf0a65a859a7c18051aa8be"
+ },
+ "orthodox_cross": {
+ "category": "symbols",
+ "moji": "☦",
+ "description": "orthodox cross",
+ "unicodeVersion": "1.1",
+ "digest": "29f438c972e101a1305c0bd5138b6b998778b33bcfd98418538340dc4126a601"
+ },
+ "star_and_crescent": {
+ "category": "symbols",
+ "moji": "☪",
+ "description": "star and crescent",
+ "unicodeVersion": "1.1",
+ "digest": "550cf94a0efe6ef0211e51e2d84554bd789505c861a16efa79704f8ccda086b1"
+ },
+ "peace": {
+ "category": "symbols",
+ "moji": "☮",
+ "description": "peace symbol",
+ "unicodeVersion": "1.1",
+ "digest": "375030a1230116742eed0b632822936e92179f2da97b73faef675140db76f4db"
+ },
+ "menorah": {
+ "category": "symbols",
+ "moji": "🕎",
+ "description": "menorah with nine branches",
"unicodeVersion": "8.0",
- "digest": "fa4d1bdab5ed8dc2e8976edb389571c21942cbdcf7ad51281b4e064a2b260a58"
+ "digest": "befdb755f7f872a9061119929ce34d9f0368a5ca7506ba4f3984b24f69b01a27"
},
- "earth_africa": {
- "category": "nature",
- "moji": "🌍",
- "description": "earth globe europe-africa",
+ "six_pointed_star": {
+ "category": "symbols",
+ "moji": "🔯",
+ "description": "six pointed star with middle dot",
"unicodeVersion": "6.0",
- "digest": "597e652a0be2d59d9f0190423767a763500c724ac53321c1cb6fc7fc0f9b9e8c"
+ "digest": "1ee9c385a74dc6954e37727615d99209a61627562c8675d4354262b2c421418f"
},
- "earth_americas": {
- "category": "nature",
- "moji": "🌎",
- "description": "earth globe americas",
- "unicodeVersion": "6.0",
- "digest": "b65c2ce55702e00286792a5007609bafdf1f184e2da5a8c6b949054534d5e8ad"
+ "aries": {
+ "category": "symbols",
+ "moji": "♈",
+ "description": "aries",
+ "unicodeVersion": "1.1",
+ "digest": "4e35bd481a7c73be42faba7afa67c522b4340180efa18f0523e394a90a2944aa"
},
- "earth_asia": {
- "category": "nature",
- "moji": "🌏",
- "description": "earth globe asia-australia",
+ "taurus": {
+ "category": "symbols",
+ "moji": "♉",
+ "description": "taurus",
+ "unicodeVersion": "1.1",
+ "digest": "e64c53547f42dc3e07c06f0891641395773a9cdca0adb3257ea584a3102d084f"
+ },
+ "gemini": {
+ "category": "symbols",
+ "moji": "♊",
+ "description": "gemini",
+ "unicodeVersion": "1.1",
+ "digest": "3ddb938fe1196593b21a3380b20107ea22253c6fcf5b9fccdca6badf7384047b"
+ },
+ "cancer": {
+ "category": "symbols",
+ "moji": "♋",
+ "description": "cancer",
+ "unicodeVersion": "1.1",
+ "digest": "f707db14878e03608dee3eca4eacf0a0be4a709c6d33b2d5b7ab0e8f05473b2b"
+ },
+ "leo": {
+ "category": "symbols",
+ "moji": "♌",
+ "description": "leo",
+ "unicodeVersion": "1.1",
+ "digest": "25787c495211576604fbcdf72aa47ab7e5ad4e8a42905a995edbbec073e20c52"
+ },
+ "virgo": {
+ "category": "symbols",
+ "moji": "♍",
+ "description": "virgo",
+ "unicodeVersion": "1.1",
+ "digest": "2cae076c31fe134ca69caef07db75283f72c99f8fd746b1c1fff6a897f613655"
+ },
+ "libra": {
+ "category": "symbols",
+ "moji": "♎",
+ "description": "libra",
+ "unicodeVersion": "1.1",
+ "digest": "0189ff934df698ed87a6bac3b29c559567c958a9fbd0259378af8c910e0337e1"
+ },
+ "scorpius": {
+ "category": "symbols",
+ "moji": "♏",
+ "description": "scorpius",
+ "unicodeVersion": "1.1",
+ "digest": "32550597084a3b17fdab6bc4f56513a5952581ad07e79fb56abe05d6665a86af"
+ },
+ "sagittarius": {
+ "category": "symbols",
+ "moji": "♐",
+ "description": "sagittarius",
+ "unicodeVersion": "1.1",
+ "digest": "23c2aa3cbb29c0fb6c443d8d388e41454b4da2aae8f239c4572ecf0e9d580276"
+ },
+ "capricorn": {
+ "category": "symbols",
+ "moji": "♑",
+ "description": "capricorn",
+ "unicodeVersion": "1.1",
+ "digest": "d769793914f9c1ea4237aea85d288344c7422ccb286f8c1d3b18fa99ee8fa7ce"
+ },
+ "aquarius": {
+ "category": "symbols",
+ "moji": "♒",
+ "description": "aquarius",
+ "unicodeVersion": "1.1",
+ "digest": "a40fb6ccb866eaf296e083c57f46ca29f3d9732de897e62a8201481b526ae6b9"
+ },
+ "pisces": {
+ "category": "symbols",
+ "moji": "♓",
+ "description": "pisces",
+ "unicodeVersion": "1.1",
+ "digest": "2b9982d42db6ef3b280174b79faa2ce0178f349b826474883297fbbea088b2ea"
+ },
+ "ophiuchus": {
+ "category": "symbols",
+ "moji": "⛎",
+ "description": "ophiuchus",
"unicodeVersion": "6.0",
- "digest": "0334bd2fcfd55b0759c7bf900c7ef9a70fb3408ecb7762038e6b587d8226d204"
+ "digest": "d1b29a9339ee7bce6ff2dc8b12e424ae48f419c8bbf12fb771c0c20c3bcd76ef"
},
- "egg": {
- "category": "food",
- "moji": "🥚",
- "description": "egg",
- "unicodeVersion": "9.0",
- "digest": "97287d7b86252a2e3b8a112aaa1a3096f48ee930691e200470e6b35876d9d3c3"
+ "twisted_rightwards_arrows": {
+ "category": "symbols",
+ "moji": "🔀",
+ "description": "twisted rightwards arrows",
+ "unicodeVersion": "6.0",
+ "digest": "f559a51e80d26d7bb196ea380936ff60c4a281c3943cf6e86aaebeacce8d957f"
},
- "eggplant": {
- "category": "food",
- "moji": "🍆",
- "description": "aubergine",
+ "repeat": {
+ "category": "symbols",
+ "moji": "🔁",
+ "description": "clockwise rightwards and leftwards open circle arr",
"unicodeVersion": "6.0",
- "digest": "717719283180637a9929192d3af0459a871c144a5d6134cd1b31482cf065fc04"
+ "digest": "6e7a4196d2899b28b0c85a77c6abafd202f91189710793e9a6b4a95ab55c0fc5"
},
- "eight": {
+ "repeat_one": {
"category": "symbols",
- "moji": "8️⃣",
- "description": "keycap digit eight",
- "unicodeVersion": "3.0",
- "digest": "0cc5beaaf4cf5efc0dc7450327ca264669641deebe0696997b578ca603eadd80"
+ "moji": "🔂",
+ "description": "clockwise rightwards and leftwards open circle arr",
+ "unicodeVersion": "6.0",
+ "digest": "6f6ace59c5d36c66d5816247e9c29f6aa3efef428ee83c99c9d341f7c055a64c"
},
- "eight_pointed_black_star": {
+ "arrow_forward": {
"category": "symbols",
- "moji": "✴",
- "description": "eight pointed black star",
+ "moji": "▶",
+ "description": "black right-pointing triangle",
"unicodeVersion": "1.1",
- "digest": "a06b0825d8288487c0a27cf858b1bdc3f9144683fe9ceb9608450f21dc278db8"
+ "digest": "b3f0c8db863157c1c4121602ecaee91845346b2b7a1ef0ad4d46744db7866e98"
},
- "eight_spoked_asterisk": {
+ "fast_forward": {
"category": "symbols",
- "moji": "✳",
- "description": "eight spoked asterisk",
+ "moji": "⏩",
+ "description": "black right-pointing double triangle",
+ "unicodeVersion": "6.0",
+ "digest": "4ad792e67e07120968468561f20df83f39fa5800b8212a64e76fc36cf27464c3"
+ },
+ "track_next": {
+ "category": "symbols",
+ "moji": "⏭",
+ "description": "black right-pointing double triangle with vertical bar",
+ "unicodeVersion": "6.0",
+ "digest": "adc496351d784f266e6addac74e29d328d24f3e6d3f4a2f1270e88de00f48116"
+ },
+ "play_pause": {
+ "category": "symbols",
+ "moji": "⏯",
+ "description": "black right-pointing double triangle with double vertical bar",
+ "unicodeVersion": "6.0",
+ "digest": "a4fe3a6a5928f88e77c643e7869e4edade8cd19839ec7e347265439483463019"
+ },
+ "arrow_backward": {
+ "category": "symbols",
+ "moji": "◀",
+ "description": "black left-pointing triangle",
"unicodeVersion": "1.1",
- "digest": "65fb63267575cb5637fed6ff99327cab54301baa39024ffae8fc8dd3db3516f9"
+ "digest": "c4e1ba32b806674ba5f7cdb1433d4b45cf9b31f546918aa5ad169c0c8af50a8a"
+ },
+ "rewind": {
+ "category": "symbols",
+ "moji": "⏪",
+ "description": "black left-pointing double triangle",
+ "unicodeVersion": "6.0",
+ "digest": "12a3f494d633a469015ed63e737a4bf0fac43206bf4a55c4d0e0c588a81bdffc"
+ },
+ "track_previous": {
+ "category": "symbols",
+ "moji": "⏮",
+ "description": "black left-pointing double triangle with vertical bar",
+ "unicodeVersion": "6.0",
+ "digest": "aaa9c3c003a2839067dde8aab59c2887532b8f00d00726baa33c995b21b06dcc"
+ },
+ "arrow_up_small": {
+ "category": "symbols",
+ "moji": "🔼",
+ "description": "up-pointing small red triangle",
+ "unicodeVersion": "6.0",
+ "digest": "2335b064c64d375d54e4e59111cd169781e633969b57d57dd9e1abba7555e9f1"
+ },
+ "arrow_double_up": {
+ "category": "symbols",
+ "moji": "⏫",
+ "description": "black up-pointing double triangle",
+ "unicodeVersion": "6.0",
+ "digest": "79fe28485f924df1c66447c2e633ebc02d01ab46c0d2ad4b319f950f060d5525"
+ },
+ "arrow_down_small": {
+ "category": "symbols",
+ "moji": "🔽",
+ "description": "down-pointing small red triangle",
+ "unicodeVersion": "6.0",
+ "digest": "6432caec004e9eadb0d160cb857a2eeb43cfab1ace23a904fa5a624f56bfca95"
+ },
+ "arrow_double_down": {
+ "category": "symbols",
+ "moji": "⏬",
+ "description": "black down-pointing double triangle",
+ "unicodeVersion": "6.0",
+ "digest": "079bfc85ed3a1b354a6c8d9d041ed2049c449a696a2a2d1ff11e65efc91bc420"
+ },
+ "pause_button": {
+ "category": "symbols",
+ "moji": "⏸",
+ "description": "double vertical bar",
+ "unicodeVersion": "7.0",
+ "digest": "08bf08733cf20f2afebc56318c86ad3a0a783305dd7c3ee72d7b8898dcd39fc8"
+ },
+ "stop_button": {
+ "category": "symbols",
+ "moji": "⏹",
+ "description": "black square for stop",
+ "unicodeVersion": "7.0",
+ "digest": "ea16a3e7a6ffa4741509cc909944975dd24c4a0678a23cc03e02c3773e6bba92"
+ },
+ "record_button": {
+ "category": "symbols",
+ "moji": "⏺",
+ "description": "black circle for record",
+ "unicodeVersion": "7.0",
+ "digest": "2b7ef01bcbfb5310cceffada4a966b874dd3bf4b8cfa23848effac1386457fc3"
},
"eject": {
"category": "symbols",
@@ -2862,68 +9925,110 @@
"unicodeVersion": "4.0",
"digest": "d12767c5ad910e8718971d315520934e86d607f3493a72a984545a4fee7a0b0c"
},
- "electric_plug": {
- "category": "objects",
- "moji": "🔌",
- "description": "electric plug",
+ "cinema": {
+ "category": "symbols",
+ "moji": "🎦",
+ "description": "cinema",
"unicodeVersion": "6.0",
- "digest": "78feabb40b541ad46e396f9508de72a52f0e4ca2f48717078eea100b3c125a24"
+ "digest": "acfdea199d4ab48103e5491dd3ab0a616ffbef57641a07aef315273559ccf690"
},
- "elephant": {
- "category": "nature",
- "moji": "🐘",
- "description": "elephant",
+ "low_brightness": {
+ "category": "symbols",
+ "moji": "🔅",
+ "description": "low brightness symbol",
"unicodeVersion": "6.0",
- "digest": "c151ce8cf6aee435ed27099fac1d5e55501e643f69d7e39476fa6bcd73be9559"
+ "digest": "be7fc79c265d5c02ee7d29fe8290db80cfd794e271463853d6f5d01948c62dfb"
},
- "end": {
+ "high_brightness": {
"category": "symbols",
- "moji": "🔚",
- "description": "end with leftwards arrow above",
+ "moji": "🔆",
+ "description": "high brightness symbol",
"unicodeVersion": "6.0",
- "digest": "b809c2bda4b924a3e2f43ae45a3bfc1a3e09d1750b1f17a19b82f66a2456038b"
+ "digest": "9ee294cb514a00f831f3fec6275d75685f157b6d22a7ee1417c28b4c93e1d3ba"
},
- "envelope": {
- "category": "objects",
- "moji": "✉",
- "description": "envelope",
+ "signal_strength": {
+ "category": "symbols",
+ "moji": "📶",
+ "description": "antenna with bars",
+ "unicodeVersion": "6.0",
+ "digest": "eabf6d0cae69aea6027f1dede7df1ac51fc09d85af8a4ae9b1df1fcb8ee4a0f0"
+ },
+ "vibration_mode": {
+ "category": "symbols",
+ "moji": "📳",
+ "description": "vibration mode",
+ "unicodeVersion": "6.0",
+ "digest": "15ef296e1ef2747dfc47d8999ff7bbcca42a2ea682d57e224064335d9fa1c84e"
+ },
+ "mobile_phone_off": {
+ "category": "symbols",
+ "moji": "📴",
+ "description": "mobile phone off",
+ "unicodeVersion": "6.0",
+ "digest": "93373556567d92fdb11d4e562e74c15ba6b0987cb26dea909b0e922921087628"
+ },
+ "heavy_multiplication_x": {
+ "category": "symbols",
+ "moji": "✖",
+ "description": "heavy multiplication x",
"unicodeVersion": "1.1",
- "digest": "ff00c491ba40989d83d6586ebb8e18e1507cdf55e056981803c3f77d0b246314"
+ "digest": "879a6b81e3fba890a3261029c611bc8baf6371e012b70a648fec0c2156e690d7"
},
- "envelope_with_arrow": {
- "category": "objects",
- "moji": "📩",
- "description": "envelope with downwards arrow above",
+ "heavy_plus_sign": {
+ "category": "symbols",
+ "moji": "➕",
+ "description": "heavy plus sign",
"unicodeVersion": "6.0",
- "digest": "1af1da925637995928c8f83f7f5effee40db1f5a33f1cd7d626ff9ed408bfe19"
+ "digest": "d7e684b6d4a4f0f9fa51dddf10c844616d0bb14184ba8b015088b5a4793aa4c4"
},
- "euro": {
- "category": "objects",
- "moji": "💶",
- "description": "banknote with euro sign",
+ "heavy_minus_sign": {
+ "category": "symbols",
+ "moji": "➖",
+ "description": "heavy minus sign",
"unicodeVersion": "6.0",
- "digest": "5c08342b52ba2417f1daf6c357107eddc3ed9e46ed82443665859dba944b0754"
+ "digest": "9f2d6d303ab3c87bfdc78a933351f1659304758a330828961bc053fac1f5cdae"
},
- "european_castle": {
- "category": "travel",
- "moji": "🏰",
- "description": "european castle",
+ "heavy_division_sign": {
+ "category": "symbols",
+ "moji": "➗",
+ "description": "heavy division sign",
"unicodeVersion": "6.0",
- "digest": "183e813391199158b855481acefea11061b1722e51f2d2880486782b7639598d"
+ "digest": "563f5723eb45d2903a37ae66b3a388b06c1576a35cbcf203a6ea951bbbcb10f3"
},
- "european_post_office": {
- "category": "travel",
- "moji": "🏤",
- "description": "european post office",
+ "bangbang": {
+ "category": "symbols",
+ "moji": "‼",
+ "description": "double exclamation mark",
+ "unicodeVersion": "1.1",
+ "digest": "905c1dc3100192f2052c72531cf796e106815f1ce11ba1993d18c0585ed75e18"
+ },
+ "interrobang": {
+ "category": "symbols",
+ "moji": "⁉",
+ "description": "exclamation question mark",
+ "unicodeVersion": "3.0",
+ "digest": "d209c9aa46c89e290a053d458f6cda0c719831518ce91265680673065cfb77d5"
+ },
+ "question": {
+ "category": "symbols",
+ "moji": "❓",
+ "description": "black question mark ornament",
"unicodeVersion": "6.0",
- "digest": "664ed0206445f1511bc2ecdfaf77c3df14dfd4e98fd73b58c6272e54e4117810"
+ "digest": "fd18ff641d27854c3996ec9c58210fde5411537847c0f3c55d9318244c3e8854"
},
- "evergreen_tree": {
- "category": "nature",
- "moji": "🌲",
- "description": "evergreen tree",
+ "grey_question": {
+ "category": "symbols",
+ "moji": "❔",
+ "description": "white question mark ornament",
"unicodeVersion": "6.0",
- "digest": "62ae1c4109a7458bcc754f89311fa37be31a0cdc63ee96f420482568bc74000c"
+ "digest": "54b5c454718c213942187fe846ee10466d1144050456559e3782799ed631f72f"
+ },
+ "grey_exclamation": {
+ "category": "symbols",
+ "moji": "❕",
+ "description": "white exclamation mark ornament",
+ "unicodeVersion": "6.0",
+ "digest": "75bdc292ebb381f9c5bd236e8298665f3c536d049ea8df735b677f5997dc9df5"
},
"exclamation": {
"category": "symbols",
@@ -2932,432 +10037,726 @@
"unicodeVersion": "5.2",
"digest": "8caf962a884874258642f7df358cd2693c85a111d96d0e72a26d7010ac595c61"
},
- "expressionless": {
- "category": "people",
- "moji": "😑",
- "description": "expressionless face",
- "unicodeVersion": "6.1",
- "digest": "d818ca9cf4ba0c02756559d0e870517f298a88466b3e27002a86389942d89145"
+ "wavy_dash": {
+ "category": "symbols",
+ "moji": "〰",
+ "description": "wavy dash",
+ "unicodeVersion": "1.1",
+ "digest": "d7bcb62068abe4e1c168ba0445c1d3d1b1e76373bbe6f2d84f4d78b38be524c7"
},
- "eye": {
- "category": "people",
- "moji": "👁",
- "description": "eye",
- "unicodeVersion": "7.0",
- "digest": "d48868ab77a09456b5f80553f08af363983ead45173759e3ff8a9ddf626effc2"
+ "currency_exchange": {
+ "category": "symbols",
+ "moji": "💱",
+ "description": "currency exchange",
+ "unicodeVersion": "6.0",
+ "digest": "3703307c690bd113fbe5826720c6466ee9dccc80ef8d3556cfe2ba7401240df8"
},
- "eye_in_speech_bubble": {
+ "heavy_dollar_sign": {
"category": "symbols",
- "moji": "👁‍🗨",
- "description": "eye in speech bubble",
- "unicodeVersion": "7.0",
- "digest": "4b4d96038c0883d99091f9718a3c1e9c096268a3bcead903a7f6551db2b779a8"
+ "moji": "💲",
+ "description": "heavy dollar sign",
+ "unicodeVersion": "6.0",
+ "digest": "25a39a89a62f45d7bd4948682ed23753d16179fe0c80dc60ff06bc29549fd04f"
},
- "eyeglasses": {
- "category": "people",
- "moji": "👓",
- "description": "eyeglasses",
+ "recycle": {
+ "category": "symbols",
+ "moji": "♻",
+ "description": "black universal recycling symbol",
+ "unicodeVersion": "3.2",
+ "digest": "9256cf44c41b5b3479c92a453c26adcc32800af9ffbf32f2d08e7570732788b2"
+ },
+ "fleur-de-lis": {
+ "category": "symbols",
+ "moji": "⚜",
+ "description": "fleur-de-lis",
+ "unicodeVersion": "4.1",
+ "digest": "aad1d75ba9bce98d639b82b8c2f6481947edec6ceaa48cb890f2503eb2964202"
+ },
+ "trident": {
+ "category": "symbols",
+ "moji": "🔱",
+ "description": "trident emblem",
"unicodeVersion": "6.0",
- "digest": "7f413b054509c24ee233b944df5a0b314ede67006d64f03df4a1c055a45245ee"
+ "digest": "c9fcbc5e98ed51cd228a1b0eedde2851624c3a7fc354abab9efd96eaa52dcb52"
},
- "eyes": {
- "category": "people",
- "moji": "👀",
- "description": "eyes",
+ "name_badge": {
+ "category": "symbols",
+ "moji": "📛",
+ "description": "name badge",
"unicodeVersion": "6.0",
- "digest": "659c9a040950bd320a33177be730c086cc6cf390d1b99d7cbf3e6bc7705f21bf"
+ "digest": "42cca8b42700765726f33adac7fd6ddb8911d4e2b5ea680c4348c0c699d61c3f"
},
- "face_palm": {
- "category": "people",
- "moji": "🤦",
- "description": "face palm",
- "unicodeVersion": "9.0",
- "digest": "60baca7855516c86883de6fd63f154b047d27325590c751089404e7287df56aa"
+ "beginner": {
+ "category": "symbols",
+ "moji": "🔰",
+ "description": "japanese symbol for beginner",
+ "unicodeVersion": "6.0",
+ "digest": "330defe4283c7387645422a58f8ccdba013087938a21e726bad64abaafc5d2c3"
},
- "face_palm_tone1": {
- "category": "people",
- "moji": "🤦🏻",
- "description": "face palm tone 1",
- "unicodeVersion": "9.0",
- "digest": "f505ab5fc98f2e3bf5893f59484b90900e7c04c6f0467e0c89ccf99c5fd76715"
+ "o": {
+ "category": "symbols",
+ "moji": "⭕",
+ "description": "heavy large circle",
+ "unicodeVersion": "5.2",
+ "digest": "31fd3373121e1690bd2368bb8964007bae2b151345184bd30bc719320b7540b0"
},
- "face_palm_tone2": {
- "category": "people",
- "moji": "🤦🏼",
- "description": "face palm tone 2",
- "unicodeVersion": "9.0",
- "digest": "9a3361cef95736983bbd54375ce9bf59c0fb1608f445da9dce79617cf05841bb"
+ "white_check_mark": {
+ "category": "symbols",
+ "moji": "✅",
+ "description": "white heavy check mark",
+ "unicodeVersion": "6.0",
+ "digest": "6f37f4b2dd017d42bb070d2544dce135a1c11203c5cb537c760b3c90d17bc0c3"
},
- "face_palm_tone3": {
- "category": "people",
- "moji": "🤦🏽",
- "description": "face palm tone 3",
- "unicodeVersion": "9.0",
- "digest": "d53cda9e9909988ec6ca4b9ee5735bac82ca53ee890f1c0eca50471ddbb044d3"
+ "ballot_box_with_check": {
+ "category": "symbols",
+ "moji": "☑",
+ "description": "ballot box with check",
+ "unicodeVersion": "1.1",
+ "digest": "81e61184a557724ccfe7c2f8e2005f053e134ed19c9c8e4aa5890d9fefc32392"
},
- "face_palm_tone4": {
- "category": "people",
- "moji": "🤦🏾",
- "description": "face palm tone 4",
- "unicodeVersion": "9.0",
- "digest": "51d8cd0103356c08c4fe5cb6d68ac09688d08ea9253d6ccc09b4900730a89d80"
+ "heavy_check_mark": {
+ "category": "symbols",
+ "moji": "✔",
+ "description": "heavy check mark",
+ "unicodeVersion": "1.1",
+ "digest": "206dc92526366341e4eef274354104ac2d6a464dfc253c0459c6943556ab3d64"
},
- "face_palm_tone5": {
- "category": "people",
- "moji": "🤦🏿",
- "description": "face palm tone 5",
- "unicodeVersion": "9.0",
- "digest": "7c044e1662880c143f8f2b15eee0d5aeb2c6831ee70ff5dcc3796f2585f5f6b0"
+ "x": {
+ "category": "symbols",
+ "moji": "❌",
+ "description": "cross mark",
+ "unicodeVersion": "6.0",
+ "digest": "d07158957d15f5b6c6fc56a9658a82ee1fa58f7b8b19d121a1713c9bf38cbdfc"
},
- "factory": {
- "category": "travel",
- "moji": "🏭",
- "description": "factory",
+ "negative_squared_cross_mark": {
+ "category": "symbols",
+ "moji": "❎",
+ "description": "negative squared cross mark",
"unicodeVersion": "6.0",
- "digest": "e71fc6d2fb903490f28565cbea6c3ca7384adc24aa0ba3ae481ca12255a015d3"
+ "digest": "cb116b6722949b59acdcb92a8a46fb4ab8f0208dafca73a55b49b09b2d8d37a4"
},
- "fallen_leaf": {
- "category": "nature",
- "moji": "🍂",
- "description": "fallen leaf",
+ "curly_loop": {
+ "category": "symbols",
+ "moji": "➰",
+ "description": "curly loop",
"unicodeVersion": "6.0",
- "digest": "96c9e1139937dc4be942855f4b1f140cb06809c51a818d078f4680e0375ddc1c"
+ "digest": "365b37a4afb451ace34de1a59727467bfe6f501437dc3459ec55a0234d98e307"
},
- "family": {
- "category": "people",
- "moji": "👪",
- "description": "family",
+ "loop": {
+ "category": "symbols",
+ "moji": "➿",
+ "description": "double curly loop",
"unicodeVersion": "6.0",
- "digest": "363da6588b6816c4f9811c76fee6601e3111030a1ba86fea9464c60568144c50"
+ "digest": "f9044b19663fb8e3e21aeafa6e1022e20be4d61683f13f1472b1feedc0140d7b"
},
- "family_mmb": {
- "category": "people",
- "moji": "👨‍👨‍👦",
- "description": "family (man,man,boy)",
+ "part_alternation_mark": {
+ "category": "symbols",
+ "moji": "〽",
+ "description": "part alternation mark",
+ "unicodeVersion": "3.2",
+ "digest": "2cf463fbc9bc4b1f63ec7c4c5cf9601b860c52c6f052c971c8b0c7f4cabe413d"
+ },
+ "eight_spoked_asterisk": {
+ "category": "symbols",
+ "moji": "✳",
+ "description": "eight spoked asterisk",
+ "unicodeVersion": "1.1",
+ "digest": "65fb63267575cb5637fed6ff99327cab54301baa39024ffae8fc8dd3db3516f9"
+ },
+ "eight_pointed_black_star": {
+ "category": "symbols",
+ "moji": "✴",
+ "description": "eight pointed black star",
+ "unicodeVersion": "1.1",
+ "digest": "a06b0825d8288487c0a27cf858b1bdc3f9144683fe9ceb9608450f21dc278db8"
+ },
+ "sparkle": {
+ "category": "symbols",
+ "moji": "❇",
+ "description": "sparkle",
+ "unicodeVersion": "1.1",
+ "digest": "8aab76f3a4f25b2e583fe675546e400e96417bc99e1c7ed08007d3afaaffc9a1"
+ },
+ "copyright": {
+ "category": "symbols",
+ "moji": "©️",
+ "description": "copyright sign",
+ "unicodeVersion": "1.1",
+ "digest": "681f772f6710df90e3b53e2ee6c3170f344873bd4c1e41e2016a411125b90f4a"
+ },
+ "registered": {
+ "category": "symbols",
+ "moji": "®️",
+ "description": "registered sign",
+ "unicodeVersion": "1.1",
+ "digest": "aeabdec7e5ddeed91ca77a6b926d76362e90d955225cbba6cee8b26442661e10"
+ },
+ "tm": {
+ "category": "symbols",
+ "moji": "™️",
+ "description": "trade mark sign",
+ "unicodeVersion": "1.1",
+ "digest": "aaa0898628f473e4e8df05d707b2d49a854ce3fbb78b8ca37ac0560b329fd8ea"
+ },
+ "hash": {
+ "category": "symbols",
+ "moji": "#⃣",
+ "description": "number sign",
+ "unicodeVersion": "3.0",
+ "digest": "941108d47089055455e13b981cd37b0437cd72d5c19ad397254494184060366e"
+ },
+ "asterisk": {
+ "category": "symbols",
+ "moji": "*⃣",
+ "description": "keycap asterisk",
+ "unicodeVersion": "3.0",
+ "digest": "7f65396609bdbffe6bf305cbfe56c4274f063f235d9e505b66367a71ee1cf233"
+ },
+ "zero": {
+ "category": "symbols",
+ "moji": "0️⃣",
+ "description": "keycap digit zero",
+ "unicodeVersion": "3.0",
+ "digest": "ef62df7416e51b02ff22787a981235053baabbb872247605e97834d9a7caff49"
+ },
+ "one": {
+ "category": "symbols",
+ "moji": "1️⃣",
+ "description": "keycap digit one",
+ "unicodeVersion": "3.0",
+ "digest": "6e3c571545f5ec85e72b1d694adbcb764099bbcb512b99c89ac8c8b1b6e1de89"
+ },
+ "two": {
+ "category": "symbols",
+ "moji": "2️⃣",
+ "description": "keycap digit two",
+ "unicodeVersion": "3.0",
+ "digest": "d091a45f6754587ac8602259955a5d2d1e41d090a1da1c81e46f286ab3de1385"
+ },
+ "three": {
+ "category": "symbols",
+ "moji": "3️⃣",
+ "description": "keycap digit three",
+ "unicodeVersion": "3.0",
+ "digest": "e66cfca0c1871d16283fcdddc7b170ad67c0a52f21d54985e4789daa1c61ee63"
+ },
+ "four": {
+ "category": "symbols",
+ "moji": "4️⃣",
+ "description": "keycap digit four",
+ "unicodeVersion": "3.0",
+ "digest": "10495232058ba7d32dad0aae87f30c50a96a95055dd4fa0f278fcc8c1aa24d84"
+ },
+ "five": {
+ "category": "symbols",
+ "moji": "5️⃣",
+ "description": "keycap digit five",
+ "unicodeVersion": "3.0",
+ "digest": "f763042ce9ec1e56342edf89b643c68019b103e0b1c812e130289d2534d6d914"
+ },
+ "six": {
+ "category": "symbols",
+ "moji": "6️⃣",
+ "description": "keycap digit six",
+ "unicodeVersion": "3.0",
+ "digest": "f455fcc89917bf67c1ac4245399146912578582cdff0e1e8bc216a4c4b7c43a0"
+ },
+ "seven": {
+ "category": "symbols",
+ "moji": "7️⃣",
+ "description": "keycap digit seven",
+ "unicodeVersion": "3.0",
+ "digest": "e9c95466693be79dff2e1d8eadddfc75967e6f7f641a21efcabccf173a8224c7"
+ },
+ "eight": {
+ "category": "symbols",
+ "moji": "8️⃣",
+ "description": "keycap digit eight",
+ "unicodeVersion": "3.0",
+ "digest": "0cc5beaaf4cf5efc0dc7450327ca264669641deebe0696997b578ca603eadd80"
+ },
+ "nine": {
+ "category": "symbols",
+ "moji": "9️⃣",
+ "description": "keycap digit nine",
+ "unicodeVersion": "3.0",
+ "digest": "c4f0670503ff77ffd10b8de9f0b5f240283cdf7323889dec6a38240fa5ddeae1"
+ },
+ "ten": {
+ "category": "symbols",
+ "moji": "🔟",
+ "description": "keycap ten",
"unicodeVersion": "6.0",
- "digest": "4464331734f8afbc33ebd38552ea1452813dc9e0295e315e4bcadf4876444474"
+ "digest": "4474d95b39371042bf8dfac128d68f391fb10efbc9c245de5dc6aefb10544439"
},
- "family_mmbb": {
- "category": "people",
- "moji": "👨‍👨‍👦‍👦",
- "description": "family (man,man,boy,boy)",
+ "capital_abcd": {
+ "category": "symbols",
+ "moji": "🔠",
+ "description": "input symbol for latin capital letters",
"unicodeVersion": "6.0",
- "digest": "ad976771f346f8c48d0a0077ee8ec427048937814a03a8691d422dd664991734"
+ "digest": "6cd31a4765c108d5e85f0ad9e25dee8e8f8af1fc40de161c0407f4041db9e288"
},
- "family_mmg": {
- "category": "people",
- "moji": "👨‍👨‍👧",
- "description": "family (man,man,girl)",
+ "abcd": {
+ "category": "symbols",
+ "moji": "🔡",
+ "description": "input symbol for latin small letters",
"unicodeVersion": "6.0",
- "digest": "961e428e8dfccab9575c6add7fc1523643caa2da47890b2baaa265c5f0ea0d8b"
+ "digest": "ad9982f0e3f4c346a6536d8b2a65c625f05278510910f656e59a6d280a90d3c2"
},
- "family_mmgb": {
- "category": "people",
- "moji": "👨‍👨‍👧‍👦",
- "description": "family (man,man,girl,boy)",
+ "1234": {
+ "category": "symbols",
+ "moji": "🔢",
+ "description": "input symbol for numbers",
"unicodeVersion": "6.0",
- "digest": "7240b99930a16295b3396d7183ecad125423d019b08f11746969c3939005ceff"
+ "digest": "6f276a9127f2de22f508978bd645974d5e21dfd3cf138e0cb00f33599677b533"
},
- "family_mmgg": {
- "category": "people",
- "moji": "👨‍👨‍👧‍👧",
- "description": "family (man,man,girl,girl)",
+ "symbols": {
+ "category": "symbols",
+ "moji": "🔣",
+ "description": "input symbol for symbols",
"unicodeVersion": "6.0",
- "digest": "2f2d726791f01c880df79431dc9472724f61d621b8b17344a9839db6f65b8cd7"
+ "digest": "ff91761a5def3885f52b44abc14a3073800f6ca6f5a61480c902917896843dc1"
},
- "family_mwbb": {
- "category": "people",
- "moji": "👨‍👩‍👦‍👦",
- "description": "family (man,woman,boy,boy)",
+ "abc": {
+ "category": "symbols",
+ "moji": "🔤",
+ "description": "input symbol for latin letters",
"unicodeVersion": "6.0",
- "digest": "e0056e604ec4d411ebb4aefc079f47efb11bf7db4c3ebf9d17759f40075a19a5"
+ "digest": "9991fd68e58377848e6e1b8d4b74bdbfd09e575686047651f139c126e9df6c4c"
},
- "family_mwg": {
- "category": "people",
- "moji": "👨‍👩‍👧",
- "description": "family (man,woman,girl)",
+ "a": {
+ "category": "symbols",
+ "moji": "🅰",
+ "description": "negative squared latin capital letter a",
"unicodeVersion": "6.0",
- "digest": "3c256c9982e40db556a4667e6a666c06f6088249b5cc260e92bd443cc5d85b1c"
+ "digest": "3a5aea7fbabb9e1a5e364f937704fd21296323470fdb1e2bf767d07516c94d21"
},
- "family_mwgb": {
- "category": "people",
- "moji": "👨‍👩‍👧‍👦",
- "description": "family (man,woman,girl,boy)",
+ "ab": {
+ "category": "symbols",
+ "moji": "🆎",
+ "description": "negative squared ab",
"unicodeVersion": "6.0",
- "digest": "09481d128ece6416b169b99a9b770a1c72f662adde86fa6c214a1f979e98f8bd"
+ "digest": "2a58932a5ab57aa3c82f77e5df5cd9ce5103667483bb93a6c96f31e171577654"
},
- "family_mwgg": {
- "category": "people",
- "moji": "👨‍👩‍👧‍👧",
- "description": "family (man,woman,girl,girl)",
+ "b": {
+ "category": "symbols",
+ "moji": "🅱",
+ "description": "negative squared latin capital letter b",
"unicodeVersion": "6.0",
- "digest": "2e9670f98d310c15491a66a4108773cc994401cc864923c0fc1c61123b99c1b5"
+ "digest": "ae89fc972ef5c80863022ef169e3ceb4bfdece3cf052fe9023516904db23b8a0"
},
- "family_wwb": {
- "category": "people",
- "moji": "👩‍👩‍👦",
- "description": "family (woman,woman,boy)",
+ "cl": {
+ "category": "symbols",
+ "moji": "🆑",
+ "description": "squared cl",
"unicodeVersion": "6.0",
- "digest": "df970eeb8fe917398b9dfd68b181ec6cfe1f7e981af2f67e5d8c96a228aa8147"
+ "digest": "071117bab8c92f8ea4b734b358d3591ef4b4df067514b80f747b6293efc77ec7"
},
- "family_wwbb": {
- "category": "people",
- "moji": "👩‍👩‍👦‍👦",
- "description": "family (woman,woman,boy,boy)",
+ "cool": {
+ "category": "symbols",
+ "moji": "🆒",
+ "description": "squared cool",
"unicodeVersion": "6.0",
- "digest": "d6e262911da6a7fc47d49642666f5068e597976c1760d25758114cad16b1ac1c"
+ "digest": "d9e004043f68d0dfea5cb4ae961c4e66edf32a840bf5f1dae43df3c522db6322"
},
- "family_wwg": {
- "category": "people",
- "moji": "👩‍👩‍👧",
- "description": "family (woman,woman,girl)",
+ "free": {
+ "category": "symbols",
+ "moji": "🆓",
+ "description": "squared free",
"unicodeVersion": "6.0",
- "digest": "1f64c8a10f813344c4d10ab78fb55c2a2c221101e8645c6b6dcc0c8ca40c029c"
+ "digest": "a3afee0d4e8da8f6fc2dc42b453b6f0aa9b6e159e24fce1afa04e92b74a69fc4"
},
- "family_wwgb": {
- "category": "people",
- "moji": "👩‍👩‍👧‍👦",
- "description": "family (woman,woman,girl,boy)",
+ "information_source": {
+ "category": "symbols",
+ "moji": "ℹ",
+ "description": "information source",
+ "unicodeVersion": "3.0",
+ "digest": "9deada49f605373b64d9eefa432f73cf07287ebe254233823109d133dc86dc23"
+ },
+ "id": {
+ "category": "symbols",
+ "moji": "🆔",
+ "description": "squared id",
"unicodeVersion": "6.0",
- "digest": "d0962105cff6755305a08c0a0f748cb4fdfe3f78c9add25640dac05a8e4200e6"
+ "digest": "63c1717c82c487db9a3e2a31be498e3cc88349cb0f2a5010b77be4bd51ba012b"
},
- "family_wwgg": {
- "category": "people",
- "moji": "👩‍👩‍👧‍👧",
- "description": "family (woman,woman,girl,girl)",
+ "m": {
+ "category": "symbols",
+ "moji": "Ⓜ",
+ "description": "circled latin capital letter m",
+ "unicodeVersion": "1.1",
+ "digest": "45f66b77808cb780aee7c3440bf57f20f0a7ba3a6048806395e88c47b58263b2"
+ },
+ "new": {
+ "category": "symbols",
+ "moji": "🆕",
+ "description": "squared new",
"unicodeVersion": "6.0",
- "digest": "9733e9a03cccda66612c0274842e514092d1816dba914f337ba422e988225352"
+ "digest": "fe42aef2603c69544297c0330168c37a844a191cb541344f49b2b0e3b7b01457"
},
- "fast_forward": {
+ "ng": {
"category": "symbols",
- "moji": "⏩",
- "description": "black right-pointing double triangle",
+ "moji": "🆖",
+ "description": "squared ng",
"unicodeVersion": "6.0",
- "digest": "4ad792e67e07120968468561f20df83f39fa5800b8212a64e76fc36cf27464c3"
+ "digest": "53b461719257c3a5d4c413bebc6a4ab5b6c8c66a76f47f5354fc800746fef815"
},
- "fax": {
- "category": "objects",
- "moji": "📠",
- "description": "fax machine",
+ "o2": {
+ "category": "symbols",
+ "moji": "🅾",
+ "description": "negative squared latin capital letter o",
"unicodeVersion": "6.0",
- "digest": "cf7823d54b57edbf46384c7833efc4ce9ddef29786d74a89a8af1e8ed2e7d599"
+ "digest": "672d9a179c75b9375f51175db75154a8b0006e60a9b4546658d9cddca8ab0a86"
},
- "fearful": {
- "category": "people",
- "moji": "😨",
- "description": "fearful face",
+ "ok": {
+ "category": "symbols",
+ "moji": "🆗",
+ "description": "squared ok",
"unicodeVersion": "6.0",
- "digest": "ce0c48c3ede7231acd645ffa0fe3dfec012e6f88a30431c44e3b816063ac42b4"
+ "digest": "df301dcd8dc7df31e26a6ba360e8f8b3c0f5bd4869301fde41ccfa3271866ab9"
},
- "feet": {
- "category": "nature",
- "moji": "🐾",
- "description": "paw prints",
+ "parking": {
+ "category": "symbols",
+ "moji": "🅿",
+ "description": "negative squared latin capital letter p",
+ "unicodeVersion": "5.2",
+ "digest": "ccc4a7c9d2d6a1f1fd0788a91618a5178ce8e926d1ebe033ab6d6f77b47b2440"
+ },
+ "sos": {
+ "category": "symbols",
+ "moji": "🆘",
+ "description": "squared sos",
"unicodeVersion": "6.0",
- "digest": "cb4b59f2c5df407bae3d02b638721b7f47b685d4e03f7ddb8d1fedaae9e2179a"
+ "digest": "13dcfd9239e12ebdb00b2e3b632e26fa1160ed645226f21b6cef5a7f3a9690fe"
},
- "fencer": {
- "category": "activity",
- "moji": "🤺",
- "description": "fencer",
- "unicodeVersion": "9.0",
- "digest": "8fe2320e2bf8ae87bdd7b2cb519146fba1cc5f1df8c426f83a780544bfec3785"
+ "up": {
+ "category": "symbols",
+ "moji": "🆙",
+ "description": "squared up with exclamation mark",
+ "unicodeVersion": "6.0",
+ "digest": "807046ea55d94a542e355a6cf9c6bab5fe8523513669211ab1c13765348ff41a"
},
- "ferris_wheel": {
- "category": "travel",
- "moji": "🎡",
- "description": "ferris wheel",
+ "vs": {
+ "category": "symbols",
+ "moji": "🆚",
+ "description": "squared vs",
"unicodeVersion": "6.0",
- "digest": "a2eabc2a9f677373e013a100fc0f3b1e55d9aab24fc77056ee2bfef7dfc19add"
+ "digest": "1e67a891ce028db2e6fb8506879d3c0edbf024012a75a5073e89aa834c6f314e"
},
- "ferry": {
- "category": "travel",
- "moji": "⛴",
- "description": "ferry",
- "unicodeVersion": "5.2",
- "digest": "977c47292fd51ecd5d558a309405b15fc64b9b8edbedf95d8af30fa40636e6d0"
+ "koko": {
+ "category": "symbols",
+ "moji": "🈁",
+ "description": "squared katakana koko",
+ "unicodeVersion": "6.0",
+ "digest": "3d49c8510a5e6c915d88c026897987d8a1d52aca5d498ef7d86fcc76ebb838e9"
},
- "field_hockey": {
- "category": "activity",
- "moji": "🏑",
- "description": "field hockey stick and ball",
- "unicodeVersion": "8.0",
- "digest": "8608cd6944c9d3791e5c0b3111f7c5ca6155f64552ae9ab3e2f93514d053e042"
+ "sa": {
+ "category": "symbols",
+ "moji": "🈂",
+ "description": "squared katakana sa",
+ "unicodeVersion": "6.0",
+ "digest": "58e18447fd35e85c8a7c45eab01da1e2d6ff67d933e0ea9d5875a5e83273e733"
},
- "file_cabinet": {
- "category": "objects",
- "moji": "🗄",
- "description": "file cabinet",
- "unicodeVersion": "7.0",
- "digest": "29cf5c9587eb08a6736e37a6c7e01ad7e1453dd770c02c743604c2abf314d90f"
+ "u6708": {
+ "category": "symbols",
+ "moji": "🈷",
+ "description": "squared cjk unified ideograph-6708",
+ "unicodeVersion": "6.0",
+ "digest": "de0a0568e1a0de7653dac4dd093ee95027087b301d914752bafbda4648724847"
},
- "file_folder": {
- "category": "objects",
- "moji": "📁",
- "description": "file folder",
+ "u6709": {
+ "category": "symbols",
+ "moji": "🈶",
+ "description": "squared cjk unified ideograph-6709",
"unicodeVersion": "6.0",
- "digest": "25f9840f4a2bc80558ef9ed231f88a7031bc4b0aad087a7be9748fb006a37288"
+ "digest": "5370fc51eed9c35a7a695881cdb3218b2fda9d70b1a887a5f2dcd7bdd0f5f3bc"
},
- "film_frames": {
- "category": "objects",
- "moji": "🎞",
- "description": "film frames",
- "unicodeVersion": "7.0",
- "digest": "ddc2c8bf00765b8a91bff22a06dba1cef2a78d89afb9515e55dc417cfcba570e"
+ "u6307": {
+ "category": "symbols",
+ "moji": "🈯",
+ "description": "squared cjk unified ideograph-6307",
+ "unicodeVersion": "5.2",
+ "digest": "6ecd33c04af54469548189adc89a12ea3677b7d76af6349221bab3ac17c51011"
},
- "fingers_crossed": {
- "category": "people",
- "moji": "🤞",
- "description": "hand with first and index finger crossed",
- "unicodeVersion": "9.0",
- "digest": "fee443087ed38c26487edd1bd8866ce399ef6a8eb98342fc0110bd2f77835253"
+ "ideograph_advantage": {
+ "category": "symbols",
+ "moji": "🉐",
+ "description": "circled ideograph advantage",
+ "unicodeVersion": "6.0",
+ "digest": "b07fab8069772a132928e38b64d8e35661b33757176572c153f4563460dd5ddc"
},
- "fingers_crossed_tone1": {
- "category": "people",
- "moji": "🤞🏻",
- "description": "hand with index and middle fingers crossed tone 1",
- "unicodeVersion": "9.0",
- "digest": "b91c28f9644867ff41f22c1f80b6c9ee120413ae62f30772c9853d76987fed05"
+ "u5272": {
+ "category": "symbols",
+ "moji": "🈹",
+ "description": "squared cjk unified ideograph-5272",
+ "unicodeVersion": "6.0",
+ "digest": "146800348d2954ab707184573fd7a5be20971d6df655f37829f88a8678d4f54b"
},
- "fingers_crossed_tone2": {
- "category": "people",
- "moji": "🤞🏼",
- "description": "hand with index and middle fingers crossed tone 2",
- "unicodeVersion": "9.0",
- "digest": "9d4ea025f1daa063d14e8d26c3c94a0c86379b214ac8125acc404820fd1ddbb5"
+ "u7121": {
+ "category": "symbols",
+ "moji": "🈚",
+ "description": "squared cjk unified ideograph-7121",
+ "unicodeVersion": "5.2",
+ "digest": "3df28fb3345962cc97b32391bcb9dfd1df82bfadf1dc3567122fd086aff59cb3"
},
- "fingers_crossed_tone3": {
- "category": "people",
- "moji": "🤞🏽",
- "description": "hand with index and middle fingers crossed tone 3",
- "unicodeVersion": "9.0",
- "digest": "23ee099706ec89b6bbc6f2911f9f1571822192d913516279a5318d92d01bc754"
+ "u7981": {
+ "category": "symbols",
+ "moji": "🈲",
+ "description": "squared cjk unified ideograph-7981",
+ "unicodeVersion": "6.0",
+ "digest": "e61e1ed43e0aa5747ad99050d48550ac23a8c6bfa7de7114b03a17eb0366872a"
},
- "fingers_crossed_tone4": {
- "category": "people",
- "moji": "🤞🏾",
- "description": "hand with index and middle fingers crossed tone 4",
- "unicodeVersion": "9.0",
- "digest": "cda52831530605511b13a4953136dd5f36fca1fbf3d11ac261caac862086aff9"
+ "accept": {
+ "category": "symbols",
+ "moji": "🉑",
+ "description": "circled ideograph accept",
+ "unicodeVersion": "6.0",
+ "digest": "d4dcdfdb5dfcd5374044568d879662e89bb5269fb789901e5468c07243f32143"
},
- "fingers_crossed_tone5": {
- "category": "people",
- "moji": "🤞🏿",
- "description": "hand with index and middle fingers crossed tone 5",
- "unicodeVersion": "9.0",
- "digest": "b49c1b15808715547f6f04113cf1631f4d79f8c1fec5f9ecdeea60284f9b4dad"
+ "u7533": {
+ "category": "symbols",
+ "moji": "🈸",
+ "description": "squared cjk unified ideograph-7533",
+ "unicodeVersion": "6.0",
+ "digest": "014087496357083b2fa0f6372f3c768c9d0cde6f290460c8b4ecfa322955a065"
},
- "fire": {
- "category": "nature",
- "moji": "🔥",
- "description": "fire",
+ "u5408": {
+ "category": "symbols",
+ "moji": "🈴",
+ "description": "squared cjk unified ideograph-5408",
"unicodeVersion": "6.0",
- "digest": "37ab0faba2cb2a665775cdde7aaf4b4a0dfdd21030b57a613ddc9cb91883d7e4"
+ "digest": "c65c6b24648ec959bb497872003adf9f29db19f3bc3ffc5f3c6d03ec36f7e7ed"
},
- "fire_engine": {
- "category": "travel",
- "moji": "🚒",
- "description": "fire engine",
+ "u7a7a": {
+ "category": "symbols",
+ "moji": "🈳",
+ "description": "squared cjk unified ideograph-7a7a",
"unicodeVersion": "6.0",
- "digest": "c81e1df702689c4c3895862e2da1092f30f5c415c0e9726f0b2c5c42ed9660ce"
+ "digest": "d306d00de7a978823adf885d3beb23c41359a2bb804425b8652f59f5ceadd40d"
},
- "fireworks": {
- "category": "travel",
- "moji": "🎆",
- "description": "fireworks",
+ "congratulations": {
+ "category": "symbols",
+ "moji": "㊗",
+ "description": "circled ideograph congratulation",
+ "unicodeVersion": "1.1",
+ "digest": "3c4f04a0b13353e975bdcd489f5cc2899b3dace2c83ca3012605f1b2801b581e"
+ },
+ "secret": {
+ "category": "symbols",
+ "moji": "㊙",
+ "description": "circled ideograph secret",
+ "unicodeVersion": "1.1",
+ "digest": "a67c62b033cebaec448c90f0f98960058fd020fe523dbd315e6b60966fb89da7"
+ },
+ "u55b6": {
+ "category": "symbols",
+ "moji": "🈺",
+ "description": "squared cjk unified ideograph-55b6",
"unicodeVersion": "6.0",
- "digest": "6242b48df4b30753b154ec6d5f3883646fa42b55a629a7a1273d290e97df8a41"
+ "digest": "0c441fbe4e8527c04c44a297150b2c3dab5f5ba51acffd1adc3109057ec20522"
},
- "first_place": {
- "category": "activity",
- "moji": "🥇",
- "description": "first place medal",
- "unicodeVersion": "9.0",
- "digest": "d250c1890f341665d689d705c13fc4c5448d870d193b8b3405832e2fd92f5385"
+ "u6e80": {
+ "category": "symbols",
+ "moji": "🈵",
+ "description": "squared cjk unified ideograph-6e80",
+ "unicodeVersion": "6.0",
+ "digest": "cc9fbe7d7a29f3d309e0c7dedacf3b19afb4f0689aebcb0ffbdf06febd961842"
},
- "first_quarter_moon": {
- "category": "nature",
- "moji": "🌓",
- "description": "first quarter moon symbol",
+ "red_circle": {
+ "category": "symbols",
+ "moji": "🔴",
+ "description": "large red circle",
"unicodeVersion": "6.0",
- "digest": "8bcc5d70d27f52098378fc800041429f726323ee840276c7901f4b525778a8f2"
+ "digest": "a76514fffb0fec7b8994aa202144350f3257c4562c02a451c5727d20ce0f21ac"
},
- "first_quarter_moon_with_face": {
- "category": "nature",
- "moji": "🌛",
- "description": "first quarter moon with face",
+ "large_blue_circle": {
+ "category": "symbols",
+ "moji": "🔵",
+ "description": "large blue circle",
"unicodeVersion": "6.0",
- "digest": "a878335d845f1ec830614307fe3d48e346730ec62d3334687aaef43d4a9033e6"
+ "digest": "7588a2b1c1baef733d6e7572580c51dcd81bb0c85c77080dfd136d3a995ef3cc"
},
- "fish": {
- "category": "nature",
- "moji": "🐟",
- "description": "fish",
+ "black_circle": {
+ "category": "symbols",
+ "moji": "⚫",
+ "description": "medium black circle",
+ "unicodeVersion": "4.1",
+ "digest": "dd472d37a09519c4b35d7cce0c1d988cc78abc7eec6ab794f49c75ac1c506450"
+ },
+ "white_circle": {
+ "category": "symbols",
+ "moji": "⚪",
+ "description": "medium white circle",
+ "unicodeVersion": "4.1",
+ "digest": "386429066322ba83e4790d7e930c167a6789f978f65e2131f0534230f196d40a"
+ },
+ "black_large_square": {
+ "category": "symbols",
+ "moji": "⬛",
+ "description": "black large square",
+ "unicodeVersion": "5.1",
+ "digest": "2c606063c452385e38808861d820d799c25450d777c58faa3a58030e32d40d0c"
+ },
+ "white_large_square": {
+ "category": "symbols",
+ "moji": "⬜",
+ "description": "white large square",
+ "unicodeVersion": "5.1",
+ "digest": "a56e16d3a7778cfec18b031b9f0f04aa008d3b81a2dc4642366f7d92adc1d862"
+ },
+ "black_medium_square": {
+ "category": "symbols",
+ "moji": "◼",
+ "description": "black medium square",
+ "unicodeVersion": "3.2",
+ "digest": "7811b577922f508cf89ac34abdbe5285213b3519de340fe1d57ca6780a500066"
+ },
+ "white_medium_square": {
+ "category": "symbols",
+ "moji": "◻",
+ "description": "white medium square",
+ "unicodeVersion": "3.2",
+ "digest": "0328185858eb63e113136674509fb89f43ab5306449345e2e65d1ee2d616a54d"
+ },
+ "black_medium_small_square": {
+ "category": "symbols",
+ "moji": "◾",
+ "description": "black medium small square",
+ "unicodeVersion": "3.2",
+ "digest": "abd57777f919013b8c0686541263d62492ffd042a1d4b05000856dd1a3ff33ef"
+ },
+ "white_medium_small_square": {
+ "category": "symbols",
+ "moji": "◽",
+ "description": "white medium small square",
+ "unicodeVersion": "3.2",
+ "digest": "9950d2efd6bca2b2583f670c389f839b5346b9e608eb9b00628b196f9d6b37a3"
+ },
+ "black_small_square": {
+ "category": "symbols",
+ "moji": "▪",
+ "description": "black small square",
+ "unicodeVersion": "1.1",
+ "digest": "958483632202cf3181ef96532b0371cad1ea9b693100def41df69388b1ee468a"
+ },
+ "white_small_square": {
+ "category": "symbols",
+ "moji": "▫",
+ "description": "white small square",
+ "unicodeVersion": "1.1",
+ "digest": "a805e7c1edcf6668a6bdc8324e9ec78da8aa4a79f789f55ce6828337b2f8e43c"
+ },
+ "large_orange_diamond": {
+ "category": "symbols",
+ "moji": "🔶",
+ "description": "large orange diamond",
"unicodeVersion": "6.0",
- "digest": "036332286b852c6dd8c672f1540a4b4c5082885555f60a7d0f93b82c2acdc0f5"
+ "digest": "30bee888a5d3dc39a11132fac8a490d8dab4237cc62f1529f5c3e6e77b8f29a4"
},
- "fish_cake": {
- "category": "food",
- "moji": "🍥",
- "description": "fish cake with swirl design",
+ "large_blue_diamond": {
+ "category": "symbols",
+ "moji": "🔷",
+ "description": "large blue diamond",
"unicodeVersion": "6.0",
- "digest": "2289ec22dc4e1cb1e143c56809f4d4f920e221f11237533cee95472a30985068"
+ "digest": "2e69e9e80dee0192403fe95aab3223208ccf97963dff54a061b6f2e3419820ef"
},
- "fishing_pole_and_fish": {
- "category": "activity",
- "moji": "🎣",
- "description": "fishing pole and fish",
+ "small_orange_diamond": {
+ "category": "symbols",
+ "moji": "🔸",
+ "description": "small orange diamond",
"unicodeVersion": "6.0",
- "digest": "539df418ee29c240216b28aa1af12feefe9273de148a80289c2a512785d98aee"
+ "digest": "7de47af62764c8136415214e7eb7b8e985ec600b79991c0ba44b96824350eeef"
},
- "fist": {
- "category": "people",
- "moji": "✊",
- "description": "raised fist",
+ "small_blue_diamond": {
+ "category": "symbols",
+ "moji": "🔹",
+ "description": "small blue diamond",
"unicodeVersion": "6.0",
- "digest": "5902870e6121df3f316a3c5f62b3e0a32679f3fca37fda165267d15001fbcfe4"
+ "digest": "22016e16c1e769099e972a93eaed9fd4131867020c0d6669aeb323d414ef1f93"
},
- "fist_tone1": {
- "category": "people",
- "moji": "✊🏻",
- "description": "raised fist tone 1",
- "unicodeVersion": "8.0",
- "digest": "9c4e0289af6fd5a9fdb5b77396d37d93f97bf0f302c20a980dc4663121b31eb9"
+ "small_red_triangle": {
+ "category": "symbols",
+ "moji": "🔺",
+ "description": "up-pointing red triangle",
+ "unicodeVersion": "6.0",
+ "digest": "521e2b28387cd5d13d17c5dedf6b944c0139f36bc6136e5bcca5b59ee1a59823"
},
- "fist_tone2": {
- "category": "people",
- "moji": "✊🏼",
- "description": "raised fist tone 2",
- "unicodeVersion": "8.0",
- "digest": "6784ddda1bef3dee456860266c9d408efddbfd50566115f674091ae338d8a8bd"
+ "small_red_triangle_down": {
+ "category": "symbols",
+ "moji": "🔻",
+ "description": "down-pointing red triangle",
+ "unicodeVersion": "6.0",
+ "digest": "cfbea3a1506cd1f26aa11603421d2137c3a847f4dc1d0728c16901e0e4195adc"
},
- "fist_tone3": {
- "category": "people",
- "moji": "✊🏽",
- "description": "raised fist tone 3",
- "unicodeVersion": "8.0",
- "digest": "0355b2238cabd2edcedbb47b548db789bcb1ccbd1fc56090e2b5976db0f792ef"
+ "diamond_shape_with_a_dot_inside": {
+ "category": "symbols",
+ "moji": "💠",
+ "description": "diamond shape with a dot inside",
+ "unicodeVersion": "6.0",
+ "digest": "785dedaf65b4c8a8b2a758608563528cae6d65864e36b17a45b7b4b15fce67e5"
},
- "fist_tone4": {
- "category": "people",
- "moji": "✊🏾",
- "description": "raised fist tone 4",
- "unicodeVersion": "8.0",
- "digest": "2e29b3c36c7260c6f327941b4345be2642f034f36c6b5cb9ffcff0ee7a6140b3"
+ "radio_button": {
+ "category": "symbols",
+ "moji": "🔘",
+ "description": "radio button",
+ "unicodeVersion": "6.0",
+ "digest": "7e74da4889650286464a22035c3297d914c1e52c266d5accbffe03d8f76069de"
},
- "fist_tone5": {
- "category": "people",
- "moji": "✊🏿",
- "description": "raised fist tone 5",
- "unicodeVersion": "8.0",
- "digest": "3d69c0e6b12f4e6ec6b9e6a3b2974b880c4017d92bfe77bf5e14e8cc713d1c8c"
+ "white_square_button": {
+ "category": "symbols",
+ "moji": "🔳",
+ "description": "white square button",
+ "unicodeVersion": "6.0",
+ "digest": "bc65aefa55ddee130c006624bcd381313eba7261c99f8b273a938d273b84570a"
},
- "five": {
+ "black_square_button": {
"category": "symbols",
- "moji": "5️⃣",
- "description": "keycap digit five",
- "unicodeVersion": "3.0",
- "digest": "f763042ce9ec1e56342edf89b643c68019b103e0b1c812e130289d2534d6d914"
+ "moji": "🔲",
+ "description": "black square button",
+ "unicodeVersion": "6.0",
+ "digest": "2211e8f2193751c4d1716a4d13145e945293f0158d413333829e7a20a265e55b"
+ },
+ "checkered_flag": {
+ "category": "travel",
+ "moji": "🏁",
+ "description": "chequered flag",
+ "unicodeVersion": "6.0",
+ "digest": "b2527f2ce6797b261083947b9e9dd588382da6e7e46f81a1919d0f039635f21b"
+ },
+ "triangular_flag_on_post": {
+ "category": "objects",
+ "moji": "🚩",
+ "description": "triangular flag on post",
+ "unicodeVersion": "6.0",
+ "digest": "135c571161ba6bd55d4940366202164a6c4c325064a7ebc76fbdb3f92428fd73"
+ },
+ "crossed_flags": {
+ "category": "objects",
+ "moji": "🎌",
+ "description": "crossed flags",
+ "unicodeVersion": "6.0",
+ "digest": "451e17cbb40af3f42c7f687186c3ba7d8c9a99826635f3733256c663a0be31cb"
+ },
+ "flag_black": {
+ "category": "objects",
+ "moji": "🏴",
+ "description": "waving black flag",
+ "unicodeVersion": "7.0",
+ "digest": "f147434c7baea64732877fa3d6e821071f31dad1ac50dcd77a991bd1c9052611"
+ },
+ "flag_white": {
+ "category": "objects",
+ "moji": "🏳",
+ "description": "waving white flag",
+ "unicodeVersion": "7.0",
+ "digest": "9793e7ce774497489f7b6023b7b2d51ce01d83dda21b0903432883905cd5aa0b"
+ },
+ "gay_pride_flag": {
+ "category": "flags",
+ "moji": "🏳️‍🌈",
+ "description": "gay_pride_flag",
+ "unicodeVersion": "7.0",
+ "digest": "f23d3e6d08cda225b5778b7f2ffe7ef6ab32709f43bd1e7ccb453ee660f64fa1"
},
"flag_ac": {
"category": "flags",
@@ -3548,13 +10947,6 @@
"unicodeVersion": "6.0",
"digest": "0d322e0289bab47daf300db3c0b88dc348548f62adb27abb20b972e409e2c0c6"
},
- "flag_black": {
- "category": "objects",
- "moji": "🏴",
- "description": "waving black flag",
- "unicodeVersion": "7.0",
- "digest": "f147434c7baea64732877fa3d6e821071f31dad1ac50dcd77a991bd1c9052611"
- },
"flag_bm": {
"category": "flags",
"moji": "🇧🇲",
@@ -5116,13 +12508,6 @@
"unicodeVersion": "6.0",
"digest": "9c3a87c9a8d72e7158ff64fd73754dab8df3c36ae7ffb1fac8e6326cac226995"
},
- "flag_white": {
- "category": "objects",
- "moji": "🏳",
- "description": "waving white flag",
- "unicodeVersion": "7.0",
- "digest": "9793e7ce774497489f7b6023b7b2d51ce01d83dda21b0903432883905cd5aa0b"
- },
"flag_ws": {
"category": "flags",
"moji": "🇼🇸",
@@ -5171,7390 +12556,5 @@
"description": "zimbabwe",
"unicodeVersion": "6.0",
"digest": "5c78e2789c261c2e8fddb8a790d5b6e0dfb4c4922de54a8fa26b1ecdc89eb58d"
- },
- "flags": {
- "category": "objects",
- "moji": "🎏",
- "description": "carp streamer",
- "unicodeVersion": "6.0",
- "digest": "fe687c07453ae2869f11816bc2c604c67ba8c3754e597ce6871289cc358253c1"
- },
- "flashlight": {
- "category": "objects",
- "moji": "🔦",
- "description": "electric torch",
- "unicodeVersion": "6.0",
- "digest": "2fd24a87d1609384d671d0d6b6c5d27afde221e28e0ce1443f09b8ab96200329"
- },
- "fleur-de-lis": {
- "category": "symbols",
- "moji": "⚜",
- "description": "fleur-de-lis",
- "unicodeVersion": "4.1",
- "digest": "aad1d75ba9bce98d639b82b8c2f6481947edec6ceaa48cb890f2503eb2964202"
- },
- "floppy_disk": {
- "category": "objects",
- "moji": "💾",
- "description": "floppy disk",
- "unicodeVersion": "6.0",
- "digest": "24b4d593478f5619160a95967deb34662d0b1a3f6da96f84910d749914179e13"
- },
- "flower_playing_cards": {
- "category": "symbols",
- "moji": "🎴",
- "description": "flower playing cards",
- "unicodeVersion": "6.0",
- "digest": "814948cd185c22b3a394a5bb15924ddf6cf07b612658bd79c5192cd453057681"
- },
- "flushed": {
- "category": "people",
- "moji": "😳",
- "description": "flushed face",
- "unicodeVersion": "6.0",
- "digest": "d29c62b5892744d9d95cd876c703d079f1e8eed6091e51291e01667b8f4a6c7a"
- },
- "fog": {
- "category": "nature",
- "moji": "🌫",
- "description": "fog",
- "unicodeVersion": "7.0",
- "digest": "d216852000dd40e0f8b4c407368631b60a56d8eac32832461b303cc8f4d47488"
- },
- "foggy": {
- "category": "travel",
- "moji": "🌁",
- "description": "foggy",
- "unicodeVersion": "6.0",
- "digest": "0ccc53edb0aba767c59682d74a29221f829297e334120d3b90e3030054698ec7"
- },
- "football": {
- "category": "activity",
- "moji": "🏈",
- "description": "american football",
- "unicodeVersion": "6.0",
- "digest": "aefdff9cd010c9d82e2cdd83c4430db38bf311bfeac7f86583b122cba146c73f"
- },
- "footprints": {
- "category": "people",
- "moji": "👣",
- "description": "footprints",
- "unicodeVersion": "6.0",
- "digest": "43a8daa470e070c1cfdf541a502076f0a258e8cde2f707ad842bc24e499ad69c"
- },
- "fork_and_knife": {
- "category": "food",
- "moji": "🍴",
- "description": "fork and knife",
- "unicodeVersion": "6.0",
- "digest": "a22c9fabbcae702d4043e4bfab3f15cd96e585a291f93f820f01723c0465410c"
- },
- "fork_knife_plate": {
- "category": "food",
- "moji": "🍽",
- "description": "fork and knife with plate",
- "unicodeVersion": "7.0",
- "digest": "3161044fa7ac67ef1f09c35ecde7ca8eca471a36e3e67ccbaa3a42f35dd67f16"
- },
- "fountain": {
- "category": "travel",
- "moji": "⛲",
- "description": "fountain",
- "unicodeVersion": "5.2",
- "digest": "f940be34d7db82c7dcf5e4343c05f74e5834f1123edd0382b9aa0c3b8b72e90d"
- },
- "four": {
- "category": "symbols",
- "moji": "4️⃣",
- "description": "keycap digit four",
- "unicodeVersion": "3.0",
- "digest": "10495232058ba7d32dad0aae87f30c50a96a95055dd4fa0f278fcc8c1aa24d84"
- },
- "four_leaf_clover": {
- "category": "nature",
- "moji": "🍀",
- "description": "four leaf clover",
- "unicodeVersion": "6.0",
- "digest": "a9ca1028812de7da08319eb0403b28951d381ace771b1050e90d1aa05e62baef"
- },
- "fox": {
- "category": "nature",
- "moji": "🦊",
- "description": "fox face",
- "unicodeVersion": "9.0",
- "digest": "0d98c8fd904dceaa53041b5c8dcf7c357805712ed547668ee53ab48808c6255b"
- },
- "frame_photo": {
- "category": "objects",
- "moji": "🖼",
- "description": "frame with picture",
- "unicodeVersion": "7.0",
- "digest": "bcc4eade7fb066c301457bfd79daae84f0b2a4aa56c71dcb6bcb8fb76c2c4a96"
- },
- "free": {
- "category": "symbols",
- "moji": "🆓",
- "description": "squared free",
- "unicodeVersion": "6.0",
- "digest": "a3afee0d4e8da8f6fc2dc42b453b6f0aa9b6e159e24fce1afa04e92b74a69fc4"
- },
- "french_bread": {
- "category": "food",
- "moji": "🥖",
- "description": "baguette bread",
- "unicodeVersion": "9.0",
- "digest": "356771456e476bfc85b9ba08b8bd8473fef0e8045af88bafe563aed815cba8e9"
- },
- "fried_shrimp": {
- "category": "food",
- "moji": "🍤",
- "description": "fried shrimp",
- "unicodeVersion": "6.0",
- "digest": "77985671090380d5e36b5c1bed476dcfe8e6e09d7a3f090aaae534be6297ecfd"
- },
- "fries": {
- "category": "food",
- "moji": "🍟",
- "description": "french fries",
- "unicodeVersion": "6.0",
- "digest": "492b7d015ce5bcd3b9674049e5421cd2c65451c65a175f2e7ffca391b178d1e5"
- },
- "frog": {
- "category": "nature",
- "moji": "🐸",
- "description": "frog face",
- "unicodeVersion": "6.0",
- "digest": "f1b86d108560eb022ed026b7158477f664bdebe2b313bf49e4bd4f3c79278bf3"
- },
- "frowning": {
- "category": "people",
- "moji": "😦",
- "description": "frowning face with open mouth",
- "unicodeVersion": "6.1",
- "digest": "615dc050d755f9fb9aa325fba6efc812ec78984dd282c8e81e4b0bf2ffb00b79"
- },
- "frowning2": {
- "category": "people",
- "moji": "☹",
- "description": "white frowning face",
- "unicodeVersion": "1.1",
- "digest": "aa6b9f39cd2511d918a395f1e363a34642761cdc7f5a0170405b40455a47f0b6"
- },
- "fuelpump": {
- "category": "travel",
- "moji": "⛽",
- "description": "fuel pump",
- "unicodeVersion": "5.2",
- "digest": "7c8c6c22de83e52ef399607cd6b17b535bf5e3a0aa29a9739f20c6bfe64d52d6"
- },
- "full_moon": {
- "category": "nature",
- "moji": "🌕",
- "description": "full moon symbol",
- "unicodeVersion": "6.0",
- "digest": "094a0a8bbf01f188d48c6bd1bbb035be622f2046d8b0c1a1252a96424e95d856"
- },
- "full_moon_with_face": {
- "category": "nature",
- "moji": "🌝",
- "description": "full moon with face",
- "unicodeVersion": "6.0",
- "digest": "aeccdf5baf685650ee34da23f14cb4d659598c44c260a8f549489cbed1d46058"
- },
- "game_die": {
- "category": "activity",
- "moji": "🎲",
- "description": "game die",
- "unicodeVersion": "6.0",
- "digest": "9a9eb1efd149aa229f39ffb93605f7c231a149892d9cedfeebc6e15eb7235656"
- },
- "gear": {
- "category": "objects",
- "moji": "⚙",
- "description": "gear",
- "unicodeVersion": "4.1",
- "digest": "c752b015d8b37be10c77820e951f9d999ac5860a7a0c453c5eceaf0eb442103b"
- },
- "gem": {
- "category": "objects",
- "moji": "💎",
- "description": "gem stone",
- "unicodeVersion": "6.0",
- "digest": "abb9f5097963624e3e1e0ef7dd973a264910c22baa549d24f396defc0fcd8ef6"
- },
- "gay_pride_flag": {
- "category": "flags",
- "moji": "🏳️‍🌈",
- "description": "gay_pride_flag",
- "unicodeVersion": "7.0",
- "digest": "f23d3e6d08cda225b5778b7f2ffe7ef6ab32709f43bd1e7ccb453ee660f64fa1"
- },
- "gemini": {
- "category": "symbols",
- "moji": "♊",
- "description": "gemini",
- "unicodeVersion": "1.1",
- "digest": "3ddb938fe1196593b21a3380b20107ea22253c6fcf5b9fccdca6badf7384047b"
- },
- "ghost": {
- "category": "people",
- "moji": "👻",
- "description": "ghost",
- "unicodeVersion": "6.0",
- "digest": "02e92350f546b637c7070d01b71d84062b6cdc72cde79fce39b41c5945c5ff6c"
- },
- "gift": {
- "category": "objects",
- "moji": "🎁",
- "description": "wrapped present",
- "unicodeVersion": "6.0",
- "digest": "f05374b0464ab426379251722208599f95b4dc00f8ca551b5fbd6cea5ee98ee6"
- },
- "gift_heart": {
- "category": "symbols",
- "moji": "💝",
- "description": "heart with ribbon",
- "unicodeVersion": "6.0",
- "digest": "9d747c69520b804e5cf3810475ff764a1d88f9f4e90f2fb3030a85ea35cd63a2"
- },
- "girl": {
- "category": "people",
- "moji": "👧",
- "description": "girl",
- "unicodeVersion": "6.0",
- "digest": "5b6e2d936ee671b82328adbb0d77a8a23ad169aa455f8f3e07a974620d62b698"
- },
- "girl_tone1": {
- "category": "people",
- "moji": "👧🏻",
- "description": "girl tone 1",
- "unicodeVersion": "8.0",
- "digest": "34f82173f73d9e3048ffd339c480ae72017be5fb99616f40cb90ca507ce81365"
- },
- "girl_tone2": {
- "category": "people",
- "moji": "👧🏼",
- "description": "girl tone 2",
- "unicodeVersion": "8.0",
- "digest": "e1efcff7f827dbea4258ec5cb0b40555266119e1f2e4526c251ea166ec252eb7"
- },
- "girl_tone3": {
- "category": "people",
- "moji": "👧🏽",
- "description": "girl tone 3",
- "unicodeVersion": "8.0",
- "digest": "2589873f9c4792091359126462bfb83d3f14bf1bcf977b834e33d11969c551d5"
- },
- "girl_tone4": {
- "category": "people",
- "moji": "👧🏾",
- "description": "girl tone 4",
- "unicodeVersion": "8.0",
- "digest": "af208f0ab6e4e26b80d6bb02994ef6f38d9395414e23978973d651c4bc895367"
- },
- "girl_tone5": {
- "category": "people",
- "moji": "👧🏿",
- "description": "girl tone 5",
- "unicodeVersion": "8.0",
- "digest": "253012160b7a9a57708377062b43396ef620b9b63784736e1e6180f320715dfb"
- },
- "globe_with_meridians": {
- "category": "symbols",
- "moji": "🌐",
- "description": "globe with meridians",
- "unicodeVersion": "6.0",
- "digest": "e85db2d778b99bf7557d48fed2ff9ed1db94a615124b47d85ed5a3eeb5c3b554"
- },
- "goal": {
- "category": "activity",
- "moji": "🥅",
- "description": "goal net",
- "unicodeVersion": "9.0",
- "digest": "e867e3f1d97159e2301c2903bbfab130921490cbf4d5fdc4d5d0a62088dbfda8"
- },
- "goat": {
- "category": "nature",
- "moji": "🐐",
- "description": "goat",
- "unicodeVersion": "6.0",
- "digest": "83e2498db2f088b8bfaf7614a543bc691da93eec2d8a156cfdde67e86ccbade8"
- },
- "golf": {
- "category": "activity",
- "moji": "⛳",
- "description": "flag in hole",
- "unicodeVersion": "5.2",
- "digest": "90dbc9461dfb3f37bcf171eedaf1131d4567ceace94a86f21f6e6befd6473a98"
- },
- "golfer": {
- "category": "activity",
- "moji": "🏌",
- "description": "golfer",
- "unicodeVersion": "7.0",
- "digest": "969e342b2749a357f110ebd60fc3f8e49899e0a0777304f8bb4d03416f076d75"
- },
- "gorilla": {
- "category": "nature",
- "moji": "🦍",
- "description": "gorilla",
- "unicodeVersion": "9.0",
- "digest": "bfd0ef21e14e0e11f426dca6ed062fbc360038df043855dde873bed4cef247bd"
- },
- "grapes": {
- "category": "food",
- "moji": "🍇",
- "description": "grapes",
- "unicodeVersion": "6.0",
- "digest": "6df4590ee90aa5dd376597fa8e500ad99b4dacae5ceaad8d0b5c2a4662e09e74"
- },
- "green_apple": {
- "category": "food",
- "moji": "🍏",
- "description": "green apple",
- "unicodeVersion": "6.0",
- "digest": "7f07991633eb29615cd7da645921adfdf01dfd83186d30f29c9ca02b6ed4384b"
- },
- "green_book": {
- "category": "objects",
- "moji": "📗",
- "description": "green book",
- "unicodeVersion": "6.0",
- "digest": "6a638f78d0ccb18907a2606afb45e9d32852fbaeee2e41250432e102b8366984"
- },
- "green_heart": {
- "category": "symbols",
- "moji": "💚",
- "description": "green heart",
- "unicodeVersion": "6.0",
- "digest": "426e89957ea1b6631948c5607f1806695af2a339a27159bf93c4c42a6110595c"
- },
- "grey_exclamation": {
- "category": "symbols",
- "moji": "❕",
- "description": "white exclamation mark ornament",
- "unicodeVersion": "6.0",
- "digest": "75bdc292ebb381f9c5bd236e8298665f3c536d049ea8df735b677f5997dc9df5"
- },
- "grey_question": {
- "category": "symbols",
- "moji": "❔",
- "description": "white question mark ornament",
- "unicodeVersion": "6.0",
- "digest": "54b5c454718c213942187fe846ee10466d1144050456559e3782799ed631f72f"
- },
- "grimacing": {
- "category": "people",
- "moji": "😬",
- "description": "grimacing face",
- "unicodeVersion": "6.1",
- "digest": "781a6548b4b6e394bfd08d57ad222def3eb28d1f1743c9f305296b6108a93958"
- },
- "grin": {
- "category": "people",
- "moji": "😁",
- "description": "grinning face with smiling eyes",
- "unicodeVersion": "6.0",
- "digest": "15b73c02a8456b4b41164090c27409606a60440bbe1a1932ee58702ecacabcbe"
- },
- "grinning": {
- "category": "people",
- "moji": "😀",
- "description": "grinning face",
- "unicodeVersion": "6.1",
- "digest": "c83774596b63aed388259582de228aab02f912bc79200e6368a7926df2a1fad8"
- },
- "guardsman": {
- "category": "people",
- "moji": "💂",
- "description": "guardsman",
- "unicodeVersion": "6.0",
- "digest": "b8fe4960df2f06ada3c1d6d8a7c53bb7c01b976a7f43afce50c7dadc4840771b"
- },
- "guardsman_tone1": {
- "category": "people",
- "moji": "💂🏻",
- "description": "guardsman tone 1",
- "unicodeVersion": "8.0",
- "digest": "0e7fbf3faddaac2246c318fac9a8f40908ad44c98bd6543091c601abe62a5c96"
- },
- "guardsman_tone2": {
- "category": "people",
- "moji": "💂🏼",
- "description": "guardsman tone 2",
- "unicodeVersion": "8.0",
- "digest": "56a81767c023dd6ac42b586fc50804b34b4da8fcbbffe9a6d6e5dc12e89868f8"
- },
- "guardsman_tone3": {
- "category": "people",
- "moji": "💂🏽",
- "description": "guardsman tone 3",
- "unicodeVersion": "8.0",
- "digest": "1c15ae587f90408781f5560366febafbee7e5318d1f618135408827ef82b09ee"
- },
- "guardsman_tone4": {
- "category": "people",
- "moji": "💂🏾",
- "description": "guardsman tone 4",
- "unicodeVersion": "8.0",
- "digest": "4fd65aa93d212fd58e5c41dc70816d691635fa6fb271bf55d72c33f3acc72c4a"
- },
- "guardsman_tone5": {
- "category": "people",
- "moji": "💂🏿",
- "description": "guardsman tone 5",
- "unicodeVersion": "8.0",
- "digest": "dcf7b0462d5b5b0ae09673c8ea3b7e48648edc28541680dc0adbaef1fb7e738d"
- },
- "guitar": {
- "category": "activity",
- "moji": "🎸",
- "description": "guitar",
- "unicodeVersion": "6.0",
- "digest": "c51339829b282ea6007d42be71949ff646bb978d5e8989d15b21857aeb2b5f12"
- },
- "gun": {
- "category": "objects",
- "moji": "🔫",
- "description": "pistol",
- "unicodeVersion": "6.0",
- "digest": "586379358f302248a7be52d185997a0904e31635d32a0fac86366d98ac1ab242"
- },
- "haircut": {
- "category": "people",
- "moji": "💇",
- "description": "haircut",
- "unicodeVersion": "6.0",
- "digest": "d6da39a1156f21ca140f28c5477fbbc37c2a9903bb2eb183e9288e16eedf134e"
- },
- "haircut_tone1": {
- "category": "people",
- "moji": "💇🏻",
- "description": "haircut tone 1",
- "unicodeVersion": "8.0",
- "digest": "186dfd3d0512fc316dd48a75b4201cb9006bf1f01ad17afe41c1e9fc4f1b440a"
- },
- "haircut_tone2": {
- "category": "people",
- "moji": "💇🏼",
- "description": "haircut tone 2",
- "unicodeVersion": "8.0",
- "digest": "4e85e6281419b2bc948d529d883bdcea6c115a4195299c1fc3c0bb839ac95b26"
- },
- "haircut_tone3": {
- "category": "people",
- "moji": "💇🏽",
- "description": "haircut tone 3",
- "unicodeVersion": "8.0",
- "digest": "08d8b031cb43180346a7be2e6e010b31abfdc091471c357ff1d428bd8bd66bba"
- },
- "haircut_tone4": {
- "category": "people",
- "moji": "💇🏾",
- "description": "haircut tone 4",
- "unicodeVersion": "8.0",
- "digest": "b3d2c66952b6d141ab000c6c99a4b8a978f135e2b880aed83517fb5cbced7f14"
- },
- "haircut_tone5": {
- "category": "people",
- "moji": "💇🏿",
- "description": "haircut tone 5",
- "unicodeVersion": "8.0",
- "digest": "eab0facef35c9b3e920c79adce756116b68fe8042bc77f9505d93cdd75a58e79"
- },
- "hamburger": {
- "category": "food",
- "moji": "🍔",
- "description": "hamburger",
- "unicodeVersion": "6.0",
- "digest": "5d302067792941f85238d73dabc26e5565891ffd23514c93a26e5ac759d86198"
- },
- "hammer": {
- "category": "objects",
- "moji": "🔨",
- "description": "hammer",
- "unicodeVersion": "6.0",
- "digest": "ad9c4c0d7613bf9022426fbd46fe1966c98a46222f81fc13402a93d5101ba3ca"
- },
- "hammer_pick": {
- "category": "objects",
- "moji": "⚒",
- "description": "hammer and pick",
- "unicodeVersion": "4.1",
- "digest": "e5fd4464456d11cfe9fb50c460cf784174a36013a81771d029c8cfbb73c5ce9a"
- },
- "hamster": {
- "category": "nature",
- "moji": "🐹",
- "description": "hamster face",
- "unicodeVersion": "6.0",
- "digest": "aa2bb7c3ca254800ae7bb02b49ae4206984d4a07350be9fe8e0d645133918863"
- },
- "hand_splayed": {
- "category": "people",
- "moji": "🖐",
- "description": "raised hand with fingers splayed",
- "unicodeVersion": "7.0",
- "digest": "cf0d977763f453074d581b2f305065ec0237ff8d242ea99641b85e1041c4aa62"
- },
- "hand_splayed_tone1": {
- "category": "people",
- "moji": "🖐🏻",
- "description": "raised hand with fingers splayed tone 1",
- "unicodeVersion": "8.0",
- "digest": "33aeacad6f84a936dbcc8787d49cb0358afbde289bc324320f00f9582512762e"
- },
- "hand_splayed_tone2": {
- "category": "people",
- "moji": "🖐🏼",
- "description": "raised hand with fingers splayed tone 2",
- "unicodeVersion": "8.0",
- "digest": "e78d9a420e4b28549c90869764b09edb030884049e49202515cf31d3f95e04e3"
- },
- "hand_splayed_tone3": {
- "category": "people",
- "moji": "🖐🏽",
- "description": "raised hand with fingers splayed tone 3",
- "unicodeVersion": "8.0",
- "digest": "252148eb798f804b341c862ca04b64bc499eef820e95d481abf85d88d2cadca7"
- },
- "hand_splayed_tone4": {
- "category": "people",
- "moji": "🖐🏾",
- "description": "raised hand with fingers splayed tone 4",
- "unicodeVersion": "8.0",
- "digest": "551ed9bcf75b5fd83b8d4d5e4d01700b494fd8787a40ab84db4783e670fa404c"
- },
- "hand_splayed_tone5": {
- "category": "people",
- "moji": "🖐🏿",
- "description": "raised hand with fingers splayed tone 5",
- "unicodeVersion": "8.0",
- "digest": "a1b05e2a3dbd79b673e058f22533142c2e4bf6c542054ffbf3f61dc48f3aa274"
- },
- "handbag": {
- "category": "people",
- "moji": "👜",
- "description": "handbag",
- "unicodeVersion": "6.0",
- "digest": "0f1d0849440c523c026b3dea64850f48c3fccbc01fc08878927a25900f393a76"
- },
- "handball": {
- "category": "activity",
- "moji": "🤾",
- "description": "handball",
- "unicodeVersion": "9.0",
- "digest": "66eb58f2b6fed026008dc73d99259f3023145b3955a52e47033f09055502992e"
- },
- "handball_tone1": {
- "category": "activity",
- "moji": "🤾🏻",
- "description": "handball tone 1",
- "unicodeVersion": "9.0",
- "digest": "52b5a29715638415371c6546795930fa3b589e0723f59af9969a0de6822cfe04"
- },
- "handball_tone2": {
- "category": "activity",
- "moji": "🤾🏼",
- "description": "handball tone 2",
- "unicodeVersion": "9.0",
- "digest": "8454813e2e2aabd6eb897bb973129c41d3628e0418e611c4968e8aee477b077d"
- },
- "handball_tone3": {
- "category": "activity",
- "moji": "🤾🏽",
- "description": "handball tone 3",
- "unicodeVersion": "9.0",
- "digest": "b7f821482e3bcb63e36ba9b5d3838f1444c35095a9d68648cec24438cc860f4f"
- },
- "handball_tone4": {
- "category": "activity",
- "moji": "🤾🏾",
- "description": "handball tone 4",
- "unicodeVersion": "9.0",
- "digest": "604e7948a99d23d469e3914040eea00e40faeab8e0f92d837fc1aebb7953104b"
- },
- "handball_tone5": {
- "category": "activity",
- "moji": "🤾🏿",
- "description": "handball tone 5",
- "unicodeVersion": "9.0",
- "digest": "d989a7bd045a77163055d7973ee4ccbd3b04029a06df25cecd50a76466ca1526"
- },
- "handshake": {
- "category": "people",
- "moji": "🤝",
- "description": "handshake",
- "unicodeVersion": "9.0",
- "digest": "59e0dfc9059d643a6e88a2c498ac62175876f78394c68605e984d25597f4e177"
- },
- "handshake_tone1": {
- "category": "people",
- "moji": "🤝🏻",
- "description": "handshake tone 1",
- "unicodeVersion": "9.0",
- "digest": "d16474fe7d1eb0e3b6441111370051caf5b20847d4080a89c4474a6af8c9f711"
- },
- "handshake_tone2": {
- "category": "people",
- "moji": "🤝🏼",
- "description": "handshake tone 2",
- "unicodeVersion": "9.0",
- "digest": "f101fcd171fedad33bb5a90bc51cdbd5041902adef5e94f4893eafdac76512a0"
- },
- "handshake_tone3": {
- "category": "people",
- "moji": "🤝🏽",
- "description": "handshake tone 3",
- "unicodeVersion": "9.0",
- "digest": "9a519adf10d9bd3ef8f0c94beeeb64de8922d85b428e74663f9a9eec3be15a71"
- },
- "handshake_tone4": {
- "category": "people",
- "moji": "🤝🏾",
- "description": "handshake tone 4",
- "unicodeVersion": "9.0",
- "digest": "e0aff05eaed64f9c03c91a821982d425bd4f237b0fb09fffb23476912b100ffa"
- },
- "handshake_tone5": {
- "category": "people",
- "moji": "🤝🏿",
- "description": "handshake tone 5",
- "unicodeVersion": "9.0",
- "digest": "76ec70c0b6bfca7dfc3d2b202f36c6cd59c030e6414c49f3f1e3f68cee77be9b"
- },
- "hash": {
- "category": "symbols",
- "moji": "#⃣",
- "description": "number sign",
- "unicodeVersion": "3.0",
- "digest": "941108d47089055455e13b981cd37b0437cd72d5c19ad397254494184060366e"
- },
- "hatched_chick": {
- "category": "nature",
- "moji": "🐥",
- "description": "front-facing baby chick",
- "unicodeVersion": "6.0",
- "digest": "e87f9edbc75c2f65940e59ec3ee752bf15cca10767e83766d3bb2e2cacbb30d1"
- },
- "hatching_chick": {
- "category": "nature",
- "moji": "🐣",
- "description": "hatching chick",
- "unicodeVersion": "6.0",
- "digest": "839de0c6a31a0c0ff1e4ee36f64fe462667d15acda79747dd0a362f59a37f144"
- },
- "head_bandage": {
- "category": "people",
- "moji": "🤕",
- "description": "face with head-bandage",
- "unicodeVersion": "8.0",
- "digest": "53fef09c38e83bc82c90bd3d63e01767767d2f25cec1cd5a6742e3be8cb0ef12"
- },
- "headphones": {
- "category": "activity",
- "moji": "🎧",
- "description": "headphone",
- "unicodeVersion": "6.0",
- "digest": "ca903e1013a0be982e3281dd357b9acf3cccd41db7021385a6d4d84ce1f31c04"
- },
- "hear_no_evil": {
- "category": "nature",
- "moji": "🙉",
- "description": "hear-no-evil monkey",
- "unicodeVersion": "6.0",
- "digest": "6358afb4d187b86c325b5b0113b46d0ab080968fbd8c477d54f733c169b0242e"
- },
- "heart": {
- "category": "symbols",
- "moji": "❤",
- "description": "heavy black heart",
- "unicodeVersion": "1.1",
- "digest": "f4f1ba1aa7118b2ccb2693eeb523fd1ef44766e88bbda830fe2154a7791bb677"
- },
- "heart_decoration": {
- "category": "symbols",
- "moji": "💟",
- "description": "heart decoration",
- "unicodeVersion": "6.0",
- "digest": "f68f4ff3043101c8bb2ce52257ee918a016128a962ba3d8e0bb4a640076743f9"
- },
- "heart_exclamation": {
- "category": "symbols",
- "moji": "❣",
- "description": "heavy heart exclamation mark ornament",
- "unicodeVersion": "1.1",
- "digest": "35c8dd5c38c09f8bcee07145e68f299f662866c7d05294aff6ab2a9b11bb83de"
- },
- "heart_eyes": {
- "category": "people",
- "moji": "😍",
- "description": "smiling face with heart-shaped eyes",
- "unicodeVersion": "6.0",
- "digest": "997c08afa77ab1bd0b08ae58854024286669ce94385c2a5c7bcab02d219a3667"
- },
- "heart_eyes_cat": {
- "category": "people",
- "moji": "😻",
- "description": "smiling cat face with heart-shaped eyes",
- "unicodeVersion": "6.0",
- "digest": "9ea3bd6876a5833b702730a8b21ba0a20b3f95c64131e46414402ad485719069"
- },
- "heartbeat": {
- "category": "symbols",
- "moji": "💓",
- "description": "beating heart",
- "unicodeVersion": "6.0",
- "digest": "1b8ecc1830cb706a354bd340c6c127bf045102a5fe7e1f472daecf13a772628f"
- },
- "heartpulse": {
- "category": "symbols",
- "moji": "💗",
- "description": "growing heart",
- "unicodeVersion": "6.0",
- "digest": "bb45713a2195b5f4742bc57aa4e72e26a850c8860e0ca395fcc8e2a64e13334b"
- },
- "hearts": {
- "category": "symbols",
- "moji": "♥",
- "description": "black heart suit",
- "unicodeVersion": "1.1",
- "digest": "86712f800e461be471d9d64d427f4e751eab584cae33b2c7a72634161c51e622"
- },
- "heavy_check_mark": {
- "category": "symbols",
- "moji": "✔",
- "description": "heavy check mark",
- "unicodeVersion": "1.1",
- "digest": "206dc92526366341e4eef274354104ac2d6a464dfc253c0459c6943556ab3d64"
- },
- "heavy_division_sign": {
- "category": "symbols",
- "moji": "➗",
- "description": "heavy division sign",
- "unicodeVersion": "6.0",
- "digest": "563f5723eb45d2903a37ae66b3a388b06c1576a35cbcf203a6ea951bbbcb10f3"
- },
- "heavy_dollar_sign": {
- "category": "symbols",
- "moji": "💲",
- "description": "heavy dollar sign",
- "unicodeVersion": "6.0",
- "digest": "25a39a89a62f45d7bd4948682ed23753d16179fe0c80dc60ff06bc29549fd04f"
- },
- "heavy_minus_sign": {
- "category": "symbols",
- "moji": "➖",
- "description": "heavy minus sign",
- "unicodeVersion": "6.0",
- "digest": "9f2d6d303ab3c87bfdc78a933351f1659304758a330828961bc053fac1f5cdae"
- },
- "heavy_multiplication_x": {
- "category": "symbols",
- "moji": "✖",
- "description": "heavy multiplication x",
- "unicodeVersion": "1.1",
- "digest": "879a6b81e3fba890a3261029c611bc8baf6371e012b70a648fec0c2156e690d7"
- },
- "heavy_plus_sign": {
- "category": "symbols",
- "moji": "➕",
- "description": "heavy plus sign",
- "unicodeVersion": "6.0",
- "digest": "d7e684b6d4a4f0f9fa51dddf10c844616d0bb14184ba8b015088b5a4793aa4c4"
- },
- "helicopter": {
- "category": "travel",
- "moji": "🚁",
- "description": "helicopter",
- "unicodeVersion": "6.0",
- "digest": "e5cacdf04612e3e2bb7a1c8f6968c2dd5b0b715ee2bdbfa703d5d0ddedf6be5e"
- },
- "helmet_with_cross": {
- "category": "people",
- "moji": "⛑",
- "description": "helmet with white cross",
- "unicodeVersion": "5.2",
- "digest": "12a73fcfb9d2a62305f4a59f028215c81868a4b8de862b276c3b508872ac70ad"
- },
- "herb": {
- "category": "nature",
- "moji": "🌿",
- "description": "herb",
- "unicodeVersion": "6.0",
- "digest": "26a5958f4afaa7ec0f0fbbddfe50b6a467dff109fab45345c5a63b0316d20370"
- },
- "hibiscus": {
- "category": "nature",
- "moji": "🌺",
- "description": "hibiscus",
- "unicodeVersion": "6.0",
- "digest": "2dc90fc37f140ac3a56600042ba44116f28e40bdda1d041d2218a6251099cbf6"
- },
- "high_brightness": {
- "category": "symbols",
- "moji": "🔆",
- "description": "high brightness symbol",
- "unicodeVersion": "6.0",
- "digest": "9ee294cb514a00f831f3fec6275d75685f157b6d22a7ee1417c28b4c93e1d3ba"
- },
- "high_heel": {
- "category": "people",
- "moji": "👠",
- "description": "high-heeled shoe",
- "unicodeVersion": "6.0",
- "digest": "f2aee61e8ae1cb532d9f005317476bbbe26b6e7d18cf2b2cac3d21ab39a86dd1"
- },
- "hockey": {
- "category": "activity",
- "moji": "🏒",
- "description": "ice hockey stick and puck",
- "unicodeVersion": "8.0",
- "digest": "9c5e4e47bca98e73610173eb568ab9f2abf6cbdb8357438db30244946ebd7dac"
- },
- "hole": {
- "category": "objects",
- "moji": "🕳",
- "description": "hole",
- "unicodeVersion": "7.0",
- "digest": "a486f10fd58f9e9424feb4b1409e5fccac7706952b616460156a55db836a46f0"
- },
- "homes": {
- "category": "travel",
- "moji": "🏘",
- "description": "house buildings",
- "unicodeVersion": "7.0",
- "digest": "2ffdafabb89623b096e12f9a81936e699c436d0e948af6c1dd8786690b1a601b"
- },
- "honey_pot": {
- "category": "food",
- "moji": "🍯",
- "description": "honey pot",
- "unicodeVersion": "6.0",
- "digest": "bc66ee9940f2c1af04e066e78d4a61bc261f1dca4419d028b133ea9bc42e24d4"
- },
- "horse": {
- "category": "nature",
- "moji": "🐴",
- "description": "horse face",
- "unicodeVersion": "6.0",
- "digest": "fa6681d0536051b55e189bdd7435edfd4d4967cc28c255b55baf25cb25f40865"
- },
- "horse_racing": {
- "category": "activity",
- "moji": "🏇",
- "description": "horse racing",
- "unicodeVersion": "6.0",
- "digest": "1c1a2fa09a64da5b442f334a45054b7cbe39dbf7ac1d2a26d7a1ef2bb2debdc4"
- },
- "horse_racing_tone1": {
- "category": "activity",
- "moji": "🏇🏻",
- "description": "horse racing tone 1",
- "unicodeVersion": "8.0",
- "digest": "5d55d2cc1a8efc0b754cd75d56d2643784aa41fc7a09e1e9d4ddee767f35ffd6"
- },
- "horse_racing_tone2": {
- "category": "activity",
- "moji": "🏇🏼",
- "description": "horse racing tone 2",
- "unicodeVersion": "8.0",
- "digest": "f8b5b8f7247f6526ea3bca0e6a1136978449815a105f766b42ff6a2bfe24a7a3"
- },
- "horse_racing_tone3": {
- "category": "activity",
- "moji": "🏇🏽",
- "description": "horse racing tone 3",
- "unicodeVersion": "8.0",
- "digest": "13a6b8ceeba67ea1dcda173f8c4ce012ec5333460bff51646ecd3c26092b492b"
- },
- "horse_racing_tone4": {
- "category": "activity",
- "moji": "🏇🏾",
- "description": "horse racing tone 4",
- "unicodeVersion": "8.0",
- "digest": "042cb542ea8008f51f7750923a8f88090bc91c9301234b6eb39284735930f5ae"
- },
- "horse_racing_tone5": {
- "category": "activity",
- "moji": "🏇🏿",
- "description": "horse racing tone 5",
- "unicodeVersion": "8.0",
- "digest": "07a0a17002c5f623540377cf24a86d364bcb42b57b759e41d07af17ae36c1206"
- },
- "hospital": {
- "category": "travel",
- "moji": "🏥",
- "description": "hospital",
- "unicodeVersion": "6.0",
- "digest": "84895d822ef2e2a77b3703b80c5d5b29574f655b88420ef6f39ab3d93bb123df"
- },
- "hot_pepper": {
- "category": "food",
- "moji": "🌶",
- "description": "hot pepper",
- "unicodeVersion": "7.0",
- "digest": "78301b29d9426d81938771c3c25a95d70c9eecf78b39a3f49f30cb63f0cf6c50"
- },
- "hotdog": {
- "category": "food",
- "moji": "🌭",
- "description": "hot dog",
- "unicodeVersion": "8.0",
- "digest": "09bc0ee460411220b1e853893eb161106d173909d7754b35c36d16e99b54a30f"
- },
- "hotel": {
- "category": "travel",
- "moji": "🏨",
- "description": "hotel",
- "unicodeVersion": "6.0",
- "digest": "7f04757da4f1a537cb92ac9a0537e3a7ebd90ae9e2c3e73ad79c95623b3126ef"
- },
- "hotsprings": {
- "category": "symbols",
- "moji": "♨",
- "description": "hot springs",
- "unicodeVersion": "1.1",
- "digest": "755da4733bacad870d226b5ec054c803368c4ab10ae577e193a3015ee25a8271"
- },
- "hourglass": {
- "category": "objects",
- "moji": "⌛",
- "description": "hourglass",
- "unicodeVersion": "1.1",
- "digest": "88925df394060ad7e8285bc7cc6cdb3c54453316b75658c780bb956ca812d2fc"
- },
- "hourglass_flowing_sand": {
- "category": "objects",
- "moji": "⏳",
- "description": "hourglass with flowing sand",
- "unicodeVersion": "6.0",
- "digest": "899fa78157223e27acf260c2cd902646b7271087aabd4724a2d05095484ac724"
- },
- "house": {
- "category": "travel",
- "moji": "🏠",
- "description": "house building",
- "unicodeVersion": "6.0",
- "digest": "6be52f020a7e12a3298044d270d9322742e930cc7543e2d6dfb9c26f25b529ec"
- },
- "house_abandoned": {
- "category": "travel",
- "moji": "🏚",
- "description": "derelict house building",
- "unicodeVersion": "7.0",
- "digest": "0931ce0e42ca7206910a62452e1b7975aed4692d362c81bf62cafef25f2bcefa"
- },
- "house_with_garden": {
- "category": "travel",
- "moji": "🏡",
- "description": "house with garden",
- "unicodeVersion": "6.0",
- "digest": "b62e44e69e1a04f88280518fd48c4870035f0abb5ae6a6664daa7cf005c8f8de"
- },
- "hugging": {
- "category": "people",
- "moji": "🤗",
- "description": "hugging face",
- "unicodeVersion": "8.0",
- "digest": "c52e3522e798301a973ab2e8829ba85d50b428ac853dbe096dd09a81d2fc5b29"
- },
- "hushed": {
- "category": "people",
- "moji": "😯",
- "description": "hushed face",
- "unicodeVersion": "6.1",
- "digest": "a1b0d468e68dff4b3ab40b5980c838635e9680cfb35592ee62260b597cc8b551"
- },
- "ice_cream": {
- "category": "food",
- "moji": "🍨",
- "description": "ice cream",
- "unicodeVersion": "6.0",
- "digest": "3294b57aa673511686ad1c6a01f6e4c0ecb0eb7d5472c3015c3271b4f6e16d50"
- },
- "ice_skate": {
- "category": "activity",
- "moji": "⛸",
- "description": "ice skate",
- "unicodeVersion": "5.2",
- "digest": "e06869a74874d409372ef2714ca8f3e3050ad8a81e589709ecb541d5c77603df"
- },
- "icecream": {
- "category": "food",
- "moji": "🍦",
- "description": "soft ice cream",
- "unicodeVersion": "6.0",
- "digest": "434307d583d20429b1646cbe1bd8317a53f445cae61e8d8ff1258d3996e6b9fe"
- },
- "id": {
- "category": "symbols",
- "moji": "🆔",
- "description": "squared id",
- "unicodeVersion": "6.0",
- "digest": "63c1717c82c487db9a3e2a31be498e3cc88349cb0f2a5010b77be4bd51ba012b"
- },
- "ideograph_advantage": {
- "category": "symbols",
- "moji": "🉐",
- "description": "circled ideograph advantage",
- "unicodeVersion": "6.0",
- "digest": "b07fab8069772a132928e38b64d8e35661b33757176572c153f4563460dd5ddc"
- },
- "imp": {
- "category": "people",
- "moji": "👿",
- "description": "imp",
- "unicodeVersion": "6.0",
- "digest": "bf3ec6b5b728a98f16b630cea877fe3cef79e5ebe7e58ee0caec197279ed3a80"
- },
- "inbox_tray": {
- "category": "objects",
- "moji": "📥",
- "description": "inbox tray",
- "unicodeVersion": "6.0",
- "digest": "fa79ca5efc93767858677871df687d0666cc9174e7f226d7acb65c15a4cad0df"
- },
- "incoming_envelope": {
- "category": "objects",
- "moji": "📨",
- "description": "incoming envelope",
- "unicodeVersion": "6.0",
- "digest": "c23f819ce0abd3b695b05051f8c9e9be72f9bf5176207106c56e30015c199252"
- },
- "information_desk_person": {
- "category": "people",
- "moji": "💁",
- "description": "information desk person",
- "unicodeVersion": "6.0",
- "digest": "ee9a1e94470a107b494840ac5b9bd0d59c38fcbc5d6a9f0842c910688ea9ec74"
- },
- "information_desk_person_tone1": {
- "category": "people",
- "moji": "💁🏻",
- "description": "information desk person tone 1",
- "unicodeVersion": "8.0",
- "digest": "bb91f3dedc55cca320cd14343c04c388b4dfa870a9d5860957a0180f24161fea"
- },
- "information_desk_person_tone2": {
- "category": "people",
- "moji": "💁🏼",
- "description": "information desk person tone 2",
- "unicodeVersion": "8.0",
- "digest": "a556b596a0d9cd480adaff344d3ba5c02a16ef2eb73695e9d9fc231ab8e3599f"
- },
- "information_desk_person_tone3": {
- "category": "people",
- "moji": "💁🏽",
- "description": "information desk person tone 3",
- "unicodeVersion": "8.0",
- "digest": "b5a7ca77e15e749731fcd63da9c274c47eade033da8cfc8a6ab5413d939a8a8e"
- },
- "information_desk_person_tone4": {
- "category": "people",
- "moji": "💁🏾",
- "description": "information desk person tone 4",
- "unicodeVersion": "8.0",
- "digest": "a7912c3121b1bb31b55c528812f54b89cdbc1982045e226c3cbce29c83970a59"
- },
- "information_desk_person_tone5": {
- "category": "people",
- "moji": "💁🏿",
- "description": "information desk person tone 5",
- "unicodeVersion": "8.0",
- "digest": "a3e3fb0ae133513f565e5331a699a6d147200a5141a4e692fec86cfca03b9f5f"
- },
- "information_source": {
- "category": "symbols",
- "moji": "ℹ",
- "description": "information source",
- "unicodeVersion": "3.0",
- "digest": "9deada49f605373b64d9eefa432f73cf07287ebe254233823109d133dc86dc23"
- },
- "innocent": {
- "category": "people",
- "moji": "😇",
- "description": "smiling face with halo",
- "unicodeVersion": "6.0",
- "digest": "3571bdd00112793ecf4ade131f2e50b6234b6f794fcb799e6dadacbb4106a92d"
- },
- "interrobang": {
- "category": "symbols",
- "moji": "⁉",
- "description": "exclamation question mark",
- "unicodeVersion": "3.0",
- "digest": "d209c9aa46c89e290a053d458f6cda0c719831518ce91265680673065cfb77d5"
- },
- "iphone": {
- "category": "objects",
- "moji": "📱",
- "description": "mobile phone",
- "unicodeVersion": "6.0",
- "digest": "6ef1372438c96383e375ab88a965db818efe0e3ae4b87f49870487c72f62ab9f"
- },
- "island": {
- "category": "travel",
- "moji": "🏝",
- "description": "desert island",
- "unicodeVersion": "7.0",
- "digest": "9cd601f946f247ad80810f256b5c4f0c71658e9e52b974c3d8d36173eedcd05e"
- },
- "izakaya_lantern": {
- "category": "objects",
- "moji": "🏮",
- "description": "izakaya lantern",
- "unicodeVersion": "6.0",
- "digest": "de36e5f5fe5da0c922e194b1ae93ed07039620b83e518a259c374563a166f4bf"
- },
- "jack_o_lantern": {
- "category": "nature",
- "moji": "🎃",
- "description": "jack-o-lantern",
- "unicodeVersion": "6.0",
- "digest": "876808e4ffa5ef7d736b88d9b1d646ea1af3bdf91f494190740502491d82edbd"
- },
- "japan": {
- "category": "travel",
- "moji": "🗾",
- "description": "silhouette of japan",
- "unicodeVersion": "6.0",
- "digest": "a27fd17e252497aa0220540d778427dc5fba138b6adeac10b132feae8175d554"
- },
- "japanese_castle": {
- "category": "travel",
- "moji": "🏯",
- "description": "japanese castle",
- "unicodeVersion": "6.0",
- "digest": "4beaf1e9f6d7e25d3faa5076896f337fce68e75d25acdd91ceaceb9c15faa5eb"
- },
- "japanese_goblin": {
- "category": "people",
- "moji": "👺",
- "description": "japanese goblin",
- "unicodeVersion": "6.0",
- "digest": "4c5b8cfc3b172269a943341583e938cd1c8030e9de9fc9008ec0cfbca53d2f81"
- },
- "japanese_ogre": {
- "category": "people",
- "moji": "👹",
- "description": "japanese ogre",
- "unicodeVersion": "6.0",
- "digest": "3ecbc95d1e43ebda0a0c9988e8dc012dc4985cdaa2b8e81a42cbf8cff30a93e3"
- },
- "jeans": {
- "category": "people",
- "moji": "👖",
- "description": "jeans",
- "unicodeVersion": "6.0",
- "digest": "e470f82274f2b149f98d4620e61c374c3737e722bd0a08576335cc269e86f83f"
- },
- "joy": {
- "category": "people",
- "moji": "😂",
- "description": "face with tears of joy",
- "unicodeVersion": "6.0",
- "digest": "3c7d20273bbe976dc8cf8d5cf44ac4cb9c71b02ec358b50427e9d0662e67a557"
- },
- "joy_cat": {
- "category": "people",
- "moji": "😹",
- "description": "cat face with tears of joy",
- "unicodeVersion": "6.0",
- "digest": "fd65d87249121b7e1b1b48af53179ff8ccc7d5f072fcb07e498dc20e9370c436"
- },
- "joystick": {
- "category": "objects",
- "moji": "🕹",
- "description": "joystick",
- "unicodeVersion": "7.0",
- "digest": "def1450af8fc7e3e4d968a6f6a2f5644b17f2786941d49c688c91dc4fde36836"
- },
- "juggling": {
- "category": "activity",
- "moji": "🤹",
- "description": "juggling",
- "unicodeVersion": "9.0",
- "digest": "dbc4b794cb55d03b091b86d1b1b0682535c4a2f9a4d6d6b4ad5c413f1279a4f6"
- },
- "juggling_tone1": {
- "category": "activity",
- "moji": "🤹🏻",
- "description": "juggling tone 1",
- "unicodeVersion": "9.0",
- "digest": "124e52052704f34a91e0cf8ef9ec7d08176942b8bee6faf2e4214df827443ae2"
- },
- "juggling_tone2": {
- "category": "activity",
- "moji": "🤹🏼",
- "description": "juggling tone 2",
- "unicodeVersion": "9.0",
- "digest": "1d8609d3e765fbbed6659e5fbd5026911a276b5703b1e7593b12702de2d0555e"
- },
- "juggling_tone3": {
- "category": "activity",
- "moji": "🤹🏽",
- "description": "juggling tone 3",
- "unicodeVersion": "9.0",
- "digest": "1666f54f93b744f8ee5cf8cc29be022ea5d3afd15436e642c5592d583c87830b"
- },
- "juggling_tone4": {
- "category": "activity",
- "moji": "🤹🏾",
- "description": "juggling tone 4",
- "unicodeVersion": "9.0",
- "digest": "efe82bf4c3759b48435a7575ff0b016035d505dbdb2c7a3774d3878eed671602"
- },
- "juggling_tone5": {
- "category": "activity",
- "moji": "🤹🏿",
- "description": "juggling tone 5",
- "unicodeVersion": "9.0",
- "digest": "ebf39b7b85e8c5e2fc899bb98de9f35739b7e656efd0526d9a50e8039e7bee86"
- },
- "kaaba": {
- "category": "travel",
- "moji": "🕋",
- "description": "kaaba",
- "unicodeVersion": "8.0",
- "digest": "363ef4a89268542427e494f0dbe04f04eabad2849fa24be57a77eb55a3d45122"
- },
- "key": {
- "category": "objects",
- "moji": "🔑",
- "description": "key",
- "unicodeVersion": "6.0",
- "digest": "8f2ac6bfd01430b2350a91b747c58d9d7a20e58096e22f1b73ea8e1d53dd2ac7"
- },
- "key2": {
- "category": "objects",
- "moji": "🗝",
- "description": "old key",
- "unicodeVersion": "7.0",
- "digest": "f1e9a01ce355b9be051eca6f2211d542f190a77ccb95e1d5b148dca8da422bce"
- },
- "keyboard": {
- "category": "objects",
- "moji": "⌨",
- "description": "keyboard",
- "unicodeVersion": "1.1",
- "digest": "0f3ca37b19de485983e39b02db94b0f6243d94081918703510e020ef1d269810"
- },
- "kimono": {
- "category": "people",
- "moji": "👘",
- "description": "kimono",
- "unicodeVersion": "6.0",
- "digest": "987ec803ad9f64bd7ab8c41b487df6afd3416ef25fba11df698c2dddc779e59e"
- },
- "kiss": {
- "category": "people",
- "moji": "💋",
- "description": "kiss mark",
- "unicodeVersion": "6.0",
- "digest": "751426045d0e8e59b148b2f2dd275373d361ac8e90d9e6ee65f356a8a9c5e24c"
- },
- "kiss_mm": {
- "category": "people",
- "moji": "👨‍❤️‍💋‍👨",
- "description": "kiss (man,man)",
- "unicodeVersion": "6.0",
- "digest": "a256b66869e47ee51a6b3b08c56e9ecfe9f0ed5279aeb15e0045be30891ac70f"
- },
- "kiss_ww": {
- "category": "people",
- "moji": "👩‍❤️‍💋‍👩",
- "description": "kiss (woman,woman)",
- "unicodeVersion": "6.0",
- "digest": "989937e58c7862cd6cedc74b8c7774fb01efaa7ab3b424f4472b638d101abdd9"
- },
- "kissing": {
- "category": "people",
- "moji": "😗",
- "description": "kissing face",
- "unicodeVersion": "6.1",
- "digest": "9339112fdb5a89aca2b8baed88215ba09c698487713ea6c3a4906d6370ba8a8e"
- },
- "kissing_cat": {
- "category": "people",
- "moji": "😽",
- "description": "kissing cat face with closed eyes",
- "unicodeVersion": "6.0",
- "digest": "e4c818629b8482ec9f3747125dbc4ea0c08ca12c151eb29f103e19d66ba39e78"
- },
- "kissing_closed_eyes": {
- "category": "people",
- "moji": "😚",
- "description": "kissing face with closed eyes",
- "unicodeVersion": "6.0",
- "digest": "0a58401451a4c7daad884fbcc0343f6d08efc5ce4f97cb9c455019ed57b7a979"
- },
- "kissing_heart": {
- "category": "people",
- "moji": "😘",
- "description": "face throwing a kiss",
- "unicodeVersion": "6.0",
- "digest": "6dd07e9fa9892aec92ba42b78fe23646d31701fb1d29f968ce5cf7f3c5f1336e"
- },
- "kissing_smiling_eyes": {
- "category": "people",
- "moji": "😙",
- "description": "kissing face with smiling eyes",
- "unicodeVersion": "6.1",
- "digest": "75b7829612e5e0a3c96c33cb3add78892ef8fb2012b95d24bb9e45888091648e"
- },
- "kiwi": {
- "category": "food",
- "moji": "🥝",
- "description": "kiwifruit",
- "unicodeVersion": "9.0",
- "digest": "bc2ee501a2c313cee1816720975228ab34fda6b83581248012112af1ba5ce1ae"
- },
- "knife": {
- "category": "objects",
- "moji": "🔪",
- "description": "hocho",
- "unicodeVersion": "6.0",
- "digest": "bf3934138e3dd112241807efbe2aa91ec9913fad890236276d4c36c710c400b8"
- },
- "koala": {
- "category": "nature",
- "moji": "🐨",
- "description": "koala",
- "unicodeVersion": "6.0",
- "digest": "73549917efa845ecc4a5b4c347fc6f686717e95323fed97977e6677c881f801d"
- },
- "koko": {
- "category": "symbols",
- "moji": "🈁",
- "description": "squared katakana koko",
- "unicodeVersion": "6.0",
- "digest": "3d49c8510a5e6c915d88c026897987d8a1d52aca5d498ef7d86fcc76ebb838e9"
- },
- "label": {
- "category": "objects",
- "moji": "🏷",
- "description": "label",
- "unicodeVersion": "7.0",
- "digest": "ad9f3bfc709138edfb61c692d96c1ca08b0bd97203d370342e7b70f46ae23aa8"
- },
- "large_blue_circle": {
- "category": "symbols",
- "moji": "🔵",
- "description": "large blue circle",
- "unicodeVersion": "6.0",
- "digest": "7588a2b1c1baef733d6e7572580c51dcd81bb0c85c77080dfd136d3a995ef3cc"
- },
- "large_blue_diamond": {
- "category": "symbols",
- "moji": "🔷",
- "description": "large blue diamond",
- "unicodeVersion": "6.0",
- "digest": "2e69e9e80dee0192403fe95aab3223208ccf97963dff54a061b6f2e3419820ef"
- },
- "large_orange_diamond": {
- "category": "symbols",
- "moji": "🔶",
- "description": "large orange diamond",
- "unicodeVersion": "6.0",
- "digest": "30bee888a5d3dc39a11132fac8a490d8dab4237cc62f1529f5c3e6e77b8f29a4"
- },
- "last_quarter_moon": {
- "category": "nature",
- "moji": "🌗",
- "description": "last quarter moon symbol",
- "unicodeVersion": "6.0",
- "digest": "7801bf738898b75b09c7ee3f89d71fb11f41bf838f2766b8e80c1028b2873f88"
- },
- "last_quarter_moon_with_face": {
- "category": "nature",
- "moji": "🌜",
- "description": "last quarter moon with face",
- "unicodeVersion": "6.0",
- "digest": "e1e5678ea54dfafb83bb94879150bc43c495dc546be92c8780469f24b52d036e"
- },
- "laughing": {
- "category": "people",
- "moji": "😆",
- "description": "smiling face with open mouth and tightly-closed ey",
- "unicodeVersion": "6.0",
- "digest": "43f119b4cac94c33c49e35381710d74d4f81883364ade30088cd92e5130287e1"
- },
- "leaves": {
- "category": "nature",
- "moji": "🍃",
- "description": "leaf fluttering in wind",
- "unicodeVersion": "6.0",
- "digest": "814ac13b38d78820a050dd97155abfcd6c98fc56c5793044de7b7d2855e5acb9"
- },
- "ledger": {
- "category": "objects",
- "moji": "📒",
- "description": "ledger",
- "unicodeVersion": "6.0",
- "digest": "826379f5164a8c3a10ec43ae1296f994ffd40bc3eb6c0595117993eff65f8f2a"
- },
- "left_facing_fist": {
- "category": "people",
- "moji": "🤛",
- "description": "left-facing fist",
- "unicodeVersion": "9.0",
- "digest": "69390c51d4188f7f5381f7d8f4658c8ea4e52455ed648ebf59b6fb3157c5c6e0"
- },
- "left_facing_fist_tone1": {
- "category": "people",
- "moji": "🤛🏻",
- "description": "left facing fist tone 1",
- "unicodeVersion": "9.0",
- "digest": "57e9a2288243d2024cf25e4258c48e1b0bfe5c12aee218629bb03f8a5ab0cb61"
- },
- "left_facing_fist_tone2": {
- "category": "people",
- "moji": "🤛🏼",
- "description": "left facing fist tone 2",
- "unicodeVersion": "9.0",
- "digest": "061ef44811174e10f7598aadf1f4c69cbc915d029ba83d5101cc34d0cfd44431"
- },
- "left_facing_fist_tone3": {
- "category": "people",
- "moji": "🤛🏽",
- "description": "left facing fist tone 3",
- "unicodeVersion": "9.0",
- "digest": "c313fcb7d4e1505b76ce25e45b50c0c4d0842be34c472abc328915f07e6b6efe"
- },
- "left_facing_fist_tone4": {
- "category": "people",
- "moji": "🤛🏾",
- "description": "left facing fist tone 4",
- "unicodeVersion": "9.0",
- "digest": "825e7feac0a934250246dcb97cae5daafe31aef100c9614a17ba0c7669cb18ee"
- },
- "left_facing_fist_tone5": {
- "category": "people",
- "moji": "🤛🏿",
- "description": "left facing fist tone 5",
- "unicodeVersion": "9.0",
- "digest": "20bfe330f9c1ae22b0cd4d0af0a8a5d062e898fafe10c8a4153f89e582c0de54"
- },
- "left_luggage": {
- "category": "symbols",
- "moji": "🛅",
- "description": "left luggage",
- "unicodeVersion": "6.0",
- "digest": "18bade3d46e8ea3ba9d6bc52679e367d7a1721757719ca6903e68331a1fd1c47"
- },
- "left_right_arrow": {
- "category": "symbols",
- "moji": "↔",
- "description": "left right arrow",
- "unicodeVersion": "1.1",
- "digest": "292108ff7e529974269eb98b0d417f651a9d97258a8070aaec6579c934139bb0"
- },
- "leftwards_arrow_with_hook": {
- "category": "symbols",
- "moji": "↩",
- "description": "leftwards arrow with hook",
- "unicodeVersion": "1.1",
- "digest": "1f4c8e03c92083ddd647f3328fd1ff9b919c10a98d0325b877f1b7034a7387ea"
- },
- "lemon": {
- "category": "food",
- "moji": "🍋",
- "description": "lemon",
- "unicodeVersion": "6.0",
- "digest": "b6d67cb631ddc6d448f658fb151d325018ef01b791c005ed1d601f8223b7a722"
- },
- "leo": {
- "category": "symbols",
- "moji": "♌",
- "description": "leo",
- "unicodeVersion": "1.1",
- "digest": "25787c495211576604fbcdf72aa47ab7e5ad4e8a42905a995edbbec073e20c52"
- },
- "leopard": {
- "category": "nature",
- "moji": "🐆",
- "description": "leopard",
- "unicodeVersion": "6.0",
- "digest": "00204970970b9dd38bb9b1ae30a11832c992ade57bce1496a1f3c366e7d31f00"
- },
- "level_slider": {
- "category": "objects",
- "moji": "🎚",
- "description": "level slider",
- "unicodeVersion": "7.0",
- "digest": "d57965d6b267a20a4529adbc71dd4efcb7f5e8f1146c03746b65922cd3f271c6"
- },
- "levitate": {
- "category": "activity",
- "moji": "🕴",
- "description": "man in business suit levitating",
- "unicodeVersion": "7.0",
- "digest": "103fabb2260fef61982731785dc3d09884cbfcb6bd4ef93f2d5db8403ae4c40a"
- },
- "libra": {
- "category": "symbols",
- "moji": "♎",
- "description": "libra",
- "unicodeVersion": "1.1",
- "digest": "0189ff934df698ed87a6bac3b29c559567c958a9fbd0259378af8c910e0337e1"
- },
- "lifter": {
- "category": "activity",
- "moji": "🏋",
- "description": "weight lifter",
- "unicodeVersion": "7.0",
- "digest": "d8a22a5258a05e8c31453955103531b59c6018e3e3dfd1f507d6f21ee28b3f00"
- },
- "lifter_tone1": {
- "category": "activity",
- "moji": "🏋🏻",
- "description": "weight lifter tone 1",
- "unicodeVersion": "8.0",
- "digest": "f13372d0812c433eafca5d943a6be6f8f6481bde4e681aa2ee5942bf3a74224f"
- },
- "lifter_tone2": {
- "category": "activity",
- "moji": "🏋🏼",
- "description": "weight lifter tone 2",
- "unicodeVersion": "8.0",
- "digest": "6a58152d31b5d8992c231e76823beb81dc9d440944d0ebc6bbc7630f9385f163"
- },
- "lifter_tone3": {
- "category": "activity",
- "moji": "🏋🏽",
- "description": "weight lifter tone 3",
- "unicodeVersion": "8.0",
- "digest": "9fe7befca13df23016568b785e1174122f1b60f8f7a1104bfd1d948ffe2f552e"
- },
- "lifter_tone4": {
- "category": "activity",
- "moji": "🏋🏾",
- "description": "weight lifter tone 4",
- "unicodeVersion": "8.0",
- "digest": "510cfdae9be775ef9a5866f780a0cd95080b3b6e9959cfbaa41833aa3f24db83"
- },
- "lifter_tone5": {
- "category": "activity",
- "moji": "🏋🏿",
- "description": "weight lifter tone 5",
- "unicodeVersion": "8.0",
- "digest": "7347d561a692bd604d3763115cecc66203f1c9a00515de53acecb4d6e0689d65"
- },
- "light_rail": {
- "category": "travel",
- "moji": "🚈",
- "description": "light rail",
- "unicodeVersion": "6.0",
- "digest": "f7ee16c0a5853c542570a684e25e3fc388e5f52ef8fe7ffaa1120ad7de74a3bd"
- },
- "link": {
- "category": "objects",
- "moji": "🔗",
- "description": "link symbol",
- "unicodeVersion": "6.0",
- "digest": "eb23a200ad464e4d16f3d977e8aef3ee0b55da62d2a7cd72743c1f57839c4e02"
- },
- "lion_face": {
- "category": "nature",
- "moji": "🦁",
- "description": "lion face",
- "unicodeVersion": "8.0",
- "digest": "59067f1acf8b42395164dc02089624d696549bfdbd60a6dd24d04199a0c3dda2"
- },
- "lips": {
- "category": "people",
- "moji": "👄",
- "description": "mouth",
- "unicodeVersion": "6.0",
- "digest": "26fb9b50ab57120d2bc613eb1537fc1517f0c962bf3ae0b43fb2da42581dde5c"
- },
- "lipstick": {
- "category": "people",
- "moji": "💄",
- "description": "lipstick",
- "unicodeVersion": "6.0",
- "digest": "102278217b4f4088fd48ccb08af558822258d85d24a4febdcad1b5cc78cbe2a2"
- },
- "lizard": {
- "category": "nature",
- "moji": "🦎",
- "description": "lizard",
- "unicodeVersion": "9.0",
- "digest": "7c21a4d9e165efe57eca3982944b93ad30bf7ea462bdbf5cb4d63e3dc93e7707"
- },
- "lock": {
- "category": "objects",
- "moji": "🔒",
- "description": "lock",
- "unicodeVersion": "6.0",
- "digest": "63408513eaf29059c6025981c27434f71fa2be87dcd060dd9f971d0e54a73922"
- },
- "lock_with_ink_pen": {
- "category": "objects",
- "moji": "🔏",
- "description": "lock with ink pen",
- "unicodeVersion": "6.0",
- "digest": "85c1713e44becc6543464d2ff4a07dc46b25a4e40fe233695055236d7c4f62aa"
- },
- "lollipop": {
- "category": "food",
- "moji": "🍭",
- "description": "lollipop",
- "unicodeVersion": "6.0",
- "digest": "6499b3140dcc958c4bb99a80ac0424a209d7a978138feb5b919db36443eb529f"
- },
- "loop": {
- "category": "symbols",
- "moji": "➿",
- "description": "double curly loop",
- "unicodeVersion": "6.0",
- "digest": "f9044b19663fb8e3e21aeafa6e1022e20be4d61683f13f1472b1feedc0140d7b"
- },
- "loud_sound": {
- "category": "symbols",
- "moji": "🔊",
- "description": "speaker with three sound waves",
- "unicodeVersion": "6.0",
- "digest": "6d6affb03b43fbfa71796d83521735af6038bfd236f3dacb77d2097496a73a01"
- },
- "loudspeaker": {
- "category": "symbols",
- "moji": "📢",
- "description": "public address loudspeaker",
- "unicodeVersion": "6.0",
- "digest": "04f791bc8d3eb6486448deb2654d9a0cd1c19f946ba623116f556f27399b34a0"
- },
- "love_hotel": {
- "category": "travel",
- "moji": "🏩",
- "description": "love hotel",
- "unicodeVersion": "6.0",
- "digest": "05e846b25799923b3a85826f40d2d22f9e2ea35855620fdde4d1baec25cf5f25"
- },
- "love_letter": {
- "category": "objects",
- "moji": "💌",
- "description": "love letter",
- "unicodeVersion": "6.0",
- "digest": "2a263ff736055811ce621c61f5ef9d9393bb71e180515a0fdc75107b89c60093"
- },
- "low_brightness": {
- "category": "symbols",
- "moji": "🔅",
- "description": "low brightness symbol",
- "unicodeVersion": "6.0",
- "digest": "be7fc79c265d5c02ee7d29fe8290db80cfd794e271463853d6f5d01948c62dfb"
- },
- "lying_face": {
- "category": "people",
- "moji": "🤥",
- "description": "lying face",
- "unicodeVersion": "9.0",
- "digest": "b7a8bcad9036fa6c0441bbc0558cf6ca32464db8ab7d522af505deb1a07623b3"
- },
- "m": {
- "category": "symbols",
- "moji": "Ⓜ",
- "description": "circled latin capital letter m",
- "unicodeVersion": "1.1",
- "digest": "45f66b77808cb780aee7c3440bf57f20f0a7ba3a6048806395e88c47b58263b2"
- },
- "mag": {
- "category": "objects",
- "moji": "🔍",
- "description": "left-pointing magnifying glass",
- "unicodeVersion": "6.0",
- "digest": "bfb8b2d3ef82281c7b821c3814c8213d6f853322546f0107575dedc20de31559"
- },
- "mag_right": {
- "category": "objects",
- "moji": "🔎",
- "description": "right-pointing magnifying glass",
- "unicodeVersion": "6.0",
- "digest": "3ee06dcf290a822c5084d8e0cf245a97b354fb03ff0b5f4ae2a7063a6c967ce7"
- },
- "mahjong": {
- "category": "symbols",
- "moji": "🀄",
- "description": "mahjong tile red dragon",
- "unicodeVersion": "5.1",
- "digest": "adf2b23065245bbffa1f0e7d0a4656bb2c69d6862f162cd77e9eda26aee06353"
- },
- "mailbox": {
- "category": "objects",
- "moji": "📫",
- "description": "closed mailbox with raised flag",
- "unicodeVersion": "6.0",
- "digest": "492df72deb2679ad387f76edf9c9e7475ef7221c5eb8e24fa6c964e5a3250a61"
- },
- "mailbox_closed": {
- "category": "objects",
- "moji": "📪",
- "description": "closed mailbox with lowered flag",
- "unicodeVersion": "6.0",
- "digest": "be27aef10401f26e8f539216b01e2e0774756cb3abb9535d55f91de5415d9737"
- },
- "mailbox_with_mail": {
- "category": "objects",
- "moji": "📬",
- "description": "open mailbox with raised flag",
- "unicodeVersion": "6.0",
- "digest": "bfe3df313a2f57bdb99192ce6e674044e385d044020b6e472b2414fe17649805"
- },
- "mailbox_with_no_mail": {
- "category": "objects",
- "moji": "📭",
- "description": "open mailbox with lowered flag",
- "unicodeVersion": "6.0",
- "digest": "cad6a927c392ed3181284f005eb260976cf69ab6608d59a43ea252a89c89b6e1"
- },
- "man": {
- "category": "people",
- "moji": "👨",
- "description": "man",
- "unicodeVersion": "6.0",
- "digest": "72f5a4ee76d2f91fcce52673cdf08867d9322dde33b2b859a2687d20f2875d7a"
- },
- "man_dancing": {
- "category": "people",
- "moji": "🕺",
- "description": "man dancing",
- "unicodeVersion": "9.0",
- "digest": "1d8c16790d9c7affa997923ea15ce09221cdc9d26b6f82150e91d22463b96319"
- },
- "man_dancing_tone1": {
- "category": "activity",
- "moji": "🕺🏻",
- "description": "man dancing tone 1",
- "unicodeVersion": "9.0",
- "digest": "317e619d66577c49fcba699a0b9bf3ee63d100b487c182b4637b5fd46f532bc2"
- },
- "man_dancing_tone2": {
- "category": "activity",
- "moji": "🕺🏼",
- "description": "man dancing tone 2",
- "unicodeVersion": "9.0",
- "digest": "72a9eea3cee40692a56f234ca59093dfd7ff1113b710a1aaa146b5a137fa213a"
- },
- "man_dancing_tone3": {
- "category": "activity",
- "moji": "🕺🏽",
- "description": "man dancing tone 3",
- "unicodeVersion": "9.0",
- "digest": "97824a84dbb9058b4b90e802c1aa72556d3c5f5941599e3e23fd662534b6421a"
- },
- "man_dancing_tone4": {
- "category": "activity",
- "moji": "🕺🏾",
- "description": "man dancing tone 4",
- "unicodeVersion": "9.0",
- "digest": "632fae4e335dae2713a26cc6ac77e62229f88f24db5b33d3c50da13ae7ce8686"
- },
- "man_dancing_tone5": {
- "category": "activity",
- "moji": "🕺🏿",
- "description": "man dancing tone 5",
- "unicodeVersion": "9.0",
- "digest": "b33a036b2b7f202dc980786796171eeda66caa3cb06320f94617191ec6133ee3"
- },
- "man_in_tuxedo": {
- "category": "people",
- "moji": "🤵",
- "description": "man in tuxedo",
- "unicodeVersion": "9.0",
- "digest": "2da1693a18afdd9722380c4778183195d006563787b2d8b839a9810a18626798"
- },
- "man_in_tuxedo_tone1": {
- "category": "people",
- "moji": "🤵🏻",
- "description": "man in tuxedo tone 1",
- "unicodeVersion": "9.0",
- "digest": "506256c184c13806736c599a07f62ac910b5a10130480355d012a53e11894c79"
- },
- "man_in_tuxedo_tone2": {
- "category": "people",
- "moji": "🤵🏼",
- "description": "man in tuxedo tone 2",
- "unicodeVersion": "9.0",
- "digest": "1413dbbe32c1578fbc3a9afe0bec950aab0da5277f6ae286aaae03870aeb0846"
- },
- "man_in_tuxedo_tone3": {
- "category": "people",
- "moji": "🤵🏽",
- "description": "man in tuxedo tone 3",
- "unicodeVersion": "9.0",
- "digest": "1c42dc5683bf2f9a5ea719de1eda6f9f872950495581ca2201b61cbcdc74a342"
- },
- "man_in_tuxedo_tone4": {
- "category": "people",
- "moji": "🤵🏾",
- "description": "man in tuxedo tone 4",
- "unicodeVersion": "9.0",
- "digest": "9fcf33a14bec175bd7587db3778fe50c5d31dcf2db37e3e941944df133b5b722"
- },
- "man_in_tuxedo_tone5": {
- "category": "people",
- "moji": "🤵🏿",
- "description": "man in tuxedo tone 5",
- "unicodeVersion": "9.0",
- "digest": "941765104eab002f58217ad7ba418a5082732b32faba92e372bafc8debe457f4"
- },
- "man_tone1": {
- "category": "people",
- "moji": "👨🏻",
- "description": "man tone 1",
- "unicodeVersion": "8.0",
- "digest": "fd5531169631dbed6b6380c40732afda0d943980e2a399d9ce65167026f9f33c"
- },
- "man_tone2": {
- "category": "people",
- "moji": "👨🏼",
- "description": "man tone 2",
- "unicodeVersion": "8.0",
- "digest": "628574c3994302e2d1ee0742951f26eb3d44aa1abe1161f78df5db3d18bc377f"
- },
- "man_tone3": {
- "category": "people",
- "moji": "👨🏽",
- "description": "man tone 3",
- "unicodeVersion": "8.0",
- "digest": "431642916465938d09bd6ca5097e716abae550dc5c54dd514519e1561f372b90"
- },
- "man_tone4": {
- "category": "people",
- "moji": "👨🏾",
- "description": "man tone 4",
- "unicodeVersion": "8.0",
- "digest": "26662b4aca1f0a9a24b148a36db1f1119a28e458b1b9addd4ecb4fa36c4c3d3d"
- },
- "man_tone5": {
- "category": "people",
- "moji": "👨🏿",
- "description": "man tone 5",
- "unicodeVersion": "8.0",
- "digest": "e2f45518af9033350ad4c44a42f564403a7248b4d67c8ec21b19199458aaa4de"
- },
- "man_with_gua_pi_mao": {
- "category": "people",
- "moji": "👲",
- "description": "man with gua pi mao",
- "unicodeVersion": "6.0",
- "digest": "f8376151b1df1cca64805f8b64e4b2b3b7358bbd3eb1bbd2cbf363a4a1d542a5"
- },
- "man_with_gua_pi_mao_tone1": {
- "category": "people",
- "moji": "👲🏻",
- "description": "man with gua pi mao tone 1",
- "unicodeVersion": "8.0",
- "digest": "858d738820987110c6dc6811b69f4b9b7107304ab4e094c55d2f09e8f506dff4"
- },
- "man_with_gua_pi_mao_tone2": {
- "category": "people",
- "moji": "👲🏼",
- "description": "man with gua pi mao tone 2",
- "unicodeVersion": "8.0",
- "digest": "52e61c5ba607cdb6c49a9252bbb9290d117aa991e34c7d352ab82b9ee708680b"
- },
- "man_with_gua_pi_mao_tone3": {
- "category": "people",
- "moji": "👲🏽",
- "description": "man with gua pi mao tone 3",
- "unicodeVersion": "8.0",
- "digest": "6ed7de2cb0d2d5434e3fe454b9d56f92f498b7f77a99611ee23f6137627e014c"
- },
- "man_with_gua_pi_mao_tone4": {
- "category": "people",
- "moji": "👲🏾",
- "description": "man with gua pi mao tone 4",
- "unicodeVersion": "8.0",
- "digest": "c0c6caca9dfd6e3420483929b16556414d0d64708cecc05b1e6969f9e15cb103"
- },
- "man_with_gua_pi_mao_tone5": {
- "category": "people",
- "moji": "👲🏿",
- "description": "man with gua pi mao tone 5",
- "unicodeVersion": "8.0",
- "digest": "a1ce066b7903e2156919a88e1f4824ece7598cc3b8384ee27342cdf4b69310f1"
- },
- "man_with_turban": {
- "category": "people",
- "moji": "👳",
- "description": "man with turban",
- "unicodeVersion": "6.0",
- "digest": "7741fa53fa283478eec7746c6d3952551980fa2faf2cadd79ad3e60b22413093"
- },
- "man_with_turban_tone1": {
- "category": "people",
- "moji": "👳🏻",
- "description": "man with turban tone 1",
- "unicodeVersion": "8.0",
- "digest": "e5163b3d793ff9f7f3efe04a4264a160aef3d1c4b6e731a25601a5ebc1f91dc9"
- },
- "man_with_turban_tone2": {
- "category": "people",
- "moji": "👳🏼",
- "description": "man with turban tone 2",
- "unicodeVersion": "8.0",
- "digest": "f99883c8d09281cdb9a63374e4e418767cf104976fe68f353443e3687b93ecf5"
- },
- "man_with_turban_tone3": {
- "category": "people",
- "moji": "👳🏽",
- "description": "man with turban tone 3",
- "unicodeVersion": "8.0",
- "digest": "168392861e99c39719618454721047f1dc75b8fcef07233079806eccdf0b63be"
- },
- "man_with_turban_tone4": {
- "category": "people",
- "moji": "👳🏾",
- "description": "man with turban tone 4",
- "unicodeVersion": "8.0",
- "digest": "1ed7b32cb652d66421a90378b3fd3dbec0da4124886114152ff199f538d8d593"
- },
- "man_with_turban_tone5": {
- "category": "people",
- "moji": "👳🏿",
- "description": "man with turban tone 5",
- "unicodeVersion": "8.0",
- "digest": "0f639e64c4393c5c81d7c8bc3a37b4988acfc7112616dec45c82226fff15f245"
- },
- "mans_shoe": {
- "category": "people",
- "moji": "👞",
- "description": "mans shoe",
- "unicodeVersion": "6.0",
- "digest": "ba3da1749562ad332de9a2c0916c1e72a8b6ccaf277d5c379bf6847f9b6fc148"
- },
- "map": {
- "category": "objects",
- "moji": "🗺",
- "description": "world map",
- "unicodeVersion": "7.0",
- "digest": "8eb87e7238c5dca1b1b8efb181e42f0d91ca515d3e12dac67aafbe1028338d8e"
- },
- "maple_leaf": {
- "category": "nature",
- "moji": "🍁",
- "description": "maple leaf",
- "unicodeVersion": "6.0",
- "digest": "f16bc6dfd5bd33811f8cbf1bca6733715bb1e8b35109d7038f25497a89e79f8e"
- },
- "martial_arts_uniform": {
- "category": "activity",
- "moji": "🥋",
- "description": "martial arts uniform",
- "unicodeVersion": "9.0",
- "digest": "d1953d1f75350bcde491bb2a551e55bafc34e14e5de0ca6f27b1d55e0dffa135"
- },
- "mask": {
- "category": "people",
- "moji": "😷",
- "description": "face with medical mask",
- "unicodeVersion": "6.0",
- "digest": "20b1988145e75b2ba72f5c595245fc5574315ee8c26fd39f7785c0a6fc5a9906"
- },
- "massage": {
- "category": "people",
- "moji": "💆",
- "description": "face massage",
- "unicodeVersion": "6.0",
- "digest": "3c5ede480d35f567954a1dd7082836f0898b44cd41037ce37c0539f8062209a1"
- },
- "massage_tone1": {
- "category": "people",
- "moji": "💆🏻",
- "description": "face massage tone 1",
- "unicodeVersion": "8.0",
- "digest": "d70f8df999a2f2a69eceb60cc09be2d8cabd5121deb051e1e6ef1b60504209c6"
- },
- "massage_tone2": {
- "category": "people",
- "moji": "💆🏼",
- "description": "face massage tone 2",
- "unicodeVersion": "8.0",
- "digest": "1487da84572a32db39b018369df3ddabb1903294425d9b60091d83ac6b59a48a"
- },
- "massage_tone3": {
- "category": "people",
- "moji": "💆🏽",
- "description": "face massage tone 3",
- "unicodeVersion": "8.0",
- "digest": "c10b984c5225440f3da97df2d00b4a88f41ee1cd9902042f64c557e31ddf944d"
- },
- "massage_tone4": {
- "category": "people",
- "moji": "💆🏾",
- "description": "face massage tone 4",
- "unicodeVersion": "8.0",
- "digest": "3140b503be64c8a91a7be46b12585a11b03aba0d3c5186095b734de23b9919e5"
- },
- "massage_tone5": {
- "category": "people",
- "moji": "💆🏿",
- "description": "face massage tone 5",
- "unicodeVersion": "8.0",
- "digest": "ee0d958448ae7c5f0314520d6dab1220d827ad037d2880a72749433cf6381ab3"
- },
- "meat_on_bone": {
- "category": "food",
- "moji": "🍖",
- "description": "meat on bone",
- "unicodeVersion": "6.0",
- "digest": "df7239ae70b5612f38b3bb309d685464cf529a75a6faa27084acbf71dd633a33"
- },
- "medal": {
- "category": "activity",
- "moji": "🏅",
- "description": "sports medal",
- "unicodeVersion": "7.0",
- "digest": "b7518a4c832aa937d85741738e1c74c09ff645197fbbdc7d66cd4a8e78977073"
- },
- "mega": {
- "category": "symbols",
- "moji": "📣",
- "description": "cheering megaphone",
- "unicodeVersion": "6.0",
- "digest": "f28088b3880bf25bb1daa9d624ff3d58d8ab768c1d442ab8a9bfec4032b47343"
- },
- "melon": {
- "category": "food",
- "moji": "🍈",
- "description": "melon",
- "unicodeVersion": "6.0",
- "digest": "75e1353511e5b2c345ec411ca9b8dc7d172fcbc7fbe5366ef0ed96c74035ef32"
- },
- "menorah": {
- "category": "symbols",
- "moji": "🕎",
- "description": "menorah with nine branches",
- "unicodeVersion": "8.0",
- "digest": "befdb755f7f872a9061119929ce34d9f0368a5ca7506ba4f3984b24f69b01a27"
- },
- "mens": {
- "category": "symbols",
- "moji": "🚹",
- "description": "mens symbol",
- "unicodeVersion": "6.0",
- "digest": "eca8312aaade2705ca15be8c1d1fcd897ed4ea0189e995dee3727bcda9d900df"
- },
- "metal": {
- "category": "people",
- "moji": "🤘",
- "description": "sign of the horns",
- "unicodeVersion": "8.0",
- "digest": "9bc7445e2832356d34c88f498c426fcc3fced736323af13cd8bfa18ab4a795f2"
- },
- "metal_tone1": {
- "category": "people",
- "moji": "🤘🏻",
- "description": "sign of the horns tone 1",
- "unicodeVersion": "8.0",
- "digest": "c2107bd9851d508f8128c0dbcd02d3d623597d866d4c938889ec5b4cb2dccf84"
- },
- "metal_tone2": {
- "category": "people",
- "moji": "🤘🏼",
- "description": "sign of the horns tone 2",
- "unicodeVersion": "8.0",
- "digest": "85583c2c1eff98dc005d2c7cd80f75b18fe4723055b677c8f1bc90207cf0b1fd"
- },
- "metal_tone3": {
- "category": "people",
- "moji": "🤘🏽",
- "description": "sign of the horns tone 3",
- "unicodeVersion": "8.0",
- "digest": "f004a5b303b1e7bcf20d46bc42214e21f703658f7f83503888c326d9e76cf29f"
- },
- "metal_tone4": {
- "category": "people",
- "moji": "🤘🏾",
- "description": "sign of the horns tone 4",
- "unicodeVersion": "8.0",
- "digest": "968ebedf7b100f33773f73cfd98c24a62870d022b46ac5c442a8b34184c9a5cf"
- },
- "metal_tone5": {
- "category": "people",
- "moji": "🤘🏿",
- "description": "sign of the horns tone 5",
- "unicodeVersion": "8.0",
- "digest": "be4add5e381ffb482ed191f1f305eeb22707c67e251660ccf76bf550d32e16eb"
- },
- "metro": {
- "category": "travel",
- "moji": "🚇",
- "description": "metro",
- "unicodeVersion": "6.0",
- "digest": "d5053b49a13908a38615c71096d9377d6e8a091f169171eb32d0ab1f209a3424"
- },
- "microphone": {
- "category": "activity",
- "moji": "🎤",
- "description": "microphone",
- "unicodeVersion": "6.0",
- "digest": "5d7d70a4347d677eeed8dcd0f87f9ed4b10a14a6ebeb9279eab9d6ed4d505d28"
- },
- "microphone2": {
- "category": "objects",
- "moji": "🎙",
- "description": "studio microphone",
- "unicodeVersion": "7.0",
- "digest": "c1b14280e7a0bfd9ee4c8f83024f9cbf5a15a5bdadf3a4795f101864a4ad2c6d"
- },
- "microscope": {
- "category": "objects",
- "moji": "🔬",
- "description": "microscope",
- "unicodeVersion": "6.0",
- "digest": "b732bdd52a38057a56cfcddf2598c9a2d91f0838686f960a91ddc7333fa0ae12"
- },
- "middle_finger": {
- "category": "people",
- "moji": "🖕",
- "description": "reversed hand with middle finger extended",
- "unicodeVersion": "7.0",
- "digest": "7d543ffbc78a5e8b9162c0f48e4503f6e32efefea7f3b22f436463ace77066fa"
- },
- "middle_finger_tone1": {
- "category": "people",
- "moji": "🖕🏻",
- "description": "reversed hand with middle finger extended tone 1",
- "unicodeVersion": "8.0",
- "digest": "40a676ff704d57f6b5d2bd8c31b183600781bf3f0ff4342f1e4886717228e0ee"
- },
- "middle_finger_tone2": {
- "category": "people",
- "moji": "🖕🏼",
- "description": "reversed hand with middle finger extended tone 2",
- "unicodeVersion": "8.0",
- "digest": "9dcd0cc6a88d67d7fd561fccf95fd3a6030b53598fea69d5de6f14ffd72b3a82"
- },
- "middle_finger_tone3": {
- "category": "people",
- "moji": "🖕🏽",
- "description": "reversed hand with middle finger extended tone 3",
- "unicodeVersion": "8.0",
- "digest": "7787a192eff949d308e925c9df0a44153429df4a290c6f348a950e8414b1d4dc"
- },
- "middle_finger_tone4": {
- "category": "people",
- "moji": "🖕🏾",
- "description": "reversed hand with middle finger extended tone 4",
- "unicodeVersion": "8.0",
- "digest": "b5b4b65aa300d498aaef8753cffb34455111887a12a378b2517297622f428330"
- },
- "middle_finger_tone5": {
- "category": "people",
- "moji": "🖕🏿",
- "description": "reversed hand with middle finger extended tone 5",
- "unicodeVersion": "8.0",
- "digest": "c08f75c25bd88a288d685849a8575d868b257296c1afae80d241ec5e9193bea3"
- },
- "military_medal": {
- "category": "activity",
- "moji": "🎖",
- "description": "military medal",
- "unicodeVersion": "7.0",
- "digest": "745687033024bc5d1dae74f427504058f17f29c1f02a59b25c9d488a6307cae3"
- },
- "milk": {
- "category": "food",
- "moji": "🥛",
- "description": "glass of milk",
- "unicodeVersion": "9.0",
- "digest": "3f9229a2c754345be8e721dde032f289fa92c23a11cfd1afe6b38b44d34e435d"
- },
- "milky_way": {
- "category": "travel",
- "moji": "🌌",
- "description": "milky way",
- "unicodeVersion": "6.0",
- "digest": "6664f60e65321fccf491333caca68f961acfdd35a24f299e5909369a94816a6b"
- },
- "minibus": {
- "category": "travel",
- "moji": "🚐",
- "description": "minibus",
- "unicodeVersion": "6.0",
- "digest": "7e71052ea22df57fa12c7e3829924ebd3f144b9d71301c34755c10d33ddee697"
- },
- "minidisc": {
- "category": "objects",
- "moji": "💽",
- "description": "minidisc",
- "unicodeVersion": "6.0",
- "digest": "5b6ddb7b5242dffdc04755e8dcac4cc3ae237040481bf076a8c1f95ce0ada3b6"
- },
- "mobile_phone_off": {
- "category": "symbols",
- "moji": "📴",
- "description": "mobile phone off",
- "unicodeVersion": "6.0",
- "digest": "93373556567d92fdb11d4e562e74c15ba6b0987cb26dea909b0e922921087628"
- },
- "money_mouth": {
- "category": "people",
- "moji": "🤑",
- "description": "money-mouth face",
- "unicodeVersion": "8.0",
- "digest": "99ba4973b84ecb2dbf7e6303190c22c67eedf750f49313135ddbe8e541650688"
- },
- "money_with_wings": {
- "category": "objects",
- "moji": "💸",
- "description": "money with wings",
- "unicodeVersion": "6.0",
- "digest": "3d2b0e5939f92d0ab9e40758a9ec239817ad6e9463fd2140803ee229bdc95720"
- },
- "moneybag": {
- "category": "objects",
- "moji": "💰",
- "description": "money bag",
- "unicodeVersion": "6.0",
- "digest": "5fbc74d9eb713ca5d00c8ecb528361bc22c24ab97fdab6606427acc5af480c07"
- },
- "monkey": {
- "category": "nature",
- "moji": "🐒",
- "description": "monkey",
- "unicodeVersion": "6.0",
- "digest": "0e555b55cdaeea97aba5e054ce6c283578036d739466a78be63662872729cf55"
- },
- "monkey_face": {
- "category": "nature",
- "moji": "🐵",
- "description": "monkey face",
- "unicodeVersion": "6.0",
- "digest": "f006cc5b32745c0e315ad2b2e995587f7f3dec115f81db7f681e00e040e1ab02"
- },
- "monorail": {
- "category": "travel",
- "moji": "🚝",
- "description": "monorail",
- "unicodeVersion": "6.0",
- "digest": "551b6d88c465c54bd2fc03eb396a6afbc68e24aa41c07203c84fd36e31608836"
- },
- "mortar_board": {
- "category": "people",
- "moji": "🎓",
- "description": "graduation cap",
- "unicodeVersion": "6.0",
- "digest": "6524faad267ba769fb1997527d41c97cac42cc5d99c57800adaf5a6892c79371"
- },
- "mosque": {
- "category": "travel",
- "moji": "🕌",
- "description": "mosque",
- "unicodeVersion": "8.0",
- "digest": "f15b137d0d23275694d6743602054d05334c9dfb15964378f38defddc8a25b2a"
- },
- "motor_scooter": {
- "category": "travel",
- "moji": "🛵",
- "description": "motor scooter",
- "unicodeVersion": "9.0",
- "digest": "cb76bb0e2f94960426a85f273e2a74046eefebd0b6a265bafecfb8850f0a0c6c"
- },
- "motorboat": {
- "category": "travel",
- "moji": "🛥",
- "description": "motorboat",
- "unicodeVersion": "7.0",
- "digest": "edee0a9d9d7b9b9201fc41d5b5a38c939e5f6e2e7baa7891e495b91dc5198e65"
- },
- "motorcycle": {
- "category": "travel",
- "moji": "🏍",
- "description": "racing motorcycle",
- "unicodeVersion": "7.0",
- "digest": "b30c2e98f3a439b0c0b6481a5025ee3d380c35a7aa43d7b46c3e948fe732613c"
- },
- "motorway": {
- "category": "travel",
- "moji": "🛣",
- "description": "motorway",
- "unicodeVersion": "7.0",
- "digest": "96694ecc0e48e7b0ab1e0a8fdf5e75169ae404fad47620986dfd120571e39e58"
- },
- "mount_fuji": {
- "category": "travel",
- "moji": "🗻",
- "description": "mount fuji",
- "unicodeVersion": "6.0",
- "digest": "dd27d0550d5df7dd376a43e56e0819a41c48f21cc89e58f36d290140c4effd5e"
- },
- "mountain": {
- "category": "travel",
- "moji": "⛰",
- "description": "mountain",
- "unicodeVersion": "5.2",
- "digest": "5e0087bb9324c99b5b4f730b8878cadab69cd3af0f580df6c31490a7b7b0abe4"
- },
- "mountain_bicyclist": {
- "category": "activity",
- "moji": "🚵",
- "description": "mountain bicyclist",
- "unicodeVersion": "6.0",
- "digest": "f3a2fd3bc93fe4e5a039a81e8d5e11b25c949ae041f822a49b15ea7dc35f560e"
- },
- "mountain_bicyclist_tone1": {
- "category": "activity",
- "moji": "🚵🏻",
- "description": "mountain bicyclist tone 1",
- "unicodeVersion": "8.0",
- "digest": "dc3b22a219da2c45a6cc45e67ea76e5b35a74eae46f9202dc2f19dd66effc595"
- },
- "mountain_bicyclist_tone2": {
- "category": "activity",
- "moji": "🚵🏼",
- "description": "mountain bicyclist tone 2",
- "unicodeVersion": "8.0",
- "digest": "1ac6898b085ce24e5d80fbafc2c9c9afe6390beae052097f92bfeb9f85a5f906"
- },
- "mountain_bicyclist_tone3": {
- "category": "activity",
- "moji": "🚵🏽",
- "description": "mountain bicyclist tone 3",
- "unicodeVersion": "8.0",
- "digest": "b0c9d179b0ba26c618b69c46aad4f7470b49b9f6c173c452c7a56b61a54537bc"
- },
- "mountain_bicyclist_tone4": {
- "category": "activity",
- "moji": "🚵🏾",
- "description": "mountain bicyclist tone 4",
- "unicodeVersion": "8.0",
- "digest": "e59f743d7e8e8802973da998bc3627f12101508caef7ca2512b8fecb7f9c34d4"
- },
- "mountain_bicyclist_tone5": {
- "category": "activity",
- "moji": "🚵🏿",
- "description": "mountain bicyclist tone 5",
- "unicodeVersion": "8.0",
- "digest": "ca19109c586fc3d0ddf1662b497f517096a813bfcec8184989fa6b578eb57424"
- },
- "mountain_cableway": {
- "category": "travel",
- "moji": "🚠",
- "description": "mountain cableway",
- "unicodeVersion": "6.0",
- "digest": "22969301dc7395450c11ba2c81af096b2ce98da13786109dee70d801563a59b5"
- },
- "mountain_railway": {
- "category": "travel",
- "moji": "🚞",
- "description": "mountain railway",
- "unicodeVersion": "6.0",
- "digest": "3ce97b097df39e9e46eb09d1d544b1bd45596a232fd9163b8f02c37ecaffe794"
- },
- "mountain_snow": {
- "category": "travel",
- "moji": "🏔",
- "description": "snow capped mountain",
- "unicodeVersion": "7.0",
- "digest": "9b7e802436798fd7eb042bbe31cdb77c124196cd262dca3e671e5ad278fe742f"
- },
- "mouse": {
- "category": "nature",
- "moji": "🐭",
- "description": "mouse face",
- "unicodeVersion": "6.0",
- "digest": "ba3d78feeca02888c96bc81ffbe07d8be073f695ab17e167d63c4fe0ad2edfc0"
- },
- "mouse2": {
- "category": "nature",
- "moji": "🐁",
- "description": "mouse",
- "unicodeVersion": "6.0",
- "digest": "abd7dded58299599e4cd419c3052e0d4e52ccc788e905201f5dd225b74152aff"
- },
- "mouse_three_button": {
- "category": "objects",
- "moji": "🖱",
- "description": "three button mouse",
- "unicodeVersion": "7.0",
- "digest": "aea26b9ebd3ea81d0e8b56c8a0281a94e9862e9deda989ec679150e7aec36b5b"
- },
- "movie_camera": {
- "category": "objects",
- "moji": "🎥",
- "description": "movie camera",
- "unicodeVersion": "6.0",
- "digest": "f82751e6f069482fbc01b0d2d135fdf58ef3cf58526b7dbf5b50a71b5ea0ae75"
- },
- "moyai": {
- "category": "objects",
- "moji": "🗿",
- "description": "moyai",
- "unicodeVersion": "6.0",
- "digest": "19b4b5efdb559f958b114fbaf6a3ad017a42012528de7a1dfedee5dbc3bce3d3"
- },
- "mrs_claus": {
- "category": "people",
- "moji": "🤶",
- "description": "mother christmas",
- "unicodeVersion": "9.0",
- "digest": "67d7fccbfd20aa195e526485ce40e52994aa4fa9fb71c70533fb579f4ca0ef1f"
- },
- "mrs_claus_tone1": {
- "category": "people",
- "moji": "🤶🏻",
- "description": "mother christmas tone 1",
- "unicodeVersion": "9.0",
- "digest": "c95a39dcdabe20d1f18a2c5cf7cbf1e530fe9ced7ffdbb0f7f8cf833663f8775"
- },
- "mrs_claus_tone2": {
- "category": "people",
- "moji": "🤶🏼",
- "description": "mother christmas tone 2",
- "unicodeVersion": "9.0",
- "digest": "425a73cb7d57dbaaf13b1156329ef31a0e9b8cc3917c16b90cc561d4d3373bad"
- },
- "mrs_claus_tone3": {
- "category": "people",
- "moji": "🤶🏽",
- "description": "mother christmas tone 3",
- "unicodeVersion": "9.0",
- "digest": "59fd4b47738832f3996b94f67e049edf5d64e0c346b55c9ff09cb893db898fbb"
- },
- "mrs_claus_tone4": {
- "category": "people",
- "moji": "🤶🏾",
- "description": "mother christmas tone 4",
- "unicodeVersion": "9.0",
- "digest": "e96e7945124124002f13cb381f43dad4f40d77b3ec9eb691a58c929ea3214c0d"
- },
- "mrs_claus_tone5": {
- "category": "people",
- "moji": "🤶🏿",
- "description": "mother christmas tone 5",
- "unicodeVersion": "9.0",
- "digest": "a1639e1ed2d862d48e528a5b3f1da14e8afddbed09fafed8f0ad1dbb75c335dc"
- },
- "muscle": {
- "category": "people",
- "moji": "💪",
- "description": "flexed biceps",
- "unicodeVersion": "6.0",
- "digest": "5e6bff383eb4b63009779c1872797eb8b6651788b4005fa0af12b254bb67d404"
- },
- "muscle_tone1": {
- "category": "people",
- "moji": "💪🏻",
- "description": "flexed biceps tone 1",
- "unicodeVersion": "8.0",
- "digest": "921fd25fcc812896f4d4f8ba7f84af84adc72f624ec464a8a3d7414a788d25e7"
- },
- "muscle_tone2": {
- "category": "people",
- "moji": "💪🏼",
- "description": "flexed biceps tone 2",
- "unicodeVersion": "8.0",
- "digest": "e43dd3f98fa6e0916a3da459a66d8e39cc4d83aab68848343fa830b589ad39d2"
- },
- "muscle_tone3": {
- "category": "people",
- "moji": "💪🏽",
- "description": "flexed biceps tone 3",
- "unicodeVersion": "8.0",
- "digest": "508b89b10736e79d6e951cdaf0418912dfed191b464ffe93cfd8621493d7b382"
- },
- "muscle_tone4": {
- "category": "people",
- "moji": "💪🏾",
- "description": "flexed biceps tone 4",
- "unicodeVersion": "8.0",
- "digest": "ac2e279defdba9ba232b254936f5069f3a17313454d5f2c2f7ca62084a6b50d8"
- },
- "muscle_tone5": {
- "category": "people",
- "moji": "💪🏿",
- "description": "flexed biceps tone 5",
- "unicodeVersion": "8.0",
- "digest": "91b6e61e0815b7f746dae45fae5cdb15d9f4b8608188673260d7e4aa134f58ed"
- },
- "mushroom": {
- "category": "nature",
- "moji": "🍄",
- "description": "mushroom",
- "unicodeVersion": "6.0",
- "digest": "76123b383ae3515904cc8015b730a419c7dac5b16df83e8f0baf7b472e08adbe"
- },
- "musical_keyboard": {
- "category": "activity",
- "moji": "🎹",
- "description": "musical keyboard",
- "unicodeVersion": "6.0",
- "digest": "85f8bb1668f64cde65c886b207ae588a794e98b6b64dfaee96659b80bc42b644"
- },
- "musical_note": {
- "category": "symbols",
- "moji": "🎵",
- "description": "musical note",
- "unicodeVersion": "6.0",
- "digest": "9204e70e4d68df5d8ab44087881c90c6d6cce0ac0403d767781cfb8ec23f3a98"
- },
- "musical_score": {
- "category": "activity",
- "moji": "🎼",
- "description": "musical score",
- "unicodeVersion": "6.0",
- "digest": "a379d47ab59308c0faabf74167d53085595a491ced7b1c2d8b9e9fc53575a650"
- },
- "mute": {
- "category": "symbols",
- "moji": "🔇",
- "description": "speaker with cancellation stroke",
- "unicodeVersion": "6.0",
- "digest": "5f80daf97d6bffc8451bbf9b4bc3780a2b555e9449c23922a84feef93a238953"
- },
- "nail_care": {
- "category": "people",
- "moji": "💅",
- "description": "nail polish",
- "unicodeVersion": "6.0",
- "digest": "1f88d57808e1e93dd8870eb24235b1700337b441ea96b7ddabfdae1377bd5795"
- },
- "nail_care_tone1": {
- "category": "people",
- "moji": "💅🏻",
- "description": "nail polish tone 1",
- "unicodeVersion": "8.0",
- "digest": "4faa570dee925e2eaebfc2cd8ccd93dcefd5087e38b6aedadd356ae5234e89a5"
- },
- "nail_care_tone2": {
- "category": "people",
- "moji": "💅🏼",
- "description": "nail polish tone 2",
- "unicodeVersion": "8.0",
- "digest": "320a8d5586f108d66b39cc6df25677fed43bb02914c3c867736881af4195d739"
- },
- "nail_care_tone3": {
- "category": "people",
- "moji": "💅🏽",
- "description": "nail polish tone 3",
- "unicodeVersion": "8.0",
- "digest": "70d8d5a203e23ada34c18c2f368352efb247823a3db919c75c02f659bdc2601f"
- },
- "nail_care_tone4": {
- "category": "people",
- "moji": "💅🏾",
- "description": "nail polish tone 4",
- "unicodeVersion": "8.0",
- "digest": "71d4e886b73ccdbdab9963bedbd23cbaa3693af5e2b9911db8a51d3d3fbb9843"
- },
- "nail_care_tone5": {
- "category": "people",
- "moji": "💅🏿",
- "description": "nail polish tone 5",
- "unicodeVersion": "8.0",
- "digest": "c3cd47041cf0095e03893e165c9b591d7497abf7271588463ef9e8ca42191108"
- },
- "name_badge": {
- "category": "symbols",
- "moji": "📛",
- "description": "name badge",
- "unicodeVersion": "6.0",
- "digest": "42cca8b42700765726f33adac7fd6ddb8911d4e2b5ea680c4348c0c699d61c3f"
- },
- "nauseated_face": {
- "category": "people",
- "moji": "🤢",
- "description": "nauseated face",
- "unicodeVersion": "9.0",
- "digest": "3b3f3fe5fdd6aa6e30bf433d3533438cbee50d337fb2ad83b154873aaac0d9d1"
- },
- "necktie": {
- "category": "people",
- "moji": "👔",
- "description": "necktie",
- "unicodeVersion": "6.0",
- "digest": "1ae4a9a8c38b68c883bf843a044ebb7902ec5c9d73c6bbc1111b847d0353f657"
- },
- "negative_squared_cross_mark": {
- "category": "symbols",
- "moji": "❎",
- "description": "negative squared cross mark",
- "unicodeVersion": "6.0",
- "digest": "cb116b6722949b59acdcb92a8a46fb4ab8f0208dafca73a55b49b09b2d8d37a4"
- },
- "nerd": {
- "category": "people",
- "moji": "🤓",
- "description": "nerd face",
- "unicodeVersion": "8.0",
- "digest": "da428d87fe165911944fb1a15ef2fa4859a1c181fc4dc712907eaea7daba1c85"
- },
- "neutral_face": {
- "category": "people",
- "moji": "😐",
- "description": "neutral face",
- "unicodeVersion": "6.0",
- "digest": "d69ad475b00bc3770047b0d3e06ebd1f3b6523c285d80402c233bf42fe967e8e"
- },
- "new": {
- "category": "symbols",
- "moji": "🆕",
- "description": "squared new",
- "unicodeVersion": "6.0",
- "digest": "fe42aef2603c69544297c0330168c37a844a191cb541344f49b2b0e3b7b01457"
- },
- "new_moon": {
- "category": "nature",
- "moji": "🌑",
- "description": "new moon symbol",
- "unicodeVersion": "6.0",
- "digest": "bb7c1576993e7aed13ae107a4f51c41aa1e811038c6c86a82388c8f6fa05dd72"
- },
- "new_moon_with_face": {
- "category": "nature",
- "moji": "🌚",
- "description": "new moon with face",
- "unicodeVersion": "6.0",
- "digest": "7d341f6f48648d0c4c45677509d3aac49c7b38162a06d28540fca49fb3ec9de6"
- },
- "newspaper": {
- "category": "objects",
- "moji": "📰",
- "description": "newspaper",
- "unicodeVersion": "6.0",
- "digest": "591892ad44fd9168ec274c76bf212a15020dd91091623f79526514b9d83f84c3"
- },
- "newspaper2": {
- "category": "objects",
- "moji": "🗞",
- "description": "rolled-up newspaper",
- "unicodeVersion": "7.0",
- "digest": "a2d8413b95004751aa47bbb80bd5bd067b0591cf1c832ecb6b7911b88be7043c"
- },
- "ng": {
- "category": "symbols",
- "moji": "🆖",
- "description": "squared ng",
- "unicodeVersion": "6.0",
- "digest": "53b461719257c3a5d4c413bebc6a4ab5b6c8c66a76f47f5354fc800746fef815"
- },
- "night_with_stars": {
- "category": "travel",
- "moji": "🌃",
- "description": "night with stars",
- "unicodeVersion": "6.0",
- "digest": "0ca3f52bf56337784d36c545285fce5777bfe6fb01631c3491e33fec61e12474"
- },
- "nine": {
- "category": "symbols",
- "moji": "9️⃣",
- "description": "keycap digit nine",
- "unicodeVersion": "3.0",
- "digest": "c4f0670503ff77ffd10b8de9f0b5f240283cdf7323889dec6a38240fa5ddeae1"
- },
- "no_bell": {
- "category": "symbols",
- "moji": "🔕",
- "description": "bell with cancellation stroke",
- "unicodeVersion": "6.0",
- "digest": "d04d96e4032e288d191079579c2cc3a24e41e02cc4bb681e85cd0f45e01af0a4"
- },
- "no_bicycles": {
- "category": "symbols",
- "moji": "🚳",
- "description": "no bicycles",
- "unicodeVersion": "6.0",
- "digest": "0f0d8e8ab9e421e5f87af7d8dd2afde646d47e35846483e350e11d46039181b6"
- },
- "no_entry": {
- "category": "symbols",
- "moji": "⛔",
- "description": "no entry",
- "unicodeVersion": "5.2",
- "digest": "a960fb2c78aac5ca7ad01e6f5c3dc2212f050f3e4e0dace7bbf79168b63857f6"
- },
- "no_entry_sign": {
- "category": "symbols",
- "moji": "🚫",
- "description": "no entry sign",
- "unicodeVersion": "6.0",
- "digest": "ed0f2355d1edca66757f78849bebeeac010c19bf7d443c04eafa01e15a3f12fe"
- },
- "no_good": {
- "category": "people",
- "moji": "🙅",
- "description": "face with no good gesture",
- "unicodeVersion": "6.0",
- "digest": "9db57840d894a17c23a77c4a5ed315aa852d85ab2841e3393494c600b635f341"
- },
- "no_good_tone1": {
- "category": "people",
- "moji": "🙅🏻",
- "description": "face with no good gesture tone 1",
- "unicodeVersion": "8.0",
- "digest": "ecb77f526ecedd1414faf252ec85a7f468ee0429c0684f69eefa28e3cf4e5710"
- },
- "no_good_tone2": {
- "category": "people",
- "moji": "🙅🏼",
- "description": "face with no good gesture tone 2",
- "unicodeVersion": "8.0",
- "digest": "509882d9171d11cec481bb561d805c3719828954f71ac6b3ec86b34eeea85bfe"
- },
- "no_good_tone3": {
- "category": "people",
- "moji": "🙅🏽",
- "description": "face with no good gesture tone 3",
- "unicodeVersion": "8.0",
- "digest": "7c8d9ba5acdbcad2e99cee95808de8d65f1d8c8a2474bb1a71aca04158e0a542"
- },
- "no_good_tone4": {
- "category": "people",
- "moji": "🙅🏾",
- "description": "face with no good gesture tone 4",
- "unicodeVersion": "8.0",
- "digest": "64a58084e10960f9d2c118b927a6bba759f5aa0038988f1984e7578aee4b16e4"
- },
- "no_good_tone5": {
- "category": "people",
- "moji": "🙅🏿",
- "description": "face with no good gesture tone 5",
- "unicodeVersion": "8.0",
- "digest": "20266de1fbdc6ccb83b4da026c7c71c853dc566d49a39ece5b7379f79c3cf68b"
- },
- "no_mobile_phones": {
- "category": "symbols",
- "moji": "📵",
- "description": "no mobile phones",
- "unicodeVersion": "6.0",
- "digest": "e7fc1cf8ab08e5144cd9a515098e9ea5e5c6dc7d098b764792a6a175c7ac7cab"
- },
- "no_mouth": {
- "category": "people",
- "moji": "😶",
- "description": "face without mouth",
- "unicodeVersion": "6.0",
- "digest": "47a0110f84c97673d86cca26854505e47b0e94af996e23eff58e3861baca4b43"
- },
- "no_pedestrians": {
- "category": "symbols",
- "moji": "🚷",
- "description": "no pedestrians",
- "unicodeVersion": "6.0",
- "digest": "490933e9068e71aa8ab4e864768dbba8c0dcb76d3958261ba0a3da1139984862"
- },
- "no_smoking": {
- "category": "symbols",
- "moji": "🚭",
- "description": "no smoking symbol",
- "unicodeVersion": "6.0",
- "digest": "90337e0742354ba1e87c0262300e48172cfc5db1c9efb4b6837be49efdec73d3"
- },
- "non-potable_water": {
- "category": "symbols",
- "moji": "🚱",
- "description": "non-potable water symbol",
- "unicodeVersion": "6.0",
- "digest": "fded06ba8a998777f04af38833981c8b7980772be1b37509bfbe1692a5e9c81b"
- },
- "nose": {
- "category": "people",
- "moji": "👃",
- "description": "nose",
- "unicodeVersion": "6.0",
- "digest": "b53c2b2226bbaf8505e196a760717d503e7bd886c0b3a87c08bc56138867492e"
- },
- "nose_tone1": {
- "category": "people",
- "moji": "👃🏻",
- "description": "nose tone 1",
- "unicodeVersion": "8.0",
- "digest": "bfc69572dac70db3a59abaac127f854ba648d3a8acf4d5dd0478d6c381910776"
- },
- "nose_tone2": {
- "category": "people",
- "moji": "👃🏼",
- "description": "nose tone 2",
- "unicodeVersion": "8.0",
- "digest": "b6dfa564b8c1859930b3f01da0131c43e3e96f055e45ff7de166493e1d14aab1"
- },
- "nose_tone3": {
- "category": "people",
- "moji": "👃🏽",
- "description": "nose tone 3",
- "unicodeVersion": "8.0",
- "digest": "1dc363dd57dda74e17467b06eb82bea745bf48faca589ffca709cc1e8dd4ad5e"
- },
- "nose_tone4": {
- "category": "people",
- "moji": "👃🏾",
- "description": "nose tone 4",
- "unicodeVersion": "8.0",
- "digest": "76c8919041fa06f25d0bc2eb80d8491f673a1f708680bad1e5f8240d1d97949b"
- },
- "nose_tone5": {
- "category": "people",
- "moji": "👃🏿",
- "description": "nose tone 5",
- "unicodeVersion": "8.0",
- "digest": "08db1747f19cf6f1129f38f5e9fcecc51d65043cfd408cb3b6ccbbd9f491165e"
- },
- "notebook": {
- "category": "objects",
- "moji": "📓",
- "description": "notebook",
- "unicodeVersion": "6.0",
- "digest": "aeb529f82e76ab543f7ab44ef530cbc3558b586559b9e04a6fddc0a0a06ebbb2"
- },
- "notebook_with_decorative_cover": {
- "category": "objects",
- "moji": "📔",
- "description": "notebook with decorative cover",
- "unicodeVersion": "6.0",
- "digest": "6054dca42cc303e7a8d89111d06aaca38950e179a348fc1a2a7c3405401de8a0"
- },
- "notepad_spiral": {
- "category": "objects",
- "moji": "🗒",
- "description": "spiral note pad",
- "unicodeVersion": "7.0",
- "digest": "cff2a9d4657b423731ba9d91e366ffd774a8504650039b5757ace4c0911eda9f"
- },
- "notes": {
- "category": "symbols",
- "moji": "🎶",
- "description": "multiple musical notes",
- "unicodeVersion": "6.0",
- "digest": "e18a0e7c520b862def1df85e1d56ef4a18f42e9998a2e9a000045cfddb6bf75d"
- },
- "nut_and_bolt": {
- "category": "objects",
- "moji": "🔩",
- "description": "nut and bolt",
- "unicodeVersion": "6.0",
- "digest": "e1a81f58c68ec8371dc7fc146e225fe3b95fcedcea4194da744793a28c3fe263"
- },
- "o": {
- "category": "symbols",
- "moji": "⭕",
- "description": "heavy large circle",
- "unicodeVersion": "5.2",
- "digest": "31fd3373121e1690bd2368bb8964007bae2b151345184bd30bc719320b7540b0"
- },
- "o2": {
- "category": "symbols",
- "moji": "🅾",
- "description": "negative squared latin capital letter o",
- "unicodeVersion": "6.0",
- "digest": "672d9a179c75b9375f51175db75154a8b0006e60a9b4546658d9cddca8ab0a86"
- },
- "ocean": {
- "category": "nature",
- "moji": "🌊",
- "description": "water wave",
- "unicodeVersion": "6.0",
- "digest": "495ef59f29b98d5e87b9353274051950dbf7ac9fe486571775389c10e658fa5c"
- },
- "octagonal_sign": {
- "category": "symbols",
- "moji": "🛑",
- "description": "octagonal sign",
- "unicodeVersion": "9.0",
- "digest": "0b138b4b190a12e0601bf71573378d5cce2012d72b9606b01a572ad7f7631c9d"
- },
- "octopus": {
- "category": "nature",
- "moji": "🐙",
- "description": "octopus",
- "unicodeVersion": "6.0",
- "digest": "215314d376c54c12b73eef4115a8d91a3a21f39e39d41a72b24ef2228595b6af"
- },
- "oden": {
- "category": "food",
- "moji": "🍢",
- "description": "oden",
- "unicodeVersion": "6.0",
- "digest": "af6a824831041aacce2e5c510a3bc1a46ddc68f0083bcbfbbd30df941e50ec8b"
- },
- "office": {
- "category": "travel",
- "moji": "🏢",
- "description": "office building",
- "unicodeVersion": "6.0",
- "digest": "404b17445c4da0dc0ec8561604d741bb1c4f1aad8d7d49299249c9732fb33d40"
- },
- "oil": {
- "category": "objects",
- "moji": "🛢",
- "description": "oil drum",
- "unicodeVersion": "7.0",
- "digest": "d2307ad3c2e74c0c5c2594d34e77e0a31a5ef5c0c052a147f24f119054697e1e"
- },
- "ok": {
- "category": "symbols",
- "moji": "🆗",
- "description": "squared ok",
- "unicodeVersion": "6.0",
- "digest": "df301dcd8dc7df31e26a6ba360e8f8b3c0f5bd4869301fde41ccfa3271866ab9"
- },
- "ok_hand": {
- "category": "people",
- "moji": "👌",
- "description": "ok hand sign",
- "unicodeVersion": "6.0",
- "digest": "7ef74c756b59eb60e85daf27cb92962c376733220fbfdb5569be95e67496abc0"
- },
- "ok_hand_tone1": {
- "category": "people",
- "moji": "👌🏻",
- "description": "ok hand sign tone 1",
- "unicodeVersion": "8.0",
- "digest": "285a19578d98da6686b597b5e384edab263d8129194dd3672767d9c67632dae5"
- },
- "ok_hand_tone2": {
- "category": "people",
- "moji": "👌🏼",
- "description": "ok hand sign tone 2",
- "unicodeVersion": "8.0",
- "digest": "b746860ad63866d6afac53fb82ac6b593e9fbcedad18728bf874091f12c4284d"
- },
- "ok_hand_tone3": {
- "category": "people",
- "moji": "👌🏽",
- "description": "ok hand sign tone 3",
- "unicodeVersion": "8.0",
- "digest": "b5eba516e1d45861434c3871ef11450771aecc6d219b9328cea618424f2c0f4e"
- },
- "ok_hand_tone4": {
- "category": "people",
- "moji": "👌🏾",
- "description": "ok hand sign tone 4",
- "unicodeVersion": "8.0",
- "digest": "c4f1bf219363ef580b95fcb99e7aa541ddf1464e17d6d837f4a535b8c6eb0b58"
- },
- "ok_hand_tone5": {
- "category": "people",
- "moji": "👌🏿",
- "description": "ok hand sign tone 5",
- "unicodeVersion": "8.0",
- "digest": "fccfab629162bb963f7dd60b84a2fd101f52a1f51edaf2e84a4dca5149ec1516"
- },
- "ok_woman": {
- "category": "people",
- "moji": "🙆",
- "description": "face with ok gesture",
- "unicodeVersion": "6.0",
- "digest": "0b08d0e64c0a55e47d0f783034a46fbfe7a742388b2961dd13adcd91217f5551"
- },
- "ok_woman_tone1": {
- "category": "people",
- "moji": "🙆🏻",
- "description": "face with ok gesture tone1",
- "unicodeVersion": "8.0",
- "digest": "daaa1c03e25a234c577fa82d868cd7341e4b21262be8a19ebc8ec52c1dfaf3be"
- },
- "ok_woman_tone2": {
- "category": "people",
- "moji": "🙆🏼",
- "description": "face with ok gesture tone2",
- "unicodeVersion": "8.0",
- "digest": "4441187c1bfb3953731fa3cc98fca07f8ef499001af7c954e9e6c766bc113215"
- },
- "ok_woman_tone3": {
- "category": "people",
- "moji": "🙆🏽",
- "description": "face with ok gesture tone3",
- "unicodeVersion": "8.0",
- "digest": "08ef7d0a47d54ba9b8ed19c5d317219ea6d675154085c0e311af845a3cc753f9"
- },
- "ok_woman_tone4": {
- "category": "people",
- "moji": "🙆🏾",
- "description": "face with ok gesture tone4",
- "unicodeVersion": "8.0",
- "digest": "eb8183accaeae7920c7150c13f3d484fefc2868d3203760d4a1e42b04ac14e40"
- },
- "ok_woman_tone5": {
- "category": "people",
- "moji": "🙆🏿",
- "description": "face with ok gesture tone5",
- "unicodeVersion": "8.0",
- "digest": "a8fbb88db77c35ce9fdf85ede6ed71de726277464613b46fcc024b0c38acc675"
- },
- "older_man": {
- "category": "people",
- "moji": "👴",
- "description": "older man",
- "unicodeVersion": "6.0",
- "digest": "84b2a44e5fcc74bc599566caffd79472cdb5c521d7c1b011753d36b8a629cd3f"
- },
- "older_man_tone1": {
- "category": "people",
- "moji": "👴🏻",
- "description": "older man tone 1",
- "unicodeVersion": "8.0",
- "digest": "1f9e38cfb593a30d9afc29bdb18fa00ead144290dbd5a1c34190855e58f3f930"
- },
- "older_man_tone2": {
- "category": "people",
- "moji": "👴🏼",
- "description": "older man tone 2",
- "unicodeVersion": "8.0",
- "digest": "ddef54810d7a168ada23e30686ea9a09d2abb440c230ac5c7823ef731b7aac49"
- },
- "older_man_tone3": {
- "category": "people",
- "moji": "👴🏽",
- "description": "older man tone 3",
- "unicodeVersion": "8.0",
- "digest": "e8f881c06e41460f3e8bb37bba81f11a194b23f2354ddd7ddf3aae44faed2ad9"
- },
- "older_man_tone4": {
- "category": "people",
- "moji": "👴🏾",
- "description": "older man tone 4",
- "unicodeVersion": "8.0",
- "digest": "924a841c5d3ef0a6e3a79d519c38bdff2dff6700dbf51985e06f819f6690b35e"
- },
- "older_man_tone5": {
- "category": "people",
- "moji": "👴🏿",
- "description": "older man tone 5",
- "unicodeVersion": "8.0",
- "digest": "5f893aa727caa220c06c180099c20834abaeeeb7d7b29d64a72259ad7239e487"
- },
- "older_woman": {
- "category": "people",
- "moji": "👵",
- "description": "older woman",
- "unicodeVersion": "6.0",
- "digest": "b96d5fbaa0fe6d0d21998a617b2c07776542ee2ab1d79424e22b25a1906d42a5"
- },
- "older_woman_tone1": {
- "category": "people",
- "moji": "👵🏻",
- "description": "older woman tone 1",
- "unicodeVersion": "8.0",
- "digest": "a5a0475ecc4b452d65f04d31f8ff838531724fbd59c3e00db7c70bc0d87d850f"
- },
- "older_woman_tone2": {
- "category": "people",
- "moji": "👵🏼",
- "description": "older woman tone 2",
- "unicodeVersion": "8.0",
- "digest": "0ede94d29641f3cd592c084b1281a475db4e09a0c98ede0af8500b953e26730b"
- },
- "older_woman_tone3": {
- "category": "people",
- "moji": "👵🏽",
- "description": "older woman tone 3",
- "unicodeVersion": "8.0",
- "digest": "6a4878555493bc7f80aea33c0766d2781ef427d96c1e73d623ee74a77c3dab6e"
- },
- "older_woman_tone4": {
- "category": "people",
- "moji": "👵🏾",
- "description": "older woman tone 4",
- "unicodeVersion": "8.0",
- "digest": "cf7afc02b1d4fb584af1e224be6afa2410a39d3ae1ada553e683b6f14f50dda7"
- },
- "older_woman_tone5": {
- "category": "people",
- "moji": "👵🏿",
- "description": "older woman tone 5",
- "unicodeVersion": "8.0",
- "digest": "35aebc57848405f369eacb1defafce49ecc0f3e3833b21e53e46353b8bcdf755"
- },
- "om_symbol": {
- "category": "symbols",
- "moji": "🕉",
- "description": "om symbol",
- "unicodeVersion": "7.0",
- "digest": "8cc8000af09220f887582df7d0300da13889d371180fda773894b89ecd0053bb"
- },
- "on": {
- "category": "symbols",
- "moji": "🔛",
- "description": "on with exclamation mark with left right arrow abo",
- "unicodeVersion": "6.0",
- "digest": "2e96678d4a15fd6be2b87c4fbccbe51f4bfafcc9d04c866ce1bc640a80144730"
- },
- "oncoming_automobile": {
- "category": "travel",
- "moji": "🚘",
- "description": "oncoming automobile",
- "unicodeVersion": "6.0",
- "digest": "a51563ac9f0674e9d398a0da88c94865583f7478b222717e9187064707ec792b"
- },
- "oncoming_bus": {
- "category": "travel",
- "moji": "🚍",
- "description": "oncoming bus",
- "unicodeVersion": "6.0",
- "digest": "7fba3ec5ef62299568f19384826914c3dd1b4b7d2f27ee575a451e8a764f60a0"
- },
- "oncoming_police_car": {
- "category": "travel",
- "moji": "🚔",
- "description": "oncoming police car",
- "unicodeVersion": "6.0",
- "digest": "2c13ed1f79d19a50de28061b822b76242ec2ee979a838aa85833a3dc361a3523"
- },
- "oncoming_taxi": {
- "category": "travel",
- "moji": "🚖",
- "description": "oncoming taxi",
- "unicodeVersion": "6.0",
- "digest": "4cf0f88b9520d40772b743dcf2e618c49c5f74fa57fd46cda4add3bee9e18ef3"
- },
- "one": {
- "category": "symbols",
- "moji": "1️⃣",
- "description": "keycap digit one",
- "unicodeVersion": "3.0",
- "digest": "6e3c571545f5ec85e72b1d694adbcb764099bbcb512b99c89ac8c8b1b6e1de89"
- },
- "open_file_folder": {
- "category": "objects",
- "moji": "📂",
- "description": "open file folder",
- "unicodeVersion": "6.0",
- "digest": "ebcb375b6039c7a7f35fd36bc9240fc401ac9b4225922fc015f7b59773a89e95"
- },
- "open_hands": {
- "category": "people",
- "moji": "👐",
- "description": "open hands sign",
- "unicodeVersion": "6.0",
- "digest": "6200ecf734f542da4a9450f14d4254f2fb5a74fcae3e44a8e96dc639e1271779"
- },
- "open_hands_tone1": {
- "category": "people",
- "moji": "👐🏻",
- "description": "open hands sign tone 1",
- "unicodeVersion": "8.0",
- "digest": "d07b0f6efe5a85d1f09f94a297520496659ab93002f9c2ac6d82c73cbadab400"
- },
- "open_hands_tone2": {
- "category": "people",
- "moji": "👐🏼",
- "description": "open hands sign tone 2",
- "unicodeVersion": "8.0",
- "digest": "de7ad131fe4f9e4a20f24fe4bd22fd11a0b896c1bdf216c85045ad2a4407890e"
- },
- "open_hands_tone3": {
- "category": "people",
- "moji": "👐🏽",
- "description": "open hands sign tone 3",
- "unicodeVersion": "8.0",
- "digest": "a607b5ca058c240eb530031ec63d57bb4290fa7df42c71a63bc7511759712ae1"
- },
- "open_hands_tone4": {
- "category": "people",
- "moji": "👐🏾",
- "description": "open hands sign tone 4",
- "unicodeVersion": "8.0",
- "digest": "f101e21968a7bc2365758664eb3d121ecc019b2555e2f6d6f984257ba3237b87"
- },
- "open_hands_tone5": {
- "category": "people",
- "moji": "👐🏿",
- "description": "open hands sign tone 5",
- "unicodeVersion": "8.0",
- "digest": "908cd7f4bdfb6670358287dee92cfdabd18a802f0b7d673f07f3cbb46689e91f"
- },
- "open_mouth": {
- "category": "people",
- "moji": "😮",
- "description": "face with open mouth",
- "unicodeVersion": "6.1",
- "digest": "346f4923115965b864ef63bfc4b34deaadaa2dcbc965ef6285a1b81f9966b9a6"
- },
- "ophiuchus": {
- "category": "symbols",
- "moji": "⛎",
- "description": "ophiuchus",
- "unicodeVersion": "6.0",
- "digest": "d1b29a9339ee7bce6ff2dc8b12e424ae48f419c8bbf12fb771c0c20c3bcd76ef"
- },
- "orange_book": {
- "category": "objects",
- "moji": "📙",
- "description": "orange book",
- "unicodeVersion": "6.0",
- "digest": "b2744b07ad93a32b7f114bb8e11f0b26445ce0b2b4edf4720f14fc32da3b3cce"
- },
- "orthodox_cross": {
- "category": "symbols",
- "moji": "☦",
- "description": "orthodox cross",
- "unicodeVersion": "1.1",
- "digest": "29f438c972e101a1305c0bd5138b6b998778b33bcfd98418538340dc4126a601"
- },
- "outbox_tray": {
- "category": "objects",
- "moji": "📤",
- "description": "outbox tray",
- "unicodeVersion": "6.0",
- "digest": "9ccb7f9dfbec078899a97725772841bc3f2752352abf9fd29765a782169b2330"
- },
- "owl": {
- "category": "nature",
- "moji": "🦉",
- "description": "owl",
- "unicodeVersion": "9.0",
- "digest": "f5c1451adf6d1192cc377bc86f25604233d3c9fee42d4b4d4e8b4c4d76d0e981"
- },
- "ox": {
- "category": "nature",
- "moji": "🐂",
- "description": "ox",
- "unicodeVersion": "6.0",
- "digest": "060595f1707bd4b0182c2610e397dbb8800a2410e2205c0156043163b32b9965"
- },
- "package": {
- "category": "objects",
- "moji": "📦",
- "description": "package",
- "unicodeVersion": "6.0",
- "digest": "06ce28df9b4abdb483f7d7eccad4a388fce4ed3596635b8ff148e7399fa99d53"
- },
- "page_facing_up": {
- "category": "objects",
- "moji": "📄",
- "description": "page facing up",
- "unicodeVersion": "6.0",
- "digest": "d8aa1a6d309f70108aef98ee066419652a91fe5d793a1230f2de922ef6275f03"
- },
- "page_with_curl": {
- "category": "objects",
- "moji": "📃",
- "description": "page with curl",
- "unicodeVersion": "6.0",
- "digest": "da5752233d152e49c5fac55d89b82fbd1e98b5a6d7f2f574fe7d218879899282"
- },
- "pager": {
- "category": "objects",
- "moji": "📟",
- "description": "pager",
- "unicodeVersion": "6.0",
- "digest": "196d7a020ab2bb15c8d2ae723c8c8efe161d0e50109af3238727654956c554e5"
- },
- "paintbrush": {
- "category": "objects",
- "moji": "🖌",
- "description": "lower left paintbrush",
- "unicodeVersion": "7.0",
- "digest": "093064c1459d5b84932aab78fdc8d597e333ab2ce73524733e42c2b609b40f6b"
- },
- "palm_tree": {
- "category": "nature",
- "moji": "🌴",
- "description": "palm tree",
- "unicodeVersion": "6.0",
- "digest": "4e5f7c8c216d86839a59a559db1c6b8741d80ec8e2cb8e6c055f7ee5dcf1ceaf"
- },
- "pancakes": {
- "category": "food",
- "moji": "🥞",
- "description": "pancakes",
- "unicodeVersion": "9.0",
- "digest": "5df3886ed4e65b22054269943718a69dcb75744e2dff9e414cf9ab62a2ea0596"
- },
- "panda_face": {
- "category": "nature",
- "moji": "🐼",
- "description": "panda face",
- "unicodeVersion": "6.0",
- "digest": "8439a209f086e61dde97c5a578dc7b3a23099fd4f5a939e27535956a2c78e5c9"
- },
- "paperclip": {
- "category": "objects",
- "moji": "📎",
- "description": "paperclip",
- "unicodeVersion": "6.0",
- "digest": "dbe70e01e1d9bdb96851f18b51cc2380436ab1affe4922c1ad9f4c76811e8453"
- },
- "paperclips": {
- "category": "objects",
- "moji": "🖇",
- "description": "linked paperclips",
- "unicodeVersion": "7.0",
- "digest": "d71e54755ddaf37aa86ff2c1cd1d8dc55d2a5b806a0b9080168ea8e28332d46b"
- },
- "park": {
- "category": "travel",
- "moji": "🏞",
- "description": "national park",
- "unicodeVersion": "7.0",
- "digest": "b49486510df4e66e1beb21abdf1eb7745dfb4381a3f76b3f2ffcb2966bf5f5c4"
- },
- "parking": {
- "category": "symbols",
- "moji": "🅿",
- "description": "negative squared latin capital letter p",
- "unicodeVersion": "5.2",
- "digest": "ccc4a7c9d2d6a1f1fd0788a91618a5178ce8e926d1ebe033ab6d6f77b47b2440"
- },
- "part_alternation_mark": {
- "category": "symbols",
- "moji": "〽",
- "description": "part alternation mark",
- "unicodeVersion": "3.2",
- "digest": "2cf463fbc9bc4b1f63ec7c4c5cf9601b860c52c6f052c971c8b0c7f4cabe413d"
- },
- "partly_sunny": {
- "category": "nature",
- "moji": "⛅",
- "description": "sun behind cloud",
- "unicodeVersion": "5.2",
- "digest": "3e3e120cd4b1fc10548064d7cc529ea3c04eec3f8ac457b90628c119ba62d1f6"
- },
- "passport_control": {
- "category": "symbols",
- "moji": "🛂",
- "description": "passport control",
- "unicodeVersion": "6.0",
- "digest": "cd2221bd39e8517b14d1509afcebf3aeb138d0b286c1012544e2950671affa1a"
- },
- "pause_button": {
- "category": "symbols",
- "moji": "⏸",
- "description": "double vertical bar",
- "unicodeVersion": "7.0",
- "digest": "08bf08733cf20f2afebc56318c86ad3a0a783305dd7c3ee72d7b8898dcd39fc8"
- },
- "peace": {
- "category": "symbols",
- "moji": "☮",
- "description": "peace symbol",
- "unicodeVersion": "1.1",
- "digest": "375030a1230116742eed0b632822936e92179f2da97b73faef675140db76f4db"
- },
- "peach": {
- "category": "food",
- "moji": "🍑",
- "description": "peach",
- "unicodeVersion": "6.0",
- "digest": "952c053be4d68b53c35b0d43e83557606dc235afd821595236c8f80fb8602608"
- },
- "peanuts": {
- "category": "food",
- "moji": "🥜",
- "description": "peanuts",
- "unicodeVersion": "9.0",
- "digest": "f18fe7dfb1eb5e9db42fc3c37d4c4fb4866d9ad26ecf9f6cf5be798a09fc58eb"
- },
- "pear": {
- "category": "food",
- "moji": "🍐",
- "description": "pear",
- "unicodeVersion": "6.0",
- "digest": "73114dab6e3ec572ae1f9a98e85961605b6a98cdd19497e6957eec60941959b5"
- },
- "pen_ballpoint": {
- "category": "objects",
- "moji": "🖊",
- "description": "lower left ballpoint pen",
- "unicodeVersion": "7.0",
- "digest": "7739947fa359e641e04f51bae4ba292613fa2692b17b3f2b3c4bf27c82e97d82"
- },
- "pen_fountain": {
- "category": "objects",
- "moji": "🖋",
- "description": "lower left fountain pen",
- "unicodeVersion": "7.0",
- "digest": "114ba929b5f8812b9767e8260112ebcebd04a46175c3d5d487d71ca36c372d40"
- },
- "pencil": {
- "category": "objects",
- "moji": "📝",
- "description": "memo",
- "unicodeVersion": "6.0",
- "digest": "d18a7c355267e820ac7694c6f7da276b19a59fd42fca4eab74b7f3653e4acdd6"
- },
- "pencil2": {
- "category": "objects",
- "moji": "✏",
- "description": "pencil",
- "unicodeVersion": "1.1",
- "digest": "537f6d69a4039270d8856febea24fd3021005da6f35dca29e5491ee49cc3b217"
- },
- "penguin": {
- "category": "nature",
- "moji": "🐧",
- "description": "penguin",
- "unicodeVersion": "6.0",
- "digest": "0735168781cd9316b40fbce845a55980acc33491112aea840b26b0cef226ccc0"
- },
- "pensive": {
- "category": "people",
- "moji": "😔",
- "description": "pensive face",
- "unicodeVersion": "6.0",
- "digest": "9da78949740dfdb9c72127f5b7aef68c3b0ba1e5462f5cefcd4d22bdbc4857f9"
- },
- "performing_arts": {
- "category": "activity",
- "moji": "🎭",
- "description": "performing arts",
- "unicodeVersion": "6.0",
- "digest": "d4f55655f113bc672739e74b6e3b7684b05f49a68a8ce1a230a32295d0d7a847"
- },
- "persevere": {
- "category": "people",
- "moji": "😣",
- "description": "persevering face",
- "unicodeVersion": "6.0",
- "digest": "5297ca44798cb08da3651322d7f34d45e88333f820cfcd9cce4a540b3333ca63"
- },
- "person_frowning": {
- "category": "people",
- "moji": "🙍",
- "description": "person frowning",
- "unicodeVersion": "6.0",
- "digest": "cc38a861c7edbc5eae6bb91beb2acfc5d044453960f612c36693ef71663b1d5e"
- },
- "person_frowning_tone1": {
- "category": "people",
- "moji": "🙍🏻",
- "description": "person frowning tone 1",
- "unicodeVersion": "8.0",
- "digest": "d7350116b174ba8902292c382a410a458e86d68fd977d7e8e80ce8b47d80eb3e"
- },
- "person_frowning_tone2": {
- "category": "people",
- "moji": "🙍🏼",
- "description": "person frowning tone 2",
- "unicodeVersion": "8.0",
- "digest": "09bfa39a6b743494967806691248ab94a90bb8efc934a3e08eb13cc9a1221989"
- },
- "person_frowning_tone3": {
- "category": "people",
- "moji": "🙍🏽",
- "description": "person frowning tone 3",
- "unicodeVersion": "8.0",
- "digest": "3631d7c4d757007ca5b1543c0819b351fa70dd1fa76dc4e947bb074119837143"
- },
- "person_frowning_tone4": {
- "category": "people",
- "moji": "🙍🏾",
- "description": "person frowning tone 4",
- "unicodeVersion": "8.0",
- "digest": "852c4794d10336cb636d615d702504cf58bbdcf5a7269e9bc3e2b215074d11a0"
- },
- "person_frowning_tone5": {
- "category": "people",
- "moji": "🙍🏿",
- "description": "person frowning tone 5",
- "unicodeVersion": "8.0",
- "digest": "ac64dda090f40addeab42d79bee681060d3b43de56b461fb94883d67fb24e1c6"
- },
- "person_with_blond_hair": {
- "category": "people",
- "moji": "👱",
- "description": "person with blond hair",
- "unicodeVersion": "6.0",
- "digest": "9194bee1257b169fdcb1858023922b83a0ea10cb2f6c2bbc8824e1d15250416d"
- },
- "person_with_blond_hair_tone1": {
- "category": "people",
- "moji": "👱🏻",
- "description": "person with blond hair tone 1",
- "unicodeVersion": "8.0",
- "digest": "bbbd79e4de2b447b081cbc82426f7d2584760489576426768cdf7e1e0e43c249"
- },
- "person_with_blond_hair_tone2": {
- "category": "people",
- "moji": "👱🏼",
- "description": "person with blond hair tone 2",
- "unicodeVersion": "8.0",
- "digest": "23885c8e9d0d34eadf6941e6001c3f03863ebcef8c97733929cb0f61a03b48a9"
- },
- "person_with_blond_hair_tone3": {
- "category": "people",
- "moji": "👱🏽",
- "description": "person with blond hair tone 3",
- "unicodeVersion": "8.0",
- "digest": "87ab121eb227c13fbe454537078761484acf1f09eeae4981bb46021ccd7b71de"
- },
- "person_with_blond_hair_tone4": {
- "category": "people",
- "moji": "👱🏾",
- "description": "person with blond hair tone 4",
- "unicodeVersion": "8.0",
- "digest": "cd12e7c5a19a4a1b5445ecf98adca9e3ac4361a9b01ff8a18d13693af50bbf3a"
- },
- "person_with_blond_hair_tone5": {
- "category": "people",
- "moji": "👱🏿",
- "description": "person with blond hair tone 5",
- "unicodeVersion": "8.0",
- "digest": "d11a5989a12155e1bb3432d672aff88311afc947a65c3e1c640b9e1d42cdeb0c"
- },
- "person_with_pouting_face": {
- "category": "people",
- "moji": "🙎",
- "description": "person with pouting face",
- "unicodeVersion": "6.0",
- "digest": "687a13af899b65a14f27c205c9fffdc4ce50edc86b55f9dab05711f21a8fa06f"
- },
- "person_with_pouting_face_tone1": {
- "category": "people",
- "moji": "🙎🏻",
- "description": "person with pouting face tone1",
- "unicodeVersion": "8.0",
- "digest": "dd6d64d1d51bca83c0b3212d028394cdb84e8550e6740e3a862ce24379a522ea"
- },
- "person_with_pouting_face_tone2": {
- "category": "people",
- "moji": "🙎🏼",
- "description": "person with pouting face tone2",
- "unicodeVersion": "8.0",
- "digest": "7ef959a93142351a77e62074a5b339afa63b7019b23e3b823e8d95a5c82863f2"
- },
- "person_with_pouting_face_tone3": {
- "category": "people",
- "moji": "🙎🏽",
- "description": "person with pouting face tone3",
- "unicodeVersion": "8.0",
- "digest": "777c69c3b59b9688b5cda0cd61b67aaedf742c2758b4ea1537170f1648185dcf"
- },
- "person_with_pouting_face_tone4": {
- "category": "people",
- "moji": "🙎🏾",
- "description": "person with pouting face tone4",
- "unicodeVersion": "8.0",
- "digest": "ee918ba63a9dbb71aa7a2a19552da4a86ecd3a15ff6b01b00595b04c98a8d3f4"
- },
- "person_with_pouting_face_tone5": {
- "category": "people",
- "moji": "🙎🏿",
- "description": "person with pouting face tone5",
- "unicodeVersion": "8.0",
- "digest": "a1d4e4e89b7c8044a38a68d7cdb96d7ee576296689c996225e778af9b033dbfa"
- },
- "pick": {
- "category": "objects",
- "moji": "⛏",
- "description": "pick",
- "unicodeVersion": "5.2",
- "digest": "c74411a556653f5b4b0825627089ab96c01ecdd8d472697c961c22c8a99a6265"
- },
- "pig": {
- "category": "nature",
- "moji": "🐷",
- "description": "pig face",
- "unicodeVersion": "6.0",
- "digest": "7ce19e18b6fb941b8075e18f8c680048828c8b129d1a74a9ac3c2ae937a02aa5"
- },
- "pig2": {
- "category": "nature",
- "moji": "🐖",
- "description": "pig",
- "unicodeVersion": "6.0",
- "digest": "ba4acbc207d817071d485e33186f5ddc20d470a0dc468fb1fea502d4768c25d7"
- },
- "pig_nose": {
- "category": "nature",
- "moji": "🐽",
- "description": "pig nose",
- "unicodeVersion": "6.0",
- "digest": "f9fb90cd7919ed06aec8bf6b0cda13fcd6a58b25329b48a57714d0909a290e4b"
- },
- "pill": {
- "category": "objects",
- "moji": "💊",
- "description": "pill",
- "unicodeVersion": "6.0",
- "digest": "dea2366892fb3739ba549da27d7d0f75871d073099ae61a1d0e1c7683bd274d5"
- },
- "pineapple": {
- "category": "food",
- "moji": "🍍",
- "description": "pineapple",
- "unicodeVersion": "6.0",
- "digest": "62e7ffdfac3638f71d1381861a87d6f361718912099ddd4df1bc8245d6a1fc2f"
- },
- "ping_pong": {
- "category": "activity",
- "moji": "🏓",
- "description": "table tennis paddle and ball",
- "unicodeVersion": "8.0",
- "digest": "f55f8483698dd2252aa5e2819f98e2f5d753616319446067de16acc5ffe12129"
- },
- "pisces": {
- "category": "symbols",
- "moji": "♓",
- "description": "pisces",
- "unicodeVersion": "1.1",
- "digest": "2b9982d42db6ef3b280174b79faa2ce0178f349b826474883297fbbea088b2ea"
- },
- "pizza": {
- "category": "food",
- "moji": "🍕",
- "description": "slice of pizza",
- "unicodeVersion": "6.0",
- "digest": "74f0ca139931c470d814ed91f1bc7d395205b3d836fa2f425c50dff56d77ccb9"
- },
- "place_of_worship": {
- "category": "symbols",
- "moji": "🛐",
- "description": "place of worship",
- "unicodeVersion": "8.0",
- "digest": "39562f00c92f6a75028f57faf3f951026866f42bca6e51bcbbf30f442e24c63a"
- },
- "play_pause": {
- "category": "symbols",
- "moji": "⏯",
- "description": "black right-pointing double triangle with double vertical bar",
- "unicodeVersion": "6.0",
- "digest": "a4fe3a6a5928f88e77c643e7869e4edade8cd19839ec7e347265439483463019"
- },
- "point_down": {
- "category": "people",
- "moji": "👇",
- "description": "white down pointing backhand index",
- "unicodeVersion": "6.0",
- "digest": "4fa9f01922409ef7831ad0ab78782174dd59c46e74e9a76c38111fcdbc1666a1"
- },
- "point_down_tone1": {
- "category": "people",
- "moji": "👇🏻",
- "description": "white down pointing backhand index tone 1",
- "unicodeVersion": "8.0",
- "digest": "e64f86886b78db3088952713caef3144f99ba1d8b5f730e640c4ae42762fb645"
- },
- "point_down_tone2": {
- "category": "people",
- "moji": "👇🏼",
- "description": "white down pointing backhand index tone 2",
- "unicodeVersion": "8.0",
- "digest": "7d44c5c286b83afdc301c8a39bda0e1619d8a099cc576cbcebf55af15931a55e"
- },
- "point_down_tone3": {
- "category": "people",
- "moji": "👇🏽",
- "description": "white down pointing backhand index tone 3",
- "unicodeVersion": "8.0",
- "digest": "33d981c6cd9641f2864b807bc2e288798bbd56bbd413e1aa4d23d42bb6e1af74"
- },
- "point_down_tone4": {
- "category": "people",
- "moji": "👇🏾",
- "description": "white down pointing backhand index tone 4",
- "unicodeVersion": "8.0",
- "digest": "19dc8c01dd571e65f0314cc18b55bde4038617b782808faae976cffb0fadfce4"
- },
- "point_down_tone5": {
- "category": "people",
- "moji": "👇🏿",
- "description": "white down pointing backhand index tone 5",
- "unicodeVersion": "8.0",
- "digest": "67b1413272b5a0c8efbbd5461bd6fd89849ac5f8dc0d1dac26e2edfcc6b9d1ea"
- },
- "point_left": {
- "category": "people",
- "moji": "👈",
- "description": "white left pointing backhand index",
- "unicodeVersion": "6.0",
- "digest": "b7f186ed45ddd21e5c62cbc3d5040194ae1282caad89508fa628c248b3edf0bd"
- },
- "point_left_tone1": {
- "category": "people",
- "moji": "👈🏻",
- "description": "white left pointing backhand index tone 1",
- "unicodeVersion": "8.0",
- "digest": "439f771d094340a43f83b8f2e05b39d90b2ec3921756fea2878754119aafd683"
- },
- "point_left_tone2": {
- "category": "people",
- "moji": "👈🏼",
- "description": "white left pointing backhand index tone 2",
- "unicodeVersion": "8.0",
- "digest": "73d6b8d0df34df349653fcfdbcc2adbc98ba6c25f612d933cc52da1154af37f2"
- },
- "point_left_tone3": {
- "category": "people",
- "moji": "👈🏽",
- "description": "white left pointing backhand index tone 3",
- "unicodeVersion": "8.0",
- "digest": "1cfd0d1db8a06ead619a12bd248c4c9fda7b6b50309a2526a20bfc66dcb86177"
- },
- "point_left_tone4": {
- "category": "people",
- "moji": "👈🏾",
- "description": "white left pointing backhand index tone 4",
- "unicodeVersion": "8.0",
- "digest": "26b4755890f8e290e7d8958566612c14caa6522a7bd43a3d7e8c206436fad70b"
- },
- "point_left_tone5": {
- "category": "people",
- "moji": "👈🏿",
- "description": "white left pointing backhand index tone 5",
- "unicodeVersion": "8.0",
- "digest": "8ca52d65aaedcf7ca346e90da3f53b50af83dfd544ed8631b4da1ab31e5e1497"
- },
- "point_right": {
- "category": "people",
- "moji": "👉",
- "description": "white right pointing backhand index",
- "unicodeVersion": "6.0",
- "digest": "2d27c0ffba78c5c5fbd502dd42fbbae220c8619c8a2b964bef03e4a84ad4a1b6"
- },
- "point_right_tone1": {
- "category": "people",
- "moji": "👉🏻",
- "description": "white right pointing backhand index tone 1",
- "unicodeVersion": "8.0",
- "digest": "c2f84a57648a6de49b2b9000afd2c45ce1ef8f303d71f248b292e3fe83b8cf94"
- },
- "point_right_tone2": {
- "category": "people",
- "moji": "👉🏼",
- "description": "white right pointing backhand index tone 2",
- "unicodeVersion": "8.0",
- "digest": "0a1aae46415401cd3557f61ce491e975acaa995b6c2bf487977beb91e4b1bc7e"
- },
- "point_right_tone3": {
- "category": "people",
- "moji": "👉🏽",
- "description": "white right pointing backhand index tone 3",
- "unicodeVersion": "8.0",
- "digest": "86c13a18c53b548907ec0ec468922beab040c29a365f55e18f265e79f1bb42bf"
- },
- "point_right_tone4": {
- "category": "people",
- "moji": "👉🏾",
- "description": "white right pointing backhand index tone 4",
- "unicodeVersion": "8.0",
- "digest": "1605160b761b975c0f11490eb1a7b724c674ec371d72e73f824fdbe873aeddb2"
- },
- "point_right_tone5": {
- "category": "people",
- "moji": "👉🏿",
- "description": "white right pointing backhand index tone 5",
- "unicodeVersion": "8.0",
- "digest": "1cfee9fdcdaa1a790c14a4f8436dad4b3b6677860bf60dd1da3985fc7cb25a00"
- },
- "point_up": {
- "category": "people",
- "moji": "☝",
- "description": "white up pointing index",
- "unicodeVersion": "1.1",
- "digest": "dc20d84a1a808e2d207f10f2f292cb78e05b9e67b4a26f7491e0c6c7f8059af5"
- },
- "point_up_2": {
- "category": "people",
- "moji": "👆",
- "description": "white up pointing backhand index",
- "unicodeVersion": "6.0",
- "digest": "0e5a1d7841d0f54762d0fadf460086cad4fcd05fbf65cabdf1df90d1ab0c3f2b"
- },
- "point_up_2_tone1": {
- "category": "people",
- "moji": "👆🏻",
- "description": "white up pointing backhand index tone 1",
- "unicodeVersion": "8.0",
- "digest": "bdcd26a212498dcddc69342caefe4a68d2b4bfbebcfa94045a1c27dcce158311"
- },
- "point_up_2_tone2": {
- "category": "people",
- "moji": "👆🏼",
- "description": "white up pointing backhand index tone 2",
- "unicodeVersion": "8.0",
- "digest": "fd5a6d912f3533b3356392e68df8b155dcacd3bb2d2e1c44d84807d587ef1ed5"
- },
- "point_up_2_tone3": {
- "category": "people",
- "moji": "👆🏽",
- "description": "white up pointing backhand index tone 3",
- "unicodeVersion": "8.0",
- "digest": "57af38773077d28200e033dc3dd28913f570311a51b833df32f23a85bfcc530c"
- },
- "point_up_2_tone4": {
- "category": "people",
- "moji": "👆🏾",
- "description": "white up pointing backhand index tone 4",
- "unicodeVersion": "8.0",
- "digest": "7110f1d42dffcab536906e176baa36e817142f9d71329fdfc1b74ee9813cffd6"
- },
- "point_up_2_tone5": {
- "category": "people",
- "moji": "👆🏿",
- "description": "white up pointing backhand index tone 5",
- "unicodeVersion": "8.0",
- "digest": "1795ede377cdd58189471af3f6488d8197f2a742f817f8a61523ccff8d08581b"
- },
- "point_up_tone1": {
- "category": "people",
- "moji": "☝🏻",
- "description": "white up pointing index tone 1",
- "unicodeVersion": "8.0",
- "digest": "16f0e85643558fd2f471cc8d317058914f42279f4aef2ba0e8390728efb4992b"
- },
- "point_up_tone2": {
- "category": "people",
- "moji": "☝🏼",
- "description": "white up pointing index tone 2",
- "unicodeVersion": "8.0",
- "digest": "fe8f930134adc4be29b7e659c6acbfa76ba52ab3d0b46dd4797e79c365708666"
- },
- "point_up_tone3": {
- "category": "people",
- "moji": "☝🏽",
- "description": "white up pointing index tone 3",
- "unicodeVersion": "8.0",
- "digest": "d7258aeab80e697649a0e8ad13445380462bb5814c90b1183cc105ebe3eaa5ef"
- },
- "point_up_tone4": {
- "category": "people",
- "moji": "☝🏾",
- "description": "white up pointing index tone 4",
- "unicodeVersion": "8.0",
- "digest": "4c4aca5e2e436421b26d5d58a82bd52fdb9135593fb1afd92c30fa8f1ed51dd1"
- },
- "point_up_tone5": {
- "category": "people",
- "moji": "☝🏿",
- "description": "white up pointing index tone 5",
- "unicodeVersion": "8.0",
- "digest": "ab94fd7fe02205894add98c4c97d812f2228c7c766b1b0e01fa1e9e5dc7c669b"
- },
- "police_car": {
- "category": "travel",
- "moji": "🚓",
- "description": "police car",
- "unicodeVersion": "6.0",
- "digest": "38e3b0bdee599b71a5f556dc86b12aa01df38dcf533179515bbdbf2512828548"
- },
- "poodle": {
- "category": "nature",
- "moji": "🐩",
- "description": "poodle",
- "unicodeVersion": "6.0",
- "digest": "4e73855cbdb10f644146fb3bc1636a74faff02a5d69ad0f91302e920973b03f0"
- },
- "poop": {
- "category": "people",
- "moji": "💩",
- "description": "pile of poo",
- "unicodeVersion": "6.0",
- "digest": "b5c6a197435c518508edf1cc7bc015c14c120965b574813838797507fab21994"
- },
- "popcorn": {
- "category": "food",
- "moji": "🍿",
- "description": "popcorn",
- "unicodeVersion": "8.0",
- "digest": "6571fce7fb3cdf92db6fdb69b89b21b664eab348f7fd9ccb37da09eefa65d14f"
- },
- "post_office": {
- "category": "travel",
- "moji": "🏣",
- "description": "japanese post office",
- "unicodeVersion": "6.0",
- "digest": "7dc4ef6e09bab68f31dfb7f594a6488b62c9dcb956b36ac2788c1fbefa908251"
- },
- "postal_horn": {
- "category": "objects",
- "moji": "📯",
- "description": "postal horn",
- "unicodeVersion": "6.0",
- "digest": "0cee35210e86afe9bdf0e60345d0c8c23c25d0b43e74bfd4bb8f76e223ffdfe3"
- },
- "postbox": {
- "category": "objects",
- "moji": "📮",
- "description": "postbox",
- "unicodeVersion": "6.0",
- "digest": "3e12a4b2a7bce5c1257ecd05f69ba6f51d9db39b21f6393c304e6870c5f432da"
- },
- "potable_water": {
- "category": "symbols",
- "moji": "🚰",
- "description": "potable water symbol",
- "unicodeVersion": "6.0",
- "digest": "e35ad512f4da69fa132475c68cdbb831ab617f013127aba15cd7508f0b732d19"
- },
- "potato": {
- "category": "food",
- "moji": "🥔",
- "description": "potato",
- "unicodeVersion": "9.0",
- "digest": "72e5b1d7dd118dd85886d880a88a92b60e1542587d92591dd42f2d59a721b4c4"
- },
- "pouch": {
- "category": "people",
- "moji": "👝",
- "description": "pouch",
- "unicodeVersion": "6.0",
- "digest": "e333815505f48dad6240f0d6ac9476ab256b26ec53108c0454f77c6ac31c4874"
- },
- "poultry_leg": {
- "category": "food",
- "moji": "🍗",
- "description": "poultry leg",
- "unicodeVersion": "6.0",
- "digest": "c3c667f9795aa2d14fd1a500438d7fd2441e924a3d1af68bd6be1f082b935f4c"
- },
- "pound": {
- "category": "objects",
- "moji": "💷",
- "description": "banknote with pound sign",
- "unicodeVersion": "6.0",
- "digest": "2cb892a8131edb282cb8f5dadaa8db602e6b6934fdf06588d8ccb8f3e7e6eae6"
- },
- "pouting_cat": {
- "category": "people",
- "moji": "😾",
- "description": "pouting cat face",
- "unicodeVersion": "6.0",
- "digest": "e253bae99f9859322bc02b5e9b87cb33c68a5e38aebaa57478d5f4a5b1c23bb0"
- },
- "pray": {
- "category": "people",
- "moji": "🙏",
- "description": "person with folded hands",
- "unicodeVersion": "6.0",
- "digest": "175a97bcdf0110e4a435cc760d5203b8493c5bbf6d4ce70fb7a5643b2d1021dc"
- },
- "pray_tone1": {
- "category": "people",
- "moji": "🙏🏻",
- "description": "person with folded hands tone 1",
- "unicodeVersion": "8.0",
- "digest": "0a453f3e7292c7d813da211b9d1359c6d893426077b010bca5a4bc3f17a695c1"
- },
- "pray_tone2": {
- "category": "people",
- "moji": "🙏🏼",
- "description": "person with folded hands tone 2",
- "unicodeVersion": "8.0",
- "digest": "f66640530c3818fff333ebd6636dfb912aa6e986060ad03555766bbc5888d8b4"
- },
- "pray_tone3": {
- "category": "people",
- "moji": "🙏🏽",
- "description": "person with folded hands tone 3",
- "unicodeVersion": "8.0",
- "digest": "5d8f49ada7ce2e5c473220aa881b32cda4fe73c024ec9260fd2af09b55478239"
- },
- "pray_tone4": {
- "category": "people",
- "moji": "🙏🏾",
- "description": "person with folded hands tone 4",
- "unicodeVersion": "8.0",
- "digest": "c830c04f893a424a6694c478d8356a549a43b2ba3e9e912becc018178ca0c54c"
- },
- "pray_tone5": {
- "category": "people",
- "moji": "🙏🏿",
- "description": "person with folded hands tone 5",
- "unicodeVersion": "8.0",
- "digest": "3fc8c39440ac0ae1646949dad41cc56305e51fbd299378de5356be3e5b4bda24"
- },
- "prayer_beads": {
- "category": "objects",
- "moji": "📿",
- "description": "prayer beads",
- "unicodeVersion": "8.0",
- "digest": "aedb143e4798a14b97ff6595293d7ed873988023efbc1e3de3aa9f17344359fd"
- },
- "pregnant_woman": {
- "category": "people",
- "moji": "🤰",
- "description": "pregnant woman",
- "unicodeVersion": "9.0",
- "digest": "541e4d6245b5b243121e4666298cd5ae5a31fd38228ca2f527865019d7fa25b5"
- },
- "pregnant_woman_tone1": {
- "category": "people",
- "moji": "🤰🏻",
- "description": "pregnant woman tone 1",
- "unicodeVersion": "9.0",
- "digest": "8c16b193ce1c39aafcc4ba1b7db7524486cfbd640ece996bd795e91198db6196"
- },
- "pregnant_woman_tone2": {
- "category": "people",
- "moji": "🤰🏼",
- "description": "pregnant woman tone 2",
- "unicodeVersion": "9.0",
- "digest": "44261300c22052fdc4f82cb41d63754b5bd9d5bc6dac92ac68440a62f3456b87"
- },
- "pregnant_woman_tone3": {
- "category": "people",
- "moji": "🤰🏽",
- "description": "pregnant woman tone 3",
- "unicodeVersion": "9.0",
- "digest": "f734c133c3d9dc59aeb050024c420e2de231e2fabefda255169666ee955ab8e4"
- },
- "pregnant_woman_tone4": {
- "category": "people",
- "moji": "🤰🏾",
- "description": "pregnant woman tone 4",
- "unicodeVersion": "9.0",
- "digest": "6990dabfc19d92c061fdffd82ab99f582378fd84c535db0dc042f20cb9db6c16"
- },
- "pregnant_woman_tone5": {
- "category": "people",
- "moji": "🤰🏿",
- "description": "pregnant woman tone 5",
- "unicodeVersion": "9.0",
- "digest": "6981c98ac30d7ff3dc5b44279a3d3a8891a1fd33de5a41050aced7e37ec9ea21"
- },
- "prince": {
- "category": "people",
- "moji": "🤴",
- "description": "prince",
- "unicodeVersion": "9.0",
- "digest": "07fcbaf5d14e5e77d1a44cae21006ab245da1fd799773aa836a9bb2fdac24f61"
- },
- "prince_tone1": {
- "category": "people",
- "moji": "🤴🏻",
- "description": "prince tone 1",
- "unicodeVersion": "9.0",
- "digest": "2db61fd0e8bb7d9d5941df7c680d2e4fff6b282d2a356c34bf32e55bf41d1245"
- },
- "prince_tone2": {
- "category": "people",
- "moji": "🤴🏼",
- "description": "prince tone 2",
- "unicodeVersion": "9.0",
- "digest": "283dbc3550fe80ce1bf4f6eabd7e216026f3996f4e0fa9b9b881df8d741c26d3"
- },
- "prince_tone3": {
- "category": "people",
- "moji": "🤴🏽",
- "description": "prince tone 3",
- "unicodeVersion": "9.0",
- "digest": "374f58411517a2c3532adad34108db23e8587a86d15e32aa0e67e8a82d1c2ef3"
- },
- "prince_tone4": {
- "category": "people",
- "moji": "🤴🏾",
- "description": "prince tone 4",
- "unicodeVersion": "9.0",
- "digest": "a6d44eb1caf4dc0fbb1b5821809cd55bea127f5a6b4b4b7e259f161ef502a52b"
- },
- "prince_tone5": {
- "category": "people",
- "moji": "🤴🏿",
- "description": "prince tone 5",
- "unicodeVersion": "9.0",
- "digest": "72bbb711de954db8d01bf0270ae23ead3fabc76a1e9edc208b2ee08b3c282c17"
- },
- "princess": {
- "category": "people",
- "moji": "👸",
- "description": "princess",
- "unicodeVersion": "6.0",
- "digest": "0255742ad246f6245302c68965ce7243618c62e27a55927a1101db0a58144205"
- },
- "princess_tone1": {
- "category": "people",
- "moji": "👸🏻",
- "description": "princess tone 1",
- "unicodeVersion": "8.0",
- "digest": "6634c586ce395cc2417acfffc4997bd9152b200abb357921f9bcb37d5501c99b"
- },
- "princess_tone2": {
- "category": "people",
- "moji": "👸🏼",
- "description": "princess tone 2",
- "unicodeVersion": "8.0",
- "digest": "9ef16a00fa3f044559e9a8f5abbd0d8be7c6d665f8007c59094e2581d92236d1"
- },
- "princess_tone3": {
- "category": "people",
- "moji": "👸🏽",
- "description": "princess tone 3",
- "unicodeVersion": "8.0",
- "digest": "0a6687e1da8a427e55fc2769f8927fa3f285b9e3dfc4d0a89de2339f9c7ad5d6"
- },
- "princess_tone4": {
- "category": "people",
- "moji": "👸🏾",
- "description": "princess tone 4",
- "unicodeVersion": "8.0",
- "digest": "687368a236801772418314f1ca4271d97511a3c5875a22886abc21e2383d784d"
- },
- "princess_tone5": {
- "category": "people",
- "moji": "👸🏿",
- "description": "princess tone 5",
- "unicodeVersion": "8.0",
- "digest": "cd1a5425ebe5bd0334ae35e3fcdbe50fffcceac150a86b842b92bbb78bbb0e3b"
- },
- "printer": {
- "category": "objects",
- "moji": "🖨",
- "description": "printer",
- "unicodeVersion": "7.0",
- "digest": "6d955ef121cac0fb8f24e617c664e13b44cb318db041be39ebbbd158e731ae2f"
- },
- "projector": {
- "category": "objects",
- "moji": "📽",
- "description": "film projector",
- "unicodeVersion": "7.0",
- "digest": "ad03ae86f9188ccc2909335de034ed0de68dadc4a6e59fb678e752d219c41f92"
- },
- "punch": {
- "category": "people",
- "moji": "👊",
- "description": "fisted hand sign",
- "unicodeVersion": "6.0",
- "digest": "1f8bdf4ead54a6d9ccad648c98f126a49e4a16a1d525abf8d8194b2e253461e2"
- },
- "punch_tone1": {
- "category": "people",
- "moji": "👊🏻",
- "description": "fisted hand sign tone 1",
- "unicodeVersion": "8.0",
- "digest": "6e368dfc6f762bc1db1127592d91fa29437f182391a71d61472e8459b2dfc770"
- },
- "punch_tone2": {
- "category": "people",
- "moji": "👊🏼",
- "description": "fisted hand sign tone 2",
- "unicodeVersion": "8.0",
- "digest": "62e40f8ac33d5f28cc2bba06dc0871627db3f40a04f16a7dd2ab426bb9c740a4"
- },
- "punch_tone3": {
- "category": "people",
- "moji": "👊🏽",
- "description": "fisted hand sign tone 3",
- "unicodeVersion": "8.0",
- "digest": "94a9d410d1ac2252be7386a2110708686ea2bba4859f3fd84a11e64bbd6a1432"
- },
- "punch_tone4": {
- "category": "people",
- "moji": "👊🏾",
- "description": "fisted hand sign tone 4",
- "unicodeVersion": "8.0",
- "digest": "b378775978c26547d87fe8d2f7d20a05c2bbca386d40533fe774e4bca2e7540a"
- },
- "punch_tone5": {
- "category": "people",
- "moji": "👊🏿",
- "description": "fisted hand sign tone 5",
- "unicodeVersion": "8.0",
- "digest": "4300760b118dee45c53098601e7d8f9d3ec66e87f2d11e87b07adb79793c53e8"
- },
- "purple_heart": {
- "category": "symbols",
- "moji": "💜",
- "description": "purple heart",
- "unicodeVersion": "6.0",
- "digest": "68bc43f94a83b183d3ae134cfb36ef801dbb08f8ed46ed2972caa24cad3c8d2c"
- },
- "purse": {
- "category": "people",
- "moji": "👛",
- "description": "purse",
- "unicodeVersion": "6.0",
- "digest": "069d6ce3046648578d3c04796bb6190ecfb55e1fd708be2021144f1716c3ae2f"
- },
- "pushpin": {
- "category": "objects",
- "moji": "📌",
- "description": "pushpin",
- "unicodeVersion": "6.0",
- "digest": "c8b820588fe733d505e95d93eeadcc3e1073f745b2b53bae8dcc1c0bb8624aa7"
- },
- "put_litter_in_its_place": {
- "category": "symbols",
- "moji": "🚮",
- "description": "put litter in its place symbol",
- "unicodeVersion": "6.0",
- "digest": "8f4d77e14f81634081b21e9bc062082d5a18cad551560eb8479c0c5d14ab3358"
- },
- "question": {
- "category": "symbols",
- "moji": "❓",
- "description": "black question mark ornament",
- "unicodeVersion": "6.0",
- "digest": "fd18ff641d27854c3996ec9c58210fde5411537847c0f3c55d9318244c3e8854"
- },
- "rabbit": {
- "category": "nature",
- "moji": "🐰",
- "description": "rabbit face",
- "unicodeVersion": "6.0",
- "digest": "1a7201ef67f5ce4c9deb0f5c9e1e14d0e3d6ffaac17bbb73d6ca6c1de62c43ea"
- },
- "rabbit2": {
- "category": "nature",
- "moji": "🐇",
- "description": "rabbit",
- "unicodeVersion": "6.0",
- "digest": "120075f5ca435b5dc903bfe3934bbc9adb2c17c16a8b839625320a46c299827a"
- },
- "race_car": {
- "category": "travel",
- "moji": "🏎",
- "description": "racing car",
- "unicodeVersion": "7.0",
- "digest": "183bf5e7abb9e7c7e94a08f212040d6dbe24633c2fb25a452096a2062c18acc6"
- },
- "racehorse": {
- "category": "nature",
- "moji": "🐎",
- "description": "horse",
- "unicodeVersion": "6.0",
- "digest": "44ade212bafa562416e9df439229052db2e45cf631d6d32a8261aa541a675a07"
- },
- "radio": {
- "category": "objects",
- "moji": "📻",
- "description": "radio",
- "unicodeVersion": "6.0",
- "digest": "a397a47cb1ab6621628112afcdc7ce4338f9e77954f2ef7e9bb461d519705099"
- },
- "radio_button": {
- "category": "symbols",
- "moji": "🔘",
- "description": "radio button",
- "unicodeVersion": "6.0",
- "digest": "7e74da4889650286464a22035c3297d914c1e52c266d5accbffe03d8f76069de"
- },
- "radioactive": {
- "category": "symbols",
- "moji": "☢",
- "description": "radioactive sign",
- "unicodeVersion": "1.1",
- "digest": "adae20f9d65f9e4c3d2ff97012c58475ed56d446010999b75af2ddc78961cf54"
- },
- "rage": {
- "category": "people",
- "moji": "😡",
- "description": "pouting face",
- "unicodeVersion": "6.0",
- "digest": "55c5a1450a9c4ba539c4c2f6760209c7cedfbbc93abee597d63703e7bc96743c"
- },
- "railway_car": {
- "category": "travel",
- "moji": "🚃",
- "description": "railway car",
- "unicodeVersion": "6.0",
- "digest": "5aaa2731f58c2a08c2c731cf361da3a9ea407d2754134dcacf14d9ea4cfb702f"
- },
- "railway_track": {
- "category": "travel",
- "moji": "🛤",
- "description": "railway track",
- "unicodeVersion": "7.0",
- "digest": "2a36d0f6b16ecb70328a34502c639ce931fcb558c72fad0118b7380a13de2076"
- },
- "rainbow": {
- "category": "travel",
- "moji": "🌈",
- "description": "rainbow",
- "unicodeVersion": "6.0",
- "digest": "f3e13a1ac2f7a2ae4096f47a2e1a1afd18f2998a67f6491002c3bcb019093222"
- },
- "raised_back_of_hand": {
- "category": "people",
- "moji": "🤚",
- "description": "raised back of hand",
- "unicodeVersion": "9.0",
- "digest": "3335f2a4f8ac26c22418968e1836e697ee03af488a9349bab6795076ab5dd771"
- },
- "raised_back_of_hand_tone1": {
- "category": "people",
- "moji": "🤚🏻",
- "description": "raised back of hand tone 1",
- "unicodeVersion": "9.0",
- "digest": "6388f3e4b61cc32967aa6b9bceb60e8673f01cb1cdf94c37332d61040be48d6b"
- },
- "raised_back_of_hand_tone2": {
- "category": "people",
- "moji": "🤚🏼",
- "description": "raised back of hand tone 2",
- "unicodeVersion": "9.0",
- "digest": "66491196ad238a2a12c14d9be5cec12d22788d719725e7d22e6edad40afc0c8e"
- },
- "raised_back_of_hand_tone3": {
- "category": "people",
- "moji": "🤚🏽",
- "description": "raised back of hand tone 3",
- "unicodeVersion": "9.0",
- "digest": "27e2f03168b0733a0492a30df1f2f924783bf309a3a05a22a27529953783d0cd"
- },
- "raised_back_of_hand_tone4": {
- "category": "people",
- "moji": "🤚🏾",
- "description": "raised back of hand tone 4",
- "unicodeVersion": "9.0",
- "digest": "729c1c34a2aa7c236d11c73665fa7b29fa1c31cc3ce56ea0a7e46f0754483efd"
- },
- "raised_back_of_hand_tone5": {
- "category": "people",
- "moji": "🤚🏿",
- "description": "raised back of hand tone 5",
- "unicodeVersion": "9.0",
- "digest": "50cca64dcbf0dff9a896668c6d909bd91805d699873224933e91af524c781320"
- },
- "raised_hand": {
- "category": "people",
- "moji": "✋",
- "description": "raised hand",
- "unicodeVersion": "6.0",
- "digest": "0bfd815713f428f4408c4225abd10c73e1200dbabe07216cb5d07098f8314270"
- },
- "raised_hand_tone1": {
- "category": "people",
- "moji": "✋🏻",
- "description": "raised hand tone 1",
- "unicodeVersion": "8.0",
- "digest": "5d8a093e609223ce89bb3813d1b673d8558b81597ec747002a5e30792e1bcd72"
- },
- "raised_hand_tone2": {
- "category": "people",
- "moji": "✋🏼",
- "description": "raised hand tone 2",
- "unicodeVersion": "8.0",
- "digest": "7b76fb17f3da3719ee18ca00903b0b89b4fad7718aa18df52c7920d0ae049fb2"
- },
- "raised_hand_tone3": {
- "category": "people",
- "moji": "✋🏽",
- "description": "raised hand tone 3",
- "unicodeVersion": "8.0",
- "digest": "44bce7c38e3b814d00fee161df4cdf94b2c73f5e044b65317010588029aae4be"
- },
- "raised_hand_tone4": {
- "category": "people",
- "moji": "✋🏾",
- "description": "raised hand tone 4",
- "unicodeVersion": "8.0",
- "digest": "b23fad6235d1e3dfbbf7c613013cf294b9c36c6d1f2228fd97fb4802aa3ef0af"
- },
- "raised_hand_tone5": {
- "category": "people",
- "moji": "✋🏿",
- "description": "raised hand tone 5",
- "unicodeVersion": "8.0",
- "digest": "a66a0fc82b6d8abd282f5c7f7e35cc31a3f83dd425f4621a3538a2455113b02a"
- },
- "raised_hands": {
- "category": "people",
- "moji": "🙌",
- "description": "person raising both hands in celebration",
- "unicodeVersion": "6.0",
- "digest": "6bc3e746c276ce1ea46ba5233d30ec5cdb8340b5c9c15768873404d59b1f3496"
- },
- "raised_hands_tone1": {
- "category": "people",
- "moji": "🙌🏻",
- "description": "person raising both hands in celebration tone 1",
- "unicodeVersion": "8.0",
- "digest": "c3e5095f41e49954c688edefeb223069c57979052735b06277d7f3620161796f"
- },
- "raised_hands_tone2": {
- "category": "people",
- "moji": "🙌🏼",
- "description": "person raising both hands in celebration tone 2",
- "unicodeVersion": "8.0",
- "digest": "4bd2f620dba790a58a42ab6d234de14772e4224994b929d731acc50ed6a8d259"
- },
- "raised_hands_tone3": {
- "category": "people",
- "moji": "🙌🏽",
- "description": "person raising both hands in celebration tone 3",
- "unicodeVersion": "8.0",
- "digest": "1db8bfc21ab03d98849684f6d32e8e333bb9b33dd540a38c4673a33ea78698d8"
- },
- "raised_hands_tone4": {
- "category": "people",
- "moji": "🙌🏾",
- "description": "person raising both hands in celebration tone 4",
- "unicodeVersion": "8.0",
- "digest": "65991dd419d1a02f126dfc401252faa929eb9b437d990b7802a2323ce6e929cb"
- },
- "raised_hands_tone5": {
- "category": "people",
- "moji": "🙌🏿",
- "description": "person raising both hands in celebration tone 5",
- "unicodeVersion": "8.0",
- "digest": "ffe251cc1a777836f40217630cb6652d3ec7f4f80c88045d1ec1430c8ce368d1"
- },
- "raising_hand": {
- "category": "people",
- "moji": "🙋",
- "description": "happy person raising one hand",
- "unicodeVersion": "6.0",
- "digest": "b9cc5deb1d33ace5ab80f9b4fe7d2d277c2ee04dfdbc8bc3d41ca69edd3d5c52"
- },
- "raising_hand_tone1": {
- "category": "people",
- "moji": "🙋🏻",
- "description": "happy person raising one hand tone1",
- "unicodeVersion": "8.0",
- "digest": "6d7aea2c2c9620448ffc6be9e5bf5cddcc7a1e18f9f816a030dc818d93d45d61"
- },
- "raising_hand_tone2": {
- "category": "people",
- "moji": "🙋🏼",
- "description": "happy person raising one hand tone2",
- "unicodeVersion": "8.0",
- "digest": "8af44fa3d2d7eadc95c8193993eeeaea3bd764c1ac884d897804a074bba87a21"
- },
- "raising_hand_tone3": {
- "category": "people",
- "moji": "🙋🏽",
- "description": "happy person raising one hand tone3",
- "unicodeVersion": "8.0",
- "digest": "cc39cadc42f9ec7fba6e74661e757f0d7a36fd10807fe90fddd511a07e290059"
- },
- "raising_hand_tone4": {
- "category": "people",
- "moji": "🙋🏾",
- "description": "happy person raising one hand tone4",
- "unicodeVersion": "8.0",
- "digest": "7ef0c37921ced3c64898531b746eaf1e6ed7133ebefd74394e5b0164ee57085d"
- },
- "raising_hand_tone5": {
- "category": "people",
- "moji": "🙋🏿",
- "description": "happy person raising one hand tone5",
- "unicodeVersion": "8.0",
- "digest": "96927ec26049ce6efc65917605f9039f9ec746eff23fe00c4f35ceb29d4f2c93"
- },
- "ram": {
- "category": "nature",
- "moji": "🐏",
- "description": "ram",
- "unicodeVersion": "6.0",
- "digest": "8f4a19d64e01593a7487fb4d58fe1d300055e458d3daa1659ec59877a8a3b00f"
- },
- "ramen": {
- "category": "food",
- "moji": "🍜",
- "description": "steaming bowl",
- "unicodeVersion": "6.0",
- "digest": "2dab0bf5560aacda31e87d8a86a1a39eaaa7f6b4fb3dbc1b9768f3a49a9e20f9"
- },
- "rat": {
- "category": "nature",
- "moji": "🐀",
- "description": "rat",
- "unicodeVersion": "6.0",
- "digest": "7f15ecd2a5c5dd340a5e1c69454a512bf176cbb74b042efc65a7d6c8efad5e6e"
- },
- "record_button": {
- "category": "symbols",
- "moji": "⏺",
- "description": "black circle for record",
- "unicodeVersion": "7.0",
- "digest": "2b7ef01bcbfb5310cceffada4a966b874dd3bf4b8cfa23848effac1386457fc3"
- },
- "recycle": {
- "category": "symbols",
- "moji": "♻",
- "description": "black universal recycling symbol",
- "unicodeVersion": "3.2",
- "digest": "9256cf44c41b5b3479c92a453c26adcc32800af9ffbf32f2d08e7570732788b2"
- },
- "red_car": {
- "category": "travel",
- "moji": "🚗",
- "description": "automobile",
- "unicodeVersion": "6.0",
- "digest": "db3f7e0dd1e1aa92541afc4db067e0c6bf9d325d912b1bafce182e683f68a06e"
- },
- "red_circle": {
- "category": "symbols",
- "moji": "🔴",
- "description": "large red circle",
- "unicodeVersion": "6.0",
- "digest": "a76514fffb0fec7b8994aa202144350f3257c4562c02a451c5727d20ce0f21ac"
- },
- "registered": {
- "category": "symbols",
- "moji": "®️",
- "description": "registered sign",
- "unicodeVersion": "1.1",
- "digest": "aeabdec7e5ddeed91ca77a6b926d76362e90d955225cbba6cee8b26442661e10"
- },
- "relaxed": {
- "category": "people",
- "moji": "☺",
- "description": "white smiling face",
- "unicodeVersion": "1.1",
- "digest": "27bb85737e7f969e392a23141f27c75c82e327fcd0614a445dec47a00578057d"
- },
- "relieved": {
- "category": "people",
- "moji": "😌",
- "description": "relieved face",
- "unicodeVersion": "6.0",
- "digest": "ed96de2532a1fd5f96f52621d233b391830d31119b9604e7505340aac2dd1fa5"
- },
- "reminder_ribbon": {
- "category": "activity",
- "moji": "🎗",
- "description": "reminder ribbon",
- "unicodeVersion": "7.0",
- "digest": "3f3b9a65033a2e9e9d58ee18aa3cb3158ce2bf243c6c0352f7278bf2b4f8106c"
- },
- "repeat": {
- "category": "symbols",
- "moji": "🔁",
- "description": "clockwise rightwards and leftwards open circle arr",
- "unicodeVersion": "6.0",
- "digest": "6e7a4196d2899b28b0c85a77c6abafd202f91189710793e9a6b4a95ab55c0fc5"
- },
- "repeat_one": {
- "category": "symbols",
- "moji": "🔂",
- "description": "clockwise rightwards and leftwards open circle arr",
- "unicodeVersion": "6.0",
- "digest": "6f6ace59c5d36c66d5816247e9c29f6aa3efef428ee83c99c9d341f7c055a64c"
- },
- "restroom": {
- "category": "symbols",
- "moji": "🚻",
- "description": "restroom",
- "unicodeVersion": "6.0",
- "digest": "f2a6d958afccd904f504425f024c968e22d13466f122006b245ea3db25e22bdd"
- },
- "revolving_hearts": {
- "category": "symbols",
- "moji": "💞",
- "description": "revolving hearts",
- "unicodeVersion": "6.0",
- "digest": "f6d44311823de89d93f7f0c0758e60a804491237b18b4b0bd20a9843570c9c04"
- },
- "rewind": {
- "category": "symbols",
- "moji": "⏪",
- "description": "black left-pointing double triangle",
- "unicodeVersion": "6.0",
- "digest": "12a3f494d633a469015ed63e737a4bf0fac43206bf4a55c4d0e0c588a81bdffc"
- },
- "rhino": {
- "category": "nature",
- "moji": "🦏",
- "description": "rhinoceros",
- "unicodeVersion": "9.0",
- "digest": "6b23d83c2b2cc252e5983b75840086971807c2ea5425f17753d049b5b7a5ebf7"
- },
- "ribbon": {
- "category": "objects",
- "moji": "🎀",
- "description": "ribbon",
- "unicodeVersion": "6.0",
- "digest": "498ca699cf15df0de221f962a03566a1944f9eab0cdd44353460d9198265f35c"
- },
- "rice": {
- "category": "food",
- "moji": "🍚",
- "description": "cooked rice",
- "unicodeVersion": "6.0",
- "digest": "ca2eb63d32044cf29435eec542dea6d2aad9eed4dcf4d12bb092a221c4e17eac"
- },
- "rice_ball": {
- "category": "food",
- "moji": "🍙",
- "description": "rice ball",
- "unicodeVersion": "6.0",
- "digest": "40e8af6fcac8dbc63e18809e12a00e41dc8cf75eba0c856f8c031c866e27099c"
- },
- "rice_cracker": {
- "category": "food",
- "moji": "🍘",
- "description": "rice cracker",
- "unicodeVersion": "6.0",
- "digest": "33d54212f8418a5148b4b7e7b38edc72e7f03c5cf54356cdc15319c56160a3f3"
- },
- "rice_scene": {
- "category": "travel",
- "moji": "🎑",
- "description": "moon viewing ceremony",
- "unicodeVersion": "6.0",
- "digest": "18b94e88b72cd2158d831d86f78c91d3ae44b279ec104b3606fd177a2ab1372f"
- },
- "right_facing_fist": {
- "category": "people",
- "moji": "🤜",
- "description": "right-facing fist",
- "unicodeVersion": "9.0",
- "digest": "d1abe6e551a7b336ed0c7234db5c5a653db975647ac603a320f05b1635378736"
- },
- "right_facing_fist_tone1": {
- "category": "people",
- "moji": "🤜🏻",
- "description": "right facing fist tone 1",
- "unicodeVersion": "9.0",
- "digest": "d281365007abb9150174089f9a1baa7033237f6e566aca72763e538861674a74"
- },
- "right_facing_fist_tone2": {
- "category": "people",
- "moji": "🤜🏼",
- "description": "right facing fist tone 2",
- "unicodeVersion": "9.0",
- "digest": "841c242354f94f30eea0e16ab3373d6c6d6d3e6a90ac20baf7765a08bf6e7f07"
- },
- "right_facing_fist_tone3": {
- "category": "people",
- "moji": "🤜🏽",
- "description": "right facing fist tone 3",
- "unicodeVersion": "9.0",
- "digest": "6843fe9b8f162bc43bff78c16555f9eadece02285ca7758818db5e8c4caf064b"
- },
- "right_facing_fist_tone4": {
- "category": "people",
- "moji": "🤜🏾",
- "description": "right facing fist tone 4",
- "unicodeVersion": "9.0",
- "digest": "af349e6f8b54e0124667e7a6cf01fb4eb48eb21653e8f6d0ddd22e8114dde797"
- },
- "right_facing_fist_tone5": {
- "category": "people",
- "moji": "🤜🏿",
- "description": "right facing fist tone 5",
- "unicodeVersion": "9.0",
- "digest": "efd40f38ab91c5ea8e66ba129d4aa2d5af2c35c5030182695cfe81d6e9123987"
- },
- "ring": {
- "category": "people",
- "moji": "💍",
- "description": "ring",
- "unicodeVersion": "6.0",
- "digest": "ec4386554d3b001d9b64cfa534094b67844b55bcbec118146c5d238079107f6f"
- },
- "robot": {
- "category": "people",
- "moji": "🤖",
- "description": "robot face",
- "unicodeVersion": "8.0",
- "digest": "363bacd1c9c3bb115d4fe363ac212fc0a81270c057aaf432ab866581b976e38d"
- },
- "rocket": {
- "category": "travel",
- "moji": "🚀",
- "description": "rocket",
- "unicodeVersion": "6.0",
- "digest": "136f56b7d54596e10ba226a05a8f4628eba967d8fc90d55c115bdf4366d102d8"
- },
- "rofl": {
- "category": "people",
- "moji": "🤣",
- "description": "rolling on the floor laughing",
- "unicodeVersion": "9.0",
- "digest": "1a997e5e1a86c52ced7f4685ad6eb6ce93d50aef0b4cde72f143dd75e5139b43"
- },
- "roller_coaster": {
- "category": "travel",
- "moji": "🎢",
- "description": "roller coaster",
- "unicodeVersion": "6.0",
- "digest": "5c4c5d8639d4bbeab07bc46304e5233a95f379fad92e395d087afe5af00529fc"
- },
- "rolling_eyes": {
- "category": "people",
- "moji": "🙄",
- "description": "face with rolling eyes",
- "unicodeVersion": "8.0",
- "digest": "a5fec5606c1cd4b295fe69c261326c848e246622c02ca6cda9f2c5a5bf0aed98"
- },
- "rooster": {
- "category": "nature",
- "moji": "🐓",
- "description": "rooster",
- "unicodeVersion": "6.0",
- "digest": "8ebd22e8776d16c6557f777a731871e93a20b8b828b718f57267033f13a5e50b"
- },
- "rose": {
- "category": "nature",
- "moji": "🌹",
- "description": "rose",
- "unicodeVersion": "6.0",
- "digest": "a86cff9a79b2296c8c2c39dbeb7bd9e42edf2e5af402ae5dfb63a3bf910083cd"
- },
- "rosette": {
- "category": "activity",
- "moji": "🏵",
- "description": "rosette",
- "unicodeVersion": "7.0",
- "digest": "b5d6fac78383056f66f48e9576f3e8e1f38c473330f44382e0f2a13bb0b6cf89"
- },
- "rotating_light": {
- "category": "travel",
- "moji": "🚨",
- "description": "police cars revolving light",
- "unicodeVersion": "6.0",
- "digest": "353edbbfb893497b28d753273a11eb94ae67136365dae826ad5c7ac5a37b0d08"
- },
- "round_pushpin": {
- "category": "objects",
- "moji": "📍",
- "description": "round pushpin",
- "unicodeVersion": "6.0",
- "digest": "c79c44a8563cd0777ce2f26d1dea54b283d76d4309eccfe048ba3b2ea8a9645b"
- },
- "rowboat": {
- "category": "activity",
- "moji": "🚣",
- "description": "rowboat",
- "unicodeVersion": "6.0",
- "digest": "a0a0b5f15fffb7be60e7467c2a0a368b34a8f9d47af65ead06881bad9e0bd8c2"
- },
- "rowboat_tone1": {
- "category": "activity",
- "moji": "🚣🏻",
- "description": "rowboat tone 1",
- "unicodeVersion": "8.0",
- "digest": "2f6403643528646b73013979e3564e54a9a529782f019a44a956ff275b2017c0"
- },
- "rowboat_tone2": {
- "category": "activity",
- "moji": "🚣🏼",
- "description": "rowboat tone 2",
- "unicodeVersion": "8.0",
- "digest": "cd925816e16fce63bca0dbd0fc2832fd69ff98a9ee7836ddbc939f3bd9b5a189"
- },
- "rowboat_tone3": {
- "category": "activity",
- "moji": "🚣🏽",
- "description": "rowboat tone 3",
- "unicodeVersion": "8.0",
- "digest": "09cee7c79709dfdb07e98b585617a068dd624713a02d0f5c21fd7b09a5695baf"
- },
- "rowboat_tone4": {
- "category": "activity",
- "moji": "🚣🏾",
- "description": "rowboat tone 4",
- "unicodeVersion": "8.0",
- "digest": "12408bd1b720f2799c46fb22d91c9d62fe5fe4f0f2449e2eff921d7f392ab22f"
- },
- "rowboat_tone5": {
- "category": "activity",
- "moji": "🚣🏿",
- "description": "rowboat tone 5",
- "unicodeVersion": "8.0",
- "digest": "cb64137080640be1bcb7e577e0984bc5cf5dd524e60e229c09003191c4ca1680"
- },
- "rugby_football": {
- "category": "activity",
- "moji": "🏉",
- "description": "rugby football",
- "unicodeVersion": "6.0",
- "digest": "db852921f30f88e9604440a5d7f8ce513c3001293a1ffbc35c66c45fee1159c4"
- },
- "runner": {
- "category": "people",
- "moji": "🏃",
- "description": "runner",
- "unicodeVersion": "6.0",
- "digest": "6a87e5a783e98a571bdbe4d983b0cce46c0b337707a99a8bea7dcc5a5d78c46e"
- },
- "runner_tone1": {
- "category": "people",
- "moji": "🏃🏻",
- "description": "runner tone 1",
- "unicodeVersion": "8.0",
- "digest": "788912454e5a001a96cfbbf7ae07d22c7d53bd0a0a333add62bd38f50f890202"
- },
- "runner_tone2": {
- "category": "people",
- "moji": "🏃🏼",
- "description": "runner tone 2",
- "unicodeVersion": "8.0",
- "digest": "0e0c0509fe054b31b82629bb97d410d56154143e0612af9ced7f754bc16876b8"
- },
- "runner_tone3": {
- "category": "people",
- "moji": "🏃🏽",
- "description": "runner tone 3",
- "unicodeVersion": "8.0",
- "digest": "33b6233182bec5958325115fc8b238913773b03fe616ceb465152c75a83aa3bd"
- },
- "runner_tone4": {
- "category": "people",
- "moji": "🏃🏾",
- "description": "runner tone 4",
- "unicodeVersion": "8.0",
- "digest": "d14b09b58e47a80781df8f7d6687be75f2bc22f312b96129109166c1535e6001"
- },
- "runner_tone5": {
- "category": "people",
- "moji": "🏃🏿",
- "description": "runner tone 5",
- "unicodeVersion": "8.0",
- "digest": "a816106153bf16d304e766386d3ad641fc931faa302d998fc2bd3e3334de5d7f"
- },
- "running_shirt_with_sash": {
- "category": "activity",
- "moji": "🎽",
- "description": "running shirt with sash",
- "unicodeVersion": "6.0",
- "digest": "a5f5ff9bf3e3eab82f370c9b81dc2bce186bb0a667dee54a2066d42f04d97eb4"
- },
- "sa": {
- "category": "symbols",
- "moji": "🈂",
- "description": "squared katakana sa",
- "unicodeVersion": "6.0",
- "digest": "58e18447fd35e85c8a7c45eab01da1e2d6ff67d933e0ea9d5875a5e83273e733"
- },
- "sagittarius": {
- "category": "symbols",
- "moji": "♐",
- "description": "sagittarius",
- "unicodeVersion": "1.1",
- "digest": "23c2aa3cbb29c0fb6c443d8d388e41454b4da2aae8f239c4572ecf0e9d580276"
- },
- "sailboat": {
- "category": "travel",
- "moji": "⛵",
- "description": "sailboat",
- "unicodeVersion": "5.2",
- "digest": "252e917b1bc71019256db272af716e77bbe5839e4e5b77416ee566657ec3ffaf"
- },
- "sake": {
- "category": "food",
- "moji": "🍶",
- "description": "sake bottle and cup",
- "unicodeVersion": "6.0",
- "digest": "bd09899bee1411e26464b5f0d86d69a3f57cfd6e3f557f0f87fcb61bd2fc51ba"
- },
- "salad": {
- "category": "food",
- "moji": "🥗",
- "description": "green salad",
- "unicodeVersion": "9.0",
- "digest": "2498d846c9ae599cd1fac3c74e87f595e1938df6b9a0eeb001c7f19ca0c7477d"
- },
- "sandal": {
- "category": "people",
- "moji": "👡",
- "description": "womans sandal",
- "unicodeVersion": "6.0",
- "digest": "9737db7518eaf91a7294503c471ba0b015260677ca842988ef3764d30a0d402b"
- },
- "santa": {
- "category": "people",
- "moji": "🎅",
- "description": "father christmas",
- "unicodeVersion": "6.0",
- "digest": "bc9f3a14f824d9299d2132822c6341c4e87f53ed0c5050c31b5b96d801bc5c3c"
- },
- "santa_tone1": {
- "category": "people",
- "moji": "🎅🏻",
- "description": "father christmas tone 1",
- "unicodeVersion": "8.0",
- "digest": "7e527394c52da94c740197b0d05d15d7c5ee113dce7a7800ec617bd3a3fa297f"
- },
- "santa_tone2": {
- "category": "people",
- "moji": "🎅🏼",
- "description": "father christmas tone 2",
- "unicodeVersion": "8.0",
- "digest": "26c649ec3f466952dbb6d3234ad3254c735259c83bfbbf96c68d0203ed5744e1"
- },
- "santa_tone3": {
- "category": "people",
- "moji": "🎅🏽",
- "description": "father christmas tone 3",
- "unicodeVersion": "8.0",
- "digest": "d8e656829487c0808af4efb095e55cbc8a9b18576572ebd61dbac422119a1a01"
- },
- "santa_tone4": {
- "category": "people",
- "moji": "🎅🏾",
- "description": "father christmas tone 4",
- "unicodeVersion": "8.0",
- "digest": "e12990b6edb39eea5f8bcd0f3c4d0f404cd47beb8fe180066455f833e7b99cf8"
- },
- "santa_tone5": {
- "category": "people",
- "moji": "🎅🏿",
- "description": "father christmas tone 5",
- "unicodeVersion": "8.0",
- "digest": "0310b472690b6f3aac9fa4f611fa00c3d9d5d50edb94d08a676c77f28c0913da"
- },
- "satellite": {
- "category": "objects",
- "moji": "📡",
- "description": "satellite antenna",
- "unicodeVersion": "6.0",
- "digest": "84aa893218e8cc97a0f8b74d2d34c0b05a62d8eef47d5f0fede8ee956b222acd"
- },
- "satellite_orbital": {
- "category": "travel",
- "moji": "🛰",
- "description": "satellite",
- "unicodeVersion": "7.0",
- "digest": "f80a557315729acf11186808c9bf031570a12f34c8da29e6f4506d732609d541"
- },
- "saxophone": {
- "category": "activity",
- "moji": "🎷",
- "description": "saxophone",
- "unicodeVersion": "6.0",
- "digest": "e49b31381a32c4ddf5b47b631e3c260bc62c793084b3cf026af5bea3105b6e0e"
- },
- "scales": {
- "category": "objects",
- "moji": "⚖",
- "description": "scales",
- "unicodeVersion": "4.1",
- "digest": "2d0fcd2d6d6fe368d142ce7cd1ba78d9fc802131d84e0097d89e49041a9342e8"
- },
- "school": {
- "category": "travel",
- "moji": "🏫",
- "description": "school",
- "unicodeVersion": "6.0",
- "digest": "d6cf41776c0b3c6e3a20d672b85ef91a65085dc7ee40aa4b0c94b0683f3ab2b4"
- },
- "school_satchel": {
- "category": "people",
- "moji": "🎒",
- "description": "school satchel",
- "unicodeVersion": "6.0",
- "digest": "500fdb662493897890ad00c67200190fc2b48a5629231994d7bf43a5a9897e6d"
- },
- "scissors": {
- "category": "objects",
- "moji": "✂",
- "description": "black scissors",
- "unicodeVersion": "1.1",
- "digest": "295ce7c48d3f8e58daa454f18d534146bfaf98d46614e2783535927f23d22215"
- },
- "scooter": {
- "category": "travel",
- "moji": "🛴",
- "description": "scooter",
- "unicodeVersion": "9.0",
- "digest": "baa3060602995716fba048ed2be1559712abc6edc3d8822b4ae6c0fe185197e4"
- },
- "scorpion": {
- "category": "nature",
- "moji": "🦂",
- "description": "scorpion",
- "unicodeVersion": "8.0",
- "digest": "2e97ed412be63a4eaefd4205d13e5d4957389ce7497c4c79e00e9729bdb39e0c"
- },
- "scorpius": {
- "category": "symbols",
- "moji": "♏",
- "description": "scorpius",
- "unicodeVersion": "1.1",
- "digest": "32550597084a3b17fdab6bc4f56513a5952581ad07e79fb56abe05d6665a86af"
- },
- "scream": {
- "category": "people",
- "moji": "😱",
- "description": "face screaming in fear",
- "unicodeVersion": "6.0",
- "digest": "3403d66a449c643d1dbc3029d11bf9a9edfd503b5594b524517356a8eeef296e"
- },
- "scream_cat": {
- "category": "people",
- "moji": "🙀",
- "description": "weary cat face",
- "unicodeVersion": "6.0",
- "digest": "e4d277a511c2e1edc5873579e78a94320133ff730502c1ebf36272e4a2e5c598"
- },
- "scroll": {
- "category": "objects",
- "moji": "📜",
- "description": "scroll",
- "unicodeVersion": "6.0",
- "digest": "abdb7024b5f50b04389b1a65e5cb5a3b7929f4e9c5719388684603210774b3c1"
- },
- "seat": {
- "category": "travel",
- "moji": "💺",
- "description": "seat",
- "unicodeVersion": "6.0",
- "digest": "ef4b820995bafb53c28877312060b1b6ef1d2e5d65268f9942ac3567914ef2da"
- },
- "second_place": {
- "category": "activity",
- "moji": "🥈",
- "description": "second place medal",
- "unicodeVersion": "9.0",
- "digest": "9c9a125c7085e8ab5b89cbd10d9458eac835330dbb78737e8cf979a39c2ae5fd"
- },
- "secret": {
- "category": "symbols",
- "moji": "㊙",
- "description": "circled ideograph secret",
- "unicodeVersion": "1.1",
- "digest": "a67c62b033cebaec448c90f0f98960058fd020fe523dbd315e6b60966fb89da7"
- },
- "see_no_evil": {
- "category": "nature",
- "moji": "🙈",
- "description": "see-no-evil monkey",
- "unicodeVersion": "6.0",
- "digest": "b5659d1f0ae7dc35ba729bee05ef351dbf8fe299b768937a1e271c19ac1dd9a9"
- },
- "seedling": {
- "category": "nature",
- "moji": "🌱",
- "description": "seedling",
- "unicodeVersion": "6.0",
- "digest": "4227f4780193ccd7d807c0e6d18b42cbaa247554708efbf64dbd3b7c6919a466"
- },
- "selfie": {
- "category": "people",
- "moji": "🤳",
- "description": "selfie",
- "unicodeVersion": "9.0",
- "digest": "4914fbc5b8a0838d275c286b7a3626c9353e233ef75f2b1f600a647ff56a7ff4"
- },
- "selfie_tone1": {
- "category": "people",
- "moji": "🤳🏻",
- "description": "selfie tone 1",
- "unicodeVersion": "9.0",
- "digest": "0e9e3090566876f49dc5a03321e190dce2737a5c8547b07f0244056d59623182"
- },
- "selfie_tone2": {
- "category": "people",
- "moji": "🤳🏼",
- "description": "selfie tone 2",
- "unicodeVersion": "9.0",
- "digest": "5d2c271f2cf39d3ffacf1192b1804edef0849a2ad8f0e81e493a752960de97ed"
- },
- "selfie_tone3": {
- "category": "people",
- "moji": "🤳🏽",
- "description": "selfie tone 3",
- "unicodeVersion": "9.0",
- "digest": "41670b6b45ab178205692a6bca8816e79f99ed7bbab1754b99bcf973ff178e30"
- },
- "selfie_tone4": {
- "category": "people",
- "moji": "🤳🏾",
- "description": "selfie tone 4",
- "unicodeVersion": "9.0",
- "digest": "4b1c5145f0e454aed5c37b3dd3bef07dfa3576880997e6bd552871de474867ec"
- },
- "selfie_tone5": {
- "category": "people",
- "moji": "🤳🏿",
- "description": "selfie tone 5",
- "unicodeVersion": "9.0",
- "digest": "bbe0db1f762ad830a38a6ff85e36565c0ef446c22b8ab25054d6b266f1b8421d"
- },
- "seven": {
- "category": "symbols",
- "moji": "7️⃣",
- "description": "keycap digit seven",
- "unicodeVersion": "3.0",
- "digest": "e9c95466693be79dff2e1d8eadddfc75967e6f7f641a21efcabccf173a8224c7"
- },
- "shallow_pan_of_food": {
- "category": "food",
- "moji": "🥘",
- "description": "shallow pan of food",
- "unicodeVersion": "9.0",
- "digest": "1c90318cf2f78c965a0e4dfc710781e5da862874fa8e29f010231e5dc5657976"
- },
- "shamrock": {
- "category": "nature",
- "moji": "☘",
- "description": "shamrock",
- "unicodeVersion": "4.1",
- "digest": "cb9408a7b1884bfca8fe7cd2ea93440a49a44b226298325a3f138f6e772f5d64"
- },
- "shark": {
- "category": "nature",
- "moji": "🦈",
- "description": "shark",
- "unicodeVersion": "9.0",
- "digest": "552b7265f53c435c860583c2aaee8acec5f854fa2092f6e8be74d89f9f3132da"
- },
- "shaved_ice": {
- "category": "food",
- "moji": "🍧",
- "description": "shaved ice",
- "unicodeVersion": "6.0",
- "digest": "5f3f65f3974f30d1c9557d2c4af3052c7548f534b854f964647cafc2b4ab73a8"
- },
- "sheep": {
- "category": "nature",
- "moji": "🐑",
- "description": "sheep",
- "unicodeVersion": "6.0",
- "digest": "7bd6d2af15a7d13587b9521d80668d5db70c67188df59a33921e78edbf40e42e"
- },
- "shell": {
- "category": "nature",
- "moji": "🐚",
- "description": "spiral shell",
- "unicodeVersion": "6.0",
- "digest": "4d30626d66ac2921fb7a81761841923b855e363c4198eea67c76d86c696cc805"
- },
- "shield": {
- "category": "objects",
- "moji": "🛡",
- "description": "shield",
- "unicodeVersion": "7.0",
- "digest": "ce3512d081c31c26df95a8f791aa413db09d25e8fba29a1e9f6a2470d6cb3430"
- },
- "shinto_shrine": {
- "category": "travel",
- "moji": "⛩",
- "description": "shinto shrine",
- "unicodeVersion": "5.2",
- "digest": "e3027766f283d86acb7f0730dd04cbda16bb6fa16c90edb40dad7f09f1bca3fe"
- },
- "ship": {
- "category": "travel",
- "moji": "🚢",
- "description": "ship",
- "unicodeVersion": "6.0",
- "digest": "9d0c13fcfcefd0a07424396626cc955e0b5e6cdf8b6d7d3ae1c1f746826af89b"
- },
- "shirt": {
- "category": "people",
- "moji": "👕",
- "description": "t-shirt",
- "unicodeVersion": "6.0",
- "digest": "a165e8bd82e5ef701aafaabcfac6946af3a0c10c22d4c84010103ecf8d74e424"
- },
- "shopping_bags": {
- "category": "objects",
- "moji": "🛍",
- "description": "shopping bags",
- "unicodeVersion": "7.0",
- "digest": "1a6df85fd8117c2c9361c7524a43613a80d6c6d65a1940f2320cbc7d451ebf6f"
- },
- "shopping_cart": {
- "category": "objects",
- "moji": "🛒",
- "description": "shopping trolley",
- "unicodeVersion": "9.0",
- "digest": "cc32f38d94856b58620bd817fe40641c937ceacdc6b3c7e9ed4350c8926f128f"
- },
- "shower": {
- "category": "objects",
- "moji": "🚿",
- "description": "shower",
- "unicodeVersion": "6.0",
- "digest": "dc732f36a76bbd98ccc3ec886bb697fe8b0e799bc063abc1d5aaa9da4adb655a"
- },
- "shrimp": {
- "category": "nature",
- "moji": "🦐",
- "description": "shrimp",
- "unicodeVersion": "9.0",
- "digest": "fd240e3208f6221cf6e7053645d40767898ea430733e0ebc5b81a8f834be2eb1"
- },
- "shrug": {
- "category": "people",
- "moji": "🤷",
- "description": "shrug",
- "unicodeVersion": "9.0",
- "digest": "1203afd3973f34c726c8e8ca66b76c2f1e7036a45d595d6f4cfd104c00d76d63"
- },
- "shrug_tone1": {
- "category": "people",
- "moji": "🤷🏻",
- "description": "shrug tone 1",
- "unicodeVersion": "9.0",
- "digest": "fb6eb588f019cf7a25bac347cb2b5c124f9d333314d040daef8b70ed1de5032d"
- },
- "shrug_tone2": {
- "category": "people",
- "moji": "🤷🏼",
- "description": "shrug tone 2",
- "unicodeVersion": "9.0",
- "digest": "a3b64ffa33f602adae12924b5576b6ed1f4bebbcf2db4952ec846b9778aadeaa"
- },
- "shrug_tone3": {
- "category": "people",
- "moji": "🤷🏽",
- "description": "shrug tone 3",
- "unicodeVersion": "9.0",
- "digest": "e7148fbdb7194182d5f3c66e9a1e7a9e5a8c4d88ceab38f5d0ecd40bc231f6b8"
- },
- "shrug_tone4": {
- "category": "people",
- "moji": "🤷🏾",
- "description": "shrug tone 4",
- "unicodeVersion": "9.0",
- "digest": "8977c5afbde154d944f965ff7f10d26167ea427b8b191a6ec8708c6517168334"
- },
- "shrug_tone5": {
- "category": "people",
- "moji": "🤷🏿",
- "description": "shrug tone 5",
- "unicodeVersion": "9.0",
- "digest": "3968a312496e479a86b63274f529c2b283d180118c04edf3c6b6ea5f812c05bb"
- },
- "signal_strength": {
- "category": "symbols",
- "moji": "📶",
- "description": "antenna with bars",
- "unicodeVersion": "6.0",
- "digest": "eabf6d0cae69aea6027f1dede7df1ac51fc09d85af8a4ae9b1df1fcb8ee4a0f0"
- },
- "six": {
- "category": "symbols",
- "moji": "6️⃣",
- "description": "keycap digit six",
- "unicodeVersion": "3.0",
- "digest": "f455fcc89917bf67c1ac4245399146912578582cdff0e1e8bc216a4c4b7c43a0"
- },
- "six_pointed_star": {
- "category": "symbols",
- "moji": "🔯",
- "description": "six pointed star with middle dot",
- "unicodeVersion": "6.0",
- "digest": "1ee9c385a74dc6954e37727615d99209a61627562c8675d4354262b2c421418f"
- },
- "ski": {
- "category": "activity",
- "moji": "🎿",
- "description": "ski and ski boot",
- "unicodeVersion": "6.0",
- "digest": "973ff4abd90a020e2c608c32ab88324e1a11ca7a4541e436f37c5d858681eba6"
- },
- "skier": {
- "category": "activity",
- "moji": "⛷",
- "description": "skier",
- "unicodeVersion": "5.2",
- "digest": "7a490189499bc88ed15fe945813665ba3114edc039d25eb003026d27c84b5f78"
- },
- "skull": {
- "category": "people",
- "moji": "💀",
- "description": "skull",
- "unicodeVersion": "6.0",
- "digest": "ccf317cd63caa24cd1a008dd26cda83d6487a0a7fca71843e42715cd8cbaafc9"
- },
- "skull_crossbones": {
- "category": "objects",
- "moji": "☠",
- "description": "skull and crossbones",
- "unicodeVersion": "1.1",
- "digest": "81f050043fc49fb83d5e87753337f77fb2acd599e53432212de42ec58345d567"
- },
- "sleeping": {
- "category": "people",
- "moji": "😴",
- "description": "sleeping face",
- "unicodeVersion": "6.1",
- "digest": "061017b6fea9012cdfc7f90ab5dbf18a55830743fdd062f1ea0a085f52e0a564"
- },
- "sleeping_accommodation": {
- "category": "objects",
- "moji": "🛌",
- "description": "sleeping accommodation",
- "unicodeVersion": "7.0",
- "digest": "18ea38c6da5ac6f86c56b546c78ba60bca1aca9eba397b9500d91e8533e81823"
- },
- "sleepy": {
- "category": "people",
- "moji": "😪",
- "description": "sleepy face",
- "unicodeVersion": "6.0",
- "digest": "afc0c40fb97bd1fe79e828f76f03aa08beeed09b42e307b5053758d9889fcc01"
- },
- "slight_frown": {
- "category": "people",
- "moji": "🙁",
- "description": "slightly frowning face",
- "unicodeVersion": "7.0",
- "digest": "2bccd273d6445ddf54366b9aa565370af3110b7722cb9a85e76534c729b397b8"
- },
- "slight_smile": {
- "category": "people",
- "moji": "🙂",
- "description": "slightly smiling face",
- "unicodeVersion": "7.0",
- "digest": "04feb9e847c67936ddd0e40d6dd6c90333abc9bfbd81fae7fef9bd1e5265ba9e"
- },
- "slot_machine": {
- "category": "activity",
- "moji": "🎰",
- "description": "slot machine",
- "unicodeVersion": "6.0",
- "digest": "c057d62fa2bca301d20f6103606873b82d0136711f4d922eb05ab29d3179ecfe"
- },
- "small_blue_diamond": {
- "category": "symbols",
- "moji": "🔹",
- "description": "small blue diamond",
- "unicodeVersion": "6.0",
- "digest": "22016e16c1e769099e972a93eaed9fd4131867020c0d6669aeb323d414ef1f93"
- },
- "small_orange_diamond": {
- "category": "symbols",
- "moji": "🔸",
- "description": "small orange diamond",
- "unicodeVersion": "6.0",
- "digest": "7de47af62764c8136415214e7eb7b8e985ec600b79991c0ba44b96824350eeef"
- },
- "small_red_triangle": {
- "category": "symbols",
- "moji": "🔺",
- "description": "up-pointing red triangle",
- "unicodeVersion": "6.0",
- "digest": "521e2b28387cd5d13d17c5dedf6b944c0139f36bc6136e5bcca5b59ee1a59823"
- },
- "small_red_triangle_down": {
- "category": "symbols",
- "moji": "🔻",
- "description": "down-pointing red triangle",
- "unicodeVersion": "6.0",
- "digest": "cfbea3a1506cd1f26aa11603421d2137c3a847f4dc1d0728c16901e0e4195adc"
- },
- "smile": {
- "category": "people",
- "moji": "😄",
- "description": "smiling face with open mouth and smiling eyes",
- "unicodeVersion": "6.0",
- "digest": "fb06bf4088887ca1aadbc0201b63d75f3d2b5b5779bd81f1767f17e794b0c0a7"
- },
- "smile_cat": {
- "category": "people",
- "moji": "😸",
- "description": "grinning cat face with smiling eyes",
- "unicodeVersion": "6.0",
- "digest": "5882f8784080c11ae3b95bccb4ecf00dacd127047ff76d3b4158fbba0ddb1f14"
- },
- "smiley": {
- "category": "people",
- "moji": "😃",
- "description": "smiling face with open mouth",
- "unicodeVersion": "6.0",
- "digest": "9b0f2fca8ba5bb1b3de39686302f2f9ef7e1c93d4af47c71828931f874bd4db1"
- },
- "smiley_cat": {
- "category": "people",
- "moji": "😺",
- "description": "smiling cat face with open mouth",
- "unicodeVersion": "6.0",
- "digest": "eb6c8fa3e46a9ea9c0e79b3db5578299ea041792ae46c54c50799e5c3970c372"
- },
- "smiling_imp": {
- "category": "people",
- "moji": "😈",
- "description": "smiling face with horns",
- "unicodeVersion": "6.0",
- "digest": "7609669c056339bec4dc916c3b0fb56d4adc55d37b8c3e0fb078af59594500d9"
- },
- "smirk": {
- "category": "people",
- "moji": "😏",
- "description": "smirking face",
- "unicodeVersion": "6.0",
- "digest": "e02911a76fe7c40dde28998741f201789b7ab5c6be6e5168e4eddbd9886ef790"
- },
- "smirk_cat": {
- "category": "people",
- "moji": "😼",
- "description": "cat face with wry smile",
- "unicodeVersion": "6.0",
- "digest": "8aed1a44a0b0673c1f62cf9f77d89239725258b7b3b482b66b5d39c6306b601a"
- },
- "smoking": {
- "category": "objects",
- "moji": "🚬",
- "description": "smoking symbol",
- "unicodeVersion": "6.0",
- "digest": "3fa148109d83f785ad90999c0d362fb9d6aadd38986f7d483fd0f70ecb5b0447"
- },
- "snail": {
- "category": "nature",
- "moji": "🐌",
- "description": "snail",
- "unicodeVersion": "6.0",
- "digest": "4244f824afbbf8f60e41654f35596395a9a45715a3f229e351aaea6dab361e02"
- },
- "snake": {
- "category": "nature",
- "moji": "🐍",
- "description": "snake",
- "unicodeVersion": "6.0",
- "digest": "1b28000702a5b3b294b22c5bd1ad8c203937712fb30dc1cb12f63fc6244e38e6"
- },
- "sneezing_face": {
- "category": "people",
- "moji": "🤧",
- "description": "sneezing face",
- "unicodeVersion": "9.0",
- "digest": "fa08b2714d529efb670662a65b19201333217d31152a1e4c48b3ee7ab4398eb5"
- },
- "snowboarder": {
- "category": "activity",
- "moji": "🏂",
- "description": "snowboarder",
- "unicodeVersion": "6.0",
- "digest": "b2acc118ae84560f980a44a95af7c2de8e57c2c95ff69ef9c25c9e5d535306b8"
- },
- "snowflake": {
- "category": "nature",
- "moji": "❄",
- "description": "snowflake",
- "unicodeVersion": "1.1",
- "digest": "256f84d43855ee7699d7bfa2e3bb4cf71ec61ee9cc83a1ffb2973393cc43a5fa"
- },
- "snowman": {
- "category": "nature",
- "moji": "⛄",
- "description": "snowman without snow",
- "unicodeVersion": "5.2",
- "digest": "c0908d9bc9b9fabff1e5eb18c6db07e981a4b9d886c7babbe2ce109e244f8182"
- },
- "snowman2": {
- "category": "nature",
- "moji": "☃",
- "description": "snowman",
- "unicodeVersion": "1.1",
- "digest": "ce7bc1b374999e94c2f4a08f77ed979ccb6ee86ec9a6c1b8f4a93680080a25a7"
- },
- "sob": {
- "category": "people",
- "moji": "😭",
- "description": "loudly crying face",
- "unicodeVersion": "6.0",
- "digest": "2bd275f629a26cb40ce648eff68155a5625e944ed724b8a6d2890a80a099503a"
- },
- "soccer": {
- "category": "activity",
- "moji": "⚽",
- "description": "soccer ball",
- "unicodeVersion": "5.2",
- "digest": "1807b8f9e9b0a3cbf390a582f52d2ec4dad7a19008d9d0215ae6cded7b6dd691"
- },
- "soon": {
- "category": "symbols",
- "moji": "🔜",
- "description": "soon with rightwards arrow above",
- "unicodeVersion": "6.0",
- "digest": "6325b67539559992fc3d1ed23f2dc20ee95b3052b93a674f82ed53dc2e199270"
- },
- "sos": {
- "category": "symbols",
- "moji": "🆘",
- "description": "squared sos",
- "unicodeVersion": "6.0",
- "digest": "13dcfd9239e12ebdb00b2e3b632e26fa1160ed645226f21b6cef5a7f3a9690fe"
- },
- "sound": {
- "category": "symbols",
- "moji": "🔉",
- "description": "speaker with one sound wave",
- "unicodeVersion": "6.0",
- "digest": "c1e588da701bb5e139cfb4c8e068b8785d4ac08afc255792d28b06c7e0e565a9"
- },
- "space_invader": {
- "category": "activity",
- "moji": "👾",
- "description": "alien monster",
- "unicodeVersion": "6.0",
- "digest": "84897a48330cb0ae9ac42111cfaa0e0baefb5c314cb49d1eae77c7ace3a7ab25"
- },
- "spades": {
- "category": "symbols",
- "moji": "♠",
- "description": "black spade suit",
- "unicodeVersion": "1.1",
- "digest": "4581ce17d9b2a29ba4cc38794d7869e12cd1ceda5861e67b2d09130730ccc378"
- },
- "spaghetti": {
- "category": "food",
- "moji": "🍝",
- "description": "spaghetti",
- "unicodeVersion": "6.0",
- "digest": "b2de3171e90345dc777aa7554d97d6de659f4a9928b7da6a871e3925e234484c"
- },
- "sparkle": {
- "category": "symbols",
- "moji": "❇",
- "description": "sparkle",
- "unicodeVersion": "1.1",
- "digest": "8aab76f3a4f25b2e583fe675546e400e96417bc99e1c7ed08007d3afaaffc9a1"
- },
- "sparkler": {
- "category": "travel",
- "moji": "🎇",
- "description": "firework sparkler",
- "unicodeVersion": "6.0",
- "digest": "d603ef03cdc4ec05338005c357c3a41215f180545f422fea5b40b766ecfe6d1f"
- },
- "sparkles": {
- "category": "nature",
- "moji": "✨",
- "description": "sparkles",
- "unicodeVersion": "6.0",
- "digest": "8f68cb167489b1055a8acedaf8ea4c0553d0a5f7bf0983fc3660537ff09a5360"
- },
- "sparkling_heart": {
- "category": "symbols",
- "moji": "💖",
- "description": "sparkling heart",
- "unicodeVersion": "6.0",
- "digest": "cc017b631dae27a01e15faa5f7d24c35983a4a2d928c23e9449b1b183636cb05"
- },
- "speak_no_evil": {
- "category": "nature",
- "moji": "🙊",
- "description": "speak-no-evil monkey",
- "unicodeVersion": "6.0",
- "digest": "7cb1d4a61d2947bb0624a57a7355089f751d576c3bf26b61e3a2f1c413b4c293"
- },
- "speaker": {
- "category": "symbols",
- "moji": "🔈",
- "description": "speaker",
- "unicodeVersion": "6.0",
- "digest": "f83fd9518675bb83fa037a49d762f774eccea08f2a981dc85c37c46a6621cd6d"
- },
- "speaking_head": {
- "category": "people",
- "moji": "🗣",
- "description": "speaking head in silhouette",
- "unicodeVersion": "7.0",
- "digest": "d6e536f54711d04899135d966b9ba64286e58b05879c90855e49e5c64fca7567"
- },
- "speech_balloon": {
- "category": "symbols",
- "moji": "💬",
- "description": "speech balloon",
- "unicodeVersion": "6.0",
- "digest": "8a0b9329452cb5b6d529bb5a5a56656eceaba92177f566e3748d7910588a938b"
- },
- "speech_left": {
- "category": "symbols",
- "moji": "🗨",
- "description": "left speech bubble",
- "unicodeVersion": "7.0",
- "digest": "45487904f8cbf1a1de421f85fbdd212e0a7e51d8540d9f99b65a1aea187477b5"
- },
- "speedboat": {
- "category": "travel",
- "moji": "🚤",
- "description": "speedboat",
- "unicodeVersion": "6.0",
- "digest": "54ce5a81c70e2f1e57a8d0f90829db96d146d84911462b8412e1cb6ee62ddf22"
- },
- "spider": {
- "category": "nature",
- "moji": "🕷",
- "description": "spider",
- "unicodeVersion": "7.0",
- "digest": "204672675b8f272185eb58517e6cac6e9398a9c27279b8bb0da97330d35da094"
- },
- "spider_web": {
- "category": "nature",
- "moji": "🕸",
- "description": "spider web",
- "unicodeVersion": "7.0",
- "digest": "82a223ba2c1dc71ac0945544a16a2f607a679c5727cd86070b537bec6e1fdcb1"
- },
- "spoon": {
- "category": "food",
- "moji": "🥄",
- "description": "spoon",
- "unicodeVersion": "9.0",
- "digest": "c5fbd1bd2ca6ca2cf13a6b7bfaeba67305d21b2d86bba97e7d283ca1e9b1aacf"
- },
- "spy": {
- "category": "people",
- "moji": "🕵",
- "description": "sleuth or spy",
- "unicodeVersion": "7.0",
- "digest": "af9ec39cb9ec28b9b3917628187b28899f8f778b593ce722c59575af6a8cff75"
- },
- "spy_tone1": {
- "category": "people",
- "moji": "🕵🏻",
- "description": "sleuth or spy tone 1",
- "unicodeVersion": "8.0",
- "digest": "26134ab9a163d03fde9a4ce7e77ba06acfd6a385d6534bd94cbd0430fdb56054"
- },
- "spy_tone2": {
- "category": "people",
- "moji": "🕵🏼",
- "description": "sleuth or spy tone 2",
- "unicodeVersion": "8.0",
- "digest": "6f0d3ae8b0980c4586aaacdc8df8ed5815fe5f1fe18be566316cb0f21b1beeba"
- },
- "spy_tone3": {
- "category": "people",
- "moji": "🕵🏽",
- "description": "sleuth or spy tone 3",
- "unicodeVersion": "8.0",
- "digest": "154818ede71c0b8ae5cdf621efe9560e419f62f67ad03049c29cf505bd160bbc"
- },
- "spy_tone4": {
- "category": "people",
- "moji": "🕵🏾",
- "description": "sleuth or spy tone 4",
- "unicodeVersion": "8.0",
- "digest": "2ff959799064e9e47c9e1698357b04cc0fd1343bfc8b1be0d20fe49852b05f32"
- },
- "spy_tone5": {
- "category": "people",
- "moji": "🕵🏿",
- "description": "sleuth or spy tone 5",
- "unicodeVersion": "8.0",
- "digest": "6046a8031fd6d410380d41f2a7cd658d9aec9b61a5759265a26ae1e2b9409096"
- },
- "squid": {
- "category": "nature",
- "moji": "🦑",
- "description": "squid",
- "unicodeVersion": "9.0",
- "digest": "f483430d758e7432b8696b5f95bf606b17cb017ea0beb5dc97dcf7fae7ed2455"
- },
- "stadium": {
- "category": "travel",
- "moji": "🏟",
- "description": "stadium",
- "unicodeVersion": "7.0",
- "digest": "807c4f6f19b9819ca3c846126ccfa2d24a2b00b66cb946e8be75536032426815"
- },
- "star": {
- "category": "nature",
- "moji": "⭐",
- "description": "white medium star",
- "unicodeVersion": "5.1",
- "digest": "3dc3b69f9789146c64cd333666f35ce1e1efdd4fe335f6b8574685015bf8bd09"
- },
- "star2": {
- "category": "nature",
- "moji": "🌟",
- "description": "glowing star",
- "unicodeVersion": "6.0",
- "digest": "c242d4e9c64d0ba3d8b5e3c83888ee4561c4250e48bd72f80d3264497a66ce77"
- },
- "star_and_crescent": {
- "category": "symbols",
- "moji": "☪",
- "description": "star and crescent",
- "unicodeVersion": "1.1",
- "digest": "550cf94a0efe6ef0211e51e2d84554bd789505c861a16efa79704f8ccda086b1"
- },
- "star_of_david": {
- "category": "symbols",
- "moji": "✡",
- "description": "star of david",
- "unicodeVersion": "1.1",
- "digest": "dbe79ef9f506a4f46368a8a5e9953579c97fc1bca97c1ddc7f2bcc76398f0149"
- },
- "stars": {
- "category": "travel",
- "moji": "🌠",
- "description": "shooting star",
- "unicodeVersion": "6.0",
- "digest": "46bfa86253fb531e4357590f5244a88c3713926d1f28349ca641705dc069265f"
- },
- "station": {
- "category": "travel",
- "moji": "🚉",
- "description": "station",
- "unicodeVersion": "6.0",
- "digest": "a4e784b6c4238269932befca55cd7b41af85fc899f023a49c7f1ceaf81652496"
- },
- "statue_of_liberty": {
- "category": "travel",
- "moji": "🗽",
- "description": "statue of liberty",
- "unicodeVersion": "6.0",
- "digest": "9779b56242c4eb3de2060b060ae39de21ad1082b1135ec9c29f9d1aca6bf13cb"
- },
- "steam_locomotive": {
- "category": "travel",
- "moji": "🚂",
- "description": "steam locomotive",
- "unicodeVersion": "6.0",
- "digest": "479aa4a2c2704d79f642036eef9c8ddf00f8df17b9389a87d7d5f688827c7f56"
- },
- "stew": {
- "category": "food",
- "moji": "🍲",
- "description": "pot of food",
- "unicodeVersion": "6.0",
- "digest": "0c9cdd4de27a6108da2567070dad1ab9220dc513dd8ec6543ad66dddb7c09bdc"
- },
- "stop_button": {
- "category": "symbols",
- "moji": "⏹",
- "description": "black square for stop",
- "unicodeVersion": "7.0",
- "digest": "ea16a3e7a6ffa4741509cc909944975dd24c4a0678a23cc03e02c3773e6bba92"
- },
- "stopwatch": {
- "category": "objects",
- "moji": "⏱",
- "description": "stopwatch",
- "unicodeVersion": "6.0",
- "digest": "162489af83ccc7e09349637fa9e23b97a22208b05ff6bfbd31271a50c3745ee9"
- },
- "straight_ruler": {
- "category": "objects",
- "moji": "📏",
- "description": "straight ruler",
- "unicodeVersion": "6.0",
- "digest": "ab8b04cfbb19178452fc5eb32eea3a619049b0d46ea21b4c48023e01c30b6510"
- },
- "strawberry": {
- "category": "food",
- "moji": "🍓",
- "description": "strawberry",
- "unicodeVersion": "6.0",
- "digest": "4563a502fa27cbc543f6ad287a6c40eee76319e29a98fbf818c93e7b48c2249f"
- },
- "stuck_out_tongue": {
- "category": "people",
- "moji": "😛",
- "description": "face with stuck-out tongue",
- "unicodeVersion": "6.1",
- "digest": "04df5c3e122e85ebafea184a808d090cebe8fda6c08ab08bb756a21d43b6661f"
- },
- "stuck_out_tongue_closed_eyes": {
- "category": "people",
- "moji": "😝",
- "description": "face with stuck-out tongue and tightly-closed eyes",
- "unicodeVersion": "6.0",
- "digest": "88bceb40811057945decca24c3fb69f5703a15417dd5bf16787019e9067cb125"
- },
- "stuck_out_tongue_winking_eye": {
- "category": "people",
- "moji": "😜",
- "description": "face with stuck-out tongue and winking eye",
- "unicodeVersion": "6.0",
- "digest": "73443f4962da500d4ebe32abf7a9d95a217fa3f58df5567f8ac623b439f8b265"
- },
- "stuffed_flatbread": {
- "category": "food",
- "moji": "🥙",
- "description": "stuffed flatbread",
- "unicodeVersion": "9.0",
- "digest": "ace05b5608aa3c51ad0aff66949ff5c6d06812597d1f55cb21a29834e531c46c"
- },
- "sun_with_face": {
- "category": "nature",
- "moji": "🌞",
- "description": "sun with face",
- "unicodeVersion": "6.0",
- "digest": "631ad6d36e45769ebfe03c3d9fc18d5ad8f333c58ed7f92dcc5dcb8bf7f6321e"
- },
- "sunflower": {
- "category": "nature",
- "moji": "🌻",
- "description": "sunflower",
- "unicodeVersion": "6.0",
- "digest": "ea2947ff8994128b131e8e692d6183f38553d709fafa7611f3c15d00e5e2b9d6"
- },
- "sunglasses": {
- "category": "people",
- "moji": "😎",
- "description": "smiling face with sunglasses",
- "unicodeVersion": "6.0",
- "digest": "1b2ba362ef41c55b05bf8d28df5508e8f4f2b0418c22c47ecd9e8e772ac1c19b"
- },
- "sunny": {
- "category": "nature",
- "moji": "☀",
- "description": "black sun with rays",
- "unicodeVersion": "1.1",
- "digest": "254e2e15e1e548aeb54048217501d7da60f57ebe8c9de2e61e84e0714deba7a4"
- },
- "sunrise": {
- "category": "travel",
- "moji": "🌅",
- "description": "sunrise",
- "unicodeVersion": "6.0",
- "digest": "5e1511462f5e0bfaaf865baa62eb7dd1f76ce22acebb0bd5ef27c55e3a69fed3"
- },
- "sunrise_over_mountains": {
- "category": "travel",
- "moji": "🌄",
- "description": "sunrise over mountains",
- "unicodeVersion": "6.0",
- "digest": "089412d5a9ce8f71fa184bc90cd9a092bfea41361a792cc6b9f94ac1bc741fb7"
- },
- "surfer": {
- "category": "activity",
- "moji": "🏄",
- "description": "surfer",
- "unicodeVersion": "6.0",
- "digest": "39564fb830c8bd3e37cc30f227ffa454bee97a9f5a3df9d062df656fb7cca740"
- },
- "surfer_tone1": {
- "category": "activity",
- "moji": "🏄🏻",
- "description": "surfer tone 1",
- "unicodeVersion": "8.0",
- "digest": "c47d4c1057a86878179b86d4a56e432b9cc9d34f5d3aa9b817c84be29a029904"
- },
- "surfer_tone2": {
- "category": "activity",
- "moji": "🏄🏼",
- "description": "surfer tone 2",
- "unicodeVersion": "8.0",
- "digest": "d15f802cf36c352a1817b15bc508a1983c9362e24d2707f12f7e6a2c4b1f8b90"
- },
- "surfer_tone3": {
- "category": "activity",
- "moji": "🏄🏽",
- "description": "surfer tone 3",
- "unicodeVersion": "8.0",
- "digest": "1377c1f74dd0987032b564c7ad55d0a2bb418e1f372937db50cb0e6806e9c11a"
- },
- "surfer_tone4": {
- "category": "activity",
- "moji": "🏄🏾",
- "description": "surfer tone 4",
- "unicodeVersion": "8.0",
- "digest": "6155339508cf035a4eab763083f73e6c78bdaa15ce2acba5abe808b6d4f9d9c8"
- },
- "surfer_tone5": {
- "category": "activity",
- "moji": "🏄🏿",
- "description": "surfer tone 5",
- "unicodeVersion": "8.0",
- "digest": "c3f84fd38dfe40f539fbf1201c319b990aa4fb81bb57548377a7dfb2e3ee8661"
- },
- "sushi": {
- "category": "food",
- "moji": "🍣",
- "description": "sushi",
- "unicodeVersion": "6.0",
- "digest": "a5bbbe7979621cc830f8a6860623af797530eb1d6cb4fb909f5e728ca8684864"
- },
- "suspension_railway": {
- "category": "travel",
- "moji": "🚟",
- "description": "suspension railway",
- "unicodeVersion": "6.0",
- "digest": "8c3f5852d6b7e363ef8dc14c483154ed7b65456aaf6cbfb16b3f46539de17c8d"
- },
- "sweat": {
- "category": "people",
- "moji": "😓",
- "description": "face with cold sweat",
- "unicodeVersion": "6.0",
- "digest": "54f6998fabdc88fd169a6c9013f6471608f29554dd304d3abe9ee246b4a0cb16"
- },
- "sweat_drops": {
- "category": "nature",
- "moji": "💦",
- "description": "splashing sweat symbol",
- "unicodeVersion": "6.0",
- "digest": "48642bb76350a7be33303751b18ca1150085d20070e18eb9e3617833ae406b11"
- },
- "sweat_smile": {
- "category": "people",
- "moji": "😅",
- "description": "smiling face with open mouth and cold sweat",
- "unicodeVersion": "6.0",
- "digest": "18e9821a9dd3f90342ed952660654ddbb8e46671b5e95ab88df637406b6cc0fb"
- },
- "sweet_potato": {
- "category": "food",
- "moji": "🍠",
- "description": "roasted sweet potato",
- "unicodeVersion": "6.0",
- "digest": "0a322b21e76c9c487b8a8cb158c60d6e0be1aaa0495f865262f4c69e55a870b0"
- },
- "swimmer": {
- "category": "activity",
- "moji": "🏊",
- "description": "swimmer",
- "unicodeVersion": "6.0",
- "digest": "16c5a68b9f1cc7d0f5da1f288be73a0419d059e76f22bed5f7d7d902a1320af4"
- },
- "swimmer_tone1": {
- "category": "activity",
- "moji": "🏊🏻",
- "description": "swimmer tone 1",
- "unicodeVersion": "8.0",
- "digest": "2159c9ecb0580a2183e921e3a3988643caaa56ad3037993b83e2776988a92e70"
- },
- "swimmer_tone2": {
- "category": "activity",
- "moji": "🏊🏼",
- "description": "swimmer tone 2",
- "unicodeVersion": "8.0",
- "digest": "8aeeafc91941162d71eaf9d2a2313d9af6cfdf4ea081ccacbc6a28389e0e77c0"
- },
- "swimmer_tone3": {
- "category": "activity",
- "moji": "🏊🏽",
- "description": "swimmer tone 3",
- "unicodeVersion": "8.0",
- "digest": "e6811d73ef31041bb9c602e20e1853b34d6db4774dee657851b0e1952b7a038e"
- },
- "swimmer_tone4": {
- "category": "activity",
- "moji": "🏊🏾",
- "description": "swimmer tone 4",
- "unicodeVersion": "8.0",
- "digest": "627184d5dae69aea7345661c1c721beb78ccbeae9cf6dc3f844f6368fddf1018"
- },
- "swimmer_tone5": {
- "category": "activity",
- "moji": "🏊🏿",
- "description": "swimmer tone 5",
- "unicodeVersion": "8.0",
- "digest": "db6862ca44bd4375ed8ccf2085398e4003342360f7f8325de3f7126d69716432"
- },
- "symbols": {
- "category": "symbols",
- "moji": "🔣",
- "description": "input symbol for symbols",
- "unicodeVersion": "6.0",
- "digest": "ff91761a5def3885f52b44abc14a3073800f6ca6f5a61480c902917896843dc1"
- },
- "synagogue": {
- "category": "travel",
- "moji": "🕍",
- "description": "synagogue",
- "unicodeVersion": "8.0",
- "digest": "07bcf08d94008462f001e6512e3ba3e9e70cfd57ac4e84e04b94e6f74684f51c"
- },
- "syringe": {
- "category": "objects",
- "moji": "💉",
- "description": "syringe",
- "unicodeVersion": "6.0",
- "digest": "7c1f7fcc64d14e129f02f6cdf63ba6d13839be54263c1c9c2471826583ca2431"
- },
- "taco": {
- "category": "food",
- "moji": "🌮",
- "description": "taco",
- "unicodeVersion": "8.0",
- "digest": "13802015749117fc3889d27eb8a66846bb81e2a469dfd90a66b9603b54526c5b"
- },
- "tada": {
- "category": "objects",
- "moji": "🎉",
- "description": "party popper",
- "unicodeVersion": "6.0",
- "digest": "879b8a892411b1839ad7c4a4d9ffcae074d3829bb40767c916471b06a39da9ec"
- },
- "tanabata_tree": {
- "category": "nature",
- "moji": "🎋",
- "description": "tanabata tree",
- "unicodeVersion": "6.0",
- "digest": "6ec94e277dc3027dbaf8d844dd26202c00b36602f5f73d0d2c36c087d5d674b9"
- },
- "tangerine": {
- "category": "food",
- "moji": "🍊",
- "description": "tangerine",
- "unicodeVersion": "6.0",
- "digest": "6858dcb7aa079a6639511d86328f55fd70319787efe06934573c774adec2ade0"
- },
- "taurus": {
- "category": "symbols",
- "moji": "♉",
- "description": "taurus",
- "unicodeVersion": "1.1",
- "digest": "e64c53547f42dc3e07c06f0891641395773a9cdca0adb3257ea584a3102d084f"
- },
- "taxi": {
- "category": "travel",
- "moji": "🚕",
- "description": "taxi",
- "unicodeVersion": "6.0",
- "digest": "260b37ae31fcfe5b30682f0592ec4e32ce308f9cb9574daa532099c47735252b"
- },
- "tea": {
- "category": "food",
- "moji": "🍵",
- "description": "teacup without handle",
- "unicodeVersion": "6.0",
- "digest": "520da660803cd133832badfa170c6795e2673b6881b6b52e22db3771c430cafa"
- },
- "telephone": {
- "category": "objects",
- "moji": "☎",
- "description": "black telephone",
- "unicodeVersion": "1.1",
- "digest": "63655f8f945e2b0a7bb235b7b2d118db845bea995f5d04adab25b9b1ea7fc9ae"
- },
- "telephone_receiver": {
- "category": "objects",
- "moji": "📞",
- "description": "telephone receiver",
- "unicodeVersion": "6.0",
- "digest": "83bc544dc191e7145a4d59059780fbd5c020c64f090de11816d681a504d65472"
- },
- "telescope": {
- "category": "objects",
- "moji": "🔭",
- "description": "telescope",
- "unicodeVersion": "6.0",
- "digest": "202137ea4dc1f3f544100942d597ec9a31c4c4a96f0386a77d437d2274a3fbe7"
- },
- "ten": {
- "category": "symbols",
- "moji": "🔟",
- "description": "keycap ten",
- "unicodeVersion": "6.0",
- "digest": "4474d95b39371042bf8dfac128d68f391fb10efbc9c245de5dc6aefb10544439"
- },
- "tennis": {
- "category": "activity",
- "moji": "🎾",
- "description": "tennis racquet and ball",
- "unicodeVersion": "6.0",
- "digest": "857b0f96109f4534cef496348b76036354eecdee640855fb83e0e3b253c7d914"
- },
- "tent": {
- "category": "travel",
- "moji": "⛺",
- "description": "tent",
- "unicodeVersion": "5.2",
- "digest": "a2fc1e803dc0eef13ea7d3847e1e92a3d0790b1336a7ed5675ea60069fb76676"
- },
- "thermometer": {
- "category": "objects",
- "moji": "🌡",
- "description": "thermometer",
- "unicodeVersion": "7.0",
- "digest": "4b54cd4fc758bfc9e8830d36726ba06a0ac9e0d0d397ecba99599c9bde44f4e5"
- },
- "thermometer_face": {
- "category": "people",
- "moji": "🤒",
- "description": "face with thermometer",
- "unicodeVersion": "8.0",
- "digest": "8300d80af44461b1da2aeed90203901753705ec3418a288646a00dc59da70c93"
- },
- "thinking": {
- "category": "people",
- "moji": "🤔",
- "description": "thinking face",
- "unicodeVersion": "8.0",
- "digest": "2b2d2b844f147e1be7f4c9019c54ce1b96561b4a8e5bd0af9c8d955b3ceabefa"
- },
- "third_place": {
- "category": "activity",
- "moji": "🥉",
- "description": "third place medal",
- "unicodeVersion": "9.0",
- "digest": "0afe5ea1a8963329439e0a5ed4922939cc4ab733f5fb50f40edcc2e4fafa12ed"
- },
- "thought_balloon": {
- "category": "symbols",
- "moji": "💭",
- "description": "thought balloon",
- "unicodeVersion": "6.0",
- "digest": "d6a36d105964c8184aa889193b812be4307508c10a9bf99d6eb199565be2c5cc"
- },
- "three": {
- "category": "symbols",
- "moji": "3️⃣",
- "description": "keycap digit three",
- "unicodeVersion": "3.0",
- "digest": "e66cfca0c1871d16283fcdddc7b170ad67c0a52f21d54985e4789daa1c61ee63"
- },
- "thumbsdown": {
- "category": "people",
- "moji": "👎",
- "description": "thumbs down sign",
- "unicodeVersion": "6.0",
- "digest": "e5e3594f30f8b3c59f22963c3a903ec69569e9735690cbce1c96da981cea5f91"
- },
- "thumbsdown_tone1": {
- "category": "people",
- "moji": "👎🏻",
- "description": "thumbs down sign tone 1",
- "unicodeVersion": "8.0",
- "digest": "e360d25bc6fc05243ec5ea6489fdc80702899783faa83c88686c9b73c9e8684c"
- },
- "thumbsdown_tone2": {
- "category": "people",
- "moji": "👎🏼",
- "description": "thumbs down sign tone 2",
- "unicodeVersion": "8.0",
- "digest": "bf0ad5d01e7ac0ab4d2be9db76615ff303bd01d2b4915b2b846a494aa36878fd"
- },
- "thumbsdown_tone3": {
- "category": "people",
- "moji": "👎🏽",
- "description": "thumbs down sign tone 3",
- "unicodeVersion": "8.0",
- "digest": "e3d907396c17971a6d533900dd857ad273c1b0ff1af520c6fda780a54616b3c8"
- },
- "thumbsdown_tone4": {
- "category": "people",
- "moji": "👎🏾",
- "description": "thumbs down sign tone 4",
- "unicodeVersion": "8.0",
- "digest": "31a952ef8b0fe9c0a9b04e46033e052d8104539929509010f7ab74a09b72d396"
- },
- "thumbsdown_tone5": {
- "category": "people",
- "moji": "👎🏿",
- "description": "thumbs down sign tone 5",
- "unicodeVersion": "8.0",
- "digest": "afe38eb9c879ba04556cb4bf211ef0dae63b51957389256e5af93dc7e7e94cef"
- },
- "thumbsup": {
- "category": "people",
- "moji": "👍",
- "description": "thumbs up sign",
- "unicodeVersion": "6.0",
- "digest": "38755ce0360171dd24005d6f4d6b06c2df337adb0cfd590e2e381cf44a9c24ec"
- },
- "thumbsup_tone1": {
- "category": "people",
- "moji": "👍🏻",
- "description": "thumbs up sign tone 1",
- "unicodeVersion": "8.0",
- "digest": "15492d43b5bafa46473154505b431ed81e365b6ebce507c97f509a00333420f3"
- },
- "thumbsup_tone2": {
- "category": "people",
- "moji": "👍🏼",
- "description": "thumbs up sign tone 2",
- "unicodeVersion": "8.0",
- "digest": "87f9941a2d3afba4ff5737a113cf070dcfbc3a2292ad15cb5b07459692cb0fdd"
- },
- "thumbsup_tone3": {
- "category": "people",
- "moji": "👍🏽",
- "description": "thumbs up sign tone 3",
- "unicodeVersion": "8.0",
- "digest": "f09364411db2331284b3deb85c6107049cbb41d2e5edfb50f61fc5907641a7a0"
- },
- "thumbsup_tone4": {
- "category": "people",
- "moji": "👍🏾",
- "description": "thumbs up sign tone 4",
- "unicodeVersion": "8.0",
- "digest": "8c1322a624b0ebcab1f08d7675df39383eac8b1d4b627889d3393b0d3cdc946d"
- },
- "thumbsup_tone5": {
- "category": "people",
- "moji": "👍🏿",
- "description": "thumbs up sign tone 5",
- "unicodeVersion": "8.0",
- "digest": "6dec547ee282457cbbcb7e3dffcf804188aed47960a70069df81a547a8f40df9"
- },
- "thunder_cloud_rain": {
- "category": "nature",
- "moji": "⛈",
- "description": "thunder cloud and rain",
- "unicodeVersion": "5.2",
- "digest": "c1d9417ce640885540743b4fdb7df6efcccb6a04a31a1c62780b4c952c9f11d4"
- },
- "ticket": {
- "category": "activity",
- "moji": "🎫",
- "description": "ticket",
- "unicodeVersion": "6.0",
- "digest": "0575c271a22acdc294505b2aae0f288e67b0d78d9b60af97420806ac893e4ea9"
- },
- "tickets": {
- "category": "activity",
- "moji": "🎟",
- "description": "admission tickets",
- "unicodeVersion": "7.0",
- "digest": "f70e7c3f2a059c85b36587941a861dc9e41c8db0475ddbe2d5dd50ad440dd579"
- },
- "tiger": {
- "category": "nature",
- "moji": "🐯",
- "description": "tiger face",
- "unicodeVersion": "6.0",
- "digest": "0ea11ea4b71adee37b67019634153f09ca6d5b762d4c9507a3d3f7b47ff59274"
- },
- "tiger2": {
- "category": "nature",
- "moji": "🐅",
- "description": "tiger",
- "unicodeVersion": "6.0",
- "digest": "84d80ae536dfad345dd878970c339451d4189f73f0d786cafcaa2421dab9fe97"
- },
- "timer": {
- "category": "objects",
- "moji": "⏲",
- "description": "timer clock",
- "unicodeVersion": "6.0",
- "digest": "b94e3cdd84834063f72e333339b27f5aeaa2e8b3082eff51a871d706f0038349"
- },
- "tired_face": {
- "category": "people",
- "moji": "😫",
- "description": "tired face",
- "unicodeVersion": "6.0",
- "digest": "60d0656f21c7937c3f2e9c5a90d1dfd2deee068804fb17d813e8b6e9c9f994d5"
- },
- "tm": {
- "category": "symbols",
- "moji": "™️",
- "description": "trade mark sign",
- "unicodeVersion": "1.1",
- "digest": "aaa0898628f473e4e8df05d707b2d49a854ce3fbb78b8ca37ac0560b329fd8ea"
- },
- "toilet": {
- "category": "objects",
- "moji": "🚽",
- "description": "toilet",
- "unicodeVersion": "6.0",
- "digest": "ae590884c0bf0b5f5d721b4d7791ea3878a9514642f6a57ad4784b2ca7ce6fbd"
- },
- "tokyo_tower": {
- "category": "travel",
- "moji": "🗼",
- "description": "tokyo tower",
- "unicodeVersion": "6.0",
- "digest": "e012cdbb4648219ccee443cc09fa2946b99dadb483aeca5a3fdee39270dd3061"
- },
- "tomato": {
- "category": "food",
- "moji": "🍅",
- "description": "tomato",
- "unicodeVersion": "6.0",
- "digest": "9fc42d1837bf67d7845f2a00c83c6b8001f96b6bb350f009063d211b20e96c16"
- },
- "tone1": {
- "category": "modifier",
- "moji": "🏻",
- "description": "emoji modifier Fitzpatrick type-1-2",
- "unicodeVersion": "8.0",
- "digest": "545d866024aa7d4de2e2254420a9d8cca667534672d9e7122bd3e67cf81b694b"
- },
- "tone2": {
- "category": "modifier",
- "moji": "🏼",
- "description": "emoji modifier Fitzpatrick type-3",
- "unicodeVersion": "8.0",
- "digest": "c2f93946364e79ed130e3c355416ada791c09d9b3d1bbfa44d03324bfabd642e"
- },
- "tone3": {
- "category": "modifier",
- "moji": "🏽",
- "description": "emoji modifier Fitzpatrick type-4",
- "unicodeVersion": "8.0",
- "digest": "ea55f80c25ec5df8232d509913b8f5e3260ecc98a2db0f5de333d7e3c9f05bb2"
- },
- "tone4": {
- "category": "modifier",
- "moji": "🏾",
- "description": "emoji modifier Fitzpatrick type-5",
- "unicodeVersion": "8.0",
- "digest": "676bd7f45026066bb72a6b5344e288c6b42ce9524eb0065d50d3354cc716cc6a"
- },
- "tone5": {
- "category": "modifier",
- "moji": "🏿",
- "description": "emoji modifier Fitzpatrick type-6",
- "unicodeVersion": "8.0",
- "digest": "b9ab9e2f6307e2e5b8e0560d6b3048f2d0cd58e11c90b03d90688b91fdb4b5f8"
- },
- "tongue": {
- "category": "people",
- "moji": "👅",
- "description": "tongue",
- "unicodeVersion": "6.0",
- "digest": "da75f4b8859b698b941cd091e1d3bf4be3c4e86bb72b2407b9d7b9abe063ed84"
- },
- "tools": {
- "category": "objects",
- "moji": "🛠",
- "description": "hammer and wrench",
- "unicodeVersion": "7.0",
- "digest": "f74b73f7a143d6e5a4efe0b293d998d7dfb681b23f0d6764137c6d9373a28374"
- },
- "top": {
- "category": "symbols",
- "moji": "🔝",
- "description": "top with upwards arrow above",
- "unicodeVersion": "6.0",
- "digest": "69250cda059411b279e6503ff1afac1188b2507d861db7efc956d7758468aa01"
- },
- "tophat": {
- "category": "people",
- "moji": "🎩",
- "description": "top hat",
- "unicodeVersion": "6.0",
- "digest": "dff54bdac5a4d1df8e406a5dfa517c5ea60f9ebb6952f27b2780878478c4c8dc"
- },
- "track_next": {
- "category": "symbols",
- "moji": "⏭",
- "description": "black right-pointing double triangle with vertical bar",
- "unicodeVersion": "6.0",
- "digest": "adc496351d784f266e6addac74e29d328d24f3e6d3f4a2f1270e88de00f48116"
- },
- "track_previous": {
- "category": "symbols",
- "moji": "⏮",
- "description": "black left-pointing double triangle with vertical bar",
- "unicodeVersion": "6.0",
- "digest": "aaa9c3c003a2839067dde8aab59c2887532b8f00d00726baa33c995b21b06dcc"
- },
- "trackball": {
- "category": "objects",
- "moji": "🖲",
- "description": "trackball",
- "unicodeVersion": "7.0",
- "digest": "80003d0b886adf81afc07427b73b6ba462032c9fad318d1dcc142eae6e943238"
- },
- "tractor": {
- "category": "travel",
- "moji": "🚜",
- "description": "tractor",
- "unicodeVersion": "6.0",
- "digest": "0bec7945ef52027a634bfbe75b71902e31c03a8d91814f3c37c2d1dbfa21de10"
- },
- "traffic_light": {
- "category": "travel",
- "moji": "🚥",
- "description": "horizontal traffic light",
- "unicodeVersion": "6.0",
- "digest": "7ba4ce5e0bab82e8a78afb05e7705c1dfcaebba6bce6eec0dae63fd62896cd38"
- },
- "train": {
- "category": "travel",
- "moji": "🚋",
- "description": "Tram Car",
- "unicodeVersion": "6.0",
- "digest": "2b991f1b04ea9a364de103d751d4e3ca7d263b29e169517cf0b6bc098c0544fd"
- },
- "train2": {
- "category": "travel",
- "moji": "🚆",
- "description": "train",
- "unicodeVersion": "6.0",
- "digest": "4809681fd588ad64f82483ecb825bb16ff387e31f45e5fc5637f0c2547acd42f"
- },
- "tram": {
- "category": "travel",
- "moji": "🚊",
- "description": "tram",
- "unicodeVersion": "6.0",
- "digest": "ab9d03c841a0ef60218aae50fe2b2e0ee045052b8b8f73c001c4203199209ba0"
- },
- "triangular_flag_on_post": {
- "category": "objects",
- "moji": "🚩",
- "description": "triangular flag on post",
- "unicodeVersion": "6.0",
- "digest": "135c571161ba6bd55d4940366202164a6c4c325064a7ebc76fbdb3f92428fd73"
- },
- "triangular_ruler": {
- "category": "objects",
- "moji": "📐",
- "description": "triangular ruler",
- "unicodeVersion": "6.0",
- "digest": "8db7d5546f2c1403a5dbcd87216d15c9ded1c137def938f6cff3e14282b3b659"
- },
- "trident": {
- "category": "symbols",
- "moji": "🔱",
- "description": "trident emblem",
- "unicodeVersion": "6.0",
- "digest": "c9fcbc5e98ed51cd228a1b0eedde2851624c3a7fc354abab9efd96eaa52dcb52"
- },
- "triumph": {
- "category": "people",
- "moji": "😤",
- "description": "face with look of triumph",
- "unicodeVersion": "6.0",
- "digest": "b258f96aa69a0c5bbe672097bb58d0b7bd6c1dfcc93e66f73d632c2a42c9ecc4"
- },
- "trolleybus": {
- "category": "travel",
- "moji": "🚎",
- "description": "trolleybus",
- "unicodeVersion": "6.0",
- "digest": "587261051e9e8a6c1354406c62830d8895eaa83b1d9dc6df7516a835788805ec"
- },
- "trophy": {
- "category": "activity",
- "moji": "🏆",
- "description": "trophy",
- "unicodeVersion": "6.0",
- "digest": "33ba0ae0619cb3c2cfa350a36e535601d327b7a0cb7371f2686790336559f912"
- },
- "tropical_drink": {
- "category": "food",
- "moji": "🍹",
- "description": "tropical drink",
- "unicodeVersion": "6.0",
- "digest": "085a51de7c6df9e8734450b0b7b30577c3afaed56cf02f6a481808c2d90a0c13"
- },
- "tropical_fish": {
- "category": "nature",
- "moji": "🐠",
- "description": "tropical fish",
- "unicodeVersion": "6.0",
- "digest": "26974903529bbda281c4f1302d8ced6eeca6f3d316ef0bd4ab6617062bd10ca9"
- },
- "truck": {
- "category": "travel",
- "moji": "🚚",
- "description": "delivery truck",
- "unicodeVersion": "6.0",
- "digest": "c58cdc9790438031e3acd58bd224b83428a6e89be5cec3af01233d257d7b54a6"
- },
- "trumpet": {
- "category": "activity",
- "moji": "🎺",
- "description": "trumpet",
- "unicodeVersion": "6.0",
- "digest": "21803bcdcfd7681ce77b8fdd30b115a4f67fb8f2cb91908ac9eb02613c413719"
- },
- "tulip": {
- "category": "nature",
- "moji": "🌷",
- "description": "tulip",
- "unicodeVersion": "6.0",
- "digest": "78b7615137fedb534bb1a760b1c7bfdd09b60e1c770ba21ee9f5a3799aa7c93b"
- },
- "tumbler_glass": {
- "category": "food",
- "moji": "🥃",
- "description": "tumbler glass",
- "unicodeVersion": "9.0",
- "digest": "41ca844a7ae31e28bac5320298ff16c2adf9124b9a649ce5112e47ddce42ab06"
- },
- "turkey": {
- "category": "nature",
- "moji": "🦃",
- "description": "turkey",
- "unicodeVersion": "8.0",
- "digest": "2b141b75a1df1c8e347fe96a5193060d6feb230e4ced5976e3a22ab4a145887b"
- },
- "turtle": {
- "category": "nature",
- "moji": "🐢",
- "description": "turtle",
- "unicodeVersion": "6.0",
- "digest": "cb9ebbbd5c861943b8e52ad447959cb489edcb64c93a878a2db00060220e56da"
- },
- "tv": {
- "category": "objects",
- "moji": "📺",
- "description": "television",
- "unicodeVersion": "6.0",
- "digest": "86ab2eef07bed93f56e29e20ef67d566ec7b4b1e96463ba3f9614a1db28aec11"
- },
- "twisted_rightwards_arrows": {
- "category": "symbols",
- "moji": "🔀",
- "description": "twisted rightwards arrows",
- "unicodeVersion": "6.0",
- "digest": "f559a51e80d26d7bb196ea380936ff60c4a281c3943cf6e86aaebeacce8d957f"
- },
- "two": {
- "category": "symbols",
- "moji": "2️⃣",
- "description": "keycap digit two",
- "unicodeVersion": "3.0",
- "digest": "d091a45f6754587ac8602259955a5d2d1e41d090a1da1c81e46f286ab3de1385"
- },
- "two_hearts": {
- "category": "symbols",
- "moji": "💕",
- "description": "two hearts",
- "unicodeVersion": "6.0",
- "digest": "52fba958d8153422ae667827dd2dd44a58bf36ac3f7d3d9433527b6a92b7e6e7"
- },
- "two_men_holding_hands": {
- "category": "people",
- "moji": "👬",
- "description": "two men holding hands",
- "unicodeVersion": "6.0",
- "digest": "8953ff520ff541f4ee8001ef4dfc22462b6ebf15f2e1adf9ba46d0c6384a0091"
- },
- "two_women_holding_hands": {
- "category": "people",
- "moji": "👭",
- "description": "two women holding hands",
- "unicodeVersion": "6.0",
- "digest": "4a6dc2a4b900084faa7b934300b1f07717e41971a9eb9d7830cec83a78c14e46"
- },
- "u5272": {
- "category": "symbols",
- "moji": "🈹",
- "description": "squared cjk unified ideograph-5272",
- "unicodeVersion": "6.0",
- "digest": "146800348d2954ab707184573fd7a5be20971d6df655f37829f88a8678d4f54b"
- },
- "u5408": {
- "category": "symbols",
- "moji": "🈴",
- "description": "squared cjk unified ideograph-5408",
- "unicodeVersion": "6.0",
- "digest": "c65c6b24648ec959bb497872003adf9f29db19f3bc3ffc5f3c6d03ec36f7e7ed"
- },
- "u55b6": {
- "category": "symbols",
- "moji": "🈺",
- "description": "squared cjk unified ideograph-55b6",
- "unicodeVersion": "6.0",
- "digest": "0c441fbe4e8527c04c44a297150b2c3dab5f5ba51acffd1adc3109057ec20522"
- },
- "u6307": {
- "category": "symbols",
- "moji": "🈯",
- "description": "squared cjk unified ideograph-6307",
- "unicodeVersion": "5.2",
- "digest": "6ecd33c04af54469548189adc89a12ea3677b7d76af6349221bab3ac17c51011"
- },
- "u6708": {
- "category": "symbols",
- "moji": "🈷",
- "description": "squared cjk unified ideograph-6708",
- "unicodeVersion": "6.0",
- "digest": "de0a0568e1a0de7653dac4dd093ee95027087b301d914752bafbda4648724847"
- },
- "u6709": {
- "category": "symbols",
- "moji": "🈶",
- "description": "squared cjk unified ideograph-6709",
- "unicodeVersion": "6.0",
- "digest": "5370fc51eed9c35a7a695881cdb3218b2fda9d70b1a887a5f2dcd7bdd0f5f3bc"
- },
- "u6e80": {
- "category": "symbols",
- "moji": "🈵",
- "description": "squared cjk unified ideograph-6e80",
- "unicodeVersion": "6.0",
- "digest": "cc9fbe7d7a29f3d309e0c7dedacf3b19afb4f0689aebcb0ffbdf06febd961842"
- },
- "u7121": {
- "category": "symbols",
- "moji": "🈚",
- "description": "squared cjk unified ideograph-7121",
- "unicodeVersion": "5.2",
- "digest": "3df28fb3345962cc97b32391bcb9dfd1df82bfadf1dc3567122fd086aff59cb3"
- },
- "u7533": {
- "category": "symbols",
- "moji": "🈸",
- "description": "squared cjk unified ideograph-7533",
- "unicodeVersion": "6.0",
- "digest": "014087496357083b2fa0f6372f3c768c9d0cde6f290460c8b4ecfa322955a065"
- },
- "u7981": {
- "category": "symbols",
- "moji": "🈲",
- "description": "squared cjk unified ideograph-7981",
- "unicodeVersion": "6.0",
- "digest": "e61e1ed43e0aa5747ad99050d48550ac23a8c6bfa7de7114b03a17eb0366872a"
- },
- "u7a7a": {
- "category": "symbols",
- "moji": "🈳",
- "description": "squared cjk unified ideograph-7a7a",
- "unicodeVersion": "6.0",
- "digest": "d306d00de7a978823adf885d3beb23c41359a2bb804425b8652f59f5ceadd40d"
- },
- "umbrella": {
- "category": "nature",
- "moji": "☔",
- "description": "umbrella with rain drops",
- "unicodeVersion": "4.0",
- "digest": "99c2f2a4331ff3f17192394ce766808e725e0701cf903cea606efb5f1d4b3f4a"
- },
- "umbrella2": {
- "category": "nature",
- "moji": "☂",
- "description": "umbrella",
- "unicodeVersion": "1.1",
- "digest": "c8e5f34916627bd8053727b3ae40c5fb1df6bad76049e925696140825b413af4"
- },
- "unamused": {
- "category": "people",
- "moji": "😒",
- "description": "unamused face",
- "unicodeVersion": "6.0",
- "digest": "68eaad1164a9cfdcfb28e6e247ab733d0698a4ddd8f9c72add082d28d3a74445"
- },
- "underage": {
- "category": "symbols",
- "moji": "🔞",
- "description": "no one under eighteen symbol",
- "unicodeVersion": "6.0",
- "digest": "afdd3883748acb01bb18bfe034c39b4510957c7bfbdb9cec33b4e6b4a0068089"
- },
- "unicorn": {
- "category": "nature",
- "moji": "🦄",
- "description": "unicorn face",
- "unicodeVersion": "8.0",
- "digest": "00d784632f584c953340b1f1474be2a1ab6f065625e69e2d06dabd38ab45531c"
- },
- "unlock": {
- "category": "objects",
- "moji": "🔓",
- "description": "open lock",
- "unicodeVersion": "6.0",
- "digest": "129328bd903055394ded6f0427d24c8f4ffc1a8ccb0cc831d1343b5c6c8d4416"
- },
- "up": {
- "category": "symbols",
- "moji": "🆙",
- "description": "squared up with exclamation mark",
- "unicodeVersion": "6.0",
- "digest": "807046ea55d94a542e355a6cf9c6bab5fe8523513669211ab1c13765348ff41a"
- },
- "upside_down": {
- "category": "people",
- "moji": "🙃",
- "description": "upside-down face",
- "unicodeVersion": "8.0",
- "digest": "3211b742f7fefdca6b0e817fb45070d6a306e3d31debcfd11d006ea24ba08983"
- },
- "urn": {
- "category": "objects",
- "moji": "⚱",
- "description": "funeral urn",
- "unicodeVersion": "4.1",
- "digest": "0730518fad9fab0d5070432a6e771d6526349fb075ed9e42b046b88464b0f13c"
- },
- "v": {
- "category": "people",
- "moji": "✌",
- "description": "victory hand",
- "unicodeVersion": "1.1",
- "digest": "cf0a1553b56d27c678ee71819933807339d0134eb71119aecc0c185bcd922996"
- },
- "v_tone1": {
- "category": "people",
- "moji": "✌🏻",
- "description": "victory hand tone 1",
- "unicodeVersion": "8.0",
- "digest": "1d4b156f48968318917284d695cf72f56f2ad8d2ed318f3886fa1eca5a27439f"
- },
- "v_tone2": {
- "category": "people",
- "moji": "✌🏼",
- "description": "victory hand tone 2",
- "unicodeVersion": "8.0",
- "digest": "6d842f89c4fe8d344d7748b4de74733a7b680566589556e542f808b28de8c12a"
- },
- "v_tone3": {
- "category": "people",
- "moji": "✌🏽",
- "description": "victory hand tone 3",
- "unicodeVersion": "8.0",
- "digest": "0125d0d20a51b11716399dcb0e0b81220a1fe755ea7a2e2fed22c5688516ae52"
- },
- "v_tone4": {
- "category": "people",
- "moji": "✌🏾",
- "description": "victory hand tone 4",
- "unicodeVersion": "8.0",
- "digest": "10502f0b7ce2aaaf9e9823f74f7cbe88503ec5bd614218b75c8f277b8a280328"
- },
- "v_tone5": {
- "category": "people",
- "moji": "✌🏿",
- "description": "victory hand tone 5",
- "unicodeVersion": "8.0",
- "digest": "1ea229068485d71074f7b6c782c6d275d7ff0a039f8c4ace5ba2700ee94315c4"
- },
- "vertical_traffic_light": {
- "category": "travel",
- "moji": "🚦",
- "description": "vertical traffic light",
- "unicodeVersion": "6.0",
- "digest": "ff094eb787c114159f19f263994531db073cd9b3bd98c55fe4913bfa9bda53ec"
- },
- "vhs": {
- "category": "objects",
- "moji": "📼",
- "description": "videocassette",
- "unicodeVersion": "6.0",
- "digest": "7fbd915d2b660e32fc5720179a113deea2997601f8dc0f7dcf4ec754f4d8d17b"
- },
- "vibration_mode": {
- "category": "symbols",
- "moji": "📳",
- "description": "vibration mode",
- "unicodeVersion": "6.0",
- "digest": "15ef296e1ef2747dfc47d8999ff7bbcca42a2ea682d57e224064335d9fa1c84e"
- },
- "video_camera": {
- "category": "objects",
- "moji": "📹",
- "description": "video camera",
- "unicodeVersion": "6.0",
- "digest": "b297b7675c9e69638a29f5332a4024fd68675101d03a059d90f151534de1a3b5"
- },
- "video_game": {
- "category": "activity",
- "moji": "🎮",
- "description": "video game",
- "unicodeVersion": "6.0",
- "digest": "95a218fcb12095024a77ee4826d0574190b5ebb8878d0fba7a640dcbeb3b78ba"
- },
- "violin": {
- "category": "activity",
- "moji": "🎻",
- "description": "violin",
- "unicodeVersion": "6.0",
- "digest": "3adf18cfe5778c508be936827ff1812503e02b8ebaf3db45053f0fab962cca39"
- },
- "virgo": {
- "category": "symbols",
- "moji": "♍",
- "description": "virgo",
- "unicodeVersion": "1.1",
- "digest": "2cae076c31fe134ca69caef07db75283f72c99f8fd746b1c1fff6a897f613655"
- },
- "volcano": {
- "category": "travel",
- "moji": "🌋",
- "description": "volcano",
- "unicodeVersion": "6.0",
- "digest": "75b53e25406d31b630fd1bb75c363044129f481f24f7d225a6d30eef5257f92c"
- },
- "volleyball": {
- "category": "activity",
- "moji": "🏐",
- "description": "volleyball",
- "unicodeVersion": "8.0",
- "digest": "a9dc3a3516d1e22aededc7198fdf3a4f304b7c2f7fa528806c2e0bdfe320d007"
- },
- "vs": {
- "category": "symbols",
- "moji": "🆚",
- "description": "squared vs",
- "unicodeVersion": "6.0",
- "digest": "1e67a891ce028db2e6fb8506879d3c0edbf024012a75a5073e89aa834c6f314e"
- },
- "vulcan": {
- "category": "people",
- "moji": "🖖",
- "description": "raised hand with part between middle and ring fingers",
- "unicodeVersion": "7.0",
- "digest": "829687cca319f7293457db7d49b7eb236c681def71b96711556534c6d9123279"
- },
- "vulcan_tone1": {
- "category": "people",
- "moji": "🖖🏻",
- "description": "raised hand with part between middle and ring fingers tone 1",
- "unicodeVersion": "8.0",
- "digest": "993550c5e6d01f173ce710e8d721474f21359f706cff863f913db3e31212ab56"
- },
- "vulcan_tone2": {
- "category": "people",
- "moji": "🖖🏼",
- "description": "raised hand with part between middle and ring fingers tone 2",
- "unicodeVersion": "8.0",
- "digest": "fad2b5ba5fef661214bee2d43a93d2cedb9024d1ba6d1f0369e76e8167926156"
- },
- "vulcan_tone3": {
- "category": "people",
- "moji": "🖖🏽",
- "description": "raised hand with part between middle and ring fingers tone 3",
- "unicodeVersion": "8.0",
- "digest": "344f09198268734de3a4f300b410a65c6a35d2ff958e7b675329e5ddffd1dd3f"
- },
- "vulcan_tone4": {
- "category": "people",
- "moji": "🖖🏾",
- "description": "raised hand with part between middle and ring fingers tone 4",
- "unicodeVersion": "8.0",
- "digest": "92f84231b71044b20d6132617fd1d2553472d3402175d85a42e24a3e5b40316d"
- },
- "vulcan_tone5": {
- "category": "people",
- "moji": "🖖🏿",
- "description": "raised hand with part between middle and ring fingers tone 5",
- "unicodeVersion": "8.0",
- "digest": "ab3aec60fd46b425d0ff4bed7e96f25007b6943e6e46b1754e695ef5e289c7a5"
- },
- "walking": {
- "category": "people",
- "moji": "🚶",
- "description": "pedestrian",
- "unicodeVersion": "6.0",
- "digest": "595b89b7ed1359e120f4aeeaccc8dbce01fc96358ce6b9501b6f4ab6559428f4"
- },
- "walking_tone1": {
- "category": "people",
- "moji": "🚶🏻",
- "description": "pedestrian tone 1",
- "unicodeVersion": "8.0",
- "digest": "794562b94ed8c825c4facad1b3d8fca0c90f49582209cc0f0923e33d2d5a083d"
- },
- "walking_tone2": {
- "category": "people",
- "moji": "🚶🏼",
- "description": "pedestrian tone 2",
- "unicodeVersion": "8.0",
- "digest": "3fc7452b3b324a3a9f7a34faa82175865681248094f13ea7977ee1eb64e6e201"
- },
- "walking_tone3": {
- "category": "people",
- "moji": "🚶🏽",
- "description": "pedestrian tone 3",
- "unicodeVersion": "8.0",
- "digest": "b9200fae09036c6919e8a348b51a2fe09e2e2909120077000dcba0fd62fb9fa5"
- },
- "walking_tone4": {
- "category": "people",
- "moji": "🚶🏾",
- "description": "pedestrian tone 4",
- "unicodeVersion": "8.0",
- "digest": "c1dbd3327bed96613834dd05dbf43bd233f5d4ab96b1c6f42684ecc690d62fa7"
- },
- "walking_tone5": {
- "category": "people",
- "moji": "🚶🏿",
- "description": "pedestrian tone 5",
- "unicodeVersion": "8.0",
- "digest": "60e0ceb95d5c555835dda6b1fa368938f50e2ee6ccbda723f2ad9c511fd9d16b"
- },
- "waning_crescent_moon": {
- "category": "nature",
- "moji": "🌘",
- "description": "waning crescent moon symbol",
- "unicodeVersion": "6.0",
- "digest": "5790b3f1f581dd7e5480978f31a8c2ed67bca238a2f26eb6f415a2dc3b6ff7c5"
- },
- "waning_gibbous_moon": {
- "category": "nature",
- "moji": "🌖",
- "description": "waning gibbous moon symbol",
- "unicodeVersion": "6.0",
- "digest": "bba224edaa61c1f00f4ea0679ebb96e15090c2948463bc7414734fd13307a3cc"
- },
- "warning": {
- "category": "symbols",
- "moji": "⚠",
- "description": "warning sign",
- "unicodeVersion": "4.0",
- "digest": "1d6cf2ec8990304aaca53a2eecd878c17e4eb8685c48d3be59c8f0a1cfb66202"
- },
- "wastebasket": {
- "category": "objects",
- "moji": "🗑",
- "description": "wastebasket",
- "unicodeVersion": "7.0",
- "digest": "2a099e1431b96a2de10f79ddb319a1bcdc74d5bd7d05dee9a27b67274e4d86b0"
- },
- "watch": {
- "category": "objects",
- "moji": "⌚",
- "description": "watch",
- "unicodeVersion": "1.1",
- "digest": "1e540e8c6856ebfab897c71132525d2f3a1a51513d86423b862116515489f55b"
- },
- "water_buffalo": {
- "category": "nature",
- "moji": "🐃",
- "description": "water buffalo",
- "unicodeVersion": "6.0",
- "digest": "dd9f6609e0ea97f610ab30e34c6564fe1504a54e2bd258fa64601cdbc91de177"
- },
- "water_polo": {
- "category": "activity",
- "moji": "🤽",
- "description": "water polo",
- "unicodeVersion": "9.0",
- "digest": "b1ddaec4c4a506a89462a8d72173e44e0766c27e936e41d894de7ffc3da48236"
- },
- "water_polo_tone1": {
- "category": "activity",
- "moji": "🤽🏻",
- "description": "water polo tone 1",
- "unicodeVersion": "9.0",
- "digest": "a86b73dac5b378283ca59e0985b98524c813aa34bc08e0c3bb5e0279a572adbf"
- },
- "water_polo_tone2": {
- "category": "activity",
- "moji": "🤽🏼",
- "description": "water polo tone 2",
- "unicodeVersion": "9.0",
- "digest": "080f98b0afbc5a6a087ca9774c817717f8bae0bb2ff7d2968eecebeb7ef8fee6"
- },
- "water_polo_tone3": {
- "category": "activity",
- "moji": "🤽🏽",
- "description": "water polo tone 3",
- "unicodeVersion": "9.0",
- "digest": "08a235850af9851f27148f53bd3e6f29668ce5d37afaaab0226a59195139e41c"
- },
- "water_polo_tone4": {
- "category": "activity",
- "moji": "🤽🏾",
- "description": "water polo tone 4",
- "unicodeVersion": "9.0",
- "digest": "7e69265f86e139af75bc1d1bea03c21b7f2cc445e4b7a767b0515ffa7be1a99c"
- },
- "water_polo_tone5": {
- "category": "activity",
- "moji": "🤽🏿",
- "description": "water polo tone 5",
- "unicodeVersion": "9.0",
- "digest": "db363a1e0a5f9b9d807258799d12e0a9010c99c383a4382f0f9a99feff2fd683"
- },
- "watermelon": {
- "category": "food",
- "moji": "🍉",
- "description": "watermelon",
- "unicodeVersion": "6.0",
- "digest": "8a18d12c6fb648b5cadc8d3ff390b9e24f5505a649055a2d4c840df7eb6bad78"
- },
- "wave": {
- "category": "people",
- "moji": "👋",
- "description": "waving hand sign",
- "unicodeVersion": "6.0",
- "digest": "5b877d50f49e858c453871fc380f0449633870118d487217c0a1f7f9cab02a06"
- },
- "wave_tone1": {
- "category": "people",
- "moji": "👋🏻",
- "description": "waving hand sign tone 1",
- "unicodeVersion": "8.0",
- "digest": "d27aa7181be2fab9d0281889496ab100a6a9473d7b1b4b0b4bcaa7523a311706"
- },
- "wave_tone2": {
- "category": "people",
- "moji": "👋🏼",
- "description": "waving hand sign tone 2",
- "unicodeVersion": "8.0",
- "digest": "7656b85268eb3318a0e8f954d334ca585c780da567a9a57ffdf24ecc3758e123"
- },
- "wave_tone3": {
- "category": "people",
- "moji": "👋🏽",
- "description": "waving hand sign tone 3",
- "unicodeVersion": "8.0",
- "digest": "002912d69d16d423253db2e90d04164b2a861847dd6eff31f9a28f32e8720c9b"
- },
- "wave_tone4": {
- "category": "people",
- "moji": "👋🏾",
- "description": "waving hand sign tone 4",
- "unicodeVersion": "8.0",
- "digest": "8e91cbf4b2eb22caa7c06e816d4083a861882b38cced8c59b5f19f7371114044"
- },
- "wave_tone5": {
- "category": "people",
- "moji": "👋🏿",
- "description": "waving hand sign tone 5",
- "unicodeVersion": "8.0",
- "digest": "40f696691a3ee439029d7914abe0ccb5efe66bab0ed2c057080991fc878eb0f4"
- },
- "wavy_dash": {
- "category": "symbols",
- "moji": "〰",
- "description": "wavy dash",
- "unicodeVersion": "1.1",
- "digest": "d7bcb62068abe4e1c168ba0445c1d3d1b1e76373bbe6f2d84f4d78b38be524c7"
- },
- "waxing_crescent_moon": {
- "category": "nature",
- "moji": "🌒",
- "description": "waxing crescent moon symbol",
- "unicodeVersion": "6.0",
- "digest": "a3534c77cf0a8da83fc2cef14481983bafc745e35da96231259dc926cd15937d"
- },
- "waxing_gibbous_moon": {
- "category": "nature",
- "moji": "🌔",
- "description": "waxing gibbous moon symbol",
- "unicodeVersion": "6.0",
- "digest": "46fc534be196723eabfe1a8be62217c1cff70e2ea806ff5bc15e9e09c116d9c1"
- },
- "wc": {
- "category": "symbols",
- "moji": "🚾",
- "description": "water closet",
- "unicodeVersion": "6.0",
- "digest": "a1576f1731a68646c9de74c135674955eee3df8f740437ab9ef04a45a49b282c"
- },
- "weary": {
- "category": "people",
- "moji": "😩",
- "description": "weary face",
- "unicodeVersion": "6.0",
- "digest": "44fd697167f1403eaf6bc6778a394dee514f900a964bb9e7b6a45aac86a5d985"
- },
- "wedding": {
- "category": "travel",
- "moji": "💒",
- "description": "wedding",
- "unicodeVersion": "6.0",
- "digest": "bdc97890b2ccd38285d4d9832e700c0cb99cf740305b37eac5cee1bf03137a92"
- },
- "whale": {
- "category": "nature",
- "moji": "🐳",
- "description": "spouting whale",
- "unicodeVersion": "6.0",
- "digest": "6a5de13dec0e0bbb05c9b3222ce04c16c079367124e59a49d015bbbee7a174a7"
- },
- "whale2": {
- "category": "nature",
- "moji": "🐋",
- "description": "whale",
- "unicodeVersion": "6.0",
- "digest": "939087b5e3b24f0cc27978a8777eec9c38f6e8bafc98200ff2606c3648fa589e"
- },
- "wheel_of_dharma": {
- "category": "symbols",
- "moji": "☸",
- "description": "wheel of dharma",
- "unicodeVersion": "1.1",
- "digest": "bdc92990dc2dcde7de136ed934e9f2476dc011257ffbeeb5dc45e1f86e26a067"
- },
- "wheelchair": {
- "category": "symbols",
- "moji": "♿",
- "description": "wheelchair symbol",
- "unicodeVersion": "4.1",
- "digest": "805e8f94922c2214849af36b2de79cb812472cf6c3cf7c55dbf7fe9e11f0380b"
- },
- "white_check_mark": {
- "category": "symbols",
- "moji": "✅",
- "description": "white heavy check mark",
- "unicodeVersion": "6.0",
- "digest": "6f37f4b2dd017d42bb070d2544dce135a1c11203c5cb537c760b3c90d17bc0c3"
- },
- "white_circle": {
- "category": "symbols",
- "moji": "⚪",
- "description": "medium white circle",
- "unicodeVersion": "4.1",
- "digest": "386429066322ba83e4790d7e930c167a6789f978f65e2131f0534230f196d40a"
- },
- "white_flower": {
- "category": "symbols",
- "moji": "💮",
- "description": "white flower",
- "unicodeVersion": "6.0",
- "digest": "30a1761e5672133bf4172bfecad661e951488c89e22ceee88d04fd3bcbd7e6d1"
- },
- "white_large_square": {
- "category": "symbols",
- "moji": "⬜",
- "description": "white large square",
- "unicodeVersion": "5.1",
- "digest": "a56e16d3a7778cfec18b031b9f0f04aa008d3b81a2dc4642366f7d92adc1d862"
- },
- "white_medium_small_square": {
- "category": "symbols",
- "moji": "◽",
- "description": "white medium small square",
- "unicodeVersion": "3.2",
- "digest": "9950d2efd6bca2b2583f670c389f839b5346b9e608eb9b00628b196f9d6b37a3"
- },
- "white_medium_square": {
- "category": "symbols",
- "moji": "◻",
- "description": "white medium square",
- "unicodeVersion": "3.2",
- "digest": "0328185858eb63e113136674509fb89f43ab5306449345e2e65d1ee2d616a54d"
- },
- "white_small_square": {
- "category": "symbols",
- "moji": "▫",
- "description": "white small square",
- "unicodeVersion": "1.1",
- "digest": "a805e7c1edcf6668a6bdc8324e9ec78da8aa4a79f789f55ce6828337b2f8e43c"
- },
- "white_square_button": {
- "category": "symbols",
- "moji": "🔳",
- "description": "white square button",
- "unicodeVersion": "6.0",
- "digest": "bc65aefa55ddee130c006624bcd381313eba7261c99f8b273a938d273b84570a"
- },
- "white_sun_cloud": {
- "category": "nature",
- "moji": "🌥",
- "description": "white sun behind cloud",
- "unicodeVersion": "7.0",
- "digest": "78c9ade346888e8758e56107bed5bd0a16b4da60ef591cb71e1c68625feec8c8"
- },
- "white_sun_rain_cloud": {
- "category": "nature",
- "moji": "🌦",
- "description": "white sun behind cloud with rain",
- "unicodeVersion": "7.0",
- "digest": "7d95f929a5679e52f4c9f93d2fe87d33524e38ab08115cd9a20aa481611f83ab"
- },
- "white_sun_small_cloud": {
- "category": "nature",
- "moji": "🌤",
- "description": "white sun with small cloud",
- "unicodeVersion": "7.0",
- "digest": "7f6a12cec242c9fd4ece3a014eb12f771b4d5195280783ad771b5110c444c028"
- },
- "wilted_rose": {
- "category": "nature",
- "moji": "🥀",
- "description": "wilted flower",
- "unicodeVersion": "9.0",
- "digest": "401fb35a8c6d26db708b2756c0bb55e0c62490a8cbdd51a21d6634881a62d32c"
- },
- "wind_blowing_face": {
- "category": "nature",
- "moji": "🌬",
- "description": "wind blowing face",
- "unicodeVersion": "7.0",
- "digest": "acb691375579ce301ce94a0c9f23bebcac90139e2c3cea8aa8c6cb3b581e8ae3"
- },
- "wind_chime": {
- "category": "objects",
- "moji": "🎐",
- "description": "wind chime",
- "unicodeVersion": "6.0",
- "digest": "57b721fd94e359f9a8dcd9fc702a3c9f82b06f4347d5b6e33c9d42117dd26e8a"
- },
- "wine_glass": {
- "category": "food",
- "moji": "🍷",
- "description": "wine glass",
- "unicodeVersion": "6.0",
- "digest": "d7551c39ea933566603e8ccd18c9c116e8d4dd2dca14697f5d6f6c0dc481e05c"
- },
- "wink": {
- "category": "people",
- "moji": "😉",
- "description": "winking face",
- "unicodeVersion": "6.0",
- "digest": "a9746d44d7fd9f51c0b0329aeb9eaa438e4690162d6c82c482ec3f4bc2def8b9"
- },
- "wolf": {
- "category": "nature",
- "moji": "🐺",
- "description": "wolf face",
- "unicodeVersion": "6.0",
- "digest": "f961f617f4b6af5a0b1683132476ce765cb3ce74c3c5c32083593622ff8c10e7"
- },
- "woman": {
- "category": "people",
- "moji": "👩",
- "description": "woman",
- "unicodeVersion": "6.0",
- "digest": "7f06a5df2103c959228c15f44a76d39f87f792bef6aaadf7e4f47fe31a0e85fa"
- },
- "woman_tone1": {
- "category": "people",
- "moji": "👩🏻",
- "description": "woman tone 1",
- "unicodeVersion": "8.0",
- "digest": "e1e1bc0d9e6c06fc37e54251c9d492c83852016baeb16acfedd7242a0f4a289e"
- },
- "woman_tone2": {
- "category": "people",
- "moji": "👩🏼",
- "description": "woman tone 2",
- "unicodeVersion": "8.0",
- "digest": "f3e0dd2ee081ca179d8c70e3c5a77254f98880f732cabdf601d54b64ae8702cd"
- },
- "woman_tone3": {
- "category": "people",
- "moji": "👩🏽",
- "description": "woman tone 3",
- "unicodeVersion": "8.0",
- "digest": "1ad974a8aad0dc2cb62d22e7c6c155bd07030222c3f115e62c153ce5cb6b240d"
- },
- "woman_tone4": {
- "category": "people",
- "moji": "👩🏾",
- "description": "woman tone 4",
- "unicodeVersion": "8.0",
- "digest": "c11d39ec49db3d36256f372521461b9d668726cab6d63166ef23c9c99e3a9c55"
- },
- "woman_tone5": {
- "category": "people",
- "moji": "👩🏿",
- "description": "woman tone 5",
- "unicodeVersion": "8.0",
- "digest": "7220ffd6a38cf1587f1c45e3461c38f65162b604fb4261318c342bb6f1a4d95f"
- },
- "womans_clothes": {
- "category": "people",
- "moji": "👚",
- "description": "womans clothes",
- "unicodeVersion": "6.0",
- "digest": "4b47a76b3fa144213583b47c2284eee1e4148b9b4cd578f1d02ddb474c78a3ae"
- },
- "womans_hat": {
- "category": "people",
- "moji": "👒",
- "description": "womans hat",
- "unicodeVersion": "6.0",
- "digest": "7feded8ca13ddee2d9fd71e97a0e7f719d85f85190a69d6fde985d69e20bc422"
- },
- "womens": {
- "category": "symbols",
- "moji": "🚺",
- "description": "womens symbol",
- "unicodeVersion": "6.0",
- "digest": "d0dd248ac8f17c5eb5c24f636f2d6387f1e4126d2227834ffb89057e9428a19f"
- },
- "worried": {
- "category": "people",
- "moji": "😟",
- "description": "worried face",
- "unicodeVersion": "6.1",
- "digest": "66814ad2b00574ed539af543224116a3564b162b57e9d02d58f19513cb2c80f2"
- },
- "wrench": {
- "category": "objects",
- "moji": "🔧",
- "description": "wrench",
- "unicodeVersion": "6.0",
- "digest": "8478c1b8b0565f87fe6e4f429975f16919d80622a3cdbcc2e83f17fd6978a1d7"
- },
- "wrestlers": {
- "category": "activity",
- "moji": "🤼",
- "description": "wrestlers",
- "unicodeVersion": "9.0",
- "digest": "919cf0ff49517c62a0abc8a6067e196fa6a1d5f73fa5902537879775ee9fad13"
- },
- "wrestlers_tone1": {
- "category": "activity",
- "moji": "🤼🏻",
- "description": "wrestlers tone 1",
- "unicodeVersion": "9.0",
- "digest": "9611c3dfb8a18b8332135642d0fac74bd6557054909066141a81c9684bbc7207"
- },
- "wrestlers_tone2": {
- "category": "activity",
- "moji": "🤼🏼",
- "description": "wrestlers tone 2",
- "unicodeVersion": "9.0",
- "digest": "17c529119acb4aafd8c834874d6285e41d2d9694243cce9eb51c87f67d22a3be"
- },
- "wrestlers_tone3": {
- "category": "activity",
- "moji": "🤼🏽",
- "description": "wrestlers tone 3",
- "unicodeVersion": "9.0",
- "digest": "0f98afb56ecc165b4b8193c86565eaf0ded90456d6370b9d9f2e61eef572642e"
- },
- "wrestlers_tone4": {
- "category": "activity",
- "moji": "🤼🏾",
- "description": "wrestlers tone 4",
- "unicodeVersion": "9.0",
- "digest": "595507c7163ed2349d6f5cd3afeb3cb961a889bda1091bb5b03bf97c743ddd83"
- },
- "wrestlers_tone5": {
- "category": "activity",
- "moji": "🤼🏿",
- "description": "wrestlers tone 5",
- "unicodeVersion": "9.0",
- "digest": "9a844250d5dbce6369a7923154fd3e7192e9bbc8773044ede577e587c86a6481"
- },
- "writing_hand": {
- "category": "people",
- "moji": "✍",
- "description": "writing hand",
- "unicodeVersion": "1.1",
- "digest": "efe3bfa1c36098242e2c4cb2d66e8d76fd3c0bba57335059dd1ad25748752c41"
- },
- "writing_hand_tone1": {
- "category": "people",
- "moji": "✍🏻",
- "description": "writing hand tone 1",
- "unicodeVersion": "8.0",
- "digest": "13e6782eea27e216721c4d1aeaa049f9ae3d93c9052f131cc17618102d16e4f6"
- },
- "writing_hand_tone2": {
- "category": "people",
- "moji": "✍🏼",
- "description": "writing hand tone 2",
- "unicodeVersion": "8.0",
- "digest": "6ec5eeef36ef27fae05f2d3ac9bd97460d75b08fa52e01e239cbbe4101eb8ad8"
- },
- "writing_hand_tone3": {
- "category": "people",
- "moji": "✍🏽",
- "description": "writing hand tone 3",
- "unicodeVersion": "8.0",
- "digest": "e3d68b62cbda6579641f49b45581deca7653e6322df43413ee6b80967861e315"
- },
- "writing_hand_tone4": {
- "category": "people",
- "moji": "✍🏾",
- "description": "writing hand tone 4",
- "unicodeVersion": "8.0",
- "digest": "52b7652348605b384761de53c28ffc3dc84b1b34210f795b40bb3e6235b8a959"
- },
- "writing_hand_tone5": {
- "category": "people",
- "moji": "✍🏿",
- "description": "writing hand tone 5",
- "unicodeVersion": "8.0",
- "digest": "ce22c8e6c71ca3a07d32fb0c336301d015b81975a1019f20760ee908349c76dd"
- },
- "x": {
- "category": "symbols",
- "moji": "❌",
- "description": "cross mark",
- "unicodeVersion": "6.0",
- "digest": "d07158957d15f5b6c6fc56a9658a82ee1fa58f7b8b19d121a1713c9bf38cbdfc"
- },
- "yellow_heart": {
- "category": "symbols",
- "moji": "💛",
- "description": "yellow heart",
- "unicodeVersion": "6.0",
- "digest": "1785103b3aab8606869692986a2ff5e320dae4b6d58f7dca33beed221aff8f42"
- },
- "yen": {
- "category": "objects",
- "moji": "💴",
- "description": "banknote with yen sign",
- "unicodeVersion": "6.0",
- "digest": "b12182adf55be97d7d5e52176bb149c16f57d0645f508dcb97efbeab4607d439"
- },
- "yin_yang": {
- "category": "symbols",
- "moji": "☯",
- "description": "yin yang",
- "unicodeVersion": "1.1",
- "digest": "2d97f8a9eca001163c5895ff25ca66aad5dfabe5e2e00bda102fb6b9a27fc02b"
- },
- "yum": {
- "category": "people",
- "moji": "😋",
- "description": "face savouring delicious food",
- "unicodeVersion": "6.0",
- "digest": "796badd831c75797cd4acb88694d3bf19b2727678b3c2e63e465e4d8125e4ad4"
- },
- "zap": {
- "category": "nature",
- "moji": "⚡",
- "description": "high voltage sign",
- "unicodeVersion": "4.0",
- "digest": "fbbfbda066d067a5b92ca815c784b577354de3e6c7a3dfa9a1656c29dc804f0c"
- },
- "zero": {
- "category": "symbols",
- "moji": "0️⃣",
- "description": "keycap digit zero",
- "unicodeVersion": "3.0",
- "digest": "ef62df7416e51b02ff22787a981235053baabbb872247605e97834d9a7caff49"
- },
- "zipper_mouth": {
- "category": "people",
- "moji": "🤐",
- "description": "zipper-mouth face",
- "unicodeVersion": "8.0",
- "digest": "dfeeb9947458d1bb04805e46211d4f29aa89210239c475425ac04a1cef340701"
- },
- "zzz": {
- "category": "people",
- "moji": "💤",
- "description": "sleeping symbol",
- "unicodeVersion": "6.0",
- "digest": "6b19746f5be6ee5f10dcb0969557eb9b02972d4429052237facf8d4b4f768546"
}
-} \ No newline at end of file
+}
diff --git a/lib/gitlab/bitbucket_import/importers/issue_importer.rb b/lib/gitlab/bitbucket_import/importers/issue_importer.rb
index 2c3be67eabc..d194a311278 100644
--- a/lib/gitlab/bitbucket_import/importers/issue_importer.rb
+++ b/lib/gitlab/bitbucket_import/importers/issue_importer.rb
@@ -40,6 +40,8 @@ module Gitlab
project.issues.create!(attributes)
+ metrics.issues_counter.increment
+
log_info(import_stage: 'import_issue', message: 'finished', iid: object[:iid])
rescue StandardError => e
track_import_failure!(project, exception: e)
diff --git a/lib/gitlab/bitbucket_import/importers/issues_importer.rb b/lib/gitlab/bitbucket_import/importers/issues_importer.rb
index 6162433e701..8ab82ddb0be 100644
--- a/lib/gitlab/bitbucket_import/importers/issues_importer.rb
+++ b/lib/gitlab/bitbucket_import/importers/issues_importer.rb
@@ -7,17 +7,21 @@ module Gitlab
include ParallelScheduling
def execute
+ return job_waiter unless repo.issues_enabled?
+
log_info(import_stage: 'import_issues', message: 'importing issues')
issues = client.issues(project.import_source)
labels = build_labels_hash
- issues.each do |issue|
+ issues.each_with_index do |issue, index|
job_waiter.jobs_remaining += 1
next if already_enqueued?(issue)
+ allocate_issues_internal_id! if index == 0
+
job_delay = calculate_job_delay(job_waiter.jobs_remaining)
issue_hash = issue.to_hash.merge({ issue_type_id: default_issue_type_id, label_id: labels[issue.kind] })
@@ -49,11 +53,23 @@ module Gitlab
::WorkItems::Type.default_issue_type.id
end
+ def allocate_issues_internal_id!
+ last_bitbucket_issue = client.last_issue(repo)
+
+ return unless last_bitbucket_issue
+
+ Issue.track_namespace_iid!(project.project_namespace, last_bitbucket_issue.iid)
+ end
+
def build_labels_hash
labels = {}
project.labels.each { |l| labels[l.title.to_s] = l.id }
labels
end
+
+ def repo
+ @repo ||= client.repo(project.import_source)
+ end
end
end
end
diff --git a/lib/gitlab/bitbucket_import/importers/pull_request_importer.rb b/lib/gitlab/bitbucket_import/importers/pull_request_importer.rb
index a18d50e8fce..f7b1753a9f9 100644
--- a/lib/gitlab/bitbucket_import/importers/pull_request_importer.rb
+++ b/lib/gitlab/bitbucket_import/importers/pull_request_importer.rb
@@ -45,6 +45,8 @@ module Gitlab
merge_request.assignee_ids = [author_id]
merge_request.reviewer_ids = reviewers
merge_request.save!
+
+ metrics.merge_requests_counter.increment
end
log_info(import_stage: 'import_pull_request', message: 'finished', iid: object[:iid])
diff --git a/lib/gitlab/bitbucket_import/loggable.rb b/lib/gitlab/bitbucket_import/loggable.rb
index eda3cc96d4d..aeae993b9eb 100644
--- a/lib/gitlab/bitbucket_import/loggable.rb
+++ b/lib/gitlab/bitbucket_import/loggable.rb
@@ -19,6 +19,10 @@ module Gitlab
logger.error(log_data(messages))
end
+ def metrics
+ Gitlab::Import::Metrics.new(:bitbucket_importer, project)
+ end
+
private
def logger
diff --git a/lib/gitlab/emoji.rb b/lib/gitlab/emoji.rb
index 7d47bfe88fe..1a7a2fba2f3 100644
--- a/lib/gitlab/emoji.rb
+++ b/lib/gitlab/emoji.rb
@@ -6,7 +6,7 @@ module Gitlab
# When updating emoji assets increase the version below
# and update the version number in `app/assets/javascripts/emoji/index.js`
- EMOJI_VERSION = 2
+ EMOJI_VERSION = 3
# Return a Pathname to emoji's current versioned folder
#
diff --git a/lib/gitlab/gitaly_client/conflict_files_stitcher.rb b/lib/gitlab/gitaly_client/conflict_files_stitcher.rb
index b1278e3bfac..a6912547ce9 100644
--- a/lib/gitlab/gitaly_client/conflict_files_stitcher.rb
+++ b/lib/gitlab/gitaly_client/conflict_files_stitcher.rb
@@ -43,11 +43,15 @@ module Gitlab
def conflict_from_gitaly_file_header(header)
{
- ancestor: { path: header.ancestor_path },
- ours: { path: header.our_path, mode: header.our_mode },
- theirs: { path: header.their_path }
+ ancestor: { path: encode_path(header.ancestor_path) },
+ ours: { path: encode_path(header.our_path), mode: header.our_mode },
+ theirs: { path: encode_path(header.their_path) }
}
end
+
+ def encode_path(path)
+ Gitlab::EncodingHelper.encode_utf8(path)
+ end
end
end
end
diff --git a/lib/sidebars/admin/menus/admin_settings_menu.rb b/lib/sidebars/admin/menus/admin_settings_menu.rb
index 4656e0f33e2..4d2d19c60f7 100644
--- a/lib/sidebars/admin/menus/admin_settings_menu.rb
+++ b/lib/sidebars/admin/menus/admin_settings_menu.rb
@@ -12,7 +12,6 @@ module Sidebars
add_item(ci_cd_menu_item)
add_item(reporting_menu_item)
add_item(metrics_and_profiling_menu_item)
- add_item(service_usage_data_menu_item)
add_item(network_settings_menu_item)
add_item(appearance_menu_item)
add_item(preferences_menu_item)
@@ -102,15 +101,6 @@ module Sidebars
)
end
- def service_usage_data_menu_item
- ::Sidebars::MenuItem.new(
- title: _('Service usage data'),
- link: service_usage_data_admin_application_settings_path,
- active_routes: { path: 'admin/application_settings#service_usage_data' },
- item_id: :admin_service_usage
- )
- end
-
def network_settings_menu_item
::Sidebars::MenuItem.new(
title: _('Network'),
diff --git a/lib/sidebars/projects/super_sidebar_menus/monitor_menu.rb b/lib/sidebars/projects/super_sidebar_menus/monitor_menu.rb
index 0441d3b4a03..d4ecf132c44 100644
--- a/lib/sidebars/projects/super_sidebar_menus/monitor_menu.rb
+++ b/lib/sidebars/projects/super_sidebar_menus/monitor_menu.rb
@@ -18,6 +18,7 @@ module Sidebars
def configure_menu_items
[
:tracing,
+ :metrics,
:error_tracking,
:alert_management,
:incidents,
diff --git a/lib/tasks/tanuki_emoji.rake b/lib/tasks/tanuki_emoji.rake
index b3099853434..aec7d3c1bf6 100644
--- a/lib/tasks/tanuki_emoji.rake
+++ b/lib/tasks/tanuki_emoji.rake
@@ -30,9 +30,9 @@ namespace :tanuki_emoji do
require 'digest/sha2'
digest_emoji_map = {}
- emojis_map = {}
+ emojis_array = []
- TanukiEmoji.index.all.each do |emoji|
+ TanukiEmoji.index.all.sort_by(&:sort_key).each do |emoji|
emoji_path = Gitlab::Emoji.emoji_public_absolute_path.join("#{emoji.name}.png")
digest_entry = {
@@ -47,13 +47,14 @@ namespace :tanuki_emoji do
# Our new map is only characters to make the json substantially smaller
emoji_entry = {
+ n: emoji.name,
c: emoji.category,
e: emoji.codepoints,
d: emoji.description,
u: emoji.unicode_version
}
- emojis_map[emoji.name] = emoji_entry
+ emojis_array << emoji_entry
end
digests_json = File.join(Rails.root, 'fixtures', 'emojis', 'digests.json')
@@ -63,7 +64,7 @@ namespace :tanuki_emoji do
emojis_json = Gitlab::Emoji.emoji_public_absolute_path.join('emojis.json')
File.open(emojis_json, 'w') do |handle|
- handle.write(Gitlab::Json.pretty_generate(emojis_map))
+ handle.write(Gitlab::Json.pretty_generate(emojis_array))
end
end
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index 4df845f64ae..7fff677c22c 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -741,9 +741,6 @@ msgstr ""
msgid "%{emailPrefix}@company.com"
msgstr ""
-msgid "%{enable_service_ping_link_start}Enable%{enable_service_ping_link_end} or %{generate_manually_link_start}generate%{generate_manually_link_end} Service Ping to preview and download service usage data payload."
-msgstr ""
-
msgid "%{extra} more downstream pipelines"
msgstr ""
@@ -1228,6 +1225,9 @@ msgid_plural "%{strong_start}%{errors}%{strong_end} %{prefix} findings"
msgstr[0] ""
msgstr[1] ""
+msgid "%{strong_start}%{human_size}%{strong_end} Forked Project"
+msgstr ""
+
msgid "%{strong_start}%{human_size}%{strong_end} Project Storage"
msgstr ""
@@ -3414,6 +3414,9 @@ msgstr ""
msgid "AdminProjects|Delete Project %{projectName}?"
msgstr ""
+msgid "AdminSettings|%{generate_manually_link_start}Generate%{generate_manually_link_end} Service Ping to preview and download service usage data payload."
+msgstr ""
+
msgid "AdminSettings|%{setting_name} value used by both Rails and Browser JavaScript SDKs."
msgstr ""
@@ -3492,6 +3495,9 @@ msgstr ""
msgid "AdminSettings|Domain verification is an essential security measure for public GitLab sites. Users are required to demonstrate they control a domain before it is enabled. %{link_start}Learn more.%{link_end}"
msgstr ""
+msgid "AdminSettings|Download payload"
+msgstr ""
+
msgid "AdminSettings|Elasticsearch indexing"
msgstr ""
@@ -3690,6 +3696,9 @@ msgstr ""
msgid "AdminSettings|Send warning email"
msgstr ""
+msgid "AdminSettings|Service Ping payload not found in the application cache"
+msgstr ""
+
msgid "AdminSettings|Service ping is disabled in your configuration file, and cannot be enabled through this form. For more information, see the documentation on %{link_start}deactivating service ping%{link_end}."
msgstr ""
@@ -13612,6 +13621,12 @@ msgstr ""
msgid "Copy audio URL"
msgstr ""
+msgid "Copy autocomplete description"
+msgstr ""
+
+msgid "Copy autocomplete usage hint"
+msgstr ""
+
msgid "Copy branch name"
msgstr ""
@@ -13630,6 +13645,12 @@ msgstr ""
msgid "Copy commit SHA"
msgstr ""
+msgid "Copy customize name"
+msgstr ""
+
+msgid "Copy descriptive label"
+msgstr ""
+
msgid "Copy diagram URL"
msgstr ""
@@ -17449,6 +17470,9 @@ msgstr ""
msgid "Display as:"
msgstr ""
+msgid "Display blame info"
+msgstr ""
+
msgid "Display milestones"
msgstr ""
@@ -17620,9 +17644,6 @@ msgstr ""
msgid "Download image"
msgstr ""
-msgid "Download payload"
-msgstr ""
-
msgid "Download raw data (.csv)"
msgstr ""
@@ -18961,6 +18982,9 @@ msgstr ""
msgid "Error creating vulnerability finding: %{errors}"
msgstr ""
+msgid "Error deleting the value stream"
+msgstr ""
+
msgid "Error fetching branches"
msgstr ""
@@ -26652,7 +26676,7 @@ msgstr ""
msgid "JiraConnect|Groups are the GitLab groups and subgroups you link to this Jira instance."
msgstr ""
-msgid "JiraConnect|In order to complete the set up, you’ll need to complete a few steps in GitLab."
+msgid "JiraConnect|In order to complete the set up, you’ll need to complete a few steps in GitLab:"
msgstr ""
msgid "JiraConnect|Jira Connect Application ID"
@@ -26682,6 +26706,15 @@ msgstr ""
msgid "JiraConnect|Not seeing your groups? Only groups you have at least the Maintainer role for appear here."
msgstr ""
+msgid "JiraConnect|Prerequisites"
+msgstr ""
+
+msgid "JiraConnect|Set up OAuth authentication"
+msgstr ""
+
+msgid "JiraConnect|Set up your instance"
+msgstr ""
+
msgid "JiraConnect|Setting up this integration is only possible if you're a GitLab administrator."
msgstr ""
@@ -32477,6 +32510,24 @@ msgstr ""
msgid "Objective"
msgstr ""
+msgid "ObservabilityMetrics|Metrics"
+msgstr ""
+
+msgid "Observability|Enable"
+msgstr ""
+
+msgid "Observability|Failed to enable GitLab Observability."
+msgstr ""
+
+msgid "Observability|Failed to load page."
+msgstr ""
+
+msgid "Observability|Get started with GitLab Observability"
+msgstr ""
+
+msgid "Observability|Monitor your applications with GitLab Observability."
+msgstr ""
+
msgid "Oct"
msgstr ""
@@ -43751,9 +43802,6 @@ msgstr ""
msgid "Service Desk allows people to create issues in your GitLab instance without their own user account. It provides a unique email address for end users to create issues in a project. Replies can be sent either through the GitLab interface or by email. End users only see threads through email."
msgstr ""
-msgid "Service Ping payload not found in the application cache"
-msgstr ""
-
msgid "Service account"
msgstr ""
@@ -43763,9 +43811,6 @@ msgstr ""
msgid "Service accounts"
msgstr ""
-msgid "Service usage data"
-msgstr ""
-
msgid "ServiceAccount|No more seats are available to create Service Account User"
msgstr ""
@@ -49985,15 +50030,6 @@ msgstr ""
msgid "Tracing|Duration (ms)"
msgstr ""
-msgid "Tracing|Enable"
-msgstr ""
-
-msgid "Tracing|Failed to enable tracing."
-msgstr ""
-
-msgid "Tracing|Failed to load page."
-msgstr ""
-
msgid "Tracing|Failed to load trace details."
msgstr ""
@@ -50003,9 +50039,6 @@ msgstr ""
msgid "Tracing|Filter Traces"
msgstr ""
-msgid "Tracing|Get started with Tracing"
-msgstr ""
-
msgid "Tracing|Last 1 hour"
msgstr ""
@@ -50036,9 +50069,6 @@ msgstr ""
msgid "Tracing|Last 7 days"
msgstr ""
-msgid "Tracing|Monitor your applications with GitLab Distributed Tracing."
-msgstr ""
-
msgid "Tracing|No traces to display."
msgstr ""
diff --git a/public/-/emojis/3/100.png b/public/-/emojis/3/100.png
new file mode 100644
index 00000000000..3501136c22d
--- /dev/null
+++ b/public/-/emojis/3/100.png
Binary files differ
diff --git a/public/-/emojis/3/1234.png b/public/-/emojis/3/1234.png
new file mode 100644
index 00000000000..8ce28681ebc
--- /dev/null
+++ b/public/-/emojis/3/1234.png
Binary files differ
diff --git a/public/-/emojis/3/8ball.png b/public/-/emojis/3/8ball.png
new file mode 100644
index 00000000000..48207741211
--- /dev/null
+++ b/public/-/emojis/3/8ball.png
Binary files differ
diff --git a/public/-/emojis/3/a.png b/public/-/emojis/3/a.png
new file mode 100644
index 00000000000..6c4875bce2f
--- /dev/null
+++ b/public/-/emojis/3/a.png
Binary files differ
diff --git a/public/-/emojis/3/ab.png b/public/-/emojis/3/ab.png
new file mode 100644
index 00000000000..40c566e63eb
--- /dev/null
+++ b/public/-/emojis/3/ab.png
Binary files differ
diff --git a/public/-/emojis/3/abc.png b/public/-/emojis/3/abc.png
new file mode 100644
index 00000000000..c9a0764b9d6
--- /dev/null
+++ b/public/-/emojis/3/abc.png
Binary files differ
diff --git a/public/-/emojis/3/abcd.png b/public/-/emojis/3/abcd.png
new file mode 100644
index 00000000000..e22fcb79e5a
--- /dev/null
+++ b/public/-/emojis/3/abcd.png
Binary files differ
diff --git a/public/-/emojis/3/accept.png b/public/-/emojis/3/accept.png
new file mode 100644
index 00000000000..0348dded3d8
--- /dev/null
+++ b/public/-/emojis/3/accept.png
Binary files differ
diff --git a/public/-/emojis/3/aerial_tramway.png b/public/-/emojis/3/aerial_tramway.png
new file mode 100644
index 00000000000..ec1cf64f019
--- /dev/null
+++ b/public/-/emojis/3/aerial_tramway.png
Binary files differ
diff --git a/public/-/emojis/3/airplane.png b/public/-/emojis/3/airplane.png
new file mode 100644
index 00000000000..ba6dda4fae3
--- /dev/null
+++ b/public/-/emojis/3/airplane.png
Binary files differ
diff --git a/public/-/emojis/3/airplane_arriving.png b/public/-/emojis/3/airplane_arriving.png
new file mode 100644
index 00000000000..cc83ea662d3
--- /dev/null
+++ b/public/-/emojis/3/airplane_arriving.png
Binary files differ
diff --git a/public/-/emojis/3/airplane_departure.png b/public/-/emojis/3/airplane_departure.png
new file mode 100644
index 00000000000..d72e051c383
--- /dev/null
+++ b/public/-/emojis/3/airplane_departure.png
Binary files differ
diff --git a/public/-/emojis/3/airplane_small.png b/public/-/emojis/3/airplane_small.png
new file mode 100644
index 00000000000..1dc72e20096
--- /dev/null
+++ b/public/-/emojis/3/airplane_small.png
Binary files differ
diff --git a/public/-/emojis/3/alarm_clock.png b/public/-/emojis/3/alarm_clock.png
new file mode 100644
index 00000000000..0509bb4226c
--- /dev/null
+++ b/public/-/emojis/3/alarm_clock.png
Binary files differ
diff --git a/public/-/emojis/3/alembic.png b/public/-/emojis/3/alembic.png
new file mode 100644
index 00000000000..56801316030
--- /dev/null
+++ b/public/-/emojis/3/alembic.png
Binary files differ
diff --git a/public/-/emojis/3/alien.png b/public/-/emojis/3/alien.png
new file mode 100644
index 00000000000..f22de392f55
--- /dev/null
+++ b/public/-/emojis/3/alien.png
Binary files differ
diff --git a/public/-/emojis/3/ambulance.png b/public/-/emojis/3/ambulance.png
new file mode 100644
index 00000000000..fa27a6298b9
--- /dev/null
+++ b/public/-/emojis/3/ambulance.png
Binary files differ
diff --git a/public/-/emojis/3/amphora.png b/public/-/emojis/3/amphora.png
new file mode 100644
index 00000000000..fb0c91f90b3
--- /dev/null
+++ b/public/-/emojis/3/amphora.png
Binary files differ
diff --git a/public/-/emojis/3/anchor.png b/public/-/emojis/3/anchor.png
new file mode 100644
index 00000000000..87123bfda86
--- /dev/null
+++ b/public/-/emojis/3/anchor.png
Binary files differ
diff --git a/public/-/emojis/3/angel.png b/public/-/emojis/3/angel.png
new file mode 100644
index 00000000000..172bab3a431
--- /dev/null
+++ b/public/-/emojis/3/angel.png
Binary files differ
diff --git a/public/-/emojis/3/angel_tone1.png b/public/-/emojis/3/angel_tone1.png
new file mode 100644
index 00000000000..e158cf2577d
--- /dev/null
+++ b/public/-/emojis/3/angel_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/angel_tone2.png b/public/-/emojis/3/angel_tone2.png
new file mode 100644
index 00000000000..4f034d25d47
--- /dev/null
+++ b/public/-/emojis/3/angel_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/angel_tone3.png b/public/-/emojis/3/angel_tone3.png
new file mode 100644
index 00000000000..a5cc52bd6cc
--- /dev/null
+++ b/public/-/emojis/3/angel_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/angel_tone4.png b/public/-/emojis/3/angel_tone4.png
new file mode 100644
index 00000000000..fe7f467844e
--- /dev/null
+++ b/public/-/emojis/3/angel_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/angel_tone5.png b/public/-/emojis/3/angel_tone5.png
new file mode 100644
index 00000000000..8b3c0affb91
--- /dev/null
+++ b/public/-/emojis/3/angel_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/anger.png b/public/-/emojis/3/anger.png
new file mode 100644
index 00000000000..b0466432996
--- /dev/null
+++ b/public/-/emojis/3/anger.png
Binary files differ
diff --git a/public/-/emojis/3/anger_right.png b/public/-/emojis/3/anger_right.png
new file mode 100644
index 00000000000..f79728df54d
--- /dev/null
+++ b/public/-/emojis/3/anger_right.png
Binary files differ
diff --git a/public/-/emojis/3/angry.png b/public/-/emojis/3/angry.png
new file mode 100644
index 00000000000..6004c26ecaf
--- /dev/null
+++ b/public/-/emojis/3/angry.png
Binary files differ
diff --git a/public/-/emojis/3/anguished.png b/public/-/emojis/3/anguished.png
new file mode 100644
index 00000000000..a19ec81e6e5
--- /dev/null
+++ b/public/-/emojis/3/anguished.png
Binary files differ
diff --git a/public/-/emojis/3/ant.png b/public/-/emojis/3/ant.png
new file mode 100644
index 00000000000..74dc0dc8464
--- /dev/null
+++ b/public/-/emojis/3/ant.png
Binary files differ
diff --git a/public/-/emojis/3/apple.png b/public/-/emojis/3/apple.png
new file mode 100644
index 00000000000..4b985bde351
--- /dev/null
+++ b/public/-/emojis/3/apple.png
Binary files differ
diff --git a/public/-/emojis/3/aquarius.png b/public/-/emojis/3/aquarius.png
new file mode 100644
index 00000000000..ea054a8a9e7
--- /dev/null
+++ b/public/-/emojis/3/aquarius.png
Binary files differ
diff --git a/public/-/emojis/3/aries.png b/public/-/emojis/3/aries.png
new file mode 100644
index 00000000000..8b6c08a7552
--- /dev/null
+++ b/public/-/emojis/3/aries.png
Binary files differ
diff --git a/public/-/emojis/3/arrow_backward.png b/public/-/emojis/3/arrow_backward.png
new file mode 100644
index 00000000000..6843100777b
--- /dev/null
+++ b/public/-/emojis/3/arrow_backward.png
Binary files differ
diff --git a/public/-/emojis/3/arrow_double_down.png b/public/-/emojis/3/arrow_double_down.png
new file mode 100644
index 00000000000..d9d05a7bbc7
--- /dev/null
+++ b/public/-/emojis/3/arrow_double_down.png
Binary files differ
diff --git a/public/-/emojis/3/arrow_double_up.png b/public/-/emojis/3/arrow_double_up.png
new file mode 100644
index 00000000000..c351d36485d
--- /dev/null
+++ b/public/-/emojis/3/arrow_double_up.png
Binary files differ
diff --git a/public/-/emojis/3/arrow_down.png b/public/-/emojis/3/arrow_down.png
new file mode 100644
index 00000000000..68a4aea4def
--- /dev/null
+++ b/public/-/emojis/3/arrow_down.png
Binary files differ
diff --git a/public/-/emojis/3/arrow_down_small.png b/public/-/emojis/3/arrow_down_small.png
new file mode 100644
index 00000000000..2c0cf94e73d
--- /dev/null
+++ b/public/-/emojis/3/arrow_down_small.png
Binary files differ
diff --git a/public/-/emojis/3/arrow_forward.png b/public/-/emojis/3/arrow_forward.png
new file mode 100644
index 00000000000..fa4e5e37673
--- /dev/null
+++ b/public/-/emojis/3/arrow_forward.png
Binary files differ
diff --git a/public/-/emojis/3/arrow_heading_down.png b/public/-/emojis/3/arrow_heading_down.png
new file mode 100644
index 00000000000..59717864566
--- /dev/null
+++ b/public/-/emojis/3/arrow_heading_down.png
Binary files differ
diff --git a/public/-/emojis/3/arrow_heading_up.png b/public/-/emojis/3/arrow_heading_up.png
new file mode 100644
index 00000000000..6961a4b3f9c
--- /dev/null
+++ b/public/-/emojis/3/arrow_heading_up.png
Binary files differ
diff --git a/public/-/emojis/3/arrow_left.png b/public/-/emojis/3/arrow_left.png
new file mode 100644
index 00000000000..4fab1e0a87c
--- /dev/null
+++ b/public/-/emojis/3/arrow_left.png
Binary files differ
diff --git a/public/-/emojis/3/arrow_lower_left.png b/public/-/emojis/3/arrow_lower_left.png
new file mode 100644
index 00000000000..7ac710061c7
--- /dev/null
+++ b/public/-/emojis/3/arrow_lower_left.png
Binary files differ
diff --git a/public/-/emojis/3/arrow_lower_right.png b/public/-/emojis/3/arrow_lower_right.png
new file mode 100644
index 00000000000..61dae63f729
--- /dev/null
+++ b/public/-/emojis/3/arrow_lower_right.png
Binary files differ
diff --git a/public/-/emojis/3/arrow_right.png b/public/-/emojis/3/arrow_right.png
new file mode 100644
index 00000000000..778a3575616
--- /dev/null
+++ b/public/-/emojis/3/arrow_right.png
Binary files differ
diff --git a/public/-/emojis/3/arrow_right_hook.png b/public/-/emojis/3/arrow_right_hook.png
new file mode 100644
index 00000000000..bd34a4f5d0f
--- /dev/null
+++ b/public/-/emojis/3/arrow_right_hook.png
Binary files differ
diff --git a/public/-/emojis/3/arrow_up.png b/public/-/emojis/3/arrow_up.png
new file mode 100644
index 00000000000..699e54e296d
--- /dev/null
+++ b/public/-/emojis/3/arrow_up.png
Binary files differ
diff --git a/public/-/emojis/3/arrow_up_down.png b/public/-/emojis/3/arrow_up_down.png
new file mode 100644
index 00000000000..cf355615344
--- /dev/null
+++ b/public/-/emojis/3/arrow_up_down.png
Binary files differ
diff --git a/public/-/emojis/3/arrow_up_small.png b/public/-/emojis/3/arrow_up_small.png
new file mode 100644
index 00000000000..1f0d4e2ee1b
--- /dev/null
+++ b/public/-/emojis/3/arrow_up_small.png
Binary files differ
diff --git a/public/-/emojis/3/arrow_upper_left.png b/public/-/emojis/3/arrow_upper_left.png
new file mode 100644
index 00000000000..4fefca9d4ff
--- /dev/null
+++ b/public/-/emojis/3/arrow_upper_left.png
Binary files differ
diff --git a/public/-/emojis/3/arrow_upper_right.png b/public/-/emojis/3/arrow_upper_right.png
new file mode 100644
index 00000000000..c1439f52943
--- /dev/null
+++ b/public/-/emojis/3/arrow_upper_right.png
Binary files differ
diff --git a/public/-/emojis/3/arrows_clockwise.png b/public/-/emojis/3/arrows_clockwise.png
new file mode 100644
index 00000000000..12bc8184d65
--- /dev/null
+++ b/public/-/emojis/3/arrows_clockwise.png
Binary files differ
diff --git a/public/-/emojis/3/arrows_counterclockwise.png b/public/-/emojis/3/arrows_counterclockwise.png
new file mode 100644
index 00000000000..2a65f636b2b
--- /dev/null
+++ b/public/-/emojis/3/arrows_counterclockwise.png
Binary files differ
diff --git a/public/-/emojis/3/art.png b/public/-/emojis/3/art.png
new file mode 100644
index 00000000000..170e1b2ff97
--- /dev/null
+++ b/public/-/emojis/3/art.png
Binary files differ
diff --git a/public/-/emojis/3/articulated_lorry.png b/public/-/emojis/3/articulated_lorry.png
new file mode 100644
index 00000000000..3a0f4daa029
--- /dev/null
+++ b/public/-/emojis/3/articulated_lorry.png
Binary files differ
diff --git a/public/-/emojis/3/asterisk.png b/public/-/emojis/3/asterisk.png
new file mode 100644
index 00000000000..2f379e50373
--- /dev/null
+++ b/public/-/emojis/3/asterisk.png
Binary files differ
diff --git a/public/-/emojis/3/astonished.png b/public/-/emojis/3/astonished.png
new file mode 100644
index 00000000000..1755a8e51b1
--- /dev/null
+++ b/public/-/emojis/3/astonished.png
Binary files differ
diff --git a/public/-/emojis/3/athletic_shoe.png b/public/-/emojis/3/athletic_shoe.png
new file mode 100644
index 00000000000..3fd62e6d275
--- /dev/null
+++ b/public/-/emojis/3/athletic_shoe.png
Binary files differ
diff --git a/public/-/emojis/3/atm.png b/public/-/emojis/3/atm.png
new file mode 100644
index 00000000000..241d8d13e89
--- /dev/null
+++ b/public/-/emojis/3/atm.png
Binary files differ
diff --git a/public/-/emojis/3/atom.png b/public/-/emojis/3/atom.png
new file mode 100644
index 00000000000..5905490208f
--- /dev/null
+++ b/public/-/emojis/3/atom.png
Binary files differ
diff --git a/public/-/emojis/3/avocado.png b/public/-/emojis/3/avocado.png
new file mode 100644
index 00000000000..9649361f901
--- /dev/null
+++ b/public/-/emojis/3/avocado.png
Binary files differ
diff --git a/public/-/emojis/3/b.png b/public/-/emojis/3/b.png
new file mode 100644
index 00000000000..d72ba8aecf8
--- /dev/null
+++ b/public/-/emojis/3/b.png
Binary files differ
diff --git a/public/-/emojis/3/baby.png b/public/-/emojis/3/baby.png
new file mode 100644
index 00000000000..65ec5c9e920
--- /dev/null
+++ b/public/-/emojis/3/baby.png
Binary files differ
diff --git a/public/-/emojis/3/baby_bottle.png b/public/-/emojis/3/baby_bottle.png
new file mode 100644
index 00000000000..71fa119f5bb
--- /dev/null
+++ b/public/-/emojis/3/baby_bottle.png
Binary files differ
diff --git a/public/-/emojis/3/baby_chick.png b/public/-/emojis/3/baby_chick.png
new file mode 100644
index 00000000000..6a59d81132d
--- /dev/null
+++ b/public/-/emojis/3/baby_chick.png
Binary files differ
diff --git a/public/-/emojis/3/baby_symbol.png b/public/-/emojis/3/baby_symbol.png
new file mode 100644
index 00000000000..e031a83c006
--- /dev/null
+++ b/public/-/emojis/3/baby_symbol.png
Binary files differ
diff --git a/public/-/emojis/3/baby_tone1.png b/public/-/emojis/3/baby_tone1.png
new file mode 100644
index 00000000000..b1b44d162a2
--- /dev/null
+++ b/public/-/emojis/3/baby_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/baby_tone2.png b/public/-/emojis/3/baby_tone2.png
new file mode 100644
index 00000000000..f886dfdd55b
--- /dev/null
+++ b/public/-/emojis/3/baby_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/baby_tone3.png b/public/-/emojis/3/baby_tone3.png
new file mode 100644
index 00000000000..dceede5f0b2
--- /dev/null
+++ b/public/-/emojis/3/baby_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/baby_tone4.png b/public/-/emojis/3/baby_tone4.png
new file mode 100644
index 00000000000..76855978285
--- /dev/null
+++ b/public/-/emojis/3/baby_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/baby_tone5.png b/public/-/emojis/3/baby_tone5.png
new file mode 100644
index 00000000000..9b7a8f3bc04
--- /dev/null
+++ b/public/-/emojis/3/baby_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/back.png b/public/-/emojis/3/back.png
new file mode 100644
index 00000000000..b284d7d9d21
--- /dev/null
+++ b/public/-/emojis/3/back.png
Binary files differ
diff --git a/public/-/emojis/3/bacon.png b/public/-/emojis/3/bacon.png
new file mode 100644
index 00000000000..c3fc3f71ec9
--- /dev/null
+++ b/public/-/emojis/3/bacon.png
Binary files differ
diff --git a/public/-/emojis/3/badminton.png b/public/-/emojis/3/badminton.png
new file mode 100644
index 00000000000..60cdd61a0b0
--- /dev/null
+++ b/public/-/emojis/3/badminton.png
Binary files differ
diff --git a/public/-/emojis/3/baggage_claim.png b/public/-/emojis/3/baggage_claim.png
new file mode 100644
index 00000000000..86138e53281
--- /dev/null
+++ b/public/-/emojis/3/baggage_claim.png
Binary files differ
diff --git a/public/-/emojis/3/balloon.png b/public/-/emojis/3/balloon.png
new file mode 100644
index 00000000000..6baaa25d595
--- /dev/null
+++ b/public/-/emojis/3/balloon.png
Binary files differ
diff --git a/public/-/emojis/3/ballot_box.png b/public/-/emojis/3/ballot_box.png
new file mode 100644
index 00000000000..296a69bea76
--- /dev/null
+++ b/public/-/emojis/3/ballot_box.png
Binary files differ
diff --git a/public/-/emojis/3/ballot_box_with_check.png b/public/-/emojis/3/ballot_box_with_check.png
new file mode 100644
index 00000000000..cd2cfc0c3bf
--- /dev/null
+++ b/public/-/emojis/3/ballot_box_with_check.png
Binary files differ
diff --git a/public/-/emojis/3/bamboo.png b/public/-/emojis/3/bamboo.png
new file mode 100644
index 00000000000..0a49e68d188
--- /dev/null
+++ b/public/-/emojis/3/bamboo.png
Binary files differ
diff --git a/public/-/emojis/3/banana.png b/public/-/emojis/3/banana.png
new file mode 100644
index 00000000000..1ba957e89b6
--- /dev/null
+++ b/public/-/emojis/3/banana.png
Binary files differ
diff --git a/public/-/emojis/3/bangbang.png b/public/-/emojis/3/bangbang.png
new file mode 100644
index 00000000000..005e832fd16
--- /dev/null
+++ b/public/-/emojis/3/bangbang.png
Binary files differ
diff --git a/public/-/emojis/3/bank.png b/public/-/emojis/3/bank.png
new file mode 100644
index 00000000000..9e056f23ca6
--- /dev/null
+++ b/public/-/emojis/3/bank.png
Binary files differ
diff --git a/public/-/emojis/3/bar_chart.png b/public/-/emojis/3/bar_chart.png
new file mode 100644
index 00000000000..9f2638751f0
--- /dev/null
+++ b/public/-/emojis/3/bar_chart.png
Binary files differ
diff --git a/public/-/emojis/3/barber.png b/public/-/emojis/3/barber.png
new file mode 100644
index 00000000000..2bbc3511668
--- /dev/null
+++ b/public/-/emojis/3/barber.png
Binary files differ
diff --git a/public/-/emojis/3/baseball.png b/public/-/emojis/3/baseball.png
new file mode 100644
index 00000000000..a5c0d615728
--- /dev/null
+++ b/public/-/emojis/3/baseball.png
Binary files differ
diff --git a/public/-/emojis/3/basketball.png b/public/-/emojis/3/basketball.png
new file mode 100644
index 00000000000..b91e88f87d4
--- /dev/null
+++ b/public/-/emojis/3/basketball.png
Binary files differ
diff --git a/public/-/emojis/3/basketball_player.png b/public/-/emojis/3/basketball_player.png
new file mode 100644
index 00000000000..8fabefd1d22
--- /dev/null
+++ b/public/-/emojis/3/basketball_player.png
Binary files differ
diff --git a/public/-/emojis/3/basketball_player_tone1.png b/public/-/emojis/3/basketball_player_tone1.png
new file mode 100644
index 00000000000..870f251e92d
--- /dev/null
+++ b/public/-/emojis/3/basketball_player_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/basketball_player_tone2.png b/public/-/emojis/3/basketball_player_tone2.png
new file mode 100644
index 00000000000..644cb8ce6f2
--- /dev/null
+++ b/public/-/emojis/3/basketball_player_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/basketball_player_tone3.png b/public/-/emojis/3/basketball_player_tone3.png
new file mode 100644
index 00000000000..913e7089c7a
--- /dev/null
+++ b/public/-/emojis/3/basketball_player_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/basketball_player_tone4.png b/public/-/emojis/3/basketball_player_tone4.png
new file mode 100644
index 00000000000..330790f88ea
--- /dev/null
+++ b/public/-/emojis/3/basketball_player_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/basketball_player_tone5.png b/public/-/emojis/3/basketball_player_tone5.png
new file mode 100644
index 00000000000..ff79e0bd2e6
--- /dev/null
+++ b/public/-/emojis/3/basketball_player_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/bat.png b/public/-/emojis/3/bat.png
new file mode 100644
index 00000000000..e63cc1cac1f
--- /dev/null
+++ b/public/-/emojis/3/bat.png
Binary files differ
diff --git a/public/-/emojis/3/bath.png b/public/-/emojis/3/bath.png
new file mode 100644
index 00000000000..a3bfe7f1cf9
--- /dev/null
+++ b/public/-/emojis/3/bath.png
Binary files differ
diff --git a/public/-/emojis/3/bath_tone1.png b/public/-/emojis/3/bath_tone1.png
new file mode 100644
index 00000000000..595211ac853
--- /dev/null
+++ b/public/-/emojis/3/bath_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/bath_tone2.png b/public/-/emojis/3/bath_tone2.png
new file mode 100644
index 00000000000..f9441853388
--- /dev/null
+++ b/public/-/emojis/3/bath_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/bath_tone3.png b/public/-/emojis/3/bath_tone3.png
new file mode 100644
index 00000000000..eb70bfc776d
--- /dev/null
+++ b/public/-/emojis/3/bath_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/bath_tone4.png b/public/-/emojis/3/bath_tone4.png
new file mode 100644
index 00000000000..09f6deccbca
--- /dev/null
+++ b/public/-/emojis/3/bath_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/bath_tone5.png b/public/-/emojis/3/bath_tone5.png
new file mode 100644
index 00000000000..60b16f61659
--- /dev/null
+++ b/public/-/emojis/3/bath_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/bathtub.png b/public/-/emojis/3/bathtub.png
new file mode 100644
index 00000000000..501ccae15a7
--- /dev/null
+++ b/public/-/emojis/3/bathtub.png
Binary files differ
diff --git a/public/-/emojis/3/battery.png b/public/-/emojis/3/battery.png
new file mode 100644
index 00000000000..12843f1c95e
--- /dev/null
+++ b/public/-/emojis/3/battery.png
Binary files differ
diff --git a/public/-/emojis/3/beach.png b/public/-/emojis/3/beach.png
new file mode 100644
index 00000000000..a9226e600d3
--- /dev/null
+++ b/public/-/emojis/3/beach.png
Binary files differ
diff --git a/public/-/emojis/3/beach_umbrella.png b/public/-/emojis/3/beach_umbrella.png
new file mode 100644
index 00000000000..5e624c39828
--- /dev/null
+++ b/public/-/emojis/3/beach_umbrella.png
Binary files differ
diff --git a/public/-/emojis/3/bear.png b/public/-/emojis/3/bear.png
new file mode 100644
index 00000000000..acc09b24874
--- /dev/null
+++ b/public/-/emojis/3/bear.png
Binary files differ
diff --git a/public/-/emojis/3/bed.png b/public/-/emojis/3/bed.png
new file mode 100644
index 00000000000..26ced7e343e
--- /dev/null
+++ b/public/-/emojis/3/bed.png
Binary files differ
diff --git a/public/-/emojis/3/bee.png b/public/-/emojis/3/bee.png
new file mode 100644
index 00000000000..969e84a62d8
--- /dev/null
+++ b/public/-/emojis/3/bee.png
Binary files differ
diff --git a/public/-/emojis/3/beer.png b/public/-/emojis/3/beer.png
new file mode 100644
index 00000000000..84b9b596b07
--- /dev/null
+++ b/public/-/emojis/3/beer.png
Binary files differ
diff --git a/public/-/emojis/3/beers.png b/public/-/emojis/3/beers.png
new file mode 100644
index 00000000000..b9f281aa043
--- /dev/null
+++ b/public/-/emojis/3/beers.png
Binary files differ
diff --git a/public/-/emojis/3/beetle.png b/public/-/emojis/3/beetle.png
new file mode 100644
index 00000000000..48a4be009f8
--- /dev/null
+++ b/public/-/emojis/3/beetle.png
Binary files differ
diff --git a/public/-/emojis/3/beginner.png b/public/-/emojis/3/beginner.png
new file mode 100644
index 00000000000..f96db16b96a
--- /dev/null
+++ b/public/-/emojis/3/beginner.png
Binary files differ
diff --git a/public/-/emojis/3/bell.png b/public/-/emojis/3/bell.png
new file mode 100644
index 00000000000..b46ebdb6288
--- /dev/null
+++ b/public/-/emojis/3/bell.png
Binary files differ
diff --git a/public/-/emojis/3/bellhop.png b/public/-/emojis/3/bellhop.png
new file mode 100644
index 00000000000..dbe77931480
--- /dev/null
+++ b/public/-/emojis/3/bellhop.png
Binary files differ
diff --git a/public/-/emojis/3/bento.png b/public/-/emojis/3/bento.png
new file mode 100644
index 00000000000..f68dcb2ea68
--- /dev/null
+++ b/public/-/emojis/3/bento.png
Binary files differ
diff --git a/public/-/emojis/3/bicyclist.png b/public/-/emojis/3/bicyclist.png
new file mode 100644
index 00000000000..b17c6711cda
--- /dev/null
+++ b/public/-/emojis/3/bicyclist.png
Binary files differ
diff --git a/public/-/emojis/3/bicyclist_tone1.png b/public/-/emojis/3/bicyclist_tone1.png
new file mode 100644
index 00000000000..843080335ce
--- /dev/null
+++ b/public/-/emojis/3/bicyclist_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/bicyclist_tone2.png b/public/-/emojis/3/bicyclist_tone2.png
new file mode 100644
index 00000000000..a51965af04f
--- /dev/null
+++ b/public/-/emojis/3/bicyclist_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/bicyclist_tone3.png b/public/-/emojis/3/bicyclist_tone3.png
new file mode 100644
index 00000000000..3a168648f36
--- /dev/null
+++ b/public/-/emojis/3/bicyclist_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/bicyclist_tone4.png b/public/-/emojis/3/bicyclist_tone4.png
new file mode 100644
index 00000000000..cccf1d9daf0
--- /dev/null
+++ b/public/-/emojis/3/bicyclist_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/bicyclist_tone5.png b/public/-/emojis/3/bicyclist_tone5.png
new file mode 100644
index 00000000000..b4ace73d9c5
--- /dev/null
+++ b/public/-/emojis/3/bicyclist_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/bike.png b/public/-/emojis/3/bike.png
new file mode 100644
index 00000000000..93f96307aca
--- /dev/null
+++ b/public/-/emojis/3/bike.png
Binary files differ
diff --git a/public/-/emojis/3/bikini.png b/public/-/emojis/3/bikini.png
new file mode 100644
index 00000000000..e3ec48ceccd
--- /dev/null
+++ b/public/-/emojis/3/bikini.png
Binary files differ
diff --git a/public/-/emojis/3/biohazard.png b/public/-/emojis/3/biohazard.png
new file mode 100644
index 00000000000..38efca6e9be
--- /dev/null
+++ b/public/-/emojis/3/biohazard.png
Binary files differ
diff --git a/public/-/emojis/3/bird.png b/public/-/emojis/3/bird.png
new file mode 100644
index 00000000000..3c24adad7e9
--- /dev/null
+++ b/public/-/emojis/3/bird.png
Binary files differ
diff --git a/public/-/emojis/3/birthday.png b/public/-/emojis/3/birthday.png
new file mode 100644
index 00000000000..079f6b4f6a6
--- /dev/null
+++ b/public/-/emojis/3/birthday.png
Binary files differ
diff --git a/public/-/emojis/3/black_circle.png b/public/-/emojis/3/black_circle.png
new file mode 100644
index 00000000000..aeb256fad50
--- /dev/null
+++ b/public/-/emojis/3/black_circle.png
Binary files differ
diff --git a/public/-/emojis/3/black_heart.png b/public/-/emojis/3/black_heart.png
new file mode 100644
index 00000000000..e03590a7e1b
--- /dev/null
+++ b/public/-/emojis/3/black_heart.png
Binary files differ
diff --git a/public/-/emojis/3/black_joker.png b/public/-/emojis/3/black_joker.png
new file mode 100644
index 00000000000..198f3bf92d4
--- /dev/null
+++ b/public/-/emojis/3/black_joker.png
Binary files differ
diff --git a/public/-/emojis/3/black_large_square.png b/public/-/emojis/3/black_large_square.png
new file mode 100644
index 00000000000..59885c1decf
--- /dev/null
+++ b/public/-/emojis/3/black_large_square.png
Binary files differ
diff --git a/public/-/emojis/3/black_medium_small_square.png b/public/-/emojis/3/black_medium_small_square.png
new file mode 100644
index 00000000000..de0e9a53fd7
--- /dev/null
+++ b/public/-/emojis/3/black_medium_small_square.png
Binary files differ
diff --git a/public/-/emojis/3/black_medium_square.png b/public/-/emojis/3/black_medium_square.png
new file mode 100644
index 00000000000..41e0821fd2c
--- /dev/null
+++ b/public/-/emojis/3/black_medium_square.png
Binary files differ
diff --git a/public/-/emojis/3/black_nib.png b/public/-/emojis/3/black_nib.png
new file mode 100644
index 00000000000..b7142a9af5b
--- /dev/null
+++ b/public/-/emojis/3/black_nib.png
Binary files differ
diff --git a/public/-/emojis/3/black_small_square.png b/public/-/emojis/3/black_small_square.png
new file mode 100644
index 00000000000..f812d0b647f
--- /dev/null
+++ b/public/-/emojis/3/black_small_square.png
Binary files differ
diff --git a/public/-/emojis/3/black_square_button.png b/public/-/emojis/3/black_square_button.png
new file mode 100644
index 00000000000..633c32431cf
--- /dev/null
+++ b/public/-/emojis/3/black_square_button.png
Binary files differ
diff --git a/public/-/emojis/3/blossom.png b/public/-/emojis/3/blossom.png
new file mode 100644
index 00000000000..251f15cb23b
--- /dev/null
+++ b/public/-/emojis/3/blossom.png
Binary files differ
diff --git a/public/-/emojis/3/blowfish.png b/public/-/emojis/3/blowfish.png
new file mode 100644
index 00000000000..4cab2fc8fc6
--- /dev/null
+++ b/public/-/emojis/3/blowfish.png
Binary files differ
diff --git a/public/-/emojis/3/blue_book.png b/public/-/emojis/3/blue_book.png
new file mode 100644
index 00000000000..ca10b2dbf6c
--- /dev/null
+++ b/public/-/emojis/3/blue_book.png
Binary files differ
diff --git a/public/-/emojis/3/blue_car.png b/public/-/emojis/3/blue_car.png
new file mode 100644
index 00000000000..eb63d4d2853
--- /dev/null
+++ b/public/-/emojis/3/blue_car.png
Binary files differ
diff --git a/public/-/emojis/3/blue_heart.png b/public/-/emojis/3/blue_heart.png
new file mode 100644
index 00000000000..9ed47aa4206
--- /dev/null
+++ b/public/-/emojis/3/blue_heart.png
Binary files differ
diff --git a/public/-/emojis/3/blush.png b/public/-/emojis/3/blush.png
new file mode 100644
index 00000000000..2ef1e69832e
--- /dev/null
+++ b/public/-/emojis/3/blush.png
Binary files differ
diff --git a/public/-/emojis/3/boar.png b/public/-/emojis/3/boar.png
new file mode 100644
index 00000000000..584788c3a83
--- /dev/null
+++ b/public/-/emojis/3/boar.png
Binary files differ
diff --git a/public/-/emojis/3/bomb.png b/public/-/emojis/3/bomb.png
new file mode 100644
index 00000000000..c1658f35bd9
--- /dev/null
+++ b/public/-/emojis/3/bomb.png
Binary files differ
diff --git a/public/-/emojis/3/book.png b/public/-/emojis/3/book.png
new file mode 100644
index 00000000000..2ee15e7db43
--- /dev/null
+++ b/public/-/emojis/3/book.png
Binary files differ
diff --git a/public/-/emojis/3/bookmark.png b/public/-/emojis/3/bookmark.png
new file mode 100644
index 00000000000..c80383f64ce
--- /dev/null
+++ b/public/-/emojis/3/bookmark.png
Binary files differ
diff --git a/public/-/emojis/3/bookmark_tabs.png b/public/-/emojis/3/bookmark_tabs.png
new file mode 100644
index 00000000000..fe19b388148
--- /dev/null
+++ b/public/-/emojis/3/bookmark_tabs.png
Binary files differ
diff --git a/public/-/emojis/3/books.png b/public/-/emojis/3/books.png
new file mode 100644
index 00000000000..374a30cfdc6
--- /dev/null
+++ b/public/-/emojis/3/books.png
Binary files differ
diff --git a/public/-/emojis/3/boom.png b/public/-/emojis/3/boom.png
new file mode 100644
index 00000000000..e900ada8694
--- /dev/null
+++ b/public/-/emojis/3/boom.png
Binary files differ
diff --git a/public/-/emojis/3/boot.png b/public/-/emojis/3/boot.png
new file mode 100644
index 00000000000..53ef9c9bf6e
--- /dev/null
+++ b/public/-/emojis/3/boot.png
Binary files differ
diff --git a/public/-/emojis/3/bouquet.png b/public/-/emojis/3/bouquet.png
new file mode 100644
index 00000000000..363c3e4d5b9
--- /dev/null
+++ b/public/-/emojis/3/bouquet.png
Binary files differ
diff --git a/public/-/emojis/3/bow.png b/public/-/emojis/3/bow.png
new file mode 100644
index 00000000000..668e9f32996
--- /dev/null
+++ b/public/-/emojis/3/bow.png
Binary files differ
diff --git a/public/-/emojis/3/bow_and_arrow.png b/public/-/emojis/3/bow_and_arrow.png
new file mode 100644
index 00000000000..9219625875f
--- /dev/null
+++ b/public/-/emojis/3/bow_and_arrow.png
Binary files differ
diff --git a/public/-/emojis/3/bow_tone1.png b/public/-/emojis/3/bow_tone1.png
new file mode 100644
index 00000000000..53d7d5c5ba3
--- /dev/null
+++ b/public/-/emojis/3/bow_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/bow_tone2.png b/public/-/emojis/3/bow_tone2.png
new file mode 100644
index 00000000000..0af738819ae
--- /dev/null
+++ b/public/-/emojis/3/bow_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/bow_tone3.png b/public/-/emojis/3/bow_tone3.png
new file mode 100644
index 00000000000..fbccdadd4b2
--- /dev/null
+++ b/public/-/emojis/3/bow_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/bow_tone4.png b/public/-/emojis/3/bow_tone4.png
new file mode 100644
index 00000000000..18dc42597e4
--- /dev/null
+++ b/public/-/emojis/3/bow_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/bow_tone5.png b/public/-/emojis/3/bow_tone5.png
new file mode 100644
index 00000000000..61c7f3d3771
--- /dev/null
+++ b/public/-/emojis/3/bow_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/bowling.png b/public/-/emojis/3/bowling.png
new file mode 100644
index 00000000000..a0bff897502
--- /dev/null
+++ b/public/-/emojis/3/bowling.png
Binary files differ
diff --git a/public/-/emojis/3/boxing_glove.png b/public/-/emojis/3/boxing_glove.png
new file mode 100644
index 00000000000..cf7ddc9b5d8
--- /dev/null
+++ b/public/-/emojis/3/boxing_glove.png
Binary files differ
diff --git a/public/-/emojis/3/boy.png b/public/-/emojis/3/boy.png
new file mode 100644
index 00000000000..28175e3d73f
--- /dev/null
+++ b/public/-/emojis/3/boy.png
Binary files differ
diff --git a/public/-/emojis/3/boy_tone1.png b/public/-/emojis/3/boy_tone1.png
new file mode 100644
index 00000000000..aa38328d79c
--- /dev/null
+++ b/public/-/emojis/3/boy_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/boy_tone2.png b/public/-/emojis/3/boy_tone2.png
new file mode 100644
index 00000000000..a2f1487c5d4
--- /dev/null
+++ b/public/-/emojis/3/boy_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/boy_tone3.png b/public/-/emojis/3/boy_tone3.png
new file mode 100644
index 00000000000..b69d9ae87dc
--- /dev/null
+++ b/public/-/emojis/3/boy_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/boy_tone4.png b/public/-/emojis/3/boy_tone4.png
new file mode 100644
index 00000000000..ed000edbe8d
--- /dev/null
+++ b/public/-/emojis/3/boy_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/boy_tone5.png b/public/-/emojis/3/boy_tone5.png
new file mode 100644
index 00000000000..664e31af90b
--- /dev/null
+++ b/public/-/emojis/3/boy_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/bread.png b/public/-/emojis/3/bread.png
new file mode 100644
index 00000000000..38b1d37af13
--- /dev/null
+++ b/public/-/emojis/3/bread.png
Binary files differ
diff --git a/public/-/emojis/3/bride_with_veil.png b/public/-/emojis/3/bride_with_veil.png
new file mode 100644
index 00000000000..89048717a9d
--- /dev/null
+++ b/public/-/emojis/3/bride_with_veil.png
Binary files differ
diff --git a/public/-/emojis/3/bride_with_veil_tone1.png b/public/-/emojis/3/bride_with_veil_tone1.png
new file mode 100644
index 00000000000..da3c67c8db1
--- /dev/null
+++ b/public/-/emojis/3/bride_with_veil_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/bride_with_veil_tone2.png b/public/-/emojis/3/bride_with_veil_tone2.png
new file mode 100644
index 00000000000..6b2582a50a5
--- /dev/null
+++ b/public/-/emojis/3/bride_with_veil_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/bride_with_veil_tone3.png b/public/-/emojis/3/bride_with_veil_tone3.png
new file mode 100644
index 00000000000..8162fdb3704
--- /dev/null
+++ b/public/-/emojis/3/bride_with_veil_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/bride_with_veil_tone4.png b/public/-/emojis/3/bride_with_veil_tone4.png
new file mode 100644
index 00000000000..50dfe4f2d8e
--- /dev/null
+++ b/public/-/emojis/3/bride_with_veil_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/bride_with_veil_tone5.png b/public/-/emojis/3/bride_with_veil_tone5.png
new file mode 100644
index 00000000000..5010deb0e7b
--- /dev/null
+++ b/public/-/emojis/3/bride_with_veil_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/bridge_at_night.png b/public/-/emojis/3/bridge_at_night.png
new file mode 100644
index 00000000000..a01e15a9124
--- /dev/null
+++ b/public/-/emojis/3/bridge_at_night.png
Binary files differ
diff --git a/public/-/emojis/3/briefcase.png b/public/-/emojis/3/briefcase.png
new file mode 100644
index 00000000000..9a74a2e42aa
--- /dev/null
+++ b/public/-/emojis/3/briefcase.png
Binary files differ
diff --git a/public/-/emojis/3/broken_heart.png b/public/-/emojis/3/broken_heart.png
new file mode 100644
index 00000000000..b64559dc2e3
--- /dev/null
+++ b/public/-/emojis/3/broken_heart.png
Binary files differ
diff --git a/public/-/emojis/3/bug.png b/public/-/emojis/3/bug.png
new file mode 100644
index 00000000000..921525fa773
--- /dev/null
+++ b/public/-/emojis/3/bug.png
Binary files differ
diff --git a/public/-/emojis/3/bulb.png b/public/-/emojis/3/bulb.png
new file mode 100644
index 00000000000..8581f5fe1ac
--- /dev/null
+++ b/public/-/emojis/3/bulb.png
Binary files differ
diff --git a/public/-/emojis/3/bullettrain_front.png b/public/-/emojis/3/bullettrain_front.png
new file mode 100644
index 00000000000..0367a8331ab
--- /dev/null
+++ b/public/-/emojis/3/bullettrain_front.png
Binary files differ
diff --git a/public/-/emojis/3/bullettrain_side.png b/public/-/emojis/3/bullettrain_side.png
new file mode 100644
index 00000000000..84893313804
--- /dev/null
+++ b/public/-/emojis/3/bullettrain_side.png
Binary files differ
diff --git a/public/-/emojis/3/burrito.png b/public/-/emojis/3/burrito.png
new file mode 100644
index 00000000000..7da1b837e6f
--- /dev/null
+++ b/public/-/emojis/3/burrito.png
Binary files differ
diff --git a/public/-/emojis/3/bus.png b/public/-/emojis/3/bus.png
new file mode 100644
index 00000000000..f0ac86d53c6
--- /dev/null
+++ b/public/-/emojis/3/bus.png
Binary files differ
diff --git a/public/-/emojis/3/busstop.png b/public/-/emojis/3/busstop.png
new file mode 100644
index 00000000000..c92076b7360
--- /dev/null
+++ b/public/-/emojis/3/busstop.png
Binary files differ
diff --git a/public/-/emojis/3/bust_in_silhouette.png b/public/-/emojis/3/bust_in_silhouette.png
new file mode 100644
index 00000000000..da9befccb0f
--- /dev/null
+++ b/public/-/emojis/3/bust_in_silhouette.png
Binary files differ
diff --git a/public/-/emojis/3/busts_in_silhouette.png b/public/-/emojis/3/busts_in_silhouette.png
new file mode 100644
index 00000000000..4e7041a45d4
--- /dev/null
+++ b/public/-/emojis/3/busts_in_silhouette.png
Binary files differ
diff --git a/public/-/emojis/3/butterfly.png b/public/-/emojis/3/butterfly.png
new file mode 100644
index 00000000000..3bc61589ef0
--- /dev/null
+++ b/public/-/emojis/3/butterfly.png
Binary files differ
diff --git a/public/-/emojis/3/cactus.png b/public/-/emojis/3/cactus.png
new file mode 100644
index 00000000000..991fcbf4353
--- /dev/null
+++ b/public/-/emojis/3/cactus.png
Binary files differ
diff --git a/public/-/emojis/3/cake.png b/public/-/emojis/3/cake.png
new file mode 100644
index 00000000000..0301bdea583
--- /dev/null
+++ b/public/-/emojis/3/cake.png
Binary files differ
diff --git a/public/-/emojis/3/calendar.png b/public/-/emojis/3/calendar.png
new file mode 100644
index 00000000000..7627d5c1fca
--- /dev/null
+++ b/public/-/emojis/3/calendar.png
Binary files differ
diff --git a/public/-/emojis/3/calendar_spiral.png b/public/-/emojis/3/calendar_spiral.png
new file mode 100644
index 00000000000..a13a4a5c9d9
--- /dev/null
+++ b/public/-/emojis/3/calendar_spiral.png
Binary files differ
diff --git a/public/-/emojis/3/call_me.png b/public/-/emojis/3/call_me.png
new file mode 100644
index 00000000000..f4feced19fd
--- /dev/null
+++ b/public/-/emojis/3/call_me.png
Binary files differ
diff --git a/public/-/emojis/3/call_me_tone1.png b/public/-/emojis/3/call_me_tone1.png
new file mode 100644
index 00000000000..cbb9b56e70a
--- /dev/null
+++ b/public/-/emojis/3/call_me_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/call_me_tone2.png b/public/-/emojis/3/call_me_tone2.png
new file mode 100644
index 00000000000..da166ecb517
--- /dev/null
+++ b/public/-/emojis/3/call_me_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/call_me_tone3.png b/public/-/emojis/3/call_me_tone3.png
new file mode 100644
index 00000000000..093361f982d
--- /dev/null
+++ b/public/-/emojis/3/call_me_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/call_me_tone4.png b/public/-/emojis/3/call_me_tone4.png
new file mode 100644
index 00000000000..9df57caccf8
--- /dev/null
+++ b/public/-/emojis/3/call_me_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/call_me_tone5.png b/public/-/emojis/3/call_me_tone5.png
new file mode 100644
index 00000000000..acbf2664558
--- /dev/null
+++ b/public/-/emojis/3/call_me_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/calling.png b/public/-/emojis/3/calling.png
new file mode 100644
index 00000000000..d0359eb84da
--- /dev/null
+++ b/public/-/emojis/3/calling.png
Binary files differ
diff --git a/public/-/emojis/3/camel.png b/public/-/emojis/3/camel.png
new file mode 100644
index 00000000000..27169a82dec
--- /dev/null
+++ b/public/-/emojis/3/camel.png
Binary files differ
diff --git a/public/-/emojis/3/camera.png b/public/-/emojis/3/camera.png
new file mode 100644
index 00000000000..8730993c939
--- /dev/null
+++ b/public/-/emojis/3/camera.png
Binary files differ
diff --git a/public/-/emojis/3/camera_with_flash.png b/public/-/emojis/3/camera_with_flash.png
new file mode 100644
index 00000000000..0faf75e29be
--- /dev/null
+++ b/public/-/emojis/3/camera_with_flash.png
Binary files differ
diff --git a/public/-/emojis/3/camping.png b/public/-/emojis/3/camping.png
new file mode 100644
index 00000000000..d69f19211fe
--- /dev/null
+++ b/public/-/emojis/3/camping.png
Binary files differ
diff --git a/public/-/emojis/3/cancer.png b/public/-/emojis/3/cancer.png
new file mode 100644
index 00000000000..77e14405cbe
--- /dev/null
+++ b/public/-/emojis/3/cancer.png
Binary files differ
diff --git a/public/-/emojis/3/candle.png b/public/-/emojis/3/candle.png
new file mode 100644
index 00000000000..b70c3ef6a89
--- /dev/null
+++ b/public/-/emojis/3/candle.png
Binary files differ
diff --git a/public/-/emojis/3/candy.png b/public/-/emojis/3/candy.png
new file mode 100644
index 00000000000..6e7ed35a242
--- /dev/null
+++ b/public/-/emojis/3/candy.png
Binary files differ
diff --git a/public/-/emojis/3/canoe.png b/public/-/emojis/3/canoe.png
new file mode 100644
index 00000000000..848d3575b68
--- /dev/null
+++ b/public/-/emojis/3/canoe.png
Binary files differ
diff --git a/public/-/emojis/3/capital_abcd.png b/public/-/emojis/3/capital_abcd.png
new file mode 100644
index 00000000000..13dc90f6873
--- /dev/null
+++ b/public/-/emojis/3/capital_abcd.png
Binary files differ
diff --git a/public/-/emojis/3/capricorn.png b/public/-/emojis/3/capricorn.png
new file mode 100644
index 00000000000..7f6317677da
--- /dev/null
+++ b/public/-/emojis/3/capricorn.png
Binary files differ
diff --git a/public/-/emojis/3/card_box.png b/public/-/emojis/3/card_box.png
new file mode 100644
index 00000000000..722d7429b6d
--- /dev/null
+++ b/public/-/emojis/3/card_box.png
Binary files differ
diff --git a/public/-/emojis/3/card_index.png b/public/-/emojis/3/card_index.png
new file mode 100644
index 00000000000..c160c49cf02
--- /dev/null
+++ b/public/-/emojis/3/card_index.png
Binary files differ
diff --git a/public/-/emojis/3/carousel_horse.png b/public/-/emojis/3/carousel_horse.png
new file mode 100644
index 00000000000..86d2eeba49b
--- /dev/null
+++ b/public/-/emojis/3/carousel_horse.png
Binary files differ
diff --git a/public/-/emojis/3/carrot.png b/public/-/emojis/3/carrot.png
new file mode 100644
index 00000000000..752f4bbcd1c
--- /dev/null
+++ b/public/-/emojis/3/carrot.png
Binary files differ
diff --git a/public/-/emojis/3/cartwheel.png b/public/-/emojis/3/cartwheel.png
new file mode 100644
index 00000000000..3fbaf1e9ca2
--- /dev/null
+++ b/public/-/emojis/3/cartwheel.png
Binary files differ
diff --git a/public/-/emojis/3/cartwheel_tone1.png b/public/-/emojis/3/cartwheel_tone1.png
new file mode 100644
index 00000000000..297c90ea301
--- /dev/null
+++ b/public/-/emojis/3/cartwheel_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/cartwheel_tone2.png b/public/-/emojis/3/cartwheel_tone2.png
new file mode 100644
index 00000000000..6350424f699
--- /dev/null
+++ b/public/-/emojis/3/cartwheel_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/cartwheel_tone3.png b/public/-/emojis/3/cartwheel_tone3.png
new file mode 100644
index 00000000000..ebb273532f6
--- /dev/null
+++ b/public/-/emojis/3/cartwheel_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/cartwheel_tone4.png b/public/-/emojis/3/cartwheel_tone4.png
new file mode 100644
index 00000000000..57775ff5268
--- /dev/null
+++ b/public/-/emojis/3/cartwheel_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/cartwheel_tone5.png b/public/-/emojis/3/cartwheel_tone5.png
new file mode 100644
index 00000000000..4b0a0ba5a0d
--- /dev/null
+++ b/public/-/emojis/3/cartwheel_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/cat.png b/public/-/emojis/3/cat.png
new file mode 100644
index 00000000000..d0a60fec3db
--- /dev/null
+++ b/public/-/emojis/3/cat.png
Binary files differ
diff --git a/public/-/emojis/3/cat2.png b/public/-/emojis/3/cat2.png
new file mode 100644
index 00000000000..610076eccd7
--- /dev/null
+++ b/public/-/emojis/3/cat2.png
Binary files differ
diff --git a/public/-/emojis/3/cd.png b/public/-/emojis/3/cd.png
new file mode 100644
index 00000000000..db14c01a3c5
--- /dev/null
+++ b/public/-/emojis/3/cd.png
Binary files differ
diff --git a/public/-/emojis/3/chains.png b/public/-/emojis/3/chains.png
new file mode 100644
index 00000000000..8f14d9bebaf
--- /dev/null
+++ b/public/-/emojis/3/chains.png
Binary files differ
diff --git a/public/-/emojis/3/champagne.png b/public/-/emojis/3/champagne.png
new file mode 100644
index 00000000000..fd57382281a
--- /dev/null
+++ b/public/-/emojis/3/champagne.png
Binary files differ
diff --git a/public/-/emojis/3/champagne_glass.png b/public/-/emojis/3/champagne_glass.png
new file mode 100644
index 00000000000..ba9e60d75eb
--- /dev/null
+++ b/public/-/emojis/3/champagne_glass.png
Binary files differ
diff --git a/public/-/emojis/3/chart.png b/public/-/emojis/3/chart.png
new file mode 100644
index 00000000000..c6085e85433
--- /dev/null
+++ b/public/-/emojis/3/chart.png
Binary files differ
diff --git a/public/-/emojis/3/chart_with_downwards_trend.png b/public/-/emojis/3/chart_with_downwards_trend.png
new file mode 100644
index 00000000000..6670585553d
--- /dev/null
+++ b/public/-/emojis/3/chart_with_downwards_trend.png
Binary files differ
diff --git a/public/-/emojis/3/chart_with_upwards_trend.png b/public/-/emojis/3/chart_with_upwards_trend.png
new file mode 100644
index 00000000000..4dd69a0b9e6
--- /dev/null
+++ b/public/-/emojis/3/chart_with_upwards_trend.png
Binary files differ
diff --git a/public/-/emojis/3/checkered_flag.png b/public/-/emojis/3/checkered_flag.png
new file mode 100644
index 00000000000..59f2594ddc5
--- /dev/null
+++ b/public/-/emojis/3/checkered_flag.png
Binary files differ
diff --git a/public/-/emojis/3/cheese.png b/public/-/emojis/3/cheese.png
new file mode 100644
index 00000000000..f5d6b3a7c4c
--- /dev/null
+++ b/public/-/emojis/3/cheese.png
Binary files differ
diff --git a/public/-/emojis/3/cherries.png b/public/-/emojis/3/cherries.png
new file mode 100644
index 00000000000..db09bb5e4b9
--- /dev/null
+++ b/public/-/emojis/3/cherries.png
Binary files differ
diff --git a/public/-/emojis/3/cherry_blossom.png b/public/-/emojis/3/cherry_blossom.png
new file mode 100644
index 00000000000..7f89052791b
--- /dev/null
+++ b/public/-/emojis/3/cherry_blossom.png
Binary files differ
diff --git a/public/-/emojis/3/chestnut.png b/public/-/emojis/3/chestnut.png
new file mode 100644
index 00000000000..04aa25a86c3
--- /dev/null
+++ b/public/-/emojis/3/chestnut.png
Binary files differ
diff --git a/public/-/emojis/3/chicken.png b/public/-/emojis/3/chicken.png
new file mode 100644
index 00000000000..f9aa50248c1
--- /dev/null
+++ b/public/-/emojis/3/chicken.png
Binary files differ
diff --git a/public/-/emojis/3/children_crossing.png b/public/-/emojis/3/children_crossing.png
new file mode 100644
index 00000000000..8549b6ddaad
--- /dev/null
+++ b/public/-/emojis/3/children_crossing.png
Binary files differ
diff --git a/public/-/emojis/3/chipmunk.png b/public/-/emojis/3/chipmunk.png
new file mode 100644
index 00000000000..308550d9e96
--- /dev/null
+++ b/public/-/emojis/3/chipmunk.png
Binary files differ
diff --git a/public/-/emojis/3/chocolate_bar.png b/public/-/emojis/3/chocolate_bar.png
new file mode 100644
index 00000000000..37aac73574b
--- /dev/null
+++ b/public/-/emojis/3/chocolate_bar.png
Binary files differ
diff --git a/public/-/emojis/3/christmas_tree.png b/public/-/emojis/3/christmas_tree.png
new file mode 100644
index 00000000000..3cf4ca07d41
--- /dev/null
+++ b/public/-/emojis/3/christmas_tree.png
Binary files differ
diff --git a/public/-/emojis/3/church.png b/public/-/emojis/3/church.png
new file mode 100644
index 00000000000..a12aabbd66f
--- /dev/null
+++ b/public/-/emojis/3/church.png
Binary files differ
diff --git a/public/-/emojis/3/cinema.png b/public/-/emojis/3/cinema.png
new file mode 100644
index 00000000000..59934f466df
--- /dev/null
+++ b/public/-/emojis/3/cinema.png
Binary files differ
diff --git a/public/-/emojis/3/circus_tent.png b/public/-/emojis/3/circus_tent.png
new file mode 100644
index 00000000000..6c9d9a219e7
--- /dev/null
+++ b/public/-/emojis/3/circus_tent.png
Binary files differ
diff --git a/public/-/emojis/3/city_dusk.png b/public/-/emojis/3/city_dusk.png
new file mode 100644
index 00000000000..8fe2f6e5bca
--- /dev/null
+++ b/public/-/emojis/3/city_dusk.png
Binary files differ
diff --git a/public/-/emojis/3/city_sunset.png b/public/-/emojis/3/city_sunset.png
new file mode 100644
index 00000000000..fcbc2854169
--- /dev/null
+++ b/public/-/emojis/3/city_sunset.png
Binary files differ
diff --git a/public/-/emojis/3/cityscape.png b/public/-/emojis/3/cityscape.png
new file mode 100644
index 00000000000..e9029b2eb2c
--- /dev/null
+++ b/public/-/emojis/3/cityscape.png
Binary files differ
diff --git a/public/-/emojis/3/cl.png b/public/-/emojis/3/cl.png
new file mode 100644
index 00000000000..915f8de08fd
--- /dev/null
+++ b/public/-/emojis/3/cl.png
Binary files differ
diff --git a/public/-/emojis/3/clap.png b/public/-/emojis/3/clap.png
new file mode 100644
index 00000000000..9833ca8f2c6
--- /dev/null
+++ b/public/-/emojis/3/clap.png
Binary files differ
diff --git a/public/-/emojis/3/clap_tone1.png b/public/-/emojis/3/clap_tone1.png
new file mode 100644
index 00000000000..0be85e1c20e
--- /dev/null
+++ b/public/-/emojis/3/clap_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/clap_tone2.png b/public/-/emojis/3/clap_tone2.png
new file mode 100644
index 00000000000..46c31a511a1
--- /dev/null
+++ b/public/-/emojis/3/clap_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/clap_tone3.png b/public/-/emojis/3/clap_tone3.png
new file mode 100644
index 00000000000..1a30dc96fce
--- /dev/null
+++ b/public/-/emojis/3/clap_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/clap_tone4.png b/public/-/emojis/3/clap_tone4.png
new file mode 100644
index 00000000000..de6406e8938
--- /dev/null
+++ b/public/-/emojis/3/clap_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/clap_tone5.png b/public/-/emojis/3/clap_tone5.png
new file mode 100644
index 00000000000..25dd231d55a
--- /dev/null
+++ b/public/-/emojis/3/clap_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/clapper.png b/public/-/emojis/3/clapper.png
new file mode 100644
index 00000000000..09d06f708a7
--- /dev/null
+++ b/public/-/emojis/3/clapper.png
Binary files differ
diff --git a/public/-/emojis/3/classical_building.png b/public/-/emojis/3/classical_building.png
new file mode 100644
index 00000000000..0e6c9bd6e83
--- /dev/null
+++ b/public/-/emojis/3/classical_building.png
Binary files differ
diff --git a/public/-/emojis/3/clipboard.png b/public/-/emojis/3/clipboard.png
new file mode 100644
index 00000000000..e622014de0d
--- /dev/null
+++ b/public/-/emojis/3/clipboard.png
Binary files differ
diff --git a/public/-/emojis/3/clock.png b/public/-/emojis/3/clock.png
new file mode 100644
index 00000000000..a4df2685212
--- /dev/null
+++ b/public/-/emojis/3/clock.png
Binary files differ
diff --git a/public/-/emojis/3/clock1.png b/public/-/emojis/3/clock1.png
new file mode 100644
index 00000000000..b91e15f8816
--- /dev/null
+++ b/public/-/emojis/3/clock1.png
Binary files differ
diff --git a/public/-/emojis/3/clock10.png b/public/-/emojis/3/clock10.png
new file mode 100644
index 00000000000..388f7ba7057
--- /dev/null
+++ b/public/-/emojis/3/clock10.png
Binary files differ
diff --git a/public/-/emojis/3/clock1030.png b/public/-/emojis/3/clock1030.png
new file mode 100644
index 00000000000..f8fd18dd956
--- /dev/null
+++ b/public/-/emojis/3/clock1030.png
Binary files differ
diff --git a/public/-/emojis/3/clock11.png b/public/-/emojis/3/clock11.png
new file mode 100644
index 00000000000..6f468e2a3ce
--- /dev/null
+++ b/public/-/emojis/3/clock11.png
Binary files differ
diff --git a/public/-/emojis/3/clock1130.png b/public/-/emojis/3/clock1130.png
new file mode 100644
index 00000000000..5b02c922ab1
--- /dev/null
+++ b/public/-/emojis/3/clock1130.png
Binary files differ
diff --git a/public/-/emojis/3/clock12.png b/public/-/emojis/3/clock12.png
new file mode 100644
index 00000000000..7580b0e8c33
--- /dev/null
+++ b/public/-/emojis/3/clock12.png
Binary files differ
diff --git a/public/-/emojis/3/clock1230.png b/public/-/emojis/3/clock1230.png
new file mode 100644
index 00000000000..72c8fbeca23
--- /dev/null
+++ b/public/-/emojis/3/clock1230.png
Binary files differ
diff --git a/public/-/emojis/3/clock130.png b/public/-/emojis/3/clock130.png
new file mode 100644
index 00000000000..bf581dfeae6
--- /dev/null
+++ b/public/-/emojis/3/clock130.png
Binary files differ
diff --git a/public/-/emojis/3/clock2.png b/public/-/emojis/3/clock2.png
new file mode 100644
index 00000000000..47dd28d2b00
--- /dev/null
+++ b/public/-/emojis/3/clock2.png
Binary files differ
diff --git a/public/-/emojis/3/clock230.png b/public/-/emojis/3/clock230.png
new file mode 100644
index 00000000000..46f53970329
--- /dev/null
+++ b/public/-/emojis/3/clock230.png
Binary files differ
diff --git a/public/-/emojis/3/clock3.png b/public/-/emojis/3/clock3.png
new file mode 100644
index 00000000000..5ef2bdcd3d2
--- /dev/null
+++ b/public/-/emojis/3/clock3.png
Binary files differ
diff --git a/public/-/emojis/3/clock330.png b/public/-/emojis/3/clock330.png
new file mode 100644
index 00000000000..e2d04b8867d
--- /dev/null
+++ b/public/-/emojis/3/clock330.png
Binary files differ
diff --git a/public/-/emojis/3/clock4.png b/public/-/emojis/3/clock4.png
new file mode 100644
index 00000000000..492b7387c6c
--- /dev/null
+++ b/public/-/emojis/3/clock4.png
Binary files differ
diff --git a/public/-/emojis/3/clock430.png b/public/-/emojis/3/clock430.png
new file mode 100644
index 00000000000..d133e54e43d
--- /dev/null
+++ b/public/-/emojis/3/clock430.png
Binary files differ
diff --git a/public/-/emojis/3/clock5.png b/public/-/emojis/3/clock5.png
new file mode 100644
index 00000000000..56ef3041df2
--- /dev/null
+++ b/public/-/emojis/3/clock5.png
Binary files differ
diff --git a/public/-/emojis/3/clock530.png b/public/-/emojis/3/clock530.png
new file mode 100644
index 00000000000..dc53cc1c261
--- /dev/null
+++ b/public/-/emojis/3/clock530.png
Binary files differ
diff --git a/public/-/emojis/3/clock6.png b/public/-/emojis/3/clock6.png
new file mode 100644
index 00000000000..49641e97294
--- /dev/null
+++ b/public/-/emojis/3/clock6.png
Binary files differ
diff --git a/public/-/emojis/3/clock630.png b/public/-/emojis/3/clock630.png
new file mode 100644
index 00000000000..0f4fd735880
--- /dev/null
+++ b/public/-/emojis/3/clock630.png
Binary files differ
diff --git a/public/-/emojis/3/clock7.png b/public/-/emojis/3/clock7.png
new file mode 100644
index 00000000000..65b554c7b28
--- /dev/null
+++ b/public/-/emojis/3/clock7.png
Binary files differ
diff --git a/public/-/emojis/3/clock730.png b/public/-/emojis/3/clock730.png
new file mode 100644
index 00000000000..ce46b94451f
--- /dev/null
+++ b/public/-/emojis/3/clock730.png
Binary files differ
diff --git a/public/-/emojis/3/clock8.png b/public/-/emojis/3/clock8.png
new file mode 100644
index 00000000000..a838ef2f034
--- /dev/null
+++ b/public/-/emojis/3/clock8.png
Binary files differ
diff --git a/public/-/emojis/3/clock830.png b/public/-/emojis/3/clock830.png
new file mode 100644
index 00000000000..790d19a639f
--- /dev/null
+++ b/public/-/emojis/3/clock830.png
Binary files differ
diff --git a/public/-/emojis/3/clock9.png b/public/-/emojis/3/clock9.png
new file mode 100644
index 00000000000..5b08c8dbd95
--- /dev/null
+++ b/public/-/emojis/3/clock9.png
Binary files differ
diff --git a/public/-/emojis/3/clock930.png b/public/-/emojis/3/clock930.png
new file mode 100644
index 00000000000..ededcf92cba
--- /dev/null
+++ b/public/-/emojis/3/clock930.png
Binary files differ
diff --git a/public/-/emojis/3/closed_book.png b/public/-/emojis/3/closed_book.png
new file mode 100644
index 00000000000..30e95d2d52d
--- /dev/null
+++ b/public/-/emojis/3/closed_book.png
Binary files differ
diff --git a/public/-/emojis/3/closed_lock_with_key.png b/public/-/emojis/3/closed_lock_with_key.png
new file mode 100644
index 00000000000..3a034974455
--- /dev/null
+++ b/public/-/emojis/3/closed_lock_with_key.png
Binary files differ
diff --git a/public/-/emojis/3/closed_umbrella.png b/public/-/emojis/3/closed_umbrella.png
new file mode 100644
index 00000000000..4ae00f07df9
--- /dev/null
+++ b/public/-/emojis/3/closed_umbrella.png
Binary files differ
diff --git a/public/-/emojis/3/cloud.png b/public/-/emojis/3/cloud.png
new file mode 100644
index 00000000000..7f63fa4bf10
--- /dev/null
+++ b/public/-/emojis/3/cloud.png
Binary files differ
diff --git a/public/-/emojis/3/cloud_lightning.png b/public/-/emojis/3/cloud_lightning.png
new file mode 100644
index 00000000000..739d7491473
--- /dev/null
+++ b/public/-/emojis/3/cloud_lightning.png
Binary files differ
diff --git a/public/-/emojis/3/cloud_rain.png b/public/-/emojis/3/cloud_rain.png
new file mode 100644
index 00000000000..ce4aaad1522
--- /dev/null
+++ b/public/-/emojis/3/cloud_rain.png
Binary files differ
diff --git a/public/-/emojis/3/cloud_snow.png b/public/-/emojis/3/cloud_snow.png
new file mode 100644
index 00000000000..6af161f3c5f
--- /dev/null
+++ b/public/-/emojis/3/cloud_snow.png
Binary files differ
diff --git a/public/-/emojis/3/cloud_tornado.png b/public/-/emojis/3/cloud_tornado.png
new file mode 100644
index 00000000000..1480b092e2e
--- /dev/null
+++ b/public/-/emojis/3/cloud_tornado.png
Binary files differ
diff --git a/public/-/emojis/3/clown.png b/public/-/emojis/3/clown.png
new file mode 100644
index 00000000000..311febd6a6b
--- /dev/null
+++ b/public/-/emojis/3/clown.png
Binary files differ
diff --git a/public/-/emojis/3/clubs.png b/public/-/emojis/3/clubs.png
new file mode 100644
index 00000000000..7860b5c6356
--- /dev/null
+++ b/public/-/emojis/3/clubs.png
Binary files differ
diff --git a/public/-/emojis/3/cocktail.png b/public/-/emojis/3/cocktail.png
new file mode 100644
index 00000000000..02680697988
--- /dev/null
+++ b/public/-/emojis/3/cocktail.png
Binary files differ
diff --git a/public/-/emojis/3/coffee.png b/public/-/emojis/3/coffee.png
new file mode 100644
index 00000000000..9117f8a03a5
--- /dev/null
+++ b/public/-/emojis/3/coffee.png
Binary files differ
diff --git a/public/-/emojis/3/coffin.png b/public/-/emojis/3/coffin.png
new file mode 100644
index 00000000000..83f74b23081
--- /dev/null
+++ b/public/-/emojis/3/coffin.png
Binary files differ
diff --git a/public/-/emojis/3/cold_sweat.png b/public/-/emojis/3/cold_sweat.png
new file mode 100644
index 00000000000..81aaf65d30f
--- /dev/null
+++ b/public/-/emojis/3/cold_sweat.png
Binary files differ
diff --git a/public/-/emojis/3/comet.png b/public/-/emojis/3/comet.png
new file mode 100644
index 00000000000..69ec4ecd43a
--- /dev/null
+++ b/public/-/emojis/3/comet.png
Binary files differ
diff --git a/public/-/emojis/3/compression.png b/public/-/emojis/3/compression.png
new file mode 100644
index 00000000000..697af61af91
--- /dev/null
+++ b/public/-/emojis/3/compression.png
Binary files differ
diff --git a/public/-/emojis/3/computer.png b/public/-/emojis/3/computer.png
new file mode 100644
index 00000000000..7f475f39726
--- /dev/null
+++ b/public/-/emojis/3/computer.png
Binary files differ
diff --git a/public/-/emojis/3/confetti_ball.png b/public/-/emojis/3/confetti_ball.png
new file mode 100644
index 00000000000..2bf3de8938a
--- /dev/null
+++ b/public/-/emojis/3/confetti_ball.png
Binary files differ
diff --git a/public/-/emojis/3/confounded.png b/public/-/emojis/3/confounded.png
new file mode 100644
index 00000000000..9410a26ea24
--- /dev/null
+++ b/public/-/emojis/3/confounded.png
Binary files differ
diff --git a/public/-/emojis/3/confused.png b/public/-/emojis/3/confused.png
new file mode 100644
index 00000000000..4dedc86f13d
--- /dev/null
+++ b/public/-/emojis/3/confused.png
Binary files differ
diff --git a/public/-/emojis/3/congratulations.png b/public/-/emojis/3/congratulations.png
new file mode 100644
index 00000000000..6a15c4bc107
--- /dev/null
+++ b/public/-/emojis/3/congratulations.png
Binary files differ
diff --git a/public/-/emojis/3/construction.png b/public/-/emojis/3/construction.png
new file mode 100644
index 00000000000..8b15db797a2
--- /dev/null
+++ b/public/-/emojis/3/construction.png
Binary files differ
diff --git a/public/-/emojis/3/construction_site.png b/public/-/emojis/3/construction_site.png
new file mode 100644
index 00000000000..5d2a18d9f86
--- /dev/null
+++ b/public/-/emojis/3/construction_site.png
Binary files differ
diff --git a/public/-/emojis/3/construction_worker.png b/public/-/emojis/3/construction_worker.png
new file mode 100644
index 00000000000..4ae3426de3a
--- /dev/null
+++ b/public/-/emojis/3/construction_worker.png
Binary files differ
diff --git a/public/-/emojis/3/construction_worker_tone1.png b/public/-/emojis/3/construction_worker_tone1.png
new file mode 100644
index 00000000000..b248134628b
--- /dev/null
+++ b/public/-/emojis/3/construction_worker_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/construction_worker_tone2.png b/public/-/emojis/3/construction_worker_tone2.png
new file mode 100644
index 00000000000..00ea3920275
--- /dev/null
+++ b/public/-/emojis/3/construction_worker_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/construction_worker_tone3.png b/public/-/emojis/3/construction_worker_tone3.png
new file mode 100644
index 00000000000..2dda18a3726
--- /dev/null
+++ b/public/-/emojis/3/construction_worker_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/construction_worker_tone4.png b/public/-/emojis/3/construction_worker_tone4.png
new file mode 100644
index 00000000000..c1eaf70a9f1
--- /dev/null
+++ b/public/-/emojis/3/construction_worker_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/construction_worker_tone5.png b/public/-/emojis/3/construction_worker_tone5.png
new file mode 100644
index 00000000000..9109d5cc838
--- /dev/null
+++ b/public/-/emojis/3/construction_worker_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/control_knobs.png b/public/-/emojis/3/control_knobs.png
new file mode 100644
index 00000000000..fc77d837cfd
--- /dev/null
+++ b/public/-/emojis/3/control_knobs.png
Binary files differ
diff --git a/public/-/emojis/3/convenience_store.png b/public/-/emojis/3/convenience_store.png
new file mode 100644
index 00000000000..687cebbc56d
--- /dev/null
+++ b/public/-/emojis/3/convenience_store.png
Binary files differ
diff --git a/public/-/emojis/3/cookie.png b/public/-/emojis/3/cookie.png
new file mode 100644
index 00000000000..5c562e3d8c3
--- /dev/null
+++ b/public/-/emojis/3/cookie.png
Binary files differ
diff --git a/public/-/emojis/3/cooking.png b/public/-/emojis/3/cooking.png
new file mode 100644
index 00000000000..062ebf83853
--- /dev/null
+++ b/public/-/emojis/3/cooking.png
Binary files differ
diff --git a/public/-/emojis/3/cool.png b/public/-/emojis/3/cool.png
new file mode 100644
index 00000000000..0942e466588
--- /dev/null
+++ b/public/-/emojis/3/cool.png
Binary files differ
diff --git a/public/-/emojis/3/cop.png b/public/-/emojis/3/cop.png
new file mode 100644
index 00000000000..ed4250c9045
--- /dev/null
+++ b/public/-/emojis/3/cop.png
Binary files differ
diff --git a/public/-/emojis/3/cop_tone1.png b/public/-/emojis/3/cop_tone1.png
new file mode 100644
index 00000000000..fd73888b037
--- /dev/null
+++ b/public/-/emojis/3/cop_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/cop_tone2.png b/public/-/emojis/3/cop_tone2.png
new file mode 100644
index 00000000000..e8f401197ef
--- /dev/null
+++ b/public/-/emojis/3/cop_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/cop_tone3.png b/public/-/emojis/3/cop_tone3.png
new file mode 100644
index 00000000000..7f1c923ec1b
--- /dev/null
+++ b/public/-/emojis/3/cop_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/cop_tone4.png b/public/-/emojis/3/cop_tone4.png
new file mode 100644
index 00000000000..f4ca694083d
--- /dev/null
+++ b/public/-/emojis/3/cop_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/cop_tone5.png b/public/-/emojis/3/cop_tone5.png
new file mode 100644
index 00000000000..f9be2181d40
--- /dev/null
+++ b/public/-/emojis/3/cop_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/copyright.png b/public/-/emojis/3/copyright.png
new file mode 100644
index 00000000000..1533c4c61eb
--- /dev/null
+++ b/public/-/emojis/3/copyright.png
Binary files differ
diff --git a/public/-/emojis/3/corn.png b/public/-/emojis/3/corn.png
new file mode 100644
index 00000000000..a2c5befc508
--- /dev/null
+++ b/public/-/emojis/3/corn.png
Binary files differ
diff --git a/public/-/emojis/3/couch.png b/public/-/emojis/3/couch.png
new file mode 100644
index 00000000000..e5f64c537d2
--- /dev/null
+++ b/public/-/emojis/3/couch.png
Binary files differ
diff --git a/public/-/emojis/3/couple.png b/public/-/emojis/3/couple.png
new file mode 100644
index 00000000000..2ed7eb3262a
--- /dev/null
+++ b/public/-/emojis/3/couple.png
Binary files differ
diff --git a/public/-/emojis/3/couple_mm.png b/public/-/emojis/3/couple_mm.png
new file mode 100644
index 00000000000..1adebaa7ff9
--- /dev/null
+++ b/public/-/emojis/3/couple_mm.png
Binary files differ
diff --git a/public/-/emojis/3/couple_with_heart.png b/public/-/emojis/3/couple_with_heart.png
new file mode 100644
index 00000000000..338ffadef7a
--- /dev/null
+++ b/public/-/emojis/3/couple_with_heart.png
Binary files differ
diff --git a/public/-/emojis/3/couple_ww.png b/public/-/emojis/3/couple_ww.png
new file mode 100644
index 00000000000..2bcc1aa527b
--- /dev/null
+++ b/public/-/emojis/3/couple_ww.png
Binary files differ
diff --git a/public/-/emojis/3/couplekiss.png b/public/-/emojis/3/couplekiss.png
new file mode 100644
index 00000000000..1fa3de69028
--- /dev/null
+++ b/public/-/emojis/3/couplekiss.png
Binary files differ
diff --git a/public/-/emojis/3/cow.png b/public/-/emojis/3/cow.png
new file mode 100644
index 00000000000..bb41c5b8327
--- /dev/null
+++ b/public/-/emojis/3/cow.png
Binary files differ
diff --git a/public/-/emojis/3/cow2.png b/public/-/emojis/3/cow2.png
new file mode 100644
index 00000000000..7b22fbf57a2
--- /dev/null
+++ b/public/-/emojis/3/cow2.png
Binary files differ
diff --git a/public/-/emojis/3/cowboy.png b/public/-/emojis/3/cowboy.png
new file mode 100644
index 00000000000..77a8a8f91bc
--- /dev/null
+++ b/public/-/emojis/3/cowboy.png
Binary files differ
diff --git a/public/-/emojis/3/crab.png b/public/-/emojis/3/crab.png
new file mode 100644
index 00000000000..4006a1fac1b
--- /dev/null
+++ b/public/-/emojis/3/crab.png
Binary files differ
diff --git a/public/-/emojis/3/crayon.png b/public/-/emojis/3/crayon.png
new file mode 100644
index 00000000000..a708705dc38
--- /dev/null
+++ b/public/-/emojis/3/crayon.png
Binary files differ
diff --git a/public/-/emojis/3/credit_card.png b/public/-/emojis/3/credit_card.png
new file mode 100644
index 00000000000..a30cf4cea3b
--- /dev/null
+++ b/public/-/emojis/3/credit_card.png
Binary files differ
diff --git a/public/-/emojis/3/crescent_moon.png b/public/-/emojis/3/crescent_moon.png
new file mode 100644
index 00000000000..c53b11e2bfb
--- /dev/null
+++ b/public/-/emojis/3/crescent_moon.png
Binary files differ
diff --git a/public/-/emojis/3/cricket.png b/public/-/emojis/3/cricket.png
new file mode 100644
index 00000000000..e83078dd6f7
--- /dev/null
+++ b/public/-/emojis/3/cricket.png
Binary files differ
diff --git a/public/-/emojis/3/crocodile.png b/public/-/emojis/3/crocodile.png
new file mode 100644
index 00000000000..45eae24995f
--- /dev/null
+++ b/public/-/emojis/3/crocodile.png
Binary files differ
diff --git a/public/-/emojis/3/croissant.png b/public/-/emojis/3/croissant.png
new file mode 100644
index 00000000000..cac52a57ec6
--- /dev/null
+++ b/public/-/emojis/3/croissant.png
Binary files differ
diff --git a/public/-/emojis/3/cross.png b/public/-/emojis/3/cross.png
new file mode 100644
index 00000000000..dcaf713d86a
--- /dev/null
+++ b/public/-/emojis/3/cross.png
Binary files differ
diff --git a/public/-/emojis/3/crossed_flags.png b/public/-/emojis/3/crossed_flags.png
new file mode 100644
index 00000000000..5f8a42cf7ae
--- /dev/null
+++ b/public/-/emojis/3/crossed_flags.png
Binary files differ
diff --git a/public/-/emojis/3/crossed_swords.png b/public/-/emojis/3/crossed_swords.png
new file mode 100644
index 00000000000..849a32fc979
--- /dev/null
+++ b/public/-/emojis/3/crossed_swords.png
Binary files differ
diff --git a/public/-/emojis/3/crown.png b/public/-/emojis/3/crown.png
new file mode 100644
index 00000000000..805b0b48603
--- /dev/null
+++ b/public/-/emojis/3/crown.png
Binary files differ
diff --git a/public/-/emojis/3/cruise_ship.png b/public/-/emojis/3/cruise_ship.png
new file mode 100644
index 00000000000..7c393baf077
--- /dev/null
+++ b/public/-/emojis/3/cruise_ship.png
Binary files differ
diff --git a/public/-/emojis/3/cry.png b/public/-/emojis/3/cry.png
new file mode 100644
index 00000000000..8fcecb30d34
--- /dev/null
+++ b/public/-/emojis/3/cry.png
Binary files differ
diff --git a/public/-/emojis/3/crying_cat_face.png b/public/-/emojis/3/crying_cat_face.png
new file mode 100644
index 00000000000..4ad78aa8ed7
--- /dev/null
+++ b/public/-/emojis/3/crying_cat_face.png
Binary files differ
diff --git a/public/-/emojis/3/crystal_ball.png b/public/-/emojis/3/crystal_ball.png
new file mode 100644
index 00000000000..cf68dfb6704
--- /dev/null
+++ b/public/-/emojis/3/crystal_ball.png
Binary files differ
diff --git a/public/-/emojis/3/cucumber.png b/public/-/emojis/3/cucumber.png
new file mode 100644
index 00000000000..c4f95a74ecb
--- /dev/null
+++ b/public/-/emojis/3/cucumber.png
Binary files differ
diff --git a/public/-/emojis/3/cupid.png b/public/-/emojis/3/cupid.png
new file mode 100644
index 00000000000..a46c194c899
--- /dev/null
+++ b/public/-/emojis/3/cupid.png
Binary files differ
diff --git a/public/-/emojis/3/curly_loop.png b/public/-/emojis/3/curly_loop.png
new file mode 100644
index 00000000000..3d71b69637c
--- /dev/null
+++ b/public/-/emojis/3/curly_loop.png
Binary files differ
diff --git a/public/-/emojis/3/currency_exchange.png b/public/-/emojis/3/currency_exchange.png
new file mode 100644
index 00000000000..bf63ee89a62
--- /dev/null
+++ b/public/-/emojis/3/currency_exchange.png
Binary files differ
diff --git a/public/-/emojis/3/curry.png b/public/-/emojis/3/curry.png
new file mode 100644
index 00000000000..94cb3cea86a
--- /dev/null
+++ b/public/-/emojis/3/curry.png
Binary files differ
diff --git a/public/-/emojis/3/custard.png b/public/-/emojis/3/custard.png
new file mode 100644
index 00000000000..07fc9250fe5
--- /dev/null
+++ b/public/-/emojis/3/custard.png
Binary files differ
diff --git a/public/-/emojis/3/customs.png b/public/-/emojis/3/customs.png
new file mode 100644
index 00000000000..de8b8525889
--- /dev/null
+++ b/public/-/emojis/3/customs.png
Binary files differ
diff --git a/public/-/emojis/3/cyclone.png b/public/-/emojis/3/cyclone.png
new file mode 100644
index 00000000000..10a1ee67512
--- /dev/null
+++ b/public/-/emojis/3/cyclone.png
Binary files differ
diff --git a/public/-/emojis/3/dagger.png b/public/-/emojis/3/dagger.png
new file mode 100644
index 00000000000..7a65ce095d2
--- /dev/null
+++ b/public/-/emojis/3/dagger.png
Binary files differ
diff --git a/public/-/emojis/3/dancer.png b/public/-/emojis/3/dancer.png
new file mode 100644
index 00000000000..701d5dc6a83
--- /dev/null
+++ b/public/-/emojis/3/dancer.png
Binary files differ
diff --git a/public/-/emojis/3/dancer_tone1.png b/public/-/emojis/3/dancer_tone1.png
new file mode 100644
index 00000000000..ad63b590f06
--- /dev/null
+++ b/public/-/emojis/3/dancer_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/dancer_tone2.png b/public/-/emojis/3/dancer_tone2.png
new file mode 100644
index 00000000000..1a28580ead5
--- /dev/null
+++ b/public/-/emojis/3/dancer_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/dancer_tone3.png b/public/-/emojis/3/dancer_tone3.png
new file mode 100644
index 00000000000..e3c35797fef
--- /dev/null
+++ b/public/-/emojis/3/dancer_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/dancer_tone4.png b/public/-/emojis/3/dancer_tone4.png
new file mode 100644
index 00000000000..053a498d4cd
--- /dev/null
+++ b/public/-/emojis/3/dancer_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/dancer_tone5.png b/public/-/emojis/3/dancer_tone5.png
new file mode 100644
index 00000000000..af4758d40c4
--- /dev/null
+++ b/public/-/emojis/3/dancer_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/dancers.png b/public/-/emojis/3/dancers.png
new file mode 100644
index 00000000000..e68ca59ed70
--- /dev/null
+++ b/public/-/emojis/3/dancers.png
Binary files differ
diff --git a/public/-/emojis/3/dango.png b/public/-/emojis/3/dango.png
new file mode 100644
index 00000000000..6a5ed27f7f7
--- /dev/null
+++ b/public/-/emojis/3/dango.png
Binary files differ
diff --git a/public/-/emojis/3/dark_sunglasses.png b/public/-/emojis/3/dark_sunglasses.png
new file mode 100644
index 00000000000..b3c3cbf16fb
--- /dev/null
+++ b/public/-/emojis/3/dark_sunglasses.png
Binary files differ
diff --git a/public/-/emojis/3/dart.png b/public/-/emojis/3/dart.png
new file mode 100644
index 00000000000..297c50e37e6
--- /dev/null
+++ b/public/-/emojis/3/dart.png
Binary files differ
diff --git a/public/-/emojis/3/dash.png b/public/-/emojis/3/dash.png
new file mode 100644
index 00000000000..da03bbdac9d
--- /dev/null
+++ b/public/-/emojis/3/dash.png
Binary files differ
diff --git a/public/-/emojis/3/date.png b/public/-/emojis/3/date.png
new file mode 100644
index 00000000000..9cd8e92e497
--- /dev/null
+++ b/public/-/emojis/3/date.png
Binary files differ
diff --git a/public/-/emojis/3/deciduous_tree.png b/public/-/emojis/3/deciduous_tree.png
new file mode 100644
index 00000000000..c61ab068531
--- /dev/null
+++ b/public/-/emojis/3/deciduous_tree.png
Binary files differ
diff --git a/public/-/emojis/3/deer.png b/public/-/emojis/3/deer.png
new file mode 100644
index 00000000000..8c7cd98546f
--- /dev/null
+++ b/public/-/emojis/3/deer.png
Binary files differ
diff --git a/public/-/emojis/3/department_store.png b/public/-/emojis/3/department_store.png
new file mode 100644
index 00000000000..548cba49523
--- /dev/null
+++ b/public/-/emojis/3/department_store.png
Binary files differ
diff --git a/public/-/emojis/3/desert.png b/public/-/emojis/3/desert.png
new file mode 100644
index 00000000000..35f2adbafb4
--- /dev/null
+++ b/public/-/emojis/3/desert.png
Binary files differ
diff --git a/public/-/emojis/3/desktop.png b/public/-/emojis/3/desktop.png
new file mode 100644
index 00000000000..8de01a76ecb
--- /dev/null
+++ b/public/-/emojis/3/desktop.png
Binary files differ
diff --git a/public/-/emojis/3/diamond_shape_with_a_dot_inside.png b/public/-/emojis/3/diamond_shape_with_a_dot_inside.png
new file mode 100644
index 00000000000..33616cd496d
--- /dev/null
+++ b/public/-/emojis/3/diamond_shape_with_a_dot_inside.png
Binary files differ
diff --git a/public/-/emojis/3/diamonds.png b/public/-/emojis/3/diamonds.png
new file mode 100644
index 00000000000..9c1d0fb2551
--- /dev/null
+++ b/public/-/emojis/3/diamonds.png
Binary files differ
diff --git a/public/-/emojis/3/disappointed.png b/public/-/emojis/3/disappointed.png
new file mode 100644
index 00000000000..58f85314d73
--- /dev/null
+++ b/public/-/emojis/3/disappointed.png
Binary files differ
diff --git a/public/-/emojis/3/disappointed_relieved.png b/public/-/emojis/3/disappointed_relieved.png
new file mode 100644
index 00000000000..eec72338eef
--- /dev/null
+++ b/public/-/emojis/3/disappointed_relieved.png
Binary files differ
diff --git a/public/-/emojis/3/dividers.png b/public/-/emojis/3/dividers.png
new file mode 100644
index 00000000000..a90c2fd8ff6
--- /dev/null
+++ b/public/-/emojis/3/dividers.png
Binary files differ
diff --git a/public/-/emojis/3/dizzy.png b/public/-/emojis/3/dizzy.png
new file mode 100644
index 00000000000..6bdcd9e5584
--- /dev/null
+++ b/public/-/emojis/3/dizzy.png
Binary files differ
diff --git a/public/-/emojis/3/dizzy_face.png b/public/-/emojis/3/dizzy_face.png
new file mode 100644
index 00000000000..8a8836963da
--- /dev/null
+++ b/public/-/emojis/3/dizzy_face.png
Binary files differ
diff --git a/public/-/emojis/3/do_not_litter.png b/public/-/emojis/3/do_not_litter.png
new file mode 100644
index 00000000000..1582c789df8
--- /dev/null
+++ b/public/-/emojis/3/do_not_litter.png
Binary files differ
diff --git a/public/-/emojis/3/dog.png b/public/-/emojis/3/dog.png
new file mode 100644
index 00000000000..261ee82429d
--- /dev/null
+++ b/public/-/emojis/3/dog.png
Binary files differ
diff --git a/public/-/emojis/3/dog2.png b/public/-/emojis/3/dog2.png
new file mode 100644
index 00000000000..c1c9bd911a3
--- /dev/null
+++ b/public/-/emojis/3/dog2.png
Binary files differ
diff --git a/public/-/emojis/3/dollar.png b/public/-/emojis/3/dollar.png
new file mode 100644
index 00000000000..dc0ffc7580e
--- /dev/null
+++ b/public/-/emojis/3/dollar.png
Binary files differ
diff --git a/public/-/emojis/3/dolls.png b/public/-/emojis/3/dolls.png
new file mode 100644
index 00000000000..7e0ac5e0ff5
--- /dev/null
+++ b/public/-/emojis/3/dolls.png
Binary files differ
diff --git a/public/-/emojis/3/dolphin.png b/public/-/emojis/3/dolphin.png
new file mode 100644
index 00000000000..135c1ff635f
--- /dev/null
+++ b/public/-/emojis/3/dolphin.png
Binary files differ
diff --git a/public/-/emojis/3/door.png b/public/-/emojis/3/door.png
new file mode 100644
index 00000000000..9f97e75007f
--- /dev/null
+++ b/public/-/emojis/3/door.png
Binary files differ
diff --git a/public/-/emojis/3/doughnut.png b/public/-/emojis/3/doughnut.png
new file mode 100644
index 00000000000..12fff3c0d52
--- /dev/null
+++ b/public/-/emojis/3/doughnut.png
Binary files differ
diff --git a/public/-/emojis/3/dove.png b/public/-/emojis/3/dove.png
new file mode 100644
index 00000000000..2a4392ec711
--- /dev/null
+++ b/public/-/emojis/3/dove.png
Binary files differ
diff --git a/public/-/emojis/3/dragon.png b/public/-/emojis/3/dragon.png
new file mode 100644
index 00000000000..0373699122e
--- /dev/null
+++ b/public/-/emojis/3/dragon.png
Binary files differ
diff --git a/public/-/emojis/3/dragon_face.png b/public/-/emojis/3/dragon_face.png
new file mode 100644
index 00000000000..1184d6f1a10
--- /dev/null
+++ b/public/-/emojis/3/dragon_face.png
Binary files differ
diff --git a/public/-/emojis/3/dress.png b/public/-/emojis/3/dress.png
new file mode 100644
index 00000000000..b8eacb7d177
--- /dev/null
+++ b/public/-/emojis/3/dress.png
Binary files differ
diff --git a/public/-/emojis/3/dromedary_camel.png b/public/-/emojis/3/dromedary_camel.png
new file mode 100644
index 00000000000..bad07051604
--- /dev/null
+++ b/public/-/emojis/3/dromedary_camel.png
Binary files differ
diff --git a/public/-/emojis/3/drooling_face.png b/public/-/emojis/3/drooling_face.png
new file mode 100644
index 00000000000..ad883534d30
--- /dev/null
+++ b/public/-/emojis/3/drooling_face.png
Binary files differ
diff --git a/public/-/emojis/3/droplet.png b/public/-/emojis/3/droplet.png
new file mode 100644
index 00000000000..5cfce842955
--- /dev/null
+++ b/public/-/emojis/3/droplet.png
Binary files differ
diff --git a/public/-/emojis/3/drum.png b/public/-/emojis/3/drum.png
new file mode 100644
index 00000000000..43a3b0cb1ce
--- /dev/null
+++ b/public/-/emojis/3/drum.png
Binary files differ
diff --git a/public/-/emojis/3/duck.png b/public/-/emojis/3/duck.png
new file mode 100644
index 00000000000..1126d456cb0
--- /dev/null
+++ b/public/-/emojis/3/duck.png
Binary files differ
diff --git a/public/-/emojis/3/dvd.png b/public/-/emojis/3/dvd.png
new file mode 100644
index 00000000000..b3b00ecfdcf
--- /dev/null
+++ b/public/-/emojis/3/dvd.png
Binary files differ
diff --git a/public/-/emojis/3/e-mail.png b/public/-/emojis/3/e-mail.png
new file mode 100644
index 00000000000..ce99dd7a163
--- /dev/null
+++ b/public/-/emojis/3/e-mail.png
Binary files differ
diff --git a/public/-/emojis/3/eagle.png b/public/-/emojis/3/eagle.png
new file mode 100644
index 00000000000..9e799f596a5
--- /dev/null
+++ b/public/-/emojis/3/eagle.png
Binary files differ
diff --git a/public/-/emojis/3/ear.png b/public/-/emojis/3/ear.png
new file mode 100644
index 00000000000..29aaf9ea164
--- /dev/null
+++ b/public/-/emojis/3/ear.png
Binary files differ
diff --git a/public/-/emojis/3/ear_of_rice.png b/public/-/emojis/3/ear_of_rice.png
new file mode 100644
index 00000000000..5424d157bc3
--- /dev/null
+++ b/public/-/emojis/3/ear_of_rice.png
Binary files differ
diff --git a/public/-/emojis/3/ear_tone1.png b/public/-/emojis/3/ear_tone1.png
new file mode 100644
index 00000000000..dee81b5f6ce
--- /dev/null
+++ b/public/-/emojis/3/ear_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/ear_tone2.png b/public/-/emojis/3/ear_tone2.png
new file mode 100644
index 00000000000..06b9835ea65
--- /dev/null
+++ b/public/-/emojis/3/ear_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/ear_tone3.png b/public/-/emojis/3/ear_tone3.png
new file mode 100644
index 00000000000..3e0ac0befd3
--- /dev/null
+++ b/public/-/emojis/3/ear_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/ear_tone4.png b/public/-/emojis/3/ear_tone4.png
new file mode 100644
index 00000000000..42398620022
--- /dev/null
+++ b/public/-/emojis/3/ear_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/ear_tone5.png b/public/-/emojis/3/ear_tone5.png
new file mode 100644
index 00000000000..de97241e30c
--- /dev/null
+++ b/public/-/emojis/3/ear_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/earth_africa.png b/public/-/emojis/3/earth_africa.png
new file mode 100644
index 00000000000..11b57568561
--- /dev/null
+++ b/public/-/emojis/3/earth_africa.png
Binary files differ
diff --git a/public/-/emojis/3/earth_americas.png b/public/-/emojis/3/earth_americas.png
new file mode 100644
index 00000000000..9f80abddcf7
--- /dev/null
+++ b/public/-/emojis/3/earth_americas.png
Binary files differ
diff --git a/public/-/emojis/3/earth_asia.png b/public/-/emojis/3/earth_asia.png
new file mode 100644
index 00000000000..199705875b0
--- /dev/null
+++ b/public/-/emojis/3/earth_asia.png
Binary files differ
diff --git a/public/-/emojis/3/egg.png b/public/-/emojis/3/egg.png
new file mode 100644
index 00000000000..201929d6119
--- /dev/null
+++ b/public/-/emojis/3/egg.png
Binary files differ
diff --git a/public/-/emojis/3/eggplant.png b/public/-/emojis/3/eggplant.png
new file mode 100644
index 00000000000..bb21a8e6f2e
--- /dev/null
+++ b/public/-/emojis/3/eggplant.png
Binary files differ
diff --git a/public/-/emojis/3/eight.png b/public/-/emojis/3/eight.png
new file mode 100644
index 00000000000..d220764a928
--- /dev/null
+++ b/public/-/emojis/3/eight.png
Binary files differ
diff --git a/public/-/emojis/3/eight_pointed_black_star.png b/public/-/emojis/3/eight_pointed_black_star.png
new file mode 100644
index 00000000000..78ad05b8bed
--- /dev/null
+++ b/public/-/emojis/3/eight_pointed_black_star.png
Binary files differ
diff --git a/public/-/emojis/3/eight_spoked_asterisk.png b/public/-/emojis/3/eight_spoked_asterisk.png
new file mode 100644
index 00000000000..fd95e20ba88
--- /dev/null
+++ b/public/-/emojis/3/eight_spoked_asterisk.png
Binary files differ
diff --git a/public/-/emojis/3/eject.png b/public/-/emojis/3/eject.png
new file mode 100644
index 00000000000..9037b30f5fd
--- /dev/null
+++ b/public/-/emojis/3/eject.png
Binary files differ
diff --git a/public/-/emojis/3/electric_plug.png b/public/-/emojis/3/electric_plug.png
new file mode 100644
index 00000000000..8942ea456ea
--- /dev/null
+++ b/public/-/emojis/3/electric_plug.png
Binary files differ
diff --git a/public/-/emojis/3/elephant.png b/public/-/emojis/3/elephant.png
new file mode 100644
index 00000000000..d25e5e96fb5
--- /dev/null
+++ b/public/-/emojis/3/elephant.png
Binary files differ
diff --git a/public/-/emojis/3/emojis.json b/public/-/emojis/3/emojis.json
new file mode 100644
index 00000000000..4f2bb51d303
--- /dev/null
+++ b/public/-/emojis/3/emojis.json
@@ -0,0 +1,12560 @@
+[
+ {
+ "n": "grinning",
+ "c": "people",
+ "e": "😀",
+ "d": "grinning face",
+ "u": "6.1"
+ },
+ {
+ "n": "smiley",
+ "c": "people",
+ "e": "😃",
+ "d": "smiling face with open mouth",
+ "u": "6.0"
+ },
+ {
+ "n": "smile",
+ "c": "people",
+ "e": "😄",
+ "d": "smiling face with open mouth and smiling eyes",
+ "u": "6.0"
+ },
+ {
+ "n": "grin",
+ "c": "people",
+ "e": "😁",
+ "d": "grinning face with smiling eyes",
+ "u": "6.0"
+ },
+ {
+ "n": "laughing",
+ "c": "people",
+ "e": "😆",
+ "d": "smiling face with open mouth and tightly-closed ey",
+ "u": "6.0"
+ },
+ {
+ "n": "sweat_smile",
+ "c": "people",
+ "e": "😅",
+ "d": "smiling face with open mouth and cold sweat",
+ "u": "6.0"
+ },
+ {
+ "n": "rofl",
+ "c": "people",
+ "e": "🤣",
+ "d": "rolling on the floor laughing",
+ "u": "9.0"
+ },
+ {
+ "n": "joy",
+ "c": "people",
+ "e": "😂",
+ "d": "face with tears of joy",
+ "u": "6.0"
+ },
+ {
+ "n": "slight_smile",
+ "c": "people",
+ "e": "🙂",
+ "d": "slightly smiling face",
+ "u": "7.0"
+ },
+ {
+ "n": "upside_down",
+ "c": "people",
+ "e": "🙃",
+ "d": "upside-down face",
+ "u": "8.0"
+ },
+ {
+ "n": "wink",
+ "c": "people",
+ "e": "😉",
+ "d": "winking face",
+ "u": "6.0"
+ },
+ {
+ "n": "blush",
+ "c": "people",
+ "e": "😊",
+ "d": "smiling face with smiling eyes",
+ "u": "6.0"
+ },
+ {
+ "n": "innocent",
+ "c": "people",
+ "e": "😇",
+ "d": "smiling face with halo",
+ "u": "6.0"
+ },
+ {
+ "n": "heart_eyes",
+ "c": "people",
+ "e": "😍",
+ "d": "smiling face with heart-shaped eyes",
+ "u": "6.0"
+ },
+ {
+ "n": "kissing_heart",
+ "c": "people",
+ "e": "😘",
+ "d": "face throwing a kiss",
+ "u": "6.0"
+ },
+ {
+ "n": "kissing",
+ "c": "people",
+ "e": "😗",
+ "d": "kissing face",
+ "u": "6.1"
+ },
+ {
+ "n": "relaxed",
+ "c": "people",
+ "e": "☺",
+ "d": "white smiling face",
+ "u": "1.1"
+ },
+ {
+ "n": "kissing_closed_eyes",
+ "c": "people",
+ "e": "😚",
+ "d": "kissing face with closed eyes",
+ "u": "6.0"
+ },
+ {
+ "n": "kissing_smiling_eyes",
+ "c": "people",
+ "e": "😙",
+ "d": "kissing face with smiling eyes",
+ "u": "6.1"
+ },
+ {
+ "n": "yum",
+ "c": "people",
+ "e": "😋",
+ "d": "face savouring delicious food",
+ "u": "6.0"
+ },
+ {
+ "n": "stuck_out_tongue",
+ "c": "people",
+ "e": "😛",
+ "d": "face with stuck-out tongue",
+ "u": "6.1"
+ },
+ {
+ "n": "stuck_out_tongue_winking_eye",
+ "c": "people",
+ "e": "😜",
+ "d": "face with stuck-out tongue and winking eye",
+ "u": "6.0"
+ },
+ {
+ "n": "stuck_out_tongue_closed_eyes",
+ "c": "people",
+ "e": "😝",
+ "d": "face with stuck-out tongue and tightly-closed eyes",
+ "u": "6.0"
+ },
+ {
+ "n": "money_mouth",
+ "c": "people",
+ "e": "🤑",
+ "d": "money-mouth face",
+ "u": "8.0"
+ },
+ {
+ "n": "hugging",
+ "c": "people",
+ "e": "🤗",
+ "d": "hugging face",
+ "u": "8.0"
+ },
+ {
+ "n": "thinking",
+ "c": "people",
+ "e": "🤔",
+ "d": "thinking face",
+ "u": "8.0"
+ },
+ {
+ "n": "zipper_mouth",
+ "c": "people",
+ "e": "🤐",
+ "d": "zipper-mouth face",
+ "u": "8.0"
+ },
+ {
+ "n": "neutral_face",
+ "c": "people",
+ "e": "😐",
+ "d": "neutral face",
+ "u": "6.0"
+ },
+ {
+ "n": "expressionless",
+ "c": "people",
+ "e": "😑",
+ "d": "expressionless face",
+ "u": "6.1"
+ },
+ {
+ "n": "no_mouth",
+ "c": "people",
+ "e": "😶",
+ "d": "face without mouth",
+ "u": "6.0"
+ },
+ {
+ "n": "smirk",
+ "c": "people",
+ "e": "😏",
+ "d": "smirking face",
+ "u": "6.0"
+ },
+ {
+ "n": "unamused",
+ "c": "people",
+ "e": "😒",
+ "d": "unamused face",
+ "u": "6.0"
+ },
+ {
+ "n": "rolling_eyes",
+ "c": "people",
+ "e": "🙄",
+ "d": "face with rolling eyes",
+ "u": "8.0"
+ },
+ {
+ "n": "grimacing",
+ "c": "people",
+ "e": "😬",
+ "d": "grimacing face",
+ "u": "6.1"
+ },
+ {
+ "n": "lying_face",
+ "c": "people",
+ "e": "🤥",
+ "d": "lying face",
+ "u": "9.0"
+ },
+ {
+ "n": "relieved",
+ "c": "people",
+ "e": "😌",
+ "d": "relieved face",
+ "u": "6.0"
+ },
+ {
+ "n": "pensive",
+ "c": "people",
+ "e": "😔",
+ "d": "pensive face",
+ "u": "6.0"
+ },
+ {
+ "n": "sleepy",
+ "c": "people",
+ "e": "😪",
+ "d": "sleepy face",
+ "u": "6.0"
+ },
+ {
+ "n": "drooling_face",
+ "c": "people",
+ "e": "🤤",
+ "d": "drooling face",
+ "u": "9.0"
+ },
+ {
+ "n": "sleeping",
+ "c": "people",
+ "e": "😴",
+ "d": "sleeping face",
+ "u": "6.1"
+ },
+ {
+ "n": "mask",
+ "c": "people",
+ "e": "😷",
+ "d": "face with medical mask",
+ "u": "6.0"
+ },
+ {
+ "n": "thermometer_face",
+ "c": "people",
+ "e": "🤒",
+ "d": "face with thermometer",
+ "u": "8.0"
+ },
+ {
+ "n": "head_bandage",
+ "c": "people",
+ "e": "🤕",
+ "d": "face with head-bandage",
+ "u": "8.0"
+ },
+ {
+ "n": "nauseated_face",
+ "c": "people",
+ "e": "🤢",
+ "d": "nauseated face",
+ "u": "9.0"
+ },
+ {
+ "n": "sneezing_face",
+ "c": "people",
+ "e": "🤧",
+ "d": "sneezing face",
+ "u": "9.0"
+ },
+ {
+ "n": "dizzy_face",
+ "c": "people",
+ "e": "😵",
+ "d": "dizzy face",
+ "u": "6.0"
+ },
+ {
+ "n": "cowboy",
+ "c": "people",
+ "e": "🤠",
+ "d": "face with cowboy hat",
+ "u": "9.0"
+ },
+ {
+ "n": "sunglasses",
+ "c": "people",
+ "e": "😎",
+ "d": "smiling face with sunglasses",
+ "u": "6.0"
+ },
+ {
+ "n": "nerd",
+ "c": "people",
+ "e": "🤓",
+ "d": "nerd face",
+ "u": "8.0"
+ },
+ {
+ "n": "confused",
+ "c": "people",
+ "e": "😕",
+ "d": "confused face",
+ "u": "6.1"
+ },
+ {
+ "n": "worried",
+ "c": "people",
+ "e": "😟",
+ "d": "worried face",
+ "u": "6.1"
+ },
+ {
+ "n": "slight_frown",
+ "c": "people",
+ "e": "🙁",
+ "d": "slightly frowning face",
+ "u": "7.0"
+ },
+ {
+ "n": "frowning2",
+ "c": "people",
+ "e": "☹",
+ "d": "white frowning face",
+ "u": "1.1"
+ },
+ {
+ "n": "open_mouth",
+ "c": "people",
+ "e": "😮",
+ "d": "face with open mouth",
+ "u": "6.1"
+ },
+ {
+ "n": "hushed",
+ "c": "people",
+ "e": "😯",
+ "d": "hushed face",
+ "u": "6.1"
+ },
+ {
+ "n": "astonished",
+ "c": "people",
+ "e": "😲",
+ "d": "astonished face",
+ "u": "6.0"
+ },
+ {
+ "n": "flushed",
+ "c": "people",
+ "e": "😳",
+ "d": "flushed face",
+ "u": "6.0"
+ },
+ {
+ "n": "frowning",
+ "c": "people",
+ "e": "😦",
+ "d": "frowning face with open mouth",
+ "u": "6.1"
+ },
+ {
+ "n": "anguished",
+ "c": "people",
+ "e": "😧",
+ "d": "anguished face",
+ "u": "6.1"
+ },
+ {
+ "n": "fearful",
+ "c": "people",
+ "e": "😨",
+ "d": "fearful face",
+ "u": "6.0"
+ },
+ {
+ "n": "cold_sweat",
+ "c": "people",
+ "e": "😰",
+ "d": "face with open mouth and cold sweat",
+ "u": "6.0"
+ },
+ {
+ "n": "disappointed_relieved",
+ "c": "people",
+ "e": "😥",
+ "d": "disappointed but relieved face",
+ "u": "6.0"
+ },
+ {
+ "n": "cry",
+ "c": "people",
+ "e": "😢",
+ "d": "crying face",
+ "u": "6.0"
+ },
+ {
+ "n": "sob",
+ "c": "people",
+ "e": "😭",
+ "d": "loudly crying face",
+ "u": "6.0"
+ },
+ {
+ "n": "scream",
+ "c": "people",
+ "e": "😱",
+ "d": "face screaming in fear",
+ "u": "6.0"
+ },
+ {
+ "n": "confounded",
+ "c": "people",
+ "e": "😖",
+ "d": "confounded face",
+ "u": "6.0"
+ },
+ {
+ "n": "persevere",
+ "c": "people",
+ "e": "😣",
+ "d": "persevering face",
+ "u": "6.0"
+ },
+ {
+ "n": "disappointed",
+ "c": "people",
+ "e": "😞",
+ "d": "disappointed face",
+ "u": "6.0"
+ },
+ {
+ "n": "sweat",
+ "c": "people",
+ "e": "😓",
+ "d": "face with cold sweat",
+ "u": "6.0"
+ },
+ {
+ "n": "weary",
+ "c": "people",
+ "e": "😩",
+ "d": "weary face",
+ "u": "6.0"
+ },
+ {
+ "n": "tired_face",
+ "c": "people",
+ "e": "😫",
+ "d": "tired face",
+ "u": "6.0"
+ },
+ {
+ "n": "triumph",
+ "c": "people",
+ "e": "😤",
+ "d": "face with look of triumph",
+ "u": "6.0"
+ },
+ {
+ "n": "rage",
+ "c": "people",
+ "e": "😡",
+ "d": "pouting face",
+ "u": "6.0"
+ },
+ {
+ "n": "angry",
+ "c": "people",
+ "e": "😠",
+ "d": "angry face",
+ "u": "6.0"
+ },
+ {
+ "n": "smiling_imp",
+ "c": "people",
+ "e": "😈",
+ "d": "smiling face with horns",
+ "u": "6.0"
+ },
+ {
+ "n": "imp",
+ "c": "people",
+ "e": "👿",
+ "d": "imp",
+ "u": "6.0"
+ },
+ {
+ "n": "skull",
+ "c": "people",
+ "e": "💀",
+ "d": "skull",
+ "u": "6.0"
+ },
+ {
+ "n": "skull_crossbones",
+ "c": "objects",
+ "e": "☠",
+ "d": "skull and crossbones",
+ "u": "1.1"
+ },
+ {
+ "n": "poop",
+ "c": "people",
+ "e": "💩",
+ "d": "pile of poo",
+ "u": "6.0"
+ },
+ {
+ "n": "clown",
+ "c": "people",
+ "e": "🤡",
+ "d": "clown face",
+ "u": "9.0"
+ },
+ {
+ "n": "japanese_ogre",
+ "c": "people",
+ "e": "👹",
+ "d": "japanese ogre",
+ "u": "6.0"
+ },
+ {
+ "n": "japanese_goblin",
+ "c": "people",
+ "e": "👺",
+ "d": "japanese goblin",
+ "u": "6.0"
+ },
+ {
+ "n": "ghost",
+ "c": "people",
+ "e": "👻",
+ "d": "ghost",
+ "u": "6.0"
+ },
+ {
+ "n": "alien",
+ "c": "people",
+ "e": "👽",
+ "d": "extraterrestrial alien",
+ "u": "6.0"
+ },
+ {
+ "n": "space_invader",
+ "c": "activity",
+ "e": "👾",
+ "d": "alien monster",
+ "u": "6.0"
+ },
+ {
+ "n": "robot",
+ "c": "people",
+ "e": "🤖",
+ "d": "robot face",
+ "u": "8.0"
+ },
+ {
+ "n": "smiley_cat",
+ "c": "people",
+ "e": "😺",
+ "d": "smiling cat face with open mouth",
+ "u": "6.0"
+ },
+ {
+ "n": "smile_cat",
+ "c": "people",
+ "e": "😸",
+ "d": "grinning cat face with smiling eyes",
+ "u": "6.0"
+ },
+ {
+ "n": "joy_cat",
+ "c": "people",
+ "e": "😹",
+ "d": "cat face with tears of joy",
+ "u": "6.0"
+ },
+ {
+ "n": "heart_eyes_cat",
+ "c": "people",
+ "e": "😻",
+ "d": "smiling cat face with heart-shaped eyes",
+ "u": "6.0"
+ },
+ {
+ "n": "smirk_cat",
+ "c": "people",
+ "e": "😼",
+ "d": "cat face with wry smile",
+ "u": "6.0"
+ },
+ {
+ "n": "kissing_cat",
+ "c": "people",
+ "e": "😽",
+ "d": "kissing cat face with closed eyes",
+ "u": "6.0"
+ },
+ {
+ "n": "scream_cat",
+ "c": "people",
+ "e": "🙀",
+ "d": "weary cat face",
+ "u": "6.0"
+ },
+ {
+ "n": "crying_cat_face",
+ "c": "people",
+ "e": "😿",
+ "d": "crying cat face",
+ "u": "6.0"
+ },
+ {
+ "n": "pouting_cat",
+ "c": "people",
+ "e": "😾",
+ "d": "pouting cat face",
+ "u": "6.0"
+ },
+ {
+ "n": "see_no_evil",
+ "c": "nature",
+ "e": "🙈",
+ "d": "see-no-evil monkey",
+ "u": "6.0"
+ },
+ {
+ "n": "hear_no_evil",
+ "c": "nature",
+ "e": "🙉",
+ "d": "hear-no-evil monkey",
+ "u": "6.0"
+ },
+ {
+ "n": "speak_no_evil",
+ "c": "nature",
+ "e": "🙊",
+ "d": "speak-no-evil monkey",
+ "u": "6.0"
+ },
+ {
+ "n": "love_letter",
+ "c": "objects",
+ "e": "💌",
+ "d": "love letter",
+ "u": "6.0"
+ },
+ {
+ "n": "cupid",
+ "c": "symbols",
+ "e": "💘",
+ "d": "heart with arrow",
+ "u": "6.0"
+ },
+ {
+ "n": "gift_heart",
+ "c": "symbols",
+ "e": "💝",
+ "d": "heart with ribbon",
+ "u": "6.0"
+ },
+ {
+ "n": "sparkling_heart",
+ "c": "symbols",
+ "e": "💖",
+ "d": "sparkling heart",
+ "u": "6.0"
+ },
+ {
+ "n": "heartpulse",
+ "c": "symbols",
+ "e": "💗",
+ "d": "growing heart",
+ "u": "6.0"
+ },
+ {
+ "n": "heartbeat",
+ "c": "symbols",
+ "e": "💓",
+ "d": "beating heart",
+ "u": "6.0"
+ },
+ {
+ "n": "revolving_hearts",
+ "c": "symbols",
+ "e": "💞",
+ "d": "revolving hearts",
+ "u": "6.0"
+ },
+ {
+ "n": "two_hearts",
+ "c": "symbols",
+ "e": "💕",
+ "d": "two hearts",
+ "u": "6.0"
+ },
+ {
+ "n": "heart_decoration",
+ "c": "symbols",
+ "e": "💟",
+ "d": "heart decoration",
+ "u": "6.0"
+ },
+ {
+ "n": "heart_exclamation",
+ "c": "symbols",
+ "e": "❣",
+ "d": "heavy heart exclamation mark ornament",
+ "u": "1.1"
+ },
+ {
+ "n": "broken_heart",
+ "c": "symbols",
+ "e": "💔",
+ "d": "broken heart",
+ "u": "6.0"
+ },
+ {
+ "n": "heart",
+ "c": "symbols",
+ "e": "❤",
+ "d": "heavy black heart",
+ "u": "1.1"
+ },
+ {
+ "n": "yellow_heart",
+ "c": "symbols",
+ "e": "💛",
+ "d": "yellow heart",
+ "u": "6.0"
+ },
+ {
+ "n": "green_heart",
+ "c": "symbols",
+ "e": "💚",
+ "d": "green heart",
+ "u": "6.0"
+ },
+ {
+ "n": "blue_heart",
+ "c": "symbols",
+ "e": "💙",
+ "d": "blue heart",
+ "u": "6.0"
+ },
+ {
+ "n": "purple_heart",
+ "c": "symbols",
+ "e": "💜",
+ "d": "purple heart",
+ "u": "6.0"
+ },
+ {
+ "n": "black_heart",
+ "c": "symbols",
+ "e": "🖤",
+ "d": "black heart",
+ "u": "9.0"
+ },
+ {
+ "n": "kiss",
+ "c": "people",
+ "e": "💋",
+ "d": "kiss mark",
+ "u": "6.0"
+ },
+ {
+ "n": "100",
+ "c": "symbols",
+ "e": "💯",
+ "d": "hundred points symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "anger",
+ "c": "symbols",
+ "e": "💢",
+ "d": "anger symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "boom",
+ "c": "nature",
+ "e": "💥",
+ "d": "collision symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "dizzy",
+ "c": "nature",
+ "e": "💫",
+ "d": "dizzy symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "sweat_drops",
+ "c": "nature",
+ "e": "💦",
+ "d": "splashing sweat symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "dash",
+ "c": "nature",
+ "e": "💨",
+ "d": "dash symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "hole",
+ "c": "objects",
+ "e": "🕳",
+ "d": "hole",
+ "u": "7.0"
+ },
+ {
+ "n": "speech_balloon",
+ "c": "symbols",
+ "e": "💬",
+ "d": "speech balloon",
+ "u": "6.0"
+ },
+ {
+ "n": "eye_in_speech_bubble",
+ "c": "symbols",
+ "e": "👁‍🗨",
+ "d": "eye in speech bubble",
+ "u": "7.0"
+ },
+ {
+ "n": "speech_left",
+ "c": "symbols",
+ "e": "🗨",
+ "d": "left speech bubble",
+ "u": "7.0"
+ },
+ {
+ "n": "anger_right",
+ "c": "symbols",
+ "e": "🗯",
+ "d": "right anger bubble",
+ "u": "7.0"
+ },
+ {
+ "n": "thought_balloon",
+ "c": "symbols",
+ "e": "💭",
+ "d": "thought balloon",
+ "u": "6.0"
+ },
+ {
+ "n": "zzz",
+ "c": "people",
+ "e": "💤",
+ "d": "sleeping symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "wave",
+ "c": "people",
+ "e": "👋",
+ "d": "waving hand sign",
+ "u": "6.0"
+ },
+ {
+ "n": "wave_tone1",
+ "c": "people",
+ "e": "👋🏻",
+ "d": "waving hand sign tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "wave_tone2",
+ "c": "people",
+ "e": "👋🏼",
+ "d": "waving hand sign tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "wave_tone3",
+ "c": "people",
+ "e": "👋🏽",
+ "d": "waving hand sign tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "wave_tone4",
+ "c": "people",
+ "e": "👋🏾",
+ "d": "waving hand sign tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "wave_tone5",
+ "c": "people",
+ "e": "👋🏿",
+ "d": "waving hand sign tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "raised_back_of_hand",
+ "c": "people",
+ "e": "🤚",
+ "d": "raised back of hand",
+ "u": "9.0"
+ },
+ {
+ "n": "raised_back_of_hand_tone1",
+ "c": "people",
+ "e": "🤚🏻",
+ "d": "raised back of hand tone 1",
+ "u": "9.0"
+ },
+ {
+ "n": "raised_back_of_hand_tone2",
+ "c": "people",
+ "e": "🤚🏼",
+ "d": "raised back of hand tone 2",
+ "u": "9.0"
+ },
+ {
+ "n": "raised_back_of_hand_tone3",
+ "c": "people",
+ "e": "🤚🏽",
+ "d": "raised back of hand tone 3",
+ "u": "9.0"
+ },
+ {
+ "n": "raised_back_of_hand_tone4",
+ "c": "people",
+ "e": "🤚🏾",
+ "d": "raised back of hand tone 4",
+ "u": "9.0"
+ },
+ {
+ "n": "raised_back_of_hand_tone5",
+ "c": "people",
+ "e": "🤚🏿",
+ "d": "raised back of hand tone 5",
+ "u": "9.0"
+ },
+ {
+ "n": "hand_splayed",
+ "c": "people",
+ "e": "🖐",
+ "d": "raised hand with fingers splayed",
+ "u": "7.0"
+ },
+ {
+ "n": "hand_splayed_tone1",
+ "c": "people",
+ "e": "🖐🏻",
+ "d": "raised hand with fingers splayed tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "hand_splayed_tone2",
+ "c": "people",
+ "e": "🖐🏼",
+ "d": "raised hand with fingers splayed tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "hand_splayed_tone3",
+ "c": "people",
+ "e": "🖐🏽",
+ "d": "raised hand with fingers splayed tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "hand_splayed_tone4",
+ "c": "people",
+ "e": "🖐🏾",
+ "d": "raised hand with fingers splayed tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "hand_splayed_tone5",
+ "c": "people",
+ "e": "🖐🏿",
+ "d": "raised hand with fingers splayed tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "raised_hand",
+ "c": "people",
+ "e": "✋",
+ "d": "raised hand",
+ "u": "6.0"
+ },
+ {
+ "n": "raised_hand_tone1",
+ "c": "people",
+ "e": "✋🏻",
+ "d": "raised hand tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "raised_hand_tone2",
+ "c": "people",
+ "e": "✋🏼",
+ "d": "raised hand tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "raised_hand_tone3",
+ "c": "people",
+ "e": "✋🏽",
+ "d": "raised hand tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "raised_hand_tone4",
+ "c": "people",
+ "e": "✋🏾",
+ "d": "raised hand tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "raised_hand_tone5",
+ "c": "people",
+ "e": "✋🏿",
+ "d": "raised hand tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "vulcan",
+ "c": "people",
+ "e": "🖖",
+ "d": "raised hand with part between middle and ring fingers",
+ "u": "7.0"
+ },
+ {
+ "n": "vulcan_tone1",
+ "c": "people",
+ "e": "🖖🏻",
+ "d": "raised hand with part between middle and ring fingers tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "vulcan_tone2",
+ "c": "people",
+ "e": "🖖🏼",
+ "d": "raised hand with part between middle and ring fingers tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "vulcan_tone3",
+ "c": "people",
+ "e": "🖖🏽",
+ "d": "raised hand with part between middle and ring fingers tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "vulcan_tone4",
+ "c": "people",
+ "e": "🖖🏾",
+ "d": "raised hand with part between middle and ring fingers tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "vulcan_tone5",
+ "c": "people",
+ "e": "🖖🏿",
+ "d": "raised hand with part between middle and ring fingers tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "ok_hand",
+ "c": "people",
+ "e": "👌",
+ "d": "ok hand sign",
+ "u": "6.0"
+ },
+ {
+ "n": "ok_hand_tone1",
+ "c": "people",
+ "e": "👌🏻",
+ "d": "ok hand sign tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "ok_hand_tone2",
+ "c": "people",
+ "e": "👌🏼",
+ "d": "ok hand sign tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "ok_hand_tone3",
+ "c": "people",
+ "e": "👌🏽",
+ "d": "ok hand sign tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "ok_hand_tone4",
+ "c": "people",
+ "e": "👌🏾",
+ "d": "ok hand sign tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "ok_hand_tone5",
+ "c": "people",
+ "e": "👌🏿",
+ "d": "ok hand sign tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "v",
+ "c": "people",
+ "e": "✌",
+ "d": "victory hand",
+ "u": "1.1"
+ },
+ {
+ "n": "v_tone1",
+ "c": "people",
+ "e": "✌🏻",
+ "d": "victory hand tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "v_tone2",
+ "c": "people",
+ "e": "✌🏼",
+ "d": "victory hand tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "v_tone3",
+ "c": "people",
+ "e": "✌🏽",
+ "d": "victory hand tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "v_tone4",
+ "c": "people",
+ "e": "✌🏾",
+ "d": "victory hand tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "v_tone5",
+ "c": "people",
+ "e": "✌🏿",
+ "d": "victory hand tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "fingers_crossed",
+ "c": "people",
+ "e": "🤞",
+ "d": "hand with first and index finger crossed",
+ "u": "9.0"
+ },
+ {
+ "n": "fingers_crossed_tone1",
+ "c": "people",
+ "e": "🤞🏻",
+ "d": "hand with index and middle fingers crossed tone 1",
+ "u": "9.0"
+ },
+ {
+ "n": "fingers_crossed_tone2",
+ "c": "people",
+ "e": "🤞🏼",
+ "d": "hand with index and middle fingers crossed tone 2",
+ "u": "9.0"
+ },
+ {
+ "n": "fingers_crossed_tone3",
+ "c": "people",
+ "e": "🤞🏽",
+ "d": "hand with index and middle fingers crossed tone 3",
+ "u": "9.0"
+ },
+ {
+ "n": "fingers_crossed_tone4",
+ "c": "people",
+ "e": "🤞🏾",
+ "d": "hand with index and middle fingers crossed tone 4",
+ "u": "9.0"
+ },
+ {
+ "n": "fingers_crossed_tone5",
+ "c": "people",
+ "e": "🤞🏿",
+ "d": "hand with index and middle fingers crossed tone 5",
+ "u": "9.0"
+ },
+ {
+ "n": "metal",
+ "c": "people",
+ "e": "🤘",
+ "d": "sign of the horns",
+ "u": "8.0"
+ },
+ {
+ "n": "metal_tone1",
+ "c": "people",
+ "e": "🤘🏻",
+ "d": "sign of the horns tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "metal_tone2",
+ "c": "people",
+ "e": "🤘🏼",
+ "d": "sign of the horns tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "metal_tone3",
+ "c": "people",
+ "e": "🤘🏽",
+ "d": "sign of the horns tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "metal_tone4",
+ "c": "people",
+ "e": "🤘🏾",
+ "d": "sign of the horns tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "metal_tone5",
+ "c": "people",
+ "e": "🤘🏿",
+ "d": "sign of the horns tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "call_me",
+ "c": "people",
+ "e": "🤙",
+ "d": "call me hand",
+ "u": "9.0"
+ },
+ {
+ "n": "call_me_tone1",
+ "c": "people",
+ "e": "🤙🏻",
+ "d": "call me hand tone 1",
+ "u": "9.0"
+ },
+ {
+ "n": "call_me_tone2",
+ "c": "people",
+ "e": "🤙🏼",
+ "d": "call me hand tone 2",
+ "u": "9.0"
+ },
+ {
+ "n": "call_me_tone3",
+ "c": "people",
+ "e": "🤙🏽",
+ "d": "call me hand tone 3",
+ "u": "9.0"
+ },
+ {
+ "n": "call_me_tone4",
+ "c": "people",
+ "e": "🤙🏾",
+ "d": "call me hand tone 4",
+ "u": "9.0"
+ },
+ {
+ "n": "call_me_tone5",
+ "c": "people",
+ "e": "🤙🏿",
+ "d": "call me hand tone 5",
+ "u": "9.0"
+ },
+ {
+ "n": "point_left",
+ "c": "people",
+ "e": "👈",
+ "d": "white left pointing backhand index",
+ "u": "6.0"
+ },
+ {
+ "n": "point_left_tone1",
+ "c": "people",
+ "e": "👈🏻",
+ "d": "white left pointing backhand index tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "point_left_tone2",
+ "c": "people",
+ "e": "👈🏼",
+ "d": "white left pointing backhand index tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "point_left_tone3",
+ "c": "people",
+ "e": "👈🏽",
+ "d": "white left pointing backhand index tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "point_left_tone4",
+ "c": "people",
+ "e": "👈🏾",
+ "d": "white left pointing backhand index tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "point_left_tone5",
+ "c": "people",
+ "e": "👈🏿",
+ "d": "white left pointing backhand index tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "point_right",
+ "c": "people",
+ "e": "👉",
+ "d": "white right pointing backhand index",
+ "u": "6.0"
+ },
+ {
+ "n": "point_right_tone1",
+ "c": "people",
+ "e": "👉🏻",
+ "d": "white right pointing backhand index tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "point_right_tone2",
+ "c": "people",
+ "e": "👉🏼",
+ "d": "white right pointing backhand index tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "point_right_tone3",
+ "c": "people",
+ "e": "👉🏽",
+ "d": "white right pointing backhand index tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "point_right_tone4",
+ "c": "people",
+ "e": "👉🏾",
+ "d": "white right pointing backhand index tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "point_right_tone5",
+ "c": "people",
+ "e": "👉🏿",
+ "d": "white right pointing backhand index tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "point_up_2",
+ "c": "people",
+ "e": "👆",
+ "d": "white up pointing backhand index",
+ "u": "6.0"
+ },
+ {
+ "n": "point_up_2_tone1",
+ "c": "people",
+ "e": "👆🏻",
+ "d": "white up pointing backhand index tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "point_up_2_tone2",
+ "c": "people",
+ "e": "👆🏼",
+ "d": "white up pointing backhand index tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "point_up_2_tone3",
+ "c": "people",
+ "e": "👆🏽",
+ "d": "white up pointing backhand index tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "point_up_2_tone4",
+ "c": "people",
+ "e": "👆🏾",
+ "d": "white up pointing backhand index tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "point_up_2_tone5",
+ "c": "people",
+ "e": "👆🏿",
+ "d": "white up pointing backhand index tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "middle_finger",
+ "c": "people",
+ "e": "🖕",
+ "d": "reversed hand with middle finger extended",
+ "u": "7.0"
+ },
+ {
+ "n": "middle_finger_tone1",
+ "c": "people",
+ "e": "🖕🏻",
+ "d": "reversed hand with middle finger extended tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "middle_finger_tone2",
+ "c": "people",
+ "e": "🖕🏼",
+ "d": "reversed hand with middle finger extended tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "middle_finger_tone3",
+ "c": "people",
+ "e": "🖕🏽",
+ "d": "reversed hand with middle finger extended tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "middle_finger_tone4",
+ "c": "people",
+ "e": "🖕🏾",
+ "d": "reversed hand with middle finger extended tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "middle_finger_tone5",
+ "c": "people",
+ "e": "🖕🏿",
+ "d": "reversed hand with middle finger extended tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "point_down",
+ "c": "people",
+ "e": "👇",
+ "d": "white down pointing backhand index",
+ "u": "6.0"
+ },
+ {
+ "n": "point_down_tone1",
+ "c": "people",
+ "e": "👇🏻",
+ "d": "white down pointing backhand index tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "point_down_tone2",
+ "c": "people",
+ "e": "👇🏼",
+ "d": "white down pointing backhand index tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "point_down_tone3",
+ "c": "people",
+ "e": "👇🏽",
+ "d": "white down pointing backhand index tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "point_down_tone4",
+ "c": "people",
+ "e": "👇🏾",
+ "d": "white down pointing backhand index tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "point_down_tone5",
+ "c": "people",
+ "e": "👇🏿",
+ "d": "white down pointing backhand index tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "point_up",
+ "c": "people",
+ "e": "☝",
+ "d": "white up pointing index",
+ "u": "1.1"
+ },
+ {
+ "n": "point_up_tone1",
+ "c": "people",
+ "e": "☝🏻",
+ "d": "white up pointing index tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "point_up_tone2",
+ "c": "people",
+ "e": "☝🏼",
+ "d": "white up pointing index tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "point_up_tone3",
+ "c": "people",
+ "e": "☝🏽",
+ "d": "white up pointing index tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "point_up_tone4",
+ "c": "people",
+ "e": "☝🏾",
+ "d": "white up pointing index tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "point_up_tone5",
+ "c": "people",
+ "e": "☝🏿",
+ "d": "white up pointing index tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "thumbsup",
+ "c": "people",
+ "e": "👍",
+ "d": "thumbs up sign",
+ "u": "6.0"
+ },
+ {
+ "n": "thumbsup_tone1",
+ "c": "people",
+ "e": "👍🏻",
+ "d": "thumbs up sign tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "thumbsup_tone2",
+ "c": "people",
+ "e": "👍🏼",
+ "d": "thumbs up sign tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "thumbsup_tone3",
+ "c": "people",
+ "e": "👍🏽",
+ "d": "thumbs up sign tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "thumbsup_tone4",
+ "c": "people",
+ "e": "👍🏾",
+ "d": "thumbs up sign tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "thumbsup_tone5",
+ "c": "people",
+ "e": "👍🏿",
+ "d": "thumbs up sign tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "thumbsdown",
+ "c": "people",
+ "e": "👎",
+ "d": "thumbs down sign",
+ "u": "6.0"
+ },
+ {
+ "n": "thumbsdown_tone1",
+ "c": "people",
+ "e": "👎🏻",
+ "d": "thumbs down sign tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "thumbsdown_tone2",
+ "c": "people",
+ "e": "👎🏼",
+ "d": "thumbs down sign tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "thumbsdown_tone3",
+ "c": "people",
+ "e": "👎🏽",
+ "d": "thumbs down sign tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "thumbsdown_tone4",
+ "c": "people",
+ "e": "👎🏾",
+ "d": "thumbs down sign tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "thumbsdown_tone5",
+ "c": "people",
+ "e": "👎🏿",
+ "d": "thumbs down sign tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "fist",
+ "c": "people",
+ "e": "✊",
+ "d": "raised fist",
+ "u": "6.0"
+ },
+ {
+ "n": "fist_tone1",
+ "c": "people",
+ "e": "✊🏻",
+ "d": "raised fist tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "fist_tone2",
+ "c": "people",
+ "e": "✊🏼",
+ "d": "raised fist tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "fist_tone3",
+ "c": "people",
+ "e": "✊🏽",
+ "d": "raised fist tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "fist_tone4",
+ "c": "people",
+ "e": "✊🏾",
+ "d": "raised fist tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "fist_tone5",
+ "c": "people",
+ "e": "✊🏿",
+ "d": "raised fist tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "punch",
+ "c": "people",
+ "e": "👊",
+ "d": "fisted hand sign",
+ "u": "6.0"
+ },
+ {
+ "n": "punch_tone1",
+ "c": "people",
+ "e": "👊🏻",
+ "d": "fisted hand sign tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "punch_tone2",
+ "c": "people",
+ "e": "👊🏼",
+ "d": "fisted hand sign tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "punch_tone3",
+ "c": "people",
+ "e": "👊🏽",
+ "d": "fisted hand sign tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "punch_tone4",
+ "c": "people",
+ "e": "👊🏾",
+ "d": "fisted hand sign tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "punch_tone5",
+ "c": "people",
+ "e": "👊🏿",
+ "d": "fisted hand sign tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "left_facing_fist",
+ "c": "people",
+ "e": "🤛",
+ "d": "left-facing fist",
+ "u": "9.0"
+ },
+ {
+ "n": "left_facing_fist_tone1",
+ "c": "people",
+ "e": "🤛🏻",
+ "d": "left facing fist tone 1",
+ "u": "9.0"
+ },
+ {
+ "n": "left_facing_fist_tone2",
+ "c": "people",
+ "e": "🤛🏼",
+ "d": "left facing fist tone 2",
+ "u": "9.0"
+ },
+ {
+ "n": "left_facing_fist_tone3",
+ "c": "people",
+ "e": "🤛🏽",
+ "d": "left facing fist tone 3",
+ "u": "9.0"
+ },
+ {
+ "n": "left_facing_fist_tone4",
+ "c": "people",
+ "e": "🤛🏾",
+ "d": "left facing fist tone 4",
+ "u": "9.0"
+ },
+ {
+ "n": "left_facing_fist_tone5",
+ "c": "people",
+ "e": "🤛🏿",
+ "d": "left facing fist tone 5",
+ "u": "9.0"
+ },
+ {
+ "n": "right_facing_fist",
+ "c": "people",
+ "e": "🤜",
+ "d": "right-facing fist",
+ "u": "9.0"
+ },
+ {
+ "n": "right_facing_fist_tone1",
+ "c": "people",
+ "e": "🤜🏻",
+ "d": "right facing fist tone 1",
+ "u": "9.0"
+ },
+ {
+ "n": "right_facing_fist_tone2",
+ "c": "people",
+ "e": "🤜🏼",
+ "d": "right facing fist tone 2",
+ "u": "9.0"
+ },
+ {
+ "n": "right_facing_fist_tone3",
+ "c": "people",
+ "e": "🤜🏽",
+ "d": "right facing fist tone 3",
+ "u": "9.0"
+ },
+ {
+ "n": "right_facing_fist_tone4",
+ "c": "people",
+ "e": "🤜🏾",
+ "d": "right facing fist tone 4",
+ "u": "9.0"
+ },
+ {
+ "n": "right_facing_fist_tone5",
+ "c": "people",
+ "e": "🤜🏿",
+ "d": "right facing fist tone 5",
+ "u": "9.0"
+ },
+ {
+ "n": "clap",
+ "c": "people",
+ "e": "👏",
+ "d": "clapping hands sign",
+ "u": "6.0"
+ },
+ {
+ "n": "clap_tone1",
+ "c": "people",
+ "e": "👏🏻",
+ "d": "clapping hands sign tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "clap_tone2",
+ "c": "people",
+ "e": "👏🏼",
+ "d": "clapping hands sign tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "clap_tone3",
+ "c": "people",
+ "e": "👏🏽",
+ "d": "clapping hands sign tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "clap_tone4",
+ "c": "people",
+ "e": "👏🏾",
+ "d": "clapping hands sign tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "clap_tone5",
+ "c": "people",
+ "e": "👏🏿",
+ "d": "clapping hands sign tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "raised_hands",
+ "c": "people",
+ "e": "🙌",
+ "d": "person raising both hands in celebration",
+ "u": "6.0"
+ },
+ {
+ "n": "raised_hands_tone1",
+ "c": "people",
+ "e": "🙌🏻",
+ "d": "person raising both hands in celebration tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "raised_hands_tone2",
+ "c": "people",
+ "e": "🙌🏼",
+ "d": "person raising both hands in celebration tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "raised_hands_tone3",
+ "c": "people",
+ "e": "🙌🏽",
+ "d": "person raising both hands in celebration tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "raised_hands_tone4",
+ "c": "people",
+ "e": "🙌🏾",
+ "d": "person raising both hands in celebration tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "raised_hands_tone5",
+ "c": "people",
+ "e": "🙌🏿",
+ "d": "person raising both hands in celebration tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "open_hands",
+ "c": "people",
+ "e": "👐",
+ "d": "open hands sign",
+ "u": "6.0"
+ },
+ {
+ "n": "open_hands_tone1",
+ "c": "people",
+ "e": "👐🏻",
+ "d": "open hands sign tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "open_hands_tone2",
+ "c": "people",
+ "e": "👐🏼",
+ "d": "open hands sign tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "open_hands_tone3",
+ "c": "people",
+ "e": "👐🏽",
+ "d": "open hands sign tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "open_hands_tone4",
+ "c": "people",
+ "e": "👐🏾",
+ "d": "open hands sign tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "open_hands_tone5",
+ "c": "people",
+ "e": "👐🏿",
+ "d": "open hands sign tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "handshake",
+ "c": "people",
+ "e": "🤝",
+ "d": "handshake",
+ "u": "9.0"
+ },
+ {
+ "n": "handshake_tone1",
+ "c": "people",
+ "e": "🤝🏻",
+ "d": "handshake tone 1",
+ "u": "9.0"
+ },
+ {
+ "n": "handshake_tone2",
+ "c": "people",
+ "e": "🤝🏼",
+ "d": "handshake tone 2",
+ "u": "9.0"
+ },
+ {
+ "n": "handshake_tone3",
+ "c": "people",
+ "e": "🤝🏽",
+ "d": "handshake tone 3",
+ "u": "9.0"
+ },
+ {
+ "n": "handshake_tone4",
+ "c": "people",
+ "e": "🤝🏾",
+ "d": "handshake tone 4",
+ "u": "9.0"
+ },
+ {
+ "n": "handshake_tone5",
+ "c": "people",
+ "e": "🤝🏿",
+ "d": "handshake tone 5",
+ "u": "9.0"
+ },
+ {
+ "n": "pray",
+ "c": "people",
+ "e": "🙏",
+ "d": "person with folded hands",
+ "u": "6.0"
+ },
+ {
+ "n": "pray_tone1",
+ "c": "people",
+ "e": "🙏🏻",
+ "d": "person with folded hands tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "pray_tone2",
+ "c": "people",
+ "e": "🙏🏼",
+ "d": "person with folded hands tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "pray_tone3",
+ "c": "people",
+ "e": "🙏🏽",
+ "d": "person with folded hands tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "pray_tone4",
+ "c": "people",
+ "e": "🙏🏾",
+ "d": "person with folded hands tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "pray_tone5",
+ "c": "people",
+ "e": "🙏🏿",
+ "d": "person with folded hands tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "writing_hand",
+ "c": "people",
+ "e": "✍",
+ "d": "writing hand",
+ "u": "1.1"
+ },
+ {
+ "n": "writing_hand_tone1",
+ "c": "people",
+ "e": "✍🏻",
+ "d": "writing hand tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "writing_hand_tone2",
+ "c": "people",
+ "e": "✍🏼",
+ "d": "writing hand tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "writing_hand_tone3",
+ "c": "people",
+ "e": "✍🏽",
+ "d": "writing hand tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "writing_hand_tone4",
+ "c": "people",
+ "e": "✍🏾",
+ "d": "writing hand tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "writing_hand_tone5",
+ "c": "people",
+ "e": "✍🏿",
+ "d": "writing hand tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "nail_care",
+ "c": "people",
+ "e": "💅",
+ "d": "nail polish",
+ "u": "6.0"
+ },
+ {
+ "n": "nail_care_tone1",
+ "c": "people",
+ "e": "💅🏻",
+ "d": "nail polish tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "nail_care_tone2",
+ "c": "people",
+ "e": "💅🏼",
+ "d": "nail polish tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "nail_care_tone3",
+ "c": "people",
+ "e": "💅🏽",
+ "d": "nail polish tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "nail_care_tone4",
+ "c": "people",
+ "e": "💅🏾",
+ "d": "nail polish tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "nail_care_tone5",
+ "c": "people",
+ "e": "💅🏿",
+ "d": "nail polish tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "selfie",
+ "c": "people",
+ "e": "🤳",
+ "d": "selfie",
+ "u": "9.0"
+ },
+ {
+ "n": "selfie_tone1",
+ "c": "people",
+ "e": "🤳🏻",
+ "d": "selfie tone 1",
+ "u": "9.0"
+ },
+ {
+ "n": "selfie_tone2",
+ "c": "people",
+ "e": "🤳🏼",
+ "d": "selfie tone 2",
+ "u": "9.0"
+ },
+ {
+ "n": "selfie_tone3",
+ "c": "people",
+ "e": "🤳🏽",
+ "d": "selfie tone 3",
+ "u": "9.0"
+ },
+ {
+ "n": "selfie_tone4",
+ "c": "people",
+ "e": "🤳🏾",
+ "d": "selfie tone 4",
+ "u": "9.0"
+ },
+ {
+ "n": "selfie_tone5",
+ "c": "people",
+ "e": "🤳🏿",
+ "d": "selfie tone 5",
+ "u": "9.0"
+ },
+ {
+ "n": "muscle",
+ "c": "people",
+ "e": "💪",
+ "d": "flexed biceps",
+ "u": "6.0"
+ },
+ {
+ "n": "muscle_tone1",
+ "c": "people",
+ "e": "💪🏻",
+ "d": "flexed biceps tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "muscle_tone2",
+ "c": "people",
+ "e": "💪🏼",
+ "d": "flexed biceps tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "muscle_tone3",
+ "c": "people",
+ "e": "💪🏽",
+ "d": "flexed biceps tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "muscle_tone4",
+ "c": "people",
+ "e": "💪🏾",
+ "d": "flexed biceps tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "muscle_tone5",
+ "c": "people",
+ "e": "💪🏿",
+ "d": "flexed biceps tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "ear",
+ "c": "people",
+ "e": "👂",
+ "d": "ear",
+ "u": "6.0"
+ },
+ {
+ "n": "ear_tone1",
+ "c": "people",
+ "e": "👂🏻",
+ "d": "ear tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "ear_tone2",
+ "c": "people",
+ "e": "👂🏼",
+ "d": "ear tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "ear_tone3",
+ "c": "people",
+ "e": "👂🏽",
+ "d": "ear tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "ear_tone4",
+ "c": "people",
+ "e": "👂🏾",
+ "d": "ear tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "ear_tone5",
+ "c": "people",
+ "e": "👂🏿",
+ "d": "ear tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "nose",
+ "c": "people",
+ "e": "👃",
+ "d": "nose",
+ "u": "6.0"
+ },
+ {
+ "n": "nose_tone1",
+ "c": "people",
+ "e": "👃🏻",
+ "d": "nose tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "nose_tone2",
+ "c": "people",
+ "e": "👃🏼",
+ "d": "nose tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "nose_tone3",
+ "c": "people",
+ "e": "👃🏽",
+ "d": "nose tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "nose_tone4",
+ "c": "people",
+ "e": "👃🏾",
+ "d": "nose tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "nose_tone5",
+ "c": "people",
+ "e": "👃🏿",
+ "d": "nose tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "eyes",
+ "c": "people",
+ "e": "👀",
+ "d": "eyes",
+ "u": "6.0"
+ },
+ {
+ "n": "eye",
+ "c": "people",
+ "e": "👁",
+ "d": "eye",
+ "u": "7.0"
+ },
+ {
+ "n": "tongue",
+ "c": "people",
+ "e": "👅",
+ "d": "tongue",
+ "u": "6.0"
+ },
+ {
+ "n": "lips",
+ "c": "people",
+ "e": "👄",
+ "d": "mouth",
+ "u": "6.0"
+ },
+ {
+ "n": "baby",
+ "c": "people",
+ "e": "👶",
+ "d": "baby",
+ "u": "6.0"
+ },
+ {
+ "n": "baby_tone1",
+ "c": "people",
+ "e": "👶🏻",
+ "d": "baby tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "baby_tone2",
+ "c": "people",
+ "e": "👶🏼",
+ "d": "baby tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "baby_tone3",
+ "c": "people",
+ "e": "👶🏽",
+ "d": "baby tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "baby_tone4",
+ "c": "people",
+ "e": "👶🏾",
+ "d": "baby tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "baby_tone5",
+ "c": "people",
+ "e": "👶🏿",
+ "d": "baby tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "boy",
+ "c": "people",
+ "e": "👦",
+ "d": "boy",
+ "u": "6.0"
+ },
+ {
+ "n": "boy_tone1",
+ "c": "people",
+ "e": "👦🏻",
+ "d": "boy tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "boy_tone2",
+ "c": "people",
+ "e": "👦🏼",
+ "d": "boy tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "boy_tone3",
+ "c": "people",
+ "e": "👦🏽",
+ "d": "boy tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "boy_tone4",
+ "c": "people",
+ "e": "👦🏾",
+ "d": "boy tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "boy_tone5",
+ "c": "people",
+ "e": "👦🏿",
+ "d": "boy tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "girl",
+ "c": "people",
+ "e": "👧",
+ "d": "girl",
+ "u": "6.0"
+ },
+ {
+ "n": "girl_tone1",
+ "c": "people",
+ "e": "👧🏻",
+ "d": "girl tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "girl_tone2",
+ "c": "people",
+ "e": "👧🏼",
+ "d": "girl tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "girl_tone3",
+ "c": "people",
+ "e": "👧🏽",
+ "d": "girl tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "girl_tone4",
+ "c": "people",
+ "e": "👧🏾",
+ "d": "girl tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "girl_tone5",
+ "c": "people",
+ "e": "👧🏿",
+ "d": "girl tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "person_with_blond_hair",
+ "c": "people",
+ "e": "👱",
+ "d": "person with blond hair",
+ "u": "6.0"
+ },
+ {
+ "n": "person_with_blond_hair_tone1",
+ "c": "people",
+ "e": "👱🏻",
+ "d": "person with blond hair tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "person_with_blond_hair_tone2",
+ "c": "people",
+ "e": "👱🏼",
+ "d": "person with blond hair tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "person_with_blond_hair_tone3",
+ "c": "people",
+ "e": "👱🏽",
+ "d": "person with blond hair tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "person_with_blond_hair_tone4",
+ "c": "people",
+ "e": "👱🏾",
+ "d": "person with blond hair tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "person_with_blond_hair_tone5",
+ "c": "people",
+ "e": "👱🏿",
+ "d": "person with blond hair tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "man",
+ "c": "people",
+ "e": "👨",
+ "d": "man",
+ "u": "6.0"
+ },
+ {
+ "n": "man_tone1",
+ "c": "people",
+ "e": "👨🏻",
+ "d": "man tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "man_tone2",
+ "c": "people",
+ "e": "👨🏼",
+ "d": "man tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "man_tone3",
+ "c": "people",
+ "e": "👨🏽",
+ "d": "man tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "man_tone4",
+ "c": "people",
+ "e": "👨🏾",
+ "d": "man tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "man_tone5",
+ "c": "people",
+ "e": "👨🏿",
+ "d": "man tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "woman",
+ "c": "people",
+ "e": "👩",
+ "d": "woman",
+ "u": "6.0"
+ },
+ {
+ "n": "woman_tone1",
+ "c": "people",
+ "e": "👩🏻",
+ "d": "woman tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "woman_tone2",
+ "c": "people",
+ "e": "👩🏼",
+ "d": "woman tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "woman_tone3",
+ "c": "people",
+ "e": "👩🏽",
+ "d": "woman tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "woman_tone4",
+ "c": "people",
+ "e": "👩🏾",
+ "d": "woman tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "woman_tone5",
+ "c": "people",
+ "e": "👩🏿",
+ "d": "woman tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "older_man",
+ "c": "people",
+ "e": "👴",
+ "d": "older man",
+ "u": "6.0"
+ },
+ {
+ "n": "older_man_tone1",
+ "c": "people",
+ "e": "👴🏻",
+ "d": "older man tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "older_man_tone2",
+ "c": "people",
+ "e": "👴🏼",
+ "d": "older man tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "older_man_tone3",
+ "c": "people",
+ "e": "👴🏽",
+ "d": "older man tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "older_man_tone4",
+ "c": "people",
+ "e": "👴🏾",
+ "d": "older man tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "older_man_tone5",
+ "c": "people",
+ "e": "👴🏿",
+ "d": "older man tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "older_woman",
+ "c": "people",
+ "e": "👵",
+ "d": "older woman",
+ "u": "6.0"
+ },
+ {
+ "n": "older_woman_tone1",
+ "c": "people",
+ "e": "👵🏻",
+ "d": "older woman tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "older_woman_tone2",
+ "c": "people",
+ "e": "👵🏼",
+ "d": "older woman tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "older_woman_tone3",
+ "c": "people",
+ "e": "👵🏽",
+ "d": "older woman tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "older_woman_tone4",
+ "c": "people",
+ "e": "👵🏾",
+ "d": "older woman tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "older_woman_tone5",
+ "c": "people",
+ "e": "👵🏿",
+ "d": "older woman tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "person_frowning",
+ "c": "people",
+ "e": "🙍",
+ "d": "person frowning",
+ "u": "6.0"
+ },
+ {
+ "n": "person_frowning_tone1",
+ "c": "people",
+ "e": "🙍🏻",
+ "d": "person frowning tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "person_frowning_tone2",
+ "c": "people",
+ "e": "🙍🏼",
+ "d": "person frowning tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "person_frowning_tone3",
+ "c": "people",
+ "e": "🙍🏽",
+ "d": "person frowning tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "person_frowning_tone4",
+ "c": "people",
+ "e": "🙍🏾",
+ "d": "person frowning tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "person_frowning_tone5",
+ "c": "people",
+ "e": "🙍🏿",
+ "d": "person frowning tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "person_with_pouting_face",
+ "c": "people",
+ "e": "🙎",
+ "d": "person with pouting face",
+ "u": "6.0"
+ },
+ {
+ "n": "person_with_pouting_face_tone1",
+ "c": "people",
+ "e": "🙎🏻",
+ "d": "person with pouting face tone1",
+ "u": "8.0"
+ },
+ {
+ "n": "person_with_pouting_face_tone2",
+ "c": "people",
+ "e": "🙎🏼",
+ "d": "person with pouting face tone2",
+ "u": "8.0"
+ },
+ {
+ "n": "person_with_pouting_face_tone3",
+ "c": "people",
+ "e": "🙎🏽",
+ "d": "person with pouting face tone3",
+ "u": "8.0"
+ },
+ {
+ "n": "person_with_pouting_face_tone4",
+ "c": "people",
+ "e": "🙎🏾",
+ "d": "person with pouting face tone4",
+ "u": "8.0"
+ },
+ {
+ "n": "person_with_pouting_face_tone5",
+ "c": "people",
+ "e": "🙎🏿",
+ "d": "person with pouting face tone5",
+ "u": "8.0"
+ },
+ {
+ "n": "no_good",
+ "c": "people",
+ "e": "🙅",
+ "d": "face with no good gesture",
+ "u": "6.0"
+ },
+ {
+ "n": "no_good_tone1",
+ "c": "people",
+ "e": "🙅🏻",
+ "d": "face with no good gesture tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "no_good_tone2",
+ "c": "people",
+ "e": "🙅🏼",
+ "d": "face with no good gesture tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "no_good_tone3",
+ "c": "people",
+ "e": "🙅🏽",
+ "d": "face with no good gesture tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "no_good_tone4",
+ "c": "people",
+ "e": "🙅🏾",
+ "d": "face with no good gesture tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "no_good_tone5",
+ "c": "people",
+ "e": "🙅🏿",
+ "d": "face with no good gesture tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "ok_woman",
+ "c": "people",
+ "e": "🙆",
+ "d": "face with ok gesture",
+ "u": "6.0"
+ },
+ {
+ "n": "ok_woman_tone1",
+ "c": "people",
+ "e": "🙆🏻",
+ "d": "face with ok gesture tone1",
+ "u": "8.0"
+ },
+ {
+ "n": "ok_woman_tone2",
+ "c": "people",
+ "e": "🙆🏼",
+ "d": "face with ok gesture tone2",
+ "u": "8.0"
+ },
+ {
+ "n": "ok_woman_tone3",
+ "c": "people",
+ "e": "🙆🏽",
+ "d": "face with ok gesture tone3",
+ "u": "8.0"
+ },
+ {
+ "n": "ok_woman_tone4",
+ "c": "people",
+ "e": "🙆🏾",
+ "d": "face with ok gesture tone4",
+ "u": "8.0"
+ },
+ {
+ "n": "ok_woman_tone5",
+ "c": "people",
+ "e": "🙆🏿",
+ "d": "face with ok gesture tone5",
+ "u": "8.0"
+ },
+ {
+ "n": "information_desk_person",
+ "c": "people",
+ "e": "💁",
+ "d": "information desk person",
+ "u": "6.0"
+ },
+ {
+ "n": "information_desk_person_tone1",
+ "c": "people",
+ "e": "💁🏻",
+ "d": "information desk person tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "information_desk_person_tone2",
+ "c": "people",
+ "e": "💁🏼",
+ "d": "information desk person tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "information_desk_person_tone3",
+ "c": "people",
+ "e": "💁🏽",
+ "d": "information desk person tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "information_desk_person_tone4",
+ "c": "people",
+ "e": "💁🏾",
+ "d": "information desk person tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "information_desk_person_tone5",
+ "c": "people",
+ "e": "💁🏿",
+ "d": "information desk person tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "raising_hand",
+ "c": "people",
+ "e": "🙋",
+ "d": "happy person raising one hand",
+ "u": "6.0"
+ },
+ {
+ "n": "raising_hand_tone1",
+ "c": "people",
+ "e": "🙋🏻",
+ "d": "happy person raising one hand tone1",
+ "u": "8.0"
+ },
+ {
+ "n": "raising_hand_tone2",
+ "c": "people",
+ "e": "🙋🏼",
+ "d": "happy person raising one hand tone2",
+ "u": "8.0"
+ },
+ {
+ "n": "raising_hand_tone3",
+ "c": "people",
+ "e": "🙋🏽",
+ "d": "happy person raising one hand tone3",
+ "u": "8.0"
+ },
+ {
+ "n": "raising_hand_tone4",
+ "c": "people",
+ "e": "🙋🏾",
+ "d": "happy person raising one hand tone4",
+ "u": "8.0"
+ },
+ {
+ "n": "raising_hand_tone5",
+ "c": "people",
+ "e": "🙋🏿",
+ "d": "happy person raising one hand tone5",
+ "u": "8.0"
+ },
+ {
+ "n": "bow",
+ "c": "people",
+ "e": "🙇",
+ "d": "person bowing deeply",
+ "u": "6.0"
+ },
+ {
+ "n": "bow_tone1",
+ "c": "people",
+ "e": "🙇🏻",
+ "d": "person bowing deeply tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "bow_tone2",
+ "c": "people",
+ "e": "🙇🏼",
+ "d": "person bowing deeply tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "bow_tone3",
+ "c": "people",
+ "e": "🙇🏽",
+ "d": "person bowing deeply tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "bow_tone4",
+ "c": "people",
+ "e": "🙇🏾",
+ "d": "person bowing deeply tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "bow_tone5",
+ "c": "people",
+ "e": "🙇🏿",
+ "d": "person bowing deeply tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "face_palm",
+ "c": "people",
+ "e": "🤦",
+ "d": "face palm",
+ "u": "9.0"
+ },
+ {
+ "n": "face_palm_tone1",
+ "c": "people",
+ "e": "🤦🏻",
+ "d": "face palm tone 1",
+ "u": "9.0"
+ },
+ {
+ "n": "face_palm_tone2",
+ "c": "people",
+ "e": "🤦🏼",
+ "d": "face palm tone 2",
+ "u": "9.0"
+ },
+ {
+ "n": "face_palm_tone3",
+ "c": "people",
+ "e": "🤦🏽",
+ "d": "face palm tone 3",
+ "u": "9.0"
+ },
+ {
+ "n": "face_palm_tone4",
+ "c": "people",
+ "e": "🤦🏾",
+ "d": "face palm tone 4",
+ "u": "9.0"
+ },
+ {
+ "n": "face_palm_tone5",
+ "c": "people",
+ "e": "🤦🏿",
+ "d": "face palm tone 5",
+ "u": "9.0"
+ },
+ {
+ "n": "shrug",
+ "c": "people",
+ "e": "🤷",
+ "d": "shrug",
+ "u": "9.0"
+ },
+ {
+ "n": "shrug_tone1",
+ "c": "people",
+ "e": "🤷🏻",
+ "d": "shrug tone 1",
+ "u": "9.0"
+ },
+ {
+ "n": "shrug_tone2",
+ "c": "people",
+ "e": "🤷🏼",
+ "d": "shrug tone 2",
+ "u": "9.0"
+ },
+ {
+ "n": "shrug_tone3",
+ "c": "people",
+ "e": "🤷🏽",
+ "d": "shrug tone 3",
+ "u": "9.0"
+ },
+ {
+ "n": "shrug_tone4",
+ "c": "people",
+ "e": "🤷🏾",
+ "d": "shrug tone 4",
+ "u": "9.0"
+ },
+ {
+ "n": "shrug_tone5",
+ "c": "people",
+ "e": "🤷🏿",
+ "d": "shrug tone 5",
+ "u": "9.0"
+ },
+ {
+ "n": "cop",
+ "c": "people",
+ "e": "👮",
+ "d": "police officer",
+ "u": "6.0"
+ },
+ {
+ "n": "cop_tone1",
+ "c": "people",
+ "e": "👮🏻",
+ "d": "police officer tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "cop_tone2",
+ "c": "people",
+ "e": "👮🏼",
+ "d": "police officer tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "cop_tone3",
+ "c": "people",
+ "e": "👮🏽",
+ "d": "police officer tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "cop_tone4",
+ "c": "people",
+ "e": "👮🏾",
+ "d": "police officer tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "cop_tone5",
+ "c": "people",
+ "e": "👮🏿",
+ "d": "police officer tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "spy",
+ "c": "people",
+ "e": "🕵",
+ "d": "sleuth or spy",
+ "u": "7.0"
+ },
+ {
+ "n": "spy_tone1",
+ "c": "people",
+ "e": "🕵🏻",
+ "d": "sleuth or spy tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "spy_tone2",
+ "c": "people",
+ "e": "🕵🏼",
+ "d": "sleuth or spy tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "spy_tone3",
+ "c": "people",
+ "e": "🕵🏽",
+ "d": "sleuth or spy tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "spy_tone4",
+ "c": "people",
+ "e": "🕵🏾",
+ "d": "sleuth or spy tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "spy_tone5",
+ "c": "people",
+ "e": "🕵🏿",
+ "d": "sleuth or spy tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "guardsman",
+ "c": "people",
+ "e": "💂",
+ "d": "guardsman",
+ "u": "6.0"
+ },
+ {
+ "n": "guardsman_tone1",
+ "c": "people",
+ "e": "💂🏻",
+ "d": "guardsman tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "guardsman_tone2",
+ "c": "people",
+ "e": "💂🏼",
+ "d": "guardsman tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "guardsman_tone3",
+ "c": "people",
+ "e": "💂🏽",
+ "d": "guardsman tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "guardsman_tone4",
+ "c": "people",
+ "e": "💂🏾",
+ "d": "guardsman tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "guardsman_tone5",
+ "c": "people",
+ "e": "💂🏿",
+ "d": "guardsman tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "construction_worker",
+ "c": "people",
+ "e": "👷",
+ "d": "construction worker",
+ "u": "6.0"
+ },
+ {
+ "n": "construction_worker_tone1",
+ "c": "people",
+ "e": "👷🏻",
+ "d": "construction worker tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "construction_worker_tone2",
+ "c": "people",
+ "e": "👷🏼",
+ "d": "construction worker tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "construction_worker_tone3",
+ "c": "people",
+ "e": "👷🏽",
+ "d": "construction worker tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "construction_worker_tone4",
+ "c": "people",
+ "e": "👷🏾",
+ "d": "construction worker tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "construction_worker_tone5",
+ "c": "people",
+ "e": "👷🏿",
+ "d": "construction worker tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "prince",
+ "c": "people",
+ "e": "🤴",
+ "d": "prince",
+ "u": "9.0"
+ },
+ {
+ "n": "prince_tone1",
+ "c": "people",
+ "e": "🤴🏻",
+ "d": "prince tone 1",
+ "u": "9.0"
+ },
+ {
+ "n": "prince_tone2",
+ "c": "people",
+ "e": "🤴🏼",
+ "d": "prince tone 2",
+ "u": "9.0"
+ },
+ {
+ "n": "prince_tone3",
+ "c": "people",
+ "e": "🤴🏽",
+ "d": "prince tone 3",
+ "u": "9.0"
+ },
+ {
+ "n": "prince_tone4",
+ "c": "people",
+ "e": "🤴🏾",
+ "d": "prince tone 4",
+ "u": "9.0"
+ },
+ {
+ "n": "prince_tone5",
+ "c": "people",
+ "e": "🤴🏿",
+ "d": "prince tone 5",
+ "u": "9.0"
+ },
+ {
+ "n": "princess",
+ "c": "people",
+ "e": "👸",
+ "d": "princess",
+ "u": "6.0"
+ },
+ {
+ "n": "princess_tone1",
+ "c": "people",
+ "e": "👸🏻",
+ "d": "princess tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "princess_tone2",
+ "c": "people",
+ "e": "👸🏼",
+ "d": "princess tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "princess_tone3",
+ "c": "people",
+ "e": "👸🏽",
+ "d": "princess tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "princess_tone4",
+ "c": "people",
+ "e": "👸🏾",
+ "d": "princess tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "princess_tone5",
+ "c": "people",
+ "e": "👸🏿",
+ "d": "princess tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "man_with_turban",
+ "c": "people",
+ "e": "👳",
+ "d": "man with turban",
+ "u": "6.0"
+ },
+ {
+ "n": "man_with_turban_tone1",
+ "c": "people",
+ "e": "👳🏻",
+ "d": "man with turban tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "man_with_turban_tone2",
+ "c": "people",
+ "e": "👳🏼",
+ "d": "man with turban tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "man_with_turban_tone3",
+ "c": "people",
+ "e": "👳🏽",
+ "d": "man with turban tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "man_with_turban_tone4",
+ "c": "people",
+ "e": "👳🏾",
+ "d": "man with turban tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "man_with_turban_tone5",
+ "c": "people",
+ "e": "👳🏿",
+ "d": "man with turban tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "man_with_gua_pi_mao",
+ "c": "people",
+ "e": "👲",
+ "d": "man with gua pi mao",
+ "u": "6.0"
+ },
+ {
+ "n": "man_with_gua_pi_mao_tone1",
+ "c": "people",
+ "e": "👲🏻",
+ "d": "man with gua pi mao tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "man_with_gua_pi_mao_tone2",
+ "c": "people",
+ "e": "👲🏼",
+ "d": "man with gua pi mao tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "man_with_gua_pi_mao_tone3",
+ "c": "people",
+ "e": "👲🏽",
+ "d": "man with gua pi mao tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "man_with_gua_pi_mao_tone4",
+ "c": "people",
+ "e": "👲🏾",
+ "d": "man with gua pi mao tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "man_with_gua_pi_mao_tone5",
+ "c": "people",
+ "e": "👲🏿",
+ "d": "man with gua pi mao tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "man_in_tuxedo",
+ "c": "people",
+ "e": "🤵",
+ "d": "man in tuxedo",
+ "u": "9.0"
+ },
+ {
+ "n": "man_in_tuxedo_tone1",
+ "c": "people",
+ "e": "🤵🏻",
+ "d": "man in tuxedo tone 1",
+ "u": "9.0"
+ },
+ {
+ "n": "man_in_tuxedo_tone2",
+ "c": "people",
+ "e": "🤵🏼",
+ "d": "man in tuxedo tone 2",
+ "u": "9.0"
+ },
+ {
+ "n": "man_in_tuxedo_tone3",
+ "c": "people",
+ "e": "🤵🏽",
+ "d": "man in tuxedo tone 3",
+ "u": "9.0"
+ },
+ {
+ "n": "man_in_tuxedo_tone4",
+ "c": "people",
+ "e": "🤵🏾",
+ "d": "man in tuxedo tone 4",
+ "u": "9.0"
+ },
+ {
+ "n": "man_in_tuxedo_tone5",
+ "c": "people",
+ "e": "🤵🏿",
+ "d": "man in tuxedo tone 5",
+ "u": "9.0"
+ },
+ {
+ "n": "bride_with_veil",
+ "c": "people",
+ "e": "👰",
+ "d": "bride with veil",
+ "u": "6.0"
+ },
+ {
+ "n": "bride_with_veil_tone1",
+ "c": "people",
+ "e": "👰🏻",
+ "d": "bride with veil tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "bride_with_veil_tone2",
+ "c": "people",
+ "e": "👰🏼",
+ "d": "bride with veil tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "bride_with_veil_tone3",
+ "c": "people",
+ "e": "👰🏽",
+ "d": "bride with veil tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "bride_with_veil_tone4",
+ "c": "people",
+ "e": "👰🏾",
+ "d": "bride with veil tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "bride_with_veil_tone5",
+ "c": "people",
+ "e": "👰🏿",
+ "d": "bride with veil tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "pregnant_woman",
+ "c": "people",
+ "e": "🤰",
+ "d": "pregnant woman",
+ "u": "9.0"
+ },
+ {
+ "n": "pregnant_woman_tone1",
+ "c": "people",
+ "e": "🤰🏻",
+ "d": "pregnant woman tone 1",
+ "u": "9.0"
+ },
+ {
+ "n": "pregnant_woman_tone2",
+ "c": "people",
+ "e": "🤰🏼",
+ "d": "pregnant woman tone 2",
+ "u": "9.0"
+ },
+ {
+ "n": "pregnant_woman_tone3",
+ "c": "people",
+ "e": "🤰🏽",
+ "d": "pregnant woman tone 3",
+ "u": "9.0"
+ },
+ {
+ "n": "pregnant_woman_tone4",
+ "c": "people",
+ "e": "🤰🏾",
+ "d": "pregnant woman tone 4",
+ "u": "9.0"
+ },
+ {
+ "n": "pregnant_woman_tone5",
+ "c": "people",
+ "e": "🤰🏿",
+ "d": "pregnant woman tone 5",
+ "u": "9.0"
+ },
+ {
+ "n": "angel",
+ "c": "people",
+ "e": "👼",
+ "d": "baby angel",
+ "u": "6.0"
+ },
+ {
+ "n": "angel_tone1",
+ "c": "people",
+ "e": "👼🏻",
+ "d": "baby angel tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "angel_tone2",
+ "c": "people",
+ "e": "👼🏼",
+ "d": "baby angel tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "angel_tone3",
+ "c": "people",
+ "e": "👼🏽",
+ "d": "baby angel tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "angel_tone4",
+ "c": "people",
+ "e": "👼🏾",
+ "d": "baby angel tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "angel_tone5",
+ "c": "people",
+ "e": "👼🏿",
+ "d": "baby angel tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "santa",
+ "c": "people",
+ "e": "🎅",
+ "d": "father christmas",
+ "u": "6.0"
+ },
+ {
+ "n": "santa_tone1",
+ "c": "people",
+ "e": "🎅🏻",
+ "d": "father christmas tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "santa_tone2",
+ "c": "people",
+ "e": "🎅🏼",
+ "d": "father christmas tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "santa_tone3",
+ "c": "people",
+ "e": "🎅🏽",
+ "d": "father christmas tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "santa_tone4",
+ "c": "people",
+ "e": "🎅🏾",
+ "d": "father christmas tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "santa_tone5",
+ "c": "people",
+ "e": "🎅🏿",
+ "d": "father christmas tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "mrs_claus",
+ "c": "people",
+ "e": "🤶",
+ "d": "mother christmas",
+ "u": "9.0"
+ },
+ {
+ "n": "mrs_claus_tone1",
+ "c": "people",
+ "e": "🤶🏻",
+ "d": "mother christmas tone 1",
+ "u": "9.0"
+ },
+ {
+ "n": "mrs_claus_tone2",
+ "c": "people",
+ "e": "🤶🏼",
+ "d": "mother christmas tone 2",
+ "u": "9.0"
+ },
+ {
+ "n": "mrs_claus_tone3",
+ "c": "people",
+ "e": "🤶🏽",
+ "d": "mother christmas tone 3",
+ "u": "9.0"
+ },
+ {
+ "n": "mrs_claus_tone4",
+ "c": "people",
+ "e": "🤶🏾",
+ "d": "mother christmas tone 4",
+ "u": "9.0"
+ },
+ {
+ "n": "mrs_claus_tone5",
+ "c": "people",
+ "e": "🤶🏿",
+ "d": "mother christmas tone 5",
+ "u": "9.0"
+ },
+ {
+ "n": "massage",
+ "c": "people",
+ "e": "💆",
+ "d": "face massage",
+ "u": "6.0"
+ },
+ {
+ "n": "massage_tone1",
+ "c": "people",
+ "e": "💆🏻",
+ "d": "face massage tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "massage_tone2",
+ "c": "people",
+ "e": "💆🏼",
+ "d": "face massage tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "massage_tone3",
+ "c": "people",
+ "e": "💆🏽",
+ "d": "face massage tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "massage_tone4",
+ "c": "people",
+ "e": "💆🏾",
+ "d": "face massage tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "massage_tone5",
+ "c": "people",
+ "e": "💆🏿",
+ "d": "face massage tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "haircut",
+ "c": "people",
+ "e": "💇",
+ "d": "haircut",
+ "u": "6.0"
+ },
+ {
+ "n": "haircut_tone1",
+ "c": "people",
+ "e": "💇🏻",
+ "d": "haircut tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "haircut_tone2",
+ "c": "people",
+ "e": "💇🏼",
+ "d": "haircut tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "haircut_tone3",
+ "c": "people",
+ "e": "💇🏽",
+ "d": "haircut tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "haircut_tone4",
+ "c": "people",
+ "e": "💇🏾",
+ "d": "haircut tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "haircut_tone5",
+ "c": "people",
+ "e": "💇🏿",
+ "d": "haircut tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "walking",
+ "c": "people",
+ "e": "🚶",
+ "d": "pedestrian",
+ "u": "6.0"
+ },
+ {
+ "n": "walking_tone1",
+ "c": "people",
+ "e": "🚶🏻",
+ "d": "pedestrian tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "walking_tone2",
+ "c": "people",
+ "e": "🚶🏼",
+ "d": "pedestrian tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "walking_tone3",
+ "c": "people",
+ "e": "🚶🏽",
+ "d": "pedestrian tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "walking_tone4",
+ "c": "people",
+ "e": "🚶🏾",
+ "d": "pedestrian tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "walking_tone5",
+ "c": "people",
+ "e": "🚶🏿",
+ "d": "pedestrian tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "runner",
+ "c": "people",
+ "e": "🏃",
+ "d": "runner",
+ "u": "6.0"
+ },
+ {
+ "n": "runner_tone1",
+ "c": "people",
+ "e": "🏃🏻",
+ "d": "runner tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "runner_tone2",
+ "c": "people",
+ "e": "🏃🏼",
+ "d": "runner tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "runner_tone3",
+ "c": "people",
+ "e": "🏃🏽",
+ "d": "runner tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "runner_tone4",
+ "c": "people",
+ "e": "🏃🏾",
+ "d": "runner tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "runner_tone5",
+ "c": "people",
+ "e": "🏃🏿",
+ "d": "runner tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "dancer",
+ "c": "people",
+ "e": "💃",
+ "d": "dancer",
+ "u": "6.0"
+ },
+ {
+ "n": "dancer_tone1",
+ "c": "people",
+ "e": "💃🏻",
+ "d": "dancer tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "dancer_tone2",
+ "c": "people",
+ "e": "💃🏼",
+ "d": "dancer tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "dancer_tone3",
+ "c": "people",
+ "e": "💃🏽",
+ "d": "dancer tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "dancer_tone4",
+ "c": "people",
+ "e": "💃🏾",
+ "d": "dancer tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "dancer_tone5",
+ "c": "people",
+ "e": "💃🏿",
+ "d": "dancer tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "man_dancing",
+ "c": "people",
+ "e": "🕺",
+ "d": "man dancing",
+ "u": "9.0"
+ },
+ {
+ "n": "man_dancing_tone1",
+ "c": "activity",
+ "e": "🕺🏻",
+ "d": "man dancing tone 1",
+ "u": "9.0"
+ },
+ {
+ "n": "man_dancing_tone2",
+ "c": "activity",
+ "e": "🕺🏼",
+ "d": "man dancing tone 2",
+ "u": "9.0"
+ },
+ {
+ "n": "man_dancing_tone3",
+ "c": "activity",
+ "e": "🕺🏽",
+ "d": "man dancing tone 3",
+ "u": "9.0"
+ },
+ {
+ "n": "man_dancing_tone4",
+ "c": "activity",
+ "e": "🕺🏾",
+ "d": "man dancing tone 4",
+ "u": "9.0"
+ },
+ {
+ "n": "man_dancing_tone5",
+ "c": "activity",
+ "e": "🕺🏿",
+ "d": "man dancing tone 5",
+ "u": "9.0"
+ },
+ {
+ "n": "levitate",
+ "c": "activity",
+ "e": "🕴",
+ "d": "man in business suit levitating",
+ "u": "7.0"
+ },
+ {
+ "n": "dancers",
+ "c": "people",
+ "e": "👯",
+ "d": "woman with bunny ears",
+ "u": "6.0"
+ },
+ {
+ "n": "fencer",
+ "c": "activity",
+ "e": "🤺",
+ "d": "fencer",
+ "u": "9.0"
+ },
+ {
+ "n": "horse_racing",
+ "c": "activity",
+ "e": "🏇",
+ "d": "horse racing",
+ "u": "6.0"
+ },
+ {
+ "n": "horse_racing_tone1",
+ "c": "activity",
+ "e": "🏇🏻",
+ "d": "horse racing tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "horse_racing_tone2",
+ "c": "activity",
+ "e": "🏇🏼",
+ "d": "horse racing tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "horse_racing_tone3",
+ "c": "activity",
+ "e": "🏇🏽",
+ "d": "horse racing tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "horse_racing_tone4",
+ "c": "activity",
+ "e": "🏇🏾",
+ "d": "horse racing tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "horse_racing_tone5",
+ "c": "activity",
+ "e": "🏇🏿",
+ "d": "horse racing tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "skier",
+ "c": "activity",
+ "e": "⛷",
+ "d": "skier",
+ "u": "5.2"
+ },
+ {
+ "n": "snowboarder",
+ "c": "activity",
+ "e": "🏂",
+ "d": "snowboarder",
+ "u": "6.0"
+ },
+ {
+ "n": "golfer",
+ "c": "activity",
+ "e": "🏌",
+ "d": "golfer",
+ "u": "7.0"
+ },
+ {
+ "n": "surfer",
+ "c": "activity",
+ "e": "🏄",
+ "d": "surfer",
+ "u": "6.0"
+ },
+ {
+ "n": "surfer_tone1",
+ "c": "activity",
+ "e": "🏄🏻",
+ "d": "surfer tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "surfer_tone2",
+ "c": "activity",
+ "e": "🏄🏼",
+ "d": "surfer tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "surfer_tone3",
+ "c": "activity",
+ "e": "🏄🏽",
+ "d": "surfer tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "surfer_tone4",
+ "c": "activity",
+ "e": "🏄🏾",
+ "d": "surfer tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "surfer_tone5",
+ "c": "activity",
+ "e": "🏄🏿",
+ "d": "surfer tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "rowboat",
+ "c": "activity",
+ "e": "🚣",
+ "d": "rowboat",
+ "u": "6.0"
+ },
+ {
+ "n": "rowboat_tone1",
+ "c": "activity",
+ "e": "🚣🏻",
+ "d": "rowboat tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "rowboat_tone2",
+ "c": "activity",
+ "e": "🚣🏼",
+ "d": "rowboat tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "rowboat_tone3",
+ "c": "activity",
+ "e": "🚣🏽",
+ "d": "rowboat tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "rowboat_tone4",
+ "c": "activity",
+ "e": "🚣🏾",
+ "d": "rowboat tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "rowboat_tone5",
+ "c": "activity",
+ "e": "🚣🏿",
+ "d": "rowboat tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "swimmer",
+ "c": "activity",
+ "e": "🏊",
+ "d": "swimmer",
+ "u": "6.0"
+ },
+ {
+ "n": "swimmer_tone1",
+ "c": "activity",
+ "e": "🏊🏻",
+ "d": "swimmer tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "swimmer_tone2",
+ "c": "activity",
+ "e": "🏊🏼",
+ "d": "swimmer tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "swimmer_tone3",
+ "c": "activity",
+ "e": "🏊🏽",
+ "d": "swimmer tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "swimmer_tone4",
+ "c": "activity",
+ "e": "🏊🏾",
+ "d": "swimmer tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "swimmer_tone5",
+ "c": "activity",
+ "e": "🏊🏿",
+ "d": "swimmer tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "basketball_player",
+ "c": "activity",
+ "e": "⛹",
+ "d": "person with ball",
+ "u": "5.2"
+ },
+ {
+ "n": "basketball_player_tone1",
+ "c": "activity",
+ "e": "⛹🏻",
+ "d": "person with ball tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "basketball_player_tone2",
+ "c": "activity",
+ "e": "⛹🏼",
+ "d": "person with ball tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "basketball_player_tone3",
+ "c": "activity",
+ "e": "⛹🏽",
+ "d": "person with ball tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "basketball_player_tone4",
+ "c": "activity",
+ "e": "⛹🏾",
+ "d": "person with ball tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "basketball_player_tone5",
+ "c": "activity",
+ "e": "⛹🏿",
+ "d": "person with ball tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "lifter",
+ "c": "activity",
+ "e": "🏋",
+ "d": "weight lifter",
+ "u": "7.0"
+ },
+ {
+ "n": "lifter_tone1",
+ "c": "activity",
+ "e": "🏋🏻",
+ "d": "weight lifter tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "lifter_tone2",
+ "c": "activity",
+ "e": "🏋🏼",
+ "d": "weight lifter tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "lifter_tone3",
+ "c": "activity",
+ "e": "🏋🏽",
+ "d": "weight lifter tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "lifter_tone4",
+ "c": "activity",
+ "e": "🏋🏾",
+ "d": "weight lifter tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "lifter_tone5",
+ "c": "activity",
+ "e": "🏋🏿",
+ "d": "weight lifter tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "bicyclist",
+ "c": "activity",
+ "e": "🚴",
+ "d": "bicyclist",
+ "u": "6.0"
+ },
+ {
+ "n": "bicyclist_tone1",
+ "c": "activity",
+ "e": "🚴🏻",
+ "d": "bicyclist tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "bicyclist_tone2",
+ "c": "activity",
+ "e": "🚴🏼",
+ "d": "bicyclist tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "bicyclist_tone3",
+ "c": "activity",
+ "e": "🚴🏽",
+ "d": "bicyclist tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "bicyclist_tone4",
+ "c": "activity",
+ "e": "🚴🏾",
+ "d": "bicyclist tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "bicyclist_tone5",
+ "c": "activity",
+ "e": "🚴🏿",
+ "d": "bicyclist tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "mountain_bicyclist",
+ "c": "activity",
+ "e": "🚵",
+ "d": "mountain bicyclist",
+ "u": "6.0"
+ },
+ {
+ "n": "mountain_bicyclist_tone1",
+ "c": "activity",
+ "e": "🚵🏻",
+ "d": "mountain bicyclist tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "mountain_bicyclist_tone2",
+ "c": "activity",
+ "e": "🚵🏼",
+ "d": "mountain bicyclist tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "mountain_bicyclist_tone3",
+ "c": "activity",
+ "e": "🚵🏽",
+ "d": "mountain bicyclist tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "mountain_bicyclist_tone4",
+ "c": "activity",
+ "e": "🚵🏾",
+ "d": "mountain bicyclist tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "mountain_bicyclist_tone5",
+ "c": "activity",
+ "e": "🚵🏿",
+ "d": "mountain bicyclist tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "cartwheel",
+ "c": "activity",
+ "e": "🤸",
+ "d": "person doing cartwheel",
+ "u": "9.0"
+ },
+ {
+ "n": "cartwheel_tone1",
+ "c": "activity",
+ "e": "🤸🏻",
+ "d": "person doing cartwheel tone 1",
+ "u": "9.0"
+ },
+ {
+ "n": "cartwheel_tone2",
+ "c": "activity",
+ "e": "🤸🏼",
+ "d": "person doing cartwheel tone 2",
+ "u": "9.0"
+ },
+ {
+ "n": "cartwheel_tone3",
+ "c": "activity",
+ "e": "🤸🏽",
+ "d": "person doing cartwheel tone 3",
+ "u": "9.0"
+ },
+ {
+ "n": "cartwheel_tone4",
+ "c": "activity",
+ "e": "🤸🏾",
+ "d": "person doing cartwheel tone 4",
+ "u": "9.0"
+ },
+ {
+ "n": "cartwheel_tone5",
+ "c": "activity",
+ "e": "🤸🏿",
+ "d": "person doing cartwheel tone 5",
+ "u": "9.0"
+ },
+ {
+ "n": "wrestlers",
+ "c": "activity",
+ "e": "🤼",
+ "d": "wrestlers",
+ "u": "9.0"
+ },
+ {
+ "n": "wrestlers_tone1",
+ "c": "activity",
+ "e": "🤼🏻",
+ "d": "wrestlers tone 1",
+ "u": "9.0"
+ },
+ {
+ "n": "wrestlers_tone2",
+ "c": "activity",
+ "e": "🤼🏼",
+ "d": "wrestlers tone 2",
+ "u": "9.0"
+ },
+ {
+ "n": "wrestlers_tone3",
+ "c": "activity",
+ "e": "🤼🏽",
+ "d": "wrestlers tone 3",
+ "u": "9.0"
+ },
+ {
+ "n": "wrestlers_tone4",
+ "c": "activity",
+ "e": "🤼🏾",
+ "d": "wrestlers tone 4",
+ "u": "9.0"
+ },
+ {
+ "n": "wrestlers_tone5",
+ "c": "activity",
+ "e": "🤼🏿",
+ "d": "wrestlers tone 5",
+ "u": "9.0"
+ },
+ {
+ "n": "water_polo",
+ "c": "activity",
+ "e": "🤽",
+ "d": "water polo",
+ "u": "9.0"
+ },
+ {
+ "n": "water_polo_tone1",
+ "c": "activity",
+ "e": "🤽🏻",
+ "d": "water polo tone 1",
+ "u": "9.0"
+ },
+ {
+ "n": "water_polo_tone2",
+ "c": "activity",
+ "e": "🤽🏼",
+ "d": "water polo tone 2",
+ "u": "9.0"
+ },
+ {
+ "n": "water_polo_tone3",
+ "c": "activity",
+ "e": "🤽🏽",
+ "d": "water polo tone 3",
+ "u": "9.0"
+ },
+ {
+ "n": "water_polo_tone4",
+ "c": "activity",
+ "e": "🤽🏾",
+ "d": "water polo tone 4",
+ "u": "9.0"
+ },
+ {
+ "n": "water_polo_tone5",
+ "c": "activity",
+ "e": "🤽🏿",
+ "d": "water polo tone 5",
+ "u": "9.0"
+ },
+ {
+ "n": "handball",
+ "c": "activity",
+ "e": "🤾",
+ "d": "handball",
+ "u": "9.0"
+ },
+ {
+ "n": "handball_tone1",
+ "c": "activity",
+ "e": "🤾🏻",
+ "d": "handball tone 1",
+ "u": "9.0"
+ },
+ {
+ "n": "handball_tone2",
+ "c": "activity",
+ "e": "🤾🏼",
+ "d": "handball tone 2",
+ "u": "9.0"
+ },
+ {
+ "n": "handball_tone3",
+ "c": "activity",
+ "e": "🤾🏽",
+ "d": "handball tone 3",
+ "u": "9.0"
+ },
+ {
+ "n": "handball_tone4",
+ "c": "activity",
+ "e": "🤾🏾",
+ "d": "handball tone 4",
+ "u": "9.0"
+ },
+ {
+ "n": "handball_tone5",
+ "c": "activity",
+ "e": "🤾🏿",
+ "d": "handball tone 5",
+ "u": "9.0"
+ },
+ {
+ "n": "juggling",
+ "c": "activity",
+ "e": "🤹",
+ "d": "juggling",
+ "u": "9.0"
+ },
+ {
+ "n": "juggling_tone1",
+ "c": "activity",
+ "e": "🤹🏻",
+ "d": "juggling tone 1",
+ "u": "9.0"
+ },
+ {
+ "n": "juggling_tone2",
+ "c": "activity",
+ "e": "🤹🏼",
+ "d": "juggling tone 2",
+ "u": "9.0"
+ },
+ {
+ "n": "juggling_tone3",
+ "c": "activity",
+ "e": "🤹🏽",
+ "d": "juggling tone 3",
+ "u": "9.0"
+ },
+ {
+ "n": "juggling_tone4",
+ "c": "activity",
+ "e": "🤹🏾",
+ "d": "juggling tone 4",
+ "u": "9.0"
+ },
+ {
+ "n": "juggling_tone5",
+ "c": "activity",
+ "e": "🤹🏿",
+ "d": "juggling tone 5",
+ "u": "9.0"
+ },
+ {
+ "n": "bath",
+ "c": "activity",
+ "e": "🛀",
+ "d": "bath",
+ "u": "6.0"
+ },
+ {
+ "n": "bath_tone1",
+ "c": "activity",
+ "e": "🛀🏻",
+ "d": "bath tone 1",
+ "u": "8.0"
+ },
+ {
+ "n": "bath_tone2",
+ "c": "activity",
+ "e": "🛀🏼",
+ "d": "bath tone 2",
+ "u": "8.0"
+ },
+ {
+ "n": "bath_tone3",
+ "c": "activity",
+ "e": "🛀🏽",
+ "d": "bath tone 3",
+ "u": "8.0"
+ },
+ {
+ "n": "bath_tone4",
+ "c": "activity",
+ "e": "🛀🏾",
+ "d": "bath tone 4",
+ "u": "8.0"
+ },
+ {
+ "n": "bath_tone5",
+ "c": "activity",
+ "e": "🛀🏿",
+ "d": "bath tone 5",
+ "u": "8.0"
+ },
+ {
+ "n": "sleeping_accommodation",
+ "c": "objects",
+ "e": "🛌",
+ "d": "sleeping accommodation",
+ "u": "7.0"
+ },
+ {
+ "n": "two_women_holding_hands",
+ "c": "people",
+ "e": "👭",
+ "d": "two women holding hands",
+ "u": "6.0"
+ },
+ {
+ "n": "couple",
+ "c": "people",
+ "e": "👫",
+ "d": "man and woman holding hands",
+ "u": "6.0"
+ },
+ {
+ "n": "two_men_holding_hands",
+ "c": "people",
+ "e": "👬",
+ "d": "two men holding hands",
+ "u": "6.0"
+ },
+ {
+ "n": "couplekiss",
+ "c": "people",
+ "e": "💏",
+ "d": "kiss",
+ "u": "6.0"
+ },
+ {
+ "n": "kiss_mm",
+ "c": "people",
+ "e": "👨‍❤️‍💋‍👨",
+ "d": "kiss (man,man)",
+ "u": "6.0"
+ },
+ {
+ "n": "kiss_ww",
+ "c": "people",
+ "e": "👩‍❤️‍💋‍👩",
+ "d": "kiss (woman,woman)",
+ "u": "6.0"
+ },
+ {
+ "n": "couple_with_heart",
+ "c": "people",
+ "e": "💑",
+ "d": "couple with heart",
+ "u": "6.0"
+ },
+ {
+ "n": "couple_mm",
+ "c": "people",
+ "e": "👨‍❤️‍👨",
+ "d": "couple (man,man)",
+ "u": "6.0"
+ },
+ {
+ "n": "couple_ww",
+ "c": "people",
+ "e": "👩‍❤️‍👩",
+ "d": "couple (woman,woman)",
+ "u": "6.0"
+ },
+ {
+ "n": "family_mwg",
+ "c": "people",
+ "e": "👨‍👩‍👧",
+ "d": "family (man,woman,girl)",
+ "u": "6.0"
+ },
+ {
+ "n": "family_mwgb",
+ "c": "people",
+ "e": "👨‍👩‍👧‍👦",
+ "d": "family (man,woman,girl,boy)",
+ "u": "6.0"
+ },
+ {
+ "n": "family_mwbb",
+ "c": "people",
+ "e": "👨‍👩‍👦‍👦",
+ "d": "family (man,woman,boy,boy)",
+ "u": "6.0"
+ },
+ {
+ "n": "family_mwgg",
+ "c": "people",
+ "e": "👨‍👩‍👧‍👧",
+ "d": "family (man,woman,girl,girl)",
+ "u": "6.0"
+ },
+ {
+ "n": "family_mmb",
+ "c": "people",
+ "e": "👨‍👨‍👦",
+ "d": "family (man,man,boy)",
+ "u": "6.0"
+ },
+ {
+ "n": "family_mmg",
+ "c": "people",
+ "e": "👨‍👨‍👧",
+ "d": "family (man,man,girl)",
+ "u": "6.0"
+ },
+ {
+ "n": "family_mmgb",
+ "c": "people",
+ "e": "👨‍👨‍👧‍👦",
+ "d": "family (man,man,girl,boy)",
+ "u": "6.0"
+ },
+ {
+ "n": "family_mmbb",
+ "c": "people",
+ "e": "👨‍👨‍👦‍👦",
+ "d": "family (man,man,boy,boy)",
+ "u": "6.0"
+ },
+ {
+ "n": "family_mmgg",
+ "c": "people",
+ "e": "👨‍👨‍👧‍👧",
+ "d": "family (man,man,girl,girl)",
+ "u": "6.0"
+ },
+ {
+ "n": "family_wwb",
+ "c": "people",
+ "e": "👩‍👩‍👦",
+ "d": "family (woman,woman,boy)",
+ "u": "6.0"
+ },
+ {
+ "n": "family_wwg",
+ "c": "people",
+ "e": "👩‍👩‍👧",
+ "d": "family (woman,woman,girl)",
+ "u": "6.0"
+ },
+ {
+ "n": "family_wwgb",
+ "c": "people",
+ "e": "👩‍👩‍👧‍👦",
+ "d": "family (woman,woman,girl,boy)",
+ "u": "6.0"
+ },
+ {
+ "n": "family_wwbb",
+ "c": "people",
+ "e": "👩‍👩‍👦‍👦",
+ "d": "family (woman,woman,boy,boy)",
+ "u": "6.0"
+ },
+ {
+ "n": "family_wwgg",
+ "c": "people",
+ "e": "👩‍👩‍👧‍👧",
+ "d": "family (woman,woman,girl,girl)",
+ "u": "6.0"
+ },
+ {
+ "n": "speaking_head",
+ "c": "people",
+ "e": "🗣",
+ "d": "speaking head in silhouette",
+ "u": "7.0"
+ },
+ {
+ "n": "bust_in_silhouette",
+ "c": "people",
+ "e": "👤",
+ "d": "bust in silhouette",
+ "u": "6.0"
+ },
+ {
+ "n": "busts_in_silhouette",
+ "c": "people",
+ "e": "👥",
+ "d": "busts in silhouette",
+ "u": "6.0"
+ },
+ {
+ "n": "family",
+ "c": "people",
+ "e": "👪",
+ "d": "family",
+ "u": "6.0"
+ },
+ {
+ "n": "footprints",
+ "c": "people",
+ "e": "👣",
+ "d": "footprints",
+ "u": "6.0"
+ },
+ {
+ "n": "tone1",
+ "c": "modifier",
+ "e": "🏻",
+ "d": "emoji modifier Fitzpatrick type-1-2",
+ "u": "8.0"
+ },
+ {
+ "n": "tone2",
+ "c": "modifier",
+ "e": "🏼",
+ "d": "emoji modifier Fitzpatrick type-3",
+ "u": "8.0"
+ },
+ {
+ "n": "tone3",
+ "c": "modifier",
+ "e": "🏽",
+ "d": "emoji modifier Fitzpatrick type-4",
+ "u": "8.0"
+ },
+ {
+ "n": "tone4",
+ "c": "modifier",
+ "e": "🏾",
+ "d": "emoji modifier Fitzpatrick type-5",
+ "u": "8.0"
+ },
+ {
+ "n": "tone5",
+ "c": "modifier",
+ "e": "🏿",
+ "d": "emoji modifier Fitzpatrick type-6",
+ "u": "8.0"
+ },
+ {
+ "n": "monkey_face",
+ "c": "nature",
+ "e": "🐵",
+ "d": "monkey face",
+ "u": "6.0"
+ },
+ {
+ "n": "monkey",
+ "c": "nature",
+ "e": "🐒",
+ "d": "monkey",
+ "u": "6.0"
+ },
+ {
+ "n": "gorilla",
+ "c": "nature",
+ "e": "🦍",
+ "d": "gorilla",
+ "u": "9.0"
+ },
+ {
+ "n": "dog",
+ "c": "nature",
+ "e": "🐶",
+ "d": "dog face",
+ "u": "6.0"
+ },
+ {
+ "n": "dog2",
+ "c": "nature",
+ "e": "🐕",
+ "d": "dog",
+ "u": "6.0"
+ },
+ {
+ "n": "poodle",
+ "c": "nature",
+ "e": "🐩",
+ "d": "poodle",
+ "u": "6.0"
+ },
+ {
+ "n": "wolf",
+ "c": "nature",
+ "e": "🐺",
+ "d": "wolf face",
+ "u": "6.0"
+ },
+ {
+ "n": "fox",
+ "c": "nature",
+ "e": "🦊",
+ "d": "fox face",
+ "u": "9.0"
+ },
+ {
+ "n": "cat",
+ "c": "nature",
+ "e": "🐱",
+ "d": "cat face",
+ "u": "6.0"
+ },
+ {
+ "n": "cat2",
+ "c": "nature",
+ "e": "🐈",
+ "d": "cat",
+ "u": "6.0"
+ },
+ {
+ "n": "lion_face",
+ "c": "nature",
+ "e": "🦁",
+ "d": "lion face",
+ "u": "8.0"
+ },
+ {
+ "n": "tiger",
+ "c": "nature",
+ "e": "🐯",
+ "d": "tiger face",
+ "u": "6.0"
+ },
+ {
+ "n": "tiger2",
+ "c": "nature",
+ "e": "🐅",
+ "d": "tiger",
+ "u": "6.0"
+ },
+ {
+ "n": "leopard",
+ "c": "nature",
+ "e": "🐆",
+ "d": "leopard",
+ "u": "6.0"
+ },
+ {
+ "n": "horse",
+ "c": "nature",
+ "e": "🐴",
+ "d": "horse face",
+ "u": "6.0"
+ },
+ {
+ "n": "racehorse",
+ "c": "nature",
+ "e": "🐎",
+ "d": "horse",
+ "u": "6.0"
+ },
+ {
+ "n": "unicorn",
+ "c": "nature",
+ "e": "🦄",
+ "d": "unicorn face",
+ "u": "8.0"
+ },
+ {
+ "n": "deer",
+ "c": "nature",
+ "e": "🦌",
+ "d": "deer",
+ "u": "9.0"
+ },
+ {
+ "n": "cow",
+ "c": "nature",
+ "e": "🐮",
+ "d": "cow face",
+ "u": "6.0"
+ },
+ {
+ "n": "ox",
+ "c": "nature",
+ "e": "🐂",
+ "d": "ox",
+ "u": "6.0"
+ },
+ {
+ "n": "water_buffalo",
+ "c": "nature",
+ "e": "🐃",
+ "d": "water buffalo",
+ "u": "6.0"
+ },
+ {
+ "n": "cow2",
+ "c": "nature",
+ "e": "🐄",
+ "d": "cow",
+ "u": "6.0"
+ },
+ {
+ "n": "pig",
+ "c": "nature",
+ "e": "🐷",
+ "d": "pig face",
+ "u": "6.0"
+ },
+ {
+ "n": "pig2",
+ "c": "nature",
+ "e": "🐖",
+ "d": "pig",
+ "u": "6.0"
+ },
+ {
+ "n": "boar",
+ "c": "nature",
+ "e": "🐗",
+ "d": "boar",
+ "u": "6.0"
+ },
+ {
+ "n": "pig_nose",
+ "c": "nature",
+ "e": "🐽",
+ "d": "pig nose",
+ "u": "6.0"
+ },
+ {
+ "n": "ram",
+ "c": "nature",
+ "e": "🐏",
+ "d": "ram",
+ "u": "6.0"
+ },
+ {
+ "n": "sheep",
+ "c": "nature",
+ "e": "🐑",
+ "d": "sheep",
+ "u": "6.0"
+ },
+ {
+ "n": "goat",
+ "c": "nature",
+ "e": "🐐",
+ "d": "goat",
+ "u": "6.0"
+ },
+ {
+ "n": "dromedary_camel",
+ "c": "nature",
+ "e": "🐪",
+ "d": "dromedary camel",
+ "u": "6.0"
+ },
+ {
+ "n": "camel",
+ "c": "nature",
+ "e": "🐫",
+ "d": "bactrian camel",
+ "u": "6.0"
+ },
+ {
+ "n": "elephant",
+ "c": "nature",
+ "e": "🐘",
+ "d": "elephant",
+ "u": "6.0"
+ },
+ {
+ "n": "rhino",
+ "c": "nature",
+ "e": "🦏",
+ "d": "rhinoceros",
+ "u": "9.0"
+ },
+ {
+ "n": "mouse",
+ "c": "nature",
+ "e": "🐭",
+ "d": "mouse face",
+ "u": "6.0"
+ },
+ {
+ "n": "mouse2",
+ "c": "nature",
+ "e": "🐁",
+ "d": "mouse",
+ "u": "6.0"
+ },
+ {
+ "n": "rat",
+ "c": "nature",
+ "e": "🐀",
+ "d": "rat",
+ "u": "6.0"
+ },
+ {
+ "n": "hamster",
+ "c": "nature",
+ "e": "🐹",
+ "d": "hamster face",
+ "u": "6.0"
+ },
+ {
+ "n": "rabbit",
+ "c": "nature",
+ "e": "🐰",
+ "d": "rabbit face",
+ "u": "6.0"
+ },
+ {
+ "n": "rabbit2",
+ "c": "nature",
+ "e": "🐇",
+ "d": "rabbit",
+ "u": "6.0"
+ },
+ {
+ "n": "chipmunk",
+ "c": "nature",
+ "e": "🐿",
+ "d": "chipmunk",
+ "u": "7.0"
+ },
+ {
+ "n": "bat",
+ "c": "nature",
+ "e": "🦇",
+ "d": "bat",
+ "u": "9.0"
+ },
+ {
+ "n": "bear",
+ "c": "nature",
+ "e": "🐻",
+ "d": "bear face",
+ "u": "6.0"
+ },
+ {
+ "n": "koala",
+ "c": "nature",
+ "e": "🐨",
+ "d": "koala",
+ "u": "6.0"
+ },
+ {
+ "n": "panda_face",
+ "c": "nature",
+ "e": "🐼",
+ "d": "panda face",
+ "u": "6.0"
+ },
+ {
+ "n": "feet",
+ "c": "nature",
+ "e": "🐾",
+ "d": "paw prints",
+ "u": "6.0"
+ },
+ {
+ "n": "turkey",
+ "c": "nature",
+ "e": "🦃",
+ "d": "turkey",
+ "u": "8.0"
+ },
+ {
+ "n": "chicken",
+ "c": "nature",
+ "e": "🐔",
+ "d": "chicken",
+ "u": "6.0"
+ },
+ {
+ "n": "rooster",
+ "c": "nature",
+ "e": "🐓",
+ "d": "rooster",
+ "u": "6.0"
+ },
+ {
+ "n": "hatching_chick",
+ "c": "nature",
+ "e": "🐣",
+ "d": "hatching chick",
+ "u": "6.0"
+ },
+ {
+ "n": "baby_chick",
+ "c": "nature",
+ "e": "🐤",
+ "d": "baby chick",
+ "u": "6.0"
+ },
+ {
+ "n": "hatched_chick",
+ "c": "nature",
+ "e": "🐥",
+ "d": "front-facing baby chick",
+ "u": "6.0"
+ },
+ {
+ "n": "bird",
+ "c": "nature",
+ "e": "🐦",
+ "d": "bird",
+ "u": "6.0"
+ },
+ {
+ "n": "penguin",
+ "c": "nature",
+ "e": "🐧",
+ "d": "penguin",
+ "u": "6.0"
+ },
+ {
+ "n": "dove",
+ "c": "nature",
+ "e": "🕊",
+ "d": "dove of peace",
+ "u": "7.0"
+ },
+ {
+ "n": "eagle",
+ "c": "nature",
+ "e": "🦅",
+ "d": "eagle",
+ "u": "9.0"
+ },
+ {
+ "n": "duck",
+ "c": "nature",
+ "e": "🦆",
+ "d": "duck",
+ "u": "9.0"
+ },
+ {
+ "n": "owl",
+ "c": "nature",
+ "e": "🦉",
+ "d": "owl",
+ "u": "9.0"
+ },
+ {
+ "n": "frog",
+ "c": "nature",
+ "e": "🐸",
+ "d": "frog face",
+ "u": "6.0"
+ },
+ {
+ "n": "crocodile",
+ "c": "nature",
+ "e": "🐊",
+ "d": "crocodile",
+ "u": "6.0"
+ },
+ {
+ "n": "turtle",
+ "c": "nature",
+ "e": "🐢",
+ "d": "turtle",
+ "u": "6.0"
+ },
+ {
+ "n": "lizard",
+ "c": "nature",
+ "e": "🦎",
+ "d": "lizard",
+ "u": "9.0"
+ },
+ {
+ "n": "snake",
+ "c": "nature",
+ "e": "🐍",
+ "d": "snake",
+ "u": "6.0"
+ },
+ {
+ "n": "dragon_face",
+ "c": "nature",
+ "e": "🐲",
+ "d": "dragon face",
+ "u": "6.0"
+ },
+ {
+ "n": "dragon",
+ "c": "nature",
+ "e": "🐉",
+ "d": "dragon",
+ "u": "6.0"
+ },
+ {
+ "n": "whale",
+ "c": "nature",
+ "e": "🐳",
+ "d": "spouting whale",
+ "u": "6.0"
+ },
+ {
+ "n": "whale2",
+ "c": "nature",
+ "e": "🐋",
+ "d": "whale",
+ "u": "6.0"
+ },
+ {
+ "n": "dolphin",
+ "c": "nature",
+ "e": "🐬",
+ "d": "dolphin",
+ "u": "6.0"
+ },
+ {
+ "n": "fish",
+ "c": "nature",
+ "e": "🐟",
+ "d": "fish",
+ "u": "6.0"
+ },
+ {
+ "n": "tropical_fish",
+ "c": "nature",
+ "e": "🐠",
+ "d": "tropical fish",
+ "u": "6.0"
+ },
+ {
+ "n": "blowfish",
+ "c": "nature",
+ "e": "🐡",
+ "d": "blowfish",
+ "u": "6.0"
+ },
+ {
+ "n": "shark",
+ "c": "nature",
+ "e": "🦈",
+ "d": "shark",
+ "u": "9.0"
+ },
+ {
+ "n": "octopus",
+ "c": "nature",
+ "e": "🐙",
+ "d": "octopus",
+ "u": "6.0"
+ },
+ {
+ "n": "shell",
+ "c": "nature",
+ "e": "🐚",
+ "d": "spiral shell",
+ "u": "6.0"
+ },
+ {
+ "n": "snail",
+ "c": "nature",
+ "e": "🐌",
+ "d": "snail",
+ "u": "6.0"
+ },
+ {
+ "n": "butterfly",
+ "c": "nature",
+ "e": "🦋",
+ "d": "butterfly",
+ "u": "9.0"
+ },
+ {
+ "n": "bug",
+ "c": "nature",
+ "e": "🐛",
+ "d": "bug",
+ "u": "6.0"
+ },
+ {
+ "n": "ant",
+ "c": "nature",
+ "e": "🐜",
+ "d": "ant",
+ "u": "6.0"
+ },
+ {
+ "n": "bee",
+ "c": "nature",
+ "e": "🐝",
+ "d": "honeybee",
+ "u": "6.0"
+ },
+ {
+ "n": "beetle",
+ "c": "nature",
+ "e": "🐞",
+ "d": "lady beetle",
+ "u": "6.0"
+ },
+ {
+ "n": "spider",
+ "c": "nature",
+ "e": "🕷",
+ "d": "spider",
+ "u": "7.0"
+ },
+ {
+ "n": "spider_web",
+ "c": "nature",
+ "e": "🕸",
+ "d": "spider web",
+ "u": "7.0"
+ },
+ {
+ "n": "scorpion",
+ "c": "nature",
+ "e": "🦂",
+ "d": "scorpion",
+ "u": "8.0"
+ },
+ {
+ "n": "bouquet",
+ "c": "nature",
+ "e": "💐",
+ "d": "bouquet",
+ "u": "6.0"
+ },
+ {
+ "n": "cherry_blossom",
+ "c": "nature",
+ "e": "🌸",
+ "d": "cherry blossom",
+ "u": "6.0"
+ },
+ {
+ "n": "white_flower",
+ "c": "symbols",
+ "e": "💮",
+ "d": "white flower",
+ "u": "6.0"
+ },
+ {
+ "n": "rosette",
+ "c": "activity",
+ "e": "🏵",
+ "d": "rosette",
+ "u": "7.0"
+ },
+ {
+ "n": "rose",
+ "c": "nature",
+ "e": "🌹",
+ "d": "rose",
+ "u": "6.0"
+ },
+ {
+ "n": "wilted_rose",
+ "c": "nature",
+ "e": "🥀",
+ "d": "wilted flower",
+ "u": "9.0"
+ },
+ {
+ "n": "hibiscus",
+ "c": "nature",
+ "e": "🌺",
+ "d": "hibiscus",
+ "u": "6.0"
+ },
+ {
+ "n": "sunflower",
+ "c": "nature",
+ "e": "🌻",
+ "d": "sunflower",
+ "u": "6.0"
+ },
+ {
+ "n": "blossom",
+ "c": "nature",
+ "e": "🌼",
+ "d": "blossom",
+ "u": "6.0"
+ },
+ {
+ "n": "tulip",
+ "c": "nature",
+ "e": "🌷",
+ "d": "tulip",
+ "u": "6.0"
+ },
+ {
+ "n": "seedling",
+ "c": "nature",
+ "e": "🌱",
+ "d": "seedling",
+ "u": "6.0"
+ },
+ {
+ "n": "evergreen_tree",
+ "c": "nature",
+ "e": "🌲",
+ "d": "evergreen tree",
+ "u": "6.0"
+ },
+ {
+ "n": "deciduous_tree",
+ "c": "nature",
+ "e": "🌳",
+ "d": "deciduous tree",
+ "u": "6.0"
+ },
+ {
+ "n": "palm_tree",
+ "c": "nature",
+ "e": "🌴",
+ "d": "palm tree",
+ "u": "6.0"
+ },
+ {
+ "n": "cactus",
+ "c": "nature",
+ "e": "🌵",
+ "d": "cactus",
+ "u": "6.0"
+ },
+ {
+ "n": "ear_of_rice",
+ "c": "nature",
+ "e": "🌾",
+ "d": "ear of rice",
+ "u": "6.0"
+ },
+ {
+ "n": "herb",
+ "c": "nature",
+ "e": "🌿",
+ "d": "herb",
+ "u": "6.0"
+ },
+ {
+ "n": "shamrock",
+ "c": "nature",
+ "e": "☘",
+ "d": "shamrock",
+ "u": "4.1"
+ },
+ {
+ "n": "four_leaf_clover",
+ "c": "nature",
+ "e": "🍀",
+ "d": "four leaf clover",
+ "u": "6.0"
+ },
+ {
+ "n": "maple_leaf",
+ "c": "nature",
+ "e": "🍁",
+ "d": "maple leaf",
+ "u": "6.0"
+ },
+ {
+ "n": "fallen_leaf",
+ "c": "nature",
+ "e": "🍂",
+ "d": "fallen leaf",
+ "u": "6.0"
+ },
+ {
+ "n": "leaves",
+ "c": "nature",
+ "e": "🍃",
+ "d": "leaf fluttering in wind",
+ "u": "6.0"
+ },
+ {
+ "n": "mushroom",
+ "c": "nature",
+ "e": "🍄",
+ "d": "mushroom",
+ "u": "6.0"
+ },
+ {
+ "n": "grapes",
+ "c": "food",
+ "e": "🍇",
+ "d": "grapes",
+ "u": "6.0"
+ },
+ {
+ "n": "melon",
+ "c": "food",
+ "e": "🍈",
+ "d": "melon",
+ "u": "6.0"
+ },
+ {
+ "n": "watermelon",
+ "c": "food",
+ "e": "🍉",
+ "d": "watermelon",
+ "u": "6.0"
+ },
+ {
+ "n": "tangerine",
+ "c": "food",
+ "e": "🍊",
+ "d": "tangerine",
+ "u": "6.0"
+ },
+ {
+ "n": "lemon",
+ "c": "food",
+ "e": "🍋",
+ "d": "lemon",
+ "u": "6.0"
+ },
+ {
+ "n": "banana",
+ "c": "food",
+ "e": "🍌",
+ "d": "banana",
+ "u": "6.0"
+ },
+ {
+ "n": "pineapple",
+ "c": "food",
+ "e": "🍍",
+ "d": "pineapple",
+ "u": "6.0"
+ },
+ {
+ "n": "apple",
+ "c": "food",
+ "e": "🍎",
+ "d": "red apple",
+ "u": "6.0"
+ },
+ {
+ "n": "green_apple",
+ "c": "food",
+ "e": "🍏",
+ "d": "green apple",
+ "u": "6.0"
+ },
+ {
+ "n": "pear",
+ "c": "food",
+ "e": "🍐",
+ "d": "pear",
+ "u": "6.0"
+ },
+ {
+ "n": "peach",
+ "c": "food",
+ "e": "🍑",
+ "d": "peach",
+ "u": "6.0"
+ },
+ {
+ "n": "cherries",
+ "c": "food",
+ "e": "🍒",
+ "d": "cherries",
+ "u": "6.0"
+ },
+ {
+ "n": "strawberry",
+ "c": "food",
+ "e": "🍓",
+ "d": "strawberry",
+ "u": "6.0"
+ },
+ {
+ "n": "kiwi",
+ "c": "food",
+ "e": "🥝",
+ "d": "kiwifruit",
+ "u": "9.0"
+ },
+ {
+ "n": "tomato",
+ "c": "food",
+ "e": "🍅",
+ "d": "tomato",
+ "u": "6.0"
+ },
+ {
+ "n": "avocado",
+ "c": "food",
+ "e": "🥑",
+ "d": "avocado",
+ "u": "9.0"
+ },
+ {
+ "n": "eggplant",
+ "c": "food",
+ "e": "🍆",
+ "d": "aubergine",
+ "u": "6.0"
+ },
+ {
+ "n": "potato",
+ "c": "food",
+ "e": "🥔",
+ "d": "potato",
+ "u": "9.0"
+ },
+ {
+ "n": "carrot",
+ "c": "food",
+ "e": "🥕",
+ "d": "carrot",
+ "u": "9.0"
+ },
+ {
+ "n": "corn",
+ "c": "food",
+ "e": "🌽",
+ "d": "ear of maize",
+ "u": "6.0"
+ },
+ {
+ "n": "hot_pepper",
+ "c": "food",
+ "e": "🌶",
+ "d": "hot pepper",
+ "u": "7.0"
+ },
+ {
+ "n": "cucumber",
+ "c": "food",
+ "e": "🥒",
+ "d": "cucumber",
+ "u": "9.0"
+ },
+ {
+ "n": "peanuts",
+ "c": "food",
+ "e": "🥜",
+ "d": "peanuts",
+ "u": "9.0"
+ },
+ {
+ "n": "chestnut",
+ "c": "nature",
+ "e": "🌰",
+ "d": "chestnut",
+ "u": "6.0"
+ },
+ {
+ "n": "bread",
+ "c": "food",
+ "e": "🍞",
+ "d": "bread",
+ "u": "6.0"
+ },
+ {
+ "n": "croissant",
+ "c": "food",
+ "e": "🥐",
+ "d": "croissant",
+ "u": "9.0"
+ },
+ {
+ "n": "french_bread",
+ "c": "food",
+ "e": "🥖",
+ "d": "baguette bread",
+ "u": "9.0"
+ },
+ {
+ "n": "pancakes",
+ "c": "food",
+ "e": "🥞",
+ "d": "pancakes",
+ "u": "9.0"
+ },
+ {
+ "n": "cheese",
+ "c": "food",
+ "e": "🧀",
+ "d": "cheese wedge",
+ "u": "8.0"
+ },
+ {
+ "n": "meat_on_bone",
+ "c": "food",
+ "e": "🍖",
+ "d": "meat on bone",
+ "u": "6.0"
+ },
+ {
+ "n": "poultry_leg",
+ "c": "food",
+ "e": "🍗",
+ "d": "poultry leg",
+ "u": "6.0"
+ },
+ {
+ "n": "bacon",
+ "c": "food",
+ "e": "🥓",
+ "d": "bacon",
+ "u": "9.0"
+ },
+ {
+ "n": "hamburger",
+ "c": "food",
+ "e": "🍔",
+ "d": "hamburger",
+ "u": "6.0"
+ },
+ {
+ "n": "fries",
+ "c": "food",
+ "e": "🍟",
+ "d": "french fries",
+ "u": "6.0"
+ },
+ {
+ "n": "pizza",
+ "c": "food",
+ "e": "🍕",
+ "d": "slice of pizza",
+ "u": "6.0"
+ },
+ {
+ "n": "hotdog",
+ "c": "food",
+ "e": "🌭",
+ "d": "hot dog",
+ "u": "8.0"
+ },
+ {
+ "n": "taco",
+ "c": "food",
+ "e": "🌮",
+ "d": "taco",
+ "u": "8.0"
+ },
+ {
+ "n": "burrito",
+ "c": "food",
+ "e": "🌯",
+ "d": "burrito",
+ "u": "8.0"
+ },
+ {
+ "n": "stuffed_flatbread",
+ "c": "food",
+ "e": "🥙",
+ "d": "stuffed flatbread",
+ "u": "9.0"
+ },
+ {
+ "n": "egg",
+ "c": "food",
+ "e": "🥚",
+ "d": "egg",
+ "u": "9.0"
+ },
+ {
+ "n": "cooking",
+ "c": "food",
+ "e": "🍳",
+ "d": "cooking",
+ "u": "6.0"
+ },
+ {
+ "n": "shallow_pan_of_food",
+ "c": "food",
+ "e": "🥘",
+ "d": "shallow pan of food",
+ "u": "9.0"
+ },
+ {
+ "n": "stew",
+ "c": "food",
+ "e": "🍲",
+ "d": "pot of food",
+ "u": "6.0"
+ },
+ {
+ "n": "salad",
+ "c": "food",
+ "e": "🥗",
+ "d": "green salad",
+ "u": "9.0"
+ },
+ {
+ "n": "popcorn",
+ "c": "food",
+ "e": "🍿",
+ "d": "popcorn",
+ "u": "8.0"
+ },
+ {
+ "n": "bento",
+ "c": "food",
+ "e": "🍱",
+ "d": "bento box",
+ "u": "6.0"
+ },
+ {
+ "n": "rice_cracker",
+ "c": "food",
+ "e": "🍘",
+ "d": "rice cracker",
+ "u": "6.0"
+ },
+ {
+ "n": "rice_ball",
+ "c": "food",
+ "e": "🍙",
+ "d": "rice ball",
+ "u": "6.0"
+ },
+ {
+ "n": "rice",
+ "c": "food",
+ "e": "🍚",
+ "d": "cooked rice",
+ "u": "6.0"
+ },
+ {
+ "n": "curry",
+ "c": "food",
+ "e": "🍛",
+ "d": "curry and rice",
+ "u": "6.0"
+ },
+ {
+ "n": "ramen",
+ "c": "food",
+ "e": "🍜",
+ "d": "steaming bowl",
+ "u": "6.0"
+ },
+ {
+ "n": "spaghetti",
+ "c": "food",
+ "e": "🍝",
+ "d": "spaghetti",
+ "u": "6.0"
+ },
+ {
+ "n": "sweet_potato",
+ "c": "food",
+ "e": "🍠",
+ "d": "roasted sweet potato",
+ "u": "6.0"
+ },
+ {
+ "n": "oden",
+ "c": "food",
+ "e": "🍢",
+ "d": "oden",
+ "u": "6.0"
+ },
+ {
+ "n": "sushi",
+ "c": "food",
+ "e": "🍣",
+ "d": "sushi",
+ "u": "6.0"
+ },
+ {
+ "n": "fried_shrimp",
+ "c": "food",
+ "e": "🍤",
+ "d": "fried shrimp",
+ "u": "6.0"
+ },
+ {
+ "n": "fish_cake",
+ "c": "food",
+ "e": "🍥",
+ "d": "fish cake with swirl design",
+ "u": "6.0"
+ },
+ {
+ "n": "dango",
+ "c": "food",
+ "e": "🍡",
+ "d": "dango",
+ "u": "6.0"
+ },
+ {
+ "n": "crab",
+ "c": "nature",
+ "e": "🦀",
+ "d": "crab",
+ "u": "8.0"
+ },
+ {
+ "n": "shrimp",
+ "c": "nature",
+ "e": "🦐",
+ "d": "shrimp",
+ "u": "9.0"
+ },
+ {
+ "n": "squid",
+ "c": "nature",
+ "e": "🦑",
+ "d": "squid",
+ "u": "9.0"
+ },
+ {
+ "n": "icecream",
+ "c": "food",
+ "e": "🍦",
+ "d": "soft ice cream",
+ "u": "6.0"
+ },
+ {
+ "n": "shaved_ice",
+ "c": "food",
+ "e": "🍧",
+ "d": "shaved ice",
+ "u": "6.0"
+ },
+ {
+ "n": "ice_cream",
+ "c": "food",
+ "e": "🍨",
+ "d": "ice cream",
+ "u": "6.0"
+ },
+ {
+ "n": "doughnut",
+ "c": "food",
+ "e": "🍩",
+ "d": "doughnut",
+ "u": "6.0"
+ },
+ {
+ "n": "cookie",
+ "c": "food",
+ "e": "🍪",
+ "d": "cookie",
+ "u": "6.0"
+ },
+ {
+ "n": "birthday",
+ "c": "food",
+ "e": "🎂",
+ "d": "birthday cake",
+ "u": "6.0"
+ },
+ {
+ "n": "cake",
+ "c": "food",
+ "e": "🍰",
+ "d": "shortcake",
+ "u": "6.0"
+ },
+ {
+ "n": "chocolate_bar",
+ "c": "food",
+ "e": "🍫",
+ "d": "chocolate bar",
+ "u": "6.0"
+ },
+ {
+ "n": "candy",
+ "c": "food",
+ "e": "🍬",
+ "d": "candy",
+ "u": "6.0"
+ },
+ {
+ "n": "lollipop",
+ "c": "food",
+ "e": "🍭",
+ "d": "lollipop",
+ "u": "6.0"
+ },
+ {
+ "n": "custard",
+ "c": "food",
+ "e": "🍮",
+ "d": "custard",
+ "u": "6.0"
+ },
+ {
+ "n": "honey_pot",
+ "c": "food",
+ "e": "🍯",
+ "d": "honey pot",
+ "u": "6.0"
+ },
+ {
+ "n": "baby_bottle",
+ "c": "food",
+ "e": "🍼",
+ "d": "baby bottle",
+ "u": "6.0"
+ },
+ {
+ "n": "milk",
+ "c": "food",
+ "e": "🥛",
+ "d": "glass of milk",
+ "u": "9.0"
+ },
+ {
+ "n": "coffee",
+ "c": "food",
+ "e": "☕",
+ "d": "hot beverage",
+ "u": "4.0"
+ },
+ {
+ "n": "tea",
+ "c": "food",
+ "e": "🍵",
+ "d": "teacup without handle",
+ "u": "6.0"
+ },
+ {
+ "n": "sake",
+ "c": "food",
+ "e": "🍶",
+ "d": "sake bottle and cup",
+ "u": "6.0"
+ },
+ {
+ "n": "champagne",
+ "c": "food",
+ "e": "🍾",
+ "d": "bottle with popping cork",
+ "u": "8.0"
+ },
+ {
+ "n": "wine_glass",
+ "c": "food",
+ "e": "🍷",
+ "d": "wine glass",
+ "u": "6.0"
+ },
+ {
+ "n": "cocktail",
+ "c": "food",
+ "e": "🍸",
+ "d": "cocktail glass",
+ "u": "6.0"
+ },
+ {
+ "n": "tropical_drink",
+ "c": "food",
+ "e": "🍹",
+ "d": "tropical drink",
+ "u": "6.0"
+ },
+ {
+ "n": "beer",
+ "c": "food",
+ "e": "🍺",
+ "d": "beer mug",
+ "u": "6.0"
+ },
+ {
+ "n": "beers",
+ "c": "food",
+ "e": "🍻",
+ "d": "clinking beer mugs",
+ "u": "6.0"
+ },
+ {
+ "n": "champagne_glass",
+ "c": "food",
+ "e": "🥂",
+ "d": "clinking glasses",
+ "u": "9.0"
+ },
+ {
+ "n": "tumbler_glass",
+ "c": "food",
+ "e": "🥃",
+ "d": "tumbler glass",
+ "u": "9.0"
+ },
+ {
+ "n": "fork_knife_plate",
+ "c": "food",
+ "e": "🍽",
+ "d": "fork and knife with plate",
+ "u": "7.0"
+ },
+ {
+ "n": "fork_and_knife",
+ "c": "food",
+ "e": "🍴",
+ "d": "fork and knife",
+ "u": "6.0"
+ },
+ {
+ "n": "spoon",
+ "c": "food",
+ "e": "🥄",
+ "d": "spoon",
+ "u": "9.0"
+ },
+ {
+ "n": "knife",
+ "c": "objects",
+ "e": "🔪",
+ "d": "hocho",
+ "u": "6.0"
+ },
+ {
+ "n": "amphora",
+ "c": "objects",
+ "e": "🏺",
+ "d": "amphora",
+ "u": "8.0"
+ },
+ {
+ "n": "earth_africa",
+ "c": "nature",
+ "e": "🌍",
+ "d": "earth globe europe-africa",
+ "u": "6.0"
+ },
+ {
+ "n": "earth_americas",
+ "c": "nature",
+ "e": "🌎",
+ "d": "earth globe americas",
+ "u": "6.0"
+ },
+ {
+ "n": "earth_asia",
+ "c": "nature",
+ "e": "🌏",
+ "d": "earth globe asia-australia",
+ "u": "6.0"
+ },
+ {
+ "n": "globe_with_meridians",
+ "c": "symbols",
+ "e": "🌐",
+ "d": "globe with meridians",
+ "u": "6.0"
+ },
+ {
+ "n": "map",
+ "c": "objects",
+ "e": "🗺",
+ "d": "world map",
+ "u": "7.0"
+ },
+ {
+ "n": "japan",
+ "c": "travel",
+ "e": "🗾",
+ "d": "silhouette of japan",
+ "u": "6.0"
+ },
+ {
+ "n": "mountain_snow",
+ "c": "travel",
+ "e": "🏔",
+ "d": "snow capped mountain",
+ "u": "7.0"
+ },
+ {
+ "n": "mountain",
+ "c": "travel",
+ "e": "⛰",
+ "d": "mountain",
+ "u": "5.2"
+ },
+ {
+ "n": "volcano",
+ "c": "travel",
+ "e": "🌋",
+ "d": "volcano",
+ "u": "6.0"
+ },
+ {
+ "n": "mount_fuji",
+ "c": "travel",
+ "e": "🗻",
+ "d": "mount fuji",
+ "u": "6.0"
+ },
+ {
+ "n": "camping",
+ "c": "travel",
+ "e": "🏕",
+ "d": "camping",
+ "u": "7.0"
+ },
+ {
+ "n": "beach",
+ "c": "travel",
+ "e": "🏖",
+ "d": "beach with umbrella",
+ "u": "7.0"
+ },
+ {
+ "n": "desert",
+ "c": "travel",
+ "e": "🏜",
+ "d": "desert",
+ "u": "7.0"
+ },
+ {
+ "n": "island",
+ "c": "travel",
+ "e": "🏝",
+ "d": "desert island",
+ "u": "7.0"
+ },
+ {
+ "n": "park",
+ "c": "travel",
+ "e": "🏞",
+ "d": "national park",
+ "u": "7.0"
+ },
+ {
+ "n": "stadium",
+ "c": "travel",
+ "e": "🏟",
+ "d": "stadium",
+ "u": "7.0"
+ },
+ {
+ "n": "classical_building",
+ "c": "travel",
+ "e": "🏛",
+ "d": "classical building",
+ "u": "7.0"
+ },
+ {
+ "n": "construction_site",
+ "c": "travel",
+ "e": "🏗",
+ "d": "building construction",
+ "u": "7.0"
+ },
+ {
+ "n": "homes",
+ "c": "travel",
+ "e": "🏘",
+ "d": "house buildings",
+ "u": "7.0"
+ },
+ {
+ "n": "house_abandoned",
+ "c": "travel",
+ "e": "🏚",
+ "d": "derelict house building",
+ "u": "7.0"
+ },
+ {
+ "n": "house",
+ "c": "travel",
+ "e": "🏠",
+ "d": "house building",
+ "u": "6.0"
+ },
+ {
+ "n": "house_with_garden",
+ "c": "travel",
+ "e": "🏡",
+ "d": "house with garden",
+ "u": "6.0"
+ },
+ {
+ "n": "office",
+ "c": "travel",
+ "e": "🏢",
+ "d": "office building",
+ "u": "6.0"
+ },
+ {
+ "n": "post_office",
+ "c": "travel",
+ "e": "🏣",
+ "d": "japanese post office",
+ "u": "6.0"
+ },
+ {
+ "n": "european_post_office",
+ "c": "travel",
+ "e": "🏤",
+ "d": "european post office",
+ "u": "6.0"
+ },
+ {
+ "n": "hospital",
+ "c": "travel",
+ "e": "🏥",
+ "d": "hospital",
+ "u": "6.0"
+ },
+ {
+ "n": "bank",
+ "c": "travel",
+ "e": "🏦",
+ "d": "bank",
+ "u": "6.0"
+ },
+ {
+ "n": "hotel",
+ "c": "travel",
+ "e": "🏨",
+ "d": "hotel",
+ "u": "6.0"
+ },
+ {
+ "n": "love_hotel",
+ "c": "travel",
+ "e": "🏩",
+ "d": "love hotel",
+ "u": "6.0"
+ },
+ {
+ "n": "convenience_store",
+ "c": "travel",
+ "e": "🏪",
+ "d": "convenience store",
+ "u": "6.0"
+ },
+ {
+ "n": "school",
+ "c": "travel",
+ "e": "🏫",
+ "d": "school",
+ "u": "6.0"
+ },
+ {
+ "n": "department_store",
+ "c": "travel",
+ "e": "🏬",
+ "d": "department store",
+ "u": "6.0"
+ },
+ {
+ "n": "factory",
+ "c": "travel",
+ "e": "🏭",
+ "d": "factory",
+ "u": "6.0"
+ },
+ {
+ "n": "japanese_castle",
+ "c": "travel",
+ "e": "🏯",
+ "d": "japanese castle",
+ "u": "6.0"
+ },
+ {
+ "n": "european_castle",
+ "c": "travel",
+ "e": "🏰",
+ "d": "european castle",
+ "u": "6.0"
+ },
+ {
+ "n": "wedding",
+ "c": "travel",
+ "e": "💒",
+ "d": "wedding",
+ "u": "6.0"
+ },
+ {
+ "n": "tokyo_tower",
+ "c": "travel",
+ "e": "🗼",
+ "d": "tokyo tower",
+ "u": "6.0"
+ },
+ {
+ "n": "statue_of_liberty",
+ "c": "travel",
+ "e": "🗽",
+ "d": "statue of liberty",
+ "u": "6.0"
+ },
+ {
+ "n": "church",
+ "c": "travel",
+ "e": "⛪",
+ "d": "church",
+ "u": "5.2"
+ },
+ {
+ "n": "mosque",
+ "c": "travel",
+ "e": "🕌",
+ "d": "mosque",
+ "u": "8.0"
+ },
+ {
+ "n": "synagogue",
+ "c": "travel",
+ "e": "🕍",
+ "d": "synagogue",
+ "u": "8.0"
+ },
+ {
+ "n": "shinto_shrine",
+ "c": "travel",
+ "e": "⛩",
+ "d": "shinto shrine",
+ "u": "5.2"
+ },
+ {
+ "n": "kaaba",
+ "c": "travel",
+ "e": "🕋",
+ "d": "kaaba",
+ "u": "8.0"
+ },
+ {
+ "n": "fountain",
+ "c": "travel",
+ "e": "⛲",
+ "d": "fountain",
+ "u": "5.2"
+ },
+ {
+ "n": "tent",
+ "c": "travel",
+ "e": "⛺",
+ "d": "tent",
+ "u": "5.2"
+ },
+ {
+ "n": "foggy",
+ "c": "travel",
+ "e": "🌁",
+ "d": "foggy",
+ "u": "6.0"
+ },
+ {
+ "n": "night_with_stars",
+ "c": "travel",
+ "e": "🌃",
+ "d": "night with stars",
+ "u": "6.0"
+ },
+ {
+ "n": "cityscape",
+ "c": "travel",
+ "e": "🏙",
+ "d": "cityscape",
+ "u": "7.0"
+ },
+ {
+ "n": "sunrise_over_mountains",
+ "c": "travel",
+ "e": "🌄",
+ "d": "sunrise over mountains",
+ "u": "6.0"
+ },
+ {
+ "n": "sunrise",
+ "c": "travel",
+ "e": "🌅",
+ "d": "sunrise",
+ "u": "6.0"
+ },
+ {
+ "n": "city_dusk",
+ "c": "travel",
+ "e": "🌆",
+ "d": "cityscape at dusk",
+ "u": "6.0"
+ },
+ {
+ "n": "city_sunset",
+ "c": "travel",
+ "e": "🌇",
+ "d": "sunset over buildings",
+ "u": "6.0"
+ },
+ {
+ "n": "bridge_at_night",
+ "c": "travel",
+ "e": "🌉",
+ "d": "bridge at night",
+ "u": "6.0"
+ },
+ {
+ "n": "hotsprings",
+ "c": "symbols",
+ "e": "♨",
+ "d": "hot springs",
+ "u": "1.1"
+ },
+ {
+ "n": "carousel_horse",
+ "c": "travel",
+ "e": "🎠",
+ "d": "carousel horse",
+ "u": "6.0"
+ },
+ {
+ "n": "ferris_wheel",
+ "c": "travel",
+ "e": "🎡",
+ "d": "ferris wheel",
+ "u": "6.0"
+ },
+ {
+ "n": "roller_coaster",
+ "c": "travel",
+ "e": "🎢",
+ "d": "roller coaster",
+ "u": "6.0"
+ },
+ {
+ "n": "barber",
+ "c": "objects",
+ "e": "💈",
+ "d": "barber pole",
+ "u": "6.0"
+ },
+ {
+ "n": "circus_tent",
+ "c": "activity",
+ "e": "🎪",
+ "d": "circus tent",
+ "u": "6.0"
+ },
+ {
+ "n": "steam_locomotive",
+ "c": "travel",
+ "e": "🚂",
+ "d": "steam locomotive",
+ "u": "6.0"
+ },
+ {
+ "n": "railway_car",
+ "c": "travel",
+ "e": "🚃",
+ "d": "railway car",
+ "u": "6.0"
+ },
+ {
+ "n": "bullettrain_side",
+ "c": "travel",
+ "e": "🚄",
+ "d": "high-speed train",
+ "u": "6.0"
+ },
+ {
+ "n": "bullettrain_front",
+ "c": "travel",
+ "e": "🚅",
+ "d": "high-speed train with bullet nose",
+ "u": "6.0"
+ },
+ {
+ "n": "train2",
+ "c": "travel",
+ "e": "🚆",
+ "d": "train",
+ "u": "6.0"
+ },
+ {
+ "n": "metro",
+ "c": "travel",
+ "e": "🚇",
+ "d": "metro",
+ "u": "6.0"
+ },
+ {
+ "n": "light_rail",
+ "c": "travel",
+ "e": "🚈",
+ "d": "light rail",
+ "u": "6.0"
+ },
+ {
+ "n": "station",
+ "c": "travel",
+ "e": "🚉",
+ "d": "station",
+ "u": "6.0"
+ },
+ {
+ "n": "tram",
+ "c": "travel",
+ "e": "🚊",
+ "d": "tram",
+ "u": "6.0"
+ },
+ {
+ "n": "monorail",
+ "c": "travel",
+ "e": "🚝",
+ "d": "monorail",
+ "u": "6.0"
+ },
+ {
+ "n": "mountain_railway",
+ "c": "travel",
+ "e": "🚞",
+ "d": "mountain railway",
+ "u": "6.0"
+ },
+ {
+ "n": "train",
+ "c": "travel",
+ "e": "🚋",
+ "d": "Tram Car",
+ "u": "6.0"
+ },
+ {
+ "n": "bus",
+ "c": "travel",
+ "e": "🚌",
+ "d": "bus",
+ "u": "6.0"
+ },
+ {
+ "n": "oncoming_bus",
+ "c": "travel",
+ "e": "🚍",
+ "d": "oncoming bus",
+ "u": "6.0"
+ },
+ {
+ "n": "trolleybus",
+ "c": "travel",
+ "e": "🚎",
+ "d": "trolleybus",
+ "u": "6.0"
+ },
+ {
+ "n": "minibus",
+ "c": "travel",
+ "e": "🚐",
+ "d": "minibus",
+ "u": "6.0"
+ },
+ {
+ "n": "ambulance",
+ "c": "travel",
+ "e": "🚑",
+ "d": "ambulance",
+ "u": "6.0"
+ },
+ {
+ "n": "fire_engine",
+ "c": "travel",
+ "e": "🚒",
+ "d": "fire engine",
+ "u": "6.0"
+ },
+ {
+ "n": "police_car",
+ "c": "travel",
+ "e": "🚓",
+ "d": "police car",
+ "u": "6.0"
+ },
+ {
+ "n": "oncoming_police_car",
+ "c": "travel",
+ "e": "🚔",
+ "d": "oncoming police car",
+ "u": "6.0"
+ },
+ {
+ "n": "taxi",
+ "c": "travel",
+ "e": "🚕",
+ "d": "taxi",
+ "u": "6.0"
+ },
+ {
+ "n": "oncoming_taxi",
+ "c": "travel",
+ "e": "🚖",
+ "d": "oncoming taxi",
+ "u": "6.0"
+ },
+ {
+ "n": "red_car",
+ "c": "travel",
+ "e": "🚗",
+ "d": "automobile",
+ "u": "6.0"
+ },
+ {
+ "n": "oncoming_automobile",
+ "c": "travel",
+ "e": "🚘",
+ "d": "oncoming automobile",
+ "u": "6.0"
+ },
+ {
+ "n": "blue_car",
+ "c": "travel",
+ "e": "🚙",
+ "d": "recreational vehicle",
+ "u": "6.0"
+ },
+ {
+ "n": "truck",
+ "c": "travel",
+ "e": "🚚",
+ "d": "delivery truck",
+ "u": "6.0"
+ },
+ {
+ "n": "articulated_lorry",
+ "c": "travel",
+ "e": "🚛",
+ "d": "articulated lorry",
+ "u": "6.0"
+ },
+ {
+ "n": "tractor",
+ "c": "travel",
+ "e": "🚜",
+ "d": "tractor",
+ "u": "6.0"
+ },
+ {
+ "n": "race_car",
+ "c": "travel",
+ "e": "🏎",
+ "d": "racing car",
+ "u": "7.0"
+ },
+ {
+ "n": "motorcycle",
+ "c": "travel",
+ "e": "🏍",
+ "d": "racing motorcycle",
+ "u": "7.0"
+ },
+ {
+ "n": "motor_scooter",
+ "c": "travel",
+ "e": "🛵",
+ "d": "motor scooter",
+ "u": "9.0"
+ },
+ {
+ "n": "bike",
+ "c": "travel",
+ "e": "🚲",
+ "d": "bicycle",
+ "u": "6.0"
+ },
+ {
+ "n": "scooter",
+ "c": "travel",
+ "e": "🛴",
+ "d": "scooter",
+ "u": "9.0"
+ },
+ {
+ "n": "busstop",
+ "c": "travel",
+ "e": "🚏",
+ "d": "bus stop",
+ "u": "6.0"
+ },
+ {
+ "n": "motorway",
+ "c": "travel",
+ "e": "🛣",
+ "d": "motorway",
+ "u": "7.0"
+ },
+ {
+ "n": "railway_track",
+ "c": "travel",
+ "e": "🛤",
+ "d": "railway track",
+ "u": "7.0"
+ },
+ {
+ "n": "oil",
+ "c": "objects",
+ "e": "🛢",
+ "d": "oil drum",
+ "u": "7.0"
+ },
+ {
+ "n": "fuelpump",
+ "c": "travel",
+ "e": "⛽",
+ "d": "fuel pump",
+ "u": "5.2"
+ },
+ {
+ "n": "rotating_light",
+ "c": "travel",
+ "e": "🚨",
+ "d": "police cars revolving light",
+ "u": "6.0"
+ },
+ {
+ "n": "traffic_light",
+ "c": "travel",
+ "e": "🚥",
+ "d": "horizontal traffic light",
+ "u": "6.0"
+ },
+ {
+ "n": "vertical_traffic_light",
+ "c": "travel",
+ "e": "🚦",
+ "d": "vertical traffic light",
+ "u": "6.0"
+ },
+ {
+ "n": "octagonal_sign",
+ "c": "symbols",
+ "e": "🛑",
+ "d": "octagonal sign",
+ "u": "9.0"
+ },
+ {
+ "n": "construction",
+ "c": "travel",
+ "e": "🚧",
+ "d": "construction sign",
+ "u": "6.0"
+ },
+ {
+ "n": "anchor",
+ "c": "travel",
+ "e": "⚓",
+ "d": "anchor",
+ "u": "4.1"
+ },
+ {
+ "n": "sailboat",
+ "c": "travel",
+ "e": "⛵",
+ "d": "sailboat",
+ "u": "5.2"
+ },
+ {
+ "n": "canoe",
+ "c": "travel",
+ "e": "🛶",
+ "d": "canoe",
+ "u": "9.0"
+ },
+ {
+ "n": "speedboat",
+ "c": "travel",
+ "e": "🚤",
+ "d": "speedboat",
+ "u": "6.0"
+ },
+ {
+ "n": "cruise_ship",
+ "c": "travel",
+ "e": "🛳",
+ "d": "passenger ship",
+ "u": "7.0"
+ },
+ {
+ "n": "ferry",
+ "c": "travel",
+ "e": "⛴",
+ "d": "ferry",
+ "u": "5.2"
+ },
+ {
+ "n": "motorboat",
+ "c": "travel",
+ "e": "🛥",
+ "d": "motorboat",
+ "u": "7.0"
+ },
+ {
+ "n": "ship",
+ "c": "travel",
+ "e": "🚢",
+ "d": "ship",
+ "u": "6.0"
+ },
+ {
+ "n": "airplane",
+ "c": "travel",
+ "e": "✈",
+ "d": "airplane",
+ "u": "1.1"
+ },
+ {
+ "n": "airplane_small",
+ "c": "travel",
+ "e": "🛩",
+ "d": "small airplane",
+ "u": "7.0"
+ },
+ {
+ "n": "airplane_departure",
+ "c": "travel",
+ "e": "🛫",
+ "d": "airplane departure",
+ "u": "7.0"
+ },
+ {
+ "n": "airplane_arriving",
+ "c": "travel",
+ "e": "🛬",
+ "d": "airplane arriving",
+ "u": "7.0"
+ },
+ {
+ "n": "seat",
+ "c": "travel",
+ "e": "💺",
+ "d": "seat",
+ "u": "6.0"
+ },
+ {
+ "n": "helicopter",
+ "c": "travel",
+ "e": "🚁",
+ "d": "helicopter",
+ "u": "6.0"
+ },
+ {
+ "n": "suspension_railway",
+ "c": "travel",
+ "e": "🚟",
+ "d": "suspension railway",
+ "u": "6.0"
+ },
+ {
+ "n": "mountain_cableway",
+ "c": "travel",
+ "e": "🚠",
+ "d": "mountain cableway",
+ "u": "6.0"
+ },
+ {
+ "n": "aerial_tramway",
+ "c": "travel",
+ "e": "🚡",
+ "d": "aerial tramway",
+ "u": "6.0"
+ },
+ {
+ "n": "satellite_orbital",
+ "c": "travel",
+ "e": "🛰",
+ "d": "satellite",
+ "u": "7.0"
+ },
+ {
+ "n": "rocket",
+ "c": "travel",
+ "e": "🚀",
+ "d": "rocket",
+ "u": "6.0"
+ },
+ {
+ "n": "bellhop",
+ "c": "objects",
+ "e": "🛎",
+ "d": "bellhop bell",
+ "u": "7.0"
+ },
+ {
+ "n": "hourglass",
+ "c": "objects",
+ "e": "⌛",
+ "d": "hourglass",
+ "u": "1.1"
+ },
+ {
+ "n": "hourglass_flowing_sand",
+ "c": "objects",
+ "e": "⏳",
+ "d": "hourglass with flowing sand",
+ "u": "6.0"
+ },
+ {
+ "n": "watch",
+ "c": "objects",
+ "e": "⌚",
+ "d": "watch",
+ "u": "1.1"
+ },
+ {
+ "n": "alarm_clock",
+ "c": "objects",
+ "e": "⏰",
+ "d": "alarm clock",
+ "u": "6.0"
+ },
+ {
+ "n": "stopwatch",
+ "c": "objects",
+ "e": "⏱",
+ "d": "stopwatch",
+ "u": "6.0"
+ },
+ {
+ "n": "timer",
+ "c": "objects",
+ "e": "⏲",
+ "d": "timer clock",
+ "u": "6.0"
+ },
+ {
+ "n": "clock",
+ "c": "objects",
+ "e": "🕰",
+ "d": "mantlepiece clock",
+ "u": "7.0"
+ },
+ {
+ "n": "clock12",
+ "c": "symbols",
+ "e": "🕛",
+ "d": "clock face twelve oclock",
+ "u": "6.0"
+ },
+ {
+ "n": "clock1230",
+ "c": "symbols",
+ "e": "🕧",
+ "d": "clock face twelve-thirty",
+ "u": "6.0"
+ },
+ {
+ "n": "clock1",
+ "c": "symbols",
+ "e": "🕐",
+ "d": "clock face one oclock",
+ "u": "6.0"
+ },
+ {
+ "n": "clock130",
+ "c": "symbols",
+ "e": "🕜",
+ "d": "clock face one-thirty",
+ "u": "6.0"
+ },
+ {
+ "n": "clock2",
+ "c": "symbols",
+ "e": "🕑",
+ "d": "clock face two oclock",
+ "u": "6.0"
+ },
+ {
+ "n": "clock230",
+ "c": "symbols",
+ "e": "🕝",
+ "d": "clock face two-thirty",
+ "u": "6.0"
+ },
+ {
+ "n": "clock3",
+ "c": "symbols",
+ "e": "🕒",
+ "d": "clock face three oclock",
+ "u": "6.0"
+ },
+ {
+ "n": "clock330",
+ "c": "symbols",
+ "e": "🕞",
+ "d": "clock face three-thirty",
+ "u": "6.0"
+ },
+ {
+ "n": "clock4",
+ "c": "symbols",
+ "e": "🕓",
+ "d": "clock face four oclock",
+ "u": "6.0"
+ },
+ {
+ "n": "clock430",
+ "c": "symbols",
+ "e": "🕟",
+ "d": "clock face four-thirty",
+ "u": "6.0"
+ },
+ {
+ "n": "clock5",
+ "c": "symbols",
+ "e": "🕔",
+ "d": "clock face five oclock",
+ "u": "6.0"
+ },
+ {
+ "n": "clock530",
+ "c": "symbols",
+ "e": "🕠",
+ "d": "clock face five-thirty",
+ "u": "6.0"
+ },
+ {
+ "n": "clock6",
+ "c": "symbols",
+ "e": "🕕",
+ "d": "clock face six oclock",
+ "u": "6.0"
+ },
+ {
+ "n": "clock630",
+ "c": "symbols",
+ "e": "🕡",
+ "d": "clock face six-thirty",
+ "u": "6.0"
+ },
+ {
+ "n": "clock7",
+ "c": "symbols",
+ "e": "🕖",
+ "d": "clock face seven oclock",
+ "u": "6.0"
+ },
+ {
+ "n": "clock730",
+ "c": "symbols",
+ "e": "🕢",
+ "d": "clock face seven-thirty",
+ "u": "6.0"
+ },
+ {
+ "n": "clock8",
+ "c": "symbols",
+ "e": "🕗",
+ "d": "clock face eight oclock",
+ "u": "6.0"
+ },
+ {
+ "n": "clock830",
+ "c": "symbols",
+ "e": "🕣",
+ "d": "clock face eight-thirty",
+ "u": "6.0"
+ },
+ {
+ "n": "clock9",
+ "c": "symbols",
+ "e": "🕘",
+ "d": "clock face nine oclock",
+ "u": "6.0"
+ },
+ {
+ "n": "clock930",
+ "c": "symbols",
+ "e": "🕤",
+ "d": "clock face nine-thirty",
+ "u": "6.0"
+ },
+ {
+ "n": "clock10",
+ "c": "symbols",
+ "e": "🕙",
+ "d": "clock face ten oclock",
+ "u": "6.0"
+ },
+ {
+ "n": "clock1030",
+ "c": "symbols",
+ "e": "🕥",
+ "d": "clock face ten-thirty",
+ "u": "6.0"
+ },
+ {
+ "n": "clock11",
+ "c": "symbols",
+ "e": "🕚",
+ "d": "clock face eleven oclock",
+ "u": "6.0"
+ },
+ {
+ "n": "clock1130",
+ "c": "symbols",
+ "e": "🕦",
+ "d": "clock face eleven-thirty",
+ "u": "6.0"
+ },
+ {
+ "n": "new_moon",
+ "c": "nature",
+ "e": "🌑",
+ "d": "new moon symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "waxing_crescent_moon",
+ "c": "nature",
+ "e": "🌒",
+ "d": "waxing crescent moon symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "first_quarter_moon",
+ "c": "nature",
+ "e": "🌓",
+ "d": "first quarter moon symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "waxing_gibbous_moon",
+ "c": "nature",
+ "e": "🌔",
+ "d": "waxing gibbous moon symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "full_moon",
+ "c": "nature",
+ "e": "🌕",
+ "d": "full moon symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "waning_gibbous_moon",
+ "c": "nature",
+ "e": "🌖",
+ "d": "waning gibbous moon symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "last_quarter_moon",
+ "c": "nature",
+ "e": "🌗",
+ "d": "last quarter moon symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "waning_crescent_moon",
+ "c": "nature",
+ "e": "🌘",
+ "d": "waning crescent moon symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "crescent_moon",
+ "c": "nature",
+ "e": "🌙",
+ "d": "crescent moon",
+ "u": "6.0"
+ },
+ {
+ "n": "new_moon_with_face",
+ "c": "nature",
+ "e": "🌚",
+ "d": "new moon with face",
+ "u": "6.0"
+ },
+ {
+ "n": "first_quarter_moon_with_face",
+ "c": "nature",
+ "e": "🌛",
+ "d": "first quarter moon with face",
+ "u": "6.0"
+ },
+ {
+ "n": "last_quarter_moon_with_face",
+ "c": "nature",
+ "e": "🌜",
+ "d": "last quarter moon with face",
+ "u": "6.0"
+ },
+ {
+ "n": "thermometer",
+ "c": "objects",
+ "e": "🌡",
+ "d": "thermometer",
+ "u": "7.0"
+ },
+ {
+ "n": "sunny",
+ "c": "nature",
+ "e": "☀",
+ "d": "black sun with rays",
+ "u": "1.1"
+ },
+ {
+ "n": "full_moon_with_face",
+ "c": "nature",
+ "e": "🌝",
+ "d": "full moon with face",
+ "u": "6.0"
+ },
+ {
+ "n": "sun_with_face",
+ "c": "nature",
+ "e": "🌞",
+ "d": "sun with face",
+ "u": "6.0"
+ },
+ {
+ "n": "star",
+ "c": "nature",
+ "e": "⭐",
+ "d": "white medium star",
+ "u": "5.1"
+ },
+ {
+ "n": "star2",
+ "c": "nature",
+ "e": "🌟",
+ "d": "glowing star",
+ "u": "6.0"
+ },
+ {
+ "n": "stars",
+ "c": "travel",
+ "e": "🌠",
+ "d": "shooting star",
+ "u": "6.0"
+ },
+ {
+ "n": "milky_way",
+ "c": "travel",
+ "e": "🌌",
+ "d": "milky way",
+ "u": "6.0"
+ },
+ {
+ "n": "cloud",
+ "c": "nature",
+ "e": "☁",
+ "d": "cloud",
+ "u": "1.1"
+ },
+ {
+ "n": "partly_sunny",
+ "c": "nature",
+ "e": "⛅",
+ "d": "sun behind cloud",
+ "u": "5.2"
+ },
+ {
+ "n": "thunder_cloud_rain",
+ "c": "nature",
+ "e": "⛈",
+ "d": "thunder cloud and rain",
+ "u": "5.2"
+ },
+ {
+ "n": "white_sun_small_cloud",
+ "c": "nature",
+ "e": "🌤",
+ "d": "white sun with small cloud",
+ "u": "7.0"
+ },
+ {
+ "n": "white_sun_cloud",
+ "c": "nature",
+ "e": "🌥",
+ "d": "white sun behind cloud",
+ "u": "7.0"
+ },
+ {
+ "n": "white_sun_rain_cloud",
+ "c": "nature",
+ "e": "🌦",
+ "d": "white sun behind cloud with rain",
+ "u": "7.0"
+ },
+ {
+ "n": "cloud_rain",
+ "c": "nature",
+ "e": "🌧",
+ "d": "cloud with rain",
+ "u": "7.0"
+ },
+ {
+ "n": "cloud_snow",
+ "c": "nature",
+ "e": "🌨",
+ "d": "cloud with snow",
+ "u": "7.0"
+ },
+ {
+ "n": "cloud_lightning",
+ "c": "nature",
+ "e": "🌩",
+ "d": "cloud with lightning",
+ "u": "7.0"
+ },
+ {
+ "n": "cloud_tornado",
+ "c": "nature",
+ "e": "🌪",
+ "d": "cloud with tornado",
+ "u": "7.0"
+ },
+ {
+ "n": "fog",
+ "c": "nature",
+ "e": "🌫",
+ "d": "fog",
+ "u": "7.0"
+ },
+ {
+ "n": "wind_blowing_face",
+ "c": "nature",
+ "e": "🌬",
+ "d": "wind blowing face",
+ "u": "7.0"
+ },
+ {
+ "n": "cyclone",
+ "c": "symbols",
+ "e": "🌀",
+ "d": "cyclone",
+ "u": "6.0"
+ },
+ {
+ "n": "rainbow",
+ "c": "travel",
+ "e": "🌈",
+ "d": "rainbow",
+ "u": "6.0"
+ },
+ {
+ "n": "closed_umbrella",
+ "c": "people",
+ "e": "🌂",
+ "d": "closed umbrella",
+ "u": "6.0"
+ },
+ {
+ "n": "umbrella2",
+ "c": "nature",
+ "e": "☂",
+ "d": "umbrella",
+ "u": "1.1"
+ },
+ {
+ "n": "umbrella",
+ "c": "nature",
+ "e": "☔",
+ "d": "umbrella with rain drops",
+ "u": "4.0"
+ },
+ {
+ "n": "beach_umbrella",
+ "c": "objects",
+ "e": "⛱",
+ "d": "umbrella on ground",
+ "u": "5.2"
+ },
+ {
+ "n": "zap",
+ "c": "nature",
+ "e": "⚡",
+ "d": "high voltage sign",
+ "u": "4.0"
+ },
+ {
+ "n": "snowflake",
+ "c": "nature",
+ "e": "❄",
+ "d": "snowflake",
+ "u": "1.1"
+ },
+ {
+ "n": "snowman2",
+ "c": "nature",
+ "e": "☃",
+ "d": "snowman",
+ "u": "1.1"
+ },
+ {
+ "n": "snowman",
+ "c": "nature",
+ "e": "⛄",
+ "d": "snowman without snow",
+ "u": "5.2"
+ },
+ {
+ "n": "comet",
+ "c": "nature",
+ "e": "☄",
+ "d": "comet",
+ "u": "1.1"
+ },
+ {
+ "n": "fire",
+ "c": "nature",
+ "e": "🔥",
+ "d": "fire",
+ "u": "6.0"
+ },
+ {
+ "n": "droplet",
+ "c": "nature",
+ "e": "💧",
+ "d": "droplet",
+ "u": "6.0"
+ },
+ {
+ "n": "ocean",
+ "c": "nature",
+ "e": "🌊",
+ "d": "water wave",
+ "u": "6.0"
+ },
+ {
+ "n": "jack_o_lantern",
+ "c": "nature",
+ "e": "🎃",
+ "d": "jack-o-lantern",
+ "u": "6.0"
+ },
+ {
+ "n": "christmas_tree",
+ "c": "nature",
+ "e": "🎄",
+ "d": "christmas tree",
+ "u": "6.0"
+ },
+ {
+ "n": "fireworks",
+ "c": "travel",
+ "e": "🎆",
+ "d": "fireworks",
+ "u": "6.0"
+ },
+ {
+ "n": "sparkler",
+ "c": "travel",
+ "e": "🎇",
+ "d": "firework sparkler",
+ "u": "6.0"
+ },
+ {
+ "n": "sparkles",
+ "c": "nature",
+ "e": "✨",
+ "d": "sparkles",
+ "u": "6.0"
+ },
+ {
+ "n": "balloon",
+ "c": "objects",
+ "e": "🎈",
+ "d": "balloon",
+ "u": "6.0"
+ },
+ {
+ "n": "tada",
+ "c": "objects",
+ "e": "🎉",
+ "d": "party popper",
+ "u": "6.0"
+ },
+ {
+ "n": "confetti_ball",
+ "c": "objects",
+ "e": "🎊",
+ "d": "confetti ball",
+ "u": "6.0"
+ },
+ {
+ "n": "tanabata_tree",
+ "c": "nature",
+ "e": "🎋",
+ "d": "tanabata tree",
+ "u": "6.0"
+ },
+ {
+ "n": "bamboo",
+ "c": "nature",
+ "e": "🎍",
+ "d": "pine decoration",
+ "u": "6.0"
+ },
+ {
+ "n": "dolls",
+ "c": "objects",
+ "e": "🎎",
+ "d": "japanese dolls",
+ "u": "6.0"
+ },
+ {
+ "n": "flags",
+ "c": "objects",
+ "e": "🎏",
+ "d": "carp streamer",
+ "u": "6.0"
+ },
+ {
+ "n": "wind_chime",
+ "c": "objects",
+ "e": "🎐",
+ "d": "wind chime",
+ "u": "6.0"
+ },
+ {
+ "n": "rice_scene",
+ "c": "travel",
+ "e": "🎑",
+ "d": "moon viewing ceremony",
+ "u": "6.0"
+ },
+ {
+ "n": "ribbon",
+ "c": "objects",
+ "e": "🎀",
+ "d": "ribbon",
+ "u": "6.0"
+ },
+ {
+ "n": "gift",
+ "c": "objects",
+ "e": "🎁",
+ "d": "wrapped present",
+ "u": "6.0"
+ },
+ {
+ "n": "reminder_ribbon",
+ "c": "activity",
+ "e": "🎗",
+ "d": "reminder ribbon",
+ "u": "7.0"
+ },
+ {
+ "n": "tickets",
+ "c": "activity",
+ "e": "🎟",
+ "d": "admission tickets",
+ "u": "7.0"
+ },
+ {
+ "n": "ticket",
+ "c": "activity",
+ "e": "🎫",
+ "d": "ticket",
+ "u": "6.0"
+ },
+ {
+ "n": "military_medal",
+ "c": "activity",
+ "e": "🎖",
+ "d": "military medal",
+ "u": "7.0"
+ },
+ {
+ "n": "trophy",
+ "c": "activity",
+ "e": "🏆",
+ "d": "trophy",
+ "u": "6.0"
+ },
+ {
+ "n": "medal",
+ "c": "activity",
+ "e": "🏅",
+ "d": "sports medal",
+ "u": "7.0"
+ },
+ {
+ "n": "first_place",
+ "c": "activity",
+ "e": "🥇",
+ "d": "first place medal",
+ "u": "9.0"
+ },
+ {
+ "n": "second_place",
+ "c": "activity",
+ "e": "🥈",
+ "d": "second place medal",
+ "u": "9.0"
+ },
+ {
+ "n": "third_place",
+ "c": "activity",
+ "e": "🥉",
+ "d": "third place medal",
+ "u": "9.0"
+ },
+ {
+ "n": "soccer",
+ "c": "activity",
+ "e": "⚽",
+ "d": "soccer ball",
+ "u": "5.2"
+ },
+ {
+ "n": "baseball",
+ "c": "activity",
+ "e": "⚾",
+ "d": "baseball",
+ "u": "5.2"
+ },
+ {
+ "n": "basketball",
+ "c": "activity",
+ "e": "🏀",
+ "d": "basketball and hoop",
+ "u": "6.0"
+ },
+ {
+ "n": "volleyball",
+ "c": "activity",
+ "e": "🏐",
+ "d": "volleyball",
+ "u": "8.0"
+ },
+ {
+ "n": "football",
+ "c": "activity",
+ "e": "🏈",
+ "d": "american football",
+ "u": "6.0"
+ },
+ {
+ "n": "rugby_football",
+ "c": "activity",
+ "e": "🏉",
+ "d": "rugby football",
+ "u": "6.0"
+ },
+ {
+ "n": "tennis",
+ "c": "activity",
+ "e": "🎾",
+ "d": "tennis racquet and ball",
+ "u": "6.0"
+ },
+ {
+ "n": "bowling",
+ "c": "activity",
+ "e": "🎳",
+ "d": "bowling",
+ "u": "6.0"
+ },
+ {
+ "n": "cricket",
+ "c": "activity",
+ "e": "🏏",
+ "d": "cricket bat and ball",
+ "u": "10.0"
+ },
+ {
+ "n": "field_hockey",
+ "c": "activity",
+ "e": "🏑",
+ "d": "field hockey stick and ball",
+ "u": "8.0"
+ },
+ {
+ "n": "hockey",
+ "c": "activity",
+ "e": "🏒",
+ "d": "ice hockey stick and puck",
+ "u": "8.0"
+ },
+ {
+ "n": "ping_pong",
+ "c": "activity",
+ "e": "🏓",
+ "d": "table tennis paddle and ball",
+ "u": "8.0"
+ },
+ {
+ "n": "badminton",
+ "c": "activity",
+ "e": "🏸",
+ "d": "badminton racquet",
+ "u": "8.0"
+ },
+ {
+ "n": "boxing_glove",
+ "c": "activity",
+ "e": "🥊",
+ "d": "boxing glove",
+ "u": "9.0"
+ },
+ {
+ "n": "martial_arts_uniform",
+ "c": "activity",
+ "e": "🥋",
+ "d": "martial arts uniform",
+ "u": "9.0"
+ },
+ {
+ "n": "goal",
+ "c": "activity",
+ "e": "🥅",
+ "d": "goal net",
+ "u": "9.0"
+ },
+ {
+ "n": "golf",
+ "c": "activity",
+ "e": "⛳",
+ "d": "flag in hole",
+ "u": "5.2"
+ },
+ {
+ "n": "ice_skate",
+ "c": "activity",
+ "e": "⛸",
+ "d": "ice skate",
+ "u": "5.2"
+ },
+ {
+ "n": "fishing_pole_and_fish",
+ "c": "activity",
+ "e": "🎣",
+ "d": "fishing pole and fish",
+ "u": "6.0"
+ },
+ {
+ "n": "running_shirt_with_sash",
+ "c": "activity",
+ "e": "🎽",
+ "d": "running shirt with sash",
+ "u": "6.0"
+ },
+ {
+ "n": "ski",
+ "c": "activity",
+ "e": "🎿",
+ "d": "ski and ski boot",
+ "u": "6.0"
+ },
+ {
+ "n": "dart",
+ "c": "activity",
+ "e": "🎯",
+ "d": "direct hit",
+ "u": "6.0"
+ },
+ {
+ "n": "gun",
+ "c": "objects",
+ "e": "🔫",
+ "d": "pistol",
+ "u": "6.0"
+ },
+ {
+ "n": "8ball",
+ "c": "activity",
+ "e": "🎱",
+ "d": "billiards",
+ "u": "6.0"
+ },
+ {
+ "n": "crystal_ball",
+ "c": "objects",
+ "e": "🔮",
+ "d": "crystal ball",
+ "u": "6.0"
+ },
+ {
+ "n": "video_game",
+ "c": "activity",
+ "e": "🎮",
+ "d": "video game",
+ "u": "6.0"
+ },
+ {
+ "n": "joystick",
+ "c": "objects",
+ "e": "🕹",
+ "d": "joystick",
+ "u": "7.0"
+ },
+ {
+ "n": "slot_machine",
+ "c": "activity",
+ "e": "🎰",
+ "d": "slot machine",
+ "u": "6.0"
+ },
+ {
+ "n": "game_die",
+ "c": "activity",
+ "e": "🎲",
+ "d": "game die",
+ "u": "6.0"
+ },
+ {
+ "n": "spades",
+ "c": "symbols",
+ "e": "♠",
+ "d": "black spade suit",
+ "u": "1.1"
+ },
+ {
+ "n": "hearts",
+ "c": "symbols",
+ "e": "♥",
+ "d": "black heart suit",
+ "u": "1.1"
+ },
+ {
+ "n": "diamonds",
+ "c": "symbols",
+ "e": "♦",
+ "d": "black diamond suit",
+ "u": "1.1"
+ },
+ {
+ "n": "clubs",
+ "c": "symbols",
+ "e": "♣",
+ "d": "black club suit",
+ "u": "1.1"
+ },
+ {
+ "n": "black_joker",
+ "c": "symbols",
+ "e": "🃏",
+ "d": "playing card black joker",
+ "u": "6.0"
+ },
+ {
+ "n": "mahjong",
+ "c": "symbols",
+ "e": "🀄",
+ "d": "mahjong tile red dragon",
+ "u": "5.1"
+ },
+ {
+ "n": "flower_playing_cards",
+ "c": "symbols",
+ "e": "🎴",
+ "d": "flower playing cards",
+ "u": "6.0"
+ },
+ {
+ "n": "performing_arts",
+ "c": "activity",
+ "e": "🎭",
+ "d": "performing arts",
+ "u": "6.0"
+ },
+ {
+ "n": "frame_photo",
+ "c": "objects",
+ "e": "🖼",
+ "d": "frame with picture",
+ "u": "7.0"
+ },
+ {
+ "n": "art",
+ "c": "activity",
+ "e": "🎨",
+ "d": "artist palette",
+ "u": "6.0"
+ },
+ {
+ "n": "eyeglasses",
+ "c": "people",
+ "e": "👓",
+ "d": "eyeglasses",
+ "u": "6.0"
+ },
+ {
+ "n": "dark_sunglasses",
+ "c": "people",
+ "e": "🕶",
+ "d": "dark sunglasses",
+ "u": "7.0"
+ },
+ {
+ "n": "necktie",
+ "c": "people",
+ "e": "👔",
+ "d": "necktie",
+ "u": "6.0"
+ },
+ {
+ "n": "shirt",
+ "c": "people",
+ "e": "👕",
+ "d": "t-shirt",
+ "u": "6.0"
+ },
+ {
+ "n": "jeans",
+ "c": "people",
+ "e": "👖",
+ "d": "jeans",
+ "u": "6.0"
+ },
+ {
+ "n": "dress",
+ "c": "people",
+ "e": "👗",
+ "d": "dress",
+ "u": "6.0"
+ },
+ {
+ "n": "kimono",
+ "c": "people",
+ "e": "👘",
+ "d": "kimono",
+ "u": "6.0"
+ },
+ {
+ "n": "bikini",
+ "c": "people",
+ "e": "👙",
+ "d": "bikini",
+ "u": "6.0"
+ },
+ {
+ "n": "womans_clothes",
+ "c": "people",
+ "e": "👚",
+ "d": "womans clothes",
+ "u": "6.0"
+ },
+ {
+ "n": "purse",
+ "c": "people",
+ "e": "👛",
+ "d": "purse",
+ "u": "6.0"
+ },
+ {
+ "n": "handbag",
+ "c": "people",
+ "e": "👜",
+ "d": "handbag",
+ "u": "6.0"
+ },
+ {
+ "n": "pouch",
+ "c": "people",
+ "e": "👝",
+ "d": "pouch",
+ "u": "6.0"
+ },
+ {
+ "n": "shopping_bags",
+ "c": "objects",
+ "e": "🛍",
+ "d": "shopping bags",
+ "u": "7.0"
+ },
+ {
+ "n": "school_satchel",
+ "c": "people",
+ "e": "🎒",
+ "d": "school satchel",
+ "u": "6.0"
+ },
+ {
+ "n": "mans_shoe",
+ "c": "people",
+ "e": "👞",
+ "d": "mans shoe",
+ "u": "6.0"
+ },
+ {
+ "n": "athletic_shoe",
+ "c": "people",
+ "e": "👟",
+ "d": "athletic shoe",
+ "u": "6.0"
+ },
+ {
+ "n": "high_heel",
+ "c": "people",
+ "e": "👠",
+ "d": "high-heeled shoe",
+ "u": "6.0"
+ },
+ {
+ "n": "sandal",
+ "c": "people",
+ "e": "👡",
+ "d": "womans sandal",
+ "u": "6.0"
+ },
+ {
+ "n": "boot",
+ "c": "people",
+ "e": "👢",
+ "d": "womans boots",
+ "u": "6.0"
+ },
+ {
+ "n": "crown",
+ "c": "people",
+ "e": "👑",
+ "d": "crown",
+ "u": "6.0"
+ },
+ {
+ "n": "womans_hat",
+ "c": "people",
+ "e": "👒",
+ "d": "womans hat",
+ "u": "6.0"
+ },
+ {
+ "n": "tophat",
+ "c": "people",
+ "e": "🎩",
+ "d": "top hat",
+ "u": "6.0"
+ },
+ {
+ "n": "mortar_board",
+ "c": "people",
+ "e": "🎓",
+ "d": "graduation cap",
+ "u": "6.0"
+ },
+ {
+ "n": "helmet_with_cross",
+ "c": "people",
+ "e": "⛑",
+ "d": "helmet with white cross",
+ "u": "5.2"
+ },
+ {
+ "n": "prayer_beads",
+ "c": "objects",
+ "e": "📿",
+ "d": "prayer beads",
+ "u": "8.0"
+ },
+ {
+ "n": "lipstick",
+ "c": "people",
+ "e": "💄",
+ "d": "lipstick",
+ "u": "6.0"
+ },
+ {
+ "n": "ring",
+ "c": "people",
+ "e": "💍",
+ "d": "ring",
+ "u": "6.0"
+ },
+ {
+ "n": "gem",
+ "c": "objects",
+ "e": "💎",
+ "d": "gem stone",
+ "u": "6.0"
+ },
+ {
+ "n": "mute",
+ "c": "symbols",
+ "e": "🔇",
+ "d": "speaker with cancellation stroke",
+ "u": "6.0"
+ },
+ {
+ "n": "speaker",
+ "c": "symbols",
+ "e": "🔈",
+ "d": "speaker",
+ "u": "6.0"
+ },
+ {
+ "n": "sound",
+ "c": "symbols",
+ "e": "🔉",
+ "d": "speaker with one sound wave",
+ "u": "6.0"
+ },
+ {
+ "n": "loud_sound",
+ "c": "symbols",
+ "e": "🔊",
+ "d": "speaker with three sound waves",
+ "u": "6.0"
+ },
+ {
+ "n": "loudspeaker",
+ "c": "symbols",
+ "e": "📢",
+ "d": "public address loudspeaker",
+ "u": "6.0"
+ },
+ {
+ "n": "mega",
+ "c": "symbols",
+ "e": "📣",
+ "d": "cheering megaphone",
+ "u": "6.0"
+ },
+ {
+ "n": "postal_horn",
+ "c": "objects",
+ "e": "📯",
+ "d": "postal horn",
+ "u": "6.0"
+ },
+ {
+ "n": "bell",
+ "c": "symbols",
+ "e": "🔔",
+ "d": "bell",
+ "u": "6.0"
+ },
+ {
+ "n": "no_bell",
+ "c": "symbols",
+ "e": "🔕",
+ "d": "bell with cancellation stroke",
+ "u": "6.0"
+ },
+ {
+ "n": "musical_score",
+ "c": "activity",
+ "e": "🎼",
+ "d": "musical score",
+ "u": "6.0"
+ },
+ {
+ "n": "musical_note",
+ "c": "symbols",
+ "e": "🎵",
+ "d": "musical note",
+ "u": "6.0"
+ },
+ {
+ "n": "notes",
+ "c": "symbols",
+ "e": "🎶",
+ "d": "multiple musical notes",
+ "u": "6.0"
+ },
+ {
+ "n": "microphone2",
+ "c": "objects",
+ "e": "🎙",
+ "d": "studio microphone",
+ "u": "7.0"
+ },
+ {
+ "n": "level_slider",
+ "c": "objects",
+ "e": "🎚",
+ "d": "level slider",
+ "u": "7.0"
+ },
+ {
+ "n": "control_knobs",
+ "c": "objects",
+ "e": "🎛",
+ "d": "control knobs",
+ "u": "7.0"
+ },
+ {
+ "n": "microphone",
+ "c": "activity",
+ "e": "🎤",
+ "d": "microphone",
+ "u": "6.0"
+ },
+ {
+ "n": "headphones",
+ "c": "activity",
+ "e": "🎧",
+ "d": "headphone",
+ "u": "6.0"
+ },
+ {
+ "n": "radio",
+ "c": "objects",
+ "e": "📻",
+ "d": "radio",
+ "u": "6.0"
+ },
+ {
+ "n": "saxophone",
+ "c": "activity",
+ "e": "🎷",
+ "d": "saxophone",
+ "u": "6.0"
+ },
+ {
+ "n": "guitar",
+ "c": "activity",
+ "e": "🎸",
+ "d": "guitar",
+ "u": "6.0"
+ },
+ {
+ "n": "musical_keyboard",
+ "c": "activity",
+ "e": "🎹",
+ "d": "musical keyboard",
+ "u": "6.0"
+ },
+ {
+ "n": "trumpet",
+ "c": "activity",
+ "e": "🎺",
+ "d": "trumpet",
+ "u": "6.0"
+ },
+ {
+ "n": "violin",
+ "c": "activity",
+ "e": "🎻",
+ "d": "violin",
+ "u": "6.0"
+ },
+ {
+ "n": "drum",
+ "c": "activity",
+ "e": "🥁",
+ "d": "drum with drumsticks",
+ "u": "9.0"
+ },
+ {
+ "n": "iphone",
+ "c": "objects",
+ "e": "📱",
+ "d": "mobile phone",
+ "u": "6.0"
+ },
+ {
+ "n": "calling",
+ "c": "objects",
+ "e": "📲",
+ "d": "mobile phone with rightwards arrow at left",
+ "u": "6.0"
+ },
+ {
+ "n": "telephone",
+ "c": "objects",
+ "e": "☎",
+ "d": "black telephone",
+ "u": "1.1"
+ },
+ {
+ "n": "telephone_receiver",
+ "c": "objects",
+ "e": "📞",
+ "d": "telephone receiver",
+ "u": "6.0"
+ },
+ {
+ "n": "pager",
+ "c": "objects",
+ "e": "📟",
+ "d": "pager",
+ "u": "6.0"
+ },
+ {
+ "n": "fax",
+ "c": "objects",
+ "e": "📠",
+ "d": "fax machine",
+ "u": "6.0"
+ },
+ {
+ "n": "battery",
+ "c": "objects",
+ "e": "🔋",
+ "d": "battery",
+ "u": "6.0"
+ },
+ {
+ "n": "electric_plug",
+ "c": "objects",
+ "e": "🔌",
+ "d": "electric plug",
+ "u": "6.0"
+ },
+ {
+ "n": "computer",
+ "c": "objects",
+ "e": "💻",
+ "d": "personal computer",
+ "u": "6.0"
+ },
+ {
+ "n": "desktop",
+ "c": "objects",
+ "e": "🖥",
+ "d": "desktop computer",
+ "u": "7.0"
+ },
+ {
+ "n": "printer",
+ "c": "objects",
+ "e": "🖨",
+ "d": "printer",
+ "u": "7.0"
+ },
+ {
+ "n": "keyboard",
+ "c": "objects",
+ "e": "⌨",
+ "d": "keyboard",
+ "u": "1.1"
+ },
+ {
+ "n": "mouse_three_button",
+ "c": "objects",
+ "e": "🖱",
+ "d": "three button mouse",
+ "u": "7.0"
+ },
+ {
+ "n": "trackball",
+ "c": "objects",
+ "e": "🖲",
+ "d": "trackball",
+ "u": "7.0"
+ },
+ {
+ "n": "minidisc",
+ "c": "objects",
+ "e": "💽",
+ "d": "minidisc",
+ "u": "6.0"
+ },
+ {
+ "n": "floppy_disk",
+ "c": "objects",
+ "e": "💾",
+ "d": "floppy disk",
+ "u": "6.0"
+ },
+ {
+ "n": "cd",
+ "c": "objects",
+ "e": "💿",
+ "d": "optical disc",
+ "u": "6.0"
+ },
+ {
+ "n": "dvd",
+ "c": "objects",
+ "e": "📀",
+ "d": "dvd",
+ "u": "6.0"
+ },
+ {
+ "n": "movie_camera",
+ "c": "objects",
+ "e": "🎥",
+ "d": "movie camera",
+ "u": "6.0"
+ },
+ {
+ "n": "film_frames",
+ "c": "objects",
+ "e": "🎞",
+ "d": "film frames",
+ "u": "7.0"
+ },
+ {
+ "n": "projector",
+ "c": "objects",
+ "e": "📽",
+ "d": "film projector",
+ "u": "7.0"
+ },
+ {
+ "n": "clapper",
+ "c": "activity",
+ "e": "🎬",
+ "d": "clapper board",
+ "u": "6.0"
+ },
+ {
+ "n": "tv",
+ "c": "objects",
+ "e": "📺",
+ "d": "television",
+ "u": "6.0"
+ },
+ {
+ "n": "camera",
+ "c": "objects",
+ "e": "📷",
+ "d": "camera",
+ "u": "6.0"
+ },
+ {
+ "n": "camera_with_flash",
+ "c": "objects",
+ "e": "📸",
+ "d": "camera with flash",
+ "u": "7.0"
+ },
+ {
+ "n": "video_camera",
+ "c": "objects",
+ "e": "📹",
+ "d": "video camera",
+ "u": "6.0"
+ },
+ {
+ "n": "vhs",
+ "c": "objects",
+ "e": "📼",
+ "d": "videocassette",
+ "u": "6.0"
+ },
+ {
+ "n": "mag",
+ "c": "objects",
+ "e": "🔍",
+ "d": "left-pointing magnifying glass",
+ "u": "6.0"
+ },
+ {
+ "n": "mag_right",
+ "c": "objects",
+ "e": "🔎",
+ "d": "right-pointing magnifying glass",
+ "u": "6.0"
+ },
+ {
+ "n": "candle",
+ "c": "objects",
+ "e": "🕯",
+ "d": "candle",
+ "u": "7.0"
+ },
+ {
+ "n": "bulb",
+ "c": "objects",
+ "e": "💡",
+ "d": "electric light bulb",
+ "u": "6.0"
+ },
+ {
+ "n": "flashlight",
+ "c": "objects",
+ "e": "🔦",
+ "d": "electric torch",
+ "u": "6.0"
+ },
+ {
+ "n": "izakaya_lantern",
+ "c": "objects",
+ "e": "🏮",
+ "d": "izakaya lantern",
+ "u": "6.0"
+ },
+ {
+ "n": "notebook_with_decorative_cover",
+ "c": "objects",
+ "e": "📔",
+ "d": "notebook with decorative cover",
+ "u": "6.0"
+ },
+ {
+ "n": "closed_book",
+ "c": "objects",
+ "e": "📕",
+ "d": "closed book",
+ "u": "6.0"
+ },
+ {
+ "n": "book",
+ "c": "objects",
+ "e": "📖",
+ "d": "open book",
+ "u": "6.0"
+ },
+ {
+ "n": "green_book",
+ "c": "objects",
+ "e": "📗",
+ "d": "green book",
+ "u": "6.0"
+ },
+ {
+ "n": "blue_book",
+ "c": "objects",
+ "e": "📘",
+ "d": "blue book",
+ "u": "6.0"
+ },
+ {
+ "n": "orange_book",
+ "c": "objects",
+ "e": "📙",
+ "d": "orange book",
+ "u": "6.0"
+ },
+ {
+ "n": "books",
+ "c": "objects",
+ "e": "📚",
+ "d": "books",
+ "u": "6.0"
+ },
+ {
+ "n": "notebook",
+ "c": "objects",
+ "e": "📓",
+ "d": "notebook",
+ "u": "6.0"
+ },
+ {
+ "n": "ledger",
+ "c": "objects",
+ "e": "📒",
+ "d": "ledger",
+ "u": "6.0"
+ },
+ {
+ "n": "page_with_curl",
+ "c": "objects",
+ "e": "📃",
+ "d": "page with curl",
+ "u": "6.0"
+ },
+ {
+ "n": "scroll",
+ "c": "objects",
+ "e": "📜",
+ "d": "scroll",
+ "u": "6.0"
+ },
+ {
+ "n": "page_facing_up",
+ "c": "objects",
+ "e": "📄",
+ "d": "page facing up",
+ "u": "6.0"
+ },
+ {
+ "n": "newspaper",
+ "c": "objects",
+ "e": "📰",
+ "d": "newspaper",
+ "u": "6.0"
+ },
+ {
+ "n": "newspaper2",
+ "c": "objects",
+ "e": "🗞",
+ "d": "rolled-up newspaper",
+ "u": "7.0"
+ },
+ {
+ "n": "bookmark_tabs",
+ "c": "objects",
+ "e": "📑",
+ "d": "bookmark tabs",
+ "u": "6.0"
+ },
+ {
+ "n": "bookmark",
+ "c": "objects",
+ "e": "🔖",
+ "d": "bookmark",
+ "u": "6.0"
+ },
+ {
+ "n": "label",
+ "c": "objects",
+ "e": "🏷",
+ "d": "label",
+ "u": "7.0"
+ },
+ {
+ "n": "moneybag",
+ "c": "objects",
+ "e": "💰",
+ "d": "money bag",
+ "u": "6.0"
+ },
+ {
+ "n": "yen",
+ "c": "objects",
+ "e": "💴",
+ "d": "banknote with yen sign",
+ "u": "6.0"
+ },
+ {
+ "n": "dollar",
+ "c": "objects",
+ "e": "💵",
+ "d": "banknote with dollar sign",
+ "u": "6.0"
+ },
+ {
+ "n": "euro",
+ "c": "objects",
+ "e": "💶",
+ "d": "banknote with euro sign",
+ "u": "6.0"
+ },
+ {
+ "n": "pound",
+ "c": "objects",
+ "e": "💷",
+ "d": "banknote with pound sign",
+ "u": "6.0"
+ },
+ {
+ "n": "money_with_wings",
+ "c": "objects",
+ "e": "💸",
+ "d": "money with wings",
+ "u": "6.0"
+ },
+ {
+ "n": "credit_card",
+ "c": "objects",
+ "e": "💳",
+ "d": "credit card",
+ "u": "6.0"
+ },
+ {
+ "n": "chart",
+ "c": "symbols",
+ "e": "💹",
+ "d": "chart with upwards trend and yen sign",
+ "u": "6.0"
+ },
+ {
+ "n": "envelope",
+ "c": "objects",
+ "e": "✉",
+ "d": "envelope",
+ "u": "1.1"
+ },
+ {
+ "n": "e-mail",
+ "c": "objects",
+ "e": "📧",
+ "d": "e-mail symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "incoming_envelope",
+ "c": "objects",
+ "e": "📨",
+ "d": "incoming envelope",
+ "u": "6.0"
+ },
+ {
+ "n": "envelope_with_arrow",
+ "c": "objects",
+ "e": "📩",
+ "d": "envelope with downwards arrow above",
+ "u": "6.0"
+ },
+ {
+ "n": "outbox_tray",
+ "c": "objects",
+ "e": "📤",
+ "d": "outbox tray",
+ "u": "6.0"
+ },
+ {
+ "n": "inbox_tray",
+ "c": "objects",
+ "e": "📥",
+ "d": "inbox tray",
+ "u": "6.0"
+ },
+ {
+ "n": "package",
+ "c": "objects",
+ "e": "📦",
+ "d": "package",
+ "u": "6.0"
+ },
+ {
+ "n": "mailbox",
+ "c": "objects",
+ "e": "📫",
+ "d": "closed mailbox with raised flag",
+ "u": "6.0"
+ },
+ {
+ "n": "mailbox_closed",
+ "c": "objects",
+ "e": "📪",
+ "d": "closed mailbox with lowered flag",
+ "u": "6.0"
+ },
+ {
+ "n": "mailbox_with_mail",
+ "c": "objects",
+ "e": "📬",
+ "d": "open mailbox with raised flag",
+ "u": "6.0"
+ },
+ {
+ "n": "mailbox_with_no_mail",
+ "c": "objects",
+ "e": "📭",
+ "d": "open mailbox with lowered flag",
+ "u": "6.0"
+ },
+ {
+ "n": "postbox",
+ "c": "objects",
+ "e": "📮",
+ "d": "postbox",
+ "u": "6.0"
+ },
+ {
+ "n": "ballot_box",
+ "c": "objects",
+ "e": "🗳",
+ "d": "ballot box with ballot",
+ "u": "7.0"
+ },
+ {
+ "n": "pencil2",
+ "c": "objects",
+ "e": "✏",
+ "d": "pencil",
+ "u": "1.1"
+ },
+ {
+ "n": "black_nib",
+ "c": "objects",
+ "e": "✒",
+ "d": "black nib",
+ "u": "1.1"
+ },
+ {
+ "n": "pen_fountain",
+ "c": "objects",
+ "e": "🖋",
+ "d": "lower left fountain pen",
+ "u": "7.0"
+ },
+ {
+ "n": "pen_ballpoint",
+ "c": "objects",
+ "e": "🖊",
+ "d": "lower left ballpoint pen",
+ "u": "7.0"
+ },
+ {
+ "n": "paintbrush",
+ "c": "objects",
+ "e": "🖌",
+ "d": "lower left paintbrush",
+ "u": "7.0"
+ },
+ {
+ "n": "crayon",
+ "c": "objects",
+ "e": "🖍",
+ "d": "lower left crayon",
+ "u": "7.0"
+ },
+ {
+ "n": "pencil",
+ "c": "objects",
+ "e": "📝",
+ "d": "memo",
+ "u": "6.0"
+ },
+ {
+ "n": "briefcase",
+ "c": "people",
+ "e": "💼",
+ "d": "briefcase",
+ "u": "6.0"
+ },
+ {
+ "n": "file_folder",
+ "c": "objects",
+ "e": "📁",
+ "d": "file folder",
+ "u": "6.0"
+ },
+ {
+ "n": "open_file_folder",
+ "c": "objects",
+ "e": "📂",
+ "d": "open file folder",
+ "u": "6.0"
+ },
+ {
+ "n": "dividers",
+ "c": "objects",
+ "e": "🗂",
+ "d": "card index dividers",
+ "u": "7.0"
+ },
+ {
+ "n": "date",
+ "c": "objects",
+ "e": "📅",
+ "d": "calendar",
+ "u": "6.0"
+ },
+ {
+ "n": "calendar",
+ "c": "objects",
+ "e": "📆",
+ "d": "tear-off calendar",
+ "u": "6.0"
+ },
+ {
+ "n": "notepad_spiral",
+ "c": "objects",
+ "e": "🗒",
+ "d": "spiral note pad",
+ "u": "7.0"
+ },
+ {
+ "n": "calendar_spiral",
+ "c": "objects",
+ "e": "🗓",
+ "d": "spiral calendar pad",
+ "u": "7.0"
+ },
+ {
+ "n": "card_index",
+ "c": "objects",
+ "e": "📇",
+ "d": "card index",
+ "u": "6.0"
+ },
+ {
+ "n": "chart_with_upwards_trend",
+ "c": "objects",
+ "e": "📈",
+ "d": "chart with upwards trend",
+ "u": "6.0"
+ },
+ {
+ "n": "chart_with_downwards_trend",
+ "c": "objects",
+ "e": "📉",
+ "d": "chart with downwards trend",
+ "u": "6.0"
+ },
+ {
+ "n": "bar_chart",
+ "c": "objects",
+ "e": "📊",
+ "d": "bar chart",
+ "u": "6.0"
+ },
+ {
+ "n": "clipboard",
+ "c": "objects",
+ "e": "📋",
+ "d": "clipboard",
+ "u": "6.0"
+ },
+ {
+ "n": "pushpin",
+ "c": "objects",
+ "e": "📌",
+ "d": "pushpin",
+ "u": "6.0"
+ },
+ {
+ "n": "round_pushpin",
+ "c": "objects",
+ "e": "📍",
+ "d": "round pushpin",
+ "u": "6.0"
+ },
+ {
+ "n": "paperclip",
+ "c": "objects",
+ "e": "📎",
+ "d": "paperclip",
+ "u": "6.0"
+ },
+ {
+ "n": "paperclips",
+ "c": "objects",
+ "e": "🖇",
+ "d": "linked paperclips",
+ "u": "7.0"
+ },
+ {
+ "n": "straight_ruler",
+ "c": "objects",
+ "e": "📏",
+ "d": "straight ruler",
+ "u": "6.0"
+ },
+ {
+ "n": "triangular_ruler",
+ "c": "objects",
+ "e": "📐",
+ "d": "triangular ruler",
+ "u": "6.0"
+ },
+ {
+ "n": "scissors",
+ "c": "objects",
+ "e": "✂",
+ "d": "black scissors",
+ "u": "1.1"
+ },
+ {
+ "n": "card_box",
+ "c": "objects",
+ "e": "🗃",
+ "d": "card file box",
+ "u": "7.0"
+ },
+ {
+ "n": "file_cabinet",
+ "c": "objects",
+ "e": "🗄",
+ "d": "file cabinet",
+ "u": "7.0"
+ },
+ {
+ "n": "wastebasket",
+ "c": "objects",
+ "e": "🗑",
+ "d": "wastebasket",
+ "u": "7.0"
+ },
+ {
+ "n": "lock",
+ "c": "objects",
+ "e": "🔒",
+ "d": "lock",
+ "u": "6.0"
+ },
+ {
+ "n": "unlock",
+ "c": "objects",
+ "e": "🔓",
+ "d": "open lock",
+ "u": "6.0"
+ },
+ {
+ "n": "lock_with_ink_pen",
+ "c": "objects",
+ "e": "🔏",
+ "d": "lock with ink pen",
+ "u": "6.0"
+ },
+ {
+ "n": "closed_lock_with_key",
+ "c": "objects",
+ "e": "🔐",
+ "d": "closed lock with key",
+ "u": "6.0"
+ },
+ {
+ "n": "key",
+ "c": "objects",
+ "e": "🔑",
+ "d": "key",
+ "u": "6.0"
+ },
+ {
+ "n": "key2",
+ "c": "objects",
+ "e": "🗝",
+ "d": "old key",
+ "u": "7.0"
+ },
+ {
+ "n": "hammer",
+ "c": "objects",
+ "e": "🔨",
+ "d": "hammer",
+ "u": "6.0"
+ },
+ {
+ "n": "pick",
+ "c": "objects",
+ "e": "⛏",
+ "d": "pick",
+ "u": "5.2"
+ },
+ {
+ "n": "hammer_pick",
+ "c": "objects",
+ "e": "⚒",
+ "d": "hammer and pick",
+ "u": "4.1"
+ },
+ {
+ "n": "tools",
+ "c": "objects",
+ "e": "🛠",
+ "d": "hammer and wrench",
+ "u": "7.0"
+ },
+ {
+ "n": "dagger",
+ "c": "objects",
+ "e": "🗡",
+ "d": "dagger knife",
+ "u": "7.0"
+ },
+ {
+ "n": "crossed_swords",
+ "c": "objects",
+ "e": "⚔",
+ "d": "crossed swords",
+ "u": "4.1"
+ },
+ {
+ "n": "bomb",
+ "c": "objects",
+ "e": "💣",
+ "d": "bomb",
+ "u": "6.0"
+ },
+ {
+ "n": "bow_and_arrow",
+ "c": "activity",
+ "e": "🏹",
+ "d": "bow and arrow",
+ "u": "8.0"
+ },
+ {
+ "n": "shield",
+ "c": "objects",
+ "e": "🛡",
+ "d": "shield",
+ "u": "7.0"
+ },
+ {
+ "n": "wrench",
+ "c": "objects",
+ "e": "🔧",
+ "d": "wrench",
+ "u": "6.0"
+ },
+ {
+ "n": "nut_and_bolt",
+ "c": "objects",
+ "e": "🔩",
+ "d": "nut and bolt",
+ "u": "6.0"
+ },
+ {
+ "n": "gear",
+ "c": "objects",
+ "e": "⚙",
+ "d": "gear",
+ "u": "4.1"
+ },
+ {
+ "n": "compression",
+ "c": "objects",
+ "e": "🗜",
+ "d": "compression",
+ "u": "7.0"
+ },
+ {
+ "n": "scales",
+ "c": "objects",
+ "e": "⚖",
+ "d": "scales",
+ "u": "4.1"
+ },
+ {
+ "n": "link",
+ "c": "objects",
+ "e": "🔗",
+ "d": "link symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "chains",
+ "c": "objects",
+ "e": "⛓",
+ "d": "chains",
+ "u": "5.2"
+ },
+ {
+ "n": "alembic",
+ "c": "objects",
+ "e": "⚗",
+ "d": "alembic",
+ "u": "4.1"
+ },
+ {
+ "n": "microscope",
+ "c": "objects",
+ "e": "🔬",
+ "d": "microscope",
+ "u": "6.0"
+ },
+ {
+ "n": "telescope",
+ "c": "objects",
+ "e": "🔭",
+ "d": "telescope",
+ "u": "6.0"
+ },
+ {
+ "n": "satellite",
+ "c": "objects",
+ "e": "📡",
+ "d": "satellite antenna",
+ "u": "6.0"
+ },
+ {
+ "n": "syringe",
+ "c": "objects",
+ "e": "💉",
+ "d": "syringe",
+ "u": "6.0"
+ },
+ {
+ "n": "pill",
+ "c": "objects",
+ "e": "💊",
+ "d": "pill",
+ "u": "6.0"
+ },
+ {
+ "n": "door",
+ "c": "objects",
+ "e": "🚪",
+ "d": "door",
+ "u": "6.0"
+ },
+ {
+ "n": "bed",
+ "c": "objects",
+ "e": "🛏",
+ "d": "bed",
+ "u": "7.0"
+ },
+ {
+ "n": "couch",
+ "c": "objects",
+ "e": "🛋",
+ "d": "couch and lamp",
+ "u": "7.0"
+ },
+ {
+ "n": "toilet",
+ "c": "objects",
+ "e": "🚽",
+ "d": "toilet",
+ "u": "6.0"
+ },
+ {
+ "n": "shower",
+ "c": "objects",
+ "e": "🚿",
+ "d": "shower",
+ "u": "6.0"
+ },
+ {
+ "n": "bathtub",
+ "c": "objects",
+ "e": "🛁",
+ "d": "bathtub",
+ "u": "6.0"
+ },
+ {
+ "n": "shopping_cart",
+ "c": "objects",
+ "e": "🛒",
+ "d": "shopping trolley",
+ "u": "9.0"
+ },
+ {
+ "n": "smoking",
+ "c": "objects",
+ "e": "🚬",
+ "d": "smoking symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "coffin",
+ "c": "objects",
+ "e": "⚰",
+ "d": "coffin",
+ "u": "4.1"
+ },
+ {
+ "n": "urn",
+ "c": "objects",
+ "e": "⚱",
+ "d": "funeral urn",
+ "u": "4.1"
+ },
+ {
+ "n": "moyai",
+ "c": "objects",
+ "e": "🗿",
+ "d": "moyai",
+ "u": "6.0"
+ },
+ {
+ "n": "atm",
+ "c": "symbols",
+ "e": "🏧",
+ "d": "automated teller machine",
+ "u": "6.0"
+ },
+ {
+ "n": "put_litter_in_its_place",
+ "c": "symbols",
+ "e": "🚮",
+ "d": "put litter in its place symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "potable_water",
+ "c": "symbols",
+ "e": "🚰",
+ "d": "potable water symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "wheelchair",
+ "c": "symbols",
+ "e": "♿",
+ "d": "wheelchair symbol",
+ "u": "4.1"
+ },
+ {
+ "n": "mens",
+ "c": "symbols",
+ "e": "🚹",
+ "d": "mens symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "womens",
+ "c": "symbols",
+ "e": "🚺",
+ "d": "womens symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "restroom",
+ "c": "symbols",
+ "e": "🚻",
+ "d": "restroom",
+ "u": "6.0"
+ },
+ {
+ "n": "baby_symbol",
+ "c": "symbols",
+ "e": "🚼",
+ "d": "baby symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "wc",
+ "c": "symbols",
+ "e": "🚾",
+ "d": "water closet",
+ "u": "6.0"
+ },
+ {
+ "n": "passport_control",
+ "c": "symbols",
+ "e": "🛂",
+ "d": "passport control",
+ "u": "6.0"
+ },
+ {
+ "n": "customs",
+ "c": "symbols",
+ "e": "🛃",
+ "d": "customs",
+ "u": "6.0"
+ },
+ {
+ "n": "baggage_claim",
+ "c": "symbols",
+ "e": "🛄",
+ "d": "baggage claim",
+ "u": "6.0"
+ },
+ {
+ "n": "left_luggage",
+ "c": "symbols",
+ "e": "🛅",
+ "d": "left luggage",
+ "u": "6.0"
+ },
+ {
+ "n": "warning",
+ "c": "symbols",
+ "e": "⚠",
+ "d": "warning sign",
+ "u": "4.0"
+ },
+ {
+ "n": "children_crossing",
+ "c": "symbols",
+ "e": "🚸",
+ "d": "children crossing",
+ "u": "6.0"
+ },
+ {
+ "n": "no_entry",
+ "c": "symbols",
+ "e": "⛔",
+ "d": "no entry",
+ "u": "5.2"
+ },
+ {
+ "n": "no_entry_sign",
+ "c": "symbols",
+ "e": "🚫",
+ "d": "no entry sign",
+ "u": "6.0"
+ },
+ {
+ "n": "no_bicycles",
+ "c": "symbols",
+ "e": "🚳",
+ "d": "no bicycles",
+ "u": "6.0"
+ },
+ {
+ "n": "no_smoking",
+ "c": "symbols",
+ "e": "🚭",
+ "d": "no smoking symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "do_not_litter",
+ "c": "symbols",
+ "e": "🚯",
+ "d": "do not litter symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "non-potable_water",
+ "c": "symbols",
+ "e": "🚱",
+ "d": "non-potable water symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "no_pedestrians",
+ "c": "symbols",
+ "e": "🚷",
+ "d": "no pedestrians",
+ "u": "6.0"
+ },
+ {
+ "n": "no_mobile_phones",
+ "c": "symbols",
+ "e": "📵",
+ "d": "no mobile phones",
+ "u": "6.0"
+ },
+ {
+ "n": "underage",
+ "c": "symbols",
+ "e": "🔞",
+ "d": "no one under eighteen symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "radioactive",
+ "c": "symbols",
+ "e": "☢",
+ "d": "radioactive sign",
+ "u": "1.1"
+ },
+ {
+ "n": "biohazard",
+ "c": "symbols",
+ "e": "☣",
+ "d": "biohazard sign",
+ "u": "1.1"
+ },
+ {
+ "n": "arrow_up",
+ "c": "symbols",
+ "e": "⬆",
+ "d": "upwards black arrow",
+ "u": "4.0"
+ },
+ {
+ "n": "arrow_upper_right",
+ "c": "symbols",
+ "e": "↗",
+ "d": "north east arrow",
+ "u": "1.1"
+ },
+ {
+ "n": "arrow_right",
+ "c": "symbols",
+ "e": "➡",
+ "d": "black rightwards arrow",
+ "u": "1.1"
+ },
+ {
+ "n": "arrow_lower_right",
+ "c": "symbols",
+ "e": "↘",
+ "d": "south east arrow",
+ "u": "1.1"
+ },
+ {
+ "n": "arrow_down",
+ "c": "symbols",
+ "e": "⬇",
+ "d": "downwards black arrow",
+ "u": "4.0"
+ },
+ {
+ "n": "arrow_lower_left",
+ "c": "symbols",
+ "e": "↙",
+ "d": "south west arrow",
+ "u": "1.1"
+ },
+ {
+ "n": "arrow_left",
+ "c": "symbols",
+ "e": "⬅",
+ "d": "leftwards black arrow",
+ "u": "4.0"
+ },
+ {
+ "n": "arrow_upper_left",
+ "c": "symbols",
+ "e": "↖",
+ "d": "north west arrow",
+ "u": "1.1"
+ },
+ {
+ "n": "arrow_up_down",
+ "c": "symbols",
+ "e": "↕",
+ "d": "up down arrow",
+ "u": "1.1"
+ },
+ {
+ "n": "left_right_arrow",
+ "c": "symbols",
+ "e": "↔",
+ "d": "left right arrow",
+ "u": "1.1"
+ },
+ {
+ "n": "leftwards_arrow_with_hook",
+ "c": "symbols",
+ "e": "↩",
+ "d": "leftwards arrow with hook",
+ "u": "1.1"
+ },
+ {
+ "n": "arrow_right_hook",
+ "c": "symbols",
+ "e": "↪",
+ "d": "rightwards arrow with hook",
+ "u": "1.1"
+ },
+ {
+ "n": "arrow_heading_up",
+ "c": "symbols",
+ "e": "⤴",
+ "d": "arrow pointing rightwards then curving upwards",
+ "u": "3.2"
+ },
+ {
+ "n": "arrow_heading_down",
+ "c": "symbols",
+ "e": "⤵",
+ "d": "arrow pointing rightwards then curving downwards",
+ "u": "3.2"
+ },
+ {
+ "n": "arrows_clockwise",
+ "c": "symbols",
+ "e": "🔃",
+ "d": "clockwise downwards and upwards open circle arrows",
+ "u": "6.0"
+ },
+ {
+ "n": "arrows_counterclockwise",
+ "c": "symbols",
+ "e": "🔄",
+ "d": "anticlockwise downwards and upwards open circle ar",
+ "u": "6.0"
+ },
+ {
+ "n": "back",
+ "c": "symbols",
+ "e": "🔙",
+ "d": "back with leftwards arrow above",
+ "u": "6.0"
+ },
+ {
+ "n": "end",
+ "c": "symbols",
+ "e": "🔚",
+ "d": "end with leftwards arrow above",
+ "u": "6.0"
+ },
+ {
+ "n": "on",
+ "c": "symbols",
+ "e": "🔛",
+ "d": "on with exclamation mark with left right arrow abo",
+ "u": "6.0"
+ },
+ {
+ "n": "soon",
+ "c": "symbols",
+ "e": "🔜",
+ "d": "soon with rightwards arrow above",
+ "u": "6.0"
+ },
+ {
+ "n": "top",
+ "c": "symbols",
+ "e": "🔝",
+ "d": "top with upwards arrow above",
+ "u": "6.0"
+ },
+ {
+ "n": "place_of_worship",
+ "c": "symbols",
+ "e": "🛐",
+ "d": "place of worship",
+ "u": "8.0"
+ },
+ {
+ "n": "atom",
+ "c": "symbols",
+ "e": "⚛",
+ "d": "atom symbol",
+ "u": "4.1"
+ },
+ {
+ "n": "om_symbol",
+ "c": "symbols",
+ "e": "🕉",
+ "d": "om symbol",
+ "u": "7.0"
+ },
+ {
+ "n": "star_of_david",
+ "c": "symbols",
+ "e": "✡",
+ "d": "star of david",
+ "u": "1.1"
+ },
+ {
+ "n": "wheel_of_dharma",
+ "c": "symbols",
+ "e": "☸",
+ "d": "wheel of dharma",
+ "u": "1.1"
+ },
+ {
+ "n": "yin_yang",
+ "c": "symbols",
+ "e": "☯",
+ "d": "yin yang",
+ "u": "1.1"
+ },
+ {
+ "n": "cross",
+ "c": "symbols",
+ "e": "✝",
+ "d": "latin cross",
+ "u": "1.1"
+ },
+ {
+ "n": "orthodox_cross",
+ "c": "symbols",
+ "e": "☦",
+ "d": "orthodox cross",
+ "u": "1.1"
+ },
+ {
+ "n": "star_and_crescent",
+ "c": "symbols",
+ "e": "☪",
+ "d": "star and crescent",
+ "u": "1.1"
+ },
+ {
+ "n": "peace",
+ "c": "symbols",
+ "e": "☮",
+ "d": "peace symbol",
+ "u": "1.1"
+ },
+ {
+ "n": "menorah",
+ "c": "symbols",
+ "e": "🕎",
+ "d": "menorah with nine branches",
+ "u": "8.0"
+ },
+ {
+ "n": "six_pointed_star",
+ "c": "symbols",
+ "e": "🔯",
+ "d": "six pointed star with middle dot",
+ "u": "6.0"
+ },
+ {
+ "n": "aries",
+ "c": "symbols",
+ "e": "♈",
+ "d": "aries",
+ "u": "1.1"
+ },
+ {
+ "n": "taurus",
+ "c": "symbols",
+ "e": "♉",
+ "d": "taurus",
+ "u": "1.1"
+ },
+ {
+ "n": "gemini",
+ "c": "symbols",
+ "e": "♊",
+ "d": "gemini",
+ "u": "1.1"
+ },
+ {
+ "n": "cancer",
+ "c": "symbols",
+ "e": "♋",
+ "d": "cancer",
+ "u": "1.1"
+ },
+ {
+ "n": "leo",
+ "c": "symbols",
+ "e": "♌",
+ "d": "leo",
+ "u": "1.1"
+ },
+ {
+ "n": "virgo",
+ "c": "symbols",
+ "e": "♍",
+ "d": "virgo",
+ "u": "1.1"
+ },
+ {
+ "n": "libra",
+ "c": "symbols",
+ "e": "♎",
+ "d": "libra",
+ "u": "1.1"
+ },
+ {
+ "n": "scorpius",
+ "c": "symbols",
+ "e": "♏",
+ "d": "scorpius",
+ "u": "1.1"
+ },
+ {
+ "n": "sagittarius",
+ "c": "symbols",
+ "e": "♐",
+ "d": "sagittarius",
+ "u": "1.1"
+ },
+ {
+ "n": "capricorn",
+ "c": "symbols",
+ "e": "♑",
+ "d": "capricorn",
+ "u": "1.1"
+ },
+ {
+ "n": "aquarius",
+ "c": "symbols",
+ "e": "♒",
+ "d": "aquarius",
+ "u": "1.1"
+ },
+ {
+ "n": "pisces",
+ "c": "symbols",
+ "e": "♓",
+ "d": "pisces",
+ "u": "1.1"
+ },
+ {
+ "n": "ophiuchus",
+ "c": "symbols",
+ "e": "⛎",
+ "d": "ophiuchus",
+ "u": "6.0"
+ },
+ {
+ "n": "twisted_rightwards_arrows",
+ "c": "symbols",
+ "e": "🔀",
+ "d": "twisted rightwards arrows",
+ "u": "6.0"
+ },
+ {
+ "n": "repeat",
+ "c": "symbols",
+ "e": "🔁",
+ "d": "clockwise rightwards and leftwards open circle arr",
+ "u": "6.0"
+ },
+ {
+ "n": "repeat_one",
+ "c": "symbols",
+ "e": "🔂",
+ "d": "clockwise rightwards and leftwards open circle arr",
+ "u": "6.0"
+ },
+ {
+ "n": "arrow_forward",
+ "c": "symbols",
+ "e": "▶",
+ "d": "black right-pointing triangle",
+ "u": "1.1"
+ },
+ {
+ "n": "fast_forward",
+ "c": "symbols",
+ "e": "⏩",
+ "d": "black right-pointing double triangle",
+ "u": "6.0"
+ },
+ {
+ "n": "track_next",
+ "c": "symbols",
+ "e": "⏭",
+ "d": "black right-pointing double triangle with vertical bar",
+ "u": "6.0"
+ },
+ {
+ "n": "play_pause",
+ "c": "symbols",
+ "e": "⏯",
+ "d": "black right-pointing double triangle with double vertical bar",
+ "u": "6.0"
+ },
+ {
+ "n": "arrow_backward",
+ "c": "symbols",
+ "e": "◀",
+ "d": "black left-pointing triangle",
+ "u": "1.1"
+ },
+ {
+ "n": "rewind",
+ "c": "symbols",
+ "e": "⏪",
+ "d": "black left-pointing double triangle",
+ "u": "6.0"
+ },
+ {
+ "n": "track_previous",
+ "c": "symbols",
+ "e": "⏮",
+ "d": "black left-pointing double triangle with vertical bar",
+ "u": "6.0"
+ },
+ {
+ "n": "arrow_up_small",
+ "c": "symbols",
+ "e": "🔼",
+ "d": "up-pointing small red triangle",
+ "u": "6.0"
+ },
+ {
+ "n": "arrow_double_up",
+ "c": "symbols",
+ "e": "⏫",
+ "d": "black up-pointing double triangle",
+ "u": "6.0"
+ },
+ {
+ "n": "arrow_down_small",
+ "c": "symbols",
+ "e": "🔽",
+ "d": "down-pointing small red triangle",
+ "u": "6.0"
+ },
+ {
+ "n": "arrow_double_down",
+ "c": "symbols",
+ "e": "⏬",
+ "d": "black down-pointing double triangle",
+ "u": "6.0"
+ },
+ {
+ "n": "pause_button",
+ "c": "symbols",
+ "e": "⏸",
+ "d": "double vertical bar",
+ "u": "7.0"
+ },
+ {
+ "n": "stop_button",
+ "c": "symbols",
+ "e": "⏹",
+ "d": "black square for stop",
+ "u": "7.0"
+ },
+ {
+ "n": "record_button",
+ "c": "symbols",
+ "e": "⏺",
+ "d": "black circle for record",
+ "u": "7.0"
+ },
+ {
+ "n": "eject",
+ "c": "symbols",
+ "e": "⏏",
+ "d": "eject symbol",
+ "u": "4.0"
+ },
+ {
+ "n": "cinema",
+ "c": "symbols",
+ "e": "🎦",
+ "d": "cinema",
+ "u": "6.0"
+ },
+ {
+ "n": "low_brightness",
+ "c": "symbols",
+ "e": "🔅",
+ "d": "low brightness symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "high_brightness",
+ "c": "symbols",
+ "e": "🔆",
+ "d": "high brightness symbol",
+ "u": "6.0"
+ },
+ {
+ "n": "signal_strength",
+ "c": "symbols",
+ "e": "📶",
+ "d": "antenna with bars",
+ "u": "6.0"
+ },
+ {
+ "n": "vibration_mode",
+ "c": "symbols",
+ "e": "📳",
+ "d": "vibration mode",
+ "u": "6.0"
+ },
+ {
+ "n": "mobile_phone_off",
+ "c": "symbols",
+ "e": "📴",
+ "d": "mobile phone off",
+ "u": "6.0"
+ },
+ {
+ "n": "heavy_multiplication_x",
+ "c": "symbols",
+ "e": "✖",
+ "d": "heavy multiplication x",
+ "u": "1.1"
+ },
+ {
+ "n": "heavy_plus_sign",
+ "c": "symbols",
+ "e": "➕",
+ "d": "heavy plus sign",
+ "u": "6.0"
+ },
+ {
+ "n": "heavy_minus_sign",
+ "c": "symbols",
+ "e": "➖",
+ "d": "heavy minus sign",
+ "u": "6.0"
+ },
+ {
+ "n": "heavy_division_sign",
+ "c": "symbols",
+ "e": "➗",
+ "d": "heavy division sign",
+ "u": "6.0"
+ },
+ {
+ "n": "bangbang",
+ "c": "symbols",
+ "e": "‼",
+ "d": "double exclamation mark",
+ "u": "1.1"
+ },
+ {
+ "n": "interrobang",
+ "c": "symbols",
+ "e": "⁉",
+ "d": "exclamation question mark",
+ "u": "3.0"
+ },
+ {
+ "n": "question",
+ "c": "symbols",
+ "e": "❓",
+ "d": "black question mark ornament",
+ "u": "6.0"
+ },
+ {
+ "n": "grey_question",
+ "c": "symbols",
+ "e": "❔",
+ "d": "white question mark ornament",
+ "u": "6.0"
+ },
+ {
+ "n": "grey_exclamation",
+ "c": "symbols",
+ "e": "❕",
+ "d": "white exclamation mark ornament",
+ "u": "6.0"
+ },
+ {
+ "n": "exclamation",
+ "c": "symbols",
+ "e": "❗",
+ "d": "heavy exclamation mark symbol",
+ "u": "5.2"
+ },
+ {
+ "n": "wavy_dash",
+ "c": "symbols",
+ "e": "〰",
+ "d": "wavy dash",
+ "u": "1.1"
+ },
+ {
+ "n": "currency_exchange",
+ "c": "symbols",
+ "e": "💱",
+ "d": "currency exchange",
+ "u": "6.0"
+ },
+ {
+ "n": "heavy_dollar_sign",
+ "c": "symbols",
+ "e": "💲",
+ "d": "heavy dollar sign",
+ "u": "6.0"
+ },
+ {
+ "n": "recycle",
+ "c": "symbols",
+ "e": "♻",
+ "d": "black universal recycling symbol",
+ "u": "3.2"
+ },
+ {
+ "n": "fleur-de-lis",
+ "c": "symbols",
+ "e": "⚜",
+ "d": "fleur-de-lis",
+ "u": "4.1"
+ },
+ {
+ "n": "trident",
+ "c": "symbols",
+ "e": "🔱",
+ "d": "trident emblem",
+ "u": "6.0"
+ },
+ {
+ "n": "name_badge",
+ "c": "symbols",
+ "e": "📛",
+ "d": "name badge",
+ "u": "6.0"
+ },
+ {
+ "n": "beginner",
+ "c": "symbols",
+ "e": "🔰",
+ "d": "japanese symbol for beginner",
+ "u": "6.0"
+ },
+ {
+ "n": "o",
+ "c": "symbols",
+ "e": "⭕",
+ "d": "heavy large circle",
+ "u": "5.2"
+ },
+ {
+ "n": "white_check_mark",
+ "c": "symbols",
+ "e": "✅",
+ "d": "white heavy check mark",
+ "u": "6.0"
+ },
+ {
+ "n": "ballot_box_with_check",
+ "c": "symbols",
+ "e": "☑",
+ "d": "ballot box with check",
+ "u": "1.1"
+ },
+ {
+ "n": "heavy_check_mark",
+ "c": "symbols",
+ "e": "✔",
+ "d": "heavy check mark",
+ "u": "1.1"
+ },
+ {
+ "n": "x",
+ "c": "symbols",
+ "e": "❌",
+ "d": "cross mark",
+ "u": "6.0"
+ },
+ {
+ "n": "negative_squared_cross_mark",
+ "c": "symbols",
+ "e": "❎",
+ "d": "negative squared cross mark",
+ "u": "6.0"
+ },
+ {
+ "n": "curly_loop",
+ "c": "symbols",
+ "e": "➰",
+ "d": "curly loop",
+ "u": "6.0"
+ },
+ {
+ "n": "loop",
+ "c": "symbols",
+ "e": "➿",
+ "d": "double curly loop",
+ "u": "6.0"
+ },
+ {
+ "n": "part_alternation_mark",
+ "c": "symbols",
+ "e": "〽",
+ "d": "part alternation mark",
+ "u": "3.2"
+ },
+ {
+ "n": "eight_spoked_asterisk",
+ "c": "symbols",
+ "e": "✳",
+ "d": "eight spoked asterisk",
+ "u": "1.1"
+ },
+ {
+ "n": "eight_pointed_black_star",
+ "c": "symbols",
+ "e": "✴",
+ "d": "eight pointed black star",
+ "u": "1.1"
+ },
+ {
+ "n": "sparkle",
+ "c": "symbols",
+ "e": "❇",
+ "d": "sparkle",
+ "u": "1.1"
+ },
+ {
+ "n": "copyright",
+ "c": "symbols",
+ "e": "©️",
+ "d": "copyright sign",
+ "u": "1.1"
+ },
+ {
+ "n": "registered",
+ "c": "symbols",
+ "e": "®️",
+ "d": "registered sign",
+ "u": "1.1"
+ },
+ {
+ "n": "tm",
+ "c": "symbols",
+ "e": "™️",
+ "d": "trade mark sign",
+ "u": "1.1"
+ },
+ {
+ "n": "hash",
+ "c": "symbols",
+ "e": "#⃣",
+ "d": "number sign",
+ "u": "3.0"
+ },
+ {
+ "n": "asterisk",
+ "c": "symbols",
+ "e": "*⃣",
+ "d": "keycap asterisk",
+ "u": "3.0"
+ },
+ {
+ "n": "zero",
+ "c": "symbols",
+ "e": "0️⃣",
+ "d": "keycap digit zero",
+ "u": "3.0"
+ },
+ {
+ "n": "one",
+ "c": "symbols",
+ "e": "1️⃣",
+ "d": "keycap digit one",
+ "u": "3.0"
+ },
+ {
+ "n": "two",
+ "c": "symbols",
+ "e": "2️⃣",
+ "d": "keycap digit two",
+ "u": "3.0"
+ },
+ {
+ "n": "three",
+ "c": "symbols",
+ "e": "3️⃣",
+ "d": "keycap digit three",
+ "u": "3.0"
+ },
+ {
+ "n": "four",
+ "c": "symbols",
+ "e": "4️⃣",
+ "d": "keycap digit four",
+ "u": "3.0"
+ },
+ {
+ "n": "five",
+ "c": "symbols",
+ "e": "5️⃣",
+ "d": "keycap digit five",
+ "u": "3.0"
+ },
+ {
+ "n": "six",
+ "c": "symbols",
+ "e": "6️⃣",
+ "d": "keycap digit six",
+ "u": "3.0"
+ },
+ {
+ "n": "seven",
+ "c": "symbols",
+ "e": "7️⃣",
+ "d": "keycap digit seven",
+ "u": "3.0"
+ },
+ {
+ "n": "eight",
+ "c": "symbols",
+ "e": "8️⃣",
+ "d": "keycap digit eight",
+ "u": "3.0"
+ },
+ {
+ "n": "nine",
+ "c": "symbols",
+ "e": "9️⃣",
+ "d": "keycap digit nine",
+ "u": "3.0"
+ },
+ {
+ "n": "ten",
+ "c": "symbols",
+ "e": "🔟",
+ "d": "keycap ten",
+ "u": "6.0"
+ },
+ {
+ "n": "capital_abcd",
+ "c": "symbols",
+ "e": "🔠",
+ "d": "input symbol for latin capital letters",
+ "u": "6.0"
+ },
+ {
+ "n": "abcd",
+ "c": "symbols",
+ "e": "🔡",
+ "d": "input symbol for latin small letters",
+ "u": "6.0"
+ },
+ {
+ "n": "1234",
+ "c": "symbols",
+ "e": "🔢",
+ "d": "input symbol for numbers",
+ "u": "6.0"
+ },
+ {
+ "n": "symbols",
+ "c": "symbols",
+ "e": "🔣",
+ "d": "input symbol for symbols",
+ "u": "6.0"
+ },
+ {
+ "n": "abc",
+ "c": "symbols",
+ "e": "🔤",
+ "d": "input symbol for latin letters",
+ "u": "6.0"
+ },
+ {
+ "n": "a",
+ "c": "symbols",
+ "e": "🅰",
+ "d": "negative squared latin capital letter a",
+ "u": "6.0"
+ },
+ {
+ "n": "ab",
+ "c": "symbols",
+ "e": "🆎",
+ "d": "negative squared ab",
+ "u": "6.0"
+ },
+ {
+ "n": "b",
+ "c": "symbols",
+ "e": "🅱",
+ "d": "negative squared latin capital letter b",
+ "u": "6.0"
+ },
+ {
+ "n": "cl",
+ "c": "symbols",
+ "e": "🆑",
+ "d": "squared cl",
+ "u": "6.0"
+ },
+ {
+ "n": "cool",
+ "c": "symbols",
+ "e": "🆒",
+ "d": "squared cool",
+ "u": "6.0"
+ },
+ {
+ "n": "free",
+ "c": "symbols",
+ "e": "🆓",
+ "d": "squared free",
+ "u": "6.0"
+ },
+ {
+ "n": "information_source",
+ "c": "symbols",
+ "e": "ℹ",
+ "d": "information source",
+ "u": "3.0"
+ },
+ {
+ "n": "id",
+ "c": "symbols",
+ "e": "🆔",
+ "d": "squared id",
+ "u": "6.0"
+ },
+ {
+ "n": "m",
+ "c": "symbols",
+ "e": "Ⓜ",
+ "d": "circled latin capital letter m",
+ "u": "1.1"
+ },
+ {
+ "n": "new",
+ "c": "symbols",
+ "e": "🆕",
+ "d": "squared new",
+ "u": "6.0"
+ },
+ {
+ "n": "ng",
+ "c": "symbols",
+ "e": "🆖",
+ "d": "squared ng",
+ "u": "6.0"
+ },
+ {
+ "n": "o2",
+ "c": "symbols",
+ "e": "🅾",
+ "d": "negative squared latin capital letter o",
+ "u": "6.0"
+ },
+ {
+ "n": "ok",
+ "c": "symbols",
+ "e": "🆗",
+ "d": "squared ok",
+ "u": "6.0"
+ },
+ {
+ "n": "parking",
+ "c": "symbols",
+ "e": "🅿",
+ "d": "negative squared latin capital letter p",
+ "u": "5.2"
+ },
+ {
+ "n": "sos",
+ "c": "symbols",
+ "e": "🆘",
+ "d": "squared sos",
+ "u": "6.0"
+ },
+ {
+ "n": "up",
+ "c": "symbols",
+ "e": "🆙",
+ "d": "squared up with exclamation mark",
+ "u": "6.0"
+ },
+ {
+ "n": "vs",
+ "c": "symbols",
+ "e": "🆚",
+ "d": "squared vs",
+ "u": "6.0"
+ },
+ {
+ "n": "koko",
+ "c": "symbols",
+ "e": "🈁",
+ "d": "squared katakana koko",
+ "u": "6.0"
+ },
+ {
+ "n": "sa",
+ "c": "symbols",
+ "e": "🈂",
+ "d": "squared katakana sa",
+ "u": "6.0"
+ },
+ {
+ "n": "u6708",
+ "c": "symbols",
+ "e": "🈷",
+ "d": "squared cjk unified ideograph-6708",
+ "u": "6.0"
+ },
+ {
+ "n": "u6709",
+ "c": "symbols",
+ "e": "🈶",
+ "d": "squared cjk unified ideograph-6709",
+ "u": "6.0"
+ },
+ {
+ "n": "u6307",
+ "c": "symbols",
+ "e": "🈯",
+ "d": "squared cjk unified ideograph-6307",
+ "u": "5.2"
+ },
+ {
+ "n": "ideograph_advantage",
+ "c": "symbols",
+ "e": "🉐",
+ "d": "circled ideograph advantage",
+ "u": "6.0"
+ },
+ {
+ "n": "u5272",
+ "c": "symbols",
+ "e": "🈹",
+ "d": "squared cjk unified ideograph-5272",
+ "u": "6.0"
+ },
+ {
+ "n": "u7121",
+ "c": "symbols",
+ "e": "🈚",
+ "d": "squared cjk unified ideograph-7121",
+ "u": "5.2"
+ },
+ {
+ "n": "u7981",
+ "c": "symbols",
+ "e": "🈲",
+ "d": "squared cjk unified ideograph-7981",
+ "u": "6.0"
+ },
+ {
+ "n": "accept",
+ "c": "symbols",
+ "e": "🉑",
+ "d": "circled ideograph accept",
+ "u": "6.0"
+ },
+ {
+ "n": "u7533",
+ "c": "symbols",
+ "e": "🈸",
+ "d": "squared cjk unified ideograph-7533",
+ "u": "6.0"
+ },
+ {
+ "n": "u5408",
+ "c": "symbols",
+ "e": "🈴",
+ "d": "squared cjk unified ideograph-5408",
+ "u": "6.0"
+ },
+ {
+ "n": "u7a7a",
+ "c": "symbols",
+ "e": "🈳",
+ "d": "squared cjk unified ideograph-7a7a",
+ "u": "6.0"
+ },
+ {
+ "n": "congratulations",
+ "c": "symbols",
+ "e": "㊗",
+ "d": "circled ideograph congratulation",
+ "u": "1.1"
+ },
+ {
+ "n": "secret",
+ "c": "symbols",
+ "e": "㊙",
+ "d": "circled ideograph secret",
+ "u": "1.1"
+ },
+ {
+ "n": "u55b6",
+ "c": "symbols",
+ "e": "🈺",
+ "d": "squared cjk unified ideograph-55b6",
+ "u": "6.0"
+ },
+ {
+ "n": "u6e80",
+ "c": "symbols",
+ "e": "🈵",
+ "d": "squared cjk unified ideograph-6e80",
+ "u": "6.0"
+ },
+ {
+ "n": "red_circle",
+ "c": "symbols",
+ "e": "🔴",
+ "d": "large red circle",
+ "u": "6.0"
+ },
+ {
+ "n": "large_blue_circle",
+ "c": "symbols",
+ "e": "🔵",
+ "d": "large blue circle",
+ "u": "6.0"
+ },
+ {
+ "n": "black_circle",
+ "c": "symbols",
+ "e": "⚫",
+ "d": "medium black circle",
+ "u": "4.1"
+ },
+ {
+ "n": "white_circle",
+ "c": "symbols",
+ "e": "⚪",
+ "d": "medium white circle",
+ "u": "4.1"
+ },
+ {
+ "n": "black_large_square",
+ "c": "symbols",
+ "e": "⬛",
+ "d": "black large square",
+ "u": "5.1"
+ },
+ {
+ "n": "white_large_square",
+ "c": "symbols",
+ "e": "⬜",
+ "d": "white large square",
+ "u": "5.1"
+ },
+ {
+ "n": "black_medium_square",
+ "c": "symbols",
+ "e": "◼",
+ "d": "black medium square",
+ "u": "3.2"
+ },
+ {
+ "n": "white_medium_square",
+ "c": "symbols",
+ "e": "◻",
+ "d": "white medium square",
+ "u": "3.2"
+ },
+ {
+ "n": "black_medium_small_square",
+ "c": "symbols",
+ "e": "◾",
+ "d": "black medium small square",
+ "u": "3.2"
+ },
+ {
+ "n": "white_medium_small_square",
+ "c": "symbols",
+ "e": "◽",
+ "d": "white medium small square",
+ "u": "3.2"
+ },
+ {
+ "n": "black_small_square",
+ "c": "symbols",
+ "e": "▪",
+ "d": "black small square",
+ "u": "1.1"
+ },
+ {
+ "n": "white_small_square",
+ "c": "symbols",
+ "e": "▫",
+ "d": "white small square",
+ "u": "1.1"
+ },
+ {
+ "n": "large_orange_diamond",
+ "c": "symbols",
+ "e": "🔶",
+ "d": "large orange diamond",
+ "u": "6.0"
+ },
+ {
+ "n": "large_blue_diamond",
+ "c": "symbols",
+ "e": "🔷",
+ "d": "large blue diamond",
+ "u": "6.0"
+ },
+ {
+ "n": "small_orange_diamond",
+ "c": "symbols",
+ "e": "🔸",
+ "d": "small orange diamond",
+ "u": "6.0"
+ },
+ {
+ "n": "small_blue_diamond",
+ "c": "symbols",
+ "e": "🔹",
+ "d": "small blue diamond",
+ "u": "6.0"
+ },
+ {
+ "n": "small_red_triangle",
+ "c": "symbols",
+ "e": "🔺",
+ "d": "up-pointing red triangle",
+ "u": "6.0"
+ },
+ {
+ "n": "small_red_triangle_down",
+ "c": "symbols",
+ "e": "🔻",
+ "d": "down-pointing red triangle",
+ "u": "6.0"
+ },
+ {
+ "n": "diamond_shape_with_a_dot_inside",
+ "c": "symbols",
+ "e": "💠",
+ "d": "diamond shape with a dot inside",
+ "u": "6.0"
+ },
+ {
+ "n": "radio_button",
+ "c": "symbols",
+ "e": "🔘",
+ "d": "radio button",
+ "u": "6.0"
+ },
+ {
+ "n": "white_square_button",
+ "c": "symbols",
+ "e": "🔳",
+ "d": "white square button",
+ "u": "6.0"
+ },
+ {
+ "n": "black_square_button",
+ "c": "symbols",
+ "e": "🔲",
+ "d": "black square button",
+ "u": "6.0"
+ },
+ {
+ "n": "checkered_flag",
+ "c": "travel",
+ "e": "🏁",
+ "d": "chequered flag",
+ "u": "6.0"
+ },
+ {
+ "n": "triangular_flag_on_post",
+ "c": "objects",
+ "e": "🚩",
+ "d": "triangular flag on post",
+ "u": "6.0"
+ },
+ {
+ "n": "crossed_flags",
+ "c": "objects",
+ "e": "🎌",
+ "d": "crossed flags",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_black",
+ "c": "objects",
+ "e": "🏴",
+ "d": "waving black flag",
+ "u": "7.0"
+ },
+ {
+ "n": "flag_white",
+ "c": "objects",
+ "e": "🏳",
+ "d": "waving white flag",
+ "u": "7.0"
+ },
+ {
+ "n": "gay_pride_flag",
+ "c": "flags",
+ "e": "🏳️‍🌈",
+ "d": "gay_pride_flag",
+ "u": "7.0"
+ },
+ {
+ "n": "flag_ac",
+ "c": "flags",
+ "e": "🇦🇨",
+ "d": "ascension",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ad",
+ "c": "flags",
+ "e": "🇦🇩",
+ "d": "andorra",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ae",
+ "c": "flags",
+ "e": "🇦🇪",
+ "d": "the united arab emirates",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_af",
+ "c": "flags",
+ "e": "🇦🇫",
+ "d": "afghanistan",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ag",
+ "c": "flags",
+ "e": "🇦🇬",
+ "d": "antigua and barbuda",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ai",
+ "c": "flags",
+ "e": "🇦🇮",
+ "d": "anguilla",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_al",
+ "c": "flags",
+ "e": "🇦🇱",
+ "d": "albania",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_am",
+ "c": "flags",
+ "e": "🇦🇲",
+ "d": "armenia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ao",
+ "c": "flags",
+ "e": "🇦🇴",
+ "d": "angola",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_aq",
+ "c": "flags",
+ "e": "🇦🇶",
+ "d": "antarctica",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ar",
+ "c": "flags",
+ "e": "🇦🇷",
+ "d": "argentina",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_as",
+ "c": "flags",
+ "e": "🇦🇸",
+ "d": "american samoa",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_at",
+ "c": "flags",
+ "e": "🇦🇹",
+ "d": "austria",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_au",
+ "c": "flags",
+ "e": "🇦🇺",
+ "d": "australia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_aw",
+ "c": "flags",
+ "e": "🇦🇼",
+ "d": "aruba",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ax",
+ "c": "flags",
+ "e": "🇦🇽",
+ "d": "åland islands",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_az",
+ "c": "flags",
+ "e": "🇦🇿",
+ "d": "azerbaijan",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ba",
+ "c": "flags",
+ "e": "🇧🇦",
+ "d": "bosnia and herzegovina",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_bb",
+ "c": "flags",
+ "e": "🇧🇧",
+ "d": "barbados",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_bd",
+ "c": "flags",
+ "e": "🇧🇩",
+ "d": "bangladesh",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_be",
+ "c": "flags",
+ "e": "🇧🇪",
+ "d": "belgium",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_bf",
+ "c": "flags",
+ "e": "🇧🇫",
+ "d": "burkina faso",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_bg",
+ "c": "flags",
+ "e": "🇧🇬",
+ "d": "bulgaria",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_bh",
+ "c": "flags",
+ "e": "🇧🇭",
+ "d": "bahrain",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_bi",
+ "c": "flags",
+ "e": "🇧🇮",
+ "d": "burundi",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_bj",
+ "c": "flags",
+ "e": "🇧🇯",
+ "d": "benin",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_bl",
+ "c": "flags",
+ "e": "🇧🇱",
+ "d": "saint barthélemy",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_bm",
+ "c": "flags",
+ "e": "🇧🇲",
+ "d": "bermuda",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_bn",
+ "c": "flags",
+ "e": "🇧🇳",
+ "d": "brunei",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_bo",
+ "c": "flags",
+ "e": "🇧🇴",
+ "d": "bolivia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_bq",
+ "c": "flags",
+ "e": "🇧🇶",
+ "d": "caribbean netherlands",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_br",
+ "c": "flags",
+ "e": "🇧🇷",
+ "d": "brazil",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_bs",
+ "c": "flags",
+ "e": "🇧🇸",
+ "d": "the bahamas",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_bt",
+ "c": "flags",
+ "e": "🇧🇹",
+ "d": "bhutan",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_bv",
+ "c": "flags",
+ "e": "🇧🇻",
+ "d": "bouvet island",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_bw",
+ "c": "flags",
+ "e": "🇧🇼",
+ "d": "botswana",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_by",
+ "c": "flags",
+ "e": "🇧🇾",
+ "d": "belarus",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_bz",
+ "c": "flags",
+ "e": "🇧🇿",
+ "d": "belize",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ca",
+ "c": "flags",
+ "e": "🇨🇦",
+ "d": "canada",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_cc",
+ "c": "flags",
+ "e": "🇨🇨",
+ "d": "cocos (keeling) islands",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_cd",
+ "c": "flags",
+ "e": "🇨🇩",
+ "d": "the democratic republic of the congo",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_cf",
+ "c": "flags",
+ "e": "🇨🇫",
+ "d": "central african republic",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_cg",
+ "c": "flags",
+ "e": "🇨🇬",
+ "d": "the republic of the congo",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ch",
+ "c": "flags",
+ "e": "🇨🇭",
+ "d": "switzerland",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ci",
+ "c": "flags",
+ "e": "🇨🇮",
+ "d": "cote d'ivoire",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ck",
+ "c": "flags",
+ "e": "🇨🇰",
+ "d": "cook islands",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_cl",
+ "c": "flags",
+ "e": "🇨🇱",
+ "d": "chile",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_cm",
+ "c": "flags",
+ "e": "🇨🇲",
+ "d": "cameroon",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_cn",
+ "c": "flags",
+ "e": "🇨🇳",
+ "d": "china",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_co",
+ "c": "flags",
+ "e": "🇨🇴",
+ "d": "colombia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_cp",
+ "c": "flags",
+ "e": "🇨🇵",
+ "d": "clipperton island",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_cr",
+ "c": "flags",
+ "e": "🇨🇷",
+ "d": "costa rica",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_cu",
+ "c": "flags",
+ "e": "🇨🇺",
+ "d": "cuba",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_cv",
+ "c": "flags",
+ "e": "🇨🇻",
+ "d": "cape verde",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_cw",
+ "c": "flags",
+ "e": "🇨🇼",
+ "d": "curaçao",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_cx",
+ "c": "flags",
+ "e": "🇨🇽",
+ "d": "christmas island",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_cy",
+ "c": "flags",
+ "e": "🇨🇾",
+ "d": "cyprus",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_cz",
+ "c": "flags",
+ "e": "🇨🇿",
+ "d": "the czech republic",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_de",
+ "c": "flags",
+ "e": "🇩🇪",
+ "d": "germany",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_dg",
+ "c": "flags",
+ "e": "🇩🇬",
+ "d": "diego garcia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_dj",
+ "c": "flags",
+ "e": "🇩🇯",
+ "d": "djibouti",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_dk",
+ "c": "flags",
+ "e": "🇩🇰",
+ "d": "denmark",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_dm",
+ "c": "flags",
+ "e": "🇩🇲",
+ "d": "dominica",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_do",
+ "c": "flags",
+ "e": "🇩🇴",
+ "d": "the dominican republic",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_dz",
+ "c": "flags",
+ "e": "🇩🇿",
+ "d": "algeria",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ea",
+ "c": "flags",
+ "e": "🇪🇦",
+ "d": "ceuta, melilla",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ec",
+ "c": "flags",
+ "e": "🇪🇨",
+ "d": "ecuador",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ee",
+ "c": "flags",
+ "e": "🇪🇪",
+ "d": "estonia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_eg",
+ "c": "flags",
+ "e": "🇪🇬",
+ "d": "egypt",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_eh",
+ "c": "flags",
+ "e": "🇪🇭",
+ "d": "western sahara",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_er",
+ "c": "flags",
+ "e": "🇪🇷",
+ "d": "eritrea",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_es",
+ "c": "flags",
+ "e": "🇪🇸",
+ "d": "spain",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_et",
+ "c": "flags",
+ "e": "🇪🇹",
+ "d": "ethiopia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_eu",
+ "c": "flags",
+ "e": "🇪🇺",
+ "d": "european union",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_fi",
+ "c": "flags",
+ "e": "🇫🇮",
+ "d": "finland",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_fj",
+ "c": "flags",
+ "e": "🇫🇯",
+ "d": "fiji",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_fk",
+ "c": "flags",
+ "e": "🇫🇰",
+ "d": "falkland islands",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_fm",
+ "c": "flags",
+ "e": "🇫🇲",
+ "d": "micronesia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_fo",
+ "c": "flags",
+ "e": "🇫🇴",
+ "d": "faroe islands",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_fr",
+ "c": "flags",
+ "e": "🇫🇷",
+ "d": "france",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ga",
+ "c": "flags",
+ "e": "🇬🇦",
+ "d": "gabon",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_gb",
+ "c": "flags",
+ "e": "🇬🇧",
+ "d": "great britain",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_gd",
+ "c": "flags",
+ "e": "🇬🇩",
+ "d": "grenada",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ge",
+ "c": "flags",
+ "e": "🇬🇪",
+ "d": "georgia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_gf",
+ "c": "flags",
+ "e": "🇬🇫",
+ "d": "french guiana",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_gg",
+ "c": "flags",
+ "e": "🇬🇬",
+ "d": "guernsey",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_gh",
+ "c": "flags",
+ "e": "🇬🇭",
+ "d": "ghana",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_gi",
+ "c": "flags",
+ "e": "🇬🇮",
+ "d": "gibraltar",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_gl",
+ "c": "flags",
+ "e": "🇬🇱",
+ "d": "greenland",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_gm",
+ "c": "flags",
+ "e": "🇬🇲",
+ "d": "the gambia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_gn",
+ "c": "flags",
+ "e": "🇬🇳",
+ "d": "guinea",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_gp",
+ "c": "flags",
+ "e": "🇬🇵",
+ "d": "guadeloupe",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_gq",
+ "c": "flags",
+ "e": "🇬🇶",
+ "d": "equatorial guinea",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_gr",
+ "c": "flags",
+ "e": "🇬🇷",
+ "d": "greece",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_gs",
+ "c": "flags",
+ "e": "🇬🇸",
+ "d": "south georgia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_gt",
+ "c": "flags",
+ "e": "🇬🇹",
+ "d": "guatemala",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_gu",
+ "c": "flags",
+ "e": "🇬🇺",
+ "d": "guam",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_gw",
+ "c": "flags",
+ "e": "🇬🇼",
+ "d": "guinea-bissau",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_gy",
+ "c": "flags",
+ "e": "🇬🇾",
+ "d": "guyana",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_hk",
+ "c": "flags",
+ "e": "🇭🇰",
+ "d": "hong kong",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_hm",
+ "c": "flags",
+ "e": "🇭🇲",
+ "d": "heard island and mcdonald islands",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_hn",
+ "c": "flags",
+ "e": "🇭🇳",
+ "d": "honduras",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_hr",
+ "c": "flags",
+ "e": "🇭🇷",
+ "d": "croatia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ht",
+ "c": "flags",
+ "e": "🇭🇹",
+ "d": "haiti",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_hu",
+ "c": "flags",
+ "e": "🇭🇺",
+ "d": "hungary",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ic",
+ "c": "flags",
+ "e": "🇮🇨",
+ "d": "canary islands",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_id",
+ "c": "flags",
+ "e": "🇮🇩",
+ "d": "indonesia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ie",
+ "c": "flags",
+ "e": "🇮🇪",
+ "d": "ireland",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_il",
+ "c": "flags",
+ "e": "🇮🇱",
+ "d": "israel",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_im",
+ "c": "flags",
+ "e": "🇮🇲",
+ "d": "isle of man",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_in",
+ "c": "flags",
+ "e": "🇮🇳",
+ "d": "india",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_io",
+ "c": "flags",
+ "e": "🇮🇴",
+ "d": "british indian ocean territory",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_iq",
+ "c": "flags",
+ "e": "🇮🇶",
+ "d": "iraq",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ir",
+ "c": "flags",
+ "e": "🇮🇷",
+ "d": "iran",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_is",
+ "c": "flags",
+ "e": "🇮🇸",
+ "d": "iceland",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_it",
+ "c": "flags",
+ "e": "🇮🇹",
+ "d": "italy",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_je",
+ "c": "flags",
+ "e": "🇯🇪",
+ "d": "jersey",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_jm",
+ "c": "flags",
+ "e": "🇯🇲",
+ "d": "jamaica",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_jo",
+ "c": "flags",
+ "e": "🇯🇴",
+ "d": "jordan",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_jp",
+ "c": "flags",
+ "e": "🇯🇵",
+ "d": "japan",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ke",
+ "c": "flags",
+ "e": "🇰🇪",
+ "d": "kenya",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_kg",
+ "c": "flags",
+ "e": "🇰🇬",
+ "d": "kyrgyzstan",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_kh",
+ "c": "flags",
+ "e": "🇰🇭",
+ "d": "cambodia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ki",
+ "c": "flags",
+ "e": "🇰🇮",
+ "d": "kiribati",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_km",
+ "c": "flags",
+ "e": "🇰🇲",
+ "d": "the comoros",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_kn",
+ "c": "flags",
+ "e": "🇰🇳",
+ "d": "saint kitts and nevis",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_kp",
+ "c": "flags",
+ "e": "🇰🇵",
+ "d": "north korea",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_kr",
+ "c": "flags",
+ "e": "🇰🇷",
+ "d": "korea",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_kw",
+ "c": "flags",
+ "e": "🇰🇼",
+ "d": "kuwait",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ky",
+ "c": "flags",
+ "e": "🇰🇾",
+ "d": "cayman islands",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_kz",
+ "c": "flags",
+ "e": "🇰🇿",
+ "d": "kazakhstan",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_la",
+ "c": "flags",
+ "e": "🇱🇦",
+ "d": "laos",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_lb",
+ "c": "flags",
+ "e": "🇱🇧",
+ "d": "lebanon",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_lc",
+ "c": "flags",
+ "e": "🇱🇨",
+ "d": "saint lucia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_li",
+ "c": "flags",
+ "e": "🇱🇮",
+ "d": "liechtenstein",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_lk",
+ "c": "flags",
+ "e": "🇱🇰",
+ "d": "sri lanka",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_lr",
+ "c": "flags",
+ "e": "🇱🇷",
+ "d": "liberia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ls",
+ "c": "flags",
+ "e": "🇱🇸",
+ "d": "lesotho",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_lt",
+ "c": "flags",
+ "e": "🇱🇹",
+ "d": "lithuania",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_lu",
+ "c": "flags",
+ "e": "🇱🇺",
+ "d": "luxembourg",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_lv",
+ "c": "flags",
+ "e": "🇱🇻",
+ "d": "latvia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ly",
+ "c": "flags",
+ "e": "🇱🇾",
+ "d": "libya",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ma",
+ "c": "flags",
+ "e": "🇲🇦",
+ "d": "morocco",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_mc",
+ "c": "flags",
+ "e": "🇲🇨",
+ "d": "monaco",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_md",
+ "c": "flags",
+ "e": "🇲🇩",
+ "d": "moldova",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_me",
+ "c": "flags",
+ "e": "🇲🇪",
+ "d": "montenegro",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_mf",
+ "c": "flags",
+ "e": "🇲🇫",
+ "d": "saint martin",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_mg",
+ "c": "flags",
+ "e": "🇲🇬",
+ "d": "madagascar",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_mh",
+ "c": "flags",
+ "e": "🇲🇭",
+ "d": "the marshall islands",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_mk",
+ "c": "flags",
+ "e": "🇲🇰",
+ "d": "macedonia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ml",
+ "c": "flags",
+ "e": "🇲🇱",
+ "d": "mali",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_mm",
+ "c": "flags",
+ "e": "🇲🇲",
+ "d": "myanmar",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_mn",
+ "c": "flags",
+ "e": "🇲🇳",
+ "d": "mongolia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_mo",
+ "c": "flags",
+ "e": "🇲🇴",
+ "d": "macau",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_mp",
+ "c": "flags",
+ "e": "🇲🇵",
+ "d": "northern mariana islands",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_mq",
+ "c": "flags",
+ "e": "🇲🇶",
+ "d": "martinique",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_mr",
+ "c": "flags",
+ "e": "🇲🇷",
+ "d": "mauritania",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ms",
+ "c": "flags",
+ "e": "🇲🇸",
+ "d": "montserrat",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_mt",
+ "c": "flags",
+ "e": "🇲🇹",
+ "d": "malta",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_mu",
+ "c": "flags",
+ "e": "🇲🇺",
+ "d": "mauritius",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_mv",
+ "c": "flags",
+ "e": "🇲🇻",
+ "d": "maldives",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_mw",
+ "c": "flags",
+ "e": "🇲🇼",
+ "d": "malawi",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_mx",
+ "c": "flags",
+ "e": "🇲🇽",
+ "d": "mexico",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_my",
+ "c": "flags",
+ "e": "🇲🇾",
+ "d": "malaysia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_mz",
+ "c": "flags",
+ "e": "🇲🇿",
+ "d": "mozambique",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_na",
+ "c": "flags",
+ "e": "🇳🇦",
+ "d": "namibia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_nc",
+ "c": "flags",
+ "e": "🇳🇨",
+ "d": "new caledonia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ne",
+ "c": "flags",
+ "e": "🇳🇪",
+ "d": "niger",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_nf",
+ "c": "flags",
+ "e": "🇳🇫",
+ "d": "norfolk island",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ng",
+ "c": "flags",
+ "e": "🇳🇬",
+ "d": "nigeria",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ni",
+ "c": "flags",
+ "e": "🇳🇮",
+ "d": "nicaragua",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_nl",
+ "c": "flags",
+ "e": "🇳🇱",
+ "d": "the netherlands",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_no",
+ "c": "flags",
+ "e": "🇳🇴",
+ "d": "norway",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_np",
+ "c": "flags",
+ "e": "🇳🇵",
+ "d": "nepal",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_nr",
+ "c": "flags",
+ "e": "🇳🇷",
+ "d": "nauru",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_nu",
+ "c": "flags",
+ "e": "🇳🇺",
+ "d": "niue",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_nz",
+ "c": "flags",
+ "e": "🇳🇿",
+ "d": "new zealand",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_om",
+ "c": "flags",
+ "e": "🇴🇲",
+ "d": "oman",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_pa",
+ "c": "flags",
+ "e": "🇵🇦",
+ "d": "panama",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_pe",
+ "c": "flags",
+ "e": "🇵🇪",
+ "d": "peru",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_pf",
+ "c": "flags",
+ "e": "🇵🇫",
+ "d": "french polynesia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_pg",
+ "c": "flags",
+ "e": "🇵🇬",
+ "d": "papua new guinea",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ph",
+ "c": "flags",
+ "e": "🇵🇭",
+ "d": "the philippines",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_pk",
+ "c": "flags",
+ "e": "🇵🇰",
+ "d": "pakistan",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_pl",
+ "c": "flags",
+ "e": "🇵🇱",
+ "d": "poland",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_pm",
+ "c": "flags",
+ "e": "🇵🇲",
+ "d": "saint pierre and miquelon",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_pn",
+ "c": "flags",
+ "e": "🇵🇳",
+ "d": "pitcairn",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_pr",
+ "c": "flags",
+ "e": "🇵🇷",
+ "d": "puerto rico",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ps",
+ "c": "flags",
+ "e": "🇵🇸",
+ "d": "palestinian authority",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_pt",
+ "c": "flags",
+ "e": "🇵🇹",
+ "d": "portugal",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_pw",
+ "c": "flags",
+ "e": "🇵🇼",
+ "d": "palau",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_py",
+ "c": "flags",
+ "e": "🇵🇾",
+ "d": "paraguay",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_qa",
+ "c": "flags",
+ "e": "🇶🇦",
+ "d": "qatar",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_re",
+ "c": "flags",
+ "e": "🇷🇪",
+ "d": "réunion",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ro",
+ "c": "flags",
+ "e": "🇷🇴",
+ "d": "romania",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_rs",
+ "c": "flags",
+ "e": "🇷🇸",
+ "d": "serbia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ru",
+ "c": "flags",
+ "e": "🇷🇺",
+ "d": "russia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_rw",
+ "c": "flags",
+ "e": "🇷🇼",
+ "d": "rwanda",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_sa",
+ "c": "flags",
+ "e": "🇸🇦",
+ "d": "saudi arabia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_sb",
+ "c": "flags",
+ "e": "🇸🇧",
+ "d": "the solomon islands",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_sc",
+ "c": "flags",
+ "e": "🇸🇨",
+ "d": "the seychelles",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_sd",
+ "c": "flags",
+ "e": "🇸🇩",
+ "d": "sudan",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_se",
+ "c": "flags",
+ "e": "🇸🇪",
+ "d": "sweden",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_sg",
+ "c": "flags",
+ "e": "🇸🇬",
+ "d": "singapore",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_sh",
+ "c": "flags",
+ "e": "🇸🇭",
+ "d": "saint helena",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_si",
+ "c": "flags",
+ "e": "🇸🇮",
+ "d": "slovenia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_sj",
+ "c": "flags",
+ "e": "🇸🇯",
+ "d": "svalbard and jan mayen",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_sk",
+ "c": "flags",
+ "e": "🇸🇰",
+ "d": "slovakia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_sl",
+ "c": "flags",
+ "e": "🇸🇱",
+ "d": "sierra leone",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_sm",
+ "c": "flags",
+ "e": "🇸🇲",
+ "d": "san marino",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_sn",
+ "c": "flags",
+ "e": "🇸🇳",
+ "d": "senegal",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_so",
+ "c": "flags",
+ "e": "🇸🇴",
+ "d": "somalia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_sr",
+ "c": "flags",
+ "e": "🇸🇷",
+ "d": "suriname",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ss",
+ "c": "flags",
+ "e": "🇸🇸",
+ "d": "south sudan",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_st",
+ "c": "flags",
+ "e": "🇸🇹",
+ "d": "sao tome and principe",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_sv",
+ "c": "flags",
+ "e": "🇸🇻",
+ "d": "el salvador",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_sx",
+ "c": "flags",
+ "e": "🇸🇽",
+ "d": "sint maarten",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_sy",
+ "c": "flags",
+ "e": "🇸🇾",
+ "d": "syria",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_sz",
+ "c": "flags",
+ "e": "🇸🇿",
+ "d": "swaziland",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ta",
+ "c": "flags",
+ "e": "🇹🇦",
+ "d": "tristan da cunha",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_tc",
+ "c": "flags",
+ "e": "🇹🇨",
+ "d": "turks and caicos islands",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_td",
+ "c": "flags",
+ "e": "🇹🇩",
+ "d": "chad",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_tf",
+ "c": "flags",
+ "e": "🇹🇫",
+ "d": "french southern territories",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_tg",
+ "c": "flags",
+ "e": "🇹🇬",
+ "d": "togo",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_th",
+ "c": "flags",
+ "e": "🇹🇭",
+ "d": "thailand",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_tj",
+ "c": "flags",
+ "e": "🇹🇯",
+ "d": "tajikistan",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_tk",
+ "c": "flags",
+ "e": "🇹🇰",
+ "d": "tokelau",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_tl",
+ "c": "flags",
+ "e": "🇹🇱",
+ "d": "east timor",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_tm",
+ "c": "flags",
+ "e": "🇹🇲",
+ "d": "turkmenistan",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_tn",
+ "c": "flags",
+ "e": "🇹🇳",
+ "d": "tunisia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_to",
+ "c": "flags",
+ "e": "🇹🇴",
+ "d": "tonga",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_tr",
+ "c": "flags",
+ "e": "🇹🇷",
+ "d": "turkey",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_tt",
+ "c": "flags",
+ "e": "🇹🇹",
+ "d": "trinidad and tobago",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_tv",
+ "c": "flags",
+ "e": "🇹🇻",
+ "d": "tuvalu",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_tw",
+ "c": "flags",
+ "e": "🇹🇼",
+ "d": "the republic of china",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_tz",
+ "c": "flags",
+ "e": "🇹🇿",
+ "d": "tanzania",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ua",
+ "c": "flags",
+ "e": "🇺🇦",
+ "d": "ukraine",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ug",
+ "c": "flags",
+ "e": "🇺🇬",
+ "d": "uganda",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_um",
+ "c": "flags",
+ "e": "🇺🇲",
+ "d": "united states minor outlying islands",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_us",
+ "c": "flags",
+ "e": "🇺🇸",
+ "d": "united states",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_uy",
+ "c": "flags",
+ "e": "🇺🇾",
+ "d": "uruguay",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_uz",
+ "c": "flags",
+ "e": "🇺🇿",
+ "d": "uzbekistan",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_va",
+ "c": "flags",
+ "e": "🇻🇦",
+ "d": "the vatican city",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_vc",
+ "c": "flags",
+ "e": "🇻🇨",
+ "d": "saint vincent and the grenadines",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ve",
+ "c": "flags",
+ "e": "🇻🇪",
+ "d": "venezuela",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_vg",
+ "c": "flags",
+ "e": "🇻🇬",
+ "d": "british virgin islands",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_vi",
+ "c": "flags",
+ "e": "🇻🇮",
+ "d": "u.s. virgin islands",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_vn",
+ "c": "flags",
+ "e": "🇻🇳",
+ "d": "vietnam",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_vu",
+ "c": "flags",
+ "e": "🇻🇺",
+ "d": "vanuatu",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_wf",
+ "c": "flags",
+ "e": "🇼🇫",
+ "d": "wallis and futuna",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ws",
+ "c": "flags",
+ "e": "🇼🇸",
+ "d": "samoa",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_xk",
+ "c": "flags",
+ "e": "🇽🇰",
+ "d": "kosovo",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_ye",
+ "c": "flags",
+ "e": "🇾🇪",
+ "d": "yemen",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_yt",
+ "c": "flags",
+ "e": "🇾🇹",
+ "d": "mayotte",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_za",
+ "c": "flags",
+ "e": "🇿🇦",
+ "d": "south africa",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_zm",
+ "c": "flags",
+ "e": "🇿🇲",
+ "d": "zambia",
+ "u": "6.0"
+ },
+ {
+ "n": "flag_zw",
+ "c": "flags",
+ "e": "🇿🇼",
+ "d": "zimbabwe",
+ "u": "6.0"
+ }
+]
diff --git a/public/-/emojis/3/end.png b/public/-/emojis/3/end.png
new file mode 100644
index 00000000000..17c319dc03d
--- /dev/null
+++ b/public/-/emojis/3/end.png
Binary files differ
diff --git a/public/-/emojis/3/envelope.png b/public/-/emojis/3/envelope.png
new file mode 100644
index 00000000000..aed381de949
--- /dev/null
+++ b/public/-/emojis/3/envelope.png
Binary files differ
diff --git a/public/-/emojis/3/envelope_with_arrow.png b/public/-/emojis/3/envelope_with_arrow.png
new file mode 100644
index 00000000000..54b89817587
--- /dev/null
+++ b/public/-/emojis/3/envelope_with_arrow.png
Binary files differ
diff --git a/public/-/emojis/3/euro.png b/public/-/emojis/3/euro.png
new file mode 100644
index 00000000000..2094ed7692f
--- /dev/null
+++ b/public/-/emojis/3/euro.png
Binary files differ
diff --git a/public/-/emojis/3/european_castle.png b/public/-/emojis/3/european_castle.png
new file mode 100644
index 00000000000..5da56216c1e
--- /dev/null
+++ b/public/-/emojis/3/european_castle.png
Binary files differ
diff --git a/public/-/emojis/3/european_post_office.png b/public/-/emojis/3/european_post_office.png
new file mode 100644
index 00000000000..05537ad7702
--- /dev/null
+++ b/public/-/emojis/3/european_post_office.png
Binary files differ
diff --git a/public/-/emojis/3/evergreen_tree.png b/public/-/emojis/3/evergreen_tree.png
new file mode 100644
index 00000000000..1004726d8a8
--- /dev/null
+++ b/public/-/emojis/3/evergreen_tree.png
Binary files differ
diff --git a/public/-/emojis/3/exclamation.png b/public/-/emojis/3/exclamation.png
new file mode 100644
index 00000000000..b5685afaf63
--- /dev/null
+++ b/public/-/emojis/3/exclamation.png
Binary files differ
diff --git a/public/-/emojis/3/expressionless.png b/public/-/emojis/3/expressionless.png
new file mode 100644
index 00000000000..9343ff25768
--- /dev/null
+++ b/public/-/emojis/3/expressionless.png
Binary files differ
diff --git a/public/-/emojis/3/eye.png b/public/-/emojis/3/eye.png
new file mode 100644
index 00000000000..3ed81334987
--- /dev/null
+++ b/public/-/emojis/3/eye.png
Binary files differ
diff --git a/public/-/emojis/3/eye_in_speech_bubble.png b/public/-/emojis/3/eye_in_speech_bubble.png
new file mode 100644
index 00000000000..17517147011
--- /dev/null
+++ b/public/-/emojis/3/eye_in_speech_bubble.png
Binary files differ
diff --git a/public/-/emojis/3/eyeglasses.png b/public/-/emojis/3/eyeglasses.png
new file mode 100644
index 00000000000..bb40227139e
--- /dev/null
+++ b/public/-/emojis/3/eyeglasses.png
Binary files differ
diff --git a/public/-/emojis/3/eyes.png b/public/-/emojis/3/eyes.png
new file mode 100644
index 00000000000..61359d39629
--- /dev/null
+++ b/public/-/emojis/3/eyes.png
Binary files differ
diff --git a/public/-/emojis/3/face_palm.png b/public/-/emojis/3/face_palm.png
new file mode 100644
index 00000000000..002c60b3622
--- /dev/null
+++ b/public/-/emojis/3/face_palm.png
Binary files differ
diff --git a/public/-/emojis/3/face_palm_tone1.png b/public/-/emojis/3/face_palm_tone1.png
new file mode 100644
index 00000000000..fb126e9e89f
--- /dev/null
+++ b/public/-/emojis/3/face_palm_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/face_palm_tone2.png b/public/-/emojis/3/face_palm_tone2.png
new file mode 100644
index 00000000000..84a0fba7993
--- /dev/null
+++ b/public/-/emojis/3/face_palm_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/face_palm_tone3.png b/public/-/emojis/3/face_palm_tone3.png
new file mode 100644
index 00000000000..fe5fe356641
--- /dev/null
+++ b/public/-/emojis/3/face_palm_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/face_palm_tone4.png b/public/-/emojis/3/face_palm_tone4.png
new file mode 100644
index 00000000000..6e9e22338cf
--- /dev/null
+++ b/public/-/emojis/3/face_palm_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/face_palm_tone5.png b/public/-/emojis/3/face_palm_tone5.png
new file mode 100644
index 00000000000..ddac1343cb2
--- /dev/null
+++ b/public/-/emojis/3/face_palm_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/factory.png b/public/-/emojis/3/factory.png
new file mode 100644
index 00000000000..cabe180b278
--- /dev/null
+++ b/public/-/emojis/3/factory.png
Binary files differ
diff --git a/public/-/emojis/3/fallen_leaf.png b/public/-/emojis/3/fallen_leaf.png
new file mode 100644
index 00000000000..931532c6603
--- /dev/null
+++ b/public/-/emojis/3/fallen_leaf.png
Binary files differ
diff --git a/public/-/emojis/3/family.png b/public/-/emojis/3/family.png
new file mode 100644
index 00000000000..4b0ba60c626
--- /dev/null
+++ b/public/-/emojis/3/family.png
Binary files differ
diff --git a/public/-/emojis/3/family_mmb.png b/public/-/emojis/3/family_mmb.png
new file mode 100644
index 00000000000..98d7c8ca41c
--- /dev/null
+++ b/public/-/emojis/3/family_mmb.png
Binary files differ
diff --git a/public/-/emojis/3/family_mmbb.png b/public/-/emojis/3/family_mmbb.png
new file mode 100644
index 00000000000..bc7f57d9ff1
--- /dev/null
+++ b/public/-/emojis/3/family_mmbb.png
Binary files differ
diff --git a/public/-/emojis/3/family_mmg.png b/public/-/emojis/3/family_mmg.png
new file mode 100644
index 00000000000..7c810606d79
--- /dev/null
+++ b/public/-/emojis/3/family_mmg.png
Binary files differ
diff --git a/public/-/emojis/3/family_mmgb.png b/public/-/emojis/3/family_mmgb.png
new file mode 100644
index 00000000000..7b41b66f57e
--- /dev/null
+++ b/public/-/emojis/3/family_mmgb.png
Binary files differ
diff --git a/public/-/emojis/3/family_mmgg.png b/public/-/emojis/3/family_mmgg.png
new file mode 100644
index 00000000000..ce89a085800
--- /dev/null
+++ b/public/-/emojis/3/family_mmgg.png
Binary files differ
diff --git a/public/-/emojis/3/family_mwbb.png b/public/-/emojis/3/family_mwbb.png
new file mode 100644
index 00000000000..b8679e572f2
--- /dev/null
+++ b/public/-/emojis/3/family_mwbb.png
Binary files differ
diff --git a/public/-/emojis/3/family_mwg.png b/public/-/emojis/3/family_mwg.png
new file mode 100644
index 00000000000..affc7206f23
--- /dev/null
+++ b/public/-/emojis/3/family_mwg.png
Binary files differ
diff --git a/public/-/emojis/3/family_mwgb.png b/public/-/emojis/3/family_mwgb.png
new file mode 100644
index 00000000000..5951cf11be3
--- /dev/null
+++ b/public/-/emojis/3/family_mwgb.png
Binary files differ
diff --git a/public/-/emojis/3/family_mwgg.png b/public/-/emojis/3/family_mwgg.png
new file mode 100644
index 00000000000..7aaec104e31
--- /dev/null
+++ b/public/-/emojis/3/family_mwgg.png
Binary files differ
diff --git a/public/-/emojis/3/family_wwb.png b/public/-/emojis/3/family_wwb.png
new file mode 100644
index 00000000000..fb40fefe84a
--- /dev/null
+++ b/public/-/emojis/3/family_wwb.png
Binary files differ
diff --git a/public/-/emojis/3/family_wwbb.png b/public/-/emojis/3/family_wwbb.png
new file mode 100644
index 00000000000..1b6f6ae2434
--- /dev/null
+++ b/public/-/emojis/3/family_wwbb.png
Binary files differ
diff --git a/public/-/emojis/3/family_wwg.png b/public/-/emojis/3/family_wwg.png
new file mode 100644
index 00000000000..6e17b1e8ed6
--- /dev/null
+++ b/public/-/emojis/3/family_wwg.png
Binary files differ
diff --git a/public/-/emojis/3/family_wwgb.png b/public/-/emojis/3/family_wwgb.png
new file mode 100644
index 00000000000..23eeaad269d
--- /dev/null
+++ b/public/-/emojis/3/family_wwgb.png
Binary files differ
diff --git a/public/-/emojis/3/family_wwgg.png b/public/-/emojis/3/family_wwgg.png
new file mode 100644
index 00000000000..c2c19736a96
--- /dev/null
+++ b/public/-/emojis/3/family_wwgg.png
Binary files differ
diff --git a/public/-/emojis/3/fast_forward.png b/public/-/emojis/3/fast_forward.png
new file mode 100644
index 00000000000..307199414d4
--- /dev/null
+++ b/public/-/emojis/3/fast_forward.png
Binary files differ
diff --git a/public/-/emojis/3/fax.png b/public/-/emojis/3/fax.png
new file mode 100644
index 00000000000..ff4ab54244e
--- /dev/null
+++ b/public/-/emojis/3/fax.png
Binary files differ
diff --git a/public/-/emojis/3/fearful.png b/public/-/emojis/3/fearful.png
new file mode 100644
index 00000000000..c6dc3d8f19a
--- /dev/null
+++ b/public/-/emojis/3/fearful.png
Binary files differ
diff --git a/public/-/emojis/3/feet.png b/public/-/emojis/3/feet.png
new file mode 100644
index 00000000000..622a3f4d7f5
--- /dev/null
+++ b/public/-/emojis/3/feet.png
Binary files differ
diff --git a/public/-/emojis/3/fencer.png b/public/-/emojis/3/fencer.png
new file mode 100644
index 00000000000..39ee19e1e3c
--- /dev/null
+++ b/public/-/emojis/3/fencer.png
Binary files differ
diff --git a/public/-/emojis/3/ferris_wheel.png b/public/-/emojis/3/ferris_wheel.png
new file mode 100644
index 00000000000..a2f6c2d9415
--- /dev/null
+++ b/public/-/emojis/3/ferris_wheel.png
Binary files differ
diff --git a/public/-/emojis/3/ferry.png b/public/-/emojis/3/ferry.png
new file mode 100644
index 00000000000..60e738626ea
--- /dev/null
+++ b/public/-/emojis/3/ferry.png
Binary files differ
diff --git a/public/-/emojis/3/field_hockey.png b/public/-/emojis/3/field_hockey.png
new file mode 100644
index 00000000000..758e09349a2
--- /dev/null
+++ b/public/-/emojis/3/field_hockey.png
Binary files differ
diff --git a/public/-/emojis/3/file_cabinet.png b/public/-/emojis/3/file_cabinet.png
new file mode 100644
index 00000000000..88531539f2e
--- /dev/null
+++ b/public/-/emojis/3/file_cabinet.png
Binary files differ
diff --git a/public/-/emojis/3/file_folder.png b/public/-/emojis/3/file_folder.png
new file mode 100644
index 00000000000..47a14a2836a
--- /dev/null
+++ b/public/-/emojis/3/file_folder.png
Binary files differ
diff --git a/public/-/emojis/3/film_frames.png b/public/-/emojis/3/film_frames.png
new file mode 100644
index 00000000000..528cf55a933
--- /dev/null
+++ b/public/-/emojis/3/film_frames.png
Binary files differ
diff --git a/public/-/emojis/3/fingers_crossed.png b/public/-/emojis/3/fingers_crossed.png
new file mode 100644
index 00000000000..2c065dcd557
--- /dev/null
+++ b/public/-/emojis/3/fingers_crossed.png
Binary files differ
diff --git a/public/-/emojis/3/fingers_crossed_tone1.png b/public/-/emojis/3/fingers_crossed_tone1.png
new file mode 100644
index 00000000000..c3864ac868f
--- /dev/null
+++ b/public/-/emojis/3/fingers_crossed_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/fingers_crossed_tone2.png b/public/-/emojis/3/fingers_crossed_tone2.png
new file mode 100644
index 00000000000..82f3b9ce4fe
--- /dev/null
+++ b/public/-/emojis/3/fingers_crossed_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/fingers_crossed_tone3.png b/public/-/emojis/3/fingers_crossed_tone3.png
new file mode 100644
index 00000000000..199fe0cf68d
--- /dev/null
+++ b/public/-/emojis/3/fingers_crossed_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/fingers_crossed_tone4.png b/public/-/emojis/3/fingers_crossed_tone4.png
new file mode 100644
index 00000000000..12d6b8d2963
--- /dev/null
+++ b/public/-/emojis/3/fingers_crossed_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/fingers_crossed_tone5.png b/public/-/emojis/3/fingers_crossed_tone5.png
new file mode 100644
index 00000000000..9a62704dd92
--- /dev/null
+++ b/public/-/emojis/3/fingers_crossed_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/fire.png b/public/-/emojis/3/fire.png
new file mode 100644
index 00000000000..83f34701807
--- /dev/null
+++ b/public/-/emojis/3/fire.png
Binary files differ
diff --git a/public/-/emojis/3/fire_engine.png b/public/-/emojis/3/fire_engine.png
new file mode 100644
index 00000000000..271141fd1b9
--- /dev/null
+++ b/public/-/emojis/3/fire_engine.png
Binary files differ
diff --git a/public/-/emojis/3/fireworks.png b/public/-/emojis/3/fireworks.png
new file mode 100644
index 00000000000..dcfff099ad3
--- /dev/null
+++ b/public/-/emojis/3/fireworks.png
Binary files differ
diff --git a/public/-/emojis/3/first_place.png b/public/-/emojis/3/first_place.png
new file mode 100644
index 00000000000..bf22f19b833
--- /dev/null
+++ b/public/-/emojis/3/first_place.png
Binary files differ
diff --git a/public/-/emojis/3/first_quarter_moon.png b/public/-/emojis/3/first_quarter_moon.png
new file mode 100644
index 00000000000..aeb729f4ce1
--- /dev/null
+++ b/public/-/emojis/3/first_quarter_moon.png
Binary files differ
diff --git a/public/-/emojis/3/first_quarter_moon_with_face.png b/public/-/emojis/3/first_quarter_moon_with_face.png
new file mode 100644
index 00000000000..8042d82544a
--- /dev/null
+++ b/public/-/emojis/3/first_quarter_moon_with_face.png
Binary files differ
diff --git a/public/-/emojis/3/fish.png b/public/-/emojis/3/fish.png
new file mode 100644
index 00000000000..945e72ce9f6
--- /dev/null
+++ b/public/-/emojis/3/fish.png
Binary files differ
diff --git a/public/-/emojis/3/fish_cake.png b/public/-/emojis/3/fish_cake.png
new file mode 100644
index 00000000000..31bb39b908b
--- /dev/null
+++ b/public/-/emojis/3/fish_cake.png
Binary files differ
diff --git a/public/-/emojis/3/fishing_pole_and_fish.png b/public/-/emojis/3/fishing_pole_and_fish.png
new file mode 100644
index 00000000000..5f0fd69a69c
--- /dev/null
+++ b/public/-/emojis/3/fishing_pole_and_fish.png
Binary files differ
diff --git a/public/-/emojis/3/fist.png b/public/-/emojis/3/fist.png
new file mode 100644
index 00000000000..0750351373d
--- /dev/null
+++ b/public/-/emojis/3/fist.png
Binary files differ
diff --git a/public/-/emojis/3/fist_tone1.png b/public/-/emojis/3/fist_tone1.png
new file mode 100644
index 00000000000..bdd0e44d659
--- /dev/null
+++ b/public/-/emojis/3/fist_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/fist_tone2.png b/public/-/emojis/3/fist_tone2.png
new file mode 100644
index 00000000000..7189dba83f2
--- /dev/null
+++ b/public/-/emojis/3/fist_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/fist_tone3.png b/public/-/emojis/3/fist_tone3.png
new file mode 100644
index 00000000000..e0d6ec2ffc3
--- /dev/null
+++ b/public/-/emojis/3/fist_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/fist_tone4.png b/public/-/emojis/3/fist_tone4.png
new file mode 100644
index 00000000000..3d2c974bc00
--- /dev/null
+++ b/public/-/emojis/3/fist_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/fist_tone5.png b/public/-/emojis/3/fist_tone5.png
new file mode 100644
index 00000000000..84d1f68bf4d
--- /dev/null
+++ b/public/-/emojis/3/fist_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/five.png b/public/-/emojis/3/five.png
new file mode 100644
index 00000000000..e7e387b889e
--- /dev/null
+++ b/public/-/emojis/3/five.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ac.png b/public/-/emojis/3/flag_ac.png
new file mode 100644
index 00000000000..e7e7bcaad81
--- /dev/null
+++ b/public/-/emojis/3/flag_ac.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ad.png b/public/-/emojis/3/flag_ad.png
new file mode 100644
index 00000000000..105439cc07e
--- /dev/null
+++ b/public/-/emojis/3/flag_ad.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ae.png b/public/-/emojis/3/flag_ae.png
new file mode 100644
index 00000000000..33b21809a0c
--- /dev/null
+++ b/public/-/emojis/3/flag_ae.png
Binary files differ
diff --git a/public/-/emojis/3/flag_af.png b/public/-/emojis/3/flag_af.png
new file mode 100644
index 00000000000..ab0fe0e4f74
--- /dev/null
+++ b/public/-/emojis/3/flag_af.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ag.png b/public/-/emojis/3/flag_ag.png
new file mode 100644
index 00000000000..2c73fdf1525
--- /dev/null
+++ b/public/-/emojis/3/flag_ag.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ai.png b/public/-/emojis/3/flag_ai.png
new file mode 100644
index 00000000000..065ab03e0ce
--- /dev/null
+++ b/public/-/emojis/3/flag_ai.png
Binary files differ
diff --git a/public/-/emojis/3/flag_al.png b/public/-/emojis/3/flag_al.png
new file mode 100644
index 00000000000..dc0a90eef32
--- /dev/null
+++ b/public/-/emojis/3/flag_al.png
Binary files differ
diff --git a/public/-/emojis/3/flag_am.png b/public/-/emojis/3/flag_am.png
new file mode 100644
index 00000000000..065d25b7153
--- /dev/null
+++ b/public/-/emojis/3/flag_am.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ao.png b/public/-/emojis/3/flag_ao.png
new file mode 100644
index 00000000000..dd957f9ef1d
--- /dev/null
+++ b/public/-/emojis/3/flag_ao.png
Binary files differ
diff --git a/public/-/emojis/3/flag_aq.png b/public/-/emojis/3/flag_aq.png
new file mode 100644
index 00000000000..930e8e3a726
--- /dev/null
+++ b/public/-/emojis/3/flag_aq.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ar.png b/public/-/emojis/3/flag_ar.png
new file mode 100644
index 00000000000..db8209c85c2
--- /dev/null
+++ b/public/-/emojis/3/flag_ar.png
Binary files differ
diff --git a/public/-/emojis/3/flag_as.png b/public/-/emojis/3/flag_as.png
new file mode 100644
index 00000000000..11213f5704a
--- /dev/null
+++ b/public/-/emojis/3/flag_as.png
Binary files differ
diff --git a/public/-/emojis/3/flag_at.png b/public/-/emojis/3/flag_at.png
new file mode 100644
index 00000000000..b33df6aa245
--- /dev/null
+++ b/public/-/emojis/3/flag_at.png
Binary files differ
diff --git a/public/-/emojis/3/flag_au.png b/public/-/emojis/3/flag_au.png
new file mode 100644
index 00000000000..411488897f8
--- /dev/null
+++ b/public/-/emojis/3/flag_au.png
Binary files differ
diff --git a/public/-/emojis/3/flag_aw.png b/public/-/emojis/3/flag_aw.png
new file mode 100644
index 00000000000..3973babb781
--- /dev/null
+++ b/public/-/emojis/3/flag_aw.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ax.png b/public/-/emojis/3/flag_ax.png
new file mode 100644
index 00000000000..11920409024
--- /dev/null
+++ b/public/-/emojis/3/flag_ax.png
Binary files differ
diff --git a/public/-/emojis/3/flag_az.png b/public/-/emojis/3/flag_az.png
new file mode 100644
index 00000000000..e59359684bc
--- /dev/null
+++ b/public/-/emojis/3/flag_az.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ba.png b/public/-/emojis/3/flag_ba.png
new file mode 100644
index 00000000000..d810071c62f
--- /dev/null
+++ b/public/-/emojis/3/flag_ba.png
Binary files differ
diff --git a/public/-/emojis/3/flag_bb.png b/public/-/emojis/3/flag_bb.png
new file mode 100644
index 00000000000..0f8881e39b7
--- /dev/null
+++ b/public/-/emojis/3/flag_bb.png
Binary files differ
diff --git a/public/-/emojis/3/flag_bd.png b/public/-/emojis/3/flag_bd.png
new file mode 100644
index 00000000000..17bcfe491ec
--- /dev/null
+++ b/public/-/emojis/3/flag_bd.png
Binary files differ
diff --git a/public/-/emojis/3/flag_be.png b/public/-/emojis/3/flag_be.png
new file mode 100644
index 00000000000..105dd2bfba7
--- /dev/null
+++ b/public/-/emojis/3/flag_be.png
Binary files differ
diff --git a/public/-/emojis/3/flag_bf.png b/public/-/emojis/3/flag_bf.png
new file mode 100644
index 00000000000..ea075a3b880
--- /dev/null
+++ b/public/-/emojis/3/flag_bf.png
Binary files differ
diff --git a/public/-/emojis/3/flag_bg.png b/public/-/emojis/3/flag_bg.png
new file mode 100644
index 00000000000..9210245917c
--- /dev/null
+++ b/public/-/emojis/3/flag_bg.png
Binary files differ
diff --git a/public/-/emojis/3/flag_bh.png b/public/-/emojis/3/flag_bh.png
new file mode 100644
index 00000000000..2ed0ea1c7a0
--- /dev/null
+++ b/public/-/emojis/3/flag_bh.png
Binary files differ
diff --git a/public/-/emojis/3/flag_bi.png b/public/-/emojis/3/flag_bi.png
new file mode 100644
index 00000000000..98839afcf3a
--- /dev/null
+++ b/public/-/emojis/3/flag_bi.png
Binary files differ
diff --git a/public/-/emojis/3/flag_bj.png b/public/-/emojis/3/flag_bj.png
new file mode 100644
index 00000000000..dffe78e8e0e
--- /dev/null
+++ b/public/-/emojis/3/flag_bj.png
Binary files differ
diff --git a/public/-/emojis/3/flag_bl.png b/public/-/emojis/3/flag_bl.png
new file mode 100644
index 00000000000..267a479dc37
--- /dev/null
+++ b/public/-/emojis/3/flag_bl.png
Binary files differ
diff --git a/public/-/emojis/3/flag_black.png b/public/-/emojis/3/flag_black.png
new file mode 100644
index 00000000000..60c40762a30
--- /dev/null
+++ b/public/-/emojis/3/flag_black.png
Binary files differ
diff --git a/public/-/emojis/3/flag_bm.png b/public/-/emojis/3/flag_bm.png
new file mode 100644
index 00000000000..6c1c56313a2
--- /dev/null
+++ b/public/-/emojis/3/flag_bm.png
Binary files differ
diff --git a/public/-/emojis/3/flag_bn.png b/public/-/emojis/3/flag_bn.png
new file mode 100644
index 00000000000..8e698042cd4
--- /dev/null
+++ b/public/-/emojis/3/flag_bn.png
Binary files differ
diff --git a/public/-/emojis/3/flag_bo.png b/public/-/emojis/3/flag_bo.png
new file mode 100644
index 00000000000..45714cc5f96
--- /dev/null
+++ b/public/-/emojis/3/flag_bo.png
Binary files differ
diff --git a/public/-/emojis/3/flag_bq.png b/public/-/emojis/3/flag_bq.png
new file mode 100644
index 00000000000..52bf03c5017
--- /dev/null
+++ b/public/-/emojis/3/flag_bq.png
Binary files differ
diff --git a/public/-/emojis/3/flag_br.png b/public/-/emojis/3/flag_br.png
new file mode 100644
index 00000000000..1d32b466587
--- /dev/null
+++ b/public/-/emojis/3/flag_br.png
Binary files differ
diff --git a/public/-/emojis/3/flag_bs.png b/public/-/emojis/3/flag_bs.png
new file mode 100644
index 00000000000..3d7cadc9506
--- /dev/null
+++ b/public/-/emojis/3/flag_bs.png
Binary files differ
diff --git a/public/-/emojis/3/flag_bt.png b/public/-/emojis/3/flag_bt.png
new file mode 100644
index 00000000000..bb7219420d3
--- /dev/null
+++ b/public/-/emojis/3/flag_bt.png
Binary files differ
diff --git a/public/-/emojis/3/flag_bv.png b/public/-/emojis/3/flag_bv.png
new file mode 100644
index 00000000000..d94e9a72179
--- /dev/null
+++ b/public/-/emojis/3/flag_bv.png
Binary files differ
diff --git a/public/-/emojis/3/flag_bw.png b/public/-/emojis/3/flag_bw.png
new file mode 100644
index 00000000000..9cbeaa67eea
--- /dev/null
+++ b/public/-/emojis/3/flag_bw.png
Binary files differ
diff --git a/public/-/emojis/3/flag_by.png b/public/-/emojis/3/flag_by.png
new file mode 100644
index 00000000000..8470eaf9b1e
--- /dev/null
+++ b/public/-/emojis/3/flag_by.png
Binary files differ
diff --git a/public/-/emojis/3/flag_bz.png b/public/-/emojis/3/flag_bz.png
new file mode 100644
index 00000000000..2e26a0d6ef8
--- /dev/null
+++ b/public/-/emojis/3/flag_bz.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ca.png b/public/-/emojis/3/flag_ca.png
new file mode 100644
index 00000000000..044edd36311
--- /dev/null
+++ b/public/-/emojis/3/flag_ca.png
Binary files differ
diff --git a/public/-/emojis/3/flag_cc.png b/public/-/emojis/3/flag_cc.png
new file mode 100644
index 00000000000..54e4972ec1d
--- /dev/null
+++ b/public/-/emojis/3/flag_cc.png
Binary files differ
diff --git a/public/-/emojis/3/flag_cd.png b/public/-/emojis/3/flag_cd.png
new file mode 100644
index 00000000000..53fbf77e757
--- /dev/null
+++ b/public/-/emojis/3/flag_cd.png
Binary files differ
diff --git a/public/-/emojis/3/flag_cf.png b/public/-/emojis/3/flag_cf.png
new file mode 100644
index 00000000000..d1db72b656e
--- /dev/null
+++ b/public/-/emojis/3/flag_cf.png
Binary files differ
diff --git a/public/-/emojis/3/flag_cg.png b/public/-/emojis/3/flag_cg.png
new file mode 100644
index 00000000000..c1145ed54b5
--- /dev/null
+++ b/public/-/emojis/3/flag_cg.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ch.png b/public/-/emojis/3/flag_ch.png
new file mode 100644
index 00000000000..700c7fde14d
--- /dev/null
+++ b/public/-/emojis/3/flag_ch.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ci.png b/public/-/emojis/3/flag_ci.png
new file mode 100644
index 00000000000..6629b379c97
--- /dev/null
+++ b/public/-/emojis/3/flag_ci.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ck.png b/public/-/emojis/3/flag_ck.png
new file mode 100644
index 00000000000..11be975c5b0
--- /dev/null
+++ b/public/-/emojis/3/flag_ck.png
Binary files differ
diff --git a/public/-/emojis/3/flag_cl.png b/public/-/emojis/3/flag_cl.png
new file mode 100644
index 00000000000..3c23b255425
--- /dev/null
+++ b/public/-/emojis/3/flag_cl.png
Binary files differ
diff --git a/public/-/emojis/3/flag_cm.png b/public/-/emojis/3/flag_cm.png
new file mode 100644
index 00000000000..6a0bd3cea0c
--- /dev/null
+++ b/public/-/emojis/3/flag_cm.png
Binary files differ
diff --git a/public/-/emojis/3/flag_cn.png b/public/-/emojis/3/flag_cn.png
new file mode 100644
index 00000000000..327aa7dd7bf
--- /dev/null
+++ b/public/-/emojis/3/flag_cn.png
Binary files differ
diff --git a/public/-/emojis/3/flag_co.png b/public/-/emojis/3/flag_co.png
new file mode 100644
index 00000000000..3d8cd9e41f2
--- /dev/null
+++ b/public/-/emojis/3/flag_co.png
Binary files differ
diff --git a/public/-/emojis/3/flag_cp.png b/public/-/emojis/3/flag_cp.png
new file mode 100644
index 00000000000..98039a24e6b
--- /dev/null
+++ b/public/-/emojis/3/flag_cp.png
Binary files differ
diff --git a/public/-/emojis/3/flag_cr.png b/public/-/emojis/3/flag_cr.png
new file mode 100644
index 00000000000..78941a89143
--- /dev/null
+++ b/public/-/emojis/3/flag_cr.png
Binary files differ
diff --git a/public/-/emojis/3/flag_cu.png b/public/-/emojis/3/flag_cu.png
new file mode 100644
index 00000000000..67faa51a5d2
--- /dev/null
+++ b/public/-/emojis/3/flag_cu.png
Binary files differ
diff --git a/public/-/emojis/3/flag_cv.png b/public/-/emojis/3/flag_cv.png
new file mode 100644
index 00000000000..6f481eae77e
--- /dev/null
+++ b/public/-/emojis/3/flag_cv.png
Binary files differ
diff --git a/public/-/emojis/3/flag_cw.png b/public/-/emojis/3/flag_cw.png
new file mode 100644
index 00000000000..afb10f14b60
--- /dev/null
+++ b/public/-/emojis/3/flag_cw.png
Binary files differ
diff --git a/public/-/emojis/3/flag_cx.png b/public/-/emojis/3/flag_cx.png
new file mode 100644
index 00000000000..4fec7f6220f
--- /dev/null
+++ b/public/-/emojis/3/flag_cx.png
Binary files differ
diff --git a/public/-/emojis/3/flag_cy.png b/public/-/emojis/3/flag_cy.png
new file mode 100644
index 00000000000..6d14cf405ff
--- /dev/null
+++ b/public/-/emojis/3/flag_cy.png
Binary files differ
diff --git a/public/-/emojis/3/flag_cz.png b/public/-/emojis/3/flag_cz.png
new file mode 100644
index 00000000000..0182b611410
--- /dev/null
+++ b/public/-/emojis/3/flag_cz.png
Binary files differ
diff --git a/public/-/emojis/3/flag_de.png b/public/-/emojis/3/flag_de.png
new file mode 100644
index 00000000000..3298cfccacd
--- /dev/null
+++ b/public/-/emojis/3/flag_de.png
Binary files differ
diff --git a/public/-/emojis/3/flag_dg.png b/public/-/emojis/3/flag_dg.png
new file mode 100644
index 00000000000..520adc653cc
--- /dev/null
+++ b/public/-/emojis/3/flag_dg.png
Binary files differ
diff --git a/public/-/emojis/3/flag_dj.png b/public/-/emojis/3/flag_dj.png
new file mode 100644
index 00000000000..eef897f1734
--- /dev/null
+++ b/public/-/emojis/3/flag_dj.png
Binary files differ
diff --git a/public/-/emojis/3/flag_dk.png b/public/-/emojis/3/flag_dk.png
new file mode 100644
index 00000000000..120a8fd7138
--- /dev/null
+++ b/public/-/emojis/3/flag_dk.png
Binary files differ
diff --git a/public/-/emojis/3/flag_dm.png b/public/-/emojis/3/flag_dm.png
new file mode 100644
index 00000000000..5c5999be098
--- /dev/null
+++ b/public/-/emojis/3/flag_dm.png
Binary files differ
diff --git a/public/-/emojis/3/flag_do.png b/public/-/emojis/3/flag_do.png
new file mode 100644
index 00000000000..d59ec7e54ef
--- /dev/null
+++ b/public/-/emojis/3/flag_do.png
Binary files differ
diff --git a/public/-/emojis/3/flag_dz.png b/public/-/emojis/3/flag_dz.png
new file mode 100644
index 00000000000..c7d8acc9c66
--- /dev/null
+++ b/public/-/emojis/3/flag_dz.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ea.png b/public/-/emojis/3/flag_ea.png
new file mode 100644
index 00000000000..d48640c85d8
--- /dev/null
+++ b/public/-/emojis/3/flag_ea.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ec.png b/public/-/emojis/3/flag_ec.png
new file mode 100644
index 00000000000..61dddf35f10
--- /dev/null
+++ b/public/-/emojis/3/flag_ec.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ee.png b/public/-/emojis/3/flag_ee.png
new file mode 100644
index 00000000000..620f80e4206
--- /dev/null
+++ b/public/-/emojis/3/flag_ee.png
Binary files differ
diff --git a/public/-/emojis/3/flag_eg.png b/public/-/emojis/3/flag_eg.png
new file mode 100644
index 00000000000..8799f624c2d
--- /dev/null
+++ b/public/-/emojis/3/flag_eg.png
Binary files differ
diff --git a/public/-/emojis/3/flag_eh.png b/public/-/emojis/3/flag_eh.png
new file mode 100644
index 00000000000..829595e4c2c
--- /dev/null
+++ b/public/-/emojis/3/flag_eh.png
Binary files differ
diff --git a/public/-/emojis/3/flag_er.png b/public/-/emojis/3/flag_er.png
new file mode 100644
index 00000000000..a29c0662463
--- /dev/null
+++ b/public/-/emojis/3/flag_er.png
Binary files differ
diff --git a/public/-/emojis/3/flag_es.png b/public/-/emojis/3/flag_es.png
new file mode 100644
index 00000000000..d48640c85d8
--- /dev/null
+++ b/public/-/emojis/3/flag_es.png
Binary files differ
diff --git a/public/-/emojis/3/flag_et.png b/public/-/emojis/3/flag_et.png
new file mode 100644
index 00000000000..a848b8cd19f
--- /dev/null
+++ b/public/-/emojis/3/flag_et.png
Binary files differ
diff --git a/public/-/emojis/3/flag_eu.png b/public/-/emojis/3/flag_eu.png
new file mode 100644
index 00000000000..940d25cbfa1
--- /dev/null
+++ b/public/-/emojis/3/flag_eu.png
Binary files differ
diff --git a/public/-/emojis/3/flag_fi.png b/public/-/emojis/3/flag_fi.png
new file mode 100644
index 00000000000..525b45b11ad
--- /dev/null
+++ b/public/-/emojis/3/flag_fi.png
Binary files differ
diff --git a/public/-/emojis/3/flag_fj.png b/public/-/emojis/3/flag_fj.png
new file mode 100644
index 00000000000..eff4c31d825
--- /dev/null
+++ b/public/-/emojis/3/flag_fj.png
Binary files differ
diff --git a/public/-/emojis/3/flag_fk.png b/public/-/emojis/3/flag_fk.png
new file mode 100644
index 00000000000..32d298878c0
--- /dev/null
+++ b/public/-/emojis/3/flag_fk.png
Binary files differ
diff --git a/public/-/emojis/3/flag_fm.png b/public/-/emojis/3/flag_fm.png
new file mode 100644
index 00000000000..e60b16cc45a
--- /dev/null
+++ b/public/-/emojis/3/flag_fm.png
Binary files differ
diff --git a/public/-/emojis/3/flag_fo.png b/public/-/emojis/3/flag_fo.png
new file mode 100644
index 00000000000..5a518772352
--- /dev/null
+++ b/public/-/emojis/3/flag_fo.png
Binary files differ
diff --git a/public/-/emojis/3/flag_fr.png b/public/-/emojis/3/flag_fr.png
new file mode 100644
index 00000000000..98039a24e6b
--- /dev/null
+++ b/public/-/emojis/3/flag_fr.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ga.png b/public/-/emojis/3/flag_ga.png
new file mode 100644
index 00000000000..28c24da1100
--- /dev/null
+++ b/public/-/emojis/3/flag_ga.png
Binary files differ
diff --git a/public/-/emojis/3/flag_gb.png b/public/-/emojis/3/flag_gb.png
new file mode 100644
index 00000000000..0ca6ffbdf69
--- /dev/null
+++ b/public/-/emojis/3/flag_gb.png
Binary files differ
diff --git a/public/-/emojis/3/flag_gd.png b/public/-/emojis/3/flag_gd.png
new file mode 100644
index 00000000000..d0d4abc000e
--- /dev/null
+++ b/public/-/emojis/3/flag_gd.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ge.png b/public/-/emojis/3/flag_ge.png
new file mode 100644
index 00000000000..f9fab204a42
--- /dev/null
+++ b/public/-/emojis/3/flag_ge.png
Binary files differ
diff --git a/public/-/emojis/3/flag_gf.png b/public/-/emojis/3/flag_gf.png
new file mode 100644
index 00000000000..a762e4f4303
--- /dev/null
+++ b/public/-/emojis/3/flag_gf.png
Binary files differ
diff --git a/public/-/emojis/3/flag_gg.png b/public/-/emojis/3/flag_gg.png
new file mode 100644
index 00000000000..d90a4d5fb95
--- /dev/null
+++ b/public/-/emojis/3/flag_gg.png
Binary files differ
diff --git a/public/-/emojis/3/flag_gh.png b/public/-/emojis/3/flag_gh.png
new file mode 100644
index 00000000000..82a2f41e187
--- /dev/null
+++ b/public/-/emojis/3/flag_gh.png
Binary files differ
diff --git a/public/-/emojis/3/flag_gi.png b/public/-/emojis/3/flag_gi.png
new file mode 100644
index 00000000000..c2d84ddcb38
--- /dev/null
+++ b/public/-/emojis/3/flag_gi.png
Binary files differ
diff --git a/public/-/emojis/3/flag_gl.png b/public/-/emojis/3/flag_gl.png
new file mode 100644
index 00000000000..6f38711a78c
--- /dev/null
+++ b/public/-/emojis/3/flag_gl.png
Binary files differ
diff --git a/public/-/emojis/3/flag_gm.png b/public/-/emojis/3/flag_gm.png
new file mode 100644
index 00000000000..9b5b726373d
--- /dev/null
+++ b/public/-/emojis/3/flag_gm.png
Binary files differ
diff --git a/public/-/emojis/3/flag_gn.png b/public/-/emojis/3/flag_gn.png
new file mode 100644
index 00000000000..8821ec9bd42
--- /dev/null
+++ b/public/-/emojis/3/flag_gn.png
Binary files differ
diff --git a/public/-/emojis/3/flag_gp.png b/public/-/emojis/3/flag_gp.png
new file mode 100644
index 00000000000..a647fced59b
--- /dev/null
+++ b/public/-/emojis/3/flag_gp.png
Binary files differ
diff --git a/public/-/emojis/3/flag_gq.png b/public/-/emojis/3/flag_gq.png
new file mode 100644
index 00000000000..11cc7efcc09
--- /dev/null
+++ b/public/-/emojis/3/flag_gq.png
Binary files differ
diff --git a/public/-/emojis/3/flag_gr.png b/public/-/emojis/3/flag_gr.png
new file mode 100644
index 00000000000..d21b9090c46
--- /dev/null
+++ b/public/-/emojis/3/flag_gr.png
Binary files differ
diff --git a/public/-/emojis/3/flag_gs.png b/public/-/emojis/3/flag_gs.png
new file mode 100644
index 00000000000..6134e4d008a
--- /dev/null
+++ b/public/-/emojis/3/flag_gs.png
Binary files differ
diff --git a/public/-/emojis/3/flag_gt.png b/public/-/emojis/3/flag_gt.png
new file mode 100644
index 00000000000..f6164936b1e
--- /dev/null
+++ b/public/-/emojis/3/flag_gt.png
Binary files differ
diff --git a/public/-/emojis/3/flag_gu.png b/public/-/emojis/3/flag_gu.png
new file mode 100644
index 00000000000..a98170e8398
--- /dev/null
+++ b/public/-/emojis/3/flag_gu.png
Binary files differ
diff --git a/public/-/emojis/3/flag_gw.png b/public/-/emojis/3/flag_gw.png
new file mode 100644
index 00000000000..e378bef4372
--- /dev/null
+++ b/public/-/emojis/3/flag_gw.png
Binary files differ
diff --git a/public/-/emojis/3/flag_gy.png b/public/-/emojis/3/flag_gy.png
new file mode 100644
index 00000000000..ecda480554c
--- /dev/null
+++ b/public/-/emojis/3/flag_gy.png
Binary files differ
diff --git a/public/-/emojis/3/flag_hk.png b/public/-/emojis/3/flag_hk.png
new file mode 100644
index 00000000000..a10bb088089
--- /dev/null
+++ b/public/-/emojis/3/flag_hk.png
Binary files differ
diff --git a/public/-/emojis/3/flag_hm.png b/public/-/emojis/3/flag_hm.png
new file mode 100644
index 00000000000..411488897f8
--- /dev/null
+++ b/public/-/emojis/3/flag_hm.png
Binary files differ
diff --git a/public/-/emojis/3/flag_hn.png b/public/-/emojis/3/flag_hn.png
new file mode 100644
index 00000000000..d0022feac8e
--- /dev/null
+++ b/public/-/emojis/3/flag_hn.png
Binary files differ
diff --git a/public/-/emojis/3/flag_hr.png b/public/-/emojis/3/flag_hr.png
new file mode 100644
index 00000000000..e802cb38946
--- /dev/null
+++ b/public/-/emojis/3/flag_hr.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ht.png b/public/-/emojis/3/flag_ht.png
new file mode 100644
index 00000000000..f82286d8814
--- /dev/null
+++ b/public/-/emojis/3/flag_ht.png
Binary files differ
diff --git a/public/-/emojis/3/flag_hu.png b/public/-/emojis/3/flag_hu.png
new file mode 100644
index 00000000000..e32ae6719f6
--- /dev/null
+++ b/public/-/emojis/3/flag_hu.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ic.png b/public/-/emojis/3/flag_ic.png
new file mode 100644
index 00000000000..e99d9d3f245
--- /dev/null
+++ b/public/-/emojis/3/flag_ic.png
Binary files differ
diff --git a/public/-/emojis/3/flag_id.png b/public/-/emojis/3/flag_id.png
new file mode 100644
index 00000000000..3cfc3fa45c8
--- /dev/null
+++ b/public/-/emojis/3/flag_id.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ie.png b/public/-/emojis/3/flag_ie.png
new file mode 100644
index 00000000000..0dd86179495
--- /dev/null
+++ b/public/-/emojis/3/flag_ie.png
Binary files differ
diff --git a/public/-/emojis/3/flag_il.png b/public/-/emojis/3/flag_il.png
new file mode 100644
index 00000000000..439ced78d3b
--- /dev/null
+++ b/public/-/emojis/3/flag_il.png
Binary files differ
diff --git a/public/-/emojis/3/flag_im.png b/public/-/emojis/3/flag_im.png
new file mode 100644
index 00000000000..69fc5a30ed9
--- /dev/null
+++ b/public/-/emojis/3/flag_im.png
Binary files differ
diff --git a/public/-/emojis/3/flag_in.png b/public/-/emojis/3/flag_in.png
new file mode 100644
index 00000000000..8ad7e9447d1
--- /dev/null
+++ b/public/-/emojis/3/flag_in.png
Binary files differ
diff --git a/public/-/emojis/3/flag_io.png b/public/-/emojis/3/flag_io.png
new file mode 100644
index 00000000000..520adc653cc
--- /dev/null
+++ b/public/-/emojis/3/flag_io.png
Binary files differ
diff --git a/public/-/emojis/3/flag_iq.png b/public/-/emojis/3/flag_iq.png
new file mode 100644
index 00000000000..3af377f252d
--- /dev/null
+++ b/public/-/emojis/3/flag_iq.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ir.png b/public/-/emojis/3/flag_ir.png
new file mode 100644
index 00000000000..66c91de1b35
--- /dev/null
+++ b/public/-/emojis/3/flag_ir.png
Binary files differ
diff --git a/public/-/emojis/3/flag_is.png b/public/-/emojis/3/flag_is.png
new file mode 100644
index 00000000000..0b0379b6993
--- /dev/null
+++ b/public/-/emojis/3/flag_is.png
Binary files differ
diff --git a/public/-/emojis/3/flag_it.png b/public/-/emojis/3/flag_it.png
new file mode 100644
index 00000000000..b18c50adea5
--- /dev/null
+++ b/public/-/emojis/3/flag_it.png
Binary files differ
diff --git a/public/-/emojis/3/flag_je.png b/public/-/emojis/3/flag_je.png
new file mode 100644
index 00000000000..c514594f15e
--- /dev/null
+++ b/public/-/emojis/3/flag_je.png
Binary files differ
diff --git a/public/-/emojis/3/flag_jm.png b/public/-/emojis/3/flag_jm.png
new file mode 100644
index 00000000000..96cba7996cb
--- /dev/null
+++ b/public/-/emojis/3/flag_jm.png
Binary files differ
diff --git a/public/-/emojis/3/flag_jo.png b/public/-/emojis/3/flag_jo.png
new file mode 100644
index 00000000000..3d96d761668
--- /dev/null
+++ b/public/-/emojis/3/flag_jo.png
Binary files differ
diff --git a/public/-/emojis/3/flag_jp.png b/public/-/emojis/3/flag_jp.png
new file mode 100644
index 00000000000..e5c1c471846
--- /dev/null
+++ b/public/-/emojis/3/flag_jp.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ke.png b/public/-/emojis/3/flag_ke.png
new file mode 100644
index 00000000000..bf3ee8acde3
--- /dev/null
+++ b/public/-/emojis/3/flag_ke.png
Binary files differ
diff --git a/public/-/emojis/3/flag_kg.png b/public/-/emojis/3/flag_kg.png
new file mode 100644
index 00000000000..683c1837886
--- /dev/null
+++ b/public/-/emojis/3/flag_kg.png
Binary files differ
diff --git a/public/-/emojis/3/flag_kh.png b/public/-/emojis/3/flag_kh.png
new file mode 100644
index 00000000000..c5ebaee91d5
--- /dev/null
+++ b/public/-/emojis/3/flag_kh.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ki.png b/public/-/emojis/3/flag_ki.png
new file mode 100644
index 00000000000..1e99c52b4c0
--- /dev/null
+++ b/public/-/emojis/3/flag_ki.png
Binary files differ
diff --git a/public/-/emojis/3/flag_km.png b/public/-/emojis/3/flag_km.png
new file mode 100644
index 00000000000..c394f1c75f5
--- /dev/null
+++ b/public/-/emojis/3/flag_km.png
Binary files differ
diff --git a/public/-/emojis/3/flag_kn.png b/public/-/emojis/3/flag_kn.png
new file mode 100644
index 00000000000..c8a4e42d97b
--- /dev/null
+++ b/public/-/emojis/3/flag_kn.png
Binary files differ
diff --git a/public/-/emojis/3/flag_kp.png b/public/-/emojis/3/flag_kp.png
new file mode 100644
index 00000000000..aa0ac4f6473
--- /dev/null
+++ b/public/-/emojis/3/flag_kp.png
Binary files differ
diff --git a/public/-/emojis/3/flag_kr.png b/public/-/emojis/3/flag_kr.png
new file mode 100644
index 00000000000..356d312e961
--- /dev/null
+++ b/public/-/emojis/3/flag_kr.png
Binary files differ
diff --git a/public/-/emojis/3/flag_kw.png b/public/-/emojis/3/flag_kw.png
new file mode 100644
index 00000000000..fc30e8ea8cb
--- /dev/null
+++ b/public/-/emojis/3/flag_kw.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ky.png b/public/-/emojis/3/flag_ky.png
new file mode 100644
index 00000000000..ec4b2a48d93
--- /dev/null
+++ b/public/-/emojis/3/flag_ky.png
Binary files differ
diff --git a/public/-/emojis/3/flag_kz.png b/public/-/emojis/3/flag_kz.png
new file mode 100644
index 00000000000..7f3c5e4eb70
--- /dev/null
+++ b/public/-/emojis/3/flag_kz.png
Binary files differ
diff --git a/public/-/emojis/3/flag_la.png b/public/-/emojis/3/flag_la.png
new file mode 100644
index 00000000000..f61309db084
--- /dev/null
+++ b/public/-/emojis/3/flag_la.png
Binary files differ
diff --git a/public/-/emojis/3/flag_lb.png b/public/-/emojis/3/flag_lb.png
new file mode 100644
index 00000000000..83bbd534f1d
--- /dev/null
+++ b/public/-/emojis/3/flag_lb.png
Binary files differ
diff --git a/public/-/emojis/3/flag_lc.png b/public/-/emojis/3/flag_lc.png
new file mode 100644
index 00000000000..42b49d2059c
--- /dev/null
+++ b/public/-/emojis/3/flag_lc.png
Binary files differ
diff --git a/public/-/emojis/3/flag_li.png b/public/-/emojis/3/flag_li.png
new file mode 100644
index 00000000000..851a5e23c7c
--- /dev/null
+++ b/public/-/emojis/3/flag_li.png
Binary files differ
diff --git a/public/-/emojis/3/flag_lk.png b/public/-/emojis/3/flag_lk.png
new file mode 100644
index 00000000000..94148a42a6f
--- /dev/null
+++ b/public/-/emojis/3/flag_lk.png
Binary files differ
diff --git a/public/-/emojis/3/flag_lr.png b/public/-/emojis/3/flag_lr.png
new file mode 100644
index 00000000000..316e623afe0
--- /dev/null
+++ b/public/-/emojis/3/flag_lr.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ls.png b/public/-/emojis/3/flag_ls.png
new file mode 100644
index 00000000000..0935837ec98
--- /dev/null
+++ b/public/-/emojis/3/flag_ls.png
Binary files differ
diff --git a/public/-/emojis/3/flag_lt.png b/public/-/emojis/3/flag_lt.png
new file mode 100644
index 00000000000..2b4bc32fd91
--- /dev/null
+++ b/public/-/emojis/3/flag_lt.png
Binary files differ
diff --git a/public/-/emojis/3/flag_lu.png b/public/-/emojis/3/flag_lu.png
new file mode 100644
index 00000000000..ebdcc7741fd
--- /dev/null
+++ b/public/-/emojis/3/flag_lu.png
Binary files differ
diff --git a/public/-/emojis/3/flag_lv.png b/public/-/emojis/3/flag_lv.png
new file mode 100644
index 00000000000..1c9eca324cd
--- /dev/null
+++ b/public/-/emojis/3/flag_lv.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ly.png b/public/-/emojis/3/flag_ly.png
new file mode 100644
index 00000000000..7a592633b01
--- /dev/null
+++ b/public/-/emojis/3/flag_ly.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ma.png b/public/-/emojis/3/flag_ma.png
new file mode 100644
index 00000000000..e10789036e4
--- /dev/null
+++ b/public/-/emojis/3/flag_ma.png
Binary files differ
diff --git a/public/-/emojis/3/flag_mc.png b/public/-/emojis/3/flag_mc.png
new file mode 100644
index 00000000000..4ce51af1b03
--- /dev/null
+++ b/public/-/emojis/3/flag_mc.png
Binary files differ
diff --git a/public/-/emojis/3/flag_md.png b/public/-/emojis/3/flag_md.png
new file mode 100644
index 00000000000..f2397e452ae
--- /dev/null
+++ b/public/-/emojis/3/flag_md.png
Binary files differ
diff --git a/public/-/emojis/3/flag_me.png b/public/-/emojis/3/flag_me.png
new file mode 100644
index 00000000000..90d099d845f
--- /dev/null
+++ b/public/-/emojis/3/flag_me.png
Binary files differ
diff --git a/public/-/emojis/3/flag_mf.png b/public/-/emojis/3/flag_mf.png
new file mode 100644
index 00000000000..98039a24e6b
--- /dev/null
+++ b/public/-/emojis/3/flag_mf.png
Binary files differ
diff --git a/public/-/emojis/3/flag_mg.png b/public/-/emojis/3/flag_mg.png
new file mode 100644
index 00000000000..e4735ae04bc
--- /dev/null
+++ b/public/-/emojis/3/flag_mg.png
Binary files differ
diff --git a/public/-/emojis/3/flag_mh.png b/public/-/emojis/3/flag_mh.png
new file mode 100644
index 00000000000..9c092055bd9
--- /dev/null
+++ b/public/-/emojis/3/flag_mh.png
Binary files differ
diff --git a/public/-/emojis/3/flag_mk.png b/public/-/emojis/3/flag_mk.png
new file mode 100644
index 00000000000..a19baac59dd
--- /dev/null
+++ b/public/-/emojis/3/flag_mk.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ml.png b/public/-/emojis/3/flag_ml.png
new file mode 100644
index 00000000000..5ffff4573f0
--- /dev/null
+++ b/public/-/emojis/3/flag_ml.png
Binary files differ
diff --git a/public/-/emojis/3/flag_mm.png b/public/-/emojis/3/flag_mm.png
new file mode 100644
index 00000000000..31e81f3eb82
--- /dev/null
+++ b/public/-/emojis/3/flag_mm.png
Binary files differ
diff --git a/public/-/emojis/3/flag_mn.png b/public/-/emojis/3/flag_mn.png
new file mode 100644
index 00000000000..52e6d949f8b
--- /dev/null
+++ b/public/-/emojis/3/flag_mn.png
Binary files differ
diff --git a/public/-/emojis/3/flag_mo.png b/public/-/emojis/3/flag_mo.png
new file mode 100644
index 00000000000..a46519c4452
--- /dev/null
+++ b/public/-/emojis/3/flag_mo.png
Binary files differ
diff --git a/public/-/emojis/3/flag_mp.png b/public/-/emojis/3/flag_mp.png
new file mode 100644
index 00000000000..726df4037b9
--- /dev/null
+++ b/public/-/emojis/3/flag_mp.png
Binary files differ
diff --git a/public/-/emojis/3/flag_mq.png b/public/-/emojis/3/flag_mq.png
new file mode 100644
index 00000000000..f88d5d97735
--- /dev/null
+++ b/public/-/emojis/3/flag_mq.png
Binary files differ
diff --git a/public/-/emojis/3/flag_mr.png b/public/-/emojis/3/flag_mr.png
new file mode 100644
index 00000000000..b2b01eb272d
--- /dev/null
+++ b/public/-/emojis/3/flag_mr.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ms.png b/public/-/emojis/3/flag_ms.png
new file mode 100644
index 00000000000..5f202c492c3
--- /dev/null
+++ b/public/-/emojis/3/flag_ms.png
Binary files differ
diff --git a/public/-/emojis/3/flag_mt.png b/public/-/emojis/3/flag_mt.png
new file mode 100644
index 00000000000..33eae3cab25
--- /dev/null
+++ b/public/-/emojis/3/flag_mt.png
Binary files differ
diff --git a/public/-/emojis/3/flag_mu.png b/public/-/emojis/3/flag_mu.png
new file mode 100644
index 00000000000..6404dbf9a34
--- /dev/null
+++ b/public/-/emojis/3/flag_mu.png
Binary files differ
diff --git a/public/-/emojis/3/flag_mv.png b/public/-/emojis/3/flag_mv.png
new file mode 100644
index 00000000000..2027b0e826c
--- /dev/null
+++ b/public/-/emojis/3/flag_mv.png
Binary files differ
diff --git a/public/-/emojis/3/flag_mw.png b/public/-/emojis/3/flag_mw.png
new file mode 100644
index 00000000000..2dec6561580
--- /dev/null
+++ b/public/-/emojis/3/flag_mw.png
Binary files differ
diff --git a/public/-/emojis/3/flag_mx.png b/public/-/emojis/3/flag_mx.png
new file mode 100644
index 00000000000..f24df18d199
--- /dev/null
+++ b/public/-/emojis/3/flag_mx.png
Binary files differ
diff --git a/public/-/emojis/3/flag_my.png b/public/-/emojis/3/flag_my.png
new file mode 100644
index 00000000000..4de9b8de086
--- /dev/null
+++ b/public/-/emojis/3/flag_my.png
Binary files differ
diff --git a/public/-/emojis/3/flag_mz.png b/public/-/emojis/3/flag_mz.png
new file mode 100644
index 00000000000..b7d7ca87a8e
--- /dev/null
+++ b/public/-/emojis/3/flag_mz.png
Binary files differ
diff --git a/public/-/emojis/3/flag_na.png b/public/-/emojis/3/flag_na.png
new file mode 100644
index 00000000000..04316824cc9
--- /dev/null
+++ b/public/-/emojis/3/flag_na.png
Binary files differ
diff --git a/public/-/emojis/3/flag_nc.png b/public/-/emojis/3/flag_nc.png
new file mode 100644
index 00000000000..52ee45e79d9
--- /dev/null
+++ b/public/-/emojis/3/flag_nc.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ne.png b/public/-/emojis/3/flag_ne.png
new file mode 100644
index 00000000000..f0a0c09a522
--- /dev/null
+++ b/public/-/emojis/3/flag_ne.png
Binary files differ
diff --git a/public/-/emojis/3/flag_nf.png b/public/-/emojis/3/flag_nf.png
new file mode 100644
index 00000000000..5819a858430
--- /dev/null
+++ b/public/-/emojis/3/flag_nf.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ng.png b/public/-/emojis/3/flag_ng.png
new file mode 100644
index 00000000000..944486f9691
--- /dev/null
+++ b/public/-/emojis/3/flag_ng.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ni.png b/public/-/emojis/3/flag_ni.png
new file mode 100644
index 00000000000..5ccdc5a94b1
--- /dev/null
+++ b/public/-/emojis/3/flag_ni.png
Binary files differ
diff --git a/public/-/emojis/3/flag_nl.png b/public/-/emojis/3/flag_nl.png
new file mode 100644
index 00000000000..3ea08f39858
--- /dev/null
+++ b/public/-/emojis/3/flag_nl.png
Binary files differ
diff --git a/public/-/emojis/3/flag_no.png b/public/-/emojis/3/flag_no.png
new file mode 100644
index 00000000000..d94e9a72179
--- /dev/null
+++ b/public/-/emojis/3/flag_no.png
Binary files differ
diff --git a/public/-/emojis/3/flag_np.png b/public/-/emojis/3/flag_np.png
new file mode 100644
index 00000000000..8105052636b
--- /dev/null
+++ b/public/-/emojis/3/flag_np.png
Binary files differ
diff --git a/public/-/emojis/3/flag_nr.png b/public/-/emojis/3/flag_nr.png
new file mode 100644
index 00000000000..15295d0df43
--- /dev/null
+++ b/public/-/emojis/3/flag_nr.png
Binary files differ
diff --git a/public/-/emojis/3/flag_nu.png b/public/-/emojis/3/flag_nu.png
new file mode 100644
index 00000000000..6b5afc0bca6
--- /dev/null
+++ b/public/-/emojis/3/flag_nu.png
Binary files differ
diff --git a/public/-/emojis/3/flag_nz.png b/public/-/emojis/3/flag_nz.png
new file mode 100644
index 00000000000..ea6f2368d20
--- /dev/null
+++ b/public/-/emojis/3/flag_nz.png
Binary files differ
diff --git a/public/-/emojis/3/flag_om.png b/public/-/emojis/3/flag_om.png
new file mode 100644
index 00000000000..57c88d19d01
--- /dev/null
+++ b/public/-/emojis/3/flag_om.png
Binary files differ
diff --git a/public/-/emojis/3/flag_pa.png b/public/-/emojis/3/flag_pa.png
new file mode 100644
index 00000000000..d9d880b5b87
--- /dev/null
+++ b/public/-/emojis/3/flag_pa.png
Binary files differ
diff --git a/public/-/emojis/3/flag_pe.png b/public/-/emojis/3/flag_pe.png
new file mode 100644
index 00000000000..7d41ec53fd3
--- /dev/null
+++ b/public/-/emojis/3/flag_pe.png
Binary files differ
diff --git a/public/-/emojis/3/flag_pf.png b/public/-/emojis/3/flag_pf.png
new file mode 100644
index 00000000000..2a14a5e1e4f
--- /dev/null
+++ b/public/-/emojis/3/flag_pf.png
Binary files differ
diff --git a/public/-/emojis/3/flag_pg.png b/public/-/emojis/3/flag_pg.png
new file mode 100644
index 00000000000..95acf5da44f
--- /dev/null
+++ b/public/-/emojis/3/flag_pg.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ph.png b/public/-/emojis/3/flag_ph.png
new file mode 100644
index 00000000000..e84f6d51761
--- /dev/null
+++ b/public/-/emojis/3/flag_ph.png
Binary files differ
diff --git a/public/-/emojis/3/flag_pk.png b/public/-/emojis/3/flag_pk.png
new file mode 100644
index 00000000000..d4ad31d7270
--- /dev/null
+++ b/public/-/emojis/3/flag_pk.png
Binary files differ
diff --git a/public/-/emojis/3/flag_pl.png b/public/-/emojis/3/flag_pl.png
new file mode 100644
index 00000000000..0f1839943b4
--- /dev/null
+++ b/public/-/emojis/3/flag_pl.png
Binary files differ
diff --git a/public/-/emojis/3/flag_pm.png b/public/-/emojis/3/flag_pm.png
new file mode 100644
index 00000000000..6034f084a6d
--- /dev/null
+++ b/public/-/emojis/3/flag_pm.png
Binary files differ
diff --git a/public/-/emojis/3/flag_pn.png b/public/-/emojis/3/flag_pn.png
new file mode 100644
index 00000000000..b7098d1c8fe
--- /dev/null
+++ b/public/-/emojis/3/flag_pn.png
Binary files differ
diff --git a/public/-/emojis/3/flag_pr.png b/public/-/emojis/3/flag_pr.png
new file mode 100644
index 00000000000..2fc5e5dc3cf
--- /dev/null
+++ b/public/-/emojis/3/flag_pr.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ps.png b/public/-/emojis/3/flag_ps.png
new file mode 100644
index 00000000000..f85277da227
--- /dev/null
+++ b/public/-/emojis/3/flag_ps.png
Binary files differ
diff --git a/public/-/emojis/3/flag_pt.png b/public/-/emojis/3/flag_pt.png
new file mode 100644
index 00000000000..db518e255d1
--- /dev/null
+++ b/public/-/emojis/3/flag_pt.png
Binary files differ
diff --git a/public/-/emojis/3/flag_pw.png b/public/-/emojis/3/flag_pw.png
new file mode 100644
index 00000000000..dc72d2877a1
--- /dev/null
+++ b/public/-/emojis/3/flag_pw.png
Binary files differ
diff --git a/public/-/emojis/3/flag_py.png b/public/-/emojis/3/flag_py.png
new file mode 100644
index 00000000000..32d09073d15
--- /dev/null
+++ b/public/-/emojis/3/flag_py.png
Binary files differ
diff --git a/public/-/emojis/3/flag_qa.png b/public/-/emojis/3/flag_qa.png
new file mode 100644
index 00000000000..02bebd76678
--- /dev/null
+++ b/public/-/emojis/3/flag_qa.png
Binary files differ
diff --git a/public/-/emojis/3/flag_re.png b/public/-/emojis/3/flag_re.png
new file mode 100644
index 00000000000..76ab2085f47
--- /dev/null
+++ b/public/-/emojis/3/flag_re.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ro.png b/public/-/emojis/3/flag_ro.png
new file mode 100644
index 00000000000..ed9cdd874be
--- /dev/null
+++ b/public/-/emojis/3/flag_ro.png
Binary files differ
diff --git a/public/-/emojis/3/flag_rs.png b/public/-/emojis/3/flag_rs.png
new file mode 100644
index 00000000000..767a22acb64
--- /dev/null
+++ b/public/-/emojis/3/flag_rs.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ru.png b/public/-/emojis/3/flag_ru.png
new file mode 100644
index 00000000000..4ef7edfa177
--- /dev/null
+++ b/public/-/emojis/3/flag_ru.png
Binary files differ
diff --git a/public/-/emojis/3/flag_rw.png b/public/-/emojis/3/flag_rw.png
new file mode 100644
index 00000000000..15c38302d80
--- /dev/null
+++ b/public/-/emojis/3/flag_rw.png
Binary files differ
diff --git a/public/-/emojis/3/flag_sa.png b/public/-/emojis/3/flag_sa.png
new file mode 100644
index 00000000000..f9845634a24
--- /dev/null
+++ b/public/-/emojis/3/flag_sa.png
Binary files differ
diff --git a/public/-/emojis/3/flag_sb.png b/public/-/emojis/3/flag_sb.png
new file mode 100644
index 00000000000..dda0b3cae0c
--- /dev/null
+++ b/public/-/emojis/3/flag_sb.png
Binary files differ
diff --git a/public/-/emojis/3/flag_sc.png b/public/-/emojis/3/flag_sc.png
new file mode 100644
index 00000000000..097f3f8f851
--- /dev/null
+++ b/public/-/emojis/3/flag_sc.png
Binary files differ
diff --git a/public/-/emojis/3/flag_sd.png b/public/-/emojis/3/flag_sd.png
new file mode 100644
index 00000000000..70a3a95a8ee
--- /dev/null
+++ b/public/-/emojis/3/flag_sd.png
Binary files differ
diff --git a/public/-/emojis/3/flag_se.png b/public/-/emojis/3/flag_se.png
new file mode 100644
index 00000000000..4904b2cba39
--- /dev/null
+++ b/public/-/emojis/3/flag_se.png
Binary files differ
diff --git a/public/-/emojis/3/flag_sg.png b/public/-/emojis/3/flag_sg.png
new file mode 100644
index 00000000000..f4f9416c467
--- /dev/null
+++ b/public/-/emojis/3/flag_sg.png
Binary files differ
diff --git a/public/-/emojis/3/flag_sh.png b/public/-/emojis/3/flag_sh.png
new file mode 100644
index 00000000000..a0122711407
--- /dev/null
+++ b/public/-/emojis/3/flag_sh.png
Binary files differ
diff --git a/public/-/emojis/3/flag_si.png b/public/-/emojis/3/flag_si.png
new file mode 100644
index 00000000000..36736281a49
--- /dev/null
+++ b/public/-/emojis/3/flag_si.png
Binary files differ
diff --git a/public/-/emojis/3/flag_sj.png b/public/-/emojis/3/flag_sj.png
new file mode 100644
index 00000000000..d94e9a72179
--- /dev/null
+++ b/public/-/emojis/3/flag_sj.png
Binary files differ
diff --git a/public/-/emojis/3/flag_sk.png b/public/-/emojis/3/flag_sk.png
new file mode 100644
index 00000000000..46e027dea8b
--- /dev/null
+++ b/public/-/emojis/3/flag_sk.png
Binary files differ
diff --git a/public/-/emojis/3/flag_sl.png b/public/-/emojis/3/flag_sl.png
new file mode 100644
index 00000000000..3f2e4f191b0
--- /dev/null
+++ b/public/-/emojis/3/flag_sl.png
Binary files differ
diff --git a/public/-/emojis/3/flag_sm.png b/public/-/emojis/3/flag_sm.png
new file mode 100644
index 00000000000..261b25e45f4
--- /dev/null
+++ b/public/-/emojis/3/flag_sm.png
Binary files differ
diff --git a/public/-/emojis/3/flag_sn.png b/public/-/emojis/3/flag_sn.png
new file mode 100644
index 00000000000..97e2fbe745b
--- /dev/null
+++ b/public/-/emojis/3/flag_sn.png
Binary files differ
diff --git a/public/-/emojis/3/flag_so.png b/public/-/emojis/3/flag_so.png
new file mode 100644
index 00000000000..aaecb5fb5a0
--- /dev/null
+++ b/public/-/emojis/3/flag_so.png
Binary files differ
diff --git a/public/-/emojis/3/flag_sr.png b/public/-/emojis/3/flag_sr.png
new file mode 100644
index 00000000000..b2c03cf5b3c
--- /dev/null
+++ b/public/-/emojis/3/flag_sr.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ss.png b/public/-/emojis/3/flag_ss.png
new file mode 100644
index 00000000000..65b217b70e3
--- /dev/null
+++ b/public/-/emojis/3/flag_ss.png
Binary files differ
diff --git a/public/-/emojis/3/flag_st.png b/public/-/emojis/3/flag_st.png
new file mode 100644
index 00000000000..9cb7c0287b7
--- /dev/null
+++ b/public/-/emojis/3/flag_st.png
Binary files differ
diff --git a/public/-/emojis/3/flag_sv.png b/public/-/emojis/3/flag_sv.png
new file mode 100644
index 00000000000..006ac33d5a5
--- /dev/null
+++ b/public/-/emojis/3/flag_sv.png
Binary files differ
diff --git a/public/-/emojis/3/flag_sx.png b/public/-/emojis/3/flag_sx.png
new file mode 100644
index 00000000000..52228e067ba
--- /dev/null
+++ b/public/-/emojis/3/flag_sx.png
Binary files differ
diff --git a/public/-/emojis/3/flag_sy.png b/public/-/emojis/3/flag_sy.png
new file mode 100644
index 00000000000..314495da4b3
--- /dev/null
+++ b/public/-/emojis/3/flag_sy.png
Binary files differ
diff --git a/public/-/emojis/3/flag_sz.png b/public/-/emojis/3/flag_sz.png
new file mode 100644
index 00000000000..ef94dd551d0
--- /dev/null
+++ b/public/-/emojis/3/flag_sz.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ta.png b/public/-/emojis/3/flag_ta.png
new file mode 100644
index 00000000000..e1bbc026b65
--- /dev/null
+++ b/public/-/emojis/3/flag_ta.png
Binary files differ
diff --git a/public/-/emojis/3/flag_tc.png b/public/-/emojis/3/flag_tc.png
new file mode 100644
index 00000000000..c244969df1f
--- /dev/null
+++ b/public/-/emojis/3/flag_tc.png
Binary files differ
diff --git a/public/-/emojis/3/flag_td.png b/public/-/emojis/3/flag_td.png
new file mode 100644
index 00000000000..ad7c61a2b4e
--- /dev/null
+++ b/public/-/emojis/3/flag_td.png
Binary files differ
diff --git a/public/-/emojis/3/flag_tf.png b/public/-/emojis/3/flag_tf.png
new file mode 100644
index 00000000000..720ce002eb8
--- /dev/null
+++ b/public/-/emojis/3/flag_tf.png
Binary files differ
diff --git a/public/-/emojis/3/flag_tg.png b/public/-/emojis/3/flag_tg.png
new file mode 100644
index 00000000000..42e20707c30
--- /dev/null
+++ b/public/-/emojis/3/flag_tg.png
Binary files differ
diff --git a/public/-/emojis/3/flag_th.png b/public/-/emojis/3/flag_th.png
new file mode 100644
index 00000000000..6022f2645f1
--- /dev/null
+++ b/public/-/emojis/3/flag_th.png
Binary files differ
diff --git a/public/-/emojis/3/flag_tj.png b/public/-/emojis/3/flag_tj.png
new file mode 100644
index 00000000000..78a207210eb
--- /dev/null
+++ b/public/-/emojis/3/flag_tj.png
Binary files differ
diff --git a/public/-/emojis/3/flag_tk.png b/public/-/emojis/3/flag_tk.png
new file mode 100644
index 00000000000..84bc1155fd3
--- /dev/null
+++ b/public/-/emojis/3/flag_tk.png
Binary files differ
diff --git a/public/-/emojis/3/flag_tl.png b/public/-/emojis/3/flag_tl.png
new file mode 100644
index 00000000000..c6a53e5b5e7
--- /dev/null
+++ b/public/-/emojis/3/flag_tl.png
Binary files differ
diff --git a/public/-/emojis/3/flag_tm.png b/public/-/emojis/3/flag_tm.png
new file mode 100644
index 00000000000..207ec41373a
--- /dev/null
+++ b/public/-/emojis/3/flag_tm.png
Binary files differ
diff --git a/public/-/emojis/3/flag_tn.png b/public/-/emojis/3/flag_tn.png
new file mode 100644
index 00000000000..c196de6565c
--- /dev/null
+++ b/public/-/emojis/3/flag_tn.png
Binary files differ
diff --git a/public/-/emojis/3/flag_to.png b/public/-/emojis/3/flag_to.png
new file mode 100644
index 00000000000..1e334470bf6
--- /dev/null
+++ b/public/-/emojis/3/flag_to.png
Binary files differ
diff --git a/public/-/emojis/3/flag_tr.png b/public/-/emojis/3/flag_tr.png
new file mode 100644
index 00000000000..c32816cc587
--- /dev/null
+++ b/public/-/emojis/3/flag_tr.png
Binary files differ
diff --git a/public/-/emojis/3/flag_tt.png b/public/-/emojis/3/flag_tt.png
new file mode 100644
index 00000000000..7dc4f5b6654
--- /dev/null
+++ b/public/-/emojis/3/flag_tt.png
Binary files differ
diff --git a/public/-/emojis/3/flag_tv.png b/public/-/emojis/3/flag_tv.png
new file mode 100644
index 00000000000..1b1fcbf4f46
--- /dev/null
+++ b/public/-/emojis/3/flag_tv.png
Binary files differ
diff --git a/public/-/emojis/3/flag_tw.png b/public/-/emojis/3/flag_tw.png
new file mode 100644
index 00000000000..81f18e8aede
--- /dev/null
+++ b/public/-/emojis/3/flag_tw.png
Binary files differ
diff --git a/public/-/emojis/3/flag_tz.png b/public/-/emojis/3/flag_tz.png
new file mode 100644
index 00000000000..15953ebb6f5
--- /dev/null
+++ b/public/-/emojis/3/flag_tz.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ua.png b/public/-/emojis/3/flag_ua.png
new file mode 100644
index 00000000000..23deec9379c
--- /dev/null
+++ b/public/-/emojis/3/flag_ua.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ug.png b/public/-/emojis/3/flag_ug.png
new file mode 100644
index 00000000000..ee0ab96e776
--- /dev/null
+++ b/public/-/emojis/3/flag_ug.png
Binary files differ
diff --git a/public/-/emojis/3/flag_um.png b/public/-/emojis/3/flag_um.png
new file mode 100644
index 00000000000..ca311bd16fd
--- /dev/null
+++ b/public/-/emojis/3/flag_um.png
Binary files differ
diff --git a/public/-/emojis/3/flag_us.png b/public/-/emojis/3/flag_us.png
new file mode 100644
index 00000000000..ca311bd16fd
--- /dev/null
+++ b/public/-/emojis/3/flag_us.png
Binary files differ
diff --git a/public/-/emojis/3/flag_uy.png b/public/-/emojis/3/flag_uy.png
new file mode 100644
index 00000000000..f9c064087b5
--- /dev/null
+++ b/public/-/emojis/3/flag_uy.png
Binary files differ
diff --git a/public/-/emojis/3/flag_uz.png b/public/-/emojis/3/flag_uz.png
new file mode 100644
index 00000000000..aac61d58c4f
--- /dev/null
+++ b/public/-/emojis/3/flag_uz.png
Binary files differ
diff --git a/public/-/emojis/3/flag_va.png b/public/-/emojis/3/flag_va.png
new file mode 100644
index 00000000000..acfd70c51fa
--- /dev/null
+++ b/public/-/emojis/3/flag_va.png
Binary files differ
diff --git a/public/-/emojis/3/flag_vc.png b/public/-/emojis/3/flag_vc.png
new file mode 100644
index 00000000000..8863ec1ba37
--- /dev/null
+++ b/public/-/emojis/3/flag_vc.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ve.png b/public/-/emojis/3/flag_ve.png
new file mode 100644
index 00000000000..602657e337a
--- /dev/null
+++ b/public/-/emojis/3/flag_ve.png
Binary files differ
diff --git a/public/-/emojis/3/flag_vg.png b/public/-/emojis/3/flag_vg.png
new file mode 100644
index 00000000000..3fa10bf2fad
--- /dev/null
+++ b/public/-/emojis/3/flag_vg.png
Binary files differ
diff --git a/public/-/emojis/3/flag_vi.png b/public/-/emojis/3/flag_vi.png
new file mode 100644
index 00000000000..fcf5cbec7d8
--- /dev/null
+++ b/public/-/emojis/3/flag_vi.png
Binary files differ
diff --git a/public/-/emojis/3/flag_vn.png b/public/-/emojis/3/flag_vn.png
new file mode 100644
index 00000000000..9e603f6b167
--- /dev/null
+++ b/public/-/emojis/3/flag_vn.png
Binary files differ
diff --git a/public/-/emojis/3/flag_vu.png b/public/-/emojis/3/flag_vu.png
new file mode 100644
index 00000000000..0d066d309e8
--- /dev/null
+++ b/public/-/emojis/3/flag_vu.png
Binary files differ
diff --git a/public/-/emojis/3/flag_wf.png b/public/-/emojis/3/flag_wf.png
new file mode 100644
index 00000000000..5fa64fa8d0d
--- /dev/null
+++ b/public/-/emojis/3/flag_wf.png
Binary files differ
diff --git a/public/-/emojis/3/flag_white.png b/public/-/emojis/3/flag_white.png
new file mode 100644
index 00000000000..d61c3e954dd
--- /dev/null
+++ b/public/-/emojis/3/flag_white.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ws.png b/public/-/emojis/3/flag_ws.png
new file mode 100644
index 00000000000..243d1cc2e64
--- /dev/null
+++ b/public/-/emojis/3/flag_ws.png
Binary files differ
diff --git a/public/-/emojis/3/flag_xk.png b/public/-/emojis/3/flag_xk.png
new file mode 100644
index 00000000000..387fe660587
--- /dev/null
+++ b/public/-/emojis/3/flag_xk.png
Binary files differ
diff --git a/public/-/emojis/3/flag_ye.png b/public/-/emojis/3/flag_ye.png
new file mode 100644
index 00000000000..7506fb2de99
--- /dev/null
+++ b/public/-/emojis/3/flag_ye.png
Binary files differ
diff --git a/public/-/emojis/3/flag_yt.png b/public/-/emojis/3/flag_yt.png
new file mode 100644
index 00000000000..00adfaacda6
--- /dev/null
+++ b/public/-/emojis/3/flag_yt.png
Binary files differ
diff --git a/public/-/emojis/3/flag_za.png b/public/-/emojis/3/flag_za.png
new file mode 100644
index 00000000000..96236a0d34b
--- /dev/null
+++ b/public/-/emojis/3/flag_za.png
Binary files differ
diff --git a/public/-/emojis/3/flag_zm.png b/public/-/emojis/3/flag_zm.png
new file mode 100644
index 00000000000..71807f86941
--- /dev/null
+++ b/public/-/emojis/3/flag_zm.png
Binary files differ
diff --git a/public/-/emojis/3/flag_zw.png b/public/-/emojis/3/flag_zw.png
new file mode 100644
index 00000000000..cf2c5b5a930
--- /dev/null
+++ b/public/-/emojis/3/flag_zw.png
Binary files differ
diff --git a/public/-/emojis/3/flags.png b/public/-/emojis/3/flags.png
new file mode 100644
index 00000000000..b2d6ab4b89c
--- /dev/null
+++ b/public/-/emojis/3/flags.png
Binary files differ
diff --git a/public/-/emojis/3/flashlight.png b/public/-/emojis/3/flashlight.png
new file mode 100644
index 00000000000..bb6933f0095
--- /dev/null
+++ b/public/-/emojis/3/flashlight.png
Binary files differ
diff --git a/public/-/emojis/3/fleur-de-lis.png b/public/-/emojis/3/fleur-de-lis.png
new file mode 100644
index 00000000000..44130044b8a
--- /dev/null
+++ b/public/-/emojis/3/fleur-de-lis.png
Binary files differ
diff --git a/public/-/emojis/3/floppy_disk.png b/public/-/emojis/3/floppy_disk.png
new file mode 100644
index 00000000000..c94373d19f5
--- /dev/null
+++ b/public/-/emojis/3/floppy_disk.png
Binary files differ
diff --git a/public/-/emojis/3/flower_playing_cards.png b/public/-/emojis/3/flower_playing_cards.png
new file mode 100644
index 00000000000..988dd11cb22
--- /dev/null
+++ b/public/-/emojis/3/flower_playing_cards.png
Binary files differ
diff --git a/public/-/emojis/3/flushed.png b/public/-/emojis/3/flushed.png
new file mode 100644
index 00000000000..d0e141206d3
--- /dev/null
+++ b/public/-/emojis/3/flushed.png
Binary files differ
diff --git a/public/-/emojis/3/fog.png b/public/-/emojis/3/fog.png
new file mode 100644
index 00000000000..81d7c57aa16
--- /dev/null
+++ b/public/-/emojis/3/fog.png
Binary files differ
diff --git a/public/-/emojis/3/foggy.png b/public/-/emojis/3/foggy.png
new file mode 100644
index 00000000000..d616d716e6b
--- /dev/null
+++ b/public/-/emojis/3/foggy.png
Binary files differ
diff --git a/public/-/emojis/3/football.png b/public/-/emojis/3/football.png
new file mode 100644
index 00000000000..75bf17b1328
--- /dev/null
+++ b/public/-/emojis/3/football.png
Binary files differ
diff --git a/public/-/emojis/3/footprints.png b/public/-/emojis/3/footprints.png
new file mode 100644
index 00000000000..378c0aaa56d
--- /dev/null
+++ b/public/-/emojis/3/footprints.png
Binary files differ
diff --git a/public/-/emojis/3/fork_and_knife.png b/public/-/emojis/3/fork_and_knife.png
new file mode 100644
index 00000000000..d526471d29a
--- /dev/null
+++ b/public/-/emojis/3/fork_and_knife.png
Binary files differ
diff --git a/public/-/emojis/3/fork_knife_plate.png b/public/-/emojis/3/fork_knife_plate.png
new file mode 100644
index 00000000000..5ad662327b1
--- /dev/null
+++ b/public/-/emojis/3/fork_knife_plate.png
Binary files differ
diff --git a/public/-/emojis/3/fountain.png b/public/-/emojis/3/fountain.png
new file mode 100644
index 00000000000..96c1352516f
--- /dev/null
+++ b/public/-/emojis/3/fountain.png
Binary files differ
diff --git a/public/-/emojis/3/four.png b/public/-/emojis/3/four.png
new file mode 100644
index 00000000000..075389303ec
--- /dev/null
+++ b/public/-/emojis/3/four.png
Binary files differ
diff --git a/public/-/emojis/3/four_leaf_clover.png b/public/-/emojis/3/four_leaf_clover.png
new file mode 100644
index 00000000000..7c37aba7146
--- /dev/null
+++ b/public/-/emojis/3/four_leaf_clover.png
Binary files differ
diff --git a/public/-/emojis/3/fox.png b/public/-/emojis/3/fox.png
new file mode 100644
index 00000000000..9ae868c7d70
--- /dev/null
+++ b/public/-/emojis/3/fox.png
Binary files differ
diff --git a/public/-/emojis/3/frame_photo.png b/public/-/emojis/3/frame_photo.png
new file mode 100644
index 00000000000..87da6c848f3
--- /dev/null
+++ b/public/-/emojis/3/frame_photo.png
Binary files differ
diff --git a/public/-/emojis/3/free.png b/public/-/emojis/3/free.png
new file mode 100644
index 00000000000..c3f8ecb2188
--- /dev/null
+++ b/public/-/emojis/3/free.png
Binary files differ
diff --git a/public/-/emojis/3/french_bread.png b/public/-/emojis/3/french_bread.png
new file mode 100644
index 00000000000..1c71c123d5f
--- /dev/null
+++ b/public/-/emojis/3/french_bread.png
Binary files differ
diff --git a/public/-/emojis/3/fried_shrimp.png b/public/-/emojis/3/fried_shrimp.png
new file mode 100644
index 00000000000..56c72d63710
--- /dev/null
+++ b/public/-/emojis/3/fried_shrimp.png
Binary files differ
diff --git a/public/-/emojis/3/fries.png b/public/-/emojis/3/fries.png
new file mode 100644
index 00000000000..c48b1734dff
--- /dev/null
+++ b/public/-/emojis/3/fries.png
Binary files differ
diff --git a/public/-/emojis/3/frog.png b/public/-/emojis/3/frog.png
new file mode 100644
index 00000000000..5a2f4c668bf
--- /dev/null
+++ b/public/-/emojis/3/frog.png
Binary files differ
diff --git a/public/-/emojis/3/frowning.png b/public/-/emojis/3/frowning.png
new file mode 100644
index 00000000000..58e0c67a2bb
--- /dev/null
+++ b/public/-/emojis/3/frowning.png
Binary files differ
diff --git a/public/-/emojis/3/frowning2.png b/public/-/emojis/3/frowning2.png
new file mode 100644
index 00000000000..a30f4f36066
--- /dev/null
+++ b/public/-/emojis/3/frowning2.png
Binary files differ
diff --git a/public/-/emojis/3/fuelpump.png b/public/-/emojis/3/fuelpump.png
new file mode 100644
index 00000000000..941d5ec7433
--- /dev/null
+++ b/public/-/emojis/3/fuelpump.png
Binary files differ
diff --git a/public/-/emojis/3/full_moon.png b/public/-/emojis/3/full_moon.png
new file mode 100644
index 00000000000..8c73fc2ecf6
--- /dev/null
+++ b/public/-/emojis/3/full_moon.png
Binary files differ
diff --git a/public/-/emojis/3/full_moon_with_face.png b/public/-/emojis/3/full_moon_with_face.png
new file mode 100644
index 00000000000..a9aedae2395
--- /dev/null
+++ b/public/-/emojis/3/full_moon_with_face.png
Binary files differ
diff --git a/public/-/emojis/3/game_die.png b/public/-/emojis/3/game_die.png
new file mode 100644
index 00000000000..d3754f16ead
--- /dev/null
+++ b/public/-/emojis/3/game_die.png
Binary files differ
diff --git a/public/-/emojis/3/gay_pride_flag.png b/public/-/emojis/3/gay_pride_flag.png
new file mode 100644
index 00000000000..9a6d2add84d
--- /dev/null
+++ b/public/-/emojis/3/gay_pride_flag.png
Binary files differ
diff --git a/public/-/emojis/3/gear.png b/public/-/emojis/3/gear.png
new file mode 100644
index 00000000000..d75eb3bcb25
--- /dev/null
+++ b/public/-/emojis/3/gear.png
Binary files differ
diff --git a/public/-/emojis/3/gem.png b/public/-/emojis/3/gem.png
new file mode 100644
index 00000000000..bd5ddcc0cf2
--- /dev/null
+++ b/public/-/emojis/3/gem.png
Binary files differ
diff --git a/public/-/emojis/3/gemini.png b/public/-/emojis/3/gemini.png
new file mode 100644
index 00000000000..e06658b1aa3
--- /dev/null
+++ b/public/-/emojis/3/gemini.png
Binary files differ
diff --git a/public/-/emojis/3/ghost.png b/public/-/emojis/3/ghost.png
new file mode 100644
index 00000000000..a32f5c9c076
--- /dev/null
+++ b/public/-/emojis/3/ghost.png
Binary files differ
diff --git a/public/-/emojis/3/gift.png b/public/-/emojis/3/gift.png
new file mode 100644
index 00000000000..92d11ff1be9
--- /dev/null
+++ b/public/-/emojis/3/gift.png
Binary files differ
diff --git a/public/-/emojis/3/gift_heart.png b/public/-/emojis/3/gift_heart.png
new file mode 100644
index 00000000000..317073b749b
--- /dev/null
+++ b/public/-/emojis/3/gift_heart.png
Binary files differ
diff --git a/public/-/emojis/3/girl.png b/public/-/emojis/3/girl.png
new file mode 100644
index 00000000000..8a66d436ddb
--- /dev/null
+++ b/public/-/emojis/3/girl.png
Binary files differ
diff --git a/public/-/emojis/3/girl_tone1.png b/public/-/emojis/3/girl_tone1.png
new file mode 100644
index 00000000000..1a260068a96
--- /dev/null
+++ b/public/-/emojis/3/girl_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/girl_tone2.png b/public/-/emojis/3/girl_tone2.png
new file mode 100644
index 00000000000..43b91b8551c
--- /dev/null
+++ b/public/-/emojis/3/girl_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/girl_tone3.png b/public/-/emojis/3/girl_tone3.png
new file mode 100644
index 00000000000..bff227055c7
--- /dev/null
+++ b/public/-/emojis/3/girl_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/girl_tone4.png b/public/-/emojis/3/girl_tone4.png
new file mode 100644
index 00000000000..6b258a8edc9
--- /dev/null
+++ b/public/-/emojis/3/girl_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/girl_tone5.png b/public/-/emojis/3/girl_tone5.png
new file mode 100644
index 00000000000..efdec2df0f9
--- /dev/null
+++ b/public/-/emojis/3/girl_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/globe_with_meridians.png b/public/-/emojis/3/globe_with_meridians.png
new file mode 100644
index 00000000000..beca893eda6
--- /dev/null
+++ b/public/-/emojis/3/globe_with_meridians.png
Binary files differ
diff --git a/public/-/emojis/3/goal.png b/public/-/emojis/3/goal.png
new file mode 100644
index 00000000000..3b5b2c65250
--- /dev/null
+++ b/public/-/emojis/3/goal.png
Binary files differ
diff --git a/public/-/emojis/3/goat.png b/public/-/emojis/3/goat.png
new file mode 100644
index 00000000000..d88463d768d
--- /dev/null
+++ b/public/-/emojis/3/goat.png
Binary files differ
diff --git a/public/-/emojis/3/golf.png b/public/-/emojis/3/golf.png
new file mode 100644
index 00000000000..16910ca79fe
--- /dev/null
+++ b/public/-/emojis/3/golf.png
Binary files differ
diff --git a/public/-/emojis/3/golfer.png b/public/-/emojis/3/golfer.png
new file mode 100644
index 00000000000..554558e68e3
--- /dev/null
+++ b/public/-/emojis/3/golfer.png
Binary files differ
diff --git a/public/-/emojis/3/gorilla.png b/public/-/emojis/3/gorilla.png
new file mode 100644
index 00000000000..08c10f889a7
--- /dev/null
+++ b/public/-/emojis/3/gorilla.png
Binary files differ
diff --git a/public/-/emojis/3/grapes.png b/public/-/emojis/3/grapes.png
new file mode 100644
index 00000000000..dc1c8a42eca
--- /dev/null
+++ b/public/-/emojis/3/grapes.png
Binary files differ
diff --git a/public/-/emojis/3/green_apple.png b/public/-/emojis/3/green_apple.png
new file mode 100644
index 00000000000..df297a575f0
--- /dev/null
+++ b/public/-/emojis/3/green_apple.png
Binary files differ
diff --git a/public/-/emojis/3/green_book.png b/public/-/emojis/3/green_book.png
new file mode 100644
index 00000000000..da6ab19b789
--- /dev/null
+++ b/public/-/emojis/3/green_book.png
Binary files differ
diff --git a/public/-/emojis/3/green_heart.png b/public/-/emojis/3/green_heart.png
new file mode 100644
index 00000000000..3e9dde55a42
--- /dev/null
+++ b/public/-/emojis/3/green_heart.png
Binary files differ
diff --git a/public/-/emojis/3/grey_exclamation.png b/public/-/emojis/3/grey_exclamation.png
new file mode 100644
index 00000000000..b7cd2b00626
--- /dev/null
+++ b/public/-/emojis/3/grey_exclamation.png
Binary files differ
diff --git a/public/-/emojis/3/grey_question.png b/public/-/emojis/3/grey_question.png
new file mode 100644
index 00000000000..e43e9ef5b4b
--- /dev/null
+++ b/public/-/emojis/3/grey_question.png
Binary files differ
diff --git a/public/-/emojis/3/grimacing.png b/public/-/emojis/3/grimacing.png
new file mode 100644
index 00000000000..ab12d7edd9d
--- /dev/null
+++ b/public/-/emojis/3/grimacing.png
Binary files differ
diff --git a/public/-/emojis/3/grin.png b/public/-/emojis/3/grin.png
new file mode 100644
index 00000000000..fc82c6bd4ae
--- /dev/null
+++ b/public/-/emojis/3/grin.png
Binary files differ
diff --git a/public/-/emojis/3/grinning.png b/public/-/emojis/3/grinning.png
new file mode 100644
index 00000000000..d9d24fc834f
--- /dev/null
+++ b/public/-/emojis/3/grinning.png
Binary files differ
diff --git a/public/-/emojis/3/guardsman.png b/public/-/emojis/3/guardsman.png
new file mode 100644
index 00000000000..cb6ef760163
--- /dev/null
+++ b/public/-/emojis/3/guardsman.png
Binary files differ
diff --git a/public/-/emojis/3/guardsman_tone1.png b/public/-/emojis/3/guardsman_tone1.png
new file mode 100644
index 00000000000..485242cdf8a
--- /dev/null
+++ b/public/-/emojis/3/guardsman_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/guardsman_tone2.png b/public/-/emojis/3/guardsman_tone2.png
new file mode 100644
index 00000000000..cbba6179e67
--- /dev/null
+++ b/public/-/emojis/3/guardsman_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/guardsman_tone3.png b/public/-/emojis/3/guardsman_tone3.png
new file mode 100644
index 00000000000..94698df5ebd
--- /dev/null
+++ b/public/-/emojis/3/guardsman_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/guardsman_tone4.png b/public/-/emojis/3/guardsman_tone4.png
new file mode 100644
index 00000000000..df3593b97b7
--- /dev/null
+++ b/public/-/emojis/3/guardsman_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/guardsman_tone5.png b/public/-/emojis/3/guardsman_tone5.png
new file mode 100644
index 00000000000..fe449dd7326
--- /dev/null
+++ b/public/-/emojis/3/guardsman_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/guitar.png b/public/-/emojis/3/guitar.png
new file mode 100644
index 00000000000..afccf1c4170
--- /dev/null
+++ b/public/-/emojis/3/guitar.png
Binary files differ
diff --git a/public/-/emojis/3/gun.png b/public/-/emojis/3/gun.png
new file mode 100644
index 00000000000..fa713cca903
--- /dev/null
+++ b/public/-/emojis/3/gun.png
Binary files differ
diff --git a/public/-/emojis/3/haircut.png b/public/-/emojis/3/haircut.png
new file mode 100644
index 00000000000..6bc3eb96c84
--- /dev/null
+++ b/public/-/emojis/3/haircut.png
Binary files differ
diff --git a/public/-/emojis/3/haircut_tone1.png b/public/-/emojis/3/haircut_tone1.png
new file mode 100644
index 00000000000..b862983e467
--- /dev/null
+++ b/public/-/emojis/3/haircut_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/haircut_tone2.png b/public/-/emojis/3/haircut_tone2.png
new file mode 100644
index 00000000000..5f0588d23dd
--- /dev/null
+++ b/public/-/emojis/3/haircut_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/haircut_tone3.png b/public/-/emojis/3/haircut_tone3.png
new file mode 100644
index 00000000000..a820a84770f
--- /dev/null
+++ b/public/-/emojis/3/haircut_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/haircut_tone4.png b/public/-/emojis/3/haircut_tone4.png
new file mode 100644
index 00000000000..80c1fb49ce1
--- /dev/null
+++ b/public/-/emojis/3/haircut_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/haircut_tone5.png b/public/-/emojis/3/haircut_tone5.png
new file mode 100644
index 00000000000..85ef6faa508
--- /dev/null
+++ b/public/-/emojis/3/haircut_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/hamburger.png b/public/-/emojis/3/hamburger.png
new file mode 100644
index 00000000000..4f41f0e500b
--- /dev/null
+++ b/public/-/emojis/3/hamburger.png
Binary files differ
diff --git a/public/-/emojis/3/hammer.png b/public/-/emojis/3/hammer.png
new file mode 100644
index 00000000000..16709adc8e9
--- /dev/null
+++ b/public/-/emojis/3/hammer.png
Binary files differ
diff --git a/public/-/emojis/3/hammer_pick.png b/public/-/emojis/3/hammer_pick.png
new file mode 100644
index 00000000000..0a84f3da67e
--- /dev/null
+++ b/public/-/emojis/3/hammer_pick.png
Binary files differ
diff --git a/public/-/emojis/3/hamster.png b/public/-/emojis/3/hamster.png
new file mode 100644
index 00000000000..e6c8747fb6c
--- /dev/null
+++ b/public/-/emojis/3/hamster.png
Binary files differ
diff --git a/public/-/emojis/3/hand_splayed.png b/public/-/emojis/3/hand_splayed.png
new file mode 100644
index 00000000000..1ef0aeb3220
--- /dev/null
+++ b/public/-/emojis/3/hand_splayed.png
Binary files differ
diff --git a/public/-/emojis/3/hand_splayed_tone1.png b/public/-/emojis/3/hand_splayed_tone1.png
new file mode 100644
index 00000000000..acdf53b8c38
--- /dev/null
+++ b/public/-/emojis/3/hand_splayed_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/hand_splayed_tone2.png b/public/-/emojis/3/hand_splayed_tone2.png
new file mode 100644
index 00000000000..0849a7a9236
--- /dev/null
+++ b/public/-/emojis/3/hand_splayed_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/hand_splayed_tone3.png b/public/-/emojis/3/hand_splayed_tone3.png
new file mode 100644
index 00000000000..33050a2d739
--- /dev/null
+++ b/public/-/emojis/3/hand_splayed_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/hand_splayed_tone4.png b/public/-/emojis/3/hand_splayed_tone4.png
new file mode 100644
index 00000000000..6f3d80fc1f3
--- /dev/null
+++ b/public/-/emojis/3/hand_splayed_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/hand_splayed_tone5.png b/public/-/emojis/3/hand_splayed_tone5.png
new file mode 100644
index 00000000000..e6aee746215
--- /dev/null
+++ b/public/-/emojis/3/hand_splayed_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/handbag.png b/public/-/emojis/3/handbag.png
new file mode 100644
index 00000000000..bbc9b950acc
--- /dev/null
+++ b/public/-/emojis/3/handbag.png
Binary files differ
diff --git a/public/-/emojis/3/handball.png b/public/-/emojis/3/handball.png
new file mode 100644
index 00000000000..590339f8837
--- /dev/null
+++ b/public/-/emojis/3/handball.png
Binary files differ
diff --git a/public/-/emojis/3/handball_tone1.png b/public/-/emojis/3/handball_tone1.png
new file mode 100644
index 00000000000..3083c727c00
--- /dev/null
+++ b/public/-/emojis/3/handball_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/handball_tone2.png b/public/-/emojis/3/handball_tone2.png
new file mode 100644
index 00000000000..95387a56726
--- /dev/null
+++ b/public/-/emojis/3/handball_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/handball_tone3.png b/public/-/emojis/3/handball_tone3.png
new file mode 100644
index 00000000000..14e7ff24344
--- /dev/null
+++ b/public/-/emojis/3/handball_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/handball_tone4.png b/public/-/emojis/3/handball_tone4.png
new file mode 100644
index 00000000000..ee9becaa748
--- /dev/null
+++ b/public/-/emojis/3/handball_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/handball_tone5.png b/public/-/emojis/3/handball_tone5.png
new file mode 100644
index 00000000000..2826267bf2e
--- /dev/null
+++ b/public/-/emojis/3/handball_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/handshake.png b/public/-/emojis/3/handshake.png
new file mode 100644
index 00000000000..08274235735
--- /dev/null
+++ b/public/-/emojis/3/handshake.png
Binary files differ
diff --git a/public/-/emojis/3/handshake_tone1.png b/public/-/emojis/3/handshake_tone1.png
new file mode 100644
index 00000000000..b80629e7a75
--- /dev/null
+++ b/public/-/emojis/3/handshake_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/handshake_tone2.png b/public/-/emojis/3/handshake_tone2.png
new file mode 100644
index 00000000000..cb8864e27ae
--- /dev/null
+++ b/public/-/emojis/3/handshake_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/handshake_tone3.png b/public/-/emojis/3/handshake_tone3.png
new file mode 100644
index 00000000000..52817cb5f43
--- /dev/null
+++ b/public/-/emojis/3/handshake_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/handshake_tone4.png b/public/-/emojis/3/handshake_tone4.png
new file mode 100644
index 00000000000..7b0cc45d77b
--- /dev/null
+++ b/public/-/emojis/3/handshake_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/handshake_tone5.png b/public/-/emojis/3/handshake_tone5.png
new file mode 100644
index 00000000000..d9254fe6125
--- /dev/null
+++ b/public/-/emojis/3/handshake_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/hash.png b/public/-/emojis/3/hash.png
new file mode 100644
index 00000000000..ebd7b7047b3
--- /dev/null
+++ b/public/-/emojis/3/hash.png
Binary files differ
diff --git a/public/-/emojis/3/hatched_chick.png b/public/-/emojis/3/hatched_chick.png
new file mode 100644
index 00000000000..0867f68a397
--- /dev/null
+++ b/public/-/emojis/3/hatched_chick.png
Binary files differ
diff --git a/public/-/emojis/3/hatching_chick.png b/public/-/emojis/3/hatching_chick.png
new file mode 100644
index 00000000000..b7f68d7b6a5
--- /dev/null
+++ b/public/-/emojis/3/hatching_chick.png
Binary files differ
diff --git a/public/-/emojis/3/head_bandage.png b/public/-/emojis/3/head_bandage.png
new file mode 100644
index 00000000000..96a8b1511be
--- /dev/null
+++ b/public/-/emojis/3/head_bandage.png
Binary files differ
diff --git a/public/-/emojis/3/headphones.png b/public/-/emojis/3/headphones.png
new file mode 100644
index 00000000000..8dd7ef6e07e
--- /dev/null
+++ b/public/-/emojis/3/headphones.png
Binary files differ
diff --git a/public/-/emojis/3/hear_no_evil.png b/public/-/emojis/3/hear_no_evil.png
new file mode 100644
index 00000000000..489b210e41a
--- /dev/null
+++ b/public/-/emojis/3/hear_no_evil.png
Binary files differ
diff --git a/public/-/emojis/3/heart.png b/public/-/emojis/3/heart.png
new file mode 100644
index 00000000000..c462b4318ad
--- /dev/null
+++ b/public/-/emojis/3/heart.png
Binary files differ
diff --git a/public/-/emojis/3/heart_decoration.png b/public/-/emojis/3/heart_decoration.png
new file mode 100644
index 00000000000..f3db4864f40
--- /dev/null
+++ b/public/-/emojis/3/heart_decoration.png
Binary files differ
diff --git a/public/-/emojis/3/heart_exclamation.png b/public/-/emojis/3/heart_exclamation.png
new file mode 100644
index 00000000000..afe34a69a56
--- /dev/null
+++ b/public/-/emojis/3/heart_exclamation.png
Binary files differ
diff --git a/public/-/emojis/3/heart_eyes.png b/public/-/emojis/3/heart_eyes.png
new file mode 100644
index 00000000000..e3bb7806e12
--- /dev/null
+++ b/public/-/emojis/3/heart_eyes.png
Binary files differ
diff --git a/public/-/emojis/3/heart_eyes_cat.png b/public/-/emojis/3/heart_eyes_cat.png
new file mode 100644
index 00000000000..74b72d63f79
--- /dev/null
+++ b/public/-/emojis/3/heart_eyes_cat.png
Binary files differ
diff --git a/public/-/emojis/3/heartbeat.png b/public/-/emojis/3/heartbeat.png
new file mode 100644
index 00000000000..168dbdc2d36
--- /dev/null
+++ b/public/-/emojis/3/heartbeat.png
Binary files differ
diff --git a/public/-/emojis/3/heartpulse.png b/public/-/emojis/3/heartpulse.png
new file mode 100644
index 00000000000..79258086f4b
--- /dev/null
+++ b/public/-/emojis/3/heartpulse.png
Binary files differ
diff --git a/public/-/emojis/3/hearts.png b/public/-/emojis/3/hearts.png
new file mode 100644
index 00000000000..723226d77a4
--- /dev/null
+++ b/public/-/emojis/3/hearts.png
Binary files differ
diff --git a/public/-/emojis/3/heavy_check_mark.png b/public/-/emojis/3/heavy_check_mark.png
new file mode 100644
index 00000000000..9dfde579082
--- /dev/null
+++ b/public/-/emojis/3/heavy_check_mark.png
Binary files differ
diff --git a/public/-/emojis/3/heavy_division_sign.png b/public/-/emojis/3/heavy_division_sign.png
new file mode 100644
index 00000000000..a86eebd442b
--- /dev/null
+++ b/public/-/emojis/3/heavy_division_sign.png
Binary files differ
diff --git a/public/-/emojis/3/heavy_dollar_sign.png b/public/-/emojis/3/heavy_dollar_sign.png
new file mode 100644
index 00000000000..4e58e372cbd
--- /dev/null
+++ b/public/-/emojis/3/heavy_dollar_sign.png
Binary files differ
diff --git a/public/-/emojis/3/heavy_minus_sign.png b/public/-/emojis/3/heavy_minus_sign.png
new file mode 100644
index 00000000000..493523b02af
--- /dev/null
+++ b/public/-/emojis/3/heavy_minus_sign.png
Binary files differ
diff --git a/public/-/emojis/3/heavy_multiplication_x.png b/public/-/emojis/3/heavy_multiplication_x.png
new file mode 100644
index 00000000000..5a0e0198c61
--- /dev/null
+++ b/public/-/emojis/3/heavy_multiplication_x.png
Binary files differ
diff --git a/public/-/emojis/3/heavy_plus_sign.png b/public/-/emojis/3/heavy_plus_sign.png
new file mode 100644
index 00000000000..b3791a2c3fe
--- /dev/null
+++ b/public/-/emojis/3/heavy_plus_sign.png
Binary files differ
diff --git a/public/-/emojis/3/helicopter.png b/public/-/emojis/3/helicopter.png
new file mode 100644
index 00000000000..18843853ec4
--- /dev/null
+++ b/public/-/emojis/3/helicopter.png
Binary files differ
diff --git a/public/-/emojis/3/helmet_with_cross.png b/public/-/emojis/3/helmet_with_cross.png
new file mode 100644
index 00000000000..6119e2e6498
--- /dev/null
+++ b/public/-/emojis/3/helmet_with_cross.png
Binary files differ
diff --git a/public/-/emojis/3/herb.png b/public/-/emojis/3/herb.png
new file mode 100644
index 00000000000..7b1ff5815f0
--- /dev/null
+++ b/public/-/emojis/3/herb.png
Binary files differ
diff --git a/public/-/emojis/3/hibiscus.png b/public/-/emojis/3/hibiscus.png
new file mode 100644
index 00000000000..5400fdd7a9b
--- /dev/null
+++ b/public/-/emojis/3/hibiscus.png
Binary files differ
diff --git a/public/-/emojis/3/high_brightness.png b/public/-/emojis/3/high_brightness.png
new file mode 100644
index 00000000000..fde91f298a3
--- /dev/null
+++ b/public/-/emojis/3/high_brightness.png
Binary files differ
diff --git a/public/-/emojis/3/high_heel.png b/public/-/emojis/3/high_heel.png
new file mode 100644
index 00000000000..4a6e62180e9
--- /dev/null
+++ b/public/-/emojis/3/high_heel.png
Binary files differ
diff --git a/public/-/emojis/3/hockey.png b/public/-/emojis/3/hockey.png
new file mode 100644
index 00000000000..3353eb01657
--- /dev/null
+++ b/public/-/emojis/3/hockey.png
Binary files differ
diff --git a/public/-/emojis/3/hole.png b/public/-/emojis/3/hole.png
new file mode 100644
index 00000000000..bf1ad759bd6
--- /dev/null
+++ b/public/-/emojis/3/hole.png
Binary files differ
diff --git a/public/-/emojis/3/homes.png b/public/-/emojis/3/homes.png
new file mode 100644
index 00000000000..32b16a807d0
--- /dev/null
+++ b/public/-/emojis/3/homes.png
Binary files differ
diff --git a/public/-/emojis/3/honey_pot.png b/public/-/emojis/3/honey_pot.png
new file mode 100644
index 00000000000..85294a979fa
--- /dev/null
+++ b/public/-/emojis/3/honey_pot.png
Binary files differ
diff --git a/public/-/emojis/3/horse.png b/public/-/emojis/3/horse.png
new file mode 100644
index 00000000000..35112aca1ae
--- /dev/null
+++ b/public/-/emojis/3/horse.png
Binary files differ
diff --git a/public/-/emojis/3/horse_racing.png b/public/-/emojis/3/horse_racing.png
new file mode 100644
index 00000000000..84f92487654
--- /dev/null
+++ b/public/-/emojis/3/horse_racing.png
Binary files differ
diff --git a/public/-/emojis/3/horse_racing_tone1.png b/public/-/emojis/3/horse_racing_tone1.png
new file mode 100644
index 00000000000..7d2e8729e12
--- /dev/null
+++ b/public/-/emojis/3/horse_racing_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/horse_racing_tone2.png b/public/-/emojis/3/horse_racing_tone2.png
new file mode 100644
index 00000000000..ff29cd640de
--- /dev/null
+++ b/public/-/emojis/3/horse_racing_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/horse_racing_tone3.png b/public/-/emojis/3/horse_racing_tone3.png
new file mode 100644
index 00000000000..a72be537729
--- /dev/null
+++ b/public/-/emojis/3/horse_racing_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/horse_racing_tone4.png b/public/-/emojis/3/horse_racing_tone4.png
new file mode 100644
index 00000000000..169955f1d7e
--- /dev/null
+++ b/public/-/emojis/3/horse_racing_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/horse_racing_tone5.png b/public/-/emojis/3/horse_racing_tone5.png
new file mode 100644
index 00000000000..09aeeb940e1
--- /dev/null
+++ b/public/-/emojis/3/horse_racing_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/hospital.png b/public/-/emojis/3/hospital.png
new file mode 100644
index 00000000000..2251e567729
--- /dev/null
+++ b/public/-/emojis/3/hospital.png
Binary files differ
diff --git a/public/-/emojis/3/hot_pepper.png b/public/-/emojis/3/hot_pepper.png
new file mode 100644
index 00000000000..934bf6daf87
--- /dev/null
+++ b/public/-/emojis/3/hot_pepper.png
Binary files differ
diff --git a/public/-/emojis/3/hotdog.png b/public/-/emojis/3/hotdog.png
new file mode 100644
index 00000000000..a1738700e26
--- /dev/null
+++ b/public/-/emojis/3/hotdog.png
Binary files differ
diff --git a/public/-/emojis/3/hotel.png b/public/-/emojis/3/hotel.png
new file mode 100644
index 00000000000..2291ece74a2
--- /dev/null
+++ b/public/-/emojis/3/hotel.png
Binary files differ
diff --git a/public/-/emojis/3/hotsprings.png b/public/-/emojis/3/hotsprings.png
new file mode 100644
index 00000000000..a8e12e196de
--- /dev/null
+++ b/public/-/emojis/3/hotsprings.png
Binary files differ
diff --git a/public/-/emojis/3/hourglass.png b/public/-/emojis/3/hourglass.png
new file mode 100644
index 00000000000..ae55c33d237
--- /dev/null
+++ b/public/-/emojis/3/hourglass.png
Binary files differ
diff --git a/public/-/emojis/3/hourglass_flowing_sand.png b/public/-/emojis/3/hourglass_flowing_sand.png
new file mode 100644
index 00000000000..961f1769d32
--- /dev/null
+++ b/public/-/emojis/3/hourglass_flowing_sand.png
Binary files differ
diff --git a/public/-/emojis/3/house.png b/public/-/emojis/3/house.png
new file mode 100644
index 00000000000..a23121dad9e
--- /dev/null
+++ b/public/-/emojis/3/house.png
Binary files differ
diff --git a/public/-/emojis/3/house_abandoned.png b/public/-/emojis/3/house_abandoned.png
new file mode 100644
index 00000000000..147f8ddb361
--- /dev/null
+++ b/public/-/emojis/3/house_abandoned.png
Binary files differ
diff --git a/public/-/emojis/3/house_with_garden.png b/public/-/emojis/3/house_with_garden.png
new file mode 100644
index 00000000000..728d9791d33
--- /dev/null
+++ b/public/-/emojis/3/house_with_garden.png
Binary files differ
diff --git a/public/-/emojis/3/hugging.png b/public/-/emojis/3/hugging.png
new file mode 100644
index 00000000000..06afc6c7350
--- /dev/null
+++ b/public/-/emojis/3/hugging.png
Binary files differ
diff --git a/public/-/emojis/3/hushed.png b/public/-/emojis/3/hushed.png
new file mode 100644
index 00000000000..9d02a806052
--- /dev/null
+++ b/public/-/emojis/3/hushed.png
Binary files differ
diff --git a/public/-/emojis/3/ice_cream.png b/public/-/emojis/3/ice_cream.png
new file mode 100644
index 00000000000..15888c9e9d9
--- /dev/null
+++ b/public/-/emojis/3/ice_cream.png
Binary files differ
diff --git a/public/-/emojis/3/ice_skate.png b/public/-/emojis/3/ice_skate.png
new file mode 100644
index 00000000000..60b7dcba437
--- /dev/null
+++ b/public/-/emojis/3/ice_skate.png
Binary files differ
diff --git a/public/-/emojis/3/icecream.png b/public/-/emojis/3/icecream.png
new file mode 100644
index 00000000000..a63c4b900da
--- /dev/null
+++ b/public/-/emojis/3/icecream.png
Binary files differ
diff --git a/public/-/emojis/3/id.png b/public/-/emojis/3/id.png
new file mode 100644
index 00000000000..29d43ac5eb4
--- /dev/null
+++ b/public/-/emojis/3/id.png
Binary files differ
diff --git a/public/-/emojis/3/ideograph_advantage.png b/public/-/emojis/3/ideograph_advantage.png
new file mode 100644
index 00000000000..95c62036a17
--- /dev/null
+++ b/public/-/emojis/3/ideograph_advantage.png
Binary files differ
diff --git a/public/-/emojis/3/imp.png b/public/-/emojis/3/imp.png
new file mode 100644
index 00000000000..9d6c71af9b0
--- /dev/null
+++ b/public/-/emojis/3/imp.png
Binary files differ
diff --git a/public/-/emojis/3/inbox_tray.png b/public/-/emojis/3/inbox_tray.png
new file mode 100644
index 00000000000..2a34335455d
--- /dev/null
+++ b/public/-/emojis/3/inbox_tray.png
Binary files differ
diff --git a/public/-/emojis/3/incoming_envelope.png b/public/-/emojis/3/incoming_envelope.png
new file mode 100644
index 00000000000..7febff3bfe2
--- /dev/null
+++ b/public/-/emojis/3/incoming_envelope.png
Binary files differ
diff --git a/public/-/emojis/3/information_desk_person.png b/public/-/emojis/3/information_desk_person.png
new file mode 100644
index 00000000000..396f4f0a489
--- /dev/null
+++ b/public/-/emojis/3/information_desk_person.png
Binary files differ
diff --git a/public/-/emojis/3/information_desk_person_tone1.png b/public/-/emojis/3/information_desk_person_tone1.png
new file mode 100644
index 00000000000..fec768939e2
--- /dev/null
+++ b/public/-/emojis/3/information_desk_person_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/information_desk_person_tone2.png b/public/-/emojis/3/information_desk_person_tone2.png
new file mode 100644
index 00000000000..bd086a61d48
--- /dev/null
+++ b/public/-/emojis/3/information_desk_person_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/information_desk_person_tone3.png b/public/-/emojis/3/information_desk_person_tone3.png
new file mode 100644
index 00000000000..13557e8c32e
--- /dev/null
+++ b/public/-/emojis/3/information_desk_person_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/information_desk_person_tone4.png b/public/-/emojis/3/information_desk_person_tone4.png
new file mode 100644
index 00000000000..a91d0b5835e
--- /dev/null
+++ b/public/-/emojis/3/information_desk_person_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/information_desk_person_tone5.png b/public/-/emojis/3/information_desk_person_tone5.png
new file mode 100644
index 00000000000..4acb6992b4c
--- /dev/null
+++ b/public/-/emojis/3/information_desk_person_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/information_source.png b/public/-/emojis/3/information_source.png
new file mode 100644
index 00000000000..0b9dc75c950
--- /dev/null
+++ b/public/-/emojis/3/information_source.png
Binary files differ
diff --git a/public/-/emojis/3/innocent.png b/public/-/emojis/3/innocent.png
new file mode 100644
index 00000000000..297404a8b92
--- /dev/null
+++ b/public/-/emojis/3/innocent.png
Binary files differ
diff --git a/public/-/emojis/3/interrobang.png b/public/-/emojis/3/interrobang.png
new file mode 100644
index 00000000000..9b2875cea93
--- /dev/null
+++ b/public/-/emojis/3/interrobang.png
Binary files differ
diff --git a/public/-/emojis/3/iphone.png b/public/-/emojis/3/iphone.png
new file mode 100644
index 00000000000..2a333235c71
--- /dev/null
+++ b/public/-/emojis/3/iphone.png
Binary files differ
diff --git a/public/-/emojis/3/island.png b/public/-/emojis/3/island.png
new file mode 100644
index 00000000000..87d13274924
--- /dev/null
+++ b/public/-/emojis/3/island.png
Binary files differ
diff --git a/public/-/emojis/3/izakaya_lantern.png b/public/-/emojis/3/izakaya_lantern.png
new file mode 100644
index 00000000000..c180a2ff957
--- /dev/null
+++ b/public/-/emojis/3/izakaya_lantern.png
Binary files differ
diff --git a/public/-/emojis/3/jack_o_lantern.png b/public/-/emojis/3/jack_o_lantern.png
new file mode 100644
index 00000000000..6b4b5fd3360
--- /dev/null
+++ b/public/-/emojis/3/jack_o_lantern.png
Binary files differ
diff --git a/public/-/emojis/3/japan.png b/public/-/emojis/3/japan.png
new file mode 100644
index 00000000000..98dcb48b15d
--- /dev/null
+++ b/public/-/emojis/3/japan.png
Binary files differ
diff --git a/public/-/emojis/3/japanese_castle.png b/public/-/emojis/3/japanese_castle.png
new file mode 100644
index 00000000000..6b133365e3b
--- /dev/null
+++ b/public/-/emojis/3/japanese_castle.png
Binary files differ
diff --git a/public/-/emojis/3/japanese_goblin.png b/public/-/emojis/3/japanese_goblin.png
new file mode 100644
index 00000000000..1c0a10aa2fc
--- /dev/null
+++ b/public/-/emojis/3/japanese_goblin.png
Binary files differ
diff --git a/public/-/emojis/3/japanese_ogre.png b/public/-/emojis/3/japanese_ogre.png
new file mode 100644
index 00000000000..6d4f4aa7f45
--- /dev/null
+++ b/public/-/emojis/3/japanese_ogre.png
Binary files differ
diff --git a/public/-/emojis/3/jeans.png b/public/-/emojis/3/jeans.png
new file mode 100644
index 00000000000..2bd8122c90f
--- /dev/null
+++ b/public/-/emojis/3/jeans.png
Binary files differ
diff --git a/public/-/emojis/3/joy.png b/public/-/emojis/3/joy.png
new file mode 100644
index 00000000000..3a1103803c4
--- /dev/null
+++ b/public/-/emojis/3/joy.png
Binary files differ
diff --git a/public/-/emojis/3/joy_cat.png b/public/-/emojis/3/joy_cat.png
new file mode 100644
index 00000000000..0c3c1be3b6d
--- /dev/null
+++ b/public/-/emojis/3/joy_cat.png
Binary files differ
diff --git a/public/-/emojis/3/joystick.png b/public/-/emojis/3/joystick.png
new file mode 100644
index 00000000000..ace46cb751f
--- /dev/null
+++ b/public/-/emojis/3/joystick.png
Binary files differ
diff --git a/public/-/emojis/3/juggling.png b/public/-/emojis/3/juggling.png
new file mode 100644
index 00000000000..50f2275aac0
--- /dev/null
+++ b/public/-/emojis/3/juggling.png
Binary files differ
diff --git a/public/-/emojis/3/juggling_tone1.png b/public/-/emojis/3/juggling_tone1.png
new file mode 100644
index 00000000000..acb9056a2a4
--- /dev/null
+++ b/public/-/emojis/3/juggling_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/juggling_tone2.png b/public/-/emojis/3/juggling_tone2.png
new file mode 100644
index 00000000000..c2809447a80
--- /dev/null
+++ b/public/-/emojis/3/juggling_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/juggling_tone3.png b/public/-/emojis/3/juggling_tone3.png
new file mode 100644
index 00000000000..625e0d90506
--- /dev/null
+++ b/public/-/emojis/3/juggling_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/juggling_tone4.png b/public/-/emojis/3/juggling_tone4.png
new file mode 100644
index 00000000000..ceb628ff36e
--- /dev/null
+++ b/public/-/emojis/3/juggling_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/juggling_tone5.png b/public/-/emojis/3/juggling_tone5.png
new file mode 100644
index 00000000000..fc1ff36a024
--- /dev/null
+++ b/public/-/emojis/3/juggling_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/kaaba.png b/public/-/emojis/3/kaaba.png
new file mode 100644
index 00000000000..c49eb875d09
--- /dev/null
+++ b/public/-/emojis/3/kaaba.png
Binary files differ
diff --git a/public/-/emojis/3/key.png b/public/-/emojis/3/key.png
new file mode 100644
index 00000000000..26ef5c33cdf
--- /dev/null
+++ b/public/-/emojis/3/key.png
Binary files differ
diff --git a/public/-/emojis/3/key2.png b/public/-/emojis/3/key2.png
new file mode 100644
index 00000000000..abd66dbc688
--- /dev/null
+++ b/public/-/emojis/3/key2.png
Binary files differ
diff --git a/public/-/emojis/3/keyboard.png b/public/-/emojis/3/keyboard.png
new file mode 100644
index 00000000000..f1f9d350b39
--- /dev/null
+++ b/public/-/emojis/3/keyboard.png
Binary files differ
diff --git a/public/-/emojis/3/kimono.png b/public/-/emojis/3/kimono.png
new file mode 100644
index 00000000000..c04d88fc1ce
--- /dev/null
+++ b/public/-/emojis/3/kimono.png
Binary files differ
diff --git a/public/-/emojis/3/kiss.png b/public/-/emojis/3/kiss.png
new file mode 100644
index 00000000000..4d30dff10d9
--- /dev/null
+++ b/public/-/emojis/3/kiss.png
Binary files differ
diff --git a/public/-/emojis/3/kiss_mm.png b/public/-/emojis/3/kiss_mm.png
new file mode 100644
index 00000000000..9b49c4b409d
--- /dev/null
+++ b/public/-/emojis/3/kiss_mm.png
Binary files differ
diff --git a/public/-/emojis/3/kiss_ww.png b/public/-/emojis/3/kiss_ww.png
new file mode 100644
index 00000000000..678857c5109
--- /dev/null
+++ b/public/-/emojis/3/kiss_ww.png
Binary files differ
diff --git a/public/-/emojis/3/kissing.png b/public/-/emojis/3/kissing.png
new file mode 100644
index 00000000000..bb176638d8d
--- /dev/null
+++ b/public/-/emojis/3/kissing.png
Binary files differ
diff --git a/public/-/emojis/3/kissing_cat.png b/public/-/emojis/3/kissing_cat.png
new file mode 100644
index 00000000000..cc47ec15537
--- /dev/null
+++ b/public/-/emojis/3/kissing_cat.png
Binary files differ
diff --git a/public/-/emojis/3/kissing_closed_eyes.png b/public/-/emojis/3/kissing_closed_eyes.png
new file mode 100644
index 00000000000..3422c63253b
--- /dev/null
+++ b/public/-/emojis/3/kissing_closed_eyes.png
Binary files differ
diff --git a/public/-/emojis/3/kissing_heart.png b/public/-/emojis/3/kissing_heart.png
new file mode 100644
index 00000000000..0427b706194
--- /dev/null
+++ b/public/-/emojis/3/kissing_heart.png
Binary files differ
diff --git a/public/-/emojis/3/kissing_smiling_eyes.png b/public/-/emojis/3/kissing_smiling_eyes.png
new file mode 100644
index 00000000000..6b00b2fbe17
--- /dev/null
+++ b/public/-/emojis/3/kissing_smiling_eyes.png
Binary files differ
diff --git a/public/-/emojis/3/kiwi.png b/public/-/emojis/3/kiwi.png
new file mode 100644
index 00000000000..d9cabbf03fe
--- /dev/null
+++ b/public/-/emojis/3/kiwi.png
Binary files differ
diff --git a/public/-/emojis/3/knife.png b/public/-/emojis/3/knife.png
new file mode 100644
index 00000000000..86c5a80ea04
--- /dev/null
+++ b/public/-/emojis/3/knife.png
Binary files differ
diff --git a/public/-/emojis/3/koala.png b/public/-/emojis/3/koala.png
new file mode 100644
index 00000000000..88c4947e513
--- /dev/null
+++ b/public/-/emojis/3/koala.png
Binary files differ
diff --git a/public/-/emojis/3/koko.png b/public/-/emojis/3/koko.png
new file mode 100644
index 00000000000..835d1351c13
--- /dev/null
+++ b/public/-/emojis/3/koko.png
Binary files differ
diff --git a/public/-/emojis/3/label.png b/public/-/emojis/3/label.png
new file mode 100644
index 00000000000..ff9ebf30690
--- /dev/null
+++ b/public/-/emojis/3/label.png
Binary files differ
diff --git a/public/-/emojis/3/large_blue_circle.png b/public/-/emojis/3/large_blue_circle.png
new file mode 100644
index 00000000000..13aca4ff995
--- /dev/null
+++ b/public/-/emojis/3/large_blue_circle.png
Binary files differ
diff --git a/public/-/emojis/3/large_blue_diamond.png b/public/-/emojis/3/large_blue_diamond.png
new file mode 100644
index 00000000000..501b85dedc0
--- /dev/null
+++ b/public/-/emojis/3/large_blue_diamond.png
Binary files differ
diff --git a/public/-/emojis/3/large_orange_diamond.png b/public/-/emojis/3/large_orange_diamond.png
new file mode 100644
index 00000000000..929f9132687
--- /dev/null
+++ b/public/-/emojis/3/large_orange_diamond.png
Binary files differ
diff --git a/public/-/emojis/3/last_quarter_moon.png b/public/-/emojis/3/last_quarter_moon.png
new file mode 100644
index 00000000000..a5e5b7ff320
--- /dev/null
+++ b/public/-/emojis/3/last_quarter_moon.png
Binary files differ
diff --git a/public/-/emojis/3/last_quarter_moon_with_face.png b/public/-/emojis/3/last_quarter_moon_with_face.png
new file mode 100644
index 00000000000..2f2ed5fd8f5
--- /dev/null
+++ b/public/-/emojis/3/last_quarter_moon_with_face.png
Binary files differ
diff --git a/public/-/emojis/3/laughing.png b/public/-/emojis/3/laughing.png
new file mode 100644
index 00000000000..56ace6c7f8d
--- /dev/null
+++ b/public/-/emojis/3/laughing.png
Binary files differ
diff --git a/public/-/emojis/3/leaves.png b/public/-/emojis/3/leaves.png
new file mode 100644
index 00000000000..ed2dcc893ea
--- /dev/null
+++ b/public/-/emojis/3/leaves.png
Binary files differ
diff --git a/public/-/emojis/3/ledger.png b/public/-/emojis/3/ledger.png
new file mode 100644
index 00000000000..bf8f09fb37f
--- /dev/null
+++ b/public/-/emojis/3/ledger.png
Binary files differ
diff --git a/public/-/emojis/3/left_facing_fist.png b/public/-/emojis/3/left_facing_fist.png
new file mode 100644
index 00000000000..9c906df503b
--- /dev/null
+++ b/public/-/emojis/3/left_facing_fist.png
Binary files differ
diff --git a/public/-/emojis/3/left_facing_fist_tone1.png b/public/-/emojis/3/left_facing_fist_tone1.png
new file mode 100644
index 00000000000..1135adf2b05
--- /dev/null
+++ b/public/-/emojis/3/left_facing_fist_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/left_facing_fist_tone2.png b/public/-/emojis/3/left_facing_fist_tone2.png
new file mode 100644
index 00000000000..b1632483ce9
--- /dev/null
+++ b/public/-/emojis/3/left_facing_fist_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/left_facing_fist_tone3.png b/public/-/emojis/3/left_facing_fist_tone3.png
new file mode 100644
index 00000000000..2209797d48c
--- /dev/null
+++ b/public/-/emojis/3/left_facing_fist_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/left_facing_fist_tone4.png b/public/-/emojis/3/left_facing_fist_tone4.png
new file mode 100644
index 00000000000..a5e3c48f821
--- /dev/null
+++ b/public/-/emojis/3/left_facing_fist_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/left_facing_fist_tone5.png b/public/-/emojis/3/left_facing_fist_tone5.png
new file mode 100644
index 00000000000..f9d58061e6f
--- /dev/null
+++ b/public/-/emojis/3/left_facing_fist_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/left_luggage.png b/public/-/emojis/3/left_luggage.png
new file mode 100644
index 00000000000..5a4c8014113
--- /dev/null
+++ b/public/-/emojis/3/left_luggage.png
Binary files differ
diff --git a/public/-/emojis/3/left_right_arrow.png b/public/-/emojis/3/left_right_arrow.png
new file mode 100644
index 00000000000..900ff12cc99
--- /dev/null
+++ b/public/-/emojis/3/left_right_arrow.png
Binary files differ
diff --git a/public/-/emojis/3/leftwards_arrow_with_hook.png b/public/-/emojis/3/leftwards_arrow_with_hook.png
new file mode 100644
index 00000000000..22b51a690a9
--- /dev/null
+++ b/public/-/emojis/3/leftwards_arrow_with_hook.png
Binary files differ
diff --git a/public/-/emojis/3/lemon.png b/public/-/emojis/3/lemon.png
new file mode 100644
index 00000000000..e0bab2a069d
--- /dev/null
+++ b/public/-/emojis/3/lemon.png
Binary files differ
diff --git a/public/-/emojis/3/leo.png b/public/-/emojis/3/leo.png
new file mode 100644
index 00000000000..a42fe8e6aa3
--- /dev/null
+++ b/public/-/emojis/3/leo.png
Binary files differ
diff --git a/public/-/emojis/3/leopard.png b/public/-/emojis/3/leopard.png
new file mode 100644
index 00000000000..37ea6bb759b
--- /dev/null
+++ b/public/-/emojis/3/leopard.png
Binary files differ
diff --git a/public/-/emojis/3/level_slider.png b/public/-/emojis/3/level_slider.png
new file mode 100644
index 00000000000..84ccab6e7d6
--- /dev/null
+++ b/public/-/emojis/3/level_slider.png
Binary files differ
diff --git a/public/-/emojis/3/levitate.png b/public/-/emojis/3/levitate.png
new file mode 100644
index 00000000000..bbbd63ec40f
--- /dev/null
+++ b/public/-/emojis/3/levitate.png
Binary files differ
diff --git a/public/-/emojis/3/libra.png b/public/-/emojis/3/libra.png
new file mode 100644
index 00000000000..791d13f8a45
--- /dev/null
+++ b/public/-/emojis/3/libra.png
Binary files differ
diff --git a/public/-/emojis/3/lifter.png b/public/-/emojis/3/lifter.png
new file mode 100644
index 00000000000..de24a15a5d9
--- /dev/null
+++ b/public/-/emojis/3/lifter.png
Binary files differ
diff --git a/public/-/emojis/3/lifter_tone1.png b/public/-/emojis/3/lifter_tone1.png
new file mode 100644
index 00000000000..fb3f3233ad1
--- /dev/null
+++ b/public/-/emojis/3/lifter_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/lifter_tone2.png b/public/-/emojis/3/lifter_tone2.png
new file mode 100644
index 00000000000..0355652ba15
--- /dev/null
+++ b/public/-/emojis/3/lifter_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/lifter_tone3.png b/public/-/emojis/3/lifter_tone3.png
new file mode 100644
index 00000000000..a0d8c97ee19
--- /dev/null
+++ b/public/-/emojis/3/lifter_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/lifter_tone4.png b/public/-/emojis/3/lifter_tone4.png
new file mode 100644
index 00000000000..2f6cc33e461
--- /dev/null
+++ b/public/-/emojis/3/lifter_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/lifter_tone5.png b/public/-/emojis/3/lifter_tone5.png
new file mode 100644
index 00000000000..77888ef91d1
--- /dev/null
+++ b/public/-/emojis/3/lifter_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/light_rail.png b/public/-/emojis/3/light_rail.png
new file mode 100644
index 00000000000..ae337d7ce54
--- /dev/null
+++ b/public/-/emojis/3/light_rail.png
Binary files differ
diff --git a/public/-/emojis/3/link.png b/public/-/emojis/3/link.png
new file mode 100644
index 00000000000..f1a7c11e9f0
--- /dev/null
+++ b/public/-/emojis/3/link.png
Binary files differ
diff --git a/public/-/emojis/3/lion_face.png b/public/-/emojis/3/lion_face.png
new file mode 100644
index 00000000000..42eac6464b3
--- /dev/null
+++ b/public/-/emojis/3/lion_face.png
Binary files differ
diff --git a/public/-/emojis/3/lips.png b/public/-/emojis/3/lips.png
new file mode 100644
index 00000000000..542c12a5594
--- /dev/null
+++ b/public/-/emojis/3/lips.png
Binary files differ
diff --git a/public/-/emojis/3/lipstick.png b/public/-/emojis/3/lipstick.png
new file mode 100644
index 00000000000..a58667d0c70
--- /dev/null
+++ b/public/-/emojis/3/lipstick.png
Binary files differ
diff --git a/public/-/emojis/3/lizard.png b/public/-/emojis/3/lizard.png
new file mode 100644
index 00000000000..1712def5e90
--- /dev/null
+++ b/public/-/emojis/3/lizard.png
Binary files differ
diff --git a/public/-/emojis/3/lock.png b/public/-/emojis/3/lock.png
new file mode 100644
index 00000000000..1d63bc87919
--- /dev/null
+++ b/public/-/emojis/3/lock.png
Binary files differ
diff --git a/public/-/emojis/3/lock_with_ink_pen.png b/public/-/emojis/3/lock_with_ink_pen.png
new file mode 100644
index 00000000000..fa9cf62c0f1
--- /dev/null
+++ b/public/-/emojis/3/lock_with_ink_pen.png
Binary files differ
diff --git a/public/-/emojis/3/lollipop.png b/public/-/emojis/3/lollipop.png
new file mode 100644
index 00000000000..0948101801d
--- /dev/null
+++ b/public/-/emojis/3/lollipop.png
Binary files differ
diff --git a/public/-/emojis/3/loop.png b/public/-/emojis/3/loop.png
new file mode 100644
index 00000000000..353fce5994e
--- /dev/null
+++ b/public/-/emojis/3/loop.png
Binary files differ
diff --git a/public/-/emojis/3/loud_sound.png b/public/-/emojis/3/loud_sound.png
new file mode 100644
index 00000000000..8150c3ae6ab
--- /dev/null
+++ b/public/-/emojis/3/loud_sound.png
Binary files differ
diff --git a/public/-/emojis/3/loudspeaker.png b/public/-/emojis/3/loudspeaker.png
new file mode 100644
index 00000000000..b73054a5cb9
--- /dev/null
+++ b/public/-/emojis/3/loudspeaker.png
Binary files differ
diff --git a/public/-/emojis/3/love_hotel.png b/public/-/emojis/3/love_hotel.png
new file mode 100644
index 00000000000..b0bc9b9150c
--- /dev/null
+++ b/public/-/emojis/3/love_hotel.png
Binary files differ
diff --git a/public/-/emojis/3/love_letter.png b/public/-/emojis/3/love_letter.png
new file mode 100644
index 00000000000..135bcf05119
--- /dev/null
+++ b/public/-/emojis/3/love_letter.png
Binary files differ
diff --git a/public/-/emojis/3/low_brightness.png b/public/-/emojis/3/low_brightness.png
new file mode 100644
index 00000000000..f444013da6e
--- /dev/null
+++ b/public/-/emojis/3/low_brightness.png
Binary files differ
diff --git a/public/-/emojis/3/lying_face.png b/public/-/emojis/3/lying_face.png
new file mode 100644
index 00000000000..97432b50d57
--- /dev/null
+++ b/public/-/emojis/3/lying_face.png
Binary files differ
diff --git a/public/-/emojis/3/m.png b/public/-/emojis/3/m.png
new file mode 100644
index 00000000000..3ee9e9fbc9c
--- /dev/null
+++ b/public/-/emojis/3/m.png
Binary files differ
diff --git a/public/-/emojis/3/mag.png b/public/-/emojis/3/mag.png
new file mode 100644
index 00000000000..2363ea1bb02
--- /dev/null
+++ b/public/-/emojis/3/mag.png
Binary files differ
diff --git a/public/-/emojis/3/mag_right.png b/public/-/emojis/3/mag_right.png
new file mode 100644
index 00000000000..9284b384810
--- /dev/null
+++ b/public/-/emojis/3/mag_right.png
Binary files differ
diff --git a/public/-/emojis/3/mahjong.png b/public/-/emojis/3/mahjong.png
new file mode 100644
index 00000000000..6e86f916fc4
--- /dev/null
+++ b/public/-/emojis/3/mahjong.png
Binary files differ
diff --git a/public/-/emojis/3/mailbox.png b/public/-/emojis/3/mailbox.png
new file mode 100644
index 00000000000..e6a6f24ddfa
--- /dev/null
+++ b/public/-/emojis/3/mailbox.png
Binary files differ
diff --git a/public/-/emojis/3/mailbox_closed.png b/public/-/emojis/3/mailbox_closed.png
new file mode 100644
index 00000000000..712b644754c
--- /dev/null
+++ b/public/-/emojis/3/mailbox_closed.png
Binary files differ
diff --git a/public/-/emojis/3/mailbox_with_mail.png b/public/-/emojis/3/mailbox_with_mail.png
new file mode 100644
index 00000000000..5b3acde9ed3
--- /dev/null
+++ b/public/-/emojis/3/mailbox_with_mail.png
Binary files differ
diff --git a/public/-/emojis/3/mailbox_with_no_mail.png b/public/-/emojis/3/mailbox_with_no_mail.png
new file mode 100644
index 00000000000..e91113c5b7d
--- /dev/null
+++ b/public/-/emojis/3/mailbox_with_no_mail.png
Binary files differ
diff --git a/public/-/emojis/3/man.png b/public/-/emojis/3/man.png
new file mode 100644
index 00000000000..1471371a28d
--- /dev/null
+++ b/public/-/emojis/3/man.png
Binary files differ
diff --git a/public/-/emojis/3/man_dancing.png b/public/-/emojis/3/man_dancing.png
new file mode 100644
index 00000000000..506607c93f1
--- /dev/null
+++ b/public/-/emojis/3/man_dancing.png
Binary files differ
diff --git a/public/-/emojis/3/man_dancing_tone1.png b/public/-/emojis/3/man_dancing_tone1.png
new file mode 100644
index 00000000000..42f547529c2
--- /dev/null
+++ b/public/-/emojis/3/man_dancing_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/man_dancing_tone2.png b/public/-/emojis/3/man_dancing_tone2.png
new file mode 100644
index 00000000000..2c3daaa08e2
--- /dev/null
+++ b/public/-/emojis/3/man_dancing_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/man_dancing_tone3.png b/public/-/emojis/3/man_dancing_tone3.png
new file mode 100644
index 00000000000..85c5092a13a
--- /dev/null
+++ b/public/-/emojis/3/man_dancing_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/man_dancing_tone4.png b/public/-/emojis/3/man_dancing_tone4.png
new file mode 100644
index 00000000000..98897f3aa8c
--- /dev/null
+++ b/public/-/emojis/3/man_dancing_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/man_dancing_tone5.png b/public/-/emojis/3/man_dancing_tone5.png
new file mode 100644
index 00000000000..16da682d8e3
--- /dev/null
+++ b/public/-/emojis/3/man_dancing_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/man_in_tuxedo.png b/public/-/emojis/3/man_in_tuxedo.png
new file mode 100644
index 00000000000..15cfc08f5c2
--- /dev/null
+++ b/public/-/emojis/3/man_in_tuxedo.png
Binary files differ
diff --git a/public/-/emojis/3/man_in_tuxedo_tone1.png b/public/-/emojis/3/man_in_tuxedo_tone1.png
new file mode 100644
index 00000000000..18a24c9571f
--- /dev/null
+++ b/public/-/emojis/3/man_in_tuxedo_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/man_in_tuxedo_tone2.png b/public/-/emojis/3/man_in_tuxedo_tone2.png
new file mode 100644
index 00000000000..2de8e0a8aa2
--- /dev/null
+++ b/public/-/emojis/3/man_in_tuxedo_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/man_in_tuxedo_tone3.png b/public/-/emojis/3/man_in_tuxedo_tone3.png
new file mode 100644
index 00000000000..35b10680ac3
--- /dev/null
+++ b/public/-/emojis/3/man_in_tuxedo_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/man_in_tuxedo_tone4.png b/public/-/emojis/3/man_in_tuxedo_tone4.png
new file mode 100644
index 00000000000..569bf7c6928
--- /dev/null
+++ b/public/-/emojis/3/man_in_tuxedo_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/man_in_tuxedo_tone5.png b/public/-/emojis/3/man_in_tuxedo_tone5.png
new file mode 100644
index 00000000000..d3f0518b4b7
--- /dev/null
+++ b/public/-/emojis/3/man_in_tuxedo_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/man_tone1.png b/public/-/emojis/3/man_tone1.png
new file mode 100644
index 00000000000..d7b3233ccfd
--- /dev/null
+++ b/public/-/emojis/3/man_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/man_tone2.png b/public/-/emojis/3/man_tone2.png
new file mode 100644
index 00000000000..4713c4e89a7
--- /dev/null
+++ b/public/-/emojis/3/man_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/man_tone3.png b/public/-/emojis/3/man_tone3.png
new file mode 100644
index 00000000000..4c2b28426be
--- /dev/null
+++ b/public/-/emojis/3/man_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/man_tone4.png b/public/-/emojis/3/man_tone4.png
new file mode 100644
index 00000000000..91f19b75c5e
--- /dev/null
+++ b/public/-/emojis/3/man_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/man_tone5.png b/public/-/emojis/3/man_tone5.png
new file mode 100644
index 00000000000..5fe2741efb8
--- /dev/null
+++ b/public/-/emojis/3/man_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/man_with_gua_pi_mao.png b/public/-/emojis/3/man_with_gua_pi_mao.png
new file mode 100644
index 00000000000..986a82d38cb
--- /dev/null
+++ b/public/-/emojis/3/man_with_gua_pi_mao.png
Binary files differ
diff --git a/public/-/emojis/3/man_with_gua_pi_mao_tone1.png b/public/-/emojis/3/man_with_gua_pi_mao_tone1.png
new file mode 100644
index 00000000000..6657368cc73
--- /dev/null
+++ b/public/-/emojis/3/man_with_gua_pi_mao_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/man_with_gua_pi_mao_tone2.png b/public/-/emojis/3/man_with_gua_pi_mao_tone2.png
new file mode 100644
index 00000000000..822a6b18309
--- /dev/null
+++ b/public/-/emojis/3/man_with_gua_pi_mao_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/man_with_gua_pi_mao_tone3.png b/public/-/emojis/3/man_with_gua_pi_mao_tone3.png
new file mode 100644
index 00000000000..ec53dc12c14
--- /dev/null
+++ b/public/-/emojis/3/man_with_gua_pi_mao_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/man_with_gua_pi_mao_tone4.png b/public/-/emojis/3/man_with_gua_pi_mao_tone4.png
new file mode 100644
index 00000000000..e454dcbf25f
--- /dev/null
+++ b/public/-/emojis/3/man_with_gua_pi_mao_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/man_with_gua_pi_mao_tone5.png b/public/-/emojis/3/man_with_gua_pi_mao_tone5.png
new file mode 100644
index 00000000000..15e5d9238e8
--- /dev/null
+++ b/public/-/emojis/3/man_with_gua_pi_mao_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/man_with_turban.png b/public/-/emojis/3/man_with_turban.png
new file mode 100644
index 00000000000..4fdf66b58be
--- /dev/null
+++ b/public/-/emojis/3/man_with_turban.png
Binary files differ
diff --git a/public/-/emojis/3/man_with_turban_tone1.png b/public/-/emojis/3/man_with_turban_tone1.png
new file mode 100644
index 00000000000..e018f241027
--- /dev/null
+++ b/public/-/emojis/3/man_with_turban_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/man_with_turban_tone2.png b/public/-/emojis/3/man_with_turban_tone2.png
new file mode 100644
index 00000000000..84fdcdeeeef
--- /dev/null
+++ b/public/-/emojis/3/man_with_turban_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/man_with_turban_tone3.png b/public/-/emojis/3/man_with_turban_tone3.png
new file mode 100644
index 00000000000..f3bb33a49c3
--- /dev/null
+++ b/public/-/emojis/3/man_with_turban_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/man_with_turban_tone4.png b/public/-/emojis/3/man_with_turban_tone4.png
new file mode 100644
index 00000000000..e718321068f
--- /dev/null
+++ b/public/-/emojis/3/man_with_turban_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/man_with_turban_tone5.png b/public/-/emojis/3/man_with_turban_tone5.png
new file mode 100644
index 00000000000..0c7c9c80150
--- /dev/null
+++ b/public/-/emojis/3/man_with_turban_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/mans_shoe.png b/public/-/emojis/3/mans_shoe.png
new file mode 100644
index 00000000000..e8bc1d237c0
--- /dev/null
+++ b/public/-/emojis/3/mans_shoe.png
Binary files differ
diff --git a/public/-/emojis/3/map.png b/public/-/emojis/3/map.png
new file mode 100644
index 00000000000..609a7da92d5
--- /dev/null
+++ b/public/-/emojis/3/map.png
Binary files differ
diff --git a/public/-/emojis/3/maple_leaf.png b/public/-/emojis/3/maple_leaf.png
new file mode 100644
index 00000000000..b79b9d4b8f8
--- /dev/null
+++ b/public/-/emojis/3/maple_leaf.png
Binary files differ
diff --git a/public/-/emojis/3/martial_arts_uniform.png b/public/-/emojis/3/martial_arts_uniform.png
new file mode 100644
index 00000000000..813c890ec96
--- /dev/null
+++ b/public/-/emojis/3/martial_arts_uniform.png
Binary files differ
diff --git a/public/-/emojis/3/mask.png b/public/-/emojis/3/mask.png
new file mode 100644
index 00000000000..fa1ef6f7191
--- /dev/null
+++ b/public/-/emojis/3/mask.png
Binary files differ
diff --git a/public/-/emojis/3/massage.png b/public/-/emojis/3/massage.png
new file mode 100644
index 00000000000..e2592063d1e
--- /dev/null
+++ b/public/-/emojis/3/massage.png
Binary files differ
diff --git a/public/-/emojis/3/massage_tone1.png b/public/-/emojis/3/massage_tone1.png
new file mode 100644
index 00000000000..cc9dcfea166
--- /dev/null
+++ b/public/-/emojis/3/massage_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/massage_tone2.png b/public/-/emojis/3/massage_tone2.png
new file mode 100644
index 00000000000..108603a7f79
--- /dev/null
+++ b/public/-/emojis/3/massage_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/massage_tone3.png b/public/-/emojis/3/massage_tone3.png
new file mode 100644
index 00000000000..5c81192b6ee
--- /dev/null
+++ b/public/-/emojis/3/massage_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/massage_tone4.png b/public/-/emojis/3/massage_tone4.png
new file mode 100644
index 00000000000..64f3bbb8086
--- /dev/null
+++ b/public/-/emojis/3/massage_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/massage_tone5.png b/public/-/emojis/3/massage_tone5.png
new file mode 100644
index 00000000000..738fde080ab
--- /dev/null
+++ b/public/-/emojis/3/massage_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/meat_on_bone.png b/public/-/emojis/3/meat_on_bone.png
new file mode 100644
index 00000000000..38e9b730868
--- /dev/null
+++ b/public/-/emojis/3/meat_on_bone.png
Binary files differ
diff --git a/public/-/emojis/3/medal.png b/public/-/emojis/3/medal.png
new file mode 100644
index 00000000000..0b8a681f8a3
--- /dev/null
+++ b/public/-/emojis/3/medal.png
Binary files differ
diff --git a/public/-/emojis/3/mega.png b/public/-/emojis/3/mega.png
new file mode 100644
index 00000000000..729f1d6062e
--- /dev/null
+++ b/public/-/emojis/3/mega.png
Binary files differ
diff --git a/public/-/emojis/3/melon.png b/public/-/emojis/3/melon.png
new file mode 100644
index 00000000000..4bf92d03233
--- /dev/null
+++ b/public/-/emojis/3/melon.png
Binary files differ
diff --git a/public/-/emojis/3/menorah.png b/public/-/emojis/3/menorah.png
new file mode 100644
index 00000000000..6acfdd9dfdd
--- /dev/null
+++ b/public/-/emojis/3/menorah.png
Binary files differ
diff --git a/public/-/emojis/3/mens.png b/public/-/emojis/3/mens.png
new file mode 100644
index 00000000000..fcdeea081d2
--- /dev/null
+++ b/public/-/emojis/3/mens.png
Binary files differ
diff --git a/public/-/emojis/3/metal.png b/public/-/emojis/3/metal.png
new file mode 100644
index 00000000000..aa16a05280f
--- /dev/null
+++ b/public/-/emojis/3/metal.png
Binary files differ
diff --git a/public/-/emojis/3/metal_tone1.png b/public/-/emojis/3/metal_tone1.png
new file mode 100644
index 00000000000..e21cf74fb44
--- /dev/null
+++ b/public/-/emojis/3/metal_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/metal_tone2.png b/public/-/emojis/3/metal_tone2.png
new file mode 100644
index 00000000000..8f3e405c249
--- /dev/null
+++ b/public/-/emojis/3/metal_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/metal_tone3.png b/public/-/emojis/3/metal_tone3.png
new file mode 100644
index 00000000000..17c7e61b1a1
--- /dev/null
+++ b/public/-/emojis/3/metal_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/metal_tone4.png b/public/-/emojis/3/metal_tone4.png
new file mode 100644
index 00000000000..377ee61c6b7
--- /dev/null
+++ b/public/-/emojis/3/metal_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/metal_tone5.png b/public/-/emojis/3/metal_tone5.png
new file mode 100644
index 00000000000..3538e4a0634
--- /dev/null
+++ b/public/-/emojis/3/metal_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/metro.png b/public/-/emojis/3/metro.png
new file mode 100644
index 00000000000..5b46fff041c
--- /dev/null
+++ b/public/-/emojis/3/metro.png
Binary files differ
diff --git a/public/-/emojis/3/microphone.png b/public/-/emojis/3/microphone.png
new file mode 100644
index 00000000000..2fa4b55cce5
--- /dev/null
+++ b/public/-/emojis/3/microphone.png
Binary files differ
diff --git a/public/-/emojis/3/microphone2.png b/public/-/emojis/3/microphone2.png
new file mode 100644
index 00000000000..8de74839976
--- /dev/null
+++ b/public/-/emojis/3/microphone2.png
Binary files differ
diff --git a/public/-/emojis/3/microscope.png b/public/-/emojis/3/microscope.png
new file mode 100644
index 00000000000..a43f3f862c3
--- /dev/null
+++ b/public/-/emojis/3/microscope.png
Binary files differ
diff --git a/public/-/emojis/3/middle_finger.png b/public/-/emojis/3/middle_finger.png
new file mode 100644
index 00000000000..cadd7de4b1e
--- /dev/null
+++ b/public/-/emojis/3/middle_finger.png
Binary files differ
diff --git a/public/-/emojis/3/middle_finger_tone1.png b/public/-/emojis/3/middle_finger_tone1.png
new file mode 100644
index 00000000000..2c2b63095c7
--- /dev/null
+++ b/public/-/emojis/3/middle_finger_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/middle_finger_tone2.png b/public/-/emojis/3/middle_finger_tone2.png
new file mode 100644
index 00000000000..33a47b9bd7f
--- /dev/null
+++ b/public/-/emojis/3/middle_finger_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/middle_finger_tone3.png b/public/-/emojis/3/middle_finger_tone3.png
new file mode 100644
index 00000000000..209224ab4e4
--- /dev/null
+++ b/public/-/emojis/3/middle_finger_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/middle_finger_tone4.png b/public/-/emojis/3/middle_finger_tone4.png
new file mode 100644
index 00000000000..438793f2ee0
--- /dev/null
+++ b/public/-/emojis/3/middle_finger_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/middle_finger_tone5.png b/public/-/emojis/3/middle_finger_tone5.png
new file mode 100644
index 00000000000..91eb77d1857
--- /dev/null
+++ b/public/-/emojis/3/middle_finger_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/military_medal.png b/public/-/emojis/3/military_medal.png
new file mode 100644
index 00000000000..e78c6fa87e0
--- /dev/null
+++ b/public/-/emojis/3/military_medal.png
Binary files differ
diff --git a/public/-/emojis/3/milk.png b/public/-/emojis/3/milk.png
new file mode 100644
index 00000000000..ea6fae69ed7
--- /dev/null
+++ b/public/-/emojis/3/milk.png
Binary files differ
diff --git a/public/-/emojis/3/milky_way.png b/public/-/emojis/3/milky_way.png
new file mode 100644
index 00000000000..b769796a96c
--- /dev/null
+++ b/public/-/emojis/3/milky_way.png
Binary files differ
diff --git a/public/-/emojis/3/minibus.png b/public/-/emojis/3/minibus.png
new file mode 100644
index 00000000000..799a2eeac72
--- /dev/null
+++ b/public/-/emojis/3/minibus.png
Binary files differ
diff --git a/public/-/emojis/3/minidisc.png b/public/-/emojis/3/minidisc.png
new file mode 100644
index 00000000000..7ee33d5be5e
--- /dev/null
+++ b/public/-/emojis/3/minidisc.png
Binary files differ
diff --git a/public/-/emojis/3/mobile_phone_off.png b/public/-/emojis/3/mobile_phone_off.png
new file mode 100644
index 00000000000..9fe93dffcb9
--- /dev/null
+++ b/public/-/emojis/3/mobile_phone_off.png
Binary files differ
diff --git a/public/-/emojis/3/money_mouth.png b/public/-/emojis/3/money_mouth.png
new file mode 100644
index 00000000000..9ec050c9c62
--- /dev/null
+++ b/public/-/emojis/3/money_mouth.png
Binary files differ
diff --git a/public/-/emojis/3/money_with_wings.png b/public/-/emojis/3/money_with_wings.png
new file mode 100644
index 00000000000..245b84584b2
--- /dev/null
+++ b/public/-/emojis/3/money_with_wings.png
Binary files differ
diff --git a/public/-/emojis/3/moneybag.png b/public/-/emojis/3/moneybag.png
new file mode 100644
index 00000000000..1d7a8cd2a02
--- /dev/null
+++ b/public/-/emojis/3/moneybag.png
Binary files differ
diff --git a/public/-/emojis/3/monkey.png b/public/-/emojis/3/monkey.png
new file mode 100644
index 00000000000..f8b4d6a6ccf
--- /dev/null
+++ b/public/-/emojis/3/monkey.png
Binary files differ
diff --git a/public/-/emojis/3/monkey_face.png b/public/-/emojis/3/monkey_face.png
new file mode 100644
index 00000000000..cbab205225d
--- /dev/null
+++ b/public/-/emojis/3/monkey_face.png
Binary files differ
diff --git a/public/-/emojis/3/monorail.png b/public/-/emojis/3/monorail.png
new file mode 100644
index 00000000000..71b9947f085
--- /dev/null
+++ b/public/-/emojis/3/monorail.png
Binary files differ
diff --git a/public/-/emojis/3/mortar_board.png b/public/-/emojis/3/mortar_board.png
new file mode 100644
index 00000000000..150e02378a6
--- /dev/null
+++ b/public/-/emojis/3/mortar_board.png
Binary files differ
diff --git a/public/-/emojis/3/mosque.png b/public/-/emojis/3/mosque.png
new file mode 100644
index 00000000000..cd8e6fac4cd
--- /dev/null
+++ b/public/-/emojis/3/mosque.png
Binary files differ
diff --git a/public/-/emojis/3/motor_scooter.png b/public/-/emojis/3/motor_scooter.png
new file mode 100644
index 00000000000..831d6ea9800
--- /dev/null
+++ b/public/-/emojis/3/motor_scooter.png
Binary files differ
diff --git a/public/-/emojis/3/motorboat.png b/public/-/emojis/3/motorboat.png
new file mode 100644
index 00000000000..9e8a605b814
--- /dev/null
+++ b/public/-/emojis/3/motorboat.png
Binary files differ
diff --git a/public/-/emojis/3/motorcycle.png b/public/-/emojis/3/motorcycle.png
new file mode 100644
index 00000000000..669a050d5b4
--- /dev/null
+++ b/public/-/emojis/3/motorcycle.png
Binary files differ
diff --git a/public/-/emojis/3/motorway.png b/public/-/emojis/3/motorway.png
new file mode 100644
index 00000000000..abb88ad9418
--- /dev/null
+++ b/public/-/emojis/3/motorway.png
Binary files differ
diff --git a/public/-/emojis/3/mount_fuji.png b/public/-/emojis/3/mount_fuji.png
new file mode 100644
index 00000000000..696499ed762
--- /dev/null
+++ b/public/-/emojis/3/mount_fuji.png
Binary files differ
diff --git a/public/-/emojis/3/mountain.png b/public/-/emojis/3/mountain.png
new file mode 100644
index 00000000000..3156894f243
--- /dev/null
+++ b/public/-/emojis/3/mountain.png
Binary files differ
diff --git a/public/-/emojis/3/mountain_bicyclist.png b/public/-/emojis/3/mountain_bicyclist.png
new file mode 100644
index 00000000000..724f811a817
--- /dev/null
+++ b/public/-/emojis/3/mountain_bicyclist.png
Binary files differ
diff --git a/public/-/emojis/3/mountain_bicyclist_tone1.png b/public/-/emojis/3/mountain_bicyclist_tone1.png
new file mode 100644
index 00000000000..c36a951c8b3
--- /dev/null
+++ b/public/-/emojis/3/mountain_bicyclist_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/mountain_bicyclist_tone2.png b/public/-/emojis/3/mountain_bicyclist_tone2.png
new file mode 100644
index 00000000000..e60847a02f0
--- /dev/null
+++ b/public/-/emojis/3/mountain_bicyclist_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/mountain_bicyclist_tone3.png b/public/-/emojis/3/mountain_bicyclist_tone3.png
new file mode 100644
index 00000000000..1f4e071bc5a
--- /dev/null
+++ b/public/-/emojis/3/mountain_bicyclist_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/mountain_bicyclist_tone4.png b/public/-/emojis/3/mountain_bicyclist_tone4.png
new file mode 100644
index 00000000000..b9698a9e76b
--- /dev/null
+++ b/public/-/emojis/3/mountain_bicyclist_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/mountain_bicyclist_tone5.png b/public/-/emojis/3/mountain_bicyclist_tone5.png
new file mode 100644
index 00000000000..79fe186755c
--- /dev/null
+++ b/public/-/emojis/3/mountain_bicyclist_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/mountain_cableway.png b/public/-/emojis/3/mountain_cableway.png
new file mode 100644
index 00000000000..6a23c7d3903
--- /dev/null
+++ b/public/-/emojis/3/mountain_cableway.png
Binary files differ
diff --git a/public/-/emojis/3/mountain_railway.png b/public/-/emojis/3/mountain_railway.png
new file mode 100644
index 00000000000..369b2e347da
--- /dev/null
+++ b/public/-/emojis/3/mountain_railway.png
Binary files differ
diff --git a/public/-/emojis/3/mountain_snow.png b/public/-/emojis/3/mountain_snow.png
new file mode 100644
index 00000000000..93a2a5f4157
--- /dev/null
+++ b/public/-/emojis/3/mountain_snow.png
Binary files differ
diff --git a/public/-/emojis/3/mouse.png b/public/-/emojis/3/mouse.png
new file mode 100644
index 00000000000..9250e474b02
--- /dev/null
+++ b/public/-/emojis/3/mouse.png
Binary files differ
diff --git a/public/-/emojis/3/mouse2.png b/public/-/emojis/3/mouse2.png
new file mode 100644
index 00000000000..bea98407263
--- /dev/null
+++ b/public/-/emojis/3/mouse2.png
Binary files differ
diff --git a/public/-/emojis/3/mouse_three_button.png b/public/-/emojis/3/mouse_three_button.png
new file mode 100644
index 00000000000..fe51db1fb37
--- /dev/null
+++ b/public/-/emojis/3/mouse_three_button.png
Binary files differ
diff --git a/public/-/emojis/3/movie_camera.png b/public/-/emojis/3/movie_camera.png
new file mode 100644
index 00000000000..7dff4477ade
--- /dev/null
+++ b/public/-/emojis/3/movie_camera.png
Binary files differ
diff --git a/public/-/emojis/3/moyai.png b/public/-/emojis/3/moyai.png
new file mode 100644
index 00000000000..1ab5cec7a08
--- /dev/null
+++ b/public/-/emojis/3/moyai.png
Binary files differ
diff --git a/public/-/emojis/3/mrs_claus.png b/public/-/emojis/3/mrs_claus.png
new file mode 100644
index 00000000000..f1680c9fb33
--- /dev/null
+++ b/public/-/emojis/3/mrs_claus.png
Binary files differ
diff --git a/public/-/emojis/3/mrs_claus_tone1.png b/public/-/emojis/3/mrs_claus_tone1.png
new file mode 100644
index 00000000000..26c7f27e75f
--- /dev/null
+++ b/public/-/emojis/3/mrs_claus_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/mrs_claus_tone2.png b/public/-/emojis/3/mrs_claus_tone2.png
new file mode 100644
index 00000000000..e9e0908ca0a
--- /dev/null
+++ b/public/-/emojis/3/mrs_claus_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/mrs_claus_tone3.png b/public/-/emojis/3/mrs_claus_tone3.png
new file mode 100644
index 00000000000..b464380985c
--- /dev/null
+++ b/public/-/emojis/3/mrs_claus_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/mrs_claus_tone4.png b/public/-/emojis/3/mrs_claus_tone4.png
new file mode 100644
index 00000000000..ac8a014dbd3
--- /dev/null
+++ b/public/-/emojis/3/mrs_claus_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/mrs_claus_tone5.png b/public/-/emojis/3/mrs_claus_tone5.png
new file mode 100644
index 00000000000..2d998498375
--- /dev/null
+++ b/public/-/emojis/3/mrs_claus_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/muscle.png b/public/-/emojis/3/muscle.png
new file mode 100644
index 00000000000..b40eccccba6
--- /dev/null
+++ b/public/-/emojis/3/muscle.png
Binary files differ
diff --git a/public/-/emojis/3/muscle_tone1.png b/public/-/emojis/3/muscle_tone1.png
new file mode 100644
index 00000000000..d971d331bfc
--- /dev/null
+++ b/public/-/emojis/3/muscle_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/muscle_tone2.png b/public/-/emojis/3/muscle_tone2.png
new file mode 100644
index 00000000000..dfb2c9697d3
--- /dev/null
+++ b/public/-/emojis/3/muscle_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/muscle_tone3.png b/public/-/emojis/3/muscle_tone3.png
new file mode 100644
index 00000000000..a528d2a27c7
--- /dev/null
+++ b/public/-/emojis/3/muscle_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/muscle_tone4.png b/public/-/emojis/3/muscle_tone4.png
new file mode 100644
index 00000000000..b3b5cd54e8b
--- /dev/null
+++ b/public/-/emojis/3/muscle_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/muscle_tone5.png b/public/-/emojis/3/muscle_tone5.png
new file mode 100644
index 00000000000..b98fa1b2af3
--- /dev/null
+++ b/public/-/emojis/3/muscle_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/mushroom.png b/public/-/emojis/3/mushroom.png
new file mode 100644
index 00000000000..989372ef8ce
--- /dev/null
+++ b/public/-/emojis/3/mushroom.png
Binary files differ
diff --git a/public/-/emojis/3/musical_keyboard.png b/public/-/emojis/3/musical_keyboard.png
new file mode 100644
index 00000000000..3b5bb2f0af2
--- /dev/null
+++ b/public/-/emojis/3/musical_keyboard.png
Binary files differ
diff --git a/public/-/emojis/3/musical_note.png b/public/-/emojis/3/musical_note.png
new file mode 100644
index 00000000000..7316152de60
--- /dev/null
+++ b/public/-/emojis/3/musical_note.png
Binary files differ
diff --git a/public/-/emojis/3/musical_score.png b/public/-/emojis/3/musical_score.png
new file mode 100644
index 00000000000..d3ec8b4a9cb
--- /dev/null
+++ b/public/-/emojis/3/musical_score.png
Binary files differ
diff --git a/public/-/emojis/3/mute.png b/public/-/emojis/3/mute.png
new file mode 100644
index 00000000000..62b1ab9dbbb
--- /dev/null
+++ b/public/-/emojis/3/mute.png
Binary files differ
diff --git a/public/-/emojis/3/nail_care.png b/public/-/emojis/3/nail_care.png
new file mode 100644
index 00000000000..58af69b130e
--- /dev/null
+++ b/public/-/emojis/3/nail_care.png
Binary files differ
diff --git a/public/-/emojis/3/nail_care_tone1.png b/public/-/emojis/3/nail_care_tone1.png
new file mode 100644
index 00000000000..127e7311df1
--- /dev/null
+++ b/public/-/emojis/3/nail_care_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/nail_care_tone2.png b/public/-/emojis/3/nail_care_tone2.png
new file mode 100644
index 00000000000..7463b7f36f7
--- /dev/null
+++ b/public/-/emojis/3/nail_care_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/nail_care_tone3.png b/public/-/emojis/3/nail_care_tone3.png
new file mode 100644
index 00000000000..335c23402e1
--- /dev/null
+++ b/public/-/emojis/3/nail_care_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/nail_care_tone4.png b/public/-/emojis/3/nail_care_tone4.png
new file mode 100644
index 00000000000..516732c6e6c
--- /dev/null
+++ b/public/-/emojis/3/nail_care_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/nail_care_tone5.png b/public/-/emojis/3/nail_care_tone5.png
new file mode 100644
index 00000000000..40beb2c2bf5
--- /dev/null
+++ b/public/-/emojis/3/nail_care_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/name_badge.png b/public/-/emojis/3/name_badge.png
new file mode 100644
index 00000000000..7a6314f3470
--- /dev/null
+++ b/public/-/emojis/3/name_badge.png
Binary files differ
diff --git a/public/-/emojis/3/nauseated_face.png b/public/-/emojis/3/nauseated_face.png
new file mode 100644
index 00000000000..aff0287a9bf
--- /dev/null
+++ b/public/-/emojis/3/nauseated_face.png
Binary files differ
diff --git a/public/-/emojis/3/necktie.png b/public/-/emojis/3/necktie.png
new file mode 100644
index 00000000000..e2fcfe233a1
--- /dev/null
+++ b/public/-/emojis/3/necktie.png
Binary files differ
diff --git a/public/-/emojis/3/negative_squared_cross_mark.png b/public/-/emojis/3/negative_squared_cross_mark.png
new file mode 100644
index 00000000000..9165fb916e5
--- /dev/null
+++ b/public/-/emojis/3/negative_squared_cross_mark.png
Binary files differ
diff --git a/public/-/emojis/3/nerd.png b/public/-/emojis/3/nerd.png
new file mode 100644
index 00000000000..f0b8d4807a6
--- /dev/null
+++ b/public/-/emojis/3/nerd.png
Binary files differ
diff --git a/public/-/emojis/3/neutral_face.png b/public/-/emojis/3/neutral_face.png
new file mode 100644
index 00000000000..4dca04fdfc4
--- /dev/null
+++ b/public/-/emojis/3/neutral_face.png
Binary files differ
diff --git a/public/-/emojis/3/new.png b/public/-/emojis/3/new.png
new file mode 100644
index 00000000000..fc11fea7251
--- /dev/null
+++ b/public/-/emojis/3/new.png
Binary files differ
diff --git a/public/-/emojis/3/new_moon.png b/public/-/emojis/3/new_moon.png
new file mode 100644
index 00000000000..699e2283aaa
--- /dev/null
+++ b/public/-/emojis/3/new_moon.png
Binary files differ
diff --git a/public/-/emojis/3/new_moon_with_face.png b/public/-/emojis/3/new_moon_with_face.png
new file mode 100644
index 00000000000..5863644ce97
--- /dev/null
+++ b/public/-/emojis/3/new_moon_with_face.png
Binary files differ
diff --git a/public/-/emojis/3/newspaper.png b/public/-/emojis/3/newspaper.png
new file mode 100644
index 00000000000..1b72b5592a4
--- /dev/null
+++ b/public/-/emojis/3/newspaper.png
Binary files differ
diff --git a/public/-/emojis/3/newspaper2.png b/public/-/emojis/3/newspaper2.png
new file mode 100644
index 00000000000..13e9f54d42b
--- /dev/null
+++ b/public/-/emojis/3/newspaper2.png
Binary files differ
diff --git a/public/-/emojis/3/ng.png b/public/-/emojis/3/ng.png
new file mode 100644
index 00000000000..4ccf0e104c1
--- /dev/null
+++ b/public/-/emojis/3/ng.png
Binary files differ
diff --git a/public/-/emojis/3/night_with_stars.png b/public/-/emojis/3/night_with_stars.png
new file mode 100644
index 00000000000..3c44cb2308e
--- /dev/null
+++ b/public/-/emojis/3/night_with_stars.png
Binary files differ
diff --git a/public/-/emojis/3/nine.png b/public/-/emojis/3/nine.png
new file mode 100644
index 00000000000..178adebc883
--- /dev/null
+++ b/public/-/emojis/3/nine.png
Binary files differ
diff --git a/public/-/emojis/3/no_bell.png b/public/-/emojis/3/no_bell.png
new file mode 100644
index 00000000000..70800056224
--- /dev/null
+++ b/public/-/emojis/3/no_bell.png
Binary files differ
diff --git a/public/-/emojis/3/no_bicycles.png b/public/-/emojis/3/no_bicycles.png
new file mode 100644
index 00000000000..e77283eec67
--- /dev/null
+++ b/public/-/emojis/3/no_bicycles.png
Binary files differ
diff --git a/public/-/emojis/3/no_entry.png b/public/-/emojis/3/no_entry.png
new file mode 100644
index 00000000000..5fe52435ba3
--- /dev/null
+++ b/public/-/emojis/3/no_entry.png
Binary files differ
diff --git a/public/-/emojis/3/no_entry_sign.png b/public/-/emojis/3/no_entry_sign.png
new file mode 100644
index 00000000000..d36a461aaef
--- /dev/null
+++ b/public/-/emojis/3/no_entry_sign.png
Binary files differ
diff --git a/public/-/emojis/3/no_good.png b/public/-/emojis/3/no_good.png
new file mode 100644
index 00000000000..0e7a9ca57c5
--- /dev/null
+++ b/public/-/emojis/3/no_good.png
Binary files differ
diff --git a/public/-/emojis/3/no_good_tone1.png b/public/-/emojis/3/no_good_tone1.png
new file mode 100644
index 00000000000..054522577a9
--- /dev/null
+++ b/public/-/emojis/3/no_good_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/no_good_tone2.png b/public/-/emojis/3/no_good_tone2.png
new file mode 100644
index 00000000000..7b002ccddd9
--- /dev/null
+++ b/public/-/emojis/3/no_good_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/no_good_tone3.png b/public/-/emojis/3/no_good_tone3.png
new file mode 100644
index 00000000000..39bb63f75e4
--- /dev/null
+++ b/public/-/emojis/3/no_good_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/no_good_tone4.png b/public/-/emojis/3/no_good_tone4.png
new file mode 100644
index 00000000000..e0d16713730
--- /dev/null
+++ b/public/-/emojis/3/no_good_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/no_good_tone5.png b/public/-/emojis/3/no_good_tone5.png
new file mode 100644
index 00000000000..cc7c1829b96
--- /dev/null
+++ b/public/-/emojis/3/no_good_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/no_mobile_phones.png b/public/-/emojis/3/no_mobile_phones.png
new file mode 100644
index 00000000000..8e375d76df0
--- /dev/null
+++ b/public/-/emojis/3/no_mobile_phones.png
Binary files differ
diff --git a/public/-/emojis/3/no_mouth.png b/public/-/emojis/3/no_mouth.png
new file mode 100644
index 00000000000..1e67ba3e048
--- /dev/null
+++ b/public/-/emojis/3/no_mouth.png
Binary files differ
diff --git a/public/-/emojis/3/no_pedestrians.png b/public/-/emojis/3/no_pedestrians.png
new file mode 100644
index 00000000000..3673e73d99c
--- /dev/null
+++ b/public/-/emojis/3/no_pedestrians.png
Binary files differ
diff --git a/public/-/emojis/3/no_smoking.png b/public/-/emojis/3/no_smoking.png
new file mode 100644
index 00000000000..28df4476795
--- /dev/null
+++ b/public/-/emojis/3/no_smoking.png
Binary files differ
diff --git a/public/-/emojis/3/non-potable_water.png b/public/-/emojis/3/non-potable_water.png
new file mode 100644
index 00000000000..c3a838989df
--- /dev/null
+++ b/public/-/emojis/3/non-potable_water.png
Binary files differ
diff --git a/public/-/emojis/3/nose.png b/public/-/emojis/3/nose.png
new file mode 100644
index 00000000000..d554d8266de
--- /dev/null
+++ b/public/-/emojis/3/nose.png
Binary files differ
diff --git a/public/-/emojis/3/nose_tone1.png b/public/-/emojis/3/nose_tone1.png
new file mode 100644
index 00000000000..bb9b0e32c0e
--- /dev/null
+++ b/public/-/emojis/3/nose_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/nose_tone2.png b/public/-/emojis/3/nose_tone2.png
new file mode 100644
index 00000000000..ab33c2f7856
--- /dev/null
+++ b/public/-/emojis/3/nose_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/nose_tone3.png b/public/-/emojis/3/nose_tone3.png
new file mode 100644
index 00000000000..5e21cce930d
--- /dev/null
+++ b/public/-/emojis/3/nose_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/nose_tone4.png b/public/-/emojis/3/nose_tone4.png
new file mode 100644
index 00000000000..edff6c9b76f
--- /dev/null
+++ b/public/-/emojis/3/nose_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/nose_tone5.png b/public/-/emojis/3/nose_tone5.png
new file mode 100644
index 00000000000..be4fb9dd7aa
--- /dev/null
+++ b/public/-/emojis/3/nose_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/notebook.png b/public/-/emojis/3/notebook.png
new file mode 100644
index 00000000000..71ea5926049
--- /dev/null
+++ b/public/-/emojis/3/notebook.png
Binary files differ
diff --git a/public/-/emojis/3/notebook_with_decorative_cover.png b/public/-/emojis/3/notebook_with_decorative_cover.png
new file mode 100644
index 00000000000..9c19f162a5f
--- /dev/null
+++ b/public/-/emojis/3/notebook_with_decorative_cover.png
Binary files differ
diff --git a/public/-/emojis/3/notepad_spiral.png b/public/-/emojis/3/notepad_spiral.png
new file mode 100644
index 00000000000..cd157e1f075
--- /dev/null
+++ b/public/-/emojis/3/notepad_spiral.png
Binary files differ
diff --git a/public/-/emojis/3/notes.png b/public/-/emojis/3/notes.png
new file mode 100644
index 00000000000..b2ccdb4fdfe
--- /dev/null
+++ b/public/-/emojis/3/notes.png
Binary files differ
diff --git a/public/-/emojis/3/nut_and_bolt.png b/public/-/emojis/3/nut_and_bolt.png
new file mode 100644
index 00000000000..12f315b42dc
--- /dev/null
+++ b/public/-/emojis/3/nut_and_bolt.png
Binary files differ
diff --git a/public/-/emojis/3/o.png b/public/-/emojis/3/o.png
new file mode 100644
index 00000000000..60d3a67b7a1
--- /dev/null
+++ b/public/-/emojis/3/o.png
Binary files differ
diff --git a/public/-/emojis/3/o2.png b/public/-/emojis/3/o2.png
new file mode 100644
index 00000000000..396f10bc7a1
--- /dev/null
+++ b/public/-/emojis/3/o2.png
Binary files differ
diff --git a/public/-/emojis/3/ocean.png b/public/-/emojis/3/ocean.png
new file mode 100644
index 00000000000..326120f06ae
--- /dev/null
+++ b/public/-/emojis/3/ocean.png
Binary files differ
diff --git a/public/-/emojis/3/octagonal_sign.png b/public/-/emojis/3/octagonal_sign.png
new file mode 100644
index 00000000000..909917c79be
--- /dev/null
+++ b/public/-/emojis/3/octagonal_sign.png
Binary files differ
diff --git a/public/-/emojis/3/octopus.png b/public/-/emojis/3/octopus.png
new file mode 100644
index 00000000000..6e02be6bc65
--- /dev/null
+++ b/public/-/emojis/3/octopus.png
Binary files differ
diff --git a/public/-/emojis/3/oden.png b/public/-/emojis/3/oden.png
new file mode 100644
index 00000000000..8705452827f
--- /dev/null
+++ b/public/-/emojis/3/oden.png
Binary files differ
diff --git a/public/-/emojis/3/office.png b/public/-/emojis/3/office.png
new file mode 100644
index 00000000000..efc1b7fe17a
--- /dev/null
+++ b/public/-/emojis/3/office.png
Binary files differ
diff --git a/public/-/emojis/3/oil.png b/public/-/emojis/3/oil.png
new file mode 100644
index 00000000000..8141f0f4d77
--- /dev/null
+++ b/public/-/emojis/3/oil.png
Binary files differ
diff --git a/public/-/emojis/3/ok.png b/public/-/emojis/3/ok.png
new file mode 100644
index 00000000000..7ac40b38704
--- /dev/null
+++ b/public/-/emojis/3/ok.png
Binary files differ
diff --git a/public/-/emojis/3/ok_hand.png b/public/-/emojis/3/ok_hand.png
new file mode 100644
index 00000000000..cefc5583e4b
--- /dev/null
+++ b/public/-/emojis/3/ok_hand.png
Binary files differ
diff --git a/public/-/emojis/3/ok_hand_tone1.png b/public/-/emojis/3/ok_hand_tone1.png
new file mode 100644
index 00000000000..6ab2c4a0b30
--- /dev/null
+++ b/public/-/emojis/3/ok_hand_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/ok_hand_tone2.png b/public/-/emojis/3/ok_hand_tone2.png
new file mode 100644
index 00000000000..66d1f9e18a1
--- /dev/null
+++ b/public/-/emojis/3/ok_hand_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/ok_hand_tone3.png b/public/-/emojis/3/ok_hand_tone3.png
new file mode 100644
index 00000000000..d621900f510
--- /dev/null
+++ b/public/-/emojis/3/ok_hand_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/ok_hand_tone4.png b/public/-/emojis/3/ok_hand_tone4.png
new file mode 100644
index 00000000000..e5a04d44ff5
--- /dev/null
+++ b/public/-/emojis/3/ok_hand_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/ok_hand_tone5.png b/public/-/emojis/3/ok_hand_tone5.png
new file mode 100644
index 00000000000..2f8ee905c60
--- /dev/null
+++ b/public/-/emojis/3/ok_hand_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/ok_woman.png b/public/-/emojis/3/ok_woman.png
new file mode 100644
index 00000000000..13ba0e57483
--- /dev/null
+++ b/public/-/emojis/3/ok_woman.png
Binary files differ
diff --git a/public/-/emojis/3/ok_woman_tone1.png b/public/-/emojis/3/ok_woman_tone1.png
new file mode 100644
index 00000000000..5ed4b830368
--- /dev/null
+++ b/public/-/emojis/3/ok_woman_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/ok_woman_tone2.png b/public/-/emojis/3/ok_woman_tone2.png
new file mode 100644
index 00000000000..9ccd187d96f
--- /dev/null
+++ b/public/-/emojis/3/ok_woman_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/ok_woman_tone3.png b/public/-/emojis/3/ok_woman_tone3.png
new file mode 100644
index 00000000000..fa03cb6d59a
--- /dev/null
+++ b/public/-/emojis/3/ok_woman_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/ok_woman_tone4.png b/public/-/emojis/3/ok_woman_tone4.png
new file mode 100644
index 00000000000..d0dde591096
--- /dev/null
+++ b/public/-/emojis/3/ok_woman_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/ok_woman_tone5.png b/public/-/emojis/3/ok_woman_tone5.png
new file mode 100644
index 00000000000..7bba2590a87
--- /dev/null
+++ b/public/-/emojis/3/ok_woman_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/older_man.png b/public/-/emojis/3/older_man.png
new file mode 100644
index 00000000000..fdb37b455b0
--- /dev/null
+++ b/public/-/emojis/3/older_man.png
Binary files differ
diff --git a/public/-/emojis/3/older_man_tone1.png b/public/-/emojis/3/older_man_tone1.png
new file mode 100644
index 00000000000..282992bb73e
--- /dev/null
+++ b/public/-/emojis/3/older_man_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/older_man_tone2.png b/public/-/emojis/3/older_man_tone2.png
new file mode 100644
index 00000000000..28c013c40f8
--- /dev/null
+++ b/public/-/emojis/3/older_man_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/older_man_tone3.png b/public/-/emojis/3/older_man_tone3.png
new file mode 100644
index 00000000000..7af90cd6ea8
--- /dev/null
+++ b/public/-/emojis/3/older_man_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/older_man_tone4.png b/public/-/emojis/3/older_man_tone4.png
new file mode 100644
index 00000000000..c66b2711cf8
--- /dev/null
+++ b/public/-/emojis/3/older_man_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/older_man_tone5.png b/public/-/emojis/3/older_man_tone5.png
new file mode 100644
index 00000000000..86b09738a44
--- /dev/null
+++ b/public/-/emojis/3/older_man_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/older_woman.png b/public/-/emojis/3/older_woman.png
new file mode 100644
index 00000000000..f1d13148730
--- /dev/null
+++ b/public/-/emojis/3/older_woman.png
Binary files differ
diff --git a/public/-/emojis/3/older_woman_tone1.png b/public/-/emojis/3/older_woman_tone1.png
new file mode 100644
index 00000000000..bfb73101f61
--- /dev/null
+++ b/public/-/emojis/3/older_woman_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/older_woman_tone2.png b/public/-/emojis/3/older_woman_tone2.png
new file mode 100644
index 00000000000..c977015582d
--- /dev/null
+++ b/public/-/emojis/3/older_woman_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/older_woman_tone3.png b/public/-/emojis/3/older_woman_tone3.png
new file mode 100644
index 00000000000..cc7922077a4
--- /dev/null
+++ b/public/-/emojis/3/older_woman_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/older_woman_tone4.png b/public/-/emojis/3/older_woman_tone4.png
new file mode 100644
index 00000000000..77111bf20a6
--- /dev/null
+++ b/public/-/emojis/3/older_woman_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/older_woman_tone5.png b/public/-/emojis/3/older_woman_tone5.png
new file mode 100644
index 00000000000..26673b3df96
--- /dev/null
+++ b/public/-/emojis/3/older_woman_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/om_symbol.png b/public/-/emojis/3/om_symbol.png
new file mode 100644
index 00000000000..ce778fd4457
--- /dev/null
+++ b/public/-/emojis/3/om_symbol.png
Binary files differ
diff --git a/public/-/emojis/3/on.png b/public/-/emojis/3/on.png
new file mode 100644
index 00000000000..74fd6c584b8
--- /dev/null
+++ b/public/-/emojis/3/on.png
Binary files differ
diff --git a/public/-/emojis/3/oncoming_automobile.png b/public/-/emojis/3/oncoming_automobile.png
new file mode 100644
index 00000000000..8579ad86c3a
--- /dev/null
+++ b/public/-/emojis/3/oncoming_automobile.png
Binary files differ
diff --git a/public/-/emojis/3/oncoming_bus.png b/public/-/emojis/3/oncoming_bus.png
new file mode 100644
index 00000000000..0b9dc0544e8
--- /dev/null
+++ b/public/-/emojis/3/oncoming_bus.png
Binary files differ
diff --git a/public/-/emojis/3/oncoming_police_car.png b/public/-/emojis/3/oncoming_police_car.png
new file mode 100644
index 00000000000..b4e95c64bba
--- /dev/null
+++ b/public/-/emojis/3/oncoming_police_car.png
Binary files differ
diff --git a/public/-/emojis/3/oncoming_taxi.png b/public/-/emojis/3/oncoming_taxi.png
new file mode 100644
index 00000000000..9211b81d8d1
--- /dev/null
+++ b/public/-/emojis/3/oncoming_taxi.png
Binary files differ
diff --git a/public/-/emojis/3/one.png b/public/-/emojis/3/one.png
new file mode 100644
index 00000000000..2532afb6fcf
--- /dev/null
+++ b/public/-/emojis/3/one.png
Binary files differ
diff --git a/public/-/emojis/3/open_file_folder.png b/public/-/emojis/3/open_file_folder.png
new file mode 100644
index 00000000000..d33f2f40c9a
--- /dev/null
+++ b/public/-/emojis/3/open_file_folder.png
Binary files differ
diff --git a/public/-/emojis/3/open_hands.png b/public/-/emojis/3/open_hands.png
new file mode 100644
index 00000000000..d4bdccbe0b2
--- /dev/null
+++ b/public/-/emojis/3/open_hands.png
Binary files differ
diff --git a/public/-/emojis/3/open_hands_tone1.png b/public/-/emojis/3/open_hands_tone1.png
new file mode 100644
index 00000000000..1ba31eeb590
--- /dev/null
+++ b/public/-/emojis/3/open_hands_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/open_hands_tone2.png b/public/-/emojis/3/open_hands_tone2.png
new file mode 100644
index 00000000000..a74b5b4d5bf
--- /dev/null
+++ b/public/-/emojis/3/open_hands_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/open_hands_tone3.png b/public/-/emojis/3/open_hands_tone3.png
new file mode 100644
index 00000000000..5dc472da57e
--- /dev/null
+++ b/public/-/emojis/3/open_hands_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/open_hands_tone4.png b/public/-/emojis/3/open_hands_tone4.png
new file mode 100644
index 00000000000..435544a1f26
--- /dev/null
+++ b/public/-/emojis/3/open_hands_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/open_hands_tone5.png b/public/-/emojis/3/open_hands_tone5.png
new file mode 100644
index 00000000000..a5d516049ac
--- /dev/null
+++ b/public/-/emojis/3/open_hands_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/open_mouth.png b/public/-/emojis/3/open_mouth.png
new file mode 100644
index 00000000000..17fbef0c183
--- /dev/null
+++ b/public/-/emojis/3/open_mouth.png
Binary files differ
diff --git a/public/-/emojis/3/ophiuchus.png b/public/-/emojis/3/ophiuchus.png
new file mode 100644
index 00000000000..5e9a128b9af
--- /dev/null
+++ b/public/-/emojis/3/ophiuchus.png
Binary files differ
diff --git a/public/-/emojis/3/orange_book.png b/public/-/emojis/3/orange_book.png
new file mode 100644
index 00000000000..d673bc9aec5
--- /dev/null
+++ b/public/-/emojis/3/orange_book.png
Binary files differ
diff --git a/public/-/emojis/3/orthodox_cross.png b/public/-/emojis/3/orthodox_cross.png
new file mode 100644
index 00000000000..7ae9fcb33d1
--- /dev/null
+++ b/public/-/emojis/3/orthodox_cross.png
Binary files differ
diff --git a/public/-/emojis/3/outbox_tray.png b/public/-/emojis/3/outbox_tray.png
new file mode 100644
index 00000000000..0d0afbfeccb
--- /dev/null
+++ b/public/-/emojis/3/outbox_tray.png
Binary files differ
diff --git a/public/-/emojis/3/owl.png b/public/-/emojis/3/owl.png
new file mode 100644
index 00000000000..d559d46d75c
--- /dev/null
+++ b/public/-/emojis/3/owl.png
Binary files differ
diff --git a/public/-/emojis/3/ox.png b/public/-/emojis/3/ox.png
new file mode 100644
index 00000000000..539f49b8a2c
--- /dev/null
+++ b/public/-/emojis/3/ox.png
Binary files differ
diff --git a/public/-/emojis/3/package.png b/public/-/emojis/3/package.png
new file mode 100644
index 00000000000..cee076870bb
--- /dev/null
+++ b/public/-/emojis/3/package.png
Binary files differ
diff --git a/public/-/emojis/3/page_facing_up.png b/public/-/emojis/3/page_facing_up.png
new file mode 100644
index 00000000000..31e199da290
--- /dev/null
+++ b/public/-/emojis/3/page_facing_up.png
Binary files differ
diff --git a/public/-/emojis/3/page_with_curl.png b/public/-/emojis/3/page_with_curl.png
new file mode 100644
index 00000000000..b252e563dcf
--- /dev/null
+++ b/public/-/emojis/3/page_with_curl.png
Binary files differ
diff --git a/public/-/emojis/3/pager.png b/public/-/emojis/3/pager.png
new file mode 100644
index 00000000000..3fe3355c646
--- /dev/null
+++ b/public/-/emojis/3/pager.png
Binary files differ
diff --git a/public/-/emojis/3/paintbrush.png b/public/-/emojis/3/paintbrush.png
new file mode 100644
index 00000000000..b429269f18c
--- /dev/null
+++ b/public/-/emojis/3/paintbrush.png
Binary files differ
diff --git a/public/-/emojis/3/palm_tree.png b/public/-/emojis/3/palm_tree.png
new file mode 100644
index 00000000000..e26bc83032b
--- /dev/null
+++ b/public/-/emojis/3/palm_tree.png
Binary files differ
diff --git a/public/-/emojis/3/pancakes.png b/public/-/emojis/3/pancakes.png
new file mode 100644
index 00000000000..4906a19fcee
--- /dev/null
+++ b/public/-/emojis/3/pancakes.png
Binary files differ
diff --git a/public/-/emojis/3/panda_face.png b/public/-/emojis/3/panda_face.png
new file mode 100644
index 00000000000..edfc15d1db3
--- /dev/null
+++ b/public/-/emojis/3/panda_face.png
Binary files differ
diff --git a/public/-/emojis/3/paperclip.png b/public/-/emojis/3/paperclip.png
new file mode 100644
index 00000000000..a307e0efc87
--- /dev/null
+++ b/public/-/emojis/3/paperclip.png
Binary files differ
diff --git a/public/-/emojis/3/paperclips.png b/public/-/emojis/3/paperclips.png
new file mode 100644
index 00000000000..01010d13145
--- /dev/null
+++ b/public/-/emojis/3/paperclips.png
Binary files differ
diff --git a/public/-/emojis/3/park.png b/public/-/emojis/3/park.png
new file mode 100644
index 00000000000..d3fba154924
--- /dev/null
+++ b/public/-/emojis/3/park.png
Binary files differ
diff --git a/public/-/emojis/3/parking.png b/public/-/emojis/3/parking.png
new file mode 100644
index 00000000000..8b547b76816
--- /dev/null
+++ b/public/-/emojis/3/parking.png
Binary files differ
diff --git a/public/-/emojis/3/part_alternation_mark.png b/public/-/emojis/3/part_alternation_mark.png
new file mode 100644
index 00000000000..0432e380f23
--- /dev/null
+++ b/public/-/emojis/3/part_alternation_mark.png
Binary files differ
diff --git a/public/-/emojis/3/partly_sunny.png b/public/-/emojis/3/partly_sunny.png
new file mode 100644
index 00000000000..dcb0aa10133
--- /dev/null
+++ b/public/-/emojis/3/partly_sunny.png
Binary files differ
diff --git a/public/-/emojis/3/passport_control.png b/public/-/emojis/3/passport_control.png
new file mode 100644
index 00000000000..13d436b025c
--- /dev/null
+++ b/public/-/emojis/3/passport_control.png
Binary files differ
diff --git a/public/-/emojis/3/pause_button.png b/public/-/emojis/3/pause_button.png
new file mode 100644
index 00000000000..cf62af3cbf8
--- /dev/null
+++ b/public/-/emojis/3/pause_button.png
Binary files differ
diff --git a/public/-/emojis/3/peace.png b/public/-/emojis/3/peace.png
new file mode 100644
index 00000000000..331e82e5f4a
--- /dev/null
+++ b/public/-/emojis/3/peace.png
Binary files differ
diff --git a/public/-/emojis/3/peach.png b/public/-/emojis/3/peach.png
new file mode 100644
index 00000000000..a432bcbcdb7
--- /dev/null
+++ b/public/-/emojis/3/peach.png
Binary files differ
diff --git a/public/-/emojis/3/peanuts.png b/public/-/emojis/3/peanuts.png
new file mode 100644
index 00000000000..dbcb5e3f13c
--- /dev/null
+++ b/public/-/emojis/3/peanuts.png
Binary files differ
diff --git a/public/-/emojis/3/pear.png b/public/-/emojis/3/pear.png
new file mode 100644
index 00000000000..89f121d93ef
--- /dev/null
+++ b/public/-/emojis/3/pear.png
Binary files differ
diff --git a/public/-/emojis/3/pen_ballpoint.png b/public/-/emojis/3/pen_ballpoint.png
new file mode 100644
index 00000000000..b28ecf7a4de
--- /dev/null
+++ b/public/-/emojis/3/pen_ballpoint.png
Binary files differ
diff --git a/public/-/emojis/3/pen_fountain.png b/public/-/emojis/3/pen_fountain.png
new file mode 100644
index 00000000000..8610ec1eb35
--- /dev/null
+++ b/public/-/emojis/3/pen_fountain.png
Binary files differ
diff --git a/public/-/emojis/3/pencil.png b/public/-/emojis/3/pencil.png
new file mode 100644
index 00000000000..69795a5c331
--- /dev/null
+++ b/public/-/emojis/3/pencil.png
Binary files differ
diff --git a/public/-/emojis/3/pencil2.png b/public/-/emojis/3/pencil2.png
new file mode 100644
index 00000000000..c0b04c7d34e
--- /dev/null
+++ b/public/-/emojis/3/pencil2.png
Binary files differ
diff --git a/public/-/emojis/3/penguin.png b/public/-/emojis/3/penguin.png
new file mode 100644
index 00000000000..3787ce64f36
--- /dev/null
+++ b/public/-/emojis/3/penguin.png
Binary files differ
diff --git a/public/-/emojis/3/pensive.png b/public/-/emojis/3/pensive.png
new file mode 100644
index 00000000000..1ca0d392746
--- /dev/null
+++ b/public/-/emojis/3/pensive.png
Binary files differ
diff --git a/public/-/emojis/3/performing_arts.png b/public/-/emojis/3/performing_arts.png
new file mode 100644
index 00000000000..817aaac81fa
--- /dev/null
+++ b/public/-/emojis/3/performing_arts.png
Binary files differ
diff --git a/public/-/emojis/3/persevere.png b/public/-/emojis/3/persevere.png
new file mode 100644
index 00000000000..0300cecd2b1
--- /dev/null
+++ b/public/-/emojis/3/persevere.png
Binary files differ
diff --git a/public/-/emojis/3/person_frowning.png b/public/-/emojis/3/person_frowning.png
new file mode 100644
index 00000000000..ef83e19282e
--- /dev/null
+++ b/public/-/emojis/3/person_frowning.png
Binary files differ
diff --git a/public/-/emojis/3/person_frowning_tone1.png b/public/-/emojis/3/person_frowning_tone1.png
new file mode 100644
index 00000000000..1c1d5f031ca
--- /dev/null
+++ b/public/-/emojis/3/person_frowning_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/person_frowning_tone2.png b/public/-/emojis/3/person_frowning_tone2.png
new file mode 100644
index 00000000000..669f500c408
--- /dev/null
+++ b/public/-/emojis/3/person_frowning_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/person_frowning_tone3.png b/public/-/emojis/3/person_frowning_tone3.png
new file mode 100644
index 00000000000..467477ab715
--- /dev/null
+++ b/public/-/emojis/3/person_frowning_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/person_frowning_tone4.png b/public/-/emojis/3/person_frowning_tone4.png
new file mode 100644
index 00000000000..594954e686a
--- /dev/null
+++ b/public/-/emojis/3/person_frowning_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/person_frowning_tone5.png b/public/-/emojis/3/person_frowning_tone5.png
new file mode 100644
index 00000000000..f3f923ce7c4
--- /dev/null
+++ b/public/-/emojis/3/person_frowning_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/person_with_blond_hair.png b/public/-/emojis/3/person_with_blond_hair.png
new file mode 100644
index 00000000000..a55c1fe3bba
--- /dev/null
+++ b/public/-/emojis/3/person_with_blond_hair.png
Binary files differ
diff --git a/public/-/emojis/3/person_with_blond_hair_tone1.png b/public/-/emojis/3/person_with_blond_hair_tone1.png
new file mode 100644
index 00000000000..f5c55e083f2
--- /dev/null
+++ b/public/-/emojis/3/person_with_blond_hair_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/person_with_blond_hair_tone2.png b/public/-/emojis/3/person_with_blond_hair_tone2.png
new file mode 100644
index 00000000000..a520269d964
--- /dev/null
+++ b/public/-/emojis/3/person_with_blond_hair_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/person_with_blond_hair_tone3.png b/public/-/emojis/3/person_with_blond_hair_tone3.png
new file mode 100644
index 00000000000..6da4018043b
--- /dev/null
+++ b/public/-/emojis/3/person_with_blond_hair_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/person_with_blond_hair_tone4.png b/public/-/emojis/3/person_with_blond_hair_tone4.png
new file mode 100644
index 00000000000..b680160dd1a
--- /dev/null
+++ b/public/-/emojis/3/person_with_blond_hair_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/person_with_blond_hair_tone5.png b/public/-/emojis/3/person_with_blond_hair_tone5.png
new file mode 100644
index 00000000000..798f5c6a3d1
--- /dev/null
+++ b/public/-/emojis/3/person_with_blond_hair_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/person_with_pouting_face.png b/public/-/emojis/3/person_with_pouting_face.png
new file mode 100644
index 00000000000..7a4b7892d7d
--- /dev/null
+++ b/public/-/emojis/3/person_with_pouting_face.png
Binary files differ
diff --git a/public/-/emojis/3/person_with_pouting_face_tone1.png b/public/-/emojis/3/person_with_pouting_face_tone1.png
new file mode 100644
index 00000000000..41700c179b9
--- /dev/null
+++ b/public/-/emojis/3/person_with_pouting_face_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/person_with_pouting_face_tone2.png b/public/-/emojis/3/person_with_pouting_face_tone2.png
new file mode 100644
index 00000000000..14d6be7d79a
--- /dev/null
+++ b/public/-/emojis/3/person_with_pouting_face_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/person_with_pouting_face_tone3.png b/public/-/emojis/3/person_with_pouting_face_tone3.png
new file mode 100644
index 00000000000..541061e5935
--- /dev/null
+++ b/public/-/emojis/3/person_with_pouting_face_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/person_with_pouting_face_tone4.png b/public/-/emojis/3/person_with_pouting_face_tone4.png
new file mode 100644
index 00000000000..e797d3f2532
--- /dev/null
+++ b/public/-/emojis/3/person_with_pouting_face_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/person_with_pouting_face_tone5.png b/public/-/emojis/3/person_with_pouting_face_tone5.png
new file mode 100644
index 00000000000..d245c8b7e35
--- /dev/null
+++ b/public/-/emojis/3/person_with_pouting_face_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/pick.png b/public/-/emojis/3/pick.png
new file mode 100644
index 00000000000..a3b573f104f
--- /dev/null
+++ b/public/-/emojis/3/pick.png
Binary files differ
diff --git a/public/-/emojis/3/pig.png b/public/-/emojis/3/pig.png
new file mode 100644
index 00000000000..c8f36d0b6bf
--- /dev/null
+++ b/public/-/emojis/3/pig.png
Binary files differ
diff --git a/public/-/emojis/3/pig2.png b/public/-/emojis/3/pig2.png
new file mode 100644
index 00000000000..e3313b515e6
--- /dev/null
+++ b/public/-/emojis/3/pig2.png
Binary files differ
diff --git a/public/-/emojis/3/pig_nose.png b/public/-/emojis/3/pig_nose.png
new file mode 100644
index 00000000000..34eb7ca5e74
--- /dev/null
+++ b/public/-/emojis/3/pig_nose.png
Binary files differ
diff --git a/public/-/emojis/3/pill.png b/public/-/emojis/3/pill.png
new file mode 100644
index 00000000000..7a926596862
--- /dev/null
+++ b/public/-/emojis/3/pill.png
Binary files differ
diff --git a/public/-/emojis/3/pineapple.png b/public/-/emojis/3/pineapple.png
new file mode 100644
index 00000000000..e1cef9c1106
--- /dev/null
+++ b/public/-/emojis/3/pineapple.png
Binary files differ
diff --git a/public/-/emojis/3/ping_pong.png b/public/-/emojis/3/ping_pong.png
new file mode 100644
index 00000000000..fc1de71206a
--- /dev/null
+++ b/public/-/emojis/3/ping_pong.png
Binary files differ
diff --git a/public/-/emojis/3/pisces.png b/public/-/emojis/3/pisces.png
new file mode 100644
index 00000000000..5b748a7422a
--- /dev/null
+++ b/public/-/emojis/3/pisces.png
Binary files differ
diff --git a/public/-/emojis/3/pizza.png b/public/-/emojis/3/pizza.png
new file mode 100644
index 00000000000..522a6a88b1c
--- /dev/null
+++ b/public/-/emojis/3/pizza.png
Binary files differ
diff --git a/public/-/emojis/3/place_of_worship.png b/public/-/emojis/3/place_of_worship.png
new file mode 100644
index 00000000000..e36b7b7222e
--- /dev/null
+++ b/public/-/emojis/3/place_of_worship.png
Binary files differ
diff --git a/public/-/emojis/3/play_pause.png b/public/-/emojis/3/play_pause.png
new file mode 100644
index 00000000000..1955922e2f6
--- /dev/null
+++ b/public/-/emojis/3/play_pause.png
Binary files differ
diff --git a/public/-/emojis/3/point_down.png b/public/-/emojis/3/point_down.png
new file mode 100644
index 00000000000..0f1ff30678b
--- /dev/null
+++ b/public/-/emojis/3/point_down.png
Binary files differ
diff --git a/public/-/emojis/3/point_down_tone1.png b/public/-/emojis/3/point_down_tone1.png
new file mode 100644
index 00000000000..1940b678983
--- /dev/null
+++ b/public/-/emojis/3/point_down_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/point_down_tone2.png b/public/-/emojis/3/point_down_tone2.png
new file mode 100644
index 00000000000..f5818c7ff48
--- /dev/null
+++ b/public/-/emojis/3/point_down_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/point_down_tone3.png b/public/-/emojis/3/point_down_tone3.png
new file mode 100644
index 00000000000..80ad44feeb5
--- /dev/null
+++ b/public/-/emojis/3/point_down_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/point_down_tone4.png b/public/-/emojis/3/point_down_tone4.png
new file mode 100644
index 00000000000..dd6ade5547e
--- /dev/null
+++ b/public/-/emojis/3/point_down_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/point_down_tone5.png b/public/-/emojis/3/point_down_tone5.png
new file mode 100644
index 00000000000..b1f9d1f5fde
--- /dev/null
+++ b/public/-/emojis/3/point_down_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/point_left.png b/public/-/emojis/3/point_left.png
new file mode 100644
index 00000000000..1330a37c03c
--- /dev/null
+++ b/public/-/emojis/3/point_left.png
Binary files differ
diff --git a/public/-/emojis/3/point_left_tone1.png b/public/-/emojis/3/point_left_tone1.png
new file mode 100644
index 00000000000..70870fe06a5
--- /dev/null
+++ b/public/-/emojis/3/point_left_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/point_left_tone2.png b/public/-/emojis/3/point_left_tone2.png
new file mode 100644
index 00000000000..7a44d8abe73
--- /dev/null
+++ b/public/-/emojis/3/point_left_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/point_left_tone3.png b/public/-/emojis/3/point_left_tone3.png
new file mode 100644
index 00000000000..493c1cf043f
--- /dev/null
+++ b/public/-/emojis/3/point_left_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/point_left_tone4.png b/public/-/emojis/3/point_left_tone4.png
new file mode 100644
index 00000000000..96ba4c680e4
--- /dev/null
+++ b/public/-/emojis/3/point_left_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/point_left_tone5.png b/public/-/emojis/3/point_left_tone5.png
new file mode 100644
index 00000000000..4be3b09c8fa
--- /dev/null
+++ b/public/-/emojis/3/point_left_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/point_right.png b/public/-/emojis/3/point_right.png
new file mode 100644
index 00000000000..4ff5710e09c
--- /dev/null
+++ b/public/-/emojis/3/point_right.png
Binary files differ
diff --git a/public/-/emojis/3/point_right_tone1.png b/public/-/emojis/3/point_right_tone1.png
new file mode 100644
index 00000000000..b44895c5b51
--- /dev/null
+++ b/public/-/emojis/3/point_right_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/point_right_tone2.png b/public/-/emojis/3/point_right_tone2.png
new file mode 100644
index 00000000000..5b8fe2514fb
--- /dev/null
+++ b/public/-/emojis/3/point_right_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/point_right_tone3.png b/public/-/emojis/3/point_right_tone3.png
new file mode 100644
index 00000000000..93c05c4c6a7
--- /dev/null
+++ b/public/-/emojis/3/point_right_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/point_right_tone4.png b/public/-/emojis/3/point_right_tone4.png
new file mode 100644
index 00000000000..02e05e05607
--- /dev/null
+++ b/public/-/emojis/3/point_right_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/point_right_tone5.png b/public/-/emojis/3/point_right_tone5.png
new file mode 100644
index 00000000000..abf9ed1b55b
--- /dev/null
+++ b/public/-/emojis/3/point_right_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/point_up.png b/public/-/emojis/3/point_up.png
new file mode 100644
index 00000000000..459c347afc2
--- /dev/null
+++ b/public/-/emojis/3/point_up.png
Binary files differ
diff --git a/public/-/emojis/3/point_up_2.png b/public/-/emojis/3/point_up_2.png
new file mode 100644
index 00000000000..40588555177
--- /dev/null
+++ b/public/-/emojis/3/point_up_2.png
Binary files differ
diff --git a/public/-/emojis/3/point_up_2_tone1.png b/public/-/emojis/3/point_up_2_tone1.png
new file mode 100644
index 00000000000..5d7b820ebf1
--- /dev/null
+++ b/public/-/emojis/3/point_up_2_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/point_up_2_tone2.png b/public/-/emojis/3/point_up_2_tone2.png
new file mode 100644
index 00000000000..46ff4c2f95b
--- /dev/null
+++ b/public/-/emojis/3/point_up_2_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/point_up_2_tone3.png b/public/-/emojis/3/point_up_2_tone3.png
new file mode 100644
index 00000000000..39d3622b96a
--- /dev/null
+++ b/public/-/emojis/3/point_up_2_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/point_up_2_tone4.png b/public/-/emojis/3/point_up_2_tone4.png
new file mode 100644
index 00000000000..00eb6198fc4
--- /dev/null
+++ b/public/-/emojis/3/point_up_2_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/point_up_2_tone5.png b/public/-/emojis/3/point_up_2_tone5.png
new file mode 100644
index 00000000000..e1614d1e2b5
--- /dev/null
+++ b/public/-/emojis/3/point_up_2_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/point_up_tone1.png b/public/-/emojis/3/point_up_tone1.png
new file mode 100644
index 00000000000..74eb90e3ec4
--- /dev/null
+++ b/public/-/emojis/3/point_up_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/point_up_tone2.png b/public/-/emojis/3/point_up_tone2.png
new file mode 100644
index 00000000000..17e77dd605e
--- /dev/null
+++ b/public/-/emojis/3/point_up_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/point_up_tone3.png b/public/-/emojis/3/point_up_tone3.png
new file mode 100644
index 00000000000..3998e0b3517
--- /dev/null
+++ b/public/-/emojis/3/point_up_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/point_up_tone4.png b/public/-/emojis/3/point_up_tone4.png
new file mode 100644
index 00000000000..39cb4748ba0
--- /dev/null
+++ b/public/-/emojis/3/point_up_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/point_up_tone5.png b/public/-/emojis/3/point_up_tone5.png
new file mode 100644
index 00000000000..83ba921d16a
--- /dev/null
+++ b/public/-/emojis/3/point_up_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/police_car.png b/public/-/emojis/3/police_car.png
new file mode 100644
index 00000000000..9ac6495da1b
--- /dev/null
+++ b/public/-/emojis/3/police_car.png
Binary files differ
diff --git a/public/-/emojis/3/poodle.png b/public/-/emojis/3/poodle.png
new file mode 100644
index 00000000000..0a2794d990c
--- /dev/null
+++ b/public/-/emojis/3/poodle.png
Binary files differ
diff --git a/public/-/emojis/3/poop.png b/public/-/emojis/3/poop.png
new file mode 100644
index 00000000000..c5361b89319
--- /dev/null
+++ b/public/-/emojis/3/poop.png
Binary files differ
diff --git a/public/-/emojis/3/popcorn.png b/public/-/emojis/3/popcorn.png
new file mode 100644
index 00000000000..f83b38506f2
--- /dev/null
+++ b/public/-/emojis/3/popcorn.png
Binary files differ
diff --git a/public/-/emojis/3/post_office.png b/public/-/emojis/3/post_office.png
new file mode 100644
index 00000000000..35c62a68ea0
--- /dev/null
+++ b/public/-/emojis/3/post_office.png
Binary files differ
diff --git a/public/-/emojis/3/postal_horn.png b/public/-/emojis/3/postal_horn.png
new file mode 100644
index 00000000000..b76d1b2b350
--- /dev/null
+++ b/public/-/emojis/3/postal_horn.png
Binary files differ
diff --git a/public/-/emojis/3/postbox.png b/public/-/emojis/3/postbox.png
new file mode 100644
index 00000000000..9390b8a6870
--- /dev/null
+++ b/public/-/emojis/3/postbox.png
Binary files differ
diff --git a/public/-/emojis/3/potable_water.png b/public/-/emojis/3/potable_water.png
new file mode 100644
index 00000000000..ba2253dc45f
--- /dev/null
+++ b/public/-/emojis/3/potable_water.png
Binary files differ
diff --git a/public/-/emojis/3/potato.png b/public/-/emojis/3/potato.png
new file mode 100644
index 00000000000..915781de25e
--- /dev/null
+++ b/public/-/emojis/3/potato.png
Binary files differ
diff --git a/public/-/emojis/3/pouch.png b/public/-/emojis/3/pouch.png
new file mode 100644
index 00000000000..53781258d34
--- /dev/null
+++ b/public/-/emojis/3/pouch.png
Binary files differ
diff --git a/public/-/emojis/3/poultry_leg.png b/public/-/emojis/3/poultry_leg.png
new file mode 100644
index 00000000000..73226f25c54
--- /dev/null
+++ b/public/-/emojis/3/poultry_leg.png
Binary files differ
diff --git a/public/-/emojis/3/pound.png b/public/-/emojis/3/pound.png
new file mode 100644
index 00000000000..2e2e1e4910f
--- /dev/null
+++ b/public/-/emojis/3/pound.png
Binary files differ
diff --git a/public/-/emojis/3/pouting_cat.png b/public/-/emojis/3/pouting_cat.png
new file mode 100644
index 00000000000..3849bcb3b4b
--- /dev/null
+++ b/public/-/emojis/3/pouting_cat.png
Binary files differ
diff --git a/public/-/emojis/3/pray.png b/public/-/emojis/3/pray.png
new file mode 100644
index 00000000000..50665c75185
--- /dev/null
+++ b/public/-/emojis/3/pray.png
Binary files differ
diff --git a/public/-/emojis/3/pray_tone1.png b/public/-/emojis/3/pray_tone1.png
new file mode 100644
index 00000000000..b984a73ddeb
--- /dev/null
+++ b/public/-/emojis/3/pray_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/pray_tone2.png b/public/-/emojis/3/pray_tone2.png
new file mode 100644
index 00000000000..c407a8b3660
--- /dev/null
+++ b/public/-/emojis/3/pray_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/pray_tone3.png b/public/-/emojis/3/pray_tone3.png
new file mode 100644
index 00000000000..4e3793a7763
--- /dev/null
+++ b/public/-/emojis/3/pray_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/pray_tone4.png b/public/-/emojis/3/pray_tone4.png
new file mode 100644
index 00000000000..2fbfd040536
--- /dev/null
+++ b/public/-/emojis/3/pray_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/pray_tone5.png b/public/-/emojis/3/pray_tone5.png
new file mode 100644
index 00000000000..a135b50bb7b
--- /dev/null
+++ b/public/-/emojis/3/pray_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/prayer_beads.png b/public/-/emojis/3/prayer_beads.png
new file mode 100644
index 00000000000..dc0b65983d2
--- /dev/null
+++ b/public/-/emojis/3/prayer_beads.png
Binary files differ
diff --git a/public/-/emojis/3/pregnant_woman.png b/public/-/emojis/3/pregnant_woman.png
new file mode 100644
index 00000000000..7643f388f21
--- /dev/null
+++ b/public/-/emojis/3/pregnant_woman.png
Binary files differ
diff --git a/public/-/emojis/3/pregnant_woman_tone1.png b/public/-/emojis/3/pregnant_woman_tone1.png
new file mode 100644
index 00000000000..8600bfdb3d3
--- /dev/null
+++ b/public/-/emojis/3/pregnant_woman_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/pregnant_woman_tone2.png b/public/-/emojis/3/pregnant_woman_tone2.png
new file mode 100644
index 00000000000..bb4e83036c6
--- /dev/null
+++ b/public/-/emojis/3/pregnant_woman_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/pregnant_woman_tone3.png b/public/-/emojis/3/pregnant_woman_tone3.png
new file mode 100644
index 00000000000..317409a05d4
--- /dev/null
+++ b/public/-/emojis/3/pregnant_woman_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/pregnant_woman_tone4.png b/public/-/emojis/3/pregnant_woman_tone4.png
new file mode 100644
index 00000000000..bf7446637bd
--- /dev/null
+++ b/public/-/emojis/3/pregnant_woman_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/pregnant_woman_tone5.png b/public/-/emojis/3/pregnant_woman_tone5.png
new file mode 100644
index 00000000000..622d4309648
--- /dev/null
+++ b/public/-/emojis/3/pregnant_woman_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/prince.png b/public/-/emojis/3/prince.png
new file mode 100644
index 00000000000..89917fcb358
--- /dev/null
+++ b/public/-/emojis/3/prince.png
Binary files differ
diff --git a/public/-/emojis/3/prince_tone1.png b/public/-/emojis/3/prince_tone1.png
new file mode 100644
index 00000000000..04801cdd4ad
--- /dev/null
+++ b/public/-/emojis/3/prince_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/prince_tone2.png b/public/-/emojis/3/prince_tone2.png
new file mode 100644
index 00000000000..2fb88ccbf6f
--- /dev/null
+++ b/public/-/emojis/3/prince_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/prince_tone3.png b/public/-/emojis/3/prince_tone3.png
new file mode 100644
index 00000000000..232f5df4923
--- /dev/null
+++ b/public/-/emojis/3/prince_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/prince_tone4.png b/public/-/emojis/3/prince_tone4.png
new file mode 100644
index 00000000000..d867a211d9b
--- /dev/null
+++ b/public/-/emojis/3/prince_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/prince_tone5.png b/public/-/emojis/3/prince_tone5.png
new file mode 100644
index 00000000000..32985896d79
--- /dev/null
+++ b/public/-/emojis/3/prince_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/princess.png b/public/-/emojis/3/princess.png
new file mode 100644
index 00000000000..7060e9857bf
--- /dev/null
+++ b/public/-/emojis/3/princess.png
Binary files differ
diff --git a/public/-/emojis/3/princess_tone1.png b/public/-/emojis/3/princess_tone1.png
new file mode 100644
index 00000000000..ff3f587f348
--- /dev/null
+++ b/public/-/emojis/3/princess_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/princess_tone2.png b/public/-/emojis/3/princess_tone2.png
new file mode 100644
index 00000000000..4efdc45b19c
--- /dev/null
+++ b/public/-/emojis/3/princess_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/princess_tone3.png b/public/-/emojis/3/princess_tone3.png
new file mode 100644
index 00000000000..2ad3726ba78
--- /dev/null
+++ b/public/-/emojis/3/princess_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/princess_tone4.png b/public/-/emojis/3/princess_tone4.png
new file mode 100644
index 00000000000..5073b327fd5
--- /dev/null
+++ b/public/-/emojis/3/princess_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/princess_tone5.png b/public/-/emojis/3/princess_tone5.png
new file mode 100644
index 00000000000..1ad4d672027
--- /dev/null
+++ b/public/-/emojis/3/princess_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/printer.png b/public/-/emojis/3/printer.png
new file mode 100644
index 00000000000..788641e1801
--- /dev/null
+++ b/public/-/emojis/3/printer.png
Binary files differ
diff --git a/public/-/emojis/3/projector.png b/public/-/emojis/3/projector.png
new file mode 100644
index 00000000000..125cf081a54
--- /dev/null
+++ b/public/-/emojis/3/projector.png
Binary files differ
diff --git a/public/-/emojis/3/punch.png b/public/-/emojis/3/punch.png
new file mode 100644
index 00000000000..1f8b6839cd9
--- /dev/null
+++ b/public/-/emojis/3/punch.png
Binary files differ
diff --git a/public/-/emojis/3/punch_tone1.png b/public/-/emojis/3/punch_tone1.png
new file mode 100644
index 00000000000..f5413ee12c3
--- /dev/null
+++ b/public/-/emojis/3/punch_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/punch_tone2.png b/public/-/emojis/3/punch_tone2.png
new file mode 100644
index 00000000000..3808a169bc2
--- /dev/null
+++ b/public/-/emojis/3/punch_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/punch_tone3.png b/public/-/emojis/3/punch_tone3.png
new file mode 100644
index 00000000000..2eca7fc6d97
--- /dev/null
+++ b/public/-/emojis/3/punch_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/punch_tone4.png b/public/-/emojis/3/punch_tone4.png
new file mode 100644
index 00000000000..8e3a6afb208
--- /dev/null
+++ b/public/-/emojis/3/punch_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/punch_tone5.png b/public/-/emojis/3/punch_tone5.png
new file mode 100644
index 00000000000..7108cd27092
--- /dev/null
+++ b/public/-/emojis/3/punch_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/purple_heart.png b/public/-/emojis/3/purple_heart.png
new file mode 100644
index 00000000000..1056c2fba01
--- /dev/null
+++ b/public/-/emojis/3/purple_heart.png
Binary files differ
diff --git a/public/-/emojis/3/purse.png b/public/-/emojis/3/purse.png
new file mode 100644
index 00000000000..7a492707535
--- /dev/null
+++ b/public/-/emojis/3/purse.png
Binary files differ
diff --git a/public/-/emojis/3/pushpin.png b/public/-/emojis/3/pushpin.png
new file mode 100644
index 00000000000..b42d77e0573
--- /dev/null
+++ b/public/-/emojis/3/pushpin.png
Binary files differ
diff --git a/public/-/emojis/3/put_litter_in_its_place.png b/public/-/emojis/3/put_litter_in_its_place.png
new file mode 100644
index 00000000000..50338046ec6
--- /dev/null
+++ b/public/-/emojis/3/put_litter_in_its_place.png
Binary files differ
diff --git a/public/-/emojis/3/question.png b/public/-/emojis/3/question.png
new file mode 100644
index 00000000000..e224bd99b83
--- /dev/null
+++ b/public/-/emojis/3/question.png
Binary files differ
diff --git a/public/-/emojis/3/rabbit.png b/public/-/emojis/3/rabbit.png
new file mode 100644
index 00000000000..ee77df1edd4
--- /dev/null
+++ b/public/-/emojis/3/rabbit.png
Binary files differ
diff --git a/public/-/emojis/3/rabbit2.png b/public/-/emojis/3/rabbit2.png
new file mode 100644
index 00000000000..6d098ccf322
--- /dev/null
+++ b/public/-/emojis/3/rabbit2.png
Binary files differ
diff --git a/public/-/emojis/3/race_car.png b/public/-/emojis/3/race_car.png
new file mode 100644
index 00000000000..d6c180cab6d
--- /dev/null
+++ b/public/-/emojis/3/race_car.png
Binary files differ
diff --git a/public/-/emojis/3/racehorse.png b/public/-/emojis/3/racehorse.png
new file mode 100644
index 00000000000..7fde8bdee57
--- /dev/null
+++ b/public/-/emojis/3/racehorse.png
Binary files differ
diff --git a/public/-/emojis/3/radio.png b/public/-/emojis/3/radio.png
new file mode 100644
index 00000000000..eaf4b74a5b9
--- /dev/null
+++ b/public/-/emojis/3/radio.png
Binary files differ
diff --git a/public/-/emojis/3/radio_button.png b/public/-/emojis/3/radio_button.png
new file mode 100644
index 00000000000..021cbe4a69c
--- /dev/null
+++ b/public/-/emojis/3/radio_button.png
Binary files differ
diff --git a/public/-/emojis/3/radioactive.png b/public/-/emojis/3/radioactive.png
new file mode 100644
index 00000000000..af922f09b2b
--- /dev/null
+++ b/public/-/emojis/3/radioactive.png
Binary files differ
diff --git a/public/-/emojis/3/rage.png b/public/-/emojis/3/rage.png
new file mode 100644
index 00000000000..68d461fd0fd
--- /dev/null
+++ b/public/-/emojis/3/rage.png
Binary files differ
diff --git a/public/-/emojis/3/railway_car.png b/public/-/emojis/3/railway_car.png
new file mode 100644
index 00000000000..7df2c4c0058
--- /dev/null
+++ b/public/-/emojis/3/railway_car.png
Binary files differ
diff --git a/public/-/emojis/3/railway_track.png b/public/-/emojis/3/railway_track.png
new file mode 100644
index 00000000000..e37328e72ef
--- /dev/null
+++ b/public/-/emojis/3/railway_track.png
Binary files differ
diff --git a/public/-/emojis/3/rainbow.png b/public/-/emojis/3/rainbow.png
new file mode 100644
index 00000000000..ad03c746f94
--- /dev/null
+++ b/public/-/emojis/3/rainbow.png
Binary files differ
diff --git a/public/-/emojis/3/raised_back_of_hand.png b/public/-/emojis/3/raised_back_of_hand.png
new file mode 100644
index 00000000000..e5d2399b3a0
--- /dev/null
+++ b/public/-/emojis/3/raised_back_of_hand.png
Binary files differ
diff --git a/public/-/emojis/3/raised_back_of_hand_tone1.png b/public/-/emojis/3/raised_back_of_hand_tone1.png
new file mode 100644
index 00000000000..08e8ebfc163
--- /dev/null
+++ b/public/-/emojis/3/raised_back_of_hand_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/raised_back_of_hand_tone2.png b/public/-/emojis/3/raised_back_of_hand_tone2.png
new file mode 100644
index 00000000000..7123e2dab44
--- /dev/null
+++ b/public/-/emojis/3/raised_back_of_hand_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/raised_back_of_hand_tone3.png b/public/-/emojis/3/raised_back_of_hand_tone3.png
new file mode 100644
index 00000000000..7289a913c85
--- /dev/null
+++ b/public/-/emojis/3/raised_back_of_hand_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/raised_back_of_hand_tone4.png b/public/-/emojis/3/raised_back_of_hand_tone4.png
new file mode 100644
index 00000000000..67a77a92b65
--- /dev/null
+++ b/public/-/emojis/3/raised_back_of_hand_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/raised_back_of_hand_tone5.png b/public/-/emojis/3/raised_back_of_hand_tone5.png
new file mode 100644
index 00000000000..5e067c1681c
--- /dev/null
+++ b/public/-/emojis/3/raised_back_of_hand_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/raised_hand.png b/public/-/emojis/3/raised_hand.png
new file mode 100644
index 00000000000..e9bdf7e5a5e
--- /dev/null
+++ b/public/-/emojis/3/raised_hand.png
Binary files differ
diff --git a/public/-/emojis/3/raised_hand_tone1.png b/public/-/emojis/3/raised_hand_tone1.png
new file mode 100644
index 00000000000..1f241453f0d
--- /dev/null
+++ b/public/-/emojis/3/raised_hand_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/raised_hand_tone2.png b/public/-/emojis/3/raised_hand_tone2.png
new file mode 100644
index 00000000000..36128fff984
--- /dev/null
+++ b/public/-/emojis/3/raised_hand_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/raised_hand_tone3.png b/public/-/emojis/3/raised_hand_tone3.png
new file mode 100644
index 00000000000..81569a49088
--- /dev/null
+++ b/public/-/emojis/3/raised_hand_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/raised_hand_tone4.png b/public/-/emojis/3/raised_hand_tone4.png
new file mode 100644
index 00000000000..ee7c304811b
--- /dev/null
+++ b/public/-/emojis/3/raised_hand_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/raised_hand_tone5.png b/public/-/emojis/3/raised_hand_tone5.png
new file mode 100644
index 00000000000..29cf0754048
--- /dev/null
+++ b/public/-/emojis/3/raised_hand_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/raised_hands.png b/public/-/emojis/3/raised_hands.png
new file mode 100644
index 00000000000..d60ecbfed71
--- /dev/null
+++ b/public/-/emojis/3/raised_hands.png
Binary files differ
diff --git a/public/-/emojis/3/raised_hands_tone1.png b/public/-/emojis/3/raised_hands_tone1.png
new file mode 100644
index 00000000000..ed9b563956d
--- /dev/null
+++ b/public/-/emojis/3/raised_hands_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/raised_hands_tone2.png b/public/-/emojis/3/raised_hands_tone2.png
new file mode 100644
index 00000000000..dd6fdab1b91
--- /dev/null
+++ b/public/-/emojis/3/raised_hands_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/raised_hands_tone3.png b/public/-/emojis/3/raised_hands_tone3.png
new file mode 100644
index 00000000000..6d60cf17a02
--- /dev/null
+++ b/public/-/emojis/3/raised_hands_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/raised_hands_tone4.png b/public/-/emojis/3/raised_hands_tone4.png
new file mode 100644
index 00000000000..1af063fa865
--- /dev/null
+++ b/public/-/emojis/3/raised_hands_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/raised_hands_tone5.png b/public/-/emojis/3/raised_hands_tone5.png
new file mode 100644
index 00000000000..bae4d1c0e96
--- /dev/null
+++ b/public/-/emojis/3/raised_hands_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/raising_hand.png b/public/-/emojis/3/raising_hand.png
new file mode 100644
index 00000000000..d1e1b7d3cd6
--- /dev/null
+++ b/public/-/emojis/3/raising_hand.png
Binary files differ
diff --git a/public/-/emojis/3/raising_hand_tone1.png b/public/-/emojis/3/raising_hand_tone1.png
new file mode 100644
index 00000000000..47bd7568b49
--- /dev/null
+++ b/public/-/emojis/3/raising_hand_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/raising_hand_tone2.png b/public/-/emojis/3/raising_hand_tone2.png
new file mode 100644
index 00000000000..4701e2834b2
--- /dev/null
+++ b/public/-/emojis/3/raising_hand_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/raising_hand_tone3.png b/public/-/emojis/3/raising_hand_tone3.png
new file mode 100644
index 00000000000..6dcb187d3b4
--- /dev/null
+++ b/public/-/emojis/3/raising_hand_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/raising_hand_tone4.png b/public/-/emojis/3/raising_hand_tone4.png
new file mode 100644
index 00000000000..6c66cf724a2
--- /dev/null
+++ b/public/-/emojis/3/raising_hand_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/raising_hand_tone5.png b/public/-/emojis/3/raising_hand_tone5.png
new file mode 100644
index 00000000000..e4649bef629
--- /dev/null
+++ b/public/-/emojis/3/raising_hand_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/ram.png b/public/-/emojis/3/ram.png
new file mode 100644
index 00000000000..ed720a34104
--- /dev/null
+++ b/public/-/emojis/3/ram.png
Binary files differ
diff --git a/public/-/emojis/3/ramen.png b/public/-/emojis/3/ramen.png
new file mode 100644
index 00000000000..cc394a81082
--- /dev/null
+++ b/public/-/emojis/3/ramen.png
Binary files differ
diff --git a/public/-/emojis/3/rat.png b/public/-/emojis/3/rat.png
new file mode 100644
index 00000000000..43525c25090
--- /dev/null
+++ b/public/-/emojis/3/rat.png
Binary files differ
diff --git a/public/-/emojis/3/record_button.png b/public/-/emojis/3/record_button.png
new file mode 100644
index 00000000000..de602cd4b2a
--- /dev/null
+++ b/public/-/emojis/3/record_button.png
Binary files differ
diff --git a/public/-/emojis/3/recycle.png b/public/-/emojis/3/recycle.png
new file mode 100644
index 00000000000..43ceec54afb
--- /dev/null
+++ b/public/-/emojis/3/recycle.png
Binary files differ
diff --git a/public/-/emojis/3/red_car.png b/public/-/emojis/3/red_car.png
new file mode 100644
index 00000000000..e03036bdfc9
--- /dev/null
+++ b/public/-/emojis/3/red_car.png
Binary files differ
diff --git a/public/-/emojis/3/red_circle.png b/public/-/emojis/3/red_circle.png
new file mode 100644
index 00000000000..2599e084dfc
--- /dev/null
+++ b/public/-/emojis/3/red_circle.png
Binary files differ
diff --git a/public/-/emojis/3/registered.png b/public/-/emojis/3/registered.png
new file mode 100644
index 00000000000..e0d3d28cff2
--- /dev/null
+++ b/public/-/emojis/3/registered.png
Binary files differ
diff --git a/public/-/emojis/3/relaxed.png b/public/-/emojis/3/relaxed.png
new file mode 100644
index 00000000000..aeababb5735
--- /dev/null
+++ b/public/-/emojis/3/relaxed.png
Binary files differ
diff --git a/public/-/emojis/3/relieved.png b/public/-/emojis/3/relieved.png
new file mode 100644
index 00000000000..5aab9acec08
--- /dev/null
+++ b/public/-/emojis/3/relieved.png
Binary files differ
diff --git a/public/-/emojis/3/reminder_ribbon.png b/public/-/emojis/3/reminder_ribbon.png
new file mode 100644
index 00000000000..a2b4e44f3b0
--- /dev/null
+++ b/public/-/emojis/3/reminder_ribbon.png
Binary files differ
diff --git a/public/-/emojis/3/repeat.png b/public/-/emojis/3/repeat.png
new file mode 100644
index 00000000000..b23951091eb
--- /dev/null
+++ b/public/-/emojis/3/repeat.png
Binary files differ
diff --git a/public/-/emojis/3/repeat_one.png b/public/-/emojis/3/repeat_one.png
new file mode 100644
index 00000000000..054653bc56e
--- /dev/null
+++ b/public/-/emojis/3/repeat_one.png
Binary files differ
diff --git a/public/-/emojis/3/restroom.png b/public/-/emojis/3/restroom.png
new file mode 100644
index 00000000000..6617f52373c
--- /dev/null
+++ b/public/-/emojis/3/restroom.png
Binary files differ
diff --git a/public/-/emojis/3/revolving_hearts.png b/public/-/emojis/3/revolving_hearts.png
new file mode 100644
index 00000000000..dac2c409365
--- /dev/null
+++ b/public/-/emojis/3/revolving_hearts.png
Binary files differ
diff --git a/public/-/emojis/3/rewind.png b/public/-/emojis/3/rewind.png
new file mode 100644
index 00000000000..46bf1722918
--- /dev/null
+++ b/public/-/emojis/3/rewind.png
Binary files differ
diff --git a/public/-/emojis/3/rhino.png b/public/-/emojis/3/rhino.png
new file mode 100644
index 00000000000..668a446803d
--- /dev/null
+++ b/public/-/emojis/3/rhino.png
Binary files differ
diff --git a/public/-/emojis/3/ribbon.png b/public/-/emojis/3/ribbon.png
new file mode 100644
index 00000000000..4d1f568c1d9
--- /dev/null
+++ b/public/-/emojis/3/ribbon.png
Binary files differ
diff --git a/public/-/emojis/3/rice.png b/public/-/emojis/3/rice.png
new file mode 100644
index 00000000000..0b1ddf99281
--- /dev/null
+++ b/public/-/emojis/3/rice.png
Binary files differ
diff --git a/public/-/emojis/3/rice_ball.png b/public/-/emojis/3/rice_ball.png
new file mode 100644
index 00000000000..c06515c8e08
--- /dev/null
+++ b/public/-/emojis/3/rice_ball.png
Binary files differ
diff --git a/public/-/emojis/3/rice_cracker.png b/public/-/emojis/3/rice_cracker.png
new file mode 100644
index 00000000000..025b0557fc0
--- /dev/null
+++ b/public/-/emojis/3/rice_cracker.png
Binary files differ
diff --git a/public/-/emojis/3/rice_scene.png b/public/-/emojis/3/rice_scene.png
new file mode 100644
index 00000000000..243e7ce2ac0
--- /dev/null
+++ b/public/-/emojis/3/rice_scene.png
Binary files differ
diff --git a/public/-/emojis/3/right_facing_fist.png b/public/-/emojis/3/right_facing_fist.png
new file mode 100644
index 00000000000..70a51237341
--- /dev/null
+++ b/public/-/emojis/3/right_facing_fist.png
Binary files differ
diff --git a/public/-/emojis/3/right_facing_fist_tone1.png b/public/-/emojis/3/right_facing_fist_tone1.png
new file mode 100644
index 00000000000..bda21235986
--- /dev/null
+++ b/public/-/emojis/3/right_facing_fist_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/right_facing_fist_tone2.png b/public/-/emojis/3/right_facing_fist_tone2.png
new file mode 100644
index 00000000000..2b5d2514d8d
--- /dev/null
+++ b/public/-/emojis/3/right_facing_fist_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/right_facing_fist_tone3.png b/public/-/emojis/3/right_facing_fist_tone3.png
new file mode 100644
index 00000000000..40f330a55c1
--- /dev/null
+++ b/public/-/emojis/3/right_facing_fist_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/right_facing_fist_tone4.png b/public/-/emojis/3/right_facing_fist_tone4.png
new file mode 100644
index 00000000000..5f1c1293194
--- /dev/null
+++ b/public/-/emojis/3/right_facing_fist_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/right_facing_fist_tone5.png b/public/-/emojis/3/right_facing_fist_tone5.png
new file mode 100644
index 00000000000..3a93306f255
--- /dev/null
+++ b/public/-/emojis/3/right_facing_fist_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/ring.png b/public/-/emojis/3/ring.png
new file mode 100644
index 00000000000..3fc92c8efa1
--- /dev/null
+++ b/public/-/emojis/3/ring.png
Binary files differ
diff --git a/public/-/emojis/3/robot.png b/public/-/emojis/3/robot.png
new file mode 100644
index 00000000000..ddf197b52ea
--- /dev/null
+++ b/public/-/emojis/3/robot.png
Binary files differ
diff --git a/public/-/emojis/3/rocket.png b/public/-/emojis/3/rocket.png
new file mode 100644
index 00000000000..06a8c008b68
--- /dev/null
+++ b/public/-/emojis/3/rocket.png
Binary files differ
diff --git a/public/-/emojis/3/rofl.png b/public/-/emojis/3/rofl.png
new file mode 100644
index 00000000000..53673cef6cc
--- /dev/null
+++ b/public/-/emojis/3/rofl.png
Binary files differ
diff --git a/public/-/emojis/3/roller_coaster.png b/public/-/emojis/3/roller_coaster.png
new file mode 100644
index 00000000000..5b511bf6de2
--- /dev/null
+++ b/public/-/emojis/3/roller_coaster.png
Binary files differ
diff --git a/public/-/emojis/3/rolling_eyes.png b/public/-/emojis/3/rolling_eyes.png
new file mode 100644
index 00000000000..8470e15ff1b
--- /dev/null
+++ b/public/-/emojis/3/rolling_eyes.png
Binary files differ
diff --git a/public/-/emojis/3/rooster.png b/public/-/emojis/3/rooster.png
new file mode 100644
index 00000000000..9b464ad2831
--- /dev/null
+++ b/public/-/emojis/3/rooster.png
Binary files differ
diff --git a/public/-/emojis/3/rose.png b/public/-/emojis/3/rose.png
new file mode 100644
index 00000000000..3b74c1e6901
--- /dev/null
+++ b/public/-/emojis/3/rose.png
Binary files differ
diff --git a/public/-/emojis/3/rosette.png b/public/-/emojis/3/rosette.png
new file mode 100644
index 00000000000..9607481278a
--- /dev/null
+++ b/public/-/emojis/3/rosette.png
Binary files differ
diff --git a/public/-/emojis/3/rotating_light.png b/public/-/emojis/3/rotating_light.png
new file mode 100644
index 00000000000..d868b247cd0
--- /dev/null
+++ b/public/-/emojis/3/rotating_light.png
Binary files differ
diff --git a/public/-/emojis/3/round_pushpin.png b/public/-/emojis/3/round_pushpin.png
new file mode 100644
index 00000000000..8b3b49c3ec1
--- /dev/null
+++ b/public/-/emojis/3/round_pushpin.png
Binary files differ
diff --git a/public/-/emojis/3/rowboat.png b/public/-/emojis/3/rowboat.png
new file mode 100644
index 00000000000..40705e7e2ad
--- /dev/null
+++ b/public/-/emojis/3/rowboat.png
Binary files differ
diff --git a/public/-/emojis/3/rowboat_tone1.png b/public/-/emojis/3/rowboat_tone1.png
new file mode 100644
index 00000000000..9014b2f8960
--- /dev/null
+++ b/public/-/emojis/3/rowboat_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/rowboat_tone2.png b/public/-/emojis/3/rowboat_tone2.png
new file mode 100644
index 00000000000..70dbf641c14
--- /dev/null
+++ b/public/-/emojis/3/rowboat_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/rowboat_tone3.png b/public/-/emojis/3/rowboat_tone3.png
new file mode 100644
index 00000000000..12b23c9b54a
--- /dev/null
+++ b/public/-/emojis/3/rowboat_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/rowboat_tone4.png b/public/-/emojis/3/rowboat_tone4.png
new file mode 100644
index 00000000000..67b741783a9
--- /dev/null
+++ b/public/-/emojis/3/rowboat_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/rowboat_tone5.png b/public/-/emojis/3/rowboat_tone5.png
new file mode 100644
index 00000000000..01ed0805197
--- /dev/null
+++ b/public/-/emojis/3/rowboat_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/rugby_football.png b/public/-/emojis/3/rugby_football.png
new file mode 100644
index 00000000000..eb6aece5982
--- /dev/null
+++ b/public/-/emojis/3/rugby_football.png
Binary files differ
diff --git a/public/-/emojis/3/runner.png b/public/-/emojis/3/runner.png
new file mode 100644
index 00000000000..ac4142a0d74
--- /dev/null
+++ b/public/-/emojis/3/runner.png
Binary files differ
diff --git a/public/-/emojis/3/runner_tone1.png b/public/-/emojis/3/runner_tone1.png
new file mode 100644
index 00000000000..91eedefb220
--- /dev/null
+++ b/public/-/emojis/3/runner_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/runner_tone2.png b/public/-/emojis/3/runner_tone2.png
new file mode 100644
index 00000000000..671eebc851c
--- /dev/null
+++ b/public/-/emojis/3/runner_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/runner_tone3.png b/public/-/emojis/3/runner_tone3.png
new file mode 100644
index 00000000000..c878f4bea7c
--- /dev/null
+++ b/public/-/emojis/3/runner_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/runner_tone4.png b/public/-/emojis/3/runner_tone4.png
new file mode 100644
index 00000000000..e411c49c4c8
--- /dev/null
+++ b/public/-/emojis/3/runner_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/runner_tone5.png b/public/-/emojis/3/runner_tone5.png
new file mode 100644
index 00000000000..481c43d92c8
--- /dev/null
+++ b/public/-/emojis/3/runner_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/running_shirt_with_sash.png b/public/-/emojis/3/running_shirt_with_sash.png
new file mode 100644
index 00000000000..354b0f86fab
--- /dev/null
+++ b/public/-/emojis/3/running_shirt_with_sash.png
Binary files differ
diff --git a/public/-/emojis/3/sa.png b/public/-/emojis/3/sa.png
new file mode 100644
index 00000000000..efda8e0ef41
--- /dev/null
+++ b/public/-/emojis/3/sa.png
Binary files differ
diff --git a/public/-/emojis/3/sagittarius.png b/public/-/emojis/3/sagittarius.png
new file mode 100644
index 00000000000..638df61a64f
--- /dev/null
+++ b/public/-/emojis/3/sagittarius.png
Binary files differ
diff --git a/public/-/emojis/3/sailboat.png b/public/-/emojis/3/sailboat.png
new file mode 100644
index 00000000000..a4affb08500
--- /dev/null
+++ b/public/-/emojis/3/sailboat.png
Binary files differ
diff --git a/public/-/emojis/3/sake.png b/public/-/emojis/3/sake.png
new file mode 100644
index 00000000000..32c31b2b19b
--- /dev/null
+++ b/public/-/emojis/3/sake.png
Binary files differ
diff --git a/public/-/emojis/3/salad.png b/public/-/emojis/3/salad.png
new file mode 100644
index 00000000000..e199bd390e3
--- /dev/null
+++ b/public/-/emojis/3/salad.png
Binary files differ
diff --git a/public/-/emojis/3/sandal.png b/public/-/emojis/3/sandal.png
new file mode 100644
index 00000000000..8f641221862
--- /dev/null
+++ b/public/-/emojis/3/sandal.png
Binary files differ
diff --git a/public/-/emojis/3/santa.png b/public/-/emojis/3/santa.png
new file mode 100644
index 00000000000..dbea807e355
--- /dev/null
+++ b/public/-/emojis/3/santa.png
Binary files differ
diff --git a/public/-/emojis/3/santa_tone1.png b/public/-/emojis/3/santa_tone1.png
new file mode 100644
index 00000000000..c53dafd0dd2
--- /dev/null
+++ b/public/-/emojis/3/santa_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/santa_tone2.png b/public/-/emojis/3/santa_tone2.png
new file mode 100644
index 00000000000..8dcc1470f1e
--- /dev/null
+++ b/public/-/emojis/3/santa_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/santa_tone3.png b/public/-/emojis/3/santa_tone3.png
new file mode 100644
index 00000000000..32c58d37b01
--- /dev/null
+++ b/public/-/emojis/3/santa_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/santa_tone4.png b/public/-/emojis/3/santa_tone4.png
new file mode 100644
index 00000000000..434846b95a7
--- /dev/null
+++ b/public/-/emojis/3/santa_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/santa_tone5.png b/public/-/emojis/3/santa_tone5.png
new file mode 100644
index 00000000000..9920f21d2bb
--- /dev/null
+++ b/public/-/emojis/3/santa_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/satellite.png b/public/-/emojis/3/satellite.png
new file mode 100644
index 00000000000..5c559370b45
--- /dev/null
+++ b/public/-/emojis/3/satellite.png
Binary files differ
diff --git a/public/-/emojis/3/satellite_orbital.png b/public/-/emojis/3/satellite_orbital.png
new file mode 100644
index 00000000000..a08470226f2
--- /dev/null
+++ b/public/-/emojis/3/satellite_orbital.png
Binary files differ
diff --git a/public/-/emojis/3/saxophone.png b/public/-/emojis/3/saxophone.png
new file mode 100644
index 00000000000..1a9fa8f0592
--- /dev/null
+++ b/public/-/emojis/3/saxophone.png
Binary files differ
diff --git a/public/-/emojis/3/scales.png b/public/-/emojis/3/scales.png
new file mode 100644
index 00000000000..60485a6d431
--- /dev/null
+++ b/public/-/emojis/3/scales.png
Binary files differ
diff --git a/public/-/emojis/3/school.png b/public/-/emojis/3/school.png
new file mode 100644
index 00000000000..34b8e4cb70e
--- /dev/null
+++ b/public/-/emojis/3/school.png
Binary files differ
diff --git a/public/-/emojis/3/school_satchel.png b/public/-/emojis/3/school_satchel.png
new file mode 100644
index 00000000000..f3d84f31a0e
--- /dev/null
+++ b/public/-/emojis/3/school_satchel.png
Binary files differ
diff --git a/public/-/emojis/3/scissors.png b/public/-/emojis/3/scissors.png
new file mode 100644
index 00000000000..f1fab8c74dd
--- /dev/null
+++ b/public/-/emojis/3/scissors.png
Binary files differ
diff --git a/public/-/emojis/3/scooter.png b/public/-/emojis/3/scooter.png
new file mode 100644
index 00000000000..cae1aa50482
--- /dev/null
+++ b/public/-/emojis/3/scooter.png
Binary files differ
diff --git a/public/-/emojis/3/scorpion.png b/public/-/emojis/3/scorpion.png
new file mode 100644
index 00000000000..8d8c145857b
--- /dev/null
+++ b/public/-/emojis/3/scorpion.png
Binary files differ
diff --git a/public/-/emojis/3/scorpius.png b/public/-/emojis/3/scorpius.png
new file mode 100644
index 00000000000..059b45a80de
--- /dev/null
+++ b/public/-/emojis/3/scorpius.png
Binary files differ
diff --git a/public/-/emojis/3/scream.png b/public/-/emojis/3/scream.png
new file mode 100644
index 00000000000..81467f32ba3
--- /dev/null
+++ b/public/-/emojis/3/scream.png
Binary files differ
diff --git a/public/-/emojis/3/scream_cat.png b/public/-/emojis/3/scream_cat.png
new file mode 100644
index 00000000000..c682fe7654a
--- /dev/null
+++ b/public/-/emojis/3/scream_cat.png
Binary files differ
diff --git a/public/-/emojis/3/scroll.png b/public/-/emojis/3/scroll.png
new file mode 100644
index 00000000000..ddec9deb6f9
--- /dev/null
+++ b/public/-/emojis/3/scroll.png
Binary files differ
diff --git a/public/-/emojis/3/seat.png b/public/-/emojis/3/seat.png
new file mode 100644
index 00000000000..4cf5b744f1e
--- /dev/null
+++ b/public/-/emojis/3/seat.png
Binary files differ
diff --git a/public/-/emojis/3/second_place.png b/public/-/emojis/3/second_place.png
new file mode 100644
index 00000000000..478e95852ea
--- /dev/null
+++ b/public/-/emojis/3/second_place.png
Binary files differ
diff --git a/public/-/emojis/3/secret.png b/public/-/emojis/3/secret.png
new file mode 100644
index 00000000000..1f0ef02fa53
--- /dev/null
+++ b/public/-/emojis/3/secret.png
Binary files differ
diff --git a/public/-/emojis/3/see_no_evil.png b/public/-/emojis/3/see_no_evil.png
new file mode 100644
index 00000000000..7e500f70664
--- /dev/null
+++ b/public/-/emojis/3/see_no_evil.png
Binary files differ
diff --git a/public/-/emojis/3/seedling.png b/public/-/emojis/3/seedling.png
new file mode 100644
index 00000000000..9ce4e16a3d7
--- /dev/null
+++ b/public/-/emojis/3/seedling.png
Binary files differ
diff --git a/public/-/emojis/3/selfie.png b/public/-/emojis/3/selfie.png
new file mode 100644
index 00000000000..f66a0726e03
--- /dev/null
+++ b/public/-/emojis/3/selfie.png
Binary files differ
diff --git a/public/-/emojis/3/selfie_tone1.png b/public/-/emojis/3/selfie_tone1.png
new file mode 100644
index 00000000000..ff8497da02f
--- /dev/null
+++ b/public/-/emojis/3/selfie_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/selfie_tone2.png b/public/-/emojis/3/selfie_tone2.png
new file mode 100644
index 00000000000..cda07827962
--- /dev/null
+++ b/public/-/emojis/3/selfie_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/selfie_tone3.png b/public/-/emojis/3/selfie_tone3.png
new file mode 100644
index 00000000000..c40fdff8972
--- /dev/null
+++ b/public/-/emojis/3/selfie_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/selfie_tone4.png b/public/-/emojis/3/selfie_tone4.png
new file mode 100644
index 00000000000..c60858f1006
--- /dev/null
+++ b/public/-/emojis/3/selfie_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/selfie_tone5.png b/public/-/emojis/3/selfie_tone5.png
new file mode 100644
index 00000000000..4718b7c8494
--- /dev/null
+++ b/public/-/emojis/3/selfie_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/seven.png b/public/-/emojis/3/seven.png
new file mode 100644
index 00000000000..e254ef6fdd4
--- /dev/null
+++ b/public/-/emojis/3/seven.png
Binary files differ
diff --git a/public/-/emojis/3/shallow_pan_of_food.png b/public/-/emojis/3/shallow_pan_of_food.png
new file mode 100644
index 00000000000..0fbf77d45b1
--- /dev/null
+++ b/public/-/emojis/3/shallow_pan_of_food.png
Binary files differ
diff --git a/public/-/emojis/3/shamrock.png b/public/-/emojis/3/shamrock.png
new file mode 100644
index 00000000000..7fed4712809
--- /dev/null
+++ b/public/-/emojis/3/shamrock.png
Binary files differ
diff --git a/public/-/emojis/3/shark.png b/public/-/emojis/3/shark.png
new file mode 100644
index 00000000000..97d2f93a79d
--- /dev/null
+++ b/public/-/emojis/3/shark.png
Binary files differ
diff --git a/public/-/emojis/3/shaved_ice.png b/public/-/emojis/3/shaved_ice.png
new file mode 100644
index 00000000000..a8483b92c9c
--- /dev/null
+++ b/public/-/emojis/3/shaved_ice.png
Binary files differ
diff --git a/public/-/emojis/3/sheep.png b/public/-/emojis/3/sheep.png
new file mode 100644
index 00000000000..31168c85de2
--- /dev/null
+++ b/public/-/emojis/3/sheep.png
Binary files differ
diff --git a/public/-/emojis/3/shell.png b/public/-/emojis/3/shell.png
new file mode 100644
index 00000000000..500130bf8bb
--- /dev/null
+++ b/public/-/emojis/3/shell.png
Binary files differ
diff --git a/public/-/emojis/3/shield.png b/public/-/emojis/3/shield.png
new file mode 100644
index 00000000000..1ef6a7e057a
--- /dev/null
+++ b/public/-/emojis/3/shield.png
Binary files differ
diff --git a/public/-/emojis/3/shinto_shrine.png b/public/-/emojis/3/shinto_shrine.png
new file mode 100644
index 00000000000..037d405f70e
--- /dev/null
+++ b/public/-/emojis/3/shinto_shrine.png
Binary files differ
diff --git a/public/-/emojis/3/ship.png b/public/-/emojis/3/ship.png
new file mode 100644
index 00000000000..5863070b294
--- /dev/null
+++ b/public/-/emojis/3/ship.png
Binary files differ
diff --git a/public/-/emojis/3/shirt.png b/public/-/emojis/3/shirt.png
new file mode 100644
index 00000000000..b86a2dc6d26
--- /dev/null
+++ b/public/-/emojis/3/shirt.png
Binary files differ
diff --git a/public/-/emojis/3/shopping_bags.png b/public/-/emojis/3/shopping_bags.png
new file mode 100644
index 00000000000..b37726047d3
--- /dev/null
+++ b/public/-/emojis/3/shopping_bags.png
Binary files differ
diff --git a/public/-/emojis/3/shopping_cart.png b/public/-/emojis/3/shopping_cart.png
new file mode 100644
index 00000000000..037e4edb689
--- /dev/null
+++ b/public/-/emojis/3/shopping_cart.png
Binary files differ
diff --git a/public/-/emojis/3/shower.png b/public/-/emojis/3/shower.png
new file mode 100644
index 00000000000..223abf3322c
--- /dev/null
+++ b/public/-/emojis/3/shower.png
Binary files differ
diff --git a/public/-/emojis/3/shrimp.png b/public/-/emojis/3/shrimp.png
new file mode 100644
index 00000000000..7a3667cc1ff
--- /dev/null
+++ b/public/-/emojis/3/shrimp.png
Binary files differ
diff --git a/public/-/emojis/3/shrug.png b/public/-/emojis/3/shrug.png
new file mode 100644
index 00000000000..cfc3d1471b3
--- /dev/null
+++ b/public/-/emojis/3/shrug.png
Binary files differ
diff --git a/public/-/emojis/3/shrug_tone1.png b/public/-/emojis/3/shrug_tone1.png
new file mode 100644
index 00000000000..e2f3d24f8b9
--- /dev/null
+++ b/public/-/emojis/3/shrug_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/shrug_tone2.png b/public/-/emojis/3/shrug_tone2.png
new file mode 100644
index 00000000000..7e359abee83
--- /dev/null
+++ b/public/-/emojis/3/shrug_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/shrug_tone3.png b/public/-/emojis/3/shrug_tone3.png
new file mode 100644
index 00000000000..301b4922f47
--- /dev/null
+++ b/public/-/emojis/3/shrug_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/shrug_tone4.png b/public/-/emojis/3/shrug_tone4.png
new file mode 100644
index 00000000000..7e95a0e23b6
--- /dev/null
+++ b/public/-/emojis/3/shrug_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/shrug_tone5.png b/public/-/emojis/3/shrug_tone5.png
new file mode 100644
index 00000000000..771f7611e2d
--- /dev/null
+++ b/public/-/emojis/3/shrug_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/signal_strength.png b/public/-/emojis/3/signal_strength.png
new file mode 100644
index 00000000000..9a98a83072e
--- /dev/null
+++ b/public/-/emojis/3/signal_strength.png
Binary files differ
diff --git a/public/-/emojis/3/six.png b/public/-/emojis/3/six.png
new file mode 100644
index 00000000000..fc4482573a7
--- /dev/null
+++ b/public/-/emojis/3/six.png
Binary files differ
diff --git a/public/-/emojis/3/six_pointed_star.png b/public/-/emojis/3/six_pointed_star.png
new file mode 100644
index 00000000000..762094850fa
--- /dev/null
+++ b/public/-/emojis/3/six_pointed_star.png
Binary files differ
diff --git a/public/-/emojis/3/ski.png b/public/-/emojis/3/ski.png
new file mode 100644
index 00000000000..4bbb1966368
--- /dev/null
+++ b/public/-/emojis/3/ski.png
Binary files differ
diff --git a/public/-/emojis/3/skier.png b/public/-/emojis/3/skier.png
new file mode 100644
index 00000000000..3a50c6f49ff
--- /dev/null
+++ b/public/-/emojis/3/skier.png
Binary files differ
diff --git a/public/-/emojis/3/skull.png b/public/-/emojis/3/skull.png
new file mode 100644
index 00000000000..de8357e5fde
--- /dev/null
+++ b/public/-/emojis/3/skull.png
Binary files differ
diff --git a/public/-/emojis/3/skull_crossbones.png b/public/-/emojis/3/skull_crossbones.png
new file mode 100644
index 00000000000..0840efc4b90
--- /dev/null
+++ b/public/-/emojis/3/skull_crossbones.png
Binary files differ
diff --git a/public/-/emojis/3/sleeping.png b/public/-/emojis/3/sleeping.png
new file mode 100644
index 00000000000..7d2315f4c04
--- /dev/null
+++ b/public/-/emojis/3/sleeping.png
Binary files differ
diff --git a/public/-/emojis/3/sleeping_accommodation.png b/public/-/emojis/3/sleeping_accommodation.png
new file mode 100644
index 00000000000..a4cfd898944
--- /dev/null
+++ b/public/-/emojis/3/sleeping_accommodation.png
Binary files differ
diff --git a/public/-/emojis/3/sleepy.png b/public/-/emojis/3/sleepy.png
new file mode 100644
index 00000000000..ad0fb9b87bf
--- /dev/null
+++ b/public/-/emojis/3/sleepy.png
Binary files differ
diff --git a/public/-/emojis/3/slight_frown.png b/public/-/emojis/3/slight_frown.png
new file mode 100644
index 00000000000..adb072c7fa5
--- /dev/null
+++ b/public/-/emojis/3/slight_frown.png
Binary files differ
diff --git a/public/-/emojis/3/slight_smile.png b/public/-/emojis/3/slight_smile.png
new file mode 100644
index 00000000000..e38c9ba1b92
--- /dev/null
+++ b/public/-/emojis/3/slight_smile.png
Binary files differ
diff --git a/public/-/emojis/3/slot_machine.png b/public/-/emojis/3/slot_machine.png
new file mode 100644
index 00000000000..37bfb6b2260
--- /dev/null
+++ b/public/-/emojis/3/slot_machine.png
Binary files differ
diff --git a/public/-/emojis/3/small_blue_diamond.png b/public/-/emojis/3/small_blue_diamond.png
new file mode 100644
index 00000000000..b83d4e1129e
--- /dev/null
+++ b/public/-/emojis/3/small_blue_diamond.png
Binary files differ
diff --git a/public/-/emojis/3/small_orange_diamond.png b/public/-/emojis/3/small_orange_diamond.png
new file mode 100644
index 00000000000..d15c9971d4a
--- /dev/null
+++ b/public/-/emojis/3/small_orange_diamond.png
Binary files differ
diff --git a/public/-/emojis/3/small_red_triangle.png b/public/-/emojis/3/small_red_triangle.png
new file mode 100644
index 00000000000..d4b36bec645
--- /dev/null
+++ b/public/-/emojis/3/small_red_triangle.png
Binary files differ
diff --git a/public/-/emojis/3/small_red_triangle_down.png b/public/-/emojis/3/small_red_triangle_down.png
new file mode 100644
index 00000000000..f5934bc46c6
--- /dev/null
+++ b/public/-/emojis/3/small_red_triangle_down.png
Binary files differ
diff --git a/public/-/emojis/3/smile.png b/public/-/emojis/3/smile.png
new file mode 100644
index 00000000000..020856fbfa0
--- /dev/null
+++ b/public/-/emojis/3/smile.png
Binary files differ
diff --git a/public/-/emojis/3/smile_cat.png b/public/-/emojis/3/smile_cat.png
new file mode 100644
index 00000000000..7bd86d9ad43
--- /dev/null
+++ b/public/-/emojis/3/smile_cat.png
Binary files differ
diff --git a/public/-/emojis/3/smiley.png b/public/-/emojis/3/smiley.png
new file mode 100644
index 00000000000..25db0d4936d
--- /dev/null
+++ b/public/-/emojis/3/smiley.png
Binary files differ
diff --git a/public/-/emojis/3/smiley_cat.png b/public/-/emojis/3/smiley_cat.png
new file mode 100644
index 00000000000..4b56e4fca6d
--- /dev/null
+++ b/public/-/emojis/3/smiley_cat.png
Binary files differ
diff --git a/public/-/emojis/3/smiling_imp.png b/public/-/emojis/3/smiling_imp.png
new file mode 100644
index 00000000000..1c23402e37b
--- /dev/null
+++ b/public/-/emojis/3/smiling_imp.png
Binary files differ
diff --git a/public/-/emojis/3/smirk.png b/public/-/emojis/3/smirk.png
new file mode 100644
index 00000000000..efb6db0393b
--- /dev/null
+++ b/public/-/emojis/3/smirk.png
Binary files differ
diff --git a/public/-/emojis/3/smirk_cat.png b/public/-/emojis/3/smirk_cat.png
new file mode 100644
index 00000000000..cb2f3f03d42
--- /dev/null
+++ b/public/-/emojis/3/smirk_cat.png
Binary files differ
diff --git a/public/-/emojis/3/smoking.png b/public/-/emojis/3/smoking.png
new file mode 100644
index 00000000000..017dff2df8a
--- /dev/null
+++ b/public/-/emojis/3/smoking.png
Binary files differ
diff --git a/public/-/emojis/3/snail.png b/public/-/emojis/3/snail.png
new file mode 100644
index 00000000000..28a31806c82
--- /dev/null
+++ b/public/-/emojis/3/snail.png
Binary files differ
diff --git a/public/-/emojis/3/snake.png b/public/-/emojis/3/snake.png
new file mode 100644
index 00000000000..11680226a2f
--- /dev/null
+++ b/public/-/emojis/3/snake.png
Binary files differ
diff --git a/public/-/emojis/3/sneezing_face.png b/public/-/emojis/3/sneezing_face.png
new file mode 100644
index 00000000000..f807fe90a10
--- /dev/null
+++ b/public/-/emojis/3/sneezing_face.png
Binary files differ
diff --git a/public/-/emojis/3/snowboarder.png b/public/-/emojis/3/snowboarder.png
new file mode 100644
index 00000000000..fd70915bfc6
--- /dev/null
+++ b/public/-/emojis/3/snowboarder.png
Binary files differ
diff --git a/public/-/emojis/3/snowflake.png b/public/-/emojis/3/snowflake.png
new file mode 100644
index 00000000000..9eaf9ede6e2
--- /dev/null
+++ b/public/-/emojis/3/snowflake.png
Binary files differ
diff --git a/public/-/emojis/3/snowman.png b/public/-/emojis/3/snowman.png
new file mode 100644
index 00000000000..a1c8bbd32ac
--- /dev/null
+++ b/public/-/emojis/3/snowman.png
Binary files differ
diff --git a/public/-/emojis/3/snowman2.png b/public/-/emojis/3/snowman2.png
new file mode 100644
index 00000000000..67c7572ca8d
--- /dev/null
+++ b/public/-/emojis/3/snowman2.png
Binary files differ
diff --git a/public/-/emojis/3/sob.png b/public/-/emojis/3/sob.png
new file mode 100644
index 00000000000..5e386c89b4e
--- /dev/null
+++ b/public/-/emojis/3/sob.png
Binary files differ
diff --git a/public/-/emojis/3/soccer.png b/public/-/emojis/3/soccer.png
new file mode 100644
index 00000000000..a850058d657
--- /dev/null
+++ b/public/-/emojis/3/soccer.png
Binary files differ
diff --git a/public/-/emojis/3/soon.png b/public/-/emojis/3/soon.png
new file mode 100644
index 00000000000..1a2c8507203
--- /dev/null
+++ b/public/-/emojis/3/soon.png
Binary files differ
diff --git a/public/-/emojis/3/sos.png b/public/-/emojis/3/sos.png
new file mode 100644
index 00000000000..5d014eb40a0
--- /dev/null
+++ b/public/-/emojis/3/sos.png
Binary files differ
diff --git a/public/-/emojis/3/sound.png b/public/-/emojis/3/sound.png
new file mode 100644
index 00000000000..8745dcbfea6
--- /dev/null
+++ b/public/-/emojis/3/sound.png
Binary files differ
diff --git a/public/-/emojis/3/space_invader.png b/public/-/emojis/3/space_invader.png
new file mode 100644
index 00000000000..20b6a7dc292
--- /dev/null
+++ b/public/-/emojis/3/space_invader.png
Binary files differ
diff --git a/public/-/emojis/3/spades.png b/public/-/emojis/3/spades.png
new file mode 100644
index 00000000000..391970ee89f
--- /dev/null
+++ b/public/-/emojis/3/spades.png
Binary files differ
diff --git a/public/-/emojis/3/spaghetti.png b/public/-/emojis/3/spaghetti.png
new file mode 100644
index 00000000000..7b090699d8c
--- /dev/null
+++ b/public/-/emojis/3/spaghetti.png
Binary files differ
diff --git a/public/-/emojis/3/sparkle.png b/public/-/emojis/3/sparkle.png
new file mode 100644
index 00000000000..0afb772cea3
--- /dev/null
+++ b/public/-/emojis/3/sparkle.png
Binary files differ
diff --git a/public/-/emojis/3/sparkler.png b/public/-/emojis/3/sparkler.png
new file mode 100644
index 00000000000..d161be56b5e
--- /dev/null
+++ b/public/-/emojis/3/sparkler.png
Binary files differ
diff --git a/public/-/emojis/3/sparkles.png b/public/-/emojis/3/sparkles.png
new file mode 100644
index 00000000000..bb495239cfb
--- /dev/null
+++ b/public/-/emojis/3/sparkles.png
Binary files differ
diff --git a/public/-/emojis/3/sparkling_heart.png b/public/-/emojis/3/sparkling_heart.png
new file mode 100644
index 00000000000..32dcf9aa915
--- /dev/null
+++ b/public/-/emojis/3/sparkling_heart.png
Binary files differ
diff --git a/public/-/emojis/3/speak_no_evil.png b/public/-/emojis/3/speak_no_evil.png
new file mode 100644
index 00000000000..e9bfeec5f42
--- /dev/null
+++ b/public/-/emojis/3/speak_no_evil.png
Binary files differ
diff --git a/public/-/emojis/3/speaker.png b/public/-/emojis/3/speaker.png
new file mode 100644
index 00000000000..53a81d34d85
--- /dev/null
+++ b/public/-/emojis/3/speaker.png
Binary files differ
diff --git a/public/-/emojis/3/speaking_head.png b/public/-/emojis/3/speaking_head.png
new file mode 100644
index 00000000000..98d13b4655f
--- /dev/null
+++ b/public/-/emojis/3/speaking_head.png
Binary files differ
diff --git a/public/-/emojis/3/speech_balloon.png b/public/-/emojis/3/speech_balloon.png
new file mode 100644
index 00000000000..68931bd98bd
--- /dev/null
+++ b/public/-/emojis/3/speech_balloon.png
Binary files differ
diff --git a/public/-/emojis/3/speech_left.png b/public/-/emojis/3/speech_left.png
new file mode 100644
index 00000000000..752e6968ef7
--- /dev/null
+++ b/public/-/emojis/3/speech_left.png
Binary files differ
diff --git a/public/-/emojis/3/speedboat.png b/public/-/emojis/3/speedboat.png
new file mode 100644
index 00000000000..0ea80037c32
--- /dev/null
+++ b/public/-/emojis/3/speedboat.png
Binary files differ
diff --git a/public/-/emojis/3/spider.png b/public/-/emojis/3/spider.png
new file mode 100644
index 00000000000..afabcf2cea4
--- /dev/null
+++ b/public/-/emojis/3/spider.png
Binary files differ
diff --git a/public/-/emojis/3/spider_web.png b/public/-/emojis/3/spider_web.png
new file mode 100644
index 00000000000..145f80430af
--- /dev/null
+++ b/public/-/emojis/3/spider_web.png
Binary files differ
diff --git a/public/-/emojis/3/spoon.png b/public/-/emojis/3/spoon.png
new file mode 100644
index 00000000000..e1b338a307c
--- /dev/null
+++ b/public/-/emojis/3/spoon.png
Binary files differ
diff --git a/public/-/emojis/3/spy.png b/public/-/emojis/3/spy.png
new file mode 100644
index 00000000000..7fe4c2b0066
--- /dev/null
+++ b/public/-/emojis/3/spy.png
Binary files differ
diff --git a/public/-/emojis/3/spy_tone1.png b/public/-/emojis/3/spy_tone1.png
new file mode 100644
index 00000000000..019fe0e53b2
--- /dev/null
+++ b/public/-/emojis/3/spy_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/spy_tone2.png b/public/-/emojis/3/spy_tone2.png
new file mode 100644
index 00000000000..cadc40ed53c
--- /dev/null
+++ b/public/-/emojis/3/spy_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/spy_tone3.png b/public/-/emojis/3/spy_tone3.png
new file mode 100644
index 00000000000..d994a09ecf4
--- /dev/null
+++ b/public/-/emojis/3/spy_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/spy_tone4.png b/public/-/emojis/3/spy_tone4.png
new file mode 100644
index 00000000000..92695bc1074
--- /dev/null
+++ b/public/-/emojis/3/spy_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/spy_tone5.png b/public/-/emojis/3/spy_tone5.png
new file mode 100644
index 00000000000..78f55b54ada
--- /dev/null
+++ b/public/-/emojis/3/spy_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/squid.png b/public/-/emojis/3/squid.png
new file mode 100644
index 00000000000..c6a4e665b74
--- /dev/null
+++ b/public/-/emojis/3/squid.png
Binary files differ
diff --git a/public/-/emojis/3/stadium.png b/public/-/emojis/3/stadium.png
new file mode 100644
index 00000000000..facc7d4fc36
--- /dev/null
+++ b/public/-/emojis/3/stadium.png
Binary files differ
diff --git a/public/-/emojis/3/star.png b/public/-/emojis/3/star.png
new file mode 100644
index 00000000000..aac6c64711d
--- /dev/null
+++ b/public/-/emojis/3/star.png
Binary files differ
diff --git a/public/-/emojis/3/star2.png b/public/-/emojis/3/star2.png
new file mode 100644
index 00000000000..adaf11e6e39
--- /dev/null
+++ b/public/-/emojis/3/star2.png
Binary files differ
diff --git a/public/-/emojis/3/star_and_crescent.png b/public/-/emojis/3/star_and_crescent.png
new file mode 100644
index 00000000000..5ab5193e942
--- /dev/null
+++ b/public/-/emojis/3/star_and_crescent.png
Binary files differ
diff --git a/public/-/emojis/3/star_of_david.png b/public/-/emojis/3/star_of_david.png
new file mode 100644
index 00000000000..88e957492c2
--- /dev/null
+++ b/public/-/emojis/3/star_of_david.png
Binary files differ
diff --git a/public/-/emojis/3/stars.png b/public/-/emojis/3/stars.png
new file mode 100644
index 00000000000..4567af681a5
--- /dev/null
+++ b/public/-/emojis/3/stars.png
Binary files differ
diff --git a/public/-/emojis/3/station.png b/public/-/emojis/3/station.png
new file mode 100644
index 00000000000..d8a43944883
--- /dev/null
+++ b/public/-/emojis/3/station.png
Binary files differ
diff --git a/public/-/emojis/3/statue_of_liberty.png b/public/-/emojis/3/statue_of_liberty.png
new file mode 100644
index 00000000000..6a6a59c078d
--- /dev/null
+++ b/public/-/emojis/3/statue_of_liberty.png
Binary files differ
diff --git a/public/-/emojis/3/steam_locomotive.png b/public/-/emojis/3/steam_locomotive.png
new file mode 100644
index 00000000000..95a570c62bd
--- /dev/null
+++ b/public/-/emojis/3/steam_locomotive.png
Binary files differ
diff --git a/public/-/emojis/3/stew.png b/public/-/emojis/3/stew.png
new file mode 100644
index 00000000000..369f9c6fca5
--- /dev/null
+++ b/public/-/emojis/3/stew.png
Binary files differ
diff --git a/public/-/emojis/3/stop_button.png b/public/-/emojis/3/stop_button.png
new file mode 100644
index 00000000000..5df39ab4adb
--- /dev/null
+++ b/public/-/emojis/3/stop_button.png
Binary files differ
diff --git a/public/-/emojis/3/stopwatch.png b/public/-/emojis/3/stopwatch.png
new file mode 100644
index 00000000000..1610ba9e6fc
--- /dev/null
+++ b/public/-/emojis/3/stopwatch.png
Binary files differ
diff --git a/public/-/emojis/3/straight_ruler.png b/public/-/emojis/3/straight_ruler.png
new file mode 100644
index 00000000000..3479fb1c6bd
--- /dev/null
+++ b/public/-/emojis/3/straight_ruler.png
Binary files differ
diff --git a/public/-/emojis/3/strawberry.png b/public/-/emojis/3/strawberry.png
new file mode 100644
index 00000000000..726356e830d
--- /dev/null
+++ b/public/-/emojis/3/strawberry.png
Binary files differ
diff --git a/public/-/emojis/3/stuck_out_tongue.png b/public/-/emojis/3/stuck_out_tongue.png
new file mode 100644
index 00000000000..0d48279a13e
--- /dev/null
+++ b/public/-/emojis/3/stuck_out_tongue.png
Binary files differ
diff --git a/public/-/emojis/3/stuck_out_tongue_closed_eyes.png b/public/-/emojis/3/stuck_out_tongue_closed_eyes.png
new file mode 100644
index 00000000000..6c2d8152d3d
--- /dev/null
+++ b/public/-/emojis/3/stuck_out_tongue_closed_eyes.png
Binary files differ
diff --git a/public/-/emojis/3/stuck_out_tongue_winking_eye.png b/public/-/emojis/3/stuck_out_tongue_winking_eye.png
new file mode 100644
index 00000000000..0d939158bac
--- /dev/null
+++ b/public/-/emojis/3/stuck_out_tongue_winking_eye.png
Binary files differ
diff --git a/public/-/emojis/3/stuffed_flatbread.png b/public/-/emojis/3/stuffed_flatbread.png
new file mode 100644
index 00000000000..fab6f0cf60e
--- /dev/null
+++ b/public/-/emojis/3/stuffed_flatbread.png
Binary files differ
diff --git a/public/-/emojis/3/sun_with_face.png b/public/-/emojis/3/sun_with_face.png
new file mode 100644
index 00000000000..09ca3548bda
--- /dev/null
+++ b/public/-/emojis/3/sun_with_face.png
Binary files differ
diff --git a/public/-/emojis/3/sunflower.png b/public/-/emojis/3/sunflower.png
new file mode 100644
index 00000000000..470cff7ab65
--- /dev/null
+++ b/public/-/emojis/3/sunflower.png
Binary files differ
diff --git a/public/-/emojis/3/sunglasses.png b/public/-/emojis/3/sunglasses.png
new file mode 100644
index 00000000000..c5e7e6e5287
--- /dev/null
+++ b/public/-/emojis/3/sunglasses.png
Binary files differ
diff --git a/public/-/emojis/3/sunny.png b/public/-/emojis/3/sunny.png
new file mode 100644
index 00000000000..a746a886798
--- /dev/null
+++ b/public/-/emojis/3/sunny.png
Binary files differ
diff --git a/public/-/emojis/3/sunrise.png b/public/-/emojis/3/sunrise.png
new file mode 100644
index 00000000000..369d13fc5a7
--- /dev/null
+++ b/public/-/emojis/3/sunrise.png
Binary files differ
diff --git a/public/-/emojis/3/sunrise_over_mountains.png b/public/-/emojis/3/sunrise_over_mountains.png
new file mode 100644
index 00000000000..7ef6d6dfc1f
--- /dev/null
+++ b/public/-/emojis/3/sunrise_over_mountains.png
Binary files differ
diff --git a/public/-/emojis/3/surfer.png b/public/-/emojis/3/surfer.png
new file mode 100644
index 00000000000..b4dee78ca5d
--- /dev/null
+++ b/public/-/emojis/3/surfer.png
Binary files differ
diff --git a/public/-/emojis/3/surfer_tone1.png b/public/-/emojis/3/surfer_tone1.png
new file mode 100644
index 00000000000..12f91117845
--- /dev/null
+++ b/public/-/emojis/3/surfer_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/surfer_tone2.png b/public/-/emojis/3/surfer_tone2.png
new file mode 100644
index 00000000000..2ce3ec7b545
--- /dev/null
+++ b/public/-/emojis/3/surfer_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/surfer_tone3.png b/public/-/emojis/3/surfer_tone3.png
new file mode 100644
index 00000000000..46d81855192
--- /dev/null
+++ b/public/-/emojis/3/surfer_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/surfer_tone4.png b/public/-/emojis/3/surfer_tone4.png
new file mode 100644
index 00000000000..a45e877308e
--- /dev/null
+++ b/public/-/emojis/3/surfer_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/surfer_tone5.png b/public/-/emojis/3/surfer_tone5.png
new file mode 100644
index 00000000000..f76eed71b82
--- /dev/null
+++ b/public/-/emojis/3/surfer_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/sushi.png b/public/-/emojis/3/sushi.png
new file mode 100644
index 00000000000..6c4b87ec2f6
--- /dev/null
+++ b/public/-/emojis/3/sushi.png
Binary files differ
diff --git a/public/-/emojis/3/suspension_railway.png b/public/-/emojis/3/suspension_railway.png
new file mode 100644
index 00000000000..e1aa1a18873
--- /dev/null
+++ b/public/-/emojis/3/suspension_railway.png
Binary files differ
diff --git a/public/-/emojis/3/sweat.png b/public/-/emojis/3/sweat.png
new file mode 100644
index 00000000000..2122850839b
--- /dev/null
+++ b/public/-/emojis/3/sweat.png
Binary files differ
diff --git a/public/-/emojis/3/sweat_drops.png b/public/-/emojis/3/sweat_drops.png
new file mode 100644
index 00000000000..392c04cc7ba
--- /dev/null
+++ b/public/-/emojis/3/sweat_drops.png
Binary files differ
diff --git a/public/-/emojis/3/sweat_smile.png b/public/-/emojis/3/sweat_smile.png
new file mode 100644
index 00000000000..f632526bdf8
--- /dev/null
+++ b/public/-/emojis/3/sweat_smile.png
Binary files differ
diff --git a/public/-/emojis/3/sweet_potato.png b/public/-/emojis/3/sweet_potato.png
new file mode 100644
index 00000000000..abfbe70a528
--- /dev/null
+++ b/public/-/emojis/3/sweet_potato.png
Binary files differ
diff --git a/public/-/emojis/3/swimmer.png b/public/-/emojis/3/swimmer.png
new file mode 100644
index 00000000000..985910c928c
--- /dev/null
+++ b/public/-/emojis/3/swimmer.png
Binary files differ
diff --git a/public/-/emojis/3/swimmer_tone1.png b/public/-/emojis/3/swimmer_tone1.png
new file mode 100644
index 00000000000..7735655aaab
--- /dev/null
+++ b/public/-/emojis/3/swimmer_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/swimmer_tone2.png b/public/-/emojis/3/swimmer_tone2.png
new file mode 100644
index 00000000000..e3d8f4ef2c8
--- /dev/null
+++ b/public/-/emojis/3/swimmer_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/swimmer_tone3.png b/public/-/emojis/3/swimmer_tone3.png
new file mode 100644
index 00000000000..4d187d1f13e
--- /dev/null
+++ b/public/-/emojis/3/swimmer_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/swimmer_tone4.png b/public/-/emojis/3/swimmer_tone4.png
new file mode 100644
index 00000000000..e19f0fcd07f
--- /dev/null
+++ b/public/-/emojis/3/swimmer_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/swimmer_tone5.png b/public/-/emojis/3/swimmer_tone5.png
new file mode 100644
index 00000000000..bc485bebe87
--- /dev/null
+++ b/public/-/emojis/3/swimmer_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/symbols.png b/public/-/emojis/3/symbols.png
new file mode 100644
index 00000000000..dcd10763aec
--- /dev/null
+++ b/public/-/emojis/3/symbols.png
Binary files differ
diff --git a/public/-/emojis/3/synagogue.png b/public/-/emojis/3/synagogue.png
new file mode 100644
index 00000000000..bf42bf77742
--- /dev/null
+++ b/public/-/emojis/3/synagogue.png
Binary files differ
diff --git a/public/-/emojis/3/syringe.png b/public/-/emojis/3/syringe.png
new file mode 100644
index 00000000000..6bff9419b63
--- /dev/null
+++ b/public/-/emojis/3/syringe.png
Binary files differ
diff --git a/public/-/emojis/3/taco.png b/public/-/emojis/3/taco.png
new file mode 100644
index 00000000000..6760f289b87
--- /dev/null
+++ b/public/-/emojis/3/taco.png
Binary files differ
diff --git a/public/-/emojis/3/tada.png b/public/-/emojis/3/tada.png
new file mode 100644
index 00000000000..29822f25ad1
--- /dev/null
+++ b/public/-/emojis/3/tada.png
Binary files differ
diff --git a/public/-/emojis/3/tanabata_tree.png b/public/-/emojis/3/tanabata_tree.png
new file mode 100644
index 00000000000..b944198d57a
--- /dev/null
+++ b/public/-/emojis/3/tanabata_tree.png
Binary files differ
diff --git a/public/-/emojis/3/tangerine.png b/public/-/emojis/3/tangerine.png
new file mode 100644
index 00000000000..90ae7bec598
--- /dev/null
+++ b/public/-/emojis/3/tangerine.png
Binary files differ
diff --git a/public/-/emojis/3/taurus.png b/public/-/emojis/3/taurus.png
new file mode 100644
index 00000000000..f6cac21ebe0
--- /dev/null
+++ b/public/-/emojis/3/taurus.png
Binary files differ
diff --git a/public/-/emojis/3/taxi.png b/public/-/emojis/3/taxi.png
new file mode 100644
index 00000000000..fc1b5c2c7ef
--- /dev/null
+++ b/public/-/emojis/3/taxi.png
Binary files differ
diff --git a/public/-/emojis/3/tea.png b/public/-/emojis/3/tea.png
new file mode 100644
index 00000000000..1ce3af7dcae
--- /dev/null
+++ b/public/-/emojis/3/tea.png
Binary files differ
diff --git a/public/-/emojis/3/telephone.png b/public/-/emojis/3/telephone.png
new file mode 100644
index 00000000000..715668433bd
--- /dev/null
+++ b/public/-/emojis/3/telephone.png
Binary files differ
diff --git a/public/-/emojis/3/telephone_receiver.png b/public/-/emojis/3/telephone_receiver.png
new file mode 100644
index 00000000000..310596e7c22
--- /dev/null
+++ b/public/-/emojis/3/telephone_receiver.png
Binary files differ
diff --git a/public/-/emojis/3/telescope.png b/public/-/emojis/3/telescope.png
new file mode 100644
index 00000000000..c2a5539f619
--- /dev/null
+++ b/public/-/emojis/3/telescope.png
Binary files differ
diff --git a/public/-/emojis/3/ten.png b/public/-/emojis/3/ten.png
new file mode 100644
index 00000000000..095b845f60f
--- /dev/null
+++ b/public/-/emojis/3/ten.png
Binary files differ
diff --git a/public/-/emojis/3/tennis.png b/public/-/emojis/3/tennis.png
new file mode 100644
index 00000000000..5e17e45d876
--- /dev/null
+++ b/public/-/emojis/3/tennis.png
Binary files differ
diff --git a/public/-/emojis/3/tent.png b/public/-/emojis/3/tent.png
new file mode 100644
index 00000000000..154bf32a14c
--- /dev/null
+++ b/public/-/emojis/3/tent.png
Binary files differ
diff --git a/public/-/emojis/3/thermometer.png b/public/-/emojis/3/thermometer.png
new file mode 100644
index 00000000000..59948a90828
--- /dev/null
+++ b/public/-/emojis/3/thermometer.png
Binary files differ
diff --git a/public/-/emojis/3/thermometer_face.png b/public/-/emojis/3/thermometer_face.png
new file mode 100644
index 00000000000..7f66be79dc2
--- /dev/null
+++ b/public/-/emojis/3/thermometer_face.png
Binary files differ
diff --git a/public/-/emojis/3/thinking.png b/public/-/emojis/3/thinking.png
new file mode 100644
index 00000000000..9d2d2239434
--- /dev/null
+++ b/public/-/emojis/3/thinking.png
Binary files differ
diff --git a/public/-/emojis/3/third_place.png b/public/-/emojis/3/third_place.png
new file mode 100644
index 00000000000..8735d669da5
--- /dev/null
+++ b/public/-/emojis/3/third_place.png
Binary files differ
diff --git a/public/-/emojis/3/thought_balloon.png b/public/-/emojis/3/thought_balloon.png
new file mode 100644
index 00000000000..d03489c53c2
--- /dev/null
+++ b/public/-/emojis/3/thought_balloon.png
Binary files differ
diff --git a/public/-/emojis/3/three.png b/public/-/emojis/3/three.png
new file mode 100644
index 00000000000..ff06694841c
--- /dev/null
+++ b/public/-/emojis/3/three.png
Binary files differ
diff --git a/public/-/emojis/3/thumbsdown.png b/public/-/emojis/3/thumbsdown.png
new file mode 100644
index 00000000000..5f46c1e086d
--- /dev/null
+++ b/public/-/emojis/3/thumbsdown.png
Binary files differ
diff --git a/public/-/emojis/3/thumbsdown_tone1.png b/public/-/emojis/3/thumbsdown_tone1.png
new file mode 100644
index 00000000000..a1a4f42c338
--- /dev/null
+++ b/public/-/emojis/3/thumbsdown_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/thumbsdown_tone2.png b/public/-/emojis/3/thumbsdown_tone2.png
new file mode 100644
index 00000000000..eae40534e95
--- /dev/null
+++ b/public/-/emojis/3/thumbsdown_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/thumbsdown_tone3.png b/public/-/emojis/3/thumbsdown_tone3.png
new file mode 100644
index 00000000000..d795af13536
--- /dev/null
+++ b/public/-/emojis/3/thumbsdown_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/thumbsdown_tone4.png b/public/-/emojis/3/thumbsdown_tone4.png
new file mode 100644
index 00000000000..07d1afac9c5
--- /dev/null
+++ b/public/-/emojis/3/thumbsdown_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/thumbsdown_tone5.png b/public/-/emojis/3/thumbsdown_tone5.png
new file mode 100644
index 00000000000..847ce3a82ce
--- /dev/null
+++ b/public/-/emojis/3/thumbsdown_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/thumbsup.png b/public/-/emojis/3/thumbsup.png
new file mode 100644
index 00000000000..5cebe8a7787
--- /dev/null
+++ b/public/-/emojis/3/thumbsup.png
Binary files differ
diff --git a/public/-/emojis/3/thumbsup_tone1.png b/public/-/emojis/3/thumbsup_tone1.png
new file mode 100644
index 00000000000..76b734a2e32
--- /dev/null
+++ b/public/-/emojis/3/thumbsup_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/thumbsup_tone2.png b/public/-/emojis/3/thumbsup_tone2.png
new file mode 100644
index 00000000000..c7d900d86c5
--- /dev/null
+++ b/public/-/emojis/3/thumbsup_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/thumbsup_tone3.png b/public/-/emojis/3/thumbsup_tone3.png
new file mode 100644
index 00000000000..5bd66fd212d
--- /dev/null
+++ b/public/-/emojis/3/thumbsup_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/thumbsup_tone4.png b/public/-/emojis/3/thumbsup_tone4.png
new file mode 100644
index 00000000000..37b2d15fd7b
--- /dev/null
+++ b/public/-/emojis/3/thumbsup_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/thumbsup_tone5.png b/public/-/emojis/3/thumbsup_tone5.png
new file mode 100644
index 00000000000..c5d208280c3
--- /dev/null
+++ b/public/-/emojis/3/thumbsup_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/thunder_cloud_rain.png b/public/-/emojis/3/thunder_cloud_rain.png
new file mode 100644
index 00000000000..c6e07334eb9
--- /dev/null
+++ b/public/-/emojis/3/thunder_cloud_rain.png
Binary files differ
diff --git a/public/-/emojis/3/ticket.png b/public/-/emojis/3/ticket.png
new file mode 100644
index 00000000000..b8949469865
--- /dev/null
+++ b/public/-/emojis/3/ticket.png
Binary files differ
diff --git a/public/-/emojis/3/tickets.png b/public/-/emojis/3/tickets.png
new file mode 100644
index 00000000000..1b240c3b83e
--- /dev/null
+++ b/public/-/emojis/3/tickets.png
Binary files differ
diff --git a/public/-/emojis/3/tiger.png b/public/-/emojis/3/tiger.png
new file mode 100644
index 00000000000..398db6aceeb
--- /dev/null
+++ b/public/-/emojis/3/tiger.png
Binary files differ
diff --git a/public/-/emojis/3/tiger2.png b/public/-/emojis/3/tiger2.png
new file mode 100644
index 00000000000..e5409e67fb4
--- /dev/null
+++ b/public/-/emojis/3/tiger2.png
Binary files differ
diff --git a/public/-/emojis/3/timer.png b/public/-/emojis/3/timer.png
new file mode 100644
index 00000000000..dcff365af63
--- /dev/null
+++ b/public/-/emojis/3/timer.png
Binary files differ
diff --git a/public/-/emojis/3/tired_face.png b/public/-/emojis/3/tired_face.png
new file mode 100644
index 00000000000..823b8aaeba0
--- /dev/null
+++ b/public/-/emojis/3/tired_face.png
Binary files differ
diff --git a/public/-/emojis/3/tm.png b/public/-/emojis/3/tm.png
new file mode 100644
index 00000000000..d353953a40c
--- /dev/null
+++ b/public/-/emojis/3/tm.png
Binary files differ
diff --git a/public/-/emojis/3/toilet.png b/public/-/emojis/3/toilet.png
new file mode 100644
index 00000000000..828879db5ec
--- /dev/null
+++ b/public/-/emojis/3/toilet.png
Binary files differ
diff --git a/public/-/emojis/3/tokyo_tower.png b/public/-/emojis/3/tokyo_tower.png
new file mode 100644
index 00000000000..4366f3413a6
--- /dev/null
+++ b/public/-/emojis/3/tokyo_tower.png
Binary files differ
diff --git a/public/-/emojis/3/tomato.png b/public/-/emojis/3/tomato.png
new file mode 100644
index 00000000000..74ba9aa90a8
--- /dev/null
+++ b/public/-/emojis/3/tomato.png
Binary files differ
diff --git a/public/-/emojis/3/tone1.png b/public/-/emojis/3/tone1.png
new file mode 100644
index 00000000000..d36f06f2763
--- /dev/null
+++ b/public/-/emojis/3/tone1.png
Binary files differ
diff --git a/public/-/emojis/3/tone2.png b/public/-/emojis/3/tone2.png
new file mode 100644
index 00000000000..8c08edd81cb
--- /dev/null
+++ b/public/-/emojis/3/tone2.png
Binary files differ
diff --git a/public/-/emojis/3/tone3.png b/public/-/emojis/3/tone3.png
new file mode 100644
index 00000000000..af925abe698
--- /dev/null
+++ b/public/-/emojis/3/tone3.png
Binary files differ
diff --git a/public/-/emojis/3/tone4.png b/public/-/emojis/3/tone4.png
new file mode 100644
index 00000000000..fb59d7b4419
--- /dev/null
+++ b/public/-/emojis/3/tone4.png
Binary files differ
diff --git a/public/-/emojis/3/tone5.png b/public/-/emojis/3/tone5.png
new file mode 100644
index 00000000000..b504a423322
--- /dev/null
+++ b/public/-/emojis/3/tone5.png
Binary files differ
diff --git a/public/-/emojis/3/tongue.png b/public/-/emojis/3/tongue.png
new file mode 100644
index 00000000000..d0d9d44b2ec
--- /dev/null
+++ b/public/-/emojis/3/tongue.png
Binary files differ
diff --git a/public/-/emojis/3/tools.png b/public/-/emojis/3/tools.png
new file mode 100644
index 00000000000..6a1936bc74e
--- /dev/null
+++ b/public/-/emojis/3/tools.png
Binary files differ
diff --git a/public/-/emojis/3/top.png b/public/-/emojis/3/top.png
new file mode 100644
index 00000000000..25dab3dea95
--- /dev/null
+++ b/public/-/emojis/3/top.png
Binary files differ
diff --git a/public/-/emojis/3/tophat.png b/public/-/emojis/3/tophat.png
new file mode 100644
index 00000000000..9f783e522cb
--- /dev/null
+++ b/public/-/emojis/3/tophat.png
Binary files differ
diff --git a/public/-/emojis/3/track_next.png b/public/-/emojis/3/track_next.png
new file mode 100644
index 00000000000..f6d79d955d9
--- /dev/null
+++ b/public/-/emojis/3/track_next.png
Binary files differ
diff --git a/public/-/emojis/3/track_previous.png b/public/-/emojis/3/track_previous.png
new file mode 100644
index 00000000000..ec520b9356d
--- /dev/null
+++ b/public/-/emojis/3/track_previous.png
Binary files differ
diff --git a/public/-/emojis/3/trackball.png b/public/-/emojis/3/trackball.png
new file mode 100644
index 00000000000..b3e7df4c87b
--- /dev/null
+++ b/public/-/emojis/3/trackball.png
Binary files differ
diff --git a/public/-/emojis/3/tractor.png b/public/-/emojis/3/tractor.png
new file mode 100644
index 00000000000..63c75e8845b
--- /dev/null
+++ b/public/-/emojis/3/tractor.png
Binary files differ
diff --git a/public/-/emojis/3/traffic_light.png b/public/-/emojis/3/traffic_light.png
new file mode 100644
index 00000000000..d93af70b1f5
--- /dev/null
+++ b/public/-/emojis/3/traffic_light.png
Binary files differ
diff --git a/public/-/emojis/3/train.png b/public/-/emojis/3/train.png
new file mode 100644
index 00000000000..f96833196a9
--- /dev/null
+++ b/public/-/emojis/3/train.png
Binary files differ
diff --git a/public/-/emojis/3/train2.png b/public/-/emojis/3/train2.png
new file mode 100644
index 00000000000..5062b323b46
--- /dev/null
+++ b/public/-/emojis/3/train2.png
Binary files differ
diff --git a/public/-/emojis/3/tram.png b/public/-/emojis/3/tram.png
new file mode 100644
index 00000000000..c544d624f42
--- /dev/null
+++ b/public/-/emojis/3/tram.png
Binary files differ
diff --git a/public/-/emojis/3/triangular_flag_on_post.png b/public/-/emojis/3/triangular_flag_on_post.png
new file mode 100644
index 00000000000..f1d2b3b3ee7
--- /dev/null
+++ b/public/-/emojis/3/triangular_flag_on_post.png
Binary files differ
diff --git a/public/-/emojis/3/triangular_ruler.png b/public/-/emojis/3/triangular_ruler.png
new file mode 100644
index 00000000000..06d1b219853
--- /dev/null
+++ b/public/-/emojis/3/triangular_ruler.png
Binary files differ
diff --git a/public/-/emojis/3/trident.png b/public/-/emojis/3/trident.png
new file mode 100644
index 00000000000..00bbaf72b0e
--- /dev/null
+++ b/public/-/emojis/3/trident.png
Binary files differ
diff --git a/public/-/emojis/3/triumph.png b/public/-/emojis/3/triumph.png
new file mode 100644
index 00000000000..950ce46587f
--- /dev/null
+++ b/public/-/emojis/3/triumph.png
Binary files differ
diff --git a/public/-/emojis/3/trolleybus.png b/public/-/emojis/3/trolleybus.png
new file mode 100644
index 00000000000..9c28d71c413
--- /dev/null
+++ b/public/-/emojis/3/trolleybus.png
Binary files differ
diff --git a/public/-/emojis/3/trophy.png b/public/-/emojis/3/trophy.png
new file mode 100644
index 00000000000..b2ad4f41106
--- /dev/null
+++ b/public/-/emojis/3/trophy.png
Binary files differ
diff --git a/public/-/emojis/3/tropical_drink.png b/public/-/emojis/3/tropical_drink.png
new file mode 100644
index 00000000000..2d65920c251
--- /dev/null
+++ b/public/-/emojis/3/tropical_drink.png
Binary files differ
diff --git a/public/-/emojis/3/tropical_fish.png b/public/-/emojis/3/tropical_fish.png
new file mode 100644
index 00000000000..d45b9c27f09
--- /dev/null
+++ b/public/-/emojis/3/tropical_fish.png
Binary files differ
diff --git a/public/-/emojis/3/truck.png b/public/-/emojis/3/truck.png
new file mode 100644
index 00000000000..ebd86859411
--- /dev/null
+++ b/public/-/emojis/3/truck.png
Binary files differ
diff --git a/public/-/emojis/3/trumpet.png b/public/-/emojis/3/trumpet.png
new file mode 100644
index 00000000000..c3d1f597f99
--- /dev/null
+++ b/public/-/emojis/3/trumpet.png
Binary files differ
diff --git a/public/-/emojis/3/tulip.png b/public/-/emojis/3/tulip.png
new file mode 100644
index 00000000000..8645096f26c
--- /dev/null
+++ b/public/-/emojis/3/tulip.png
Binary files differ
diff --git a/public/-/emojis/3/tumbler_glass.png b/public/-/emojis/3/tumbler_glass.png
new file mode 100644
index 00000000000..82d941552da
--- /dev/null
+++ b/public/-/emojis/3/tumbler_glass.png
Binary files differ
diff --git a/public/-/emojis/3/turkey.png b/public/-/emojis/3/turkey.png
new file mode 100644
index 00000000000..9de58f0f129
--- /dev/null
+++ b/public/-/emojis/3/turkey.png
Binary files differ
diff --git a/public/-/emojis/3/turtle.png b/public/-/emojis/3/turtle.png
new file mode 100644
index 00000000000..c4b54451a92
--- /dev/null
+++ b/public/-/emojis/3/turtle.png
Binary files differ
diff --git a/public/-/emojis/3/tv.png b/public/-/emojis/3/tv.png
new file mode 100644
index 00000000000..3f07ce033de
--- /dev/null
+++ b/public/-/emojis/3/tv.png
Binary files differ
diff --git a/public/-/emojis/3/twisted_rightwards_arrows.png b/public/-/emojis/3/twisted_rightwards_arrows.png
new file mode 100644
index 00000000000..4fe9d76f52d
--- /dev/null
+++ b/public/-/emojis/3/twisted_rightwards_arrows.png
Binary files differ
diff --git a/public/-/emojis/3/two.png b/public/-/emojis/3/two.png
new file mode 100644
index 00000000000..1cce3c264ac
--- /dev/null
+++ b/public/-/emojis/3/two.png
Binary files differ
diff --git a/public/-/emojis/3/two_hearts.png b/public/-/emojis/3/two_hearts.png
new file mode 100644
index 00000000000..6208168d076
--- /dev/null
+++ b/public/-/emojis/3/two_hearts.png
Binary files differ
diff --git a/public/-/emojis/3/two_men_holding_hands.png b/public/-/emojis/3/two_men_holding_hands.png
new file mode 100644
index 00000000000..3cacda77c25
--- /dev/null
+++ b/public/-/emojis/3/two_men_holding_hands.png
Binary files differ
diff --git a/public/-/emojis/3/two_women_holding_hands.png b/public/-/emojis/3/two_women_holding_hands.png
new file mode 100644
index 00000000000..f141a967450
--- /dev/null
+++ b/public/-/emojis/3/two_women_holding_hands.png
Binary files differ
diff --git a/public/-/emojis/3/u5272.png b/public/-/emojis/3/u5272.png
new file mode 100644
index 00000000000..af2bdaf6f67
--- /dev/null
+++ b/public/-/emojis/3/u5272.png
Binary files differ
diff --git a/public/-/emojis/3/u5408.png b/public/-/emojis/3/u5408.png
new file mode 100644
index 00000000000..f5b45188612
--- /dev/null
+++ b/public/-/emojis/3/u5408.png
Binary files differ
diff --git a/public/-/emojis/3/u55b6.png b/public/-/emojis/3/u55b6.png
new file mode 100644
index 00000000000..3e092ffecc2
--- /dev/null
+++ b/public/-/emojis/3/u55b6.png
Binary files differ
diff --git a/public/-/emojis/3/u6307.png b/public/-/emojis/3/u6307.png
new file mode 100644
index 00000000000..2a0e7a8a65f
--- /dev/null
+++ b/public/-/emojis/3/u6307.png
Binary files differ
diff --git a/public/-/emojis/3/u6708.png b/public/-/emojis/3/u6708.png
new file mode 100644
index 00000000000..d039b4606f1
--- /dev/null
+++ b/public/-/emojis/3/u6708.png
Binary files differ
diff --git a/public/-/emojis/3/u6709.png b/public/-/emojis/3/u6709.png
new file mode 100644
index 00000000000..b789aab56f4
--- /dev/null
+++ b/public/-/emojis/3/u6709.png
Binary files differ
diff --git a/public/-/emojis/3/u6e80.png b/public/-/emojis/3/u6e80.png
new file mode 100644
index 00000000000..8289f0fec7f
--- /dev/null
+++ b/public/-/emojis/3/u6e80.png
Binary files differ
diff --git a/public/-/emojis/3/u7121.png b/public/-/emojis/3/u7121.png
new file mode 100644
index 00000000000..eb2c66415b3
--- /dev/null
+++ b/public/-/emojis/3/u7121.png
Binary files differ
diff --git a/public/-/emojis/3/u7533.png b/public/-/emojis/3/u7533.png
new file mode 100644
index 00000000000..5829da3fe8e
--- /dev/null
+++ b/public/-/emojis/3/u7533.png
Binary files differ
diff --git a/public/-/emojis/3/u7981.png b/public/-/emojis/3/u7981.png
new file mode 100644
index 00000000000..d455dab4329
--- /dev/null
+++ b/public/-/emojis/3/u7981.png
Binary files differ
diff --git a/public/-/emojis/3/u7a7a.png b/public/-/emojis/3/u7a7a.png
new file mode 100644
index 00000000000..1d3d13041d6
--- /dev/null
+++ b/public/-/emojis/3/u7a7a.png
Binary files differ
diff --git a/public/-/emojis/3/umbrella.png b/public/-/emojis/3/umbrella.png
new file mode 100644
index 00000000000..56a6e5eb923
--- /dev/null
+++ b/public/-/emojis/3/umbrella.png
Binary files differ
diff --git a/public/-/emojis/3/umbrella2.png b/public/-/emojis/3/umbrella2.png
new file mode 100644
index 00000000000..7ce97ac53df
--- /dev/null
+++ b/public/-/emojis/3/umbrella2.png
Binary files differ
diff --git a/public/-/emojis/3/unamused.png b/public/-/emojis/3/unamused.png
new file mode 100644
index 00000000000..0e4cc248916
--- /dev/null
+++ b/public/-/emojis/3/unamused.png
Binary files differ
diff --git a/public/-/emojis/3/underage.png b/public/-/emojis/3/underage.png
new file mode 100644
index 00000000000..9921bd26260
--- /dev/null
+++ b/public/-/emojis/3/underage.png
Binary files differ
diff --git a/public/-/emojis/3/unicorn.png b/public/-/emojis/3/unicorn.png
new file mode 100644
index 00000000000..d37e6849fa3
--- /dev/null
+++ b/public/-/emojis/3/unicorn.png
Binary files differ
diff --git a/public/-/emojis/3/unlock.png b/public/-/emojis/3/unlock.png
new file mode 100644
index 00000000000..a6c556e31d2
--- /dev/null
+++ b/public/-/emojis/3/unlock.png
Binary files differ
diff --git a/public/-/emojis/3/up.png b/public/-/emojis/3/up.png
new file mode 100644
index 00000000000..4f72637fcaf
--- /dev/null
+++ b/public/-/emojis/3/up.png
Binary files differ
diff --git a/public/-/emojis/3/upside_down.png b/public/-/emojis/3/upside_down.png
new file mode 100644
index 00000000000..c993b35aa95
--- /dev/null
+++ b/public/-/emojis/3/upside_down.png
Binary files differ
diff --git a/public/-/emojis/3/urn.png b/public/-/emojis/3/urn.png
new file mode 100644
index 00000000000..340954510da
--- /dev/null
+++ b/public/-/emojis/3/urn.png
Binary files differ
diff --git a/public/-/emojis/3/v.png b/public/-/emojis/3/v.png
new file mode 100644
index 00000000000..55b99f99a95
--- /dev/null
+++ b/public/-/emojis/3/v.png
Binary files differ
diff --git a/public/-/emojis/3/v_tone1.png b/public/-/emojis/3/v_tone1.png
new file mode 100644
index 00000000000..f05ddd7132e
--- /dev/null
+++ b/public/-/emojis/3/v_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/v_tone2.png b/public/-/emojis/3/v_tone2.png
new file mode 100644
index 00000000000..3dc8e215ec6
--- /dev/null
+++ b/public/-/emojis/3/v_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/v_tone3.png b/public/-/emojis/3/v_tone3.png
new file mode 100644
index 00000000000..ac5033f39f1
--- /dev/null
+++ b/public/-/emojis/3/v_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/v_tone4.png b/public/-/emojis/3/v_tone4.png
new file mode 100644
index 00000000000..495c1a2c84b
--- /dev/null
+++ b/public/-/emojis/3/v_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/v_tone5.png b/public/-/emojis/3/v_tone5.png
new file mode 100644
index 00000000000..581e075bf78
--- /dev/null
+++ b/public/-/emojis/3/v_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/vertical_traffic_light.png b/public/-/emojis/3/vertical_traffic_light.png
new file mode 100644
index 00000000000..fc3148c2ab8
--- /dev/null
+++ b/public/-/emojis/3/vertical_traffic_light.png
Binary files differ
diff --git a/public/-/emojis/3/vhs.png b/public/-/emojis/3/vhs.png
new file mode 100644
index 00000000000..11c6e63b4a3
--- /dev/null
+++ b/public/-/emojis/3/vhs.png
Binary files differ
diff --git a/public/-/emojis/3/vibration_mode.png b/public/-/emojis/3/vibration_mode.png
new file mode 100644
index 00000000000..fe2699ba676
--- /dev/null
+++ b/public/-/emojis/3/vibration_mode.png
Binary files differ
diff --git a/public/-/emojis/3/video_camera.png b/public/-/emojis/3/video_camera.png
new file mode 100644
index 00000000000..89d9725d50e
--- /dev/null
+++ b/public/-/emojis/3/video_camera.png
Binary files differ
diff --git a/public/-/emojis/3/video_game.png b/public/-/emojis/3/video_game.png
new file mode 100644
index 00000000000..552c18f8ca5
--- /dev/null
+++ b/public/-/emojis/3/video_game.png
Binary files differ
diff --git a/public/-/emojis/3/violin.png b/public/-/emojis/3/violin.png
new file mode 100644
index 00000000000..578d1c7b2b9
--- /dev/null
+++ b/public/-/emojis/3/violin.png
Binary files differ
diff --git a/public/-/emojis/3/virgo.png b/public/-/emojis/3/virgo.png
new file mode 100644
index 00000000000..2e7254a45e7
--- /dev/null
+++ b/public/-/emojis/3/virgo.png
Binary files differ
diff --git a/public/-/emojis/3/volcano.png b/public/-/emojis/3/volcano.png
new file mode 100644
index 00000000000..bc210edcb1c
--- /dev/null
+++ b/public/-/emojis/3/volcano.png
Binary files differ
diff --git a/public/-/emojis/3/volleyball.png b/public/-/emojis/3/volleyball.png
new file mode 100644
index 00000000000..8eeef790dcc
--- /dev/null
+++ b/public/-/emojis/3/volleyball.png
Binary files differ
diff --git a/public/-/emojis/3/vs.png b/public/-/emojis/3/vs.png
new file mode 100644
index 00000000000..c55dba709a0
--- /dev/null
+++ b/public/-/emojis/3/vs.png
Binary files differ
diff --git a/public/-/emojis/3/vulcan.png b/public/-/emojis/3/vulcan.png
new file mode 100644
index 00000000000..91bedcdb15a
--- /dev/null
+++ b/public/-/emojis/3/vulcan.png
Binary files differ
diff --git a/public/-/emojis/3/vulcan_tone1.png b/public/-/emojis/3/vulcan_tone1.png
new file mode 100644
index 00000000000..ec1fa548399
--- /dev/null
+++ b/public/-/emojis/3/vulcan_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/vulcan_tone2.png b/public/-/emojis/3/vulcan_tone2.png
new file mode 100644
index 00000000000..85c89abfb4e
--- /dev/null
+++ b/public/-/emojis/3/vulcan_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/vulcan_tone3.png b/public/-/emojis/3/vulcan_tone3.png
new file mode 100644
index 00000000000..b0dde6562b8
--- /dev/null
+++ b/public/-/emojis/3/vulcan_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/vulcan_tone4.png b/public/-/emojis/3/vulcan_tone4.png
new file mode 100644
index 00000000000..b1c7ff8f608
--- /dev/null
+++ b/public/-/emojis/3/vulcan_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/vulcan_tone5.png b/public/-/emojis/3/vulcan_tone5.png
new file mode 100644
index 00000000000..6d80c03bd82
--- /dev/null
+++ b/public/-/emojis/3/vulcan_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/walking.png b/public/-/emojis/3/walking.png
new file mode 100644
index 00000000000..d682c0a05b0
--- /dev/null
+++ b/public/-/emojis/3/walking.png
Binary files differ
diff --git a/public/-/emojis/3/walking_tone1.png b/public/-/emojis/3/walking_tone1.png
new file mode 100644
index 00000000000..0012e8bf9be
--- /dev/null
+++ b/public/-/emojis/3/walking_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/walking_tone2.png b/public/-/emojis/3/walking_tone2.png
new file mode 100644
index 00000000000..6e4315de104
--- /dev/null
+++ b/public/-/emojis/3/walking_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/walking_tone3.png b/public/-/emojis/3/walking_tone3.png
new file mode 100644
index 00000000000..23db8941f74
--- /dev/null
+++ b/public/-/emojis/3/walking_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/walking_tone4.png b/public/-/emojis/3/walking_tone4.png
new file mode 100644
index 00000000000..09ed954c93b
--- /dev/null
+++ b/public/-/emojis/3/walking_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/walking_tone5.png b/public/-/emojis/3/walking_tone5.png
new file mode 100644
index 00000000000..c4d8d3b5ef4
--- /dev/null
+++ b/public/-/emojis/3/walking_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/waning_crescent_moon.png b/public/-/emojis/3/waning_crescent_moon.png
new file mode 100644
index 00000000000..7b8237edbb3
--- /dev/null
+++ b/public/-/emojis/3/waning_crescent_moon.png
Binary files differ
diff --git a/public/-/emojis/3/waning_gibbous_moon.png b/public/-/emojis/3/waning_gibbous_moon.png
new file mode 100644
index 00000000000..59b7f2cb950
--- /dev/null
+++ b/public/-/emojis/3/waning_gibbous_moon.png
Binary files differ
diff --git a/public/-/emojis/3/warning.png b/public/-/emojis/3/warning.png
new file mode 100644
index 00000000000..57784fe8def
--- /dev/null
+++ b/public/-/emojis/3/warning.png
Binary files differ
diff --git a/public/-/emojis/3/wastebasket.png b/public/-/emojis/3/wastebasket.png
new file mode 100644
index 00000000000..cd8057de563
--- /dev/null
+++ b/public/-/emojis/3/wastebasket.png
Binary files differ
diff --git a/public/-/emojis/3/watch.png b/public/-/emojis/3/watch.png
new file mode 100644
index 00000000000..e11a17bb054
--- /dev/null
+++ b/public/-/emojis/3/watch.png
Binary files differ
diff --git a/public/-/emojis/3/water_buffalo.png b/public/-/emojis/3/water_buffalo.png
new file mode 100644
index 00000000000..bd32406dae1
--- /dev/null
+++ b/public/-/emojis/3/water_buffalo.png
Binary files differ
diff --git a/public/-/emojis/3/water_polo.png b/public/-/emojis/3/water_polo.png
new file mode 100644
index 00000000000..90206e62917
--- /dev/null
+++ b/public/-/emojis/3/water_polo.png
Binary files differ
diff --git a/public/-/emojis/3/water_polo_tone1.png b/public/-/emojis/3/water_polo_tone1.png
new file mode 100644
index 00000000000..f463506ac69
--- /dev/null
+++ b/public/-/emojis/3/water_polo_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/water_polo_tone2.png b/public/-/emojis/3/water_polo_tone2.png
new file mode 100644
index 00000000000..a02eaaa6b3f
--- /dev/null
+++ b/public/-/emojis/3/water_polo_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/water_polo_tone3.png b/public/-/emojis/3/water_polo_tone3.png
new file mode 100644
index 00000000000..f4f80b9946c
--- /dev/null
+++ b/public/-/emojis/3/water_polo_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/water_polo_tone4.png b/public/-/emojis/3/water_polo_tone4.png
new file mode 100644
index 00000000000..260b27791c2
--- /dev/null
+++ b/public/-/emojis/3/water_polo_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/water_polo_tone5.png b/public/-/emojis/3/water_polo_tone5.png
new file mode 100644
index 00000000000..73cb325ba51
--- /dev/null
+++ b/public/-/emojis/3/water_polo_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/watermelon.png b/public/-/emojis/3/watermelon.png
new file mode 100644
index 00000000000..93448a8f2c4
--- /dev/null
+++ b/public/-/emojis/3/watermelon.png
Binary files differ
diff --git a/public/-/emojis/3/wave.png b/public/-/emojis/3/wave.png
new file mode 100644
index 00000000000..3161c2a6faf
--- /dev/null
+++ b/public/-/emojis/3/wave.png
Binary files differ
diff --git a/public/-/emojis/3/wave_tone1.png b/public/-/emojis/3/wave_tone1.png
new file mode 100644
index 00000000000..a45cc13862c
--- /dev/null
+++ b/public/-/emojis/3/wave_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/wave_tone2.png b/public/-/emojis/3/wave_tone2.png
new file mode 100644
index 00000000000..af3f1ae0e4a
--- /dev/null
+++ b/public/-/emojis/3/wave_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/wave_tone3.png b/public/-/emojis/3/wave_tone3.png
new file mode 100644
index 00000000000..7d1f9c475cc
--- /dev/null
+++ b/public/-/emojis/3/wave_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/wave_tone4.png b/public/-/emojis/3/wave_tone4.png
new file mode 100644
index 00000000000..c4e29a1ea8d
--- /dev/null
+++ b/public/-/emojis/3/wave_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/wave_tone5.png b/public/-/emojis/3/wave_tone5.png
new file mode 100644
index 00000000000..91925afcb28
--- /dev/null
+++ b/public/-/emojis/3/wave_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/wavy_dash.png b/public/-/emojis/3/wavy_dash.png
new file mode 100644
index 00000000000..54b7c2eff3f
--- /dev/null
+++ b/public/-/emojis/3/wavy_dash.png
Binary files differ
diff --git a/public/-/emojis/3/waxing_crescent_moon.png b/public/-/emojis/3/waxing_crescent_moon.png
new file mode 100644
index 00000000000..ae26131838d
--- /dev/null
+++ b/public/-/emojis/3/waxing_crescent_moon.png
Binary files differ
diff --git a/public/-/emojis/3/waxing_gibbous_moon.png b/public/-/emojis/3/waxing_gibbous_moon.png
new file mode 100644
index 00000000000..3c50dd6b778
--- /dev/null
+++ b/public/-/emojis/3/waxing_gibbous_moon.png
Binary files differ
diff --git a/public/-/emojis/3/wc.png b/public/-/emojis/3/wc.png
new file mode 100644
index 00000000000..be3d80ab1ac
--- /dev/null
+++ b/public/-/emojis/3/wc.png
Binary files differ
diff --git a/public/-/emojis/3/weary.png b/public/-/emojis/3/weary.png
new file mode 100644
index 00000000000..1492622b838
--- /dev/null
+++ b/public/-/emojis/3/weary.png
Binary files differ
diff --git a/public/-/emojis/3/wedding.png b/public/-/emojis/3/wedding.png
new file mode 100644
index 00000000000..ac86a232e67
--- /dev/null
+++ b/public/-/emojis/3/wedding.png
Binary files differ
diff --git a/public/-/emojis/3/whale.png b/public/-/emojis/3/whale.png
new file mode 100644
index 00000000000..d6326af1a15
--- /dev/null
+++ b/public/-/emojis/3/whale.png
Binary files differ
diff --git a/public/-/emojis/3/whale2.png b/public/-/emojis/3/whale2.png
new file mode 100644
index 00000000000..7b586e17b52
--- /dev/null
+++ b/public/-/emojis/3/whale2.png
Binary files differ
diff --git a/public/-/emojis/3/wheel_of_dharma.png b/public/-/emojis/3/wheel_of_dharma.png
new file mode 100644
index 00000000000..3fff7c63b61
--- /dev/null
+++ b/public/-/emojis/3/wheel_of_dharma.png
Binary files differ
diff --git a/public/-/emojis/3/wheelchair.png b/public/-/emojis/3/wheelchair.png
new file mode 100644
index 00000000000..260c05e88bd
--- /dev/null
+++ b/public/-/emojis/3/wheelchair.png
Binary files differ
diff --git a/public/-/emojis/3/white_check_mark.png b/public/-/emojis/3/white_check_mark.png
new file mode 100644
index 00000000000..82035d48bc0
--- /dev/null
+++ b/public/-/emojis/3/white_check_mark.png
Binary files differ
diff --git a/public/-/emojis/3/white_circle.png b/public/-/emojis/3/white_circle.png
new file mode 100644
index 00000000000..e5aa5bb4e70
--- /dev/null
+++ b/public/-/emojis/3/white_circle.png
Binary files differ
diff --git a/public/-/emojis/3/white_flower.png b/public/-/emojis/3/white_flower.png
new file mode 100644
index 00000000000..e165fe1910a
--- /dev/null
+++ b/public/-/emojis/3/white_flower.png
Binary files differ
diff --git a/public/-/emojis/3/white_large_square.png b/public/-/emojis/3/white_large_square.png
new file mode 100644
index 00000000000..2e216c74f19
--- /dev/null
+++ b/public/-/emojis/3/white_large_square.png
Binary files differ
diff --git a/public/-/emojis/3/white_medium_small_square.png b/public/-/emojis/3/white_medium_small_square.png
new file mode 100644
index 00000000000..eb79781b466
--- /dev/null
+++ b/public/-/emojis/3/white_medium_small_square.png
Binary files differ
diff --git a/public/-/emojis/3/white_medium_square.png b/public/-/emojis/3/white_medium_square.png
new file mode 100644
index 00000000000..6b7c6585b32
--- /dev/null
+++ b/public/-/emojis/3/white_medium_square.png
Binary files differ
diff --git a/public/-/emojis/3/white_small_square.png b/public/-/emojis/3/white_small_square.png
new file mode 100644
index 00000000000..09f2f1d1bbf
--- /dev/null
+++ b/public/-/emojis/3/white_small_square.png
Binary files differ
diff --git a/public/-/emojis/3/white_square_button.png b/public/-/emojis/3/white_square_button.png
new file mode 100644
index 00000000000..1eb1af7a77b
--- /dev/null
+++ b/public/-/emojis/3/white_square_button.png
Binary files differ
diff --git a/public/-/emojis/3/white_sun_cloud.png b/public/-/emojis/3/white_sun_cloud.png
new file mode 100644
index 00000000000..a6982814fa4
--- /dev/null
+++ b/public/-/emojis/3/white_sun_cloud.png
Binary files differ
diff --git a/public/-/emojis/3/white_sun_rain_cloud.png b/public/-/emojis/3/white_sun_rain_cloud.png
new file mode 100644
index 00000000000..a4b13e900a4
--- /dev/null
+++ b/public/-/emojis/3/white_sun_rain_cloud.png
Binary files differ
diff --git a/public/-/emojis/3/white_sun_small_cloud.png b/public/-/emojis/3/white_sun_small_cloud.png
new file mode 100644
index 00000000000..6c00833eb19
--- /dev/null
+++ b/public/-/emojis/3/white_sun_small_cloud.png
Binary files differ
diff --git a/public/-/emojis/3/wilted_rose.png b/public/-/emojis/3/wilted_rose.png
new file mode 100644
index 00000000000..03919a12094
--- /dev/null
+++ b/public/-/emojis/3/wilted_rose.png
Binary files differ
diff --git a/public/-/emojis/3/wind_blowing_face.png b/public/-/emojis/3/wind_blowing_face.png
new file mode 100644
index 00000000000..32e658bcbec
--- /dev/null
+++ b/public/-/emojis/3/wind_blowing_face.png
Binary files differ
diff --git a/public/-/emojis/3/wind_chime.png b/public/-/emojis/3/wind_chime.png
new file mode 100644
index 00000000000..5f5add3cba5
--- /dev/null
+++ b/public/-/emojis/3/wind_chime.png
Binary files differ
diff --git a/public/-/emojis/3/wine_glass.png b/public/-/emojis/3/wine_glass.png
new file mode 100644
index 00000000000..63c94e0cf6c
--- /dev/null
+++ b/public/-/emojis/3/wine_glass.png
Binary files differ
diff --git a/public/-/emojis/3/wink.png b/public/-/emojis/3/wink.png
new file mode 100644
index 00000000000..c605d9c2c78
--- /dev/null
+++ b/public/-/emojis/3/wink.png
Binary files differ
diff --git a/public/-/emojis/3/wolf.png b/public/-/emojis/3/wolf.png
new file mode 100644
index 00000000000..b5b06c27786
--- /dev/null
+++ b/public/-/emojis/3/wolf.png
Binary files differ
diff --git a/public/-/emojis/3/woman.png b/public/-/emojis/3/woman.png
new file mode 100644
index 00000000000..75533da530f
--- /dev/null
+++ b/public/-/emojis/3/woman.png
Binary files differ
diff --git a/public/-/emojis/3/woman_tone1.png b/public/-/emojis/3/woman_tone1.png
new file mode 100644
index 00000000000..a41f4f2f555
--- /dev/null
+++ b/public/-/emojis/3/woman_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/woman_tone2.png b/public/-/emojis/3/woman_tone2.png
new file mode 100644
index 00000000000..6ec6de75016
--- /dev/null
+++ b/public/-/emojis/3/woman_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/woman_tone3.png b/public/-/emojis/3/woman_tone3.png
new file mode 100644
index 00000000000..9c08adebd65
--- /dev/null
+++ b/public/-/emojis/3/woman_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/woman_tone4.png b/public/-/emojis/3/woman_tone4.png
new file mode 100644
index 00000000000..88cbdbc798a
--- /dev/null
+++ b/public/-/emojis/3/woman_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/woman_tone5.png b/public/-/emojis/3/woman_tone5.png
new file mode 100644
index 00000000000..b02ec4b4af1
--- /dev/null
+++ b/public/-/emojis/3/woman_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/womans_clothes.png b/public/-/emojis/3/womans_clothes.png
new file mode 100644
index 00000000000..86f89f19f37
--- /dev/null
+++ b/public/-/emojis/3/womans_clothes.png
Binary files differ
diff --git a/public/-/emojis/3/womans_hat.png b/public/-/emojis/3/womans_hat.png
new file mode 100644
index 00000000000..b69fcad7e49
--- /dev/null
+++ b/public/-/emojis/3/womans_hat.png
Binary files differ
diff --git a/public/-/emojis/3/womens.png b/public/-/emojis/3/womens.png
new file mode 100644
index 00000000000..ea38f1a854d
--- /dev/null
+++ b/public/-/emojis/3/womens.png
Binary files differ
diff --git a/public/-/emojis/3/worried.png b/public/-/emojis/3/worried.png
new file mode 100644
index 00000000000..b85910fb297
--- /dev/null
+++ b/public/-/emojis/3/worried.png
Binary files differ
diff --git a/public/-/emojis/3/wrench.png b/public/-/emojis/3/wrench.png
new file mode 100644
index 00000000000..feff25c2113
--- /dev/null
+++ b/public/-/emojis/3/wrench.png
Binary files differ
diff --git a/public/-/emojis/3/wrestlers.png b/public/-/emojis/3/wrestlers.png
new file mode 100644
index 00000000000..58175c6ecbe
--- /dev/null
+++ b/public/-/emojis/3/wrestlers.png
Binary files differ
diff --git a/public/-/emojis/3/wrestlers_tone1.png b/public/-/emojis/3/wrestlers_tone1.png
new file mode 100644
index 00000000000..55c8bb3fcc2
--- /dev/null
+++ b/public/-/emojis/3/wrestlers_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/wrestlers_tone2.png b/public/-/emojis/3/wrestlers_tone2.png
new file mode 100644
index 00000000000..2ae6989956d
--- /dev/null
+++ b/public/-/emojis/3/wrestlers_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/wrestlers_tone3.png b/public/-/emojis/3/wrestlers_tone3.png
new file mode 100644
index 00000000000..bff6020b931
--- /dev/null
+++ b/public/-/emojis/3/wrestlers_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/wrestlers_tone4.png b/public/-/emojis/3/wrestlers_tone4.png
new file mode 100644
index 00000000000..d09cf19262b
--- /dev/null
+++ b/public/-/emojis/3/wrestlers_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/wrestlers_tone5.png b/public/-/emojis/3/wrestlers_tone5.png
new file mode 100644
index 00000000000..0850e7d1e42
--- /dev/null
+++ b/public/-/emojis/3/wrestlers_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/writing_hand.png b/public/-/emojis/3/writing_hand.png
new file mode 100644
index 00000000000..9a2691a0dc4
--- /dev/null
+++ b/public/-/emojis/3/writing_hand.png
Binary files differ
diff --git a/public/-/emojis/3/writing_hand_tone1.png b/public/-/emojis/3/writing_hand_tone1.png
new file mode 100644
index 00000000000..bf821143858
--- /dev/null
+++ b/public/-/emojis/3/writing_hand_tone1.png
Binary files differ
diff --git a/public/-/emojis/3/writing_hand_tone2.png b/public/-/emojis/3/writing_hand_tone2.png
new file mode 100644
index 00000000000..c7fa4523983
--- /dev/null
+++ b/public/-/emojis/3/writing_hand_tone2.png
Binary files differ
diff --git a/public/-/emojis/3/writing_hand_tone3.png b/public/-/emojis/3/writing_hand_tone3.png
new file mode 100644
index 00000000000..c41e68bd2bc
--- /dev/null
+++ b/public/-/emojis/3/writing_hand_tone3.png
Binary files differ
diff --git a/public/-/emojis/3/writing_hand_tone4.png b/public/-/emojis/3/writing_hand_tone4.png
new file mode 100644
index 00000000000..448d3507e9c
--- /dev/null
+++ b/public/-/emojis/3/writing_hand_tone4.png
Binary files differ
diff --git a/public/-/emojis/3/writing_hand_tone5.png b/public/-/emojis/3/writing_hand_tone5.png
new file mode 100644
index 00000000000..7959873d60d
--- /dev/null
+++ b/public/-/emojis/3/writing_hand_tone5.png
Binary files differ
diff --git a/public/-/emojis/3/x.png b/public/-/emojis/3/x.png
new file mode 100644
index 00000000000..9406c87c5f0
--- /dev/null
+++ b/public/-/emojis/3/x.png
Binary files differ
diff --git a/public/-/emojis/3/yellow_heart.png b/public/-/emojis/3/yellow_heart.png
new file mode 100644
index 00000000000..8067e9413e8
--- /dev/null
+++ b/public/-/emojis/3/yellow_heart.png
Binary files differ
diff --git a/public/-/emojis/3/yen.png b/public/-/emojis/3/yen.png
new file mode 100644
index 00000000000..72258005f08
--- /dev/null
+++ b/public/-/emojis/3/yen.png
Binary files differ
diff --git a/public/-/emojis/3/yin_yang.png b/public/-/emojis/3/yin_yang.png
new file mode 100644
index 00000000000..35ae33c4326
--- /dev/null
+++ b/public/-/emojis/3/yin_yang.png
Binary files differ
diff --git a/public/-/emojis/3/yum.png b/public/-/emojis/3/yum.png
new file mode 100644
index 00000000000..ead526319f4
--- /dev/null
+++ b/public/-/emojis/3/yum.png
Binary files differ
diff --git a/public/-/emojis/3/zap.png b/public/-/emojis/3/zap.png
new file mode 100644
index 00000000000..7271a50bcba
--- /dev/null
+++ b/public/-/emojis/3/zap.png
Binary files differ
diff --git a/public/-/emojis/3/zero.png b/public/-/emojis/3/zero.png
new file mode 100644
index 00000000000..db3f638a02c
--- /dev/null
+++ b/public/-/emojis/3/zero.png
Binary files differ
diff --git a/public/-/emojis/3/zipper_mouth.png b/public/-/emojis/3/zipper_mouth.png
new file mode 100644
index 00000000000..58915b98f57
--- /dev/null
+++ b/public/-/emojis/3/zipper_mouth.png
Binary files differ
diff --git a/public/-/emojis/3/zzz.png b/public/-/emojis/3/zzz.png
new file mode 100644
index 00000000000..4b146f52bde
--- /dev/null
+++ b/public/-/emojis/3/zzz.png
Binary files differ
diff --git a/qa/qa/flow/login.rb b/qa/qa/flow/login.rb
index 2702b52f2ef..807419983bc 100644
--- a/qa/qa/flow/login.rb
+++ b/qa/qa/flow/login.rb
@@ -19,13 +19,9 @@ module QA
end
def sign_in(as: nil, address: :gitlab, skip_page_validation: false, admin: false)
- Page::Main::Login.perform { |p| p.redirect_to_login_page(address) }
-
- if !Page::Main::Login.perform(&:on_login_page?) && Page::Main::Menu.perform(&:signed_in?)
- Page::Main::Menu.perform(&:sign_out)
- end
-
Page::Main::Login.perform do |login|
+ login.redirect_to_login_page(address)
+
if admin
login.sign_in_using_admin_credentials
else
diff --git a/qa/qa/page/component/ci_badge_link.rb b/qa/qa/page/component/ci_icon.rb
index d0a40b4bfbe..1ddcc810f95 100644
--- a/qa/qa/page/component/ci_badge_link.rb
+++ b/qa/qa/page/component/ci_icon.rb
@@ -3,10 +3,12 @@
module QA
module Page
module Component
- module CiBadgeLink
+ module CiIcon
extend QA::Page::PageConcern
+ # rubocop:disable Layout/LineLength
COMPLETED_STATUSES = %w[Passed Failed Canceled Blocked Skipped Manual].freeze # excludes Created, Pending, Running
+ # rubocop:enable Layout/LineLength
INCOMPLETE_STATUSES = %w[Pending Created Running].freeze
# e.g. def passed?(timeout: nil); status_badge == 'Passed'; end
@@ -31,14 +33,14 @@ module QA
def self.included(base)
super
- base.view 'app/assets/javascripts/vue_shared/components/ci_badge_link.vue' do
- element 'ci-badge-text'
+ base.view 'app/assets/javascripts/vue_shared/components/ci_icon.vue' do
+ element 'ci-icon-text'
end
end
def status_badge
# There are more than 1 on job details page
- all_elements('ci-badge-text', minimum: 1).first.text
+ all_elements('ci-icon-text', minimum: 1).first.text
end
def completed?(timeout: 60)
diff --git a/qa/qa/page/project/job/show.rb b/qa/qa/page/project/job/show.rb
index a1ad3a50be7..1d253a62ceb 100644
--- a/qa/qa/page/project/job/show.rb
+++ b/qa/qa/page/project/job/show.rb
@@ -5,7 +5,7 @@ module QA
module Project
module Job
class Show < QA::Page::Base
- include Component::CiBadgeLink
+ include Component::CiIcon
view 'app/assets/javascripts/ci/job_details/components/log/log.vue' do
element 'job-log-content'
diff --git a/qa/qa/page/project/pipeline/index.rb b/qa/qa/page/project/pipeline/index.rb
index 5a050eaa8bb..bd5d934cc50 100644
--- a/qa/qa/page/project/pipeline/index.rb
+++ b/qa/qa/page/project/pipeline/index.rb
@@ -5,7 +5,7 @@ module QA
module Project
module Pipeline
class Index < QA::Page::Base
- include Component::CiBadgeLink
+ include Component::CiIcon
view 'app/assets/javascripts/ci/pipelines_page/components/pipeline_url.vue' do
element 'pipeline-url-link'
@@ -25,7 +25,7 @@ module QA
def latest_pipeline_status
within(latest_pipeline) do
- find_element('ci-badge-text')
+ find_element('ci-icon-text')
end.text
end
diff --git a/qa/qa/page/project/pipeline/show.rb b/qa/qa/page/project/pipeline/show.rb
index 0caf373fffd..16b931c1a56 100644
--- a/qa/qa/page/project/pipeline/show.rb
+++ b/qa/qa/page/project/pipeline/show.rb
@@ -5,7 +5,7 @@ module QA
module Project
module Pipeline
class Show < QA::Page::Base
- include Component::CiBadgeLink
+ include Component::CiIcon
view 'app/assets/javascripts/ci/pipeline_details/header/pipeline_details_header.vue' do
element 'pipeline-details-header', required: true
diff --git a/spec/controllers/admin/application_settings_controller_spec.rb b/spec/controllers/admin/application_settings_controller_spec.rb
index 60343c822af..8dbdd8db99b 100644
--- a/spec/controllers/admin/application_settings_controller_spec.rb
+++ b/spec/controllers/admin/application_settings_controller_spec.rb
@@ -66,51 +66,69 @@ RSpec.describe Admin::ApplicationSettingsController, :do_not_mock_admin_mode_set
sign_in(admin)
end
+ context 'when there are NO recent ServicePing reports' do
+ it 'return 404' do
+ get :usage_data, format: :json
+
+ expect(response).to have_gitlab_http_status(:not_found)
+ end
+ end
+
context 'when there are recent ServicePing reports' do
- it 'attempts to use prerecorded data' do
+ before do
create(:raw_usage_data)
+ end
+ it 'does not trigger ServicePing generation' do
expect(Gitlab::Usage::ServicePingReport).not_to receive(:for)
get :usage_data, format: :json
end
- end
- context 'when there are NO recent ServicePing reports' do
- it 'calculates data on the fly' do
- allow(Gitlab::Usage::ServicePingReport).to receive(:for).and_call_original
+ it 'check cached data if present' do
+ expect(Rails.cache).to receive(:fetch).with(Gitlab::Usage::ServicePingReport::CACHE_KEY).and_return({ test: 1 })
+ expect(::RawUsageData).not_to receive(:for_current_reporting_cycle)
get :usage_data, format: :json
-
- expect(Gitlab::Usage::ServicePingReport).to have_received(:for)
end
- end
- it 'returns HTML data' do
- get :usage_data, format: :html
+ context 'if no cached data available' do
+ before do
+ allow(Rails.cache).to receive(:fetch).and_return(nil)
+ end
- expect(response.body).to start_with('<span')
- expect(response).to have_gitlab_http_status(:ok)
- end
+ it 'returns latest RawUsageData' do
+ expect(::RawUsageData).to receive_message_chain(:for_current_reporting_cycle, :first, :payload)
- it 'returns JSON data' do
- get :usage_data, format: :json
+ get :usage_data, format: :json
+ end
+ end
- body = json_response
- expect(body["version"]).to eq(Gitlab::VERSION)
- expect(body).to include('counts')
- expect(response).to have_gitlab_http_status(:ok)
- end
+ it 'returns HTML data' do
+ get :usage_data, format: :html
- describe 'usage data counter' do
- let(:counter) { Gitlab::UsageDataCounters::ServiceUsageDataCounter }
+ expect(response.body).to start_with('<span')
+ expect(response).to have_gitlab_http_status(:ok)
+ end
- it 'incremented when json generated' do
- expect { get :usage_data, format: :json }.to change { counter.read(:download_payload_click) }.by(1)
+ it 'returns JSON data' do
+ get :usage_data, format: :json
+
+ expect(json_response).to be_present
+ expect(json_response['test']).to include('test')
+ expect(response).to have_gitlab_http_status(:ok)
end
- it 'not incremented when html format requested' do
- expect { get :usage_data }.not_to change { counter.read(:download_payload_click) }
+ describe 'usage data counter' do
+ let(:counter) { Gitlab::UsageDataCounters::ServiceUsageDataCounter }
+
+ it 'incremented when json generated' do
+ expect { get :usage_data, format: :json }.to change { counter.read(:download_payload_click) }.by(1)
+ end
+
+ it 'not incremented when html format requested' do
+ expect { get :usage_data }.not_to change { counter.read(:download_payload_click) }
+ end
end
end
end
@@ -524,35 +542,37 @@ RSpec.describe Admin::ApplicationSettingsController, :do_not_mock_admin_mode_set
end
end
- describe 'GET #service_usage_data', feature_category: :service_ping do
+ describe 'GET #metrics_and_profiling', feature_category: :service_ping do
before do
stub_usage_data_connections
stub_database_flavor_check
sign_in(admin)
end
- it 'assigns truthy value if there are recent ServicePing reports in database' do
+ it 'assigns service_ping_data if there are recent ServicePing reports in database' do
create(:raw_usage_data)
- get :service_usage_data, format: :html
+ get :metrics_and_profiling, format: :html
- expect(assigns(:service_ping_data_present)).to be_truthy
+ expect(assigns(:service_ping_data)).to be_present
expect(response).to have_gitlab_http_status(:ok)
end
- it 'assigns truthy value if there are recent ServicePing reports in cache', :use_clean_rails_memory_store_caching do
- Rails.cache.write('usage_data', true)
+ it 'assigns service_ping_data if there are recent ServicePing reports in cache', :use_clean_rails_memory_store_caching do
+ create(:raw_usage_data)
+ cached_data = { testKey: "testValue" }
+ Rails.cache.write('usage_data', cached_data)
- get :service_usage_data, format: :html
+ get :metrics_and_profiling, format: :html
- expect(assigns(:service_ping_data_present)).to be_truthy
+ expect(assigns(:service_ping_data)).to eq(cached_data)
expect(response).to have_gitlab_http_status(:ok)
end
- it 'assigns falsey value if there are NO recent ServicePing reports' do
- get :service_usage_data, format: :html
+ it 'does not assign service_ping_data value if there are NO recent ServicePing reports' do
+ get :metrics_and_profiling, format: :html
- expect(assigns(:service_ping_data_present)).to be_falsey
+ expect(assigns(:service_ping_data)).not_to be_present
expect(response).to have_gitlab_http_status(:ok)
end
end
diff --git a/spec/features/admin/admin_jobs_spec.rb b/spec/features/admin/admin_jobs_spec.rb
index b125974532b..b3e21d02354 100644
--- a/spec/features/admin/admin_jobs_spec.rb
+++ b/spec/features/admin/admin_jobs_spec.rb
@@ -132,7 +132,7 @@ RSpec.describe 'Admin Jobs', :js, feature_category: :continuous_integration do
within_testid('jobs-table') do
expect(page).to have_selector('[data-testid="jobs-table-row"]', count: 1)
- expect(find_by_testid('ci-badge-text')).to have_content('Failed')
+ expect(find_by_testid('ci-icon-text')).to have_content('Failed')
end
end
end
diff --git a/spec/features/admin/admin_settings_spec.rb b/spec/features/admin/admin_settings_spec.rb
index 1b10ea81333..aae41cab21f 100644
--- a/spec/features/admin/admin_settings_spec.rb
+++ b/spec/features/admin/admin_settings_spec.rb
@@ -666,28 +666,47 @@ RSpec.describe 'Admin updates settings', feature_category: :shared do
expect(find_field('Allow access to members of the following group').value).to be_nil
end
- it 'loads togglable usage ping payload on click', :js do
- allow(Gitlab::Usage::ServicePingReport).to receive(:for).and_return({ uuid: '12345678', hostname: '127.0.0.1' })
+ context 'Service usage data', :with_license do
+ before do
+ stub_usage_data_connections
+ stub_database_flavor_check
+ end
- stub_usage_data_connections
- stub_database_flavor_check
+ context 'when service data cached' do
+ before_all do
+ create(:raw_usage_data)
+ end
- page.within('#js-usage-settings') do
- expected_payload_content = /(?=.*"uuid")(?=.*"hostname")/m
+ it 'loads usage ping payload on click', :js do
+ expected_payload_content = /(?=.*"test")/m
- expect(page).not_to have_content expected_payload_content
+ expect(page).not_to have_content expected_payload_content
- click_button('Preview payload')
+ click_button('Preview payload')
- wait_for_requests
+ wait_for_requests
+
+ expect(page).to have_button 'Hide payload'
+ expect(page).to have_content expected_payload_content
+ end
- expect(page).to have_selector '.js-service-ping-payload'
- expect(page).to have_button 'Hide payload'
- expect(page).to have_content expected_payload_content
+ it 'generates usage ping payload on button click', :js do
+ expect_next_instance_of(Admin::ApplicationSettingsController) do |instance|
+ expect(instance).to receive(:usage_data).and_call_original
+ end
+
+ click_button('Download payload')
+
+ wait_for_requests
+ end
+ end
- click_button('Hide payload')
+ context 'when service data not cached' do
+ it 'renders missing cache information' do
+ visit metrics_and_profiling_admin_application_settings_path
- expect(page).not_to have_content expected_payload_content
+ expect(page).to have_text('Service Ping payload not found in the application cache')
+ end
end
end
end
@@ -998,61 +1017,6 @@ RSpec.describe 'Admin updates settings', feature_category: :shared do
end
end
end
-
- context 'Service usage data page', :with_license do
- before do
- stub_usage_data_connections
- stub_database_flavor_check
- end
-
- context 'when service data cached', :use_clean_rails_memory_store_caching do
- let(:usage_data) { { uuid: "1111", hostname: "localhost", counts: { issue: 0 } }.deep_stringify_keys }
-
- before do
- # We are mocking Gitlab::Usage::ServicePingReport because this dataset generation
- # takes a very long time, and is not what we're testing in this context.
- #
- # See https://gitlab.com/gitlab-org/gitlab/-/issues/414929
- allow(Gitlab::UsageData).to receive(:data).and_return(usage_data)
- allow(Gitlab::Usage::ServicePingReport).to receive(:with_instrumentation_classes)
- .with(usage_data, :with_value).and_return(usage_data)
-
- visit usage_data_admin_application_settings_path
- visit service_usage_data_admin_application_settings_path
- end
-
- it 'loads usage ping payload on click', :js do
- expected_payload_content = /(?=.*"uuid")(?=.*"hostname")/m
-
- expect(page).not_to have_content expected_payload_content
-
- click_button('Preview payload')
-
- wait_for_requests
-
- expect(page).to have_button 'Hide payload'
- expect(page).to have_content expected_payload_content
- end
-
- it 'generates usage ping payload on button click', :js do
- expect_next_instance_of(Admin::ApplicationSettingsController) do |instance|
- expect(instance).to receive(:usage_data).and_call_original
- end
-
- click_button('Download payload')
-
- wait_for_requests
- end
- end
-
- context 'when service data not cached' do
- it 'renders missing cache information' do
- visit service_usage_data_admin_application_settings_path
-
- expect(page).to have_text('Service Ping payload not found in the application cache')
- end
- end
- end
end
context 'application setting :admin_mode is disabled' do
diff --git a/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb b/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb
index 69eb6b0dc17..5e683ddf7ba 100644
--- a/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb
+++ b/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb
@@ -86,7 +86,7 @@ RSpec.describe 'Merge request > User sees pipelines triggered by merge request',
it 'sees branch pipelines and detached merge request pipelines in correct order' do
page.within('.ci-table') do
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Created', count: 2)
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Created', count: 2)
expect(first('[data-testid="pipeline-url-link"]')).to have_content("##{detached_merge_request_pipeline.id}")
end
end
@@ -122,7 +122,7 @@ RSpec.describe 'Merge request > User sees pipelines triggered by merge request',
it 'sees branch pipelines and detached merge request pipelines in correct order' do
page.within('.ci-table') do
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Pending', count: 4)
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Pending', count: 4)
expect(all('[data-testid="pipeline-url-link"]')[0])
.to have_content("##{detached_merge_request_pipeline_2.id}")
@@ -220,7 +220,7 @@ RSpec.describe 'Merge request > User sees pipelines triggered by merge request',
it 'sees a branch pipeline in pipeline tab' do
page.within('.ci-table') do
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Created', count: 1)
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Created', count: 1)
expect(first('[data-testid="pipeline-url-link"]')).to have_content("##{push_pipeline.id}")
end
end
@@ -273,7 +273,7 @@ RSpec.describe 'Merge request > User sees pipelines triggered by merge request',
it 'sees branch pipelines and detached merge request pipelines in correct order' do
page.within('.ci-table') do
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Pending', count: 2)
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Pending', count: 2)
expect(first('[data-testid="pipeline-url-link"]')).to have_content("##{detached_merge_request_pipeline.id}")
end
end
@@ -289,7 +289,7 @@ RSpec.describe 'Merge request > User sees pipelines triggered by merge request',
it 'sees pipeline list in forked project' do
visit project_pipelines_path(forked_project)
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Pending', count: 2)
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Pending', count: 2)
end
context 'when a user updated a merge request from a forked project to the parent project' do
@@ -315,7 +315,7 @@ RSpec.describe 'Merge request > User sees pipelines triggered by merge request',
it 'sees branch pipelines and detached merge request pipelines in correct order' do
page.within('.ci-table') do
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Pending', count: 4)
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Pending', count: 4)
expect(all('[data-testid="pipeline-url-link"]')[0])
.to have_content("##{detached_merge_request_pipeline_2.id}")
@@ -358,7 +358,7 @@ RSpec.describe 'Merge request > User sees pipelines triggered by merge request',
it 'sees pipeline list in forked project' do
visit project_pipelines_path(forked_project)
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Pending', count: 4)
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Pending', count: 4)
end
end
diff --git a/spec/features/merge_request/user_sees_pipelines_spec.rb b/spec/features/merge_request/user_sees_pipelines_spec.rb
index a68b3c444fe..c21c9043f01 100644
--- a/spec/features/merge_request/user_sees_pipelines_spec.rb
+++ b/spec/features/merge_request/user_sees_pipelines_spec.rb
@@ -49,7 +49,7 @@ RSpec.describe 'Merge request > User sees pipelines', :js, feature_category: :co
wait_for_requests
page.within(find('[data-testid="pipeline-table-row"]', match: :first)) do
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Passed')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Passed')
expect(page).to have_content(pipeline.id)
expect(page).to have_content('API')
expect(page).to have_css('[data-testid="pipeline-mini-graph"]')
diff --git a/spec/features/projects/commit/user_sees_pipelines_tab_spec.rb b/spec/features/projects/commit/user_sees_pipelines_tab_spec.rb
index 00cb5474ea0..56a3a252f3e 100644
--- a/spec/features/projects/commit/user_sees_pipelines_tab_spec.rb
+++ b/spec/features/projects/commit/user_sees_pipelines_tab_spec.rb
@@ -36,7 +36,7 @@ RSpec.describe 'Commit > Pipelines tab', :js, feature_category: :source_code_man
wait_for_requests
page.within('[data-testid="pipeline-table-row"]') do
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Passed')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Passed')
expect(page).to have_content(pipeline.id)
expect(page).to have_content('API')
expect(page).to have_css('[data-testid="pipeline-mini-graph"]')
diff --git a/spec/features/projects/jobs/user_browses_jobs_spec.rb b/spec/features/projects/jobs/user_browses_jobs_spec.rb
index fc67d7dedcc..115b3dda5b2 100644
--- a/spec/features/projects/jobs/user_browses_jobs_spec.rb
+++ b/spec/features/projects/jobs/user_browses_jobs_spec.rb
@@ -72,7 +72,7 @@ RSpec.describe 'User browses jobs', feature_category: :groups_and_projects do
wait_for_requests
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Canceled')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Canceled')
expect(page).not_to have_selector('[data-testid="jobs-table-error-alert"]')
end
end
@@ -93,7 +93,7 @@ RSpec.describe 'User browses jobs', feature_category: :groups_and_projects do
wait_for_requests
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Pending')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Pending')
end
end
@@ -133,7 +133,7 @@ RSpec.describe 'User browses jobs', feature_category: :groups_and_projects do
wait_for_requests
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Pending')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Pending')
end
it 'unschedules a job successfully' do
@@ -141,7 +141,7 @@ RSpec.describe 'User browses jobs', feature_category: :groups_and_projects do
wait_for_requests
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Manual')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Manual')
end
end
diff --git a/spec/features/projects/jobs_spec.rb b/spec/features/projects/jobs_spec.rb
index 12ed2558712..050ed4e0e4c 100644
--- a/spec/features/projects/jobs_spec.rb
+++ b/spec/features/projects/jobs_spec.rb
@@ -66,7 +66,7 @@ RSpec.describe 'Jobs', :clean_gitlab_redis_shared_state, feature_category: :grou
wait_for_requests
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Passed')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Passed')
end
it 'shows commit`s data', :js do
diff --git a/spec/features/projects/pipelines/pipeline_spec.rb b/spec/features/projects/pipelines/pipeline_spec.rb
index f042a12884c..ae0b02dac07 100644
--- a/spec/features/projects/pipelines/pipeline_spec.rb
+++ b/spec/features/projects/pipelines/pipeline_spec.rb
@@ -224,7 +224,7 @@ RSpec.describe 'Pipeline', :js, feature_category: :continuous_integration do
expect(page).not_to have_content('Retry job')
within('[data-testid="pipeline-details-header"]') do
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Running')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Running')
end
end
end
@@ -278,7 +278,7 @@ RSpec.describe 'Pipeline', :js, feature_category: :continuous_integration do
expect(page).not_to have_content('Retry job')
within('[data-testid="pipeline-details-header"]') do
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Running')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Running')
end
end
@@ -312,7 +312,7 @@ RSpec.describe 'Pipeline', :js, feature_category: :continuous_integration do
expect(page).not_to have_content('Play job')
within('[data-testid="pipeline-details-header"]') do
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Running')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Running')
end
end
end
@@ -537,7 +537,7 @@ RSpec.describe 'Pipeline', :js, feature_category: :continuous_integration do
it 'shows running status in pipeline header', :sidekiq_might_not_need_inline do
within('[data-testid="pipeline-details-header"]') do
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Running')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Running')
end
end
end
@@ -900,7 +900,7 @@ RSpec.describe 'Pipeline', :js, feature_category: :continuous_integration do
subject
within('[data-testid="pipeline-details-header"]') do
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Pending')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Pending')
end
within('.js-pipeline-graph') do
@@ -925,7 +925,7 @@ RSpec.describe 'Pipeline', :js, feature_category: :continuous_integration do
subject
within('[data-testid="pipeline-details-header"]') do
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Running')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Running')
end
within('.js-pipeline-graph') do
@@ -954,7 +954,7 @@ RSpec.describe 'Pipeline', :js, feature_category: :continuous_integration do
subject
within('[data-testid="pipeline-details-header"]') do
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Waiting')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Waiting')
end
within('.js-pipeline-graph') do
@@ -974,7 +974,7 @@ RSpec.describe 'Pipeline', :js, feature_category: :continuous_integration do
subject
within('[data-testid="pipeline-details-header"]') do
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Running')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Running')
end
within('.js-pipeline-graph') do
@@ -1002,7 +1002,7 @@ RSpec.describe 'Pipeline', :js, feature_category: :continuous_integration do
subject
within('[data-testid="pipeline-details-header"]') do
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Waiting')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Waiting')
end
within('.js-pipeline-graph') do
diff --git a/spec/features/projects/pipelines/pipelines_spec.rb b/spec/features/projects/pipelines/pipelines_spec.rb
index 73ff4222b02..be9e99be36f 100644
--- a/spec/features/projects/pipelines/pipelines_spec.rb
+++ b/spec/features/projects/pipelines/pipelines_spec.rb
@@ -115,7 +115,7 @@ RSpec.describe 'Pipelines', :js, feature_category: :continuous_integration do
it 'indicates that pipeline can be canceled' do
expect(page).to have_selector('.js-pipelines-cancel-button')
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Running')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Running')
end
context 'when canceling' do
@@ -127,7 +127,7 @@ RSpec.describe 'Pipelines', :js, feature_category: :continuous_integration do
it 'indicated that pipelines was canceled', :sidekiq_might_not_need_inline do
expect(page).not_to have_selector('.js-pipelines-cancel-button')
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Canceled')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Canceled')
end
end
end
@@ -144,7 +144,7 @@ RSpec.describe 'Pipelines', :js, feature_category: :continuous_integration do
it 'indicates that pipeline can be retried' do
expect(page).to have_selector('.js-pipelines-retry-button')
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Failed')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Failed')
end
context 'when retrying' do
@@ -155,7 +155,7 @@ RSpec.describe 'Pipelines', :js, feature_category: :continuous_integration do
it 'shows running pipeline that is not retryable' do
expect(page).not_to have_selector('.js-pipelines-retry-button')
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Running')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Running')
end
end
end
@@ -396,7 +396,7 @@ RSpec.describe 'Pipelines', :js, feature_category: :continuous_integration do
end
it 'shows the pipeline as preparing' do
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Preparing')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Preparing')
end
end
@@ -417,7 +417,7 @@ RSpec.describe 'Pipelines', :js, feature_category: :continuous_integration do
end
it 'has pipeline running' do
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Running')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Running')
end
context 'when canceling' do
@@ -428,7 +428,7 @@ RSpec.describe 'Pipelines', :js, feature_category: :continuous_integration do
it 'indicates that pipeline was canceled', :sidekiq_might_not_need_inline do
expect(page).not_to have_selector('.js-pipelines-cancel-button')
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Canceled')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Canceled')
end
end
end
@@ -450,7 +450,7 @@ RSpec.describe 'Pipelines', :js, feature_category: :continuous_integration do
end
it 'has failed pipeline', :sidekiq_might_not_need_inline do
- expect(page).to have_selector('[data-testid="ci-badge-link"]', text: 'Failed')
+ expect(page).to have_selector('[data-testid="ci-icon"]', text: 'Failed')
end
end
end
diff --git a/spec/frontend/analytics/shared/components/metric_tile_spec.js b/spec/frontend/analytics/shared/components/metric_tile_spec.js
index 9da5ed0fb07..262357a35e4 100644
--- a/spec/frontend/analytics/shared/components/metric_tile_spec.js
+++ b/spec/frontend/analytics/shared/components/metric_tile_spec.js
@@ -32,8 +32,7 @@ describe('MetricTile', () => {
};
wrapper = createComponent({ metric });
- const singleStat = findSingleStat();
- singleStat.vm.$emit('click');
+ findSingleStat().vm.$emit('click');
expect(redirectTo).toHaveBeenCalledWith('foo/bar'); // eslint-disable-line import/no-deprecated
});
@@ -41,27 +40,31 @@ describe('MetricTile', () => {
const metric = { identifier: 'deploys', value: '10', label: 'Deploys' };
wrapper = createComponent({ metric });
- const singleStat = findSingleStat();
- singleStat.vm.$emit('click');
+ findSingleStat().vm.$emit('click');
expect(redirectTo).not.toHaveBeenCalled(); // eslint-disable-line import/no-deprecated
});
});
- describe('decimal places', () => {
+ describe('number formatting', () => {
it(`will render 0 decimal places for an integer value`, () => {
const metric = { identifier: 'deploys', value: '10', label: 'Deploys' };
wrapper = createComponent({ metric });
- const singleStat = findSingleStat();
- expect(singleStat.props('animationDecimalPlaces')).toBe(0);
+ expect(findSingleStat().props('animationDecimalPlaces')).toBe(0);
});
it(`will render 1 decimal place for a float value`, () => {
const metric = { identifier: 'deploys', value: '10.5', label: 'Deploys' };
wrapper = createComponent({ metric });
- const singleStat = findSingleStat();
- expect(singleStat.props('animationDecimalPlaces')).toBe(1);
+ expect(findSingleStat().props('animationDecimalPlaces')).toBe(1);
+ });
+
+ it('will render using delimiters', () => {
+ const metric = { identifier: 'deploys', value: '10000', label: 'Deploys' };
+ wrapper = createComponent({ metric });
+
+ expect(findSingleStat().props('useDelimiters')).toBe(true);
});
});
diff --git a/spec/frontend/blob/components/blob_header_spec.js b/spec/frontend/blob/components/blob_header_spec.js
index 922d6a0211b..e7b2ee74940 100644
--- a/spec/frontend/blob/components/blob_header_spec.js
+++ b/spec/frontend/blob/components/blob_header_spec.js
@@ -116,13 +116,22 @@ describe('Blob Header Default Actions', () => {
});
});
+ it.each([[{ showBlameToggle: true }], [{ showBlameToggle: false }]])(
+ 'passes the `showBlameToggle` prop to the viewer switcher',
+ (propsData) => {
+ createComponent({ propsData });
+
+ expect(findViewSwitcher().props('showBlameToggle')).toBe(propsData.showBlameToggle);
+ },
+ );
+
it('does not render viewer switcher if the blob has only the simple viewer', () => {
createComponent({
blobProps: {
richViewer: null,
},
});
- expect(findViewSwitcher().exists()).toBe(false);
+ expect(findViewSwitcher().props('showViewerToggles')).toBe(false);
});
it('does not render viewer switcher if a corresponding prop is passed', () => {
diff --git a/spec/frontend/blob/components/blob_header_viewer_switcher_spec.js b/spec/frontend/blob/components/blob_header_viewer_switcher_spec.js
index 2ef87f6664b..25d9642acb0 100644
--- a/spec/frontend/blob/components/blob_header_viewer_switcher_spec.js
+++ b/spec/frontend/blob/components/blob_header_viewer_switcher_spec.js
@@ -1,6 +1,6 @@
import { GlButtonGroup, GlButton } from '@gitlab/ui';
-import { mount } from '@vue/test-utils';
import { nextTick } from 'vue';
+import { mountExtended } from 'helpers/vue_test_utils_helper';
import BlobHeaderViewerSwitcher from '~/blob/components/blob_header_viewer_switcher.vue';
import {
RICH_BLOB_VIEWER,
@@ -12,14 +12,15 @@ import {
describe('Blob Header Viewer Switcher', () => {
let wrapper;
- function createComponent(propsData = {}) {
- wrapper = mount(BlobHeaderViewerSwitcher, {
+ function createComponent(propsData = { showViewerToggles: true }) {
+ wrapper = mountExtended(BlobHeaderViewerSwitcher, {
propsData,
});
}
const findSimpleViewerButton = () => wrapper.findComponent('[data-viewer="simple"]');
const findRichViewerButton = () => wrapper.findComponent('[data-viewer="rich"]');
+ const findBlameButton = () => wrapper.findByText('Blame');
describe('intiialization', () => {
it('is initialized with simple viewer as active', () => {
@@ -74,7 +75,7 @@ describe('Blob Header Viewer Switcher', () => {
});
it('emits an event when a Simple Viewer button is clicked', async () => {
- createComponent({ value: RICH_BLOB_VIEWER });
+ createComponent({ value: RICH_BLOB_VIEWER, showViewerToggles: true });
findSimpleViewerButton().vm.$emit('click');
await nextTick();
@@ -82,4 +83,28 @@ describe('Blob Header Viewer Switcher', () => {
expect(wrapper.emitted('input')).toEqual([[SIMPLE_BLOB_VIEWER]]);
});
});
+
+ it('does not render simple and rich viewer buttons if `showViewerToggles` is `false`', async () => {
+ createComponent({ showViewerToggles: false });
+ await nextTick();
+
+ expect(findSimpleViewerButton().exists()).toBe(false);
+ expect(findRichViewerButton().exists()).toBe(false);
+ });
+
+ it('does not render a Blame button if `showBlameToggle` is `false`', async () => {
+ createComponent({ showBlameToggle: false });
+ await nextTick();
+
+ expect(findBlameButton().exists()).toBe(false);
+ });
+
+ it('emits an event when the Blame button is clicked', async () => {
+ createComponent({ showBlameToggle: true });
+
+ findBlameButton().trigger('click');
+ await nextTick();
+
+ expect(wrapper.emitted('blame')).toHaveLength(1);
+ });
});
diff --git a/spec/frontend/ci/artifacts/components/job_artifacts_table_spec.js b/spec/frontend/ci/artifacts/components/job_artifacts_table_spec.js
index 3628af31aa1..ba77d90f4e2 100644
--- a/spec/frontend/ci/artifacts/components/job_artifacts_table_spec.js
+++ b/spec/frontend/ci/artifacts/components/job_artifacts_table_spec.js
@@ -2,7 +2,7 @@ import { GlLoadingIcon, GlTable, GlLink, GlPagination, GlModal, GlFormCheckbox }
import Vue, { nextTick } from 'vue';
import VueApollo from 'vue-apollo';
import getJobArtifactsResponse from 'test_fixtures/graphql/ci/artifacts/graphql/queries/get_job_artifacts.query.graphql.json';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import waitForPromises from 'helpers/wait_for_promises';
import JobArtifactsTable from '~/ci/artifacts/components/job_artifacts_table.vue';
import ArtifactsTableRowDetails from '~/ci/artifacts/components/artifacts_table_row_details.vue';
@@ -51,7 +51,7 @@ describe('JobArtifactsTable component', () => {
const findStatuses = () => wrapper.findAllByTestId('job-artifacts-job-status');
const findSuccessfulJobStatus = () => findStatuses().at(0);
- const findCiBadgeLink = () => findSuccessfulJobStatus().findComponent(CiBadgeLink);
+ const findCiIcon = () => findSuccessfulJobStatus().findComponent(CiIcon);
const findLinks = () => wrapper.findAllComponents(GlLink);
const findJobLink = () => findLinks().at(0);
@@ -201,12 +201,11 @@ describe('JobArtifactsTable component', () => {
});
it('shows the job status as an icon for a successful job', () => {
- expect(findCiBadgeLink().props()).toMatchObject({
+ expect(findCiIcon().props()).toMatchObject({
status: {
group: 'success',
},
- size: 'sm',
- showText: false,
+ showStatusText: false,
});
});
diff --git a/spec/frontend/ci/catalog/components/details/ci_resource_header_spec.js b/spec/frontend/ci/catalog/components/details/ci_resource_header_spec.js
index 6ab9520508d..c061332ba13 100644
--- a/spec/frontend/ci/catalog/components/details/ci_resource_header_spec.js
+++ b/spec/frontend/ci/catalog/components/details/ci_resource_header_spec.js
@@ -2,8 +2,8 @@ import { GlAvatar, GlAvatarLink, GlBadge } from '@gitlab/ui';
import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
import CiResourceHeader from '~/ci/catalog/components/details/ci_resource_header.vue';
import { getIdFromGraphQLId } from '~/graphql_shared/utils';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
import CiResourceAbout from '~/ci/catalog/components/details/ci_resource_about.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import { catalogSharedDataMock, catalogAdditionalDetailsMock } from '../../mock';
describe('CiResourceHeader', () => {
@@ -24,7 +24,7 @@ describe('CiResourceHeader', () => {
const findAvatar = () => wrapper.findComponent(GlAvatar);
const findAvatarLink = () => wrapper.findComponent(GlAvatarLink);
const findVersionBadge = () => wrapper.findComponent(GlBadge);
- const findPipelineStatusBadge = () => wrapper.findComponent(CiBadgeLink);
+ const findPipelineStatusBadge = () => wrapper.findComponent(CiIcon);
const createComponent = ({ props = {} } = {}) => {
wrapper = shallowMountExtended(CiResourceHeader, {
@@ -126,8 +126,7 @@ describe('CiResourceHeader', () => {
expect(findPipelineStatusBadge().exists()).toBe(hasPipelineBadge);
if (hasPipelineBadge) {
expect(findPipelineStatusBadge().props()).toEqual({
- showText: true,
- size: 'sm',
+ showStatusText: true,
status: pipelineStatus,
showTooltip: true,
useLink: true,
diff --git a/spec/frontend/ci/common/pipelines_table_spec.js b/spec/frontend/ci/common/pipelines_table_spec.js
index 6cf391d72ca..f6d3121109f 100644
--- a/spec/frontend/ci/common/pipelines_table_spec.js
+++ b/spec/frontend/ci/common/pipelines_table_spec.js
@@ -16,7 +16,7 @@ import {
TRACKING_CATEGORIES,
} from '~/ci/constants';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
describe('Pipelines Table', () => {
let wrapper;
@@ -58,7 +58,7 @@ describe('Pipelines Table', () => {
};
const findGlTableLite = () => wrapper.findComponent(GlTableLite);
- const findCiBadgeLink = () => wrapper.findComponent(CiBadgeLink);
+ const findCiIcon = () => wrapper.findComponent(CiIcon);
const findPipelineInfo = () => wrapper.findComponent(PipelineUrl);
const findTriggerer = () => wrapper.findComponent(PipelineTriggerer);
const findLegacyPipelineMiniGraph = () => wrapper.findComponent(LegacyPipelineMiniGraph);
@@ -96,7 +96,7 @@ describe('Pipelines Table', () => {
describe('status cell', () => {
it('should render a status badge', () => {
- expect(findCiBadgeLink().exists()).toBe(true);
+ expect(findCiIcon().exists()).toBe(true);
});
});
@@ -265,7 +265,7 @@ describe('Pipelines Table', () => {
});
it('tracks status badge click', () => {
- findCiBadgeLink().vm.$emit('ciStatusBadgeClick');
+ findCiIcon().vm.$emit('ciStatusBadgeClick');
expect(trackingSpy).toHaveBeenCalledWith(undefined, 'click_ci_status_badge', {
label: TRACKING_CATEGORIES.table,
diff --git a/spec/frontend/ci/job_details/components/job_header_spec.js b/spec/frontend/ci/job_details/components/job_header_spec.js
index 609369316f5..d12267807ac 100644
--- a/spec/frontend/ci/job_details/components/job_header_spec.js
+++ b/spec/frontend/ci/job_details/components/job_header_spec.js
@@ -1,7 +1,7 @@
import { GlButton, GlAvatarLink, GlTooltip } from '@gitlab/ui';
import { shallowMount } from '@vue/test-utils';
import { extendedWrapper } from 'helpers/vue_test_utils_helper';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import JobHeader from '~/ci/job_details/components/job_header.vue';
import TimeagoTooltip from '~/vue_shared/components/time_ago_tooltip.vue';
@@ -29,7 +29,7 @@ describe('Header CI Component', () => {
shouldRenderTriggeredLabel: true,
};
- const findCiBadgeLink = () => wrapper.findComponent(CiBadgeLink);
+ const findCiIcon = () => wrapper.findComponent(CiIcon);
const findTimeAgo = () => wrapper.findComponent(TimeagoTooltip);
const findUserLink = () => wrapper.findComponent(GlAvatarLink);
const findSidebarToggleBtn = () => wrapper.findComponent(GlButton);
@@ -57,7 +57,7 @@ describe('Header CI Component', () => {
});
it('should render status badge', () => {
- expect(findCiBadgeLink().exists()).toBe(true);
+ expect(findCiIcon().exists()).toBe(true);
});
it('should render timeago date', () => {
diff --git a/spec/frontend/ci/job_details/components/sidebar/stages_dropdown_spec.js b/spec/frontend/ci/job_details/components/sidebar/stages_dropdown_spec.js
index e007896c81e..54c5a73f757 100644
--- a/spec/frontend/ci/job_details/components/sidebar/stages_dropdown_spec.js
+++ b/spec/frontend/ci/job_details/components/sidebar/stages_dropdown_spec.js
@@ -3,7 +3,7 @@ import { shallowMount } from '@vue/test-utils';
import { Mousetrap } from '~/lib/mousetrap';
import { extendedWrapper } from 'helpers/vue_test_utils_helper';
import StagesDropdown from '~/ci/job_details/components/sidebar/stages_dropdown.vue';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import * as copyToClipboard from '~/behaviors/copy_to_clipboard';
import {
mockPipelineWithoutRef,
@@ -15,7 +15,7 @@ import {
describe('Stages Dropdown', () => {
let wrapper;
- const findStatus = () => wrapper.findComponent(CiBadgeLink);
+ const findStatus = () => wrapper.findComponent(CiIcon);
const findDropdown = () => wrapper.findComponent(GlDisclosureDropdown);
const findSelectedStageText = () => findDropdown().props('toggleText');
@@ -47,7 +47,6 @@ describe('Stages Dropdown', () => {
it('renders pipeline status', () => {
expect(findStatus().props('status')).toBe(mockPipelineWithoutMR.details.status);
- expect(findStatus().props('size')).toBe('sm');
});
it('renders dropdown with stages', () => {
diff --git a/spec/frontend/ci/jobs_page/components/jobs_table_spec.js b/spec/frontend/ci/jobs_page/components/jobs_table_spec.js
index d4e0ce92bc2..d14afe7dd3e 100644
--- a/spec/frontend/ci/jobs_page/components/jobs_table_spec.js
+++ b/spec/frontend/ci/jobs_page/components/jobs_table_spec.js
@@ -3,7 +3,7 @@ import { mount } from '@vue/test-utils';
import { extendedWrapper } from 'helpers/vue_test_utils_helper';
import JobsTable from '~/ci/jobs_page/components/jobs_table.vue';
import { getIdFromGraphQLId } from '~/graphql_shared/utils';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import { DEFAULT_FIELDS_ADMIN } from '~/ci/admin/jobs_table/constants';
import ProjectCell from '~/ci/admin/jobs_table/components/cells/project_cell.vue';
import RunnerCell from '~/ci/admin/jobs_table/components/cells/runner_cell.vue';
@@ -13,7 +13,7 @@ describe('Jobs Table', () => {
let wrapper;
const findTable = () => wrapper.findComponent(GlTable);
- const findCiBadgeLink = () => wrapper.findComponent(CiBadgeLink);
+ const findCiIcon = () => wrapper.findComponent(CiIcon);
const findTableRows = () => wrapper.findAllByTestId('jobs-table-row');
const findJobStage = () => wrapper.findByTestId('job-stage-name');
const findJobName = () => wrapper.findByTestId('job-name');
@@ -45,7 +45,7 @@ describe('Jobs Table', () => {
});
it('displays job status', () => {
- expect(findCiBadgeLink().exists()).toBe(true);
+ expect(findCiIcon().exists()).toBe(true);
});
it('displays the job stage, id and name', () => {
diff --git a/spec/frontend/ci/pipeline_details/graph/components/job_item_spec.js b/spec/frontend/ci/pipeline_details/graph/components/job_item_spec.js
index de9ee8a16bf..cda84a9e4d3 100644
--- a/spec/frontend/ci/pipeline_details/graph/components/job_item_spec.js
+++ b/spec/frontend/ci/pipeline_details/graph/components/job_item_spec.js
@@ -5,7 +5,7 @@ import JobItem from '~/ci/pipeline_details/graph/components/job_item.vue';
import axios from '~/lib/utils/axios_utils';
import { useLocalStorageSpy } from 'helpers/local_storage_helper';
import ActionComponent from '~/ci/common/private/job_action_component.vue';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import { mountExtended, shallowMountExtended } from 'helpers/vue_test_utils_helper';
import {
@@ -31,7 +31,7 @@ describe('pipeline graph job item', () => {
const findActionComponent = () => wrapper.findByTestId('ci-action-button');
const findBadge = () => wrapper.findByTestId('job-bridge-badge');
const findJobLink = () => wrapper.findByTestId('job-with-link');
- const findJobCiBadge = () => wrapper.findComponent(CiBadgeLink);
+ const findJobCiIcon = () => wrapper.findComponent(CiIcon);
const findModal = () => wrapper.findComponent(GlModal);
const clickOnModalPrimaryBtn = () => findModal().vm.$emit('primary');
@@ -60,7 +60,7 @@ describe('pipeline graph job item', () => {
...mocks,
},
stubs: {
- CiBadgeLink,
+ CiIcon,
},
});
};
@@ -86,8 +86,8 @@ describe('pipeline graph job item', () => {
expect(link.attributes('title')).toBe(`${mockJob.name} - ${mockJob.status.label}`);
- expect(findJobCiBadge().exists()).toBe(true);
- expect(findJobCiBadge().find('.ci-status-icon-success').exists()).toBe(true);
+ expect(findJobCiIcon().exists()).toBe(true);
+ expect(findJobCiIcon().find('.ci-status-icon-success').exists()).toBe(true);
expect(wrapper.text()).toBe(mockJob.name);
});
@@ -105,8 +105,8 @@ describe('pipeline graph job item', () => {
});
it('should render status and name', () => {
- expect(findJobCiBadge().exists()).toBe(true);
- expect(findJobCiBadge().find('.ci-status-icon-success').exists()).toBe(true);
+ expect(findJobCiIcon().exists()).toBe(true);
+ expect(findJobCiIcon().find('.ci-status-icon-success').exists()).toBe(true);
expect(findJobLink().exists()).toBe(false);
expect(wrapper.text()).toBe(mockJobWithoutDetails.name);
@@ -117,12 +117,12 @@ describe('pipeline graph job item', () => {
});
});
- describe('CiBadgeLink', () => {
+ describe('CiIcon', () => {
it('should not render a link', () => {
createWrapper();
- expect(findJobCiBadge().exists()).toBe(true);
- expect(findJobCiBadge().props('useLink')).toBe(false);
+ expect(findJobCiIcon().exists()).toBe(true);
+ expect(findJobCiIcon().props('useLink')).toBe(false);
});
});
diff --git a/spec/frontend/ci/pipeline_details/header/pipeline_details_header_spec.js b/spec/frontend/ci/pipeline_details/header/pipeline_details_header_spec.js
index 6e13658a773..6b8a525a15a 100644
--- a/spec/frontend/ci/pipeline_details/header/pipeline_details_header_spec.js
+++ b/spec/frontend/ci/pipeline_details/header/pipeline_details_header_spec.js
@@ -7,7 +7,7 @@ import waitForPromises from 'helpers/wait_for_promises';
import { getIdFromGraphQLId } from '~/graphql_shared/utils';
import PipelineDetailsHeader from '~/ci/pipeline_details/header/pipeline_details_header.vue';
import { BUTTON_TOOLTIP_RETRY, BUTTON_TOOLTIP_CANCEL } from '~/ci/constants';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import cancelPipelineMutation from '~/ci/pipeline_details/graphql/mutations/cancel_pipeline.mutation.graphql';
import deletePipelineMutation from '~/ci/pipeline_details/graphql/mutations/delete_pipeline.mutation.graphql';
import retryPipelineMutation from '~/ci/pipeline_details/graphql/mutations/retry_pipeline.mutation.graphql';
@@ -56,7 +56,7 @@ describe('Pipeline details header', () => {
.mockResolvedValue(pipelineDeleteMutationResponseFailed);
const findAlert = () => wrapper.findComponent(GlAlert);
- const findStatus = () => wrapper.findComponent(CiBadgeLink);
+ const findStatus = () => wrapper.findComponent(CiIcon);
const findLoadingIcon = () => wrapper.findComponent(GlLoadingIcon);
const findAllBadges = () => wrapper.findAllComponents(GlBadge);
const findDeleteModal = () => wrapper.findComponent(GlModal);
diff --git a/spec/frontend/ci/pipeline_mini_graph/legacy_pipeline_stage_spec.js b/spec/frontend/ci/pipeline_mini_graph/legacy_pipeline_stage_spec.js
index 4b357a9fc7c..87df7676bf1 100644
--- a/spec/frontend/ci/pipeline_mini_graph/legacy_pipeline_stage_spec.js
+++ b/spec/frontend/ci/pipeline_mini_graph/legacy_pipeline_stage_spec.js
@@ -2,7 +2,7 @@ import { GlDropdown } from '@gitlab/ui';
import { nextTick } from 'vue';
import { mount } from '@vue/test-utils';
import MockAdapter from 'axios-mock-adapter';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import axios from '~/lib/utils/axios_utils';
import { HTTP_STATUS_INTERNAL_SERVER_ERROR, HTTP_STATUS_OK } from '~/lib/utils/http_status';
import LegacyPipelineStage from '~/ci/pipeline_mini_graph/legacy_pipeline_stage.vue';
@@ -52,7 +52,7 @@ describe('Pipelines stage component', () => {
});
const findCiActionBtn = () => wrapper.find('.js-ci-action');
- const findCiIcon = () => wrapper.findComponent(CiBadgeLink);
+ const findCiIcon = () => wrapper.findComponent(CiIcon);
const findDropdown = () => wrapper.findComponent(GlDropdown);
const findDropdownToggle = () => wrapper.find('button.dropdown-toggle');
const findDropdownMenu = () =>
diff --git a/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_last_pipeline_spec.js b/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_last_pipeline_spec.js
index ae069145292..b79e7c6e251 100644
--- a/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_last_pipeline_spec.js
+++ b/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_last_pipeline_spec.js
@@ -1,5 +1,5 @@
import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import PipelineScheduleLastPipeline from '~/ci/pipeline_schedules/components/table/cells/pipeline_schedule_last_pipeline.vue';
import { mockPipelineScheduleNodes } from '../../../mock_data';
@@ -18,16 +18,14 @@ describe('Pipeline schedule last pipeline', () => {
});
};
- const findCIBadgeLink = () => wrapper.findComponent(CiBadgeLink);
+ const findCiIcon = () => wrapper.findComponent(CiIcon);
const findStatusText = () => wrapper.findByTestId('pipeline-schedule-status-text');
it('displays pipeline status', () => {
createComponent();
- expect(findCIBadgeLink().exists()).toBe(true);
- expect(findCIBadgeLink().props('status')).toBe(
- defaultProps.schedule.lastPipeline.detailedStatus,
- );
+ expect(findCiIcon().exists()).toBe(true);
+ expect(findCiIcon().props('status')).toBe(defaultProps.schedule.lastPipeline.detailedStatus);
expect(findStatusText().exists()).toBe(false);
});
@@ -35,6 +33,6 @@ describe('Pipeline schedule last pipeline', () => {
createComponent({ schedule: mockPipelineScheduleNodes[0] });
expect(findStatusText().text()).toBe('None');
- expect(findCIBadgeLink().exists()).toBe(false);
+ expect(findCiIcon().exists()).toBe(false);
});
});
diff --git a/spec/frontend/commit/components/commit_box_pipeline_status_spec.js b/spec/frontend/commit/components/commit_box_pipeline_status_spec.js
index 844a2d81832..008a1b2c068 100644
--- a/spec/frontend/commit/components/commit_box_pipeline_status_spec.js
+++ b/spec/frontend/commit/components/commit_box_pipeline_status_spec.js
@@ -5,7 +5,7 @@ import VueApollo from 'vue-apollo';
import createMockApollo from 'helpers/mock_apollo_helper';
import waitForPromises from 'helpers/wait_for_promises';
import { createAlert } from '~/alert';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
+import CiIcon from '~/vue_shared/components/ci_icon.vue';
import CommitBoxPipelineStatus from '~/projects/commit_box/info/components/commit_box_pipeline_status.vue';
import {
COMMIT_BOX_POLL_INTERVAL,
@@ -32,7 +32,7 @@ describe('Commit box pipeline status', () => {
const failedHandler = jest.fn().mockRejectedValue(new Error('GraphQL error'));
const findLoadingIcon = () => wrapper.findComponent(GlLoadingIcon);
- const findCiBadgeLink = () => wrapper.findComponent(CiBadgeLink);
+ const findCiIcon = () => wrapper.findComponent(CiIcon);
const advanceToNextFetch = () => {
jest.advanceTimersByTime(COMMIT_BOX_POLL_INTERVAL);
@@ -50,7 +50,7 @@ describe('Commit box pipeline status', () => {
...mockProvide,
},
stubs: {
- CiBadgeLink,
+ CiIcon,
},
apolloProvider: createMockApolloProvider(handler),
});
@@ -61,7 +61,7 @@ describe('Commit box pipeline status', () => {
createComponent();
expect(findLoadingIcon().exists()).toBe(true);
- expect(findCiBadgeLink().exists()).toBe(false);
+ expect(findCiIcon().exists()).toBe(false);
});
});
@@ -73,7 +73,7 @@ describe('Commit box pipeline status', () => {
});
it('should display pipeline status after the query is resolved successfully', () => {
- expect(findCiBadgeLink().exists()).toBe(true);
+ expect(findCiIcon().exists()).toBe(true);
expect(findLoadingIcon().exists()).toBe(false);
expect(createAlert).toHaveBeenCalledTimes(0);
@@ -90,7 +90,7 @@ describe('Commit box pipeline status', () => {
},
} = mockPipelineStatusResponse;
- expect(findCiBadgeLink().attributes('href')).toBe(detailsPath);
+ expect(findCiIcon().attributes('href')).toBe(detailsPath);
});
});
diff --git a/spec/frontend/helpers/help_page_helper_spec.js b/spec/frontend/helpers/help_page_helper_spec.js
index 09c1a113a96..44a7300097f 100644
--- a/spec/frontend/helpers/help_page_helper_spec.js
+++ b/spec/frontend/helpers/help_page_helper_spec.js
@@ -3,6 +3,7 @@ import { helpPagePath } from '~/helpers/help_page_helper';
describe('help page helper', () => {
it.each`
relative_url_root | path | anchor | expected
+ ${undefined} | ${undefined} | ${undefined} | ${'/help'}
${undefined} | ${'administration/index'} | ${undefined} | ${'/help/administration/index'}
${''} | ${'administration/index'} | ${undefined} | ${'/help/administration/index'}
${'/'} | ${'administration/index'} | ${undefined} | ${'/help/administration/index'}
diff --git a/spec/frontend/ide/components/jobs/detail/description_spec.js b/spec/frontend/ide/components/jobs/detail/description_spec.js
index 2bb0f3fccf4..5465615bf38 100644
--- a/spec/frontend/ide/components/jobs/detail/description_spec.js
+++ b/spec/frontend/ide/components/jobs/detail/description_spec.js
@@ -23,10 +23,6 @@ describe('IDE job description', () => {
expect(wrapper.find('.ci-status-icon').findComponent(GlIcon).exists()).toBe(true);
});
- it('renders a borderless CI icon', () => {
- expect(wrapper.find('.borderless').findComponent(GlIcon).exists()).toBe(true);
- });
-
it('renders bridge job details without the job link', () => {
wrapper = mount(Description, {
propsData: {
diff --git a/spec/frontend/ide/components/jobs/item_spec.js b/spec/frontend/ide/components/jobs/item_spec.js
index ab442a27817..dc0f732d11e 100644
--- a/spec/frontend/ide/components/jobs/item_spec.js
+++ b/spec/frontend/ide/components/jobs/item_spec.js
@@ -18,7 +18,7 @@ describe('IDE jobs item', () => {
});
it('renders CI icon', () => {
- expect(wrapper.find('[data-testid="status_success_borderless-icon"]').exists()).toBe(true);
+ expect(wrapper.find('[data-testid="status_success-icon"]').exists()).toBe(true);
});
it('does not render view logs button if not started', async () => {
diff --git a/spec/frontend/jira_connect/subscriptions/pages/sign_in/sign_in_gitlab_multiversion/setup_instructions_spec.js b/spec/frontend/jira_connect/subscriptions/pages/sign_in/sign_in_gitlab_multiversion/setup_instructions_spec.js
index 40ea6058c70..efe89100e90 100644
--- a/spec/frontend/jira_connect/subscriptions/pages/sign_in/sign_in_gitlab_multiversion/setup_instructions_spec.js
+++ b/spec/frontend/jira_connect/subscriptions/pages/sign_in/sign_in_gitlab_multiversion/setup_instructions_spec.js
@@ -1,15 +1,23 @@
+import { nextTick } from 'vue';
import { shallowMount } from '@vue/test-utils';
-import { GlButton, GlLink } from '@gitlab/ui';
+import { GlButton, GlFormCheckbox, GlLink } from '@gitlab/ui';
-import { OAUTH_SELF_MANAGED_DOC_LINK } from '~/jira_connect/subscriptions/constants';
+import {
+ PREREQUISITES_DOC_LINK,
+ OAUTH_SELF_MANAGED_DOC_LINK,
+ SET_UP_INSTANCE_DOC_LINK,
+} from '~/jira_connect/subscriptions/constants';
import SetupInstructions from '~/jira_connect/subscriptions/pages/sign_in/sign_in_gitlab_multiversion/setup_instructions.vue';
describe('SetupInstructions', () => {
let wrapper;
- const findGlLink = () => wrapper.findComponent(GlLink);
+ const findPrerequisitesGlLink = () => wrapper.findAllComponents(GlLink).at(0);
+ const findOAuthGlLink = () => wrapper.findAllComponents(GlLink).at(1);
+ const findSetUpInstanceGlLink = () => wrapper.findAllComponents(GlLink).at(2);
const findBackButton = () => wrapper.findAllComponents(GlButton).at(0);
const findNextButton = () => wrapper.findAllComponents(GlButton).at(1);
+ const findCheckboxAtIndex = (index) => wrapper.findAllComponents(GlFormCheckbox).at(index);
const createComponent = () => {
wrapper = shallowMount(SetupInstructions);
@@ -20,8 +28,34 @@ describe('SetupInstructions', () => {
createComponent();
});
- it('renders "Learn more" link to documentation', () => {
- expect(findGlLink().attributes('href')).toBe(OAUTH_SELF_MANAGED_DOC_LINK);
+ it('renders "Prerequisites" link to documentation', () => {
+ expect(findPrerequisitesGlLink().attributes('href')).toBe(PREREQUISITES_DOC_LINK);
+ });
+
+ it('renders "Set up OAuth authentication" link to documentation', () => {
+ expect(findOAuthGlLink().attributes('href')).toBe(OAUTH_SELF_MANAGED_DOC_LINK);
+ });
+
+ it('renders "Set up your instance" link to documentation', () => {
+ expect(findSetUpInstanceGlLink().attributes('href')).toBe(SET_UP_INSTANCE_DOC_LINK);
+ });
+
+ describe('NextButton', () => {
+ it('emits next event when clicked and all steps checked', async () => {
+ createComponent();
+
+ findCheckboxAtIndex(0).vm.$emit('input', true);
+ findCheckboxAtIndex(1).vm.$emit('input', true);
+ findCheckboxAtIndex(2).vm.$emit('input', true);
+
+ await nextTick();
+
+ expect(findNextButton().attributes('disabled')).toBeUndefined();
+ });
+
+ it('disables button when not all steps are checked', () => {
+ expect(findNextButton().attributes('disabled')).toBe('true');
+ });
});
describe('when "Next" button is clicked', () => {
diff --git a/spec/frontend/observability/client_spec.js b/spec/frontend/observability/client_spec.js
index e61153fb5e5..7da84b18a91 100644
--- a/spec/frontend/observability/client_spec.js
+++ b/spec/frontend/observability/client_spec.js
@@ -53,13 +53,13 @@ describe('buildClient', () => {
});
});
- describe('isTracingEnabled', () => {
+ describe('isObservabilityEnabled', () => {
it('returns true if requests succeedes', async () => {
axiosMock.onGet(provisioningUrl).reply(200, {
status: 'ready',
});
- const enabled = await client.isTracingEnabled();
+ const enabled = await client.isObservabilityEnabled();
expect(enabled).toBe(true);
});
@@ -67,7 +67,7 @@ describe('buildClient', () => {
it('returns false if response is 404', async () => {
axiosMock.onGet(provisioningUrl).reply(404);
- const enabled = await client.isTracingEnabled();
+ const enabled = await client.isObservabilityEnabled();
expect(enabled).toBe(false);
});
@@ -79,7 +79,7 @@ describe('buildClient', () => {
status: 'not ready',
});
- const enabled = await client.isTracingEnabled();
+ const enabled = await client.isObservabilityEnabled();
expect(enabled).toBe(true);
});
@@ -88,7 +88,7 @@ describe('buildClient', () => {
axiosMock.onGet(provisioningUrl).reply(500);
const e = 'Request failed with status code 500';
- await expect(client.isTracingEnabled()).rejects.toThrow(e);
+ await expect(client.isObservabilityEnabled()).rejects.toThrow(e);
expect(Sentry.captureException).toHaveBeenCalledWith(new Error(e));
});
@@ -96,12 +96,12 @@ describe('buildClient', () => {
axiosMock.onGet(provisioningUrl).reply(200, {});
const e = 'Failed to check provisioning';
- await expect(client.isTracingEnabled()).rejects.toThrow(e);
+ await expect(client.isObservabilityEnabled()).rejects.toThrow(e);
expect(Sentry.captureException).toHaveBeenCalledWith(new Error(e));
});
});
- describe('enableTraces', () => {
+ describe('enableObservability', () => {
it('makes a PUT request to the provisioning URL', async () => {
let putConfig;
axiosMock.onPut(provisioningUrl).reply((config) => {
@@ -109,7 +109,7 @@ describe('buildClient', () => {
return [200];
});
- await client.enableTraces();
+ await client.enableObservability();
expect(putConfig.withCredentials).toBe(true);
});
@@ -119,7 +119,7 @@ describe('buildClient', () => {
const e = 'Request failed with status code 401';
- await expect(client.enableTraces()).rejects.toThrow(e);
+ await expect(client.enableObservability()).rejects.toThrow(e);
expect(Sentry.captureException).toHaveBeenCalledWith(new Error(e));
});
});
diff --git a/spec/frontend/observability/observability_container_spec.js b/spec/frontend/observability/observability_container_spec.js
index 5d838756308..1e954b7db0d 100644
--- a/spec/frontend/observability/observability_container_spec.js
+++ b/spec/frontend/observability/observability_container_spec.js
@@ -19,10 +19,12 @@ describe('ObservabilityContainer', () => {
const SERVICES_URL = 'https://example.com/services';
const OPERATIONS_URL = 'https://example.com/operations';
+ const mockClient = { mock: 'client' };
+
beforeEach(() => {
jest.spyOn(console, 'error').mockImplementation();
- buildClient.mockReturnValue({});
+ buildClient.mockReturnValue(mockClient);
wrapper = shallowMountExtended(ObservabilityContainer, {
propsData: {
@@ -43,12 +45,6 @@ describe('ObservabilityContainer', () => {
h(`<div>mockedComponent</div>`);
},
name: 'MockComponent',
- props: {
- observabilityClient: {
- type: Object,
- required: true,
- },
- },
},
},
});
@@ -85,22 +81,38 @@ describe('ObservabilityContainer', () => {
expect(findSlotComponent().exists()).toBe(false);
});
- it('renders the slot content and removes the iframe on oauth success message', async () => {
- dispatchMessageEvent('success');
+ it('should not emit observability-client-ready', () => {
+ expect(wrapper.emitted('observability-client-ready')).toBeUndefined();
+ });
- await nextTick();
+ describe('on oauth success message', () => {
+ beforeEach(async () => {
+ dispatchMessageEvent('success');
- expect(mockSkeletonOnContentLoaded).toHaveBeenCalledTimes(1);
+ await nextTick();
+ });
- const slotComponent = findSlotComponent();
- expect(slotComponent.exists()).toBe(true);
- expect(buildClient).toHaveBeenCalledWith({
- provisioningUrl: PROVISIONING_URL,
- tracingUrl: TRACING_URL,
- servicesUrl: SERVICES_URL,
- operationsUrl: OPERATIONS_URL,
+ it('renders invoke onContentLoaded on the skeleton', () => {
+ expect(mockSkeletonOnContentLoaded).toHaveBeenCalledTimes(1);
+ });
+
+ it('renders the slot content', () => {
+ const slotComponent = findSlotComponent();
+ expect(slotComponent.exists()).toBe(true);
+ });
+
+ it('build the observability client', () => {
+ expect(buildClient).toHaveBeenCalledWith({
+ provisioningUrl: PROVISIONING_URL,
+ tracingUrl: TRACING_URL,
+ servicesUrl: SERVICES_URL,
+ operationsUrl: OPERATIONS_URL,
+ });
+ });
+
+ it('emits observability-client-ready', () => {
+ expect(wrapper.emitted('observability-client-ready')).toEqual([[mockClient]]);
});
- expect(findIframe().exists()).toBe(false);
});
it('does not render the slot content and removes the iframe on oauth error message', async () => {
diff --git a/spec/frontend/observability/observability_empty_state_spec.js b/spec/frontend/observability/observability_empty_state_spec.js
new file mode 100644
index 00000000000..ce420dd076d
--- /dev/null
+++ b/spec/frontend/observability/observability_empty_state_spec.js
@@ -0,0 +1,36 @@
+import { GlButton, GlEmptyState } from '@gitlab/ui';
+import ObservabilityEmptyState from '~/observability/components/observability_empty_state.vue';
+import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
+
+describe('ObservabilityEmptyState', () => {
+ let wrapper;
+
+ const findEnableButton = () => wrapper.findComponent(GlButton);
+
+ beforeEach(() => {
+ wrapper = shallowMountExtended(ObservabilityEmptyState);
+ });
+
+ it('passes the correct title', () => {
+ expect(wrapper.findComponent(GlEmptyState).props('title')).toBe(
+ 'Get started with GitLab Observability',
+ );
+ });
+
+ it('displays the correct description', () => {
+ const description = wrapper.find('span').text();
+ expect(description).toBe('Monitor your applications with GitLab Observability.');
+ });
+
+ it('displays the enable button', () => {
+ const enableButton = findEnableButton();
+ expect(enableButton.exists()).toBe(true);
+ expect(enableButton.text()).toBe('Enable');
+ });
+
+ it('emits enable-tracing when enable button is clicked', () => {
+ findEnableButton().vm.$emit('click');
+
+ expect(wrapper.emitted('enable-observability')).toHaveLength(1);
+ });
+});
diff --git a/spec/frontend/observability/provisioned_observability_container_spec.js b/spec/frontend/observability/provisioned_observability_container_spec.js
new file mode 100644
index 00000000000..7d84c1e80e7
--- /dev/null
+++ b/spec/frontend/observability/provisioned_observability_container_spec.js
@@ -0,0 +1,151 @@
+import { GlLoadingIcon } from '@gitlab/ui';
+import ProvisionedObservabilityContainer from '~/observability/components/provisioned_observability_container.vue';
+import ObservabilityContainer from '~/observability/components/observability_container.vue';
+import ObservabilityEmptyState from '~/observability/components/observability_empty_state.vue';
+import waitForPromises from 'helpers/wait_for_promises';
+
+import { createAlert } from '~/alert';
+import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
+
+jest.mock('~/alert');
+
+describe('ProvisionedObservabilityContainer', () => {
+ let wrapper;
+ let mockClient;
+
+ const mockClientReady = async () => {
+ await wrapper
+ .findComponent(ObservabilityContainer)
+ .vm.$emit('observability-client-ready', mockClient);
+ };
+
+ const mockClientReadyAndWait = async () => {
+ await wrapper
+ .findComponent(ObservabilityContainer)
+ .vm.$emit('observability-client-ready', mockClient);
+ await waitForPromises();
+ };
+
+ const findLoadingIcon = () => wrapper.findComponent(GlLoadingIcon);
+ const findEmptyState = () => wrapper.findComponent(ObservabilityEmptyState);
+ const findSlotComponent = () => wrapper.findComponent({ name: 'MockComponent' });
+
+ const props = {
+ oauthUrl: 'https://example.com/oauth',
+ tracingUrl: 'https://example.com/tracing',
+ servicesUrl: 'https://example.com/services',
+ provisioningUrl: 'https://example.com/provisioning',
+ operationsUrl: 'https://example.com/operations',
+ };
+
+ beforeEach(() => {
+ mockClient = {
+ isObservabilityEnabled: jest.fn().mockResolvedValue(true),
+ enableObservability: jest.fn().mockResolvedValue(true),
+ };
+ wrapper = shallowMountExtended(ProvisionedObservabilityContainer, {
+ propsData: props,
+ slots: {
+ default: {
+ render(h) {
+ h(`<div>mockedComponent</div>`);
+ },
+ name: 'MockComponent',
+ },
+ },
+ });
+ });
+
+ it('renders the observability-container', () => {
+ const observabilityContainer = wrapper.findComponent(ObservabilityContainer);
+ expect(observabilityContainer.exists()).toBe(true);
+ expect(observabilityContainer.props()).toMatchObject(props);
+ });
+
+ describe('when the client is ready', () => {
+ it('renders the loading indicator while checking if observability is enabled', async () => {
+ await mockClientReady();
+
+ expect(findLoadingIcon().exists()).toBe(true);
+ expect(findEmptyState().exists()).toBe(false);
+ expect(findSlotComponent().exists()).toBe(false);
+ expect(mockClient.isObservabilityEnabled).toHaveBeenCalledTimes(1);
+ });
+
+ describe('if observability is enabled', () => {
+ beforeEach(async () => {
+ mockClient.isObservabilityEnabled.mockResolvedValue(true);
+ await mockClientReadyAndWait();
+ });
+
+ it('renders the content slot', () => {
+ expect(findLoadingIcon().exists()).toBe(false);
+ expect(findEmptyState().exists()).toBe(false);
+ expect(findSlotComponent().exists()).toBe(true);
+ });
+ });
+
+ describe('if observability is not enabled', () => {
+ beforeEach(async () => {
+ mockClient.isObservabilityEnabled.mockResolvedValue(false);
+ await mockClientReadyAndWait();
+ });
+
+ it('renders the empty state', () => {
+ expect(findLoadingIcon().exists()).toBe(false);
+ expect(findEmptyState().exists()).toBe(true);
+ expect(findSlotComponent().exists()).toBe(false);
+ });
+
+ describe('when empty-state emits enable-observability', () => {
+ it('shows the loading icon', async () => {
+ await findEmptyState().vm.$emit('enable-observability');
+
+ expect(findLoadingIcon().exists()).toBe(true);
+ });
+
+ it('enable observability', async () => {
+ await findEmptyState().vm.$emit('enable-observability');
+
+ expect(mockClient.enableObservability).toHaveBeenCalledTimes(1);
+ });
+
+ it('shows the content slot', async () => {
+ await findEmptyState().vm.$emit('enable-observability');
+ await waitForPromises();
+
+ expect(findLoadingIcon().exists()).toBe(false);
+ expect(findEmptyState().exists()).toBe(false);
+ expect(findSlotComponent().exists()).toBe(true);
+ });
+ });
+ });
+ });
+
+ describe('error handling', () => {
+ it('shows an alert if checking if observability is enabled fails', async () => {
+ mockClient.isObservabilityEnabled.mockRejectedValue(new Error('error'));
+
+ await mockClientReadyAndWait();
+
+ expect(findLoadingIcon().exists()).toBe(false);
+ expect(findEmptyState().exists()).toBe(false);
+ expect(findSlotComponent().exists()).toBe(false);
+ expect(createAlert).toHaveBeenLastCalledWith({ message: 'Failed to load page.' });
+ });
+
+ it('shows an alert when checking if observability is enabled fails', async () => {
+ mockClient.isObservabilityEnabled.mockResolvedValue(false);
+ mockClient.enableObservability.mockRejectedValue(new Error('error'));
+
+ await mockClientReadyAndWait();
+
+ await findEmptyState().vm.$emit('enable-observability');
+ await waitForPromises();
+
+ expect(createAlert).toHaveBeenLastCalledWith({
+ message: 'Failed to enable GitLab Observability.',
+ });
+ });
+ });
+});
diff --git a/spec/frontend/projects/pipelines/charts/components/__snapshots__/statistics_list_spec.js.snap b/spec/frontend/projects/pipelines/charts/components/__snapshots__/statistics_list_spec.js.snap
index 16d291804cc..a2877a9f17c 100644
--- a/spec/frontend/projects/pipelines/charts/components/__snapshots__/statistics_list_spec.js.snap
+++ b/spec/frontend/projects/pipelines/charts/components/__snapshots__/statistics_list_spec.js.snap
@@ -7,7 +7,7 @@ exports[`StatisticsList displays the counts data with labels 1`] = `
Total:
</span>
<strong>
- 4 pipelines
+ 40,000 pipelines
</strong>
</li>
<li>
@@ -15,7 +15,7 @@ exports[`StatisticsList displays the counts data with labels 1`] = `
Successful:
</span>
<strong>
- 2 pipelines
+ 20,000 pipelines
</strong>
</li>
<li>
@@ -25,7 +25,7 @@ exports[`StatisticsList displays the counts data with labels 1`] = `
<gl-link-stub
href="/flightjs/Flight/-/pipelines?page=1&scope=all&status=failed"
>
- 2 pipelines
+ 20,000 pipelines
</gl-link-stub>
</li>
<li>
diff --git a/spec/frontend/projects/pipelines/charts/mock_data.js b/spec/frontend/projects/pipelines/charts/mock_data.js
index 04971b5b20e..0e3e43835d0 100644
--- a/spec/frontend/projects/pipelines/charts/mock_data.js
+++ b/spec/frontend/projects/pipelines/charts/mock_data.js
@@ -1,7 +1,7 @@
export const counts = {
- failed: 2,
- success: 2,
- total: 4,
+ failed: 20000,
+ success: 20000,
+ total: 40000,
successRatio: 50,
totalDuration: 116158,
};
diff --git a/spec/frontend/repository/components/__snapshots__/last_commit_spec.js.snap b/spec/frontend/repository/components/__snapshots__/last_commit_spec.js.snap
index 44b9b44fc77..99cfc4f418f 100644
--- a/spec/frontend/repository/components/__snapshots__/last_commit_spec.js.snap
+++ b/spec/frontend/repository/components/__snapshots__/last_commit_spec.js.snap
@@ -10,12 +10,10 @@ exports[`Repository last commit component renders commit widget 1`] = `
<div
class="gl-ml-5"
>
- <ci-badge-link-stub
+ <ci-icon-stub
aria-label="Pipeline: failed"
class="js-commit-pipeline"
- details-path="https://test.com/pipeline"
showtooltip="true"
- size="md"
status="[object Object]"
uselink="true"
/>
diff --git a/spec/frontend/repository/components/blob_content_viewer_spec.js b/spec/frontend/repository/components/blob_content_viewer_spec.js
index cc077e20e0b..e0d2984893b 100644
--- a/spec/frontend/repository/components/blob_content_viewer_spec.js
+++ b/spec/frontend/repository/components/blob_content_viewer_spec.js
@@ -18,6 +18,7 @@ import { loadViewer } from '~/repository/components/blob_viewers';
import DownloadViewer from '~/repository/components/blob_viewers/download_viewer.vue';
import EmptyViewer from '~/repository/components/blob_viewers/empty_viewer.vue';
import SourceViewer from '~/vue_shared/components/source_viewer/source_viewer.vue';
+import SourceViewerNew from '~/vue_shared/components/source_viewer/source_viewer_new.vue';
import blobInfoQuery from 'shared_queries/repository/blob_info.query.graphql';
import projectInfoQuery from '~/repository/queries/project_info.query.graphql';
import CodeIntelligence from '~/code_navigation/components/app.vue';
@@ -137,6 +138,7 @@ const createComponent = async (mockData = {}, mountFn = shallowMount, mockRoute
...inject,
glFeatures: {
highlightJsWorker: false,
+ blobBlameInfo: true,
},
},
}),
@@ -157,6 +159,7 @@ describe('Blob content viewer component', () => {
const findForkSuggestion = () => wrapper.findComponent(ForkSuggestion);
const findCodeIntelligence = () => wrapper.findComponent(CodeIntelligence);
const findSourceViewer = () => wrapper.findComponent(SourceViewer);
+ const findSourceViewerNew = () => wrapper.findComponent(SourceViewerNew);
beforeEach(() => {
jest.spyOn(window, 'requestIdleCallback').mockImplementation(execImmediately);
@@ -179,14 +182,43 @@ describe('Blob content viewer component', () => {
expect(findBlobHeader().props('activeViewerType')).toEqual(SIMPLE_BLOB_VIEWER);
expect(findBlobHeader().props('hasRenderError')).toEqual(false);
- expect(findBlobHeader().props('hideViewerSwitcher')).toEqual(true);
+ expect(findBlobHeader().props('hideViewerSwitcher')).toEqual(false);
expect(findBlobHeader().props('blob')).toEqual(simpleViewerMock);
expect(findBlobHeader().props('showForkSuggestion')).toEqual(false);
+ expect(findBlobHeader().props('showBlameToggle')).toEqual(false);
expect(findBlobHeader().props('projectPath')).toEqual(propsMock.projectPath);
expect(findBlobHeader().props('projectId')).toEqual(projectMock.id);
expect(mockRouterPush).not.toHaveBeenCalled();
});
+ describe('blame toggle', () => {
+ const triggerBlame = async () => {
+ findBlobHeader().vm.$emit('blame');
+ await nextTick();
+ };
+
+ it('renders a blame toggle for JSON files', async () => {
+ await createComponent({ blob: { ...simpleViewerMock, language: 'json' } });
+
+ expect(findBlobHeader().props('showBlameToggle')).toEqual(true);
+ });
+
+ it('adds blame param to the URL and passes `showBlame` to the SourceViewer', async () => {
+ loadViewer.mockReturnValueOnce(SourceViewerNew);
+ await createComponent({ blob: { ...simpleViewerMock, language: 'json' } });
+
+ await triggerBlame();
+
+ expect(mockRouterPush).toHaveBeenCalledWith({ query: { blame: '1' } });
+ expect(findSourceViewerNew().props('showBlame')).toBe(true);
+
+ await triggerBlame();
+
+ expect(mockRouterPush).toHaveBeenCalledWith({ query: { blame: '0' } });
+ expect(findSourceViewerNew().props('showBlame')).toBe(false);
+ });
+ });
+
it('creates an alert when the BlobHeader component emits an error', async () => {
await createComponent();
diff --git a/spec/frontend/super_sidebar/components/global_search/components/global_search_default_places_spec.js b/spec/frontend/super_sidebar/components/global_search/components/global_search_default_places_spec.js
index f91c8034fe9..d1bec8f8662 100644
--- a/spec/frontend/super_sidebar/components/global_search/components/global_search_default_places_spec.js
+++ b/spec/frontend/super_sidebar/components/global_search/components/global_search_default_places_spec.js
@@ -88,6 +88,19 @@ describe('GlobalSearchDefaultPlaces', () => {
'data-qa-places-item': 'Admin area',
},
},
+ {
+ text: 'Leave admin mode',
+ href: '/admin/session/destroy',
+ extraAttrs: {
+ 'data-track-action': 'click_command_palette_item',
+ 'data-track-extra': '{"title":"Leave admin mode"}',
+ 'data-track-label': 'item_without_id',
+ 'data-track-property': 'nav_panel_unknown',
+ 'data-testid': 'places-item-link',
+ 'data-qa-places-item': 'Leave admin mode',
+ 'data-method': 'post',
+ },
+ },
]);
});
});
diff --git a/spec/frontend/super_sidebar/mock_data.js b/spec/frontend/super_sidebar/mock_data.js
index d464ce372ed..d2d2faedbf8 100644
--- a/spec/frontend/super_sidebar/mock_data.js
+++ b/spec/frontend/super_sidebar/mock_data.js
@@ -74,6 +74,7 @@ export const mergeRequestMenuGroup = [
export const contextSwitcherLinks = [
{ title: 'Explore', link: '/explore', icon: 'compass', link_classes: 'persistent-link-class' },
{ title: 'Admin area', link: '/admin', icon: 'admin' },
+ { title: 'Leave admin mode', link: '/admin/session/destroy', data_method: 'post' },
];
export const sidebarData = {
diff --git a/spec/frontend/vue_shared/components/ci_badge_link_spec.js b/spec/frontend/vue_shared/components/ci_badge_link_spec.js
deleted file mode 100644
index e1660225a5c..00000000000
--- a/spec/frontend/vue_shared/components/ci_badge_link_spec.js
+++ /dev/null
@@ -1,158 +0,0 @@
-import { GlBadge } from '@gitlab/ui';
-import { shallowMount } from '@vue/test-utils';
-import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue';
-import CiIcon from '~/vue_shared/components/ci_icon.vue';
-
-jest.mock('~/lib/utils/url_utility', () => ({
- visitUrl: jest.fn(),
-}));
-
-describe('CI Badge Link Component', () => {
- let wrapper;
-
- const statuses = {
- canceled: {
- text: 'canceled',
- label: 'canceled',
- group: 'canceled',
- icon: 'status_canceled',
- details_path: 'status/canceled',
- },
- created: {
- text: 'created',
- label: 'created',
- group: 'created',
- icon: 'status_created',
- details_path: 'status/created',
- },
- failed: {
- text: 'failed',
- label: 'failed',
- group: 'failed',
- icon: 'status_failed',
- details_path: 'status/failed',
- },
- manual: {
- text: 'manual',
- label: 'manual action',
- group: 'manual',
- icon: 'status_manual',
- details_path: 'status/manual',
- },
- pending: {
- text: 'pending',
- label: 'pending',
- group: 'pending',
- icon: 'status_pending',
- details_path: 'status/pending',
- },
- preparing: {
- text: 'preparing',
- label: 'preparing',
- group: 'preparing',
- icon: 'status_preparing',
- details_path: 'status/preparing',
- },
- running: {
- text: 'running',
- label: 'running',
- group: 'running',
- icon: 'status_running',
- details_path: 'status/running',
- },
- scheduled: {
- text: 'scheduled',
- label: 'scheduled',
- group: 'scheduled',
- icon: 'status_scheduled',
- details_path: 'status/scheduled',
- },
- skipped: {
- text: 'skipped',
- label: 'skipped',
- group: 'skipped',
- icon: 'status_skipped',
- details_path: 'status/skipped',
- },
- success_warining: {
- text: 'warning',
- label: 'passed with warnings',
- group: 'success-with-warnings',
- icon: 'status_warning',
- details_path: 'status/warning',
- },
- success: {
- text: 'passed',
- label: 'passed',
- group: 'passed',
- icon: 'status_success',
- details_path: 'status/passed',
- },
- };
-
- const findIcon = () => wrapper.findComponent(CiIcon);
- const findBadge = () => wrapper.findComponent(GlBadge);
- const findBadgeText = () => wrapper.find('[data-testid="ci-badge-text"');
-
- const createComponent = (propsData) => {
- wrapper = shallowMount(CiBadgeLink, { propsData });
- };
-
- it.each(Object.keys(statuses))('should render badge for status: %s', (status) => {
- createComponent({ status: statuses[status] });
-
- expect(wrapper.attributes('href')).toBe(statuses[status].details_path);
- expect(wrapper.text()).toBe(statuses[status].text);
- expect(findBadge().props('size')).toBe('md');
- expect(findIcon().exists()).toBe(true);
- });
-
- it.each`
- status | textColor | variant
- ${statuses.success} | ${'gl-text-green-700'} | ${'success'}
- ${statuses.success_warining} | ${'gl-text-orange-700'} | ${'warning'}
- ${statuses.failed} | ${'gl-text-red-700'} | ${'danger'}
- ${statuses.running} | ${'gl-text-blue-700'} | ${'info'}
- ${statuses.pending} | ${'gl-text-orange-700'} | ${'warning'}
- ${statuses.preparing} | ${'gl-text-gray-600'} | ${'muted'}
- ${statuses.canceled} | ${'gl-text-gray-700'} | ${'neutral'}
- ${statuses.scheduled} | ${'gl-text-gray-600'} | ${'muted'}
- ${statuses.skipped} | ${'gl-text-gray-600'} | ${'muted'}
- ${statuses.manual} | ${'gl-text-gray-700'} | ${'neutral'}
- ${statuses.created} | ${'gl-text-gray-600'} | ${'muted'}
- `(
- 'should contain correct badge class and variant for status: $status.text',
- ({ status, textColor, variant }) => {
- createComponent({ status });
-
- expect(findBadgeText().classes()).toContain(textColor);
- expect(findBadge().props('variant')).toBe(variant);
- },
- );
-
- it('should not render label', () => {
- createComponent({ status: statuses.canceled, showText: false });
-
- expect(wrapper.text()).toBe('');
- });
-
- it('should emit ciStatusBadgeClick event', () => {
- createComponent({ status: statuses.success });
-
- findBadge().vm.$emit('click');
-
- expect(wrapper.emitted('ciStatusBadgeClick')).toEqual([[]]);
- });
-
- it('should render dynamic badge size', () => {
- createComponent({ status: statuses.success, size: 'lg' });
-
- expect(findBadge().props('size')).toBe('lg');
- });
-
- it('should have class `gl-px-2` when `showText` is false', () => {
- createComponent({ status: statuses.success, size: 'md', showText: false });
-
- expect(findBadge().classes()).toContain('gl-px-2');
- });
-});
diff --git a/spec/frontend/vue_shared/components/ci_icon_spec.js b/spec/frontend/vue_shared/components/ci_icon_spec.js
index c907b776b91..1dc46538ec4 100644
--- a/spec/frontend/vue_shared/components/ci_icon_spec.js
+++ b/spec/frontend/vue_shared/components/ci_icon_spec.js
@@ -25,46 +25,6 @@ describe('CI Icon component', () => {
expect(wrapper.findComponent(GlIcon).exists()).toBe(true);
});
- describe.each`
- isActive
- ${true}
- ${false}
- `('when isActive is $isActive', ({ isActive }) => {
- it(`"active" class is ${isActive ? 'not ' : ''}added`, () => {
- wrapper = shallowMount(CiIcon, {
- propsData: {
- status: {
- group: 'success',
- icon: 'status_success',
- },
- isActive,
- },
- });
-
- expect(wrapper.classes('active')).toBe(isActive);
- });
- });
-
- describe.each`
- isInteractive
- ${true}
- ${false}
- `('when isInteractive is $isInteractive', ({ isInteractive }) => {
- it(`"interactive" class is ${isInteractive ? 'not ' : ''}added`, () => {
- wrapper = shallowMount(CiIcon, {
- propsData: {
- status: {
- group: 'success',
- icon: 'status_success',
- },
- isInteractive,
- },
- });
-
- expect(wrapper.classes('interactive')).toBe(isInteractive);
- });
- });
-
describe('rendering a status', () => {
it.each`
icon | group | cssClass
@@ -87,7 +47,7 @@ describe('CI Icon component', () => {
},
});
- expect(wrapper.classes()).toContain(cssClass);
+ expect(wrapper.find('.ci-icon-wrapper').classes()).toContain(cssClass);
});
});
});
diff --git a/spec/frontend/vue_shared/components/source_viewer/mock_data.js b/spec/frontend/vue_shared/components/source_viewer/mock_data.js
index b3516f7ed72..f03d6ee8aee 100644
--- a/spec/frontend/vue_shared/components/source_viewer/mock_data.js
+++ b/spec/frontend/vue_shared/components/source_viewer/mock_data.js
@@ -24,17 +24,19 @@ export const CHUNK_2 = {
};
export const SOURCE_CODE_CONTENT_MOCK = `
-<div class="content">
- <div>
- <div id="L1">1</div>
- <div id="L2">2</div>
- <div id="L3">3</div>
- </div>
+<div class="blob-viewer">
+ <div class="content">
+ <div>
+ <div id="L1">1</div>
+ <div id="L2">2</div>
+ <div id="L3">3</div>
+ </div>
- <div>
- <div id="LC1">Content 1</div>
- <div id="LC2">Content 2</div>
- <div id="LC3">Content 3</div>
+ <div>
+ <div id="LC1">Content 1</div>
+ <div id="LC2">Content 2</div>
+ <div id="LC3">Content 3</div>
+ </div>
</div>
</div>`;
@@ -43,3 +45,42 @@ export const BLAME_DATA_MOCK = [
{ lineno: 2, commit: { author: 'Sarah' }, index: 1 },
{ lineno: 3, commit: { author: 'Peter' }, index: 2 },
];
+
+export const BLAME_DATA_QUERY_RESPONSE_MOCK = {
+ data: {
+ project: {
+ id: 'gid://gitlab/Project/278964',
+ __typename: 'Project',
+ repository: {
+ __typename: 'Repository',
+ blobs: {
+ __typename: 'BlobConnection',
+ nodes: [
+ {
+ id: 'gid://gitlab/Blob/f0c77e4b621df72719ce2b500ea6228559f6bc09',
+ blame: {
+ firstLine: '1',
+ groups: [
+ {
+ lineno: 1,
+ span: 3,
+ commit: {
+ id: 'gid://gitlab/CommitPresenter/13b0aca4142d1d55931577f69289a792f216f805',
+ titleHtml: 'Upload New File',
+ message: 'Upload New File',
+ authoredDate: '2022-10-31T10:38:30+00:00',
+ authorGravatar: 'path/to/gravatar',
+ webPath: '/commit/1234',
+ author: {},
+ sha: '13b0aca4142d1d55931577f69289a792f216f805',
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ },
+ },
+};
diff --git a/spec/frontend/vue_shared/components/source_viewer/source_viewer_new_spec.js b/spec/frontend/vue_shared/components/source_viewer/source_viewer_new_spec.js
index 1a498d0c5b1..b0b2978ecd1 100644
--- a/spec/frontend/vue_shared/components/source_viewer/source_viewer_new_spec.js
+++ b/spec/frontend/vue_shared/components/source_viewer/source_viewer_new_spec.js
@@ -1,3 +1,6 @@
+import Vue from 'vue';
+import VueApollo from 'vue-apollo';
+import createMockApollo from 'helpers/mock_apollo_helper';
import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
import SourceViewer from '~/vue_shared/components/source_viewer/source_viewer_new.vue';
import Chunk from '~/vue_shared/components/source_viewer/components/chunk_new.vue';
@@ -5,7 +8,19 @@ import { EVENT_ACTION, EVENT_LABEL_VIEWER } from '~/vue_shared/components/source
import Tracking from '~/tracking';
import LineHighlighter from '~/blob/line_highlighter';
import addBlobLinksTracking from '~/blob/blob_links_tracking';
-import { BLOB_DATA_MOCK, CHUNK_1, CHUNK_2, LANGUAGE_MOCK } from './mock_data';
+import waitForPromises from 'helpers/wait_for_promises';
+import blameDataQuery from '~/vue_shared/components/source_viewer/queries/blame_data.query.graphql';
+import Blame from '~/vue_shared/components/source_viewer/components/blame_info.vue';
+
+import {
+ BLOB_DATA_MOCK,
+ CHUNK_1,
+ CHUNK_2,
+ LANGUAGE_MOCK,
+ BLAME_DATA_QUERY_RESPONSE_MOCK,
+} from './mock_data';
+
+Vue.use(VueApollo);
const lineHighlighter = new LineHighlighter();
jest.mock('~/blob/line_highlighter', () =>
@@ -17,17 +32,29 @@ jest.mock('~/blob/blob_links_tracking');
describe('Source Viewer component', () => {
let wrapper;
+ let fakeApollo;
const CHUNKS_MOCK = [CHUNK_1, CHUNK_2];
const hash = '#L142';
- const createComponent = () => {
+ const blameDataQueryHandlerSuccess = jest.fn().mockResolvedValue(BLAME_DATA_QUERY_RESPONSE_MOCK);
+
+ const createComponent = ({ showBlame = true } = {}) => {
+ fakeApollo = createMockApollo([[blameDataQuery, blameDataQueryHandlerSuccess]]);
+
wrapper = shallowMountExtended(SourceViewer, {
+ apolloProvider: fakeApollo,
mocks: { $route: { hash } },
- propsData: { blob: BLOB_DATA_MOCK, chunks: CHUNKS_MOCK },
+ propsData: {
+ blob: BLOB_DATA_MOCK,
+ chunks: CHUNKS_MOCK,
+ projectPath: 'test',
+ showBlame,
+ },
});
};
const findChunks = () => wrapper.findAllComponents(Chunk);
+ const findBlameComponents = () => wrapper.findAllComponents(Blame);
beforeEach(() => {
jest.spyOn(Tracking, 'event');
@@ -50,6 +77,46 @@ describe('Source Viewer component', () => {
});
describe('rendering', () => {
+ it('does not render a Blame component if the respective chunk for the blame has not appeared', async () => {
+ await waitForPromises();
+ expect(findBlameComponents()).toHaveLength(0);
+ });
+
+ describe('Blame information', () => {
+ const triggerChunkAppear = async () => {
+ findChunks().at(0).vm.$emit('appear');
+ await waitForPromises();
+ };
+ beforeEach(async () => {});
+
+ it('renders a Blame component when a chunk appears', async () => {
+ await triggerChunkAppear();
+ const blameData =
+ BLAME_DATA_QUERY_RESPONSE_MOCK.data.project.repository.blobs.nodes[0].blame.groups;
+
+ expect(findBlameComponents().at(0).exists()).toBe(true);
+ expect(findBlameComponents().at(0).props()).toMatchObject({ blameData });
+ });
+
+ it('calls the query only once per chunk', async () => {
+ jest.spyOn(wrapper.vm.$apollo, 'query');
+
+ // We trigger the `appear` event multiple times here in order to simulate the user scrolling past the chunk more than once.
+ // In this scenario we only want to query the backend once.
+ await triggerChunkAppear();
+ await triggerChunkAppear();
+
+ expect(wrapper.vm.$apollo.query).toHaveBeenCalledTimes(1);
+ });
+
+ it('does not render a Blame component when `showBlame: false`', async () => {
+ createComponent({ showBlame: false });
+ await triggerChunkAppear();
+
+ expect(findBlameComponents()).toHaveLength(0);
+ });
+ });
+
it('renders a Chunk component for each chunk', () => {
expect(findChunks().at(0).props()).toMatchObject(CHUNK_1);
expect(findChunks().at(1).props()).toMatchObject(CHUNK_2);
diff --git a/spec/graphql/types/analytics/cycle_analytics/value_stream_type_spec.rb b/spec/graphql/types/analytics/cycle_analytics/value_stream_type_spec.rb
index c4c0d0824b3..5e2638210d3 100644
--- a/spec/graphql/types/analytics/cycle_analytics/value_stream_type_spec.rb
+++ b/spec/graphql/types/analytics/cycle_analytics/value_stream_type_spec.rb
@@ -7,5 +7,5 @@ RSpec.describe Types::Analytics::CycleAnalytics::ValueStreamType, feature_catego
specify { expect(described_class).to require_graphql_authorizations(:read_cycle_analytics) }
- specify { expect(described_class).to have_graphql_fields(:name, :namespace, :project) }
+ specify { expect(described_class).to have_graphql_fields(:id, :name, :namespace, :project) }
end
diff --git a/spec/graphql/types/project_type_spec.rb b/spec/graphql/types/project_type_spec.rb
index e295014a2a6..7b4bcf4b1b0 100644
--- a/spec/graphql/types/project_type_spec.rb
+++ b/spec/graphql/types/project_type_spec.rb
@@ -39,7 +39,7 @@ RSpec.describe GitlabSchema.types['Project'] do
recent_issue_boards ci_config_path_or_default packages_cleanup_policy ci_variables
timelog_categories fork_targets branch_rules ci_config_variables pipeline_schedules languages
incident_management_timeline_event_tags visible_forks inherited_ci_variables autocomplete_users
- ci_cd_settings
+ ci_cd_settings detailed_import_status
]
expect(described_class).to include_graphql_fields(*expected_fields)
@@ -932,4 +932,93 @@ RSpec.describe GitlabSchema.types['Project'] do
end
end
end
+
+ describe 'detailed_import_status' do
+ let_it_be_with_reload(:project) { create(:project, :with_import_url) }
+
+ let(:query) do
+ %(
+ query {
+ project(fullPath: "#{project.full_path}") {
+ detailedImportStatus {
+ status
+ url
+ lastError
+ }
+ }
+ }
+ )
+ end
+
+ subject { GitlabSchema.execute(query, context: { current_user: current_user }).as_json }
+
+ let(:detailed_import_status) do
+ subject.dig('data', 'project', 'detailedImportStatus')
+ end
+
+ context 'when project is not imported' do
+ let(:current_user) { create(:user) }
+
+ before do
+ project.add_developer(current_user)
+ project.import_state.destroy!
+ end
+
+ it 'returns nil' do
+ expect(detailed_import_status).to be_nil
+ end
+ end
+
+ context 'when current_user is not set' do
+ let(:current_user) { nil }
+
+ it 'returns nil' do
+ expect(detailed_import_status).to be_nil
+ end
+ end
+
+ context 'when current_user has no permission' do
+ let(:current_user) { create(:user) }
+
+ it 'returns nil' do
+ expect(detailed_import_status).to be_nil
+ end
+ end
+
+ context 'when current_user has limited permission' do
+ let(:current_user) { create(:user) }
+
+ before do
+ project.add_developer(current_user)
+ project.import_state.last_error = 'Some error'
+ project.import_state.save!
+ end
+
+ it 'returns detailed information' do
+ expect(detailed_import_status).to include(
+ 'status' => project.import_state.status,
+ 'url' => project.safe_import_url,
+ 'lastError' => nil
+ )
+ end
+ end
+
+ context 'when current_user has permission' do
+ let(:current_user) { create(:user) }
+
+ before do
+ project.add_maintainer(current_user)
+ project.import_state.last_error = 'Some error'
+ project.import_state.save!
+ end
+
+ it 'returns detailed information' do
+ expect(detailed_import_status).to include(
+ 'status' => project.import_state.status,
+ 'url' => project.safe_import_url,
+ 'lastError' => 'Some error'
+ )
+ end
+ end
+ end
end
diff --git a/spec/graphql/types/projects/detailed_import_status_type_spec.rb b/spec/graphql/types/projects/detailed_import_status_type_spec.rb
new file mode 100644
index 00000000000..cfdf06e4ab5
--- /dev/null
+++ b/spec/graphql/types/projects/detailed_import_status_type_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe GitlabSchema.types['DetailedImportStatus'], feature_category: :importers do
+ include GraphqlHelpers
+
+ let(:fields) do
+ %w[
+ id
+ status
+ url
+ last_error
+ last_update_at
+ last_update_started_at
+ last_successful_update_at
+ ]
+ end
+
+ it { expect(described_class.graphql_name).to eq('DetailedImportStatus') }
+ it { expect(described_class).to have_graphql_fields(fields) }
+ it { expect(described_class).to require_graphql_authorizations(:read_project) }
+end
diff --git a/spec/lib/gitlab/bitbucket_import/importers/issue_importer_spec.rb b/spec/lib/gitlab/bitbucket_import/importers/issue_importer_spec.rb
index 8f79390d2d9..8732c787657 100644
--- a/spec/lib/gitlab/bitbucket_import/importers/issue_importer_spec.rb
+++ b/spec/lib/gitlab/bitbucket_import/importers/issue_importer_spec.rb
@@ -99,5 +99,13 @@ RSpec.describe Gitlab::BitbucketImport::Importers::IssueImporter, :clean_gitlab_
importer.execute
end
+
+ it 'increments the issue counter' do
+ expect_next_instance_of(Gitlab::Import::Metrics) do |metrics|
+ expect(metrics).to receive_message_chain(:issues_counter, :increment)
+ end
+
+ importer.execute
+ end
end
end
diff --git a/spec/lib/gitlab/bitbucket_import/importers/issues_importer_spec.rb b/spec/lib/gitlab/bitbucket_import/importers/issues_importer_spec.rb
index a361a9343dd..af5a929683e 100644
--- a/spec/lib/gitlab/bitbucket_import/importers/issues_importer_spec.rb
+++ b/spec/lib/gitlab/bitbucket_import/importers/issues_importer_spec.rb
@@ -12,22 +12,37 @@ RSpec.describe Gitlab::BitbucketImport::Importers::IssuesImporter, feature_categ
)
end
+ let(:client) { Bitbucket::Client.new(project.import_data.credentials) }
+
+ before do
+ allow(Bitbucket::Client).to receive(:new).and_return(client)
+ allow(client).to receive(:repo).and_return(Bitbucket::Representation::Repo.new({ 'has_issues' => true }))
+ allow(client).to receive(:last_issue).and_return(Bitbucket::Representation::Issue.new({ 'id' => 2 }))
+ allow(client).to receive(:issues).and_return(
+ [
+ Bitbucket::Representation::Issue.new({ 'id' => 1 }),
+ Bitbucket::Representation::Issue.new({ 'id' => 2 })
+ ],
+ []
+ )
+ end
+
subject(:importer) { described_class.new(project) }
describe '#execute', :clean_gitlab_redis_cache do
- before do
- allow_next_instance_of(Bitbucket::Client) do |client|
- allow(client).to receive(:issues).and_return(
- [
- Bitbucket::Representation::Issue.new({ 'id' => 1 }),
- Bitbucket::Representation::Issue.new({ 'id' => 2 })
- ],
- []
- )
+ context 'when the repo does not have issue tracking enabled' do
+ before do
+ allow(client).to receive(:repo).and_return(Bitbucket::Representation::Repo.new({ 'has_issues' => false }))
+ end
+
+ it 'does not import issues' do
+ expect(Gitlab::BitbucketImport::ImportIssueWorker).not_to receive(:perform_in)
+
+ importer.execute
end
end
- it 'imports each issue in parallel', :aggregate_failures do
+ it 'imports each issue in parallel' do
expect(Gitlab::BitbucketImport::ImportIssueWorker).to receive(:perform_in).twice
waiter = importer.execute
@@ -38,11 +53,15 @@ RSpec.describe Gitlab::BitbucketImport::Importers::IssuesImporter, feature_categ
.to match_array(%w[1 2])
end
+ it 'allocates internal ids' do
+ expect(Issue).to receive(:track_namespace_iid!).with(project.project_namespace, 2)
+
+ importer.execute
+ end
+
context 'when the client raises an error' do
before do
- allow_next_instance_of(Bitbucket::Client) do |client|
- allow(client).to receive(:issues).and_raise(StandardError)
- end
+ allow(client).to receive(:issues).and_raise(StandardError)
end
it 'tracks the failure and does not fail' do
@@ -57,7 +76,7 @@ RSpec.describe Gitlab::BitbucketImport::Importers::IssuesImporter, feature_categ
Gitlab::Cache::Import::Caching.set_add(importer.already_enqueued_cache_key, 1)
end
- it 'does not schedule job for enqueued issues', :aggregate_failures do
+ it 'does not schedule job for enqueued issues' do
expect(Gitlab::BitbucketImport::ImportIssueWorker).to receive(:perform_in).once
waiter = importer.execute
diff --git a/spec/lib/gitlab/bitbucket_import/importers/issues_notes_importer_spec.rb b/spec/lib/gitlab/bitbucket_import/importers/issues_notes_importer_spec.rb
index 1466b91fa8b..a04543b0511 100644
--- a/spec/lib/gitlab/bitbucket_import/importers/issues_notes_importer_spec.rb
+++ b/spec/lib/gitlab/bitbucket_import/importers/issues_notes_importer_spec.rb
@@ -10,7 +10,7 @@ RSpec.describe Gitlab::BitbucketImport::Importers::IssuesNotesImporter, feature_
subject(:importer) { described_class.new(project) }
describe '#execute', :clean_gitlab_redis_cache do
- it 'imports the notes from each issue in parallel', :aggregate_failures do
+ it 'imports the notes from each issue in parallel' do
expect(Gitlab::BitbucketImport::ImportIssueNotesWorker).to receive(:perform_in).twice
waiter = importer.execute
@@ -38,7 +38,7 @@ RSpec.describe Gitlab::BitbucketImport::Importers::IssuesNotesImporter, feature_
Gitlab::Cache::Import::Caching.set_add(importer.already_enqueued_cache_key, 2)
end
- it 'does not schedule job for enqueued issues', :aggregate_failures do
+ it 'does not schedule job for enqueued issues' do
expect(Gitlab::BitbucketImport::ImportIssueNotesWorker).to receive(:perform_in).once
waiter = importer.execute
diff --git a/spec/lib/gitlab/bitbucket_import/importers/pull_request_importer_spec.rb b/spec/lib/gitlab/bitbucket_import/importers/pull_request_importer_spec.rb
index 2eca6bb47d6..1f36a353724 100644
--- a/spec/lib/gitlab/bitbucket_import/importers/pull_request_importer_spec.rb
+++ b/spec/lib/gitlab/bitbucket_import/importers/pull_request_importer_spec.rb
@@ -162,5 +162,13 @@ RSpec.describe Gitlab::BitbucketImport::Importers::PullRequestImporter, :clean_g
importer.execute
end
+
+ it 'increments the merge requests counter' do
+ expect_next_instance_of(Gitlab::Import::Metrics) do |metrics|
+ expect(metrics).to receive_message_chain(:merge_requests_counter, :increment)
+ end
+
+ importer.execute
+ end
end
end
diff --git a/spec/lib/gitlab/bitbucket_import/importers/pull_requests_importer_spec.rb b/spec/lib/gitlab/bitbucket_import/importers/pull_requests_importer_spec.rb
index 46bf099de0c..eba7ec92aba 100644
--- a/spec/lib/gitlab/bitbucket_import/importers/pull_requests_importer_spec.rb
+++ b/spec/lib/gitlab/bitbucket_import/importers/pull_requests_importer_spec.rb
@@ -28,7 +28,7 @@ RSpec.describe Gitlab::BitbucketImport::Importers::PullRequestsImporter, feature
end
end
- it 'imports each pull request in parallel', :aggregate_failures do
+ it 'imports each pull request in parallel' do
expect(Gitlab::BitbucketImport::ImportPullRequestWorker).to receive(:perform_in).exactly(3).times
waiter = importer.execute
@@ -58,7 +58,7 @@ RSpec.describe Gitlab::BitbucketImport::Importers::PullRequestsImporter, feature
Gitlab::Cache::Import::Caching.set_add(importer.already_enqueued_cache_key, 1)
end
- it 'does not schedule job for enqueued pull requests', :aggregate_failures do
+ it 'does not schedule job for enqueued pull requests' do
expect(Gitlab::BitbucketImport::ImportPullRequestWorker).to receive(:perform_in).twice
waiter = importer.execute
diff --git a/spec/lib/gitlab/bitbucket_import/importers/pull_requests_notes_importer_spec.rb b/spec/lib/gitlab/bitbucket_import/importers/pull_requests_notes_importer_spec.rb
index c44fc259c3b..78a08accf82 100644
--- a/spec/lib/gitlab/bitbucket_import/importers/pull_requests_notes_importer_spec.rb
+++ b/spec/lib/gitlab/bitbucket_import/importers/pull_requests_notes_importer_spec.rb
@@ -10,7 +10,7 @@ RSpec.describe Gitlab::BitbucketImport::Importers::PullRequestsNotesImporter, fe
subject(:importer) { described_class.new(project) }
describe '#execute', :clean_gitlab_redis_cache do
- it 'imports the notes from each merge request in parallel', :aggregate_failures do
+ it 'imports the notes from each merge request in parallel' do
expect(Gitlab::BitbucketImport::ImportPullRequestNotesWorker).to receive(:perform_in).twice
waiter = importer.execute
@@ -38,7 +38,7 @@ RSpec.describe Gitlab::BitbucketImport::Importers::PullRequestsNotesImporter, fe
Gitlab::Cache::Import::Caching.set_add(importer.already_enqueued_cache_key, 2)
end
- it 'does not schedule job for enqueued merge requests', :aggregate_failures do
+ it 'does not schedule job for enqueued merge requests' do
expect(Gitlab::BitbucketImport::ImportPullRequestNotesWorker).to receive(:perform_in).once
waiter = importer.execute
diff --git a/spec/lib/gitlab/gitaly_client/conflict_files_stitcher_spec.rb b/spec/lib/gitlab/gitaly_client/conflict_files_stitcher_spec.rb
index d0787d8b673..816b59b96ae 100644
--- a/spec/lib/gitlab/gitaly_client/conflict_files_stitcher_spec.rb
+++ b/spec/lib/gitlab/gitaly_client/conflict_files_stitcher_spec.rb
@@ -3,12 +3,12 @@
require 'spec_helper'
RSpec.describe Gitlab::GitalyClient::ConflictFilesStitcher do
+ let_it_be(:target_project) { create(:project, :repository) }
+ let_it_be(:target_repository) { target_project.repository.raw }
+ let_it_be(:target_gitaly_repository) { target_repository.gitaly_repository }
+
describe 'enumeration' do
it 'combines segregated ConflictFile messages together' do
- target_project = create(:project, :repository)
- target_repository = target_project.repository.raw
- target_gitaly_repository = target_repository.gitaly_repository
-
ancestor_path_1 = 'ancestor/path/1'
our_path_1 = 'our/path/1'
their_path_1 = 'their/path/1'
@@ -69,5 +69,49 @@ RSpec.describe Gitlab::GitalyClient::ConflictFilesStitcher do
expect(conflict_files[1].repository).to eq(target_repository)
expect(conflict_files[1].commit_oid).to eq(commit_oid_2)
end
+
+ it 'handles non-latin character names' do
+ ancestor_path_1_utf8 = "ancestor/テスト.txt"
+ our_path_1_utf8 = "our/テスト.txt"
+ their_path_1_utf8 = "their/テスト.txt"
+
+ ancestor_path_1 = String.new('ancestor/テスト.txt', encoding: Encoding::US_ASCII)
+ our_path_1 = String.new('our/テスト.txt', encoding: Encoding::US_ASCII)
+ their_path_1 = String.new('their/テスト.txt', encoding: Encoding::US_ASCII)
+ our_mode_1 = 0744
+ commit_oid_1 = 'f00'
+ content_1 = 'content of the first file'
+
+ header_1 = double(
+ repository: target_gitaly_repository,
+ commit_oid: commit_oid_1,
+ ancestor_path: ancestor_path_1.dup,
+ our_path: our_path_1.dup,
+ their_path: their_path_1.dup,
+ our_mode: our_mode_1
+ )
+
+ messages = [
+ double(files: [double(header: header_1), double(header: nil, content: content_1[0..5])]),
+ double(files: [double(header: nil, content: content_1[6..])])
+ ]
+
+ conflict_files = described_class.new(messages, target_repository.gitaly_repository).to_a
+
+ expect(conflict_files.size).to be(1)
+
+ expect(conflict_files[0].content).to eq(content_1)
+ expect(conflict_files[0].ancestor_path).to eq(ancestor_path_1_utf8)
+ expect(conflict_files[0].their_path).to eq(their_path_1_utf8)
+ expect(conflict_files[0].our_path).to eq(our_path_1_utf8)
+ expect(conflict_files[0].our_mode).to be(our_mode_1)
+ expect(conflict_files[0].repository).to eq(target_repository)
+ expect(conflict_files[0].commit_oid).to eq(commit_oid_1)
+
+ # Doesn't equal the ASCII version
+ expect(conflict_files[0].ancestor_path).not_to eq(ancestor_path_1)
+ expect(conflict_files[0].their_path).not_to eq(their_path_1)
+ expect(conflict_files[0].our_path).not_to eq(our_path_1)
+ end
end
end
diff --git a/spec/lib/sidebars/projects/menus/security_compliance_menu_spec.rb b/spec/lib/sidebars/projects/menus/security_compliance_menu_spec.rb
index 4b4706bd311..c7c0586c2f1 100644
--- a/spec/lib/sidebars/projects/menus/security_compliance_menu_spec.rb
+++ b/spec/lib/sidebars/projects/menus/security_compliance_menu_spec.rb
@@ -21,9 +21,12 @@ RSpec.describe Sidebars::Projects::Menus::SecurityComplianceMenu do
context 'when user is authenticated' do
context 'when the Security and Compliance is disabled' do
+ let_it_be(:project) { create(:project, :security_and_compliance_disabled) }
+
before do
allow(Ability).to receive(:allowed?).with(user, :access_security_and_compliance, project).and_return(false)
allow(Ability).to receive(:allowed?).with(user, :read_security_resource, project).and_return(false)
+ allow(project).to receive(:security_and_compliance_enabled?).and_return(false)
end
it { is_expected.to be_falsey }
diff --git a/spec/lib/sidebars/projects/super_sidebar_menus/monitor_menu_spec.rb b/spec/lib/sidebars/projects/super_sidebar_menus/monitor_menu_spec.rb
index e5c5204e0b4..3f8a146f040 100644
--- a/spec/lib/sidebars/projects/super_sidebar_menus/monitor_menu_spec.rb
+++ b/spec/lib/sidebars/projects/super_sidebar_menus/monitor_menu_spec.rb
@@ -16,6 +16,7 @@ RSpec.describe Sidebars::Projects::SuperSidebarMenus::MonitorMenu, feature_categ
expect(items.map(&:class).uniq).to eq([Sidebars::NilMenuItem])
expect(items.map(&:item_id)).to eq([
:tracing,
+ :metrics,
:error_tracking,
:alert_management,
:incidents,
diff --git a/spec/services/bulk_imports/process_service_spec.rb b/spec/services/bulk_imports/process_service_spec.rb
index 5398e76cb67..7dbd3153357 100644
--- a/spec/services/bulk_imports/process_service_spec.rb
+++ b/spec/services/bulk_imports/process_service_spec.rb
@@ -229,7 +229,7 @@ RSpec.describe BulkImports::ProcessService, feature_category: :importers do
bulk_import_entity_type: entity.source_type,
source_full_path: entity.source_full_path,
importer: 'gitlab_migration',
- pipeline_name: 'PipelineClass4',
+ pipeline_class: 'PipelineClass4',
minimum_source_version: '15.1.0',
maximum_source_version: nil,
source_version: '15.0.0'
@@ -242,7 +242,7 @@ RSpec.describe BulkImports::ProcessService, feature_category: :importers do
bulk_import_entity_type: entity.source_type,
source_full_path: entity.source_full_path,
importer: 'gitlab_migration',
- pipeline_name: 'PipelineClass5',
+ pipeline_class: 'PipelineClass5',
minimum_source_version: '16.0.0',
maximum_source_version: nil,
source_version: '15.0.0'
diff --git a/spec/services/bulk_imports/relation_batch_export_service_spec.rb b/spec/services/bulk_imports/relation_batch_export_service_spec.rb
index 8548e01a6aa..7729c17098a 100644
--- a/spec/services/bulk_imports/relation_batch_export_service_spec.rb
+++ b/spec/services/bulk_imports/relation_batch_export_service_spec.rb
@@ -10,7 +10,7 @@ RSpec.describe BulkImports::RelationBatchExportService, feature_category: :impor
let_it_be(:batch) { create(:bulk_import_export_batch, export: export) }
let_it_be(:cache_key) { BulkImports::BatchedRelationExportService.cache_key(export.id, batch.id) }
- subject(:service) { described_class.new(user.id, batch.id) }
+ subject(:service) { described_class.new(user, batch) }
before_all do
Gitlab::Cache::Import::Caching.set_add(cache_key, label.id)
diff --git a/spec/services/ci/cancel_pipeline_service_spec.rb b/spec/services/ci/cancel_pipeline_service_spec.rb
index c4a1e1c26d1..256d2db1ed2 100644
--- a/spec/services/ci/cancel_pipeline_service_spec.rb
+++ b/spec/services/ci/cancel_pipeline_service_spec.rb
@@ -12,12 +12,12 @@ RSpec.describe Ci::CancelPipelineService, :aggregate_failures, feature_category:
pipeline: pipeline,
current_user: current_user,
cascade_to_children: cascade_to_children,
- auto_canceled_by_pipeline_id: auto_canceled_by_pipeline_id,
+ auto_canceled_by_pipeline: auto_canceled_by_pipeline,
execute_async: execute_async)
end
let(:cascade_to_children) { true }
- let(:auto_canceled_by_pipeline_id) { nil }
+ let(:auto_canceled_by_pipeline) { nil }
let(:execute_async) { true }
shared_examples 'force_execute' do
@@ -58,14 +58,19 @@ RSpec.describe Ci::CancelPipelineService, :aggregate_failures, feature_category:
expect(pipeline.all_jobs.pluck(:status)).to match_array(%w[canceled canceled success])
end
- context 'when auto_canceled_by_pipeline_id is provided' do
- let(:auto_canceled_by_pipeline_id) { create(:ci_pipeline).id }
+ context 'when auto_canceled_by_pipeline is provided' do
+ let(:auto_canceled_by_pipeline) { create(:ci_pipeline) }
it 'updates the pipeline and jobs with it' do
subject
- expect(pipeline.auto_canceled_by_id).to eq(auto_canceled_by_pipeline_id)
- expect(pipeline.all_jobs.canceled.pluck(:auto_canceled_by_id).uniq).to eq([auto_canceled_by_pipeline_id])
+ expect(pipeline.auto_canceled_by_id).to eq(auto_canceled_by_pipeline.id)
+
+ expect(pipeline.all_jobs.canceled.pluck(:auto_canceled_by_id).uniq)
+ .to eq([auto_canceled_by_pipeline.id])
+
+ expect(pipeline.all_jobs.canceled.pluck(:auto_canceled_by_partition_id).uniq)
+ .to eq([auto_canceled_by_pipeline.partition_id])
end
end
diff --git a/spec/support/helpers/database/duplicate_indexes.yml b/spec/support/helpers/database/duplicate_indexes.yml
index 02efdabd70b..1e78b8fc774 100644
--- a/spec/support/helpers/database/duplicate_indexes.yml
+++ b/spec/support/helpers/database/duplicate_indexes.yml
@@ -213,9 +213,6 @@ sbom_occurrences:
- index_sbom_occurrences_on_project_id
index_sbom_occurrences_on_project_id_and_package_manager:
- index_sbom_occurrences_on_project_id
-scan_result_policies:
- index_scan_result_policies_on_position_in_configuration:
- - index_scan_result_policies_on_policy_configuration_id
search_namespace_index_assignments:
index_search_namespace_index_assignments_uniqueness_index_type:
- index_search_namespace_index_assignments_on_namespace_id
diff --git a/spec/support/shared_examples/requests/api/graphql/remote_development_shared_examples.rb b/spec/support/shared_examples/requests/api/graphql/remote_development_shared_examples.rb
deleted file mode 100644
index 83e22945361..00000000000
--- a/spec/support/shared_examples/requests/api/graphql/remote_development_shared_examples.rb
+++ /dev/null
@@ -1,48 +0,0 @@
-# frozen_string_literal: true
-
-RSpec.shared_examples 'workspaces query in licensed environment and with feature flag on' do
- describe 'when licensed and remote_development_feature_flag feature flag is enabled' do
- before do
- stub_licensed_features(remote_development: true)
-
- post_graphql(query, current_user: current_user)
- end
-
- it_behaves_like 'a working graphql query'
-
- it { is_expected.to match_array(a_hash_including('name' => workspace.name)) }
-
- context 'when user is not authorized' do
- let(:current_user) { create(:user) }
-
- it { is_expected.to eq([]) }
- end
- end
-end
-
-RSpec.shared_examples 'workspaces query in unlicensed environment and with feature flag off' do
- describe 'when remote_development feature is unlicensed' do
- before do
- stub_licensed_features(remote_development: false)
- post_graphql(query, current_user: current_user)
- end
-
- it 'returns an error' do
- expect(subject).to be_nil
- expect_graphql_errors_to_include(/'remote_development' licensed feature is not available/)
- end
- end
-
- describe 'when remote_development_feature_flag feature flag is disabled' do
- before do
- stub_licensed_features(remote_development: true)
- stub_feature_flags(remote_development_feature_flag: false)
- post_graphql(query, current_user: current_user)
- end
-
- it 'returns an error' do
- expect(subject).to be_nil
- expect_graphql_errors_to_include(/'remote_development_feature_flag' feature flag is disabled/)
- end
- end
-end
diff --git a/spec/workers/bulk_imports/pipeline_worker_spec.rb b/spec/workers/bulk_imports/pipeline_worker_spec.rb
index 2042300edf0..37205026a90 100644
--- a/spec/workers/bulk_imports/pipeline_worker_spec.rb
+++ b/spec/workers/bulk_imports/pipeline_worker_spec.rb
@@ -44,7 +44,7 @@ RSpec.describe BulkImports::PipelineWorker, feature_category: :importers do
.to receive(:info)
.with(
hash_including(
- 'pipeline_name' => 'FakePipeline',
+ 'pipeline_class' => 'FakePipeline',
'bulk_import_id' => entity.bulk_import_id,
'bulk_import_entity_id' => entity.id,
'bulk_import_entity_type' => entity.source_type,
@@ -94,7 +94,7 @@ RSpec.describe BulkImports::PipelineWorker, feature_category: :importers do
.to receive(:error)
.with(
hash_including(
- 'pipeline_name' => 'FakePipeline',
+ 'pipeline_class' => 'FakePipeline',
'bulk_import_entity_id' => entity.id,
'bulk_import_id' => entity.bulk_import_id,
'bulk_import_entity_type' => entity.source_type,
@@ -118,7 +118,7 @@ RSpec.describe BulkImports::PipelineWorker, feature_category: :importers do
'bulk_import_id' => entity.bulk_import.id,
'bulk_import_entity_type' => entity.source_type,
'source_full_path' => entity.source_full_path,
- 'pipeline_name' => pipeline_tracker.pipeline_name,
+ 'pipeline_class' => pipeline_tracker.pipeline_name,
'importer' => 'gitlab_migration',
'source_version' => entity.bulk_import.source_version_info.to_s
)
@@ -160,7 +160,7 @@ RSpec.describe BulkImports::PipelineWorker, feature_category: :importers do
'bulk_import_entity_type' => entity.source_type,
'pipeline_tracker_id' => pipeline_tracker.id,
'pipeline_tracker_state' => status,
- 'pipeline_name' => pipeline_tracker.pipeline_name,
+ 'pipeline_class' => pipeline_tracker.pipeline_name,
'source_full_path' => entity.source_full_path,
'source_version' => entity.bulk_import.source_version_info.to_s,
'importer' => 'gitlab_migration',
@@ -233,7 +233,7 @@ RSpec.describe BulkImports::PipelineWorker, feature_category: :importers do
.to receive(:info)
.with(
hash_including(
- 'pipeline_name' => 'FakePipeline',
+ 'pipeline_class' => 'FakePipeline',
'bulk_import_entity_id' => entity.id,
'bulk_import_id' => entity.bulk_import_id,
'bulk_import_entity_type' => entity.source_type,
@@ -283,7 +283,7 @@ RSpec.describe BulkImports::PipelineWorker, feature_category: :importers do
.to receive(:info)
.with(
hash_including(
- 'pipeline_name' => 'FakePipeline',
+ 'pipeline_class' => 'FakePipeline',
'bulk_import_entity_id' => entity.id,
'bulk_import_id' => entity.bulk_import_id,
'bulk_import_entity_type' => entity.source_type,
@@ -421,7 +421,7 @@ RSpec.describe BulkImports::PipelineWorker, feature_category: :importers do
.to receive(:error)
.with(
hash_including(
- 'pipeline_name' => 'NdjsonPipeline',
+ 'pipeline_class' => 'NdjsonPipeline',
'bulk_import_entity_id' => entity.id,
'bulk_import_id' => entity.bulk_import_id,
'bulk_import_entity_type' => entity.source_type,
@@ -476,7 +476,7 @@ RSpec.describe BulkImports::PipelineWorker, feature_category: :importers do
.to receive(:error)
.with(
hash_including(
- 'pipeline_name' => 'NdjsonPipeline',
+ 'pipeline_class' => 'NdjsonPipeline',
'bulk_import_entity_id' => entity.id,
'bulk_import_id' => entity.bulk_import_id,
'bulk_import_entity_type' => entity.source_type,
diff --git a/spec/workers/bulk_imports/relation_batch_export_worker_spec.rb b/spec/workers/bulk_imports/relation_batch_export_worker_spec.rb
index 4a2c8d48742..e27e2dc0ac8 100644
--- a/spec/workers/bulk_imports/relation_batch_export_worker_spec.rb
+++ b/spec/workers/bulk_imports/relation_batch_export_worker_spec.rb
@@ -15,7 +15,7 @@ RSpec.describe BulkImports::RelationBatchExportWorker, feature_category: :import
expect(BulkImports::RelationBatchExportService)
.to receive(:new)
- .with(user.id, batch.id)
+ .with(user, batch)
.twice.and_return(service)
expect(service).to receive(:execute).twice
diff --git a/spec/workers/ci/cancel_pipeline_worker_spec.rb b/spec/workers/ci/cancel_pipeline_worker_spec.rb
index 13a9c0affe7..8e8f9a78132 100644
--- a/spec/workers/ci/cancel_pipeline_worker_spec.rb
+++ b/spec/workers/ci/cancel_pipeline_worker_spec.rb
@@ -11,14 +11,13 @@ RSpec.describe Ci::CancelPipelineWorker, :aggregate_failures, feature_category:
let(:cancel_service) { instance_double(::Ci::CancelPipelineService) }
it 'cancels the pipeline' do
- allow(::Ci::Pipeline).to receive(:find_by_id).and_return(pipeline)
+ allow(::Ci::Pipeline).to receive(:find_by_id).twice.and_return(pipeline)
expect(::Ci::CancelPipelineService)
.to receive(:new)
.with(
pipeline: pipeline,
current_user: nil,
- auto_canceled_by_pipeline_id:
- pipeline.id,
+ auto_canceled_by_pipeline: pipeline,
cascade_to_children: false)
.and_return(cancel_service)
@@ -28,7 +27,7 @@ RSpec.describe Ci::CancelPipelineWorker, :aggregate_failures, feature_category:
end
context 'if pipeline is deleted' do
- subject(:perform) { described_class.new.perform(non_existing_record_id, non_existing_record_id) }
+ subject(:perform) { described_class.new.perform(non_existing_record_id, pipeline.id) }
it 'does not error' do
expect(::Ci::CancelPipelineService).not_to receive(:new)
@@ -37,6 +36,23 @@ RSpec.describe Ci::CancelPipelineWorker, :aggregate_failures, feature_category:
end
end
+ context 'when auto_canceled_by_pipeline is deleted' do
+ subject(:perform) { described_class.new.perform(pipeline.id, non_existing_record_id) }
+
+ it 'does not error' do
+ expect(::Ci::CancelPipelineService)
+ .to receive(:new)
+ .with(
+ pipeline: an_instance_of(::Ci::Pipeline),
+ current_user: nil,
+ auto_canceled_by_pipeline: nil,
+ cascade_to_children: false)
+ .and_call_original
+
+ perform
+ end
+ end
+
describe 'with builds and state transition side effects', :sidekiq_inline do
let!(:build) { create(:ci_build, :running, pipeline: pipeline) }