From fe3ad3b6aba6b6fe871c7622e3ea0766c207e888 Mon Sep 17 00:00:00 2001 From: ItsSelis Date: Mon, 20 Jun 2022 18:39:09 +0200 Subject: [PATCH] Chaplain, multiline stuff and decimals --- code/datums/managed_browsers/feedback_form.dm | 2 +- code/datums/mind.dm | 4 +- .../gamemodes/events/holidays/Holidays.dm | 2 +- code/game/jobs/job/civilian_chaplain.dm | 6 +-- code/game/machinery/newscaster.dm | 2 +- code/game/objects/items/devices/paicard.dm | 2 +- code/modules/admin/admin.dm | 6 +-- code/modules/admin/admin_memo.dm | 2 +- code/modules/admin/admin_report.dm | 2 +- code/modules/admin/news.dm | 2 +- code/modules/admin/topic.dm | 4 +- code/modules/admin/verbs/randomverbs.dm | 2 +- .../preference_setup/general/01_basic.dm | 2 +- .../preference_setup/general/06_flavor.dm | 8 +-- .../client/preference_setup/global/03_pai.dm | 4 +- .../preference_setup/loadout/gear_tweaks.dm | 2 +- .../client/preference_setup/vore/09_misc.dm | 2 +- .../client/verbs/character_directory.dm | 2 +- code/modules/mob/living/carbon/human/human.dm | 8 +-- code/modules/mob/living/living_vr.dm | 2 +- .../modules/mob/living/silicon/pai/recruit.dm | 4 +- code/modules/mob/mob.dm | 2 +- code/modules/mob/typing_indicator.dm | 8 +-- code/modules/nifsoft/nifsoft.dm | 2 +- code/modules/paperwork/adminpaper.dm | 2 +- code/modules/paperwork/paper.dm | 2 +- code/modules/pda/core_apps.dm | 2 +- .../tgui/modules/admin/player_notes.dm | 2 +- code/modules/tgui/modules/communications.dm | 4 +- code/modules/tgui_input/number.dm | 14 ++--- code/modules/tgui_input/text.dm | 12 ++--- code/modules/vore/eating/vorepanel_vr.dm | 54 +++++++++---------- .../tgui/components/RestrictedInput.js | 3 +- .../tgui/interfaces/TextInputModal.tsx | 10 ++-- tgui/public/tgui.bundle.js | 2 +- 35 files changed, 96 insertions(+), 93 deletions(-) diff --git a/code/datums/managed_browsers/feedback_form.dm b/code/datums/managed_browsers/feedback_form.dm index da7a028240a..c6160ffc598 100644 --- a/code/datums/managed_browsers/feedback_form.dm +++ b/code/datums/managed_browsers/feedback_form.dm @@ -99,7 +99,7 @@ GENERAL_PROTECT_DATUM(/datum/managed_browser/feedback_form) if(href_list["feedback_edit_body"]) // This is deliberately not sanitized here, and is instead checked when hitting the submission button, // as we want to give the user a chance to fix it without needing to rewrite the whole thing. - feedback_body = tgui_input_text(my_client, "Please write your feedback here.", "Feedback Body", feedback_body, multiline = TRUE) + feedback_body = tgui_input_text(my_client, "Please write your feedback here.", "Feedback Body", feedback_body, multiline = TRUE, prevent_enter = TRUE) display() // Refresh the window with new information. return diff --git a/code/datums/mind.dm b/code/datums/mind.dm index cad6befde4f..e4ec5954e26 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -190,7 +190,7 @@ assigned_role = new_role else if (href_list["memory_edit"]) - var/new_memo = sanitize(tgui_input_text(usr, "Write new memory", "Memory", memory, multiline = TRUE)) + var/new_memo = sanitize(tgui_input_text(usr, "Write new memory", "Memory", memory, multiline = TRUE, prevent_enter = TRUE)) if (isnull(new_memo)) return memory = new_memo @@ -198,7 +198,7 @@ var/datum/mind/mind = locate(href_list["amb_edit"]) if(!mind) return - var/new_ambition = tgui_input_text(usr, "Enter a new ambition", "Memory", mind.ambitions, multiline = TRUE) + var/new_ambition = tgui_input_text(usr, "Enter a new ambition", "Memory", mind.ambitions, multiline = TRUE, prevent_enter = TRUE) if(isnull(new_ambition)) return if(mind) diff --git a/code/game/gamemodes/events/holidays/Holidays.dm b/code/game/gamemodes/events/holidays/Holidays.dm index a95200adb7b..9b31ad9a50e 100644 --- a/code/game/gamemodes/events/holidays/Holidays.dm +++ b/code/game/gamemodes/events/holidays/Holidays.dm @@ -215,7 +215,7 @@ var/global/list/Holiday = list() //Holidays are lists now, so we can have more t Holiday = list() var/H = tgui_input_text(src,"What holiday is it today?","Set Holiday") - var/B = tgui_input_text(src,"Now explain what the holiday is about","Set Holiday", multiline = TRUE) + var/B = tgui_input_text(src,"Now explain what the holiday is about","Set Holiday", multiline = TRUE, prevent_enter = TRUE) Holiday[H] = B diff --git a/code/game/jobs/job/civilian_chaplain.dm b/code/game/jobs/job/civilian_chaplain.dm index 1d7cfd7f5e7..f811abf9572 100644 --- a/code/game/jobs/job/civilian_chaplain.dm +++ b/code/game/jobs/job/civilian_chaplain.dm @@ -38,7 +38,7 @@ /datum/job/chaplain/proc/religion_prompts(mob/living/carbon/human/H, obj/item/weapon/storage/bible/B, obj/item/weapon/card/id/I) var/religion_name = "Unitarianism" - var/new_religion = sanitize(tgui_input_text(H, "You are the crew services officer. Would you like to change your religion? Default is Unitarianism", "Name change", religion_name, MAX_NAME_LEN), MAX_NAME_LEN) + var/new_religion = sanitize(input(H, "You are the crew services officer. Would you like to change your religion? Default is Unitarianism", "Name change", religion_name), MAX_NAME_LEN) if(!new_religion) new_religion = religion_name @@ -79,12 +79,12 @@ B.name = "The Holy Book of [new_religion]" var/deity_name = "Hashem" - var/new_deity = sanitize(tgui_input_text(H, "Would you like to change your deity? Default is Hashem", "Name change", deity_name, MAX_NAME_LEN), MAX_NAME_LEN) + var/new_deity = sanitize(input(H, "Would you like to change your deity? Default is Hashem", "Name change", deity_name), MAX_NAME_LEN) if((length(new_deity) == 0) || (new_deity == "Hashem")) new_deity = deity_name - var/new_title = sanitize(tgui_input_text(H, "Would you like to change your title?", "Title Change", I.assignment, MAX_NAME_LEN), MAX_NAME_LEN) + var/new_title = sanitize(input(H, "Would you like to change your title?", "Title Change", I.assignment), MAX_NAME_LEN) var/list/all_jobs = get_job_datums() diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index a6aebb59eda..d1149771b1b 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -447,7 +447,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) return TRUE if("set_new_message") - msg = sanitize(tgui_input_text(usr, "Write your Feed story", "Network Channel Handler", multiline = TRUE)) + msg = sanitize(tgui_input_text(usr, "Write your Feed story", "Network Channel Handler", multiline = TRUE, prevent_enter = TRUE)) return TRUE if("set_new_title") diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index cd73303a734..81b9b0d61c8 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -331,7 +331,7 @@ GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/device/paicard) if(2) radio.ToggleReception() if(href_list["setlaws"]) - var/newlaws = sanitize(tgui_input_text(usr, "Enter any additional directives you would like your pAI personality to follow. Note that these directives will not override the personality's allegiance to its imprinted master. Conflicting directives will be ignored.", "pAI Directive Configuration", pai.pai_laws, multiline = TRUE)) + var/newlaws = sanitize(tgui_input_text(usr, "Enter any additional directives you would like your pAI personality to follow. Note that these directives will not override the personality's allegiance to its imprinted master. Conflicting directives will be ignored.", "pAI Directive Configuration", pai.pai_laws, multiline = TRUE, prevent_enter = TRUE)) if(newlaws) pai.pai_laws = newlaws to_chat(pai, "Your supplemental directives have been updated. Your new directives are:") diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 67df19e9438..e8bfad6c0c7 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -617,7 +617,7 @@ var/global/floorIsLava = 0 set desc="Announce your desires to the world" if(!check_rights(0)) return - var/message = tgui_input_text(usr, "Global message to send:", "Admin Announce", multiline = TRUE) + var/message = tgui_input_text(usr, "Global message to send:", "Admin Announce", multiline = TRUE, prevent_enter = TRUE) if(message) if(!check_rights(R_SERVER,0)) message = sanitize(message, 500, extra = 0) @@ -642,7 +642,7 @@ var/datum/announcement/minor/admin_min_announcer = new if(sender) //They put a sender sender = sanitize(sender, 75, extra = 0) - var/message = tgui_input_text(usr, "Message content (max 500):", "Contents", "This is a test of the announcement system.", multiline = TRUE) + var/message = tgui_input_text(usr, "Message content (max 500):", "Contents", "This is a test of the announcement system.", multiline = TRUE, prevent_enter = TRUE) var/msgverb = tgui_input_text(usr, "Name of verb (Such as 'states', 'says', 'asks', etc):", "Verb", "says") if(message) //They put a message message = sanitize(message, 500, extra = 0) @@ -681,7 +681,7 @@ var/datum/announcement/minor/admin_min_announcer = new The above will result in those messages playing, with a 5 second gap between each. Maximum of 20 messages allowed.") var/list/decomposed - var/message = tgui_input_text(usr,"See your chat box for instructions. Keep a copy elsewhere in case it is rejected when you click OK.", "Input Conversation", "", multiline = TRUE) + var/message = tgui_input_text(usr,"See your chat box for instructions. Keep a copy elsewhere in case it is rejected when you click OK.", "Input Conversation", "", multiline = TRUE, prevent_enter = TRUE) if(!message) return diff --git a/code/modules/admin/admin_memo.dm b/code/modules/admin/admin_memo.dm index ba15e99c2d2..e305c83b5ac 100644 --- a/code/modules/admin/admin_memo.dm +++ b/code/modules/admin/admin_memo.dm @@ -18,7 +18,7 @@ /client/proc/admin_memo_write() var/savefile/F = new(MEMOFILE) if(F) - var/memo = sanitize(tgui_input_text(src,"Type your memo\n(Leaving it blank will delete your current memo):","Write Memo",null, multiline = TRUE), extra = 0) + var/memo = sanitize(tgui_input_text(src,"Type your memo\n(Leaving it blank will delete your current memo):","Write Memo",null, multiline = TRUE, prevent_enter = TRUE), extra = 0) switch(memo) if(null) return diff --git a/code/modules/admin/admin_report.dm b/code/modules/admin/admin_report.dm index db87c39c716..bc1adbcfdcd 100644 --- a/code/modules/admin/admin_report.dm +++ b/code/modules/admin/admin_report.dm @@ -174,7 +174,7 @@ world/New() if(!found) to_chat(src, "* An error occured, sorry.") - var/body = tgui_input_text(src.mob, "Enter a body for the news", "Body", multiline = TRUE) + var/body = tgui_input_text(src.mob, "Enter a body for the news", "Body", multiline = TRUE, prevent_enter = TRUE) if(!body) return found.body = body diff --git a/code/modules/admin/news.dm b/code/modules/admin/news.dm index 3a518bdef0e..c0812b818e5 100644 --- a/code/modules/admin/news.dm +++ b/code/modules/admin/news.dm @@ -28,7 +28,7 @@ var/new_body = sanitize(tgui_input_text(src,"Write the body of the news update here. Note: HTML is NOT supported, however paper markup is supported. \n\ Hitting enter will automatically add a line break. \n\ Valid markup includes: \[b\], \[i\], \[u\], \[large\], \[h1\], \[h2\], \[h3\]\ \[*\], \[hr\], \[small\], \[list\], \[table\], \[grid\], \ - \[row\], \[cell\], \[logo\], \[sglogo\].","Write News", body, multiline = TRUE), extra = 0) + \[row\], \[cell\], \[logo\], \[sglogo\].","Write News", body, multiline = TRUE, prevent_enter = TRUE), extra = 0) new_body = paper_markup2html(new_body) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index b7d90021abf..1f175447fe4 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -846,7 +846,7 @@ if (ismob(M)) if(!check_if_greater_rights_than(M.client)) return - var/reason = sanitize(tgui_input_text(usr, "Please enter reason.", multiline = TRUE)) + var/reason = sanitize(tgui_input_text(usr, "Please enter reason.", multiline = TRUE, prevent_enter = TRUE)) if(!reason) return @@ -1821,7 +1821,7 @@ src.access_news_network() else if(href_list["ac_set_new_message"]) - src.admincaster_feed_message.body = sanitize(tgui_input_text(usr, "Write your Feed story", "Network Channel Handler", "", multiline = TRUE)) + src.admincaster_feed_message.body = sanitize(tgui_input_text(usr, "Write your Feed story", "Network Channel Handler", "", multiline = TRUE, prevent_enter = TRUE)) src.access_news_network() else if(href_list["ac_submit_new_message"]) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 850f4f6e25d..90cd3ae0371 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -627,7 +627,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!holder) return - var/input = sanitize(tgui_input_text(usr, "Please enter anything you want. Anything. Serious.", "What?", "", multiline = TRUE), extra = 0) + var/input = sanitize(tgui_input_text(usr, "Please enter anything you want. Anything. Serious.", "What?", "", multiline = TRUE, prevent_enter = TRUE), extra = 0) var/customname = sanitizeSafe(tgui_input_text(usr, "Pick a title for the report.", "Title")) if(!input) return diff --git a/code/modules/client/preference_setup/general/01_basic.dm b/code/modules/client/preference_setup/general/01_basic.dm index 1bf1a03bd26..e3505834e4b 100644 --- a/code/modules/client/preference_setup/general/01_basic.dm +++ b/code/modules/client/preference_setup/general/01_basic.dm @@ -140,7 +140,7 @@ return TOPIC_REFRESH else if(href_list["metadata"]) - var/new_metadata = sanitize(tgui_input_text(user, "Enter any information you'd like others to see, such as Roleplay-preferences:", "Game Preference" , html_decode(pref.metadata), multiline = TRUE), extra = 0) //VOREStation Edit + var/new_metadata = sanitize(tgui_input_text(user, "Enter any information you'd like others to see, such as Roleplay-preferences:", "Game Preference" , html_decode(pref.metadata), multiline = TRUE, prevent_enter = TRUE), extra = 0) //VOREStation Edit if(new_metadata && CanUseTopic(user)) pref.metadata = new_metadata return TOPIC_REFRESH diff --git a/code/modules/client/preference_setup/general/06_flavor.dm b/code/modules/client/preference_setup/general/06_flavor.dm index 7f5e95f69ba..aaee96959dd 100644 --- a/code/modules/client/preference_setup/general/06_flavor.dm +++ b/code/modules/client/preference_setup/general/06_flavor.dm @@ -59,11 +59,11 @@ switch(href_list["flavor_text"]) if("open") if("general") - var/msg = sanitize(tgui_input_text(usr,"Give a general description of your character. This will be shown regardless of clothings.","Flavor Text",html_decode(pref.flavor_texts[href_list["flavor_text"]]), multiline = TRUE), extra = 0) //VOREStation Edit: separating out OOC notes + var/msg = sanitize(tgui_input_text(usr,"Give a general description of your character. This will be shown regardless of clothings.","Flavor Text",html_decode(pref.flavor_texts[href_list["flavor_text"]]), multiline = TRUE, prevent_enter = TRUE), extra = 0) //VOREStation Edit: separating out OOC notes if(CanUseTopic(user)) pref.flavor_texts[href_list["flavor_text"]] = msg else - var/msg = sanitize(tgui_input_text(usr,"Set the flavor text for your [href_list["flavor_text"]].","Flavor Text",html_decode(pref.flavor_texts[href_list["flavor_text"]]), multiline = TRUE), extra = 0) + var/msg = sanitize(tgui_input_text(usr,"Set the flavor text for your [href_list["flavor_text"]].","Flavor Text",html_decode(pref.flavor_texts[href_list["flavor_text"]]), multiline = TRUE, prevent_enter = TRUE), extra = 0) if(CanUseTopic(user)) pref.flavor_texts[href_list["flavor_text"]] = msg SetFlavorText(user) @@ -73,11 +73,11 @@ switch(href_list["flavour_text_robot"]) if("open") if("Default") - var/msg = sanitize(tgui_input_text(usr,"Set the default flavour text for your robot. It will be used for any module without individual setting.","Flavour Text",html_decode(pref.flavour_texts_robot["Default"]), multiline = TRUE), extra = 0) + var/msg = sanitize(tgui_input_text(usr,"Set the default flavour text for your robot. It will be used for any module without individual setting.","Flavour Text",html_decode(pref.flavour_texts_robot["Default"]), multiline = TRUE, prevent_enter = TRUE), extra = 0) if(CanUseTopic(user)) pref.flavour_texts_robot[href_list["flavour_text_robot"]] = msg else - var/msg = sanitize(tgui_input_text(usr,"Set the flavour text for your robot with [href_list["flavour_text_robot"]] module. If you leave this empty, default flavour text will be used for this module.","Flavour Text",html_decode(pref.flavour_texts_robot[href_list["flavour_text_robot"]]), multiline = TRUE), extra = 0) + var/msg = sanitize(tgui_input_text(usr,"Set the flavour text for your robot with [href_list["flavour_text_robot"]] module. If you leave this empty, default flavour text will be used for this module.","Flavour Text",html_decode(pref.flavour_texts_robot[href_list["flavour_text_robot"]]), multiline = TRUE, prevent_enter = TRUE), extra = 0) if(CanUseTopic(user)) pref.flavour_texts_robot[href_list["flavour_text_robot"]] = msg SetFlavourTextRobot(user) diff --git a/code/modules/client/preference_setup/global/03_pai.dm b/code/modules/client/preference_setup/global/03_pai.dm index 0fdbf3dc58b..c4d81e552b0 100644 --- a/code/modules/client/preference_setup/global/03_pai.dm +++ b/code/modules/client/preference_setup/global/03_pai.dm @@ -46,7 +46,7 @@ if(t && CanUseTopic(user)) candidate.name = t if("desc") - t = tgui_input_text(user, "Enter a description for your pAI", "Global Preference", html_decode(candidate.description), multiline = TRUE) + t = tgui_input_text(user, "Enter a description for your pAI", "Global Preference", html_decode(candidate.description), multiline = TRUE, prevent_enter = TRUE) if(!isnull(t) && CanUseTopic(user)) candidate.description = sanitize(t) if("role") @@ -54,7 +54,7 @@ if(!isnull(t) && CanUseTopic(user)) candidate.role = sanitize(t) if("ooc") - t = tgui_input_text(user, "Enter any OOC comments", "Global Preference", html_decode(candidate.comments), multiline = TRUE) + t = tgui_input_text(user, "Enter any OOC comments", "Global Preference", html_decode(candidate.comments), multiline = TRUE, prevent_enter = TRUE) if(!isnull(t) && CanUseTopic(user)) candidate.comments = sanitize(t) return TOPIC_REFRESH diff --git a/code/modules/client/preference_setup/loadout/gear_tweaks.dm b/code/modules/client/preference_setup/loadout/gear_tweaks.dm index b7cd2b53669..ed5306412b6 100644 --- a/code/modules/client/preference_setup/loadout/gear_tweaks.dm +++ b/code/modules/client/preference_setup/loadout/gear_tweaks.dm @@ -204,7 +204,7 @@ var/datum/gear_tweak/custom_desc/gear_tweak_free_desc = new() return if(valid_custom_desc) return tgui_input_list(user, "Choose an item description.", "Character Preference",valid_custom_desc, metadata) - var/san_input = sanitize(tgui_input_text(user, "Choose the item's description. Leave it blank to use the default description.", "Item Description", metadata, multiline = TRUE), extra = 0) + var/san_input = sanitize(tgui_input_text(user, "Choose the item's description. Leave it blank to use the default description.", "Item Description", metadata, multiline = TRUE, prevent_enter = TRUE), extra = 0) return san_input ? san_input : get_default() /datum/gear_tweak/custom_desc/tweak_item(var/obj/item/I, var/metadata) diff --git a/code/modules/client/preference_setup/vore/09_misc.dm b/code/modules/client/preference_setup/vore/09_misc.dm index d8937a30ebe..94fe6b01532 100644 --- a/code/modules/client/preference_setup/vore/09_misc.dm +++ b/code/modules/client/preference_setup/vore/09_misc.dm @@ -58,7 +58,7 @@ pref.directory_erptag = new_erptag return TOPIC_REFRESH else if(href_list["directory_ad"]) - var/msg = sanitize(tgui_input_text(user,"Write your advertisement here!", "Flavor Text", html_decode(pref.directory_ad), multiline = TRUE), extra = 0) //VOREStation Edit: separating out OOC notes + var/msg = sanitize(tgui_input_text(user,"Write your advertisement here!", "Flavor Text", html_decode(pref.directory_ad), multiline = TRUE, prevent_enter = TRUE), extra = 0) //VOREStation Edit: separating out OOC notes pref.directory_ad = msg return TOPIC_REFRESH else if(href_list["toggle_sensor_setting"]) diff --git a/code/modules/client/verbs/character_directory.dm b/code/modules/client/verbs/character_directory.dm index 58209135727..8e7162cc783 100644 --- a/code/modules/client/verbs/character_directory.dm +++ b/code/modules/client/verbs/character_directory.dm @@ -137,7 +137,7 @@ GLOBAL_DATUM(character_directory, /datum/character_directory) return var/current_ad = usr.client.prefs.directory_ad - var/new_ad = sanitize(tgui_input_text(usr, "Change your character ad", "Character Ad", current_ad, multiline = TRUE), extra = 0) + var/new_ad = sanitize(tgui_input_text(usr, "Change your character ad", "Character Ad", current_ad, multiline = TRUE, prevent_enter = TRUE), extra = 0) if(isnull(new_ad)) return usr.client.prefs.directory_ad = new_ad diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 692a3cb42fb..5a53c06e70e 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -438,7 +438,7 @@ for (var/datum/data/record/R in data_core.security) if (R.fields["id"] == E.fields["id"]) if(hasHUD(usr,"security")) - var/t1 = sanitize(tgui_input_text(usr, "Add Comment:", "Sec. records", null, null, multiline = TRUE)) + var/t1 = sanitize(tgui_input_text(usr, "Add Comment:", "Sec. records", null, null, multiline = TRUE, prevent_enter = TRUE)) if ( !(t1) || usr.stat || usr.restrained() || !(hasHUD(usr,"security")) ) return var/counter = 1 @@ -555,7 +555,7 @@ for (var/datum/data/record/R in data_core.medical) if (R.fields["id"] == E.fields["id"]) if(hasHUD(usr,"medical")) - var/t1 = sanitize(tgui_input_text(usr, "Add Comment:", "Med. records", null, null, multiline = TRUE)) + var/t1 = sanitize(tgui_input_text(usr, "Add Comment:", "Med. records", null, null, multiline = TRUE, prevent_enter = TRUE)) if ( !(t1) || usr.stat || usr.restrained() || !(hasHUD(usr,"medical")) ) return var/counter = 1 @@ -587,11 +587,11 @@ src << browse(null, "window=flavor_changes") return if("general") - var/msg = sanitize(tgui_input_text(usr,"Update the general description of your character. This will be shown regardless of clothing.","Flavor Text",html_decode(flavor_texts[href_list["flavor_change"]]), multiline = TRUE), extra = 0) //VOREStation Edit: separating out OOC notes + var/msg = sanitize(tgui_input_text(usr,"Update the general description of your character. This will be shown regardless of clothing.","Flavor Text",html_decode(flavor_texts[href_list["flavor_change"]]), multiline = TRUE, prevent_enter = TRUE), extra = 0) //VOREStation Edit: separating out OOC notes flavor_texts[href_list["flavor_change"]] = msg return else - var/msg = sanitize(tgui_input_text(usr,"Update the flavor text for your [href_list["flavor_change"]].","Flavor Text",html_decode(flavor_texts[href_list["flavor_change"]]), multiline = TRUE), extra = 0) + var/msg = sanitize(tgui_input_text(usr,"Update the flavor text for your [href_list["flavor_change"]].","Flavor Text",html_decode(flavor_texts[href_list["flavor_change"]]), multiline = TRUE, prevent_enter = TRUE), extra = 0) flavor_texts[href_list["flavor_change"]] = msg set_flavor() return diff --git a/code/modules/mob/living/living_vr.dm b/code/modules/mob/living/living_vr.dm index ee2ecc04d74..dc84b64e687 100644 --- a/code/modules/mob/living/living_vr.dm +++ b/code/modules/mob/living/living_vr.dm @@ -27,7 +27,7 @@ set desc = "Sets OOC notes about yourself or your RP preferences or status." set category = "OOC" - var/new_metadata = sanitize(tgui_input_text(usr, "Enter any information you'd like others to see, such as Roleplay-preferences. This will not be saved permanently, only for this round.", "Game Preference" , html_decode(ooc_notes), multiline = TRUE), extra = 0) + var/new_metadata = sanitize(tgui_input_text(usr, "Enter any information you'd like others to see, such as Roleplay-preferences. This will not be saved permanently, only for this round.", "Game Preference" , html_decode(ooc_notes), , prevent_enter = TRUE), extra = 0) if(new_metadata && CanUseTopic(usr)) ooc_notes = new_metadata to_chat(usr, "OOC notes updated.") diff --git a/code/modules/mob/living/silicon/pai/recruit.dm b/code/modules/mob/living/silicon/pai/recruit.dm index a8b457aa10d..a6365e45858 100644 --- a/code/modules/mob/living/silicon/pai/recruit.dm +++ b/code/modules/mob/living/silicon/pai/recruit.dm @@ -73,7 +73,7 @@ var/datum/paiController/paiController // Global handler for pAI candidates if(t) candidate.name = t if("desc") - t = tgui_input_text(usr, "Enter a description for your pAI", "pAI Description", candidate.description, multiline = TRUE) + t = tgui_input_text(usr, "Enter a description for your pAI", "pAI Description", candidate.description, multiline = TRUE, prevent_enter = TRUE) if(t) candidate.description = sanitize(t) if("role") @@ -81,7 +81,7 @@ var/datum/paiController/paiController // Global handler for pAI candidates if(t) candidate.role = sanitize(t) if("ooc") - t = tgui_input_text(usr, "Enter any OOC comments", "pAI OOC Comments", candidate.comments, multiline = TRUE) + t = tgui_input_text(usr, "Enter any OOC comments", "pAI OOC Comments", candidate.comments, multiline = TRUE, prevent_enter = TRUE) if(t) candidate.comments = sanitize(t) if("save") diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 9fbd520134a..e8a847a4a70 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -293,7 +293,7 @@ set src in usr if(usr != src) to_chat(usr, "No.") - var/msg = sanitize(tgui_input_text(usr,"Set the flavor text in your 'examine' verb.","Flavor Text",html_decode(flavor_text), multiline = TRUE), extra = 0) //VOREStation Edit: separating out OOC notes + var/msg = sanitize(tgui_input_text(usr,"Set the flavor text in your 'examine' verb.","Flavor Text",html_decode(flavor_text), multiline = TRUE, prevent_enter = TRUE), extra = 0) //VOREStation Edit: separating out OOC notes if(msg != null) flavor_text = msg diff --git a/code/modules/mob/typing_indicator.dm b/code/modules/mob/typing_indicator.dm index fa70670ac11..197e472e920 100644 --- a/code/modules/mob/typing_indicator.dm +++ b/code/modules/mob/typing_indicator.dm @@ -40,7 +40,7 @@ set hidden = 1 set_typing_indicator(TRUE) - var/message = tgui_input_text(usr, "Type your message:", "Say", enter_submit = TRUE) + var/message = tgui_input_text(usr, "Type your message:", "Say") set_typing_indicator(FALSE) if(message) @@ -51,7 +51,7 @@ set hidden = 1 set_typing_indicator(TRUE) - var/message = tgui_input_text(usr, "Type your message:", "Emote", multiline = TRUE, enter_submit = TRUE) + var/message = tgui_input_text(usr, "Type your message:", "Emote", multiline = TRUE) set_typing_indicator(FALSE) if(message) @@ -62,7 +62,7 @@ set name = ".Whisper" set hidden = 1 - var/message = tgui_input_text(usr, "Type your message:", "Whisper", enter_submit = TRUE) + var/message = tgui_input_text(usr, "Type your message:", "Whisper") if(message) whisper(message) @@ -71,7 +71,7 @@ set name = ".Subtle" set hidden = 1 - var/message = tgui_input_text(usr, "Type your message:", "Subtle", multiline = TRUE, enter_submit = TRUE) + var/message = tgui_input_text(usr, "Type your message:", "Subtle", multiline = TRUE) if(message) me_verb_subtle(message) diff --git a/code/modules/nifsoft/nifsoft.dm b/code/modules/nifsoft/nifsoft.dm index 64e6772a362..f4f3135b8ea 100644 --- a/code/modules/nifsoft/nifsoft.dm +++ b/code/modules/nifsoft/nifsoft.dm @@ -263,7 +263,7 @@ ..(A,user,flag,params) /obj/item/weapon/disk/nifsoft/compliance/attack_self(mob/user) - var/newlaws = tgui_input_text(user, "Please Input Laws", "Compliance Laws", laws, multiline = TRUE) + var/newlaws = tgui_input_text(user, "Please Input Laws", "Compliance Laws", laws, multiline = TRUE, prevent_enter = TRUE) newlaws = sanitize(newlaws,2048) if(newlaws) to_chat(user,"You set the laws to:
[newlaws]") diff --git a/code/modules/paperwork/adminpaper.dm b/code/modules/paperwork/adminpaper.dm index 91d3fe241ca..ec906ca3ade 100644 --- a/code/modules/paperwork/adminpaper.dm +++ b/code/modules/paperwork/adminpaper.dm @@ -87,7 +87,7 @@ to_chat(usr, "There isn't enough space left on \the [src] to write anything.") return - var/raw_t = tgui_input_text(usr, "Enter what you want to write:", "Write", multiline = TRUE) + var/raw_t = tgui_input_text(usr, "Enter what you want to write:", "Write", multiline = TRUE, prevent_enter = TRUE) if(!raw_t) return var/t = sanitize(raw_t, free_space, extra = 0) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index e25e5f88a3c..07f062dc3b3 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -431,7 +431,7 @@ to_chat(usr, "There isn't enough space left on \the [src] to write anything.") return - var/raw = tgui_input_text(usr, "Enter what you want to write:", "Write", multiline = TRUE) + var/raw = tgui_input_text(usr, "Enter what you want to write:", "Write", multiline = TRUE, prevent_enter = TRUE) if(!raw) return diff --git a/code/modules/pda/core_apps.dm b/code/modules/pda/core_apps.dm index f15c07bfff8..d140faed5c7 100644 --- a/code/modules/pda/core_apps.dm +++ b/code/modules/pda/core_apps.dm @@ -62,7 +62,7 @@ return TRUE switch(action) if("Edit") - var/n = tgui_input_text(usr, "Please enter message", name, notehtml, multiline = TRUE) + var/n = tgui_input_text(usr, "Please enter message", name, notehtml, multiline = TRUE, prevent_enter = TRUE) if(pda.loc == usr) note = adminscrub(n) notehtml = html_decode(note) diff --git a/code/modules/tgui/modules/admin/player_notes.dm b/code/modules/tgui/modules/admin/player_notes.dm index ce17eb043d8..d5765db381f 100644 --- a/code/modules/tgui/modules/admin/player_notes.dm +++ b/code/modules/tgui/modules/admin/player_notes.dm @@ -118,7 +118,7 @@ if("add_player_info") var/key = params["ckey"] - var/add = tgui_input_text(usr, "Write your comment below.", "Add Player Info", multiline = TRUE) + var/add = tgui_input_text(usr, "Write your comment below.", "Add Player Info", multiline = TRUE, prevent_enter = TRUE) if(!add) return notes_add(key,add,usr) diff --git a/code/modules/tgui/modules/communications.dm b/code/modules/tgui/modules/communications.dm index 8138f6f75a2..10429d53cc6 100644 --- a/code/modules/tgui/modules/communications.dm +++ b/code/modules/tgui/modules/communications.dm @@ -260,7 +260,7 @@ if(message_cooldown > world.time) to_chat(usr, "Please allow at least one minute to pass between announcements.") return - var/input = tgui_input_text(usr, "Please write a message to announce to the station crew.", "Priority Announcement", multiline = TRUE) + var/input = tgui_input_text(usr, "Please write a message to announce to the station crew.", "Priority Announcement", multiline = TRUE, prevent_enter = TRUE) if(!input || message_cooldown > world.time || ..() || !(is_authenticated(usr) == COMM_AUTHENTICATION_MAX)) return if(length(input) < COMM_MSGLEN_MINIMUM) @@ -340,7 +340,7 @@ var/input = sanitize(tgui_input_text(usr, "Please choose a message to transmit to [using_map.boss_short] via quantum entanglement. \ Please be aware that this process is very expensive, and abuse will lead to... termination. \ Transmission does not guarantee a response. \ - There is a 30 second delay before you may send another message, be clear, full and concise.", "Central Command Quantum Messaging", multiline = TRUE)) + There is a 30 second delay before you may send another message, be clear, full and concise.", "Central Command Quantum Messaging", multiline = TRUE, prevent_enter = TRUE)) if(!input || ..() || !(is_authenticated(usr) == COMM_AUTHENTICATION_MAX)) return if(length(input) < COMM_CCMSGLEN_MINIMUM) diff --git a/code/modules/tgui_input/number.dm b/code/modules/tgui_input/number.dm index 1ce862943f2..52fa35d77df 100644 --- a/code/modules/tgui_input/number.dm +++ b/code/modules/tgui_input/number.dm @@ -15,7 +15,7 @@ * * timeout - The timeout of the number input, after which the modal will close and qdel itself. Set to zero for no timeout. * * round_value - whether the inputted number is rounded down into an integer. */ -/proc/tgui_input_number(mob/user, message, title = "Number Input", default = 0, max_value = 10000, min_value = -10000, timeout = 0, round_value = FALSE) +/proc/tgui_input_number(mob/user, message, title = "Number Input", default = 0, max_value = INFINITY, min_value = -INFINITY, timeout = 0, round_value = FALSE) if (!user) user = usr if (!istype(user)) @@ -135,7 +135,8 @@ if("submit") if(!isnum(params["entry"])) CRASH("A non number was input into tgui input number by [usr]") - var/choice = round_value ? round(params["entry"]) : params["entry"] + //var/choice = round_value ? round(params["entry"]) : params["entry"] + var/choice = params["entry"] if(choice > max_value) CRASH("A number greater than the max value was input into tgui input number by [usr]") if(choice < min_value) @@ -163,8 +164,9 @@ * * default - The default value pre-populated in the input box. * * callback - The callback to be invoked when a choice is made. * * timeout - The timeout of the input box, after which the menu will close and qdel itself. Set to zero for no timeout. + * * round_value - whether the inputted number is rounded down into an integer. */ -/proc/tgui_input_number_async(mob/user, message, title, default, datum/callback/callback, timeout = 60 SECONDS) +/proc/tgui_input_number_async(mob/user, message, title, default, datum/callback/callback, timeout = 60 SECONDS, round_value = FALSE) if (istext(user)) stack_trace("tgui_input_num_async() received text for user instead of mob") return @@ -176,7 +178,7 @@ user = client.mob else return - var/datum/tgui_input_number/async/input = new(user, message, title, default, callback, timeout) + var/datum/tgui_input_number/async/input = new(user, message, title, default, callback, timeout, round_value) input.tgui_interact(user) /** @@ -188,8 +190,8 @@ /// The callback to be invoked by the tgui_text_input upon having a choice made. var/datum/callback/callback -/datum/tgui_input_number/async/New(mob/user, message, title, default, callback, timeout) - ..(user, title, message, default, timeout) +/datum/tgui_input_number/async/New(mob/user, message, title, default, callback, timeout, round_value) + ..(user, title, message, default, timeout, round_value) src.callback = callback /datum/tgui_input_number/async/Destroy(force, ...) diff --git a/code/modules/tgui_input/text.dm b/code/modules/tgui_input/text.dm index e1bd5b558ec..5ae21fdb577 100644 --- a/code/modules/tgui_input/text.dm +++ b/code/modules/tgui_input/text.dm @@ -15,7 +15,7 @@ * * encode - Toggling this determines if input is filtered via html_encode. Setting this to FALSE gives raw input. * * timeout - The timeout of the textbox, after which the modal will close and qdel itself. Set to zero for no timeout. */ -/proc/tgui_input_text(mob/user, message = "", title = "Text Input", default, max_length = MAX_MESSAGE_LEN, multiline = FALSE, encode = FALSE, timeout = 0, enter_submit = FALSE) +/proc/tgui_input_text(mob/user, message = "", title = "Text Input", default, max_length = MAX_MESSAGE_LEN, multiline = FALSE, encode = FALSE, timeout = 0, prevent_enter = FALSE) if (istext(user)) stack_trace("tgui_input_text() received text for user instead of mob") return @@ -39,7 +39,7 @@ return input(user, message, title, default) as message|null else return input(user, message, title, default) as text|null - var/datum/tgui_input_text/text_input = new(user, message, title, default, max_length, multiline, encode, timeout, enter_submit) + var/datum/tgui_input_text/text_input = new(user, message, title, default, max_length, multiline, encode, timeout, prevent_enter) text_input.tgui_interact(user) text_input.wait() if (text_input) @@ -74,9 +74,9 @@ /// The title of the TGUI window var/title - var/enter_submit + var/prevent_enter -/datum/tgui_input_text/New(mob/user, message, title, default, max_length, multiline, encode, timeout, enter_submit) +/datum/tgui_input_text/New(mob/user, message, title, default, max_length, multiline, encode, timeout, prevent_enter) src.default = default src.encode = encode src.max_length = max_length @@ -87,7 +87,7 @@ src.timeout = timeout start_time = world.time QDEL_IN(src, timeout) - src.enter_submit = enter_submit + src.prevent_enter = prevent_enter /datum/tgui_input_text/Destroy(force, ...) SStgui.close_uis(src) @@ -123,7 +123,7 @@ data["placeholder"] = default // Default is a reserved keyword data["swapped_buttons"] = !usr.client.prefs.tgui_swapped_buttons data["title"] = title - data["enter_submit"] = enter_submit + data["prevent_enter"] = prevent_enter return data /datum/tgui_input_text/tgui_data(mob/user) diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index 3ff9996af77..0a623182bd1 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -734,7 +734,7 @@ host.vore_selected.egg_type = new_egg_type . = TRUE if("b_desc") - var/new_desc = html_encode(tgui_input_text(usr,"Belly Description, '%pred' will be replaced with your name. '%prey' will be replaced with the prey's name. '%belly' will be replaced with your belly's name. ([BELLIES_DESC_MAX] char limit):","New Description",host.vore_selected.desc, multiline = TRUE)) + var/new_desc = html_encode(tgui_input_text(usr,"Belly Description, '%pred' will be replaced with your name. '%prey' will be replaced with the prey's name. '%belly' will be replaced with your belly's name. ([BELLIES_DESC_MAX] char limit):","New Description",host.vore_selected.desc, multiline = TRUE, prevent_enter = TRUE)) if(new_desc) new_desc = readd_quotes(new_desc) @@ -744,7 +744,7 @@ host.vore_selected.desc = new_desc . = TRUE if("b_absorbed_desc") - var/new_desc = html_encode(tgui_input_text(usr,"Belly Description for absorbed prey, '%pred' will be replaced with your name. '%prey' will be replaced with the prey's name. '%belly' will be replaced with your belly's name. ([BELLIES_DESC_MAX] char limit):","New Description",host.vore_selected.absorbed_desc, multiline = TRUE)) + var/new_desc = html_encode(tgui_input_text(usr,"Belly Description for absorbed prey, '%pred' will be replaced with your name. '%prey' will be replaced with the prey's name. '%belly' will be replaced with your belly's name. ([BELLIES_DESC_MAX] char limit):","New Description",host.vore_selected.absorbed_desc, multiline = TRUE, prevent_enter = TRUE)) if(new_desc) new_desc = readd_quotes(new_desc) @@ -758,62 +758,62 @@ var/help = " Press enter twice to separate messages. '%pred' will be replaced with your name. '%prey' will be replaced with the prey's name. '%belly' will be replaced with your belly's name. '%count' will be replaced with the number of anything in your belly. '%countprey' will be replaced with the number of living prey in your belly." switch(params["msgtype"]) if("dmp") - var/new_message = tgui_input_text(user,"These are sent to prey when they expire. Write them in 2nd person ('you feel X'). Avoid using %prey in this type."+help,"Digest Message (to prey)",host.vore_selected.get_messages("dmp"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to prey when they expire. Write them in 2nd person ('you feel X'). Avoid using %prey in this type."+help,"Digest Message (to prey)",host.vore_selected.get_messages("dmp"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"dmp") if("dmo") - var/new_message = tgui_input_text(user,"These are sent to you when prey expires in you. Write them in 2nd person ('you feel X'). Avoid using %pred in this type."+help,"Digest Message (to you)",host.vore_selected.get_messages("dmo"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to you when prey expires in you. Write them in 2nd person ('you feel X'). Avoid using %pred in this type."+help,"Digest Message (to you)",host.vore_selected.get_messages("dmo"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"dmo") if("amp") - var/new_message = tgui_input_text(user,"These are sent to prey when their absorption finishes. Write them in 2nd person ('you feel X'). Avoid using %prey in this type. %count will not work for this type, and %countprey will only count absorbed victims."+help,"Digest Message (to prey)",host.vore_selected.get_messages("amp"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to prey when their absorption finishes. Write them in 2nd person ('you feel X'). Avoid using %prey in this type. %count will not work for this type, and %countprey will only count absorbed victims."+help,"Digest Message (to prey)",host.vore_selected.get_messages("amp"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"amp") if("amo") - var/new_message = tgui_input_text(user,"These are sent to you when prey's absorption finishes. Write them in 2nd person ('you feel X'). Avoid using %pred in this type. %count will not work for this type, and %countprey will only count absorbed victims."+help,"Digest Message (to you)",host.vore_selected.get_messages("amo"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to you when prey's absorption finishes. Write them in 2nd person ('you feel X'). Avoid using %pred in this type. %count will not work for this type, and %countprey will only count absorbed victims."+help,"Digest Message (to you)",host.vore_selected.get_messages("amo"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"amo") if("uamp") - var/new_message = tgui_input_text(user,"These are sent to prey when their unnabsorption finishes. Write them in 2nd person ('you feel X'). Avoid using %prey in this type. %count will not work for this type, and %countprey will only count absorbed victims."+help,"Digest Message (to prey)",host.vore_selected.get_messages("uamp"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to prey when their unnabsorption finishes. Write them in 2nd person ('you feel X'). Avoid using %prey in this type. %count will not work for this type, and %countprey will only count absorbed victims."+help,"Digest Message (to prey)",host.vore_selected.get_messages("uamp"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"uamp") if("uamo") - var/new_message = tgui_input_text(user,"These are sent to you when prey's unabsorption finishes. Write them in 2nd person ('you feel X'). Avoid using %pred in this type. %count will not work for this type, and %countprey will only count absorbed victims."+help,"Digest Message (to you)",host.vore_selected.get_messages("uamo"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to you when prey's unabsorption finishes. Write them in 2nd person ('you feel X'). Avoid using %pred in this type. %count will not work for this type, and %countprey will only count absorbed victims."+help,"Digest Message (to you)",host.vore_selected.get_messages("uamo"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"uamo") if("smo") - var/new_message = tgui_input_text(user,"These are sent to those nearby when prey struggles. Write them in 3rd person ('X's Y bulges')."+help,"Struggle Message (outside)",host.vore_selected.get_messages("smo"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to those nearby when prey struggles. Write them in 3rd person ('X's Y bulges')."+help,"Struggle Message (outside)",host.vore_selected.get_messages("smo"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"smo") if("smi") - var/new_message = tgui_input_text(user,"These are sent to prey when they struggle. Write them in 2nd person ('you feel X'). Avoid using %prey in this type."+help,"Struggle Message (inside)",host.vore_selected.get_messages("smi"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to prey when they struggle. Write them in 2nd person ('you feel X'). Avoid using %prey in this type."+help,"Struggle Message (inside)",host.vore_selected.get_messages("smi"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"smi") if("asmo") - var/new_message = tgui_input_text(user,"These are sent to those nearby when absorbed prey struggles. Write them in 3rd person ('X's Y bulges'). %count will not work for this type, and %countprey will only count absorbed victims."+help,"Struggle Message (outside)",host.vore_selected.get_messages("asmo"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to those nearby when absorbed prey struggles. Write them in 3rd person ('X's Y bulges'). %count will not work for this type, and %countprey will only count absorbed victims."+help,"Struggle Message (outside)",host.vore_selected.get_messages("asmo"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"asmo") if("asmi") - var/new_message = tgui_input_text(user,"These are sent to absorbed prey when they struggle. Write them in 2nd person ('you feel X'). Avoid using %prey in this type. %count will not work for this type, and %countprey will only count absorbed victims."+help,"Struggle Message (inside)",host.vore_selected.get_messages("asmi"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to absorbed prey when they struggle. Write them in 2nd person ('you feel X'). Avoid using %prey in this type. %count will not work for this type, and %countprey will only count absorbed victims."+help,"Struggle Message (inside)",host.vore_selected.get_messages("asmi"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"asmi") if("em") - var/new_message = tgui_input_text(user,"These are sent to people who examine you when this belly has contents. Write them in 3rd person ('Their %belly is bulging')."+help,"Examine Message (when full)",host.vore_selected.get_messages("em"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to people who examine you when this belly has contents. Write them in 3rd person ('Their %belly is bulging')."+help,"Examine Message (when full)",host.vore_selected.get_messages("em"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"em") if("ema") - var/new_message = tgui_input_text(user,"These are sent to people who examine you when this belly has absorbed victims. Write them in 3rd person ('Their %belly is larger'). %count will not work for this type, and %countprey will only count absorbed victims."+help,"Examine Message (with absorbed victims)",host.vore_selected.get_messages("ema"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to people who examine you when this belly has absorbed victims. Write them in 3rd person ('Their %belly is larger'). %count will not work for this type, and %countprey will only count absorbed victims."+help,"Examine Message (with absorbed victims)",host.vore_selected.get_messages("ema"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"ema") @@ -826,7 +826,7 @@ if("Clear") host.nutrition_messages[index] = "" if("Edit") - var/new_message = tgui_input_text(user, "Input a message", "Input", host.nutrition_messages[index], multiline = TRUE) + var/new_message = tgui_input_text(user, "Input a message", "Input", host.nutrition_messages[index], multiline = TRUE, prevent_enter = TRUE) if(new_message) host.nutrition_messages[index] = new_message @@ -839,62 +839,62 @@ if("Clear") host.weight_messages[index] = "" if("Edit") - var/new_message = tgui_input_text(user, "Input a message", "Input", host.weight_messages[index], multiline = TRUE) + var/new_message = tgui_input_text(user, "Input a message", "Input", host.weight_messages[index], multiline = TRUE, prevent_enter = TRUE) if(new_message) host.weight_messages[index] = new_message if("im_digest") - var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are on Digest mode. Write them in 2nd person ('%pred's %belly squishes down on you.')."+help,"Idle Message (Digest)",host.vore_selected.get_messages("im_digest"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are on Digest mode. Write them in 2nd person ('%pred's %belly squishes down on you.')."+help,"Idle Message (Digest)",host.vore_selected.get_messages("im_digest"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"im_digest") if("im_hold") - var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are on Hold mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Hold)",host.vore_selected.get_messages("im_hold"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are on Hold mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Hold)",host.vore_selected.get_messages("im_hold"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"im_hold") if("im_holdabsorbed") - var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are absorbed. Write them in 2nd person ('%pred's %belly squishes down on you.') %count will not work for this type, and %countprey will only count absorbed victims."+help,"Idle Message (Hold Absorbed)",host.vore_selected.get_messages("im_holdabsorbed"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are absorbed. Write them in 2nd person ('%pred's %belly squishes down on you.') %count will not work for this type, and %countprey will only count absorbed victims."+help,"Idle Message (Hold Absorbed)",host.vore_selected.get_messages("im_holdabsorbed"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"im_holdabsorbed") if("im_absorb") - var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are on Absorb mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Absorb)",host.vore_selected.get_messages("im_absorb"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are on Absorb mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Absorb)",host.vore_selected.get_messages("im_absorb"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"im_absorb") if("im_heal") - var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are on Heal mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Heal)",host.vore_selected.get_messages("im_heal"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are on Heal mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Heal)",host.vore_selected.get_messages("im_heal"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"im_heal") if("im_drain") - var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are on Drain mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Drain)",host.vore_selected.get_messages("im_drain"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are on Drain mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Drain)",host.vore_selected.get_messages("im_drain"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"im_drain") if("im_steal") - var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are on Size Steal mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Size Steal)",host.vore_selected.get_messages("im_steal"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are on Size Steal mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Size Steal)",host.vore_selected.get_messages("im_steal"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"im_steal") if("im_egg") - var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are on Encase In Egg mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Encase In Egg)",host.vore_selected.get_messages("im_egg"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are on Encase In Egg mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Encase In Egg)",host.vore_selected.get_messages("im_egg"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"im_egg") if("im_shrink") - var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are on Shrink mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Shrink)",host.vore_selected.get_messages("im_shrink"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are on Shrink mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Shrink)",host.vore_selected.get_messages("im_shrink"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"im_shrink") if("im_grow") - var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are on Grow mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Grow)",host.vore_selected.get_messages("im_grow"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are on Grow mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Grow)",host.vore_selected.get_messages("im_grow"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"im_grow") if("im_unabsorb") - var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are on Unabsorb mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Unabsorb)",host.vore_selected.get_messages("im_unabsorb"), multiline = TRUE) + var/new_message = tgui_input_text(user,"These are sent to prey every minute when you are on Unabsorb mode. Write them in 2nd person ('%pred's %belly squishes down on you.')"+help,"Idle Message (Unabsorb)",host.vore_selected.get_messages("im_unabsorb"), multiline = TRUE, prevent_enter = TRUE) if(new_message) host.vore_selected.set_messages(new_message,"im_unabsorb") diff --git a/tgui/packages/tgui/components/RestrictedInput.js b/tgui/packages/tgui/components/RestrictedInput.js index 0a6e2cb440c..977c911d4e8 100644 --- a/tgui/packages/tgui/components/RestrictedInput.js +++ b/tgui/packages/tgui/components/RestrictedInput.js @@ -18,7 +18,8 @@ const getClampedNumber = (value, minValue, maxValue) => { if (!value || !value.length) { return String(minimum); } - let parsedValue = parseInt(value.replace(/\D/g, ''), 10); + // let parsedValue = parseInt(value.replace(/\D/g, ''), 10); + let parsedValue = parseFloat(value); if (isNaN(parsedValue)) { return String(minimum); } else { diff --git a/tgui/packages/tgui/interfaces/TextInputModal.tsx b/tgui/packages/tgui/interfaces/TextInputModal.tsx index 9853beac461..0a0eff561ab 100644 --- a/tgui/packages/tgui/interfaces/TextInputModal.tsx +++ b/tgui/packages/tgui/interfaces/TextInputModal.tsx @@ -12,7 +12,7 @@ type TextInputData = { placeholder: string; timeout: number; title: string; - enter_submit: boolean; + prevent_enter: boolean; }; export const TextInputModal = (_, context) => { @@ -25,7 +25,7 @@ export const TextInputModal = (_, context) => { placeholder, timeout, title, - enter_submit, + prevent_enter, } = data; const [input, setInput] = useLocalState( context, @@ -51,7 +51,7 @@ export const TextInputModal = (_, context) => { act('cancel')} onEnter={(event) => { - if (enter_submit) { + if (!prevent_enter) { act('submit', { entry: input }); event.preventDefault(); } @@ -80,7 +80,7 @@ export const TextInputModal = (_, context) => { /** Gets the user input and invalidates if there's a constraint. */ const InputArea = (props, context) => { const { act, data } = useBackend(context); - const { max_length, multiline, enter_submit } = data; + const { max_length, multiline, prevent_enter } = data; const { input, onType } = props; return ( @@ -91,7 +91,7 @@ const InputArea = (props, context) => { maxLength={max_length} onEscape={() => act('cancel')} onEnter={(event) => { - if (enter_submit) { + if (!prevent_enter) { act('submit', { entry: input }); event.preventDefault(); } diff --git a/tgui/public/tgui.bundle.js b/tgui/public/tgui.bundle.js index 150b8cb3cc3..6e70ef5ed2c 100644 --- a/tgui/public/tgui.bundle.js +++ b/tgui/public/tgui.bundle.js @@ -1 +1 @@ -!function(){var e={21926:function(e,t,n){"use strict";t.__esModule=!0,t.createPopper=void 0,t.popperGenerator=h;var o=m(n(48764)),r=m(n(68349)),a=m(n(3671)),i=m(n(55490)),c=(m(n(40755)),m(n(69282))),l=m(n(27672)),d=(m(n(30752)),m(n(12459)),m(n(27629)),m(n(54220))),u=m(n(75949));t.detectOverflow=u["default"];var s=n(79388);n(15954);function m(e){return e&&e.__esModule?e:{"default":e}}var p={placement:"bottom",modifiers:[],strategy:"absolute"};function f(){for(var e=arguments.length,t=new Array(e),n=0;n0&&(a=(0,r.round)(n.width)/l||1),c>0&&(i=(0,r.round)(n.height)/c||1)}return{width:n.width/a,height:n.height/i,top:n.top/i,right:n.right/a,bottom:n.bottom/i,left:n.left/a,x:n.left/a,y:n.top/i}};var o=n(79388),r=n(36291)},65647:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e,t,n){var o="clippingParents"===t?function(e){var t=(0,i["default"])((0,m["default"])(e)),n=["absolute","fixed"].indexOf((0,d["default"])(e).position)>=0&&(0,u.isHTMLElement)(e)?(0,c["default"])(e):e;if(!(0,u.isElement)(n))return[];return t.filter((function(e){return(0,u.isElement)(e)&&(0,p["default"])(e,n)&&"body"!==(0,f["default"])(e)}))}(e):[].concat(t),r=[].concat(o,[n]),a=r[0],l=r.reduce((function(t,n){var o=b(e,n);return t.top=(0,C.max)(o.top,t.top),t.right=(0,C.min)(o.right,t.right),t.bottom=(0,C.min)(o.bottom,t.bottom),t.left=(0,C.max)(o.left,t.left),t}),b(e,a));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l};var o=n(15954),r=N(n(8204)),a=N(n(40015)),i=N(n(3671)),c=N(n(55490)),l=N(n(25890)),d=N(n(40755)),u=n(79388),s=N(n(11100)),m=N(n(95136)),p=N(n(62215)),f=N(n(38569)),h=N(n(73060)),C=n(36291);function N(e){return e&&e.__esModule?e:{"default":e}}function b(e,t){return t===o.viewport?(0,h["default"])((0,r["default"])(e)):(0,u.isElement)(t)?function(e){var t=(0,s["default"])(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):(0,h["default"])((0,a["default"])((0,l["default"])(e)))}},48764:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e,t,n){void 0===n&&(n=!1);var s=(0,i.isHTMLElement)(t),m=(0,i.isHTMLElement)(t)&&function(e){var t=e.getBoundingClientRect(),n=(0,u.round)(t.width)/e.offsetWidth||1,o=(0,u.round)(t.height)/e.offsetHeight||1;return 1!==n||1!==o}(t),p=(0,l["default"])(t),f=(0,o["default"])(e,m),h={scrollLeft:0,scrollTop:0},C={x:0,y:0};(s||!s&&!n)&&(("body"!==(0,a["default"])(t)||(0,d["default"])(p))&&(h=(0,r["default"])(t)),(0,i.isHTMLElement)(t)?((C=(0,o["default"])(t,!0)).x+=t.clientLeft,C.y+=t.clientTop):p&&(C.x=(0,c["default"])(p)));return{x:f.left+h.scrollLeft-C.x,y:f.top+h.scrollTop-C.y,width:f.width,height:f.height}};var o=s(n(11100)),r=s(n(3514)),a=s(n(38569)),i=n(79388),c=s(n(36056)),l=s(n(25890)),d=s(n(57360)),u=n(36291);function s(e){return e&&e.__esModule?e:{"default":e}}},40755:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){return(0,r["default"])(e).getComputedStyle(e)};var o,r=(o=n(96904))&&o.__esModule?o:{"default":o}},25890:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){return(((0,o.isElement)(e)?e.ownerDocument:e.document)||window.document).documentElement};var o=n(79388)},40015:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t,n=(0,o["default"])(e),l=(0,i["default"])(e),d=null==(t=e.ownerDocument)?void 0:t.body,u=(0,c.max)(n.scrollWidth,n.clientWidth,d?d.scrollWidth:0,d?d.clientWidth:0),s=(0,c.max)(n.scrollHeight,n.clientHeight,d?d.scrollHeight:0,d?d.clientHeight:0),m=-l.scrollLeft+(0,a["default"])(e),p=-l.scrollTop;"rtl"===(0,r["default"])(d||n).direction&&(m+=(0,c.max)(n.clientWidth,d?d.clientWidth:0)-u);return{width:u,height:s,x:m,y:p}};var o=l(n(25890)),r=l(n(40755)),a=l(n(36056)),i=l(n(69211)),c=n(36291);function l(e){return e&&e.__esModule?e:{"default":e}}},41829:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}},68349:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t=(0,r["default"])(e),n=e.offsetWidth,o=e.offsetHeight;Math.abs(t.width-n)<=1&&(n=t.width);Math.abs(t.height-o)<=1&&(o=t.height);return{x:e.offsetLeft,y:e.offsetTop,width:n,height:o}};var o,r=(o=n(11100))&&o.__esModule?o:{"default":o}},38569:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){return e?(e.nodeName||"").toLowerCase():null}},3514:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){return e!==(0,r["default"])(e)&&(0,a.isHTMLElement)(e)?(0,i["default"])(e):(0,o["default"])(e)};var o=c(n(69211)),r=c(n(96904)),a=n(79388),i=c(n(41829));function c(e){return e&&e.__esModule?e:{"default":e}}},55490:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t=(0,o["default"])(e),n=u(e);for(;n&&(0,c["default"])(n)&&"static"===(0,a["default"])(n).position;)n=u(n);if(n&&("html"===(0,r["default"])(n)||"body"===(0,r["default"])(n)&&"static"===(0,a["default"])(n).position))return t;return n||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&(0,i.isHTMLElement)(e)){if("fixed"===(0,a["default"])(e).position)return null}var n=(0,l["default"])(e);(0,i.isShadowRoot)(n)&&(n=n.host);for(;(0,i.isHTMLElement)(n)&&["html","body"].indexOf((0,r["default"])(n))<0;){var o=(0,a["default"])(n);if("none"!==o.transform||"none"!==o.perspective||"paint"===o.contain||-1!==["transform","perspective"].indexOf(o.willChange)||t&&"filter"===o.willChange||t&&o.filter&&"none"!==o.filter)return n;n=n.parentNode}return null}(e)||t};var o=d(n(96904)),r=d(n(38569)),a=d(n(40755)),i=n(79388),c=d(n(94437)),l=d(n(95136));function d(e){return e&&e.__esModule?e:{"default":e}}function u(e){return(0,i.isHTMLElement)(e)&&"fixed"!==(0,a["default"])(e).position?e.offsetParent:null}},95136:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){if("html"===(0,o["default"])(e))return e;return e.assignedSlot||e.parentNode||((0,a.isShadowRoot)(e)?e.host:null)||(0,r["default"])(e)};var o=i(n(38569)),r=i(n(25890)),a=n(79388);function i(e){return e&&e.__esModule?e:{"default":e}}},43367:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function l(e){if(["html","body","#document"].indexOf((0,a["default"])(e))>=0)return e.ownerDocument.body;if((0,i.isHTMLElement)(e)&&(0,r["default"])(e))return e;return l((0,o["default"])(e))};var o=c(n(95136)),r=c(n(57360)),a=c(n(38569)),i=n(79388);function c(e){return e&&e.__esModule?e:{"default":e}}},8204:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t=(0,o["default"])(e),n=(0,r["default"])(e),i=t.visualViewport,c=n.clientWidth,l=n.clientHeight,d=0,u=0;i&&(c=i.width,l=i.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(d=i.offsetLeft,u=i.offsetTop));return{width:c,height:l,x:d+(0,a["default"])(e),y:u}};var o=i(n(96904)),r=i(n(25890)),a=i(n(36056));function i(e){return e&&e.__esModule?e:{"default":e}}},96904:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}},69211:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t=(0,r["default"])(e),n=t.pageXOffset,o=t.pageYOffset;return{scrollLeft:n,scrollTop:o}};var o,r=(o=n(96904))&&o.__esModule?o:{"default":o}},36056:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){return(0,o["default"])((0,r["default"])(e)).left+(0,a["default"])(e).scrollLeft};var o=i(n(11100)),r=i(n(25890)),a=i(n(69211));function i(e){return e&&e.__esModule?e:{"default":e}}},79388:function(e,t,n){"use strict";t.__esModule=!0,t.isElement=function(e){var t=(0,r["default"])(e).Element;return e instanceof t||e instanceof Element},t.isHTMLElement=function(e){var t=(0,r["default"])(e).HTMLElement;return e instanceof t||e instanceof HTMLElement},t.isShadowRoot=function(e){if("undefined"==typeof ShadowRoot)return!1;var t=(0,r["default"])(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot};var o,r=(o=n(96904))&&o.__esModule?o:{"default":o}},57360:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t=(0,r["default"])(e),n=t.overflow,o=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+a+o)};var o,r=(o=n(40755))&&o.__esModule?o:{"default":o}},94437:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){return["table","td","th"].indexOf((0,r["default"])(e))>=0};var o,r=(o=n(38569))&&o.__esModule?o:{"default":o}},3671:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function l(e,t){var n;void 0===t&&(t=[]);var c=(0,o["default"])(e),d=c===(null==(n=e.ownerDocument)?void 0:n.body),u=(0,a["default"])(c),s=d?[u].concat(u.visualViewport||[],(0,i["default"])(c)?c:[]):c,m=t.concat(s);return d?m:m.concat(l((0,r["default"])(s)))};var o=c(n(43367)),r=c(n(95136)),a=c(n(96904)),i=c(n(57360));function c(e){return e&&e.__esModule?e:{"default":e}}},15954:function(e,t){"use strict";t.__esModule=!0,t.write=t.viewport=t.variationPlacements=t.top=t.start=t.right=t.reference=t.read=t.popper=t.placements=t.modifierPhases=t.main=t.left=t.end=t.clippingParents=t.bottom=t.beforeWrite=t.beforeRead=t.beforeMain=t.basePlacements=t.auto=t.afterWrite=t.afterRead=t.afterMain=void 0;t.top="top";var n="bottom";t.bottom=n;var o="right";t.right=o;var r="left";t.left=r;var a="auto";t.auto=a;var i=["top",n,o,r];t.basePlacements=i;var c="start";t.start=c;var l="end";t.end=l;t.clippingParents="clippingParents";t.viewport="viewport";t.popper="popper";t.reference="reference";var d=i.reduce((function(e,t){return e.concat([t+"-"+c,t+"-"+l])}),[]);t.variationPlacements=d;var u=[].concat(i,[a]).reduce((function(e,t){return e.concat([t,t+"-"+c,t+"-"+l])}),[]);t.placements=u;var s="beforeRead";t.beforeRead=s;var m="read";t.read=m;var p="afterRead";t.afterRead=p;var f="beforeMain";t.beforeMain=f;var h="main";t.main=h;var C="afterMain";t.afterMain=C;var N="beforeWrite";t.beforeWrite=N;var b="write";t.write=b;var V="afterWrite";t.afterWrite=V;var g=[s,m,p,f,h,C,N,b,V];t.modifierPhases=g},37809:function(e,t,n){"use strict";t.__esModule=!0;var o={popperGenerator:!0,detectOverflow:!0,createPopperBase:!0,createPopper:!0,createPopperLite:!0};t.popperGenerator=t.detectOverflow=t.createPopperLite=t.createPopperBase=t.createPopper=void 0;var r=n(15954);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(o,e)||e in t&&t[e]===r[e]||(t[e]=r[e]))}));var a=n(4207);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(o,e)||e in t&&t[e]===a[e]||(t[e]=a[e]))}));var i=n(21926);t.popperGenerator=i.popperGenerator,t.detectOverflow=i.detectOverflow,t.createPopperBase=i.createPopper;var c=n(17827);t.createPopper=c.createPopper;var l=n(47952);t.createPopperLite=l.createPopper},89290:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var o,r=(o=n(38569))&&o.__esModule?o:{"default":o},a=n(79388);var i={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},o=t.attributes[e]||{},i=t.elements[e];(0,a.isHTMLElement)(i)&&(0,r["default"])(i)&&(Object.assign(i.style,n),Object.keys(o).forEach((function(e){var t=o[e];!1===t?i.removeAttribute(e):i.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var o=t.elements[e],i=t.attributes[e]||{},c=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});(0,a.isHTMLElement)(o)&&(0,r["default"])(o)&&(Object.assign(o.style,c),Object.keys(i).forEach((function(e){o.removeAttribute(e)})))}))}},requires:["computeStyles"]};t["default"]=i},71313:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var o=m(n(27629)),r=m(n(68349)),a=m(n(62215)),i=m(n(55490)),c=m(n(78772)),l=n(54444),d=m(n(11277)),u=m(n(45674)),s=n(15954);n(79388);function m(e){return e&&e.__esModule?e:{"default":e}}var p=function(e,t){return e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e,(0,d["default"])("number"!=typeof e?e:(0,u["default"])(e,s.basePlacements))};var f={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,a=e.name,d=e.options,u=n.elements.arrow,m=n.modifiersData.popperOffsets,f=(0,o["default"])(n.placement),h=(0,c["default"])(f),C=[s.left,s.right].indexOf(f)>=0?"height":"width";if(u&&m){var N=p(d.padding,n),b=(0,r["default"])(u),V="y"===h?s.top:s.left,g="y"===h?s.bottom:s.right,v=n.rects.reference[C]+n.rects.reference[h]-m[h]-n.rects.popper[C],_=m[h]-n.rects.reference[h],k=(0,i["default"])(u),y=k?"y"===h?k.clientHeight||0:k.clientWidth||0:0,x=v/2-_/2,w=N[V],B=y-b[C]-N[g],L=y/2-b[C]/2+x,S=(0,l.within)(w,L,B),I=h;n.modifiersData[a]=((t={})[I]=S,t.centerOffset=S-L,t)}},effect:function(e){var t=e.state,n=e.options.element,o=void 0===n?"[data-popper-arrow]":n;null!=o&&("string"!=typeof o||(o=t.elements.popper.querySelector(o)))&&(0,a["default"])(t.elements.popper,o)&&(t.elements.arrow=o)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};t["default"]=f},54680:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0,t.mapToStyles=p;var o=n(15954),r=s(n(55490)),a=s(n(96904)),i=s(n(25890)),c=s(n(40755)),l=s(n(27629)),d=s(n(31686)),u=n(36291);function s(e){return e&&e.__esModule?e:{"default":e}}var m={top:"auto",right:"auto",bottom:"auto",left:"auto"};function p(e){var t,n=e.popper,l=e.popperRect,d=e.placement,s=e.variation,p=e.offsets,f=e.position,h=e.gpuAcceleration,C=e.adaptive,N=e.roundOffsets,b=e.isFixed,V=p.x,g=void 0===V?0:V,v=p.y,_=void 0===v?0:v,k="function"==typeof N?N({x:g,y:_}):{x:g,y:_};g=k.x,_=k.y;var y=p.hasOwnProperty("x"),x=p.hasOwnProperty("y"),w=o.left,B=o.top,L=window;if(C){var S=(0,r["default"])(n),I="clientHeight",T="clientWidth";if(S===(0,a["default"])(n)&&(S=(0,i["default"])(n),"static"!==(0,c["default"])(S).position&&"absolute"===f&&(I="scrollHeight",T="scrollWidth")),d===o.top||(d===o.left||d===o.right)&&s===o.end)B=o.bottom,_-=(b&&S===L&&L.visualViewport?L.visualViewport.height:S[I])-l.height,_*=h?1:-1;if(d===o.left||(d===o.top||d===o.bottom)&&s===o.end)w=o.right,g-=(b&&S===L&&L.visualViewport?L.visualViewport.width:S[T])-l.width,g*=h?1:-1}var A,M=Object.assign({position:f},C&&m),E=!0===N?function(e){var t=e.x,n=e.y,o=window.devicePixelRatio||1;return{x:(0,u.round)(t*o)/o||0,y:(0,u.round)(n*o)/o||0}}({x:g,y:_}):{x:g,y:_};return g=E.x,_=E.y,h?Object.assign({},M,((A={})[B]=x?"0":"",A[w]=y?"0":"",A.transform=(L.devicePixelRatio||1)<=1?"translate("+g+"px, "+_+"px)":"translate3d("+g+"px, "+_+"px, 0)",A)):Object.assign({},M,((t={})[B]=x?_+"px":"",t[w]=y?g+"px":"",t.transform="",t))}var f={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,o=n.gpuAcceleration,r=void 0===o||o,a=n.adaptive,i=void 0===a||a,c=n.roundOffsets,u=void 0===c||c,s={placement:(0,l["default"])(t.placement),variation:(0,d["default"])(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,p(Object.assign({},s,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:i,roundOffsets:u})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,p(Object.assign({},s,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:u})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}};t["default"]=f},53887:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var o,r=(o=n(96904))&&o.__esModule?o:{"default":o};var a={passive:!0};var i={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,o=e.options,i=o.scroll,c=void 0===i||i,l=o.resize,d=void 0===l||l,u=(0,r["default"])(t.elements.popper),s=[].concat(t.scrollParents.reference,t.scrollParents.popper);return c&&s.forEach((function(e){e.addEventListener("scroll",n.update,a)})),d&&u.addEventListener("resize",n.update,a),function(){c&&s.forEach((function(e){e.removeEventListener("scroll",n.update,a)})),d&&u.removeEventListener("resize",n.update,a)}},data:{}};t["default"]=i},82566:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var o=u(n(31477)),r=u(n(27629)),a=u(n(44214)),i=u(n(75949)),c=u(n(2894)),l=n(15954),d=u(n(31686));function u(e){return e&&e.__esModule?e:{"default":e}}var s={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,u=e.name;if(!t.modifiersData[u]._skip){for(var s=n.mainAxis,m=void 0===s||s,p=n.altAxis,f=void 0===p||p,h=n.fallbackPlacements,C=n.padding,N=n.boundary,b=n.rootBoundary,V=n.altBoundary,g=n.flipVariations,v=void 0===g||g,_=n.allowedAutoPlacements,k=t.options.placement,y=(0,r["default"])(k),x=h||(y===k||!v?[(0,o["default"])(k)]:function(e){if((0,r["default"])(e)===l.auto)return[];var t=(0,o["default"])(e);return[(0,a["default"])(e),t,(0,a["default"])(t)]}(k)),w=[k].concat(x).reduce((function(e,n){return e.concat((0,r["default"])(n)===l.auto?(0,c["default"])(t,{placement:n,boundary:N,rootBoundary:b,padding:C,flipVariations:v,allowedAutoPlacements:_}):n)}),[]),B=t.rects.reference,L=t.rects.popper,S=new Map,I=!0,T=w[0],A=0;A=0,F=O?"width":"height",D=(0,i["default"])(t,{placement:M,boundary:N,rootBoundary:b,altBoundary:V,padding:C}),R=O?P?l.right:l.left:P?l.bottom:l.top;B[F]>L[F]&&(R=(0,o["default"])(R));var j=(0,o["default"])(R),W=[];if(m&&W.push(D[E]<=0),f&&W.push(D[R]<=0,D[j]<=0),W.every((function(e){return e}))){T=M,I=!1;break}S.set(M,W)}if(I)for(var z=function(e){var t=w.find((function(t){var n=S.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return T=t,"break"},U=v?3:1;U>0;U--){if("break"===z(U))break}t.placement!==T&&(t.modifiersData[u]._skip=!0,t.placement=T,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};t["default"]=s},27353:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var o,r=n(15954),a=(o=n(75949))&&o.__esModule?o:{"default":o};function i(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function c(e){return[r.top,r.right,r.bottom,r.left].some((function(t){return e[t]>=0}))}var l={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,o=t.rects.reference,r=t.rects.popper,l=t.modifiersData.preventOverflow,d=(0,a["default"])(t,{elementContext:"reference"}),u=(0,a["default"])(t,{altBoundary:!0}),s=i(d,o),m=i(u,r,l),p=c(s),f=c(m);t.modifiersData[n]={referenceClippingOffsets:s,popperEscapeOffsets:m,isReferenceHidden:p,hasPopperEscaped:f},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":f})}};t["default"]=l},4207:function(e,t,n){"use strict";t.__esModule=!0,t.preventOverflow=t.popperOffsets=t.offset=t.hide=t.flip=t.eventListeners=t.computeStyles=t.arrow=t.applyStyles=void 0;var o=m(n(89290));t.applyStyles=o["default"];var r=m(n(71313));t.arrow=r["default"];var a=m(n(54680));t.computeStyles=a["default"];var i=m(n(53887));t.eventListeners=i["default"];var c=m(n(82566));t.flip=c["default"];var l=m(n(27353));t.hide=l["default"];var d=m(n(99873));t.offset=d["default"];var u=m(n(83662));t.popperOffsets=u["default"];var s=m(n(21031));function m(e){return e&&e.__esModule?e:{"default":e}}t.preventOverflow=s["default"]},99873:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0,t.distanceAndSkiddingToXY=i;var o,r=(o=n(27629))&&o.__esModule?o:{"default":o},a=n(15954);function i(e,t,n){var o=(0,r["default"])(e),i=[a.left,a.top].indexOf(o)>=0?-1:1,c="function"==typeof n?n(Object.assign({},t,{placement:e})):n,l=c[0],d=c[1];return l=l||0,d=(d||0)*i,[a.left,a.right].indexOf(o)>=0?{x:d,y:l}:{x:l,y:d}}var c={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,o=e.name,r=n.offset,c=void 0===r?[0,0]:r,l=a.placements.reduce((function(e,n){return e[n]=i(n,t.rects,c),e}),{}),d=l[t.placement],u=d.x,s=d.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=u,t.modifiersData.popperOffsets.y+=s),t.modifiersData[o]=l}};t["default"]=c},83662:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var o,r=(o=n(2002))&&o.__esModule?o:{"default":o};var a={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=(0,r["default"])({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}};t["default"]=a},21031:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var o=n(15954),r=f(n(27629)),a=f(n(78772)),i=f(n(16696)),c=n(54444),l=f(n(68349)),d=f(n(55490)),u=f(n(75949)),s=f(n(31686)),m=f(n(22710)),p=n(36291);function f(e){return e&&e.__esModule?e:{"default":e}}var h={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,f=e.name,h=n.mainAxis,C=void 0===h||h,N=n.altAxis,b=void 0!==N&&N,V=n.boundary,g=n.rootBoundary,v=n.altBoundary,_=n.padding,k=n.tether,y=void 0===k||k,x=n.tetherOffset,w=void 0===x?0:x,B=(0,u["default"])(t,{boundary:V,rootBoundary:g,padding:_,altBoundary:v}),L=(0,r["default"])(t.placement),S=(0,s["default"])(t.placement),I=!S,T=(0,a["default"])(L),A=(0,i["default"])(T),M=t.modifiersData.popperOffsets,E=t.rects.reference,P=t.rects.popper,O="function"==typeof w?w(Object.assign({},t.rects,{placement:t.placement})):w,F="number"==typeof O?{mainAxis:O,altAxis:O}:Object.assign({mainAxis:0,altAxis:0},O),D=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,R={x:0,y:0};if(M){if(C){var j,W="y"===T?o.top:o.left,z="y"===T?o.bottom:o.right,U="y"===T?"height":"width",H=M[T],G=H+B[W],K=H-B[z],Y=y?-P[U]/2:0,q=S===o.start?E[U]:P[U],$=S===o.start?-P[U]:-E[U],X=t.elements.arrow,Q=y&&X?(0,l["default"])(X):{width:0,height:0},J=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:(0,m["default"])(),Z=J[W],ee=J[z],te=(0,c.within)(0,E[U],Q[U]),ne=I?E[U]/2-Y-te-Z-F.mainAxis:q-te-Z-F.mainAxis,oe=I?-E[U]/2+Y+te+ee+F.mainAxis:$+te+ee+F.mainAxis,re=t.elements.arrow&&(0,d["default"])(t.elements.arrow),ae=re?"y"===T?re.clientTop||0:re.clientLeft||0:0,ie=null!=(j=null==D?void 0:D[T])?j:0,ce=H+ne-ie-ae,le=H+oe-ie,de=(0,c.within)(y?(0,p.min)(G,ce):G,H,y?(0,p.max)(K,le):K);M[T]=de,R[T]=de-H}if(b){var ue,se="x"===T?o.top:o.left,me="x"===T?o.bottom:o.right,pe=M[A],fe="y"===A?"height":"width",he=pe+B[se],Ce=pe-B[me],Ne=-1!==[o.top,o.left].indexOf(L),be=null!=(ue=null==D?void 0:D[A])?ue:0,Ve=Ne?he:pe-E[fe]-P[fe]-be+F.altAxis,ge=Ne?pe+E[fe]+P[fe]-be-F.altAxis:Ce,ve=y&&Ne?(0,c.withinMaxClamp)(Ve,pe,ge):(0,c.within)(y?Ve:he,pe,y?ge:Ce);M[A]=ve,R[A]=ve-pe}t.modifiersData[f]=R}},requiresIfExists:["offset"]};t["default"]=h},47952:function(e,t,n){"use strict";t.__esModule=!0,t.defaultModifiers=t.createPopper=void 0;var o=n(21926);t.popperGenerator=o.popperGenerator,t.detectOverflow=o.detectOverflow;var r=l(n(53887)),a=l(n(83662)),i=l(n(54680)),c=l(n(89290));function l(e){return e&&e.__esModule?e:{"default":e}}var d=[r["default"],a["default"],i["default"],c["default"]];t.defaultModifiers=d;var u=(0,o.popperGenerator)({defaultModifiers:d});t.createPopper=u},17827:function(e,t,n){"use strict";t.__esModule=!0;var o={createPopper:!0,createPopperLite:!0,defaultModifiers:!0,popperGenerator:!0,detectOverflow:!0};t.defaultModifiers=t.createPopperLite=t.createPopper=void 0;var r=n(21926);t.popperGenerator=r.popperGenerator,t.detectOverflow=r.detectOverflow;var a=C(n(53887)),i=C(n(83662)),c=C(n(54680)),l=C(n(89290)),d=C(n(99873)),u=C(n(82566)),s=C(n(21031)),m=C(n(71313)),p=C(n(27353)),f=n(47952);t.createPopperLite=f.createPopper;var h=n(4207);function C(e){return e&&e.__esModule?e:{"default":e}}Object.keys(h).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(o,e)||e in t&&t[e]===h[e]||(t[e]=h[e]))}));var N=[a["default"],i["default"],c["default"],l["default"],d["default"],u["default"],s["default"],m["default"],p["default"]];t.defaultModifiers=N;var b=(0,r.popperGenerator)({defaultModifiers:N});t.createPopperLite=t.createPopper=b},2894:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e,t){void 0===t&&(t={});var n=t,c=n.placement,l=n.boundary,d=n.rootBoundary,u=n.padding,s=n.flipVariations,m=n.allowedAutoPlacements,p=void 0===m?r.placements:m,f=(0,o["default"])(c),h=f?s?r.variationPlacements:r.variationPlacements.filter((function(e){return(0,o["default"])(e)===f})):r.basePlacements,C=h.filter((function(e){return p.indexOf(e)>=0}));0===C.length&&(C=h);var N=C.reduce((function(t,n){return t[n]=(0,a["default"])(e,{placement:n,boundary:l,rootBoundary:d,padding:u})[(0,i["default"])(n)],t}),{});return Object.keys(N).sort((function(e,t){return N[e]-N[t]}))};var o=c(n(31686)),r=n(15954),a=c(n(75949)),i=c(n(27629));function c(e){return e&&e.__esModule?e:{"default":e}}},2002:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t,n=e.reference,c=e.element,l=e.placement,d=l?(0,o["default"])(l):null,u=l?(0,r["default"])(l):null,s=n.x+n.width/2-c.width/2,m=n.y+n.height/2-c.height/2;switch(d){case i.top:t={x:s,y:n.y-c.height};break;case i.bottom:t={x:s,y:n.y+n.height};break;case i.right:t={x:n.x+n.width,y:m};break;case i.left:t={x:n.x-c.width,y:m};break;default:t={x:n.x,y:n.y}}var p=d?(0,a["default"])(d):null;if(null!=p){var f="y"===p?"height":"width";switch(u){case i.start:t[p]=t[p]-(n[f]/2-c[f]/2);break;case i.end:t[p]=t[p]+(n[f]/2-c[f]/2)}}return t};var o=c(n(27629)),r=c(n(31686)),a=c(n(78772)),i=n(15954);function c(e){return e&&e.__esModule?e:{"default":e}}},27672:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=undefined,n(e())}))}))),t}}},75949:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e,t){void 0===t&&(t={});var n=t,m=n.placement,p=void 0===m?e.placement:m,f=n.boundary,h=void 0===f?l.clippingParents:f,C=n.rootBoundary,N=void 0===C?l.viewport:C,b=n.elementContext,V=void 0===b?l.popper:b,g=n.altBoundary,v=void 0!==g&&g,_=n.padding,k=void 0===_?0:_,y=(0,u["default"])("number"!=typeof k?k:(0,s["default"])(k,l.basePlacements)),x=V===l.popper?l.reference:l.popper,w=e.rects.popper,B=e.elements[v?x:V],L=(0,o["default"])((0,d.isElement)(B)?B:B.contextElement||(0,r["default"])(e.elements.popper),h,N),S=(0,a["default"])(e.elements.reference),I=(0,i["default"])({reference:S,element:w,strategy:"absolute",placement:p}),T=(0,c["default"])(Object.assign({},w,I)),A=V===l.popper?T:S,M={top:L.top-A.top+y.top,bottom:A.bottom-L.bottom+y.bottom,left:L.left-A.left+y.left,right:A.right-L.right+y.right},E=e.modifiersData.offset;if(V===l.popper&&E){var P=E[p];Object.keys(M).forEach((function(e){var t=[l.right,l.bottom].indexOf(e)>=0?1:-1,n=[l.top,l.bottom].indexOf(e)>=0?"y":"x";M[e]+=P[n]*t}))}return M};var o=m(n(65647)),r=m(n(25890)),a=m(n(11100)),i=m(n(2002)),c=m(n(73060)),l=n(15954),d=n(79388),u=m(n(11277)),s=m(n(45674));function m(e){return e&&e.__esModule?e:{"default":e}}},45674:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}},80885:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o=0?"x":"y"}},31477:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){return e.replace(/left|right|bottom|top/g,(function(e){return n[e]}))};var n={left:"right",right:"left",bottom:"top",top:"bottom"}},44214:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){return e.replace(/start|end/g,(function(e){return n[e]}))};var n={start:"end",end:"start"}},31686:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){return e.split("-")[1]}},36291:function(e,t){"use strict";t.__esModule=!0,t.round=t.min=t.max=void 0;var n=Math.max;t.max=n;var o=Math.min;t.min=o;var r=Math.round;t.round=r},54220:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){var t=e.reduce((function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e}),{});return Object.keys(t).map((function(e){return t[e]}))}},11277:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){return Object.assign({},(0,r["default"])(),e)};var o,r=(o=n(22710))&&o.__esModule?o:{"default":o}},69282:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t=function(e){var t=new Map,n=new Set,o=[];function r(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var o=t.get(e);o&&r(o)}})),o.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||r(e)})),o}(e);return o.modifierPhases.reduce((function(e,n){return e.concat(t.filter((function(e){return e.phase===n})))}),[])};var o=n(15954)},73060:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}},12459:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e,t){var n=new Set;return e.filter((function(e){var o=t(e);if(!n.has(o))return n.add(o),!0}))}},30752:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){e.forEach((function(t){[].concat(Object.keys(t),a).filter((function(e,t,n){return n.indexOf(e)===t})).forEach((function(n){switch(n){case"name":t.name;break;case"enabled":t.enabled;break;case"phase":r.modifierPhases.indexOf(t.phase);break;case"fn":t.fn;break;case"effect":null!=t.effect&&t.effect;break;case"requires":null!=t.requires&&Array.isArray(t.requires);break;case"requiresIfExists":Array.isArray(t.requiresIfExists)}t.requires&&t.requires.forEach((function(t){e.find((function(e){return e.name===t}))}))}))}))};(o=n(80885))&&o.__esModule;var o,r=n(15954);var a=["name","enabled","phase","fn","effect","requires","options"]},54444:function(e,t,n){"use strict";t.__esModule=!0,t.within=r,t.withinMaxClamp=function(e,t,n){var o=r(e,t,n);return o>n?n:o};var o=n(36291);function r(e,t,n){return(0,o.max)(e,(0,o.min)(t,n))}},17245:function(e,t,n){"use strict";var o=n(87318),r=n(95030),a=TypeError;e.exports=function(e){if(o(e))return e;throw a(r(e)+" is not a function")}},89994:function(e,t,n){"use strict";var o=n(97585),r=n(95030),a=TypeError;e.exports=function(e){if(o(e))return e;throw a(r(e)+" is not a constructor")}},67791:function(e,t,n){"use strict";var o=n(87318),r=String,a=TypeError;e.exports=function(e){if("object"==typeof e||o(e))return e;throw a("Can't set "+r(e)+" as a prototype")}},37295:function(e,t,n){"use strict";var o=n(4108),r=n(43261),a=n(96722).f,i=o("unscopables"),c=Array.prototype;c[i]==undefined&&a(c,i,{configurable:!0,value:r(null)}),e.exports=function(e){c[i][e]=!0}},39335:function(e,t,n){"use strict";var o=n(27465).charAt;e.exports=function(e,t,n){return t+(n?o(e,t).length:1)}},85925:function(e,t,n){"use strict";var o=n(83092),r=TypeError;e.exports=function(e,t){if(o(t,e))return e;throw r("Incorrect invocation")}},1341:function(e,t,n){"use strict";var o=n(47496),r=String,a=TypeError;e.exports=function(e){if(o(e))return e;throw a(r(e)+" is not an object")}},84207:function(e){"use strict";e.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},9983:function(e,t,n){"use strict";var o=n(54565);e.exports=o((function(){if("function"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}}))},43183:function(e,t,n){"use strict";var o,r,a,i=n(84207),c=n(47063),l=n(27830),d=n(87318),u=n(47496),s=n(59897),m=n(63521),p=n(95030),f=n(44923),h=n(24510),C=n(96722).f,N=n(83092),b=n(50190),V=n(96264),g=n(4108),v=n(16067),_=l.Int8Array,k=_&&_.prototype,y=l.Uint8ClampedArray,x=y&&y.prototype,w=_&&b(_),B=k&&b(k),L=Object.prototype,S=l.TypeError,I=g("toStringTag"),T=v("TYPED_ARRAY_TAG"),A=v("TYPED_ARRAY_CONSTRUCTOR"),M=i&&!!V&&"Opera"!==m(l.opera),E=!1,P={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},O={BigInt64Array:8,BigUint64Array:8},F=function(e){if(!u(e))return!1;var t=m(e);return"DataView"===t||s(P,t)||s(O,t)},D=function(e){if(!u(e))return!1;var t=m(e);return s(P,t)||s(O,t)};for(o in P)(a=(r=l[o])&&r.prototype)?f(a,A,r):M=!1;for(o in O)(a=(r=l[o])&&r.prototype)&&f(a,A,r);if((!M||!d(w)||w===Function.prototype)&&(w=function(){throw S("Incorrect invocation")},M))for(o in P)l[o]&&V(l[o],w);if((!M||!B||B===L)&&(B=w.prototype,M))for(o in P)l[o]&&V(l[o].prototype,B);if(M&&b(x)!==B&&V(x,B),c&&!s(B,I))for(o in E=!0,C(B,I,{get:function(){return u(this)?this[T]:undefined}}),P)l[o]&&f(l[o],T,o);e.exports={NATIVE_ARRAY_BUFFER_VIEWS:M,TYPED_ARRAY_CONSTRUCTOR:A,TYPED_ARRAY_TAG:E&&T,aTypedArray:function(e){if(D(e))return e;throw S("Target is not a typed array")},aTypedArrayConstructor:function(e){if(d(e)&&(!V||N(w,e)))return e;throw S(p(e)+" is not a typed array constructor")},exportTypedArrayMethod:function(e,t,n,o){if(c){if(n)for(var r in P){var a=l[r];if(a&&s(a.prototype,e))try{delete a.prototype[e]}catch(i){try{a.prototype[e]=t}catch(d){}}}B[e]&&!n||h(B,e,n?t:M&&k[e]||t,o)}},exportTypedArrayStaticMethod:function(e,t,n){var o,r;if(c){if(V){if(n)for(o in P)if((r=l[o])&&s(r,e))try{delete r[e]}catch(a){}if(w[e]&&!n)return;try{return h(w,e,n?t:M&&w[e]||t)}catch(a){}}for(o in P)!(r=l[o])||r[e]&&!n||h(r,e,t)}},isView:F,isTypedArray:D,TypedArray:w,TypedArrayPrototype:B}},2038:function(e,t,n){"use strict";var o=n(27830),r=n(47876),a=n(47063),i=n(84207),c=n(42104),l=n(44923),d=n(17155),u=n(54565),s=n(85925),m=n(68334),p=n(17711),f=n(86632),h=n(19383),C=n(50190),N=n(96264),b=n(24037).f,V=n(96722).f,g=n(51815),v=n(42560),_=n(84216),k=n(19511),y=c.PROPER,x=c.CONFIGURABLE,w=k.get,B=k.set,L="ArrayBuffer",S="DataView",I="Wrong index",T=o.ArrayBuffer,A=T,M=A&&A.prototype,E=o.DataView,P=E&&E.prototype,O=Object.prototype,F=o.Array,D=o.RangeError,R=r(g),j=r([].reverse),W=h.pack,z=h.unpack,U=function(e){return[255&e]},H=function(e){return[255&e,e>>8&255]},G=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},K=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},Y=function(e){return W(e,23,4)},q=function(e){return W(e,52,8)},$=function(e,t){V(e.prototype,t,{get:function(){return w(this)[t]}})},X=function(e,t,n,o){var r=f(n),a=w(e);if(r+t>a.byteLength)throw D(I);var i=w(a.buffer).bytes,c=r+a.byteOffset,l=v(i,c,c+t);return o?l:j(l)},Q=function(e,t,n,o,r,a){var i=f(n),c=w(e);if(i+t>c.byteLength)throw D(I);for(var l=w(c.buffer).bytes,d=i+c.byteOffset,u=o(+r),s=0;ste;)(Z=ee[te++])in A||l(A,Z,T[Z]);M.constructor=A}N&&C(P)!==O&&N(P,O);var ne=new E(new A(2)),oe=r(P.setInt8);ne.setInt8(0,2147483648),ne.setInt8(1,2147483649),!ne.getInt8(0)&&ne.getInt8(1)||d(P,{setInt8:function(e,t){oe(this,e,t<<24>>24)},setUint8:function(e,t){oe(this,e,t<<24>>24)}},{unsafe:!0})}else M=(A=function(e){s(this,M);var t=f(e);B(this,{bytes:R(F(t),0),byteLength:t}),a||(this.byteLength=t)}).prototype,P=(E=function(e,t,n){s(this,P),s(e,M);var o=w(e).byteLength,r=m(t);if(r<0||r>o)throw D("Wrong offset");if(r+(n=n===undefined?o-r:p(n))>o)throw D("Wrong length");B(this,{buffer:e,byteLength:n,byteOffset:r}),a||(this.buffer=e,this.byteLength=n,this.byteOffset=r)}).prototype,a&&($(A,"byteLength"),$(E,"buffer"),$(E,"byteLength"),$(E,"byteOffset")),d(P,{getInt8:function(e){return X(this,1,e)[0]<<24>>24},getUint8:function(e){return X(this,1,e)[0]},getInt16:function(e){var t=X(this,2,e,arguments.length>1?arguments[1]:undefined);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=X(this,2,e,arguments.length>1?arguments[1]:undefined);return t[1]<<8|t[0]},getInt32:function(e){return K(X(this,4,e,arguments.length>1?arguments[1]:undefined))},getUint32:function(e){return K(X(this,4,e,arguments.length>1?arguments[1]:undefined))>>>0},getFloat32:function(e){return z(X(this,4,e,arguments.length>1?arguments[1]:undefined),23)},getFloat64:function(e){return z(X(this,8,e,arguments.length>1?arguments[1]:undefined),52)},setInt8:function(e,t){Q(this,1,e,U,t)},setUint8:function(e,t){Q(this,1,e,U,t)},setInt16:function(e,t){Q(this,2,e,H,t,arguments.length>2?arguments[2]:undefined)},setUint16:function(e,t){Q(this,2,e,H,t,arguments.length>2?arguments[2]:undefined)},setInt32:function(e,t){Q(this,4,e,G,t,arguments.length>2?arguments[2]:undefined)},setUint32:function(e,t){Q(this,4,e,G,t,arguments.length>2?arguments[2]:undefined)},setFloat32:function(e,t){Q(this,4,e,Y,t,arguments.length>2?arguments[2]:undefined)},setFloat64:function(e,t){Q(this,8,e,q,t,arguments.length>2?arguments[2]:undefined)}});_(A,L),_(E,S),e.exports={ArrayBuffer:A,DataView:E}},15197:function(e,t,n){"use strict";var o=n(16185),r=n(3505),a=n(26096),i=n(28583),c=Math.min;e.exports=[].copyWithin||function(e,t){var n=o(this),l=a(n),d=r(e,l),u=r(t,l),s=arguments.length>2?arguments[2]:undefined,m=c((s===undefined?l:r(s,l))-u,l-d),p=1;for(u0;)u in n?n[d]=n[u]:i(n,d),d+=p,u+=p;return n}},51815:function(e,t,n){"use strict";var o=n(16185),r=n(3505),a=n(26096);e.exports=function(e){for(var t=o(this),n=a(t),i=arguments.length,c=r(i>1?arguments[1]:undefined,n),l=i>2?arguments[2]:undefined,d=l===undefined?n:r(l,n);d>c;)t[c++]=e;return t}},1369:function(e,t,n){"use strict";var o=n(12565).forEach,r=n(30218)("forEach");e.exports=r?[].forEach:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}},53897:function(e,t,n){"use strict";var o=n(26096);e.exports=function(e,t){for(var n=0,r=o(t),a=new e(r);r>n;)a[n]=t[n++];return a}},30473:function(e,t,n){"use strict";var o=n(66202),r=n(49763),a=n(16185),i=n(6296),c=n(45005),l=n(97585),d=n(26096),u=n(95995),s=n(85947),m=n(6263),p=Array;e.exports=function(e){var t=a(e),n=l(this),f=arguments.length,h=f>1?arguments[1]:undefined,C=h!==undefined;C&&(h=o(h,f>2?arguments[2]:undefined));var N,b,V,g,v,_,k=m(t),y=0;if(!k||this===p&&c(k))for(N=d(t),b=n?new this(N):p(N);N>y;y++)_=C?h(t[y],y):t[y],u(b,y,_);else for(v=(g=s(t,k)).next,b=n?new this:[];!(V=r(v,g)).done;y++)_=C?i(g,h,[V.value,y],!0):V.value,u(b,y,_);return b.length=y,b}},94248:function(e,t,n){"use strict";var o=n(56798),r=n(3505),a=n(26096),i=function(e){return function(t,n,i){var c,l=o(t),d=a(l),u=r(i,d);if(e&&n!=n){for(;d>u;)if((c=l[u++])!=c)return!0}else for(;d>u;u++)if((e||u in l)&&l[u]===n)return e||u||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},12565:function(e,t,n){"use strict";var o=n(66202),r=n(47876),a=n(14611),i=n(16185),c=n(26096),l=n(37065),d=r([].push),u=function(e){var t=1==e,n=2==e,r=3==e,u=4==e,s=6==e,m=7==e,p=5==e||s;return function(f,h,C,N){for(var b,V,g=i(f),v=a(g),_=o(h,C),k=c(v),y=0,x=N||l,w=t?x(f,k):n||m?x(f,0):undefined;k>y;y++)if((p||y in v)&&(V=_(b=v[y],y,g),e))if(t)w[y]=V;else if(V)switch(e){case 3:return!0;case 5:return b;case 6:return y;case 2:d(w,b)}else switch(e){case 4:return!1;case 7:d(w,b)}return s?-1:r||u?u:w}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6),filterReject:u(7)}},98910:function(e,t,n){"use strict";var o=n(90398),r=n(56798),a=n(68334),i=n(26096),c=n(30218),l=Math.min,d=[].lastIndexOf,u=!!d&&1/[1].lastIndexOf(1,-0)<0,s=c("lastIndexOf"),m=u||!s;e.exports=m?function(e){if(u)return o(d,this,arguments)||0;var t=r(this),n=i(t),c=n-1;for(arguments.length>1&&(c=l(c,a(arguments[1]))),c<0&&(c=n+c);c>=0;c--)if(c in t&&t[c]===e)return c||0;return-1}:d},86883:function(e,t,n){"use strict";var o=n(54565),r=n(4108),a=n(28470),i=r("species");e.exports=function(e){return a>=51||!o((function(){var t=[];return(t.constructor={})[i]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},30218:function(e,t,n){"use strict";var o=n(54565);e.exports=function(e,t){var n=[][e];return!!n&&o((function(){n.call(null,t||function(){return 1},1)}))}},8367:function(e,t,n){"use strict";var o=n(17245),r=n(16185),a=n(14611),i=n(26096),c=TypeError,l=function(e){return function(t,n,l,d){o(n);var u=r(t),s=a(u),m=i(u),p=e?m-1:0,f=e?-1:1;if(l<2)for(;;){if(p in s){d=s[p],p+=f;break}if(p+=f,e?p<0:m<=p)throw c("Reduce of empty array with no initial value")}for(;e?p>=0:m>p;p+=f)p in s&&(d=n(d,s[p],p,u));return d}};e.exports={left:l(!1),right:l(!0)}},42560:function(e,t,n){"use strict";var o=n(3505),r=n(26096),a=n(95995),i=Array,c=Math.max;e.exports=function(e,t,n){for(var l=r(e),d=o(t,l),u=o(n===undefined?l:n,l),s=i(c(u-d,0)),m=0;d0;)e[o]=e[--o];o!==a++&&(e[o]=n)}return e},i=function(e,t,n,o){for(var r=t.length,a=n.length,i=0,c=0;i1?arguments[1]:undefined);t=t?t.next:n.first;)for(o(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!b(this,e)}}),a(p,n?{get:function(e){var t=b(this,e);return t&&t.value},set:function(e,t){return N(this,0===e?0:e,t)}}:{add:function(e){return N(this,e=0===e?0:e,e)}}),s&&o(p,"size",{get:function(){return C(this).size}}),u},setStrong:function(e,t,n){var o=t+" Iterator",r=h(t),a=h(o);d(e,t,(function(e,t){f(this,{type:o,target:e,state:r(e),kind:t,last:undefined})}),(function(){for(var e=a(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=undefined,{value:undefined,done:!0})}),n?"entries":"values",!n,!0),u(t)}}},30675:function(e,t,n){"use strict";var o=n(47876),r=n(17155),a=n(56377).getWeakData,i=n(1341),c=n(47496),l=n(85925),d=n(31943),u=n(12565),s=n(59897),m=n(19511),p=m.set,f=m.getterFor,h=u.find,C=u.findIndex,N=o([].splice),b=0,V=function(e){return e.frozen||(e.frozen=new g)},g=function(){this.entries=[]},v=function(e,t){return h(e.entries,(function(e){return e[0]===t}))};g.prototype={get:function(e){var t=v(this,e);if(t)return t[1]},has:function(e){return!!v(this,e)},set:function(e,t){var n=v(this,e);n?n[1]=t:this.entries.push([e,t])},"delete":function(e){var t=C(this.entries,(function(t){return t[0]===e}));return~t&&N(this.entries,t,1),!!~t}},e.exports={getConstructor:function(e,t,n,o){var u=e((function(e,r){l(e,m),p(e,{type:t,id:b++,frozen:undefined}),r!=undefined&&d(r,e[o],{that:e,AS_ENTRIES:n})})),m=u.prototype,h=f(t),C=function(e,t,n){var o=h(e),r=a(i(t),!0);return!0===r?V(o).set(t,n):r[o.id]=n,e};return r(m,{"delete":function(e){var t=h(this);if(!c(e))return!1;var n=a(e);return!0===n?V(t)["delete"](e):n&&s(n,t.id)&&delete n[t.id]},has:function(e){var t=h(this);if(!c(e))return!1;var n=a(e);return!0===n?V(t).has(e):n&&s(n,t.id)}}),r(m,n?{get:function(e){var t=h(this);if(c(e)){var n=a(e);return!0===n?V(t).get(e):n?n[t.id]:undefined}},set:function(e,t){return C(this,e,t)}}:{add:function(e){return C(this,e,!0)}}),u}}},55665:function(e,t,n){"use strict";var o=n(4150),r=n(27830),a=n(47876),i=n(78028),c=n(24510),l=n(56377),d=n(31943),u=n(85925),s=n(87318),m=n(47496),p=n(54565),f=n(51201),h=n(84216),C=n(46050);e.exports=function(e,t,n){var N=-1!==e.indexOf("Map"),b=-1!==e.indexOf("Weak"),V=N?"set":"add",g=r[e],v=g&&g.prototype,_=g,k={},y=function(e){var t=a(v[e]);c(v,e,"add"==e?function(e){return t(this,0===e?0:e),this}:"delete"==e?function(e){return!(b&&!m(e))&&t(this,0===e?0:e)}:"get"==e?function(e){return b&&!m(e)?undefined:t(this,0===e?0:e)}:"has"==e?function(e){return!(b&&!m(e))&&t(this,0===e?0:e)}:function(e,n){return t(this,0===e?0:e,n),this})};if(i(e,!s(g)||!(b||v.forEach&&!p((function(){(new g).entries().next()})))))_=n.getConstructor(t,e,N,V),l.enable();else if(i(e,!0)){var x=new _,w=x[V](b?{}:-0,1)!=x,B=p((function(){x.has(1)})),L=f((function(e){new g(e)})),S=!b&&p((function(){for(var e=new g,t=5;t--;)e[V](t,t);return!e.has(-0)}));L||((_=t((function(e,t){u(e,v);var n=C(new g,e,_);return t!=undefined&&d(t,n[V],{that:n,AS_ENTRIES:N}),n}))).prototype=v,v.constructor=_),(B||S)&&(y("delete"),y("has"),N&&y("get")),(S||w)&&y(V),b&&v.clear&&delete v.clear}return k[e]=_,o({global:!0,constructor:!0,forced:_!=g},k),h(_,e),b||n.setStrong(_,e,N),_}},17636:function(e,t,n){"use strict";var o=n(59897),r=n(10694),a=n(77195),i=n(96722);e.exports=function(e,t,n){for(var c=r(t),l=i.f,d=a.f,u=0;u"+l+""}},5285:function(e,t,n){"use strict";var o=n(31677).IteratorPrototype,r=n(43261),a=n(74120),i=n(84216),c=n(28368),l=function(){return this};e.exports=function(e,t,n,d){var u=t+" Iterator";return e.prototype=r(o,{next:a(+!d,n)}),i(e,u,!1,!0),c[u]=l,e}},44923:function(e,t,n){"use strict";var o=n(47063),r=n(96722),a=n(74120);e.exports=o?function(e,t,n){return r.f(e,t,a(1,n))}:function(e,t,n){return e[t]=n,e}},74120:function(e){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},95995:function(e,t,n){"use strict";var o=n(5276),r=n(96722),a=n(74120);e.exports=function(e,t,n){var i=o(t);i in e?r.f(e,i,a(0,n)):e[i]=n}},40248:function(e,t,n){"use strict";var o=n(47876),r=n(54565),a=n(57604).start,i=RangeError,c=Math.abs,l=Date.prototype,d=l.toISOString,u=o(l.getTime),s=o(l.getUTCDate),m=o(l.getUTCFullYear),p=o(l.getUTCHours),f=o(l.getUTCMilliseconds),h=o(l.getUTCMinutes),C=o(l.getUTCMonth),N=o(l.getUTCSeconds);e.exports=r((function(){return"0385-07-25T07:06:39.999Z"!=d.call(new Date(-50000000000001))}))||!r((function(){d.call(new Date(NaN))}))?function(){if(!isFinite(u(this)))throw i("Invalid time value");var e=this,t=m(e),n=f(e),o=t<0?"-":t>9999?"+":"";return o+a(c(t),o?6:4,0)+"-"+a(C(e)+1,2,0)+"-"+a(s(e),2,0)+"T"+a(p(e),2,0)+":"+a(h(e),2,0)+":"+a(N(e),2,0)+"."+a(n,3,0)+"Z"}:d},93535:function(e,t,n){"use strict";var o=n(1341),r=n(83565),a=TypeError;e.exports=function(e){if(o(this),"string"===e||"default"===e)e="string";else if("number"!==e)throw a("Incorrect hint");return r(this,e)}},73506:function(e,t,n){"use strict";var o=n(75391),r=n(96722);e.exports=function(e,t,n){return n.get&&o(n.get,t,{getter:!0}),n.set&&o(n.set,t,{setter:!0}),r.f(e,t,n)}},24510:function(e,t,n){"use strict";var o=n(87318),r=n(96722),a=n(75391),i=n(43113);e.exports=function(e,t,n,c){c||(c={});var l=c.enumerable,d=c.name!==undefined?c.name:t;return o(n)&&a(n,d,c),c.global?l?e[t]=n:i(t,n):(c.unsafe?e[t]&&(l=!0):delete e[t],l?e[t]=n:r.f(e,t,{value:n,enumerable:!1,configurable:!c.nonConfigurable,writable:!c.nonWritable})),e}},17155:function(e,t,n){"use strict";var o=n(24510);e.exports=function(e,t,n){for(var r in t)o(e,r,t[r],n);return e}},43113:function(e,t,n){"use strict";var o=n(27830),r=Object.defineProperty;e.exports=function(e,t){try{r(o,e,{value:t,configurable:!0,writable:!0})}catch(n){o[e]=t}return t}},50579:function(e,t,n){"use strict";var o=n(4150),r=n(49763),a=n(17982),i=n(42104),c=n(87318),l=n(5285),d=n(50190),u=n(96264),s=n(84216),m=n(44923),p=n(24510),f=n(4108),h=n(28368),C=n(31677),N=i.PROPER,b=i.CONFIGURABLE,V=C.IteratorPrototype,g=C.BUGGY_SAFARI_ITERATORS,v=f("iterator"),_="keys",k="values",y="entries",x=function(){return this};e.exports=function(e,t,n,i,f,C,w){l(n,t,i);var B,L,S,I=function(e){if(e===f&&P)return P;if(!g&&e in M)return M[e];switch(e){case _:case k:case y:return function(){return new n(this,e)}}return function(){return new n(this)}},T=t+" Iterator",A=!1,M=e.prototype,E=M[v]||M["@@iterator"]||f&&M[f],P=!g&&E||I(f),O="Array"==t&&M.entries||E;if(O&&(B=d(O.call(new e)))!==Object.prototype&&B.next&&(a||d(B)===V||(u?u(B,V):c(B[v])||p(B,v,x)),s(B,T,!0,!0),a&&(h[T]=x)),N&&f==k&&E&&E.name!==k&&(!a&&b?m(M,"name",k):(A=!0,P=function(){return r(E,this)})),f)if(L={values:I(k),keys:C?P:I(_),entries:I(y)},w)for(S in L)(g||A||!(S in M))&&p(M,S,L[S]);else o({target:t,proto:!0,forced:g||A},L);return a&&!w||M[v]===P||p(M,v,P,{name:f}),h[t]=P,L}},52931:function(e,t,n){"use strict";var o=n(18450),r=n(59897),a=n(86572),i=n(96722).f;e.exports=function(e){var t=o.Symbol||(o.Symbol={});r(t,e)||i(t,e,{value:a.f(e)})}},28583:function(e,t,n){"use strict";var o=n(95030),r=TypeError;e.exports=function(e,t){if(!delete e[t])throw r("Cannot delete property "+o(t)+" of "+o(e))}},47063:function(e,t,n){"use strict";var o=n(54565);e.exports=!o((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},25022:function(e,t,n){"use strict";var o=n(27830),r=n(47496),a=o.document,i=r(a)&&r(a.createElement);e.exports=function(e){return i?a.createElement(e):{}}},96680:function(e){"use strict";var t=TypeError;e.exports=function(e){if(e>9007199254740991)throw t("Maximum allowed index exceeded");return e}},11960:function(e,t,n){"use strict";var o=n(63770).match(/firefox\/(\d+)/i);e.exports=!!o&&+o[1]},75303:function(e){"use strict";e.exports="object"==typeof window&&"object"!=typeof Deno},88815:function(e,t,n){"use strict";var o=n(63770);e.exports=/MSIE|Trident/.test(o)},92903:function(e,t,n){"use strict";var o=n(63770),r=n(27830);e.exports=/ipad|iphone|ipod/i.test(o)&&r.Pebble!==undefined},32679:function(e,t,n){"use strict";var o=n(63770);e.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(o)},72149:function(e,t,n){"use strict";var o=n(38971),r=n(27830);e.exports="process"==o(r.process)},40739:function(e,t,n){"use strict";var o=n(63770);e.exports=/web0s(?!.*chrome)/i.test(o)},63770:function(e,t,n){"use strict";var o=n(77028);e.exports=o("navigator","userAgent")||""},28470:function(e,t,n){"use strict";var o,r,a=n(27830),i=n(63770),c=a.process,l=a.Deno,d=c&&c.versions||l&&l.version,u=d&&d.v8;u&&(r=(o=u.split("."))[0]>0&&o[0]<4?1:+(o[0]+o[1])),!r&&i&&(!(o=i.match(/Edge\/(\d+)/))||o[1]>=74)&&(o=i.match(/Chrome\/(\d+)/))&&(r=+o[1]),e.exports=r},37669:function(e,t,n){"use strict";var o=n(63770).match(/AppleWebKit\/(\d+)\./);e.exports=!!o&&+o[1]},43588:function(e){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},4150:function(e,t,n){"use strict";var o=n(27830),r=n(77195).f,a=n(44923),i=n(24510),c=n(43113),l=n(17636),d=n(78028);e.exports=function(e,t){var n,u,s,m,p,f=e.target,h=e.global,C=e.stat;if(n=h?o:C?o[f]||c(f,{}):(o[f]||{}).prototype)for(u in t){if(m=t[u],s=e.dontCallGetSet?(p=r(n,u))&&p.value:n[u],!d(h?u:f+(C?".":"#")+u,e.forced)&&s!==undefined){if(typeof m==typeof s)continue;l(m,s)}(e.sham||s&&s.sham)&&a(m,"sham",!0),i(n,u,m,e)}}},54565:function(e){"use strict";e.exports=function(e){try{return!!e()}catch(t){return!0}}},45096:function(e,t,n){"use strict";n(86981);var o=n(47876),r=n(24510),a=n(94761),i=n(54565),c=n(4108),l=n(44923),d=c("species"),u=RegExp.prototype;e.exports=function(e,t,n,s){var m=c(e),p=!i((function(){var t={};return t[m]=function(){return 7},7!=""[e](t)})),f=p&&!i((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[d]=function(){return n},n.flags="",n[m]=/./[m]),n.exec=function(){return t=!0,null},n[m](""),!t}));if(!p||!f||n){var h=o(/./[m]),C=t(m,""[e],(function(e,t,n,r,i){var c=o(e),l=t.exec;return l===a||l===u.exec?p&&!i?{done:!0,value:h(t,n,r)}:{done:!0,value:c(n,t,r)}:{done:!1}}));r(String.prototype,e,C[0]),r(u,m,C[1])}s&&l(u[m],"sham",!0)}},59844:function(e,t,n){"use strict";var o=n(41502),r=n(26096),a=n(96680),i=n(66202);e.exports=function c(e,t,n,l,d,u,s,m){for(var p,f=d,h=0,C=!!s&&i(s,m);h0&&o(p)?f=c(e,t,p,r(p),f,u-1)-1:(a(f+1),e[f]=p),f++),h++;return f}},67800:function(e,t,n){"use strict";var o=n(54565);e.exports=!o((function(){return Object.isExtensible(Object.preventExtensions({}))}))},90398:function(e,t,n){"use strict";var o=n(45766),r=Function.prototype,a=r.apply,i=r.call;e.exports="object"==typeof Reflect&&Reflect.apply||(o?i.bind(a):function(){return i.apply(a,arguments)})},66202:function(e,t,n){"use strict";var o=n(47876),r=n(17245),a=n(45766),i=o(o.bind);e.exports=function(e,t){return r(e),t===undefined?e:a?i(e,t):function(){return e.apply(t,arguments)}}},45766:function(e,t,n){"use strict";var o=n(54565);e.exports=!o((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},54281:function(e,t,n){"use strict";var o=n(47876),r=n(17245),a=n(47496),i=n(59897),c=n(90502),l=n(45766),d=Function,u=o([].concat),s=o([].join),m={},p=function(e,t,n){if(!i(m,t)){for(var o=[],r=0;r]*>)/g,u=/\$([$&'`]|\d{1,2})/g;e.exports=function(e,t,n,o,s,m){var p=n+e.length,f=o.length,h=u;return s!==undefined&&(s=r(s),h=d),c(m,h,(function(r,c){var d;switch(i(c,0)){case"$":return"$";case"&":return e;case"`":return l(t,0,n);case"'":return l(t,p);case"<":d=s[l(c,1,-1)];break;default:var u=+c;if(0===u)return r;if(u>f){var m=a(u/10);return 0===m?r:m<=f?o[m-1]===undefined?i(c,1):o[m-1]+i(c,1):r}d=o[u-1]}return d===undefined?"":d}))}},27830:function(e,t,n){"use strict";var o=function(e){return e&&e.Math==Math&&e};e.exports=o("object"==typeof globalThis&&globalThis)||o("object"==typeof window&&window)||o("object"==typeof self&&self)||o("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},59897:function(e,t,n){"use strict";var o=n(47876),r=n(16185),a=o({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return a(r(e),t)}},62751:function(e){"use strict";e.exports={}},38968:function(e,t,n){"use strict";var o=n(27830);e.exports=function(e,t){var n=o.console;n&&n.error&&(1==arguments.length?n.error(e):n.error(e,t))}},94221:function(e,t,n){"use strict";var o=n(77028);e.exports=o("document","documentElement")},72603:function(e,t,n){"use strict";var o=n(47063),r=n(54565),a=n(25022);e.exports=!o&&!r((function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))},19383:function(e){"use strict";var t=Array,n=Math.abs,o=Math.pow,r=Math.floor,a=Math.log,i=Math.LN2;e.exports={pack:function(e,c,l){var d,u,s,m=t(l),p=8*l-c-1,f=(1<>1,C=23===c?o(2,-24)-o(2,-77):0,N=e<0||0===e&&1/e<0?1:0,b=0;for((e=n(e))!=e||e===Infinity?(u=e!=e?1:0,d=f):(d=r(a(e)/i),e*(s=o(2,-d))<1&&(d--,s*=2),(e+=d+h>=1?C/s:C*o(2,1-h))*s>=2&&(d++,s/=2),d+h>=f?(u=0,d=f):d+h>=1?(u=(e*s-1)*o(2,c),d+=h):(u=e*o(2,h-1)*o(2,c),d=0));c>=8;)m[b++]=255&u,u/=256,c-=8;for(d=d<0;)m[b++]=255&d,d/=256,p-=8;return m[--b]|=128*N,m},unpack:function(e,t){var n,r=e.length,a=8*r-t-1,i=(1<>1,l=a-7,d=r-1,u=e[d--],s=127&u;for(u>>=7;l>0;)s=256*s+e[d--],l-=8;for(n=s&(1<<-l)-1,s>>=-l,l+=t;l>0;)n=256*n+e[d--],l-=8;if(0===s)s=1-c;else{if(s===i)return n?NaN:u?-Infinity:Infinity;n+=o(2,t),s-=c}return(u?-1:1)*n*o(2,s-t)}}},14611:function(e,t,n){"use strict";var o=n(47876),r=n(54565),a=n(38971),i=Object,c=o("".split);e.exports=r((function(){return!i("z").propertyIsEnumerable(0)}))?function(e){return"String"==a(e)?c(e,""):i(e)}:i},46050:function(e,t,n){"use strict";var o=n(87318),r=n(47496),a=n(96264);e.exports=function(e,t,n){var i,c;return a&&o(i=t.constructor)&&i!==n&&r(c=i.prototype)&&c!==n.prototype&&a(e,c),e}},58314:function(e,t,n){"use strict";var o=n(47876),r=n(87318),a=n(88185),i=o(Function.toString);r(a.inspectSource)||(a.inspectSource=function(e){return i(e)}),e.exports=a.inspectSource},56377:function(e,t,n){"use strict";var o=n(4150),r=n(47876),a=n(62751),i=n(47496),c=n(59897),l=n(96722).f,d=n(24037),u=n(903),s=n(11124),m=n(16067),p=n(67800),f=!1,h=m("meta"),C=0,N=function(e){l(e,h,{value:{objectID:"O"+C++,weakData:{}}})},b=e.exports={enable:function(){b.enable=function(){},f=!0;var e=d.f,t=r([].splice),n={};n[h]=1,e(n).length&&(d.f=function(n){for(var o=e(n),r=0,a=o.length;rb;b++)if((g=S(e[b]))&&d(h,g))return g;return new f(!1)}C=u(e,N)}for(v=C.next;!(_=r(v,C)).done;){try{g=S(_.value)}catch(I){m(C,"throw",I)}if("object"==typeof g&&g&&d(h,g))return g}return new f(!1)}},77687:function(e,t,n){"use strict";var o=n(49763),r=n(1341),a=n(42619);e.exports=function(e,t,n){var i,c;r(e);try{if(!(i=a(e,"return"))){if("throw"===t)throw n;return n}i=o(i,e)}catch(l){c=!0,i=l}if("throw"===t)throw n;if(c)throw i;return r(i),n}},31677:function(e,t,n){"use strict";var o,r,a,i=n(54565),c=n(87318),l=n(43261),d=n(50190),u=n(24510),s=n(4108),m=n(17982),p=s("iterator"),f=!1;[].keys&&("next"in(a=[].keys())?(r=d(d(a)))!==Object.prototype&&(o=r):f=!0),o==undefined||i((function(){var e={};return o[p].call(e)!==e}))?o={}:m&&(o=l(o)),c(o[p])||u(o,p,(function(){return this})),e.exports={IteratorPrototype:o,BUGGY_SAFARI_ITERATORS:f}},28368:function(e){"use strict";e.exports={}},26096:function(e,t,n){"use strict";var o=n(17711);e.exports=function(e){return o(e.length)}},75391:function(e,t,n){"use strict";var o=n(54565),r=n(87318),a=n(59897),i=n(47063),c=n(42104).CONFIGURABLE,l=n(58314),d=n(19511),u=d.enforce,s=d.get,m=Object.defineProperty,p=i&&!o((function(){return 8!==m((function(){}),"length",{value:8}).length})),f=String(String).split("String"),h=e.exports=function(e,t,n){"Symbol("===String(t).slice(0,7)&&(t="["+String(t).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(t="get "+t),n&&n.setter&&(t="set "+t),(!a(e,"name")||c&&e.name!==t)&&m(e,"name",{value:t,configurable:!0}),p&&n&&a(n,"arity")&&e.length!==n.arity&&m(e,"length",{value:n.arity});try{n&&a(n,"constructor")&&n.constructor?i&&m(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=undefined)}catch(r){}var o=u(e);return a(o,"source")||(o.source=f.join("string"==typeof t?t:"")),e};Function.prototype.toString=h((function(){return r(this)&&s(this).source||l(this)}),"toString")},8348:function(e){"use strict";var t=Math.expm1,n=Math.exp;e.exports=!t||t(10)>22025.465794806718||t(10)<22025.465794806718||-2e-17!=t(-2e-17)?function(e){var t=+e;return 0==t?t:t>-1e-6&&t<1e-6?t+t*t/2:n(t)-1}:t},17976:function(e,t,n){"use strict";var o=n(47033),r=Math.abs,a=Math.pow,i=a(2,-52),c=a(2,-23),l=a(2,127)*(2-c),d=a(2,-126);e.exports=Math.fround||function(e){var t,n,a=+e,u=r(a),s=o(a);return ul||n!=n?s*Infinity:s*n}},81361:function(e){"use strict";var t=Math.log,n=Math.LOG10E;e.exports=Math.log10||function(e){return t(e)*n}},24416:function(e){"use strict";var t=Math.log;e.exports=Math.log1p||function(e){var n=+e;return n>-1e-8&&n<1e-8?n-n*n/2:t(1+n)}},47033:function(e){"use strict";e.exports=Math.sign||function(e){var t=+e;return 0==t||t!=t?t:t<0?-1:1}},96426:function(e){"use strict";var t=Math.ceil,n=Math.floor;e.exports=Math.trunc||function(e){var o=+e;return(o>0?n:t)(o)}},81795:function(e,t,n){"use strict";var o,r,a,i,c,l,d,u,s=n(27830),m=n(66202),p=n(77195).f,f=n(97638).set,h=n(32679),C=n(92903),N=n(40739),b=n(72149),V=s.MutationObserver||s.WebKitMutationObserver,g=s.document,v=s.process,_=s.Promise,k=p(s,"queueMicrotask"),y=k&&k.value;y||(o=function(){var e,t;for(b&&(e=v.domain)&&e.exit();r;){t=r.fn,r=r.next;try{t()}catch(n){throw r?i():a=undefined,n}}a=undefined,e&&e.enter()},h||b||N||!V||!g?!C&&_&&_.resolve?((d=_.resolve(undefined)).constructor=_,u=m(d.then,d),i=function(){u(o)}):b?i=function(){v.nextTick(o)}:(f=m(f,s),i=function(){f(o)}):(c=!0,l=g.createTextNode(""),new V(o).observe(l,{characterData:!0}),i=function(){l.data=c=!c})),e.exports=y||function(e){var t={fn:e,next:undefined};a&&(a.next=t),r||(r=t,i()),a=t}},22704:function(e,t,n){"use strict";var o=n(54868);e.exports=o&&!!Symbol["for"]&&!!Symbol.keyFor},54868:function(e,t,n){"use strict";var o=n(28470),r=n(54565);e.exports=!!Object.getOwnPropertySymbols&&!r((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&o&&o<41}))},2759:function(e,t,n){"use strict";var o=n(27830),r=n(87318),a=n(58314),i=o.WeakMap;e.exports=r(i)&&/native code/.test(a(i))},19455:function(e,t,n){"use strict";var o=n(17245),r=function(e){var t,n;this.promise=new e((function(e,o){if(t!==undefined||n!==undefined)throw TypeError("Bad Promise constructor");t=e,n=o})),this.resolve=o(t),this.reject=o(n)};e.exports.f=function(e){return new r(e)}},71709:function(e,t,n){"use strict";var o=n(64975),r=TypeError;e.exports=function(e){if(o(e))throw r("The method doesn't accept regular expressions");return e}},48207:function(e,t,n){"use strict";var o=n(27830).isFinite;e.exports=Number.isFinite||function(e){return"number"==typeof e&&o(e)}},97499:function(e,t,n){"use strict";var o=n(27830),r=n(54565),a=n(47876),i=n(75234),c=n(21802).trim,l=n(69788),d=a("".charAt),u=o.parseFloat,s=o.Symbol,m=s&&s.iterator,p=1/u(l+"-0")!=-Infinity||m&&!r((function(){u(Object(m))}));e.exports=p?function(e){var t=c(i(e)),n=u(t);return 0===n&&"-"==d(t,0)?-0:n}:u},41655:function(e,t,n){"use strict";var o=n(27830),r=n(54565),a=n(47876),i=n(75234),c=n(21802).trim,l=n(69788),d=o.parseInt,u=o.Symbol,s=u&&u.iterator,m=/^[+-]?0x/i,p=a(m.exec),f=8!==d(l+"08")||22!==d(l+"0x16")||s&&!r((function(){d(Object(s))}));e.exports=f?function(e,t){var n=c(i(e));return d(n,t>>>0||(p(m,n)?16:10))}:d},11732:function(e,t,n){"use strict";var o=n(47063),r=n(47876),a=n(49763),i=n(54565),c=n(88734),l=n(71403),d=n(8258),u=n(16185),s=n(14611),m=Object.assign,p=Object.defineProperty,f=r([].concat);e.exports=!m||i((function(){if(o&&1!==m({b:1},m(p({},"a",{enumerable:!0,get:function(){p(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach((function(e){t[e]=e})),7!=m({},e)[n]||c(m({},t)).join("")!=r}))?function(e,t){for(var n=u(e),r=arguments.length,i=1,m=l.f,p=d.f;r>i;)for(var h,C=s(arguments[i++]),N=m?f(c(C),m(C)):c(C),b=N.length,V=0;b>V;)h=N[V++],o&&!a(p,C,h)||(n[h]=C[h]);return n}:m},43261:function(e,t,n){"use strict";var o,r=n(1341),a=n(13753),i=n(43588),c=n(62751),l=n(94221),d=n(25022),u=n(37739),s=u("IE_PROTO"),m=function(){},p=function(e){return"