You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
parttimejob/node_modules/markdown-it-emoji/dist/markdown-it-emoji.js

1712 lines
45 KiB

4 weeks ago
/*! markdown-it-emoji 1.4.0 https://github.com//markdown-it/markdown-it-emoji @license MIT */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.markdownitEmoji = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
module.exports={
"100": "💯",
"1234": "🔢",
"grinning": "😀",
"smiley": "😃",
"smile": "😄",
"grin": "😁",
"laughing": "😆",
"satisfied": "😆",
"sweat_smile": "😅",
"joy": "😂",
"rofl": "🤣",
"relaxed": "☺️",
"blush": "😊",
"innocent": "😇",
"slightly_smiling_face": "🙂",
"upside_down_face": "🙃",
"wink": "😉",
"relieved": "😌",
"heart_eyes": "😍",
"kissing_heart": "😘",
"kissing": "😗",
"kissing_smiling_eyes": "😙",
"kissing_closed_eyes": "😚",
"yum": "😋",
"stuck_out_tongue_winking_eye": "😜",
"stuck_out_tongue_closed_eyes": "😝",
"stuck_out_tongue": "😛",
"money_mouth_face": "🤑",
"hugs": "🤗",
"nerd_face": "🤓",
"sunglasses": "😎",
"clown_face": "🤡",
"cowboy_hat_face": "🤠",
"smirk": "😏",
"unamused": "😒",
"disappointed": "😞",
"pensive": "😔",
"worried": "😟",
"confused": "😕",
"slightly_frowning_face": "🙁",
"frowning_face": "☹️",
"persevere": "😣",
"confounded": "😖",
"tired_face": "😫",
"weary": "😩",
"triumph": "😤",
"angry": "😠",
"rage": "😡",
"pout": "😡",
"no_mouth": "😶",
"neutral_face": "😐",
"expressionless": "😑",
"hushed": "😯",
"frowning": "😦",
"anguished": "😧",
"open_mouth": "😮",
"astonished": "😲",
"dizzy_face": "😵",
"flushed": "😳",
"scream": "😱",
"fearful": "😨",
"cold_sweat": "😰",
"cry": "😢",
"disappointed_relieved": "😥",
"drooling_face": "🤤",
"sob": "😭",
"sweat": "😓",
"sleepy": "😪",
"sleeping": "😴",
"roll_eyes": "🙄",
"thinking": "🤔",
"lying_face": "🤥",
"grimacing": "😬",
"zipper_mouth_face": "🤐",
"nauseated_face": "🤢",
"sneezing_face": "🤧",
"mask": "😷",
"face_with_thermometer": "🤒",
"face_with_head_bandage": "🤕",
"smiling_imp": "😈",
"imp": "👿",
"japanese_ogre": "👹",
"japanese_goblin": "👺",
"hankey": "💩",
"poop": "💩",
"shit": "💩",
"ghost": "👻",
"skull": "💀",
"skull_and_crossbones": "☠️",
"alien": "👽",
"space_invader": "👾",
"robot": "🤖",
"jack_o_lantern": "🎃",
"smiley_cat": "😺",
"smile_cat": "😸",
"joy_cat": "😹",
"heart_eyes_cat": "😻",
"smirk_cat": "😼",
"kissing_cat": "😽",
"scream_cat": "🙀",
"crying_cat_face": "😿",
"pouting_cat": "😾",
"open_hands": "👐",
"raised_hands": "🙌",
"clap": "👏",
"pray": "🙏",
"handshake": "🤝",
"+1": "👍",
"thumbsup": "👍",
"-1": "👎",
"thumbsdown": "👎",
"fist_oncoming": "👊",
"facepunch": "👊",
"punch": "👊",
"fist_raised": "✊",
"fist": "✊",
"fist_left": "🤛",
"fist_right": "🤜",
"crossed_fingers": "🤞",
"v": "✌️",
"metal": "🤘",
"ok_hand": "👌",
"point_left": "👈",
"point_right": "👉",
"point_up_2": "👆",
"point_down": "👇",
"point_up": "☝️",
"hand": "✋",
"raised_hand": "✋",
"raised_back_of_hand": "🤚",
"raised_hand_with_fingers_splayed": "🖐",
"vulcan_salute": "🖖",
"wave": "👋",
"call_me_hand": "🤙",
"muscle": "💪",
"middle_finger": "🖕",
"fu": "🖕",
"writing_hand": "✍️",
"selfie": "🤳",
"nail_care": "💅",
"ring": "💍",
"lipstick": "💄",
"kiss": "💋",
"lips": "👄",
"tongue": "👅",
"ear": "👂",
"nose": "👃",
"footprints": "👣",
"eye": "👁",
"eyes": "👀",
"speaking_head": "🗣",
"bust_in_silhouette": "👤",
"busts_in_silhouette": "👥",
"baby": "👶",
"boy": "👦",
"girl": "👧",
"man": "👨",
"woman": "👩",
"blonde_woman": "👱‍♀",
"blonde_man": "👱",
"person_with_blond_hair": "👱",
"older_man": "👴",
"older_woman": "👵",
"man_with_gua_pi_mao": "👲",
"woman_with_turban": "👳‍♀",
"man_with_turban": "👳",
"policewoman": "👮‍♀",
"policeman": "👮",
"cop": "👮",
"construction_worker_woman": "👷‍♀",
"construction_worker_man": "👷",
"construction_worker": "👷",
"guardswoman": "💂‍♀",
"guardsman": "💂",
"female_detective": "🕵️‍♀️",
"male_detective": "🕵",
"detective": "🕵",
"woman_health_worker": "👩‍⚕",
"man_health_worker": "👨‍⚕",
"woman_farmer": "👩‍🌾",
"man_farmer": "👨‍🌾",
"woman_cook": "👩‍🍳",
"man_cook": "👨‍🍳",
"woman_student": "👩‍🎓",
"man_student": "👨‍🎓",
"woman_singer": "👩‍🎤",
"man_singer": "👨‍🎤",
"woman_teacher": "👩‍🏫",
"man_teacher": "👨‍🏫",
"woman_factory_worker": "👩‍🏭",
"man_factory_worker": "👨‍🏭",
"woman_technologist": "👩‍💻",
"man_technologist": "👨‍💻",
"woman_office_worker": "👩‍💼",
"man_office_worker": "👨‍💼",
"woman_mechanic": "👩‍🔧",
"man_mechanic": "👨‍🔧",
"woman_scientist": "👩‍🔬",
"man_scientist": "👨‍🔬",
"woman_artist": "👩‍🎨",
"man_artist": "👨‍🎨",
"woman_firefighter": "👩‍🚒",
"man_firefighter": "👨‍🚒",
"woman_pilot": "👩‍✈",
"man_pilot": "👨‍✈",
"woman_astronaut": "👩‍🚀",
"man_astronaut": "👨‍🚀",
"woman_judge": "👩‍⚖",
"man_judge": "👨‍⚖",
"mrs_claus": "🤶",
"santa": "🎅",
"princess": "👸",
"prince": "🤴",
"bride_with_veil": "👰",
"man_in_tuxedo": "🤵",
"angel": "👼",
"pregnant_woman": "🤰",
"bowing_woman": "🙇‍♀",
"bowing_man": "🙇",
"bow": "🙇",
"tipping_hand_woman": "💁",
"information_desk_person": "💁",
"sassy_woman": "💁",
"tipping_hand_man": "💁‍♂",
"sassy_man": "💁‍♂",
"no_good_woman": "🙅",
"no_good": "🙅",
"ng_woman": "🙅",
"no_good_man": "🙅‍♂",
"ng_man": "🙅‍♂",
"ok_woman": "🙆",
"ok_man": "🙆‍♂",
"raising_hand_woman": "🙋",
"raising_hand": "🙋",
"raising_hand_man": "🙋‍♂",
"woman_facepalming": "🤦‍♀",
"man_facepalming": "🤦‍♂",
"woman_shrugging": "🤷‍♀",
"man_shrugging": "🤷‍♂",
"pouting_woman": "🙎",
"person_with_pouting_face": "🙎",
"pouting_man": "🙎‍♂",
"frowning_woman": "🙍",
"person_frowning": "🙍",
"frowning_man": "🙍‍♂",
"haircut_woman": "💇",
"haircut": "💇",
"haircut_man": "💇‍♂",
"massage_woman": "💆",
"massage": "💆",
"massage_man": "💆‍♂",
"business_suit_levitating": "🕴",
"dancer": "💃",
"man_dancing": "🕺",
"dancing_women": "👯",
"dancers": "👯",
"dancing_men": "👯‍♂",
"walking_woman": "🚶‍♀",
"walking_man": "🚶",
"walking": "🚶",
"running_woman": "🏃‍♀",
"running_man": "🏃",
"runner": "🏃",
"running": "🏃",
"couple": "👫",
"two_women_holding_hands": "👭",
"two_men_holding_hands": "👬",
"couple_with_heart_woman_man": "💑",
"couple_with_heart": "💑",
"couple_with_heart_woman_woman": "👩‍❤️‍👩",
"couple_with_heart_man_man": "👨‍❤️‍👨",
"couplekiss_man_woman": "💏",
"couplekiss_woman_woman": "👩‍❤️‍💋‍👩",
"couplekiss_man_man": "👨‍❤️‍💋‍👨",
"family_man_woman_boy": "👪",
"family": "👪",
"family_man_woman_girl": "👨‍👩‍👧",
"family_man_woman_girl_boy": "👨‍👩‍👧‍👦",
"family_man_woman_boy_boy": "👨‍👩‍👦‍👦",
"family_man_woman_girl_girl": "👨‍👩‍👧‍👧",
"family_woman_woman_boy": "👩‍👩‍👦",
"family_woman_woman_girl": "👩‍👩‍👧",
"family_woman_woman_girl_boy": "👩‍👩‍👧‍👦",
"family_woman_woman_boy_boy": "👩‍👩‍👦‍👦",
"family_woman_woman_girl_girl": "👩‍👩‍👧‍👧",
"family_man_man_boy": "👨‍👨‍👦",
"family_man_man_girl": "👨‍👨‍👧",
"family_man_man_girl_boy": "👨‍👨‍👧‍👦",
"family_man_man_boy_boy": "👨‍👨‍👦‍👦",
"family_man_man_girl_girl": "👨‍👨‍👧‍👧",
"family_woman_boy": "👩‍👦",
"family_woman_girl": "👩‍👧",
"family_woman_girl_boy": "👩‍👧‍👦",
"family_woman_boy_boy": "👩‍👦‍👦",
"family_woman_girl_girl": "👩‍👧‍👧",
"family_man_boy": "👨‍👦",
"family_man_girl": "👨‍👧",
"family_man_girl_boy": "👨‍👧‍👦",
"family_man_boy_boy": "👨‍👦‍👦",
"family_man_girl_girl": "👨‍👧‍👧",
"womans_clothes": "👚",
"shirt": "👕",
"tshirt": "👕",
"jeans": "👖",
"necktie": "👔",
"dress": "👗",
"bikini": "👙",
"kimono": "👘",
"high_heel": "👠",
"sandal": "👡",
"boot": "👢",
"mans_shoe": "👞",
"shoe": "👞",
"athletic_shoe": "👟",
"womans_hat": "👒",
"tophat": "🎩",
"mortar_board": "🎓",
"crown": "👑",
"rescue_worker_helmet": "⛑",
"school_satchel": "🎒",
"pouch": "👝",
"purse": "👛",
"handbag": "👜",
"briefcase": "💼",
"eyeglasses": "👓",
"dark_sunglasses": "🕶",
"closed_umbrella": "🌂",
"open_umbrella": "☂️",
"dog": "🐶",
"cat": "🐱",
"mouse": "🐭",
"hamster": "🐹",
"rabbit": "🐰",
"fox_face": "🦊",
"bear": "🐻",
"panda_face": "🐼",
"koala": "🐨",
"tiger": "🐯",
"lion": "🦁",
"cow": "🐮",
"pig": "🐷",
"pig_nose": "🐽",
"frog": "🐸",
"monkey_face": "🐵",
"see_no_evil": "🙈",
"hear_no_evil": "🙉",
"speak_no_evil": "🙊",
"monkey": "🐒",
"chicken": "🐔",
"penguin": "🐧",
"bird": "🐦",
"baby_chick": "🐤",
"hatching_chick": "🐣",
"hatched_chick": "🐥",
"duck": "🦆",
"eagle": "🦅",
"owl": "🦉",
"bat": "🦇",
"wolf": "🐺",
"boar": "🐗",
"horse": "🐴",
"unicorn": "🦄",
"bee": "🐝",
"honeybee": "🐝",
"bug": "🐛",
"butterfly": "🦋",
"snail": "🐌",
"shell": "🐚",
"beetle": "🐞",
"ant": "🐜",
"spider": "🕷",
"spider_web": "🕸",
"turtle": "🐢",
"snake": "🐍",
"lizard": "🦎",
"scorpion": "🦂",
"crab": "🦀",
"squid": "🦑",
"octopus": "🐙",
"shrimp": "🦐",
"tropical_fish": "🐠",
"fish": "🐟",
"blowfish": "🐡",
"dolphin": "🐬",
"flipper": "🐬",
"shark": "🦈",
"whale": "🐳",
"whale2": "🐋",
"crocodile": "🐊",
"leopard": "🐆",
"tiger2": "🐅",
"water_buffalo": "🐃",
"ox": "🐂",
"cow2": "🐄",
"deer": "🦌",
"dromedary_camel": "🐪",
"camel": "🐫",
"elephant": "🐘",
"rhinoceros": "🦏",
"gorilla": "🦍",
"racehorse": "🐎",
"pig2": "🐖",
"goat": "🐐",
"ram": "🐏",
"sheep": "🐑",
"dog2": "🐕",
"poodle": "🐩",
"cat2": "🐈",
"rooster": "🐓",
"turkey": "🦃",
"dove": "🕊",
"rabbit2": "🐇",
"mouse2": "🐁",
"rat": "🐀",
"chipmunk": "🐿",
"feet": "🐾",
"paw_prints": "🐾",
"dragon": "🐉",
"dragon_face": "🐲",
"cactus": "🌵",
"christmas_tree": "🎄",
"evergreen_tree": "🌲",
"deciduous_tree": "🌳",
"palm_tree": "🌴",
"seedling": "🌱",
"herb": "🌿",
"shamrock": "☘️",
"four_leaf_clover": "🍀",
"bamboo": "🎍",
"tanabata_tree": "🎋",
"leaves": "🍃",
"fallen_leaf": "🍂",
"maple_leaf": "🍁",
"mushroom": "🍄",
"ear_of_rice": "🌾",
"bouquet": "💐",
"tulip": "🌷",
"rose": "🌹",
"wilted_flower": "🥀",
"sunflower": "🌻",
"blossom": "🌼",
"cherry_blossom": "🌸",
"hibiscus": "🌺",
"earth_americas": "🌎",
"earth_africa": "🌍",
"earth_asia": "🌏",
"full_moon": "🌕",
"waning_gibbous_moon": "🌖",
"last_quarter_moon": "🌗",
"waning_crescent_moon": "🌘",
"new_moon": "🌑",
"waxing_crescent_moon": "🌒",
"first_quarter_moon": "🌓",
"moon": "🌔",
"waxing_gibbous_moon": "🌔",
"new_moon_with_face": "🌚",
"full_moon_with_face": "🌝",
"sun_with_face": "🌞",
"first_quarter_moon_with_face": "🌛",
"last_quarter_moon_with_face": "🌜",
"crescent_moon": "🌙",
"dizzy": "💫",
"star": "⭐️",
"star2": "🌟",
"sparkles": "✨",
"zap": "⚡️",
"fire": "🔥",
"boom": "💥",
"collision": "💥",
"comet": "☄",
"sunny": "☀️",
"sun_behind_small_cloud": "🌤",
"partly_sunny": "⛅️",
"sun_behind_large_cloud": "🌥",
"sun_behind_rain_cloud": "🌦",
"rainbow": "🌈",
"cloud": "☁️",
"cloud_with_rain": "🌧",
"cloud_with_lightning_and_rain": "⛈",
"cloud_with_lightning": "🌩",
"cloud_with_snow": "🌨",
"snowman_with_snow": "☃️",
"snowman": "⛄️",
"snowflake": "❄️",
"wind_face": "🌬",
"dash": "💨",
"tornado": "🌪",
"fog": "🌫",
"ocean": "🌊",
"droplet": "💧",
"sweat_drops": "💦",
"umbrella": "☔️",
"green_apple": "🍏",
"apple": "🍎",
"pear": "🍐",
"tangerine": "🍊",
"orange": "🍊",
"mandarin": "🍊",
"lemon": "🍋",
"banana": "🍌",
"watermelon": "🍉",
"grapes": "🍇",
"strawberry": "🍓",
"melon": "🍈",
"cherries": "🍒",
"peach": "🍑",
"pineapple": "🍍",
"kiwi_fruit": "🥝",
"avocado": "🥑",
"tomato": "🍅",
"eggplant": "🍆",
"cucumber": "🥒",
"carrot": "🥕",
"corn": "🌽",
"hot_pepper": "🌶",
"potato": "🥔",
"sweet_potato": "🍠",
"chestnut": "🌰",
"peanuts": "🥜",
"honey_pot": "🍯",
"croissant": "🥐",
"bread": "🍞",
"baguette_bread": "🥖",
"cheese": "🧀",
"egg": "🥚",
"fried_egg": "🍳",
"bacon": "🥓",
"pancakes": "🥞",
"fried_shrimp": "🍤",
"poultry_leg": "🍗",
"meat_on_bone": "🍖",
"pizza": "🍕",
"hotdog": "🌭",
"hamburger": "🍔",
"fries": "🍟",
"stuffed_flatbread": "🥙",
"taco": "🌮",
"burrito": "🌯",
"green_salad": "🥗",
"shallow_pan_of_food": "🥘",
"spaghetti": "🍝",
"ramen": "🍜",
"stew": "🍲",
"fish_cake": "🍥",
"sushi": "🍣",
"bento": "🍱",
"curry": "🍛",
"rice": "🍚",
"rice_ball": "🍙",
"rice_cracker": "🍘",
"oden": "🍢",
"dango": "🍡",
"shaved_ice": "🍧",
"ice_cream": "🍨",
"icecream": "🍦",
"cake": "🍰",
"birthday": "🎂",
"custard": "🍮",
"lollipop": "🍭",
"candy": "🍬",
"chocolate_bar": "🍫",
"popcorn": "🍿",
"doughnut": "🍩",
"cookie": "🍪",
"milk_glass": "🥛",
"baby_bottle": "🍼",
"coffee": "☕️",
"tea": "🍵",
"sake": "🍶",
"beer": "🍺",
"beers": "🍻",
"clinking_glasses": "🥂",
"wine_glass": "🍷",
"tumbler_glass": "🥃",
"cocktail": "🍸",
"tropical_drink": "🍹",
"champagne": "🍾",
"spoon": "🥄",
"fork_and_knife": "🍴",
"plate_with_cutlery": "🍽",
"soccer": "⚽️",
"basketball": "🏀",
"football": "🏈",
"baseball": "⚾️",
"tennis": "🎾",
"volleyball": "🏐",
"rugby_football": "🏉",
"8ball": "🎱",
"ping_pong": "🏓",
"badminton": "🏸",
"goal_net": "🥅",
"ice_hockey": "🏒",
"field_hockey": "🏑",
"cricket": "🏏",
"golf": "⛳️",
"bow_and_arrow": "🏹",
"fishing_pole_and_fish": "🎣",
"boxing_glove": "🥊",
"martial_arts_uniform": "🥋",
"ice_skate": "⛸",
"ski": "🎿",
"skier": "⛷",
"snowboarder": "🏂",
"weight_lifting_woman": "🏋️‍♀️",
"weight_lifting_man": "🏋",
"person_fencing": "🤺",
"women_wrestling": "🤼‍♀",
"men_wrestling": "🤼‍♂",
"woman_cartwheeling": "🤸‍♀",
"man_cartwheeling": "🤸‍♂",
"basketball_woman": "⛹️‍♀️",
"basketball_man": "⛹",
"woman_playing_handball": "🤾‍♀",
"man_playing_handball": "🤾‍♂",
"golfing_woman": "🏌️‍♀️",
"golfing_man": "🏌",
"surfing_woman": "🏄‍♀",
"surfing_man": "🏄",
"surfer": "🏄",
"swimming_woman": "🏊‍♀",
"swimming_man": "🏊",
"swimmer": "🏊",
"woman_playing_water_polo": "🤽‍♀",
"man_playing_water_polo": "🤽‍♂",
"rowing_woman": "🚣‍♀",
"rowing_man": "🚣",
"rowboat": "🚣",
"horse_racing": "🏇",
"biking_woman": "🚴‍♀",
"biking_man": "🚴",
"bicyclist": "🚴",
"mountain_biking_woman": "🚵‍♀",
"mountain_biking_man": "🚵",
"mountain_bicyclist": "🚵",
"running_shirt_with_sash": "🎽",
"medal_sports": "🏅",
"medal_military": "🎖",
"1st_place_medal": "🥇",
"2nd_place_medal": "🥈",
"3rd_place_medal": "🥉",
"trophy": "🏆",
"rosette": "🏵",
"reminder_ribbon": "🎗",
"ticket": "🎫",
"tickets": "🎟",
"circus_tent": "🎪",
"woman_juggling": "🤹‍♀",
"man_juggling": "🤹‍♂",
"performing_arts": "🎭",
"art": "🎨",
"clapper": "🎬",
"microphone": "🎤",
"headphones": "🎧",
"musical_score": "🎼",
"musical_keyboard": "🎹",
"drum": "🥁",
"saxophone": "🎷",
"trumpet": "🎺",
"guitar": "🎸",
"violin": "🎻",
"game_die": "🎲",
"dart": "🎯",
"bowling": "🎳",
"video_game": "🎮",
"slot_machine": "🎰",
"car": "🚗",
"red_car": "🚗",
"taxi": "🚕",
"blue_car": "🚙",
"bus": "🚌",
"trolleybus": "🚎",
"racing_car": "🏎",
"police_car": "🚓",
"ambulance": "🚑",
"fire_engine": "🚒",
"minibus": "🚐",
"truck": "🚚",
"articulated_lorry": "🚛",
"tractor": "🚜",
"kick_scooter": "🛴",
"bike": "🚲",
"motor_scooter": "🛵",
"motorcycle": "🏍",
"rotating_light": "🚨",
"oncoming_police_car": "🚔",
"oncoming_bus": "🚍",
"oncoming_automobile": "🚘",
"oncoming_taxi": "🚖",
"aerial_tramway": "🚡",
"mountain_cableway": "🚠",
"suspension_railway": "🚟",
"railway_car": "🚃",
"train": "🚋",
"mountain_railway": "🚞",
"monorail": "🚝",
"bullettrain_side": "🚄",
"bullettrain_front": "🚅",
"light_rail": "🚈",
"steam_locomotive": "🚂",
"train2": "🚆",
"metro": "🚇",
"tram": "🚊",
"station": "🚉",
"helicopter": "🚁",
"small_airplane": "🛩",
"airplane": "✈️",
"flight_departure": "🛫",
"flight_arrival": "🛬",
"rocket": "🚀",
"artificial_satellite": "🛰",
"seat": "💺",
"canoe": "🛶",
"boat": "⛵️",
"sailboat": "⛵️",
"motor_boat": "🛥",
"speedboat": "🚤",
"passenger_ship": "🛳",
"ferry": "⛴",
"ship": "🚢",
"anchor": "⚓️",
"construction": "🚧",
"fuelpump": "⛽️",
"busstop": "🚏",
"vertical_traffic_light": "🚦",
"traffic_light": "🚥",
"world_map": "🗺",
"moyai": "🗿",
"statue_of_liberty": "🗽",
"fountain": "⛲️",
"tokyo_tower": "🗼",
"european_castle": "🏰",
"japanese_castle": "🏯",
"stadium": "🏟",
"ferris_wheel": "🎡",
"roller_coaster": "🎢",
"carousel_horse": "🎠",
"parasol_on_ground": "⛱",
"beach_umbrella": "🏖",
"desert_island": "🏝",
"mountain": "⛰",
"mountain_snow": "🏔",
"mount_fuji": "🗻",
"volcano": "🌋",
"desert": "🏜",
"camping": "🏕",
"tent": "⛺️",
"railway_track": "🛤",
"motorway": "🛣",
"building_construction": "🏗",
"factory": "🏭",
"house": "🏠",
"house_with_garden": "🏡",
"houses": "🏘",
"derelict_house": "🏚",
"office": "🏢",
"department_store": "🏬",
"post_office": "🏣",
"european_post_office": "🏤",
"hospital": "🏥",
"bank": "🏦",
"hotel": "🏨",
"convenience_store": "🏪",
"school": "🏫",
"love_hotel": "🏩",
"wedding": "💒",
"classical_building": "🏛",
"church": "⛪️",
"mosque": "🕌",
"synagogue": "🕍",
"kaaba": "🕋",
"shinto_shrine": "⛩",
"japan": "🗾",
"rice_scene": "🎑",
"national_park": "🏞",
"sunrise": "🌅",
"sunrise_over_mountains": "🌄",
"stars": "🌠",
"sparkler": "🎇",
"fireworks": "🎆",
"city_sunrise": "🌇",
"city_sunset": "🌆",
"cityscape": "🏙",
"night_with_stars": "🌃",
"milky_way": "🌌",
"bridge_at_night": "🌉",
"foggy": "🌁",
"watch": "⌚️",
"iphone": "📱",
"calling": "📲",
"computer": "💻",
"keyboard": "⌨️",
"desktop_computer": "🖥",
"printer": "🖨",
"computer_mouse": "🖱",
"trackball": "🖲",
"joystick": "🕹",
"clamp": "🗜",
"minidisc": "💽",
"floppy_disk": "💾",
"cd": "💿",
"dvd": "📀",
"vhs": "📼",
"camera": "📷",
"camera_flash": "📸",
"video_camera": "📹",
"movie_camera": "🎥",
"film_projector": "📽",
"film_strip": "🎞",
"telephone_receiver": "📞",
"phone": "☎️",
"telephone": "☎️",
"pager": "📟",
"fax": "📠",
"tv": "📺",
"radio": "📻",
"studio_microphone": "🎙",
"level_slider": "🎚",
"control_knobs": "🎛",
"stopwatch": "⏱",
"timer_clock": "⏲",
"alarm_clock": "⏰",
"mantelpiece_clock": "🕰",
"hourglass": "⌛️",
"hourglass_flowing_sand": "⏳",
"satellite": "📡",
"battery": "🔋",
"electric_plug": "🔌",
"bulb": "💡",
"flashlight": "🔦",
"candle": "🕯",
"wastebasket": "🗑",
"oil_drum": "🛢",
"money_with_wings": "💸",
"dollar": "💵",
"yen": "💴",
"euro": "💶",
"pound": "💷",
"moneybag": "💰",
"credit_card": "💳",
"gem": "💎",
"balance_scale": "⚖️",
"wrench": "🔧",
"hammer": "🔨",
"hammer_and_pick": "⚒",
"hammer_and_wrench": "🛠",
"pick": "⛏",
"nut_and_bolt": "🔩",
"gear": "⚙️",
"chains": "⛓",
"gun": "🔫",
"bomb": "💣",
"hocho": "🔪",
"knife": "🔪",
"dagger": "🗡",
"crossed_swords": "⚔️",
"shield": "🛡",
"smoking": "🚬",
"coffin": "⚰️",
"funeral_urn": "⚱️",
"amphora": "🏺",
"crystal_ball": "🔮",
"prayer_beads": "📿",
"barber": "💈",
"alembic": "⚗️",
"telescope": "🔭",
"microscope": "🔬",
"hole": "🕳",
"pill": "💊",
"syringe": "💉",
"thermometer": "🌡",
"toilet": "🚽",
"potable_water": "🚰",
"shower": "🚿",
"bathtub": "🛁",
"bath": "🛀",
"bellhop_bell": "🛎",
"key": "🔑",
"old_key": "🗝",
"door": "🚪",
"couch_and_lamp": "🛋",
"bed": "🛏",
"sleeping_bed": "🛌",
"framed_picture": "🖼",
"shopping": "🛍",
"shopping_cart": "🛒",
"gift": "🎁",
"balloon": "🎈",
"flags": "🎏",
"ribbon": "🎀",
"confetti_ball": "🎊",
"tada": "🎉",
"dolls": "🎎",
"izakaya_lantern": "🏮",
"lantern": "🏮",
"wind_chime": "🎐",
"email": "✉️",
"envelope": "✉️",
"envelope_with_arrow": "📩",
"incoming_envelope": "📨",
"e-mail": "📧",
"love_letter": "💌",
"inbox_tray": "📥",
"outbox_tray": "📤",
"package": "📦",
"label": "🏷",
"mailbox_closed": "📪",
"mailbox": "📫",
"mailbox_with_mail": "📬",
"mailbox_with_no_mail": "📭",
"postbox": "📮",
"postal_horn": "📯",
"scroll": "📜",
"page_with_curl": "📃",
"page_facing_up": "📄",
"bookmark_tabs": "📑",
"bar_chart": "📊",
"chart_with_upwards_trend": "📈",
"chart_with_downwards_trend": "📉",
"spiral_notepad": "🗒",
"spiral_calendar": "🗓",
"calendar": "📆",
"date": "📅",
"card_index": "📇",
"card_file_box": "🗃",
"ballot_box": "🗳",
"file_cabinet": "🗄",
"clipboard": "📋",
"file_folder": "📁",
"open_file_folder": "📂",
"card_index_dividers": "🗂",
"newspaper_roll": "🗞",
"newspaper": "📰",
"notebook": "📓",
"notebook_with_decorative_cover": "📔",
"ledger": "📒",
"closed_book": "📕",
"green_book": "📗",
"blue_book": "📘",
"orange_book": "📙",
"books": "📚",
"book": "📖",
"open_book": "📖",
"bookmark": "🔖",
"link": "🔗",
"paperclip": "📎",
"paperclips": "🖇",
"triangular_ruler": "📐",
"straight_ruler": "📏",
"pushpin": "📌",
"round_pushpin": "📍",
"scissors": "✂️",
"pen": "🖊",
"fountain_pen": "🖋",
"black_nib": "✒️",
"paintbrush": "🖌",
"crayon": "🖍",
"memo": "📝",
"pencil": "📝",
"pencil2": "✏️",
"mag": "🔍",
"mag_right": "🔎",
"lock_with_ink_pen": "🔏",
"closed_lock_with_key": "🔐",
"lock": "🔒",
"unlock": "🔓",
"heart": "❤️",
"yellow_heart": "💛",
"green_heart": "💚",
"blue_heart": "💙",
"purple_heart": "💜",
"black_heart": "🖤",
"broken_heart": "💔",
"heavy_heart_exclamation": "❣️",
"two_hearts": "💕",
"revolving_hearts": "💞",
"heartbeat": "💓",
"heartpulse": "💗",
"sparkling_heart": "💖",
"cupid": "💘",
"gift_heart": "💝",
"heart_decoration": "💟",
"peace_symbol": "☮️",
"latin_cross": "✝️",
"star_and_crescent": "☪️",
"om": "🕉",
"wheel_of_dharma": "☸️",
"star_of_david": "✡️",
"six_pointed_star": "🔯",
"menorah": "🕎",
"yin_yang": "☯️",
"orthodox_cross": "☦️",
"place_of_worship": "🛐",
"ophiuchus": "⛎",
"aries": "♈️",
"taurus": "♉️",
"gemini": "♊️",
"cancer": "♋️",
"leo": "♌️",
"virgo": "♍️",
"libra": "♎️",
"scorpius": "♏️",
"sagittarius": "♐️",
"capricorn": "♑️",
"aquarius": "♒️",
"pisces": "♓️",
"id": "🆔",
"atom_symbol": "⚛️",
"accept": "🉑",
"radioactive": "☢️",
"biohazard": "☣️",
"mobile_phone_off": "📴",
"vibration_mode": "📳",
"eight_pointed_black_star": "✴️",
"vs": "🆚",
"white_flower": "💮",
"ideograph_advantage": "🉐",
"secret": "㊙️",
"congratulations": "㊗️",
"u6e80": "🈵",
"a": "🅰️",
"b": "🅱️",
"ab": "🆎",
"cl": "🆑",
"o2": "🅾️",
"sos": "🆘",
"x": "❌",
"o": "⭕️",
"stop_sign": "🛑",
"no_entry": "⛔️",
"name_badge": "📛",
"no_entry_sign": "🚫",
"anger": "💢",
"hotsprings": "♨️",
"no_pedestrians": "🚷",
"do_not_litter": "🚯",
"no_bicycles": "🚳",
"non-potable_water": "🚱",
"underage": "🔞",
"no_mobile_phones": "📵",
"no_smoking": "🚭",
"exclamation": "❗️",
"heavy_exclamation_mark": "❗️",
"grey_exclamation": "❕",
"question": "❓",
"grey_question": "❔",
"bangbang": "‼️",
"interrobang": "⁉️",
"low_brightness": "🔅",
"high_brightness": "🔆",
"part_alternation_mark": "〽️",
"warning": "⚠️",
"children_crossing": "🚸",
"trident": "🔱",
"fleur_de_lis": "⚜️",
"beginner": "🔰",
"recycle": "♻️",
"white_check_mark": "✅",
"chart": "💹",
"sparkle": "❇️",
"eight_spoked_asterisk": "✳️",
"negative_squared_cross_mark": "❎",
"globe_with_meridians": "🌐",
"diamond_shape_with_a_dot_inside": "💠",
"m": "Ⓜ️",
"cyclone": "🌀",
"zzz": "💤",
"atm": "🏧",
"wc": "🚾",
"wheelchair": "♿️",
"parking": "🅿️",
"sa": "🈂️",
"passport_control": "🛂",
"customs": "🛃",
"baggage_claim": "🛄",
"left_luggage": "🛅",
"mens": "🚹",
"womens": "🚺",
"baby_symbol": "🚼",
"restroom": "🚻",
"put_litter_in_its_place": "🚮",
"cinema": "🎦",
"signal_strength": "📶",
"koko": "🈁",
"symbols": "🔣",
"information_source": "",
"abc": "🔤",
"abcd": "🔡",
"capital_abcd": "🔠",
"ng": "🆖",
"ok": "🆗",
"up": "🆙",
"cool": "🆒",
"new": "🆕",
"free": "🆓",
"zero": "0⃣",
"one": "1⃣",
"two": "2⃣",
"three": "3⃣",
"four": "4⃣",
"five": "5⃣",
"six": "6⃣",
"seven": "7⃣",
"eight": "8⃣",
"nine": "9⃣",
"keycap_ten": "🔟",
"hash": "#️⃣",
"asterisk": "*️⃣",
"arrow_forward": "▶️",
"pause_button": "⏸",
"play_or_pause_button": "⏯",
"stop_button": "⏹",
"record_button": "⏺",
"next_track_button": "⏭",
"previous_track_button": "⏮",
"fast_forward": "⏩",
"rewind": "⏪",
"arrow_double_up": "⏫",
"arrow_double_down": "⏬",
"arrow_backward": "◀️",
"arrow_up_small": "🔼",
"arrow_down_small": "🔽",
"arrow_right": "➡️",
"arrow_left": "⬅️",
"arrow_up": "⬆️",
"arrow_down": "⬇️",
"arrow_upper_right": "↗️",
"arrow_lower_right": "↘️",
"arrow_lower_left": "↙️",
"arrow_upper_left": "↖️",
"arrow_up_down": "↕️",
"left_right_arrow": "↔️",
"arrow_right_hook": "↪️",
"leftwards_arrow_with_hook": "↩️",
"arrow_heading_up": "⤴️",
"arrow_heading_down": "⤵️",
"twisted_rightwards_arrows": "🔀",
"repeat": "🔁",
"repeat_one": "🔂",
"arrows_counterclockwise": "🔄",
"arrows_clockwise": "🔃",
"musical_note": "🎵",
"notes": "🎶",
"heavy_plus_sign": "",
"heavy_minus_sign": "",
"heavy_division_sign": "➗",
"heavy_multiplication_x": "✖️",
"heavy_dollar_sign": "💲",
"currency_exchange": "💱",
"tm": "™️",
"copyright": "©️",
"registered": "®️",
"wavy_dash": "〰️",
"curly_loop": "➰",
"loop": "➿",
"end": "🔚",
"back": "🔙",
"on": "🔛",
"top": "🔝",
"soon": "🔜",
"heavy_check_mark": "✔️",
"ballot_box_with_check": "☑️",
"radio_button": "🔘",
"white_circle": "⚪️",
"black_circle": "⚫️",
"red_circle": "🔴",
"large_blue_circle": "🔵",
"small_red_triangle": "🔺",
"small_red_triangle_down": "🔻",
"small_orange_diamond": "🔸",
"small_blue_diamond": "🔹",
"large_orange_diamond": "🔶",
"large_blue_diamond": "🔷",
"white_square_button": "🔳",
"black_square_button": "🔲",
"black_small_square": "▪️",
"white_small_square": "▫️",
"black_medium_small_square": "◾️",
"white_medium_small_square": "◽️",
"black_medium_square": "◼️",
"white_medium_square": "◻️",
"black_large_square": "⬛️",
"white_large_square": "⬜️",
"speaker": "🔈",
"mute": "🔇",
"sound": "🔉",
"loud_sound": "🔊",
"bell": "🔔",
"no_bell": "🔕",
"mega": "📣",
"loudspeaker": "📢",
"eye_speech_bubble": "👁‍🗨",
"speech_balloon": "💬",
"thought_balloon": "💭",
"right_anger_bubble": "🗯",
"spades": "♠️",
"clubs": "♣️",
"hearts": "♥️",
"diamonds": "♦️",
"black_joker": "🃏",
"flower_playing_cards": "🎴",
"mahjong": "🀄️",
"clock1": "🕐",
"clock2": "🕑",
"clock3": "🕒",
"clock4": "🕓",
"clock5": "🕔",
"clock6": "🕕",
"clock7": "🕖",
"clock8": "🕗",
"clock9": "🕘",
"clock10": "🕙",
"clock11": "🕚",
"clock12": "🕛",
"clock130": "🕜",
"clock230": "🕝",
"clock330": "🕞",
"clock430": "🕟",
"clock530": "🕠",
"clock630": "🕡",
"clock730": "🕢",
"clock830": "🕣",
"clock930": "🕤",
"clock1030": "🕥",
"clock1130": "🕦",
"clock1230": "🕧",
"white_flag": "🏳️",
"black_flag": "🏴",
"checkered_flag": "🏁",
"triangular_flag_on_post": "🚩",
"rainbow_flag": "🏳️‍🌈",
"afghanistan": "🇦🇫",
"aland_islands": "🇦🇽",
"albania": "🇦🇱",
"algeria": "🇩🇿",
"american_samoa": "🇦🇸",
"andorra": "🇦🇩",
"angola": "🇦🇴",
"anguilla": "🇦🇮",
"antarctica": "🇦🇶",
"antigua_barbuda": "🇦🇬",
"argentina": "🇦🇷",
"armenia": "🇦🇲",
"aruba": "🇦🇼",
"australia": "🇦🇺",
"austria": "🇦🇹",
"azerbaijan": "🇦🇿",
"bahamas": "🇧🇸",
"bahrain": "🇧🇭",
"bangladesh": "🇧🇩",
"barbados": "🇧🇧",
"belarus": "🇧🇾",
"belgium": "🇧🇪",
"belize": "🇧🇿",
"benin": "🇧🇯",
"bermuda": "🇧🇲",
"bhutan": "🇧🇹",
"bolivia": "🇧🇴",
"caribbean_netherlands": "🇧🇶",
"bosnia_herzegovina": "🇧🇦",
"botswana": "🇧🇼",
"brazil": "🇧🇷",
"british_indian_ocean_territory": "🇮🇴",
"british_virgin_islands": "🇻🇬",
"brunei": "🇧🇳",
"bulgaria": "🇧🇬",
"burkina_faso": "🇧🇫",
"burundi": "🇧🇮",
"cape_verde": "🇨🇻",
"cambodia": "🇰🇭",
"cameroon": "🇨🇲",
"canada": "🇨🇦",
"canary_islands": "🇮🇨",
"cayman_islands": "🇰🇾",
"central_african_republic": "🇨🇫",
"chad": "🇹🇩",
"chile": "🇨🇱",
"cn": "🇨🇳",
"christmas_island": "🇨🇽",
"cocos_islands": "🇨🇨",
"colombia": "🇨🇴",
"comoros": "🇰🇲",
"congo_brazzaville": "🇨🇬",
"congo_kinshasa": "🇨🇩",
"cook_islands": "🇨🇰",
"costa_rica": "🇨🇷",
"cote_divoire": "🇨🇮",
"croatia": "🇭🇷",
"cuba": "🇨🇺",
"curacao": "🇨🇼",
"cyprus": "🇨🇾",
"czech_republic": "🇨🇿",
"denmark": "🇩🇰",
"djibouti": "🇩🇯",
"dominica": "🇩🇲",
"dominican_republic": "🇩🇴",
"ecuador": "🇪🇨",
"egypt": "🇪🇬",
"el_salvador": "🇸🇻",
"equatorial_guinea": "🇬🇶",
"eritrea": "🇪🇷",
"estonia": "🇪🇪",
"ethiopia": "🇪🇹",
"eu": "🇪🇺",
"european_union": "🇪🇺",
"falkland_islands": "🇫🇰",
"faroe_islands": "🇫🇴",
"fiji": "🇫🇯",
"finland": "🇫🇮",
"fr": "🇫🇷",
"french_guiana": "🇬🇫",
"french_polynesia": "🇵🇫",
"french_southern_territories": "🇹🇫",
"gabon": "🇬🇦",
"gambia": "🇬🇲",
"georgia": "🇬🇪",
"de": "🇩🇪",
"ghana": "🇬🇭",
"gibraltar": "🇬🇮",
"greece": "🇬🇷",
"greenland": "🇬🇱",
"grenada": "🇬🇩",
"guadeloupe": "🇬🇵",
"guam": "🇬🇺",
"guatemala": "🇬🇹",
"guernsey": "🇬🇬",
"guinea": "🇬🇳",
"guinea_bissau": "🇬🇼",
"guyana": "🇬🇾",
"haiti": "🇭🇹",
"honduras": "🇭🇳",
"hong_kong": "🇭🇰",
"hungary": "🇭🇺",
"iceland": "🇮🇸",
"india": "🇮🇳",
"indonesia": "🇮🇩",
"iran": "🇮🇷",
"iraq": "🇮🇶",
"ireland": "🇮🇪",
"isle_of_man": "🇮🇲",
"israel": "🇮🇱",
"it": "🇮🇹",
"jamaica": "🇯🇲",
"jp": "🇯🇵",
"crossed_flags": "🎌",
"jersey": "🇯🇪",
"jordan": "🇯🇴",
"kazakhstan": "🇰🇿",
"kenya": "🇰🇪",
"kiribati": "🇰🇮",
"kosovo": "🇽🇰",
"kuwait": "🇰🇼",
"kyrgyzstan": "🇰🇬",
"laos": "🇱🇦",
"latvia": "🇱🇻",
"lebanon": "🇱🇧",
"lesotho": "🇱🇸",
"liberia": "🇱🇷",
"libya": "🇱🇾",
"liechtenstein": "🇱🇮",
"lithuania": "🇱🇹",
"luxembourg": "🇱🇺",
"macau": "🇲🇴",
"macedonia": "🇲🇰",
"madagascar": "🇲🇬",
"malawi": "🇲🇼",
"malaysia": "🇲🇾",
"maldives": "🇲🇻",
"mali": "🇲🇱",
"malta": "🇲🇹",
"marshall_islands": "🇲🇭",
"martinique": "🇲🇶",
"mauritania": "🇲🇷",
"mauritius": "🇲🇺",
"mayotte": "🇾🇹",
"mexico": "🇲🇽",
"micronesia": "🇫🇲",
"moldova": "🇲🇩",
"monaco": "🇲🇨",
"mongolia": "🇲🇳",
"montenegro": "🇲🇪",
"montserrat": "🇲🇸",
"morocco": "🇲🇦",
"mozambique": "🇲🇿",
"myanmar": "🇲🇲",
"namibia": "🇳🇦",
"nauru": "🇳🇷",
"nepal": "🇳🇵",
"netherlands": "🇳🇱",
"new_caledonia": "🇳🇨",
"new_zealand": "🇳🇿",
"nicaragua": "🇳🇮",
"niger": "🇳🇪",
"nigeria": "🇳🇬",
"niue": "🇳🇺",
"norfolk_island": "🇳🇫",
"northern_mariana_islands": "🇲🇵",
"north_korea": "🇰🇵",
"norway": "🇳🇴",
"oman": "🇴🇲",
"pakistan": "🇵🇰",
"palau": "🇵🇼",
"palestinian_territories": "🇵🇸",
"panama": "🇵🇦",
"papua_new_guinea": "🇵🇬",
"paraguay": "🇵🇾",
"peru": "🇵🇪",
"philippines": "🇵🇭",
"pitcairn_islands": "🇵🇳",
"poland": "🇵🇱",
"portugal": "🇵🇹",
"puerto_rico": "🇵🇷",
"qatar": "🇶🇦",
"reunion": "🇷🇪",
"romania": "🇷🇴",
"ru": "🇷🇺",
"rwanda": "🇷🇼",
"st_barthelemy": "🇧🇱",
"st_helena": "🇸🇭",
"st_kitts_nevis": "🇰🇳",
"st_lucia": "🇱🇨",
"st_pierre_miquelon": "🇵🇲",
"st_vincent_grenadines": "🇻🇨",
"samoa": "🇼🇸",
"san_marino": "🇸🇲",
"sao_tome_principe": "🇸🇹",
"saudi_arabia": "🇸🇦",
"senegal": "🇸🇳",
"serbia": "🇷🇸",
"seychelles": "🇸🇨",
"sierra_leone": "🇸🇱",
"singapore": "🇸🇬",
"sint_maarten": "🇸🇽",
"slovakia": "🇸🇰",
"slovenia": "🇸🇮",
"solomon_islands": "🇸🇧",
"somalia": "🇸🇴",
"south_africa": "🇿🇦",
"south_georgia_south_sandwich_islands": "🇬🇸",
"kr": "🇰🇷",
"south_sudan": "🇸🇸",
"es": "🇪🇸",
"sri_lanka": "🇱🇰",
"sudan": "🇸🇩",
"suriname": "🇸🇷",
"swaziland": "🇸🇿",
"sweden": "🇸🇪",
"switzerland": "🇨🇭",
"syria": "🇸🇾",
"taiwan": "🇹🇼",
"tajikistan": "🇹🇯",
"tanzania": "🇹🇿",
"thailand": "🇹🇭",
"timor_leste": "🇹🇱",
"togo": "🇹🇬",
"tokelau": "🇹🇰",
"tonga": "🇹🇴",
"trinidad_tobago": "🇹🇹",
"tunisia": "🇹🇳",
"tr": "🇹🇷",
"turkmenistan": "🇹🇲",
"turks_caicos_islands": "🇹🇨",
"tuvalu": "🇹🇻",
"uganda": "🇺🇬",
"ukraine": "🇺🇦",
"united_arab_emirates": "🇦🇪",
"gb": "🇬🇧",
"uk": "🇬🇧",
"us": "🇺🇸",
"us_virgin_islands": "🇻🇮",
"uruguay": "🇺🇾",
"uzbekistan": "🇺🇿",
"vanuatu": "🇻🇺",
"vatican_city": "🇻🇦",
"venezuela": "🇻🇪",
"vietnam": "🇻🇳",
"wallis_futuna": "🇼🇫",
"western_sahara": "🇪🇭",
"yemen": "🇾🇪",
"zambia": "🇿🇲",
"zimbabwe": "🇿🇼"
}
},{}],2:[function(require,module,exports){
// Emoticons -> Emoji mapping.
//
// (!) Some patterns skipped, to avoid collisions
// without increase matcher complicity. Than can change in future.
//
// Places to look for more emoticons info:
//
// - http://en.wikipedia.org/wiki/List_of_emoticons#Western
// - https://github.com/wooorm/emoticon/blob/master/Support.md
// - http://factoryjoe.com/projects/emoticons/
//
'use strict';
module.exports = {
angry: [ '>:(', '>:-(' ],
blush: [ ':")', ':-")' ],
broken_heart: [ '</3', '<\\3' ],
// :\ and :-\ not used because of conflict with markdown escaping
confused: [ ':/', ':-/' ], // twemoji shows question
cry: [ ":'(", ":'-(", ':,(', ':,-(' ],
frowning: [ ':(', ':-(' ],
heart: [ '<3' ],
imp: [ ']:(', ']:-(' ],
innocent: [ 'o:)', 'O:)', 'o:-)', 'O:-)', '0:)', '0:-)' ],
joy: [ ":')", ":'-)", ':,)', ':,-)', ":'D", ":'-D", ':,D', ':,-D' ],
kissing: [ ':*', ':-*' ],
laughing: [ 'x-)', 'X-)' ],
neutral_face: [ ':|', ':-|' ],
open_mouth: [ ':o', ':-o', ':O', ':-O' ],
rage: [ ':@', ':-@' ],
smile: [ ':D', ':-D' ],
smiley: [ ':)', ':-)' ],
smiling_imp: [ ']:)', ']:-)' ],
sob: [ ":,'(", ":,'-(", ';(', ';-(' ],
stuck_out_tongue: [ ':P', ':-P' ],
sunglasses: [ '8-)', 'B-)' ],
sweat: [ ',:(', ',:-(' ],
sweat_smile: [ ',:)', ',:-)' ],
unamused: [ ':s', ':-S', ':z', ':-Z', ':$', ':-$' ],
wink: [ ';)', ';-)' ]
};
},{}],3:[function(require,module,exports){
// Convert input options to more useable format
// and compile search regexp
'use strict';
function quoteRE(str) {
return str.replace(/[.?*+^$[\]\\(){}|-]/g, '\\$&');
}
module.exports = function normalize_opts(options) {
var emojies = options.defs,
shortcuts;
// Filter emojies by whitelist, if needed
if (options.enabled.length) {
emojies = Object.keys(emojies).reduce(function (acc, key) {
if (options.enabled.indexOf(key) >= 0) {
acc[key] = emojies[key];
}
return acc;
}, {});
}
// Flatten shortcuts to simple object: { alias: emoji_name }
shortcuts = Object.keys(options.shortcuts).reduce(function (acc, key) {
// Skip aliases for filtered emojies, to reduce regexp
if (!emojies[key]) { return acc; }
if (Array.isArray(options.shortcuts[key])) {
options.shortcuts[key].forEach(function (alias) {
acc[alias] = key;
});
return acc;
}
acc[options.shortcuts[key]] = key;
return acc;
}, {});
// Compile regexp
var names = Object.keys(emojies)
.map(function (name) { return ':' + name + ':'; })
.concat(Object.keys(shortcuts))
.sort()
.reverse()
.map(function (name) { return quoteRE(name); })
.join('|');
var scanRE = RegExp(names);
var replaceRE = RegExp(names, 'g');
return {
defs: emojies,
shortcuts: shortcuts,
scanRE: scanRE,
replaceRE: replaceRE
};
};
},{}],4:[function(require,module,exports){
'use strict';
module.exports = function emoji_html(tokens, idx /*, options, env */) {
return tokens[idx].content;
};
},{}],5:[function(require,module,exports){
// Emojies & shortcuts replacement logic.
//
// Note: In theory, it could be faster to parse :smile: in inline chain and
// leave only shortcuts here. But, who care...
//
'use strict';
module.exports = function create_rule(md, emojies, shortcuts, scanRE, replaceRE) {
var arrayReplaceAt = md.utils.arrayReplaceAt,
ucm = md.utils.lib.ucmicro,
ZPCc = new RegExp([ ucm.Z.source, ucm.P.source, ucm.Cc.source ].join('|'));
function splitTextToken(text, level, Token) {
var token, last_pos = 0, nodes = [];
text.replace(replaceRE, function (match, offset, src) {
var emoji_name;
// Validate emoji name
if (shortcuts.hasOwnProperty(match)) {
// replace shortcut with full name
emoji_name = shortcuts[match];
// Don't allow letters before any shortcut (as in no ":/" in http://)
if (offset > 0 && !ZPCc.test(src[offset - 1])) {
return;
}
// Don't allow letters after any shortcut
if (offset + match.length < src.length && !ZPCc.test(src[offset + match.length])) {
return;
}
} else {
emoji_name = match.slice(1, -1);
}
// Add new tokens to pending list
if (offset > last_pos) {
token = new Token('text', '', 0);
token.content = text.slice(last_pos, offset);
nodes.push(token);
}
token = new Token('emoji', '', 0);
token.markup = emoji_name;
token.content = emojies[emoji_name];
nodes.push(token);
last_pos = offset + match.length;
});
if (last_pos < text.length) {
token = new Token('text', '', 0);
token.content = text.slice(last_pos);
nodes.push(token);
}
return nodes;
}
return function emoji_replace(state) {
var i, j, l, tokens, token,
blockTokens = state.tokens,
autolinkLevel = 0;
for (j = 0, l = blockTokens.length; j < l; j++) {
if (blockTokens[j].type !== 'inline') { continue; }
tokens = blockTokens[j].children;
// We scan from the end, to keep position when new tags added.
// Use reversed logic in links start/end match
for (i = tokens.length - 1; i >= 0; i--) {
token = tokens[i];
if (token.type === 'link_open' || token.type === 'link_close') {
if (token.info === 'auto') { autolinkLevel -= token.nesting; }
}
if (token.type === 'text' && autolinkLevel === 0 && scanRE.test(token.content)) {
// replace current node
blockTokens[j].children = tokens = arrayReplaceAt(
tokens, i, splitTextToken(token.content, token.level, state.Token)
);
}
}
}
};
};
},{}],6:[function(require,module,exports){
'use strict';
var emojies_defs = require('./lib/data/full.json');
var emojies_shortcuts = require('./lib/data/shortcuts');
var emoji_html = require('./lib/render');
var emoji_replace = require('./lib/replace');
var normalize_opts = require('./lib/normalize_opts');
module.exports = function emoji_plugin(md, options) {
var defaults = {
defs: emojies_defs,
shortcuts: emojies_shortcuts,
enabled: []
};
var opts = normalize_opts(md.utils.assign({}, defaults, options || {}));
md.renderer.rules.emoji = emoji_html;
md.core.ruler.push('emoji', emoji_replace(md, opts.defs, opts.shortcuts, opts.scanRE, opts.replaceRE));
};
},{"./lib/data/full.json":1,"./lib/data/shortcuts":2,"./lib/normalize_opts":3,"./lib/render":4,"./lib/replace":5}]},{},[6])(6)
});