diff --git a/404.php b/404.php
index a9a29c36..b28dbd25 100644
--- a/404.php
+++ b/404.php
@@ -1,6 +1,7 @@
= 5.3
-2. MySQL/MariaDB server
-3. [mbstring](http://www.php.net/manual/en/mbstring.installation.php)
-4. [PHP GD](http://www.php.net/manual/en/intro.image.php)
-5. [PHP PDO](http://www.php.net/manual/en/intro.pdo.php)
-
-We try to make sure vichan is compatible with all major web servers and
-operating systems. vichan does not include an Apache ```.htaccess``` file nor does
-it need one.
-
-### Recommended
-1. MySQL/MariaDB server >= 5.5.3
-2. ImageMagick (command-line ImageMagick or GraphicsMagick preferred).
-3. [APC (Alternative PHP Cache)](http://php.net/manual/en/book.apc.php),
- [XCache](http://xcache.lighttpd.net/) or
- [Memcached](http://www.php.net/manual/en/intro.memcached.php)
-
-Contributing
-------------
-You can contribute to vichan by:
-* Developing patches/improvements/translations and using GitHub to submit pull requests
-* Providing feedback and suggestions
-* Writing/editing documentation
-
-If you need help developing a patch, please join our IRC channel.
-
-Installation
--------------
-1. Download and extract Tinyboard to your web directory or get the latest
- development version with:
-
- git clone git://github.com/ctrlcctrlv/8chan.git
-
-2. Copy secrets.example.php to secrets.php and edit it.
-
-3. Navigate to ```install.php``` in your web browser and follow the
- prompts.
-4. vichan should now be installed. Log in to ```mod.php``` with the
- default username and password combination: **admin / password**.
-
-Please remember to change the administrator account password.
-
-See also: [Configuration Basics](http://tinyboard.org/docs/?p=Config).
-
-Upgrade
--------
-To upgrade from any version of Tinyboard or vichan:
-
-Either run ```git pull``` to update your files, if you used git, or
-backup your ```inc/instance-config.php```, replace all your files in place
-(don't remove boards etc.), then put ```inc/instance-config.php``` back and
-finally run ```install.php```.
-
-Support
---------
-vichan is still beta software -- there are bound to be bugs. If you find a
-bug, please report it.
-
-If you need assistance with installing, configuring, or using vichan, you may
-find support from a variety of sources:
-
-* If you're unsure about how to enable or configure certain features, make
- sure you have read the comments in ```inc/config.php```.
-* Check out an [official vichan board](http://int.vichan.net/devel/).
-* You can join vichan's IRC channel for support
- [irc.6irc.net #vichan-devel](irc://irc.6irc.net/vichan-devel)
-
-### Tinyboard support
-8chan is based on a Tinyboard, so both engines have very much in common. These
-links may be helpful for you as well:
-
-* Tinyboard documentation can be found [here](http://tinyboard.org/docs/).
-* You can join Tinyboard's IRC channel for support and general queries:
- [irc.datnode.net #tinyboard](irc://irc.datnode.net/tinyboard).
-* You may find help at [tinyboard.org](http://tinyboard.org/#help).
-
-Donations
----------
-Do you like our work? You can motivate us financially to do better ;)
-* Bitcoin: [](http://tip4commit.com/projects/708)
-
-You can also ask us to develop some feature specially for you <3. Join our IRC
-channel and ask for a quote (there are a few of us, who work with the codebase
-and are skilled enough to develop such features pretty quickly).
-
-CLI tools
------------------
-There are a few command line interface tools, based on Tinyboard-Tools. These need
-to be launched from a Unix shell account (SSH, or something). They are located in a ```tools/```
-directory.
-
-You actually don't need these tools for your imageboard functioning, they are aimed
-at the power users. You won't be able to run these from shared hosting accounts
-(i.e. all free web servers).
-
-Localisation
-------------
-Want to have vichan/8chan in your language? You can contribute your translations at this URL:
-
-https://www.transifex.com/projects/p/tinyboard-vichan-devel/
-
-Oekaki
-------
-vichan makes use of [wPaint](https://github.com/websanova/wPaint) for oekaki. After you pull the repository, however, you will need to download wPaint separately using git's `submodule` feature. Use the following commands:
+Because I cannot be bothered to maintain `install.php`, the install process is as such:
```
-git submodule init
-git submodule update
+mysql -uroot 8chan < install.sql
+echo '8chan' > .installed
```
-To enable oekaki, add all the scripts listed in `js/wpaint.js` to your `instance-config.php`.
+Here's my install script as of 11/14/2014 for the 8chan servers which run Ubuntu 14.04:
-WebM support
-------------
-Read `inc/lib/webm/README.md` for information about enabling webm.
-
-Static Pages
-------------
-Some pages like `/faq.html` need to be pre-generated:
```
-$ php faq.php > faq.html
+apt-get install graphicsmagick gifsicle php5-fpm mysql-client php5-mysql php5-cli php-pear php5-apcu; add-apt-repository ppa:jon-severinsson/ffmpeg; add-apt-repository ppa:nginx/stable; apt-get update; apt-get install nginx ffmpeg; pear install Net_DNS2
```
-vichan API
-----------
-vichan provides by default a 4chan-compatible JSON API. For documentation on this, see:
-https://github.com/vichan-devel/vichan-API/ .
-
-License
---------
-See [LICENSE.md](http://github.com/vichan-devel/vichan/blob/master/LICENSE.md).
-
+Have fun!
diff --git a/banned.php b/banned.php
deleted file mode 100644
index 57e4a9bc..00000000
--- a/banned.php
+++ /dev/null
@@ -1,7 +0,0 @@
-
"._("Banned?")."";
- print "
"._("You are not banned.")."
";
- print "";
-?>
diff --git a/banners.php b/banners.php
index 10604ea8..fd345cc9 100644
--- a/banners.php
+++ b/banners.php
@@ -8,7 +8,7 @@ header("Expires: 0");
function get_custom_banner(&$b) {
# Validate the board name
- if (!(isset($b) && preg_match('/^[a-z0-9]{1,10}$/', $b)))
+ if (!(isset($b) && preg_match('/^[a-z0-9+]{1,30}$/', $b)))
return null;
# Check if directory exists
diff --git a/boards.php b/boards.php
index f22cb524..de7f15e8 100644
--- a/boards.php
+++ b/boards.php
@@ -10,10 +10,17 @@ if (php_sapi_name() == 'fpm-fcgi' && !$admin) {
error('Cannot be run directly.');
}
$boards = listBoards();
-
+$all_tags = array();
$total_posts_hour = 0;
$total_posts = 0;
+function to_tag($str) {
+ $str = trim($str);
+ $str = strtolower($str);
+ $str = str_replace(['_', ' '], '-', $str);
+ return $str;
+}
+
foreach ($boards as $i => $board) {
//$query = prepare(sprintf("SELECT (SELECT MAX(id) from ``posts_%s``) AS max, (SELECT MAX(id) FROM ``posts_%s`` WHERE FROM_UNIXTIME(time) < DATE_SUB(NOW(), INTERVAL 1 HOUR)) AS oldmax, (SELECT MAX(id) from ``posts_%s``) AS max_d, (SELECT MAX(id) FROM ``posts_%s`` WHERE FROM_UNIXTIME(time) < DATE_SUB(NOW(), INTERVAL 1 DAY)) AS oldmax_d, (SELECT count(id) FROM ``posts_%s``) AS count;", $board['uri'], $board['uri'], $board['uri'], $board['uri'], $board['uri']));
@@ -28,6 +35,23 @@ SELECT MAX(id) max, (SELECT COUNT(*) FROM ``posts_%s`` WHERE FROM_UNIXTIME(time)
$query->execute() or error(db_error($query));
$r = $query->fetch(PDO::FETCH_ASSOC);
+ $tquery = prepare("SELECT `tag` FROM ``board_tags`` WHERE `uri` = :uri");
+ $tquery->execute([":uri" => $board['uri']]) or error(db_error($tquery));
+ $r2 = $tquery->fetchAll(PDO::FETCH_ASSOC);
+
+ $tags = array();
+ if ($r2) {
+ foreach ($r2 as $ii => $t) {
+ $tag=to_tag($t['tag']);
+ $tags[] = $tag;
+ if (!isset($all_tags[$tag])) {
+ $all_tags[$tag] = (int)$r['uniq_ip'];
+ } else {
+ $all_tags[$tag] += $r['uniq_ip'];
+ }
+ }
+ }
+
$pph = $r['pph'];
$ppd = $r['ppd'];
@@ -38,6 +62,7 @@ SELECT MAX(id) max, (SELECT COUNT(*) FROM ``posts_%s`` WHERE FROM_UNIXTIME(time)
$boards[$i]['ppd'] = $ppd;
$boards[$i]['max'] = $r['max'];
$boards[$i]['uniq_ip'] = $r['uniq_ip'];
+ $boards[$i]['tags'] = $tags;
}
usort($boards,
@@ -86,14 +111,18 @@ foreach ($boards as $i => &$board) {
$n_boards = sizeof($boards);
$t_boards = $hidden_boards_total + $n_boards;
+$boards = array_values($boards);
+arsort($all_tags);
+
$config['additional_javascript'] = array('js/jquery.min.js', 'js/jquery.tablesorter.min.js');
-$body = Element("8chan/boards.html", array("config" => $config, "n_boards" => $n_boards, "t_boards" => $t_boards, "hidden_boards_total" => $hidden_boards_total, "total_posts" => $total_posts, "total_posts_hour" => $total_posts_hour, "boards" => $boards, "last_update" => date('r'), "uptime_p" => shell_exec('uptime -p')));
+$body = Element("8chan/boards-tags.html", array("config" => $config, "n_boards" => $n_boards, "t_boards" => $t_boards, "hidden_boards_total" => $hidden_boards_total, "total_posts" => $total_posts, "total_posts_hour" => $total_posts_hour, "boards" => $boards, "last_update" => date('r'), "uptime_p" => shell_exec('uptime -p'), 'tags' => $all_tags));
$html = Element("page.html", array("config" => $config, "body" => $body, "title" => "Boards on ∞chan"));
if ($admin) {
echo $html;
} else {
file_write("boards.json", json_encode($boards));
+ file_write("tags.json", json_encode($all_tags));
foreach ($boards as $i => $b) {
if (in_array($b['uri'], $config['no_top_bar_boards'])) {
unset($boards[$i]);
diff --git a/claim.php b/claim.php
index edc6669a..a07ccadf 100644
--- a/claim.php
+++ b/claim.php
@@ -1,5 +1,61 @@
execute();
+ $row = $query->fetch();
+ $ago = (new DateTime)->sub(new DateInterval('P1W'));
+ $mod_ago = (new DateTime)->sub(new DateInterval('P2W'));
-error('Automatic claiming is no longer available. To claim a board, send your request to admin@8chan.co along with the IP you used to post on that board.');
+ $last_activity_date = new DateTime();
+ $last_mod_date = new DateTime();
+
+ $last_activity_date->setTimestamp($row['time']);
+
+ $query = query("SELECT id, username FROM mods WHERE boards = '$board' AND type = 20");
+ $mods = $query->fetchAll();
+
+ if ($mods) {
+ $mod = $mods[0]['id'];
+ $query = query("SELECT MAX(time) AS time FROM modlogs WHERE `mod` = $mod");
+ $a = $query->fetchAll(PDO::FETCH_COLUMN);
+
+ if ($a[0]) {
+ $last_mod_date->setTimestamp($a[0]);
+ if (!$row['time'])
+ $last_activity_date->setTimestamp($a[0]);
+ } else {// no one ever logged in, try board creation time
+ $query = query("SELECT UNIX_TIMESTAMP(time) AS time FROM board_create WHERE uri = '$board'");
+ $crt = $query->fetchAll(PDO::FETCH_COLUMN);
+ $last_activity_date->setTimestamp($crt[0]);
+ $last_mod_date = false;
+ }
+ }
+
+ if ($mods and ($last_activity_date < $ago or ($last_mod_date and $last_mod_date < $mod_ago))) {
+ return array($last_activity_date, $last_mod_date, $mods);
+ }
+ else {
+ return false;
+ }
+}
+$q = query("SELECT uri FROM boards");
+$boards = $q->fetchAll(PDO::FETCH_COLUMN);
+$delete = array();
+foreach($boards as $board) {
+ $last_activity = last_activity($board);
+
+ if ($last_activity) {
+ list($last_activity_date, $last_mod_date, $mods) = $last_activity;
+
+ $last_mod_f = $last_mod_date ? $last_mod_date->format('Y-m-d H:i:s') : 'never';
+ $last_activity_f = $last_activity_date ? $last_activity_date->format('Y-m-d H:i:s') : 'never';
+ $delete[] = array('board' => $board, 'last_activity_date' => $last_activity_f, 'last_mod' => $last_mod_date, 'last_mod_f' => $last_mod_f);
+ }
+}
+$body = Element("8chan/claim.html", array("config" => $config, "delete" => $delete));
+echo Element("page.html", array("config" => $config, "body" => $body, "title" => _("Claim"), "subtitle" => _("Take deserted boards back from their owners")));
diff --git a/expire.php b/expire.php
index e24b69cf..8ca0789f 100644
--- a/expire.php
+++ b/expire.php
@@ -8,8 +8,8 @@ $protected = array('burgers', 'cow', 'wilno', 'cute', 'yoga');
$q = query("SELECT uri FROM boards");
$boards = $q->fetchAll(PDO::FETCH_COLUMN);
$now = new DateTime();
-$ago = (new DateTime)->sub(new DateInterval('P3D'));
-$mod_ago = (new DateTime)->sub(new DateInterval('P7D'));
+$ago = (new DateTime)->sub(new DateInterval('P7D'));
+$mod_ago = (new DateTime)->sub(new DateInterval('P14D'));
// Find out the last activity for our board
$delete = array();
diff --git a/faq.php b/faq.php
index 6c039741..6261af42 100644
--- a/faq.php
+++ b/faq.php
@@ -26,6 +26,7 @@ $body = <<Do not post, request, or link to any content illegal in the United States of America. Do not create boards with the sole purpose of posting or spreading such content.
Other than that, you are free to institute whatever rules you want on your board.
You may do this in your board settings, click on "Edit board volunteers".
How do I manage my board?
@@ -34,9 +35,9 @@ $body = <<The admin can be reached at admin at 8chan dot co.
Help! My board has been deleted!
-
Were you inactive for longer than one week? Were there no posts on the board for 72 hours?
+
As of November 13th, 2014, board expiration no longer occurs.
-
If either of those is true, the board was deleted automatically. You are free to recreate it. I cannot restore it, so don't bother emailing me about it.
+
You still may lose access to your board, however, if you fail to log in for two weeks or it receives no posts for a week. See here for a list of boards that are available for reclaiming.
@@ -47,7 +48,7 @@ $body = <<If they are doing something illegal, email me.
Can you give me X board?
-
If the owner of the board is inactive or the board is broken due to bad CSS, sure. Send me an email.
+
If the owner of the board is inactive or the board is broken due to bad CSS, sure. Send me an email. You can see a list of boards that qualify for being taken over here.
Can you add some new feature?
Open a Github issue. Better yet, write it yourself and open a pull request.
@@ -65,9 +66,9 @@ $body = <<
How are featured boards chosen?
-
Top fifteen boards excluding /meta/, /b/ and /int/.
+
Top fifteen boards excluding /meta/, /b/ and /news+/.
-
Who owns /meta/, /b/, and /int/?
+
Who owns /meta/ and /b/?
No one, so they are de facto property of the administration.
Where's the mobile app?
@@ -76,12 +77,22 @@ $body = <<I don't provide support for this app, ask the developer of it if you have a problem with it.
Where's the archive?
-
There isn't one yet and there will never be an official archive.
+
There isn't one yet and there will never be an official archive.
+
Given that archives are inevitable and will be created anyway via archive.today, Google cache, and anyone who installs Asagi, I'm softening my stance on this. Currently, 8archive.moe provides our archive, and I may set up an official one. All archives officially partnered with us will be opt-in by our board owners, not opt-out. Archives who archive boards that have not opted in will be considered pirate archives, and legal action may be taken.
+
+
I got an email from an @8chan.co email address, is that you?
+
8chan.co uses cock.li to manage our domain's email. cock.li allows anyone to create an email account @8chan.co.
+
That said, we have quite a few official 8chan.co email addresses. They are:
+
+
admin at 8chan dot co
+
dmca at 8chan dot co
+
claim at 8chan dot co
+
How do I donate?
-
Donations can be sent to 1NpQaXqmCBji6gfX8UgaQEmEstvVY7U32C (Bitcoin) or LUPgSCJt3iGeJXUETVhmnbQ89Riaq1yjZm (Litecoin). PayPal is also accepted @ fredrick.brennan1@gmail.com .
+
Donations can be sent to 1NpQaXqmCBji6gfX8UgaQEmEstvVY7U32C (Bitcoin) or LUPgSCJt3iGeJXUETVhmnbQ89Riaq1yjZm (Litecoin).
+
I am also a big fan of Monero (XMR). You can send XMR to our OpenAlias in the simplewallet client, or simply send to 49dBJhGhYFxJEfydS6hH6GRyg1W4cDgupdNVtw7j1WtcUY7xPXwNLw6fUVay644viaCcEhMFG1Z7SjjxRXEFDdNWJdvH9kS.
')));
file_write($b.'/rules.txt', $_POST['rules']);
$_config = $config;
- openBoard($b);
+ // Faster than openBoard and bypasses cache...we're trusting the PHP output
+ // to be safe enough to run with every request, we can eval it here.
+ eval(str_replace('flags.php', "$b/flags.php", preg_replace('/^\<\?php$/m', '', $config_file)));
// be smarter about rebuilds...only some changes really require us to rebuild all threads
- if ($_config['blotter'] != $config['blotter'] || $_config['field_disable_name'] != $config['field_disable_name'] || $_config['show_sages'] != $config['show_sages']) {
+ if ($_config['captcha']['enabled'] != $config['captcha']['enabled']
+ || $_config['captcha']['extra'] != $config['captcha']['extra']
+ || $_config['blotter'] != $config['blotter']
+ || $_config['field_disable_name'] != $config['field_disable_name']
+ || $_config['show_sages'] != (isset($config['show_sages']) && $config['show_sages'])) {
buildIndex();
$query = query(sprintf("SELECT `id` FROM ``posts_%s`` WHERE `thread` IS NULL", $b)) or error(db_error());
while ($post = $query->fetch(PDO::FETCH_ASSOC)) {
diff --git a/inc/bans.php b/inc/bans.php
index 14b7f939..215ff279 100644
--- a/inc/bans.php
+++ b/inc/bans.php
@@ -218,14 +218,8 @@ class Bans {
}
unset($ban['type']);
if ($filter_ips || ($board_access !== false && !in_array($ban['board'], $board_access))) {
- @list($ban['mask'], $subnet) = explode("/", $ban['mask']);
- $ban['mask'] = preg_split("/[\.:]/", $ban['mask']);
- $ban['mask'] = array_slice($ban['mask'], 0, 2);
- $ban['mask'] = implode(".", $ban['mask']);
- $ban['mask'] .= ".x.x";
- if (isset ($subnet)) {
- $ban['mask'] .= "/$subnet";
- }
+ $ban['mask'] = @less_ip($ban['mask']);
+
$ban['masked'] = true;
}
diff --git a/inc/config.php b/inc/config.php
index 10c9faa5..1769ed6a 100644
--- a/inc/config.php
+++ b/inc/config.php
@@ -272,6 +272,8 @@
'embed',
'recaptcha_challenge_field',
'recaptcha_response_field',
+ 'captcha_cookie',
+ 'captcha_text',
'spoiler',
'page',
'file_url',
@@ -300,6 +302,19 @@
$config['recaptcha_public'] = '6LcXTcUSAAAAAKBxyFWIt2SO8jwx4W7wcSMRoN3f';
$config['recaptcha_private'] = '6LcXTcUSAAAAAOGVbVdhmEM1_SyRF4xTKe8jbzf_';
+ $config['captcha'] = array();
+
+ // Enable custom captcha provider
+ $config['captcha']['enabled'] = false;
+
+ // Custom captcha provider path
+ $config['captcha']['provider_get'] = 'http://8chan.vichan.net/captcha/entrypoint.php';
+ $config['captcha']['provider_check'] = 'http://8chan.vichan.net/captcha/entrypoint.php';
+
+ // Custom captcha extra field (eg. charset)
+ $config['captcha']['extra'] = 'abcdefghijklmnopqrstuvwxyz';
+
+
/*
* Custom filters detect certain posts and reject/ban accordingly. They are made up of a condition and an
* action (for when ALL conditions are met). As every single post has to be put through each filter,
@@ -602,6 +617,17 @@
// How many ban appeals can be made for a single ban?
$config['ban_appeals_max'] = 1;
+
+ // Blacklisted board names. Default values to protect existing folders in the core codebase.
+ $config['banned_boards'] = array(
+ '.git',
+ 'inc',
+ 'js',
+ 'static',
+ 'stylesheets',
+ 'templates',
+ 'tools'
+ );
// Show moderator name on ban page.
$config['show_modname'] = false;
@@ -727,7 +753,6 @@
// Allowed image file extensions.
$config['allowed_ext'][] = 'jpg';
$config['allowed_ext'][] = 'jpeg';
- $config['allowed_ext'][] = 'bmp';
$config['allowed_ext'][] = 'gif';
$config['allowed_ext'][] = 'png';
// $config['allowed_ext'][] = 'svg';
@@ -745,6 +770,7 @@
$config['file_icons']['default'] = 'file.png';
$config['file_icons']['zip'] = 'zip.png';
$config['file_icons']['webm'] = 'video.png';
+ $config['file_icons']['mp4'] = 'video.png';
// Example: Custom thumbnail for certain file extension.
// $config['file_icons']['extension'] = 'some_file.png';
@@ -858,7 +884,7 @@
$config['thread_subject_in_title'] = false;
// Additional lines added to the footer of all pages.
- $config['footer'][] = _('All trademarks, copyrights, comments, and images on this page are owned by and are the responsibility of their respective parties.');
+ // $config['footer'][] = _('All trademarks, copyrights, comments, and images on this page are owned by and are the responsibility of their respective parties.');
// Characters used to generate a random password (with Javascript).
$config['genpassword_chars'] = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+';
@@ -1057,6 +1083,7 @@
$config['error']['youaremuted'] = _('You are muted! Expires in %d seconds.');
$config['error']['dnsbl'] = _('Your IP address is listed in %s.');
$config['error']['toomanylinks'] = _('Too many links; flood detected.');
+ $config['error']['notenoughlinks'] = _('OPs are required to have at least %d links on this board.');
$config['error']['toomanycites'] = _('Too many cites; post discarded.');
$config['error']['toomanycross'] = _('Too many cross-board links; post discarded.');
$config['error']['nodelete'] = _('You didn\'t select anything to delete.');
@@ -1326,8 +1353,8 @@
// Capcode permissions.
$config['mod']['capcode'] = array(
// JANITOR => array('Janitor'),
- MOD => array('Mod'),
- ADMIN => true
+ MOD => array('Mod'),
+ ADMIN => true
);
// Example: Allow mods to post with "## Moderator" as well
@@ -1410,7 +1437,7 @@
$config['mod']['view_banlist'] = MOD;
// View the username of the mod who made a ban
$config['mod']['view_banstaff'] = MOD;
- // If the moderator doesn't fit the $config['mod']['view_banstaff''] (previous) permission, show him just
+ // If the moderator doesn't fit the $config['mod']['view_banstaff'] (previous) permission, show him just
// a "?" instead. Otherwise, it will be "Mod" or "Admin".
$config['mod']['view_banquestionmark'] = false;
// Show expired bans in the ban list (they are kept in cache until the culprit returns)
@@ -1654,10 +1681,17 @@
// Regex for board URIs. Don't add "`" character or any Unicode that MySQL can't handle. 58 characters
// is the absolute maximum, because MySQL cannot handle table names greater than 64 characters.
- $config['board_regex'] = '[0-9a-zA-Z$_\x{0080}-\x{FFFF}]{1,58}';
+ $config['board_regex'] = '[0-9a-zA-Z\+$_\x{0080}-\x{FFFF}]{1,58}';
// Youtube.js embed HTML code
$config['youtube_js_html'] = '
\
diff --git a/js/show-backlinks.js b/js/show-backlinks.js
index fa4865fd..8410fc6e 100644
--- a/js/show-backlinks.js
+++ b/js/show-backlinks.js
@@ -15,7 +15,7 @@
onready(function(){
var showBackLinks = function() {
- var reply_id = $(this).attr('id').replace(/^reply_/, '');
+ var reply_id = $(this).attr('id').replace(/^(reply|op)_/, '');
$(this).find('div.body a:not([rel="nofollow"])').each(function() {
var id, post, $mentioned;
@@ -26,6 +26,9 @@ onready(function(){
return;
$post = $('#reply_' + id);
+ if($post.length == 0)
+ $post = $('#op_' + id);
+
if($post.length == 0)
return;
@@ -38,7 +41,8 @@ onready(function(){
var $link = $('>>' +
reply_id + '');
- $link.appendTo($mentioned)
+ $link.appendTo($mentioned);
+ $link.after(" ");
if (window.init_hover) {
$link.each(init_hover);
diff --git a/js/thread-stats.js b/js/thread-stats.js
index 59fed912..c66916f1 100644
--- a/js/thread-stats.js
+++ b/js/thread-stats.js
@@ -1,4 +1,4 @@
-/*
+/*
* thread-stats.js
* - Adds statistics of the thread below the posts area
* - Shows ID post count beside each postID on hover
@@ -8,8 +8,9 @@
* $config['additional_javascript'][] = 'js/thread-stats.js';
*/
if (active_page == 'thread') {
+$(document).ready(function(){
//check if page uses unique ID
- var IDsupport = ($('.poster_id').length > 0);
+ var IDsupport = ($('.poster_id').length > 0);
var thread_id = (document.location.pathname + document.location.search).split('/');
thread_id = thread_id[thread_id.length -1].split('+')[0].split('.')[0];
@@ -49,9 +50,12 @@ if (active_page == 'thread') {
ids[opID] = 0;
}
ids[opID]++;
+ var cur = op.find('>.intro >.poster_id');
+ cur.find('+.posts_by_id').remove();
+ cur.after(' ('+ ids[cur.text()] +')');
replies.each(function(){
- var cur = $(this).find('> .intro > .poster_id');
- cur.find('+ .posts_by_id').remove();
+ cur = $(this).find('>.intro >.poster_id');
+ cur.find('+.posts_by_id').remove();
cur.after(' ('+ ids[cur.text()] +')');
});
var size = function(obj) {
@@ -64,7 +68,7 @@ if (active_page == 'thread') {
$('#thread_stats_uids').text(size(ids));
}
$.getJSON('//'+ document.location.host +'/'+ board_name +'/threads.json').success(function(data){
- var found, page = 'Pruned or Deleted';
+ var found, page = '???';
for (var i=0;data[i];i++){
var threads = data[i].threads;
for (var j=0; threads[j]; j++){
@@ -78,13 +82,14 @@ if (active_page == 'thread') {
}
$('#thread_stats_page').text(page);
if (!found) $('#thread_stats_page').css('color','red');
+ else $('#thread_stats_page').css('color','');
});
}
// load the current page the thread is on.
// uses ajax call so it gets loaded on a delay (depending on network resources available)
var thread_stats_page_timer = setInterval(function(){
$.getJSON('//'+ document.location.host +'/'+ board_name +'/threads.json').success(function(data){
- var found, page = 'Pruned or Deleted';
+ var found, page = '???';
for (var i=0;data[i];i++){
var threads = data[i].threads;
for (var j=0; threads[j]; j++){
@@ -98,12 +103,12 @@ if (active_page == 'thread') {
}
$('#thread_stats_page').text(page);
if (!found) $('#thread_stats_page').css('color','red');
+ else $('#thread_stats_page').css('color','');
});
},30000);
- $(document).ready(function(){
$('body').append('');
update_thread_stats();
$('#update_thread').click(update_thread_stats);
$(document).on('new_post',update_thread_stats);
- });
-}
\ No newline at end of file
+});
+}
diff --git a/js/thread-watcher.js b/js/thread-watcher.js
index b66dc657..7f20e028 100644
--- a/js/thread-watcher.js
+++ b/js/thread-watcher.js
@@ -147,15 +147,16 @@ $(document).ready(function(){
}
//Append the watchlist toggle button.
- $('.boardlist').append('[ watchlist ]');
+ $('.boardlist').append('[ watchlist ]');
//Append a watch thread button after every OP.
- $('.op>.intro').append('[Watch Thread]');
+ $('.op>.intro').append('[Watch Thread]');
//Draw the watchlist, hidden.
watchlist.render();
//Show or hide the watchlist.
- $('#watchlist-toggle').on('click', function(e) {
+ $('.watchlist-toggle').on('click', function(e) {
+ e.preventDefault();
//if ctrl+click, reset the watchlist.
if (e.ctrlKey) {
watchlist.render(true);
@@ -169,7 +170,8 @@ $(document).ready(function(){
//Trigger the watchlist add function.
//The selector is passed as an argument in case the page is not a thread.
- $('.watchThread').on('click', function() {
+ $('.watchThread').on('click', function(e) {
+ e.preventDefault();
watchlist.add(this).render();
});
diff --git a/js/treeview.js b/js/treeview.js
index 78ad620b..1709debb 100644
--- a/js/treeview.js
+++ b/js/treeview.js
@@ -11,14 +11,28 @@
*
*/
+if (active_page == 'thread' || active_page == 'ukko' || active_page == 'index')
+$(function() {
+ if (window.Options && Options.get_tab('general')) {
+ var selector = '#treeview-global>input';
+ Options.extend_tab("general", "");
+ $(selector).on('change', function() {
+ if (localStorage.treeview === 'true') {
+ localStorage.treeview = 'false';
+ } else {
+ localStorage.treeview = 'true';
+ }
+ });
+ if (localStorage.treeview === 'true') {
+ $(selector).attr('checked', 'checked');
+ }
+ }
+});
+
if (active_page == 'thread')
$(function() {
- $('hr:first').before('
');
- $('div#treeview a')
- .text(_('Tree view'))
- .click(function(e) {
- e.preventDefault();
-
+ var treeview = function(enable) {
+ if (enable === true) {
$('.post.reply').each(function(){
var references = [];
$(this).find('.body a').each(function(){
@@ -26,7 +40,6 @@ $(function() {
references.push(parseInt($(this).html().replace('>>', '')));
}
});
-
var maxref = references.reduce(function(a,b) { return a > b ? a : b; }, 0);
var parent_post = $("#reply_"+maxref);
@@ -39,7 +52,24 @@ $(function() {
post.detach().css("margin-left", margin).insertAfter(parent_post.next());
br.detach().insertAfter(post);
-
});
- });
+ } else {
+ $('.post.reply').sort(function(a,b) {
+ return parseInt(a.id.replace('reply_', '')) - parseInt(b.id.replace('reply_', ''));
+ }).each(function () {
+ var post = $(this);
+ var br = post.next();
+ post.detach().css('margin-left', '').appendTo('.thread');
+ br.detach().insertAfter(post);
+ });
+ }
+ }
+
+ $('hr:first').before('');
+ $('input#treeview').on('change', function(e) { treeview($(this).is(':checked')); });
+
+ if (localStorage.treeview === 'true') {
+ treeview(true);
+ $('input#treeview').attr('checked', true);
+ }
});
diff --git a/js/twemoji/16x16/1f004.png b/js/twemoji/16x16/1f004.png
new file mode 100644
index 00000000..0eb8396e
Binary files /dev/null and b/js/twemoji/16x16/1f004.png differ
diff --git a/js/twemoji/16x16/1f0cf.png b/js/twemoji/16x16/1f0cf.png
new file mode 100644
index 00000000..890a3a1a
Binary files /dev/null and b/js/twemoji/16x16/1f0cf.png differ
diff --git a/js/twemoji/16x16/1f170.png b/js/twemoji/16x16/1f170.png
new file mode 100644
index 00000000..84ab0c15
Binary files /dev/null and b/js/twemoji/16x16/1f170.png differ
diff --git a/js/twemoji/16x16/1f171.png b/js/twemoji/16x16/1f171.png
new file mode 100644
index 00000000..dec77999
Binary files /dev/null and b/js/twemoji/16x16/1f171.png differ
diff --git a/js/twemoji/16x16/1f17e.png b/js/twemoji/16x16/1f17e.png
new file mode 100644
index 00000000..f872a674
Binary files /dev/null and b/js/twemoji/16x16/1f17e.png differ
diff --git a/js/twemoji/16x16/1f17f.png b/js/twemoji/16x16/1f17f.png
new file mode 100644
index 00000000..2e5f5f03
Binary files /dev/null and b/js/twemoji/16x16/1f17f.png differ
diff --git a/js/twemoji/16x16/1f18e.png b/js/twemoji/16x16/1f18e.png
new file mode 100644
index 00000000..531fee13
Binary files /dev/null and b/js/twemoji/16x16/1f18e.png differ
diff --git a/js/twemoji/16x16/1f191.png b/js/twemoji/16x16/1f191.png
new file mode 100644
index 00000000..b28ebb4b
Binary files /dev/null and b/js/twemoji/16x16/1f191.png differ
diff --git a/js/twemoji/16x16/1f192.png b/js/twemoji/16x16/1f192.png
new file mode 100644
index 00000000..ee9334b9
Binary files /dev/null and b/js/twemoji/16x16/1f192.png differ
diff --git a/js/twemoji/16x16/1f193.png b/js/twemoji/16x16/1f193.png
new file mode 100644
index 00000000..4f3c0594
Binary files /dev/null and b/js/twemoji/16x16/1f193.png differ
diff --git a/js/twemoji/16x16/1f194.png b/js/twemoji/16x16/1f194.png
new file mode 100644
index 00000000..12d07c3d
Binary files /dev/null and b/js/twemoji/16x16/1f194.png differ
diff --git a/js/twemoji/16x16/1f195.png b/js/twemoji/16x16/1f195.png
new file mode 100644
index 00000000..91c03875
Binary files /dev/null and b/js/twemoji/16x16/1f195.png differ
diff --git a/js/twemoji/16x16/1f196.png b/js/twemoji/16x16/1f196.png
new file mode 100644
index 00000000..07403604
Binary files /dev/null and b/js/twemoji/16x16/1f196.png differ
diff --git a/js/twemoji/16x16/1f197.png b/js/twemoji/16x16/1f197.png
new file mode 100644
index 00000000..e912a012
Binary files /dev/null and b/js/twemoji/16x16/1f197.png differ
diff --git a/js/twemoji/16x16/1f198.png b/js/twemoji/16x16/1f198.png
new file mode 100644
index 00000000..3611b53f
Binary files /dev/null and b/js/twemoji/16x16/1f198.png differ
diff --git a/js/twemoji/16x16/1f199.png b/js/twemoji/16x16/1f199.png
new file mode 100644
index 00000000..8b5d23a2
Binary files /dev/null and b/js/twemoji/16x16/1f199.png differ
diff --git a/js/twemoji/16x16/1f19a.png b/js/twemoji/16x16/1f19a.png
new file mode 100644
index 00000000..737c950c
Binary files /dev/null and b/js/twemoji/16x16/1f19a.png differ
diff --git a/js/twemoji/16x16/1f1e6.png b/js/twemoji/16x16/1f1e6.png
new file mode 100644
index 00000000..7ed03ac8
Binary files /dev/null and b/js/twemoji/16x16/1f1e6.png differ
diff --git a/js/twemoji/16x16/1f1e7.png b/js/twemoji/16x16/1f1e7.png
new file mode 100644
index 00000000..9f629458
Binary files /dev/null and b/js/twemoji/16x16/1f1e7.png differ
diff --git a/js/twemoji/16x16/1f1e8-1f1f3.png b/js/twemoji/16x16/1f1e8-1f1f3.png
new file mode 100644
index 00000000..5b56f0fd
Binary files /dev/null and b/js/twemoji/16x16/1f1e8-1f1f3.png differ
diff --git a/js/twemoji/16x16/1f1e8.png b/js/twemoji/16x16/1f1e8.png
new file mode 100644
index 00000000..a8ca3b42
Binary files /dev/null and b/js/twemoji/16x16/1f1e8.png differ
diff --git a/js/twemoji/16x16/1f1e9-1f1ea.png b/js/twemoji/16x16/1f1e9-1f1ea.png
new file mode 100644
index 00000000..a2a3cba0
Binary files /dev/null and b/js/twemoji/16x16/1f1e9-1f1ea.png differ
diff --git a/js/twemoji/16x16/1f1e9.png b/js/twemoji/16x16/1f1e9.png
new file mode 100644
index 00000000..dd3c8fcb
Binary files /dev/null and b/js/twemoji/16x16/1f1e9.png differ
diff --git a/js/twemoji/16x16/1f1ea-1f1f8.png b/js/twemoji/16x16/1f1ea-1f1f8.png
new file mode 100644
index 00000000..c2c054fa
Binary files /dev/null and b/js/twemoji/16x16/1f1ea-1f1f8.png differ
diff --git a/js/twemoji/16x16/1f1ea.png b/js/twemoji/16x16/1f1ea.png
new file mode 100644
index 00000000..1b50ff76
Binary files /dev/null and b/js/twemoji/16x16/1f1ea.png differ
diff --git a/js/twemoji/16x16/1f1eb-1f1f7.png b/js/twemoji/16x16/1f1eb-1f1f7.png
new file mode 100644
index 00000000..c0133dd4
Binary files /dev/null and b/js/twemoji/16x16/1f1eb-1f1f7.png differ
diff --git a/js/twemoji/16x16/1f1eb.png b/js/twemoji/16x16/1f1eb.png
new file mode 100644
index 00000000..4e223d4c
Binary files /dev/null and b/js/twemoji/16x16/1f1eb.png differ
diff --git a/js/twemoji/16x16/1f1ec-1f1e7.png b/js/twemoji/16x16/1f1ec-1f1e7.png
new file mode 100644
index 00000000..cc485e4c
Binary files /dev/null and b/js/twemoji/16x16/1f1ec-1f1e7.png differ
diff --git a/js/twemoji/16x16/1f1ec.png b/js/twemoji/16x16/1f1ec.png
new file mode 100644
index 00000000..9af52998
Binary files /dev/null and b/js/twemoji/16x16/1f1ec.png differ
diff --git a/js/twemoji/16x16/1f1ed.png b/js/twemoji/16x16/1f1ed.png
new file mode 100644
index 00000000..74e2deda
Binary files /dev/null and b/js/twemoji/16x16/1f1ed.png differ
diff --git a/js/twemoji/16x16/1f1ee-1f1f9.png b/js/twemoji/16x16/1f1ee-1f1f9.png
new file mode 100644
index 00000000..529b435c
Binary files /dev/null and b/js/twemoji/16x16/1f1ee-1f1f9.png differ
diff --git a/js/twemoji/16x16/1f1ee.png b/js/twemoji/16x16/1f1ee.png
new file mode 100644
index 00000000..7f0a8caa
Binary files /dev/null and b/js/twemoji/16x16/1f1ee.png differ
diff --git a/js/twemoji/16x16/1f1ef-1f1f5.png b/js/twemoji/16x16/1f1ef-1f1f5.png
new file mode 100644
index 00000000..808a3807
Binary files /dev/null and b/js/twemoji/16x16/1f1ef-1f1f5.png differ
diff --git a/js/twemoji/16x16/1f1ef.png b/js/twemoji/16x16/1f1ef.png
new file mode 100644
index 00000000..b2b351b6
Binary files /dev/null and b/js/twemoji/16x16/1f1ef.png differ
diff --git a/js/twemoji/16x16/1f1f0-1f1f7.png b/js/twemoji/16x16/1f1f0-1f1f7.png
new file mode 100644
index 00000000..1ac962e2
Binary files /dev/null and b/js/twemoji/16x16/1f1f0-1f1f7.png differ
diff --git a/js/twemoji/16x16/1f1f0.png b/js/twemoji/16x16/1f1f0.png
new file mode 100644
index 00000000..0e2dd102
Binary files /dev/null and b/js/twemoji/16x16/1f1f0.png differ
diff --git a/js/twemoji/16x16/1f1f1.png b/js/twemoji/16x16/1f1f1.png
new file mode 100644
index 00000000..4fdec336
Binary files /dev/null and b/js/twemoji/16x16/1f1f1.png differ
diff --git a/js/twemoji/16x16/1f1f2.png b/js/twemoji/16x16/1f1f2.png
new file mode 100644
index 00000000..ecb1bf3c
Binary files /dev/null and b/js/twemoji/16x16/1f1f2.png differ
diff --git a/js/twemoji/16x16/1f1f3.png b/js/twemoji/16x16/1f1f3.png
new file mode 100644
index 00000000..d52f06ae
Binary files /dev/null and b/js/twemoji/16x16/1f1f3.png differ
diff --git a/js/twemoji/16x16/1f1f4.png b/js/twemoji/16x16/1f1f4.png
new file mode 100644
index 00000000..a12dafa1
Binary files /dev/null and b/js/twemoji/16x16/1f1f4.png differ
diff --git a/js/twemoji/16x16/1f1f5.png b/js/twemoji/16x16/1f1f5.png
new file mode 100644
index 00000000..e9136ed4
Binary files /dev/null and b/js/twemoji/16x16/1f1f5.png differ
diff --git a/js/twemoji/16x16/1f1f6.png b/js/twemoji/16x16/1f1f6.png
new file mode 100644
index 00000000..08b800d7
Binary files /dev/null and b/js/twemoji/16x16/1f1f6.png differ
diff --git a/js/twemoji/16x16/1f1f7-1f1fa.png b/js/twemoji/16x16/1f1f7-1f1fa.png
new file mode 100644
index 00000000..25dc951b
Binary files /dev/null and b/js/twemoji/16x16/1f1f7-1f1fa.png differ
diff --git a/js/twemoji/16x16/1f1f7.png b/js/twemoji/16x16/1f1f7.png
new file mode 100644
index 00000000..e7f1ede6
Binary files /dev/null and b/js/twemoji/16x16/1f1f7.png differ
diff --git a/js/twemoji/16x16/1f1f8.png b/js/twemoji/16x16/1f1f8.png
new file mode 100644
index 00000000..0fe9064d
Binary files /dev/null and b/js/twemoji/16x16/1f1f8.png differ
diff --git a/js/twemoji/16x16/1f1f9.png b/js/twemoji/16x16/1f1f9.png
new file mode 100644
index 00000000..d54b4059
Binary files /dev/null and b/js/twemoji/16x16/1f1f9.png differ
diff --git a/js/twemoji/16x16/1f1fa-1f1f8.png b/js/twemoji/16x16/1f1fa-1f1f8.png
new file mode 100644
index 00000000..06c50885
Binary files /dev/null and b/js/twemoji/16x16/1f1fa-1f1f8.png differ
diff --git a/js/twemoji/16x16/1f1fa.png b/js/twemoji/16x16/1f1fa.png
new file mode 100644
index 00000000..19d5e5ed
Binary files /dev/null and b/js/twemoji/16x16/1f1fa.png differ
diff --git a/js/twemoji/16x16/1f1fb.png b/js/twemoji/16x16/1f1fb.png
new file mode 100644
index 00000000..c9752744
Binary files /dev/null and b/js/twemoji/16x16/1f1fb.png differ
diff --git a/js/twemoji/16x16/1f1fc.png b/js/twemoji/16x16/1f1fc.png
new file mode 100644
index 00000000..ba7a32b6
Binary files /dev/null and b/js/twemoji/16x16/1f1fc.png differ
diff --git a/js/twemoji/16x16/1f1fd.png b/js/twemoji/16x16/1f1fd.png
new file mode 100644
index 00000000..c3095177
Binary files /dev/null and b/js/twemoji/16x16/1f1fd.png differ
diff --git a/js/twemoji/16x16/1f1fe.png b/js/twemoji/16x16/1f1fe.png
new file mode 100644
index 00000000..493619db
Binary files /dev/null and b/js/twemoji/16x16/1f1fe.png differ
diff --git a/js/twemoji/16x16/1f1ff.png b/js/twemoji/16x16/1f1ff.png
new file mode 100644
index 00000000..79b34cb7
Binary files /dev/null and b/js/twemoji/16x16/1f1ff.png differ
diff --git a/js/twemoji/16x16/1f201.png b/js/twemoji/16x16/1f201.png
new file mode 100644
index 00000000..833b0b15
Binary files /dev/null and b/js/twemoji/16x16/1f201.png differ
diff --git a/js/twemoji/16x16/1f202.png b/js/twemoji/16x16/1f202.png
new file mode 100644
index 00000000..1e26dfa7
Binary files /dev/null and b/js/twemoji/16x16/1f202.png differ
diff --git a/js/twemoji/16x16/1f21a.png b/js/twemoji/16x16/1f21a.png
new file mode 100644
index 00000000..5aef59d9
Binary files /dev/null and b/js/twemoji/16x16/1f21a.png differ
diff --git a/js/twemoji/16x16/1f22f.png b/js/twemoji/16x16/1f22f.png
new file mode 100644
index 00000000..d2f0fa97
Binary files /dev/null and b/js/twemoji/16x16/1f22f.png differ
diff --git a/js/twemoji/16x16/1f232.png b/js/twemoji/16x16/1f232.png
new file mode 100644
index 00000000..2be9f183
Binary files /dev/null and b/js/twemoji/16x16/1f232.png differ
diff --git a/js/twemoji/16x16/1f233.png b/js/twemoji/16x16/1f233.png
new file mode 100644
index 00000000..e600ee5f
Binary files /dev/null and b/js/twemoji/16x16/1f233.png differ
diff --git a/js/twemoji/16x16/1f234.png b/js/twemoji/16x16/1f234.png
new file mode 100644
index 00000000..26fd10eb
Binary files /dev/null and b/js/twemoji/16x16/1f234.png differ
diff --git a/js/twemoji/16x16/1f235.png b/js/twemoji/16x16/1f235.png
new file mode 100644
index 00000000..6e945fb6
Binary files /dev/null and b/js/twemoji/16x16/1f235.png differ
diff --git a/js/twemoji/16x16/1f236.png b/js/twemoji/16x16/1f236.png
new file mode 100644
index 00000000..2b7c245d
Binary files /dev/null and b/js/twemoji/16x16/1f236.png differ
diff --git a/js/twemoji/16x16/1f237.png b/js/twemoji/16x16/1f237.png
new file mode 100644
index 00000000..7ac3ab54
Binary files /dev/null and b/js/twemoji/16x16/1f237.png differ
diff --git a/js/twemoji/16x16/1f238.png b/js/twemoji/16x16/1f238.png
new file mode 100644
index 00000000..f49ae52f
Binary files /dev/null and b/js/twemoji/16x16/1f238.png differ
diff --git a/js/twemoji/16x16/1f239.png b/js/twemoji/16x16/1f239.png
new file mode 100644
index 00000000..5ea044b0
Binary files /dev/null and b/js/twemoji/16x16/1f239.png differ
diff --git a/js/twemoji/16x16/1f23a.png b/js/twemoji/16x16/1f23a.png
new file mode 100644
index 00000000..5be6c4b9
Binary files /dev/null and b/js/twemoji/16x16/1f23a.png differ
diff --git a/js/twemoji/16x16/1f250.png b/js/twemoji/16x16/1f250.png
new file mode 100644
index 00000000..a652386d
Binary files /dev/null and b/js/twemoji/16x16/1f250.png differ
diff --git a/js/twemoji/16x16/1f251.png b/js/twemoji/16x16/1f251.png
new file mode 100644
index 00000000..5bf16234
Binary files /dev/null and b/js/twemoji/16x16/1f251.png differ
diff --git a/js/twemoji/16x16/1f300.png b/js/twemoji/16x16/1f300.png
new file mode 100644
index 00000000..61ef6edc
Binary files /dev/null and b/js/twemoji/16x16/1f300.png differ
diff --git a/js/twemoji/16x16/1f301.png b/js/twemoji/16x16/1f301.png
new file mode 100644
index 00000000..e714735e
Binary files /dev/null and b/js/twemoji/16x16/1f301.png differ
diff --git a/js/twemoji/16x16/1f302.png b/js/twemoji/16x16/1f302.png
new file mode 100644
index 00000000..e84757e4
Binary files /dev/null and b/js/twemoji/16x16/1f302.png differ
diff --git a/js/twemoji/16x16/1f303.png b/js/twemoji/16x16/1f303.png
new file mode 100644
index 00000000..96562953
Binary files /dev/null and b/js/twemoji/16x16/1f303.png differ
diff --git a/js/twemoji/16x16/1f304.png b/js/twemoji/16x16/1f304.png
new file mode 100644
index 00000000..7056f1c3
Binary files /dev/null and b/js/twemoji/16x16/1f304.png differ
diff --git a/js/twemoji/16x16/1f305.png b/js/twemoji/16x16/1f305.png
new file mode 100644
index 00000000..7780a9b5
Binary files /dev/null and b/js/twemoji/16x16/1f305.png differ
diff --git a/js/twemoji/16x16/1f306.png b/js/twemoji/16x16/1f306.png
new file mode 100644
index 00000000..75bbdc26
Binary files /dev/null and b/js/twemoji/16x16/1f306.png differ
diff --git a/js/twemoji/16x16/1f307.png b/js/twemoji/16x16/1f307.png
new file mode 100644
index 00000000..389b077a
Binary files /dev/null and b/js/twemoji/16x16/1f307.png differ
diff --git a/js/twemoji/16x16/1f308.png b/js/twemoji/16x16/1f308.png
new file mode 100644
index 00000000..e3576e18
Binary files /dev/null and b/js/twemoji/16x16/1f308.png differ
diff --git a/js/twemoji/16x16/1f309.png b/js/twemoji/16x16/1f309.png
new file mode 100644
index 00000000..65b29635
Binary files /dev/null and b/js/twemoji/16x16/1f309.png differ
diff --git a/js/twemoji/16x16/1f30a.png b/js/twemoji/16x16/1f30a.png
new file mode 100644
index 00000000..3ff32a81
Binary files /dev/null and b/js/twemoji/16x16/1f30a.png differ
diff --git a/js/twemoji/16x16/1f30b.png b/js/twemoji/16x16/1f30b.png
new file mode 100644
index 00000000..1b4c7619
Binary files /dev/null and b/js/twemoji/16x16/1f30b.png differ
diff --git a/js/twemoji/16x16/1f30c.png b/js/twemoji/16x16/1f30c.png
new file mode 100644
index 00000000..75edffca
Binary files /dev/null and b/js/twemoji/16x16/1f30c.png differ
diff --git a/js/twemoji/16x16/1f30d.png b/js/twemoji/16x16/1f30d.png
new file mode 100644
index 00000000..b175ff56
Binary files /dev/null and b/js/twemoji/16x16/1f30d.png differ
diff --git a/js/twemoji/16x16/1f30e.png b/js/twemoji/16x16/1f30e.png
new file mode 100644
index 00000000..b9a9ce5f
Binary files /dev/null and b/js/twemoji/16x16/1f30e.png differ
diff --git a/js/twemoji/16x16/1f30f.png b/js/twemoji/16x16/1f30f.png
new file mode 100644
index 00000000..fd7bb3e8
Binary files /dev/null and b/js/twemoji/16x16/1f30f.png differ
diff --git a/js/twemoji/16x16/1f310.png b/js/twemoji/16x16/1f310.png
new file mode 100644
index 00000000..25733292
Binary files /dev/null and b/js/twemoji/16x16/1f310.png differ
diff --git a/js/twemoji/16x16/1f311.png b/js/twemoji/16x16/1f311.png
new file mode 100644
index 00000000..c66bf2af
Binary files /dev/null and b/js/twemoji/16x16/1f311.png differ
diff --git a/js/twemoji/16x16/1f312.png b/js/twemoji/16x16/1f312.png
new file mode 100644
index 00000000..fd554274
Binary files /dev/null and b/js/twemoji/16x16/1f312.png differ
diff --git a/js/twemoji/16x16/1f313.png b/js/twemoji/16x16/1f313.png
new file mode 100644
index 00000000..0c162386
Binary files /dev/null and b/js/twemoji/16x16/1f313.png differ
diff --git a/js/twemoji/16x16/1f314.png b/js/twemoji/16x16/1f314.png
new file mode 100644
index 00000000..84575165
Binary files /dev/null and b/js/twemoji/16x16/1f314.png differ
diff --git a/js/twemoji/16x16/1f315.png b/js/twemoji/16x16/1f315.png
new file mode 100644
index 00000000..8dd7db23
Binary files /dev/null and b/js/twemoji/16x16/1f315.png differ
diff --git a/js/twemoji/16x16/1f316.png b/js/twemoji/16x16/1f316.png
new file mode 100644
index 00000000..fbf42517
Binary files /dev/null and b/js/twemoji/16x16/1f316.png differ
diff --git a/js/twemoji/16x16/1f317.png b/js/twemoji/16x16/1f317.png
new file mode 100644
index 00000000..0c162386
Binary files /dev/null and b/js/twemoji/16x16/1f317.png differ
diff --git a/js/twemoji/16x16/1f318.png b/js/twemoji/16x16/1f318.png
new file mode 100644
index 00000000..84575165
Binary files /dev/null and b/js/twemoji/16x16/1f318.png differ
diff --git a/js/twemoji/16x16/1f319.png b/js/twemoji/16x16/1f319.png
new file mode 100644
index 00000000..9890176a
Binary files /dev/null and b/js/twemoji/16x16/1f319.png differ
diff --git a/js/twemoji/16x16/1f31a.png b/js/twemoji/16x16/1f31a.png
new file mode 100644
index 00000000..fd79b2eb
Binary files /dev/null and b/js/twemoji/16x16/1f31a.png differ
diff --git a/js/twemoji/16x16/1f31b.png b/js/twemoji/16x16/1f31b.png
new file mode 100644
index 00000000..00ce38cc
Binary files /dev/null and b/js/twemoji/16x16/1f31b.png differ
diff --git a/js/twemoji/16x16/1f31c.png b/js/twemoji/16x16/1f31c.png
new file mode 100644
index 00000000..fd6a7e19
Binary files /dev/null and b/js/twemoji/16x16/1f31c.png differ
diff --git a/js/twemoji/16x16/1f31d.png b/js/twemoji/16x16/1f31d.png
new file mode 100644
index 00000000..5845549c
Binary files /dev/null and b/js/twemoji/16x16/1f31d.png differ
diff --git a/js/twemoji/16x16/1f31e.png b/js/twemoji/16x16/1f31e.png
new file mode 100644
index 00000000..f80014b5
Binary files /dev/null and b/js/twemoji/16x16/1f31e.png differ
diff --git a/js/twemoji/16x16/1f31f.png b/js/twemoji/16x16/1f31f.png
new file mode 100644
index 00000000..a475167a
Binary files /dev/null and b/js/twemoji/16x16/1f31f.png differ
diff --git a/js/twemoji/16x16/1f320.png b/js/twemoji/16x16/1f320.png
new file mode 100644
index 00000000..a5f805c7
Binary files /dev/null and b/js/twemoji/16x16/1f320.png differ
diff --git a/js/twemoji/16x16/1f330.png b/js/twemoji/16x16/1f330.png
new file mode 100644
index 00000000..4115839b
Binary files /dev/null and b/js/twemoji/16x16/1f330.png differ
diff --git a/js/twemoji/16x16/1f331.png b/js/twemoji/16x16/1f331.png
new file mode 100644
index 00000000..3d77413f
Binary files /dev/null and b/js/twemoji/16x16/1f331.png differ
diff --git a/js/twemoji/16x16/1f332.png b/js/twemoji/16x16/1f332.png
new file mode 100644
index 00000000..0ad3ffdd
Binary files /dev/null and b/js/twemoji/16x16/1f332.png differ
diff --git a/js/twemoji/16x16/1f333.png b/js/twemoji/16x16/1f333.png
new file mode 100644
index 00000000..6ad90fdd
Binary files /dev/null and b/js/twemoji/16x16/1f333.png differ
diff --git a/js/twemoji/16x16/1f334.png b/js/twemoji/16x16/1f334.png
new file mode 100644
index 00000000..5eac82e3
Binary files /dev/null and b/js/twemoji/16x16/1f334.png differ
diff --git a/js/twemoji/16x16/1f335.png b/js/twemoji/16x16/1f335.png
new file mode 100644
index 00000000..41d7684f
Binary files /dev/null and b/js/twemoji/16x16/1f335.png differ
diff --git a/js/twemoji/16x16/1f337.png b/js/twemoji/16x16/1f337.png
new file mode 100644
index 00000000..e98971d2
Binary files /dev/null and b/js/twemoji/16x16/1f337.png differ
diff --git a/js/twemoji/16x16/1f338.png b/js/twemoji/16x16/1f338.png
new file mode 100644
index 00000000..b49998b6
Binary files /dev/null and b/js/twemoji/16x16/1f338.png differ
diff --git a/js/twemoji/16x16/1f339.png b/js/twemoji/16x16/1f339.png
new file mode 100644
index 00000000..259c72c8
Binary files /dev/null and b/js/twemoji/16x16/1f339.png differ
diff --git a/js/twemoji/16x16/1f33a.png b/js/twemoji/16x16/1f33a.png
new file mode 100644
index 00000000..8747d016
Binary files /dev/null and b/js/twemoji/16x16/1f33a.png differ
diff --git a/js/twemoji/16x16/1f33b.png b/js/twemoji/16x16/1f33b.png
new file mode 100644
index 00000000..342fad4c
Binary files /dev/null and b/js/twemoji/16x16/1f33b.png differ
diff --git a/js/twemoji/16x16/1f33c.png b/js/twemoji/16x16/1f33c.png
new file mode 100644
index 00000000..4061d487
Binary files /dev/null and b/js/twemoji/16x16/1f33c.png differ
diff --git a/js/twemoji/16x16/1f33d.png b/js/twemoji/16x16/1f33d.png
new file mode 100644
index 00000000..c0e26432
Binary files /dev/null and b/js/twemoji/16x16/1f33d.png differ
diff --git a/js/twemoji/16x16/1f33e.png b/js/twemoji/16x16/1f33e.png
new file mode 100644
index 00000000..e44d204c
Binary files /dev/null and b/js/twemoji/16x16/1f33e.png differ
diff --git a/js/twemoji/16x16/1f33f.png b/js/twemoji/16x16/1f33f.png
new file mode 100644
index 00000000..b58dcd1e
Binary files /dev/null and b/js/twemoji/16x16/1f33f.png differ
diff --git a/js/twemoji/16x16/1f340.png b/js/twemoji/16x16/1f340.png
new file mode 100644
index 00000000..c6146a0f
Binary files /dev/null and b/js/twemoji/16x16/1f340.png differ
diff --git a/js/twemoji/16x16/1f341.png b/js/twemoji/16x16/1f341.png
new file mode 100644
index 00000000..5b2b8d13
Binary files /dev/null and b/js/twemoji/16x16/1f341.png differ
diff --git a/js/twemoji/16x16/1f342.png b/js/twemoji/16x16/1f342.png
new file mode 100644
index 00000000..ed152829
Binary files /dev/null and b/js/twemoji/16x16/1f342.png differ
diff --git a/js/twemoji/16x16/1f343.png b/js/twemoji/16x16/1f343.png
new file mode 100644
index 00000000..c1a544bc
Binary files /dev/null and b/js/twemoji/16x16/1f343.png differ
diff --git a/js/twemoji/16x16/1f344.png b/js/twemoji/16x16/1f344.png
new file mode 100644
index 00000000..d419e594
Binary files /dev/null and b/js/twemoji/16x16/1f344.png differ
diff --git a/js/twemoji/16x16/1f345.png b/js/twemoji/16x16/1f345.png
new file mode 100644
index 00000000..b1d39a27
Binary files /dev/null and b/js/twemoji/16x16/1f345.png differ
diff --git a/js/twemoji/16x16/1f346.png b/js/twemoji/16x16/1f346.png
new file mode 100644
index 00000000..d156a503
Binary files /dev/null and b/js/twemoji/16x16/1f346.png differ
diff --git a/js/twemoji/16x16/1f347.png b/js/twemoji/16x16/1f347.png
new file mode 100644
index 00000000..f94a3feb
Binary files /dev/null and b/js/twemoji/16x16/1f347.png differ
diff --git a/js/twemoji/16x16/1f348.png b/js/twemoji/16x16/1f348.png
new file mode 100644
index 00000000..33b0fa16
Binary files /dev/null and b/js/twemoji/16x16/1f348.png differ
diff --git a/js/twemoji/16x16/1f349.png b/js/twemoji/16x16/1f349.png
new file mode 100644
index 00000000..00119af1
Binary files /dev/null and b/js/twemoji/16x16/1f349.png differ
diff --git a/js/twemoji/16x16/1f34a.png b/js/twemoji/16x16/1f34a.png
new file mode 100644
index 00000000..62882df2
Binary files /dev/null and b/js/twemoji/16x16/1f34a.png differ
diff --git a/js/twemoji/16x16/1f34b.png b/js/twemoji/16x16/1f34b.png
new file mode 100644
index 00000000..43a7df6d
Binary files /dev/null and b/js/twemoji/16x16/1f34b.png differ
diff --git a/js/twemoji/16x16/1f34c.png b/js/twemoji/16x16/1f34c.png
new file mode 100644
index 00000000..ec1a4ba1
Binary files /dev/null and b/js/twemoji/16x16/1f34c.png differ
diff --git a/js/twemoji/16x16/1f34d.png b/js/twemoji/16x16/1f34d.png
new file mode 100644
index 00000000..80c72cd1
Binary files /dev/null and b/js/twemoji/16x16/1f34d.png differ
diff --git a/js/twemoji/16x16/1f34e.png b/js/twemoji/16x16/1f34e.png
new file mode 100644
index 00000000..45a72e90
Binary files /dev/null and b/js/twemoji/16x16/1f34e.png differ
diff --git a/js/twemoji/16x16/1f34f.png b/js/twemoji/16x16/1f34f.png
new file mode 100644
index 00000000..601e66d8
Binary files /dev/null and b/js/twemoji/16x16/1f34f.png differ
diff --git a/js/twemoji/16x16/1f350.png b/js/twemoji/16x16/1f350.png
new file mode 100644
index 00000000..684dff12
Binary files /dev/null and b/js/twemoji/16x16/1f350.png differ
diff --git a/js/twemoji/16x16/1f351.png b/js/twemoji/16x16/1f351.png
new file mode 100644
index 00000000..21328144
Binary files /dev/null and b/js/twemoji/16x16/1f351.png differ
diff --git a/js/twemoji/16x16/1f352.png b/js/twemoji/16x16/1f352.png
new file mode 100644
index 00000000..e8d7af7d
Binary files /dev/null and b/js/twemoji/16x16/1f352.png differ
diff --git a/js/twemoji/16x16/1f353.png b/js/twemoji/16x16/1f353.png
new file mode 100644
index 00000000..cc12d821
Binary files /dev/null and b/js/twemoji/16x16/1f353.png differ
diff --git a/js/twemoji/16x16/1f354.png b/js/twemoji/16x16/1f354.png
new file mode 100644
index 00000000..9f7b66c2
Binary files /dev/null and b/js/twemoji/16x16/1f354.png differ
diff --git a/js/twemoji/16x16/1f355.png b/js/twemoji/16x16/1f355.png
new file mode 100644
index 00000000..582dd1f1
Binary files /dev/null and b/js/twemoji/16x16/1f355.png differ
diff --git a/js/twemoji/16x16/1f356.png b/js/twemoji/16x16/1f356.png
new file mode 100644
index 00000000..a18f7d37
Binary files /dev/null and b/js/twemoji/16x16/1f356.png differ
diff --git a/js/twemoji/16x16/1f357.png b/js/twemoji/16x16/1f357.png
new file mode 100644
index 00000000..c274db07
Binary files /dev/null and b/js/twemoji/16x16/1f357.png differ
diff --git a/js/twemoji/16x16/1f358.png b/js/twemoji/16x16/1f358.png
new file mode 100644
index 00000000..f505517c
Binary files /dev/null and b/js/twemoji/16x16/1f358.png differ
diff --git a/js/twemoji/16x16/1f359.png b/js/twemoji/16x16/1f359.png
new file mode 100644
index 00000000..b520dfcb
Binary files /dev/null and b/js/twemoji/16x16/1f359.png differ
diff --git a/js/twemoji/16x16/1f35a.png b/js/twemoji/16x16/1f35a.png
new file mode 100644
index 00000000..b6b44a79
Binary files /dev/null and b/js/twemoji/16x16/1f35a.png differ
diff --git a/js/twemoji/16x16/1f35b.png b/js/twemoji/16x16/1f35b.png
new file mode 100644
index 00000000..fcc098d0
Binary files /dev/null and b/js/twemoji/16x16/1f35b.png differ
diff --git a/js/twemoji/16x16/1f35c.png b/js/twemoji/16x16/1f35c.png
new file mode 100644
index 00000000..eb15ac16
Binary files /dev/null and b/js/twemoji/16x16/1f35c.png differ
diff --git a/js/twemoji/16x16/1f35d.png b/js/twemoji/16x16/1f35d.png
new file mode 100644
index 00000000..d05d4f61
Binary files /dev/null and b/js/twemoji/16x16/1f35d.png differ
diff --git a/js/twemoji/16x16/1f35e.png b/js/twemoji/16x16/1f35e.png
new file mode 100644
index 00000000..5cf14217
Binary files /dev/null and b/js/twemoji/16x16/1f35e.png differ
diff --git a/js/twemoji/16x16/1f35f.png b/js/twemoji/16x16/1f35f.png
new file mode 100644
index 00000000..8e85bac6
Binary files /dev/null and b/js/twemoji/16x16/1f35f.png differ
diff --git a/js/twemoji/16x16/1f360.png b/js/twemoji/16x16/1f360.png
new file mode 100644
index 00000000..549a0a3e
Binary files /dev/null and b/js/twemoji/16x16/1f360.png differ
diff --git a/js/twemoji/16x16/1f361.png b/js/twemoji/16x16/1f361.png
new file mode 100644
index 00000000..cdd8bc26
Binary files /dev/null and b/js/twemoji/16x16/1f361.png differ
diff --git a/js/twemoji/16x16/1f362.png b/js/twemoji/16x16/1f362.png
new file mode 100644
index 00000000..7fe1b59d
Binary files /dev/null and b/js/twemoji/16x16/1f362.png differ
diff --git a/js/twemoji/16x16/1f363.png b/js/twemoji/16x16/1f363.png
new file mode 100644
index 00000000..f1010d8c
Binary files /dev/null and b/js/twemoji/16x16/1f363.png differ
diff --git a/js/twemoji/16x16/1f364.png b/js/twemoji/16x16/1f364.png
new file mode 100644
index 00000000..272dd38c
Binary files /dev/null and b/js/twemoji/16x16/1f364.png differ
diff --git a/js/twemoji/16x16/1f365.png b/js/twemoji/16x16/1f365.png
new file mode 100644
index 00000000..0adc148f
Binary files /dev/null and b/js/twemoji/16x16/1f365.png differ
diff --git a/js/twemoji/16x16/1f366.png b/js/twemoji/16x16/1f366.png
new file mode 100644
index 00000000..ee6bb4c1
Binary files /dev/null and b/js/twemoji/16x16/1f366.png differ
diff --git a/js/twemoji/16x16/1f367.png b/js/twemoji/16x16/1f367.png
new file mode 100644
index 00000000..45ef259d
Binary files /dev/null and b/js/twemoji/16x16/1f367.png differ
diff --git a/js/twemoji/16x16/1f368.png b/js/twemoji/16x16/1f368.png
new file mode 100644
index 00000000..6c6b3548
Binary files /dev/null and b/js/twemoji/16x16/1f368.png differ
diff --git a/js/twemoji/16x16/1f369.png b/js/twemoji/16x16/1f369.png
new file mode 100644
index 00000000..fcaf000a
Binary files /dev/null and b/js/twemoji/16x16/1f369.png differ
diff --git a/js/twemoji/16x16/1f36a.png b/js/twemoji/16x16/1f36a.png
new file mode 100644
index 00000000..cd2d7e20
Binary files /dev/null and b/js/twemoji/16x16/1f36a.png differ
diff --git a/js/twemoji/16x16/1f36b.png b/js/twemoji/16x16/1f36b.png
new file mode 100644
index 00000000..44a7c62e
Binary files /dev/null and b/js/twemoji/16x16/1f36b.png differ
diff --git a/js/twemoji/16x16/1f36c.png b/js/twemoji/16x16/1f36c.png
new file mode 100644
index 00000000..25cf3590
Binary files /dev/null and b/js/twemoji/16x16/1f36c.png differ
diff --git a/js/twemoji/16x16/1f36d.png b/js/twemoji/16x16/1f36d.png
new file mode 100644
index 00000000..3f363120
Binary files /dev/null and b/js/twemoji/16x16/1f36d.png differ
diff --git a/js/twemoji/16x16/1f36e.png b/js/twemoji/16x16/1f36e.png
new file mode 100644
index 00000000..7035dc4f
Binary files /dev/null and b/js/twemoji/16x16/1f36e.png differ
diff --git a/js/twemoji/16x16/1f36f.png b/js/twemoji/16x16/1f36f.png
new file mode 100644
index 00000000..1f419034
Binary files /dev/null and b/js/twemoji/16x16/1f36f.png differ
diff --git a/js/twemoji/16x16/1f370.png b/js/twemoji/16x16/1f370.png
new file mode 100644
index 00000000..0bb40e88
Binary files /dev/null and b/js/twemoji/16x16/1f370.png differ
diff --git a/js/twemoji/16x16/1f371.png b/js/twemoji/16x16/1f371.png
new file mode 100644
index 00000000..de8190b6
Binary files /dev/null and b/js/twemoji/16x16/1f371.png differ
diff --git a/js/twemoji/16x16/1f372.png b/js/twemoji/16x16/1f372.png
new file mode 100644
index 00000000..f27dc599
Binary files /dev/null and b/js/twemoji/16x16/1f372.png differ
diff --git a/js/twemoji/16x16/1f373.png b/js/twemoji/16x16/1f373.png
new file mode 100644
index 00000000..df02e5b7
Binary files /dev/null and b/js/twemoji/16x16/1f373.png differ
diff --git a/js/twemoji/16x16/1f374.png b/js/twemoji/16x16/1f374.png
new file mode 100644
index 00000000..ac1b2c65
Binary files /dev/null and b/js/twemoji/16x16/1f374.png differ
diff --git a/js/twemoji/16x16/1f375.png b/js/twemoji/16x16/1f375.png
new file mode 100644
index 00000000..0020e243
Binary files /dev/null and b/js/twemoji/16x16/1f375.png differ
diff --git a/js/twemoji/16x16/1f376.png b/js/twemoji/16x16/1f376.png
new file mode 100644
index 00000000..e009a954
Binary files /dev/null and b/js/twemoji/16x16/1f376.png differ
diff --git a/js/twemoji/16x16/1f377.png b/js/twemoji/16x16/1f377.png
new file mode 100644
index 00000000..2145f129
Binary files /dev/null and b/js/twemoji/16x16/1f377.png differ
diff --git a/js/twemoji/16x16/1f378.png b/js/twemoji/16x16/1f378.png
new file mode 100644
index 00000000..73c75bd1
Binary files /dev/null and b/js/twemoji/16x16/1f378.png differ
diff --git a/js/twemoji/16x16/1f379.png b/js/twemoji/16x16/1f379.png
new file mode 100644
index 00000000..06cd8c36
Binary files /dev/null and b/js/twemoji/16x16/1f379.png differ
diff --git a/js/twemoji/16x16/1f37a.png b/js/twemoji/16x16/1f37a.png
new file mode 100644
index 00000000..7e729ed1
Binary files /dev/null and b/js/twemoji/16x16/1f37a.png differ
diff --git a/js/twemoji/16x16/1f37b.png b/js/twemoji/16x16/1f37b.png
new file mode 100644
index 00000000..7e2697aa
Binary files /dev/null and b/js/twemoji/16x16/1f37b.png differ
diff --git a/js/twemoji/16x16/1f37c.png b/js/twemoji/16x16/1f37c.png
new file mode 100644
index 00000000..b22b4bdb
Binary files /dev/null and b/js/twemoji/16x16/1f37c.png differ
diff --git a/js/twemoji/16x16/1f380.png b/js/twemoji/16x16/1f380.png
new file mode 100644
index 00000000..4c2326f3
Binary files /dev/null and b/js/twemoji/16x16/1f380.png differ
diff --git a/js/twemoji/16x16/1f381.png b/js/twemoji/16x16/1f381.png
new file mode 100644
index 00000000..b76987dd
Binary files /dev/null and b/js/twemoji/16x16/1f381.png differ
diff --git a/js/twemoji/16x16/1f382.png b/js/twemoji/16x16/1f382.png
new file mode 100644
index 00000000..e019cfea
Binary files /dev/null and b/js/twemoji/16x16/1f382.png differ
diff --git a/js/twemoji/16x16/1f383.png b/js/twemoji/16x16/1f383.png
new file mode 100644
index 00000000..68dbb512
Binary files /dev/null and b/js/twemoji/16x16/1f383.png differ
diff --git a/js/twemoji/16x16/1f384.png b/js/twemoji/16x16/1f384.png
new file mode 100644
index 00000000..451052e6
Binary files /dev/null and b/js/twemoji/16x16/1f384.png differ
diff --git a/js/twemoji/16x16/1f385.png b/js/twemoji/16x16/1f385.png
new file mode 100644
index 00000000..3ebc6d34
Binary files /dev/null and b/js/twemoji/16x16/1f385.png differ
diff --git a/js/twemoji/16x16/1f386.png b/js/twemoji/16x16/1f386.png
new file mode 100644
index 00000000..5a9eea90
Binary files /dev/null and b/js/twemoji/16x16/1f386.png differ
diff --git a/js/twemoji/16x16/1f387.png b/js/twemoji/16x16/1f387.png
new file mode 100644
index 00000000..a525ffd5
Binary files /dev/null and b/js/twemoji/16x16/1f387.png differ
diff --git a/js/twemoji/16x16/1f388.png b/js/twemoji/16x16/1f388.png
new file mode 100644
index 00000000..9526eedf
Binary files /dev/null and b/js/twemoji/16x16/1f388.png differ
diff --git a/js/twemoji/16x16/1f389.png b/js/twemoji/16x16/1f389.png
new file mode 100644
index 00000000..d03364a0
Binary files /dev/null and b/js/twemoji/16x16/1f389.png differ
diff --git a/js/twemoji/16x16/1f38a.png b/js/twemoji/16x16/1f38a.png
new file mode 100644
index 00000000..bc44b0b0
Binary files /dev/null and b/js/twemoji/16x16/1f38a.png differ
diff --git a/js/twemoji/16x16/1f38b.png b/js/twemoji/16x16/1f38b.png
new file mode 100644
index 00000000..dd2f0101
Binary files /dev/null and b/js/twemoji/16x16/1f38b.png differ
diff --git a/js/twemoji/16x16/1f38c.png b/js/twemoji/16x16/1f38c.png
new file mode 100644
index 00000000..690d111b
Binary files /dev/null and b/js/twemoji/16x16/1f38c.png differ
diff --git a/js/twemoji/16x16/1f38d.png b/js/twemoji/16x16/1f38d.png
new file mode 100644
index 00000000..7dc83297
Binary files /dev/null and b/js/twemoji/16x16/1f38d.png differ
diff --git a/js/twemoji/16x16/1f38e.png b/js/twemoji/16x16/1f38e.png
new file mode 100644
index 00000000..42f2165e
Binary files /dev/null and b/js/twemoji/16x16/1f38e.png differ
diff --git a/js/twemoji/16x16/1f38f.png b/js/twemoji/16x16/1f38f.png
new file mode 100644
index 00000000..a1f93e4d
Binary files /dev/null and b/js/twemoji/16x16/1f38f.png differ
diff --git a/js/twemoji/16x16/1f390.png b/js/twemoji/16x16/1f390.png
new file mode 100644
index 00000000..47bd7b68
Binary files /dev/null and b/js/twemoji/16x16/1f390.png differ
diff --git a/js/twemoji/16x16/1f391.png b/js/twemoji/16x16/1f391.png
new file mode 100644
index 00000000..b9118f37
Binary files /dev/null and b/js/twemoji/16x16/1f391.png differ
diff --git a/js/twemoji/16x16/1f392.png b/js/twemoji/16x16/1f392.png
new file mode 100644
index 00000000..81bcedae
Binary files /dev/null and b/js/twemoji/16x16/1f392.png differ
diff --git a/js/twemoji/16x16/1f393.png b/js/twemoji/16x16/1f393.png
new file mode 100644
index 00000000..b44cd8ac
Binary files /dev/null and b/js/twemoji/16x16/1f393.png differ
diff --git a/js/twemoji/16x16/1f3a0.png b/js/twemoji/16x16/1f3a0.png
new file mode 100644
index 00000000..bfe5075e
Binary files /dev/null and b/js/twemoji/16x16/1f3a0.png differ
diff --git a/js/twemoji/16x16/1f3a1.png b/js/twemoji/16x16/1f3a1.png
new file mode 100644
index 00000000..8f8c9c1f
Binary files /dev/null and b/js/twemoji/16x16/1f3a1.png differ
diff --git a/js/twemoji/16x16/1f3a2.png b/js/twemoji/16x16/1f3a2.png
new file mode 100644
index 00000000..84a43dbd
Binary files /dev/null and b/js/twemoji/16x16/1f3a2.png differ
diff --git a/js/twemoji/16x16/1f3a3.png b/js/twemoji/16x16/1f3a3.png
new file mode 100644
index 00000000..14759a6e
Binary files /dev/null and b/js/twemoji/16x16/1f3a3.png differ
diff --git a/js/twemoji/16x16/1f3a4.png b/js/twemoji/16x16/1f3a4.png
new file mode 100644
index 00000000..d306a5ac
Binary files /dev/null and b/js/twemoji/16x16/1f3a4.png differ
diff --git a/js/twemoji/16x16/1f3a5.png b/js/twemoji/16x16/1f3a5.png
new file mode 100644
index 00000000..1a30a92d
Binary files /dev/null and b/js/twemoji/16x16/1f3a5.png differ
diff --git a/js/twemoji/16x16/1f3a6.png b/js/twemoji/16x16/1f3a6.png
new file mode 100644
index 00000000..59955014
Binary files /dev/null and b/js/twemoji/16x16/1f3a6.png differ
diff --git a/js/twemoji/16x16/1f3a7.png b/js/twemoji/16x16/1f3a7.png
new file mode 100644
index 00000000..c7aa8a42
Binary files /dev/null and b/js/twemoji/16x16/1f3a7.png differ
diff --git a/js/twemoji/16x16/1f3a8.png b/js/twemoji/16x16/1f3a8.png
new file mode 100644
index 00000000..ffcb9269
Binary files /dev/null and b/js/twemoji/16x16/1f3a8.png differ
diff --git a/js/twemoji/16x16/1f3a9.png b/js/twemoji/16x16/1f3a9.png
new file mode 100644
index 00000000..ef52d609
Binary files /dev/null and b/js/twemoji/16x16/1f3a9.png differ
diff --git a/js/twemoji/16x16/1f3aa.png b/js/twemoji/16x16/1f3aa.png
new file mode 100644
index 00000000..52587d38
Binary files /dev/null and b/js/twemoji/16x16/1f3aa.png differ
diff --git a/js/twemoji/16x16/1f3ab.png b/js/twemoji/16x16/1f3ab.png
new file mode 100644
index 00000000..269fabad
Binary files /dev/null and b/js/twemoji/16x16/1f3ab.png differ
diff --git a/js/twemoji/16x16/1f3ac.png b/js/twemoji/16x16/1f3ac.png
new file mode 100644
index 00000000..4af39ce9
Binary files /dev/null and b/js/twemoji/16x16/1f3ac.png differ
diff --git a/js/twemoji/16x16/1f3ad.png b/js/twemoji/16x16/1f3ad.png
new file mode 100644
index 00000000..9e84d4f3
Binary files /dev/null and b/js/twemoji/16x16/1f3ad.png differ
diff --git a/js/twemoji/16x16/1f3ae.png b/js/twemoji/16x16/1f3ae.png
new file mode 100644
index 00000000..95ad25fb
Binary files /dev/null and b/js/twemoji/16x16/1f3ae.png differ
diff --git a/js/twemoji/16x16/1f3af.png b/js/twemoji/16x16/1f3af.png
new file mode 100644
index 00000000..51d4213d
Binary files /dev/null and b/js/twemoji/16x16/1f3af.png differ
diff --git a/js/twemoji/16x16/1f3b0.png b/js/twemoji/16x16/1f3b0.png
new file mode 100644
index 00000000..b9682c54
Binary files /dev/null and b/js/twemoji/16x16/1f3b0.png differ
diff --git a/js/twemoji/16x16/1f3b1.png b/js/twemoji/16x16/1f3b1.png
new file mode 100644
index 00000000..c9bec7a2
Binary files /dev/null and b/js/twemoji/16x16/1f3b1.png differ
diff --git a/js/twemoji/16x16/1f3b2.png b/js/twemoji/16x16/1f3b2.png
new file mode 100644
index 00000000..e82f4e5d
Binary files /dev/null and b/js/twemoji/16x16/1f3b2.png differ
diff --git a/js/twemoji/16x16/1f3b3.png b/js/twemoji/16x16/1f3b3.png
new file mode 100644
index 00000000..e373147b
Binary files /dev/null and b/js/twemoji/16x16/1f3b3.png differ
diff --git a/js/twemoji/16x16/1f3b4.png b/js/twemoji/16x16/1f3b4.png
new file mode 100644
index 00000000..0362d9ce
Binary files /dev/null and b/js/twemoji/16x16/1f3b4.png differ
diff --git a/js/twemoji/16x16/1f3b5.png b/js/twemoji/16x16/1f3b5.png
new file mode 100644
index 00000000..3506d2e3
Binary files /dev/null and b/js/twemoji/16x16/1f3b5.png differ
diff --git a/js/twemoji/16x16/1f3b6.png b/js/twemoji/16x16/1f3b6.png
new file mode 100644
index 00000000..b5ac4212
Binary files /dev/null and b/js/twemoji/16x16/1f3b6.png differ
diff --git a/js/twemoji/16x16/1f3b7.png b/js/twemoji/16x16/1f3b7.png
new file mode 100644
index 00000000..c6ed6a70
Binary files /dev/null and b/js/twemoji/16x16/1f3b7.png differ
diff --git a/js/twemoji/16x16/1f3b8.png b/js/twemoji/16x16/1f3b8.png
new file mode 100644
index 00000000..f58dcd75
Binary files /dev/null and b/js/twemoji/16x16/1f3b8.png differ
diff --git a/js/twemoji/16x16/1f3b9.png b/js/twemoji/16x16/1f3b9.png
new file mode 100644
index 00000000..65da203b
Binary files /dev/null and b/js/twemoji/16x16/1f3b9.png differ
diff --git a/js/twemoji/16x16/1f3ba.png b/js/twemoji/16x16/1f3ba.png
new file mode 100644
index 00000000..be52ea06
Binary files /dev/null and b/js/twemoji/16x16/1f3ba.png differ
diff --git a/js/twemoji/16x16/1f3bb.png b/js/twemoji/16x16/1f3bb.png
new file mode 100644
index 00000000..2955ae88
Binary files /dev/null and b/js/twemoji/16x16/1f3bb.png differ
diff --git a/js/twemoji/16x16/1f3bc.png b/js/twemoji/16x16/1f3bc.png
new file mode 100644
index 00000000..a5798d74
Binary files /dev/null and b/js/twemoji/16x16/1f3bc.png differ
diff --git a/js/twemoji/16x16/1f3bd.png b/js/twemoji/16x16/1f3bd.png
new file mode 100644
index 00000000..26aaf37d
Binary files /dev/null and b/js/twemoji/16x16/1f3bd.png differ
diff --git a/js/twemoji/16x16/1f3be.png b/js/twemoji/16x16/1f3be.png
new file mode 100644
index 00000000..01c6fbfd
Binary files /dev/null and b/js/twemoji/16x16/1f3be.png differ
diff --git a/js/twemoji/16x16/1f3bf.png b/js/twemoji/16x16/1f3bf.png
new file mode 100644
index 00000000..0f4d0b89
Binary files /dev/null and b/js/twemoji/16x16/1f3bf.png differ
diff --git a/js/twemoji/16x16/1f3c0.png b/js/twemoji/16x16/1f3c0.png
new file mode 100644
index 00000000..6d0a5f63
Binary files /dev/null and b/js/twemoji/16x16/1f3c0.png differ
diff --git a/js/twemoji/16x16/1f3c1.png b/js/twemoji/16x16/1f3c1.png
new file mode 100644
index 00000000..81b1ba2d
Binary files /dev/null and b/js/twemoji/16x16/1f3c1.png differ
diff --git a/js/twemoji/16x16/1f3c2.png b/js/twemoji/16x16/1f3c2.png
new file mode 100644
index 00000000..57d0891e
Binary files /dev/null and b/js/twemoji/16x16/1f3c2.png differ
diff --git a/js/twemoji/16x16/1f3c3.png b/js/twemoji/16x16/1f3c3.png
new file mode 100644
index 00000000..329e72ad
Binary files /dev/null and b/js/twemoji/16x16/1f3c3.png differ
diff --git a/js/twemoji/16x16/1f3c4.png b/js/twemoji/16x16/1f3c4.png
new file mode 100644
index 00000000..07f0d77f
Binary files /dev/null and b/js/twemoji/16x16/1f3c4.png differ
diff --git a/js/twemoji/16x16/1f3c6.png b/js/twemoji/16x16/1f3c6.png
new file mode 100644
index 00000000..ce552ab5
Binary files /dev/null and b/js/twemoji/16x16/1f3c6.png differ
diff --git a/js/twemoji/16x16/1f3c7.png b/js/twemoji/16x16/1f3c7.png
new file mode 100644
index 00000000..bcffc0de
Binary files /dev/null and b/js/twemoji/16x16/1f3c7.png differ
diff --git a/js/twemoji/16x16/1f3c8.png b/js/twemoji/16x16/1f3c8.png
new file mode 100644
index 00000000..caf59094
Binary files /dev/null and b/js/twemoji/16x16/1f3c8.png differ
diff --git a/js/twemoji/16x16/1f3c9.png b/js/twemoji/16x16/1f3c9.png
new file mode 100644
index 00000000..ccba6757
Binary files /dev/null and b/js/twemoji/16x16/1f3c9.png differ
diff --git a/js/twemoji/16x16/1f3ca.png b/js/twemoji/16x16/1f3ca.png
new file mode 100644
index 00000000..e603918d
Binary files /dev/null and b/js/twemoji/16x16/1f3ca.png differ
diff --git a/js/twemoji/16x16/1f3e0.png b/js/twemoji/16x16/1f3e0.png
new file mode 100644
index 00000000..9537eae4
Binary files /dev/null and b/js/twemoji/16x16/1f3e0.png differ
diff --git a/js/twemoji/16x16/1f3e1.png b/js/twemoji/16x16/1f3e1.png
new file mode 100644
index 00000000..dcc6b036
Binary files /dev/null and b/js/twemoji/16x16/1f3e1.png differ
diff --git a/js/twemoji/16x16/1f3e2.png b/js/twemoji/16x16/1f3e2.png
new file mode 100644
index 00000000..86d778ab
Binary files /dev/null and b/js/twemoji/16x16/1f3e2.png differ
diff --git a/js/twemoji/16x16/1f3e3.png b/js/twemoji/16x16/1f3e3.png
new file mode 100644
index 00000000..f44688be
Binary files /dev/null and b/js/twemoji/16x16/1f3e3.png differ
diff --git a/js/twemoji/16x16/1f3e4.png b/js/twemoji/16x16/1f3e4.png
new file mode 100644
index 00000000..5e58fc6d
Binary files /dev/null and b/js/twemoji/16x16/1f3e4.png differ
diff --git a/js/twemoji/16x16/1f3e5.png b/js/twemoji/16x16/1f3e5.png
new file mode 100644
index 00000000..b1671e84
Binary files /dev/null and b/js/twemoji/16x16/1f3e5.png differ
diff --git a/js/twemoji/16x16/1f3e6.png b/js/twemoji/16x16/1f3e6.png
new file mode 100644
index 00000000..5fd4d34c
Binary files /dev/null and b/js/twemoji/16x16/1f3e6.png differ
diff --git a/js/twemoji/16x16/1f3e7.png b/js/twemoji/16x16/1f3e7.png
new file mode 100644
index 00000000..ed3a8ab7
Binary files /dev/null and b/js/twemoji/16x16/1f3e7.png differ
diff --git a/js/twemoji/16x16/1f3e8.png b/js/twemoji/16x16/1f3e8.png
new file mode 100644
index 00000000..1c516a2b
Binary files /dev/null and b/js/twemoji/16x16/1f3e8.png differ
diff --git a/js/twemoji/16x16/1f3e9.png b/js/twemoji/16x16/1f3e9.png
new file mode 100644
index 00000000..fb39a43d
Binary files /dev/null and b/js/twemoji/16x16/1f3e9.png differ
diff --git a/js/twemoji/16x16/1f3ea.png b/js/twemoji/16x16/1f3ea.png
new file mode 100644
index 00000000..e1e41923
Binary files /dev/null and b/js/twemoji/16x16/1f3ea.png differ
diff --git a/js/twemoji/16x16/1f3eb.png b/js/twemoji/16x16/1f3eb.png
new file mode 100644
index 00000000..a6a2ceab
Binary files /dev/null and b/js/twemoji/16x16/1f3eb.png differ
diff --git a/js/twemoji/16x16/1f3ec.png b/js/twemoji/16x16/1f3ec.png
new file mode 100644
index 00000000..0747a784
Binary files /dev/null and b/js/twemoji/16x16/1f3ec.png differ
diff --git a/js/twemoji/16x16/1f3ed.png b/js/twemoji/16x16/1f3ed.png
new file mode 100644
index 00000000..db95ed4d
Binary files /dev/null and b/js/twemoji/16x16/1f3ed.png differ
diff --git a/js/twemoji/16x16/1f3ee.png b/js/twemoji/16x16/1f3ee.png
new file mode 100644
index 00000000..8f9b4a02
Binary files /dev/null and b/js/twemoji/16x16/1f3ee.png differ
diff --git a/js/twemoji/16x16/1f3ef.png b/js/twemoji/16x16/1f3ef.png
new file mode 100644
index 00000000..91cc1e70
Binary files /dev/null and b/js/twemoji/16x16/1f3ef.png differ
diff --git a/js/twemoji/16x16/1f3f0.png b/js/twemoji/16x16/1f3f0.png
new file mode 100644
index 00000000..85982f9d
Binary files /dev/null and b/js/twemoji/16x16/1f3f0.png differ
diff --git a/js/twemoji/16x16/1f400.png b/js/twemoji/16x16/1f400.png
new file mode 100644
index 00000000..6b8f1fd6
Binary files /dev/null and b/js/twemoji/16x16/1f400.png differ
diff --git a/js/twemoji/16x16/1f401.png b/js/twemoji/16x16/1f401.png
new file mode 100644
index 00000000..4772c904
Binary files /dev/null and b/js/twemoji/16x16/1f401.png differ
diff --git a/js/twemoji/16x16/1f402.png b/js/twemoji/16x16/1f402.png
new file mode 100644
index 00000000..99031f8a
Binary files /dev/null and b/js/twemoji/16x16/1f402.png differ
diff --git a/js/twemoji/16x16/1f403.png b/js/twemoji/16x16/1f403.png
new file mode 100644
index 00000000..b69396e7
Binary files /dev/null and b/js/twemoji/16x16/1f403.png differ
diff --git a/js/twemoji/16x16/1f404.png b/js/twemoji/16x16/1f404.png
new file mode 100644
index 00000000..5a6420f2
Binary files /dev/null and b/js/twemoji/16x16/1f404.png differ
diff --git a/js/twemoji/16x16/1f405.png b/js/twemoji/16x16/1f405.png
new file mode 100644
index 00000000..6dbdcb42
Binary files /dev/null and b/js/twemoji/16x16/1f405.png differ
diff --git a/js/twemoji/16x16/1f406.png b/js/twemoji/16x16/1f406.png
new file mode 100644
index 00000000..a0ece598
Binary files /dev/null and b/js/twemoji/16x16/1f406.png differ
diff --git a/js/twemoji/16x16/1f407.png b/js/twemoji/16x16/1f407.png
new file mode 100644
index 00000000..2fbb9a17
Binary files /dev/null and b/js/twemoji/16x16/1f407.png differ
diff --git a/js/twemoji/16x16/1f408.png b/js/twemoji/16x16/1f408.png
new file mode 100644
index 00000000..8df8f03e
Binary files /dev/null and b/js/twemoji/16x16/1f408.png differ
diff --git a/js/twemoji/16x16/1f409.png b/js/twemoji/16x16/1f409.png
new file mode 100644
index 00000000..f5903034
Binary files /dev/null and b/js/twemoji/16x16/1f409.png differ
diff --git a/js/twemoji/16x16/1f40a.png b/js/twemoji/16x16/1f40a.png
new file mode 100644
index 00000000..41bef121
Binary files /dev/null and b/js/twemoji/16x16/1f40a.png differ
diff --git a/js/twemoji/16x16/1f40b.png b/js/twemoji/16x16/1f40b.png
new file mode 100644
index 00000000..6c94493b
Binary files /dev/null and b/js/twemoji/16x16/1f40b.png differ
diff --git a/js/twemoji/16x16/1f40c.png b/js/twemoji/16x16/1f40c.png
new file mode 100644
index 00000000..5dbdd53f
Binary files /dev/null and b/js/twemoji/16x16/1f40c.png differ
diff --git a/js/twemoji/16x16/1f40d.png b/js/twemoji/16x16/1f40d.png
new file mode 100644
index 00000000..64c24ff8
Binary files /dev/null and b/js/twemoji/16x16/1f40d.png differ
diff --git a/js/twemoji/16x16/1f40e.png b/js/twemoji/16x16/1f40e.png
new file mode 100644
index 00000000..ae72a94c
Binary files /dev/null and b/js/twemoji/16x16/1f40e.png differ
diff --git a/js/twemoji/16x16/1f40f.png b/js/twemoji/16x16/1f40f.png
new file mode 100644
index 00000000..c5bb22c7
Binary files /dev/null and b/js/twemoji/16x16/1f40f.png differ
diff --git a/js/twemoji/16x16/1f410.png b/js/twemoji/16x16/1f410.png
new file mode 100644
index 00000000..70e4a9d2
Binary files /dev/null and b/js/twemoji/16x16/1f410.png differ
diff --git a/js/twemoji/16x16/1f411.png b/js/twemoji/16x16/1f411.png
new file mode 100644
index 00000000..38728fb2
Binary files /dev/null and b/js/twemoji/16x16/1f411.png differ
diff --git a/js/twemoji/16x16/1f412.png b/js/twemoji/16x16/1f412.png
new file mode 100644
index 00000000..37691b7e
Binary files /dev/null and b/js/twemoji/16x16/1f412.png differ
diff --git a/js/twemoji/16x16/1f413.png b/js/twemoji/16x16/1f413.png
new file mode 100644
index 00000000..b8753a69
Binary files /dev/null and b/js/twemoji/16x16/1f413.png differ
diff --git a/js/twemoji/16x16/1f414.png b/js/twemoji/16x16/1f414.png
new file mode 100644
index 00000000..aad94b78
Binary files /dev/null and b/js/twemoji/16x16/1f414.png differ
diff --git a/js/twemoji/16x16/1f415.png b/js/twemoji/16x16/1f415.png
new file mode 100644
index 00000000..d3843976
Binary files /dev/null and b/js/twemoji/16x16/1f415.png differ
diff --git a/js/twemoji/16x16/1f416.png b/js/twemoji/16x16/1f416.png
new file mode 100644
index 00000000..fb62390d
Binary files /dev/null and b/js/twemoji/16x16/1f416.png differ
diff --git a/js/twemoji/16x16/1f417.png b/js/twemoji/16x16/1f417.png
new file mode 100644
index 00000000..4300f313
Binary files /dev/null and b/js/twemoji/16x16/1f417.png differ
diff --git a/js/twemoji/16x16/1f418.png b/js/twemoji/16x16/1f418.png
new file mode 100644
index 00000000..8c7a6fcd
Binary files /dev/null and b/js/twemoji/16x16/1f418.png differ
diff --git a/js/twemoji/16x16/1f419.png b/js/twemoji/16x16/1f419.png
new file mode 100644
index 00000000..2b501a3d
Binary files /dev/null and b/js/twemoji/16x16/1f419.png differ
diff --git a/js/twemoji/16x16/1f41a.png b/js/twemoji/16x16/1f41a.png
new file mode 100644
index 00000000..3f91247a
Binary files /dev/null and b/js/twemoji/16x16/1f41a.png differ
diff --git a/js/twemoji/16x16/1f41b.png b/js/twemoji/16x16/1f41b.png
new file mode 100644
index 00000000..fbd2b335
Binary files /dev/null and b/js/twemoji/16x16/1f41b.png differ
diff --git a/js/twemoji/16x16/1f41c.png b/js/twemoji/16x16/1f41c.png
new file mode 100644
index 00000000..2a03278a
Binary files /dev/null and b/js/twemoji/16x16/1f41c.png differ
diff --git a/js/twemoji/16x16/1f41d.png b/js/twemoji/16x16/1f41d.png
new file mode 100644
index 00000000..00fa1878
Binary files /dev/null and b/js/twemoji/16x16/1f41d.png differ
diff --git a/js/twemoji/16x16/1f41e.png b/js/twemoji/16x16/1f41e.png
new file mode 100644
index 00000000..10f84598
Binary files /dev/null and b/js/twemoji/16x16/1f41e.png differ
diff --git a/js/twemoji/16x16/1f41f.png b/js/twemoji/16x16/1f41f.png
new file mode 100644
index 00000000..c3189825
Binary files /dev/null and b/js/twemoji/16x16/1f41f.png differ
diff --git a/js/twemoji/16x16/1f420.png b/js/twemoji/16x16/1f420.png
new file mode 100644
index 00000000..5de9bcaa
Binary files /dev/null and b/js/twemoji/16x16/1f420.png differ
diff --git a/js/twemoji/16x16/1f421.png b/js/twemoji/16x16/1f421.png
new file mode 100644
index 00000000..5d2bf538
Binary files /dev/null and b/js/twemoji/16x16/1f421.png differ
diff --git a/js/twemoji/16x16/1f422.png b/js/twemoji/16x16/1f422.png
new file mode 100644
index 00000000..03d12c12
Binary files /dev/null and b/js/twemoji/16x16/1f422.png differ
diff --git a/js/twemoji/16x16/1f423.png b/js/twemoji/16x16/1f423.png
new file mode 100644
index 00000000..ffa60112
Binary files /dev/null and b/js/twemoji/16x16/1f423.png differ
diff --git a/js/twemoji/16x16/1f424.png b/js/twemoji/16x16/1f424.png
new file mode 100644
index 00000000..d618d12c
Binary files /dev/null and b/js/twemoji/16x16/1f424.png differ
diff --git a/js/twemoji/16x16/1f425.png b/js/twemoji/16x16/1f425.png
new file mode 100644
index 00000000..1b75c262
Binary files /dev/null and b/js/twemoji/16x16/1f425.png differ
diff --git a/js/twemoji/16x16/1f426.png b/js/twemoji/16x16/1f426.png
new file mode 100644
index 00000000..e8ac684b
Binary files /dev/null and b/js/twemoji/16x16/1f426.png differ
diff --git a/js/twemoji/16x16/1f427.png b/js/twemoji/16x16/1f427.png
new file mode 100644
index 00000000..be3d6a6d
Binary files /dev/null and b/js/twemoji/16x16/1f427.png differ
diff --git a/js/twemoji/16x16/1f428.png b/js/twemoji/16x16/1f428.png
new file mode 100644
index 00000000..c6c82f5b
Binary files /dev/null and b/js/twemoji/16x16/1f428.png differ
diff --git a/js/twemoji/16x16/1f429.png b/js/twemoji/16x16/1f429.png
new file mode 100644
index 00000000..cf9f2280
Binary files /dev/null and b/js/twemoji/16x16/1f429.png differ
diff --git a/js/twemoji/16x16/1f42a.png b/js/twemoji/16x16/1f42a.png
new file mode 100644
index 00000000..7375498b
Binary files /dev/null and b/js/twemoji/16x16/1f42a.png differ
diff --git a/js/twemoji/16x16/1f42b.png b/js/twemoji/16x16/1f42b.png
new file mode 100644
index 00000000..5aa6598d
Binary files /dev/null and b/js/twemoji/16x16/1f42b.png differ
diff --git a/js/twemoji/16x16/1f42c.png b/js/twemoji/16x16/1f42c.png
new file mode 100644
index 00000000..8671bf72
Binary files /dev/null and b/js/twemoji/16x16/1f42c.png differ
diff --git a/js/twemoji/16x16/1f42d.png b/js/twemoji/16x16/1f42d.png
new file mode 100644
index 00000000..f7ec5e5d
Binary files /dev/null and b/js/twemoji/16x16/1f42d.png differ
diff --git a/js/twemoji/16x16/1f42e.png b/js/twemoji/16x16/1f42e.png
new file mode 100644
index 00000000..6389b849
Binary files /dev/null and b/js/twemoji/16x16/1f42e.png differ
diff --git a/js/twemoji/16x16/1f42f.png b/js/twemoji/16x16/1f42f.png
new file mode 100644
index 00000000..7149cfd5
Binary files /dev/null and b/js/twemoji/16x16/1f42f.png differ
diff --git a/js/twemoji/16x16/1f430.png b/js/twemoji/16x16/1f430.png
new file mode 100644
index 00000000..20f75819
Binary files /dev/null and b/js/twemoji/16x16/1f430.png differ
diff --git a/js/twemoji/16x16/1f431.png b/js/twemoji/16x16/1f431.png
new file mode 100644
index 00000000..ecfb3d8a
Binary files /dev/null and b/js/twemoji/16x16/1f431.png differ
diff --git a/js/twemoji/16x16/1f432.png b/js/twemoji/16x16/1f432.png
new file mode 100644
index 00000000..980c4444
Binary files /dev/null and b/js/twemoji/16x16/1f432.png differ
diff --git a/js/twemoji/16x16/1f433.png b/js/twemoji/16x16/1f433.png
new file mode 100644
index 00000000..2ccb8991
Binary files /dev/null and b/js/twemoji/16x16/1f433.png differ
diff --git a/js/twemoji/16x16/1f434.png b/js/twemoji/16x16/1f434.png
new file mode 100644
index 00000000..04a935ed
Binary files /dev/null and b/js/twemoji/16x16/1f434.png differ
diff --git a/js/twemoji/16x16/1f435.png b/js/twemoji/16x16/1f435.png
new file mode 100644
index 00000000..30425ae8
Binary files /dev/null and b/js/twemoji/16x16/1f435.png differ
diff --git a/js/twemoji/16x16/1f436.png b/js/twemoji/16x16/1f436.png
new file mode 100644
index 00000000..c6e780b0
Binary files /dev/null and b/js/twemoji/16x16/1f436.png differ
diff --git a/js/twemoji/16x16/1f437.png b/js/twemoji/16x16/1f437.png
new file mode 100644
index 00000000..2ab10427
Binary files /dev/null and b/js/twemoji/16x16/1f437.png differ
diff --git a/js/twemoji/16x16/1f438.png b/js/twemoji/16x16/1f438.png
new file mode 100644
index 00000000..9b2aa16c
Binary files /dev/null and b/js/twemoji/16x16/1f438.png differ
diff --git a/js/twemoji/16x16/1f439.png b/js/twemoji/16x16/1f439.png
new file mode 100644
index 00000000..e3d4523f
Binary files /dev/null and b/js/twemoji/16x16/1f439.png differ
diff --git a/js/twemoji/16x16/1f43a.png b/js/twemoji/16x16/1f43a.png
new file mode 100644
index 00000000..93206353
Binary files /dev/null and b/js/twemoji/16x16/1f43a.png differ
diff --git a/js/twemoji/16x16/1f43b.png b/js/twemoji/16x16/1f43b.png
new file mode 100644
index 00000000..edc5b55b
Binary files /dev/null and b/js/twemoji/16x16/1f43b.png differ
diff --git a/js/twemoji/16x16/1f43c.png b/js/twemoji/16x16/1f43c.png
new file mode 100644
index 00000000..b98cd471
Binary files /dev/null and b/js/twemoji/16x16/1f43c.png differ
diff --git a/js/twemoji/16x16/1f43d.png b/js/twemoji/16x16/1f43d.png
new file mode 100644
index 00000000..2b278f4c
Binary files /dev/null and b/js/twemoji/16x16/1f43d.png differ
diff --git a/js/twemoji/16x16/1f43e.png b/js/twemoji/16x16/1f43e.png
new file mode 100644
index 00000000..f03d257a
Binary files /dev/null and b/js/twemoji/16x16/1f43e.png differ
diff --git a/js/twemoji/16x16/1f440.png b/js/twemoji/16x16/1f440.png
new file mode 100644
index 00000000..bc2c5afd
Binary files /dev/null and b/js/twemoji/16x16/1f440.png differ
diff --git a/js/twemoji/16x16/1f442.png b/js/twemoji/16x16/1f442.png
new file mode 100644
index 00000000..842fb58e
Binary files /dev/null and b/js/twemoji/16x16/1f442.png differ
diff --git a/js/twemoji/16x16/1f443.png b/js/twemoji/16x16/1f443.png
new file mode 100644
index 00000000..253956e1
Binary files /dev/null and b/js/twemoji/16x16/1f443.png differ
diff --git a/js/twemoji/16x16/1f444.png b/js/twemoji/16x16/1f444.png
new file mode 100644
index 00000000..b899e40e
Binary files /dev/null and b/js/twemoji/16x16/1f444.png differ
diff --git a/js/twemoji/16x16/1f445.png b/js/twemoji/16x16/1f445.png
new file mode 100644
index 00000000..db81c71c
Binary files /dev/null and b/js/twemoji/16x16/1f445.png differ
diff --git a/js/twemoji/16x16/1f446.png b/js/twemoji/16x16/1f446.png
new file mode 100644
index 00000000..a8aec46d
Binary files /dev/null and b/js/twemoji/16x16/1f446.png differ
diff --git a/js/twemoji/16x16/1f447.png b/js/twemoji/16x16/1f447.png
new file mode 100644
index 00000000..540d4d49
Binary files /dev/null and b/js/twemoji/16x16/1f447.png differ
diff --git a/js/twemoji/16x16/1f448.png b/js/twemoji/16x16/1f448.png
new file mode 100644
index 00000000..b3864261
Binary files /dev/null and b/js/twemoji/16x16/1f448.png differ
diff --git a/js/twemoji/16x16/1f449.png b/js/twemoji/16x16/1f449.png
new file mode 100644
index 00000000..b5e2ce1d
Binary files /dev/null and b/js/twemoji/16x16/1f449.png differ
diff --git a/js/twemoji/16x16/1f44a.png b/js/twemoji/16x16/1f44a.png
new file mode 100644
index 00000000..18fb74b1
Binary files /dev/null and b/js/twemoji/16x16/1f44a.png differ
diff --git a/js/twemoji/16x16/1f44b.png b/js/twemoji/16x16/1f44b.png
new file mode 100644
index 00000000..35a4129b
Binary files /dev/null and b/js/twemoji/16x16/1f44b.png differ
diff --git a/js/twemoji/16x16/1f44c.png b/js/twemoji/16x16/1f44c.png
new file mode 100644
index 00000000..90d755b0
Binary files /dev/null and b/js/twemoji/16x16/1f44c.png differ
diff --git a/js/twemoji/16x16/1f44d.png b/js/twemoji/16x16/1f44d.png
new file mode 100644
index 00000000..6e9a22dd
Binary files /dev/null and b/js/twemoji/16x16/1f44d.png differ
diff --git a/js/twemoji/16x16/1f44e.png b/js/twemoji/16x16/1f44e.png
new file mode 100644
index 00000000..e9926c14
Binary files /dev/null and b/js/twemoji/16x16/1f44e.png differ
diff --git a/js/twemoji/16x16/1f44f.png b/js/twemoji/16x16/1f44f.png
new file mode 100644
index 00000000..d20c3a0b
Binary files /dev/null and b/js/twemoji/16x16/1f44f.png differ
diff --git a/js/twemoji/16x16/1f450.png b/js/twemoji/16x16/1f450.png
new file mode 100644
index 00000000..71326da5
Binary files /dev/null and b/js/twemoji/16x16/1f450.png differ
diff --git a/js/twemoji/16x16/1f451.png b/js/twemoji/16x16/1f451.png
new file mode 100644
index 00000000..a6120842
Binary files /dev/null and b/js/twemoji/16x16/1f451.png differ
diff --git a/js/twemoji/16x16/1f452.png b/js/twemoji/16x16/1f452.png
new file mode 100644
index 00000000..23475363
Binary files /dev/null and b/js/twemoji/16x16/1f452.png differ
diff --git a/js/twemoji/16x16/1f453.png b/js/twemoji/16x16/1f453.png
new file mode 100644
index 00000000..cf41c1cf
Binary files /dev/null and b/js/twemoji/16x16/1f453.png differ
diff --git a/js/twemoji/16x16/1f454.png b/js/twemoji/16x16/1f454.png
new file mode 100644
index 00000000..74443284
Binary files /dev/null and b/js/twemoji/16x16/1f454.png differ
diff --git a/js/twemoji/16x16/1f455.png b/js/twemoji/16x16/1f455.png
new file mode 100644
index 00000000..46e333ff
Binary files /dev/null and b/js/twemoji/16x16/1f455.png differ
diff --git a/js/twemoji/16x16/1f456.png b/js/twemoji/16x16/1f456.png
new file mode 100644
index 00000000..1ebb64a7
Binary files /dev/null and b/js/twemoji/16x16/1f456.png differ
diff --git a/js/twemoji/16x16/1f457.png b/js/twemoji/16x16/1f457.png
new file mode 100644
index 00000000..67d9cd3d
Binary files /dev/null and b/js/twemoji/16x16/1f457.png differ
diff --git a/js/twemoji/16x16/1f458.png b/js/twemoji/16x16/1f458.png
new file mode 100644
index 00000000..e2e7bebb
Binary files /dev/null and b/js/twemoji/16x16/1f458.png differ
diff --git a/js/twemoji/16x16/1f459.png b/js/twemoji/16x16/1f459.png
new file mode 100644
index 00000000..78353345
Binary files /dev/null and b/js/twemoji/16x16/1f459.png differ
diff --git a/js/twemoji/16x16/1f45a.png b/js/twemoji/16x16/1f45a.png
new file mode 100644
index 00000000..ad2572e0
Binary files /dev/null and b/js/twemoji/16x16/1f45a.png differ
diff --git a/js/twemoji/16x16/1f45b.png b/js/twemoji/16x16/1f45b.png
new file mode 100644
index 00000000..9cab8719
Binary files /dev/null and b/js/twemoji/16x16/1f45b.png differ
diff --git a/js/twemoji/16x16/1f45c.png b/js/twemoji/16x16/1f45c.png
new file mode 100644
index 00000000..a2f75b39
Binary files /dev/null and b/js/twemoji/16x16/1f45c.png differ
diff --git a/js/twemoji/16x16/1f45d.png b/js/twemoji/16x16/1f45d.png
new file mode 100644
index 00000000..dccc29a7
Binary files /dev/null and b/js/twemoji/16x16/1f45d.png differ
diff --git a/js/twemoji/16x16/1f45e.png b/js/twemoji/16x16/1f45e.png
new file mode 100644
index 00000000..feb4ac42
Binary files /dev/null and b/js/twemoji/16x16/1f45e.png differ
diff --git a/js/twemoji/16x16/1f45f.png b/js/twemoji/16x16/1f45f.png
new file mode 100644
index 00000000..4e50636e
Binary files /dev/null and b/js/twemoji/16x16/1f45f.png differ
diff --git a/js/twemoji/16x16/1f460.png b/js/twemoji/16x16/1f460.png
new file mode 100644
index 00000000..0fee19c9
Binary files /dev/null and b/js/twemoji/16x16/1f460.png differ
diff --git a/js/twemoji/16x16/1f461.png b/js/twemoji/16x16/1f461.png
new file mode 100644
index 00000000..502845cc
Binary files /dev/null and b/js/twemoji/16x16/1f461.png differ
diff --git a/js/twemoji/16x16/1f462.png b/js/twemoji/16x16/1f462.png
new file mode 100644
index 00000000..bbe7721e
Binary files /dev/null and b/js/twemoji/16x16/1f462.png differ
diff --git a/js/twemoji/16x16/1f463.png b/js/twemoji/16x16/1f463.png
new file mode 100644
index 00000000..974ad977
Binary files /dev/null and b/js/twemoji/16x16/1f463.png differ
diff --git a/js/twemoji/16x16/1f464.png b/js/twemoji/16x16/1f464.png
new file mode 100644
index 00000000..e6ff0707
Binary files /dev/null and b/js/twemoji/16x16/1f464.png differ
diff --git a/js/twemoji/16x16/1f465.png b/js/twemoji/16x16/1f465.png
new file mode 100644
index 00000000..ee083bb6
Binary files /dev/null and b/js/twemoji/16x16/1f465.png differ
diff --git a/js/twemoji/16x16/1f466.png b/js/twemoji/16x16/1f466.png
new file mode 100644
index 00000000..ec8fffe5
Binary files /dev/null and b/js/twemoji/16x16/1f466.png differ
diff --git a/js/twemoji/16x16/1f467.png b/js/twemoji/16x16/1f467.png
new file mode 100644
index 00000000..4c518b4a
Binary files /dev/null and b/js/twemoji/16x16/1f467.png differ
diff --git a/js/twemoji/16x16/1f468.png b/js/twemoji/16x16/1f468.png
new file mode 100644
index 00000000..7349e255
Binary files /dev/null and b/js/twemoji/16x16/1f468.png differ
diff --git a/js/twemoji/16x16/1f469.png b/js/twemoji/16x16/1f469.png
new file mode 100644
index 00000000..ba7e88c6
Binary files /dev/null and b/js/twemoji/16x16/1f469.png differ
diff --git a/js/twemoji/16x16/1f46a.png b/js/twemoji/16x16/1f46a.png
new file mode 100644
index 00000000..319231c3
Binary files /dev/null and b/js/twemoji/16x16/1f46a.png differ
diff --git a/js/twemoji/16x16/1f46b.png b/js/twemoji/16x16/1f46b.png
new file mode 100644
index 00000000..d3ec8050
Binary files /dev/null and b/js/twemoji/16x16/1f46b.png differ
diff --git a/js/twemoji/16x16/1f46c.png b/js/twemoji/16x16/1f46c.png
new file mode 100644
index 00000000..fd1807cf
Binary files /dev/null and b/js/twemoji/16x16/1f46c.png differ
diff --git a/js/twemoji/16x16/1f46d.png b/js/twemoji/16x16/1f46d.png
new file mode 100644
index 00000000..6ce51d83
Binary files /dev/null and b/js/twemoji/16x16/1f46d.png differ
diff --git a/js/twemoji/16x16/1f46e.png b/js/twemoji/16x16/1f46e.png
new file mode 100644
index 00000000..b616b51e
Binary files /dev/null and b/js/twemoji/16x16/1f46e.png differ
diff --git a/js/twemoji/16x16/1f46f.png b/js/twemoji/16x16/1f46f.png
new file mode 100644
index 00000000..a05b5ff3
Binary files /dev/null and b/js/twemoji/16x16/1f46f.png differ
diff --git a/js/twemoji/16x16/1f470.png b/js/twemoji/16x16/1f470.png
new file mode 100644
index 00000000..b72bd36f
Binary files /dev/null and b/js/twemoji/16x16/1f470.png differ
diff --git a/js/twemoji/16x16/1f471.png b/js/twemoji/16x16/1f471.png
new file mode 100644
index 00000000..91f6a992
Binary files /dev/null and b/js/twemoji/16x16/1f471.png differ
diff --git a/js/twemoji/16x16/1f472.png b/js/twemoji/16x16/1f472.png
new file mode 100644
index 00000000..712fc549
Binary files /dev/null and b/js/twemoji/16x16/1f472.png differ
diff --git a/js/twemoji/16x16/1f473.png b/js/twemoji/16x16/1f473.png
new file mode 100644
index 00000000..62589fed
Binary files /dev/null and b/js/twemoji/16x16/1f473.png differ
diff --git a/js/twemoji/16x16/1f474.png b/js/twemoji/16x16/1f474.png
new file mode 100644
index 00000000..738e5c71
Binary files /dev/null and b/js/twemoji/16x16/1f474.png differ
diff --git a/js/twemoji/16x16/1f475.png b/js/twemoji/16x16/1f475.png
new file mode 100644
index 00000000..7ab887e7
Binary files /dev/null and b/js/twemoji/16x16/1f475.png differ
diff --git a/js/twemoji/16x16/1f476.png b/js/twemoji/16x16/1f476.png
new file mode 100644
index 00000000..e3f1d849
Binary files /dev/null and b/js/twemoji/16x16/1f476.png differ
diff --git a/js/twemoji/16x16/1f477.png b/js/twemoji/16x16/1f477.png
new file mode 100644
index 00000000..e0639ce9
Binary files /dev/null and b/js/twemoji/16x16/1f477.png differ
diff --git a/js/twemoji/16x16/1f478.png b/js/twemoji/16x16/1f478.png
new file mode 100644
index 00000000..fd23fdc3
Binary files /dev/null and b/js/twemoji/16x16/1f478.png differ
diff --git a/js/twemoji/16x16/1f479.png b/js/twemoji/16x16/1f479.png
new file mode 100644
index 00000000..1e774083
Binary files /dev/null and b/js/twemoji/16x16/1f479.png differ
diff --git a/js/twemoji/16x16/1f47a.png b/js/twemoji/16x16/1f47a.png
new file mode 100644
index 00000000..42d17499
Binary files /dev/null and b/js/twemoji/16x16/1f47a.png differ
diff --git a/js/twemoji/16x16/1f47b.png b/js/twemoji/16x16/1f47b.png
new file mode 100644
index 00000000..e2798f50
Binary files /dev/null and b/js/twemoji/16x16/1f47b.png differ
diff --git a/js/twemoji/16x16/1f47c.png b/js/twemoji/16x16/1f47c.png
new file mode 100644
index 00000000..9e3a94d0
Binary files /dev/null and b/js/twemoji/16x16/1f47c.png differ
diff --git a/js/twemoji/16x16/1f47d.png b/js/twemoji/16x16/1f47d.png
new file mode 100644
index 00000000..909c4376
Binary files /dev/null and b/js/twemoji/16x16/1f47d.png differ
diff --git a/js/twemoji/16x16/1f47e.png b/js/twemoji/16x16/1f47e.png
new file mode 100644
index 00000000..3f932004
Binary files /dev/null and b/js/twemoji/16x16/1f47e.png differ
diff --git a/js/twemoji/16x16/1f47f.png b/js/twemoji/16x16/1f47f.png
new file mode 100644
index 00000000..55c07d05
Binary files /dev/null and b/js/twemoji/16x16/1f47f.png differ
diff --git a/js/twemoji/16x16/1f480.png b/js/twemoji/16x16/1f480.png
new file mode 100644
index 00000000..6c6f2a86
Binary files /dev/null and b/js/twemoji/16x16/1f480.png differ
diff --git a/js/twemoji/16x16/1f481.png b/js/twemoji/16x16/1f481.png
new file mode 100644
index 00000000..4f68e8f3
Binary files /dev/null and b/js/twemoji/16x16/1f481.png differ
diff --git a/js/twemoji/16x16/1f482.png b/js/twemoji/16x16/1f482.png
new file mode 100644
index 00000000..21551052
Binary files /dev/null and b/js/twemoji/16x16/1f482.png differ
diff --git a/js/twemoji/16x16/1f483.png b/js/twemoji/16x16/1f483.png
new file mode 100644
index 00000000..8bc6640c
Binary files /dev/null and b/js/twemoji/16x16/1f483.png differ
diff --git a/js/twemoji/16x16/1f484.png b/js/twemoji/16x16/1f484.png
new file mode 100644
index 00000000..00c1fdc6
Binary files /dev/null and b/js/twemoji/16x16/1f484.png differ
diff --git a/js/twemoji/16x16/1f485.png b/js/twemoji/16x16/1f485.png
new file mode 100644
index 00000000..955b143f
Binary files /dev/null and b/js/twemoji/16x16/1f485.png differ
diff --git a/js/twemoji/16x16/1f486.png b/js/twemoji/16x16/1f486.png
new file mode 100644
index 00000000..43eb5c62
Binary files /dev/null and b/js/twemoji/16x16/1f486.png differ
diff --git a/js/twemoji/16x16/1f487.png b/js/twemoji/16x16/1f487.png
new file mode 100644
index 00000000..0ce94ba2
Binary files /dev/null and b/js/twemoji/16x16/1f487.png differ
diff --git a/js/twemoji/16x16/1f488.png b/js/twemoji/16x16/1f488.png
new file mode 100644
index 00000000..a8cf2f3d
Binary files /dev/null and b/js/twemoji/16x16/1f488.png differ
diff --git a/js/twemoji/16x16/1f489.png b/js/twemoji/16x16/1f489.png
new file mode 100644
index 00000000..a5f7a0e7
Binary files /dev/null and b/js/twemoji/16x16/1f489.png differ
diff --git a/js/twemoji/16x16/1f48a.png b/js/twemoji/16x16/1f48a.png
new file mode 100644
index 00000000..9f79220f
Binary files /dev/null and b/js/twemoji/16x16/1f48a.png differ
diff --git a/js/twemoji/16x16/1f48b.png b/js/twemoji/16x16/1f48b.png
new file mode 100644
index 00000000..5f33aa85
Binary files /dev/null and b/js/twemoji/16x16/1f48b.png differ
diff --git a/js/twemoji/16x16/1f48c.png b/js/twemoji/16x16/1f48c.png
new file mode 100644
index 00000000..359c488c
Binary files /dev/null and b/js/twemoji/16x16/1f48c.png differ
diff --git a/js/twemoji/16x16/1f48d.png b/js/twemoji/16x16/1f48d.png
new file mode 100644
index 00000000..3bd96992
Binary files /dev/null and b/js/twemoji/16x16/1f48d.png differ
diff --git a/js/twemoji/16x16/1f48e.png b/js/twemoji/16x16/1f48e.png
new file mode 100644
index 00000000..24cc2633
Binary files /dev/null and b/js/twemoji/16x16/1f48e.png differ
diff --git a/js/twemoji/16x16/1f48f.png b/js/twemoji/16x16/1f48f.png
new file mode 100644
index 00000000..3499cad5
Binary files /dev/null and b/js/twemoji/16x16/1f48f.png differ
diff --git a/js/twemoji/16x16/1f490.png b/js/twemoji/16x16/1f490.png
new file mode 100644
index 00000000..2de3c5aa
Binary files /dev/null and b/js/twemoji/16x16/1f490.png differ
diff --git a/js/twemoji/16x16/1f491.png b/js/twemoji/16x16/1f491.png
new file mode 100644
index 00000000..6dcd1cab
Binary files /dev/null and b/js/twemoji/16x16/1f491.png differ
diff --git a/js/twemoji/16x16/1f492.png b/js/twemoji/16x16/1f492.png
new file mode 100644
index 00000000..157b533e
Binary files /dev/null and b/js/twemoji/16x16/1f492.png differ
diff --git a/js/twemoji/16x16/1f493.png b/js/twemoji/16x16/1f493.png
new file mode 100644
index 00000000..9d95c5d3
Binary files /dev/null and b/js/twemoji/16x16/1f493.png differ
diff --git a/js/twemoji/16x16/1f494.png b/js/twemoji/16x16/1f494.png
new file mode 100644
index 00000000..b4adea1d
Binary files /dev/null and b/js/twemoji/16x16/1f494.png differ
diff --git a/js/twemoji/16x16/1f495.png b/js/twemoji/16x16/1f495.png
new file mode 100644
index 00000000..6a4218d2
Binary files /dev/null and b/js/twemoji/16x16/1f495.png differ
diff --git a/js/twemoji/16x16/1f496.png b/js/twemoji/16x16/1f496.png
new file mode 100644
index 00000000..b78423b4
Binary files /dev/null and b/js/twemoji/16x16/1f496.png differ
diff --git a/js/twemoji/16x16/1f497.png b/js/twemoji/16x16/1f497.png
new file mode 100644
index 00000000..3a6e7918
Binary files /dev/null and b/js/twemoji/16x16/1f497.png differ
diff --git a/js/twemoji/16x16/1f498.png b/js/twemoji/16x16/1f498.png
new file mode 100644
index 00000000..a72c0ad4
Binary files /dev/null and b/js/twemoji/16x16/1f498.png differ
diff --git a/js/twemoji/16x16/1f499.png b/js/twemoji/16x16/1f499.png
new file mode 100644
index 00000000..48854f08
Binary files /dev/null and b/js/twemoji/16x16/1f499.png differ
diff --git a/js/twemoji/16x16/1f49a.png b/js/twemoji/16x16/1f49a.png
new file mode 100644
index 00000000..abfe81e2
Binary files /dev/null and b/js/twemoji/16x16/1f49a.png differ
diff --git a/js/twemoji/16x16/1f49b.png b/js/twemoji/16x16/1f49b.png
new file mode 100644
index 00000000..0aee6532
Binary files /dev/null and b/js/twemoji/16x16/1f49b.png differ
diff --git a/js/twemoji/16x16/1f49c.png b/js/twemoji/16x16/1f49c.png
new file mode 100644
index 00000000..063bd430
Binary files /dev/null and b/js/twemoji/16x16/1f49c.png differ
diff --git a/js/twemoji/16x16/1f49d.png b/js/twemoji/16x16/1f49d.png
new file mode 100644
index 00000000..5935fe7e
Binary files /dev/null and b/js/twemoji/16x16/1f49d.png differ
diff --git a/js/twemoji/16x16/1f49e.png b/js/twemoji/16x16/1f49e.png
new file mode 100644
index 00000000..355b29d9
Binary files /dev/null and b/js/twemoji/16x16/1f49e.png differ
diff --git a/js/twemoji/16x16/1f49f.png b/js/twemoji/16x16/1f49f.png
new file mode 100644
index 00000000..aa6605d4
Binary files /dev/null and b/js/twemoji/16x16/1f49f.png differ
diff --git a/js/twemoji/16x16/1f4a0.png b/js/twemoji/16x16/1f4a0.png
new file mode 100644
index 00000000..9533d8a9
Binary files /dev/null and b/js/twemoji/16x16/1f4a0.png differ
diff --git a/js/twemoji/16x16/1f4a1.png b/js/twemoji/16x16/1f4a1.png
new file mode 100644
index 00000000..bb6bdc46
Binary files /dev/null and b/js/twemoji/16x16/1f4a1.png differ
diff --git a/js/twemoji/16x16/1f4a2.png b/js/twemoji/16x16/1f4a2.png
new file mode 100644
index 00000000..68d0e7b4
Binary files /dev/null and b/js/twemoji/16x16/1f4a2.png differ
diff --git a/js/twemoji/16x16/1f4a3.png b/js/twemoji/16x16/1f4a3.png
new file mode 100644
index 00000000..7cbac955
Binary files /dev/null and b/js/twemoji/16x16/1f4a3.png differ
diff --git a/js/twemoji/16x16/1f4a4.png b/js/twemoji/16x16/1f4a4.png
new file mode 100644
index 00000000..eca4540f
Binary files /dev/null and b/js/twemoji/16x16/1f4a4.png differ
diff --git a/js/twemoji/16x16/1f4a5.png b/js/twemoji/16x16/1f4a5.png
new file mode 100644
index 00000000..f0f065e8
Binary files /dev/null and b/js/twemoji/16x16/1f4a5.png differ
diff --git a/js/twemoji/16x16/1f4a6.png b/js/twemoji/16x16/1f4a6.png
new file mode 100644
index 00000000..ff3b4010
Binary files /dev/null and b/js/twemoji/16x16/1f4a6.png differ
diff --git a/js/twemoji/16x16/1f4a7.png b/js/twemoji/16x16/1f4a7.png
new file mode 100644
index 00000000..ac64479f
Binary files /dev/null and b/js/twemoji/16x16/1f4a7.png differ
diff --git a/js/twemoji/16x16/1f4a8.png b/js/twemoji/16x16/1f4a8.png
new file mode 100644
index 00000000..01ada421
Binary files /dev/null and b/js/twemoji/16x16/1f4a8.png differ
diff --git a/js/twemoji/16x16/1f4a9.png b/js/twemoji/16x16/1f4a9.png
new file mode 100644
index 00000000..9cf30be0
Binary files /dev/null and b/js/twemoji/16x16/1f4a9.png differ
diff --git a/js/twemoji/16x16/1f4aa.png b/js/twemoji/16x16/1f4aa.png
new file mode 100644
index 00000000..b46ec109
Binary files /dev/null and b/js/twemoji/16x16/1f4aa.png differ
diff --git a/js/twemoji/16x16/1f4ab.png b/js/twemoji/16x16/1f4ab.png
new file mode 100644
index 00000000..02b1bf6d
Binary files /dev/null and b/js/twemoji/16x16/1f4ab.png differ
diff --git a/js/twemoji/16x16/1f4ac.png b/js/twemoji/16x16/1f4ac.png
new file mode 100644
index 00000000..ad1a6b75
Binary files /dev/null and b/js/twemoji/16x16/1f4ac.png differ
diff --git a/js/twemoji/16x16/1f4ad.png b/js/twemoji/16x16/1f4ad.png
new file mode 100644
index 00000000..375381f0
Binary files /dev/null and b/js/twemoji/16x16/1f4ad.png differ
diff --git a/js/twemoji/16x16/1f4ae.png b/js/twemoji/16x16/1f4ae.png
new file mode 100644
index 00000000..64436f48
Binary files /dev/null and b/js/twemoji/16x16/1f4ae.png differ
diff --git a/js/twemoji/16x16/1f4af.png b/js/twemoji/16x16/1f4af.png
new file mode 100644
index 00000000..c6473a81
Binary files /dev/null and b/js/twemoji/16x16/1f4af.png differ
diff --git a/js/twemoji/16x16/1f4b0.png b/js/twemoji/16x16/1f4b0.png
new file mode 100644
index 00000000..201d744b
Binary files /dev/null and b/js/twemoji/16x16/1f4b0.png differ
diff --git a/js/twemoji/16x16/1f4b1.png b/js/twemoji/16x16/1f4b1.png
new file mode 100644
index 00000000..71d12d69
Binary files /dev/null and b/js/twemoji/16x16/1f4b1.png differ
diff --git a/js/twemoji/16x16/1f4b2.png b/js/twemoji/16x16/1f4b2.png
new file mode 100644
index 00000000..4667f903
Binary files /dev/null and b/js/twemoji/16x16/1f4b2.png differ
diff --git a/js/twemoji/16x16/1f4b3.png b/js/twemoji/16x16/1f4b3.png
new file mode 100644
index 00000000..17a15c84
Binary files /dev/null and b/js/twemoji/16x16/1f4b3.png differ
diff --git a/js/twemoji/16x16/1f4b4.png b/js/twemoji/16x16/1f4b4.png
new file mode 100644
index 00000000..fb91cc11
Binary files /dev/null and b/js/twemoji/16x16/1f4b4.png differ
diff --git a/js/twemoji/16x16/1f4b5.png b/js/twemoji/16x16/1f4b5.png
new file mode 100644
index 00000000..a8ea2fdc
Binary files /dev/null and b/js/twemoji/16x16/1f4b5.png differ
diff --git a/js/twemoji/16x16/1f4b6.png b/js/twemoji/16x16/1f4b6.png
new file mode 100644
index 00000000..1507577f
Binary files /dev/null and b/js/twemoji/16x16/1f4b6.png differ
diff --git a/js/twemoji/16x16/1f4b7.png b/js/twemoji/16x16/1f4b7.png
new file mode 100644
index 00000000..d00f6f95
Binary files /dev/null and b/js/twemoji/16x16/1f4b7.png differ
diff --git a/js/twemoji/16x16/1f4b8.png b/js/twemoji/16x16/1f4b8.png
new file mode 100644
index 00000000..83d1edf8
Binary files /dev/null and b/js/twemoji/16x16/1f4b8.png differ
diff --git a/js/twemoji/16x16/1f4b9.png b/js/twemoji/16x16/1f4b9.png
new file mode 100644
index 00000000..b75a5600
Binary files /dev/null and b/js/twemoji/16x16/1f4b9.png differ
diff --git a/js/twemoji/16x16/1f4ba.png b/js/twemoji/16x16/1f4ba.png
new file mode 100644
index 00000000..9c39bb41
Binary files /dev/null and b/js/twemoji/16x16/1f4ba.png differ
diff --git a/js/twemoji/16x16/1f4bb.png b/js/twemoji/16x16/1f4bb.png
new file mode 100644
index 00000000..d8301801
Binary files /dev/null and b/js/twemoji/16x16/1f4bb.png differ
diff --git a/js/twemoji/16x16/1f4bc.png b/js/twemoji/16x16/1f4bc.png
new file mode 100644
index 00000000..177437bd
Binary files /dev/null and b/js/twemoji/16x16/1f4bc.png differ
diff --git a/js/twemoji/16x16/1f4bd.png b/js/twemoji/16x16/1f4bd.png
new file mode 100644
index 00000000..2ea1326c
Binary files /dev/null and b/js/twemoji/16x16/1f4bd.png differ
diff --git a/js/twemoji/16x16/1f4be.png b/js/twemoji/16x16/1f4be.png
new file mode 100644
index 00000000..beeb9f81
Binary files /dev/null and b/js/twemoji/16x16/1f4be.png differ
diff --git a/js/twemoji/16x16/1f4bf.png b/js/twemoji/16x16/1f4bf.png
new file mode 100644
index 00000000..6da9e704
Binary files /dev/null and b/js/twemoji/16x16/1f4bf.png differ
diff --git a/js/twemoji/16x16/1f4c0.png b/js/twemoji/16x16/1f4c0.png
new file mode 100644
index 00000000..cf5412cf
Binary files /dev/null and b/js/twemoji/16x16/1f4c0.png differ
diff --git a/js/twemoji/16x16/1f4c1.png b/js/twemoji/16x16/1f4c1.png
new file mode 100644
index 00000000..65cd995a
Binary files /dev/null and b/js/twemoji/16x16/1f4c1.png differ
diff --git a/js/twemoji/16x16/1f4c2.png b/js/twemoji/16x16/1f4c2.png
new file mode 100644
index 00000000..1af63533
Binary files /dev/null and b/js/twemoji/16x16/1f4c2.png differ
diff --git a/js/twemoji/16x16/1f4c3.png b/js/twemoji/16x16/1f4c3.png
new file mode 100644
index 00000000..1ef3afea
Binary files /dev/null and b/js/twemoji/16x16/1f4c3.png differ
diff --git a/js/twemoji/16x16/1f4c4.png b/js/twemoji/16x16/1f4c4.png
new file mode 100644
index 00000000..7be5ece0
Binary files /dev/null and b/js/twemoji/16x16/1f4c4.png differ
diff --git a/js/twemoji/16x16/1f4c5.png b/js/twemoji/16x16/1f4c5.png
new file mode 100644
index 00000000..c75f60ba
Binary files /dev/null and b/js/twemoji/16x16/1f4c5.png differ
diff --git a/js/twemoji/16x16/1f4c6.png b/js/twemoji/16x16/1f4c6.png
new file mode 100644
index 00000000..939d1107
Binary files /dev/null and b/js/twemoji/16x16/1f4c6.png differ
diff --git a/js/twemoji/16x16/1f4c7.png b/js/twemoji/16x16/1f4c7.png
new file mode 100644
index 00000000..e8c05976
Binary files /dev/null and b/js/twemoji/16x16/1f4c7.png differ
diff --git a/js/twemoji/16x16/1f4c8.png b/js/twemoji/16x16/1f4c8.png
new file mode 100644
index 00000000..a6bee6e1
Binary files /dev/null and b/js/twemoji/16x16/1f4c8.png differ
diff --git a/js/twemoji/16x16/1f4c9.png b/js/twemoji/16x16/1f4c9.png
new file mode 100644
index 00000000..72270c33
Binary files /dev/null and b/js/twemoji/16x16/1f4c9.png differ
diff --git a/js/twemoji/16x16/1f4ca.png b/js/twemoji/16x16/1f4ca.png
new file mode 100644
index 00000000..acc40148
Binary files /dev/null and b/js/twemoji/16x16/1f4ca.png differ
diff --git a/js/twemoji/16x16/1f4cb.png b/js/twemoji/16x16/1f4cb.png
new file mode 100644
index 00000000..fc29917b
Binary files /dev/null and b/js/twemoji/16x16/1f4cb.png differ
diff --git a/js/twemoji/16x16/1f4cc.png b/js/twemoji/16x16/1f4cc.png
new file mode 100644
index 00000000..9a1fd0b9
Binary files /dev/null and b/js/twemoji/16x16/1f4cc.png differ
diff --git a/js/twemoji/16x16/1f4cd.png b/js/twemoji/16x16/1f4cd.png
new file mode 100644
index 00000000..b1769509
Binary files /dev/null and b/js/twemoji/16x16/1f4cd.png differ
diff --git a/js/twemoji/16x16/1f4ce.png b/js/twemoji/16x16/1f4ce.png
new file mode 100644
index 00000000..907a48db
Binary files /dev/null and b/js/twemoji/16x16/1f4ce.png differ
diff --git a/js/twemoji/16x16/1f4cf.png b/js/twemoji/16x16/1f4cf.png
new file mode 100644
index 00000000..4623112d
Binary files /dev/null and b/js/twemoji/16x16/1f4cf.png differ
diff --git a/js/twemoji/16x16/1f4d0.png b/js/twemoji/16x16/1f4d0.png
new file mode 100644
index 00000000..410ba750
Binary files /dev/null and b/js/twemoji/16x16/1f4d0.png differ
diff --git a/js/twemoji/16x16/1f4d1.png b/js/twemoji/16x16/1f4d1.png
new file mode 100644
index 00000000..54f2701b
Binary files /dev/null and b/js/twemoji/16x16/1f4d1.png differ
diff --git a/js/twemoji/16x16/1f4d2.png b/js/twemoji/16x16/1f4d2.png
new file mode 100644
index 00000000..613a6869
Binary files /dev/null and b/js/twemoji/16x16/1f4d2.png differ
diff --git a/js/twemoji/16x16/1f4d3.png b/js/twemoji/16x16/1f4d3.png
new file mode 100644
index 00000000..18823b0d
Binary files /dev/null and b/js/twemoji/16x16/1f4d3.png differ
diff --git a/js/twemoji/16x16/1f4d4.png b/js/twemoji/16x16/1f4d4.png
new file mode 100644
index 00000000..37db50d3
Binary files /dev/null and b/js/twemoji/16x16/1f4d4.png differ
diff --git a/js/twemoji/16x16/1f4d5.png b/js/twemoji/16x16/1f4d5.png
new file mode 100644
index 00000000..134a577f
Binary files /dev/null and b/js/twemoji/16x16/1f4d5.png differ
diff --git a/js/twemoji/16x16/1f4d6.png b/js/twemoji/16x16/1f4d6.png
new file mode 100644
index 00000000..be57beb6
Binary files /dev/null and b/js/twemoji/16x16/1f4d6.png differ
diff --git a/js/twemoji/16x16/1f4d7.png b/js/twemoji/16x16/1f4d7.png
new file mode 100644
index 00000000..104439d3
Binary files /dev/null and b/js/twemoji/16x16/1f4d7.png differ
diff --git a/js/twemoji/16x16/1f4d8.png b/js/twemoji/16x16/1f4d8.png
new file mode 100644
index 00000000..967c90c8
Binary files /dev/null and b/js/twemoji/16x16/1f4d8.png differ
diff --git a/js/twemoji/16x16/1f4d9.png b/js/twemoji/16x16/1f4d9.png
new file mode 100644
index 00000000..ad68ef87
Binary files /dev/null and b/js/twemoji/16x16/1f4d9.png differ
diff --git a/js/twemoji/16x16/1f4da.png b/js/twemoji/16x16/1f4da.png
new file mode 100644
index 00000000..fb7009dc
Binary files /dev/null and b/js/twemoji/16x16/1f4da.png differ
diff --git a/js/twemoji/16x16/1f4db.png b/js/twemoji/16x16/1f4db.png
new file mode 100644
index 00000000..0e017bc5
Binary files /dev/null and b/js/twemoji/16x16/1f4db.png differ
diff --git a/js/twemoji/16x16/1f4dc.png b/js/twemoji/16x16/1f4dc.png
new file mode 100644
index 00000000..effda5d2
Binary files /dev/null and b/js/twemoji/16x16/1f4dc.png differ
diff --git a/js/twemoji/16x16/1f4dd.png b/js/twemoji/16x16/1f4dd.png
new file mode 100644
index 00000000..2868ebff
Binary files /dev/null and b/js/twemoji/16x16/1f4dd.png differ
diff --git a/js/twemoji/16x16/1f4de.png b/js/twemoji/16x16/1f4de.png
new file mode 100644
index 00000000..e937b927
Binary files /dev/null and b/js/twemoji/16x16/1f4de.png differ
diff --git a/js/twemoji/16x16/1f4df.png b/js/twemoji/16x16/1f4df.png
new file mode 100644
index 00000000..fd7ea2a7
Binary files /dev/null and b/js/twemoji/16x16/1f4df.png differ
diff --git a/js/twemoji/16x16/1f4e0.png b/js/twemoji/16x16/1f4e0.png
new file mode 100644
index 00000000..24e4dc83
Binary files /dev/null and b/js/twemoji/16x16/1f4e0.png differ
diff --git a/js/twemoji/16x16/1f4e1.png b/js/twemoji/16x16/1f4e1.png
new file mode 100644
index 00000000..5d519360
Binary files /dev/null and b/js/twemoji/16x16/1f4e1.png differ
diff --git a/js/twemoji/16x16/1f4e2.png b/js/twemoji/16x16/1f4e2.png
new file mode 100644
index 00000000..0d80e193
Binary files /dev/null and b/js/twemoji/16x16/1f4e2.png differ
diff --git a/js/twemoji/16x16/1f4e3.png b/js/twemoji/16x16/1f4e3.png
new file mode 100644
index 00000000..63dabe54
Binary files /dev/null and b/js/twemoji/16x16/1f4e3.png differ
diff --git a/js/twemoji/16x16/1f4e4.png b/js/twemoji/16x16/1f4e4.png
new file mode 100644
index 00000000..ca5f6a58
Binary files /dev/null and b/js/twemoji/16x16/1f4e4.png differ
diff --git a/js/twemoji/16x16/1f4e5.png b/js/twemoji/16x16/1f4e5.png
new file mode 100644
index 00000000..62c6c374
Binary files /dev/null and b/js/twemoji/16x16/1f4e5.png differ
diff --git a/js/twemoji/16x16/1f4e6.png b/js/twemoji/16x16/1f4e6.png
new file mode 100644
index 00000000..8c1152ac
Binary files /dev/null and b/js/twemoji/16x16/1f4e6.png differ
diff --git a/js/twemoji/16x16/1f4e7.png b/js/twemoji/16x16/1f4e7.png
new file mode 100644
index 00000000..546c79b6
Binary files /dev/null and b/js/twemoji/16x16/1f4e7.png differ
diff --git a/js/twemoji/16x16/1f4e8.png b/js/twemoji/16x16/1f4e8.png
new file mode 100644
index 00000000..9f812fa2
Binary files /dev/null and b/js/twemoji/16x16/1f4e8.png differ
diff --git a/js/twemoji/16x16/1f4e9.png b/js/twemoji/16x16/1f4e9.png
new file mode 100644
index 00000000..04d76641
Binary files /dev/null and b/js/twemoji/16x16/1f4e9.png differ
diff --git a/js/twemoji/16x16/1f4ea.png b/js/twemoji/16x16/1f4ea.png
new file mode 100644
index 00000000..105a9c84
Binary files /dev/null and b/js/twemoji/16x16/1f4ea.png differ
diff --git a/js/twemoji/16x16/1f4eb.png b/js/twemoji/16x16/1f4eb.png
new file mode 100644
index 00000000..ab0330f4
Binary files /dev/null and b/js/twemoji/16x16/1f4eb.png differ
diff --git a/js/twemoji/16x16/1f4ec.png b/js/twemoji/16x16/1f4ec.png
new file mode 100644
index 00000000..5d3ec3ba
Binary files /dev/null and b/js/twemoji/16x16/1f4ec.png differ
diff --git a/js/twemoji/16x16/1f4ed.png b/js/twemoji/16x16/1f4ed.png
new file mode 100644
index 00000000..17227002
Binary files /dev/null and b/js/twemoji/16x16/1f4ed.png differ
diff --git a/js/twemoji/16x16/1f4ee.png b/js/twemoji/16x16/1f4ee.png
new file mode 100644
index 00000000..119aa18d
Binary files /dev/null and b/js/twemoji/16x16/1f4ee.png differ
diff --git a/js/twemoji/16x16/1f4ef.png b/js/twemoji/16x16/1f4ef.png
new file mode 100644
index 00000000..74593e5b
Binary files /dev/null and b/js/twemoji/16x16/1f4ef.png differ
diff --git a/js/twemoji/16x16/1f4f0.png b/js/twemoji/16x16/1f4f0.png
new file mode 100644
index 00000000..c08813f6
Binary files /dev/null and b/js/twemoji/16x16/1f4f0.png differ
diff --git a/js/twemoji/16x16/1f4f1.png b/js/twemoji/16x16/1f4f1.png
new file mode 100644
index 00000000..c4d93172
Binary files /dev/null and b/js/twemoji/16x16/1f4f1.png differ
diff --git a/js/twemoji/16x16/1f4f2.png b/js/twemoji/16x16/1f4f2.png
new file mode 100644
index 00000000..2c0cfdf3
Binary files /dev/null and b/js/twemoji/16x16/1f4f2.png differ
diff --git a/js/twemoji/16x16/1f4f3.png b/js/twemoji/16x16/1f4f3.png
new file mode 100644
index 00000000..7a8a3c89
Binary files /dev/null and b/js/twemoji/16x16/1f4f3.png differ
diff --git a/js/twemoji/16x16/1f4f4.png b/js/twemoji/16x16/1f4f4.png
new file mode 100644
index 00000000..396571cb
Binary files /dev/null and b/js/twemoji/16x16/1f4f4.png differ
diff --git a/js/twemoji/16x16/1f4f5.png b/js/twemoji/16x16/1f4f5.png
new file mode 100644
index 00000000..aa45898a
Binary files /dev/null and b/js/twemoji/16x16/1f4f5.png differ
diff --git a/js/twemoji/16x16/1f4f6.png b/js/twemoji/16x16/1f4f6.png
new file mode 100644
index 00000000..2fcccc4e
Binary files /dev/null and b/js/twemoji/16x16/1f4f6.png differ
diff --git a/js/twemoji/16x16/1f4f7.png b/js/twemoji/16x16/1f4f7.png
new file mode 100644
index 00000000..13df236b
Binary files /dev/null and b/js/twemoji/16x16/1f4f7.png differ
diff --git a/js/twemoji/16x16/1f4f9.png b/js/twemoji/16x16/1f4f9.png
new file mode 100644
index 00000000..15c0b0df
Binary files /dev/null and b/js/twemoji/16x16/1f4f9.png differ
diff --git a/js/twemoji/16x16/1f4fa.png b/js/twemoji/16x16/1f4fa.png
new file mode 100644
index 00000000..eda9d7b7
Binary files /dev/null and b/js/twemoji/16x16/1f4fa.png differ
diff --git a/js/twemoji/16x16/1f4fb.png b/js/twemoji/16x16/1f4fb.png
new file mode 100644
index 00000000..b139f654
Binary files /dev/null and b/js/twemoji/16x16/1f4fb.png differ
diff --git a/js/twemoji/16x16/1f4fc.png b/js/twemoji/16x16/1f4fc.png
new file mode 100644
index 00000000..33dfa348
Binary files /dev/null and b/js/twemoji/16x16/1f4fc.png differ
diff --git a/js/twemoji/16x16/1f500.png b/js/twemoji/16x16/1f500.png
new file mode 100644
index 00000000..ecf3d640
Binary files /dev/null and b/js/twemoji/16x16/1f500.png differ
diff --git a/js/twemoji/16x16/1f501.png b/js/twemoji/16x16/1f501.png
new file mode 100644
index 00000000..5d69a679
Binary files /dev/null and b/js/twemoji/16x16/1f501.png differ
diff --git a/js/twemoji/16x16/1f502.png b/js/twemoji/16x16/1f502.png
new file mode 100644
index 00000000..d02780d6
Binary files /dev/null and b/js/twemoji/16x16/1f502.png differ
diff --git a/js/twemoji/16x16/1f503.png b/js/twemoji/16x16/1f503.png
new file mode 100644
index 00000000..825ff4b9
Binary files /dev/null and b/js/twemoji/16x16/1f503.png differ
diff --git a/js/twemoji/16x16/1f504.png b/js/twemoji/16x16/1f504.png
new file mode 100644
index 00000000..5c46ddf4
Binary files /dev/null and b/js/twemoji/16x16/1f504.png differ
diff --git a/js/twemoji/16x16/1f505.png b/js/twemoji/16x16/1f505.png
new file mode 100644
index 00000000..af99617e
Binary files /dev/null and b/js/twemoji/16x16/1f505.png differ
diff --git a/js/twemoji/16x16/1f506.png b/js/twemoji/16x16/1f506.png
new file mode 100644
index 00000000..509eeabc
Binary files /dev/null and b/js/twemoji/16x16/1f506.png differ
diff --git a/js/twemoji/16x16/1f507.png b/js/twemoji/16x16/1f507.png
new file mode 100644
index 00000000..dcf67df8
Binary files /dev/null and b/js/twemoji/16x16/1f507.png differ
diff --git a/js/twemoji/16x16/1f508.png b/js/twemoji/16x16/1f508.png
new file mode 100644
index 00000000..fce35bd0
Binary files /dev/null and b/js/twemoji/16x16/1f508.png differ
diff --git a/js/twemoji/16x16/1f509.png b/js/twemoji/16x16/1f509.png
new file mode 100644
index 00000000..ec333947
Binary files /dev/null and b/js/twemoji/16x16/1f509.png differ
diff --git a/js/twemoji/16x16/1f50a.png b/js/twemoji/16x16/1f50a.png
new file mode 100644
index 00000000..529bb7f5
Binary files /dev/null and b/js/twemoji/16x16/1f50a.png differ
diff --git a/js/twemoji/16x16/1f50b.png b/js/twemoji/16x16/1f50b.png
new file mode 100644
index 00000000..9cf4db71
Binary files /dev/null and b/js/twemoji/16x16/1f50b.png differ
diff --git a/js/twemoji/16x16/1f50c.png b/js/twemoji/16x16/1f50c.png
new file mode 100644
index 00000000..140bfaf2
Binary files /dev/null and b/js/twemoji/16x16/1f50c.png differ
diff --git a/js/twemoji/16x16/1f50d.png b/js/twemoji/16x16/1f50d.png
new file mode 100644
index 00000000..8b9b6d6e
Binary files /dev/null and b/js/twemoji/16x16/1f50d.png differ
diff --git a/js/twemoji/16x16/1f50e.png b/js/twemoji/16x16/1f50e.png
new file mode 100644
index 00000000..e6d9902b
Binary files /dev/null and b/js/twemoji/16x16/1f50e.png differ
diff --git a/js/twemoji/16x16/1f50f.png b/js/twemoji/16x16/1f50f.png
new file mode 100644
index 00000000..b1d1894c
Binary files /dev/null and b/js/twemoji/16x16/1f50f.png differ
diff --git a/js/twemoji/16x16/1f510.png b/js/twemoji/16x16/1f510.png
new file mode 100644
index 00000000..7c30fff0
Binary files /dev/null and b/js/twemoji/16x16/1f510.png differ
diff --git a/js/twemoji/16x16/1f511.png b/js/twemoji/16x16/1f511.png
new file mode 100644
index 00000000..e3fa048d
Binary files /dev/null and b/js/twemoji/16x16/1f511.png differ
diff --git a/js/twemoji/16x16/1f512.png b/js/twemoji/16x16/1f512.png
new file mode 100644
index 00000000..a0f59ee5
Binary files /dev/null and b/js/twemoji/16x16/1f512.png differ
diff --git a/js/twemoji/16x16/1f513.png b/js/twemoji/16x16/1f513.png
new file mode 100644
index 00000000..43abe91c
Binary files /dev/null and b/js/twemoji/16x16/1f513.png differ
diff --git a/js/twemoji/16x16/1f514.png b/js/twemoji/16x16/1f514.png
new file mode 100644
index 00000000..65e329a8
Binary files /dev/null and b/js/twemoji/16x16/1f514.png differ
diff --git a/js/twemoji/16x16/1f515.png b/js/twemoji/16x16/1f515.png
new file mode 100644
index 00000000..a4b792db
Binary files /dev/null and b/js/twemoji/16x16/1f515.png differ
diff --git a/js/twemoji/16x16/1f516.png b/js/twemoji/16x16/1f516.png
new file mode 100644
index 00000000..69369e56
Binary files /dev/null and b/js/twemoji/16x16/1f516.png differ
diff --git a/js/twemoji/16x16/1f517.png b/js/twemoji/16x16/1f517.png
new file mode 100644
index 00000000..377ba21b
Binary files /dev/null and b/js/twemoji/16x16/1f517.png differ
diff --git a/js/twemoji/16x16/1f518.png b/js/twemoji/16x16/1f518.png
new file mode 100644
index 00000000..b78e5da3
Binary files /dev/null and b/js/twemoji/16x16/1f518.png differ
diff --git a/js/twemoji/16x16/1f519.png b/js/twemoji/16x16/1f519.png
new file mode 100644
index 00000000..d7159c1a
Binary files /dev/null and b/js/twemoji/16x16/1f519.png differ
diff --git a/js/twemoji/16x16/1f51a.png b/js/twemoji/16x16/1f51a.png
new file mode 100644
index 00000000..a539f20d
Binary files /dev/null and b/js/twemoji/16x16/1f51a.png differ
diff --git a/js/twemoji/16x16/1f51b.png b/js/twemoji/16x16/1f51b.png
new file mode 100644
index 00000000..7a576867
Binary files /dev/null and b/js/twemoji/16x16/1f51b.png differ
diff --git a/js/twemoji/16x16/1f51c.png b/js/twemoji/16x16/1f51c.png
new file mode 100644
index 00000000..1c680d44
Binary files /dev/null and b/js/twemoji/16x16/1f51c.png differ
diff --git a/js/twemoji/16x16/1f51d.png b/js/twemoji/16x16/1f51d.png
new file mode 100644
index 00000000..002cc463
Binary files /dev/null and b/js/twemoji/16x16/1f51d.png differ
diff --git a/js/twemoji/16x16/1f51e.png b/js/twemoji/16x16/1f51e.png
new file mode 100644
index 00000000..23e1c9ee
Binary files /dev/null and b/js/twemoji/16x16/1f51e.png differ
diff --git a/js/twemoji/16x16/1f51f.png b/js/twemoji/16x16/1f51f.png
new file mode 100644
index 00000000..a32d8267
Binary files /dev/null and b/js/twemoji/16x16/1f51f.png differ
diff --git a/js/twemoji/16x16/1f520.png b/js/twemoji/16x16/1f520.png
new file mode 100644
index 00000000..0143e310
Binary files /dev/null and b/js/twemoji/16x16/1f520.png differ
diff --git a/js/twemoji/16x16/1f521.png b/js/twemoji/16x16/1f521.png
new file mode 100644
index 00000000..b4f8eddb
Binary files /dev/null and b/js/twemoji/16x16/1f521.png differ
diff --git a/js/twemoji/16x16/1f522.png b/js/twemoji/16x16/1f522.png
new file mode 100644
index 00000000..3b5991e4
Binary files /dev/null and b/js/twemoji/16x16/1f522.png differ
diff --git a/js/twemoji/16x16/1f523.png b/js/twemoji/16x16/1f523.png
new file mode 100644
index 00000000..c456ebb5
Binary files /dev/null and b/js/twemoji/16x16/1f523.png differ
diff --git a/js/twemoji/16x16/1f524.png b/js/twemoji/16x16/1f524.png
new file mode 100644
index 00000000..28b5b76d
Binary files /dev/null and b/js/twemoji/16x16/1f524.png differ
diff --git a/js/twemoji/16x16/1f525.png b/js/twemoji/16x16/1f525.png
new file mode 100644
index 00000000..7417f151
Binary files /dev/null and b/js/twemoji/16x16/1f525.png differ
diff --git a/js/twemoji/16x16/1f526.png b/js/twemoji/16x16/1f526.png
new file mode 100644
index 00000000..00430f1d
Binary files /dev/null and b/js/twemoji/16x16/1f526.png differ
diff --git a/js/twemoji/16x16/1f527.png b/js/twemoji/16x16/1f527.png
new file mode 100644
index 00000000..90f27869
Binary files /dev/null and b/js/twemoji/16x16/1f527.png differ
diff --git a/js/twemoji/16x16/1f528.png b/js/twemoji/16x16/1f528.png
new file mode 100644
index 00000000..eefd550a
Binary files /dev/null and b/js/twemoji/16x16/1f528.png differ
diff --git a/js/twemoji/16x16/1f529.png b/js/twemoji/16x16/1f529.png
new file mode 100644
index 00000000..640408ba
Binary files /dev/null and b/js/twemoji/16x16/1f529.png differ
diff --git a/js/twemoji/16x16/1f52a.png b/js/twemoji/16x16/1f52a.png
new file mode 100644
index 00000000..c891b667
Binary files /dev/null and b/js/twemoji/16x16/1f52a.png differ
diff --git a/js/twemoji/16x16/1f52b.png b/js/twemoji/16x16/1f52b.png
new file mode 100644
index 00000000..90eb029b
Binary files /dev/null and b/js/twemoji/16x16/1f52b.png differ
diff --git a/js/twemoji/16x16/1f52c.png b/js/twemoji/16x16/1f52c.png
new file mode 100644
index 00000000..617e4dc3
Binary files /dev/null and b/js/twemoji/16x16/1f52c.png differ
diff --git a/js/twemoji/16x16/1f52d.png b/js/twemoji/16x16/1f52d.png
new file mode 100644
index 00000000..1f224a7b
Binary files /dev/null and b/js/twemoji/16x16/1f52d.png differ
diff --git a/js/twemoji/16x16/1f52e.png b/js/twemoji/16x16/1f52e.png
new file mode 100644
index 00000000..1a341bc4
Binary files /dev/null and b/js/twemoji/16x16/1f52e.png differ
diff --git a/js/twemoji/16x16/1f52f.png b/js/twemoji/16x16/1f52f.png
new file mode 100644
index 00000000..257090e4
Binary files /dev/null and b/js/twemoji/16x16/1f52f.png differ
diff --git a/js/twemoji/16x16/1f530.png b/js/twemoji/16x16/1f530.png
new file mode 100644
index 00000000..bd8aa7e2
Binary files /dev/null and b/js/twemoji/16x16/1f530.png differ
diff --git a/js/twemoji/16x16/1f531.png b/js/twemoji/16x16/1f531.png
new file mode 100644
index 00000000..bd813a90
Binary files /dev/null and b/js/twemoji/16x16/1f531.png differ
diff --git a/js/twemoji/16x16/1f532.png b/js/twemoji/16x16/1f532.png
new file mode 100644
index 00000000..df13c3b0
Binary files /dev/null and b/js/twemoji/16x16/1f532.png differ
diff --git a/js/twemoji/16x16/1f533.png b/js/twemoji/16x16/1f533.png
new file mode 100644
index 00000000..31902681
Binary files /dev/null and b/js/twemoji/16x16/1f533.png differ
diff --git a/js/twemoji/16x16/1f534.png b/js/twemoji/16x16/1f534.png
new file mode 100644
index 00000000..db2d88cc
Binary files /dev/null and b/js/twemoji/16x16/1f534.png differ
diff --git a/js/twemoji/16x16/1f535.png b/js/twemoji/16x16/1f535.png
new file mode 100644
index 00000000..39117914
Binary files /dev/null and b/js/twemoji/16x16/1f535.png differ
diff --git a/js/twemoji/16x16/1f536.png b/js/twemoji/16x16/1f536.png
new file mode 100644
index 00000000..c25a3b11
Binary files /dev/null and b/js/twemoji/16x16/1f536.png differ
diff --git a/js/twemoji/16x16/1f537.png b/js/twemoji/16x16/1f537.png
new file mode 100644
index 00000000..6584321e
Binary files /dev/null and b/js/twemoji/16x16/1f537.png differ
diff --git a/js/twemoji/16x16/1f538.png b/js/twemoji/16x16/1f538.png
new file mode 100644
index 00000000..1ca2f651
Binary files /dev/null and b/js/twemoji/16x16/1f538.png differ
diff --git a/js/twemoji/16x16/1f539.png b/js/twemoji/16x16/1f539.png
new file mode 100644
index 00000000..212974b9
Binary files /dev/null and b/js/twemoji/16x16/1f539.png differ
diff --git a/js/twemoji/16x16/1f53a.png b/js/twemoji/16x16/1f53a.png
new file mode 100644
index 00000000..637d2789
Binary files /dev/null and b/js/twemoji/16x16/1f53a.png differ
diff --git a/js/twemoji/16x16/1f53b.png b/js/twemoji/16x16/1f53b.png
new file mode 100644
index 00000000..44fa24bb
Binary files /dev/null and b/js/twemoji/16x16/1f53b.png differ
diff --git a/js/twemoji/16x16/1f53c.png b/js/twemoji/16x16/1f53c.png
new file mode 100644
index 00000000..08ececc7
Binary files /dev/null and b/js/twemoji/16x16/1f53c.png differ
diff --git a/js/twemoji/16x16/1f53d.png b/js/twemoji/16x16/1f53d.png
new file mode 100644
index 00000000..eb94b4fe
Binary files /dev/null and b/js/twemoji/16x16/1f53d.png differ
diff --git a/js/twemoji/16x16/1f550.png b/js/twemoji/16x16/1f550.png
new file mode 100644
index 00000000..974b8561
Binary files /dev/null and b/js/twemoji/16x16/1f550.png differ
diff --git a/js/twemoji/16x16/1f551.png b/js/twemoji/16x16/1f551.png
new file mode 100644
index 00000000..1621874a
Binary files /dev/null and b/js/twemoji/16x16/1f551.png differ
diff --git a/js/twemoji/16x16/1f552.png b/js/twemoji/16x16/1f552.png
new file mode 100644
index 00000000..71d8eb5d
Binary files /dev/null and b/js/twemoji/16x16/1f552.png differ
diff --git a/js/twemoji/16x16/1f553.png b/js/twemoji/16x16/1f553.png
new file mode 100644
index 00000000..5514c0cf
Binary files /dev/null and b/js/twemoji/16x16/1f553.png differ
diff --git a/js/twemoji/16x16/1f554.png b/js/twemoji/16x16/1f554.png
new file mode 100644
index 00000000..f86b092e
Binary files /dev/null and b/js/twemoji/16x16/1f554.png differ
diff --git a/js/twemoji/16x16/1f555.png b/js/twemoji/16x16/1f555.png
new file mode 100644
index 00000000..78b24cc7
Binary files /dev/null and b/js/twemoji/16x16/1f555.png differ
diff --git a/js/twemoji/16x16/1f556.png b/js/twemoji/16x16/1f556.png
new file mode 100644
index 00000000..dc9320e4
Binary files /dev/null and b/js/twemoji/16x16/1f556.png differ
diff --git a/js/twemoji/16x16/1f557.png b/js/twemoji/16x16/1f557.png
new file mode 100644
index 00000000..189907ea
Binary files /dev/null and b/js/twemoji/16x16/1f557.png differ
diff --git a/js/twemoji/16x16/1f558.png b/js/twemoji/16x16/1f558.png
new file mode 100644
index 00000000..95ee4038
Binary files /dev/null and b/js/twemoji/16x16/1f558.png differ
diff --git a/js/twemoji/16x16/1f559.png b/js/twemoji/16x16/1f559.png
new file mode 100644
index 00000000..1bc1de0b
Binary files /dev/null and b/js/twemoji/16x16/1f559.png differ
diff --git a/js/twemoji/16x16/1f55a.png b/js/twemoji/16x16/1f55a.png
new file mode 100644
index 00000000..179d531d
Binary files /dev/null and b/js/twemoji/16x16/1f55a.png differ
diff --git a/js/twemoji/16x16/1f55b.png b/js/twemoji/16x16/1f55b.png
new file mode 100644
index 00000000..2e415aa7
Binary files /dev/null and b/js/twemoji/16x16/1f55b.png differ
diff --git a/js/twemoji/16x16/1f55c.png b/js/twemoji/16x16/1f55c.png
new file mode 100644
index 00000000..aa6cf7fc
Binary files /dev/null and b/js/twemoji/16x16/1f55c.png differ
diff --git a/js/twemoji/16x16/1f55d.png b/js/twemoji/16x16/1f55d.png
new file mode 100644
index 00000000..24f9be23
Binary files /dev/null and b/js/twemoji/16x16/1f55d.png differ
diff --git a/js/twemoji/16x16/1f55e.png b/js/twemoji/16x16/1f55e.png
new file mode 100644
index 00000000..c830b3b4
Binary files /dev/null and b/js/twemoji/16x16/1f55e.png differ
diff --git a/js/twemoji/16x16/1f55f.png b/js/twemoji/16x16/1f55f.png
new file mode 100644
index 00000000..724b00c9
Binary files /dev/null and b/js/twemoji/16x16/1f55f.png differ
diff --git a/js/twemoji/16x16/1f560.png b/js/twemoji/16x16/1f560.png
new file mode 100644
index 00000000..b3a9c758
Binary files /dev/null and b/js/twemoji/16x16/1f560.png differ
diff --git a/js/twemoji/16x16/1f561.png b/js/twemoji/16x16/1f561.png
new file mode 100644
index 00000000..dbae91e9
Binary files /dev/null and b/js/twemoji/16x16/1f561.png differ
diff --git a/js/twemoji/16x16/1f562.png b/js/twemoji/16x16/1f562.png
new file mode 100644
index 00000000..d2f8fcdc
Binary files /dev/null and b/js/twemoji/16x16/1f562.png differ
diff --git a/js/twemoji/16x16/1f563.png b/js/twemoji/16x16/1f563.png
new file mode 100644
index 00000000..7f991a44
Binary files /dev/null and b/js/twemoji/16x16/1f563.png differ
diff --git a/js/twemoji/16x16/1f564.png b/js/twemoji/16x16/1f564.png
new file mode 100644
index 00000000..7147c64b
Binary files /dev/null and b/js/twemoji/16x16/1f564.png differ
diff --git a/js/twemoji/16x16/1f565.png b/js/twemoji/16x16/1f565.png
new file mode 100644
index 00000000..e17690a5
Binary files /dev/null and b/js/twemoji/16x16/1f565.png differ
diff --git a/js/twemoji/16x16/1f566.png b/js/twemoji/16x16/1f566.png
new file mode 100644
index 00000000..32bd18bc
Binary files /dev/null and b/js/twemoji/16x16/1f566.png differ
diff --git a/js/twemoji/16x16/1f567.png b/js/twemoji/16x16/1f567.png
new file mode 100644
index 00000000..bdc9ce7d
Binary files /dev/null and b/js/twemoji/16x16/1f567.png differ
diff --git a/js/twemoji/16x16/1f5fb.png b/js/twemoji/16x16/1f5fb.png
new file mode 100644
index 00000000..6eafb513
Binary files /dev/null and b/js/twemoji/16x16/1f5fb.png differ
diff --git a/js/twemoji/16x16/1f5fc.png b/js/twemoji/16x16/1f5fc.png
new file mode 100644
index 00000000..49d12b2f
Binary files /dev/null and b/js/twemoji/16x16/1f5fc.png differ
diff --git a/js/twemoji/16x16/1f5fd.png b/js/twemoji/16x16/1f5fd.png
new file mode 100644
index 00000000..c96e143f
Binary files /dev/null and b/js/twemoji/16x16/1f5fd.png differ
diff --git a/js/twemoji/16x16/1f5fe.png b/js/twemoji/16x16/1f5fe.png
new file mode 100644
index 00000000..a2f996ef
Binary files /dev/null and b/js/twemoji/16x16/1f5fe.png differ
diff --git a/js/twemoji/16x16/1f5ff.png b/js/twemoji/16x16/1f5ff.png
new file mode 100644
index 00000000..3e5f0b2a
Binary files /dev/null and b/js/twemoji/16x16/1f5ff.png differ
diff --git a/js/twemoji/16x16/1f600.png b/js/twemoji/16x16/1f600.png
new file mode 100644
index 00000000..4f6132c6
Binary files /dev/null and b/js/twemoji/16x16/1f600.png differ
diff --git a/js/twemoji/16x16/1f601.png b/js/twemoji/16x16/1f601.png
new file mode 100644
index 00000000..8dc90eb8
Binary files /dev/null and b/js/twemoji/16x16/1f601.png differ
diff --git a/js/twemoji/16x16/1f602.png b/js/twemoji/16x16/1f602.png
new file mode 100644
index 00000000..24926b6f
Binary files /dev/null and b/js/twemoji/16x16/1f602.png differ
diff --git a/js/twemoji/16x16/1f603.png b/js/twemoji/16x16/1f603.png
new file mode 100644
index 00000000..bdf5b557
Binary files /dev/null and b/js/twemoji/16x16/1f603.png differ
diff --git a/js/twemoji/16x16/1f604.png b/js/twemoji/16x16/1f604.png
new file mode 100644
index 00000000..36235235
Binary files /dev/null and b/js/twemoji/16x16/1f604.png differ
diff --git a/js/twemoji/16x16/1f605.png b/js/twemoji/16x16/1f605.png
new file mode 100644
index 00000000..72fb1c6b
Binary files /dev/null and b/js/twemoji/16x16/1f605.png differ
diff --git a/js/twemoji/16x16/1f606.png b/js/twemoji/16x16/1f606.png
new file mode 100644
index 00000000..d818c199
Binary files /dev/null and b/js/twemoji/16x16/1f606.png differ
diff --git a/js/twemoji/16x16/1f607.png b/js/twemoji/16x16/1f607.png
new file mode 100644
index 00000000..3ab1a4c0
Binary files /dev/null and b/js/twemoji/16x16/1f607.png differ
diff --git a/js/twemoji/16x16/1f608.png b/js/twemoji/16x16/1f608.png
new file mode 100644
index 00000000..a3fe6a3b
Binary files /dev/null and b/js/twemoji/16x16/1f608.png differ
diff --git a/js/twemoji/16x16/1f609.png b/js/twemoji/16x16/1f609.png
new file mode 100644
index 00000000..74d88743
Binary files /dev/null and b/js/twemoji/16x16/1f609.png differ
diff --git a/js/twemoji/16x16/1f60a.png b/js/twemoji/16x16/1f60a.png
new file mode 100644
index 00000000..b5a31b43
Binary files /dev/null and b/js/twemoji/16x16/1f60a.png differ
diff --git a/js/twemoji/16x16/1f60b.png b/js/twemoji/16x16/1f60b.png
new file mode 100644
index 00000000..5f9e19d0
Binary files /dev/null and b/js/twemoji/16x16/1f60b.png differ
diff --git a/js/twemoji/16x16/1f60c.png b/js/twemoji/16x16/1f60c.png
new file mode 100644
index 00000000..78e4b8e6
Binary files /dev/null and b/js/twemoji/16x16/1f60c.png differ
diff --git a/js/twemoji/16x16/1f60d.png b/js/twemoji/16x16/1f60d.png
new file mode 100644
index 00000000..8d15ec91
Binary files /dev/null and b/js/twemoji/16x16/1f60d.png differ
diff --git a/js/twemoji/16x16/1f60e.png b/js/twemoji/16x16/1f60e.png
new file mode 100644
index 00000000..e0dac37e
Binary files /dev/null and b/js/twemoji/16x16/1f60e.png differ
diff --git a/js/twemoji/16x16/1f60f.png b/js/twemoji/16x16/1f60f.png
new file mode 100644
index 00000000..0c02e357
Binary files /dev/null and b/js/twemoji/16x16/1f60f.png differ
diff --git a/js/twemoji/16x16/1f610.png b/js/twemoji/16x16/1f610.png
new file mode 100644
index 00000000..d40bfda5
Binary files /dev/null and b/js/twemoji/16x16/1f610.png differ
diff --git a/js/twemoji/16x16/1f611.png b/js/twemoji/16x16/1f611.png
new file mode 100644
index 00000000..a51cbbf5
Binary files /dev/null and b/js/twemoji/16x16/1f611.png differ
diff --git a/js/twemoji/16x16/1f612.png b/js/twemoji/16x16/1f612.png
new file mode 100644
index 00000000..8829f133
Binary files /dev/null and b/js/twemoji/16x16/1f612.png differ
diff --git a/js/twemoji/16x16/1f613.png b/js/twemoji/16x16/1f613.png
new file mode 100644
index 00000000..4140c6b6
Binary files /dev/null and b/js/twemoji/16x16/1f613.png differ
diff --git a/js/twemoji/16x16/1f614.png b/js/twemoji/16x16/1f614.png
new file mode 100644
index 00000000..29d91266
Binary files /dev/null and b/js/twemoji/16x16/1f614.png differ
diff --git a/js/twemoji/16x16/1f615.png b/js/twemoji/16x16/1f615.png
new file mode 100644
index 00000000..8ebd2d43
Binary files /dev/null and b/js/twemoji/16x16/1f615.png differ
diff --git a/js/twemoji/16x16/1f616.png b/js/twemoji/16x16/1f616.png
new file mode 100644
index 00000000..8b5ce4e4
Binary files /dev/null and b/js/twemoji/16x16/1f616.png differ
diff --git a/js/twemoji/16x16/1f617.png b/js/twemoji/16x16/1f617.png
new file mode 100644
index 00000000..baa3ddeb
Binary files /dev/null and b/js/twemoji/16x16/1f617.png differ
diff --git a/js/twemoji/16x16/1f618.png b/js/twemoji/16x16/1f618.png
new file mode 100644
index 00000000..84a0c879
Binary files /dev/null and b/js/twemoji/16x16/1f618.png differ
diff --git a/js/twemoji/16x16/1f619.png b/js/twemoji/16x16/1f619.png
new file mode 100644
index 00000000..e8d9966a
Binary files /dev/null and b/js/twemoji/16x16/1f619.png differ
diff --git a/js/twemoji/16x16/1f61a.png b/js/twemoji/16x16/1f61a.png
new file mode 100644
index 00000000..f527d8d1
Binary files /dev/null and b/js/twemoji/16x16/1f61a.png differ
diff --git a/js/twemoji/16x16/1f61b.png b/js/twemoji/16x16/1f61b.png
new file mode 100644
index 00000000..202611bd
Binary files /dev/null and b/js/twemoji/16x16/1f61b.png differ
diff --git a/js/twemoji/16x16/1f61c.png b/js/twemoji/16x16/1f61c.png
new file mode 100644
index 00000000..7922c7c8
Binary files /dev/null and b/js/twemoji/16x16/1f61c.png differ
diff --git a/js/twemoji/16x16/1f61d.png b/js/twemoji/16x16/1f61d.png
new file mode 100644
index 00000000..da8852b2
Binary files /dev/null and b/js/twemoji/16x16/1f61d.png differ
diff --git a/js/twemoji/16x16/1f61e.png b/js/twemoji/16x16/1f61e.png
new file mode 100644
index 00000000..9a54327c
Binary files /dev/null and b/js/twemoji/16x16/1f61e.png differ
diff --git a/js/twemoji/16x16/1f61f.png b/js/twemoji/16x16/1f61f.png
new file mode 100644
index 00000000..259dcc6a
Binary files /dev/null and b/js/twemoji/16x16/1f61f.png differ
diff --git a/js/twemoji/16x16/1f620.png b/js/twemoji/16x16/1f620.png
new file mode 100644
index 00000000..9e232e03
Binary files /dev/null and b/js/twemoji/16x16/1f620.png differ
diff --git a/js/twemoji/16x16/1f621.png b/js/twemoji/16x16/1f621.png
new file mode 100644
index 00000000..d738da57
Binary files /dev/null and b/js/twemoji/16x16/1f621.png differ
diff --git a/js/twemoji/16x16/1f622.png b/js/twemoji/16x16/1f622.png
new file mode 100644
index 00000000..cfc38552
Binary files /dev/null and b/js/twemoji/16x16/1f622.png differ
diff --git a/js/twemoji/16x16/1f623.png b/js/twemoji/16x16/1f623.png
new file mode 100644
index 00000000..df7a627b
Binary files /dev/null and b/js/twemoji/16x16/1f623.png differ
diff --git a/js/twemoji/16x16/1f624.png b/js/twemoji/16x16/1f624.png
new file mode 100644
index 00000000..46f5f11d
Binary files /dev/null and b/js/twemoji/16x16/1f624.png differ
diff --git a/js/twemoji/16x16/1f625.png b/js/twemoji/16x16/1f625.png
new file mode 100644
index 00000000..e90a4eb4
Binary files /dev/null and b/js/twemoji/16x16/1f625.png differ
diff --git a/js/twemoji/16x16/1f626.png b/js/twemoji/16x16/1f626.png
new file mode 100644
index 00000000..c56a1573
Binary files /dev/null and b/js/twemoji/16x16/1f626.png differ
diff --git a/js/twemoji/16x16/1f627.png b/js/twemoji/16x16/1f627.png
new file mode 100644
index 00000000..4dc428a2
Binary files /dev/null and b/js/twemoji/16x16/1f627.png differ
diff --git a/js/twemoji/16x16/1f628.png b/js/twemoji/16x16/1f628.png
new file mode 100644
index 00000000..5eab274b
Binary files /dev/null and b/js/twemoji/16x16/1f628.png differ
diff --git a/js/twemoji/16x16/1f629.png b/js/twemoji/16x16/1f629.png
new file mode 100644
index 00000000..1a0a81b7
Binary files /dev/null and b/js/twemoji/16x16/1f629.png differ
diff --git a/js/twemoji/16x16/1f62a.png b/js/twemoji/16x16/1f62a.png
new file mode 100644
index 00000000..838f7896
Binary files /dev/null and b/js/twemoji/16x16/1f62a.png differ
diff --git a/js/twemoji/16x16/1f62b.png b/js/twemoji/16x16/1f62b.png
new file mode 100644
index 00000000..52b0d455
Binary files /dev/null and b/js/twemoji/16x16/1f62b.png differ
diff --git a/js/twemoji/16x16/1f62c.png b/js/twemoji/16x16/1f62c.png
new file mode 100644
index 00000000..8a74e484
Binary files /dev/null and b/js/twemoji/16x16/1f62c.png differ
diff --git a/js/twemoji/16x16/1f62d.png b/js/twemoji/16x16/1f62d.png
new file mode 100644
index 00000000..e1c93ac6
Binary files /dev/null and b/js/twemoji/16x16/1f62d.png differ
diff --git a/js/twemoji/16x16/1f62e.png b/js/twemoji/16x16/1f62e.png
new file mode 100644
index 00000000..f1979b06
Binary files /dev/null and b/js/twemoji/16x16/1f62e.png differ
diff --git a/js/twemoji/16x16/1f62f.png b/js/twemoji/16x16/1f62f.png
new file mode 100644
index 00000000..d7bbd48c
Binary files /dev/null and b/js/twemoji/16x16/1f62f.png differ
diff --git a/js/twemoji/16x16/1f630.png b/js/twemoji/16x16/1f630.png
new file mode 100644
index 00000000..4be41d8f
Binary files /dev/null and b/js/twemoji/16x16/1f630.png differ
diff --git a/js/twemoji/16x16/1f631.png b/js/twemoji/16x16/1f631.png
new file mode 100644
index 00000000..edb20bba
Binary files /dev/null and b/js/twemoji/16x16/1f631.png differ
diff --git a/js/twemoji/16x16/1f632.png b/js/twemoji/16x16/1f632.png
new file mode 100644
index 00000000..29e1966a
Binary files /dev/null and b/js/twemoji/16x16/1f632.png differ
diff --git a/js/twemoji/16x16/1f633.png b/js/twemoji/16x16/1f633.png
new file mode 100644
index 00000000..e9d280e1
Binary files /dev/null and b/js/twemoji/16x16/1f633.png differ
diff --git a/js/twemoji/16x16/1f634.png b/js/twemoji/16x16/1f634.png
new file mode 100644
index 00000000..bea6bdee
Binary files /dev/null and b/js/twemoji/16x16/1f634.png differ
diff --git a/js/twemoji/16x16/1f635.png b/js/twemoji/16x16/1f635.png
new file mode 100644
index 00000000..2a543d8e
Binary files /dev/null and b/js/twemoji/16x16/1f635.png differ
diff --git a/js/twemoji/16x16/1f636.png b/js/twemoji/16x16/1f636.png
new file mode 100644
index 00000000..3964520e
Binary files /dev/null and b/js/twemoji/16x16/1f636.png differ
diff --git a/js/twemoji/16x16/1f637.png b/js/twemoji/16x16/1f637.png
new file mode 100644
index 00000000..6b7be89d
Binary files /dev/null and b/js/twemoji/16x16/1f637.png differ
diff --git a/js/twemoji/16x16/1f638.png b/js/twemoji/16x16/1f638.png
new file mode 100644
index 00000000..935519df
Binary files /dev/null and b/js/twemoji/16x16/1f638.png differ
diff --git a/js/twemoji/16x16/1f639.png b/js/twemoji/16x16/1f639.png
new file mode 100644
index 00000000..2d000e10
Binary files /dev/null and b/js/twemoji/16x16/1f639.png differ
diff --git a/js/twemoji/16x16/1f63a.png b/js/twemoji/16x16/1f63a.png
new file mode 100644
index 00000000..f316bcd5
Binary files /dev/null and b/js/twemoji/16x16/1f63a.png differ
diff --git a/js/twemoji/16x16/1f63b.png b/js/twemoji/16x16/1f63b.png
new file mode 100644
index 00000000..35565e20
Binary files /dev/null and b/js/twemoji/16x16/1f63b.png differ
diff --git a/js/twemoji/16x16/1f63c.png b/js/twemoji/16x16/1f63c.png
new file mode 100644
index 00000000..8f16417b
Binary files /dev/null and b/js/twemoji/16x16/1f63c.png differ
diff --git a/js/twemoji/16x16/1f63d.png b/js/twemoji/16x16/1f63d.png
new file mode 100644
index 00000000..0b1338ed
Binary files /dev/null and b/js/twemoji/16x16/1f63d.png differ
diff --git a/js/twemoji/16x16/1f63e.png b/js/twemoji/16x16/1f63e.png
new file mode 100644
index 00000000..efc8cbc1
Binary files /dev/null and b/js/twemoji/16x16/1f63e.png differ
diff --git a/js/twemoji/16x16/1f63f.png b/js/twemoji/16x16/1f63f.png
new file mode 100644
index 00000000..ef429e02
Binary files /dev/null and b/js/twemoji/16x16/1f63f.png differ
diff --git a/js/twemoji/16x16/1f640.png b/js/twemoji/16x16/1f640.png
new file mode 100644
index 00000000..c41cb4ad
Binary files /dev/null and b/js/twemoji/16x16/1f640.png differ
diff --git a/js/twemoji/16x16/1f645.png b/js/twemoji/16x16/1f645.png
new file mode 100644
index 00000000..e1ce2b5f
Binary files /dev/null and b/js/twemoji/16x16/1f645.png differ
diff --git a/js/twemoji/16x16/1f646.png b/js/twemoji/16x16/1f646.png
new file mode 100644
index 00000000..8fbed009
Binary files /dev/null and b/js/twemoji/16x16/1f646.png differ
diff --git a/js/twemoji/16x16/1f647.png b/js/twemoji/16x16/1f647.png
new file mode 100644
index 00000000..8755a7cd
Binary files /dev/null and b/js/twemoji/16x16/1f647.png differ
diff --git a/js/twemoji/16x16/1f648.png b/js/twemoji/16x16/1f648.png
new file mode 100644
index 00000000..0c903f69
Binary files /dev/null and b/js/twemoji/16x16/1f648.png differ
diff --git a/js/twemoji/16x16/1f649.png b/js/twemoji/16x16/1f649.png
new file mode 100644
index 00000000..4b078c26
Binary files /dev/null and b/js/twemoji/16x16/1f649.png differ
diff --git a/js/twemoji/16x16/1f64a.png b/js/twemoji/16x16/1f64a.png
new file mode 100644
index 00000000..9b5a9bbf
Binary files /dev/null and b/js/twemoji/16x16/1f64a.png differ
diff --git a/js/twemoji/16x16/1f64b.png b/js/twemoji/16x16/1f64b.png
new file mode 100644
index 00000000..34ace838
Binary files /dev/null and b/js/twemoji/16x16/1f64b.png differ
diff --git a/js/twemoji/16x16/1f64c.png b/js/twemoji/16x16/1f64c.png
new file mode 100644
index 00000000..2d7f2e11
Binary files /dev/null and b/js/twemoji/16x16/1f64c.png differ
diff --git a/js/twemoji/16x16/1f64d.png b/js/twemoji/16x16/1f64d.png
new file mode 100644
index 00000000..7a777746
Binary files /dev/null and b/js/twemoji/16x16/1f64d.png differ
diff --git a/js/twemoji/16x16/1f64e.png b/js/twemoji/16x16/1f64e.png
new file mode 100644
index 00000000..96daf5dc
Binary files /dev/null and b/js/twemoji/16x16/1f64e.png differ
diff --git a/js/twemoji/16x16/1f64f.png b/js/twemoji/16x16/1f64f.png
new file mode 100644
index 00000000..86a9acdd
Binary files /dev/null and b/js/twemoji/16x16/1f64f.png differ
diff --git a/js/twemoji/16x16/1f680.png b/js/twemoji/16x16/1f680.png
new file mode 100644
index 00000000..1392f1e6
Binary files /dev/null and b/js/twemoji/16x16/1f680.png differ
diff --git a/js/twemoji/16x16/1f681.png b/js/twemoji/16x16/1f681.png
new file mode 100644
index 00000000..818492ce
Binary files /dev/null and b/js/twemoji/16x16/1f681.png differ
diff --git a/js/twemoji/16x16/1f682.png b/js/twemoji/16x16/1f682.png
new file mode 100644
index 00000000..3c9fc735
Binary files /dev/null and b/js/twemoji/16x16/1f682.png differ
diff --git a/js/twemoji/16x16/1f683.png b/js/twemoji/16x16/1f683.png
new file mode 100644
index 00000000..2e4a8afb
Binary files /dev/null and b/js/twemoji/16x16/1f683.png differ
diff --git a/js/twemoji/16x16/1f684.png b/js/twemoji/16x16/1f684.png
new file mode 100644
index 00000000..2149c949
Binary files /dev/null and b/js/twemoji/16x16/1f684.png differ
diff --git a/js/twemoji/16x16/1f685.png b/js/twemoji/16x16/1f685.png
new file mode 100644
index 00000000..18499737
Binary files /dev/null and b/js/twemoji/16x16/1f685.png differ
diff --git a/js/twemoji/16x16/1f686.png b/js/twemoji/16x16/1f686.png
new file mode 100644
index 00000000..86f009f2
Binary files /dev/null and b/js/twemoji/16x16/1f686.png differ
diff --git a/js/twemoji/16x16/1f687.png b/js/twemoji/16x16/1f687.png
new file mode 100644
index 00000000..a9193c52
Binary files /dev/null and b/js/twemoji/16x16/1f687.png differ
diff --git a/js/twemoji/16x16/1f688.png b/js/twemoji/16x16/1f688.png
new file mode 100644
index 00000000..65a124d4
Binary files /dev/null and b/js/twemoji/16x16/1f688.png differ
diff --git a/js/twemoji/16x16/1f689.png b/js/twemoji/16x16/1f689.png
new file mode 100644
index 00000000..4f4242cd
Binary files /dev/null and b/js/twemoji/16x16/1f689.png differ
diff --git a/js/twemoji/16x16/1f68a.png b/js/twemoji/16x16/1f68a.png
new file mode 100644
index 00000000..8b92ea56
Binary files /dev/null and b/js/twemoji/16x16/1f68a.png differ
diff --git a/js/twemoji/16x16/1f68b.png b/js/twemoji/16x16/1f68b.png
new file mode 100644
index 00000000..023078a2
Binary files /dev/null and b/js/twemoji/16x16/1f68b.png differ
diff --git a/js/twemoji/16x16/1f68c.png b/js/twemoji/16x16/1f68c.png
new file mode 100644
index 00000000..d2e5a25c
Binary files /dev/null and b/js/twemoji/16x16/1f68c.png differ
diff --git a/js/twemoji/16x16/1f68d.png b/js/twemoji/16x16/1f68d.png
new file mode 100644
index 00000000..703a93a6
Binary files /dev/null and b/js/twemoji/16x16/1f68d.png differ
diff --git a/js/twemoji/16x16/1f68e.png b/js/twemoji/16x16/1f68e.png
new file mode 100644
index 00000000..cb5e7813
Binary files /dev/null and b/js/twemoji/16x16/1f68e.png differ
diff --git a/js/twemoji/16x16/1f68f.png b/js/twemoji/16x16/1f68f.png
new file mode 100644
index 00000000..647b9592
Binary files /dev/null and b/js/twemoji/16x16/1f68f.png differ
diff --git a/js/twemoji/16x16/1f690.png b/js/twemoji/16x16/1f690.png
new file mode 100644
index 00000000..2913785a
Binary files /dev/null and b/js/twemoji/16x16/1f690.png differ
diff --git a/js/twemoji/16x16/1f691.png b/js/twemoji/16x16/1f691.png
new file mode 100644
index 00000000..7cc9ce0c
Binary files /dev/null and b/js/twemoji/16x16/1f691.png differ
diff --git a/js/twemoji/16x16/1f692.png b/js/twemoji/16x16/1f692.png
new file mode 100644
index 00000000..30fe43d9
Binary files /dev/null and b/js/twemoji/16x16/1f692.png differ
diff --git a/js/twemoji/16x16/1f693.png b/js/twemoji/16x16/1f693.png
new file mode 100644
index 00000000..ea1f919a
Binary files /dev/null and b/js/twemoji/16x16/1f693.png differ
diff --git a/js/twemoji/16x16/1f694.png b/js/twemoji/16x16/1f694.png
new file mode 100644
index 00000000..43aff4e8
Binary files /dev/null and b/js/twemoji/16x16/1f694.png differ
diff --git a/js/twemoji/16x16/1f695.png b/js/twemoji/16x16/1f695.png
new file mode 100644
index 00000000..11b19272
Binary files /dev/null and b/js/twemoji/16x16/1f695.png differ
diff --git a/js/twemoji/16x16/1f696.png b/js/twemoji/16x16/1f696.png
new file mode 100644
index 00000000..0528cdba
Binary files /dev/null and b/js/twemoji/16x16/1f696.png differ
diff --git a/js/twemoji/16x16/1f697.png b/js/twemoji/16x16/1f697.png
new file mode 100644
index 00000000..925c94ce
Binary files /dev/null and b/js/twemoji/16x16/1f697.png differ
diff --git a/js/twemoji/16x16/1f698.png b/js/twemoji/16x16/1f698.png
new file mode 100644
index 00000000..3a456696
Binary files /dev/null and b/js/twemoji/16x16/1f698.png differ
diff --git a/js/twemoji/16x16/1f699.png b/js/twemoji/16x16/1f699.png
new file mode 100644
index 00000000..5f9fa971
Binary files /dev/null and b/js/twemoji/16x16/1f699.png differ
diff --git a/js/twemoji/16x16/1f69a.png b/js/twemoji/16x16/1f69a.png
new file mode 100644
index 00000000..2501b22c
Binary files /dev/null and b/js/twemoji/16x16/1f69a.png differ
diff --git a/js/twemoji/16x16/1f69b.png b/js/twemoji/16x16/1f69b.png
new file mode 100644
index 00000000..e6f143ed
Binary files /dev/null and b/js/twemoji/16x16/1f69b.png differ
diff --git a/js/twemoji/16x16/1f69c.png b/js/twemoji/16x16/1f69c.png
new file mode 100644
index 00000000..523d2964
Binary files /dev/null and b/js/twemoji/16x16/1f69c.png differ
diff --git a/js/twemoji/16x16/1f69d.png b/js/twemoji/16x16/1f69d.png
new file mode 100644
index 00000000..8e554c0f
Binary files /dev/null and b/js/twemoji/16x16/1f69d.png differ
diff --git a/js/twemoji/16x16/1f69e.png b/js/twemoji/16x16/1f69e.png
new file mode 100644
index 00000000..4d603fff
Binary files /dev/null and b/js/twemoji/16x16/1f69e.png differ
diff --git a/js/twemoji/16x16/1f69f.png b/js/twemoji/16x16/1f69f.png
new file mode 100644
index 00000000..580dfc6d
Binary files /dev/null and b/js/twemoji/16x16/1f69f.png differ
diff --git a/js/twemoji/16x16/1f6a0.png b/js/twemoji/16x16/1f6a0.png
new file mode 100644
index 00000000..426c9f4e
Binary files /dev/null and b/js/twemoji/16x16/1f6a0.png differ
diff --git a/js/twemoji/16x16/1f6a1.png b/js/twemoji/16x16/1f6a1.png
new file mode 100644
index 00000000..3dc82914
Binary files /dev/null and b/js/twemoji/16x16/1f6a1.png differ
diff --git a/js/twemoji/16x16/1f6a2.png b/js/twemoji/16x16/1f6a2.png
new file mode 100644
index 00000000..aa5d978b
Binary files /dev/null and b/js/twemoji/16x16/1f6a2.png differ
diff --git a/js/twemoji/16x16/1f6a3.png b/js/twemoji/16x16/1f6a3.png
new file mode 100644
index 00000000..a8ef8141
Binary files /dev/null and b/js/twemoji/16x16/1f6a3.png differ
diff --git a/js/twemoji/16x16/1f6a4.png b/js/twemoji/16x16/1f6a4.png
new file mode 100644
index 00000000..e29b4203
Binary files /dev/null and b/js/twemoji/16x16/1f6a4.png differ
diff --git a/js/twemoji/16x16/1f6a5.png b/js/twemoji/16x16/1f6a5.png
new file mode 100644
index 00000000..142a45a9
Binary files /dev/null and b/js/twemoji/16x16/1f6a5.png differ
diff --git a/js/twemoji/16x16/1f6a6.png b/js/twemoji/16x16/1f6a6.png
new file mode 100644
index 00000000..a2d6fde2
Binary files /dev/null and b/js/twemoji/16x16/1f6a6.png differ
diff --git a/js/twemoji/16x16/1f6a7.png b/js/twemoji/16x16/1f6a7.png
new file mode 100644
index 00000000..58fae5ef
Binary files /dev/null and b/js/twemoji/16x16/1f6a7.png differ
diff --git a/js/twemoji/16x16/1f6a8.png b/js/twemoji/16x16/1f6a8.png
new file mode 100644
index 00000000..e88f5941
Binary files /dev/null and b/js/twemoji/16x16/1f6a8.png differ
diff --git a/js/twemoji/16x16/1f6a9.png b/js/twemoji/16x16/1f6a9.png
new file mode 100644
index 00000000..111b5474
Binary files /dev/null and b/js/twemoji/16x16/1f6a9.png differ
diff --git a/js/twemoji/16x16/1f6aa.png b/js/twemoji/16x16/1f6aa.png
new file mode 100644
index 00000000..ae039d9b
Binary files /dev/null and b/js/twemoji/16x16/1f6aa.png differ
diff --git a/js/twemoji/16x16/1f6ab.png b/js/twemoji/16x16/1f6ab.png
new file mode 100644
index 00000000..1667f26c
Binary files /dev/null and b/js/twemoji/16x16/1f6ab.png differ
diff --git a/js/twemoji/16x16/1f6ac.png b/js/twemoji/16x16/1f6ac.png
new file mode 100644
index 00000000..109aa1d2
Binary files /dev/null and b/js/twemoji/16x16/1f6ac.png differ
diff --git a/js/twemoji/16x16/1f6ad.png b/js/twemoji/16x16/1f6ad.png
new file mode 100644
index 00000000..87097372
Binary files /dev/null and b/js/twemoji/16x16/1f6ad.png differ
diff --git a/js/twemoji/16x16/1f6ae.png b/js/twemoji/16x16/1f6ae.png
new file mode 100644
index 00000000..ff856ff3
Binary files /dev/null and b/js/twemoji/16x16/1f6ae.png differ
diff --git a/js/twemoji/16x16/1f6af.png b/js/twemoji/16x16/1f6af.png
new file mode 100644
index 00000000..3de7491b
Binary files /dev/null and b/js/twemoji/16x16/1f6af.png differ
diff --git a/js/twemoji/16x16/1f6b0.png b/js/twemoji/16x16/1f6b0.png
new file mode 100644
index 00000000..52e5ba3c
Binary files /dev/null and b/js/twemoji/16x16/1f6b0.png differ
diff --git a/js/twemoji/16x16/1f6b1.png b/js/twemoji/16x16/1f6b1.png
new file mode 100644
index 00000000..36c0b47c
Binary files /dev/null and b/js/twemoji/16x16/1f6b1.png differ
diff --git a/js/twemoji/16x16/1f6b2.png b/js/twemoji/16x16/1f6b2.png
new file mode 100644
index 00000000..0531e288
Binary files /dev/null and b/js/twemoji/16x16/1f6b2.png differ
diff --git a/js/twemoji/16x16/1f6b3.png b/js/twemoji/16x16/1f6b3.png
new file mode 100644
index 00000000..62322bfb
Binary files /dev/null and b/js/twemoji/16x16/1f6b3.png differ
diff --git a/js/twemoji/16x16/1f6b4.png b/js/twemoji/16x16/1f6b4.png
new file mode 100644
index 00000000..7015f782
Binary files /dev/null and b/js/twemoji/16x16/1f6b4.png differ
diff --git a/js/twemoji/16x16/1f6b5.png b/js/twemoji/16x16/1f6b5.png
new file mode 100644
index 00000000..8e9dd136
Binary files /dev/null and b/js/twemoji/16x16/1f6b5.png differ
diff --git a/js/twemoji/16x16/1f6b6.png b/js/twemoji/16x16/1f6b6.png
new file mode 100644
index 00000000..de8daf48
Binary files /dev/null and b/js/twemoji/16x16/1f6b6.png differ
diff --git a/js/twemoji/16x16/1f6b7.png b/js/twemoji/16x16/1f6b7.png
new file mode 100644
index 00000000..e84263b8
Binary files /dev/null and b/js/twemoji/16x16/1f6b7.png differ
diff --git a/js/twemoji/16x16/1f6b8.png b/js/twemoji/16x16/1f6b8.png
new file mode 100644
index 00000000..2506c248
Binary files /dev/null and b/js/twemoji/16x16/1f6b8.png differ
diff --git a/js/twemoji/16x16/1f6b9.png b/js/twemoji/16x16/1f6b9.png
new file mode 100644
index 00000000..a724df70
Binary files /dev/null and b/js/twemoji/16x16/1f6b9.png differ
diff --git a/js/twemoji/16x16/1f6ba.png b/js/twemoji/16x16/1f6ba.png
new file mode 100644
index 00000000..2a5d488b
Binary files /dev/null and b/js/twemoji/16x16/1f6ba.png differ
diff --git a/js/twemoji/16x16/1f6bb.png b/js/twemoji/16x16/1f6bb.png
new file mode 100644
index 00000000..8c36f7b7
Binary files /dev/null and b/js/twemoji/16x16/1f6bb.png differ
diff --git a/js/twemoji/16x16/1f6bc.png b/js/twemoji/16x16/1f6bc.png
new file mode 100644
index 00000000..70dbc55a
Binary files /dev/null and b/js/twemoji/16x16/1f6bc.png differ
diff --git a/js/twemoji/16x16/1f6bd.png b/js/twemoji/16x16/1f6bd.png
new file mode 100644
index 00000000..762c3062
Binary files /dev/null and b/js/twemoji/16x16/1f6bd.png differ
diff --git a/js/twemoji/16x16/1f6be.png b/js/twemoji/16x16/1f6be.png
new file mode 100644
index 00000000..8aa44a6b
Binary files /dev/null and b/js/twemoji/16x16/1f6be.png differ
diff --git a/js/twemoji/16x16/1f6bf.png b/js/twemoji/16x16/1f6bf.png
new file mode 100644
index 00000000..d4d0c0ec
Binary files /dev/null and b/js/twemoji/16x16/1f6bf.png differ
diff --git a/js/twemoji/16x16/1f6c0.png b/js/twemoji/16x16/1f6c0.png
new file mode 100644
index 00000000..dbe08122
Binary files /dev/null and b/js/twemoji/16x16/1f6c0.png differ
diff --git a/js/twemoji/16x16/1f6c1.png b/js/twemoji/16x16/1f6c1.png
new file mode 100644
index 00000000..ff6ef3b9
Binary files /dev/null and b/js/twemoji/16x16/1f6c1.png differ
diff --git a/js/twemoji/16x16/1f6c2.png b/js/twemoji/16x16/1f6c2.png
new file mode 100644
index 00000000..d9d139ae
Binary files /dev/null and b/js/twemoji/16x16/1f6c2.png differ
diff --git a/js/twemoji/16x16/1f6c3.png b/js/twemoji/16x16/1f6c3.png
new file mode 100644
index 00000000..a75ff22c
Binary files /dev/null and b/js/twemoji/16x16/1f6c3.png differ
diff --git a/js/twemoji/16x16/1f6c4.png b/js/twemoji/16x16/1f6c4.png
new file mode 100644
index 00000000..1b4bd4ad
Binary files /dev/null and b/js/twemoji/16x16/1f6c4.png differ
diff --git a/js/twemoji/16x16/1f6c5.png b/js/twemoji/16x16/1f6c5.png
new file mode 100644
index 00000000..f25ffcbd
Binary files /dev/null and b/js/twemoji/16x16/1f6c5.png differ
diff --git a/js/twemoji/16x16/203c.png b/js/twemoji/16x16/203c.png
new file mode 100644
index 00000000..c4518dcf
Binary files /dev/null and b/js/twemoji/16x16/203c.png differ
diff --git a/js/twemoji/16x16/2049.png b/js/twemoji/16x16/2049.png
new file mode 100644
index 00000000..d5b761a6
Binary files /dev/null and b/js/twemoji/16x16/2049.png differ
diff --git a/js/twemoji/16x16/2122.png b/js/twemoji/16x16/2122.png
new file mode 100644
index 00000000..ff867db6
Binary files /dev/null and b/js/twemoji/16x16/2122.png differ
diff --git a/js/twemoji/16x16/2139.png b/js/twemoji/16x16/2139.png
new file mode 100644
index 00000000..eeca5136
Binary files /dev/null and b/js/twemoji/16x16/2139.png differ
diff --git a/js/twemoji/16x16/2194.png b/js/twemoji/16x16/2194.png
new file mode 100644
index 00000000..8abc8061
Binary files /dev/null and b/js/twemoji/16x16/2194.png differ
diff --git a/js/twemoji/16x16/2195.png b/js/twemoji/16x16/2195.png
new file mode 100644
index 00000000..9ceaaeb6
Binary files /dev/null and b/js/twemoji/16x16/2195.png differ
diff --git a/js/twemoji/16x16/2196.png b/js/twemoji/16x16/2196.png
new file mode 100644
index 00000000..e0e3874c
Binary files /dev/null and b/js/twemoji/16x16/2196.png differ
diff --git a/js/twemoji/16x16/2197.png b/js/twemoji/16x16/2197.png
new file mode 100644
index 00000000..14a081c5
Binary files /dev/null and b/js/twemoji/16x16/2197.png differ
diff --git a/js/twemoji/16x16/2198.png b/js/twemoji/16x16/2198.png
new file mode 100644
index 00000000..fa5769d2
Binary files /dev/null and b/js/twemoji/16x16/2198.png differ
diff --git a/js/twemoji/16x16/2199.png b/js/twemoji/16x16/2199.png
new file mode 100644
index 00000000..dc837767
Binary files /dev/null and b/js/twemoji/16x16/2199.png differ
diff --git a/js/twemoji/16x16/21a9.png b/js/twemoji/16x16/21a9.png
new file mode 100644
index 00000000..51f5ed32
Binary files /dev/null and b/js/twemoji/16x16/21a9.png differ
diff --git a/js/twemoji/16x16/21aa.png b/js/twemoji/16x16/21aa.png
new file mode 100644
index 00000000..88f3fbd6
Binary files /dev/null and b/js/twemoji/16x16/21aa.png differ
diff --git a/js/twemoji/16x16/23-20e3.png b/js/twemoji/16x16/23-20e3.png
new file mode 100644
index 00000000..9994e634
Binary files /dev/null and b/js/twemoji/16x16/23-20e3.png differ
diff --git a/js/twemoji/16x16/231a.png b/js/twemoji/16x16/231a.png
new file mode 100644
index 00000000..2dfa11e5
Binary files /dev/null and b/js/twemoji/16x16/231a.png differ
diff --git a/js/twemoji/16x16/231b.png b/js/twemoji/16x16/231b.png
new file mode 100644
index 00000000..5dba6dc9
Binary files /dev/null and b/js/twemoji/16x16/231b.png differ
diff --git a/js/twemoji/16x16/23e9.png b/js/twemoji/16x16/23e9.png
new file mode 100644
index 00000000..9446630e
Binary files /dev/null and b/js/twemoji/16x16/23e9.png differ
diff --git a/js/twemoji/16x16/23ea.png b/js/twemoji/16x16/23ea.png
new file mode 100644
index 00000000..cbd99654
Binary files /dev/null and b/js/twemoji/16x16/23ea.png differ
diff --git a/js/twemoji/16x16/23eb.png b/js/twemoji/16x16/23eb.png
new file mode 100644
index 00000000..15dd4882
Binary files /dev/null and b/js/twemoji/16x16/23eb.png differ
diff --git a/js/twemoji/16x16/23ec.png b/js/twemoji/16x16/23ec.png
new file mode 100644
index 00000000..dfed7878
Binary files /dev/null and b/js/twemoji/16x16/23ec.png differ
diff --git a/js/twemoji/16x16/23f0.png b/js/twemoji/16x16/23f0.png
new file mode 100644
index 00000000..4381e5a1
Binary files /dev/null and b/js/twemoji/16x16/23f0.png differ
diff --git a/js/twemoji/16x16/23f3.png b/js/twemoji/16x16/23f3.png
new file mode 100644
index 00000000..e9a4a401
Binary files /dev/null and b/js/twemoji/16x16/23f3.png differ
diff --git a/js/twemoji/16x16/24c2.png b/js/twemoji/16x16/24c2.png
new file mode 100644
index 00000000..1cf572c0
Binary files /dev/null and b/js/twemoji/16x16/24c2.png differ
diff --git a/js/twemoji/16x16/25aa.png b/js/twemoji/16x16/25aa.png
new file mode 100644
index 00000000..4212c017
Binary files /dev/null and b/js/twemoji/16x16/25aa.png differ
diff --git a/js/twemoji/16x16/25ab.png b/js/twemoji/16x16/25ab.png
new file mode 100644
index 00000000..c578bfe3
Binary files /dev/null and b/js/twemoji/16x16/25ab.png differ
diff --git a/js/twemoji/16x16/25b6.png b/js/twemoji/16x16/25b6.png
new file mode 100644
index 00000000..aa0977c4
Binary files /dev/null and b/js/twemoji/16x16/25b6.png differ
diff --git a/js/twemoji/16x16/25c0.png b/js/twemoji/16x16/25c0.png
new file mode 100644
index 00000000..2bc3cdf7
Binary files /dev/null and b/js/twemoji/16x16/25c0.png differ
diff --git a/js/twemoji/16x16/25fb.png b/js/twemoji/16x16/25fb.png
new file mode 100644
index 00000000..08354780
Binary files /dev/null and b/js/twemoji/16x16/25fb.png differ
diff --git a/js/twemoji/16x16/25fc.png b/js/twemoji/16x16/25fc.png
new file mode 100644
index 00000000..682caecb
Binary files /dev/null and b/js/twemoji/16x16/25fc.png differ
diff --git a/js/twemoji/16x16/25fd.png b/js/twemoji/16x16/25fd.png
new file mode 100644
index 00000000..2289f48d
Binary files /dev/null and b/js/twemoji/16x16/25fd.png differ
diff --git a/js/twemoji/16x16/25fe.png b/js/twemoji/16x16/25fe.png
new file mode 100644
index 00000000..34e418a0
Binary files /dev/null and b/js/twemoji/16x16/25fe.png differ
diff --git a/js/twemoji/16x16/2600.png b/js/twemoji/16x16/2600.png
new file mode 100644
index 00000000..6f87a2dd
Binary files /dev/null and b/js/twemoji/16x16/2600.png differ
diff --git a/js/twemoji/16x16/2601.png b/js/twemoji/16x16/2601.png
new file mode 100644
index 00000000..72c190b4
Binary files /dev/null and b/js/twemoji/16x16/2601.png differ
diff --git a/js/twemoji/16x16/260e.png b/js/twemoji/16x16/260e.png
new file mode 100644
index 00000000..55b36e1d
Binary files /dev/null and b/js/twemoji/16x16/260e.png differ
diff --git a/js/twemoji/16x16/2611.png b/js/twemoji/16x16/2611.png
new file mode 100644
index 00000000..964c7de6
Binary files /dev/null and b/js/twemoji/16x16/2611.png differ
diff --git a/js/twemoji/16x16/2614.png b/js/twemoji/16x16/2614.png
new file mode 100644
index 00000000..314a609b
Binary files /dev/null and b/js/twemoji/16x16/2614.png differ
diff --git a/js/twemoji/16x16/2615.png b/js/twemoji/16x16/2615.png
new file mode 100644
index 00000000..9d0f3e36
Binary files /dev/null and b/js/twemoji/16x16/2615.png differ
diff --git a/js/twemoji/16x16/261d.png b/js/twemoji/16x16/261d.png
new file mode 100644
index 00000000..9eb63327
Binary files /dev/null and b/js/twemoji/16x16/261d.png differ
diff --git a/js/twemoji/16x16/263a.png b/js/twemoji/16x16/263a.png
new file mode 100644
index 00000000..4622b213
Binary files /dev/null and b/js/twemoji/16x16/263a.png differ
diff --git a/js/twemoji/16x16/2648.png b/js/twemoji/16x16/2648.png
new file mode 100644
index 00000000..8cd932dc
Binary files /dev/null and b/js/twemoji/16x16/2648.png differ
diff --git a/js/twemoji/16x16/2649.png b/js/twemoji/16x16/2649.png
new file mode 100644
index 00000000..3e29af13
Binary files /dev/null and b/js/twemoji/16x16/2649.png differ
diff --git a/js/twemoji/16x16/264a.png b/js/twemoji/16x16/264a.png
new file mode 100644
index 00000000..4c89087f
Binary files /dev/null and b/js/twemoji/16x16/264a.png differ
diff --git a/js/twemoji/16x16/264b.png b/js/twemoji/16x16/264b.png
new file mode 100644
index 00000000..0e8c73af
Binary files /dev/null and b/js/twemoji/16x16/264b.png differ
diff --git a/js/twemoji/16x16/264c.png b/js/twemoji/16x16/264c.png
new file mode 100644
index 00000000..41da6721
Binary files /dev/null and b/js/twemoji/16x16/264c.png differ
diff --git a/js/twemoji/16x16/264d.png b/js/twemoji/16x16/264d.png
new file mode 100644
index 00000000..c68f46c4
Binary files /dev/null and b/js/twemoji/16x16/264d.png differ
diff --git a/js/twemoji/16x16/264e.png b/js/twemoji/16x16/264e.png
new file mode 100644
index 00000000..089126b1
Binary files /dev/null and b/js/twemoji/16x16/264e.png differ
diff --git a/js/twemoji/16x16/264f.png b/js/twemoji/16x16/264f.png
new file mode 100644
index 00000000..c5bc85e8
Binary files /dev/null and b/js/twemoji/16x16/264f.png differ
diff --git a/js/twemoji/16x16/2650.png b/js/twemoji/16x16/2650.png
new file mode 100644
index 00000000..a8092efe
Binary files /dev/null and b/js/twemoji/16x16/2650.png differ
diff --git a/js/twemoji/16x16/2651.png b/js/twemoji/16x16/2651.png
new file mode 100644
index 00000000..18275aa1
Binary files /dev/null and b/js/twemoji/16x16/2651.png differ
diff --git a/js/twemoji/16x16/2652.png b/js/twemoji/16x16/2652.png
new file mode 100644
index 00000000..a5e7e28c
Binary files /dev/null and b/js/twemoji/16x16/2652.png differ
diff --git a/js/twemoji/16x16/2653.png b/js/twemoji/16x16/2653.png
new file mode 100644
index 00000000..c5549491
Binary files /dev/null and b/js/twemoji/16x16/2653.png differ
diff --git a/js/twemoji/16x16/2660.png b/js/twemoji/16x16/2660.png
new file mode 100644
index 00000000..63ec650a
Binary files /dev/null and b/js/twemoji/16x16/2660.png differ
diff --git a/js/twemoji/16x16/2663.png b/js/twemoji/16x16/2663.png
new file mode 100644
index 00000000..57c26908
Binary files /dev/null and b/js/twemoji/16x16/2663.png differ
diff --git a/js/twemoji/16x16/2665.png b/js/twemoji/16x16/2665.png
new file mode 100644
index 00000000..f6a667b9
Binary files /dev/null and b/js/twemoji/16x16/2665.png differ
diff --git a/js/twemoji/16x16/2666.png b/js/twemoji/16x16/2666.png
new file mode 100644
index 00000000..14a87f16
Binary files /dev/null and b/js/twemoji/16x16/2666.png differ
diff --git a/js/twemoji/16x16/2668.png b/js/twemoji/16x16/2668.png
new file mode 100644
index 00000000..046d380d
Binary files /dev/null and b/js/twemoji/16x16/2668.png differ
diff --git a/js/twemoji/16x16/267b.png b/js/twemoji/16x16/267b.png
new file mode 100644
index 00000000..502fcd63
Binary files /dev/null and b/js/twemoji/16x16/267b.png differ
diff --git a/js/twemoji/16x16/267f.png b/js/twemoji/16x16/267f.png
new file mode 100644
index 00000000..bafd2ae6
Binary files /dev/null and b/js/twemoji/16x16/267f.png differ
diff --git a/js/twemoji/16x16/2693.png b/js/twemoji/16x16/2693.png
new file mode 100644
index 00000000..dff27caa
Binary files /dev/null and b/js/twemoji/16x16/2693.png differ
diff --git a/js/twemoji/16x16/26a0.png b/js/twemoji/16x16/26a0.png
new file mode 100644
index 00000000..6d24a5a1
Binary files /dev/null and b/js/twemoji/16x16/26a0.png differ
diff --git a/js/twemoji/16x16/26a1.png b/js/twemoji/16x16/26a1.png
new file mode 100644
index 00000000..c92564bf
Binary files /dev/null and b/js/twemoji/16x16/26a1.png differ
diff --git a/js/twemoji/16x16/26aa.png b/js/twemoji/16x16/26aa.png
new file mode 100644
index 00000000..d31a9d9c
Binary files /dev/null and b/js/twemoji/16x16/26aa.png differ
diff --git a/js/twemoji/16x16/26ab.png b/js/twemoji/16x16/26ab.png
new file mode 100644
index 00000000..ced56282
Binary files /dev/null and b/js/twemoji/16x16/26ab.png differ
diff --git a/js/twemoji/16x16/26bd.png b/js/twemoji/16x16/26bd.png
new file mode 100644
index 00000000..93f358e4
Binary files /dev/null and b/js/twemoji/16x16/26bd.png differ
diff --git a/js/twemoji/16x16/26be.png b/js/twemoji/16x16/26be.png
new file mode 100644
index 00000000..c5526849
Binary files /dev/null and b/js/twemoji/16x16/26be.png differ
diff --git a/js/twemoji/16x16/26c4.png b/js/twemoji/16x16/26c4.png
new file mode 100644
index 00000000..94e06029
Binary files /dev/null and b/js/twemoji/16x16/26c4.png differ
diff --git a/js/twemoji/16x16/26c5.png b/js/twemoji/16x16/26c5.png
new file mode 100644
index 00000000..f32bf773
Binary files /dev/null and b/js/twemoji/16x16/26c5.png differ
diff --git a/js/twemoji/16x16/26ce.png b/js/twemoji/16x16/26ce.png
new file mode 100644
index 00000000..9d446fde
Binary files /dev/null and b/js/twemoji/16x16/26ce.png differ
diff --git a/js/twemoji/16x16/26d4.png b/js/twemoji/16x16/26d4.png
new file mode 100644
index 00000000..23ca1a41
Binary files /dev/null and b/js/twemoji/16x16/26d4.png differ
diff --git a/js/twemoji/16x16/26ea.png b/js/twemoji/16x16/26ea.png
new file mode 100644
index 00000000..352506fd
Binary files /dev/null and b/js/twemoji/16x16/26ea.png differ
diff --git a/js/twemoji/16x16/26f2.png b/js/twemoji/16x16/26f2.png
new file mode 100644
index 00000000..a51437b6
Binary files /dev/null and b/js/twemoji/16x16/26f2.png differ
diff --git a/js/twemoji/16x16/26f3.png b/js/twemoji/16x16/26f3.png
new file mode 100644
index 00000000..62139fd1
Binary files /dev/null and b/js/twemoji/16x16/26f3.png differ
diff --git a/js/twemoji/16x16/26f5.png b/js/twemoji/16x16/26f5.png
new file mode 100644
index 00000000..01026dcc
Binary files /dev/null and b/js/twemoji/16x16/26f5.png differ
diff --git a/js/twemoji/16x16/26fa.png b/js/twemoji/16x16/26fa.png
new file mode 100644
index 00000000..4639f7b8
Binary files /dev/null and b/js/twemoji/16x16/26fa.png differ
diff --git a/js/twemoji/16x16/26fd.png b/js/twemoji/16x16/26fd.png
new file mode 100644
index 00000000..2c8f05e5
Binary files /dev/null and b/js/twemoji/16x16/26fd.png differ
diff --git a/js/twemoji/16x16/2702.png b/js/twemoji/16x16/2702.png
new file mode 100644
index 00000000..4905e6fe
Binary files /dev/null and b/js/twemoji/16x16/2702.png differ
diff --git a/js/twemoji/16x16/2705.png b/js/twemoji/16x16/2705.png
new file mode 100644
index 00000000..a9713de4
Binary files /dev/null and b/js/twemoji/16x16/2705.png differ
diff --git a/js/twemoji/16x16/2708.png b/js/twemoji/16x16/2708.png
new file mode 100644
index 00000000..0433b313
Binary files /dev/null and b/js/twemoji/16x16/2708.png differ
diff --git a/js/twemoji/16x16/2709.png b/js/twemoji/16x16/2709.png
new file mode 100644
index 00000000..cacc4e06
Binary files /dev/null and b/js/twemoji/16x16/2709.png differ
diff --git a/js/twemoji/16x16/270a.png b/js/twemoji/16x16/270a.png
new file mode 100644
index 00000000..23eb49a6
Binary files /dev/null and b/js/twemoji/16x16/270a.png differ
diff --git a/js/twemoji/16x16/270b.png b/js/twemoji/16x16/270b.png
new file mode 100644
index 00000000..9f2f105d
Binary files /dev/null and b/js/twemoji/16x16/270b.png differ
diff --git a/js/twemoji/16x16/270c.png b/js/twemoji/16x16/270c.png
new file mode 100644
index 00000000..ad00002f
Binary files /dev/null and b/js/twemoji/16x16/270c.png differ
diff --git a/js/twemoji/16x16/270f.png b/js/twemoji/16x16/270f.png
new file mode 100644
index 00000000..e208de7b
Binary files /dev/null and b/js/twemoji/16x16/270f.png differ
diff --git a/js/twemoji/16x16/2712.png b/js/twemoji/16x16/2712.png
new file mode 100644
index 00000000..9c070e46
Binary files /dev/null and b/js/twemoji/16x16/2712.png differ
diff --git a/js/twemoji/16x16/2714.png b/js/twemoji/16x16/2714.png
new file mode 100644
index 00000000..5a249a51
Binary files /dev/null and b/js/twemoji/16x16/2714.png differ
diff --git a/js/twemoji/16x16/2716.png b/js/twemoji/16x16/2716.png
new file mode 100644
index 00000000..0d4b2fbf
Binary files /dev/null and b/js/twemoji/16x16/2716.png differ
diff --git a/js/twemoji/16x16/2728.png b/js/twemoji/16x16/2728.png
new file mode 100644
index 00000000..78515449
Binary files /dev/null and b/js/twemoji/16x16/2728.png differ
diff --git a/js/twemoji/16x16/2733.png b/js/twemoji/16x16/2733.png
new file mode 100644
index 00000000..b05babdf
Binary files /dev/null and b/js/twemoji/16x16/2733.png differ
diff --git a/js/twemoji/16x16/2734.png b/js/twemoji/16x16/2734.png
new file mode 100644
index 00000000..d92d62dd
Binary files /dev/null and b/js/twemoji/16x16/2734.png differ
diff --git a/js/twemoji/16x16/2744.png b/js/twemoji/16x16/2744.png
new file mode 100644
index 00000000..3d186126
Binary files /dev/null and b/js/twemoji/16x16/2744.png differ
diff --git a/js/twemoji/16x16/2747.png b/js/twemoji/16x16/2747.png
new file mode 100644
index 00000000..5ed8df20
Binary files /dev/null and b/js/twemoji/16x16/2747.png differ
diff --git a/js/twemoji/16x16/274c.png b/js/twemoji/16x16/274c.png
new file mode 100644
index 00000000..bcb50745
Binary files /dev/null and b/js/twemoji/16x16/274c.png differ
diff --git a/js/twemoji/16x16/274e.png b/js/twemoji/16x16/274e.png
new file mode 100644
index 00000000..42871450
Binary files /dev/null and b/js/twemoji/16x16/274e.png differ
diff --git a/js/twemoji/16x16/2753.png b/js/twemoji/16x16/2753.png
new file mode 100644
index 00000000..a1a903e6
Binary files /dev/null and b/js/twemoji/16x16/2753.png differ
diff --git a/js/twemoji/16x16/2754.png b/js/twemoji/16x16/2754.png
new file mode 100644
index 00000000..5c9c1a0c
Binary files /dev/null and b/js/twemoji/16x16/2754.png differ
diff --git a/js/twemoji/16x16/2755.png b/js/twemoji/16x16/2755.png
new file mode 100644
index 00000000..18464d86
Binary files /dev/null and b/js/twemoji/16x16/2755.png differ
diff --git a/js/twemoji/16x16/2757.png b/js/twemoji/16x16/2757.png
new file mode 100644
index 00000000..afe0abe1
Binary files /dev/null and b/js/twemoji/16x16/2757.png differ
diff --git a/js/twemoji/16x16/2764.png b/js/twemoji/16x16/2764.png
new file mode 100644
index 00000000..931fcc1d
Binary files /dev/null and b/js/twemoji/16x16/2764.png differ
diff --git a/js/twemoji/16x16/2795.png b/js/twemoji/16x16/2795.png
new file mode 100644
index 00000000..607685ee
Binary files /dev/null and b/js/twemoji/16x16/2795.png differ
diff --git a/js/twemoji/16x16/2796.png b/js/twemoji/16x16/2796.png
new file mode 100644
index 00000000..fbd9c14b
Binary files /dev/null and b/js/twemoji/16x16/2796.png differ
diff --git a/js/twemoji/16x16/2797.png b/js/twemoji/16x16/2797.png
new file mode 100644
index 00000000..e07e53e8
Binary files /dev/null and b/js/twemoji/16x16/2797.png differ
diff --git a/js/twemoji/16x16/27a1.png b/js/twemoji/16x16/27a1.png
new file mode 100644
index 00000000..76615c8b
Binary files /dev/null and b/js/twemoji/16x16/27a1.png differ
diff --git a/js/twemoji/16x16/27b0.png b/js/twemoji/16x16/27b0.png
new file mode 100644
index 00000000..2fbdfebf
Binary files /dev/null and b/js/twemoji/16x16/27b0.png differ
diff --git a/js/twemoji/16x16/27bf.png b/js/twemoji/16x16/27bf.png
new file mode 100644
index 00000000..12d297d3
Binary files /dev/null and b/js/twemoji/16x16/27bf.png differ
diff --git a/js/twemoji/16x16/2934.png b/js/twemoji/16x16/2934.png
new file mode 100644
index 00000000..17e3e7b7
Binary files /dev/null and b/js/twemoji/16x16/2934.png differ
diff --git a/js/twemoji/16x16/2935.png b/js/twemoji/16x16/2935.png
new file mode 100644
index 00000000..ffa96e2d
Binary files /dev/null and b/js/twemoji/16x16/2935.png differ
diff --git a/js/twemoji/16x16/2b05.png b/js/twemoji/16x16/2b05.png
new file mode 100644
index 00000000..a4b9ecac
Binary files /dev/null and b/js/twemoji/16x16/2b05.png differ
diff --git a/js/twemoji/16x16/2b06.png b/js/twemoji/16x16/2b06.png
new file mode 100644
index 00000000..7becfb10
Binary files /dev/null and b/js/twemoji/16x16/2b06.png differ
diff --git a/js/twemoji/16x16/2b07.png b/js/twemoji/16x16/2b07.png
new file mode 100644
index 00000000..cc4cf6fc
Binary files /dev/null and b/js/twemoji/16x16/2b07.png differ
diff --git a/js/twemoji/16x16/2b1b.png b/js/twemoji/16x16/2b1b.png
new file mode 100644
index 00000000..395aca1a
Binary files /dev/null and b/js/twemoji/16x16/2b1b.png differ
diff --git a/js/twemoji/16x16/2b1c.png b/js/twemoji/16x16/2b1c.png
new file mode 100644
index 00000000..73870ddc
Binary files /dev/null and b/js/twemoji/16x16/2b1c.png differ
diff --git a/js/twemoji/16x16/2b50.png b/js/twemoji/16x16/2b50.png
new file mode 100644
index 00000000..a1c2a184
Binary files /dev/null and b/js/twemoji/16x16/2b50.png differ
diff --git a/js/twemoji/16x16/2b55.png b/js/twemoji/16x16/2b55.png
new file mode 100644
index 00000000..562f2faa
Binary files /dev/null and b/js/twemoji/16x16/2b55.png differ
diff --git a/js/twemoji/16x16/30-20e3.png b/js/twemoji/16x16/30-20e3.png
new file mode 100644
index 00000000..054b5e2a
Binary files /dev/null and b/js/twemoji/16x16/30-20e3.png differ
diff --git a/js/twemoji/16x16/3030.png b/js/twemoji/16x16/3030.png
new file mode 100644
index 00000000..814ee6df
Binary files /dev/null and b/js/twemoji/16x16/3030.png differ
diff --git a/js/twemoji/16x16/303d.png b/js/twemoji/16x16/303d.png
new file mode 100644
index 00000000..5ba4521b
Binary files /dev/null and b/js/twemoji/16x16/303d.png differ
diff --git a/js/twemoji/16x16/31-20e3.png b/js/twemoji/16x16/31-20e3.png
new file mode 100644
index 00000000..84cd47b6
Binary files /dev/null and b/js/twemoji/16x16/31-20e3.png differ
diff --git a/js/twemoji/16x16/32-20e3.png b/js/twemoji/16x16/32-20e3.png
new file mode 100644
index 00000000..934ff4d4
Binary files /dev/null and b/js/twemoji/16x16/32-20e3.png differ
diff --git a/js/twemoji/16x16/3297.png b/js/twemoji/16x16/3297.png
new file mode 100644
index 00000000..eab2ee0d
Binary files /dev/null and b/js/twemoji/16x16/3297.png differ
diff --git a/js/twemoji/16x16/3299.png b/js/twemoji/16x16/3299.png
new file mode 100644
index 00000000..7c855df2
Binary files /dev/null and b/js/twemoji/16x16/3299.png differ
diff --git a/js/twemoji/16x16/33-20e3.png b/js/twemoji/16x16/33-20e3.png
new file mode 100644
index 00000000..a70e9bae
Binary files /dev/null and b/js/twemoji/16x16/33-20e3.png differ
diff --git a/js/twemoji/16x16/34-20e3.png b/js/twemoji/16x16/34-20e3.png
new file mode 100644
index 00000000..e92505fe
Binary files /dev/null and b/js/twemoji/16x16/34-20e3.png differ
diff --git a/js/twemoji/16x16/35-20e3.png b/js/twemoji/16x16/35-20e3.png
new file mode 100644
index 00000000..c20e1f55
Binary files /dev/null and b/js/twemoji/16x16/35-20e3.png differ
diff --git a/js/twemoji/16x16/36-20e3.png b/js/twemoji/16x16/36-20e3.png
new file mode 100644
index 00000000..2da1b368
Binary files /dev/null and b/js/twemoji/16x16/36-20e3.png differ
diff --git a/js/twemoji/16x16/37-20e3.png b/js/twemoji/16x16/37-20e3.png
new file mode 100644
index 00000000..3d0a91b5
Binary files /dev/null and b/js/twemoji/16x16/37-20e3.png differ
diff --git a/js/twemoji/16x16/38-20e3.png b/js/twemoji/16x16/38-20e3.png
new file mode 100644
index 00000000..5e6315b3
Binary files /dev/null and b/js/twemoji/16x16/38-20e3.png differ
diff --git a/js/twemoji/16x16/39-20e3.png b/js/twemoji/16x16/39-20e3.png
new file mode 100644
index 00000000..3e025fdd
Binary files /dev/null and b/js/twemoji/16x16/39-20e3.png differ
diff --git a/js/twemoji/16x16/a9.png b/js/twemoji/16x16/a9.png
new file mode 100644
index 00000000..7b1a1cbb
Binary files /dev/null and b/js/twemoji/16x16/a9.png differ
diff --git a/js/twemoji/16x16/ae.png b/js/twemoji/16x16/ae.png
new file mode 100644
index 00000000..a54bb46c
Binary files /dev/null and b/js/twemoji/16x16/ae.png differ
diff --git a/js/twemoji/16x16/e50a.png b/js/twemoji/16x16/e50a.png
new file mode 100644
index 00000000..0f2a4a71
Binary files /dev/null and b/js/twemoji/16x16/e50a.png differ
diff --git a/js/twemoji/LICENSE b/js/twemoji/LICENSE
new file mode 100644
index 00000000..52f19222
--- /dev/null
+++ b/js/twemoji/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2014 Twitter, Inc and other contributors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/js/twemoji/LICENSE-GRAPHICS b/js/twemoji/LICENSE-GRAPHICS
new file mode 100644
index 00000000..dc8853a7
--- /dev/null
+++ b/js/twemoji/LICENSE-GRAPHICS
@@ -0,0 +1,393 @@
+Attribution 4.0 International
+
+=======================================================================
+
+Creative Commons Corporation ("Creative Commons") is not a law firm and
+does not provide legal services or legal advice. Distribution of
+Creative Commons public licenses does not create a lawyer-client or
+other relationship. Creative Commons makes its licenses and related
+information available on an "as-is" basis. Creative Commons gives no
+warranties regarding its licenses, any material licensed under their
+terms and conditions, or any related information. Creative Commons
+disclaims all liability for damages resulting from their use to the
+fullest extent possible.
+
+Using Creative Commons Public Licenses
+
+Creative Commons public licenses provide a standard set of terms and
+conditions that creators and other rights holders may use to share
+original works of authorship and other material subject to copyright
+and certain other rights specified in the public license below. The
+following considerations are for informational purposes only, are not
+exhaustive, and do not form part of our licenses.
+
+ Considerations for licensors: Our public licenses are
+ intended for use by those authorized to give the public
+ permission to use material in ways otherwise restricted by
+ copyright and certain other rights. Our licenses are
+ irrevocable. Licensors should read and understand the terms
+ and conditions of the license they choose before applying it.
+ Licensors should also secure all rights necessary before
+ applying our licenses so that the public can reuse the
+ material as expected. Licensors should clearly mark any
+ material not subject to the license. This includes other CC-
+ licensed material, or material used under an exception or
+ limitation to copyright. More considerations for licensors:
+ wiki.creativecommons.org/Considerations_for_licensors
+
+ Considerations for the public: By using one of our public
+ licenses, a licensor grants the public permission to use the
+ licensed material under specified terms and conditions. If
+ the licensor's permission is not necessary for any reason--for
+ example, because of any applicable exception or limitation to
+ copyright--then that use is not regulated by the license. Our
+ licenses grant only permissions under copyright and certain
+ other rights that a licensor has authority to grant. Use of
+ the licensed material may still be restricted for other
+ reasons, including because others have copyright or other
+ rights in the material. A licensor may make special requests,
+ such as asking that all changes be marked or described.
+ Although not required by our licenses, you are encouraged to
+ respect those requests where reasonable. More_considerations
+ for the public:
+ wiki.creativecommons.org/Considerations_for_licensees
+
+=======================================================================
+
+Creative Commons Attribution 4.0 International Public License
+
+By exercising the Licensed Rights (defined below), You accept and agree
+to be bound by the terms and conditions of this Creative Commons
+Attribution 4.0 International Public License ("Public License"). To the
+extent this Public License may be interpreted as a contract, You are
+granted the Licensed Rights in consideration of Your acceptance of
+these terms and conditions, and the Licensor grants You such rights in
+consideration of benefits the Licensor receives from making the
+Licensed Material available under these terms and conditions.
+
+
+Section 1 -- Definitions.
+
+ a. Adapted Material means material subject to Copyright and Similar
+ Rights that is derived from or based upon the Licensed Material
+ and in which the Licensed Material is translated, altered,
+ arranged, transformed, or otherwise modified in a manner requiring
+ permission under the Copyright and Similar Rights held by the
+ Licensor. For purposes of this Public License, where the Licensed
+ Material is a musical work, performance, or sound recording,
+ Adapted Material is always produced where the Licensed Material is
+ synched in timed relation with a moving image.
+
+ b. Adapter's License means the license You apply to Your Copyright
+ and Similar Rights in Your contributions to Adapted Material in
+ accordance with the terms and conditions of this Public License.
+
+ c. Copyright and Similar Rights means copyright and/or similar rights
+ closely related to copyright including, without limitation,
+ performance, broadcast, sound recording, and Sui Generis Database
+ Rights, without regard to how the rights are labeled or
+ categorized. For purposes of this Public License, the rights
+ specified in Section 2(b)(1)-(2) are not Copyright and Similar
+ Rights.
+
+ d. Effective Technological Measures means those measures that, in the
+ absence of proper authority, may not be circumvented under laws
+ fulfilling obligations under Article 11 of the WIPO Copyright
+ Treaty adopted on December 20, 1996, and/or similar international
+ agreements.
+
+ e. Exceptions and Limitations means fair use, fair dealing, and/or
+ any other exception or limitation to Copyright and Similar Rights
+ that applies to Your use of the Licensed Material.
+
+ f. Licensed Material means the artistic or literary work, database,
+ or other material to which the Licensor applied this Public
+ License.
+
+ g. Licensed Rights means the rights granted to You subject to the
+ terms and conditions of this Public License, which are limited to
+ all Copyright and Similar Rights that apply to Your use of the
+ Licensed Material and that the Licensor has authority to license.
+
+ h. Licensor means the individual(s) or entity(ies) granting rights
+ under this Public License.
+
+ i. Share means to provide material to the public by any means or
+ process that requires permission under the Licensed Rights, such
+ as reproduction, public display, public performance, distribution,
+ dissemination, communication, or importation, and to make material
+ available to the public including in ways that members of the
+ public may access the material from a place and at a time
+ individually chosen by them.
+
+ j. Sui Generis Database Rights means rights other than copyright
+ resulting from Directive 96/9/EC of the European Parliament and of
+ the Council of 11 March 1996 on the legal protection of databases,
+ as amended and/or succeeded, as well as other essentially
+ equivalent rights anywhere in the world.
+
+ k. You means the individual or entity exercising the Licensed Rights
+ under this Public License. Your has a corresponding meaning.
+
+
+Section 2 -- Scope.
+
+ a. License grant.
+
+ 1. Subject to the terms and conditions of this Public License,
+ the Licensor hereby grants You a worldwide, royalty-free,
+ non-sublicensable, non-exclusive, irrevocable license to
+ exercise the Licensed Rights in the Licensed Material to:
+
+ a. reproduce and Share the Licensed Material, in whole or
+ in part; and
+
+ b. produce, reproduce, and Share Adapted Material.
+
+ 2. Exceptions and Limitations. For the avoidance of doubt, where
+ Exceptions and Limitations apply to Your use, this Public
+ License does not apply, and You do not need to comply with
+ its terms and conditions.
+
+ 3. Term. The term of this Public License is specified in Section
+ 6(a).
+
+ 4. Media and formats; technical modifications allowed. The
+ Licensor authorizes You to exercise the Licensed Rights in
+ all media and formats whether now known or hereafter created,
+ and to make technical modifications necessary to do so. The
+ Licensor waives and/or agrees not to assert any right or
+ authority to forbid You from making technical modifications
+ necessary to exercise the Licensed Rights, including
+ technical modifications necessary to circumvent Effective
+ Technological Measures. For purposes of this Public License,
+ simply making modifications authorized by this Section 2(a)
+ (4) never produces Adapted Material.
+
+ 5. Downstream recipients.
+
+ a. Offer from the Licensor -- Licensed Material. Every
+ recipient of the Licensed Material automatically
+ receives an offer from the Licensor to exercise the
+ Licensed Rights under the terms and conditions of this
+ Public License.
+
+ b. No downstream restrictions. You may not offer or impose
+ any additional or different terms or conditions on, or
+ apply any Effective Technological Measures to, the
+ Licensed Material if doing so restricts exercise of the
+ Licensed Rights by any recipient of the Licensed
+ Material.
+
+ 6. No endorsement. Nothing in this Public License constitutes or
+ may be construed as permission to assert or imply that You
+ are, or that Your use of the Licensed Material is, connected
+ with, or sponsored, endorsed, or granted official status by,
+ the Licensor or others designated to receive attribution as
+ provided in Section 3(a)(1)(A)(i).
+
+ b. Other rights.
+
+ 1. Moral rights, such as the right of integrity, are not
+ licensed under this Public License, nor are publicity,
+ privacy, and/or other similar personality rights; however, to
+ the extent possible, the Licensor waives and/or agrees not to
+ assert any such rights held by the Licensor to the limited
+ extent necessary to allow You to exercise the Licensed
+ Rights, but not otherwise.
+
+ 2. Patent and trademark rights are not licensed under this
+ Public License.
+
+ 3. To the extent possible, the Licensor waives any right to
+ collect royalties from You for the exercise of the Licensed
+ Rights, whether directly or through a collecting society
+ under any voluntary or waivable statutory or compulsory
+ licensing scheme. In all other cases the Licensor expressly
+ reserves any right to collect such royalties.
+
+
+Section 3 -- License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the
+following conditions.
+
+ a. Attribution.
+
+ 1. If You Share the Licensed Material (including in modified
+ form), You must:
+
+ a. retain the following if it is supplied by the Licensor
+ with the Licensed Material:
+
+ i. identification of the creator(s) of the Licensed
+ Material and any others designated to receive
+ attribution, in any reasonable manner requested by
+ the Licensor (including by pseudonym if
+ designated);
+
+ ii. a copyright notice;
+
+ iii. a notice that refers to this Public License;
+
+ iv. a notice that refers to the disclaimer of
+ warranties;
+
+ v. a URI or hyperlink to the Licensed Material to the
+ extent reasonably practicable;
+
+ b. indicate if You modified the Licensed Material and
+ retain an indication of any previous modifications; and
+
+ c. indicate the Licensed Material is licensed under this
+ Public License, and include the text of, or the URI or
+ hyperlink to, this Public License.
+
+ 2. You may satisfy the conditions in Section 3(a)(1) in any
+ reasonable manner based on the medium, means, and context in
+ which You Share the Licensed Material. For example, it may be
+ reasonable to satisfy the conditions by providing a URI or
+ hyperlink to a resource that includes the required
+ information.
+
+ 3. If requested by the Licensor, You must remove any of the
+ information required by Section 3(a)(1)(A) to the extent
+ reasonably practicable.
+
+ 4. If You Share Adapted Material You produce, the Adapter's
+ License You apply must not prevent recipients of the Adapted
+ Material from complying with this Public License.
+
+
+Section 4 -- Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that
+apply to Your use of the Licensed Material:
+
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right
+ to extract, reuse, reproduce, and Share all or a substantial
+ portion of the contents of the database;
+
+ b. if You include all or a substantial portion of the database
+ contents in a database in which You have Sui Generis Database
+ Rights, then the database in which You have Sui Generis Database
+ Rights (but not its individual contents) is Adapted Material; and
+
+ c. You must comply with the conditions in Section 3(a) if You Share
+ all or a substantial portion of the contents of the database.
+
+For the avoidance of doubt, this Section 4 supplements and does not
+replace Your obligations under this Public License where the Licensed
+Rights include other Copyright and Similar Rights.
+
+
+Section 5 -- Disclaimer of Warranties and Limitation of Liability.
+
+ a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
+ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
+ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
+ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
+ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
+ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
+ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
+ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
+ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
+
+ b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
+ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
+ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
+ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
+ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
+ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
+ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
+
+ c. The disclaimer of warranties and limitation of liability provided
+ above shall be interpreted in a manner that, to the extent
+ possible, most closely approximates an absolute disclaimer and
+ waiver of all liability.
+
+
+Section 6 -- Term and Termination.
+
+ a. This Public License applies for the term of the Copyright and
+ Similar Rights licensed here. However, if You fail to comply with
+ this Public License, then Your rights under this Public License
+ terminate automatically.
+
+ b. Where Your right to use the Licensed Material has terminated under
+ Section 6(a), it reinstates:
+
+ 1. automatically as of the date the violation is cured, provided
+ it is cured within 30 days of Your discovery of the
+ violation; or
+
+ 2. upon express reinstatement by the Licensor.
+
+ For the avoidance of doubt, this Section 6(b) does not affect any
+ right the Licensor may have to seek remedies for Your violations
+ of this Public License.
+
+ c. For the avoidance of doubt, the Licensor may also offer the
+ Licensed Material under separate terms or conditions or stop
+ distributing the Licensed Material at any time; however, doing so
+ will not terminate this Public License.
+
+ d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
+ License.
+
+
+Section 7 -- Other Terms and Conditions.
+
+ a. The Licensor shall not be bound by any additional or different
+ terms or conditions communicated by You unless expressly agreed.
+
+ b. Any arrangements, understandings, or agreements regarding the
+ Licensed Material not stated herein are separate from and
+ independent of the terms and conditions of this Public License.
+
+
+Section 8 -- Interpretation.
+
+ a. For the avoidance of doubt, this Public License does not, and
+ shall not be interpreted to, reduce, limit, restrict, or impose
+ conditions on any use of the Licensed Material that could lawfully
+ be made without permission under this Public License.
+
+ b. To the extent possible, if any provision of this Public License is
+ deemed unenforceable, it shall be automatically reformed to the
+ minimum extent necessary to make it enforceable. If the provision
+ cannot be reformed, it shall be severed from this Public License
+ without affecting the enforceability of the remaining terms and
+ conditions.
+
+ c. No term or condition of this Public License will be waived and no
+ failure to comply consented to unless expressly agreed to by the
+ Licensor.
+
+ d. Nothing in this Public License constitutes or may be interpreted
+ as a limitation upon, or waiver of, any privileges and immunities
+ that apply to the Licensor or You, including from the legal
+ processes of any jurisdiction or authority.
+
+
+=======================================================================
+
+Creative Commons is not a party to its public licenses.
+Notwithstanding, Creative Commons may elect to apply one of its public
+licenses to material it publishes and in those instances will be
+considered the "Licensor." Except for the limited purpose of indicating
+that material is shared under a Creative Commons public license or as
+otherwise permitted by the Creative Commons policies published at
+creativecommons.org/policies, Creative Commons does not authorize the
+use of the trademark "Creative Commons" or any other trademark or logo
+of Creative Commons without its prior written consent including,
+without limitation, in connection with any unauthorized modifications
+to any of its public licenses or any other arrangements,
+understandings, or agreements concerning use of licensed material. For
+the avoidance of doubt, this paragraph does not form part of the public
+licenses.
+
+Creative Commons may be contacted at creativecommons.org.
diff --git a/js/twemoji/README.md b/js/twemoji/README.md
new file mode 100644
index 00000000..3840800f
--- /dev/null
+++ b/js/twemoji/README.md
@@ -0,0 +1,288 @@
+# Twitter Emoji (Twemoji) [](https://travis-ci.org/twitter/twemoji)
+
+A simple library that provides standard Unicode [emoji](http://en.wikipedia.org/wiki/Emoji) support across all platforms.
+
+## CDN Support
+
+The folks over at [MaxCDN](https://www.maxcdn.com) graciously provide CDN support.
+
+Just use the following in the `` tag of your HTML document(s):
+
+```html
+
+```
+
+## API
+
+Following all methods exposed through the `twemoji` namespace.
+
+### twemoji.parse( ... )
+
+This is the main parsing utility and has 3 overloads per each parsing type.
+
+There are mainly two kind of parsing: [string parsing](https://github.com/twitter/twemoji#string-parsing) and [DOM parsing](https://github.com/twitter/twemoji#dom-parsing).
+
+Each of them accept a callback to generate each image source or an options object with parsing info.
+
+Here is a walk through all parsing possibilities:
+
+##### string parsing
+Given a generic string, it will replace all emoji with an `` tag.
+
+While this can be used to inject via `innerHTML` emoji image tags, please note that this method does not sanitize the string or prevent malicious code from being executed. As an example, if the text contains a `');
+ }
+ }
+
+ //if (!(($post['op'] && $_POST['post'] == $config['button_newtopic']) ||
+ //(!$post['op'] && $_POST['post'] == $config['button_reply'])))
//error($config['error']['bot']);
// Check the referrer
if ($config['referer_match'] !== false &&
- (!isset($_SERVER['HTTP_REFERER']) || !preg_match($config['referer_match'], rawurldecode($_SERVER['HTTP_REFERER']))))
+ (!isset($_SERVER['HTTP_REFERER']) || !preg_match($config['referer_match'], rawurldecode($_SERVER['HTTP_REFERER'])))) {
error($config['error']['referer']);
-
+ }
+
checkDNSBL();
// Check if banned
@@ -378,11 +394,19 @@ elseif (isset($_POST['post'])) {
$post['has_file'] = (!isset($post['embed']) && (($post['op'] && !isset($post['no_longer_require_an_image_for_op']) && $config['force_image_op']) || !empty($_FILES['file']['name'])));
if (!($post['has_file'] || isset($post['embed'])) || (($post['op'] && $config['force_body_op']) || (!$post['op'] && $config['force_body']))) {
- $stripped_whitespace = preg_replace('/[\s]/u', '', $post['body']);
+ // http://stackoverflow.com/a/4167053
+ $stripped_whitespace = preg_replace('/^[\pZ\pC]+|[\pZ\pC]+$/u', '', $post['body']);
if ($stripped_whitespace == '') {
error($config['error']['tooshort_body']);
}
}
+
+ if ($config['force_subject_op'] && $post['op']) {
+ $stripped_whitespace = preg_replace('/^[\pZ\pC]+|[\pZ\pC]+$/u', '', $post['subject']);
+ if ($stripped_whitespace == '') {
+ error(_('It is required to enter a subject when starting a new thread on this board.'));
+ }
+ }
if (!$post['op']) {
// Check if thread is locked
@@ -507,6 +531,8 @@ elseif (isset($_POST['post'])) {
error(sprintf($config['error']['toolong'], 'subject'));
if (!$mod && mb_strlen($post['body']) > $config['max_body'])
error($config['error']['toolong_body']);
+ if (mb_strlen($post['body']) < $config['min_body'] && $post['op'])
+ error(_(sprintf('OP must be at least %d chars on this board.', $config['min_body'])));
if (mb_strlen($post['password']) > 20)
error(sprintf($config['error']['toolong'], 'password'));
@@ -572,7 +598,7 @@ elseif (isset($_POST['post'])) {
}
}
- $post['tracked_cites'] = markup($post['body'], true);
+ $post['tracked_cites'] = markup($post['body'], true, $post['op']);
@@ -836,8 +862,10 @@ elseif (isset($_POST['post'])) {
bumpThread($post['thread']);
}
- buildThread($post['op'] ? $id : $post['thread']);
-
+ $pid = $post['op'] ? $id : $post['thread'];
+
+ buildThread($pid);
+
if ($config['try_smarter'] && $post['op'])
$build_pages = range(1, $config['max_pages']);
diff --git a/stylesheets/style.css b/stylesheets/style.css
index bebd4813..0dc481a9 100644
--- a/stylesheets/style.css
+++ b/stylesheets/style.css
@@ -257,7 +257,7 @@ p.intro span.capcode,p.intro a.capcode,p.intro a.nametag {
}
p.intro a {
- margin-left: 8px;
+ margin-left: 5px;
}
div.delete {
@@ -819,7 +819,7 @@ pre {
margin-top: 1em;
}
-.new-threads {
+.new-threads, .board-settings {
text-align: center;
}
@@ -858,7 +858,7 @@ pre {
#options_div {
width: 600px;
- height: 300px;
+ height: 320px;
}
#alert_div {
@@ -925,6 +925,7 @@ pre {
right: 0px;
text-align: left;
font-size: 12px;
+ overflow-y: auto;
}
.options_tab h2 {
@@ -939,10 +940,6 @@ pre {
margin-top: 0px;
}
-.mentioned {
- word-wrap: break-word;
-}
-
.poster_id {
cursor: pointer;
}
diff --git a/templates/8chan/boards-tags.html b/templates/8chan/boards-tags.html
new file mode 100644
index 00000000..7ac4bcc3
--- /dev/null
+++ b/templates/8chan/boards-tags.html
@@ -0,0 +1,157 @@
+
+
+
{% trans %}There are currently {{n_boards}} boards + {{hidden_boards_total}} unindexed boards = {{t_boards}} total boards. Site-wide, {{total_posts_hour}} posts have been made in the last hour, with {{total_posts}} being made on all active boards since October 23, 2013.{% endtrans %}
+
+
+ Tags:
+ {% for tag, pop in tags %}
+ {% if pop > 1000 %}
+ {{ tag }}
+ {% elseif pop > 500 %}
+ {{ tag }}
+ {% elseif pop > 100 %}
+ {{ tag }}
+ {% else %}
+ {{ tag }}
+ {% endif %}
+ {% endfor %}
+