From 5d69d2cad76573d3a6603312e0c1f97703bc4b8d Mon Sep 17 00:00:00 2001 From: Christian Lawson-Perfect Date: Sun, 9 Feb 2025 19:55:34 +0000 Subject: [PATCH] first commit --- .gitignore | 4 + .watchmakerc | 2 + Makefile | 11 + app.js | 6452 ++++++ cgi-bin/save_data.py | 17 + elm.json | 25 + emoji_metadata.json | 46989 +++++++++++++++++++++++++++++++++++++++ index.html | 30 + load-app.js | 194 + map.css | 28 + marked.js | 2568 +++ show-error.mjs | 21 + src/App.elm | 426 + src/LatLonDistance.elm | 50 + style.css | 76 + 15 files changed, 56893 insertions(+) create mode 100644 .gitignore create mode 100644 .watchmakerc create mode 100644 Makefile create mode 100644 app.js create mode 100755 cgi-bin/save_data.py create mode 100644 elm.json create mode 100644 emoji_metadata.json create mode 100644 index.html create mode 100644 load-app.js create mode 100644 map.css create mode 100644 marked.js create mode 100644 show-error.mjs create mode 100644 src/App.elm create mode 100644 src/LatLonDistance.elm create mode 100644 style.css diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..139cc98 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.make.* +error.txt +data +elm-stuff \ No newline at end of file diff --git a/.watchmakerc b/.watchmakerc new file mode 100644 index 0000000..285f521 --- /dev/null +++ b/.watchmakerc @@ -0,0 +1,2 @@ +extensions: + - .elm \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..092ea03 --- /dev/null +++ b/Makefile @@ -0,0 +1,11 @@ +DIRNAME=$(notdir $(CURDIR)) + +ELMS=$(wildcard src/*.elm) + +app.js: src/App.elm $(ELMS) + -elm make $< --output=$@ 2> error.txt + @cat error.txt + +upload: app.js index.html style.css + rsync -avz . clpland:~/domains/somethingorotherwhatever.com/html/$(DIRNAME) + @echo "Uploaded to https://somethingorotherwhatever.com/$(DIRNAME)" \ No newline at end of file diff --git a/app.js b/app.js new file mode 100644 index 0000000..1dc9ce8 --- /dev/null +++ b/app.js @@ -0,0 +1,6452 @@ +(function(scope){ +'use strict'; + +function F(arity, fun, wrapper) { + wrapper.a = arity; + wrapper.f = fun; + return wrapper; +} + +function F2(fun) { + return F(2, fun, function(a) { return function(b) { return fun(a,b); }; }) +} +function F3(fun) { + return F(3, fun, function(a) { + return function(b) { return function(c) { return fun(a, b, c); }; }; + }); +} +function F4(fun) { + return F(4, fun, function(a) { return function(b) { return function(c) { + return function(d) { return fun(a, b, c, d); }; }; }; + }); +} +function F5(fun) { + return F(5, fun, function(a) { return function(b) { return function(c) { + return function(d) { return function(e) { return fun(a, b, c, d, e); }; }; }; }; + }); +} +function F6(fun) { + return F(6, fun, function(a) { return function(b) { return function(c) { + return function(d) { return function(e) { return function(f) { + return fun(a, b, c, d, e, f); }; }; }; }; }; + }); +} +function F7(fun) { + return F(7, fun, function(a) { return function(b) { return function(c) { + return function(d) { return function(e) { return function(f) { + return function(g) { return fun(a, b, c, d, e, f, g); }; }; }; }; }; }; + }); +} +function F8(fun) { + return F(8, fun, function(a) { return function(b) { return function(c) { + return function(d) { return function(e) { return function(f) { + return function(g) { return function(h) { + return fun(a, b, c, d, e, f, g, h); }; }; }; }; }; }; }; + }); +} +function F9(fun) { + return F(9, fun, function(a) { return function(b) { return function(c) { + return function(d) { return function(e) { return function(f) { + return function(g) { return function(h) { return function(i) { + return fun(a, b, c, d, e, f, g, h, i); }; }; }; }; }; }; }; }; + }); +} + +function A2(fun, a, b) { + return fun.a === 2 ? fun.f(a, b) : fun(a)(b); +} +function A3(fun, a, b, c) { + return fun.a === 3 ? fun.f(a, b, c) : fun(a)(b)(c); +} +function A4(fun, a, b, c, d) { + return fun.a === 4 ? fun.f(a, b, c, d) : fun(a)(b)(c)(d); +} +function A5(fun, a, b, c, d, e) { + return fun.a === 5 ? fun.f(a, b, c, d, e) : fun(a)(b)(c)(d)(e); +} +function A6(fun, a, b, c, d, e, f) { + return fun.a === 6 ? fun.f(a, b, c, d, e, f) : fun(a)(b)(c)(d)(e)(f); +} +function A7(fun, a, b, c, d, e, f, g) { + return fun.a === 7 ? fun.f(a, b, c, d, e, f, g) : fun(a)(b)(c)(d)(e)(f)(g); +} +function A8(fun, a, b, c, d, e, f, g, h) { + return fun.a === 8 ? fun.f(a, b, c, d, e, f, g, h) : fun(a)(b)(c)(d)(e)(f)(g)(h); +} +function A9(fun, a, b, c, d, e, f, g, h, i) { + return fun.a === 9 ? fun.f(a, b, c, d, e, f, g, h, i) : fun(a)(b)(c)(d)(e)(f)(g)(h)(i); +} + +console.warn('Compiled in DEV mode. Follow the advice at https://elm-lang.org/0.19.1/optimize for better performance and smaller assets.'); + + +// EQUALITY + +function _Utils_eq(x, y) +{ + for ( + var pair, stack = [], isEqual = _Utils_eqHelp(x, y, 0, stack); + isEqual && (pair = stack.pop()); + isEqual = _Utils_eqHelp(pair.a, pair.b, 0, stack) + ) + {} + + return isEqual; +} + +function _Utils_eqHelp(x, y, depth, stack) +{ + if (x === y) + { + return true; + } + + if (typeof x !== 'object' || x === null || y === null) + { + typeof x === 'function' && _Debug_crash(5); + return false; + } + + if (depth > 100) + { + stack.push(_Utils_Tuple2(x,y)); + return true; + } + + /**/ + if (x.$ === 'Set_elm_builtin') + { + x = $elm$core$Set$toList(x); + y = $elm$core$Set$toList(y); + } + if (x.$ === 'RBNode_elm_builtin' || x.$ === 'RBEmpty_elm_builtin') + { + x = $elm$core$Dict$toList(x); + y = $elm$core$Dict$toList(y); + } + //*/ + + /**_UNUSED/ + if (x.$ < 0) + { + x = $elm$core$Dict$toList(x); + y = $elm$core$Dict$toList(y); + } + //*/ + + for (var key in x) + { + if (!_Utils_eqHelp(x[key], y[key], depth + 1, stack)) + { + return false; + } + } + return true; +} + +var _Utils_equal = F2(_Utils_eq); +var _Utils_notEqual = F2(function(a, b) { return !_Utils_eq(a,b); }); + + + +// COMPARISONS + +// Code in Generate/JavaScript.hs, Basics.js, and List.js depends on +// the particular integer values assigned to LT, EQ, and GT. + +function _Utils_cmp(x, y, ord) +{ + if (typeof x !== 'object') + { + return x === y ? /*EQ*/ 0 : x < y ? /*LT*/ -1 : /*GT*/ 1; + } + + /**/ + if (x instanceof String) + { + var a = x.valueOf(); + var b = y.valueOf(); + return a === b ? 0 : a < b ? -1 : 1; + } + //*/ + + /**_UNUSED/ + if (typeof x.$ === 'undefined') + //*/ + /**/ + if (x.$[0] === '#') + //*/ + { + return (ord = _Utils_cmp(x.a, y.a)) + ? ord + : (ord = _Utils_cmp(x.b, y.b)) + ? ord + : _Utils_cmp(x.c, y.c); + } + + // traverse conses until end of a list or a mismatch + for (; x.b && y.b && !(ord = _Utils_cmp(x.a, y.a)); x = x.b, y = y.b) {} // WHILE_CONSES + return ord || (x.b ? /*GT*/ 1 : y.b ? /*LT*/ -1 : /*EQ*/ 0); +} + +var _Utils_lt = F2(function(a, b) { return _Utils_cmp(a, b) < 0; }); +var _Utils_le = F2(function(a, b) { return _Utils_cmp(a, b) < 1; }); +var _Utils_gt = F2(function(a, b) { return _Utils_cmp(a, b) > 0; }); +var _Utils_ge = F2(function(a, b) { return _Utils_cmp(a, b) >= 0; }); + +var _Utils_compare = F2(function(x, y) +{ + var n = _Utils_cmp(x, y); + return n < 0 ? $elm$core$Basics$LT : n ? $elm$core$Basics$GT : $elm$core$Basics$EQ; +}); + + +// COMMON VALUES + +var _Utils_Tuple0_UNUSED = 0; +var _Utils_Tuple0 = { $: '#0' }; + +function _Utils_Tuple2_UNUSED(a, b) { return { a: a, b: b }; } +function _Utils_Tuple2(a, b) { return { $: '#2', a: a, b: b }; } + +function _Utils_Tuple3_UNUSED(a, b, c) { return { a: a, b: b, c: c }; } +function _Utils_Tuple3(a, b, c) { return { $: '#3', a: a, b: b, c: c }; } + +function _Utils_chr_UNUSED(c) { return c; } +function _Utils_chr(c) { return new String(c); } + + +// RECORDS + +function _Utils_update(oldRecord, updatedFields) +{ + var newRecord = {}; + + for (var key in oldRecord) + { + newRecord[key] = oldRecord[key]; + } + + for (var key in updatedFields) + { + newRecord[key] = updatedFields[key]; + } + + return newRecord; +} + + +// APPEND + +var _Utils_append = F2(_Utils_ap); + +function _Utils_ap(xs, ys) +{ + // append Strings + if (typeof xs === 'string') + { + return xs + ys; + } + + // append Lists + if (!xs.b) + { + return ys; + } + var root = _List_Cons(xs.a, ys); + xs = xs.b + for (var curr = root; xs.b; xs = xs.b) // WHILE_CONS + { + curr = curr.b = _List_Cons(xs.a, ys); + } + return root; +} + + + +var _List_Nil_UNUSED = { $: 0 }; +var _List_Nil = { $: '[]' }; + +function _List_Cons_UNUSED(hd, tl) { return { $: 1, a: hd, b: tl }; } +function _List_Cons(hd, tl) { return { $: '::', a: hd, b: tl }; } + + +var _List_cons = F2(_List_Cons); + +function _List_fromArray(arr) +{ + var out = _List_Nil; + for (var i = arr.length; i--; ) + { + out = _List_Cons(arr[i], out); + } + return out; +} + +function _List_toArray(xs) +{ + for (var out = []; xs.b; xs = xs.b) // WHILE_CONS + { + out.push(xs.a); + } + return out; +} + +var _List_map2 = F3(function(f, xs, ys) +{ + for (var arr = []; xs.b && ys.b; xs = xs.b, ys = ys.b) // WHILE_CONSES + { + arr.push(A2(f, xs.a, ys.a)); + } + return _List_fromArray(arr); +}); + +var _List_map3 = F4(function(f, xs, ys, zs) +{ + for (var arr = []; xs.b && ys.b && zs.b; xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES + { + arr.push(A3(f, xs.a, ys.a, zs.a)); + } + return _List_fromArray(arr); +}); + +var _List_map4 = F5(function(f, ws, xs, ys, zs) +{ + for (var arr = []; ws.b && xs.b && ys.b && zs.b; ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES + { + arr.push(A4(f, ws.a, xs.a, ys.a, zs.a)); + } + return _List_fromArray(arr); +}); + +var _List_map5 = F6(function(f, vs, ws, xs, ys, zs) +{ + for (var arr = []; vs.b && ws.b && xs.b && ys.b && zs.b; vs = vs.b, ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES + { + arr.push(A5(f, vs.a, ws.a, xs.a, ys.a, zs.a)); + } + return _List_fromArray(arr); +}); + +var _List_sortBy = F2(function(f, xs) +{ + return _List_fromArray(_List_toArray(xs).sort(function(a, b) { + return _Utils_cmp(f(a), f(b)); + })); +}); + +var _List_sortWith = F2(function(f, xs) +{ + return _List_fromArray(_List_toArray(xs).sort(function(a, b) { + var ord = A2(f, a, b); + return ord === $elm$core$Basics$EQ ? 0 : ord === $elm$core$Basics$LT ? -1 : 1; + })); +}); + + + +var _JsArray_empty = []; + +function _JsArray_singleton(value) +{ + return [value]; +} + +function _JsArray_length(array) +{ + return array.length; +} + +var _JsArray_initialize = F3(function(size, offset, func) +{ + var result = new Array(size); + + for (var i = 0; i < size; i++) + { + result[i] = func(offset + i); + } + + return result; +}); + +var _JsArray_initializeFromList = F2(function (max, ls) +{ + var result = new Array(max); + + for (var i = 0; i < max && ls.b; i++) + { + result[i] = ls.a; + ls = ls.b; + } + + result.length = i; + return _Utils_Tuple2(result, ls); +}); + +var _JsArray_unsafeGet = F2(function(index, array) +{ + return array[index]; +}); + +var _JsArray_unsafeSet = F3(function(index, value, array) +{ + var length = array.length; + var result = new Array(length); + + for (var i = 0; i < length; i++) + { + result[i] = array[i]; + } + + result[index] = value; + return result; +}); + +var _JsArray_push = F2(function(value, array) +{ + var length = array.length; + var result = new Array(length + 1); + + for (var i = 0; i < length; i++) + { + result[i] = array[i]; + } + + result[length] = value; + return result; +}); + +var _JsArray_foldl = F3(function(func, acc, array) +{ + var length = array.length; + + for (var i = 0; i < length; i++) + { + acc = A2(func, array[i], acc); + } + + return acc; +}); + +var _JsArray_foldr = F3(function(func, acc, array) +{ + for (var i = array.length - 1; i >= 0; i--) + { + acc = A2(func, array[i], acc); + } + + return acc; +}); + +var _JsArray_map = F2(function(func, array) +{ + var length = array.length; + var result = new Array(length); + + for (var i = 0; i < length; i++) + { + result[i] = func(array[i]); + } + + return result; +}); + +var _JsArray_indexedMap = F3(function(func, offset, array) +{ + var length = array.length; + var result = new Array(length); + + for (var i = 0; i < length; i++) + { + result[i] = A2(func, offset + i, array[i]); + } + + return result; +}); + +var _JsArray_slice = F3(function(from, to, array) +{ + return array.slice(from, to); +}); + +var _JsArray_appendN = F3(function(n, dest, source) +{ + var destLen = dest.length; + var itemsToCopy = n - destLen; + + if (itemsToCopy > source.length) + { + itemsToCopy = source.length; + } + + var size = destLen + itemsToCopy; + var result = new Array(size); + + for (var i = 0; i < destLen; i++) + { + result[i] = dest[i]; + } + + for (var i = 0; i < itemsToCopy; i++) + { + result[i + destLen] = source[i]; + } + + return result; +}); + + + +// LOG + +var _Debug_log_UNUSED = F2(function(tag, value) +{ + return value; +}); + +var _Debug_log = F2(function(tag, value) +{ + console.log(tag + ': ' + _Debug_toString(value)); + return value; +}); + + +// TODOS + +function _Debug_todo(moduleName, region) +{ + return function(message) { + _Debug_crash(8, moduleName, region, message); + }; +} + +function _Debug_todoCase(moduleName, region, value) +{ + return function(message) { + _Debug_crash(9, moduleName, region, value, message); + }; +} + + +// TO STRING + +function _Debug_toString_UNUSED(value) +{ + return ''; +} + +function _Debug_toString(value) +{ + return _Debug_toAnsiString(false, value); +} + +function _Debug_toAnsiString(ansi, value) +{ + if (typeof value === 'function') + { + return _Debug_internalColor(ansi, ''); + } + + if (typeof value === 'boolean') + { + return _Debug_ctorColor(ansi, value ? 'True' : 'False'); + } + + if (typeof value === 'number') + { + return _Debug_numberColor(ansi, value + ''); + } + + if (value instanceof String) + { + return _Debug_charColor(ansi, "'" + _Debug_addSlashes(value, true) + "'"); + } + + if (typeof value === 'string') + { + return _Debug_stringColor(ansi, '"' + _Debug_addSlashes(value, false) + '"'); + } + + if (typeof value === 'object' && '$' in value) + { + var tag = value.$; + + if (typeof tag === 'number') + { + return _Debug_internalColor(ansi, ''); + } + + if (tag[0] === '#') + { + var output = []; + for (var k in value) + { + if (k === '$') continue; + output.push(_Debug_toAnsiString(ansi, value[k])); + } + return '(' + output.join(',') + ')'; + } + + if (tag === 'Set_elm_builtin') + { + return _Debug_ctorColor(ansi, 'Set') + + _Debug_fadeColor(ansi, '.fromList') + ' ' + + _Debug_toAnsiString(ansi, $elm$core$Set$toList(value)); + } + + if (tag === 'RBNode_elm_builtin' || tag === 'RBEmpty_elm_builtin') + { + return _Debug_ctorColor(ansi, 'Dict') + + _Debug_fadeColor(ansi, '.fromList') + ' ' + + _Debug_toAnsiString(ansi, $elm$core$Dict$toList(value)); + } + + if (tag === 'Array_elm_builtin') + { + return _Debug_ctorColor(ansi, 'Array') + + _Debug_fadeColor(ansi, '.fromList') + ' ' + + _Debug_toAnsiString(ansi, $elm$core$Array$toList(value)); + } + + if (tag === '::' || tag === '[]') + { + var output = '['; + + value.b && (output += _Debug_toAnsiString(ansi, value.a), value = value.b) + + for (; value.b; value = value.b) // WHILE_CONS + { + output += ',' + _Debug_toAnsiString(ansi, value.a); + } + return output + ']'; + } + + var output = ''; + for (var i in value) + { + if (i === '$') continue; + var str = _Debug_toAnsiString(ansi, value[i]); + var c0 = str[0]; + var parenless = c0 === '{' || c0 === '(' || c0 === '[' || c0 === '<' || c0 === '"' || str.indexOf(' ') < 0; + output += ' ' + (parenless ? str : '(' + str + ')'); + } + return _Debug_ctorColor(ansi, tag) + output; + } + + if (typeof DataView === 'function' && value instanceof DataView) + { + return _Debug_stringColor(ansi, '<' + value.byteLength + ' bytes>'); + } + + if (typeof File !== 'undefined' && value instanceof File) + { + return _Debug_internalColor(ansi, '<' + value.name + '>'); + } + + if (typeof value === 'object') + { + var output = []; + for (var key in value) + { + var field = key[0] === '_' ? key.slice(1) : key; + output.push(_Debug_fadeColor(ansi, field) + ' = ' + _Debug_toAnsiString(ansi, value[key])); + } + if (output.length === 0) + { + return '{}'; + } + return '{ ' + output.join(', ') + ' }'; + } + + return _Debug_internalColor(ansi, ''); +} + +function _Debug_addSlashes(str, isChar) +{ + var s = str + .replace(/\\/g, '\\\\') + .replace(/\n/g, '\\n') + .replace(/\t/g, '\\t') + .replace(/\r/g, '\\r') + .replace(/\v/g, '\\v') + .replace(/\0/g, '\\0'); + + if (isChar) + { + return s.replace(/\'/g, '\\\''); + } + else + { + return s.replace(/\"/g, '\\"'); + } +} + +function _Debug_ctorColor(ansi, string) +{ + return ansi ? '\x1b[96m' + string + '\x1b[0m' : string; +} + +function _Debug_numberColor(ansi, string) +{ + return ansi ? '\x1b[95m' + string + '\x1b[0m' : string; +} + +function _Debug_stringColor(ansi, string) +{ + return ansi ? '\x1b[93m' + string + '\x1b[0m' : string; +} + +function _Debug_charColor(ansi, string) +{ + return ansi ? '\x1b[92m' + string + '\x1b[0m' : string; +} + +function _Debug_fadeColor(ansi, string) +{ + return ansi ? '\x1b[37m' + string + '\x1b[0m' : string; +} + +function _Debug_internalColor(ansi, string) +{ + return ansi ? '\x1b[36m' + string + '\x1b[0m' : string; +} + +function _Debug_toHexDigit(n) +{ + return String.fromCharCode(n < 10 ? 48 + n : 55 + n); +} + + +// CRASH + + +function _Debug_crash_UNUSED(identifier) +{ + throw new Error('https://github.com/elm/core/blob/1.0.0/hints/' + identifier + '.md'); +} + + +function _Debug_crash(identifier, fact1, fact2, fact3, fact4) +{ + switch(identifier) + { + case 0: + throw new Error('What node should I take over? In JavaScript I need something like:\n\n Elm.Main.init({\n node: document.getElementById("elm-node")\n })\n\nYou need to do this with any Browser.sandbox or Browser.element program.'); + + case 1: + throw new Error('Browser.application programs cannot handle URLs like this:\n\n ' + document.location.href + '\n\nWhat is the root? The root of your file system? Try looking at this program with `elm reactor` or some other server.'); + + case 2: + var jsonErrorString = fact1; + throw new Error('Problem with the flags given to your Elm program on initialization.\n\n' + jsonErrorString); + + case 3: + var portName = fact1; + throw new Error('There can only be one port named `' + portName + '`, but your program has multiple.'); + + case 4: + var portName = fact1; + var problem = fact2; + throw new Error('Trying to send an unexpected type of value through port `' + portName + '`:\n' + problem); + + case 5: + throw new Error('Trying to use `(==)` on functions.\nThere is no way to know if functions are "the same" in the Elm sense.\nRead more about this at https://package.elm-lang.org/packages/elm/core/latest/Basics#== which describes why it is this way and what the better version will look like.'); + + case 6: + var moduleName = fact1; + throw new Error('Your page is loading multiple Elm scripts with a module named ' + moduleName + '. Maybe a duplicate script is getting loaded accidentally? If not, rename one of them so I know which is which!'); + + case 8: + var moduleName = fact1; + var region = fact2; + var message = fact3; + throw new Error('TODO in module `' + moduleName + '` ' + _Debug_regionToString(region) + '\n\n' + message); + + case 9: + var moduleName = fact1; + var region = fact2; + var value = fact3; + var message = fact4; + throw new Error( + 'TODO in module `' + moduleName + '` from the `case` expression ' + + _Debug_regionToString(region) + '\n\nIt received the following value:\n\n ' + + _Debug_toString(value).replace('\n', '\n ') + + '\n\nBut the branch that handles it says:\n\n ' + message.replace('\n', '\n ') + ); + + case 10: + throw new Error('Bug in https://github.com/elm/virtual-dom/issues'); + + case 11: + throw new Error('Cannot perform mod 0. Division by zero error.'); + } +} + +function _Debug_regionToString(region) +{ + if (region.start.line === region.end.line) + { + return 'on line ' + region.start.line; + } + return 'on lines ' + region.start.line + ' through ' + region.end.line; +} + + + +// MATH + +var _Basics_add = F2(function(a, b) { return a + b; }); +var _Basics_sub = F2(function(a, b) { return a - b; }); +var _Basics_mul = F2(function(a, b) { return a * b; }); +var _Basics_fdiv = F2(function(a, b) { return a / b; }); +var _Basics_idiv = F2(function(a, b) { return (a / b) | 0; }); +var _Basics_pow = F2(Math.pow); + +var _Basics_remainderBy = F2(function(b, a) { return a % b; }); + +// https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/divmodnote-letter.pdf +var _Basics_modBy = F2(function(modulus, x) +{ + var answer = x % modulus; + return modulus === 0 + ? _Debug_crash(11) + : + ((answer > 0 && modulus < 0) || (answer < 0 && modulus > 0)) + ? answer + modulus + : answer; +}); + + +// TRIGONOMETRY + +var _Basics_pi = Math.PI; +var _Basics_e = Math.E; +var _Basics_cos = Math.cos; +var _Basics_sin = Math.sin; +var _Basics_tan = Math.tan; +var _Basics_acos = Math.acos; +var _Basics_asin = Math.asin; +var _Basics_atan = Math.atan; +var _Basics_atan2 = F2(Math.atan2); + + +// MORE MATH + +function _Basics_toFloat(x) { return x; } +function _Basics_truncate(n) { return n | 0; } +function _Basics_isInfinite(n) { return n === Infinity || n === -Infinity; } + +var _Basics_ceiling = Math.ceil; +var _Basics_floor = Math.floor; +var _Basics_round = Math.round; +var _Basics_sqrt = Math.sqrt; +var _Basics_log = Math.log; +var _Basics_isNaN = isNaN; + + +// BOOLEANS + +function _Basics_not(bool) { return !bool; } +var _Basics_and = F2(function(a, b) { return a && b; }); +var _Basics_or = F2(function(a, b) { return a || b; }); +var _Basics_xor = F2(function(a, b) { return a !== b; }); + + + +var _String_cons = F2(function(chr, str) +{ + return chr + str; +}); + +function _String_uncons(string) +{ + var word = string.charCodeAt(0); + return !isNaN(word) + ? $elm$core$Maybe$Just( + 0xD800 <= word && word <= 0xDBFF + ? _Utils_Tuple2(_Utils_chr(string[0] + string[1]), string.slice(2)) + : _Utils_Tuple2(_Utils_chr(string[0]), string.slice(1)) + ) + : $elm$core$Maybe$Nothing; +} + +var _String_append = F2(function(a, b) +{ + return a + b; +}); + +function _String_length(str) +{ + return str.length; +} + +var _String_map = F2(function(func, string) +{ + var len = string.length; + var array = new Array(len); + var i = 0; + while (i < len) + { + var word = string.charCodeAt(i); + if (0xD800 <= word && word <= 0xDBFF) + { + array[i] = func(_Utils_chr(string[i] + string[i+1])); + i += 2; + continue; + } + array[i] = func(_Utils_chr(string[i])); + i++; + } + return array.join(''); +}); + +var _String_filter = F2(function(isGood, str) +{ + var arr = []; + var len = str.length; + var i = 0; + while (i < len) + { + var char = str[i]; + var word = str.charCodeAt(i); + i++; + if (0xD800 <= word && word <= 0xDBFF) + { + char += str[i]; + i++; + } + + if (isGood(_Utils_chr(char))) + { + arr.push(char); + } + } + return arr.join(''); +}); + +function _String_reverse(str) +{ + var len = str.length; + var arr = new Array(len); + var i = 0; + while (i < len) + { + var word = str.charCodeAt(i); + if (0xD800 <= word && word <= 0xDBFF) + { + arr[len - i] = str[i + 1]; + i++; + arr[len - i] = str[i - 1]; + i++; + } + else + { + arr[len - i] = str[i]; + i++; + } + } + return arr.join(''); +} + +var _String_foldl = F3(function(func, state, string) +{ + var len = string.length; + var i = 0; + while (i < len) + { + var char = string[i]; + var word = string.charCodeAt(i); + i++; + if (0xD800 <= word && word <= 0xDBFF) + { + char += string[i]; + i++; + } + state = A2(func, _Utils_chr(char), state); + } + return state; +}); + +var _String_foldr = F3(function(func, state, string) +{ + var i = string.length; + while (i--) + { + var char = string[i]; + var word = string.charCodeAt(i); + if (0xDC00 <= word && word <= 0xDFFF) + { + i--; + char = string[i] + char; + } + state = A2(func, _Utils_chr(char), state); + } + return state; +}); + +var _String_split = F2(function(sep, str) +{ + return str.split(sep); +}); + +var _String_join = F2(function(sep, strs) +{ + return strs.join(sep); +}); + +var _String_slice = F3(function(start, end, str) { + return str.slice(start, end); +}); + +function _String_trim(str) +{ + return str.trim(); +} + +function _String_trimLeft(str) +{ + return str.replace(/^\s+/, ''); +} + +function _String_trimRight(str) +{ + return str.replace(/\s+$/, ''); +} + +function _String_words(str) +{ + return _List_fromArray(str.trim().split(/\s+/g)); +} + +function _String_lines(str) +{ + return _List_fromArray(str.split(/\r\n|\r|\n/g)); +} + +function _String_toUpper(str) +{ + return str.toUpperCase(); +} + +function _String_toLower(str) +{ + return str.toLowerCase(); +} + +var _String_any = F2(function(isGood, string) +{ + var i = string.length; + while (i--) + { + var char = string[i]; + var word = string.charCodeAt(i); + if (0xDC00 <= word && word <= 0xDFFF) + { + i--; + char = string[i] + char; + } + if (isGood(_Utils_chr(char))) + { + return true; + } + } + return false; +}); + +var _String_all = F2(function(isGood, string) +{ + var i = string.length; + while (i--) + { + var char = string[i]; + var word = string.charCodeAt(i); + if (0xDC00 <= word && word <= 0xDFFF) + { + i--; + char = string[i] + char; + } + if (!isGood(_Utils_chr(char))) + { + return false; + } + } + return true; +}); + +var _String_contains = F2(function(sub, str) +{ + return str.indexOf(sub) > -1; +}); + +var _String_startsWith = F2(function(sub, str) +{ + return str.indexOf(sub) === 0; +}); + +var _String_endsWith = F2(function(sub, str) +{ + return str.length >= sub.length && + str.lastIndexOf(sub) === str.length - sub.length; +}); + +var _String_indexes = F2(function(sub, str) +{ + var subLen = sub.length; + + if (subLen < 1) + { + return _List_Nil; + } + + var i = 0; + var is = []; + + while ((i = str.indexOf(sub, i)) > -1) + { + is.push(i); + i = i + subLen; + } + + return _List_fromArray(is); +}); + + +// TO STRING + +function _String_fromNumber(number) +{ + return number + ''; +} + + +// INT CONVERSIONS + +function _String_toInt(str) +{ + var total = 0; + var code0 = str.charCodeAt(0); + var start = code0 == 0x2B /* + */ || code0 == 0x2D /* - */ ? 1 : 0; + + for (var i = start; i < str.length; ++i) + { + var code = str.charCodeAt(i); + if (code < 0x30 || 0x39 < code) + { + return $elm$core$Maybe$Nothing; + } + total = 10 * total + code - 0x30; + } + + return i == start + ? $elm$core$Maybe$Nothing + : $elm$core$Maybe$Just(code0 == 0x2D ? -total : total); +} + + +// FLOAT CONVERSIONS + +function _String_toFloat(s) +{ + // check if it is a hex, octal, or binary number + if (s.length === 0 || /[\sxbo]/.test(s)) + { + return $elm$core$Maybe$Nothing; + } + var n = +s; + // faster isNaN check + return n === n ? $elm$core$Maybe$Just(n) : $elm$core$Maybe$Nothing; +} + +function _String_fromList(chars) +{ + return _List_toArray(chars).join(''); +} + + + + +function _Char_toCode(char) +{ + var code = char.charCodeAt(0); + if (0xD800 <= code && code <= 0xDBFF) + { + return (code - 0xD800) * 0x400 + char.charCodeAt(1) - 0xDC00 + 0x10000 + } + return code; +} + +function _Char_fromCode(code) +{ + return _Utils_chr( + (code < 0 || 0x10FFFF < code) + ? '\uFFFD' + : + (code <= 0xFFFF) + ? String.fromCharCode(code) + : + (code -= 0x10000, + String.fromCharCode(Math.floor(code / 0x400) + 0xD800, code % 0x400 + 0xDC00) + ) + ); +} + +function _Char_toUpper(char) +{ + return _Utils_chr(char.toUpperCase()); +} + +function _Char_toLower(char) +{ + return _Utils_chr(char.toLowerCase()); +} + +function _Char_toLocaleUpper(char) +{ + return _Utils_chr(char.toLocaleUpperCase()); +} + +function _Char_toLocaleLower(char) +{ + return _Utils_chr(char.toLocaleLowerCase()); +} + + + +/**/ +function _Json_errorToString(error) +{ + return $elm$json$Json$Decode$errorToString(error); +} +//*/ + + +// CORE DECODERS + +function _Json_succeed(msg) +{ + return { + $: 0, + a: msg + }; +} + +function _Json_fail(msg) +{ + return { + $: 1, + a: msg + }; +} + +function _Json_decodePrim(decoder) +{ + return { $: 2, b: decoder }; +} + +var _Json_decodeInt = _Json_decodePrim(function(value) { + return (typeof value !== 'number') + ? _Json_expecting('an INT', value) + : + (-2147483647 < value && value < 2147483647 && (value | 0) === value) + ? $elm$core$Result$Ok(value) + : + (isFinite(value) && !(value % 1)) + ? $elm$core$Result$Ok(value) + : _Json_expecting('an INT', value); +}); + +var _Json_decodeBool = _Json_decodePrim(function(value) { + return (typeof value === 'boolean') + ? $elm$core$Result$Ok(value) + : _Json_expecting('a BOOL', value); +}); + +var _Json_decodeFloat = _Json_decodePrim(function(value) { + return (typeof value === 'number') + ? $elm$core$Result$Ok(value) + : _Json_expecting('a FLOAT', value); +}); + +var _Json_decodeValue = _Json_decodePrim(function(value) { + return $elm$core$Result$Ok(_Json_wrap(value)); +}); + +var _Json_decodeString = _Json_decodePrim(function(value) { + return (typeof value === 'string') + ? $elm$core$Result$Ok(value) + : (value instanceof String) + ? $elm$core$Result$Ok(value + '') + : _Json_expecting('a STRING', value); +}); + +function _Json_decodeList(decoder) { return { $: 3, b: decoder }; } +function _Json_decodeArray(decoder) { return { $: 4, b: decoder }; } + +function _Json_decodeNull(value) { return { $: 5, c: value }; } + +var _Json_decodeField = F2(function(field, decoder) +{ + return { + $: 6, + d: field, + b: decoder + }; +}); + +var _Json_decodeIndex = F2(function(index, decoder) +{ + return { + $: 7, + e: index, + b: decoder + }; +}); + +function _Json_decodeKeyValuePairs(decoder) +{ + return { + $: 8, + b: decoder + }; +} + +function _Json_mapMany(f, decoders) +{ + return { + $: 9, + f: f, + g: decoders + }; +} + +var _Json_andThen = F2(function(callback, decoder) +{ + return { + $: 10, + b: decoder, + h: callback + }; +}); + +function _Json_oneOf(decoders) +{ + return { + $: 11, + g: decoders + }; +} + + +// DECODING OBJECTS + +var _Json_map1 = F2(function(f, d1) +{ + return _Json_mapMany(f, [d1]); +}); + +var _Json_map2 = F3(function(f, d1, d2) +{ + return _Json_mapMany(f, [d1, d2]); +}); + +var _Json_map3 = F4(function(f, d1, d2, d3) +{ + return _Json_mapMany(f, [d1, d2, d3]); +}); + +var _Json_map4 = F5(function(f, d1, d2, d3, d4) +{ + return _Json_mapMany(f, [d1, d2, d3, d4]); +}); + +var _Json_map5 = F6(function(f, d1, d2, d3, d4, d5) +{ + return _Json_mapMany(f, [d1, d2, d3, d4, d5]); +}); + +var _Json_map6 = F7(function(f, d1, d2, d3, d4, d5, d6) +{ + return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6]); +}); + +var _Json_map7 = F8(function(f, d1, d2, d3, d4, d5, d6, d7) +{ + return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7]); +}); + +var _Json_map8 = F9(function(f, d1, d2, d3, d4, d5, d6, d7, d8) +{ + return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7, d8]); +}); + + +// DECODE + +var _Json_runOnString = F2(function(decoder, string) +{ + try + { + var value = JSON.parse(string); + return _Json_runHelp(decoder, value); + } + catch (e) + { + return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'This is not valid JSON! ' + e.message, _Json_wrap(string))); + } +}); + +var _Json_run = F2(function(decoder, value) +{ + return _Json_runHelp(decoder, _Json_unwrap(value)); +}); + +function _Json_runHelp(decoder, value) +{ + switch (decoder.$) + { + case 2: + return decoder.b(value); + + case 5: + return (value === null) + ? $elm$core$Result$Ok(decoder.c) + : _Json_expecting('null', value); + + case 3: + if (!_Json_isArray(value)) + { + return _Json_expecting('a LIST', value); + } + return _Json_runArrayDecoder(decoder.b, value, _List_fromArray); + + case 4: + if (!_Json_isArray(value)) + { + return _Json_expecting('an ARRAY', value); + } + return _Json_runArrayDecoder(decoder.b, value, _Json_toElmArray); + + case 6: + var field = decoder.d; + if (typeof value !== 'object' || value === null || !(field in value)) + { + return _Json_expecting('an OBJECT with a field named `' + field + '`', value); + } + var result = _Json_runHelp(decoder.b, value[field]); + return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, field, result.a)); + + case 7: + var index = decoder.e; + if (!_Json_isArray(value)) + { + return _Json_expecting('an ARRAY', value); + } + if (index >= value.length) + { + return _Json_expecting('a LONGER array. Need index ' + index + ' but only see ' + value.length + ' entries', value); + } + var result = _Json_runHelp(decoder.b, value[index]); + return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, index, result.a)); + + case 8: + if (typeof value !== 'object' || value === null || _Json_isArray(value)) + { + return _Json_expecting('an OBJECT', value); + } + + var keyValuePairs = _List_Nil; + // TODO test perf of Object.keys and switch when support is good enough + for (var key in value) + { + if (value.hasOwnProperty(key)) + { + var result = _Json_runHelp(decoder.b, value[key]); + if (!$elm$core$Result$isOk(result)) + { + return $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, key, result.a)); + } + keyValuePairs = _List_Cons(_Utils_Tuple2(key, result.a), keyValuePairs); + } + } + return $elm$core$Result$Ok($elm$core$List$reverse(keyValuePairs)); + + case 9: + var answer = decoder.f; + var decoders = decoder.g; + for (var i = 0; i < decoders.length; i++) + { + var result = _Json_runHelp(decoders[i], value); + if (!$elm$core$Result$isOk(result)) + { + return result; + } + answer = answer(result.a); + } + return $elm$core$Result$Ok(answer); + + case 10: + var result = _Json_runHelp(decoder.b, value); + return (!$elm$core$Result$isOk(result)) + ? result + : _Json_runHelp(decoder.h(result.a), value); + + case 11: + var errors = _List_Nil; + for (var temp = decoder.g; temp.b; temp = temp.b) // WHILE_CONS + { + var result = _Json_runHelp(temp.a, value); + if ($elm$core$Result$isOk(result)) + { + return result; + } + errors = _List_Cons(result.a, errors); + } + return $elm$core$Result$Err($elm$json$Json$Decode$OneOf($elm$core$List$reverse(errors))); + + case 1: + return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, decoder.a, _Json_wrap(value))); + + case 0: + return $elm$core$Result$Ok(decoder.a); + } +} + +function _Json_runArrayDecoder(decoder, value, toElmValue) +{ + var len = value.length; + var array = new Array(len); + for (var i = 0; i < len; i++) + { + var result = _Json_runHelp(decoder, value[i]); + if (!$elm$core$Result$isOk(result)) + { + return $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, i, result.a)); + } + array[i] = result.a; + } + return $elm$core$Result$Ok(toElmValue(array)); +} + +function _Json_isArray(value) +{ + return Array.isArray(value) || (typeof FileList !== 'undefined' && value instanceof FileList); +} + +function _Json_toElmArray(array) +{ + return A2($elm$core$Array$initialize, array.length, function(i) { return array[i]; }); +} + +function _Json_expecting(type, value) +{ + return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'Expecting ' + type, _Json_wrap(value))); +} + + +// EQUALITY + +function _Json_equality(x, y) +{ + if (x === y) + { + return true; + } + + if (x.$ !== y.$) + { + return false; + } + + switch (x.$) + { + case 0: + case 1: + return x.a === y.a; + + case 2: + return x.b === y.b; + + case 5: + return x.c === y.c; + + case 3: + case 4: + case 8: + return _Json_equality(x.b, y.b); + + case 6: + return x.d === y.d && _Json_equality(x.b, y.b); + + case 7: + return x.e === y.e && _Json_equality(x.b, y.b); + + case 9: + return x.f === y.f && _Json_listEquality(x.g, y.g); + + case 10: + return x.h === y.h && _Json_equality(x.b, y.b); + + case 11: + return _Json_listEquality(x.g, y.g); + } +} + +function _Json_listEquality(aDecoders, bDecoders) +{ + var len = aDecoders.length; + if (len !== bDecoders.length) + { + return false; + } + for (var i = 0; i < len; i++) + { + if (!_Json_equality(aDecoders[i], bDecoders[i])) + { + return false; + } + } + return true; +} + + +// ENCODE + +var _Json_encode = F2(function(indentLevel, value) +{ + return JSON.stringify(_Json_unwrap(value), null, indentLevel) + ''; +}); + +function _Json_wrap(value) { return { $: 0, a: value }; } +function _Json_unwrap(value) { return value.a; } + +function _Json_wrap_UNUSED(value) { return value; } +function _Json_unwrap_UNUSED(value) { return value; } + +function _Json_emptyArray() { return []; } +function _Json_emptyObject() { return {}; } + +var _Json_addField = F3(function(key, value, object) +{ + object[key] = _Json_unwrap(value); + return object; +}); + +function _Json_addEntry(func) +{ + return F2(function(entry, array) + { + array.push(_Json_unwrap(func(entry))); + return array; + }); +} + +var _Json_encodeNull = _Json_wrap(null); + + + +// TASKS + +function _Scheduler_succeed(value) +{ + return { + $: 0, + a: value + }; +} + +function _Scheduler_fail(error) +{ + return { + $: 1, + a: error + }; +} + +function _Scheduler_binding(callback) +{ + return { + $: 2, + b: callback, + c: null + }; +} + +var _Scheduler_andThen = F2(function(callback, task) +{ + return { + $: 3, + b: callback, + d: task + }; +}); + +var _Scheduler_onError = F2(function(callback, task) +{ + return { + $: 4, + b: callback, + d: task + }; +}); + +function _Scheduler_receive(callback) +{ + return { + $: 5, + b: callback + }; +} + + +// PROCESSES + +var _Scheduler_guid = 0; + +function _Scheduler_rawSpawn(task) +{ + var proc = { + $: 0, + e: _Scheduler_guid++, + f: task, + g: null, + h: [] + }; + + _Scheduler_enqueue(proc); + + return proc; +} + +function _Scheduler_spawn(task) +{ + return _Scheduler_binding(function(callback) { + callback(_Scheduler_succeed(_Scheduler_rawSpawn(task))); + }); +} + +function _Scheduler_rawSend(proc, msg) +{ + proc.h.push(msg); + _Scheduler_enqueue(proc); +} + +var _Scheduler_send = F2(function(proc, msg) +{ + return _Scheduler_binding(function(callback) { + _Scheduler_rawSend(proc, msg); + callback(_Scheduler_succeed(_Utils_Tuple0)); + }); +}); + +function _Scheduler_kill(proc) +{ + return _Scheduler_binding(function(callback) { + var task = proc.f; + if (task.$ === 2 && task.c) + { + task.c(); + } + + proc.f = null; + + callback(_Scheduler_succeed(_Utils_Tuple0)); + }); +} + + +/* STEP PROCESSES + +type alias Process = + { $ : tag + , id : unique_id + , root : Task + , stack : null | { $: SUCCEED | FAIL, a: callback, b: stack } + , mailbox : [msg] + } + +*/ + + +var _Scheduler_working = false; +var _Scheduler_queue = []; + + +function _Scheduler_enqueue(proc) +{ + _Scheduler_queue.push(proc); + if (_Scheduler_working) + { + return; + } + _Scheduler_working = true; + while (proc = _Scheduler_queue.shift()) + { + _Scheduler_step(proc); + } + _Scheduler_working = false; +} + + +function _Scheduler_step(proc) +{ + while (proc.f) + { + var rootTag = proc.f.$; + if (rootTag === 0 || rootTag === 1) + { + while (proc.g && proc.g.$ !== rootTag) + { + proc.g = proc.g.i; + } + if (!proc.g) + { + return; + } + proc.f = proc.g.b(proc.f.a); + proc.g = proc.g.i; + } + else if (rootTag === 2) + { + proc.f.c = proc.f.b(function(newRoot) { + proc.f = newRoot; + _Scheduler_enqueue(proc); + }); + return; + } + else if (rootTag === 5) + { + if (proc.h.length === 0) + { + return; + } + proc.f = proc.f.b(proc.h.shift()); + } + else // if (rootTag === 3 || rootTag === 4) + { + proc.g = { + $: rootTag === 3 ? 0 : 1, + b: proc.f.b, + i: proc.g + }; + proc.f = proc.f.d; + } + } +} + + + +function _Process_sleep(time) +{ + return _Scheduler_binding(function(callback) { + var id = setTimeout(function() { + callback(_Scheduler_succeed(_Utils_Tuple0)); + }, time); + + return function() { clearTimeout(id); }; + }); +} + + + + +// PROGRAMS + + +var _Platform_worker = F4(function(impl, flagDecoder, debugMetadata, args) +{ + return _Platform_initialize( + flagDecoder, + args, + impl.init, + impl.update, + impl.subscriptions, + function() { return function() {} } + ); +}); + + + +// INITIALIZE A PROGRAM + + +function _Platform_initialize(flagDecoder, args, init, update, subscriptions, stepperBuilder) +{ + var result = A2(_Json_run, flagDecoder, _Json_wrap(args ? args['flags'] : undefined)); + $elm$core$Result$isOk(result) || _Debug_crash(2 /**/, _Json_errorToString(result.a) /**/); + var managers = {}; + var initPair = init(result.a); + var model = initPair.a; + var stepper = stepperBuilder(sendToApp, model); + var ports = _Platform_setupEffects(managers, sendToApp); + + function sendToApp(msg, viewMetadata) + { + var pair = A2(update, msg, model); + stepper(model = pair.a, viewMetadata); + _Platform_enqueueEffects(managers, pair.b, subscriptions(model)); + } + + _Platform_enqueueEffects(managers, initPair.b, subscriptions(model)); + + return ports ? { ports: ports } : {}; +} + + + +// TRACK PRELOADS +// +// This is used by code in elm/browser and elm/http +// to register any HTTP requests that are triggered by init. +// + + +var _Platform_preload; + + +function _Platform_registerPreload(url) +{ + _Platform_preload.add(url); +} + + + +// EFFECT MANAGERS + + +var _Platform_effectManagers = {}; + + +function _Platform_setupEffects(managers, sendToApp) +{ + var ports; + + // setup all necessary effect managers + for (var key in _Platform_effectManagers) + { + var manager = _Platform_effectManagers[key]; + + if (manager.a) + { + ports = ports || {}; + ports[key] = manager.a(key, sendToApp); + } + + managers[key] = _Platform_instantiateManager(manager, sendToApp); + } + + return ports; +} + + +function _Platform_createManager(init, onEffects, onSelfMsg, cmdMap, subMap) +{ + return { + b: init, + c: onEffects, + d: onSelfMsg, + e: cmdMap, + f: subMap + }; +} + + +function _Platform_instantiateManager(info, sendToApp) +{ + var router = { + g: sendToApp, + h: undefined + }; + + var onEffects = info.c; + var onSelfMsg = info.d; + var cmdMap = info.e; + var subMap = info.f; + + function loop(state) + { + return A2(_Scheduler_andThen, loop, _Scheduler_receive(function(msg) + { + var value = msg.a; + + if (msg.$ === 0) + { + return A3(onSelfMsg, router, value, state); + } + + return cmdMap && subMap + ? A4(onEffects, router, value.i, value.j, state) + : A3(onEffects, router, cmdMap ? value.i : value.j, state); + })); + } + + return router.h = _Scheduler_rawSpawn(A2(_Scheduler_andThen, loop, info.b)); +} + + + +// ROUTING + + +var _Platform_sendToApp = F2(function(router, msg) +{ + return _Scheduler_binding(function(callback) + { + router.g(msg); + callback(_Scheduler_succeed(_Utils_Tuple0)); + }); +}); + + +var _Platform_sendToSelf = F2(function(router, msg) +{ + return A2(_Scheduler_send, router.h, { + $: 0, + a: msg + }); +}); + + + +// BAGS + + +function _Platform_leaf(home) +{ + return function(value) + { + return { + $: 1, + k: home, + l: value + }; + }; +} + + +function _Platform_batch(list) +{ + return { + $: 2, + m: list + }; +} + + +var _Platform_map = F2(function(tagger, bag) +{ + return { + $: 3, + n: tagger, + o: bag + } +}); + + + +// PIPE BAGS INTO EFFECT MANAGERS +// +// Effects must be queued! +// +// Say your init contains a synchronous command, like Time.now or Time.here +// +// - This will produce a batch of effects (FX_1) +// - The synchronous task triggers the subsequent `update` call +// - This will produce a batch of effects (FX_2) +// +// If we just start dispatching FX_2, subscriptions from FX_2 can be processed +// before subscriptions from FX_1. No good! Earlier versions of this code had +// this problem, leading to these reports: +// +// https://github.com/elm/core/issues/980 +// https://github.com/elm/core/pull/981 +// https://github.com/elm/compiler/issues/1776 +// +// The queue is necessary to avoid ordering issues for synchronous commands. + + +// Why use true/false here? Why not just check the length of the queue? +// The goal is to detect "are we currently dispatching effects?" If we +// are, we need to bail and let the ongoing while loop handle things. +// +// Now say the queue has 1 element. When we dequeue the final element, +// the queue will be empty, but we are still actively dispatching effects. +// So you could get queue jumping in a really tricky category of cases. +// +var _Platform_effectsQueue = []; +var _Platform_effectsActive = false; + + +function _Platform_enqueueEffects(managers, cmdBag, subBag) +{ + _Platform_effectsQueue.push({ p: managers, q: cmdBag, r: subBag }); + + if (_Platform_effectsActive) return; + + _Platform_effectsActive = true; + for (var fx; fx = _Platform_effectsQueue.shift(); ) + { + _Platform_dispatchEffects(fx.p, fx.q, fx.r); + } + _Platform_effectsActive = false; +} + + +function _Platform_dispatchEffects(managers, cmdBag, subBag) +{ + var effectsDict = {}; + _Platform_gatherEffects(true, cmdBag, effectsDict, null); + _Platform_gatherEffects(false, subBag, effectsDict, null); + + for (var home in managers) + { + _Scheduler_rawSend(managers[home], { + $: 'fx', + a: effectsDict[home] || { i: _List_Nil, j: _List_Nil } + }); + } +} + + +function _Platform_gatherEffects(isCmd, bag, effectsDict, taggers) +{ + switch (bag.$) + { + case 1: + var home = bag.k; + var effect = _Platform_toEffect(isCmd, home, taggers, bag.l); + effectsDict[home] = _Platform_insert(isCmd, effect, effectsDict[home]); + return; + + case 2: + for (var list = bag.m; list.b; list = list.b) // WHILE_CONS + { + _Platform_gatherEffects(isCmd, list.a, effectsDict, taggers); + } + return; + + case 3: + _Platform_gatherEffects(isCmd, bag.o, effectsDict, { + s: bag.n, + t: taggers + }); + return; + } +} + + +function _Platform_toEffect(isCmd, home, taggers, value) +{ + function applyTaggers(x) + { + for (var temp = taggers; temp; temp = temp.t) + { + x = temp.s(x); + } + return x; + } + + var map = isCmd + ? _Platform_effectManagers[home].e + : _Platform_effectManagers[home].f; + + return A2(map, applyTaggers, value) +} + + +function _Platform_insert(isCmd, newEffect, effects) +{ + effects = effects || { i: _List_Nil, j: _List_Nil }; + + isCmd + ? (effects.i = _List_Cons(newEffect, effects.i)) + : (effects.j = _List_Cons(newEffect, effects.j)); + + return effects; +} + + + +// PORTS + + +function _Platform_checkPortName(name) +{ + if (_Platform_effectManagers[name]) + { + _Debug_crash(3, name) + } +} + + + +// OUTGOING PORTS + + +function _Platform_outgoingPort(name, converter) +{ + _Platform_checkPortName(name); + _Platform_effectManagers[name] = { + e: _Platform_outgoingPortMap, + u: converter, + a: _Platform_setupOutgoingPort + }; + return _Platform_leaf(name); +} + + +var _Platform_outgoingPortMap = F2(function(tagger, value) { return value; }); + + +function _Platform_setupOutgoingPort(name) +{ + var subs = []; + var converter = _Platform_effectManagers[name].u; + + // CREATE MANAGER + + var init = _Process_sleep(0); + + _Platform_effectManagers[name].b = init; + _Platform_effectManagers[name].c = F3(function(router, cmdList, state) + { + for ( ; cmdList.b; cmdList = cmdList.b) // WHILE_CONS + { + // grab a separate reference to subs in case unsubscribe is called + var currentSubs = subs; + var value = _Json_unwrap(converter(cmdList.a)); + for (var i = 0; i < currentSubs.length; i++) + { + currentSubs[i](value); + } + } + return init; + }); + + // PUBLIC API + + function subscribe(callback) + { + subs.push(callback); + } + + function unsubscribe(callback) + { + // copy subs into a new array in case unsubscribe is called within a + // subscribed callback + subs = subs.slice(); + var index = subs.indexOf(callback); + if (index >= 0) + { + subs.splice(index, 1); + } + } + + return { + subscribe: subscribe, + unsubscribe: unsubscribe + }; +} + + + +// INCOMING PORTS + + +function _Platform_incomingPort(name, converter) +{ + _Platform_checkPortName(name); + _Platform_effectManagers[name] = { + f: _Platform_incomingPortMap, + u: converter, + a: _Platform_setupIncomingPort + }; + return _Platform_leaf(name); +} + + +var _Platform_incomingPortMap = F2(function(tagger, finalTagger) +{ + return function(value) + { + return tagger(finalTagger(value)); + }; +}); + + +function _Platform_setupIncomingPort(name, sendToApp) +{ + var subs = _List_Nil; + var converter = _Platform_effectManagers[name].u; + + // CREATE MANAGER + + var init = _Scheduler_succeed(null); + + _Platform_effectManagers[name].b = init; + _Platform_effectManagers[name].c = F3(function(router, subList, state) + { + subs = subList; + return init; + }); + + // PUBLIC API + + function send(incomingValue) + { + var result = A2(_Json_run, converter, _Json_wrap(incomingValue)); + + $elm$core$Result$isOk(result) || _Debug_crash(4, name, result.a); + + var value = result.a; + for (var temp = subs; temp.b; temp = temp.b) // WHILE_CONS + { + sendToApp(temp.a(value)); + } + } + + return { send: send }; +} + + + +// EXPORT ELM MODULES +// +// Have DEBUG and PROD versions so that we can (1) give nicer errors in +// debug mode and (2) not pay for the bits needed for that in prod mode. +// + + +function _Platform_export_UNUSED(exports) +{ + scope['Elm'] + ? _Platform_mergeExportsProd(scope['Elm'], exports) + : scope['Elm'] = exports; +} + + +function _Platform_mergeExportsProd(obj, exports) +{ + for (var name in exports) + { + (name in obj) + ? (name == 'init') + ? _Debug_crash(6) + : _Platform_mergeExportsProd(obj[name], exports[name]) + : (obj[name] = exports[name]); + } +} + + +function _Platform_export(exports) +{ + scope['Elm'] + ? _Platform_mergeExportsDebug('Elm', scope['Elm'], exports) + : scope['Elm'] = exports; +} + + +function _Platform_mergeExportsDebug(moduleName, obj, exports) +{ + for (var name in exports) + { + (name in obj) + ? (name == 'init') + ? _Debug_crash(6, moduleName) + : _Platform_mergeExportsDebug(moduleName + '.' + name, obj[name], exports[name]) + : (obj[name] = exports[name]); + } +} + + + + +// HELPERS + + +var _VirtualDom_divertHrefToApp; + +var _VirtualDom_doc = typeof document !== 'undefined' ? document : {}; + + +function _VirtualDom_appendChild(parent, child) +{ + parent.appendChild(child); +} + +var _VirtualDom_init = F4(function(virtualNode, flagDecoder, debugMetadata, args) +{ + // NOTE: this function needs _Platform_export available to work + + /**_UNUSED/ + var node = args['node']; + //*/ + /**/ + var node = args && args['node'] ? args['node'] : _Debug_crash(0); + //*/ + + node.parentNode.replaceChild( + _VirtualDom_render(virtualNode, function() {}), + node + ); + + return {}; +}); + + + +// TEXT + + +function _VirtualDom_text(string) +{ + return { + $: 0, + a: string + }; +} + + + +// NODE + + +var _VirtualDom_nodeNS = F2(function(namespace, tag) +{ + return F2(function(factList, kidList) + { + for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS + { + var kid = kidList.a; + descendantsCount += (kid.b || 0); + kids.push(kid); + } + descendantsCount += kids.length; + + return { + $: 1, + c: tag, + d: _VirtualDom_organizeFacts(factList), + e: kids, + f: namespace, + b: descendantsCount + }; + }); +}); + + +var _VirtualDom_node = _VirtualDom_nodeNS(undefined); + + + +// KEYED NODE + + +var _VirtualDom_keyedNodeNS = F2(function(namespace, tag) +{ + return F2(function(factList, kidList) + { + for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS + { + var kid = kidList.a; + descendantsCount += (kid.b.b || 0); + kids.push(kid); + } + descendantsCount += kids.length; + + return { + $: 2, + c: tag, + d: _VirtualDom_organizeFacts(factList), + e: kids, + f: namespace, + b: descendantsCount + }; + }); +}); + + +var _VirtualDom_keyedNode = _VirtualDom_keyedNodeNS(undefined); + + + +// CUSTOM + + +function _VirtualDom_custom(factList, model, render, diff) +{ + return { + $: 3, + d: _VirtualDom_organizeFacts(factList), + g: model, + h: render, + i: diff + }; +} + + + +// MAP + + +var _VirtualDom_map = F2(function(tagger, node) +{ + return { + $: 4, + j: tagger, + k: node, + b: 1 + (node.b || 0) + }; +}); + + + +// LAZY + + +function _VirtualDom_thunk(refs, thunk) +{ + return { + $: 5, + l: refs, + m: thunk, + k: undefined + }; +} + +var _VirtualDom_lazy = F2(function(func, a) +{ + return _VirtualDom_thunk([func, a], function() { + return func(a); + }); +}); + +var _VirtualDom_lazy2 = F3(function(func, a, b) +{ + return _VirtualDom_thunk([func, a, b], function() { + return A2(func, a, b); + }); +}); + +var _VirtualDom_lazy3 = F4(function(func, a, b, c) +{ + return _VirtualDom_thunk([func, a, b, c], function() { + return A3(func, a, b, c); + }); +}); + +var _VirtualDom_lazy4 = F5(function(func, a, b, c, d) +{ + return _VirtualDom_thunk([func, a, b, c, d], function() { + return A4(func, a, b, c, d); + }); +}); + +var _VirtualDom_lazy5 = F6(function(func, a, b, c, d, e) +{ + return _VirtualDom_thunk([func, a, b, c, d, e], function() { + return A5(func, a, b, c, d, e); + }); +}); + +var _VirtualDom_lazy6 = F7(function(func, a, b, c, d, e, f) +{ + return _VirtualDom_thunk([func, a, b, c, d, e, f], function() { + return A6(func, a, b, c, d, e, f); + }); +}); + +var _VirtualDom_lazy7 = F8(function(func, a, b, c, d, e, f, g) +{ + return _VirtualDom_thunk([func, a, b, c, d, e, f, g], function() { + return A7(func, a, b, c, d, e, f, g); + }); +}); + +var _VirtualDom_lazy8 = F9(function(func, a, b, c, d, e, f, g, h) +{ + return _VirtualDom_thunk([func, a, b, c, d, e, f, g, h], function() { + return A8(func, a, b, c, d, e, f, g, h); + }); +}); + + + +// FACTS + + +var _VirtualDom_on = F2(function(key, handler) +{ + return { + $: 'a0', + n: key, + o: handler + }; +}); +var _VirtualDom_style = F2(function(key, value) +{ + return { + $: 'a1', + n: key, + o: value + }; +}); +var _VirtualDom_property = F2(function(key, value) +{ + return { + $: 'a2', + n: key, + o: value + }; +}); +var _VirtualDom_attribute = F2(function(key, value) +{ + return { + $: 'a3', + n: key, + o: value + }; +}); +var _VirtualDom_attributeNS = F3(function(namespace, key, value) +{ + return { + $: 'a4', + n: key, + o: { f: namespace, o: value } + }; +}); + + + +// XSS ATTACK VECTOR CHECKS +// +// For some reason, tabs can appear in href protocols and it still works. +// So '\tjava\tSCRIPT:alert("!!!")' and 'javascript:alert("!!!")' are the same +// in practice. That is why _VirtualDom_RE_js and _VirtualDom_RE_js_html look +// so freaky. +// +// Pulling the regular expressions out to the top level gives a slight speed +// boost in small benchmarks (4-10%) but hoisting values to reduce allocation +// can be unpredictable in large programs where JIT may have a harder time with +// functions are not fully self-contained. The benefit is more that the js and +// js_html ones are so weird that I prefer to see them near each other. + + +var _VirtualDom_RE_script = /^script$/i; +var _VirtualDom_RE_on_formAction = /^(on|formAction$)/i; +var _VirtualDom_RE_js = /^\s*j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:/i; +var _VirtualDom_RE_js_html = /^\s*(j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:|d\s*a\s*t\s*a\s*:\s*t\s*e\s*x\s*t\s*\/\s*h\s*t\s*m\s*l\s*(,|;))/i; + + +function _VirtualDom_noScript(tag) +{ + return _VirtualDom_RE_script.test(tag) ? 'p' : tag; +} + +function _VirtualDom_noOnOrFormAction(key) +{ + return _VirtualDom_RE_on_formAction.test(key) ? 'data-' + key : key; +} + +function _VirtualDom_noInnerHtmlOrFormAction(key) +{ + return key == 'innerHTML' || key == 'formAction' ? 'data-' + key : key; +} + +function _VirtualDom_noJavaScriptUri(value) +{ + return _VirtualDom_RE_js.test(value) + ? /**_UNUSED/''//*//**/'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'//*/ + : value; +} + +function _VirtualDom_noJavaScriptOrHtmlUri(value) +{ + return _VirtualDom_RE_js_html.test(value) + ? /**_UNUSED/''//*//**/'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'//*/ + : value; +} + +function _VirtualDom_noJavaScriptOrHtmlJson(value) +{ + return (typeof _Json_unwrap(value) === 'string' && _VirtualDom_RE_js_html.test(_Json_unwrap(value))) + ? _Json_wrap( + /**_UNUSED/''//*//**/'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'//*/ + ) : value; +} + + + +// MAP FACTS + + +var _VirtualDom_mapAttribute = F2(function(func, attr) +{ + return (attr.$ === 'a0') + ? A2(_VirtualDom_on, attr.n, _VirtualDom_mapHandler(func, attr.o)) + : attr; +}); + +function _VirtualDom_mapHandler(func, handler) +{ + var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler); + + // 0 = Normal + // 1 = MayStopPropagation + // 2 = MayPreventDefault + // 3 = Custom + + return { + $: handler.$, + a: + !tag + ? A2($elm$json$Json$Decode$map, func, handler.a) + : + A3($elm$json$Json$Decode$map2, + tag < 3 + ? _VirtualDom_mapEventTuple + : _VirtualDom_mapEventRecord, + $elm$json$Json$Decode$succeed(func), + handler.a + ) + }; +} + +var _VirtualDom_mapEventTuple = F2(function(func, tuple) +{ + return _Utils_Tuple2(func(tuple.a), tuple.b); +}); + +var _VirtualDom_mapEventRecord = F2(function(func, record) +{ + return { + message: func(record.message), + stopPropagation: record.stopPropagation, + preventDefault: record.preventDefault + } +}); + + + +// ORGANIZE FACTS + + +function _VirtualDom_organizeFacts(factList) +{ + for (var facts = {}; factList.b; factList = factList.b) // WHILE_CONS + { + var entry = factList.a; + + var tag = entry.$; + var key = entry.n; + var value = entry.o; + + if (tag === 'a2') + { + (key === 'className') + ? _VirtualDom_addClass(facts, key, _Json_unwrap(value)) + : facts[key] = _Json_unwrap(value); + + continue; + } + + var subFacts = facts[tag] || (facts[tag] = {}); + (tag === 'a3' && key === 'class') + ? _VirtualDom_addClass(subFacts, key, value) + : subFacts[key] = value; + } + + return facts; +} + +function _VirtualDom_addClass(object, key, newClass) +{ + var classes = object[key]; + object[key] = classes ? classes + ' ' + newClass : newClass; +} + + + +// RENDER + + +function _VirtualDom_render(vNode, eventNode) +{ + var tag = vNode.$; + + if (tag === 5) + { + return _VirtualDom_render(vNode.k || (vNode.k = vNode.m()), eventNode); + } + + if (tag === 0) + { + return _VirtualDom_doc.createTextNode(vNode.a); + } + + if (tag === 4) + { + var subNode = vNode.k; + var tagger = vNode.j; + + while (subNode.$ === 4) + { + typeof tagger !== 'object' + ? tagger = [tagger, subNode.j] + : tagger.push(subNode.j); + + subNode = subNode.k; + } + + var subEventRoot = { j: tagger, p: eventNode }; + var domNode = _VirtualDom_render(subNode, subEventRoot); + domNode.elm_event_node_ref = subEventRoot; + return domNode; + } + + if (tag === 3) + { + var domNode = vNode.h(vNode.g); + _VirtualDom_applyFacts(domNode, eventNode, vNode.d); + return domNode; + } + + // at this point `tag` must be 1 or 2 + + var domNode = vNode.f + ? _VirtualDom_doc.createElementNS(vNode.f, vNode.c) + : _VirtualDom_doc.createElement(vNode.c); + + if (_VirtualDom_divertHrefToApp && vNode.c == 'a') + { + domNode.addEventListener('click', _VirtualDom_divertHrefToApp(domNode)); + } + + _VirtualDom_applyFacts(domNode, eventNode, vNode.d); + + for (var kids = vNode.e, i = 0; i < kids.length; i++) + { + _VirtualDom_appendChild(domNode, _VirtualDom_render(tag === 1 ? kids[i] : kids[i].b, eventNode)); + } + + return domNode; +} + + + +// APPLY FACTS + + +function _VirtualDom_applyFacts(domNode, eventNode, facts) +{ + for (var key in facts) + { + var value = facts[key]; + + key === 'a1' + ? _VirtualDom_applyStyles(domNode, value) + : + key === 'a0' + ? _VirtualDom_applyEvents(domNode, eventNode, value) + : + key === 'a3' + ? _VirtualDom_applyAttrs(domNode, value) + : + key === 'a4' + ? _VirtualDom_applyAttrsNS(domNode, value) + : + ((key !== 'value' && key !== 'checked') || domNode[key] !== value) && (domNode[key] = value); + } +} + + + +// APPLY STYLES + + +function _VirtualDom_applyStyles(domNode, styles) +{ + var domNodeStyle = domNode.style; + + for (var key in styles) + { + domNodeStyle[key] = styles[key]; + } +} + + + +// APPLY ATTRS + + +function _VirtualDom_applyAttrs(domNode, attrs) +{ + for (var key in attrs) + { + var value = attrs[key]; + typeof value !== 'undefined' + ? domNode.setAttribute(key, value) + : domNode.removeAttribute(key); + } +} + + + +// APPLY NAMESPACED ATTRS + + +function _VirtualDom_applyAttrsNS(domNode, nsAttrs) +{ + for (var key in nsAttrs) + { + var pair = nsAttrs[key]; + var namespace = pair.f; + var value = pair.o; + + typeof value !== 'undefined' + ? domNode.setAttributeNS(namespace, key, value) + : domNode.removeAttributeNS(namespace, key); + } +} + + + +// APPLY EVENTS + + +function _VirtualDom_applyEvents(domNode, eventNode, events) +{ + var allCallbacks = domNode.elmFs || (domNode.elmFs = {}); + + for (var key in events) + { + var newHandler = events[key]; + var oldCallback = allCallbacks[key]; + + if (!newHandler) + { + domNode.removeEventListener(key, oldCallback); + allCallbacks[key] = undefined; + continue; + } + + if (oldCallback) + { + var oldHandler = oldCallback.q; + if (oldHandler.$ === newHandler.$) + { + oldCallback.q = newHandler; + continue; + } + domNode.removeEventListener(key, oldCallback); + } + + oldCallback = _VirtualDom_makeCallback(eventNode, newHandler); + domNode.addEventListener(key, oldCallback, + _VirtualDom_passiveSupported + && { passive: $elm$virtual_dom$VirtualDom$toHandlerInt(newHandler) < 2 } + ); + allCallbacks[key] = oldCallback; + } +} + + + +// PASSIVE EVENTS + + +var _VirtualDom_passiveSupported; + +try +{ + window.addEventListener('t', null, Object.defineProperty({}, 'passive', { + get: function() { _VirtualDom_passiveSupported = true; } + })); +} +catch(e) {} + + + +// EVENT HANDLERS + + +function _VirtualDom_makeCallback(eventNode, initialHandler) +{ + function callback(event) + { + var handler = callback.q; + var result = _Json_runHelp(handler.a, event); + + if (!$elm$core$Result$isOk(result)) + { + return; + } + + var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler); + + // 0 = Normal + // 1 = MayStopPropagation + // 2 = MayPreventDefault + // 3 = Custom + + var value = result.a; + var message = !tag ? value : tag < 3 ? value.a : value.message; + var stopPropagation = tag == 1 ? value.b : tag == 3 && value.stopPropagation; + var currentEventNode = ( + stopPropagation && event.stopPropagation(), + (tag == 2 ? value.b : tag == 3 && value.preventDefault) && event.preventDefault(), + eventNode + ); + var tagger; + var i; + while (tagger = currentEventNode.j) + { + if (typeof tagger == 'function') + { + message = tagger(message); + } + else + { + for (var i = tagger.length; i--; ) + { + message = tagger[i](message); + } + } + currentEventNode = currentEventNode.p; + } + currentEventNode(message, stopPropagation); // stopPropagation implies isSync + } + + callback.q = initialHandler; + + return callback; +} + +function _VirtualDom_equalEvents(x, y) +{ + return x.$ == y.$ && _Json_equality(x.a, y.a); +} + + + +// DIFF + + +// TODO: Should we do patches like in iOS? +// +// type Patch +// = At Int Patch +// | Batch (List Patch) +// | Change ... +// +// How could it not be better? +// +function _VirtualDom_diff(x, y) +{ + var patches = []; + _VirtualDom_diffHelp(x, y, patches, 0); + return patches; +} + + +function _VirtualDom_pushPatch(patches, type, index, data) +{ + var patch = { + $: type, + r: index, + s: data, + t: undefined, + u: undefined + }; + patches.push(patch); + return patch; +} + + +function _VirtualDom_diffHelp(x, y, patches, index) +{ + if (x === y) + { + return; + } + + var xType = x.$; + var yType = y.$; + + // Bail if you run into different types of nodes. Implies that the + // structure has changed significantly and it's not worth a diff. + if (xType !== yType) + { + if (xType === 1 && yType === 2) + { + y = _VirtualDom_dekey(y); + yType = 1; + } + else + { + _VirtualDom_pushPatch(patches, 0, index, y); + return; + } + } + + // Now we know that both nodes are the same $. + switch (yType) + { + case 5: + var xRefs = x.l; + var yRefs = y.l; + var i = xRefs.length; + var same = i === yRefs.length; + while (same && i--) + { + same = xRefs[i] === yRefs[i]; + } + if (same) + { + y.k = x.k; + return; + } + y.k = y.m(); + var subPatches = []; + _VirtualDom_diffHelp(x.k, y.k, subPatches, 0); + subPatches.length > 0 && _VirtualDom_pushPatch(patches, 1, index, subPatches); + return; + + case 4: + // gather nested taggers + var xTaggers = x.j; + var yTaggers = y.j; + var nesting = false; + + var xSubNode = x.k; + while (xSubNode.$ === 4) + { + nesting = true; + + typeof xTaggers !== 'object' + ? xTaggers = [xTaggers, xSubNode.j] + : xTaggers.push(xSubNode.j); + + xSubNode = xSubNode.k; + } + + var ySubNode = y.k; + while (ySubNode.$ === 4) + { + nesting = true; + + typeof yTaggers !== 'object' + ? yTaggers = [yTaggers, ySubNode.j] + : yTaggers.push(ySubNode.j); + + ySubNode = ySubNode.k; + } + + // Just bail if different numbers of taggers. This implies the + // structure of the virtual DOM has changed. + if (nesting && xTaggers.length !== yTaggers.length) + { + _VirtualDom_pushPatch(patches, 0, index, y); + return; + } + + // check if taggers are "the same" + if (nesting ? !_VirtualDom_pairwiseRefEqual(xTaggers, yTaggers) : xTaggers !== yTaggers) + { + _VirtualDom_pushPatch(patches, 2, index, yTaggers); + } + + // diff everything below the taggers + _VirtualDom_diffHelp(xSubNode, ySubNode, patches, index + 1); + return; + + case 0: + if (x.a !== y.a) + { + _VirtualDom_pushPatch(patches, 3, index, y.a); + } + return; + + case 1: + _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKids); + return; + + case 2: + _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKeyedKids); + return; + + case 3: + if (x.h !== y.h) + { + _VirtualDom_pushPatch(patches, 0, index, y); + return; + } + + var factsDiff = _VirtualDom_diffFacts(x.d, y.d); + factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff); + + var patch = y.i(x.g, y.g); + patch && _VirtualDom_pushPatch(patches, 5, index, patch); + + return; + } +} + +// assumes the incoming arrays are the same length +function _VirtualDom_pairwiseRefEqual(as, bs) +{ + for (var i = 0; i < as.length; i++) + { + if (as[i] !== bs[i]) + { + return false; + } + } + + return true; +} + +function _VirtualDom_diffNodes(x, y, patches, index, diffKids) +{ + // Bail if obvious indicators have changed. Implies more serious + // structural changes such that it's not worth it to diff. + if (x.c !== y.c || x.f !== y.f) + { + _VirtualDom_pushPatch(patches, 0, index, y); + return; + } + + var factsDiff = _VirtualDom_diffFacts(x.d, y.d); + factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff); + + diffKids(x, y, patches, index); +} + + + +// DIFF FACTS + + +// TODO Instead of creating a new diff object, it's possible to just test if +// there *is* a diff. During the actual patch, do the diff again and make the +// modifications directly. This way, there's no new allocations. Worth it? +function _VirtualDom_diffFacts(x, y, category) +{ + var diff; + + // look for changes and removals + for (var xKey in x) + { + if (xKey === 'a1' || xKey === 'a0' || xKey === 'a3' || xKey === 'a4') + { + var subDiff = _VirtualDom_diffFacts(x[xKey], y[xKey] || {}, xKey); + if (subDiff) + { + diff = diff || {}; + diff[xKey] = subDiff; + } + continue; + } + + // remove if not in the new facts + if (!(xKey in y)) + { + diff = diff || {}; + diff[xKey] = + !category + ? (typeof x[xKey] === 'string' ? '' : null) + : + (category === 'a1') + ? '' + : + (category === 'a0' || category === 'a3') + ? undefined + : + { f: x[xKey].f, o: undefined }; + + continue; + } + + var xValue = x[xKey]; + var yValue = y[xKey]; + + // reference equal, so don't worry about it + if (xValue === yValue && xKey !== 'value' && xKey !== 'checked' + || category === 'a0' && _VirtualDom_equalEvents(xValue, yValue)) + { + continue; + } + + diff = diff || {}; + diff[xKey] = yValue; + } + + // add new stuff + for (var yKey in y) + { + if (!(yKey in x)) + { + diff = diff || {}; + diff[yKey] = y[yKey]; + } + } + + return diff; +} + + + +// DIFF KIDS + + +function _VirtualDom_diffKids(xParent, yParent, patches, index) +{ + var xKids = xParent.e; + var yKids = yParent.e; + + var xLen = xKids.length; + var yLen = yKids.length; + + // FIGURE OUT IF THERE ARE INSERTS OR REMOVALS + + if (xLen > yLen) + { + _VirtualDom_pushPatch(patches, 6, index, { + v: yLen, + i: xLen - yLen + }); + } + else if (xLen < yLen) + { + _VirtualDom_pushPatch(patches, 7, index, { + v: xLen, + e: yKids + }); + } + + // PAIRWISE DIFF EVERYTHING ELSE + + for (var minLen = xLen < yLen ? xLen : yLen, i = 0; i < minLen; i++) + { + var xKid = xKids[i]; + _VirtualDom_diffHelp(xKid, yKids[i], patches, ++index); + index += xKid.b || 0; + } +} + + + +// KEYED DIFF + + +function _VirtualDom_diffKeyedKids(xParent, yParent, patches, rootIndex) +{ + var localPatches = []; + + var changes = {}; // Dict String Entry + var inserts = []; // Array { index : Int, entry : Entry } + // type Entry = { tag : String, vnode : VNode, index : Int, data : _ } + + var xKids = xParent.e; + var yKids = yParent.e; + var xLen = xKids.length; + var yLen = yKids.length; + var xIndex = 0; + var yIndex = 0; + + var index = rootIndex; + + while (xIndex < xLen && yIndex < yLen) + { + var x = xKids[xIndex]; + var y = yKids[yIndex]; + + var xKey = x.a; + var yKey = y.a; + var xNode = x.b; + var yNode = y.b; + + var newMatch = undefined; + var oldMatch = undefined; + + // check if keys match + + if (xKey === yKey) + { + index++; + _VirtualDom_diffHelp(xNode, yNode, localPatches, index); + index += xNode.b || 0; + + xIndex++; + yIndex++; + continue; + } + + // look ahead 1 to detect insertions and removals. + + var xNext = xKids[xIndex + 1]; + var yNext = yKids[yIndex + 1]; + + if (xNext) + { + var xNextKey = xNext.a; + var xNextNode = xNext.b; + oldMatch = yKey === xNextKey; + } + + if (yNext) + { + var yNextKey = yNext.a; + var yNextNode = yNext.b; + newMatch = xKey === yNextKey; + } + + + // swap x and y + if (newMatch && oldMatch) + { + index++; + _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index); + _VirtualDom_insertNode(changes, localPatches, xKey, yNode, yIndex, inserts); + index += xNode.b || 0; + + index++; + _VirtualDom_removeNode(changes, localPatches, xKey, xNextNode, index); + index += xNextNode.b || 0; + + xIndex += 2; + yIndex += 2; + continue; + } + + // insert y + if (newMatch) + { + index++; + _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts); + _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index); + index += xNode.b || 0; + + xIndex += 1; + yIndex += 2; + continue; + } + + // remove x + if (oldMatch) + { + index++; + _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index); + index += xNode.b || 0; + + index++; + _VirtualDom_diffHelp(xNextNode, yNode, localPatches, index); + index += xNextNode.b || 0; + + xIndex += 2; + yIndex += 1; + continue; + } + + // remove x, insert y + if (xNext && xNextKey === yNextKey) + { + index++; + _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index); + _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts); + index += xNode.b || 0; + + index++; + _VirtualDom_diffHelp(xNextNode, yNextNode, localPatches, index); + index += xNextNode.b || 0; + + xIndex += 2; + yIndex += 2; + continue; + } + + break; + } + + // eat up any remaining nodes with removeNode and insertNode + + while (xIndex < xLen) + { + index++; + var x = xKids[xIndex]; + var xNode = x.b; + _VirtualDom_removeNode(changes, localPatches, x.a, xNode, index); + index += xNode.b || 0; + xIndex++; + } + + while (yIndex < yLen) + { + var endInserts = endInserts || []; + var y = yKids[yIndex]; + _VirtualDom_insertNode(changes, localPatches, y.a, y.b, undefined, endInserts); + yIndex++; + } + + if (localPatches.length > 0 || inserts.length > 0 || endInserts) + { + _VirtualDom_pushPatch(patches, 8, rootIndex, { + w: localPatches, + x: inserts, + y: endInserts + }); + } +} + + + +// CHANGES FROM KEYED DIFF + + +var _VirtualDom_POSTFIX = '_elmW6BL'; + + +function _VirtualDom_insertNode(changes, localPatches, key, vnode, yIndex, inserts) +{ + var entry = changes[key]; + + // never seen this key before + if (!entry) + { + entry = { + c: 0, + z: vnode, + r: yIndex, + s: undefined + }; + + inserts.push({ r: yIndex, A: entry }); + changes[key] = entry; + + return; + } + + // this key was removed earlier, a match! + if (entry.c === 1) + { + inserts.push({ r: yIndex, A: entry }); + + entry.c = 2; + var subPatches = []; + _VirtualDom_diffHelp(entry.z, vnode, subPatches, entry.r); + entry.r = yIndex; + entry.s.s = { + w: subPatches, + A: entry + }; + + return; + } + + // this key has already been inserted or moved, a duplicate! + _VirtualDom_insertNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, yIndex, inserts); +} + + +function _VirtualDom_removeNode(changes, localPatches, key, vnode, index) +{ + var entry = changes[key]; + + // never seen this key before + if (!entry) + { + var patch = _VirtualDom_pushPatch(localPatches, 9, index, undefined); + + changes[key] = { + c: 1, + z: vnode, + r: index, + s: patch + }; + + return; + } + + // this key was inserted earlier, a match! + if (entry.c === 0) + { + entry.c = 2; + var subPatches = []; + _VirtualDom_diffHelp(vnode, entry.z, subPatches, index); + + _VirtualDom_pushPatch(localPatches, 9, index, { + w: subPatches, + A: entry + }); + + return; + } + + // this key has already been removed or moved, a duplicate! + _VirtualDom_removeNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, index); +} + + + +// ADD DOM NODES +// +// Each DOM node has an "index" assigned in order of traversal. It is important +// to minimize our crawl over the actual DOM, so these indexes (along with the +// descendantsCount of virtual nodes) let us skip touching entire subtrees of +// the DOM if we know there are no patches there. + + +function _VirtualDom_addDomNodes(domNode, vNode, patches, eventNode) +{ + _VirtualDom_addDomNodesHelp(domNode, vNode, patches, 0, 0, vNode.b, eventNode); +} + + +// assumes `patches` is non-empty and indexes increase monotonically. +function _VirtualDom_addDomNodesHelp(domNode, vNode, patches, i, low, high, eventNode) +{ + var patch = patches[i]; + var index = patch.r; + + while (index === low) + { + var patchType = patch.$; + + if (patchType === 1) + { + _VirtualDom_addDomNodes(domNode, vNode.k, patch.s, eventNode); + } + else if (patchType === 8) + { + patch.t = domNode; + patch.u = eventNode; + + var subPatches = patch.s.w; + if (subPatches.length > 0) + { + _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode); + } + } + else if (patchType === 9) + { + patch.t = domNode; + patch.u = eventNode; + + var data = patch.s; + if (data) + { + data.A.s = domNode; + var subPatches = data.w; + if (subPatches.length > 0) + { + _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode); + } + } + } + else + { + patch.t = domNode; + patch.u = eventNode; + } + + i++; + + if (!(patch = patches[i]) || (index = patch.r) > high) + { + return i; + } + } + + var tag = vNode.$; + + if (tag === 4) + { + var subNode = vNode.k; + + while (subNode.$ === 4) + { + subNode = subNode.k; + } + + return _VirtualDom_addDomNodesHelp(domNode, subNode, patches, i, low + 1, high, domNode.elm_event_node_ref); + } + + // tag must be 1 or 2 at this point + + var vKids = vNode.e; + var childNodes = domNode.childNodes; + for (var j = 0; j < vKids.length; j++) + { + low++; + var vKid = tag === 1 ? vKids[j] : vKids[j].b; + var nextLow = low + (vKid.b || 0); + if (low <= index && index <= nextLow) + { + i = _VirtualDom_addDomNodesHelp(childNodes[j], vKid, patches, i, low, nextLow, eventNode); + if (!(patch = patches[i]) || (index = patch.r) > high) + { + return i; + } + } + low = nextLow; + } + return i; +} + + + +// APPLY PATCHES + + +function _VirtualDom_applyPatches(rootDomNode, oldVirtualNode, patches, eventNode) +{ + if (patches.length === 0) + { + return rootDomNode; + } + + _VirtualDom_addDomNodes(rootDomNode, oldVirtualNode, patches, eventNode); + return _VirtualDom_applyPatchesHelp(rootDomNode, patches); +} + +function _VirtualDom_applyPatchesHelp(rootDomNode, patches) +{ + for (var i = 0; i < patches.length; i++) + { + var patch = patches[i]; + var localDomNode = patch.t + var newNode = _VirtualDom_applyPatch(localDomNode, patch); + if (localDomNode === rootDomNode) + { + rootDomNode = newNode; + } + } + return rootDomNode; +} + +function _VirtualDom_applyPatch(domNode, patch) +{ + switch (patch.$) + { + case 0: + return _VirtualDom_applyPatchRedraw(domNode, patch.s, patch.u); + + case 4: + _VirtualDom_applyFacts(domNode, patch.u, patch.s); + return domNode; + + case 3: + domNode.replaceData(0, domNode.length, patch.s); + return domNode; + + case 1: + return _VirtualDom_applyPatchesHelp(domNode, patch.s); + + case 2: + if (domNode.elm_event_node_ref) + { + domNode.elm_event_node_ref.j = patch.s; + } + else + { + domNode.elm_event_node_ref = { j: patch.s, p: patch.u }; + } + return domNode; + + case 6: + var data = patch.s; + for (var i = 0; i < data.i; i++) + { + domNode.removeChild(domNode.childNodes[data.v]); + } + return domNode; + + case 7: + var data = patch.s; + var kids = data.e; + var i = data.v; + var theEnd = domNode.childNodes[i]; + for (; i < kids.length; i++) + { + domNode.insertBefore(_VirtualDom_render(kids[i], patch.u), theEnd); + } + return domNode; + + case 9: + var data = patch.s; + if (!data) + { + domNode.parentNode.removeChild(domNode); + return domNode; + } + var entry = data.A; + if (typeof entry.r !== 'undefined') + { + domNode.parentNode.removeChild(domNode); + } + entry.s = _VirtualDom_applyPatchesHelp(domNode, data.w); + return domNode; + + case 8: + return _VirtualDom_applyPatchReorder(domNode, patch); + + case 5: + return patch.s(domNode); + + default: + _Debug_crash(10); // 'Ran into an unknown patch!' + } +} + + +function _VirtualDom_applyPatchRedraw(domNode, vNode, eventNode) +{ + var parentNode = domNode.parentNode; + var newNode = _VirtualDom_render(vNode, eventNode); + + if (!newNode.elm_event_node_ref) + { + newNode.elm_event_node_ref = domNode.elm_event_node_ref; + } + + if (parentNode && newNode !== domNode) + { + parentNode.replaceChild(newNode, domNode); + } + return newNode; +} + + +function _VirtualDom_applyPatchReorder(domNode, patch) +{ + var data = patch.s; + + // remove end inserts + var frag = _VirtualDom_applyPatchReorderEndInsertsHelp(data.y, patch); + + // removals + domNode = _VirtualDom_applyPatchesHelp(domNode, data.w); + + // inserts + var inserts = data.x; + for (var i = 0; i < inserts.length; i++) + { + var insert = inserts[i]; + var entry = insert.A; + var node = entry.c === 2 + ? entry.s + : _VirtualDom_render(entry.z, patch.u); + domNode.insertBefore(node, domNode.childNodes[insert.r]); + } + + // add end inserts + if (frag) + { + _VirtualDom_appendChild(domNode, frag); + } + + return domNode; +} + + +function _VirtualDom_applyPatchReorderEndInsertsHelp(endInserts, patch) +{ + if (!endInserts) + { + return; + } + + var frag = _VirtualDom_doc.createDocumentFragment(); + for (var i = 0; i < endInserts.length; i++) + { + var insert = endInserts[i]; + var entry = insert.A; + _VirtualDom_appendChild(frag, entry.c === 2 + ? entry.s + : _VirtualDom_render(entry.z, patch.u) + ); + } + return frag; +} + + +function _VirtualDom_virtualize(node) +{ + // TEXT NODES + + if (node.nodeType === 3) + { + return _VirtualDom_text(node.textContent); + } + + + // WEIRD NODES + + if (node.nodeType !== 1) + { + return _VirtualDom_text(''); + } + + + // ELEMENT NODES + + var attrList = _List_Nil; + var attrs = node.attributes; + for (var i = attrs.length; i--; ) + { + var attr = attrs[i]; + var name = attr.name; + var value = attr.value; + attrList = _List_Cons( A2(_VirtualDom_attribute, name, value), attrList ); + } + + var tag = node.tagName.toLowerCase(); + var kidList = _List_Nil; + var kids = node.childNodes; + + for (var i = kids.length; i--; ) + { + kidList = _List_Cons(_VirtualDom_virtualize(kids[i]), kidList); + } + return A3(_VirtualDom_node, tag, attrList, kidList); +} + +function _VirtualDom_dekey(keyedNode) +{ + var keyedKids = keyedNode.e; + var len = keyedKids.length; + var kids = new Array(len); + for (var i = 0; i < len; i++) + { + kids[i] = keyedKids[i].b; + } + + return { + $: 1, + c: keyedNode.c, + d: keyedNode.d, + e: kids, + f: keyedNode.f, + b: keyedNode.b + }; +} + + + + +// ELEMENT + + +var _Debugger_element; + +var _Browser_element = _Debugger_element || F4(function(impl, flagDecoder, debugMetadata, args) +{ + return _Platform_initialize( + flagDecoder, + args, + impl.init, + impl.update, + impl.subscriptions, + function(sendToApp, initialModel) { + var view = impl.view; + /**_UNUSED/ + var domNode = args['node']; + //*/ + /**/ + var domNode = args && args['node'] ? args['node'] : _Debug_crash(0); + //*/ + var currNode = _VirtualDom_virtualize(domNode); + + return _Browser_makeAnimator(initialModel, function(model) + { + var nextNode = view(model); + var patches = _VirtualDom_diff(currNode, nextNode); + domNode = _VirtualDom_applyPatches(domNode, currNode, patches, sendToApp); + currNode = nextNode; + }); + } + ); +}); + + + +// DOCUMENT + + +var _Debugger_document; + +var _Browser_document = _Debugger_document || F4(function(impl, flagDecoder, debugMetadata, args) +{ + return _Platform_initialize( + flagDecoder, + args, + impl.init, + impl.update, + impl.subscriptions, + function(sendToApp, initialModel) { + var divertHrefToApp = impl.setup && impl.setup(sendToApp) + var view = impl.view; + var title = _VirtualDom_doc.title; + var bodyNode = _VirtualDom_doc.body; + var currNode = _VirtualDom_virtualize(bodyNode); + return _Browser_makeAnimator(initialModel, function(model) + { + _VirtualDom_divertHrefToApp = divertHrefToApp; + var doc = view(model); + var nextNode = _VirtualDom_node('body')(_List_Nil)(doc.body); + var patches = _VirtualDom_diff(currNode, nextNode); + bodyNode = _VirtualDom_applyPatches(bodyNode, currNode, patches, sendToApp); + currNode = nextNode; + _VirtualDom_divertHrefToApp = 0; + (title !== doc.title) && (_VirtualDom_doc.title = title = doc.title); + }); + } + ); +}); + + + +// ANIMATION + + +var _Browser_cancelAnimationFrame = + typeof cancelAnimationFrame !== 'undefined' + ? cancelAnimationFrame + : function(id) { clearTimeout(id); }; + +var _Browser_requestAnimationFrame = + typeof requestAnimationFrame !== 'undefined' + ? requestAnimationFrame + : function(callback) { return setTimeout(callback, 1000 / 60); }; + + +function _Browser_makeAnimator(model, draw) +{ + draw(model); + + var state = 0; + + function updateIfNeeded() + { + state = state === 1 + ? 0 + : ( _Browser_requestAnimationFrame(updateIfNeeded), draw(model), 1 ); + } + + return function(nextModel, isSync) + { + model = nextModel; + + isSync + ? ( draw(model), + state === 2 && (state = 1) + ) + : ( state === 0 && _Browser_requestAnimationFrame(updateIfNeeded), + state = 2 + ); + }; +} + + + +// APPLICATION + + +function _Browser_application(impl) +{ + var onUrlChange = impl.onUrlChange; + var onUrlRequest = impl.onUrlRequest; + var key = function() { key.a(onUrlChange(_Browser_getUrl())); }; + + return _Browser_document({ + setup: function(sendToApp) + { + key.a = sendToApp; + _Browser_window.addEventListener('popstate', key); + _Browser_window.navigator.userAgent.indexOf('Trident') < 0 || _Browser_window.addEventListener('hashchange', key); + + return F2(function(domNode, event) + { + if (!event.ctrlKey && !event.metaKey && !event.shiftKey && event.button < 1 && !domNode.target && !domNode.hasAttribute('download')) + { + event.preventDefault(); + var href = domNode.href; + var curr = _Browser_getUrl(); + var next = $elm$url$Url$fromString(href).a; + sendToApp(onUrlRequest( + (next + && curr.protocol === next.protocol + && curr.host === next.host + && curr.port_.a === next.port_.a + ) + ? $elm$browser$Browser$Internal(next) + : $elm$browser$Browser$External(href) + )); + } + }); + }, + init: function(flags) + { + return A3(impl.init, flags, _Browser_getUrl(), key); + }, + view: impl.view, + update: impl.update, + subscriptions: impl.subscriptions + }); +} + +function _Browser_getUrl() +{ + return $elm$url$Url$fromString(_VirtualDom_doc.location.href).a || _Debug_crash(1); +} + +var _Browser_go = F2(function(key, n) +{ + return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { + n && history.go(n); + key(); + })); +}); + +var _Browser_pushUrl = F2(function(key, url) +{ + return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { + history.pushState({}, '', url); + key(); + })); +}); + +var _Browser_replaceUrl = F2(function(key, url) +{ + return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { + history.replaceState({}, '', url); + key(); + })); +}); + + + +// GLOBAL EVENTS + + +var _Browser_fakeNode = { addEventListener: function() {}, removeEventListener: function() {} }; +var _Browser_doc = typeof document !== 'undefined' ? document : _Browser_fakeNode; +var _Browser_window = typeof window !== 'undefined' ? window : _Browser_fakeNode; + +var _Browser_on = F3(function(node, eventName, sendToSelf) +{ + return _Scheduler_spawn(_Scheduler_binding(function(callback) + { + function handler(event) { _Scheduler_rawSpawn(sendToSelf(event)); } + node.addEventListener(eventName, handler, _VirtualDom_passiveSupported && { passive: true }); + return function() { node.removeEventListener(eventName, handler); }; + })); +}); + +var _Browser_decodeEvent = F2(function(decoder, event) +{ + var result = _Json_runHelp(decoder, event); + return $elm$core$Result$isOk(result) ? $elm$core$Maybe$Just(result.a) : $elm$core$Maybe$Nothing; +}); + + + +// PAGE VISIBILITY + + +function _Browser_visibilityInfo() +{ + return (typeof _VirtualDom_doc.hidden !== 'undefined') + ? { hidden: 'hidden', change: 'visibilitychange' } + : + (typeof _VirtualDom_doc.mozHidden !== 'undefined') + ? { hidden: 'mozHidden', change: 'mozvisibilitychange' } + : + (typeof _VirtualDom_doc.msHidden !== 'undefined') + ? { hidden: 'msHidden', change: 'msvisibilitychange' } + : + (typeof _VirtualDom_doc.webkitHidden !== 'undefined') + ? { hidden: 'webkitHidden', change: 'webkitvisibilitychange' } + : { hidden: 'hidden', change: 'visibilitychange' }; +} + + + +// ANIMATION FRAMES + + +function _Browser_rAF() +{ + return _Scheduler_binding(function(callback) + { + var id = _Browser_requestAnimationFrame(function() { + callback(_Scheduler_succeed(Date.now())); + }); + + return function() { + _Browser_cancelAnimationFrame(id); + }; + }); +} + + +function _Browser_now() +{ + return _Scheduler_binding(function(callback) + { + callback(_Scheduler_succeed(Date.now())); + }); +} + + + +// DOM STUFF + + +function _Browser_withNode(id, doStuff) +{ + return _Scheduler_binding(function(callback) + { + _Browser_requestAnimationFrame(function() { + var node = document.getElementById(id); + callback(node + ? _Scheduler_succeed(doStuff(node)) + : _Scheduler_fail($elm$browser$Browser$Dom$NotFound(id)) + ); + }); + }); +} + + +function _Browser_withWindow(doStuff) +{ + return _Scheduler_binding(function(callback) + { + _Browser_requestAnimationFrame(function() { + callback(_Scheduler_succeed(doStuff())); + }); + }); +} + + +// FOCUS and BLUR + + +var _Browser_call = F2(function(functionName, id) +{ + return _Browser_withNode(id, function(node) { + node[functionName](); + return _Utils_Tuple0; + }); +}); + + + +// WINDOW VIEWPORT + + +function _Browser_getViewport() +{ + return { + scene: _Browser_getScene(), + viewport: { + x: _Browser_window.pageXOffset, + y: _Browser_window.pageYOffset, + width: _Browser_doc.documentElement.clientWidth, + height: _Browser_doc.documentElement.clientHeight + } + }; +} + +function _Browser_getScene() +{ + var body = _Browser_doc.body; + var elem = _Browser_doc.documentElement; + return { + width: Math.max(body.scrollWidth, body.offsetWidth, elem.scrollWidth, elem.offsetWidth, elem.clientWidth), + height: Math.max(body.scrollHeight, body.offsetHeight, elem.scrollHeight, elem.offsetHeight, elem.clientHeight) + }; +} + +var _Browser_setViewport = F2(function(x, y) +{ + return _Browser_withWindow(function() + { + _Browser_window.scroll(x, y); + return _Utils_Tuple0; + }); +}); + + + +// ELEMENT VIEWPORT + + +function _Browser_getViewportOf(id) +{ + return _Browser_withNode(id, function(node) + { + return { + scene: { + width: node.scrollWidth, + height: node.scrollHeight + }, + viewport: { + x: node.scrollLeft, + y: node.scrollTop, + width: node.clientWidth, + height: node.clientHeight + } + }; + }); +} + + +var _Browser_setViewportOf = F3(function(id, x, y) +{ + return _Browser_withNode(id, function(node) + { + node.scrollLeft = x; + node.scrollTop = y; + return _Utils_Tuple0; + }); +}); + + + +// ELEMENT + + +function _Browser_getElement(id) +{ + return _Browser_withNode(id, function(node) + { + var rect = node.getBoundingClientRect(); + var x = _Browser_window.pageXOffset; + var y = _Browser_window.pageYOffset; + return { + scene: _Browser_getScene(), + viewport: { + x: x, + y: y, + width: _Browser_doc.documentElement.clientWidth, + height: _Browser_doc.documentElement.clientHeight + }, + element: { + x: x + rect.left, + y: y + rect.top, + width: rect.width, + height: rect.height + } + }; + }); +} + + + +// LOAD and RELOAD + + +function _Browser_reload(skipCache) +{ + return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback) + { + _VirtualDom_doc.location.reload(skipCache); + })); +} + +function _Browser_load(url) +{ + return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback) + { + try + { + _Browser_window.location = url; + } + catch(err) + { + // Only Firefox can throw a NS_ERROR_MALFORMED_URI exception here. + // Other browsers reload the page, so let's be consistent about that. + _VirtualDom_doc.location.reload(false); + } + })); +} +var $elm$core$Basics$EQ = {$: 'EQ'}; +var $elm$core$Basics$GT = {$: 'GT'}; +var $elm$core$Basics$LT = {$: 'LT'}; +var $elm$core$List$cons = _List_cons; +var $elm$core$Dict$foldr = F3( + function (func, acc, t) { + foldr: + while (true) { + if (t.$ === 'RBEmpty_elm_builtin') { + return acc; + } else { + var key = t.b; + var value = t.c; + var left = t.d; + var right = t.e; + var $temp$func = func, + $temp$acc = A3( + func, + key, + value, + A3($elm$core$Dict$foldr, func, acc, right)), + $temp$t = left; + func = $temp$func; + acc = $temp$acc; + t = $temp$t; + continue foldr; + } + } + }); +var $elm$core$Dict$toList = function (dict) { + return A3( + $elm$core$Dict$foldr, + F3( + function (key, value, list) { + return A2( + $elm$core$List$cons, + _Utils_Tuple2(key, value), + list); + }), + _List_Nil, + dict); +}; +var $elm$core$Dict$keys = function (dict) { + return A3( + $elm$core$Dict$foldr, + F3( + function (key, value, keyList) { + return A2($elm$core$List$cons, key, keyList); + }), + _List_Nil, + dict); +}; +var $elm$core$Set$toList = function (_v0) { + var dict = _v0.a; + return $elm$core$Dict$keys(dict); +}; +var $elm$core$Elm$JsArray$foldr = _JsArray_foldr; +var $elm$core$Array$foldr = F3( + function (func, baseCase, _v0) { + var tree = _v0.c; + var tail = _v0.d; + var helper = F2( + function (node, acc) { + if (node.$ === 'SubTree') { + var subTree = node.a; + return A3($elm$core$Elm$JsArray$foldr, helper, acc, subTree); + } else { + var values = node.a; + return A3($elm$core$Elm$JsArray$foldr, func, acc, values); + } + }); + return A3( + $elm$core$Elm$JsArray$foldr, + helper, + A3($elm$core$Elm$JsArray$foldr, func, baseCase, tail), + tree); + }); +var $elm$core$Array$toList = function (array) { + return A3($elm$core$Array$foldr, $elm$core$List$cons, _List_Nil, array); +}; +var $elm$core$Result$Err = function (a) { + return {$: 'Err', a: a}; +}; +var $elm$json$Json$Decode$Failure = F2( + function (a, b) { + return {$: 'Failure', a: a, b: b}; + }); +var $elm$json$Json$Decode$Field = F2( + function (a, b) { + return {$: 'Field', a: a, b: b}; + }); +var $elm$json$Json$Decode$Index = F2( + function (a, b) { + return {$: 'Index', a: a, b: b}; + }); +var $elm$core$Result$Ok = function (a) { + return {$: 'Ok', a: a}; +}; +var $elm$json$Json$Decode$OneOf = function (a) { + return {$: 'OneOf', a: a}; +}; +var $elm$core$Basics$False = {$: 'False'}; +var $elm$core$Basics$add = _Basics_add; +var $elm$core$Maybe$Just = function (a) { + return {$: 'Just', a: a}; +}; +var $elm$core$Maybe$Nothing = {$: 'Nothing'}; +var $elm$core$String$all = _String_all; +var $elm$core$Basics$and = _Basics_and; +var $elm$core$Basics$append = _Utils_append; +var $elm$json$Json$Encode$encode = _Json_encode; +var $elm$core$String$fromInt = _String_fromNumber; +var $elm$core$String$join = F2( + function (sep, chunks) { + return A2( + _String_join, + sep, + _List_toArray(chunks)); + }); +var $elm$core$String$split = F2( + function (sep, string) { + return _List_fromArray( + A2(_String_split, sep, string)); + }); +var $elm$json$Json$Decode$indent = function (str) { + return A2( + $elm$core$String$join, + '\n ', + A2($elm$core$String$split, '\n', str)); +}; +var $elm$core$List$foldl = F3( + function (func, acc, list) { + foldl: + while (true) { + if (!list.b) { + return acc; + } else { + var x = list.a; + var xs = list.b; + var $temp$func = func, + $temp$acc = A2(func, x, acc), + $temp$list = xs; + func = $temp$func; + acc = $temp$acc; + list = $temp$list; + continue foldl; + } + } + }); +var $elm$core$List$length = function (xs) { + return A3( + $elm$core$List$foldl, + F2( + function (_v0, i) { + return i + 1; + }), + 0, + xs); +}; +var $elm$core$List$map2 = _List_map2; +var $elm$core$Basics$le = _Utils_le; +var $elm$core$Basics$sub = _Basics_sub; +var $elm$core$List$rangeHelp = F3( + function (lo, hi, list) { + rangeHelp: + while (true) { + if (_Utils_cmp(lo, hi) < 1) { + var $temp$lo = lo, + $temp$hi = hi - 1, + $temp$list = A2($elm$core$List$cons, hi, list); + lo = $temp$lo; + hi = $temp$hi; + list = $temp$list; + continue rangeHelp; + } else { + return list; + } + } + }); +var $elm$core$List$range = F2( + function (lo, hi) { + return A3($elm$core$List$rangeHelp, lo, hi, _List_Nil); + }); +var $elm$core$List$indexedMap = F2( + function (f, xs) { + return A3( + $elm$core$List$map2, + f, + A2( + $elm$core$List$range, + 0, + $elm$core$List$length(xs) - 1), + xs); + }); +var $elm$core$Char$toCode = _Char_toCode; +var $elm$core$Char$isLower = function (_char) { + var code = $elm$core$Char$toCode(_char); + return (97 <= code) && (code <= 122); +}; +var $elm$core$Char$isUpper = function (_char) { + var code = $elm$core$Char$toCode(_char); + return (code <= 90) && (65 <= code); +}; +var $elm$core$Basics$or = _Basics_or; +var $elm$core$Char$isAlpha = function (_char) { + return $elm$core$Char$isLower(_char) || $elm$core$Char$isUpper(_char); +}; +var $elm$core$Char$isDigit = function (_char) { + var code = $elm$core$Char$toCode(_char); + return (code <= 57) && (48 <= code); +}; +var $elm$core$Char$isAlphaNum = function (_char) { + return $elm$core$Char$isLower(_char) || ($elm$core$Char$isUpper(_char) || $elm$core$Char$isDigit(_char)); +}; +var $elm$core$List$reverse = function (list) { + return A3($elm$core$List$foldl, $elm$core$List$cons, _List_Nil, list); +}; +var $elm$core$String$uncons = _String_uncons; +var $elm$json$Json$Decode$errorOneOf = F2( + function (i, error) { + return '\n\n(' + ($elm$core$String$fromInt(i + 1) + (') ' + $elm$json$Json$Decode$indent( + $elm$json$Json$Decode$errorToString(error)))); + }); +var $elm$json$Json$Decode$errorToString = function (error) { + return A2($elm$json$Json$Decode$errorToStringHelp, error, _List_Nil); +}; +var $elm$json$Json$Decode$errorToStringHelp = F2( + function (error, context) { + errorToStringHelp: + while (true) { + switch (error.$) { + case 'Field': + var f = error.a; + var err = error.b; + var isSimple = function () { + var _v1 = $elm$core$String$uncons(f); + if (_v1.$ === 'Nothing') { + return false; + } else { + var _v2 = _v1.a; + var _char = _v2.a; + var rest = _v2.b; + return $elm$core$Char$isAlpha(_char) && A2($elm$core$String$all, $elm$core$Char$isAlphaNum, rest); + } + }(); + var fieldName = isSimple ? ('.' + f) : ('[\'' + (f + '\']')); + var $temp$error = err, + $temp$context = A2($elm$core$List$cons, fieldName, context); + error = $temp$error; + context = $temp$context; + continue errorToStringHelp; + case 'Index': + var i = error.a; + var err = error.b; + var indexName = '[' + ($elm$core$String$fromInt(i) + ']'); + var $temp$error = err, + $temp$context = A2($elm$core$List$cons, indexName, context); + error = $temp$error; + context = $temp$context; + continue errorToStringHelp; + case 'OneOf': + var errors = error.a; + if (!errors.b) { + return 'Ran into a Json.Decode.oneOf with no possibilities' + function () { + if (!context.b) { + return '!'; + } else { + return ' at json' + A2( + $elm$core$String$join, + '', + $elm$core$List$reverse(context)); + } + }(); + } else { + if (!errors.b.b) { + var err = errors.a; + var $temp$error = err, + $temp$context = context; + error = $temp$error; + context = $temp$context; + continue errorToStringHelp; + } else { + var starter = function () { + if (!context.b) { + return 'Json.Decode.oneOf'; + } else { + return 'The Json.Decode.oneOf at json' + A2( + $elm$core$String$join, + '', + $elm$core$List$reverse(context)); + } + }(); + var introduction = starter + (' failed in the following ' + ($elm$core$String$fromInt( + $elm$core$List$length(errors)) + ' ways:')); + return A2( + $elm$core$String$join, + '\n\n', + A2( + $elm$core$List$cons, + introduction, + A2($elm$core$List$indexedMap, $elm$json$Json$Decode$errorOneOf, errors))); + } + } + default: + var msg = error.a; + var json = error.b; + var introduction = function () { + if (!context.b) { + return 'Problem with the given value:\n\n'; + } else { + return 'Problem with the value at json' + (A2( + $elm$core$String$join, + '', + $elm$core$List$reverse(context)) + ':\n\n '); + } + }(); + return introduction + ($elm$json$Json$Decode$indent( + A2($elm$json$Json$Encode$encode, 4, json)) + ('\n\n' + msg)); + } + } + }); +var $elm$core$Array$branchFactor = 32; +var $elm$core$Array$Array_elm_builtin = F4( + function (a, b, c, d) { + return {$: 'Array_elm_builtin', a: a, b: b, c: c, d: d}; + }); +var $elm$core$Elm$JsArray$empty = _JsArray_empty; +var $elm$core$Basics$ceiling = _Basics_ceiling; +var $elm$core$Basics$fdiv = _Basics_fdiv; +var $elm$core$Basics$logBase = F2( + function (base, number) { + return _Basics_log(number) / _Basics_log(base); + }); +var $elm$core$Basics$toFloat = _Basics_toFloat; +var $elm$core$Array$shiftStep = $elm$core$Basics$ceiling( + A2($elm$core$Basics$logBase, 2, $elm$core$Array$branchFactor)); +var $elm$core$Array$empty = A4($elm$core$Array$Array_elm_builtin, 0, $elm$core$Array$shiftStep, $elm$core$Elm$JsArray$empty, $elm$core$Elm$JsArray$empty); +var $elm$core$Elm$JsArray$initialize = _JsArray_initialize; +var $elm$core$Array$Leaf = function (a) { + return {$: 'Leaf', a: a}; +}; +var $elm$core$Basics$apL = F2( + function (f, x) { + return f(x); + }); +var $elm$core$Basics$apR = F2( + function (x, f) { + return f(x); + }); +var $elm$core$Basics$eq = _Utils_equal; +var $elm$core$Basics$floor = _Basics_floor; +var $elm$core$Elm$JsArray$length = _JsArray_length; +var $elm$core$Basics$gt = _Utils_gt; +var $elm$core$Basics$max = F2( + function (x, y) { + return (_Utils_cmp(x, y) > 0) ? x : y; + }); +var $elm$core$Basics$mul = _Basics_mul; +var $elm$core$Array$SubTree = function (a) { + return {$: 'SubTree', a: a}; +}; +var $elm$core$Elm$JsArray$initializeFromList = _JsArray_initializeFromList; +var $elm$core$Array$compressNodes = F2( + function (nodes, acc) { + compressNodes: + while (true) { + var _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodes); + var node = _v0.a; + var remainingNodes = _v0.b; + var newAcc = A2( + $elm$core$List$cons, + $elm$core$Array$SubTree(node), + acc); + if (!remainingNodes.b) { + return $elm$core$List$reverse(newAcc); + } else { + var $temp$nodes = remainingNodes, + $temp$acc = newAcc; + nodes = $temp$nodes; + acc = $temp$acc; + continue compressNodes; + } + } + }); +var $elm$core$Tuple$first = function (_v0) { + var x = _v0.a; + return x; +}; +var $elm$core$Array$treeFromBuilder = F2( + function (nodeList, nodeListSize) { + treeFromBuilder: + while (true) { + var newNodeSize = $elm$core$Basics$ceiling(nodeListSize / $elm$core$Array$branchFactor); + if (newNodeSize === 1) { + return A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodeList).a; + } else { + var $temp$nodeList = A2($elm$core$Array$compressNodes, nodeList, _List_Nil), + $temp$nodeListSize = newNodeSize; + nodeList = $temp$nodeList; + nodeListSize = $temp$nodeListSize; + continue treeFromBuilder; + } + } + }); +var $elm$core$Array$builderToArray = F2( + function (reverseNodeList, builder) { + if (!builder.nodeListSize) { + return A4( + $elm$core$Array$Array_elm_builtin, + $elm$core$Elm$JsArray$length(builder.tail), + $elm$core$Array$shiftStep, + $elm$core$Elm$JsArray$empty, + builder.tail); + } else { + var treeLen = builder.nodeListSize * $elm$core$Array$branchFactor; + var depth = $elm$core$Basics$floor( + A2($elm$core$Basics$logBase, $elm$core$Array$branchFactor, treeLen - 1)); + var correctNodeList = reverseNodeList ? $elm$core$List$reverse(builder.nodeList) : builder.nodeList; + var tree = A2($elm$core$Array$treeFromBuilder, correctNodeList, builder.nodeListSize); + return A4( + $elm$core$Array$Array_elm_builtin, + $elm$core$Elm$JsArray$length(builder.tail) + treeLen, + A2($elm$core$Basics$max, 5, depth * $elm$core$Array$shiftStep), + tree, + builder.tail); + } + }); +var $elm$core$Basics$idiv = _Basics_idiv; +var $elm$core$Basics$lt = _Utils_lt; +var $elm$core$Array$initializeHelp = F5( + function (fn, fromIndex, len, nodeList, tail) { + initializeHelp: + while (true) { + if (fromIndex < 0) { + return A2( + $elm$core$Array$builderToArray, + false, + {nodeList: nodeList, nodeListSize: (len / $elm$core$Array$branchFactor) | 0, tail: tail}); + } else { + var leaf = $elm$core$Array$Leaf( + A3($elm$core$Elm$JsArray$initialize, $elm$core$Array$branchFactor, fromIndex, fn)); + var $temp$fn = fn, + $temp$fromIndex = fromIndex - $elm$core$Array$branchFactor, + $temp$len = len, + $temp$nodeList = A2($elm$core$List$cons, leaf, nodeList), + $temp$tail = tail; + fn = $temp$fn; + fromIndex = $temp$fromIndex; + len = $temp$len; + nodeList = $temp$nodeList; + tail = $temp$tail; + continue initializeHelp; + } + } + }); +var $elm$core$Basics$remainderBy = _Basics_remainderBy; +var $elm$core$Array$initialize = F2( + function (len, fn) { + if (len <= 0) { + return $elm$core$Array$empty; + } else { + var tailLen = len % $elm$core$Array$branchFactor; + var tail = A3($elm$core$Elm$JsArray$initialize, tailLen, len - tailLen, fn); + var initialFromIndex = (len - tailLen) - $elm$core$Array$branchFactor; + return A5($elm$core$Array$initializeHelp, fn, initialFromIndex, len, _List_Nil, tail); + } + }); +var $elm$core$Basics$True = {$: 'True'}; +var $elm$core$Result$isOk = function (result) { + if (result.$ === 'Ok') { + return true; + } else { + return false; + } +}; +var $elm$json$Json$Decode$map = _Json_map1; +var $elm$json$Json$Decode$map2 = _Json_map2; +var $elm$json$Json$Decode$succeed = _Json_succeed; +var $elm$virtual_dom$VirtualDom$toHandlerInt = function (handler) { + switch (handler.$) { + case 'Normal': + return 0; + case 'MayStopPropagation': + return 1; + case 'MayPreventDefault': + return 2; + default: + return 3; + } +}; +var $elm$browser$Browser$External = function (a) { + return {$: 'External', a: a}; +}; +var $elm$browser$Browser$Internal = function (a) { + return {$: 'Internal', a: a}; +}; +var $elm$core$Basics$identity = function (x) { + return x; +}; +var $elm$browser$Browser$Dom$NotFound = function (a) { + return {$: 'NotFound', a: a}; +}; +var $elm$url$Url$Http = {$: 'Http'}; +var $elm$url$Url$Https = {$: 'Https'}; +var $elm$url$Url$Url = F6( + function (protocol, host, port_, path, query, fragment) { + return {fragment: fragment, host: host, path: path, port_: port_, protocol: protocol, query: query}; + }); +var $elm$core$String$contains = _String_contains; +var $elm$core$String$length = _String_length; +var $elm$core$String$slice = _String_slice; +var $elm$core$String$dropLeft = F2( + function (n, string) { + return (n < 1) ? string : A3( + $elm$core$String$slice, + n, + $elm$core$String$length(string), + string); + }); +var $elm$core$String$indexes = _String_indexes; +var $elm$core$String$isEmpty = function (string) { + return string === ''; +}; +var $elm$core$String$left = F2( + function (n, string) { + return (n < 1) ? '' : A3($elm$core$String$slice, 0, n, string); + }); +var $elm$core$String$toInt = _String_toInt; +var $elm$url$Url$chompBeforePath = F5( + function (protocol, path, params, frag, str) { + if ($elm$core$String$isEmpty(str) || A2($elm$core$String$contains, '@', str)) { + return $elm$core$Maybe$Nothing; + } else { + var _v0 = A2($elm$core$String$indexes, ':', str); + if (!_v0.b) { + return $elm$core$Maybe$Just( + A6($elm$url$Url$Url, protocol, str, $elm$core$Maybe$Nothing, path, params, frag)); + } else { + if (!_v0.b.b) { + var i = _v0.a; + var _v1 = $elm$core$String$toInt( + A2($elm$core$String$dropLeft, i + 1, str)); + if (_v1.$ === 'Nothing') { + return $elm$core$Maybe$Nothing; + } else { + var port_ = _v1; + return $elm$core$Maybe$Just( + A6( + $elm$url$Url$Url, + protocol, + A2($elm$core$String$left, i, str), + port_, + path, + params, + frag)); + } + } else { + return $elm$core$Maybe$Nothing; + } + } + } + }); +var $elm$url$Url$chompBeforeQuery = F4( + function (protocol, params, frag, str) { + if ($elm$core$String$isEmpty(str)) { + return $elm$core$Maybe$Nothing; + } else { + var _v0 = A2($elm$core$String$indexes, '/', str); + if (!_v0.b) { + return A5($elm$url$Url$chompBeforePath, protocol, '/', params, frag, str); + } else { + var i = _v0.a; + return A5( + $elm$url$Url$chompBeforePath, + protocol, + A2($elm$core$String$dropLeft, i, str), + params, + frag, + A2($elm$core$String$left, i, str)); + } + } + }); +var $elm$url$Url$chompBeforeFragment = F3( + function (protocol, frag, str) { + if ($elm$core$String$isEmpty(str)) { + return $elm$core$Maybe$Nothing; + } else { + var _v0 = A2($elm$core$String$indexes, '?', str); + if (!_v0.b) { + return A4($elm$url$Url$chompBeforeQuery, protocol, $elm$core$Maybe$Nothing, frag, str); + } else { + var i = _v0.a; + return A4( + $elm$url$Url$chompBeforeQuery, + protocol, + $elm$core$Maybe$Just( + A2($elm$core$String$dropLeft, i + 1, str)), + frag, + A2($elm$core$String$left, i, str)); + } + } + }); +var $elm$url$Url$chompAfterProtocol = F2( + function (protocol, str) { + if ($elm$core$String$isEmpty(str)) { + return $elm$core$Maybe$Nothing; + } else { + var _v0 = A2($elm$core$String$indexes, '#', str); + if (!_v0.b) { + return A3($elm$url$Url$chompBeforeFragment, protocol, $elm$core$Maybe$Nothing, str); + } else { + var i = _v0.a; + return A3( + $elm$url$Url$chompBeforeFragment, + protocol, + $elm$core$Maybe$Just( + A2($elm$core$String$dropLeft, i + 1, str)), + A2($elm$core$String$left, i, str)); + } + } + }); +var $elm$core$String$startsWith = _String_startsWith; +var $elm$url$Url$fromString = function (str) { + return A2($elm$core$String$startsWith, 'http://', str) ? A2( + $elm$url$Url$chompAfterProtocol, + $elm$url$Url$Http, + A2($elm$core$String$dropLeft, 7, str)) : (A2($elm$core$String$startsWith, 'https://', str) ? A2( + $elm$url$Url$chompAfterProtocol, + $elm$url$Url$Https, + A2($elm$core$String$dropLeft, 8, str)) : $elm$core$Maybe$Nothing); +}; +var $elm$core$Basics$never = function (_v0) { + never: + while (true) { + var nvr = _v0.a; + var $temp$_v0 = nvr; + _v0 = $temp$_v0; + continue never; + } +}; +var $elm$core$Task$Perform = function (a) { + return {$: 'Perform', a: a}; +}; +var $elm$core$Task$succeed = _Scheduler_succeed; +var $elm$core$Task$init = $elm$core$Task$succeed(_Utils_Tuple0); +var $elm$core$List$foldrHelper = F4( + function (fn, acc, ctr, ls) { + if (!ls.b) { + return acc; + } else { + var a = ls.a; + var r1 = ls.b; + if (!r1.b) { + return A2(fn, a, acc); + } else { + var b = r1.a; + var r2 = r1.b; + if (!r2.b) { + return A2( + fn, + a, + A2(fn, b, acc)); + } else { + var c = r2.a; + var r3 = r2.b; + if (!r3.b) { + return A2( + fn, + a, + A2( + fn, + b, + A2(fn, c, acc))); + } else { + var d = r3.a; + var r4 = r3.b; + var res = (ctr > 500) ? A3( + $elm$core$List$foldl, + fn, + acc, + $elm$core$List$reverse(r4)) : A4($elm$core$List$foldrHelper, fn, acc, ctr + 1, r4); + return A2( + fn, + a, + A2( + fn, + b, + A2( + fn, + c, + A2(fn, d, res)))); + } + } + } + } + }); +var $elm$core$List$foldr = F3( + function (fn, acc, ls) { + return A4($elm$core$List$foldrHelper, fn, acc, 0, ls); + }); +var $elm$core$List$map = F2( + function (f, xs) { + return A3( + $elm$core$List$foldr, + F2( + function (x, acc) { + return A2( + $elm$core$List$cons, + f(x), + acc); + }), + _List_Nil, + xs); + }); +var $elm$core$Task$andThen = _Scheduler_andThen; +var $elm$core$Task$map = F2( + function (func, taskA) { + return A2( + $elm$core$Task$andThen, + function (a) { + return $elm$core$Task$succeed( + func(a)); + }, + taskA); + }); +var $elm$core$Task$map2 = F3( + function (func, taskA, taskB) { + return A2( + $elm$core$Task$andThen, + function (a) { + return A2( + $elm$core$Task$andThen, + function (b) { + return $elm$core$Task$succeed( + A2(func, a, b)); + }, + taskB); + }, + taskA); + }); +var $elm$core$Task$sequence = function (tasks) { + return A3( + $elm$core$List$foldr, + $elm$core$Task$map2($elm$core$List$cons), + $elm$core$Task$succeed(_List_Nil), + tasks); +}; +var $elm$core$Platform$sendToApp = _Platform_sendToApp; +var $elm$core$Task$spawnCmd = F2( + function (router, _v0) { + var task = _v0.a; + return _Scheduler_spawn( + A2( + $elm$core$Task$andThen, + $elm$core$Platform$sendToApp(router), + task)); + }); +var $elm$core$Task$onEffects = F3( + function (router, commands, state) { + return A2( + $elm$core$Task$map, + function (_v0) { + return _Utils_Tuple0; + }, + $elm$core$Task$sequence( + A2( + $elm$core$List$map, + $elm$core$Task$spawnCmd(router), + commands))); + }); +var $elm$core$Task$onSelfMsg = F3( + function (_v0, _v1, _v2) { + return $elm$core$Task$succeed(_Utils_Tuple0); + }); +var $elm$core$Task$cmdMap = F2( + function (tagger, _v0) { + var task = _v0.a; + return $elm$core$Task$Perform( + A2($elm$core$Task$map, tagger, task)); + }); +_Platform_effectManagers['Task'] = _Platform_createManager($elm$core$Task$init, $elm$core$Task$onEffects, $elm$core$Task$onSelfMsg, $elm$core$Task$cmdMap); +var $elm$core$Task$command = _Platform_leaf('Task'); +var $elm$core$Task$perform = F2( + function (toMessage, task) { + return $elm$core$Task$command( + $elm$core$Task$Perform( + A2($elm$core$Task$map, toMessage, task))); + }); +var $elm$browser$Browser$document = _Browser_document; +var $elm$json$Json$Decode$decodeValue = _Json_run; +var $author$project$App$Flags = F2( + function (emoji, markers) { + return {emoji: emoji, markers: markers}; + }); +var $author$project$App$Emoji = F2( + function (emoji, description) { + return {description: description, emoji: emoji}; + }); +var $elm$json$Json$Decode$field = _Json_decodeField; +var $elm$json$Json$Decode$string = _Json_decodeString; +var $author$project$App$decode_emoji = A3( + $elm$json$Json$Decode$map2, + $author$project$App$Emoji, + A2($elm$json$Json$Decode$field, 'emoji', $elm$json$Json$Decode$string), + A2($elm$json$Json$Decode$field, 'description', $elm$json$Json$Decode$string)); +var $author$project$App$Marker = F4( + function (pos, icon, name, note) { + return {icon: icon, name: name, note: note, pos: pos}; + }); +var $author$project$LatLonDistance$LatLon = F2( + function (lat, lon) { + return {lat: lat, lon: lon}; + }); +var $elm$json$Json$Decode$float = _Json_decodeFloat; +var $author$project$App$decode_latlng = A3( + $elm$json$Json$Decode$map2, + $author$project$LatLonDistance$LatLon, + A2($elm$json$Json$Decode$field, 'lat', $elm$json$Json$Decode$float), + A2($elm$json$Json$Decode$field, 'lng', $elm$json$Json$Decode$float)); +var $elm$json$Json$Decode$map4 = _Json_map4; +var $author$project$App$decode_marker = A5( + $elm$json$Json$Decode$map4, + $author$project$App$Marker, + A2($elm$json$Json$Decode$field, 'pos', $author$project$App$decode_latlng), + A2($elm$json$Json$Decode$field, 'icon', $elm$json$Json$Decode$string), + A2($elm$json$Json$Decode$field, 'name', $elm$json$Json$Decode$string), + A2($elm$json$Json$Decode$field, 'note', $elm$json$Json$Decode$string)); +var $elm$json$Json$Decode$list = _Json_decodeList; +var $author$project$App$decode_flags = A3( + $elm$json$Json$Decode$map2, + $author$project$App$Flags, + A2( + $elm$json$Json$Decode$field, + 'emoji', + $elm$json$Json$Decode$list($author$project$App$decode_emoji)), + A2( + $elm$json$Json$Decode$field, + 'markers', + $elm$json$Json$Decode$list($author$project$App$decode_marker))); +var $author$project$App$CurrentPositionCentre = {$: 'CurrentPositionCentre'}; +var $author$project$App$NoSelection = {$: 'NoSelection'}; +var $author$project$App$blank_marker = { + icon: '📌', + name: '', + note: '', + pos: {lat: 0, lon: 0} +}; +var $elm$core$Basics$negate = function (n) { + return -n; +}; +var $author$project$App$init_model = { + accuracy: 0, + centre: $author$project$App$CurrentPositionCentre, + current_position: {lat: 55.05155870729228, lon: -1.4652193740914812}, + emoji: _List_Nil, + markers: _List_Nil, + new_marker: $author$project$App$blank_marker, + selection: $author$project$App$NoSelection +}; +var $elm$core$Platform$Cmd$batch = _Platform_batch; +var $elm$core$Platform$Cmd$none = $elm$core$Platform$Cmd$batch(_List_Nil); +var $author$project$App$nocmd = function (m) { + return _Utils_Tuple2(m, $elm$core$Platform$Cmd$none); +}; +var $author$project$App$init = function (vflags) { + return $author$project$App$nocmd( + function () { + var _v0 = A2($elm$json$Json$Decode$decodeValue, $author$project$App$decode_flags, vflags); + if (_v0.$ === 'Err') { + return $author$project$App$init_model; + } else { + var flags = _v0.a; + return _Utils_update( + $author$project$App$init_model, + {emoji: flags.emoji, markers: flags.markers}); + } + }()); +}; +var $author$project$App$ReceivePosition = function (a) { + return {$: 'ReceivePosition', a: a}; +}; +var $elm$core$Platform$Sub$batch = _Platform_batch; +var $elm$json$Json$Decode$value = _Json_decodeValue; +var $author$project$App$receive_position = _Platform_incomingPort('receive_position', $elm$json$Json$Decode$value); +var $author$project$App$subscriptions = function (model) { + return $elm$core$Platform$Sub$batch( + _List_fromArray( + [ + $author$project$App$receive_position($author$project$App$ReceivePosition) + ])); +}; +var $author$project$App$EditingMarker = F2( + function (a, b) { + return {$: 'EditingMarker', a: a, b: b}; + }); +var $author$project$App$PositionCentre = function (a) { + return {$: 'PositionCentre', a: a}; +}; +var $author$project$App$SelectedMarker = function (a) { + return {$: 'SelectedMarker', a: a}; +}; +var $author$project$App$SelectedPosition = function (a) { + return {$: 'SelectedPosition', a: a}; +}; +var $author$project$App$add_marker = function (model) { + var _v0 = model.selection; + if (_v0.$ === 'SelectedPosition') { + var pos = _v0.a; + var nm = model.new_marker; + var marker = _Utils_update( + nm, + {pos: pos}); + return _Utils_update( + model, + { + markers: A2($elm$core$List$cons, marker, model.markers), + new_marker: $author$project$App$blank_marker, + selection: $author$project$App$SelectedMarker(0) + }); + } else { + return model; + } +}; +var $author$project$App$decode_latlon = A3( + $elm$json$Json$Decode$map2, + $author$project$LatLonDistance$LatLon, + A2($elm$json$Json$Decode$field, 'latitude', $elm$json$Json$Decode$float), + A2($elm$json$Json$Decode$field, 'longitude', $elm$json$Json$Decode$float)); +var $elm$core$Tuple$pair = F2( + function (a, b) { + return _Utils_Tuple2(a, b); + }); +var $author$project$App$decode_position = A3( + $elm$json$Json$Decode$map2, + $elm$core$Tuple$pair, + $author$project$App$decode_latlon, + A2($elm$json$Json$Decode$field, 'accuracy', $elm$json$Json$Decode$float)); +var $elm$core$List$drop = F2( + function (n, list) { + drop: + while (true) { + if (n <= 0) { + return list; + } else { + if (!list.b) { + return list; + } else { + var x = list.a; + var xs = list.b; + var $temp$n = n - 1, + $temp$list = xs; + n = $temp$n; + list = $temp$list; + continue drop; + } + } + } + }); +var $elm$core$List$head = function (list) { + if (list.b) { + var x = list.a; + var xs = list.b; + return $elm$core$Maybe$Just(x); + } else { + return $elm$core$Maybe$Nothing; + } +}; +var $elm_community$list_extra$List$Extra$getAt = F2( + function (idx, xs) { + return (idx < 0) ? $elm$core$Maybe$Nothing : $elm$core$List$head( + A2($elm$core$List$drop, idx, xs)); + }); +var $elm$core$Maybe$map = F2( + function (f, maybe) { + if (maybe.$ === 'Just') { + var value = maybe.a; + return $elm$core$Maybe$Just( + f(value)); + } else { + return $elm$core$Maybe$Nothing; + } + }); +var $elm$core$List$takeReverse = F3( + function (n, list, kept) { + takeReverse: + while (true) { + if (n <= 0) { + return kept; + } else { + if (!list.b) { + return kept; + } else { + var x = list.a; + var xs = list.b; + var $temp$n = n - 1, + $temp$list = xs, + $temp$kept = A2($elm$core$List$cons, x, kept); + n = $temp$n; + list = $temp$list; + kept = $temp$kept; + continue takeReverse; + } + } + } + }); +var $elm$core$List$takeTailRec = F2( + function (n, list) { + return $elm$core$List$reverse( + A3($elm$core$List$takeReverse, n, list, _List_Nil)); + }); +var $elm$core$List$takeFast = F3( + function (ctr, n, list) { + if (n <= 0) { + return _List_Nil; + } else { + var _v0 = _Utils_Tuple2(n, list); + _v0$1: + while (true) { + _v0$5: + while (true) { + if (!_v0.b.b) { + return list; + } else { + if (_v0.b.b.b) { + switch (_v0.a) { + case 1: + break _v0$1; + case 2: + var _v2 = _v0.b; + var x = _v2.a; + var _v3 = _v2.b; + var y = _v3.a; + return _List_fromArray( + [x, y]); + case 3: + if (_v0.b.b.b.b) { + var _v4 = _v0.b; + var x = _v4.a; + var _v5 = _v4.b; + var y = _v5.a; + var _v6 = _v5.b; + var z = _v6.a; + return _List_fromArray( + [x, y, z]); + } else { + break _v0$5; + } + default: + if (_v0.b.b.b.b && _v0.b.b.b.b.b) { + var _v7 = _v0.b; + var x = _v7.a; + var _v8 = _v7.b; + var y = _v8.a; + var _v9 = _v8.b; + var z = _v9.a; + var _v10 = _v9.b; + var w = _v10.a; + var tl = _v10.b; + return (ctr > 1000) ? A2( + $elm$core$List$cons, + x, + A2( + $elm$core$List$cons, + y, + A2( + $elm$core$List$cons, + z, + A2( + $elm$core$List$cons, + w, + A2($elm$core$List$takeTailRec, n - 4, tl))))) : A2( + $elm$core$List$cons, + x, + A2( + $elm$core$List$cons, + y, + A2( + $elm$core$List$cons, + z, + A2( + $elm$core$List$cons, + w, + A3($elm$core$List$takeFast, ctr + 1, n - 4, tl))))); + } else { + break _v0$5; + } + } + } else { + if (_v0.a === 1) { + break _v0$1; + } else { + break _v0$5; + } + } + } + } + return list; + } + var _v1 = _v0.b; + var x = _v1.a; + return _List_fromArray( + [x]); + } + }); +var $elm$core$List$take = F2( + function (n, list) { + return A3($elm$core$List$takeFast, 0, n, list); + }); +var $elm_community$list_extra$List$Extra$removeAt = F2( + function (index, l) { + if (index < 0) { + return l; + } else { + var _v0 = A2($elm$core$List$drop, index, l); + if (!_v0.b) { + return l; + } else { + var rest = _v0.b; + return _Utils_ap( + A2($elm$core$List$take, index, l), + rest); + } + } + }); +var $elm$json$Json$Encode$float = _Json_wrap; +var $elm$json$Json$Encode$object = function (pairs) { + return _Json_wrap( + A3( + $elm$core$List$foldl, + F2( + function (_v0, obj) { + var k = _v0.a; + var v = _v0.b; + return A3(_Json_addField, k, v, obj); + }), + _Json_emptyObject(_Utils_Tuple0), + pairs)); +}; +var $author$project$App$encode_latlng = function (pos) { + return $elm$json$Json$Encode$object( + _List_fromArray( + [ + _Utils_Tuple2( + 'lat', + $elm$json$Json$Encode$float(pos.lat)), + _Utils_Tuple2( + 'lng', + $elm$json$Json$Encode$float(pos.lon)) + ])); +}; +var $elm$json$Json$Encode$string = _Json_wrap; +var $author$project$App$encode_marker = F2( + function (id, marker) { + return $elm$json$Json$Encode$object( + _List_fromArray( + [ + _Utils_Tuple2( + 'id', + $elm$json$Json$Encode$string(id)), + _Utils_Tuple2( + 'pos', + $author$project$App$encode_latlng(marker.pos)), + _Utils_Tuple2( + 'icon', + $elm$json$Json$Encode$string(marker.icon)), + _Utils_Tuple2( + 'note', + $elm$json$Json$Encode$string(marker.note)), + _Utils_Tuple2( + 'name', + $elm$json$Json$Encode$string(marker.name)) + ])); + }); +var $elm$json$Json$Encode$list = F2( + function (func, entries) { + return _Json_wrap( + A3( + $elm$core$List$foldl, + _Json_addEntry(func), + _Json_emptyArray(_Utils_Tuple0), + entries)); + }); +var $author$project$App$send_value = _Platform_outgoingPort('send_value', $elm$core$Basics$identity); +var $author$project$App$save = function (model) { + return _Utils_Tuple2( + model, + $author$project$App$send_value( + $elm$json$Json$Encode$object( + _List_fromArray( + [ + _Utils_Tuple2( + 'type', + $elm$json$Json$Encode$string('save')), + _Utils_Tuple2( + 'markers', + A2( + $elm$json$Json$Encode$list, + $elm$core$Basics$identity, + A2( + $elm$core$List$indexedMap, + F2( + function (i, m) { + return A2( + $author$project$App$encode_marker, + $elm$core$String$fromInt(i), + m); + }), + model.markers))) + ])))); +}; +var $elm$core$Basics$always = F2( + function (a, _v0) { + return a; + }); +var $elm_community$list_extra$List$Extra$updateAt = F3( + function (index, fn, list) { + if (index < 0) { + return list; + } else { + var tail = A2($elm$core$List$drop, index, list); + if (tail.b) { + var x = tail.a; + var xs = tail.b; + return _Utils_ap( + A2($elm$core$List$take, index, list), + A2( + $elm$core$List$cons, + fn(x), + xs)); + } else { + return list; + } + } + }); +var $elm_community$list_extra$List$Extra$setAt = F2( + function (index, value) { + return A2( + $elm_community$list_extra$List$Extra$updateAt, + index, + $elm$core$Basics$always(value)); + }); +var $author$project$App$update = F2( + function (msg, model) { + switch (msg.$) { + case 'ReceivePosition': + var v = msg.a; + var _v1 = A2($elm$json$Json$Decode$decodeValue, $author$project$App$decode_position, v); + if (_v1.$ === 'Ok') { + var _v2 = _v1.a; + var pos = _v2.a; + var accuracy = _v2.b; + return $author$project$App$nocmd( + _Utils_update( + model, + {accuracy: accuracy, current_position: pos})); + } else { + return $author$project$App$nocmd(model); + } + case 'MapClicked': + var pos = msg.a; + var _v3 = model.selection; + if (_v3.$ === 'NoSelection') { + var m = model.new_marker; + return $author$project$App$nocmd( + _Utils_update( + model, + { + new_marker: _Utils_update( + m, + {pos: pos}), + selection: $author$project$App$SelectedPosition(pos) + })); + } else { + return $author$project$App$nocmd( + _Utils_update( + model, + {selection: $author$project$App$NoSelection})); + } + case 'MarkerClicked': + var i = msg.a; + var marker = A2($elm_community$list_extra$List$Extra$getAt, i, model.markers); + var pos = A2( + $elm$core$Maybe$map, + function ($) { + return $.pos; + }, + marker); + var centre = function () { + if (pos.$ === 'Just') { + var p = pos.a; + return $author$project$App$PositionCentre(p); + } else { + return model.centre; + } + }(); + return $author$project$App$nocmd( + _Utils_update( + model, + { + centre: centre, + selection: $author$project$App$SelectedMarker(i) + })); + case 'AddMarker': + return $author$project$App$save( + $author$project$App$add_marker(model)); + case 'UpdateNewMarker': + var marker = msg.a; + return $author$project$App$nocmd( + _Utils_update( + model, + {new_marker: marker})); + case 'UpdateExistingMarker': + var i = msg.a; + var marker = msg.b; + return $author$project$App$save( + _Utils_update( + model, + { + markers: A3($elm_community$list_extra$List$Extra$setAt, i, marker, model.markers), + selection: $author$project$App$SelectedMarker(i) + })); + case 'EditMarker': + var i = msg.a; + var marker = msg.b; + return $author$project$App$nocmd( + _Utils_update( + model, + { + selection: A2($author$project$App$EditingMarker, i, marker) + })); + case 'RemoveMarker': + var i = msg.a; + return $author$project$App$save( + _Utils_update( + model, + { + markers: A2($elm_community$list_extra$List$Extra$removeAt, i, model.markers), + selection: $author$project$App$NoSelection + })); + default: + return $author$project$App$nocmd( + _Utils_update( + model, + {centre: $author$project$App$CurrentPositionCentre, selection: $author$project$App$NoSelection})); + } + }); +var $author$project$App$AddMarker = {$: 'AddMarker'}; +var $author$project$App$EditMarker = F2( + function (a, b) { + return {$: 'EditMarker', a: a, b: b}; + }); +var $author$project$App$RemoveMarker = function (a) { + return {$: 'RemoveMarker', a: a}; +}; +var $author$project$App$UpdateExistingMarker = F2( + function (a, b) { + return {$: 'UpdateExistingMarker', a: a, b: b}; + }); +var $author$project$App$UpdateNewMarker = function (a) { + return {$: 'UpdateNewMarker', a: a}; +}; +var $elm$virtual_dom$VirtualDom$attribute = F2( + function (key, value) { + return A2( + _VirtualDom_attribute, + _VirtualDom_noOnOrFormAction(key), + _VirtualDom_noJavaScriptOrHtmlUri(value)); + }); +var $elm$html$Html$Attributes$attribute = $elm$virtual_dom$VirtualDom$attribute; +var $elm$html$Html$button = _VirtualDom_node('button'); +var $elm$html$Html$Attributes$stringProperty = F2( + function (key, string) { + return A2( + _VirtualDom_property, + key, + $elm$json$Json$Encode$string(string)); + }); +var $elm$html$Html$Attributes$class = $elm$html$Html$Attributes$stringProperty('className'); +var $elm$core$Basics$composeR = F3( + function (f, g, x) { + return g( + f(x)); + }); +var $elm$html$Html$datalist = _VirtualDom_node('datalist'); +var $author$project$App$MapClicked = function (a) { + return {$: 'MapClicked', a: a}; +}; +var $elm$json$Json$Decode$at = F2( + function (fields, decoder) { + return A3($elm$core$List$foldr, $elm$json$Json$Decode$field, decoder, fields); + }); +var $author$project$App$decode_map_click = A2( + $elm$json$Json$Decode$map, + $author$project$App$MapClicked, + A2( + $elm$json$Json$Decode$at, + _List_fromArray( + ['detail', 'latlng']), + $author$project$App$decode_latlng)); +var $author$project$App$ClickCurrentPosition = {$: 'ClickCurrentPosition'}; +var $author$project$App$MarkerClicked = function (a) { + return {$: 'MarkerClicked', a: a}; +}; +var $elm$json$Json$Decode$andThen = _Json_andThen; +var $elm$json$Json$Decode$fail = _Json_fail; +var $author$project$App$splitAt = F2( + function (sep, str) { + if (str === '') { + return _Utils_Tuple2('', ''); + } else { + if (_Utils_eq( + A2( + $elm$core$String$left, + $elm$core$String$length(sep), + str), + sep)) { + return _Utils_Tuple2( + '', + A2( + $elm$core$String$dropLeft, + $elm$core$String$length(sep), + str)); + } else { + var _v0 = A2( + $author$project$App$splitAt, + sep, + A2($elm$core$String$dropLeft, 1, str)); + var a = _v0.a; + var b = _v0.b; + return _Utils_Tuple2( + _Utils_ap( + A2($elm$core$String$left, 1, str), + a), + b); + } + } + }); +var $author$project$App$decode_marker_click = A2( + $elm$json$Json$Decode$andThen, + function (id) { + var _v0 = A2($author$project$App$splitAt, '-', id); + var l = _v0.a; + var r = _v0.b; + if (id === 'current-position') { + return $elm$json$Json$Decode$succeed($author$project$App$ClickCurrentPosition); + } else { + if (l === 'marker') { + var _v3 = $elm$core$String$toInt(r); + if (_v3.$ === 'Just') { + var i = _v3.a; + return $elm$json$Json$Decode$succeed( + $author$project$App$MarkerClicked(i)); + } else { + return $elm$json$Json$Decode$fail('Invalid int ' + r); + } + } else { + return $elm$json$Json$Decode$fail('Invalid marker type ' + l); + } + } + }, + A2( + $elm$json$Json$Decode$at, + _List_fromArray( + ['detail', 'id']), + $elm$json$Json$Decode$string)); +var $elm$html$Html$div = _VirtualDom_node('div'); +var $elm$html$Html$Attributes$for = $elm$html$Html$Attributes$stringProperty('htmlFor'); +var $elm$html$Html$form = _VirtualDom_node('form'); +var $elm$core$String$fromFloat = _String_fromNumber; +var $elm$html$Html$h1 = _VirtualDom_node('h1'); +var $elm$html$Html$h2 = _VirtualDom_node('h2'); +var $elm$html$Html$Attributes$id = $elm$html$Html$Attributes$stringProperty('id'); +var $elm$html$Html$input = _VirtualDom_node('input'); +var $elm$html$Html$label = _VirtualDom_node('label'); +var $elm$core$Basics$abs = function (n) { + return (n < 0) ? (-n) : n; +}; +var $elm$core$Basics$atan2 = _Basics_atan2; +var $elm$core$Basics$cos = _Basics_cos; +var $elm$core$Basics$pi = _Basics_pi; +var $elm$core$Basics$degrees = function (angleInDegrees) { + return (angleInDegrees * $elm$core$Basics$pi) / 180; +}; +var $elm$core$Basics$pow = _Basics_pow; +var $elm$core$Basics$sin = _Basics_sin; +var $elm$core$Basics$sqrt = _Basics_sqrt; +var $elm$core$Basics$tan = _Basics_tan; +var $author$project$LatLonDistance$lat_lon_distance = F2( + function (p1, p2) { + var lon2 = $elm$core$Basics$degrees(p2.lon); + var lon1 = $elm$core$Basics$degrees(p1.lon); + var lat2 = $elm$core$Basics$degrees(p2.lat); + var lat1 = $elm$core$Basics$degrees(p1.lat); + var f = 1 / 298.257223563; + var tanU1 = (1 - f) * $elm$core$Basics$tan(lat1); + var tanU2 = (1 - f) * $elm$core$Basics$tan(lat2); + var dlon = lon2 - lon1; + var cosU2 = 1 / $elm$core$Basics$sqrt(1 + (tanU2 * tanU2)); + var sinU2 = tanU2 * cosU2; + var cosU1 = 1 / $elm$core$Basics$sqrt(1 + (tanU1 * tanU1)); + var sinU1 = tanU1 * cosU1; + var b = 6356752.314245; + var a = 6378137.0; + var approx = function (lon) { + approx: + while (true) { + var sinlon = $elm$core$Basics$sin(lon); + var coslon = $elm$core$Basics$cos(lon); + var cossigma = (sinU1 * sinU2) + ((cosU1 * cosU2) * coslon); + var sinSqsigma = ((cosU2 * sinlon) * (cosU2 * sinlon)) + A2($elm$core$Basics$pow, (cosU1 * sinU2) - ((sinU1 * cosU2) * coslon), 2); + var sinsigma = $elm$core$Basics$sqrt(sinSqsigma); + var sigma = A2($elm$core$Basics$atan2, sinsigma, cossigma); + var sinalpha = ((cosU1 * cosU2) * sinlon) / sinsigma; + var cosSqalpha = 1 - (sinalpha * sinalpha); + var uSq = (cosSqalpha * ((a * a) - (b * b))) / (b * b); + var cos2sigma_m = cossigma - (((2 * sinU1) * sinU2) / cosSqalpha); + var c = ((f / 16) * cosSqalpha) * (4 + (f * (4 - (3 * cosSqalpha)))); + var lon_ = dlon + ((((1 - c) * f) * sinalpha) * (sigma + ((c * sinsigma) * (cos2sigma_m + ((c * cossigma) * ((-1) + ((2 * cos2sigma_m) * cos2sigma_m))))))); + var bigb = (uSq / 1024) * (256 + (uSq * ((-128) + (uSq * (74 - (47 * uSq)))))); + var deltasigma = (bigb * sinsigma) * (cos2sigma_m + ((bigb / 4) * ((cossigma * ((-1) + ((2 * cos2sigma_m) * cos2sigma_m))) - ((((bigb / 6) * cos2sigma_m) * ((-3) + ((4 * sinsigma) * sinsigma))) * ((-3) + ((4 * cos2sigma_m) * cos2sigma_m)))))); + var biga = 1 + ((uSq / 16384) * (4096 + (uSq * ((-768) + (uSq * (320 - (175 * uSq))))))); + var s = (b * biga) * (sigma - deltasigma); + if ($elm$core$Basics$abs(lon - lon_) > 1e-12) { + var $temp$lon = lon_; + lon = $temp$lon; + continue approx; + } else { + return s; + } + } + }; + return approx(dlon); + }); +var $elm$html$Html$li = _VirtualDom_node('li'); +var $elm$html$Html$Attributes$list = _VirtualDom_attribute('list'); +var $elm$html$Html$main_ = _VirtualDom_node('main'); +var $elm$html$Html$a = _VirtualDom_node('a'); +var $elm$html$Html$Attributes$href = function (url) { + return A2( + $elm$html$Html$Attributes$stringProperty, + 'href', + _VirtualDom_noJavaScriptUri(url)); +}; +var $elm$virtual_dom$VirtualDom$Normal = function (a) { + return {$: 'Normal', a: a}; +}; +var $elm$virtual_dom$VirtualDom$on = _VirtualDom_on; +var $elm$html$Html$Events$on = F2( + function (event, decoder) { + return A2( + $elm$virtual_dom$VirtualDom$on, + event, + $elm$virtual_dom$VirtualDom$Normal(decoder)); + }); +var $elm$html$Html$Events$onClick = function (msg) { + return A2( + $elm$html$Html$Events$on, + 'click', + $elm$json$Json$Decode$succeed(msg)); +}; +var $elm$virtual_dom$VirtualDom$text = _VirtualDom_text; +var $elm$html$Html$text = $elm$virtual_dom$VirtualDom$text; +var $author$project$App$marker_link = F3( + function (label, i, m) { + return A2( + $elm$html$Html$a, + _List_fromArray( + [ + $elm$html$Html$Events$onClick( + $author$project$App$MarkerClicked(i)), + $elm$html$Html$Attributes$href( + '#marker-' + $elm$core$String$fromInt(i)) + ]), + _List_fromArray( + [ + $elm$html$Html$text(label) + ])); + }); +var $elm$virtual_dom$VirtualDom$node = function (tag) { + return _VirtualDom_node( + _VirtualDom_noScript(tag)); +}; +var $elm$html$Html$node = $elm$virtual_dom$VirtualDom$node; +var $elm$html$Html$Events$alwaysStop = function (x) { + return _Utils_Tuple2(x, true); +}; +var $elm$virtual_dom$VirtualDom$MayStopPropagation = function (a) { + return {$: 'MayStopPropagation', a: a}; +}; +var $elm$html$Html$Events$stopPropagationOn = F2( + function (event, decoder) { + return A2( + $elm$virtual_dom$VirtualDom$on, + event, + $elm$virtual_dom$VirtualDom$MayStopPropagation(decoder)); + }); +var $elm$html$Html$Events$targetValue = A2( + $elm$json$Json$Decode$at, + _List_fromArray( + ['target', 'value']), + $elm$json$Json$Decode$string); +var $elm$html$Html$Events$onInput = function (tagger) { + return A2( + $elm$html$Html$Events$stopPropagationOn, + 'input', + A2( + $elm$json$Json$Decode$map, + $elm$html$Html$Events$alwaysStop, + A2($elm$json$Json$Decode$map, tagger, $elm$html$Html$Events$targetValue))); +}; +var $elm$html$Html$Events$alwaysPreventDefault = function (msg) { + return _Utils_Tuple2(msg, true); +}; +var $elm$virtual_dom$VirtualDom$MayPreventDefault = function (a) { + return {$: 'MayPreventDefault', a: a}; +}; +var $elm$html$Html$Events$preventDefaultOn = F2( + function (event, decoder) { + return A2( + $elm$virtual_dom$VirtualDom$on, + event, + $elm$virtual_dom$VirtualDom$MayPreventDefault(decoder)); + }); +var $elm$html$Html$Events$onSubmit = function (msg) { + return A2( + $elm$html$Html$Events$preventDefaultOn, + 'submit', + A2( + $elm$json$Json$Decode$map, + $elm$html$Html$Events$alwaysPreventDefault, + $elm$json$Json$Decode$succeed(msg))); +}; +var $elm$html$Html$option = _VirtualDom_node('option'); +var $elm$html$Html$p = _VirtualDom_node('p'); +var $elm$core$Tuple$second = function (_v0) { + var y = _v0.b; + return y; +}; +var $elm$core$List$sortBy = _List_sortBy; +var $author$project$App$space = $elm$html$Html$text(' '); +var $elm$html$Html$span = _VirtualDom_node('span'); +var $elm$html$Html$textarea = _VirtualDom_node('textarea'); +var $elm$core$Debug$toString = _Debug_toString; +var $elm$html$Html$Attributes$type_ = $elm$html$Html$Attributes$stringProperty('type'); +var $elm$html$Html$ul = _VirtualDom_node('ul'); +var $elm$html$Html$Attributes$value = $elm$html$Html$Attributes$stringProperty('value'); +var $author$project$App$view = function (model) { + var selection_str = function () { + var _v7 = model.selection; + switch (_v7.$) { + case 'NoSelection': + return 'none'; + case 'SelectedPosition': + return 'position'; + case 'SelectedMarker': + return 'viewing-marker'; + default: + return 'editing-marker'; + } + }(); + var new_marker = model.new_marker; + var selected_marker = function () { + var _v6 = model.selection; + if (_v6.$ === 'SelectedPosition') { + var pos = _v6.a; + return _List_fromArray( + [ + _Utils_Tuple2( + '', + _Utils_update( + new_marker, + {pos: pos})) + ]); + } else { + return _List_Nil; + } + }(); + var existing_markers = A2( + $elm$core$List$indexedMap, + F2( + function (i, m) { + return _Utils_Tuple2( + 'marker-' + $elm$core$String$fromInt(i), + m); + }), + model.markers); + var edit_marker_form = F4( + function (marker, update_msg, submit, extra_elements) { + return A2( + $elm$html$Html$form, + _List_fromArray( + [ + $elm$html$Html$Events$onSubmit(submit), + $elm$html$Html$Attributes$id('marker-form'), + $elm$html$Html$Attributes$class('marker-detail') + ]), + _Utils_ap( + _List_fromArray( + [ + A2( + $elm$html$Html$p, + _List_Nil, + _List_fromArray( + [ + $elm$html$Html$text( + $elm$core$Debug$toString(marker.pos)) + ])), + A2( + $elm$html$Html$p, + _List_Nil, + _List_fromArray( + [ + A2( + $elm$html$Html$label, + _List_fromArray( + [ + $elm$html$Html$Attributes$for('marker-name') + ]), + _List_fromArray( + [ + $elm$html$Html$text('Name') + ])), + A2( + $elm$html$Html$input, + _List_fromArray( + [ + $elm$html$Html$Attributes$type_('text'), + $elm$html$Html$Attributes$id('marker-name'), + $elm$html$Html$Attributes$value(marker.name), + $elm$html$Html$Events$onInput( + function (s) { + return update_msg( + _Utils_update( + marker, + {name: s})); + }) + ]), + _List_Nil), + A2( + $elm$html$Html$label, + _List_fromArray( + [ + $elm$html$Html$Attributes$for('marker-icon') + ]), + _List_fromArray( + [ + $elm$html$Html$text('Icon') + ])), + A2( + $elm$html$Html$input, + _List_fromArray( + [ + $elm$html$Html$Attributes$type_('text'), + $elm$html$Html$Attributes$id('marker-icon'), + $elm$html$Html$Attributes$list('emoji'), + $elm$html$Html$Attributes$value(marker.icon), + $elm$html$Html$Events$onInput( + function (s) { + return update_msg( + _Utils_update( + marker, + {icon: s})); + }) + ]), + _List_Nil) + ])), + A2( + $elm$html$Html$p, + _List_Nil, + _List_fromArray( + [ + A2( + $elm$html$Html$label, + _List_fromArray( + [ + $elm$html$Html$Attributes$for('marker-note') + ]), + _List_fromArray( + [ + $elm$html$Html$text('Note') + ])), + A2( + $elm$html$Html$textarea, + _List_fromArray( + [ + $elm$html$Html$Attributes$id('marker-note'), + $elm$html$Html$Attributes$value(marker.note), + $elm$html$Html$Events$onInput( + function (s) { + return update_msg( + _Utils_update( + marker, + {note: s})); + }) + ]), + _List_Nil) + ])), + A2( + $elm$html$Html$datalist, + _List_fromArray( + [ + $elm$html$Html$Attributes$id('emoji') + ]), + A2( + $elm$core$List$map, + function (e) { + return A2( + $elm$html$Html$option, + _List_fromArray( + [ + $elm$html$Html$Attributes$value(e.emoji) + ]), + _List_fromArray( + [ + $elm$html$Html$text(e.emoji + (' ' + e.description)) + ])); + }, + model.emoji)) + ]), + extra_elements)); + }); + var current_position_marker = _List_fromArray( + [ + _Utils_Tuple2( + 'current-position', + _Utils_update( + $author$project$App$blank_marker, + {icon: '😀', pos: model.current_position})) + ]); + var markers = A2( + $elm$json$Json$Encode$encode, + 0, + A2( + $elm$json$Json$Encode$list, + function (_v5) { + var id = _v5.a; + var m = _v5.b; + return A2($author$project$App$encode_marker, id, m); + }, + _Utils_ap( + current_position_marker, + _Utils_ap(existing_markers, selected_marker)))); + var closest_markers = A2( + $elm$core$List$sortBy, + A2( + $elm$core$Basics$composeR, + $elm$core$Tuple$second, + A2( + $elm$core$Basics$composeR, + function ($) { + return $.pos; + }, + $author$project$LatLonDistance$lat_lon_distance(model.current_position))), + A2($elm$core$List$indexedMap, $elm$core$Tuple$pair, model.markers)); + var form = function () { + var _v2 = model.selection; + switch (_v2.$) { + case 'SelectedPosition': + var pos = _v2.a; + return A4( + edit_marker_form, + model.new_marker, + $author$project$App$UpdateNewMarker, + $author$project$App$AddMarker, + _List_fromArray( + [ + A2( + $elm$html$Html$p, + _List_Nil, + _List_fromArray( + [ + A2( + $elm$html$Html$button, + _List_fromArray( + [ + $elm$html$Html$Attributes$type_('submit') + ]), + _List_fromArray( + [ + $elm$html$Html$text('Add a marker here') + ])) + ])) + ])); + case 'SelectedMarker': + var i = _v2.a; + var _v3 = A2($elm_community$list_extra$List$Extra$getAt, i, model.markers); + if (_v3.$ === 'Just') { + var marker = _v3.a; + return A2( + $elm$html$Html$div, + _List_fromArray( + [ + $elm$html$Html$Attributes$class('marker-detail') + ]), + _List_fromArray( + [ + A2( + $elm$html$Html$h2, + _List_Nil, + _List_fromArray( + [ + A2( + $elm$html$Html$button, + _List_fromArray( + [ + $elm$html$Html$Attributes$type_('button'), + $elm$html$Html$Events$onClick( + A2($author$project$App$EditMarker, i, marker)) + ]), + _List_fromArray( + [ + $elm$html$Html$text('Edit') + ])), + $author$project$App$space, + A2( + $elm$html$Html$span, + _List_fromArray( + [ + $elm$html$Html$Attributes$class('icon') + ]), + _List_fromArray( + [ + $elm$html$Html$text(marker.icon) + ])), + $author$project$App$space, + $elm$html$Html$text(marker.name) + ])), + A3( + $elm$html$Html$node, + 'mark-down', + _List_Nil, + _List_fromArray( + [ + $elm$html$Html$text(marker.note) + ])) + ])); + } else { + return A2( + $elm$html$Html$div, + _List_Nil, + _List_fromArray( + [ + $elm$html$Html$text('') + ])); + } + case 'EditingMarker': + var i = _v2.a; + var marker = _v2.b; + return A4( + edit_marker_form, + marker, + $author$project$App$EditMarker(i), + A2($author$project$App$UpdateExistingMarker, i, marker), + _List_fromArray( + [ + A2( + $elm$html$Html$p, + _List_Nil, + _List_fromArray( + [ + A2( + $elm$html$Html$button, + _List_fromArray( + [ + $elm$html$Html$Attributes$type_('submit') + ]), + _List_fromArray( + [ + $elm$html$Html$text('Update') + ])), + $author$project$App$space, + A2( + $elm$html$Html$button, + _List_fromArray( + [ + $elm$html$Html$Attributes$type_('button'), + $elm$html$Html$Events$onClick( + $author$project$App$RemoveMarker(i)) + ]), + _List_fromArray( + [ + $elm$html$Html$text('Delete') + ])), + $author$project$App$space, + A3($author$project$App$marker_link, 'Cancel', i, marker) + ])) + ])); + default: + return A2( + $elm$html$Html$div, + _List_fromArray( + [ + $elm$html$Html$Attributes$id('menu'), + $elm$html$Html$Attributes$class('marker-detail') + ]), + _List_fromArray( + [ + A2( + $elm$html$Html$h1, + _List_Nil, + _List_fromArray( + [ + $elm$html$Html$text('Closest markers') + ])), + A2( + $elm$html$Html$ul, + _List_Nil, + A2( + $elm$core$List$map, + function (_v4) { + var i = _v4.a; + var m = _v4.b; + return A2( + $elm$html$Html$li, + _List_Nil, + _List_fromArray( + [ + A3($author$project$App$marker_link, m.icon + (' ' + m.name), i, m) + ])); + }, + A2($elm$core$List$take, 3, closest_markers))) + ])); + } + }(); + var _v0 = function () { + var _v1 = model.centre; + switch (_v1.$) { + case 'NoCentre': + return _Utils_Tuple2(false, model.current_position); + case 'CurrentPositionCentre': + return _Utils_Tuple2(true, model.current_position); + default: + var pos = _v1.a; + return _Utils_Tuple2(true, pos); + } + }(); + var centre_mode = _v0.a; + var centre = _v0.b; + return { + body: _List_fromArray( + [ + A2( + $elm$html$Html$main_, + _List_fromArray( + [ + A2($elm$html$Html$Attributes$attribute, 'data-selection', selection_str) + ]), + _List_fromArray( + [ + form, + A3( + $elm$html$Html$node, + 'leaflet-map', + _List_fromArray( + [ + A2($elm$html$Html$Attributes$attribute, 'markers', markers), + A2( + $elm$html$Html$Attributes$attribute, + 'lat', + $elm$core$String$fromFloat(centre.lat)), + A2( + $elm$html$Html$Attributes$attribute, + 'lon', + $elm$core$String$fromFloat(centre.lon)), + A2( + $elm$html$Html$Attributes$attribute, + 'centre', + centre_mode ? 'true' : 'false'), + A2($elm$html$Html$Events$on, 'mapclick', $author$project$App$decode_map_click), + A2($elm$html$Html$Events$on, 'markerclick', $author$project$App$decode_marker_click) + ]), + _List_Nil) + ])) + ]), + title: 'CLP\'s map' + }; +}; +var $author$project$App$main = $elm$browser$Browser$document( + {init: $author$project$App$init, subscriptions: $author$project$App$subscriptions, update: $author$project$App$update, view: $author$project$App$view}); +_Platform_export({'App':{'init':$author$project$App$main($elm$json$Json$Decode$value)(0)}});}(this)); \ No newline at end of file diff --git a/cgi-bin/save_data.py b/cgi-bin/save_data.py new file mode 100755 index 0000000..3ead663 --- /dev/null +++ b/cgi-bin/save_data.py @@ -0,0 +1,17 @@ +#!/usr/bin/python3 + +import cgi +import cgitb +from pathlib import Path +cgitb.enable() + +form = cgi.FieldStorage() + +print('Content-Type: text/plain\n') + +content = form.getfirst('content') + +with open(Path('..') / 'data' / 'markers.json', 'w') as f: + f.write(content) + +print(content) \ No newline at end of file diff --git a/elm.json b/elm.json new file mode 100644 index 0000000..a51d89e --- /dev/null +++ b/elm.json @@ -0,0 +1,25 @@ +{ + "type": "application", + "source-directories": [ + "src" + ], + "elm-version": "0.19.1", + "dependencies": { + "direct": { + "elm/browser": "1.0.2", + "elm/core": "1.0.5", + "elm/html": "1.0.0", + "elm/json": "1.1.3", + "elm-community/list-extra": "8.7.0" + }, + "indirect": { + "elm/time": "1.0.0", + "elm/url": "1.0.0", + "elm/virtual-dom": "1.0.3" + } + }, + "test-dependencies": { + "direct": {}, + "indirect": {} + } +} diff --git a/emoji_metadata.json b/emoji_metadata.json new file mode 100644 index 0000000..a0e4bad --- /dev/null +++ b/emoji_metadata.json @@ -0,0 +1,46989 @@ +[ + { + "emoji": "😀", + "description": "grinning face", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + "joy", + "you", + "grinning face", + "grinning emoji", + "i", + "grin", + "face", + "a grinning emoji", + "happy", + "grinning", + ":d" + ], + "unicode": "6.1", + "ios": "6.0", + "sentiment": "positive", + "related": [ + "😄", + "😃", + "😀" + ], + "rgb": [ + 227, + 179, + 64 + ] + }, + { + "emoji": "😃", + "description": "grinning face", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + ":)", + "funny", + "mouth", + "joy", + "good afternoon", + "open", + "eyes", + "grinning", + ":d", + "a smiley emoji", + "smiley", + "face", + "grinning face with big eyes", + "good morning", + "haha", + "smiley emoji", + "happy", + "big" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [ + "😄", + "😃", + "😀" + ], + "rgb": [ + 224, + 175, + 61 + ] + }, + { + "emoji": "😄", + "description": "grinning face", + "category": "Smileys & Emotion", + "aliases": [ + "like", + "smile", + ":)", + "grinning emoji", + "funny", + "mouth", + "laugh", + "grinning face with smiling eyes", + "joy", + "open", + "eyes", + "grinning", + ":d", + "pleased", + "face", + "a grinning emoji", + "haha", + "smiling", + "eye", + "happy" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [ + "😄", + "😃", + "😀" + ], + "rgb": [ + 225, + 177, + 63 + ] + }, + { + "emoji": "😁", + "description": "beaming face", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + "joy", + "kawaii", + "beaming face with smiling eyes", + "grin", + "beaming emoji", + "a beaming emoji", + "face", + "beaming", + "eyes", + "smiling", + "eye", + "happy" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 226, + 182, + 73 + ] + }, + { + "emoji": "😆", + "description": "grinning face", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + "joy", + "grinning squinting face", + "xd", + "haha", + "laughing", + "laughing emoji", + "lol", + "satisfied", + "mouth", + "face", + "a laughing emoji", + "glad", + "happy", + "grinning", + "squinting", + "laugh" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 224, + 177, + 63 + ] + }, + { + "emoji": "😅", + "description": "grinning face", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + "cold", + "open", + "hot", + "grinning face with sweat", + "grinning emoji", + "face", + "a grinning emoji", + "sweat smile", + "relief", + "sweat", + "happy", + "grinning", + "laugh" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 211, + 176, + 77 + ] + }, + { + "emoji": "🤣", + "description": "rolling on the", + "category": "Smileys & Emotion", + "aliases": [ + "on", + "rolling", + "haha", + "laughing", + "lol", + "rotfl", + "laugh", + "rofl", + "face", + "the", + "faces rolling on the floor laughing", + "floor", + "rolling on the floor laughing" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "positive", + "related": [], + "rgb": [ + 216, + 178, + 75 + ] + }, + { + "emoji": "😂", + "description": "face with tears", + "category": "Smileys & Emotion", + "aliases": [ + "crying with laughter emoji", + "joy", + "haha", + "tear", + "face with tears of joy", + "weep", + "face", + "cry", + "tears", + "happytears", + "a crying with laughter emoji", + "happy", + "laugh" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 207, + 178, + 84 + ] + }, + { + "emoji": "🙂", + "description": "slightly smiling", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + "a smiley emoji", + "slightly", + "smiley emoji", + "face", + "smiling", + "thinking of you", + "slightly smiling face" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "positive", + "related": [], + "rgb": [ + 239, + 188, + 57 + ] + }, + { + "emoji": "🙃", + "description": "upside down", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + "flipped", + "upside down face", + "an upside down emoji", + "upside-down", + "face", + "silly", + "down", + "upside down emoji", + "upside-down face", + "upside" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "positive", + "related": [], + "rgb": [ + 239, + 187, + 56 + ] + }, + { + "emoji": "😉", + "description": "winking face", + "category": "Smileys & Emotion", + "aliases": [ + ";)", + "smile", + "mischievous", + "flirt", + "a winking emoji", + "winking", + "secret", + "winking emoji", + "wink", + "winking face", + "face", + "eye", + "happy" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 235, + 183, + 56 + ] + }, + { + "emoji": "😊", + "description": "smiling face", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + "flushed", + "joy", + "you", + "a smiley emoji", + "smiley emoji", + "blush", + "i", + "smiling face with smiling eyes", + "face", + "eyes", + "shy", + "smiling", + "eye", + "happy", + "embarrassed", + "proud", + "crush" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 236, + 178, + 52 + ] + }, + { + "emoji": "😇", + "description": "smiling face", + "category": "Smileys & Emotion", + "aliases": [ + "smiling face with halo", + "halo", + "face with halo emoji", + "face", + "smiling", + "heaven", + "angel", + "fantasy", + "a face with halo emoji", + "innocent" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 200, + 170, + 88 + ] + }, + { + "emoji": "🥰", + "description": "smiling face", + "category": "Smileys & Emotion", + "aliases": [ + "like", + "faces with hearts", + "smiling face with hearts", + "in love", + "smiling face with three hearts", + "face", + "affection", + "hearts", + "a face with hearts", + "valentines", + "infatuation", + "adore", + "smiling", + "love", + "crush" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 231, + 155, + 56 + ] + }, + { + "emoji": "😍", + "description": "smiling face", + "category": "Smileys & Emotion", + "aliases": [ + "like", + "smile", + "heart eyes", + "cannot wait to see you", + "face", + "affection", + "faces with heart eyes", + "eyes", + "valentines", + "smiling face with heart-eyes", + "eye", + "infatuation", + "smiling", + "can't wait to see you", + "love", + "heart", + "crush", + "a face with heart eyes" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 234, + 155, + 55 + ] + }, + { + "emoji": "🤩", + "description": "face with starry", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + "a star-struck emoji", + "star-struck", + "struck", + "star", + "star-struck emoji", + "face", + "eyes", + "starry", + "grinning", + "star struck" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "positive", + "related": [], + "rgb": [ + 217, + 169, + 76 + ] + }, + { + "emoji": "😘", + "description": "face blowing", + "category": "Smileys & Emotion", + "aliases": [ + "like", + "goodnight sweet dreams", + "blowing", + "i love you", + "love", + "a kissing face", + "kissing heart", + "kissing faces", + "good night", + "affection", + "valentines", + "face blowing a kiss", + "flirt", + "good night sweet dreams", + "face", + "good night sleep tight", + "goodnight", + "kiss", + "infatuation", + "goodnight sleep tight", + "gnight" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 237, + 175, + 57 + ] + }, + { + "emoji": "😗", + "description": "kissing face", + "category": "Smileys & Emotion", + "aliases": [ + "like", + "a kissing face", + "kissing faces", + "kiss", + "kissing face", + "face", + "kissing", + "valentines", + "infatuation", + "3", + "love" + ], + "unicode": "6.1", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 240, + 188, + 57 + ] + }, + { + "emoji": "☺️", + "description": "smiling face", + "category": "Smileys & Emotion", + "aliases": [ + "smiling face", + "blush", + "smiley faces", + "relaxed", + "face", + "a smiley face", + "smiling", + "massage", + "happiness", + "pleased" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 236, + 179, + 53 + ] + }, + { + "emoji": "😚", + "description": "kissing face", + "category": "Smileys & Emotion", + "aliases": [ + "like", + "a kissing face", + "kissing faces", + "kiss", + "face", + "affection", + "closed", + "kissing", + "eyes", + "kissing closed eyes", + "eye", + "kissing face with closed eyes", + "infatuation", + "valentines", + "love" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 236, + 180, + 54 + ] + }, + { + "emoji": "😙", + "description": "kissing face", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + "a kissing face", + "kissing faces", + "kiss", + "kissing smiling eyes", + "face", + "affection", + "eyes", + "kissing", + "valentines", + "infatuation", + "eye", + "smiling", + "kissing face with smiling eyes" + ], + "unicode": "6.1", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 238, + 185, + 56 + ] + }, + { + "emoji": "🥲", + "description": "smiling face", + "category": "Smileys & Emotion", + "aliases": [ + "smiling face with tear", + "a teary smiley face", + "touched", + "tear", + "relieved", + "sad", + "face", + "cry", + "grateful", + "smiling", + "teary smiley faces", + "proud", + "pretend" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 222, + 187, + 74 + ] + }, + { + "emoji": "😋", + "description": "smiling face", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + "joy", + "nom", + "happy", + "lick", + "savouring", + "tongue", + "tongue out emoji", + "food", + "face", + "silly", + "delicious", + "a tongue out emoji", + "savoring", + "face savoring food", + "yummy", + "yum" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 237, + 182, + 62 + ] + }, + { + "emoji": "😛", + "description": "face with stuck", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + "mischievous", + "face with tongue", + "prank", + "tongue", + "stuck out tongue", + "a face with tongue out", + "playful", + "face", + "childish", + "faces with tongue out" + ], + "unicode": "6.1", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 235, + 176, + 66 + ] + }, + { + "emoji": "😜", + "description": "winking face", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + "mischievous", + "winking face with tongue", + "prank", + "winking", + "stuck out tongue winking eye", + "wink", + "tongue", + "playful", + "face", + "crazy faces", + "childish", + "silly", + "eye", + "joke", + "a crazy face" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 228, + 174, + 79 + ] + }, + { + "emoji": "🤪", + "description": "goofy face", + "category": "Smileys & Emotion", + "aliases": [ + "small", + "large", + "crazy", + "goofy emoji", + "a goofy emoji", + "face", + "zany face", + "goofy", + "eye", + "zany", + "wacky" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "positive", + "related": [], + "rgb": [ + 222, + 173, + 90 + ] + }, + { + "emoji": "😝", + "description": "face with stuck", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + "squinting face with tongue", + "mischievous", + "prank", + "stuck out tongue closed eyes", + "horrible", + "tongue", + "a face with tongue out", + "playful", + "face", + "eye", + "faces with tongue out", + "squinting", + "taste" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 233, + 174, + 65 + ] + }, + { + "emoji": "🤑", + "description": "money-mouth", + "category": "Smileys & Emotion", + "aliases": [ + "dollar", + "money-mouth face", + "mouth", + "face", + "money", + "rich", + "a money-mouth face", + "money mouth face", + "money-mouth faces" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "positive", + "related": [], + "rgb": [ + 217, + 180, + 53 + ] + }, + { + "emoji": "🤗", + "description": "hugging face", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + "faces with open hands", + "smiling face", + "open", + "hugging", + "hug", + "hugs", + "smiling face with open hands", + "face", + "open hands", + "smiling", + "hands", + "a face with open hands" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "positive", + "related": [], + "rgb": [ + 237, + 171, + 54 + ] + }, + { + "emoji": "🤭", + "description": "face with hand", + "category": "Smileys & Emotion", + "aliases": [ + "quiet", + "hand", + "hand over mouth", + "surprise", + "a giggling emoji", + "mouth", + "whoops", + "face", + "shock", + "over", + "face with hand over mouth", + "giggling emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 235, + 177, + 56 + ] + }, + { + "emoji": "🤫", + "description": "shushing face", + "category": "Smileys & Emotion", + "aliases": [ + "quiet", + "shushing face", + "a shushing emoji", + "shhh", + "shush", + "face", + "silence", + "shushing emoji", + "shushing" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 239, + 179, + 57 + ] + }, + { + "emoji": "🤔", + "description": "thinking face", + "category": "Smileys & Emotion", + "aliases": [ + "thinking face", + "thinking", + "hmmm", + "thinking faces", + "face", + "a thinking face", + "think", + "consider" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "confused", + "related": [], + "rgb": [ + 239, + 187, + 58 + ] + }, + { + "emoji": "🤐", + "description": "face with a", + "category": "Smileys & Emotion", + "aliases": [ + "zipper-mouth face", + "hush", + "zipper-mouth faces", + "secret", + "zipper mouth face", + "a zipper-mouth face", + "mouth", + "face", + "silence", + "zipper", + "sealed" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 226, + 182, + 71 + ] + }, + { + "emoji": "🤨", + "description": "face with raised", + "category": "Smileys & Emotion", + "aliases": [ + "raised eyebrow emoji", + "distrust", + "suspicious", + "skeptic", + "surprise", + "disapproval", + "a raised eyebrow emoji", + "eyebrow", + "face", + "raised", + "raised eyebrow", + "scepticism", + "face with raised eyebrow", + "disbelief" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "anger", + "related": [], + "rgb": [ + 234, + 180, + 53 + ] + }, + { + "emoji": "😐", + "description": "neutral face", + "category": "Smileys & Emotion", + "aliases": [ + ":|", + "neutral faces", + "neutral", + "indifference", + "face", + "neutral face", + "deadpan", + "a neutral face", + "meh" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "anger", + "related": [], + "rgb": [ + 237, + 185, + 56 + ] + }, + { + "emoji": "😑", + "description": "expressionless", + "category": "Smileys & Emotion", + "aliases": [ + "expressionless", + "_", + "inexpressive", + "-", + "face", + "an expressionless face", + "deadpan", + "indifferent", + "expressionless face", + "expressionless faces", + "meh", + "unexpressive" + ], + "unicode": "6.1", + "ios": "6.0", + "sentiment": "anger", + "related": [], + "rgb": [ + 238, + 186, + 56 + ] + }, + { + "emoji": "😶", + "description": "face without", + "category": "Smileys & Emotion", + "aliases": [ + "quiet", + "mute", + "face without mouth", + "silent", + "face without mouth emoji", + "no mouth", + "mouth", + "face", + "without", + "hellokitty", + "silence", + "a face without mouth emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 242, + 189, + 57 + ] + }, + { + "emoji": "😶‍🌫️", + "description": "face in clouds", + "category": "Smileys & Emotion", + "aliases": [ + "shower", + "face in clouds", + "dream", + "clouds", + "a face-in-clouds emoji", + "face", + "steam", + "face-in-clouds emoji" + ], + "unicode": "13.1", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 224, + 214, + 177 + ] + }, + { + "emoji": "😏", + "description": "smirking face", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + "sarcasm", + "mean", + "smirking face", + "smirking", + "prank", + "smirk", + "smug", + "face", + "smirking faces", + "a smirking face" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 235, + 185, + 56 + ] + }, + { + "emoji": "😒", + "description": "unamused face", + "category": "Smileys & Emotion", + "aliases": [ + "dubious", + "sarcasm", + "bored", + "unamused faces", + "skeptical", + "serious", + "an unamused face", + "face", + "side", + "unamused face", + "indifference", + "unamused", + "unimpressed", + "eye", + "meh", + "straight face", + "unhappy" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "anger", + "related": [], + "rgb": [ + 235, + 185, + 56 + ] + }, + { + "emoji": "🙄", + "description": "face with rolling", + "category": "Smileys & Emotion", + "aliases": [ + "a rolling eyes emoji", + "rolling", + "rolling eyes emoji", + "eyeroll", + "face", + "frustrated", + "eyes", + "face with rolling eyes", + "roll eyes" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "anger", + "related": [], + "rgb": [ + 228, + 187, + 89 + ] + }, + { + "emoji": "😬", + "description": "grimacing face", + "category": "Smileys & Emotion", + "aliases": [ + "grimace", + "grimacing", + "face", + "teeth", + "a grimacing emoji", + "grimacing face", + "grimacing emoji" + ], + "unicode": "6.1", + "ios": "6.0", + "sentiment": "anxiety", + "related": [], + "rgb": [ + 231, + 186, + 75 + ] + }, + { + "emoji": "😮‍💨", + "description": "exhaling face", + "category": "Smileys & Emotion", + "aliases": [ + "whistle", + "whisper", + "relieve", + "exhaling faces", + "face", + "sigh", + "gasp", + "relief", + "exhale", + "exhaling", + "groan", + "face exhaling", + "an exhaling face", + "tired" + ], + "unicode": "13.1", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 233, + 188, + 75 + ] + }, + { + "emoji": "🤥", + "description": "lying face", + "category": "Smileys & Emotion", + "aliases": [ + "lie", + "liar", + "lying face", + "lying", + "pinocchio", + "face", + "lying face emoji", + "a lying face emoji" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 234, + 183, + 58 + ] + }, + { + "emoji": "😌", + "description": "relieved face", + "category": "Smileys & Emotion", + "aliases": [ + "a smiley emoji", + "smiley emoji", + "whew", + "relaxed", + "relieved", + "phew", + "face", + "relieved face", + "massage", + "happiness" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 234, + 183, + 55 + ] + }, + { + "emoji": "😔", + "description": "sad pensive", + "category": "Smileys & Emotion", + "aliases": [ + "dejected", + "a sad face", + "pensive", + "face", + "sad", + "sad faces", + "missing you", + "upset", + "depressed", + "pensive face" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "sad", + "related": [], + "rgb": [ + 235, + 185, + 56 + ] + }, + { + "emoji": "😪", + "description": "sleepy face", + "category": "Smileys & Emotion", + "aliases": [ + "rest", + "a crying emoji", + "good night", + "face", + "crying emoji", + "sleepy face", + "sleepy", + "nap", + "sleep", + "tired" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "low_energy", + "related": [], + "rgb": [ + 218, + 185, + 76 + ] + }, + { + "emoji": "🤤", + "description": "drooling face", + "category": "Smileys & Emotion", + "aliases": [ + "a drooling face emoji", + "drooling face", + "face", + "drooling", + "drooling face emoji" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 232, + 183, + 58 + ] + }, + { + "emoji": "😴", + "description": "sleeping face", + "category": "Smileys & Emotion", + "aliases": [ + "good night sleep tight", + "a sleeping emoji", + "sleeping emoji", + "sleeping face", + "night", + "goodnight", + "good night", + "goodnight sweet dreams", + "good night sweet dreams", + "sleeping", + "face", + "sleepy", + "ZZZ", + "goodnight sleep tight", + "sleep", + "zzz", + "gnight", + "tired" + ], + "unicode": "6.1", + "ios": "6.0", + "sentiment": "low_energy", + "related": [], + "rgb": [ + 219, + 174, + 65 + ] + }, + { + "emoji": "😷", + "description": "face with medical", + "category": "Smileys & Emotion", + "aliases": [ + "cold", + "medical", + "a face with medical mask emoji", + "ill", + "face with medical mask emoji", + "mask", + "doctor", + "face", + "face with medical mask", + "covid", + "sick", + "disease" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "feel", + "related": [], + "rgb": [ + 228, + 189, + 104 + ] + }, + { + "emoji": "🤒", + "description": "face with thermometer", + "category": "Smileys & Emotion", + "aliases": [ + "cold", + "ill", + "fever", + "thermometer", + "face", + "face with thermometer", + "covid", + "faces with thermometers", + "temperature", + "sick", + "a face with thermometer" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "feel", + "related": [], + "rgb": [ + 234, + 178, + 64 + ] + }, + { + "emoji": "🤕", + "description": "face with head", + "category": "Smileys & Emotion", + "aliases": [ + "hurt", + "injury", + "a face with head-bandage", + "clumsy", + "face with head bandage", + "face", + "face with head-bandage", + "bandage", + "faces with head-bandages", + "head", + "injured" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "feel", + "related": [], + "rgb": [ + 222, + 181, + 91 + ] + }, + { + "emoji": "🤢", + "description": "nauseated face", + "category": "Smileys & Emotion", + "aliases": [ + "green", + "ill", + "nauseated faces", + "a nauseated face", + "barf", + "face", + "disgusted", + "gross", + "nauseated", + "vomit", + "sick", + "throw up", + "nauseated face" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "feel", + "related": [], + "rgb": [ + 145, + 172, + 27 + ] + }, + { + "emoji": "🤮", + "description": "vomiting face", + "category": "Smileys & Emotion", + "aliases": [ + "vomiting face", + "barf", + "face", + "a vomiting emoji", + "vomiting", + "vomit", + "puke", + "sick", + "face vomiting", + "vomiting emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "feel", + "related": [], + "rgb": [ + 177, + 176, + 41 + ] + }, + { + "emoji": "🤧", + "description": "sneezing face", + "category": "Smileys & Emotion", + "aliases": [ + "gesundheit", + "achoo", + "sneezing face emoji", + "sneeze", + "a sneezing face emoji", + "allergy", + "face", + "sneezing", + "sick", + "sneezing face" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "feel", + "related": [], + "rgb": [ + 232, + 191, + 85 + ] + }, + { + "emoji": "🥵", + "description": "hot face", + "category": "Smileys & Emotion", + "aliases": [ + "heat stroke", + "sweating", + "hot", + "red-faced", + "a sweaty face", + "face", + "sweaty faces", + "red", + "hot face", + "feverish", + "heat" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "feel", + "related": [], + "rgb": [ + 223, + 128, + 61 + ] + }, + { + "emoji": "🥶", + "description": "cold face", + "category": "Smileys & Emotion", + "aliases": [ + "cold", + "frozen", + "freezing faces", + "blue-faced", + "a freezing face", + "frostbite", + "face", + "icicles", + "freezing", + "blue", + "cold face", + "ice" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "feel", + "related": [], + "rgb": [ + 101, + 165, + 224 + ] + }, + { + "emoji": "🥴", + "description": "woozy face", + "category": "Smileys & Emotion", + "aliases": [ + "intoxicated", + "woozy", + "a woozy face", + "tipsy", + "woozy faces", + "wavy", + "wavy mouth", + "groggy", + "face", + "uneven eyes", + "dizzy", + "woozy face" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "feel", + "related": [], + "rgb": [ + 233, + 177, + 52 + ] + }, + { + "emoji": "😵", + "description": "dizzy face", + "category": "Smileys & Emotion", + "aliases": [ + "dead", + "out", + "crossed-out eyes", + "xox", + "a dizzy emoji", + "unconscious", + "dizzy emoji", + "face", + "eyes", + "face with crossed-out eyes", + "spent", + "dizzy", + "knocked out", + "crossed", + "dizzy face" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "low_energy", + "related": [], + "rgb": [ + 226, + 173, + 50 + ] + }, + { + "emoji": "😵‍💫", + "description": "face with spiral", + "category": "Smileys & Emotion", + "aliases": [ + "whoa", + "ill", + "trouble", + "spiral", + "nausea", + "face", + "confused", + "sick", + "eyes", + "face with spiral eyes", + "dizzy", + "a hypnotized face emoji", + "nauseous", + "hypnotized", + "hypnotized face emoji" + ], + "unicode": "13.1", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 226, + 170, + 50 + ] + }, + { + "emoji": "🤯", + "description": "exploding head", + "category": "Smileys & Emotion", + "aliases": [ + "mind", + "shocked", + "blown", + "exploding head", + "an exploding head emoji", + "mind blown", + "face", + "exploding head emoji", + "head", + "exploding" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 221, + 162, + 66 + ] + }, + { + "emoji": "🤠", + "description": "cowboy face", + "category": "Smileys & Emotion", + "aliases": [ + "cowboy hat face", + "cowboy faces", + "cowboy", + "hat", + "face", + "cowgirl", + "a cowboy face" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "positive", + "related": [], + "rgb": [ + 178, + 137, + 55 + ] + }, + { + "emoji": "🥳", + "description": "party face", + "category": "Smileys & Emotion", + "aliases": [ + "horn", + "partying", + "woohoo", + "celebration", + "a party face", + "hat", + "birthday", + "face", + "party", + "partying face", + "party faces" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "positive", + "related": [], + "rgb": [ + 215, + 166, + 74 + ] + }, + { + "emoji": "🥸", + "description": "disguised face", + "category": "Smileys & Emotion", + "aliases": [ + "pretent", + "disguised face", + "disguised faces", + "disguise", + "a disguised face", + "nose", + "face", + "glasses", + "disguised", + "incognito", + "brows", + "moustache" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 189, + 145, + 47 + ] + }, + { + "emoji": "😎", + "description": "smiling face", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + "beach", + "smiling face with sunglasses", + "sunglasses faces", + "summer", + "a sunglasses face", + "sunglasses", + "face", + "cool", + "sun", + "smiling", + "bright", + "beach day", + "sunglass" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 195, + 152, + 55 + ] + }, + { + "emoji": "🤓", + "description": "smiling face", + "category": "Smileys & Emotion", + "aliases": [ + "nerd", + "a nerd face", + "geek", + "face", + "nerd faces", + "glasses", + "nerdy", + "dork", + "nerd face" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "positive", + "related": [], + "rgb": [ + 213, + 168, + 57 + ] + }, + { + "emoji": "🧐", + "description": "face with monocle", + "category": "Smileys & Emotion", + "aliases": [ + "face with monocle", + "wealthy", + "monocle face", + "stuffy", + "face", + "a face with monocle", + "monocle", + "faces with monocles" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "confused", + "related": [], + "rgb": [ + 230, + 180, + 63 + ] + }, + { + "emoji": "😕", + "description": "confused face", + "category": "Smileys & Emotion", + "aliases": [ + ":/", + "a sad face", + "indifference", + "hmmm", + "sad faces", + "face", + "confused", + "huh", + "confused face", + "weird", + "meh" + ], + "unicode": "6.1", + "ios": "6.0", + "sentiment": "confused", + "related": [], + "rgb": [ + 239, + 188, + 57 + ] + }, + { + "emoji": "😟", + "description": "worried face", + "category": "Smileys & Emotion", + "aliases": [ + "worried faces", + "nervous", + "worried face", + "concern", + ":(", + "worried", + "face", + "a worried face" + ], + "unicode": "6.1", + "ios": "6.0", + "sentiment": "sad", + "related": [], + "rgb": [ + 235, + 183, + 54 + ] + }, + { + "emoji": "🙁", + "description": "slightly frowning", + "category": "Smileys & Emotion", + "aliases": [ + "slightly", + "sad emoji", + "frown", + "sad", + "face", + "frowning", + "disappointed", + "a sad emoji", + "upset", + "slightly frowning face" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "sad", + "related": [], + "rgb": [ + 238, + 186, + 56 + ] + }, + { + "emoji": "☹️", + "description": "frowning face", + "category": "Smileys & Emotion", + "aliases": [ + "frown", + "a sad face", + "sad", + "face", + "sad faces", + "frowning", + "upset", + "frowning face" + ], + "unicode": "", + "ios": "9.1", + "sentiment": "sad", + "related": [], + "rgb": [ + 239, + 187, + 57 + ] + }, + { + "emoji": "😮", + "description": "surprised face", + "category": "Smileys & Emotion", + "aliases": [ + "surprised emoji", + "whoa", + "a surprised emoji", + "open mouth", + "open", + "impressed", + "surprise", + ":o", + "mouth", + "face", + "wow", + "sympathy", + "face with open mouth" + ], + "unicode": "6.1", + "ios": "6.0", + "sentiment": "anxiety", + "related": [], + "rgb": [ + 237, + 184, + 55 + ] + }, + { + "emoji": "😯", + "description": "surprised face", + "category": "Smileys & Emotion", + "aliases": [ + "stunned", + "surprised emoji", + "a surprised emoji", + "surprised", + "woo", + "face", + "speechless", + "hushed face", + "silence", + "hushed", + "shh" + ], + "unicode": "6.1", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 236, + 184, + 55 + ] + }, + { + "emoji": "😲", + "description": "astonished face", + "category": "Smileys & Emotion", + "aliases": [ + "surprised emoji", + "astonished face", + "a surprised emoji", + "xox", + "shocked", + "totally", + "poisoned", + "surprised", + "astonished", + "face", + "gasp", + "amazed" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "anxiety", + "related": [], + "rgb": [ + 232, + 180, + 55 + ] + }, + { + "emoji": "😳", + "description": "face with wide", + "category": "Smileys & Emotion", + "aliases": [ + "flushed", + "surprised emoji", + "a surprised emoji", + "blush", + "flushed face", + "face", + "shy", + "dazed", + "flattered" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "anxiety", + "related": [], + "rgb": [ + 223, + 177, + 84 + ] + }, + { + "emoji": "🥺", + "description": "pleading face", + "category": "Smileys & Emotion", + "aliases": [ + "pleading", + "puppy", + "pleading face", + "a face with pleading eyes", + "mercy", + "face", + "eyes", + "puppy eyes", + "begging", + "faces with pleading eyes" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 218, + 175, + 68 + ] + }, + { + "emoji": "😦", + "description": "frowning face", + "category": "Smileys & Emotion", + "aliases": [ + "surprised emoji", + "a surprised emoji", + "frown", + "open", + "aw", + "what", + "frowning face with open mouth", + "mouth", + "face", + "frowning" + ], + "unicode": "6.1", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 237, + 186, + 56 + ] + }, + { + "emoji": "😧", + "description": "anguished face", + "category": "Smileys & Emotion", + "aliases": [ + "anguished", + "stunned", + "surprised emoji", + "a surprised emoji", + "nervous", + "face", + "anguished face" + ], + "unicode": "6.1", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 233, + 182, + 54 + ] + }, + { + "emoji": "😨", + "description": "fearful face", + "category": "Smileys & Emotion", + "aliases": [ + "oops", + "fearful emoji", + "terrified", + "nervous", + "shocked", + "fearful face", + "a fearful emoji", + "face", + "huh", + "fearful", + "scared", + "fear" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "anxiety", + "related": [], + "rgb": [ + 183, + 160, + 105 + ] + }, + { + "emoji": "😰", + "description": "anxious face", + "category": "Smileys & Emotion", + "aliases": [ + "cold", + "rushed", + "nervous", + "cold sweat", + "anxious face with sweat", + "an anxious face with sweat emoji", + "anxious face with sweat emoji", + "face", + "sweat", + "anxious", + "blue" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "anxiety", + "related": [], + "rgb": [ + 173, + 163, + 122 + ] + }, + { + "emoji": "😥", + "description": "sad but relieved", + "category": "Smileys & Emotion", + "aliases": [ + "sad emoji", + "nervous", + "whew", + "but", + "relieved", + "sad", + "phew", + "face", + "disappointed relieved", + "sweat", + "disappointed", + "sad but relieved face", + "a sad emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 223, + 186, + 72 + ] + }, + { + "emoji": "😢", + "description": "crying face", + "category": "Smileys & Emotion", + "aliases": [ + "crying face", + "a crying face", + "tear", + "crying faces", + ":'(", + "sad", + "face", + "cry", + "tears", + "crying", + "upset", + "depressed" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "sad", + "related": [], + "rgb": [ + 224, + 186, + 71 + ] + }, + { + "emoji": "😭", + "description": "loudly crying", + "category": "Smileys & Emotion", + "aliases": [ + "a crying emoji", + "loudly", + "loudly crying face", + "sob", + "tear", + "sad", + "face", + "cry", + "tears", + "crying", + "crying emoji", + "depressed", + "bawling", + "upset" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "sad", + "related": [], + "rgb": [ + 201, + 176, + 90 + ] + }, + { + "emoji": "😱", + "description": "face screaming", + "category": "Smileys & Emotion", + "aliases": [ + "face screaming in fear", + "scream", + "horror", + "screaming", + "shocked", + "screaming in fear emoji", + "omg", + "face", + "scared", + "munch", + "fear", + "a screaming in fear emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "anxiety", + "related": [], + "rgb": [ + 189, + 164, + 116 + ] + }, + { + "emoji": "😖", + "description": "confounded face", + "category": "Smileys & Emotion", + "aliases": [ + "scrunched faces", + "oops", + ":s", + "confounded", + "a scrunched face", + "face", + "confused", + "confounded face", + "unwell", + "sick" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "anger", + "related": [], + "rgb": [ + 235, + 184, + 56 + ] + }, + { + "emoji": "😣", + "description": "persevering", + "category": "Smileys & Emotion", + "aliases": [ + "oops", + "persevere", + "a scrunched face", + "persevering face", + "struggling", + "face", + "persevering", + "no", + "scrunched faces", + "sick", + "upset" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "anger", + "related": [], + "rgb": [ + 234, + 183, + 55 + ] + }, + { + "emoji": "😞", + "description": "disappointed", + "category": "Smileys & Emotion", + "aliases": [ + ":(", + "a disappointed face", + "sad", + "face", + "missing you", + "disappointed face", + "disappointed", + "upset", + "depressed", + "disappointed faces" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 239, + 188, + 57 + ] + }, + { + "emoji": "😓", + "description": "downcast face", + "category": "Smileys & Emotion", + "aliases": [ + "cold", + "downcast", + "hot", + "downcast face with sweat", + "sad", + "face", + "sweat", + "exercise", + "faces with sweat", + "a face with sweat", + "tired" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "anxiety", + "related": [], + "rgb": [ + 215, + 184, + 79 + ] + }, + { + "emoji": "😩", + "description": "weary face", + "category": "Smileys & Emotion", + "aliases": [ + "weary emoji", + "weary", + "sad", + "face", + "frustrated", + "sleepy", + "a weary emoji", + "tired", + "upset", + "weary face" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "sad", + "related": [], + "rgb": [ + 224, + 172, + 52 + ] + }, + { + "emoji": "😫", + "description": "distraught face", + "category": "Smileys & Emotion", + "aliases": [ + "a distraught emoji", + "whine", + "face", + "frustrated", + "tired face", + "sick", + "upset", + "distraught emoji", + "tired" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 222, + 170, + 51 + ] + }, + { + "emoji": "🥱", + "description": "yawning face", + "category": "Smileys & Emotion", + "aliases": [ + "yawn", + "bored", + "yawning", + "yawning faces", + "face", + "yawning face", + "sleepy", + "a yawning face", + "tired" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "low_energy", + "related": [], + "rgb": [ + 226, + 177, + 55 + ] + }, + { + "emoji": "😤", + "description": "face with steam", + "category": "Smileys & Emotion", + "aliases": [ + "pride", + "gas", + "a huffing with anger face", + "smug", + "nose", + "phew", + "won", + "face", + "triumph", + "face with steam from nose", + "steam", + "proud", + "huffing with anger faces", + "from" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "anger", + "related": [], + "rgb": [ + 232, + 191, + 86 + ] + }, + { + "emoji": "😡", + "description": "red angry face", + "category": "Smileys & Emotion", + "aliases": [ + "angry", + "rage", + "angry faces", + "pout", + "pouting face", + "enraged", + "despise", + "face", + "mad", + "red", + "hate", + "an angry face", + "pouting" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "anger", + "related": [], + "rgb": [ + 234, + 121, + 38 + ] + }, + { + "emoji": "😠", + "description": "angry face", + "category": "Smileys & Emotion", + "aliases": [ + "angry face", + "angry faces", + "frustrated", + "face", + "mad", + "an angry face", + "annoyed", + "anger", + "angry" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "anger", + "related": [], + "rgb": [ + 236, + 185, + 56 + ] + }, + { + "emoji": "🤬", + "description": "face with symbols", + "category": "Smileys & Emotion", + "aliases": [ + "on", + "swearing", + "expletive", + "cursing face", + "cussing", + "a swearing emoji", + "profanity", + "mouth", + "face", + "swearing emoji", + "face with symbols on mouth", + "foul", + "yell", + "symbols", + "cursing" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "anger", + "related": [], + "rgb": [ + 193, + 116, + 55 + ] + }, + { + "emoji": "😈", + "description": "smiling face", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + "smiling devil face emoji", + "smiling face with horns", + "devil", + "smiling imp", + "fairy tale", + "face", + "evil", + "smiling", + "fantasy", + "horns", + "a smiling devil face emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 138, + 60, + 155 + ] + }, + { + "emoji": "👿", + "description": "angry face with", + "category": "Smileys & Emotion", + "aliases": [ + "angry face with horns", + "angry", + "devil", + "face", + "evil", + "horns", + "imp", + "fantasy", + "devil faces", + "a devil face", + "demon" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "anger", + "related": [], + "rgb": [ + 139, + 61, + 156 + ] + }, + { + "emoji": "💀", + "description": "skull", + "category": "Smileys & Emotion", + "aliases": [ + "creepy", + "dead", + "skeleton", + "fairy tale", + "face", + "monster", + "skulls", + "poison", + "death", + "a skull", + "skull", + "danger" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 188, + 191, + 192 + ] + }, + { + "emoji": "☠️", + "description": "skull and crossbones", + "category": "Smileys & Emotion", + "aliases": [ + "crossbones", + "a skull and crossbones", + "pirate", + "poison", + "evil", + "death", + "skull and crossbones", + "scary", + "deadly", + "skull", + "danger" + ], + "unicode": "", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 177, + 179, + 179 + ] + }, + { + "emoji": "💩", + "description": "pile of poop", + "category": "Smileys & Emotion", + "aliases": [ + "fail", + "dung", + "pile", + "a pile of poop emoji", + "pile of poo", + "crap", + "pile of poop emoji", + "poo", + "shit", + "poop", + "face", + "monster", + "shitface", + "turd", + "hankey" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 140, + 100, + 73 + ] + }, + { + "emoji": "🤡", + "description": "clown face", + "category": "Smileys & Emotion", + "aliases": [ + "clown face", + "clown faces", + "clown", + "face", + "a clown face" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 209, + 159, + 140 + ] + }, + { + "emoji": "👹", + "description": "ogre", + "category": "Smileys & Emotion", + "aliases": [ + "creepy", + "creature", + "devil", + "ogres", + "an ogre", + "mask", + "fantasy", + "japanese ogre", + "fairy tale", + "face", + "monster", + "red", + "japanese", + "scary", + "halloween", + "ogre", + "demon" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 154, + 67, + 53 + ] + }, + { + "emoji": "👺", + "description": "goblin", + "category": "Smileys & Emotion", + "aliases": [ + "creepy", + "creature", + "goblin", + "mask", + "fairy tale", + "face", + "monster", + "japanese goblin", + "red", + "evil", + "japanese", + "a goblin", + "scary", + "fantasy", + "goblins" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 176, + 63, + 52 + ] + }, + { + "emoji": "👻", + "description": "ghost", + "category": "Smileys & Emotion", + "aliases": [ + "creature", + "ghosts", + "ghost", + "a ghost", + "spooky", + "fantasy", + "fairy tale", + "face", + "monster", + "scary", + "halloween" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 177, + 169, + 174 + ] + }, + { + "emoji": "👽", + "description": "alien", + "category": "Smileys & Emotion", + "aliases": [ + "paul", + "creature", + "space", + "extraterrestrial", + "an alien", + "face", + "alien", + "outer", + "weird", + "fantasy", + "aliens", + "ufo" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 133, + 148, + 149 + ] + }, + { + "emoji": "👾", + "description": "alien monster", + "category": "Smileys & Emotion", + "aliases": [ + "retro", + "creature", + "alien monsters", + "alien monster", + "an alien monster", + "extraterrestrial", + "play", + "space invader", + "face", + "arcade", + "game", + "monster", + "alien", + "ufo" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 78, + 62, + 98 + ] + }, + { + "emoji": "🤖", + "description": "robot face", + "category": "Smileys & Emotion", + "aliases": [ + "a robot face", + "robot", + "robot faces", + "monster", + "face", + "computer", + "bot", + "machine" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 124, + 157, + 159 + ] + }, + { + "emoji": "😺", + "description": "happy cat face", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + "grinning cat", + "open", + "cats", + "a happy cat emoji", + "happy cat emoji", + "animal", + "face", + "mouth", + "smiley cat", + "happy", + "grinning", + "cat" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [ + "🐈", + "🐱", + "😺" + ], + "rgb": [ + 197, + 160, + 67 + ] + }, + { + "emoji": "😸", + "description": "grinning cat", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + "smile cat", + "grinning cat emoji", + "cats", + "grin", + "animal", + "eyes", + "face", + "smiling", + "cat", + "eye", + "grinning cat with smiling eyes", + "grinning", + "a grinning cat emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 195, + 158, + 65 + ] + }, + { + "emoji": "😹", + "description": "cat face with", + "category": "Smileys & Emotion", + "aliases": [ + "joy", + "haha", + "cats", + "tear", + "a cat with tears of joy emoji", + "animal", + "face", + "joy cat", + "tears", + "cat with tears of joy", + "happy", + "cat with tears of joy emoji", + "cat" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 175, + 164, + 98 + ] + }, + { + "emoji": "😻", + "description": "smiling cat", + "category": "Smileys & Emotion", + "aliases": [ + "like", + "smiling cat with heart-eyes emoji", + "smile", + "a smiling cat with heart-eyes emoji", + "cats", + "heart eyes cat", + "animal", + "face", + "affection", + "eyes", + "smiling", + "valentines", + "eye", + "smiling cat with heart-eyes", + "cat", + "love", + "heart" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 204, + 140, + 57 + ] + }, + { + "emoji": "😼", + "description": "smirking cat", + "category": "Smileys & Emotion", + "aliases": [ + "smile", + "cat with wry smile", + "smirk", + "cats", + "smirking cat emoji", + "ironic", + "wry", + "animal", + "face", + "smirk cat", + "a smirking cat emoji", + "cat" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 202, + 163, + 61 + ] + }, + { + "emoji": "😽", + "description": "kissing cat", + "category": "Smileys & Emotion", + "aliases": [ + "kissing cat emoji", + "cats", + "kiss", + "animal", + "face", + "kissing cat", + "kissing", + "a kissing cat emoji", + "eye", + "cat" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 207, + 160, + 61 + ] + }, + { + "emoji": "🙀", + "description": "cat face screaming", + "category": "Smileys & Emotion", + "aliases": [ + "a screaming cat emoji", + "scream", + "horror", + "screaming cat emoji", + "weary cat", + "surprised", + "cats", + "weary", + "animal", + "face", + "scream cat", + "scared", + "munch", + "oh", + "cat" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "anxiety", + "related": [], + "rgb": [ + 201, + 166, + 78 + ] + }, + { + "emoji": "😿", + "description": "crying cat face", + "category": "Smileys & Emotion", + "aliases": [ + "a crying cat emoji", + "cats", + "crying cat emoji", + "tear", + "weep", + "animal", + "sad", + "face", + "tears", + "crying", + "cry", + "crying cat face", + "crying cat", + "cat", + "upset" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "sad", + "related": [], + "rgb": [ + 194, + 167, + 78 + ] + }, + { + "emoji": "😾", + "description": "pouting cat", + "category": "Smileys & Emotion", + "aliases": [ + "pouting cat emoji", + "cats", + "pouting cat", + "animal", + "face", + "a pouting cat emoji", + "cat", + "pouting" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "anger", + "related": [], + "rgb": [ + 199, + 160, + 60 + ] + }, + { + "emoji": "🙈", + "description": "see-no-evil", + "category": "Smileys & Emotion", + "aliases": [ + "haha", + "ignore", + "blind", + "a see-no-evil monkey emoji", + "monkey", + "see", + "animal", + "face", + "see-no-evil monkey", + "see-no-evil monkey emoji", + "nature", + "no", + "see no evil", + "evil", + "forbidden" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 187, + 151, + 111 + ] + }, + { + "emoji": "🙉", + "description": "hear-no-evil", + "category": "Smileys & Emotion", + "aliases": [ + "hear-no-evil monkey", + "a hear-no-evil monkey emoji", + "deaf", + "hear", + "monkey", + "animal", + "face", + "evil", + "nature", + "no", + "hear-no-evil monkey emoji", + "hear no evil", + "forbidden" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 184, + 152, + 112 + ] + }, + { + "emoji": "🙊", + "description": "speak-no-evil", + "category": "Smileys & Emotion", + "aliases": [ + "mute", + "hush", + "speak-no-evil monkey", + "a speak-no-evil monkey emoji", + "monkey", + "speak no evil", + "animal", + "face", + "speak", + "evil", + "nature", + "no", + "speak-no-evil monkey emoji", + "omg", + "forbidden" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 187, + 152, + 110 + ] + }, + { + "emoji": "💋", + "description": "kiss mark", + "category": "Smileys & Emotion", + "aliases": [ + "lips", + "like", + "kiss marks", + "kiss", + "mark", + "a kiss mark", + "face", + "affection", + "valentines", + "kiss mark", + "cannot wait to see you", + "lipstick", + "love", + "can't wait to see you" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 202, + 36, + 37 + ] + }, + { + "emoji": "💌", + "description": "love letter", + "category": "Smileys & Emotion", + "aliases": [ + "like", + "heart", + "envelope", + "a love letter", + "love letters", + "affection", + "love letter", + "valentines", + "mail", + "email", + "love", + "letter" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 220, + 185, + 186 + ] + }, + { + "emoji": "💘", + "description": "heart with arrow", + "category": "Smileys & Emotion", + "aliases": [ + "like", + "arrow", + "heart with arrow emoji", + "a heart with arrow emoji", + "cupid", + "affection", + "valentines", + "heart with arrow", + "love", + "heart" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 192, + 83, + 167 + ] + }, + { + "emoji": "💝", + "description": "heart with ribbon", + "category": "Smileys & Emotion", + "aliases": [ + "heart with ribbon", + "valentine", + "heart with ribbon emoji", + "ribbon", + "gift heart", + "a heart with ribbon emoji", + "valentines", + "chocolates", + "love", + "heart" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "❤️", + "💕", + "💝" + ], + "rgb": [ + 231, + 129, + 102 + ] + }, + { + "emoji": "💖", + "description": "sparkling heart", + "category": "Smileys & Emotion", + "aliases": [ + "a sparkling heart emoji", + "like", + "heart", + "sparkling heart", + "excited", + "affection", + "sparkling", + "valentines", + "sparkling heart emoji", + "love", + "sparkle" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 234, + 87, + 147 + ] + }, + { + "emoji": "💗", + "description": "growing heart", + "category": "Smileys & Emotion", + "aliases": [ + "like", + "pulse", + "heartpulse", + "heart", + "nervous", + "growing", + "growing heart emoji", + "excited", + "affection", + "valentines", + "growing heart", + "pink", + "love", + "a growing heart emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 219, + 85, + 155 + ] + }, + { + "emoji": "💓", + "description": "beating heart", + "category": "Smileys & Emotion", + "aliases": [ + "like", + "beating heart emoji", + "heartbeat", + "pulsating", + "beating", + "a beating heart emoji", + "affection", + "valentines", + "beating heart", + "pink", + "love", + "heart" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 232, + 60, + 161 + ] + }, + { + "emoji": "💞", + "description": "revolving hearts", + "category": "Smileys & Emotion", + "aliases": [ + "like", + "revolving", + "affection", + "hearts", + "revolving hearts", + "valentines", + "a revolving hearts emoji", + "love", + "revolving hearts emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 227, + 66, + 161 + ] + }, + { + "emoji": "💕", + "description": "two hearts", + "category": "Smileys & Emotion", + "aliases": [ + "like", + "two", + "i love you", + "two hearts emoji", + "affection", + "a two hearts emoji", + "hearts", + "two hearts", + "valentines", + "cannot wait to see you", + "love", + "heart", + "can't wait to see you" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [ + "❤️", + "💕", + "💝" + ], + "rgb": [ + 231, + 65, + 161 + ] + }, + { + "emoji": "💟", + "description": "heart decoration", + "category": "Smileys & Emotion", + "aliases": [ + "like", + "heart emoji", + "purple-square", + "a heart emoji", + "purple", + "square", + "heart decoration", + "love", + "heart", + "decoration" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 185, + 122, + 203 + ] + }, + { + "emoji": "❣️", + "description": "red heart as", + "category": "Smileys & Emotion", + "aliases": [ + "heavy heart exclamation", + "red heart as an exclamation mark emoji", + "exclamation", + "a red heart as an exclamation mark emoji", + "heart exclamation", + "love", + "heart", + "decoration" + ], + "unicode": "", + "ios": "9.1", + "sentiment": "positive", + "related": [], + "rgb": [ + 234, + 61, + 50 + ] + }, + { + "emoji": "💔", + "description": "broken heart", + "category": "Smileys & Emotion", + "aliases": [ + "break", + "broken heart emoji", + "heartbreak", + "broken heart", + "a broken heart emoji", + "sad", + "sorry", + "broken", + "heart" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "sad", + "related": [], + "rgb": [ + 221, + 57, + 46 + ] + }, + { + "emoji": "❤️‍🔥", + "description": "heart on fire", + "category": "Smileys & Emotion", + "aliases": [ + "on", + "a heart on fire", + "fire", + "heart on fire", + "passionate", + "enthusiastic", + "hearts on fire", + "heart" + ], + "unicode": "13.1", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 243, + 94, + 52 + ] + }, + { + "emoji": "❤️‍🩹", + "description": "mending heart", + "category": "Smileys & Emotion", + "aliases": [ + "mending hearts", + "a mending heart", + "mending", + "broken heart", + "wounded", + "bandage", + "heart", + "mending heart" + ], + "unicode": "13.1", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 218, + 112, + 105 + ] + }, + { + "emoji": "❤️", + "description": "red heart", + "category": "Smileys & Emotion", + "aliases": [ + "like", + "i love you", + "red", + "hearts", + "red heart", + "valentines", + "a heart", + "love", + "heart" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "positive", + "related": [ + "❤️", + "💕", + "💝" + ], + "rgb": [ + 236, + 64, + 53 + ] + }, + { + "emoji": "🧡", + "description": "orange heart", + "category": "Smileys & Emotion", + "aliases": [ + "like", + "orange", + "orange heart emoji", + "affection", + "an orange heart emoji", + "valentines", + "orange heart", + "love", + "heart" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "positive", + "related": [], + "rgb": [ + 242, + 138, + 28 + ] + }, + { + "emoji": "💛", + "description": "yellow heart", + "category": "Smileys & Emotion", + "aliases": [ + "like", + "heart emoji", + "a heart emoji", + "affection", + "yellow heart", + "valentines", + "yellow", + "love", + "heart" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 248, + 196, + 77 + ] + }, + { + "emoji": "💚", + "description": "green heart", + "category": "Smileys & Emotion", + "aliases": [ + "like", + "green", + "heart emoji", + "green heart", + "a heart emoji", + "affection", + "valentines", + "love", + "heart" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 73, + 197, + 61 + ] + }, + { + "emoji": "💙", + "description": "blue heart", + "category": "Smileys & Emotion", + "aliases": [ + "like", + "heart emoji", + "a heart emoji", + "affection", + "blue heart", + "valentines", + "cannot wait to see you", + "blue", + "love", + "heart", + "can't wait to see you" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 33, + 117, + 245 + ] + }, + { + "emoji": "💜", + "description": "purple heart", + "category": "Smileys & Emotion", + "aliases": [ + "like", + "heart emoji", + "a heart emoji", + "purple", + "affection", + "valentines", + "purple heart", + "love", + "heart" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 183, + 81, + 242 + ] + }, + { + "emoji": "🤎", + "description": "brown heart", + "category": "Smileys & Emotion", + "aliases": [ + "brown", + "brown heart", + "coffee", + "brown hearts", + "a brown heart", + "heart" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 139, + 87, + 50 + ] + }, + { + "emoji": "🖤", + "description": "black heart", + "category": "Smileys & Emotion", + "aliases": [ + "a black heart emoji", + "black heart emoji", + "wicked", + "evil", + "black", + "heart", + "black heart" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "sad", + "related": [], + "rgb": [ + 54, + 54, + 54 + ] + }, + { + "emoji": "🤍", + "description": "white heart", + "category": "Smileys & Emotion", + "aliases": [ + "pure", + "white heart", + "a white heart", + "white", + "white hearts", + "heart" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 222, + 222, + 222 + ] + }, + { + "emoji": "💯", + "description": "hundred points", + "category": "Smileys & Emotion", + "aliases": [ + "numbers", + "full", + "score", + "one-hundred emoji", + "perfect", + "exam", + "century", + "test", + "pass", + "hundred points", + "a hundred emoji", + "hundred", + "100", + "quiz", + "points" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 218, + 8, + 4 + ] + }, + { + "emoji": "💢", + "description": "anger symbol", + "category": "Smileys & Emotion", + "aliases": [ + "anger symbol emoji", + "an anger symbol emoji", + "comic", + "anger symbol", + "mad", + "symbol", + "anger", + "angry" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "anger", + "related": [], + "rgb": [ + 210, + 9, + 9 + ] + }, + { + "emoji": "💥", + "description": "explosion", + "category": "Smileys & Emotion", + "aliases": [ + "a collision emoji", + "collision emoji", + "blown", + "explosion", + "comic", + "boom", + "collision", + "explode", + "bomb" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "anger", + "related": [], + "rgb": [ + 233, + 110, + 69 + ] + }, + { + "emoji": "💫", + "description": "dizzy symbol", + "category": "Smileys & Emotion", + "aliases": [ + "shoot", + "star", + "dizzy star", + "comic", + "dizzy", + "magic", + "dizzy stars", + "sparkle" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 247, + 207, + 95 + ] + }, + { + "emoji": "💦", + "description": "water droplets", + "category": "Smileys & Emotion", + "aliases": [ + "oops", + "droplets", + "sweat droplets", + "sweat drops", + "splashing", + "water", + "water droplets emoji", + "comic", + "drip", + "a water droplets emoji", + "sweat", + "workout" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 80, + 191, + 240 + ] + }, + { + "emoji": "💨", + "description": "gust of wind", + "category": "Smileys & Emotion", + "aliases": [ + "away", + "puff", + "fart", + "dash", + "dashing", + "a gust of wind emoji", + "comic", + "wind", + "fast", + "running", + "air", + "shoo", + "gust of wind emoji", + "blow", + "dashing away", + "smoke" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 183, + 201, + 220 + ] + }, + { + "emoji": "🕳️", + "description": "hole", + "category": "Smileys & Emotion", + "aliases": [ + "hole", + "embarrassing", + "a hole", + "holes" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 66, + 66, + 66 + ] + }, + { + "emoji": "💣", + "description": "bomb", + "category": "Smileys & Emotion", + "aliases": [ + "explosion", + "a bomb emoji", + "boom", + "comic", + "explode", + "bomb emoji", + "bomb", + "terrorism" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 90, + 91, + 86 + ] + }, + { + "emoji": "💬", + "description": "speech balloon", + "category": "Smileys & Emotion", + "aliases": [ + "speech balloon", + "words", + "bubble", + "comment", + "comic", + "speech bubble emoji", + "talk", + "a speech bubble emoji", + "dialog", + "speech", + "chatting", + "balloon", + "message" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 221, + 221, + 221 + ] + }, + { + "emoji": "👁️‍🗨️", + "description": "I am a witness", + "category": "Smileys & Emotion", + "aliases": [ + "", + "an ", + "bubble", + " emoji", + "eye speech bubble", + "info", + "I am a witness", + "eye in speech bubble", + "speech", + "eye" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 116, + 118, + 121 + ] + }, + { + "emoji": "🗨️", + "description": "left speech", + "category": "Smileys & Emotion", + "aliases": [ + "left speech bubbles", + "words", + "bubble", + "talk", + "left", + "speech", + "chatting", + "left speech bubble", + "message" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 68, + 68, + 68 + ] + }, + { + "emoji": "🗯️", + "description": "angry speech", + "category": "Smileys & Emotion", + "aliases": [ + "bubble", + "angry speech bubbles", + "caption", + "thinking", + "an angry speech bubble", + "mad", + "right", + "speech", + "right anger bubble", + "anger" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 218, + 220, + 220 + ] + }, + { + "emoji": "💭", + "description": "thought balloon", + "category": "Smileys & Emotion", + "aliases": [ + "thought bubble emoji", + "bubble", + "a thought bubble emoji", + "dream", + "comic", + "thinking", + "thought balloon", + "thought", + "speech", + "balloon", + "thinking of you", + "cloud" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 227, + 227, + 228 + ] + }, + { + "emoji": "💤", + "description": "sleeping sign", + "category": "Smileys & Emotion", + "aliases": [ + "good night sleep tight", + "a sleeping symbol emoji", + "goodnight", + "sleeping symbol emoji", + "good night", + "dream", + "comic", + "goodnight sweet dreams", + "good night sweet dreams", + "sleeping", + "sleepy", + "ZZZ", + "goodnight sleep tight", + "sleep", + "zzz", + "gnight", + "tired" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "low_energy", + "related": [], + "rgb": [ + 8, + 82, + 191 + ] + }, + { + "emoji": "👋", + "description": "waving hand", + "category": "People & Body", + "aliases": [ + "hand", + "waving hands", + "hello", + "goodbye", + "solong", + "a waving hand", + "waving hand", + "waving", + "farewell", + "wave", + "palm", + "hands", + "hi", + "gesture" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 222, + 170, + 54 + ] + }, + { + "emoji": "🤚", + "description": "back of hand", + "category": "People & Body", + "aliases": [ + "hand", + "backhand", + "raised back of hand", + "fingers", + "a hand", + "raised", + "hands", + "back" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 241, + 184, + 68 + ] + }, + { + "emoji": "🖐️", + "description": "raised hand", + "category": "People & Body", + "aliases": [ + "hand", + "hand with fingers splayed emoji", + "a hand with fingers splayed emoji", + "splayed", + "fingers", + "palm", + "raised hand with fingers splayed", + "hand with fingers splayed" + ], + "unicode": "7.0", + "ios": "9.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 243, + 188, + 52 + ] + }, + { + "emoji": "✋", + "description": "raised hand", + "category": "People & Body", + "aliases": [ + "hand", + "ban", + "highfive", + "high five", + "fingers", + "raised hand", + "high 5", + "raised", + "stop", + "palm", + "a raised hand emoji", + "raised hand emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 243, + 187, + 51 + ] + }, + { + "emoji": "🖖", + "description": "hand with fingers", + "category": "People & Body", + "aliases": [ + "salute", + "hand", + "vulcan salute emoji", + "vulcan", + "spock", + "fingers", + "star trek", + "finger", + "a vulcan salute emoji", + "prosper", + "vulcan salute" + ], + "unicode": "7.0", + "ios": "8.3", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 243, + 186, + 51 + ] + }, + { + "emoji": "👌", + "description": "OK hand sign", + "category": "People & Body", + "aliases": [ + "hand", + "OK hand signs", + "ok", + "perfect", + "an OK hand sign", + "limbs", + "ok hand", + "fingers", + "okay", + "OK" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "positive", + "related": [], + "rgb": [ + 240, + 185, + 58 + ] + }, + { + "emoji": "🤌", + "description": "pinched fingers", + "category": "People & Body", + "aliases": [ + "small", + "pinched fingers", + "tiny", + "hands with pinched fingers", + "fingers", + "sarcastic", + "hand gesture", + "pinched", + "interrogation", + "size", + "a hand with pinched fingers" + ], + "unicode": "13.0", + "ios": "14.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 244, + 191, + 77 + ] + }, + { + "emoji": "🤏", + "description": "pinching hand", + "category": "People & Body", + "aliases": [ + "small", + "hand", + "pinching hands", + "a pinching hand", + "tiny", + "pinching", + "size", + "pinching hand", + "small amount" + ], + "unicode": "12.0", + "ios": "13.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 235, + 175, + 46 + ] + }, + { + "emoji": "✌️", + "description": "peace hand sign", + "category": "People & Body", + "aliases": [ + "hand", + "victory", + "peace", + "two", + "fingers", + "v", + "a peace hand sign emoji", + "peace hand sign emoji", + "peace out", + "ohyeah", + "victory hand" + ], + "unicode": "", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 237, + 181, + 49 + ] + }, + { + "emoji": "🤞", + "description": "fingers crossed", + "category": "People & Body", + "aliases": [ + "hand", + "fingers crossed", + "crossed fingers", + "fingers", + "cross", + "finger", + "good", + "crossed", + "luck", + "hopeful", + "lucky" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 236, + 181, + 49 + ] + }, + { + "emoji": "🤟", + "description": "love-you gesture", + "category": "People & Body", + "aliases": [ + "you", + "hand", + "gesture", + "love-you gesture", + "fingers", + "a love-you gesture", + "love-you gestures", + "love", + "love you gesture", + "ILY" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 243, + 189, + 60 + ] + }, + { + "emoji": "🤘", + "description": "sign of the", + "category": "People & Body", + "aliases": [ + "on", + "hand", + "sign", + "a sign of the horns", + "signs of the horns", + "fingers", + "rock", + "finger", + "sign of the horns", + "evil", + "the", + "rock-on", + "eye", + "metal", + "horns" + ], + "unicode": "8.0", + "ios": "9.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 239, + 181, + 49 + ] + }, + { + "emoji": "🤙", + "description": "call me hand", + "category": "People & Body", + "aliases": [ + "hand", + "a call me hand sign", + "Shaka", + "shaka", + "call", + "call me hand signs", + "me", + "hang loose", + "hands", + "call me hand", + "gesture" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 243, + 188, + 55 + ] + }, + { + "emoji": "👈", + "description": "backhand index", + "category": "People & Body", + "aliases": [ + "hand", + "index", + "backhand index fingers pointing left", + "backhand index pointing left", + "fingers", + "point left", + "finger", + "left", + "pointing", + "backhand", + "direction", + "point", + "a backhand index finger pointing left" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 244, + 187, + 55 + ] + }, + { + "emoji": "👉", + "description": "backhand index", + "category": "People & Body", + "aliases": [ + "hand", + "index", + "backhand index pointing right", + "are", + "am", + "point right", + "fingers", + "is", + "finger", + "right", + "pointing", + "backhand", + "a backhand index finger pointing right", + "backhand index fingers pointing right", + "direction", + "point" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 244, + 188, + 55 + ] + }, + { + "emoji": "👆", + "description": "backhand index", + "category": "People & Body", + "aliases": [ + "hand", + "index", + "up", + "fingers", + "backhand index pointing up", + "a backhand index finger pointing up", + "finger", + "point up 2", + "pointing", + "backhand", + "direction", + "point", + "backhand index fingers pointing up" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 241, + 183, + 52 + ] + }, + { + "emoji": "🖕", + "description": "middle finger", + "category": "People & Body", + "aliases": [ + "hand", + "middle finger", + "flipping", + "middle", + "middle finger emoji", + "fu", + "a middle finger emoji", + "fingers", + "finger", + "rude" + ], + "unicode": "7.0", + "ios": "9.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 240, + 181, + 49 + ] + }, + { + "emoji": "👇", + "description": "backhand index", + "category": "People & Body", + "aliases": [ + "hand", + "index", + "backhand index fingers pointing down", + "backhand index pointing down", + "fingers", + "finger", + "point down", + "pointing", + "down", + "backhand", + "a backhand index finger pointing down", + "direction", + "point" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 242, + 185, + 52 + ] + }, + { + "emoji": "☝️", + "description": "index finger", + "category": "People & Body", + "aliases": [ + "hand", + "index", + "up", + "fingers", + "point up", + "pointing", + "an index finger pointing up", + "index fingers pointing up", + "direction", + "index pointing up" + ], + "unicode": "", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 239, + 180, + 46 + ] + }, + { + "emoji": "👍", + "description": "thumbs up", + "category": "People & Body", + "aliases": [ + "like", + "hand", + "agree", + "thumb", + "ok", + "approve", + "good luck", + "up", + "+1", + "thumbs up", + "cool", + "accept", + "awesome", + "thumbs", + "good", + "thumbsup", + "yes", + "a thumbs up" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "positive", + "related": [], + "rgb": [ + 246, + 193, + 61 + ] + }, + { + "emoji": "👎", + "description": "thumbs down", + "category": "People & Body", + "aliases": [ + "hand", + "thumb", + "thumbsdown", + "thumbs down emoji", + "a thumbs down emoji", + "1", + "bury", + "no", + "down", + "thumbs", + "disapprove", + "dislike", + "thumbs down", + "-1" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "anger", + "related": [], + "rgb": [ + 242, + 184, + 51 + ] + }, + { + "emoji": "✊", + "description": "raised fist", + "category": "People & Body", + "aliases": [ + "hand", + "raised fists", + "fingers", + "grasp", + "raised fist", + "punch", + "raised", + "fist raised", + "clenched", + "power", + "a raised fist", + "fist" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 236, + 178, + 50 + ] + }, + { + "emoji": "👊", + "description": "closed fist", + "category": "People & Body", + "aliases": [ + "violence", + "hand", + "closed fists", + "angry", + "oncoming", + "attack", + "hit", + "punch", + "clenched", + "oncoming fist", + "fist oncoming", + "facepunch", + "a closed fist", + "fist" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 237, + 177, + 45 + ] + }, + { + "emoji": "🤛", + "description": "left-facing", + "category": "People & Body", + "aliases": [ + "hand", + "fists", + "a fist", + "leftwards", + "facing", + "fistbump", + "left", + "fist left", + "left-facing fist", + "fist" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 236, + 179, + 53 + ] + }, + { + "emoji": "🤜", + "description": "right-facing", + "category": "People & Body", + "aliases": [ + "hand", + "fists", + "a fist", + "facing", + "right-facing fist", + "fistbump", + "right", + "rightwards", + "fist right", + "fist" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 236, + 178, + 53 + ] + }, + { + "emoji": "👏", + "description": "clapping hands", + "category": "People & Body", + "aliases": [ + "hand", + "clapping hands", + "applause", + "congrats", + "clap", + "a clapping hands emoji", + "yay", + "hands", + "clapping", + "praise", + "clapping hands emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "positive", + "related": [], + "rgb": [ + 221, + 171, + 56 + ] + }, + { + "emoji": "🙌", + "description": "hands raised", + "category": "People & Body", + "aliases": [ + "hand", + "yea", + "celebration", + "thank", + "celebrating hands emoji", + "a celebrating hands emoji", + "raised hands", + "raising hands", + "hooray", + "raised", + "hands", + "raising", + "gesture" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 222, + 170, + 51 + ] + }, + { + "emoji": "👐", + "description": "open hands", + "category": "People & Body", + "aliases": [ + "hand", + "open", + "open hands emoji", + "fingers", + "butterfly", + "open hands", + "hands", + "an open hands emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 238, + 179, + 49 + ] + }, + { + "emoji": "🤲", + "description": "palms together", + "category": "People & Body", + "aliases": [ + "palms up emoji", + "palms", + "up", + "cupped", + "prayer", + "together", + "palms up together", + "hands", + "a palms up emoji", + "gesture" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 243, + 190, + 46 + ] + }, + { + "emoji": "🤝", + "description": "handshake", + "category": "People & Body", + "aliases": [ + "hand", + "meeting", + "deal", + "a handshake", + "agreement", + "handshake", + "handshakes", + "shake" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 235, + 182, + 46 + ] + }, + { + "emoji": "🙏", + "description": "hands pressed", + "category": "People & Body", + "aliases": [ + "hand", + "thank you", + "wish", + "ask", + "highfive", + "high five", + "thanks", + "hope", + "folded hands emoji", + "high 5", + "please", + "folded hands", + "appreciate", + "hands", + "folded", + "pray", + "a folded hands emoji", + "namaste" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "positive", + "related": [], + "rgb": [ + 187, + 156, + 76 + ] + }, + { + "emoji": "✍️", + "description": "writing hand", + "category": "People & Body", + "aliases": [ + "ballpoint", + "hand", + "write", + "writing hand", + "writing hand emoji", + "compose", + "stationery", + "left", + "a writing hand emoji", + "lower", + "writing", + "pen" + ], + "unicode": "", + "ios": "9.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 190, + 140, + 42 + ] + }, + { + "emoji": "💅", + "description": "nail polish", + "category": "People & Body", + "aliases": [ + "cosmetics", + "a nail polish", + "polish", + "care", + "nail polishes", + "finger", + "manicure", + "fashion", + "beauty", + "nail care", + "nail", + "nail polish" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 153, + 107 + ] + }, + { + "emoji": "🤳", + "description": "selfie", + "category": "People & Body", + "aliases": [ + "a selfie emoji", + "selfie", + "phone", + "camera", + "selfie emoji" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 156, + 148, + 123 + ] + }, + { + "emoji": "💪", + "description": "flexed bicep", + "category": "People & Body", + "aliases": [ + "arm", + "hand", + "flex", + "summer", + "muscle", + "biceps", + "comic", + "bicep", + "workout", + "a flexed bicep", + "flexed biceps", + "flexed", + "strong" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 242, + 184, + 47 + ] + }, + { + "emoji": "🦾", + "description": "mechanical arm", + "category": "People & Body", + "aliases": [ + "arm", + "accessibility", + "mechanical arm", + "a mechanical arm", + "mechanical", + "mechanical arms", + "prosthetic" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 99, + 99, + 99 + ] + }, + { + "emoji": "🦿", + "description": "mechanical leg", + "category": "People & Body", + "aliases": [ + "mechanical leg", + "accessibility", + "mechanical", + "mechanical legs", + "a mechanical leg", + "leg", + "prosthetic" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 121, + 115, + 116 + ] + }, + { + "emoji": "🦵", + "description": "leg", + "category": "People & Body", + "aliases": [ + "a leg emoji", + "leg emoji", + "limb", + "leg", + "kick" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 228, + 173, + 52 + ] + }, + { + "emoji": "🦶", + "description": "foot", + "category": "People & Body", + "aliases": [ + "a foot emoji", + "stomp", + "foot", + "foot emoji", + "kick" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 226, + 164, + 39 + ] + }, + { + "emoji": "👂", + "description": "ear", + "category": "People & Body", + "aliases": [ + "hear", + "ear", + "body", + "listen", + "face", + "an ear", + "ears", + "sound" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 244, + 190, + 56 + ] + }, + { + "emoji": "🦻", + "description": "ear with hearing", + "category": "People & Body", + "aliases": [ + "accessibility", + "aid", + "hard of hearing", + "ear", + "hearing aid emoji", + "ear with hearing aid", + "hearing", + "a hearing aid emoji" + ], + "unicode": "12.0", + "ios": "13.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 215, + 172, + 66 + ] + }, + { + "emoji": "👃", + "description": "nose", + "category": "People & Body", + "aliases": [ + "sniff", + "smell", + "body", + "nose", + "a nose", + "noses" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 245, + 194, + 53 + ] + }, + { + "emoji": "🧠", + "description": "brain", + "category": "People & Body", + "aliases": [ + "brains", + "intelligent", + "a brain", + "brain", + "smart" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 213, + 130, + 154 + ] + }, + { + "emoji": "🫀", + "description": "anatomical heart", + "category": "People & Body", + "aliases": [ + "pulse", + "anatomical", + "cardiology", + "heartbeat", + "organ", + "a human heart emoji", + "anatomical heart", + "human heart emoji", + "health", + "heart" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 178, + 83, + 103 + ] + }, + { + "emoji": "🫁", + "description": "lungs", + "category": "People & Body", + "aliases": [ + "respiration", + "exhalation", + "organ", + "a lungs emoji", + "breath", + "lungs", + "inhalation", + "lungs emoji", + "breathe" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 223, + 114, + 109 + ] + }, + { + "emoji": "🦷", + "description": "tooth", + "category": "People & Body", + "aliases": [ + "tooth", + "teeth", + "dentist", + "tooth emoji", + "a tooth emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 220, + 209, + 192 + ] + }, + { + "emoji": "🦴", + "description": "bone", + "category": "People & Body", + "aliases": [ + "a bone emoji", + "bone emoji", + "skeleton", + "bone" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 187, + 189, + 190 + ] + }, + { + "emoji": "👀", + "description": "eyes", + "category": "People & Body", + "aliases": [ + "look", + "watch", + "stalk", + "see", + "face", + "pairs of eyes", + "eyes", + "eye", + "peek" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 199, + 192, + 184 + ] + }, + { + "emoji": "👁️", + "description": "eye", + "category": "People & Body", + "aliases": [ + "look", + "watch", + "eye emoji", + "see", + "face", + "eye", + "an eye emoji", + "stare" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 143, + 125, + 114 + ] + }, + { + "emoji": "👅", + "description": "tongue", + "category": "People & Body", + "aliases": [ + "body", + "tongue", + "tongues", + "playful", + "mouth", + "a tongue", + "taste" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 180, + 94, + 108 + ] + }, + { + "emoji": "👄", + "description": "mouth", + "category": "People & Body", + "aliases": [ + "lips", + "a mouth", + "mouths", + "kiss", + "mouth" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 176, + 76, + 98 + ] + }, + { + "emoji": "👶", + "description": "baby", + "category": "People & Body", + "aliases": [ + "toddler", + "babies", + "boy", + "girl", + "child", + "baby", + "young", + "a baby", + "newborn" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 227, + 175, + 39 + ] + }, + { + "emoji": "🧒", + "description": "child", + "category": "People & Body", + "aliases": [ + "unspecified gender", + "neutral", + "children", + "a child", + "gender-neutral", + "child", + "young", + "gender" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 224, + 176, + 57 + ] + }, + { + "emoji": "👦", + "description": "boy", + "category": "People & Body", + "aliases": [ + "guy", + "a boy", + "boy", + "child", + "boys", + "man", + "young", + "male", + "teenager" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 233, + 184, + 55 + ] + }, + { + "emoji": "👧", + "description": "girl", + "category": "People & Body", + "aliases": [ + "woman", + "a girl", + "girl", + "child", + "female", + "young", + "Virgo", + "girls", + "teenager", + "zodiac" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 233, + 183, + 56 + ] + }, + { + "emoji": "🧑", + "description": "adult", + "category": "People & Body", + "aliases": [ + "person", + "unspecified gender", + "adult", + "neutral", + "adults", + "gender-neutral", + "an adult", + "gender" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 226, + 178, + 59 + ] + }, + { + "emoji": "👱", + "description": "person with", + "category": "People & Body", + "aliases": [ + "person", + "blond", + "person blond hair", + "person: blond hair", + "a blond-haired person", + "blond-haired people", + "blond-haired person", + "hairstyle", + "blond haired person", + "hair" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 220, + 181, + 73 + ] + }, + { + "emoji": "👨", + "description": "man", + "category": "People & Body", + "aliases": [ + "dad", + "guy", + "happy fathers day", + "adult", + "happy father's day", + "mustache", + "classy", + "men", + "sir", + "man", + "a man", + "father", + "moustache" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 230, + 179, + 51 + ] + }, + { + "emoji": "🧔", + "description": "bearded person", + "category": "People & Body", + "aliases": [ + "person", + "bewhiskered", + "beard", + "man", + "person: beard", + "bearded people", + "person beard", + "bearded person", + "a bearded person" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 168, + 57 + ] + }, + { + "emoji": "🧔‍♂️", + "description": "bearded man", + "category": "People & Body", + "aliases": [ + "a bearded man emoji", + "beard", + "bearded man emoji", + "man", + "man beard", + "facial hair" + ], + "unicode": "13.1", + "ios": "14.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 221, + 170, + 48 + ] + }, + { + "emoji": "🧔‍♀️", + "description": "bearded woman", + "category": "People & Body", + "aliases": [ + "a bearded woman emoji", + "woman", + "beard", + "bearded woman emoji", + "woman beard", + "facial hair" + ], + "unicode": "13.1", + "ios": "14.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 216, + 166, + 50 + ] + }, + { + "emoji": "👨‍🦰", + "description": "man with red", + "category": "People & Body", + "aliases": [ + "man red hair", + "man", + "red haired man", + "red", + "hairstyle", + "hair" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 226, + 162, + 37 + ] + }, + { + "emoji": "👨‍🦱", + "description": "man with curly", + "category": "People & Body", + "aliases": [ + "man curly hair", + "man", + "hairstyle", + "curly", + "curly haired man", + "hair" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 224, + 171, + 38 + ] + }, + { + "emoji": "👨‍🦳", + "description": "man with white", + "category": "People & Body", + "aliases": [ + "old", + "man white hair", + "man", + "elder", + "white", + "white haired man", + "hair" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 233, + 197, + 101 + ] + }, + { + "emoji": "👨‍🦲", + "description": "man with no", + "category": "People & Body", + "aliases": [ + "hairless", + "bald", + "man", + "bald man", + "man bald" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 234, + 187, + 53 + ] + }, + { + "emoji": "👩", + "description": "woman", + "category": "People & Body", + "aliases": [ + "woman", + "adult", + "girls", + "women", + "female", + "happy mother's day", + "lady", + "a woman", + "happy mothers day" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 222, + 171, + 53 + ] + }, + { + "emoji": "👩‍🦰", + "description": "woman with red", + "category": "People & Body", + "aliases": [ + "woman", + "woman red hair", + "red", + "hairstyle", + "hair", + "red haired woman" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 223, + 150, + 36 + ] + }, + { + "emoji": "🧑‍🦰", + "description": "person with", + "category": "People & Body", + "aliases": [ + "person", + "hair", + "red", + "hairstyle", + "person red hair" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 209, + 130, + 26 + ] + }, + { + "emoji": "👩‍🦱", + "description": "woman with curly", + "category": "People & Body", + "aliases": [ + "woman", + "hair", + "woman curly hair", + "hairstyle", + "curly", + "curly haired woman" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 225, + 172, + 41 + ] + }, + { + "emoji": "🧑‍🦱", + "description": "person with", + "category": "People & Body", + "aliases": [ + "person", + "person curly hair", + "hairstyle", + "curly", + "hair" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 226, + 172, + 37 + ] + }, + { + "emoji": "👩‍🦳", + "description": "woman with white", + "category": "People & Body", + "aliases": [ + "white haired woman", + "woman", + "old", + "woman white hair", + "elder", + "white", + "hair" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 224, + 196, + 122 + ] + }, + { + "emoji": "🧑‍🦳", + "description": "person with", + "category": "People & Body", + "aliases": [ + "person", + "old", + "person white hair", + "elder", + "white", + "hair" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 225, + 191, + 102 + ] + }, + { + "emoji": "👩‍🦲", + "description": "woman with no", + "category": "People & Body", + "aliases": [ + "woman", + "hairless", + "bald", + "bald woman", + "woman bald" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 236, + 189, + 58 + ] + }, + { + "emoji": "🧑‍🦲", + "description": "person with", + "category": "People & Body", + "aliases": [ + "person", + "person bald", + "hairless", + "bald" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 234, + 187, + 59 + ] + }, + { + "emoji": "👱‍♀️", + "description": "woman with blonde", + "category": "People & Body", + "aliases": [ + "person", + "blond", + "woman blond hair", + "a blonde-haired woman", + "woman", + "girl", + "female", + "blonde woman", + "blonde-haired women", + "blonde", + "blond haired woman", + "hair" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 210, + 175, + 82 + ] + }, + { + "emoji": "👱‍♂️", + "description": "man with blond", + "category": "People & Body", + "aliases": [ + "person", + "man blond hair", + "guy", + "blond", + "boy", + "blond haired man", + "blond-haired men", + "man", + "blonde", + "male", + "hair", + "a blond-haired man" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 221, + 179, + 62 + ] + }, + { + "emoji": "🧓", + "description": "older adult", + "category": "People & Body", + "aliases": [ + "person", + "an older adult", + "senior", + "unspecified gender", + "adult", + "old", + "older adult", + "neutral", + "older", + "gender-neutral", + "elder", + "older person", + "gender", + "older adults", + "human" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 224, + 177, + 54 + ] + }, + { + "emoji": "👴", + "description": "old man", + "category": "People & Body", + "aliases": [ + "old men", + "senior", + "adult", + "older man", + "old", + "men", + "man", + "elder", + "old man", + "male", + "an old man", + "human" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 232, + 180, + 45 + ] + }, + { + "emoji": "👵", + "description": "old woman", + "category": "People & Body", + "aliases": [ + "older woman", + "senior", + "an old woman", + "adult", + "woman", + "old", + "old women", + "women", + "female", + "elder", + "lady", + "old woman", + "human" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 224, + 175, + 54 + ] + }, + { + "emoji": "🙍", + "description": "person frowning", + "category": "People & Body", + "aliases": [ + "person", + "frowning person", + "frown", + "person frowning", + "a frowning emoji", + "worried", + "frowning", + "frowning emoji", + "gesture" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 216, + 177, + 82 + ] + }, + { + "emoji": "🙍‍♂️", + "description": "man frowning", + "category": "People & Body", + "aliases": [ + "boy", + "frowning man", + "a frowning emoji", + "sad", + "man frowning", + "frowning", + "man", + "discouraged", + "male", + "frowning emoji", + "depressed", + "unhappy" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 196, + 166, + 78 + ] + }, + { + "emoji": "🙍‍♀️", + "description": "woman frowning", + "category": "People & Body", + "aliases": [ + "a person frowning", + "woman", + "frowning woman", + "people frowning", + "girl", + "sad", + "female", + "frowning", + "discouraged", + "woman frowning", + "depressed", + "unhappy" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 148, + 66 + ] + }, + { + "emoji": "🙎", + "description": "person pouting", + "category": "People & Body", + "aliases": [ + "person", + "pouting face", + "person pouting", + "a pouting emoji", + "upset", + "pouting emoji", + "pouting", + "gesture" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 177, + 81 + ] + }, + { + "emoji": "🙎‍♂️", + "description": "man pouting", + "category": "People & Body", + "aliases": [ + "boy", + "pouting", + "pouting man", + "man pouting", + "man", + "male", + "pouting emoji", + "a pouting emoji" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 196, + 165, + 77 + ] + }, + { + "emoji": "🙎‍♀️", + "description": "woman pouting", + "category": "People & Body", + "aliases": [ + "woman", + "pouting woman", + "girl", + "people pouting", + "woman pouting", + "female", + "pouting", + "a person pouting" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 201, + 144, + 67 + ] + }, + { + "emoji": "🙅", + "description": "person gesturing", + "category": "People & Body", + "aliases": [ + "person", + "denied", + "hand", + "halt", + "a gesturing no emoji", + "person gesturing no", + "no good", + "gesturing", + "decline", + "stop", + "no", + "person gesturing NO", + "prohibited", + "gesturing no emoji", + "forbidden", + "gesture" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 199, + 172, + 106 + ] + }, + { + "emoji": "🙅‍♂️", + "description": "man gesturing", + "category": "People & Body", + "aliases": [ + "denied", + "no good man", + "a person gesturing no", + "halt", + "boy", + "man gesturing no", + "people gesturing no", + "ng man", + "nope", + "gesturing", + "stop", + "man", + "no", + "male" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 154, + 154, + 114 + ] + }, + { + "emoji": "🙅‍♀️", + "description": "woman gesturing", + "category": "People & Body", + "aliases": [ + "denied", + "halt", + "a gesturing no emoji", + "woman", + "gesturing", + "nope", + "girl", + "stop", + "female", + "no", + "ng woman", + "no good woman", + "gesturing no emoji", + "woman gesturing no" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 173, + 118, + 88 + ] + }, + { + "emoji": "🙆", + "description": "person gesturing", + "category": "People & Body", + "aliases": [ + "person", + "hand", + "agree", + "ok", + "a hands above head emoji", + "gesturing", + "ok person", + "person gesturing OK", + "hands above head emoji", + "person gesturing ok", + "OK", + "gesture" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 177, + 156, + 104 + ] + }, + { + "emoji": "🙆‍♂️", + "description": "man gesturing", + "category": "People & Body", + "aliases": [ + "ok", + "boy", + "ok man", + "man gesturing ok", + "people gesturing OK", + "a person gesturing OK", + "gesturing", + "men", + "man", + "male", + "blue", + "human" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 126, + 135, + 114 + ] + }, + { + "emoji": "🙆‍♀️", + "description": "woman gesturing", + "category": "People & Body", + "aliases": [ + "ok", + "woman", + "a gesturing OK emoji", + "woman gesturing ok", + "gesturing", + "girl", + "women", + "female", + "gesturing OK emoji", + "ok woman", + "pink", + "human" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 150, + 87, + 94 + ] + }, + { + "emoji": "💁", + "description": "information", + "category": "People & Body", + "aliases": [ + "person", + "hand", + "sassy", + "information desk person", + "tipping hand person", + "a person tipping their hand", + "help", + "they", + "information", + "person tipping hand", + "people tipping their hand", + "tipping" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 204, + 171, + 90 + ] + }, + { + "emoji": "💁‍♂️", + "description": "information", + "category": "People & Body", + "aliases": [ + "hand", + "tipping hand man", + "people tipping their hand emoji", + "boy", + "he", + "sassy man", + "man", + "a person tipping their hand emoji", + "information", + "male", + "man tipping hand", + "tipping", + "human" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 173, + 156, + 92 + ] + }, + { + "emoji": "💁‍♀️", + "description": "information", + "category": "People & Body", + "aliases": [ + "she", + "hand", + "person tipping their hand emoji", + "sassy woman", + "woman", + "tipping hand woman", + "girl", + "woman tipping hand", + "a person tipping their hand emoji", + "female", + "information", + "tipping", + "human" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 195, + 137, + 77 + ] + }, + { + "emoji": "🙋", + "description": "person raising", + "category": "People & Body", + "aliases": [ + "person", + "hand", + "raising hand", + "person raising hand", + "question", + "raising hand emoji", + "raised", + "happy", + "raising", + "a raising hand emoji", + "gesture" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 204, + 169, + 85 + ] + }, + { + "emoji": "🙋‍♂️", + "description": "man raising", + "category": "People & Body", + "aliases": [ + "hand", + "man raising hand", + "boy", + "people raising their hand", + "raising hand man", + "man", + "a person raising their hand", + "male", + "raising" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 178, + 156, + 86 + ] + }, + { + "emoji": "🙋‍♀️", + "description": "woman raising", + "category": "People & Body", + "aliases": [ + "hand", + "woman raising hand", + "woman", + "girl", + "raising hand emoji", + "female", + "raising", + "raising hand woman", + "a raising hand emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 195, + 135, + 80 + ] + }, + { + "emoji": "🧏", + "description": "Deaf person", + "category": "People & Body", + "aliases": [ + "person", + "accessibility", + "deaf", + "hear", + "ear", + "a deaf person", + "deaf people", + "deaf person" + ], + "unicode": "12.0", + "ios": "13.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 196, + 154, + 52 + ] + }, + { + "emoji": "🧏‍♂️", + "description": "Deaf man", + "category": "People & Body", + "aliases": [ + "accessibility", + "deaf", + "deaf men", + "man", + "a deaf man", + "deaf man" + ], + "unicode": "12.0", + "ios": "13.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 182, + 146, + 53 + ] + }, + { + "emoji": "🧏‍♀️", + "description": "Deaf woman", + "category": "People & Body", + "aliases": [ + "accessibility", + "deaf", + "woman", + "deaf woman emoji", + "deaf woman", + "a deaf woman emoji" + ], + "unicode": "12.0", + "ios": "13.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 180, + 129, + 42 + ] + }, + { + "emoji": "🙇", + "description": "person bowing", + "category": "People & Body", + "aliases": [ + "person", + "bowing", + "a bowing emoji", + "thanks", + "sorry", + "bowing emoji", + "bow", + "respectiful", + "apology", + "respect", + "person bowing", + "gesture" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 182, + 153, + 82 + ] + }, + { + "emoji": "🙇‍♂️", + "description": "man bowing", + "category": "People & Body", + "aliases": [ + "bowing", + "boy", + "thanks", + "man bowing", + "man", + "people with their heads bowed", + "bowing man", + "male", + "respect", + "a person with their head bowed" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 152, + 137, + 84 + ] + }, + { + "emoji": "🙇‍♀️", + "description": "woman bowing", + "category": "People & Body", + "aliases": [ + "bowing", + "woman", + "bowing woman", + "thanks", + "girl", + "head bowing down emoji", + "female", + "woman bowing", + "respect", + "a head bowing down emoji" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 193, + 142, + 80 + ] + }, + { + "emoji": "🤦", + "description": "person facepalming", + "category": "People & Body", + "aliases": [ + "person", + "exasperation", + "facepalm", + "person facepalming", + "facepalming", + "face", + "facepalm emoji", + "disappointed", + "palm", + "a facepalm emoji", + "disbelief" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 218, + 178, + 68 + ] + }, + { + "emoji": "🤦‍♂️", + "description": "man facepalming", + "category": "People & Body", + "aliases": [ + "boy", + "man facepalming", + "facepalming", + "man", + "facepalm emoji", + "male", + "a facepalm emoji", + "disbelief" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 196, + 163, + 73 + ] + }, + { + "emoji": "🤦‍♀️", + "description": "woman facepalming", + "category": "People & Body", + "aliases": [ + "a facepalm", + "woman", + "woman facepalming", + "facepalming", + "girl", + "people face-palming", + "female", + "disbelief" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 201, + 144, + 59 + ] + }, + { + "emoji": "🤷", + "description": "person shrugging", + "category": "People & Body", + "aliases": [ + "person", + "ignorance", + "regardless", + "shrugging emoji", + "indifference", + "a shrugging emoji", + "shrug", + "doubt", + "shrugging", + "person shrugging" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 186, + 165, + 114 + ] + }, + { + "emoji": "🤷‍♂️", + "description": "man shrugging", + "category": "People & Body", + "aliases": [ + "man shrugging", + "boy", + "shrugging emoji", + "indifferent", + "confused", + "man", + "a shrugging emoji", + "male", + "doubt", + "shrugging" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 125, + 131, + 108 + ] + }, + { + "emoji": "🤷‍♀️", + "description": "woman shrugging", + "category": "People & Body", + "aliases": [ + "woman", + "woman shrugging", + "girl", + "indifferent", + "confused", + "female", + "doubt", + "people shrugging", + "a person shrugging", + "shrugging" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 159, + 100, + 89 + ] + }, + { + "emoji": "🧑‍⚕️", + "description": "health worker", + "category": "People & Body", + "aliases": [ + "health workers", + "a health worker", + "hospital", + "health worker", + "health", + "worker" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 218, + 178, + 80 + ] + }, + { + "emoji": "👨‍⚕️", + "description": "man health worker", + "category": "People & Body", + "aliases": [ + "therapist", + "health workers", + "man health worker", + "healthcare", + "nurse", + "doctor", + "a health worker", + "man", + "health", + "worker", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 218, + 179, + 76 + ] + }, + { + "emoji": "👩‍⚕️", + "description": "woman health", + "category": "People & Body", + "aliases": [ + "therapist", + "health workers", + "woman", + "healthcare", + "nurse", + "doctor", + "woman health worker", + "a health worker", + "health", + "worker", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 211, + 167, + 73 + ] + }, + { + "emoji": "🧑‍🎓", + "description": "student", + "category": "People & Body", + "aliases": [ + "student", + "graduate", + "a student", + "learn", + "students" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 149, + 119, + 51 + ] + }, + { + "emoji": "👨‍🎓", + "description": "man student", + "category": "People & Body", + "aliases": [ + "student", + "man student", + "graduate", + "a student", + "man", + "graduation", + "students", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 154, + 126, + 59 + ] + }, + { + "emoji": "👩‍🎓", + "description": "woman student", + "category": "People & Body", + "aliases": [ + "student", + "woman", + "graduate", + "a student", + "graduation", + "woman student", + "students", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 151, + 117, + 45 + ] + }, + { + "emoji": "🧑‍🏫", + "description": "teacher", + "category": "People & Body", + "aliases": [ + "teacher", + "instructor", + "teacher emoji", + "professor", + "a teacher emoji" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 161, + 141, + 77 + ] + }, + { + "emoji": "👨‍🏫", + "description": "man teacher", + "category": "People & Body", + "aliases": [ + "teacher", + "school", + "man teacher", + "instructor", + "man", + "teachers", + "a teacher", + "professor", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 163, + 140, + 73 + ] + }, + { + "emoji": "👩‍🏫", + "description": "woman teacher", + "category": "People & Body", + "aliases": [ + "teacher", + "school", + "woman", + "instructor", + "teacher emoji", + "woman teacher", + "professor", + "a teacher emoji", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 171, + 143, + 76 + ] + }, + { + "emoji": "🧑‍⚖️", + "description": "judge", + "category": "People & Body", + "aliases": [ + "law", + "judge emoji", + "judge", + "a judge emoji" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 199, + 155, + 61 + ] + }, + { + "emoji": "👨‍⚖️", + "description": "man judge", + "category": "People & Body", + "aliases": [ + "man judge", + "judges", + "justice", + "a judge", + "man", + "judge", + "court", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 200, + 155, + 54 + ] + }, + { + "emoji": "👩‍⚖️", + "description": "woman judge", + "category": "People & Body", + "aliases": [ + "woman judge", + "woman", + "judge emoji", + "justice", + "judge", + "court", + "a judge emoji", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 195, + 151, + 58 + ] + }, + { + "emoji": "🧑‍🌾", + "description": "farmer", + "category": "People & Body", + "aliases": [ + "gardener", + "farmer", + "crops", + "farmers", + "rancher", + "a farmer" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 153, + 124, + 43 + ] + }, + { + "emoji": "👨‍🌾", + "description": "man farmer", + "category": "People & Body", + "aliases": [ + "man farmer", + "gardener", + "farmer", + "a farmer emoji", + "farmer emoji", + "man", + "rancher", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 153, + 125, + 43 + ] + }, + { + "emoji": "👩‍🌾", + "description": "woman farmer", + "category": "People & Body", + "aliases": [ + "woman", + "gardener", + "farmer", + "woman farmer", + "a farmer emoji", + "farmer emoji", + "rancher", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 157, + 126, + 41 + ] + }, + { + "emoji": "🧑‍🍳", + "description": "cook", + "category": "People & Body", + "aliases": [ + "kitchen", + "cook", + "a cook", + "chef", + "food", + "culinary", + "cooks" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 207, + 182, + 128 + ] + }, + { + "emoji": "👨‍🍳", + "description": "man cook", + "category": "People & Body", + "aliases": [ + "cook", + "chefs", + "man cook", + "a chef", + "chef", + "man", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 209, + 183, + 127 + ] + }, + { + "emoji": "👩‍🍳", + "description": "woman cook", + "category": "People & Body", + "aliases": [ + "cook", + "chefs", + "woman", + "a chef", + "chef", + "woman cook", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 208, + 181, + 126 + ] + }, + { + "emoji": "🧑‍🔧", + "description": "mechanic", + "category": "People & Body", + "aliases": [ + "plumber", + "a mechanic emoji", + "mechanic emoji", + "technician", + "electrician", + "mechanic", + "tradesperson", + "worker" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 191, + 161, + 89 + ] + }, + { + "emoji": "👨‍🔧", + "description": "man mechanic", + "category": "People & Body", + "aliases": [ + "man mechanic", + "plumber", + "a mechanic emoji", + "mechanic emoji", + "wrench", + "electrician", + "mechanic", + "man", + "tradesperson", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 192, + 163, + 86 + ] + }, + { + "emoji": "👩‍🔧", + "description": "woman mechanic", + "category": "People & Body", + "aliases": [ + "a mechanic", + "woman", + "plumber", + "wrench", + "electrician", + "mechanic", + "mechanics", + "tradesperson", + "woman mechanic", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 188, + 155, + 81 + ] + }, + { + "emoji": "🧑‍🏭", + "description": "factory worker", + "category": "People & Body", + "aliases": [ + "factory", + "a factory worker", + "factory worker", + "assembly", + "factory workers", + "industrial", + "worker", + "labor" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 131, + 115, + 78 + ] + }, + { + "emoji": "👨‍🏭", + "description": "man factory", + "category": "People & Body", + "aliases": [ + "factory", + "factory worker emoji", + "a factory worker emoji", + "assembly", + "man", + "industrial", + "man factory worker", + "worker", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 132, + 115, + 77 + ] + }, + { + "emoji": "👩‍🏭", + "description": "woman factory", + "category": "People & Body", + "aliases": [ + "factory", + "woman factory worker", + "woman", + "a factory worker", + "assembly", + "factory workers", + "industrial", + "worker", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 130, + 111, + 74 + ] + }, + { + "emoji": "🧑‍💼", + "description": "office worker", + "category": "People & Body", + "aliases": [ + "business", + "manager", + "an office worker", + "office", + "white-collar", + "worker", + "architect", + "office workers", + "office worker" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 215, + 176, + 81 + ] + }, + { + "emoji": "👨‍💼", + "description": "man office worker", + "category": "People & Body", + "aliases": [ + "business", + "manager", + "an office worker", + "office", + "man", + "white-collar", + "man office worker", + "worker", + "architect", + "office workers", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 211, + 180, + 86 + ] + }, + { + "emoji": "👩‍💼", + "description": "woman office", + "category": "People & Body", + "aliases": [ + "business", + "manager", + "woman office worker", + "woman", + "an office worker", + "office", + "white-collar", + "worker", + "architect", + "office workers", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 194, + 154, + 62 + ] + }, + { + "emoji": "🧑‍🔬", + "description": "scientist", + "category": "People & Body", + "aliases": [ + "a scientist emoji", + "physicist", + "scientist emoji", + "engineer", + "chemistry", + "chemist", + "biologist", + "scientist" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 212, + 186, + 114 + ] + }, + { + "emoji": "👨‍🔬", + "description": "man scientist", + "category": "People & Body", + "aliases": [ + "man scientist", + "a scientist emoji", + "physicist", + "scientist emoji", + "engineer", + "chemist", + "research", + "man", + "biologist", + "scientist", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 211, + 186, + 110 + ] + }, + { + "emoji": "👩‍🔬", + "description": "woman scientist", + "category": "People & Body", + "aliases": [ + "a scientist emoji", + "physicist", + "scientist emoji", + "woman", + "engineer", + "chemist", + "research", + "woman scientist", + "biologist", + "scientist", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 208, + 179, + 100 + ] + }, + { + "emoji": "🧑‍💻", + "description": "technologist", + "category": "People & Body", + "aliases": [ + "developer", + "computer", + "a technologist", + "inventor", + "technologists", + "software", + "technologist", + "coder" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 184, + 162, + 106 + ] + }, + { + "emoji": "👨‍💻", + "description": "man technologist", + "category": "People & Body", + "aliases": [ + "man technologist", + "laptop", + "programmer", + "a person with a laptop", + "developer", + "human", + "engineer", + "computer", + "man", + "coder", + "inventor", + "software", + "technologist", + "people with laptops" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 184, + 162, + 104 + ] + }, + { + "emoji": "👩‍💻", + "description": "woman technologist", + "category": "People & Body", + "aliases": [ + "woman technologist", + "laptop", + "woman", + "programmer", + "a person with a laptop", + "developer", + "human", + "engineer", + "computer", + "coder", + "inventor", + "software", + "technologist", + "people with laptops" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 181, + 158, + 105 + ] + }, + { + "emoji": "🧑‍🎤", + "description": "singer", + "category": "People & Body", + "aliases": [ + "singer", + "singer emoji", + "artist", + "star", + "a singer emoji", + "rock", + "entertainer", + "performer", + "actor", + "song" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 128, + 167, + 65 + ] + }, + { + "emoji": "👨‍🎤", + "description": "man singer", + "category": "People & Body", + "aliases": [ + "singer", + "a singer", + "star", + "rockstar", + "man singer", + "entertainer", + "rock", + "actor", + "man", + "singers", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 144, + 120, + 99 + ] + }, + { + "emoji": "👩‍🎤", + "description": "woman singer", + "category": "People & Body", + "aliases": [ + "singer", + "singer emoji", + "woman", + "star", + "rockstar", + "a singer emoji", + "rock", + "entertainer", + "actor", + "woman singer", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 176, + 114, + 130 + ] + }, + { + "emoji": "🧑‍🎨", + "description": "artist", + "category": "People & Body", + "aliases": [ + "artist", + "painting", + "draw", + "an artist emoji", + "palette", + "creativity", + "artist emoji" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 148, + 126, + 72 + ] + }, + { + "emoji": "👨‍🎨", + "description": "man artist", + "category": "People & Body", + "aliases": [ + "artist", + "painter", + "an artist", + "palette", + "man", + "man artist", + "artists", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 149, + 128, + 76 + ] + }, + { + "emoji": "👩‍🎨", + "description": "woman artist", + "category": "People & Body", + "aliases": [ + "artist", + "woman", + "painter", + "woman artist", + "an artist emoji", + "palette", + "artist emoji", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 149, + 127, + 74 + ] + }, + { + "emoji": "🧑‍✈️", + "description": "pilot", + "category": "People & Body", + "aliases": [ + "pilots", + "fly", + "a pilot", + "pilot", + "airplane", + "plane" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 138, + 114, + 52 + ] + }, + { + "emoji": "👨‍✈️", + "description": "man pilot", + "category": "People & Body", + "aliases": [ + "aviator", + "pilot", + "man", + "pilot emoji", + "plane", + "man pilot", + "a pilot emoji", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 138, + 115, + 53 + ] + }, + { + "emoji": "👩‍✈️", + "description": "woman pilot", + "category": "People & Body", + "aliases": [ + "woman", + "woman pilot", + "aviator", + "pilot", + "pilot emoji", + "plane", + "a pilot emoji", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 137, + 113, + 54 + ] + }, + { + "emoji": "🧑‍🚀", + "description": "astronaut", + "category": "People & Body", + "aliases": [ + "rocket", + "astronauts", + "astronaut", + "an astronaut", + "outerspace" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 161, + 146, + 108 + ] + }, + { + "emoji": "👨‍🚀", + "description": "man astronaut", + "category": "People & Body", + "aliases": [ + "astronaut emoji", + "rocket", + "space", + "astronaut", + "man astronaut", + "an astronaut emoji", + "man", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 164, + 147, + 106 + ] + }, + { + "emoji": "👩‍🚀", + "description": "woman astronaut", + "category": "People & Body", + "aliases": [ + "rocket", + "woman", + "space", + "astronauts", + "astronaut", + "an astronaut", + "woman astronaut", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 158, + 143, + 107 + ] + }, + { + "emoji": "🧑‍🚒", + "description": "firefighter", + "category": "People & Body", + "aliases": [ + "firefighter", + "firetruck", + "fire", + "a firefighter", + "firefighters" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 172, + 111, + 67 + ] + }, + { + "emoji": "👨‍🚒", + "description": "man firefighter", + "category": "People & Body", + "aliases": [ + "firefighter", + "man firefighter", + "firetruck", + "firefighters", + "man", + "a firefighter", + "fireman", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 175, + 111, + 66 + ] + }, + { + "emoji": "👩‍🚒", + "description": "woman firefighter", + "category": "People & Body", + "aliases": [ + "firefighter", + "woman", + "firetruck", + "fireman", + "firefighters", + "a firefighter", + "woman firefighter", + "human" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 168, + 108, + 67 + ] + }, + { + "emoji": "👮", + "description": "police officer", + "category": "People & Body", + "aliases": [ + "cop", + "law", + "police officer", + "officer", + "a police officer", + "police", + "police officers" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 128, + 122, + 78 + ] + }, + { + "emoji": "👮‍♂️", + "description": "policeman", + "category": "People & Body", + "aliases": [ + "cop", + "law", + "policeman", + "officer", + "a police officer", + "arrest", + "legal", + "man", + "police", + "man police officer", + "police officers", + "enforcement", + "911" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 129, + 123, + 80 + ] + }, + { + "emoji": "👮‍♀️", + "description": "policewoman", + "category": "People & Body", + "aliases": [ + "cop", + "policewoman", + "woman", + "law", + "officer", + "a police officer", + "woman police officer", + "legal", + "female", + "police", + "arrest", + "police officers", + "enforcement", + "911" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 124, + 121, + 82 + ] + }, + { + "emoji": "🕵️", + "description": "detective", + "category": "People & Body", + "aliases": [ + "detective", + "spy", + "a detective emoji", + "detective emoji", + "sleuth", + "human" + ], + "unicode": "7.0", + "ios": "9.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 144, + 125, + 78 + ] + }, + { + "emoji": "🕵️‍♂️", + "description": "man detective", + "category": "People & Body", + "aliases": [ + "detective", + "man detective", + "a detective emoji", + "crime", + "detective emoji", + "man", + "male detective", + "sleuth" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 142, + 123, + 77 + ] + }, + { + "emoji": "🕵️‍♀️", + "description": "woman detective", + "category": "People & Body", + "aliases": [ + "woman", + "detective", + "female detective", + "spy", + "a detective emoji", + "detective emoji", + "female", + "woman detective", + "sleuth", + "human" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 143, + 124, + 79 + ] + }, + { + "emoji": "💂", + "description": "guard", + "category": "People & Body", + "aliases": [ + "guards", + "protect", + "guard", + "a guard" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 74, + 63, + 38 + ] + }, + { + "emoji": "💂‍♂️", + "description": "guardsman", + "category": "People & Body", + "aliases": [ + "guy", + "uk", + "a guardsman", + "guardsman", + "guardsmen", + "royal", + "man", + "british", + "gb", + "man guard", + "male", + "guard" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 76, + 64, + 37 + ] + }, + { + "emoji": "💂‍♀️", + "description": "guardswoman", + "category": "People & Body", + "aliases": [ + "uk", + "woman", + "woman guard", + "royal", + "a guardswoman emoji", + "female", + "gb", + "guardswoman", + "british", + "guardswoman emoji", + "guard" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 72, + 62, + 38 + ] + }, + { + "emoji": "🥷", + "description": "ninja", + "category": "People & Body", + "aliases": [ + "stealth", + "ninja", + "fighter", + "ninjas", + "japanese", + "ninjutsu", + "hidden", + "skills", + "a ninja" + ], + "unicode": "13.0", + "ios": "14.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 58, + 57, + 52 + ] + }, + { + "emoji": "👷", + "description": "construction", + "category": "People & Body", + "aliases": [ + "helmet", + "construction", + "construction worker", + "hat", + "a construction worker", + "build", + "construction workers", + "worker", + "labor" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 213, + 174, + 68 + ] + }, + { + "emoji": "👷‍♂️", + "description": "man construction", + "category": "People & Body", + "aliases": [ + "man construction worker", + "helmet", + "guy", + "construction worker emoji", + "construction", + "construction worker man", + "wip", + "a construction worker emoji", + "build", + "man", + "male", + "worker", + "labor", + "human" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 218, + 179, + 70 + ] + }, + { + "emoji": "👷‍♀️", + "description": "woman construction", + "category": "People & Body", + "aliases": [ + "helmet", + "construction", + "woman", + "wip", + "a construction worker", + "construction worker woman", + "build", + "woman construction worker", + "female", + "construction workers", + "worker", + "labor", + "human" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 211, + 172, + 69 + ] + }, + { + "emoji": "🤴", + "description": "prince", + "category": "People & Body", + "aliases": [ + "boy", + "a prince emoji", + "crown", + "prince emoji", + "royal", + "man", + "male", + "king", + "prince" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [ + "👸", + "👑", + "🤴", + "🫅" + ], + "rgb": [ + 212, + 171, + 51 + ] + }, + { + "emoji": "👸", + "description": "princess", + "category": "People & Body", + "aliases": [ + "blond", + "woman", + "queen", + "a princess", + "fantasy", + "crown", + "fairy tale", + "girl", + "royal", + "princess", + "female", + "princesses" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [ + "👸", + "👑", + "🤴", + "🫅" + ], + "rgb": [ + 212, + 160, + 41 + ] + }, + { + "emoji": "👳", + "description": "person with", + "category": "People & Body", + "aliases": [ + "person", + "wearing", + "a person with turban", + "turban", + "person with turban", + "people with turbans", + "person wearing turban", + "headdress" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 205, + 179, + 112 + ] + }, + { + "emoji": "👳‍♂️", + "description": "man with turban", + "category": "People & Body", + "aliases": [ + "hinduism", + "wearing", + "turban", + "man wearing turban", + "arabs", + "man", + "indian", + "male", + "a person with turban emoji", + "people with turbans emoji", + "man with turban" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 201, + 173, + 104 + ] + }, + { + "emoji": "👳‍♀️", + "description": "woman with turban", + "category": "People & Body", + "aliases": [ + "hinduism", + "woman", + "wearing", + "a person with turban", + "turban", + "arabs", + "female", + "people with turbans", + "indian", + "woman wearing turban", + "woman with turban" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 207, + 183, + 118 + ] + }, + { + "emoji": "👲", + "description": "man with Chinese", + "category": "People & Body", + "aliases": [ + "man with gua pi mao", + "person", + "boy", + "men with Chinese caps", + "cap", + "hat", + "chinese", + "man", + "person with skullcap", + "gua pi mao", + "male", + "a man with Chinese cap", + "skullcap" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 186, + 132, + 30 + ] + }, + { + "emoji": "🧕", + "description": "woman with headscarf", + "category": "People & Body", + "aliases": [ + "headscarf", + "woman", + "woman with headscarf", + "mantilla", + "tichel", + "hijab", + "female", + "a woman with headscarf", + "women with headscarfs" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 120, + 91, + 104 + ] + }, + { + "emoji": "🤵", + "description": "person in tuxedo", + "category": "People & Body", + "aliases": [ + "person", + "tuxedo", + "a tuxedo emoji", + "tuxedo emoji", + "person in tuxedo", + "wedding", + "couple", + "marriage", + "man", + "groom" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 195, + 156, + 61 + ] + }, + { + "emoji": "🤵‍♂️", + "description": "man in tuxedo", + "category": "People & Body", + "aliases": [ + "tuxedo", + "a person in a tuxedo", + "formal", + "man", + "fashion", + "man in tuxedo", + "people in tuxedos" + ], + "unicode": "13.0", + "ios": "14.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 196, + 157, + 57 + ] + }, + { + "emoji": "🤵‍♀️", + "description": "woman in tuxedo", + "category": "People & Body", + "aliases": [ + "tuxedo", + "woman in tuxedo", + "woman", + "a person in a tuxedo", + "formal", + "fashion", + "people in tuxedos" + ], + "unicode": "13.0", + "ios": "14.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 193, + 151, + 55 + ] + }, + { + "emoji": "👰", + "description": "person with", + "category": "People & Body", + "aliases": [ + "person", + "woman", + "person with veil", + "wedding", + "couple", + "marriage", + "people with veils", + "a person with veil", + "veil", + "bride" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 210, + 182, + 111 + ] + }, + { + "emoji": "👰‍♂️", + "description": "man with veil", + "category": "People & Body", + "aliases": [ + "man with veil", + "wedding", + "marriage", + "man", + "men with veils", + "a man with veil", + "veil" + ], + "unicode": "13.0", + "ios": "14.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 209, + 182, + 112 + ] + }, + { + "emoji": "👰‍♀️", + "description": "woman with veil", + "category": "People & Body", + "aliases": [ + "bride with veil", + "woman with veil emoji", + "woman with veil", + "woman", + "a woman with veil emoji", + "wedding", + "marriage", + "veil" + ], + "unicode": "13.0", + "ios": "14.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 213, + 178, + 100 + ] + }, + { + "emoji": "🤰", + "description": "pregnant woman", + "category": "People & Body", + "aliases": [ + "woman", + "pregnant woman", + "baby", + "pregnant woman emoji", + "a pregnant woman emoji", + "pregnant" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 177, + 116, + 103 + ] + }, + { + "emoji": "🤱", + "description": "breastfeeding", + "category": "People & Body", + "aliases": [ + "nursing", + "feeding", + "a breastfeeding emoji", + "breast", + "breast feeding", + "baby", + "breastfeeding emoji", + "breast-feeding" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 167, + 138, + 85 + ] + }, + { + "emoji": "👩‍🍼", + "description": "woman feeding", + "category": "People & Body", + "aliases": [ + "nursing", + "woman", + "woman feeding baby", + "feeding", + "women feeding babies", + "food", + "baby", + "a woman feeding a baby", + "birth" + ], + "unicode": "13.0", + "ios": "14.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 162, + 137, + 88 + ] + }, + { + "emoji": "👨‍🍼", + "description": "man feeding", + "category": "People & Body", + "aliases": [ + "nursing", + "a man feeding a baby", + "feeding", + "food", + "baby", + "man", + "man feeding baby", + "birth", + "men feeding babies" + ], + "unicode": "13.0", + "ios": "14.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 163, + 140, + 92 + ] + }, + { + "emoji": "🧑‍🍼", + "description": "person feeding", + "category": "People & Body", + "aliases": [ + "person", + "nursing", + "feeding", + "a person feeding baby", + "food", + "baby", + "people feeding babies", + "birth", + "person feeding baby" + ], + "unicode": "13.0", + "ios": "14.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 164, + 140, + 91 + ] + }, + { + "emoji": "👼", + "description": "baby angel", + "category": "People & Body", + "aliases": [ + "baby angels", + "baby angel", + "a baby angel", + "halo", + "fairy tale", + "face", + "baby", + "wings", + "heaven", + "angel", + "fantasy" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 224, + 182, + 69 + ] + }, + { + "emoji": "🎅", + "description": "Santa Claus", + "category": "People & Body", + "aliases": [ + "xmas", + "celebration", + "father christmas", + "a Santa Claus emoji", + "santa", + "santa claus", + "christmas", + "Christmas", + "man", + "Santa Claus", + "male", + "Santa Claus emoji", + "father", + "festival", + "claus" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 211, + 168, + 92 + ] + }, + { + "emoji": "🤶", + "description": "Mrs. Claus", + "category": "People & Body", + "aliases": [ + "xmas", + "Mrs. Claus", + "woman", + "celebration", + "Mrs. Claus emoji", + "santa", + "mrs claus", + "mother christmas", + "Christmas", + "mother", + "female", + "mrs", + "a Mrs. Claus emoji", + "mrs. claus", + "Mrs.", + "claus" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 212, + 176, + 118 + ] + }, + { + "emoji": "🧑‍🎄", + "description": "Mx. Claus", + "category": "People & Body", + "aliases": [ + "a santa emoji", + "christmas", + "santa emoji", + "mx claus", + "Claus, christmas", + "mx", + "claus" + ], + "unicode": "13.0", + "ios": "14.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 166, + 98 + ] + }, + { + "emoji": "🦸", + "description": "superhero", + "category": "People & Body", + "aliases": [ + "a superhero emoji", + "superhero emoji", + "marvel", + "superhero", + "superpower", + "good", + "heroine", + "hero" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 187, + 121, + 63 + ] + }, + { + "emoji": "🦸‍♂️", + "description": "man superhero", + "category": "People & Body", + "aliases": [ + "a superhero emoji", + "man superhero", + "superhero emoji", + "man", + "superhero", + "good", + "male", + "hero", + "superpowers", + "superhero man" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 187, + 116, + 58 + ] + }, + { + "emoji": "🦸‍♀️", + "description": "woman superhero", + "category": "People & Body", + "aliases": [ + "superhero woman", + "woman", + "a superhero", + "woman superhero", + "superheroes", + "female", + "superhero", + "good", + "heroine", + "superpowers" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 191, + 125, + 60 + ] + }, + { + "emoji": "🦹", + "description": "supervillain", + "category": "People & Body", + "aliases": [ + "criminal", + "villain", + "supervillain", + "a supervillain emoji", + "marvel", + "evil", + "superpower", + "supervillain emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 148, + 105, + 58 + ] + }, + { + "emoji": "🦹‍♂️", + "description": "man supervillain", + "category": "People & Body", + "aliases": [ + "a supervillain", + "criminal", + "supervillain man", + "bad", + "supervillain", + "supervillains", + "evil", + "man", + "man supervillain", + "male", + "hero", + "superpowers" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 141, + 101, + 57 + ] + }, + { + "emoji": "🦹‍♀️", + "description": "woman supervillain", + "category": "People & Body", + "aliases": [ + "woman supervillain", + "a supervillain", + "criminal", + "bad", + "woman", + "supervillain", + "supervillains", + "female", + "evil", + "heroine", + "superpowers", + "supervillain woman" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 150, + 105, + 56 + ] + }, + { + "emoji": "🧙", + "description": "mage", + "category": "People & Body", + "aliases": [ + "a mage", + "sorcerer", + "mages", + "mage", + "wizard", + "witch", + "sorceress", + "magic" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 125, + 110, + 56 + ] + }, + { + "emoji": "🧙‍♂️", + "description": "man mage", + "category": "People & Body", + "aliases": [ + "a mage", + "sorcerer", + "mages", + "mage", + "wizard", + "man mage", + "man", + "male", + "mage man" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 112, + 105, + 67 + ] + }, + { + "emoji": "🧙‍♀️", + "description": "woman mage", + "category": "People & Body", + "aliases": [ + "woman mage", + "woman", + "a mage emoji", + "wizard", + "witch", + "mage", + "female", + "mage woman", + "mage emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 121, + 108, + 54 + ] + }, + { + "emoji": "🧚", + "description": "fairy", + "category": "People & Body", + "aliases": [ + "fairy", + "Titania", + "magical", + "a fairy", + "Puck", + "Oberon", + "fairies", + "wings" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 164, + 201, + 145 + ] + }, + { + "emoji": "🧚‍♂️", + "description": "man fairy", + "category": "People & Body", + "aliases": [ + "fairy", + "man fairy", + "a fairy", + "man", + "fairy man", + "fairies", + "male" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 163, + 198, + 147 + ] + }, + { + "emoji": "🧚‍♀️", + "description": "woman fairy", + "category": "People & Body", + "aliases": [ + "fairy", + "woman", + "fairy woman", + "a fairy", + "female", + "fairies", + "woman fairy" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 173, + 187, + 151 + ] + }, + { + "emoji": "🧛", + "description": "vampire", + "category": "People & Body", + "aliases": [ + "blood", + "a vampire", + "twilight", + "undead", + "vampire", + "vampires", + "Dracula" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 121, + 88, + 42 + ] + }, + { + "emoji": "🧛‍♂️", + "description": "man vampire", + "category": "People & Body", + "aliases": [ + "dracula", + "a vampire emoji", + "vampire man", + "man", + "vampire", + "man vampire", + "male", + "vampire emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 143, + 103, + 45 + ] + }, + { + "emoji": "🧛‍♀️", + "description": "woman vampire", + "category": "People & Body", + "aliases": [ + "woman", + "woman vampire", + "a vampire", + "vampire woman", + "female", + "vampire", + "vampires" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 108, + 77, + 45 + ] + }, + { + "emoji": "🧜", + "description": "merperson", + "category": "People & Body", + "aliases": [ + "sea", + "merperson", + "mermaid", + "merman", + "a merperson", + "merwoman", + "merpeople" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 143, + 127, + 112 + ] + }, + { + "emoji": "🧜‍♂️", + "description": "merman", + "category": "People & Body", + "aliases": [ + "merman", + "merman emoji", + "a merman emoji", + "man", + "triton", + "male" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 161, + 140, + 100 + ] + }, + { + "emoji": "🧜‍♀️", + "description": "mermaid", + "category": "People & Body", + "aliases": [ + "woman", + "mermaids", + "mermaid", + "ariel", + "merwoman", + "female", + "a mermaid" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 155, + 127, + 108 + ] + }, + { + "emoji": "🧝", + "description": "elf", + "category": "People & Body", + "aliases": [ + "elves", + "an elf", + "magical", + "elf" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 189, + 176, + 93 + ] + }, + { + "emoji": "🧝‍♂️", + "description": "man elf", + "category": "People & Body", + "aliases": [ + "an elf emoji", + "elf man", + "elf emoji", + "man elf", + "elf", + "man", + "male" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 194, + 179, + 99 + ] + }, + { + "emoji": "🧝‍♀️", + "description": "woman elf", + "category": "People & Body", + "aliases": [ + "woman", + "elf woman", + "woman elf", + "elf", + "female", + "elves", + "an elf" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 208, + 194, + 118 + ] + }, + { + "emoji": "🧞", + "description": "genie", + "category": "People & Body", + "aliases": [ + "a genie", + "magical", + "djinn", + "genies", + "wishes", + "genie" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 96, + 83, + 127 + ] + }, + { + "emoji": "🧞‍♂️", + "description": "man genie", + "category": "People & Body", + "aliases": [ + "a genie emoji", + "genie man", + "man genie", + "man", + "genie", + "male", + "genie emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 54, + 133, + 152 + ] + }, + { + "emoji": "🧞‍♀️", + "description": "woman genie", + "category": "People & Body", + "aliases": [ + "woman", + "a genie emoji", + "woman genie", + "genie woman", + "female", + "genie", + "genie emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 156, + 58, + 118 + ] + }, + { + "emoji": "🧟", + "description": "zombie", + "category": "People & Body", + "aliases": [ + "zombies", + "dead", + "zombie", + "a zombie", + "undead", + "walking dead" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 95, + 103, + 91 + ] + }, + { + "emoji": "🧟‍♂️", + "description": "man zombie", + "category": "People & Body", + "aliases": [ + "dracula", + "man zombie", + "zombie", + "undead", + "zombie emoji", + "a zombie emoji", + "zombie man", + "man", + "male", + "walking dead" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 100, + 109, + 96 + ] + }, + { + "emoji": "🧟‍♀️", + "description": "woman zombie", + "category": "People & Body", + "aliases": [ + "zombie", + "woman", + "woman zombie", + "zombie woman", + "undead", + "zombie emoji", + "a zombie emoji", + "female", + "walking dead" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 87, + 95, + 84 + ] + }, + { + "emoji": "💆", + "description": "person getting", + "category": "People & Body", + "aliases": [ + "person", + "a person getting a massage", + "spa", + "face", + "getting", + "massage", + "people getting massages", + "person getting massage", + "salon", + "relax" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 220, + 170, + 54 + ] + }, + { + "emoji": "💆‍♂️", + "description": "man getting", + "category": "People & Body", + "aliases": [ + "a person getting a massage", + "boy", + "man getting massage", + "spa", + "man", + "massage man", + "getting", + "massage", + "male", + "people getting massages", + "head" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 215, + 171, + 54 + ] + }, + { + "emoji": "💆‍♀️", + "description": "woman getting", + "category": "People & Body", + "aliases": [ + "woman", + "woman getting massage", + "spa", + "girl", + "a massage emoji", + "female", + "massage woman", + "massage emoji", + "getting", + "massage", + "head" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 163, + 44 + ] + }, + { + "emoji": "💇", + "description": "person getting", + "category": "People & Body", + "aliases": [ + "person", + "barber", + "a person getting a haircut", + "people getting haircuts", + "person getting haircut", + "getting", + "hairstyle", + "beauty", + "parlor", + "haircut" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 208, + 172, + 84 + ] + }, + { + "emoji": "💇‍♂️", + "description": "man getting", + "category": "People & Body", + "aliases": [ + "man getting haircut", + "boy", + "haircut man", + "a person getting a haircut", + "people getting haircuts", + "man", + "getting", + "male", + "haircut" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 195, + 163, + 80 + ] + }, + { + "emoji": "💇‍♀️", + "description": "woman getting", + "category": "People & Body", + "aliases": [ + "woman", + "girl", + "a person getting a haircut", + "people getting haircuts", + "female", + "getting", + "woman getting haircut", + "haircut", + "haircut woman" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 202, + 152, + 66 + ] + }, + { + "emoji": "🚶", + "description": "pedestrian", + "category": "People & Body", + "aliases": [ + "person", + "a pedestrian emoji", + "hike", + "walking", + "person walking", + "pedestrian emoji", + "move", + "walk" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 140, + 126, + 111 + ] + }, + { + "emoji": "🚶‍♂️", + "description": "man pedestrian", + "category": "People & Body", + "aliases": [ + "feet", + "man walking", + "walking man", + "a person walking", + "people walking", + "steps", + "walking", + "man", + "human" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 139, + 91, + 76 + ] + }, + { + "emoji": "🚶‍♀️", + "description": "woman pedestrian", + "category": "People & Body", + "aliases": [ + "feet", + "walking emoji", + "woman", + "walking woman", + "steps", + "walking", + "a walking emoji", + "female", + "woman walking", + "human" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 142, + 101, + 103 + ] + }, + { + "emoji": "🧍", + "description": "person standing", + "category": "People & Body", + "aliases": [ + "person", + "standing", + "people", + "stand", + "still", + "a person", + "standing person", + "person standing" + ], + "unicode": "12.0", + "ios": "13.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 188, + 165, + 113 + ] + }, + { + "emoji": "🧍‍♂️", + "description": "man standing", + "category": "People & Body", + "aliases": [ + "standing", + "standing man", + "still", + "man", + "men", + "man standing", + "a man" + ], + "unicode": "12.0", + "ios": "13.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 181, + 111, + 50 + ] + }, + { + "emoji": "🧍‍♀️", + "description": "woman standing", + "category": "People & Body", + "aliases": [ + "standing", + "woman standing", + "woman", + "standing woman", + "still", + "women", + "a woman" + ], + "unicode": "12.0", + "ios": "13.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 176, + 155, + 81 + ] + }, + { + "emoji": "🧎", + "description": "person kneeling", + "category": "People & Body", + "aliases": [ + "person", + "a person kneeling", + "kneel", + "people kneeling", + "respectful", + "person kneeling", + "kneeling person", + "kneeling", + "pray" + ], + "unicode": "12.0", + "ios": "13.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 170, + 151, + 105 + ] + }, + { + "emoji": "🧎‍♂️", + "description": "man kneeling", + "category": "People & Body", + "aliases": [ + "man kneeling", + "respectful", + "men kneeling", + "man", + "a man kneeling", + "kneeling", + "pray", + "kneeling man" + ], + "unicode": "12.0", + "ios": "13.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 151, + 99, + 69 + ] + }, + { + "emoji": "🧎‍♀️", + "description": "woman kneeling", + "category": "People & Body", + "aliases": [ + "woman", + "kneeling", + "woman kneeling emoji", + "respectful", + "kneeling woman", + "woman kneeling", + "pray", + "a woman kneeling emoji" + ], + "unicode": "12.0", + "ios": "13.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 150, + 108, + 95 + ] + }, + { + "emoji": "🧑‍🦯", + "description": "person with", + "category": "People & Body", + "aliases": [ + "person", + "white cane emoji", + "a white cane emoji", + "accessibility", + "blind", + "cane", + "person with probing cane", + "probing", + "white", + "person with white cane" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 142, + 127, + 107 + ] + }, + { + "emoji": "👨‍🦯", + "description": "man with white", + "category": "People & Body", + "aliases": [ + "a person with a white cane", + "accessibility", + "blind", + "man with white cane", + "cane", + "man", + "probing", + "man with probing cane", + "white", + "people with white canes" + ], + "unicode": "12.0", + "ios": "13.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 141, + 97, + 81 + ] + }, + { + "emoji": "👩‍🦯", + "description": "woman with white", + "category": "People & Body", + "aliases": [ + "white cane emoji", + "a white cane emoji", + "woman with probing cane", + "accessibility", + "woman", + "blind", + "woman with white cane", + "cane", + "probing", + "white" + ], + "unicode": "12.0", + "ios": "13.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 142, + 105, + 102 + ] + }, + { + "emoji": "🧑‍🦼", + "description": "person in motorized", + "category": "People & Body", + "aliases": [ + "person", + "motorized", + "accessibility", + "a wheelchair emoji", + "person in motorized wheelchair", + "disability", + "wheelchair", + "wheelchair emoji" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 110, + 94, + 83 + ] + }, + { + "emoji": "👨‍🦼", + "description": "man in motorized", + "category": "People & Body", + "aliases": [ + "motorized", + "accessibility", + "a wheelchair emoji", + "disability", + "wheelchair", + "wheelchair emoji", + "man in motorized wheelchair", + "man" + ], + "unicode": "12.0", + "ios": "13.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 109, + 81, + 70 + ] + }, + { + "emoji": "👩‍🦼", + "description": "woman in motorized", + "category": "People & Body", + "aliases": [ + "motorized", + "accessibility", + "woman", + "disability", + "wheelchair", + "woman in motorized wheelchair", + "women in wheelchairs", + "a woman in a wheelchair" + ], + "unicode": "12.0", + "ios": "13.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 109, + 83, + 81 + ] + }, + { + "emoji": "🧑‍🦽", + "description": "person in manual", + "category": "People & Body", + "aliases": [ + "person", + "accessibility", + "person in manual wheelchair", + "a wheelchair emoji", + "disability", + "wheelchair", + "wheelchair emoji", + "manual" + ], + "unicode": "12.1", + "ios": "13.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 116, + 107, + 86 + ] + }, + { + "emoji": "👨‍🦽", + "description": "man in manual", + "category": "People & Body", + "aliases": [ + "accessibility", + "a wheelchair emoji", + "man in manual wheelchair", + "disability", + "wheelchair", + "wheelchair emoji", + "manual", + "man" + ], + "unicode": "12.0", + "ios": "13.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 117, + 91, + 72 + ] + }, + { + "emoji": "👩‍🦽", + "description": "woman in manual", + "category": "People & Body", + "aliases": [ + "woman in manual wheelchair", + "accessibility", + "woman", + "a wheelchair emoji", + "disability", + "wheelchair", + "wheelchair emoji", + "manual" + ], + "unicode": "12.0", + "ios": "13.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 116, + 95, + 84 + ] + }, + { + "emoji": "🏃", + "description": "runner", + "category": "People & Body", + "aliases": [ + "person", + "a runner", + "marathon", + "workout", + "running", + "runners", + "exercise", + "person running", + "move", + "runner" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 190, + 163, + 106 + ] + }, + { + "emoji": "🏃‍♂️", + "description": "man runner", + "category": "People & Body", + "aliases": [ + "a runner", + "walking", + "marathon", + "running man", + "running", + "man", + "workout", + "runners", + "exercise", + "man running", + "race" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 185, + 124, + 77 + ] + }, + { + "emoji": "🏃‍♀️", + "description": "woman runner", + "category": "People & Body", + "aliases": [ + "woman running", + "woman", + "a runner emoji", + "walking", + "marathon", + "running", + "female", + "runner emoji", + "workout", + "exercise", + "running woman", + "race" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 184, + 156, + 83 + ] + }, + { + "emoji": "💃", + "description": "woman dancing", + "category": "People & Body", + "aliases": [ + "dance", + "dress", + "woman", + "dancers", + "dancing", + "dancer", + "woman dancing", + "girl", + "female", + "a dancer", + "fun" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 155, + 72, + 29 + ] + }, + { + "emoji": "🕺", + "description": "man dancing", + "category": "People & Body", + "aliases": [ + "dance", + "dancer emoji", + "boy", + "dancing", + "dancer", + "man dancing", + "a dancer emoji", + "man", + "male", + "fun" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 121, + 65, + 99 + ] + }, + { + "emoji": "🕴️", + "description": "man in business", + "category": "People & Body", + "aliases": [ + "business", + "person", + "man in suit levitating emoji", + "business suit levitating", + "levitate", + "levitating", + "a man in suit levitating emoji", + "man", + "hover", + "jump", + "suit", + "person in suit levitating" + ], + "unicode": "7.0", + "ios": "9.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 78, + 67, + 51 + ] + }, + { + "emoji": "👯", + "description": "dancing people", + "category": "People & Body", + "aliases": [ + "partying", + "perform", + "people", + "bunny", + "dancer", + "costume", + "bunny ear", + "people with bunny ears", + "ears", + "people-with-bunny-ears emoji", + "dancers" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 164, + 127, + 38 + ] + }, + { + "emoji": "👯‍♂️", + "description": "dancing men", + "category": "People & Body", + "aliases": [ + "male", + "bunny", + "men with bunny ears emoji", + "men", + "boys", + "dancing men", + "ears", + "men with bunny ears" + ], + "unicode": "6.0", + "ios": "10.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 157, + 120, + 38 + ] + }, + { + "emoji": "👯‍♀️", + "description": "dancing women", + "category": "People & Body", + "aliases": [ + "women with bunny ears emoji", + "bunny", + "dancing women", + "women", + "female", + "women with bunny ears", + "girls", + "ears" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 171, + 131, + 39 + ] + }, + { + "emoji": "🧖", + "description": "person in a", + "category": "People & Body", + "aliases": [ + "person", + "sauna", + "steamy", + "sauna person", + "spa", + "steam room", + "room", + "a person in a sauna", + "people in saunas", + "person in steamy room", + "relax" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 224, + 217, + 179 + ] + }, + { + "emoji": "🧖‍♂️", + "description": "man in a sauna", + "category": "People & Body", + "aliases": [ + "sauna", + "steamy", + "men in saunas", + "spa", + "sauna man", + "man", + "room", + "steamroom", + "man in steamy room", + "male", + "a man in a sauna" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 224, + 218, + 182 + ] + }, + { + "emoji": "🧖‍♀️", + "description": "woman in a sauna", + "category": "People & Body", + "aliases": [ + "sauna", + "steamy", + "woman", + "woman in steamy room", + "spa", + "room", + "female", + "a woman in a sauna", + "steamroom", + "sauna woman", + "women in saunas" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 226, + 224, + 196 + ] + }, + { + "emoji": "🧗", + "description": "rock climber", + "category": "People & Body", + "aliases": [ + "person", + "climbing", + "rock climbers", + "bouldering", + "sport", + "person climbing", + "a rock climber", + "climber" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 143, + 126, + 97 + ] + }, + { + "emoji": "🧗‍♂️", + "description": "man rock climber", + "category": "People & Body", + "aliases": [ + "climbing man", + "climbing", + "rock climbers", + "hobby", + "man climbing", + "bouldering", + "rock", + "man", + "male", + "sports", + "a rock climber" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 145, + 121, + 87 + ] + }, + { + "emoji": "🧗‍♀️", + "description": "woman rock climber", + "category": "People & Body", + "aliases": [ + "a rock climber emoji", + "rock climber emoji", + "woman", + "climbing woman", + "climbing", + "woman climbing", + "hobby", + "bouldering", + "rock", + "female", + "sports" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 147, + 124, + 91 + ] + }, + { + "emoji": "🤺", + "description": "fencer", + "category": "People & Body", + "aliases": [ + "person", + "fencer emoji", + "sword", + "fencer", + "fencing", + "a fencer emoji", + "sports", + "person fencing" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 165, + 159, + 153 + ] + }, + { + "emoji": "🏇", + "description": "jockey on racing", + "category": "People & Body", + "aliases": [ + "horse racing", + "racing", + "animal", + "betting", + "jockeys on race horses", + "a jockey on race horse", + "jockey", + "horse", + "gambling", + "luck", + "racehorse", + "competition" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 95, + 75, + 60 + ] + }, + { + "emoji": "⛷️", + "description": "skier", + "category": "People & Body", + "aliases": [ + "a skier emoji", + "snow", + "skier", + "skier emoji", + "sports", + "winter" + ], + "unicode": "5.2", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 129, + 134, + 125 + ] + }, + { + "emoji": "🏂", + "description": "snowboarder", + "category": "People & Body", + "aliases": [ + "snowboarders", + "snowboarder", + "ski", + "snowboard", + "snow", + "a snowboarder", + "sports", + "winter" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 125, + 107, + 98 + ] + }, + { + "emoji": "🏌️", + "description": "golfer", + "category": "People & Body", + "aliases": [ + "person", + "business", + "golfing", + "golfers", + "a golfer", + "person golfing", + "sports" + ], + "unicode": "7.0", + "ios": "9.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 156, + 144, + 108 + ] + }, + { + "emoji": "🏌️‍♂️", + "description": "man golfer", + "category": "People & Body", + "aliases": [ + "a golfer emoji", + "golfing", + "golfer emoji", + "man", + "golfing man", + "man golfing", + "sport" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 117, + 129, + 118 + ] + }, + { + "emoji": "🏌️‍♀️", + "description": "woman golfer", + "category": "People & Body", + "aliases": [ + "business", + "golfing", + "golfers", + "woman", + "a golfer", + "woman golfing", + "female", + "golfing woman", + "sports" + ], + "unicode": "", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 179, + 133, + 76 + ] + }, + { + "emoji": "🏄", + "description": "surfer", + "category": "People & Body", + "aliases": [ + "person", + "sea", + "surfers", + "surfing", + "person surfing", + "a surfer", + "sport", + "surfer" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 158, + 73 + ] + }, + { + "emoji": "🏄‍♂️", + "description": "man surfer", + "category": "People & Body", + "aliases": [ + "sea", + "beach", + "surfing man", + "summer", + "ocean", + "man surfing", + "surfers", + "surfing", + "man", + "a surfer", + "sports" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 106, + 161, + 109 + ] + }, + { + "emoji": "🏄‍♀️", + "description": "woman surfer", + "category": "People & Body", + "aliases": [ + "woman surfing", + "sea", + "beach", + "surfing woman", + "woman", + "summer", + "ocean", + "surfers", + "surfing", + "female", + "a surfer", + "sports" + ], + "unicode": "7.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 198, + 150, + 100 + ] + }, + { + "emoji": "🚣", + "description": "person rowing", + "category": "People & Body", + "aliases": [ + "person", + "boat", + "person rowing boat", + "a rower emoji", + "rowboat", + "rowing", + "rower emoji", + "move", + "sport" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 205, + 105, + 70 + ] + }, + { + "emoji": "🚣‍♂️", + "description": "man rowing boat", + "category": "People & Body", + "aliases": [ + "water", + "rowing man", + "boat", + "man rowing boat", + "ship", + "a rower", + "rowing", + "hobby", + "man", + "sports", + "rowers" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 199, + 105, + 72 + ] + }, + { + "emoji": "🚣‍♀️", + "description": "woman rowing", + "category": "People & Body", + "aliases": [ + "water", + "woman", + "boat", + "ship", + "woman rowing boat", + "a rower emoji", + "rowing", + "hobby", + "female", + "rowing woman", + "rower emoji", + "sports" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 200, + 106, + 74 + ] + }, + { + "emoji": "🏊", + "description": "swimmer", + "category": "People & Body", + "aliases": [ + "person", + "swimming", + "swimmers", + "pool", + "person swimming", + "swimmer", + "swim", + "a swimmer", + "sport" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 193, + 196, + 178 + ] + }, + { + "emoji": "🏊‍♂️", + "description": "man swimmer", + "category": "People & Body", + "aliases": [ + "water", + "swimming", + "summer", + "swimmers", + "man swimming", + "man", + "athlete", + "swimming man", + "exercise", + "a swimmer", + "sports", + "human" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 200, + 153 + ] + }, + { + "emoji": "🏊‍♀️", + "description": "woman swimmer", + "category": "People & Body", + "aliases": [ + "water", + "a swimmer emoji", + "swimming", + "woman", + "summer", + "swimmer emoji", + "woman swimming", + "swimming woman", + "athlete", + "female", + "exercise", + "sports", + "human" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 190, + 174, + 156 + ] + }, + { + "emoji": "⛹️", + "description": "basketball player", + "category": "People & Body", + "aliases": [ + "person", + "bouncing", + "human", + "person bouncing ball", + "basketball player emoji", + "bouncing ball person", + "sports", + "a basketball player emoji", + "basketball", + "ball" + ], + "unicode": "5.2", + "ios": "9.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 192, + 161, + 98 + ] + }, + { + "emoji": "⛹️‍♂️", + "description": "man basketball", + "category": "People & Body", + "aliases": [ + "basketball man", + "bouncing", + "bouncing ball man", + "man bouncing ball", + "a basketball player", + "man", + "basketball players", + "sport", + "ball" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 149, + 139, + 94 + ] + }, + { + "emoji": "⛹️‍♀️", + "description": "woman basketball", + "category": "People & Body", + "aliases": [ + "bouncing ball woman", + "woman", + "basketball woman", + "bouncing", + "human", + "a basketball player", + "female", + "basketball players", + "sports", + "woman bouncing ball", + "ball" + ], + "unicode": "7.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 197, + 130, + 61 + ] + }, + { + "emoji": "🏋️", + "description": "weightlifter", + "category": "People & Body", + "aliases": [ + "person", + "a weightlifter", + "person lifting weights", + "weightlifters", + "weight lifting", + "training", + "gym", + "workout", + "exercise", + "sports", + "lifting", + "weights" + ], + "unicode": "7.0", + "ios": "9.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 140, + 124, + 83 + ] + }, + { + "emoji": "🏋️‍♂️", + "description": "man weightlifter", + "category": "People & Body", + "aliases": [ + "lifting", + "a weightlifter emoji", + "man", + "man lifting weights", + "gym", + "workout", + "weightlifter emoji", + "weight lifting man", + "sport", + "weights" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 131, + 97, + 60 + ] + }, + { + "emoji": "🏋️‍♀️", + "description": "woman weightlifter", + "category": "People & Body", + "aliases": [ + "woman lifting weights", + "woman", + "a weightlifter emoji", + "weight lifting woman", + "sports", + "training", + "female", + "gym", + "workout", + "exercise", + "weightlifter emoji", + "lifting", + "weights" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 134, + 101, + 76 + ] + }, + { + "emoji": "🚴", + "description": "cyclist", + "category": "People & Body", + "aliases": [ + "person biking", + "person", + "cyclist", + "bicycle", + "a cyclist emoji", + "biking", + "cyclist emoji", + "bicyclist", + "move", + "sport" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [ + "🚲", + "🚴", + "🚵" + ], + "rgb": [ + 115, + 106, + 82 + ] + }, + { + "emoji": "🚴‍♂️", + "description": "man cyclist", + "category": "People & Body", + "aliases": [ + "bike", + "biking man", + "a cyclist emoji", + "man biking", + "man", + "exercise", + "cyclist emoji", + "sports", + "hipster", + "biking" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 89, + 90, + 84 + ] + }, + { + "emoji": "🚴‍♀️", + "description": "woman cyclist", + "category": "People & Body", + "aliases": [ + "woman", + "bike", + "a cyclist emoji", + "cyclist emoji", + "female", + "exercise", + "biking woman", + "sports", + "woman biking", + "hipster", + "biking" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 108, + 76, + 65 + ] + }, + { + "emoji": "🚵", + "description": "mountain biker", + "category": "People & Body", + "aliases": [ + "person", + "cyclist", + "mountain", + "bike", + "bicycle", + "mountain biker emoji", + "biking", + "mountain bicyclist", + "person mountain biking", + "a mountain biker emoji", + "bicyclist", + "move", + "sport" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [ + "🚲", + "🚴", + "🚵" + ], + "rgb": [ + 146, + 137, + 118 + ] + }, + { + "emoji": "🚵‍♂️", + "description": "man mountain", + "category": "People & Body", + "aliases": [ + "transportation", + "mountain", + "a mountain biker", + "bike", + "mountain biking man", + "man", + "man mountain biking", + "mountain bikers", + "sports", + "race", + "biking", + "human" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 137, + 136, + 124 + ] + }, + { + "emoji": "🚵‍♀️", + "description": "woman mountain", + "category": "People & Body", + "aliases": [ + "transportation", + "mountain", + "woman", + "bike", + "mountain biker emoji", + "mountain biking woman", + "woman mountain biking", + "female", + "a mountain biker emoji", + "sports", + "race", + "biking", + "human" + ], + "unicode": "6.0", + "ios": "10.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 151, + 120, + 102 + ] + }, + { + "emoji": "🤸", + "description": "person doing", + "category": "People & Body", + "aliases": [ + "person", + "cartwheel emoji", + "gymnastic", + "gymnastics", + "cartwheeling", + "a cartwheel emoji", + "person cartwheeling", + "sport", + "cartwheel" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 205, + 174, + 101 + ] + }, + { + "emoji": "🤸‍♂️", + "description": "man doing a", + "category": "People & Body", + "aliases": [ + "cartwheel emoji", + "gymnastics", + "cartwheeling", + "man", + "man cartwheeling", + "a cartwheel emoji" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 162, + 157, + 91 + ] + }, + { + "emoji": "🤸‍♀️", + "description": "woman doing", + "category": "People & Body", + "aliases": [ + "woman", + "gymnastics", + "cartwheeling", + "a person doing a cartwheel", + "people doing cartwheels", + "woman cartwheeling" + ], + "unicode": "", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 177, + 157, + 81 + ] + }, + { + "emoji": "🤼", + "description": "people wrestling", + "category": "People & Body", + "aliases": [ + "wrestling", + "wrestling emoji", + "people wrestling", + "people", + "wrestler", + "wrestle", + "a wrestling emoji", + "sport" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 180, + 133, + 53 + ] + }, + { + "emoji": "🤼‍♂️", + "description": "men wrestling", + "category": "People & Body", + "aliases": [ + "wrestling", + "wrestlers", + "men wrestling", + "men", + "sports", + "a wrestler" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 162, + 119, + 58 + ] + }, + { + "emoji": "🤼‍♀️", + "description": "women wrestling", + "category": "People & Body", + "aliases": [ + "wrestling", + "wrestling emoji", + "wrestlers", + "women", + "women wrestling", + "sports" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 163, + 124, + 68 + ] + }, + { + "emoji": "🤽", + "description": "person playing", + "category": "People & Body", + "aliases": [ + "person", + "person playing water polo", + "water", + "playing", + "polo", + "a water polo player emoji", + "water polo", + "sport", + "water polo player emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 194, + 164, + 101 + ] + }, + { + "emoji": "🤽‍♂️", + "description": "man playing", + "category": "People & Body", + "aliases": [ + "water", + "polo", + "pool", + "man playing water polo", + "man", + "a water polo player", + "water polo players", + "sports", + "playing" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 212, + 168, + 74 + ] + }, + { + "emoji": "🤽‍♀️", + "description": "woman playing", + "category": "People & Body", + "aliases": [ + "water", + "woman", + "polo", + "a water polo player emoji", + "pool", + "woman playing water polo", + "sports", + "playing", + "water polo player emoji" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 201, + 134, + 95 + ] + }, + { + "emoji": "🤾", + "description": "person playing", + "category": "People & Body", + "aliases": [ + "person", + "handball person", + "handball player emoji", + "person playing handball", + "a handball player emoji", + "playing", + "handball", + "sport", + "ball" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 188, + 169, + 124 + ] + }, + { + "emoji": "🤾‍♂️", + "description": "man playing", + "category": "People & Body", + "aliases": [ + "handball player emoji", + "a handball player emoji", + "man", + "man playing handball", + "handball", + "sports", + "playing" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 174, + 134, + 90 + ] + }, + { + "emoji": "🤾‍♀️", + "description": "woman playing", + "category": "People & Body", + "aliases": [ + "woman", + "handball players", + "woman playing handball", + "a handball player", + "handball", + "sports", + "playing" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 169, + 156, + 109 + ] + }, + { + "emoji": "🤹", + "description": "person juggling", + "category": "People & Body", + "aliases": [ + "person", + "juggle", + "balance", + "juggling", + "multitask", + "performance", + "juggler emoji", + "juggling person", + "a juggler emoji", + "person juggling", + "skill" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 156, + 135, + 77 + ] + }, + { + "emoji": "🤹‍♂️", + "description": "man juggling", + "category": "People & Body", + "aliases": [ + "juggle", + "balance", + "juggling", + "multitask", + "man", + "juggler emoji", + "a juggler emoji", + "man juggling", + "skill" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 155, + 139, + 76 + ] + }, + { + "emoji": "🤹‍♀️", + "description": "woman juggling", + "category": "People & Body", + "aliases": [ + "juggle", + "balance", + "woman juggling", + "woman", + "juggling", + "multitask", + "juggler emoji", + "a juggler emoji", + "skill" + ], + "unicode": "9.0", + "ios": "10.2", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 159, + 135, + 76 + ] + }, + { + "emoji": "🧘", + "description": "person in lotus", + "category": "People & Body", + "aliases": [ + "person", + "position", + "a lotus position", + "lotus", + "meditation", + "meditate", + "yoga", + "lotus position", + "person in lotus position", + "lotus positions" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 215, + 171, + 72 + ] + }, + { + "emoji": "🧘‍♂️", + "description": "man in lotus", + "category": "People & Body", + "aliases": [ + "serenity", + "position", + "lotus position man", + "a lotus position", + "mindfulness", + "lotus", + "meditation", + "man in lotus position", + "zen", + "yoga", + "man", + "male", + "lotus positions" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 223, + 153, + 36 + ] + }, + { + "emoji": "🧘‍♀️", + "description": "woman in lotus", + "category": "People & Body", + "aliases": [ + "serenity", + "lotus position woman", + "position", + "woman", + "a lotus position", + "mindfulness", + "woman in lotus position", + "lotus", + "meditation", + "zen", + "yoga", + "female", + "lotus positions" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 215, + 151, + 61 + ] + }, + { + "emoji": "🛀", + "description": "person taking", + "category": "People & Body", + "aliases": [ + "person", + "a person taking a bath", + "taking", + "bath", + "person taking bath", + "shower", + "bathtub", + "bathroom", + "clean", + "people taking baths" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 192, + 196, + 183 + ] + }, + { + "emoji": "🛌", + "description": "person sleeping", + "category": "People & Body", + "aliases": [ + "person", + "rest", + "hotel", + "person in bed", + "good night", + "bed", + "sleeping bed", + "a bed", + "beds", + "sleep" + ], + "unicode": "7.0", + "ios": "9.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 151, + 138, + 135 + ] + }, + { + "emoji": "🧑‍🤝‍🧑", + "description": "people holding", + "category": "People & Body", + "aliases": [ + "person", + "hand", + "people holding hands", + "two people holding hands", + "date", + "pairs of people holding hands", + "people", + "holding", + "couple", + "friendship", + "holding hands", + "hold", + "hands" + ], + "unicode": "12.0", + "ios": "13.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 181, + 159, + 111 + ] + }, + { + "emoji": "👭", + "description": "two women holding", + "category": "People & Body", + "aliases": [ + "pairs of people holding hands", + "hand", + "like", + "two women holding hands", + "date", + "two people holding hands", + "people", + "holding", + "pair", + "couple", + "friendship", + "holding hands", + "women", + "female", + "hands", + "love", + "women holding hands", + "human" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 194, + 142, + 65 + ] + }, + { + "emoji": "👫", + "description": "man and woman", + "category": "People & Body", + "aliases": [ + "like", + "woman", + "love", + "human", + "pairs of people holding hands", + "hand", + "two people holding hands", + "date", + "dating", + "affection", + "hold", + "valentines", + "pair", + "man", + "marriage", + "hands", + "holding", + "people", + "couple", + "holding hands", + "woman and man holding hands" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 176, + 132, + 67 + ] + }, + { + "emoji": "👬", + "description": "two men holding", + "category": "People & Body", + "aliases": [ + "like", + "bromance", + "love", + "human", + "pairs of people holding hands", + "two people holding hands", + "date", + "men", + "Gemini", + "pair", + "friendship", + "man", + "hands", + "two men holding hands", + "holding", + "people", + "couple", + "holding hands", + "men holding hands", + "zodiac", + "twins" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 158, + 120, + 69 + ] + }, + { + "emoji": "💏", + "description": "couple kissing", + "category": "People & Body", + "aliases": [ + "like", + "dating", + "couples kissing", + "pair", + "kiss", + "couple", + "marriage", + "valentines", + "couplekiss", + "love", + "a couple kissing" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 237, + 164, + 94 + ] + }, + { + "emoji": "👩‍❤️‍💋‍👨", + "description": "man and woman", + "category": "People & Body", + "aliases": [ + "woman", + "couple-kissing emoji", + "couplekiss man woman", + "kiss", + "a couple-kissing emoji", + "man", + "love", + "kiss woman, man" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 234, + 161, + 85 + ] + }, + { + "emoji": "👨‍❤️‍💋‍👨", + "description": "two men kissing", + "category": "People & Body", + "aliases": [ + "like", + "couple-kissing emoji", + "dating", + "pair", + "kiss", + "couplekiss man man", + "a couple-kissing emoji", + "marriage", + "man", + "valentines", + "kiss man, man", + "love" + ], + "unicode": "6.0", + "ios": "8.3", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 241, + 166, + 90 + ] + }, + { + "emoji": "👩‍❤️‍💋‍👩", + "description": "two women kissing", + "category": "People & Body", + "aliases": [ + "like", + "kiss woman, woman", + "woman", + "couple-kissing emoji", + "dating", + "pair", + "kiss", + "a couple-kissing emoji", + "marriage", + "valentines", + "couplekiss woman woman", + "love" + ], + "unicode": "6.0", + "ios": "8.3", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 228, + 155, + 81 + ] + }, + { + "emoji": "💑", + "description": "couple with", + "category": "People & Body", + "aliases": [ + "like", + "couple with heart", + "dating", + "pair", + "couple-with-heart emoji", + "couple", + "a couple-with-heart emoji", + "affection", + "marriage", + "valentines", + "love", + "heart", + "human" + ], + "unicode": "6.0", + "ios": "6.0", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 228, + 156, + 93 + ] + }, + { + "emoji": "👩‍❤️‍👨", + "description": "man and woman", + "category": "People & Body", + "aliases": [ + "a couple with heart", + "couple with heart woman, man", + "woman", + "couples with hearts emoji", + "couple", + "man", + "couple with heart woman man", + "love", + "heart" + ], + "unicode": "11.0", + "ios": "12.1", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 225, + 155, + 85 + ] + }, + { + "emoji": "👨‍❤️‍👨", + "description": "two men with", + "category": "People & Body", + "aliases": [ + "like", + "dating", + "couple with heart man man", + "pair", + "couple-with-heart emoji", + "couple", + "a couple-with-heart emoji", + "affection", + "marriage", + "man", + "valentines", + "love", + "heart", + "couple with heart man, man", + "human" + ], + "unicode": "6.0", + "ios": "8.3", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 226, + 156, + 89 + ] + }, + { + "emoji": "👩‍❤️‍👩", + "description": "two women with", + "category": "People & Body", + "aliases": [ + "like", + "a couple with heart", + "woman", + "dating", + "pair", + "couple", + "affection", + "marriage", + "valentines", + "couples with hearts", + "couple with heart woman, woman", + "couple with heart woman woman", + "love", + "heart", + "human" + ], + "unicode": "6.0", + "ios": "8.3", + "skin_tones": true, + "sentiment": "neutral", + "related": [], + "rgb": [ + 220, + 149, + 80 + ] + }, + { + "emoji": "👪", + "description": "family", + "category": "People & Body", + "aliases": [ + "parents", + "dad", + "families", + "people", + "mother", + "child", + "mom", + "a family", + "home", + "father", + "family", + "human" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 197, + 170, + 102 + ] + }, + { + "emoji": "👨‍👩‍👦", + "description": "family with", + "category": "People & Body", + "aliases": [ + "family man woman boy", + "boy", + "woman", + "families", + "man", + "family man, woman, boy", + "a family", + "love", + "family" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 178, + 115, + 65 + ] + }, + { + "emoji": "👨‍👩‍👧", + "description": "family with", + "category": "People & Body", + "aliases": [ + "parents", + "woman", + "families", + "people", + "family man, woman, girl", + "girl", + "child", + "family man woman girl", + "man", + "a family", + "home", + "family", + "human" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 182, + 119, + 65 + ] + }, + { + "emoji": "👨‍👩‍👧‍👦", + "description": "family with", + "category": "People & Body", + "aliases": [ + "parents", + "boy", + "woman", + "families", + "people", + "children", + "girl", + "family man woman girl boy", + "man", + "a family", + "home", + "family man, woman, girl, boy", + "family", + "human" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 193, + 141, + 58 + ] + }, + { + "emoji": "👨‍👩‍👦‍👦", + "description": "family with", + "category": "People & Body", + "aliases": [ + "parents", + "boy", + "woman", + "families", + "people", + "children", + "man", + "a family", + "home", + "family man woman boy boy", + "family man, woman, boy, boy", + "family", + "human" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 188, + 137, + 59 + ] + }, + { + "emoji": "👨‍👩‍👧‍👧", + "description": "family with", + "category": "People & Body", + "aliases": [ + "parents", + "a family emoji", + "family man woman girl girl", + "woman", + "family man, woman, girl, girl", + "people", + "children", + "girl", + "man", + "family emoji", + "home", + "family", + "human" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 196, + 144, + 58 + ] + }, + { + "emoji": "👨‍👨‍👦", + "description": "family with", + "category": "People & Body", + "aliases": [ + "parents", + "boy", + "families", + "people", + "family man, man, boy", + "children", + "man", + "a family", + "home", + "family man man boy", + "family", + "human" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 142, + 131, + 103 + ] + }, + { + "emoji": "👨‍👨‍👧", + "description": "family with", + "category": "People & Body", + "aliases": [ + "parents", + "a family emoji", + "family man, man, girl", + "people", + "children", + "girl", + "family man man girl", + "man", + "family emoji", + "home", + "family", + "human" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 148, + 134, + 101 + ] + }, + { + "emoji": "👨‍👨‍👧‍👦", + "description": "family with", + "category": "People & Body", + "aliases": [ + "parents", + "family man, man, girl, boy", + "boy", + "families", + "people", + "children", + "girl", + "man", + "family man man girl boy", + "a family", + "home", + "family", + "human" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 177, + 148, + 76 + ] + }, + { + "emoji": "👨‍👨‍👦‍👦", + "description": "family with", + "category": "People & Body", + "aliases": [ + "parents", + "boy", + "family man man boy boy", + "families", + "people", + "children", + "man", + "a family", + "home", + "family man, man, boy, boy", + "family", + "human" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 172, + 145, + 77 + ] + }, + { + "emoji": "👨‍👨‍👧‍👧", + "description": "family with", + "category": "People & Body", + "aliases": [ + "parents", + "families", + "people", + "family man man girl girl", + "children", + "girl", + "man", + "a family", + "home", + "family man, man, girl, girl", + "family", + "human" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 183, + 151, + 74 + ] + }, + { + "emoji": "👩‍👩‍👦", + "description": "family with", + "category": "People & Body", + "aliases": [ + "parents", + "boy", + "woman", + "families", + "people", + "children", + "family woman woman boy", + "a family", + "home", + "family woman, woman, boy", + "family", + "human" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 210, + 127, + 44 + ] + }, + { + "emoji": "👩‍👩‍👧", + "description": "family with", + "category": "People & Body", + "aliases": [ + "parents", + "family woman woman girl", + "woman", + "families", + "people", + "children", + "girl", + "family woman, woman, girl", + "a family", + "home", + "family", + "human" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 212, + 130, + 45 + ] + }, + { + "emoji": "👩‍👩‍👧‍👦", + "description": "family with", + "category": "People & Body", + "aliases": [ + "parents", + "boy", + "woman", + "families", + "people", + "children", + "girl", + "a family", + "family woman, woman, girl, boy", + "home", + "family woman woman girl boy", + "family", + "human" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 209, + 145, + 49 + ] + }, + { + "emoji": "👩‍👩‍👦‍👦", + "description": "family with", + "category": "People & Body", + "aliases": [ + "parents", + "a family emoji", + "family woman, woman, boy, boy", + "we", + "boy", + "woman", + "people", + "family woman woman boy boy", + "children", + "they", + "family emoji", + "home", + "family", + "human" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 208, + 142, + 48 + ] + }, + { + "emoji": "👩‍👩‍👧‍👧", + "description": "family with", + "category": "People & Body", + "aliases": [ + "parents", + "family woman woman girl girl", + "woman", + "families", + "people", + "children", + "girl", + "family woman, woman, girl, girl", + "a family", + "home", + "family", + "human" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 211, + 147, + 50 + ] + }, + { + "emoji": "👨‍👦", + "description": "family with", + "category": "People & Body", + "aliases": [ + "a family emoji", + "boy", + "people", + "parent", + "child", + "family man boy", + "man", + "family emoji", + "family man, boy", + "home", + "family", + "human" + ], + "unicode": "6.0", + "ios": "10.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 160, + 127, + 87 + ] + }, + { + "emoji": "👨‍👦‍👦", + "description": "family with", + "category": "People & Body", + "aliases": [ + "boy", + "families", + "people", + "family man, boy, boy", + "children", + "parent", + "man", + "family man boy boy", + "a family", + "home", + "family", + "human" + ], + "unicode": "6.0", + "ios": "10.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 189, + 150, + 75 + ] + }, + { + "emoji": "👨‍👧", + "description": "family with", + "category": "People & Body", + "aliases": [ + "family man, girl", + "a family emoji", + "people", + "girl", + "parent", + "child", + "family man girl", + "man", + "family emoji", + "home", + "family", + "human" + ], + "unicode": "6.0", + "ios": "10.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 171, + 134, + 84 + ] + }, + { + "emoji": "👨‍👧‍👦", + "description": "family with", + "category": "People & Body", + "aliases": [ + "a family emoji", + "family man girl boy", + "boy", + "people", + "children", + "girl", + "parent", + "family man, girl, boy", + "man", + "family emoji", + "home", + "family", + "human" + ], + "unicode": "6.0", + "ios": "10.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 194, + 154, + 74 + ] + }, + { + "emoji": "👨‍👧‍👧", + "description": "family with", + "category": "People & Body", + "aliases": [ + "a family emoji", + "people", + "children", + "girl", + "parent", + "man", + "family emoji", + "home", + "family man, girl, girl", + "family man girl girl", + "family", + "human" + ], + "unicode": "6.0", + "ios": "10.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 200, + 157, + 72 + ] + }, + { + "emoji": "👩‍👦", + "description": "family with", + "category": "People & Body", + "aliases": [ + "family woman boy", + "boy", + "woman", + "families", + "people", + "parent", + "child", + "family woman, boy", + "a family", + "home", + "family", + "human" + ], + "unicode": "6.0", + "ios": "10.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 207, + 129, + 49 + ] + }, + { + "emoji": "👩‍👦‍👦", + "description": "family with", + "category": "People & Body", + "aliases": [ + "a family emoji", + "boy", + "woman", + "family woman, boy, boy", + "people", + "children", + "parent", + "family emoji", + "home", + "family woman boy boy", + "family", + "human" + ], + "unicode": "6.0", + "ios": "10.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 213, + 150, + 53 + ] + }, + { + "emoji": "👩‍👧", + "description": "family with", + "category": "People & Body", + "aliases": [ + "a family emoji", + "woman", + "people", + "girl", + "parent", + "child", + "family woman girl", + "family woman, girl", + "home", + "family emoji", + "family", + "human" + ], + "unicode": "6.0", + "ios": "10.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 210, + 136, + 50 + ] + }, + { + "emoji": "👩‍👧‍👦", + "description": "family with", + "category": "People & Body", + "aliases": [ + "a family emoji", + "family woman girl boy", + "family woman, girl, boy", + "boy", + "woman", + "people", + "children", + "girl", + "parent", + "family emoji", + "home", + "family", + "human" + ], + "unicode": "6.0", + "ios": "10.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 215, + 154, + 54 + ] + }, + { + "emoji": "👩‍👧‍👧", + "description": "family with", + "category": "People & Body", + "aliases": [ + "a family emoji", + "woman", + "family woman, girl, girl", + "people", + "children", + "girl", + "parent", + "family emoji", + "home", + "family woman girl girl", + "family", + "human" + ], + "unicode": "6.0", + "ios": "10.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 156, + 55 + ] + }, + { + "emoji": "🗣️", + "description": "speaking silhouette", + "category": "People & Body", + "aliases": [ + "person", + "sing", + "speaking head emoji", + "say", + "talk", + "speaking head", + "user", + "a speaking head emoji", + "speaking", + "tell", + "head", + "human" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 96, + 131, + 164 + ] + }, + { + "emoji": "👤", + "description": "silhouette of", + "category": "People & Body", + "aliases": [ + "person", + "silhouette", + "bust in silhouette", + "bust", + "user", + "people in silhouette", + "a person in silhouette", + "human" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 98, + 136, + 169 + ] + }, + { + "emoji": "👥", + "description": "silhouette of", + "category": "People & Body", + "aliases": [ + "person", + "busts in silhouette", + "people in silhouette emoji", + "silhouette", + "human", + "busts", + "group", + "bust", + "people in silhouette", + "users", + "team", + "user" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 99, + 138, + 171 + ] + }, + { + "emoji": "🫂", + "description": "people hugging", + "category": "People & Body", + "aliases": [ + "goodbye", + "hello", + "hugging", + "people", + "people hugging emoji", + "people hugging", + "a people hugging emoji", + "thanks", + "care", + "hug" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 95, + 134, + 167 + ] + }, + { + "emoji": "👣", + "description": "footprints", + "category": "People & Body", + "aliases": [ + "feet", + "beach", + "footprint", + "clothing", + "walking", + "print", + "tracking", + "tracks", + "footprints" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 70, + 70, + 70 + ] + }, + { + "emoji": "🐵", + "description": "monkey face", + "category": "Animals & Nature", + "aliases": [ + "circus", + "monkeys", + "monkey", + "animal", + "face", + "nature", + "a monkey", + "monkey face" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐵", + "🐒" + ], + "rgb": [ + 183, + 151, + 110 + ] + }, + { + "emoji": "🐒", + "description": "monkey", + "category": "Animals & Nature", + "aliases": [ + "circus", + "monkeys", + "monkey", + "animal", + "banana", + "nature", + "a monkey" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐵", + "🐒" + ], + "rgb": [ + 170, + 133, + 87 + ] + }, + { + "emoji": "🦍", + "description": "gorilla", + "category": "Animals & Nature", + "aliases": [ + "circus", + "gorilla emoji", + "a gorilla emoji", + "animal", + "nature", + "gorilla" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 105, + 103, + 103 + ] + }, + { + "emoji": "🦧", + "description": "orangutan", + "category": "Animals & Nature", + "aliases": [ + "an orangutan emoji", + "orangutan emoji", + "orangutan", + "animal", + "ape" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 152, + 75, + 39 + ] + }, + { + "emoji": "🐶", + "description": "dog face", + "category": "Animals & Nature", + "aliases": [ + "puppy", + "dog face", + "dog", + "woof", + "pet", + "dogs", + "animal", + "face", + "nature", + "a dog", + "friend", + "faithful" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐕", + "🐩", + "🐶" + ], + "rgb": [ + 191, + 166, + 136 + ] + }, + { + "emoji": "🐕", + "description": "dog", + "category": "Animals & Nature", + "aliases": [ + "dog", + "pet", + "dogs", + "animal", + "doge", + "nature", + "a dog", + "friend", + "dog2", + "faithful" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐕", + "🐩", + "🐶" + ], + "rgb": [ + 172, + 126, + 79 + ] + }, + { + "emoji": "🦮", + "description": "guide dog", + "category": "Animals & Nature", + "aliases": [ + "dog", + "accessibility", + "blind", + "a service dog emoji", + "service dog emoji", + "animal", + "guide dog", + "guide" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 182, + 149, + 96 + ] + }, + { + "emoji": "🐕‍🦺", + "description": "service dog", + "category": "Animals & Nature", + "aliases": [ + "service dog", + "dog", + "accessibility", + "blind", + "guide dogs", + "animal", + "service", + "assistance", + "a guide dog" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 55, + 49, + 45 + ] + }, + { + "emoji": "🐩", + "description": "poodle", + "category": "Animals & Nature", + "aliases": [ + "a poodle", + "dog", + "poodles", + "pet", + "poodle", + "animal", + "nature", + "101" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐕", + "🐩", + "🐶" + ], + "rgb": [ + 175, + 176, + 176 + ] + }, + { + "emoji": "🐺", + "description": "wolf", + "category": "Animals & Nature", + "aliases": [ + "wolf", + "a wolf", + "wild", + "animal", + "face", + "nature", + "wolves" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 119, + 118, + 118 + ] + }, + { + "emoji": "🦊", + "description": "fox face", + "category": "Animals & Nature", + "aliases": [ + "a fox emoji", + "fox face", + "animal", + "face", + "nature", + "fox emoji", + "fox" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 196, + 112, + 32 + ] + }, + { + "emoji": "🦝", + "description": "raccoon", + "category": "Animals & Nature", + "aliases": [ + "curious", + "raccoon", + "animal", + "nature", + "sly", + "a raccoon emoji", + "raccoon emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 100, + 88, + 70 + ] + }, + { + "emoji": "🐱", + "description": "cat face", + "category": "Animals & Nature", + "aliases": [ + "cats", + "pet", + "animal", + "face", + "kitten", + "nature", + "meow", + "a cat", + "cat", + "cat face" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐈", + "🐱", + "😺" + ], + "rgb": [ + 218, + 176, + 51 + ] + }, + { + "emoji": "🐈", + "description": "cat", + "category": "Animals & Nature", + "aliases": [ + "cat2", + "cats", + "pet", + "animal", + "meow", + "a cat", + "cat" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐈", + "🐱", + "😺" + ], + "rgb": [ + 195, + 167, + 144 + ] + }, + { + "emoji": "🐈‍⬛", + "description": "black cat", + "category": "Animals & Nature", + "aliases": [ + "black cat emoji", + "superstition", + "unlucky", + "a black cat emoji", + "black", + "black cat", + "luck", + "cat" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 70, + 69, + 69 + ] + }, + { + "emoji": "🦁", + "description": "lion face", + "category": "Animals & Nature", + "aliases": [ + "lion", + "a lion", + "animal", + "face", + "nature", + "Leo", + "lions", + "zodiac" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 199, + 132, + 38 + ] + }, + { + "emoji": "🐯", + "description": "tiger face", + "category": "Animals & Nature", + "aliases": [ + "roar", + "tigers", + "wild", + "animal", + "face", + "tiger face", + "nature", + "tiger", + "cat", + "danger", + "a tiger" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 183, + 158, + 48 + ] + }, + { + "emoji": "🐅", + "description": "tiger", + "category": "Animals & Nature", + "aliases": [ + "roar", + "tigers", + "animal", + "nature", + "tiger", + "tiger2", + "a tiger" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 165, + 116, + 73 + ] + }, + { + "emoji": "🐆", + "description": "leopard", + "category": "Animals & Nature", + "aliases": [ + "a leopard", + "leopard", + "animal", + "nature", + "leopards" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 175, + 139, + 86 + ] + }, + { + "emoji": "🐴", + "description": "horse head", + "category": "Animals & Nature", + "aliases": [ + "horse face", + "brown", + "animal", + "face", + "nature", + "a horse head", + "horse", + "horse heads" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐎", + "🐴" + ], + "rgb": [ + 143, + 126, + 87 + ] + }, + { + "emoji": "🐎", + "description": "horse", + "category": "Animals & Nature", + "aliases": [ + "racing", + "animal", + "speed", + "a horse", + "racehorse", + "horses", + "horse", + "luck", + "gamble", + "equestrian" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐎", + "🐴" + ], + "rgb": [ + 98, + 90, + 59 + ] + }, + { + "emoji": "🦄", + "description": "unicorn", + "category": "Animals & Nature", + "aliases": [ + "a unicorn emoji", + "unicorn", + "animal", + "face", + "unicorn emoji", + "nature", + "mystical" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 193, + 145, + 208 + ] + }, + { + "emoji": "🦓", + "description": "zebra", + "category": "Animals & Nature", + "aliases": [ + "safari", + "stripes", + "a zebra emoji", + "zebra emoji", + "animal", + "zebra", + "nature", + "stripe" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 91, + 87, + 83 + ] + }, + { + "emoji": "🦌", + "description": "deer", + "category": "Animals & Nature", + "aliases": [ + "deer", + "animal", + "nature", + "venison", + "a deer emoji", + "deer emoji", + "horns" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 161, + 125, + 95 + ] + }, + { + "emoji": "🦬", + "description": "bison", + "category": "Animals & Nature", + "aliases": [ + "bison emoji", + "a bison emoji", + "herd", + "bison", + "ox", + "wisent", + "buffalo" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 98, + 80, + 70 + ] + }, + { + "emoji": "🐮", + "description": "cow face", + "category": "Animals & Nature", + "aliases": [ + "beef", + "milk", + "moo", + "cows", + "a cow", + "animal", + "face", + "nature", + "ox", + "cow", + "cow face" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐃", + "🐄", + "🐮" + ], + "rgb": [ + 197, + 183, + 170 + ] + }, + { + "emoji": "🐂", + "description": "ox", + "category": "Animals & Nature", + "aliases": [ + "beef", + "Taurus", + "bull", + "animal", + "an ox", + "ox", + "cow", + "oxen", + "zodiac" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 147, + 103, + 73 + ] + }, + { + "emoji": "🐃", + "description": "water buffalo", + "category": "Animals & Nature", + "aliases": [ + "a water buffalo", + "water", + "water buffalo", + "water buffaloes", + "animal", + "nature", + "ox", + "cow", + "buffalo" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐃", + "🐄", + "🐮" + ], + "rgb": [ + 75, + 66, + 66 + ] + }, + { + "emoji": "🐄", + "description": "cow", + "category": "Animals & Nature", + "aliases": [ + "beef", + "cow2", + "milk", + "moo", + "cows", + "a cow", + "animal", + "nature", + "ox", + "cow" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐃", + "🐄", + "🐮" + ], + "rgb": [ + 140, + 133, + 130 + ] + }, + { + "emoji": "🐷", + "description": "pig face", + "category": "Animals & Nature", + "aliases": [ + "pig", + "pigs", + "a pig", + "oink", + "pig face", + "animal", + "face", + "nature" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐖", + "🐷", + "🐗" + ], + "rgb": [ + 213, + 162, + 152 + ] + }, + { + "emoji": "🐖", + "description": "pig", + "category": "Animals & Nature", + "aliases": [ + "pig", + "pigs", + "a pig", + "pig2", + "animal", + "nature", + "sow" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐖", + "🐷", + "🐗" + ], + "rgb": [ + 221, + 179, + 156 + ] + }, + { + "emoji": "🐗", + "description": "boar", + "category": "Animals & Nature", + "aliases": [ + "pig", + "a boar", + "animal", + "nature", + "boar", + "boars" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐖", + "🐷", + "🐗" + ], + "rgb": [ + 103, + 83, + 70 + ] + }, + { + "emoji": "🐽", + "description": "pig nose", + "category": "Animals & Nature", + "aliases": [ + "pig", + "a pig nose", + "oink", + "nose", + "animal", + "face", + "pig noses", + "pig nose" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 197, + 125, + 141 + ] + }, + { + "emoji": "🐏", + "description": "ram", + "category": "Animals & Nature", + "aliases": [ + "ram", + "rams", + "animal", + "sheep", + "nature", + "Aries", + "male", + "a ram", + "zodiac" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐏", + "🐑" + ], + "rgb": [ + 180, + 174, + 162 + ] + }, + { + "emoji": "🐑", + "description": "sheep", + "category": "Animals & Nature", + "aliases": [ + "a sheep", + "animal", + "wool", + "nature", + "sheep", + "female", + "shipit", + "ewe" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐏", + "🐑" + ], + "rgb": [ + 184, + 182, + 173 + ] + }, + { + "emoji": "🐐", + "description": "goat", + "category": "Animals & Nature", + "aliases": [ + "goat", + "animal", + "a goat", + "nature", + "goats", + "Capricorn", + "zodiac" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 146, + 126, + 102 + ] + }, + { + "emoji": "🐪", + "description": "camel", + "category": "Animals & Nature", + "aliases": [ + "camels", + "dromedary", + "desert", + "a camel", + "hot", + "hump", + "animal", + "camel", + "dromedary camel" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 166, + 117, + 70 + ] + }, + { + "emoji": "🐫", + "description": "two-hump camel", + "category": "Animals & Nature", + "aliases": [ + "a two-hump camel", + "two", + "desert", + "two-hump camels", + "hump", + "hot", + "animal", + "nature", + "camel", + "bactrian", + "two-hump camel" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 174, + 124, + 86 + ] + }, + { + "emoji": "🦙", + "description": "llama", + "category": "Animals & Nature", + "aliases": [ + "guanaco", + "vicuña", + "alpaca", + "a llama emoji", + "animal", + "wool", + "llama emoji", + "nature", + "llama" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 214, + 201, + 167 + ] + }, + { + "emoji": "🦒", + "description": "giraffe", + "category": "Animals & Nature", + "aliases": [ + "safari", + "a giraffe emoji", + "giraffe emoji", + "giraffe", + "animal", + "spots", + "nature" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 184, + 131, + 58 + ] + }, + { + "emoji": "🐘", + "description": "elephant", + "category": "Animals & Nature", + "aliases": [ + "circus", + "elephant", + "th", + "nose", + "animal", + "nature", + "an elephant", + "elephants" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 122, + 124, + 120 + ] + }, + { + "emoji": "🦣", + "description": "mammoth", + "category": "Animals & Nature", + "aliases": [ + "large", + "mammoth emoji", + "woolly", + "elephant", + "extinction", + "mammoth", + "a mammoth emoji", + "tusk", + "tusks" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 121, + 90, + 66 + ] + }, + { + "emoji": "🦏", + "description": "rhinoceros", + "category": "Animals & Nature", + "aliases": [ + "horn", + "a rhinoceros emoji", + "rhinoceros emoji", + "animal", + "nature", + "rhinoceros" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 120, + 116, + 112 + ] + }, + { + "emoji": "🦛", + "description": "hippopotamus", + "category": "Animals & Nature", + "aliases": [ + "hippo emoji", + "a hippo emoji", + "hippo", + "animal", + "nature", + "hippopotamus" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 121, + 120, + 118 + ] + }, + { + "emoji": "🐭", + "description": "mouse face", + "category": "Animals & Nature", + "aliases": [ + "cheese", + "mouse", + "mice", + "animal", + "face", + "nature", + "mouse face", + "wedge", + "rodent", + "a mouse" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 185, + 176, + 184 + ] + }, + { + "emoji": "🐁", + "description": "mouse", + "category": "Animals & Nature", + "aliases": [ + "mouse2", + "mouse", + "mice", + "animal", + "nature", + "rodent", + "a mouse" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 205, + 196, + 196 + ] + }, + { + "emoji": "🐀", + "description": "rat", + "category": "Animals & Nature", + "aliases": [ + "rats", + "mouse", + "animal", + "a rat", + "rat", + "rodent" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 126, + 116, + 107 + ] + }, + { + "emoji": "🐹", + "description": "hamster face", + "category": "Animals & Nature", + "aliases": [ + "a hamster", + "hamster", + "pet", + "animal", + "face", + "hamsters", + "nature" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 215, + 171, + 156 + ] + }, + { + "emoji": "🐰", + "description": "rabbit face", + "category": "Animals & Nature", + "aliases": [ + "spring", + "rabbits", + "bunny", + "pet", + "rabbit", + "happy easter", + "animal", + "face", + "nature", + "magic", + "rabbit face", + "a rabbit" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐇", + "🐰" + ], + "rgb": [ + 192, + 179, + 180 + ] + }, + { + "emoji": "🐇", + "description": "rabbit", + "category": "Animals & Nature", + "aliases": [ + "rabbit2", + "spring", + "rabbits", + "bunny", + "pet", + "rabbit", + "happy easter", + "animal", + "nature", + "magic", + "a rabbit" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐇", + "🐰" + ], + "rgb": [ + 198, + 194, + 195 + ] + }, + { + "emoji": "🐿️", + "description": "chipmunk", + "category": "Animals & Nature", + "aliases": [ + "chipmunks", + "animal", + "squirrel", + "a chipmunk", + "nature", + "chipmunk", + "rodent" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 137, + 94, + 45 + ] + }, + { + "emoji": "🦫", + "description": "beaver", + "category": "Animals & Nature", + "aliases": [ + "beaver", + "beaver emoji", + "animal", + "a beaver emoji", + "rodent", + "dam" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 125, + 94, + 71 + ] + }, + { + "emoji": "🦔", + "description": "hedgehog", + "category": "Animals & Nature", + "aliases": [ + "spiny", + "hedgehog", + "a hedgehog emoji", + "animal", + "nature", + "hedgehog emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 136, + 106, + 81 + ] + }, + { + "emoji": "🦇", + "description": "bat", + "category": "Animals & Nature", + "aliases": [ + "a bat emoji", + "blind", + "bat emoji", + "bat", + "animal", + "nature", + "vampire" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 101, + 80, + 66 + ] + }, + { + "emoji": "🐻", + "description": "bear face", + "category": "Animals & Nature", + "aliases": [ + "bears", + "wild", + "animal", + "face", + "bear", + "nature", + "a bear" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 128, + 89, + 54 + ] + }, + { + "emoji": "🐻‍❄️", + "description": "polar bear", + "category": "Animals & Nature", + "aliases": [ + "polar bear", + "arctic", + "polar bears", + "animal", + "bear", + "polar", + "a polar bear" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 182, + 184, + 186 + ] + }, + { + "emoji": "🐨", + "description": "koala face", + "category": "Animals & Nature", + "aliases": [ + "a koala", + "koalas", + "animal", + "face", + "marsupial", + "koala", + "nature" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 142, + 125, + 120 + ] + }, + { + "emoji": "🐼", + "description": "panda face", + "category": "Animals & Nature", + "aliases": [ + "panda", + "a panda", + "panda face", + "animal", + "face", + "nature", + "pandas" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 170, + 170, + 170 + ] + }, + { + "emoji": "🦥", + "description": "sloth", + "category": "Animals & Nature", + "aliases": [ + "a sloth emoji", + "slow", + "sloth", + "lazy", + "animal", + "sloth emoji" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 95, + 77, + 47 + ] + }, + { + "emoji": "🦦", + "description": "otter", + "category": "Animals & Nature", + "aliases": [ + "an otter emoji", + "otter emoji", + "playful", + "animal", + "fishing", + "otter" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 102, + 81, + 60 + ] + }, + { + "emoji": "🦨", + "description": "skunk", + "category": "Animals & Nature", + "aliases": [ + "stink", + "animal", + "skunk emoji", + "a skunk emoji", + "skunk" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 86, + 82, + 75 + ] + }, + { + "emoji": "🦘", + "description": "kangaroo", + "category": "Animals & Nature", + "aliases": [ + "hop", + "kangaroo emoji", + "australia", + "joey", + "animal", + "marsupial", + "a kangaroo emoji", + "nature", + "jump", + "kangaroo" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 162, + 123, + 80 + ] + }, + { + "emoji": "🦡", + "description": "badger", + "category": "Animals & Nature", + "aliases": [ + "badger emoji", + "a badger emoji", + "honey", + "animal", + "nature", + "badger", + "honey badger", + "pester" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 104, + 99, + 91 + ] + }, + { + "emoji": "🐾", + "description": "paw prints", + "category": "Animals & Nature", + "aliases": [ + "prints", + "feet", + "paw", + "dog", + "pet", + "animal", + "print", + "tracking", + "footprints", + "cat", + "paw prints" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 70, + 70, + 70 + ] + }, + { + "emoji": "🦃", + "description": "turkey", + "category": "Animals & Nature", + "aliases": [ + "bird", + "turkey emoji", + "animal", + "turkey", + "happy thanksgiving", + "a turkey emoji", + "thanksgiving" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 132, + 96, + 88 + ] + }, + { + "emoji": "🐔", + "description": "chicken", + "category": "Animals & Nature", + "aliases": [ + "chickens", + "bird", + "chicken", + "animal", + "nature", + "cluck", + "a chicken" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 216, + 164, + 138 + ] + }, + { + "emoji": "🐓", + "description": "rooster", + "category": "Animals & Nature", + "aliases": [ + "rooster", + "a rooster", + "bird", + "chicken", + "animal", + "roosters", + "nature" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 197, + 173, + 164 + ] + }, + { + "emoji": "🐣", + "description": "hatching chick", + "category": "Animals & Nature", + "aliases": [ + "bird", + "hatching chick", + "chicken", + "happy easter", + "animal", + "baby", + "a hatching chick", + "born", + "chick", + "hatching", + "egg", + "hatching chicks" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 226, + 195, + 115 + ] + }, + { + "emoji": "🐤", + "description": "baby chick", + "category": "Animals & Nature", + "aliases": [ + "a baby chick", + "bird", + "chicken", + "baby chicks", + "animal", + "baby chick", + "baby", + "chick" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 222, + 183, + 54 + ] + }, + { + "emoji": "🐥", + "description": "standing chick", + "category": "Animals & Nature", + "aliases": [ + "front", + "hatched chick", + "front-facing baby chick", + "standing chicks", + "bird", + "chicken", + "facing", + "animal", + "baby", + "chick", + "a standing chick" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 232, + 182, + 51 + ] + }, + { + "emoji": "🐦", + "description": "bird", + "category": "Animals & Nature", + "aliases": [ + "fly", + "birds", + "spring", + "bird", + "tweet", + "a bird", + "animal", + "nature" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 133, + 156, + 157 + ] + }, + { + "emoji": "🐧", + "description": "penguin", + "category": "Animals & Nature", + "aliases": [ + "bird", + "penguins", + "animal", + "nature", + "penguin", + "a penguin" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 115, + 101, + 85 + ] + }, + { + "emoji": "🕊️", + "description": "dove", + "category": "Animals & Nature", + "aliases": [ + "peace", + "a dove", + "bird", + "animal", + "dove", + "doves" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 185, + 187, + 175 + ] + }, + { + "emoji": "🦅", + "description": "eagle", + "category": "Animals & Nature", + "aliases": [ + "bird", + "animal", + "an eagle emoji", + "nature", + "eagle emoji", + "eagle" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 88, + 78, + 70 + ] + }, + { + "emoji": "🦆", + "description": "duck", + "category": "Animals & Nature", + "aliases": [ + "bird", + "duck emoji", + "mallard", + "animal", + "duck", + "nature", + "a duck emoji" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 139, + 128, + 115 + ] + }, + { + "emoji": "🦢", + "description": "swan", + "category": "Animals & Nature", + "aliases": [ + "ugly duckling", + "swan emoji", + "bird", + "a swan emoji", + "swan", + "animal", + "nature", + "cygnet" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 194, + 189, + 170 + ] + }, + { + "emoji": "🦉", + "description": "owl", + "category": "Animals & Nature", + "aliases": [ + "owl", + "bird", + "hoot", + "animal", + "nature", + "an owl emoji", + "owl emoji", + "wise" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 137, + 111, + 91 + ] + }, + { + "emoji": "🦤", + "description": "dodo bird", + "category": "Animals & Nature", + "aliases": [ + "large", + "bird", + "a dodo bird emoji", + "animal", + "Mauritius", + "extinction", + "dodo bird emoji", + "dodo" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 175, + 131, + 93 + ] + }, + { + "emoji": "🪶", + "description": "feather", + "category": "Animals & Nature", + "aliases": [ + "a feather emoji", + "fly", + "flight", + "feather", + "bird", + "light", + "plumage", + "feather emoji" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 123, + 109, + 88 + ] + }, + { + "emoji": "🦩", + "description": "flamingo", + "category": "Animals & Nature", + "aliases": [ + "flamingo emoji", + "flamboyant", + "tropical", + "flamingo", + "animal", + "a flamingo emoji" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 213, + 94, + 97 + ] + }, + { + "emoji": "🦚", + "description": "peacock", + "category": "Animals & Nature", + "aliases": [ + "bird", + "a peacock emoji", + "peacock emoji", + "animal", + "peacock", + "peahen", + "nature", + "proud", + "ostentatious" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 73, + 134, + 85 + ] + }, + { + "emoji": "🦜", + "description": "parrot", + "category": "Animals & Nature", + "aliases": [ + "bird", + "talk", + "a parrot emoji", + "parrot", + "animal", + "pirate", + "nature", + "parrot emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 125, + 134, + 44 + ] + }, + { + "emoji": "🐸", + "description": "frog face", + "category": "Animals & Nature", + "aliases": [ + "toad", + "frogs", + "a frog", + "animal", + "frog", + "face", + "nature", + "croak" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 123, + 165, + 83 + ] + }, + { + "emoji": "🐊", + "description": "crocodile", + "category": "Animals & Nature", + "aliases": [ + "lizard", + "animal", + "crocodile", + "alligator", + "crocodiles", + "reptile", + "nature", + "a crocodile" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 84, + 119, + 83 + ] + }, + { + "emoji": "🐢", + "description": "turtle", + "category": "Animals & Nature", + "aliases": [ + "turtles", + "slow", + "turtle", + "tortoise", + "animal", + "nature", + "terrapin", + "a turtle" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 100, + 134, + 72 + ] + }, + { + "emoji": "🦎", + "description": "lizard", + "category": "Animals & Nature", + "aliases": [ + "lizard", + "a lizard emoji", + "animal", + "reptile", + "nature", + "lizard emoji" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 103, + 157, + 90 + ] + }, + { + "emoji": "🐍", + "description": "snake", + "category": "Animals & Nature", + "aliases": [ + "a snake", + "serpent", + "bearer", + "animal", + "snake", + "evil", + "snakes", + "nature", + "hiss", + "Ophiuchus", + "zodiac", + "python" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 129, + 147, + 61 + ] + }, + { + "emoji": "🐲", + "description": "dragon head", + "category": "Animals & Nature", + "aliases": [ + "dragon face", + "green", + "myth", + "dragon", + "animal", + "face", + "fairy tale", + "dragon heads", + "nature", + "a dragon head", + "chinese" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 160, + 170, + 64 + ] + }, + { + "emoji": "🐉", + "description": "dragon", + "category": "Animals & Nature", + "aliases": [ + "green", + "myth", + "dragon", + "animal", + "fairy tale", + "dragons", + "nature", + "a dragon", + "chinese" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 141, + 165, + 84 + ] + }, + { + "emoji": "🦕", + "description": "dinosaur", + "category": "Animals & Nature", + "aliases": [ + "dinosaur", + "sauropod", + "extinct", + "dinosaur emoji", + "animal", + "a dinosaur emoji", + "nature", + "diplodocus", + "brontosaurus", + "brachiosaurus" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 52, + 118, + 141 + ] + }, + { + "emoji": "🦖", + "description": "T-Rex", + "category": "Animals & Nature", + "aliases": [ + "dinosaur", + "Tyrannosaurus Rex", + "tyrannosaurus", + "t-rex", + "extinct", + "T-Rex emoji", + "animal", + "nature", + "rex", + "T-Rex", + "t", + "a T-Rex emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 87, + 128, + 25 + ] + }, + { + "emoji": "🐳", + "description": "spouting whale", + "category": "Animals & Nature", + "aliases": [ + "spouting", + "sea", + "whale", + "animal", + "face", + "spouting whale", + "nature", + "a spouting whale", + "ocean", + "spouting whales" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐋", + "🐳" + ], + "rgb": [ + 67, + 166, + 192 + ] + }, + { + "emoji": "🐋", + "description": "whale", + "category": "Animals & Nature", + "aliases": [ + "sea", + "whale", + "animal", + "nature", + "a whale", + "ocean", + "whale2", + "whales" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐋", + "🐳" + ], + "rgb": [ + 146, + 181, + 196 + ] + }, + { + "emoji": "🐬", + "description": "dolphin", + "category": "Animals & Nature", + "aliases": [ + "sea", + "beach", + "dolphins", + "a dolphin", + "dolphin", + "ocean", + "fish", + "animal", + "nature", + "fins", + "flipper" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 93, + 182, + 203 + ] + }, + { + "emoji": "🦭", + "description": "seal", + "category": "Animals & Nature", + "aliases": [ + "sea", + "creature", + "a seal emoji", + "animal", + "seal", + "sea lion", + "seal emoji" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 143, + 142, + 140 + ] + }, + { + "emoji": "🐟", + "description": "fish", + "category": "Animals & Nature", + "aliases": [ + "a fish", + "animal", + "food", + "nature", + "Pisces", + "fish", + "zodiac" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐟", + "🐠", + "🐡" + ], + "rgb": [ + 115, + 149, + 181 + ] + }, + { + "emoji": "🐠", + "description": "tropical fish", + "category": "Animals & Nature", + "aliases": [ + "beach", + "nemo", + "fish", + "tropical", + "tropical fish", + "animal", + "swim", + "a tropical fish", + "ocean" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐟", + "🐠", + "🐡" + ], + "rgb": [ + 152, + 189, + 126 + ] + }, + { + "emoji": "🐡", + "description": "blowfish", + "category": "Animals & Nature", + "aliases": [ + "sea", + "a blowfish", + "blowfish", + "fish", + "animal", + "food", + "nature", + "ocean" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🐟", + "🐠", + "🐡" + ], + "rgb": [ + 198, + 160, + 95 + ] + }, + { + "emoji": "🦈", + "description": "shark", + "category": "Animals & Nature", + "aliases": [ + "jaws", + "sea", + "beach", + "shark emoji", + "ocean", + "a shark emoji", + "fish", + "animal", + "nature", + "fins", + "shark" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 136, + 152, + 155 + ] + }, + { + "emoji": "🐙", + "description": "octopus", + "category": "Animals & Nature", + "aliases": [ + "sea", + "octopuses", + "beach", + "creature", + "an octopus", + "animal", + "nature", + "octopus", + "ocean" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 176, + 71, + 87 + ] + }, + { + "emoji": "🐚", + "description": "seashell", + "category": "Animals & Nature", + "aliases": [ + "sea", + "beach", + "a seashell", + "spiral", + "seashells", + "shell", + "nature", + "spiral shell" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 184, + 174, + 173 + ] + }, + { + "emoji": "🐌", + "description": "snail", + "category": "Animals & Nature", + "aliases": [ + "slow", + "shell", + "animal", + "snails", + "a snail", + "snail" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 158, + 118, + 75 + ] + }, + { + "emoji": "🦋", + "description": "butterfly", + "category": "Animals & Nature", + "aliases": [ + "pretty", + "insect", + "butterfly", + "animal", + "nature", + "a butterfly emoji", + "butterfly emoji", + "caterpillar" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 46, + 131, + 170 + ] + }, + { + "emoji": "🐛", + "description": "bug", + "category": "Animals & Nature", + "aliases": [ + "worm", + "insect", + "bugs", + "animal", + "nature", + "a bug", + "bug" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 139, + 138, + 65 + ] + }, + { + "emoji": "🐜", + "description": "ant", + "category": "Animals & Nature", + "aliases": [ + "insect", + "ants", + "an ant", + "animal", + "nature", + "ant", + "bug" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 74, + 61, + 57 + ] + }, + { + "emoji": "🐝", + "description": "bee", + "category": "Animals & Nature", + "aliases": [ + "spring", + "insect", + "a bee", + "honey", + "honeybee", + "animal", + "bees", + "nature", + "bug", + "bee" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 132, + 118, + 50 + ] + }, + { + "emoji": "🪲", + "description": "beetle", + "category": "Animals & Nature", + "aliases": [ + "insect", + "beetle emoji", + "beetle", + "a beetle emoji", + "bug" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 95, + 127, + 0 + ] + }, + { + "emoji": "🐞", + "description": "ladybug", + "category": "Animals & Nature", + "aliases": [ + "insect", + "ladybird", + "a ladybug", + "animal", + "lady beetle", + "beetle", + "ladybugs", + "nature", + "ladybug", + "lady", + "bug" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 126, + 72, + 50 + ] + }, + { + "emoji": "🦗", + "description": "cricket", + "category": "Animals & Nature", + "aliases": [ + "chirp", + "animal", + "cricket emoji", + "cricket", + "a cricket emoji", + "grasshopper" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 113, + 87, + 58 + ] + }, + { + "emoji": "🪳", + "description": "cockroach", + "category": "Animals & Nature", + "aliases": [ + "roach", + "insect", + "pest", + "cockroach", + "a cockroach emoji", + "cockroach emoji", + "pests" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 144, + 83, + 72 + ] + }, + { + "emoji": "🕷️", + "description": "spider", + "category": "Animals & Nature", + "aliases": [ + "arachnid", + "animal", + "spider", + "a spider", + "spiders" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 78, + 76, + 77 + ] + }, + { + "emoji": "🕸️", + "description": "spiderweb", + "category": "Animals & Nature", + "aliases": [ + "spiderweb emoji", + "a spiderweb emoji", + "insect", + "arachnid", + "animal", + "spider", + "spider web", + "web", + "silk" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 161, + 161, + 161 + ] + }, + { + "emoji": "🦂", + "description": "scorpion", + "category": "Animals & Nature", + "aliases": [ + "Scorpio", + "scorpio", + "arachnid", + "scorpion emoji", + "animal", + "scorpion", + "a scorpion emoji", + "zodiac" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 155, + 98, + 27 + ] + }, + { + "emoji": "🦟", + "description": "mosquito", + "category": "Animals & Nature", + "aliases": [ + "mosquito emoji", + "virus", + "insect", + "fever", + "pest", + "a mosquito emoji", + "animal", + "nature", + "malaria", + "mosquito", + "disease" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 117, + 100, + 85 + ] + }, + { + "emoji": "🪰", + "description": "fly", + "category": "Animals & Nature", + "aliases": [ + "fly", + "maggot", + "insect", + "fly emoji", + "pest", + "rotting", + "a fly emoji", + "disease" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 146, + 105, + 66 + ] + }, + { + "emoji": "🪱", + "description": "worm", + "category": "Animals & Nature", + "aliases": [ + "worm", + "parasite", + "a worm emoji", + "earthworm", + "worm emoji", + "animal", + "annelid" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 205, + 78, + 86 + ] + }, + { + "emoji": "🦠", + "description": "microbe", + "category": "Animals & Nature", + "aliases": [ + "virus", + "amoeba", + "microbe", + "germs", + "a microbe emoji", + "bacteria", + "germ", + "covid", + "microbe emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 88, + 163, + 34 + ] + }, + { + "emoji": "💐", + "description": "bouquet", + "category": "Animals & Nature", + "aliases": [ + "spring", + "a bouquet emoji", + "flower", + "flowers", + "nature", + "bouquet emoji", + "bouquet" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 162, + 131, + 61 + ] + }, + { + "emoji": "🌸", + "description": "cherry blossom", + "category": "Animals & Nature", + "aliases": [ + "spring", + "blossom", + "cherry", + "cherry blossom emoji", + "flower", + "cherry blossom", + "nature", + "a cherry blossom emoji", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🌸", + "🌹", + "🌺" + ], + "rgb": [ + 245, + 160, + 196 + ] + }, + { + "emoji": "💮", + "description": "white flower", + "category": "Animals & Nature", + "aliases": [ + "spring", + "white flower emoji", + "a white flower emoji", + "flower", + "japanese", + "white", + "white flower" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 254, + 186, + 186 + ] + }, + { + "emoji": "🏵️", + "description": "rosette", + "category": "Animals & Nature", + "aliases": [ + "military", + "a rosette emoji", + "flower", + "rosette", + "rosette emoji", + "decoration" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 226, + 164, + 57 + ] + }, + { + "emoji": "🌹", + "description": "rose", + "category": "Animals & Nature", + "aliases": [ + "spring", + "rose", + "flower", + "a rose emoji", + "flowers", + "valentines", + "rose emoji", + "love" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🌸", + "🌹", + "🌺" + ], + "rgb": [ + 178, + 39, + 32 + ] + }, + { + "emoji": "🥀", + "description": "wilted rose", + "category": "Animals & Nature", + "aliases": [ + "wilted", + "a wilted rose emoji", + "wilted rose emoji", + "plant", + "flower", + "nature", + "wilted flower" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 118, + 72, + 49 + ] + }, + { + "emoji": "🌺", + "description": "hibiscus", + "category": "Animals & Nature", + "aliases": [ + "beach", + "hibiscus emoji", + "flower", + "flowers", + "vegetable", + "a hibiscus emoji", + "hibiscus", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🌸", + "🌹", + "🌺" + ], + "rgb": [ + 199, + 67, + 80 + ] + }, + { + "emoji": "🌻", + "description": "sunflower", + "category": "Animals & Nature", + "aliases": [ + "sunflower", + "flower", + "a sunflower emoji", + "nature", + "fall", + "sun", + "sunflower emoji", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 178, + 143, + 4 + ] + }, + { + "emoji": "🌼", + "description": "flower", + "category": "Animals & Nature", + "aliases": [ + "a flower emoji", + "flower", + "flowers", + "nature", + "flower emoji", + "yellow", + "blossom" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 226, + 189, + 56 + ] + }, + { + "emoji": "🌷", + "description": "tulip", + "category": "Animals & Nature", + "aliases": [ + "spring", + "summer", + "tulip emoji", + "tulip", + "flower", + "flowers", + "nature", + "a tulip emoji", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 192, + 122, + 104 + ] + }, + { + "emoji": "🌱", + "description": "seedling", + "category": "Animals & Nature", + "aliases": [ + "a seedling emoji", + "spring", + "lawn", + "seedling", + "nature", + "young", + "grass", + "seedling emoji", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 113, + 183, + 34 + ] + }, + { + "emoji": "🪴", + "description": "potted plant", + "category": "Animals & Nature", + "aliases": [ + "nurturing", + "a potted plant emoji", + "potted plant emoji", + "useless", + "grow", + "house", + "greenery", + "boring", + "potted plant", + "potted", + "plant" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 141, + 134, + 52 + ] + }, + { + "emoji": "🌲", + "description": "evergreen tree", + "category": "Animals & Nature", + "aliases": [ + "an evergreen tree emoji", + "tree", + "evergreen", + "evergreen tree", + "nature", + "wood", + "evergreen tree emoji", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 57, + 113, + 62 + ] + }, + { + "emoji": "🌳", + "description": "tree", + "category": "Animals & Nature", + "aliases": [ + "tree emoji", + "shedding", + "tree", + "nature", + "wood", + "a tree emoji", + "deciduous", + "deciduous tree", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 90, + 126, + 35 + ] + }, + { + "emoji": "🌴", + "description": "palm tree", + "category": "Animals & Nature", + "aliases": [ + "beach", + "palm tree emoji", + "mojito", + "summer", + "a palm tree emoji", + "tree", + "palm tree", + "tropical", + "vegetable", + "nature", + "palm", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 102, + 140, + 46 + ] + }, + { + "emoji": "🌵", + "description": "cactus", + "category": "Animals & Nature", + "aliases": [ + "cactus", + "cactus emoji", + "vegetable", + "nature", + "a cactus emoji", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 95, + 155, + 52 + ] + }, + { + "emoji": "🌾", + "description": "ear of rice", + "category": "Animals & Nature", + "aliases": [ + "ear of rice emoji", + "ear", + "ear of rice", + "an ear of rice emoji", + "sheaf of rice", + "nature", + "rice", + "grain", + "sheaf", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 187, + 178, + 73 + ] + }, + { + "emoji": "🌿", + "description": "herb", + "category": "Animals & Nature", + "aliases": [ + "weed", + "herb emoji", + "lawn", + "medicine", + "vegetable", + "an herb emoji", + "leaf", + "herb", + "grass", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 92, + 163, + 41 + ] + }, + { + "emoji": "☘️", + "description": "shamrock", + "category": "Animals & Nature", + "aliases": [ + "clover", + "shamrocks", + "a shamrock", + "vegetable", + "nature", + "shamrock", + "irish", + "plant" + ], + "unicode": "4.1", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 98, + 204, + 41 + ] + }, + { + "emoji": "🍀", + "description": "four leaf clover", + "category": "Animals & Nature", + "aliases": [ + "clover", + "four leaf clover emoji", + "a four leaf clover emoji", + "good luck", + "vegetable", + "nature", + "4", + "irish", + "leaf", + "four-leaf clover", + "four leaf clover", + "luck", + "four", + "lucky", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 109, + 199, + 50 + ] + }, + { + "emoji": "🍁", + "description": "maple leaf", + "category": "Animals & Nature", + "aliases": [ + "maple leaf emoji", + "ca", + "canada", + "maple", + "falling", + "vegetable", + "maple leaf", + "nature", + "fall", + "leaf", + "a maple leaf emoji", + "happy thanksgiving", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🍁", + "🍂", + "🍃" + ], + "rgb": [ + 186, + 85, + 28 + ] + }, + { + "emoji": "🍂", + "description": "fallen leaves", + "category": "Animals & Nature", + "aliases": [ + "autumn", + "leaves", + "fallen leaves emoji", + "fallen leaf", + "falling", + "vegetable", + "nature", + "leaf", + "fallen", + "a fallen leaves emoji", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🍁", + "🍂", + "🍃" + ], + "rgb": [ + 178, + 99, + 23 + ] + }, + { + "emoji": "🍃", + "description": "leaves fluttering", + "category": "Animals & Nature", + "aliases": [ + "spring", + "leaf fluttering in wind", + "flutter", + "leaves", + "tree", + "wind", + "lawn", + "vegetable", + "nature", + "a leaves fluttering in wind emoji", + "leaf", + "leaves fluttering in wind emoji", + "blow", + "grass", + "fluttering", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🍁", + "🍂", + "🍃" + ], + "rgb": [ + 136, + 174, + 87 + ] + }, + { + "emoji": "🍇", + "description": "grapes", + "category": "Food & Drink", + "aliases": [ + "fruit", + "wine", + "grapes emoji", + "food", + "a grapes emoji", + "grapes", + "grape" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 158, + 59, + 95 + ] + }, + { + "emoji": "🍈", + "description": "melon", + "category": "Food & Drink", + "aliases": [ + "fruit", + "a melon emoji", + "food", + "melon emoji", + "nature", + "melon" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 186, + 189, + 129 + ] + }, + { + "emoji": "🍉", + "description": "watermelon", + "category": "Food & Drink", + "aliases": [ + "fruit", + "summer", + "watermelon", + "food", + "watermelon emoji", + "a watermelon emoji", + "picnic" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 202, + 120, + 103 + ] + }, + { + "emoji": "🍊", + "description": "tangerine", + "category": "Food & Drink", + "aliases": [ + "fruit", + "tangerine", + "mandarin", + "a tangerine emoji", + "food", + "nature", + "tangerine emoji", + "orange" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 209, + 131, + 51 + ] + }, + { + "emoji": "🍋", + "description": "lemon", + "category": "Food & Drink", + "aliases": [ + "fruit", + "lemon", + "lemon emoji", + "nature", + "citrus", + "a lemon emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 193, + 174, + 61 + ] + }, + { + "emoji": "🍌", + "description": "banana", + "category": "Food & Drink", + "aliases": [ + "fruit", + "banana emoji", + "a banana emoji", + "monkey", + "food", + "banana" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 233, + 205, + 124 + ] + }, + { + "emoji": "🍍", + "description": "pineapple", + "category": "Food & Drink", + "aliases": [ + "pineapple emoji", + "fruit", + "food", + "a pineapple emoji", + "nature", + "pineapple" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 154, + 133, + 53 + ] + }, + { + "emoji": "🥭", + "description": "mango", + "category": "Food & Drink", + "aliases": [ + "fruit", + "mango", + "tropical", + "food", + "mangoes", + "a mango" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 160, + 129, + 33 + ] + }, + { + "emoji": "🍎", + "description": "red apple", + "category": "Food & Drink", + "aliases": [ + "apple", + "a red apple emoji", + "fruit", + "mac", + "school", + "red", + "red apple", + "red apple emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🍎", + "🍏" + ], + "rgb": [ + 199, + 68, + 58 + ] + }, + { + "emoji": "🍏", + "description": "green apple", + "category": "Food & Drink", + "aliases": [ + "apple", + "green", + "fruit", + "a green apple emoji", + "green apple emoji", + "nature", + "green apple" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🍎", + "🍏" + ], + "rgb": [ + 128, + 176, + 61 + ] + }, + { + "emoji": "🍐", + "description": "pear", + "category": "Food & Drink", + "aliases": [ + "a pear emoji", + "fruit", + "pear emoji", + "food", + "nature", + "pear" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 170, + 171, + 65 + ] + }, + { + "emoji": "🍑", + "description": "peach", + "category": "Food & Drink", + "aliases": [ + "fruit", + "peach", + "food", + "nature", + "a peach emoji", + "peach emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 122, + 75 + ] + }, + { + "emoji": "🍒", + "description": "cherries", + "category": "Food & Drink", + "aliases": [ + "cherries emoji", + "fruit", + "cherry", + "a cherries emoji", + "food", + "red", + "berries", + "cherries" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 170, + 81, + 68 + ] + }, + { + "emoji": "🍓", + "description": "strawberry", + "category": "Food & Drink", + "aliases": [ + "a strawberry emoji", + "fruit", + "food", + "strawberry", + "nature", + "berry", + "strawberry emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 183, + 76, + 59 + ] + }, + { + "emoji": "🫐", + "description": "blueberries", + "category": "Food & Drink", + "aliases": [ + "bilberry", + "fruit", + "berry", + "blueberry", + "blueberries", + "blue" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 86, + 118, + 173 + ] + }, + { + "emoji": "🥝", + "description": "kiwi", + "category": "Food & Drink", + "aliases": [ + "fruit", + "kiwi emoji", + "kiwi", + "food", + "a kiwi emoji", + "kiwi fruit" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 166, + 170, + 82 + ] + }, + { + "emoji": "🍅", + "description": "tomato", + "category": "Food & Drink", + "aliases": [ + "tomato emoji", + "fruit", + "a tomato emoji", + "tomato", + "food", + "vegetable", + "nature" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 196, + 76, + 34 + ] + }, + { + "emoji": "🫒", + "description": "olive", + "category": "Food & Drink", + "aliases": [ + "fruit", + "an olive", + "food", + "olive", + "olives" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 115, + 116, + 38 + ] + }, + { + "emoji": "🥥", + "description": "coconut", + "category": "Food & Drink", + "aliases": [ + "coconuts", + "fruit", + "a coconut", + "coconut", + "piña colada", + "food", + "nature", + "palm" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 171, + 153, + 130 + ] + }, + { + "emoji": "🥑", + "description": "avocado", + "category": "Food & Drink", + "aliases": [ + "fruit", + "avocado", + "food", + "avocado emoji", + "an avocado emoji" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 179, + 170, + 92 + ] + }, + { + "emoji": "🍆", + "description": "eggplant", + "category": "Food & Drink", + "aliases": [ + "aubergine", + "an eggplant emoji", + "food", + "eggplant", + "vegetable", + "nature", + "eggplant emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 128, + 93, + 117 + ] + }, + { + "emoji": "🥔", + "description": "potato", + "category": "Food & Drink", + "aliases": [ + "potato emoji", + "tuber", + "vegatable", + "food", + "vegetable", + "starch", + "a potato emoji", + "potato" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 173, + 127, + 73 + ] + }, + { + "emoji": "🥕", + "description": "carrot", + "category": "Food & Drink", + "aliases": [ + "carrot emoji", + "carrot", + "food", + "vegetable", + "a carrot emoji", + "orange" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 167, + 122, + 41 + ] + }, + { + "emoji": "🌽", + "description": "ear of corn", + "category": "Food & Drink", + "aliases": [ + "ear of corn", + "maze", + "maize", + "ear", + "food", + "corn", + "vegetable", + "a corn emoji", + "corn emoji", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 147, + 146, + 32 + ] + }, + { + "emoji": "🌶️", + "description": "hot pepper", + "category": "Food & Drink", + "aliases": [ + "a hot pepper emoji", + "pepper", + "hot", + "chili", + "chilli", + "food", + "spicy", + "hot pepper", + "hot pepper emoji" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 188, + 73, + 62 + ] + }, + { + "emoji": "🫑", + "description": "bell pepper", + "category": "Food & Drink", + "aliases": [ + "bell", + "pepper", + "fruit", + "bell peppers", + "a bell pepper", + "vegetable", + "capsicum", + "bell pepper", + "plant" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 89, + 123, + 51 + ] + }, + { + "emoji": "🥒", + "description": "cucumber", + "category": "Food & Drink", + "aliases": [ + "fruit", + "a cucumber emoji", + "food", + "cucumber", + "vegetable", + "cucumber emoji", + "pickle" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 125, + 174, + 78 + ] + }, + { + "emoji": "🥬", + "description": "leafy greens", + "category": "Food & Drink", + "aliases": [ + "green", + "leafy", + "cabbage", + "leafy green", + "leafy greens", + "lettuce", + "bok choy", + "food", + "vegetable", + "kale", + "plant" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 57, + 141, + 55 + ] + }, + { + "emoji": "🥦", + "description": "broccoli", + "category": "Food & Drink", + "aliases": [ + "fruit", + "wild cabbage", + "food", + "broccoli", + "vegetable", + "a broccoli", + "broccolis" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 84, + 126, + 54 + ] + }, + { + "emoji": "🧄", + "description": "garlic", + "category": "Food & Drink", + "aliases": [ + "cook", + "spice", + "garlic", + "food", + "heads of garlic", + "flavoring" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 185, + 153, + 136 + ] + }, + { + "emoji": "🧅", + "description": "onion", + "category": "Food & Drink", + "aliases": [ + "cook", + "an onion", + "onion", + "onions", + "spice", + "food", + "flavoring" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 149, + 105 + ] + }, + { + "emoji": "🍄", + "description": "mushroom", + "category": "Food & Drink", + "aliases": [ + "toadstool", + "mushroom", + "mushroom emoji", + "vegetable", + "a mushroom emoji", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 222, + 132, + 117 + ] + }, + { + "emoji": "🥜", + "description": "peanuts", + "category": "Food & Drink", + "aliases": [ + "nut", + "peanuts", + "peanut", + "peanuts emoji", + "food", + "vegetable", + "a peanuts emoji" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 176, + 133, + 66 + ] + }, + { + "emoji": "🌰", + "description": "chestnut", + "category": "Food & Drink", + "aliases": [ + "chestnut", + "food", + "squirrel", + "chestnut emoji", + "a chestnut emoji", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 134, + 65, + 37 + ] + }, + { + "emoji": "🍞", + "description": "bread", + "category": "Food & Drink", + "aliases": [ + "loaf", + "bread emoji", + "wheat", + "bread", + "food", + "breakfast", + "a bread emoji", + "toast" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 208, + 168, + 110 + ] + }, + { + "emoji": "🥐", + "description": "croissant", + "category": "Food & Drink", + "aliases": [ + "french", + "roll", + "bread", + "croissant", + "food", + "croissant emoji", + "a croissant emoji", + "breakfast" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 135, + 35 + ] + }, + { + "emoji": "🥖", + "description": "baguette", + "category": "Food & Drink", + "aliases": [ + "french", + "baguette bread", + "baguette emoji", + "baguette", + "bread", + "food", + "bakery", + "a baguette emoji", + "france" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 164, + 98 + ] + }, + { + "emoji": "🫓", + "description": "flat bread", + "category": "Food & Drink", + "aliases": [ + "flat breads", + "lavash", + "flatbread", + "flour", + "pita", + "food", + "a flat bread", + "bakery", + "naan", + "arepa" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 193, + 178, + 153 + ] + }, + { + "emoji": "🥨", + "description": "pretzel", + "category": "Food & Drink", + "aliases": [ + "germany", + "pretzel", + "a pretzel", + "bread", + "food", + "bakery", + "twisted", + "pretzels" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 202, + 128, + 81 + ] + }, + { + "emoji": "🥯", + "description": "bagel", + "category": "Food & Drink", + "aliases": [ + "bagels", + "bagel", + "jewish", + "bread", + "food", + "a bagel", + "bakery", + "breakfast", + "schmear" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 216, + 165, + 113 + ] + }, + { + "emoji": "🥞", + "description": "pancakes", + "category": "Food & Drink", + "aliases": [ + "crêpe", + "hotcakes", + "a pancakes emoji", + "pancake", + "flapjacks", + "pancakes", + "food", + "hotcake", + "breakfast", + "pancakes emoji", + "brunch" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 223, + 185, + 123 + ] + }, + { + "emoji": "🧇", + "description": "waffle", + "category": "Food & Drink", + "aliases": [ + "iron", + "indecisive", + "food", + "a waffle", + "breakfast", + "waffles", + "waffle", + "brunch" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 223, + 167, + 78 + ] + }, + { + "emoji": "🧀", + "description": "cheese wedge", + "category": "Food & Drink", + "aliases": [ + "a cheese wedge", + "cheese", + "swiss", + "cheese wedges", + "chadder", + "food", + "wedge", + "cheese wedge" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 242, + 180, + 33 + ] + }, + { + "emoji": "🍖", + "description": "meat on bone", + "category": "Food & Drink", + "aliases": [ + "on", + "meat on bone emoji", + "bone", + "a meat on bone emoji", + "meat on bone", + "meat", + "food", + "drumstick", + "good" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 188, + 118, + 88 + ] + }, + { + "emoji": "🍗", + "description": "poultry leg", + "category": "Food & Drink", + "aliases": [ + "bird", + "chicken", + "poultry leg", + "poultry leg emoji", + "bone", + "a poultry leg emoji", + "meat", + "food", + "poultry", + "drumstick", + "leg", + "turkey" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 168, + 114, + 74 + ] + }, + { + "emoji": "🥩", + "description": "steak", + "category": "Food & Drink", + "aliases": [ + "a steak", + "steaks", + "steak", + "meat", + "lambchop", + "food", + "chop", + "porkchop", + "cut", + "cow", + "cut of meat" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 199, + 87, + 77 + ] + }, + { + "emoji": "🥓", + "description": "bacon", + "category": "Food & Drink", + "aliases": [ + "pig", + "bacon", + "meat", + "pork", + "food", + "breakfast", + "bacon emoji", + "a bacon emoji", + "brunch" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 199, + 106, + 70 + ] + }, + { + "emoji": "🍔", + "description": "hamburger", + "category": "Food & Drink", + "aliases": [ + "beef", + "mcdonalds", + "burger", + "meat", + "hamburger emoji", + "a hamburger emoji", + "cheeseburger", + "burger king", + "fast food", + "hamburger" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 200, + 135, + 64 + ] + }, + { + "emoji": "🍟", + "description": "french fries", + "category": "Food & Drink", + "aliases": [ + "french", + "snack", + "french fries", + "french fries emoji", + "chips", + "fries", + "potato", + "fast food", + "a french fries emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 114, + 61 + ] + }, + { + "emoji": "🍕", + "description": "pizza", + "category": "Food & Drink", + "aliases": [ + "cheese", + "pizza emoji", + "slice", + "food", + "italy", + "party", + "a pizza emoji", + "pizza" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 114, + 50 + ] + }, + { + "emoji": "🌭", + "description": "hot dog", + "category": "Food & Drink", + "aliases": [ + "a hot dog emoji", + "dog", + "hotdog", + "frankfurter", + "hot", + "food", + "hot dog", + "america", + "hot dog emoji", + "sausage" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 216, + 150, + 77 + ] + }, + { + "emoji": "🥪", + "description": "sandwich", + "category": "Food & Drink", + "aliases": [ + "sandwich", + "sandwiches", + "a sandwich", + "bread", + "bakery", + "food", + "toast", + "lunch" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 214, + 173, + 98 + ] + }, + { + "emoji": "🌮", + "description": "taco", + "category": "Food & Drink", + "aliases": [ + "a taco emoji", + "taco", + "food", + "taco emoji", + "mexican" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 191, + 158, + 66 + ] + }, + { + "emoji": "🌯", + "description": "burrito", + "category": "Food & Drink", + "aliases": [ + "a burrito emoji", + "food", + "wrap", + "burrito", + "burrito emoji", + "mexican" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 177, + 165, + 149 + ] + }, + { + "emoji": "🫔", + "description": "tamale", + "category": "Food & Drink", + "aliases": [ + "masa", + "a tamale", + "food", + "tamale", + "mexican", + "wrapped", + "tamales" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 195, + 145, + 55 + ] + }, + { + "emoji": "🥙", + "description": "pita sandwich", + "category": "Food & Drink", + "aliases": [ + "a pita sandwich emoji", + "pita sandwich emoji", + "stuffed flatbread", + "flatbread", + "falafel", + "food", + "kebab", + "mediterranean", + "gyro", + "stuffed" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 147, + 128, + 74 + ] + }, + { + "emoji": "🧆", + "description": "falafel", + "category": "Food & Drink", + "aliases": [ + "meatball", + "a plate of falafel", + "falafel", + "food", + "chickpea", + "mediterranean", + "plates of falafel" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 132, + 114, + 84 + ] + }, + { + "emoji": "🥚", + "description": "egg", + "category": "Food & Drink", + "aliases": [ + "an egg emoji", + "chicken", + "food", + "breakfast", + "egg emoji", + "egg" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 221, + 217, + 210 + ] + }, + { + "emoji": "🍳", + "description": "cooking", + "category": "Food & Drink", + "aliases": [ + "kitchen", + "cooking", + "skillet", + "food", + "breakfast", + "fried eggs", + "fried egg", + "frying", + "a fried egg", + "pan", + "egg" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 105, + 99, + 84 + ] + }, + { + "emoji": "🥘", + "description": "pan of food", + "category": "Food & Drink", + "aliases": [ + "shallow", + "cooking", + "skillet", + "shallow pan of food", + "paella", + "food", + "pan of food emoji", + "curry", + "pan", + "casserole", + "a pan of food emoji" + ], + "unicode": "", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 141, + 104, + 58 + ] + }, + { + "emoji": "🍲", + "description": "pot of food", + "category": "Food & Drink", + "aliases": [ + "meat", + "a bowl of food", + "food", + "pot", + "soup", + "pot of food", + "hot pot", + "bowls of food", + "stew" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 176, + 177, + 160 + ] + }, + { + "emoji": "🫕", + "description": "fondue", + "category": "Food & Drink", + "aliases": [ + "a fondue", + "cheese", + "chocolate", + "food", + "pot", + "fondue", + "Swiss", + "fondues", + "melted" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 155, + 75, + 64 + ] + }, + { + "emoji": "🥣", + "description": "bowl with spoon", + "category": "Food & Drink", + "aliases": [ + "oatmeal", + "spoon", + "porridge", + "bowl", + "cereal", + "bowl with spoon", + "food", + "bowl emoji", + "breakfast", + "congee", + "a bowl emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 127, + 164, + 209 + ] + }, + { + "emoji": "🥗", + "description": "green salad", + "category": "Food & Drink", + "aliases": [ + "green", + "lettuce", + "green salad", + "food", + "vegetable", + "healthy", + "salad emoji", + "a salad emoji", + "salad" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 149, + 159, + 99 + ] + }, + { + "emoji": "🍿", + "description": "popcorn", + "category": "Food & Drink", + "aliases": [ + "films", + "drama", + "snack", + "food", + "a popcorn", + "movie theater", + "popcorn" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 225, + 148, + 128 + ] + }, + { + "emoji": "🧈", + "description": "butter", + "category": "Food & Drink", + "aliases": [ + "cook", + "a stick of butter", + "butter", + "food", + "sticks of butter", + "dairy" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 229, + 204, + 140 + ] + }, + { + "emoji": "🧂", + "description": "salt", + "category": "Food & Drink", + "aliases": [ + "condiment", + "salt", + "shaker", + "salt shakers", + "a salt shaker" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 184, + 184, + 182 + ] + }, + { + "emoji": "🥫", + "description": "canned food", + "category": "Food & Drink", + "aliases": [ + "a can of food", + "can", + "canned", + "tomatoes", + "food", + "soup", + "canned food", + "cans of food" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 197, + 126, + 114 + ] + }, + { + "emoji": "🍱", + "description": "bento box", + "category": "Food & Drink", + "aliases": [ + "bento box", + "bento", + "bento boxes", + "box", + "food", + "a bento box", + "japanese", + "lunch" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 148, + 103, + 72 + ] + }, + { + "emoji": "🍘", + "description": "rice cracker", + "category": "Food & Drink", + "aliases": [ + "cracker", + "snack", + "rice cracker", + "food", + "a rice cracker emoji", + "rice", + "japanese", + "rice cracker emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 139, + 108, + 43 + ] + }, + { + "emoji": "🍙", + "description": "rice ball", + "category": "Food & Drink", + "aliases": [ + "Japanese", + "rice ball emoji", + "rice ball", + "food", + "japanese", + "rice", + "a rice ball emoji", + "ball" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🍙", + "🍚" + ], + "rgb": [ + 156, + 154, + 143 + ] + }, + { + "emoji": "🍚", + "description": "cooked rice", + "category": "Food & Drink", + "aliases": [ + "cooked", + "asian", + "a rice emoji", + "food", + "rice", + "cooked rice", + "rice emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🍙", + "🍚" + ], + "rgb": [ + 200, + 198, + 195 + ] + }, + { + "emoji": "🍛", + "description": "curry and rice", + "category": "Food & Drink", + "aliases": [ + "hot", + "a curry emoji", + "food", + "spicy", + "rice", + "indian", + "curry rice", + "curry emoji", + "curry" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 200, + 173, + 147 + ] + }, + { + "emoji": "🍜", + "description": "steaming bowl", + "category": "Food & Drink", + "aliases": [ + "ramen", + "steaming bowl", + "a noodle bowl emoji", + "chopsticks", + "bowl", + "noodle", + "food", + "japanese", + "steaming", + "noodle bowl emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 214, + 187, + 160 + ] + }, + { + "emoji": "🍝", + "description": "spaghetti", + "category": "Food & Drink", + "aliases": [ + "spaghetti emoji", + "a spaghetti emoji", + "spaghetti", + "italian", + "noodle", + "food", + "pasta" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 211, + 168, + 130 + ] + }, + { + "emoji": "🍠", + "description": "roasted sweet", + "category": "Food & Drink", + "aliases": [ + "sweet potato emoji", + "roasted", + "sweet", + "roasted sweet potato", + "sweet potato", + "a sweet potato emoji", + "food", + "nature", + "potato", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 189, + 105, + 101 + ] + }, + { + "emoji": "🍢", + "description": "oden", + "category": "Food & Drink", + "aliases": [ + "oden", + "oden emoji", + "skewer", + "food", + "seafood", + "kebab", + "japanese", + "stick", + "an oden emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 190, + 159, + 127 + ] + }, + { + "emoji": "🍣", + "description": "sushi", + "category": "Food & Drink", + "aliases": [ + "a sushi emoji", + "sushi emoji", + "sushi", + "food", + "japanese", + "rice", + "fish" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 231, + 152, + 131 + ] + }, + { + "emoji": "🍤", + "description": "fried shrimp", + "category": "Food & Drink", + "aliases": [ + "fried", + "summer", + "animal", + "food", + "prawn", + "shrimp", + "tempura", + "a fried shrimp emoji", + "appetizer", + "fried shrimp emoji", + "fried shrimp" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 230, + 149, + 93 + ] + }, + { + "emoji": "🍥", + "description": "fish cake with", + "category": "Food & Drink", + "aliases": [ + "sea", + "cake", + "beach", + "narutomaki", + "fish cake with swirl emoji", + "ramen", + "pastry", + "japan", + "fish cake", + "food", + "kamaboko", + "a fish cake with swirl emoji", + "swirl", + "surimi", + "fish", + "pink", + "fish cake with swirl" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 216, + 205, + 198 + ] + }, + { + "emoji": "🥮", + "description": "mooncake", + "category": "Food & Drink", + "aliases": [ + "yuèbǐng", + "cake", + "mooncakes", + "moon cake", + "dessert", + "autumn", + "moon", + "food", + "a mooncake", + "festival" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 193, + 96, + 22 + ] + }, + { + "emoji": "🍡", + "description": "dango", + "category": "Food & Drink", + "aliases": [ + "barbecue", + "dessert", + "sweet", + "meat", + "stick", + "dango emoji", + "Japanese", + "skewer", + "food", + "japanese", + "dango", + "a dango emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 194, + 181, + 136 + ] + }, + { + "emoji": "🥟", + "description": "dumpling", + "category": "Food & Drink", + "aliases": [ + "pierogi", + "dumpling emoji", + "empanada", + "jiaozi", + "dumpling", + "food", + "gyōza", + "potsticker", + "gyoza", + "a dumpling emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 221, + 185, + 136 + ] + }, + { + "emoji": "🥠", + "description": "fortune cookie", + "category": "Food & Drink", + "aliases": [ + "dessert", + "fortune cookie emoji", + "prophecy", + "a fortune cookie emoji", + "fortune", + "fortune cookie", + "food", + "cookie" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 189, + 150, + 86 + ] + }, + { + "emoji": "🥡", + "description": "takeout box", + "category": "Food & Drink", + "aliases": [ + "takeout", + "takeout box emoji", + "box", + "oyster pail", + "food", + "leftovers", + "takeout box", + "a takeout box emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 201, + 195, + 196 + ] + }, + { + "emoji": "🦀", + "description": "crab", + "category": "Food & Drink", + "aliases": [ + "crab", + "crabs", + "animal", + "Cancer", + "crustacean", + "a crab", + "zodiac" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 195, + 74, + 39 + ] + }, + { + "emoji": "🦞", + "description": "lobster", + "category": "Food & Drink", + "aliases": [ + "lobster", + "lobster emoji", + "claws", + "animal", + "nature", + "seafood", + "a lobster emoji", + "bisque" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 192, + 57, + 26 + ] + }, + { + "emoji": "🦐", + "description": "shrimp", + "category": "Food & Drink", + "aliases": [ + "small", + "shrimp emoji", + "a shrimp emoji", + "shellfish", + "animal", + "food", + "nature", + "seafood", + "shrimp", + "ocean" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 109, + 68 + ] + }, + { + "emoji": "🦑", + "description": "squid", + "category": "Food & Drink", + "aliases": [ + "sea", + "animal", + "food", + "squid emoji", + "nature", + "squid", + "a squid emoji", + "ocean", + "molusc" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 183, + 83, + 65 + ] + }, + { + "emoji": "🦪", + "description": "oyster", + "category": "Food & Drink", + "aliases": [ + "oyster emoji", + "oyster", + "an oyster emoji", + "food", + "diving", + "pearl" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 148, + 134, + 115 + ] + }, + { + "emoji": "🍦", + "description": "soft ice cream", + "category": "Food & Drink", + "aliases": [ + "dessert", + "icecream", + "sweet", + "soft", + "hot", + "cream", + "summer", + "soft-serve ice creams", + "soft ice cream", + "food", + "soft-serve ice cream", + "ice" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 218, + 195, + 149 + ] + }, + { + "emoji": "🍧", + "description": "shaved ice", + "category": "Food & Drink", + "aliases": [ + "bowls of shaved ice", + "dessert", + "sweet", + "summer", + "hot", + "shaved", + "shaved ice", + "ice" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 200, + 179, + 180 + ] + }, + { + "emoji": "🍨", + "description": "ice cream", + "category": "Food & Drink", + "aliases": [ + "ice cream", + "dessert", + "sweet", + "hot", + "cream", + "food", + "ice", + "ice creams" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 205, + 191, + 168 + ] + }, + { + "emoji": "🍩", + "description": "doughnut", + "category": "Food & Drink", + "aliases": [ + "dessert", + "sweet", + "snack", + "donut", + "a doughnut", + "food", + "doughnut", + "breakfast", + "doughnuts" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 149, + 108, + 80 + ] + }, + { + "emoji": "🍪", + "description": "cookie", + "category": "Food & Drink", + "aliases": [ + "dessert", + "sweet", + "a cookie", + "snack", + "chocolate", + "oreo", + "food", + "cookie", + "cookies" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 182, + 133, + 74 + ] + }, + { + "emoji": "🎂", + "description": "birthday cake", + "category": "Food & Drink", + "aliases": [ + "cake", + "dessert", + "birthday cake", + "sweet", + "celebration", + "birthday", + "pastry", + "birthday cakes", + "happy birth day", + "a birthday cake", + "food", + "happy birthday", + "party" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🍰", + "🎂" + ], + "rgb": [ + 213, + 199, + 189 + ] + }, + { + "emoji": "🍰", + "description": "shortcake", + "category": "Food & Drink", + "aliases": [ + "cake", + "shortcake", + "dessert", + "sweet", + "pastry", + "slice", + "food", + "pieces of cake", + "a piece of cake" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🍰", + "🎂" + ], + "rgb": [ + 227, + 195, + 136 + ] + }, + { + "emoji": "🧁", + "description": "cupcake", + "category": "Food & Drink", + "aliases": [ + "dessert", + "sweet", + "food", + "bakery", + "cupcake", + "a cupcake", + "cupcakes" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 207, + 183, + 131 + ] + }, + { + "emoji": "🥧", + "description": "pie", + "category": "Food & Drink", + "aliases": [ + "pie", + "dessert", + "pastry", + "a pie", + "food", + "pies", + "filling" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 219, + 155, + 73 + ] + }, + { + "emoji": "🍫", + "description": "chocolate bar", + "category": "Food & Drink", + "aliases": [ + "dessert", + "sweet", + "snack", + "chocolate", + "food", + "chocolate bar", + "chocolates", + "bar", + "a chocolate" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 190, + 79, + 72 + ] + }, + { + "emoji": "🍬", + "description": "candy", + "category": "Food & Drink", + "aliases": [ + "candies", + "sweet", + "dessert", + "lolly", + "snack", + "candy", + "a candy" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 189, + 188, + 212 + ] + }, + { + "emoji": "🍭", + "description": "lollipop", + "category": "Food & Drink", + "aliases": [ + "lollipop", + "dessert", + "sweet", + "snack", + "lollipops", + "candy", + "food", + "a lollipop" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 171, + 165, + 141 + ] + }, + { + "emoji": "🍮", + "description": "custard", + "category": "Food & Drink", + "aliases": [ + "dessert", + "sweet", + "pudding", + "a custard dessert", + "custard", + "food", + "custard desserts" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 210, + 167, + 129 + ] + }, + { + "emoji": "🍯", + "description": "honey pot", + "category": "Food & Drink", + "aliases": [ + "kitchen", + "sweet", + "honey pots", + "honey", + "a honey pot", + "bees", + "pot", + "honey pot", + "honeypot" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 226, + 177, + 73 + ] + }, + { + "emoji": "🍼", + "description": "baby bottle", + "category": "Food & Drink", + "aliases": [ + "milk", + "bottle", + "a baby bottle", + "food", + "baby", + "drink", + "container", + "baby bottle", + "baby bottles" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 211, + 204, + 172 + ] + }, + { + "emoji": "🥛", + "description": "glass of milk", + "category": "Food & Drink", + "aliases": [ + "milk", + "beverage", + "milk emoji", + "milk glass", + "glass of milk", + "a milk emoji", + "drink", + "cow", + "glass" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 204, + 200 + ] + }, + { + "emoji": "☕", + "description": "hot beverage", + "category": "Food & Drink", + "aliases": [ + "cafe", + "hot", + "beverage", + "caffeine", + "tea", + "latte", + "drink", + "hot beverage", + "coffee", + "steaming", + "espresso" + ], + "unicode": "4.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 164, + 158, + 149 + ] + }, + { + "emoji": "🫖", + "description": "teapot", + "category": "Food & Drink", + "aliases": [ + "hot", + "teapots", + "tea", + "drink", + "pot", + "a teapot", + "teapot" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 186, + 193, + 197 + ] + }, + { + "emoji": "🍵", + "description": "teacup without", + "category": "Food & Drink", + "aliases": [ + "green", + "a teacup", + "beverage", + "bowl", + "teacup without handle", + "tea", + "drink", + "without", + "breakfast", + "british", + "cup", + "teacups", + "handle", + "teacup" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 162, + 161, + 143 + ] + }, + { + "emoji": "🍶", + "description": "sake bottle", + "category": "Food & Drink", + "aliases": [ + "wine", + "bottle", + "a saké emoji", + "beverage", + "alcohol", + "booze", + "drink", + "sake", + "japanese", + "cup", + "bar", + "saké emoji", + "drunk" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 200, + 201, + 204 + ] + }, + { + "emoji": "🍾", + "description": "bottle with", + "category": "Food & Drink", + "aliases": [ + "bubbly", + "popping", + "bottle with popping cork", + "wine", + "cork", + "celebration", + "bottle", + "congrats", + "a bottle with popping cork", + "drink", + "bottles with popping corks", + "bar", + "congratulations", + "champagne" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 144, + 142, + 99 + ] + }, + { + "emoji": "🍷", + "description": "wine glass", + "category": "Food & Drink", + "aliases": [ + "wine", + "beverage", + "wine glass", + "alcohol", + "wine glasses", + "a wine glass", + "booze", + "drink", + "bar", + "glass", + "drunk" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 184, + 127, + 125 + ] + }, + { + "emoji": "🍸", + "description": "cocktail glass", + "category": "Food & Drink", + "aliases": [ + "cocktail glasses", + "mojito", + "beverage", + "alcohol", + "bar", + "booze", + "drink", + "a cocktail glass", + "cocktail glass", + "cocktail", + "glass", + "drunk" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 189, + 186, + 168 + ] + }, + { + "emoji": "🍹", + "description": "tropical drink", + "category": "Food & Drink", + "aliases": [ + "a tropical drink", + "beach", + "mojito", + "vacation", + "summer", + "beverage", + "alcohol", + "bar", + "tropical", + "tropical drink", + "drink", + "booze", + "cocktail", + "tropical drinks" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 182, + 147, + 93 + ] + }, + { + "emoji": "🍺", + "description": "beer mug", + "category": "Food & Drink", + "aliases": [ + "summer", + "beverage", + "alcohol", + "mug", + "bar", + "drink", + "booze", + "party", + "beer mug", + "beer mugs", + "a beer mug", + "pub", + "drunk", + "beer", + "relax" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🍺", + "🍻" + ], + "rgb": [ + 194, + 154, + 107 + ] + }, + { + "emoji": "🍻", + "description": "clinking beer", + "category": "Food & Drink", + "aliases": [ + "clink", + "summer", + "beverage", + "clinking", + "alcohol", + "mug", + "clinking beer mugs", + "drink", + "booze", + "beers", + "party", + "bar", + "drinks", + "pub", + "drunk", + "beer", + "mugs", + "relax" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🍺", + "🍻" + ], + "rgb": [ + 204, + 169, + 123 + ] + }, + { + "emoji": "🥂", + "description": "clinking glasses", + "category": "Food & Drink", + "aliases": [ + "clinking glasses", + "wine", + "celebrate", + "beverage", + "clinking", + "alcohol", + "a clinking glasses emoji", + "drink", + "clinking glasses emoji", + "glasses", + "party", + "clink", + "cheers", + "glass", + "toast", + "champagne" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 199, + 181, + 129 + ] + }, + { + "emoji": "🥃", + "description": "tumbler glass", + "category": "Food & Drink", + "aliases": [ + "a tumbler glass emoji", + "liquor", + "tumbler glass emoji", + "beverage", + "alcohol", + "tumbler glass", + "whisky", + "tumbler", + "drink", + "booze", + "shot", + "glass", + "scotch", + "drunk", + "bourbon" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 195, + 164, + 131 + ] + }, + { + "emoji": "🥤", + "description": "to-go cup", + "category": "Food & Drink", + "aliases": [ + "a cup", + "straw", + "cup with straw", + "drink", + "soda", + "cup", + "cups", + "juice" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 202, + 134, + 134 + ] + }, + { + "emoji": "🧋", + "description": "boba tea", + "category": "Food & Drink", + "aliases": [ + "bubble tea", + "taiwan", + "milk", + "boba teas", + "milk tea", + "bubble", + "straw", + "boba tea ", + "tea", + "pearl", + "boba" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 185, + 144, + 102 + ] + }, + { + "emoji": "🧃", + "description": "juice box", + "category": "Food & Drink", + "aliases": [ + "sweet", + "a juice box", + "beverage box", + "box", + "beverage", + "juice boxes", + "straw", + "drink", + "juice" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 97, + 166, + 117 + ] + }, + { + "emoji": "🧉", + "description": "maté", + "category": "Food & Drink", + "aliases": [ + "beverage", + "maté", + "tea", + "drink", + "mate", + "matés" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 108, + 66, + 47 + ] + }, + { + "emoji": "🧊", + "description": "ice", + "category": "Food & Drink", + "aliases": [ + "cold", + "ice", + "water", + "iceberg", + "an ice cube", + "ice cubes", + "ice cube" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 140, + 197, + 229 + ] + }, + { + "emoji": "🥢", + "description": "chopsticks", + "category": "Food & Drink", + "aliases": [ + "chopsticks", + "a chopsticks emoji", + "chopsticks emoji", + "hashi", + "food" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 153, + 77, + 77 + ] + }, + { + "emoji": "🍽️", + "description": "fork and knife", + "category": "Food & Drink", + "aliases": [ + "dinner", + "meal", + "a fork, knife, and plate", + "dining", + "plate", + "fork and knife with plate", + "food", + "fork", + "eat", + "restaurant", + "fork, knife, and plate sets", + "plate with cutlery", + "knife", + "lunch" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 188, + 192, + 196 + ] + }, + { + "emoji": "🍴", + "description": "fork and knife", + "category": "Food & Drink", + "aliases": [ + "kitchen", + "fork and knife", + "a set of silverware", + "cooking", + "sets of silverware", + "fork", + "cutlery", + "knife" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 138, + 147, + 155 + ] + }, + { + "emoji": "🥄", + "description": "spoon", + "category": "Food & Drink", + "aliases": [ + "spoon", + "a spoon emoji", + "kitchen", + "spoon emoji", + "tableware", + "cutlery" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 129, + 138, + 146 + ] + }, + { + "emoji": "🔪", + "description": "knife", + "category": "Food & Drink", + "aliases": [ + "kitchen", + "knife emoji", + "cooking", + "tool", + "hocho", + "chop", + "weapon", + "blade", + "cut", + "a knife emoji", + "kitchen knife", + "cutlery", + "knife" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 142, + 144, + 144 + ] + }, + { + "emoji": "🏺", + "description": "amphora", + "category": "Food & Drink", + "aliases": [ + "amphora emoji", + "cooking", + "amphora", + "vase", + "an amphora emoji", + "jar", + "zodiac", + "drink", + "jug", + "Aquarius" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 159, + 106, + 71 + ] + }, + { + "emoji": "🌍", + "description": "globe showing", + "category": "Travel & Places", + "aliases": [ + "Europe", + "earth africa", + "africa", + "international", + "earth", + "globe showing Europe-Africa", + "a globe showing Europe and Africa emoji", + "world", + "Africa", + "globe showing europe-africa", + "globe showing Europe and Africa emoji", + "globe", + "showing", + "europe" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 104, + 133, + 147 + ] + }, + { + "emoji": "🌎", + "description": "globe showing", + "category": "Travel & Places", + "aliases": [ + "international", + "earth", + "Americas", + "a globe showing the Americas", + "world", + "americas", + "globe showing Americas", + "globe showing americas", + "usa", + "globes showing the Americas", + "globe", + "earth americas", + "showing" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 82, + 119, + 159 + ] + }, + { + "emoji": "🌏", + "description": "globe showing", + "category": "Travel & Places", + "aliases": [ + "international", + "a globe showing Asia and Australia", + "earth", + "Australia", + "east", + "australia", + "globe showing Asia-Australia", + "Asia", + "asia", + "world", + "globes showing Asia and Australia", + "earth asia", + "globe", + "showing", + "globe showing asia-australia" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 101, + 130, + 152 + ] + }, + { + "emoji": "🌐", + "description": "globe with meridians", + "category": "Travel & Places", + "aliases": [ + "international", + "i18n", + "earth", + "meridians", + "world", + "globe with meridians", + "globes with meridians", + "internet", + "interweb", + "globe", + "global", + "a globe with meridians" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 156, + 209, + 228 + ] + }, + { + "emoji": "🗺️", + "description": "world map", + "category": "Travel & Places", + "aliases": [ + "world map", + "world maps", + "world", + "map", + "travel", + "location", + "direction", + "a world map" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 133, + 176, + 184 + ] + }, + { + "emoji": "🗾", + "description": "silhouette of", + "category": "Travel & Places", + "aliases": [ + "map of japan", + "japan", + "country", + "asia", + "map", + "Japan", + "map of Japan", + "japanese", + "a map of Japan emoji", + "map of Japan emoji", + "nation" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 131, + 176, + 221 + ] + }, + { + "emoji": "🧭", + "description": "compass", + "category": "Travel & Places", + "aliases": [ + "compass emoji", + "orienteering", + "magnetic", + "a compass emoji", + "navigation", + "compass" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 189, + 186, + 190 + ] + }, + { + "emoji": "🏔️", + "description": "snow capped", + "category": "Travel & Places", + "aliases": [ + "photo", + "cold", + "snow", + "mountain", + "capped", + "environment", + "a mountain", + "mountain snow", + "nature", + "snow-capped mountain", + "mountains", + "winter" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 136, + 148, + 130 + ] + }, + { + "emoji": "⛰️", + "description": "mountain", + "category": "Travel & Places", + "aliases": [ + "photo", + "mountain", + "a mountain emoji", + "environment", + "nature", + "mountain emoji" + ], + "unicode": "5.2", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 131, + 135, + 108 + ] + }, + { + "emoji": "🌋", + "description": "volcano", + "category": "Travel & Places", + "aliases": [ + "photo", + "disaster", + "mountain", + "eruption", + "volcano emoji", + "nature", + "a volcano emoji", + "volcano" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 158, + 128, + 105 + ] + }, + { + "emoji": "🗻", + "description": "mount fuji", + "category": "Travel & Places", + "aliases": [ + "photo", + "mountain", + "fuji", + "a mountain emoji", + "mount fuji", + "nature", + "japanese", + "mountain emoji", + "mount" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 113, + 122, + 137 + ] + }, + { + "emoji": "🏕️", + "description": "camping", + "category": "Travel & Places", + "aliases": [ + "photo", + "camping emoji", + "tent", + "camping", + "outdoors", + "a camping emoji" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 135, + 109, + 49 + ] + }, + { + "emoji": "🏖️", + "description": "beach with umbrella", + "category": "Travel & Places", + "aliases": [ + "beach with umbrella", + "beach", + "mojito", + "summer", + "weather", + "sand", + "umbrella", + "sunny", + "a beach with umbrella", + "beaches with umbrellas", + "beach umbrella" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 214, + 188, + 133 + ] + }, + { + "emoji": "🏜️", + "description": "desert", + "category": "Travel & Places", + "aliases": [ + "photo", + "warm", + "desert", + "saharah", + "deserts", + "a desert" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 193, + 127, + 53 + ] + }, + { + "emoji": "🏝️", + "description": "desert island", + "category": "Travel & Places", + "aliases": [ + "photo", + "palm tree emoji", + "mojito", + "desert", + "a palm tree emoji", + "tropical", + "island", + "desert island" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 164, + 190, + 123 + ] + }, + { + "emoji": "🏞️", + "description": "national park", + "category": "Travel & Places", + "aliases": [ + "photo", + "national park", + "a nature emoji", + "nature emoji", + "park", + "nature", + "national", + "environment" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 137, + 185, + 176 + ] + }, + { + "emoji": "🏟️", + "description": "stadium", + "category": "Travel & Places", + "aliases": [ + "photo", + "venue", + "stadiums", + "concert", + "a stadium", + "sports", + "place", + "stadium" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 161, + 127, + 111 + ] + }, + { + "emoji": "🏛️", + "description": "classical building", + "category": "Travel & Places", + "aliases": [ + "classical building", + "culture", + "building", + "classical building emoji", + "classical", + "history", + "art", + "a classical building emoji" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 159, + 152, + 128 + ] + }, + { + "emoji": "🏗️", + "description": "building construction", + "category": "Travel & Places", + "aliases": [ + "construction", + "working", + "building construction", + "building", + "wip", + "a building construction emoji", + "progress", + "building construction emoji" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 179, + 119 + ] + }, + { + "emoji": "🧱", + "description": "bricks", + "category": "Travel & Places", + "aliases": [ + "bricks", + "brick", + "a bricks emoji", + "mortar", + "wall", + "bricks emoji", + "clay" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 141, + 57, + 31 + ] + }, + { + "emoji": "🪨", + "description": "rock", + "category": "Travel & Places", + "aliases": [ + "rock emoji", + "boulder", + "heavy", + "a rock emoji", + "solid", + "stone", + "rock" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 99, + 99, + 94 + ] + }, + { + "emoji": "🪵", + "description": "wood", + "category": "Travel & Places", + "aliases": [ + "trunk", + "log", + "wood emoji", + "lumber", + "nature", + "wood", + "a wood emoji", + "timber" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 134, + 103, + 79 + ] + }, + { + "emoji": "🛖", + "description": "hut", + "category": "Travel & Places", + "aliases": [ + "hut", + "structure", + "a hut", + "roundhouse", + "huts", + "house", + "yurt" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 118, + 100, + 78 + ] + }, + { + "emoji": "🏘️", + "description": "group of houses", + "category": "Travel & Places", + "aliases": [ + "photo", + "houses emoji", + "buildings", + "houses" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 155, + 129, + 118 + ] + }, + { + "emoji": "🏚️", + "description": "derelict house", + "category": "Travel & Places", + "aliases": [ + "evict", + "a run-down house emoji", + "derelict", + "building", + "abandon", + "house", + "run-down house emoji", + "broken", + "derelict house" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 175, + 149, + 117 + ] + }, + { + "emoji": "🏠", + "description": "house", + "category": "Travel & Places", + "aliases": [ + "houses", + "building", + "a house", + "house", + "home" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 173, + 144, + 121 + ] + }, + { + "emoji": "🏡", + "description": "house with garden", + "category": "Travel & Places", + "aliases": [ + "garden", + "house with garden", + "a house with garden", + "nature", + "house", + "home", + "houses with gardens", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 154, + 155, + 105 + ] + }, + { + "emoji": "🏢", + "description": "office building", + "category": "Travel & Places", + "aliases": [ + "work", + "building", + "office building", + "bureau", + "a building", + "office", + "buildings" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 144, + 156, + 161 + ] + }, + { + "emoji": "🏣", + "description": "Japanese post", + "category": "Travel & Places", + "aliases": [ + "japanese post office", + "envelope", + "a Japanese post office emoji", + "building", + "post", + "Japanese post office", + "communication", + "Japanese", + "office", + "Japanese post office emoji", + "japanese", + "post office" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 191, + 171, + 149 + ] + }, + { + "emoji": "🏤", + "description": "European post", + "category": "Travel & Places", + "aliases": [ + "building", + "post", + "post office emoji", + "a post office emoji", + "office", + "email", + "post office", + "european post office", + "European" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 176, + 159, + 135 + ] + }, + { + "emoji": "🏥", + "description": "hospital", + "category": "Travel & Places", + "aliases": [ + "hospital emoji", + "surgery", + "building", + "doctor", + "a hospital emoji", + "medicine", + "hospital", + "health" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 163, + 151, + 151 + ] + }, + { + "emoji": "🏦", + "description": "bank", + "category": "Travel & Places", + "aliases": [ + "business", + "bank", + "building", + "enterprise", + "money", + "sales", + "a bank emoji", + "cash", + "bank emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 166, + 169, + 141 + ] + }, + { + "emoji": "🏨", + "description": "hotel", + "category": "Travel & Places", + "aliases": [ + "hotel", + "building", + "checkin", + "hotel emoji", + "accomodation", + "a hotel emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 196, + 162, + 141 + ] + }, + { + "emoji": "🏩", + "description": "love hotel", + "category": "Travel & Places", + "aliases": [ + "like", + "love hotel", + "hotel", + "love hotel emoji", + "dating", + "affection", + "a love hotel emoji", + "love" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 198, + 146, + 167 + ] + }, + { + "emoji": "🏪", + "description": "convenience", + "category": "Travel & Places", + "aliases": [ + "convenience", + "building", + "convenience store", + "groceries", + "convenience store emoji", + "a convenience store emoji", + "store", + "shopping" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 140, + 160, + 152 + ] + }, + { + "emoji": "🏫", + "description": "school", + "category": "Travel & Places", + "aliases": [ + "student", + "school", + "school emoji", + "building", + "education", + "learn", + "a school emoji", + "teach" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 189, + 173, + 146 + ] + }, + { + "emoji": "🏬", + "description": "department store", + "category": "Travel & Places", + "aliases": [ + "building emoji", + "a building emoji", + "department store", + "department", + "building", + "store", + "mall", + "shopping" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 132, + 137, + 145 + ] + }, + { + "emoji": "🏭", + "description": "factory", + "category": "Travel & Places", + "aliases": [ + "factory", + "a factory emoji", + "pollution", + "building", + "industry", + "factory emoji", + "smoke" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 173, + 130, + 110 + ] + }, + { + "emoji": "🏯", + "description": "Japanese castle", + "category": "Travel & Places", + "aliases": [ + "photo", + "building", + "Japanese", + "Japanese castle emoji", + "japanese castle", + "a Japanese castle emoji", + "japanese", + "castle" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 114, + 108, + 111 + ] + }, + { + "emoji": "🏰", + "description": "European castle", + "category": "Travel & Places", + "aliases": [ + "castle emoji", + "building", + "a castle emoji", + "royalty", + "european castle", + "castle", + "history", + "European" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 140, + 128, + 120 + ] + }, + { + "emoji": "💒", + "description": "wedding", + "category": "Travel & Places", + "aliases": [ + "like", + "wedding emoji", + "a wedding emoji", + "wedding", + "couple", + "affection", + "romance", + "marriage", + "chapel", + "love", + "bride", + "groom" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 192, + 130, + 161 + ] + }, + { + "emoji": "🗼", + "description": "Tokyo tower", + "category": "Travel & Places", + "aliases": [ + "photo", + "Tokyo", + "tokyo", + "a Tokyo tower emoji", + "japanese", + "tokyo tower", + "tower", + "Tokyo tower emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 156, + 56, + 47 + ] + }, + { + "emoji": "🗽", + "description": "Statue of Liberty", + "category": "Travel & Places", + "aliases": [ + "newyork", + "statue of liberty", + "Statue of Liberty", + "statue", + "Statue of Liberty emoji", + "a Statue of Liberty emoji", + "liberty", + "american" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 113, + 168, + 161 + ] + }, + { + "emoji": "⛪", + "description": "church", + "category": "Travel & Places", + "aliases": [ + "building", + "cross", + "christ", + "church", + "religion", + "Christian" + ], + "unicode": "5.2", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 180, + 171, + 174 + ] + }, + { + "emoji": "🕌", + "description": "mosque", + "category": "Travel & Places", + "aliases": [ + "mosque", + "minaret", + "worship", + "mosque emoji", + "islam", + "Muslim", + "a mosque emoji", + "religion" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 207, + 159, + 119 + ] + }, + { + "emoji": "🛕", + "description": "hindu temple", + "category": "Travel & Places", + "aliases": [ + "a temple", + "hindu", + "temple", + "temples", + "hindu temple", + "religion" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 193, + 120, + 84 + ] + }, + { + "emoji": "🕍", + "description": "synagogue", + "category": "Travel & Places", + "aliases": [ + "synagogue", + "synagogue emoji", + "judaism", + "worship", + "jewish", + "a synagogue emoji", + "Jew", + "Jewish", + "temple", + "religion" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 178, + 145, + 107 + ] + }, + { + "emoji": "⛩️", + "description": "Shinto shrine", + "category": "Travel & Places", + "aliases": [ + "Shinto shrine emoji", + "shinto shrine", + "shrine", + "japan", + "shinto", + "kyoto", + "temple", + "a Shinto shrine emoji" + ], + "unicode": "5.2", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 165, + 55, + 28 + ] + }, + { + "emoji": "🕋", + "description": "Kaaba", + "category": "Travel & Places", + "aliases": [ + "mosque", + "kaaba", + "mecca", + "a Kaaba emoji", + "islam", + "Kaaba emoji", + "Muslim", + "religion" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 63, + 59, + 52 + ] + }, + { + "emoji": "⛲", + "description": "fountain", + "category": "Travel & Places", + "aliases": [ + "photo", + "water", + "summer", + "fresh", + "fountain" + ], + "unicode": "5.2", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 141, + 164, + 163 + ] + }, + { + "emoji": "⛺", + "description": "tent", + "category": "Travel & Places", + "aliases": [ + "photo", + "tent", + "camping", + "outdoors" + ], + "unicode": "5.2", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 104, + 56 + ] + }, + { + "emoji": "🌁", + "description": "bridge under", + "category": "Travel & Places", + "aliases": [ + "photo", + "mountain", + "fog", + "foggy", + "fog emoji", + "karl", + "a fog emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 201, + 210, + 218 + ] + }, + { + "emoji": "🌃", + "description": "night with stars", + "category": "Travel & Places", + "aliases": [ + "downtown", + "night", + "star", + "evening", + "city with stars emoji", + "night with stars", + "city", + "a city with stars emoji", + "stars" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 90, + 126, + 150 + ] + }, + { + "emoji": "🏙️", + "description": "cityscape", + "category": "Travel & Places", + "aliases": [ + "photo", + "skyline", + "urban", + "cityscape emoji", + "night life", + "a cityscape emoji", + "cityscape" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 130, + 164, + 197 + ] + }, + { + "emoji": "🌄", + "description": "sunrise over", + "category": "Travel & Places", + "aliases": [ + "photo", + "mountain", + "sunrise over mountains emoji", + "sunrise over mountains", + "vacation", + "over", + "view", + "sunrise", + "sun", + "morning", + "a sunrise over mountains emoji", + "mountains" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 155, + 127, + 128 + ] + }, + { + "emoji": "🌅", + "description": "sunrise", + "category": "Travel & Places", + "aliases": [ + "photo", + "vacation", + "sunrise emoji", + "view", + "sunrise", + "sun", + "morning", + "a sunrise emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 207, + 158, + 119 + ] + }, + { + "emoji": "🌆", + "description": "cityscape at", + "category": "Travel & Places", + "aliases": [ + "photo", + "cityscape at dusk", + "buildings", + "sunset", + "landscape", + "dusk", + "good evening", + "evening", + "city", + "city sunset", + "cityscape", + "city sunset emoji", + "at", + "sky", + "a city sunset emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 189, + 134, + 95 + ] + }, + { + "emoji": "🌇", + "description": "sunset over", + "category": "Travel & Places", + "aliases": [ + "photo", + "sunset", + "good evening", + "city sunrise", + "sun", + "dawn", + "dusk", + "city sunset emoji", + "good morning", + "a city sunset emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 210, + 148, + 96 + ] + }, + { + "emoji": "🌉", + "description": "bridge at night", + "category": "Travel & Places", + "aliases": [ + "photo", + "bridge at night emoji", + "night", + "bridge", + "bridge at night", + "a bridge at night emoji", + "at", + "sanfrancisco" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 114, + 107, + 108 + ] + }, + { + "emoji": "♨️", + "description": "hot springs", + "category": "Travel & Places", + "aliases": [ + "warm", + "bath", + "springs", + "hot", + "hot symbols", + "hotsprings", + "hot springs", + "hot symbol", + "relax" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 210, + 10, + 10 + ] + }, + { + "emoji": "🎠", + "description": "carousel horse", + "category": "Travel & Places", + "aliases": [ + "photo", + "carousel", + "carousel horse", + "carousel horse emoji", + "horse", + "carnival", + "a carousel horse emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 172, + 154, + 135 + ] + }, + { + "emoji": "🎡", + "description": "ferris wheel", + "category": "Travel & Places", + "aliases": [ + "photo", + "amusement park", + "ferris wheel", + "wheel", + "londoneye", + "ferris wheel emoji", + "a ferris wheel emoji", + "carnival", + "ferris" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 156, + 97, + 110 + ] + }, + { + "emoji": "🎢", + "description": "roller coaster", + "category": "Travel & Places", + "aliases": [ + "photo", + "a roller coaster emoji", + "roller", + "amusement park", + "coaster", + "roller coaster emoji", + "playground", + "roller coaster", + "carnival", + "fun" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 138, + 143, + 74 + ] + }, + { + "emoji": "💈", + "description": "barber pole", + "category": "Travel & Places", + "aliases": [ + "barber poles", + "barber", + "style", + "a barber pole", + "barber pole", + "pole", + "hair", + "salon", + "haircut" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 161, + 127, + 169 + ] + }, + { + "emoji": "🎪", + "description": "circus tent", + "category": "Travel & Places", + "aliases": [ + "circus", + "circus tent emoji", + "circus tent", + "tent", + "a circus tent emoji", + "party", + "carnival", + "festival" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 205, + 133, + 122 + ] + }, + { + "emoji": "🚂", + "description": "steam locomotive", + "category": "Travel & Places", + "aliases": [ + "transportation", + "steam locomotive", + "locomotive", + "a locomotive", + "railway", + "vehicle", + "train", + "engine", + "steam", + "locomotives" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 144, + 96, + 85 + ] + }, + { + "emoji": "🚃", + "description": "railway car", + "category": "Travel & Places", + "aliases": [ + "transportation", + "trolleybus", + "railway", + "a railway car emoji", + "vehicle", + "car", + "train", + "electric", + "tram", + "railway car", + "railway car emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 152, + 162, + 111 + ] + }, + { + "emoji": "🚄", + "description": "high-speed train", + "category": "Travel & Places", + "aliases": [ + "transportation", + "railway", + "bullettrain side", + "vehicle", + "high-speed train", + "train", + "high", + "high-speed train emoji", + "speed", + "a high-speed train emoji", + "shinkansen" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 133, + 142, + 149 + ] + }, + { + "emoji": "🚅", + "description": "high-speed train", + "category": "Travel & Places", + "aliases": [ + "transportation", + "public", + "bullet", + "bullet train emoji", + "railway", + "vehicle", + "bullettrain front", + "train", + "travel", + "fast", + "bullet train", + "speed", + "a bullet train emoji", + "shinkansen" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 143, + 151, + 157 + ] + }, + { + "emoji": "🚆", + "description": "train", + "category": "Travel & Places", + "aliases": [ + "transportation", + "railway", + "vehicle", + "train", + "a train emoji", + "train2", + "train emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 113, + 135, + 156 + ] + }, + { + "emoji": "🚇", + "description": "subway train", + "category": "Travel & Places", + "aliases": [ + "transportation", + "subway train emoji", + "subway", + "square", + "blue-square", + "tube", + "blue", + "a subway train emoji", + "underground", + "mrt", + "metro" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 90, + 81, + 81 + ] + }, + { + "emoji": "🚈", + "description": "light rail", + "category": "Travel & Places", + "aliases": [ + "transportation", + "railway", + "vehicle", + "light", + "rail", + "light rail emoji", + "a light rail emoji", + "light rail" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 87, + 104, + 126 + ] + }, + { + "emoji": "🚉", + "description": "station", + "category": "Travel & Places", + "aliases": [ + "transportation", + "public", + "station emoji", + "railway", + "vehicle", + "train", + "station", + "a station emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 93, + 102, + 103 + ] + }, + { + "emoji": "🚊", + "description": "tram", + "category": "Travel & Places", + "aliases": [ + "transportation", + "trolleybus", + "vehicle", + "tram emoji", + "tram", + "a tram emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 87, + 106, + 108 + ] + }, + { + "emoji": "🚝", + "description": "monorail", + "category": "Travel & Places", + "aliases": [ + "transportation", + "a monorail emoji", + "vehicle", + "monorail emoji", + "monorail" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 105, + 116, + 131 + ] + }, + { + "emoji": "🚞", + "description": "mountain railway", + "category": "Travel & Places", + "aliases": [ + "transportation", + "mountain railway", + "mountain railway emoji", + "mountain", + "railway", + "car", + "vehicle", + "a mountain railway emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 151, + 159, + 129 + ] + }, + { + "emoji": "🚋", + "description": "tram car", + "category": "Travel & Places", + "aliases": [ + "transportation", + "public", + "trolleybus", + "car", + "tram car", + "vehicle", + "train", + "travel", + "tram car emoji", + "tram", + "carriage", + "a tram car emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 125, + 133, + 117 + ] + }, + { + "emoji": "🚌", + "description": "bus", + "category": "Travel & Places", + "aliases": [ + "transportation", + "bus emoji", + "car", + "vehicle", + "a bus emoji", + "bus" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🚌", + "🚍" + ], + "rgb": [ + 156, + 155, + 116 + ] + }, + { + "emoji": "🚍", + "description": "oncoming bus", + "category": "Travel & Places", + "aliases": [ + "transportation", + "oncoming bus", + "a bus emoji", + "bus emoji", + "oncoming", + "vehicle", + "bus" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🚌", + "🚍" + ], + "rgb": [ + 120, + 128, + 118 + ] + }, + { + "emoji": "🚎", + "description": "trolleybus", + "category": "Travel & Places", + "aliases": [ + "transportation", + "trolleybus", + "bart", + "vehicle", + "trolleybus emoji", + "tram", + "trolley", + "bus", + "a trolleybus emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 96, + 137, + 160 + ] + }, + { + "emoji": "🚐", + "description": "minibus", + "category": "Travel & Places", + "aliases": [ + "transportation", + "minibus emoji", + "car", + "vehicle", + "minibus", + "bus", + "a minibus emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 142, + 154, + 153 + ] + }, + { + "emoji": "🚑", + "description": "ambulance", + "category": "Travel & Places", + "aliases": [ + "ambulance", + "an ambulance emoji", + "vehicle", + "ambulance emoji", + "hospital", + "health", + "911" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 164, + 147, + 152 + ] + }, + { + "emoji": "🚒", + "description": "fire engine", + "category": "Travel & Places", + "aliases": [ + "transportation", + "fire engine emoji", + "vehicle", + "truck", + "fire", + "fire engine", + "engine", + "cars", + "a fire engine emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 180, + 79, + 79 + ] + }, + { + "emoji": "🚓", + "description": "police car", + "category": "Travel & Places", + "aliases": [ + "transportation", + "patrol", + "police car", + "a police car emoji", + "vehicle", + "law", + "car", + "legal", + "police", + "cars", + "police car emoji", + "enforcement" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 112, + 123, + 126 + ] + }, + { + "emoji": "🚔", + "description": "oncoming police", + "category": "Travel & Places", + "aliases": [ + "oncoming police car", + "oncoming", + "a police car emoji", + "vehicle", + "law", + "car", + "legal", + "police", + "police car emoji", + "enforcement", + "911" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 103, + 114, + 120 + ] + }, + { + "emoji": "🚕", + "description": "taxi", + "category": "Travel & Places", + "aliases": [ + "transportation", + "taxi", + "vehicle", + "uber", + "taxi emoji", + "a taxi emoji", + "cars" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 150, + 136, + 70 + ] + }, + { + "emoji": "🚖", + "description": "oncoming taxi", + "category": "Travel & Places", + "aliases": [ + "oncoming", + "taxi", + "vehicle", + "uber", + "taxi emoji", + "oncoming taxi", + "a taxi emoji", + "cars" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 142, + 131, + 92 + ] + }, + { + "emoji": "🚗", + "description": "car", + "category": "Travel & Places", + "aliases": [ + "transportation", + "red car", + "car", + "vehicle", + "automobile", + "red", + "car emoji", + "a car emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🚗", + "🚘", + "🚙" + ], + "rgb": [ + 174, + 77, + 75 + ] + }, + { + "emoji": "🚘", + "description": "oncoming car", + "category": "Travel & Places", + "aliases": [ + "transportation", + "oncoming", + "car", + "vehicle", + "automobile", + "oncoming automobile", + "car emoji", + "a car emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🚗", + "🚘", + "🚙" + ], + "rgb": [ + 151, + 86, + 89 + ] + }, + { + "emoji": "🚙", + "description": "sport utility", + "category": "Travel & Places", + "aliases": [ + "transportation", + "sport utility", + "recreational", + "utility", + "blue car", + "vehicle", + "an S.U.V. emoji", + "S.U.V. emoji", + "sport utility vehicle", + "sport" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🚗", + "🚘", + "🚙" + ], + "rgb": [ + 71, + 135, + 161 + ] + }, + { + "emoji": "🛻", + "description": "pickup truck", + "category": "Travel & Places", + "aliases": [ + "transportation", + "pickup truck emoji", + "car", + "truck", + "pickup", + "pickup truck", + "a pickup truck emoji", + "pick-up" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 67, + 110, + 114 + ] + }, + { + "emoji": "🚚", + "description": "delivery truck", + "category": "Travel & Places", + "aliases": [ + "transportation", + "truck emoji", + "delivery truck", + "delivery", + "truck", + "a truck emoji", + "cars" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🚚", + "🚛" + ], + "rgb": [ + 181, + 116, + 58 + ] + }, + { + "emoji": "🚛", + "description": "articulated", + "category": "Travel & Places", + "aliases": [ + "transportation", + "truck emoji", + "lorry", + "vehicle", + "truck", + "articulated lorry", + "semi", + "a truck emoji", + "articulated", + "cars", + "express" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🚚", + "🚛" + ], + "rgb": [ + 74, + 126, + 79 + ] + }, + { + "emoji": "🚜", + "description": "tractor", + "category": "Travel & Places", + "aliases": [ + "agriculture", + "car", + "tractor emoji", + "vehicle", + "a tractor emoji", + "farming", + "tractor" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 120, + 114, + 50 + ] + }, + { + "emoji": "🏎️", + "description": "race car", + "category": "Travel & Places", + "aliases": [ + "racing car", + "racing", + "car", + "a race car emoji", + "race car emoji", + "f1", + "fast", + "formula", + "sports", + "race" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 162, + 62, + 63 + ] + }, + { + "emoji": "🏍️", + "description": "motorcycle", + "category": "Travel & Places", + "aliases": [ + "motorcycle", + "a motorcycle", + "fast", + "sports", + "motorcycles", + "race" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 93, + 96, + 96 + ] + }, + { + "emoji": "🛵", + "description": "motor scooter", + "category": "Travel & Places", + "aliases": [ + "sasha", + "a motor scooter emoji", + "motor", + "vehicle", + "vespa", + "motor scooter emoji", + "scooter", + "motor scooter" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 162, + 134, + 70 + ] + }, + { + "emoji": "🦽", + "description": "manual wheelchair", + "category": "Travel & Places", + "aliases": [ + "accessibility", + "wheelchair", + "wheelchairs", + "manual", + "manual wheelchair", + "a wheelchair" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 57, + 57, + 58 + ] + }, + { + "emoji": "🦼", + "description": "motorized wheelchair", + "category": "Travel & Places", + "aliases": [ + "motorized wheelchair", + "motorized", + "accessibility", + "a wheelchair emoji", + "wheelchair emoji", + "wheelchair" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 78, + 63, + 63 + ] + }, + { + "emoji": "🛺", + "description": "auto rickshaw", + "category": "Travel & Places", + "aliases": [ + "transportation", + "tuk tuk", + "rickshaw emoji", + "auto rickshaw", + "rickshaw", + "a rickshaw emoji", + "move", + "auto" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 111, + 135, + 57 + ] + }, + { + "emoji": "🚲", + "description": "bicycle", + "category": "Travel & Places", + "aliases": [ + "bike", + "bicycle", + "a bicycle emoji", + "bicycle emoji", + "exercise", + "sports", + "hipster" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🚲", + "🚴", + "🚵" + ], + "rgb": [ + 82, + 98, + 117 + ] + }, + { + "emoji": "🛴", + "description": "scooter", + "category": "Travel & Places", + "aliases": [ + "scooter emoji", + "a scooter emoji", + "razor", + "vehicle", + "scooter", + "kick scooter", + "kick" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 71, + 81, + 89 + ] + }, + { + "emoji": "🛹", + "description": "skateboard", + "category": "Travel & Places", + "aliases": [ + "a skateboard emoji", + "skateboard emoji", + "board", + "skateboard" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 94, + 93, + 62 + ] + }, + { + "emoji": "🛼", + "description": "roller skate", + "category": "Travel & Places", + "aliases": [ + "roller", + "roller skate emoji", + "a roller skate emoji", + "skate", + "roller skate", + "footwear", + "sports" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 137, + 171, + 174 + ] + }, + { + "emoji": "🚏", + "description": "bus stop", + "category": "Travel & Places", + "aliases": [ + "transportation", + "bus stop", + "busstop", + "bus stop emoji", + "stop", + "a bus stop emoji", + "bus", + "wait" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 159, + 154, + 162 + ] + }, + { + "emoji": "🛣️", + "description": "motorway", + "category": "Travel & Places", + "aliases": [ + "motorway emoji", + "road", + "cupertino", + "interstate", + "motorway", + "a motorway emoji", + "highway" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 118, + 147, + 98 + ] + }, + { + "emoji": "🛤️", + "description": "railway track", + "category": "Travel & Places", + "aliases": [ + "transportation", + "track", + "railway", + "railway track", + "train", + "a railway track emoji", + "railway track emoji" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 107, + 103, + 65 + ] + }, + { + "emoji": "🛢️", + "description": "oil drum", + "category": "Travel & Places", + "aliases": [ + "oil drums", + "oil", + "drum", + "barrell", + "oil drum", + "an oil drum" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 151, + 78, + 78 + ] + }, + { + "emoji": "⛽", + "description": "fuel pump", + "category": "Travel & Places", + "aliases": [ + "pump", + "gas", + "gas station", + "diesel", + "station", + "petroleum", + "fuelpump", + "fuel pump", + "fuel" + ], + "unicode": "5.2", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 178, + 79, + 84 + ] + }, + { + "emoji": "🚨", + "description": "police car’s", + "category": "Travel & Places", + "aliases": [ + "error", + "beacon", + "pinged", + "ambulance", + "emergency", + "alert", + "car", + "law", + "police", + "light", + "police car light", + "a police car light emoji", + "revolving", + "legal", + "rotating light", + "police car light emoji", + "911" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 218, + 104, + 92 + ] + }, + { + "emoji": "🚥", + "description": "horizontal traffic", + "category": "Travel & Places", + "aliases": [ + "transportation", + "horizontal", + "horizontal traffic light", + "horizontal traffic light emoji", + "signal", + "light", + "traffic", + "traffic light", + "a horizontal traffic light emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 112, + 108, + 88 + ] + }, + { + "emoji": "🚦", + "description": "vertical traffic", + "category": "Travel & Places", + "aliases": [ + "transportation", + "traffic light emoji", + "a traffic light emoji", + "driving", + "semaphore", + "vertical traffic light", + "vertical", + "signal", + "light", + "traffic" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 105, + 99, + 78 + ] + }, + { + "emoji": "🛑", + "description": "octagonal sign", + "category": "Travel & Places", + "aliases": [ + "stop sign", + "a stop sign", + "octagonal", + "stop", + "sign", + "stop signs" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 225, + 79, + 46 + ] + }, + { + "emoji": "🚧", + "description": "construction", + "category": "Travel & Places", + "aliases": [ + "construction", + "barrier", + "wip", + "warning", + "a construction emoji", + "caution", + "progress", + "construction emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 154, + 132, + 54 + ] + }, + { + "emoji": "⚓", + "description": "anchor", + "category": "Travel & Places", + "aliases": [ + "sea", + "boat", + "ship", + "tool", + "anchor", + "ferry" + ], + "unicode": "4.1", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 118, + 120, + 124 + ] + }, + { + "emoji": "⛵", + "description": "sailboat", + "category": "Travel & Places", + "aliases": [ + "transportation", + "sea", + "water", + "boat", + "yacht", + "ship", + "summer", + "resort", + "sailing", + "sailboat" + ], + "unicode": "5.2", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 184, + 104, + 55 + ] + }, + { + "emoji": "🛶", + "description": "canoe", + "category": "Travel & Places", + "aliases": [ + "canoe emoji", + "water", + "boat", + "canoe", + "ship", + "a canoe emoji", + "paddle" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 77, + 98, + 39 + ] + }, + { + "emoji": "🚤", + "description": "speedboat", + "category": "Travel & Places", + "aliases": [ + "transportation", + "boat", + "ship", + "speedboat", + "summer", + "vehicle", + "speedboat emoji", + "a speedboat emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🚤", + "🛥", + "⛵️" + ], + "rgb": [ + 185, + 155, + 88 + ] + }, + { + "emoji": "🛳️", + "description": "passenger ship", + "category": "Travel & Places", + "aliases": [ + "cruise", + "ship", + "yacht", + "ship emoji", + "passenger ship", + "a ship emoji", + "passenger", + "ferry" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 183, + 175, + 177 + ] + }, + { + "emoji": "⛴️", + "description": "ferry", + "category": "Travel & Places", + "aliases": [ + "boat", + "yacht", + "ship", + "ferries", + "a ferry", + "ferry" + ], + "unicode": "5.2", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 133, + 144, + 173 + ] + }, + { + "emoji": "🛥️", + "description": "motorboat", + "category": "Travel & Places", + "aliases": [ + "boat", + "a motor boat", + "motor", + "ship", + "motor boat", + "motor boats" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 152, + 169, + 177 + ] + }, + { + "emoji": "🚢", + "description": "ship", + "category": "Travel & Places", + "aliases": [ + "transportation", + "boat", + "ship", + "ship emoji", + "a ship emoji", + "deploy", + "passenger", + "titanic" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 176, + 132, + 126 + ] + }, + { + "emoji": "✈️", + "description": "airplane", + "category": "Travel & Places", + "aliases": [ + "transportation", + "fly", + "flight", + "vehicle", + "an airplane", + "airplane", + "airplanes" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "✈️", + "🛩", + "🛫" + ], + "rgb": [ + 105, + 157, + 180 + ] + }, + { + "emoji": "🛩️", + "description": "small airplane", + "category": "Travel & Places", + "aliases": [ + "transportation", + "small", + "fly", + "flight", + "small airplane emoji", + "vehicle", + "airplane", + "a small airplane emoji", + "small airplane" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 162, + 170, + 178 + ] + }, + { + "emoji": "🛫", + "description": "airplane taking", + "category": "Travel & Places", + "aliases": [ + "departures", + "flight", + "airport", + "check-in", + "flight departure", + "an airplane taking off emoji", + "airplane", + "landing", + "airplane departure", + "aeroplane", + "departure", + "airplane taking off emoji" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [ + "✈️", + "🛩", + "🛫" + ], + "rgb": [ + 103, + 129, + 160 + ] + }, + { + "emoji": "🛬", + "description": "airplane landing", + "category": "Travel & Places", + "aliases": [ + "flight arrival", + "flight", + "airport", + "an airplane landing emoji", + "airplane landing emoji", + "arrival", + "boarding", + "airplane", + "airplane arrival", + "landing", + "arrivals", + "aeroplane", + "arriving" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 101, + 129, + 161 + ] + }, + { + "emoji": "🪂", + "description": "parachute", + "category": "Travel & Places", + "aliases": [ + "fly", + "glide", + "parasail", + "a parachute", + "skydive", + "parachute", + "parachutes", + "hang-glide" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 181, + 92, + 41 + ] + }, + { + "emoji": "💺", + "description": "seat", + "category": "Travel & Places", + "aliases": [ + "fly", + "flight", + "sit", + "transport", + "airplane", + "chair", + "a seat emoji", + "seat", + "bus", + "seat emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 116, + 125, + 152 + ] + }, + { + "emoji": "🚁", + "description": "helicopter", + "category": "Travel & Places", + "aliases": [ + "transportation", + "fly", + "helicopter", + "a helicopter", + "vehicle", + "helicopters" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 169, + 116, + 118 + ] + }, + { + "emoji": "🚟", + "description": "suspension railway", + "category": "Travel & Places", + "aliases": [ + "transportation", + "railway", + "vehicle", + "a suspension railway emoji", + "suspension", + "suspension railway emoji", + "suspension railway" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 130, + 136, + 121 + ] + }, + { + "emoji": "🚠", + "description": "mountain cableway", + "category": "Travel & Places", + "aliases": [ + "transportation", + "gondola", + "ski", + "mountain", + "a mountain cableway emoji", + "vehicle", + "mountain cableway", + "mountain cableway emoji", + "cableway", + "cable" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 107, + 92, + 96 + ] + }, + { + "emoji": "🚡", + "description": "aerial tramway", + "category": "Travel & Places", + "aliases": [ + "transportation", + "gondola", + "ski", + "car", + "vehicle", + "aerial tramway emoji", + "tramway", + "aerial tramway", + "cable", + "aerial", + "an aerial tramway emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 137, + 128, + 77 + ] + }, + { + "emoji": "🛰️", + "description": "satellite", + "category": "Travel & Places", + "aliases": [ + "a satellite emoji", + "nasa", + "gps", + "spaceflight", + "space", + "satellite emoji", + "iss", + "communication", + "satellite", + "artificial satellite", + "orbit" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 88, + 97, + 124 + ] + }, + { + "emoji": "🚀", + "description": "rocket", + "category": "Travel & Places", + "aliases": [ + "fly", + "rocket", + "nasa", + "ship", + "space", + "outer space", + "launch", + "a rocket", + "staffmode", + "outer", + "rockets" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 159, + 109, + 88 + ] + }, + { + "emoji": "🛸", + "description": "UFO", + "category": "Travel & Places", + "aliases": [ + "transportation", + "flying", + "UFO", + "vehicle", + "saucer", + "UFO emoji", + "a UFO emoji", + "flying saucer", + "ufo" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 103, + 125, + 127 + ] + }, + { + "emoji": "🛎️", + "description": "bellhop bell", + "category": "Travel & Places", + "aliases": [ + "bell", + "a bell", + "bellhop bell", + "bellhop", + "service", + "bells" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 157, + 127, + 55 + ] + }, + { + "emoji": "🧳", + "description": "luggage", + "category": "Travel & Places", + "aliases": [ + "a luggage emoji", + "packing", + "luggage", + "travel", + "luggage emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 82, + 59, + 43 + ] + }, + { + "emoji": "⌛", + "description": "hourglass done", + "category": "Travel & Places", + "aliases": [ + "limit", + "timer", + "hourglass", + "exam", + "sand", + "test", + "time", + "clock", + "done", + "quiz", + "hourglass done", + "oldschool" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 171, + 153, + 143 + ] + }, + { + "emoji": "⏳", + "description": "hourglass with", + "category": "Travel & Places", + "aliases": [ + "timer", + "hourglasses", + "hourglass", + "sand", + "time", + "countdown", + "not", + "done", + "hourglass flowing sand", + "an hourglass", + "oldschool", + "hourglass not done" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 165, + 147, + 134 + ] + }, + { + "emoji": "⌚", + "description": "watch", + "category": "Travel & Places", + "aliases": [ + "clock", + "watch", + "accessories", + "time" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 74, + 74, + 73 + ] + }, + { + "emoji": "⏰", + "description": "alarm clock", + "category": "Travel & Places", + "aliases": [ + "wake", + "an alarm clock", + "time", + "clock", + "alarm clocks", + "morning", + "alarm", + "alarm clock" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 156, + 157 + ] + }, + { + "emoji": "⏱️", + "description": "stopwatch", + "category": "Travel & Places", + "aliases": [ + "stopwatch", + "stopwatches", + "deadline", + "time", + "a stopwatch" + ], + "unicode": "6.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 192, + 193, + 195 + ] + }, + { + "emoji": "⏲️", + "description": "timer clock", + "category": "Travel & Places", + "aliases": [ + "timer clocks", + "timer", + "clock", + "alarm", + "timer clock", + "a timer clock" + ], + "unicode": "6.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 198, + 198, + 197 + ] + }, + { + "emoji": "🕰️", + "description": "mantelpiece", + "category": "Travel & Places", + "aliases": [ + "a mantelpiece clock emoji", + "time", + "clock", + "mantelpiece clock", + "mantelpiece", + "mantelpiece clock emoji" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 162, + 133, + 113 + ] + }, + { + "emoji": "🕛", + "description": "twelve o’clock", + "category": "Travel & Places", + "aliases": [ + "noon", + "twelve", + "o’clock", + "twelve o’clock emoji", + "early", + "clock12", + "twelve o'clock", + "midday", + "schedule", + "12:00", + "midnight", + "a twelve o’clock emoji", + "time", + "00", + "clock", + "o", + "12", + "late" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 207, + 208, + 209 + ] + }, + { + "emoji": "🕧", + "description": "twelve-thirty", + "category": "Travel & Places", + "aliases": [ + "twelve", + "early", + "12:30", + "clocks at twelve-thirty", + "schedule", + "time", + "clock", + "thirty", + "twelve-thirty", + "a clock at twelve-thirty", + "late", + "12", + "clock1230" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 207, + 209 + ] + }, + { + "emoji": "🕐", + "description": "one o’clock", + "category": "Travel & Places", + "aliases": [ + "a one o’clock emoji", + "early", + "o’clock", + "1:00", + "schedule", + "1", + "time", + "clock", + "00", + "one", + "one o'clock", + "o", + "one o’clock emoji", + "late", + "clock1" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 207, + 208 + ] + }, + { + "emoji": "🕜", + "description": "one-thirty", + "category": "Travel & Places", + "aliases": [ + "early", + "1:30", + "schedule", + "a clock at one-thirty", + "1", + "time", + "thirty", + "clock", + "one", + "one-thirty", + "late", + "clocks at one-thirty", + "clock130" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 207, + 208 + ] + }, + { + "emoji": "🕑", + "description": "two o’clock", + "category": "Travel & Places", + "aliases": [ + "2", + "two", + "o’clock", + "early", + "clock2", + "two o’clock emoji", + "a two o’clock emoji", + "schedule", + "time", + "clock", + "00", + "o", + "late", + "2:00", + "two o'clock" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 205, + 207, + 208 + ] + }, + { + "emoji": "🕝", + "description": "two-thirty", + "category": "Travel & Places", + "aliases": [ + "2:30", + "2", + "clocks at two-thirty", + "two", + "early", + "schedule", + "time", + "thirty", + "clock", + "late", + "clock230", + "a clock at two-thirty", + "two-thirty" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 207, + 208 + ] + }, + { + "emoji": "🕒", + "description": "three o’clock", + "category": "Travel & Places", + "aliases": [ + "a three o’clock emoji", + "early", + "o’clock", + "three", + "three o'clock", + "three o’clock emoji", + "schedule", + "clock3", + "time", + "clock", + "00", + "3", + "o", + "late", + "3:00" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 205, + 207, + 208 + ] + }, + { + "emoji": "🕞", + "description": "three-thirty", + "category": "Travel & Places", + "aliases": [ + "clock330", + "early", + "three", + "clocks at three-thirty", + "schedule", + "three-thirty", + "time", + "clock", + "thirty", + "3:30", + "late", + "3", + "a clock at three-thirty" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 207, + 208 + ] + }, + { + "emoji": "🕓", + "description": "four o’clock", + "category": "Travel & Places", + "aliases": [ + "four o'clock", + "early", + "o’clock", + "schedule", + "four o’clock emoji", + "a four o’clock emoji", + "4:00", + "time", + "clock", + "00", + "4", + "clock4", + "o", + "late", + "four" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 205, + 207, + 208 + ] + }, + { + "emoji": "🕟", + "description": "four-thirty", + "category": "Travel & Places", + "aliases": [ + "clock430", + "early", + "clocks at four-thirty", + "a clock at four-thirty", + "four-thirty", + "schedule", + "time", + "clock", + "thirty", + "4", + "4:30", + "late", + "four" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 207, + 209 + ] + }, + { + "emoji": "🕔", + "description": "five o’clock", + "category": "Travel & Places", + "aliases": [ + "five o’clock emoji", + "a five o’clock emoji", + "early", + "o’clock", + "5:00", + "schedule", + "five", + "time", + "clock", + "00", + "clock5", + "o", + "5", + "late", + "five o'clock" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 205, + 207, + 208 + ] + }, + { + "emoji": "🕠", + "description": "five-thirty", + "category": "Travel & Places", + "aliases": [ + "early", + "five-thirty", + "5:30", + "a clock at five-thirty", + "schedule", + "five", + "time", + "thirty", + "clock", + "clocks at five-thirty", + "late", + "5", + "clock530" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 207, + 209 + ] + }, + { + "emoji": "🕕", + "description": "six o’clock", + "category": "Travel & Places", + "aliases": [ + "6:00", + "early", + "o’clock", + "dusk", + "six o’clock emoji", + "a six o’clock emoji", + "schedule", + "6", + "time", + "clock", + "00", + "clock6", + "six", + "o", + "late", + "six o'clock", + "dawn" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 207, + 208 + ] + }, + { + "emoji": "🕡", + "description": "six-thirty", + "category": "Travel & Places", + "aliases": [ + "six-thirty", + "clocks at six-thirty", + "early", + "a clock at six-thirty", + "schedule", + "6", + "6:30", + "time", + "clock", + "thirty", + "six", + "late", + "clock630" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 207, + 208, + 210 + ] + }, + { + "emoji": "🕖", + "description": "seven o’clock", + "category": "Travel & Places", + "aliases": [ + "a seven o’clock emoji", + "early", + "seven o’clock emoji", + "o’clock", + "schedule", + "clock7", + "seven o'clock", + "time", + "clock", + "00", + "7", + "o", + "seven", + "late", + "7:00" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 205, + 207, + 208 + ] + }, + { + "emoji": "🕢", + "description": "seven-thirty", + "category": "Travel & Places", + "aliases": [ + "early", + "clocks at seven-thirty", + "schedule", + "seven-thirty", + "7:30", + "time", + "a clock at seven-thirty", + "clock", + "thirty", + "7", + "late", + "seven", + "clock730" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 207, + 209 + ] + }, + { + "emoji": "🕗", + "description": "eight o’clock", + "category": "Travel & Places", + "aliases": [ + "eight o’clock emoji", + "early", + "o’clock", + "clock8", + "schedule", + "eight", + "time", + "clock", + "00", + "an eight o’clock emoji", + "o", + "eight o'clock", + "8:00", + "late", + "8" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 205, + 207, + 208 + ] + }, + { + "emoji": "🕣", + "description": "eight-thirty", + "category": "Travel & Places", + "aliases": [ + "early", + "a clock at eight-thirty", + "clock830", + "schedule", + "8:30", + "eight", + "time", + "clock", + "thirty", + "eight-thirty", + "late", + "8", + "clocks at eight-thirty" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 207, + 209 + ] + }, + { + "emoji": "🕘", + "description": "nine o’clock", + "category": "Travel & Places", + "aliases": [ + "nine", + "early", + "o’clock", + "9", + "nine o’clock emoji", + "schedule", + "9:00", + "clock9", + "time", + "clock", + "00", + "a nine o’clock emoji", + "o", + "late", + "nine o'clock" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 205, + 207, + 208 + ] + }, + { + "emoji": "🕤", + "description": "nine-thirty", + "category": "Travel & Places", + "aliases": [ + "clocks at nine-thirty", + "nine", + "a clock at nine-thirty", + "early", + "9", + "schedule", + "time", + "thirty", + "clock", + "9:30", + "clock930", + "late", + "nine-thirty" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 207, + 208 + ] + }, + { + "emoji": "🕙", + "description": "ten o’clock", + "category": "Travel & Places", + "aliases": [ + "10:00", + "a ten o’clock emoji", + "early", + "o’clock", + "clock10", + "ten o'clock", + "schedule", + "ten", + "time", + "clock", + "00", + "ten o’clock emoji", + "10", + "o", + "late" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 205, + 207, + 208 + ] + }, + { + "emoji": "🕥", + "description": "ten-thirty", + "category": "Travel & Places", + "aliases": [ + "clock1030", + "early", + "clocks at ten-thirty", + "10:30", + "schedule", + "ten", + "time", + "clock", + "ten-thirty", + "10", + "thirty", + "late", + "a clock at ten-thirty" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 207, + 208 + ] + }, + { + "emoji": "🕚", + "description": "eleven o’clock", + "category": "Travel & Places", + "aliases": [ + "early", + "an eleven o’clock emoji", + "eleven", + "o’clock", + "eleven o’clock emoji", + "schedule", + "eleven o'clock", + "time", + "11:00", + "00", + "clock", + "o", + "11", + "late", + "clock11" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 207, + 208 + ] + }, + { + "emoji": "🕦", + "description": "eleven-thirty", + "category": "Travel & Places", + "aliases": [ + "11:30", + "early", + "eleven", + "clocks at eleven-thirty", + "a clock at eleven-thirty", + "schedule", + "time", + "clock", + "thirty", + "eleven-thirty", + "clock1130", + "11", + "late" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 207, + 208 + ] + }, + { + "emoji": "🌑", + "description": "new moon", + "category": "Travel & Places", + "aliases": [ + "new moon", + "dark", + "space", + "a new moon", + "night", + "twilight", + "planet", + "moon", + "evening", + "new", + "new moons", + "nature", + "sleep" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 47, + 61, + 83 + ] + }, + { + "emoji": "🌒", + "description": "waxing crescent", + "category": "Travel & Places", + "aliases": [ + "crescent", + "space", + "night", + "a waxing crescent moon", + "waxing", + "planet", + "moon", + "evening", + "twilight", + "waxing crescent moon", + "nature", + "waxing crescent moons", + "sleep" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 86, + 88, + 78 + ] + }, + { + "emoji": "🌓", + "description": "first quarter", + "category": "Travel & Places", + "aliases": [ + "quarter", + "space", + "night", + "twilight", + "a first quarter moon", + "planet", + "moon", + "evening", + "first", + "first quarter moons", + "nature", + "first quarter moon", + "sleep" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 143, + 134, + 82 + ] + }, + { + "emoji": "🌔", + "description": "waxing gibbous", + "category": "Travel & Places", + "aliases": [ + "waxing gibbous moons", + "gray", + "space", + "night", + "twilight", + "waxing", + "planet", + "moon", + "waxing gibbous moon", + "evening", + "gibbous", + "nature", + "a waxing gibbous moon", + "sleep", + "sky" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 196, + 179, + 73 + ] + }, + { + "emoji": "🌕", + "description": "full moon", + "category": "Travel & Places", + "aliases": [ + "full", + "space", + "night", + "a full moon", + "twilight", + "planet", + "sleep", + "moon", + "evening", + "full moon", + "nature", + "full moons", + "yellow" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 244, + 213, + 50 + ] + }, + { + "emoji": "🌖", + "description": "waning gibbous", + "category": "Travel & Places", + "aliases": [ + "a waning gibbous moon", + "waning gibbous moons", + "space", + "night", + "waning gibbous moon", + "twilight", + "waxing", + "planet", + "moon", + "evening", + "gibbous", + "nature", + "waning", + "sleep" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 200, + 179, + 66 + ] + }, + { + "emoji": "🌗", + "description": "last quarter", + "category": "Travel & Places", + "aliases": [ + "a last quarter moon", + "quarter", + "space", + "night", + "twilight", + "planet", + "moon", + "evening", + "nature", + "last quarter moons", + "sleep", + "last", + "last quarter moon" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 142, + 130, + 77 + ] + }, + { + "emoji": "🌘", + "description": "waning crescent", + "category": "Travel & Places", + "aliases": [ + "crescent", + "space", + "night", + "waning crescent moon", + "twilight", + "planet", + "moon", + "evening", + "nature", + "waning", + "waning crescent moons", + "sleep", + "a waning crescent moon" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 85, + 85, + 73 + ] + }, + { + "emoji": "🌙", + "description": "crescent moon", + "category": "Travel & Places", + "aliases": [ + "good night sleep tight", + "crescent", + "goodnight", + "night", + "a crescent moon", + "good night", + "goodnight sweet dreams", + "good night sweet dreams", + "moon", + "evening", + "crescent moons", + "gnight", + "magic", + "goodnight sleep tight", + "sleep", + "crescent moon", + "sky" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 246, + 211, + 86 + ] + }, + { + "emoji": "🌚", + "description": "new moon with", + "category": "Travel & Places", + "aliases": [ + "a new moon face", + "new moon face", + "space", + "night", + "twilight", + "planet", + "moon", + "evening", + "new moon with face", + "face", + "new", + "nature", + "new moon faces", + "sleep" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 78, + 84, + 102 + ] + }, + { + "emoji": "🌛", + "description": "first quarter", + "category": "Travel & Places", + "aliases": [ + "quarter", + "space", + "night", + "twilight", + "first quarter moon with face", + "first quarter moon faces", + "moon", + "planet", + "first", + "face", + "first quarter moon face", + "evening", + "nature", + "sleep", + "a first quarter moon face" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 235, + 203, + 81 + ] + }, + { + "emoji": "🌜", + "description": "last quarter", + "category": "Travel & Places", + "aliases": [ + "quarter", + "a last quarter moon face", + "space", + "night", + "last quarter moon with face", + "twilight", + "last quarter moon faces", + "moon", + "planet", + "evening", + "face", + "last quarter moon face", + "nature", + "sleep", + "last" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 236, + 203, + 81 + ] + }, + { + "emoji": "🌡️", + "description": "thermometer", + "category": "Travel & Places", + "aliases": [ + "cold", + "hot", + "weather", + "thermometer", + "a thermometer", + "temperature", + "thermometers" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 211, + 166, + 172 + ] + }, + { + "emoji": "☀️", + "description": "sun", + "category": "Travel & Places", + "aliases": [ + "spring", + "beach", + "brightness", + "a sun", + "summer", + "weather", + "sunny", + "suns", + "sun", + "nature", + "good morning" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 239, + 179, + 49 + ] + }, + { + "emoji": "🌝", + "description": "full moon with", + "category": "Travel & Places", + "aliases": [ + "full", + "space", + "night", + "a full moon face", + "twilight", + "planet", + "moon", + "evening", + "face", + "nature", + "bright", + "full moon face", + "full moon faces", + "sleep", + "full moon with face" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 238, + 210, + 101 + ] + }, + { + "emoji": "🌞", + "description": "sun with face", + "category": "Travel & Places", + "aliases": [ + "good afternoon", + "a sun with face", + "summer", + "sun with face", + "suns with faces", + "face", + "nature", + "sun", + "bright", + "morning", + "sky", + "good morning" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 242, + 181, + 55 + ] + }, + { + "emoji": "🪐", + "description": "planet", + "category": "Travel & Places", + "aliases": [ + "planets", + "saturnine", + "ringed planet", + "planet", + "ringed", + "saturn", + "a planet", + "outerspace" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 158, + 146, + 100 + ] + }, + { + "emoji": "⭐", + "description": "star", + "category": "Travel & Places", + "aliases": [ + "star", + "yellow", + "night" + ], + "unicode": "5.1", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 246, + 215, + 125 + ] + }, + { + "emoji": "🌟", + "description": "glowing star", + "category": "Travel & Places", + "aliases": [ + "star2", + "glow", + "glowing stars", + "glowing", + "night", + "glittery", + "star", + "shining", + "a glowing star", + "awesome", + "magic", + "good", + "glowing star", + "sparkle" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 248, + 217, + 118 + ] + }, + { + "emoji": "🌠", + "description": "shooting star", + "category": "Travel & Places", + "aliases": [ + "photo", + "night", + "star", + "falling", + "shooting", + "a shooting star", + "stars", + "shooting star", + "shooting stars" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 135, + 158, + 146 + ] + }, + { + "emoji": "🌌", + "description": "Milky Way", + "category": "Travel & Places", + "aliases": [ + "photo", + "milky", + "milky way", + "space", + "way", + "Milky Way emoji", + "a Milky Way emoji", + "stars" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 67, + 86, + 107 + ] + }, + { + "emoji": "☁️", + "description": "cloud", + "category": "Travel & Places", + "aliases": [ + "weather", + "clouds", + "a cloud", + "sky", + "cloud" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 225, + 230, + 235 + ] + }, + { + "emoji": "⛅", + "description": "sun behind cloud", + "category": "Travel & Places", + "aliases": [ + "partly sunny", + "cloudy", + "spring", + "weather", + "behind", + "sun behind cloud", + "nature", + "sun", + "fall", + "morning", + "cloud" + ], + "unicode": "5.2", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 229, + 227, + 213 + ] + }, + { + "emoji": "⛈️", + "description": "cloud with lightning", + "category": "Travel & Places", + "aliases": [ + "lightning", + "rain", + "weather", + "cloud with lightning and rain", + "a cloud with lightning and rain emoji", + "cloud with lightning and rain emoji", + "cloud" + ], + "unicode": "5.2", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 210, + 225, + 222 + ] + }, + { + "emoji": "🌤️", + "description": "sun behind small", + "category": "Travel & Places", + "aliases": [ + "small", + "weather", + "sun behind small cloud", + "behind", + "a sun behind small cloud emoji", + "sun", + "sun behind small cloud emoji", + "cloud" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 234, + 208, + 139 + ] + }, + { + "emoji": "🌥️", + "description": "sun behind large", + "category": "Travel & Places", + "aliases": [ + "sun behind large cloud emoji", + "large", + "a sun behind large cloud emoji", + "weather", + "behind", + "sun", + "sun behind large cloud", + "cloud" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 226, + 225, + 216 + ] + }, + { + "emoji": "🌦️", + "description": "sun behind rain", + "category": "Travel & Places", + "aliases": [ + "rain", + "weather", + "behind", + "suns behind rain cloud", + "sun", + "sun behind rain cloud", + "cloud", + "a sun behind rain cloud" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 215, + 191 + ] + }, + { + "emoji": "🌧️", + "description": "cloud with rain", + "category": "Travel & Places", + "aliases": [ + "rain", + "clouds with rain", + "weather", + "a cloud with rain", + "cloud with rain", + "cloud" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 225, + 234 + ] + }, + { + "emoji": "🌨️", + "description": "cloud with snow", + "category": "Travel & Places", + "aliases": [ + "a cloud with snow emoji", + "snow", + "weather", + "cloud with snow", + "cloud with snow emoji", + "cloud" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 209, + 224, + 236 + ] + }, + { + "emoji": "🌩️", + "description": "cloud with lightning", + "category": "Travel & Places", + "aliases": [ + "cloud with lightning emoji", + "cloud with lightning", + "lightning", + "weather", + "thunder", + "a cloud with lightning emoji", + "cloud" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 233, + 235, + 228 + ] + }, + { + "emoji": "🌪️", + "description": "tornado", + "category": "Travel & Places", + "aliases": [ + "cyclone", + "weather", + "a tornado", + "tornado", + "tornadoes", + "twister" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 163, + 167, + 177 + ] + }, + { + "emoji": "🌫️", + "description": "fog", + "category": "Travel & Places", + "aliases": [ + "fog", + "weather", + "fog emoji", + "a fog emoji" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 215, + 216, + 221 + ] + }, + { + "emoji": "🌬️", + "description": "wind blowing", + "category": "Travel & Places", + "aliases": [ + "wind", + "gust", + "face", + "air", + "wind face emoji", + "a wind face emoji", + "wind face" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 210, + 216, + 223 + ] + }, + { + "emoji": "🌀", + "description": "cyclone", + "category": "Travel & Places", + "aliases": [ + "cyclone", + "a cyclone emoji", + "spiral", + "cyclone emoji", + "weather", + "whirlpool", + "hurricane", + "vortex", + "tornado", + "swirl", + "dizzy", + "spin", + "typhoon", + "blue", + "twister", + "cloud" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 0, + 86, + 225 + ] + }, + { + "emoji": "🌈", + "description": "rainbow", + "category": "Travel & Places", + "aliases": [ + "photo", + "spring", + "a rainbow emoji", + "rain", + "rainbow", + "unicorn", + "face", + "nature", + "rainbow emoji", + "happy", + "sky" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 170, + 127, + 92 + ] + }, + { + "emoji": "🌂", + "description": "closed umbrella", + "category": "Travel & Places", + "aliases": [ + "closed umbrella emoji", + "closed umbrella", + "a closed umbrella emoji", + "weather", + "rain", + "drizzle", + "clothing", + "closed", + "umbrella" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 100, + 70, + 141 + ] + }, + { + "emoji": "☂️", + "description": "umbrella", + "category": "Travel & Places", + "aliases": [ + "spring", + "open umbrella", + "weather", + "an umbrella", + "umbrellas", + "umbrella" + ], + "unicode": "", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 145, + 78, + 211 + ] + }, + { + "emoji": "☔", + "description": "umbrella with rain drops", + "category": "Travel & Places", + "aliases": [ + "spring", + "drops", + "rain", + "weather", + "umbrella", + "umbrella with rain drops", + "clothing", + "rainy", + "drop" + ], + "unicode": "4.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 122, + 124, + 218 + ] + }, + { + "emoji": "⛱️", + "description": "beach umbrella", + "category": "Travel & Places", + "aliases": [ + "on", + "beach_umbrella", + "ground", + "parasol on ground", + "summer", + "weather", + "beach umbrellas", + "a beach umbrella", + "umbrella", + "umbrella on ground" + ], + "unicode": "5.2", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 140, + 93 + ] + }, + { + "emoji": "⚡", + "description": "high voltage", + "category": "Travel & Places", + "aliases": [ + "voltage", + "lightning", + "zap", + "weather", + "thunder", + "electric", + "high", + "fast", + "high voltage", + "danger", + "lightning bolt" + ], + "unicode": "4.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 249, + 188, + 55 + ] + }, + { + "emoji": "❄️", + "description": "snowflake", + "category": "Travel & Places", + "aliases": [ + "cold", + "xmas", + "season", + "weather", + "christmas", + "snowflake", + "a snowflake emoji", + "snowflake emoji", + "winter" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 161, + 217, + 245 + ] + }, + { + "emoji": "☃️", + "description": "snowman with", + "category": "Travel & Places", + "aliases": [ + "cold", + "xmas", + "frozen", + "snowman with snow", + "season", + "weather", + "snowman emoji", + "christmas", + "a snowman emoji", + "snowman", + "winter" + ], + "unicode": "", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 162, + 175, + 180 + ] + }, + { + "emoji": "⛄", + "description": "snowman without snow", + "category": "Travel & Places", + "aliases": [ + "cold", + "xmas", + "snow", + "frozen", + "season", + "weather", + "christmas", + "without", + "snowman without snow", + "snowman", + "winter" + ], + "unicode": "5.2", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 155, + 161, + 164 + ] + }, + { + "emoji": "☄️", + "description": "comet", + "category": "Travel & Places", + "aliases": [ + "comet", + "comet emoji", + "a comet emoji", + "space" + ], + "unicode": "", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 240, + 152, + 97 + ] + }, + { + "emoji": "🔥", + "description": "fire", + "category": "Travel & Places", + "aliases": [ + "cook", + "fire emoji", + "hot", + "tool", + "fire", + "burn", + "a fire emoji", + "flame" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 251, + 138, + 63 + ] + }, + { + "emoji": "💧", + "description": "droplet", + "category": "Travel & Places", + "aliases": [ + "cold", + "spring", + "water", + "droplet emoji", + "faucet", + "comic", + "drip", + "a droplet emoji", + "sweat", + "drop", + "droplet" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 82, + 190, + 240 + ] + }, + { + "emoji": "🌊", + "description": "wave", + "category": "Travel & Places", + "aliases": [ + "sea", + "disaster", + "water", + "nature", + "wave emoji", + "wave", + "beach day", + "ocean", + "water wave", + "tsunami", + "a wave emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 133, + 172, + 195 + ] + }, + { + "emoji": "🎃", + "description": "jack-o-lantern", + "category": "Activities", + "aliases": [ + "creepy", + "jack o lantern", + "celebration", + "a jack-o-lantern", + "jack-o-lantern", + "light", + "lantern", + "jack-o-lanterns", + "jack", + "fall", + "o", + "pumpkin", + "halloween" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 211, + 134, + 11 + ] + }, + { + "emoji": "🎄", + "description": "Christmas tree", + "category": "Activities", + "aliases": [ + "xmas", + "vacation", + "celebration", + "christmas tree", + "a Christmas tree emoji", + "tree", + "merry christmas", + "Christmas", + "christmas", + "Christmas tree emoji", + "december", + "festival" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 92, + 131, + 75 + ] + }, + { + "emoji": "🎆", + "description": "fireworks", + "category": "Activities", + "aliases": [ + "photo", + "fireworks emoji", + "a fireworks emoji", + "celebration", + "fireworks", + "happy new year", + "congratulations", + "carnival", + "festival" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 119, + 95, + 128 + ] + }, + { + "emoji": "🎇", + "description": "firework sparkler", + "category": "Activities", + "aliases": [ + "celebration", + "night", + "shine", + "fireworks", + "stars", + "sparkler emoji", + "a sparkler emoji", + "sparkle", + "sparkler" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 155, + 114, + 85 + ] + }, + { + "emoji": "🧨", + "description": "firecracker", + "category": "Activities", + "aliases": [ + "explosive", + "a firecracker emoji", + "dynamite", + "explosion", + "fireworks", + "boom", + "explode", + "firecracker emoji", + "firecracker" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 180, + 41, + 27 + ] + }, + { + "emoji": "✨", + "description": "sparkles", + "category": "Activities", + "aliases": [ + "shiny", + "sparkles", + "star", + "shine", + "*", + "cool", + "awesome", + "stars", + "good", + "magic", + "sparkle" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 251, + 198, + 75 + ] + }, + { + "emoji": "🎈", + "description": "balloon", + "category": "Activities", + "aliases": [ + "circus", + "happy birth day", + "celebration", + "balloon emoji", + "birthday", + "congrats", + "a balloon emoji", + "happy birthday", + "party", + "happy new year", + "balloon", + "congratulations" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [], + "rgb": [ + 225, + 75, + 82 + ] + }, + { + "emoji": "🎉", + "description": "party popper", + "category": "Activities", + "aliases": [ + "circus", + "a party popper emoji", + "happy birth day", + "celebration", + "birthday", + "tada", + "congrats", + "popper", + "hooray", + "party", + "party popper emoji", + "magic", + "party popper", + "happy birthday", + "congratulations" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [ + "🎉", + "🎊" + ], + "rgb": [ + 178, + 133, + 106 + ] + }, + { + "emoji": "🎊", + "description": "confetti ball", + "category": "Activities", + "aliases": [ + "circus", + "happy birth day", + "celebration", + "birthday", + "confetti", + "congrats", + "confetti ball", + "a confetti emoji", + "confetti emoji", + "happy birthday", + "party", + "happy new year", + "congratulations", + "festival", + "ball" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "positive", + "related": [ + "🎉", + "🎊" + ], + "rgb": [ + 205, + 148, + 131 + ] + }, + { + "emoji": "🎋", + "description": "tanabata tree", + "category": "Activities", + "aliases": [ + "tanabata tree", + "celebration", + "summer", + "Japanese", + "tree", + "tanabata", + "branch", + "tanabata tree emoji", + "nature", + "banner", + "a tanabata tree emoji", + "plant" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 131, + 118, + 38 + ] + }, + { + "emoji": "🎍", + "description": "pine decoration", + "category": "Activities", + "aliases": [ + "bamboo", + "celebration", + "a Japanese New Year emoji", + "Japanese New Year emoji", + "Japanese", + "pine decoration", + "panda", + "plant", + "vegetable", + "nature", + "pine", + "decoration" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 159, + 153, + 81 + ] + }, + { + "emoji": "🎎", + "description": "Japanese dolls", + "category": "Activities", + "aliases": [ + "a Japanese dolls emoji", + "japanese dolls", + "celebration", + "kimono", + "doll", + "Japanese", + "Japanese dolls emoji", + "dolls", + "toy", + "Japanese dolls", + "japanese", + "festival" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 125, + 95, + 101 + ] + }, + { + "emoji": "🎏", + "description": "carp streamer", + "category": "Activities", + "aliases": [ + "carp streamer emoji", + "celebration", + "streamer", + "koinobori", + "banner", + "carp", + "japanese", + "flags", + "carp streamer", + "fish", + "a carp streamer emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 167, + 141, + 116 + ] + }, + { + "emoji": "🎐", + "description": "wind chime", + "category": "Activities", + "aliases": [ + "bell", + "spring", + "a wind chime emoji", + "chime", + "celebration", + "ding", + "wind", + "wind chime emoji", + "nature", + "wind chime" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 200, + 210, + 220 + ] + }, + { + "emoji": "🎑", + "description": "moon viewing", + "category": "Activities", + "aliases": [ + "ceremony", + "photo", + "rice scene", + "celebration", + "japan", + "moon viewing ceremony", + "asia", + "moon viewing ceremony emoji", + "a moon viewing ceremony emoji", + "moon", + "tsukimi", + "viewing" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 133, + 138, + 140 + ] + }, + { + "emoji": "🧧", + "description": "red gift envelope", + "category": "Activities", + "aliases": [ + "envelope", + "hóngbāo", + "good luck", + "lai see", + "a red gift envelope emoji", + "red envelope", + "money", + "red gift envelope emoji", + "red", + "gift" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 49, + 44 + ] + }, + { + "emoji": "🎀", + "description": "ribbon bow", + "category": "Activities", + "aliases": [ + "celebration", + "girl", + "bowtie", + "ribbons", + "pink", + "a ribbon", + "ribbon", + "decoration" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 218, + 114, + 150 + ] + }, + { + "emoji": "🎁", + "description": "present", + "category": "Activities", + "aliases": [ + "present", + "xmas", + "a present", + "happy birth day", + "celebration", + "box", + "birthday", + "merry christmas", + "christmas", + "presents", + "happy birthday", + "wrapped gift", + "gift", + "wrapped" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 198, + 100, + 36 + ] + }, + { + "emoji": "🎗️", + "description": "reminder ribbon", + "category": "Activities", + "aliases": [ + "a reminder ribbon emoji", + "reminder ribbon emoji", + "support", + "reminder", + "reminder ribbon", + "cause", + "sports", + "ribbon", + "awareness" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 237, + 184, + 22 + ] + }, + { + "emoji": "🎟️", + "description": "admission ticket", + "category": "Activities", + "aliases": [ + "admission", + "admission ticket emoji", + "tickets", + "concert", + "an admission ticket emoji", + "admission tickets", + "sports", + "entrance" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 228, + 106, + 120 + ] + }, + { + "emoji": "🎫", + "description": "ticket", + "category": "Activities", + "aliases": [ + "ticket emoji", + "admission", + "event", + "a ticket emoji", + "ticket", + "concert", + "pass" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 199, + 191, + 101 + ] + }, + { + "emoji": "🎖️", + "description": "military medal", + "category": "Activities", + "aliases": [ + "military", + "winning", + "medal military", + "medal", + "a military medal emoji", + "army", + "military medal emoji", + "award", + "military medal" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 215, + 135, + 70 + ] + }, + { + "emoji": "🏆", + "description": "trophy", + "category": "Activities", + "aliases": [ + "ceremony", + "prize", + "win", + "a trophy", + "contest", + "winner", + "award", + "trophies", + "trophy", + "place", + "ftw" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 189, + 134, + 28 + ] + }, + { + "emoji": "🏅", + "description": "sports medal", + "category": "Activities", + "aliases": [ + "medal sports", + "a sports medal", + "winning", + "sports medals", + "sports medal", + "winner", + "gold", + "award", + "medal", + "sports" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 200, + 154, + 86 + ] + }, + { + "emoji": "🥇", + "description": "gold medal", + "category": "Activities", + "aliases": [ + "a gold medal emoji", + "winning", + "first", + "1st place medal", + "gold", + "award", + "1st", + "medal", + "place", + "gold medal emoji" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 223, + 169, + 53 + ] + }, + { + "emoji": "🥈", + "description": "silver medal", + "category": "Activities", + "aliases": [ + "silver medal emoji", + "2nd", + "silver", + "second", + "award", + "a silver medal emoji", + "2nd place medal", + "medal", + "place" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 162, + 151, + 159 + ] + }, + { + "emoji": "🥉", + "description": "bronze medal", + "category": "Activities", + "aliases": [ + "medal", + "third", + "bronze", + "3rd place medal", + "award", + "bronze medal emoji", + "3rd", + "place", + "a bronze medal emoji" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 162, + 85, + 45 + ] + }, + { + "emoji": "⚽", + "description": "soccer ball", + "category": "Activities", + "aliases": [ + "soccer ball", + "soccer", + "football", + "sports", + "ball" + ], + "unicode": "5.2", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 176, + 176, + 176 + ] + }, + { + "emoji": "⚾", + "description": "baseball", + "category": "Activities", + "aliases": [ + "sports", + "baseball", + "balls", + "ball" + ], + "unicode": "5.2", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 200, + 185, + 180 + ] + }, + { + "emoji": "🥎", + "description": "softball", + "category": "Activities", + "aliases": [ + "a softball emoji", + "underarm", + "softball emoji", + "softball", + "sports", + "balls", + "glove", + "ball" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 207, + 207, + 48 + ] + }, + { + "emoji": "🏀", + "description": "basketball", + "category": "Activities", + "aliases": [ + "basketball", + "nba", + "hoop", + "basketballs", + "a basketball", + "sports", + "balls", + "ball" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🏈", + "⚾️", + "🏀", + "⚽️" + ], + "rgb": [ + 198, + 109, + 54 + ] + }, + { + "emoji": "🏐", + "description": "volleyball", + "category": "Activities", + "aliases": [ + "volleyball", + "a volleyball", + "ball", + "game", + "sports", + "balls", + "volleyballs" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 188, + 188, + 188 + ] + }, + { + "emoji": "🏈", + "description": "American football", + "category": "Activities", + "aliases": [ + "american football", + "nfl", + "a football", + "ball", + "football", + "footballs", + "sports", + "balls", + "american" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "🏈", + "⚾️", + "🏀", + "⚽️" + ], + "rgb": [ + 187, + 123, + 91 + ] + }, + { + "emoji": "🏉", + "description": "rugby football", + "category": "Activities", + "aliases": [ + "rugby", + "rugby football", + "rugby balls", + "football", + "sports", + "a rugby ball", + "team", + "ball" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 203, + 148, + 74 + ] + }, + { + "emoji": "🎾", + "description": "tennis ball", + "category": "Activities", + "aliases": [ + "green", + "a tennis emoji", + "racquet", + "sports", + "tennis emoji", + "balls", + "tennis", + "ball" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 194, + 214, + 51 + ] + }, + { + "emoji": "🥏", + "description": "flying disc", + "category": "Activities", + "aliases": [ + "flying", + "disc", + "frisbee", + "ultimate", + "sports", + "flying disc", + "flying disc emoji", + "a flying disc emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 63, + 131, + 187 + ] + }, + { + "emoji": "🎳", + "description": "bowling ball", + "category": "Activities", + "aliases": [ + "a bowling emoji", + "play", + "ball", + "game", + "sports", + "bowling", + "bowling emoji", + "fun" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 151, + 141, + 138 + ] + }, + { + "emoji": "🏏", + "description": "cricket bat", + "category": "Activities", + "aliases": [ + "cricket bats and balls", + "bat", + "a cricket bat and ball", + "game", + "cricket", + "cricket game", + "sports", + "ball" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 194, + 121, + 53 + ] + }, + { + "emoji": "🏑", + "description": "field hockey", + "category": "Activities", + "aliases": [ + "field hockey emoji", + "hockey", + "game", + "field", + "stick", + "field hockey", + "sports", + "ball" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 153, + 135, + 95 + ] + }, + { + "emoji": "🏒", + "description": "ice hockey stick", + "category": "Activities", + "aliases": [ + "ice hockey emoji", + "puck", + "ice hockey", + "hockey", + "game", + "stick", + "sports", + "ice" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 176, + 138, + 123 + ] + }, + { + "emoji": "🥍", + "description": "lacrosse stick", + "category": "Activities", + "aliases": [ + "lacrosse", + "goal", + "lacrosse emoji", + "a lacrosse emoji", + "stick", + "sports", + "ball" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 114, + 127, + 138 + ] + }, + { + "emoji": "🏓", + "description": "table tennis", + "category": "Activities", + "aliases": [ + "pong", + "ping pong", + "bat", + "table tennis", + "game", + "ping", + "ping pong emoji", + "pingpong", + "paddle", + "sports", + "ball" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 229, + 101, + 80 + ] + }, + { + "emoji": "🏸", + "description": "badminton racquet", + "category": "Activities", + "aliases": [ + "shuttlecock", + "badminton", + "badminton emoji", + "racquet", + "birdie", + "game", + "a badminton emoji", + "sports" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 185, + 168, + 127 + ] + }, + { + "emoji": "🥊", + "description": "boxing glove", + "category": "Activities", + "aliases": [ + "a boxing glove emoji", + "sports", + "boxing glove emoji", + "boxing", + "fighting", + "boxing glove", + "glove" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 185, + 69, + 69 + ] + }, + { + "emoji": "🥋", + "description": "martial arts", + "category": "Activities", + "aliases": [ + "martial arts uniform", + "martial", + "martial arts uniform emoji", + "arts", + "judo", + "karate", + "taekwondo", + "a martial arts uniform emoji", + "uniform", + "martial arts" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 192, + 189, + 187 + ] + }, + { + "emoji": "🥅", + "description": "goal net", + "category": "Activities", + "aliases": [ + "a goal net emoji", + "goal", + "goal net emoji", + "goal net", + "sports", + "net" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 142, + 70, + 69 + ] + }, + { + "emoji": "⛳", + "description": "flag in hole", + "category": "Activities", + "aliases": [ + "business", + "flag in hole", + "summer", + "hole", + "flag", + "golf", + "sports" + ], + "unicode": "5.2", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 147, + 150, + 52 + ] + }, + { + "emoji": "⛸️", + "description": "ice skate", + "category": "Activities", + "aliases": [ + "ice skate", + "ice skates", + "an ice skate", + "skate", + "skating", + "sports", + "ice" + ], + "unicode": "5.2", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 165, + 164, + 165 + ] + }, + { + "emoji": "🎣", + "description": "fishing pole", + "category": "Activities", + "aliases": [ + "fishing pole", + "summer", + "fishing emoji", + "fishing pole and fish", + "food", + "fishing", + "hobby", + "a fishing emoji", + "fish", + "pole" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 89, + 112, + 141 + ] + }, + { + "emoji": "🤿", + "description": "diving mask", + "category": "Activities", + "aliases": [ + "diving mask", + "mask", + "snorkel emoji", + "scuba", + "diving", + "snorkeling", + "ocean", + "sport", + "a snorkel emoji" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 126, + 107, + 86 + ] + }, + { + "emoji": "🎽", + "description": "running shirt", + "category": "Activities", + "aliases": [ + "sash", + "pageant", + "running shirt with sash", + "play", + "shirt", + "marathon", + "running shirt", + "running", + "athletics", + "a running shirt emoji", + "running shirt emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 17, + 158, + 207 + ] + }, + { + "emoji": "🎿", + "description": "skis", + "category": "Activities", + "aliases": [ + "cold", + "skis", + "ski", + "snow", + "sports", + "pairs of skis", + "winter" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 108, + 147, + 116 + ] + }, + { + "emoji": "🛷", + "description": "sled", + "category": "Activities", + "aliases": [ + "sledge", + "toboggan", + "a sled emoji", + "luge", + "sled emoji", + "sleigh", + "sled" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 156, + 39, + 38 + ] + }, + { + "emoji": "🥌", + "description": "curling stone", + "category": "Activities", + "aliases": [ + "curling stone", + "curling stone emoji", + "a curling stone emoji", + "curling", + "stone", + "rock", + "game", + "sports" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 134, + 85, + 85 + ] + }, + { + "emoji": "🎯", + "description": "bullseye", + "category": "Activities", + "aliases": [ + "dart", + "play", + "hit", + "direct hit", + "bullseye emoji", + "game", + "target", + "direct", + "bar", + "a bullseye emoji", + "bullseye" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 175, + 108, + 108 + ] + }, + { + "emoji": "🪀", + "description": "yo-yo", + "category": "Activities", + "aliases": [ + "yo", + "yo-yos", + "a yo-yo", + "fluctuate", + "toy", + "yo yo", + "yo-yo" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 82, + 164, + 42 + ] + }, + { + "emoji": "🪁", + "description": "kite", + "category": "Activities", + "aliases": [ + "kites", + "fly", + "wind", + "a kite", + "soar", + "kite" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 81, + 104, + 174 + ] + }, + { + "emoji": "🎱", + "description": "billiards", + "category": "Activities", + "aliases": [ + "billiards", + "a billiards emoji", + "billiards emoji", + "pool 8 ball", + "pool", + "eight", + "hobby", + "game", + "8ball", + "magic", + "billiard", + "luck", + "8", + "ball" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 90, + 90, + 90 + ] + }, + { + "emoji": "🔮", + "description": "crystal ball", + "category": "Activities", + "aliases": [ + "circus", + "disco", + "tool", + "fortune", + "fairy tale", + "teller", + "crystal ball emoji", + "crystal ball", + "party", + "a crystal ball emoji", + "crystal", + "magic", + "fantasy", + "ball" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 166, + 99, + 157 + ] + }, + { + "emoji": "🪄", + "description": "magic wand", + "category": "Activities", + "aliases": [ + "wand", + "wizard", + "witch", + "supernature", + "magic wand", + "a magic wand", + "magic", + "power", + "magic wands" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 150, + 141, + 103 + ] + }, + { + "emoji": "🧿", + "description": "nazar amulet", + "category": "Activities", + "aliases": [ + "evil-eye", + "nazar amulet emoji", + "a nazar amulet emoji", + "bead", + "nazar", + "nazar amulet", + "charm", + "talisman", + "amulet" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 52, + 82, + 193 + ] + }, + { + "emoji": "🎮", + "description": "video game controller", + "category": "Activities", + "aliases": [ + "video", + "a video game emoji", + "console", + "play", + "video game", + "video game emoji", + "ps4", + "game", + "controller" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 80, + 79, + 72 + ] + }, + { + "emoji": "🕹️", + "description": "joystick", + "category": "Activities", + "aliases": [ + "a joystick emoji", + "play", + "joystick emoji", + "game", + "joystick" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 113, + 70, + 73 + ] + }, + { + "emoji": "🎰", + "description": "slot machine", + "category": "Activities", + "aliases": [ + "gamble", + "slot", + "fruit machine", + "bet", + "game", + "slot machine emoji", + "vegas", + "luck", + "a slot machine emoji", + "machine", + "slot machine", + "casino" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 176, + 147, + 136 + ] + }, + { + "emoji": "🎲", + "description": "game die", + "category": "Activities", + "aliases": [ + "game die", + "dice", + "gambling", + "play", + "tabletop", + "die", + "game", + "random", + "game die emoji", + "a game die emoji", + "luck" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 182, + 181, + 181 + ] + }, + { + "emoji": "🧩", + "description": "puzzle piece", + "category": "Activities", + "aliases": [ + "interlocking", + "a puzzle piece emoji", + "puzzle", + "piece", + "puzzle piece", + "clue", + "jigsaw", + "puzzle piece emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 133, + 190, + 108 + ] + }, + { + "emoji": "🧸", + "description": "teddy bear", + "category": "Activities", + "aliases": [ + "plaything", + "teddy bear", + "teddy", + "teddy bear emoji", + "toy", + "bear", + "a teddy bear emoji", + "stuffed", + "plush" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 168, + 123, + 62 + ] + }, + { + "emoji": "🪅", + "description": "piñata", + "category": "Activities", + "aliases": [ + "celebration", + "candy", + "mexico", + "a piñata", + "party", + "piñatas", + "pinata", + "piñata" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 158, + 155, + 127 + ] + }, + { + "emoji": "🪆", + "description": "nesting dolls", + "category": "Activities", + "aliases": [ + "nesting dolls", + "doll", + "dolls", + "matryoshka", + "toy", + "russia", + "nesting", + "a nesting doll" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 171, + 118, + 61 + ] + }, + { + "emoji": "♠️", + "description": "spades suit", + "category": "Activities", + "aliases": [ + "spade suit", + "suits", + "a spade", + "poker", + "cards", + "spade", + "magic", + "spades", + "suit" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 48, + 48, + 48 + ] + }, + { + "emoji": "♥️", + "description": "hearts suit", + "category": "Activities", + "aliases": [ + "heart suit", + "heart emoji", + "a heart emoji", + "suits", + "poker", + "hearts", + "cards", + "magic", + "suit", + "heart" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 199, + 37, + 37 + ] + }, + { + "emoji": "♦️", + "description": "diamonds suit", + "category": "Activities", + "aliases": [ + "diamond", + "suits", + "diamonds", + "diamond emoji", + "diamond suit", + "a diamond", + "poker", + "cards", + "magic", + "suit" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 221, + 33, + 33 + ] + }, + { + "emoji": "♣️", + "description": "clubs suit", + "category": "Activities", + "aliases": [ + "clubs", + "club", + "suits", + "clubs emoji", + "a clubs emoji", + "poker", + "cards", + "magic", + "suit", + "club suit" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 51, + 51, + 51 + ] + }, + { + "emoji": "♟️", + "description": "chess pawn", + "category": "Activities", + "aliases": [ + "pawn", + "a chess pawn emoji", + "expendable", + "chess pawn emoji", + "chess pawn", + "chess" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 45, + 45, + 45 + ] + }, + { + "emoji": "🃏", + "description": "joker", + "category": "Activities", + "aliases": [ + "black joker", + "card", + "a joker card", + "joker", + "joker cards", + "play", + "wildcard", + "poker", + "game", + "cards", + "magic" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 198, + 189, + 180 + ] + }, + { + "emoji": "🀄", + "description": "mahjong red dragon", + "category": "Activities", + "aliases": [ + "mahjong", + "kanji", + "mahjong red dragon", + "play", + "dragon", + "game", + "red", + "chinese" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 196, + 166, + 148 + ] + }, + { + "emoji": "🎴", + "description": "flower playing", + "category": "Activities", + "aliases": [ + "card", + "a playing card emoji", + "sunset", + "Japanese", + "playing card emoji", + "flower", + "game", + "red", + "flower playing cards", + "cards", + "playing" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 132, + 92, + 89 + ] + }, + { + "emoji": "🎭", + "description": "performing arts", + "category": "Activities", + "aliases": [ + "performing", + "theater", + "performing arts emoji", + "drama", + "arts", + "mask", + "theatre", + "acting", + "art", + "a performing arts emoji", + "performing arts" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 133, + 109, + 98 + ] + }, + { + "emoji": "🖼️", + "description": "frame with picture", + "category": "Activities", + "aliases": [ + "framed", + "photography", + "a framed picture emoji", + "picture", + "framed picture", + "framed picture emoji" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 174, + 184, + 90 + ] + }, + { + "emoji": "🎨", + "description": "artist palette", + "category": "Activities", + "aliases": [ + "paint", + "artist palette", + "artist", + "painting", + "design", + "colors", + "draw", + "palette", + "artist palette emoji", + "art", + "museum", + "an artist palette emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 185, + 144, + 70 + ] + }, + { + "emoji": "🧵", + "description": "thread", + "category": "Activities", + "aliases": [ + "a thread emoji", + "string", + "needle", + "spool", + "thread emoji", + "sewing", + "thread" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 92, + 122, + 126 + ] + }, + { + "emoji": "🪡", + "description": "sewing needle", + "category": "Activities", + "aliases": [ + "tailoring", + "sewing", + "sewing needle", + "stitches", + "sewing needle emoji", + "needle", + "sutures", + "embroidery", + "a sewing needle emoji" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 92, + 144, + 173 + ] + }, + { + "emoji": "🧶", + "description": "yarn", + "category": "Activities", + "aliases": [ + "knit", + "yarn emoji", + "a yarn emoji", + "crochet", + "yarn", + "ball" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 178, + 71, + 15 + ] + }, + { + "emoji": "🪢", + "description": "knot", + "category": "Activities", + "aliases": [ + "tangled", + "knot", + "twine", + "tie", + "twist", + "knot emoji", + "rope", + "scout", + "a knot emoji" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 104, + 42, + 77 + ] + }, + { + "emoji": "👓", + "description": "glasses", + "category": "Objects", + "aliases": [ + "accessories", + "geek", + "pairs of glasses", + "clothing", + "glasses", + "fashion", + "eye", + "dork", + "nerdy", + "eyewear", + "eyeglasses", + "eyesight" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 108, + 119, + 115 + ] + }, + { + "emoji": "🕶️", + "description": "sunglasses", + "category": "Objects", + "aliases": [ + "accessories", + "dark sunglasses", + "a sunglasses emoji", + "sunglasses", + "face", + "cool", + "sunglasses emoji" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 48, + 50, + 49 + ] + }, + { + "emoji": "🥽", + "description": "goggles", + "category": "Objects", + "aliases": [ + "swimming", + "protection", + "welding", + "eyes", + "goggles", + "eye protection", + "safety" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 169, + 172, + 172 + ] + }, + { + "emoji": "🥼", + "description": "lab coat", + "category": "Objects", + "aliases": [ + "coat", + "chemist", + "doctor", + "experiment", + "lab coats", + "lab", + "scientist", + "lab coat", + "a lab coat" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 219, + 220 + ] + }, + { + "emoji": "🦺", + "description": "safety vest", + "category": "Objects", + "aliases": [ + "emergency", + "protection", + "safety vest", + "vest", + "a safety vest emoji", + "safety vest emoji", + "safety" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 187, + 105, + 51 + ] + }, + { + "emoji": "👔", + "description": "shirt and tie", + "category": "Objects", + "aliases": [ + "business", + "neckties", + "tie", + "clothing", + "shirt", + "formal", + "fashion", + "suitup", + "a necktie", + "necktie", + "cloth" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 138, + 168, + 196 + ] + }, + { + "emoji": "👕", + "description": "polo shirt", + "category": "Objects", + "aliases": [ + "casual", + "t-shirt", + "clothing", + "tshirt", + "shirt", + "polo shirts", + "t", + "fashion", + "tee", + "cloth", + "a polo shirt" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 111, + 162, + 210 + ] + }, + { + "emoji": "👖", + "description": "jeans", + "category": "Objects", + "aliases": [ + "pants", + "clothing", + "fashion", + "jeans", + "trousers", + "shopping" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 83, + 104, + 163 + ] + }, + { + "emoji": "🧣", + "description": "scarf", + "category": "Objects", + "aliases": [ + "scarf emoji", + "clothes", + "a scarf emoji", + "scarf", + "neck", + "winter" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 187, + 50, + 45 + ] + }, + { + "emoji": "🧤", + "description": "gloves", + "category": "Objects", + "aliases": [ + "hand", + "clothes", + "gloves", + "gloves emoji", + "a gloves emoji", + "hands", + "winter" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 50, + 175, + 117 + ] + }, + { + "emoji": "🧥", + "description": "coat", + "category": "Objects", + "aliases": [ + "coat emoji", + "coat", + "jacket", + "a coat emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 199, + 155, + 78 + ] + }, + { + "emoji": "🧦", + "description": "socks", + "category": "Objects", + "aliases": [ + "clothes", + "stockings", + "socks", + "socks emoji", + "stocking", + "a socks emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 165, + 146, + 125 + ] + }, + { + "emoji": "👗", + "description": "dress", + "category": "Objects", + "aliases": [ + "a dress", + "dress", + "clothes", + "clothing", + "fashion", + "dresses", + "shopping" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 53, + 190, + 176 + ] + }, + { + "emoji": "👘", + "description": "kimono", + "category": "Objects", + "aliases": [ + "kimonos", + "dress", + "kimono", + "clothing", + "women", + "female", + "fashion", + "japanese", + "a kimono" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 219, + 151, + 44 + ] + }, + { + "emoji": "🥻", + "description": "sari", + "category": "Objects", + "aliases": [ + "sari", + "dress", + "a sari", + "clothing", + "saris" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 208, + 98, + 20 + ] + }, + { + "emoji": "🩱", + "description": "one-piece swimsuit", + "category": "Objects", + "aliases": [ + "one piece swimsuit", + "piece", + "bathing suits", + "swimsuit", + "one", + "fashion", + "one-piece swimsuit", + "bathing suit", + "a bathing suit" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 30, + 143, + 147 + ] + }, + { + "emoji": "🩲", + "description": "briefs", + "category": "Objects", + "aliases": [ + "a pair of briefs", + "one-piece", + "swim brief", + "briefs", + "clothing", + "swimsuit", + "pairs of briefs", + "bathing suit", + "underwear" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 38, + 134, + 34 + ] + }, + { + "emoji": "🩳", + "description": "shorts", + "category": "Objects", + "aliases": [ + "pants", + "clothing", + "pairs of shorts", + "shorts", + "bathing suit", + "underwear" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 223, + 141, + 25 + ] + }, + { + "emoji": "👙", + "description": "bikini", + "category": "Objects", + "aliases": [ + "beach", + "swimming", + "woman", + "summer", + "clothing", + "girl", + "swim", + "female", + "fashion", + "bikinis", + "beach day", + "a bikini", + "bikini" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 200, + 102, + 118 + ] + }, + { + "emoji": "👚", + "description": "blouse", + "category": "Objects", + "aliases": [ + "blouses", + "woman", + "s", + "clothes", + "clothing", + "woman's clothes", + "female", + "fashion", + "womans clothes", + "woman’s clothes", + "a blouse", + "bags", + "shopping" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 230, + 153, + 205 + ] + }, + { + "emoji": "👛", + "description": "purse", + "category": "Objects", + "aliases": [ + "coin", + "accessories", + "clothing", + "purses", + "money", + "purse", + "fashion", + "sales", + "a purse", + "shopping" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 222, + 141, + 175 + ] + }, + { + "emoji": "👜", + "description": "handbag", + "category": "Objects", + "aliases": [ + "shopping", + "accessory", + "accessories", + "clothing", + "purse", + "fashion", + "handbags", + "bag", + "handbag", + "a handbag" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 170, + 125, + 96 + ] + }, + { + "emoji": "👝", + "description": "pouch", + "category": "Objects", + "aliases": [ + "clutch bags", + "pouch", + "clutch", + "accessories", + "clutch bag", + "clothing", + "bag", + "a clutch bag", + "shopping" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 170, + 130, + 88 + ] + }, + { + "emoji": "🛍️", + "description": "shopping bags", + "category": "Objects", + "aliases": [ + "buy", + "shopping bags emoji", + "a shopping bags emoji", + "shopping bags", + "bags", + "purchase", + "mall", + "shopping" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 235, + 133, + 146 + ] + }, + { + "emoji": "🎒", + "description": "backpack", + "category": "Objects", + "aliases": [ + "student", + "rucksack", + "school", + "backpack emoji", + "a backpack emoji", + "backpack", + "education", + "satchel", + "bag", + "school satchel" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 191, + 52, + 46 + ] + }, + { + "emoji": "🩴", + "description": "sandal", + "category": "Objects", + "aliases": [ + "thong sandal", + "thongs", + "summer", + "a sandal", + "zōri", + "thong", + "sandals ", + "sandal", + "footwear", + "thong sandals", + "sandals", + "beach sandals" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 100, + 160, + 155 + ] + }, + { + "emoji": "👞", + "description": "dress shoe", + "category": "Objects", + "aliases": [ + "mans shoe", + "s", + "shoe", + "clothing", + "a shoe", + "man’s shoe", + "man", + "fashion", + "man's shoe", + "male", + "shoes" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 132, + 72, + 53 + ] + }, + { + "emoji": "👟", + "description": "tennis shoe", + "category": "Objects", + "aliases": [ + "athletic shoe", + "sneakers", + "a running shoe", + "shoe", + "running shoes", + "clothing", + "running", + "athletic", + "running shoe", + "sneaker", + "shoes", + "sports", + "sport" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 168, + 166, + 164 + ] + }, + { + "emoji": "🥾", + "description": "hiking boot", + "category": "Objects", + "aliases": [ + "a boot", + "hiking", + "backpacking", + "boots", + "boot", + "camping", + "hiking boot" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 96, + 80, + 64 + ] + }, + { + "emoji": "🥿", + "description": "flat shoe", + "category": "Objects", + "aliases": [ + "on", + "flat", + "ballet", + "shoe", + "slip-on", + "a shoe", + "ballet flat", + "slip", + "slipper", + "shoes", + "flat shoe" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 27, + 60, + 103 + ] + }, + { + "emoji": "👠", + "description": "high-heeled", + "category": "Objects", + "aliases": [ + "stiletto", + "heel", + "woman", + "heeled", + "shoe", + "clothing", + "high heel", + "high", + "female", + "pumps", + "fashion", + "a high-heeled shoe", + "high-heeled shoes", + "shoes", + "high-heeled shoe" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 165, + 61, + 50 + ] + }, + { + "emoji": "👡", + "description": "heeled sandal", + "category": "Objects", + "aliases": [ + "a heeled sandal", + "woman", + "s", + "shoe", + "heeled sandals", + "clothing", + "woman's sandal", + "woman’s sandal", + "fashion", + "sandal", + "shoes", + "flip flops" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 199, + 166, + 135 + ] + }, + { + "emoji": "🩰", + "description": "ballet shoes", + "category": "Objects", + "aliases": [ + "pairs of ballet shoes", + "dance", + "ballet", + "ballet shoes", + "shoes" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 219, + 162, + 138 + ] + }, + { + "emoji": "👢", + "description": "heeled boots", + "category": "Objects", + "aliases": [ + "woman’s boot", + "a heeled boot", + "woman", + "s", + "heeled boots", + "shoe", + "clothing", + "boot", + "fashion", + "shoes", + "woman's boot" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 195, + 159, + 114 + ] + }, + { + "emoji": "👑", + "description": "crown", + "category": "Objects", + "aliases": [ + "a crown emoji", + "kod", + "queen", + "clothing", + "crown", + "royalty", + "royal", + "leader", + "lord", + "king", + "crown emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "👸", + "👑", + "🤴", + "🫅" + ], + "rgb": [ + 182, + 154, + 50 + ] + }, + { + "emoji": "👒", + "description": "hat with bow", + "category": "Objects", + "aliases": [ + "spring", + "accessories", + "womans hat", + "woman’s hat", + "woman", + "s", + "hat", + "woman's hat", + "clothing", + "female", + "hats with bows", + "fashion", + "lady", + "a hat with bow" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 161, + 178, + 106 + ] + }, + { + "emoji": "🎩", + "description": "top hat", + "category": "Objects", + "aliases": [ + "gentleman", + "circus", + "a top hat emoji", + "hat", + "clothing", + "classy", + "top", + "tophat", + "magic", + "top hat", + "top hat emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 73, + 67, + 50 + ] + }, + { + "emoji": "🎓", + "description": "graduation cap", + "category": "Objects", + "aliases": [ + "university", + "school", + "college", + "celebration", + "cap", + "hat", + "a graduation cap emoji", + "graduation cap emoji", + "clothing", + "legal", + "education", + "graduation", + "learn", + "degree", + "mortar board", + "graduation cap" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 65, + 56, + 43 + ] + }, + { + "emoji": "🧢", + "description": "billed hat", + "category": "Objects", + "aliases": [ + "billed cap", + "baseball cap emoji", + "cap", + "a baseball cap emoji", + "baseball", + "billed", + "baseball cap" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 60, + 128, + 233 + ] + }, + { + "emoji": "🪖", + "description": "military helmet", + "category": "Objects", + "aliases": [ + "helmet", + "a military helmet", + "military helmets", + "protection", + "military", + "warrior", + "military helmet", + "army", + "soldier" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 81, + 96, + 71 + ] + }, + { + "emoji": "⛑️", + "description": "helmet with", + "category": "Objects", + "aliases": [ + "rescue worker helmet", + "helmet", + "construction", + "rescue worker's helmet", + "s", + "rescue", + "a rescue worker’s helmet", + "build", + "rescue workers’ helmets", + "worker" + ], + "unicode": "5.2", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 168, + 64, + 59 + ] + }, + { + "emoji": "📿", + "description": "prayer beads", + "category": "Objects", + "aliases": [ + "a prayer beads emoji", + "prayer beads", + "clothing", + "religious", + "necklace", + "prayer", + "dhikr", + "beads", + "prayer beads emoji", + "religion" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 144, + 76, + 78 + ] + }, + { + "emoji": "💄", + "description": "lipstick", + "category": "Objects", + "aliases": [ + "a lipstick", + "makeup", + "woman", + "girl", + "female", + "fashion", + "cosmetics", + "lipstick", + "lipsticks" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 186, + 91, + 87 + ] + }, + { + "emoji": "💍", + "description": "ring", + "category": "Objects", + "aliases": [ + "diamond", + "propose", + "rings", + "wedding", + "ring", + "jewelry", + "marriage", + "gem", + "fashion", + "valentines", + "engagement", + "a ring", + "engaged" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 163, + 175, + 182 + ] + }, + { + "emoji": "💎", + "description": "gemstone", + "category": "Objects", + "aliases": [ + "diamond", + "jewel", + "jewelry", + "stone", + "gem stone", + "a gem stone", + "gem", + "blue", + "ruby", + "gem stones" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 115, + 193, + 245 + ] + }, + { + "emoji": "🔇", + "description": "muted speaker", + "category": "Objects", + "aliases": [ + "quiet", + "mute", + "muted speaker", + "volume", + "speaker", + "silent", + "muted speakers", + "muted", + "silence", + "a muted speaker", + "sound" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 136, + 82, + 85 + ] + }, + { + "emoji": "🔈", + "description": "speaker", + "category": "Objects", + "aliases": [ + "low", + "volume", + "speaker", + "soft", + "speaker low volume", + "a volume speaker", + "silence", + "volume speakers", + "broadcast", + "sound" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 117, + 120, + 124 + ] + }, + { + "emoji": "🔉", + "description": "speaker with", + "category": "Objects", + "aliases": [ + "medium", + "volume", + "speaker", + "speaker medium volume", + "a volume speaker", + "volume speakers", + "broadcast", + "sound" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 124, + 131, + 135 + ] + }, + { + "emoji": "🔊", + "description": "speaker with", + "category": "Objects", + "aliases": [ + "loud", + "volume emoji", + "speaker high volume", + "noisy", + "volume", + "speaker", + "a volume emoji", + "loud sound", + "high", + "broadcast", + "noise" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 112, + 128, + 133 + ] + }, + { + "emoji": "📢", + "description": "public address", + "category": "Objects", + "aliases": [ + "announcement", + "loud", + "public address", + "a loudspeaker emoji", + "volume", + "sound", + "loudspeaker emoji", + "loudspeaker" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 173, + 175, + 177 + ] + }, + { + "emoji": "📣", + "description": "cheering megaphone", + "category": "Objects", + "aliases": [ + "a megaphone emoji", + "mega", + "cheering", + "volume", + "speaker", + "megaphone emoji", + "megaphone", + "sound" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 161, + 132, + 49 + ] + }, + { + "emoji": "📯", + "description": "postal horn", + "category": "Objects", + "aliases": [ + "horn", + "music", + "post", + "postal", + "postal horn emoji", + "postal horn", + "a postal horn emoji", + "instrument" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 203, + 146, + 83 + ] + }, + { + "emoji": "🔔", + "description": "bell", + "category": "Objects", + "aliases": [ + "bell", + "xmas", + "chime", + "bell emoji", + "christmas", + "a bell emoji", + "notification", + "sound" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 168, + 137, + 51 + ] + }, + { + "emoji": "🔕", + "description": "muted bell", + "category": "Objects", + "aliases": [ + "bell", + "quiet", + "mute", + "off", + "volume", + "forbidden", + "a muted bell emoji", + "muted bell emoji", + "bell with slash", + "no bell", + "silent", + "slash", + "sound" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 178, + 103, + 40 + ] + }, + { + "emoji": "🎼", + "description": "musical score", + "category": "Objects", + "aliases": [ + "a musical score emoji", + "score", + "music", + "compose", + "treble", + "musical score", + "clef", + "musical score emoji", + "musical" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 109, + 109, + 109 + ] + }, + { + "emoji": "🎵", + "description": "musical note", + "category": "Objects", + "aliases": [ + "tone", + "score", + "music", + "musical note", + "note", + "a musical note emoji", + "musical note emoji", + "musical", + "sound" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 62, + 65, + 69 + ] + }, + { + "emoji": "🎶", + "description": "musical notes", + "category": "Objects", + "aliases": [ + "musical notes emoji", + "a musical notes emoji", + "score", + "music", + "notes", + "note", + "musical notes", + "musical" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 83, + 88, + 93 + ] + }, + { + "emoji": "🎙️", + "description": "studio microphone", + "category": "Objects", + "aliases": [ + "microphones", + "sing", + "podcast", + "artist", + "talkshow", + "microphone", + "studio", + "a microphone", + "recording", + "studio microphone" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 122, + 128, + 133 + ] + }, + { + "emoji": "🎚️", + "description": "level slider", + "category": "Objects", + "aliases": [ + "slider", + "a level slider", + "level slider", + "scale", + "level", + "level sliders" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 139, + 143, + 146 + ] + }, + { + "emoji": "🎛️", + "description": "control knobs", + "category": "Objects", + "aliases": [ + "control knobs", + "control knobs emoji", + "control", + "dial", + "knobs", + "a control knobs emoji" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 143, + 147, + 150 + ] + }, + { + "emoji": "🎤", + "description": "microphone", + "category": "Objects", + "aliases": [ + "microphone emoji", + "sing", + "music", + "mic", + "karaoke", + "pa", + "talkshow", + "microphone", + "a microphone emoji", + "sound" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 102, + 103, + 102 + ] + }, + { + "emoji": "🎧", + "description": "headphones", + "category": "Objects", + "aliases": [ + "earbud", + "score", + "gadgets", + "music", + "headphones emoji", + "headphones", + "a headphones emoji", + "earphones", + "headphone" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 195, + 196, + 196 + ] + }, + { + "emoji": "📻", + "description": "radio", + "category": "Objects", + "aliases": [ + "podcast", + "a radio emoji", + "video", + "radio emoji", + "music", + "communication", + "program", + "radio" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 155, + 139, + 99 + ] + }, + { + "emoji": "🎷", + "description": "saxophone", + "category": "Objects", + "aliases": [ + "saxophone emoji", + "music", + "jazz", + "sax", + "saxophone", + "blues", + "a saxophone emoji", + "instrument" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 179, + 151, + 64 + ] + }, + { + "emoji": "🪗", + "description": "accordion", + "category": "Objects", + "aliases": [ + "music", + "accordion", + "concertina", + "accordions", + "squeeze box", + "an accordion" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 140, + 76, + 87 + ] + }, + { + "emoji": "🎸", + "description": "guitar", + "category": "Objects", + "aliases": [ + "music", + "guitar emoji", + "a guitar emoji", + "rock", + "instrument", + "guitar" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 204, + 107, + 102 + ] + }, + { + "emoji": "🎹", + "description": "musical keyboard", + "category": "Objects", + "aliases": [ + "musical keyboard emoji", + "musical keyboard", + "music", + "keyboard", + "compose", + "piano", + "instrument", + "musical", + "a musical keyboard emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 140, + 141, + 141 + ] + }, + { + "emoji": "🎺", + "description": "trumpet", + "category": "Objects", + "aliases": [ + "music", + "trumpet", + "brass", + "trumpet emoji", + "a trumpet emoji", + "instrument" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 169, + 149, + 70 + ] + }, + { + "emoji": "🎻", + "description": "violin", + "category": "Objects", + "aliases": [ + "symphony", + "violin emoji", + "music", + "violin", + "orchestra", + "a violin emoji", + "instrument" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 148, + 101, + 64 + ] + }, + { + "emoji": "🪕", + "description": "banjo", + "category": "Objects", + "aliases": [ + "music", + "banjo", + "banjos", + "a banjo", + "instructment", + "stringed" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 158, + 147, + 118 + ] + }, + { + "emoji": "🥁", + "description": "drum", + "category": "Objects", + "aliases": [ + "music", + "drum", + "a drum emoji", + "drumsticks", + "drum emoji", + "instrument", + "snare" + ], + "unicode": "", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 190, + 136, + 119 + ] + }, + { + "emoji": "🪘", + "description": "long drum", + "category": "Objects", + "aliases": [ + "music", + "long drums", + "drum", + "long drum", + "conga", + "a long drum", + "rhythm", + "long", + "beat" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 156, + 123, + 86 + ] + }, + { + "emoji": "📱", + "description": "mobile phone", + "category": "Objects", + "aliases": [ + "apple", + "technology", + "mobile phone", + "smartphone", + "gadgets", + "a mobile phone emoji", + "mobile phone emoji", + "telephone", + "mobile", + "phone", + "dial", + "cell", + "iphone" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "📱", + "☎️", + "📞" + ], + "rgb": [ + 72, + 78, + 75 + ] + }, + { + "emoji": "📲", + "description": "phone with arrow", + "category": "Objects", + "aliases": [ + "arrow", + "incoming", + "call", + "mobile", + "calling", + "phone", + "cell", + "phone with arrow emoji", + "iphone", + "a phone with arrow emoji", + "mobile phone with arrow", + "receive" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 59, + 79, + 91 + ] + }, + { + "emoji": "☎️", + "description": "telephone", + "category": "Objects", + "aliases": [ + "technology", + "phone emoji", + "telephone", + "communication", + "phone", + "dial", + "a phone emoji" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "📱", + "☎️", + "📞" + ], + "rgb": [ + 205, + 73, + 77 + ] + }, + { + "emoji": "📞", + "description": "telephone receiver", + "category": "Objects", + "aliases": [ + "technology", + "call", + "phone emoji", + "telephone", + "communication", + "receiver", + "phone", + "dial", + "a phone emoji", + "telephone receiver" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [ + "📱", + "☎️", + "📞" + ], + "rgb": [ + 86, + 88, + 89 + ] + }, + { + "emoji": "📟", + "description": "pager", + "category": "Objects", + "aliases": [ + "pager", + "a pager emoji", + "90s", + "bbcall", + "pager emoji", + "oldschool" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 66, + 125, + 90 + ] + }, + { + "emoji": "📠", + "description": "fax", + "category": "Objects", + "aliases": [ + "fax emoji", + "fax machine", + "technology", + "fax", + "communication", + "a fax emoji", + "machine" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 170, + 166, + 156 + ] + }, + { + "emoji": "🔋", + "description": "battery", + "category": "Objects", + "aliases": [ + "a battery emoji", + "battery", + "battery emoji", + "energy", + "power", + "sustain" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 110, + 161, + 84 + ] + }, + { + "emoji": "🔌", + "description": "electric plug", + "category": "Objects", + "aliases": [ + "charger", + "an electric plug emoji", + "electric plug", + "electric plug emoji", + "electric", + "plug", + "power", + "electricity" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 71, + 69, + 60 + ] + }, + { + "emoji": "💻", + "description": "laptop", + "category": "Objects", + "aliases": [ + "monitor", + "technology", + "laptop", + "pc", + "laptop emoji", + "computer", + "personal", + "display", + "a laptop emoji", + "desktop", + "screen" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 72, + 72, + 72 + ] + }, + { + "emoji": "🖥️", + "description": "desktop computer", + "category": "Objects", + "aliases": [ + "a desktop computer", + "technology", + "desktop computers", + "computing", + "computer", + "desktop computer", + "desktop", + "screen" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 93, + 93, + 93 + ] + }, + { + "emoji": "🖨️", + "description": "printer", + "category": "Objects", + "aliases": [ + "ink", + "printer", + "a printer emoji", + "printer emoji", + "paper" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 131, + 133, + 136 + ] + }, + { + "emoji": "⌨️", + "description": "keyboard", + "category": "Objects", + "aliases": [ + "technology", + "keyboard", + "text", + "computer", + "a keyboard emoji", + "keyboard emoji", + "input", + "type" + ], + "unicode": "", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 188, + 189, + 191 + ] + }, + { + "emoji": "🖱️", + "description": "computer mouse", + "category": "Objects", + "aliases": [ + "computer mouse", + "click", + "mouse", + "computer", + "a computer mouse", + "computer mice" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 239, + 241, + 242 + ] + }, + { + "emoji": "🖲️", + "description": "trackball", + "category": "Objects", + "aliases": [ + "a trackball emoji", + "technology", + "trackball", + "trackpad", + "trackball emoji" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 67, + 81, + 105 + ] + }, + { + "emoji": "💽", + "description": "minidisc", + "category": "Objects", + "aliases": [ + "optical", + "technology", + "minidisc emoji", + "record", + "minidisc", + "minidisk", + "computer", + "data", + "disk", + "90s", + "computer disk", + "a minidisc emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 163, + 157, + 135 + ] + }, + { + "emoji": "💾", + "description": "floppy disk", + "category": "Objects", + "aliases": [ + "floppy disk", + "floppy disk emoji", + "technology", + "save", + "80s", + "computer", + "floppy", + "90s", + "a floppy disk emoji", + "disk", + "oldschool" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 154, + 157, + 160 + ] + }, + { + "emoji": "💿", + "description": "cd", + "category": "Objects", + "aliases": [ + "disk", + "optical", + "optical disk", + "technology", + "disc", + "CD emoji", + "cd", + "computer", + "a CD emoji", + "dvd", + "CD", + "90s" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 202, + 202, + 200 + ] + }, + { + "emoji": "📀", + "description": "dvd", + "category": "Objects", + "aliases": [ + "optical", + "disc", + "Blu-ray", + "a DVD emoji", + "cd", + "computer", + "DVD emoji", + "DVD", + "dvd", + "disk" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 202, + 189, + 148 + ] + }, + { + "emoji": "🧮", + "description": "abacus", + "category": "Objects", + "aliases": [ + "an abacus emoji", + "abacus", + "calculation", + "abacus emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 143, + 55, + 23 + ] + }, + { + "emoji": "🎥", + "description": "movie camera", + "category": "Objects", + "aliases": [ + "movie camera emoji", + "a movie camera emoji", + "record", + "video", + "film", + "cinema", + "camera", + "movie", + "movie camera" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 81, + 84, + 87 + ] + }, + { + "emoji": "🎞️", + "description": "film frames", + "category": "Objects", + "aliases": [ + "film frames", + "film rolls", + "film", + "a film roll", + "film strip", + "movie", + "frames" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 175, + 158, + 127 + ] + }, + { + "emoji": "📽️", + "description": "film projector", + "category": "Objects", + "aliases": [ + "film projector", + "record", + "film projector emoji", + "projector", + "video", + "tape", + "film", + "a film projector emoji", + "movie" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 105, + 108, + 108 + ] + }, + { + "emoji": "🎬", + "description": "clapper board", + "category": "Objects", + "aliases": [ + "movie clapper board emoji", + "clapper board", + "record", + "board", + "film", + "a movie clapper board emoji", + "movie", + "clapper" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 98, + 97, + 97 + ] + }, + { + "emoji": "📺", + "description": "television", + "category": "Objects", + "aliases": [ + "TV emoji", + "technology", + "video", + "television", + "program", + "show", + "a TV emoji", + "oldschool", + "tv" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 123, + 117, + 109 + ] + }, + { + "emoji": "📷", + "description": "camera", + "category": "Objects", + "aliases": [ + "a camera emoji", + "photo", + "gadgets", + "video", + "camera emoji", + "photography", + "camera" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 105, + 105, + 105 + ] + }, + { + "emoji": "📸", + "description": "camera with", + "category": "Objects", + "aliases": [ + "photo", + "gadgets", + "a camera with flash emoji", + "camera with flash emoji", + "video", + "camera with flash", + "photography", + "camera", + "camera flash", + "flash" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 123, + 109, + 88 + ] + }, + { + "emoji": "📹", + "description": "video camera", + "category": "Objects", + "aliases": [ + "record", + "video", + "video camera emoji", + "film", + "camera", + "a video camera emoji", + "video camera" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 114, + 117, + 120 + ] + }, + { + "emoji": "📼", + "description": "videocassette", + "category": "Objects", + "aliases": [ + "record", + "video tape emoji", + "tape", + "video", + "vhs", + "videocassette", + "90s", + "80s", + "a video tape emoji", + "oldschool" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 92, + 92, + 92 + ] + }, + { + "emoji": "🔍", + "description": "left-pointing", + "category": "Objects", + "aliases": [ + "magnifying glass emoji", + "tilted", + "magnifying glass tilted left", + "tool", + "mag", + "detective", + "find", + "magnifying", + "zoom", + "a magnifying glass emoji", + "left", + "glass", + "search" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 174, + 177, + 180 + ] + }, + { + "emoji": "🔎", + "description": "right-pointing", + "category": "Objects", + "aliases": [ + "magnifying glass tilted right", + "magnifying glass emoji", + "tilted", + "tool", + "detective", + "find", + "magnifying", + "zoom", + "a magnifying glass emoji", + "right", + "glass", + "search", + "mag right" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 177, + 180, + 183 + ] + }, + { + "emoji": "🕯️", + "description": "candle", + "category": "Objects", + "aliases": [ + "wax", + "candle", + "candles", + "fire", + "a candle" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 210, + 193, + 176 + ] + }, + { + "emoji": "💡", + "description": "light bulb", + "category": "Objects", + "aliases": [ + "a light bulb emoji", + "idea", + "light bulb emoji", + "comic", + "light", + "bulb", + "electric", + "electricity", + "light bulb" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 239, + 227, + 189 + ] + }, + { + "emoji": "🔦", + "description": "flashlight", + "category": "Objects", + "aliases": [ + "a flashlight emoji", + "flashlight", + "flashlight emoji", + "dark", + "night", + "tool", + "light", + "electric", + "sight", + "camping", + "torch" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 124, + 126, + 127 + ] + }, + { + "emoji": "🏮", + "description": "izakaya lantern", + "category": "Objects", + "aliases": [ + "a red paper lantern emoji", + "spooky", + "light", + "red paper lantern", + "lantern", + "red", + "izakaya lantern", + "red paper lantern emoji", + "bar", + "halloween", + "paper" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 175, + 67, + 24 + ] + }, + { + "emoji": "🪔", + "description": "diya lamp", + "category": "Objects", + "aliases": [ + "diya", + "lamp", + "oil", + "diya lamp", + "diya lamps", + "a diya lamp", + "lighting" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 162, + 86, + 63 + ] + }, + { + "emoji": "📔", + "description": "notebook with", + "category": "Objects", + "aliases": [ + "classroom", + "notebook with decorative cover emoji", + "record", + "decorated", + "notebook with decorative cover", + "notes", + "cover", + "decorative", + "book", + "a notebook with decorative cover emoji", + "study", + "notebook", + "paper" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 213, + 181, + 113 + ] + }, + { + "emoji": "📕", + "description": "red textbook", + "category": "Objects", + "aliases": [ + "closed book", + "red book emoji", + "textbook", + "read", + "book", + "closed", + "knowledge", + "library", + "learn", + "a red book emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 169, + 58, + 55 + ] + }, + { + "emoji": "📖", + "description": "open book", + "category": "Objects", + "aliases": [ + "open book emoji", + "read", + "open", + "literature", + "open book", + "book", + "an open book emoji", + "knowledge", + "library", + "learn", + "study" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 170, + 183, + 194 + ] + }, + { + "emoji": "📗", + "description": "green textbook", + "category": "Objects", + "aliases": [ + "green", + "read", + "green book emoji", + "a green book emoji", + "book", + "knowledge", + "library", + "study", + "green book" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 117, + 155, + 64 + ] + }, + { + "emoji": "📘", + "description": "blue textbook", + "category": "Objects", + "aliases": [ + "blue book emoji", + "read", + "book", + "knowledge", + "library", + "learn", + "a blue book emoji", + "blue", + "study", + "blue book" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 57, + 117, + 163 + ] + }, + { + "emoji": "📙", + "description": "orange textbook", + "category": "Objects", + "aliases": [ + "read", + "textbook", + "an orange book emoji", + "book", + "knowledge", + "orange book emoji", + "library", + "study", + "orange book", + "orange" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 193, + 127, + 31 + ] + }, + { + "emoji": "📚", + "description": "books", + "category": "Objects", + "aliases": [ + "a books emoji", + "literature", + "books", + "books emoji", + "book", + "library", + "study" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 134, + 136, + 109 + ] + }, + { + "emoji": "📓", + "description": "composition", + "category": "Objects", + "aliases": [ + "record", + "notebook emoji", + "a notebook emoji", + "notes", + "stationery", + "notebook", + "study", + "paper" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 117, + 117, + 117 + ] + }, + { + "emoji": "📒", + "description": "ledger", + "category": "Objects", + "aliases": [ + "notebook emoji", + "notes", + "ledger", + "notebook", + "a notebook emoji", + "paper" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 215, + 191, + 55 + ] + }, + { + "emoji": "📃", + "description": "page with curl", + "category": "Objects", + "aliases": [ + "a page with curl emoji", + "page", + "page with curl", + "document", + "office", + "page with curl emoji", + "curl", + "documents", + "paper" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 204, + 204, + 204 + ] + }, + { + "emoji": "📜", + "description": "scroll", + "category": "Objects", + "aliases": [ + "scroll emoji", + "a scroll emoji", + "document", + "history", + "ancient", + "documents", + "paper", + "scroll" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 182, + 150, + 115 + ] + }, + { + "emoji": "📄", + "description": "page facing", + "category": "Objects", + "aliases": [ + "facing", + "page", + "up", + "page facing up", + "printed page emoji", + "paper", + "document", + "office", + "information", + "documents", + "a printed page emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 205, + 205, + 205 + ] + }, + { + "emoji": "📰", + "description": "newspaper", + "category": "Objects", + "aliases": [ + "headline", + "press", + "newspaper", + "newspaper emoji", + "a newspaper emoji", + "news", + "paper" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 165, + 165, + 165 + ] + }, + { + "emoji": "🗞️", + "description": "rolled-up newspaper", + "category": "Objects", + "aliases": [ + "headline", + "press", + "up", + "rolled-up newspaper emoji", + "rolled", + "a rolled-up newspaper emoji", + "newspaper", + "newspaper roll", + "rolled-up newspaper" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 150, + 150, + 148 + ] + }, + { + "emoji": "📑", + "description": "bookmark tabs", + "category": "Objects", + "aliases": [ + "bookmark", + "tidy", + "favorite", + "marker", + "a tabbed pages emoji", + "order", + "tabbed pages emoji", + "mark", + "save", + "tabs", + "bookmark tabs" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 208, + 210 + ] + }, + { + "emoji": "🔖", + "description": "bookmark", + "category": "Objects", + "aliases": [ + "bookmark", + "favorite", + "label", + "mark", + "save", + "bookmark emoji", + "a bookmark emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 226, + 203, + 196 + ] + }, + { + "emoji": "🏷️", + "description": "label tag", + "category": "Objects", + "aliases": [ + "sale", + "label", + "a label", + "tag", + "labels" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 245, + 206, + 159 + ] + }, + { + "emoji": "💰", + "description": "money bag", + "category": "Objects", + "aliases": [ + "sale", + "dollar", + "payment", + "coins", + "cream", + "moneybag", + "money", + "a money bag emoji", + "bag", + "money bag emoji", + "money bag" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 172, + 142, + 77 + ] + }, + { + "emoji": "🪙", + "description": "coin", + "category": "Objects", + "aliases": [ + "coin", + "currency", + "coins", + "silver", + "treasure", + "money", + "a coin", + "gold", + "metal" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 140, + 143, + 145 + ] + }, + { + "emoji": "💴", + "description": "yen banknotes", + "category": "Objects", + "aliases": [ + "a yen banknotes emoji", + "dollar", + "currency", + "yen banknotes emoji", + "sales", + "banknote", + "note", + "money", + "japanese", + "yen", + "yen banknote", + "bill" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 162, + 162, + 145 + ] + }, + { + "emoji": "💵", + "description": "dollar banknotes", + "category": "Objects", + "aliases": [ + "currency", + "dollar", + "dollar banknotes emoji", + "banknote", + "a dollar banknotes emoji", + "note", + "money", + "sales", + "bill", + "dollar banknote" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 190, + 182, + 141 + ] + }, + { + "emoji": "💶", + "description": "euro banknotes", + "category": "Objects", + "aliases": [ + "currency", + "dollar", + "euro banknotes emoji", + "euro", + "euro banknote", + "a euro banknotes emoji", + "banknote", + "note", + "money", + "sales", + "bill" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 166, + 191, + 172 + ] + }, + { + "emoji": "💷", + "description": "pound banknotes", + "category": "Objects", + "aliases": [ + "currency", + "uk", + "a pound banknotes emoji", + "pound banknote", + "banknote", + "sterling", + "note", + "money", + "pound", + "british", + "sales", + "england", + "bill", + "bills", + "pound banknotes emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 178, + 158, + 161 + ] + }, + { + "emoji": "💸", + "description": "money with wings", + "category": "Objects", + "aliases": [ + "fly", + "dollar", + "sale", + "payment", + "money with wings", + "banknote", + "money", + "a money with wings emoji", + "money with wings emoji", + "wings", + "bill", + "bills" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 185, + 180, + 156 + ] + }, + { + "emoji": "💳", + "description": "credit card", + "category": "Objects", + "aliases": [ + "a credit card emoji", + "card", + "dollar", + "payment", + "credit card emoji", + "subscription", + "credit card", + "money", + "sales", + "bill", + "credit", + "shopping" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 181, + 177, + 145 + ] + }, + { + "emoji": "🧾", + "description": "receipt", + "category": "Objects", + "aliases": [ + "expenses", + "receipt", + "evidence", + "accounting", + "bookkeeping", + "proof", + "a receipt emoji", + "receipt emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 217, + 217 + ] + }, + { + "emoji": "💹", + "description": "chart with upwards", + "category": "Objects", + "aliases": [ + "increasing", + "green", + "growth", + "chart increasing with yen", + "a chart with yen rising emoji", + "graph", + "square", + "money", + "stats", + "yen", + "chart with yen rising emoji", + "chart", + "presentation", + "green-square" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 56, + 196, + 61 + ] + }, + { + "emoji": "✉️", + "description": "envelope", + "category": "Objects", + "aliases": [ + "an envelope", + "envelope", + "postal", + "envelopes", + "communication", + "inbox", + "email", + "letter" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 220, + 220, + 220 + ] + }, + { + "emoji": "📧", + "description": "email", + "category": "Objects", + "aliases": [ + "email emoji", + "communication", + "mail", + "inbox", + "e", + "email", + "e-mail", + "an email emoji", + "letter" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 202, + 209, + 217 + ] + }, + { + "emoji": "📨", + "description": "incoming envelope", + "category": "Objects", + "aliases": [ + "envelope", + "incoming", + "an incoming envelope emoji", + "incoming envelope", + "e-mail", + "inbox", + "incoming envelope emoji", + "email", + "receive", + "letter" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 185, + 194, + 200 + ] + }, + { + "emoji": "📩", + "description": "envelope with", + "category": "Objects", + "aliases": [ + "arrow", + "envelope", + "envelope with arrow", + "communication", + "an envelope with arrow emoji", + "email", + "e-mail", + "envelope with arrow emoji", + "outgoing" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 223, + 205, + 204 + ] + }, + { + "emoji": "📤", + "description": "outbox tray", + "category": "Objects", + "aliases": [ + "sent", + "an outbox tray emoji", + "box", + "outbox", + "mail", + "inbox", + "tray", + "email", + "outbox tray", + "letter", + "outbox tray emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 160, + 171, + 199 + ] + }, + { + "emoji": "📥", + "description": "inbox tray", + "category": "Objects", + "aliases": [ + "box", + "an inbox tray emoji", + "inbox tray", + "mail", + "inbox tray emoji", + "tray", + "email", + "inbox", + "receive", + "documents", + "letter" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 157, + 168, + 196 + ] + }, + { + "emoji": "📦", + "description": "package", + "category": "Objects", + "aliases": [ + "moving", + "box", + "package", + "a package emoji", + "package emoji", + "cardboard", + "parcel", + "gift", + "mail", + "shipping" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 165, + 126, + 90 + ] + }, + { + "emoji": "📫", + "description": "closed mailbox", + "category": "Objects", + "aliases": [ + "closed mailbox with raised flag", + "closed mailbox with raised flag emoji", + "communication", + "mailbox", + "closed", + "a closed mailbox with raised flag emoji", + "raised", + "postbox", + "inbox", + "mail", + "email", + "flag" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 90, + 128, + 155 + ] + }, + { + "emoji": "📪", + "description": "closed mailbox", + "category": "Objects", + "aliases": [ + "closed mailbox with lowered flag emoji", + "closed mailbox with lowered flag", + "a closed mailbox with lowered flag emoji", + "communication", + "mailbox", + "closed", + "lowered", + "postbox", + "inbox", + "mail", + "email", + "flag", + "mailbox closed" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 94, + 137, + 164 + ] + }, + { + "emoji": "📬", + "description": "open mailbox", + "category": "Objects", + "aliases": [ + "mailbox with mail", + "an open mailbox with raised flag emoji", + "open", + "open mailbox with raised flag emoji", + "communication", + "mailbox", + "raised", + "postbox", + "open mailbox with raised flag", + "mail", + "email", + "inbox", + "flag" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 107, + 119, + 133 + ] + }, + { + "emoji": "📭", + "description": "open mailbox", + "category": "Objects", + "aliases": [ + "open mailbox with lowered flag emoji", + "open mailbox with lowered flag", + "open", + "an open mailbox with lowered flag emoji", + "mailbox", + "mailbox with no mail", + "lowered", + "postbox", + "inbox", + "mail", + "email", + "flag" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 91, + 108, + 122 + ] + }, + { + "emoji": "📮", + "description": "postbox", + "category": "Objects", + "aliases": [ + "envelope", + "a postbox emoji", + "mailbox", + "postbox", + "postbox emoji", + "mail", + "email", + "letter" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 210, + 71, + 71 + ] + }, + { + "emoji": "🗳️", + "description": "ballot box with", + "category": "Objects", + "aliases": [ + "ballot boxes with ballots", + "box", + "ballot", + "ballot box", + "election", + "ballot box with ballot", + "vote", + "a ballot box with ballot" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 128, + 177, + 186 + ] + }, + { + "emoji": "✏️", + "description": "pencil", + "category": "Objects", + "aliases": [ + "write", + "school", + "pencil", + "a pencil", + "stationery", + "pencil2", + "study", + "writing", + "pencils", + "paper" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 212, + 169, + 77 + ] + }, + { + "emoji": "✒️", + "description": "fountain pen", + "category": "Objects", + "aliases": [ + "write", + "a fountain pen", + "stationery", + "black nib", + "black", + "fountain pens", + "nib", + "writing", + "pen" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 119, + 122, + 125 + ] + }, + { + "emoji": "🖋️", + "description": "fountain pen", + "category": "Objects", + "aliases": [ + "write", + "a fountain pen", + "stationery", + "fountain", + "fountain pens", + "fountain pen", + "writing", + "pen" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 123, + 128, + 131 + ] + }, + { + "emoji": "🖊️", + "description": "ballpoint pen", + "category": "Objects", + "aliases": [ + "write", + "stationery", + "a pen", + "pens", + "writing", + "pen" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 107, + 111, + 115 + ] + }, + { + "emoji": "🖌️", + "description": "paintbrush", + "category": "Objects", + "aliases": [ + "paintbrush", + "a paintbrush emoji", + "paintbrush emoji", + "creativity", + "art", + "drawing" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 110, + 112, + 146 + ] + }, + { + "emoji": "🖍️", + "description": "crayon", + "category": "Objects", + "aliases": [ + "crayons", + "a crayon", + "crayon", + "creativity", + "drawing" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 190, + 64, + 64 + ] + }, + { + "emoji": "📝", + "description": "memo", + "category": "Objects", + "aliases": [ + "write", + "a handwritten page emoji", + "exam", + "compose", + "pencil", + "documents", + "test", + "document", + "note", + "stationery", + "legal", + "study", + "memo", + "quiz", + "handwritten page emoji", + "writing", + "paper" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 208, + 190 + ] + }, + { + "emoji": "💼", + "description": "briefcase", + "category": "Objects", + "aliases": [ + "business", + "briefcase emoji", + "work", + "law", + "a briefcase emoji", + "briefcase", + "career", + "legal", + "job", + "documents" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 123, + 94, + 78 + ] + }, + { + "emoji": "📁", + "description": "closed file", + "category": "Objects", + "aliases": [ + "business", + "a file folder emoji", + "file folder", + "folder", + "file", + "office", + "directory", + "documents", + "file folder emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 157, + 166, + 173 + ] + }, + { + "emoji": "📂", + "description": "open file folder", + "category": "Objects", + "aliases": [ + "open", + "folder", + "open file folder emoji", + "open file folder", + "file", + "an open file folder emoji", + "documents", + "load" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 156, + 166, + 174 + ] + }, + { + "emoji": "🗂️", + "description": "card index dividers", + "category": "Objects", + "aliases": [ + "business", + "card", + "dividers", + "organizing", + "index", + "card index dividers emoji", + "stationery", + "card index dividers" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 218, + 177, + 138 + ] + }, + { + "emoji": "📅", + "description": "calendar", + "category": "Objects", + "aliases": [ + "date", + "calendar emoji", + "schedule", + "calendar", + "a calendar emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 189, + 160, + 160 + ] + }, + { + "emoji": "📆", + "description": "tear-off calendar", + "category": "Objects", + "aliases": [ + "date", + "off", + "calendar emoji", + "tear-off calendar", + "schedule", + "tear", + "calendar", + "a calendar emoji", + "planning" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 181, + 155, + 155 + ] + }, + { + "emoji": "🗒️", + "description": "spiral notepad", + "category": "Objects", + "aliases": [ + "a spiral notepad emoji", + "spiral", + "spiral notepad emoji", + "stationery", + "memo", + "notepad", + "spiral notepad" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 212, + 216, + 219 + ] + }, + { + "emoji": "🗓️", + "description": "spiral calendar", + "category": "Objects", + "aliases": [ + "a calendar", + "spiral calendar", + "date", + "spiral", + "schedule", + "calendar", + "calendars", + "planning" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 191, + 192 + ] + }, + { + "emoji": "📇", + "description": "card index", + "category": "Objects", + "aliases": [ + "business", + "card index emoji", + "card", + "card index", + "index", + "stationery", + "rolodex", + "a card index emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 154, + 152, + 146 + ] + }, + { + "emoji": "📈", + "description": "chart with upwards", + "category": "Objects", + "aliases": [ + "graph", + "money", + "chart", + "increasing", + "growth", + "chart trending up emoji", + "metrics", + "economics", + "success", + "business", + "chart with upwards trend", + "recovery", + "stats", + "presentation", + "chart increasing", + "trend", + "upward", + "a chart trending up emoji", + "sales", + "good" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 207, + 198, + 205 + ] + }, + { + "emoji": "📉", + "description": "chart with downwards", + "category": "Objects", + "aliases": [ + "chart with downwards trend", + "bad", + "graph", + "money", + "down", + "chart", + "decreasing", + "metrics", + "economics", + "failure", + "business", + "stats", + "chart decreasing", + "recession", + "presentation", + "trend", + "chart trending down emoji", + "sales", + "a chart trending down emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 189, + 205, + 223 + ] + }, + { + "emoji": "📊", + "description": "bar chart", + "category": "Objects", + "aliases": [ + "bar chart", + "metrics", + "bar chart emoji", + "graph", + "a bar chart emoji", + "stats", + "bar", + "chart", + "presentation" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 143, + 171, + 172 + ] + }, + { + "emoji": "📋", + "description": "clipboard", + "category": "Objects", + "aliases": [ + "clipboard emoji", + "clipboard", + "stationery", + "a clipboard emoji", + "documents" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 201, + 194, + 182 + ] + }, + { + "emoji": "📌", + "description": "pushpin", + "category": "Objects", + "aliases": [ + "here", + "pin", + "pushpin", + "pushpin emoji", + "mark", + "location", + "stationery", + "a pushpin emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 189, + 70, + 73 + ] + }, + { + "emoji": "📍", + "description": "round pushpin", + "category": "Objects", + "aliases": [ + "here", + "pin", + "pushpin", + "pushpin emoji", + "round", + "map", + "location", + "stationery", + "a pushpin emoji", + "round pushpin" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 196, + 89, + 86 + ] + }, + { + "emoji": "📎", + "description": "paperclip", + "category": "Objects", + "aliases": [ + "a paperclip emoji", + "stationery", + "paperclip emoji", + "paperclip", + "documents" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 150, + 164, + 180 + ] + }, + { + "emoji": "🖇️", + "description": "linked paperclips", + "category": "Objects", + "aliases": [ + "linked", + "linked paperclips", + "a linked paperclips emoji", + "paperclips", + "stationery", + "documents", + "linked paperclips emoji" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 160, + 167, + 174 + ] + }, + { + "emoji": "📏", + "description": "straight ruler", + "category": "Objects", + "aliases": [ + "calculate", + "a ruler emoji", + "ruler", + "school", + "straight ruler", + "sketch", + "straight", + "math", + "stationery", + "length", + "ruler emoji", + "straight edge", + "architect", + "drawing" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 167, + 184, + 203 + ] + }, + { + "emoji": "📐", + "description": "triangular ruler", + "category": "Objects", + "aliases": [ + "ruler", + "triangle", + "triangular ruler emoji", + "a triangular ruler emoji", + "sketch", + "triangular", + "triangular ruler", + "math", + "stationery", + "set", + "architect" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 166, + 183, + 202 + ] + }, + { + "emoji": "✂️", + "description": "scissors", + "category": "Objects", + "aliases": [ + "scissors", + "scissors emoji", + "stationery", + "a scissors emoji", + "cut" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 204, + 142, + 150 + ] + }, + { + "emoji": "🗃️", + "description": "card file box", + "category": "Objects", + "aliases": [ + "business", + "card", + "a card file box emoji", + "box", + "file", + "stationery", + "card file box emoji", + "card file box" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 103, + 97, + 90 + ] + }, + { + "emoji": "🗄️", + "description": "file cabinet", + "category": "Objects", + "aliases": [ + "organizing", + "cabinet", + "file", + "a file cabinet", + "file cabinets", + "filing", + "file cabinet" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 114, + 120, + 122 + ] + }, + { + "emoji": "🗑️", + "description": "wastebasket", + "category": "Objects", + "aliases": [ + "wastebasket", + "rubbish", + "garbage", + "a wastebasket emoji", + "wastebasket emoji", + "bin", + "trash", + "toss" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 140, + 148, + 156 + ] + }, + { + "emoji": "🔒", + "description": "closed lock", + "category": "Objects", + "aliases": [ + "padlock", + "lock", + "password", + "a lock emoji", + "security", + "closed", + "lock emoji", + "private", + "locked" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 171, + 169, + 126 + ] + }, + { + "emoji": "🔓", + "description": "open lock", + "category": "Objects", + "aliases": [ + "unlocked", + "an open lock emoji", + "open", + "unlock", + "security", + "privacy", + "lock", + "open lock emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 174, + 172, + 130 + ] + }, + { + "emoji": "🔏", + "description": "lock with ink", + "category": "Objects", + "aliases": [ + "lock with pen emoji", + "a lock with pen emoji", + "ink", + "secret", + "lock with ink pen", + "security", + "pen", + "privacy", + "nib", + "locked with pen", + "lock", + "locked" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 124, + 126, + 109 + ] + }, + { + "emoji": "🔐", + "description": "closed lock", + "category": "Objects", + "aliases": [ + "lock and key emoji", + "key", + "locked with key", + "security", + "a lock and key emoji", + "closed lock with key", + "closed", + "secure", + "privacy", + "lock", + "locked" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 187, + 167, + 96 + ] + }, + { + "emoji": "🔑", + "description": "key", + "category": "Objects", + "aliases": [ + "key emoji", + "password", + "key", + "door", + "a key emoji", + "lock" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 175, + 44 + ] + }, + { + "emoji": "🗝️", + "description": "old key", + "category": "Objects", + "aliases": [ + "password", + "keys", + "key", + "old", + "old key", + "door", + "a key", + "lock" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 107, + 103, + 104 + ] + }, + { + "emoji": "🔨", + "description": "hammer", + "category": "Objects", + "aliases": [ + "tools", + "tool", + "create", + "build", + "hammer emoji", + "hammer", + "a hammer emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 91, + 95, + 100 + ] + }, + { + "emoji": "🪓", + "description": "axe", + "category": "Objects", + "aliases": [ + "tool", + "an axe", + "hatchet", + "chop", + "wood", + "cut", + "axe", + "axes", + "split" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 139, + 72, + 54 + ] + }, + { + "emoji": "⛏️", + "description": "pick", + "category": "Objects", + "aliases": [ + "tools", + "pick", + "dig", + "picks", + "a pick" + ], + "unicode": "5.2", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 82, + 83, + 86 + ] + }, + { + "emoji": "⚒️", + "description": "hammer and pick", + "category": "Objects", + "aliases": [ + "tools", + "pick", + "hammer and pick emoji", + "create", + "build", + "a hammer and pick emoji", + "hammer and pick", + "hammer" + ], + "unicode": "4.1", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 92, + 92, + 95 + ] + }, + { + "emoji": "🛠️", + "description": "hammer and wrench", + "category": "Objects", + "aliases": [ + "a hammer and wrench emoji", + "tools", + "wrench", + "create", + "build", + "hammer and wrench emoji", + "hammer and wrench", + "hammer" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 106, + 109, + 114 + ] + }, + { + "emoji": "🗡️", + "description": "dagger", + "category": "Objects", + "aliases": [ + "dagger", + "dagger emoji", + "weapon", + "a dagger emoji" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 141, + 144, + 151 + ] + }, + { + "emoji": "⚔️", + "description": "crossed swords", + "category": "Objects", + "aliases": [ + "weapon", + "a crossed swords emoji", + "crossed", + "swords", + "crossed swords", + "crossed swords emoji" + ], + "unicode": "4.1", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 129, + 132, + 138 + ] + }, + { + "emoji": "🔫", + "description": "water pistol", + "category": "Objects", + "aliases": [ + "water pistol", + "violence", + "revolver", + "water", + "shoot", + "tool", + "pistol", + "gun", + "weapon", + "a water gun emoji", + "water gun emoji", + "handgun" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 126, + 219, + 101 + ] + }, + { + "emoji": "🪃", + "description": "boomerang", + "category": "Objects", + "aliases": [ + "rebound", + "a boomerang", + "weapon", + "boomerangs", + "boomerang", + "repercussion" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 168, + 110, + 84 + ] + }, + { + "emoji": "🏹", + "description": "bow and arrow", + "category": "Objects", + "aliases": [ + "bow and arrow", + "arrow", + "archer", + "Sagittarius", + "a bow and arrow emoji", + "bow", + "sports", + "archery", + "zodiac", + "bow and arrow emoji" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 167, + 150, + 142 + ] + }, + { + "emoji": "🛡️", + "description": "shield", + "category": "Objects", + "aliases": [ + "shield", + "shields", + "protection", + "a shield", + "security" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 187, + 150, + 144 + ] + }, + { + "emoji": "🪚", + "description": "hand saw", + "category": "Objects", + "aliases": [ + "a hand saw", + "carpentry", + "saw", + "carpentry saw", + "tool", + "lumber", + "chop", + "hand saws", + "carpenter", + "cut" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 167, + 156, + 142 + ] + }, + { + "emoji": "🔧", + "description": "wrench", + "category": "Objects", + "aliases": [ + "fix", + "a wrench emoji", + "tools", + "tool", + "wrench", + "spanner", + "ikea", + "wrench emoji", + "maintainer", + "diy" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 119, + 120, + 128 + ] + }, + { + "emoji": "🪛", + "description": "screwdriver", + "category": "Objects", + "aliases": [ + "screw", + "a screwdriver", + "tools", + "screwdrivers", + "tool", + "screwdriver" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 102, + 179, + 86 + ] + }, + { + "emoji": "🔩", + "description": "nut and bolt", + "category": "Objects", + "aliases": [ + "nut", + "nut and bolt", + "fix", + "tools", + "tool", + "bolt", + "nut and bolt emoji", + "a nut and bolt emoji", + "handy" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 147, + 150, + 156 + ] + }, + { + "emoji": "⚙️", + "description": "gear", + "category": "Objects", + "aliases": [ + "a gear", + "cog", + "gear", + "gears" + ], + "unicode": "4.1", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 150, + 155, + 163 + ] + }, + { + "emoji": "🗜️", + "description": "clamp", + "category": "Objects", + "aliases": [ + "clamps", + "tool", + "a clamp", + "clamp" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 113, + 126, + 133 + ] + }, + { + "emoji": "⚖️", + "description": "scales", + "category": "Objects", + "aliases": [ + "balance scale", + "balance", + "law", + "scales", + "scale", + "fairness", + "weight" + ], + "unicode": "4.1", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 138, + 147, + 156 + ] + }, + { + "emoji": "🦯", + "description": "white cane", + "category": "Objects", + "aliases": [ + "white cane emoji", + "a white cane emoji", + "accessibility", + "blind", + "probing cane", + "cane", + "white cane", + "probing", + "white" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 114, + 88, + 90 + ] + }, + { + "emoji": "🔗", + "description": "link symbol", + "category": "Objects", + "aliases": [ + "url", + "rings", + "link symbol emoji", + "a link symbol emoji", + "link" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 145, + 150, + 157 + ] + }, + { + "emoji": "⛓️", + "description": "chains", + "category": "Objects", + "aliases": [ + "chains", + "chains emoji", + "a chains emoji", + "arrest", + "lock" + ], + "unicode": "5.2", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 140, + 144, + 149 + ] + }, + { + "emoji": "🪝", + "description": "hook", + "category": "Objects", + "aliases": [ + "curve", + "tools", + "hook emoji", + "crook", + "a hook emoji", + "catch", + "ensnare", + "selling point", + "hook" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 158, + 131, + 71 + ] + }, + { + "emoji": "🧰", + "description": "toolbox", + "category": "Objects", + "aliases": [ + "fix", + "tools", + "tool", + "chest", + "mechanic", + "a toolbox emoji", + "toolbox emoji", + "toolbox", + "maintainer", + "diy" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 191, + 75, + 72 + ] + }, + { + "emoji": "🧲", + "description": "magnet", + "category": "Objects", + "aliases": [ + "attraction", + "a magnet emoji", + "magnet", + "magnetic", + "horseshoe", + "magnet emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 212, + 68, + 68 + ] + }, + { + "emoji": "🪜", + "description": "ladder", + "category": "Objects", + "aliases": [ + "ladders", + "a ladder", + "tools", + "rung", + "step", + "climb", + "ladder" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 166, + 134, + 100 + ] + }, + { + "emoji": "⚗️", + "description": "alembic", + "category": "Objects", + "aliases": [ + "experiment", + "chemistry flasks", + "chemistry", + "distilling", + "a chemistry flask", + "alembic", + "science" + ], + "unicode": "4.1", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 169, + 192, + 197 + ] + }, + { + "emoji": "🧪", + "description": "test tube", + "category": "Objects", + "aliases": [ + "test tube", + "chemist", + "chemistry", + "experiment", + "test", + "a test tube emoji", + "tube", + "lab", + "test tube emoji", + "science" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 96, + 175, + 112 + ] + }, + { + "emoji": "🧫", + "description": "petri dish", + "category": "Objects", + "aliases": [ + "biology", + "petri dish emoji", + "culture", + "dish", + "petri dish", + "bacteria", + "petri", + "biologist", + "lab", + "a petri dish emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 174, + 124, + 152 + ] + }, + { + "emoji": "🧬", + "description": "DNA", + "category": "Objects", + "aliases": [ + "gene", + "dna", + "life", + "a DNA emoji", + "evolution", + "genetics", + "biologist", + "DNA emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 106, + 107, + 182 + ] + }, + { + "emoji": "🔬", + "description": "microscope", + "category": "Objects", + "aliases": [ + "microscope", + "investigate", + "zoomin", + "microscope emoji", + "tool", + "experiment", + "laboratory", + "zoom", + "a microscope emoji", + "study", + "science" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 130, + 143, + 149 + ] + }, + { + "emoji": "🔭", + "description": "telescope", + "category": "Objects", + "aliases": [ + "a telescope emoji", + "telescope", + "space", + "tool", + "astronomy", + "zoom", + "stars", + "telescope emoji", + "science" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 174, + 172, + 171 + ] + }, + { + "emoji": "📡", + "description": "satellite antenna", + "category": "Objects", + "aliases": [ + "dish", + "space", + "future", + "antenna", + "communication", + "signal", + "satellite", + "satellite antenna", + "a satellite antenna emoji", + "satellite antenna emoji", + "radio" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 169, + 172, + 177 + ] + }, + { + "emoji": "💉", + "description": "syringe", + "category": "Objects", + "aliases": [ + "syringe", + "a syringe", + "blood", + "needle", + "drugs", + "nurse", + "doctor", + "syringes", + "shot", + "medicine", + "hospital", + "health", + "sick" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 170, + 182, + 189 + ] + }, + { + "emoji": "🩸", + "description": "drop of blood", + "category": "Objects", + "aliases": [ + "hurt", + "blood", + "injury", + "blood donation", + "harm", + "drops of blood", + "wound", + "drop", + "medicine", + "period", + "bleed", + "a drop of blood", + "menstruation", + "drop of blood" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 186, + 10, + 8 + ] + }, + { + "emoji": "💊", + "description": "pill", + "category": "Objects", + "aliases": [ + "a pill", + "drug", + "doctor", + "pills", + "pharmacy", + "medicine", + "pill", + "health", + "sick" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 213, + 145, + 60 + ] + }, + { + "emoji": "🩹", + "description": "adhesive bandage", + "category": "Objects", + "aliases": [ + "adhesive", + "heal", + "bandage", + "adhesive bandage", + "bandages", + "a bandage" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 211, + 211, + 211 + ] + }, + { + "emoji": "🩺", + "description": "stethoscope", + "category": "Objects", + "aliases": [ + "stethoscopes", + "doctor", + "stethoscope", + "medicine", + "a stethoscope", + "health", + "heart" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 87, + 87, + 89 + ] + }, + { + "emoji": "🚪", + "description": "door", + "category": "Objects", + "aliases": [ + "door emoji", + "entry", + "exit", + "door", + "house", + "a door emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 149, + 92, + 59 + ] + }, + { + "emoji": "🛗", + "description": "elevator", + "category": "Objects", + "aliases": [ + "accessibility", + "an elevator", + "elevator", + "elevators", + "lift", + "hoist" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 91, + 153, + 225 + ] + }, + { + "emoji": "🪞", + "description": "mirror", + "category": "Objects", + "aliases": [ + "reflection", + "speculum", + "mirror emoji", + "reflector", + "mirror", + "a mirror emoji" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 209, + 209, + 195 + ] + }, + { + "emoji": "🪟", + "description": "window", + "category": "Objects", + "aliases": [ + "opening", + "transparent", + "window", + "a window emoji", + "scenery", + "view", + "fresh air", + "frame", + "window emoji" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 154, + 117, + 101 + ] + }, + { + "emoji": "🛏️", + "description": "bed", + "category": "Objects", + "aliases": [ + "rest", + "bed", + "a bed", + "beds", + "sleep" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 148, + 131, + 126 + ] + }, + { + "emoji": "🛋️", + "description": "couch and lamp", + "category": "Objects", + "aliases": [ + "read", + "couch", + "couch and lamp", + "a couch and lamp", + "couches and lamps", + "chill", + "lamp" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 139, + 172, + 206 + ] + }, + { + "emoji": "🪑", + "description": "chair", + "category": "Objects", + "aliases": [ + "sit", + "a chair", + "chairs", + "seat", + "furniture", + "chair" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 147, + 92, + 62 + ] + }, + { + "emoji": "🚽", + "description": "toilet", + "category": "Objects", + "aliases": [ + "potty", + "bathroom", + "a toilet emoji", + "toilet emoji", + "restroom", + "washroom", + "wc", + "toilet" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 212, + 211, + 210 + ] + }, + { + "emoji": "🪠", + "description": "plunger", + "category": "Objects", + "aliases": [ + "suction", + "plumber", + "toilet", + "plunger emoji", + "force cup", + "plunger", + "a plunger emoji" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 164, + 92, + 68 + ] + }, + { + "emoji": "🚿", + "description": "shower", + "category": "Objects", + "aliases": [ + "water", + "showers", + "bath", + "shower", + "bathroom", + "clean", + "a shower" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 105, + 161, + 167 + ] + }, + { + "emoji": "🛁", + "description": "bathtub", + "category": "Objects", + "aliases": [ + "bathtubs", + "bath", + "shower", + "a bathtub", + "bathtub", + "bathroom", + "clean" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 197, + 203, + 206 + ] + }, + { + "emoji": "🪤", + "description": "mouse trap", + "category": "Objects", + "aliases": [ + "trap", + "a mouse trap emoji", + "cheese", + "mouse", + "mousetrap", + "mouse trap emoji", + "bait", + "mouse trap", + "snare" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 210, + 170, + 118 + ] + }, + { + "emoji": "🪒", + "description": "razor", + "category": "Objects", + "aliases": [ + "razors", + "razor", + "shave", + "cut", + "a razor", + "sharp" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 153, + 112, + 96 + ] + }, + { + "emoji": "🧴", + "description": "lotion bottle", + "category": "Objects", + "aliases": [ + "lotion bottle", + "bottle", + "moisturizer", + "shampoo", + "lotion bottle emoji", + "sunscreen", + "a lotion bottle emoji", + "lotion" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 231, + 211, + 196 + ] + }, + { + "emoji": "🧷", + "description": "safety pin", + "category": "Objects", + "aliases": [ + "punk rock", + "pin", + "safety pin", + "a safety pin emoji", + "safety pin emoji", + "diaper", + "safety" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 111, + 127, + 147 + ] + }, + { + "emoji": "🧹", + "description": "broom", + "category": "Objects", + "aliases": [ + "a broom emoji", + "witch", + "cleaning", + "broom emoji", + "sweeping", + "broom" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 153, + 126, + 73 + ] + }, + { + "emoji": "🧺", + "description": "basket", + "category": "Objects", + "aliases": [ + "laundry", + "basket emoji", + "a basket emoji", + "basket", + "farming", + "picnic" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 123, + 102, + 80 + ] + }, + { + "emoji": "🧻", + "description": "roll of paper", + "category": "Objects", + "aliases": [ + "roll", + "toilet paper emoji", + "paper towels", + "a toilet paper emoji", + "toilet paper", + "roll of paper", + "paper", + "toilet" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 201, + 200, + 191 + ] + }, + { + "emoji": "🪣", + "description": "sentiment", + "category": "Objects", + "aliases": [ + "water", + "a bucket emoji", + "bucket emoji", + "sentiment", + "vat", + "cask", + "container", + "pail" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 67, + 126, + 143 + ] + }, + { + "emoji": "🧼", + "description": "soap", + "category": "Objects", + "aliases": [ + "soap emoji", + "bathing", + "a soap emoji", + "soap", + "lather", + "soapdish", + "cleaning", + "bar" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 132, + 214, + 179 + ] + }, + { + "emoji": "🪥", + "description": "toothbrush", + "category": "Objects", + "aliases": [ + "dental", + "toothbrush", + "toothbrush emoji", + "hygiene", + "bathroom", + "a toothbrush emoji", + "teeth", + "clean", + "brush" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 108, + 185, + 213 + ] + }, + { + "emoji": "🧽", + "description": "sponge", + "category": "Objects", + "aliases": [ + "sponge", + "porous", + "cleaning", + "a sponge emoji", + "sponge emoji", + "absorbing" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 212, + 196, + 42 + ] + }, + { + "emoji": "🧯", + "description": "fire extinguisher", + "category": "Objects", + "aliases": [ + "fire extinguisher emoji", + "fire", + "extinguish", + "quench", + "extinguisher", + "fire extinguisher", + "a fire extinguisher emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 158, + 101, + 100 + ] + }, + { + "emoji": "🛒", + "description": "shopping cart", + "category": "Objects", + "aliases": [ + "cart", + "a shopping cart", + "shopping carts", + "trolley", + "shopping cart", + "shopping" + ], + "unicode": "9.0", + "ios": "10.2", + "sentiment": "neutral", + "related": [], + "rgb": [ + 124, + 121, + 122 + ] + }, + { + "emoji": "🚬", + "description": "cigarette", + "category": "Objects", + "aliases": [ + "smoking", + "joint", + "kills", + "a cigarette emoji", + "cigarette", + "cigarette emoji", + "tobacco", + "smoke" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 173, + 162, + 152 + ] + }, + { + "emoji": "⚰️", + "description": "coffin", + "category": "Objects", + "aliases": [ + "cemetery", + "dead", + "coffins", + "box", + "rip", + "casket", + "a coffin", + "die", + "vampire", + "funeral", + "death", + "coffin", + "graveyard" + ], + "unicode": "4.1", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 139, + 87, + 56 + ] + }, + { + "emoji": "🪦", + "description": "tombstone", + "category": "Objects", + "aliases": [ + "cemetery", + "tombstone", + "a tombstone emoji", + "grave", + "headstone", + "death", + "tombstone emoji", + "rip", + "graveyard" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 128, + 127, + 124 + ] + }, + { + "emoji": "⚱️", + "description": "funeral urn", + "category": "Objects", + "aliases": [ + "dead", + "ashes", + "urn", + "funeral urn", + "die", + "funeral", + "death", + "rip", + "funeral urns", + "a funeral urn" + ], + "unicode": "4.1", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 188, + 146, + 40 + ] + }, + { + "emoji": "🗿", + "description": "Easter Island", + "category": "Objects", + "aliases": [ + "moyai", + "an Easter Island statue emoji", + "statue", + "stone", + "face", + "rock", + "Easter Island statue emoji", + "moai", + "easter island" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 113, + 113, + 104 + ] + }, + { + "emoji": "🪧", + "description": "sign", + "category": "Objects", + "aliases": [ + "placard", + "protest", + "sign on a stick emoji", + "announcement", + "picket", + "a sign on a stick emoji", + "sign", + "demonstration" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 214, + 210, + 204 + ] + }, + { + "emoji": "🏧", + "description": "ATM sign", + "category": "Symbols", + "aliases": [ + "automated", + "atm sign", + "bank", + "sign", + "ATM sign", + "payment", + "atm", + "an ATM sign emoji", + "teller", + "square", + "money", + "blue-square", + "sales", + "blue", + "cash", + "ATM sign emoji", + "ATM" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 55, + 116, + 181 + ] + }, + { + "emoji": "🚮", + "description": "put litter in", + "category": "Symbols", + "aliases": [ + "a trash can emoji", + "sign", + "litter in bin sign", + "info", + "square", + "blue-square", + "litter", + "bin", + "put litter in its place", + "blue", + "trash can emoji", + "litter bin", + "human" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 137, + 163, + 186 + ] + }, + { + "emoji": "🚰", + "description": "water faucet", + "category": "Symbols", + "aliases": [ + "a water faucet emoji", + "water", + "drinking", + "potable", + "faucet", + "water faucet emoji", + "cleaning", + "square", + "restroom", + "liquid", + "blue-square", + "potable water", + "blue" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 147, + 167, + 178 + ] + }, + { + "emoji": "♿", + "description": "wheelchair symbol", + "category": "Symbols", + "aliases": [ + "wheelchair symbol", + "accessibility", + "wheelchair", + "access", + "square", + "disabled", + "blue-square", + "blue", + "symbol" + ], + "unicode": "4.1", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 62, + 143, + 227 + ] + }, + { + "emoji": "🚹", + "description": "men’s symbol", + "category": "Symbols", + "aliases": [ + "WC", + "lavatory", + "a men’s room emoji", + "blue-square", + "men", + "room", + "male", + "blue", + "men's room", + "toilet", + "men’s room", + "men’s room emoji", + "square", + "man", + "wc", + "s", + "mens", + "bathroom", + "restroom", + "gender" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 39, + 131, + 226 + ] + }, + { + "emoji": "🚺", + "description": "women’s symbol", + "category": "Symbols", + "aliases": [ + "WC", + "woman", + "lavatory", + "women’s room", + "female", + "women’s room emoji", + "a women’s room emoji", + "purple", + "women", + "room", + "toilet", + "square", + "women's room", + "loo", + "purple-square", + "s", + "bathroom", + "restroom", + "womens", + "gender" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 172, + 94, + 194 + ] + }, + { + "emoji": "🚻", + "description": "restroom", + "category": "Symbols", + "aliases": [ + "WC", + "lavatory", + "bathroom", + "restroom", + "square", + "blue-square", + "restroom emoji", + "a restroom emoji", + "refresh", + "blue", + "gender", + "wc", + "toilet" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 148, + 171, + 192 + ] + }, + { + "emoji": "🚼", + "description": "baby symbol", + "category": "Symbols", + "aliases": [ + "a baby symbol emoji", + "baby symbol emoji", + "child", + "baby", + "square", + "orange-square", + "baby symbol", + "orange", + "symbol", + "changing" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 251, + 178, + 65 + ] + }, + { + "emoji": "🚾", + "description": "water closet", + "category": "Symbols", + "aliases": [ + "WC", + "water", + "lavatory", + "water closet", + "bathroom", + "toilet", + "restroom", + "water closet signs", + "square", + "closet", + "blue-square", + "blue", + "wc", + "a water closet sign" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 61, + 142, + 227 + ] + }, + { + "emoji": "🛂", + "description": "passport control", + "category": "Symbols", + "aliases": [ + "passport control signs", + "a passport control sign", + "square", + "blue-square", + "passport control", + "passport", + "control", + "blue", + "custom" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 50, + 137, + 226 + ] + }, + { + "emoji": "🛃", + "description": "customs", + "category": "Symbols", + "aliases": [ + "customs signs", + "border", + "square", + "customs", + "blue-square", + "passport", + "a customs sign", + "blue" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 53, + 139, + 227 + ] + }, + { + "emoji": "🛄", + "description": "baggage claim", + "category": "Symbols", + "aliases": [ + "airport", + "a baggage claim sign", + "claim", + "transport", + "baggage", + "square", + "blue-square", + "baggage claim signs", + "blue", + "baggage claim" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 77, + 151, + 229 + ] + }, + { + "emoji": "🛅", + "description": "left luggage", + "category": "Symbols", + "aliases": [ + "locker", + "luggage", + "left luggage", + "travel", + "baggage", + "a left luggage sign", + "square", + "left luggage signs", + "left", + "blue-square", + "blue" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 62, + 143, + 227 + ] + }, + { + "emoji": "⚠️", + "description": "warning", + "category": "Symbols", + "aliases": [ + "warning signs", + "alert", + "problem", + "wip", + "a warning", + "issue", + "exclamation", + "warning", + "error" + ], + "unicode": "4.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 235, + 192, + 26 + ] + }, + { + "emoji": "🚸", + "description": "children crossing", + "category": "Symbols", + "aliases": [ + "diamond", + "sign", + "pedestrian", + "school", + "children crossing emoji", + "driving", + "children", + "yellow-diamond", + "children crossing", + "child", + "warning", + "traffic", + "a children crossing emoji", + "yellow", + "crossing", + "danger" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 188, + 158, + 25 + ] + }, + { + "emoji": "⛔", + "description": "no entry", + "category": "Symbols", + "aliases": [ + "limit", + "denied", + "bad", + "entry", + "forbidden", + "security", + "traffic", + "not", + "no", + "circle", + "privacy", + "stop", + "prohibited", + "no entry" + ], + "unicode": "5.2", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 230, + 123, + 100 + ] + }, + { + "emoji": "🚫", + "description": "prohibited", + "category": "Symbols", + "aliases": [ + "limit", + "denied", + "block", + "forbid", + "entry", + "disallow", + "a prohibited emoji", + "not", + "circle", + "no", + "stop", + "no entry sign", + "prohibited", + "forbidden", + "prohibited emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 219, + 81, + 53 + ] + }, + { + "emoji": "🚳", + "description": "no bicycles", + "category": "Symbols", + "aliases": [ + "cyclist", + "prohibited", + "bike", + "bicycle", + "bicycles", + "no bicycles", + "a no biking emoji", + "circle", + "no", + "no biking emoji", + "forbidden" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 160, + 79, + 62 + ] + }, + { + "emoji": "🚭", + "description": "no smoking sign", + "category": "Symbols", + "aliases": [ + "smoking", + "smell", + "prohibited", + "no smoking emoji", + "a no smoking emoji", + "cigarette", + "forbidden", + "square", + "not", + "no", + "blue-square", + "blue", + "no smoking", + "smoke" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 163, + 81, + 63 + ] + }, + { + "emoji": "🚯", + "description": "no littering", + "category": "Symbols", + "aliases": [ + "no littering emoji", + "garbage", + "no littering", + "littering", + "not", + "circle", + "no", + "litter", + "bin", + "trash", + "prohibited", + "a no littering emoji", + "do not litter", + "forbidden" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 167, + 84, + 69 + ] + }, + { + "emoji": "🚱", + "description": "non-potable", + "category": "Symbols", + "aliases": [ + "water", + "non-potable water", + "potable", + "non-drinking", + "faucet", + "non-potable water emoji", + "drink", + "non", + "circle", + "non-potable", + "tap", + "a non-potable water emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 171, + 89, + 71 + ] + }, + { + "emoji": "🚷", + "description": "no pedestrians", + "category": "Symbols", + "aliases": [ + "pedestrians", + "rules", + "prohibited", + "a no pedestrians emoji", + "pedestrian", + "walking", + "not", + "circle", + "no", + "no pedestrians emoji", + "crossing", + "no pedestrians", + "forbidden" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 169, + 84, + 65 + ] + }, + { + "emoji": "📵", + "description": "no mobile phones", + "category": "Symbols", + "aliases": [ + "mute", + "no mobile phones emoji", + "no mobile phones", + "mobile", + "phone", + "a no mobile phones emoji", + "cell", + "circle", + "no", + "iphone", + "phones", + "forbidden" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 153, + 75, + 58 + ] + }, + { + "emoji": "🔞", + "description": "no one under", + "category": "Symbols", + "aliases": [ + "no one under eighteen emoji", + "underage", + "eighteen", + "night", + "pub", + "18", + "drink", + "one", + "no", + "age restriction", + "circle", + "minor", + "prohibited", + "no one under eighteen", + "a no one under eighteen emoji", + "under" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 173, + 91, + 73 + ] + }, + { + "emoji": "☢️", + "description": "radioactive", + "category": "Symbols", + "aliases": [ + "nuclear", + "a radioactive emoji", + "radioactive", + "radioactive emoji", + "danger" + ], + "unicode": "", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 250, + 166, + 55 + ] + }, + { + "emoji": "☣️", + "description": "biohazard", + "category": "Symbols", + "aliases": [ + "a biohazard sign", + "biohazard signs", + "danger", + "biohazard" + ], + "unicode": "", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 249, + 165, + 54 + ] + }, + { + "emoji": "⬆️", + "description": "up arrow", + "category": "Symbols", + "aliases": [ + "direction", + "arrow", + "up", + "up arrow", + "up arrows", + "continue", + "square", + "top", + "blue-square", + "an up arrow", + "blue", + "arrow up" + ], + "unicode": "4.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 145, + 169, + 190 + ] + }, + { + "emoji": "↗️", + "description": "up-right arrow", + "category": "Symbols", + "aliases": [ + "arrow", + "arrow upper right", + "up", + "northeast", + "an up-right arrow emoji", + "up-right arrow emoji", + "square", + "right", + "blue-square", + "diagonal", + "up-right arrow", + "blue", + "direction", + "point" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 145, + 169, + 190 + ] + }, + { + "emoji": "➡️", + "description": "right arrow", + "category": "Symbols", + "aliases": [ + "arrow", + "arrow right", + "right arrows", + "square", + "next", + "right", + "blue-square", + "blue", + "a right arrow", + "right arrow" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 144, + 169, + 190 + ] + }, + { + "emoji": "↘️", + "description": "down-right", + "category": "Symbols", + "aliases": [ + "arrow", + "a down-right arrow emoji", + "southeast", + "down-right arrow", + "square", + "down-right arrow emoji", + "right", + "blue-square", + "diagonal", + "down", + "blue", + "direction", + "arrow lower right" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 146, + 170, + 191 + ] + }, + { + "emoji": "⬇️", + "description": "down arrow", + "category": "Symbols", + "aliases": [ + "arrow", + "a down arrow", + "bottom", + "arrow down", + "square", + "blue-square", + "down", + "down arrow", + "blue", + "down arrows", + "direction" + ], + "unicode": "4.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 144, + 169, + 190 + ] + }, + { + "emoji": "↙️", + "description": "down-left arrow", + "category": "Symbols", + "aliases": [ + "arrow", + "down-left arrow emoji", + "a down-left arrow emoji", + "arrow lower left", + "down-left arrow", + "square", + "left", + "diagonal", + "blue-square", + "down", + "southwest", + "blue", + "direction" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 146, + 170, + 191 + ] + }, + { + "emoji": "⬅️", + "description": "left arrow", + "category": "Symbols", + "aliases": [ + "arrow", + "a left arrow", + "left arrow", + "arrow left", + "square", + "left", + "blue-square", + "blue", + "back", + "previous", + "left arrows" + ], + "unicode": "4.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 144, + 169, + 190 + ] + }, + { + "emoji": "↖️", + "description": "up-left arrow", + "category": "Symbols", + "aliases": [ + "direction", + "arrow", + "up-left arrow emoji", + "an up-left arrow emoji", + "northwest", + "up", + "up-left arrow", + "square", + "left", + "diagonal", + "blue-square", + "blue", + "arrow upper left", + "point" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 145, + 169, + 190 + ] + }, + { + "emoji": "↕️", + "description": "up-down arrow", + "category": "Symbols", + "aliases": [ + "arrow", + "up-down arrows", + "up", + "vertical", + "way", + "an up-down arrow", + "up-down arrow", + "square", + "arrow up down", + "blue-square", + "down", + "blue", + "direction" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 148, + 171, + 192 + ] + }, + { + "emoji": "↔️", + "description": "left-right", + "category": "Symbols", + "aliases": [ + "horizontal", + "arrow", + "a left-right arrow", + "left-right arrow", + "shape", + "left right arrow", + "left", + "right", + "left-right arrows", + "direction", + "sideways" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 148, + 171, + 192 + ] + }, + { + "emoji": "↩️", + "description": "right arrow", + "category": "Symbols", + "aliases": [ + "curving", + "arrow", + "leftwards arrow with hook", + "left arrow emoji", + "a left arrow emoji", + "enter", + "square", + "return", + "right", + "blue-square", + "left", + "blue", + "back", + "undo", + "right arrow curving left" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 139, + 164, + 187 + ] + }, + { + "emoji": "↪️", + "description": "left arrow", + "category": "Symbols", + "aliases": [ + "arrow right hook", + "arrow", + "left arrow curving right", + "a right arrow emoji", + "rotate", + "blue", + "square", + "return", + "right", + "blue-square", + "left", + "right arrow emoji", + "curving", + "direction" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 139, + 164, + 187 + ] + }, + { + "emoji": "⤴️", + "description": "right arrow", + "category": "Symbols", + "aliases": [ + "arrow", + "up", + "right arrow curving up", + "blue", + "arrow heading up", + "up arrows", + "square", + "top", + "right", + "blue-square", + "an up arrow", + "curving", + "direction" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 139, + 164, + 187 + ] + }, + { + "emoji": "⤵️", + "description": "right arrow", + "category": "Symbols", + "aliases": [ + "arrow", + "right arrow curving down", + "arrow heading down", + "blue", + "bottom", + "down arrow emoji", + "square", + "right", + "blue-square", + "down", + "a down arrow emoji", + "curving", + "direction" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 139, + 164, + 187 + ] + }, + { + "emoji": "🔃", + "description": "clockwise vertical", + "category": "Symbols", + "aliases": [ + "clockwise", + "arrow", + "arrows", + "round", + "vertical", + "clockwise vertical arrows", + "arrows clockwise", + "sync", + "reload", + "repeat", + "cycle" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 146, + 170, + 191 + ] + }, + { + "emoji": "🔄", + "description": "counterclockwise", + "category": "Symbols", + "aliases": [ + "arrow", + "button", + "arrows counterclockwise", + "arrows", + "withershins", + "counterclockwise arrows button", + "counterclockwise", + "square", + "sync", + "blue-square", + "counterclockwise arrows", + "blue", + "cycle", + "anticlockwise" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 148, + 171, + 192 + ] + }, + { + "emoji": "🔙", + "description": "back arrow", + "category": "Symbols", + "aliases": [ + "a back arrow emoji", + "BACK", + "arrow", + "words", + "back arrow", + "return", + "back arrow emoji", + "back" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 75, + 75, + 75 + ] + }, + { + "emoji": "🔚", + "description": "end arrow", + "category": "Symbols", + "aliases": [ + "end", + "arrow", + "end arrow", + "words", + "END", + "an end arrow emoji", + "end arrow emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 75, + 75, + 75 + ] + }, + { + "emoji": "🔛", + "description": "on! arrow", + "category": "Symbols", + "aliases": [ + "on", + "arrow", + "ON", + "words", + "ON!", + "mark", + "on! arrow", + "on! arrow emoji", + "an on! arrow emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 74, + 74, + 74 + ] + }, + { + "emoji": "🔜", + "description": "soon arrow", + "category": "Symbols", + "aliases": [ + "arrow", + "words", + "soon arrow emoji", + "a soon arrow emoji", + "SOON", + "soon arrow", + "soon" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 75, + 75, + 75 + ] + }, + { + "emoji": "🔝", + "description": "top arrow", + "category": "Symbols", + "aliases": [ + "TOP", + "arrow", + "words", + "up", + "a top arrow emoji", + "top arrow", + "top arrow emoji", + "top", + "square", + "blue-square", + "blue" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 75, + 75, + 75 + ] + }, + { + "emoji": "🛐", + "description": "place of worship", + "category": "Symbols", + "aliases": [ + "places of worship", + "worship", + "a place of worship", + "prayer", + "temple", + "church", + "place", + "place of worship", + "religion" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 169, + 88, + 191 + ] + }, + { + "emoji": "⚛️", + "description": "atom symbol", + "category": "Symbols", + "aliases": [ + "atom symbol emoji", + "chemistry", + "an atom symbol emoji", + "symbol", + "atom symbol", + "physics", + "science", + "atom" + ], + "unicode": "4.1", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 177, + 107, + 197 + ] + }, + { + "emoji": "🕉️", + "description": "om symbol", + "category": "Symbols", + "aliases": [ + "hinduism", + "om symbol emoji", + "buddhism", + "sikhism", + "jainism", + "om", + "an om symbol emoji" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 175, + 102, + 196 + ] + }, + { + "emoji": "✡️", + "description": "Star of David", + "category": "Symbols", + "aliases": [ + "a Star of David emoji", + "star", + "star of david", + "judaism", + "Star of David emoji", + "david" + ], + "unicode": "", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 174, + 99, + 195 + ] + }, + { + "emoji": "☸️", + "description": "wheel of dharma", + "category": "Symbols", + "aliases": [ + "hinduism", + "buddhism", + "sikhism", + "jainism", + "a wheel of dharma", + "wheel", + "wheels of dharma", + "wheel of dharma", + "dharma" + ], + "unicode": "", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 185, + 123, + 203 + ] + }, + { + "emoji": "☯️", + "description": "yin yang", + "category": "Symbols", + "aliases": [ + "balance", + "yang", + "a yin yang", + "yin yang", + "yin yangs", + "yin" + ], + "unicode": "", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 180, + 112, + 199 + ] + }, + { + "emoji": "✝️", + "description": "Latin cross", + "category": "Symbols", + "aliases": [ + "Latin crosses", + "christianity", + "latin cross", + "a Latin cross", + "cross", + "latin" + ], + "unicode": "", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 169, + 87, + 191 + ] + }, + { + "emoji": "☦️", + "description": "Orthodox cross", + "category": "Symbols", + "aliases": [ + "suppedaneum", + "orthodox cross", + "orthodox", + "Orthodox cross emoji", + "an Orthodox cross emoji", + "cross", + "religion" + ], + "unicode": "", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 170, + 89, + 192 + ] + }, + { + "emoji": "☪️", + "description": "star and crescent", + "category": "Symbols", + "aliases": [ + "crescent", + "star", + "stars and crescents", + "islam", + "a star and crescent", + "star and crescent" + ], + "unicode": "", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 172, + 94, + 193 + ] + }, + { + "emoji": "☮️", + "description": "peace symbol", + "category": "Symbols", + "aliases": [ + "peace", + "hippie", + "a peace symbol", + "peace symbols", + "symbol", + "peace symbol" + ], + "unicode": "", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 178, + 107, + 198 + ] + }, + { + "emoji": "🕎", + "description": "menorah", + "category": "Symbols", + "aliases": [ + "candlestick", + "menorah emoji", + "a menorah emoji", + "candles", + "menorah", + "jewish", + "hanukkah", + "candelabrum", + "religion" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 179, + 110, + 198 + ] + }, + { + "emoji": "🔯", + "description": "six pointed", + "category": "Symbols", + "aliases": [ + "dotted", + "dotted six-pointed star", + "purple-square", + "pointed", + "star", + "purple", + "six-pointed star emoji", + "jewish", + "fortune", + "square", + "six", + "hexagram", + "a six-pointed star emoji", + "religion", + "six pointed star" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 175, + 102, + 196 + ] + }, + { + "emoji": "♈", + "description": "Aries", + "category": "Symbols", + "aliases": [ + "ram", + "purple-square", + "astrology", + "purple", + "square", + "Aries", + "sign", + "zodiac", + "aries" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 173, + 96, + 194 + ] + }, + { + "emoji": "♉", + "description": "Taurus", + "category": "Symbols", + "aliases": [ + "purple-square", + "astrology", + "Taurus", + "taurus", + "purple", + "bull", + "square", + "ox", + "sign", + "zodiac" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 173, + 97, + 194 + ] + }, + { + "emoji": "♊", + "description": "Gemini", + "category": "Symbols", + "aliases": [ + "purple-square", + "astrology", + "gemini", + "purple", + "square", + "Gemini", + "sign", + "zodiac", + "twins" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 176, + 103, + 196 + ] + }, + { + "emoji": "♋", + "description": "Cancer", + "category": "Symbols", + "aliases": [ + "purple-square", + "astrology", + "crab", + "purple", + "square", + "cancer", + "sign", + "Cancer", + "zodiac" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 174, + 100, + 195 + ] + }, + { + "emoji": "♌", + "description": "Leo", + "category": "Symbols", + "aliases": [ + "lion", + "purple-square", + "astrology", + "leo", + "purple", + "square", + "Leo", + "sign", + "zodiac" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 176, + 104, + 197 + ] + }, + { + "emoji": "♍", + "description": "Virgo", + "category": "Symbols", + "aliases": [ + "virgo", + "purple-square", + "astrology", + "Virgo", + "purple", + "square", + "sign", + "zodiac" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 178, + 108, + 198 + ] + }, + { + "emoji": "♎", + "description": "Libra", + "category": "Symbols", + "aliases": [ + "purple-square", + "balance", + "astrology", + "scales", + "purple", + "libra", + "square", + "justice", + "Libra", + "sign", + "zodiac" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 176, + 104, + 196 + ] + }, + { + "emoji": "♏", + "description": "Scorpio", + "category": "Symbols", + "aliases": [ + "Scorpio", + "purple-square", + "astrology", + "scorpio", + "purple", + "scorpius", + "square", + "sign", + "scorpion", + "zodiac" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 175, + 101, + 196 + ] + }, + { + "emoji": "♐", + "description": "Sagittarius", + "category": "Symbols", + "aliases": [ + "purple-square", + "archer", + "astrology", + "Sagittarius", + "purple", + "square", + "sign", + "sagittarius", + "zodiac" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 176, + 103, + 196 + ] + }, + { + "emoji": "♑", + "description": "Capricorn", + "category": "Symbols", + "aliases": [ + "capricorn", + "goat", + "purple-square", + "astrology", + "purple", + "square", + "sign", + "Capricorn", + "zodiac" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 176, + 103, + 197 + ] + }, + { + "emoji": "♒", + "description": "Aquarius", + "category": "Symbols", + "aliases": [ + "sign", + "water", + "purple-square", + "astrology", + "purple", + "bearer", + "square", + "aquarius", + "Aquarius", + "zodiac" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 173, + 97, + 194 + ] + }, + { + "emoji": "♓", + "description": "Pisces", + "category": "Symbols", + "aliases": [ + "sign", + "purple-square", + "astrology", + "purple", + "square", + "pisces", + "Pisces", + "fish", + "zodiac" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 174, + 98, + 195 + ] + }, + { + "emoji": "⛎", + "description": "Ophiuchus", + "category": "Symbols", + "aliases": [ + "sign", + "purple-square", + "astrology", + "serpent", + "purple", + "bearer", + "square", + "snake", + "Ophiuchus emoji", + "constellation", + "ophiuchus", + "Ophiuchus", + "an Ophiuchus emoji", + "zodiac" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 180, + 112, + 199 + ] + }, + { + "emoji": "🔀", + "description": "shuffle tracks", + "category": "Symbols", + "aliases": [ + "shuffle tracks button emoji", + "arrow", + "button", + "music", + "twisted rightwards arrows", + "shuffle", + "tracks", + "crossed", + "a shuffle tracks button emoji", + "square", + "blue-square", + "random", + "blue", + "shuffle tracks button" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 144, + 168, + 189 + ] + }, + { + "emoji": "🔁", + "description": "repeat symbol", + "category": "Symbols", + "aliases": [ + "clockwise", + "arrow", + "button", + "record", + "repeat button", + "a repeat button emoji", + "repeat button emoji", + "loop", + "repeat" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 146, + 170, + 191 + ] + }, + { + "emoji": "🔂", + "description": "repeat single", + "category": "Symbols", + "aliases": [ + "clockwise", + "arrow", + "repeat one", + "button", + "single", + "once", + "repeat single button", + "square", + "blue-square", + "a repeat single button emoji", + "blue", + "loop", + "repeat", + "repeat single button emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 147, + 170, + 191 + ] + }, + { + "emoji": "▶️", + "description": "right-pointing", + "category": "Symbols", + "aliases": [ + "arrow forward", + "button", + "play button", + "play", + "square", + "right", + "blue-square", + "blue", + "a play button emoji", + "direction", + "play button emoji" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 143, + 167, + 189 + ] + }, + { + "emoji": "⏩", + "description": "fast forward", + "category": "Symbols", + "aliases": [ + "button", + "arrow", + "double", + "play", + "forward", + "fast forward", + "fast-forward button", + "square", + "continue", + "speed", + "blue-square", + "fast", + "fast-forward buttons", + "blue", + "a fast-forward button" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 145, + 169, + 190 + ] + }, + { + "emoji": "⏭️", + "description": "skip forward", + "category": "Symbols", + "aliases": [ + "button", + "track", + "forward", + "square", + "a next track button", + "next", + "blue-square", + "next track button", + "next track buttons", + "blue" + ], + "unicode": "6.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 147, + 170, + 191 + ] + }, + { + "emoji": "⏯️", + "description": "play/pause", + "category": "Symbols", + "aliases": [ + "a play-or-pause button emoji", + "button", + "play", + "play-or-pause button emoji", + "square", + "blue-square", + "pause", + "blue", + "play or pause button", + "or" + ], + "unicode": "6.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 149, + 172, + 193 + ] + }, + { + "emoji": "◀️", + "description": "left-pointing", + "category": "Symbols", + "aliases": [ + "button", + "arrow backward", + "a reverse button emoji", + "reverse button", + "reverse", + "left", + "square", + "blue-square", + "blue", + "direction", + "reverse button emoji" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 143, + 167, + 189 + ] + }, + { + "emoji": "⏪", + "description": "rewind symbol", + "category": "Symbols", + "aliases": [ + "a rewind button emoji", + "arrow", + "rewind", + "button", + "double", + "play", + "reverse", + "fast", + "square", + "fast reverse button", + "rewind button emoji", + "blue-square", + "blue" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 145, + 169, + 190 + ] + }, + { + "emoji": "⏮️", + "description": "skip backward", + "category": "Symbols", + "aliases": [ + "button", + "last track button", + "track", + "previous track button", + "a last track button", + "last track buttons", + "backward", + "last" + ], + "unicode": "6.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 147, + 170, + 191 + ] + }, + { + "emoji": "🔼", + "description": "up-pointing", + "category": "Symbols", + "aliases": [ + "arrow", + "button", + "triangle", + "upwards button emoji", + "forward", + "upwards button", + "square", + "top", + "blue-square", + "blue", + "arrow up small", + "upwards", + "direction", + "point", + "an upwards button emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 143, + 168, + 190 + ] + }, + { + "emoji": "⏫", + "description": "up-pointing", + "category": "Symbols", + "aliases": [ + "fast up button", + "arrow", + "button", + "double", + "arrow double up", + "up", + "fast", + "square", + "top", + "blue-square", + "a fast up button", + "blue", + "direction", + "fast up buttons" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 145, + 169, + 191 + ] + }, + { + "emoji": "🔽", + "description": "down-pointing", + "category": "Symbols", + "aliases": [ + "arrow", + "arrow down small", + "downwards button", + "button", + "bottom", + "downwards", + "square", + "blue-square", + "down", + "downwards button emoji", + "blue", + "direction", + "a downwards button emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 142, + 167, + 189 + ] + }, + { + "emoji": "⏬", + "description": "down-pointing", + "category": "Symbols", + "aliases": [ + "a fast down button", + "arrow", + "button", + "double", + "fast down button", + "arrow double down", + "bottom", + "fast", + "fast down buttons", + "square", + "blue-square", + "down", + "blue", + "direction" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 144, + 168, + 190 + ] + }, + { + "emoji": "⏸️", + "description": "pause symbol", + "category": "Symbols", + "aliases": [ + "button", + "square", + "pause button", + "pause buttons", + "blue-square", + "pause", + "blue", + "a pause button" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 140, + 165, + 188 + ] + }, + { + "emoji": "⏹️", + "description": "stop symbol", + "category": "Symbols", + "aliases": [ + "button", + "a stop button", + "square", + "stop", + "stop buttons", + "stop button", + "blue-square", + "blue" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 157, + 178, + 197 + ] + }, + { + "emoji": "⏺️", + "description": "record symbol", + "category": "Symbols", + "aliases": [ + "button", + "record", + "a record button emoji", + "square", + "blue-square", + "record button emoji", + "blue", + "record button" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 149, + 172, + 193 + ] + }, + { + "emoji": "⏏️", + "description": "eject symbol", + "category": "Symbols", + "aliases": [ + "button", + "eject", + "eject button", + "eject button emoji", + "an eject button emoji", + "square", + "blue-square", + "blue" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 142, + 166, + 189 + ] + }, + { + "emoji": "🎦", + "description": "cinema symbol", + "category": "Symbols", + "aliases": [ + "record", + "cinema emoji", + "theater", + "a cinema emoji", + "film", + "cinema", + "square", + "camera", + "blue-square", + "curtain", + "movie", + "blue", + "stage" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 160, + 181, + 199 + ] + }, + { + "emoji": "🔅", + "description": "low brightness", + "category": "Symbols", + "aliases": [ + "warm", + "brightness", + "low", + "dim", + "button", + "afternoon", + "summer", + "low brightness", + "brightness symbols", + "dim button", + "sun", + "a brightness symbol" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 248, + 184, + 36 + ] + }, + { + "emoji": "🔆", + "description": "high brightness", + "category": "Symbols", + "aliases": [ + "brightness", + "button", + "brightnesses symbols", + "bright button", + "light", + "high brightness", + "sun", + "bright", + "a brightness symbol" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 248, + 178, + 34 + ] + }, + { + "emoji": "📶", + "description": "cellular signal", + "category": "Symbols", + "aliases": [ + "bluetooth", + "bars", + "a cell signal emoji", + "cell signal emoji", + "antenna", + "connection", + "mobile", + "bar", + "phone", + "wifi", + "square", + "internet", + "cell", + "blue-square", + "signal strength", + "antenna bars", + "blue", + "reception" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 146, + 170, + 191 + ] + }, + { + "emoji": "📳", + "description": "vibration mode", + "category": "Symbols", + "aliases": [ + "vibration mode", + "a cell phone vibrating emoji", + "mode", + "telephone", + "mobile", + "vibration", + "phone", + "square", + "orange-square", + "cell phone vibrating emoji", + "cell", + "orange" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 250, + 172, + 49 + ] + }, + { + "emoji": "📴", + "description": "mobile phone", + "category": "Symbols", + "aliases": [ + "mobile phone off", + "quiet", + "mute", + "off", + "silence", + "telephone", + "mobile", + "phone", + "square", + "orange-square", + "cell", + "a cell phone off emoji", + "orange", + "cell phone off emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 249, + 178, + 65 + ] + }, + { + "emoji": "♀️", + "description": "female sign", + "category": "Symbols", + "aliases": [ + "woman", + "female sign", + "girl", + "women", + "female", + "sign", + "lady" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 0, + 0, + 0 + ] + }, + { + "emoji": "♂️", + "description": "male sign", + "category": "Symbols", + "aliases": [ + "boy", + "men", + "man", + "sign", + "male", + "male sign" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 0, + 0, + 0 + ] + }, + { + "emoji": "⚧️", + "description": "transgender", + "category": "Symbols", + "aliases": [ + "transgender symbol", + "transgender symbols", + "a transgender symbol", + "lgbtq", + "transgender", + "symbol" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 136, + 161, + 185 + ] + }, + { + "emoji": "✖️", + "description": "multiplication", + "category": "Symbols", + "aliases": [ + "multiply", + "math", + "calculation", + "multiplication symbol emoji", + "multiplication", + "sign", + "a multiplication symbol emoji", + "heavy multiplication x" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 74, + 74, + 74 + ] + }, + { + "emoji": "➕", + "description": "plus symbol", + "category": "Symbols", + "aliases": [ + "plus sign emoji", + "a plus sign emoji", + "plus", + "math", + "heavy plus sign", + "calculation", + "more", + "+", + "sign", + "addition", + "increase" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 72, + 72, + 72 + ] + }, + { + "emoji": "➖", + "description": "minus symbol", + "category": "Symbols", + "aliases": [ + "a minus sign emoji", + "sign", + "heavy minus sign", + "-", + "math", + "calculation", + "subtract", + "minus", + "less", + "−", + "minus sign emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 72, + 72, + 72 + ] + }, + { + "emoji": "➗", + "description": "division symbol", + "category": "Symbols", + "aliases": [ + "division sign emoji", + "÷", + "divide", + "math", + "calculation", + "division", + "a division sign emoji", + "sign", + "heavy division sign" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 73, + 73, + 73 + ] + }, + { + "emoji": "♾️", + "description": "infinity", + "category": "Symbols", + "aliases": [ + "an infinity emoji", + "infinity", + "infinity emoji", + "forever" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 107, + 107, + 107 + ] + }, + { + "emoji": "‼️", + "description": "red double", + "category": "Symbols", + "aliases": [ + "bangbang", + "double", + "surprise", + "double exclamation point emoji", + "a double exclamation point emoji", + "mark", + "exclamation", + "double exclamation mark" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 229, + 24, + 4 + ] + }, + { + "emoji": "⁉️", + "description": "red exclamation", + "category": "Symbols", + "aliases": [ + "exclamation and question marks", + "punctuation", + "interrobang", + "surprise", + "wat", + "mark", + "exclamation", + "exclamation question mark", + "question", + "an exclamation and question mark" + ], + "unicode": "3.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 221, + 49, + 11 + ] + }, + { + "emoji": "❓", + "description": "red question", + "category": "Symbols", + "aliases": [ + "?", + "punctuation", + "question mark emoji", + "mark", + "confused", + "red", + "doubt", + "a question mark emoji", + "question", + "red question mark" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 215, + 10, + 10 + ] + }, + { + "emoji": "❔", + "description": "white question", + "category": "Symbols", + "aliases": [ + "?", + "punctuation", + "gray", + "outlined", + "white question marks", + "a white question mark", + "mark", + "grey question", + "confused", + "huh", + "white question mark", + "white", + "doubts", + "question" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 227, + 226, + 226 + ] + }, + { + "emoji": "❕", + "description": "white exclamation", + "category": "Symbols", + "aliases": [ + "white exclamation mark emoji", + "a white exclamation mark emoji", + "punctuation", + "!", + "white exclamation mark", + "gray", + "outlined", + "surprise", + "mark", + "exclamation", + "warning", + "wow", + "white", + "grey exclamation" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 222, + 222, + 222 + ] + }, + { + "emoji": "❗", + "description": "red exclamation mark", + "category": "Symbols", + "aliases": [ + "punctuation", + "!", + "heavy exclamation mark", + "heavy", + "surprise", + "red exclamation mark", + "mark", + "exclamation", + "warning", + "red", + "wow", + "bang", + "danger" + ], + "unicode": "5.2", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 7, + 7 + ] + }, + { + "emoji": "〰️", + "description": "wavy dash", + "category": "Symbols", + "aliases": [ + "dash", + "scribble", + "squiggle", + "line", + "wavy dash", + "mustache", + "wavy", + "a wavy dash", + "draw", + "wavy dashes", + "moustache" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 77, + 77, + 77 + ] + }, + { + "emoji": "💱", + "description": "currency exchange", + "category": "Symbols", + "aliases": [ + "bank", + "currency exchange emoji", + "dollar", + "currency", + "currency exchange", + "travel", + "money", + "sales", + "exchange", + "a currency exchange emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 77, + 77, + 77 + ] + }, + { + "emoji": "💲", + "description": "dollar sign", + "category": "Symbols", + "aliases": [ + "currency", + "dollar", + "sign", + "payment", + "heavy", + "dollar sign emoji", + "heavy dollar sign", + "a dollar sign emoji", + "money", + "buck", + "sales" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 74, + 74, + 74 + ] + }, + { + "emoji": "⚕️", + "description": "staff of Aesculapius", + "category": "Symbols", + "aliases": [ + "medical", + "a medical symbol", + "symbol", + "hospital", + "health", + "medical symbols", + "medical symbol" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 0, + 0, + 0 + ] + }, + { + "emoji": "♻️", + "description": "recycling symbol", + "category": "Symbols", + "aliases": [ + "green", + "recycle", + "arrow", + "recycling", + "garbage", + "a recycling symbol emoji", + "recycling symbol emoji", + "trash", + "recycling symbol", + "environment", + "symbol" + ], + "unicode": "3.2", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 22, + 158, + 31 + ] + }, + { + "emoji": "⚜️", + "description": "fleur-de-lis", + "category": "Symbols", + "aliases": [ + "fleurs-de-lis", + "fleur de lis", + "decorative", + "a fleur-de-lis", + "lis", + "fleur", + "de", + "scout", + "fleur-de-lis" + ], + "unicode": "4.1", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 177, + 147, + 64 + ] + }, + { + "emoji": "🔱", + "description": "trident emblem", + "category": "Symbols", + "aliases": [ + "trident", + "ship", + "spear", + "anchor", + "tool", + "emblem", + "weapon", + "trident emblem emoji", + "a trident emblem emoji", + "trident emblem" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 201, + 155, + 32 + ] + }, + { + "emoji": "📛", + "description": "name badge", + "category": "Symbols", + "aliases": [ + "name badge emoji", + "forbid", + "a name badge emoji", + "fire", + "name badge", + "name", + "badge" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 230, + 126, + 107 + ] + }, + { + "emoji": "🔰", + "description": "Japanese symbol", + "category": "Symbols", + "aliases": [ + "shield", + "a Japanese symbol for beginner emoji", + "Japanese symbol for beginner", + "Japanese symbol for beginner emoji", + "chevron", + "Japanese", + "for", + "badge", + "japanese", + "leaf", + "japanese symbol for beginner", + "symbol", + "beginner" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 118, + 155, + 67 + ] + }, + { + "emoji": "⭕", + "description": "hollow red circle", + "category": "Symbols", + "aliases": [ + "large", + "hollow", + "round", + "red", + "circle", + "o", + "hollow red circle" + ], + "unicode": "5.2", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 229, + 7, + 6 + ] + }, + { + "emoji": "✅", + "description": "check mark symbol", + "category": "Symbols", + "aliases": [ + "agree", + "green", + "a check mark emoji", + "answer", + "ok", + "white check mark", + "button", + "check", + "check mark emoji", + "mark", + "tick", + "square", + "check mark button", + "election", + "vote", + "✓", + "green-square" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 46, + 194, + 51 + ] + }, + { + "emoji": "☑️", + "description": "ballot box with", + "category": "Symbols", + "aliases": [ + "agree", + "ok", + "black-square", + "ballot box with check", + "box", + "check", + "tick", + "confirm", + "square", + "election", + "vote", + "black", + "checkboxes", + "a checkbox", + "yes", + "check box with check" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 128, + 128, + 128 + ] + }, + { + "emoji": "✔️", + "description": "check mark", + "category": "Symbols", + "aliases": [ + "answer", + "ok", + "heavy check mark", + "nike", + "check", + "checkmarks", + "mark", + "tick", + "yes", + "check mark", + "a checkmark" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 74, + 74, + 74 + ] + }, + { + "emoji": "❌", + "description": "cross mark", + "category": "Symbols", + "aliases": [ + "x mark emoji", + "×", + "multiply", + "x", + "delete", + "cross", + "mark", + "red", + "remove", + "cross mark", + "no", + "multiplication", + "cancel", + "an x mark emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 230, + 7, + 7 + ] + }, + { + "emoji": "❎", + "description": "X mark", + "category": "Symbols", + "aliases": [ + "green", + "button", + "×", + "x", + "cross mark button", + "an X mark emoji", + "cross", + "mark", + "square", + "negative squared cross mark", + "no", + "X mark emoji", + "deny", + "green-square" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 54, + 196, + 59 + ] + }, + { + "emoji": "➰", + "description": "curly loop", + "category": "Symbols", + "aliases": [ + "scribble", + "squiggle", + "curly loop", + "a curly loop emoji", + "curly loop emoji", + "shape", + "draw", + "curly", + "curl", + "loop" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 73, + 73, + 73 + ] + }, + { + "emoji": "➿", + "description": "double curly", + "category": "Symbols", + "aliases": [ + "cassette", + "double", + "tape", + "loop", + "a double curly loop", + "curly", + "curl", + "double curly loop", + "double curly loops" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 77, + 77, + 77 + ] + }, + { + "emoji": "〽️", + "description": "part alternation", + "category": "Symbols", + "aliases": [ + "business", + "bad", + "part", + "part alternation mark emoji", + "mark", + "graph", + "economics", + "stats", + "part alternation mark", + "alternation", + "presentation", + "a part alternation mark emoji" + ], + "unicode": "3.2", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 254, + 186, + 8 + ] + }, + { + "emoji": "✳️", + "description": "eight spoked", + "category": "Symbols", + "aliases": [ + "green", + "eight spoked asterisk", + "star", + "an eight spoked asterisk emoji", + "eight-spoked asterisk", + "eight", + "eight spoked asterisk emoji", + "square", + "spoked", + "asterisk", + "sparkle", + "green-square" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 76, + 201, + 80 + ] + }, + { + "emoji": "✴️", + "description": "eight pointed", + "category": "Symbols", + "aliases": [ + "pointed", + "star", + "eight-pointed star", + "polygon", + "shape", + "eight", + "an eight pointed star emoji", + "square", + "orange-square", + "eight pointed star emoji", + "eight pointed black star", + "orange" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 250, + 176, + 61 + ] + }, + { + "emoji": "❇️", + "description": "sparkle", + "category": "Symbols", + "aliases": [ + "green", + "sparkles", + "fireworks", + "square", + "awesome", + "stars", + "good", + "a sparkle", + "sparkle", + "green-square" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 53, + 196, + 58 + ] + }, + { + "emoji": "©️", + "description": "copyright sign", + "category": "Symbols", + "aliases": [ + "ip", + "copyright symbols", + "license", + "law", + "copyright", + "legal", + "circle", + "a copyright symbol" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 77, + 77, + 77 + ] + }, + { + "emoji": "®️", + "description": "registered", + "category": "Symbols", + "aliases": [ + "alphabet", + "registered", + "circle", + "registered emoji", + "a registered emoji" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 76, + 76, + 76 + ] + }, + { + "emoji": "™️", + "description": "trade mark", + "category": "Symbols", + "aliases": [ + "trade mark symbols", + "trade mark", + "trade", + "law", + "brand", + "mark", + "trademark", + "legal", + "tm", + "a trade mark symbol" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 75, + 75, + 75 + ] + }, + { + "emoji": "#️⃣", + "description": "number sign", + "category": "Symbols", + "aliases": [ + "twitter", + "hash", + "a number sign emoji", + "square", + "number", + "blue-square", + "keycap #", + "keycap", + "number sign emoji", + "blue", + "symbol" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 136, + 162, + 186 + ] + }, + { + "emoji": "*️⃣", + "description": "keycap asterisk", + "category": "Symbols", + "aliases": [ + "an asterisk emoji", + "star", + "keycap *", + "*", + "keycap", + "asterisk emoji" + ], + "unicode": "", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 136, + 162, + 186 + ] + }, + { + "emoji": "0️⃣", + "description": "keycap digit", + "category": "Symbols", + "aliases": [ + "numbers", + "zero", + "keycap 0", + "0", + "square", + "keycap zero emoji", + "blue-square", + "a keycap zero emoji", + "keycap", + "blue", + "null" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 136, + 162, + 186 + ] + }, + { + "emoji": "1️⃣", + "description": "keycap digit", + "category": "Symbols", + "aliases": [ + "numbers", + "keycap 1", + "keycap one emoji", + "keycap one", + "1", + "square", + "one", + "blue-square", + "keycap", + "blue" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 129, + 157, + 182 + ] + }, + { + "emoji": "2️⃣", + "description": "keycap digit", + "category": "Symbols", + "aliases": [ + "numbers", + "keycap two emoji", + "2", + "two", + "a keycap two emoji", + "prime", + "square", + "blue-square", + "keycap", + "keycap 2", + "blue" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 134, + 160, + 184 + ] + }, + { + "emoji": "3️⃣", + "description": "keycap digit", + "category": "Symbols", + "aliases": [ + "numbers", + "keycap three emoji", + "three", + "prime", + "square", + "blue-square", + "keycap", + "keycap 3", + "blue", + "3", + "a keycap three emoji" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 134, + 161, + 184 + ] + }, + { + "emoji": "4️⃣", + "description": "keycap digit", + "category": "Symbols", + "aliases": [ + "numbers", + "keycap four emoji", + "a keycap four emoji", + "keycap 4", + "square", + "4", + "blue-square", + "keycap", + "blue", + "four" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 135, + 161, + 185 + ] + }, + { + "emoji": "5️⃣", + "description": "keycap digit", + "category": "Symbols", + "aliases": [ + "numbers", + "five", + "prime", + "keycap 5", + "square", + "keycap five emoji", + "blue-square", + "keycap", + "5", + "blue", + "keycap five" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 135, + 161, + 185 + ] + }, + { + "emoji": "6️⃣", + "description": "keycap digit", + "category": "Symbols", + "aliases": [ + "numbers", + "keycap 6", + "keycap six emoji", + "6", + "square", + "blue-square", + "six", + "keycap", + "blue", + "keycap six" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 137, + 163, + 186 + ] + }, + { + "emoji": "7️⃣", + "description": "keycap digit", + "category": "Symbols", + "aliases": [ + "numbers", + "keycap seven", + "prime", + "square", + "7", + "blue-square", + "keycap seven emoji", + "keycap", + "seven", + "blue", + "keycap 7" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 130, + 158, + 182 + ] + }, + { + "emoji": "8️⃣", + "description": "keycap digit", + "category": "Symbols", + "aliases": [ + "numbers", + "keycap 8", + "eight", + "square", + "blue-square", + "keycap", + "blue", + "8", + "keycap eight emoji", + "keycap eight" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 138, + 163, + 186 + ] + }, + { + "emoji": "9️⃣", + "description": "keycap digit", + "category": "Symbols", + "aliases": [ + "numbers", + "nine", + "9", + "a keycap nine emoji", + "keycap 9", + "square", + "blue-square", + "keycap nine emoji", + "keycap", + "blue" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 137, + 163, + 186 + ] + }, + { + "emoji": "🔟", + "description": "keycap ten", + "category": "Symbols", + "aliases": [ + "numbers", + "keycap ten emoji", + "a keycap ten emoji", + "ten", + "10", + "square", + "keycap 10", + "blue-square", + "keycap", + "blue" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 146, + 169, + 190 + ] + }, + { + "emoji": "🔠", + "description": "input symbol", + "category": "Symbols", + "aliases": [ + "alphabet", + "letters", + "input latin uppercase emoji", + "uppercase", + "words", + "ABCD", + "capital abcd", + "latin", + "input latin uppercase", + "square", + "blue-square", + "blue", + "input", + "an input latin uppercase emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 140, + 165, + 187 + ] + }, + { + "emoji": "🔡", + "description": "input symbol", + "category": "Symbols", + "aliases": [ + "alphabet", + "letters", + "lowercase", + "input latin lowercase", + "latin", + "square", + "blue-square", + "an input latin lowercase emoji", + "blue", + "abcd", + "input", + "input latin lowercase emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 137, + 163, + 186 + ] + }, + { + "emoji": "🔢", + "description": "input symbol", + "category": "Symbols", + "aliases": [ + "numbers", + "input numbers button emoji", + "an input numbers button emoji", + "1234", + "square", + "blue-square", + "input numbers", + "blue", + "input" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 135, + 162, + 185 + ] + }, + { + "emoji": "🔣", + "description": "input symbol", + "category": "Symbols", + "aliases": [ + "an input symbols emoji", + "music", + "ampersand", + "characters", + "〒♪&%", + "glyphs", + "input symbols emoji", + "square", + "percent", + "note", + "blue-square", + "blue", + "symbols", + "input", + "input symbols" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 134, + 160, + 184 + ] + }, + { + "emoji": "🔤", + "description": "input symbol", + "category": "Symbols", + "aliases": [ + "alphabet", + "letters", + "an input latin letters emoji", + "input latin letters emoji", + "input latin letters", + "latin", + "square", + "blue-square", + "abc", + "blue", + "input" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 133, + 160, + 184 + ] + }, + { + "emoji": "🅰️", + "description": "blood type", + "category": "Symbols", + "aliases": [ + "alphabet", + "an A button", + "button", + "a", + "red-square", + "a button (blood type)", + "square", + "red", + "A buttons", + "letter" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 232, + 78, + 62 + ] + }, + { + "emoji": "🆎", + "description": "blood type", + "category": "Symbols", + "aliases": [ + "alphabet", + "button", + "AB buttons", + "red-square", + "blood type", + "AB", + "square", + "ab button (blood type)", + "an AB button", + "red", + "AB button (blood type)", + "ab" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 233, + 91, + 78 + ] + }, + { + "emoji": "🅱️", + "description": "blood type", + "category": "Symbols", + "aliases": [ + "alphabet", + "button", + "a B button", + "B buttons", + "red-square", + "b", + "square", + "red", + "b button (blood type)", + "letter" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 232, + 83, + 68 + ] + }, + { + "emoji": "🆑", + "description": "CL sign", + "category": "Symbols", + "aliases": [ + "a CL button emoji", + "alphabet", + "CL button emoji", + "CL button", + "button", + "words", + "cl button", + "red-square", + "CL", + "square", + "red", + "cl" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 232, + 82, + 67 + ] + }, + { + "emoji": "🆒", + "description": "cool sign", + "category": "Symbols", + "aliases": [ + "COOL", + "COOL button", + "cool button", + "button", + "words", + "blue", + "cool button emoji", + "square", + "cool", + "blue-square", + "a cool button emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 138, + 163, + 186 + ] + }, + { + "emoji": "🆓", + "description": "free sign", + "category": "Symbols", + "aliases": [ + "button", + "free button", + "free", + "words", + "free button emoji", + "FREE", + "FREE button", + "square", + "blue-square", + "blue", + "a free button emoji" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 137, + 163, + 186 + ] + }, + { + "emoji": "ℹ️", + "description": "information", + "category": "Symbols", + "aliases": [ + "alphabet", + "information source", + "information symbol emoji", + "square", + "blue-square", + "information", + "an information symbol emoji", + "blue", + "letter" + ], + "unicode": "3.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 127, + 155, + 181 + ] + }, + { + "emoji": "🆔", + "description": "identification", + "category": "Symbols", + "aliases": [ + "button", + "identity", + "purple-square", + "words", + "ID button emoji", + "purple", + "ID", + "square", + "an ID button emoji", + "id", + "id button", + "ID button" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 186, + 125, + 204 + ] + }, + { + "emoji": "Ⓜ️", + "description": "circled M", + "category": "Symbols", + "aliases": [ + "alphabet", + "m", + "circled", + "circled M emoji", + "blue-circle", + "circle", + "blue", + "circled m", + "letter", + "a circled M emoji" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 78, + 143, + 239 + ] + }, + { + "emoji": "🆕", + "description": "new sign", + "category": "Symbols", + "aliases": [ + "button", + "words", + "start", + "new button", + "new button emoji", + "a new button emoji", + "new", + "square", + "fresh", + "NEW button", + "blue-square", + "blue", + "NEW" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 137, + 163, + 186 + ] + }, + { + "emoji": "🆖", + "description": "no good sign", + "category": "Symbols", + "aliases": [ + "button", + "words", + "NG button emoji", + "icon", + "blue", + "NG", + "NG button", + "shape", + "ng button", + "square", + "an NG button emoji", + "blue-square", + "ng" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 145, + 168, + 190 + ] + }, + { + "emoji": "🅾️", + "description": "blood type", + "category": "Symbols", + "aliases": [ + "alphabet", + "button", + "red-square", + "O button emoji", + "o button (blood type)", + "square", + "red", + "o2", + "o", + "an O button emoji", + "letter" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 233, + 95, + 82 + ] + }, + { + "emoji": "🆗", + "description": "OK sign", + "category": "Symbols", + "aliases": [ + "agree", + "an OK button emoji", + "button", + "ok", + "OK button emoji", + "ok button", + "square", + "blue-square", + "OK button", + "good", + "blue", + "OK", + "yes" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 143, + 167, + 189 + ] + }, + { + "emoji": "🅿️", + "description": "parking sign", + "category": "Symbols", + "aliases": [ + "alphabet", + "button", + "parking", + "parking sign emoji", + "p button", + "square", + "p", + "blue-square", + "cars", + "blue", + "a parking sign emoji", + "letter" + ], + "unicode": "5.2", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 60, + 142, + 228 + ] + }, + { + "emoji": "🆘", + "description": "SOS sign", + "category": "Symbols", + "aliases": [ + "button", + "emergency", + "SOS button emoji", + "words", + "sos", + "red-square", + "help", + "square", + "SOS", + "SOS button", + "red", + "sos button", + "an SOS button emoji", + "911" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 232, + 83, + 68 + ] + }, + { + "emoji": "🆙", + "description": "up sign", + "category": "Symbols", + "aliases": [ + "UP!", + "up! button", + "UP! button", + "an up button emoji", + "button", + "up button emoji", + "up", + "mark", + "high", + "square", + "UP", + "blue-square", + "blue", + "above" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 140, + 165, + 187 + ] + }, + { + "emoji": "🆚", + "description": "squared vs", + "category": "Symbols", + "aliases": [ + "vs button", + "versus", + "button", + "words", + "versus button emoji", + "VS", + "a versus button emoji", + "square", + "orange-square", + "vs", + "VS button", + "orange" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 250, + 176, + 59 + ] + }, + { + "emoji": "🈁", + "description": "Japanese word", + "category": "Symbols", + "aliases": [ + "", + "here", + "button", + "ココ", + "katakana", + "Japanese", + "destination", + " button emoji", + " button", + "Japanese ", + "square", + "a Japanese ", + "blue-square", + "japanese", + "blue", + "koko", + "japanese here button" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 140, + 165, + 188 + ] + }, + { + "emoji": "🈂️", + "description": "Japanese sign", + "category": "Symbols", + "aliases": [ + "charge", + "button", + "japanese service charge button", + "katakana", + " buttons", + "Japanese ", + " button", + "service charge", + "service", + "square", + "a Japanese ", + "blue-square", + "japanese", + "sa", + "blue" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 47, + 135, + 226 + ] + }, + { + "emoji": "🈷️", + "description": "Japanese sign", + "category": "Symbols", + "aliases": [ + "japanese monthly amount button", + "button", + "kanji", + "amount", + "u6708", + "month", + " button emoji", + "Japanese ", + "moon", + "monthly amount", + "square", + "orange-square", + "a Japanese ", + "japanese", + "monthly", + "orange", + "chinese" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 250, + 176, + 59 + ] + }, + { + "emoji": "🈶", + "description": "Japanese sign", + "category": "Symbols", + "aliases": [ + "", + "not free of charge", + "not", + "orange", + "free", + "chinese", + "button", + "kanji", + "Japanese ", + "有", + "square", + "japanese not free of charge button", + "u6709", + "orange-square", + "japanese", + "ideograph", + "charge", + "have", + "Japanese", + " button emoji", + " button", + "a Japanese " + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 250, + 177, + 64 + ] + }, + { + "emoji": "🈯", + "description": "Japanese “reserved” button", + "category": "Symbols", + "aliases": [ + "", + "green", + "button", + "kanji", + "指", + "Japanese", + "Japanese ", + " button", + "reserved", + "u6307", + "japanese reserved button", + "square", + "japanese", + "ideograph", + "point", + "chinese", + "green-square" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 71, + 199, + 75 + ] + }, + { + "emoji": "🉐", + "description": "Japanese sign", + "category": "Symbols", + "aliases": [ + "", + "button", + "kanji", + "Japanese", + "Japanese ", + " button emoji", + " button", + "bargain", + "obtain", + "circle", + "get", + "japanese", + "japanese bargain button", + "a Japanese ", + "得", + "ideograph", + "chinese", + "ideograph advantage" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 245, + 77, + 73 + ] + }, + { + "emoji": "🈹", + "description": "Japanese sign", + "category": "Symbols", + "aliases": [ + "", + "japanese discount button", + "cut", + "pink-square", + "chinese", + "button", + "u5272", + "kanji", + "divide", + "Japanese ", + "square", + "japanese", + "pink", + "ideograph", + "Japanese", + " button emoji", + " button", + "割", + "a Japanese ", + "discount" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 232, + 101, + 88 + ] + }, + { + "emoji": "🈚", + "description": "Japanese “free of charge” button", + "category": "Symbols", + "aliases": [ + "", + "orange", + "free", + "japanese free of charge button", + "chinese", + "button", + "nothing", + "kanji", + "Japanese ", + "u7121", + "free of charge", + "square", + "orange-square", + "japanese", + "ideograph", + "charge", + "Japanese", + " button", + "無" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 249, + 180, + 71 + ] + }, + { + "emoji": "🈲", + "description": "Japanese sign", + "category": "Symbols", + "aliases": [ + "", + "red-square", + "禁", + "forbidden", + "restricted", + "red", + "chinese", + "limit", + "button", + "kanji", + "Japanese ", + "square", + "japanese", + "prohibited", + "ideograph", + "Japanese", + " button emoji", + " button", + "a Japanese ", + "japanese prohibited button", + "u7981" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 232, + 108, + 96 + ] + }, + { + "emoji": "🉑", + "description": "Japanese sign", + "category": "Symbols", + "aliases": [ + "", + "可", + "japanese acceptable button", + "accept", + "orange", + "orange-circle", + "circle", + "acceptable", + "chinese", + "agree", + "button", + "kanji", + "Japanese ", + "japanese", + "ideograph", + "ok", + "Japanese", + " button emoji", + " button", + "a Japanese ", + "good", + "yes" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 250, + 167, + 58 + ] + }, + { + "emoji": "🈸", + "description": "Japanese sign", + "category": "Symbols", + "aliases": [ + "", + "japanese application button", + "button", + "kanji", + "Japanese", + "Japanese ", + " button emoji", + " button", + "application", + "square", + "orange-square", + "a Japanese ", + "japanese", + "申", + "orange", + "ideograph", + "chinese", + "u7533" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 250, + 178, + 65 + ] + }, + { + "emoji": "🈴", + "description": "Japanese sign", + "category": "Symbols", + "aliases": [ + "", + "join", + "red-square", + "passing", + "u5408", + "passing grade", + "red", + "chinese", + "button", + "grade", + "kanji", + "Japanese ", + "square", + "japanese", + "合", + "japanese passing grade button", + "ideograph", + "Japanese", + " button emoji", + " button", + "a Japanese " + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 233, + 95, + 82 + ] + }, + { + "emoji": "🈳", + "description": "Japanese sign", + "category": "Symbols", + "aliases": [ + "", + "blue-square", + "sky", + "u7a7a", + "blue", + "chinese", + "vacancy", + "button", + "kanji", + "Japanese ", + "square", + "japanese", + "空", + "ideograph", + "Japanese", + " button emoji", + " button", + "a Japanese ", + "japanese vacancy button", + "empty" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 65, + 144, + 227 + ] + }, + { + "emoji": "㊗️", + "description": "Japanese sign", + "category": "Symbols", + "aliases": [ + "button", + "kanji", + " emoji", + "red", + "circle", + "japanese", + "Japanese sign meaning ", + "a Japanese sign meaning ", + "congratulations", + "japanese congratulations button", + "red-circle", + "chinese" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 246, + 68, + 63 + ] + }, + { + "emoji": "㊙️", + "description": "Japanese sign", + "category": "Symbols", + "aliases": [ + "button", + "kanji", + "secret", + " emoji", + "red", + "circle", + "privacy", + "japanese", + "Japanese sign meaning ", + "sshh", + "a Japanese sign meaning ", + "red-circle", + "japanese secret button", + "chinese" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 246, + 71, + 67 + ] + }, + { + "emoji": "🈺", + "description": "Japanese sign", + "category": "Symbols", + "aliases": [ + "", + "営", + "orange", + "open", + "business", + "button", + "Japanese ", + "for", + "square", + "orange-square", + "japanese", + "ideograph", + "open for business", + "opening hours", + "japanese open for business button", + "Japanese", + " button emoji", + "u55b6", + " button", + "a Japanese " + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 249, + 179, + 71 + ] + }, + { + "emoji": "🈵", + "description": "Japanese sign", + "category": "Symbols", + "aliases": [ + "", + "満", + "no vacancy", + "red-square", + "red", + "japanese no vacancy button", + "chinese", + "full", + "u6e80", + "vacancy", + "button", + "kanji", + "Japanese ", + "square", + "no", + "japanese", + "ideograph", + "Japanese", + " button emoji", + " button", + "a Japanese " + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 233, + 107, + 94 + ] + }, + { + "emoji": "🔴", + "description": "red circle", + "category": "Symbols", + "aliases": [ + "error", + "red circle", + "red circle emoji", + "shape", + "a red circle emoji", + "red", + "circle", + "geometric", + "danger" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 210, + 43, + 42 + ] + }, + { + "emoji": "🟠", + "description": "orange circle", + "category": "Symbols", + "aliases": [ + "orange circle", + "orange circles", + "round", + "circle", + "an orange circle", + "orange" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 228, + 139, + 22 + ] + }, + { + "emoji": "🟡", + "description": "yellow circle", + "category": "Symbols", + "aliases": [ + "yellow circles", + "yellow circle", + "round", + "circle", + "yellow", + "a yellow circle" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 250, + 210, + 22 + ] + }, + { + "emoji": "🟢", + "description": "green circle", + "category": "Symbols", + "aliases": [ + "green", + "round", + "green circle", + "circle", + "a green circle", + "green circles" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 17, + 182, + 17 + ] + }, + { + "emoji": "🔵", + "description": "blue circle", + "category": "Symbols", + "aliases": [ + "blue circle emoji", + "blue circle", + "button", + "icon", + "shape", + "a blue circle emoji", + "circle", + "geometric", + "blue", + "large blue circle" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 25, + 101, + 204 + ] + }, + { + "emoji": "🟣", + "description": "purple circle", + "category": "Symbols", + "aliases": [ + "a purple circle", + "round", + "purple", + "purple circles", + "purple circle", + "circle" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 170, + 56, + 243 + ] + }, + { + "emoji": "🟤", + "description": "brown circle", + "category": "Symbols", + "aliases": [ + "brown circles", + "brown", + "brown circle", + "round", + "circle", + "a brown circle" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 129, + 82, + 50 + ] + }, + { + "emoji": "⚫", + "description": "black circle", + "category": "Symbols", + "aliases": [ + "button", + "round", + "shape", + "circle", + "geometric", + "black", + "black circle" + ], + "unicode": "4.1", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 30, + 30, + 29 + ] + }, + { + "emoji": "⚪", + "description": "white circle", + "category": "Symbols", + "aliases": [ + "round", + "shape", + "circle", + "white", + "geometric", + "white circle" + ], + "unicode": "4.1", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 223, + 223, + 223 + ] + }, + { + "emoji": "🟥", + "description": "red square", + "category": "Symbols", + "aliases": [ + "red squares", + "square", + "a red square", + "red", + "red square" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 216, + 54, + 38 + ] + }, + { + "emoji": "🟧", + "description": "orange square", + "category": "Symbols", + "aliases": [ + "orange square", + "an orange square", + "square", + "orange squares", + "orange" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 255, + 149, + 27 + ] + }, + { + "emoji": "🟨", + "description": "yellow square", + "category": "Symbols", + "aliases": [ + "yellow squares", + "a yellow square", + "square", + "yellow square", + "yellow" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 248, + 199, + 24 + ] + }, + { + "emoji": "🟩", + "description": "green square", + "category": "Symbols", + "aliases": [ + "green", + "a green square", + "square", + "green square", + "green squares" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 24, + 184, + 24 + ] + }, + { + "emoji": "🟦", + "description": "blue square", + "category": "Symbols", + "aliases": [ + "a blue square", + "square", + "blue squares", + "blue square", + "blue" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 29, + 108, + 243 + ] + }, + { + "emoji": "🟪", + "description": "purple square", + "category": "Symbols", + "aliases": [ + "a purple square", + "purple squares", + "purple", + "purple square", + "square" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 192, + 69, + 255 + ] + }, + { + "emoji": "🟫", + "description": "brown square", + "category": "Symbols", + "aliases": [ + "brown squares", + "brown", + "a brown square", + "square", + "brown square" + ], + "unicode": "12.0", + "ios": "13.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 130, + 82, + 50 + ] + }, + { + "emoji": "⬛", + "description": "black large square", + "category": "Symbols", + "aliases": [ + "large", + "button", + "icon", + "black large square", + "shape", + "square", + "geometric", + "black" + ], + "unicode": "5.1", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 30, + 30, + 30 + ] + }, + { + "emoji": "⬜", + "description": "white large square", + "category": "Symbols", + "aliases": [ + "large", + "button", + "icon", + "shape", + "stone", + "square", + "white", + "geometric", + "white large square" + ], + "unicode": "5.1", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 217, + 217 + ] + }, + { + "emoji": "◼️", + "description": "black medium", + "category": "Symbols", + "aliases": [ + "medium", + "button", + "icon", + "a square", + "black medium square", + "shape", + "square", + "squares", + "black" + ], + "unicode": "3.2", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 13, + 13, + 13 + ] + }, + { + "emoji": "◻️", + "description": "white medium", + "category": "Symbols", + "aliases": [ + "medium", + "icon", + "a square", + "white medium square", + "shape", + "stone", + "square", + "squares", + "white" + ], + "unicode": "3.2", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 217, + 217 + ] + }, + { + "emoji": "◾", + "description": "black medium-small square", + "category": "Symbols", + "aliases": [ + "small", + "medium", + "black medium small square", + "button", + "icon", + "shape", + "square", + "black medium-small square", + "geometric", + "black" + ], + "unicode": "3.2", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 18, + 18, + 18 + ] + }, + { + "emoji": "◽", + "description": "white medium-small square", + "category": "Symbols", + "aliases": [ + "small", + "medium", + "button", + "white medium-small square", + "icon", + "shape", + "stone", + "square", + "white medium small square", + "white", + "geometric" + ], + "unicode": "3.2", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 217, + 217 + ] + }, + { + "emoji": "▪️", + "description": "black small", + "category": "Symbols", + "aliases": [ + "small", + "icon", + "a square", + "shape", + "square", + "squares", + "black small square", + "black" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 41, + 40, + 40 + ] + }, + { + "emoji": "▫️", + "description": "white small", + "category": "Symbols", + "aliases": [ + "small", + "icon", + "a square", + "shape", + "square", + "squares", + "white small square", + "white" + ], + "unicode": "", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 217, + 217, + 217 + ] + }, + { + "emoji": "🔶", + "description": "large orange", + "category": "Symbols", + "aliases": [ + "large", + "diamond", + "jewel", + "diamond emoji", + "shape", + "a diamond emoji", + "gem", + "geometric", + "large orange diamond", + "orange" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 250, + 158, + 16 + ] + }, + { + "emoji": "🔷", + "description": "large blue diamond", + "category": "Symbols", + "aliases": [ + "large", + "diamond", + "jewel", + "diamond emoji", + "shape", + "a diamond emoji", + "gem", + "geometric", + "blue", + "large blue diamond" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 17, + 112, + 199 + ] + }, + { + "emoji": "🔸", + "description": "small orange", + "category": "Symbols", + "aliases": [ + "small", + "diamond", + "jewel", + "diamond emoji", + "shape", + "a diamond emoji", + "gem", + "small orange diamond", + "geometric", + "orange" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 249, + 156, + 16 + ] + }, + { + "emoji": "🔹", + "description": "small blue diamond", + "category": "Symbols", + "aliases": [ + "small", + "diamond", + "small blue diamond", + "jewel", + "diamond emoji", + "shape", + "a diamond emoji", + "gem", + "geometric", + "blue" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 17, + 110, + 196 + ] + }, + { + "emoji": "🔺", + "description": "red triangle", + "category": "Symbols", + "aliases": [ + "a triangle emoji", + "triangle", + "red triangle pointed up", + "pointed", + "up", + "triangle pointed up emoji", + "shape", + "top", + "red", + "small red triangle", + "geometric", + "direction" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 229, + 28, + 8 + ] + }, + { + "emoji": "🔻", + "description": "red triangle", + "category": "Symbols", + "aliases": [ + "red triangle pointed down", + "triangle", + "pointed", + "a triangle pointed down emoji", + "shape", + "triangle pointed down emoji", + "red", + "down", + "geometric", + "bottom", + "direction", + "small red triangle down" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 239, + 66, + 47 + ] + }, + { + "emoji": "💠", + "description": "diamond shape", + "category": "Symbols", + "aliases": [ + "diamond", + "jewel", + "diamond with a dot", + "a diamond with a dot emoji", + "comic", + "diamond shape with a dot inside", + "diamond with a dot emoji", + "gem", + "dot", + "crystal", + "geometric", + "inside", + "blue", + "fancy" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 131, + 190, + 224 + ] + }, + { + "emoji": "🔘", + "description": "radio button", + "category": "Symbols", + "aliases": [ + "button", + "music", + "radio button", + "old", + "radio button emoji", + "circle", + "geometric", + "a radio button emoji", + "radio", + "input" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 137, + 137, + 137 + ] + }, + { + "emoji": "🔳", + "description": "white square", + "category": "Symbols", + "aliases": [ + "button", + "outlined", + "white square button", + "shape", + "square", + "outlined square emoji", + "an outlined square emoji", + "white", + "geometric", + "input" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 123, + 123, + 122 + ] + }, + { + "emoji": "🔲", + "description": "black square", + "category": "Symbols", + "aliases": [ + "button", + "shape", + "outlined square emoji", + "square", + "an outlined square emoji", + "black square button", + "frame", + "geometric", + "black", + "input" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 126, + 126, + 126 + ] + }, + { + "emoji": "🏁", + "description": "chequered flag", + "category": "Flags", + "aliases": [ + "checkered flag", + "chequered", + "gokart", + "a checkered flag", + "racing", + "contest", + "finish", + "milestone", + "checkered flags", + "chequered flag", + "flag", + "checkered", + "finishline", + "race" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 122, + 122, + 122 + ] + }, + { + "emoji": "🚩", + "description": "triangular flag", + "category": "Flags", + "aliases": [ + "triangular flag on post", + "triangular flag emoji", + "post", + "triangular", + "a triangular flag emoji", + "mark", + "milestone", + "flag", + "triangular flag", + "place" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 170, + 37, + 37 + ] + }, + { + "emoji": "🎌", + "description": "crossed flags", + "category": "Flags", + "aliases": [ + "crossed flags", + "celebration", + "border", + "country", + "Japanese", + "crossed flags emoji", + "cross", + "a crossed flags emoji", + "japanese", + "flags", + "crossed", + "nation" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 208, + 186, + 187 + ] + }, + { + "emoji": "🏴", + "description": "black flag", + "category": "Flags", + "aliases": [ + "pirate", + "black flag", + "a black flag emoji", + "black flag emoji", + "black", + "flag", + "waving" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 51, + 52, + 52 + ] + }, + { + "emoji": "🏳️", + "description": "white flag", + "category": "Flags", + "aliases": [ + "surrender", + "lost", + "fail", + "give up", + "white flags", + "losing", + "white", + "white flag", + "loser", + "flag", + "a white flag" + ], + "unicode": "7.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 204, + 204, + 204 + ] + }, + { + "emoji": "🏳️‍🌈", + "description": "rainbow flag", + "category": "Flags", + "aliases": [ + "lesbian", + "bisexual", + "pride", + "rainbow flag", + "homosexual", + "rainbow flag emoji", + "rainbow", + "lgbt", + "transgender", + "glbt", + "gay", + "flag", + "queer", + "a rainbow flag emoji" + ], + "unicode": "6.0", + "ios": "10.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 133, + 135, + 108 + ] + }, + { + "emoji": "🏳️‍⚧️", + "description": "transgender", + "category": "Flags", + "aliases": [ + "transgender flags", + "lgbtq", + "a transgender flag", + "transgender", + "transgender flag", + "flag" + ], + "unicode": "13.0", + "ios": "14.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 187, + 180, + 198 + ] + }, + { + "emoji": "🏴‍☠️", + "description": "pirate flag", + "category": "Flags", + "aliases": [ + "crossbones", + "pirate flag", + "pirate flags", + "pirate", + "a pirate flag", + "banner", + "flag", + "skull" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 76, + 76, + 76 + ] + }, + { + "emoji": "🇦🇨", + "description": "flag of Ascension", + "category": "Flags", + "aliases": [ + "flag of Ascension Island emoji", + "flag ascension island", + "ascension", + "ascension island", + "island", + "a flag of Ascension Island", + "flag" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 69, + 81, + 122 + ] + }, + { + "emoji": "🇦🇩", + "description": "flag of Andorra", + "category": "Flags", + "aliases": [ + "a flag of Andorra emoji", + "ad", + "andorra", + "country", + "flag andorra", + "flag of Andorra emoji", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 160, + 103, + 76 + ] + }, + { + "emoji": "🇦🇪", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "emirates", + "flag of the United Arab Emirates emoji", + "flag united arab emirates", + "country", + "a flag of the United Arab Emirates emoji", + "united arab emirates", + "arab", + "banner", + "flag", + "united", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 122, + 98, + 84 + ] + }, + { + "emoji": "🇦🇫", + "description": "flag of Afghanistan", + "category": "Flags", + "aliases": [ + "a flag of Afghanistan emoji", + "country", + "afghanistan", + "af", + "flag afghanistan", + "banner", + "flag of Afghanistan emoji", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 80, + 75, + 34 + ] + }, + { + "emoji": "🇦🇬", + "description": "flag of Antigua", + "category": "Flags", + "aliases": [ + "flag antigua & barbuda", + "flag of Antigua and Barbuda emoji", + "country", + "a flag of Antigua and Barbuda emoji", + "antigua barbuda", + "banner", + "flag", + "antigua", + "barbuda", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 129, + 67, + 75 + ] + }, + { + "emoji": "🇦🇮", + "description": "flag of Anguilla", + "category": "Flags", + "aliases": [ + "anguilla", + "country", + "a flag of Anguilla emoji", + "banner", + "flag anguilla", + "flag", + "ai", + "flag of Anguilla emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 90, + 57, + 105 + ] + }, + { + "emoji": "🇦🇱", + "description": "flag of Albania", + "category": "Flags", + "aliases": [ + "al", + "country", + "flag of Albania emoji", + "banner", + "a flag of Albania emoji", + "flag", + "albania", + "flag albania", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 157, + 45, + 51 + ] + }, + { + "emoji": "🇦🇲", + "description": "flag of Armenia", + "category": "Flags", + "aliases": [ + "armenia", + "am", + "the flag of Armenia", + "country", + "banner", + "Armenian flags", + "flag armenia", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 150, + 63, + 74 + ] + }, + { + "emoji": "🇦🇴", + "description": "flag of Angola", + "category": "Flags", + "aliases": [ + "country", + "flag of Angola emoji", + "a flag of Angola emoji", + "angola", + "banner", + "flag", + "ao", + "flag angola", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 112, + 41, + 40 + ] + }, + { + "emoji": "🇦🇶", + "description": "flag of Antarctica", + "category": "Flags", + "aliases": [ + "a flag of Antarctica emoji", + "country", + "flag antarctica", + "flag of Antarctica emoji", + "banner", + "antarctica", + "flag", + "aq", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 116, + 152, + 194 + ] + }, + { + "emoji": "🇦🇷", + "description": "flag of Argentina", + "category": "Flags", + "aliases": [ + "flag argentina", + "country", + "ar", + "flag of Argentina emoji", + "argentina", + "banner", + "flag", + "a flag of Argentina emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 153, + 178, + 200 + ] + }, + { + "emoji": "🇦🇸", + "description": "flag of American", + "category": "Flags", + "aliases": [ + "flag american samoa", + "american samoa", + "nation", + "country", + "flags of American Samoa", + "the flag of American Samoa", + "banner", + "flag", + "ws", + "samoa", + "american" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 111, + 95, + 128 + ] + }, + { + "emoji": "🇦🇹", + "description": "flag of Austria", + "category": "Flags", + "aliases": [ + "austria", + "flag of Austria emoji", + "country", + "banner", + "a flag of Austria emoji", + "flag", + "flag austria", + "at", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 214, + 116, + 113 + ] + }, + { + "emoji": "🇦🇺", + "description": "flag of Australia", + "category": "Flags", + "aliases": [ + "au", + "a flag of Australia emoji", + "flag of Australia emoji", + "country", + "banner", + "flag australia", + "flag", + "australia", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 75, + 76, + 127 + ] + }, + { + "emoji": "🇦🇼", + "description": "flag of Aruba", + "category": "Flags", + "aliases": [ + "flag aruba", + "flag of Aruba emoji", + "aw", + "aruba", + "country", + "a flag of Aruba emoji", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 105, + 130, + 158 + ] + }, + { + "emoji": "🇦🇽", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "aland islands", + "a flag of the Åland Islands emoji", + "flag of the Åland Islands emoji", + "country", + "flag åland islands", + "islands", + "banner", + "flag", + "åland", + "aland", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 103, + 103, + 106 + ] + }, + { + "emoji": "🇦🇿", + "description": "flag of Azerbaijan", + "category": "Flags", + "aliases": [ + "flag azerbaijan", + "a flag of Azerbaijan emoji", + "country", + "flag of Azerbaijan emoji", + "banner", + "azerbaijan", + "flag", + "az", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 93, + 109, + 118 + ] + }, + { + "emoji": "🇧🇦", + "description": "flag of Bosnia", + "category": "Flags", + "aliases": [ + "herzegovina", + "bosnia", + "country", + "the flag of Bosnia and Herzegovina", + "flag bosnia & herzegovina", + "bosnia herzegovina", + "flags of Bosnia and Herzegovina", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 104, + 93, + 108 + ] + }, + { + "emoji": "🇧🇧", + "description": "flag of Barbados", + "category": "Flags", + "aliases": [ + "flag barbados", + "barbados", + "Barbadian flags", + "country", + "bb", + "the flag of Barbados", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 81, + 89, + 96 + ] + }, + { + "emoji": "🇧🇩", + "description": "flag of Bangladesh", + "category": "Flags", + "aliases": [ + "the flag of Bangladesh", + "Bangladeshi flags", + "flag bangladesh", + "bangladesh", + "country", + "banner", + "flag", + "bd", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 79, + 99, + 75 + ] + }, + { + "emoji": "🇧🇪", + "description": "flag of Belgium", + "category": "Flags", + "aliases": [ + "country", + "Belgian flags", + "banner", + "flag", + "belgium", + "the flag of Belgium", + "be", + "flag belgium", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 159, + 94, + 48 + ] + }, + { + "emoji": "🇧🇫", + "description": "flag of Burkina", + "category": "Flags", + "aliases": [ + "burkina", + "Burkinabe flags", + "country", + "faso", + "burkina faso", + "flag burkina faso", + "banner", + "flag", + "the flag of Burkina Faso", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 120, + 106, + 69 + ] + }, + { + "emoji": "🇧🇬", + "description": "flag of Bulgaria", + "category": "Flags", + "aliases": [ + "Bulgarian flags", + "country", + "flag bulgaria", + "the flag of Bulgaria", + "banner", + "bg", + "bulgaria", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 140, + 138, + 122 + ] + }, + { + "emoji": "🇧🇭", + "description": "flag of Bahrain", + "category": "Flags", + "aliases": [ + "bh", + "country", + "Bahraini flags", + "banner", + "flag", + "flag bahrain", + "the flag of Bahrain", + "bahrain", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 197, + 95, + 106 + ] + }, + { + "emoji": "🇧🇮", + "description": "flag of Burundi", + "category": "Flags", + "aliases": [ + "bi", + "country", + "the flag of Burundi", + "burundi", + "Burundian flags", + "banner", + "flag", + "flag burundi", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 151, + 148, + 119 + ] + }, + { + "emoji": "🇧🇯", + "description": "flag of Benin", + "category": "Flags", + "aliases": [ + "country", + "Beninese flags", + "benin", + "the flag of Benin", + "banner", + "flag", + "bj", + "flag benin", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 139, + 118, + 65 + ] + }, + { + "emoji": "🇧🇱", + "description": "flag of Saint", + "category": "Flags", + "aliases": [ + "st", + "barthélemy", + "country", + "the flag of Saint Barthélemy", + "saint", + "banner", + "barthelemy", + "flag", + "st barthelemy", + "flags of Saint Barthélemy", + "flag st. barthélemy", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 204, + 199, + 195 + ] + }, + { + "emoji": "🇧🇲", + "description": "flag of Bermuda", + "category": "Flags", + "aliases": [ + "the flag of Bermuda", + "country", + "Bermudian flags", + "flag bermuda", + "bm", + "banner", + "bermuda", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 170, + 60, + 64 + ] + }, + { + "emoji": "🇧🇳", + "description": "flag of Brunei", + "category": "Flags", + "aliases": [ + "the flag of Brunei", + "darussalam", + "Bruneian flags", + "country", + "brunei", + "flag brunei", + "bn", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 180, + 159, + 77 + ] + }, + { + "emoji": "🇧🇴", + "description": "flag of Bolivia", + "category": "Flags", + "aliases": [ + "country", + "Bolivian flags", + "flag bolivia", + "the flag of Bolivia", + "banner", + "flag", + "bolivia", + "bo", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 141, + 113, + 57 + ] + }, + { + "emoji": "🇧🇶", + "description": "flag of Bonaire", + "category": "Flags", + "aliases": [ + "netherlands", + "country", + "flag caribbean netherlands", + "banner", + "bonaire", + "flag", + "caribbean", + "flags of Bonaire", + "caribbean netherlands", + "the flag of Bonaire", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 121, + 132, + 155 + ] + }, + { + "emoji": "🇧🇷", + "description": "flag of Brazil", + "category": "Flags", + "aliases": [ + "the flag of Brazil", + "brazil", + "country", + "Brazilian flags", + "flag brazil", + "banner", + "flag", + "br", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 66, + 152, + 94 + ] + }, + { + "emoji": "🇧🇸", + "description": "flag of Bahamas", + "category": "Flags", + "aliases": [ + "flag bahamas", + "country", + "the flag of Bahamas", + "banner", + "flag", + "bahamas", + "Bahamian flags", + "bs", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 66, + 134, + 120 + ] + }, + { + "emoji": "🇧🇹", + "description": "flag of Bhutan", + "category": "Flags", + "aliases": [ + "bhutan", + "country", + "bt", + "Bhutanese flags", + "the flag of Bhutan", + "banner", + "flag", + "flag bhutan", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 208, + 134, + 87 + ] + }, + { + "emoji": "🇧🇻", + "description": "flag of Bouvet", + "category": "Flags", + "aliases": [ + "a flag of Bouvet Island emoji", + "flag of Bouvet Island emoji", + "norway", + "bouvet", + "flag bouvet island", + "island", + "bouvet island", + "flag" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 179, + 85, + 90 + ] + }, + { + "emoji": "🇧🇼", + "description": "flag of Botswana", + "category": "Flags", + "aliases": [ + "flag of Botswana emoji", + "country", + "botswana", + "bw", + "a flag of Botswana emoji", + "banner", + "flag", + "flag botswana", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 107, + 136, + 163 + ] + }, + { + "emoji": "🇧🇾", + "description": "flag of Belarus", + "category": "Flags", + "aliases": [ + "belarus", + "flag of Belarus emoji", + "flag belarus", + "country", + "by", + "banner", + "flag", + "a flag of Belarus emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 140, + 69, + 35 + ] + }, + { + "emoji": "🇧🇿", + "description": "flag of Belize", + "category": "Flags", + "aliases": [ + "flag belize", + "flag of Belize emoji", + "country", + "belize", + "banner", + "bz", + "a flag of Belize emoji", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 80, + 93, + 120 + ] + }, + { + "emoji": "🇨🇦", + "description": "flag of Canada", + "category": "Flags", + "aliases": [ + "the flag of Canada", + "country", + "ca", + "Canadian flags", + "canada", + "flag canada", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 223, + 96, + 96 + ] + }, + { + "emoji": "🇨🇨", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "cocos", + "keeling", + "country", + "flag cocos (keeling) islands", + "islands", + "flags of the Cocos (Keeling) Islands", + "banner", + "the flag of the Cocos (Keeling) Islands", + "flag", + "cocos islands", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 56, + 130, + 41 + ] + }, + { + "emoji": "🇨🇩", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "congo", + "the flag of the Democratic Republic of the Congo", + "flags of the Democratic Republic of the Congo", + "congo kinshasa", + "country", + "republic", + "kinshasa", + "banner", + "flag congo - kinshasa", + "flag", + "democratic", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 90, + 129, + 141 + ] + }, + { + "emoji": "🇨🇫", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "central", + "central african republic", + "flag central african republic", + "african", + "country", + "flags of the Central African Republic", + "the flag of the Central African Republic", + "republic", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 140, + 132, + 98 + ] + }, + { + "emoji": "🇨🇬", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "congo", + "the flag of the Republic of the Congo", + "country", + "flag congo - brazzaville", + "banner", + "flags of the Republic of the Congo", + "flag", + "congo brazzaville", + "brazzaville", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 158, + 141, + 78 + ] + }, + { + "emoji": "🇨🇭", + "description": "flag of Switzerland", + "category": "Flags", + "aliases": [ + "switzerland", + "country", + "flag of Switzerland emoji", + "flag switzerland", + "a flag of Switzerland emoji", + "banner", + "flag", + "ch", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 218, + 66, + 66 + ] + }, + { + "emoji": "🇨🇮", + "description": "flag of Côte", + "category": "Flags", + "aliases": [ + "ivory", + "d", + "flag côte d'ivoire", + "flags of Côte d’Ivoire", + "country", + "cote", + "cote divoire", + "banner", + "flag", + "coast", + "the flag of Côte d’Ivoire", + "ivoire", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 157, + 166, + 119 + ] + }, + { + "emoji": "🇨🇰", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "cook", + "cook islands", + "country", + "flag cook islands", + "the flag of the Cook Islands", + "islands", + "flags of the Cook Islands", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 80, + 49, + 103 + ] + }, + { + "emoji": "🇨🇱", + "description": "flag of Chile", + "category": "Flags", + "aliases": [ + "flag chile", + "country", + "chile", + "Chilean flags", + "banner", + "the flag of Chile", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 181, + 119, + 125 + ] + }, + { + "emoji": "🇨🇲", + "description": "flag of Cameroon", + "category": "Flags", + "aliases": [ + "cm", + "country", + "flag cameroon", + "the flag of Cameroon", + "banner", + "flag", + "Cameroonian flags", + "cameroon", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 146, + 115, + 64 + ] + }, + { + "emoji": "🇨🇳", + "description": "flag of China", + "category": "Flags", + "aliases": [ + "china", + "country", + "cn", + "Chinese flags", + "flag china", + "banner", + "flag", + "prc", + "the flag of China", + "chinese", + "nation" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 186, + 43, + 53 + ] + }, + { + "emoji": "🇨🇴", + "description": "flag of Colombia", + "category": "Flags", + "aliases": [ + "co", + "colombia", + "country", + "flag colombia", + "banner", + "flag of Colombia emoji", + "flag", + "a flag of Colombia emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 160, + 117, + 71 + ] + }, + { + "emoji": "🇨🇵", + "description": "flag of Clipperton", + "category": "Flags", + "aliases": [ + "clipperton island", + "the flag of Clipperton Island", + "clipperton", + "island", + "Clipperton Island flags", + "flag clipperton island", + "flag" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 158, + 131, + 149 + ] + }, + { + "emoji": "🇨🇷", + "description": "flag of Costa", + "category": "Flags", + "aliases": [ + "a flag of Costa Rica emoji", + "country", + "flag costa rica", + "costa", + "flag of Costa Rica emoji", + "banner", + "flag", + "rica", + "costa rica", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 148, + 109, + 135 + ] + }, + { + "emoji": "🇨🇺", + "description": "flag of Cuba", + "category": "Flags", + "aliases": [ + "cu", + "flag cuba", + "country", + "cuba", + "a flag of Cuba emoji", + "banner", + "flag", + "flag of Cuba emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 123, + 102, + 143 + ] + }, + { + "emoji": "🇨🇻", + "description": "flag of Cape", + "category": "Flags", + "aliases": [ + "cape verde", + "nation", + "flag cape verde", + "country", + "cabo", + "banner", + "verde", + "Cape Verdean flags", + "flag", + "the flag of Cape Verde", + "cape" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 76, + 91, + 140 + ] + }, + { + "emoji": "🇨🇼", + "description": "flag of Curaçao", + "category": "Flags", + "aliases": [ + "curacao", + "curaçao", + "the flag of Curaçao", + "country", + "Curaçaoan flags", + "flag curaçao", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 60, + 84, + 111 + ] + }, + { + "emoji": "🇨🇽", + "description": "flag of Christmas", + "category": "Flags", + "aliases": [ + "christmas island", + "a flag of Christmas Island emoji", + "country", + "flag christmas island", + "christmas", + "island", + "banner", + "flag", + "flag of Christmas Island emoji", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 56, + 101, + 117 + ] + }, + { + "emoji": "🇨🇾", + "description": "flag of Cyprus", + "category": "Flags", + "aliases": [ + "nation", + "country", + "Cypriot flags", + "the flag of Cyprus", + "banner", + "cy", + "flag", + "flag cyprus", + "cyprus" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 218, + 213, + 204 + ] + }, + { + "emoji": "🇨🇿", + "description": "flag of Czechia", + "category": "Flags", + "aliases": [ + "cz", + "country", + "czechia", + "czech republic", + "flag czechia", + "Czechia flags", + "the flag of Czechia", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 164, + 117, + 130 + ] + }, + { + "emoji": "🇩🇪", + "description": "flag of Germany", + "category": "Flags", + "aliases": [ + "flag of Germany emoji", + "germany", + "country", + "german", + "banner", + "a flag of Germany emoji", + "flag", + "de", + "flag germany", + "nation" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 161, + 76, + 25 + ] + }, + { + "emoji": "🇩🇬", + "description": "flag of Diego", + "category": "Flags", + "aliases": [ + "the flag of Diego Garcia", + "diego garcia", + "diego", + "garcia", + "flag", + "Diego Garcia flags", + "flag diego garcia" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 135, + 134, + 159 + ] + }, + { + "emoji": "🇩🇯", + "description": "flag of Djibouti", + "category": "Flags", + "aliases": [ + "Djiboutian flags", + "country", + "flag djibouti", + "dj", + "banner", + "the flag of Djibouti", + "djibouti", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 107, + 173, + 149 + ] + }, + { + "emoji": "🇩🇰", + "description": "flag of Denmark", + "category": "Flags", + "aliases": [ + "country", + "denmark", + "flag denmark", + "dk", + "banner", + "a flag of Denmark emoji", + "flag", + "flag of Denmark emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 189, + 79, + 100 + ] + }, + { + "emoji": "🇩🇲", + "description": "flag of Dominica", + "category": "Flags", + "aliases": [ + "dm", + "flag dominica", + "country", + "Dominican flags", + "the flag of Dominica", + "dominica", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 78, + 130, + 79 + ] + }, + { + "emoji": "🇩🇴", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "flag of the Dominican Republic emoji", + "country", + "republic", + "dominican", + "banner", + "a flag of the Dominican Republic emoji", + "flag dominican republic", + "dominican republic", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 145, + 109, + 131 + ] + }, + { + "emoji": "🇩🇿", + "description": "flag of Algeria", + "category": "Flags", + "aliases": [ + "Algerian flags", + "country", + "flag algeria", + "algeria", + "banner", + "the flag of Algeria", + "dz", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 133, + 162, + 135 + ] + }, + { + "emoji": "🇪🇦", + "description": "flag of Ceuta", + "category": "Flags", + "aliases": [ + "flag ceuta & melilla", + "flag of Ceuta and Melilla emoji", + "melilla", + "ceuta melilla", + "ceuta", + "flag", + "a flag of Ceuta and Melilla emoji" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 180, + 105, + 38 + ] + }, + { + "emoji": "🇪🇨", + "description": "flag of Ecuador", + "category": "Flags", + "aliases": [ + "flag of Ecuador emoji", + "ec", + "country", + "flag ecuador", + "ecuador", + "a flag of Ecuador emoji", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 157, + 118, + 68 + ] + }, + { + "emoji": "🇪🇪", + "description": "flag of Estonia", + "category": "Flags", + "aliases": [ + "a flag of Estonia emoji", + "flag of Estonia emoji", + "country", + "flag estonia", + "estonia", + "banner", + "flag", + "ee", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 103, + 119, + 139 + ] + }, + { + "emoji": "🇪🇬", + "description": "flag of Egypt", + "category": "Flags", + "aliases": [ + "the flag of Egypt", + "egypt", + "country", + "Egyptian flags", + "banner", + "eg", + "flag egypt", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 152, + 107, + 109 + ] + }, + { + "emoji": "🇪🇭", + "description": "flag of Western", + "category": "Flags", + "aliases": [ + "western", + "flag western sahara", + "country", + "flag of Western Sahara emoji", + "sahara", + "banner", + "a flag of Western Sahara emoji", + "flag", + "western sahara", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 101, + 101, + 89 + ] + }, + { + "emoji": "🇪🇷", + "description": "flag of Eritrea", + "category": "Flags", + "aliases": [ + "flag of Eritrea emoji", + "country", + "eritrea", + "a flag of Eritrea emoji", + "banner", + "flag", + "flag eritrea", + "er", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 134, + 95, + 97 + ] + }, + { + "emoji": "🇪🇸", + "description": "flag of Spain", + "category": "Flags", + "aliases": [ + "spain", + "a flag of Spain emoji", + "country", + "es", + "flag spain", + "banner", + "flag", + "flag of Spain emoji", + "nation" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 180, + 105, + 38 + ] + }, + { + "emoji": "🇪🇹", + "description": "flag of Ethiopia", + "category": "Flags", + "aliases": [ + "a flag of Ethiopia emoji", + "country", + "et", + "banner", + "flag ethiopia", + "flag", + "flag of Ethiopia emoji", + "ethiopia", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 132, + 116, + 69 + ] + }, + { + "emoji": "🇪🇺", + "description": "flag of European", + "category": "Flags", + "aliases": [ + "european", + "union", + "european union", + "flag european union", + "banner", + "a flag of European Union emoji", + "flag", + "eu", + "flag of European Union emoji" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 36, + 71, + 139 + ] + }, + { + "emoji": "🇫🇮", + "description": "flag of Finland", + "category": "Flags", + "aliases": [ + "country", + "flag finland", + "fi", + "the flag of Finland", + "finland", + "banner", + "Finnish flags", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 141, + 157, + 177 + ] + }, + { + "emoji": "🇫🇯", + "description": "flag of Fiji", + "category": "Flags", + "aliases": [ + "country", + "fj", + "the flag of Fiji", + "flag fiji", + "fiji", + "Fijian flags", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 84, + 137, + 164 + ] + }, + { + "emoji": "🇫🇰", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "flags of the Falkland Islands", + "flag falkland islands", + "country", + "islands", + "falkland islands", + "banner", + "the flag of the Falkland Islands", + "falkland", + "malvinas", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 76, + 87, + 130 + ] + }, + { + "emoji": "🇫🇲", + "description": "flag of Micronesia", + "category": "Flags", + "aliases": [ + "country", + "flag micronesia", + "micronesia", + "states", + "banner", + "flag", + "the flag of Micronesia", + "Micronesian flags", + "federated", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 120, + 165, + 195 + ] + }, + { + "emoji": "🇫🇴", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "flag of the Faroe Islands emoji", + "country", + "a flag of the Faroe Islands emoji", + "islands", + "banner", + "faroe islands", + "flag", + "faroe", + "flag faroe islands", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 176, + 166, + 180 + ] + }, + { + "emoji": "🇫🇷", + "description": "flag of France", + "category": "Flags", + "aliases": [ + "french", + "the flag of France", + "flag france", + "country", + "banner", + "French flags", + "fr", + "france", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 158, + 131, + 149 + ] + }, + { + "emoji": "🇬🇦", + "description": "flag of Gabon", + "category": "Flags", + "aliases": [ + "gabon", + "country", + "ga", + "the flag of Gabon", + "flag gabon", + "banner", + "flag", + "Gabonese flags", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 110, + 152, + 103 + ] + }, + { + "emoji": "🇬🇧", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "union jack", + "english", + "country", + "a flag of the United Kingdom emoji", + "gb", + "england", + "northern", + "great", + "flag united kingdom", + "banner", + "flag", + "united", + "ireland", + "uk", + "flag of the United Kingdom emoji", + "kingdom", + "british", + "britain", + "nation" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 156, + 94, + 120 + ] + }, + { + "emoji": "🇬🇩", + "description": "flag of Grenada", + "category": "Flags", + "aliases": [ + "Grenadian flags", + "gd", + "country", + "the flag of Grenada", + "grenada", + "banner", + "flag", + "flag grenada", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 144, + 119, + 64 + ] + }, + { + "emoji": "🇬🇪", + "description": "flag of Georgia", + "category": "Flags", + "aliases": [ + "ge", + "country", + "the flag of Georgia", + "Georgian flags", + "banner", + "georgia", + "flag georgia", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 215, + 144, + 152 + ] + }, + { + "emoji": "🇬🇫", + "description": "flag of French", + "category": "Flags", + "aliases": [ + "french", + "flag french guiana", + "country", + "a flag of French Guiana emoji", + "flag of French Guiana emoji", + "banner", + "guiana", + "french guiana", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 127, + 160, + 46 + ] + }, + { + "emoji": "🇬🇬", + "description": "flag of Guernsey", + "category": "Flags", + "aliases": [ + "gg", + "country", + "guernsey", + "flags of Guernsey", + "banner", + "the flag of Guernsey", + "flag", + "flag guernsey", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 216, + 172, + 166 + ] + }, + { + "emoji": "🇬🇭", + "description": "flag of Ghana", + "category": "Flags", + "aliases": [ + "the flag of Ghana", + "flag ghana", + "country", + "gh", + "banner", + "Ghanaian flags", + "ghana", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 141, + 113, + 55 + ] + }, + { + "emoji": "🇬🇮", + "description": "flag of Gibraltar", + "category": "Flags", + "aliases": [ + "gibraltar", + "flag gibraltar", + "country", + "flag of Gibraltar emoji", + "gi", + "a flag of Gibraltar emoji", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 201, + 127, + 129 + ] + }, + { + "emoji": "🇬🇱", + "description": "flag of Greenland", + "category": "Flags", + "aliases": [ + "greenland", + "gl", + "country", + "banner", + "flag", + "a flag of Greenland emoji", + "flag greenland", + "flag of Greenland emoji", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 204, + 127, + 143 + ] + }, + { + "emoji": "🇬🇲", + "description": "flag of Gambia", + "category": "Flags", + "aliases": [ + "the flag of Gambia", + "country", + "Gambian flags", + "gm", + "banner", + "gambia", + "flag gambia", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 118, + 100, + 104 + ] + }, + { + "emoji": "🇬🇳", + "description": "flag of Guinea", + "category": "Flags", + "aliases": [ + "Guinean flags", + "country", + "gn", + "the flag of Guinea", + "banner", + "guinea", + "flag guinea", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 161, + 134, + 76 + ] + }, + { + "emoji": "🇬🇵", + "description": "flag of Guadeloupe", + "category": "Flags", + "aliases": [ + "flag guadeloupe", + "country", + "gp", + "flags of Guadeloupe", + "guadeloupe", + "banner", + "flag", + "the flag of Guadeloupe", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 59, + 66, + 56 + ] + }, + { + "emoji": "🇬🇶", + "description": "flag of Equatorial", + "category": "Flags", + "aliases": [ + "the flag of Equatorial Guinea", + "flags of Equatorial Guinea", + "country", + "gn", + "equatorial guinea", + "banner", + "flag equatorial guinea", + "guinea", + "equatorial", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 143, + 132, + 105 + ] + }, + { + "emoji": "🇬🇷", + "description": "flag of Greece", + "category": "Flags", + "aliases": [ + "a flag of Greece emoji", + "flag greece", + "greece", + "country", + "flag of Greece emoji", + "banner", + "gr", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 109, + 109, + 164 + ] + }, + { + "emoji": "🇬🇸", + "description": "flag of South", + "category": "Flags", + "aliases": [ + "flags of South Georgia and the South Sandwich Islands", + "country", + "sandwich", + "islands", + "flag south georgia & south sandwich islands", + "banner", + "georgia", + "south", + "south georgia south sandwich islands", + "the flag of South Georgia and the South Sandwich Islands", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 69, + 78, + 120 + ] + }, + { + "emoji": "🇬🇹", + "description": "flag of Guatemala", + "category": "Flags", + "aliases": [ + "flag guatemala", + "the flag of Guatemala", + "country", + "guatemala", + "Guatemalan flags", + "gt", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 155, + 188, + 200 + ] + }, + { + "emoji": "🇬🇺", + "description": "flag of Guam", + "category": "Flags", + "aliases": [ + "flag guam", + "flag of Guam emoji", + "country", + "a flag of Guam emoji", + "guam", + "gu", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 63, + 89, + 137 + ] + }, + { + "emoji": "🇬🇼", + "description": "flag of Guinea", + "category": "Flags", + "aliases": [ + "gw", + "country", + "guinea bissau", + "flag guinea-bissau", + "the flag of Guinea-Bissau", + "banner", + "bissau", + "flags of Guinea-Bissau", + "guinea", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 140, + 122, + 58 + ] + }, + { + "emoji": "🇬🇾", + "description": "flag of Guyana", + "category": "Flags", + "aliases": [ + "guyana", + "gy", + "country", + "banner", + "Guyanese flags", + "the flag of Guyana", + "flag guyana", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 125, + 144, + 87 + ] + }, + { + "emoji": "🇭🇰", + "description": "flag of Hong", + "category": "Flags", + "aliases": [ + "sar", + "kong", + "china", + "country", + "hong kong", + "flags of Hong Kong", + "flag hong kong sar china", + "the flag of Hong Kong", + "banner", + "flag", + "hong", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 188, + 56, + 70 + ] + }, + { + "emoji": "🇭🇲", + "description": "flag of Heard", + "category": "Flags", + "aliases": [ + "Heard and McDonald Islands flags", + "flag heard & mcdonald islands", + "mcdonald", + "islands", + "flag", + "heard mcdonald islands", + "heard", + "the flag of Heard and McDonald Islands" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 75, + 76, + 127 + ] + }, + { + "emoji": "🇭🇳", + "description": "flag of Honduras", + "category": "Flags", + "aliases": [ + "Honduran flags", + "country", + "flag honduras", + "banner", + "hn", + "flag", + "honduras", + "the flag of Honduras", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 95, + 129, + 187 + ] + }, + { + "emoji": "🇭🇷", + "description": "flag of Croatia", + "category": "Flags", + "aliases": [ + "a flag of Croatia emoji", + "hr", + "country", + "flag of Croatia emoji", + "banner", + "flag", + "flag croatia", + "croatia", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 147, + 101, + 124 + ] + }, + { + "emoji": "🇭🇹", + "description": "flag of Haiti", + "category": "Flags", + "aliases": [ + "Haitian flags", + "country", + "ht", + "the flag of Haiti", + "haiti", + "banner", + "flag haiti", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 109, + 49, + 108 + ] + }, + { + "emoji": "🇭🇺", + "description": "flag of Hungary", + "category": "Flags", + "aliases": [ + "hu", + "a flag of Hungary emoji", + "hungary", + "country", + "flag hungary", + "flag of Hungary emoji", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 148, + 140, + 124 + ] + }, + { + "emoji": "🇮🇨", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "canary", + "flag canary islands", + "country", + "islands", + "banner", + "flags of the Canary Islands", + "the flag of the Canary Islands", + "canary islands", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 158, + 169, + 134 + ] + }, + { + "emoji": "🇮🇩", + "description": "flag of Indonesia", + "category": "Flags", + "aliases": [ + "country", + "flag of Indonesia emoji", + "indonesia", + "banner", + "flag", + "flag indonesia", + "a flag of Indonesia emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 210, + 125, + 125 + ] + }, + { + "emoji": "🇮🇪", + "description": "flag of Ireland", + "category": "Flags", + "aliases": [ + "country", + "a flag of Ireland emoji", + "banner", + "ireland", + "flag", + "ie", + "flag of Ireland emoji", + "flag ireland", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 157, + 167, + 119 + ] + }, + { + "emoji": "🇮🇱", + "description": "flag of Israel", + "category": "Flags", + "aliases": [ + "the flag of Israel", + "country", + "il", + "israel", + "Israeli flags", + "banner", + "flag", + "flag israel", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 154, + 167, + 199 + ] + }, + { + "emoji": "🇮🇲", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "isle of man", + "country", + "isle", + "man", + "a flag of the Isle of Man emoji", + "banner", + "flag isle of man", + "flag of the Isle of Man emoji", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 183, + 54, + 70 + ] + }, + { + "emoji": "🇮🇳", + "description": "flag of India", + "category": "Flags", + "aliases": [ + "a flag of India emoji", + "india", + "country", + "flag of India emoji", + "banner", + "flag india", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 161, + 165, + 115 + ] + }, + { + "emoji": "🇮🇴", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "flags of the British Indian Ocean Territory", + "flag british indian ocean territory", + "country", + "territory", + "the flag of the British Indian Ocean Territory", + "banner", + "flag", + "british", + "indian", + "ocean", + "british indian ocean territory", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 135, + 134, + 159 + ] + }, + { + "emoji": "🇮🇶", + "description": "flag of Iraq", + "category": "Flags", + "aliases": [ + "a flag of Iraq emoji", + "iq", + "flag of Iraq emoji", + "country", + "iraq", + "flag iraq", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 142, + 99, + 102 + ] + }, + { + "emoji": "🇮🇷", + "description": "flag of Iran", + "category": "Flags", + "aliases": [ + "iran", + "flag of Iran emoji", + "country", + "republic", + "banner", + "flag", + "flag iran", + "islamic", + "a flag of Iran emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 165, + 137, + 116 + ] + }, + { + "emoji": "🇮🇸", + "description": "flag of Iceland", + "category": "Flags", + "aliases": [ + "iceland", + "country", + "flag iceland", + "is", + "flag of Iceland emoji", + "banner", + "flag", + "a flag of Iceland emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 92, + 93, + 140 + ] + }, + { + "emoji": "🇮🇹", + "description": "flag of Italy", + "category": "Flags", + "aliases": [ + "country", + "flag of Italy emoji", + "a flag of Italy emoji", + "it", + "italy", + "banner", + "flag", + "flag italy", + "nation" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 147, + 142, + 126 + ] + }, + { + "emoji": "🇯🇪", + "description": "flag of Jersey", + "category": "Flags", + "aliases": [ + "je", + "country", + "flag jersey", + "the flag of Jersey", + "jersey", + "banner", + "flags of Jersey", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 215, + 177, + 180 + ] + }, + { + "emoji": "🇯🇲", + "description": "flag of Jamaica", + "category": "Flags", + "aliases": [ + "Jamaican flags", + "jm", + "country", + "flag jamaica", + "the flag of Jamaica", + "banner", + "flag", + "jamaica", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 130, + 140, + 35 + ] + }, + { + "emoji": "🇯🇴", + "description": "flag of Jordan", + "category": "Flags", + "aliases": [ + "country", + "jo", + "jordan", + "Jordanian flags", + "banner", + "flag", + "flag jordan", + "the flag of Jordan", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 108, + 92, + 84 + ] + }, + { + "emoji": "🇯🇵", + "description": "flag of Japan", + "category": "Flags", + "aliases": [ + "jp", + "flag japan", + "japan", + "country", + "ja", + "Japanese flags", + "banner", + "japanese", + "flag", + "the flag of Japan", + "nation" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 213, + 188, + 194 + ] + }, + { + "emoji": "🇰🇪", + "description": "flag of Kenya", + "category": "Flags", + "aliases": [ + "country", + "flag kenya", + "ke", + "kenya", + "banner", + "flag", + "flag of Kenya emoji", + "a flag of Kenya emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 104, + 70, + 52 + ] + }, + { + "emoji": "🇰🇬", + "description": "flag of Kyrgyzstan", + "category": "Flags", + "aliases": [ + "country", + "the flag of Kyrgyzstan", + "flag kyrgyzstan", + "banner", + "Kyrgyzstani flags", + "kyrgyzstan", + "kg", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 207, + 56, + 55 + ] + }, + { + "emoji": "🇰🇭", + "description": "flag of Cambodia", + "category": "Flags", + "aliases": [ + "nation", + "flag cambodia", + "flag of Cambodia emoji", + "country", + "a flag of Cambodia emoji", + "banner", + "kh", + "flag", + "cambodia" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 123, + 44, + 94 + ] + }, + { + "emoji": "🇰🇮", + "description": "flag of Kiribati", + "category": "Flags", + "aliases": [ + "flag kiribati", + "Kiribati flags", + "country", + "the flag of Kiribati", + "ki", + "kiribati", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 170, + 109, + 116 + ] + }, + { + "emoji": "🇰🇲", + "description": "flag of Comoros", + "category": "Flags", + "aliases": [ + "the flag of the Comoros", + "flag comoros", + "country", + "Comoran flags", + "banner", + "flag", + "comoros", + "km", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 144, + 145, + 119 + ] + }, + { + "emoji": "🇰🇳", + "description": "flag of Saint", + "category": "Flags", + "aliases": [ + "flag st. kitts & nevis", + "nevis", + "st", + "country", + "a flag of Saint Kitts and Nevis emoji", + "saint", + "flag of Saint Kitts and Nevis emoji", + "st kitts nevis", + "banner", + "flag", + "kitts", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 95, + 89, + 56 + ] + }, + { + "emoji": "🇰🇵", + "description": "flag of North", + "category": "Flags", + "aliases": [ + "the flag of North Korea", + "North Korean flags", + "north korea", + "country", + "flag north korea", + "banner", + "flag", + "korea", + "north", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 161, + 89, + 111 + ] + }, + { + "emoji": "🇰🇷", + "description": "flag of South", + "category": "Flags", + "aliases": [ + "flag south korea", + "South Korean flags", + "country", + "kr", + "banner", + "the flag of South Korea", + "flag", + "korea", + "south", + "nation" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 184, + 175, + 180 + ] + }, + { + "emoji": "🇰🇼", + "description": "flag of Kuwait", + "category": "Flags", + "aliases": [ + "country", + "kuwait", + "flag of Kuwait emoji", + "a flag of Kuwait emoji", + "banner", + "flag", + "flag kuwait", + "kw", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 134, + 121, + 115 + ] + }, + { + "emoji": "🇰🇾", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "flags of the Cayman Islands", + "country", + "islands", + "cayman", + "cayman islands", + "flag cayman islands", + "the flag of the Cayman Islands", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 82, + 50, + 101 + ] + }, + { + "emoji": "🇰🇿", + "description": "flag of Kazakhstan", + "category": "Flags", + "aliases": [ + "country", + "kazakhstan", + "kz", + "flag kazakhstan", + "Kazakhstani flags", + "banner", + "the flag of Kazakhstan", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 50, + 163, + 162 + ] + }, + { + "emoji": "🇱🇦", + "description": "flag of Laos", + "category": "Flags", + "aliases": [ + "flag of Laos emoji", + "a flag of Laos emoji", + "country", + "republic", + "flag laos", + "banner", + "laos", + "democratic", + "lao", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 109, + 66, + 97 + ] + }, + { + "emoji": "🇱🇧", + "description": "flag of Lebanon", + "category": "Flags", + "aliases": [ + "lebanon", + "flag lebanon", + "lb", + "country", + "flag of Lebanon emoji", + "banner", + "flag", + "a flag of Lebanon emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 205, + 151, + 137 + ] + }, + { + "emoji": "🇱🇨", + "description": "flag of Saint", + "category": "Flags", + "aliases": [ + "Saint Lucian flags", + "st", + "st lucia", + "country", + "flag st. lucia", + "saint", + "lucia", + "banner", + "flag", + "the flag of Saint Lucia", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 111, + 177, + 195 + ] + }, + { + "emoji": "🇱🇮", + "description": "flag of Liechtenstein", + "category": "Flags", + "aliases": [ + "Liechtenstein flags", + "the flag of Liechtenstein", + "flag liechtenstein", + "nation", + "country", + "banner", + "flag", + "liechtenstein", + "li" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 112, + 51, + 85 + ] + }, + { + "emoji": "🇱🇰", + "description": "flag of Sri", + "category": "Flags", + "aliases": [ + "lanka", + "country", + "sri lanka", + "sri", + "a flag of Sri Lanka emoji", + "flag of Sri Lanka emoji", + "banner", + "flag sri lanka", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 173, + 111, + 69 + ] + }, + { + "emoji": "🇱🇷", + "description": "flag of Liberia", + "category": "Flags", + "aliases": [ + "flag liberia", + "country", + "lr", + "flag of Liberia emoji", + "a flag of Liberia emoji", + "liberia", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 186, + 110, + 126 + ] + }, + { + "emoji": "🇱🇸", + "description": "flag of Lesotho", + "category": "Flags", + "aliases": [ + "lesotho", + "country", + "ls", + "flag lesotho", + "banner", + "the flag of Lesotho", + "flags of Lesotho", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 98, + 139, + 149 + ] + }, + { + "emoji": "🇱🇹", + "description": "flag of Lithuania", + "category": "Flags", + "aliases": [ + "country", + "flag of Lithuania emoji", + "flag lithuania", + "lt", + "lithuania", + "banner", + "flag", + "a flag of Lithuania emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 135, + 110, + 60 + ] + }, + { + "emoji": "🇱🇺", + "description": "flag of Luxembourg", + "category": "Flags", + "aliases": [ + "country", + "flag of Luxembourg emoji", + "lu", + "banner", + "flag", + "flag luxembourg", + "a flag of Luxembourg emoji", + "luxembourg", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 151, + 142, + 158 + ] + }, + { + "emoji": "🇱🇻", + "description": "flag of Latvia", + "category": "Flags", + "aliases": [ + "Latvian flags", + "flag latvia", + "the flag of Latvia", + "country", + "latvia", + "lv", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 147, + 77, + 85 + ] + }, + { + "emoji": "🇱🇾", + "description": "flag of Libya", + "category": "Flags", + "aliases": [ + "Libyan flags", + "flag libya", + "the flag of Libya", + "country", + "libya", + "banner", + "flag", + "ly", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 87, + 68, + 50 + ] + }, + { + "emoji": "🇲🇦", + "description": "flag of Morocco", + "category": "Flags", + "aliases": [ + "ma", + "flag of Morocco emoji", + "a flag of Morocco emoji", + "country", + "flag morocco", + "banner", + "flag", + "morocco", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 191, + 31, + 39 + ] + }, + { + "emoji": "🇲🇨", + "description": "flag of Monaco", + "category": "Flags", + "aliases": [ + "mc", + "country", + "flags of Monaco", + "the flag of Monaco", + "banner", + "flag", + "flag monaco", + "monaco", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 203, + 133, + 141 + ] + }, + { + "emoji": "🇲🇩", + "description": "flag of Moldova", + "category": "Flags", + "aliases": [ + "a flag of Moldova emoji", + "flag moldova", + "country", + "republic", + "moldova", + "banner", + "flag", + "flag of Moldova emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 143, + 92, + 73 + ] + }, + { + "emoji": "🇲🇪", + "description": "flag of Montenegro", + "category": "Flags", + "aliases": [ + "a flag of Montenegro emoji", + "country", + "banner", + "me", + "montenegro", + "flag montenegro", + "flag of Montenegro emoji", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 177, + 49, + 37 + ] + }, + { + "emoji": "🇲🇫", + "description": "flag of Saint", + "category": "Flags", + "aliases": [ + "st martin", + "flag st. martin", + "martin", + "flag", + "the flag of Saint Martin", + "st", + "Saint Martin flags" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 158, + 131, + 149 + ] + }, + { + "emoji": "🇲🇬", + "description": "flag of Madagascar", + "category": "Flags", + "aliases": [ + "flag of Madagascar emoji", + "country", + "mg", + "a flag of Madagascar emoji", + "banner", + "flag", + "madagascar", + "flag madagascar", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 154, + 137, + 116 + ] + }, + { + "emoji": "🇲🇭", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "flag marshall islands", + "flag of the Marshall Islands emoji", + "marshall", + "country", + "islands", + "marshall islands", + "banner", + "a flag of the Marshall Islands emoji", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 78, + 99, + 140 + ] + }, + { + "emoji": "🇲🇰", + "description": "flag of North", + "category": "Flags", + "aliases": [ + "a flag of North Macedonia emoji", + "macedonia", + "country", + "flag north macedonia", + "banner", + "flag", + "north", + "flag of North Macedonia emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 196, + 96, + 51 + ] + }, + { + "emoji": "🇲🇱", + "description": "flag of Mali", + "category": "Flags", + "aliases": [ + "a flag of Mali emoji", + "mali", + "country", + "flag mali", + "ml", + "flag of Mali emoji", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 147, + 131, + 55 + ] + }, + { + "emoji": "🇲🇲", + "description": "flag of Myanmar", + "category": "Flags", + "aliases": [ + "a flag of Myanmar (Burma) emoji", + "country", + "flag of Myanmar (Burma) emoji", + "burma", + "myanmar", + "mm", + "banner", + "flag", + "flag myanmar (burma)", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 174, + 141, + 68 + ] + }, + { + "emoji": "🇲🇳", + "description": "flag of Mongolia", + "category": "Flags", + "aliases": [ + "a flag of Mongolia emoji", + "country", + "flag mongolia", + "mn", + "banner", + "flag", + "mongolia", + "flag of Mongolia emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 134, + 79, + 89 + ] + }, + { + "emoji": "🇲🇴", + "description": "flag of Macao", + "category": "Flags", + "aliases": [ + "sar", + "macao", + "china", + "macau", + "country", + "a flag of Macao emoji", + "flag of Macao emoji", + "banner", + "flag macao sar china", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 45, + 119, + 102 + ] + }, + { + "emoji": "🇲🇵", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "flag northern mariana islands", + "country", + "islands", + "a flag of the Northern Mariana Islands emoji", + "northern", + "northern mariana islands", + "banner", + "flag", + "mariana", + "flag of the Northern Mariana Islands emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 59, + 122, + 163 + ] + }, + { + "emoji": "🇲🇶", + "description": "flag of Martinique", + "category": "Flags", + "aliases": [ + "flag martinique", + "a flag of Martinique emoji", + "country", + "mq", + "martinique", + "banner", + "flag of Martinique emoji", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 108, + 125, + 164 + ] + }, + { + "emoji": "🇲🇷", + "description": "flag of Mauritania", + "category": "Flags", + "aliases": [ + "mauritania", + "country", + "a flag of Mauritania emoji", + "flag mauritania", + "banner", + "flag of Mauritania emoji", + "mr", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 83, + 127, + 81 + ] + }, + { + "emoji": "🇲🇸", + "description": "flag of Montserrat", + "category": "Flags", + "aliases": [ + "flag montserrat", + "country", + "the flag of Montserrat", + "Montserratian flags", + "banner", + "flag", + "ms", + "montserrat", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 76, + 57, + 105 + ] + }, + { + "emoji": "🇲🇹", + "description": "flag of Malta", + "category": "Flags", + "aliases": [ + "flag malta", + "flag of Malta emoji", + "malta", + "country", + "a flag of Malta emoji", + "banner", + "flag", + "mt", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 202, + 126, + 136 + ] + }, + { + "emoji": "🇲🇺", + "description": "flag of Mauritius", + "category": "Flags", + "aliases": [ + "flag of Mauritius emoji", + "country", + "flag mauritius", + "mu", + "banner", + "mauritius", + "a flag of Mauritius emoji", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 128, + 114, + 84 + ] + }, + { + "emoji": "🇲🇻", + "description": "flag of Maldives", + "category": "Flags", + "aliases": [ + "mv", + "the flag of the Maldives", + "country", + "maldives", + "flag maldives", + "banner", + "Maldivian flags", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 124, + 75, + 70 + ] + }, + { + "emoji": "🇲🇼", + "description": "flag of Malawi", + "category": "Flags", + "aliases": [ + "a flag of Malawi emoji", + "malawi", + "country", + "flag of Malawi emoji", + "mw", + "banner", + "flag", + "flag malawi", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 102, + 70, + 50 + ] + }, + { + "emoji": "🇲🇽", + "description": "flag of Mexico", + "category": "Flags", + "aliases": [ + "flag of Mexico emoji", + "a flag of Mexico emoji", + "country", + "mexico", + "banner", + "flag", + "flag mexico", + "mx", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 141, + 120, + 118 + ] + }, + { + "emoji": "🇲🇾", + "description": "flag of Malaysia", + "category": "Flags", + "aliases": [ + "the flag of Malaysia", + "country", + "malaysia", + "flag malaysia", + "my", + "banner", + "Malaysian flags", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 167, + 119, + 124 + ] + }, + { + "emoji": "🇲🇿", + "description": "flag of Mozambique", + "category": "Flags", + "aliases": [ + "mozambique", + "mz", + "flag mozambique", + "country", + "banner", + "flag", + "flag of Mozambique emoji", + "a flag of Mozambique emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 114, + 109, + 60 + ] + }, + { + "emoji": "🇳🇦", + "description": "flag of Namibia", + "category": "Flags", + "aliases": [ + "namibia", + "Namibian flags", + "country", + "the flag of Namibia", + "flag namibia", + "banner", + "na", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 101, + 99, + 97 + ] + }, + { + "emoji": "🇳🇨", + "description": "flag of New", + "category": "Flags", + "aliases": [ + "the flag of New Caledonia", + "country", + "caledonia", + "new caledonia", + "new", + "New Caledonia flags", + "banner", + "flag", + "flag new caledonia", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 107, + 116, + 79 + ] + }, + { + "emoji": "🇳🇪", + "description": "flag of Niger", + "category": "Flags", + "aliases": [ + "country", + "flag niger", + "a flag of Niger emoji", + "niger", + "banner", + "ne", + "flag", + "flag of Niger emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 169, + 163, + 119 + ] + }, + { + "emoji": "🇳🇫", + "description": "flag of Norfolk", + "category": "Flags", + "aliases": [ + "flag norfolk island", + "norfolk", + "the flag of Norfolk Island", + "country", + "island", + "banner", + "norfolk island", + "flag", + "flags of Norfolk Island", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 105, + 157, + 125 + ] + }, + { + "emoji": "🇳🇬", + "description": "flag of Nigeria", + "category": "Flags", + "aliases": [ + "flags of Nigeria", + "nigeria", + "country", + "the flag of Nigeria", + "banner", + "flag", + "flag nigeria", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 95, + 162, + 136 + ] + }, + { + "emoji": "🇳🇮", + "description": "flag of Nicaragua", + "category": "Flags", + "aliases": [ + "country", + "nicaragua", + "flags of Nicaragua", + "banner", + "flag", + "the flag of Nicaragua", + "flag nicaragua", + "ni", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 135, + 162, + 215 + ] + }, + { + "emoji": "🇳🇱", + "description": "flag of Netherlands", + "category": "Flags", + "aliases": [ + "netherlands", + "country", + "Dutch flags", + "nl", + "the flag of the Netherlands", + "flag netherlands", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 143, + 114, + 136 + ] + }, + { + "emoji": "🇳🇴", + "description": "flag of Norway", + "category": "Flags", + "aliases": [ + "the flag of Norway", + "country", + "norway", + "banner", + "no", + "flag norway", + "flag", + "Norwegian flags", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 179, + 85, + 90 + ] + }, + { + "emoji": "🇳🇵", + "description": "flag of Nepal", + "category": "Flags", + "aliases": [ + "nepal", + "country", + "np", + "the flag of Nepal", + "flags of Nepal", + "banner", + "flag nepal", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 141, + 66, + 90 + ] + }, + { + "emoji": "🇳🇷", + "description": "flag of Nauru", + "category": "Flags", + "aliases": [ + "flags of Nauru", + "the flag of Nauru", + "country", + "nr", + "nauru", + "banner", + "flag", + "flag nauru", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 48, + 74, + 121 + ] + }, + { + "emoji": "🇳🇺", + "description": "flag of Niue", + "category": "Flags", + "aliases": [ + "niue", + "the flag of Niue", + "country", + "flags of Niue", + "nu", + "banner", + "flag", + "flag niue", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 199, + 166, + 62 + ] + }, + { + "emoji": "🇳🇿", + "description": "flag of New", + "category": "Flags", + "aliases": [ + "New Zealand flags", + "zealand", + "new zealand", + "flag new zealand", + "country", + "new", + "banner", + "flag", + "the flag of New Zealand", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 67, + 45, + 105 + ] + }, + { + "emoji": "🇴🇲", + "description": "flag of Oman", + "category": "Flags", + "aliases": [ + "flag oman", + "country", + "oman", + "the flag of Oman", + "om", + "banner", + "flag", + "Omani flags", + "symbol", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 175, + 125, + 105 + ] + }, + { + "emoji": "🇵🇦", + "description": "flag of Panama", + "category": "Flags", + "aliases": [ + "a flag of Panama emoji", + "country", + "flag panama", + "pa", + "banner", + "flag", + "flag of Panama emoji", + "panama", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 161, + 142, + 169 + ] + }, + { + "emoji": "🇵🇪", + "description": "flag of Peru", + "category": "Flags", + "aliases": [ + "flag peru", + "peru", + "country", + "pe", + "a flag of Peru emoji", + "banner", + "flag", + "flag of Peru emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 203, + 111, + 121 + ] + }, + { + "emoji": "🇵🇫", + "description": "flag of French", + "category": "Flags", + "aliases": [ + "french", + "country", + "polynesia", + "banner", + "French Polynesian flags", + "flag", + "flag french polynesia", + "french polynesia", + "the flag of French Polynesia", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 198, + 125, + 132 + ] + }, + { + "emoji": "🇵🇬", + "description": "flag of Papua", + "category": "Flags", + "aliases": [ + "papua", + "country", + "papua new guinea", + "flag", + "Papua New Guinean flags", + "new", + "banner", + "guinea", + "the flag of Papua New Guinea", + "flag papua new guinea", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 123, + 56, + 48 + ] + }, + { + "emoji": "🇵🇭", + "description": "flag of Philippines", + "category": "Flags", + "aliases": [ + "a flag of Philippines emoji", + "flag philippines", + "country", + "ph", + "flag of Philippines emoji", + "banner", + "flag", + "philippines", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 135, + 91, + 122 + ] + }, + { + "emoji": "🇵🇰", + "description": "flag of Pakistan", + "category": "Flags", + "aliases": [ + "flag of Pakistan emoji", + "a flag of Pakistan emoji", + "pakistan", + "flag pakistan", + "country", + "pk", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 89, + 142, + 89 + ] + }, + { + "emoji": "🇵🇱", + "description": "flag of Poland", + "category": "Flags", + "aliases": [ + "poland", + "country", + "banner", + "a flag of Poland emoji", + "flag", + "flag of Poland emoji", + "flag poland", + "pl", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 212, + 148, + 143 + ] + }, + { + "emoji": "🇵🇲", + "description": "flag of Saint", + "category": "Flags", + "aliases": [ + "st", + "country", + "miquelon", + "the flag of Saint Pierre and Miquelon", + "saint", + "Saint Pierre and Miquelon flags", + "banner", + "st pierre miquelon", + "flag", + "pierre", + "flag st. pierre & miquelon", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 106, + 140, + 136 + ] + }, + { + "emoji": "🇵🇳", + "description": "flag of Pitcairn", + "category": "Flags", + "aliases": [ + "pitcairn", + "country", + "islands", + "pitcairn islands", + "flag pitcairn islands", + "banner", + "a flag of Pitcairn emoji", + "flag", + "flag of Pitcairn emoji", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 71, + 83, + 118 + ] + }, + { + "emoji": "🇵🇷", + "description": "flag of Puerto", + "category": "Flags", + "aliases": [ + "rico", + "puerto", + "country", + "puerto rico", + "flag puerto rico", + "banner", + "flag", + "flag of Puerto Rico emoji", + "a flag of Puerto Rico emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 152, + 88, + 114 + ] + }, + { + "emoji": "🇵🇸", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "country", + "palestine", + "territories", + "palestinian territories", + "flags of the Palestinian Territories", + "banner", + "palestinian", + "flag", + "flag palestinian territories", + "the flag of the Palestinian Territories", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 117, + 114, + 100 + ] + }, + { + "emoji": "🇵🇹", + "description": "flag of Portugal", + "category": "Flags", + "aliases": [ + "flag of Portugal emoji", + "portugal", + "pt", + "country", + "a flag of Portugal emoji", + "flag portugal", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 150, + 66, + 30 + ] + }, + { + "emoji": "🇵🇼", + "description": "flag of Palau", + "category": "Flags", + "aliases": [ + "pw", + "palau", + "country", + "a flag of Palau emoji", + "flag palau", + "banner", + "flag", + "flag of Palau emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 67, + 174, + 164 + ] + }, + { + "emoji": "🇵🇾", + "description": "flag of Paraguay", + "category": "Flags", + "aliases": [ + "the flag of Paraguay", + "flag paraguay", + "country", + "py", + "banner", + "flag", + "Paraguayan flags", + "paraguay", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 141, + 111, + 144 + ] + }, + { + "emoji": "🇶🇦", + "description": "flag of Qatar", + "category": "Flags", + "aliases": [ + "flag of Qatar emoji", + "country", + "qatar", + "flag qatar", + "banner", + "flag", + "qa", + "a flag of Qatar emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 154, + 101, + 117 + ] + }, + { + "emoji": "🇷🇪", + "description": "flag of Réunion", + "category": "Flags", + "aliases": [ + "the flag of Réunion", + "flags of Réunion", + "country", + "réunion", + "reunion", + "flag réunion", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 99, + 48, + 154 + ] + }, + { + "emoji": "🇷🇴", + "description": "flag of Romania", + "category": "Flags", + "aliases": [ + "Romanian flags", + "romania", + "country", + "ro", + "the flag of Romania", + "flag romania", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 146, + 98, + 71 + ] + }, + { + "emoji": "🇷🇸", + "description": "flag of Serbia", + "category": "Flags", + "aliases": [ + "flag serbia", + "country", + "the flag of Serbia", + "rs", + "banner", + "flag", + "serbia", + "Serbian flags", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 163, + 117, + 131 + ] + }, + { + "emoji": "🇷🇺", + "description": "flag of Russia", + "category": "Flags", + "aliases": [ + "a flag of Russia emoji", + "russian", + "federation", + "ru", + "country", + "flag russia", + "banner", + "flag", + "flag of Russia emoji", + "russia", + "nation" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 140, + 113, + 142 + ] + }, + { + "emoji": "🇷🇼", + "description": "flag of Rwanda", + "category": "Flags", + "aliases": [ + "rw", + "country", + "the flag of Rwanda", + "rwanda", + "flag rwanda", + "banner", + "Rwandan flags", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 87, + 145, + 118 + ] + }, + { + "emoji": "🇸🇦", + "description": "flag of Saudi", + "category": "Flags", + "aliases": [ + "arabia", + "flag saudi arabia", + "country", + "saudi", + "the flag of Saudi Arabia", + "Saudi Arabian flags", + "banner", + "flag", + "saudi arabia", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 40, + 114, + 77 + ] + }, + { + "emoji": "🇸🇧", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "solomon islands", + "flag solomon islands", + "solomon", + "country", + "islands", + "banner", + "a flag of the Solomon Islands emoji", + "flag", + "flag of the Solomon Islands emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 67, + 115, + 106 + ] + }, + { + "emoji": "🇸🇨", + "description": "flag of Seychelles", + "category": "Flags", + "aliases": [ + "flags of the Seychelles", + "country", + "seychelles", + "sc", + "flag seychelles", + "banner", + "flag", + "the flag of the Seychelles", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 151, + 118, + 101 + ] + }, + { + "emoji": "🇸🇩", + "description": "flag of Sudan", + "category": "Flags", + "aliases": [ + "nation", + "country", + "Sudanese flags", + "sudan", + "sd", + "banner", + "the flag of Sudan", + "flag", + "flag sudan" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 119, + 94, + 91 + ] + }, + { + "emoji": "🇸🇪", + "description": "flag of Sweden", + "category": "Flags", + "aliases": [ + "sweden", + "flag of Sweden emoji", + "country", + "se", + "flag sweden", + "a flag of Sweden emoji", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 89, + 126, + 110 + ] + }, + { + "emoji": "🇸🇬", + "description": "flag of Singapore", + "category": "Flags", + "aliases": [ + "country", + "Singaporean flags", + "sg", + "flag singapore", + "banner", + "singapore", + "flag", + "the flag of Singapore", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 216, + 146, + 150 + ] + }, + { + "emoji": "🇸🇭", + "description": "flag of Saint", + "category": "Flags", + "aliases": [ + "flag st. helena", + "a flag of Saint Helena emoji", + "cunha", + "st helena", + "ascension", + "country", + "saint", + "helena", + "tristan", + "banner", + "flag", + "st", + "flag of Saint Helena emoji", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 69, + 81, + 122 + ] + }, + { + "emoji": "🇸🇮", + "description": "flag of Slovenia", + "category": "Flags", + "aliases": [ + "country", + "a flag of Slovenia emoji", + "flag of Slovenia emoji", + "slovenia", + "si", + "flag slovenia", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 153, + 96, + 144 + ] + }, + { + "emoji": "🇸🇯", + "description": "flag of Svalbard", + "category": "Flags", + "aliases": [ + "svalbard", + "svalbard jan mayen", + "mayen", + "the flag of Svalbard and Jan Mayen", + "jan", + "flag svalbard & jan mayen", + "Svalbard and Jan Mayen flags", + "flag" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 179, + 85, + 90 + ] + }, + { + "emoji": "🇸🇰", + "description": "flag of Slovakia", + "category": "Flags", + "aliases": [ + "sk", + "Slovakian flags", + "slovakia", + "flag slovakia", + "country", + "banner", + "flag", + "the flag of Slovakia", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 150, + 106, + 138 + ] + }, + { + "emoji": "🇸🇱", + "description": "flag of Sierra", + "category": "Flags", + "aliases": [ + "flag of Sierra Leone emoji", + "a flag of Sierra Leone emoji", + "flag sierra leone", + "leone", + "country", + "sierra leone", + "banner", + "sierra", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 97, + 166, + 156 + ] + }, + { + "emoji": "🇸🇲", + "description": "flag of San", + "category": "Flags", + "aliases": [ + "san marino", + "country", + "Sammarinese flags", + "san", + "banner", + "marino", + "flag san marino", + "flag", + "the flag of San Marino", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 115, + 162, + 187 + ] + }, + { + "emoji": "🇸🇳", + "description": "flag of Senegal", + "category": "Flags", + "aliases": [ + "the flag of Senegal", + "flag senegal", + "sn", + "senegal", + "country", + "banner", + "Senegalese flags", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 144, + 129, + 67 + ] + }, + { + "emoji": "🇸🇴", + "description": "flag of Somalia", + "category": "Flags", + "aliases": [ + "flag of Somalia emoji", + "so", + "country", + "flag somalia", + "banner", + "somalia", + "flag", + "a flag of Somalia emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 80, + 134, + 197 + ] + }, + { + "emoji": "🇸🇷", + "description": "flag of Suriname", + "category": "Flags", + "aliases": [ + "flag of Suriname emoji", + "suriname", + "a flag of Suriname emoji", + "country", + "sr", + "banner", + "flag", + "flag suriname", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 152, + 107, + 97 + ] + }, + { + "emoji": "🇸🇸", + "description": "flag of South", + "category": "Flags", + "aliases": [ + "South Sudanese flags", + "the flag of South Sudan", + "country", + "flag south sudan", + "sudan", + "sd", + "banner", + "flag", + "south sudan", + "south", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 76, + 83, + 84 + ] + }, + { + "emoji": "🇸🇹", + "description": "flag of São", + "category": "Flags", + "aliases": [ + "flag são tomé & príncipe", + "country", + "principe", + "flags of São Tomé and Príncipe", + "tome", + "sao", + "banner", + "flag", + "sao tome principe", + "the flag of São Tomé and Príncipe", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 115, + 147, + 48 + ] + }, + { + "emoji": "🇸🇻", + "description": "flag of El Salvador", + "category": "Flags", + "aliases": [ + "flags of El Salvador", + "salvador", + "country", + "el", + "the flag of El Salvador", + "el salvador", + "banner", + "flag", + "flag el salvador", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 93, + 108, + 170 + ] + }, + { + "emoji": "🇸🇽", + "description": "flag of Sint", + "category": "Flags", + "aliases": [ + "sint maarten", + "flag sint maarten", + "country", + "flag of Sint Maarten emoji", + "maarten", + "banner", + "sint", + "dutch", + "a flag of Sint Maarten emoji", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 131, + 70, + 107 + ] + }, + { + "emoji": "🇸🇾", + "description": "flag of Syria", + "category": "Flags", + "aliases": [ + "Syrian flags", + "country", + "syria", + "republic", + "flag syria", + "arab", + "banner", + "flag", + "the flag of Syria", + "syrian", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 142, + 99, + 103 + ] + }, + { + "emoji": "🇸🇿", + "description": "flag of Eswatini", + "category": "Flags", + "aliases": [ + "flag eswatini", + "eswatini", + "the flag of Eswatini", + "country", + "banner", + "swaziland", + "flags of Eswatini", + "flag", + "sz", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 132, + 92, + 84 + ] + }, + { + "emoji": "🇹🇦", + "description": "flag of Tristan", + "category": "Flags", + "aliases": [ + "cunha", + "tristan da cunha", + "flag of Tristan da Cunha emoji", + "flag tristan da cunha", + "tristan", + "a flag of Tristan da Cunha emoji", + "flag", + "da" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 69, + 81, + 122 + ] + }, + { + "emoji": "🇹🇨", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "flag turks & caicos islands", + "caicos", + "turks caicos islands", + "the flag of the Turks and Caicos Islands", + "country", + "flags of the Turks and Caicos Islands", + "islands", + "banner", + "turks", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 88, + 55, + 97 + ] + }, + { + "emoji": "🇹🇩", + "description": "flag of Chad", + "category": "Flags", + "aliases": [ + "flag of Chad emoji", + "country", + "td", + "banner", + "chad", + "a flag of Chad emoji", + "flag chad", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 148, + 95, + 64 + ] + }, + { + "emoji": "🇹🇫", + "description": "flag of French", + "category": "Flags", + "aliases": [ + "flag french southern territories", + "french", + "the flag of the French Southern Territories", + "country", + "french southern territories", + "territories", + "flags of the French Southern Territories", + "southern", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 59, + 74, + 143 + ] + }, + { + "emoji": "🇹🇬", + "description": "flag of Togo", + "category": "Flags", + "aliases": [ + "flag togo", + "a flag of Togo emoji", + "country", + "flag of Togo emoji", + "togo", + "banner", + "tg", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 124, + 120, + 67 + ] + }, + { + "emoji": "🇹🇭", + "description": "flag of Thailand", + "category": "Flags", + "aliases": [ + "a flag of Thailand emoji", + "flag of Thailand emoji", + "flag thailand", + "th", + "country", + "thailand", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 150, + 107, + 131 + ] + }, + { + "emoji": "🇹🇯", + "description": "flag of Tajikistan", + "category": "Flags", + "aliases": [ + "a flag of Tajikistan emoji", + "flag tajikistan", + "tj", + "country", + "tajikistan", + "banner", + "flag", + "flag of Tajikistan emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 180, + 154, + 128 + ] + }, + { + "emoji": "🇹🇰", + "description": "flag of Tokelau", + "category": "Flags", + "aliases": [ + "nation", + "tokelau", + "country", + "tk", + "flag tokelau", + "banner", + "flag", + "flag of Tokelau emoji", + "a flag of Tokelau emoji" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 81, + 92, + 105 + ] + }, + { + "emoji": "🇹🇱", + "description": "flag of Timor", + "category": "Flags", + "aliases": [ + "country", + "leste", + "timor leste", + "the flag of Timor-Leste", + "banner", + "flag", + "flags of Timor-Leste", + "flag timor-leste", + "timor", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 180, + 78, + 62 + ] + }, + { + "emoji": "🇹🇲", + "description": "flag of Turkmenistan", + "category": "Flags", + "aliases": [ + "flag turkmenistan", + "nation", + "country", + "turkmenistan", + "banner", + "flag of Turkmenistan emoji", + "flag", + "a flag of Turkmenistan emoji" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 50, + 103, + 84 + ] + }, + { + "emoji": "🇹🇳", + "description": "flag of Tunisia", + "category": "Flags", + "aliases": [ + "tn", + "flag tunisia", + "country", + "a flag of Tunisia emoji", + "tunisia", + "banner", + "flag", + "flag of Tunisia emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 206, + 46, + 59 + ] + }, + { + "emoji": "🇹🇴", + "description": "flag of Tonga", + "category": "Flags", + "aliases": [ + "to", + "flag tonga", + "Tongan flags", + "country", + "the flag of Tonga", + "tonga", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 185, + 70, + 70 + ] + }, + { + "emoji": "🇹🇷", + "description": "flag of Turkey", + "category": "Flags", + "aliases": [ + "flag turkey", + "the flag of Turkey", + "country", + "Turkish flags", + "banner", + "turkey", + "flag", + "tr", + "nation" + ], + "unicode": "8.0", + "ios": "9.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 209, + 71, + 79 + ] + }, + { + "emoji": "🇹🇹", + "description": "flag of Trinidad", + "category": "Flags", + "aliases": [ + "flag trinidad & tobago", + "trinidad", + "country", + "banner", + "tobago", + "flag", + "trinidad tobago", + "flag of Trinidad and Tobago emoji", + "a flag of Trinidad and Tobago emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 154, + 55, + 65 + ] + }, + { + "emoji": "🇹🇻", + "description": "flag of Tuvalu", + "category": "Flags", + "aliases": [ + "tuvalu", + "flag of Tuvalu emoji", + "country", + "flag tuvalu", + "banner", + "flag", + "a flag of Tuvalu emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 120, + 125, + 141 + ] + }, + { + "emoji": "🇹🇼", + "description": "flag of Taiwan", + "category": "Flags", + "aliases": [ + "taiwan", + "tw", + "country", + "flag taiwan", + "banner", + "flag of Taiwan emoji", + "flag", + "a flag of Taiwan emoji", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 174, + 67, + 106 + ] + }, + { + "emoji": "🇹🇿", + "description": "flag of Tanzania", + "category": "Flags", + "aliases": [ + "flag of Tanzania emoji", + "flag tanzania", + "a flag of Tanzania emoji", + "country", + "republic", + "tanzania", + "banner", + "flag", + "united", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 56, + 119, + 85 + ] + }, + { + "emoji": "🇺🇦", + "description": "flag of Ukraine", + "category": "Flags", + "aliases": [ + "flag ukraine", + "a flag of Ukraine emoji", + "country", + "ukraine", + "ua", + "flag of Ukraine emoji", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 143, + 156, + 109 + ] + }, + { + "emoji": "🇺🇬", + "description": "flag of Uganda", + "category": "Flags", + "aliases": [ + "country", + "uganda", + "a flag of Uganda emoji", + "flag uganda", + "banner", + "flag of Uganda emoji", + "flag", + "ug", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 150, + 104, + 33 + ] + }, + { + "emoji": "🇺🇲", + "description": "flag of United", + "category": "Flags", + "aliases": [ + "us outlying islands", + "flag of U.S. Minor Outlying Islands emoji", + "s", + "u", + "islands", + "outlying", + "a flag of U.S. Minor Outlying Islands emoji", + "flag", + "flag u.s. outlying islands" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 172, + 118, + 137 + ] + }, + { + "emoji": "🇺🇳", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "un", + "united nations", + "a United Nations flag emoji", + "nations", + "banner", + "flag united nations", + "united", + "United Nations flags emoji", + "flag" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 41, + 166, + 215 + ] + }, + { + "emoji": "🇺🇸", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "country", + "a flag of the United States emoji", + "states", + "flag united states", + "flag of the United States emoji", + "banner", + "america", + "united", + "flag", + "us", + "nation" + ], + "unicode": "6.0", + "ios": "6.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 172, + 118, + 137 + ] + }, + { + "emoji": "🇺🇾", + "description": "flag of Uruguay", + "category": "Flags", + "aliases": [ + "flag of Uruguay emoji", + "flag uruguay", + "country", + "uy", + "a flag of Uruguay emoji", + "uruguay", + "banner", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 153, + 160, + 184 + ] + }, + { + "emoji": "🇺🇿", + "description": "flag of Uzbekistan", + "category": "Flags", + "aliases": [ + "country", + "uzbekistan", + "banner", + "a flag of Uzbekistan emoji", + "flag", + "flag of Uzbekistan emoji", + "uz", + "flag uzbekistan", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 107, + 174, + 150 + ] + }, + { + "emoji": "🇻🇦", + "description": "flag of Vatican", + "category": "Flags", + "aliases": [ + "vatican", + "country", + "flag vatican city", + "the flag of Vatican City", + "city", + "flags of Vatican City", + "banner", + "flag", + "vatican city", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 211, + 197, + 130 + ] + }, + { + "emoji": "🇻🇨", + "description": "flag of Saint", + "category": "Flags", + "aliases": [ + "flags of Saint Vincent and Grenadines", + "st vincent grenadines", + "vincent", + "country", + "the flag of Saint Vincent and Grenadines", + "flag st. vincent & grenadines", + "saint", + "banner", + "flag", + "st", + "grenadines", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 120, + 159, + 103 + ] + }, + { + "emoji": "🇻🇪", + "description": "flag of Venezuela", + "category": "Flags", + "aliases": [ + "ve", + "country", + "republic", + "venezuela", + "the flag of Venezuela", + "bolivarian", + "banner", + "flag", + "Venezuelan flags", + "flag venezuela", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 139, + 99, + 85 + ] + }, + { + "emoji": "🇻🇬", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "country", + "islands", + "the flag of the British Virgin Islands", + "bvi", + "banner", + "flags of the British Virgin Islands", + "british", + "flag", + "virgin", + "british virgin islands", + "flag british virgin islands", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 74, + 51, + 100 + ] + }, + { + "emoji": "🇻🇮", + "description": "flag of the", + "category": "Flags", + "aliases": [ + "s", + "country", + "u", + "the flag of the U.S. Virgin Islands", + "islands", + "banner", + "flags of the U.S. Virgin Islands", + "flag", + "virgin", + "us virgin islands", + "flag u.s. virgin islands", + "us", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 181, + 180, + 156 + ] + }, + { + "emoji": "🇻🇳", + "description": "flag of Vietnam", + "category": "Flags", + "aliases": [ + "vietnam", + "viet", + "country", + "nam", + "the flag of Vietnam", + "Vietnamese flags", + "banner", + "flag", + "flag vietnam", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 189, + 56, + 52 + ] + }, + { + "emoji": "🇻🇺", + "description": "flag of Vanuatu", + "category": "Flags", + "aliases": [ + "vanuatu", + "flags of Vanuatu", + "country", + "vu", + "banner", + "flag vanuatu", + "flag", + "the flag of Vanuatu", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 99, + 84, + 55 + ] + }, + { + "emoji": "🇼🇫", + "description": "flag of Wallis", + "category": "Flags", + "aliases": [ + "flags of Wallis and Futuna", + "flag wallis & futuna", + "country", + "wallis futuna", + "banner", + "the flag of Wallis and Futuna", + "flag", + "wallis", + "futuna", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 200, + 76, + 92 + ] + }, + { + "emoji": "🇼🇸", + "description": "flag of Samoa", + "category": "Flags", + "aliases": [ + "Samoan flags", + "flag samoa", + "country", + "banner", + "the flag of Samoa", + "ws", + "samoa", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 172, + 62, + 80 + ] + }, + { + "emoji": "🇽🇰", + "description": "flag of Kosovo", + "category": "Flags", + "aliases": [ + "xk", + "a flag of Kosovo emoji", + "flag of Kosovo emoji", + "country", + "flag kosovo", + "banner", + "flag", + "kosovo", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 73, + 95, + 145 + ] + }, + { + "emoji": "🇾🇪", + "description": "flag of Yemen", + "category": "Flags", + "aliases": [ + "ye", + "country", + "yemen", + "flag of Yemen emoji", + "banner", + "flag yemen", + "flag", + "a flag of Yemen emoji", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 151, + 100, + 100 + ] + }, + { + "emoji": "🇾🇹", + "description": "flag of Mayotte", + "category": "Flags", + "aliases": [ + "yt", + "country", + "flag mayotte", + "mayotte", + "banner", + "flag", + "a flag of Mayotte emoji", + "flag of Mayotte emoji", + "nation" + ], + "unicode": "6.0", + "ios": "9.0", + "sentiment": "neutral", + "related": [], + "rgb": [ + 204, + 197, + 198 + ] + }, + { + "emoji": "🇿🇦", + "description": "flag of South", + "category": "Flags", + "aliases": [ + "africa", + "the flag of South Africa", + "country", + "South African flags", + "banner", + "flag south africa", + "south", + "south africa", + "flag", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 94, + 107, + 100 + ] + }, + { + "emoji": "🇿🇲", + "description": "flag of Zambia", + "category": "Flags", + "aliases": [ + "zm", + "the flag of Zambia", + "country", + "banner", + "Zambian flags", + "zambia", + "flag", + "flag zambia", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 68, + 115, + 26 + ] + }, + { + "emoji": "🇿🇼", + "description": "flag of Zimbabwe", + "category": "Flags", + "aliases": [ + "zimbabwe", + "zw", + "country", + "flag zimbabwe", + "Zimbabwean flags", + "banner", + "flag", + "the flag of Zimbabwe", + "nation" + ], + "unicode": "6.0", + "ios": "8.3", + "sentiment": "neutral", + "related": [], + "rgb": [ + 149, + 123, + 54 + ] + }, + { + "emoji": "🏴󠁧󠁢󠁥󠁮󠁧󠁿", + "description": "flag of England", + "category": "Flags", + "aliases": [ + "England flags", + "english", + "flag england", + "england", + "a flag of England", + "flag" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 210, + 160, + 160 + ] + }, + { + "emoji": "🏴󠁧󠁢󠁳󠁣󠁴󠁿", + "description": "flag of Scotland", + "category": "Flags", + "aliases": [ + "a flag of Scotland emoji", + "flag scotland", + "scotland", + "scottish", + "flag of Scotland emoji", + "flag" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 110, + 149, + 190 + ] + }, + { + "emoji": "🏴󠁧󠁢󠁷󠁬󠁳󠁿", + "description": "flag of Wales", + "category": "Flags", + "aliases": [ + "welsh", + "a flag of Wales", + "flag wales", + "Welsh flags", + "flag", + "wales" + ], + "unicode": "11.0", + "ios": "12.1", + "sentiment": "neutral", + "related": [], + "rgb": [ + 136, + 125, + 107 + ] + } +] \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..16f48ec --- /dev/null +++ b/index.html @@ -0,0 +1,30 @@ + + + + + + Elm app by clp + + + + + + + +
+

Elm app by clp

+
+
+

This is an app which will either load succesfully, and you'll wonder whether you saw this text at all, or fail ignominiously, showing you only this text.

+

On balance of probabilities: I'm sorry I couldn't be bothered to make this work for you.

+
+ + + + + + \ No newline at end of file diff --git a/load-app.js b/load-app.js new file mode 100644 index 0000000..04f3fb0 --- /dev/null +++ b/load-app.js @@ -0,0 +1,194 @@ +import show_error from './show-error.mjs'; +import * as marked from './marked.js'; + +console.clear(); + +window.marked = marked; + +class MarkdownElement extends HTMLElement { + constructor() { + super(); + } + + connectedCallback() { + const shadowRoot = this.attachShadow({mode:'open'}); + + const markdown_changed = () => { + const html = marked.parse(this.textContent); + shadowRoot.innerHTML = html; + for(let a of shadowRoot.querySelectorAll('a')) { + a.setAttribute('target','_blank'); + } + } + const observer = new MutationObserver(markdown_changed); + observer.observe(this, {characterData: true, subtree: true}); + markdown_changed(); + } +} +customElements.define('mark-down', MarkdownElement); + +class LeafletElement extends HTMLElement { + constructor() { + super(); + } + + addStylesheet(url) { + const linkElem = document.createElement("link"); + linkElem.setAttribute("rel", "stylesheet"); + linkElem.setAttribute("href", url); + this.shadowRoot.append(linkElem); + } + + connectedCallback() { + const shadowRoot = this.attachShadow({mode:'open'}); + + this.addStylesheet("https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"); + this.addStylesheet('map.css'); + + const div = this.div = document.createElement('div'); + div.style.height = '100%'; + shadowRoot.append(div); + const map = this.map = L.map(div); + + this.markers = []; + + this.update_view(); + this.update_markers(); + + L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', { + maxZoom: 19, + attribution: '© OpenStreetMap' + }).addTo(map); + + map.on('move', () => { + const {lat,lng} = map.getCenter(); + }) + + map.on('click', e => { + const ce = new CustomEvent('mapclick', {detail: {latlng: e.latlng}}); + this.dispatchEvent(ce); + }) + + map.on('move', e => { + this.dispatchEvent(new CustomEvent('mapmove')); + }) + + } + static get observedAttributes() { return ['lat', 'lon', 'markers'] }; + + update_view() { + const centre = this.getAttribute('centre') == 'true'; + const home = ['lat','lon'].map(a => parseFloat(this.getAttribute(a)) || 0); + + if(centre) { + this.map.setView(home, this.map.getZoom() || 13); + } + } + + update_markers() { + this.markers.forEach(m => { + m.marker.remove(); + }) + + const data = JSON.parse(this.getAttribute('markers')); + this.markers = data.map(({id,pos,icon}) => { + const marker = L.marker( + pos, + { + icon: L.divIcon({html: `${icon}`}), + iconSize: [20,20] + } + ); + marker.addTo(this.map); + + marker.on('click', e => { + this.dispatchEvent(new CustomEvent('markerclick', {detail: {id}})); + }) + + return {pos, marker}; + }); + + } + + attributeChangedCallback(name, oldValue, newValue) { + if(!this.map) { + return; + } + switch(name) { + case 'lat': + case 'lon': + case 'centre': + this.update_view(); + break; + case 'markers': + this.update_markers(); + break; + } + } + + set html(value) { + this.shadowRoot.innerHTML = value; + } +} +customElements.define('leaflet-map', LeafletElement); + +let opfs = await navigator.storage.getDirectory(); + +async function init_app() { + const compilation_error = await show_error; + if(compilation_error) { + return; + } + + let markers = []; + + try { + markers = await (await fetch('data/markers.json')).json(); + + } catch(e) { + try { + const fh = await opfs.getFileHandle('markers.json'); + const f = await fh.getFile(); + markers = JSON.parse(await f.text()) + } catch(e) { + } + + } + + + const emoji = await (await fetch('emoji_metadata.json')).json(); + + const app = Elm.App.init({node: document.body, flags: {emoji, markers}}); + + const params = new URLSearchParams(location.search); + + navigator.geolocation.watchPosition( + (r) => { + app.ports.receive_position.send(r.coords); + }, + (e) => console.error(e), + {enableHighAccuracy: true} + ); + + const send_value_handlers = { + save: async ({markers}) => { + const f = await opfs.getFileHandle('markers.json', {create:true}); + const w = await f.createWritable(); + await w.write(JSON.stringify(markers)); + await w.close(); + + const fd = new FormData(); + fd.set('content', JSON.stringify(markers)); + fetch('cgi-bin/save_data.py', { + method: 'POST', + body: fd + }) + } + } + + app.ports.send_value.subscribe(msg => { + send_value_handlers[msg.type](msg); + }); +} + +init_app(); \ No newline at end of file diff --git a/map.css b/map.css new file mode 100644 index 0000000..33080cb --- /dev/null +++ b/map.css @@ -0,0 +1,28 @@ +.leaflet-div-icon { + margin: 0 !important; + width: revert !important; + height: revert !important; + background: none; + border: none; + + & span { + --icon-size: 1.6rem; + background: white; + border: thin solid black; + font-size: calc(0.7 * var(--icon-size)); + -webkit-text-stroke: 1px blue; + border-radius: 50%; + line-height: var(--icon-size); + width: var(--icon-size) !important; + height: var(--icon-size) !important; + text-align: center; + margin-left: calc(-0.5 * var(--icon-size)) !important; + margin-top: calc(-0.5 * var(--icon-size)) !important; + display: block; + + &#current-position { + background: black; + border: none; + } + } +} \ No newline at end of file diff --git a/marked.js b/marked.js new file mode 100644 index 0000000..1a7bd9c --- /dev/null +++ b/marked.js @@ -0,0 +1,2568 @@ +/** + * marked v15.0.6 - a markdown parser + * Copyright (c) 2011-2025, Christopher Jeffrey. (MIT Licensed) + * https://github.com/markedjs/marked + */ + +/** + * DO NOT EDIT THIS FILE + * The code in this file is generated from files in ./src/ + */ + +/** + * Gets the original marked default options. + */ +function _getDefaults() { + return { + async: false, + breaks: false, + extensions: null, + gfm: true, + hooks: null, + pedantic: false, + renderer: null, + silent: false, + tokenizer: null, + walkTokens: null, + }; +} +let _defaults = _getDefaults(); +function changeDefaults(newDefaults) { + _defaults = newDefaults; +} + +const noopTest = { exec: () => null }; +function edit(regex, opt = '') { + let source = typeof regex === 'string' ? regex : regex.source; + const obj = { + replace: (name, val) => { + let valSource = typeof val === 'string' ? val : val.source; + valSource = valSource.replace(other.caret, '$1'); + source = source.replace(name, valSource); + return obj; + }, + getRegex: () => { + return new RegExp(source, opt); + }, + }; + return obj; +} +const other = { + codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm, + outputLinkReplace: /\\([\[\]])/g, + indentCodeCompensation: /^(\s+)(?:```)/, + beginningSpace: /^\s+/, + endingHash: /#$/, + startingSpaceChar: /^ /, + endingSpaceChar: / $/, + nonSpaceChar: /[^ ]/, + newLineCharGlobal: /\n/g, + tabCharGlobal: /\t/g, + multipleSpaceGlobal: /\s+/g, + blankLine: /^[ \t]*$/, + doubleBlankLine: /\n[ \t]*\n[ \t]*$/, + blockquoteStart: /^ {0,3}>/, + blockquoteSetextReplace: /\n {0,3}((?:=+|-+) *)(?=\n|$)/g, + blockquoteSetextReplace2: /^ {0,3}>[ \t]?/gm, + listReplaceTabs: /^\t+/, + listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g, + listIsTask: /^\[[ xX]\] /, + listReplaceTask: /^\[[ xX]\] +/, + anyLine: /\n.*\n/, + hrefBrackets: /^<(.*)>$/, + tableDelimiter: /[:|]/, + tableAlignChars: /^\||\| *$/g, + tableRowBlankLine: /\n[ \t]*$/, + tableAlignRight: /^ *-+: *$/, + tableAlignCenter: /^ *:-+: *$/, + tableAlignLeft: /^ *:-+ *$/, + startATag: /^/i, + startPreScriptTag: /^<(pre|code|kbd|script)(\s|>)/i, + endPreScriptTag: /^<\/(pre|code|kbd|script)(\s|>)/i, + startAngleBracket: /^$/, + pedanticHrefTitle: /^([^'"]*[^\s])\s+(['"])(.*)\2/, + unicodeAlphaNumeric: /[\p{L}\p{N}]/u, + escapeTest: /[&<>"']/, + escapeReplace: /[&<>"']/g, + escapeTestNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/, + escapeReplaceNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g, + unescapeTest: /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig, + caret: /(^|[^\[])\^/g, + percentDecode: /%25/g, + findPipe: /\|/g, + splitPipe: / \|/, + slashPipe: /\\\|/g, + carriageReturn: /\r\n|\r/g, + spaceLine: /^ +$/gm, + notSpaceStart: /^\S*/, + endingNewline: /\n$/, + listItemRegex: (bull) => new RegExp(`^( {0,3}${bull})((?:[\t ][^\\n]*)?(?:\\n|$))`), + nextBulletRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`), + hrRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`), + fencesBeginRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\`\`\`|~~~)`), + headingBeginRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`), + htmlBeginRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}<(?:[a-z].*>|!--)`, 'i'), +}; +/** + * Block-Level Grammar + */ +const newline = /^(?:[ \t]*(?:\n|$))+/; +const blockCode = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/; +const fences = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/; +const hr = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/; +const heading = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/; +const bullet = /(?:[*+-]|\d{1,9}[.)])/; +const lheading = edit(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/) + .replace(/bull/g, bullet) // lists can interrupt + .replace(/blockCode/g, /(?: {4}| {0,3}\t)/) // indented code blocks can interrupt + .replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/) // fenced code blocks can interrupt + .replace(/blockquote/g, / {0,3}>/) // blockquote can interrupt + .replace(/heading/g, / {0,3}#{1,6}/) // ATX heading can interrupt + .replace(/html/g, / {0,3}<[^\n>]+>\n/) // block html can interrupt + .getRegex(); +const _paragraph = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/; +const blockText = /^[^\n]+/; +const _blockLabel = /(?!\s*\])(?:\\.|[^\[\]\\])+/; +const def = edit(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/) + .replace('label', _blockLabel) + .replace('title', /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/) + .getRegex(); +const list = edit(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/) + .replace(/bull/g, bullet) + .getRegex(); +const _tag = 'address|article|aside|base|basefont|blockquote|body|caption' + + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + + '|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title' + + '|tr|track|ul'; +const _comment = /|$))/; +const html = edit('^ {0,3}(?:' // optional indentation + + '<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)' // (1) + + '|comment[^\\n]*(\\n+|$)' // (2) + + '|<\\?[\\s\\S]*?(?:\\?>\\n*|$)' // (3) + + '|\\n*|$)' // (4) + + '|\\n*|$)' // (5) + + '|)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)' // (6) + + '|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)' // (7) open tag + + '|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)' // (7) closing tag + + ')', 'i') + .replace('comment', _comment) + .replace('tag', _tag) + .replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/) + .getRegex(); +const paragraph = edit(_paragraph) + .replace('hr', hr) + .replace('heading', ' {0,3}#{1,6}(?:\\s|$)') + .replace('|lheading', '') // setext headings don't interrupt commonmark paragraphs + .replace('|table', '') + .replace('blockquote', ' {0,3}>') + .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n') + .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt + .replace('html', ')|<(?:script|pre|style|textarea|!--)') + .replace('tag', _tag) // pars can be interrupted by type (6) html blocks + .getRegex(); +const blockquote = edit(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/) + .replace('paragraph', paragraph) + .getRegex(); +/** + * Normal Block Grammar + */ +const blockNormal = { + blockquote, + code: blockCode, + def, + fences, + heading, + hr, + html, + lheading, + list, + newline, + paragraph, + table: noopTest, + text: blockText, +}; +/** + * GFM Block Grammar + */ +const gfmTable = edit('^ *([^\\n ].*)\\n' // Header + + ' {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)' // Align + + '(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)') // Cells + .replace('hr', hr) + .replace('heading', ' {0,3}#{1,6}(?:\\s|$)') + .replace('blockquote', ' {0,3}>') + .replace('code', '(?: {4}| {0,3}\t)[^\\n]') + .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n') + .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt + .replace('html', ')|<(?:script|pre|style|textarea|!--)') + .replace('tag', _tag) // tables can be interrupted by type (6) html blocks + .getRegex(); +const blockGfm = { + ...blockNormal, + table: gfmTable, + paragraph: edit(_paragraph) + .replace('hr', hr) + .replace('heading', ' {0,3}#{1,6}(?:\\s|$)') + .replace('|lheading', '') // setext headings don't interrupt commonmark paragraphs + .replace('table', gfmTable) // interrupt paragraphs with table + .replace('blockquote', ' {0,3}>') + .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n') + .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt + .replace('html', ')|<(?:script|pre|style|textarea|!--)') + .replace('tag', _tag) // pars can be interrupted by type (6) html blocks + .getRegex(), +}; +/** + * Pedantic grammar (original John Gruber's loose markdown specification) + */ +const blockPedantic = { + ...blockNormal, + html: edit('^ *(?:comment *(?:\\n|\\s*$)' + + '|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)' // closed tag + + '|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))') + .replace('comment', _comment) + .replace(/tag/g, '(?!(?:' + + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b') + .getRegex(), + def: /^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, + heading: /^(#{1,6})(.*)(?:\n+|$)/, + fences: noopTest, // fences not supported + lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, + paragraph: edit(_paragraph) + .replace('hr', hr) + .replace('heading', ' *#{1,6} *[^\n]') + .replace('lheading', lheading) + .replace('|table', '') + .replace('blockquote', ' {0,3}>') + .replace('|fences', '') + .replace('|list', '') + .replace('|html', '') + .replace('|tag', '') + .getRegex(), +}; +/** + * Inline-Level Grammar + */ +const escape$1 = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/; +const inlineCode = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/; +const br = /^( {2,}|\\)\n(?!\s*$)/; +const inlineText = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\ +const blockSkip = /\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g; +const emStrongLDelimCore = /^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/; +const emStrongLDelim = edit(emStrongLDelimCore, 'u') + .replace(/punct/g, _punctuation) + .getRegex(); +const emStrongLDelimGfm = edit(emStrongLDelimCore, 'u') + .replace(/punct/g, _punctuationGfmStrongEm) + .getRegex(); +const emStrongRDelimAstCore = '^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)' // Skip orphan inside strong + + '|[^*]+(?=[^*])' // Consume to delim + + '|(?!\\*)punct(\\*+)(?=[\\s]|$)' // (1) #*** can only be a Right Delimiter + + '|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)' // (2) a***#, a*** can only be a Right Delimiter + + '|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)' // (3) #***a, ***a can only be Left Delimiter + + '|[\\s](\\*+)(?!\\*)(?=punct)' // (4) ***# can only be Left Delimiter + + '|(?!\\*)punct(\\*+)(?!\\*)(?=punct)' // (5) #***# can be either Left or Right Delimiter + + '|notPunctSpace(\\*+)(?=notPunctSpace)'; // (6) a***a can be either Left or Right Delimiter +const emStrongRDelimAst = edit(emStrongRDelimAstCore, 'gu') + .replace(/notPunctSpace/g, _notPunctuationOrSpace) + .replace(/punctSpace/g, _punctuationOrSpace) + .replace(/punct/g, _punctuation) + .getRegex(); +const emStrongRDelimAstGfm = edit(emStrongRDelimAstCore, 'gu') + .replace(/notPunctSpace/g, _notPunctuationOrSpaceGfmStrongEm) + .replace(/punctSpace/g, _punctuationOrSpaceGfmStrongEm) + .replace(/punct/g, _punctuationGfmStrongEm) + .getRegex(); +// (6) Not allowed for _ +const emStrongRDelimUnd = edit('^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)' // Skip orphan inside strong + + '|[^_]+(?=[^_])' // Consume to delim + + '|(?!_)punct(_+)(?=[\\s]|$)' // (1) #___ can only be a Right Delimiter + + '|notPunctSpace(_+)(?!_)(?=punctSpace|$)' // (2) a___#, a___ can only be a Right Delimiter + + '|(?!_)punctSpace(_+)(?=notPunctSpace)' // (3) #___a, ___a can only be Left Delimiter + + '|[\\s](_+)(?!_)(?=punct)' // (4) ___# can only be Left Delimiter + + '|(?!_)punct(_+)(?!_)(?=punct)', 'gu') // (5) #___# can be either Left or Right Delimiter + .replace(/notPunctSpace/g, _notPunctuationOrSpace) + .replace(/punctSpace/g, _punctuationOrSpace) + .replace(/punct/g, _punctuation) + .getRegex(); +const anyPunctuation = edit(/\\(punct)/, 'gu') + .replace(/punct/g, _punctuation) + .getRegex(); +const autolink = edit(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/) + .replace('scheme', /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/) + .replace('email', /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/) + .getRegex(); +const _inlineComment = edit(_comment).replace('(?:-->|$)', '-->').getRegex(); +const tag = edit('^comment' + + '|^' // self-closing tag + + '|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>' // open tag + + '|^<\\?[\\s\\S]*?\\?>' // processing instruction, e.g. + + '|^' // declaration, e.g. + + '|^') // CDATA section + .replace('comment', _inlineComment) + .replace('attribute', /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/) + .getRegex(); +const _inlineLabel = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/; +const link = edit(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/) + .replace('label', _inlineLabel) + .replace('href', /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/) + .replace('title', /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/) + .getRegex(); +const reflink = edit(/^!?\[(label)\]\[(ref)\]/) + .replace('label', _inlineLabel) + .replace('ref', _blockLabel) + .getRegex(); +const nolink = edit(/^!?\[(ref)\](?:\[\])?/) + .replace('ref', _blockLabel) + .getRegex(); +const reflinkSearch = edit('reflink|nolink(?!\\()', 'g') + .replace('reflink', reflink) + .replace('nolink', nolink) + .getRegex(); +/** + * Normal Inline Grammar + */ +const inlineNormal = { + _backpedal: noopTest, // only used for GFM url + anyPunctuation, + autolink, + blockSkip, + br, + code: inlineCode, + del: noopTest, + emStrongLDelim, + emStrongRDelimAst, + emStrongRDelimUnd, + escape: escape$1, + link, + nolink, + punctuation, + reflink, + reflinkSearch, + tag, + text: inlineText, + url: noopTest, +}; +/** + * Pedantic Inline Grammar + */ +const inlinePedantic = { + ...inlineNormal, + link: edit(/^!?\[(label)\]\((.*?)\)/) + .replace('label', _inlineLabel) + .getRegex(), + reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/) + .replace('label', _inlineLabel) + .getRegex(), +}; +/** + * GFM Inline Grammar + */ +const inlineGfm = { + ...inlineNormal, + emStrongRDelimAst: emStrongRDelimAstGfm, + emStrongLDelim: emStrongLDelimGfm, + url: edit(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, 'i') + .replace('email', /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/) + .getRegex(), + _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, + del: /^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/, + text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\': '>', + '"': '"', + "'": ''', +}; +const getEscapeReplacement = (ch) => escapeReplacements[ch]; +function escape(html, encode) { + if (encode) { + if (other.escapeTest.test(html)) { + return html.replace(other.escapeReplace, getEscapeReplacement); + } + } + else { + if (other.escapeTestNoEncode.test(html)) { + return html.replace(other.escapeReplaceNoEncode, getEscapeReplacement); + } + } + return html; +} +function cleanUrl(href) { + try { + href = encodeURI(href).replace(other.percentDecode, '%'); + } + catch { + return null; + } + return href; +} +function splitCells(tableRow, count) { + // ensure that every cell-delimiting pipe has a space + // before it to distinguish it from an escaped pipe + const row = tableRow.replace(other.findPipe, (match, offset, str) => { + let escaped = false; + let curr = offset; + while (--curr >= 0 && str[curr] === '\\') + escaped = !escaped; + if (escaped) { + // odd number of slashes means | is escaped + // so we leave it alone + return '|'; + } + else { + // add space before unescaped | + return ' |'; + } + }), cells = row.split(other.splitPipe); + let i = 0; + // First/last cell in a row cannot be empty if it has no leading/trailing pipe + if (!cells[0].trim()) { + cells.shift(); + } + if (cells.length > 0 && !cells.at(-1)?.trim()) { + cells.pop(); + } + if (count) { + if (cells.length > count) { + cells.splice(count); + } + else { + while (cells.length < count) + cells.push(''); + } + } + for (; i < cells.length; i++) { + // leading or trailing whitespace is ignored per the gfm spec + cells[i] = cells[i].trim().replace(other.slashPipe, '|'); + } + return cells; +} +/** + * Remove trailing 'c's. Equivalent to str.replace(/c*$/, ''). + * /c*$/ is vulnerable to REDOS. + * + * @param str + * @param c + * @param invert Remove suffix of non-c chars instead. Default falsey. + */ +function rtrim(str, c, invert) { + const l = str.length; + if (l === 0) { + return ''; + } + // Length of suffix matching the invert condition. + let suffLen = 0; + // Step left until we fail to match the invert condition. + while (suffLen < l) { + const currChar = str.charAt(l - suffLen - 1); + if (currChar === c && true) { + suffLen++; + } + else { + break; + } + } + return str.slice(0, l - suffLen); +} +function findClosingBracket(str, b) { + if (str.indexOf(b[1]) === -1) { + return -1; + } + let level = 0; + for (let i = 0; i < str.length; i++) { + if (str[i] === '\\') { + i++; + } + else if (str[i] === b[0]) { + level++; + } + else if (str[i] === b[1]) { + level--; + if (level < 0) { + return i; + } + } + } + return -1; +} + +function outputLink(cap, link, raw, lexer, rules) { + const href = link.href; + const title = link.title || null; + const text = cap[1].replace(rules.other.outputLinkReplace, '$1'); + if (cap[0].charAt(0) !== '!') { + lexer.state.inLink = true; + const token = { + type: 'link', + raw, + href, + title, + text, + tokens: lexer.inlineTokens(text), + }; + lexer.state.inLink = false; + return token; + } + return { + type: 'image', + raw, + href, + title, + text, + }; +} +function indentCodeCompensation(raw, text, rules) { + const matchIndentToCode = raw.match(rules.other.indentCodeCompensation); + if (matchIndentToCode === null) { + return text; + } + const indentToCode = matchIndentToCode[1]; + return text + .split('\n') + .map(node => { + const matchIndentInNode = node.match(rules.other.beginningSpace); + if (matchIndentInNode === null) { + return node; + } + const [indentInNode] = matchIndentInNode; + if (indentInNode.length >= indentToCode.length) { + return node.slice(indentToCode.length); + } + return node; + }) + .join('\n'); +} +/** + * Tokenizer + */ +class _Tokenizer { + options; + rules; // set by the lexer + lexer; // set by the lexer + constructor(options) { + this.options = options || _defaults; + } + space(src) { + const cap = this.rules.block.newline.exec(src); + if (cap && cap[0].length > 0) { + return { + type: 'space', + raw: cap[0], + }; + } + } + code(src) { + const cap = this.rules.block.code.exec(src); + if (cap) { + const text = cap[0].replace(this.rules.other.codeRemoveIndent, ''); + return { + type: 'code', + raw: cap[0], + codeBlockStyle: 'indented', + text: !this.options.pedantic + ? rtrim(text, '\n') + : text, + }; + } + } + fences(src) { + const cap = this.rules.block.fences.exec(src); + if (cap) { + const raw = cap[0]; + const text = indentCodeCompensation(raw, cap[3] || '', this.rules); + return { + type: 'code', + raw, + lang: cap[2] ? cap[2].trim().replace(this.rules.inline.anyPunctuation, '$1') : cap[2], + text, + }; + } + } + heading(src) { + const cap = this.rules.block.heading.exec(src); + if (cap) { + let text = cap[2].trim(); + // remove trailing #s + if (this.rules.other.endingHash.test(text)) { + const trimmed = rtrim(text, '#'); + if (this.options.pedantic) { + text = trimmed.trim(); + } + else if (!trimmed || this.rules.other.endingSpaceChar.test(trimmed)) { + // CommonMark requires space before trailing #s + text = trimmed.trim(); + } + } + return { + type: 'heading', + raw: cap[0], + depth: cap[1].length, + text, + tokens: this.lexer.inline(text), + }; + } + } + hr(src) { + const cap = this.rules.block.hr.exec(src); + if (cap) { + return { + type: 'hr', + raw: rtrim(cap[0], '\n'), + }; + } + } + blockquote(src) { + const cap = this.rules.block.blockquote.exec(src); + if (cap) { + let lines = rtrim(cap[0], '\n').split('\n'); + let raw = ''; + let text = ''; + const tokens = []; + while (lines.length > 0) { + let inBlockquote = false; + const currentLines = []; + let i; + for (i = 0; i < lines.length; i++) { + // get lines up to a continuation + if (this.rules.other.blockquoteStart.test(lines[i])) { + currentLines.push(lines[i]); + inBlockquote = true; + } + else if (!inBlockquote) { + currentLines.push(lines[i]); + } + else { + break; + } + } + lines = lines.slice(i); + const currentRaw = currentLines.join('\n'); + const currentText = currentRaw + // precede setext continuation with 4 spaces so it isn't a setext + .replace(this.rules.other.blockquoteSetextReplace, '\n $1') + .replace(this.rules.other.blockquoteSetextReplace2, ''); + raw = raw ? `${raw}\n${currentRaw}` : currentRaw; + text = text ? `${text}\n${currentText}` : currentText; + // parse blockquote lines as top level tokens + // merge paragraphs if this is a continuation + const top = this.lexer.state.top; + this.lexer.state.top = true; + this.lexer.blockTokens(currentText, tokens, true); + this.lexer.state.top = top; + // if there is no continuation then we are done + if (lines.length === 0) { + break; + } + const lastToken = tokens.at(-1); + if (lastToken?.type === 'code') { + // blockquote continuation cannot be preceded by a code block + break; + } + else if (lastToken?.type === 'blockquote') { + // include continuation in nested blockquote + const oldToken = lastToken; + const newText = oldToken.raw + '\n' + lines.join('\n'); + const newToken = this.blockquote(newText); + tokens[tokens.length - 1] = newToken; + raw = raw.substring(0, raw.length - oldToken.raw.length) + newToken.raw; + text = text.substring(0, text.length - oldToken.text.length) + newToken.text; + break; + } + else if (lastToken?.type === 'list') { + // include continuation in nested list + const oldToken = lastToken; + const newText = oldToken.raw + '\n' + lines.join('\n'); + const newToken = this.list(newText); + tokens[tokens.length - 1] = newToken; + raw = raw.substring(0, raw.length - lastToken.raw.length) + newToken.raw; + text = text.substring(0, text.length - oldToken.raw.length) + newToken.raw; + lines = newText.substring(tokens.at(-1).raw.length).split('\n'); + continue; + } + } + return { + type: 'blockquote', + raw, + tokens, + text, + }; + } + } + list(src) { + let cap = this.rules.block.list.exec(src); + if (cap) { + let bull = cap[1].trim(); + const isordered = bull.length > 1; + const list = { + type: 'list', + raw: '', + ordered: isordered, + start: isordered ? +bull.slice(0, -1) : '', + loose: false, + items: [], + }; + bull = isordered ? `\\d{1,9}\\${bull.slice(-1)}` : `\\${bull}`; + if (this.options.pedantic) { + bull = isordered ? bull : '[*+-]'; + } + // Get next list item + const itemRegex = this.rules.other.listItemRegex(bull); + let endsWithBlankLine = false; + // Check if current bullet point can start a new List Item + while (src) { + let endEarly = false; + let raw = ''; + let itemContents = ''; + if (!(cap = itemRegex.exec(src))) { + break; + } + if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?) + break; + } + raw = cap[0]; + src = src.substring(raw.length); + let line = cap[2].split('\n', 1)[0].replace(this.rules.other.listReplaceTabs, (t) => ' '.repeat(3 * t.length)); + let nextLine = src.split('\n', 1)[0]; + let blankLine = !line.trim(); + let indent = 0; + if (this.options.pedantic) { + indent = 2; + itemContents = line.trimStart(); + } + else if (blankLine) { + indent = cap[1].length + 1; + } + else { + indent = cap[2].search(this.rules.other.nonSpaceChar); // Find first non-space char + indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent + itemContents = line.slice(indent); + indent += cap[1].length; + } + if (blankLine && this.rules.other.blankLine.test(nextLine)) { // Items begin with at most one blank line + raw += nextLine + '\n'; + src = src.substring(nextLine.length + 1); + endEarly = true; + } + if (!endEarly) { + const nextBulletRegex = this.rules.other.nextBulletRegex(indent); + const hrRegex = this.rules.other.hrRegex(indent); + const fencesBeginRegex = this.rules.other.fencesBeginRegex(indent); + const headingBeginRegex = this.rules.other.headingBeginRegex(indent); + const htmlBeginRegex = this.rules.other.htmlBeginRegex(indent); + // Check if following lines should be included in List Item + while (src) { + const rawLine = src.split('\n', 1)[0]; + let nextLineWithoutTabs; + nextLine = rawLine; + // Re-align to follow commonmark nesting rules + if (this.options.pedantic) { + nextLine = nextLine.replace(this.rules.other.listReplaceNesting, ' '); + nextLineWithoutTabs = nextLine; + } + else { + nextLineWithoutTabs = nextLine.replace(this.rules.other.tabCharGlobal, ' '); + } + // End list item if found code fences + if (fencesBeginRegex.test(nextLine)) { + break; + } + // End list item if found start of new heading + if (headingBeginRegex.test(nextLine)) { + break; + } + // End list item if found start of html block + if (htmlBeginRegex.test(nextLine)) { + break; + } + // End list item if found start of new bullet + if (nextBulletRegex.test(nextLine)) { + break; + } + // Horizontal rule found + if (hrRegex.test(nextLine)) { + break; + } + if (nextLineWithoutTabs.search(this.rules.other.nonSpaceChar) >= indent || !nextLine.trim()) { // Dedent if possible + itemContents += '\n' + nextLineWithoutTabs.slice(indent); + } + else { + // not enough indentation + if (blankLine) { + break; + } + // paragraph continuation unless last line was a different block level element + if (line.replace(this.rules.other.tabCharGlobal, ' ').search(this.rules.other.nonSpaceChar) >= 4) { // indented code block + break; + } + if (fencesBeginRegex.test(line)) { + break; + } + if (headingBeginRegex.test(line)) { + break; + } + if (hrRegex.test(line)) { + break; + } + itemContents += '\n' + nextLine; + } + if (!blankLine && !nextLine.trim()) { // Check if current line is blank + blankLine = true; + } + raw += rawLine + '\n'; + src = src.substring(rawLine.length + 1); + line = nextLineWithoutTabs.slice(indent); + } + } + if (!list.loose) { + // If the previous item ended with a blank line, the list is loose + if (endsWithBlankLine) { + list.loose = true; + } + else if (this.rules.other.doubleBlankLine.test(raw)) { + endsWithBlankLine = true; + } + } + let istask = null; + let ischecked; + // Check for task list items + if (this.options.gfm) { + istask = this.rules.other.listIsTask.exec(itemContents); + if (istask) { + ischecked = istask[0] !== '[ ] '; + itemContents = itemContents.replace(this.rules.other.listReplaceTask, ''); + } + } + list.items.push({ + type: 'list_item', + raw, + task: !!istask, + checked: ischecked, + loose: false, + text: itemContents, + tokens: [], + }); + list.raw += raw; + } + // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic + const lastItem = list.items.at(-1); + if (lastItem) { + lastItem.raw = lastItem.raw.trimEnd(); + lastItem.text = lastItem.text.trimEnd(); + } + else { + // not a list since there were no items + return; + } + list.raw = list.raw.trimEnd(); + // Item child tokens handled here at end because we needed to have the final item to trim it first + for (let i = 0; i < list.items.length; i++) { + this.lexer.state.top = false; + list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []); + if (!list.loose) { + // Check if list should be loose + const spacers = list.items[i].tokens.filter(t => t.type === 'space'); + const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => this.rules.other.anyLine.test(t.raw)); + list.loose = hasMultipleLineBreaks; + } + } + // Set all items to loose if list is loose + if (list.loose) { + for (let i = 0; i < list.items.length; i++) { + list.items[i].loose = true; + } + } + return list; + } + } + html(src) { + const cap = this.rules.block.html.exec(src); + if (cap) { + const token = { + type: 'html', + block: true, + raw: cap[0], + pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style', + text: cap[0], + }; + return token; + } + } + def(src) { + const cap = this.rules.block.def.exec(src); + if (cap) { + const tag = cap[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, ' '); + const href = cap[2] ? cap[2].replace(this.rules.other.hrefBrackets, '$1').replace(this.rules.inline.anyPunctuation, '$1') : ''; + const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline.anyPunctuation, '$1') : cap[3]; + return { + type: 'def', + tag, + raw: cap[0], + href, + title, + }; + } + } + table(src) { + const cap = this.rules.block.table.exec(src); + if (!cap) { + return; + } + if (!this.rules.other.tableDelimiter.test(cap[2])) { + // delimiter row must have a pipe (|) or colon (:) otherwise it is a setext heading + return; + } + const headers = splitCells(cap[1]); + const aligns = cap[2].replace(this.rules.other.tableAlignChars, '').split('|'); + const rows = cap[3]?.trim() ? cap[3].replace(this.rules.other.tableRowBlankLine, '').split('\n') : []; + const item = { + type: 'table', + raw: cap[0], + header: [], + align: [], + rows: [], + }; + if (headers.length !== aligns.length) { + // header and align columns must be equal, rows can be different. + return; + } + for (const align of aligns) { + if (this.rules.other.tableAlignRight.test(align)) { + item.align.push('right'); + } + else if (this.rules.other.tableAlignCenter.test(align)) { + item.align.push('center'); + } + else if (this.rules.other.tableAlignLeft.test(align)) { + item.align.push('left'); + } + else { + item.align.push(null); + } + } + for (let i = 0; i < headers.length; i++) { + item.header.push({ + text: headers[i], + tokens: this.lexer.inline(headers[i]), + header: true, + align: item.align[i], + }); + } + for (const row of rows) { + item.rows.push(splitCells(row, item.header.length).map((cell, i) => { + return { + text: cell, + tokens: this.lexer.inline(cell), + header: false, + align: item.align[i], + }; + })); + } + return item; + } + lheading(src) { + const cap = this.rules.block.lheading.exec(src); + if (cap) { + return { + type: 'heading', + raw: cap[0], + depth: cap[2].charAt(0) === '=' ? 1 : 2, + text: cap[1], + tokens: this.lexer.inline(cap[1]), + }; + } + } + paragraph(src) { + const cap = this.rules.block.paragraph.exec(src); + if (cap) { + const text = cap[1].charAt(cap[1].length - 1) === '\n' + ? cap[1].slice(0, -1) + : cap[1]; + return { + type: 'paragraph', + raw: cap[0], + text, + tokens: this.lexer.inline(text), + }; + } + } + text(src) { + const cap = this.rules.block.text.exec(src); + if (cap) { + return { + type: 'text', + raw: cap[0], + text: cap[0], + tokens: this.lexer.inline(cap[0]), + }; + } + } + escape(src) { + const cap = this.rules.inline.escape.exec(src); + if (cap) { + return { + type: 'escape', + raw: cap[0], + text: cap[1], + }; + } + } + tag(src) { + const cap = this.rules.inline.tag.exec(src); + if (cap) { + if (!this.lexer.state.inLink && this.rules.other.startATag.test(cap[0])) { + this.lexer.state.inLink = true; + } + else if (this.lexer.state.inLink && this.rules.other.endATag.test(cap[0])) { + this.lexer.state.inLink = false; + } + if (!this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(cap[0])) { + this.lexer.state.inRawBlock = true; + } + else if (this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(cap[0])) { + this.lexer.state.inRawBlock = false; + } + return { + type: 'html', + raw: cap[0], + inLink: this.lexer.state.inLink, + inRawBlock: this.lexer.state.inRawBlock, + block: false, + text: cap[0], + }; + } + } + link(src) { + const cap = this.rules.inline.link.exec(src); + if (cap) { + const trimmedUrl = cap[2].trim(); + if (!this.options.pedantic && this.rules.other.startAngleBracket.test(trimmedUrl)) { + // commonmark requires matching angle brackets + if (!(this.rules.other.endAngleBracket.test(trimmedUrl))) { + return; + } + // ending angle bracket cannot be escaped + const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\'); + if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) { + return; + } + } + else { + // find closing parenthesis + const lastParenIndex = findClosingBracket(cap[2], '()'); + if (lastParenIndex > -1) { + const start = cap[0].indexOf('!') === 0 ? 5 : 4; + const linkLen = start + cap[1].length + lastParenIndex; + cap[2] = cap[2].substring(0, lastParenIndex); + cap[0] = cap[0].substring(0, linkLen).trim(); + cap[3] = ''; + } + } + let href = cap[2]; + let title = ''; + if (this.options.pedantic) { + // split pedantic href and title + const link = this.rules.other.pedanticHrefTitle.exec(href); + if (link) { + href = link[1]; + title = link[3]; + } + } + else { + title = cap[3] ? cap[3].slice(1, -1) : ''; + } + href = href.trim(); + if (this.rules.other.startAngleBracket.test(href)) { + if (this.options.pedantic && !(this.rules.other.endAngleBracket.test(trimmedUrl))) { + // pedantic allows starting angle bracket without ending angle bracket + href = href.slice(1); + } + else { + href = href.slice(1, -1); + } + } + return outputLink(cap, { + href: href ? href.replace(this.rules.inline.anyPunctuation, '$1') : href, + title: title ? title.replace(this.rules.inline.anyPunctuation, '$1') : title, + }, cap[0], this.lexer, this.rules); + } + } + reflink(src, links) { + let cap; + if ((cap = this.rules.inline.reflink.exec(src)) + || (cap = this.rules.inline.nolink.exec(src))) { + const linkString = (cap[2] || cap[1]).replace(this.rules.other.multipleSpaceGlobal, ' '); + const link = links[linkString.toLowerCase()]; + if (!link) { + const text = cap[0].charAt(0); + return { + type: 'text', + raw: text, + text, + }; + } + return outputLink(cap, link, cap[0], this.lexer, this.rules); + } + } + emStrong(src, maskedSrc, prevChar = '') { + let match = this.rules.inline.emStrongLDelim.exec(src); + if (!match) + return; + // _ can't be between two alphanumerics. \p{L}\p{N} includes non-english alphabet/numbers as well + if (match[3] && prevChar.match(this.rules.other.unicodeAlphaNumeric)) + return; + const nextChar = match[1] || match[2] || ''; + if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) { + // unicode Regex counts emoji as 1 char; spread into array for proper count (used multiple times below) + const lLength = [...match[0]].length - 1; + let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0; + const endReg = match[0][0] === '*' ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd; + endReg.lastIndex = 0; + // Clip maskedSrc to same section of string as src (move to lexer?) + maskedSrc = maskedSrc.slice(-1 * src.length + lLength); + while ((match = endReg.exec(maskedSrc)) != null) { + rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6]; + if (!rDelim) + continue; // skip single * in __abc*abc__ + rLength = [...rDelim].length; + if (match[3] || match[4]) { // found another Left Delim + delimTotal += rLength; + continue; + } + else if (match[5] || match[6]) { // either Left or Right Delim + if (lLength % 3 && !((lLength + rLength) % 3)) { + midDelimTotal += rLength; + continue; // CommonMark Emphasis Rules 9-10 + } + } + delimTotal -= rLength; + if (delimTotal > 0) + continue; // Haven't found enough closing delimiters + // Remove extra characters. *a*** -> *a* + rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal); + // char length can be >1 for unicode characters; + const lastCharLength = [...match[0]][0].length; + const raw = src.slice(0, lLength + match.index + lastCharLength + rLength); + // Create `em` if smallest delimiter has odd char count. *a*** + if (Math.min(lLength, rLength) % 2) { + const text = raw.slice(1, -1); + return { + type: 'em', + raw, + text, + tokens: this.lexer.inlineTokens(text), + }; + } + // Create 'strong' if smallest delimiter has even char count. **a*** + const text = raw.slice(2, -2); + return { + type: 'strong', + raw, + text, + tokens: this.lexer.inlineTokens(text), + }; + } + } + } + codespan(src) { + const cap = this.rules.inline.code.exec(src); + if (cap) { + let text = cap[2].replace(this.rules.other.newLineCharGlobal, ' '); + const hasNonSpaceChars = this.rules.other.nonSpaceChar.test(text); + const hasSpaceCharsOnBothEnds = this.rules.other.startingSpaceChar.test(text) && this.rules.other.endingSpaceChar.test(text); + if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) { + text = text.substring(1, text.length - 1); + } + return { + type: 'codespan', + raw: cap[0], + text, + }; + } + } + br(src) { + const cap = this.rules.inline.br.exec(src); + if (cap) { + return { + type: 'br', + raw: cap[0], + }; + } + } + del(src) { + const cap = this.rules.inline.del.exec(src); + if (cap) { + return { + type: 'del', + raw: cap[0], + text: cap[2], + tokens: this.lexer.inlineTokens(cap[2]), + }; + } + } + autolink(src) { + const cap = this.rules.inline.autolink.exec(src); + if (cap) { + let text, href; + if (cap[2] === '@') { + text = cap[1]; + href = 'mailto:' + text; + } + else { + text = cap[1]; + href = text; + } + return { + type: 'link', + raw: cap[0], + text, + href, + tokens: [ + { + type: 'text', + raw: text, + text, + }, + ], + }; + } + } + url(src) { + let cap; + if (cap = this.rules.inline.url.exec(src)) { + let text, href; + if (cap[2] === '@') { + text = cap[0]; + href = 'mailto:' + text; + } + else { + // do extended autolink path validation + let prevCapZero; + do { + prevCapZero = cap[0]; + cap[0] = this.rules.inline._backpedal.exec(cap[0])?.[0] ?? ''; + } while (prevCapZero !== cap[0]); + text = cap[0]; + if (cap[1] === 'www.') { + href = 'http://' + cap[0]; + } + else { + href = cap[0]; + } + } + return { + type: 'link', + raw: cap[0], + text, + href, + tokens: [ + { + type: 'text', + raw: text, + text, + }, + ], + }; + } + } + inlineText(src) { + const cap = this.rules.inline.text.exec(src); + if (cap) { + const escaped = this.lexer.state.inRawBlock; + return { + type: 'text', + raw: cap[0], + text: cap[0], + escaped, + }; + } + } +} + +/** + * Block Lexer + */ +class _Lexer { + tokens; + options; + state; + tokenizer; + inlineQueue; + constructor(options) { + // TokenList cannot be created in one go + this.tokens = []; + this.tokens.links = Object.create(null); + this.options = options || _defaults; + this.options.tokenizer = this.options.tokenizer || new _Tokenizer(); + this.tokenizer = this.options.tokenizer; + this.tokenizer.options = this.options; + this.tokenizer.lexer = this; + this.inlineQueue = []; + this.state = { + inLink: false, + inRawBlock: false, + top: true, + }; + const rules = { + other, + block: block.normal, + inline: inline.normal, + }; + if (this.options.pedantic) { + rules.block = block.pedantic; + rules.inline = inline.pedantic; + } + else if (this.options.gfm) { + rules.block = block.gfm; + if (this.options.breaks) { + rules.inline = inline.breaks; + } + else { + rules.inline = inline.gfm; + } + } + this.tokenizer.rules = rules; + } + /** + * Expose Rules + */ + static get rules() { + return { + block, + inline, + }; + } + /** + * Static Lex Method + */ + static lex(src, options) { + const lexer = new _Lexer(options); + return lexer.lex(src); + } + /** + * Static Lex Inline Method + */ + static lexInline(src, options) { + const lexer = new _Lexer(options); + return lexer.inlineTokens(src); + } + /** + * Preprocessing + */ + lex(src) { + src = src.replace(other.carriageReturn, '\n'); + this.blockTokens(src, this.tokens); + for (let i = 0; i < this.inlineQueue.length; i++) { + const next = this.inlineQueue[i]; + this.inlineTokens(next.src, next.tokens); + } + this.inlineQueue = []; + return this.tokens; + } + blockTokens(src, tokens = [], lastParagraphClipped = false) { + if (this.options.pedantic) { + src = src.replace(other.tabCharGlobal, ' ').replace(other.spaceLine, ''); + } + while (src) { + let token; + if (this.options.extensions?.block?.some((extTokenizer) => { + if (token = extTokenizer.call({ lexer: this }, src, tokens)) { + src = src.substring(token.raw.length); + tokens.push(token); + return true; + } + return false; + })) { + continue; + } + // newline + if (token = this.tokenizer.space(src)) { + src = src.substring(token.raw.length); + const lastToken = tokens.at(-1); + if (token.raw.length === 1 && lastToken !== undefined) { + // if there's a single \n as a spacer, it's terminating the last line, + // so move it there so that we don't get unnecessary paragraph tags + lastToken.raw += '\n'; + } + else { + tokens.push(token); + } + continue; + } + // code + if (token = this.tokenizer.code(src)) { + src = src.substring(token.raw.length); + const lastToken = tokens.at(-1); + // An indented code block cannot interrupt a paragraph. + if (lastToken?.type === 'paragraph' || lastToken?.type === 'text') { + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.text; + this.inlineQueue.at(-1).src = lastToken.text; + } + else { + tokens.push(token); + } + continue; + } + // fences + if (token = this.tokenizer.fences(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + // heading + if (token = this.tokenizer.heading(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + // hr + if (token = this.tokenizer.hr(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + // blockquote + if (token = this.tokenizer.blockquote(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + // list + if (token = this.tokenizer.list(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + // html + if (token = this.tokenizer.html(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + // def + if (token = this.tokenizer.def(src)) { + src = src.substring(token.raw.length); + const lastToken = tokens.at(-1); + if (lastToken?.type === 'paragraph' || lastToken?.type === 'text') { + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.raw; + this.inlineQueue.at(-1).src = lastToken.text; + } + else if (!this.tokens.links[token.tag]) { + this.tokens.links[token.tag] = { + href: token.href, + title: token.title, + }; + } + continue; + } + // table (gfm) + if (token = this.tokenizer.table(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + // lheading + if (token = this.tokenizer.lheading(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + // top-level paragraph + // prevent paragraph consuming extensions by clipping 'src' to extension start + let cutSrc = src; + if (this.options.extensions?.startBlock) { + let startIndex = Infinity; + const tempSrc = src.slice(1); + let tempStart; + this.options.extensions.startBlock.forEach((getStartIndex) => { + tempStart = getStartIndex.call({ lexer: this }, tempSrc); + if (typeof tempStart === 'number' && tempStart >= 0) { + startIndex = Math.min(startIndex, tempStart); + } + }); + if (startIndex < Infinity && startIndex >= 0) { + cutSrc = src.substring(0, startIndex + 1); + } + } + if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) { + const lastToken = tokens.at(-1); + if (lastParagraphClipped && lastToken?.type === 'paragraph') { + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.text; + this.inlineQueue.pop(); + this.inlineQueue.at(-1).src = lastToken.text; + } + else { + tokens.push(token); + } + lastParagraphClipped = cutSrc.length !== src.length; + src = src.substring(token.raw.length); + continue; + } + // text + if (token = this.tokenizer.text(src)) { + src = src.substring(token.raw.length); + const lastToken = tokens.at(-1); + if (lastToken?.type === 'text') { + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.text; + this.inlineQueue.pop(); + this.inlineQueue.at(-1).src = lastToken.text; + } + else { + tokens.push(token); + } + continue; + } + if (src) { + const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0); + if (this.options.silent) { + console.error(errMsg); + break; + } + else { + throw new Error(errMsg); + } + } + } + this.state.top = true; + return tokens; + } + inline(src, tokens = []) { + this.inlineQueue.push({ src, tokens }); + return tokens; + } + /** + * Lexing/Compiling + */ + inlineTokens(src, tokens = []) { + // String with links masked to avoid interference with em and strong + let maskedSrc = src; + let match = null; + // Mask out reflinks + if (this.tokens.links) { + const links = Object.keys(this.tokens.links); + if (links.length > 0) { + while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) { + if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) { + maskedSrc = maskedSrc.slice(0, match.index) + + '[' + 'a'.repeat(match[0].length - 2) + ']' + + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex); + } + } + } + } + // Mask out other blocks + while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) { + maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex); + } + // Mask out escaped characters + while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) { + maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex); + } + let keepPrevChar = false; + let prevChar = ''; + while (src) { + if (!keepPrevChar) { + prevChar = ''; + } + keepPrevChar = false; + let token; + // extensions + if (this.options.extensions?.inline?.some((extTokenizer) => { + if (token = extTokenizer.call({ lexer: this }, src, tokens)) { + src = src.substring(token.raw.length); + tokens.push(token); + return true; + } + return false; + })) { + continue; + } + // escape + if (token = this.tokenizer.escape(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + // tag + if (token = this.tokenizer.tag(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + // link + if (token = this.tokenizer.link(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + // reflink, nolink + if (token = this.tokenizer.reflink(src, this.tokens.links)) { + src = src.substring(token.raw.length); + const lastToken = tokens.at(-1); + if (token.type === 'text' && lastToken?.type === 'text') { + lastToken.raw += token.raw; + lastToken.text += token.text; + } + else { + tokens.push(token); + } + continue; + } + // em & strong + if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + // code + if (token = this.tokenizer.codespan(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + // br + if (token = this.tokenizer.br(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + // del (gfm) + if (token = this.tokenizer.del(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + // autolink + if (token = this.tokenizer.autolink(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + // url (gfm) + if (!this.state.inLink && (token = this.tokenizer.url(src))) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + // text + // prevent inlineText consuming extensions by clipping 'src' to extension start + let cutSrc = src; + if (this.options.extensions?.startInline) { + let startIndex = Infinity; + const tempSrc = src.slice(1); + let tempStart; + this.options.extensions.startInline.forEach((getStartIndex) => { + tempStart = getStartIndex.call({ lexer: this }, tempSrc); + if (typeof tempStart === 'number' && tempStart >= 0) { + startIndex = Math.min(startIndex, tempStart); + } + }); + if (startIndex < Infinity && startIndex >= 0) { + cutSrc = src.substring(0, startIndex + 1); + } + } + if (token = this.tokenizer.inlineText(cutSrc)) { + src = src.substring(token.raw.length); + if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started + prevChar = token.raw.slice(-1); + } + keepPrevChar = true; + const lastToken = tokens.at(-1); + if (lastToken?.type === 'text') { + lastToken.raw += token.raw; + lastToken.text += token.text; + } + else { + tokens.push(token); + } + continue; + } + if (src) { + const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0); + if (this.options.silent) { + console.error(errMsg); + break; + } + else { + throw new Error(errMsg); + } + } + } + return tokens; + } +} + +/** + * Renderer + */ +class _Renderer { + options; + parser; // set by the parser + constructor(options) { + this.options = options || _defaults; + } + space(token) { + return ''; + } + code({ text, lang, escaped }) { + const langString = (lang || '').match(other.notSpaceStart)?.[0]; + const code = text.replace(other.endingNewline, '') + '\n'; + if (!langString) { + return '
'
+                + (escaped ? code : escape(code, true))
+                + '
\n'; + } + return '
'
+            + (escaped ? code : escape(code, true))
+            + '
\n'; + } + blockquote({ tokens }) { + const body = this.parser.parse(tokens); + return `
\n${body}
\n`; + } + html({ text }) { + return text; + } + heading({ tokens, depth }) { + return `${this.parser.parseInline(tokens)}\n`; + } + hr(token) { + return '
\n'; + } + list(token) { + const ordered = token.ordered; + const start = token.start; + let body = ''; + for (let j = 0; j < token.items.length; j++) { + const item = token.items[j]; + body += this.listitem(item); + } + const type = ordered ? 'ol' : 'ul'; + const startAttr = (ordered && start !== 1) ? (' start="' + start + '"') : ''; + return '<' + type + startAttr + '>\n' + body + '\n'; + } + listitem(item) { + let itemBody = ''; + if (item.task) { + const checkbox = this.checkbox({ checked: !!item.checked }); + if (item.loose) { + if (item.tokens[0]?.type === 'paragraph') { + item.tokens[0].text = checkbox + ' ' + item.tokens[0].text; + if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') { + item.tokens[0].tokens[0].text = checkbox + ' ' + escape(item.tokens[0].tokens[0].text); + item.tokens[0].tokens[0].escaped = true; + } + } + else { + item.tokens.unshift({ + type: 'text', + raw: checkbox + ' ', + text: checkbox + ' ', + escaped: true, + }); + } + } + else { + itemBody += checkbox + ' '; + } + } + itemBody += this.parser.parse(item.tokens, !!item.loose); + return `
  • ${itemBody}
  • \n`; + } + checkbox({ checked }) { + return ''; + } + paragraph({ tokens }) { + return `

    ${this.parser.parseInline(tokens)}

    \n`; + } + table(token) { + let header = ''; + // header + let cell = ''; + for (let j = 0; j < token.header.length; j++) { + cell += this.tablecell(token.header[j]); + } + header += this.tablerow({ text: cell }); + let body = ''; + for (let j = 0; j < token.rows.length; j++) { + const row = token.rows[j]; + cell = ''; + for (let k = 0; k < row.length; k++) { + cell += this.tablecell(row[k]); + } + body += this.tablerow({ text: cell }); + } + if (body) + body = `${body}`; + return '\n' + + '\n' + + header + + '\n' + + body + + '
    \n'; + } + tablerow({ text }) { + return `\n${text}\n`; + } + tablecell(token) { + const content = this.parser.parseInline(token.tokens); + const type = token.header ? 'th' : 'td'; + const tag = token.align + ? `<${type} align="${token.align}">` + : `<${type}>`; + return tag + content + `\n`; + } + /** + * span level renderer + */ + strong({ tokens }) { + return `${this.parser.parseInline(tokens)}`; + } + em({ tokens }) { + return `${this.parser.parseInline(tokens)}`; + } + codespan({ text }) { + return `${escape(text, true)}`; + } + br(token) { + return '
    '; + } + del({ tokens }) { + return `${this.parser.parseInline(tokens)}`; + } + link({ href, title, tokens }) { + const text = this.parser.parseInline(tokens); + const cleanHref = cleanUrl(href); + if (cleanHref === null) { + return text; + } + href = cleanHref; + let out = '
    '; + return out; + } + image({ href, title, text }) { + const cleanHref = cleanUrl(href); + if (cleanHref === null) { + return escape(text); + } + href = cleanHref; + let out = `${text} { + const tokens = genericToken[childTokens].flat(Infinity); + values = values.concat(this.walkTokens(tokens, callback)); + }); + } + else if (genericToken.tokens) { + values = values.concat(this.walkTokens(genericToken.tokens, callback)); + } + } + } + } + return values; + } + use(...args) { + const extensions = this.defaults.extensions || { renderers: {}, childTokens: {} }; + args.forEach((pack) => { + // copy options to new object + const opts = { ...pack }; + // set async to true if it was set to true before + opts.async = this.defaults.async || opts.async || false; + // ==-- Parse "addon" extensions --== // + if (pack.extensions) { + pack.extensions.forEach((ext) => { + if (!ext.name) { + throw new Error('extension name required'); + } + if ('renderer' in ext) { // Renderer extensions + const prevRenderer = extensions.renderers[ext.name]; + if (prevRenderer) { + // Replace extension with func to run new extension but fall back if false + extensions.renderers[ext.name] = function (...args) { + let ret = ext.renderer.apply(this, args); + if (ret === false) { + ret = prevRenderer.apply(this, args); + } + return ret; + }; + } + else { + extensions.renderers[ext.name] = ext.renderer; + } + } + if ('tokenizer' in ext) { // Tokenizer Extensions + if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) { + throw new Error("extension level must be 'block' or 'inline'"); + } + const extLevel = extensions[ext.level]; + if (extLevel) { + extLevel.unshift(ext.tokenizer); + } + else { + extensions[ext.level] = [ext.tokenizer]; + } + if (ext.start) { // Function to check for start of token + if (ext.level === 'block') { + if (extensions.startBlock) { + extensions.startBlock.push(ext.start); + } + else { + extensions.startBlock = [ext.start]; + } + } + else if (ext.level === 'inline') { + if (extensions.startInline) { + extensions.startInline.push(ext.start); + } + else { + extensions.startInline = [ext.start]; + } + } + } + } + if ('childTokens' in ext && ext.childTokens) { // Child tokens to be visited by walkTokens + extensions.childTokens[ext.name] = ext.childTokens; + } + }); + opts.extensions = extensions; + } + // ==-- Parse "overwrite" extensions --== // + if (pack.renderer) { + const renderer = this.defaults.renderer || new _Renderer(this.defaults); + for (const prop in pack.renderer) { + if (!(prop in renderer)) { + throw new Error(`renderer '${prop}' does not exist`); + } + if (['options', 'parser'].includes(prop)) { + // ignore options property + continue; + } + const rendererProp = prop; + const rendererFunc = pack.renderer[rendererProp]; + const prevRenderer = renderer[rendererProp]; + // Replace renderer with func to run extension, but fall back if false + renderer[rendererProp] = (...args) => { + let ret = rendererFunc.apply(renderer, args); + if (ret === false) { + ret = prevRenderer.apply(renderer, args); + } + return ret || ''; + }; + } + opts.renderer = renderer; + } + if (pack.tokenizer) { + const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults); + for (const prop in pack.tokenizer) { + if (!(prop in tokenizer)) { + throw new Error(`tokenizer '${prop}' does not exist`); + } + if (['options', 'rules', 'lexer'].includes(prop)) { + // ignore options, rules, and lexer properties + continue; + } + const tokenizerProp = prop; + const tokenizerFunc = pack.tokenizer[tokenizerProp]; + const prevTokenizer = tokenizer[tokenizerProp]; + // Replace tokenizer with func to run extension, but fall back if false + // @ts-expect-error cannot type tokenizer function dynamically + tokenizer[tokenizerProp] = (...args) => { + let ret = tokenizerFunc.apply(tokenizer, args); + if (ret === false) { + ret = prevTokenizer.apply(tokenizer, args); + } + return ret; + }; + } + opts.tokenizer = tokenizer; + } + // ==-- Parse Hooks extensions --== // + if (pack.hooks) { + const hooks = this.defaults.hooks || new _Hooks(); + for (const prop in pack.hooks) { + if (!(prop in hooks)) { + throw new Error(`hook '${prop}' does not exist`); + } + if (['options', 'block'].includes(prop)) { + // ignore options and block properties + continue; + } + const hooksProp = prop; + const hooksFunc = pack.hooks[hooksProp]; + const prevHook = hooks[hooksProp]; + if (_Hooks.passThroughHooks.has(prop)) { + // @ts-expect-error cannot type hook function dynamically + hooks[hooksProp] = (arg) => { + if (this.defaults.async) { + return Promise.resolve(hooksFunc.call(hooks, arg)).then(ret => { + return prevHook.call(hooks, ret); + }); + } + const ret = hooksFunc.call(hooks, arg); + return prevHook.call(hooks, ret); + }; + } + else { + // @ts-expect-error cannot type hook function dynamically + hooks[hooksProp] = (...args) => { + let ret = hooksFunc.apply(hooks, args); + if (ret === false) { + ret = prevHook.apply(hooks, args); + } + return ret; + }; + } + } + opts.hooks = hooks; + } + // ==-- Parse WalkTokens extensions --== // + if (pack.walkTokens) { + const walkTokens = this.defaults.walkTokens; + const packWalktokens = pack.walkTokens; + opts.walkTokens = function (token) { + let values = []; + values.push(packWalktokens.call(this, token)); + if (walkTokens) { + values = values.concat(walkTokens.call(this, token)); + } + return values; + }; + } + this.defaults = { ...this.defaults, ...opts }; + }); + return this; + } + setOptions(opt) { + this.defaults = { ...this.defaults, ...opt }; + return this; + } + lexer(src, options) { + return _Lexer.lex(src, options ?? this.defaults); + } + parser(tokens, options) { + return _Parser.parse(tokens, options ?? this.defaults); + } + parseMarkdown(blockType) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const parse = (src, options) => { + const origOpt = { ...options }; + const opt = { ...this.defaults, ...origOpt }; + const throwError = this.onError(!!opt.silent, !!opt.async); + // throw error if an extension set async to true but parse was called with async: false + if (this.defaults.async === true && origOpt.async === false) { + return throwError(new Error('marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.')); + } + // throw error in case of non string input + if (typeof src === 'undefined' || src === null) { + return throwError(new Error('marked(): input parameter is undefined or null')); + } + if (typeof src !== 'string') { + return throwError(new Error('marked(): input parameter is of type ' + + Object.prototype.toString.call(src) + ', string expected')); + } + if (opt.hooks) { + opt.hooks.options = opt; + opt.hooks.block = blockType; + } + const lexer = opt.hooks ? opt.hooks.provideLexer() : (blockType ? _Lexer.lex : _Lexer.lexInline); + const parser = opt.hooks ? opt.hooks.provideParser() : (blockType ? _Parser.parse : _Parser.parseInline); + if (opt.async) { + return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src) + .then(src => lexer(src, opt)) + .then(tokens => opt.hooks ? opt.hooks.processAllTokens(tokens) : tokens) + .then(tokens => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens) + .then(tokens => parser(tokens, opt)) + .then(html => opt.hooks ? opt.hooks.postprocess(html) : html) + .catch(throwError); + } + try { + if (opt.hooks) { + src = opt.hooks.preprocess(src); + } + let tokens = lexer(src, opt); + if (opt.hooks) { + tokens = opt.hooks.processAllTokens(tokens); + } + if (opt.walkTokens) { + this.walkTokens(tokens, opt.walkTokens); + } + let html = parser(tokens, opt); + if (opt.hooks) { + html = opt.hooks.postprocess(html); + } + return html; + } + catch (e) { + return throwError(e); + } + }; + return parse; + } + onError(silent, async) { + return (e) => { + e.message += '\nPlease report this to https://github.com/markedjs/marked.'; + if (silent) { + const msg = '

    An error occurred:

    '
    +                    + escape(e.message + '', true)
    +                    + '
    '; + if (async) { + return Promise.resolve(msg); + } + return msg; + } + if (async) { + return Promise.reject(e); + } + throw e; + }; + } +} + +const markedInstance = new Marked(); +function marked(src, opt) { + return markedInstance.parse(src, opt); +} +/** + * Sets the default options. + * + * @param options Hash of options + */ +marked.options = + marked.setOptions = function (options) { + markedInstance.setOptions(options); + marked.defaults = markedInstance.defaults; + changeDefaults(marked.defaults); + return marked; + }; +/** + * Gets the original marked default options. + */ +marked.getDefaults = _getDefaults; +marked.defaults = _defaults; +/** + * Use Extension + */ +marked.use = function (...args) { + markedInstance.use(...args); + marked.defaults = markedInstance.defaults; + changeDefaults(marked.defaults); + return marked; +}; +/** + * Run callback for every token + */ +marked.walkTokens = function (tokens, callback) { + return markedInstance.walkTokens(tokens, callback); +}; +/** + * Compiles markdown to HTML without enclosing `p` tag. + * + * @param src String of markdown source to be compiled + * @param options Hash of options + * @return String of compiled HTML + */ +marked.parseInline = markedInstance.parseInline; +/** + * Expose + */ +marked.Parser = _Parser; +marked.parser = _Parser.parse; +marked.Renderer = _Renderer; +marked.TextRenderer = _TextRenderer; +marked.Lexer = _Lexer; +marked.lexer = _Lexer.lex; +marked.Tokenizer = _Tokenizer; +marked.Hooks = _Hooks; +marked.parse = marked; +const options = marked.options; +const setOptions = marked.setOptions; +const use = marked.use; +const walkTokens = marked.walkTokens; +const parseInline = marked.parseInline; +const parse = marked; +const parser = _Parser.parse; +const lexer = _Lexer.lex; + +export { _Hooks as Hooks, _Lexer as Lexer, Marked, _Parser as Parser, _Renderer as Renderer, _TextRenderer as TextRenderer, _Tokenizer as Tokenizer, _defaults as defaults, _getDefaults as getDefaults, lexer, marked, options, parse, parseInline, parser, setOptions, use, walkTokens }; +//# sourceMappingURL=marked.esm.js.map \ No newline at end of file diff --git a/show-error.mjs b/show-error.mjs new file mode 100644 index 0000000..0c9d53e --- /dev/null +++ b/show-error.mjs @@ -0,0 +1,21 @@ +export default fetch('/error.txt').then(r=>{ + if(r.ok) { + return r.text(); + } else { + throw(''); + } +}).then(text => { + if(!text) { + return false; + } + document.body.innerHTML = ''; + const error_show = document.createElement('pre'); + error_show.setAttribute('id','build-error'); + error_show.style.background = 'black'; + error_show.style.color = 'white'; + error_show.style.padding = '1em'; + error_show.style['font-size'] = '16px'; + error_show.textContent = text; + document.body.appendChild(error_show); + return true; +}).catch(e => false); diff --git a/src/App.elm b/src/App.elm new file mode 100644 index 0000000..d576351 --- /dev/null +++ b/src/App.elm @@ -0,0 +1,426 @@ +port module App exposing (..) + +import Browser +import Dict exposing (Dict) +import Html as H exposing (Html) +import Html.Attributes as HA +import Html.Events as HE +import Json.Decode as JD +import Json.Encode as JE +import LatLonDistance exposing (lat_lon_distance, LatLon) +import List.Extra as LE +import Tuple exposing (pair, first, second) + +port receive_position : (JD.Value -> msg) -> Sub msg + +port send_value : JD.Value -> Cmd msg + +main = Browser.document + { init = init + , update = update + , subscriptions = subscriptions + , view = view + } + +type alias Marker = + { pos : LatLon + , icon : String + , name : String + , note : String + } + +type Selection + = NoSelection + | SelectedPosition LatLon + | SelectedMarker Int + | EditingMarker Int Marker + +blank_marker = + { pos = {lat = 0, lon = 0} + , icon = "📌" + , name = "" + , note = "" + } + +type MapCentre + = NoCentre + | CurrentPositionCentre + | PositionCentre LatLon + +type alias Model = + { markers : List Marker + , emoji : List Emoji + , current_position : LatLon + , selection : Selection + , new_marker : Marker + , accuracy : Float + , centre : MapCentre + } + +init_model = + { markers = [] + , emoji = [] + , current_position = {lat = 55.05155870729228, lon = -1.4652193740914812} + , selection = NoSelection + , new_marker = blank_marker + , accuracy = 0 + , centre = CurrentPositionCentre + } + +type Msg + = ReceivePosition JD.Value + | MapClicked LatLon + | MarkerClicked Int + | AddMarker + | UpdateNewMarker Marker + | UpdateExistingMarker Int Marker + | EditMarker Int Marker + | RemoveMarker Int + | ClickCurrentPosition + +type alias Emoji = + { emoji : String + , description : String + } + +decode_emoji = + JD.map2 Emoji + (JD.field "emoji" JD.string) + (JD.field "description" JD.string) + +type alias Flags = + { emoji : List Emoji + , markers : List Marker + } + +decode_flags = + JD.map2 Flags + (JD.field "emoji" (JD.list decode_emoji)) + (JD.field "markers" (JD.list decode_marker)) + +init : (JD.Value) -> (Model, Cmd msg) +init vflags = + (case JD.decodeValue decode_flags vflags of + Err _ -> init_model + Ok flags -> { init_model | emoji = flags.emoji, markers = flags.markers } + ) |> nocmd + +nocmd m = (m, Cmd.none) + +save : Model -> (Model, Cmd Msg) +save model = + (model + , send_value + <| JE.object + [ ("type", JE.string "save") + , ("markers", JE.list identity <| List.indexedMap (\i m -> encode_marker (String.fromInt i) m) model.markers) + ] + ) + +update msg model = + case msg of + ReceivePosition v -> case JD.decodeValue decode_position v of + Ok (pos, accuracy) -> { model | current_position = pos, accuracy = accuracy } |> nocmd + _ -> model |> nocmd + + MapClicked pos -> case model.selection of + NoSelection -> + let + m = model.new_marker + in + { model | selection = SelectedPosition pos, new_marker = { m | pos = pos } } |> nocmd + _ -> { model | selection = NoSelection } |> nocmd + + MarkerClicked i -> + let + marker = LE.getAt i model.markers + pos = marker |> Maybe.map .pos + centre = case pos of + Just p -> PositionCentre p + Nothing -> model.centre + in + { model | selection = SelectedMarker i, centre = centre } |> nocmd + + AddMarker -> add_marker model |> save + + UpdateNewMarker marker -> { model | new_marker = marker } |> nocmd + + UpdateExistingMarker i marker -> { model | markers = LE.setAt i marker model.markers, selection = SelectedMarker i } |> save + + EditMarker i marker -> { model | selection = EditingMarker i marker } |> nocmd + + RemoveMarker i -> { model | markers = LE.removeAt i model.markers, selection = NoSelection } |> save + + ClickCurrentPosition -> { model | centre = CurrentPositionCentre, selection = NoSelection } |> nocmd + +add_marker model = case model.selection of + SelectedPosition pos -> + let + nm = model.new_marker + marker = { nm | pos = pos } + in + { model | markers = marker::model.markers, selection = SelectedMarker 0, new_marker = blank_marker } + + _ -> model + +-- For coordinates from the geolocation API +decode_latlon : JD.Decoder LatLon +decode_latlon = + JD.map2 LatLon + (JD.field "latitude" JD.float) + (JD.field "longitude" JD.float) + +-- For coordinates from leafletjs +decode_latlng : JD.Decoder LatLon +decode_latlng = + JD.map2 LatLon + (JD.field "lat" JD.float) + (JD.field "lng" JD.float) + +decode_position : JD.Decoder (LatLon, Float) +decode_position = JD.map2 pair decode_latlon (JD.field "accuracy" JD.float) + +decode_map_click = + JD.at ["detail", "latlng"] decode_latlng + |> JD.map MapClicked + +encode_latlng : LatLon -> JE.Value +encode_latlng pos = + JE.object + [ ("lat", JE.float pos.lat) + , ("lng", JE.float pos.lon) + ] + +decode_marker : JD.Decoder Marker +decode_marker = + JD.map4 Marker + (JD.field "pos" decode_latlng) + (JD.field "icon" JD.string) + (JD.field "name" JD.string) + (JD.field "note" JD.string) + +encode_marker : String -> Marker -> JD.Value +encode_marker id marker = + JE.object + [ ("id", JE.string id) + , ("pos", encode_latlng marker.pos) + , ("icon", JE.string marker.icon) + , ("note", JE.string marker.note) + , ("name", JE.string marker.name) + ] + +splitAt : String -> String -> (String, String) +splitAt sep str = + if str == "" then ("","") else + if String.left (String.length sep) str == sep then + ("", String.dropLeft (String.length sep) str) + else + let + (a,b) = splitAt sep (String.dropLeft 1 str) + in + ((String.left 1 str)++a, b) + + +decode_marker_click = + JD.at ["detail","id"] JD.string + |> JD.andThen + (\id -> + let + (l,r) = splitAt "-" id + in + case id of + "current-position" -> JD.succeed ClickCurrentPosition + _ -> case l of + "marker" -> case String.toInt r of + Just i -> JD.succeed (MarkerClicked i) + Nothing -> JD.fail <| "Invalid int "++r + _ -> JD.fail <| "Invalid marker type "++l + ) + +subscriptions model = + Sub.batch + [ receive_position ReceivePosition + ] + +display_distance : Float -> String +display_distance d = + let + digits = max 1 (floor (logBase 10 d)) + magnitude = (10^digits) + in + if digits < 4 then (d/(toFloat magnitude) |> round |> (*) magnitude |> String.fromInt) ++ "m" + else ((d/1000) |> round |> String.fromInt) ++ "km" + +string_from_coords : LatLon -> String +string_from_coords c = (String.fromFloat c.lat) ++ "," ++ (String.fromFloat c.lon) + +marker_link label i m = + H.a + [ HE.onClick (MarkerClicked i) + , HA.href <| "#marker-"++(String.fromInt i) + ] + [ H.text label ] + +space = H.text " " + +view : Model -> Browser.Document Msg +view model = + let + new_marker = model.new_marker + + selected_marker : List (String, Marker) + selected_marker = case model.selection of + SelectedPosition pos -> [("",{ new_marker | pos = pos })] + _ -> [] + + existing_markers : List (String, Marker) + existing_markers = List.indexedMap (\i m -> ("marker-"++(String.fromInt i), m)) model.markers + + current_position_marker = [("current-position", { blank_marker | icon = "😀", pos = model.current_position })] + + markers = + (current_position_marker ++ existing_markers ++ selected_marker) + |> JE.list (\(id,m) -> encode_marker id m) + |> JE.encode 0 + + edit_marker_form marker update_msg submit extra_elements = + H.form + [ HE.onSubmit submit + , HA.id "marker-form" + , HA.class "marker-detail" + ] + ([ H.p [] [H.text <| Debug.toString marker.pos] + , H.p + [] + [ H.label [ HA.for "marker-name" ] [ H.text "Name" ] + , H.input + [ HA.type_ "text" + , HA.id "marker-name" + , HA.value marker.name + , HE.onInput (\s -> update_msg {marker | name = s }) + ] + [] + , H.label [ HA.for "marker-icon" ] [ H.text "Icon" ] + , H.input + [ HA.type_ "text" + , HA.id "marker-icon" + , HA.list "emoji" + , HA.value marker.icon + , HE.onInput (\s -> update_msg {marker | icon = s }) + ] + [] + ] + , H.p + [] + [ H.label [ HA.for "marker-note" ] [ H.text "Note" ] + , H.textarea + [ HA.id "marker-note" + , HA.value marker.note + , HE.onInput (\s -> update_msg {marker | note = s }) + ] + [] + ] + , H.datalist + [ HA.id "emoji" ] + (model.emoji |> List.map (\e -> H.option [HA.value e.emoji] [H.text <| e.emoji ++ " " ++ e.description])) + + ]++extra_elements) + + form = case model.selection of + SelectedPosition pos -> + edit_marker_form + model.new_marker + UpdateNewMarker + AddMarker + [ H.p [] [H.button [ HA.type_ "submit" ] [ H.text "Add a marker here" ]] + ] + + SelectedMarker i -> case LE.getAt i model.markers of + Just marker -> + H.div + [ HA.class "marker-detail" ] + [ H.h2 + [] + [ H.button + [ HA.type_ "button" + , HE.onClick (EditMarker i marker) + ] + [ H.text "Edit" ] + , space + , H.span [ HA.class "icon" ] [H.text marker.icon ] + , space + , H.text marker.name + ] + , H.node "mark-down" + [] + [ H.text marker.note ] + ] + + Nothing -> H.div [] [H.text ""] + + EditingMarker i marker -> + edit_marker_form + marker + (EditMarker i) + (UpdateExistingMarker i marker) + [ H.p + [] + [ H.button [ HA.type_ "submit" ] [ H.text "Update" ] + , space + , H.button [ HA.type_ "button", HE.onClick (RemoveMarker i) ] [ H.text "Delete" ] + , space + , marker_link "Cancel" i marker + ] + ] + + NoSelection -> + H.div + [ HA.id "menu" + , HA.class "marker-detail" + ] + [ H.h1 [] [ H.text "Closest markers" ] + , H.ul + [] + (List.map (\(i,m) -> + H.li [] + [ marker_link (m.icon ++ " " ++ m.name) i m ] + ) + (closest_markers |> List.take 3) + ) + ] + + closest_markers = + model.markers + |> List.indexedMap pair + |> List.sortBy (second >> .pos >> lat_lon_distance model.current_position) + + selection_str = case model.selection of + NoSelection -> "none" + SelectedPosition _ -> "position" + SelectedMarker _ -> "viewing-marker" + EditingMarker _ _ -> "editing-marker" + + (centre_mode, centre) = case model.centre of + NoCentre -> (False, model.current_position) + CurrentPositionCentre -> (True, model.current_position) + PositionCentre pos -> (True, pos) + in + { + title = "CLP's map", + body = + [ H.main_ + [ HA.attribute "data-selection" selection_str + ] + [ form + , H.node "leaflet-map" + [ HA.attribute "markers" <| markers + , HA.attribute "lat" <| String.fromFloat centre.lat + , HA.attribute "lon" <| String.fromFloat centre.lon + , HA.attribute "centre" <| if centre_mode then "true" else "false" + , HE.on "mapclick" decode_map_click + , HE.on "markerclick" decode_marker_click + ] + [] + ] + ] + } \ No newline at end of file diff --git a/src/LatLonDistance.elm b/src/LatLonDistance.elm new file mode 100644 index 0000000..aea69bf --- /dev/null +++ b/src/LatLonDistance.elm @@ -0,0 +1,50 @@ +module LatLonDistance exposing (lat_lon_distance, LatLon) + +type alias LatLon = { lat : Float, lon : Float } + +lat_lon_distance : LatLon -> LatLon -> Float +lat_lon_distance p1 p2 = + let + a = 6378137.0 + b = 6356752.314245 + f = 1 / 298.257223563 + lat1 = degrees p1.lat + lat2 = degrees p2.lat + lon1 = degrees p1.lon + lon2 = degrees p2.lon + + dlon = (lon2 - lon1) + + tanU1 = (1-f) * (tan lat1) + cosU1 = 1 / (sqrt (1 + tanU1 * tanU1)) + sinU1 = tanU1 * cosU1 + + tanU2 = (1-f) * (tan lat2) + cosU2 = 1 / (sqrt (1 + tanU2*tanU2)) + sinU2 = tanU2 * cosU2 + + approx lon = + let + sinlon = sin lon + coslon = cos lon + sinSqsigma = (cosU2*sinlon) * (cosU2*sinlon) + (cosU1*sinU2-sinU1*cosU2*coslon) ^ 2 + sinsigma = sqrt sinSqsigma + cossigma = sinU1*sinU2 + cosU1*cosU2*coslon + sigma = atan2 sinsigma cossigma + sinalpha = cosU1 * cosU2 * sinlon / sinsigma + cosSqalpha = 1 - sinalpha*sinalpha + cos2sigma_m = cossigma - 2*sinU1*sinU2/cosSqalpha + c = f/16*cosSqalpha*(4+f*(4-3*cosSqalpha)) + lon_ = dlon + (1-c) * f * sinalpha * (sigma + c*sinsigma*(cos2sigma_m+c*cossigma*(-1+2*cos2sigma_m*cos2sigma_m))) + + uSq = cosSqalpha * (a*a - b*b) / (b*b) + biga = 1 + uSq/16384*(4096+uSq*(-768+uSq*(320-175*uSq))) + bigb = uSq/1024 * (256+uSq*(-128+uSq*(74-47*uSq))) + deltasigma = bigb*sinsigma*(cos2sigma_m+bigb/4*(cossigma*(-1+2*cos2sigma_m*cos2sigma_m)-bigb/6*cos2sigma_m*(-3+4*sinsigma*sinsigma)*(-3+4*cos2sigma_m*cos2sigma_m))) + + s = b*biga*(sigma-deltasigma) + + in + if abs (lon - lon_) > 1e-12 then (approx lon_) else s + in + approx dlon \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..c8bf90b --- /dev/null +++ b/style.css @@ -0,0 +1,76 @@ +body { + margin: 0; +} + +:is(h1,h2,h3):first-child { + margin-top: 0; +} + +body > main { + display: grid; + grid-template: + "text" auto + "map" 1fr + ; + width: 100svw; + height: 100svh; + margin: 0; + +} + +.marker-detail { + padding: 0 1em; + max-height: 70svh; + overflow: auto; +} + +#marker-form { + & label { + margin: 0 0.5em; + } + + & input { + margin: 0.25em; + } + + & textarea { + width: 100%; + height: 5em; + resize: none; + overflow: auto; + } + + & #marker-icon { + width: 5em; + } +} + +@media (orientation: landscape) { + body > main { + grid-template: + "text map" 1fr + / min(20em,50svw) 1fr + ; + } + .marker-detail { + max-height: 100svh; + } + + #marker-form { + & textarea { + height: 70svh; + } + } +} + +#menu { + + & li ~ li { + margin-top: 0.5em; + } +} + +leaflet-map { + display: block; + height: 100%; +} \ No newline at end of file