diff --git a/js/dist/admin.js b/js/dist/admin.js index bb0dce0..4067611 100644 --- a/js/dist/admin.js +++ b/js/dist/admin.js @@ -1,2 +1,2 @@ -(()=>{var F={178:(F,a,e)=>{"use strict";const n=flarum.core.compat["admin/app"];var o=e.n(n);const i=flarum.core.compat["common/models/Forum"];var t=e.n(i);const r=flarum.core.compat["common/Model"];var l=e.n(r);function _(F,a){return _=Object.setPrototypeOf||function(F,a){return F.__proto__=a,F},_(F,a)}function s(F,a){F.prototype=Object.create(a.prototype),F.prototype.constructor=F,_(F,a)}const c=flarum.core.compat["common/components/Alert"];var g=e.n(c);const f=flarum.core.compat["common/components/Button"];var d=e.n(f);const p=JSON.parse('{"2049":["interrobang","exclamation_question"],"2122":["tm"],"2139":["info"],"2194":["arrow_left_right"],"2195":["arrow_up_down"],"2196":["arrow_upper_left"],"2197":["arrow_upper_right"],"2198":["arrow_lower_right"],"2199":["arrow_lower_left"],"2328":["keyboard"],"2600":["sun"],"2601":["cloud"],"2602":["umbrella"],"2603":["snowy_snowman"],"2604":["comet"],"2611":["checked_ballot"],"2614":["umbrella_rain"],"2615":["coffee"],"2618":["shamrock"],"2620":["crossbones"],"2622":["radioactive"],"2623":["biohazard"],"2626":["orthodox_cross"],"2638":["wheel_of_dharma"],"2639":["sad","frowning"],"2640":["female","female_sign"],"2642":["male","male_sign"],"2648":["aries"],"2649":["taurus"],"2650":["sagittarius"],"2651":["capricorn"],"2652":["aquarius"],"2653":["pisces"],"2660":["spades"],"2663":["clubs"],"2665":["hearts"],"2666":["diamonds"],"2668":["hotsprings"],"2692":["hammer_pick"],"2693":["anchor"],"2694":["crossed_swords"],"2695":["medical"],"2696":["scales"],"2697":["alembic"],"2699":["gear"],"2702":["scissors"],"2705":["white_check_mark"],"2708":["airplane"],"2709":["envelope"],"2712":["black_nib"],"2714":["check_mark"],"2716":["multiplication"],"2721":["star_of_david"],"2728":["sparkles"],"2733":["eight_spoked_asterisk"],"2734":["eight_pointed_star"],"2744":["snowflake"],"2747":["sparkle"],"2753":["question"],"2754":["white_question"],"2755":["white_exclamation"],"2757":["exclamation"],"2763":["heart_exclamation"],"2764":["heart"],"2795":["plus"],"2796":["minus"],"2797":["division"],"2934":["arrow_heading_up"],"2935":["arrow_heading_down"],"3030":["wavy_dash"],"3297":["ja_congratulations"],"3299":["ja_secret"],"1F1E6":["regional_indicator_a"],"1F1E7":["regional_indicator_b"],"1F1E8":["regional_indicator_c"],"1F1E9":["regional_indicator_d"],"1F1EA":["regional_indicator_e"],"1F1EB":["regional_indicator_f"],"1F1EC":["regional_indicator_g"],"1F1ED":["regional_indicator_h"],"1F1EE":["regional_indicator_i"],"1F1EF":["regional_indicator_j"],"1F1F0":["regional_indicator_k"],"1F1F1":["regional_indicator_l"],"1F1F2":["regional_indicator_m"],"1F1F3":["regional_indicator_n"],"1F1F4":["regional_indicator_o"],"1F1F5":["regional_indicator_p"],"1F1F6":["regional_indicator_q"],"1F1F7":["regional_indicator_r"],"1F1F8":["regional_indicator_s"],"1F1F9":["regional_indicator_t"],"1F1FA":["regional_indicator_u"],"1F1FB":["regional_indicator_v"],"1F1FC":["regional_indicator_w"],"1F1FD":["regional_indicator_x"],"1F1FE":["regional_indicator_y"],"1F1FF":["regional_indicator_z"],"1F600":["gleeful"],"1F603":["glad","smile"],"1F604":["happy"],"1F601":["blissful","grin"],"1F606":["amused","laugh","lol"],"1F605":["embarassed","sweat_smile"],"1F923":["entertained","rofl"],"1F602":["joyful","haha"],"1F642":["pleased","slight_smile"],"1F643":["ecstatic","upside_down"],"1FAE0":["melt","melting_face"],"1F609":["coy","wink"],"1F60A":["blush"],"1F607":["innocent","halo"],"1F970":["love"],"1F60D":["lovestruck"],"1F929":["starstruck"],"1F618":["flirty"],"1F617":["kiss"],"263A":["relaxed"],"1F61A":["loving_kiss"],"1F619":["happy_kiss"],"1F972":["tear_smile"],"1F60B":["yum","savour"],"1F61B":["playful","tongue_out"],"1F61C":["mischievous"],"1F92A":["crazy"],"1F61D":["facetious","lmao"],"1F911":["pretentious","money_mouth"],"1F917":["hugging"],"1F92D":["gasp"],"1FAE2":["face_with_open_eyes_hand_over_mouth","gasp"],"1FAE3":["face_with_peeking_eye","peek"],"1F92B":["shushing"],"1F914":["curious","thinking"],"1FAE1":["salute","saluting_face"],"1F910":["silenced","zipper_mouth"],"1F928":["contempt"],"1F610":["indifferent","neutral"],"1F611":["apathetic","expressionless"],"1F636":["vacant","no_mouth"],"1FAE5":["dotted_line_face"],"1F636-200D-1F32B-FE0F":["in_clouds"],"1F60F":["cocky","smirk"],"1F612":["unamused"],"1F644":["disbelief"],"1F62C":["grimaced"],"1F62E-200D-1F4A8":["exhale","exhaling"],"1F925":["lying"],"1F60C":["relieved"],"1F614":["pensive"],"1F62A":["sleepy"],"1F924":["drooling"],"1F634":["exhausted","sleeping"],"1F637":["ill","mask"],"1F912":["sick"],"1F915":["injured"],"1F922":["nauseated"],"1F92E":["vomiting"],"1F927":["sneezing"],"1F975":["overheating"],"1F976":["freezing"],"1F974":["woozy"],"1F635":["dizzy"],"1F635-200D-1F4AB":["dizzy_eyes"],"1F92F":["shocked","exploding_head"],"1F920":["cowboy"],"1F973":["partying","celebrating"],"1F978":["disguised_face"],"1F60E":["confident"],"1F913":["nerd"],"1F9D0":["monocle"],"1F615":["confused"],"1FAE4":["face_with_diagonal_mouth"],"1F61F":["worried"],"1F641":["cheerless","slight_frown"],"1F62E":["surprised"],"1F62F":["hushed"],"1F632":["astonished"],"1F633":["flushed"],"1F97A":["pleading"],"1F979":["face_holding_back_tears","watery_eyes"],"1F626":["bored"],"1F627":["anguished","wtf"],"1F628":["fearful"],"1F630":["cold_sweat","anxious","frustrated"],"1F625":["gloomy"],"1F622":["upset","cry"],"1F62D":["distressed","sob"],"1F631":["frightened","scream"],"1F616":["confounded"],"1F623":["persevered"],"1F61E":["disappointed"],"1F613":["shamed"],"1F629":["weary"],"1F62B":["tired"],"1F971":["yawn"],"1F624":["annoyed","hrmph"],"1F621":["enraged","pout"],"1F620":["angry"],"1F92C":["censored"],"1F608":["imp"],"1F47F":["angry_imp"],"1F480":["skull"],"1F4A9":["poop"],"1F921":["clown"],"1F479":["ogre"],"1F47A":["goblin"],"1F47B":["ghost"],"1F47D":["alien"],"1F47E":["alien_monster","space_invader"],"1F916":["robot"],"1F63A":["smiling_cat"],"1F638":["grinning_cat"],"1F639":["joyful_cat"],"1F63B":["lovestruck_cat"],"1F63C":["smirking_cat"],"1F63D":["kissing_cat"],"1F640":["weary_cat"],"1F63F":["crying_cat"],"1F63E":["pouting_cat"],"1F648":["see_no_evil"],"1F649":["hear_no_evil"],"1F64A":["speak_no_evil"],"1F48B":["kiss_lips"],"1F48C":["love_letter"],"1F498":["cupid"],"1F49D":["heart_ribbon"],"1F496":["sparkling_heart"],"1F497":["heartpulse"],"1F493":["heartbeat"],"1F49E":["revolving_hearts"],"1F495":["two_hearts"],"1F49F":["heart_decoration"],"1F494":["broken_heart"],"2764-FE0F-200D-1F525":["heart_on_fire"],"2764-FE0F-200D-1FA79":["mending_heart"],"1F9E1":["orange_heart"],"1F49B":["yellow_heart"],"1F49A":["green_heart"],"1F499":["blue_heart"],"1F49C":["purple_heart"],"1F90E":["brown_heart"],"1F5A4":["black_heart"],"1F90D":["white_heart"],"1F4AF":["100"],"1F4A2":["anger"],"1F4A5":["boom","collision"],"1F4AB":["dizzy_star"],"1F4A6":["sweat_drops"],"1F4A8":["dash"],"1F573":["hole"],"1F4A3":["bomb"],"1F4AC":["speech"],"1F441-FE0F-200D-1F5E8-FE0F":["eye_bubble"],"1F5E8":["left_speech"],"1F5EF":["right_anger_speech"],"1F4AD":["thought"],"1F4A4":["zzz"],"1F44B":["wave"],"1F91A":["raised_backhand"],"1F590":["splayed_hand"],"270B":["raised_hand"],"1F596":["vulcan"],"1FAF1":["rightwards_hand"],"1FAF2":["leftwards_hand"],"1FAF3":["palm_down"],"1FAF4":["palm_up"],"1F44C":["ok_hand"],"1F90C":["pinched_fingers"],"1F90F":["pinch"],"270C":["victory"],"1F91E":["fingers_crossed"],"1FAF0":["hand_with_index_finger_and_thumb_crossed"],"1F91F":["love_you_gesture"],"1F918":["metal"],"1F919":["call_me"],"1F448":["point_left"],"1F449":["point_right"],"1F446":["backhand_point_up"],"1F595":["middle_finger"],"1F447":["point_down"],"261D":["point_up"],"1FAF5":["point_forward"],"1F44D":["thumbsup","+1","y","yes"],"1F44E":["thumbsdown","-1","n","no"],"270A":["fist"],"1F44A":["punch"],"1F91B":["left_facing_fist"],"1F91C":["right_facing_fist"],"1F44F":["clap"],"1F64C":["raised_hands"],"1FAF6":["heart_hands"],"1F450":["open_hands"],"1F932":["palms_up"],"1F91D":["handshake"],"1F64F":["pray"],"270D":["writing_hand"],"1F485":["nail_care"],"1F933":["selfie"],"1F4AA":["muscle","right_bicep"],"1F9BE":["mech_arm"],"1F9BF":["mech_leg"],"1F9B5":["leg"],"1F9B6":["foot"],"1F442":["ear"],"1F9BB":["hearing_aid"],"1F443":["nose"],"1F9E0":["brain"],"1FAC0":["anatomical_heart"],"1FAC1":["lungs"],"1F9B7":["tooth"],"1F9B4":["bone"],"1F440":["eyes"],"1F441":["eye"],"1F445":["tongue"],"1F444":["lips"],"1FAE6":["biting_lip"],"1F476":["baby"],"1F9D2":["child"],"1F466":["boy"],"1F467":["girl"],"1F9D1":["adult"],"1F471":["blond_person"],"1F468":["man"],"1F9D4":["bearded_person"],"1F9D4-200D-2642-FE0F":["man_bearded"],"1F9D4-200D-2640-FE0F":["woman_bearded"],"1F468-200D-1F9B0":["red_haired_man"],"1F468-200D-1F9B1":["curly_haired_man"],"1F468-200D-1F9B3":["white_haired_man"],"1F468-200D-1F9B2":["bald_man"],"1F469":["woman"],"1F469-200D-1F9B0":["red_haired_woman"],"1F9D1-200D-1F9B0":["red_haired_person"],"1F469-200D-1F9B1":["curly_haired_woman"],"1F9D1-200D-1F9B1":["curly_haired_person"],"1F469-200D-1F9B3":["white_haired_woman"],"1F9D1-200D-1F9B3":["white_haired_person"],"1F469-200D-1F9B2":["bald_woman"],"1F9D1-200D-1F9B2":["bald_person"],"1F471-200D-2640-FE0F":["blond_woman"],"1F471-200D-2642-FE0F":["blond_man"],"1F9D3":["older_adult"],"1F474":["older_man"],"1F475":["older_woman"],"1F64D":["person_frowning"],"1F64D-200D-2642-FE0F":["man_frowning"],"1F64D-200D-2640-FE0F":["woman_frowning"],"1F64E":["person_pouting"],"1F64E-200D-2642-FE0F":["man_pouting"],"1F64E-200D-2640-FE0F":["woman_pouting"],"1F645":["person_gesturing_no"],"1F645-200D-2642-FE0F":["man_gesturing_no"],"1F645-200D-2640-FE0F":["woman_gesturing_no"],"1F646":["person_gesturing_ok"],"1F646-200D-2642-FE0F":["man_gesturing_ok"],"1F646-200D-2640-FE0F":["woman_gesturing_ok"],"1F481":["person_tipping_hand"],"1F481-200D-2642-FE0F":["man_tipping_hand"],"1F481-200D-2640-FE0F":["woman_tipping_hand"],"1F64B":["person_raising_hand"],"1F64B-200D-2642-FE0F":["man_raising_hand"],"1F64B-200D-2640-FE0F":["woman_raising_hand"],"1F9CF":["person_deaf"],"1F9CF-200D-2642-FE0F":["man_deaf"],"1F9CF-200D-2640-FE0F":["woman_deaf"],"1F647":["person_bowing"],"1F647-200D-2642-FE0F":["man_bowing"],"1F647-200D-2640-FE0F":["woman_bowing"],"1F926":["person_facepalming"],"1F926-200D-2642-FE0F":["man_facepalming"],"1F926-200D-2640-FE0F":["woman_facepalming"],"1F937":["person_shrugging"],"1F937-200D-2642-FE0F":["man_shrugging"],"1F937-200D-2640-FE0F":["woman_shrugging"],"1F9D1-200D-2695-FE0F":["person_health_worker"],"1F468-200D-2695-FE0F":["man_health_worker"],"1F469-200D-2695-FE0F":["woman_health_worker"],"1F9D1-200D-1F393":["person_student"],"1F468-200D-1F393":["man_student"],"1F469-200D-1F393":["woman_student"],"1F9D1-200D-1F3EB":["person_teacher"],"1F468-200D-1F3EB":["man_teacher"],"1F469-200D-1F3EB":["woman_teacher"],"1F9D1-200D-2696-FE0F":["person_judge"],"1F468-200D-2696-FE0F":["man_judge"],"1F469-200D-2696-FE0F":["woman_judge"],"1F9D1-200D-1F33E":["person_farmer"],"1F468-200D-1F33E":["man_farmer"],"1F469-200D-1F33E":["woman_farmer"],"1F9D1-200D-1F373":["person_cook"],"1F468-200D-1F373":["man_cook"],"1F469-200D-1F373":["woman_cook"],"1F9D1-200D-1F527":["person_mechanic"],"1F468-200D-1F527":["man_mechanic"],"1F469-200D-1F527":["woman_mechanic"],"1F9D1-200D-1F3ED":["person_factory_worker"],"1F468-200D-1F3ED":["man_factory_worker"],"1F469-200D-1F3ED":["woman_factory_worker"],"1F9D1-200D-1F4BC":["person_office_worker"],"1F468-200D-1F4BC":["man_office_worker"],"1F469-200D-1F4BC":["woman_office_worker"],"1F9D1-200D-1F52C":["person_scientist"],"1F468-200D-1F52C":["man_scientist"],"1F469-200D-1F52C":["woman_scientist"],"1F9D1-200D-1F4BB":["person_technologist"],"1F468-200D-1F4BB":["man_technologist"],"1F469-200D-1F4BB":["woman_technologist"],"1F9D1-200D-1F3A4":["person_singer"],"1F468-200D-1F3A4":["man_singer"],"1F469-200D-1F3A4":["woman_singer"],"1F9D1-200D-1F3A8":["person_artist"],"1F468-200D-1F3A8":["man_artist"],"1F469-200D-1F3A8":["woman_artist"],"1F9D1-200D-2708-FE0F":["person_pilot"],"1F468-200D-2708-FE0F":["man_pilot"],"1F469-200D-2708-FE0F":["woman_pilot"],"1F9D1-200D-1F680":["person_astronaut"],"1F468-200D-1F680":["man_astronaut"],"1F469-200D-1F680":["woman_astronaut"],"1F9D1-200D-1F692":["person_firefighter"],"1F468-200D-1F692":["man_firefighter"],"1F469-200D-1F692":["woman_firefighter"],"1F46E":["police_officer"],"1F46E-200D-2642-FE0F":["man_police_officer"],"1F46E-200D-2640-FE0F":["woman_police_officer"],"1F575":["detective"],"1F575-FE0F-200D-2642-FE0F":["man_detective"],"1F575-FE0F-200D-2640-FE0F":["woman_detective"],"1F482":["guard"],"1F482-200D-2642-FE0F":["man_guard"],"1F482-200D-2640-FE0F":["woman_guard"],"1F977":["ninja"],"1F477":["construction_worker"],"1F477-200D-2642-FE0F":["man_construction_worker"],"1F477-200D-2640-FE0F":["woman_construction_worker"],"1FAC5":["person_with_crown","royalty"],"1F934":["prince"],"1F478":["princess"],"1F473":["person_turban"],"1F473-200D-2642-FE0F":["man_turban"],"1F473-200D-2640-FE0F":["woman_turban"],"1F472":["man_chinese_cap"],"1F9D5":["woman_headscarf"],"1F935":["man_tuxedo"],"1F935-200D-2642-FE0F":["man_in_tuxedo"],"1F935-200D-2640-FE0F":["woman_in_tuxedo"],"1F470":["person_veiled_bride","bride_veil"],"1F470-200D-2642-FE0F":["man_veiled_bride"],"1F470-200D-2640-FE0F":["woman_veiled_bride"],"1F930":["pregnant_woman"],"1FAC3":["pregnant_man"],"1FAC4":["pregnant_person"],"1F931":["breast_feeding"],"1F469-200D-1F37C":["woman_feeding_baby"],"1F468-200D-1F37C":["man_feeding_baby"],"1F9D1-200D-1F37C":["person_feeding_baby"],"1F47C":["baby_angel"],"1F385":["santa"],"1F936":["mrs_claus"],"1F9D1-200D-1F384":["mx_claus"],"1F9B8":["hero","superhero"],"1F9B8-200D-2642-FE0F":["man_hero"],"1F9B8-200D-2640-FE0F":["woman_hero"],"1F9B9":["villain","supervillain"],"1F9B9-200D-2642-FE0F":["man_villain"],"1F9B9-200D-2640-FE0F":["woman_villain"],"1F9D9":["mage"],"1F9D9-200D-2642-FE0F":["man_mage"],"1F9D9-200D-2640-FE0F":["woman_mage"],"1F9DA":["fairy"],"1F9DA-200D-2642-FE0F":["man_fairy"],"1F9DA-200D-2640-FE0F":["woman_fairy"],"1F9DB":["vampire"],"1F9DB-200D-2642-FE0F":["man_vampire"],"1F9DB-200D-2640-FE0F":["woman_vampire"],"1F9DC":["merperson"],"1F9DC-200D-2642-FE0F":["merman"],"1F9DC-200D-2640-FE0F":["mermaid"],"1F9DD":["elf"],"1F9DD-200D-2642-FE0F":["man_elf"],"1F9DD-200D-2640-FE0F":["woman_elf"],"1F9DE":["genie"],"1F9DE-200D-2642-FE0F":["man_genie"],"1F9DE-200D-2640-FE0F":["woman_genie"],"1F9DF":["zombie"],"1F9DF-200D-2642-FE0F":["man_zombie"],"1F9DF-200D-2640-FE0F":["woman_zombie"],"1F9CC":["troll"],"1F486":["person_getting_massage"],"1F486-200D-2642-FE0F":["man_getting_face_massage"],"1F486-200D-2640-FE0F":["woman_getting_face_massage"],"1F487":["person_getting_haircut"],"1F487-200D-2642-FE0F":["man_getting_haircut"],"1F487-200D-2640-FE0F":["woman_getting_haircut"],"1F6B6":["person_walking"],"1F6B6-200D-2642-FE0F":["man_walking"],"1F6B6-200D-2640-FE0F":["woman_walking"],"1F9CD":["person_standing"],"1F9CD-200D-2642-FE0F":["man_standing"],"1F9CD-200D-2640-FE0F":["woman_standing"],"1F9CE":["person_kneeling"],"1F9CE-200D-2642-FE0F":["man_kneeling"],"1F9CE-200D-2640-FE0F":["woman_kneeling"],"1F9D1-200D-1F9AF":["person_probing_cane"],"1F468-200D-1F9AF":["man_probing_cane"],"1F469-200D-1F9AF":["woman_probing_cane"],"1F9D1-200D-1F9BC":["person_motor_wheelchair"],"1F468-200D-1F9BC":["man_motor_wheelchair"],"1F469-200D-1F9BC":["woman_motor_wheelchair"],"1F9D1-200D-1F9BD":["person_wheelchair"],"1F468-200D-1F9BD":["man_wheelchair"],"1F469-200D-1F9BD":["woman_wheelchair"],"1F3C3":["person_running"],"1F3C3-200D-2642-FE0F":["man_running"],"1F3C3-200D-2640-FE0F":["woman_running"],"1F483":["dancer","woman_dancing"],"1F57A":["man_dancing"],"1F574":["levitate"],"1F46F":["people_bunny_ears_partying"],"1F46F-200D-2642-FE0F":["men_bunny_ears_partying"],"1F46F-200D-2640-FE0F":["women_bunny_ears_partying"],"1F9D6":["person_steamy_room"],"1F9D6-200D-2642-FE0F":["man_steamy_room"],"1F9D6-200D-2640-FE0F":["woman_steamy_room"],"1F9D7":["person_climbing"],"1F9D7-200D-2642-FE0F":["man_climbing"],"1F9D7-200D-2640-FE0F":["woman_climbing"],"1F93A":["person_fencing"],"1F3C7":["horse_racing"],"26F7":["skier"],"1F3C2":["snowboarder"],"1F3CC":["person_golfing"],"1F3CC-FE0F-200D-2642-FE0F":["man_golfing"],"1F3CC-FE0F-200D-2640-FE0F":["woman_golfing"],"1F3C4":["person_surfing"],"1F3C4-200D-2642-FE0F":["man_surfing"],"1F3C4-200D-2640-FE0F":["woman_surfing"],"1F6A3":["person_rowing_boat"],"1F6A3-200D-2642-FE0F":["man_rowing_boat"],"1F6A3-200D-2640-FE0F":["woman_rowing_boat"],"1F3CA":["person_swimming"],"1F3CA-200D-2642-FE0F":["man_swimming"],"1F3CA-200D-2640-FE0F":["woman_swimming"],"26F9":["person_bouncing_ball"],"26F9-FE0F-200D-2642-FE0F":["man_bouncing_ball"],"26F9-FE0F-200D-2640-FE0F":["woman_bouncing_ball"],"1F3CB":["person_lifting_weights"],"1F3CB-FE0F-200D-2642-FE0F":["man_lifting_weights"],"1F3CB-FE0F-200D-2640-FE0F":["woman_lifting_weights"],"1F6B4":["person_biking"],"1F6B4-200D-2642-FE0F":["man_biking"],"1F6B4-200D-2640-FE0F":["woman_biking"],"1F6B5":["person_mountain_biking"],"1F6B5-200D-2642-FE0F":["man_mountain_biking"],"1F6B5-200D-2640-FE0F":["woman_mountain_biking"],"1F938":["person_cartwheel"],"1F938-200D-2642-FE0F":["man_cartwheeling"],"1F938-200D-2640-FE0F":["woman_cartwheeling"],"1F93C":["people_wrestling"],"1F93C-200D-2642-FE0F":["men_wrestling"],"1F93C-200D-2640-FE0F":["women_wrestling"],"1F93D":["person_water_polo"],"1F93D-200D-2642-FE0F":["man_water_polo"],"1F93D-200D-2640-FE0F":["woman_water_polo"],"1F93E":["person_handball"],"1F93E-200D-2642-FE0F":["man_handball"],"1F93E-200D-2640-FE0F":["woman_handball"],"1F939":["person_juggling"],"1F939-200D-2642-FE0F":["man_juggling"],"1F939-200D-2640-FE0F":["woman_juggling"],"1F9D8":["person_lotus_position"],"1F9D8-200D-2642-FE0F":["man_lotus_position"],"1F9D8-200D-2640-FE0F":["woman_lotus_position"],"1F6C0":["bath"],"1F6CC":["in_bed"],"1F9D1-200D-1F91D-200D-1F9D1":["holding_hands_people"],"1F46D":["holding_hands_ww"],"1F46B":["holding_hands_mw","holding_hands_wm"],"1F46C":["holding_hands_mm"],"1F48F":["couple"],"1F469-200D-2764-FE0F-200D-1F48B-200D-1F468":["kiss_mw","kiss_wm"],"1F468-200D-2764-FE0F-200D-1F48B-200D-1F468":["kiss_mm"],"1F469-200D-2764-FE0F-200D-1F48B-200D-1F469":["kiss_ww"],"1F491":["couple_heart"],"1F469-200D-2764-FE0F-200D-1F468":["couple_mw","couple_wm"],"1F468-200D-2764-FE0F-200D-1F468":["couple_mm"],"1F469-200D-2764-FE0F-200D-1F469":["couple_ww"],"1F46A":["family"],"1F468-200D-1F469-200D-1F466":["family_mwb"],"1F468-200D-1F469-200D-1F467":["family_mwg"],"1F468-200D-1F469-200D-1F467-200D-1F466":["family_mwgb"],"1F468-200D-1F469-200D-1F466-200D-1F466":["family_mwbb"],"1F468-200D-1F469-200D-1F467-200D-1F467":["family_mwgg"],"1F468-200D-1F468-200D-1F466":["family_mmb"],"1F468-200D-1F468-200D-1F467":["family_mmg"],"1F468-200D-1F468-200D-1F467-200D-1F466":["family_mmgb"],"1F468-200D-1F468-200D-1F466-200D-1F466":["family_mmbb"],"1F468-200D-1F468-200D-1F467-200D-1F467":["family_mmgg"],"1F469-200D-1F469-200D-1F466":["family_wwb"],"1F469-200D-1F469-200D-1F467":["family_wwg"],"1F469-200D-1F469-200D-1F467-200D-1F466":["family_wwgb"],"1F469-200D-1F469-200D-1F466-200D-1F466":["family_wwbb"],"1F469-200D-1F469-200D-1F467-200D-1F467":["family_wwgg"],"1F468-200D-1F466":["family_mb"],"1F468-200D-1F466-200D-1F466":["family_mbb"],"1F468-200D-1F467":["family_mg"],"1F468-200D-1F467-200D-1F466":["family_mgb"],"1F468-200D-1F467-200D-1F467":["family_mgg"],"1F469-200D-1F466":["family_wb"],"1F469-200D-1F466-200D-1F466":["family_wbb"],"1F469-200D-1F467":["family_wg"],"1F469-200D-1F467-200D-1F466":["family_wgb"],"1F469-200D-1F467-200D-1F467":["family_wgg"],"1F5E3":["speaking_head"],"1F464":["bust_silhouette"],"1F465":["busts_silhouette"],"1FAC2":["people_hugging"],"1F463":["footprints"],"1F3FB":["tone_light","tone1"],"1F3FC":["tone_medium_light","tone2"],"1F3FD":["tone_medium","tone3"],"1F3FE":["tone_medium_dark","tone4"],"1F3FF":["tone_dark","tone5"],"1F9B0":["red_hair"],"1F9B1":["curly_hair"],"1F9B3":["white_hair"],"1F9B2":["bald"],"1F435":["monkey_face"],"1F412":["monkey"],"1F98D":["gorilla"],"1F9A7":["orangutan"],"1F436":["dog_face"],"1F415":["dog"],"1F9AE":["guide_dog"],"1F415-200D-1F9BA":["service_dog"],"1F429":["poodle"],"1F43A":["wolf_face"],"1F98A":["fox_face"],"1F99D":["raccoon"],"1F431":["cat_face"],"1F408":["cat"],"1F408-200D-2B1B":["black_cat"],"1F981":["lion_face"],"1F42F":["tiger_face"],"1F405":["tiger"],"1F406":["leopard"],"1F434":["horse_face"],"1F40E":["horse"],"1F984":["unicorn_face"],"1F993":["zebra"],"1F98C":["deer"],"1F9AC":["bison"],"1F42E":["cow_face"],"1F402":["ox"],"1F403":["water_buffalo"],"1F404":["cow"],"1F437":["pig_face"],"1F416":["pig"],"1F417":["boar"],"1F43D":["pig_nose"],"1F40F":["ram"],"1F411":["sheep"],"1F410":["goat"],"1F42A":["camel"],"1F42B":["two_hump_camel"],"1F999":["llama"],"1F992":["giraffe"],"1F418":["elephant"],"1F9A3":["mammoth"],"1F98F":["rhino"],"1F99B":["hippo"],"1F42D":["mouse_face"],"1F401":["mouse"],"1F400":["rat"],"1F439":["hamster_face"],"1F430":["rabbit_face"],"1F407":["rabbit"],"1F43F":["chipmunk"],"1F9AB":["beaver"],"1F994":["hedgehog"],"1F987":["bat"],"1F43B":["bear_face"],"1F43B-200D-2744-FE0F":["polar_bear_face"],"1F428":["koala_face"],"1F43C":["panda_face"],"1F9A5":["sloth"],"1F9A6":["otter"],"1F9A8":["skunk"],"1F998":["kangaroo"],"1F9A1":["badger"],"1F43E":["feet"],"1F983":["turkey"],"1F414":["chicken"],"1F413":["rooster"],"1F423":["hatching_chick"],"1F424":["baby_chick"],"1F425":["hatched_chick"],"1F426":["bird"],"1F427":["penguin"],"1F54A":["dove"],"1F985":["eagle"],"1F986":["duck"],"1F9A2":["swan"],"1F989":["owl"],"1F9A4":["dodo"],"1FAB6":["feather"],"1F9A9":["flamingo"],"1F99A":["peacock"],"1F99C":["parrot"],"1F438":["frog_face"],"1F40A":["crocodile"],"1F422":["turtle"],"1F98E":["lizard"],"1F40D":["snake"],"1F432":["dragon_face"],"1F409":["dragon"],"1F995":["sauropod"],"1F996":["trex"],"1F433":["spouting_whale"],"1F40B":["whale"],"1F42C":["dolphin"],"1F9AD":["seal"],"1F41F":["fish"],"1F420":["tropical_fish"],"1F421":["blowfish"],"1F988":["shark"],"1F419":["octopus"],"1F41A":["shell"],"1FAB8":["coral"],"1F40C":["snail"],"1F98B":["butterfly"],"1F41B":["bug"],"1F41C":["ant"],"1F41D":["bee"],"1FAB2":["beetle"],"1F41E":["lady_bug"],"1F997":["cricket"],"1FAB3":["cockroach"],"1F577":["spider"],"1F578":["spider_web"],"1F982":["scorpion"],"1F99F":["mosquito"],"1FAB0":["fly"],"1FAB1":["worm"],"1F9A0":["microbe","germ"],"1F490":["bouquet"],"1F338":["cherry_blossom"],"1F4AE":["white_flower"],"1FAB7":["lotus"],"1F3F5":["rosette"],"1F339":["rose"],"1F940":["wilted_rose"],"1F33A":["hibiscus"],"1F33B":["sunflower"],"1F33C":["blossom"],"1F337":["tulip"],"1F331":["seedling"],"1FAB4":["potted_plant"],"1F332":["evergreen_tree"],"1F333":["deciduous_tree"],"1F334":["palm_tree"],"1F335":["cactus"],"1F33E":["ear_of_rice"],"1F33F":["herb"],"1F340":["four_leaf_clover"],"1F341":["maple_leaf"],"1F342":["fallen_leaf"],"1F343":["leaves"],"1FAB9":["empty_nest","nest"],"1FABA":["nest_with_eggs"],"1F347":["grapes"],"1F348":["melon"],"1F349":["watermelon"],"1F34A":["tangerine"],"1F34B":["lemon"],"1F34C":["banana"],"1F34D":["pineapple"],"1F96D":["mango"],"1F34E":["apple"],"1F34F":["green_apple"],"1F350":["pear"],"1F351":["peach"],"1F352":["cherries"],"1F353":["strawberry"],"1FAD0":["blueberry"],"1F95D":["kiwi"],"1F345":["tomato"],"1FAD2":["olive"],"1F965":["coconut"],"1F951":["avocado"],"1F346":["eggplant"],"1F954":["potato"],"1F955":["carrot"],"1F33D":["corn"],"1F336":["hot_pepper"],"1FAD1":["bell_pepper"],"1F952":["cucumber"],"1F96C":["leafy_green"],"1F966":["broccoli"],"1F9C4":["garlic"],"1F9C5":["onion"],"1F344":["mushroom"],"1F95C":["peanuts"],"1FAD8":["beans"],"1F330":["chestnut"],"1F35E":["bread"],"1F950":["croissant"],"1F956":["french_bread"],"1FAD3":["flatbread"],"1F968":["pretzel"],"1F96F":["bagel"],"1F95E":["pancakes"],"1F9C7":["waffle"],"1F9C0":["cheese"],"1F356":["meat_on_bone"],"1F357":["poultry_leg"],"1F969":["cut_of_meat"],"1F953":["bacon"],"1F354":["hamburger"],"1F35F":["fries"],"1F355":["pizza"],"1F32D":["hotdog"],"1F96A":["sandwich"],"1F32E":["taco"],"1F32F":["burrito"],"1FAD4":["tamale"],"1F959":["stuffed_flatbread"],"1F9C6":["falafel"],"1F95A":["egg"],"1F373":["cooking"],"1F958":["shallow_pan_of_food"],"1F372":["stew"],"1FAD5":["fondue"],"1F963":["bowl_spoon"],"1F957":["salad"],"1F37F":["popcorn"],"1F9C8":["butter"],"1F9C2":["salt"],"1F96B":["canned_food"],"1F371":["bento"],"1F358":["rice_cracker"],"1F359":["rice_ball"],"1F35A":["rice"],"1F35B":["curry"],"1F35C":["ramen"],"1F35D":["spaghetti"],"1F360":["sweet_potato"],"1F362":["oden"],"1F363":["sushi"],"1F364":["fried_shrimp"],"1F365":["fish_cake"],"1F96E":["moon_cake"],"1F361":["dango"],"1F95F":["dumpling"],"1F960":["fortune_cookie"],"1F961":["takeout_box"],"1F980":["crab"],"1F99E":["lobster"],"1F990":["shrimp"],"1F991":["squid"],"1F9AA":["oyster"],"1F366":["icecream"],"1F367":["shaved_ice"],"1F368":["ice_cream"],"1F369":["doughnut"],"1F36A":["cookie"],"1F382":["birthday"],"1F370":["cake"],"1F9C1":["cupcake"],"1F967":["pie"],"1F36B":["chocolate_bar"],"1F36C":["candy"],"1F36D":["lollipop"],"1F36E":["custard"],"1F36F":["honey_pot"],"1F37C":["baby_bottle"],"1F95B":["milk"],"1FAD6":["teapot"],"1F375":["tea"],"1F376":["sake"],"1F37E":["champagne"],"1F377":["wine_glass"],"1F378":["cocktail"],"1F379":["tropical_drink"],"1F37A":["beer"],"1F37B":["beers"],"1F942":["champagne_glass"],"1F943":["tumbler_glass"],"1FAD7":["pour","pouring_liquid"],"1F964":["cup_straw"],"1F9CB":["bubble_tea","boba_drink"],"1F9C3":["beverage_box","juice_box"],"1F9C9":["mate","yerba_mate"],"1F9CA":["ice"],"1F962":["chopsticks"],"1F37D":["fork_knife_plate"],"1F374":["utensils"],"1F944":["spoon"],"1F52A":["knife"],"1FAD9":["jar"],"1F3FA":["amphora"],"1F30D":["earth_africa"],"1F30E":["earth_americas"],"1F30F":["earth_asia"],"1F310":["globe"],"1F5FA":["map"],"1F5FE":["japan"],"1F9ED":["compass"],"1F3D4":["snowy_mountain"],"26F0":["mountain"],"1F30B":["volcano"],"1F5FB":["mount_fuji"],"1F3D5":["camping"],"1F3D6":["beach"],"1F3DC":["desert"],"1F3DD":["island"],"1F3DE":["park"],"1F3DF":["stadium"],"1F3DB":["classical_building"],"1F3D7":["construction_site"],"1F9F1":["brick"],"1FAA8":["rock"],"1FAB5":["wood"],"1F6D6":["hut"],"1F3D8":["homes"],"1F3DA":["house_abandoned"],"1F3E0":["house"],"1F3E1":["house_garden"],"1F3E2":["office"],"1F3E3":["ja_post_office"],"1F3E4":["post_office"],"1F3E5":["hospital"],"1F3E6":["bank"],"1F3E8":["hotel"],"1F3E9":["love_hotel"],"1F3EA":["convenience_store"],"1F3EB":["school"],"1F3EC":["department_store"],"1F3ED":["factory"],"1F3EF":["japanese_castle"],"1F3F0":["castle","european_castle"],"1F492":["wedding"],"1F5FC":["tokyo_tower"],"1F5FD":["statue_of_liberty"],"26EA":["church"],"1F54C":["mosque"],"1F6D5":["hindu_temple"],"1F54D":["synagogue"],"26E9":["shinto_shrine"],"1F54B":["kaaba"],"26F2":["fountain"],"26FA":["tent"],"1F301":["foggy"],"1F303":["night_stars"],"1F3D9":["cityscape"],"1F304":["sunrise_over_mountains"],"1F305":["sunrise"],"1F306":["dusk"],"1F307":["sunset"],"1F309":["bridge_at_night"],"1F3A0":["carousel_horse"],"1F6DD":["playground_slide","slide"],"1F3A1":["ferris_wheel"],"1F3A2":["roller_coaster"],"1F488":["barber"],"1F3AA":["circus_tent"],"1F682":["steam_locomotive"],"1F683":["railway_car"],"1F684":["bullettrain_side"],"1F685":["bullettrain"],"1F686":["train"],"1F687":["metro"],"1F688":["light_rail"],"1F689":["station"],"1F68A":["tram"],"1F69D":["monorail"],"1F69E":["mountain_railway"],"1F68B":["tram_car"],"1F68C":["bus"],"1F68D":["oncoming_bus"],"1F68E":["trolleybus"],"1F690":["minibus"],"1F691":["ambulance"],"1F692":["fire_engine"],"1F693":["police_car"],"1F694":["oncoming_police_car"],"1F695":["taxi"],"1F696":["oncoming_taxi"],"1F697":["red_car"],"1F698":["oncoming_automobile"],"1F699":["blue_car"],"1F6FB":["pickup_truck"],"1F69A":["truck"],"1F69B":["lorry"],"1F69C":["tractor"],"1F3CE":["race_car"],"1F3CD":["motorcycle"],"1F6F5":["motor_scooter"],"1F9BD":["wheelchair"],"1F9BC":["motor_wheelchair"],"1F6FA":["auto_rickshaw"],"1F6B2":["bike"],"1F6F4":["scooter"],"1F6F9":["skateboard"],"1F6FC":["roller_skate"],"1F68F":["bus_stop"],"1F6E3":["motorway"],"1F6E4":["railway_track"],"1F6E2":["oil_drum"],"26FD":["fuel_pump"],"1F6DE":["wheel"],"1F6A8":["rotating_light","police_light"],"1F6A5":["traffic_light"],"1F6A6":["vertical_traffic_light"],"1F6D1":["stop_sign","octagonal_sign"],"1F6A7":["construction"],"1F6DF":["lifebuoy","ring_buoy"],"26F5":["sailboat"],"1F6F6":["canoe"],"1F6A4":["speedboat"],"1F6F3":["cruise_ship"],"26F4":["ferry"],"1F6E5":["motorboat"],"1F6A2":["ship"],"1F6E9":["small_airplane"],"1F6EB":["airplane_departure"],"1F6EC":["airplane_arriving"],"1FA82":["parachute"],"1F4BA":["seat"],"1F681":["helicopter"],"1F69F":["suspension_railway"],"1F6A0":["mountain_cableway"],"1F6A1":["aerial_tramway"],"1F6F0":["satellite"],"1F680":["rocket"],"1F6F8":["flying_saucer"],"1F6CE":["bellhop"],"1F9F3":["luggage"],"231B":["hourglass"],"23F3":["hourglass_flowing"],"231A":["watch"],"23F0":["alarm_clock"],"23F1":["stopwatch"],"23F2":["timer"],"1F570":["clock"],"1F55B":["clock12"],"1F567":["clock1230"],"1F550":["clock1"],"1F55C":["clock130"],"1F551":["clock2"],"1F55D":["clock230"],"1F552":["clock3"],"1F55E":["clock330"],"1F553":["clock4"],"1F55F":["clock430"],"1F554":["clock5"],"1F560":["clock530"],"1F555":["clock6"],"1F561":["clock630"],"1F556":["clock7"],"1F562":["clock730"],"1F557":["clock8"],"1F563":["clock830"],"1F558":["clock9"],"1F564":["clock930"],"1F559":["clock10"],"1F565":["clock1030"],"1F55A":["clock11"],"1F566":["clock1130"],"1F311":["new_moon"],"1F312":["waxing_crescent_moon"],"1F313":["first_quarter_moon"],"1F314":["waxing_gibbous_moon"],"1F315":["full_moon"],"1F316":["waning_gibbous_moon"],"1F317":["last_quarter_moon"],"1F318":["waning_crescent_moon"],"1F319":["crescent_moon"],"1F31A":["new_moon_face"],"1F31B":["first_quarter_moon_face"],"1F31C":["last_quarter_moon_face"],"1F321":["thermometer"],"1F31D":["full_moon_face"],"1F31E":["sun_face"],"1FA90":["ringed_planet","saturn"],"2B50":["star"],"1F31F":["star2","glowing_star"],"1F320":["star3","shooting_star"],"1F30C":["milky_way"],"26C5":["partly_sunny"],"26C8":["storm"],"1F324":["overcast"],"1F325":["cloudy"],"1F326":["sunshower"],"1F327":["rain"],"1F328":["snow"],"1F329":["lightning"],"1F32A":["tornado"],"1F32B":["fog"],"1F32C":["wind_face"],"1F300":["cyclone"],"1F308":["rainbow"],"1F302":["closed_umbrella"],"26F1":["beach_umbrella"],"26A1":["zap","high_voltage"],"26C4":["snowman"],"1F525":["fire"],"1F4A7":["droplet"],"1F30A":["ocean"],"1F383":["jack_o_lantern"],"1F384":["christmas_tree","xmas_tree"],"1F386":["fireworks"],"1F387":["sparkler"],"1F9E8":["firecracker"],"1F388":["balloon"],"1F389":["tada","party"],"1F38A":["confetti_ball"],"1F38B":["tanabata_tree"],"1F38D":["bamboo","pine_decor"],"1F38E":["dolls"],"1F38F":["carp_streamer"],"1F390":["wind_chime"],"1F391":["moon_ceremony","rice_scene"],"1F9E7":["red_envelope"],"1F380":["ribbon"],"1F381":["gift"],"1F397":["reminder_ribbon"],"1F39F":["tickets","admission"],"1F3AB":["ticket"],"1F396":["military_medal"],"1F3C6":["trophy"],"1F3C5":["medal"],"1F947":["first_place"],"1F948":["second_place"],"1F949":["third_place"],"26BD":["soccer"],"26BE":["baseball"],"1F94E":["softball"],"1F3C0":["basketball"],"1F3D0":["volleyball"],"1F3C8":["football"],"1F3C9":["rugby"],"1F3BE":["tennis"],"1F94F":["flying_disc"],"1F3B3":["bowling"],"1F3CF":["cricket_game"],"1F3D1":["field_hockey"],"1F3D2":["hockey"],"1F94D":["lacrosse"],"1F3D3":["ping_pong"],"1F3F8":["badminton"],"1F94A":["boxing_glove"],"1F94B":["gi","martial_arts_uniform"],"1F945":["goal"],"26F3":["golf"],"26F8":["ice_skate"],"1F3A3":["fishing_pole"],"1F93F":["diving_mask","scuba_mask"],"1F3BD":["running_shirt"],"1F3BF":["ski"],"1F6F7":["sled"],"1F94C":["curling_stone"],"1F3AF":["dart"],"1FA80":["yoyo"],"1FA81":["kite"],"1F3B1":["8ball"],"1F52E":["crystal_ball"],"1FA84":["wand"],"1F9FF":["nazar_amulet"],"1FAAC":["hamsa"],"1F3AE":["video_game"],"1F579":["joystick"],"1F3B0":["slot_machine"],"1F3B2":["game_die"],"1F9E9":["jigsaw","puzzle_piece"],"1F9F8":["teddy_bear"],"1FA85":["pinata"],"1FAA9":["disco","disco_ball","mirror_ball"],"1FA86":["nesting_dolls"],"265F":["chess_pawn"],"1F0CF":["black_joker"],"1F004":["mahjong"],"1F3B4":["flower_cards"],"1F3AD":["performing_arts"],"1F5BC":["frame_photo"],"1F3A8":["art","palette"],"1F9F5":["spool"],"1FAA1":["sewing_needle"],"1F9F6":["yarn"],"1FAA2":["knot"],"1F453":["glasses"],"1F576":["sunglasses"],"1F97D":["goggles"],"1F97C":["lab_coat"],"1F9BA":["safety_vest"],"1F454":["necktie","tie"],"1F455":["shirt"],"1F456":["jeans"],"1F9E3":["scarf"],"1F9E4":["gloves"],"1F9E5":["coat"],"1F9E6":["socks"],"1F457":["dress"],"1F458":["kimono"],"1F97B":["sari"],"1FA71":["one_piece_swimsuit"],"1FA72":["briefs"],"1FA73":["shorts"],"1F459":["bikini"],"1F45A":["blouse","womans_clothes"],"1F45B":["purse"],"1F45C":["handbag"],"1F45D":["pouch","clutch_bag"],"1F6CD":["shopping_bags"],"1F392":["backpack"],"1FA74":["sandal"],"1F45E":["dress_shoe","mans_shoe"],"1F45F":["sneaker","athletic_shoe"],"1F97E":["hiking_boot"],"1F97F":["flat_shoe"],"1F460":["high_heel"],"1F461":["womans_sandal"],"1FA70":["ballet_shoes"],"1F462":["womans_boot"],"1F451":["crown"],"1F452":["womans_hat"],"1F3A9":["top_hat"],"1F393":["graduation_cap"],"1F9E2":["billed_cap"],"1FA96":["military_helmet"],"26D1":["helmet_cross"],"1F4FF":["prayer_beads"],"1F484":["lipstick"],"1F48D":["ring"],"1F48E":["gem"],"1F507":["mute","no_sound"],"1F508":["speaker","low_sound"],"1F509":["sound"],"1F50A":["loud_sound"],"1F4E2":["loudspeaker"],"1F4E3":["megaphone"],"1F4EF":["postal_horn"],"1F514":["bell"],"1F515":["no_bell"],"1F3BC":["musical_score"],"1F3B5":["musical_note"],"1F3B6":["musical_notes"],"1F399":["studio_microphone"],"1F39A":["level_slider"],"1F39B":["control_knobs"],"1F3A4":["microphone"],"1F3A7":["headphones"],"1F4FB":["radio"],"1F3B7":["saxophone"],"1FA97":["accordion"],"1F3B8":["guitar"],"1F3B9":["musical_keyboard"],"1F3BA":["trumpet"],"1F3BB":["violin"],"1FA95":["banjo"],"1F941":["drum"],"1FA98":["long_drum"],"1F4F1":["mobile","iphone","android"],"1F4F2":["mobile_calling"],"260E":["telephone"],"1F4DE":["telephone_receiver"],"1F4DF":["pager"],"1F4E0":["fax"],"1F50B":["battery"],"1FAAB":["low_battery"],"1F50C":["electric_plug"],"1F4BB":["laptop"],"1F5A5":["desktop","computer"],"1F5A8":["printer"],"1F5B1":["computer_mouse"],"1F5B2":["trackball"],"1F4BD":["minidisc"],"1F4BE":["floppy_disk"],"1F4BF":["cd","disk"],"1F4C0":["dvd"],"1F9EE":["abacus"],"1F3A5":["movie_camera"],"1F39E":["film_frames"],"1F4FD":["projector"],"1F3AC":["clapper"],"1F4FA":["tv"],"1F4F7":["camera"],"1F4F8":["camera_flash"],"1F4F9":["video_camera"],"1F4FC":["vhs"],"1F50D":["mag"],"1F50E":["mag_right"],"1F56F":["candle"],"1F4A1":["bulb","light_bulb"],"1F526":["flashlight"],"1F3EE":["red_lantern"],"1FA94":["diya_lamp"],"1F4D4":["decorative_notebook"],"1F4D5":["closed_book"],"1F4D6":["book"],"1F4D7":["green_book"],"1F4D8":["blue_book"],"1F4D9":["orange_book"],"1F4DA":["books"],"1F4D3":["notebook"],"1F4D2":["ledger"],"1F4C3":["page_curl"],"1F4DC":["scroll"],"1F4C4":["page_facing_up"],"1F4F0":["newspaper"],"1F5DE":["rolled_newspaper"],"1F4D1":["bookmark_tabs"],"1F516":["bookmark"],"1F3F7":["label"],"1F4B0":["moneybag"],"1FA99":["coin"],"1F4B4":["yen"],"1F4B5":["dollar"],"1F4B6":["euro"],"1F4B7":["pound"],"1F4B8":["money_wings"],"1F4B3":["credit_card"],"1F9FE":["receipt"],"1F4B9":["ja_chart"],"1F4E7":["email"],"1F4E8":["incoming_envelope"],"1F4E9":["envelope_arrow"],"1F4E4":["outbox_tray"],"1F4E5":["inbox_tray"],"1F4E6":["package"],"1F4EB":["mailbox"],"1F4EA":["mailbox_closed"],"1F4EC":["mailbox_mail"],"1F4ED":["mailbox_no_mail"],"1F4EE":["postbox"],"1F5F3":["ballot_box"],"270F":["pencil"],"1F58B":["fountain_pen"],"1F58A":["pen"],"1F58C":["paintbrush"],"1F58D":["crayon"],"1F4DD":["memo"],"1F4BC":["briefcase"],"1F4C1":["file_folder"],"1F4C2":["open_file_folder"],"1F5C2":["dividers"],"1F4C5":["date","calendar"],"1F4C6":["torn_calendar"],"1F5D2":["notepad_spiral"],"1F5D3":["calendar_spiral"],"1F4C7":["card_index"],"1F4C8":["chart_up"],"1F4C9":["chart_down"],"1F4CA":["bar_chart"],"1F4CB":["clipboard"],"1F4CC":["pushpin"],"1F4CD":["round_pushpin"],"1F4CE":["paperclip"],"1F587":["paperclips"],"1F4CF":["straight_ruler"],"1F4D0":["triangular_ruler"],"1F5C3":["card_box"],"1F5C4":["file_cabinet"],"1F5D1":["trashcan","wastebasket"],"1F512":["lock"],"1F513":["unlock"],"1F50F":["locked_pen"],"1F510":["locked_key"],"1F511":["key"],"1F5DD":["old_key"],"1F528":["hammer"],"1FA93":["axe"],"26CF":["pick"],"1F6E0":["tools","hammer_wrench"],"1F5E1":["dagger"],"1F52B":["gun","pistol"],"1FA83":["boomerang"],"1F3F9":["bow"],"1F6E1":["shield"],"1FA9A":["saw"],"1F527":["wrench"],"1FA9B":["screwdriver"],"1F529":["nut_and_bolt"],"1F5DC":["clamp","compression"],"1F9AF":["probing_cane"],"1F517":["link"],"26D3":["chains"],"1FA9D":["hook"],"1F9F0":["toolbox"],"1F9F2":["magnet"],"1FA9C":["ladder"],"1F9EA":["test_tube"],"1F9EB":["petri_dish"],"1F9EC":["dna","double_helix"],"1F52C":["microscope"],"1F52D":["telescope"],"1F4E1":["satellite_antenna"],"1F489":["syringe"],"1FA78":["blood_drop"],"1F48A":["pill"],"1FA79":["bandaid","adhesive_bandage"],"1FA7C":["crutch"],"1FA7A":["stethoscope"],"1FA7B":["x-ray","xray"],"1F6AA":["door"],"1F6D7":["elevator"],"1FA9E":["mirror"],"1FA9F":["window"],"1F6CF":["bed"],"1F6CB":["couch"],"1FA91":["chair"],"1F6BD":["toilet"],"1FAA0":["plunger"],"1F6BF":["shower"],"1F6C1":["bathtub"],"1FAA4":["mouse_trap"],"1FA92":["razor"],"1F9F4":["lotion"],"1F9F7":["safety_pin"],"1F9F9":["broom"],"1F9FA":["basket"],"1F9FB":["toilet_paper"],"1FAA3":["bucket"],"1F9FC":["soap"],"1FAE7":["bubbles"],"1FAA5":["toothbrush"],"1F9FD":["sponge"],"1F9EF":["fire_extinguisher"],"1F6D2":["shopping_cart"],"1F6AC":["cigarette","smoking"],"26B0":["coffin"],"1FAA6":["headstone"],"26B1":["urn"],"1F5FF":["moai"],"1FAA7":["placard"],"1FAAA":["id_card"],"1F3E7":["atm"],"1F6AE":["litter_bin"],"1F6B0":["potable_water"],"267F":["handicapped"],"1F6B9":["mens"],"1F6BA":["womens"],"1F6BB":["restroom","bathroom"],"1F6BC":["baby_symbol"],"1F6BE":["wc"],"1F6C2":["passport_control"],"1F6C3":["customs"],"1F6C4":["baggage_claim"],"1F6C5":["left_luggage"],"26A0":["warning"],"1F6B8":["children_crossing"],"26D4":["no_entry"],"1F6AB":["no_entry_sign"],"1F6B3":["no_bicycles"],"1F6AD":["no_smoking"],"1F6AF":["do_not_litter"],"1F6B1":["non_potable_water"],"1F6B7":["no_pedestrians"],"1F4F5":["no_mobile_phones"],"1F51E":["underage"],"2B06":["arrow_up"],"27A1":["arrow_right"],"2B07":["arrow_down"],"2B05":["arrow_left"],"21A9":["arrow_left_hook"],"21AA":["arrow_right_hook"],"1F503":["clockwise"],"1F504":["counter_clockwise"],"1F519":["back"],"1F51A":["end"],"1F51B":["on"],"1F51C":["soon"],"1F51D":["top"],"1F6D0":["place_of_worship"],"269B":["atom"],"1F549":["om_symbol"],"262F":["yin_yang"],"271D":["cross"],"262A":["star_and_crescent"],"262E":["peace"],"1F54E":["menorah"],"1F52F":["six_pointed_star"],"264A":["gemini"],"264B":["cancer"],"264C":["leo"],"264D":["virgo"],"264E":["libra"],"264F":["scorpius"],"26CE":["ophiuchus"],"1F500":["shuffle"],"1F501":["repeat"],"1F502":["repeat_single"],"25B6":["play"],"23E9":["fast_forward"],"23ED":["next_track"],"23EF":["play_pause"],"25C0":["reverse"],"23EA":["rewind"],"23EE":["previous_track"],"1F53C":["up_button"],"23EB":["fast_up_button"],"1F53D":["down_button"],"23EC":["fast_down_button"],"23F8":["pause"],"23F9":["stop"],"23FA":["record"],"23CF":["eject"],"1F3A6":["cinema"],"1F505":["dim","low_brightness"],"1F506":["bright","high_brightness"],"1F4F6":["signal_strength","antenna_bars"],"1F4F3":["vibration_mode"],"1F4F4":["mobile_phone_off"],"26A7":["trans"],"1F7F0":["heavy_equals_sign"],"267E":["infinity"],"203C":["bangbang","double_exclamation"],"1F4B1":["currency_exchange"],"1F4B2":["dollar_sign"],"267B":["recycle"],"269C":["fleur-de-lis"],"1F531":["trident"],"1F4DB":["name_badge"],"1F530":["ja_beginner"],"2B55":["o"],"274C":["x","cross_mark"],"274E":["cross_mark_button"],"27B0":["curly_loop"],"27BF":["double_curly_loop"],"303D":["part_alternation_mark"],"00A9":["copyright"],"00AE":["registered"],"0023-FE0F-20E3":["hash"],"002A-FE0F-20E3":["asterisk"],"0030-FE0F-20E3":["zero"],"0031-FE0F-20E3":["one"],"0032-FE0F-20E3":["two"],"0033-FE0F-20E3":["three"],"0034-FE0F-20E3":["four"],"0035-FE0F-20E3":["five"],"0036-FE0F-20E3":["six"],"0037-FE0F-20E3":["seven"],"0038-FE0F-20E3":["eight"],"0039-FE0F-20E3":["nine"],"1F51F":["ten"],"1F520":["upper_abcd"],"1F521":["abcd"],"1F522":["1234"],"1F523":["symbols"],"1F524":["abc"],"1F170":["a_blood"],"1F18E":["ab_blood"],"1F171":["b_blood"],"1F191":["cl"],"1F192":["cool"],"1F193":["free"],"1F194":["id"],"24C2":["m"],"1F195":["new"],"1F196":["ng"],"1F17E":["o_blood"],"1F197":["ok"],"1F17F":["p"],"1F198":["sos"],"1F199":["up"],"1F19A":["vs"],"1F201":["ja_here","koko"],"1F202":["ja_service_charge"],"1F237":["ja_monthly_amount"],"1F236":["ja_not_free_of_carge"],"1F22F":["ja_reserved"],"1F250":["ja_bargain"],"1F239":["ja_discount"],"1F21A":["ja_free_of_charge"],"1F232":["ja_prohibited"],"1F251":["ja_acceptable"],"1F238":["ja_application"],"1F234":["ja_passing_grade"],"1F233":["ja_vacancy"],"1F23A":["ja_open_for_business"],"1F235":["ja_no_vacancy"],"1F534":["red_circle"],"1F7E0":["orange_circle"],"1F7E1":["yellow_circle"],"1F7E2":["green_circle"],"1F535":["blue_circle"],"1F7E3":["purple_circle"],"1F7E4":["brown_circle"],"26AB":["black_circle"],"26AA":["white_circle"],"1F7E5":["red_square"],"1F7E7":["orange_square"],"1F7E8":["yellow_square"],"1F7E9":["green_square"],"1F7E6":["blue_square"],"1F7EA":["purple_square"],"1F7EB":["brown_square"],"2B1B":["large_black_square"],"2B1C":["large_white_square"],"25FC":["medium_black_square"],"25FB":["medium_white_square"],"25FE":["medium_small_black_square"],"25FD":["medium_small_white_square"],"25AA":["small_black_square"],"25AB":["small_white_square"],"1F536":["large_orange_diamond"],"1F537":["large_blue_diamond"],"1F538":["small_orange_diamond"],"1F539":["small_blue_diamond"],"1F53A":["up_red_triangle"],"1F53B":["down_red_triangle"],"1F4A0":["diamond_dot"],"1F518":["radio_button"],"1F533":["white_square_button"],"1F532":["black_square_button"],"1F3C1":["checkered_flag"],"1F6A9":["triangle_flag"],"1F38C":["crossed_flags"],"1F3F4":["black_flag"],"1F3F3":["white_flag"],"1F3F3-FE0F-200D-1F308":["rainbow_flag"],"1F3F3-FE0F-200D-26A7-FE0F":["trans_flag"],"1F3F4-200D-2620-FE0F":["pirate_flag","jolly_roger"],"1F1E6-1F1E8":["flag_ac"],"1F1E6-1F1E9":["flag_ad"],"1F1E6-1F1EA":["flag_ae"],"1F1E6-1F1EB":["flag_af"],"1F1E6-1F1EC":["flag_ag"],"1F1E6-1F1EE":["flag_ai"],"1F1E6-1F1F1":["flag_al"],"1F1E6-1F1F2":["flag_am"],"1F1E6-1F1F4":["flag_ao"],"1F1E6-1F1F6":["flag_aq"],"1F1E6-1F1F7":["flag_ar"],"1F1E6-1F1F8":["flag_as"],"1F1E6-1F1F9":["flag_at"],"1F1E6-1F1FA":["flag_au"],"1F1E6-1F1FC":["flag_aw"],"1F1E6-1F1FD":["flag_ax"],"1F1E6-1F1FF":["flag_az"],"1F1E7-1F1E6":["flag_ba"],"1F1E7-1F1E7":["flag_bb"],"1F1E7-1F1E9":["flag_bd"],"1F1E7-1F1EA":["flag_be"],"1F1E7-1F1EB":["flag_bf"],"1F1E7-1F1EC":["flag_bg"],"1F1E7-1F1ED":["flag_bh"],"1F1E7-1F1EE":["flag_bi"],"1F1E7-1F1EF":["flag_bj"],"1F1E7-1F1F1":["flag_bl"],"1F1E7-1F1F2":["flag_bm"],"1F1E7-1F1F3":["flag_bn"],"1F1E7-1F1F4":["flag_bo"],"1F1E7-1F1F6":["flag_bq"],"1F1E7-1F1F7":["flag_br"],"1F1E7-1F1F8":["flag_bs"],"1F1E7-1F1F9":["flag_bt"],"1F1E7-1F1FB":["flag_bv"],"1F1E7-1F1FC":["flag_bw"],"1F1E7-1F1FE":["flag_by"],"1F1E7-1F1FF":["flag_bz"],"1F1E8-1F1E6":["flag_ca"],"1F1E8-1F1E8":["flag_cc"],"1F1E8-1F1E9":["flag_cd"],"1F1E8-1F1EB":["flag_cf"],"1F1E8-1F1EC":["flag_cg"],"1F1E8-1F1ED":["flag_ch"],"1F1E8-1F1EE":["flag_ci"],"1F1E8-1F1F0":["flag_ck"],"1F1E8-1F1F1":["flag_cl"],"1F1E8-1F1F2":["flag_cm"],"1F1E8-1F1F3":["flag_cn"],"1F1E8-1F1F4":["flag_co"],"1F1E8-1F1F5":["flag_cp"],"1F1E8-1F1F7":["flag_cr"],"1F1E8-1F1FA":["flag_cu"],"1F1E8-1F1FB":["flag_cv"],"1F1E8-1F1FC":["flag_cw"],"1F1E8-1F1FD":["flag_cx"],"1F1E8-1F1FE":["flag_cy"],"1F1E8-1F1FF":["flag_cz"],"1F1E9-1F1EA":["flag_de"],"1F1E9-1F1EC":["flag_dg"],"1F1E9-1F1EF":["flag_dj"],"1F1E9-1F1F0":["flag_dk"],"1F1E9-1F1F2":["flag_dm"],"1F1E9-1F1F4":["flag_do"],"1F1E9-1F1FF":["flag_dz"],"1F1EA-1F1E6":["flag_ea"],"1F1EA-1F1E8":["flag_ec"],"1F1EA-1F1EA":["flag_ee"],"1F1EA-1F1EC":["flag_eg"],"1F1EA-1F1ED":["flag_eh"],"1F1EA-1F1F7":["flag_er"],"1F1EA-1F1F8":["flag_es"],"1F1EA-1F1F9":["flag_et"],"1F1EA-1F1FA":["flag_eu"],"1F1EB-1F1EE":["flag_fi"],"1F1EB-1F1EF":["flag_fj"],"1F1EB-1F1F0":["flag_fk"],"1F1EB-1F1F2":["flag_fm"],"1F1EB-1F1F4":["flag_fo"],"1F1EB-1F1F7":["flag_fr"],"1F1EC-1F1E6":["flag_ga"],"1F1EC-1F1E7":["flag_gb"],"1F1EC-1F1E9":["flag_gd"],"1F1EC-1F1EA":["flag_ge"],"1F1EC-1F1EB":["flag_gf"],"1F1EC-1F1EC":["flag_gg"],"1F1EC-1F1ED":["flag_gh"],"1F1EC-1F1EE":["flag_gi"],"1F1EC-1F1F1":["flag_gl"],"1F1EC-1F1F2":["flag_gm"],"1F1EC-1F1F3":["flag_gn"],"1F1EC-1F1F5":["flag_gp"],"1F1EC-1F1F6":["flag_gq"],"1F1EC-1F1F7":["flag_gr"],"1F1EC-1F1F8":["flag_gs"],"1F1EC-1F1F9":["flag_gt"],"1F1EC-1F1FA":["flag_gu"],"1F1EC-1F1FC":["flag_gw"],"1F1EC-1F1FE":["flag_gy"],"1F1ED-1F1F0":["flag_hk"],"1F1ED-1F1F2":["flag_hm"],"1F1ED-1F1F3":["flag_hn"],"1F1ED-1F1F7":["flag_hr"],"1F1ED-1F1F9":["flag_ht"],"1F1ED-1F1FA":["flag_hu"],"1F1EE-1F1E8":["flag_ic"],"1F1EE-1F1E9":["flag_id"],"1F1EE-1F1EA":["flag_ie"],"1F1EE-1F1F1":["flag_il"],"1F1EE-1F1F2":["flag_im"],"1F1EE-1F1F3":["flag_in"],"1F1EE-1F1F4":["flag_io"],"1F1EE-1F1F6":["flag_iq"],"1F1EE-1F1F7":["flag_ir"],"1F1EE-1F1F8":["flag_is"],"1F1EE-1F1F9":["flag_it"],"1F1EF-1F1EA":["flag_je"],"1F1EF-1F1F2":["flag_jm"],"1F1EF-1F1F4":["flag_jo"],"1F1EF-1F1F5":["flag_jp"],"1F1F0-1F1EA":["flag_ke"],"1F1F0-1F1EC":["flag_kg"],"1F1F0-1F1ED":["flag_kh"],"1F1F0-1F1EE":["flag_ki"],"1F1F0-1F1F2":["flag_km"],"1F1F0-1F1F3":["flag_kn"],"1F1F0-1F1F5":["flag_kp"],"1F1F0-1F1F7":["flag_kr"],"1F1F0-1F1FC":["flag_kw"],"1F1F0-1F1FE":["flag_ky"],"1F1F0-1F1FF":["flag_kz"],"1F1F1-1F1E6":["flag_la"],"1F1F1-1F1E7":["flag_lb"],"1F1F1-1F1E8":["flag_lc"],"1F1F1-1F1EE":["flag_li"],"1F1F1-1F1F0":["flag_lk"],"1F1F1-1F1F7":["flag_lr"],"1F1F1-1F1F8":["flag_ls"],"1F1F1-1F1F9":["flag_lt"],"1F1F1-1F1FA":["flag_lu"],"1F1F1-1F1FB":["flag_lv"],"1F1F1-1F1FE":["flag_ly"],"1F1F2-1F1E6":["flag_ma"],"1F1F2-1F1E8":["flag_mc"],"1F1F2-1F1E9":["flag_md"],"1F1F2-1F1EA":["flag_me"],"1F1F2-1F1EB":["flag_mf"],"1F1F2-1F1EC":["flag_mg"],"1F1F2-1F1ED":["flag_mh"],"1F1F2-1F1F0":["flag_mk"],"1F1F2-1F1F1":["flag_ml"],"1F1F2-1F1F2":["flag_mm"],"1F1F2-1F1F3":["flag_mn"],"1F1F2-1F1F4":["flag_mo"],"1F1F2-1F1F5":["flag_mp"],"1F1F2-1F1F6":["flag_mq"],"1F1F2-1F1F7":["flag_mr"],"1F1F2-1F1F8":["flag_ms"],"1F1F2-1F1F9":["flag_mt"],"1F1F2-1F1FA":["flag_mu"],"1F1F2-1F1FB":["flag_mv"],"1F1F2-1F1FC":["flag_mw"],"1F1F2-1F1FD":["flag_mx"],"1F1F2-1F1FE":["flag_my"],"1F1F2-1F1FF":["flag_mz"],"1F1F3-1F1E6":["flag_na"],"1F1F3-1F1E8":["flag_nc"],"1F1F3-1F1EA":["flag_ne"],"1F1F3-1F1EB":["flag_nf"],"1F1F3-1F1EC":["flag_ng"],"1F1F3-1F1EE":["flag_ni"],"1F1F3-1F1F1":["flag_nl"],"1F1F3-1F1F4":["flag_no"],"1F1F3-1F1F5":["flag_np"],"1F1F3-1F1F7":["flag_nr"],"1F1F3-1F1FA":["flag_nu"],"1F1F3-1F1FF":["flag_nz"],"1F1F4-1F1F2":["flag_om"],"1F1F5-1F1E6":["flag_pa"],"1F1F5-1F1EA":["flag_pe"],"1F1F5-1F1EB":["flag_pf"],"1F1F5-1F1EC":["flag_pg"],"1F1F5-1F1ED":["flag_ph"],"1F1F5-1F1F0":["flag_pk"],"1F1F5-1F1F1":["flag_pl"],"1F1F5-1F1F2":["flag_pm"],"1F1F5-1F1F3":["flag_pn"],"1F1F5-1F1F7":["flag_pr"],"1F1F5-1F1F8":["flag_ps"],"1F1F5-1F1F9":["flag_pt"],"1F1F5-1F1FC":["flag_pw"],"1F1F5-1F1FE":["flag_py"],"1F1F6-1F1E6":["flag_qa"],"1F1F7-1F1EA":["flag_re"],"1F1F7-1F1F4":["flag_ro"],"1F1F7-1F1F8":["flag_rs"],"1F1F7-1F1FA":["flag_ru"],"1F1F7-1F1FC":["flag_rw"],"1F1F8-1F1E6":["flag_sa"],"1F1F8-1F1E7":["flag_sb"],"1F1F8-1F1E8":["flag_sc"],"1F1F8-1F1E9":["flag_sd"],"1F1F8-1F1EA":["flag_se"],"1F1F8-1F1EC":["flag_sg"],"1F1F8-1F1ED":["flag_sh"],"1F1F8-1F1EE":["flag_si"],"1F1F8-1F1EF":["flag_sj"],"1F1F8-1F1F0":["flag_sk"],"1F1F8-1F1F1":["flag_sl"],"1F1F8-1F1F2":["flag_sm"],"1F1F8-1F1F3":["flag_sn"],"1F1F8-1F1F4":["flag_so"],"1F1F8-1F1F7":["flag_sr"],"1F1F8-1F1F8":["flag_ss"],"1F1F8-1F1F9":["flag_st"],"1F1F8-1F1FB":["flag_sv"],"1F1F8-1F1FD":["flag_sx"],"1F1F8-1F1FE":["flag_sy"],"1F1F8-1F1FF":["flag_sz"],"1F1F9-1F1E6":["flag_ta"],"1F1F9-1F1E8":["flag_tc"],"1F1F9-1F1E9":["flag_td"],"1F1F9-1F1EB":["flag_tf"],"1F1F9-1F1EC":["flag_tg"],"1F1F9-1F1ED":["flag_th"],"1F1F9-1F1EF":["flag_tj"],"1F1F9-1F1F0":["flag_tk"],"1F1F9-1F1F1":["flag_tl"],"1F1F9-1F1F2":["flag_tm"],"1F1F9-1F1F3":["flag_tn"],"1F1F9-1F1F4":["flag_to"],"1F1F9-1F1F7":["flag_tr"],"1F1F9-1F1F9":["flag_tt"],"1F1F9-1F1FB":["flag_tv"],"1F1F9-1F1FC":["flag_tw"],"1F1F9-1F1FF":["flag_tz"],"1F1FA-1F1E6":["flag_ua"],"1F1FA-1F1EC":["flag_ug"],"1F1FA-1F1F2":["flag_um"],"1F1FA-1F1F3":["flag_un"],"1F1FA-1F1F8":["flag_us","usa"],"1F1FA-1F1FE":["flag_uy"],"1F1FA-1F1FF":["flag_uz"],"1F1FB-1F1E6":["flag_va"],"1F1FB-1F1E8":["flag_vc"],"1F1FB-1F1EA":["flag_ve"],"1F1FB-1F1EC":["flag_vg"],"1F1FB-1F1EE":["flag_vi"],"1F1FB-1F1F3":["flag_vn"],"1F1FB-1F1FA":["flag_vu"],"1F1FC-1F1EB":["flag_wf"],"1F1FC-1F1F8":["flag_ws"],"1F1FD-1F1F0":["flag_xk"],"1F1FE-1F1EA":["flag_ye"],"1F1FE-1F1F9":["flag_yt"],"1F1FF-1F1E6":["flag_za"],"1F1FF-1F1F2":["flag_zm"],"1F1FF-1F1FC":["flag_zw"],"1F3F4-E0067-E0062-E0065-E006E-E0067-E007F":["flag_gbeng","england"],"1F3F4-E0067-E0062-E0073-E0063-E0074-E007F":["flag_gbsct","scotland"],"1F3F4-E0067-E0062-E0077-E006C-E0073-E007F":["flag_gbwls","wales"]}');var u=function F(a,e){return void 0===e&&(e=1),a.reduce((function(a,n){return a.concat(e>1&&Array.isArray(n)?F(n,e-1):n)}),[])}(Object.values(p)),E=Object.entries(p),h=function(F){return String.fromCodePoint.apply(String,F.split("-").map((function(F){return"0x"+F})))},D=function(F){var a=p[F],e=-1,n=null;a?(e=1,n=F):Object.entries(p).forEach((function(a){for(var o=a[0],i=a[1],t=0;t<=i.length;++t){var r=i[t]||o,l=r===F,_=r.indexOf(F),s=F.indexOf(r),c=l&&F.length||0===_||0===s&&r.length>1?1:_>0||s>0?0:-1;if(c>e&&(n=o,e=c,1===c))return!1}})),this.score=e,this.emoji=n},b=new Map;const w=function(F){if(!F)return{};var a,e=F.identifier||F;if(b.has(e))return b.get(e);if(u.includes(e)){var n=function(F){return E.find((function(a){return a[1].includes(F)}))}(e);a=n&&n[0]}else{var o=new D(e);o.score&&(a=o.emoji)}var i=a?{identifier:e,uc:h(a),url:"//cdn.jsdelivr.net/gh/twitter/twemoji@13/assets/72x72/"+a.toLowerCase()+".png",type:"emoji"}:{};return b.set(F,i),i||{}},A=flarum.core.compat["admin/components/ExtensionPage"];var k=e.n(A);const y=flarum.core.compat["common/components/Select"];var B=e.n(y);const C=flarum.core.compat["admin/utils/saveSettings"];var v=e.n(C);const x=flarum.core.compat["common/components/Switch"];var j=e.n(x);const z=flarum.core.compat["common/utils/Stream"];var q=e.n(z);const R=flarum.core.compat["common/utils/withAttr"];var N=e.n(R),P=function(F){function a(){return F.apply(this,arguments)||this}s(a,F);var e=a.prototype;return e.oninit=function(a){var e=this;F.prototype.oninit.call(this,a),this.fields=["convertToUpvote","convertToDownvote","convertToLike"],this.values={},this.reactions=o().forum.reactions(),this.settingsPrefix="fof-reactions";var n=o().data.settings;this.newReaction={identifier:q()(""),type:q()("emoji")},this.fields.forEach((function(F){return e.values[F]=q()(n[e.addPrefix(F)])}))},e.content=function(){var F=this;return m("div",{className:"SettingsPage--reactions"},m("div",{className:"container"},m("form",{onsubmit:this.onsubmit.bind(this)},m("fieldset",null,m("legend",null,o().translator.trans("fof-reactions.admin.page.reactions.title")),m("label",null,o().translator.trans("fof-reactions.admin.page.reactions.reactions")),m("div",{style:"margin-bottom: -10px",className:"helpText"},o().translator.trans("fof-reactions.admin.page.reactions.Helptext")),m("br",null),m("div",{className:"Reactions--Container"},this.reactions.map((function(a){var e="icon"===a.type()&&"fa fa-"+a.identifier()+" Reactions-demo",n=w(a.identifier()),i=[];return"icon"===a.type()&&i.push(m("i",{className:e,"aria-hidden":!0}," ")),("emoji"===a.type&&n.uc||n.uc)&&i.push(m("img",{alt:a.identifier(),className:"Reactions-demo",draggable:"false",style:"emoji"!==a.type()&&"opacity: 0.5;",src:n.url,width:"30px"})),[m("div",{className:"Reactions--item"},m("input",{className:"FormControl Reactions-input",value:a.display()||"",placeholder:o().translator.trans("fof-reactions.admin.page.reactions.help.display"),oninput:N()("value",(function(e){return F.update(a,"display",e)}))}),m("input",{className:"FormControl Reactions-input",type:"text",value:a.identifier(),placeholder:o().translator.trans("fof-reactions.admin.page.reactions.help.identifier"),oninput:N()("value",(function(e){return F.update(a,"identifier",e)}))}),B().component({options:{emoji:"emoji",icon:"icon"},value:a.type(),onchange:function(e){return F.update(a,"type",e)}}),j().component({className:"Reactions-switch",state:a.enabled(),onchange:function(e){return F.update(a,"enabled",e)}}),d().component({type:"button",className:"Button Button--warning Reactions-button",icon:"fa fa-times",onclick:F.deleteReaction.bind(F,a)}),m("div",{className:"Reactions-demo"},i))]})),m("br",null),m("div",{className:"Reactions--item"},m("input",{className:"FormControl Reactions-input",type:"text",loading:this.addLoading,placeholder:o().translator.trans("fof-reactions.admin.page.reactions.help.identifier"),oninput:N()("value",this.newReaction.identifier)}),B().component({options:{emoji:"emoji",icon:"icon"},disabled:this.addLoading,value:this.newReaction.type(),onchange:this.newReaction.type}),d().component({type:"button",className:"Button Button--warning Reactions-button",icon:this.addLoading?"":"fa fa-plus",loading:this.addLoading,onclick:this.addReaction.bind(this)}),"icon"===this.newReaction.type()?m("i",{className:"icon"===this.newReaction.type()&&"fa fa-"+this.newReaction.identifier()+" Reactions-demo","aria-hidden":!0}," "):"",w(this.newReaction.identifier()).uc?m("img",{alt:this.newReaction.identifier(),className:"Reactions-demo",draggable:"false",style:"emoji"!==this.newReaction.type()&&"opacity: 0.5;",src:w(this.newReaction.identifier()).url,width:"30px"}):""))),m("fieldset",null,m("div",{className:"Reaction-settings"},this.isExtEnabled("fof-gamification")||this.isExtEnabled("flarum-likes")?m("legend",null,o().translator.trans("fof-reactions.admin.page.settings.integrations.legend")):"",this.isExtEnabled("fof-gamification")?m("div",null,m("legend",null,o().translator.trans("fof-reactions.admin.page.settings.integrations.gamification.legend")),m("label",null,o().translator.trans("fof-reactions.admin.page.settings.integrations.gamification.upvoteLabel")),m("div",{className:"helpText"},o().translator.trans("fof-reactions.admin.page.settings.integrations.gamification.upvoteHelptext")),m("input",{className:"FormControl reactions-settings-input",value:this.values.convertToUpvote()||"",placeholder:"thumbsup",oninput:N()("value",this.values.convertToUpvote)}),m("label",null,o().translator.trans("fof-reactions.admin.page.settings.integrations.gamification.downvoteLabel")),m("div",{className:"helpText"},o().translator.trans("fof-reactions.admin.page.settings.integrations.gamification.downvoteHelptext")),m("input",{className:"FormControl reactions-settings-input",value:this.values.convertToDownvote()||"",placeholder:"thumbsdown",oninput:N()("value",this.values.convertToDownvote)})):"",this.isExtEnabled("flarum-likes")?m("div",null,m("legend",null,o().translator.trans("fof-reactions.admin.page.settings.integrations.likes.legend")),m("label",null,o().translator.trans("fof-reactions.admin.page.settings.integrations.likes.Label")),m("div",{className:"helpText"},o().translator.trans("fof-reactions.admin.page.settings.integrations.likes.Helptext")),m("input",{className:"FormControl reactions-settings-input",value:this.values.convertToLike()||"",placeholder:"thumbsup",oninput:N()("value",this.values.convertToLike)})):""),this.values.convertToUpvote()&&this.values.convertToLike()?m("h3",{className:"Reactions-warning"},o().translator.trans("fof-reactions.admin.page.settings.integrations.warning")):"",d().component({type:"submit",className:"Button Button--primary",loading:this.loading,disabled:!this.changed()},o().translator.trans("fof-reactions.admin.page.settings.save_settings",{strong:m("strong",null)}))))))},e.changed=function(){var F=this;return this.fields.some((function(a){return F.values[a]()!==o().data.settings[F.addPrefix(a)]}))},e.addReaction=function(){var F=this,a=o().store.createRecord("reactions");this.addLoading=!0,a.save({identifier:this.newReaction.identifier(),type:this.newReaction.type()}).then((function(){F.reactions.push(a),F.newReaction.identifier(""),F.newReaction.type("icon"),F.addLoading=!1,m.redraw()})).catch((function(){F.addLoading=!1,m.redraw()}))},e.update=function(F,a,e){var n;o().request({method:"PATCH",url:o().forum.attribute("apiUrl")+"/reactions/"+F.id(),body:(n={},n[a]=e,n)}),this.reactions.some((function(n,o){if(n.id()===F.id())return F[a]=q()(e),!0}))},e.deleteReaction=function(F){var a=this;o().request({method:"DELETE",url:o().forum.attribute("apiUrl")+"/reactions/"+F.id()}),this.reactions.some((function(e,n){if(e.id()===F.id())return a.reactions.splice(n,1),!0}))},e.onsubmit=function(F){var a=this;if(F.preventDefault(),!this.loading){this.loading=!0,o().alerts.dismiss(this.successAlert);var e={};this.fields.forEach((function(F){return e[a.addPrefix(F)]=a.values[F]()})),v()(e).then((function(){o().alerts.show(a.successAlert=new(g())({type:"success",children:o().translator.trans("core.admin.basics.saved_message")}))})).catch((function(){})).then((function(){a.loading=!1,m.redraw()}))}},e.isExtEnabled=function(F){return-1!==JSON.parse(o().data.settings.extensions_enabled).indexOf(F)},e.addPrefix=function(F){return this.settingsPrefix+"."+F},a}(k());const T=flarum.core.compat["common/utils/mixin"];var L=function(F){function a(){return F.apply(this,arguments)||this}return s(a,F),a}(e.n(T)()(l(),{identifier:l().attribute("identifier"),display:l().attribute("display"),type:l().attribute("type"),enabled:l().attribute("enabled"),user_id:l().attribute("user_id"),post_id:l().attribute("post_id"),reaction_id:l().attribute("reaction_id")}));o().initializers.add("fof/reactions",(function(){o().store.models.reactions=L,t().prototype.reactions=l().hasMany("reactions"),o().extensionData.for("fof-reactions").registerPermission({icon:"far fa-thumbs-up",label:o().translator.trans("fof-reactions.admin.permissions.react_posts_label"),permission:"discussion.reactPosts"},"reply").registerPermission({icon:"fas fa-info-circle",label:o().translator.trans("fof-reactions.admin.permissions.see_reactions_label"),permission:"discussion.canSeeReactions"},"view").registerPage(P)}))},656:()=>{}},a={};function e(n){var o=a[n];if(void 0!==o)return o.exports;var i=a[n]={exports:{}};return F[n](i,i.exports,e),i.exports}e.n=F=>{var a=F&&F.__esModule?()=>F.default:()=>F;return e.d(a,{a}),a},e.d=(F,a)=>{for(var n in a)e.o(a,n)&&!e.o(F,n)&&Object.defineProperty(F,n,{enumerable:!0,get:a[n]})},e.o=(F,a)=>Object.prototype.hasOwnProperty.call(F,a),e.r=F=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(F,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(F,"__esModule",{value:!0})};var n={};(()=>{"use strict";e.r(n);var F=e(656),a={};for(const e in F)"default"!==e&&(a[e]=()=>F[e]);e.d(n,a),e(178)})(),module.exports=n})(); +(()=>{var F={838:(F,e,a)=>{"use strict";const n=flarum.core.compat["admin/app"];var o=a.n(n);const t=flarum.core.compat["common/models/Forum"];var i=a.n(t);const r=flarum.core.compat["common/Model"];var l=a.n(r);function s(F,e){return s=Object.setPrototypeOf||function(F,e){return F.__proto__=e,F},s(F,e)}function _(F,e){F.prototype=Object.create(e.prototype),F.prototype.constructor=F,s(F,e)}const c=flarum.core.compat["common/components/Alert"];var g=a.n(c);const f=flarum.core.compat["common/components/Button"];var u=a.n(f);const d=JSON.parse('{"2049":["interrobang","exclamation_question"],"2122":["tm"],"2139":["info"],"2194":["arrow_left_right"],"2195":["arrow_up_down"],"2196":["arrow_upper_left"],"2197":["arrow_upper_right"],"2198":["arrow_lower_right"],"2199":["arrow_lower_left"],"2328":["keyboard"],"2600":["sun"],"2601":["cloud"],"2602":["umbrella"],"2603":["snowy_snowman"],"2604":["comet"],"2611":["checked_ballot"],"2614":["umbrella_rain"],"2615":["coffee"],"2618":["shamrock"],"2620":["crossbones"],"2622":["radioactive"],"2623":["biohazard"],"2626":["orthodox_cross"],"2638":["wheel_of_dharma"],"2639":["sad","frowning"],"2640":["female","female_sign"],"2642":["male","male_sign"],"2648":["aries"],"2649":["taurus"],"2650":["sagittarius"],"2651":["capricorn"],"2652":["aquarius"],"2653":["pisces"],"2660":["spades"],"2663":["clubs"],"2665":["hearts"],"2666":["diamonds"],"2668":["hotsprings"],"2692":["hammer_pick"],"2693":["anchor"],"2694":["crossed_swords"],"2695":["medical"],"2696":["scales"],"2697":["alembic"],"2699":["gear"],"2702":["scissors"],"2705":["white_check_mark"],"2708":["airplane"],"2709":["envelope"],"2712":["black_nib"],"2714":["check_mark"],"2716":["multiplication"],"2721":["star_of_david"],"2728":["sparkles"],"2733":["eight_spoked_asterisk"],"2734":["eight_pointed_star"],"2744":["snowflake"],"2747":["sparkle"],"2753":["question"],"2754":["white_question"],"2755":["white_exclamation"],"2757":["exclamation"],"2763":["heart_exclamation"],"2764":["heart"],"2795":["plus"],"2796":["minus"],"2797":["division"],"2934":["arrow_heading_up"],"2935":["arrow_heading_down"],"3030":["wavy_dash"],"3297":["ja_congratulations"],"3299":["ja_secret"],"1F1E6":["regional_indicator_a"],"1F1E7":["regional_indicator_b"],"1F1E8":["regional_indicator_c"],"1F1E9":["regional_indicator_d"],"1F1EA":["regional_indicator_e"],"1F1EB":["regional_indicator_f"],"1F1EC":["regional_indicator_g"],"1F1ED":["regional_indicator_h"],"1F1EE":["regional_indicator_i"],"1F1EF":["regional_indicator_j"],"1F1F0":["regional_indicator_k"],"1F1F1":["regional_indicator_l"],"1F1F2":["regional_indicator_m"],"1F1F3":["regional_indicator_n"],"1F1F4":["regional_indicator_o"],"1F1F5":["regional_indicator_p"],"1F1F6":["regional_indicator_q"],"1F1F7":["regional_indicator_r"],"1F1F8":["regional_indicator_s"],"1F1F9":["regional_indicator_t"],"1F1FA":["regional_indicator_u"],"1F1FB":["regional_indicator_v"],"1F1FC":["regional_indicator_w"],"1F1FD":["regional_indicator_x"],"1F1FE":["regional_indicator_y"],"1F1FF":["regional_indicator_z"],"1F600":["gleeful"],"1F603":["glad","smile"],"1F604":["happy"],"1F601":["blissful","grin"],"1F606":["amused","laugh","lol"],"1F605":["embarassed","sweat_smile"],"1F923":["entertained","rofl"],"1F602":["joyful","haha"],"1F642":["pleased","slight_smile"],"1F643":["ecstatic","upside_down"],"1FAE0":["melt","melting_face"],"1F609":["coy","wink"],"1F60A":["blush"],"1F607":["innocent","halo"],"1F970":["love"],"1F60D":["lovestruck"],"1F929":["starstruck"],"1F618":["flirty"],"1F617":["kiss"],"263A":["relaxed"],"1F61A":["loving_kiss"],"1F619":["happy_kiss"],"1F972":["tear_smile"],"1F60B":["yum","savour"],"1F61B":["playful","tongue_out"],"1F61C":["mischievous"],"1F92A":["crazy"],"1F61D":["facetious","lmao"],"1F911":["pretentious","money_mouth"],"1F917":["hugging"],"1F92D":["gasp"],"1FAE2":["face_with_open_eyes_hand_over_mouth","gasp"],"1FAE3":["face_with_peeking_eye","peek"],"1F92B":["shushing"],"1F914":["curious","thinking"],"1FAE1":["salute","saluting_face"],"1F910":["silenced","zipper_mouth"],"1F928":["contempt"],"1F610":["indifferent","neutral"],"1F611":["apathetic","expressionless"],"1F636":["vacant","no_mouth"],"1FAE5":["dotted_line_face"],"1F636-200D-1F32B-FE0F":["in_clouds"],"1F60F":["cocky","smirk"],"1F612":["unamused"],"1F644":["disbelief"],"1F62C":["grimaced"],"1F62E-200D-1F4A8":["exhale","exhaling"],"1F925":["lying"],"1F60C":["relieved"],"1F614":["pensive"],"1F62A":["sleepy"],"1F924":["drooling"],"1F634":["exhausted","sleeping"],"1F637":["ill","mask"],"1F912":["sick"],"1F915":["injured"],"1F922":["nauseated"],"1F92E":["vomiting"],"1F927":["sneezing"],"1F975":["overheating"],"1F976":["freezing"],"1F974":["woozy"],"1F635":["dizzy"],"1F635-200D-1F4AB":["dizzy_eyes"],"1F92F":["shocked","exploding_head"],"1F920":["cowboy"],"1F973":["partying","celebrating"],"1F978":["disguised_face"],"1F60E":["confident"],"1F913":["nerd"],"1F9D0":["monocle"],"1F615":["confused"],"1FAE4":["face_with_diagonal_mouth"],"1F61F":["worried"],"1F641":["cheerless","slight_frown"],"1F62E":["surprised"],"1F62F":["hushed"],"1F632":["astonished"],"1F633":["flushed"],"1F97A":["pleading"],"1F979":["face_holding_back_tears","watery_eyes"],"1F626":["bored"],"1F627":["anguished","wtf"],"1F628":["fearful"],"1F630":["cold_sweat","anxious","frustrated"],"1F625":["gloomy"],"1F622":["upset","cry"],"1F62D":["distressed","sob"],"1F631":["frightened","scream"],"1F616":["confounded"],"1F623":["persevered"],"1F61E":["disappointed"],"1F613":["shamed"],"1F629":["weary"],"1F62B":["tired"],"1F971":["yawn"],"1F624":["annoyed","hrmph"],"1F621":["enraged","pout"],"1F620":["angry"],"1F92C":["censored"],"1F608":["imp"],"1F47F":["angry_imp"],"1F480":["skull"],"1F4A9":["poop"],"1F921":["clown"],"1F479":["ogre"],"1F47A":["goblin"],"1F47B":["ghost"],"1F47D":["alien"],"1F47E":["alien_monster","space_invader"],"1F916":["robot"],"1F63A":["smiling_cat"],"1F638":["grinning_cat"],"1F639":["joyful_cat"],"1F63B":["lovestruck_cat"],"1F63C":["smirking_cat"],"1F63D":["kissing_cat"],"1F640":["weary_cat"],"1F63F":["crying_cat"],"1F63E":["pouting_cat"],"1F648":["see_no_evil"],"1F649":["hear_no_evil"],"1F64A":["speak_no_evil"],"1F48B":["kiss_lips"],"1F48C":["love_letter"],"1F498":["cupid"],"1F49D":["heart_ribbon"],"1F496":["sparkling_heart"],"1F497":["heartpulse"],"1F493":["heartbeat"],"1F49E":["revolving_hearts"],"1F495":["two_hearts"],"1F49F":["heart_decoration"],"1F494":["broken_heart"],"2764-FE0F-200D-1F525":["heart_on_fire"],"2764-FE0F-200D-1FA79":["mending_heart"],"1F9E1":["orange_heart"],"1F49B":["yellow_heart"],"1F49A":["green_heart"],"1F499":["blue_heart"],"1F49C":["purple_heart"],"1F90E":["brown_heart"],"1F5A4":["black_heart"],"1F90D":["white_heart"],"1F4AF":["100"],"1F4A2":["anger"],"1F4A5":["boom","collision"],"1F4AB":["dizzy_star"],"1F4A6":["sweat_drops"],"1F4A8":["dash"],"1F573":["hole"],"1F4A3":["bomb"],"1F4AC":["speech"],"1F441-FE0F-200D-1F5E8-FE0F":["eye_bubble"],"1F5E8":["left_speech"],"1F5EF":["right_anger_speech"],"1F4AD":["thought"],"1F4A4":["zzz"],"1F44B":["wave"],"1F91A":["raised_backhand"],"1F590":["splayed_hand"],"270B":["raised_hand"],"1F596":["vulcan"],"1FAF1":["rightwards_hand"],"1FAF2":["leftwards_hand"],"1FAF3":["palm_down"],"1FAF4":["palm_up"],"1F44C":["ok_hand"],"1F90C":["pinched_fingers"],"1F90F":["pinch"],"270C":["victory"],"1F91E":["fingers_crossed"],"1FAF0":["hand_with_index_finger_and_thumb_crossed"],"1F91F":["love_you_gesture"],"1F918":["metal"],"1F919":["call_me"],"1F448":["point_left"],"1F449":["point_right"],"1F446":["backhand_point_up"],"1F595":["middle_finger"],"1F447":["point_down"],"261D":["point_up"],"1FAF5":["point_forward"],"1F44D":["thumbsup","+1","y","yes"],"1F44E":["thumbsdown","-1","n","no"],"270A":["fist"],"1F44A":["punch"],"1F91B":["left_facing_fist"],"1F91C":["right_facing_fist"],"1F44F":["clap"],"1F64C":["raised_hands"],"1FAF6":["heart_hands"],"1F450":["open_hands"],"1F932":["palms_up"],"1F91D":["handshake"],"1F64F":["pray"],"270D":["writing_hand"],"1F485":["nail_care"],"1F933":["selfie"],"1F4AA":["muscle","right_bicep"],"1F9BE":["mech_arm"],"1F9BF":["mech_leg"],"1F9B5":["leg"],"1F9B6":["foot"],"1F442":["ear"],"1F9BB":["hearing_aid"],"1F443":["nose"],"1F9E0":["brain"],"1FAC0":["anatomical_heart"],"1FAC1":["lungs"],"1F9B7":["tooth"],"1F9B4":["bone"],"1F440":["eyes"],"1F441":["eye"],"1F445":["tongue"],"1F444":["lips"],"1FAE6":["biting_lip"],"1F476":["baby"],"1F9D2":["child"],"1F466":["boy"],"1F467":["girl"],"1F9D1":["adult"],"1F471":["blond_person"],"1F468":["man"],"1F9D4":["bearded_person"],"1F9D4-200D-2642-FE0F":["man_bearded"],"1F9D4-200D-2640-FE0F":["woman_bearded"],"1F468-200D-1F9B0":["red_haired_man"],"1F468-200D-1F9B1":["curly_haired_man"],"1F468-200D-1F9B3":["white_haired_man"],"1F468-200D-1F9B2":["bald_man"],"1F469":["woman"],"1F469-200D-1F9B0":["red_haired_woman"],"1F9D1-200D-1F9B0":["red_haired_person"],"1F469-200D-1F9B1":["curly_haired_woman"],"1F9D1-200D-1F9B1":["curly_haired_person"],"1F469-200D-1F9B3":["white_haired_woman"],"1F9D1-200D-1F9B3":["white_haired_person"],"1F469-200D-1F9B2":["bald_woman"],"1F9D1-200D-1F9B2":["bald_person"],"1F471-200D-2640-FE0F":["blond_woman"],"1F471-200D-2642-FE0F":["blond_man"],"1F9D3":["older_adult"],"1F474":["older_man"],"1F475":["older_woman"],"1F64D":["person_frowning"],"1F64D-200D-2642-FE0F":["man_frowning"],"1F64D-200D-2640-FE0F":["woman_frowning"],"1F64E":["person_pouting"],"1F64E-200D-2642-FE0F":["man_pouting"],"1F64E-200D-2640-FE0F":["woman_pouting"],"1F645":["person_gesturing_no"],"1F645-200D-2642-FE0F":["man_gesturing_no"],"1F645-200D-2640-FE0F":["woman_gesturing_no"],"1F646":["person_gesturing_ok"],"1F646-200D-2642-FE0F":["man_gesturing_ok"],"1F646-200D-2640-FE0F":["woman_gesturing_ok"],"1F481":["person_tipping_hand"],"1F481-200D-2642-FE0F":["man_tipping_hand"],"1F481-200D-2640-FE0F":["woman_tipping_hand"],"1F64B":["person_raising_hand"],"1F64B-200D-2642-FE0F":["man_raising_hand"],"1F64B-200D-2640-FE0F":["woman_raising_hand"],"1F9CF":["person_deaf"],"1F9CF-200D-2642-FE0F":["man_deaf"],"1F9CF-200D-2640-FE0F":["woman_deaf"],"1F647":["person_bowing"],"1F647-200D-2642-FE0F":["man_bowing"],"1F647-200D-2640-FE0F":["woman_bowing"],"1F926":["person_facepalming"],"1F926-200D-2642-FE0F":["man_facepalming"],"1F926-200D-2640-FE0F":["woman_facepalming"],"1F937":["person_shrugging"],"1F937-200D-2642-FE0F":["man_shrugging"],"1F937-200D-2640-FE0F":["woman_shrugging"],"1F9D1-200D-2695-FE0F":["person_health_worker"],"1F468-200D-2695-FE0F":["man_health_worker"],"1F469-200D-2695-FE0F":["woman_health_worker"],"1F9D1-200D-1F393":["person_student"],"1F468-200D-1F393":["man_student"],"1F469-200D-1F393":["woman_student"],"1F9D1-200D-1F3EB":["person_teacher"],"1F468-200D-1F3EB":["man_teacher"],"1F469-200D-1F3EB":["woman_teacher"],"1F9D1-200D-2696-FE0F":["person_judge"],"1F468-200D-2696-FE0F":["man_judge"],"1F469-200D-2696-FE0F":["woman_judge"],"1F9D1-200D-1F33E":["person_farmer"],"1F468-200D-1F33E":["man_farmer"],"1F469-200D-1F33E":["woman_farmer"],"1F9D1-200D-1F373":["person_cook"],"1F468-200D-1F373":["man_cook"],"1F469-200D-1F373":["woman_cook"],"1F9D1-200D-1F527":["person_mechanic"],"1F468-200D-1F527":["man_mechanic"],"1F469-200D-1F527":["woman_mechanic"],"1F9D1-200D-1F3ED":["person_factory_worker"],"1F468-200D-1F3ED":["man_factory_worker"],"1F469-200D-1F3ED":["woman_factory_worker"],"1F9D1-200D-1F4BC":["person_office_worker"],"1F468-200D-1F4BC":["man_office_worker"],"1F469-200D-1F4BC":["woman_office_worker"],"1F9D1-200D-1F52C":["person_scientist"],"1F468-200D-1F52C":["man_scientist"],"1F469-200D-1F52C":["woman_scientist"],"1F9D1-200D-1F4BB":["person_technologist"],"1F468-200D-1F4BB":["man_technologist"],"1F469-200D-1F4BB":["woman_technologist"],"1F9D1-200D-1F3A4":["person_singer"],"1F468-200D-1F3A4":["man_singer"],"1F469-200D-1F3A4":["woman_singer"],"1F9D1-200D-1F3A8":["person_artist"],"1F468-200D-1F3A8":["man_artist"],"1F469-200D-1F3A8":["woman_artist"],"1F9D1-200D-2708-FE0F":["person_pilot"],"1F468-200D-2708-FE0F":["man_pilot"],"1F469-200D-2708-FE0F":["woman_pilot"],"1F9D1-200D-1F680":["person_astronaut"],"1F468-200D-1F680":["man_astronaut"],"1F469-200D-1F680":["woman_astronaut"],"1F9D1-200D-1F692":["person_firefighter"],"1F468-200D-1F692":["man_firefighter"],"1F469-200D-1F692":["woman_firefighter"],"1F46E":["police_officer"],"1F46E-200D-2642-FE0F":["man_police_officer"],"1F46E-200D-2640-FE0F":["woman_police_officer"],"1F575":["detective"],"1F575-FE0F-200D-2642-FE0F":["man_detective"],"1F575-FE0F-200D-2640-FE0F":["woman_detective"],"1F482":["guard"],"1F482-200D-2642-FE0F":["man_guard"],"1F482-200D-2640-FE0F":["woman_guard"],"1F977":["ninja"],"1F477":["construction_worker"],"1F477-200D-2642-FE0F":["man_construction_worker"],"1F477-200D-2640-FE0F":["woman_construction_worker"],"1FAC5":["person_with_crown","royalty"],"1F934":["prince"],"1F478":["princess"],"1F473":["person_turban"],"1F473-200D-2642-FE0F":["man_turban"],"1F473-200D-2640-FE0F":["woman_turban"],"1F472":["man_chinese_cap"],"1F9D5":["woman_headscarf"],"1F935":["man_tuxedo"],"1F935-200D-2642-FE0F":["man_in_tuxedo"],"1F935-200D-2640-FE0F":["woman_in_tuxedo"],"1F470":["person_veiled_bride","bride_veil"],"1F470-200D-2642-FE0F":["man_veiled_bride"],"1F470-200D-2640-FE0F":["woman_veiled_bride"],"1F930":["pregnant_woman"],"1FAC3":["pregnant_man"],"1FAC4":["pregnant_person"],"1F931":["breast_feeding"],"1F469-200D-1F37C":["woman_feeding_baby"],"1F468-200D-1F37C":["man_feeding_baby"],"1F9D1-200D-1F37C":["person_feeding_baby"],"1F47C":["baby_angel"],"1F385":["santa"],"1F936":["mrs_claus"],"1F9D1-200D-1F384":["mx_claus"],"1F9B8":["hero","superhero"],"1F9B8-200D-2642-FE0F":["man_hero"],"1F9B8-200D-2640-FE0F":["woman_hero"],"1F9B9":["villain","supervillain"],"1F9B9-200D-2642-FE0F":["man_villain"],"1F9B9-200D-2640-FE0F":["woman_villain"],"1F9D9":["mage"],"1F9D9-200D-2642-FE0F":["man_mage"],"1F9D9-200D-2640-FE0F":["woman_mage"],"1F9DA":["fairy"],"1F9DA-200D-2642-FE0F":["man_fairy"],"1F9DA-200D-2640-FE0F":["woman_fairy"],"1F9DB":["vampire"],"1F9DB-200D-2642-FE0F":["man_vampire"],"1F9DB-200D-2640-FE0F":["woman_vampire"],"1F9DC":["merperson"],"1F9DC-200D-2642-FE0F":["merman"],"1F9DC-200D-2640-FE0F":["mermaid"],"1F9DD":["elf"],"1F9DD-200D-2642-FE0F":["man_elf"],"1F9DD-200D-2640-FE0F":["woman_elf"],"1F9DE":["genie"],"1F9DE-200D-2642-FE0F":["man_genie"],"1F9DE-200D-2640-FE0F":["woman_genie"],"1F9DF":["zombie"],"1F9DF-200D-2642-FE0F":["man_zombie"],"1F9DF-200D-2640-FE0F":["woman_zombie"],"1F9CC":["troll"],"1F486":["person_getting_massage"],"1F486-200D-2642-FE0F":["man_getting_face_massage"],"1F486-200D-2640-FE0F":["woman_getting_face_massage"],"1F487":["person_getting_haircut"],"1F487-200D-2642-FE0F":["man_getting_haircut"],"1F487-200D-2640-FE0F":["woman_getting_haircut"],"1F6B6":["person_walking"],"1F6B6-200D-2642-FE0F":["man_walking"],"1F6B6-200D-2640-FE0F":["woman_walking"],"1F9CD":["person_standing"],"1F9CD-200D-2642-FE0F":["man_standing"],"1F9CD-200D-2640-FE0F":["woman_standing"],"1F9CE":["person_kneeling"],"1F9CE-200D-2642-FE0F":["man_kneeling"],"1F9CE-200D-2640-FE0F":["woman_kneeling"],"1F9D1-200D-1F9AF":["person_probing_cane"],"1F468-200D-1F9AF":["man_probing_cane"],"1F469-200D-1F9AF":["woman_probing_cane"],"1F9D1-200D-1F9BC":["person_motor_wheelchair"],"1F468-200D-1F9BC":["man_motor_wheelchair"],"1F469-200D-1F9BC":["woman_motor_wheelchair"],"1F9D1-200D-1F9BD":["person_wheelchair"],"1F468-200D-1F9BD":["man_wheelchair"],"1F469-200D-1F9BD":["woman_wheelchair"],"1F3C3":["person_running"],"1F3C3-200D-2642-FE0F":["man_running"],"1F3C3-200D-2640-FE0F":["woman_running"],"1F483":["dancer","woman_dancing"],"1F57A":["man_dancing"],"1F574":["levitate"],"1F46F":["people_bunny_ears_partying"],"1F46F-200D-2642-FE0F":["men_bunny_ears_partying"],"1F46F-200D-2640-FE0F":["women_bunny_ears_partying"],"1F9D6":["person_steamy_room"],"1F9D6-200D-2642-FE0F":["man_steamy_room"],"1F9D6-200D-2640-FE0F":["woman_steamy_room"],"1F9D7":["person_climbing"],"1F9D7-200D-2642-FE0F":["man_climbing"],"1F9D7-200D-2640-FE0F":["woman_climbing"],"1F93A":["person_fencing"],"1F3C7":["horse_racing"],"26F7":["skier"],"1F3C2":["snowboarder"],"1F3CC":["person_golfing"],"1F3CC-FE0F-200D-2642-FE0F":["man_golfing"],"1F3CC-FE0F-200D-2640-FE0F":["woman_golfing"],"1F3C4":["person_surfing"],"1F3C4-200D-2642-FE0F":["man_surfing"],"1F3C4-200D-2640-FE0F":["woman_surfing"],"1F6A3":["person_rowing_boat"],"1F6A3-200D-2642-FE0F":["man_rowing_boat"],"1F6A3-200D-2640-FE0F":["woman_rowing_boat"],"1F3CA":["person_swimming"],"1F3CA-200D-2642-FE0F":["man_swimming"],"1F3CA-200D-2640-FE0F":["woman_swimming"],"26F9":["person_bouncing_ball"],"26F9-FE0F-200D-2642-FE0F":["man_bouncing_ball"],"26F9-FE0F-200D-2640-FE0F":["woman_bouncing_ball"],"1F3CB":["person_lifting_weights"],"1F3CB-FE0F-200D-2642-FE0F":["man_lifting_weights"],"1F3CB-FE0F-200D-2640-FE0F":["woman_lifting_weights"],"1F6B4":["person_biking"],"1F6B4-200D-2642-FE0F":["man_biking"],"1F6B4-200D-2640-FE0F":["woman_biking"],"1F6B5":["person_mountain_biking"],"1F6B5-200D-2642-FE0F":["man_mountain_biking"],"1F6B5-200D-2640-FE0F":["woman_mountain_biking"],"1F938":["person_cartwheel"],"1F938-200D-2642-FE0F":["man_cartwheeling"],"1F938-200D-2640-FE0F":["woman_cartwheeling"],"1F93C":["people_wrestling"],"1F93C-200D-2642-FE0F":["men_wrestling"],"1F93C-200D-2640-FE0F":["women_wrestling"],"1F93D":["person_water_polo"],"1F93D-200D-2642-FE0F":["man_water_polo"],"1F93D-200D-2640-FE0F":["woman_water_polo"],"1F93E":["person_handball"],"1F93E-200D-2642-FE0F":["man_handball"],"1F93E-200D-2640-FE0F":["woman_handball"],"1F939":["person_juggling"],"1F939-200D-2642-FE0F":["man_juggling"],"1F939-200D-2640-FE0F":["woman_juggling"],"1F9D8":["person_lotus_position"],"1F9D8-200D-2642-FE0F":["man_lotus_position"],"1F9D8-200D-2640-FE0F":["woman_lotus_position"],"1F6C0":["bath"],"1F6CC":["in_bed"],"1F9D1-200D-1F91D-200D-1F9D1":["holding_hands_people"],"1F46D":["holding_hands_ww"],"1F46B":["holding_hands_mw","holding_hands_wm"],"1F46C":["holding_hands_mm"],"1F48F":["couple"],"1F469-200D-2764-FE0F-200D-1F48B-200D-1F468":["kiss_mw","kiss_wm"],"1F468-200D-2764-FE0F-200D-1F48B-200D-1F468":["kiss_mm"],"1F469-200D-2764-FE0F-200D-1F48B-200D-1F469":["kiss_ww"],"1F491":["couple_heart"],"1F469-200D-2764-FE0F-200D-1F468":["couple_mw","couple_wm"],"1F468-200D-2764-FE0F-200D-1F468":["couple_mm"],"1F469-200D-2764-FE0F-200D-1F469":["couple_ww"],"1F46A":["family"],"1F468-200D-1F469-200D-1F466":["family_mwb"],"1F468-200D-1F469-200D-1F467":["family_mwg"],"1F468-200D-1F469-200D-1F467-200D-1F466":["family_mwgb"],"1F468-200D-1F469-200D-1F466-200D-1F466":["family_mwbb"],"1F468-200D-1F469-200D-1F467-200D-1F467":["family_mwgg"],"1F468-200D-1F468-200D-1F466":["family_mmb"],"1F468-200D-1F468-200D-1F467":["family_mmg"],"1F468-200D-1F468-200D-1F467-200D-1F466":["family_mmgb"],"1F468-200D-1F468-200D-1F466-200D-1F466":["family_mmbb"],"1F468-200D-1F468-200D-1F467-200D-1F467":["family_mmgg"],"1F469-200D-1F469-200D-1F466":["family_wwb"],"1F469-200D-1F469-200D-1F467":["family_wwg"],"1F469-200D-1F469-200D-1F467-200D-1F466":["family_wwgb"],"1F469-200D-1F469-200D-1F466-200D-1F466":["family_wwbb"],"1F469-200D-1F469-200D-1F467-200D-1F467":["family_wwgg"],"1F468-200D-1F466":["family_mb"],"1F468-200D-1F466-200D-1F466":["family_mbb"],"1F468-200D-1F467":["family_mg"],"1F468-200D-1F467-200D-1F466":["family_mgb"],"1F468-200D-1F467-200D-1F467":["family_mgg"],"1F469-200D-1F466":["family_wb"],"1F469-200D-1F466-200D-1F466":["family_wbb"],"1F469-200D-1F467":["family_wg"],"1F469-200D-1F467-200D-1F466":["family_wgb"],"1F469-200D-1F467-200D-1F467":["family_wgg"],"1F5E3":["speaking_head"],"1F464":["bust_silhouette"],"1F465":["busts_silhouette"],"1FAC2":["people_hugging"],"1F463":["footprints"],"1F3FB":["tone_light","tone1"],"1F3FC":["tone_medium_light","tone2"],"1F3FD":["tone_medium","tone3"],"1F3FE":["tone_medium_dark","tone4"],"1F3FF":["tone_dark","tone5"],"1F9B0":["red_hair"],"1F9B1":["curly_hair"],"1F9B3":["white_hair"],"1F9B2":["bald"],"1F435":["monkey_face"],"1F412":["monkey"],"1F98D":["gorilla"],"1F9A7":["orangutan"],"1F436":["dog_face"],"1F415":["dog"],"1F9AE":["guide_dog"],"1F415-200D-1F9BA":["service_dog"],"1F429":["poodle"],"1F43A":["wolf_face"],"1F98A":["fox_face"],"1F99D":["raccoon"],"1F431":["cat_face"],"1F408":["cat"],"1F408-200D-2B1B":["black_cat"],"1F981":["lion_face"],"1F42F":["tiger_face"],"1F405":["tiger"],"1F406":["leopard"],"1F434":["horse_face"],"1F40E":["horse"],"1F984":["unicorn_face"],"1F993":["zebra"],"1F98C":["deer"],"1F9AC":["bison"],"1F42E":["cow_face"],"1F402":["ox"],"1F403":["water_buffalo"],"1F404":["cow"],"1F437":["pig_face"],"1F416":["pig"],"1F417":["boar"],"1F43D":["pig_nose"],"1F40F":["ram"],"1F411":["sheep"],"1F410":["goat"],"1F42A":["camel"],"1F42B":["two_hump_camel"],"1F999":["llama"],"1F992":["giraffe"],"1F418":["elephant"],"1F9A3":["mammoth"],"1F98F":["rhino"],"1F99B":["hippo"],"1F42D":["mouse_face"],"1F401":["mouse"],"1F400":["rat"],"1F439":["hamster_face"],"1F430":["rabbit_face"],"1F407":["rabbit"],"1F43F":["chipmunk"],"1F9AB":["beaver"],"1F994":["hedgehog"],"1F987":["bat"],"1F43B":["bear_face"],"1F43B-200D-2744-FE0F":["polar_bear_face"],"1F428":["koala_face"],"1F43C":["panda_face"],"1F9A5":["sloth"],"1F9A6":["otter"],"1F9A8":["skunk"],"1F998":["kangaroo"],"1F9A1":["badger"],"1F43E":["feet"],"1F983":["turkey"],"1F414":["chicken"],"1F413":["rooster"],"1F423":["hatching_chick"],"1F424":["baby_chick"],"1F425":["hatched_chick"],"1F426":["bird"],"1F427":["penguin"],"1F54A":["dove"],"1F985":["eagle"],"1F986":["duck"],"1F9A2":["swan"],"1F989":["owl"],"1F9A4":["dodo"],"1FAB6":["feather"],"1F9A9":["flamingo"],"1F99A":["peacock"],"1F99C":["parrot"],"1F438":["frog_face"],"1F40A":["crocodile"],"1F422":["turtle"],"1F98E":["lizard"],"1F40D":["snake"],"1F432":["dragon_face"],"1F409":["dragon"],"1F995":["sauropod"],"1F996":["trex"],"1F433":["spouting_whale"],"1F40B":["whale"],"1F42C":["dolphin"],"1F9AD":["seal"],"1F41F":["fish"],"1F420":["tropical_fish"],"1F421":["blowfish"],"1F988":["shark"],"1F419":["octopus"],"1F41A":["shell"],"1FAB8":["coral"],"1F40C":["snail"],"1F98B":["butterfly"],"1F41B":["bug"],"1F41C":["ant"],"1F41D":["bee"],"1FAB2":["beetle"],"1F41E":["lady_bug"],"1F997":["cricket"],"1FAB3":["cockroach"],"1F577":["spider"],"1F578":["spider_web"],"1F982":["scorpion"],"1F99F":["mosquito"],"1FAB0":["fly"],"1FAB1":["worm"],"1F9A0":["microbe","germ"],"1F490":["bouquet"],"1F338":["cherry_blossom"],"1F4AE":["white_flower"],"1FAB7":["lotus"],"1F3F5":["rosette"],"1F339":["rose"],"1F940":["wilted_rose"],"1F33A":["hibiscus"],"1F33B":["sunflower"],"1F33C":["blossom"],"1F337":["tulip"],"1F331":["seedling"],"1FAB4":["potted_plant"],"1F332":["evergreen_tree"],"1F333":["deciduous_tree"],"1F334":["palm_tree"],"1F335":["cactus"],"1F33E":["ear_of_rice"],"1F33F":["herb"],"1F340":["four_leaf_clover"],"1F341":["maple_leaf"],"1F342":["fallen_leaf"],"1F343":["leaves"],"1FAB9":["empty_nest","nest"],"1FABA":["nest_with_eggs"],"1F347":["grapes"],"1F348":["melon"],"1F349":["watermelon"],"1F34A":["tangerine"],"1F34B":["lemon"],"1F34C":["banana"],"1F34D":["pineapple"],"1F96D":["mango"],"1F34E":["apple"],"1F34F":["green_apple"],"1F350":["pear"],"1F351":["peach"],"1F352":["cherries"],"1F353":["strawberry"],"1FAD0":["blueberry"],"1F95D":["kiwi"],"1F345":["tomato"],"1FAD2":["olive"],"1F965":["coconut"],"1F951":["avocado"],"1F346":["eggplant"],"1F954":["potato"],"1F955":["carrot"],"1F33D":["corn"],"1F336":["hot_pepper"],"1FAD1":["bell_pepper"],"1F952":["cucumber"],"1F96C":["leafy_green"],"1F966":["broccoli"],"1F9C4":["garlic"],"1F9C5":["onion"],"1F344":["mushroom"],"1F95C":["peanuts"],"1FAD8":["beans"],"1F330":["chestnut"],"1F35E":["bread"],"1F950":["croissant"],"1F956":["french_bread"],"1FAD3":["flatbread"],"1F968":["pretzel"],"1F96F":["bagel"],"1F95E":["pancakes"],"1F9C7":["waffle"],"1F9C0":["cheese"],"1F356":["meat_on_bone"],"1F357":["poultry_leg"],"1F969":["cut_of_meat"],"1F953":["bacon"],"1F354":["hamburger"],"1F35F":["fries"],"1F355":["pizza"],"1F32D":["hotdog"],"1F96A":["sandwich"],"1F32E":["taco"],"1F32F":["burrito"],"1FAD4":["tamale"],"1F959":["stuffed_flatbread"],"1F9C6":["falafel"],"1F95A":["egg"],"1F373":["cooking"],"1F958":["shallow_pan_of_food"],"1F372":["stew"],"1FAD5":["fondue"],"1F963":["bowl_spoon"],"1F957":["salad"],"1F37F":["popcorn"],"1F9C8":["butter"],"1F9C2":["salt"],"1F96B":["canned_food"],"1F371":["bento"],"1F358":["rice_cracker"],"1F359":["rice_ball"],"1F35A":["rice"],"1F35B":["curry"],"1F35C":["ramen"],"1F35D":["spaghetti"],"1F360":["sweet_potato"],"1F362":["oden"],"1F363":["sushi"],"1F364":["fried_shrimp"],"1F365":["fish_cake"],"1F96E":["moon_cake"],"1F361":["dango"],"1F95F":["dumpling"],"1F960":["fortune_cookie"],"1F961":["takeout_box"],"1F980":["crab"],"1F99E":["lobster"],"1F990":["shrimp"],"1F991":["squid"],"1F9AA":["oyster"],"1F366":["icecream"],"1F367":["shaved_ice"],"1F368":["ice_cream"],"1F369":["doughnut"],"1F36A":["cookie"],"1F382":["birthday"],"1F370":["cake"],"1F9C1":["cupcake"],"1F967":["pie"],"1F36B":["chocolate_bar"],"1F36C":["candy"],"1F36D":["lollipop"],"1F36E":["custard"],"1F36F":["honey_pot"],"1F37C":["baby_bottle"],"1F95B":["milk"],"1FAD6":["teapot"],"1F375":["tea"],"1F376":["sake"],"1F37E":["champagne"],"1F377":["wine_glass"],"1F378":["cocktail"],"1F379":["tropical_drink"],"1F37A":["beer"],"1F37B":["beers"],"1F942":["champagne_glass"],"1F943":["tumbler_glass"],"1FAD7":["pour","pouring_liquid"],"1F964":["cup_straw"],"1F9CB":["bubble_tea","boba_drink"],"1F9C3":["beverage_box","juice_box"],"1F9C9":["mate","yerba_mate"],"1F9CA":["ice"],"1F962":["chopsticks"],"1F37D":["fork_knife_plate"],"1F374":["utensils"],"1F944":["spoon"],"1F52A":["knife"],"1FAD9":["jar"],"1F3FA":["amphora"],"1F30D":["earth_africa"],"1F30E":["earth_americas"],"1F30F":["earth_asia"],"1F310":["globe"],"1F5FA":["map"],"1F5FE":["japan"],"1F9ED":["compass"],"1F3D4":["snowy_mountain"],"26F0":["mountain"],"1F30B":["volcano"],"1F5FB":["mount_fuji"],"1F3D5":["camping"],"1F3D6":["beach"],"1F3DC":["desert"],"1F3DD":["island"],"1F3DE":["park"],"1F3DF":["stadium"],"1F3DB":["classical_building"],"1F3D7":["construction_site"],"1F9F1":["brick"],"1FAA8":["rock"],"1FAB5":["wood"],"1F6D6":["hut"],"1F3D8":["homes"],"1F3DA":["house_abandoned"],"1F3E0":["house"],"1F3E1":["house_garden"],"1F3E2":["office"],"1F3E3":["ja_post_office"],"1F3E4":["post_office"],"1F3E5":["hospital"],"1F3E6":["bank"],"1F3E8":["hotel"],"1F3E9":["love_hotel"],"1F3EA":["convenience_store"],"1F3EB":["school"],"1F3EC":["department_store"],"1F3ED":["factory"],"1F3EF":["japanese_castle"],"1F3F0":["castle","european_castle"],"1F492":["wedding"],"1F5FC":["tokyo_tower"],"1F5FD":["statue_of_liberty"],"26EA":["church"],"1F54C":["mosque"],"1F6D5":["hindu_temple"],"1F54D":["synagogue"],"26E9":["shinto_shrine"],"1F54B":["kaaba"],"26F2":["fountain"],"26FA":["tent"],"1F301":["foggy"],"1F303":["night_stars"],"1F3D9":["cityscape"],"1F304":["sunrise_over_mountains"],"1F305":["sunrise"],"1F306":["dusk"],"1F307":["sunset"],"1F309":["bridge_at_night"],"1F3A0":["carousel_horse"],"1F6DD":["playground_slide","slide"],"1F3A1":["ferris_wheel"],"1F3A2":["roller_coaster"],"1F488":["barber"],"1F3AA":["circus_tent"],"1F682":["steam_locomotive"],"1F683":["railway_car"],"1F684":["bullettrain_side"],"1F685":["bullettrain"],"1F686":["train"],"1F687":["metro"],"1F688":["light_rail"],"1F689":["station"],"1F68A":["tram"],"1F69D":["monorail"],"1F69E":["mountain_railway"],"1F68B":["tram_car"],"1F68C":["bus"],"1F68D":["oncoming_bus"],"1F68E":["trolleybus"],"1F690":["minibus"],"1F691":["ambulance"],"1F692":["fire_engine"],"1F693":["police_car"],"1F694":["oncoming_police_car"],"1F695":["taxi"],"1F696":["oncoming_taxi"],"1F697":["red_car"],"1F698":["oncoming_automobile"],"1F699":["blue_car"],"1F6FB":["pickup_truck"],"1F69A":["truck"],"1F69B":["lorry"],"1F69C":["tractor"],"1F3CE":["race_car"],"1F3CD":["motorcycle"],"1F6F5":["motor_scooter"],"1F9BD":["wheelchair"],"1F9BC":["motor_wheelchair"],"1F6FA":["auto_rickshaw"],"1F6B2":["bike"],"1F6F4":["scooter"],"1F6F9":["skateboard"],"1F6FC":["roller_skate"],"1F68F":["bus_stop"],"1F6E3":["motorway"],"1F6E4":["railway_track"],"1F6E2":["oil_drum"],"26FD":["fuel_pump"],"1F6DE":["wheel"],"1F6A8":["rotating_light","police_light"],"1F6A5":["traffic_light"],"1F6A6":["vertical_traffic_light"],"1F6D1":["stop_sign","octagonal_sign"],"1F6A7":["construction"],"1F6DF":["lifebuoy","ring_buoy"],"26F5":["sailboat"],"1F6F6":["canoe"],"1F6A4":["speedboat"],"1F6F3":["cruise_ship"],"26F4":["ferry"],"1F6E5":["motorboat"],"1F6A2":["ship"],"1F6E9":["small_airplane"],"1F6EB":["airplane_departure"],"1F6EC":["airplane_arriving"],"1FA82":["parachute"],"1F4BA":["seat"],"1F681":["helicopter"],"1F69F":["suspension_railway"],"1F6A0":["mountain_cableway"],"1F6A1":["aerial_tramway"],"1F6F0":["satellite"],"1F680":["rocket"],"1F6F8":["flying_saucer"],"1F6CE":["bellhop"],"1F9F3":["luggage"],"231B":["hourglass"],"23F3":["hourglass_flowing"],"231A":["watch"],"23F0":["alarm_clock"],"23F1":["stopwatch"],"23F2":["timer"],"1F570":["clock"],"1F55B":["clock12"],"1F567":["clock1230"],"1F550":["clock1"],"1F55C":["clock130"],"1F551":["clock2"],"1F55D":["clock230"],"1F552":["clock3"],"1F55E":["clock330"],"1F553":["clock4"],"1F55F":["clock430"],"1F554":["clock5"],"1F560":["clock530"],"1F555":["clock6"],"1F561":["clock630"],"1F556":["clock7"],"1F562":["clock730"],"1F557":["clock8"],"1F563":["clock830"],"1F558":["clock9"],"1F564":["clock930"],"1F559":["clock10"],"1F565":["clock1030"],"1F55A":["clock11"],"1F566":["clock1130"],"1F311":["new_moon"],"1F312":["waxing_crescent_moon"],"1F313":["first_quarter_moon"],"1F314":["waxing_gibbous_moon"],"1F315":["full_moon"],"1F316":["waning_gibbous_moon"],"1F317":["last_quarter_moon"],"1F318":["waning_crescent_moon"],"1F319":["crescent_moon"],"1F31A":["new_moon_face"],"1F31B":["first_quarter_moon_face"],"1F31C":["last_quarter_moon_face"],"1F321":["thermometer"],"1F31D":["full_moon_face"],"1F31E":["sun_face"],"1FA90":["ringed_planet","saturn"],"2B50":["star"],"1F31F":["star2","glowing_star"],"1F320":["star3","shooting_star"],"1F30C":["milky_way"],"26C5":["partly_sunny"],"26C8":["storm"],"1F324":["overcast"],"1F325":["cloudy"],"1F326":["sunshower"],"1F327":["rain"],"1F328":["snow"],"1F329":["lightning"],"1F32A":["tornado"],"1F32B":["fog"],"1F32C":["wind_face"],"1F300":["cyclone"],"1F308":["rainbow"],"1F302":["closed_umbrella"],"26F1":["beach_umbrella"],"26A1":["zap","high_voltage"],"26C4":["snowman"],"1F525":["fire"],"1F4A7":["droplet"],"1F30A":["ocean"],"1F383":["jack_o_lantern"],"1F384":["christmas_tree","xmas_tree"],"1F386":["fireworks"],"1F387":["sparkler"],"1F9E8":["firecracker"],"1F388":["balloon"],"1F389":["tada","party"],"1F38A":["confetti_ball"],"1F38B":["tanabata_tree"],"1F38D":["bamboo","pine_decor"],"1F38E":["dolls"],"1F38F":["carp_streamer"],"1F390":["wind_chime"],"1F391":["moon_ceremony","rice_scene"],"1F9E7":["red_envelope"],"1F380":["ribbon"],"1F381":["gift"],"1F397":["reminder_ribbon"],"1F39F":["tickets","admission"],"1F3AB":["ticket"],"1F396":["military_medal"],"1F3C6":["trophy"],"1F3C5":["medal"],"1F947":["first_place"],"1F948":["second_place"],"1F949":["third_place"],"26BD":["soccer"],"26BE":["baseball"],"1F94E":["softball"],"1F3C0":["basketball"],"1F3D0":["volleyball"],"1F3C8":["football"],"1F3C9":["rugby"],"1F3BE":["tennis"],"1F94F":["flying_disc"],"1F3B3":["bowling"],"1F3CF":["cricket_game"],"1F3D1":["field_hockey"],"1F3D2":["hockey"],"1F94D":["lacrosse"],"1F3D3":["ping_pong"],"1F3F8":["badminton"],"1F94A":["boxing_glove"],"1F94B":["gi","martial_arts_uniform"],"1F945":["goal"],"26F3":["golf"],"26F8":["ice_skate"],"1F3A3":["fishing_pole"],"1F93F":["diving_mask","scuba_mask"],"1F3BD":["running_shirt"],"1F3BF":["ski"],"1F6F7":["sled"],"1F94C":["curling_stone"],"1F3AF":["dart"],"1FA80":["yoyo"],"1FA81":["kite"],"1F3B1":["8ball"],"1F52E":["crystal_ball"],"1FA84":["wand"],"1F9FF":["nazar_amulet"],"1FAAC":["hamsa"],"1F3AE":["video_game"],"1F579":["joystick"],"1F3B0":["slot_machine"],"1F3B2":["game_die"],"1F9E9":["jigsaw","puzzle_piece"],"1F9F8":["teddy_bear"],"1FA85":["pinata"],"1FAA9":["disco","disco_ball","mirror_ball"],"1FA86":["nesting_dolls"],"265F":["chess_pawn"],"1F0CF":["black_joker"],"1F004":["mahjong"],"1F3B4":["flower_cards"],"1F3AD":["performing_arts"],"1F5BC":["frame_photo"],"1F3A8":["art","palette"],"1F9F5":["spool"],"1FAA1":["sewing_needle"],"1F9F6":["yarn"],"1FAA2":["knot"],"1F453":["glasses"],"1F576":["sunglasses"],"1F97D":["goggles"],"1F97C":["lab_coat"],"1F9BA":["safety_vest"],"1F454":["necktie","tie"],"1F455":["shirt"],"1F456":["jeans"],"1F9E3":["scarf"],"1F9E4":["gloves"],"1F9E5":["coat"],"1F9E6":["socks"],"1F457":["dress"],"1F458":["kimono"],"1F97B":["sari"],"1FA71":["one_piece_swimsuit"],"1FA72":["briefs"],"1FA73":["shorts"],"1F459":["bikini"],"1F45A":["blouse","womans_clothes"],"1F45B":["purse"],"1F45C":["handbag"],"1F45D":["pouch","clutch_bag"],"1F6CD":["shopping_bags"],"1F392":["backpack"],"1FA74":["sandal"],"1F45E":["dress_shoe","mans_shoe"],"1F45F":["sneaker","athletic_shoe"],"1F97E":["hiking_boot"],"1F97F":["flat_shoe"],"1F460":["high_heel"],"1F461":["womans_sandal"],"1FA70":["ballet_shoes"],"1F462":["womans_boot"],"1F451":["crown"],"1F452":["womans_hat"],"1F3A9":["top_hat"],"1F393":["graduation_cap"],"1F9E2":["billed_cap"],"1FA96":["military_helmet"],"26D1":["helmet_cross"],"1F4FF":["prayer_beads"],"1F484":["lipstick"],"1F48D":["ring"],"1F48E":["gem"],"1F507":["mute","no_sound"],"1F508":["speaker","low_sound"],"1F509":["sound"],"1F50A":["loud_sound"],"1F4E2":["loudspeaker"],"1F4E3":["megaphone"],"1F4EF":["postal_horn"],"1F514":["bell"],"1F515":["no_bell"],"1F3BC":["musical_score"],"1F3B5":["musical_note"],"1F3B6":["musical_notes"],"1F399":["studio_microphone"],"1F39A":["level_slider"],"1F39B":["control_knobs"],"1F3A4":["microphone"],"1F3A7":["headphones"],"1F4FB":["radio"],"1F3B7":["saxophone"],"1FA97":["accordion"],"1F3B8":["guitar"],"1F3B9":["musical_keyboard"],"1F3BA":["trumpet"],"1F3BB":["violin"],"1FA95":["banjo"],"1F941":["drum"],"1FA98":["long_drum"],"1F4F1":["mobile","iphone","android"],"1F4F2":["mobile_calling"],"260E":["telephone"],"1F4DE":["telephone_receiver"],"1F4DF":["pager"],"1F4E0":["fax"],"1F50B":["battery"],"1FAAB":["low_battery"],"1F50C":["electric_plug"],"1F4BB":["laptop"],"1F5A5":["desktop","computer"],"1F5A8":["printer"],"1F5B1":["computer_mouse"],"1F5B2":["trackball"],"1F4BD":["minidisc"],"1F4BE":["floppy_disk"],"1F4BF":["cd","disk"],"1F4C0":["dvd"],"1F9EE":["abacus"],"1F3A5":["movie_camera"],"1F39E":["film_frames"],"1F4FD":["projector"],"1F3AC":["clapper"],"1F4FA":["tv"],"1F4F7":["camera"],"1F4F8":["camera_flash"],"1F4F9":["video_camera"],"1F4FC":["vhs"],"1F50D":["mag"],"1F50E":["mag_right"],"1F56F":["candle"],"1F4A1":["bulb","light_bulb"],"1F526":["flashlight"],"1F3EE":["red_lantern"],"1FA94":["diya_lamp"],"1F4D4":["decorative_notebook"],"1F4D5":["closed_book"],"1F4D6":["book"],"1F4D7":["green_book"],"1F4D8":["blue_book"],"1F4D9":["orange_book"],"1F4DA":["books"],"1F4D3":["notebook"],"1F4D2":["ledger"],"1F4C3":["page_curl"],"1F4DC":["scroll"],"1F4C4":["page_facing_up"],"1F4F0":["newspaper"],"1F5DE":["rolled_newspaper"],"1F4D1":["bookmark_tabs"],"1F516":["bookmark"],"1F3F7":["label"],"1F4B0":["moneybag"],"1FA99":["coin"],"1F4B4":["yen"],"1F4B5":["dollar"],"1F4B6":["euro"],"1F4B7":["pound"],"1F4B8":["money_wings"],"1F4B3":["credit_card"],"1F9FE":["receipt"],"1F4B9":["ja_chart"],"1F4E7":["email"],"1F4E8":["incoming_envelope"],"1F4E9":["envelope_arrow"],"1F4E4":["outbox_tray"],"1F4E5":["inbox_tray"],"1F4E6":["package"],"1F4EB":["mailbox"],"1F4EA":["mailbox_closed"],"1F4EC":["mailbox_mail"],"1F4ED":["mailbox_no_mail"],"1F4EE":["postbox"],"1F5F3":["ballot_box"],"270F":["pencil"],"1F58B":["fountain_pen"],"1F58A":["pen"],"1F58C":["paintbrush"],"1F58D":["crayon"],"1F4DD":["memo"],"1F4BC":["briefcase"],"1F4C1":["file_folder"],"1F4C2":["open_file_folder"],"1F5C2":["dividers"],"1F4C5":["date","calendar"],"1F4C6":["torn_calendar"],"1F5D2":["notepad_spiral"],"1F5D3":["calendar_spiral"],"1F4C7":["card_index"],"1F4C8":["chart_up"],"1F4C9":["chart_down"],"1F4CA":["bar_chart"],"1F4CB":["clipboard"],"1F4CC":["pushpin"],"1F4CD":["round_pushpin"],"1F4CE":["paperclip"],"1F587":["paperclips"],"1F4CF":["straight_ruler"],"1F4D0":["triangular_ruler"],"1F5C3":["card_box"],"1F5C4":["file_cabinet"],"1F5D1":["trashcan","wastebasket"],"1F512":["lock"],"1F513":["unlock"],"1F50F":["locked_pen"],"1F510":["locked_key"],"1F511":["key"],"1F5DD":["old_key"],"1F528":["hammer"],"1FA93":["axe"],"26CF":["pick"],"1F6E0":["tools","hammer_wrench"],"1F5E1":["dagger"],"1F52B":["gun","pistol"],"1FA83":["boomerang"],"1F3F9":["bow"],"1F6E1":["shield"],"1FA9A":["saw"],"1F527":["wrench"],"1FA9B":["screwdriver"],"1F529":["nut_and_bolt"],"1F5DC":["clamp","compression"],"1F9AF":["probing_cane"],"1F517":["link"],"26D3":["chains"],"1FA9D":["hook"],"1F9F0":["toolbox"],"1F9F2":["magnet"],"1FA9C":["ladder"],"1F9EA":["test_tube"],"1F9EB":["petri_dish"],"1F9EC":["dna","double_helix"],"1F52C":["microscope"],"1F52D":["telescope"],"1F4E1":["satellite_antenna"],"1F489":["syringe"],"1FA78":["blood_drop"],"1F48A":["pill"],"1FA79":["bandaid","adhesive_bandage"],"1FA7C":["crutch"],"1FA7A":["stethoscope"],"1FA7B":["x-ray","xray"],"1F6AA":["door"],"1F6D7":["elevator"],"1FA9E":["mirror"],"1FA9F":["window"],"1F6CF":["bed"],"1F6CB":["couch"],"1FA91":["chair"],"1F6BD":["toilet"],"1FAA0":["plunger"],"1F6BF":["shower"],"1F6C1":["bathtub"],"1FAA4":["mouse_trap"],"1FA92":["razor"],"1F9F4":["lotion"],"1F9F7":["safety_pin"],"1F9F9":["broom"],"1F9FA":["basket"],"1F9FB":["toilet_paper"],"1FAA3":["bucket"],"1F9FC":["soap"],"1FAE7":["bubbles"],"1FAA5":["toothbrush"],"1F9FD":["sponge"],"1F9EF":["fire_extinguisher"],"1F6D2":["shopping_cart"],"1F6AC":["cigarette","smoking"],"26B0":["coffin"],"1FAA6":["headstone"],"26B1":["urn"],"1F5FF":["moai"],"1FAA7":["placard"],"1FAAA":["id_card"],"1F3E7":["atm"],"1F6AE":["litter_bin"],"1F6B0":["potable_water"],"267F":["handicapped"],"1F6B9":["mens"],"1F6BA":["womens"],"1F6BB":["restroom","bathroom"],"1F6BC":["baby_symbol"],"1F6BE":["wc"],"1F6C2":["passport_control"],"1F6C3":["customs"],"1F6C4":["baggage_claim"],"1F6C5":["left_luggage"],"26A0":["warning"],"1F6B8":["children_crossing"],"26D4":["no_entry"],"1F6AB":["no_entry_sign"],"1F6B3":["no_bicycles"],"1F6AD":["no_smoking"],"1F6AF":["do_not_litter"],"1F6B1":["non_potable_water"],"1F6B7":["no_pedestrians"],"1F4F5":["no_mobile_phones"],"1F51E":["underage"],"2B06":["arrow_up"],"27A1":["arrow_right"],"2B07":["arrow_down"],"2B05":["arrow_left"],"21A9":["arrow_left_hook"],"21AA":["arrow_right_hook"],"1F503":["clockwise"],"1F504":["counter_clockwise"],"1F519":["back"],"1F51A":["end"],"1F51B":["on"],"1F51C":["soon"],"1F51D":["top"],"1F6D0":["place_of_worship"],"269B":["atom"],"1F549":["om_symbol"],"262F":["yin_yang"],"271D":["cross"],"262A":["star_and_crescent"],"262E":["peace"],"1F54E":["menorah"],"1F52F":["six_pointed_star"],"264A":["gemini"],"264B":["cancer"],"264C":["leo"],"264D":["virgo"],"264E":["libra"],"264F":["scorpius"],"26CE":["ophiuchus"],"1F500":["shuffle"],"1F501":["repeat"],"1F502":["repeat_single"],"25B6":["play"],"23E9":["fast_forward"],"23ED":["next_track"],"23EF":["play_pause"],"25C0":["reverse"],"23EA":["rewind"],"23EE":["previous_track"],"1F53C":["up_button"],"23EB":["fast_up_button"],"1F53D":["down_button"],"23EC":["fast_down_button"],"23F8":["pause"],"23F9":["stop"],"23FA":["record"],"23CF":["eject"],"1F3A6":["cinema"],"1F505":["dim","low_brightness"],"1F506":["bright","high_brightness"],"1F4F6":["signal_strength","antenna_bars"],"1F4F3":["vibration_mode"],"1F4F4":["mobile_phone_off"],"26A7":["trans"],"1F7F0":["heavy_equals_sign"],"267E":["infinity"],"203C":["bangbang","double_exclamation"],"1F4B1":["currency_exchange"],"1F4B2":["dollar_sign"],"267B":["recycle"],"269C":["fleur-de-lis"],"1F531":["trident"],"1F4DB":["name_badge"],"1F530":["ja_beginner"],"2B55":["o"],"274C":["x","cross_mark"],"274E":["cross_mark_button"],"27B0":["curly_loop"],"27BF":["double_curly_loop"],"303D":["part_alternation_mark"],"00A9":["copyright"],"00AE":["registered"],"0023-FE0F-20E3":["hash"],"002A-FE0F-20E3":["asterisk"],"0030-FE0F-20E3":["zero"],"0031-FE0F-20E3":["one"],"0032-FE0F-20E3":["two"],"0033-FE0F-20E3":["three"],"0034-FE0F-20E3":["four"],"0035-FE0F-20E3":["five"],"0036-FE0F-20E3":["six"],"0037-FE0F-20E3":["seven"],"0038-FE0F-20E3":["eight"],"0039-FE0F-20E3":["nine"],"1F51F":["ten"],"1F520":["upper_abcd"],"1F521":["abcd"],"1F522":["1234"],"1F523":["symbols"],"1F524":["abc"],"1F170":["a_blood"],"1F18E":["ab_blood"],"1F171":["b_blood"],"1F191":["cl"],"1F192":["cool"],"1F193":["free"],"1F194":["id"],"24C2":["m"],"1F195":["new"],"1F196":["ng"],"1F17E":["o_blood"],"1F197":["ok"],"1F17F":["p"],"1F198":["sos"],"1F199":["up"],"1F19A":["vs"],"1F201":["ja_here","koko"],"1F202":["ja_service_charge"],"1F237":["ja_monthly_amount"],"1F236":["ja_not_free_of_carge"],"1F22F":["ja_reserved"],"1F250":["ja_bargain"],"1F239":["ja_discount"],"1F21A":["ja_free_of_charge"],"1F232":["ja_prohibited"],"1F251":["ja_acceptable"],"1F238":["ja_application"],"1F234":["ja_passing_grade"],"1F233":["ja_vacancy"],"1F23A":["ja_open_for_business"],"1F235":["ja_no_vacancy"],"1F534":["red_circle"],"1F7E0":["orange_circle"],"1F7E1":["yellow_circle"],"1F7E2":["green_circle"],"1F535":["blue_circle"],"1F7E3":["purple_circle"],"1F7E4":["brown_circle"],"26AB":["black_circle"],"26AA":["white_circle"],"1F7E5":["red_square"],"1F7E7":["orange_square"],"1F7E8":["yellow_square"],"1F7E9":["green_square"],"1F7E6":["blue_square"],"1F7EA":["purple_square"],"1F7EB":["brown_square"],"2B1B":["large_black_square"],"2B1C":["large_white_square"],"25FC":["medium_black_square"],"25FB":["medium_white_square"],"25FE":["medium_small_black_square"],"25FD":["medium_small_white_square"],"25AA":["small_black_square"],"25AB":["small_white_square"],"1F536":["large_orange_diamond"],"1F537":["large_blue_diamond"],"1F538":["small_orange_diamond"],"1F539":["small_blue_diamond"],"1F53A":["up_red_triangle"],"1F53B":["down_red_triangle"],"1F4A0":["diamond_dot"],"1F518":["radio_button"],"1F533":["white_square_button"],"1F532":["black_square_button"],"1F3C1":["checkered_flag"],"1F6A9":["triangle_flag"],"1F38C":["crossed_flags"],"1F3F4":["black_flag"],"1F3F3":["white_flag"],"1F3F3-FE0F-200D-1F308":["rainbow_flag"],"1F3F3-FE0F-200D-26A7-FE0F":["trans_flag"],"1F3F4-200D-2620-FE0F":["pirate_flag","jolly_roger"],"1F1E6-1F1E8":["flag_ac"],"1F1E6-1F1E9":["flag_ad"],"1F1E6-1F1EA":["flag_ae"],"1F1E6-1F1EB":["flag_af"],"1F1E6-1F1EC":["flag_ag"],"1F1E6-1F1EE":["flag_ai"],"1F1E6-1F1F1":["flag_al"],"1F1E6-1F1F2":["flag_am"],"1F1E6-1F1F4":["flag_ao"],"1F1E6-1F1F6":["flag_aq"],"1F1E6-1F1F7":["flag_ar"],"1F1E6-1F1F8":["flag_as"],"1F1E6-1F1F9":["flag_at"],"1F1E6-1F1FA":["flag_au"],"1F1E6-1F1FC":["flag_aw"],"1F1E6-1F1FD":["flag_ax"],"1F1E6-1F1FF":["flag_az"],"1F1E7-1F1E6":["flag_ba"],"1F1E7-1F1E7":["flag_bb"],"1F1E7-1F1E9":["flag_bd"],"1F1E7-1F1EA":["flag_be"],"1F1E7-1F1EB":["flag_bf"],"1F1E7-1F1EC":["flag_bg"],"1F1E7-1F1ED":["flag_bh"],"1F1E7-1F1EE":["flag_bi"],"1F1E7-1F1EF":["flag_bj"],"1F1E7-1F1F1":["flag_bl"],"1F1E7-1F1F2":["flag_bm"],"1F1E7-1F1F3":["flag_bn"],"1F1E7-1F1F4":["flag_bo"],"1F1E7-1F1F6":["flag_bq"],"1F1E7-1F1F7":["flag_br"],"1F1E7-1F1F8":["flag_bs"],"1F1E7-1F1F9":["flag_bt"],"1F1E7-1F1FB":["flag_bv"],"1F1E7-1F1FC":["flag_bw"],"1F1E7-1F1FE":["flag_by"],"1F1E7-1F1FF":["flag_bz"],"1F1E8-1F1E6":["flag_ca"],"1F1E8-1F1E8":["flag_cc"],"1F1E8-1F1E9":["flag_cd"],"1F1E8-1F1EB":["flag_cf"],"1F1E8-1F1EC":["flag_cg"],"1F1E8-1F1ED":["flag_ch"],"1F1E8-1F1EE":["flag_ci"],"1F1E8-1F1F0":["flag_ck"],"1F1E8-1F1F1":["flag_cl"],"1F1E8-1F1F2":["flag_cm"],"1F1E8-1F1F3":["flag_cn"],"1F1E8-1F1F4":["flag_co"],"1F1E8-1F1F5":["flag_cp"],"1F1E8-1F1F7":["flag_cr"],"1F1E8-1F1FA":["flag_cu"],"1F1E8-1F1FB":["flag_cv"],"1F1E8-1F1FC":["flag_cw"],"1F1E8-1F1FD":["flag_cx"],"1F1E8-1F1FE":["flag_cy"],"1F1E8-1F1FF":["flag_cz"],"1F1E9-1F1EA":["flag_de"],"1F1E9-1F1EC":["flag_dg"],"1F1E9-1F1EF":["flag_dj"],"1F1E9-1F1F0":["flag_dk"],"1F1E9-1F1F2":["flag_dm"],"1F1E9-1F1F4":["flag_do"],"1F1E9-1F1FF":["flag_dz"],"1F1EA-1F1E6":["flag_ea"],"1F1EA-1F1E8":["flag_ec"],"1F1EA-1F1EA":["flag_ee"],"1F1EA-1F1EC":["flag_eg"],"1F1EA-1F1ED":["flag_eh"],"1F1EA-1F1F7":["flag_er"],"1F1EA-1F1F8":["flag_es"],"1F1EA-1F1F9":["flag_et"],"1F1EA-1F1FA":["flag_eu"],"1F1EB-1F1EE":["flag_fi"],"1F1EB-1F1EF":["flag_fj"],"1F1EB-1F1F0":["flag_fk"],"1F1EB-1F1F2":["flag_fm"],"1F1EB-1F1F4":["flag_fo"],"1F1EB-1F1F7":["flag_fr"],"1F1EC-1F1E6":["flag_ga"],"1F1EC-1F1E7":["flag_gb"],"1F1EC-1F1E9":["flag_gd"],"1F1EC-1F1EA":["flag_ge"],"1F1EC-1F1EB":["flag_gf"],"1F1EC-1F1EC":["flag_gg"],"1F1EC-1F1ED":["flag_gh"],"1F1EC-1F1EE":["flag_gi"],"1F1EC-1F1F1":["flag_gl"],"1F1EC-1F1F2":["flag_gm"],"1F1EC-1F1F3":["flag_gn"],"1F1EC-1F1F5":["flag_gp"],"1F1EC-1F1F6":["flag_gq"],"1F1EC-1F1F7":["flag_gr"],"1F1EC-1F1F8":["flag_gs"],"1F1EC-1F1F9":["flag_gt"],"1F1EC-1F1FA":["flag_gu"],"1F1EC-1F1FC":["flag_gw"],"1F1EC-1F1FE":["flag_gy"],"1F1ED-1F1F0":["flag_hk"],"1F1ED-1F1F2":["flag_hm"],"1F1ED-1F1F3":["flag_hn"],"1F1ED-1F1F7":["flag_hr"],"1F1ED-1F1F9":["flag_ht"],"1F1ED-1F1FA":["flag_hu"],"1F1EE-1F1E8":["flag_ic"],"1F1EE-1F1E9":["flag_id"],"1F1EE-1F1EA":["flag_ie"],"1F1EE-1F1F1":["flag_il"],"1F1EE-1F1F2":["flag_im"],"1F1EE-1F1F3":["flag_in"],"1F1EE-1F1F4":["flag_io"],"1F1EE-1F1F6":["flag_iq"],"1F1EE-1F1F7":["flag_ir"],"1F1EE-1F1F8":["flag_is"],"1F1EE-1F1F9":["flag_it"],"1F1EF-1F1EA":["flag_je"],"1F1EF-1F1F2":["flag_jm"],"1F1EF-1F1F4":["flag_jo"],"1F1EF-1F1F5":["flag_jp"],"1F1F0-1F1EA":["flag_ke"],"1F1F0-1F1EC":["flag_kg"],"1F1F0-1F1ED":["flag_kh"],"1F1F0-1F1EE":["flag_ki"],"1F1F0-1F1F2":["flag_km"],"1F1F0-1F1F3":["flag_kn"],"1F1F0-1F1F5":["flag_kp"],"1F1F0-1F1F7":["flag_kr"],"1F1F0-1F1FC":["flag_kw"],"1F1F0-1F1FE":["flag_ky"],"1F1F0-1F1FF":["flag_kz"],"1F1F1-1F1E6":["flag_la"],"1F1F1-1F1E7":["flag_lb"],"1F1F1-1F1E8":["flag_lc"],"1F1F1-1F1EE":["flag_li"],"1F1F1-1F1F0":["flag_lk"],"1F1F1-1F1F7":["flag_lr"],"1F1F1-1F1F8":["flag_ls"],"1F1F1-1F1F9":["flag_lt"],"1F1F1-1F1FA":["flag_lu"],"1F1F1-1F1FB":["flag_lv"],"1F1F1-1F1FE":["flag_ly"],"1F1F2-1F1E6":["flag_ma"],"1F1F2-1F1E8":["flag_mc"],"1F1F2-1F1E9":["flag_md"],"1F1F2-1F1EA":["flag_me"],"1F1F2-1F1EB":["flag_mf"],"1F1F2-1F1EC":["flag_mg"],"1F1F2-1F1ED":["flag_mh"],"1F1F2-1F1F0":["flag_mk"],"1F1F2-1F1F1":["flag_ml"],"1F1F2-1F1F2":["flag_mm"],"1F1F2-1F1F3":["flag_mn"],"1F1F2-1F1F4":["flag_mo"],"1F1F2-1F1F5":["flag_mp"],"1F1F2-1F1F6":["flag_mq"],"1F1F2-1F1F7":["flag_mr"],"1F1F2-1F1F8":["flag_ms"],"1F1F2-1F1F9":["flag_mt"],"1F1F2-1F1FA":["flag_mu"],"1F1F2-1F1FB":["flag_mv"],"1F1F2-1F1FC":["flag_mw"],"1F1F2-1F1FD":["flag_mx"],"1F1F2-1F1FE":["flag_my"],"1F1F2-1F1FF":["flag_mz"],"1F1F3-1F1E6":["flag_na"],"1F1F3-1F1E8":["flag_nc"],"1F1F3-1F1EA":["flag_ne"],"1F1F3-1F1EB":["flag_nf"],"1F1F3-1F1EC":["flag_ng"],"1F1F3-1F1EE":["flag_ni"],"1F1F3-1F1F1":["flag_nl"],"1F1F3-1F1F4":["flag_no"],"1F1F3-1F1F5":["flag_np"],"1F1F3-1F1F7":["flag_nr"],"1F1F3-1F1FA":["flag_nu"],"1F1F3-1F1FF":["flag_nz"],"1F1F4-1F1F2":["flag_om"],"1F1F5-1F1E6":["flag_pa"],"1F1F5-1F1EA":["flag_pe"],"1F1F5-1F1EB":["flag_pf"],"1F1F5-1F1EC":["flag_pg"],"1F1F5-1F1ED":["flag_ph"],"1F1F5-1F1F0":["flag_pk"],"1F1F5-1F1F1":["flag_pl"],"1F1F5-1F1F2":["flag_pm"],"1F1F5-1F1F3":["flag_pn"],"1F1F5-1F1F7":["flag_pr"],"1F1F5-1F1F8":["flag_ps"],"1F1F5-1F1F9":["flag_pt"],"1F1F5-1F1FC":["flag_pw"],"1F1F5-1F1FE":["flag_py"],"1F1F6-1F1E6":["flag_qa"],"1F1F7-1F1EA":["flag_re"],"1F1F7-1F1F4":["flag_ro"],"1F1F7-1F1F8":["flag_rs"],"1F1F7-1F1FA":["flag_ru"],"1F1F7-1F1FC":["flag_rw"],"1F1F8-1F1E6":["flag_sa"],"1F1F8-1F1E7":["flag_sb"],"1F1F8-1F1E8":["flag_sc"],"1F1F8-1F1E9":["flag_sd"],"1F1F8-1F1EA":["flag_se"],"1F1F8-1F1EC":["flag_sg"],"1F1F8-1F1ED":["flag_sh"],"1F1F8-1F1EE":["flag_si"],"1F1F8-1F1EF":["flag_sj"],"1F1F8-1F1F0":["flag_sk"],"1F1F8-1F1F1":["flag_sl"],"1F1F8-1F1F2":["flag_sm"],"1F1F8-1F1F3":["flag_sn"],"1F1F8-1F1F4":["flag_so"],"1F1F8-1F1F7":["flag_sr"],"1F1F8-1F1F8":["flag_ss"],"1F1F8-1F1F9":["flag_st"],"1F1F8-1F1FB":["flag_sv"],"1F1F8-1F1FD":["flag_sx"],"1F1F8-1F1FE":["flag_sy"],"1F1F8-1F1FF":["flag_sz"],"1F1F9-1F1E6":["flag_ta"],"1F1F9-1F1E8":["flag_tc"],"1F1F9-1F1E9":["flag_td"],"1F1F9-1F1EB":["flag_tf"],"1F1F9-1F1EC":["flag_tg"],"1F1F9-1F1ED":["flag_th"],"1F1F9-1F1EF":["flag_tj"],"1F1F9-1F1F0":["flag_tk"],"1F1F9-1F1F1":["flag_tl"],"1F1F9-1F1F2":["flag_tm"],"1F1F9-1F1F3":["flag_tn"],"1F1F9-1F1F4":["flag_to"],"1F1F9-1F1F7":["flag_tr"],"1F1F9-1F1F9":["flag_tt"],"1F1F9-1F1FB":["flag_tv"],"1F1F9-1F1FC":["flag_tw"],"1F1F9-1F1FF":["flag_tz"],"1F1FA-1F1E6":["flag_ua"],"1F1FA-1F1EC":["flag_ug"],"1F1FA-1F1F2":["flag_um"],"1F1FA-1F1F3":["flag_un"],"1F1FA-1F1F8":["flag_us","usa"],"1F1FA-1F1FE":["flag_uy"],"1F1FA-1F1FF":["flag_uz"],"1F1FB-1F1E6":["flag_va"],"1F1FB-1F1E8":["flag_vc"],"1F1FB-1F1EA":["flag_ve"],"1F1FB-1F1EC":["flag_vg"],"1F1FB-1F1EE":["flag_vi"],"1F1FB-1F1F3":["flag_vn"],"1F1FB-1F1FA":["flag_vu"],"1F1FC-1F1EB":["flag_wf"],"1F1FC-1F1F8":["flag_ws"],"1F1FD-1F1F0":["flag_xk"],"1F1FE-1F1EA":["flag_ye"],"1F1FE-1F1F9":["flag_yt"],"1F1FF-1F1E6":["flag_za"],"1F1FF-1F1F2":["flag_zm"],"1F1FF-1F1FC":["flag_zw"],"1F3F4-E0067-E0062-E0065-E006E-E0067-E007F":["flag_gbeng","england"],"1F3F4-E0067-E0062-E0073-E0063-E0074-E007F":["flag_gbsct","scotland"],"1F3F4-E0067-E0062-E0077-E006C-E0073-E007F":["flag_gbwls","wales"]}');var p=function F(e,a){return void 0===a&&(a=1),e.reduce((function(e,n){return e.concat(a>1&&Array.isArray(n)?F(n,a-1):n)}),[])}(Object.values(d)),h=Object.entries(d),E=function(F){return String.fromCodePoint.apply(String,F.split("-").map((function(F){return"0x"+F})))},D=new Map,b=new function(F,e,a,n){var o={};F=F||[],o.gramSizeLower=a||2,o.gramSizeUpper=n||3,o.useLevenshtein="boolean"!=typeof e||e,o.exactSet={},o.matchDict={},o.items={};var t=function(F,e){if(null===F&&null===e)throw"Trying to compare two null values";if(null===F||null===e)return 0;var a=function(F,e){for(var a,n,o=[],t=0;t<=e.length;t++)for(var i=0;i<=F.length;i++)n=t&&i?F.charAt(i-1)===e.charAt(t-1)?a:Math.min(o[i],o[i-1],a)+1:t+i,a=o[i],o[i]=n;return o.pop()}(F=String(F),e=String(e));return F.length>e.length?1-a/F.length:1-a/e.length},i=/[^a-zA-Z0-9\u00C0-\u00FF\u0621-\u064A\u0660-\u0669, ]+/g,r=function(F,e){for(var a={},n=function(F,e){e=e||2;var a="-"+F.toLowerCase().replace(i,"")+"-",n=e-a.length,o=[];if(n>0)for(var t=0;t=this.gramSizeLower;--n)if((a=this.__get(F,n,e))&&a.length>0)return a;return null},o.__get=function(F,e,a){var n,o,i,l,s=this._normalizeStr(F),_={},c=r(s,e),g=this.items[e],m=0;for(n in c)if(o=c[n],m+=Math.pow(o,2),n in this.matchDict)for(b=0;be[0]?-1:0};if(d.sort(h),this.useLevenshtein){for(var E=[],D=Math.min(50,d.length),b=0;b=a&&E.push([F[0],this.exactSet[F[1]]])}.bind(this)),E},o.add=function(F){if(this._normalizeStr(F)in this.exactSet)return!1;for(var e=this.gramSizeLower;e{}},e={};function a(n){var o=e[n];if(void 0!==o)return o.exports;var t=e[n]={exports:{}};return F[n](t,t.exports,a),t.exports}a.n=F=>{var e=F&&F.__esModule?()=>F.default:()=>F;return a.d(e,{a:e}),e},a.d=(F,e)=>{for(var n in e)a.o(e,n)&&!a.o(F,n)&&Object.defineProperty(F,n,{enumerable:!0,get:e[n]})},a.o=(F,e)=>Object.prototype.hasOwnProperty.call(F,e),a.r=F=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(F,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(F,"__esModule",{value:!0})};var n={};(()=>{"use strict";a.r(n);var F=a(656),e={};for(const a in F)"default"!==a&&(e[a]=()=>F[a]);a.d(n,e),a(838)})(),module.exports=n})(); //# sourceMappingURL=admin.js.map \ No newline at end of file diff --git a/js/dist/admin.js.map b/js/dist/admin.js.map index 5fe71b7..e6e03ea 100644 --- a/js/dist/admin.js.map +++ b/js/dist/admin.js.map @@ -1 +1 @@ -{"version":3,"file":"admin.js","mappings":"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","sources":["webpack://@fof/reactions/external root \"flarum.core.compat['admin/app']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/models/Forum']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/reactions/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/reactions/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/reactions/external root \"flarum.core.compat['common/components/Alert']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/components/Button']\"","webpack://@fof/reactions/./src/common/util/emoji.js","webpack://@fof/reactions/external root \"flarum.core.compat['admin/components/ExtensionPage']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/components/Select']\"","webpack://@fof/reactions/external root \"flarum.core.compat['admin/utils/saveSettings']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/components/Switch']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/utils/Stream']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/utils/withAttr']\"","webpack://@fof/reactions/./src/admin/components/SettingsPage.js","webpack://@fof/reactions/external root \"flarum.core.compat['common/utils/mixin']\"","webpack://@fof/reactions/./src/common/models/Reaction.js","webpack://@fof/reactions/./src/admin/index.js","webpack://@fof/reactions/webpack/bootstrap","webpack://@fof/reactions/webpack/runtime/compat get default export","webpack://@fof/reactions/webpack/runtime/define property getters","webpack://@fof/reactions/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/reactions/webpack/runtime/make namespace object"],"sourcesContent":["const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/Forum'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Alert'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","import emojis from 'simple-emoji-map';\n\nconst flatten = (arr, depth = 1) => arr.reduce((a, v) => a.concat(depth > 1 && Array.isArray(v) ? flatten(v, depth - 1) : v), []);\nconst shortnames = flatten(Object.values(emojis));\nconst entries = Object.entries(emojis);\nconst getEmoji = (identifier) => entries.find(([, value]) => value.includes(identifier));\nconst toUnicodeEmoji = (codePoint) => String.fromCodePoint(...codePoint.split('-').map((e) => `0x${e}`));\n\nexport class Match {\n /**\n * Match\n * Creates a new `Match` instance.\n *\n * It contains the following properties:\n *\n * - `input` (String): The input string.\n * - `score` (Number): A number between `0` and `1`. The closer to `1` it is, the better match it is.\n * - `emoji` (Object): The emoji object.\n * - `emoji_name` (String): The emoji name.\n *\n * @name Match\n * @function\n * @param {String} input The input string (just a word).\n */\n constructor(input) {\n let r = emojis[input],\n finalScore = -1,\n emojiName = null;\n\n if (r) {\n finalScore = 1;\n emojiName = input;\n } else {\n Object.entries(emojis).forEach(([n, e]) => {\n for (let i = 0; i <= e.length; ++i) {\n const c = e[i] || n,\n equals = c === input,\n indexF = c.indexOf(input),\n indexS = input.indexOf(c),\n score = equals && input.length ? 1 : indexF === 0 || (indexS === 0 && c.length > 1) ? 1 : indexF > 0 || indexS > 0 ? 0 : -1;\n\n if (score > finalScore) {\n emojiName = n;\n finalScore = score;\n if (score === 1) {\n return false;\n }\n }\n }\n });\n }\n\n this.score = finalScore;\n this.emoji = emojiName;\n }\n}\nconst emojiCache = new Map();\n\nexport default (reactionOrIdentifier) => {\n if (!reactionOrIdentifier) return {};\n\n const identifier = reactionOrIdentifier.identifier || reactionOrIdentifier;\n let codePoint;\n\n if (emojiCache.has(identifier)) return emojiCache.get(identifier);\n\n if (shortnames.includes(identifier)) {\n const emoji = getEmoji(identifier);\n codePoint = emoji && emoji[0];\n } else {\n const match = new Match(identifier);\n if (match.score) codePoint = match.emoji;\n }\n\n const output = codePoint\n ? {\n identifier,\n uc: toUnicodeEmoji(codePoint),\n url: `//cdn.jsdelivr.net/gh/twitter/twemoji@13/assets/72x72/${codePoint.toLowerCase()}.png`,\n type: 'emoji',\n }\n : {};\n\n emojiCache.set(reactionOrIdentifier, output);\n\n return output || {};\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/components/ExtensionPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Select'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/utils/saveSettings'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Switch'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/Stream'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/withAttr'];","import app from 'flarum/admin/app';\nimport Alert from 'flarum/common/components/Alert';\nimport Button from 'flarum/common/components/Button';\nimport emoji from '../../common/util/emoji';\nimport ExtensionPage from 'flarum/admin/components/ExtensionPage';\nimport Select from 'flarum/common/components/Select';\nimport saveSettings from 'flarum/admin/utils/saveSettings';\nimport Switch from 'flarum/common/components/Switch';\nimport Stream from 'flarum/common/utils/Stream';\nimport withAttr from 'flarum/common/utils/withAttr';\n\nexport default class SettingsPage extends ExtensionPage {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.fields = ['convertToUpvote', 'convertToDownvote', 'convertToLike'];\n\n this.values = {};\n\n this.reactions = app.forum.reactions();\n\n this.settingsPrefix = 'fof-reactions';\n\n const settings = app.data.settings;\n\n this.newReaction = {\n identifier: Stream(''),\n type: Stream('emoji'),\n };\n\n this.fields.forEach((key) => (this.values[key] = Stream(settings[this.addPrefix(key)])));\n }\n\n /**\n * @returns {*}\n */\n content() {\n return (\n
\n
\n
\n
\n {app.translator.trans('fof-reactions.admin.page.reactions.title')}\n \n
\n {app.translator.trans('fof-reactions.admin.page.reactions.Helptext')}\n
\n
\n
\n {this.reactions.map((reaction) => {\n const spanClass = reaction.type() === 'icon' && `fa fa-${reaction.identifier()} Reactions-demo`;\n const data = emoji(reaction.identifier());\n const demos = [];\n\n if (reaction.type() === 'icon') {\n demos.push(\n \n  \n \n );\n }\n\n if ((reaction.type === 'emoji' && data.uc) || data.uc) {\n demos.push(\n \n );\n }\n\n return [\n
\n this.update(reaction, 'display', val))}\n />\n this.update(reaction, 'identifier', val))}\n />\n {Select.component({\n options: { emoji: 'emoji', icon: 'icon' },\n value: reaction.type(),\n onchange: (val) => this.update(reaction, 'type', val),\n })}\n {Switch.component({\n className: 'Reactions-switch',\n state: reaction.enabled(),\n onchange: (val) => this.update(reaction, 'enabled', val),\n })}\n {Button.component({\n type: 'button',\n className: 'Button Button--warning Reactions-button',\n icon: 'fa fa-times',\n onclick: this.deleteReaction.bind(this, reaction),\n })}\n\n
{demos}
\n
,\n ];\n })}\n
\n
\n \n {Select.component({\n options: { emoji: 'emoji', icon: 'icon' },\n disabled: this.addLoading,\n value: this.newReaction.type(),\n onchange: this.newReaction.type,\n })}\n {Button.component({\n type: 'button',\n className: 'Button Button--warning Reactions-button',\n icon: this.addLoading ? '' : 'fa fa-plus',\n loading: this.addLoading,\n onclick: this.addReaction.bind(this),\n })}\n {this.newReaction.type() === 'icon' ? (\n \n  \n \n ) : (\n ''\n )}\n\n {emoji(this.newReaction.identifier()).uc ? (\n \n ) : (\n ''\n )}\n
\n
\n
\n
\n
\n {this.isExtEnabled('fof-gamification') || this.isExtEnabled('flarum-likes') ? (\n {app.translator.trans('fof-reactions.admin.page.settings.integrations.legend')}\n ) : (\n ''\n )}\n {this.isExtEnabled('fof-gamification') ? (\n
\n {app.translator.trans('fof-reactions.admin.page.settings.integrations.gamification.legend')}\n \n
\n {app.translator.trans('fof-reactions.admin.page.settings.integrations.gamification.upvoteHelptext')}\n
\n \n \n
\n {app.translator.trans('fof-reactions.admin.page.settings.integrations.gamification.downvoteHelptext')}\n
\n \n
\n ) : (\n ''\n )}\n {this.isExtEnabled('flarum-likes') ? (\n
\n {app.translator.trans('fof-reactions.admin.page.settings.integrations.likes.legend')}\n \n
{app.translator.trans('fof-reactions.admin.page.settings.integrations.likes.Helptext')}
\n \n
\n ) : (\n ''\n )}\n
\n {this.values.convertToUpvote() && this.values.convertToLike() ? (\n

{app.translator.trans('fof-reactions.admin.page.settings.integrations.warning')}

\n ) : (\n ''\n )}\n {Button.component(\n {\n type: 'submit',\n className: 'Button Button--primary',\n loading: this.loading,\n disabled: !this.changed(),\n },\n app.translator.trans('fof-reactions.admin.page.settings.save_settings', {\n strong: ,\n })\n )}\n
\n \n
\n
\n );\n }\n\n /**\n * @returns boolean\n */\n changed() {\n var fieldsCheck = this.fields.some((key) => this.values[key]() !== app.data.settings[this.addPrefix(key)]);\n return fieldsCheck;\n }\n\n addReaction() {\n const reaction = app.store.createRecord('reactions');\n\n this.addLoading = true;\n\n reaction\n .save({\n identifier: this.newReaction.identifier(),\n type: this.newReaction.type(),\n })\n .then(() => {\n this.reactions.push(reaction);\n\n this.newReaction.identifier('');\n this.newReaction.type('icon');\n\n this.addLoading = false;\n\n m.redraw();\n })\n .catch(() => {\n this.addLoading = false;\n\n m.redraw();\n });\n }\n\n update(reaction, key, value) {\n app.request({\n method: 'PATCH',\n url: `${app.forum.attribute('apiUrl')}/reactions/${reaction.id()}`,\n body: {\n [key]: value,\n },\n });\n\n this.reactions.some((r, i) => {\n if (r.id() === reaction.id()) {\n reaction[key] = Stream(value);\n return true;\n }\n });\n }\n\n deleteReaction(reactionToDelete) {\n app.request({\n method: 'DELETE',\n url: `${app.forum.attribute('apiUrl')}/reactions/${reactionToDelete.id()}`,\n });\n this.reactions.some((reaction, i) => {\n if (reaction.id() === reactionToDelete.id()) {\n this.reactions.splice(i, 1);\n return true;\n }\n });\n }\n\n onsubmit(e) {\n // prevent the usual form submit behaviour\n e.preventDefault();\n\n // if the page is already saving, do nothing\n if (this.loading) return;\n\n // prevents multiple savings\n this.loading = true;\n\n // remove previous success popup\n app.alerts.dismiss(this.successAlert);\n\n const settings = {};\n\n // gets all the values from the form\n this.fields.forEach((key) => (settings[this.addPrefix(key)] = this.values[key]()));\n\n // actually saves everything in the database\n saveSettings(settings)\n .then(() => {\n // on success, show popup\n app.alerts.show(\n (this.successAlert = new Alert({\n type: 'success',\n children: app.translator.trans('core.admin.basics.saved_message'),\n }))\n );\n })\n .catch(() => {})\n .then(() => {\n // return to the initial state and redraw the page\n this.loading = false;\n m.redraw();\n });\n }\n\n isExtEnabled(name) {\n const enabled = JSON.parse(app.data.settings.extensions_enabled);\n\n return enabled.indexOf(name) !== -1;\n }\n\n /**\n * @returns string\n */\n addPrefix(key) {\n return `${this.settingsPrefix}.${key}`;\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/mixin'];","import Model from 'flarum/common/Model';\nimport mixin from 'flarum/common/utils/mixin';\n\nexport default class Reaction extends mixin(Model, {\n identifier: Model.attribute('identifier'),\n display: Model.attribute('display'),\n type: Model.attribute('type'),\n enabled: Model.attribute('enabled'),\n\n user_id: Model.attribute('user_id'),\n post_id: Model.attribute('post_id'),\n reaction_id: Model.attribute('reaction_id'),\n}) {}\n","import app from 'flarum/admin/app';\nimport Forum from 'flarum/common/models/Forum';\nimport Model from 'flarum/common/Model';\n\nimport SettingsPage from './components/SettingsPage';\nimport Reaction from '../common/models/Reaction';\n\napp.initializers.add('fof/reactions', () => {\n app.store.models.reactions = Reaction;\n\n Forum.prototype.reactions = Model.hasMany('reactions');\n\n app.extensionData\n .for('fof-reactions')\n .registerPermission(\n {\n icon: 'far fa-thumbs-up',\n label: app.translator.trans('fof-reactions.admin.permissions.react_posts_label'),\n permission: 'discussion.reactPosts',\n },\n 'reply'\n )\n .registerPermission(\n {\n icon: 'fas fa-info-circle',\n label: app.translator.trans('fof-reactions.admin.permissions.see_reactions_label'),\n permission: 'discussion.canSeeReactions',\n },\n 'view'\n )\n .registerPage(SettingsPage);\n});\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"names":["flarum","core","compat","_setPrototypeOf","o","p","Object","setPrototypeOf","__proto__","_inheritsLoose","subClass","superClass","prototype","create","constructor","shortnames","flatten","arr","depth","reduce","a","v","concat","Array","isArray","values","emojis","entries","toUnicodeEmoji","codePoint","String","fromCodePoint","split","map","e","Match","input","r","finalScore","emojiName","forEach","n","i","length","c","equals","indexF","indexOf","indexS","score","this","emoji","emojiCache","Map","reactionOrIdentifier","identifier","has","get","includes","find","getEmoji","match","output","uc","url","toLowerCase","type","set","SettingsPage","oninit","vnode","fields","reactions","app","settingsPrefix","settings","newReaction","Stream","key","addPrefix","content","className","onsubmit","bind","style","reaction","spanClass","data","demos","push","alt","draggable","src","width","value","display","placeholder","oninput","withAttr","val","update","Select","options","icon","onchange","Switch","state","enabled","Button","onclick","deleteReaction","loading","addLoading","disabled","addReaction","isExtEnabled","convertToUpvote","convertToDownvote","convertToLike","changed","strong","some","save","then","m","redraw","method","id","body","reactionToDelete","splice","preventDefault","successAlert","saveSettings","Alert","children","name","JSON","parse","ExtensionPage","Reaction","mixin","Model","user_id","post_id","reaction_id","Forum","registerPermission","label","permission","registerPage","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","getter","__esModule","d","definition","defineProperty","enumerable","obj","prop","hasOwnProperty","call","Symbol","toStringTag"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"admin.js","mappings":"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","sources":["webpack://@fof/reactions/external root \"flarum.core.compat['admin/app']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/models/Forum']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/reactions/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/reactions/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/reactions/external root \"flarum.core.compat['common/components/Alert']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/components/Button']\"","webpack://@fof/reactions/./src/common/util/emoji.js","webpack://@fof/reactions/./node_modules/fuzzyset/dist/fuzzyset.esm.js","webpack://@fof/reactions/external root \"flarum.core.compat['admin/components/ExtensionPage']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/components/Select']\"","webpack://@fof/reactions/external root \"flarum.core.compat['admin/utils/saveSettings']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/components/Switch']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/utils/Stream']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/utils/withAttr']\"","webpack://@fof/reactions/./src/admin/components/SettingsPage.js","webpack://@fof/reactions/external root \"flarum.core.compat['common/utils/mixin']\"","webpack://@fof/reactions/./src/common/models/Reaction.js","webpack://@fof/reactions/./src/admin/index.js","webpack://@fof/reactions/webpack/bootstrap","webpack://@fof/reactions/webpack/runtime/compat get default export","webpack://@fof/reactions/webpack/runtime/define property getters","webpack://@fof/reactions/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/reactions/webpack/runtime/make namespace object"],"sourcesContent":["const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/Forum'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Alert'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","import emojis from 'simple-emoji-map';\nimport FuzzySet from 'fuzzyset';\n\nconst flatten = (arr, depth = 1) => arr.reduce((a, v) => a.concat(depth > 1 && Array.isArray(v) ? flatten(v, depth - 1) : v), []);\nconst shortnames = flatten(Object.values(emojis));\nconst entries = Object.entries(emojis);\nconst getEmoji = (identifier) => entries.find(([, value]) => value.includes(identifier));\nconst toUnicodeEmoji = (codePoint) => String.fromCodePoint(...codePoint.split('-').map((e) => `0x${e}`));\n\nconst emojiCache = new Map();\nconst fuzzySet = new FuzzySet(shortnames);\n\nconst search = (query) => {\n const results = fuzzySet.get(query);\n const [score, item] = results[0];\n\n return {\n score,\n item,\n };\n};\n\nexport default (reactionOrIdentifier) => {\n if (!reactionOrIdentifier) return {};\n\n let identifier = reactionOrIdentifier.identifier || reactionOrIdentifier;\n\n if (emojiCache.has(identifier)) return emojiCache.get(identifier);\n\n let score;\n\n if (!shortnames.includes(identifier)) {\n const match = search(identifier);\n\n identifier = match?.item;\n score = match?.score;\n }\n\n const emoji = getEmoji(identifier);\n const codePoint = emoji?.[0];\n\n const output = codePoint\n ? {\n identifier,\n score,\n uc: toUnicodeEmoji(codePoint),\n url: `//cdn.jsdelivr.net/gh/twitter/twemoji@14/assets/72x72/${codePoint.toLowerCase()}.png`,\n type: 'emoji',\n }\n : {};\n\n emojiCache.set(reactionOrIdentifier, output);\n\n return output || {};\n};\n","const FuzzySet = function(arr, useLevenshtein, gramSizeLower, gramSizeUpper) {\n var fuzzyset = {\n\n };\n\n // default options\n arr = arr || [];\n fuzzyset.gramSizeLower = gramSizeLower || 2;\n fuzzyset.gramSizeUpper = gramSizeUpper || 3;\n fuzzyset.useLevenshtein = (typeof useLevenshtein !== 'boolean') ? true : useLevenshtein;\n\n // define all the object functions and attributes\n fuzzyset.exactSet = {};\n fuzzyset.matchDict = {};\n fuzzyset.items = {};\n\n // helper functions\n var levenshtein = function(str1, str2) {\n var current = [], prev, value;\n\n for (var i = 0; i <= str2.length; i++)\n for (var j = 0; j <= str1.length; j++) {\n if (i && j)\n if (str1.charAt(j - 1) === str2.charAt(i - 1))\n value = prev;\n else\n value = Math.min(current[j], current[j - 1], prev) + 1;\n else\n value = i + j;\n\n prev = current[j];\n current[j] = value;\n }\n\n return current.pop();\n };\n\n // return an edit distance from 0 to 1\n var _distance = function(str1, str2) {\n if (str1 === null && str2 === null) throw 'Trying to compare two null values';\n if (str1 === null || str2 === null) return 0;\n str1 = String(str1); str2 = String(str2);\n\n var distance = levenshtein(str1, str2);\n if (str1.length > str2.length) {\n return 1 - distance / str1.length;\n } else {\n return 1 - distance / str2.length;\n }\n };\n\n // u00C0-u00FF is latin characters\n // u0621-u064a is arabic letters\n // u0660-u0669 is arabic numerals\n // TODO: figure out way to do this for more languages\n var _nonWordRe = /[^a-zA-Z0-9\\u00C0-\\u00FF\\u0621-\\u064A\\u0660-\\u0669, ]+/g;\n\n var _iterateGrams = function(value, gramSize) {\n gramSize = gramSize || 2;\n var simplified = '-' + value.toLowerCase().replace(_nonWordRe, '') + '-',\n lenDiff = gramSize - simplified.length,\n results = [];\n if (lenDiff > 0) {\n for (var i = 0; i < lenDiff; ++i) {\n simplified += '-';\n }\n }\n for (var i = 0; i < simplified.length - gramSize + 1; ++i) {\n results.push(simplified.slice(i, i + gramSize));\n }\n return results;\n };\n\n var _gramCounter = function(value, gramSize) {\n // return an object where key=gram, value=number of occurrences\n gramSize = gramSize || 2;\n var result = {},\n grams = _iterateGrams(value, gramSize),\n i = 0;\n for (i; i < grams.length; ++i) {\n if (grams[i] in result) {\n result[grams[i]] += 1;\n } else {\n result[grams[i]] = 1;\n }\n }\n return result;\n };\n\n // the main functions\n fuzzyset.get = function(value, defaultValue, minMatchScore) {\n // check for value in set, returning defaultValue or null if none found\n if (minMatchScore === undefined) {\n minMatchScore = .33;\n }\n var result = this._get(value, minMatchScore);\n if (!result && typeof defaultValue !== 'undefined') {\n return defaultValue;\n }\n return result;\n };\n\n fuzzyset._get = function(value, minMatchScore) {\n var results = [];\n // start with high gram size and if there are no results, go to lower gram sizes\n for (var gramSize = this.gramSizeUpper; gramSize >= this.gramSizeLower; --gramSize) {\n results = this.__get(value, gramSize, minMatchScore);\n if (results && results.length > 0) {\n return results;\n }\n }\n return null;\n };\n\n fuzzyset.__get = function(value, gramSize, minMatchScore) {\n var normalizedValue = this._normalizeStr(value),\n matches = {},\n gramCounts = _gramCounter(normalizedValue, gramSize),\n items = this.items[gramSize],\n sumOfSquareGramCounts = 0,\n gram,\n gramCount,\n i,\n index,\n otherGramCount;\n\n for (gram in gramCounts) {\n gramCount = gramCounts[gram];\n sumOfSquareGramCounts += Math.pow(gramCount, 2);\n if (gram in this.matchDict) {\n for (i = 0; i < this.matchDict[gram].length; ++i) {\n index = this.matchDict[gram][i][0];\n otherGramCount = this.matchDict[gram][i][1];\n if (index in matches) {\n matches[index] += gramCount * otherGramCount;\n } else {\n matches[index] = gramCount * otherGramCount;\n }\n }\n }\n }\n\n function isEmptyObject(obj) {\n for(var prop in obj) {\n if(obj.hasOwnProperty(prop))\n return false;\n }\n return true;\n }\n\n if (isEmptyObject(matches)) {\n return null;\n }\n\n var vectorNormal = Math.sqrt(sumOfSquareGramCounts),\n results = [],\n matchScore;\n // build a results list of [score, str]\n for (var matchIndex in matches) {\n matchScore = matches[matchIndex];\n results.push([matchScore / (vectorNormal * items[matchIndex][0]), items[matchIndex][1]]);\n }\n var sortDescending = function(a, b) {\n if (a[0] < b[0]) {\n return 1;\n } else if (a[0] > b[0]) {\n return -1;\n } else {\n return 0;\n }\n };\n results.sort(sortDescending);\n if (this.useLevenshtein) {\n var newResults = [],\n endIndex = Math.min(50, results.length);\n // truncate somewhat arbitrarily to 50\n for (var i = 0; i < endIndex; ++i) {\n newResults.push([_distance(results[i][1], normalizedValue), results[i][1]]);\n }\n results = newResults;\n results.sort(sortDescending);\n }\n newResults = [];\n results.forEach(function(scoreWordPair) {\n if (scoreWordPair[0] >= minMatchScore) {\n newResults.push([scoreWordPair[0], this.exactSet[scoreWordPair[1]]]);\n }\n }.bind(this));\n return newResults;\n };\n\n fuzzyset.add = function(value) {\n var normalizedValue = this._normalizeStr(value);\n if (normalizedValue in this.exactSet) {\n return false;\n }\n\n var i = this.gramSizeLower;\n for (i; i < this.gramSizeUpper + 1; ++i) {\n this._add(value, i);\n }\n };\n\n fuzzyset._add = function(value, gramSize) {\n var normalizedValue = this._normalizeStr(value),\n items = this.items[gramSize] || [],\n index = items.length;\n\n items.push(0);\n var gramCounts = _gramCounter(normalizedValue, gramSize),\n sumOfSquareGramCounts = 0,\n gram, gramCount;\n for (gram in gramCounts) {\n gramCount = gramCounts[gram];\n sumOfSquareGramCounts += Math.pow(gramCount, 2);\n if (gram in this.matchDict) {\n this.matchDict[gram].push([index, gramCount]);\n } else {\n this.matchDict[gram] = [[index, gramCount]];\n }\n }\n var vectorNormal = Math.sqrt(sumOfSquareGramCounts);\n items[index] = [vectorNormal, normalizedValue];\n this.items[gramSize] = items;\n this.exactSet[normalizedValue] = value;\n };\n\n fuzzyset._normalizeStr = function(str) {\n if (Object.prototype.toString.call(str) !== '[object String]') throw 'Must use a string as argument to FuzzySet functions';\n return str.toLowerCase();\n };\n\n // return length of items in set\n fuzzyset.length = function() {\n var count = 0,\n prop;\n for (prop in this.exactSet) {\n if (this.exactSet.hasOwnProperty(prop)) {\n count += 1;\n }\n }\n return count;\n };\n\n // return is set is empty\n fuzzyset.isEmpty = function() {\n for (var prop in this.exactSet) {\n if (this.exactSet.hasOwnProperty(prop)) {\n return false;\n }\n }\n return true;\n };\n\n // return list of values loaded into set\n fuzzyset.values = function() {\n var values = [],\n prop;\n for (prop in this.exactSet) {\n if (this.exactSet.hasOwnProperty(prop)) {\n values.push(this.exactSet[prop]);\n }\n }\n return values;\n };\n\n\n // initialization\n var i = fuzzyset.gramSizeLower;\n for (i; i < fuzzyset.gramSizeUpper + 1; ++i) {\n fuzzyset.items[i] = [];\n }\n // add all the items to the set\n for (i = 0; i < arr.length; ++i) {\n fuzzyset.add(arr[i]);\n }\n\n return fuzzyset;\n};\n\nexport default FuzzySet;\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/components/ExtensionPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Select'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/utils/saveSettings'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Switch'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/Stream'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/withAttr'];","import app from 'flarum/admin/app';\nimport Alert from 'flarum/common/components/Alert';\nimport Button from 'flarum/common/components/Button';\nimport emoji from '../../common/util/emoji';\nimport ExtensionPage from 'flarum/admin/components/ExtensionPage';\nimport Select from 'flarum/common/components/Select';\nimport saveSettings from 'flarum/admin/utils/saveSettings';\nimport Switch from 'flarum/common/components/Switch';\nimport Stream from 'flarum/common/utils/Stream';\nimport withAttr from 'flarum/common/utils/withAttr';\n\nexport default class SettingsPage extends ExtensionPage {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.fields = ['convertToUpvote', 'convertToDownvote', 'convertToLike'];\n\n this.values = {};\n\n this.reactions = app.forum.reactions();\n\n this.settingsPrefix = 'fof-reactions';\n\n const settings = app.data.settings;\n\n this.newReaction = {\n identifier: Stream(''),\n type: Stream('emoji'),\n };\n\n this.fields.forEach((key) => (this.values[key] = Stream(settings[this.addPrefix(key)])));\n }\n\n /**\n * @returns {*}\n */\n content() {\n return (\n
\n
\n
\n
\n {app.translator.trans('fof-reactions.admin.page.reactions.title')}\n \n
\n {app.translator.trans('fof-reactions.admin.page.reactions.Helptext')}\n
\n
\n
\n {this.reactions.map((reaction) => {\n const spanClass = reaction.type() === 'icon' && `fa fa-${reaction.identifier()} Reactions-demo`;\n const data = emoji(reaction.identifier());\n const demos = [];\n\n if (reaction.type() === 'icon') {\n demos.push(\n \n  \n \n );\n }\n\n if (data.uc) {\n demos.push(\n <>\n \n\n {data.score && reaction.type() === 'emoji' && (\n

\n ({data.identifier})\n

\n )}\n \n );\n }\n\n return [\n
\n this.update(reaction, 'display', val))}\n />\n this.update(reaction, 'identifier', val))}\n />\n {Select.component({\n options: { emoji: 'emoji', icon: 'icon' },\n value: reaction.type(),\n onchange: (val) => this.update(reaction, 'type', val),\n })}\n {Switch.component({\n className: 'Reactions-switch',\n state: reaction.enabled(),\n onchange: (val) => this.update(reaction, 'enabled', val),\n })}\n {Button.component({\n type: 'button',\n className: 'Button Button--warning Reactions-button',\n icon: 'fa fa-times',\n onclick: this.deleteReaction.bind(this, reaction),\n })}\n\n
{demos}
\n
,\n ];\n })}\n
\n
\n \n {Select.component({\n options: { emoji: 'emoji', icon: 'icon' },\n disabled: this.addLoading,\n value: this.newReaction.type(),\n onchange: this.newReaction.type,\n })}\n {Button.component({\n type: 'button',\n className: 'Button Button--warning Reactions-button',\n icon: this.addLoading ? '' : 'fa fa-plus',\n loading: this.addLoading,\n onclick: this.addReaction.bind(this),\n })}\n {this.newReaction.type() === 'icon' ? (\n \n  \n \n ) : (\n ''\n )}\n\n {emoji(this.newReaction.identifier()).uc ? (\n \n ) : (\n ''\n )}\n
\n
\n
\n
\n
\n {this.isExtEnabled('fof-gamification') || this.isExtEnabled('flarum-likes') ? (\n {app.translator.trans('fof-reactions.admin.page.settings.integrations.legend')}\n ) : (\n ''\n )}\n {this.isExtEnabled('fof-gamification') ? (\n
\n {app.translator.trans('fof-reactions.admin.page.settings.integrations.gamification.legend')}\n \n
\n {app.translator.trans('fof-reactions.admin.page.settings.integrations.gamification.upvoteHelptext')}\n
\n \n \n
\n {app.translator.trans('fof-reactions.admin.page.settings.integrations.gamification.downvoteHelptext')}\n
\n \n
\n ) : (\n ''\n )}\n {this.isExtEnabled('flarum-likes') ? (\n
\n {app.translator.trans('fof-reactions.admin.page.settings.integrations.likes.legend')}\n \n
{app.translator.trans('fof-reactions.admin.page.settings.integrations.likes.Helptext')}
\n \n
\n ) : (\n ''\n )}\n
\n {this.values.convertToUpvote() && this.values.convertToLike() ? (\n

{app.translator.trans('fof-reactions.admin.page.settings.integrations.warning')}

\n ) : (\n ''\n )}\n {Button.component(\n {\n type: 'submit',\n className: 'Button Button--primary',\n loading: this.loading,\n disabled: !this.changed(),\n },\n app.translator.trans('fof-reactions.admin.page.settings.save_settings', {\n strong: ,\n })\n )}\n
\n \n
\n
\n );\n }\n\n /**\n * @returns boolean\n */\n changed() {\n var fieldsCheck = this.fields.some((key) => this.values[key]() !== app.data.settings[this.addPrefix(key)]);\n return fieldsCheck;\n }\n\n addReaction() {\n const reaction = app.store.createRecord('reactions');\n\n this.addLoading = true;\n\n reaction\n .save({\n identifier: this.newReaction.identifier(),\n type: this.newReaction.type(),\n })\n .then(() => {\n this.reactions.push(reaction);\n\n this.newReaction.identifier('');\n this.newReaction.type('icon');\n\n this.addLoading = false;\n\n m.redraw();\n })\n .catch(() => {\n this.addLoading = false;\n\n m.redraw();\n });\n }\n\n update(reaction, key, value) {\n app.request({\n method: 'PATCH',\n url: `${app.forum.attribute('apiUrl')}/reactions/${reaction.id()}`,\n body: {\n [key]: value,\n },\n });\n\n this.reactions.some((r, i) => {\n if (r.id() === reaction.id()) {\n reaction[key] = Stream(value);\n return true;\n }\n });\n }\n\n deleteReaction(reactionToDelete) {\n app.request({\n method: 'DELETE',\n url: `${app.forum.attribute('apiUrl')}/reactions/${reactionToDelete.id()}`,\n });\n this.reactions.some((reaction, i) => {\n if (reaction.id() === reactionToDelete.id()) {\n this.reactions.splice(i, 1);\n return true;\n }\n });\n }\n\n onsubmit(e) {\n // prevent the usual form submit behaviour\n e.preventDefault();\n\n // if the page is already saving, do nothing\n if (this.loading) return;\n\n // prevents multiple savings\n this.loading = true;\n\n // remove previous success popup\n app.alerts.dismiss(this.successAlert);\n\n const settings = {};\n\n // gets all the values from the form\n this.fields.forEach((key) => (settings[this.addPrefix(key)] = this.values[key]()));\n\n // actually saves everything in the database\n saveSettings(settings)\n .then(() => {\n // on success, show popup\n app.alerts.show(\n (this.successAlert = new Alert({\n type: 'success',\n children: app.translator.trans('core.admin.basics.saved_message'),\n }))\n );\n })\n .catch(() => {})\n .then(() => {\n // return to the initial state and redraw the page\n this.loading = false;\n m.redraw();\n });\n }\n\n isExtEnabled(name) {\n const enabled = JSON.parse(app.data.settings.extensions_enabled);\n\n return enabled.indexOf(name) !== -1;\n }\n\n /**\n * @returns string\n */\n addPrefix(key) {\n return `${this.settingsPrefix}.${key}`;\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/mixin'];","import Model from 'flarum/common/Model';\nimport mixin from 'flarum/common/utils/mixin';\n\nexport default class Reaction extends mixin(Model, {\n identifier: Model.attribute('identifier'),\n display: Model.attribute('display'),\n type: Model.attribute('type'),\n enabled: Model.attribute('enabled'),\n\n user_id: Model.attribute('user_id'),\n post_id: Model.attribute('post_id'),\n reaction_id: Model.attribute('reaction_id'),\n}) {}\n","import app from 'flarum/admin/app';\nimport Forum from 'flarum/common/models/Forum';\nimport Model from 'flarum/common/Model';\n\nimport SettingsPage from './components/SettingsPage';\nimport Reaction from '../common/models/Reaction';\n\napp.initializers.add('fof/reactions', () => {\n app.store.models.reactions = Reaction;\n\n Forum.prototype.reactions = Model.hasMany('reactions');\n\n app.extensionData\n .for('fof-reactions')\n .registerPermission(\n {\n icon: 'far fa-thumbs-up',\n label: app.translator.trans('fof-reactions.admin.permissions.react_posts_label'),\n permission: 'discussion.reactPosts',\n },\n 'reply'\n )\n .registerPermission(\n {\n icon: 'fas fa-info-circle',\n label: app.translator.trans('fof-reactions.admin.permissions.see_reactions_label'),\n permission: 'discussion.canSeeReactions',\n },\n 'view'\n )\n .registerPage(SettingsPage);\n});\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"names":["flarum","core","compat","_setPrototypeOf","o","p","Object","setPrototypeOf","__proto__","_inheritsLoose","subClass","superClass","prototype","create","constructor","shortnames","flatten","arr","depth","reduce","a","v","concat","Array","isArray","values","emojis","entries","toUnicodeEmoji","codePoint","String","fromCodePoint","split","map","e","emojiCache","Map","fuzzySet","useLevenshtein","gramSizeLower","gramSizeUpper","fuzzyset","exactSet","matchDict","items","_distance","str1","str2","distance","prev","value","current","i","length","j","charAt","Math","min","pop","levenshtein","_nonWordRe","_gramCounter","gramSize","result","grams","simplified","toLowerCase","replace","lenDiff","results","push","slice","_iterateGrams","get","defaultValue","minMatchScore","undefined","this","_get","__get","gram","gramCount","index","otherGramCount","normalizedValue","_normalizeStr","matches","gramCounts","sumOfSquareGramCounts","pow","obj","prop","hasOwnProperty","isEmptyObject","matchScore","vectorNormal","sqrt","matchIndex","sortDescending","b","sort","newResults","endIndex","forEach","scoreWordPair","bind","add","_add","str","toString","call","count","isEmpty","reactionOrIdentifier","score","query","identifier","has","includes","match","item","emoji","find","getEmoji","output","uc","url","type","set","SettingsPage","oninit","vnode","fields","reactions","app","settingsPrefix","settings","newReaction","Stream","key","addPrefix","content","className","onsubmit","style","reaction","spanClass","data","demos","alt","draggable","src","width","display","placeholder","oninput","withAttr","val","update","Select","options","icon","onchange","Switch","state","enabled","Button","onclick","deleteReaction","loading","addLoading","disabled","addReaction","isExtEnabled","convertToUpvote","convertToDownvote","convertToLike","changed","strong","some","save","then","m","redraw","method","id","body","r","reactionToDelete","splice","preventDefault","successAlert","saveSettings","Alert","children","name","JSON","parse","indexOf","ExtensionPage","Reaction","mixin","Model","user_id","post_id","reaction_id","Forum","registerPermission","label","permission","registerPage","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","n","getter","__esModule","d","definition","defineProperty","enumerable","Symbol","toStringTag"],"sourceRoot":""} \ No newline at end of file diff --git a/js/dist/forum.js b/js/dist/forum.js index ec9a96e..e473c46 100644 --- a/js/dist/forum.js +++ b/js/dist/forum.js @@ -1,2 +1,2 @@ -(()=>{var F={987:(F,e,a)=>{var o=/^\s+|\s+$/g,n=/^[-+]0x[0-9a-f]+$/i,t=/^0b[01]+$/i,r=/^0o[0-7]+$/i,i=parseInt,l="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,_="object"==typeof self&&self&&self.Object===Object&&self,s=l||_||Function("return this")(),c=Object.prototype.toString,g=Math.max,m=Math.min,f=function(){return s.Date.now()};function u(F){var e=typeof F;return!!F&&("object"==e||"function"==e)}function p(F){if("number"==typeof F)return F;if(function(F){return"symbol"==typeof F||function(F){return!!F&&"object"==typeof F}(F)&&"[object Symbol]"==c.call(F)}(F))return NaN;if(u(F)){var e="function"==typeof F.valueOf?F.valueOf():F;F=u(e)?e+"":e}if("string"!=typeof F)return 0===F?F:+F;F=F.replace(o,"");var a=t.test(F);return a||r.test(F)?i(F.slice(2),a?2:8):n.test(F)?NaN:+F}F.exports=function(F,e,a){var o,n,t,r,i,l,_=0,s=!1,c=!1,d=!0;if("function"!=typeof F)throw new TypeError("Expected a function");function E(e){var a=o,t=n;return o=n=void 0,_=e,r=F.apply(t,a)}function h(F){return _=F,i=setTimeout(D,e),s?E(F):r}function b(F){var a=F-l;return void 0===l||a>=e||a<0||c&&F-_>=t}function D(){var F=f();if(b(F))return w(F);i=setTimeout(D,function(F){var a=e-(F-l);return c?m(a,t-(F-_)):a}(F))}function w(F){return i=void 0,d&&o?E(F):(o=n=void 0,r)}function A(){var F=f(),a=b(F);if(o=arguments,n=this,l=F,a){if(void 0===i)return h(l);if(c)return i=setTimeout(D,e),E(l)}return void 0===i&&(i=setTimeout(D,e)),r}return e=p(e)||0,u(a)&&(s=!!a.leading,t=(c="maxWait"in a)?g(p(a.maxWait)||0,e):t,d="trailing"in a?!!a.trailing:d),A.cancel=function(){void 0!==i&&clearTimeout(i),_=0,o=l=n=i=void 0},A.flush=function(){return void 0===i?r:w(f())},A}},656:()=>{},153:(F,e,a)=>{"use strict";const o=flarum.core.compat["common/extend"],n=flarum.core.compat["forum/app"];var t=a.n(n);const r=flarum.core.compat["common/models/Forum"];var i=a.n(r);const l=flarum.core.compat["common/models/Discussion"];var _=a.n(l);const s=flarum.core.compat["common/models/Post"];var c=a.n(s);const g=flarum.core.compat["common/Model"];var f=a.n(g);const u=flarum.core.compat["forum/components/NotificationGrid"];var p=a.n(u);function d(F,e){return d=Object.setPrototypeOf||function(F,e){return F.__proto__=e,F},d(F,e)}function E(F,e){F.prototype=Object.create(e.prototype),F.prototype.constructor=F,d(F,e)}const h=flarum.core.compat["forum/components/Notification"];var b=a.n(h);const D=flarum.core.compat["common/helpers/icon"];var w=a.n(D);const A=JSON.parse('{"2049":["interrobang","exclamation_question"],"2122":["tm"],"2139":["info"],"2194":["arrow_left_right"],"2195":["arrow_up_down"],"2196":["arrow_upper_left"],"2197":["arrow_upper_right"],"2198":["arrow_lower_right"],"2199":["arrow_lower_left"],"2328":["keyboard"],"2600":["sun"],"2601":["cloud"],"2602":["umbrella"],"2603":["snowy_snowman"],"2604":["comet"],"2611":["checked_ballot"],"2614":["umbrella_rain"],"2615":["coffee"],"2618":["shamrock"],"2620":["crossbones"],"2622":["radioactive"],"2623":["biohazard"],"2626":["orthodox_cross"],"2638":["wheel_of_dharma"],"2639":["sad","frowning"],"2640":["female","female_sign"],"2642":["male","male_sign"],"2648":["aries"],"2649":["taurus"],"2650":["sagittarius"],"2651":["capricorn"],"2652":["aquarius"],"2653":["pisces"],"2660":["spades"],"2663":["clubs"],"2665":["hearts"],"2666":["diamonds"],"2668":["hotsprings"],"2692":["hammer_pick"],"2693":["anchor"],"2694":["crossed_swords"],"2695":["medical"],"2696":["scales"],"2697":["alembic"],"2699":["gear"],"2702":["scissors"],"2705":["white_check_mark"],"2708":["airplane"],"2709":["envelope"],"2712":["black_nib"],"2714":["check_mark"],"2716":["multiplication"],"2721":["star_of_david"],"2728":["sparkles"],"2733":["eight_spoked_asterisk"],"2734":["eight_pointed_star"],"2744":["snowflake"],"2747":["sparkle"],"2753":["question"],"2754":["white_question"],"2755":["white_exclamation"],"2757":["exclamation"],"2763":["heart_exclamation"],"2764":["heart"],"2795":["plus"],"2796":["minus"],"2797":["division"],"2934":["arrow_heading_up"],"2935":["arrow_heading_down"],"3030":["wavy_dash"],"3297":["ja_congratulations"],"3299":["ja_secret"],"1F1E6":["regional_indicator_a"],"1F1E7":["regional_indicator_b"],"1F1E8":["regional_indicator_c"],"1F1E9":["regional_indicator_d"],"1F1EA":["regional_indicator_e"],"1F1EB":["regional_indicator_f"],"1F1EC":["regional_indicator_g"],"1F1ED":["regional_indicator_h"],"1F1EE":["regional_indicator_i"],"1F1EF":["regional_indicator_j"],"1F1F0":["regional_indicator_k"],"1F1F1":["regional_indicator_l"],"1F1F2":["regional_indicator_m"],"1F1F3":["regional_indicator_n"],"1F1F4":["regional_indicator_o"],"1F1F5":["regional_indicator_p"],"1F1F6":["regional_indicator_q"],"1F1F7":["regional_indicator_r"],"1F1F8":["regional_indicator_s"],"1F1F9":["regional_indicator_t"],"1F1FA":["regional_indicator_u"],"1F1FB":["regional_indicator_v"],"1F1FC":["regional_indicator_w"],"1F1FD":["regional_indicator_x"],"1F1FE":["regional_indicator_y"],"1F1FF":["regional_indicator_z"],"1F600":["gleeful"],"1F603":["glad","smile"],"1F604":["happy"],"1F601":["blissful","grin"],"1F606":["amused","laugh","lol"],"1F605":["embarassed","sweat_smile"],"1F923":["entertained","rofl"],"1F602":["joyful","haha"],"1F642":["pleased","slight_smile"],"1F643":["ecstatic","upside_down"],"1FAE0":["melt","melting_face"],"1F609":["coy","wink"],"1F60A":["blush"],"1F607":["innocent","halo"],"1F970":["love"],"1F60D":["lovestruck"],"1F929":["starstruck"],"1F618":["flirty"],"1F617":["kiss"],"263A":["relaxed"],"1F61A":["loving_kiss"],"1F619":["happy_kiss"],"1F972":["tear_smile"],"1F60B":["yum","savour"],"1F61B":["playful","tongue_out"],"1F61C":["mischievous"],"1F92A":["crazy"],"1F61D":["facetious","lmao"],"1F911":["pretentious","money_mouth"],"1F917":["hugging"],"1F92D":["gasp"],"1FAE2":["face_with_open_eyes_hand_over_mouth","gasp"],"1FAE3":["face_with_peeking_eye","peek"],"1F92B":["shushing"],"1F914":["curious","thinking"],"1FAE1":["salute","saluting_face"],"1F910":["silenced","zipper_mouth"],"1F928":["contempt"],"1F610":["indifferent","neutral"],"1F611":["apathetic","expressionless"],"1F636":["vacant","no_mouth"],"1FAE5":["dotted_line_face"],"1F636-200D-1F32B-FE0F":["in_clouds"],"1F60F":["cocky","smirk"],"1F612":["unamused"],"1F644":["disbelief"],"1F62C":["grimaced"],"1F62E-200D-1F4A8":["exhale","exhaling"],"1F925":["lying"],"1F60C":["relieved"],"1F614":["pensive"],"1F62A":["sleepy"],"1F924":["drooling"],"1F634":["exhausted","sleeping"],"1F637":["ill","mask"],"1F912":["sick"],"1F915":["injured"],"1F922":["nauseated"],"1F92E":["vomiting"],"1F927":["sneezing"],"1F975":["overheating"],"1F976":["freezing"],"1F974":["woozy"],"1F635":["dizzy"],"1F635-200D-1F4AB":["dizzy_eyes"],"1F92F":["shocked","exploding_head"],"1F920":["cowboy"],"1F973":["partying","celebrating"],"1F978":["disguised_face"],"1F60E":["confident"],"1F913":["nerd"],"1F9D0":["monocle"],"1F615":["confused"],"1FAE4":["face_with_diagonal_mouth"],"1F61F":["worried"],"1F641":["cheerless","slight_frown"],"1F62E":["surprised"],"1F62F":["hushed"],"1F632":["astonished"],"1F633":["flushed"],"1F97A":["pleading"],"1F979":["face_holding_back_tears","watery_eyes"],"1F626":["bored"],"1F627":["anguished","wtf"],"1F628":["fearful"],"1F630":["cold_sweat","anxious","frustrated"],"1F625":["gloomy"],"1F622":["upset","cry"],"1F62D":["distressed","sob"],"1F631":["frightened","scream"],"1F616":["confounded"],"1F623":["persevered"],"1F61E":["disappointed"],"1F613":["shamed"],"1F629":["weary"],"1F62B":["tired"],"1F971":["yawn"],"1F624":["annoyed","hrmph"],"1F621":["enraged","pout"],"1F620":["angry"],"1F92C":["censored"],"1F608":["imp"],"1F47F":["angry_imp"],"1F480":["skull"],"1F4A9":["poop"],"1F921":["clown"],"1F479":["ogre"],"1F47A":["goblin"],"1F47B":["ghost"],"1F47D":["alien"],"1F47E":["alien_monster","space_invader"],"1F916":["robot"],"1F63A":["smiling_cat"],"1F638":["grinning_cat"],"1F639":["joyful_cat"],"1F63B":["lovestruck_cat"],"1F63C":["smirking_cat"],"1F63D":["kissing_cat"],"1F640":["weary_cat"],"1F63F":["crying_cat"],"1F63E":["pouting_cat"],"1F648":["see_no_evil"],"1F649":["hear_no_evil"],"1F64A":["speak_no_evil"],"1F48B":["kiss_lips"],"1F48C":["love_letter"],"1F498":["cupid"],"1F49D":["heart_ribbon"],"1F496":["sparkling_heart"],"1F497":["heartpulse"],"1F493":["heartbeat"],"1F49E":["revolving_hearts"],"1F495":["two_hearts"],"1F49F":["heart_decoration"],"1F494":["broken_heart"],"2764-FE0F-200D-1F525":["heart_on_fire"],"2764-FE0F-200D-1FA79":["mending_heart"],"1F9E1":["orange_heart"],"1F49B":["yellow_heart"],"1F49A":["green_heart"],"1F499":["blue_heart"],"1F49C":["purple_heart"],"1F90E":["brown_heart"],"1F5A4":["black_heart"],"1F90D":["white_heart"],"1F4AF":["100"],"1F4A2":["anger"],"1F4A5":["boom","collision"],"1F4AB":["dizzy_star"],"1F4A6":["sweat_drops"],"1F4A8":["dash"],"1F573":["hole"],"1F4A3":["bomb"],"1F4AC":["speech"],"1F441-FE0F-200D-1F5E8-FE0F":["eye_bubble"],"1F5E8":["left_speech"],"1F5EF":["right_anger_speech"],"1F4AD":["thought"],"1F4A4":["zzz"],"1F44B":["wave"],"1F91A":["raised_backhand"],"1F590":["splayed_hand"],"270B":["raised_hand"],"1F596":["vulcan"],"1FAF1":["rightwards_hand"],"1FAF2":["leftwards_hand"],"1FAF3":["palm_down"],"1FAF4":["palm_up"],"1F44C":["ok_hand"],"1F90C":["pinched_fingers"],"1F90F":["pinch"],"270C":["victory"],"1F91E":["fingers_crossed"],"1FAF0":["hand_with_index_finger_and_thumb_crossed"],"1F91F":["love_you_gesture"],"1F918":["metal"],"1F919":["call_me"],"1F448":["point_left"],"1F449":["point_right"],"1F446":["backhand_point_up"],"1F595":["middle_finger"],"1F447":["point_down"],"261D":["point_up"],"1FAF5":["point_forward"],"1F44D":["thumbsup","+1","y","yes"],"1F44E":["thumbsdown","-1","n","no"],"270A":["fist"],"1F44A":["punch"],"1F91B":["left_facing_fist"],"1F91C":["right_facing_fist"],"1F44F":["clap"],"1F64C":["raised_hands"],"1FAF6":["heart_hands"],"1F450":["open_hands"],"1F932":["palms_up"],"1F91D":["handshake"],"1F64F":["pray"],"270D":["writing_hand"],"1F485":["nail_care"],"1F933":["selfie"],"1F4AA":["muscle","right_bicep"],"1F9BE":["mech_arm"],"1F9BF":["mech_leg"],"1F9B5":["leg"],"1F9B6":["foot"],"1F442":["ear"],"1F9BB":["hearing_aid"],"1F443":["nose"],"1F9E0":["brain"],"1FAC0":["anatomical_heart"],"1FAC1":["lungs"],"1F9B7":["tooth"],"1F9B4":["bone"],"1F440":["eyes"],"1F441":["eye"],"1F445":["tongue"],"1F444":["lips"],"1FAE6":["biting_lip"],"1F476":["baby"],"1F9D2":["child"],"1F466":["boy"],"1F467":["girl"],"1F9D1":["adult"],"1F471":["blond_person"],"1F468":["man"],"1F9D4":["bearded_person"],"1F9D4-200D-2642-FE0F":["man_bearded"],"1F9D4-200D-2640-FE0F":["woman_bearded"],"1F468-200D-1F9B0":["red_haired_man"],"1F468-200D-1F9B1":["curly_haired_man"],"1F468-200D-1F9B3":["white_haired_man"],"1F468-200D-1F9B2":["bald_man"],"1F469":["woman"],"1F469-200D-1F9B0":["red_haired_woman"],"1F9D1-200D-1F9B0":["red_haired_person"],"1F469-200D-1F9B1":["curly_haired_woman"],"1F9D1-200D-1F9B1":["curly_haired_person"],"1F469-200D-1F9B3":["white_haired_woman"],"1F9D1-200D-1F9B3":["white_haired_person"],"1F469-200D-1F9B2":["bald_woman"],"1F9D1-200D-1F9B2":["bald_person"],"1F471-200D-2640-FE0F":["blond_woman"],"1F471-200D-2642-FE0F":["blond_man"],"1F9D3":["older_adult"],"1F474":["older_man"],"1F475":["older_woman"],"1F64D":["person_frowning"],"1F64D-200D-2642-FE0F":["man_frowning"],"1F64D-200D-2640-FE0F":["woman_frowning"],"1F64E":["person_pouting"],"1F64E-200D-2642-FE0F":["man_pouting"],"1F64E-200D-2640-FE0F":["woman_pouting"],"1F645":["person_gesturing_no"],"1F645-200D-2642-FE0F":["man_gesturing_no"],"1F645-200D-2640-FE0F":["woman_gesturing_no"],"1F646":["person_gesturing_ok"],"1F646-200D-2642-FE0F":["man_gesturing_ok"],"1F646-200D-2640-FE0F":["woman_gesturing_ok"],"1F481":["person_tipping_hand"],"1F481-200D-2642-FE0F":["man_tipping_hand"],"1F481-200D-2640-FE0F":["woman_tipping_hand"],"1F64B":["person_raising_hand"],"1F64B-200D-2642-FE0F":["man_raising_hand"],"1F64B-200D-2640-FE0F":["woman_raising_hand"],"1F9CF":["person_deaf"],"1F9CF-200D-2642-FE0F":["man_deaf"],"1F9CF-200D-2640-FE0F":["woman_deaf"],"1F647":["person_bowing"],"1F647-200D-2642-FE0F":["man_bowing"],"1F647-200D-2640-FE0F":["woman_bowing"],"1F926":["person_facepalming"],"1F926-200D-2642-FE0F":["man_facepalming"],"1F926-200D-2640-FE0F":["woman_facepalming"],"1F937":["person_shrugging"],"1F937-200D-2642-FE0F":["man_shrugging"],"1F937-200D-2640-FE0F":["woman_shrugging"],"1F9D1-200D-2695-FE0F":["person_health_worker"],"1F468-200D-2695-FE0F":["man_health_worker"],"1F469-200D-2695-FE0F":["woman_health_worker"],"1F9D1-200D-1F393":["person_student"],"1F468-200D-1F393":["man_student"],"1F469-200D-1F393":["woman_student"],"1F9D1-200D-1F3EB":["person_teacher"],"1F468-200D-1F3EB":["man_teacher"],"1F469-200D-1F3EB":["woman_teacher"],"1F9D1-200D-2696-FE0F":["person_judge"],"1F468-200D-2696-FE0F":["man_judge"],"1F469-200D-2696-FE0F":["woman_judge"],"1F9D1-200D-1F33E":["person_farmer"],"1F468-200D-1F33E":["man_farmer"],"1F469-200D-1F33E":["woman_farmer"],"1F9D1-200D-1F373":["person_cook"],"1F468-200D-1F373":["man_cook"],"1F469-200D-1F373":["woman_cook"],"1F9D1-200D-1F527":["person_mechanic"],"1F468-200D-1F527":["man_mechanic"],"1F469-200D-1F527":["woman_mechanic"],"1F9D1-200D-1F3ED":["person_factory_worker"],"1F468-200D-1F3ED":["man_factory_worker"],"1F469-200D-1F3ED":["woman_factory_worker"],"1F9D1-200D-1F4BC":["person_office_worker"],"1F468-200D-1F4BC":["man_office_worker"],"1F469-200D-1F4BC":["woman_office_worker"],"1F9D1-200D-1F52C":["person_scientist"],"1F468-200D-1F52C":["man_scientist"],"1F469-200D-1F52C":["woman_scientist"],"1F9D1-200D-1F4BB":["person_technologist"],"1F468-200D-1F4BB":["man_technologist"],"1F469-200D-1F4BB":["woman_technologist"],"1F9D1-200D-1F3A4":["person_singer"],"1F468-200D-1F3A4":["man_singer"],"1F469-200D-1F3A4":["woman_singer"],"1F9D1-200D-1F3A8":["person_artist"],"1F468-200D-1F3A8":["man_artist"],"1F469-200D-1F3A8":["woman_artist"],"1F9D1-200D-2708-FE0F":["person_pilot"],"1F468-200D-2708-FE0F":["man_pilot"],"1F469-200D-2708-FE0F":["woman_pilot"],"1F9D1-200D-1F680":["person_astronaut"],"1F468-200D-1F680":["man_astronaut"],"1F469-200D-1F680":["woman_astronaut"],"1F9D1-200D-1F692":["person_firefighter"],"1F468-200D-1F692":["man_firefighter"],"1F469-200D-1F692":["woman_firefighter"],"1F46E":["police_officer"],"1F46E-200D-2642-FE0F":["man_police_officer"],"1F46E-200D-2640-FE0F":["woman_police_officer"],"1F575":["detective"],"1F575-FE0F-200D-2642-FE0F":["man_detective"],"1F575-FE0F-200D-2640-FE0F":["woman_detective"],"1F482":["guard"],"1F482-200D-2642-FE0F":["man_guard"],"1F482-200D-2640-FE0F":["woman_guard"],"1F977":["ninja"],"1F477":["construction_worker"],"1F477-200D-2642-FE0F":["man_construction_worker"],"1F477-200D-2640-FE0F":["woman_construction_worker"],"1FAC5":["person_with_crown","royalty"],"1F934":["prince"],"1F478":["princess"],"1F473":["person_turban"],"1F473-200D-2642-FE0F":["man_turban"],"1F473-200D-2640-FE0F":["woman_turban"],"1F472":["man_chinese_cap"],"1F9D5":["woman_headscarf"],"1F935":["man_tuxedo"],"1F935-200D-2642-FE0F":["man_in_tuxedo"],"1F935-200D-2640-FE0F":["woman_in_tuxedo"],"1F470":["person_veiled_bride","bride_veil"],"1F470-200D-2642-FE0F":["man_veiled_bride"],"1F470-200D-2640-FE0F":["woman_veiled_bride"],"1F930":["pregnant_woman"],"1FAC3":["pregnant_man"],"1FAC4":["pregnant_person"],"1F931":["breast_feeding"],"1F469-200D-1F37C":["woman_feeding_baby"],"1F468-200D-1F37C":["man_feeding_baby"],"1F9D1-200D-1F37C":["person_feeding_baby"],"1F47C":["baby_angel"],"1F385":["santa"],"1F936":["mrs_claus"],"1F9D1-200D-1F384":["mx_claus"],"1F9B8":["hero","superhero"],"1F9B8-200D-2642-FE0F":["man_hero"],"1F9B8-200D-2640-FE0F":["woman_hero"],"1F9B9":["villain","supervillain"],"1F9B9-200D-2642-FE0F":["man_villain"],"1F9B9-200D-2640-FE0F":["woman_villain"],"1F9D9":["mage"],"1F9D9-200D-2642-FE0F":["man_mage"],"1F9D9-200D-2640-FE0F":["woman_mage"],"1F9DA":["fairy"],"1F9DA-200D-2642-FE0F":["man_fairy"],"1F9DA-200D-2640-FE0F":["woman_fairy"],"1F9DB":["vampire"],"1F9DB-200D-2642-FE0F":["man_vampire"],"1F9DB-200D-2640-FE0F":["woman_vampire"],"1F9DC":["merperson"],"1F9DC-200D-2642-FE0F":["merman"],"1F9DC-200D-2640-FE0F":["mermaid"],"1F9DD":["elf"],"1F9DD-200D-2642-FE0F":["man_elf"],"1F9DD-200D-2640-FE0F":["woman_elf"],"1F9DE":["genie"],"1F9DE-200D-2642-FE0F":["man_genie"],"1F9DE-200D-2640-FE0F":["woman_genie"],"1F9DF":["zombie"],"1F9DF-200D-2642-FE0F":["man_zombie"],"1F9DF-200D-2640-FE0F":["woman_zombie"],"1F9CC":["troll"],"1F486":["person_getting_massage"],"1F486-200D-2642-FE0F":["man_getting_face_massage"],"1F486-200D-2640-FE0F":["woman_getting_face_massage"],"1F487":["person_getting_haircut"],"1F487-200D-2642-FE0F":["man_getting_haircut"],"1F487-200D-2640-FE0F":["woman_getting_haircut"],"1F6B6":["person_walking"],"1F6B6-200D-2642-FE0F":["man_walking"],"1F6B6-200D-2640-FE0F":["woman_walking"],"1F9CD":["person_standing"],"1F9CD-200D-2642-FE0F":["man_standing"],"1F9CD-200D-2640-FE0F":["woman_standing"],"1F9CE":["person_kneeling"],"1F9CE-200D-2642-FE0F":["man_kneeling"],"1F9CE-200D-2640-FE0F":["woman_kneeling"],"1F9D1-200D-1F9AF":["person_probing_cane"],"1F468-200D-1F9AF":["man_probing_cane"],"1F469-200D-1F9AF":["woman_probing_cane"],"1F9D1-200D-1F9BC":["person_motor_wheelchair"],"1F468-200D-1F9BC":["man_motor_wheelchair"],"1F469-200D-1F9BC":["woman_motor_wheelchair"],"1F9D1-200D-1F9BD":["person_wheelchair"],"1F468-200D-1F9BD":["man_wheelchair"],"1F469-200D-1F9BD":["woman_wheelchair"],"1F3C3":["person_running"],"1F3C3-200D-2642-FE0F":["man_running"],"1F3C3-200D-2640-FE0F":["woman_running"],"1F483":["dancer","woman_dancing"],"1F57A":["man_dancing"],"1F574":["levitate"],"1F46F":["people_bunny_ears_partying"],"1F46F-200D-2642-FE0F":["men_bunny_ears_partying"],"1F46F-200D-2640-FE0F":["women_bunny_ears_partying"],"1F9D6":["person_steamy_room"],"1F9D6-200D-2642-FE0F":["man_steamy_room"],"1F9D6-200D-2640-FE0F":["woman_steamy_room"],"1F9D7":["person_climbing"],"1F9D7-200D-2642-FE0F":["man_climbing"],"1F9D7-200D-2640-FE0F":["woman_climbing"],"1F93A":["person_fencing"],"1F3C7":["horse_racing"],"26F7":["skier"],"1F3C2":["snowboarder"],"1F3CC":["person_golfing"],"1F3CC-FE0F-200D-2642-FE0F":["man_golfing"],"1F3CC-FE0F-200D-2640-FE0F":["woman_golfing"],"1F3C4":["person_surfing"],"1F3C4-200D-2642-FE0F":["man_surfing"],"1F3C4-200D-2640-FE0F":["woman_surfing"],"1F6A3":["person_rowing_boat"],"1F6A3-200D-2642-FE0F":["man_rowing_boat"],"1F6A3-200D-2640-FE0F":["woman_rowing_boat"],"1F3CA":["person_swimming"],"1F3CA-200D-2642-FE0F":["man_swimming"],"1F3CA-200D-2640-FE0F":["woman_swimming"],"26F9":["person_bouncing_ball"],"26F9-FE0F-200D-2642-FE0F":["man_bouncing_ball"],"26F9-FE0F-200D-2640-FE0F":["woman_bouncing_ball"],"1F3CB":["person_lifting_weights"],"1F3CB-FE0F-200D-2642-FE0F":["man_lifting_weights"],"1F3CB-FE0F-200D-2640-FE0F":["woman_lifting_weights"],"1F6B4":["person_biking"],"1F6B4-200D-2642-FE0F":["man_biking"],"1F6B4-200D-2640-FE0F":["woman_biking"],"1F6B5":["person_mountain_biking"],"1F6B5-200D-2642-FE0F":["man_mountain_biking"],"1F6B5-200D-2640-FE0F":["woman_mountain_biking"],"1F938":["person_cartwheel"],"1F938-200D-2642-FE0F":["man_cartwheeling"],"1F938-200D-2640-FE0F":["woman_cartwheeling"],"1F93C":["people_wrestling"],"1F93C-200D-2642-FE0F":["men_wrestling"],"1F93C-200D-2640-FE0F":["women_wrestling"],"1F93D":["person_water_polo"],"1F93D-200D-2642-FE0F":["man_water_polo"],"1F93D-200D-2640-FE0F":["woman_water_polo"],"1F93E":["person_handball"],"1F93E-200D-2642-FE0F":["man_handball"],"1F93E-200D-2640-FE0F":["woman_handball"],"1F939":["person_juggling"],"1F939-200D-2642-FE0F":["man_juggling"],"1F939-200D-2640-FE0F":["woman_juggling"],"1F9D8":["person_lotus_position"],"1F9D8-200D-2642-FE0F":["man_lotus_position"],"1F9D8-200D-2640-FE0F":["woman_lotus_position"],"1F6C0":["bath"],"1F6CC":["in_bed"],"1F9D1-200D-1F91D-200D-1F9D1":["holding_hands_people"],"1F46D":["holding_hands_ww"],"1F46B":["holding_hands_mw","holding_hands_wm"],"1F46C":["holding_hands_mm"],"1F48F":["couple"],"1F469-200D-2764-FE0F-200D-1F48B-200D-1F468":["kiss_mw","kiss_wm"],"1F468-200D-2764-FE0F-200D-1F48B-200D-1F468":["kiss_mm"],"1F469-200D-2764-FE0F-200D-1F48B-200D-1F469":["kiss_ww"],"1F491":["couple_heart"],"1F469-200D-2764-FE0F-200D-1F468":["couple_mw","couple_wm"],"1F468-200D-2764-FE0F-200D-1F468":["couple_mm"],"1F469-200D-2764-FE0F-200D-1F469":["couple_ww"],"1F46A":["family"],"1F468-200D-1F469-200D-1F466":["family_mwb"],"1F468-200D-1F469-200D-1F467":["family_mwg"],"1F468-200D-1F469-200D-1F467-200D-1F466":["family_mwgb"],"1F468-200D-1F469-200D-1F466-200D-1F466":["family_mwbb"],"1F468-200D-1F469-200D-1F467-200D-1F467":["family_mwgg"],"1F468-200D-1F468-200D-1F466":["family_mmb"],"1F468-200D-1F468-200D-1F467":["family_mmg"],"1F468-200D-1F468-200D-1F467-200D-1F466":["family_mmgb"],"1F468-200D-1F468-200D-1F466-200D-1F466":["family_mmbb"],"1F468-200D-1F468-200D-1F467-200D-1F467":["family_mmgg"],"1F469-200D-1F469-200D-1F466":["family_wwb"],"1F469-200D-1F469-200D-1F467":["family_wwg"],"1F469-200D-1F469-200D-1F467-200D-1F466":["family_wwgb"],"1F469-200D-1F469-200D-1F466-200D-1F466":["family_wwbb"],"1F469-200D-1F469-200D-1F467-200D-1F467":["family_wwgg"],"1F468-200D-1F466":["family_mb"],"1F468-200D-1F466-200D-1F466":["family_mbb"],"1F468-200D-1F467":["family_mg"],"1F468-200D-1F467-200D-1F466":["family_mgb"],"1F468-200D-1F467-200D-1F467":["family_mgg"],"1F469-200D-1F466":["family_wb"],"1F469-200D-1F466-200D-1F466":["family_wbb"],"1F469-200D-1F467":["family_wg"],"1F469-200D-1F467-200D-1F466":["family_wgb"],"1F469-200D-1F467-200D-1F467":["family_wgg"],"1F5E3":["speaking_head"],"1F464":["bust_silhouette"],"1F465":["busts_silhouette"],"1FAC2":["people_hugging"],"1F463":["footprints"],"1F3FB":["tone_light","tone1"],"1F3FC":["tone_medium_light","tone2"],"1F3FD":["tone_medium","tone3"],"1F3FE":["tone_medium_dark","tone4"],"1F3FF":["tone_dark","tone5"],"1F9B0":["red_hair"],"1F9B1":["curly_hair"],"1F9B3":["white_hair"],"1F9B2":["bald"],"1F435":["monkey_face"],"1F412":["monkey"],"1F98D":["gorilla"],"1F9A7":["orangutan"],"1F436":["dog_face"],"1F415":["dog"],"1F9AE":["guide_dog"],"1F415-200D-1F9BA":["service_dog"],"1F429":["poodle"],"1F43A":["wolf_face"],"1F98A":["fox_face"],"1F99D":["raccoon"],"1F431":["cat_face"],"1F408":["cat"],"1F408-200D-2B1B":["black_cat"],"1F981":["lion_face"],"1F42F":["tiger_face"],"1F405":["tiger"],"1F406":["leopard"],"1F434":["horse_face"],"1F40E":["horse"],"1F984":["unicorn_face"],"1F993":["zebra"],"1F98C":["deer"],"1F9AC":["bison"],"1F42E":["cow_face"],"1F402":["ox"],"1F403":["water_buffalo"],"1F404":["cow"],"1F437":["pig_face"],"1F416":["pig"],"1F417":["boar"],"1F43D":["pig_nose"],"1F40F":["ram"],"1F411":["sheep"],"1F410":["goat"],"1F42A":["camel"],"1F42B":["two_hump_camel"],"1F999":["llama"],"1F992":["giraffe"],"1F418":["elephant"],"1F9A3":["mammoth"],"1F98F":["rhino"],"1F99B":["hippo"],"1F42D":["mouse_face"],"1F401":["mouse"],"1F400":["rat"],"1F439":["hamster_face"],"1F430":["rabbit_face"],"1F407":["rabbit"],"1F43F":["chipmunk"],"1F9AB":["beaver"],"1F994":["hedgehog"],"1F987":["bat"],"1F43B":["bear_face"],"1F43B-200D-2744-FE0F":["polar_bear_face"],"1F428":["koala_face"],"1F43C":["panda_face"],"1F9A5":["sloth"],"1F9A6":["otter"],"1F9A8":["skunk"],"1F998":["kangaroo"],"1F9A1":["badger"],"1F43E":["feet"],"1F983":["turkey"],"1F414":["chicken"],"1F413":["rooster"],"1F423":["hatching_chick"],"1F424":["baby_chick"],"1F425":["hatched_chick"],"1F426":["bird"],"1F427":["penguin"],"1F54A":["dove"],"1F985":["eagle"],"1F986":["duck"],"1F9A2":["swan"],"1F989":["owl"],"1F9A4":["dodo"],"1FAB6":["feather"],"1F9A9":["flamingo"],"1F99A":["peacock"],"1F99C":["parrot"],"1F438":["frog_face"],"1F40A":["crocodile"],"1F422":["turtle"],"1F98E":["lizard"],"1F40D":["snake"],"1F432":["dragon_face"],"1F409":["dragon"],"1F995":["sauropod"],"1F996":["trex"],"1F433":["spouting_whale"],"1F40B":["whale"],"1F42C":["dolphin"],"1F9AD":["seal"],"1F41F":["fish"],"1F420":["tropical_fish"],"1F421":["blowfish"],"1F988":["shark"],"1F419":["octopus"],"1F41A":["shell"],"1FAB8":["coral"],"1F40C":["snail"],"1F98B":["butterfly"],"1F41B":["bug"],"1F41C":["ant"],"1F41D":["bee"],"1FAB2":["beetle"],"1F41E":["lady_bug"],"1F997":["cricket"],"1FAB3":["cockroach"],"1F577":["spider"],"1F578":["spider_web"],"1F982":["scorpion"],"1F99F":["mosquito"],"1FAB0":["fly"],"1FAB1":["worm"],"1F9A0":["microbe","germ"],"1F490":["bouquet"],"1F338":["cherry_blossom"],"1F4AE":["white_flower"],"1FAB7":["lotus"],"1F3F5":["rosette"],"1F339":["rose"],"1F940":["wilted_rose"],"1F33A":["hibiscus"],"1F33B":["sunflower"],"1F33C":["blossom"],"1F337":["tulip"],"1F331":["seedling"],"1FAB4":["potted_plant"],"1F332":["evergreen_tree"],"1F333":["deciduous_tree"],"1F334":["palm_tree"],"1F335":["cactus"],"1F33E":["ear_of_rice"],"1F33F":["herb"],"1F340":["four_leaf_clover"],"1F341":["maple_leaf"],"1F342":["fallen_leaf"],"1F343":["leaves"],"1FAB9":["empty_nest","nest"],"1FABA":["nest_with_eggs"],"1F347":["grapes"],"1F348":["melon"],"1F349":["watermelon"],"1F34A":["tangerine"],"1F34B":["lemon"],"1F34C":["banana"],"1F34D":["pineapple"],"1F96D":["mango"],"1F34E":["apple"],"1F34F":["green_apple"],"1F350":["pear"],"1F351":["peach"],"1F352":["cherries"],"1F353":["strawberry"],"1FAD0":["blueberry"],"1F95D":["kiwi"],"1F345":["tomato"],"1FAD2":["olive"],"1F965":["coconut"],"1F951":["avocado"],"1F346":["eggplant"],"1F954":["potato"],"1F955":["carrot"],"1F33D":["corn"],"1F336":["hot_pepper"],"1FAD1":["bell_pepper"],"1F952":["cucumber"],"1F96C":["leafy_green"],"1F966":["broccoli"],"1F9C4":["garlic"],"1F9C5":["onion"],"1F344":["mushroom"],"1F95C":["peanuts"],"1FAD8":["beans"],"1F330":["chestnut"],"1F35E":["bread"],"1F950":["croissant"],"1F956":["french_bread"],"1FAD3":["flatbread"],"1F968":["pretzel"],"1F96F":["bagel"],"1F95E":["pancakes"],"1F9C7":["waffle"],"1F9C0":["cheese"],"1F356":["meat_on_bone"],"1F357":["poultry_leg"],"1F969":["cut_of_meat"],"1F953":["bacon"],"1F354":["hamburger"],"1F35F":["fries"],"1F355":["pizza"],"1F32D":["hotdog"],"1F96A":["sandwich"],"1F32E":["taco"],"1F32F":["burrito"],"1FAD4":["tamale"],"1F959":["stuffed_flatbread"],"1F9C6":["falafel"],"1F95A":["egg"],"1F373":["cooking"],"1F958":["shallow_pan_of_food"],"1F372":["stew"],"1FAD5":["fondue"],"1F963":["bowl_spoon"],"1F957":["salad"],"1F37F":["popcorn"],"1F9C8":["butter"],"1F9C2":["salt"],"1F96B":["canned_food"],"1F371":["bento"],"1F358":["rice_cracker"],"1F359":["rice_ball"],"1F35A":["rice"],"1F35B":["curry"],"1F35C":["ramen"],"1F35D":["spaghetti"],"1F360":["sweet_potato"],"1F362":["oden"],"1F363":["sushi"],"1F364":["fried_shrimp"],"1F365":["fish_cake"],"1F96E":["moon_cake"],"1F361":["dango"],"1F95F":["dumpling"],"1F960":["fortune_cookie"],"1F961":["takeout_box"],"1F980":["crab"],"1F99E":["lobster"],"1F990":["shrimp"],"1F991":["squid"],"1F9AA":["oyster"],"1F366":["icecream"],"1F367":["shaved_ice"],"1F368":["ice_cream"],"1F369":["doughnut"],"1F36A":["cookie"],"1F382":["birthday"],"1F370":["cake"],"1F9C1":["cupcake"],"1F967":["pie"],"1F36B":["chocolate_bar"],"1F36C":["candy"],"1F36D":["lollipop"],"1F36E":["custard"],"1F36F":["honey_pot"],"1F37C":["baby_bottle"],"1F95B":["milk"],"1FAD6":["teapot"],"1F375":["tea"],"1F376":["sake"],"1F37E":["champagne"],"1F377":["wine_glass"],"1F378":["cocktail"],"1F379":["tropical_drink"],"1F37A":["beer"],"1F37B":["beers"],"1F942":["champagne_glass"],"1F943":["tumbler_glass"],"1FAD7":["pour","pouring_liquid"],"1F964":["cup_straw"],"1F9CB":["bubble_tea","boba_drink"],"1F9C3":["beverage_box","juice_box"],"1F9C9":["mate","yerba_mate"],"1F9CA":["ice"],"1F962":["chopsticks"],"1F37D":["fork_knife_plate"],"1F374":["utensils"],"1F944":["spoon"],"1F52A":["knife"],"1FAD9":["jar"],"1F3FA":["amphora"],"1F30D":["earth_africa"],"1F30E":["earth_americas"],"1F30F":["earth_asia"],"1F310":["globe"],"1F5FA":["map"],"1F5FE":["japan"],"1F9ED":["compass"],"1F3D4":["snowy_mountain"],"26F0":["mountain"],"1F30B":["volcano"],"1F5FB":["mount_fuji"],"1F3D5":["camping"],"1F3D6":["beach"],"1F3DC":["desert"],"1F3DD":["island"],"1F3DE":["park"],"1F3DF":["stadium"],"1F3DB":["classical_building"],"1F3D7":["construction_site"],"1F9F1":["brick"],"1FAA8":["rock"],"1FAB5":["wood"],"1F6D6":["hut"],"1F3D8":["homes"],"1F3DA":["house_abandoned"],"1F3E0":["house"],"1F3E1":["house_garden"],"1F3E2":["office"],"1F3E3":["ja_post_office"],"1F3E4":["post_office"],"1F3E5":["hospital"],"1F3E6":["bank"],"1F3E8":["hotel"],"1F3E9":["love_hotel"],"1F3EA":["convenience_store"],"1F3EB":["school"],"1F3EC":["department_store"],"1F3ED":["factory"],"1F3EF":["japanese_castle"],"1F3F0":["castle","european_castle"],"1F492":["wedding"],"1F5FC":["tokyo_tower"],"1F5FD":["statue_of_liberty"],"26EA":["church"],"1F54C":["mosque"],"1F6D5":["hindu_temple"],"1F54D":["synagogue"],"26E9":["shinto_shrine"],"1F54B":["kaaba"],"26F2":["fountain"],"26FA":["tent"],"1F301":["foggy"],"1F303":["night_stars"],"1F3D9":["cityscape"],"1F304":["sunrise_over_mountains"],"1F305":["sunrise"],"1F306":["dusk"],"1F307":["sunset"],"1F309":["bridge_at_night"],"1F3A0":["carousel_horse"],"1F6DD":["playground_slide","slide"],"1F3A1":["ferris_wheel"],"1F3A2":["roller_coaster"],"1F488":["barber"],"1F3AA":["circus_tent"],"1F682":["steam_locomotive"],"1F683":["railway_car"],"1F684":["bullettrain_side"],"1F685":["bullettrain"],"1F686":["train"],"1F687":["metro"],"1F688":["light_rail"],"1F689":["station"],"1F68A":["tram"],"1F69D":["monorail"],"1F69E":["mountain_railway"],"1F68B":["tram_car"],"1F68C":["bus"],"1F68D":["oncoming_bus"],"1F68E":["trolleybus"],"1F690":["minibus"],"1F691":["ambulance"],"1F692":["fire_engine"],"1F693":["police_car"],"1F694":["oncoming_police_car"],"1F695":["taxi"],"1F696":["oncoming_taxi"],"1F697":["red_car"],"1F698":["oncoming_automobile"],"1F699":["blue_car"],"1F6FB":["pickup_truck"],"1F69A":["truck"],"1F69B":["lorry"],"1F69C":["tractor"],"1F3CE":["race_car"],"1F3CD":["motorcycle"],"1F6F5":["motor_scooter"],"1F9BD":["wheelchair"],"1F9BC":["motor_wheelchair"],"1F6FA":["auto_rickshaw"],"1F6B2":["bike"],"1F6F4":["scooter"],"1F6F9":["skateboard"],"1F6FC":["roller_skate"],"1F68F":["bus_stop"],"1F6E3":["motorway"],"1F6E4":["railway_track"],"1F6E2":["oil_drum"],"26FD":["fuel_pump"],"1F6DE":["wheel"],"1F6A8":["rotating_light","police_light"],"1F6A5":["traffic_light"],"1F6A6":["vertical_traffic_light"],"1F6D1":["stop_sign","octagonal_sign"],"1F6A7":["construction"],"1F6DF":["lifebuoy","ring_buoy"],"26F5":["sailboat"],"1F6F6":["canoe"],"1F6A4":["speedboat"],"1F6F3":["cruise_ship"],"26F4":["ferry"],"1F6E5":["motorboat"],"1F6A2":["ship"],"1F6E9":["small_airplane"],"1F6EB":["airplane_departure"],"1F6EC":["airplane_arriving"],"1FA82":["parachute"],"1F4BA":["seat"],"1F681":["helicopter"],"1F69F":["suspension_railway"],"1F6A0":["mountain_cableway"],"1F6A1":["aerial_tramway"],"1F6F0":["satellite"],"1F680":["rocket"],"1F6F8":["flying_saucer"],"1F6CE":["bellhop"],"1F9F3":["luggage"],"231B":["hourglass"],"23F3":["hourglass_flowing"],"231A":["watch"],"23F0":["alarm_clock"],"23F1":["stopwatch"],"23F2":["timer"],"1F570":["clock"],"1F55B":["clock12"],"1F567":["clock1230"],"1F550":["clock1"],"1F55C":["clock130"],"1F551":["clock2"],"1F55D":["clock230"],"1F552":["clock3"],"1F55E":["clock330"],"1F553":["clock4"],"1F55F":["clock430"],"1F554":["clock5"],"1F560":["clock530"],"1F555":["clock6"],"1F561":["clock630"],"1F556":["clock7"],"1F562":["clock730"],"1F557":["clock8"],"1F563":["clock830"],"1F558":["clock9"],"1F564":["clock930"],"1F559":["clock10"],"1F565":["clock1030"],"1F55A":["clock11"],"1F566":["clock1130"],"1F311":["new_moon"],"1F312":["waxing_crescent_moon"],"1F313":["first_quarter_moon"],"1F314":["waxing_gibbous_moon"],"1F315":["full_moon"],"1F316":["waning_gibbous_moon"],"1F317":["last_quarter_moon"],"1F318":["waning_crescent_moon"],"1F319":["crescent_moon"],"1F31A":["new_moon_face"],"1F31B":["first_quarter_moon_face"],"1F31C":["last_quarter_moon_face"],"1F321":["thermometer"],"1F31D":["full_moon_face"],"1F31E":["sun_face"],"1FA90":["ringed_planet","saturn"],"2B50":["star"],"1F31F":["star2","glowing_star"],"1F320":["star3","shooting_star"],"1F30C":["milky_way"],"26C5":["partly_sunny"],"26C8":["storm"],"1F324":["overcast"],"1F325":["cloudy"],"1F326":["sunshower"],"1F327":["rain"],"1F328":["snow"],"1F329":["lightning"],"1F32A":["tornado"],"1F32B":["fog"],"1F32C":["wind_face"],"1F300":["cyclone"],"1F308":["rainbow"],"1F302":["closed_umbrella"],"26F1":["beach_umbrella"],"26A1":["zap","high_voltage"],"26C4":["snowman"],"1F525":["fire"],"1F4A7":["droplet"],"1F30A":["ocean"],"1F383":["jack_o_lantern"],"1F384":["christmas_tree","xmas_tree"],"1F386":["fireworks"],"1F387":["sparkler"],"1F9E8":["firecracker"],"1F388":["balloon"],"1F389":["tada","party"],"1F38A":["confetti_ball"],"1F38B":["tanabata_tree"],"1F38D":["bamboo","pine_decor"],"1F38E":["dolls"],"1F38F":["carp_streamer"],"1F390":["wind_chime"],"1F391":["moon_ceremony","rice_scene"],"1F9E7":["red_envelope"],"1F380":["ribbon"],"1F381":["gift"],"1F397":["reminder_ribbon"],"1F39F":["tickets","admission"],"1F3AB":["ticket"],"1F396":["military_medal"],"1F3C6":["trophy"],"1F3C5":["medal"],"1F947":["first_place"],"1F948":["second_place"],"1F949":["third_place"],"26BD":["soccer"],"26BE":["baseball"],"1F94E":["softball"],"1F3C0":["basketball"],"1F3D0":["volleyball"],"1F3C8":["football"],"1F3C9":["rugby"],"1F3BE":["tennis"],"1F94F":["flying_disc"],"1F3B3":["bowling"],"1F3CF":["cricket_game"],"1F3D1":["field_hockey"],"1F3D2":["hockey"],"1F94D":["lacrosse"],"1F3D3":["ping_pong"],"1F3F8":["badminton"],"1F94A":["boxing_glove"],"1F94B":["gi","martial_arts_uniform"],"1F945":["goal"],"26F3":["golf"],"26F8":["ice_skate"],"1F3A3":["fishing_pole"],"1F93F":["diving_mask","scuba_mask"],"1F3BD":["running_shirt"],"1F3BF":["ski"],"1F6F7":["sled"],"1F94C":["curling_stone"],"1F3AF":["dart"],"1FA80":["yoyo"],"1FA81":["kite"],"1F3B1":["8ball"],"1F52E":["crystal_ball"],"1FA84":["wand"],"1F9FF":["nazar_amulet"],"1FAAC":["hamsa"],"1F3AE":["video_game"],"1F579":["joystick"],"1F3B0":["slot_machine"],"1F3B2":["game_die"],"1F9E9":["jigsaw","puzzle_piece"],"1F9F8":["teddy_bear"],"1FA85":["pinata"],"1FAA9":["disco","disco_ball","mirror_ball"],"1FA86":["nesting_dolls"],"265F":["chess_pawn"],"1F0CF":["black_joker"],"1F004":["mahjong"],"1F3B4":["flower_cards"],"1F3AD":["performing_arts"],"1F5BC":["frame_photo"],"1F3A8":["art","palette"],"1F9F5":["spool"],"1FAA1":["sewing_needle"],"1F9F6":["yarn"],"1FAA2":["knot"],"1F453":["glasses"],"1F576":["sunglasses"],"1F97D":["goggles"],"1F97C":["lab_coat"],"1F9BA":["safety_vest"],"1F454":["necktie","tie"],"1F455":["shirt"],"1F456":["jeans"],"1F9E3":["scarf"],"1F9E4":["gloves"],"1F9E5":["coat"],"1F9E6":["socks"],"1F457":["dress"],"1F458":["kimono"],"1F97B":["sari"],"1FA71":["one_piece_swimsuit"],"1FA72":["briefs"],"1FA73":["shorts"],"1F459":["bikini"],"1F45A":["blouse","womans_clothes"],"1F45B":["purse"],"1F45C":["handbag"],"1F45D":["pouch","clutch_bag"],"1F6CD":["shopping_bags"],"1F392":["backpack"],"1FA74":["sandal"],"1F45E":["dress_shoe","mans_shoe"],"1F45F":["sneaker","athletic_shoe"],"1F97E":["hiking_boot"],"1F97F":["flat_shoe"],"1F460":["high_heel"],"1F461":["womans_sandal"],"1FA70":["ballet_shoes"],"1F462":["womans_boot"],"1F451":["crown"],"1F452":["womans_hat"],"1F3A9":["top_hat"],"1F393":["graduation_cap"],"1F9E2":["billed_cap"],"1FA96":["military_helmet"],"26D1":["helmet_cross"],"1F4FF":["prayer_beads"],"1F484":["lipstick"],"1F48D":["ring"],"1F48E":["gem"],"1F507":["mute","no_sound"],"1F508":["speaker","low_sound"],"1F509":["sound"],"1F50A":["loud_sound"],"1F4E2":["loudspeaker"],"1F4E3":["megaphone"],"1F4EF":["postal_horn"],"1F514":["bell"],"1F515":["no_bell"],"1F3BC":["musical_score"],"1F3B5":["musical_note"],"1F3B6":["musical_notes"],"1F399":["studio_microphone"],"1F39A":["level_slider"],"1F39B":["control_knobs"],"1F3A4":["microphone"],"1F3A7":["headphones"],"1F4FB":["radio"],"1F3B7":["saxophone"],"1FA97":["accordion"],"1F3B8":["guitar"],"1F3B9":["musical_keyboard"],"1F3BA":["trumpet"],"1F3BB":["violin"],"1FA95":["banjo"],"1F941":["drum"],"1FA98":["long_drum"],"1F4F1":["mobile","iphone","android"],"1F4F2":["mobile_calling"],"260E":["telephone"],"1F4DE":["telephone_receiver"],"1F4DF":["pager"],"1F4E0":["fax"],"1F50B":["battery"],"1FAAB":["low_battery"],"1F50C":["electric_plug"],"1F4BB":["laptop"],"1F5A5":["desktop","computer"],"1F5A8":["printer"],"1F5B1":["computer_mouse"],"1F5B2":["trackball"],"1F4BD":["minidisc"],"1F4BE":["floppy_disk"],"1F4BF":["cd","disk"],"1F4C0":["dvd"],"1F9EE":["abacus"],"1F3A5":["movie_camera"],"1F39E":["film_frames"],"1F4FD":["projector"],"1F3AC":["clapper"],"1F4FA":["tv"],"1F4F7":["camera"],"1F4F8":["camera_flash"],"1F4F9":["video_camera"],"1F4FC":["vhs"],"1F50D":["mag"],"1F50E":["mag_right"],"1F56F":["candle"],"1F4A1":["bulb","light_bulb"],"1F526":["flashlight"],"1F3EE":["red_lantern"],"1FA94":["diya_lamp"],"1F4D4":["decorative_notebook"],"1F4D5":["closed_book"],"1F4D6":["book"],"1F4D7":["green_book"],"1F4D8":["blue_book"],"1F4D9":["orange_book"],"1F4DA":["books"],"1F4D3":["notebook"],"1F4D2":["ledger"],"1F4C3":["page_curl"],"1F4DC":["scroll"],"1F4C4":["page_facing_up"],"1F4F0":["newspaper"],"1F5DE":["rolled_newspaper"],"1F4D1":["bookmark_tabs"],"1F516":["bookmark"],"1F3F7":["label"],"1F4B0":["moneybag"],"1FA99":["coin"],"1F4B4":["yen"],"1F4B5":["dollar"],"1F4B6":["euro"],"1F4B7":["pound"],"1F4B8":["money_wings"],"1F4B3":["credit_card"],"1F9FE":["receipt"],"1F4B9":["ja_chart"],"1F4E7":["email"],"1F4E8":["incoming_envelope"],"1F4E9":["envelope_arrow"],"1F4E4":["outbox_tray"],"1F4E5":["inbox_tray"],"1F4E6":["package"],"1F4EB":["mailbox"],"1F4EA":["mailbox_closed"],"1F4EC":["mailbox_mail"],"1F4ED":["mailbox_no_mail"],"1F4EE":["postbox"],"1F5F3":["ballot_box"],"270F":["pencil"],"1F58B":["fountain_pen"],"1F58A":["pen"],"1F58C":["paintbrush"],"1F58D":["crayon"],"1F4DD":["memo"],"1F4BC":["briefcase"],"1F4C1":["file_folder"],"1F4C2":["open_file_folder"],"1F5C2":["dividers"],"1F4C5":["date","calendar"],"1F4C6":["torn_calendar"],"1F5D2":["notepad_spiral"],"1F5D3":["calendar_spiral"],"1F4C7":["card_index"],"1F4C8":["chart_up"],"1F4C9":["chart_down"],"1F4CA":["bar_chart"],"1F4CB":["clipboard"],"1F4CC":["pushpin"],"1F4CD":["round_pushpin"],"1F4CE":["paperclip"],"1F587":["paperclips"],"1F4CF":["straight_ruler"],"1F4D0":["triangular_ruler"],"1F5C3":["card_box"],"1F5C4":["file_cabinet"],"1F5D1":["trashcan","wastebasket"],"1F512":["lock"],"1F513":["unlock"],"1F50F":["locked_pen"],"1F510":["locked_key"],"1F511":["key"],"1F5DD":["old_key"],"1F528":["hammer"],"1FA93":["axe"],"26CF":["pick"],"1F6E0":["tools","hammer_wrench"],"1F5E1":["dagger"],"1F52B":["gun","pistol"],"1FA83":["boomerang"],"1F3F9":["bow"],"1F6E1":["shield"],"1FA9A":["saw"],"1F527":["wrench"],"1FA9B":["screwdriver"],"1F529":["nut_and_bolt"],"1F5DC":["clamp","compression"],"1F9AF":["probing_cane"],"1F517":["link"],"26D3":["chains"],"1FA9D":["hook"],"1F9F0":["toolbox"],"1F9F2":["magnet"],"1FA9C":["ladder"],"1F9EA":["test_tube"],"1F9EB":["petri_dish"],"1F9EC":["dna","double_helix"],"1F52C":["microscope"],"1F52D":["telescope"],"1F4E1":["satellite_antenna"],"1F489":["syringe"],"1FA78":["blood_drop"],"1F48A":["pill"],"1FA79":["bandaid","adhesive_bandage"],"1FA7C":["crutch"],"1FA7A":["stethoscope"],"1FA7B":["x-ray","xray"],"1F6AA":["door"],"1F6D7":["elevator"],"1FA9E":["mirror"],"1FA9F":["window"],"1F6CF":["bed"],"1F6CB":["couch"],"1FA91":["chair"],"1F6BD":["toilet"],"1FAA0":["plunger"],"1F6BF":["shower"],"1F6C1":["bathtub"],"1FAA4":["mouse_trap"],"1FA92":["razor"],"1F9F4":["lotion"],"1F9F7":["safety_pin"],"1F9F9":["broom"],"1F9FA":["basket"],"1F9FB":["toilet_paper"],"1FAA3":["bucket"],"1F9FC":["soap"],"1FAE7":["bubbles"],"1FAA5":["toothbrush"],"1F9FD":["sponge"],"1F9EF":["fire_extinguisher"],"1F6D2":["shopping_cart"],"1F6AC":["cigarette","smoking"],"26B0":["coffin"],"1FAA6":["headstone"],"26B1":["urn"],"1F5FF":["moai"],"1FAA7":["placard"],"1FAAA":["id_card"],"1F3E7":["atm"],"1F6AE":["litter_bin"],"1F6B0":["potable_water"],"267F":["handicapped"],"1F6B9":["mens"],"1F6BA":["womens"],"1F6BB":["restroom","bathroom"],"1F6BC":["baby_symbol"],"1F6BE":["wc"],"1F6C2":["passport_control"],"1F6C3":["customs"],"1F6C4":["baggage_claim"],"1F6C5":["left_luggage"],"26A0":["warning"],"1F6B8":["children_crossing"],"26D4":["no_entry"],"1F6AB":["no_entry_sign"],"1F6B3":["no_bicycles"],"1F6AD":["no_smoking"],"1F6AF":["do_not_litter"],"1F6B1":["non_potable_water"],"1F6B7":["no_pedestrians"],"1F4F5":["no_mobile_phones"],"1F51E":["underage"],"2B06":["arrow_up"],"27A1":["arrow_right"],"2B07":["arrow_down"],"2B05":["arrow_left"],"21A9":["arrow_left_hook"],"21AA":["arrow_right_hook"],"1F503":["clockwise"],"1F504":["counter_clockwise"],"1F519":["back"],"1F51A":["end"],"1F51B":["on"],"1F51C":["soon"],"1F51D":["top"],"1F6D0":["place_of_worship"],"269B":["atom"],"1F549":["om_symbol"],"262F":["yin_yang"],"271D":["cross"],"262A":["star_and_crescent"],"262E":["peace"],"1F54E":["menorah"],"1F52F":["six_pointed_star"],"264A":["gemini"],"264B":["cancer"],"264C":["leo"],"264D":["virgo"],"264E":["libra"],"264F":["scorpius"],"26CE":["ophiuchus"],"1F500":["shuffle"],"1F501":["repeat"],"1F502":["repeat_single"],"25B6":["play"],"23E9":["fast_forward"],"23ED":["next_track"],"23EF":["play_pause"],"25C0":["reverse"],"23EA":["rewind"],"23EE":["previous_track"],"1F53C":["up_button"],"23EB":["fast_up_button"],"1F53D":["down_button"],"23EC":["fast_down_button"],"23F8":["pause"],"23F9":["stop"],"23FA":["record"],"23CF":["eject"],"1F3A6":["cinema"],"1F505":["dim","low_brightness"],"1F506":["bright","high_brightness"],"1F4F6":["signal_strength","antenna_bars"],"1F4F3":["vibration_mode"],"1F4F4":["mobile_phone_off"],"26A7":["trans"],"1F7F0":["heavy_equals_sign"],"267E":["infinity"],"203C":["bangbang","double_exclamation"],"1F4B1":["currency_exchange"],"1F4B2":["dollar_sign"],"267B":["recycle"],"269C":["fleur-de-lis"],"1F531":["trident"],"1F4DB":["name_badge"],"1F530":["ja_beginner"],"2B55":["o"],"274C":["x","cross_mark"],"274E":["cross_mark_button"],"27B0":["curly_loop"],"27BF":["double_curly_loop"],"303D":["part_alternation_mark"],"00A9":["copyright"],"00AE":["registered"],"0023-FE0F-20E3":["hash"],"002A-FE0F-20E3":["asterisk"],"0030-FE0F-20E3":["zero"],"0031-FE0F-20E3":["one"],"0032-FE0F-20E3":["two"],"0033-FE0F-20E3":["three"],"0034-FE0F-20E3":["four"],"0035-FE0F-20E3":["five"],"0036-FE0F-20E3":["six"],"0037-FE0F-20E3":["seven"],"0038-FE0F-20E3":["eight"],"0039-FE0F-20E3":["nine"],"1F51F":["ten"],"1F520":["upper_abcd"],"1F521":["abcd"],"1F522":["1234"],"1F523":["symbols"],"1F524":["abc"],"1F170":["a_blood"],"1F18E":["ab_blood"],"1F171":["b_blood"],"1F191":["cl"],"1F192":["cool"],"1F193":["free"],"1F194":["id"],"24C2":["m"],"1F195":["new"],"1F196":["ng"],"1F17E":["o_blood"],"1F197":["ok"],"1F17F":["p"],"1F198":["sos"],"1F199":["up"],"1F19A":["vs"],"1F201":["ja_here","koko"],"1F202":["ja_service_charge"],"1F237":["ja_monthly_amount"],"1F236":["ja_not_free_of_carge"],"1F22F":["ja_reserved"],"1F250":["ja_bargain"],"1F239":["ja_discount"],"1F21A":["ja_free_of_charge"],"1F232":["ja_prohibited"],"1F251":["ja_acceptable"],"1F238":["ja_application"],"1F234":["ja_passing_grade"],"1F233":["ja_vacancy"],"1F23A":["ja_open_for_business"],"1F235":["ja_no_vacancy"],"1F534":["red_circle"],"1F7E0":["orange_circle"],"1F7E1":["yellow_circle"],"1F7E2":["green_circle"],"1F535":["blue_circle"],"1F7E3":["purple_circle"],"1F7E4":["brown_circle"],"26AB":["black_circle"],"26AA":["white_circle"],"1F7E5":["red_square"],"1F7E7":["orange_square"],"1F7E8":["yellow_square"],"1F7E9":["green_square"],"1F7E6":["blue_square"],"1F7EA":["purple_square"],"1F7EB":["brown_square"],"2B1B":["large_black_square"],"2B1C":["large_white_square"],"25FC":["medium_black_square"],"25FB":["medium_white_square"],"25FE":["medium_small_black_square"],"25FD":["medium_small_white_square"],"25AA":["small_black_square"],"25AB":["small_white_square"],"1F536":["large_orange_diamond"],"1F537":["large_blue_diamond"],"1F538":["small_orange_diamond"],"1F539":["small_blue_diamond"],"1F53A":["up_red_triangle"],"1F53B":["down_red_triangle"],"1F4A0":["diamond_dot"],"1F518":["radio_button"],"1F533":["white_square_button"],"1F532":["black_square_button"],"1F3C1":["checkered_flag"],"1F6A9":["triangle_flag"],"1F38C":["crossed_flags"],"1F3F4":["black_flag"],"1F3F3":["white_flag"],"1F3F3-FE0F-200D-1F308":["rainbow_flag"],"1F3F3-FE0F-200D-26A7-FE0F":["trans_flag"],"1F3F4-200D-2620-FE0F":["pirate_flag","jolly_roger"],"1F1E6-1F1E8":["flag_ac"],"1F1E6-1F1E9":["flag_ad"],"1F1E6-1F1EA":["flag_ae"],"1F1E6-1F1EB":["flag_af"],"1F1E6-1F1EC":["flag_ag"],"1F1E6-1F1EE":["flag_ai"],"1F1E6-1F1F1":["flag_al"],"1F1E6-1F1F2":["flag_am"],"1F1E6-1F1F4":["flag_ao"],"1F1E6-1F1F6":["flag_aq"],"1F1E6-1F1F7":["flag_ar"],"1F1E6-1F1F8":["flag_as"],"1F1E6-1F1F9":["flag_at"],"1F1E6-1F1FA":["flag_au"],"1F1E6-1F1FC":["flag_aw"],"1F1E6-1F1FD":["flag_ax"],"1F1E6-1F1FF":["flag_az"],"1F1E7-1F1E6":["flag_ba"],"1F1E7-1F1E7":["flag_bb"],"1F1E7-1F1E9":["flag_bd"],"1F1E7-1F1EA":["flag_be"],"1F1E7-1F1EB":["flag_bf"],"1F1E7-1F1EC":["flag_bg"],"1F1E7-1F1ED":["flag_bh"],"1F1E7-1F1EE":["flag_bi"],"1F1E7-1F1EF":["flag_bj"],"1F1E7-1F1F1":["flag_bl"],"1F1E7-1F1F2":["flag_bm"],"1F1E7-1F1F3":["flag_bn"],"1F1E7-1F1F4":["flag_bo"],"1F1E7-1F1F6":["flag_bq"],"1F1E7-1F1F7":["flag_br"],"1F1E7-1F1F8":["flag_bs"],"1F1E7-1F1F9":["flag_bt"],"1F1E7-1F1FB":["flag_bv"],"1F1E7-1F1FC":["flag_bw"],"1F1E7-1F1FE":["flag_by"],"1F1E7-1F1FF":["flag_bz"],"1F1E8-1F1E6":["flag_ca"],"1F1E8-1F1E8":["flag_cc"],"1F1E8-1F1E9":["flag_cd"],"1F1E8-1F1EB":["flag_cf"],"1F1E8-1F1EC":["flag_cg"],"1F1E8-1F1ED":["flag_ch"],"1F1E8-1F1EE":["flag_ci"],"1F1E8-1F1F0":["flag_ck"],"1F1E8-1F1F1":["flag_cl"],"1F1E8-1F1F2":["flag_cm"],"1F1E8-1F1F3":["flag_cn"],"1F1E8-1F1F4":["flag_co"],"1F1E8-1F1F5":["flag_cp"],"1F1E8-1F1F7":["flag_cr"],"1F1E8-1F1FA":["flag_cu"],"1F1E8-1F1FB":["flag_cv"],"1F1E8-1F1FC":["flag_cw"],"1F1E8-1F1FD":["flag_cx"],"1F1E8-1F1FE":["flag_cy"],"1F1E8-1F1FF":["flag_cz"],"1F1E9-1F1EA":["flag_de"],"1F1E9-1F1EC":["flag_dg"],"1F1E9-1F1EF":["flag_dj"],"1F1E9-1F1F0":["flag_dk"],"1F1E9-1F1F2":["flag_dm"],"1F1E9-1F1F4":["flag_do"],"1F1E9-1F1FF":["flag_dz"],"1F1EA-1F1E6":["flag_ea"],"1F1EA-1F1E8":["flag_ec"],"1F1EA-1F1EA":["flag_ee"],"1F1EA-1F1EC":["flag_eg"],"1F1EA-1F1ED":["flag_eh"],"1F1EA-1F1F7":["flag_er"],"1F1EA-1F1F8":["flag_es"],"1F1EA-1F1F9":["flag_et"],"1F1EA-1F1FA":["flag_eu"],"1F1EB-1F1EE":["flag_fi"],"1F1EB-1F1EF":["flag_fj"],"1F1EB-1F1F0":["flag_fk"],"1F1EB-1F1F2":["flag_fm"],"1F1EB-1F1F4":["flag_fo"],"1F1EB-1F1F7":["flag_fr"],"1F1EC-1F1E6":["flag_ga"],"1F1EC-1F1E7":["flag_gb"],"1F1EC-1F1E9":["flag_gd"],"1F1EC-1F1EA":["flag_ge"],"1F1EC-1F1EB":["flag_gf"],"1F1EC-1F1EC":["flag_gg"],"1F1EC-1F1ED":["flag_gh"],"1F1EC-1F1EE":["flag_gi"],"1F1EC-1F1F1":["flag_gl"],"1F1EC-1F1F2":["flag_gm"],"1F1EC-1F1F3":["flag_gn"],"1F1EC-1F1F5":["flag_gp"],"1F1EC-1F1F6":["flag_gq"],"1F1EC-1F1F7":["flag_gr"],"1F1EC-1F1F8":["flag_gs"],"1F1EC-1F1F9":["flag_gt"],"1F1EC-1F1FA":["flag_gu"],"1F1EC-1F1FC":["flag_gw"],"1F1EC-1F1FE":["flag_gy"],"1F1ED-1F1F0":["flag_hk"],"1F1ED-1F1F2":["flag_hm"],"1F1ED-1F1F3":["flag_hn"],"1F1ED-1F1F7":["flag_hr"],"1F1ED-1F1F9":["flag_ht"],"1F1ED-1F1FA":["flag_hu"],"1F1EE-1F1E8":["flag_ic"],"1F1EE-1F1E9":["flag_id"],"1F1EE-1F1EA":["flag_ie"],"1F1EE-1F1F1":["flag_il"],"1F1EE-1F1F2":["flag_im"],"1F1EE-1F1F3":["flag_in"],"1F1EE-1F1F4":["flag_io"],"1F1EE-1F1F6":["flag_iq"],"1F1EE-1F1F7":["flag_ir"],"1F1EE-1F1F8":["flag_is"],"1F1EE-1F1F9":["flag_it"],"1F1EF-1F1EA":["flag_je"],"1F1EF-1F1F2":["flag_jm"],"1F1EF-1F1F4":["flag_jo"],"1F1EF-1F1F5":["flag_jp"],"1F1F0-1F1EA":["flag_ke"],"1F1F0-1F1EC":["flag_kg"],"1F1F0-1F1ED":["flag_kh"],"1F1F0-1F1EE":["flag_ki"],"1F1F0-1F1F2":["flag_km"],"1F1F0-1F1F3":["flag_kn"],"1F1F0-1F1F5":["flag_kp"],"1F1F0-1F1F7":["flag_kr"],"1F1F0-1F1FC":["flag_kw"],"1F1F0-1F1FE":["flag_ky"],"1F1F0-1F1FF":["flag_kz"],"1F1F1-1F1E6":["flag_la"],"1F1F1-1F1E7":["flag_lb"],"1F1F1-1F1E8":["flag_lc"],"1F1F1-1F1EE":["flag_li"],"1F1F1-1F1F0":["flag_lk"],"1F1F1-1F1F7":["flag_lr"],"1F1F1-1F1F8":["flag_ls"],"1F1F1-1F1F9":["flag_lt"],"1F1F1-1F1FA":["flag_lu"],"1F1F1-1F1FB":["flag_lv"],"1F1F1-1F1FE":["flag_ly"],"1F1F2-1F1E6":["flag_ma"],"1F1F2-1F1E8":["flag_mc"],"1F1F2-1F1E9":["flag_md"],"1F1F2-1F1EA":["flag_me"],"1F1F2-1F1EB":["flag_mf"],"1F1F2-1F1EC":["flag_mg"],"1F1F2-1F1ED":["flag_mh"],"1F1F2-1F1F0":["flag_mk"],"1F1F2-1F1F1":["flag_ml"],"1F1F2-1F1F2":["flag_mm"],"1F1F2-1F1F3":["flag_mn"],"1F1F2-1F1F4":["flag_mo"],"1F1F2-1F1F5":["flag_mp"],"1F1F2-1F1F6":["flag_mq"],"1F1F2-1F1F7":["flag_mr"],"1F1F2-1F1F8":["flag_ms"],"1F1F2-1F1F9":["flag_mt"],"1F1F2-1F1FA":["flag_mu"],"1F1F2-1F1FB":["flag_mv"],"1F1F2-1F1FC":["flag_mw"],"1F1F2-1F1FD":["flag_mx"],"1F1F2-1F1FE":["flag_my"],"1F1F2-1F1FF":["flag_mz"],"1F1F3-1F1E6":["flag_na"],"1F1F3-1F1E8":["flag_nc"],"1F1F3-1F1EA":["flag_ne"],"1F1F3-1F1EB":["flag_nf"],"1F1F3-1F1EC":["flag_ng"],"1F1F3-1F1EE":["flag_ni"],"1F1F3-1F1F1":["flag_nl"],"1F1F3-1F1F4":["flag_no"],"1F1F3-1F1F5":["flag_np"],"1F1F3-1F1F7":["flag_nr"],"1F1F3-1F1FA":["flag_nu"],"1F1F3-1F1FF":["flag_nz"],"1F1F4-1F1F2":["flag_om"],"1F1F5-1F1E6":["flag_pa"],"1F1F5-1F1EA":["flag_pe"],"1F1F5-1F1EB":["flag_pf"],"1F1F5-1F1EC":["flag_pg"],"1F1F5-1F1ED":["flag_ph"],"1F1F5-1F1F0":["flag_pk"],"1F1F5-1F1F1":["flag_pl"],"1F1F5-1F1F2":["flag_pm"],"1F1F5-1F1F3":["flag_pn"],"1F1F5-1F1F7":["flag_pr"],"1F1F5-1F1F8":["flag_ps"],"1F1F5-1F1F9":["flag_pt"],"1F1F5-1F1FC":["flag_pw"],"1F1F5-1F1FE":["flag_py"],"1F1F6-1F1E6":["flag_qa"],"1F1F7-1F1EA":["flag_re"],"1F1F7-1F1F4":["flag_ro"],"1F1F7-1F1F8":["flag_rs"],"1F1F7-1F1FA":["flag_ru"],"1F1F7-1F1FC":["flag_rw"],"1F1F8-1F1E6":["flag_sa"],"1F1F8-1F1E7":["flag_sb"],"1F1F8-1F1E8":["flag_sc"],"1F1F8-1F1E9":["flag_sd"],"1F1F8-1F1EA":["flag_se"],"1F1F8-1F1EC":["flag_sg"],"1F1F8-1F1ED":["flag_sh"],"1F1F8-1F1EE":["flag_si"],"1F1F8-1F1EF":["flag_sj"],"1F1F8-1F1F0":["flag_sk"],"1F1F8-1F1F1":["flag_sl"],"1F1F8-1F1F2":["flag_sm"],"1F1F8-1F1F3":["flag_sn"],"1F1F8-1F1F4":["flag_so"],"1F1F8-1F1F7":["flag_sr"],"1F1F8-1F1F8":["flag_ss"],"1F1F8-1F1F9":["flag_st"],"1F1F8-1F1FB":["flag_sv"],"1F1F8-1F1FD":["flag_sx"],"1F1F8-1F1FE":["flag_sy"],"1F1F8-1F1FF":["flag_sz"],"1F1F9-1F1E6":["flag_ta"],"1F1F9-1F1E8":["flag_tc"],"1F1F9-1F1E9":["flag_td"],"1F1F9-1F1EB":["flag_tf"],"1F1F9-1F1EC":["flag_tg"],"1F1F9-1F1ED":["flag_th"],"1F1F9-1F1EF":["flag_tj"],"1F1F9-1F1F0":["flag_tk"],"1F1F9-1F1F1":["flag_tl"],"1F1F9-1F1F2":["flag_tm"],"1F1F9-1F1F3":["flag_tn"],"1F1F9-1F1F4":["flag_to"],"1F1F9-1F1F7":["flag_tr"],"1F1F9-1F1F9":["flag_tt"],"1F1F9-1F1FB":["flag_tv"],"1F1F9-1F1FC":["flag_tw"],"1F1F9-1F1FF":["flag_tz"],"1F1FA-1F1E6":["flag_ua"],"1F1FA-1F1EC":["flag_ug"],"1F1FA-1F1F2":["flag_um"],"1F1FA-1F1F3":["flag_un"],"1F1FA-1F1F8":["flag_us","usa"],"1F1FA-1F1FE":["flag_uy"],"1F1FA-1F1FF":["flag_uz"],"1F1FB-1F1E6":["flag_va"],"1F1FB-1F1E8":["flag_vc"],"1F1FB-1F1EA":["flag_ve"],"1F1FB-1F1EC":["flag_vg"],"1F1FB-1F1EE":["flag_vi"],"1F1FB-1F1F3":["flag_vn"],"1F1FB-1F1FA":["flag_vu"],"1F1FC-1F1EB":["flag_wf"],"1F1FC-1F1F8":["flag_ws"],"1F1FD-1F1F0":["flag_xk"],"1F1FE-1F1EA":["flag_ye"],"1F1FE-1F1F9":["flag_yt"],"1F1FF-1F1E6":["flag_za"],"1F1FF-1F1F2":["flag_zm"],"1F1FF-1F1FC":["flag_zw"],"1F3F4-E0067-E0062-E0065-E006E-E0067-E007F":["flag_gbeng","england"],"1F3F4-E0067-E0062-E0073-E0063-E0074-E007F":["flag_gbsct","scotland"],"1F3F4-E0067-E0062-E0077-E006C-E0073-E007F":["flag_gbwls","wales"]}');var y=function F(e,a){return void 0===a&&(a=1),e.reduce((function(e,o){return e.concat(a>1&&Array.isArray(o)?F(o,a-1):o)}),[])}(Object.values(A)),k=Object.entries(A),C=function(F){return String.fromCodePoint.apply(String,F.split("-").map((function(F){return"0x"+F})))},B=function(F){var e=A[F],a=-1,o=null;e?(a=1,o=F):Object.entries(A).forEach((function(e){for(var n=e[0],t=e[1],r=0;r<=t.length;++r){var i=t[r]||n,l=i===F,_=i.indexOf(F),s=F.indexOf(i),c=l&&F.length||0===_||0===s&&i.length>1?1:_>0||s>0?0:-1;if(c>a&&(o=n,a=c,1===c))return!1}})),this.score=a,this.emoji=o},v=new Map;const j=function(F){if(!F)return{};var e,a=F.identifier||F;if(v.has(a))return v.get(a);if(y.includes(a)){var o=function(F){return k.find((function(e){return e[1].includes(F)}))}(a);e=o&&o[0]}else{var n=new B(a);n.score&&(e=n.emoji)}var t=e?{identifier:a,uc:C(e),url:"//cdn.jsdelivr.net/gh/twitter/twemoji@13/assets/72x72/"+e.toLowerCase()+".png",type:"emoji"}:{};return v.set(F,t),t||{}};var x=function(F){function e(){return F.apply(this,arguments)||this}E(e,F);var a=e.prototype;return a.icon=function(){return"fas fa-heart"},a.href=function(){return t().route.post(this.attrs.notification.subject())},a.content=function(){var F=this.attrs.notification,e=JSON.parse(F.content()),a=e.identifier,o=e.type,n=F.fromUser(),r="emoji"===o?m("img",{src:j(a).url,loading:"lazy",height:"14px"}):w()(a);return t().translator.trans("fof-reactions.forum.notification",{user:n,reaction:r})},a.excerpt=function(){return this.attrs.notification.subject().contentPlain()},e}(b());const R=flarum.core.compat["common/utils/mixin"];var z=a.n(R),q=function(F){function e(){return F.apply(this,arguments)||this}return E(e,F),e}(z()(f(),{identifier:f().attribute("identifier"),display:f().attribute("display"),type:f().attribute("type"),enabled:f().attribute("enabled"),user_id:f().attribute("user_id"),post_id:f().attribute("post_id"),reaction_id:f().attribute("reaction_id")})),O=function(F){function e(){return F.apply(this,arguments)||this}return E(e,F),e}(z()(f(),{reaction:f().hasOne("reaction"),userId:f().attribute("userId"),postId:f().attribute("postId"),reactionId:f().attribute("reactionId"),user:f().hasOne("user"),post:f().hasOne("post")})),I=a(987),N=a.n(I);const M=flarum.core.compat["forum/components/DiscussionPage"];var S=a.n(M),P=function(F){return t().store.find("posts",F,{include:"reactions"}).then((function(){return m.redraw()}))},T=[],L=function(F){var e=T[F];return e?e(F):(e=T[F]=N()(P,1500))(F)};const G=flarum.core.compat["forum/components/CommentPost"];var U=a.n(G);const Z=flarum.core.compat["common/Component"];var J=a.n(Z);const W=flarum.core.compat["common/utils/ItemList"];var H=a.n(W);const K=flarum.core.compat["common/components/Button"];var Q=a.n(K);const V=flarum.core.compat["common/helpers/listItems"];var X=a.n(V);const Y=flarum.core.compat["forum/components/LogInModal"];var FF=a.n(Y);const eF=function(F,e){return F.map("function"==typeof e?e:function(F){return F[e]}).reduce((function(e,a,o){return e[a]=(e[a]||[]).concat(F[o]),e}),{})};function aF(){return aF=Object.assign||function(F){for(var e=1;eF.length)&&(e=F.length);for(var a=0,o=new Array(e);a1?m("span",{className:"count"},t):""))}}))),(!Object.keys(this.loading).length||this.loading.null)&&!this.reaction&&a&&m("div",{className:"Reactions--react"},this.reactButton(),m("div",{className:"CommentPost--Reactions",style:1===this.post.number()?"":"left: -28%;"},m("ul",{className:"Reactions--Ul"},X()(this.getReactions().toArray())))))},a.reactButton=function(){return m(Q(),{className:"Button Button--link Reactions--ShowReactions",type:"Button",title:app.translator.trans("fof-reactions.forum.react_button_label"),loading:this.loading.null},m("span",{className:"Button-label"},m("svg",{class:"button-react",width:"20px",height:"20px",viewBox:"0 0 18 18"},"/* Generator: Sketch 40.3 (33839) - http://www.bohemiancoding.com/sketch */",m("g",{id:"Page-1",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},m("g",{id:"ic_reactions_grey_16px"},m("g",{id:"Group-2"},m("g",{id:"0:0:0:0"},m("rect",{id:"Rectangle-5",x:"0",y:"0",width:"18",height:"18"}),m("g",{id:"emoticon"}),m("path",{d:"M14.6332705,7.33333333 C14.6554304,7.55389388 14.6666667,7.77636769 14.6666667,8 C14.6666667,11.6818983 11.6818983,14.6666667 8,14.6666667 C6.23189007,14.6666667 4.53619732,13.9642877 3.28595479,12.7140452 C2.03571227,11.4638027 1.33333333,9.76810993 1.33333333,8 C1.33333333,4.33333333 4.31333333,1.33333333 8,1.33333333 L8,1.33333333 C8.22363231,1.33333333 8.44610612,1.3445696 8.66666667,1.36672949 L8.66666667,2.70847693 C8.44668912,2.68076722 8.22407146,2.66666667 8,2.66666667 C5.05448133,2.66666667 2.66666667,5.05448133 2.66666667,8 C2.66666667,10.9455187 5.05448133,13.3333333 8,13.3333333 C10.9455187,13.3333333 13.3333333,10.9455187 13.3333333,8 C13.3333333,7.77592854 13.3192328,7.55331088 13.2915231,7.33333333 L14.6332705,7.33333333 Z M8,11.6666667 C9.55333333,11.6666667 10.8666667,10.6933333 11.4066667,9.33333333 L4.59333333,9.33333333 C5.12666667,10.6933333 6.44666667,11.6666667 8,11.6666667 Z M10.3333333,7.33333333 C10.8856181,7.33333333 11.3333333,6.88561808 11.3333333,6.33333333 C11.3333333,5.78104858 10.8856181,5.33333333 10.3333333,5.33333333 C9.78104858,5.33333333 9.33333333,5.78104858 9.33333333,6.33333333 C9.33333333,6.88561808 9.78104858,7.33333333 10.3333333,7.33333333 L10.3333333,7.33333333 Z M5.66666667,7.33333333 C6.21895142,7.33333333 6.66666667,6.88561808 6.66666667,6.33333333 C6.66666667,5.78104858 6.21895142,5.33333333 5.66666667,5.33333333 C5.11438192,5.33333333 4.66666667,5.78104858 4.66666667,6.33333333 C4.66666667,6.88561808 5.11438192,7.33333333 5.66666667,7.33333333 Z",id:"Combined-Shape",fill:"#667c99"})),m("g",{id:"Group-15",transform:"translate(10.666667, 0.000000)",fill:"#667c99"},m("polygon",{id:"Path",points:"3.33333333 2 3.33333333 0 2 0 2 2 0 2 0 3.33333333 2 3.33333333 2 5.33333333 3.33333333 5.33333333 3.33333333 3.33333333 5.33333333 3.33333333 5.33333333 2"}))))))))},a.react=function(F,e){var a=this;if(e.target.blur(),app.session.user){if(!this.post.canReact())return app.alerts.show({type:"error"},app.translator.trans("core.lib.error.permission_denied_message"));var o=F?F.id():null,n=this.post.reactions();return this.loading[o]=!0,this.post.save({reaction:o}).then((function(e){delete a.loading[o];for(var t,r=function(F,e){var a="undefined"!=typeof Symbol&&F[Symbol.iterator]||F["@@iterator"];if(a)return(a=a.call(F)).next.bind(a);if(Array.isArray(F)||(a=function(F,e){if(F){if("string"==typeof F)return lF(F,e);var a=Object.prototype.toString.call(F).slice(8,-1);return"Object"===a&&F.constructor&&(a=F.constructor.name),"Map"===a||"Set"===a?Array.from(F):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?lF(F,e):void 0}}(F))||e&&F&&"number"==typeof F.length){a&&(F=a);var o=0;return function(){return o>=F.length?{done:!0}:{done:!1,value:F[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(n);!(t=r()).done;){var i=t.value;e.reactions().includes(i)||app.store.remove(i)}a.updateChosenReaction(),(void 0!==app.forum.data.relationships.ranks&&(app.forum.attribute("ReactionConverts")[0]===F||app.forum.attribute("ReactionConverts")[1]===F)||void 0!==a.post.data.relationships.likes&&app.forum.attribute("ReactionConverts")[2]===F)&&app.alerts.show({type:"warning"},app.translator.trans("fof-reactions.forum.warning",{reaction:F})),m.redraw()})).catch((function(F){delete a.loading[o],$("body").append(F),m.redraw()}))}app.modal.show(FF())},a.updateChosenReaction=function(){var F=this.getPostReactions();return this.reaction=app.session.user&&F.filter((function(F){return F.userId()==app.session.user.id()}))[0]},a.getPostReactions=function(){var F=this;return this.post.reactions()||app.store.all("post_reactions").filter((function(e){return e&&e.postId()==F.post.id()}))},e}(J());const sF=flarum.core.compat["forum/utils/PostControls"];var cF=a.n(sF);const gF=flarum.core.compat["common/components/Modal"];var mF=a.n(gF);const fF=flarum.core.compat["common/components/LoadingIndicator"];var uF=a.n(fF);const pF=flarum.core.compat["common/helpers/avatar"];var dF=a.n(pF);const EF=flarum.core.compat["common/helpers/username"];var hF=a.n(EF);const bF=flarum.core.compat["common/components/Link"];var DF=a.n(bF),wF=function(F){function e(){return F.apply(this,arguments)||this}E(e,F);var a=e.prototype;return a.className=function(){return"ReactionsModal Modal--small"},a.title=function(){return t().translator.trans("fof-reactions.forum.modal.title")},a.oninit=function(e){F.prototype.oninit.call(this,e),this.loading=!0,this.groupedReactions=eF(this.attrs.post.reactions().filter(Boolean),(function(F){return F.reactionId()})),this.load()},a.content=function(){var F=this;return this.loading?m("div",{className:"Modal-body"},m(uF(),null)):m("div",{className:"Modal-body"},m("ul",{className:"ReactionsModal-list"},Object.keys(this.groupedReactions).map((function(e){var a=t().store.getById("reactions",e),o=F.groupedReactions[e];if(o.length)return m("div",{className:"ReactionsModal-group"},m("legend",null,m(iF,{reaction:a,className:"ReactionModal-reaction"}),m("label",{className:"ReactionsModal-display"},a.display()||a.identifier())),m("hr",{className:"ReactionsModal-delimiter"}),o.filter((function(F){return F.user()})).map((function(F){return m("li",null,m(DF(),{className:"ReactionsModal-user",href:t().route.user(F.user())},dF()(F.user(),{loading:"lazy"}),hF()(F.user())))})))}))))},a.load=function(){return t().request({method:"GET",url:t().forum.attribute("apiUrl")+this.attrs.post.apiEndpoint()+"/reactions",params:{include:"user"}}).then((function(F){return t().store.pushPayload(F)})).then(this.loaded.bind(this),this.loaded.bind(this))},e}(mF());t().initializers.add("fof/reactions",(function(){t().store.models.reactions=q,t().store.models.post_reactions=O,t().notificationComponents.postReacted=x,c().prototype.canReact=f().attribute("canReact"),c().prototype.reactions=f().hasMany("reactions"),i().prototype.reactions=f().hasMany("reactions"),_().prototype.canSeeReactions=f().attribute("canSeeReactions"),(0,o.extend)(U().prototype,"actionItems",(function(F){var e=this.attrs.post;if(!e.isHidden()){var a=t().session.user&&Array.isArray(e.reactions())&&e.reactions().some((function(F){return F===t().session.user}));F.add("react",_F.component({post:e,reaction:a}),5)}})),(0,o.extend)(cF(),"moderationControls",(function(F,e){e.discussion().canSeeReactions()&&e.reactions()&&e.reactions().length&&F.add("viewReactions",m(Q(),{icon:"fas fa-heart",onclick:function(){return t().modal.show(wF,{post:e})}},t().translator.trans("fof-reactions.forum.mod_item")))})),(0,o.extend)(S().prototype,"config",(function(F,e,a){e||t().pusher&&t().pusher.then((function(F){F.main.bind("newReaction",(function(F){var e=F.postId,a=F.reactionId,o=t().store.getById("reactions",a),n=t().store.getById("posts",e);o&&n&&L(e)})),F.main.bind("removedReaction",(function(F){var e=F.userId,a=F.postId,o=F.reactionId,n=t().store.all("post_reactions").filter((function(F){return F.userId()==e&&F.postId()==a&&F.reactionId()==o}))[0];n&&(t().store.remove(n),L(a),m.redraw())})),(0,o.extend)(a,"onunload",(function(){return F.main.unbind("newReaction")})),(0,o.extend)(a,"onunload",(function(){return F.main.unbind("removedReaction")}))}))})),(0,o.extend)(p().prototype,"notificationTypes",(function(F){F.add("postReacted",{name:"postReacted",icon:"far fa-smile",label:t().translator.trans("fof-reactions.forum.settings.notify_post_reacted_label")})}))}))}},e={};function a(o){var n=e[o];if(void 0!==n)return n.exports;var t=e[o]={exports:{}};return F[o](t,t.exports,a),t.exports}a.n=F=>{var e=F&&F.__esModule?()=>F.default:()=>F;return a.d(e,{a:e}),e},a.d=(F,e)=>{for(var o in e)a.o(e,o)&&!a.o(F,o)&&Object.defineProperty(F,o,{enumerable:!0,get:e[o]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(F){if("object"==typeof window)return window}}(),a.o=(F,e)=>Object.prototype.hasOwnProperty.call(F,e),a.r=F=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(F,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(F,"__esModule",{value:!0})};var o={};(()=>{"use strict";a.r(o);var F=a(656),e={};for(const a in F)"default"!==a&&(e[a]=()=>F[a]);a.d(o,e),a(153)})(),module.exports=o})(); +(()=>{var F={987:(F,e,a)=>{var o=/^\s+|\s+$/g,n=/^[-+]0x[0-9a-f]+$/i,t=/^0b[01]+$/i,r=/^0o[0-7]+$/i,i=parseInt,l="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,s="object"==typeof self&&self&&self.Object===Object&&self,_=l||s||Function("return this")(),c=Object.prototype.toString,g=Math.max,m=Math.min,u=function(){return _.Date.now()};function f(F){var e=typeof F;return!!F&&("object"==e||"function"==e)}function p(F){if("number"==typeof F)return F;if(function(F){return"symbol"==typeof F||function(F){return!!F&&"object"==typeof F}(F)&&"[object Symbol]"==c.call(F)}(F))return NaN;if(f(F)){var e="function"==typeof F.valueOf?F.valueOf():F;F=f(e)?e+"":e}if("string"!=typeof F)return 0===F?F:+F;F=F.replace(o,"");var a=t.test(F);return a||r.test(F)?i(F.slice(2),a?2:8):n.test(F)?NaN:+F}F.exports=function(F,e,a){var o,n,t,r,i,l,s=0,_=!1,c=!1,d=!0;if("function"!=typeof F)throw new TypeError("Expected a function");function h(e){var a=o,t=n;return o=n=void 0,s=e,r=F.apply(t,a)}function E(F){return s=F,i=setTimeout(D,e),_?h(F):r}function b(F){var a=F-l;return void 0===l||a>=e||a<0||c&&F-s>=t}function D(){var F=u();if(b(F))return w(F);i=setTimeout(D,function(F){var a=e-(F-l);return c?m(a,t-(F-s)):a}(F))}function w(F){return i=void 0,d&&o?h(F):(o=n=void 0,r)}function A(){var F=u(),a=b(F);if(o=arguments,n=this,l=F,a){if(void 0===i)return E(l);if(c)return i=setTimeout(D,e),h(l)}return void 0===i&&(i=setTimeout(D,e)),r}return e=p(e)||0,f(a)&&(_=!!a.leading,t=(c="maxWait"in a)?g(p(a.maxWait)||0,e):t,d="trailing"in a?!!a.trailing:d),A.cancel=function(){void 0!==i&&clearTimeout(i),s=0,o=l=n=i=void 0},A.flush=function(){return void 0===i?r:w(u())},A}},656:()=>{},797:(F,e,a)=>{"use strict";const o=flarum.core.compat["common/extend"],n=flarum.core.compat["forum/app"];var t=a.n(n);const r=flarum.core.compat["common/models/Forum"];var i=a.n(r);const l=flarum.core.compat["common/models/Discussion"];var s=a.n(l);const _=flarum.core.compat["common/models/Post"];var c=a.n(_);const g=flarum.core.compat["common/Model"];var u=a.n(g);const f=flarum.core.compat["forum/components/NotificationGrid"];var p=a.n(f);function d(F,e){return d=Object.setPrototypeOf||function(F,e){return F.__proto__=e,F},d(F,e)}function h(F,e){F.prototype=Object.create(e.prototype),F.prototype.constructor=F,d(F,e)}const E=flarum.core.compat["forum/components/Notification"];var b=a.n(E);const D=flarum.core.compat["common/helpers/icon"];var w=a.n(D);const A=JSON.parse('{"2049":["interrobang","exclamation_question"],"2122":["tm"],"2139":["info"],"2194":["arrow_left_right"],"2195":["arrow_up_down"],"2196":["arrow_upper_left"],"2197":["arrow_upper_right"],"2198":["arrow_lower_right"],"2199":["arrow_lower_left"],"2328":["keyboard"],"2600":["sun"],"2601":["cloud"],"2602":["umbrella"],"2603":["snowy_snowman"],"2604":["comet"],"2611":["checked_ballot"],"2614":["umbrella_rain"],"2615":["coffee"],"2618":["shamrock"],"2620":["crossbones"],"2622":["radioactive"],"2623":["biohazard"],"2626":["orthodox_cross"],"2638":["wheel_of_dharma"],"2639":["sad","frowning"],"2640":["female","female_sign"],"2642":["male","male_sign"],"2648":["aries"],"2649":["taurus"],"2650":["sagittarius"],"2651":["capricorn"],"2652":["aquarius"],"2653":["pisces"],"2660":["spades"],"2663":["clubs"],"2665":["hearts"],"2666":["diamonds"],"2668":["hotsprings"],"2692":["hammer_pick"],"2693":["anchor"],"2694":["crossed_swords"],"2695":["medical"],"2696":["scales"],"2697":["alembic"],"2699":["gear"],"2702":["scissors"],"2705":["white_check_mark"],"2708":["airplane"],"2709":["envelope"],"2712":["black_nib"],"2714":["check_mark"],"2716":["multiplication"],"2721":["star_of_david"],"2728":["sparkles"],"2733":["eight_spoked_asterisk"],"2734":["eight_pointed_star"],"2744":["snowflake"],"2747":["sparkle"],"2753":["question"],"2754":["white_question"],"2755":["white_exclamation"],"2757":["exclamation"],"2763":["heart_exclamation"],"2764":["heart"],"2795":["plus"],"2796":["minus"],"2797":["division"],"2934":["arrow_heading_up"],"2935":["arrow_heading_down"],"3030":["wavy_dash"],"3297":["ja_congratulations"],"3299":["ja_secret"],"1F1E6":["regional_indicator_a"],"1F1E7":["regional_indicator_b"],"1F1E8":["regional_indicator_c"],"1F1E9":["regional_indicator_d"],"1F1EA":["regional_indicator_e"],"1F1EB":["regional_indicator_f"],"1F1EC":["regional_indicator_g"],"1F1ED":["regional_indicator_h"],"1F1EE":["regional_indicator_i"],"1F1EF":["regional_indicator_j"],"1F1F0":["regional_indicator_k"],"1F1F1":["regional_indicator_l"],"1F1F2":["regional_indicator_m"],"1F1F3":["regional_indicator_n"],"1F1F4":["regional_indicator_o"],"1F1F5":["regional_indicator_p"],"1F1F6":["regional_indicator_q"],"1F1F7":["regional_indicator_r"],"1F1F8":["regional_indicator_s"],"1F1F9":["regional_indicator_t"],"1F1FA":["regional_indicator_u"],"1F1FB":["regional_indicator_v"],"1F1FC":["regional_indicator_w"],"1F1FD":["regional_indicator_x"],"1F1FE":["regional_indicator_y"],"1F1FF":["regional_indicator_z"],"1F600":["gleeful"],"1F603":["glad","smile"],"1F604":["happy"],"1F601":["blissful","grin"],"1F606":["amused","laugh","lol"],"1F605":["embarassed","sweat_smile"],"1F923":["entertained","rofl"],"1F602":["joyful","haha"],"1F642":["pleased","slight_smile"],"1F643":["ecstatic","upside_down"],"1FAE0":["melt","melting_face"],"1F609":["coy","wink"],"1F60A":["blush"],"1F607":["innocent","halo"],"1F970":["love"],"1F60D":["lovestruck"],"1F929":["starstruck"],"1F618":["flirty"],"1F617":["kiss"],"263A":["relaxed"],"1F61A":["loving_kiss"],"1F619":["happy_kiss"],"1F972":["tear_smile"],"1F60B":["yum","savour"],"1F61B":["playful","tongue_out"],"1F61C":["mischievous"],"1F92A":["crazy"],"1F61D":["facetious","lmao"],"1F911":["pretentious","money_mouth"],"1F917":["hugging"],"1F92D":["gasp"],"1FAE2":["face_with_open_eyes_hand_over_mouth","gasp"],"1FAE3":["face_with_peeking_eye","peek"],"1F92B":["shushing"],"1F914":["curious","thinking"],"1FAE1":["salute","saluting_face"],"1F910":["silenced","zipper_mouth"],"1F928":["contempt"],"1F610":["indifferent","neutral"],"1F611":["apathetic","expressionless"],"1F636":["vacant","no_mouth"],"1FAE5":["dotted_line_face"],"1F636-200D-1F32B-FE0F":["in_clouds"],"1F60F":["cocky","smirk"],"1F612":["unamused"],"1F644":["disbelief"],"1F62C":["grimaced"],"1F62E-200D-1F4A8":["exhale","exhaling"],"1F925":["lying"],"1F60C":["relieved"],"1F614":["pensive"],"1F62A":["sleepy"],"1F924":["drooling"],"1F634":["exhausted","sleeping"],"1F637":["ill","mask"],"1F912":["sick"],"1F915":["injured"],"1F922":["nauseated"],"1F92E":["vomiting"],"1F927":["sneezing"],"1F975":["overheating"],"1F976":["freezing"],"1F974":["woozy"],"1F635":["dizzy"],"1F635-200D-1F4AB":["dizzy_eyes"],"1F92F":["shocked","exploding_head"],"1F920":["cowboy"],"1F973":["partying","celebrating"],"1F978":["disguised_face"],"1F60E":["confident"],"1F913":["nerd"],"1F9D0":["monocle"],"1F615":["confused"],"1FAE4":["face_with_diagonal_mouth"],"1F61F":["worried"],"1F641":["cheerless","slight_frown"],"1F62E":["surprised"],"1F62F":["hushed"],"1F632":["astonished"],"1F633":["flushed"],"1F97A":["pleading"],"1F979":["face_holding_back_tears","watery_eyes"],"1F626":["bored"],"1F627":["anguished","wtf"],"1F628":["fearful"],"1F630":["cold_sweat","anxious","frustrated"],"1F625":["gloomy"],"1F622":["upset","cry"],"1F62D":["distressed","sob"],"1F631":["frightened","scream"],"1F616":["confounded"],"1F623":["persevered"],"1F61E":["disappointed"],"1F613":["shamed"],"1F629":["weary"],"1F62B":["tired"],"1F971":["yawn"],"1F624":["annoyed","hrmph"],"1F621":["enraged","pout"],"1F620":["angry"],"1F92C":["censored"],"1F608":["imp"],"1F47F":["angry_imp"],"1F480":["skull"],"1F4A9":["poop"],"1F921":["clown"],"1F479":["ogre"],"1F47A":["goblin"],"1F47B":["ghost"],"1F47D":["alien"],"1F47E":["alien_monster","space_invader"],"1F916":["robot"],"1F63A":["smiling_cat"],"1F638":["grinning_cat"],"1F639":["joyful_cat"],"1F63B":["lovestruck_cat"],"1F63C":["smirking_cat"],"1F63D":["kissing_cat"],"1F640":["weary_cat"],"1F63F":["crying_cat"],"1F63E":["pouting_cat"],"1F648":["see_no_evil"],"1F649":["hear_no_evil"],"1F64A":["speak_no_evil"],"1F48B":["kiss_lips"],"1F48C":["love_letter"],"1F498":["cupid"],"1F49D":["heart_ribbon"],"1F496":["sparkling_heart"],"1F497":["heartpulse"],"1F493":["heartbeat"],"1F49E":["revolving_hearts"],"1F495":["two_hearts"],"1F49F":["heart_decoration"],"1F494":["broken_heart"],"2764-FE0F-200D-1F525":["heart_on_fire"],"2764-FE0F-200D-1FA79":["mending_heart"],"1F9E1":["orange_heart"],"1F49B":["yellow_heart"],"1F49A":["green_heart"],"1F499":["blue_heart"],"1F49C":["purple_heart"],"1F90E":["brown_heart"],"1F5A4":["black_heart"],"1F90D":["white_heart"],"1F4AF":["100"],"1F4A2":["anger"],"1F4A5":["boom","collision"],"1F4AB":["dizzy_star"],"1F4A6":["sweat_drops"],"1F4A8":["dash"],"1F573":["hole"],"1F4A3":["bomb"],"1F4AC":["speech"],"1F441-FE0F-200D-1F5E8-FE0F":["eye_bubble"],"1F5E8":["left_speech"],"1F5EF":["right_anger_speech"],"1F4AD":["thought"],"1F4A4":["zzz"],"1F44B":["wave"],"1F91A":["raised_backhand"],"1F590":["splayed_hand"],"270B":["raised_hand"],"1F596":["vulcan"],"1FAF1":["rightwards_hand"],"1FAF2":["leftwards_hand"],"1FAF3":["palm_down"],"1FAF4":["palm_up"],"1F44C":["ok_hand"],"1F90C":["pinched_fingers"],"1F90F":["pinch"],"270C":["victory"],"1F91E":["fingers_crossed"],"1FAF0":["hand_with_index_finger_and_thumb_crossed"],"1F91F":["love_you_gesture"],"1F918":["metal"],"1F919":["call_me"],"1F448":["point_left"],"1F449":["point_right"],"1F446":["backhand_point_up"],"1F595":["middle_finger"],"1F447":["point_down"],"261D":["point_up"],"1FAF5":["point_forward"],"1F44D":["thumbsup","+1","y","yes"],"1F44E":["thumbsdown","-1","n","no"],"270A":["fist"],"1F44A":["punch"],"1F91B":["left_facing_fist"],"1F91C":["right_facing_fist"],"1F44F":["clap"],"1F64C":["raised_hands"],"1FAF6":["heart_hands"],"1F450":["open_hands"],"1F932":["palms_up"],"1F91D":["handshake"],"1F64F":["pray"],"270D":["writing_hand"],"1F485":["nail_care"],"1F933":["selfie"],"1F4AA":["muscle","right_bicep"],"1F9BE":["mech_arm"],"1F9BF":["mech_leg"],"1F9B5":["leg"],"1F9B6":["foot"],"1F442":["ear"],"1F9BB":["hearing_aid"],"1F443":["nose"],"1F9E0":["brain"],"1FAC0":["anatomical_heart"],"1FAC1":["lungs"],"1F9B7":["tooth"],"1F9B4":["bone"],"1F440":["eyes"],"1F441":["eye"],"1F445":["tongue"],"1F444":["lips"],"1FAE6":["biting_lip"],"1F476":["baby"],"1F9D2":["child"],"1F466":["boy"],"1F467":["girl"],"1F9D1":["adult"],"1F471":["blond_person"],"1F468":["man"],"1F9D4":["bearded_person"],"1F9D4-200D-2642-FE0F":["man_bearded"],"1F9D4-200D-2640-FE0F":["woman_bearded"],"1F468-200D-1F9B0":["red_haired_man"],"1F468-200D-1F9B1":["curly_haired_man"],"1F468-200D-1F9B3":["white_haired_man"],"1F468-200D-1F9B2":["bald_man"],"1F469":["woman"],"1F469-200D-1F9B0":["red_haired_woman"],"1F9D1-200D-1F9B0":["red_haired_person"],"1F469-200D-1F9B1":["curly_haired_woman"],"1F9D1-200D-1F9B1":["curly_haired_person"],"1F469-200D-1F9B3":["white_haired_woman"],"1F9D1-200D-1F9B3":["white_haired_person"],"1F469-200D-1F9B2":["bald_woman"],"1F9D1-200D-1F9B2":["bald_person"],"1F471-200D-2640-FE0F":["blond_woman"],"1F471-200D-2642-FE0F":["blond_man"],"1F9D3":["older_adult"],"1F474":["older_man"],"1F475":["older_woman"],"1F64D":["person_frowning"],"1F64D-200D-2642-FE0F":["man_frowning"],"1F64D-200D-2640-FE0F":["woman_frowning"],"1F64E":["person_pouting"],"1F64E-200D-2642-FE0F":["man_pouting"],"1F64E-200D-2640-FE0F":["woman_pouting"],"1F645":["person_gesturing_no"],"1F645-200D-2642-FE0F":["man_gesturing_no"],"1F645-200D-2640-FE0F":["woman_gesturing_no"],"1F646":["person_gesturing_ok"],"1F646-200D-2642-FE0F":["man_gesturing_ok"],"1F646-200D-2640-FE0F":["woman_gesturing_ok"],"1F481":["person_tipping_hand"],"1F481-200D-2642-FE0F":["man_tipping_hand"],"1F481-200D-2640-FE0F":["woman_tipping_hand"],"1F64B":["person_raising_hand"],"1F64B-200D-2642-FE0F":["man_raising_hand"],"1F64B-200D-2640-FE0F":["woman_raising_hand"],"1F9CF":["person_deaf"],"1F9CF-200D-2642-FE0F":["man_deaf"],"1F9CF-200D-2640-FE0F":["woman_deaf"],"1F647":["person_bowing"],"1F647-200D-2642-FE0F":["man_bowing"],"1F647-200D-2640-FE0F":["woman_bowing"],"1F926":["person_facepalming"],"1F926-200D-2642-FE0F":["man_facepalming"],"1F926-200D-2640-FE0F":["woman_facepalming"],"1F937":["person_shrugging"],"1F937-200D-2642-FE0F":["man_shrugging"],"1F937-200D-2640-FE0F":["woman_shrugging"],"1F9D1-200D-2695-FE0F":["person_health_worker"],"1F468-200D-2695-FE0F":["man_health_worker"],"1F469-200D-2695-FE0F":["woman_health_worker"],"1F9D1-200D-1F393":["person_student"],"1F468-200D-1F393":["man_student"],"1F469-200D-1F393":["woman_student"],"1F9D1-200D-1F3EB":["person_teacher"],"1F468-200D-1F3EB":["man_teacher"],"1F469-200D-1F3EB":["woman_teacher"],"1F9D1-200D-2696-FE0F":["person_judge"],"1F468-200D-2696-FE0F":["man_judge"],"1F469-200D-2696-FE0F":["woman_judge"],"1F9D1-200D-1F33E":["person_farmer"],"1F468-200D-1F33E":["man_farmer"],"1F469-200D-1F33E":["woman_farmer"],"1F9D1-200D-1F373":["person_cook"],"1F468-200D-1F373":["man_cook"],"1F469-200D-1F373":["woman_cook"],"1F9D1-200D-1F527":["person_mechanic"],"1F468-200D-1F527":["man_mechanic"],"1F469-200D-1F527":["woman_mechanic"],"1F9D1-200D-1F3ED":["person_factory_worker"],"1F468-200D-1F3ED":["man_factory_worker"],"1F469-200D-1F3ED":["woman_factory_worker"],"1F9D1-200D-1F4BC":["person_office_worker"],"1F468-200D-1F4BC":["man_office_worker"],"1F469-200D-1F4BC":["woman_office_worker"],"1F9D1-200D-1F52C":["person_scientist"],"1F468-200D-1F52C":["man_scientist"],"1F469-200D-1F52C":["woman_scientist"],"1F9D1-200D-1F4BB":["person_technologist"],"1F468-200D-1F4BB":["man_technologist"],"1F469-200D-1F4BB":["woman_technologist"],"1F9D1-200D-1F3A4":["person_singer"],"1F468-200D-1F3A4":["man_singer"],"1F469-200D-1F3A4":["woman_singer"],"1F9D1-200D-1F3A8":["person_artist"],"1F468-200D-1F3A8":["man_artist"],"1F469-200D-1F3A8":["woman_artist"],"1F9D1-200D-2708-FE0F":["person_pilot"],"1F468-200D-2708-FE0F":["man_pilot"],"1F469-200D-2708-FE0F":["woman_pilot"],"1F9D1-200D-1F680":["person_astronaut"],"1F468-200D-1F680":["man_astronaut"],"1F469-200D-1F680":["woman_astronaut"],"1F9D1-200D-1F692":["person_firefighter"],"1F468-200D-1F692":["man_firefighter"],"1F469-200D-1F692":["woman_firefighter"],"1F46E":["police_officer"],"1F46E-200D-2642-FE0F":["man_police_officer"],"1F46E-200D-2640-FE0F":["woman_police_officer"],"1F575":["detective"],"1F575-FE0F-200D-2642-FE0F":["man_detective"],"1F575-FE0F-200D-2640-FE0F":["woman_detective"],"1F482":["guard"],"1F482-200D-2642-FE0F":["man_guard"],"1F482-200D-2640-FE0F":["woman_guard"],"1F977":["ninja"],"1F477":["construction_worker"],"1F477-200D-2642-FE0F":["man_construction_worker"],"1F477-200D-2640-FE0F":["woman_construction_worker"],"1FAC5":["person_with_crown","royalty"],"1F934":["prince"],"1F478":["princess"],"1F473":["person_turban"],"1F473-200D-2642-FE0F":["man_turban"],"1F473-200D-2640-FE0F":["woman_turban"],"1F472":["man_chinese_cap"],"1F9D5":["woman_headscarf"],"1F935":["man_tuxedo"],"1F935-200D-2642-FE0F":["man_in_tuxedo"],"1F935-200D-2640-FE0F":["woman_in_tuxedo"],"1F470":["person_veiled_bride","bride_veil"],"1F470-200D-2642-FE0F":["man_veiled_bride"],"1F470-200D-2640-FE0F":["woman_veiled_bride"],"1F930":["pregnant_woman"],"1FAC3":["pregnant_man"],"1FAC4":["pregnant_person"],"1F931":["breast_feeding"],"1F469-200D-1F37C":["woman_feeding_baby"],"1F468-200D-1F37C":["man_feeding_baby"],"1F9D1-200D-1F37C":["person_feeding_baby"],"1F47C":["baby_angel"],"1F385":["santa"],"1F936":["mrs_claus"],"1F9D1-200D-1F384":["mx_claus"],"1F9B8":["hero","superhero"],"1F9B8-200D-2642-FE0F":["man_hero"],"1F9B8-200D-2640-FE0F":["woman_hero"],"1F9B9":["villain","supervillain"],"1F9B9-200D-2642-FE0F":["man_villain"],"1F9B9-200D-2640-FE0F":["woman_villain"],"1F9D9":["mage"],"1F9D9-200D-2642-FE0F":["man_mage"],"1F9D9-200D-2640-FE0F":["woman_mage"],"1F9DA":["fairy"],"1F9DA-200D-2642-FE0F":["man_fairy"],"1F9DA-200D-2640-FE0F":["woman_fairy"],"1F9DB":["vampire"],"1F9DB-200D-2642-FE0F":["man_vampire"],"1F9DB-200D-2640-FE0F":["woman_vampire"],"1F9DC":["merperson"],"1F9DC-200D-2642-FE0F":["merman"],"1F9DC-200D-2640-FE0F":["mermaid"],"1F9DD":["elf"],"1F9DD-200D-2642-FE0F":["man_elf"],"1F9DD-200D-2640-FE0F":["woman_elf"],"1F9DE":["genie"],"1F9DE-200D-2642-FE0F":["man_genie"],"1F9DE-200D-2640-FE0F":["woman_genie"],"1F9DF":["zombie"],"1F9DF-200D-2642-FE0F":["man_zombie"],"1F9DF-200D-2640-FE0F":["woman_zombie"],"1F9CC":["troll"],"1F486":["person_getting_massage"],"1F486-200D-2642-FE0F":["man_getting_face_massage"],"1F486-200D-2640-FE0F":["woman_getting_face_massage"],"1F487":["person_getting_haircut"],"1F487-200D-2642-FE0F":["man_getting_haircut"],"1F487-200D-2640-FE0F":["woman_getting_haircut"],"1F6B6":["person_walking"],"1F6B6-200D-2642-FE0F":["man_walking"],"1F6B6-200D-2640-FE0F":["woman_walking"],"1F9CD":["person_standing"],"1F9CD-200D-2642-FE0F":["man_standing"],"1F9CD-200D-2640-FE0F":["woman_standing"],"1F9CE":["person_kneeling"],"1F9CE-200D-2642-FE0F":["man_kneeling"],"1F9CE-200D-2640-FE0F":["woman_kneeling"],"1F9D1-200D-1F9AF":["person_probing_cane"],"1F468-200D-1F9AF":["man_probing_cane"],"1F469-200D-1F9AF":["woman_probing_cane"],"1F9D1-200D-1F9BC":["person_motor_wheelchair"],"1F468-200D-1F9BC":["man_motor_wheelchair"],"1F469-200D-1F9BC":["woman_motor_wheelchair"],"1F9D1-200D-1F9BD":["person_wheelchair"],"1F468-200D-1F9BD":["man_wheelchair"],"1F469-200D-1F9BD":["woman_wheelchair"],"1F3C3":["person_running"],"1F3C3-200D-2642-FE0F":["man_running"],"1F3C3-200D-2640-FE0F":["woman_running"],"1F483":["dancer","woman_dancing"],"1F57A":["man_dancing"],"1F574":["levitate"],"1F46F":["people_bunny_ears_partying"],"1F46F-200D-2642-FE0F":["men_bunny_ears_partying"],"1F46F-200D-2640-FE0F":["women_bunny_ears_partying"],"1F9D6":["person_steamy_room"],"1F9D6-200D-2642-FE0F":["man_steamy_room"],"1F9D6-200D-2640-FE0F":["woman_steamy_room"],"1F9D7":["person_climbing"],"1F9D7-200D-2642-FE0F":["man_climbing"],"1F9D7-200D-2640-FE0F":["woman_climbing"],"1F93A":["person_fencing"],"1F3C7":["horse_racing"],"26F7":["skier"],"1F3C2":["snowboarder"],"1F3CC":["person_golfing"],"1F3CC-FE0F-200D-2642-FE0F":["man_golfing"],"1F3CC-FE0F-200D-2640-FE0F":["woman_golfing"],"1F3C4":["person_surfing"],"1F3C4-200D-2642-FE0F":["man_surfing"],"1F3C4-200D-2640-FE0F":["woman_surfing"],"1F6A3":["person_rowing_boat"],"1F6A3-200D-2642-FE0F":["man_rowing_boat"],"1F6A3-200D-2640-FE0F":["woman_rowing_boat"],"1F3CA":["person_swimming"],"1F3CA-200D-2642-FE0F":["man_swimming"],"1F3CA-200D-2640-FE0F":["woman_swimming"],"26F9":["person_bouncing_ball"],"26F9-FE0F-200D-2642-FE0F":["man_bouncing_ball"],"26F9-FE0F-200D-2640-FE0F":["woman_bouncing_ball"],"1F3CB":["person_lifting_weights"],"1F3CB-FE0F-200D-2642-FE0F":["man_lifting_weights"],"1F3CB-FE0F-200D-2640-FE0F":["woman_lifting_weights"],"1F6B4":["person_biking"],"1F6B4-200D-2642-FE0F":["man_biking"],"1F6B4-200D-2640-FE0F":["woman_biking"],"1F6B5":["person_mountain_biking"],"1F6B5-200D-2642-FE0F":["man_mountain_biking"],"1F6B5-200D-2640-FE0F":["woman_mountain_biking"],"1F938":["person_cartwheel"],"1F938-200D-2642-FE0F":["man_cartwheeling"],"1F938-200D-2640-FE0F":["woman_cartwheeling"],"1F93C":["people_wrestling"],"1F93C-200D-2642-FE0F":["men_wrestling"],"1F93C-200D-2640-FE0F":["women_wrestling"],"1F93D":["person_water_polo"],"1F93D-200D-2642-FE0F":["man_water_polo"],"1F93D-200D-2640-FE0F":["woman_water_polo"],"1F93E":["person_handball"],"1F93E-200D-2642-FE0F":["man_handball"],"1F93E-200D-2640-FE0F":["woman_handball"],"1F939":["person_juggling"],"1F939-200D-2642-FE0F":["man_juggling"],"1F939-200D-2640-FE0F":["woman_juggling"],"1F9D8":["person_lotus_position"],"1F9D8-200D-2642-FE0F":["man_lotus_position"],"1F9D8-200D-2640-FE0F":["woman_lotus_position"],"1F6C0":["bath"],"1F6CC":["in_bed"],"1F9D1-200D-1F91D-200D-1F9D1":["holding_hands_people"],"1F46D":["holding_hands_ww"],"1F46B":["holding_hands_mw","holding_hands_wm"],"1F46C":["holding_hands_mm"],"1F48F":["couple"],"1F469-200D-2764-FE0F-200D-1F48B-200D-1F468":["kiss_mw","kiss_wm"],"1F468-200D-2764-FE0F-200D-1F48B-200D-1F468":["kiss_mm"],"1F469-200D-2764-FE0F-200D-1F48B-200D-1F469":["kiss_ww"],"1F491":["couple_heart"],"1F469-200D-2764-FE0F-200D-1F468":["couple_mw","couple_wm"],"1F468-200D-2764-FE0F-200D-1F468":["couple_mm"],"1F469-200D-2764-FE0F-200D-1F469":["couple_ww"],"1F46A":["family"],"1F468-200D-1F469-200D-1F466":["family_mwb"],"1F468-200D-1F469-200D-1F467":["family_mwg"],"1F468-200D-1F469-200D-1F467-200D-1F466":["family_mwgb"],"1F468-200D-1F469-200D-1F466-200D-1F466":["family_mwbb"],"1F468-200D-1F469-200D-1F467-200D-1F467":["family_mwgg"],"1F468-200D-1F468-200D-1F466":["family_mmb"],"1F468-200D-1F468-200D-1F467":["family_mmg"],"1F468-200D-1F468-200D-1F467-200D-1F466":["family_mmgb"],"1F468-200D-1F468-200D-1F466-200D-1F466":["family_mmbb"],"1F468-200D-1F468-200D-1F467-200D-1F467":["family_mmgg"],"1F469-200D-1F469-200D-1F466":["family_wwb"],"1F469-200D-1F469-200D-1F467":["family_wwg"],"1F469-200D-1F469-200D-1F467-200D-1F466":["family_wwgb"],"1F469-200D-1F469-200D-1F466-200D-1F466":["family_wwbb"],"1F469-200D-1F469-200D-1F467-200D-1F467":["family_wwgg"],"1F468-200D-1F466":["family_mb"],"1F468-200D-1F466-200D-1F466":["family_mbb"],"1F468-200D-1F467":["family_mg"],"1F468-200D-1F467-200D-1F466":["family_mgb"],"1F468-200D-1F467-200D-1F467":["family_mgg"],"1F469-200D-1F466":["family_wb"],"1F469-200D-1F466-200D-1F466":["family_wbb"],"1F469-200D-1F467":["family_wg"],"1F469-200D-1F467-200D-1F466":["family_wgb"],"1F469-200D-1F467-200D-1F467":["family_wgg"],"1F5E3":["speaking_head"],"1F464":["bust_silhouette"],"1F465":["busts_silhouette"],"1FAC2":["people_hugging"],"1F463":["footprints"],"1F3FB":["tone_light","tone1"],"1F3FC":["tone_medium_light","tone2"],"1F3FD":["tone_medium","tone3"],"1F3FE":["tone_medium_dark","tone4"],"1F3FF":["tone_dark","tone5"],"1F9B0":["red_hair"],"1F9B1":["curly_hair"],"1F9B3":["white_hair"],"1F9B2":["bald"],"1F435":["monkey_face"],"1F412":["monkey"],"1F98D":["gorilla"],"1F9A7":["orangutan"],"1F436":["dog_face"],"1F415":["dog"],"1F9AE":["guide_dog"],"1F415-200D-1F9BA":["service_dog"],"1F429":["poodle"],"1F43A":["wolf_face"],"1F98A":["fox_face"],"1F99D":["raccoon"],"1F431":["cat_face"],"1F408":["cat"],"1F408-200D-2B1B":["black_cat"],"1F981":["lion_face"],"1F42F":["tiger_face"],"1F405":["tiger"],"1F406":["leopard"],"1F434":["horse_face"],"1F40E":["horse"],"1F984":["unicorn_face"],"1F993":["zebra"],"1F98C":["deer"],"1F9AC":["bison"],"1F42E":["cow_face"],"1F402":["ox"],"1F403":["water_buffalo"],"1F404":["cow"],"1F437":["pig_face"],"1F416":["pig"],"1F417":["boar"],"1F43D":["pig_nose"],"1F40F":["ram"],"1F411":["sheep"],"1F410":["goat"],"1F42A":["camel"],"1F42B":["two_hump_camel"],"1F999":["llama"],"1F992":["giraffe"],"1F418":["elephant"],"1F9A3":["mammoth"],"1F98F":["rhino"],"1F99B":["hippo"],"1F42D":["mouse_face"],"1F401":["mouse"],"1F400":["rat"],"1F439":["hamster_face"],"1F430":["rabbit_face"],"1F407":["rabbit"],"1F43F":["chipmunk"],"1F9AB":["beaver"],"1F994":["hedgehog"],"1F987":["bat"],"1F43B":["bear_face"],"1F43B-200D-2744-FE0F":["polar_bear_face"],"1F428":["koala_face"],"1F43C":["panda_face"],"1F9A5":["sloth"],"1F9A6":["otter"],"1F9A8":["skunk"],"1F998":["kangaroo"],"1F9A1":["badger"],"1F43E":["feet"],"1F983":["turkey"],"1F414":["chicken"],"1F413":["rooster"],"1F423":["hatching_chick"],"1F424":["baby_chick"],"1F425":["hatched_chick"],"1F426":["bird"],"1F427":["penguin"],"1F54A":["dove"],"1F985":["eagle"],"1F986":["duck"],"1F9A2":["swan"],"1F989":["owl"],"1F9A4":["dodo"],"1FAB6":["feather"],"1F9A9":["flamingo"],"1F99A":["peacock"],"1F99C":["parrot"],"1F438":["frog_face"],"1F40A":["crocodile"],"1F422":["turtle"],"1F98E":["lizard"],"1F40D":["snake"],"1F432":["dragon_face"],"1F409":["dragon"],"1F995":["sauropod"],"1F996":["trex"],"1F433":["spouting_whale"],"1F40B":["whale"],"1F42C":["dolphin"],"1F9AD":["seal"],"1F41F":["fish"],"1F420":["tropical_fish"],"1F421":["blowfish"],"1F988":["shark"],"1F419":["octopus"],"1F41A":["shell"],"1FAB8":["coral"],"1F40C":["snail"],"1F98B":["butterfly"],"1F41B":["bug"],"1F41C":["ant"],"1F41D":["bee"],"1FAB2":["beetle"],"1F41E":["lady_bug"],"1F997":["cricket"],"1FAB3":["cockroach"],"1F577":["spider"],"1F578":["spider_web"],"1F982":["scorpion"],"1F99F":["mosquito"],"1FAB0":["fly"],"1FAB1":["worm"],"1F9A0":["microbe","germ"],"1F490":["bouquet"],"1F338":["cherry_blossom"],"1F4AE":["white_flower"],"1FAB7":["lotus"],"1F3F5":["rosette"],"1F339":["rose"],"1F940":["wilted_rose"],"1F33A":["hibiscus"],"1F33B":["sunflower"],"1F33C":["blossom"],"1F337":["tulip"],"1F331":["seedling"],"1FAB4":["potted_plant"],"1F332":["evergreen_tree"],"1F333":["deciduous_tree"],"1F334":["palm_tree"],"1F335":["cactus"],"1F33E":["ear_of_rice"],"1F33F":["herb"],"1F340":["four_leaf_clover"],"1F341":["maple_leaf"],"1F342":["fallen_leaf"],"1F343":["leaves"],"1FAB9":["empty_nest","nest"],"1FABA":["nest_with_eggs"],"1F347":["grapes"],"1F348":["melon"],"1F349":["watermelon"],"1F34A":["tangerine"],"1F34B":["lemon"],"1F34C":["banana"],"1F34D":["pineapple"],"1F96D":["mango"],"1F34E":["apple"],"1F34F":["green_apple"],"1F350":["pear"],"1F351":["peach"],"1F352":["cherries"],"1F353":["strawberry"],"1FAD0":["blueberry"],"1F95D":["kiwi"],"1F345":["tomato"],"1FAD2":["olive"],"1F965":["coconut"],"1F951":["avocado"],"1F346":["eggplant"],"1F954":["potato"],"1F955":["carrot"],"1F33D":["corn"],"1F336":["hot_pepper"],"1FAD1":["bell_pepper"],"1F952":["cucumber"],"1F96C":["leafy_green"],"1F966":["broccoli"],"1F9C4":["garlic"],"1F9C5":["onion"],"1F344":["mushroom"],"1F95C":["peanuts"],"1FAD8":["beans"],"1F330":["chestnut"],"1F35E":["bread"],"1F950":["croissant"],"1F956":["french_bread"],"1FAD3":["flatbread"],"1F968":["pretzel"],"1F96F":["bagel"],"1F95E":["pancakes"],"1F9C7":["waffle"],"1F9C0":["cheese"],"1F356":["meat_on_bone"],"1F357":["poultry_leg"],"1F969":["cut_of_meat"],"1F953":["bacon"],"1F354":["hamburger"],"1F35F":["fries"],"1F355":["pizza"],"1F32D":["hotdog"],"1F96A":["sandwich"],"1F32E":["taco"],"1F32F":["burrito"],"1FAD4":["tamale"],"1F959":["stuffed_flatbread"],"1F9C6":["falafel"],"1F95A":["egg"],"1F373":["cooking"],"1F958":["shallow_pan_of_food"],"1F372":["stew"],"1FAD5":["fondue"],"1F963":["bowl_spoon"],"1F957":["salad"],"1F37F":["popcorn"],"1F9C8":["butter"],"1F9C2":["salt"],"1F96B":["canned_food"],"1F371":["bento"],"1F358":["rice_cracker"],"1F359":["rice_ball"],"1F35A":["rice"],"1F35B":["curry"],"1F35C":["ramen"],"1F35D":["spaghetti"],"1F360":["sweet_potato"],"1F362":["oden"],"1F363":["sushi"],"1F364":["fried_shrimp"],"1F365":["fish_cake"],"1F96E":["moon_cake"],"1F361":["dango"],"1F95F":["dumpling"],"1F960":["fortune_cookie"],"1F961":["takeout_box"],"1F980":["crab"],"1F99E":["lobster"],"1F990":["shrimp"],"1F991":["squid"],"1F9AA":["oyster"],"1F366":["icecream"],"1F367":["shaved_ice"],"1F368":["ice_cream"],"1F369":["doughnut"],"1F36A":["cookie"],"1F382":["birthday"],"1F370":["cake"],"1F9C1":["cupcake"],"1F967":["pie"],"1F36B":["chocolate_bar"],"1F36C":["candy"],"1F36D":["lollipop"],"1F36E":["custard"],"1F36F":["honey_pot"],"1F37C":["baby_bottle"],"1F95B":["milk"],"1FAD6":["teapot"],"1F375":["tea"],"1F376":["sake"],"1F37E":["champagne"],"1F377":["wine_glass"],"1F378":["cocktail"],"1F379":["tropical_drink"],"1F37A":["beer"],"1F37B":["beers"],"1F942":["champagne_glass"],"1F943":["tumbler_glass"],"1FAD7":["pour","pouring_liquid"],"1F964":["cup_straw"],"1F9CB":["bubble_tea","boba_drink"],"1F9C3":["beverage_box","juice_box"],"1F9C9":["mate","yerba_mate"],"1F9CA":["ice"],"1F962":["chopsticks"],"1F37D":["fork_knife_plate"],"1F374":["utensils"],"1F944":["spoon"],"1F52A":["knife"],"1FAD9":["jar"],"1F3FA":["amphora"],"1F30D":["earth_africa"],"1F30E":["earth_americas"],"1F30F":["earth_asia"],"1F310":["globe"],"1F5FA":["map"],"1F5FE":["japan"],"1F9ED":["compass"],"1F3D4":["snowy_mountain"],"26F0":["mountain"],"1F30B":["volcano"],"1F5FB":["mount_fuji"],"1F3D5":["camping"],"1F3D6":["beach"],"1F3DC":["desert"],"1F3DD":["island"],"1F3DE":["park"],"1F3DF":["stadium"],"1F3DB":["classical_building"],"1F3D7":["construction_site"],"1F9F1":["brick"],"1FAA8":["rock"],"1FAB5":["wood"],"1F6D6":["hut"],"1F3D8":["homes"],"1F3DA":["house_abandoned"],"1F3E0":["house"],"1F3E1":["house_garden"],"1F3E2":["office"],"1F3E3":["ja_post_office"],"1F3E4":["post_office"],"1F3E5":["hospital"],"1F3E6":["bank"],"1F3E8":["hotel"],"1F3E9":["love_hotel"],"1F3EA":["convenience_store"],"1F3EB":["school"],"1F3EC":["department_store"],"1F3ED":["factory"],"1F3EF":["japanese_castle"],"1F3F0":["castle","european_castle"],"1F492":["wedding"],"1F5FC":["tokyo_tower"],"1F5FD":["statue_of_liberty"],"26EA":["church"],"1F54C":["mosque"],"1F6D5":["hindu_temple"],"1F54D":["synagogue"],"26E9":["shinto_shrine"],"1F54B":["kaaba"],"26F2":["fountain"],"26FA":["tent"],"1F301":["foggy"],"1F303":["night_stars"],"1F3D9":["cityscape"],"1F304":["sunrise_over_mountains"],"1F305":["sunrise"],"1F306":["dusk"],"1F307":["sunset"],"1F309":["bridge_at_night"],"1F3A0":["carousel_horse"],"1F6DD":["playground_slide","slide"],"1F3A1":["ferris_wheel"],"1F3A2":["roller_coaster"],"1F488":["barber"],"1F3AA":["circus_tent"],"1F682":["steam_locomotive"],"1F683":["railway_car"],"1F684":["bullettrain_side"],"1F685":["bullettrain"],"1F686":["train"],"1F687":["metro"],"1F688":["light_rail"],"1F689":["station"],"1F68A":["tram"],"1F69D":["monorail"],"1F69E":["mountain_railway"],"1F68B":["tram_car"],"1F68C":["bus"],"1F68D":["oncoming_bus"],"1F68E":["trolleybus"],"1F690":["minibus"],"1F691":["ambulance"],"1F692":["fire_engine"],"1F693":["police_car"],"1F694":["oncoming_police_car"],"1F695":["taxi"],"1F696":["oncoming_taxi"],"1F697":["red_car"],"1F698":["oncoming_automobile"],"1F699":["blue_car"],"1F6FB":["pickup_truck"],"1F69A":["truck"],"1F69B":["lorry"],"1F69C":["tractor"],"1F3CE":["race_car"],"1F3CD":["motorcycle"],"1F6F5":["motor_scooter"],"1F9BD":["wheelchair"],"1F9BC":["motor_wheelchair"],"1F6FA":["auto_rickshaw"],"1F6B2":["bike"],"1F6F4":["scooter"],"1F6F9":["skateboard"],"1F6FC":["roller_skate"],"1F68F":["bus_stop"],"1F6E3":["motorway"],"1F6E4":["railway_track"],"1F6E2":["oil_drum"],"26FD":["fuel_pump"],"1F6DE":["wheel"],"1F6A8":["rotating_light","police_light"],"1F6A5":["traffic_light"],"1F6A6":["vertical_traffic_light"],"1F6D1":["stop_sign","octagonal_sign"],"1F6A7":["construction"],"1F6DF":["lifebuoy","ring_buoy"],"26F5":["sailboat"],"1F6F6":["canoe"],"1F6A4":["speedboat"],"1F6F3":["cruise_ship"],"26F4":["ferry"],"1F6E5":["motorboat"],"1F6A2":["ship"],"1F6E9":["small_airplane"],"1F6EB":["airplane_departure"],"1F6EC":["airplane_arriving"],"1FA82":["parachute"],"1F4BA":["seat"],"1F681":["helicopter"],"1F69F":["suspension_railway"],"1F6A0":["mountain_cableway"],"1F6A1":["aerial_tramway"],"1F6F0":["satellite"],"1F680":["rocket"],"1F6F8":["flying_saucer"],"1F6CE":["bellhop"],"1F9F3":["luggage"],"231B":["hourglass"],"23F3":["hourglass_flowing"],"231A":["watch"],"23F0":["alarm_clock"],"23F1":["stopwatch"],"23F2":["timer"],"1F570":["clock"],"1F55B":["clock12"],"1F567":["clock1230"],"1F550":["clock1"],"1F55C":["clock130"],"1F551":["clock2"],"1F55D":["clock230"],"1F552":["clock3"],"1F55E":["clock330"],"1F553":["clock4"],"1F55F":["clock430"],"1F554":["clock5"],"1F560":["clock530"],"1F555":["clock6"],"1F561":["clock630"],"1F556":["clock7"],"1F562":["clock730"],"1F557":["clock8"],"1F563":["clock830"],"1F558":["clock9"],"1F564":["clock930"],"1F559":["clock10"],"1F565":["clock1030"],"1F55A":["clock11"],"1F566":["clock1130"],"1F311":["new_moon"],"1F312":["waxing_crescent_moon"],"1F313":["first_quarter_moon"],"1F314":["waxing_gibbous_moon"],"1F315":["full_moon"],"1F316":["waning_gibbous_moon"],"1F317":["last_quarter_moon"],"1F318":["waning_crescent_moon"],"1F319":["crescent_moon"],"1F31A":["new_moon_face"],"1F31B":["first_quarter_moon_face"],"1F31C":["last_quarter_moon_face"],"1F321":["thermometer"],"1F31D":["full_moon_face"],"1F31E":["sun_face"],"1FA90":["ringed_planet","saturn"],"2B50":["star"],"1F31F":["star2","glowing_star"],"1F320":["star3","shooting_star"],"1F30C":["milky_way"],"26C5":["partly_sunny"],"26C8":["storm"],"1F324":["overcast"],"1F325":["cloudy"],"1F326":["sunshower"],"1F327":["rain"],"1F328":["snow"],"1F329":["lightning"],"1F32A":["tornado"],"1F32B":["fog"],"1F32C":["wind_face"],"1F300":["cyclone"],"1F308":["rainbow"],"1F302":["closed_umbrella"],"26F1":["beach_umbrella"],"26A1":["zap","high_voltage"],"26C4":["snowman"],"1F525":["fire"],"1F4A7":["droplet"],"1F30A":["ocean"],"1F383":["jack_o_lantern"],"1F384":["christmas_tree","xmas_tree"],"1F386":["fireworks"],"1F387":["sparkler"],"1F9E8":["firecracker"],"1F388":["balloon"],"1F389":["tada","party"],"1F38A":["confetti_ball"],"1F38B":["tanabata_tree"],"1F38D":["bamboo","pine_decor"],"1F38E":["dolls"],"1F38F":["carp_streamer"],"1F390":["wind_chime"],"1F391":["moon_ceremony","rice_scene"],"1F9E7":["red_envelope"],"1F380":["ribbon"],"1F381":["gift"],"1F397":["reminder_ribbon"],"1F39F":["tickets","admission"],"1F3AB":["ticket"],"1F396":["military_medal"],"1F3C6":["trophy"],"1F3C5":["medal"],"1F947":["first_place"],"1F948":["second_place"],"1F949":["third_place"],"26BD":["soccer"],"26BE":["baseball"],"1F94E":["softball"],"1F3C0":["basketball"],"1F3D0":["volleyball"],"1F3C8":["football"],"1F3C9":["rugby"],"1F3BE":["tennis"],"1F94F":["flying_disc"],"1F3B3":["bowling"],"1F3CF":["cricket_game"],"1F3D1":["field_hockey"],"1F3D2":["hockey"],"1F94D":["lacrosse"],"1F3D3":["ping_pong"],"1F3F8":["badminton"],"1F94A":["boxing_glove"],"1F94B":["gi","martial_arts_uniform"],"1F945":["goal"],"26F3":["golf"],"26F8":["ice_skate"],"1F3A3":["fishing_pole"],"1F93F":["diving_mask","scuba_mask"],"1F3BD":["running_shirt"],"1F3BF":["ski"],"1F6F7":["sled"],"1F94C":["curling_stone"],"1F3AF":["dart"],"1FA80":["yoyo"],"1FA81":["kite"],"1F3B1":["8ball"],"1F52E":["crystal_ball"],"1FA84":["wand"],"1F9FF":["nazar_amulet"],"1FAAC":["hamsa"],"1F3AE":["video_game"],"1F579":["joystick"],"1F3B0":["slot_machine"],"1F3B2":["game_die"],"1F9E9":["jigsaw","puzzle_piece"],"1F9F8":["teddy_bear"],"1FA85":["pinata"],"1FAA9":["disco","disco_ball","mirror_ball"],"1FA86":["nesting_dolls"],"265F":["chess_pawn"],"1F0CF":["black_joker"],"1F004":["mahjong"],"1F3B4":["flower_cards"],"1F3AD":["performing_arts"],"1F5BC":["frame_photo"],"1F3A8":["art","palette"],"1F9F5":["spool"],"1FAA1":["sewing_needle"],"1F9F6":["yarn"],"1FAA2":["knot"],"1F453":["glasses"],"1F576":["sunglasses"],"1F97D":["goggles"],"1F97C":["lab_coat"],"1F9BA":["safety_vest"],"1F454":["necktie","tie"],"1F455":["shirt"],"1F456":["jeans"],"1F9E3":["scarf"],"1F9E4":["gloves"],"1F9E5":["coat"],"1F9E6":["socks"],"1F457":["dress"],"1F458":["kimono"],"1F97B":["sari"],"1FA71":["one_piece_swimsuit"],"1FA72":["briefs"],"1FA73":["shorts"],"1F459":["bikini"],"1F45A":["blouse","womans_clothes"],"1F45B":["purse"],"1F45C":["handbag"],"1F45D":["pouch","clutch_bag"],"1F6CD":["shopping_bags"],"1F392":["backpack"],"1FA74":["sandal"],"1F45E":["dress_shoe","mans_shoe"],"1F45F":["sneaker","athletic_shoe"],"1F97E":["hiking_boot"],"1F97F":["flat_shoe"],"1F460":["high_heel"],"1F461":["womans_sandal"],"1FA70":["ballet_shoes"],"1F462":["womans_boot"],"1F451":["crown"],"1F452":["womans_hat"],"1F3A9":["top_hat"],"1F393":["graduation_cap"],"1F9E2":["billed_cap"],"1FA96":["military_helmet"],"26D1":["helmet_cross"],"1F4FF":["prayer_beads"],"1F484":["lipstick"],"1F48D":["ring"],"1F48E":["gem"],"1F507":["mute","no_sound"],"1F508":["speaker","low_sound"],"1F509":["sound"],"1F50A":["loud_sound"],"1F4E2":["loudspeaker"],"1F4E3":["megaphone"],"1F4EF":["postal_horn"],"1F514":["bell"],"1F515":["no_bell"],"1F3BC":["musical_score"],"1F3B5":["musical_note"],"1F3B6":["musical_notes"],"1F399":["studio_microphone"],"1F39A":["level_slider"],"1F39B":["control_knobs"],"1F3A4":["microphone"],"1F3A7":["headphones"],"1F4FB":["radio"],"1F3B7":["saxophone"],"1FA97":["accordion"],"1F3B8":["guitar"],"1F3B9":["musical_keyboard"],"1F3BA":["trumpet"],"1F3BB":["violin"],"1FA95":["banjo"],"1F941":["drum"],"1FA98":["long_drum"],"1F4F1":["mobile","iphone","android"],"1F4F2":["mobile_calling"],"260E":["telephone"],"1F4DE":["telephone_receiver"],"1F4DF":["pager"],"1F4E0":["fax"],"1F50B":["battery"],"1FAAB":["low_battery"],"1F50C":["electric_plug"],"1F4BB":["laptop"],"1F5A5":["desktop","computer"],"1F5A8":["printer"],"1F5B1":["computer_mouse"],"1F5B2":["trackball"],"1F4BD":["minidisc"],"1F4BE":["floppy_disk"],"1F4BF":["cd","disk"],"1F4C0":["dvd"],"1F9EE":["abacus"],"1F3A5":["movie_camera"],"1F39E":["film_frames"],"1F4FD":["projector"],"1F3AC":["clapper"],"1F4FA":["tv"],"1F4F7":["camera"],"1F4F8":["camera_flash"],"1F4F9":["video_camera"],"1F4FC":["vhs"],"1F50D":["mag"],"1F50E":["mag_right"],"1F56F":["candle"],"1F4A1":["bulb","light_bulb"],"1F526":["flashlight"],"1F3EE":["red_lantern"],"1FA94":["diya_lamp"],"1F4D4":["decorative_notebook"],"1F4D5":["closed_book"],"1F4D6":["book"],"1F4D7":["green_book"],"1F4D8":["blue_book"],"1F4D9":["orange_book"],"1F4DA":["books"],"1F4D3":["notebook"],"1F4D2":["ledger"],"1F4C3":["page_curl"],"1F4DC":["scroll"],"1F4C4":["page_facing_up"],"1F4F0":["newspaper"],"1F5DE":["rolled_newspaper"],"1F4D1":["bookmark_tabs"],"1F516":["bookmark"],"1F3F7":["label"],"1F4B0":["moneybag"],"1FA99":["coin"],"1F4B4":["yen"],"1F4B5":["dollar"],"1F4B6":["euro"],"1F4B7":["pound"],"1F4B8":["money_wings"],"1F4B3":["credit_card"],"1F9FE":["receipt"],"1F4B9":["ja_chart"],"1F4E7":["email"],"1F4E8":["incoming_envelope"],"1F4E9":["envelope_arrow"],"1F4E4":["outbox_tray"],"1F4E5":["inbox_tray"],"1F4E6":["package"],"1F4EB":["mailbox"],"1F4EA":["mailbox_closed"],"1F4EC":["mailbox_mail"],"1F4ED":["mailbox_no_mail"],"1F4EE":["postbox"],"1F5F3":["ballot_box"],"270F":["pencil"],"1F58B":["fountain_pen"],"1F58A":["pen"],"1F58C":["paintbrush"],"1F58D":["crayon"],"1F4DD":["memo"],"1F4BC":["briefcase"],"1F4C1":["file_folder"],"1F4C2":["open_file_folder"],"1F5C2":["dividers"],"1F4C5":["date","calendar"],"1F4C6":["torn_calendar"],"1F5D2":["notepad_spiral"],"1F5D3":["calendar_spiral"],"1F4C7":["card_index"],"1F4C8":["chart_up"],"1F4C9":["chart_down"],"1F4CA":["bar_chart"],"1F4CB":["clipboard"],"1F4CC":["pushpin"],"1F4CD":["round_pushpin"],"1F4CE":["paperclip"],"1F587":["paperclips"],"1F4CF":["straight_ruler"],"1F4D0":["triangular_ruler"],"1F5C3":["card_box"],"1F5C4":["file_cabinet"],"1F5D1":["trashcan","wastebasket"],"1F512":["lock"],"1F513":["unlock"],"1F50F":["locked_pen"],"1F510":["locked_key"],"1F511":["key"],"1F5DD":["old_key"],"1F528":["hammer"],"1FA93":["axe"],"26CF":["pick"],"1F6E0":["tools","hammer_wrench"],"1F5E1":["dagger"],"1F52B":["gun","pistol"],"1FA83":["boomerang"],"1F3F9":["bow"],"1F6E1":["shield"],"1FA9A":["saw"],"1F527":["wrench"],"1FA9B":["screwdriver"],"1F529":["nut_and_bolt"],"1F5DC":["clamp","compression"],"1F9AF":["probing_cane"],"1F517":["link"],"26D3":["chains"],"1FA9D":["hook"],"1F9F0":["toolbox"],"1F9F2":["magnet"],"1FA9C":["ladder"],"1F9EA":["test_tube"],"1F9EB":["petri_dish"],"1F9EC":["dna","double_helix"],"1F52C":["microscope"],"1F52D":["telescope"],"1F4E1":["satellite_antenna"],"1F489":["syringe"],"1FA78":["blood_drop"],"1F48A":["pill"],"1FA79":["bandaid","adhesive_bandage"],"1FA7C":["crutch"],"1FA7A":["stethoscope"],"1FA7B":["x-ray","xray"],"1F6AA":["door"],"1F6D7":["elevator"],"1FA9E":["mirror"],"1FA9F":["window"],"1F6CF":["bed"],"1F6CB":["couch"],"1FA91":["chair"],"1F6BD":["toilet"],"1FAA0":["plunger"],"1F6BF":["shower"],"1F6C1":["bathtub"],"1FAA4":["mouse_trap"],"1FA92":["razor"],"1F9F4":["lotion"],"1F9F7":["safety_pin"],"1F9F9":["broom"],"1F9FA":["basket"],"1F9FB":["toilet_paper"],"1FAA3":["bucket"],"1F9FC":["soap"],"1FAE7":["bubbles"],"1FAA5":["toothbrush"],"1F9FD":["sponge"],"1F9EF":["fire_extinguisher"],"1F6D2":["shopping_cart"],"1F6AC":["cigarette","smoking"],"26B0":["coffin"],"1FAA6":["headstone"],"26B1":["urn"],"1F5FF":["moai"],"1FAA7":["placard"],"1FAAA":["id_card"],"1F3E7":["atm"],"1F6AE":["litter_bin"],"1F6B0":["potable_water"],"267F":["handicapped"],"1F6B9":["mens"],"1F6BA":["womens"],"1F6BB":["restroom","bathroom"],"1F6BC":["baby_symbol"],"1F6BE":["wc"],"1F6C2":["passport_control"],"1F6C3":["customs"],"1F6C4":["baggage_claim"],"1F6C5":["left_luggage"],"26A0":["warning"],"1F6B8":["children_crossing"],"26D4":["no_entry"],"1F6AB":["no_entry_sign"],"1F6B3":["no_bicycles"],"1F6AD":["no_smoking"],"1F6AF":["do_not_litter"],"1F6B1":["non_potable_water"],"1F6B7":["no_pedestrians"],"1F4F5":["no_mobile_phones"],"1F51E":["underage"],"2B06":["arrow_up"],"27A1":["arrow_right"],"2B07":["arrow_down"],"2B05":["arrow_left"],"21A9":["arrow_left_hook"],"21AA":["arrow_right_hook"],"1F503":["clockwise"],"1F504":["counter_clockwise"],"1F519":["back"],"1F51A":["end"],"1F51B":["on"],"1F51C":["soon"],"1F51D":["top"],"1F6D0":["place_of_worship"],"269B":["atom"],"1F549":["om_symbol"],"262F":["yin_yang"],"271D":["cross"],"262A":["star_and_crescent"],"262E":["peace"],"1F54E":["menorah"],"1F52F":["six_pointed_star"],"264A":["gemini"],"264B":["cancer"],"264C":["leo"],"264D":["virgo"],"264E":["libra"],"264F":["scorpius"],"26CE":["ophiuchus"],"1F500":["shuffle"],"1F501":["repeat"],"1F502":["repeat_single"],"25B6":["play"],"23E9":["fast_forward"],"23ED":["next_track"],"23EF":["play_pause"],"25C0":["reverse"],"23EA":["rewind"],"23EE":["previous_track"],"1F53C":["up_button"],"23EB":["fast_up_button"],"1F53D":["down_button"],"23EC":["fast_down_button"],"23F8":["pause"],"23F9":["stop"],"23FA":["record"],"23CF":["eject"],"1F3A6":["cinema"],"1F505":["dim","low_brightness"],"1F506":["bright","high_brightness"],"1F4F6":["signal_strength","antenna_bars"],"1F4F3":["vibration_mode"],"1F4F4":["mobile_phone_off"],"26A7":["trans"],"1F7F0":["heavy_equals_sign"],"267E":["infinity"],"203C":["bangbang","double_exclamation"],"1F4B1":["currency_exchange"],"1F4B2":["dollar_sign"],"267B":["recycle"],"269C":["fleur-de-lis"],"1F531":["trident"],"1F4DB":["name_badge"],"1F530":["ja_beginner"],"2B55":["o"],"274C":["x","cross_mark"],"274E":["cross_mark_button"],"27B0":["curly_loop"],"27BF":["double_curly_loop"],"303D":["part_alternation_mark"],"00A9":["copyright"],"00AE":["registered"],"0023-FE0F-20E3":["hash"],"002A-FE0F-20E3":["asterisk"],"0030-FE0F-20E3":["zero"],"0031-FE0F-20E3":["one"],"0032-FE0F-20E3":["two"],"0033-FE0F-20E3":["three"],"0034-FE0F-20E3":["four"],"0035-FE0F-20E3":["five"],"0036-FE0F-20E3":["six"],"0037-FE0F-20E3":["seven"],"0038-FE0F-20E3":["eight"],"0039-FE0F-20E3":["nine"],"1F51F":["ten"],"1F520":["upper_abcd"],"1F521":["abcd"],"1F522":["1234"],"1F523":["symbols"],"1F524":["abc"],"1F170":["a_blood"],"1F18E":["ab_blood"],"1F171":["b_blood"],"1F191":["cl"],"1F192":["cool"],"1F193":["free"],"1F194":["id"],"24C2":["m"],"1F195":["new"],"1F196":["ng"],"1F17E":["o_blood"],"1F197":["ok"],"1F17F":["p"],"1F198":["sos"],"1F199":["up"],"1F19A":["vs"],"1F201":["ja_here","koko"],"1F202":["ja_service_charge"],"1F237":["ja_monthly_amount"],"1F236":["ja_not_free_of_carge"],"1F22F":["ja_reserved"],"1F250":["ja_bargain"],"1F239":["ja_discount"],"1F21A":["ja_free_of_charge"],"1F232":["ja_prohibited"],"1F251":["ja_acceptable"],"1F238":["ja_application"],"1F234":["ja_passing_grade"],"1F233":["ja_vacancy"],"1F23A":["ja_open_for_business"],"1F235":["ja_no_vacancy"],"1F534":["red_circle"],"1F7E0":["orange_circle"],"1F7E1":["yellow_circle"],"1F7E2":["green_circle"],"1F535":["blue_circle"],"1F7E3":["purple_circle"],"1F7E4":["brown_circle"],"26AB":["black_circle"],"26AA":["white_circle"],"1F7E5":["red_square"],"1F7E7":["orange_square"],"1F7E8":["yellow_square"],"1F7E9":["green_square"],"1F7E6":["blue_square"],"1F7EA":["purple_square"],"1F7EB":["brown_square"],"2B1B":["large_black_square"],"2B1C":["large_white_square"],"25FC":["medium_black_square"],"25FB":["medium_white_square"],"25FE":["medium_small_black_square"],"25FD":["medium_small_white_square"],"25AA":["small_black_square"],"25AB":["small_white_square"],"1F536":["large_orange_diamond"],"1F537":["large_blue_diamond"],"1F538":["small_orange_diamond"],"1F539":["small_blue_diamond"],"1F53A":["up_red_triangle"],"1F53B":["down_red_triangle"],"1F4A0":["diamond_dot"],"1F518":["radio_button"],"1F533":["white_square_button"],"1F532":["black_square_button"],"1F3C1":["checkered_flag"],"1F6A9":["triangle_flag"],"1F38C":["crossed_flags"],"1F3F4":["black_flag"],"1F3F3":["white_flag"],"1F3F3-FE0F-200D-1F308":["rainbow_flag"],"1F3F3-FE0F-200D-26A7-FE0F":["trans_flag"],"1F3F4-200D-2620-FE0F":["pirate_flag","jolly_roger"],"1F1E6-1F1E8":["flag_ac"],"1F1E6-1F1E9":["flag_ad"],"1F1E6-1F1EA":["flag_ae"],"1F1E6-1F1EB":["flag_af"],"1F1E6-1F1EC":["flag_ag"],"1F1E6-1F1EE":["flag_ai"],"1F1E6-1F1F1":["flag_al"],"1F1E6-1F1F2":["flag_am"],"1F1E6-1F1F4":["flag_ao"],"1F1E6-1F1F6":["flag_aq"],"1F1E6-1F1F7":["flag_ar"],"1F1E6-1F1F8":["flag_as"],"1F1E6-1F1F9":["flag_at"],"1F1E6-1F1FA":["flag_au"],"1F1E6-1F1FC":["flag_aw"],"1F1E6-1F1FD":["flag_ax"],"1F1E6-1F1FF":["flag_az"],"1F1E7-1F1E6":["flag_ba"],"1F1E7-1F1E7":["flag_bb"],"1F1E7-1F1E9":["flag_bd"],"1F1E7-1F1EA":["flag_be"],"1F1E7-1F1EB":["flag_bf"],"1F1E7-1F1EC":["flag_bg"],"1F1E7-1F1ED":["flag_bh"],"1F1E7-1F1EE":["flag_bi"],"1F1E7-1F1EF":["flag_bj"],"1F1E7-1F1F1":["flag_bl"],"1F1E7-1F1F2":["flag_bm"],"1F1E7-1F1F3":["flag_bn"],"1F1E7-1F1F4":["flag_bo"],"1F1E7-1F1F6":["flag_bq"],"1F1E7-1F1F7":["flag_br"],"1F1E7-1F1F8":["flag_bs"],"1F1E7-1F1F9":["flag_bt"],"1F1E7-1F1FB":["flag_bv"],"1F1E7-1F1FC":["flag_bw"],"1F1E7-1F1FE":["flag_by"],"1F1E7-1F1FF":["flag_bz"],"1F1E8-1F1E6":["flag_ca"],"1F1E8-1F1E8":["flag_cc"],"1F1E8-1F1E9":["flag_cd"],"1F1E8-1F1EB":["flag_cf"],"1F1E8-1F1EC":["flag_cg"],"1F1E8-1F1ED":["flag_ch"],"1F1E8-1F1EE":["flag_ci"],"1F1E8-1F1F0":["flag_ck"],"1F1E8-1F1F1":["flag_cl"],"1F1E8-1F1F2":["flag_cm"],"1F1E8-1F1F3":["flag_cn"],"1F1E8-1F1F4":["flag_co"],"1F1E8-1F1F5":["flag_cp"],"1F1E8-1F1F7":["flag_cr"],"1F1E8-1F1FA":["flag_cu"],"1F1E8-1F1FB":["flag_cv"],"1F1E8-1F1FC":["flag_cw"],"1F1E8-1F1FD":["flag_cx"],"1F1E8-1F1FE":["flag_cy"],"1F1E8-1F1FF":["flag_cz"],"1F1E9-1F1EA":["flag_de"],"1F1E9-1F1EC":["flag_dg"],"1F1E9-1F1EF":["flag_dj"],"1F1E9-1F1F0":["flag_dk"],"1F1E9-1F1F2":["flag_dm"],"1F1E9-1F1F4":["flag_do"],"1F1E9-1F1FF":["flag_dz"],"1F1EA-1F1E6":["flag_ea"],"1F1EA-1F1E8":["flag_ec"],"1F1EA-1F1EA":["flag_ee"],"1F1EA-1F1EC":["flag_eg"],"1F1EA-1F1ED":["flag_eh"],"1F1EA-1F1F7":["flag_er"],"1F1EA-1F1F8":["flag_es"],"1F1EA-1F1F9":["flag_et"],"1F1EA-1F1FA":["flag_eu"],"1F1EB-1F1EE":["flag_fi"],"1F1EB-1F1EF":["flag_fj"],"1F1EB-1F1F0":["flag_fk"],"1F1EB-1F1F2":["flag_fm"],"1F1EB-1F1F4":["flag_fo"],"1F1EB-1F1F7":["flag_fr"],"1F1EC-1F1E6":["flag_ga"],"1F1EC-1F1E7":["flag_gb"],"1F1EC-1F1E9":["flag_gd"],"1F1EC-1F1EA":["flag_ge"],"1F1EC-1F1EB":["flag_gf"],"1F1EC-1F1EC":["flag_gg"],"1F1EC-1F1ED":["flag_gh"],"1F1EC-1F1EE":["flag_gi"],"1F1EC-1F1F1":["flag_gl"],"1F1EC-1F1F2":["flag_gm"],"1F1EC-1F1F3":["flag_gn"],"1F1EC-1F1F5":["flag_gp"],"1F1EC-1F1F6":["flag_gq"],"1F1EC-1F1F7":["flag_gr"],"1F1EC-1F1F8":["flag_gs"],"1F1EC-1F1F9":["flag_gt"],"1F1EC-1F1FA":["flag_gu"],"1F1EC-1F1FC":["flag_gw"],"1F1EC-1F1FE":["flag_gy"],"1F1ED-1F1F0":["flag_hk"],"1F1ED-1F1F2":["flag_hm"],"1F1ED-1F1F3":["flag_hn"],"1F1ED-1F1F7":["flag_hr"],"1F1ED-1F1F9":["flag_ht"],"1F1ED-1F1FA":["flag_hu"],"1F1EE-1F1E8":["flag_ic"],"1F1EE-1F1E9":["flag_id"],"1F1EE-1F1EA":["flag_ie"],"1F1EE-1F1F1":["flag_il"],"1F1EE-1F1F2":["flag_im"],"1F1EE-1F1F3":["flag_in"],"1F1EE-1F1F4":["flag_io"],"1F1EE-1F1F6":["flag_iq"],"1F1EE-1F1F7":["flag_ir"],"1F1EE-1F1F8":["flag_is"],"1F1EE-1F1F9":["flag_it"],"1F1EF-1F1EA":["flag_je"],"1F1EF-1F1F2":["flag_jm"],"1F1EF-1F1F4":["flag_jo"],"1F1EF-1F1F5":["flag_jp"],"1F1F0-1F1EA":["flag_ke"],"1F1F0-1F1EC":["flag_kg"],"1F1F0-1F1ED":["flag_kh"],"1F1F0-1F1EE":["flag_ki"],"1F1F0-1F1F2":["flag_km"],"1F1F0-1F1F3":["flag_kn"],"1F1F0-1F1F5":["flag_kp"],"1F1F0-1F1F7":["flag_kr"],"1F1F0-1F1FC":["flag_kw"],"1F1F0-1F1FE":["flag_ky"],"1F1F0-1F1FF":["flag_kz"],"1F1F1-1F1E6":["flag_la"],"1F1F1-1F1E7":["flag_lb"],"1F1F1-1F1E8":["flag_lc"],"1F1F1-1F1EE":["flag_li"],"1F1F1-1F1F0":["flag_lk"],"1F1F1-1F1F7":["flag_lr"],"1F1F1-1F1F8":["flag_ls"],"1F1F1-1F1F9":["flag_lt"],"1F1F1-1F1FA":["flag_lu"],"1F1F1-1F1FB":["flag_lv"],"1F1F1-1F1FE":["flag_ly"],"1F1F2-1F1E6":["flag_ma"],"1F1F2-1F1E8":["flag_mc"],"1F1F2-1F1E9":["flag_md"],"1F1F2-1F1EA":["flag_me"],"1F1F2-1F1EB":["flag_mf"],"1F1F2-1F1EC":["flag_mg"],"1F1F2-1F1ED":["flag_mh"],"1F1F2-1F1F0":["flag_mk"],"1F1F2-1F1F1":["flag_ml"],"1F1F2-1F1F2":["flag_mm"],"1F1F2-1F1F3":["flag_mn"],"1F1F2-1F1F4":["flag_mo"],"1F1F2-1F1F5":["flag_mp"],"1F1F2-1F1F6":["flag_mq"],"1F1F2-1F1F7":["flag_mr"],"1F1F2-1F1F8":["flag_ms"],"1F1F2-1F1F9":["flag_mt"],"1F1F2-1F1FA":["flag_mu"],"1F1F2-1F1FB":["flag_mv"],"1F1F2-1F1FC":["flag_mw"],"1F1F2-1F1FD":["flag_mx"],"1F1F2-1F1FE":["flag_my"],"1F1F2-1F1FF":["flag_mz"],"1F1F3-1F1E6":["flag_na"],"1F1F3-1F1E8":["flag_nc"],"1F1F3-1F1EA":["flag_ne"],"1F1F3-1F1EB":["flag_nf"],"1F1F3-1F1EC":["flag_ng"],"1F1F3-1F1EE":["flag_ni"],"1F1F3-1F1F1":["flag_nl"],"1F1F3-1F1F4":["flag_no"],"1F1F3-1F1F5":["flag_np"],"1F1F3-1F1F7":["flag_nr"],"1F1F3-1F1FA":["flag_nu"],"1F1F3-1F1FF":["flag_nz"],"1F1F4-1F1F2":["flag_om"],"1F1F5-1F1E6":["flag_pa"],"1F1F5-1F1EA":["flag_pe"],"1F1F5-1F1EB":["flag_pf"],"1F1F5-1F1EC":["flag_pg"],"1F1F5-1F1ED":["flag_ph"],"1F1F5-1F1F0":["flag_pk"],"1F1F5-1F1F1":["flag_pl"],"1F1F5-1F1F2":["flag_pm"],"1F1F5-1F1F3":["flag_pn"],"1F1F5-1F1F7":["flag_pr"],"1F1F5-1F1F8":["flag_ps"],"1F1F5-1F1F9":["flag_pt"],"1F1F5-1F1FC":["flag_pw"],"1F1F5-1F1FE":["flag_py"],"1F1F6-1F1E6":["flag_qa"],"1F1F7-1F1EA":["flag_re"],"1F1F7-1F1F4":["flag_ro"],"1F1F7-1F1F8":["flag_rs"],"1F1F7-1F1FA":["flag_ru"],"1F1F7-1F1FC":["flag_rw"],"1F1F8-1F1E6":["flag_sa"],"1F1F8-1F1E7":["flag_sb"],"1F1F8-1F1E8":["flag_sc"],"1F1F8-1F1E9":["flag_sd"],"1F1F8-1F1EA":["flag_se"],"1F1F8-1F1EC":["flag_sg"],"1F1F8-1F1ED":["flag_sh"],"1F1F8-1F1EE":["flag_si"],"1F1F8-1F1EF":["flag_sj"],"1F1F8-1F1F0":["flag_sk"],"1F1F8-1F1F1":["flag_sl"],"1F1F8-1F1F2":["flag_sm"],"1F1F8-1F1F3":["flag_sn"],"1F1F8-1F1F4":["flag_so"],"1F1F8-1F1F7":["flag_sr"],"1F1F8-1F1F8":["flag_ss"],"1F1F8-1F1F9":["flag_st"],"1F1F8-1F1FB":["flag_sv"],"1F1F8-1F1FD":["flag_sx"],"1F1F8-1F1FE":["flag_sy"],"1F1F8-1F1FF":["flag_sz"],"1F1F9-1F1E6":["flag_ta"],"1F1F9-1F1E8":["flag_tc"],"1F1F9-1F1E9":["flag_td"],"1F1F9-1F1EB":["flag_tf"],"1F1F9-1F1EC":["flag_tg"],"1F1F9-1F1ED":["flag_th"],"1F1F9-1F1EF":["flag_tj"],"1F1F9-1F1F0":["flag_tk"],"1F1F9-1F1F1":["flag_tl"],"1F1F9-1F1F2":["flag_tm"],"1F1F9-1F1F3":["flag_tn"],"1F1F9-1F1F4":["flag_to"],"1F1F9-1F1F7":["flag_tr"],"1F1F9-1F1F9":["flag_tt"],"1F1F9-1F1FB":["flag_tv"],"1F1F9-1F1FC":["flag_tw"],"1F1F9-1F1FF":["flag_tz"],"1F1FA-1F1E6":["flag_ua"],"1F1FA-1F1EC":["flag_ug"],"1F1FA-1F1F2":["flag_um"],"1F1FA-1F1F3":["flag_un"],"1F1FA-1F1F8":["flag_us","usa"],"1F1FA-1F1FE":["flag_uy"],"1F1FA-1F1FF":["flag_uz"],"1F1FB-1F1E6":["flag_va"],"1F1FB-1F1E8":["flag_vc"],"1F1FB-1F1EA":["flag_ve"],"1F1FB-1F1EC":["flag_vg"],"1F1FB-1F1EE":["flag_vi"],"1F1FB-1F1F3":["flag_vn"],"1F1FB-1F1FA":["flag_vu"],"1F1FC-1F1EB":["flag_wf"],"1F1FC-1F1F8":["flag_ws"],"1F1FD-1F1F0":["flag_xk"],"1F1FE-1F1EA":["flag_ye"],"1F1FE-1F1F9":["flag_yt"],"1F1FF-1F1E6":["flag_za"],"1F1FF-1F1F2":["flag_zm"],"1F1FF-1F1FC":["flag_zw"],"1F3F4-E0067-E0062-E0065-E006E-E0067-E007F":["flag_gbeng","england"],"1F3F4-E0067-E0062-E0073-E0063-E0074-E007F":["flag_gbsct","scotland"],"1F3F4-E0067-E0062-E0077-E006C-E0073-E007F":["flag_gbwls","wales"]}');var y=function F(e,a){return void 0===a&&(a=1),e.reduce((function(e,o){return e.concat(a>1&&Array.isArray(o)?F(o,a-1):o)}),[])}(Object.values(A)),k=Object.entries(A),C=function(F){return String.fromCodePoint.apply(String,F.split("-").map((function(F){return"0x"+F})))},B=new Map,v=new function(F,e,a,o){var n={};F=F||[],n.gramSizeLower=a||2,n.gramSizeUpper=o||3,n.useLevenshtein="boolean"!=typeof e||e,n.exactSet={},n.matchDict={},n.items={};var t=function(F,e){if(null===F&&null===e)throw"Trying to compare two null values";if(null===F||null===e)return 0;var a=function(F,e){for(var a,o,n=[],t=0;t<=e.length;t++)for(var r=0;r<=F.length;r++)o=t&&r?F.charAt(r-1)===e.charAt(t-1)?a:Math.min(n[r],n[r-1],a)+1:t+r,a=n[r],n[r]=o;return n.pop()}(F=String(F),e=String(e));return F.length>e.length?1-a/F.length:1-a/e.length},r=/[^a-zA-Z0-9\u00C0-\u00FF\u0621-\u064A\u0660-\u0669, ]+/g,i=function(F,e){for(var a={},o=function(F,e){e=e||2;var a="-"+F.toLowerCase().replace(r,"")+"-",o=e-a.length,n=[];if(o>0)for(var t=0;t=this.gramSizeLower;--o)if((a=this.__get(F,o,e))&&a.length>0)return a;return null},n.__get=function(F,e,a){var o,n,r,l,s=this._normalizeStr(F),_={},c=i(s,e),g=this.items[e],m=0;for(o in c)if(n=c[o],m+=Math.pow(n,2),o in this.matchDict)for(D=0;De[0]?-1:0};if(p.sort(h),this.useLevenshtein){for(var E=[],b=Math.min(50,p.length),D=0;D=a&&E.push([F[0],this.exactSet[F[1]]])}.bind(this)),E},n.add=function(F){if(this._normalizeStr(F)in this.exactSet)return!1;for(var e=this.gramSizeLower;eF.length)&&(e=F.length);for(var a=0,o=new Array(e);a1?m("span",{className:"count"},t):""))}}))),(!Object.keys(this.loading).length||this.loading.null)&&!this.reaction&&a&&m("div",{className:"Reactions--react"},this.reactButton(),m("div",{className:"CommentPost--Reactions",style:1===this.post.number()?"":"left: -28%;"},m("ul",{className:"Reactions--Ul"},X()(this.getReactions().toArray())))))},a.reactButton=function(){return m(Q(),{className:"Button Button--link Reactions--ShowReactions",type:"Button",title:app.translator.trans("fof-reactions.forum.react_button_label"),loading:this.loading.null},m("span",{className:"Button-label"},m("svg",{class:"button-react",width:"20px",height:"20px",viewBox:"0 0 18 18"},"/* Generator: Sketch 40.3 (33839) - http://www.bohemiancoding.com/sketch */",m("g",{id:"Page-1",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},m("g",{id:"ic_reactions_grey_16px"},m("g",{id:"Group-2"},m("g",{id:"0:0:0:0"},m("rect",{id:"Rectangle-5",x:"0",y:"0",width:"18",height:"18"}),m("g",{id:"emoticon"}),m("path",{d:"M14.6332705,7.33333333 C14.6554304,7.55389388 14.6666667,7.77636769 14.6666667,8 C14.6666667,11.6818983 11.6818983,14.6666667 8,14.6666667 C6.23189007,14.6666667 4.53619732,13.9642877 3.28595479,12.7140452 C2.03571227,11.4638027 1.33333333,9.76810993 1.33333333,8 C1.33333333,4.33333333 4.31333333,1.33333333 8,1.33333333 L8,1.33333333 C8.22363231,1.33333333 8.44610612,1.3445696 8.66666667,1.36672949 L8.66666667,2.70847693 C8.44668912,2.68076722 8.22407146,2.66666667 8,2.66666667 C5.05448133,2.66666667 2.66666667,5.05448133 2.66666667,8 C2.66666667,10.9455187 5.05448133,13.3333333 8,13.3333333 C10.9455187,13.3333333 13.3333333,10.9455187 13.3333333,8 C13.3333333,7.77592854 13.3192328,7.55331088 13.2915231,7.33333333 L14.6332705,7.33333333 Z M8,11.6666667 C9.55333333,11.6666667 10.8666667,10.6933333 11.4066667,9.33333333 L4.59333333,9.33333333 C5.12666667,10.6933333 6.44666667,11.6666667 8,11.6666667 Z M10.3333333,7.33333333 C10.8856181,7.33333333 11.3333333,6.88561808 11.3333333,6.33333333 C11.3333333,5.78104858 10.8856181,5.33333333 10.3333333,5.33333333 C9.78104858,5.33333333 9.33333333,5.78104858 9.33333333,6.33333333 C9.33333333,6.88561808 9.78104858,7.33333333 10.3333333,7.33333333 L10.3333333,7.33333333 Z M5.66666667,7.33333333 C6.21895142,7.33333333 6.66666667,6.88561808 6.66666667,6.33333333 C6.66666667,5.78104858 6.21895142,5.33333333 5.66666667,5.33333333 C5.11438192,5.33333333 4.66666667,5.78104858 4.66666667,6.33333333 C4.66666667,6.88561808 5.11438192,7.33333333 5.66666667,7.33333333 Z",id:"Combined-Shape",fill:"#667c99"})),m("g",{id:"Group-15",transform:"translate(10.666667, 0.000000)",fill:"#667c99"},m("polygon",{id:"Path",points:"3.33333333 2 3.33333333 0 2 0 2 2 0 2 0 3.33333333 2 3.33333333 2 5.33333333 3.33333333 5.33333333 3.33333333 3.33333333 5.33333333 3.33333333 5.33333333 2"}))))))))},a.react=function(F,e){var a=this;if(e.target.blur(),app.session.user){if(!this.post.canReact())return app.alerts.show({type:"error"},app.translator.trans("core.lib.error.permission_denied_message"));var o=F?F.id():null,n=this.post.reactions();return this.loading[o]=!0,this.post.save({reaction:o}).then((function(e){delete a.loading[o];for(var t,r=function(F,e){var a="undefined"!=typeof Symbol&&F[Symbol.iterator]||F["@@iterator"];if(a)return(a=a.call(F)).next.bind(a);if(Array.isArray(F)||(a=function(F,e){if(F){if("string"==typeof F)return lF(F,e);var a=Object.prototype.toString.call(F).slice(8,-1);return"Object"===a&&F.constructor&&(a=F.constructor.name),"Map"===a||"Set"===a?Array.from(F):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?lF(F,e):void 0}}(F))||e&&F&&"number"==typeof F.length){a&&(F=a);var o=0;return function(){return o>=F.length?{done:!0}:{done:!1,value:F[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(n);!(t=r()).done;){var i=t.value;e.reactions().includes(i)||app.store.remove(i)}a.updateChosenReaction(),(void 0!==app.forum.data.relationships.ranks&&(app.forum.attribute("ReactionConverts")[0]===F||app.forum.attribute("ReactionConverts")[1]===F)||void 0!==a.post.data.relationships.likes&&app.forum.attribute("ReactionConverts")[2]===F)&&app.alerts.show({type:"warning"},app.translator.trans("fof-reactions.forum.warning",{reaction:F})),m.redraw()})).catch((function(F){delete a.loading[o],$("body").append(F),m.redraw()}))}app.modal.show(FF())},a.updateChosenReaction=function(){var F=this.getPostReactions();return this.reaction=app.session.user&&F.filter((function(F){return F.userId()==app.session.user.id()}))[0]},a.getPostReactions=function(){var F=this;return this.post.reactions()||app.store.all("post_reactions").filter((function(e){return e&&e.postId()==F.post.id()}))},e}(J());const _F=flarum.core.compat["forum/utils/PostControls"];var cF=a.n(_F);const gF=flarum.core.compat["common/components/Modal"];var mF=a.n(gF);const uF=flarum.core.compat["common/components/LoadingIndicator"];var fF=a.n(uF);const pF=flarum.core.compat["common/helpers/avatar"];var dF=a.n(pF);const hF=flarum.core.compat["common/helpers/username"];var EF=a.n(hF);const bF=flarum.core.compat["common/components/Link"];var DF=a.n(bF),wF=function(F){function e(){return F.apply(this,arguments)||this}h(e,F);var a=e.prototype;return a.className=function(){return"ReactionsModal Modal--small"},a.title=function(){return t().translator.trans("fof-reactions.forum.modal.title")},a.oninit=function(e){F.prototype.oninit.call(this,e),this.loading=!0,this.groupedReactions=eF(this.attrs.post.reactions().filter(Boolean),(function(F){return F.reactionId()})),this.load()},a.content=function(){var F=this;return this.loading?m("div",{className:"Modal-body"},m(fF(),null)):m("div",{className:"Modal-body"},m("ul",{className:"ReactionsModal-list"},Object.keys(this.groupedReactions).map((function(e){var a=t().store.getById("reactions",e),o=F.groupedReactions[e];if(o.length)return m("div",{className:"ReactionsModal-group"},m("legend",null,m(iF,{reaction:a,className:"ReactionModal-reaction"}),m("label",{className:"ReactionsModal-display"},a.display()||a.identifier())),m("hr",{className:"ReactionsModal-delimiter"}),o.filter((function(F){return F.user()})).map((function(F){return m("li",null,m(DF(),{className:"ReactionsModal-user",href:t().route.user(F.user())},dF()(F.user(),{loading:"lazy"}),EF()(F.user())))})))}))))},a.load=function(){return t().request({method:"GET",url:t().forum.attribute("apiUrl")+this.attrs.post.apiEndpoint()+"/reactions",params:{include:"user"}}).then((function(F){return t().store.pushPayload(F)})).then(this.loaded.bind(this),this.loaded.bind(this))},e}(mF());t().initializers.add("fof/reactions",(function(){t().store.models.reactions=R,t().store.models.post_reactions=q,t().notificationComponents.postReacted=j,c().prototype.canReact=u().attribute("canReact"),c().prototype.reactions=u().hasMany("reactions"),i().prototype.reactions=u().hasMany("reactions"),s().prototype.canSeeReactions=u().attribute("canSeeReactions"),(0,o.extend)(G().prototype,"actionItems",(function(F){var e=this.attrs.post;if(!e.isHidden()){var a=t().session.user&&Array.isArray(e.reactions())&&e.reactions().some((function(F){return F===t().session.user}));F.add("react",sF.component({post:e,reaction:a}),5)}})),(0,o.extend)(cF(),"moderationControls",(function(F,e){e.discussion().canSeeReactions()&&e.reactions()&&e.reactions().length&&F.add("viewReactions",m(Q(),{icon:"fas fa-heart",onclick:function(){return t().modal.show(wF,{post:e})}},t().translator.trans("fof-reactions.forum.mod_item")))})),(0,o.extend)(N().prototype,"config",(function(F,e,a){e||t().pusher&&t().pusher.then((function(F){F.main.bind("newReaction",(function(F){var e=F.postId,a=F.reactionId,o=t().store.getById("reactions",a),n=t().store.getById("posts",e);o&&n&&T(e)})),F.main.bind("removedReaction",(function(F){var e=F.userId,a=F.postId,o=F.reactionId,n=t().store.all("post_reactions").filter((function(F){return F.userId()==e&&F.postId()==a&&F.reactionId()==o}))[0];n&&(t().store.remove(n),T(a),m.redraw())})),(0,o.extend)(a,"onunload",(function(){return F.main.unbind("newReaction")})),(0,o.extend)(a,"onunload",(function(){return F.main.unbind("removedReaction")}))}))})),(0,o.extend)(p().prototype,"notificationTypes",(function(F){F.add("postReacted",{name:"postReacted",icon:"far fa-smile",label:t().translator.trans("fof-reactions.forum.settings.notify_post_reacted_label")})}))}))}},e={};function a(o){var n=e[o];if(void 0!==n)return n.exports;var t=e[o]={exports:{}};return F[o](t,t.exports,a),t.exports}a.n=F=>{var e=F&&F.__esModule?()=>F.default:()=>F;return a.d(e,{a:e}),e},a.d=(F,e)=>{for(var o in e)a.o(e,o)&&!a.o(F,o)&&Object.defineProperty(F,o,{enumerable:!0,get:e[o]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(F){if("object"==typeof window)return window}}(),a.o=(F,e)=>Object.prototype.hasOwnProperty.call(F,e),a.r=F=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(F,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(F,"__esModule",{value:!0})};var o={};(()=>{"use strict";a.r(o);var F=a(656),e={};for(const a in F)"default"!==a&&(e[a]=()=>F[a]);a.d(o,e),a(797)})(),module.exports=o})(); //# sourceMappingURL=forum.js.map \ No newline at end of file diff --git a/js/dist/forum.js.map b/js/dist/forum.js.map index 17537a7..cc6c2ca 100644 --- a/js/dist/forum.js.map +++ b/js/dist/forum.js.map @@ -1 +1 @@ -{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@fof/reactions/./node_modules/lodash.debounce/index.js","webpack://@fof/reactions/external root \"flarum.core.compat['common/extend']\"","webpack://@fof/reactions/external root \"flarum.core.compat['forum/app']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/models/Forum']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/models/Discussion']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/models/Post']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/reactions/external root \"flarum.core.compat['forum/components/NotificationGrid']\"","webpack://@fof/reactions/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/reactions/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/reactions/external root \"flarum.core.compat['forum/components/Notification']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@fof/reactions/./src/common/util/emoji.js","webpack://@fof/reactions/./src/forum/components/PostReactedNotification.js","webpack://@fof/reactions/external root \"flarum.core.compat['common/utils/mixin']\"","webpack://@fof/reactions/./src/common/models/Reaction.js","webpack://@fof/reactions/./src/forum/models/PostReaction.js","webpack://@fof/reactions/external root \"flarum.core.compat['forum/components/DiscussionPage']\"","webpack://@fof/reactions/./src/forum/addPusher.js","webpack://@fof/reactions/external root \"flarum.core.compat['forum/components/CommentPost']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/Component']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/utils/ItemList']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/components/Button']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/helpers/listItems']\"","webpack://@fof/reactions/external root \"flarum.core.compat['forum/components/LogInModal']\"","webpack://@fof/reactions/./src/forum/utils/groupBy.js","webpack://@fof/reactions/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@fof/reactions/external root \"flarum.core.compat['common/utils/extract']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/utils/classList']\"","webpack://@fof/reactions/./src/common/components/ReactionComponent.js","webpack://@fof/reactions/./src/forum/components/PostReactAction.js","webpack://@fof/reactions/external root \"flarum.core.compat['forum/utils/PostControls']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/components/Modal']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/components/LoadingIndicator']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/helpers/avatar']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/helpers/username']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/components/Link']\"","webpack://@fof/reactions/./src/forum/components/ReactionsModal.js","webpack://@fof/reactions/./src/forum/index.js","webpack://@fof/reactions/./src/forum/addReactionAction.js","webpack://@fof/reactions/webpack/bootstrap","webpack://@fof/reactions/webpack/runtime/compat get default export","webpack://@fof/reactions/webpack/runtime/define property getters","webpack://@fof/reactions/webpack/runtime/global","webpack://@fof/reactions/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/reactions/webpack/runtime/make namespace object"],"sourcesContent":["/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/Forum'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/Discussion'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/Post'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/NotificationGrid'];","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/Notification'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","import emojis from 'simple-emoji-map';\n\nconst flatten = (arr, depth = 1) => arr.reduce((a, v) => a.concat(depth > 1 && Array.isArray(v) ? flatten(v, depth - 1) : v), []);\nconst shortnames = flatten(Object.values(emojis));\nconst entries = Object.entries(emojis);\nconst getEmoji = (identifier) => entries.find(([, value]) => value.includes(identifier));\nconst toUnicodeEmoji = (codePoint) => String.fromCodePoint(...codePoint.split('-').map((e) => `0x${e}`));\n\nexport class Match {\n /**\n * Match\n * Creates a new `Match` instance.\n *\n * It contains the following properties:\n *\n * - `input` (String): The input string.\n * - `score` (Number): A number between `0` and `1`. The closer to `1` it is, the better match it is.\n * - `emoji` (Object): The emoji object.\n * - `emoji_name` (String): The emoji name.\n *\n * @name Match\n * @function\n * @param {String} input The input string (just a word).\n */\n constructor(input) {\n let r = emojis[input],\n finalScore = -1,\n emojiName = null;\n\n if (r) {\n finalScore = 1;\n emojiName = input;\n } else {\n Object.entries(emojis).forEach(([n, e]) => {\n for (let i = 0; i <= e.length; ++i) {\n const c = e[i] || n,\n equals = c === input,\n indexF = c.indexOf(input),\n indexS = input.indexOf(c),\n score = equals && input.length ? 1 : indexF === 0 || (indexS === 0 && c.length > 1) ? 1 : indexF > 0 || indexS > 0 ? 0 : -1;\n\n if (score > finalScore) {\n emojiName = n;\n finalScore = score;\n if (score === 1) {\n return false;\n }\n }\n }\n });\n }\n\n this.score = finalScore;\n this.emoji = emojiName;\n }\n}\nconst emojiCache = new Map();\n\nexport default (reactionOrIdentifier) => {\n if (!reactionOrIdentifier) return {};\n\n const identifier = reactionOrIdentifier.identifier || reactionOrIdentifier;\n let codePoint;\n\n if (emojiCache.has(identifier)) return emojiCache.get(identifier);\n\n if (shortnames.includes(identifier)) {\n const emoji = getEmoji(identifier);\n codePoint = emoji && emoji[0];\n } else {\n const match = new Match(identifier);\n if (match.score) codePoint = match.emoji;\n }\n\n const output = codePoint\n ? {\n identifier,\n uc: toUnicodeEmoji(codePoint),\n url: `//cdn.jsdelivr.net/gh/twitter/twemoji@13/assets/72x72/${codePoint.toLowerCase()}.png`,\n type: 'emoji',\n }\n : {};\n\n emojiCache.set(reactionOrIdentifier, output);\n\n return output || {};\n};\n","import app from 'flarum/forum/app';\nimport Notification from 'flarum/forum/components/Notification';\nimport icon from 'flarum/common/helpers/icon';\n\nimport emoji from '../../common/util/emoji';\n\nexport default class PostReactedNotification extends Notification {\n icon() {\n return 'fas fa-heart';\n }\n\n href() {\n return app.route.post(this.attrs.notification.subject());\n }\n\n content() {\n const notification = this.attrs.notification;\n const { identifier, type } = JSON.parse(notification.content());\n const user = notification.fromUser();\n\n const reaction = type === 'emoji' ? : icon(identifier);\n\n return app.translator.trans('fof-reactions.forum.notification', {\n user,\n reaction,\n });\n }\n\n excerpt() {\n return this.attrs.notification.subject().contentPlain();\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/mixin'];","import Model from 'flarum/common/Model';\nimport mixin from 'flarum/common/utils/mixin';\n\nexport default class Reaction extends mixin(Model, {\n identifier: Model.attribute('identifier'),\n display: Model.attribute('display'),\n type: Model.attribute('type'),\n enabled: Model.attribute('enabled'),\n\n user_id: Model.attribute('user_id'),\n post_id: Model.attribute('post_id'),\n reaction_id: Model.attribute('reaction_id'),\n}) {}\n","import Model from 'flarum/common/Model';\nimport mixin from 'flarum/common/utils/mixin';\n\nexport default class PostReaction extends mixin(Model, {\n reaction: Model.hasOne('reaction'),\n\n userId: Model.attribute('userId'),\n postId: Model.attribute('postId'),\n reactionId: Model.attribute('reactionId'),\n\n user: Model.hasOne('user'),\n post: Model.hasOne('post'),\n}) {}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/DiscussionPage'];","import app from 'flarum/forum/app';\nimport debounce from 'lodash.debounce';\n\nimport { extend } from 'flarum/common/extend';\nimport DiscussionPage from 'flarum/forum/components/DiscussionPage';\n\nconst fetch = (postId) => app.store.find('posts', postId, { include: 'reactions' }).then(() => m.redraw());\nconst debounced = [];\nconst update = (postId) => {\n let func = debounced[postId];\n\n if (func) return func(postId);\n\n func = debounced[postId] = debounce(fetch, 1500);\n\n return func(postId);\n};\n\nexport default () => {\n extend(DiscussionPage.prototype, 'config', function (x, isInitialized, context) {\n if (isInitialized) return;\n\n if (app.pusher) {\n app.pusher.then((channels) => {\n channels.main.bind('newReaction', ({ postId, reactionId }) => {\n const reaction = app.store.getById('reactions', reactionId);\n const post = app.store.getById('posts', postId);\n\n if (!reaction || !post) return;\n\n update(postId);\n });\n\n channels.main.bind('removedReaction', ({ userId, postId, reactionId }) => {\n const postReaction = app.store\n .all('post_reactions')\n .filter((r) => r.userId() == userId && r.postId() == postId && r.reactionId() == reactionId)[0];\n\n if (!postReaction) return;\n\n app.store.remove(postReaction);\n\n update(postId);\n\n m.redraw();\n });\n\n extend(context, 'onunload', () => channels.main.unbind('newReaction'));\n extend(context, 'onunload', () => channels.main.unbind('removedReaction'));\n });\n }\n });\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/CommentPost'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Component'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/ItemList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/listItems'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/LogInModal'];","export default (arr, fn) =>\n arr.map(typeof fn === 'function' ? fn : (val) => val[fn]).reduce((acc, val, i) => {\n acc[val] = (acc[val] || []).concat(arr[i]);\n return acc;\n }, {});\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/extract'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/classList'];","import Component from 'flarum/common/Component';\nimport extract from 'flarum/common/utils/extract';\nimport classList from 'flarum/common/utils/classList';\n\nimport emoji from '../util/emoji';\n\nexport default class ReactionComponent extends Component {\n view() {\n const attrs = { ...this.attrs };\n const reaction = extract(attrs, 'reaction');\n const className = extract(attrs, 'className');\n\n if (!reaction) return ;\n\n const display = reaction.display() || reaction.identifier();\n\n if (!attrs.title) attrs.title = display;\n\n if (reaction.type() === 'emoji') {\n const { url } = emoji(reaction.identifier());\n\n return {display};\n } else {\n return ;\n }\n }\n}\n","import Component from 'flarum/common/Component';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Button from 'flarum/common/components/Button';\nimport listItems from 'flarum/common/helpers/listItems';\nimport LogInModal from 'flarum/forum/components/LogInModal';\n\nimport groupBy from '../utils/groupBy';\nimport ReactionComponent from '../../common/components/ReactionComponent';\n\nexport default class PostReactAction extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.post = this.attrs.post;\n\n this.loading = {};\n\n this.updateChosenReaction();\n }\n\n oncreate(vnode) {\n super.oncreate(vnode);\n if ('ontouchstart' in window) {\n $('.Reactions')\n .unbind()\n .on('touchend', function () {\n $(this).find('.CommentPost--Reactions').toggleClass('mobile-show');\n });\n $(document).click(function (e) {\n var target = e.target;\n if (!$(target).is('.Reactions') && !$(target).parents().is('.Reactions')) {\n $('.CommentPost--Reactions').removeClass('mobile-show');\n }\n });\n }\n }\n\n getReactions() {\n const items = new ItemList();\n\n app.forum.reactions().forEach((reaction) => {\n if (!reaction.enabled()) {\n return;\n }\n items.add(\n reaction.identifier().replace(/fa.? fa-/, ''),\n \n \n \n );\n });\n\n return items;\n }\n\n view() {\n const groupedPostReactions = groupBy(this.getPostReactions(), (r) => r.reactionId());\n const canReact = this.post.canReact();\n\n return (\n
\n
\n {Object.keys(groupedPostReactions).map((id) => {\n const reaction = app.store.getById('reactions', id);\n const count = groupedPostReactions[id].length;\n\n if (count === 0) return;\n\n const spanClass = reaction.type() === 'icon' ? `${reaction.identifier()} emoji button-emoji reaction-icon` : '';\n const icon = ;\n\n return Button.component(\n {\n className: `Button Button--flat Button-emoji-parent ${this.reaction && this.reaction.reactionId() == reaction.id() && 'active'}`,\n onclick: canReact ? this.react.bind(this, reaction) : '',\n 'data-reaction': reaction.identifier(),\n disabled: !canReact,\n loading: this.loading[reaction.id()],\n },\n \n {icon} {count > 1 ? {count} : ''}\n \n );\n })}\n
\n\n {(!Object.keys(this.loading).length || this.loading[null]) && !this.reaction && canReact && (\n
\n {this.reactButton()}\n\n
\n
    {listItems(this.getReactions().toArray())}
\n
\n
\n )}\n
\n );\n }\n\n reactButton() {\n return (\n \n \n \n /* Generator: Sketch 40.3 (33839) - http://www.bohemiancoding.com/sketch */\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n\n react(reaction, e) {\n e.target.blur();\n\n if (!app.session.user) {\n app.modal.show(LogInModal);\n return;\n }\n\n if (!this.post.canReact()) {\n return app.alerts.show({ type: 'error' }, app.translator.trans('core.lib.error.permission_denied_message'));\n }\n\n const id = !reaction ? null : reaction.id();\n const originalPostReactions = this.post.reactions();\n\n this.loading[id] = true;\n\n return this.post\n .save({ reaction: id })\n .then((post) => {\n delete this.loading[id];\n\n for (const postReaction of originalPostReactions) {\n if (!post.reactions().includes(postReaction)) {\n app.store.remove(postReaction);\n }\n }\n\n this.updateChosenReaction();\n\n /**\n * We've saved the fact that we have or haven't reacted to the post,\n * but in order to provide instantaneous feedback to the user, we'll\n * need to add or remove the reaction from the current ones manually\n */\n\n if (\n (app.forum.data.relationships.ranks !== undefined &&\n (app.forum.attribute('ReactionConverts')[0] === reaction || app.forum.attribute('ReactionConverts')[1] === reaction)) ||\n (this.post.data.relationships.likes !== undefined && app.forum.attribute('ReactionConverts')[2] === reaction)\n ) {\n app.alerts.show(\n { type: 'warning' },\n app.translator.trans('fof-reactions.forum.warning', {\n reaction,\n })\n );\n }\n\n m.redraw();\n })\n .catch((err) => {\n delete this.loading[id];\n\n $('body').append(err);\n\n m.redraw();\n });\n }\n\n updateChosenReaction() {\n const postReactions = this.getPostReactions();\n\n return (this.reaction = app.session.user && postReactions.filter((reaction) => reaction.userId() == app.session.user.id())[0]);\n }\n\n getPostReactions() {\n return this.post.reactions() || app.store.all('post_reactions').filter((p) => p && p.postId() == this.post.id());\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/utils/PostControls'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Modal'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/LoadingIndicator'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/avatar'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/username'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Link'];","import app from 'flarum/forum/app';\nimport Modal from 'flarum/common/components/Modal';\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\nimport avatar from 'flarum/common/helpers/avatar';\nimport username from 'flarum/common/helpers/username';\nimport Link from 'flarum/common/components/Link';\nimport ReactionComponent from '../../common/components/ReactionComponent';\nimport groupBy from '../utils/groupBy';\n\nexport default class ReactionsModal extends Modal {\n className() {\n return 'ReactionsModal Modal--small';\n }\n\n title() {\n return app.translator.trans('fof-reactions.forum.modal.title');\n }\n\n oninit(vnode) {\n super.oninit(vnode);\n this.loading = true;\n\n this.groupedReactions = groupBy(this.attrs.post.reactions().filter(Boolean), (r) => r.reactionId());\n\n this.load();\n }\n\n content() {\n if (this.loading) {\n return (\n
\n \n
\n );\n }\n\n return (\n
\n
    \n {Object.keys(this.groupedReactions).map((id) => {\n const reaction = app.store.getById('reactions', id);\n const postReactions = this.groupedReactions[id];\n\n if (!postReactions.length) return;\n\n return (\n
    \n \n \n\n \n \n\n
    \n\n {postReactions\n .filter((r) => r.user())\n .map((r) => (\n
  • \n \n {avatar(r.user(), { loading: 'lazy' })}\n {username(r.user())}\n \n
  • \n ))}\n
    \n );\n })}\n
\n
\n );\n }\n\n load() {\n return app\n .request({\n method: 'GET',\n url: app.forum.attribute('apiUrl') + this.attrs.post.apiEndpoint() + '/reactions',\n params: { include: 'user' },\n })\n .then((response) => app.store.pushPayload(response))\n .then(this.loaded.bind(this), this.loaded.bind(this));\n }\n}\n","import { extend } from 'flarum/common/extend';\nimport app from 'flarum/forum/app';\nimport Forum from 'flarum/common/models/Forum';\nimport Discussion from 'flarum/common/models/Discussion';\nimport Post from 'flarum/common/models/Post';\nimport Model from 'flarum/common/Model';\nimport NotificationGrid from 'flarum/forum/components/NotificationGrid';\n\nimport PostReactedNotification from './components/PostReactedNotification';\nimport Reaction from '../common/models/Reaction';\nimport PostReaction from './models/PostReaction';\n\nimport addPusher from './addPusher';\nimport addReactionAction from './addReactionAction';\n\napp.initializers.add('fof/reactions', () => {\n app.store.models.reactions = Reaction;\n app.store.models.post_reactions = PostReaction;\n\n app.notificationComponents.postReacted = PostReactedNotification;\n\n Post.prototype.canReact = Model.attribute('canReact');\n Post.prototype.reactions = Model.hasMany('reactions');\n\n Forum.prototype.reactions = Model.hasMany('reactions');\n\n Discussion.prototype.canSeeReactions = Model.attribute('canSeeReactions');\n\n addReactionAction();\n addPusher();\n\n extend(NotificationGrid.prototype, 'notificationTypes', (items) => {\n items.add('postReacted', {\n name: 'postReacted',\n icon: 'far fa-smile',\n label: app.translator.trans('fof-reactions.forum.settings.notify_post_reacted_label'),\n });\n });\n});\n","import { extend } from 'flarum/common/extend';\nimport app from 'flarum/forum/app';\nimport CommentPost from 'flarum/forum/components/CommentPost';\nimport PostReactAction from './components/PostReactAction';\nimport PostControls from 'flarum/forum/utils/PostControls';\nimport Button from 'flarum/common/components/Button';\nimport ReactionsModal from './components/ReactionsModal';\n\nexport default () => {\n extend(CommentPost.prototype, 'actionItems', function (items) {\n const post = this.attrs.post;\n\n if (post.isHidden()) return;\n\n const reaction = app.session.user && Array.isArray(post.reactions()) && post.reactions().some((user) => user === app.session.user);\n\n items.add(\n 'react',\n PostReactAction.component({\n post,\n reaction,\n }),\n 5\n );\n });\n\n extend(PostControls, 'moderationControls', function (items, post) {\n if (post.discussion().canSeeReactions() && post.reactions() && post.reactions().length) {\n items.add(\n 'viewReactions',\n \n );\n }\n });\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"names":["reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","global","Object","freeSelf","self","root","Function","objectToString","prototype","toString","nativeMax","Math","max","nativeMin","min","now","Date","isObject","value","type","toNumber","isObjectLike","call","isSymbol","other","valueOf","replace","isBinary","test","slice","module","exports","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","undefined","apply","leadingEdge","setTimeout","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","arguments","this","cancel","clearTimeout","flush","flarum","core","compat","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_inheritsLoose","subClass","superClass","create","constructor","shortnames","flatten","arr","depth","reduce","a","v","concat","Array","isArray","values","emojis","entries","toUnicodeEmoji","codePoint","String","fromCodePoint","split","map","e","Match","input","r","finalScore","emojiName","forEach","n","i","length","c","equals","indexF","indexOf","indexS","score","emoji","emojiCache","Map","reactionOrIdentifier","identifier","has","get","includes","find","getEmoji","match","output","uc","url","toLowerCase","set","PostReactedNotification","icon","href","app","attrs","notification","subject","content","JSON","parse","user","fromUser","reaction","src","loading","height","excerpt","contentPlain","Notification","Reaction","mixin","Model","display","enabled","user_id","post_id","reaction_id","PostReaction","userId","postId","reactionId","post","fetch","include","then","m","redraw","update","debounce","fn","val","acc","_extends","assign","target","source","key","hasOwnProperty","ReactionComponent","view","extract","className","title","draggable","alt","classList","Component","PostReactAction","oninit","vnode","updateChosenReaction","oncreate","window","$","unbind","on","toggleClass","document","click","is","parents","removeClass","getReactions","items","ItemList","forum","reactions","add","onclick","react","bind","id","groupedPostReactions","groupBy","getPostReactions","canReact","style","keys","store","getById","count","spanClass","Button","disabled","reactButton","number","listItems","toArray","translator","trans","class","width","viewBox","stroke","fill","x","y","d","transform","points","blur","session","alerts","show","originalPostReactions","save","postReaction","remove","data","relationships","ranks","attribute","likes","err","append","modal","LogInModal","postReactions","filter","all","ReactionsModal","groupedReactions","Boolean","load","avatar","username","method","apiEndpoint","params","response","loaded","Modal","Post","Forum","Discussion","extend","CommentPost","isHidden","some","component","PostControls","discussion","canSeeReactions","DiscussionPage","isInitialized","context","channels","main","NotificationGrid","name","label","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","definition","defineProperty","enumerable","g","globalThis","obj","prop","Symbol","toStringTag"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@fof/reactions/./node_modules/lodash.debounce/index.js","webpack://@fof/reactions/external root \"flarum.core.compat['common/extend']\"","webpack://@fof/reactions/external root \"flarum.core.compat['forum/app']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/models/Forum']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/models/Discussion']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/models/Post']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/reactions/external root \"flarum.core.compat['forum/components/NotificationGrid']\"","webpack://@fof/reactions/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/reactions/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/reactions/external root \"flarum.core.compat['forum/components/Notification']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@fof/reactions/./src/common/util/emoji.js","webpack://@fof/reactions/./node_modules/fuzzyset/dist/fuzzyset.esm.js","webpack://@fof/reactions/./src/forum/components/PostReactedNotification.js","webpack://@fof/reactions/external root \"flarum.core.compat['common/utils/mixin']\"","webpack://@fof/reactions/./src/common/models/Reaction.js","webpack://@fof/reactions/./src/forum/models/PostReaction.js","webpack://@fof/reactions/external root \"flarum.core.compat['forum/components/DiscussionPage']\"","webpack://@fof/reactions/./src/forum/addPusher.js","webpack://@fof/reactions/external root \"flarum.core.compat['forum/components/CommentPost']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/Component']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/utils/ItemList']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/components/Button']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/helpers/listItems']\"","webpack://@fof/reactions/external root \"flarum.core.compat['forum/components/LogInModal']\"","webpack://@fof/reactions/./src/forum/utils/groupBy.js","webpack://@fof/reactions/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@fof/reactions/external root \"flarum.core.compat['common/utils/extract']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/utils/classList']\"","webpack://@fof/reactions/./src/common/components/ReactionComponent.js","webpack://@fof/reactions/./src/forum/components/PostReactAction.js","webpack://@fof/reactions/external root \"flarum.core.compat['forum/utils/PostControls']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/components/Modal']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/components/LoadingIndicator']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/helpers/avatar']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/helpers/username']\"","webpack://@fof/reactions/external root \"flarum.core.compat['common/components/Link']\"","webpack://@fof/reactions/./src/forum/components/ReactionsModal.js","webpack://@fof/reactions/./src/forum/index.js","webpack://@fof/reactions/./src/forum/addReactionAction.js","webpack://@fof/reactions/webpack/bootstrap","webpack://@fof/reactions/webpack/runtime/compat get default export","webpack://@fof/reactions/webpack/runtime/define property getters","webpack://@fof/reactions/webpack/runtime/global","webpack://@fof/reactions/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/reactions/webpack/runtime/make namespace object"],"sourcesContent":["/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/Forum'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/Discussion'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/Post'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/NotificationGrid'];","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/Notification'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","import emojis from 'simple-emoji-map';\nimport FuzzySet from 'fuzzyset';\n\nconst flatten = (arr, depth = 1) => arr.reduce((a, v) => a.concat(depth > 1 && Array.isArray(v) ? flatten(v, depth - 1) : v), []);\nconst shortnames = flatten(Object.values(emojis));\nconst entries = Object.entries(emojis);\nconst getEmoji = (identifier) => entries.find(([, value]) => value.includes(identifier));\nconst toUnicodeEmoji = (codePoint) => String.fromCodePoint(...codePoint.split('-').map((e) => `0x${e}`));\n\nconst emojiCache = new Map();\nconst fuzzySet = new FuzzySet(shortnames);\n\nconst search = (query) => {\n const results = fuzzySet.get(query);\n const [score, item] = results[0];\n\n return {\n score,\n item,\n };\n};\n\nexport default (reactionOrIdentifier) => {\n if (!reactionOrIdentifier) return {};\n\n let identifier = reactionOrIdentifier.identifier || reactionOrIdentifier;\n\n if (emojiCache.has(identifier)) return emojiCache.get(identifier);\n\n let score;\n\n if (!shortnames.includes(identifier)) {\n const match = search(identifier);\n\n identifier = match?.item;\n score = match?.score;\n }\n\n const emoji = getEmoji(identifier);\n const codePoint = emoji?.[0];\n\n const output = codePoint\n ? {\n identifier,\n score,\n uc: toUnicodeEmoji(codePoint),\n url: `//cdn.jsdelivr.net/gh/twitter/twemoji@14/assets/72x72/${codePoint.toLowerCase()}.png`,\n type: 'emoji',\n }\n : {};\n\n emojiCache.set(reactionOrIdentifier, output);\n\n return output || {};\n};\n","const FuzzySet = function(arr, useLevenshtein, gramSizeLower, gramSizeUpper) {\n var fuzzyset = {\n\n };\n\n // default options\n arr = arr || [];\n fuzzyset.gramSizeLower = gramSizeLower || 2;\n fuzzyset.gramSizeUpper = gramSizeUpper || 3;\n fuzzyset.useLevenshtein = (typeof useLevenshtein !== 'boolean') ? true : useLevenshtein;\n\n // define all the object functions and attributes\n fuzzyset.exactSet = {};\n fuzzyset.matchDict = {};\n fuzzyset.items = {};\n\n // helper functions\n var levenshtein = function(str1, str2) {\n var current = [], prev, value;\n\n for (var i = 0; i <= str2.length; i++)\n for (var j = 0; j <= str1.length; j++) {\n if (i && j)\n if (str1.charAt(j - 1) === str2.charAt(i - 1))\n value = prev;\n else\n value = Math.min(current[j], current[j - 1], prev) + 1;\n else\n value = i + j;\n\n prev = current[j];\n current[j] = value;\n }\n\n return current.pop();\n };\n\n // return an edit distance from 0 to 1\n var _distance = function(str1, str2) {\n if (str1 === null && str2 === null) throw 'Trying to compare two null values';\n if (str1 === null || str2 === null) return 0;\n str1 = String(str1); str2 = String(str2);\n\n var distance = levenshtein(str1, str2);\n if (str1.length > str2.length) {\n return 1 - distance / str1.length;\n } else {\n return 1 - distance / str2.length;\n }\n };\n\n // u00C0-u00FF is latin characters\n // u0621-u064a is arabic letters\n // u0660-u0669 is arabic numerals\n // TODO: figure out way to do this for more languages\n var _nonWordRe = /[^a-zA-Z0-9\\u00C0-\\u00FF\\u0621-\\u064A\\u0660-\\u0669, ]+/g;\n\n var _iterateGrams = function(value, gramSize) {\n gramSize = gramSize || 2;\n var simplified = '-' + value.toLowerCase().replace(_nonWordRe, '') + '-',\n lenDiff = gramSize - simplified.length,\n results = [];\n if (lenDiff > 0) {\n for (var i = 0; i < lenDiff; ++i) {\n simplified += '-';\n }\n }\n for (var i = 0; i < simplified.length - gramSize + 1; ++i) {\n results.push(simplified.slice(i, i + gramSize));\n }\n return results;\n };\n\n var _gramCounter = function(value, gramSize) {\n // return an object where key=gram, value=number of occurrences\n gramSize = gramSize || 2;\n var result = {},\n grams = _iterateGrams(value, gramSize),\n i = 0;\n for (i; i < grams.length; ++i) {\n if (grams[i] in result) {\n result[grams[i]] += 1;\n } else {\n result[grams[i]] = 1;\n }\n }\n return result;\n };\n\n // the main functions\n fuzzyset.get = function(value, defaultValue, minMatchScore) {\n // check for value in set, returning defaultValue or null if none found\n if (minMatchScore === undefined) {\n minMatchScore = .33;\n }\n var result = this._get(value, minMatchScore);\n if (!result && typeof defaultValue !== 'undefined') {\n return defaultValue;\n }\n return result;\n };\n\n fuzzyset._get = function(value, minMatchScore) {\n var results = [];\n // start with high gram size and if there are no results, go to lower gram sizes\n for (var gramSize = this.gramSizeUpper; gramSize >= this.gramSizeLower; --gramSize) {\n results = this.__get(value, gramSize, minMatchScore);\n if (results && results.length > 0) {\n return results;\n }\n }\n return null;\n };\n\n fuzzyset.__get = function(value, gramSize, minMatchScore) {\n var normalizedValue = this._normalizeStr(value),\n matches = {},\n gramCounts = _gramCounter(normalizedValue, gramSize),\n items = this.items[gramSize],\n sumOfSquareGramCounts = 0,\n gram,\n gramCount,\n i,\n index,\n otherGramCount;\n\n for (gram in gramCounts) {\n gramCount = gramCounts[gram];\n sumOfSquareGramCounts += Math.pow(gramCount, 2);\n if (gram in this.matchDict) {\n for (i = 0; i < this.matchDict[gram].length; ++i) {\n index = this.matchDict[gram][i][0];\n otherGramCount = this.matchDict[gram][i][1];\n if (index in matches) {\n matches[index] += gramCount * otherGramCount;\n } else {\n matches[index] = gramCount * otherGramCount;\n }\n }\n }\n }\n\n function isEmptyObject(obj) {\n for(var prop in obj) {\n if(obj.hasOwnProperty(prop))\n return false;\n }\n return true;\n }\n\n if (isEmptyObject(matches)) {\n return null;\n }\n\n var vectorNormal = Math.sqrt(sumOfSquareGramCounts),\n results = [],\n matchScore;\n // build a results list of [score, str]\n for (var matchIndex in matches) {\n matchScore = matches[matchIndex];\n results.push([matchScore / (vectorNormal * items[matchIndex][0]), items[matchIndex][1]]);\n }\n var sortDescending = function(a, b) {\n if (a[0] < b[0]) {\n return 1;\n } else if (a[0] > b[0]) {\n return -1;\n } else {\n return 0;\n }\n };\n results.sort(sortDescending);\n if (this.useLevenshtein) {\n var newResults = [],\n endIndex = Math.min(50, results.length);\n // truncate somewhat arbitrarily to 50\n for (var i = 0; i < endIndex; ++i) {\n newResults.push([_distance(results[i][1], normalizedValue), results[i][1]]);\n }\n results = newResults;\n results.sort(sortDescending);\n }\n newResults = [];\n results.forEach(function(scoreWordPair) {\n if (scoreWordPair[0] >= minMatchScore) {\n newResults.push([scoreWordPair[0], this.exactSet[scoreWordPair[1]]]);\n }\n }.bind(this));\n return newResults;\n };\n\n fuzzyset.add = function(value) {\n var normalizedValue = this._normalizeStr(value);\n if (normalizedValue in this.exactSet) {\n return false;\n }\n\n var i = this.gramSizeLower;\n for (i; i < this.gramSizeUpper + 1; ++i) {\n this._add(value, i);\n }\n };\n\n fuzzyset._add = function(value, gramSize) {\n var normalizedValue = this._normalizeStr(value),\n items = this.items[gramSize] || [],\n index = items.length;\n\n items.push(0);\n var gramCounts = _gramCounter(normalizedValue, gramSize),\n sumOfSquareGramCounts = 0,\n gram, gramCount;\n for (gram in gramCounts) {\n gramCount = gramCounts[gram];\n sumOfSquareGramCounts += Math.pow(gramCount, 2);\n if (gram in this.matchDict) {\n this.matchDict[gram].push([index, gramCount]);\n } else {\n this.matchDict[gram] = [[index, gramCount]];\n }\n }\n var vectorNormal = Math.sqrt(sumOfSquareGramCounts);\n items[index] = [vectorNormal, normalizedValue];\n this.items[gramSize] = items;\n this.exactSet[normalizedValue] = value;\n };\n\n fuzzyset._normalizeStr = function(str) {\n if (Object.prototype.toString.call(str) !== '[object String]') throw 'Must use a string as argument to FuzzySet functions';\n return str.toLowerCase();\n };\n\n // return length of items in set\n fuzzyset.length = function() {\n var count = 0,\n prop;\n for (prop in this.exactSet) {\n if (this.exactSet.hasOwnProperty(prop)) {\n count += 1;\n }\n }\n return count;\n };\n\n // return is set is empty\n fuzzyset.isEmpty = function() {\n for (var prop in this.exactSet) {\n if (this.exactSet.hasOwnProperty(prop)) {\n return false;\n }\n }\n return true;\n };\n\n // return list of values loaded into set\n fuzzyset.values = function() {\n var values = [],\n prop;\n for (prop in this.exactSet) {\n if (this.exactSet.hasOwnProperty(prop)) {\n values.push(this.exactSet[prop]);\n }\n }\n return values;\n };\n\n\n // initialization\n var i = fuzzyset.gramSizeLower;\n for (i; i < fuzzyset.gramSizeUpper + 1; ++i) {\n fuzzyset.items[i] = [];\n }\n // add all the items to the set\n for (i = 0; i < arr.length; ++i) {\n fuzzyset.add(arr[i]);\n }\n\n return fuzzyset;\n};\n\nexport default FuzzySet;\n","import app from 'flarum/forum/app';\nimport Notification from 'flarum/forum/components/Notification';\nimport icon from 'flarum/common/helpers/icon';\n\nimport emoji from '../../common/util/emoji';\n\nexport default class PostReactedNotification extends Notification {\n icon() {\n return 'fas fa-heart';\n }\n\n href() {\n return app.route.post(this.attrs.notification.subject());\n }\n\n content() {\n const notification = this.attrs.notification;\n const { identifier, type } = JSON.parse(notification.content());\n const user = notification.fromUser();\n\n const reaction = type === 'emoji' ? : icon(identifier);\n\n return app.translator.trans('fof-reactions.forum.notification', {\n user,\n reaction,\n });\n }\n\n excerpt() {\n return this.attrs.notification.subject().contentPlain();\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/mixin'];","import Model from 'flarum/common/Model';\nimport mixin from 'flarum/common/utils/mixin';\n\nexport default class Reaction extends mixin(Model, {\n identifier: Model.attribute('identifier'),\n display: Model.attribute('display'),\n type: Model.attribute('type'),\n enabled: Model.attribute('enabled'),\n\n user_id: Model.attribute('user_id'),\n post_id: Model.attribute('post_id'),\n reaction_id: Model.attribute('reaction_id'),\n}) {}\n","import Model from 'flarum/common/Model';\nimport mixin from 'flarum/common/utils/mixin';\n\nexport default class PostReaction extends mixin(Model, {\n reaction: Model.hasOne('reaction'),\n\n userId: Model.attribute('userId'),\n postId: Model.attribute('postId'),\n reactionId: Model.attribute('reactionId'),\n\n user: Model.hasOne('user'),\n post: Model.hasOne('post'),\n}) {}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/DiscussionPage'];","import app from 'flarum/forum/app';\nimport debounce from 'lodash.debounce';\n\nimport { extend } from 'flarum/common/extend';\nimport DiscussionPage from 'flarum/forum/components/DiscussionPage';\n\nconst fetch = (postId) => app.store.find('posts', postId, { include: 'reactions' }).then(() => m.redraw());\nconst debounced = [];\nconst update = (postId) => {\n let func = debounced[postId];\n\n if (func) return func(postId);\n\n func = debounced[postId] = debounce(fetch, 1500);\n\n return func(postId);\n};\n\nexport default () => {\n extend(DiscussionPage.prototype, 'config', function (x, isInitialized, context) {\n if (isInitialized) return;\n\n if (app.pusher) {\n app.pusher.then((channels) => {\n channels.main.bind('newReaction', ({ postId, reactionId }) => {\n const reaction = app.store.getById('reactions', reactionId);\n const post = app.store.getById('posts', postId);\n\n if (!reaction || !post) return;\n\n update(postId);\n });\n\n channels.main.bind('removedReaction', ({ userId, postId, reactionId }) => {\n const postReaction = app.store\n .all('post_reactions')\n .filter((r) => r.userId() == userId && r.postId() == postId && r.reactionId() == reactionId)[0];\n\n if (!postReaction) return;\n\n app.store.remove(postReaction);\n\n update(postId);\n\n m.redraw();\n });\n\n extend(context, 'onunload', () => channels.main.unbind('newReaction'));\n extend(context, 'onunload', () => channels.main.unbind('removedReaction'));\n });\n }\n });\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/CommentPost'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Component'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/ItemList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/listItems'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/LogInModal'];","export default (arr, fn) =>\n arr.map(typeof fn === 'function' ? fn : (val) => val[fn]).reduce((acc, val, i) => {\n acc[val] = (acc[val] || []).concat(arr[i]);\n return acc;\n }, {});\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/extract'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/classList'];","import Component from 'flarum/common/Component';\nimport extract from 'flarum/common/utils/extract';\nimport classList from 'flarum/common/utils/classList';\n\nimport emoji from '../util/emoji';\n\nexport default class ReactionComponent extends Component {\n view() {\n const attrs = { ...this.attrs };\n const reaction = extract(attrs, 'reaction');\n const className = extract(attrs, 'className');\n\n if (!reaction) return ;\n\n const display = reaction.display() || reaction.identifier();\n\n if (!attrs.title) attrs.title = display;\n\n if (reaction.type() === 'emoji') {\n const { url } = emoji(reaction.identifier());\n\n return {display};\n } else {\n return ;\n }\n }\n}\n","import Component from 'flarum/common/Component';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Button from 'flarum/common/components/Button';\nimport listItems from 'flarum/common/helpers/listItems';\nimport LogInModal from 'flarum/forum/components/LogInModal';\n\nimport groupBy from '../utils/groupBy';\nimport ReactionComponent from '../../common/components/ReactionComponent';\n\nexport default class PostReactAction extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.post = this.attrs.post;\n\n this.loading = {};\n\n this.updateChosenReaction();\n }\n\n oncreate(vnode) {\n super.oncreate(vnode);\n if ('ontouchstart' in window) {\n $('.Reactions')\n .unbind()\n .on('touchend', function () {\n $(this).find('.CommentPost--Reactions').toggleClass('mobile-show');\n });\n $(document).click(function (e) {\n var target = e.target;\n if (!$(target).is('.Reactions') && !$(target).parents().is('.Reactions')) {\n $('.CommentPost--Reactions').removeClass('mobile-show');\n }\n });\n }\n }\n\n getReactions() {\n const items = new ItemList();\n\n app.forum.reactions().forEach((reaction) => {\n if (!reaction.enabled()) {\n return;\n }\n items.add(\n reaction.identifier().replace(/fa.? fa-/, ''),\n \n \n \n );\n });\n\n return items;\n }\n\n view() {\n const groupedPostReactions = groupBy(this.getPostReactions(), (r) => r.reactionId());\n const canReact = this.post.canReact();\n\n return (\n
\n
\n {Object.keys(groupedPostReactions).map((id) => {\n const reaction = app.store.getById('reactions', id);\n const count = groupedPostReactions[id].length;\n\n if (count === 0) return;\n\n const spanClass = reaction.type() === 'icon' ? `${reaction.identifier()} emoji button-emoji reaction-icon` : '';\n const icon = ;\n\n return Button.component(\n {\n className: `Button Button--flat Button-emoji-parent ${this.reaction && this.reaction.reactionId() == reaction.id() && 'active'}`,\n onclick: canReact ? this.react.bind(this, reaction) : '',\n 'data-reaction': reaction.identifier(),\n disabled: !canReact,\n loading: this.loading[reaction.id()],\n },\n \n {icon} {count > 1 ? {count} : ''}\n \n );\n })}\n
\n\n {(!Object.keys(this.loading).length || this.loading[null]) && !this.reaction && canReact && (\n
\n {this.reactButton()}\n\n
\n
    {listItems(this.getReactions().toArray())}
\n
\n
\n )}\n
\n );\n }\n\n reactButton() {\n return (\n \n \n \n /* Generator: Sketch 40.3 (33839) - http://www.bohemiancoding.com/sketch */\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n\n react(reaction, e) {\n e.target.blur();\n\n if (!app.session.user) {\n app.modal.show(LogInModal);\n return;\n }\n\n if (!this.post.canReact()) {\n return app.alerts.show({ type: 'error' }, app.translator.trans('core.lib.error.permission_denied_message'));\n }\n\n const id = !reaction ? null : reaction.id();\n const originalPostReactions = this.post.reactions();\n\n this.loading[id] = true;\n\n return this.post\n .save({ reaction: id })\n .then((post) => {\n delete this.loading[id];\n\n for (const postReaction of originalPostReactions) {\n if (!post.reactions().includes(postReaction)) {\n app.store.remove(postReaction);\n }\n }\n\n this.updateChosenReaction();\n\n /**\n * We've saved the fact that we have or haven't reacted to the post,\n * but in order to provide instantaneous feedback to the user, we'll\n * need to add or remove the reaction from the current ones manually\n */\n\n if (\n (app.forum.data.relationships.ranks !== undefined &&\n (app.forum.attribute('ReactionConverts')[0] === reaction || app.forum.attribute('ReactionConverts')[1] === reaction)) ||\n (this.post.data.relationships.likes !== undefined && app.forum.attribute('ReactionConverts')[2] === reaction)\n ) {\n app.alerts.show(\n { type: 'warning' },\n app.translator.trans('fof-reactions.forum.warning', {\n reaction,\n })\n );\n }\n\n m.redraw();\n })\n .catch((err) => {\n delete this.loading[id];\n\n $('body').append(err);\n\n m.redraw();\n });\n }\n\n updateChosenReaction() {\n const postReactions = this.getPostReactions();\n\n return (this.reaction = app.session.user && postReactions.filter((reaction) => reaction.userId() == app.session.user.id())[0]);\n }\n\n getPostReactions() {\n return this.post.reactions() || app.store.all('post_reactions').filter((p) => p && p.postId() == this.post.id());\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/utils/PostControls'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Modal'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/LoadingIndicator'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/avatar'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/username'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Link'];","import app from 'flarum/forum/app';\nimport Modal from 'flarum/common/components/Modal';\nimport LoadingIndicator from 'flarum/common/components/LoadingIndicator';\nimport avatar from 'flarum/common/helpers/avatar';\nimport username from 'flarum/common/helpers/username';\nimport Link from 'flarum/common/components/Link';\nimport ReactionComponent from '../../common/components/ReactionComponent';\nimport groupBy from '../utils/groupBy';\n\nexport default class ReactionsModal extends Modal {\n className() {\n return 'ReactionsModal Modal--small';\n }\n\n title() {\n return app.translator.trans('fof-reactions.forum.modal.title');\n }\n\n oninit(vnode) {\n super.oninit(vnode);\n this.loading = true;\n\n this.groupedReactions = groupBy(this.attrs.post.reactions().filter(Boolean), (r) => r.reactionId());\n\n this.load();\n }\n\n content() {\n if (this.loading) {\n return (\n
\n \n
\n );\n }\n\n return (\n
\n
    \n {Object.keys(this.groupedReactions).map((id) => {\n const reaction = app.store.getById('reactions', id);\n const postReactions = this.groupedReactions[id];\n\n if (!postReactions.length) return;\n\n return (\n
    \n \n \n\n \n \n\n
    \n\n {postReactions\n .filter((r) => r.user())\n .map((r) => (\n
  • \n \n {avatar(r.user(), { loading: 'lazy' })}\n {username(r.user())}\n \n
  • \n ))}\n
    \n );\n })}\n
\n
\n );\n }\n\n load() {\n return app\n .request({\n method: 'GET',\n url: app.forum.attribute('apiUrl') + this.attrs.post.apiEndpoint() + '/reactions',\n params: { include: 'user' },\n })\n .then((response) => app.store.pushPayload(response))\n .then(this.loaded.bind(this), this.loaded.bind(this));\n }\n}\n","import { extend } from 'flarum/common/extend';\nimport app from 'flarum/forum/app';\nimport Forum from 'flarum/common/models/Forum';\nimport Discussion from 'flarum/common/models/Discussion';\nimport Post from 'flarum/common/models/Post';\nimport Model from 'flarum/common/Model';\nimport NotificationGrid from 'flarum/forum/components/NotificationGrid';\n\nimport PostReactedNotification from './components/PostReactedNotification';\nimport Reaction from '../common/models/Reaction';\nimport PostReaction from './models/PostReaction';\n\nimport addPusher from './addPusher';\nimport addReactionAction from './addReactionAction';\n\napp.initializers.add('fof/reactions', () => {\n app.store.models.reactions = Reaction;\n app.store.models.post_reactions = PostReaction;\n\n app.notificationComponents.postReacted = PostReactedNotification;\n\n Post.prototype.canReact = Model.attribute('canReact');\n Post.prototype.reactions = Model.hasMany('reactions');\n\n Forum.prototype.reactions = Model.hasMany('reactions');\n\n Discussion.prototype.canSeeReactions = Model.attribute('canSeeReactions');\n\n addReactionAction();\n addPusher();\n\n extend(NotificationGrid.prototype, 'notificationTypes', (items) => {\n items.add('postReacted', {\n name: 'postReacted',\n icon: 'far fa-smile',\n label: app.translator.trans('fof-reactions.forum.settings.notify_post_reacted_label'),\n });\n });\n});\n","import { extend } from 'flarum/common/extend';\nimport app from 'flarum/forum/app';\nimport CommentPost from 'flarum/forum/components/CommentPost';\nimport PostReactAction from './components/PostReactAction';\nimport PostControls from 'flarum/forum/utils/PostControls';\nimport Button from 'flarum/common/components/Button';\nimport ReactionsModal from './components/ReactionsModal';\n\nexport default () => {\n extend(CommentPost.prototype, 'actionItems', function (items) {\n const post = this.attrs.post;\n\n if (post.isHidden()) return;\n\n const reaction = app.session.user && Array.isArray(post.reactions()) && post.reactions().some((user) => user === app.session.user);\n\n items.add(\n 'react',\n PostReactAction.component({\n post,\n reaction,\n }),\n 5\n );\n });\n\n extend(PostControls, 'moderationControls', function (items, post) {\n if (post.discussion().canSeeReactions() && post.reactions() && post.reactions().length) {\n items.add(\n 'viewReactions',\n \n );\n }\n });\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"names":["reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","global","Object","freeSelf","self","root","Function","objectToString","prototype","toString","nativeMax","Math","max","nativeMin","min","now","Date","isObject","value","type","toNumber","isObjectLike","call","isSymbol","other","valueOf","replace","isBinary","test","slice","module","exports","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","undefined","apply","leadingEdge","setTimeout","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","arguments","this","cancel","clearTimeout","flush","flarum","core","compat","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_inheritsLoose","subClass","superClass","create","constructor","shortnames","flatten","arr","depth","reduce","a","v","concat","Array","isArray","values","emojis","entries","toUnicodeEmoji","codePoint","String","fromCodePoint","split","map","e","emojiCache","Map","fuzzySet","useLevenshtein","gramSizeLower","gramSizeUpper","fuzzyset","exactSet","matchDict","items","_distance","str1","str2","distance","prev","current","i","length","j","charAt","pop","levenshtein","_nonWordRe","_gramCounter","gramSize","grams","simplified","toLowerCase","lenDiff","results","push","_iterateGrams","get","defaultValue","minMatchScore","_get","__get","gram","gramCount","index","otherGramCount","normalizedValue","_normalizeStr","matches","gramCounts","sumOfSquareGramCounts","pow","obj","prop","hasOwnProperty","isEmptyObject","matchScore","vectorNormal","sqrt","matchIndex","sortDescending","b","sort","newResults","endIndex","forEach","scoreWordPair","bind","add","_add","str","count","isEmpty","reactionOrIdentifier","score","query","identifier","has","includes","match","item","emoji","find","getEmoji","output","uc","url","set","PostReactedNotification","icon","href","app","attrs","notification","subject","content","JSON","parse","user","fromUser","reaction","src","loading","height","excerpt","contentPlain","Notification","Reaction","mixin","Model","display","enabled","user_id","post_id","reaction_id","PostReaction","userId","postId","reactionId","post","fetch","include","then","m","redraw","update","debounce","fn","val","acc","_extends","assign","target","source","key","ReactionComponent","view","extract","className","title","draggable","alt","classList","Component","PostReactAction","oninit","vnode","updateChosenReaction","oncreate","window","$","unbind","on","toggleClass","document","click","is","parents","removeClass","getReactions","ItemList","forum","reactions","onclick","react","id","groupedPostReactions","groupBy","getPostReactions","r","canReact","style","keys","store","getById","spanClass","Button","disabled","reactButton","number","listItems","toArray","translator","trans","class","width","viewBox","stroke","fill","x","y","d","transform","points","blur","session","alerts","show","originalPostReactions","save","postReaction","remove","data","relationships","ranks","attribute","likes","err","append","modal","LogInModal","postReactions","filter","all","ReactionsModal","groupedReactions","Boolean","load","avatar","username","method","apiEndpoint","params","response","loaded","Modal","Post","Forum","Discussion","extend","CommentPost","isHidden","some","component","PostControls","discussion","canSeeReactions","DiscussionPage","isInitialized","context","channels","main","NotificationGrid","name","label","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","definition","defineProperty","enumerable","g","globalThis","Symbol","toStringTag"],"sourceRoot":""} \ No newline at end of file