diff --git a/Dockerfile b/Dockerfile index bebb29169b6..ddc0be332d0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,10 +2,10 @@ FROM python:3.12-slim COPY requirements.txt /tmp/requirements.txt RUN apt update && \ - apt install build-essential -y && \ - apt install -y curl && \ + apt install build-essential curl -y && \ curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && \ apt-get install -y nodejs && \ + rm -rf /var/lib/apt/lists/* && \ pip3 install --no-cache-dir -r /tmp/requirements.txt WORKDIR /app diff --git a/app.py b/app.py index a10679a09ea..6ab247d2c4d 100644 --- a/app.py +++ b/app.py @@ -51,7 +51,7 @@ translating, tags, surveys, super_teacher, public_adventures, user_activity, feedback) from website.auth import (current_user, is_admin, is_teacher, is_second_teacher, is_super_teacher, is_students_teacher, has_public_profile, login_user_from_token_cookie, requires_login, requires_login_redirect, - requires_teacher, forget_current_user, hide_explore) + forget_current_user, hide_explore) from website.log_fetcher import log_fetcher from website.frontend_types import Adventure, Program, ExtraStory, SaveInfo from website.flask_hedy import g_db @@ -94,10 +94,6 @@ for lang in ALL_LANGUAGES.keys(): QUIZZES[lang] = hedy_content.Quizzes(lang) -TUTORIALS = collections.defaultdict(hedy_content.NoSuchTutorial) -for lang in ALL_LANGUAGES.keys(): - TUTORIALS[lang] = hedy_content.Tutorials(lang) - SLIDES = collections.defaultdict(hedy_content.NoSuchSlides) for lang in ALL_LANGUAGES.keys(): SLIDES[lang] = hedy_content.Slides(lang) @@ -786,21 +782,6 @@ def parse_by_id(user): return make_response(gettext("request_invalid"), 400) -@app.route('/parse_tutorial', methods=['POST']) -@requires_login -def parse_tutorial(user): - body = request.json - - code = body['code'] - level = try_parse_int(body['level']) - try: - result = hedy.transpile(code, level, "en") - # this is not a return, is this code needed? - make_response(({'code': result.code}), 200) - except BaseException: - return make_response(gettext("request_invalid"), 400) - - @app.route("/generate_machine_files", methods=['POST']) def prepare_files(): body = request.json @@ -1191,78 +1172,6 @@ def get_log_results(): return make_response(response, 200) -@app.route('/tutorial', methods=['GET']) -def tutorial_index(): - if not current_user()['username']: - return redirect('/login') - level = 1 - cheatsheet = COMMANDS[g.lang].get_commands_for_level(level, g.keyword_lang) - commands = hedy.commands_per_level.get(level) - adventures = load_adventures_for_level(level) - parsons = len(PARSONS[g.lang].get_parsons_data_for_level(level)) - initial_tab = adventures[0].short_name - initial_adventure = adventures[0] - - max_level = hedy.HEDY_MAX_LEVEL # do we need to fetch the max level per language? - - return render_template( - "code-page.html", - intro_tutorial=True, - next_level=2, - level_nr=str(level), - level=str(level), - adventures=adventures, - initial_tab=initial_tab, - commands=commands, - quiz=True, - max_level=max_level, - parsons=True if parsons else False, - parsons_exercises=parsons, - initial_adventure=initial_adventure, - cheatsheet=cheatsheet, - blur_button_available=False, - current_user_is_in_class=len(current_user().get('classes') or []) > 0, - # See initialize.ts - javascript_page_options=dict( - page='code', - level=level, - lang=g.lang, - adventures=adventures, - initial_tab=initial_tab, - current_user_name=current_user()['username'], - start_tutorial=True, - )) - - -@app.route('/teacher-tutorial', methods=['GET']) -@requires_teacher -def teacher_tutorial(user): - teacher_classes = g_db().get_teacher_classes(user['username'], True) - adventures = [] - for adventure in g_db().get_teacher_adventures(user['username']): - adventures.append( - {'id': adventure.get('id'), - 'name': adventure.get('name'), - 'date': utils.localized_date_format(adventure.get('date')), - 'level': adventure.get('level') - } - ) - - return render_template('for-teachers.html', current_page='my-profile', - page_title=gettext('title_for-teacher'), - teacher_classes=teacher_classes, - teacher_adventures=adventures, - tutorial=True, - content=hedyweb.PageTranslations('for-teachers').get_page_translations(g.lang), - javascript_page_options=dict( - page='for-teachers', - tutorial=True, - )) - - -# routing to index.html - - @app.route('/hour-of-code/', methods=['GET']) @app.route('/hour-of-code', methods=['GET'], defaults={'level': 1}) def hour_of_code(level, program_id=None): @@ -1381,7 +1290,6 @@ def hour_of_code(level, program_id=None): hide_cheatsheet = True quiz = True if QUIZZES[g.lang].get_quiz_data_for_level(level) else False - tutorial = True if TUTORIALS[g.lang].get_tutorial_for_level(level) else False quiz_questions = 0 @@ -1415,7 +1323,6 @@ def hour_of_code(level, program_id=None): commands=commands, # parsons=parsons, # parsons_exercises=parson_exercises, - tutorial=tutorial, latest=version(), quiz=quiz, quiz_questions=quiz_questions, @@ -1453,12 +1360,14 @@ def index(level, program_id): return utils.error_page(error=404, ui_message=gettext('no_such_level')) loaded_program = None + suppress_save_and_load = False if program_id: result = g_db().program_by_id(program_id) if not result or not get_current_user_program_permissions(result): return utils.error_page(error=404, ui_message=gettext('no_such_program')) loaded_program = Program.from_database_row(result) + suppress_save_and_load = True # Initially all levels are available -> strip those for which conditions # are not met or not available yet @@ -1593,7 +1502,6 @@ def index(level, program_id): parsons = True if PARSONS[g.lang].get_parsons_data_for_level(level) else False quiz = True if QUIZZES[g.lang].get_quiz_data_for_level(level) else False - tutorial = True if TUTORIALS[g.lang].get_tutorial_for_level(level) else False quiz_questions = 0 parson_exercises = 0 @@ -1649,7 +1557,6 @@ def index(level, program_id): commands=commands, parsons=parsons, parsons_exercises=parson_exercises, - tutorial=tutorial, latest=version(), quiz=quiz, quiz_questions=quiz_questions, @@ -1669,6 +1576,7 @@ def index(level, program_id): adventures=adventures, initial_tab=initial_tab, current_user_name=current_user()['username'], + suppress_save_and_load=suppress_save_and_load, )) @@ -1684,12 +1592,14 @@ def tryit(level, program_id): return utils.error_page(error=404, ui_message=gettext('no_such_level')) loaded_program = None + suppress_save_and_load = False if program_id: result = g_db().program_by_id(program_id) if not result or not get_current_user_program_permissions(result): return utils.error_page(error=404, ui_message=gettext('no_such_program')) loaded_program = Program.from_database_row(result) + suppress_save_and_load = True # Initially all levels are available -> strip those for which conditions # are not met or not available yet @@ -1824,7 +1734,6 @@ def tryit(level, program_id): parsons = True if PARSONS[g.lang].get_parsons_data_for_level(level) else False quiz = True if QUIZZES[g.lang].get_quiz_data_for_level(level) else False - tutorial = True if TUTORIALS[g.lang].get_tutorial_for_level(level) else False quiz_questions = 0 parson_exercises = 0 @@ -1880,7 +1789,6 @@ def tryit(level, program_id): commands=commands, parsons=parsons, parsons_exercises=parson_exercises, - tutorial=tutorial, latest=version(), quiz=quiz, quiz_questions=quiz_questions, @@ -1900,6 +1808,7 @@ def tryit(level, program_id): adventures=adventures, initial_tab=initial_tab, current_user_name=current_user()['username'], + suppress_save_and_load=suppress_save_and_load, )) @@ -2070,7 +1979,7 @@ def render_code_in_editor(level): adventures=adventures, initial_tab='start', current_user_name=current_user()['username'], - suppress_save_and_load_for_slides=True, + suppress_save_and_load=True, )) @@ -2603,25 +2512,6 @@ def translate_keywords(): return make_response(gettext('translate_error'), 400) -# TODO TB: Think about changing this to sending all steps to the front-end at once -@app.route('/get_tutorial_step//', methods=['GET']) -def get_tutorial_translation(level, step): - # Keep this structure temporary until we decide on a nice code / parse structure - if step == "code_snippet": - code = hedy_content.deep_translate_keywords(gettext('tutorial_code_snippet'), g.keyword_lang) - return make_response({'code': code}, 200) - try: - step = int(step) - except ValueError: - return make_response(gettext('invalid_tutorial_step'), 400) - - data = TUTORIALS[g.lang].get_tutorial_for_level_step(level, step, g.keyword_lang) - if not data: - data = {'title': gettext('tutorial_title_not_found'), - 'text': gettext('tutorial_message_not_found')} - return make_response((data), 200) - - @app.route('/store_parsons_order', methods=['POST']) def store_parsons_order(): body = request.json diff --git a/content/tutorials/cy.yaml b/content/adventures/be.yaml similarity index 100% rename from content/tutorials/cy.yaml rename to content/adventures/be.yaml diff --git a/content/adventures/cs.yaml b/content/adventures/cs.yaml index 074494a2228..d41eb598192 100644 --- a/content/adventures/cs.yaml +++ b/content/adventures/cs.yaml @@ -138,7 +138,7 @@ adventures: ``` story_text: "Budeme tisknout další příběh, ale nyní musíme použít závorky s `{print}`.\n\n### Cvičení 1\nVytvořte příběh o minimálně 5 větách. Zatím nemusíte používat 'jméno'.\n" story_text_2: "## Cvičení 2\nJiž jsme pro vás připravili `{input}`. Nejprve ve svém příběhu použijte proměnnou `name`.\nPoté přidejte druhou proměnnou `{ask}` a použijte ji také.\nTip: Nezapomeňte na čárky v `{print}` mezi textem a proměnnými!\n" - example_code_2: "```\nnaam = {input}(„Jak se jmenujete?“)\n{print}(„Vítejte v tomto příběhu!“)\n```\n" + example_code_2: "```\njmeno = {input}(\"Jak se jmenujete?\")\n{print}('Vítejte v tomto příběhu!')\n```\n" 15: example_code: "```\nkeys = 'lost'\n{print} 'You are standing in your garden and you have lost your keys.'\n{print} 'Where do you want to look for them?'\n{print} 'You can choose: tree, flowerbed, rock, postbox'\n{while} keys == 'lost'\n location = {ask} 'Where do you want to look?'\n {if} location == 'flowerbed'\n {print} 'Here they are!'\n keys = 'found'\n {else}\n {print} 'Nope they are not at the ' location\n{print} 'Now you can enter the house!'\n```\n" story_text: "oužití smyčky `{while}` může vaše příběhy učinit zajímavějšími. Můžete například použít `{while} game == 'on'`, abyste mohli hrát, dokud hra neskončí.\nNebo můžete použít `{while} sword == 'lost'`, takže hráč nemůže pokračovat ve hře, dokud něco nenajde.\n\n### Cvičení\nPříklad kódu ukazuje, jak v příběhu použít cyklus `{while}`. Nyní si **vymyslete vlastní scénář**, ve kterém musí hráč něco najít, než bude moci pokračovat.\n" @@ -146,8 +146,8 @@ adventures: story_text: "V této úrovni si můžete naprogramovat různé konce, díky kterým bude váš příběh ještě zábavnější.\nV ukázkovém kódu se můžete podívat, jak vytvořit 2 různé konce.\n\n### Cvičení 1\nNapište nový krátký příběh o délce alespoň 6 řádků kódu na téma, které si sami zvolíte.\nNemáte inspiraci? Vyberte si jedno z těchto témat: superhrdina, nudný školní den, uvíznutí na pustém ostrově.\n\nNyní dejte hráči možnost vybrat si šťastný nebo špatný konec, stejně jako v ukázkovém kódu.\nNaprogramujte oba konce.\n\n### Cvičení 2\nZkopírujte příběh, který jste vytvořili ve vlastním příběhovém dobrodružství v předchozích úrovních.\nNajděte způsob, jak do příběhu přidat alespoň 2 příkazy `{if}` a `{else}`.\nMůže to být se šťastným nebo špatným koncem, ale můžete se pokusit najít i jiné způsoby, jak příkazy zakomponovat.\n" example_code: "```\nname {is} {ask} 'Who is walking in the forest?'\n{print} name ' walks through the forest'\n{print} name ' encounters a monster'\nend {is} {ask} 'Would you like a good or a bad ending?'\n{if} end {is} good {print} name ' takes the sword and the monster quickly runs away'\n{else} {print} 'The monster eats ' name\n```\n" 4: - story_text: "### Cvičení\nZkopírujte příklad kódu a dokončete jej doplněním uvozovek na prázdná místa v řádcích 1 a 2.\nPrázdná místa na řádcích 3 a 4 by neměla být nahrazena uvozovkami, ale příkazem `{sleep}` a `{clear}``. Dokážete to zprovoznit?\n\n### Cvičení 2\nVraťte se na předchozí úroveň a zkopírujte kód svého příběhu. Zajistěte, aby kód fungoval i v této úrovni, a to přidáním uvozovek na správná místa.\nMyslete na to: Proměnné ve vašem vlastním příběhu by měly být mimo uvozovky. Stejně jako na druhém řádku ukázkového kódu. V tomto řádku je název proměnné umístěn mimo uvozovky\n" - example_code: "```\nname {is} {ask} _ Jak se jmenujete? _\n{print} Hlavní postava se jmenuje _jméno\n_\n_\n{print} jméno _ se nyní chystá na procházku lesem _\n{print} jméno _ se trochu bojí _\nzvířátka {is} 🦔, 🐿, 🦉, 🦇\n{print} _Slyší zvuk _zvířat {at} {random}\n{print} jméno _ bojí se, že je to strašidelný les _\n```\n" + story_text: "### Cvičení\nZkopírujte příklad kódu a dokončete jej doplněním uvozovek na prázdná místa v řádcích 1 a 2.\nPrázdná místa na řádcích 3 a 4 by neměla být nahrazena uvozovkami, ale příkazem `{sleep}` a `{clear}`. Dokážete to zprovoznit?\n\n### Cvičení 2\nVraťte se na předchozí úroveň a zkopírujte kód svého příběhu. Zajistěte, aby kód fungoval i v této úrovni, a to přidáním uvozovek na správná místa.\nMyslete na to: Proměnné ve vašem vlastním příběhu by měly být mimo uvozovky. Stejně jako na druhém řádku ukázkového kódu. V tomto řádku je název proměnné umístěn mimo uvozovky\n" + example_code: "```\njméno {is} {ask} _ Jak se jmenujete? _\n{print} _ Hlavní postava se jmenuje _ jméno\n_\n_\n{print} jméno _ se nyní chystá na procházku lesem _\n{print} jméno _ se trochu bojí _\nzvířátka {is} 🦔, 🐿, 🦉, 🦇\n{print} _ Slyší zvuk _ zvířátka {at} {random}\n{print} jméno _ bojí se, že je to strašidelný les _\n```\n" ask_command: levels: 2: @@ -237,7 +237,7 @@ adventures: print '5 mínus 5 je ' 5 - 5 print '5 krát 5 je ' 5 * 5 ``` - example_code: "```\njídlo_cena {is} 0\nnápoj_cena {is} 0\ncelková_cena {is} 0\n{print} \"Vítejte v McHedy\nobjednávka {is} {ask} „Co si dáte k jídlu?\n{if} objednávka {is} hamburger cena jídla {is} 5\n{if} objednávka {is} hranolky food_price {is} 2\nnápoj {is} {ask} „Co byste si dal k pití?\n{if} nápoj {is} voda nápoj_cena {is} 0\n{else} cena_nápoje {is} 3\ncelková_cena {is} cena_jídla + cena_nápoje\n{print} \"To bude ‚ celková_cena ‘ dolarů, prosím\n```\n" + example_code: "```\njídlo_cena {is} 0\nnápoj_cena {is} 0\ncelková_cena {is} 0\n{print} 'Vítejte v McHedy'\nobjednávka {is} {ask} 'Co si dáte k jídlu?'\n{if} objednávka {is} hamburger jídlo_cena {is} 5\n{if} objednávka {is} hranolky jídlo_cena {is} 2\nnápoj {is} {ask} 'Co byste si dal k pití?'\n{if} nápoj {is} voda nápoj_cena {is} 0\n{else} nápoj_cena {is} 3\ncelková_cena {is} jídlo_cena + nápoj_cena\n{print} 'To bude ' celková_cena ' dolarů, prosím'\n```\n" 7: story_text: |- `ask`, `print` a `if` fungují stejně jako na úrovni 5 a 6. @@ -263,7 +263,7 @@ adventures: example_code: "```\nburger = 5\nnápoj = 2\ncelkem = hamburger + nápoj\nprint 'Objednali jste si hamburger a nápoj'\nprint 'To stojí ' celkem ' dolarů, prosím'\n```\n" 13: story_text: Teď se naučíme `and` (česky a) a `or` (nebo)! Když chceš ověřit dvě podmínky, nemusíš k tomu použít dva `if`y, ale stačí ti k tomu `and` a `or`. Pokud použiješ `and`, musí být obě podmínky, napravo i nalevo, pravdivé. S `or` stačí, aby byla pravdivá alespoň jedna z nich. - example_code: "```\nuživatelské jméno = {ask} 'Jaké je vaše uživatelské jméno?'\nheslo = {ask} 'Jaké je vaše heslo?'\n{if} username {is} 'Hedy'\n {if} heslo {is} 'secret'\n {print} „Vítejte Hedy!\n {else}\n {print} „Přístup odepřen\n{else}\n {print} „Přístup zamítnut!\n```\n" + example_code: "```\nuživatelské_jméno = {ask} 'Jaké je vaše uživatelské jméno?'\nheslo = {ask} 'Jaké je vaše heslo?'\n{if} uživatelské_jméno {is} 'Hedy'\n {if} heslo {is} 'secret'\n {print} 'Vítejte Hedy!'\n {else}\n {print} 'Přístup odepřen'\n{else}\n {print} 'Přístup zamítnut!'\n```\n" 14: story_text: |- Pojďme se naučit pár nových věcí! Možná už je znáš z matematiky, jde o `<` a `>`. @@ -299,7 +299,7 @@ adventures: V této úrovni můžete také použít nový příkaz: `{elif}`. Příkaz `{elif}` je zkratka z `{else} {if}` a využijete jej, když chcete provést tři (nebo více!) možností. Vyzkoušejte jej! 10: - example_code: "```\n{repeat} 2 {times}\n {print} 'if youre happy and you know it clap your hands'\n{print} „pokud jsi šťastný a víš to a opravdu to chceš ukázat\n{print} „pokud jsi šťastný a víš to, zatleskej\n```\n" + example_code: "```\n{repeat} 2 {times}\n {print} 'if youre happy and you know it clap your hands'\n{print} 'pokud jsi šťastný a víš to a opravdu to chceš ukázat'\n{print} 'pokud jsi šťastný a víš to, zatleskej'\n```\n" story_text: "Vedeš si skvěle! V předchozích úrovních jsme se stále potýkali s malým problémem. Naučili jste se opakovat řádky, ale co když byste chtěli řádek mírně změnit.\nNapříklad když budete chtít zazpívat píseň „if you're happy and you know it“. Vypadalo by to následovně:\n\nPokud byste chtěli, aby i další sloka zněla 'dupej nohama', a další a další, museli byste kód úplně změnit.\nV této úrovni se naučíte příkaz `{for}`, který vám umožní vytvořit seznam akcí a kód opakovat pokaždé s jinou akcí!\nProsím, podívejte se!\n" 2: example_code: "**Upozornění! Tento kód nefunguje!**\nV Hedy se příkazy občas mění. Například `{echo}` funguje pouze v úrovni 1. V této úrovni se naučíte lepší způsob, jak odpovídat echem zpět.\n```\n{print} Vítejte u Hedyho\n{ask} Co byste si dali k jídlu?\n{echo} Takže chcete\n{ask} Co byste si dali k pití?\n{echo} Takže chceš\n```\n" @@ -308,9 +308,9 @@ adventures: story_text: "Dosáhl jsi 11. úrovně, vedeš si skvěle! Ve vyšších úrovních se Hedy stále více zaměřuje na výuku programovacího jazyka Python.\nV jazyce Python neexistuje příkaz `{repeat}`, ale existuje příkaz, který funguje jako {repeat}. Zajímá vás, jak se v jazyce Python řekne `{repeat}`? Rychle pokračujte a dozvíte se to!\n" 9: story_text: "kvělá práce! Dosáhl jsi další nové úrovně! V předchozí úrovni jste se naučili používat více řádků kódu v příkazu {if} nebo {repeat}. Zatím však neumíte tyto dva příkazy kombinovat...\nDobrá zpráva! V této úrovni budete moci vložit příkaz {if} dovnitř příkazu {if} nebo dovnitř příkazu {repeat}. Vložení bloku kódu do jiného bloku kódu se nazývá vnořování. ``` Vložení bloku kódu do jiného bloku kódu se nazývá vnořování.\n" - example_code: "```\nanswer = {ask} 'Jste připraveni naučit se něco nového?'\n{if} odpověď {is} ano\n {print} 'Skvělé! Můžete se naučit používat příkaz repeat v příkazu if!'\n {print} „Hurá!\n {print} „Hurá!\n {print} „Hurá!\n{else}\n {print} „Možná by sis měl ještě trochu procvičit předchozí úroveň.\n" + example_code: "```\nanswer = {ask} 'Jste připraveni naučit se něco nového?'\n{if} odpověď {is} ano\n {print} 'Skvělé! Můžete se naučit používat příkaz repeat v příkazu if!'\n {print} 'Hurá!'\n {print} 'Hurá!'\n {print} 'Hurá!'\n{else}\n {print} 'Možná by sis měl ještě trochu procvičit předchozí úroveň.'\n" 18: - story_text: "Gratulujeme! Dosáhli jste poslední úrovně hry Hedy! Kód, který jste zde vytvořili, můžete zkopírovat do skutečných prostředí Pythonu, jako je replit nebo PyCharm, a pokračovat v učení tam!\nUpozorňujeme však, že Python umí číst pouze anglické příkazy, takže pokud jste používali jiné jazyky, budete muset nyní přejít na angličtinu.\n" + story_text: "Gratulujeme! Dosáhli jste poslední úrovně hry Hedy! Kód, který jste zde vytvořili, můžete zkopírovat do skutečných prostředí Pythonu, jako je Replit nebo PyCharm, a pokračovat v učení tam!\nUpozorňujeme však, že Python umí číst pouze anglické příkazy, takže pokud jste používali jiné jazyky, budete muset nyní přejít na angličtinu.\n" name: Úvod default_save_name: úvod haunted: @@ -375,10 +375,10 @@ adventures: ``` 4: story_text: "V této úrovni se naučíte používat ve hrách uvozovky.\n\n### Cvičení\nDokážete svůj Strašidelný dům na úrovni 4 prokázat?\n\n### Cvičení 2\nVraťte se na předchozí úroveň a zkopírujte svůj kód strašidelného domu. Upravte kód tak, aby fungoval i v této úrovni, a to přidáním uvozovek na správná místa.\n" - example_code: "```\n_ Do tohoto kódu přidejte uvozovky _\n{print}Utečte ze strašidelného domu!\n{print}Před vámi jsou 3 dveře...\nvolba {is}{ask} Které dveře si vybereš?\n{print}Vybrali jste si dveře ... volba\nPříšery {is}zombie, upír, NIC, Z čeho jsi unikl.\n{print}Vidíš...\n{sleep}\n{print}příšery {at}{random}\n ```\n" + example_code: "```\n_ Do tohoto kódu přidejte uvozovky _\n{print} Utečte ze strašidelného domu!\n{print} Před vámi jsou 3 dveře...\nvolba {is} {ask} Které dveře si vybereš?\n{print} Vybrali jste si dveře ... volba\npříšery {is} zombie, upír, NIC, Z čeho jsi unikl.\n{print} Vidíš...\n{sleep}\n{print} příšery {at} {random}\n ```\n" 14: story_text: "### Cvičení\nV této úrovni můžete použít symbol `<` a `>` k zavedení životů do hry.\nUjistěte se, že hráč ztratí život, když narazí na špatnou příšeru, a že hra se zastaví, pokud vám nezbývají žádné životy.\n" - example_code: "```\n{print} 'Útěk ze strašidelného domu'\nživoty = 3\ndveře = 1, 2, 3\npříšery = 'zlá čarodějnice', 'zombie', 'spící tříhlavý pes'\n{for} i {in} {range} 1 {to}10\n {if}životy _\n dobré_dveře = dveře {at} {random}\n příšera = příšery {at} {random}\n vybrané_dveře = {ask} \"Které dveře si vybereš?\n {if} dobré_dveře == vybrané_dveře\n {print} \"Vybrali jste si správné dveře\n {else}\n {print} „Vidíš...“ příšera\n {if} příšera == 'spící tříhlavý pes'\n {print} 'Pffieuw.... Spí.\n {else}\n {print} \"Ztrácíš jeden život\n životy = _\n {else}\n {print} ''KONEC HRY''\n```\n" + example_code: "```\n{print} 'Útěk ze strašidelného domu'\nživoty = 3\ndveře = 1, 2, 3\npříšery = 'zlá čarodějnice', 'zombie', 'spící tříhlavý pes'\n{for} i {in} {range} 1 {to}10\n {if} životy _\n dobré_dveře = dveře {at} {random}\n příšera = příšery {at} {random}\n vybrané_dveře = {ask} 'Které dveře si vybereš?'\n {if} dobré_dveře == vybrané_dveře\n {print} 'Vybrali jste si správné dveře'\n {else}\n {print} 'Vidíš...' příšera\n {if} příšera == 'spící tříhlavý pes'\n {print} 'Pffieuw.... Spí.'\n {else}\n {print} 'Ztrácíš jeden život'\n životy = _\n {else}\n {print} 'KONEC HRY'\n```\n" 3: story_text: "V předchozích úrovních jste se seznámili s hrou na strašidelný dům, ale jak jste si mohli všimnout, příběh měl vždy strašlivý konec.\nV této úrovni můžete svůj příběh učinit interaktivnějším tím, že změníte výsledek hry; někdy vás sežerou, jindy utečete!\nNechte Hedy rozhodnout náhodně!\n\n### Cvičení\nZkopírujte příkladové kódy a doplňte prázdná místa tak, aby to fungovalo!\n\n**Extra** Tento příběh je docela přímočarý, možná ho můžete trochu rozproudit přidáním napínavějšího příběhu.\nTaké máte nyní velmi omezené výsledky, jsou zde pouze 3 možnosti toho, co je za dveřmi. Možná tě napadnou další příšery, které bys mohl přidat na seznam!\n" example_code: "```\n_ Útěk ze strašidelného domu!\n_ Před vámi jsou 3 dveře...\n_ _ _ _ Které dveře si vyberete?\n_ Vybrali jste si dveře ... volba\nPříšery _ zombie, upír, NIC, Z čeho jsi unikl.\n_ Vidíš...\n{sleep}\n_ _ _ _\n```\n" @@ -392,7 +392,7 @@ adventures: story_text: "### Cvičení\nTato hra se strašidelným domem využívá spojení mezi seznamy, které můžete použít v této úrovni.\nNapříklad: všechny vlastnosti, které patří zombie, jsou ve všech seznamech na prvním místě, čarodějnice na druhém a upír na třetím.\nPodívejte se na kód a doplňte `weapons[i]`, `monsters[i]` , `bad_fate[i]`, `good_fate[i]`, `hint[i]` na správná prázdná místa, aby kód fungoval!\n" 5: story_text: "Až do této úrovně hra se strašidelným domem vždy vyžadovala, aby si hráč vybral dveře, ale jak jste si možná všimli, nemusel odpovědět správně.\nPokud hráč vyplnil zcela náhodnou odpověď, hra stále fungovala a hráč mohl dokonce vyhrát (přestože nevybral dveře).\nV této úrovni můžete hru vyhrát pouze tak, že vyberete stejné dveře, které náhodně vybrala Hedy.\n\n### Cvičení\nDokážete najít 4 chybějící slova k dokončení kódu?\n" - example_code: "```\n{print} 'Útěk ze strašidelného domu!'\n{print} \"Před vámi jsou 3 dveře...\ndveře {is} 1, 2, 3\npříšery {is} vlkodlak, mumie, upír, zombie\nzvolené_dveře {is} {ask} „Které dveře si vybereš?\n{print} „Vybrali jste si dveře...“ zvolené_dveře\n{sleep}\ncorrect_door {is} doors {at} {random}\n_ _ _ _ {print} \"Skvělé! Utekli jste!\n{else} {print} „Ale ne! Sežral tě...“ příšery {at} {random}\n```\n" + example_code: "```\n{print} 'Útěk ze strašidelného domu!'\n{print} 'Před vámi jsou 3 dveře...'\ndveře {is} 1, 2, 3\npříšery {is} vlkodlak, mumie, upír, zombie\nzvolené_dveře {is} {ask} 'Které dveře si vybereš?'\n{print} 'Vybrali jste si dveře...' zvolené_dveře\n{sleep}\nzvolené_dveře {is} dveře {at} {random}\n_ _ _ _ {print} 'Skvělé! Utekli jste!'\n{else} {print} 'Ale ne! Sežral tě...' příšery {at} {random}\n```\n" name: Strašidelný dům default_save_name: Strašidelný dům music: @@ -413,7 +413,7 @@ adventures: example_code: "```\n{play} C4\n{play} D4\n{play} E4\n{play} F4\n{play} G4\n{play} A4\n{play} B4\n{play} C5\n```" 17: story_text: "K vytvoření různých možností můžete použít {elif}.\n\n### Cvičení\nNejprve přidejte dvojtečky, aby kód fungoval.\nPoté tento kód dokončete přidáním alespoň 2 dalších skladeb pro jiné nálady. Například veselou a naštvanou píseň.\n" - example_code: "```\n{define}strašidelná_píseň\n {for}i {in}{range} 1 {to}3\n {play}G\n {play}E\n {sleep}2\n {for}i {in}{range} 1 {to}3\n {play}F\n {play}D\n\nnálada = {ask}\"Jakou emoci cítíte?\n{if}nálada {is}\"strach\n {call}strašidelná_píseň\n{elif}_\n```\n" + example_code: "```\n{define} strašidelná_píseň\n {for}i {in}{range} 1 {to} 3\n {play} G\n {play} E\n {sleep} 2\n {for} i {in} {range} 1 {to} 3\n {play} F\n {play} D\n\nnálada = {ask} 'Jakou emoci cítíte?'\n{if} nálada {is} 'strach'\n {call} strašidelná_píseň\n{elif} _\n```\n" 5: story_text: "Příkaz `{play}` nemusíte vždy použít k přehrání celé skladby, někdy chcete přehrát jen jednu notu.\nPokud například chcete vytvořit kvíz, můžete v případě správné odpovědi zahrát veselý vysoký tón a v případě špatné odpovědi smutný nízký tón.\n\n### Cvičení\nDokončete první otázku přidáním řádku kódu, který v případě špatné odpovědi zahraje notu C3.\nPak vymyslete další 3 otázky, které byste mohli do tohoto kvízu přidat.\n" example_code: "```\nodpověď {is}{ask} 'Jaké je hlavní město Zimbabwe?'\n{if}odpověď {is}Harare {play}C6\n_\n```\n" @@ -426,11 +426,11 @@ adventures: story_text: "### Cvičení\nDokončete písně! Spustili jsme kódy pro některé melodie.\n" example_code_2: "```\n{print} Twinkle Twinkle Little Star\n{play} C\n{play} C\n{play} G\n{play} G\n{play} A\n{play} A\n{play} G\n{sleep} 1\n{play} F\n{play} F\n```\n" 15: - example_code: "```\n{define}píseň\n {play}_\n\nano_nebo_ne = {ask}\"Chceš slyšet mou nekonečnou píseň?\n{while}yes_nebo_ne = 'ano'\n {call}píseň\n {print}'🥳'\n```\n" + example_code: "```\n{define} píseň\n {play} _\n\nano_nebo_ne = {ask} 'Chceš slyšet mou nekonečnou píseň?'\n{while} yes_nebo_ne = 'ano'\n {call} píseň\n {print} '🥳'\n```\n" story_text: "**Upozornění** Toto dobrodružství se může stát extrémně otravným!\nMůžeme také použít příkaz {while}, který skladbu opakuje donekonečna.\n\n### Cvičení\nDokončete nikdy nekončící píseň.\n" 16: story_text: "Upgradujte svůj kód Old MacDonald!\n\n### Cvičení\nVezměte svůj kód z dobrodružství „Zpívej píseň“ a přidejte do něj hudební noty!\nPro každý řádek písně můžete vytvořit funkci a tu po vypsání řádku zavolat.\nPrvní řádek jsme definovali za vás a zavolali ho v kódu. Dokážete dokončit celou píseň?\n" - example_code: "```\n{define}řada_1\n {for}i {in}{range} 1 {to}3\n {play}G\n {play}D\n {for}i {in}{range} 1 {to}2\n {play}E\n {play}D\n\nzvířata = [„prase“, „pes“, „kráva“]\nzvuky = ['oink', ' haf', ' bů']\npro i v rozsahu 1 až 3\n zvíře = zvířata[i]\n zvuk = zvuky[i]\n print 'Starý MacDonald měl farmu'\n zavolat řadě_1\n tisk 'E I E I O!\n _\n```\n" + example_code: "```\n{define} řada_1\n {for} i {in} {range} 1 {to} 3\n {play} G\n {play} D\n {for} i {in} {range} 1 {to} 2\n {play} E\n {play} D\n\nzvířata = ['prase', 'pes', 'kráva']\nzvuky = ['oink', ' haf', ' bů']\n{for} i {in} {range} 1 {to} 3\n zvíře = zvířata[i]\n zvuk = zvuky[i]\n {print} 'Starý MacDonald měl farmu'\n {call} řadě_1\n {print} 'E I E I O!\n _\n```\n" 18: story_text: "### Cvičení\nI v této poslední úrovni Hedy můžeme tvořit hudbu! Dejte si pozor na všechny syntaxe, které jsou nyní potřeba.\nDobře si prohlédněte, jak jsou v ukázkovém kódu definovány a volány funkce.\nDokončete písničku!\n" 12: @@ -449,11 +449,11 @@ adventures: story_text: "Nyní, když můžeme použít příkaz `{repeat}` pro více řádků, můžeme vytvářet skladby ještě snadněji!\n\n### Cvičení\nDokončete píseň bratra Jana (Frère Jacques). Nezapomeňte použít příkaz `{repeat}`!\n" example_code: "```\n{print} 'Bratr John'\n{repeat} 2 {times}\n {play} C\n {play} D\n {play} E\n {play} C\n{repeat} 2 {times}\n {play} E\n {play} F\n {play} G\n {sleep} 1\n```\n" 9: - story_text: "Od této úrovně můžete - mimo jiné - používat příkaz {repeat} uvnitř příkazu {repeat}.\nDíky tomu jsou písničky jako ''Všechno nejlepší k narozeninám'' ještě kratší!\n\n### Cvičení\nDokončete píseň!\n" + story_text: "Od této úrovně můžete - mimo jiné - používat příkaz {repeat} uvnitř příkazu {repeat}.\nDíky tomu jsou písničky jako 'Všechno nejlepší k narozeninám' ještě kratší!\n\n### Cvičení\nDokončete píseň!\n" example_code: "```\npoprvé = ano\n{repeat} 2 {times}\n {repeat} 2 {times}\n {play} C\n {play} D\n {play} C\n {if} poprvé {is} ano\n {play} F\n {play} E\n poprvé {is} ne\n {else}\n _\n```\n" 14: story_text: "Hudbu si můžete naprogramovat pro zábavu, ale noty můžete použít i k vytvoření něčeho užitečného, například požárního alarmu!\n\n### Cvičení\nUjistěte se, že požární alarm zvoní, když hoří!\n" - example_code: "```\n{define}požární_alarm\n {print}\"OHEŇ!\npoznámka = 40\n {for}i {in}{range} 1 {to}100\n {if}poznámka _ 50\n poznámka = poznámka + 5\n {play}_\n {else}\n poznámka = 40\n\nfire = {ask}\"Hoří?\n{if}oheň _ 'ano'\n {call}požární_poplach\n```\n" + example_code: "```\n{define} požární_poplach\n {print} 'OHEŇ!'\n poznámka = 40\n {for} i {in} {range} 1 {to} 100\n {if} poznámka _ 50\n poznámka = poznámka + 5\n {play} _\n {else}\n poznámka = 40\n\noheň = {ask} 'Hoří?'\n{if} oheň _ 'ano'\n {call} požární_poplach\n```\n" 13: example_code: "```\n{print} 'Yankee Doodle'\n{define} _ {with} poznámka_1, poznámka_2, poznámka_3\n {play} C4\n {play} C4\n {play} D4\n {play} E4\n {play} _\n {play} _\n {play} _\n\n{call} řada_1 {with} 29, 31, 30\n{call} řada_1 {with} 29, 28, 0\n{call} řada_1 {with} 32, 31, 30\n\n{play} C4\n{play} B3\n{play} G3\n{play} A3\n{play} B3\n{play} C4\n{play} C4\n```\n" story_text: "Funkci s argumentem můžete použít pro skladby, jejichž řádky jsou téměř stejné, ale pokaždé se mírně liší.\nPříkladem je píseň Yankee Doodle. První 4 tóny prvních řádků jsou stejné, ale pokaždé po nich následuje jiná dvojice tónů.\n\n### Cvičení\nDokážete dokončit píseň Yankee Doodle?\nNapadá vás jiná píseň, kterou byste mohli takto naprogramovat?\n" @@ -513,7 +513,7 @@ adventures: story_text: "Odměňte svého papouška, pokud řekne správné slovo!\n\n### Cvičení\nDokončete kód doplněním 4 chybějících příkazů.\n" 4: story_text: "V této úrovni musíme u příkazů `{ask}` a `{print}` používat uvozovky.\n### Cvičení\nDoplňte kód doplněním uvozovek na prázdná místa.\n" - example_code: "```\nslova {is} krákat, Hedy\n{print}_ Vycvičte si papouška! _\nnové_slovo {is}{ask} Které slovo je chceš naučit? _\n{add} nové_slovo {to} slova\n{print} _ 🧒 Řekni _nové_slovo _, Hedy!_\n{print} _ 🦜 _ slova {at}{random}\n```\n" + example_code: "```\nslova {is} krákat, Hedy\n{print} _ Vycvičte si papouška! _\nnové_slovo {is} {ask} _ Které slovo je chceš naučit? _\n{add} nové_slovo {to_list} slova\n{print} _ 🧒 Řekni _ nové_slovo _, Hedy!_\n{print} _ 🦜 _ slova {at} {random}\n```\n" restaurant: name: Restaurace default_save_name: Restaurace @@ -545,7 +545,7 @@ adventures: story_text_2: "### Cvičení\nZkopírujte svůj vlastní kód restaurace z předchozí úrovně do vstupní obrazovky níže.\nKód opravte nahrazením příkazů `{ask}` a `{echo}` a použitím proměnných, jak jste se naučili v této úrovni.\n\nNyní, když váš kód opět funguje, je čas přidat něco dalšího.\nPodívejte se na poslední řádek příkladového kódu: `{print} jídlo s polevou je na cestě!`\nV tomto jediném řádku byly použity 2 proměnné k vytvoření přehledu objednávky.\nNyní přidejte svůj vlastní souhrn jídla a nápojů, které si zákazník objednal.\n\n**Dodatek** Nyní, když jste se naučili používat proměnné, můžete v jednom řádku použít libovolný počet proměnných. Můžete do svého kódu přidat další proměnné, například jídlo s sebou nebo s sebou, za hotové nebo kartou, s brčkem nebo bez brčka atd.\n" 4: story_text: "V restauraci je třeba používat uvozovky i při použití příkazu `{print}` nebo `{ask}`.\n\n### Cvičení\nDoplňte do tohoto kódu uvozovky, aby fungoval! Dávejte pozor: proměnné by neměly být v uvozovkách.\nPoté použijte příkaz `{clear}`, aby se na výstupní obrazovce zobrazil vždy jen jeden řádek.\n\n### Cvičení 2\nVraťte se na předchozí úroveň a zkopírujte svůj kód restaurace. Zprovozněte kód v této úrovni přidáním uvozovek na správná místa a přidáním několika příkazů `{clear}`.\n" - example_code: "```\n_ Do tohoto kódu přidejte uvozovky _\n{print}Vítejte v restauraci Chez Hedy!\n{print}Dnes podáváme pizzu nebo lasagne.\njídlo {is}{ask} Co si dáte k jídlu?\n{print}Skvělá volba! Jídlo mám nejraději!\npoleva {is}{ask} Chtěl bys k tomu maso nebo zeleninu?\n{print}Jídlo s polevou je na cestě!\nnápoje {is}{ask} Co byste si k tomu dal k pití?\n{print}Děkujeme za vaši objednávku.\n{print}Vaše jídlo a pití bude hned tam!\n```\n" + example_code: "```\n_ Do tohoto kódu přidejte uvozovky _\n{print} Vítejte v restauraci Chez Hedy!\n{print} Dnes podáváme pizzu nebo lasagne.\njídlo {is} {ask} Co si dáte k jídlu?\n{print} Skvělá volba! jídlo mám nejraději!\npoleva {is} {ask} Chtěl bys k tomu maso nebo zeleninu?\n{print} jídlo s poleva je na cestě!\nnápoje {is} {ask} Co byste si k tomu dal k pití?\n{print} Děkujeme za vaši objednávku.\n{print} Vaše jídlo a nápoje bude hned tam!\n```\n" 7: example_code: "```\n{print}'Vítejte v restauraci Chez Hedy'\nlidé = {ask}'Kolik lidí se k nám dnes připojí?'\n```\n" story_text: "V této úrovni jste se naučili používat příkaz `{repeat}` k opakování řádku kódu určitý početkrát.\nToho můžete využít v restauraci, když se chcete více lidí `{ask}`, co si dají k jídlu.\n\n### Cvičení\nDokážete doplnit kód? Hedy musí tuto otázku zopakovat tolikrát, kolik je lidí. Pokud je tedy v restauraci 5 lidí, je třeba otázku položit pětkrát.\n**Extra** Rozšiřte kód o další otázky, například o nápoje nebo omáčky.\n" @@ -573,7 +573,7 @@ adventures: story_text: "V této úrovni se naučíte nové příkazy, které ještě více rozšíří váš kód.\n\n### Cvičení 1\nUmístěte příkazy `{and}` a `{or}` na logické místo v programu.\n\n### Cvičení 2\nRozšiřte svou restauraci alespoň o jedno další `{and}` a jedno `{or}`.\nVytvořte například speciální slevový kupón, který se vztahuje pouze na pizzu, nebo dejte zákazníkovi nápoj zdarma.\ns hranolky a palačinkami. Nebo samozřejmě něco úplně jiného!\n" rock: name: Kámen, nůžky, papír - default_save_name: Kámen + default_save_name: Kámen 2 description: Vytvořte si vlastní hru kámen, nůžky, papír levels: 1: @@ -786,7 +786,7 @@ adventures: 4: story_text: "V této úrovni můžete také vytvářet kostky. Tentokrát si to však můžete vyzkoušet sami, bez ukázkového kódu!\n\n### Cvičení\nV této úrovni si vytvořte vlastní kostky.\nTip: Pokud netušíte, jak kostky vyrobit. Podívejte se na své kostky z předchozí úrovně, ale nezapomeňte přidat uvozovky.\n" 5: - example_code: "```\nmožnosti {is} 1, 2, 3, 4, 5, žížala\nhodit {is} volby {at} {random}\n{print} 'hodil jsi ' throw\n_ throw {is} žížala {print} 'Můžeš přestat házet.'\n_ {print} „Musíš házet znovu!\n```\n" + example_code: "```\nmožnosti {is} 1, 2, 3, 4, 5, žížala\nhodit {is} možnosti {at} {random}\n{print} 'hodil jsi ' hodit\n_ hodit {is} žížala {print} 'Můžeš přestat házet.'\n_ {print} 'Musíš házet znovu!'\n```\n" story_text: "Přidáme příkazy `{if}` a `{else}` do naší kostky!\n\n### Cvičení\nDoplňte ukázkový kód tak, aby kód říkal „Můžete přestat házet“, jakmile hodíte žížalu. Měl by říkat „Musíš házet znovu“, pokud jsi hodil něco jiného.\n**Extra** Možná chcete znovu vytvořit kostku z úplně jiné hry. To je také v pořádku! Pak si vymyslete vlastní reakci, např. „ano“ pro 6 a „škoda“ pro něco jiného.\n" default_save_name: Kostky name: Kostky @@ -801,7 +801,7 @@ adventures: example_code: "```\nlidé {is} máma, táta, Emma, Sophie\n{print} _ the nádobí je umyté _\n{sleep}\n{print} lidé {at} _\n```\n" 5: example_code: "```\nlidé {is} máma, táta, Emma, Sophie\nmyčka nádobí {is} lidé {at} {random}\nmyčka {is} Sophie {print} _ škoda, že musím umýt nádobí _\n_ {print} 'naštěstí žádné nádobí, protože ' _ ' už myje nádobí'\n```\n" - story_text: "S funkcí `{if}` si nyní můžete v programu užít více zábavy s výběrem. Můžete nechat program reagovat na volbu, kterou provedl počítač.\n### Cvičení\nDokážete dokončit kód tak, aby vypsal ''příliš špatně'', když na vás přijde řada, a v opačném případě ''ano!''?\nNezapomeňte na uvozovky!\n" + story_text: "S funkcí `{if}` si nyní můžete v programu užít více zábavy s výběrem. Můžete nechat program reagovat na volbu, kterou provedl počítač.\n### Cvičení\nDokážete dokončit kód tak, aby vypsal 'příliš špatně', když na vás přijde řada, a v opačném případě 'ano!'?\nNezapomeňte na uvozovky!\n" 6: example_code_2: "```\npeople = mom, dad, Emma, Sophie\ndishwasher = people {at} {random}\n{print} 'Monday the dishes are done by: ' dishwasher\n{remove} dishwasher {from} people\ndishwasher = people {at} {random}\n{print} 'Tuesday the dishes are done by: ' dishwasher\n{remove} dishwasher {from} people\n```\n" story_text_2: "Pokud budete mít velkou smůlu, může vás předchozí program vybrat k mytí nádobí na celý týden! To není fér!\nChcete-li vytvořit spravedlivější systém, můžete použít příkaz `{remove}` a vybranou osobu ze seznamu odstranit. Tímto způsobem nemusíte nádobí umývat znovu, dokud se všichni nevystřídají.\n\nPondělí a úterý jsou pro vás připraveny! Můžete přidat zbytek týdne?\nA... dokážete vymyslet řešení pro případ, že je váš seznam prázdný?\n" @@ -824,17 +824,17 @@ adventures: example_code: "```\n_ Dobrý den, jsem Hedy, věštkyně!\n_ Kdo jsi ty?\n_ Podívám se do své křišťálové koule.\n_ Vidím... Vidím...\n_ Tvé jméno je\n```\n" story_text: "Byli jste někdy na pouti a nechali si předpovědět budoucnost od věštce? Nebo jste si někdy hráli s kouzelnou osmičkou?\nPak asi víte, že vám budoucnost ve skutečnosti předpovědět nemohou, ale i tak je to zábava!\n\nV nadcházejících úrovních se můžete naučit, jak si vytvořit vlastní věštecký stroj!\nV 1. úrovni můžete začít jednoduše tím, že necháte Hedy, aby se představila jako věštkyně, a necháte ji `{echo}` odpovědi hráčů.\nTřeba takto:\n" 4: - example_code: "```\n_ Do tohoto kódu přidejte uvozovky _\n{print}Jsem věštkyně Hedy!\notázka {is}{ask} Co chcete vědět?\n{print}Toto je vaše otázka: otázka\nodpovědi {is}ano, ne, možná\n{print}Moje křišťálová koule říká...\n{sleep}2\n{print}odpovídá {at}{random}\n```\n" + example_code: "```\n_ Do tohoto kódu přidejte uvozovky _\n{print} Jsem věštkyně Hedy!\notázka {is} {ask} Co chcete vědět?\n{print} Toto je vaše otázka: otázka\nodpovědi {is} ano, ne, možná\n{print} Moje křišťálová koule říká...\n{sleep} 2\n{print} odpovědi {at} {random}\n```\n" story_text: "### Cvičení\nZ tohoto příkladu kódu jsme odstranili všechny uvozovky, dokážete je doplnit na všechna správná místa?\n\n### Cvičení 2\nVraťte se na předchozí úroveň a zkopírujte svůj kód věštce. Zajistěte, aby kód fungoval v této úrovni přidáním uvozovek na správná místa.\n" 7: - example_code: "```\n{print}'Mám květinu s kouzelnými okvětními lístky'\n{print}\"Když utrhneš okvětní lístky, květina ti řekne, jestli tě tvoje láska miluje zpátky.\nmnožství = {ask}\"Kolik okvětních lístků chceš utrhnout?\nmožnosti = milují tě, nemilují tě\n_ _ _ _ možnosti {at}{random}\n```\n" + example_code: "```\n{print} 'Mám květinu s kouzelnými okvětními lístky'\n{print} 'Když utrhneš okvětní lístky, květina ti řekne, jestli tě tvoje láska miluje zpátky.'\nmnožství = {ask} 'Kolik okvětních lístků chceš utrhnout?'\nmožnosti = milují tě, nemilují tě\n_ _ _ _ možnosti {at} {random}\n```\n" story_text: "### Cvičení\nDokončete tento program, který vám řekne, zda vás vaše láska miluje, nebo ne.\n" 3: story_text_2: "### Cvičení\nNyní může Hedy odpovědět pouze ano, ne nebo možná. Můžete dát Hedy více možností odpovědí, například „určitě“ nebo „zeptejte se znovu“.\n" story_text: "V předchozích úrovních jste vytvořili svůj první věštecký stroj, ale Hedy nedokázala nic předpovědět, pouze `{echo}`.\nV této úrovni můžete použít proměnnou a příkaz `{at} {random}`, aby Hedy opravdu vybrala odpověď za vás. Podívejte se například na tento kód:\n" example_code: "```\n{print} I’m Hedy the fortune teller!\nquestion {is} {ask} What do you want to know?\n{print} This is what you want to know: question\nanswers {is} yes, no, maybe\n{print} My crystal ball says...\n{sleep} 2\n{print} answers {at} {random}\n```\n" 8: - example_code: "```\n{print}\"Jsem věštkyně Hedy!\n{print}\"Můžete mi položit tři otázky.\nodpovědi = ano, ne, možná\n_ _ _\n otázka = {ask}\"Co chceš vědět?\n {print}otázka\n {sleep}\n {print}\"Moje křišťálová koule říká... ' odpovědi {at}{random}\n```\n" + example_code: "```\n{print} 'Jsem věštkyně Hedy!'\n{print} 'Můžete mi položit tři otázky.'\nodpovědi = ano, ne, možná\n_ _ _\n otázka = {ask} 'Co chceš vědět?'\n {print} otázka\n {sleep}\n {print} 'Moje křišťálová koule říká... ' odpovědi {at} {random}\n```\n" story_text: "V dalším příkladu můžete nechat věštce položit více otázek a také je vytisknout!\n\n### Cvičení\nDokážete doplnit správný příkaz na prázdná místa?\n" 12: story_text: "Od 12. úrovně budete muset používat uvozovky také v seznamech, a to před každou položkou a za ní.\n\n### Cvičení\nPřidejte do seznamu dvě předpovědi" @@ -865,17 +865,17 @@ adventures: example_code_3: "```\nčísla = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\nčíslo_1 = _\nčíslo_2 = _\nsprávná_odpověď = číslo_1 * číslo_2\ndaná_odpověď = {ask} 'Kolik je ' číslo_1 ' krát ' číslo_2 '?'\n{if} _\n{else} _\n```" story_text_3: "**Extra** Pomocí příkazu `{random}` můžete také nechat počítač, aby sám vytvořil náhodné produkty.\n" story_text: "Když už umíte počítat, můžete si kalkulačku vyrobit sami!\n" - example_code_2: "```\ncorrect_answer = 11 * 27\nanswer = {ask} 'Kolik je 11 krát 27?'\n{if} odpověď {is} _ {print} 'dobrá práce!'\n{else} {print} „Špatně! Bylo to ' _\n```\n" + example_code_2: "```\ncorrect_answer = 11 * 27\nodpověď = {ask} 'Kolik je 11 krát 27?'\n{if} odpověď {is} _ {print} 'dobrá práce!'\n{else} {print} 'Špatně! Bylo to ' _\n```\n" example_code: "```\nnumber_1 = {ask} 'Fill in the first number:'\nnumber_2 = {ask} 'Fill in the second number:'\ncorrect_answer = number_1 * number_2\n{print} number_1 ' times ' number_2 ' is ' correct_answer\n```\n" 15: story_text: "Smyčku `{while}` můžete přidat do hry s kalkulačkou, kterou jste se naučili vytvořit v předchozí úrovni.\nTím zajistíte, že hráč nebude moci pokračovat na další otázku, pokud odpoví špatně.\n\n### Cvičení\nPřidejte do funkce smyčku `{while}`, zeptejte se hráče, kolik je číslo_1 krát číslo_2, a vypište jeho odpověď.\nPoté `{call}` funkci.\n" - example_code: "```\n{define} nová_otázka\n čísla = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\nčíslo_1 = čísla {at} {random}\nčíslo_2 = čísla {at} {random}\n správně = číslo_1 * číslo_2\n odpověď = 0\n _\n _\n _\n {print} 'Dobrá práce!'\n\n{print} „Dejte 10 správných odpovědí a vyhrajte!\n{for} i {in} {range} 1 {to} 10\n _\n{print} „Vyhrál jsi!\n```\n" + example_code: "```\n{define} nová_otázka\n čísla = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\nčíslo_1 = čísla {at} {random}\nčíslo_2 = čísla {at} {random}\n správně = číslo_1 * číslo_2\n odpověď = 0\n _\n _\n _\n {print} 'Dobrá práce!'\n\n{print} 'Dejte 10 správných odpovědí a vyhrajte!'\n{for} i {in} {range} 1 {to} 10\n _\n{print} 'Vyhrál jsi!'\n```\n" 10: story_text: "Tato hra s kalkulačkou vám pomůže procvičit si násobilku!\n### Cvičení\nDoplňte prázdná místa. Chceme, aby tento program položil hráči tyto otázky:\n```\nKolik je 1 krát 1?\nKolik je 1 krát 2?\nKolik je 1 krát 3?\nKolik je 2 krát 1?\nKolik je 2 krát 2?\nKolik je 2 krát 3?\nKolik je 3 krát 1?\nKolik je 3 krát 2?\nKolik je 3 krát 3?\n_\n```\n" - example_code: "```\nnumbers = 1, 2, 3\n{for} _\n {for} _\n odpověď = {ask} _\n správně = číslo_1 * číslo_2\n {if} odpověď {is} správná\n {print} „Skvělá práce!\n {else}\n {print} 'To je špatně. Správná odpověď je ' správně\n```\n" + example_code: "```\nnumbers = 1, 2, 3\n{for} _\n {for} _\n odpověď = {ask} _\n správně = číslo_1 * číslo_2\n {if} odpověď {is} správně\n {print} 'Skvělá práce!'\n {else}\n {print} 'To je špatně. Správná odpověď je ' správně\n```\n" 11: example_code: "```\nčíslo = 10\n{for} i {in} {range} 1 {to} 10\n {print} i * číslo \n```\n" - story_text: "With a `{for}` you can simplify tables of multiplication practise program.\n\n### Exercise 1\nImprove the example code such that it prints a nice multiplication table:
„1 times 10 is 10“, „2 times 10 is 20“, etc.\n\n### Exercise 2\nGo back to your level 10 multiplication code, and modify it so that it uses a `{for}` and `{range}`.\n" + story_text: "" 12: example_code: "```\nčíslo1 = {ask} 'Jaké je první číslo?'\nčíslo2 = {ask} 'Jaké je druhé číslo?'\nodpověď = _\n{print} číslo1 ' plus ' číslo2 ' je ' _\n```\n" story_text: "V této úrovni můžete vytvořit kalkulačku, která pracuje s desetinnými čísly.\n\n### Cvičení 1\nVyplňte prázdná políčka a doplňte kalkulačku. Nezapomeňte používat tečku, a ne čárku pro desetinná čísla.\n\n### Cvičení 2\nVytvořte nový program pro procvičování matematiky, ale nyní používejte desetinná čísla.\nVytvořte seznam čísel, vyberte dvě, která se mají násobit, a nechte hráče odpovědět.\nA samozřejmě musíte odpověď ověřit! **Extra** Zvyšte obtížnost přidáním životů: Za špatnou odpověď hráč ztratí jeden život a po třech špatných odpovědích hra skončí.\n" @@ -912,7 +912,7 @@ adventures: levels: 10: example_code: "```\nanimals = dog, cat, blobfish\n{for} animal {in} animals\n {print} 'I love ' animal\n```\n" - example_code_2: "```\nakce = tleskat, dupat nohama, křičet Hurá!\n_\n {repeat}2 {times}\n {print}'If youre happy and you know it, ' akce\n {sleep}2\n {print}\"Pokud jsi šťastný a víš to, a opravdu to chceš dát najevo.\n {print}\"Pokud jsi šťastný a víš to, ' akce\n {sleep}3\n```\n" + example_code_2: "```\nakce = tleskat, dupat nohama, křičet Hurá!\n_\n {repeat} 2 {times}\n {print} 'Pokud jsi šťastný a víš to,' akce\n {sleep} 2\n {print} 'Pokud jsi šťastný a víš to, a opravdu to chceš dát najevo.'\n {print} 'Pokud jsi šťastný a víš to, ' akce\n {sleep} 3\n```\n" story_text: "## Pro\nV této úrovni se naučíme nový kód s názvem `{for}`. Pomocí `{for}` můžete vytvořit seznam a použít všechny jeho prvky.\n`{for}` vytváří blok, podobně jako `{repeat}` a `{if}`, takže všechny řádky v bloku musí začínat čtyřmi mezerami." story_text_2: "### Cvičení\nDokončete tento kód přidáním `{for} action {in} actions` na řádek 2.\n" 11: @@ -949,10 +949,10 @@ adventures: example_code: "```\n{define} song {with} place\n {print} 'My Bonnie is over the ' place\n\n{call} song {with} 'ocean'\n{call} song {with} 'sea'\n{call} song {with} 'ocean'\n```\n" story_text: "Now that you've learned how to use functions, you'll learn how to use a function with an argument.\nAn **argument** is a variable that is used within a function. It is not used outside the function.\n\nFor example in this code we've programmed the first verse of the song 'My Bonnie is over the ocean'.\nIn this example code the argument 'place' is used. Place is a variable that is only used in the function, so an argument.\nTo use 'place' we have placed `{with} place` after `{define} song`.\nWhen the function is called, the computer will replace the argument 'place', with the piece of text after `{call} song {with}`.\n\n### Exercise\nThe next verse of this song goes:\n\n```not_hedy_code\nLast night as I lay on my pillow\nLast night as I lay on my bed\nLast night as I lay on my pillow\nI dreamed that my Bonnie is dead\n```\n\nCan you program this verse in the same way as the example?\n" 14: - example_code: "```\n{define}kalkulace_nové_ceny {with}částkou, procentem\n procento = procento / 100\n sleva_částka = částka * procento\n {return}částka - sleva_částka\n\nstará_cena = {ask}\"Kolik je na cenovce?\nsleva = {ask}\"Kolik procent je sleva?\n\nnová_cena = _vypočítat_novou_cena {with}stará_cena, _\n{print}\"Nová cena je ‚ nová_cena ‘ dolar\n```\n" + example_code: "```\n{define} kalkulace_nové_ceny {with} částka, procento\n procento = procento / 100\n sleva_částka = částka * procento\n {return} částka - sleva_částka\n\nstará_cena = {ask} 'Kolik je na cenovce?'\nsleva = {ask} 'Kolik procent je sleva?'\n\nnová_cena = _ kalkulace_nové_ceny {with} stará_cena, _\n{print} 'Nová cena je ' nová_cena ' dolar'\n```\n" story_text: "V předchozích úrovních jste se naučili vytvářet funkce a používat s nimi argumenty. Dalším skvělým využitím funkce je nechat ji něco vypočítat za vás.\nFunkci můžete zadat výpočet a ona vám poskytne odpověď na výpočet. Tato odpověď se nazývá **vrácená hodnota**.\n\nNapříklad v tomto kódu funkce calculate_new_price vypočítá novou cenu libovolné položky. Jako návratovou hodnotu vám poskytne novou cenu.\n\n### Cvičení\nDokončete tento kód. Proměnnou new_price jsme pro vás již vytvořili, stačí ji pouze nastavit.\nŘádek kódu byste měli dokončit zavoláním funkce, která vypočítá novou cenu.\n" 12: - example_code: "```\nstrany = ' levá', ' pravá'\nkončetiny = ''ruka'', ''noha''\nbarvy = „červená“, „modrá“, „zelená“, „žlutá\n\n{define}turn\nzvolená_strana = strany {at}{random}\n zvolená_končetina = končetiny _\n zvolená_barva = barvy _\n {print}zvolená_strana ' ' zvolená_končetina ' na ' zvolená_barva\n\n{print}'Zahrajeme si hru Twister!'\n{for}i {in}{range} 1 {to}_\n {call}otočit\n {sleep}2\n```\n" + example_code: "```\nstrany = 'levá', 'pravá'\nkončetiny = 'ruka', 'noha'\nbarvy = 'červená', 'modrá', 'zelená', 'žlutá'\n\n{define} otočit\n zvolená_strana = strany {at} {random}\n zvolená_končetina = končetiny _\n zvolená_barva = barvy _\n {print} zvolená_strana ' ' zvolená_končetina ' na ' zvolená_barva\n\n{print} 'Zahrajeme si hru Twister!'\n{for} i {in} {range} 1 {to} _\n {call} otočit\n {sleep} 2\n```\n" story_text: "V této úrovni se naučíte používat **funkce**. Funkce je blok kódu, který můžete snadno použít vícekrát. Používání funkcí nám pomáhá uspořádat části kódu, které můžeme používat opakovaně.\nChcete-li vytvořit funkci, použijte `{define}` a pojmenujte ji. Poté vložte všechny řádky, které chcete ve funkci mít, do odsazeného bloku pod řádek `{define}`.\nV kódu ponechte jeden prázdný řádek, aby vypadal pěkně a přehledně. Skvělá práce! Vytvořili jste funkci!\n\nNyní, kdykoli budeme tento blok kódu potřebovat, stačí použít {call} s názvem funkce, abychom ji vyvolali! Nemusíme tento blok kódu psát znovu.\n\nPodívejte se na tento příklad kódu hry Twister. Funkce 'turn' obsahuje blok kódu, který vybírá, kam má jít která končetina.\n\n### Cvičení\nDokončete tento kód nastavením 2 proměnných zvolená_končetina a zvolená_barva.\nPoté zvolte, kolikrát chcete zavolat funkci, aby se twisterový spinner roztočil.\n\n### Cvičení 2\nVylepšete svůj kód přidáním proměnné s názvem ' lidi'. Pomocí této proměnné dejte všem hráčům ve hře jejich vlastní příkaz.\nNapříklad: „Ahmed, pravá ruka na zelenou“ nebo „Jessica, levá noha na žlutou“.\n" 18: story_text: "Vytvořme funkce po pythonovsku! Pro definici funkce již nepoužíváme:\n\n`{define} name_function {with} argument_1, argument_2:`\n\nale použijeme:\n\n`{def} name_function(argument_1, argument_2):`.\n\n\nPokud nechcete používat argumenty, stačí nechat mezeru mezi závorkami prázdnou.\nPro volání funkce již nepotřebujeme příkaz `{call}`. Stačí napsat název funkce.\n" @@ -975,25 +975,25 @@ adventures: example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\njména = Muad Hasan Samira Noura\naktivity = pouštění draka, plavání, turistika, opalování na slunci\n{for} jméno {is} jména\n{print} Na pláži jméno miluje činnost {at} {random}\n```\n" 16: story_text: "### Cvičení\nVylaďte tento kód. Hodně štěstí!\nTip: Dbejte na to, abyste na konci viděli své skóre pouze jednou." - example_code: "**Upozornění! Tento kód je třeba doladit!**\n```\nzemě = ['Nizozemsko', 'Polsko', 'Turecko', 'Zimbabwe', 'Thajsko', 'Brazílie', 'Peru', 'Austrálie', 'Indie', 'Rumunsko' ]\nhlavní města = 'Amsterdam', 'Warshaw' 'Istanbul', 'Harare', 'Bangkok', 'Brasilia', 'Lima', 'Canberra', 'New Delhi', 'Bukurešť'\nskóre = 0\n{for} i {in} {range} 0 {to} 10\n odpověď = {ask}\"Jaké je hlavní město ' země[i]\n správně = hlavní město[i]\n {if}odpověď = správně\n {print}\"Správně!\n skóre = skóre + 1\n {else}\n {print}„Špatně,“ capitals[i] „v hlavním městě“ countries[i]\n {print}\"Získali jste ‚ skóre ‘ z 10\n\n```\n" + example_code: "**Upozornění! Tento kód je třeba doladit!**\n```\nzemě = ['Nizozemsko', 'Polsko', 'Turecko', 'Zimbabwe', 'Thajsko', 'Brazílie', 'Peru', 'Austrálie', 'Indie', 'Rumunsko' ]\nhlavní_města = 'Amsterdam', 'Varšava' 'Istanbul', 'Harare', 'Bangkok', 'Brasília', 'Lima', 'Canberra', 'Nové Dillí', 'Bukurešť'\nskóre = 0\n{for} i {in} {range} 0 {to} 10\n odpověď = {ask} 'Jaké je hlavní město ' země[i]\n správně = hlavní_město[i]\n {if} odpověď = správně\n {print} 'Správně!'\n skóre = skóre + 1\n {else}\n {print} 'Špatně,' capitals[i] 'v hlavním městě' countries[i]\n {print} 'Získali jste ' skóre ' z 10'\n\n```\n" 17: story_text: "### Cvičení\nVylaďte tento kód. Hodně štěstí!" - example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\n{define}prodej_potravin\n poleva = {ask}\"feferonky, tuňák, zelenina nebo sýr?\n velikost = {ask}\"velký, střední nebo malý?\n počet_pizz = {ask}\"Kolik těchto pizz si přejete?\n\n {print}\"OBJEDNALI JSTE\n {print}počet_pizz ' velikost ' poleva ' pizza'\n\n{define}objednávka_nápojů\n nápoj = {ask}\"voda, cola, ledová voda, limonáda nebo káva?\n počet_nápojů = {ask}\"Kolik těchto nápojů si přejete?\n\n {print}\"OBJEDNALI JSTE\n {print}počet_nápojů ' ' nápojů\n\n'Vítejte v pizzerii Hedy'\nvíce_jídla = {ask}'Chcete si objednat pizzu?'\n{while}více_jídla = 'ano'\n {return}objednávka_jídla\n více_jídla = {ask}'Chcete si objednat pizzu?'\nvíce_nápojů = {ask}\"Chcete si objednat nějaké nápoje?\n{while}více_nápojů == 'ano'\n {call}drink_order\n více_nápojů == {ask}\"Chcete si objednat další nápoje?\n\n\n{print}\"Děkujeme za objednávku!\n```\n" + example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\n{define} objednávka_jídla\n poleva = {ask} 'feferonky, tuňák, zelenina nebo sýr?'\n velikost = {ask} 'velký, střední nebo malý?'\n počet_pizz = {ask} 'Kolik těchto pizz si přejete?'\n\n {print} 'OBJEDNALI JSTE'\n {print} počet_pizz ' velikost ' poleva ' pizza'\n\n{define} objednávka_nápojů\n nápoj = {ask} 'voda, cola, ledová voda, limonáda nebo káva?'\n počet_nápojů = {ask} 'Kolik těchto nápojů si přejete?'\n\n {print} 'OBJEDNALI JSTE'\n {print} počet_nápojů ' ' nápoj\n\n'Vítejte v pizzerii Hedy'\nvíce_jídla = {ask} 'Chcete si objednat pizzu?'\n{while} více_jídla = 'ano'\n {return} objednávka_jídla\n více_jídla = {ask} 'Chcete si objednat pizzu?'\nvíce_nápojů = {ask} 'Chcete si objednat nějaké nápoje?'\n{while} více_nápojů == 'ano'\n {call} objednávka_nápojů\n více_nápojů == {ask} 'Chcete si objednat další nápoje?'\n\n\n{print} 'Děkujeme za objednávku!'\n```\n" 2: example_code: "**Upozornění! Tento kód je třeba vyladit!**\n```\ndestination {ask} Kam jedete na dovolenou?\n{print} Let do dstination odlétá v 15:00.\n{ask} Už jste si odbavili zavazadla?\n{echo}\n{print} Dovolte mi, abych vám vytiskl palubní vstupenku.\n{sleep}\nTady máte! Šťastnou cestu!\n```\n" story_text: "Vítejte v dobrodružství ladění. Ladění kódu znamená odstraňování chyb v kódu.\nTo znamená, že v těchto ladicích dobrodružstvích vám nabídneme kód, který zatím nefunguje.\nBudete muset zjistit, co je špatně, a chyby opravit.\n\n### Cvičení\nVylaďte tento kód. Hodně štěstí!" 4: story_text: "### Cvičení\nVylaďte tento kód. Hodně štěstí!" - example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\n{print} 'Vítejte v online knihovně!\n{ask} Jaký žánr knih máte rádi?\n{print} Máte rádi žánr\nautor {is} {ask} 'Kdo je tvůj oblíbený autor?\n{print} „autor je váš oblíbený autor\n{print} Hmmm... myslím, že byste měl zkusit... books {at} {random}\n```\n" + example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\n{print} 'Vítejte v online knihovně!\n{ask} Jaký žánr knih máte rádi?\n{print} Máte rádi žánr\nautor {is} {ask} 'Kdo je tvůj oblíbený autor?\n{print} 'autor je váš oblíbený autor'\n{print} Hmmm... myslím, že byste měl zkusit... knih {at} {random}\n```\n" 12: story_text: "### Cvičení\nVylaďte tento kód. Hodně štěstí!" - example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\n{define} pozdrav\npozdravy = 'Ahoj', 'Ahoj', 'Dobrý večer'\n {print} pozdravy {at} {random}\n\n{define} vzít_objednávku\n food = {ask} 'Co si dáte k jídlu?'\n {print} „Jedno jídlo\n pití = 'Co si dáte k pití?'\n {print} 'Jeden ' nápoj\n více = {ask} 'Dáte si ještě něco?'\n {if} více {is} „ne\n {print} „Dobře\n {else}\n {print} 'A ' more\n{print} „Děkuji\n\n{print} „Vítejte v naší restauraci\nlidé = {ask} 'Kolik lidí je dnes ve vaší společnosti?'\n{for} i {in} {range} 0 {to} lidi\n {call} pozdrav_zákazníka\n```\n" + example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\n{define} pozdrav\npozdravy = 'Ahoj', 'Ahoj', 'Dobrý večer'\n {print} pozdravy {at} {random}\n\n{define} vzít_objednávku\n jídlo = {ask} 'Co si dáte k jídlu?'\n {print} 'Jedno jídlo'\n pití = 'Co si dáte k pití?'\n {print} 'Jeden ' pití\n více = {ask} 'Dáte si ještě něco?'\n {if} více {is} 'ne'\n {print} 'Dobře'\n {else}\n {print} 'A ' více\n{print} 'Děkuji'\n\n{print} 'Vítejte v naší restauraci'\nlidé = {ask} 'Kolik lidí je dnes ve vaší společnosti?'\n{for} i {in} {range} 0 {to} lidé\n {call} pozdrav_zákazníka\n```\n" 18: story_text: "### Cvičení\nVylaďte tento program Old MacDonald z úrovně 16. Hodně štěstí!" example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\nzvířata = ['prase', 'pes', 'kráva']\nzvuky = ['oink', 'haf', 'bučení']\n{for} i {in} {range} 1 {to} 3\n zvíře = zvířata[i]\n zvuk = zvuky[i]\n {print} 'Starý MacDonald měl farmu'\n {print} 'E I E I O!'\n {print} 'a na té farmě měl ' zvíře\n {print} 'E I E I O!'\n {print} 'se ' zvuk zvuk ' tady'\n {print} 'a ' zvuk zvuk ' tam'\n {print} 'tady a ' zvuk\n {print} 'tam a ' zvuk\n {print} 'všude a ' zvuk zvuk\n```\n" 8: story_text: "### Cvičení\nVylaďte tento kód. Hodně štěstí!" - example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\n{print} 'Vítejte na stránkách Manikúra a pedikúra u Hedy'\nbodypart = {ask} 'Necháte si dnes udělat nehty na rukou nebo nohou? Nebo obojí?'\n{if} bodyparts {is} obojí\n {print} To bude 25 $'\n cena = 25\n {else}\n {print} To bude 18 $'\n cena = 18\nbarva = {ask} Jakou barvu si přejete?\ntřpytky = {ask} 'Chtěli byste k tomu nějaké třpytky?'\n{if} Sparkles {is} ano\n {print} „Za to si účtujeme 3 dolary navíc\ncena = cena + 3\n{else} {print} „Žádné třpytky“ {print} „Takže žádný příplatek\n{sleep} 5\n{print} „Hotovo! To bude $' cena ' prosím!'\n{print} 'Děkuji! Nashledanou!\n```" + example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\n{print} 'Vítejte na stránkách Manikúra a pedikúra u Hedy'\nbodypart = {ask} 'Necháte si dnes udělat nehty na rukou nebo nohou? Nebo obojí?'\n{if} bodyparts {is} obojí\n {print} To bude 25 $'\n cena = 25\n {else}\n {print} To bude 18 $'\n cena = 18\nbarva = {ask} Jakou barvu si přejete?\ntřpytky = {ask} 'Chtěli byste k tomu nějaké třpytky?'\n{if} Sparkles {is} ano\n {print} 'Za to si účtujeme 3 dolary navíc'\ncena = cena + 3\n{else} {print} 'Žádné třpytky' {print} 'Takže žádný příplatek'\n{sleep} 5\n{print} 'Hotovo! To bude $' cena ' prosím!'\n{print} 'Děkuji! Nashledanou!\n```" 11: story_text: "### Cvičení\nVylaďte tento program kalendáře. Výstup tohoto programu má vypadat jako seznam dat.\nNapříklad:\n\n```\nHedy kalendář\nZde jsou všechny dny měsíce listopadu\n1. listopadu\n2. listopadu\n3. listopadu\n```\nA tak dále.\n\nNezapomeňte, že pro měsíc únor musíte kód testovat zvlášť pečlivě, protože počet dní v tomto měsíci se v přestupných letech mění." example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\n{print} 'Hedy kalendář'\nmonths_with_31 days = leden, březen, květen, červenec, září, říjen, prosinec\nměsíce_s_30_dny = duben, červen, srpen, listopad\nměsíc = {ask} 'Který měsíc byste chtěli vidět?'\n{if} měsíc {in} měsíce_s_31_dny\n days = 31\n {if} měsíc {in} měsících_s30_dny\n dnů = 30\n{if} měsíc = únor\n přestupné_roky = 2020, 2024, 2028, 2036, 2040, 2044, 2028\n rok = {ask} 'Jaký je rok?'\n{if} rok {in} přestupné_roky\n dny = 29\n{else}\n dny = 28\n\n{print} 'Zde jsou všechny dny roku ' můra\n{for} i {in} {range} 1 {to} dnů\n {print} měsíc i\n```\n" @@ -1002,19 +1002,19 @@ adventures: example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\n{define} doporučený_film {with} jméno\n akční_filmy == 'Die Hard', 'Fast and Furious', 'Inglorious Bastards'\n romantické_filmy = 'Love Actually', 'The Notebook', 'Titanic'\n komdie = 'Mr Bean' 'Barbie''Deadpool'\n dětské_filmy = 'Minions', 'Paddington', 'Encanto'\n {if} jméno {is} 'Camila' {or} jméno {is} 'Manuel'\n doporučené_filmy = dětské_filmy {at} {random}\n {if} jméno {is}'Pedro' {or} 'Gabriella'\n mood = {ask} 'Na co máš náladu?'\n {if} mood {is} 'akční'\n doporučené_filmy = komedie {at} {random}\n {if} nálada {is} 'romantika'\n doporučené_filmy = romantické_filmy\n {if} nálada {is} 'komedie'\n doporučené_filmy = komedie {at} {random}\n\n{print} 'Doporučil bych ' doporučené_filmy ' pro ' jméno\n\njméno = {ask} 'Kdo se dívá?'\ndoporučení = {ask} 'Chcete doporučení?'\n{if} doporučení {is} 'ano'\n{print} doporučené_filmy {with} jméno\n{else}\n{print} 'Žádný problém!'\n```\n" 15: story_text: "### Cvičení\nVylaďte tento kód. Hodně štěstí!" - example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\njména = 'Tanya', 'Romy', 'Kayla', 'Aldrin', 'Ali'\nslovesa = „chůze“, „skákání“, „jízda na kole“, „jízda“, „běh\nmísta = 'na vrcholu hory', 'v supermarketu', 'na koupališti'\nschovávací místa = 'za stromem', pod stolem', v krabici'\nsounds = 'a trumpet', 'a car crash', 'thunder' (zvuky)\npříčiny_hluku = „televize“, „dítě s petardami“, „kouzelný slon“, „sen“.\n\nvybrané_jméno = jména {at} {random}\nzvolené_sloveso = slovesa {at} {random}\nzvolené_místo = 'místa {at} {random}'\nzvolené_zvuky = zvuky {at} {random}\nzvolené_místo = skrývající se_místa {random}\nzvolené_příčiny = příčiny_hluku {at} {random}\n\n{print} zvolený_název ' byl ' zvolené_slovo ' ' zvolené_místo\n{print} 'když náhle uslyšeli zvuk podobný ' zvuky {at} {random}\n{print} zvolené_jméno ' rozhlédli se, ale nemohli zjistit, odkud hluk přichází'\n{print} zvolené_jméno ' skryl ' zvolené_místo'\n{print}'Snažili se rozhlédnout, ale nemohli odtud nic vidět'\nhidden = 'ano'\n{while} skryté = 'ano'\n {print} zvolené_jméno 'stále nic neviděli'\nanswer = {ask} \"pohne se ‚ zvolené_jméno ‘ ze svého úkrytu?\n {if} odpověď = 'ano'\n skrytý == 'ne'\n{print} 'zvolené_jméno se pohnulo z' zvoleného_místa\n{print} \"A pak viděli, že to bylo jen' chosen_cause\n{print} zvolené_jméno 'zasmáli se a pokračovali ve svém dni'\n{print} Konec\n```\n" + example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\njména = 'Tanya', 'Romy', 'Kayla', 'Aldrin', 'Ali'\nslovesa = 'chůze', 'skákání', 'jízda na kole', 'jízda', 'běh'\nmísta = 'na vrcholu hory', 'v supermarketu', 'na koupališti'\nschovávací_místa = 'za stromem', pod stolem', v krabici'\nzvuky = 'a trumpet', 'a car crash', 'thunder'\npříčiny_hluku = 'televize', 'dítě s petardami', 'kouzelný slon', 'sen'.\n\nvybrané_jméno = jména {at} {random}\nzvolené_sloveso = slovesa {at} {random}\nzvolené_místo = 'místa {at} {random}'\nzvolené_zvuky = hluky {at} {random}\nzvolené_místo = schovávací_místa {random}\nzvolené_příčiny = příčiny_hluku {at} {random}\n\n{print} zvolený_název ' byl ' zvolené_slovo ' ' zvolené_místo\n{print} 'když náhle uslyšeli zvuk podobný ' zvuky {at} {random}\n{print} zvolené_jméno ' rozhlédli se, ale nemohli zjistit, odkud hluk přichází'\n{print} zvolené_jméno ' skryl ' zvolené_místo'\n{print} 'Snažili se rozhlédnout, ale nemohli odtud nic vidět'\nskrytý = 'ano'\n{while} skryté = 'ano'\n {print} zvolené_jméno 'stále nic neviděli'\nodpověď = {ask} 'pohne se ' zvolené_jméno ' ze svého úkrytu?'\n {if} odpověď = 'ano'\n skrytý == 'ne'\n{print} 'zvolené_jméno se pohnulo z' zvolené_místo\n{print} 'A pak viděli, že to bylo jen' zvolené_příčiny\n{print} zvolené_jméno 'zasmáli se a pokračovali ve svém dni'\n{print} Konec\n```\n" 5: story_text: "### Cvičení\nVylaďte tento kód. Hodně štěstí!" - example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\n{print} Vítejte v bazénu Hedy!\ntřída {is} {ask} 'Přišli jste dnes do třídy?'\n{if} třída ano\n{print} 'Skvělé! Připojujete se ke třídě!\n{print} {else} 'Do třídy se nepřihlásíte'\nsleva {is} 'Máte slevový kód?'\n{if} sleva {is} ano\nsleva_odpověď {is} {ask} 'Jaký je váš slevový kód?'\nslevový_kód = Senior4231, Student8786, NewMember6709\n{if} slevová_odpověď {is} {in} slevové_kódy\n{print} 'To bude 3,50 USD'\n'To bude 5,50 $'\n{print} „Hezké koupání!\n```\n" + example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\n{print} Vítejte v bazénu Hedy!\ntřída {is} {ask} 'Přišli jste dnes do třídy?'\n{if} třída ano\n{print} 'Skvělé! Připojujete se ke třídě!\n{print} {else} 'Do třídy se nepřihlásíte'\nsleva {is} 'Máte slevový kód?'\n{if} sleva {is} ano\nsleva_odpověď {is} {ask} 'Jaký je váš slevový kód?'\nslevový_kód = Senior4231, Student8786, NewMember6709\n{if} slevová_odpověď {is} {in} slevové_kódy\n{print} 'To bude 3,50 USD'\n'To bude 5,50 $'\n{print} 'Hezké koupání!'\n```\n" 6: story_text: "### Cvičení\nVylaďte tento kód. Hodně štěstí!" - example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\n{print} ' Automat na jídlo a pití'\nvybraný_produkt = {ask} 'Vyberte prosím produkt'\n1_dolar_produkt = cola pomerančový džus voda\n2_dolar_produkty = čokoláda, sušenka, tyčinka museli\n3dolar_prodkty = bramborové lupínky, sušené hovězí maso, banánový chléb\n{if} vybraný {is} {in} 1_dolarové_produkty\ncena = 1\n{if} vybraný_produkt {is} 2_dolarové_produkty\ncena = 2\n{else} vybraný_produkt {in} 3_dolar_produkty\ncena = 3\nmnožství_produktů = '{ask} Kolik ' zvoleného_produktu byste chtěli mít?'\ncelkem = cena + množství_z_produktu\n{print} 'To bude $' cena 'prosím'\n```\n" + example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\n{print} 'Automat na jídlo a pití'\nvybraný_produkt = {ask} 'Vyberte prosím produkt'\n1_dolarové_produkty = cola pomerančový džus voda\n2_dolarové_produkty = čokoláda, sušenka, müsli tyčinka\n3dolarové_prodkty = bramborové lupínky, sušené hovězí maso, banánový chléb\n{if} vybraný {is} {in} 1_dolarové_produkty\ncena = 1\n{if} vybraný_produkt {is} 2_dolarové_produkty\ncena = 2\n{else} vybraný_produkt {in} 3_dolarové_produkty\ncena = 3\nmnožství_produktů = '{ask} Kolik ' zvoleného_produktu byste chtěli mít?'\ncelkem = cena + množství_z_produktu\n{print} 'To bude $' cena 'prosím'\n```\n" 14: story_text: "### Cvičení\nVylaďte tento kód. Hodně štěstí!" - example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\n{define}kalkulace_ srdečního tepu\n {print}\"Jemně přitiskněte konečky prstů na stranu krku\n {print}\"(těsně pod čelistí)\n {print}\"Počítejte počet tepů, které cítíte, po dobu 15 sekund\n tepy == {ask}\"Kolik tepů ucítíte za 15 sekund?\n tep = tep*4\n {print}\"Váš srdeční tep je ' heartbeat\n {if}tep srdce >= 60 {or}tep srdce <= 100\n {print}\"Váš srdeční tep se zdá být v pořádku\n {else}\n{if}srdeční tep > 60\n {print}\"Váš srdeční tep se zdá být příliš nízký\n {if}srdeční tep < 100\n {print}\"Váš srdeční tep se zdá být příliš vysoký\n {print}\"Možná byste měl/a kontaktovat lékaře\n\nměřit_srdeční tep = {ask}\"Chcete si nechat změřit srdeční tep?\n{if}měření srdečního tepu = 'ano'\n {call}měření_srdečního tepu\n{else}\n ''bez problému''\n```\n" + example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\n{define} kalkulace_srdečního_tepu\n {print} 'Jemně přitiskněte konečky prstů na stranu krku'\n {print} '(těsně pod čelistí)'\n {print} 'Počítejte počet tepů, které cítíte, po dobu 15 sekund'\n tepy == {ask} 'Kolik tepů ucítíte za 15 sekund?'\n tep_srdce = tepy*4\n {print} 'Váš srdeční tep je ' tep_srdce\n {if} tep_srdce >= 60 {or} tep_srdce <= 100\n {print} 'Váš srdeční tep se zdá být v pořádku'\n {else}\n{if} tep_srdce > 60\n {print} 'Váš srdeční tep se zdá být příliš nízký'\n {if} tep_srdce < 100\n {print} 'Váš srdeční tep se zdá být příliš vysoký'\n {print} 'Možná byste měl/a kontaktovat lékaře'\n\nměřit_srdeční_tep = {ask} 'Chcete si nechat změřit srdeční tep?'\n{if} měřit_srdeční_tep = 'ano'\n {call} měřit_srdeční_tep\n{else}\n 'bez problému'\n```\n" 9: story_text: "### Cvičení\nVylaďte tento kód. Hodně štěstí!" - example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\n{print} 'Vítejte v našem obchodě se sendviči'\nmnožství „Kolik sendvičů si přejete koupit?\n{repeat} množství {times}\n{ask} {is} {ask} „Jaký druh chleba si přejete pro svůj sendvič?\nTyp_chleba {is} bílý, pšeničný, žitný, česnekový, bezlepkový\n{if} vybraný_chléb in typech_chleba\n{print} „Krásné!\n{else}\n'Je mi líto, ale ten neprodáváme'\npoleva {is} {ask} „Jaký druh polevy si přejete?\nomáčka {is} {ask} „Jaký druh omáčky byste si přál?\n{print} Jeden vybraný chléb s polevou a omáčkou.\ncena = množství * 6\n{print} „To bude ‚cena dolar‘, prosím\n```\n" + example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\n{print} 'Vítejte v našem obchodě se sendviči'\nmnožství 'Kolik sendvičů si přejete koupit?'\n{repeat} množství {times}\n{ask} {is} {ask} 'Jaký druh chleba si přejete pro svůj sendvič?'\ntypech_chleba {is} bílý, pšeničný, žitný, česnekový, bezlepkový\n{if} vybraný_chléb in typech_chleba\n{print} 'Krásné!'\n{else}\n'Je mi líto, ale ten neprodáváme'\npoleva {is} {ask} 'Jaký druh polevy si přejete?'\nomáčka {is} {ask} 'Jaký druh omáčky byste si přál?'\n{print} Jeden vybraný_chléb s poleva a omáčka.\ncena = množství * 6\n{print} 'To bude 'cena dolar', prosím'\n```\n" 7: example_code: "**Upozornění! Tento kód je třeba odladit!**\n```\nSpíte?\nBratře Johne!\nRanní zvony zvoní!\nCink, cink, cink!\n```\n" story_text: "### Cvičení\nPřekvapení! Tento program vypadá spíše jako výstup než jako kód. A přesto nechceme, abyste před každý řádek jen přidávali příkazy `{print}`.\nOpravte tento program tak, aby se z něj stala dětská říkanka 'Bratr Jan (Frère Jacques)', samozřejmě pomocí příkazu {repeat}!" @@ -1036,7 +1036,7 @@ adventures: default_save_name: Blackjack_2 levels: 17: - example_code: "```\n# Vložte sem kód z předchozího dobrodružství\n\n# Přidejte tyto proměnné do seznamu proměnných\ncard_2 = _\ndealer_card_1 = _\ndealer_card_2 = _\n\n# Sečtěte své body\nyour_points_1 = {call} _ {with} kartou_1\nyour_points_2 = _\nyour_total = _\n\n# Sečtěte body dealerů\ndealer_points_1 = _\n_\n_\n\n# 2 esa\n{if} card_1 == 'Ace' {and} _\n your_total = 12\n{if} dealer_card_1 _\n dealer_total = _\n\n# Ukažte skóre\n{print} 'Vytáhli jste ' _ ' a ' _ '. To je ' _ ' bodů.\n{print} „Krupiér vytáhl ‚ _ ‘ a ‚ _ ‘. To je ' _ ' bodů.\n```\n" + example_code: "```\n# Vložte sem kód z předchozího dobrodružství\n\n# Přidejte tyto proměnné do seznamu proměnných\ncard_2 = _\ndealer_card_1 = _\ndealer_card_2 = _\n\n# Sečtěte své body\nyour_points_1 = {call} _ {with} kartou_1\nyour_points_2 = _\nyour_total = _\n\n# Sečtěte body dealerů\ndealer_points_1 = _\n_\n_\n\n# 2 esa\n{if} card_1 == 'Ace' {and} _\n your_total = 12\n{if} dealer_card_1 _\n dealer_total = _\n\n# Ukažte skóre\n{print} 'Vytáhli jste ' _ ' a ' _ '. To je ' _ ' bodů.'\n{print} 'Krupiér vytáhl ' _ ' a ' _ '. To je ' _ ' bodů.'\n```\n" story_text: "### Cvičení\nV tomto dobrodružství nakódujeme druhou část naší hry Blackjack.\n\n***Vložte kód z předchozího dobrodružství***\nV předchozím dobrodružství jste založili seznam proměnných a vytvořili funkci pro výpočet, kolik bodů má karta hodnotu. Zkopírujte svůj kód a vložte jej sem. Mějte na paměti, že testovací část nepotřebujete, takže pokud jste ji ještě neodstranili, učiňte tak nyní.\n\n***Přidejte další proměnné***\nJiž jste nastavili seznamy `card` a `face_cards` a proměnnou `card_1`. Pod těmito proměnnými vytvořte další 3 proměnné: `card_2`, `dealer_card_1` a `dealer_card_2`. Všechny tyto proměnné jsou nastaveny na náhodnou kartu ze seznamu karet.\n\n***Přičtěte body***\nAbychom spočítali, kolik bodů jste získali, zavoláme funkci s kartou 1 a zopakujeme ji pro kartu 2. Poté obě tato skóre sečteme a získáme váš celkový součet.\nTotéž proveďte pro body rozdávajícího, ale nezapomeňte použít karty rozdávajícího, a ne své vlastní!\n\n***2 esa***\nVedete si skvěle! Nyní lze vypočítat téměř všechny výsledky. Existuje pouze jedna výjimka: 2 esa. Pokud získáte 2 esa, váš celkový součet je 12 bodů a ne 22 (protože 22 bodů by znamenalo prohru!). To samozřejmě platí i pro krupiéra.\n\n***Zobrazit skóre***\nNakonec chcete programu říct, aby vám sdělil, které karty jste si vylosovali a kolik to je bodů. Dále pak zobrazit, které karty má rozdávající a kolik má bodů.\n\n***Pokračování v dalším dobrodružství***\nSkvělé! Tuto část hry jste dokončili! Zkopírujte si kód a přejděte do dalšího dobrodružství, kde se dozvíte, jak požádat o kartu navíc a jak vyhlásit vítěze.\n" name: Blackjack 2 description: Blackjack část 2 @@ -1047,7 +1047,7 @@ adventures: levels: 17: story_text: "V posledních třech dobrodružstvích jste téměř vytvořili funkční hru blackjack! Zbývá už jen rozhodnout o vítězi!\n\n### Cvičení\n***Vložte svůj kód z předchozího dobrodružství*** Začněte tím, že vložíte kód, který jste dosud vytvořili, do programovacího pole.\n\n***Rozhodněte o vítězi***\nZa prvé, pokud máte s rozdávajícím stejný počet bodů, je to remíza.\nZa druhé, pokud má krupiér více než 21 bodů a vy ne, jste vítězem.\nZatřetí, pokud máte vy i krupiér méně než 22 bodů, musíme zjistit, kdo se nejvíce přiblížil 21 bodům. To provedeme tak, že porovnáme, kdo má nejvyšší počet bodů. Je váš součet vyšší než součet krupiéra, pak jste vítězem vy. Pokud ne, vyhrává krupiér.\nA konečně, ve všech ostatních případech (např. vy máte více než 21 bodů a krupiér ne, nebo máte oba více než 21 bodů) jste poraženým.\n\n***Užijte si hru!***\nFunguje vaše hra správně? Úžasně! Odvedli jste skvělou práci! Užijte si hru!\nPokud nefunguje hned, nezoufejte, možná jste udělali chybu. Zachovejte klid a zkuste svůj kód odladit pomocí tlačítka beruška.\n" - example_code: "```\n# Vložte sem kód z předchozího dobrodružství\n\n# Rozhodněte o vítězi\n{if} _\n {print} 'Its a draw! Hrajte znovu!\n{elif} _\n {print} „Vyhrál jsi!\n{elif} _ :\n {if} _:\n {print} _\n {else}:\n {print} _\n{else}:\n _\n```\n" + example_code: "```\n# Vložte sem kód z předchozího dobrodružství\n\n# Rozhodněte o vítězi\n{if} _\n {print} 'Its a draw! Hrajte znovu!\n{elif} _\n {print} 'Vyhrál jsi!'\n{elif} _ :\n {if} _:\n {print} _\n {else}:\n {print} _\n{else}:\n _\n```\n" blackjack_3: name: Blackjack 3 default_save_name: Blackjack_3 @@ -1065,7 +1065,7 @@ adventures: story_text: "## Pokud... jinak....\nV 5. úrovni je něco nového, `{if}`! Pomocí `{if}` si můžete vybrat ze dvou různých možností.\nTento kód vypíše hezky, pokud jako jméno zadáte Hedy, a boo! pokud zadáte něco jiného.\n`{ask}` a `{print}` stále fungují stejně jako ve čtvrté úrovni.\n" story_text_2: "Někdy je kód s `{if}` opravdu dlouhý a nevejde se na řádek.
Kód můžete také rozdělit na dva řádky a druhý řádek začít na `{else}` takto:\n" story_text_3: "### Cvičení\nZkuste vytvořit vlastní kód s `{if}` a `{else}`. Pokud chcete, můžete použít ukázkový kód.\n" - example_code_3: "```\nodpověď {is}{ask} '2 + 2 = ?'\n_ _ _ 4 _ „Skvělá práce!\n_ _ „Ne 2 + 2 = 4\n```\n" + example_code_3: "```\nodpověď {is} {ask} '2 + 2 = ?'\n_ _ _ 4 _ 'Skvělá práce!'\n_ _ 'Ne 2 + 2 = 4'\n```\n" example_code: "```\nname {is} {ask} 'what is your name?'\n{if} name {is} Hedy {print} 'nice' {else} {print} 'boo!'\n```\n" 8: example_code: "```\nname = {ask} 'What is your name?'\n{if} name {is} Hedy\n {print} 'Welcome Hedy'\n {print} 'You can play on your computer!'\n```\n" @@ -1123,7 +1123,7 @@ adventures: example_code: "```\n{repeat} 3 {times} {print} 'Hedy je zábava!'\n```\n" story_text: "## Opakujte! Opakuj! Opakujte!\nÚroveň 7 přidává příkaz `{repeat}`. Příkaz `{repeat}` lze použít k vícenásobnému spuštění jednoho řádku kódu. Například takto:\n\n### Cvičení\nPohrajte si s příkazem `{repeat}`. Dokážete vytvořit píseň Happy Birthday pouze na 3 řádcích kódu místo dosavadních 4?\n" 9: - story_text: "Skvělá práce! Dosáhl jsi další nové úrovně! V předchozí úrovni jste se naučili používat více řádků kódu v příkazu `{if}` nebo `{repeat}`. \nZatím však neumíte tyto dva příkazy kombinovat...\n\nDobrá zpráva! V této úrovni budete moci vkládat `{if}` do `{if}`, `{repeat}` do `{repeat}`příkazu a do sebe navzájem.\nVyzkoušejte si to!\n" + story_text: "Skvělá práce! Dosáhl jsi další nové úrovně! V předchozí úrovni jste se naučili používat více řádků kódu v příkazu `{if}` nebo `{repeat}`. \nZatím však neumíte tyto dva příkazy kombinovat...\n\nDobrá zpráva! V této úrovni budete moci vkládat `{if}` do `{if}`, `{repeat}` do `{repeat}` příkazu a do sebe navzájem.\nVyzkoušejte si to!\n" example_code: "```\n{repeat} 3 {times}\n order = {ask} 'What would you like to order?'\n {if} order {is} pizza\n {print} 'Yammie'\n {else}\n {print} 'pizza is better!'\n```\n" piggybank: description: Spočítejte si své kapesné! @@ -1132,7 +1132,7 @@ adventures: levels: 12: story_text: "V tomto dobrodružství se naučíte, jak si vyrobit digitální pokladničku.\n\n### Cvičení\nDokončete kód a spočítejte, kolik máte peněz a jak dlouho musíte šetřit, abyste si mohli koupit, co chcete!\n**Extra** Možná jste si už nějaké peníze našetřili? Odečtěte je od částky, kterou budete muset našetřit.\n" - example_code: "```\n{print}'Digitální prasátko'\npřání = {ask}\"Co byste si chtěli koupit?\ncena = {ask}\"Kolik to stojí?\nuloženo = {ask}'Kolik peněz jste již ušetřili?'\nkapesné = {ask}'Kolik kapesného dostáváš týdně?'\nspořit = cena - ušetřeno\ntýdny = spořit / kapesné\n{print}\"Můžeš si koupit ‚ _ ‘ za ‚ _ ‘ týdnů.\n```\n" + example_code: "```\n{print} 'Digitální prasátko'\npřání = {ask} 'Co byste si chtěli koupit?'\ncena = {ask} 'Kolik to stojí?'\nuloženo = {ask} 'Kolik peněz jste již ušetřili?'\nkapesné = {ask} 'Kolik kapesného dostáváš týdně?'\nspořit = cena - ušetřeno\ntýdny = spořit / kapesné\n{print} 'Můžeš si koupit ' _ ' za ' _ ' týdnů.'\n```\n" 14: story_text: "### Cvičení\nV této úrovni si můžete nechat od Hedy říct, jestli máte našetřeno dost peněz!\nDokončete tento kód vyplněním prázdných políček!\n" guess_my_number: @@ -1142,20 +1142,20 @@ adventures: levels: 14: story_text: "V této úrovni si můžete naprogramovat hru „Uhádni moje číslo“.\n\n### Cvičení\nDoplňte správné symboly do prázdných políček, aby hra fungovala.\n" - example_code: "```\n{print}'Uhodni moje číslo'\nčísla = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\nčíslo = čísla {at}{random}\nhra = 'on'\n{for}i {in}{range} 1 {to}10\n {if}hra == 'zapnuto'\n hádej = {ask}\"Které číslo myslíš, že to je?\n {if}hádej _ číslo\n {print}\"Nižší!\n {if}hádej _ číslo\n {print}\"Vyšší!\n {if}hádej _číslo\n {print}\"Vyhrál jsi!\n hra = 'konec'\n```\n" + example_code: "```\n{print} 'Uhodni moje číslo'\nčísla = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\nčíslo = čísla {at} {random}\nhra = 'zapnuto'\n{for} i {in} {range} 1 {to} 10\n {if} hra == 'zapnuto'\n hádej = {ask} 'Které číslo myslíš, že to je?'\n {if} hádej _ číslo\n {print} 'Nižší!'\n {if} hádej _ číslo\n {print} 'Vyšší!'\n {if} hádej _ číslo\n {print} 'Vyhrál jsi!'\n hra = 'konec'\n```\n" hotel: name: hotel default_save_name: hotel description: hotel levels: 13: - story_text: "V předchozím dobrodružství jste se naučili používat argument ve funkci a naučili jste se ho kombinovat s {ask}.\nMožná jste se divili, proč byste měli používat funkce, protože funkce v příkladu tvořily pouze jeden řádek kódu.\nNyní si ukážeme, jak vypadá větší funkce, a budeme nyní používat i více agrumentů. Uvidíte, o kolik je lepší používat funkce, jakmile se funkce zvětší.\nZde je příklad funkce s argumenty v kombinaci s příkazy {ask}.\n" + story_text: "V předchozím dobrodružství jste se naučili používat argument ve funkci a naučili jste se ho kombinovat s {ask}.\nMožná jste se divili, proč byste měli používat funkce, protože funkce v příkladu tvořily pouze jeden řádek kódu.\nNyní si ukážeme, jak vypadá větší funkce, a budeme nyní používat i více argumentů. Uvidíte, o kolik je lepší používat funkce, jakmile se funkce zvětší.\nZde je příklad funkce s argumenty v kombinaci s příkazy {ask}.\n" example_code: "```\n{define} welcome_message {with} title, last_name, country, room_number\n {print} 'Welcome to Hotel Hedy, ' title ' ' last_name\n nice_trip {is} {ask} 'Did you have a nice trip from, ' country '?'\n {if} nice_trip {is} 'yes'\n {print} 'Lovely!'\n {else}\n {print} 'Sorry to hear that.'\n {print} 'Hopefully you can take a nice rest in you room.'\n {print} 'Your room number is ' room_number\n\n{print} 'Hello. Please fill in your information to check in.'\ntitle = {ask} 'What is your title (mr, mrs, ms, dr, etc.)?'\nname = {ask} 'What is you last name?'\nhomecountry = {ask} 'What country do you come from?'\n\n{call} welcome_message {with} title, name, homecountry, 105\n```\n\ntitle = {ask} 'What is your title (mr, mrs, ms, dr, etc.)?'\nname = {ask} 'What is you last name?'\nhomecountry = {ask} 'What country do you come from?'\n\n{call} welcome_message {with} title, name, homecountry, 105\n" quotation_marks: levels: 4: example_code: "```\n{print} 'You need to use quotation marks from now on!'\nanswer {is} {ask} 'What do we need to use from now on?'\n{print} 'We need to use ' answer\n```\n" - example_code_2: "```\n_ Toto je špatný způsob používání apostrofů _\n{print}'Hlídám sestřiny děti'\n{print}\"Co je zábavnějšího než tohle?\n_Takhle se to řeší _\n{print}\"Hlídám sestřiny děti“\n{print}\"Co je zábavnější než tohle?“\n```\n" + example_code_2: "```\n_ Toto je špatný způsob používání apostrofů _\n{print} 'Hlídám sestřiny děti'\n{print} 'Co je zábavnějšího než tohle?'\n_ Takhle se to řeší _\n{print} \"Hlídám sestřiny děti\"\n{print} \"Co je zábavnější než tohle?\"\n```\n" story_text: "## 'Uvozovky'\nV úrovni 4 se změnily `{ask}` a `{print}`.\nText, který chcete vytisknout, musíte dát do uvozovek.\nTo je užitečné, protože nyní můžete vytisknout všechna slova, která chcete. Také slova, která jste použili k uložení něčeho pomocí `{is}`.\nVětšina programovacích jazyků používá při tisku také uvozovky, takže se také o krok přiblížíme skutečnému programování!\n" story_text_2: "## Kontrakce\nDůležité! Pamatujte, že když teď používáme uvozovky, Hedy bude zmatená, když použijete apostrof pro spojky jako I'm nebo What's.\nDbejte na to, abyste používali dvojité uvozovky, když v řádku používáte apostrof!\nPodívejte se na příklad kódu, abyste viděli nesprávný způsob použití apostrofů.\n" 12: @@ -1207,7 +1207,7 @@ adventures: levels: 17: example_code: "```\n# Vytvoříme funkci, která vykreslí oběšence\n{define}nakreslit_kata {with}krok:\n {if}krok == 1:\n {color}bílá\n {forward}-100\n {turn}90\n {forward}-50\n {color}černá\n {forward}100\n {forward}-50\n\n {if}kroky == 2:\n _\n# Vložte sem svou hru kata\n\n```\n" - story_text: "Při hře na kata se chyby projevují tak, že se při každé chybě nakreslí část kata.\nNyní tyto kresby doplníme naší želvou!\n\n### Cvičení\n***Vytvořte funkci, která nakreslí oběšence*** Vytvořte funkci, která nakreslí oběšence v 10 krocích. Krok 1 jsme již vytvořili za vás.\n\n***Vyzkoušejte funkci*** Otestujte funkci tak, že ji zavoláte s číslem 10. Pokud jste s funkcí spokojeni, odstraňte prozatím řádek, který funkci volá. Funkci zavoláme, až hráč udělá chybu.\n\n***Vložte pod funkci hru oběšence*** Vraťte se k předchozímu dobrodružství a zkopírujte svou hru oběšence. Hru vložte pod svou funkci.\n\n***Volání funkce, když hráč udělá chybu*** Pod řádkem `mistakes_made = mistakes_made + 1` budeme volat funkci. Chceme, aby želva udělala tolik kroků, kolik hráč udělal chyb, proto zavoláme funkci s argumentem `mistakes_made`.\n\n***Užijte si hru!***\n
\n Oběšenec by mohl vypadat takto \n
\n" + story_text: "Při hře na kata se chyby projevují tak, že se při každé chybě nakreslí část kata.\nNyní tyto kresby doplníme naší želvou!\n\n### Cvičení\n***Vytvořte funkci, která nakreslí oběšence*** Vytvořte funkci, která nakreslí oběšence v 10 krocích. Krok 1 jsme již vytvořili za vás.\n\n***Vyzkoušejte funkci*** Otestujte funkci tak, že ji zavoláte s číslem 10. Pokud jste s funkcí spokojeni, odstraňte prozatím řádek, který funkci volá. Funkci zavoláme, až hráč udělá chybu.\n\n***Vložte pod funkci hru oběšence*** Vraťte se k předchozímu dobrodružství a zkopírujte svou hru oběšence. Hru vložte pod svou funkci.\n\n***Volání funkce, když hráč udělá chybu*** Pod řádkem `mistakes_made = mistakes_made + 1` budeme volat funkci. Chceme, aby želva udělala tolik kroků, kolik hráč udělal chyb, proto zavoláme funkci s argumentem `mistakes_made`.\n\n***Užijte si hru!***\n
\n Oběšenec by mohl vypadat takto \n
\n" description: Kat 3 is_command: levels: @@ -1285,7 +1285,7 @@ adventures: description: Nakreslete tento obrázek s želvou levels: 6: - story_text: "### Cvičení\nZrekonstruujte kresby s želvou!\n\n**Extra** Nechte hráče rozhodnout, jakou barvu má mít čtverec.\n\n***Extra*** Dokážete vytvořit i písmeno svého křestního jména a vlajku své země?\n\n
\nČtverec \nPísmena \nVlajka \n
\n" + story_text: "### Cvičení\nZrekonstruujte kresby s želvou!\n\n**Extra** Nechte hráče rozhodnout, jakou barvu má mít čtverec.\n\n***Extra*** Dokážete vytvořit i písmeno svého křestního jména a vlajku své země?\n\n
\nČtverec \nPísmena \nVlajka \n
\n" 4: example_code: "**Extra** Máte chuť na pořádnou výzvu? Ujistěte se, že barvy těchto figurek jsou vybrány náhodně, takže při každém spuštění programu budou vypadat jinak!\n\n```\nbarvy {is} červená, oranžová, žlutá, zelená, modrá, fialová, růžová, hnědá, šedá, černá.\nbarva _\n```\n" 1: @@ -1360,7 +1360,7 @@ adventures: 12: story_text: "Písně se často opakují. Můžeme je zachytit pomocí funkce!\n### Cvičení\nPodívejte se na příklad kódu s funkcí. Doplňte dva řádky tak, aby se vypsala celá skladba.\n" 16: - story_text_2: "### Exercicie 2\nNyní vytvořte vlastní kód pro říkanku „Kola v autobuse“ stejným způsobem!\n" + story_text_2: "### Cvičení 2\nNyní vytvořte vlastní kód pro říkanku „Kola v autobuse“ stejným způsobem!\n" story_text: "### Cvičení\nDokončete říkanku!\n" default_save_name: Píseň 2 simon: diff --git a/content/adventures/de.yaml b/content/adventures/de.yaml index e373cb1d2cb..89a82b8c076 100644 --- a/content/adventures/de.yaml +++ b/content/adventures/de.yaml @@ -223,8 +223,8 @@ adventures: ``` 15: story_text: | - Mit der `{while}`-Schleife kannst du deine Geschichten noch interessanter gestalten. So kannst du zum Beispiel mit `{while} game == 'on'``{while} sword == 'lost'` dein Spiel so lange laufen lassen, bis es tatsächlich vorbei ist. - Oder du lässt die Spieler mit `{while} game == 'on'` so lange weiter suchen, bis sie etwas finden. + Mit der `{while}`-Schleife kannst du deine Geschichten noch interessanter gestalten. So kannst du zum Beispiel mit `{while} game == 'on'` dein Spiel so lange laufen lassen, bis es tatsächlich vorbei ist. + Oder du lässt die Spieler mit `{while} sword == 'lost'` so lange weiter suchen, bis sie etwas finden. ### Übung Der Beispiel Code zeigt dir, wie du eine `{while}` Schleife in einer Geschichte verwenden kannst. Denke dir jetzt **ein eigenes Szenario** aus, in dem die Spieler etwas finden müssen, bevor sie weitermachen können. @@ -409,7 +409,7 @@ adventures: Gib die Variable `punkte` am Ende der Funktion zurück. ***Teste die Funktion*** - Teste, ob deine Funktion richtig funktioniert. Vervollständige den ersten `{print}`Befehl, indem du die Karte ergänzt, die du gezogen hast. Dann vervollständige die zweite Zeile, indem du die Funktion mit karte_1 aufrufst. + Teste, ob deine Funktion richtig funktioniert. Vervollständige den ersten `{print}` Befehl, indem du die Karte ergänzt, die du gezogen hast. Dann vervollständige die zweite Zeile, indem du die Funktion mit karte_1 aufrufst. Lass dein Programm ein paar Mal laufen. Bist du mit den Ergebnissen zufrieden? Dann kannst du den Testteil entfernen und zum nächsten Tab wechseln! example_code: | ``` @@ -544,8 +544,10 @@ adventures: 17: story_text: | In den letzten 3 Abenteuern hast du fast ein funktionierendes Blackjack Spiel geschrieben! Jetzt fehlt nur noch, den Gewinner zu bestimmen - * + + ### Übung Paste your code from the previous adventure*** Start by pasting the code that you've made so far into your programming + ***Decide a winner*** Firstly, if you and the dealer have an equal amount of points, it's a draw. Secondly, if the dealer has more than 21 points and you don't, you are the winner. @@ -554,7 +556,7 @@ adventures: ***Enjoy the game!*** Does your game work properly? Amazing! You have done a great job! Enjoy your game! - If it doesn't work right away, no worries, you might have made a mistake. Just keep calm and bebug your code using the ladybug button. + If it doesn't work right away, no worries, you might have made a mistake. Just keep calm and debug your code using the ladybug button. example_code: | ``` # Füge das Programm aus dem vorherigen Abenteuer hier ein @@ -1307,9 +1309,18 @@ adventures: Deshalb multiplizieren wir mit dem Stern (auf der Tastatur über dem Plus): `5 * 5`. Lies das als "5 mal 5", dann kannst du dich am einfachsten daran erinnern. example_code: | ``` - {print} '5 plus 5 macht ' 5 + 5 - {print} '5 minus 5 macht ' 5 - 5 - {print} '5 mal 5 macht ' 5 * 5 + essen_preis {is} 0 + getränk_preis {is} 0 + gesamt_preis {is} 0 + {print} 'Willkommen bei McHedy' + bestellung {is} {ask} 'Was möchtest du essen?' + {if} bestellung {is} Hamburger essen_preis {is} 5 + {if} bestellung {is} Pommes essen_preis {is} 2 + getränk {is} {ask} 'Was möchtest du trinken?' + {if} getränk {is} Wasser getränk_preis {is} 0 + {else} getränk_preis {is} 3 + gesamt_preis {is} essen_preis + getränk_preis + {print} 'Das macht zusammen ' gesamt_preis ' Euro, bitte' ``` 7: story_text: | @@ -2262,7 +2273,7 @@ adventures: levels: 13: story_text: | - Im letzten Abenteuer hast du gelernt, ein Argument in einer Funktion zu verwenden. Du hast auch glen, wie du das mit einem {ask} kombinieren kannst. + Im letzten Abenteuer hast du gelernt, ein Argument in einer Funktion zu verwenden. Du hast auch gelernt, wie du das mit einem {ask} kombinieren kannst. Du hast dich vielleicht gefragt, warum du eine Funktion verwenden solltest, weil die Funktionen im Beispiel nur eine Zeile lange sind. Jetzt werden wir dir zeigen, wie größere Funktionen aussehen. Wir werden jetzt auch mehrere Argumente verwenden. Du wirst sehen, wie viel besser es ist, eine Funktion zu verwenden, wenn die Funktion größer wird. Hier ist ein Beispiel einer Funktion mit Argumenten, kombiniert mit dem {ask} Befehl. @@ -2700,7 +2711,7 @@ adventures: Wir haben die erste Zeile für dich definiert und den Aufruf im Programm eingefügt. Kannst du das ganze Lied vervollständigen? example_code: | ``` - {define} zeal_1 + {define} zeile_1 {for} i {in} {range} 1 {to} 3 {play} G {play} D @@ -2713,7 +2724,7 @@ adventures: {for} i {in} {range} 1 {to} 3 tier = tiere[i] laut = laute[i] - {print} 'Old MacDonald had a farm' + {print} 'Old MacDonald hat ’ne Farm' {call} zeile_1 {print} 'E I E I O!' _ @@ -3145,7 +3156,7 @@ adventures: Toll gemacht! Du hast einen weiteren neuen Level erreicht! Im vorherigen Level hast du gelernt, mehrere Zeile Code in einem `{if}` oder `{repeat}` Befehl zu benutzen. Aber du kannst noch nicht beide kombinieren... - Gute Nachrichten! In diesem Level darfst du ein `{if}`in einem `{if}`, `{repeat}`in einem `{repeat}`und jeweils ineinander zu verwenden. + Gute Nachrichten! In diesem Level darfst du ein `{if}` in einem `{if}`, `{repeat}` in einem `{repeat}` und jeweils ineinander zu verwenden. Versuch es! example_code: | ``` @@ -3277,9 +3288,10 @@ adventures: ### Übung 1 Füge die Anführungszeichen zum Code hinzu, um ihn zum Laufen zu bringen! Sei vorsichtig: Variablen sollten nicht in Anführungszeichen stehen. + Dann verwende den `{clear}` Befehl um nur eine Zeile anzuzeigen. ### Übung 2 - Gehe zum vorigen Level zurück und kopiere deinen Restaurant-Code. Bringe diesen Code in diesem Level zum Laufen, indem du Anführungszeichen an den richtigen Stellen hinzufügst. + Gehe zum vorigen Level zurück und kopiere deinen Restaurant-Code. Bringe diesen Code in diesem Level zum Laufen, indem du Anführungszeichen und `{clear}` Befehle an den richtigen Stellen hinzufügst. example_code: | ``` _ Füge Anführungszeichen in diesen Code ein _ @@ -3322,7 +3334,7 @@ adventures: Du kann viele weitere Dinge zu deinem virtuellen Restaurant ergänzen. Zum Beispiel kannst du... - frage, wie viele Personen kommen und den Preis mit der Anzahl multiplizieren? - ein weiteres Gericht hinzufügen? - - Gästen einen Rabatt geben, wenn sie einen (geheimen) Couponcode eingeben? + - Gästen einen Rabatt geben, wenn sie einen (geheimen) Gutscheincode eingeben? - ein Kinderessen hinzufügen? - dir noch weitere lustige Dinge ausdenken und ergänzen? example_code: | @@ -3521,8 +3533,8 @@ adventures: In diesem Level kannst du üben, Variablen zu benutzen, damit du im nächsten Level das Spiel Schere, Stein, Papier machen kannst! example_code: |- ``` - _ {is} {ask} Schere, Stein oder Papier? - {print} Ich wähle + Auswahl {is} Stein + {print} Ich wähle _ ``` 3: story_text: | @@ -3540,8 +3552,8 @@ adventures: example_code_2: | ``` wahlmöglichkeiten {is} Schere, Stein, Papier - {print} Spieler 1 wählt... wahlmöglichkeiten {at} {random} - {print} Spieler 2 _ + spieler_1 {is} {ask} Name von Spieler 1: + _ ``` 4: story_text: | @@ -3585,16 +3597,16 @@ adventures: example_code: | ``` Auswahl = Schere, Stein, Papier - deine_Wahl = {ask} 'Was wählst du?' + deine_Wahl {is} {ask} 'Was wählst du?' {print} 'Du wählst ' deine_Wahl - Computer_Wahl = Auswahl {at} {random} + Computer_Wahl {is} Auswahl {at} {random} {print} 'Der Computer wählt ' Computer_Wahl {if} Computer_Wahl {is} deine_Wahl {print} 'Unentschieden' - {if} Computer_Wahl {is} 'Stein' - {if} deine_Wahl {is} 'Papier' + {if} Computer_Wahl {is} Stein + {if} deine_Wahl {is} Papier {print} 'Du gewinnst!' - {if} deine_Wahl {is} 'Schere' + {if} deine_Wahl {is} Schere {print} 'Du verlierst!' # mach den Beispiel-Code fertig ``` @@ -3604,10 +3616,9 @@ adventures: In den vorherigen Leveln hast du oft dein eigenes Schere-Stein-Papier Spiel gemacht. Kann du den Code vervollständigen, indem du den `{for}` Befehl so zu verwenden, dass das Spiel funktioniert? example_code: | ``` - Auswahl = Schere, Stein, Papier + Auswahl = _ Personen = _ - {for} Spieler {in} Personen - {print} Spieler ' wählt ' Auswahl {at} {random} + {for} _ ``` 13: story_text: | diff --git a/content/adventures/en.yaml b/content/adventures/en.yaml index c4b1f5e56ac..e7dd4670f73 100644 --- a/content/adventures/en.yaml +++ b/content/adventures/en.yaml @@ -121,7 +121,7 @@ adventures: ### Exercise 2 Copy the story you've created in your own story adventure in the previous levels. Find a way to add at least 2 `{if}` and `{else}` commands to your story. - This can be with a happy or bad ending, but you can also try to find other ways to incoporate the commands. + This can be with a happy or bad ending, but you can also try to find other ways to incorporate the commands. example_code: | ``` name {is} {ask} 'Who is walking in the forest?' @@ -249,7 +249,7 @@ adventures: Tip: Remember the commas in a `{print}` between text and variables! example_code_2: | ``` - naam = {input}("What's your name?") + name = {input}("What's your name?") {print}('Welcome to this story!') ``` add_remove_command: @@ -547,7 +547,7 @@ adventures: ***Enjoy the game!*** Does your game work properly? Amazing! You have done a great job! Enjoy your game! - If it doesn't work right away, no worries, you might have made a mistake. Just keep calm and bebug your code using the ladybug button. + If it doesn't work right away, no worries, you might have made a mistake. Just keep calm and debug your code using the ladybug button. example_code: | ``` # Paste your code from the previous adventure here @@ -713,7 +713,7 @@ adventures: Fill in the blanks to get the calculator to work. * Start with the fourth line, add a question to figure out what grade the student got. * In the fifth line you'll want to calculate the total of all grades, so the total = total + grade. - * Then we get to set the return value. We want to return the mean, so the total devided by the amount of tests (4). + * Then we get to set the return value. We want to return the mean, so the total divided by the amount of tests (4). * Lastly we finish the code by calling the function in line 8. Did you get it? Awesome! Would you like to add even more to your calculator? **This adventure continues in the next adventure!** @@ -908,7 +908,7 @@ adventures: {print} 'Vending machine' chosen_product = {ask} 'Please select a product' 1_dollar_products = coke orange juice water - 2_dollar_products = chocolate, cookie, museli bar + 2_dollar_products = chocolate, cookie, muesli bar 3dollar_prodcuts = potato chips, beef jerky, banana bread {if} chosen {is} {in} 1_dollar_products price = 1 @@ -1166,7 +1166,7 @@ adventures: **Warning! This code needs to be debugged!** ``` country = ['The Netherlands', 'Poland', 'Turkey', 'Zimbabwe', 'Thailand', 'Brasil', 'Peru', 'Australia', 'India', 'Romania' ] - capitals = 'Amsterdam', 'Warshaw' 'Istanbul', 'Harare', 'Bangkok', 'Brasilia', 'Lima', 'Canberra', 'New Delhi', 'Bucharest' + capitals = 'Amsterdam', 'Warsaw' 'Istanbul', 'Harare', 'Bangkok', 'Brasilia', 'Lima', 'Canberra', 'New Delhi', 'Bucharest' score = 0 {for} i {in} {range} 0 {to} 10 answer = {ask} 'What's the capital of ' countries[i] @@ -1477,7 +1477,7 @@ adventures: Check it out! 18: story_text: | - Congratulations! You have reached the last level of Hedy! The code you have created here can be copied to real Python environments like replit or PyCharm, and you can continue learning there! + Congratulations! You have reached the last level of Hedy! The code you have created here can be copied to real Python environments like Replit or PyCharm, and you can continue learning there! Note however that Python can only read English commands, so if you have been using other languages, you will need to switch to English now. dice: name: Dice @@ -2046,7 +2046,7 @@ adventures: `{def} name_function(argument_1, argument_2):`. - If you don't want to use arguments, you just leave the space between the parantheses empty. + If you don't want to use arguments, you just leave the space between the parentheses empty. To call a function, we don't need the `{call}` command anymore. You just type the name of the function. example_code: | ``` @@ -2477,7 +2477,7 @@ adventures: story_text: | In the previous adventure you have learned how to use an argument in a function, and you've learned how to combine it with an {ask}. You might have wondered why you would use functions, because the functions in the example were only one line of code. - Now we will show you what a bigger function looks like and we will use multiple agruments now as well. You'll see how much better it is to use a function once the function gets bigger. + Now we will show you what a bigger function looks like and we will use multiple arguments now as well. You'll see how much better it is to use a function once the function gets bigger. Here is an example of a function with arguments combined with {ask} commands. example_code: | ``` @@ -3226,7 +3226,7 @@ adventures: piggybank: name: Piggy Bank default_save_name: Piggy Bank - description: Count your pocketmoney! + description: Count your pocket money! levels: 12: story_text: | @@ -3560,7 +3560,7 @@ adventures: Great job! You've reached another new level! In the previous level you've learned to use multiple lines of code in an `{if}` or `{repeat}` command. But you can't yet combine the two... - Good news! In this level you will be allowed to put an `{if}` inside an `{if}`, `{repeat}` inside a `{repeat}` command and in eachother. + Good news! In this level you will be allowed to put an `{if}` inside an `{if}`, `{repeat}` inside a `{repeat}` command and in each other. Give it a try! example_code: | ``` @@ -3735,7 +3735,7 @@ adventures: You can add many more things to your virtual restaurant. For example, can you... - ask how many people are coming and multiply the price by that amount? - add another course? - - give people a discount when they enter a (secret) couponcode? + - give people a discount when they enter a (secret) coupon code? - add a children's menu? - think of other fun things to add? example_code: | @@ -4100,7 +4100,7 @@ adventures: {if} name {is} _ a = 'Go to the airport ' {else} - a = 'Go to the trainstation ' + a = 'Go to the train station ' password = {ask} 'What is the password?' {if} password {is} _ b = 'tomorrow at 02.00' @@ -4124,7 +4124,7 @@ adventures: {if} name {is} 'Agent007' _ password {is} 'TOPSECRET' {print} 'Go to the airport at 02.00' {else} - {print} 'Go to the trainstation at 10.00' + {print} 'Go to the train station at 10.00' ``` simon: name: Simon Says @@ -4507,7 +4507,7 @@ adventures: {clear} ``` story_text_2: | - ### Exersice 2 + ### Exercise 2 Now create your own code for the nursery rhyme 'The wheels on the bus' on the same way! example_code_2: | ``` @@ -4528,7 +4528,7 @@ adventures: ***Create a list called field*** This list will be our playing field. This list is filled with 9 dots, since there are no x's and o's yet at the start of our game. - ***Create a function that prints the field*** Firstly, clear the screen so the old playing fields will be removed. Then we print the first line of our Tic Tac Toe field. This line constists of the first 3 spots in our list field. + ***Create a function that prints the field*** Firstly, clear the screen so the old playing fields will be removed. Then we print the first line of our Tic Tac Toe field. This line consists of the first 3 spots in our list field. We have already programmed this line for you. Now finish the field by printing spot 4, 5, and 6 on the second row and spot 7, 8 and 9 in the third row. ***Call the function that prints the field*** Now call the function. diff --git a/content/adventures/it.yaml b/content/adventures/it.yaml index 19133ab16c1..6d2c04afd3a 100644 --- a/content/adventures/it.yaml +++ b/content/adventures/it.yaml @@ -2,7 +2,7 @@ adventures: story: name: Storia default_save_name: Storia - description: Storia + description: Crea una storia breve levels: 1: story_text: | @@ -43,6 +43,7 @@ adventures: Modifica i comandi `{ask}` e `{echo}` nel tuo codice nella forma corretta che hai imparato in questo livello. **Extra** Aggiungi un comando `{sleep}` al tuo codice per aumentare la tensione nella tua storia. + example_code: "```\nnome {is} {ask} Qual è il nome del personaggio principale?\n{print} nome sta per correre nel bosco\n{print} nome è un po' spaventato\n{print} All'improvviso sente un rumore inquietante...\n{sleep}\n{print} nome teme che questa sia un bosco infestato\n```" 3: story_text: | Nel livello 3 puoi rendere la tua storia più divertente. Puoi usare la casualità per qualsiasi mostro, animale o ostacolo, in questo modo: @@ -53,6 +54,9 @@ adventures: Copia la tua storia dai livelli precedenti a questo livello. In questo livello hai imparato 3 nuovi comandi `{at} {random}`, `{add} {to_list}` e `{remove} {from}`. Aggiungi nuove righe di codice alla tua storia, in modo che tutti i nuovi comandi siano presenti almeno una volta nella tua storia. + example_code: "```\nanimals {is} 🦔, 🐿, 🦉, 🦇\n{print} They now hear the sound of an animals {at} {random}\n```\n" + story_text_2: "Il comando `{add}` può essere utile nella tua storia.\n" + example_code_2: "```\n{print} They hear a sound\nanimals {is} 🐿, 🦔, 🦇, 🦉\nanimal {is} {ask} What do you think it is?\n{add} animal {to_list} animals\n{print} it was an animals {at} {random}\n```\n" 4: story_text: | ### Esercizio diff --git a/content/tutorials/da.yaml b/content/adventures/my.yaml similarity index 100% rename from content/tutorials/da.yaml rename to content/adventures/my.yaml diff --git a/content/adventures/pl.yaml b/content/adventures/pl.yaml index 5ad965b26c8..cf8af20a467 100644 --- a/content/adventures/pl.yaml +++ b/content/adventures/pl.yaml @@ -237,7 +237,7 @@ adventures: ``` add_remove_command: default_save_name: Dodaj_komendę_remove - description: wprowadzamy {add}{to_list} i {remove} {from} + description: wprowadzamy {add} {to_list} i {remove} {from} levels: 3: story_text: | @@ -565,7 +565,7 @@ adventures: {else} {print} 'Źle! To było ' _. ``` story_text_3: | - **Dodatkowo**Możesz też pozwolić komputerowi na samodzielne wykonywanie losowych sum za pomocą`{random}`. + **Dodatkowo** Możesz też pozwolić komputerowi na samodzielne wykonywanie losowych sum za pomocą `{random}`. example_code_3: |- ``` liczby= 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 @@ -848,7 +848,7 @@ adventures: {print} {else} 'Nie dołączasz na lekcję pływania' discount {is} 'Czy posiadasz kod zniżkowy?' {if} zniżka {is} tak - zniżka-odpowiedź {is} {ask} 'Jaki jest twój kod zniżkowy?' + zniżka_odpowiedź {is} {ask} 'Jaki jest twój kod zniżkowy?' kody_zniżkowe = Senior4231, Student8786, NewMember6709 {if} zniżka_odpowiedź {is} {in} kod_zniżkowy {print} 'Do zapłaty będzie $3,50' @@ -1408,7 +1408,7 @@ adventures: story_text: | Teraz zmienimy nieco wcięcia. Za każdym razem, gdy potrzebujemy wciąć kod, potrzebujemy `:` w linii przed wcięciem. - Na tym poziomie możesz też użyć nowej komendy: `{elif}`. `{elif}` ,które jest połczeniem ``{else} {if}` i potrzebujesz go, gdy chcesz dodać 3 (lub więcej!) opcji. + Na tym poziomie możesz też użyć nowej komendy: `{elif}`. `{elif}` ,które jest połczeniem `{else} {if}` i potrzebujesz go, gdy chcesz dodać 3 (lub więcej!) opcji. Sprawdź to! 18: story_text: | @@ -1483,10 +1483,10 @@ adventures: Czy udało ci się policzyć wynik dla 8 kostek? Wymagało to sporo kopiowania i wklejania , prawda? W poziomie 7 ułatwimy to! 7: story_text: | - Na tym poziomie możeszponownie zrobić kości. Dzięki kodowi `{repeat}` możesz łatwo rzucić całą ręką kości. + Na tym poziomie możesz ponownie zrobić kości. Dzięki kodowi `{repeat}` możesz łatwo rzucić całą ręką kości. ### Ćwiczenie - Spróbuj zakończyć przykładowy kod! **Dodatkowo ** Pomyśl o znanej grze, która obejmuje kości i zaprogramuj taką przy użyciu`{repeat}`. + Spróbuj zakończyć przykładowy kod! **Dodatkowo** Pomyśl o znanej grze, która obejmuje kości i zaprogramuj taką przy użyciu `{repeat}`. example_code: | ``` wybory = 1, 2, 3, 4, 5, 6 @@ -1663,19 +1663,19 @@ adventures: `{for}` tworzy blok, jak `{repeat}` i `{if}` więc wszystkie linie w bloku muszą zaczynać się od 4 spacji. story_text_2: | ### Ćwiczenie - Dokończ ten kod, dodając `{for} action {in} actions` do wiersza 2. + Dokończ ten kod, dodając `{for} czynność {in} czynności` do wiersza 2. example_code_2: | ``` czynności = klaszcz w dłonie, tupnij stopami, krzycz Hurra! _ {repeat} 2 {times} - {print} 'If youre happy and you know it, ' czynności + {print} 'Jeśli jesteś szczęśliwy i wiesz o tym, ' czynność {sleep} 2 - {print} 'If youre happy and you know it, and you really want to show it' - {print} 'If youre happy and you know it, ' action + {print} 'Jeśli jesteś szczęśliwy i wiesz o tym i naprawdę chcesz to pokazać' + {print} 'Jeśli jesteś szczęśliwy i wiesz o tym, ' czynność {sleep} 3 ``` - example_code: "```\nanimals = dog, cat, blobfish\n{for} animal {in} animals\n {print} 'I love ' animal\n```\n" + example_code: "```\nzwierzęta = pies, kot, ryba\n{for} zwierzę {in} zwierzęta\n {print} 'Kocham ' zwierzę\n```\n" 11: story_text: |- Na tym poziomie dodajemy nową formę komendy`{for}`. Na wcześniejszych poziomach używaliśmy `{for}` z listą, ale możemy też używać `{for}` z liczbami. @@ -1980,18 +1980,18 @@ adventures: W tej przygodzie zaprogramujemy grę w wisielca. Najpierw przygotowujemy się, potem zaprogramujemy grę, a w trzeciej części dodajemy rysunek z żółwiem. ### Ćwiczenie - ***Ustaw zmienne *** W tej grze w wisielca gracz 1 wybiera odpowiedź, a gracz 2 musi odgadnąć litery. + ***Ustaw zmienne*** W tej grze w wisielca gracz 1 wybiera odpowiedź, a gracz 2 musi odgadnąć litery. Aby poinformować komputer o wszystkich literach w słowie, zamienimy odpowiedź w listę liter. Robimy to również za pomocą liter zgadywanych przez Gracza 2. - Rozpoczniemy grę z 2 pustymi listami. Zrobiliśmy dla ciebie pustą listę dla zmiennej o nazwie odpowiedzi. Teraz utwórz pustą listę dla zgadywane_litery. + Rozpoczniemy grę z 2 pustymi listami. Zrobiliśmy dla ciebie pustą listę dla zmiennej o nazwie odpowiedzi. Teraz utwórz pustą listę na odgadnięte_litery. Następnie piszemy ile błędów zostało popełnionych. Na początku gry powinno to być 0. - Zmienna `amount_letters` mówi nam, ile liter znajduje się w odpowiedzi. Poproś Gracza 1, aby powiedział, ile liter ma jego słowo. - Na koniec informujemy komputer, czy gra się skończyła. Używamy zmiennej `game_over` i ustawiamy ją na `False`. + Zmienna `liczba_liter` mówi nam, ile liter znajduje się w odpowiedzi. Poproś Gracza 1, aby powiedział, ile liter ma jego słowo. + Na koniec informujemy komputer, czy gra się skończyła. Używamy zmiennej `koniec_gry` i ustawiamy ją na `False`. - ***Wybór odpowiedzi *** Chcemy, aby Gracz 1 mógł wybrać odpowiedź. Zapytamy ich tyle razy, ile to konieczne o to jaka jest następna litera. + ***Wybór odpowiedzi*** Chcemy, aby Gracz 1 mógł wybrać odpowiedź. Zapytamy ich tyle razy, ile to konieczne o to jaka jest następna litera. Następnie dodajemy tą literę do odpowiedzi. Na koniec dodajemy puste _ do listy zgadywanych liter, więc otrzymujemy tyle pustych _, ile jest liter w odpowiedzi. ***Kolej gracza 2*** - Powiedz Graczowi 2, że teraz jest jego kolej. Następnie powiedz Graczowi 2, ile liter znajduje się w odpowiedzi. Na koniec napisz listę `guessed_letters`. + Powiedz Graczowi 2, że teraz jest jego kolej. Następnie powiedz Graczowi 2, ile liter znajduje się w odpowiedzi. Na koniec napisz listę `odgadnięte_litery`. ***Przejdź do następnej przygody*** Po ustawieniu wszystkich zmiennych początkowych możemy rozpocząć programowanie samej gry. Sprawdź następną kartę, aby dowiedzieć się, jak to zrobić! example_code: | @@ -2001,20 +2001,20 @@ adventures: # Ustaw zmienne odpowiedź = [] odgadnięte_litery = _ - zrobione_pomyłki= _ - ilość_liter = {ask} _ + zrobione_pomyłki = _ + liczba_liter = {ask} _ _ = 'False' # Wybór odpowiedzi {for} _ - litera= {ask} 'Graczu 1, czy w słowie znajduje się litera ' i '?' + litera = {ask} 'Graczu 1, jaka jest litera numer ' i '?' _ {add} '_' {to} _ # Kolej Gracza 2 print _ print _ - print odgadnięte_litery + print odgadnięte_litery ``` hangman_2: name: Wisielec 2 @@ -2027,11 +2027,11 @@ adventures: ### Ćwiczenie - ***Wklej kod *** Skopiuj kod z poprzedniej przygody i wklej go w polu programowania. + ***Wklej kod*** Skopiuj kod z poprzedniej przygody i wklej go w polu programowania. - **Gra *** Ta gra trwa do momentu, aż Gracz 2 nie zakończy swojej gry (wygra lub przegra). Wypełnij odpowiednio polecenie while. Teraz Gracz 2 może odgadnąć litery, więc poproś Gracza 2, aby je + **Gra*** Ta gra trwa do momentu, aż Gracz 2 nie zakończy swojej gry (wygra lub przegra). Wypełnij odpowiednio polecenie while. Teraz Gracz 2 może odgadnąć litery, więc poproś Gracza 2, aby je zgadywał. Musimy sprawdzić, czy jego odpowiedź jest poprawna, więc sprawdź, czy jego `guess` jest (gdzieś) na (liście) `answer`. Następnie pozwalamy komputerowi dowiedzieć się, która z liter jest zgadywana. Zaprogramowaliśmy już tę część dla Ciebie. - Następnie chcemy pochwalić gracza za odgadnięcie poprawnej litery i chcemy wydrukować listę `guessed_letters`, aby gracz mógł zobaczyć swoje postępy. + Następnie chcemy pochwalić gracza za odgadnięcie poprawnej litery i chcemy wydrukować listę `odgadnięte_litery`, aby gracz mógł zobaczyć swoje postępy. W następnej części zaprogramujemy i dowiemy się co się stanie jeśli gracz odgadnie wszystkie litery. Czyli jeśli jego odgadnięte litery `guessed_letters` są takie same jak nasza odpowiedź `answer`. Jeżeli są one takie same, to wtedy pogratuluj Graczowi 2 jego zwycięstwa i ustaw zmienną `game_over` na `True`. @@ -2046,19 +2046,19 @@ adventures: # Wklej tutaj swój kod. # Gra - {while} Koniec_gry _ + {while} koniec_gry _ próba_odgadnięcia = _ {if} _ - {for} i {in} {range} 1 {to} Liczba_liter: - jeśli odpowiedź[i] == próba_odgadnięcia: - odgadnięte_litery [i] = próba_odgadnięcia + {for} i {in} {range} 1 {to} liczba_liter: + {if} odpowiedź[i] == próba_odgadnięcia: + odgadnięte_litery[i] = próba_odgadnięcia {print} _ {if} odgadnięte_litery == _: {print} _ koniec_gry = _ {else}: {print} _ - zrobione_pomyłki_ + zrobione_pomyłki _ {if} _ == 10: {print} _ {print} _ @@ -2077,11 +2077,11 @@ adventures: ### Ćwiczenie ***Utwórz funkcję, która będzie rysowała wisielca*** Utwórz funkcję, która narysuje wisielca w 10 krokach. Zrobiliśmy już dla ciebie krok 1. - ***Przetestuj funkcję *** Przetestuj ją, wywołując funkcję za pomocą 10. Jeśli jesteś zadowolony z funkcji, usuń linię, która na razie ją wywołuje. Wywołamy tę funkcję, gdy gracz popełni błąd. + ***Przetestuj funkcję*** Przetestuj ją, wywołując funkcję za pomocą 10. Jeśli jesteś zadowolony z funkcji, usuń linię, która na razie ją wywołuje. Wywołamy tę funkcję, gdy gracz popełni błąd. - ***Wklej grę w wisielca pod swoją funkcją *** Wróć do poprzedniej przygody i skopiuj grę w wisielca. Wklej grę pod swoją funkcją. + ***Wklej grę w wisielca pod swoją funkcją*** Wróć do poprzedniej przygody i skopiuj grę w wisielca. Wklej grę pod swoją funkcją. - ***Wezwij do funkcji, gdy gracz popełni błąd *** W wierszu `mistakes_made = mistakes_made + 1` wywołamy funkcję. Chcemy, aby żółw wykonał tyle samo kroków, co gracz popełnił błędów, dlatego nazywamy tę funkcję argumentem `mistakes_made`. + ***Wezwij do funkcji, gdy gracz popełni błąd*** W wierszu `mistakes_made = mistakes_made + 1` wywołamy funkcję. Chcemy, aby żółw wykonał tyle samo kroków, co gracz popełnił błędów, dlatego nazywamy tę funkcję argumentem `mistakes_made`. ***Ciesz się swoją grą!***
@@ -2197,7 +2197,7 @@ adventures: ### Ćwiczenie Skopiuj przykładowe kody i wypełnij puste pola, tak aby działały! - **Dodatkowo ** Ta historia jest dość prosta, może możesz zrobić ją trochę straszniejszą poprzez dodanie bardziej ekscytującej historii. + **Dodatkowo** Ta historia jest dość prosta, może możesz zrobić ją trochę straszniejszą poprzez dodanie bardziej ekscytującej historii. Masz teraz bardzo ograniczone wyniki, są tylko 3 opcje tego, co może być za drzwiami. Może wymyślisz więcej potworów do dodania do listy! example_code: | ``` @@ -2454,7 +2454,7 @@ adventures: ``` zwierzęta {is} pies, krowa, owca odpowiedź {is} {ask} 'Jakie jest Twoje ulubione zwierzę?' - _ odpowiedź _zwierzęta _ 'Moje też!' + _ odpowiedź _ zwierzęta _ 'Moje też!' _ _ 'Moje ulubione zwierzęta to psy, krowy i owce' ``` name: '{in}' @@ -2475,11 +2475,11 @@ adventures: story_text_2: | ### Ćwiczenie Czas na tworzenie własnych zmiennych! - W przykładowym kodzie podaliśmy przykład zmiennej `favorite_animal`. W wierszu 1 zmienna jest ustawiona, a w wierszu 2 użyliśmy zmiennej w komendzie {print}. + W przykładowym kodzie podaliśmy przykład zmiennej `ulubione_zwierzę`. W wierszu 1 zmienna jest ustawiona, a w wierszu 2 użyliśmy zmiennej w komendzie {print}. Po pierwsze, dokończ nasz przykład, wypełniając swoje ulubione zwierzę w pustym miejscu. Następnie sam napisz co najmniej 3 z tych kodów. Wybierz zmienną i ustaw ją za pomocą polecenia {is}. Następnie użyj go z poleceniem {print}, tak jak my to zrobiliśmy. example_code_2: | ``` - Ulubione_zwierzę {is} _ + ulubione_zwierzę {is} _ {print} Lubię ulubione_zwierzę ``` 6: @@ -2527,7 +2527,7 @@ adventures: ### Ćwiczenie Wydłuż kod, dodając co najmniej 3 dodatkowe słowa, aby gracz mógł się uczyć. - **Dodatkowo ** Oczywiście możesz użyć innego języka niż francuski. Możesz zmienić kod na dowolny język, którego chcesz się nauczyć. + **Dodatkowo** Oczywiście możesz użyć innego języka niż francuski. Możesz zmienić kod na dowolny język, którego chcesz się nauczyć. example_code: "```\n{print} 'Learn French!'\ncat {is} {ask} '🐱'\n{if} cat {is} chat {print} 'Terrific!'\n{else} {print} 'No, cat is chat'\nfrog {is} {ask} '🐸'\n{if} frog {is} grenouille {print} 'Super!'\n{else} {print} 'No, frog is grenouille'\n```\n" 16: story_text: | @@ -2977,7 +2977,7 @@ adventures: ``` słowa {is} ara, Hedy {print} Naucz twoją papugę! - nowe_słowo{is}{ask}Jakiego słowa chcesz ja nauczyć? + nowe_słowo {is} {ask}Jakiego słowa chcesz ja nauczyć? _ nowe_słowo _ słowa {print} 🧒 Powiedz nowe_słowo , Hedy! {print} 🦜 słowa {at} {random} @@ -3089,7 +3089,7 @@ adventures: ### Ćwiczenie Dokończ kod. Za każdym razem należy wybrać losową literę, którą należy nacisnąć. Dostajesz punkt za poprawną naciśnięcie i odliczenie dwóch punktów za niewłaściwą prasę. - **Dodatkowo ** Wyczyść ekran po każdej literze i pokaż użytkownikowi, ile punktów zdobył. + **Dodatkowo** Wyczyść ekran po każdej literze i pokaż użytkownikowi, ile punktów zdobył. example_code: "```\npunkty = 0\nlitery = a, b, c, d, e\n{repeat} 10 {times}\n litera = _ _ _\n {print} 'Naciśnij literę ' litera.\n {if} litera {is} {pressed}\n _\n _\n _\n```\n" print_command: description: Wprowadzenie polecenia print @@ -3116,7 +3116,7 @@ adventures: ``` 18: story_text: |- - Dotarliśmy do prawdziwego kodu Pythona! Oznacza to, że musimy odtąd używać nawiasów z komendami`{print}` i`{range}`. + Dotarliśmy do prawdziwego kodu Pythona! Oznacza to, że musimy odtąd używać nawiasów z komendami `{print}` i `{range}`. Oznacza to również, że możesz używać kodu Hedy z tego poziomu w dowolnym środowisku Pythona, o ile używasz angielskich poleceń. Jeśli do tej pory tego nie zrobiłeś, to możesz nacisnąć przełącznik w menu poleceń, aby to zrobić. example_code: | ``` @@ -3285,7 +3285,7 @@ adventures: ### Polecenia repeat i wcięcia Na tym poziomie możesz powtórzyć wiele wierszy kodu za pomocą tylko 1 polecenia repeat. Robisz to, tworząc blok linii, który chcesz powtórzyć. - Linie w tym bloku będą wymagały ** wcięcia** . + Linie w tym bloku będą wymagały **wcięcia** . Oznacza to umieszczenie czterech spacji na początku każdej linii. Będziesz także musiał użyć wcięć, gdy chcesz tylko utworzyć blok jednej linii. example_code: | ``` @@ -3298,7 +3298,7 @@ adventures: Świetna robota! Osiągnąłeś kolejny nowy poziom! Na poprzednim poziomie nauczyłeś się używać wielu wierszy kodu w poleceniu `{if}`lub `{repeat}`. Ale nie możesz jeszcze ich połączyć... - Dobre wieści! Na tym poziomie będziesz mógł umieścić `{if}` w `{if}`, `{repeat}` wewnątrz`{repeat}` . + Dobre wieści! Na tym poziomie będziesz mógł umieścić `{if}` w `{if}`, `{repeat}` wewnątrz `{repeat}` . Wypróbuj! example_code: | ``` @@ -3627,7 +3627,7 @@ adventures: Ta gra nie jest zbyt interaktywna, ale nie martw się! W następnej przygodzie dowiesz się, jak używać zmiennych za pomocą polecenia `{ask}`, co sprawi, że Twoja gra będzie interaktywna! example_code: |- ``` - wybór{is} kamień + wybór {is} kamień {print} Wybieram_ ``` 3: @@ -3657,7 +3657,7 @@ adventures: example_code: | ``` możliwości {is} kamień, papier, nożyce - {print}_ Komputer wybiera ... _ możliwości {at}{random} + {print} _Komputer wybiera..._ możliwości {at} {random} ``` 5: story_text: | @@ -4207,15 +4207,15 @@ adventures: Teraz, gdy mamy polecenie {elif}, możemy pozwolić grze zdecydować, czy ktoś wygrał i może przestać nas pytać! ### Ćwiczenie - ***Wklej swój kod *** Wklej tutaj swój kod z poprzedniego poziomu i spraw, by zadziałał Na tym poziomie nauczyłeś się używać dwukropka za każdym razem, gdy tworzysz blok kodu. Dodaj dwukropki we właściwych miejscach. + ***Wklej swój kod*** Wklej tutaj swój kod z poprzedniego poziomu i spraw, by zadziałał Na tym poziomie nauczyłeś się używać dwukropka za każdym razem, gdy tworzysz blok kodu. Dodaj dwukropki we właściwych miejscach. - ***Utwórz funkcję, która wykrywa, czy ktoś wygrał *** Uruchomiliśmy dla Ciebie funkcję, wklej ją pod funkcją `print_field` i zakończ funkcję. Możesz zobaczyć, że ten pierwszy fragment kodu sprawdza, czy miejsce 1, 2 i 3 są takie same, ponieważ jeśli tak, masz 3 z rzędu. + ***Utwórz funkcję, która wykrywa, czy ktoś wygrał*** Uruchomiliśmy dla Ciebie funkcję, wklej ją pod funkcją `print_field` i zakończ funkcję. Możesz zobaczyć, że ten pierwszy fragment kodu sprawdza, czy miejsce 1, 2 i 3 są takie same, ponieważ jeśli tak, masz 3 z rzędu. Sprawdza również, czy nie są kropką, ponieważ jeśli tak, linia może mieć te same symbole, ale tylko dlatego, że wciąż jest pusta. Jeśli wszystkie te warunki zostaną spełnione, gra się skończy, a zwycięzca zostanie wyświetlony. Zakończ tę funkcję wszystkimi możliwymi sposobami do wygrania. Oznacza to, że musisz zrobić to samo dla pozostałych 2 wierszy, 3 kolumn i 2 przekątnych. Jeśli skończyłeś wszystkie pozostałe opcje, funkcja powinna zwrócić zmienną `game_over`, abyśmy mogli użyć jej w naszej grze. - ***Zadzwoń do funkcji w grze *** Przejdź do linii `game_over = {ask} 'Did you win?'`i zmień go na `game_over = {call} detect_winner {with} field, sign`. Teraz funkcja sprawdzi, czy jest zwycięzca, a gra nie będzie musiała nas o to już pytać! + ***Zadzwoń do funkcji w grze*** Przejdź do linii `game_over = {ask} 'Did you win?'` i zmień go na `game_over = {call} detect_winner {with} field, sign`. Teraz funkcja sprawdzi, czy jest zwycięzca, a gra nie będzie musiała nas o to już pytać! ***Ciesz się grą!*** Świetna robota! Skończyłeś grę! ! example_code: | @@ -4333,7 +4333,7 @@ adventures: Ćwiczenia Ten kod tworzy teraz literę T Możesz to zmienić na literę B? - * * Extra * * Zmień literę na inną literę, jak pierwsza z twojego imienia. + **Extra** Zmień literę na inną literę, jak pierwsza z twojego imienia. Możesz również zrobić wiele liter, ustawiając kolor na `{color}` `{white}` pomiędzy. example_code: | ``` @@ -4471,10 +4471,10 @@ adventures: ### Ćwiczenie 1 Dodaj obrót o 90 stopni w pętli, aby narysować spiralę. Dodaj co najmniej 5 liczb do listy, aby spirala powiększyła się. - **(Dodatkowo) ** czy możesz zmienić spiralę na inny kształt? Eksperymentuj z liczbami obrotów! + **(Dodatkowo)** czy możesz zmienić spiralę na inny kształt? Eksperymentuj z liczbami obrotów! ### Ćwiczenie 2 Spirala jest wyciągnięta na zewnątrz, czy idzie do wewnątrz? - example_code: "```\n{turn} 90\ndistances = 10, 20, 30, 40, 50, 60\n{for} distance {in} distances\n {forward} distance\n```\n" + example_code: "```\n{turn} 90\nodległości = 10, 20, 30, 40, 50, 60\n{for} odległość {in} odległości\n {forward} odległość\n```\n" 12: story_text: | Możemy używać funkcji do rysowania bardziej złożonych figur przy mniejszej ilości kodu. @@ -4603,7 +4603,7 @@ adventures: ### Ćwiczenie Odtwórz rysunki za pomocą żółwia! - ** Dodatkowo** Liczba w nawiasach wskazuje, w ilu wierszach kodu można narysować tę liczbę. Czy możesz to zrobić w tej samej liczbie linii? + **Dodatkowo** Liczba w nawiasach wskazuje, w ilu wierszach kodu można narysować tę liczbę. Czy możesz to zrobić w tej samej liczbie linii?
kwadrat(3) @@ -4615,9 +4615,9 @@ adventures: ### Ćwiczenie Odtwórz rysunki za pomocą żółwia! - **Dodatkowo ** Liczba w nawiasach wskazuje, w ilu wierszach kodu można narysować tę liczbę. Czy możesz to zrobić w tej samej liczbie linii? + **Dodatkowo** Liczba w nawiasach wskazuje, w ilu wierszach kodu można narysować tę liczbę. Czy możesz to zrobić w tej samej liczbie linii? - **Dodatkowo ** Pozwól graczowi wybrać kraj, którego flagę chciałby zobaczyć. + **Dodatkowo** Pozwól graczowi wybrać kraj, którego flagę chciałby zobaczyć.
krzyż (7) diff --git a/content/tutorials/hr.yaml b/content/client-messages/be.yaml similarity index 100% rename from content/tutorials/hr.yaml rename to content/client-messages/be.yaml diff --git a/content/client-messages/it.yaml b/content/client-messages/it.yaml index 19bbdfc63b3..335aba1a116 100644 --- a/content/client-messages/it.yaml +++ b/content/client-messages/it.yaml @@ -1,8 +1,8 @@ -CheckInternet: Dai un'occhiata se la tua connessione Internet funziona correttamente. +CheckInternet: Controlla se la connessione a Internet funzioni correttamente. Connection_error: Non siamo riuscito a contattare il server. Empty_output: Questo codice funziona ma non stampa nulla. Aggiungi un comando print al tuo codice o usa la tartaruga per ottenere l'output. Errors_found: Hai fatto un errore! Non preoccuparti, abbiamo comunque eseguito il programma -Execute_error: Qualcosa è andato storto nell'esecuzione del tuo codice. +Execute_error: Qualcosa è andato storto. Other_error: Ops! Forse abbiamo fatto un errore. Program_repair: Questo potrebbe essere il codice corretto, puoi risolverlo? Program_too_long: Il tuo programma impiega troppo tempo per essere eseguito. @@ -22,3 +22,4 @@ restaurant: Ristorante rock: Roccia songs: Suono turtle: Tartaruga +ServerError: Puoi aiutarci inviandoci un'email con il livello e il tuo programma a hello@hedy.org. Nel frattempo, prova qualcosa di diverso. Grazie! diff --git a/content/tutorials/ia.yaml b/content/client-messages/my.yaml similarity index 100% rename from content/tutorials/ia.yaml rename to content/client-messages/my.yaml diff --git a/content/tutorials/iba.yaml b/content/keywords/be.yaml similarity index 100% rename from content/tutorials/iba.yaml rename to content/keywords/be.yaml diff --git a/content/keywords/it.yaml b/content/keywords/it.yaml index abf86ef5caf..9da4cb49bc8 100644 --- a/content/keywords/it.yaml +++ b/content/keywords/it.yaml @@ -52,3 +52,16 @@ to_list: a 'True': Vero with: con play: esegui +quote: "'" +d9: '9' +d2: '2' +d3: '3' +d4: '4' +d5: '5' +d6: '6' +d7: '7' +d8: '8' +d0: '0' +d1: '1' +def: def +define: definire diff --git a/content/keywords/jbo.yaml b/content/keywords/jbo.yaml index f4f2bc4567c..0967ef424bc 100644 --- a/content/keywords/jbo.yaml +++ b/content/keywords/jbo.yaml @@ -1,25 +1 @@ -comma: ',' -d1: '1' -d6: '6' -d0: '0' -d2: '2' -brown: bunre -color: skari -ask: retsku -at: bu'u -black: xekri -blue: blanu -d3: '3' -d4: '4' -d5: '5' -d9: '9' -def: ca'e -define: smudu'a -echo: mirsku -elif: va'onaiva'o -else: va'onai -'false': jitfa -and: je -d7: '7' -d8: '8' -'False': Jitfa +{} diff --git a/content/keywords/my.yaml b/content/keywords/my.yaml new file mode 100644 index 00000000000..06659209d33 --- /dev/null +++ b/content/keywords/my.yaml @@ -0,0 +1,67 @@ +add: ပေါင်း +red: အနီရောင် +return: ပြန်သွား +times: အမြှောက် +else: ဒီဟာဖြစ်ရင် +left: ဘယ် +call: ခေါ် +sleep: အိပ် +brown: အညိုရောင် +d2: ၂ +ask: မေး +d3: ၃ +blue: အပြာရောင် +d9: ၉ +range: အကြား +play: အသံထုတ် +right: ညာ +define: သတ်မှတ် +'false': မှား +and: နှင့် +at: မှာ +black: အနက်ရောင် +clear: ဖျက် +color: အရောင် +comma: ၊ +d0: ၀ +d1: ၁ +d4: ၄ +d5: ၅ +d6: ၆ +d7: ၇ +d8: ၈ +def: သတ်မှတ် +echo: လိုက်ဆို +elif: ဒါဖြစ်ရင် +'False': မှား +for: အတွက် +forward: ရှေ့ဆက် +from: မှ +gray: မီးခိုးရောင် +green: အစိမ်းရောင် +if: ဖြစ်ရင် +in: အထဲမှာ +input: အဝင် +is: ဖြစ်တယ် +length: အရှည် +not_in: မပါရင် +or: သို့မဟုတ် +orange: လိမ္မော်ရောင် +pink: ပန်းရောင် +pressed: ဖိခဲ့ +print: စာရိုက် +purple: ခရမ်းရောင် +quote: "'" +random: ကျပမ်း +remove: ဖယ်ရှား +repeat: ထပ်လုပ် +step: အဆင့် +to: သို့ +'true': မှန် +to_list: စာရင်းသို့ +'True': မှန် +turn: လှည့် +while: ဖြစ်နေရင် +white: အဖြူရောင် +with: နဲ့ +yellow: အဝါရောင် diff --git a/content/keywords/nl.yaml b/content/keywords/nl.yaml index c5bf3bc5db1..829ea573d27 100644 --- a/content/keywords/nl.yaml +++ b/content/keywords/nl.yaml @@ -1,7 +1,7 @@ add: voeg and: en ask: vraag -at: op +at: kies black: zwart blue: blauw brown: bruin diff --git a/content/pages/ar.yaml b/content/pages/ar.yaml index 0d9c55b320d..99653ebb282 100644 --- a/content/pages/ar.yaml +++ b/content/pages/ar.yaml @@ -36,7 +36,5 @@ teacher-guide: - text: |- جميع معلمي Hedy ومبرمجيها ومعجبيها الآخرين مرحب بهم للانضمام إلى خادمنا على Discord. هذا هو المكان المثالي للدردشة حول Hedy: لدينا قنوات حيث يمكنك عرض مشاريعك ودروسك الرائعة، وقنوات للإبلاغ عن الأخطاء، وقنوات للدردشة مع معلمين آخرين ومع فريق Hedy. يمكنك هنا العثور على فيديو حول كيفية الانضمام إلى مجتمع Discord. - - {} -- subsections: - - text: هل ترغب في متابعة البرنامج التعليمي (مرة أخرى)؟ انقر هنا. + diff --git a/content/tutorials/kmr.yaml b/content/pages/be.yaml similarity index 100% rename from content/tutorials/kmr.yaml rename to content/pages/be.yaml diff --git a/content/pages/bg.yaml b/content/pages/bg.yaml index df2805b7c0a..9a0a2a628b3 100644 --- a/content/pages/bg.yaml +++ b/content/pages/bg.yaml @@ -84,8 +84,6 @@ teacher-guide: Няма нужда да инсталирате нищо преди да работите с Хеди, просто отворете уебсайта и сте готови! - title: Общността на Хеди text: 'Всички учители, програмисти и други фенове на Хеди са добре дошли да се присъединят към нашия [Discord сървър](https://discord.gg/8yY7dEme9r). Това е идеалното място за разговори за Хеди : имаме канали, в които можете да покажете страхотните си проекти и уроци, канали за докладване на грешки и канали за разговори с други учители и с екипа на Хеди.' - - {} -- {} - title: Подготовка key: подготовка subsections: diff --git a/content/pages/ca.yaml b/content/pages/ca.yaml index b959326d631..a5677de06dc 100644 --- a/content/pages/ca.yaml +++ b/content/pages/ca.yaml @@ -127,11 +127,6 @@ teacher-guide: Aquí podeu trobar un vídeo sobre com unir-vos a la comunitat de Discord. - text: "Les organitzacions de la UE han de complir amb el RGPD (Reglament General de Protecció de Dades) quan processen dades personals.\nCom que aquest és un tema complex per a moltes escoles, pots utilitzar totes les funcionalitats de programació de Hedy sense compartir dades personals.\nLa manera més fàcil de fer-ho és utilitzar Hedy sense crear comptes per al professor i els estudiants. Sense comptes, totes les funcionalitats estan disponibles, amb l'excepció de personalitzar nivells, desar els programes dels estudiants i veure el seu progrés. Això és limitant, però hi ha escoles que utilitzen Hedy d'aquesta manera.\n\nUna segona manera és que un professor creï un compte amb una adreça de correu electrònic sense dades personals, per exemple \"docent25@email.com\". A part d'una adreça de correu electrònic, que només es requereix per restablir la contrasenya, no necessites compartir cap informació quan crees un compte de professor.\nAmb un compte de professor, pots crear comptes anònims per als estudiants, per exemple, estudiant-arc-de-sant-martí1, estudiant-arc-de-sant-martí2, etc. (Consulta 'Preparacions per a l'ensenyament' per a un manual detallat). D'aquesta manera, pots utilitzar totes les funcionalitats de Hedy, incloent desar el progrés, sense compartir dades personals teves o dels teus estudiants.\n\nSi el que s'ha explicat anteriorment no és suficient per al teu context, podem signar un acord de processament per al processament de les teves dades personals." title: Hedy i el RGPD -- title: Tutorial - key: tutorial - subsections: - - title: Tutorial - text: Vols seguir el tutorial (un altre cop)? Clica aquí. - title: Teaching preparations key: preparations subsections: diff --git a/content/pages/cs.yaml b/content/pages/cs.yaml index c5206ba6e50..ad14ed9ecb4 100644 --- a/content/pages/cs.yaml +++ b/content/pages/cs.yaml @@ -76,11 +76,6 @@ teacher-guide: text: "Organizace v EU musí při zpracování osobních údajů dodržovat GDPR (obecné nařízení o ochraně osobních údajů).\nProtože se jedná o složitou problematiku pro mnoho škol, můžete využívat všechny funkce programování Hedy bez sdílení osobních údajů.\nNejjednodušší je používat Hedy bez vytváření účtů pro učitele a studenty. Bez účtů jsou k dispozici všechny funkce s výjimkou personalizace úrovní, ukládání programů studentů a prohlížení jejich pokroku. To je omezující, ale existují školy, které Hedy takto používají.\n\nDruhým způsobem je, že si učitel vytvoří účet s e-mailovou adresou bez osobních údajů, například „docent25@email.com“. Kromě e-mailové adresy, která je vyžadována pouze pro obnovení hesla, nemusíte při vytváření účtu učitele sdělovat žádné údaje.\nS účtem učitele můžete vytvářet anonymní účty pro studenty, např. rainbow-student1, rainbow-student2 atd (podrobný návod naleznete v části „Přípravy na výuku“). Tímto způsobem můžete využívat všechny funkce Hedy, včetně ukládání pokroku, aniž byste sdíleli osobní údaje své nebo svých studentů.\n\nPokud vám výše uvedený postup v daném kontextu nestačí, můžeme s vámi uzavřít smlouvu o zpracování osobních údajů." title: Úvod key: úvod -- title: Návod - key: návod - subsections: - - title: Návod - text: Chcete (znovu) sledovat návod? Klikněte nazde. - subsections: - title: Pro učitele text: Své hodiny můžete připravit na stránce Pro učitele. Najdete zde vše potřebné pro výuku s Hedy, jako jsou vaše třídy, dobrodružství a prezentace. Všechny funkce stránky pro učitele jsou vysvětleny níže. diff --git a/content/pages/da.yaml b/content/pages/da.yaml index a92f042801a..b62ab3594e4 100644 --- a/content/pages/da.yaml +++ b/content/pages/da.yaml @@ -136,7 +136,6 @@ teacher-guide: - {} - {} - {} -- {} - levels: - sections: - {} diff --git a/content/pages/de.yaml b/content/pages/de.yaml index 489a1d33b60..b7942b5e5e6 100644 --- a/content/pages/de.yaml +++ b/content/pages/de.yaml @@ -129,11 +129,6 @@ teacher-guide: text: |- Alle Hedy-Lehrpersonen, Programmierer und Programmiererinnen und andere Fans sind auf unserem Discord-Server willkommen. Dies ist der ideale Ort, um sich über Hedy auszutauschen: wir haben Channel, wo du deine coolen Projekte und Lektionen zeigen kannst, Channel um Fehler zu melden, und Channel um sich mit anderen Lehrpersonen und dem Hedy-Team zu unterhalten. Hier findest du ein Video darüber, wie man der Discord Community beitritt. -- title: Tutorial - key: tutorial - subsections: - - title: Tutorial - text: Möchtest du das Tutorial (nochmal) machen? Klicke hier. - title: Vorbereitungen key: vorbereitungen subsections: diff --git a/content/pages/en.yaml b/content/pages/en.yaml index 3221c121204..36553803a82 100644 --- a/content/pages/en.yaml +++ b/content/pages/en.yaml @@ -178,11 +178,6 @@ teacher-guide: With a teacher account, you can create anonymous accounts for students, e.g. rainbow-student1, rainbow-student2, etc (See 'Teaching preparations' for a detailed manual). This way you can use all functionality of Hedy, including saving progress, without sharing personal data of yourself or your students. If the above is not sufficient for your context, we can sign a processing agreement for the processing of your personal data. -- title: Tutorial - key: tutorial - subsections: - - title: Tutorial - text: Do you want to follow the tutorial (again)? Click here. - title: Teaching preparations key: preparations subsections: diff --git a/content/pages/eo.yaml b/content/pages/eo.yaml index d308266bfc0..810377424a4 100644 --- a/content/pages/eo.yaml +++ b/content/pages/eo.yaml @@ -45,10 +45,6 @@ teacher-guide: text: - title: Instruado per Hedy - title: Aparatoj -- title: Tutorial - key: tutorial - subsections: - - title: Tutorial - title: Preparations key: preparations subsections: diff --git a/content/pages/es.yaml b/content/pages/es.yaml index 8e6202494ad..6f11effa8c3 100644 --- a/content/pages/es.yaml +++ b/content/pages/es.yaml @@ -166,11 +166,6 @@ teacher-guide: Con una cuenta de profesor, puede crear cuentas anónimas para los alumnos, por ejemplo, rainbow-alumno1, rainbow-alumno2, etc (consulte el manual "Preparativos para la enseñanza"). De esta manera usted puede utilizar todas las funcionalidades de Hedy, incluyendo guardar el progreso, sin compartir datos personales suyos o de sus alumnos. Si lo anterior no es suficiente para su contexto, podemos firmar un acuerdo de procesamiento para el tratamiento de sus datos personales. -- title: Tutorial - key: tutorial - subsections: - - title: Tutorial - text: ¿Quieres ver el tutorial (de nuevo)? Haz clic aquí. - title: Preparativos para la enseñanza key: preparativos subsections: diff --git a/content/pages/et.yaml b/content/pages/et.yaml index f7a4cf51ade..dfe1dd856e8 100644 --- a/content/pages/et.yaml +++ b/content/pages/et.yaml @@ -32,7 +32,6 @@ teacher-guide: Hedy kasutamiseks ei ole vaja midagi alla laadida, lihtsalt ava veebileht ja hakka pihta! - title: Hedy kogukond text: 'Kutsume kõiki Hedy õpetajaid, programmeerijaid ja teisi fänneliituma oma [Discord''i serveriga](https://discord.gg/8yY7dEme9r). See on ideaalne koht Hedy teemadel vestlemiseks: meil on kanalid, kus saad teistega jagada oma lahedaid projekte ja õppeplaane, kanalid vigade raporteerimiseks ja kanalid teiste õpetajatega ja Hedy meeskonnaga vestlemiseks.' -- {} - title: Ettevalmistused key: Ettevalmistused subsections: diff --git a/content/pages/fr.yaml b/content/pages/fr.yaml index 6d62288af63..1bd6b57e46a 100644 --- a/content/pages/fr.yaml +++ b/content/pages/fr.yaml @@ -88,11 +88,6 @@ teacher-guide: text: |- Tous les enseignants Hedy, programmeurs et autres fans sont les bienvenus sur notre server Discord. C'est l'endroit idéal pour chatter à propos de Hedy : nous avons des channels où vous pouvez montrer vos projets cools et vos leçons, des channels pour remonter les bugs et des channels pour chatter avec d'autres enseignants et l'équipe Hedy. Ici vous trouverez une vidéo expliquant comment rejoindre notre communauté sur Discord. -- title: Tutoriel - key: tutoriel - subsections: - - title: Tutoriel - text: Vous souhaitez (re)voir le tutoriel ? Cliquez-ici. - title: Préparatifs key: préparations subsections: diff --git a/content/pages/fr_CA.yaml b/content/pages/fr_CA.yaml index 6e7f700c9aa..45478a3175d 100644 --- a/content/pages/fr_CA.yaml +++ b/content/pages/fr_CA.yaml @@ -147,11 +147,6 @@ teacher-guide: Avec un compte enseignant, vous pouvez créer des comptes anonymes pour les élèves, par exemple nuage-eleve1, nuage-eleve2, etc. (Voir 'Préparatifs pédagogiques' pour un manuel détaillé). De cette façon, vous pouvez utiliser toutes les fonctionnalités de Hedy, y compris l'enregistrement des progrès, sans partager de données personnelles vous concernant ou concernant vos élèves. Si ce qui précède n'est pas suffisant pour votre contexte, nous pouvons signer un accord de traitement pour le traitement de vos données personnelles. -- title: Tutoriel - key: tutoriel - subsections: - - title: Tutoriel - text: Souhaitez-vous (re)voir le tutoriel ? Cliquez-ici. - title: Préparatifs pédagogiques key: préparations subsections: diff --git a/content/pages/he.yaml b/content/pages/he.yaml index 5debfe24e0a..513be1d1e57 100644 --- a/content/pages/he.yaml +++ b/content/pages/he.yaml @@ -15,7 +15,6 @@ teacher-guide: - title: קהל יעד - title: איך הֶדִי עובדת? - title: מכשירים -- {} - title: הכנות key: הכנות - title: Teaching with Hedy diff --git a/content/pages/hu.yaml b/content/pages/hu.yaml index e00874caa5f..9dc97b40a57 100644 --- a/content/pages/hu.yaml +++ b/content/pages/hu.yaml @@ -31,11 +31,6 @@ teacher-guide: text: |- A Hedyt használó tanárokat, programozókat, és más érdeklődőket szívesen várjuk a Discord szerverünkre. Ez az ideális helye, hogy a Hedyről beszéljünk: vannak csatornáink, ahol megoszthatod a projektjeidet és óraterveidet, jelentheted, ha hibát találtál, vagy beszélgethetsz más tanárokkal, illetve a Hedy csapattal. Itt található egy videó arról, hogy hogyan tudsz a Discordhoz csatlakozni. -- title: Tutorial - key: tutorial - subsections: - - title: Tutorial - text: Szeretnéd a bemutatót (ismét) végignézni? Kattints ide. - title: Előkészületek key: preparations subsections: diff --git a/content/pages/id.yaml b/content/pages/id.yaml index 135ce6292cc..75bb19868cf 100644 --- a/content/pages/id.yaml +++ b/content/pages/id.yaml @@ -96,7 +96,6 @@ teacher-guide: Jadi laptop, chromebooks, tablet, ataupun perangkat mobile dapat digunakan untuk menggunakan Hedy. Tidak ada kebutuhan untuk unduh apapun agar dapat menggunakan Hedy, guru hanya perlu ke websitenya dan memulainya! - {} -- {} - title: Persiapan-persiapan key: preparations subsections: diff --git a/content/pages/it.yaml b/content/pages/it.yaml index e9513049821..7605f218226 100644 --- a/content/pages/it.yaml +++ b/content/pages/it.yaml @@ -96,5 +96,4 @@ teacher-guide: - {} - {} - {} -- {} - title: Errori comuni diff --git a/content/pages/kab.yaml b/content/pages/kab.yaml index e09159961e8..46224242952 100644 --- a/content/pages/kab.yaml +++ b/content/pages/kab.yaml @@ -9,11 +9,6 @@ teacher-guide: title: Hedy akked GDPR title: Tazwart key: tazwart -- title: Aṭuṭuryel - key: aṭuṭuryel - subsections: - - title: Aṭuṭuryel - text: Tebɣiḍ ad tḍefreḍ aṭuṭuryal (i tikkelt niḍen)? Sit dagi. - subsections: - title: I yiselmaden - title: Timerna n usmil diff --git a/content/pages/ko.yaml b/content/pages/ko.yaml index b1044367ace..4742c0ff30e 100644 --- a/content/pages/ko.yaml +++ b/content/pages/ko.yaml @@ -115,11 +115,6 @@ teacher-guide: text: |- Discord 서버에 가입하신 것을 환영합니다. 이곳은 멋진 프로젝트와 교훈을 보여줄 수 있는 채널, 버그를 보고할 수 있는 채널, 그리고 다른 선생님들과 그리고 Hedy 팀과 이야기할 수 있는 채널이 있습니다. 여기서 디스코드 커뮤니티 가입 방법에 대한 동영상을 확인할 수 있다. -- title: 튜토리얼 - key: Tutorial - subsections: - - title: 튜토리얼 - text: (다시) 튜토리얼을 따르시겠습니까? 여기를 클릭 하세요. - title: 수업 준비 key: preparations subsections: diff --git a/content/tutorials/mi.yaml b/content/pages/my.yaml similarity index 100% rename from content/tutorials/mi.yaml rename to content/pages/my.yaml diff --git a/content/pages/nb_NO.yaml b/content/pages/nb_NO.yaml index 2811fa15dbd..0bc50922836 100644 --- a/content/pages/nb_NO.yaml +++ b/content/pages/nb_NO.yaml @@ -61,7 +61,6 @@ teacher-guide: text: |- Hedy er webbasert. Dette betyr at Hedy fungerer på enhver digital enhet som har en nettleser (Google Chrome, Firefox, Edge, osv.). Hedy fungerer på laptoper, chromebooks, nettbrett og til og med smarttelefoner! Man trenger ikke å laste ned noe for å bruke Hedy, bare gå til nettsiden og sett i gang! -- {} - title: Forberedelser key: forberedelser subsections: diff --git a/content/pages/nl.yaml b/content/pages/nl.yaml index 324f67a5762..daa23363c43 100644 --- a/content/pages/nl.yaml +++ b/content/pages/nl.yaml @@ -184,11 +184,6 @@ teacher-guide: Vervolgens kan je met je leerkrachtenaccount ook anonieme accounts aanmaken voor leerlingen, bijv regenboog-leerling1, regenboog-leerling2 etc (zie verder: Onderwijsvoorbereidingen). Op die manier kan je alle functionaliteit van Hedy gebruiken zonder het delen van persoonsgegevens van jezelf of je leerlingen. Mocht dit voor jouw context niet voldoen, dan kunnen we een dan kunnen we een verwerkersovereenkomst tekenen voor het verwerken van jullie persoonsgegevens. -- title: Tutorial - key: tutorial - subsections: - - title: Tutorial - text: Wil je de tutorial van Hedy (nog eens) volgen? Klik dan hier. - title: Onderwijsvoorbereidingen key: voorbereidingen subsections: diff --git a/content/pages/pl.yaml b/content/pages/pl.yaml index 464de426f67..9626a2d79e9 100644 --- a/content/pages/pl.yaml +++ b/content/pages/pl.yaml @@ -64,11 +64,6 @@ teacher-guide: text: |- Zapraszamy wszystkich nauczycieli, programistów i innych fanów Hedy do przyłączenia się do naszego Discorda. Jest to idealne miejsce aby porozmawiać o Hedy’m: mamy kanały gdzie możesz pokazać innym swoje projektu i lekcje, kanały do zgłaszania błędów, oraz kanały do dyskusji z innymi nauczycielami oraz zespołem Hedy’ego Tutaj możesz znaleźć film jak dołączyć do społeczności na Discordzie. -- title: Tutorial - key: tutorial - subsections: - - title: Tutorial - text: Chcesz (ponownie) przejść przez samouczek? Kliknij tutaj. - title: Przygotowanie key: przygotowanie subsections: diff --git a/content/pages/pt_BR.yaml b/content/pages/pt_BR.yaml index cea87f97032..e99d745117c 100644 --- a/content/pages/pt_BR.yaml +++ b/content/pages/pt_BR.yaml @@ -113,6 +113,5 @@ teacher-guide: text: |- A Hedy é baseado na web, o que significa que funciona em qualquer dispositivo com navegador (Google Chrome, Firefox, Edge, etc.), portanto, laptops, chromebooks, tablets e até smartphones são adequados para usar a Hedy. Não há necessidade de baixar nada antes de trabalhar com a Hedy, basta acessar o site e pronto! -- {} - title: Preparações key: preparações diff --git a/content/pages/pt_PT.yaml b/content/pages/pt_PT.yaml index d6045c214eb..e46d8399872 100644 --- a/content/pages/pt_PT.yaml +++ b/content/pages/pt_PT.yaml @@ -134,11 +134,6 @@ teacher-guide: Com uma conta de professor, pode criar contas anónimas para os seus alunos, e.g. aluno-unicornio1, aluno-unicornio2, etc (Aceda a 'Preparações para ensino' para um manual detalhado). Desta forma, pode usar todas as funcionalidades da Hedy, incluindo guardar o progresso, sem partilhar os seus dados ou dos seus alunos. Se a explicação acima é insuficiente para o contextualizar, podemos assinar um acordo de processamento para processar os seus dados pessoais. -- title: Tutorial - key: tutorial - subsections: - - title: Tutorial - text: Quer ver o tutorial (outra vez)? Clica aqui. - title: Preparações para ensino key: preparações subsections: diff --git a/content/pages/ro.yaml b/content/pages/ro.yaml index 79851ee925f..8f4093d18cf 100644 --- a/content/pages/ro.yaml +++ b/content/pages/ro.yaml @@ -8,7 +8,6 @@ teacher-guide: - title: Cum funcționează Hedy? - title: Dispozitive - title: Comunitatea Hedy -- {} - title: Pregătiri pentru a preda key: pregătiri subsections: diff --git a/content/pages/ru.yaml b/content/pages/ru.yaml index c4f78e1375c..5daae8d91fb 100644 --- a/content/pages/ru.yaml +++ b/content/pages/ru.yaml @@ -159,11 +159,6 @@ teacher-guide: С помощью учетной записи учителя вы можете создавать анонимные учетные записи для учеников, например rainbow-student1, rainbow-student2 и т. д. (подробное руководство см. в разделе «Преподавательская подготовка»). Таким образом, вы сможете пользоваться всеми функциями Hedy, включая сохранение прогресса, не сообщая личных данных о себе и своих учениках. Если вышеуказанного недостаточно для вашего контекста, мы можем подписать соглашение об обработке ваших персональных данных. -- title: Туториал - key: туториал - subsections: - - title: Туториал - text: Вы хотите пройти туториал (еще раз)? Нажмите здесь. - title: Подготовка преподавания key: приготовления subsections: diff --git a/content/pages/sr.yaml b/content/pages/sr.yaml index 708b662f0fe..79eaf36ae59 100644 --- a/content/pages/sr.yaml +++ b/content/pages/sr.yaml @@ -147,11 +147,6 @@ teacher-guide: Са налогом наставника, можете креирати анонимне налоге за ученике, нпр. rainbow-student1, rainbow-student2, итд. (Погледајте 'Припреме за наставу' за детаљан приручник). На овај начин можете користити све функције Хедија, укључујући чување напретка, без дељења личних података о себи или својим ученицима. Ако горе наведено није довољно за ваш контекст, можемо потписати уговор о обради за обраду ваших личних података. -- title: Туторијал - key: туторијал - subsections: - - title: Туторијал - text: Желите ли да пратите туторијал (поново)? Кликните овде. - title: Припреме за наставу key: припреме subsections: diff --git a/content/pages/sv.yaml b/content/pages/sv.yaml index 9aa3e31cfcd..4b2f7600b08 100644 --- a/content/pages/sv.yaml +++ b/content/pages/sv.yaml @@ -124,11 +124,6 @@ teacher-guide: With a teacher account, you can create anonymous accounts for students, e.g. rainbow-student1, rainbow-student2, etc (See 'Teaching preparations' for a detailed manual). This way you can use all functionality of Hedy, including saving progress, without sharing personal data of yourself or your students. If the above is not sufficient for your context, we can sign a processing agreement for the processing of your personal data. -- title: Handledning - key: handledning - subsections: - - title: Handledning - text: Vill du följa handledningen (igen)? Klicka här. - title: Lektionsplanering key: förberedelser subsections: diff --git a/content/pages/th.yaml b/content/pages/th.yaml index 57a929ab70d..1e8e9dfa9ff 100644 --- a/content/pages/th.yaml +++ b/content/pages/th.yaml @@ -49,11 +49,6 @@ teacher-guide: text: |- เราขอต้อนรับคุณครูที่ใช้ Hedy โปรแกรมเมอร์ หรือใครก็ตามที่สนใจเข้าร่วมกลุ่มกับเราใน [Discord](https://discord.gg/8yY7dEme9r) ซึ่งเป็นที่ๆดีมากสำหรับพูดคุยแลกเปลี่ยนกันเกี่ยวกับ Hedy โดยเราเปิดช่องทางในการแชร์โปรเจ็ค แผนการสอน พูดคุยกับครูท่านอื่นๆ รวมถึงเป็นที่ๆใช้พูดคุยเกี่ยวกับ bugs ในโปรแกรมด้วย [คลิกทีนี่](https://www.youtube.com/watch?v=Lyz_Lnd-_aI) เพื่อดูวิดีโอเกี่ยวกับการเข้ากลุ่ม Discord ของเรา -- title: วิธีใช้งาน - key: วิธีใช้งาน - subsections: - - title: วิธีใช้งาน - text: อยากดูวิธีใช้งานอีกครั้งมั้ย? คลิก[ทีนี่](https://hedy.org/tutorial) - title: การเตรียมการสอน key: การเตรียมการสอน subsections: diff --git a/content/pages/tr.yaml b/content/pages/tr.yaml index 0761b237ff4..4d75350f1a3 100644 --- a/content/pages/tr.yaml +++ b/content/pages/tr.yaml @@ -169,11 +169,6 @@ teacher-guide: With a teacher account, you can create anonymous accounts for students, e.g. rainbow-student1, rainbow-student2, etc (See 'Teaching preparations' for a detailed manual). This way you can use all functionality of Hedy, including saving progress, without sharing personal data of yourself or your students. If the above is not sufficient for your context, we can sign a processing agreement for the processing of your personal data. -- title: Öğretici - key: öğretici - subsections: - - title: Öğretici - text: Öğreticiyi (tekrar) izlemek ister misiniz? Buraya tıklayın. - title: Öğretim hazırlıkları key: hazırlıklar subsections: diff --git a/content/pages/uk.yaml b/content/pages/uk.yaml index cdc76cf3d74..d0344726579 100644 --- a/content/pages/uk.yaml +++ b/content/pages/uk.yaml @@ -55,11 +55,6 @@ teacher-guide: Тут ви можете знайти відео про те, як приєднатися до спільноти Discord. - title: Хеді та GDPR text: "Під час обробки персональних даних організації в ЄС повинні дотримуватися GDPR (Загального регламенту захисту даних).\nОскільки це складне питання для багатьох шкіл, ви можете використовувати всі функції програмування Hedy без надання особистих даних.\nНайпростіший спосіб зробити це — використовувати Hedy без створення облікових записів для вчителя та учнів. Без облікових записів доступні всі функції, за винятком персоналізації рівнів, збереження програм студентів і перегляду їх прогресу. Це обмежує, але є школи, які використовують Hedy таким чином.\n\nДругий спосіб полягає в тому, щоб викладач створив обліковий запис з електронною адресою без особистих даних, наприклад «docent25@email.com». Окрім адреси електронної пошти, яка потрібна лише для скидання пароля, вам не потрібно ділитися жодною інформацією під час створення облікового запису викладача.\nЗа допомогою облікового запису вчителя ви можете створювати анонімні облікові записи для учнів, наприклад, rainbow-student1, rainbow-student2 тощо (докладний посібник див. у «Підготовці до навчання»). Таким чином ви можете використовувати всі функції Hedy, включно зі збереженням прогресу, не передаючи особистих даних про себе чи своїх учнів.\n\nЯкщо вищезазначеного недостатньо для вашого контексту, ми можемо підписати угоду про обробку ваших персональних даних." -- title: Tutorial - key: tutorial - subsections: - - title: Tutorial - text: Бажаєте пройти навчальний курс (ще раз)? Натисніть тут. - title: Приготування key: приготування subsections: diff --git a/content/pages/vi.yaml b/content/pages/vi.yaml index b9c01a8aa75..24a6ce545af 100644 --- a/content/pages/vi.yaml +++ b/content/pages/vi.yaml @@ -76,11 +76,6 @@ teacher-guide: text: |- Mọi giáo viên, lập trình viên hay người hâm mộ Hedy đều được chào đón tại máy chủ Discord của chúng tôi. Đây là nơi lý tưởng để trò chuyện về Hedy: chúng tôi có các kênh để bạn có thể chia sẻ những dự án và bài học thú vị, để có thể báo cáo về lỗi phát sinh, và để nói chuyện cùng với những giáo viên khác và đội ngũ Hedy. Tại đây bạn có thể xem video hướng dẫn tham gia cộng đồng trên Discord. -- title: Hướng dẫn - key: hướng dẫn - subsections: - - title: Hướng dẫn - text: Bạn muốn lặp lại hướng dẫn lần nữa chứ? Nhấn chuột vào đây nhé. - title: Chuẩn bị cho giảng dạy key: chuẩn bị subsections: diff --git a/content/pages/zh_Hans.yaml b/content/pages/zh_Hans.yaml index ac50077c8ef..50b2834baca 100644 --- a/content/pages/zh_Hans.yaml +++ b/content/pages/zh_Hans.yaml @@ -169,11 +169,6 @@ teacher-guide: 使用教师帐户,您可以为学生创建匿名帐户,例如rainbow-student1, rainbow-student2等(详细手册请参阅“教学准备”)。这样你就可以使用Hedy的所有功能,包括保存进度,而不需要分享你自己或你的学生的个人数据。 如果上述内容不足以满足您的需求,我们可以签署处理协议来处理您的个人数据。 -- title: 教程 - key: 教程 - subsections: - - title: 教程 - text: 你想(再次)学习这节辅导课吗?点击这里。 - title: 准备工作 key: 准备工作 subsections: diff --git a/content/tutorials/ms.yaml b/content/slides/be.yaml similarity index 100% rename from content/tutorials/ms.yaml rename to content/slides/be.yaml diff --git a/content/slides/de.yaml b/content/slides/de.yaml index e01b1589a2e..95ed3a99afd 100644 --- a/content/slides/de.yaml +++ b/content/slides/de.yaml @@ -34,7 +34,7 @@ levels: code: '{print} Willkommen bei Hedy!' 7: header: Programmieren in Hedy - text: Wir starten den Code mit dem Run code Knopf unter dem Code. + text: Wir starten den Code mit dem "Programm ausführen" Knopf unter dem Code. code: '{print} Willkommen bei Hedy!' 8: header: Programmieren in Hedy @@ -61,48 +61,44 @@ levels: `{print}` wird benutzt, um Text auf dem Bildschirm anzuzeigen. code: '{print} Text auf Bilschirm anzeigen' 3: + header: 'Der {print} Befehl' + text: | + code: |- + {print} Willkommen bei Hedy! + {print} Beginne jetzt mit dem Programmieren! + 4: header: 'Hedy Level 1: {ask}' text: |- Der zweite Code, den du in Level 1 benutzen kannst, ist `{ask}`. `{ask}` wird benutzt, um eine Frage zu stellen, die beantwortet werden kann. code: |- - {print} Welcome to your own rock scissors paper! - {ask} What will you choose? - 4: - header: 'Hedy Level 1: {echo}' - text: |- - Der letzte Text-Code, den du in Level 1 benutzen kannst, ist `{echo}`. - - `{echo}` wird benutzt, um die Antwort auf ein `{ask}` zu wiederholen. - code: |- - {print} Hello! - {ask} What is your name? - {echo} hello + {print} Willkommen zu deinem eigenen Schere, Stein, Papier! + {ask} Was wirst du auswählen? 5: - header: Programmieren! + header: 'Hedy Level 1: {echo}' text: |- Mit `{print}`, `{ask}` und `{echo}` kannst du bereits eine kleine Geschichte erstellen. Dies ist ein guter Zeitpunkt die Abenteuer Papagei, Geschichte und Stein Schere Papier zu versuchen. code: "{print} Hallo!\n{ask} Wie heißt du?\n{echo} hallo" 6: header: Programmieren! - text: Abenteuer sind in den Tabs. + text: "Mit `{print}`, `{ask}` und `{echo}` kannst du bereits eine kleine Geschichte erstellen.\nDies ist ein guter Zeitpunkt die Abenteuer Papagei, Geschichte und Stein Schere Papier zu versuchen." editor: /hedy/1 7: + header: Programmieren! + text: Abenteuer sind in den Tabs. + editor: /hedy/1 + 8: header: Programmieren! text: Die gelben Pfeilknöpfe können zum Kopieren von Beispielen benutzt werden. editor: /hedy#print_command - 8: - header: Zeichnen mit der Schildkröte - text: Nun da wir uns Text-Codes angeguckt haben, schauen wir uns als Nächstes Codes zum Zeichnen an. - editor: /hedy#Ausgabe_Befehl 9: + header: 'Zeichnen mit der Schildkröte' + text: 'Nun da wir uns Text-Codes angeguckt haben, schauen wir uns als Nächstes Codes zum Zeichnen an.' + 10: header: 'Zeichnen mit der Schildkröte: {forward}' text: '`{forward}` wird benutzt, um die Schildkröte vorwärts zu bewegen.' - 10: - header: 'Zeichnen mit der Schildkröte: {turn}' - text: '`{turn}` wird benutzt, um die Schildkröte nach links oder rechts zu drehen.' code: |- {forward} 50 {turn} left diff --git a/content/tutorials/ne.yaml b/content/slides/my.yaml similarity index 100% rename from content/tutorials/ne.yaml rename to content/slides/my.yaml diff --git a/content/tutorials/ar.yaml b/content/tutorials/ar.yaml deleted file mode 100644 index 0826b2921ac..00000000000 --- a/content/tutorials/ar.yaml +++ /dev/null @@ -1,18 +0,0 @@ -intro: - steps: - 11: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 12: - title: Saving & sharing - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: The end! - text: Click on 'next step' to really start coding with Hedy! -teacher: - steps: - 6: - text: Here you find a more extensive documentation with tips and tricks on how to use Hedy in the class room. diff --git a/content/tutorials/bg.yaml b/content/tutorials/bg.yaml deleted file mode 100644 index 555ae441551..00000000000 --- a/content/tutorials/bg.yaml +++ /dev/null @@ -1,21 +0,0 @@ -intro: - steps: - 11: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 12: - title: Тест - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: Пищов - text: Ако сте забравили команда, винаги можете да използвате пищов. Той показва списък с всички команди, които можете да използвате в текущото ниво. - 15: - title: Край! - text: Кликнете върху "следваща стъпка", за да започнете да програмирате с Хеди! -teacher: - steps: - 6: - text: Тук ще намерите по-обширна документация със съвети и трикове как да използвате Hedy в класната стая. diff --git a/content/tutorials/bn.yaml b/content/tutorials/bn.yaml deleted file mode 100644 index 221b00a5a3c..00000000000 --- a/content/tutorials/bn.yaml +++ /dev/null @@ -1,42 +0,0 @@ -intro: - steps: - 11: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 12: - title: Saving & sharing - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: The end! - text: Click on 'next step' to really start coding with Hedy! - 1: - text: In this tutorial we will explain all the Hedy features step-by-step। - 7: - text: Select a voice from the dropdown menu and run your program again to hear it being read aloud। - 10: - text: The other tabs contain adventures, which you can code for each level. They go from easy to hard। - 6: - text: Choose a voice below the run button to let your program be read aloud। - 9: - text: The first tab always contains the level explanation. In each level new commands will be explained here। - 5: - text: Run the program, click 'next step' when you're done। - 8: - text: When you think you understand everything and have practiced enough you can continue with the next level. When there is also a previous level there will be a button next to it to go back। -teacher: - steps: - 6: - text: Here you find a more extensive documentation with tips and tricks on how to use Hedy in the class room. - 5: - text: You can create multiple accounts at once, only needing to provide an username and password. You can also directly add these accounts to one of your classes। - 1: - text: In this tutorial we will explain all the Hedy features step-by-step। - 2: - text: As a teacher you can created classes and invite student or let them join through a link. You can view the programs and statistics of all your students। - 3: - text: You can customize classes by hiding specific levels and/or adventures as well as making them available on a specific date। - 4: - text: You can create your own adventures and use them as assignments for your students. Create them here and add them to your classes in the class customization section। diff --git a/content/tutorials/ca.yaml b/content/tutorials/ca.yaml deleted file mode 100644 index 479345d92aa..00000000000 --- a/content/tutorials/ca.yaml +++ /dev/null @@ -1,70 +0,0 @@ -intro: - steps: - 1: - title: Benvingut a Hedy! - text: En aquest tutorial explicarem pas a pas totes les funcions de Hedy. - 2: - title: L'editor de codi - text: En aquesta finestra escriviu tot el codi, proveu d'escriure alguna cosa al lloc dels guions baixos! - 3: - title: La finestra de sortida - text: El resultat del codi que executeu es mostrarà aquí, l'acabeu de crear! - 4: - title: El botó d'execució - text: Amb aquest botó podeu executar el vostre programa! Ho provarem en el següent pas? - 5: - title: Intenta-ho! - text: Executeu el programa, feu clic a 'següent pas' quan hàgiu acabat. - 6: - title: Llegeix en veu alta el teu programa - text: Trieu una veu a sota del botó d'execució per permetre que el vostre programa es llegeixi en veu alta. - 7: - title: Corre i escolta - text: Seleccioneu una veu al menú desplegable i torneu a executar el vostre programa per escoltar-lo en veu alta. - 8: - title: Al següent nivell - text: Quan creieu que ho enteneu tot i heu practicat prou, podeu continuar amb el següent nivell. Quan també hi hagi un nivell anterior hi haurà un botó al costat per tornar enrere. - 9: - title: Explicació del nivell - text: La primera pestanya sempre conté l'explicació del nivell. A cada nivell s'explicaran noves comandes aquí. - 10: - title: Aventures - text: Les altres pestanyes contenen aventures, que podeu codificar per a cada nivell. Van de fàcil a difícil. - 11: - title: Puzles - text: Creus que entens prou bé el nivell? Prova els puzles! Obteniu línies de codi en un ordre incorrecte, arregleu l'ordre perquè el programa s'executi. - 12: - text: Al final de cada nivell pots fer el qüestionari. D'aquesta manera podeu comprovar si ho enteneu tot. - title: Qüestionari - 13: - title: Guardar i compartir - text: Podeu desar i compartir tots els vostres programes creats amb altres usuaris de Hedy. - 14: - title: Full de trucs - text: Si heu oblidat una ordre, sempre podeu utilitzar el full de trucs. Mostra una llista de totes les ordres que podeu utilitzar al nivell actual. Podeu trobar el full de trucs al botó 🤔 - 15: - title: Fi! - text: Feu clic al 'pas següent' per començar a programar amb Hedy! -teacher: - steps: - 1: - title: Benvingut a Hedy! - text: En aquest tutorial explicarem pas a pas totes les funcions de Hedy. - 2: - title: Gestió de classe - text: Com a professor, podeu crear classes i convidar estudiants o deixar-los unir mitjançant un enllaç. Podeu consultar els programes i les estadístiques de tots els vostres alumnes. - 3: - title: Personalitza les classes - text: Podeu personalitzar les classes amagant nivells i/o aventures específics, així com fent-les disponibles en una data específica. - 4: - title: Creant aventures - text: Podeu crear les vostres pròpies aventures i utilitzar-les com a tasques per als vostres alumnes. Creeu-los aquí i afegiu-los a les vostres classes a la secció de personalització de classe. - 5: - title: Creació de comptes - text: Podeu crear diversos comptes alhora, només cal que proporcioneu un nom d'usuari i una contrasenya. També podeu afegir directament aquests comptes a una de les vostres classes. - 6: - title: Hedy documentació - text: Aquí trobareu una documentació més extensa amb consells i trucs sobre com utilitzar Hedy a l'aula. - 7: - title: Fi! - text: Feu clic a 'següent pas' per començar com a professor de Hedy! diff --git a/content/tutorials/cs.yaml b/content/tutorials/cs.yaml deleted file mode 100644 index bb87d5b089b..00000000000 --- a/content/tutorials/cs.yaml +++ /dev/null @@ -1,21 +0,0 @@ -intro: - steps: - 1: - title: Vítej v Hedy! - text: V tomto návodu ti krok za krokem vysvětlíme všechny funkce Hedy. - 11: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 12: - title: Saving & sharing - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: The end! - text: Click on 'next step' to really start coding with Hedy! -teacher: - steps: - 6: - text: Here you find a more extensive documentation with tips and tricks on how to use Hedy in the class room. diff --git a/content/tutorials/de.yaml b/content/tutorials/de.yaml deleted file mode 100644 index 22449788e8a..00000000000 --- a/content/tutorials/de.yaml +++ /dev/null @@ -1,70 +0,0 @@ -intro: - steps: - 11: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 12: - title: Saving & sharing - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: Spickzettel - text: Falls du einen Befehl vergessen hast, kannst du jederzeit den Spickzettel benutzen. Er zeigt eine Liste aller Befehle, die du im aktuellen Level benutzen kannst. Du findest den Spickzettel beim 🤔 Knopf - 15: - title: Ende! - text: Klicke auf "nächster Schritt" um anzufangen mit Hedy zu programmieren! - 2: - text: In diesem Fenster schreibst du deinen gesamten Code. Versuche etwas zu schreiben, wo die Unterstreichung ist! - title: Der Code-Editor - 5: - title: Versuche es! - text: Führe das Programm aus. Klick auf 'nächster Schritt', wenn du fertig bist. - 4: - text: Mit diesem Knopf kannst du dein Programm starten! Wollen wir das nicht im nächsten Schritt mal versuchen? - title: Der Start-Knopf - 10: - title: Abenteuer - text: In den anderen Tabs findest du Abenteuer, die du für jedes Level programmieren kannst. Es gibt in verschiedenen Schwierigkeitsstufen von leicht bis schwer. - 3: - title: Das Ausgabe-Fenster - text: Das Ergebnis des ausgeführten Codes wird hier angezeigt. Du hast das gerade erstellt! - 1: - text: In diesem Tutorial erklären wir alle Hedy-Funktionen Schritt für Schritt. - title: Willkommen bei Hedy! - 6: - title: Programm vorlesen lassen - text: Wähle eine Stimme unter dem Start-Knopf, um dein Programm vorlesen zu lassen. - 7: - text: Wähle eine Stimme aus dem Dropdown-Menü und führe das Programm erneut aus, um es vorgelesen zu bekommen. - title: Start & Anhören - 8: - title: Auf zum nächsten Level - text: Wenn du alles verstehst und genug geübt hast, kannst du zum nächsten Level weitergehen. Falls es außerdem ein vorheriges Level gibt, kannst du mit dem Zurück-Knopf dahin zurückkehren. - 9: - title: Level-Beschreibung - text: Im ersten Tab findest du immer die Level-Beschreibung. In jedem Level werden neue Befehle erklärt. -teacher: - steps: - 6: - text: Hier findest du eine ausführlichere Dokumentation mit Tipps und Tricks wie du Hedy im Unterricht nutzen kannst. - title: Hedy-Dokumentation - 5: - title: Konten erstellen - text: Du kannst mehrere Konten gleichzeitig erstellen mit nur jeweils einem Benutzernamen und Passwort. Außerdem kannst du diese Konten dann direkt einer deiner Klassen zuordnen. - 1: - text: In diesem Tutorial erklären wir dir alle Hedy-Funktionen Schritt für Schritt. - title: Willkommen bei Hedy! - 2: - text: Als Lehrer kannst du Klassen erstellen und Schüler über einen Link einladen, daran teilzunehmen. Außerdem siehst du alle Programme und Statistiken deiner Schüler. - title: Klassen-Verwaltung - 4: - title: Abenteuer erstellen - text: Du kannst deine eigenen Abenteuer erstellen und sie als Aufgaben für deine Schüler nutzen. Erstelle sie hier und füge sie deiner Klasse im Bereich Klassen-Anpassung hinzu. - 3: - text: Du kannst deine Klassen anpassen, indem du einzelne Level und/oder Abenteuer ausblendest oder erst zu einem bestimmten Zeitpunkt freischaltest. - title: Klassen anpassen - 7: - title: Fertig! - text: Klicke auf ‚nächster Schritt‘, um als Hedy-Lehrer loszulegen! diff --git a/content/tutorials/el.yaml b/content/tutorials/el.yaml deleted file mode 100644 index 0826b2921ac..00000000000 --- a/content/tutorials/el.yaml +++ /dev/null @@ -1,18 +0,0 @@ -intro: - steps: - 11: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 12: - title: Saving & sharing - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: The end! - text: Click on 'next step' to really start coding with Hedy! -teacher: - steps: - 6: - text: Here you find a more extensive documentation with tips and tricks on how to use Hedy in the class room. diff --git a/content/tutorials/en.yaml b/content/tutorials/en.yaml deleted file mode 100644 index 055e69a736d..00000000000 --- a/content/tutorials/en.yaml +++ /dev/null @@ -1,70 +0,0 @@ -intro: - steps: - 1: - title: Welcome to Hedy! - text: In this tutorial we will explain all the Hedy features step-by-step. - 2: - title: The code editor - text: In this window you write all the code, try typing something on the place of the underscores! - 3: - title: The output window - text: The result of the code you execute will be shown here, you just created this! - 4: - title: The run button - text: With this button you can run your program! Shall we give it a try in the next step? - 5: - title: Try it out! - text: Run the program, click 'next step' when you're done. - 6: - title: Read aloud your program - text: Choose a voice below the run button to let your program be read aloud. - 7: - title: Run & listen - text: Select a voice from the dropdown menu and run your program again to hear it being read aloud. - 8: - title: To the next level - text: When you think you understand everything and have practiced enough you can continue with the next level. When there is also a previous level there will be a button next to it to go back. - 9: - title: Level explanation - text: The first tab always contains the level explanation. In each level new commands will be explained here. - 10: - title: Adventures - text: The other tabs contain adventures, which you can code for each level. They go from easy to hard. - 11: - title: Puzzles - text: Do you think you understand the level quite well? Try the puzzles! You get lines of code in the wrong order, fix the order to get the program running. - 12: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 13: - title: Saving & sharing - text: You can save and share all your created programs with other Hedy users. - 14: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. You can find the cheatsheet at the 🤔 button - 15: - title: The end! - text: Click on 'next step' to really start coding with Hedy! -teacher: - steps: - 1: - title: Welcome to Hedy! - text: In this tutorial we will explain all the Hedy features step-by-step. - 2: - title: Class management - text: As a teacher you can created classes and invite student or let them join through a link. You can view the programs and statistics of all your students. - 3: - title: Customize classes - text: You can customize classes by hiding specific levels and/or adventures as well as making them available on a specific date. - 4: - title: Creating adventures - text: You can create your own adventures and use them as assignments for your students. Create them here and add them to your classes in the class customization section. - 5: - title: Creating accounts - text: You can create multiple accounts at once, only needing to provide an username and password. You can also directly add these accounts to one of your classes. - 6: - title: Hedy documentation - text: Here you find a more extensive documentation with tips and tricks on how to use Hedy in the classroom. - 7: - title: The end! - text: Click on 'next step' to get started as a Hedy teacher! diff --git a/content/tutorials/eo.yaml b/content/tutorials/eo.yaml deleted file mode 100644 index 0826b2921ac..00000000000 --- a/content/tutorials/eo.yaml +++ /dev/null @@ -1,18 +0,0 @@ -intro: - steps: - 11: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 12: - title: Saving & sharing - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: The end! - text: Click on 'next step' to really start coding with Hedy! -teacher: - steps: - 6: - text: Here you find a more extensive documentation with tips and tricks on how to use Hedy in the class room. diff --git a/content/tutorials/es.yaml b/content/tutorials/es.yaml deleted file mode 100644 index 05408154663..00000000000 --- a/content/tutorials/es.yaml +++ /dev/null @@ -1,70 +0,0 @@ -intro: - steps: - 1: - title: ¡Bienvenido a Hedy! - text: En este tutorial explicaremos todas las características de Hedy paso a paso. - 2: - title: El editor de código - text: En esta ventana escribirás todo el código, ¡intenta escribir algo en el lugar de los guiones bajos! - 3: - title: La ventana de salida - text: El resultado del código que ejecutes va a ser mostrado aquí, ¡acabas de crear esto! - 4: - title: El botón de ejecución - text: ¡Con este botón puedes ejecutar tu programa! ¿Deberíamos intentarlo en el próximo paso? - 5: - title: ¡Pruébalo! - text: Ejecuta el programa, haz click en 'siguiente paso' cuando termines. - 6: - title: Lee tu programa en voz alta - text: Escoge una voz abajo del botón de ejecutar para que tu programa sea leído. - 7: - title: Ejecuta y escucha - text: Selecciona una voz del menú desplegable y ejecuta tu programa otra vez para que sea leído en voz alta y escucharlo. - 8: - title: Al próximo nivel - text: Cuando creas que ya entiendes todo y has practicado los suficiente, puedes continuar con el siguiente nivel. Cuando haya un nivel previo, también habrá un botón para regresar a él. - 9: - title: Explicación del nivel - text: La primera pestaña siempre incluye la explicación del nivel. En cada nivel los nuevos comandos serán explicados aquí. - 10: - title: Aventuras - text: Las otras pestañas contienen aventuras, las cuáles puedes programar para cada nivel. Van de las más fácil a la más difícil. - 11: - title: Rompecabezas - text: ¿Crees que entienden el nivel bastante bien? ¡Prueba los rompecabezas! Tendrás líneas de código en el orden equivocado, arregla el orden del programa para hacer que funcione. - 12: - text: Al final de cada nivel puedes hacer el cuestionario. De esta forma puedes verificar si entiendes todo. - title: Cuestionario - 13: - title: Guardar y compartir - text: Puedes guardar y compartir todos los programas que crees con otros usuarios de Hedy. - 14: - title: Hoja de instrucciones - text: Si olvidas algún comando siempre puedes usar la hoja de instrucciones. Esta muestra una lista de todos los comandos que puedes usar en el nivel actual. Puedes encontrar la hoja de instrucciones en el botón 🤔 - 15: - title: ¡El final! - text: ¡Haz click en 'siguiente paso' para empezar a programar con Hedy! -teacher: - steps: - 1: - title: ¡Bienvenido a Hedy! - text: En este tutorial vamos a explicar todas las características de Hedy paso a paso. - 2: - title: Gestión de clases - text: Como profesor puedes crear clases e invitar a alumnos o dejar que se unan mediante un enlace. Puedes ver los programas y estadísticas de todos tus alumnos. - 3: - title: Personalizar clases - text: Puedes personalizar clases escondiendo niveles y/o aventuras específicas, así como hacerlas disponibles en una fecha específica. - 4: - title: Creando aventuras - text: Puedes crear tus propias aventuras y usarlas como tareas para tus alumnos. Créalas aquí y agrégalas a tus clases en la sección de personalización de clases. - 5: - title: Creando cuentas - text: Puedes crear múltiples cuentas de una vez, solamente necesitas proveer un nombre de usuario y una contraseña. También puedes agregar directamente estas cuentas a una de tus clases. - 6: - title: Documentación de Hedy - text: Aquí encontrarás una documentación más profunda con consejos y trucos acerca de como usar Hedy en el salón de clases. - 7: - title: ¡El fin! - text: ¡Haz click en 'siguiente paso' para iniciar como un profesor de Hedy! diff --git a/content/tutorials/et.yaml b/content/tutorials/et.yaml deleted file mode 100644 index 0826b2921ac..00000000000 --- a/content/tutorials/et.yaml +++ /dev/null @@ -1,18 +0,0 @@ -intro: - steps: - 11: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 12: - title: Saving & sharing - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: The end! - text: Click on 'next step' to really start coding with Hedy! -teacher: - steps: - 6: - text: Here you find a more extensive documentation with tips and tricks on how to use Hedy in the class room. diff --git a/content/tutorials/fa.yaml b/content/tutorials/fa.yaml deleted file mode 100644 index 0826b2921ac..00000000000 --- a/content/tutorials/fa.yaml +++ /dev/null @@ -1,18 +0,0 @@ -intro: - steps: - 11: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 12: - title: Saving & sharing - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: The end! - text: Click on 'next step' to really start coding with Hedy! -teacher: - steps: - 6: - text: Here you find a more extensive documentation with tips and tricks on how to use Hedy in the class room. diff --git a/content/tutorials/fi.yaml b/content/tutorials/fi.yaml deleted file mode 100644 index 43be653cd98..00000000000 --- a/content/tutorials/fi.yaml +++ /dev/null @@ -1,70 +0,0 @@ -intro: - steps: - 1: - title: Tervetuloa Hedyn pariin! - text: Tässä oppaassa käymme läpi Hedyn ominaisuudet askel kerrallaan. - 2: - title: Koodieditori - text: Tässä ikkunassa kirjoitat kaiken koodin, kokeile kirjoittaa jotain alaviivojen tilalle! - 3: - title: Tulosteikkuna - text: Suorittamasi koodin tulos näytetään tässä, sinä sait tämän äsken aikaan! - 4: - title: Suorita- painike - text: Tällä painikkeella voit suorittaa ohjelmasi. Yritetäänkö sitä seuraavaksi? - 5: - title: Kokeile! - text: Suorita ohjelma, klikkaa 'seuraava vaihe' kun olet valmis. - 6: - title: Lue ohjelma ääneen - text: Valitse ääni ohjelman alapuolelta lukemaan ohjelmasi ääneen. - 7: - title: Suorita ja kuuntele - text: Valitse ääni alasvetovalikosta ja suorita ohjelmasi uudelleen kuullaksesi sen luettuna ääneen. - 8: - title: Seuraavalle tasolle - text: Kun olet mielestäsi ymmärtänyt kaiken ja harjoitellut tarpeeksi voit jatkaa seuraavalla tasolla. Seuraavilla tasoilla on myös painike jolla pääsee edelliselle tasolle. - 9: - title: Tason selitys - text: Ensimmäinen välilehti sisältää tason selityksen. Jokaisella uudella tasolla esiintyvät uudet komennot selitetään tässä. - 10: - title: Seikkailut - text: Muut välilehdet sisältävät seikkailuja, jotka voit koodata jokaisella tasolla. Ne etenevät helposta vaikeaan. - 11: - title: Haasteet - text: Luuletko ymmärtäväsi tason melko hyvin? Kokeile haasteita! Sinulle annetaan koodirivejä väärässä järjestyksessä, korjaa järjestys saadaksesi ohjelman toimimaan. - 12: - title: Koe - text: Jokaisen tason päätteeksi voit suorittaa kokeen. Siten voit varmistaa että ymmärsit kaiken. - 13: - title: Tallennus ja jakaminen - text: Voit tallentaa ja jakaa luomasi ohjelmat muiden Hedyn käyttäjien kanssa. - 14: - title: Lunttilappu - text: Jos unohdit komennon, voit aina käyttää huijauslehteä. Se näyttää luettelon kaikista komennoista, joita voit käyttää nykyisellä tasolla. Huijauslehti löytyy 🤔-painikkeesta - 15: - title: Loppu! - text: Paina 'seuraava vaihe' aloittaaksesi koodaamaan Hedyllä! -teacher: - steps: - 1: - title: Tervetuloa Hedyn pariin! - text: Tässä oppaassa käymme läpi Hedyn ominaisuudet askel kerrallaan. - 2: - title: Oppituntien hallinta - text: Opettajana voit luoda oppitunteja ja kutsua oppilaita liittymään niihin linkin kautta. Pääset näkemään oppilaidesi luomia ohjelmia ja statistiikkaa heidän edistymisestään. - 3: - title: Kustomoi oppitunteja - text: Voit kustomoida oppitunteja piilottamalla tiettyjä tasoja ja/tai seikkailuja. Voit myös piilottaa niitä päivämäärän perusteella. - 4: - title: Seikkailujen luominen - text: Voit luoda omia seikkailujasi ja antaa niitä tehtäväksi oppilaillesi. Luo niitä täällä ja lisää niitä oppitunnillesi oppituntien hallinta osiossa. - 5: - title: Tunnusten luominen - text: Voit luoda useita tunnuksia kerralla, sinun tarvitsee vain antaa käyttäjätunnus ja salasana. Voit myös lisätä nämä tunnukset suoraan oppitunnillesi. - 6: - title: Hedyn dokumentaatio - text: Täältä löydät kattavamman dokumentaation ja vinkkejä Hedyn käyttöön luokkahuoneessa. - 7: - title: Loppu! - text: Klikkaa 'seuraava vaihe' aloittaaksesi Hedyn opettajana! diff --git a/content/tutorials/fr.yaml b/content/tutorials/fr.yaml deleted file mode 100644 index 0d19e5fcb5a..00000000000 --- a/content/tutorials/fr.yaml +++ /dev/null @@ -1,47 +0,0 @@ -intro: - steps: - 1: - title: Bienvenue à Hedy ! - text: Dans ce tutoriel, nous allons t'expliquer toutes les fonctionnalités de Hedy étape par étape. - 2: - title: L'éditeur de code - text: Tu dois écrire le code dans cette fenêtre, essaie en écrivant quelque chose à la place des traits ! - 3: - title: La fenêtre d'affichage du résultat - text: Le résultat de ton code que tu exécutes sera montré ici, tu viens juste de le créer ! - 4: - title: Le bouton exécuter - text: Avec ce bouton, tu peux démarrer ton programme ! On essaie à la prochaine étape ? - 5: - title: Essaie-le ! - text: Exécute le programme, clique sur 'prochaine étape' quand tu as fini. - 6: - title: Lire ton programme à voix haute - text: Choisis une voix en dessous du bouton 'exécuter' pour que ton programme soit lu à voix haute. - 7: - text: Sélectionne une voix depuis le menu déroulant et exécute ton programme à nouveau pour l'entendre lu à voix haute. - 8: - title: Vers le niveau suivant - 11: - text: Penses-tu avoir assez bien compris ce niveau ? Essaye les puzzles ! Tu reçois les lignes de codes dans le désordre. Corrige l'ordre en déplaçant les lignes dans la zone de programmation avec ta souris pour que le programme fonctionne. - 12: - title: Quizz - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: Anti-sèche - text: Si tu oublies une commande, tu peux toujours utiliser l'aide-mémoire. Il te montre une liste de commande que tu peux utiliser dans le niveau actuel. Tu trouveras l'aide-mémoire en cliquant sur le bouton 🤔 - 15: - title: Fin ! - text: Clique sur 'étape suivante' pour vraiment commencer à coder avec Hedy ! -teacher: - steps: - 1: - title: Bienvenu à Hedy ! - 6: - text: Ici, tu peux trouver une plus grande documentation avec des astuces et conseils sur comment utiliser Hedy dans ta classe. - 7: - title: Fin ! - text: Clique sur 'étape suivante' pour commencer en tant que professeur Hedy ! diff --git a/content/tutorials/fr_CA.yaml b/content/tutorials/fr_CA.yaml deleted file mode 100644 index 0d19e5fcb5a..00000000000 --- a/content/tutorials/fr_CA.yaml +++ /dev/null @@ -1,47 +0,0 @@ -intro: - steps: - 1: - title: Bienvenue à Hedy ! - text: Dans ce tutoriel, nous allons t'expliquer toutes les fonctionnalités de Hedy étape par étape. - 2: - title: L'éditeur de code - text: Tu dois écrire le code dans cette fenêtre, essaie en écrivant quelque chose à la place des traits ! - 3: - title: La fenêtre d'affichage du résultat - text: Le résultat de ton code que tu exécutes sera montré ici, tu viens juste de le créer ! - 4: - title: Le bouton exécuter - text: Avec ce bouton, tu peux démarrer ton programme ! On essaie à la prochaine étape ? - 5: - title: Essaie-le ! - text: Exécute le programme, clique sur 'prochaine étape' quand tu as fini. - 6: - title: Lire ton programme à voix haute - text: Choisis une voix en dessous du bouton 'exécuter' pour que ton programme soit lu à voix haute. - 7: - text: Sélectionne une voix depuis le menu déroulant et exécute ton programme à nouveau pour l'entendre lu à voix haute. - 8: - title: Vers le niveau suivant - 11: - text: Penses-tu avoir assez bien compris ce niveau ? Essaye les puzzles ! Tu reçois les lignes de codes dans le désordre. Corrige l'ordre en déplaçant les lignes dans la zone de programmation avec ta souris pour que le programme fonctionne. - 12: - title: Quizz - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: Anti-sèche - text: Si tu oublies une commande, tu peux toujours utiliser l'aide-mémoire. Il te montre une liste de commande que tu peux utiliser dans le niveau actuel. Tu trouveras l'aide-mémoire en cliquant sur le bouton 🤔 - 15: - title: Fin ! - text: Clique sur 'étape suivante' pour vraiment commencer à coder avec Hedy ! -teacher: - steps: - 1: - title: Bienvenu à Hedy ! - 6: - text: Ici, tu peux trouver une plus grande documentation avec des astuces et conseils sur comment utiliser Hedy dans ta classe. - 7: - title: Fin ! - text: Clique sur 'étape suivante' pour commencer en tant que professeur Hedy ! diff --git a/content/tutorials/fy.yaml b/content/tutorials/fy.yaml deleted file mode 100644 index 0826b2921ac..00000000000 --- a/content/tutorials/fy.yaml +++ /dev/null @@ -1,18 +0,0 @@ -intro: - steps: - 11: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 12: - title: Saving & sharing - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: The end! - text: Click on 'next step' to really start coding with Hedy! -teacher: - steps: - 6: - text: Here you find a more extensive documentation with tips and tricks on how to use Hedy in the class room. diff --git a/content/tutorials/he.yaml b/content/tutorials/he.yaml deleted file mode 100644 index e549239c83d..00000000000 --- a/content/tutorials/he.yaml +++ /dev/null @@ -1,21 +0,0 @@ -intro: - steps: - 11: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 12: - title: Saving & sharing - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: The end! - text: אם שכחת פקודה אתה תמיד יכול להשתמש בדף העזרה. דף העזרה מכיל רשימה של כל הפקודות שניתן להשתמש בהם ברמה הנוכחית. תוכל למצוא את דף העזרה בתחתית העמוד. - 15: - title: הסוף! - text: לחץ על ה'שלב הבא' כדי להתחיל לכתוב קוד עם הידי! -teacher: - steps: - 6: - text: כאן תוכל למצוא עוד מידע מפורט עם טיפים וטריקים לשימוש בהידי בכיתות. diff --git a/content/tutorials/hi.yaml b/content/tutorials/hi.yaml deleted file mode 100644 index 1e9ec004f6f..00000000000 --- a/content/tutorials/hi.yaml +++ /dev/null @@ -1,42 +0,0 @@ -intro: - steps: - 11: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 12: - title: Saving & sharing - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: The end! - text: Click on 'next step' to really start coding with Hedy! - 6: - text: Choose a voice below the run button to let your program be read aloud। - 1: - text: In this tutorial we will explain all the Hedy features step-by-step। - 10: - text: The other tabs contain adventures, which you can code for each level. They go from easy to hard। - 7: - text: Select a voice from the dropdown menu and run your program again to hear it being read aloud। - 9: - text: The first tab always contains the level explanation. In each level new commands will be explained here। - 5: - text: Run the program, click 'next step' when you're done। - 8: - text: When you think you understand everything and have practiced enough you can continue with the next level. When there is also a previous level there will be a button next to it to go back। -teacher: - steps: - 6: - text: Here you find a more extensive documentation with tips and tricks on how to use Hedy in the class room. - 1: - text: In this tutorial we will explain all the Hedy features step-by-step। - 2: - text: As a teacher you can created classes and invite student or let them join through a link. You can view the programs and statistics of all your students। - 3: - text: You can customize classes by hiding specific levels and/or adventures as well as making them available on a specific date। - 4: - text: You can create your own adventures and use them as assignments for your students. Create them here and add them to your classes in the class customization section। - 5: - text: You can create multiple accounts at once, only needing to provide an username and password. You can also directly add these accounts to one of your classes। diff --git a/content/tutorials/hu.yaml b/content/tutorials/hu.yaml deleted file mode 100644 index 0d444478873..00000000000 --- a/content/tutorials/hu.yaml +++ /dev/null @@ -1,70 +0,0 @@ -intro: - steps: - 1: - title: Üdvözlünk a Hedy oldalán! - text: Most lépésről lépésre bemutatjuk a Hedy használatát. - 2: - title: Kódszerkesztő felület - text: Ebben az ablakban fogsz kódolni. Írj valamit az aláhúzás helyére! - 3: - title: Eredmény ablak - text: Ha futtatod a kódodat, itt fog megjelenni az eredménye. Amit most látsz ott, az a te műved! - 4: - title: Kód futtatása - text: Ezzel a gombbal tudod futtatni a programodat! Kipróbálod a következő lépésben? - 5: - title: Próbáld ki! - text: Futtasd a programot. Kattints a "Tovább"-ra, ha kész vagy. - 6: - title: Program felolvasása - text: A futtató gomb alatt tudsz hangot választani a kód felolvasásához. - 7: - title: Futtasd és hallgasd meg - text: Válassz egy hangot a legördülő menüből, és futtasd a programot ismét. Jól hangzik? - 8: - title: Tovább a következő szintre - text: Ha mindent megértettél, és úgy érzed hogy eleget gyakoroltál, tovább mehetsz a következő szintre. Ha van előző szint, oda vezető gombot is fogsz találni. - 9: - title: Bevezető a szinthez - text: Az első tabon mindig a szint bevezetője van. Itt vannak elmagyarázva az adott szinthez tartozó parancsok. - 10: - title: Kalandok - text: A többi tabon kalandok vannak, amiket minden szinten le tudsz kódolni. A könnyebbek vannak elöl, és egyre nehezednek. - 11: - title: Rejtvények - text: Úgy érzed, sikerült a szintet jól megérteni? Próbáld meg megoldani a rejtvényeket! Rossz sorrendben lévő kódsorokat fogsz kapni, amiket át kell rendezned, hogy a program le tudjon futni. - 12: - title: Kvíz - text: Minden szint végén van egy kvíz. Itt tudod ellenőrizni, hogy tényleg értesz-e mindent. - 13: - title: Mentés és megosztás - text: Minden programodat el tudod menteni és meg is tudod osztani őket más Hedy felhasználókkal. - 14: - title: Súgó - text: Ha elfelejtettél egy parancsot, megnézheted a súgóban. Itt minden parancs fel van sorolva, amit az adott szinten használni lehet. A csalólapot a 🤔 gombnál találod - 15: - title: Vége! - text: Kattints a "tovább" gombra, és kezdődjön a kódolás! -teacher: - steps: - 1: - title: Üdvözlünk a Hedy oldalán! - text: Most lépésről lépésre bemutatjuk a Hedy használatát. - 2: - title: Osztályok kezelése - text: Tanári hozzáféréssel osztályokat tudsz létrehozni, amikhez hozzá tudsz adni tanulókat kézzel, vagy küldhetsz nekik egy csatlakozási linket. Minden diák programjait és statisztikáit látni fogod. - 3: - title: Osztály beállításai - text: Külön beállításokat végezhetsz az osztályokon, pl. elrejthetsz bizonyos szinteket, és/vagy beállíthatod, hogy melyik napon jelenjenek meg a diákoknak. - 4: - title: Kalandok létrehozása - text: Létrehozhatsz saját kalandokat, hogy kiadd őket a diákjaidnak. Először létre kell hozni a kalandot itt, aztán hozzá kell kapcsolni egy osztályhoz, az osztály beállításai oldalon. - 5: - title: Fiókok létrehozása - text: Egyszerre sok fiókot is létre tudsz hozni, csak felhasználónevet és jelszót kell megadnod. Rögtön hozzá is tudod adni ezeket a felhasználókat valamelyik osztályodhoz. - 6: - title: Hedy dokumentáció - text: Itt bővebb leírást és tippeket találsz arról, hogy a Hedy hogyan használható egy tanórán. - 7: - title: Vége! - text: Kattints a "tovább" gombra, és kezdj el a Hedy-vel tanítani! diff --git a/content/tutorials/id.yaml b/content/tutorials/id.yaml deleted file mode 100644 index efb57e29e06..00000000000 --- a/content/tutorials/id.yaml +++ /dev/null @@ -1,21 +0,0 @@ -intro: - steps: - 11: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 12: - title: Saving & sharing - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: Contekan - text: Jika Anda lupa suatu perintah, Anda selalu dapat menggunakan lembar contekan. Ini menunjukkan daftar semua perintah yang dapat Anda gunakan di level saat ini. Anda dapat menemukan lembar contekan di tombol 🤔 - 15: - title: Tamat! - text: Klik 'langkah berikutnya' untuk benar-benar memulai coding dengan Hedy! -teacher: - steps: - 6: - text: Di sini Anda menemukan dokumentasi yang lebih lengkap berisi tip dan trik tentang cara menggunakan Hedy di kelas. diff --git a/content/tutorials/it.yaml b/content/tutorials/it.yaml deleted file mode 100644 index 0826b2921ac..00000000000 --- a/content/tutorials/it.yaml +++ /dev/null @@ -1,18 +0,0 @@ -intro: - steps: - 11: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 12: - title: Saving & sharing - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: The end! - text: Click on 'next step' to really start coding with Hedy! -teacher: - steps: - 6: - text: Here you find a more extensive documentation with tips and tricks on how to use Hedy in the class room. diff --git a/content/tutorials/ja.yaml b/content/tutorials/ja.yaml deleted file mode 100644 index 0826b2921ac..00000000000 --- a/content/tutorials/ja.yaml +++ /dev/null @@ -1,18 +0,0 @@ -intro: - steps: - 11: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 12: - title: Saving & sharing - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: The end! - text: Click on 'next step' to really start coding with Hedy! -teacher: - steps: - 6: - text: Here you find a more extensive documentation with tips and tricks on how to use Hedy in the class room. diff --git a/content/tutorials/kab.yaml b/content/tutorials/kab.yaml deleted file mode 100644 index 40f9f8fa7db..00000000000 --- a/content/tutorials/kab.yaml +++ /dev/null @@ -1,70 +0,0 @@ -intro: - steps: - 3: - title: Asfaylu n usuffeɣ - text: Igmad n tengalt ara tgeḍ ad d-tban dagi, aql-ak akken kan i tt-id-tesnulfaḍ! - 1: - title: Ansuf ɣer Hedy! - text: Deg ututuryel-a, ad ak-d-nessegzu akk timahilin n Hedy takkayt, takkayt. - 2: - title: Amaẓrag n tengalt - text: Deg usfaylu-a ara taruḍ akk tangalt, εreḍ ad taruḍ kra deg wadeg n yijerriḍen! - 6: - title: Γeṛ-d ahil-ik s ṣṣut εlayen - text: Fren taɣect ddaw tqeffalt n uselkem akken ad teǧǧeḍ ahil-ik ad d-iɣer s ṣṣut εlayen. - 4: - title: Taqeffalt n uselkem - text: S tqeffalt-a tzemreḍ ad teslekmeḍ ahil-ik! Ad neεreḍ deg takkayt i d-iteddun? - 5: - title: Ԑreḍ-it! - text: Selkem ahil, sit ɣef "takkayt tuḍfirt" mi ara tfakkeḍ. - 15: - title: Taggara! - text: Sit ɣef 'takkayt tuḍfirt' i wakken ad tebduḍ s tidet asettengel s Hedy! - 13: - text: Tzemreḍ ad teskelseḍ, ad teḍuḍ akk ihalen-ik i d-tesnulfaḍ akked yiseqdacen niḍen n Hedy. - title: Asekles & beṭṭu - 14: - title: Tiferkit n tkatut - text: Ma tettuḍ kra n taladna, tzemreḍ ad tesqedceḍ tiferkit n tkatut. Yesskan-d umuɣ n meṛṛa tiludna i tzemreḍ ad tesqedceḍ deg uswir amiran. Tzemred ad d-tafed tiferkit n tkatut deg tqeffalt 🤔 - 7: - title: Selkem & sell - text: Fren taɣect seg umuɣ n usedrurem sakin ales selkem ahil-ik akken ad as-tesleḍ yettwaɣra-d s ṣṣut εlayen. - 8: - title: Γer uswir uḍfir - text: Mi ara twaliḍ tegziḍ kullec yerna ddeqs i tesluɣmuḍ iman-ik, tzemreḍ ad tkemmleḍ ɣer uswir i uḍfir. Mi ara yili daɣen uswir udfir, ad tili tqeffalt ɣer tama-s akken ad tuɣaleḍ ɣer deffir. - 9: - title: Asegzi n uswir - text: Iccer amezwru yezga yegber asegzu n uswir. Deg yal tiludna n uswir ad d-yettwasegzu dagi. - 10: - title: Tidyanin - text: Accaren niḍen gebren tidyanin, i tzemreḍ ad testtengleḍ i yal aswir. Ttruḥun seg wid isehlen ɣer wid iweεren. - 11: - title: Ipuzulen - text: Tettwalid tegzid aswir akken iwata? Ɛreḍ ipuzulen-a! Ad tawiḍ izirigen n tengalin s umezwer yerwin, ṣeggem amizwer i wakken ad yeddu wahil. - 12: - title: Akwiz - text: Γer taggara n yal aswir tzemreḍ ad tgeḍ akwiz. S wakka tzemreḍ ad tektazleḍ ma yella tegziḍ kullec. -teacher: - steps: - 2: - title: Asefrek n yismilen - text: S yisem-ik d aselmad, tzemreḍ ad d-tesnulfuḍ ismilen syen ad d-tesnubegteḍ inelmaden neɣ ad ten-teǧǧeḍ ad d-rnun s useɣwen. Tzemreḍ ad twaliḍ ihalan akked tdaddanin meṛṛa inelmaden-ik. - 1: - text: Deg ututuryel-a ad d-nessegzu akk timahilin takkayt, takkayt. - title: Ansuf ɣer Hedy! - 3: - title: Sagen ismilen - text: Tzemreḍ ad tsagneḍ ismilen s tuffra n yiswiren usliden akked/neɣ tidyanin akken ara ten-terreḍ deg wazemz uslid. - 4: - title: Timerna n tedyanin - text: Tzemreḍ ad d-tesnulfuḍ tidyanin syen ad tent-tesqedceḍ am uktazal i yinelmaden-ik. Snulfu-tent-id dagi syen rnu-tent ɣer yismilen-ik deg tefrant n usagen n yismilen. - 6: - title: Tisemlit n Hedy - text: Dagi ad tafeḍ tasemlit tameqqrant s tifrat akked yiwellihen ɣef useqdec n Hedy deg usmil. - 7: - title: Taggara! - text: Sit ɣef 'takkayt tuḍfirt' i wakken ad tebduḍ d aselmad n Hedy! - 5: - title: Timerna n yimiḍanen - text: Tzemreḍ ad tesnulfuḍ aṭas n yimiḍanen ɣef tikkelt, sran kan ad asen-tmuddeḍ isem n useqdac akked wawal n uεeddi. Tzemreḍ daɣen ad ternuḍ srid imiḍanen-a ɣer yiwen seg yismilen-ik. diff --git a/content/tutorials/ko.yaml b/content/tutorials/ko.yaml deleted file mode 100644 index 67001a630c0..00000000000 --- a/content/tutorials/ko.yaml +++ /dev/null @@ -1,70 +0,0 @@ -intro: - steps: - 1: - title: Hedy에 오신 것을 환영해요! - text: 이 튜토리얼에서는 Hedy의 모든 기능을 단계별로 설명하겠습니다. - 2: - title: 코드 에디터 - text: 이 창에서 모든 코드를 작성하고 밑줄 위치에 무언가를 입력해 보세요! - 3: - title: 출력창 - text: 실행한 코드의 결과가 여기에 표시됩니다. 방금 생성한 코드입니다! - 4: - title: 실행 버튼 - text: 이 버튼을 누르면 프로그램을 실행할 수 있어요! 다음 단계에서 한번 시도해 볼까요? - 5: - title: 시작해 보세요! - text: 프로그램을 실행하고 끝나면 '다음 단계'를 클릭합니다. - 6: - title: 프로그램을 큰 소리로 읽습니다 - text: 실행 버튼 아래의 음성을 선택하여 프로그램을 큰 소리로 읽을 수 있습니다. - 7: - title: 실행 & 듣기 - text: 드롭다운 메뉴에서 음성을 선택하고 프로그램을 다시 실행하면 음성을 크게 읽을 수 있습니다. - 8: - title: 다음 단계로 - text: 모든 것을 이해하고 충분히 연습했다고 생각하면 다음 단계로 계속 진행할 수 있다. 이전 단계도 있을 때 그 옆에 다시 돌아갈 수 있는 버튼이 있을 것이다. - 9: - title: 레벨 설명 - text: 첫번째 탭은 항상 레벨 설명을 포함한다. 각 레벨에서 새로운 명령어들이 여기서 설명될 것이다. - 10: - title: 모험 - text: 다른 탭에는 각 레벨에 맞게 코드를 지정할 수 있는 모험이 포함되어 있습니다. 쉬운 것에서 어려운 것으로 바뀝니다. - 11: - title: 퍼즐 - text: 여러분은 그 레벨을 꽤 잘 이해하고 있다고 생각하나요? 퍼즐을 맞춰보세요! 코드의 줄이 순서를 잘못 맞추게 되면, 프로그램이 실행되도록 순서를 바꾸세요. - 12: - title: 퀴즈. - text: 각 단계가 끝날 때마다 퀴즈를 낼 수 있다. 이렇게 하면 모든 것을 이해했는지 확인할 수 있다. - 13: - title: 저장 & 공유 - text: 생성한 모든 프로그램을 저장하고 다른 Hedy 사용자와 공유할 수 있습니다. - 14: - title: 컨닝 페이퍼 - text: 명령을 잊어버렸다면 언제든지 컨닝 페이퍼를 사용할 수 있다. 현재 레벨에서 사용할 수 있는 모든 명령의 목록을 보여준다. 컨닝 페이퍼라는 🤔 버튼에서 찾을 수 있다 - 15: - title: 끝! - text: Hedy와 함께 코딩을 시작하려면 '다음 단계'를 클릭하세요! -teacher: - steps: - 1: - title: Hedy에 온 걸 환영해! - text: 이 튜토리얼에서는 Hedy의 모든 기능을 단계별로 설명하겠습니다. - 2: - title: 학급경영 - text: 교사로서 수업을 만들고 학생을 초대하거나 링크를 통해 참여하게 할 수 있다. 모든 학생들의 프로그램과 통계를 볼 수 있다. - 3: - title: 클래스 사용자 정의 - text: 특정 레벨 및/또는 모험을 숨기고 특정 날짜에 클래스를 사용할 수 있도록 하여 클래스를 사용자 정의할 수 있습니다. - 4: - title: 모험 만들기 - text: 자신만의 모험을 만들어 학생들을 위한 과제로 활용할 수 있다. 여기에 모험을 만들어 수업 맞춤화 섹션의 수업에 추가한다. - 5: - title: 계정 만들기 - text: 사용자 이름과 비밀번호만 입력하면 한 번에 여러 개의 계정을 만들 수 있다. 클래스 중 하나에 이러한 계정을 직접 추가할 수도 있다. - 6: - title: Hedy 문서 - text: 강의실에서 Hedy를 사용하는 방법에 대한 팁과 요령이 포함된 보다 광범위한 설명서를 보실 수 있습니다. - 7: - title: 끝! - text: Hedy 선생님으로 시작하려면 '다음 단계'를 클릭하세요! diff --git a/content/tutorials/nb_NO.yaml b/content/tutorials/nb_NO.yaml deleted file mode 100644 index 84aaeb088b2..00000000000 --- a/content/tutorials/nb_NO.yaml +++ /dev/null @@ -1,21 +0,0 @@ -intro: - steps: - 1: - title: Velkommen til Hedy! - text: I denne gjennomgangen vil vi forklare, steg for steg, alt du kan gjøre med Hedy. - 11: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 12: - title: Saving & sharing - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: The end! - text: Click on 'next step' to really start coding with Hedy! -teacher: - steps: - 6: - text: Here you find a more extensive documentation with tips and tricks on how to use Hedy in the class room. diff --git a/content/tutorials/nl.yaml b/content/tutorials/nl.yaml deleted file mode 100644 index 7c7e2ed0d08..00000000000 --- a/content/tutorials/nl.yaml +++ /dev/null @@ -1,69 +0,0 @@ -intro: - steps: - 1: - title: Welkom bij Hedy! - text: In deze uitleg leggen we stap voor stap uit wat je allemaal kunt doen. - 2: - title: De code editor - text: In dit venster schrijf je alle code, probeer maar wat in te vullen op de plaats van de lage streepjes! - 3: - title: Het output venster - text: De code die je uitvoert wordt hier weergegeven, dit heb jij net gemaakt! - 4: - title: De uitvoer knop - text: Met deze knop kun je een programma uitvoeren, zullen we het proberen in de volgende stap? - 5: - title: Probeer het uit! - text: Voer het programma uit, klik op 'volgende stap' als je klaar bent. - 6: - title: Laat je programma voorlezen - text: Kies onder de uitvoer knop een stem als je jouw programma wilt laten voorlezen. - 7: - title: Voer uit & luister - text: Kies een stem en voer je programma opnieuw uit om te laten voorlezen. - 8: - title: Naar het volgende level - text: Wanneer je denkt dat je alles goed snapt en genoeg hebt geoefend kun je naar het volgende level. Wanneer er een vorig level is zal er ook een knop zijn voor terug. - 9: - title: Level uitleg - text: In het eerste tabje vind je altijd de level uitleg. Hier worden in elk level de nieuwe commando's uitgelegd. - 10: - title: Avonturen - text: De andere tabjes bevatten avonturen, deze kun je per level maken. Ze gaan van makkelijk naar moeilijk. - 11: - title: Puzzels - text: Denk je dat je het level goed snapt? Probeer dan de puzzels! Hier krijg je regels code die door elkaar staan, zet ze zelf in de juiste volgorde. - 12: - text: Aan het einde van elk level kun je een quiz maken, zo kun je goed testen of je alles snapt. - 13: - title: Opslaan en delen - text: Je kunt al jouw gemaakt programma's opslaan en delen met andere Hedy gebruikers. - 14: - title: Spiekbriefje - text: Als je iets bent vergeten kun je het spiekbriefje gebruiken om te kijken welke commando's je mag gebruiken. Je vindt het spiekbriefje bij de 🤔 knop. - 15: - title: Einde! - text: Klik op 'Volgende stap' om echt aan de slag te gaan met Hedy! -teacher: - steps: - 1: - title: Welkom bij Hedy! - text: In deze uitleg leggen we stap voor stap uit wat je allemaal (extra) kunt doen als leraar. - 2: - title: Beheren van klassen - text: Als leraar kun je klassen aanmaken en studenten hiervoor uitnodigen of laten inschrijven via een link. Van jouw studenten kun je alle programma's en statistieken bekijken. - 3: - title: Klassen personaliseren - text: Je kunt klassen personaliseren door levels en/of avonturen te verbergen of op specifieke data beschikbaar te maken. - 4: - title: Avonturen aanmaken - text: Je kunt eigen avonturen maken en gebruiken als opdrachten voor je leerlingen. Maak ze hier, voeg ze vervolgens aan je klassen toe via de klassen personaliatie. - 5: - title: Accounts aanmaken - text: Je kunt meerdere accounts tegelijk aanmaken voor jouw leerlingen, je hoeft alleen een gebruikersnaam en wachtwoord op te geven. Deze accounts kun je ook gelijk toevoegen aan een van jouw klassen. - 6: - title: Hedy documentatie - text: Hier vindt je een uitgebreidere documentatie met tips en tricks voor het gebruik van Hedy in de klas. - 7: - title: Einde! - text: Klik op 'volgende stap' om als leraar aan de slag te gaan met Hedy! diff --git a/content/tutorials/peo.yaml b/content/tutorials/peo.yaml deleted file mode 100644 index 0967ef424bc..00000000000 --- a/content/tutorials/peo.yaml +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/content/tutorials/pl.yaml b/content/tutorials/pl.yaml deleted file mode 100644 index f61808b09c8..00000000000 --- a/content/tutorials/pl.yaml +++ /dev/null @@ -1,66 +0,0 @@ -intro: - steps: - 1: - title: Witaj w Hedy! - text: W tym samouczku wytłumaczymy Ci wszystkie funkcje Hedy'ego krok po kroku. - 2: - title: Edytor kodu - text: W tym oknie będziesz pisać swój kod. Spróbuj napisać coś w miejsce podkreślników! - 3: - title: Widok odpowiedzi - text: Wynik wykonania twojego kodu pokaże się tutaj! - 4: - title: Przycisk uruchamiania - text: Klikając w ten przycisk, uruchomisz swój program. Spróbujemy w następnym kroku? - 5: - title: Spróbuj! - text: Uruchom program i naciśnij przycisk 'następny krok', kiedy będziesz gotowy. - 6: - title: Przeczytaj na głos swój program - text: Wybierz głos z listy poniżej przycisku uruchamiania, by twój program został przeczytany. - 7: - title: Uruchom i posłuchaj - text: Wybierz głos z listy i uruchom twój program jeszcze raz. - 8: - title: Do następnego poziomu - 9: - title: Wyjaśnienie poziomu - text: Pierwsza karta zawsze zawiera wyjaśnienie poziomu. Na każdym w tym miejscu poziomie zostaną wyjaśnione nowe polecenia. - 10: - text: Pozostałe zakładki zawierają przygody, które można zakodować dla każdego poziomu. Przechodzą od łatwych do trudnych. - 11: - title: Zagadki - text: Myślisz, że dobrze rozumiesz poziom? Spróbuj łamigłówek! Otrzymujesz wiersze kodu w niewłaściwej kolejności, popraw kolejność, aby uruchomić program poprawnie. - 12: - text: Na końcu każdego poziomu możesz zrobić quiz. W ten sposób możesz sprawdzić, czy wszystko rozumiesz. - 13: - title: Zapisywanie i udostępnianie - text: Możesz zapisywać i udostępniać wszystkie utworzone programy innym użytkownikom Hedy. - 14: - title: Ściągawka - text: Jeśli nie pamiętasz polecenia, zawsze możesz użyć ściągawki. Pokazuje ona listę wszystkich poleceń, których można używać na danym poziomie. Ściągawkę znajdziesz pod przyciskiem 🤔 - 15: - title: Koniec! -teacher: - steps: - 1: - title: Witaj w Hedy! - text: W tym samouczku wytłumaczymy Ci wszystkie funkcje Hedy'ego krok po kroku. - 2: - title: Zarządzanie klasą - text: Jako nauczyciel możesz tworzyć zajęcia i zapraszać uczniów lub pozwolić im dołączyć za pomocą linku. Możesz przeglądać programy i statystyki wszystkich swoich uczniów. - 3: - title: Dostosowywanie klas - text: Możesz dostosować klasy, ukrywając określone poziomy i / lub przygody, a także udostępniając je w określonym dniu. - 4: - title: Tworzenie przygód - text: Możesz tworzyć własne przygody i używać ich jako zadań dla swoich uczniów. Utwórz je tutaj i dodaj do swoich zajęć w sekcji dostosowywania zajęć. - 5: - title: Tworzenie kont - text: Możesz utworzyć wiele kont jednocześnie, wystarczy podać nazwę użytkownika i hasło. Możesz również bezpośrednio dodać te konta do jednej ze swoich klas. - 6: - title: Dokumentacja Hedy - text: Tutaj znajdziesz bardziej rozbudowaną dokumentację z poradami i wskazówkami, jak używać Hedy w klasie. - 7: - title: Koniec! - text: Kliknij „następny krok”, aby rozpocząć pracę jako nauczyciel Hedy! diff --git a/content/tutorials/pt_BR.yaml b/content/tutorials/pt_BR.yaml deleted file mode 100644 index 57ab8a7e1ff..00000000000 --- a/content/tutorials/pt_BR.yaml +++ /dev/null @@ -1,24 +0,0 @@ -intro: - steps: - 11: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 12: - title: Saving & sharing - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: The end! - text: Se você esqueceu um comando você sempre pode usar a folha de dicas. Ela mostra uma lista de todos os comandos que você pode usar no nível atual. Você pode achar a folha de dicas no botão 🤔 - 15: - title: O fim! - text: Clique em 'próximo passo' para começar a programar com Hedy! - 1: - title: Bem-vindo(a) à Hedy! - text: Neste tutorial, vamos explicar todas as funcionalidades da Hedy passo a passo. -teacher: - steps: - 6: - text: Aqui você pode achar uma documentação mais extensiva sobre dicas e truques sobre usar Hedy na sala de aula. diff --git a/content/tutorials/pt_PT.yaml b/content/tutorials/pt_PT.yaml deleted file mode 100644 index 1c23aee11a5..00000000000 --- a/content/tutorials/pt_PT.yaml +++ /dev/null @@ -1,21 +0,0 @@ -intro: - steps: - 11: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 12: - title: Saving & sharing - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: Folha de consulta - text: Se te esqueceste de um comando, podes sempre usar a folha de consulta. Esta mostra uma lista de todos os comandos que podes usar no nível atual. Podes encontrar a cábula no botão 🤔 - 15: - title: O fim! - text: Clique no 'próximo passo' para começar a programar com a Hedy! -teacher: - steps: - 6: - text: Aqui encontra uma documentação mais extensa com dicas e truques sobre como utilizar a Hedy na sala de aula. diff --git a/content/tutorials/ro.yaml b/content/tutorials/ro.yaml deleted file mode 100644 index a63b7632235..00000000000 --- a/content/tutorials/ro.yaml +++ /dev/null @@ -1,70 +0,0 @@ -intro: - steps: - 1: - title: Bine ai venit la Hedy! - text: In acest tutorial îți vom explica pas-cu-pas toate caracteristicile Hedy. - 2: - title: Editorul de program - text: In această fereastră vei scrie programul, încearcă să tastezi ceva în spațiile subliniate! - 3: - title: Fereastra de afișare a rezultatului - text: Rezultatul programului executat va fi afișat aici, tocmai ai creat acest pas! - 4: - title: Butonul de rulare - text: Cu acest buton poți rula programul! Vrei să facem o încercare în pasul următor? - 5: - title: Încearcă! - text: Rulează programul, când ai terminat apasă 'pasul următor'. - 6: - title: Citește programul cu voce tare - text: Puteți alege o voce de sub butonul de rulare; programul va fi citit cu voce tare. - 7: - title: Rulează și ascultă - text: Alege o voce din meniul de mai jos și rulează programul din nou ca să poți auzi programul citit cu voce tare. - 8: - title: Către nivelul următor - text: În momentul în care înțelegi totul și ai exersat îndeajuns, poți continua cu nivelul următor. Când nivelul trecut există, vei găsi un buton cu ajutorul căruia te poți întoarce. - 9: - title: Explicarea nivelului - text: Prima secțiune conține mereu explicația nivelului. Noile comenzi pentru fiecare nivel sunt mereu explicate aici. - 10: - title: Aventuri - text: Celelalte secțiuni conțin aventuri care pot fi programate pentru fiecare nivel. Încep cu cele mai ușoare către cele mai dificile. - 11: - title: Puzzle - text: Crezi că înțelegi nivelul bine? Incearcă puzzleurile! Vei primi linii de program în ordine greșita, încearcă sa le așezi în ordine corectă. - 12: - title: Test - text: La finalul fiecărui nivel poți iniția testul. În acest fel poți verifica dacă ai înțeles totul. - 13: - title: Salvare și impărtășire - text: Poți salva și împărtăși toate programele pe care le creezi cu alți Hedy utilizatori. - 14: - title: Foaie de trișare - text: Dacă ai uitat o comandă poți folosi foia de trișare. Pe aceasta foie găsești o listă care conține comenzile folosite în nivelul curent. - 15: - title: Sfârșit! - text: Apasă pe 'nivelul următor' ca să începi programarea cu Hedy! -teacher: - steps: - 1: - title: Bine ai venit la Hedy! - text: În acest exemplu vom explica pas cu pas toate caracteristicile prezente în Hedy. - 2: - title: Managementul de clasă - text: Ca și profesor poți crea clase și invita studenți sau ii poți lăsa să participe printr-un link. Poți verifica programele lor și face statistici. - 3: - title: Personalizează clasele - text: Poți personaliza clasele de exemplu prin a ascunde anumite niveluri sau prin a le activa la un anumit moment. - 4: - title: Creare de aventuri - text: 'Poți crea aventurile tale și le poți utiliza ca și temă pentru studenții tăi. Crează-le aici și adaugă-le clasei tale în secțiunea numită: personalizarea clasei.' - 5: - title: Creare de conturi - text: Poți crea conturi multiple dintr-o dată, trebuie doar să introduci un nume de utilizator și o parolă. Poți de asemenea să adaugi direct aceste conturi clasei tale. - 6: - title: Documentația Hedy - text: Aici găsești o documentație extensivă cu tot feluri de sugestii despre cum poți folosi Hedy în clasă. - 7: - title: Sfârsit! - text: Apasă pe 'pasul următor' ca să începi ca și profesor la Hedy! diff --git a/content/tutorials/ru.yaml b/content/tutorials/ru.yaml deleted file mode 100644 index 8706c90e98c..00000000000 --- a/content/tutorials/ru.yaml +++ /dev/null @@ -1,70 +0,0 @@ -intro: - steps: - 1: - title: Добро пожаловать в Хеди! - text: В этом руководстве мы объясним все возможности Hedy шаг за шагом. - 2: - title: Редактор кода - text: В этом окне вы пишете весь код, попробуйте набрать что-нибудь на месте подчеркиваний! - 3: - title: Окно вывода - text: Результат выполненного вами кода будет показан здесь, вы только что создали это! - 4: - title: Кнопка запуска - text: С помощью этой кнопки вы можете запустить свою программу! Попробуем это сделать в следующем шаге? - 5: - title: Попробуйте! - text: Запустите программу, нажмите "следующий шаг", когда закончите. - 6: - title: Прочитайте вслух свою программу - text: Выберите голос под кнопкой запуска, чтобы ваша программа была прочитана вслух. - 7: - title: Запустите и слушайте - text: Выберите голос из выпадающего меню и запустите свою программу снова, чтобы услышать, как она читается вслух. - 8: - title: На следующий уровень - text: Если вы считаете, что все поняли и достаточно попрактиковались, вы можете перейти к следующему уровню. Если предыдущий уровень уже пройден, рядом с ним будет кнопка для возврата назад. - 9: - title: Объяснение уровня - text: Первая вкладка всегда содержит объяснение уровня. На каждом уровне здесь будут объясняться новые команды. - 10: - title: Приключения - text: На других вкладках находятся приключения, которые вы можете закодировать для каждого уровня. Они идут от легкого к сложному. - 11: - title: Головоломки - text: Думаете, вы хорошо понимаете уровень? Попробуйте решить головоломки! Вы получаете строки кода в неправильном порядке, исправьте порядок, чтобы программа заработала. - 12: - title: Викторина - text: В конце каждого уровня вы можете пройти тест. Так вы сможете проверить, все ли вы поняли. - 13: - title: Сохранение и обмен - text: Вы можете сохранять все созданные вами программы и делиться ими с другими пользователями Hedy. - 14: - title: Шпаргалка - text: Если вы забыли команду, вы всегда можете воспользоваться шпаргалкой. Он показывает список всех команд, которые вы можете использовать на текущем уровне. Шпаргалку можно найти по кнопке 🤔 - 15: - title: Конец! - text: Нажмите на "следующий шаг", чтобы действительно начать кодировать с Хеди! -teacher: - steps: - 1: - title: Добро пожаловать в Hedy! - text: В этом руководстве мы объясним все возможности Hedy шаг за шагом. - 2: - title: Управление классом - text: Как учитель вы можете создавать классы и приглашать учеников или давать им возможность присоединиться к классу через ссылку. Вы можете просматривать программы и статистику всех своих учеников. - 3: - title: Настроить классы - text: Вы можете настроить занятия, скрыв определенные уровни и/или приключения, а также сделав их доступными в определенную дату. - 4: - title: Создание приключений - text: Вы можете создавать свои собственные приключения и использовать их в качестве заданий для своих учеников. Создайте их здесь и добавьте их в свои классы в разделе настройки класса. - 5: - title: Создание аккаунтов - text: Вы можете создать сразу несколько учетных записей, указав только имя пользователя и пароль. Вы также можете напрямую добавить эти учетные записи в один из своих классов. - 6: - title: Документация Hedy - text: Здесь вы найдете более подробную документацию с советами и подсказками по использованию Hedy в учебном классе. - 7: - title: Конец! - text: Нажмите на "следующий шаг", чтобы начать работу в качестве преподавателя Hedy! diff --git a/content/tutorials/sl.yaml b/content/tutorials/sl.yaml deleted file mode 100644 index 07a1e77e899..00000000000 --- a/content/tutorials/sl.yaml +++ /dev/null @@ -1,70 +0,0 @@ -intro: - steps: - 1: - title: Dobrodošli v Hedy! - text: V tem priročniku bomo korak za korakom razložili vse funkcije programa Hedy. - 2: - title: Urejevalnik kode - text: V to oknu vpisujete vso kodo, poskusite vnesti nekaj na mesto podčrtajev! - 3: - title: Okno za izpis - text: Rezultat kode, ki jo boste izvedli, bo prikazan tukaj, to ste pravkar ustvarili! - 4: - title: Gumb za zagon - text: S tem gumbom lahko zaženete svoj program! Ali ga bomo preizkusili v naslednjem koraku? - 5: - title: Preizkusite ga! - text: Zaženite program in po končanem delu kliknite "naslednji korak". - 6: - title: Preberite svoj program na glas - text: Izberite glas pod gumbom za zagon, če želite, da se vaš program prebere na glas. - 7: - title: Poženi in poslušaj - text: V spustnem meniju izberite glas in ponovno zaženite program, da ga slišite prebranega na glas. - 8: - title: Na naslednjo stopnjo - text: Ko menite, da ste vse razumeli in dovolj vadili, lahko nadaljujete z naslednjo stopnjo. Če je na voljo tudi prejšnja stopnja, je poleg nje gumb za vrnitev nazaj. - 9: - title: Razlaga stopnje - text: Prvi zavihek vedno vsebuje razlago stopnje. Na vsaki stopnji bodo razloženi novi ukazi. - 10: - title: Dogodivščine - text: Drugi zavihki vsebujejo dogodivščine, ki jih lahko programirate za vsako stopnjo. Prehajajo od lahkih do težkih. - 11: - title: Uganke - text: Ali menite, da dobro razumete raven? Preizkusite uganke! Vrstice kode so v napačnem vrstnem redu, popravite vrstni red, da se program zažene. - 12: - title: Kviz - text: Na koncu vsake stopnje lahko opravite kviz. Tako lahko preverite, ali ste vse razumeli. - 13: - title: Shranjevanje in deljenje - text: Vse ustvarjene programe lahko shranite in delite z drugimi uporabniki programa Hedy. - 14: - title: Plonkič - text: Če ste kakšen ukaz pozabili, lahko vedno uporabite plonkič. Na njem je prikazan seznam vseh ukazov, ki jih lahko uporabite v trenutni stopnji. Plonkič najdete na gumbu 🤔 - 15: - title: Konec! - text: Kliknite "naslednji korak" in začnite programirati s Hedy! -teacher: - steps: - 1: - title: Dobrodošli v Hedy! - text: V tem priročniku bomo korak za korakom razložili vse funkcije programa Hedy. - 2: - title: Upravljanje razreda - text: Kot učitelj lahko ustvarite razrede in povabite učence in jim omogočite, da se pridružijo preko povezave. Ogledate si lahko programe in statistične podatke vseh svojih učencev. - 3: - title: Prilagodite razrede - text: Razrede lahko prilagodite tako, da skrijete določene stopnje in/ali dogodivščine ter jih omogočite na določen datum. - 4: - title: Ustvarjanje dogodivščin - text: Ustvarite lahko lastne dogodivščine in jih uporabite kot naloge za učence. Ustvarite jih tukaj in jih dodajte svojim razredom v razdelku Prilagajanje razreda. - 5: - title: Ustvarjanje računov - text: Naenkrat lahko ustvarite več računov, pri čemer morate navesti le uporabniško ime in geslo. Te račune lahko dodate tudi neposred v enem od svojih razredov. - 6: - title: Dokumentacija Hedy - text: Tu najdete obsežnejšo dokumentacijo z nasveti in triki za uporabo programa Hedy v razredu. - 7: - title: Konec! - text: Kliknite na "naslednji korak" in začnite kot učitelj Hedy! diff --git a/content/tutorials/sq.yaml b/content/tutorials/sq.yaml deleted file mode 100644 index 9789b19890f..00000000000 --- a/content/tutorials/sq.yaml +++ /dev/null @@ -1,68 +0,0 @@ -intro: - steps: - 1: - title: Mirë se vini në Hedy! - text: Në këtë tutorial do t'i shpjegojmë të gjitha veçoritë e Hedy hap pas hapi. - 2: - title: Redaktori i kodit - text: Në këtë dritare ju shkruani të gjithë kodin, provoni të shkruani diçka në vendin e nënvizave! - 3: - title: Dritarja e daljes - text: Rezultati i kodit që ekzekutoni do të shfaqet këtu, ju sapo e keni krijuar këtë! - 4: - title: Butoni i ekzekutimit - text: Me këtë buton mund të ekzekutoni programin tuaj! A do ta provojmë në hapin tjetër? - 5: - title: Provoje! - text: Ekzekutoni programin, klikoni 'hapin tjetër' kur të keni mbaruar. - 6: - title: Lexoni me zë të lartë programin tuaj - text: Zgjidhni një zë nën butonin e ekzekutimit për të lejuar që programi juaj të lexohet me zë të lartë. - 7: - title: Ekzekutojeni & dëgjoni - text: Zgjidhni një zë nga menyja rënëse dhe ekzekutoni përsëri programin tuaj për ta dëgjuar atë duke u lexuar me zë të lartë. - 8: - text: Kur mendoni se kuptoni gjithçka dhe keni praktikuar mjaftueshëm, mund të vazhdoni në nivelin tjetër. Kur ka edhe një nivel të mëparshëm, pranë tij do të ketë një buton për t'u kthyer prapa. - 9: - title: Shpjegimi i nivelit - text: Skeda e parë përmban gjithmonë shpjegimin e nivelit. Në çdo nivel komandat e reja do të shpjegohen këtu. - 10: - text: Skedat e tjera përmbajnë aventura, të cilat mund t'i kodoni për çdo nivel. Ata shkojnë nga e lehtë në të vështirë. - 11: - title: Enigma - text: Mendoni se e kuptoni mjaft mirë nivelin? Provoni enigmat! Ju merrni linjat e kodit në rendin e gabuar, rregulloni rendin për të ekzekutuar programin. - 12: - title: Kuiz - text: Në fund të çdo niveli mund të bëni kuizin. Në këtë mënyrë ju mund të verifikoni nëse kuptoni gjithçka. - 13: - title: Ruajtja dhe shpërndarja - text: Ju mund të ruani dhe ndani të gjitha programet tuaja të krijuara me përdoruesit e tjerë të Hedy. - 14: - title: Fletë udhëzimesh - text: Nëse keni harruar një komandë, mund të përdorni gjithmonë fletën e udhëzimit. Në të keni një listë të të gjitha komandave që mund të përdorni në nivelin aktual. - 15: - title: Fund! - text: Klikoni në 'hapin tjetër' për të filluar me të vërtetë kodimin me Hedy! -teacher: - steps: - 1: - title: Mirë se vini në Hedy! - text: Në këtë tutorial do t'i shpjegojmë të gjitha veçoritë e Hedy hap pas hapi. - 2: - title: Menaxhimi i klasës - text: Si mësues, ju mund të krijoni klasa dhe të ftoni studentë ose t'i lini ata të bashkohen përmes një lidhjeje. Ju mund të shikoni programet dhe statistikat e të gjithë studentëve tuaj. - 3: - title: Personalizo klasat - text: Ju mund t'i personalizoni klasat duke fshehur nivele specifike dhe/ose aventura, si dhe duke i vënë ato të disponueshme në një datë të caktuar. - 4: - title: Krijimi i aventurave - text: Ju mund të krijoni aventurat tuaja dhe t'i përdorni ato si detyra për studentët tuaj. Krijoni ato këtu dhe shtojini në klasat tuaja në pjesën e personalizimit të klasës. - 5: - title: Krijimi i llogarive - text: Ju mund të krijoni disa llogari në të njëjtën kohë, vetëm duhet të jepni një emër përdoruesi dhe fjalëkalim. Ju gjithashtu mund t'i shtoni drejtpërdrejt këto llogari në një nga klasat tuaja. - 6: - title: Dokumentacioni i Hedy - text: Këtu do të gjeni një dokumentacion më të gjerë me këshilla dhe truket se si të përdorni Hedy në klasë. - 7: - title: Fund! - text: Klikoni në 'hapin tjetër' për të filluar si mësues Hedy! diff --git a/content/tutorials/sr.yaml b/content/tutorials/sr.yaml deleted file mode 100644 index e2a3904f132..00000000000 --- a/content/tutorials/sr.yaml +++ /dev/null @@ -1,70 +0,0 @@ -intro: - steps: - 1: - title: Добродошли у Хеди! - text: У овом упутству ћемо објаснити све Hedy функције корак по корак. - 2: - title: Уређивач кода - text: У овом прозору пишете сав код, покушајте да откуцате нешто на месту подвучених линија! - 3: - title: Прозор за излаз - text: Резултат кода који извршите биће приказан овде, управо сте ово креирали! - 4: - title: Дугме за покретање - text: Помоћу овог дугмета можете покренути свој програм! Да ли да пробамо у следећем кораку? - 5: - title: Пробајте! - text: Покрените програм, кликните на 'следећи корак' када завршите. - 6: - title: Прочитајте наглас свој програм - text: Изаберите глас испод дугмета за покретање да би ваш програм био прочитан наглас. - 7: - title: Покрени и слушај - text: Изаберите глас из падајућег менија и поново покрените свој програм да бисте га чули како се чита наглас. - 8: - title: На следећи ниво - text: Када мислите да сте све разумели и довољно вежбали, можете наставити са следећим нивоом. Када постоји и претходни ниво, поред њега ће бити дугме за повратак. - 9: - title: Објашњење нивоа - text: Прва картица увек садржи објашњење нивоа. У сваком нивоу нове команде ће бити објашњене овде. - 10: - title: Авантуре - text: Остале картице садрже авантуре, које можете кодирати за сваки ниво. Иду од лаког ка тешком. - 11: - title: Слагалице - text: Мислите да добро разумете ниво? Пробајте слагалице! Добијате линије кода у погрешном редоследу, поправите редослед да бисте покренули програм. - 12: - title: Квиз - text: На крају сваког нивоа можете урадити квиз. На овај начин можете проверити да ли сте све разумели. - 13: - title: Чување и дељење - text: Можете сачувати и делити све своје креиране програме са другим Hedy корисницима. - 14: - title: Варалица - text: Ако сте заборавили команду, увек можете користити варалицу. Она приказује листу свих команди које можете користити у тренутном нивоу. Варалицу можете пронаћи на дугмету 🤔 - 15: - title: Крај! - text: Кликните на 'следећи корак' да заиста почнете са кодирањем у Hedy! -teacher: - steps: - 1: - title: Добродошли у Хеди! - text: У овом упутству ћемо објаснити све Hedy функције корак по корак. - 2: - title: Управљање одељењем - text: Као наставник можете креирати одељења и позвати ученике или им дозволити да се придруже путем везе. Можете прегледати програме и статистике свих својих ученика. - 3: - title: Прилагођавање одељења - text: Можете прилагодити одељења скривањем одређених нивоа и/или авантура, као и омогућавањем њихове доступности на одређени датум. - 4: - title: Креирање авантура - text: Можете креирати своје авантуре и користити их као задатке за своје ученике. Креирајте их овде и додајте их својим одељењима у секцији за прилагођавање одељења. - 5: - title: Креирање налога - text: Можете креирати више налога одједном, потребно је само да унесете корисничко име и лозинку. Такође можете директно додати ове налоге у једно од својих одељења. - 6: - title: Hedy документација - text: Овде ћете пронаћи опширнију документацију са саветима и триковима о томе како користити Hedy у учионици. - 7: - title: Крај! - text: Кликните на 'следећи корак' да започнете као Hedy наставник! diff --git a/content/tutorials/sv.yaml b/content/tutorials/sv.yaml deleted file mode 100644 index 8d077902176..00000000000 --- a/content/tutorials/sv.yaml +++ /dev/null @@ -1,69 +0,0 @@ -intro: - steps: - 1: - title: Välkommen till Hedy! - text: I den här handledningen förklarar vi alla Hedys funktioner steg för steg. - 2: - title: Kodeditorn - text: I det här fönstret skriver du all kod; försök att skriva något på platsen för understrecket! - 3: - title: Utskriftsfönstret - text: Resultatet av koden du kör kommer att visas här – du skapade detta precis! - 4: - title: Knappen Kör - text: Med den här knappen kan du köra ditt program! Ska vi prova det i nästa steg? - 5: - title: Testa! - text: Kör programmet och klicka på 'nästa steg' när du är klar. - 6: - title: Läs upp ditt program - text: Välj en röst under kör-knappen för att ditt program ska läsas upp. - 7: - title: Kör och lyssna - text: Välj en röst i rullgardinsmenyn och kör programmet igen för att få det uppläst. - 8: - title: Till nästa nivå - text: När du tycker att du förstår allt och har övat tillräckligt kan du fortsätta med nästa nivå. När det också finns en tidigare nivå kommer det att finnas en knapp bredvid den för att gå tillbaka. - 9: - title: Nivåbeskrivning - text: Den första fliken innehåller alltid beskrivningen av nivån. På varje nivå förklaras nya kommandon här. - 10: - title: Äventyr - text: De andra flikarna innehåller äventyr som du kan koda för varje nivå. De går från lätt till svårt. - 11: - title: Pussel - text: Tycker du att du förstår nivån ganska bra? Prova pusslen! Du får kodrader i fel ordning – fixa ordningen för att få igång programmet. - 12: - text: I slutet av varje nivå kan du göra ett quiz. På så sätt kan du kolla om du har förstått allt. - 13: - title: Att spara och dela - text: Du kan spara och dela alla program du gjort med andra Hedy-användare. - 14: - title: Lathund - text: Om du har glömt ett kommando kan du alltid använda lathunden. Den visar en lista över alla kommandon som du kan använda på den aktuella nivån. Du kommer till lathunden med knapen 🤔 - 15: - title: Slut! - text: Klicka på 'nästa steg' för att börja koda på riktigt med Hedy! -teacher: - steps: - 1: - title: Välkommen till Hedy! - text: I den här handledningen förklarar vi alla Hedys funktioner steg för steg. - 2: - title: Klasshantering - text: Som lärare kan du skapa klasser och bjuda in elever eller låta dem gå med via en länk. Du kan se alla dina elevers program och statistik. - 3: - title: Anpassa klasser - text: Du kan anpassa klasser genom att dölja vissa nivåer och/eller äventyr och göra dem tillgängliga ett specifikt datum. - 4: - title: Skapa äventyr - text: Du kan skapa dina egna äventyr och använda dem som uppgifter för dina elever. Skapa dem här och lägg till dem i dina klasser i avsnittet Klassanpassning. - 5: - title: Att skapa konton - text: Du kan skapa flera konton samtidigt och behöver bara ange ett användarnamn och lösenord. Du kan också direkt lägga till dessa konton till en av dina klasser. - 6: - title: Dokumentation för Hedy - text: Här kan du hitta mer utförlig dokumentation med tips på hur du kan använda Hedy i klassrummet. - 7: - title: Slut! - text: Klicka på 'nästa steg' för att komma igång som Hedy-lärare! diff --git a/content/tutorials/sw.yaml b/content/tutorials/sw.yaml deleted file mode 100644 index 0826b2921ac..00000000000 --- a/content/tutorials/sw.yaml +++ /dev/null @@ -1,18 +0,0 @@ -intro: - steps: - 11: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 12: - title: Saving & sharing - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: The end! - text: Click on 'next step' to really start coding with Hedy! -teacher: - steps: - 6: - text: Here you find a more extensive documentation with tips and tricks on how to use Hedy in the class room. diff --git a/content/tutorials/ta.yaml b/content/tutorials/ta.yaml deleted file mode 100644 index 0967ef424bc..00000000000 --- a/content/tutorials/ta.yaml +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/content/tutorials/te.yaml b/content/tutorials/te.yaml deleted file mode 100644 index 0967ef424bc..00000000000 --- a/content/tutorials/te.yaml +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/content/tutorials/th.yaml b/content/tutorials/th.yaml deleted file mode 100644 index 4204c33ccad..00000000000 --- a/content/tutorials/th.yaml +++ /dev/null @@ -1,70 +0,0 @@ -intro: - steps: - 1: - title: ยินดีต้อนรับสู่เฮดี้! - text: ในส่วนนี้ เราจะอธิบายว่าเฮดี้ทำอะไรได้บ้าง - 2: - title: ส่วนที่ไว้พิมพ์โค้ด - text: หน้านี้จะใช้เขียนโค้ดทั้งหมด ลองพิมพ์อะไรเล่นๆดูตรงที่มีเครื่องหมาย _ ดูสิ! - 3: - title: ส่วนแสดงผลลัพธ์ - text: ผลลัพธ์ของโค้ดที่เขียนไป จะมาอยู่ตรงนี้ และนี่คือสิ่งที่คุณสร้างขึ้นมา! - 4: - title: ปุ่มรัน - text: ปุ่มนี้จะใช้เพื่อรันโปรแกรมที่เขียนไป! ลองกดดูมั้ย? - 5: - title: ลองกดดูสิ! - text: ลองรันโปรแกรมดู เสร็จแล้วกดปุ่ม "ถัดไป" - 6: - title: ฟังผลลัพธ์ของโปรแกรม - text: เลือกเสียงที่อยากได้ยิน แล้วกดรัน เพื่อให้ได้ยินเสียงด้วย - 7: - title: รัน และ ฟัง - text: เลือกเสียงที่ต้องการจากลิสท์ แล้วรันโปรแกรมอีกทีเพื่อให้ได้ยินเสียงพูด - 8: - title: ไปเลเวลถัดไป - text: ถ้าเข้าใจทุกอย่างแล้ว คุณสามารถไปที่เลเวลถัดไปได้เลย และถ้าอยากกลับไปเลเวลก่อนหน้าก็ทำได้ด้วยปุ่มข้างๆกัน - 9: - title: คำอธิบายของเลเวล - text: แถบแรกจะเป็นคำอธิบายของเลเวล ในแต่ละเลเวลจะมีคำสั่งใหม่ๆ ซึ่งจะอธิบายในส่วนนี้ - 10: - title: โหมดผจญภัย - text: ในแถบอื่นๆจะเป็นโหมดผจญภัย ที่คุณสามารถใช้คำสั่งที่เรียนในเลเวลนั้นๆในการแก้ปัญหา โดยจะเรียงจากง่ายไปยาก - 11: - title: โจทย์ปัญหา - text: ถ้าคุณเข้าใจเลเวลนี้ดีแล้ว ลองแก้โจทย์ปัญหาดูสิ ในโหมดนี้จะมีโค้ดมาให้ แต่สลับบรรทัดกัน คุณต้องสลับบรรทัดกลับให้โปรแกรมรันให้ถูกต้อง - 12: - title: ควิซ - text: ในทุกๆท้ายเลเวล จะมีควิซ เพื่อให้คุณสามารถเช็คความเข้าใจของตัวเองได้ - 13: - title: การเซฟ และ แชร์ - text: คุณสามารถเซฟ / บันทึก และก็แชร์โค้ดที่คุณเขียนให้กับคนอื่นๆที่ใช้เฮดี้ได้ - 14: - title: สูตรโกง - text: ถ้าคุณลืมว่าคำสั่งไหนทำอะไร คุณสามารถเปิดสูตรโกงได้ (ไม่นับว่าโกงจริงๆ) ในนั้นจะมีลิสท์ว่าคำสั่งไหนที่ใช้ได้บ้างในเลเวลนั้นๆ - 15: - title: จบแล้ว! - text: กดที่ 'ต่อไป' เพื่อเริ่มเขียนโค้ดจริงๆกับเฮดี้! -teacher: - steps: - 1: - title: ยินดีต้อนรับสู่ Hedy! - text: ในส่วนนี้ เราจะอธิบายวิธีการใช้งานเฮดี้ - 2: - title: การจัดการคลาสเรียน - text: คุณครูสามารถสร้างคลาสเรียน และเชิญนักเรียนเข้ามาในห้องผ่านลิ้งค์เชิญ โดยครูจะสามารถดูโปรแกรมที่นักเรียนเขียน และพัฒนาการของนักเรียนได้ - 3: - title: การปรับแต่งห้องเรียน - text: ครูสามารถปรับแต่งห้องเรียนโดยการเลือกบางเลเวลไว้ เอาบางเลเวลออก รวมถึงปิดโหมดผจญภัยในบางด่าน หรือเปิดเฉพาะในช่วงวันที่กำหนดก็ได้ - 4: - title: สร้างด่านผจญภัย - text: ครูสามารถสร้างด่านผจญภัยใหม่เอง เพื่อใช้เป็นการบ้านก็ได้ ถ้าอยากสร้างสามารถทำได้ตรงนี้ และเพิ่มด่านนั้นๆในระบบปรับแต่งห้องเรียน - 5: - title: สร้างแอคเค้าท์ / บัญชีผู้ใช้ - text: คุณสามารถสร้างแอคเค้าท์หลายๆอันในทีเดียวได้เลย แค่ต้องใส่ชื่อผู้ใช้กับรหัสผ่านของแต่ละบัญชี และเพิ่มบัญชีทั้งหมดเข้าไปในคลาสที่สร้างไว้ - 6: - title: คู่มือการใช้งาน Hedy - text: ตรงนี้จะเป็นคู่มือที่ละเอียดขึ้น รวมถึงข้อเสนอ ทริคต่างๆในการใช้งานคลาสเรียนของ Hedy - 7: - title: จบแล้ว! - text: กดที่ "ต่อไป" เพื่อเริ่มเป็นคุณครูในแบบของเฮดี้! diff --git a/content/tutorials/tl.yaml b/content/tutorials/tl.yaml deleted file mode 100644 index 0967ef424bc..00000000000 --- a/content/tutorials/tl.yaml +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/content/tutorials/tn.yaml b/content/tutorials/tn.yaml deleted file mode 100644 index 0826b2921ac..00000000000 --- a/content/tutorials/tn.yaml +++ /dev/null @@ -1,18 +0,0 @@ -intro: - steps: - 11: - title: Quiz - text: At the end of each level you can make the quiz. This way you can verify if you understand everything. - 12: - title: Saving & sharing - text: You can save and share all your created programs with other Hedy users. - 13: - title: Cheatsheet - text: If you forgot a command you can always use the cheatsheet. It shows a list of all commands you can use in the current level. - 14: - title: The end! - text: Click on 'next step' to really start coding with Hedy! -teacher: - steps: - 6: - text: Here you find a more extensive documentation with tips and tricks on how to use Hedy in the class room. diff --git a/content/tutorials/tr.yaml b/content/tutorials/tr.yaml deleted file mode 100644 index 82178966b41..00000000000 --- a/content/tutorials/tr.yaml +++ /dev/null @@ -1,70 +0,0 @@ -intro: - steps: - 1: - title: Hedy'e hoş geldiniz! - text: Bu öğreticide, Hedy'nin bütün özelliklerini adım-adım açıklayacağız. - 2: - title: Kod düzenleyici - text: Bütün kodları bu pencerede yazacaksınız; alt çizginin yerine bir şeyler yazmayı deneyin! - 3: - title: Çıktı penceresi - text: Çalıştırdığınız kodun çıktısı burada görünecek; bunu az önce siz yazdınız! - 4: - title: Çalıştırma düğmesi - text: Programınızı bu düğme ile çalıştırabilirsiniz! Sonraki adımda bunu bir deneyelim mi? - 5: - title: Şimdi bir dene! - text: Programı çalıştırın, işiniz bitince 'Sonraki Adım" düğmesine tıklayın. - 6: - title: Programını sesli oku - text: Programını sesli okumayı sağlamak için çalıştırma düğmesinin altından bir ses seçin. - 7: - title: Çalıştır & Dinle - text: Açılır menüden bir ses seçin ve sesli okunduğunu duymak için programı yeniden çalıştırın. - 8: - title: Sonraki seviyeye - text: Her şeyi anladığınızı düşündüğünüzde ve yeterince pratik yaptığınızda, sonraki seviyeye geçebilirsiniz. Eğer önceki bir seviye varsa, bunun yanında geri dönmek için bir düğme de bulunacaktır. - 9: - title: Seviye açıklaması - text: İlk sekme her zaman seviye açıklamasını içerir. Her seviyede, yeni komutlar burada açıklanacaktır. - 10: - title: Maceralar - text: Diğer sekmeler, her seviyede kodlayabileceğiniz maceraları içerir. Kolaydan zora doğru gidiyorlar. - 11: - title: Yap-bozlar - text: Bir seviyeyi oldukça iyi anladığınızı mı düşünüyorsunuz? Yap-bozları deneyin! Yanlış sıralanmış kod satırları alacaksınız,ve programı çalıştırmak için bunları doğru sıralamanız gerekecek. - 12: - title: Kısa sınav - text: Her seviyenin sonunda kısa sınavlara girebilirsiniz. Bu şekilde her şeyi anladığınızı doğrulayabilirsiniz. - 13: - title: Kaydetmek & paylaşmak - text: Oluşturduğunuz bütün programları kaydedebilir ve diğer tüm Hedy kullanıcıları ile paylaşabilirsiniz. - 14: - title: Kopya kağıdı - text: Bir komutu unuttuysanız, her zaman kopya kağıdı sayfasını kullanabilirsiniz. Mevcut seviyede kullanabileceğiniz tüm komutların bir listesini gösterir. Kopya kağıdını 🤔 düğmesinde bulabilirsiniz - 15: - title: Son! - text: Hedy ile kodlamaya başlamak için 'sonraki adım'a tıklayın! -teacher: - steps: - 1: - title: Hedy'e hoş geldiniz! - text: Bu öğreticide, Hedy'nin bütün özelliklerini adım-adım açıklayacağız. - 2: - title: Sınıf yönetimi - text: Bir öğretmen olarak, sınıflar oluşturabilir ve öğrencileri davet edebilir veya bir bağlantı yoluyla katılmalarını sağlayabilirsiniz. Öğrencilerinizin programlarını ve istatistiklerini görebilirsiniz. - 3: - title: Sınıfları özelleştirmek - text: Belirli seviyeleri ve/veya maceraları gizleyerek ya da belirli bir tarihte kullanılabilir yaparak sınıfları özelleştirebilirsiniz. - 4: - title: Maceralar oluşturmak - text: Kendi maceralarınızı oluşturabilir ve bunları öğrencilerinize ödev olarak verebilirsiniz. Bunları burada oluşturun ve sınıf özelleştirme bölümünden sınıflarınıza ekleyin. - 5: - title: Hesaplar oluşturmak - text: Tek seferde birden çok hesap oluşturabilirsiniz, sadece bir kullanıcı ismi ve şifresi vermeniz gerekecek. Ayrıca, bu hesapları doğrudan sınıflarınızdan birine ekleyebilirsiniz. - 6: - title: Hedy belgeleri - text: Burada, Hedy'yi sınıfta nasıl kullanacağınıza dair ipuçları ve püf noktaları içeren daha kapsamlı belgeleri bulacaksınız. - 7: - title: Son! - text: Bir Hedy öğretmeni olarak başlamak için 'sonraki adım'a tıklayın! diff --git a/content/tutorials/tutorials.schema.json b/content/tutorials/tutorials.schema.json deleted file mode 100644 index 7205220e12b..00000000000 --- a/content/tutorials/tutorials.schema.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "title": "JSON Schema for Client Messages", - "type": "object", - "additionalProperties": false, - "properties": { - "intro": { "$ref": "#/definitions/Tutorial" }, - "teacher": { "$ref": "#/definitions/Tutorial" } - }, - "required": ["intro", "teacher"], - "definitions": { - "Tutorial": { - "type": "object", - "additionalProperties": false, - "properties": { - "steps": { - "type": "object", - "patternProperties": { - "\\d+": { "$ref": "#/definitions/Step" } - } - } - } - }, - "Step": { - "type": "object", - "additionalProperties": false, - "properties": { - "title": { "type": "string" }, - "text": { "type": "string" } - }, - "required": ["title", "text"] - } - } -} - diff --git a/content/tutorials/uk.yaml b/content/tutorials/uk.yaml deleted file mode 100644 index 8ba3238afa2..00000000000 --- a/content/tutorials/uk.yaml +++ /dev/null @@ -1,70 +0,0 @@ -intro: - steps: - 1: - title: Вітаємо в Hedy! - text: В цьому посібнику ми крок-по-кроку пояснимо вам всі можливості Hedy. - 2: - title: Редактор тексту - text: Це вікно для того щоб писати в ньому весь код, спробуйте вставити щось замість підкреслень! - 3: - title: Вікно виводу - text: Результат виконаного коду буде показуватись тут, ви щойно створили це! - 4: - title: Кнопка пуску - text: Ця кнопка розпочинає програму! Спробуємо натиснути в наступному кроці? - 5: - title: Давай, натисни! - text: Розпочни програму, а коли закінчиш, натисни "наступний крок". - 6: - title: Прочитай свою програму в голос - text: Вибери голос внизу кнопки пуск щоб прочитати свою програму вголос. - 7: - title: Розпочни і послухай - text: Вибери голос з меню і розпочни програму знову щоб почути як вона працює. - 8: - title: До нового рівня - text: Якщо тобі здається, що ти все зрозумів і достатньо попрактикувався, можеш перейти до наступного рівня. Щоб повернутись до попереднього рівня, поруч буде кнопка і для цього. - 9: - title: Пояснення рівня - text: На першій вкладці у нас завжди пояснення рівня. Команди нових рівнів будуть пояснені тут. - 10: - title: Пригоди - text: В інших вкладках знаходяться пригоди які ти можеш програмувати для кожного рівня. Пригоди стають важчими просуваючись вправо по вкладках. - 11: - title: Головоломки - text: Думаєш ти вже достатньо розумієш цей рівень? Спробуй головоломки! В тебе будуть лінії коду у неправильному порядку, виправ його і розпочни програму. - 12: - title: Іспит - text: В кінці кожного рівня можеш скласти іспит. Таким чином ти зможеш перевірити своє розуміння теми. - 13: - title: Зберігання і поширення - text: Можеш зберегти і поширити всі свої програми з іншими користувачами Hedy. - 14: - title: Шпаргалка - text: Якщо ти забув команду, можеш скористатись шпаргалкою. На ній э список всіх команд які ти можеш використати на цьому рівні. Ти знайдеш підказку у кнопці 🤔 - 15: - title: Кінець! - text: Натисни 'наступний крок' і почни програмувати по справжньому! -teacher: - steps: - 1: - title: Вітаємо в Hedy! - text: В цьому посібнику ми крок-по-кроку пояснимо вам всі можливості Hedy. - 2: - title: Управління класами - text: Як вчитель ви можете створювати класи і запрошувати учнів через посилання. Ви можете спостерігати за програмами і статистикою ваших учнів. - 3: - title: Налаштування класів - text: Ви можете змінювати налаштування класів хочаючи деякі рівні і/або пригоди, а також роблячи їх доступними тільки в визначеному часі. - 4: - title: Створення пригод - text: Ви можете створити Ваші власні пригоди і використовувати їх як іспити для ваших учнів. Створіть їх тут і додайте до Вашого класу в його налаштуваннях. - 5: - title: Створення облікових записів - text: Ви можете створити декілька облікових записів одночасно впроваджуючи тільки назву користувача та пароль. Ви також можете додати ці облікові записи безпосередньо до Ваших класів. - 6: - title: Документація Hedy - text: Тут ви можете знайти докладнішу інформацію на рахунок того як використовувати Hedy в школі. - 7: - title: Кінець! - text: Натисніть 'наступний крок' щоб продовжити як вчитель Hedy! diff --git a/content/tutorials/ur.yaml b/content/tutorials/ur.yaml deleted file mode 100644 index b3b51c24394..00000000000 --- a/content/tutorials/ur.yaml +++ /dev/null @@ -1,8 +0,0 @@ -intro: - steps: - 1: - title: Hedy میں آپ کا استقبال ہے! - text: اس سبق میں ہم Hedy کی تمام خصوصیات کو مرحلہ وار بیان کریں گے۔ - 2: - title: کوڈ ایڈیٹر - text: اس ونڈو میں آپ تمام کوڈ لکھتے ہیں، انڈر سکور کی جگہ پر کچھ لکھنے کی کوشش کریں! diff --git a/content/tutorials/uz.yaml b/content/tutorials/uz.yaml deleted file mode 100644 index 0967ef424bc..00000000000 --- a/content/tutorials/uz.yaml +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/content/tutorials/vi.yaml b/content/tutorials/vi.yaml deleted file mode 100644 index 0b2603acba2..00000000000 --- a/content/tutorials/vi.yaml +++ /dev/null @@ -1,70 +0,0 @@ -intro: - steps: - 1: - title: Chào mừng đến với Hedy! - text: Trong bài hướng dẫn này chúng tôi sẽ giải thích từng bước các tính năng của Hedy. - 2: - title: Trình soạn thảo mã nguồn - text: Cửa sổ này là nơi bạn viết toàn bộ chương trình, hãy thử gõ gì đó vào vị trí của những dấu gạch dưới! - 3: - title: Cửa sổ đầu ra - text: Kết quả của đoạn chương trình mà bạn chạy sẽ xuất hiện ở đây. Bạn vừa tạo ra cái này đấy! - 4: - title: Nút chạy - text: Với nút này bạn có thể chạy chương trình đấy! Muốn thử dùng nó trong bước tiếp theo chứ? - 5: - title: Chạy thử thôi! - text: Chạy chương trình, nhấn vào "bước tiếp theo" khi bạn đã hoàn thành. - 6: - title: Đọc to chương trình của bạn - text: Chọn một giọng nói bên dưới nút chạy để nó đọc to chương trình của bạn. - 7: - title: Chạy và nghe - text: Chọn một giọng nói từ danh mục giọng nói và chạy chương trình lần nữa để nghe nó được đọc to. - 8: - title: Tới cấp độ tiếp theo - text: Khi bạn nghĩ rằng bạn đã hiểu mọi thứ và thực hành đủ, bạn có thể chuyển sang cấp độ tiếp theo. Nếu có cấp độ trước đó, sẽ có nút quay lại ở bên cạnh. - 9: - title: Giải thích về cấp độ - text: Tab đầu tiên luôn chứa lời giải thích về cấp độ. Trong mỗi cấp độ, các lệnh mới sẽ được giải thích tại đây. - 10: - title: Cuộc phiêu lưu - text: Các tab khác chứa các cuộc phiêu lưu (từ dễ đến khó). Tại đó bạn có thể lập trình ở mỗi cấp độ. - 11: - title: Câu đố - text: Nếu bạn nghĩ mình hiểu khá rõ về cấp độ, hãy thử các câu đố! Bạn sẽ nhận được các dòng lệnh theo thứ tự sai, hãy sắp xếp lại chúng để chương trình chạy được. - 12: - title: Trắc nghiệm - text: Ở cuối mỗi cấp độ, bạn có thể làm bài trắc nghiệm. Bằng cách này, bạn có thể kiểm chứng được mình có hiểu hết bài học hay không. - 13: - title: Lưu và chia sẻ - text: Bạn có thể lưu lại các chương trình đã viết và chia sẻ chúng với những người dùng Hedy khác. - 14: - title: Tờ hướng dẫn - text: Nếu bạn quên một câu lệnh, bạn có thể sử dụng tờ hướng dẫn. Bên trong tờ hướng dẫn có tất cả câu lệnh mà bạn có thể sử dụng ở cấp độ hiện tại. - 15: - title: Hoàn thành! - text: Nhấn vào "bước tiếp theo" để thực sự bắt đầu lập trình với Hedy! -teacher: - steps: - 1: - title: Chào mừng đến với Hedy! - text: Trong bài hướng dẫn này chúng tôi sẽ giải thích từng bước các tính năng của Hedy. - 2: - title: Quản lý lớp học - text: Với vai trò một giáo viên, bạn có thể tạo ra các lớp học và gửi link hoặc lời mời cho học sinh tham gia. Bạn có thể xem các chương trình và số liệu thống kê của các học sinh của bạn. - 3: - title: Tùy chỉnh lớp học - text: Bạn có thể tùy chỉnh các lớp học bằng cách ẩn các cấp độ và/hoặc các cuộc phiêu lưu nhất định, cũng như hiển thị chúng vào một ngày cụ thể. - 4: - title: Tạo cuộc phiêu lưu - text: Bạn có thể tạo ra những cuộc phiêu lưu của riêng mình và sử dụng chúng làm bài tập cho học sinh. Tạo ra chúng ở đây và thêm chúng vào các lớp của bạn trong phần tùy chỉnh lớp học. - 5: - title: Tạo tài khoản - text: Chỉ cần cung cấp tên người dùng và mật khẩu, bạn có thể tạo ra nhiều tài khoản trong một lần tạo. Bạn cũng có thể thêm trực tiếp những tài khoản ấy vào một trong những lớp học của bạn. - 6: - title: Tài liệu Hedy - text: Tại đây bạn có thể tìm thấy tài liệu đầy đủ cùng những mẹo hữu ích trong việc sử dụng Hedy trong lớp học. - 7: - title: Hoàn thành! - text: Nhấn vào "bước tiếp theo" để bắt đầu với vai trò là một giáo viên Hedy! diff --git a/content/tutorials/zh_Hans.yaml b/content/tutorials/zh_Hans.yaml deleted file mode 100644 index 4d1f5415b65..00000000000 --- a/content/tutorials/zh_Hans.yaml +++ /dev/null @@ -1,70 +0,0 @@ -intro: - steps: - 1: - title: 欢迎来到海蒂! - text: 在本教程中,我们将逐步解释所有 Hedy 功能。 - 2: - title: 代码编辑器 - text: 在这个窗口中,你写了所有的代码,试着在下划线的地方输入一些东西! - 3: - title: 输出窗口 - text: 你执行的代码的结果将显示在这里,你刚刚创建了这个! - 4: - title: “运行”按钮 - text: 使用此按钮,您可以运行您的程序!我们下一步要试一试吗? - 5: - title: 试试看吧! - text: 运行程序,完成后单击“下一步”。 - 6: - title: 大声朗读您的程序 - text: 选择运行按钮下方的一种语音选项,大声朗读您的程序。 - 7: - title: 运行并收听 - text: 从下拉菜单中选择一个声音,然后再次运行程序以听到大声朗读的声音。 - 8: - title: 到下一个等级 - text: 当你认为你理解了一切并且已经练习了足够的时间时,你就可以继续下一个级别。当还有上一个级别时,旁边会有一个按钮可以返回。 - 9: - title: 级别说明 - text: 第一个选项卡始终包含级别说明。在每个级别中,将在此处解释新命令。 - 10: - title: 冒险 - text: 其他选项卡包含冒险,您可以为每个级别编写代码。他们从容易到困难。 - 11: - title: 谜题 - text: 你认为你很了解这个级别吗?试试谜题吧!您以错误的顺序获得代码行,修复顺序以使程序运行。 - 12: - title: 测验 - text: 在每个级别结束时,您可以进行测验。这样,您可以验证自己是否理解了所有内容。 - 13: - title: 保存和共享 - text: 您可以保存并与其他 Hedy 用户共享您创建的所有程序。 - 14: - title: 备忘单 - text: 如果您忘记了命令,您可以随时使用备忘单。它显示了您可以在当前级别中使用的所有命令的列表。您可以在按钮上🤔找到备忘单 - 15: - title: 结束! - text: 单击“下一步”,真正开始使用Hedy进行编码! -teacher: - steps: - 1: - title: 欢迎来到海蒂! - text: 在本教程中,我们将逐步解释所有 Hedy 功能。 - 2: - title: 班级管理 - text: 作为教师,您可以创建班级并邀请学生或让他们通过链接加入。您可以查看所有学生的课程和统计数据。 - 3: - title: 自定义课程 - text: 您可以通过隐藏特定关卡和/或冒险以及在特定日期提供它们来自定义课程。 - 4: - title: 创造冒险 - text: 您可以创建自己的冒险并将其用作学生的作业。在此处创建它们,并将它们添加到班级的“自定义课程”中。 - 5: - title: 创建帐户 - text: 您可以一次创建多个帐户,只需提供用户名和密码。您也可以直接将这些帐户添加到您的某个班级中。 - 6: - title: 海蒂文档 - text: 在这里,您可以找到更多的文档,其中包含如何在课堂上使用Hedy的提示和技巧。 - 7: - title: 结束! - text: 点击“下一步”,开始成为海蒂老师! diff --git a/content/tutorials/zh_Hant.yaml b/content/tutorials/zh_Hant.yaml deleted file mode 100644 index 0967ef424bc..00000000000 --- a/content/tutorials/zh_Hant.yaml +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/content/tutorials/pa_PK.yaml b/content/workbooks/be.yaml similarity index 100% rename from content/tutorials/pa_PK.yaml rename to content/workbooks/be.yaml diff --git a/content/tutorials/pap.yaml b/content/workbooks/my.yaml similarity index 100% rename from content/tutorials/pap.yaml rename to content/workbooks/my.yaml diff --git a/grammars/keywords-be.lark b/grammars/keywords-be.lark new file mode 100644 index 00000000000..78416af8f90 --- /dev/null +++ b/grammars/keywords-be.lark @@ -0,0 +1,54 @@ +_DEFINE: ("define" | "define") _SPACE? +_CALL: ("call" | "call") _SPACE? +_WITH: ("with" | "with") _SPACE? +_DEF: ("def" | "def") _SPACE? +_RETURN: ("return" | "return") _SPACE? +_PRINT: ("print" | "print") _SPACE? +_PLAY: ("play" | "play") _SPACE +_ASK: ("ask" | "ask") +_ECHO: ("echo" | "echo") _SPACE? +_FORWARD: ("forward" | "forward") _SPACE? +_TURN: ("turn" | "turn") _SPACE? +left: ("left" | "left") _SPACE? +right: ("right" | "right") _SPACE? +black: ("black" | "black") _SPACE? +blue: ("blue" | "blue") _SPACE? +brown: ("brown" | "brown") _SPACE? +gray: ("gray" | "gray") _SPACE? +green: ("green" | "green") _SPACE? +orange: ("orange" | "orange") _SPACE? +pink: ("pink" | "pink") _SPACE? +purple: ("purple" | "purple") _SPACE? +red: ("red" | "red") _SPACE? +white: ("white" | "white") _SPACE? +yellow: ("yellow" | "yellow") _SPACE? +_IS: _SPACE ("is" | "is") _SPACE +_STANDALONE_IS: ("is" | "is") +_SLEEP: ("sleep" | "sleep") _SPACE? +_ADD_LIST: ("add" | "add") _SPACE +_TO_LIST: _SPACE? ("to" | "to") +_REMOVE: ("remove" | "remove") _SPACE +_FROM: _SPACE? ("from" | "from") +_AT: _SPACE ("at" | "at") _SPACE +random: ("random" | "random") _SPACE? +_IN: _SPACE ("in" | "in") _SPACE +_NOT_IN: _SPACE ("not in" | "not in") _SPACE +_IF: ("if" | "if") _SPACE +_ELSE: "else" | "else" +_AND: _SPACE? ("and" | "and") _SPACE +_REPEAT: ("repeat" | "repeat") _SPACE +_TIMES: _SPACE ("times" | "times") +_FOR: ("for" | "for") _SPACE +_RANGE: ("range" | "range") _SPACE? +_TO: _SPACE ("to" | "to") _SPACE +_STEP: "step" | "step" +_ELIF: _SPACE? ("elif" | "elif") _SPACE +_INPUT: ("input" | "input") +_OR: _SPACE? ("or" | "or") _SPACE +_WHILE: ("while" | "while") _SPACE +_LENGTH: "length" | "length" +_COLOR : ("color" | "color") _SPACE? +_PRESSED: ("pressed" | "pressed") _SPACE? +clear: ("clear" | "clear") _SPACE? +TRUE: ("true" | "True" | "true" | "True") _SPACE? +FALSE: ("false" | "False" | "false" | "False") _SPACE? diff --git a/grammars/keywords-it.lark b/grammars/keywords-it.lark index f938cbd8d17..d86d82a3df3 100644 --- a/grammars/keywords-it.lark +++ b/grammars/keywords-it.lark @@ -1,4 +1,4 @@ -_DEFINE: ("define" | "define") _SPACE? +_DEFINE: ("definire" | "define") _SPACE? _CALL: ("chiama" | "call") _SPACE? _WITH: ("con" | "with") _SPACE? _DEF: ("def" | "def") _SPACE? diff --git a/grammars/keywords-jbo.lark b/grammars/keywords-jbo.lark index 25d52f33eb3..78416af8f90 100644 --- a/grammars/keywords-jbo.lark +++ b/grammars/keywords-jbo.lark @@ -1,19 +1,19 @@ -_DEFINE: ("smudu'a" | "define") _SPACE? +_DEFINE: ("define" | "define") _SPACE? _CALL: ("call" | "call") _SPACE? _WITH: ("with" | "with") _SPACE? -_DEF: ("ca'e" | "def") _SPACE? +_DEF: ("def" | "def") _SPACE? _RETURN: ("return" | "return") _SPACE? _PRINT: ("print" | "print") _SPACE? _PLAY: ("play" | "play") _SPACE -_ASK: ("retsku" | "ask") -_ECHO: ("mirsku" | "echo") _SPACE? +_ASK: ("ask" | "ask") +_ECHO: ("echo" | "echo") _SPACE? _FORWARD: ("forward" | "forward") _SPACE? _TURN: ("turn" | "turn") _SPACE? left: ("left" | "left") _SPACE? right: ("right" | "right") _SPACE? -black: ("xekri" | "black") _SPACE? -blue: ("blanu" | "blue") _SPACE? -brown: ("bunre" | "brown") _SPACE? +black: ("black" | "black") _SPACE? +blue: ("blue" | "blue") _SPACE? +brown: ("brown" | "brown") _SPACE? gray: ("gray" | "gray") _SPACE? green: ("green" | "green") _SPACE? orange: ("orange" | "orange") _SPACE? @@ -29,26 +29,26 @@ _ADD_LIST: ("add" | "add") _SPACE _TO_LIST: _SPACE? ("to" | "to") _REMOVE: ("remove" | "remove") _SPACE _FROM: _SPACE? ("from" | "from") -_AT: _SPACE ("bu'u" | "at") _SPACE +_AT: _SPACE ("at" | "at") _SPACE random: ("random" | "random") _SPACE? _IN: _SPACE ("in" | "in") _SPACE _NOT_IN: _SPACE ("not in" | "not in") _SPACE _IF: ("if" | "if") _SPACE -_ELSE: "va'onai" | "else" -_AND: _SPACE? ("je" | "and") _SPACE +_ELSE: "else" | "else" +_AND: _SPACE? ("and" | "and") _SPACE _REPEAT: ("repeat" | "repeat") _SPACE _TIMES: _SPACE ("times" | "times") _FOR: ("for" | "for") _SPACE _RANGE: ("range" | "range") _SPACE? _TO: _SPACE ("to" | "to") _SPACE _STEP: "step" | "step" -_ELIF: _SPACE? ("va'onaiva'o" | "elif") _SPACE +_ELIF: _SPACE? ("elif" | "elif") _SPACE _INPUT: ("input" | "input") _OR: _SPACE? ("or" | "or") _SPACE _WHILE: ("while" | "while") _SPACE _LENGTH: "length" | "length" -_COLOR : ("skari" | "color") _SPACE? +_COLOR : ("color" | "color") _SPACE? _PRESSED: ("pressed" | "pressed") _SPACE? clear: ("clear" | "clear") _SPACE? TRUE: ("true" | "True" | "true" | "True") _SPACE? -FALSE: ("jitfa" | "Jitfa" | "false" | "False") _SPACE? +FALSE: ("false" | "False" | "false" | "False") _SPACE? diff --git a/grammars/keywords-my.lark b/grammars/keywords-my.lark new file mode 100644 index 00000000000..5116b6e02dd --- /dev/null +++ b/grammars/keywords-my.lark @@ -0,0 +1,54 @@ +_DEFINE: ("သတ်မှတ်" | "define") _SPACE? +_CALL: ("ခေါ်" | "call") _SPACE? +_WITH: ("နဲ့" | "with") _SPACE? +_DEF: ("သတ်မှတ်" | "def") _SPACE? +_RETURN: ("ပြန်သွား" | "return") _SPACE? +_PRINT: ("စာရိုက်" | "print") _SPACE? +_PLAY: ("အသံထုတ်" | "play") _SPACE +_ASK: ("မေး" | "ask") +_ECHO: ("လိုက်ဆို" | "echo") _SPACE? +_FORWARD: ("ရှေ့ဆက်" | "forward") _SPACE? +_TURN: ("လှည့်" | "turn") _SPACE? +left: ("ဘယ်" | "left") _SPACE? +right: ("ညာ" | "right") _SPACE? +black: ("အနက်ရောင်" | "black") _SPACE? +blue: ("အပြာရောင်" | "blue") _SPACE? +brown: ("အညိုရောင်" | "brown") _SPACE? +gray: ("မီးခိုးရောင်" | "gray") _SPACE? +green: ("အစိမ်းရောင်" | "green") _SPACE? +orange: ("လိမ္မော်ရောင်" | "orange") _SPACE? +pink: ("ပန်းရောင်" | "pink") _SPACE? +purple: ("ခရမ်းရောင်" | "purple") _SPACE? +red: ("အနီရောင်" | "red") _SPACE? +white: ("အဖြူရောင်" | "white") _SPACE? +yellow: ("အဝါရောင်" | "yellow") _SPACE? +_IS: _SPACE ("ဖြစ်တယ်" | "is") _SPACE +_STANDALONE_IS: ("ဖြစ်တယ်" | "is") +_SLEEP: ("အိပ်" | "sleep") _SPACE? +_ADD_LIST: ("ပေါင်း" | "add") _SPACE +_TO_LIST: _SPACE? ("စာရင်းသို့" | "to") +_REMOVE: ("ဖယ်ရှား" | "remove") _SPACE +_FROM: _SPACE? ("မှ" | "from") +_AT: _SPACE ("မှာ" | "at") _SPACE +random: ("ကျပမ်း" | "random") _SPACE? +_IN: _SPACE ("အထဲမှာ" | "in") _SPACE +_NOT_IN: _SPACE ("မပါရင်" | "not in") _SPACE +_IF: ("ဖြစ်ရင်" | "if") _SPACE +_ELSE: "ဒီဟာဖြစ်ရင်" | "else" +_AND: _SPACE? ("နှင့်" | "and") _SPACE +_REPEAT: ("ထပ်လုပ်" | "repeat") _SPACE +_TIMES: _SPACE ("အမြှောက်" | "times") +_FOR: ("အတွက်" | "for") _SPACE +_RANGE: ("အကြား" | "range") _SPACE? +_TO: _SPACE ("သို့" | "to") _SPACE +_STEP: "အဆင့်" | "step" +_ELIF: _SPACE? ("ဒါဖြစ်ရင်" | "elif") _SPACE +_INPUT: ("အဝင်" | "input") +_OR: _SPACE? ("သို့မဟုတ်" | "or") _SPACE +_WHILE: ("ဖြစ်နေရင်" | "while") _SPACE +_LENGTH: "အရှည်" | "length" +_COLOR : ("အရောင်" | "color") _SPACE? +_PRESSED: ("ဖိခဲ့" | "pressed") _SPACE? +clear: ("ဖျက်" | "clear") _SPACE? +TRUE: ("မှန်" | "မှန်" | "true" | "True") _SPACE? +FALSE: ("မှား" | "မှား" | "false" | "False") _SPACE? diff --git a/grammars/keywords-nl.lark b/grammars/keywords-nl.lark index 8441d5df9bb..27789cf7d59 100644 --- a/grammars/keywords-nl.lark +++ b/grammars/keywords-nl.lark @@ -29,7 +29,7 @@ _ADD_LIST: ("voeg" | "add") _SPACE _TO_LIST: _SPACE? ("toe aan" | "to") _REMOVE: ("verwijder" | "remove") _SPACE _FROM: _SPACE? ("uit" | "from") -_AT: _SPACE ("op" | "at") _SPACE +_AT: _SPACE ("kies" | "at") _SPACE random: ("willekeurig" | "random") _SPACE? _IN: _SPACE ("in" | "in") _SPACE _NOT_IN: _SPACE ("niet in" | "not in") _SPACE diff --git a/hedy_content.py b/hedy_content.py index 8f1807e1e5c..573742ce336 100644 --- a/hedy_content.py +++ b/hedy_content.py @@ -689,29 +689,6 @@ def get_quiz_data_for_level(self, level, keyword_lang): return {} -class Tutorials(StructuredDataFile): - # Want to parse the keywords only once, they can be cached -> perform this - # action on server start - def __init__(self, language): - self.language = language - super().__init__(f'{content_dir}/tutorials/{self.language}.yaml') - - def get_tutorial_for_level(self, level, keyword_lang="en"): - if level not in ["intro", "teacher"]: - level = int(level) - return deep_translate_keywords(self.file.get(level, None), keyword_lang) - - def get_tutorial_for_level_step(self, level, step, keyword_lang="en"): - if level not in ["intro", "teacher"]: - level = int(level) - return deep_translate_keywords(self.file.get(level, {}).get('steps', {}).get(step), keyword_lang) - - -class NoSuchTutorial: - def get_tutorial_for_level(self, level, keyword_lang): - return {} - - class Slides(StructuredDataFile): def __init__(self, language): self.language = language diff --git a/highlighting/highlighting-trad.json b/highlighting/highlighting-trad.json index 008a42b654a..c07a9f78bda 100644 --- a/highlighting/highlighting-trad.json +++ b/highlighting/highlighting-trad.json @@ -58,6 +58,65 @@ "yellow": "ـ*اـ*صـ*فـ*رـ*|yellow", "DIGIT": "0٠1١2٢3٣4٤5٥6٦7٧8٨9٩" }, + "be": { + "False": "False", + "True": "True", + "add": "add", + "and": "and", + "ask": "ask", + "at": "at", + "black": "black", + "blue": "blue", + "brown": "brown", + "call": "call", + "clear": "clear", + "color": "color", + "comma": ",", + "def": "def", + "define": "define", + "echo": "echo", + "elif": "elif", + "else": "else", + "false": "false", + "for": "for", + "forward": "forward", + "from": "from", + "gray": "gray", + "green": "green", + "if": "if", + "in": "in", + "input": "input", + "is": "is", + "left": "left", + "length": "length", + "not_in": "not in", + "or": "or", + "orange": "orange", + "pink": "pink", + "play": "play", + "pressed": "pressed", + "print": "print", + "purple": "purple", + "random": "random", + "range": "range", + "red": "red", + "remove": "remove", + "repeat": "repeat", + "return": "return", + "right": "right", + "sleep": "sleep", + "step": "step", + "times": "times", + "to": "to", + "to_list": "to", + "true": "true", + "turn": "turn", + "while": "while", + "white": "white", + "with": "with", + "yellow": "yellow", + "DIGIT": "0123456789" + }, "bg": { "False": "Невярно|False", "True": "Вярно|True", @@ -1548,7 +1607,7 @@ "color": "colore|color", "comma": ",", "def": "def", - "define": "define", + "define": "definire|define", "echo": "eco|echo", "elif": "altrimenti se|elif", "else": "altrimenti|else", @@ -1652,25 +1711,25 @@ "DIGIT": "00112233445566778899" }, "jbo": { - "False": "Jitfa|False", + "False": "False", "True": "True", "add": "add", - "and": "je|and", - "ask": "retsku|ask", - "at": "bu'u|at", - "black": "xekri|black", - "blue": "blanu|blue", - "brown": "bunre|brown", + "and": "and", + "ask": "ask", + "at": "at", + "black": "black", + "blue": "blue", + "brown": "brown", "call": "call", "clear": "clear", - "color": "skari|color", + "color": "color", "comma": ",", - "def": "ca'e|def", - "define": "smudu'a|define", - "echo": "mirsku|echo", - "elif": "va'onaiva'o|elif", - "else": "va'onai|else", - "false": "jitfa|false", + "def": "def", + "define": "define", + "echo": "echo", + "elif": "elif", + "else": "else", + "false": "false", "for": "for", "forward": "forward", "from": "from", @@ -2182,6 +2241,65 @@ "yellow": "yellow", "DIGIT": "0123456789" }, + "my": { + "False": "မှား|False", + "True": "မှန်|True", + "add": "ပေါင်း|add", + "and": "နှင့်|and", + "ask": "မေး|ask", + "at": "မှာ|at", + "black": "အနက်ရောင်|black", + "blue": "အပြာရောင်|blue", + "brown": "အညိုရောင်|brown", + "call": "ခေါ်|call", + "clear": "ဖျက်|clear", + "color": "အရောင်|color", + "comma": "၊|,", + "def": "သတ်မှတ်|def", + "define": "သတ်မှတ်|define", + "echo": "လိုက်ဆို|echo", + "elif": "ဒါဖြစ်ရင်|elif", + "else": "ဒီဟာဖြစ်ရင်|else", + "false": "မှား|false", + "for": "အတွက်|for", + "forward": "ရှေ့ဆက်|forward", + "from": "မှ|from", + "gray": "မီးခိုးရောင်|gray", + "green": "အစိမ်းရောင်|green", + "if": "ဖြစ်ရင်|if", + "in": "အထဲမှာ|in", + "input": "အဝင်|input", + "is": "ဖြစ်တယ်|is", + "left": "ဘယ်|left", + "length": "အရှည်|length", + "not_in": "မပါရင်|not in", + "or": "သို့မဟုတ်|or", + "orange": "လိမ္မော်ရောင်|orange", + "pink": "ပန်းရောင်|pink", + "play": "အသံထုတ်|play", + "pressed": "ဖိခဲ့|pressed", + "print": "စာရိုက်|print", + "purple": "ခရမ်းရောင်|purple", + "random": "ကျပမ်း|random", + "range": "အကြား|range", + "red": "အနီရောင်|red", + "remove": "ဖယ်ရှား|remove", + "repeat": "ထပ်လုပ်|repeat", + "return": "ပြန်သွား|return", + "right": "ညာ|right", + "sleep": "အိပ်|sleep", + "step": "အဆင့်|step", + "times": "အမြှောက်|times", + "to": "သို့|to", + "to_list": "စာရင်းသို့|to", + "true": "မှန်|true", + "turn": "လှည့်|turn", + "while": "ဖြစ်နေရင်|while", + "white": "အဖြူရောင်|white", + "with": "နဲ့|with", + "yellow": "အဝါရောင်|yellow", + "DIGIT": "0၀1၁2၂3၃4၄5၅6၆7၇8၈9၉" + }, "nb_NO": { "False": "False", "True": "True", @@ -2306,7 +2424,7 @@ "add": "voeg|add", "and": "en|and", "ask": "vraag|ask", - "at": "op|at", + "at": "kies|at", "black": "zwart|black", "blue": "blauw|blue", "brown": "bruin|brown", diff --git a/messages.pot b/messages.pot index 5446a1e8038..79ca9c627d8 100644 --- a/messages.pot +++ b/messages.pot @@ -818,9 +818,6 @@ msgstr "" msgid "invalid_teacher_invitation_code" msgstr "" -msgid "invalid_tutorial_step" -msgstr "" - msgid "invalid_username_password" msgstr "" @@ -1046,9 +1043,6 @@ msgstr "" msgid "next_page" msgstr "" -msgid "next_step_tutorial" -msgstr "" - msgid "next_student" msgstr "" @@ -1679,12 +1673,6 @@ msgstr "" msgid "surname" msgstr "" -msgid "survey" -msgstr "" - -msgid "survey_completed" -msgstr "" - msgid "survey_skip" msgstr "" @@ -1808,18 +1796,6 @@ msgstr "" msgid "turned_into_teacher" msgstr "" -msgid "tutorial" -msgstr "" - -msgid "tutorial_code_snippet" -msgstr "" - -msgid "tutorial_message_not_found" -msgstr "" - -msgid "tutorial_title_not_found" -msgstr "" - msgid "unauthorized" msgstr "" diff --git a/package-lock.json b/package-lock.json index 5d2eb711fb5..a0ff5ba8868 100644 --- a/package-lock.json +++ b/package-lock.json @@ -43,7 +43,7 @@ "@types/jquery": "^3.5.6", "@types/sortablejs": "^1.15.1", "cypress": "^13.17.0", - "esbuild": "^0.13.15", + "esbuild": "^0.25.0", "jqueryui": "^1.11.1", "minify": "^7.0.1", "nyc": "^15.1.0", @@ -2776,6 +2776,431 @@ "ms": "^2.1.1" } }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz", + "integrity": "sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.0.tgz", + "integrity": "sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.0.tgz", + "integrity": "sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.0.tgz", + "integrity": "sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.0.tgz", + "integrity": "sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.0.tgz", + "integrity": "sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.0.tgz", + "integrity": "sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.0.tgz", + "integrity": "sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.0.tgz", + "integrity": "sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.0.tgz", + "integrity": "sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.0.tgz", + "integrity": "sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.0.tgz", + "integrity": "sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.0.tgz", + "integrity": "sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.0.tgz", + "integrity": "sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.0.tgz", + "integrity": "sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.0.tgz", + "integrity": "sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz", + "integrity": "sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.0.tgz", + "integrity": "sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.0.tgz", + "integrity": "sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.0.tgz", + "integrity": "sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.0.tgz", + "integrity": "sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.0.tgz", + "integrity": "sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.0.tgz", + "integrity": "sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.0.tgz", + "integrity": "sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.0.tgz", + "integrity": "sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -4529,324 +4954,115 @@ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dependencies": { "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", - "dev": true, - "peer": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-module-lexer": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", - "dev": true, - "peer": true - }, - "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" - }, - "node_modules/esbuild": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.15.tgz", - "integrity": "sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "optionalDependencies": { - "esbuild-android-arm64": "0.13.15", - "esbuild-darwin-64": "0.13.15", - "esbuild-darwin-arm64": "0.13.15", - "esbuild-freebsd-64": "0.13.15", - "esbuild-freebsd-arm64": "0.13.15", - "esbuild-linux-32": "0.13.15", - "esbuild-linux-64": "0.13.15", - "esbuild-linux-arm": "0.13.15", - "esbuild-linux-arm64": "0.13.15", - "esbuild-linux-mips64le": "0.13.15", - "esbuild-linux-ppc64le": "0.13.15", - "esbuild-netbsd-64": "0.13.15", - "esbuild-openbsd-64": "0.13.15", - "esbuild-sunos-64": "0.13.15", - "esbuild-windows-32": "0.13.15", - "esbuild-windows-64": "0.13.15", - "esbuild-windows-arm64": "0.13.15" - } - }, - "node_modules/esbuild-android-arm64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.15.tgz", - "integrity": "sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/esbuild-darwin-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.15.tgz", - "integrity": "sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/esbuild-darwin-arm64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.15.tgz", - "integrity": "sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/esbuild-freebsd-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.15.tgz", - "integrity": "sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/esbuild-freebsd-arm64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.15.tgz", - "integrity": "sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/esbuild-linux-32": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.15.tgz", - "integrity": "sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/esbuild-linux-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.15.tgz", - "integrity": "sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/esbuild-linux-arm": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.15.tgz", - "integrity": "sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/esbuild-linux-arm64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.15.tgz", - "integrity": "sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] + } }, - "node_modules/esbuild-linux-mips64le": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.15.tgz", - "integrity": "sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==", - "cpu": [ - "mips64el" - ], + "node_modules/enhanced-resolve": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, - "optional": true, - "os": [ - "linux" - ] + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } }, - "node_modules/esbuild-linux-ppc64le": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.15.tgz", - "integrity": "sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } }, - "node_modules/esbuild-netbsd-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.15.tgz", - "integrity": "sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ] + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } }, - "node_modules/esbuild-openbsd-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.15.tgz", - "integrity": "sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ] + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } }, - "node_modules/esbuild-sunos-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.15.tgz", - "integrity": "sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==", - "cpu": [ - "x64" - ], + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", "dev": true, - "optional": true, - "os": [ - "sunos" - ] + "peer": true }, - "node_modules/esbuild-windows-32": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.15.tgz", - "integrity": "sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } }, - "node_modules/esbuild-windows-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.15.tgz", - "integrity": "sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" }, - "node_modules/esbuild-windows-arm64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.15.tgz", - "integrity": "sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==", - "cpu": [ - "arm64" - ], + "node_modules/esbuild": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.0.tgz", + "integrity": "sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==", "dev": true, - "optional": true, - "os": [ - "win32" - ] + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.0", + "@esbuild/android-arm": "0.25.0", + "@esbuild/android-arm64": "0.25.0", + "@esbuild/android-x64": "0.25.0", + "@esbuild/darwin-arm64": "0.25.0", + "@esbuild/darwin-x64": "0.25.0", + "@esbuild/freebsd-arm64": "0.25.0", + "@esbuild/freebsd-x64": "0.25.0", + "@esbuild/linux-arm": "0.25.0", + "@esbuild/linux-arm64": "0.25.0", + "@esbuild/linux-ia32": "0.25.0", + "@esbuild/linux-loong64": "0.25.0", + "@esbuild/linux-mips64el": "0.25.0", + "@esbuild/linux-ppc64": "0.25.0", + "@esbuild/linux-riscv64": "0.25.0", + "@esbuild/linux-s390x": "0.25.0", + "@esbuild/linux-x64": "0.25.0", + "@esbuild/netbsd-arm64": "0.25.0", + "@esbuild/netbsd-x64": "0.25.0", + "@esbuild/openbsd-arm64": "0.25.0", + "@esbuild/openbsd-x64": "0.25.0", + "@esbuild/sunos-x64": "0.25.0", + "@esbuild/win32-arm64": "0.25.0", + "@esbuild/win32-ia32": "0.25.0", + "@esbuild/win32-x64": "0.25.0" + } }, "node_modules/escalade": { "version": "3.2.0", @@ -10572,6 +10788,181 @@ } } }, + "@esbuild/aix-ppc64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz", + "integrity": "sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.0.tgz", + "integrity": "sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.0.tgz", + "integrity": "sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.0.tgz", + "integrity": "sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.0.tgz", + "integrity": "sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.0.tgz", + "integrity": "sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.0.tgz", + "integrity": "sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.0.tgz", + "integrity": "sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.0.tgz", + "integrity": "sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.0.tgz", + "integrity": "sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.0.tgz", + "integrity": "sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.0.tgz", + "integrity": "sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.0.tgz", + "integrity": "sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.0.tgz", + "integrity": "sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.0.tgz", + "integrity": "sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.0.tgz", + "integrity": "sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz", + "integrity": "sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-arm64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.0.tgz", + "integrity": "sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.0.tgz", + "integrity": "sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-arm64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.0.tgz", + "integrity": "sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.0.tgz", + "integrity": "sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.0.tgz", + "integrity": "sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.0.tgz", + "integrity": "sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.0.tgz", + "integrity": "sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.0.tgz", + "integrity": "sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==", + "dev": true, + "optional": true + }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -11975,148 +12366,37 @@ "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" }, "esbuild": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.15.tgz", - "integrity": "sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw==", - "dev": true, - "requires": { - "esbuild-android-arm64": "0.13.15", - "esbuild-darwin-64": "0.13.15", - "esbuild-darwin-arm64": "0.13.15", - "esbuild-freebsd-64": "0.13.15", - "esbuild-freebsd-arm64": "0.13.15", - "esbuild-linux-32": "0.13.15", - "esbuild-linux-64": "0.13.15", - "esbuild-linux-arm": "0.13.15", - "esbuild-linux-arm64": "0.13.15", - "esbuild-linux-mips64le": "0.13.15", - "esbuild-linux-ppc64le": "0.13.15", - "esbuild-netbsd-64": "0.13.15", - "esbuild-openbsd-64": "0.13.15", - "esbuild-sunos-64": "0.13.15", - "esbuild-windows-32": "0.13.15", - "esbuild-windows-64": "0.13.15", - "esbuild-windows-arm64": "0.13.15" - } - }, - "esbuild-android-arm64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.15.tgz", - "integrity": "sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==", - "dev": true, - "optional": true - }, - "esbuild-darwin-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.15.tgz", - "integrity": "sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==", - "dev": true, - "optional": true - }, - "esbuild-darwin-arm64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.15.tgz", - "integrity": "sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.15.tgz", - "integrity": "sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-arm64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.15.tgz", - "integrity": "sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==", - "dev": true, - "optional": true - }, - "esbuild-linux-32": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.15.tgz", - "integrity": "sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==", - "dev": true, - "optional": true - }, - "esbuild-linux-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.15.tgz", - "integrity": "sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.15.tgz", - "integrity": "sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.15.tgz", - "integrity": "sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==", - "dev": true, - "optional": true - }, - "esbuild-linux-mips64le": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.15.tgz", - "integrity": "sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==", - "dev": true, - "optional": true - }, - "esbuild-linux-ppc64le": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.15.tgz", - "integrity": "sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==", - "dev": true, - "optional": true - }, - "esbuild-netbsd-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.15.tgz", - "integrity": "sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==", - "dev": true, - "optional": true - }, - "esbuild-openbsd-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.15.tgz", - "integrity": "sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==", - "dev": true, - "optional": true - }, - "esbuild-sunos-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.15.tgz", - "integrity": "sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==", - "dev": true, - "optional": true - }, - "esbuild-windows-32": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.15.tgz", - "integrity": "sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==", - "dev": true, - "optional": true - }, - "esbuild-windows-64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.15.tgz", - "integrity": "sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==", - "dev": true, - "optional": true - }, - "esbuild-windows-arm64": { - "version": "0.13.15", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.15.tgz", - "integrity": "sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==", - "dev": true, - "optional": true + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.0.tgz", + "integrity": "sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.25.0", + "@esbuild/android-arm": "0.25.0", + "@esbuild/android-arm64": "0.25.0", + "@esbuild/android-x64": "0.25.0", + "@esbuild/darwin-arm64": "0.25.0", + "@esbuild/darwin-x64": "0.25.0", + "@esbuild/freebsd-arm64": "0.25.0", + "@esbuild/freebsd-x64": "0.25.0", + "@esbuild/linux-arm": "0.25.0", + "@esbuild/linux-arm64": "0.25.0", + "@esbuild/linux-ia32": "0.25.0", + "@esbuild/linux-loong64": "0.25.0", + "@esbuild/linux-mips64el": "0.25.0", + "@esbuild/linux-ppc64": "0.25.0", + "@esbuild/linux-riscv64": "0.25.0", + "@esbuild/linux-s390x": "0.25.0", + "@esbuild/linux-x64": "0.25.0", + "@esbuild/netbsd-arm64": "0.25.0", + "@esbuild/netbsd-x64": "0.25.0", + "@esbuild/openbsd-arm64": "0.25.0", + "@esbuild/openbsd-x64": "0.25.0", + "@esbuild/sunos-x64": "0.25.0", + "@esbuild/win32-arm64": "0.25.0", + "@esbuild/win32-ia32": "0.25.0", + "@esbuild/win32-x64": "0.25.0" + } }, "escalade": { "version": "3.2.0", diff --git a/package.json b/package.json index 54facd894cf..90331941ea8 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "@types/jquery": "^3.5.6", "@types/sortablejs": "^1.15.1", "cypress": "^13.17.0", - "esbuild": "^0.13.15", + "esbuild": "^0.25.0", "jqueryui": "^1.11.1", "minify": "^7.0.1", "nyc": "^15.1.0", diff --git a/static/css/generated.full.css b/static/css/generated.full.css index b634a49d4e5..2b7d34873bd 100644 --- a/static/css/generated.full.css +++ b/static/css/generated.full.css @@ -346968,14 +346968,6 @@ div[class^="ace_incorrect_hedy_code"] { margin-bottom: 0px; } - .md\:ml-4 { - margin-left: 1rem; - } - - .md\:mr-4 { - margin-right: 1rem; - } - .md\:block { display: block; } diff --git a/static/js/app.ts b/static/js/app.ts index fe3a236145c..a4bfe47c029 100644 --- a/static/js/app.ts +++ b/static/js/app.ts @@ -6,7 +6,6 @@ import { SwitchTabsEvent, Tabs } from './tabs'; import { MessageKey } from './message-translations'; import { turtle_prefix, pressed_prefix, normal_prefix, music_prefix } from './pythonPrefixes' import { Adventure, isServerSaveInfo, ServerSaveInfo } from './types'; -import { startIntroTutorial } from './tutorials/tutorial'; import { get_parsons_code, initializeParsons, loadParsonsExercise } from './parsons'; import { checkNow, onElementBecomesVisible } from './browser-helpers/on-element-becomes-visible'; import { @@ -188,10 +187,9 @@ export interface InitializeCodePageOptions { readonly level: number; readonly lang: string; readonly adventures: Adventure[]; - readonly start_tutorial?: boolean; readonly initial_tab: string; readonly current_user_name?: string; - readonly suppress_save_and_load_for_slides?: boolean; + readonly suppress_save_and_load?: boolean; readonly enforce_developers_mode?: boolean; } @@ -255,7 +253,7 @@ export function initializeCodePage(options: InitializeCodePageOptions) { currentTab = ev.newTab; const adventure = theAdventures[currentTab]; - if (!options.suppress_save_and_load_for_slides) { + if (!options.suppress_save_and_load) { // Load initial code from local storage, if available const programFromLs = localLoad(currentTabLsKey()); // if we are in raw (used in slides) we don't want to load from local storage, we always want to show startcode @@ -272,17 +270,13 @@ export function initializeCodePage(options: InitializeCodePageOptions) { initializeSpeech(options.page === 'tryit'); - if (options.start_tutorial) { - startIntroTutorial(); - } - // Share/hand in modals $('#share_program_button').on('click', () => $('#share_modal').show()); $('#hand_in_button').on('click', () => $('#hand_in_modal').show()); initializeShareProgramButtons(); initializeHandInButton(); - if (options.suppress_save_and_load_for_slides) { + if (options.suppress_save_and_load) { disableAutomaticSaving(); } @@ -559,7 +553,6 @@ export async function runit(level: number, lang: string, raw: boolean, disabled_ lang: lang, skip_faulty: false, is_debug: run_type === 'debug', - tutorial: $('#code_output').hasClass("z-40"), // if so -> tutorial mode read_aloud : !!$('#speak_dropdown').val(), adventure_name: adventureName, short_name: adventure ? adventure.short_name : undefined, diff --git a/static/js/appbundle.js b/static/js/appbundle.js index 344cc8d8448..172e402d82e 100644 --- a/static/js/appbundle.js +++ b/static/js/appbundle.js @@ -1,3 +1,4 @@ +"use strict"; var hedyApp = (() => { var __create = Object.create; var __defProp = Object.defineProperty; @@ -9,6 +10,10 @@ var hedyApp = (() => { var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; + var __knownSymbol = (name2, symbol) => (symbol = Symbol[name2]) ? symbol : Symbol.for("Symbol." + name2); + var __typeError = (msg) => { + throw TypeError(msg); + }; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a, b) => { for (var prop in b || (b = {})) @@ -22,13 +27,11 @@ var hedyApp = (() => { return a; }; var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); - var __markAsModule = (target) => __defProp(target, "__esModule", { value: true }); var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) { - if (typeof require !== "undefined") - return require.apply(this, arguments); - throw new Error('Dynamic require of "' + x + '" is not supported'); + if (typeof require !== "undefined") return require.apply(this, arguments); + throw Error('Dynamic require of "' + x + '" is not supported'); }); var __objRest = (source, exclude) => { var target = {}; @@ -43,50 +46,80 @@ var hedyApp = (() => { return target; }; var __commonJS = (cb2, mod) => function __require2() { - return mod || (0, cb2[Object.keys(cb2)[0]])((mod = { exports: {} }).exports, mod), mod.exports; + return mod || (0, cb2[__getOwnPropNames(cb2)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all) => { - __markAsModule(target); for (var name2 in all) __defProp(target, name2, { get: all[name2], enumerable: true }); }; - var __reExport = (target, module, desc) => { - if (module && typeof module === "object" || typeof module === "function") { - for (let key of __getOwnPropNames(module)) - if (!__hasOwnProp.call(target, key) && key !== "default") - __defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable }); + var __copyProps = (to10, from17, except, desc) => { + if (from17 && typeof from17 === "object" || typeof from17 === "function") { + for (let key of __getOwnPropNames(from17)) + if (!__hasOwnProp.call(to10, key) && key !== except) + __defProp(to10, key, { get: () => from17[key], enumerable: !(desc = __getOwnPropDesc(from17, key)) || desc.enumerable }); + } + return to10; + }; + var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod + )); + var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + var __await = function(promise, isYieldStar) { + this[0] = promise; + this[1] = isYieldStar; + }; + var __yieldStar = (value) => { + var obj = value[__knownSymbol("asyncIterator")], isAwait = false, method, it = {}; + if (obj == null) { + obj = value[__knownSymbol("iterator")](); + method = (k) => it[k] = (x) => obj[k](x); + } else { + obj = obj.call(value); + method = (k) => it[k] = (v) => { + if (isAwait) { + isAwait = false; + if (k === "throw") throw v; + return v; + } + isAwait = true; + return { + done: false, + value: new __await(new Promise((resolve2) => { + var x = obj[k](v); + if (!(x instanceof Object)) __typeError("Object expected"); + resolve2(x); + }), 1) + }; + }; } - return target; - }; - var __toModule = (module) => { - return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? { get: () => module.default, enumerable: true } : { value: module, enumerable: true })), module); - }; - var __publicField = (obj, key, value) => { - __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); - return value; + return it[__knownSymbol("iterator")] = () => it, method("next"), "throw" in obj ? method("throw") : it.throw = (x) => { + throw x; + }, "return" in obj && method("return"), it; }; // node_modules/jszip/dist/jszip.min.js var require_jszip_min = __commonJS({ "node_modules/jszip/dist/jszip.min.js"(exports, module) { !function(e) { - if (typeof exports == "object" && typeof module != "undefined") - module.exports = e(); - else if (typeof define == "function" && define.amd) - define([], e); + if ("object" == typeof exports && "undefined" != typeof module) module.exports = e(); + else if ("function" == typeof define && define.amd) define([], e); else { - (typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this).JSZip = e(); + ("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).JSZip = e(); } }(function() { return function s(a, o, h3) { function u(r, e2) { if (!o[r]) { if (!a[r]) { - var t2 = typeof __require == "function" && __require; - if (!e2 && t2) - return t2(r, true); - if (l) - return l(r, true); + var t2 = "function" == typeof __require && __require; + if (!e2 && t2) return t2(r, true); + if (l) return l(r, true); var n = new Error("Cannot find module '" + r + "'"); throw n.code = "MODULE_NOT_FOUND", n; } @@ -98,25 +131,20 @@ var hedyApp = (() => { } return o[r].exports; } - for (var l = typeof __require == "function" && __require, e = 0; e < h3.length; e++) - u(h3[e]); + for (var l = "function" == typeof __require && __require, e = 0; e < h3.length; e++) u(h3[e]); return u; }({ 1: [function(e, t2, r) { "use strict"; var d2 = e("./utils"), c2 = e("./support"), p = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; r.encode = function(e2) { - for (var t3, r2, n, i, s, a, o, h3 = [], u = 0, l = e2.length, f = l, c3 = d2.getTypeOf(e2) !== "string"; u < e2.length; ) - f = l - u, n = c3 ? (t3 = e2[u++], r2 = u < l ? e2[u++] : 0, u < l ? e2[u++] : 0) : (t3 = e2.charCodeAt(u++), r2 = u < l ? e2.charCodeAt(u++) : 0, u < l ? e2.charCodeAt(u++) : 0), i = t3 >> 2, s = (3 & t3) << 4 | r2 >> 4, a = 1 < f ? (15 & r2) << 2 | n >> 6 : 64, o = 2 < f ? 63 & n : 64, h3.push(p.charAt(i) + p.charAt(s) + p.charAt(a) + p.charAt(o)); + for (var t3, r2, n, i, s, a, o, h3 = [], u = 0, l = e2.length, f = l, c3 = "string" !== d2.getTypeOf(e2); u < e2.length; ) f = l - u, n = c3 ? (t3 = e2[u++], r2 = u < l ? e2[u++] : 0, u < l ? e2[u++] : 0) : (t3 = e2.charCodeAt(u++), r2 = u < l ? e2.charCodeAt(u++) : 0, u < l ? e2.charCodeAt(u++) : 0), i = t3 >> 2, s = (3 & t3) << 4 | r2 >> 4, a = 1 < f ? (15 & r2) << 2 | n >> 6 : 64, o = 2 < f ? 63 & n : 64, h3.push(p.charAt(i) + p.charAt(s) + p.charAt(a) + p.charAt(o)); return h3.join(""); }, r.decode = function(e2) { var t3, r2, n, i, s, a, o = 0, h3 = 0, u = "data:"; - if (e2.substr(0, u.length) === u) - throw new Error("Invalid base64 input, it looks like a data url."); + if (e2.substr(0, u.length) === u) throw new Error("Invalid base64 input, it looks like a data url."); var l, f = 3 * (e2 = e2.replace(/[^A-Za-z0-9+/=]/g, "")).length / 4; - if (e2.charAt(e2.length - 1) === p.charAt(64) && f--, e2.charAt(e2.length - 2) === p.charAt(64) && f--, f % 1 != 0) - throw new Error("Invalid base64 input, bad content length."); - for (l = c2.uint8array ? new Uint8Array(0 | f) : new Array(0 | f); o < e2.length; ) - t3 = p.indexOf(e2.charAt(o++)) << 2 | (i = p.indexOf(e2.charAt(o++))) >> 4, r2 = (15 & i) << 4 | (s = p.indexOf(e2.charAt(o++))) >> 2, n = (3 & s) << 6 | (a = p.indexOf(e2.charAt(o++))), l[h3++] = t3, s !== 64 && (l[h3++] = r2), a !== 64 && (l[h3++] = n); + if (e2.charAt(e2.length - 1) === p.charAt(64) && f--, e2.charAt(e2.length - 2) === p.charAt(64) && f--, f % 1 != 0) throw new Error("Invalid base64 input, bad content length."); + for (l = c2.uint8array ? new Uint8Array(0 | f) : new Array(0 | f); o < e2.length; ) t3 = p.indexOf(e2.charAt(o++)) << 2 | (i = p.indexOf(e2.charAt(o++))) >> 4, r2 = (15 & i) << 4 | (s = p.indexOf(e2.charAt(o++))) >> 2, n = (3 & s) << 6 | (a = p.indexOf(e2.charAt(o++))), l[h3++] = t3, 64 !== s && (l[h3++] = r2), 64 !== a && (l[h3++] = n); return l; }; }, { "./support": 30, "./utils": 32 }], 2: [function(e, t2, r) { @@ -128,8 +156,7 @@ var hedyApp = (() => { o.prototype = { getContentWorker: function() { var e2 = new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")), t3 = this; return e2.on("end", function() { - if (this.streamInfo.data_length !== t3.uncompressedSize) - throw new Error("Bug : uncompressed data size mismatch"); + if (this.streamInfo.data_length !== t3.uncompressedSize) throw new Error("Bug : uncompressed data size mismatch"); }), e2; }, getCompressedWorker: function() { return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize", this.compressedSize).withStreamInfo("uncompressedSize", this.uncompressedSize).withStreamInfo("crc32", this.crc32).withStreamInfo("compression", this.compression); @@ -150,24 +177,21 @@ var hedyApp = (() => { var o = function() { for (var e2, t3 = [], r2 = 0; r2 < 256; r2++) { e2 = r2; - for (var n2 = 0; n2 < 8; n2++) - e2 = 1 & e2 ? 3988292384 ^ e2 >>> 1 : e2 >>> 1; + for (var n2 = 0; n2 < 8; n2++) e2 = 1 & e2 ? 3988292384 ^ e2 >>> 1 : e2 >>> 1; t3[r2] = e2; } return t3; }(); t2.exports = function(e2, t3) { - return e2 !== void 0 && e2.length ? n.getTypeOf(e2) !== "string" ? function(e3, t4, r2, n2) { + return void 0 !== e2 && e2.length ? "string" !== n.getTypeOf(e2) ? function(e3, t4, r2, n2) { var i = o, s = n2 + r2; e3 ^= -1; - for (var a = n2; a < s; a++) - e3 = e3 >>> 8 ^ i[255 & (e3 ^ t4[a])]; + for (var a = n2; a < s; a++) e3 = e3 >>> 8 ^ i[255 & (e3 ^ t4[a])]; return -1 ^ e3; }(0 | t3, e2, e2.length, 0) : function(e3, t4, r2, n2) { var i = o, s = n2 + r2; e3 ^= -1; - for (var a = n2; a < s; a++) - e3 = e3 >>> 8 ^ i[255 & (e3 ^ t4.charCodeAt(a))]; + for (var a = n2; a < s; a++) e3 = e3 >>> 8 ^ i[255 & (e3 ^ t4.charCodeAt(a))]; return -1 ^ e3; }(0 | t3, e2, e2.length, 0) : 0; }; @@ -177,17 +201,17 @@ var hedyApp = (() => { }, {}], 6: [function(e, t2, r) { "use strict"; var n = null; - n = typeof Promise != "undefined" ? Promise : e("lie"), t2.exports = { Promise: n }; + n = "undefined" != typeof Promise ? Promise : e("lie"), t2.exports = { Promise: n }; }, { lie: 37 }], 7: [function(e, t2, r) { "use strict"; - var n = typeof Uint8Array != "undefined" && typeof Uint16Array != "undefined" && typeof Uint32Array != "undefined", i = e("pako"), s = e("./utils"), a = e("./stream/GenericWorker"), o = n ? "uint8array" : "array"; + var n = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Uint32Array, i = e("pako"), s = e("./utils"), a = e("./stream/GenericWorker"), o = n ? "uint8array" : "array"; function h3(e2, t3) { a.call(this, "FlateWorker/" + e2), this._pako = null, this._pakoAction = e2, this._pakoOptions = t3, this.meta = {}; } r.magic = "\b\0", s.inherits(h3, a), h3.prototype.processChunk = function(e2) { - this.meta = e2.meta, this._pako === null && this._createPako(), this._pako.push(s.transformTo(o, e2.data), false); + this.meta = e2.meta, null === this._pako && this._createPako(), this._pako.push(s.transformTo(o, e2.data), false); }, h3.prototype.flush = function() { - a.prototype.flush.call(this), this._pako === null && this._createPako(), this._pako.push([], true); + a.prototype.flush.call(this), null === this._pako && this._createPako(), this._pako.push([], true); }, h3.prototype.cleanUp = function() { a.prototype.cleanUp.call(this), this._pako = null; }, h3.prototype._createPako = function() { @@ -205,8 +229,7 @@ var hedyApp = (() => { "use strict"; function A(e2, t3) { var r2, n2 = ""; - for (r2 = 0; r2 < t3; r2++) - n2 += String.fromCharCode(255 & e2), e2 >>>= 8; + for (r2 = 0; r2 < t3; r2++) n2 += String.fromCharCode(255 & e2), e2 >>>= 8; return n2; } function n(e2, t3, r2, n2, i2, s2) { @@ -215,7 +238,7 @@ var hedyApp = (() => { var S = 0; t3 && (S |= 8), l || !_ && !g || (S |= 2048); var z2 = 0, C2 = 0; - w && (z2 |= 16), i2 === "UNIX" ? (C2 = 798, z2 |= function(e3, t4) { + w && (z2 |= 16), "UNIX" === i2 ? (C2 = 798, z2 |= function(e3, t4) { var r3 = e3; return e3 || (r3 = t4 ? 16893 : 33204), (65535 & r3) << 16; }(h3.unixPermissions, w)) : (C2 = 20, z2 |= function(e3) { @@ -237,22 +260,17 @@ var hedyApp = (() => { if (t3) { var r2 = n(e2, t3, false, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); this.push({ data: r2.fileRecord, meta: { percent: 0 } }); - } else - this.accumulate = true; + } else this.accumulate = true; }, s.prototype.closedSource = function(e2) { this.accumulate = false; var t3 = this.streamFiles && !e2.file.dir, r2 = n(e2, t3, true, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); - if (this.dirRecords.push(r2.dirRecord), t3) - this.push({ data: function(e3) { - return R.DATA_DESCRIPTOR + A(e3.crc32, 4) + A(e3.compressedSize, 4) + A(e3.uncompressedSize, 4); - }(e2), meta: { percent: 100 } }); - else - for (this.push({ data: r2.fileRecord, meta: { percent: 0 } }); this.contentBuffer.length; ) - this.push(this.contentBuffer.shift()); + if (this.dirRecords.push(r2.dirRecord), t3) this.push({ data: function(e3) { + return R.DATA_DESCRIPTOR + A(e3.crc32, 4) + A(e3.compressedSize, 4) + A(e3.uncompressedSize, 4); + }(e2), meta: { percent: 100 } }); + else for (this.push({ data: r2.fileRecord, meta: { percent: 0 } }); this.contentBuffer.length; ) this.push(this.contentBuffer.shift()); this.currentFile = null; }, s.prototype.flush = function() { - for (var e2 = this.bytesWritten, t3 = 0; t3 < this.dirRecords.length; t3++) - this.push({ data: this.dirRecords[t3], meta: { percent: 100 } }); + for (var e2 = this.bytesWritten, t3 = 0; t3 < this.dirRecords.length; t3++) this.push({ data: this.dirRecords[t3], meta: { percent: 100 } }); var r2 = this.bytesWritten - e2, n2 = function(e3, t4, r3, n3, i2) { var s2 = I.transformTo("string", i2(n3)); return R.CENTRAL_DIRECTORY_END + "\0\0\0\0" + A(e3, 2) + A(e3, 2) + A(t4, 4) + A(r3, 4) + A(s2.length, 2) + s2; @@ -274,18 +292,15 @@ var hedyApp = (() => { return !!i.prototype.resume.call(this) && (!this.previous && this._sources.length ? (this.prepareNextSource(), true) : this.previous || this._sources.length || this.generatedError ? void 0 : (this.end(), true)); }, s.prototype.error = function(e2) { var t3 = this._sources; - if (!i.prototype.error.call(this, e2)) - return false; - for (var r2 = 0; r2 < t3.length; r2++) - try { - t3[r2].error(e2); - } catch (e3) { - } + if (!i.prototype.error.call(this, e2)) return false; + for (var r2 = 0; r2 < t3.length; r2++) try { + t3[r2].error(e2); + } catch (e3) { + } return true; }, s.prototype.lock = function() { i.prototype.lock.call(this); - for (var e2 = this._sources, t3 = 0; t3 < e2.length; t3++) - e2[t3].lock(); + for (var e2 = this._sources, t3 = 0; t3 < e2.length; t3++) e2[t3].lock(); }, t2.exports = s; }, { "../crc32": 4, "../signature": 23, "../stream/GenericWorker": 28, "../utf8": 31, "../utils": 32 }], 9: [function(e, t2, r) { "use strict"; @@ -297,8 +312,7 @@ var hedyApp = (() => { h3++; var r2 = function(e4, t5) { var r3 = e4 || t5, n3 = u[r3]; - if (!n3) - throw new Error(r3 + " is not a valid compression method !"); + if (!n3) throw new Error(r3 + " is not a valid compression method !"); return n3; }(t4.options.compression, a.compression), n2 = t4.options.compressionOptions || a.compressionOptions || {}, i = t4.dir, s = t4.date; t4._compressWorker(r2, n2).withStreamInfo("file", { name: e3, dir: i, date: s, comment: t4.comment || "", unixPermissions: t4.unixPermissions, dosPermissions: t4.dosPermissions }).pipe(o); @@ -311,14 +325,11 @@ var hedyApp = (() => { }, { "../compressions": 3, "./ZipFileWorker": 8 }], 10: [function(e, t2, r) { "use strict"; function n() { - if (!(this instanceof n)) - return new n(); - if (arguments.length) - throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide."); - this.files = Object.create(null), this.comment = null, this.root = "", this.clone = function() { + if (!(this instanceof n)) return new n(); + if (arguments.length) throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide."); + this.files = /* @__PURE__ */ Object.create(null), this.comment = null, this.root = "", this.clone = function() { var e2 = new n(); - for (var t3 in this) - typeof this[t3] != "function" && (e2[t3] = this[t3]); + for (var t3 in this) "function" != typeof this[t3] && (e2[t3] = this[t3]); return e2; }; } @@ -345,9 +356,7 @@ var hedyApp = (() => { return t3.load(e3), t3; }).then(function(e3) { var t3 = [i.Promise.resolve(e3)], r2 = e3.files; - if (o.checkCRC32) - for (var n2 = 0; n2 < r2.length; n2++) - t3.push(f(r2[n2])); + if (o.checkCRC32) for (var n2 = 0; n2 < r2.length; n2++) t3.push(f(r2[n2])); return i.Promise.all(t3); }).then(function(e3) { for (var t3 = e3.shift(), r2 = t3.files, n2 = 0; n2 < r2.length; n2++) { @@ -396,60 +405,55 @@ var hedyApp = (() => { }, t2.exports = n; }, { "../utils": 32, "readable-stream": 16 }], 14: [function(e, t2, r) { "use strict"; - t2.exports = { isNode: typeof Buffer != "undefined", newBufferFrom: function(e2, t3) { - if (Buffer.from && Buffer.from !== Uint8Array.from) - return Buffer.from(e2, t3); - if (typeof e2 == "number") - throw new Error('The "data" argument must not be a number'); + t2.exports = { isNode: "undefined" != typeof Buffer, newBufferFrom: function(e2, t3) { + if (Buffer.from && Buffer.from !== Uint8Array.from) return Buffer.from(e2, t3); + if ("number" == typeof e2) throw new Error('The "data" argument must not be a number'); return new Buffer(e2, t3); }, allocBuffer: function(e2) { - if (Buffer.alloc) - return Buffer.alloc(e2); + if (Buffer.alloc) return Buffer.alloc(e2); var t3 = new Buffer(e2); return t3.fill(0), t3; }, isBuffer: function(e2) { return Buffer.isBuffer(e2); }, isStream: function(e2) { - return e2 && typeof e2.on == "function" && typeof e2.pause == "function" && typeof e2.resume == "function"; + return e2 && "function" == typeof e2.on && "function" == typeof e2.pause && "function" == typeof e2.resume; } }; }, {}], 15: [function(e, t2, r) { "use strict"; function s(e2, t3, r2) { var n2, i2 = u.getTypeOf(t3), s2 = u.extend(r2 || {}, f); - s2.date = s2.date || new Date(), s2.compression !== null && (s2.compression = s2.compression.toUpperCase()), typeof s2.unixPermissions == "string" && (s2.unixPermissions = parseInt(s2.unixPermissions, 8)), s2.unixPermissions && 16384 & s2.unixPermissions && (s2.dir = true), s2.dosPermissions && 16 & s2.dosPermissions && (s2.dir = true), s2.dir && (e2 = g(e2)), s2.createFolders && (n2 = _(e2)) && b.call(this, n2, true); - var a2 = i2 === "string" && s2.binary === false && s2.base64 === false; - r2 && r2.binary !== void 0 || (s2.binary = !a2), (t3 instanceof c2 && t3.uncompressedSize === 0 || s2.dir || !t3 || t3.length === 0) && (s2.base64 = false, s2.binary = true, t3 = "", s2.compression = "STORE", i2 = "string"); + s2.date = s2.date || /* @__PURE__ */ new Date(), null !== s2.compression && (s2.compression = s2.compression.toUpperCase()), "string" == typeof s2.unixPermissions && (s2.unixPermissions = parseInt(s2.unixPermissions, 8)), s2.unixPermissions && 16384 & s2.unixPermissions && (s2.dir = true), s2.dosPermissions && 16 & s2.dosPermissions && (s2.dir = true), s2.dir && (e2 = g(e2)), s2.createFolders && (n2 = _(e2)) && b.call(this, n2, true); + var a2 = "string" === i2 && false === s2.binary && false === s2.base64; + r2 && void 0 !== r2.binary || (s2.binary = !a2), (t3 instanceof c2 && 0 === t3.uncompressedSize || s2.dir || !t3 || 0 === t3.length) && (s2.base64 = false, s2.binary = true, t3 = "", s2.compression = "STORE", i2 = "string"); var o2 = null; o2 = t3 instanceof c2 || t3 instanceof l ? t3 : p.isNode && p.isStream(t3) ? new m(e2, t3) : u.prepareContent(e2, t3, s2.binary, s2.optimizedBinaryString, s2.base64); var h4 = new d2(e2, o2, s2); this.files[e2] = h4; } var i = e("./utf8"), u = e("./utils"), l = e("./stream/GenericWorker"), a = e("./stream/StreamHelper"), f = e("./defaults"), c2 = e("./compressedObject"), d2 = e("./zipObject"), o = e("./generate"), p = e("./nodejsUtils"), m = e("./nodejs/NodejsStreamInputAdapter"), _ = function(e2) { - e2.slice(-1) === "/" && (e2 = e2.substring(0, e2.length - 1)); + "/" === e2.slice(-1) && (e2 = e2.substring(0, e2.length - 1)); var t3 = e2.lastIndexOf("/"); return 0 < t3 ? e2.substring(0, t3) : ""; }, g = function(e2) { - return e2.slice(-1) !== "/" && (e2 += "/"), e2; + return "/" !== e2.slice(-1) && (e2 += "/"), e2; }, b = function(e2, t3) { - return t3 = t3 !== void 0 ? t3 : f.createFolders, e2 = g(e2), this.files[e2] || s.call(this, e2, null, { dir: true, createFolders: t3 }), this.files[e2]; + return t3 = void 0 !== t3 ? t3 : f.createFolders, e2 = g(e2), this.files[e2] || s.call(this, e2, null, { dir: true, createFolders: t3 }), this.files[e2]; }; function h3(e2) { - return Object.prototype.toString.call(e2) === "[object RegExp]"; + return "[object RegExp]" === Object.prototype.toString.call(e2); } var n = { load: function() { throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); }, forEach: function(e2) { var t3, r2, n2; - for (t3 in this.files) - n2 = this.files[t3], (r2 = t3.slice(this.root.length, t3.length)) && t3.slice(0, this.root.length) === this.root && e2(r2, n2); + for (t3 in this.files) n2 = this.files[t3], (r2 = t3.slice(this.root.length, t3.length)) && t3.slice(0, this.root.length) === this.root && e2(r2, n2); }, filter: function(r2) { var n2 = []; return this.forEach(function(e2, t3) { r2(e2, t3) && n2.push(t3); }), n2; }, file: function(e2, t3, r2) { - if (arguments.length !== 1) - return e2 = this.root + e2, s.call(this, e2, t3, r2), this; + if (1 !== arguments.length) return e2 = this.root + e2, s.call(this, e2, t3, r2), this; if (h3(e2)) { var n2 = e2; return this.filter(function(e3, t4) { @@ -459,33 +463,27 @@ var hedyApp = (() => { var i2 = this.files[this.root + e2]; return i2 && !i2.dir ? i2 : null; }, folder: function(r2) { - if (!r2) - return this; - if (h3(r2)) - return this.filter(function(e3, t4) { - return t4.dir && r2.test(e3); - }); + if (!r2) return this; + if (h3(r2)) return this.filter(function(e3, t4) { + return t4.dir && r2.test(e3); + }); var e2 = this.root + r2, t3 = b.call(this, e2), n2 = this.clone(); return n2.root = t3.name, n2; }, remove: function(r2) { r2 = this.root + r2; var e2 = this.files[r2]; - if (e2 || (r2.slice(-1) !== "/" && (r2 += "/"), e2 = this.files[r2]), e2 && !e2.dir) - delete this.files[r2]; - else - for (var t3 = this.filter(function(e3, t4) { - return t4.name.slice(0, r2.length) === r2; - }), n2 = 0; n2 < t3.length; n2++) - delete this.files[t3[n2].name]; + if (e2 || ("/" !== r2.slice(-1) && (r2 += "/"), e2 = this.files[r2]), e2 && !e2.dir) delete this.files[r2]; + else for (var t3 = this.filter(function(e3, t4) { + return t4.name.slice(0, r2.length) === r2; + }), n2 = 0; n2 < t3.length; n2++) delete this.files[t3[n2].name]; return this; }, generate: function() { throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); }, generateInternalStream: function(e2) { var t3, r2 = {}; try { - if ((r2 = u.extend(e2 || {}, { streamFiles: false, compression: "STORE", compressionOptions: null, type: "", platform: "DOS", comment: null, mimeType: "application/zip", encodeFileName: i.utf8encode })).type = r2.type.toLowerCase(), r2.compression = r2.compression.toUpperCase(), r2.type === "binarystring" && (r2.type = "string"), !r2.type) - throw new Error("No output type specified."); - u.checkSupport(r2.type), r2.platform !== "darwin" && r2.platform !== "freebsd" && r2.platform !== "linux" && r2.platform !== "sunos" || (r2.platform = "UNIX"), r2.platform === "win32" && (r2.platform = "DOS"); + if ((r2 = u.extend(e2 || {}, { streamFiles: false, compression: "STORE", compressionOptions: null, type: "", platform: "DOS", comment: null, mimeType: "application/zip", encodeFileName: i.utf8encode })).type = r2.type.toLowerCase(), r2.compression = r2.compression.toUpperCase(), "binarystring" === r2.type && (r2.type = "string"), !r2.type) throw new Error("No output type specified."); + u.checkSupport(r2.type), "darwin" !== r2.platform && "freebsd" !== r2.platform && "linux" !== r2.platform && "sunos" !== r2.platform || (r2.platform = "UNIX"), "win32" === r2.platform && (r2.platform = "DOS"); var n2 = r2.comment || this.comment || ""; t3 = o.generateWorker(this, r2, n2); } catch (e3) { @@ -506,22 +504,18 @@ var hedyApp = (() => { var n = e("./DataReader"); function i(e2) { n.call(this, e2); - for (var t3 = 0; t3 < this.data.length; t3++) - e2[t3] = 255 & e2[t3]; + for (var t3 = 0; t3 < this.data.length; t3++) e2[t3] = 255 & e2[t3]; } e("../utils").inherits(i, n), i.prototype.byteAt = function(e2) { return this.data[this.zero + e2]; }, i.prototype.lastIndexOfSignature = function(e2) { - for (var t3 = e2.charCodeAt(0), r2 = e2.charCodeAt(1), n2 = e2.charCodeAt(2), i2 = e2.charCodeAt(3), s = this.length - 4; 0 <= s; --s) - if (this.data[s] === t3 && this.data[s + 1] === r2 && this.data[s + 2] === n2 && this.data[s + 3] === i2) - return s - this.zero; + for (var t3 = e2.charCodeAt(0), r2 = e2.charCodeAt(1), n2 = e2.charCodeAt(2), i2 = e2.charCodeAt(3), s = this.length - 4; 0 <= s; --s) if (this.data[s] === t3 && this.data[s + 1] === r2 && this.data[s + 2] === n2 && this.data[s + 3] === i2) return s - this.zero; return -1; }, i.prototype.readAndCheckSignature = function(e2) { var t3 = e2.charCodeAt(0), r2 = e2.charCodeAt(1), n2 = e2.charCodeAt(2), i2 = e2.charCodeAt(3), s = this.readData(4); return t3 === s[0] && r2 === s[1] && n2 === s[2] && i2 === s[3]; }, i.prototype.readData = function(e2) { - if (this.checkOffset(e2), e2 === 0) - return []; + if (this.checkOffset(e2), 0 === e2) return []; var t3 = this.data.slice(this.zero + this.index, this.zero + this.index + e2); return this.index += e2, t3; }, t2.exports = i; @@ -534,8 +528,7 @@ var hedyApp = (() => { i.prototype = { checkOffset: function(e2) { this.checkIndex(this.index + e2); }, checkIndex: function(e2) { - if (this.length < this.zero + e2 || e2 < 0) - throw new Error("End of data reached (data length = " + this.length + ", asked index = " + e2 + "). Corrupted zip ?"); + if (this.length < this.zero + e2 || e2 < 0) throw new Error("End of data reached (data length = " + this.length + ", asked index = " + e2 + "). Corrupted zip ?"); }, setIndex: function(e2) { this.checkIndex(e2), this.index = e2; }, skip: function(e2) { @@ -543,8 +536,7 @@ var hedyApp = (() => { }, byteAt: function() { }, readInt: function(e2) { var t3, r2 = 0; - for (this.checkOffset(e2), t3 = this.index + e2 - 1; t3 >= this.index; t3--) - r2 = (r2 << 8) + this.byteAt(t3); + for (this.checkOffset(e2), t3 = this.index + e2 - 1; t3 >= this.index; t3--) r2 = (r2 << 8) + this.byteAt(t3); return this.index += e2, r2; }, readString: function(e2) { return n.transformTo("string", this.readData(e2)); @@ -590,8 +582,7 @@ var hedyApp = (() => { n.call(this, e2); } e("../utils").inherits(i, n), i.prototype.readData = function(e2) { - if (this.checkOffset(e2), e2 === 0) - return new Uint8Array(0); + if (this.checkOffset(e2), 0 === e2) return new Uint8Array(0); var t3 = this.data.subarray(this.zero + this.index, this.zero + this.index + e2); return this.index += e2, t3; }, t2.exports = i; @@ -600,7 +591,7 @@ var hedyApp = (() => { var n = e("../utils"), i = e("../support"), s = e("./ArrayReader"), a = e("./StringReader"), o = e("./NodeBufferReader"), h3 = e("./Uint8ArrayReader"); t2.exports = function(e2) { var t3 = n.getTypeOf(e2); - return n.checkSupport(t3), t3 !== "string" || i.uint8array ? t3 === "nodebuffer" ? new o(e2) : i.uint8array ? new h3(n.transformTo("uint8array", e2)) : new s(n.transformTo("array", e2)) : new a(e2); + return n.checkSupport(t3), "string" !== t3 || i.uint8array ? "nodebuffer" === t3 ? new o(e2) : i.uint8array ? new h3(n.transformTo("uint8array", e2)) : new s(n.transformTo("array", e2)) : new a(e2); }; }, { "../support": 30, "../utils": 32, "./ArrayReader": 17, "./NodeBufferReader": 19, "./StringReader": 20, "./Uint8ArrayReader": 21 }], 23: [function(e, t2, r) { "use strict"; @@ -655,11 +646,9 @@ var hedyApp = (() => { }, s.prototype._tickAndRepeat = function() { this._tickScheduled = false, this.isPaused || this.isFinished || (this._tick(), this.isFinished || (n.delay(this._tickAndRepeat, [], this), this._tickScheduled = true)); }, s.prototype._tick = function() { - if (this.isPaused || this.isFinished) - return false; + if (this.isPaused || this.isFinished) return false; var e2 = null, t3 = Math.min(this.max, this.index + 16384); - if (this.index >= this.max) - return this.end(); + if (this.index >= this.max) return this.end(); switch (this.type) { case "string": e2 = this.data.substring(this.index, t3); @@ -681,8 +670,7 @@ var hedyApp = (() => { n.prototype = { push: function(e2) { this.emit("data", e2); }, end: function() { - if (this.isFinished) - return false; + if (this.isFinished) return false; this.flush(); try { this.emit("end"), this.cleanUp(), this.isFinished = true; @@ -697,14 +685,11 @@ var hedyApp = (() => { }, cleanUp: function() { this.streamInfo = this.generatedError = this.extraStreamInfo = null, this._listeners = []; }, emit: function(e2, t3) { - if (this._listeners[e2]) - for (var r2 = 0; r2 < this._listeners[e2].length; r2++) - this._listeners[e2][r2].call(this, t3); + if (this._listeners[e2]) for (var r2 = 0; r2 < this._listeners[e2].length; r2++) this._listeners[e2][r2].call(this, t3); }, pipe: function(e2) { return e2.registerPrevious(this); }, registerPrevious: function(e2) { - if (this.isLocked) - throw new Error("The stream '" + this + "' has already been used."); + if (this.isLocked) throw new Error("The stream '" + this + "' has already been used."); this.streamInfo = e2.streamInfo, this.mergeStreamInfo(), this.previous = e2; var t3 = this; return e2.on("data", function(e3) { @@ -717,8 +702,7 @@ var hedyApp = (() => { }, pause: function() { return !this.isPaused && !this.isFinished && (this.isPaused = true, this.previous && this.previous.pause(), true); }, resume: function() { - if (!this.isPaused || this.isFinished) - return false; + if (!this.isPaused || this.isFinished) return false; var e2 = this.isPaused = false; return this.generatedError && (this.error(this.generatedError), e2 = true), this.previous && this.previous.resume(), !e2; }, flush: function() { @@ -727,11 +711,9 @@ var hedyApp = (() => { }, withStreamInfo: function(e2, t3) { return this.extraStreamInfo[e2] = t3, this.mergeStreamInfo(), this; }, mergeStreamInfo: function() { - for (var e2 in this.extraStreamInfo) - Object.prototype.hasOwnProperty.call(this.extraStreamInfo, e2) && (this.streamInfo[e2] = this.extraStreamInfo[e2]); + for (var e2 in this.extraStreamInfo) Object.prototype.hasOwnProperty.call(this.extraStreamInfo, e2) && (this.streamInfo[e2] = this.extraStreamInfo[e2]); }, lock: function() { - if (this.isLocked) - throw new Error("The stream '" + this + "' has already been used."); + if (this.isLocked) throw new Error("The stream '" + this + "' has already been used."); this.isLocked = true, this.previous && this.previous.lock(); }, toString: function() { var e2 = "Worker " + this.name; @@ -740,11 +722,10 @@ var hedyApp = (() => { }, {}], 29: [function(e, t2, r) { "use strict"; var h3 = e("../utils"), i = e("./ConvertWorker"), s = e("./GenericWorker"), u = e("../base64"), n = e("../support"), a = e("../external"), o = null; - if (n.nodestream) - try { - o = e("../nodejs/NodejsStreamOutputAdapter"); - } catch (e2) { - } + if (n.nodestream) try { + o = e("../nodejs/NodejsStreamOutputAdapter"); + } catch (e2) { + } function l(e2, o2) { return new a.Promise(function(t3, r2) { var n2 = [], i2 = e2._internalType, s2 = e2._outputType, a2 = e2._mimeType; @@ -765,16 +746,14 @@ var hedyApp = (() => { } }(s2, function(e4, t4) { var r3, n3 = 0, i3 = null, s3 = 0; - for (r3 = 0; r3 < t4.length; r3++) - s3 += t4[r3].length; + for (r3 = 0; r3 < t4.length; r3++) s3 += t4[r3].length; switch (e4) { case "string": return t4.join(""); case "array": return Array.prototype.concat.apply([], t4); case "uint8array": - for (i3 = new Uint8Array(s3), r3 = 0; r3 < t4.length; r3++) - i3.set(t4[r3], n3), n3 += t4[r3].length; + for (i3 = new Uint8Array(s3), r3 = 0; r3 < t4.length; r3++) i3.set(t4[r3], n3), n3 += t4[r3].length; return i3; case "nodebuffer": return Buffer.concat(t4); @@ -810,7 +789,7 @@ var hedyApp = (() => { return l(this, e2); }, on: function(e2, t3) { var r2 = this; - return e2 === "data" ? this._worker.on(e2, function(e3) { + return "data" === e2 ? this._worker.on(e2, function(e3) { t3.call(r2, e3.data, e3.meta); }) : this._worker.on(e2, function() { h3.delay(t3, arguments, r2); @@ -820,22 +799,20 @@ var hedyApp = (() => { }, pause: function() { return this._worker.pause(), this; }, toNodejsStream: function(e2) { - if (h3.checkSupport("nodestream"), this._outputType !== "nodebuffer") - throw new Error(this._outputType + " is not supported by this method"); - return new o(this, { objectMode: this._outputType !== "nodebuffer" }, e2); + if (h3.checkSupport("nodestream"), "nodebuffer" !== this._outputType) throw new Error(this._outputType + " is not supported by this method"); + return new o(this, { objectMode: "nodebuffer" !== this._outputType }, e2); } }, t2.exports = f; }, { "../base64": 1, "../external": 6, "../nodejs/NodejsStreamOutputAdapter": 13, "../support": 30, "../utils": 32, "./ConvertWorker": 24, "./GenericWorker": 28 }], 30: [function(e, t2, r) { "use strict"; - if (r.base64 = true, r.array = true, r.string = true, r.arraybuffer = typeof ArrayBuffer != "undefined" && typeof Uint8Array != "undefined", r.nodebuffer = typeof Buffer != "undefined", r.uint8array = typeof Uint8Array != "undefined", typeof ArrayBuffer == "undefined") - r.blob = false; + if (r.base64 = true, r.array = true, r.string = true, r.arraybuffer = "undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8Array, r.nodebuffer = "undefined" != typeof Buffer, r.uint8array = "undefined" != typeof Uint8Array, "undefined" == typeof ArrayBuffer) r.blob = false; else { var n = new ArrayBuffer(0); try { - r.blob = new Blob([n], { type: "application/zip" }).size === 0; + r.blob = 0 === new Blob([n], { type: "application/zip" }).size; } catch (e2) { try { var i = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)(); - i.append(n), r.blob = i.getBlob("application/zip").size === 0; + i.append(n), r.blob = 0 === i.getBlob("application/zip").size; } catch (e3) { r.blob = false; } @@ -848,8 +825,7 @@ var hedyApp = (() => { } }, { "readable-stream": 16 }], 31: [function(e, t2, s) { "use strict"; - for (var o = e("./utils"), h3 = e("./support"), r = e("./nodejsUtils"), n = e("./stream/GenericWorker"), u = new Array(256), i = 0; i < 256; i++) - u[i] = 252 <= i ? 6 : 248 <= i ? 5 : 240 <= i ? 4 : 224 <= i ? 3 : 192 <= i ? 2 : 1; + for (var o = e("./utils"), h3 = e("./support"), r = e("./nodejsUtils"), n = e("./stream/GenericWorker"), u = new Array(256), i = 0; i < 256; i++) u[i] = 252 <= i ? 6 : 248 <= i ? 5 : 240 <= i ? 4 : 224 <= i ? 3 : 192 <= i ? 2 : 1; u[254] = u[254] = 1; function a() { n.call(this, "utf-8 decode"), this.leftOver = null; @@ -860,25 +836,19 @@ var hedyApp = (() => { s.utf8encode = function(e2) { return h3.nodebuffer ? r.newBufferFrom(e2, "utf-8") : function(e3) { var t3, r2, n2, i2, s2, a2 = e3.length, o2 = 0; - for (i2 = 0; i2 < a2; i2++) - (64512 & (r2 = e3.charCodeAt(i2))) == 55296 && i2 + 1 < a2 && (64512 & (n2 = e3.charCodeAt(i2 + 1))) == 56320 && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), o2 += r2 < 128 ? 1 : r2 < 2048 ? 2 : r2 < 65536 ? 3 : 4; - for (t3 = h3.uint8array ? new Uint8Array(o2) : new Array(o2), i2 = s2 = 0; s2 < o2; i2++) - (64512 & (r2 = e3.charCodeAt(i2))) == 55296 && i2 + 1 < a2 && (64512 & (n2 = e3.charCodeAt(i2 + 1))) == 56320 && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), r2 < 128 ? t3[s2++] = r2 : (r2 < 2048 ? t3[s2++] = 192 | r2 >>> 6 : (r2 < 65536 ? t3[s2++] = 224 | r2 >>> 12 : (t3[s2++] = 240 | r2 >>> 18, t3[s2++] = 128 | r2 >>> 12 & 63), t3[s2++] = 128 | r2 >>> 6 & 63), t3[s2++] = 128 | 63 & r2); + for (i2 = 0; i2 < a2; i2++) 55296 == (64512 & (r2 = e3.charCodeAt(i2))) && i2 + 1 < a2 && 56320 == (64512 & (n2 = e3.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), o2 += r2 < 128 ? 1 : r2 < 2048 ? 2 : r2 < 65536 ? 3 : 4; + for (t3 = h3.uint8array ? new Uint8Array(o2) : new Array(o2), i2 = s2 = 0; s2 < o2; i2++) 55296 == (64512 & (r2 = e3.charCodeAt(i2))) && i2 + 1 < a2 && 56320 == (64512 & (n2 = e3.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), r2 < 128 ? t3[s2++] = r2 : (r2 < 2048 ? t3[s2++] = 192 | r2 >>> 6 : (r2 < 65536 ? t3[s2++] = 224 | r2 >>> 12 : (t3[s2++] = 240 | r2 >>> 18, t3[s2++] = 128 | r2 >>> 12 & 63), t3[s2++] = 128 | r2 >>> 6 & 63), t3[s2++] = 128 | 63 & r2); return t3; }(e2); }, s.utf8decode = function(e2) { return h3.nodebuffer ? o.transformTo("nodebuffer", e2).toString("utf-8") : function(e3) { var t3, r2, n2, i2, s2 = e3.length, a2 = new Array(2 * s2); - for (t3 = r2 = 0; t3 < s2; ) - if ((n2 = e3[t3++]) < 128) - a2[r2++] = n2; - else if (4 < (i2 = u[n2])) - a2[r2++] = 65533, t3 += i2 - 1; - else { - for (n2 &= i2 === 2 ? 31 : i2 === 3 ? 15 : 7; 1 < i2 && t3 < s2; ) - n2 = n2 << 6 | 63 & e3[t3++], i2--; - 1 < i2 ? a2[r2++] = 65533 : n2 < 65536 ? a2[r2++] = n2 : (n2 -= 65536, a2[r2++] = 55296 | n2 >> 10 & 1023, a2[r2++] = 56320 | 1023 & n2); - } + for (t3 = r2 = 0; t3 < s2; ) if ((n2 = e3[t3++]) < 128) a2[r2++] = n2; + else if (4 < (i2 = u[n2])) a2[r2++] = 65533, t3 += i2 - 1; + else { + for (n2 &= 2 === i2 ? 31 : 3 === i2 ? 15 : 7; 1 < i2 && t3 < s2; ) n2 = n2 << 6 | 63 & e3[t3++], i2--; + 1 < i2 ? a2[r2++] = 65533 : n2 < 65536 ? a2[r2++] = n2 : (n2 -= 65536, a2[r2++] = 55296 | n2 >> 10 & 1023, a2[r2++] = 56320 | 1023 & n2); + } return a2.length !== r2 && (a2.subarray ? a2 = a2.subarray(0, r2) : a2.length = r2), o.applyFromCharCode(a2); }(e2 = o.transformTo(h3.uint8array ? "uint8array" : "array", e2)); }, o.inherits(a, n), a.prototype.processChunk = function(e2) { @@ -887,15 +857,13 @@ var hedyApp = (() => { if (h3.uint8array) { var r2 = t3; (t3 = new Uint8Array(r2.length + this.leftOver.length)).set(this.leftOver, 0), t3.set(r2, this.leftOver.length); - } else - t3 = this.leftOver.concat(t3); + } else t3 = this.leftOver.concat(t3); this.leftOver = null; } var n2 = function(e3, t4) { var r3; - for ((t4 = t4 || e3.length) > e3.length && (t4 = e3.length), r3 = t4 - 1; 0 <= r3 && (192 & e3[r3]) == 128; ) - r3--; - return r3 < 0 ? t4 : r3 === 0 ? t4 : r3 + u[e3[r3]] > t4 ? r3 : t4; + for ((t4 = t4 || e3.length) > e3.length && (t4 = e3.length), r3 = t4 - 1; 0 <= r3 && 128 == (192 & e3[r3]); ) r3--; + return r3 < 0 ? t4 : 0 === r3 ? t4 : r3 + u[e3[r3]] > t4 ? r3 : t4; }(t3), i2 = t3; n2 !== t3.length && (h3.uint8array ? (i2 = t3.subarray(0, n2), this.leftOver = t3.subarray(n2, t3.length)) : (i2 = t3.slice(0, n2), this.leftOver = t3.slice(n2, t3.length))), this.push({ data: s.utf8decode(i2), meta: e2.meta }); }, a.prototype.flush = function() { @@ -910,8 +878,7 @@ var hedyApp = (() => { return e2; } function l(e2, t3) { - for (var r2 = 0; r2 < e2.length; ++r2) - t3[r2] = 255 & e2.charCodeAt(r2); + for (var r2 = 0; r2 < e2.length; ++r2) t3[r2] = 255 & e2.charCodeAt(r2); return t3; } e("setimmediate"), a.newBlob = function(t3, r2) { @@ -929,42 +896,36 @@ var hedyApp = (() => { }; var i = { stringifyByChunk: function(e2, t3, r2) { var n2 = [], i2 = 0, s2 = e2.length; - if (s2 <= r2) - return String.fromCharCode.apply(null, e2); - for (; i2 < s2; ) - t3 === "array" || t3 === "nodebuffer" ? n2.push(String.fromCharCode.apply(null, e2.slice(i2, Math.min(i2 + r2, s2)))) : n2.push(String.fromCharCode.apply(null, e2.subarray(i2, Math.min(i2 + r2, s2)))), i2 += r2; + if (s2 <= r2) return String.fromCharCode.apply(null, e2); + for (; i2 < s2; ) "array" === t3 || "nodebuffer" === t3 ? n2.push(String.fromCharCode.apply(null, e2.slice(i2, Math.min(i2 + r2, s2)))) : n2.push(String.fromCharCode.apply(null, e2.subarray(i2, Math.min(i2 + r2, s2)))), i2 += r2; return n2.join(""); }, stringifyByChar: function(e2) { - for (var t3 = "", r2 = 0; r2 < e2.length; r2++) - t3 += String.fromCharCode(e2[r2]); + for (var t3 = "", r2 = 0; r2 < e2.length; r2++) t3 += String.fromCharCode(e2[r2]); return t3; }, applyCanBeUsed: { uint8array: function() { try { - return o.uint8array && String.fromCharCode.apply(null, new Uint8Array(1)).length === 1; + return o.uint8array && 1 === String.fromCharCode.apply(null, new Uint8Array(1)).length; } catch (e2) { return false; } }(), nodebuffer: function() { try { - return o.nodebuffer && String.fromCharCode.apply(null, r.allocBuffer(1)).length === 1; + return o.nodebuffer && 1 === String.fromCharCode.apply(null, r.allocBuffer(1)).length; } catch (e2) { return false; } }() } }; function s(e2) { var t3 = 65536, r2 = a.getTypeOf(e2), n2 = true; - if (r2 === "uint8array" ? n2 = i.applyCanBeUsed.uint8array : r2 === "nodebuffer" && (n2 = i.applyCanBeUsed.nodebuffer), n2) - for (; 1 < t3; ) - try { - return i.stringifyByChunk(e2, r2, t3); - } catch (e3) { - t3 = Math.floor(t3 / 2); - } + if ("uint8array" === r2 ? n2 = i.applyCanBeUsed.uint8array : "nodebuffer" === r2 && (n2 = i.applyCanBeUsed.nodebuffer), n2) for (; 1 < t3; ) try { + return i.stringifyByChunk(e2, r2, t3); + } catch (e3) { + t3 = Math.floor(t3 / 2); + } return i.stringifyByChar(e2); } function f(e2, t3) { - for (var r2 = 0; r2 < e2.length; r2++) - t3[r2] = e2[r2]; + for (var r2 = 0; r2 < e2.length; r2++) t3[r2] = e2[r2]; return t3; } a.applyFromCharCode = s; @@ -1004,26 +965,23 @@ var hedyApp = (() => { }, uint8array: function(e2) { return f(e2, new Uint8Array(e2.length)); }, nodebuffer: n }, a.transformTo = function(e2, t3) { - if (t3 = t3 || "", !e2) - return t3; + if (t3 = t3 || "", !e2) return t3; a.checkSupport(e2); var r2 = a.getTypeOf(t3); return c2[r2][e2](t3); }, a.resolve = function(e2) { for (var t3 = e2.split("/"), r2 = [], n2 = 0; n2 < t3.length; n2++) { var i2 = t3[n2]; - i2 === "." || i2 === "" && n2 !== 0 && n2 !== t3.length - 1 || (i2 === ".." ? r2.pop() : r2.push(i2)); + "." === i2 || "" === i2 && 0 !== n2 && n2 !== t3.length - 1 || (".." === i2 ? r2.pop() : r2.push(i2)); } return r2.join("/"); }, a.getTypeOf = function(e2) { - return typeof e2 == "string" ? "string" : Object.prototype.toString.call(e2) === "[object Array]" ? "array" : o.nodebuffer && r.isBuffer(e2) ? "nodebuffer" : o.uint8array && e2 instanceof Uint8Array ? "uint8array" : o.arraybuffer && e2 instanceof ArrayBuffer ? "arraybuffer" : void 0; + return "string" == typeof e2 ? "string" : "[object Array]" === Object.prototype.toString.call(e2) ? "array" : o.nodebuffer && r.isBuffer(e2) ? "nodebuffer" : o.uint8array && e2 instanceof Uint8Array ? "uint8array" : o.arraybuffer && e2 instanceof ArrayBuffer ? "arraybuffer" : void 0; }, a.checkSupport = function(e2) { - if (!o[e2.toLowerCase()]) - throw new Error(e2 + " is not supported by this platform"); + if (!o[e2.toLowerCase()]) throw new Error(e2 + " is not supported by this platform"); }, a.MAX_VALUE_16BITS = 65535, a.MAX_VALUE_32BITS = -1, a.pretty = function(e2) { var t3, r2, n2 = ""; - for (r2 = 0; r2 < (e2 || "").length; r2++) - n2 += "\\x" + ((t3 = e2.charCodeAt(r2)) < 16 ? "0" : "") + t3.toString(16).toUpperCase(); + for (r2 = 0; r2 < (e2 || "").length; r2++) n2 += "\\x" + ((t3 = e2.charCodeAt(r2)) < 16 ? "0" : "") + t3.toString(16).toUpperCase(); return n2; }, a.delay = function(e2, t3, r2) { setImmediate(function() { @@ -1035,13 +993,11 @@ var hedyApp = (() => { r2.prototype = t3.prototype, e2.prototype = new r2(); }, a.extend = function() { var e2, t3, r2 = {}; - for (e2 = 0; e2 < arguments.length; e2++) - for (t3 in arguments[e2]) - Object.prototype.hasOwnProperty.call(arguments[e2], t3) && r2[t3] === void 0 && (r2[t3] = arguments[e2][t3]); + for (e2 = 0; e2 < arguments.length; e2++) for (t3 in arguments[e2]) Object.prototype.hasOwnProperty.call(arguments[e2], t3) && void 0 === r2[t3] && (r2[t3] = arguments[e2][t3]); return r2; }, a.prepareContent = function(r2, e2, n2, i2, s2) { return u.Promise.resolve(e2).then(function(n3) { - return o.blob && (n3 instanceof Blob || ["[object File]", "[object Blob]"].indexOf(Object.prototype.toString.call(n3)) !== -1) && typeof FileReader != "undefined" ? new u.Promise(function(t3, r3) { + return o.blob && (n3 instanceof Blob || -1 !== ["[object File]", "[object Blob]"].indexOf(Object.prototype.toString.call(n3))) && "undefined" != typeof FileReader ? new u.Promise(function(t3, r3) { var e3 = new FileReader(); e3.onload = function(e4) { t3(e4.target.result); @@ -1051,7 +1007,7 @@ var hedyApp = (() => { }) : n3; }).then(function(e3) { var t3 = a.getTypeOf(e3); - return t3 ? (t3 === "arraybuffer" ? e3 = a.transformTo("uint8array", e3) : t3 === "string" && (s2 ? e3 = h3.decode(e3) : n2 && i2 !== true && (e3 = function(e4) { + return t3 ? ("arraybuffer" === t3 ? e3 = a.transformTo("uint8array", e3) : "string" === t3 && (s2 ? e3 = h3.decode(e3) : n2 && true !== i2 && (e3 = function(e4) { return l(e4, o.uint8array ? new Uint8Array(e4.length) : new Array(e4.length)); }(e3))), e3) : u.Promise.reject(new Error("Can't read the data of '" + r2 + "'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?")); }); @@ -1079,41 +1035,31 @@ var hedyApp = (() => { this.zipComment = this.loadOptions.decodeFileName(r2); }, readBlockZip64EndOfCentral: function() { this.zip64EndOfCentralSize = this.reader.readInt(8), this.reader.skip(4), this.diskNumber = this.reader.readInt(4), this.diskWithCentralDirStart = this.reader.readInt(4), this.centralDirRecordsOnThisDisk = this.reader.readInt(8), this.centralDirRecords = this.reader.readInt(8), this.centralDirSize = this.reader.readInt(8), this.centralDirOffset = this.reader.readInt(8), this.zip64ExtensibleData = {}; - for (var e2, t3, r2, n2 = this.zip64EndOfCentralSize - 44; 0 < n2; ) - e2 = this.reader.readInt(2), t3 = this.reader.readInt(4), r2 = this.reader.readData(t3), this.zip64ExtensibleData[e2] = { id: e2, length: t3, value: r2 }; + for (var e2, t3, r2, n2 = this.zip64EndOfCentralSize - 44; 0 < n2; ) e2 = this.reader.readInt(2), t3 = this.reader.readInt(4), r2 = this.reader.readData(t3), this.zip64ExtensibleData[e2] = { id: e2, length: t3, value: r2 }; }, readBlockZip64EndOfCentralLocator: function() { - if (this.diskWithZip64CentralDirStart = this.reader.readInt(4), this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8), this.disksCount = this.reader.readInt(4), 1 < this.disksCount) - throw new Error("Multi-volumes zip are not supported"); + if (this.diskWithZip64CentralDirStart = this.reader.readInt(4), this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8), this.disksCount = this.reader.readInt(4), 1 < this.disksCount) throw new Error("Multi-volumes zip are not supported"); }, readLocalFiles: function() { var e2, t3; - for (e2 = 0; e2 < this.files.length; e2++) - t3 = this.files[e2], this.reader.setIndex(t3.localHeaderOffset), this.checkSignature(s.LOCAL_FILE_HEADER), t3.readLocalPart(this.reader), t3.handleUTF8(), t3.processAttributes(); + for (e2 = 0; e2 < this.files.length; e2++) t3 = this.files[e2], this.reader.setIndex(t3.localHeaderOffset), this.checkSignature(s.LOCAL_FILE_HEADER), t3.readLocalPart(this.reader), t3.handleUTF8(), t3.processAttributes(); }, readCentralDir: function() { var e2; - for (this.reader.setIndex(this.centralDirOffset); this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER); ) - (e2 = new a({ zip64: this.zip64 }, this.loadOptions)).readCentralPart(this.reader), this.files.push(e2); - if (this.centralDirRecords !== this.files.length && this.centralDirRecords !== 0 && this.files.length === 0) - throw new Error("Corrupted zip or bug: expected " + this.centralDirRecords + " records in central dir, got " + this.files.length); + for (this.reader.setIndex(this.centralDirOffset); this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER); ) (e2 = new a({ zip64: this.zip64 }, this.loadOptions)).readCentralPart(this.reader), this.files.push(e2); + if (this.centralDirRecords !== this.files.length && 0 !== this.centralDirRecords && 0 === this.files.length) throw new Error("Corrupted zip or bug: expected " + this.centralDirRecords + " records in central dir, got " + this.files.length); }, readEndOfCentral: function() { var e2 = this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END); - if (e2 < 0) - throw !this.isSignature(0, s.LOCAL_FILE_HEADER) ? new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html") : new Error("Corrupted zip: can't find end of central directory"); + if (e2 < 0) throw !this.isSignature(0, s.LOCAL_FILE_HEADER) ? new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html") : new Error("Corrupted zip: can't find end of central directory"); this.reader.setIndex(e2); var t3 = e2; if (this.checkSignature(s.CENTRAL_DIRECTORY_END), this.readBlockEndOfCentral(), this.diskNumber === i.MAX_VALUE_16BITS || this.diskWithCentralDirStart === i.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === i.MAX_VALUE_16BITS || this.centralDirRecords === i.MAX_VALUE_16BITS || this.centralDirSize === i.MAX_VALUE_32BITS || this.centralDirOffset === i.MAX_VALUE_32BITS) { - if (this.zip64 = true, (e2 = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR)) < 0) - throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator"); - if (this.reader.setIndex(e2), this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR), this.readBlockZip64EndOfCentralLocator(), !this.isSignature(this.relativeOffsetEndOfZip64CentralDir, s.ZIP64_CENTRAL_DIRECTORY_END) && (this.relativeOffsetEndOfZip64CentralDir = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END), this.relativeOffsetEndOfZip64CentralDir < 0)) - throw new Error("Corrupted zip: can't find the ZIP64 end of central directory"); + if (this.zip64 = true, (e2 = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR)) < 0) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator"); + if (this.reader.setIndex(e2), this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR), this.readBlockZip64EndOfCentralLocator(), !this.isSignature(this.relativeOffsetEndOfZip64CentralDir, s.ZIP64_CENTRAL_DIRECTORY_END) && (this.relativeOffsetEndOfZip64CentralDir = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END), this.relativeOffsetEndOfZip64CentralDir < 0)) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory"); this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir), this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END), this.readBlockZip64EndOfCentral(); } var r2 = this.centralDirOffset + this.centralDirSize; this.zip64 && (r2 += 20, r2 += 12 + this.zip64EndOfCentralSize); var n2 = t3 - r2; - if (0 < n2) - this.isSignature(t3, s.CENTRAL_FILE_HEADER) || (this.reader.zero = n2); - else if (n2 < 0) - throw new Error("Corrupted zip: missing " + Math.abs(n2) + " bytes."); + if (0 < n2) this.isSignature(t3, s.CENTRAL_FILE_HEADER) || (this.reader.zero = n2); + else if (n2 < 0) throw new Error("Corrupted zip: missing " + Math.abs(n2) + " bytes."); }, prepareReader: function(e2) { this.reader = n(e2); }, load: function(e2) { @@ -1126,31 +1072,26 @@ var hedyApp = (() => { this.options = e2, this.loadOptions = t3; } l.prototype = { isEncrypted: function() { - return (1 & this.bitFlag) == 1; + return 1 == (1 & this.bitFlag); }, useUTF8: function() { - return (2048 & this.bitFlag) == 2048; + return 2048 == (2048 & this.bitFlag); }, readLocalPart: function(e2) { var t3, r2; - if (e2.skip(22), this.fileNameLength = e2.readInt(2), r2 = e2.readInt(2), this.fileName = e2.readData(this.fileNameLength), e2.skip(r2), this.compressedSize === -1 || this.uncompressedSize === -1) - throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)"); - if ((t3 = function(e3) { - for (var t4 in h3) - if (Object.prototype.hasOwnProperty.call(h3, t4) && h3[t4].magic === e3) - return h3[t4]; + if (e2.skip(22), this.fileNameLength = e2.readInt(2), r2 = e2.readInt(2), this.fileName = e2.readData(this.fileNameLength), e2.skip(r2), -1 === this.compressedSize || -1 === this.uncompressedSize) throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)"); + if (null === (t3 = function(e3) { + for (var t4 in h3) if (Object.prototype.hasOwnProperty.call(h3, t4) && h3[t4].magic === e3) return h3[t4]; return null; - }(this.compressionMethod)) === null) - throw new Error("Corrupted zip : compression " + s.pretty(this.compressionMethod) + " unknown (inner file : " + s.transformTo("string", this.fileName) + ")"); + }(this.compressionMethod))) throw new Error("Corrupted zip : compression " + s.pretty(this.compressionMethod) + " unknown (inner file : " + s.transformTo("string", this.fileName) + ")"); this.decompressed = new i(this.compressedSize, this.uncompressedSize, this.crc32, t3, e2.readData(this.compressedSize)); }, readCentralPart: function(e2) { this.versionMadeBy = e2.readInt(2), e2.skip(2), this.bitFlag = e2.readInt(2), this.compressionMethod = e2.readString(2), this.date = e2.readDate(), this.crc32 = e2.readInt(4), this.compressedSize = e2.readInt(4), this.uncompressedSize = e2.readInt(4); var t3 = e2.readInt(2); - if (this.extraFieldsLength = e2.readInt(2), this.fileCommentLength = e2.readInt(2), this.diskNumberStart = e2.readInt(2), this.internalFileAttributes = e2.readInt(2), this.externalFileAttributes = e2.readInt(4), this.localHeaderOffset = e2.readInt(4), this.isEncrypted()) - throw new Error("Encrypted zip are not supported"); + if (this.extraFieldsLength = e2.readInt(2), this.fileCommentLength = e2.readInt(2), this.diskNumberStart = e2.readInt(2), this.internalFileAttributes = e2.readInt(2), this.externalFileAttributes = e2.readInt(4), this.localHeaderOffset = e2.readInt(4), this.isEncrypted()) throw new Error("Encrypted zip are not supported"); e2.skip(t3), this.readExtraFields(e2), this.parseZIP64ExtraField(e2), this.fileComment = e2.readData(this.fileCommentLength); }, processAttributes: function() { this.unixPermissions = null, this.dosPermissions = null; var e2 = this.versionMadeBy >> 8; - this.dir = !!(16 & this.externalFileAttributes), e2 == 0 && (this.dosPermissions = 63 & this.externalFileAttributes), e2 == 3 && (this.unixPermissions = this.externalFileAttributes >> 16 & 65535), this.dir || this.fileNameStr.slice(-1) !== "/" || (this.dir = true); + this.dir = !!(16 & this.externalFileAttributes), 0 == e2 && (this.dosPermissions = 63 & this.externalFileAttributes), 3 == e2 && (this.unixPermissions = this.externalFileAttributes >> 16 & 65535), this.dir || "/" !== this.fileNameStr.slice(-1) || (this.dir = true); }, parseZIP64ExtraField: function() { if (this.extraFields[1]) { var e2 = n(this.extraFields[1].value); @@ -1158,24 +1099,20 @@ var hedyApp = (() => { } }, readExtraFields: function(e2) { var t3, r2, n2, i2 = e2.index + this.extraFieldsLength; - for (this.extraFields || (this.extraFields = {}); e2.index + 4 < i2; ) - t3 = e2.readInt(2), r2 = e2.readInt(2), n2 = e2.readData(r2), this.extraFields[t3] = { id: t3, length: r2, value: n2 }; + for (this.extraFields || (this.extraFields = {}); e2.index + 4 < i2; ) t3 = e2.readInt(2), r2 = e2.readInt(2), n2 = e2.readData(r2), this.extraFields[t3] = { id: t3, length: r2, value: n2 }; e2.setIndex(i2); }, handleUTF8: function() { var e2 = u.uint8array ? "uint8array" : "array"; - if (this.useUTF8()) - this.fileNameStr = o.utf8decode(this.fileName), this.fileCommentStr = o.utf8decode(this.fileComment); + if (this.useUTF8()) this.fileNameStr = o.utf8decode(this.fileName), this.fileCommentStr = o.utf8decode(this.fileComment); else { var t3 = this.findExtraFieldUnicodePath(); - if (t3 !== null) - this.fileNameStr = t3; + if (null !== t3) this.fileNameStr = t3; else { var r2 = s.transformTo(e2, this.fileName); this.fileNameStr = this.loadOptions.decodeFileName(r2); } var n2 = this.findExtraFieldUnicodeComment(); - if (n2 !== null) - this.fileCommentStr = n2; + if (null !== n2) this.fileCommentStr = n2; else { var i2 = s.transformTo(e2, this.fileComment); this.fileCommentStr = this.loadOptions.decodeFileName(i2); @@ -1185,14 +1122,14 @@ var hedyApp = (() => { var e2 = this.extraFields[28789]; if (e2) { var t3 = n(e2.value); - return t3.readInt(1) !== 1 ? null : a(this.fileName) !== t3.readInt(4) ? null : o.utf8decode(t3.readData(e2.length - 5)); + return 1 !== t3.readInt(1) ? null : a(this.fileName) !== t3.readInt(4) ? null : o.utf8decode(t3.readData(e2.length - 5)); } return null; }, findExtraFieldUnicodeComment: function() { var e2 = this.extraFields[25461]; if (e2) { var t3 = n(e2.value); - return t3.readInt(1) !== 1 ? null : a(this.fileComment) !== t3.readInt(4) ? null : o.utf8decode(t3.readData(e2.length - 5)); + return 1 !== t3.readInt(1) ? null : a(this.fileComment) !== t3.readInt(4) ? null : o.utf8decode(t3.readData(e2.length - 5)); } return null; } }, t2.exports = l; @@ -1205,10 +1142,9 @@ var hedyApp = (() => { n.prototype = { internalStream: function(e2) { var t3 = null, r2 = "string"; try { - if (!e2) - throw new Error("No output type specified."); - var n2 = (r2 = e2.toLowerCase()) === "string" || r2 === "text"; - r2 !== "binarystring" && r2 !== "text" || (r2 = "string"), t3 = this._decompressWorker(); + if (!e2) throw new Error("No output type specified."); + var n2 = "string" === (r2 = e2.toLowerCase()) || "text" === r2; + "binarystring" !== r2 && "text" !== r2 || (r2 = "string"), t3 = this._decompressWorker(); var i2 = !this._dataBinary; i2 && !n2 && (t3 = t3.pipe(new a.Utf8EncodeWorker())), !i2 && n2 && (t3 = t3.pipe(new a.Utf8DecodeWorker())); } catch (e3) { @@ -1220,8 +1156,7 @@ var hedyApp = (() => { }, nodeStream: function(e2, t3) { return this.internalStream(e2 || "nodebuffer").toNodejsStream(t3); }, _compressWorker: function(e2, t3) { - if (this._data instanceof o && this._data.compression.magic === e2.magic) - return this._data.getCompressedWorker(); + if (this._data instanceof o && this._data.compression.magic === e2.magic) return this._data.getCompressedWorker(); var r2 = this._decompressWorker(); return this._dataBinary || (r2 = r2.pipe(new a.Utf8EncodeWorker())), o.createWorkerFrom(r2, e2, t3); }, _decompressWorker: function() { @@ -1229,8 +1164,7 @@ var hedyApp = (() => { } }; for (var u = ["asText", "asBinary", "asNodeBuffer", "asUint8Array", "asArrayBuffer"], l = function() { throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); - }, f = 0; f < u.length; f++) - n.prototype[u[f]] = l; + }, f = 0; f < u.length; f++) n.prototype[u[f]] = l; t2.exports = n; }, { "./compressedObject": 2, "./stream/DataWorker": 27, "./stream/GenericWorker": 28, "./stream/StreamHelper": 29, "./utf8": 31 }], 36: [function(e, l, t2) { (function(t3) { @@ -1241,15 +1175,14 @@ var hedyApp = (() => { s.observe(a, { characterData: true }), r = function() { a.data = i = ++i % 2; }; - } else if (t3.setImmediate || t3.MessageChannel === void 0) - r = "document" in t3 && "onreadystatechange" in t3.document.createElement("script") ? function() { - var e3 = t3.document.createElement("script"); - e3.onreadystatechange = function() { - u(), e3.onreadystatechange = null, e3.parentNode.removeChild(e3), e3 = null; - }, t3.document.documentElement.appendChild(e3); - } : function() { - setTimeout(u, 0); - }; + } else if (t3.setImmediate || void 0 === t3.MessageChannel) r = "document" in t3 && "onreadystatechange" in t3.document.createElement("script") ? function() { + var e3 = t3.document.createElement("script"); + e3.onreadystatechange = function() { + u(), e3.onreadystatechange = null, e3.parentNode.removeChild(e3), e3 = null; + }, t3.document.documentElement.appendChild(e3); + } : function() { + setTimeout(u, 0); + }; else { var o = new t3.MessageChannel(); o.port1.onmessage = u, r = function() { @@ -1261,16 +1194,15 @@ var hedyApp = (() => { var e3, t4; n = true; for (var r2 = h3.length; r2; ) { - for (t4 = h3, h3 = [], e3 = -1; ++e3 < r2; ) - t4[e3](); + for (t4 = h3, h3 = [], e3 = -1; ++e3 < r2; ) t4[e3](); r2 = h3.length; } n = false; } l.exports = function(e3) { - h3.push(e3) !== 1 || n || r(); + 1 !== h3.push(e3) || n || r(); }; - }).call(this, typeof global != "undefined" ? global : typeof self != "undefined" ? self : typeof window != "undefined" ? window : {}); + }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}); }, {}], 37: [function(e, t2, r) { "use strict"; var i = e("immediate"); @@ -1278,12 +1210,11 @@ var hedyApp = (() => { } var l = {}, s = ["REJECTED"], a = ["FULFILLED"], n = ["PENDING"]; function o(e2) { - if (typeof e2 != "function") - throw new TypeError("resolver must be a function"); + if ("function" != typeof e2) throw new TypeError("resolver must be a function"); this.state = n, this.queue = [], this.outcome = void 0, e2 !== u && d2(this, e2); } function h3(e2, t3, r2) { - this.promise = e2, typeof t3 == "function" && (this.onFulfilled = t3, this.callFulfilled = this.otherCallFulfilled), typeof r2 == "function" && (this.onRejected = r2, this.callRejected = this.otherCallRejected); + this.promise = e2, "function" == typeof t3 && (this.onFulfilled = t3, this.callFulfilled = this.otherCallFulfilled), "function" == typeof r2 && (this.onRejected = r2, this.callRejected = this.otherCallRejected); } function f(t3, r2, n2) { i(function() { @@ -1298,10 +1229,9 @@ var hedyApp = (() => { } function c2(e2) { var t3 = e2 && e2.then; - if (e2 && (typeof e2 == "object" || typeof e2 == "function") && typeof t3 == "function") - return function() { - t3.apply(e2, arguments); - }; + if (e2 && ("object" == typeof e2 || "function" == typeof e2) && "function" == typeof t3) return function() { + t3.apply(e2, arguments); + }; } function d2(t3, e2) { var r2 = false; @@ -1314,7 +1244,7 @@ var hedyApp = (() => { var s2 = p(function() { e2(i2, n2); }); - s2.status === "error" && n2(s2.value); + "error" === s2.status && n2(s2.value); } function p(e2, t3) { var r2 = {}; @@ -1326,8 +1256,7 @@ var hedyApp = (() => { return r2; } (t2.exports = o).prototype.finally = function(t3) { - if (typeof t3 != "function") - return this; + if ("function" != typeof t3) return this; var r2 = this.constructor; return this.then(function(e2) { return r2.resolve(t3()).then(function() { @@ -1341,8 +1270,7 @@ var hedyApp = (() => { }, o.prototype.catch = function(e2) { return this.then(null, e2); }, o.prototype.then = function(e2, t3) { - if (typeof e2 != "function" && this.state === a || typeof t3 != "function" && this.state === s) - return this; + if ("function" != typeof e2 && this.state === a || "function" != typeof t3 && this.state === s) return this; var r2 = new this.constructor(u); this.state !== n ? f(r2, this.state === a ? e2 : t3, this.outcome) : this.queue.push(new h3(r2, e2, t3)); return r2; @@ -1356,39 +1284,31 @@ var hedyApp = (() => { f(this.promise, this.onRejected, e2); }, l.resolve = function(e2, t3) { var r2 = p(c2, t3); - if (r2.status === "error") - return l.reject(e2, r2.value); + if ("error" === r2.status) return l.reject(e2, r2.value); var n2 = r2.value; - if (n2) - d2(e2, n2); + if (n2) d2(e2, n2); else { e2.state = a, e2.outcome = t3; - for (var i2 = -1, s2 = e2.queue.length; ++i2 < s2; ) - e2.queue[i2].callFulfilled(t3); + for (var i2 = -1, s2 = e2.queue.length; ++i2 < s2; ) e2.queue[i2].callFulfilled(t3); } return e2; }, l.reject = function(e2, t3) { e2.state = s, e2.outcome = t3; - for (var r2 = -1, n2 = e2.queue.length; ++r2 < n2; ) - e2.queue[r2].callRejected(t3); + for (var r2 = -1, n2 = e2.queue.length; ++r2 < n2; ) e2.queue[r2].callRejected(t3); return e2; }, o.resolve = function(e2) { - if (e2 instanceof this) - return e2; + if (e2 instanceof this) return e2; return l.resolve(new this(u), e2); }, o.reject = function(e2) { var t3 = new this(u); return l.reject(t3, e2); }, o.all = function(e2) { var r2 = this; - if (Object.prototype.toString.call(e2) !== "[object Array]") - return this.reject(new TypeError("must be an array")); + if ("[object Array]" !== Object.prototype.toString.call(e2)) return this.reject(new TypeError("must be an array")); var n2 = e2.length, i2 = false; - if (!n2) - return this.resolve([]); + if (!n2) return this.resolve([]); var s2 = new Array(n2), a2 = 0, t3 = -1, o2 = new this(u); - for (; ++t3 < n2; ) - h4(e2[t3], t3); + for (; ++t3 < n2; ) h4(e2[t3], t3); return o2; function h4(e3, t4) { r2.resolve(e3).then(function(e4) { @@ -1399,18 +1319,15 @@ var hedyApp = (() => { } }, o.race = function(e2) { var t3 = this; - if (Object.prototype.toString.call(e2) !== "[object Array]") - return this.reject(new TypeError("must be an array")); + if ("[object Array]" !== Object.prototype.toString.call(e2)) return this.reject(new TypeError("must be an array")); var r2 = e2.length, n2 = false; - if (!r2) - return this.resolve([]); + if (!r2) return this.resolve([]); var i2 = -1, s2 = new this(u); - for (; ++i2 < r2; ) - a2 = e2[i2], t3.resolve(a2).then(function(e3) { - n2 || (n2 = true, l.resolve(s2, e3)); - }, function(e3) { - n2 || (n2 = true, l.reject(s2, e3)); - }); + for (; ++i2 < r2; ) a2 = e2[i2], t3.resolve(a2).then(function(e3) { + n2 || (n2 = true, l.resolve(s2, e3)); + }, function(e3) { + n2 || (n2 = true, l.reject(s2, e3)); + }); var a2; return s2; }; @@ -1422,42 +1339,36 @@ var hedyApp = (() => { "use strict"; var a = e("./zlib/deflate"), o = e("./utils/common"), h3 = e("./utils/strings"), i = e("./zlib/messages"), s = e("./zlib/zstream"), u = Object.prototype.toString, l = 0, f = -1, c2 = 0, d2 = 8; function p(e2) { - if (!(this instanceof p)) - return new p(e2); + if (!(this instanceof p)) return new p(e2); this.options = o.assign({ level: f, method: d2, chunkSize: 16384, windowBits: 15, memLevel: 8, strategy: c2, to: "" }, e2 || {}); var t3 = this.options; t3.raw && 0 < t3.windowBits ? t3.windowBits = -t3.windowBits : t3.gzip && 0 < t3.windowBits && t3.windowBits < 16 && (t3.windowBits += 16), this.err = 0, this.msg = "", this.ended = false, this.chunks = [], this.strm = new s(), this.strm.avail_out = 0; var r2 = a.deflateInit2(this.strm, t3.level, t3.method, t3.windowBits, t3.memLevel, t3.strategy); - if (r2 !== l) - throw new Error(i[r2]); + if (r2 !== l) throw new Error(i[r2]); if (t3.header && a.deflateSetHeader(this.strm, t3.header), t3.dictionary) { var n2; - if (n2 = typeof t3.dictionary == "string" ? h3.string2buf(t3.dictionary) : u.call(t3.dictionary) === "[object ArrayBuffer]" ? new Uint8Array(t3.dictionary) : t3.dictionary, (r2 = a.deflateSetDictionary(this.strm, n2)) !== l) - throw new Error(i[r2]); + if (n2 = "string" == typeof t3.dictionary ? h3.string2buf(t3.dictionary) : "[object ArrayBuffer]" === u.call(t3.dictionary) ? new Uint8Array(t3.dictionary) : t3.dictionary, (r2 = a.deflateSetDictionary(this.strm, n2)) !== l) throw new Error(i[r2]); this._dict_set = true; } } function n(e2, t3) { var r2 = new p(t3); - if (r2.push(e2, true), r2.err) - throw r2.msg || i[r2.err]; + if (r2.push(e2, true), r2.err) throw r2.msg || i[r2.err]; return r2.result; } p.prototype.push = function(e2, t3) { var r2, n2, i2 = this.strm, s2 = this.options.chunkSize; - if (this.ended) - return false; - n2 = t3 === ~~t3 ? t3 : t3 === true ? 4 : 0, typeof e2 == "string" ? i2.input = h3.string2buf(e2) : u.call(e2) === "[object ArrayBuffer]" ? i2.input = new Uint8Array(e2) : i2.input = e2, i2.next_in = 0, i2.avail_in = i2.input.length; + if (this.ended) return false; + n2 = t3 === ~~t3 ? t3 : true === t3 ? 4 : 0, "string" == typeof e2 ? i2.input = h3.string2buf(e2) : "[object ArrayBuffer]" === u.call(e2) ? i2.input = new Uint8Array(e2) : i2.input = e2, i2.next_in = 0, i2.avail_in = i2.input.length; do { - if (i2.avail_out === 0 && (i2.output = new o.Buf8(s2), i2.next_out = 0, i2.avail_out = s2), (r2 = a.deflate(i2, n2)) !== 1 && r2 !== l) - return this.onEnd(r2), !(this.ended = true); - i2.avail_out !== 0 && (i2.avail_in !== 0 || n2 !== 4 && n2 !== 2) || (this.options.to === "string" ? this.onData(h3.buf2binstring(o.shrinkBuf(i2.output, i2.next_out))) : this.onData(o.shrinkBuf(i2.output, i2.next_out))); - } while ((0 < i2.avail_in || i2.avail_out === 0) && r2 !== 1); - return n2 === 4 ? (r2 = a.deflateEnd(this.strm), this.onEnd(r2), this.ended = true, r2 === l) : n2 !== 2 || (this.onEnd(l), !(i2.avail_out = 0)); + if (0 === i2.avail_out && (i2.output = new o.Buf8(s2), i2.next_out = 0, i2.avail_out = s2), 1 !== (r2 = a.deflate(i2, n2)) && r2 !== l) return this.onEnd(r2), !(this.ended = true); + 0 !== i2.avail_out && (0 !== i2.avail_in || 4 !== n2 && 2 !== n2) || ("string" === this.options.to ? this.onData(h3.buf2binstring(o.shrinkBuf(i2.output, i2.next_out))) : this.onData(o.shrinkBuf(i2.output, i2.next_out))); + } while ((0 < i2.avail_in || 0 === i2.avail_out) && 1 !== r2); + return 4 === n2 ? (r2 = a.deflateEnd(this.strm), this.onEnd(r2), this.ended = true, r2 === l) : 2 !== n2 || (this.onEnd(l), !(i2.avail_out = 0)); }, p.prototype.onData = function(e2) { this.chunks.push(e2); }, p.prototype.onEnd = function(e2) { - e2 === l && (this.options.to === "string" ? this.result = this.chunks.join("") : this.result = o.flattenChunks(this.chunks)), this.chunks = [], this.err = e2, this.msg = this.strm.msg; + e2 === l && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = o.flattenChunks(this.chunks)), this.chunks = [], this.err = e2, this.msg = this.strm.msg; }, r.Deflate = p, r.deflate = n, r.deflateRaw = function(e2, t3) { return (t3 = t3 || {}).raw = true, n(e2, t3); }, r.gzip = function(e2, t3) { @@ -1467,51 +1378,44 @@ var hedyApp = (() => { "use strict"; var c2 = e("./zlib/inflate"), d2 = e("./utils/common"), p = e("./utils/strings"), m = e("./zlib/constants"), n = e("./zlib/messages"), i = e("./zlib/zstream"), s = e("./zlib/gzheader"), _ = Object.prototype.toString; function a(e2) { - if (!(this instanceof a)) - return new a(e2); + if (!(this instanceof a)) return new a(e2); this.options = d2.assign({ chunkSize: 16384, windowBits: 0, to: "" }, e2 || {}); var t3 = this.options; - t3.raw && 0 <= t3.windowBits && t3.windowBits < 16 && (t3.windowBits = -t3.windowBits, t3.windowBits === 0 && (t3.windowBits = -15)), !(0 <= t3.windowBits && t3.windowBits < 16) || e2 && e2.windowBits || (t3.windowBits += 32), 15 < t3.windowBits && t3.windowBits < 48 && (15 & t3.windowBits) == 0 && (t3.windowBits |= 15), this.err = 0, this.msg = "", this.ended = false, this.chunks = [], this.strm = new i(), this.strm.avail_out = 0; + t3.raw && 0 <= t3.windowBits && t3.windowBits < 16 && (t3.windowBits = -t3.windowBits, 0 === t3.windowBits && (t3.windowBits = -15)), !(0 <= t3.windowBits && t3.windowBits < 16) || e2 && e2.windowBits || (t3.windowBits += 32), 15 < t3.windowBits && t3.windowBits < 48 && 0 == (15 & t3.windowBits) && (t3.windowBits |= 15), this.err = 0, this.msg = "", this.ended = false, this.chunks = [], this.strm = new i(), this.strm.avail_out = 0; var r2 = c2.inflateInit2(this.strm, t3.windowBits); - if (r2 !== m.Z_OK) - throw new Error(n[r2]); + if (r2 !== m.Z_OK) throw new Error(n[r2]); this.header = new s(), c2.inflateGetHeader(this.strm, this.header); } function o(e2, t3) { var r2 = new a(t3); - if (r2.push(e2, true), r2.err) - throw r2.msg || n[r2.err]; + if (r2.push(e2, true), r2.err) throw r2.msg || n[r2.err]; return r2.result; } a.prototype.push = function(e2, t3) { var r2, n2, i2, s2, a2, o2, h3 = this.strm, u = this.options.chunkSize, l = this.options.dictionary, f = false; - if (this.ended) - return false; - n2 = t3 === ~~t3 ? t3 : t3 === true ? m.Z_FINISH : m.Z_NO_FLUSH, typeof e2 == "string" ? h3.input = p.binstring2buf(e2) : _.call(e2) === "[object ArrayBuffer]" ? h3.input = new Uint8Array(e2) : h3.input = e2, h3.next_in = 0, h3.avail_in = h3.input.length; + if (this.ended) return false; + n2 = t3 === ~~t3 ? t3 : true === t3 ? m.Z_FINISH : m.Z_NO_FLUSH, "string" == typeof e2 ? h3.input = p.binstring2buf(e2) : "[object ArrayBuffer]" === _.call(e2) ? h3.input = new Uint8Array(e2) : h3.input = e2, h3.next_in = 0, h3.avail_in = h3.input.length; do { - if (h3.avail_out === 0 && (h3.output = new d2.Buf8(u), h3.next_out = 0, h3.avail_out = u), (r2 = c2.inflate(h3, m.Z_NO_FLUSH)) === m.Z_NEED_DICT && l && (o2 = typeof l == "string" ? p.string2buf(l) : _.call(l) === "[object ArrayBuffer]" ? new Uint8Array(l) : l, r2 = c2.inflateSetDictionary(this.strm, o2)), r2 === m.Z_BUF_ERROR && f === true && (r2 = m.Z_OK, f = false), r2 !== m.Z_STREAM_END && r2 !== m.Z_OK) - return this.onEnd(r2), !(this.ended = true); - h3.next_out && (h3.avail_out !== 0 && r2 !== m.Z_STREAM_END && (h3.avail_in !== 0 || n2 !== m.Z_FINISH && n2 !== m.Z_SYNC_FLUSH) || (this.options.to === "string" ? (i2 = p.utf8border(h3.output, h3.next_out), s2 = h3.next_out - i2, a2 = p.buf2string(h3.output, i2), h3.next_out = s2, h3.avail_out = u - s2, s2 && d2.arraySet(h3.output, h3.output, i2, s2, 0), this.onData(a2)) : this.onData(d2.shrinkBuf(h3.output, h3.next_out)))), h3.avail_in === 0 && h3.avail_out === 0 && (f = true); - } while ((0 < h3.avail_in || h3.avail_out === 0) && r2 !== m.Z_STREAM_END); + if (0 === h3.avail_out && (h3.output = new d2.Buf8(u), h3.next_out = 0, h3.avail_out = u), (r2 = c2.inflate(h3, m.Z_NO_FLUSH)) === m.Z_NEED_DICT && l && (o2 = "string" == typeof l ? p.string2buf(l) : "[object ArrayBuffer]" === _.call(l) ? new Uint8Array(l) : l, r2 = c2.inflateSetDictionary(this.strm, o2)), r2 === m.Z_BUF_ERROR && true === f && (r2 = m.Z_OK, f = false), r2 !== m.Z_STREAM_END && r2 !== m.Z_OK) return this.onEnd(r2), !(this.ended = true); + h3.next_out && (0 !== h3.avail_out && r2 !== m.Z_STREAM_END && (0 !== h3.avail_in || n2 !== m.Z_FINISH && n2 !== m.Z_SYNC_FLUSH) || ("string" === this.options.to ? (i2 = p.utf8border(h3.output, h3.next_out), s2 = h3.next_out - i2, a2 = p.buf2string(h3.output, i2), h3.next_out = s2, h3.avail_out = u - s2, s2 && d2.arraySet(h3.output, h3.output, i2, s2, 0), this.onData(a2)) : this.onData(d2.shrinkBuf(h3.output, h3.next_out)))), 0 === h3.avail_in && 0 === h3.avail_out && (f = true); + } while ((0 < h3.avail_in || 0 === h3.avail_out) && r2 !== m.Z_STREAM_END); return r2 === m.Z_STREAM_END && (n2 = m.Z_FINISH), n2 === m.Z_FINISH ? (r2 = c2.inflateEnd(this.strm), this.onEnd(r2), this.ended = true, r2 === m.Z_OK) : n2 !== m.Z_SYNC_FLUSH || (this.onEnd(m.Z_OK), !(h3.avail_out = 0)); }, a.prototype.onData = function(e2) { this.chunks.push(e2); }, a.prototype.onEnd = function(e2) { - e2 === m.Z_OK && (this.options.to === "string" ? this.result = this.chunks.join("") : this.result = d2.flattenChunks(this.chunks)), this.chunks = [], this.err = e2, this.msg = this.strm.msg; + e2 === m.Z_OK && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = d2.flattenChunks(this.chunks)), this.chunks = [], this.err = e2, this.msg = this.strm.msg; }, r.Inflate = a, r.inflate = o, r.inflateRaw = function(e2, t3) { return (t3 = t3 || {}).raw = true, o(e2, t3); }, r.ungzip = o; }, { "./utils/common": 41, "./utils/strings": 42, "./zlib/constants": 44, "./zlib/gzheader": 47, "./zlib/inflate": 49, "./zlib/messages": 51, "./zlib/zstream": 53 }], 41: [function(e, t2, r) { "use strict"; - var n = typeof Uint8Array != "undefined" && typeof Uint16Array != "undefined" && typeof Int32Array != "undefined"; + var n = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Int32Array; r.assign = function(e2) { for (var t3 = Array.prototype.slice.call(arguments, 1); t3.length; ) { var r2 = t3.shift(); if (r2) { - if (typeof r2 != "object") - throw new TypeError(r2 + "must be non-object"); - for (var n2 in r2) - r2.hasOwnProperty(n2) && (e2[n2] = r2[n2]); + if ("object" != typeof r2) throw new TypeError(r2 + "must be non-object"); + for (var n2 in r2) r2.hasOwnProperty(n2) && (e2[n2] = r2[n2]); } } return e2; @@ -1519,21 +1423,15 @@ var hedyApp = (() => { return e2.length === t3 ? e2 : e2.subarray ? e2.subarray(0, t3) : (e2.length = t3, e2); }; var i = { arraySet: function(e2, t3, r2, n2, i2) { - if (t3.subarray && e2.subarray) - e2.set(t3.subarray(r2, r2 + n2), i2); - else - for (var s2 = 0; s2 < n2; s2++) - e2[i2 + s2] = t3[r2 + s2]; + if (t3.subarray && e2.subarray) e2.set(t3.subarray(r2, r2 + n2), i2); + else for (var s2 = 0; s2 < n2; s2++) e2[i2 + s2] = t3[r2 + s2]; }, flattenChunks: function(e2) { var t3, r2, n2, i2, s2, a; - for (t3 = n2 = 0, r2 = e2.length; t3 < r2; t3++) - n2 += e2[t3].length; - for (a = new Uint8Array(n2), t3 = i2 = 0, r2 = e2.length; t3 < r2; t3++) - s2 = e2[t3], a.set(s2, i2), i2 += s2.length; + for (t3 = n2 = 0, r2 = e2.length; t3 < r2; t3++) n2 += e2[t3].length; + for (a = new Uint8Array(n2), t3 = i2 = 0, r2 = e2.length; t3 < r2; t3++) s2 = e2[t3], a.set(s2, i2), i2 += s2.length; return a; } }, s = { arraySet: function(e2, t3, r2, n2, i2) { - for (var s2 = 0; s2 < n2; s2++) - e2[i2 + s2] = t3[r2 + s2]; + for (var s2 = 0; s2 < n2; s2++) e2[i2 + s2] = t3[r2 + s2]; }, flattenChunks: function(e2) { return [].concat.apply([], e2); } }; @@ -1553,53 +1451,41 @@ var hedyApp = (() => { } catch (e2) { s = false; } - for (var u = new h3.Buf8(256), n = 0; n < 256; n++) - u[n] = 252 <= n ? 6 : 248 <= n ? 5 : 240 <= n ? 4 : 224 <= n ? 3 : 192 <= n ? 2 : 1; + for (var u = new h3.Buf8(256), n = 0; n < 256; n++) u[n] = 252 <= n ? 6 : 248 <= n ? 5 : 240 <= n ? 4 : 224 <= n ? 3 : 192 <= n ? 2 : 1; function l(e2, t3) { - if (t3 < 65537 && (e2.subarray && s || !e2.subarray && i)) - return String.fromCharCode.apply(null, h3.shrinkBuf(e2, t3)); - for (var r2 = "", n2 = 0; n2 < t3; n2++) - r2 += String.fromCharCode(e2[n2]); + if (t3 < 65537 && (e2.subarray && s || !e2.subarray && i)) return String.fromCharCode.apply(null, h3.shrinkBuf(e2, t3)); + for (var r2 = "", n2 = 0; n2 < t3; n2++) r2 += String.fromCharCode(e2[n2]); return r2; } u[254] = u[254] = 1, r.string2buf = function(e2) { var t3, r2, n2, i2, s2, a = e2.length, o = 0; - for (i2 = 0; i2 < a; i2++) - (64512 & (r2 = e2.charCodeAt(i2))) == 55296 && i2 + 1 < a && (64512 & (n2 = e2.charCodeAt(i2 + 1))) == 56320 && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), o += r2 < 128 ? 1 : r2 < 2048 ? 2 : r2 < 65536 ? 3 : 4; - for (t3 = new h3.Buf8(o), i2 = s2 = 0; s2 < o; i2++) - (64512 & (r2 = e2.charCodeAt(i2))) == 55296 && i2 + 1 < a && (64512 & (n2 = e2.charCodeAt(i2 + 1))) == 56320 && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), r2 < 128 ? t3[s2++] = r2 : (r2 < 2048 ? t3[s2++] = 192 | r2 >>> 6 : (r2 < 65536 ? t3[s2++] = 224 | r2 >>> 12 : (t3[s2++] = 240 | r2 >>> 18, t3[s2++] = 128 | r2 >>> 12 & 63), t3[s2++] = 128 | r2 >>> 6 & 63), t3[s2++] = 128 | 63 & r2); + for (i2 = 0; i2 < a; i2++) 55296 == (64512 & (r2 = e2.charCodeAt(i2))) && i2 + 1 < a && 56320 == (64512 & (n2 = e2.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), o += r2 < 128 ? 1 : r2 < 2048 ? 2 : r2 < 65536 ? 3 : 4; + for (t3 = new h3.Buf8(o), i2 = s2 = 0; s2 < o; i2++) 55296 == (64512 & (r2 = e2.charCodeAt(i2))) && i2 + 1 < a && 56320 == (64512 & (n2 = e2.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), r2 < 128 ? t3[s2++] = r2 : (r2 < 2048 ? t3[s2++] = 192 | r2 >>> 6 : (r2 < 65536 ? t3[s2++] = 224 | r2 >>> 12 : (t3[s2++] = 240 | r2 >>> 18, t3[s2++] = 128 | r2 >>> 12 & 63), t3[s2++] = 128 | r2 >>> 6 & 63), t3[s2++] = 128 | 63 & r2); return t3; }, r.buf2binstring = function(e2) { return l(e2, e2.length); }, r.binstring2buf = function(e2) { - for (var t3 = new h3.Buf8(e2.length), r2 = 0, n2 = t3.length; r2 < n2; r2++) - t3[r2] = e2.charCodeAt(r2); + for (var t3 = new h3.Buf8(e2.length), r2 = 0, n2 = t3.length; r2 < n2; r2++) t3[r2] = e2.charCodeAt(r2); return t3; }, r.buf2string = function(e2, t3) { var r2, n2, i2, s2, a = t3 || e2.length, o = new Array(2 * a); - for (r2 = n2 = 0; r2 < a; ) - if ((i2 = e2[r2++]) < 128) - o[n2++] = i2; - else if (4 < (s2 = u[i2])) - o[n2++] = 65533, r2 += s2 - 1; - else { - for (i2 &= s2 === 2 ? 31 : s2 === 3 ? 15 : 7; 1 < s2 && r2 < a; ) - i2 = i2 << 6 | 63 & e2[r2++], s2--; - 1 < s2 ? o[n2++] = 65533 : i2 < 65536 ? o[n2++] = i2 : (i2 -= 65536, o[n2++] = 55296 | i2 >> 10 & 1023, o[n2++] = 56320 | 1023 & i2); - } + for (r2 = n2 = 0; r2 < a; ) if ((i2 = e2[r2++]) < 128) o[n2++] = i2; + else if (4 < (s2 = u[i2])) o[n2++] = 65533, r2 += s2 - 1; + else { + for (i2 &= 2 === s2 ? 31 : 3 === s2 ? 15 : 7; 1 < s2 && r2 < a; ) i2 = i2 << 6 | 63 & e2[r2++], s2--; + 1 < s2 ? o[n2++] = 65533 : i2 < 65536 ? o[n2++] = i2 : (i2 -= 65536, o[n2++] = 55296 | i2 >> 10 & 1023, o[n2++] = 56320 | 1023 & i2); + } return l(o, n2); }, r.utf8border = function(e2, t3) { var r2; - for ((t3 = t3 || e2.length) > e2.length && (t3 = e2.length), r2 = t3 - 1; 0 <= r2 && (192 & e2[r2]) == 128; ) - r2--; - return r2 < 0 ? t3 : r2 === 0 ? t3 : r2 + u[e2[r2]] > t3 ? r2 : t3; + for ((t3 = t3 || e2.length) > e2.length && (t3 = e2.length), r2 = t3 - 1; 0 <= r2 && 128 == (192 & e2[r2]); ) r2--; + return r2 < 0 ? t3 : 0 === r2 ? t3 : r2 + u[e2[r2]] > t3 ? r2 : t3; }; }, { "./common": 41 }], 43: [function(e, t2, r) { "use strict"; t2.exports = function(e2, t3, r2, n) { - for (var i = 65535 & e2 | 0, s = e2 >>> 16 & 65535 | 0, a = 0; r2 !== 0; ) { - for (r2 -= a = 2e3 < r2 ? 2e3 : r2; s = s + (i = i + t3[n++] | 0) | 0, --a; ) - ; + for (var i = 65535 & e2 | 0, s = e2 >>> 16 & 65535 | 0, a = 0; 0 !== r2; ) { + for (r2 -= a = 2e3 < r2 ? 2e3 : r2; s = s + (i = i + t3[n++] | 0) | 0, --a; ) ; i %= 65521, s %= 65521; } return i | s << 16 | 0; @@ -1612,8 +1498,7 @@ var hedyApp = (() => { var o = function() { for (var e2, t3 = [], r2 = 0; r2 < 256; r2++) { e2 = r2; - for (var n = 0; n < 8; n++) - e2 = 1 & e2 ? 3988292384 ^ e2 >>> 1 : e2 >>> 1; + for (var n = 0; n < 8; n++) e2 = 1 & e2 ? 3988292384 ^ e2 >>> 1 : e2 >>> 1; t3[r2] = e2; } return t3; @@ -1621,8 +1506,7 @@ var hedyApp = (() => { t2.exports = function(e2, t3, r2, n) { var i = o, s = n + r2; e2 ^= -1; - for (var a = n; a < s; a++) - e2 = e2 >>> 8 ^ i[255 & (e2 ^ t3[a])]; + for (var a = n; a < s; a++) e2 = e2 >>> 8 ^ i[255 & (e2 ^ t3[a])]; return -1 ^ e2; }; }, {}], 46: [function(e, t2, r) { @@ -1635,12 +1519,11 @@ var hedyApp = (() => { return (e2 << 1) - (4 < e2 ? 9 : 0); } function D2(e2) { - for (var t3 = e2.length; 0 <= --t3; ) - e2[t3] = 0; + for (var t3 = e2.length; 0 <= --t3; ) e2[t3] = 0; } function F2(e2) { var t3 = e2.state, r2 = t3.pending; - r2 > e2.avail_out && (r2 = e2.avail_out), r2 !== 0 && (c2.arraySet(e2.output, t3.pending_buf, t3.pending_out, r2, e2.next_out), e2.next_out += r2, t3.pending_out += r2, e2.total_out += r2, e2.avail_out -= r2, t3.pending -= r2, t3.pending === 0 && (t3.pending_out = 0)); + r2 > e2.avail_out && (r2 = e2.avail_out), 0 !== r2 && (c2.arraySet(e2.output, t3.pending_buf, t3.pending_out, r2, e2.next_out), e2.next_out += r2, t3.pending_out += r2, e2.total_out += r2, e2.avail_out -= r2, t3.pending -= r2, 0 === t3.pending && (t3.pending_out = 0)); } function N(e2, t3) { u._tr_flush_block(e2, 0 <= e2.block_start ? e2.block_start : -1, e2.strstart - e2.block_start, t3), e2.block_start = e2.strstart, F2(e2.strm); @@ -1660,73 +1543,54 @@ var hedyApp = (() => { do { } while (u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && s2 < c3); if (n2 = S - (c3 - s2), s2 = c3 - S, a2 < n2) { - if (e2.match_start = t3, o2 <= (a2 = n2)) - break; + if (e2.match_start = t3, o2 <= (a2 = n2)) break; d3 = u2[s2 + a2 - 1], p2 = u2[s2 + a2]; } } - } while ((t3 = f2[t3 & l2]) > h4 && --i2 != 0); + } while ((t3 = f2[t3 & l2]) > h4 && 0 != --i2); return a2 <= e2.lookahead ? a2 : e2.lookahead; } function j2(e2) { var t3, r2, n2, i2, s2, a2, o2, h4, u2, l2, f2 = e2.w_size; do { if (i2 = e2.window_size - e2.lookahead - e2.strstart, e2.strstart >= f2 + (f2 - z2)) { - for (c2.arraySet(e2.window, e2.window, f2, f2, 0), e2.match_start -= f2, e2.strstart -= f2, e2.block_start -= f2, t3 = r2 = e2.hash_size; n2 = e2.head[--t3], e2.head[t3] = f2 <= n2 ? n2 - f2 : 0, --r2; ) - ; - for (t3 = r2 = f2; n2 = e2.prev[--t3], e2.prev[t3] = f2 <= n2 ? n2 - f2 : 0, --r2; ) - ; + for (c2.arraySet(e2.window, e2.window, f2, f2, 0), e2.match_start -= f2, e2.strstart -= f2, e2.block_start -= f2, t3 = r2 = e2.hash_size; n2 = e2.head[--t3], e2.head[t3] = f2 <= n2 ? n2 - f2 : 0, --r2; ) ; + for (t3 = r2 = f2; n2 = e2.prev[--t3], e2.prev[t3] = f2 <= n2 ? n2 - f2 : 0, --r2; ) ; i2 += f2; } - if (e2.strm.avail_in === 0) - break; - if (a2 = e2.strm, o2 = e2.window, h4 = e2.strstart + e2.lookahead, u2 = i2, l2 = void 0, l2 = a2.avail_in, u2 < l2 && (l2 = u2), r2 = l2 === 0 ? 0 : (a2.avail_in -= l2, c2.arraySet(o2, a2.input, a2.next_in, l2, h4), a2.state.wrap === 1 ? a2.adler = d2(a2.adler, o2, l2, h4) : a2.state.wrap === 2 && (a2.adler = p(a2.adler, o2, l2, h4)), a2.next_in += l2, a2.total_in += l2, l2), e2.lookahead += r2, e2.lookahead + e2.insert >= x) - for (s2 = e2.strstart - e2.insert, e2.ins_h = e2.window[s2], e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[s2 + 1]) & e2.hash_mask; e2.insert && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[s2 + x - 1]) & e2.hash_mask, e2.prev[s2 & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = s2, s2++, e2.insert--, !(e2.lookahead + e2.insert < x)); ) - ; - } while (e2.lookahead < z2 && e2.strm.avail_in !== 0); + if (0 === e2.strm.avail_in) break; + if (a2 = e2.strm, o2 = e2.window, h4 = e2.strstart + e2.lookahead, u2 = i2, l2 = void 0, l2 = a2.avail_in, u2 < l2 && (l2 = u2), r2 = 0 === l2 ? 0 : (a2.avail_in -= l2, c2.arraySet(o2, a2.input, a2.next_in, l2, h4), 1 === a2.state.wrap ? a2.adler = d2(a2.adler, o2, l2, h4) : 2 === a2.state.wrap && (a2.adler = p(a2.adler, o2, l2, h4)), a2.next_in += l2, a2.total_in += l2, l2), e2.lookahead += r2, e2.lookahead + e2.insert >= x) for (s2 = e2.strstart - e2.insert, e2.ins_h = e2.window[s2], e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[s2 + 1]) & e2.hash_mask; e2.insert && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[s2 + x - 1]) & e2.hash_mask, e2.prev[s2 & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = s2, s2++, e2.insert--, !(e2.lookahead + e2.insert < x)); ) ; + } while (e2.lookahead < z2 && 0 !== e2.strm.avail_in); } function Z(e2, t3) { for (var r2, n2; ; ) { if (e2.lookahead < z2) { - if (j2(e2), e2.lookahead < z2 && t3 === l) - return A; - if (e2.lookahead === 0) - break; + if (j2(e2), e2.lookahead < z2 && t3 === l) return A; + if (0 === e2.lookahead) break; } - if (r2 = 0, e2.lookahead >= x && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), r2 !== 0 && e2.strstart - r2 <= e2.w_size - z2 && (e2.match_length = L(e2, r2)), e2.match_length >= x) - if (n2 = u._tr_tally(e2, e2.strstart - e2.match_start, e2.match_length - x), e2.lookahead -= e2.match_length, e2.match_length <= e2.max_lazy_match && e2.lookahead >= x) { - for (e2.match_length--; e2.strstart++, e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart, --e2.match_length != 0; ) - ; - e2.strstart++; - } else - e2.strstart += e2.match_length, e2.match_length = 0, e2.ins_h = e2.window[e2.strstart], e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + 1]) & e2.hash_mask; - else - n2 = u._tr_tally(e2, 0, e2.window[e2.strstart]), e2.lookahead--, e2.strstart++; - if (n2 && (N(e2, false), e2.strm.avail_out === 0)) - return A; + if (r2 = 0, e2.lookahead >= x && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), 0 !== r2 && e2.strstart - r2 <= e2.w_size - z2 && (e2.match_length = L(e2, r2)), e2.match_length >= x) if (n2 = u._tr_tally(e2, e2.strstart - e2.match_start, e2.match_length - x), e2.lookahead -= e2.match_length, e2.match_length <= e2.max_lazy_match && e2.lookahead >= x) { + for (e2.match_length--; e2.strstart++, e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart, 0 != --e2.match_length; ) ; + e2.strstart++; + } else e2.strstart += e2.match_length, e2.match_length = 0, e2.ins_h = e2.window[e2.strstart], e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + 1]) & e2.hash_mask; + else n2 = u._tr_tally(e2, 0, e2.window[e2.strstart]), e2.lookahead--, e2.strstart++; + if (n2 && (N(e2, false), 0 === e2.strm.avail_out)) return A; } - return e2.insert = e2.strstart < x - 1 ? e2.strstart : x - 1, t3 === f ? (N(e2, true), e2.strm.avail_out === 0 ? O : B) : e2.last_lit && (N(e2, false), e2.strm.avail_out === 0) ? A : I; + return e2.insert = e2.strstart < x - 1 ? e2.strstart : x - 1, t3 === f ? (N(e2, true), 0 === e2.strm.avail_out ? O : B) : e2.last_lit && (N(e2, false), 0 === e2.strm.avail_out) ? A : I; } function W2(e2, t3) { for (var r2, n2, i2; ; ) { if (e2.lookahead < z2) { - if (j2(e2), e2.lookahead < z2 && t3 === l) - return A; - if (e2.lookahead === 0) - break; + if (j2(e2), e2.lookahead < z2 && t3 === l) return A; + if (0 === e2.lookahead) break; } - if (r2 = 0, e2.lookahead >= x && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), e2.prev_length = e2.match_length, e2.prev_match = e2.match_start, e2.match_length = x - 1, r2 !== 0 && e2.prev_length < e2.max_lazy_match && e2.strstart - r2 <= e2.w_size - z2 && (e2.match_length = L(e2, r2), e2.match_length <= 5 && (e2.strategy === 1 || e2.match_length === x && 4096 < e2.strstart - e2.match_start) && (e2.match_length = x - 1)), e2.prev_length >= x && e2.match_length <= e2.prev_length) { - for (i2 = e2.strstart + e2.lookahead - x, n2 = u._tr_tally(e2, e2.strstart - 1 - e2.prev_match, e2.prev_length - x), e2.lookahead -= e2.prev_length - 1, e2.prev_length -= 2; ++e2.strstart <= i2 && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), --e2.prev_length != 0; ) - ; - if (e2.match_available = 0, e2.match_length = x - 1, e2.strstart++, n2 && (N(e2, false), e2.strm.avail_out === 0)) - return A; + if (r2 = 0, e2.lookahead >= x && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), e2.prev_length = e2.match_length, e2.prev_match = e2.match_start, e2.match_length = x - 1, 0 !== r2 && e2.prev_length < e2.max_lazy_match && e2.strstart - r2 <= e2.w_size - z2 && (e2.match_length = L(e2, r2), e2.match_length <= 5 && (1 === e2.strategy || e2.match_length === x && 4096 < e2.strstart - e2.match_start) && (e2.match_length = x - 1)), e2.prev_length >= x && e2.match_length <= e2.prev_length) { + for (i2 = e2.strstart + e2.lookahead - x, n2 = u._tr_tally(e2, e2.strstart - 1 - e2.prev_match, e2.prev_length - x), e2.lookahead -= e2.prev_length - 1, e2.prev_length -= 2; ++e2.strstart <= i2 && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), 0 != --e2.prev_length; ) ; + if (e2.match_available = 0, e2.match_length = x - 1, e2.strstart++, n2 && (N(e2, false), 0 === e2.strm.avail_out)) return A; } else if (e2.match_available) { - if ((n2 = u._tr_tally(e2, 0, e2.window[e2.strstart - 1])) && N(e2, false), e2.strstart++, e2.lookahead--, e2.strm.avail_out === 0) - return A; - } else - e2.match_available = 1, e2.strstart++, e2.lookahead--; + if ((n2 = u._tr_tally(e2, 0, e2.window[e2.strstart - 1])) && N(e2, false), e2.strstart++, e2.lookahead--, 0 === e2.strm.avail_out) return A; + } else e2.match_available = 1, e2.strstart++, e2.lookahead--; } - return e2.match_available && (n2 = u._tr_tally(e2, 0, e2.window[e2.strstart - 1]), e2.match_available = 0), e2.insert = e2.strstart < x - 1 ? e2.strstart : x - 1, t3 === f ? (N(e2, true), e2.strm.avail_out === 0 ? O : B) : e2.last_lit && (N(e2, false), e2.strm.avail_out === 0) ? A : I; + return e2.match_available && (n2 = u._tr_tally(e2, 0, e2.window[e2.strstart - 1]), e2.match_available = 0), e2.insert = e2.strstart < x - 1 ? e2.strstart : x - 1, t3 === f ? (N(e2, true), 0 === e2.strm.avail_out ? O : B) : e2.last_lit && (N(e2, false), 0 === e2.strm.avail_out) ? A : I; } function M2(e2, t3, r2, n2, i2) { this.good_length = e2, this.max_lazy = t3, this.nice_length = r2, this.max_chain = n2, this.func = i2; @@ -1736,7 +1600,7 @@ var hedyApp = (() => { } function G2(e2) { var t3; - return e2 && e2.state ? (e2.total_in = e2.total_out = 0, e2.data_type = i, (t3 = e2.state).pending = 0, t3.pending_out = 0, t3.wrap < 0 && (t3.wrap = -t3.wrap), t3.status = t3.wrap ? C2 : E, e2.adler = t3.wrap === 2 ? 0 : 1, t3.last_flush = l, u._tr_init(t3), m) : R(e2, _); + return e2 && e2.state ? (e2.total_in = e2.total_out = 0, e2.data_type = i, (t3 = e2.state).pending = 0, t3.pending_out = 0, t3.wrap < 0 && (t3.wrap = -t3.wrap), t3.status = t3.wrap ? C2 : E, e2.adler = 2 === t3.wrap ? 0 : 1, t3.last_flush = l, u._tr_init(t3), m) : R(e2, _); } function K2(e2) { var t3 = G2(e2); @@ -1745,12 +1609,10 @@ var hedyApp = (() => { }(e2.state), t3; } function Y(e2, t3, r2, n2, i2, s2) { - if (!e2) - return _; + if (!e2) return _; var a2 = 1; - if (t3 === g && (t3 = 6), n2 < 0 ? (a2 = 0, n2 = -n2) : 15 < n2 && (a2 = 2, n2 -= 16), i2 < 1 || y2 < i2 || r2 !== v || n2 < 8 || 15 < n2 || t3 < 0 || 9 < t3 || s2 < 0 || b < s2) - return R(e2, _); - n2 === 8 && (n2 = 9); + if (t3 === g && (t3 = 6), n2 < 0 ? (a2 = 0, n2 = -n2) : 15 < n2 && (a2 = 2, n2 -= 16), i2 < 1 || y2 < i2 || r2 !== v || n2 < 8 || 15 < n2 || t3 < 0 || 9 < t3 || s2 < 0 || b < s2) return R(e2, _); + 8 === n2 && (n2 = 9); var o2 = new H2(); return (e2.state = o2).strm = e2, o2.wrap = a2, o2.gzhead = null, o2.w_bits = n2, o2.w_size = 1 << o2.w_bits, o2.w_mask = o2.w_size - 1, o2.hash_bits = i2 + 7, o2.hash_size = 1 << o2.hash_bits, o2.hash_mask = o2.hash_size - 1, o2.hash_shift = ~~((o2.hash_bits + x - 1) / x), o2.window = new c2.Buf8(2 * o2.w_size), o2.head = new c2.Buf16(o2.hash_size), o2.prev = new c2.Buf16(o2.w_size), o2.lit_bufsize = 1 << i2 + 6, o2.pending_buf_size = 4 * o2.lit_bufsize, o2.pending_buf = new c2.Buf8(o2.pending_buf_size), o2.d_buf = 1 * o2.lit_bufsize, o2.l_buf = 3 * o2.lit_bufsize, o2.level = t3, o2.strategy = s2, o2.method = r2, K2(e2); } @@ -1758,95 +1620,73 @@ var hedyApp = (() => { var r2 = 65535; for (r2 > e2.pending_buf_size - 5 && (r2 = e2.pending_buf_size - 5); ; ) { if (e2.lookahead <= 1) { - if (j2(e2), e2.lookahead === 0 && t3 === l) - return A; - if (e2.lookahead === 0) - break; + if (j2(e2), 0 === e2.lookahead && t3 === l) return A; + if (0 === e2.lookahead) break; } e2.strstart += e2.lookahead, e2.lookahead = 0; var n2 = e2.block_start + r2; - if ((e2.strstart === 0 || e2.strstart >= n2) && (e2.lookahead = e2.strstart - n2, e2.strstart = n2, N(e2, false), e2.strm.avail_out === 0)) - return A; - if (e2.strstart - e2.block_start >= e2.w_size - z2 && (N(e2, false), e2.strm.avail_out === 0)) - return A; + if ((0 === e2.strstart || e2.strstart >= n2) && (e2.lookahead = e2.strstart - n2, e2.strstart = n2, N(e2, false), 0 === e2.strm.avail_out)) return A; + if (e2.strstart - e2.block_start >= e2.w_size - z2 && (N(e2, false), 0 === e2.strm.avail_out)) return A; } - return e2.insert = 0, t3 === f ? (N(e2, true), e2.strm.avail_out === 0 ? O : B) : (e2.strstart > e2.block_start && (N(e2, false), e2.strm.avail_out), A); + return e2.insert = 0, t3 === f ? (N(e2, true), 0 === e2.strm.avail_out ? O : B) : (e2.strstart > e2.block_start && (N(e2, false), e2.strm.avail_out), A); }), new M2(4, 4, 8, 4, Z), new M2(4, 5, 16, 8, Z), new M2(4, 6, 32, 32, Z), new M2(4, 4, 16, 16, W2), new M2(8, 16, 32, 32, W2), new M2(8, 16, 128, 128, W2), new M2(8, 32, 128, 256, W2), new M2(32, 128, 258, 1024, W2), new M2(32, 258, 258, 4096, W2)], r.deflateInit = function(e2, t3) { return Y(e2, t3, v, 15, 8, 0); }, r.deflateInit2 = Y, r.deflateReset = K2, r.deflateResetKeep = G2, r.deflateSetHeader = function(e2, t3) { - return e2 && e2.state ? e2.state.wrap !== 2 ? _ : (e2.state.gzhead = t3, m) : _; + return e2 && e2.state ? 2 !== e2.state.wrap ? _ : (e2.state.gzhead = t3, m) : _; }, r.deflate = function(e2, t3) { var r2, n2, i2, s2; - if (!e2 || !e2.state || 5 < t3 || t3 < 0) - return e2 ? R(e2, _) : _; - if (n2 = e2.state, !e2.output || !e2.input && e2.avail_in !== 0 || n2.status === 666 && t3 !== f) - return R(e2, e2.avail_out === 0 ? -5 : _); - if (n2.strm = e2, r2 = n2.last_flush, n2.last_flush = t3, n2.status === C2) - if (n2.wrap === 2) - e2.adler = 0, U(n2, 31), U(n2, 139), U(n2, 8), n2.gzhead ? (U(n2, (n2.gzhead.text ? 1 : 0) + (n2.gzhead.hcrc ? 2 : 0) + (n2.gzhead.extra ? 4 : 0) + (n2.gzhead.name ? 8 : 0) + (n2.gzhead.comment ? 16 : 0)), U(n2, 255 & n2.gzhead.time), U(n2, n2.gzhead.time >> 8 & 255), U(n2, n2.gzhead.time >> 16 & 255), U(n2, n2.gzhead.time >> 24 & 255), U(n2, n2.level === 9 ? 2 : 2 <= n2.strategy || n2.level < 2 ? 4 : 0), U(n2, 255 & n2.gzhead.os), n2.gzhead.extra && n2.gzhead.extra.length && (U(n2, 255 & n2.gzhead.extra.length), U(n2, n2.gzhead.extra.length >> 8 & 255)), n2.gzhead.hcrc && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending, 0)), n2.gzindex = 0, n2.status = 69) : (U(n2, 0), U(n2, 0), U(n2, 0), U(n2, 0), U(n2, 0), U(n2, n2.level === 9 ? 2 : 2 <= n2.strategy || n2.level < 2 ? 4 : 0), U(n2, 3), n2.status = E); - else { - var a2 = v + (n2.w_bits - 8 << 4) << 8; - a2 |= (2 <= n2.strategy || n2.level < 2 ? 0 : n2.level < 6 ? 1 : n2.level === 6 ? 2 : 3) << 6, n2.strstart !== 0 && (a2 |= 32), a2 += 31 - a2 % 31, n2.status = E, P(n2, a2), n2.strstart !== 0 && (P(n2, e2.adler >>> 16), P(n2, 65535 & e2.adler)), e2.adler = 1; - } - if (n2.status === 69) - if (n2.gzhead.extra) { - for (i2 = n2.pending; n2.gzindex < (65535 & n2.gzhead.extra.length) && (n2.pending !== n2.pending_buf_size || (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F2(e2), i2 = n2.pending, n2.pending !== n2.pending_buf_size)); ) - U(n2, 255 & n2.gzhead.extra[n2.gzindex]), n2.gzindex++; - n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), n2.gzindex === n2.gzhead.extra.length && (n2.gzindex = 0, n2.status = 73); - } else - n2.status = 73; - if (n2.status === 73) - if (n2.gzhead.name) { - i2 = n2.pending; - do { - if (n2.pending === n2.pending_buf_size && (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F2(e2), i2 = n2.pending, n2.pending === n2.pending_buf_size)) { - s2 = 1; - break; - } - s2 = n2.gzindex < n2.gzhead.name.length ? 255 & n2.gzhead.name.charCodeAt(n2.gzindex++) : 0, U(n2, s2); - } while (s2 !== 0); - n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), s2 === 0 && (n2.gzindex = 0, n2.status = 91); - } else - n2.status = 91; - if (n2.status === 91) - if (n2.gzhead.comment) { - i2 = n2.pending; - do { - if (n2.pending === n2.pending_buf_size && (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F2(e2), i2 = n2.pending, n2.pending === n2.pending_buf_size)) { - s2 = 1; - break; - } - s2 = n2.gzindex < n2.gzhead.comment.length ? 255 & n2.gzhead.comment.charCodeAt(n2.gzindex++) : 0, U(n2, s2); - } while (s2 !== 0); - n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), s2 === 0 && (n2.status = 103); - } else - n2.status = 103; - if (n2.status === 103 && (n2.gzhead.hcrc ? (n2.pending + 2 > n2.pending_buf_size && F2(e2), n2.pending + 2 <= n2.pending_buf_size && (U(n2, 255 & e2.adler), U(n2, e2.adler >> 8 & 255), e2.adler = 0, n2.status = E)) : n2.status = E), n2.pending !== 0) { - if (F2(e2), e2.avail_out === 0) - return n2.last_flush = -1, m; - } else if (e2.avail_in === 0 && T(t3) <= T(r2) && t3 !== f) - return R(e2, -5); - if (n2.status === 666 && e2.avail_in !== 0) - return R(e2, -5); - if (e2.avail_in !== 0 || n2.lookahead !== 0 || t3 !== l && n2.status !== 666) { - var o2 = n2.strategy === 2 ? function(e3, t4) { + if (!e2 || !e2.state || 5 < t3 || t3 < 0) return e2 ? R(e2, _) : _; + if (n2 = e2.state, !e2.output || !e2.input && 0 !== e2.avail_in || 666 === n2.status && t3 !== f) return R(e2, 0 === e2.avail_out ? -5 : _); + if (n2.strm = e2, r2 = n2.last_flush, n2.last_flush = t3, n2.status === C2) if (2 === n2.wrap) e2.adler = 0, U(n2, 31), U(n2, 139), U(n2, 8), n2.gzhead ? (U(n2, (n2.gzhead.text ? 1 : 0) + (n2.gzhead.hcrc ? 2 : 0) + (n2.gzhead.extra ? 4 : 0) + (n2.gzhead.name ? 8 : 0) + (n2.gzhead.comment ? 16 : 0)), U(n2, 255 & n2.gzhead.time), U(n2, n2.gzhead.time >> 8 & 255), U(n2, n2.gzhead.time >> 16 & 255), U(n2, n2.gzhead.time >> 24 & 255), U(n2, 9 === n2.level ? 2 : 2 <= n2.strategy || n2.level < 2 ? 4 : 0), U(n2, 255 & n2.gzhead.os), n2.gzhead.extra && n2.gzhead.extra.length && (U(n2, 255 & n2.gzhead.extra.length), U(n2, n2.gzhead.extra.length >> 8 & 255)), n2.gzhead.hcrc && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending, 0)), n2.gzindex = 0, n2.status = 69) : (U(n2, 0), U(n2, 0), U(n2, 0), U(n2, 0), U(n2, 0), U(n2, 9 === n2.level ? 2 : 2 <= n2.strategy || n2.level < 2 ? 4 : 0), U(n2, 3), n2.status = E); + else { + var a2 = v + (n2.w_bits - 8 << 4) << 8; + a2 |= (2 <= n2.strategy || n2.level < 2 ? 0 : n2.level < 6 ? 1 : 6 === n2.level ? 2 : 3) << 6, 0 !== n2.strstart && (a2 |= 32), a2 += 31 - a2 % 31, n2.status = E, P(n2, a2), 0 !== n2.strstart && (P(n2, e2.adler >>> 16), P(n2, 65535 & e2.adler)), e2.adler = 1; + } + if (69 === n2.status) if (n2.gzhead.extra) { + for (i2 = n2.pending; n2.gzindex < (65535 & n2.gzhead.extra.length) && (n2.pending !== n2.pending_buf_size || (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F2(e2), i2 = n2.pending, n2.pending !== n2.pending_buf_size)); ) U(n2, 255 & n2.gzhead.extra[n2.gzindex]), n2.gzindex++; + n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), n2.gzindex === n2.gzhead.extra.length && (n2.gzindex = 0, n2.status = 73); + } else n2.status = 73; + if (73 === n2.status) if (n2.gzhead.name) { + i2 = n2.pending; + do { + if (n2.pending === n2.pending_buf_size && (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F2(e2), i2 = n2.pending, n2.pending === n2.pending_buf_size)) { + s2 = 1; + break; + } + s2 = n2.gzindex < n2.gzhead.name.length ? 255 & n2.gzhead.name.charCodeAt(n2.gzindex++) : 0, U(n2, s2); + } while (0 !== s2); + n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), 0 === s2 && (n2.gzindex = 0, n2.status = 91); + } else n2.status = 91; + if (91 === n2.status) if (n2.gzhead.comment) { + i2 = n2.pending; + do { + if (n2.pending === n2.pending_buf_size && (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F2(e2), i2 = n2.pending, n2.pending === n2.pending_buf_size)) { + s2 = 1; + break; + } + s2 = n2.gzindex < n2.gzhead.comment.length ? 255 & n2.gzhead.comment.charCodeAt(n2.gzindex++) : 0, U(n2, s2); + } while (0 !== s2); + n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), 0 === s2 && (n2.status = 103); + } else n2.status = 103; + if (103 === n2.status && (n2.gzhead.hcrc ? (n2.pending + 2 > n2.pending_buf_size && F2(e2), n2.pending + 2 <= n2.pending_buf_size && (U(n2, 255 & e2.adler), U(n2, e2.adler >> 8 & 255), e2.adler = 0, n2.status = E)) : n2.status = E), 0 !== n2.pending) { + if (F2(e2), 0 === e2.avail_out) return n2.last_flush = -1, m; + } else if (0 === e2.avail_in && T(t3) <= T(r2) && t3 !== f) return R(e2, -5); + if (666 === n2.status && 0 !== e2.avail_in) return R(e2, -5); + if (0 !== e2.avail_in || 0 !== n2.lookahead || t3 !== l && 666 !== n2.status) { + var o2 = 2 === n2.strategy ? function(e3, t4) { for (var r3; ; ) { - if (e3.lookahead === 0 && (j2(e3), e3.lookahead === 0)) { - if (t4 === l) - return A; + if (0 === e3.lookahead && (j2(e3), 0 === e3.lookahead)) { + if (t4 === l) return A; break; } - if (e3.match_length = 0, r3 = u._tr_tally(e3, 0, e3.window[e3.strstart]), e3.lookahead--, e3.strstart++, r3 && (N(e3, false), e3.strm.avail_out === 0)) - return A; + if (e3.match_length = 0, r3 = u._tr_tally(e3, 0, e3.window[e3.strstart]), e3.lookahead--, e3.strstart++, r3 && (N(e3, false), 0 === e3.strm.avail_out)) return A; } - return e3.insert = 0, t4 === f ? (N(e3, true), e3.strm.avail_out === 0 ? O : B) : e3.last_lit && (N(e3, false), e3.strm.avail_out === 0) ? A : I; - }(n2, t3) : n2.strategy === 3 ? function(e3, t4) { + return e3.insert = 0, t4 === f ? (N(e3, true), 0 === e3.strm.avail_out ? O : B) : e3.last_lit && (N(e3, false), 0 === e3.strm.avail_out) ? A : I; + }(n2, t3) : 3 === n2.strategy ? function(e3, t4) { for (var r3, n3, i3, s3, a3 = e3.window; ; ) { if (e3.lookahead <= S) { - if (j2(e3), e3.lookahead <= S && t4 === l) - return A; - if (e3.lookahead === 0) - break; + if (j2(e3), e3.lookahead <= S && t4 === l) return A; + if (0 === e3.lookahead) break; } if (e3.match_length = 0, e3.lookahead >= x && 0 < e3.strstart && (n3 = a3[i3 = e3.strstart - 1]) === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3]) { s3 = e3.strstart + S; @@ -1854,29 +1694,23 @@ var hedyApp = (() => { } while (n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && i3 < s3); e3.match_length = S - (s3 - i3), e3.match_length > e3.lookahead && (e3.match_length = e3.lookahead); } - if (e3.match_length >= x ? (r3 = u._tr_tally(e3, 1, e3.match_length - x), e3.lookahead -= e3.match_length, e3.strstart += e3.match_length, e3.match_length = 0) : (r3 = u._tr_tally(e3, 0, e3.window[e3.strstart]), e3.lookahead--, e3.strstart++), r3 && (N(e3, false), e3.strm.avail_out === 0)) - return A; + if (e3.match_length >= x ? (r3 = u._tr_tally(e3, 1, e3.match_length - x), e3.lookahead -= e3.match_length, e3.strstart += e3.match_length, e3.match_length = 0) : (r3 = u._tr_tally(e3, 0, e3.window[e3.strstart]), e3.lookahead--, e3.strstart++), r3 && (N(e3, false), 0 === e3.strm.avail_out)) return A; } - return e3.insert = 0, t4 === f ? (N(e3, true), e3.strm.avail_out === 0 ? O : B) : e3.last_lit && (N(e3, false), e3.strm.avail_out === 0) ? A : I; + return e3.insert = 0, t4 === f ? (N(e3, true), 0 === e3.strm.avail_out ? O : B) : e3.last_lit && (N(e3, false), 0 === e3.strm.avail_out) ? A : I; }(n2, t3) : h3[n2.level].func(n2, t3); - if (o2 !== O && o2 !== B || (n2.status = 666), o2 === A || o2 === O) - return e2.avail_out === 0 && (n2.last_flush = -1), m; - if (o2 === I && (t3 === 1 ? u._tr_align(n2) : t3 !== 5 && (u._tr_stored_block(n2, 0, 0, false), t3 === 3 && (D2(n2.head), n2.lookahead === 0 && (n2.strstart = 0, n2.block_start = 0, n2.insert = 0))), F2(e2), e2.avail_out === 0)) - return n2.last_flush = -1, m; + if (o2 !== O && o2 !== B || (n2.status = 666), o2 === A || o2 === O) return 0 === e2.avail_out && (n2.last_flush = -1), m; + if (o2 === I && (1 === t3 ? u._tr_align(n2) : 5 !== t3 && (u._tr_stored_block(n2, 0, 0, false), 3 === t3 && (D2(n2.head), 0 === n2.lookahead && (n2.strstart = 0, n2.block_start = 0, n2.insert = 0))), F2(e2), 0 === e2.avail_out)) return n2.last_flush = -1, m; } - return t3 !== f ? m : n2.wrap <= 0 ? 1 : (n2.wrap === 2 ? (U(n2, 255 & e2.adler), U(n2, e2.adler >> 8 & 255), U(n2, e2.adler >> 16 & 255), U(n2, e2.adler >> 24 & 255), U(n2, 255 & e2.total_in), U(n2, e2.total_in >> 8 & 255), U(n2, e2.total_in >> 16 & 255), U(n2, e2.total_in >> 24 & 255)) : (P(n2, e2.adler >>> 16), P(n2, 65535 & e2.adler)), F2(e2), 0 < n2.wrap && (n2.wrap = -n2.wrap), n2.pending !== 0 ? m : 1); + return t3 !== f ? m : n2.wrap <= 0 ? 1 : (2 === n2.wrap ? (U(n2, 255 & e2.adler), U(n2, e2.adler >> 8 & 255), U(n2, e2.adler >> 16 & 255), U(n2, e2.adler >> 24 & 255), U(n2, 255 & e2.total_in), U(n2, e2.total_in >> 8 & 255), U(n2, e2.total_in >> 16 & 255), U(n2, e2.total_in >> 24 & 255)) : (P(n2, e2.adler >>> 16), P(n2, 65535 & e2.adler)), F2(e2), 0 < n2.wrap && (n2.wrap = -n2.wrap), 0 !== n2.pending ? m : 1); }, r.deflateEnd = function(e2) { var t3; - return e2 && e2.state ? (t3 = e2.state.status) !== C2 && t3 !== 69 && t3 !== 73 && t3 !== 91 && t3 !== 103 && t3 !== E && t3 !== 666 ? R(e2, _) : (e2.state = null, t3 === E ? R(e2, -3) : m) : _; + return e2 && e2.state ? (t3 = e2.state.status) !== C2 && 69 !== t3 && 73 !== t3 && 91 !== t3 && 103 !== t3 && t3 !== E && 666 !== t3 ? R(e2, _) : (e2.state = null, t3 === E ? R(e2, -3) : m) : _; }, r.deflateSetDictionary = function(e2, t3) { var r2, n2, i2, s2, a2, o2, h4, u2, l2 = t3.length; - if (!e2 || !e2.state) - return _; - if ((s2 = (r2 = e2.state).wrap) === 2 || s2 === 1 && r2.status !== C2 || r2.lookahead) - return _; - for (s2 === 1 && (e2.adler = d2(e2.adler, t3, l2, 0)), r2.wrap = 0, l2 >= r2.w_size && (s2 === 0 && (D2(r2.head), r2.strstart = 0, r2.block_start = 0, r2.insert = 0), u2 = new c2.Buf8(r2.w_size), c2.arraySet(u2, t3, l2 - r2.w_size, r2.w_size, 0), t3 = u2, l2 = r2.w_size), a2 = e2.avail_in, o2 = e2.next_in, h4 = e2.input, e2.avail_in = l2, e2.next_in = 0, e2.input = t3, j2(r2); r2.lookahead >= x; ) { - for (n2 = r2.strstart, i2 = r2.lookahead - (x - 1); r2.ins_h = (r2.ins_h << r2.hash_shift ^ r2.window[n2 + x - 1]) & r2.hash_mask, r2.prev[n2 & r2.w_mask] = r2.head[r2.ins_h], r2.head[r2.ins_h] = n2, n2++, --i2; ) - ; + if (!e2 || !e2.state) return _; + if (2 === (s2 = (r2 = e2.state).wrap) || 1 === s2 && r2.status !== C2 || r2.lookahead) return _; + for (1 === s2 && (e2.adler = d2(e2.adler, t3, l2, 0)), r2.wrap = 0, l2 >= r2.w_size && (0 === s2 && (D2(r2.head), r2.strstart = 0, r2.block_start = 0, r2.insert = 0), u2 = new c2.Buf8(r2.w_size), c2.arraySet(u2, t3, l2 - r2.w_size, r2.w_size, 0), t3 = u2, l2 = r2.w_size), a2 = e2.avail_in, o2 = e2.next_in, h4 = e2.input, e2.avail_in = l2, e2.next_in = 0, e2.input = t3, j2(r2); r2.lookahead >= x; ) { + for (n2 = r2.strstart, i2 = r2.lookahead - (x - 1); r2.ins_h = (r2.ins_h << r2.hash_shift ^ r2.window[n2 + x - 1]) & r2.hash_mask, r2.prev[n2 & r2.w_mask] = r2.head[r2.ins_h], r2.head[r2.ins_h] = n2, n2++, --i2; ) ; r2.strstart = n2, r2.lookahead = x - 1, j2(r2); } return r2.strstart += r2.lookahead, r2.block_start = r2.strstart, r2.insert = r2.lookahead, r2.lookahead = 0, r2.match_length = r2.prev_length = x - 1, r2.match_available = 0, e2.next_in = o2, e2.input = h4, e2.avail_in = a2, r2.wrap = s2, m; @@ -1891,81 +1725,71 @@ var hedyApp = (() => { t2.exports = function(e2, t3) { var r2, n, i, s, a, o, h3, u, l, f, c2, d2, p, m, _, g, b, v, y2, w, k, x, S, z2, C2; r2 = e2.state, n = e2.next_in, z2 = e2.input, i = n + (e2.avail_in - 5), s = e2.next_out, C2 = e2.output, a = s - (t3 - e2.avail_out), o = s + (e2.avail_out - 257), h3 = r2.dmax, u = r2.wsize, l = r2.whave, f = r2.wnext, c2 = r2.window, d2 = r2.hold, p = r2.bits, m = r2.lencode, _ = r2.distcode, g = (1 << r2.lenbits) - 1, b = (1 << r2.distbits) - 1; - e: - do { - p < 15 && (d2 += z2[n++] << p, p += 8, d2 += z2[n++] << p, p += 8), v = m[d2 & g]; - t: - for (; ; ) { - if (d2 >>>= y2 = v >>> 24, p -= y2, (y2 = v >>> 16 & 255) === 0) - C2[s++] = 65535 & v; - else { - if (!(16 & y2)) { - if ((64 & y2) == 0) { - v = m[(65535 & v) + (d2 & (1 << y2) - 1)]; - continue t; - } - if (32 & y2) { - r2.mode = 12; - break e; - } - e2.msg = "invalid literal/length code", r2.mode = 30; + e: do { + p < 15 && (d2 += z2[n++] << p, p += 8, d2 += z2[n++] << p, p += 8), v = m[d2 & g]; + t: for (; ; ) { + if (d2 >>>= y2 = v >>> 24, p -= y2, 0 === (y2 = v >>> 16 & 255)) C2[s++] = 65535 & v; + else { + if (!(16 & y2)) { + if (0 == (64 & y2)) { + v = m[(65535 & v) + (d2 & (1 << y2) - 1)]; + continue t; + } + if (32 & y2) { + r2.mode = 12; + break e; + } + e2.msg = "invalid literal/length code", r2.mode = 30; + break e; + } + w = 65535 & v, (y2 &= 15) && (p < y2 && (d2 += z2[n++] << p, p += 8), w += d2 & (1 << y2) - 1, d2 >>>= y2, p -= y2), p < 15 && (d2 += z2[n++] << p, p += 8, d2 += z2[n++] << p, p += 8), v = _[d2 & b]; + r: for (; ; ) { + if (d2 >>>= y2 = v >>> 24, p -= y2, !(16 & (y2 = v >>> 16 & 255))) { + if (0 == (64 & y2)) { + v = _[(65535 & v) + (d2 & (1 << y2) - 1)]; + continue r; + } + e2.msg = "invalid distance code", r2.mode = 30; + break e; + } + if (k = 65535 & v, p < (y2 &= 15) && (d2 += z2[n++] << p, (p += 8) < y2 && (d2 += z2[n++] << p, p += 8)), h3 < (k += d2 & (1 << y2) - 1)) { + e2.msg = "invalid distance too far back", r2.mode = 30; + break e; + } + if (d2 >>>= y2, p -= y2, (y2 = s - a) < k) { + if (l < (y2 = k - y2) && r2.sane) { + e2.msg = "invalid distance too far back", r2.mode = 30; break e; } - w = 65535 & v, (y2 &= 15) && (p < y2 && (d2 += z2[n++] << p, p += 8), w += d2 & (1 << y2) - 1, d2 >>>= y2, p -= y2), p < 15 && (d2 += z2[n++] << p, p += 8, d2 += z2[n++] << p, p += 8), v = _[d2 & b]; - r: - for (; ; ) { - if (d2 >>>= y2 = v >>> 24, p -= y2, !(16 & (y2 = v >>> 16 & 255))) { - if ((64 & y2) == 0) { - v = _[(65535 & v) + (d2 & (1 << y2) - 1)]; - continue r; - } - e2.msg = "invalid distance code", r2.mode = 30; - break e; - } - if (k = 65535 & v, p < (y2 &= 15) && (d2 += z2[n++] << p, (p += 8) < y2 && (d2 += z2[n++] << p, p += 8)), h3 < (k += d2 & (1 << y2) - 1)) { - e2.msg = "invalid distance too far back", r2.mode = 30; - break e; - } - if (d2 >>>= y2, p -= y2, (y2 = s - a) < k) { - if (l < (y2 = k - y2) && r2.sane) { - e2.msg = "invalid distance too far back", r2.mode = 30; - break e; - } - if (S = c2, (x = 0) === f) { - if (x += u - y2, y2 < w) { - for (w -= y2; C2[s++] = c2[x++], --y2; ) - ; - x = s - k, S = C2; - } - } else if (f < y2) { - if (x += u + f - y2, (y2 -= f) < w) { - for (w -= y2; C2[s++] = c2[x++], --y2; ) - ; - if (x = 0, f < w) { - for (w -= y2 = f; C2[s++] = c2[x++], --y2; ) - ; - x = s - k, S = C2; - } - } - } else if (x += f - y2, y2 < w) { - for (w -= y2; C2[s++] = c2[x++], --y2; ) - ; - x = s - k, S = C2; - } - for (; 2 < w; ) - C2[s++] = S[x++], C2[s++] = S[x++], C2[s++] = S[x++], w -= 3; - w && (C2[s++] = S[x++], 1 < w && (C2[s++] = S[x++])); - } else { - for (x = s - k; C2[s++] = C2[x++], C2[s++] = C2[x++], C2[s++] = C2[x++], 2 < (w -= 3); ) - ; - w && (C2[s++] = C2[x++], 1 < w && (C2[s++] = C2[x++])); + if (S = c2, (x = 0) === f) { + if (x += u - y2, y2 < w) { + for (w -= y2; C2[s++] = c2[x++], --y2; ) ; + x = s - k, S = C2; + } + } else if (f < y2) { + if (x += u + f - y2, (y2 -= f) < w) { + for (w -= y2; C2[s++] = c2[x++], --y2; ) ; + if (x = 0, f < w) { + for (w -= y2 = f; C2[s++] = c2[x++], --y2; ) ; + x = s - k, S = C2; } - break; } + } else if (x += f - y2, y2 < w) { + for (w -= y2; C2[s++] = c2[x++], --y2; ) ; + x = s - k, S = C2; + } + for (; 2 < w; ) C2[s++] = S[x++], C2[s++] = S[x++], C2[s++] = S[x++], w -= 3; + w && (C2[s++] = S[x++], 1 < w && (C2[s++] = S[x++])); + } else { + for (x = s - k; C2[s++] = C2[x++], C2[s++] = C2[x++], C2[s++] = C2[x++], 2 < (w -= 3); ) ; + w && (C2[s++] = C2[x++], 1 < w && (C2[s++] = C2[x++])); } break; } - } while (n < i && s < o); + } + break; + } + } while (n < i && s < o); n -= w = p >> 3, d2 &= (1 << (p -= w << 3)) - 1, e2.next_in = n, e2.next_out = s, e2.avail_in = n < i ? i - n + 5 : 5 - (n - i), e2.avail_out = s < o ? o - s + 257 : 257 - (s - o), r2.hold = d2, r2.bits = p; }; }, {}], 49: [function(e, t2, r) { @@ -1987,7 +1811,7 @@ var hedyApp = (() => { } function h3(e2, t3) { var r2, n2; - return e2 && e2.state ? (n2 = e2.state, t3 < 0 ? (r2 = 0, t3 = -t3) : (r2 = 1 + (t3 >> 4), t3 < 48 && (t3 &= 15)), t3 && (t3 < 8 || 15 < t3) ? U : (n2.window !== null && n2.wbits !== t3 && (n2.window = null), n2.wrap = r2, n2.wbits = t3, o(e2))) : U; + return e2 && e2.state ? (n2 = e2.state, t3 < 0 ? (r2 = 0, t3 = -t3) : (r2 = 1 + (t3 >> 4), t3 < 48 && (t3 &= 15)), t3 && (t3 < 8 || 15 < t3) ? U : (null !== n2.window && n2.wbits !== t3 && (n2.window = null), n2.wrap = r2, n2.wbits = t3, o(e2))) : U; } function u(e2, t3) { var r2, n2; @@ -1997,490 +1821,417 @@ var hedyApp = (() => { function j2(e2) { if (c2) { var t3; - for (l = new I.Buf32(512), f = new I.Buf32(32), t3 = 0; t3 < 144; ) - e2.lens[t3++] = 8; - for (; t3 < 256; ) - e2.lens[t3++] = 9; - for (; t3 < 280; ) - e2.lens[t3++] = 7; - for (; t3 < 288; ) - e2.lens[t3++] = 8; - for (T(D2, e2.lens, 0, 288, l, 0, e2.work, { bits: 9 }), t3 = 0; t3 < 32; ) - e2.lens[t3++] = 5; + for (l = new I.Buf32(512), f = new I.Buf32(32), t3 = 0; t3 < 144; ) e2.lens[t3++] = 8; + for (; t3 < 256; ) e2.lens[t3++] = 9; + for (; t3 < 280; ) e2.lens[t3++] = 7; + for (; t3 < 288; ) e2.lens[t3++] = 8; + for (T(D2, e2.lens, 0, 288, l, 0, e2.work, { bits: 9 }), t3 = 0; t3 < 32; ) e2.lens[t3++] = 5; T(F2, e2.lens, 0, 32, f, 0, e2.work, { bits: 5 }), c2 = false; } e2.lencode = l, e2.lenbits = 9, e2.distcode = f, e2.distbits = 5; } function Z(e2, t3, r2, n2) { var i2, s2 = e2.state; - return s2.window === null && (s2.wsize = 1 << s2.wbits, s2.wnext = 0, s2.whave = 0, s2.window = new I.Buf8(s2.wsize)), n2 >= s2.wsize ? (I.arraySet(s2.window, t3, r2 - s2.wsize, s2.wsize, 0), s2.wnext = 0, s2.whave = s2.wsize) : (n2 < (i2 = s2.wsize - s2.wnext) && (i2 = n2), I.arraySet(s2.window, t3, r2 - n2, i2, s2.wnext), (n2 -= i2) ? (I.arraySet(s2.window, t3, r2 - n2, n2, 0), s2.wnext = n2, s2.whave = s2.wsize) : (s2.wnext += i2, s2.wnext === s2.wsize && (s2.wnext = 0), s2.whave < s2.wsize && (s2.whave += i2))), 0; + return null === s2.window && (s2.wsize = 1 << s2.wbits, s2.wnext = 0, s2.whave = 0, s2.window = new I.Buf8(s2.wsize)), n2 >= s2.wsize ? (I.arraySet(s2.window, t3, r2 - s2.wsize, s2.wsize, 0), s2.wnext = 0, s2.whave = s2.wsize) : (n2 < (i2 = s2.wsize - s2.wnext) && (i2 = n2), I.arraySet(s2.window, t3, r2 - n2, i2, s2.wnext), (n2 -= i2) ? (I.arraySet(s2.window, t3, r2 - n2, n2, 0), s2.wnext = n2, s2.whave = s2.wsize) : (s2.wnext += i2, s2.wnext === s2.wsize && (s2.wnext = 0), s2.whave < s2.wsize && (s2.whave += i2))), 0; } r.inflateReset = o, r.inflateReset2 = h3, r.inflateResetKeep = a, r.inflateInit = function(e2) { return u(e2, 15); }, r.inflateInit2 = u, r.inflate = function(e2, t3) { var r2, n2, i2, s2, a2, o2, h4, u2, l2, f2, c3, d2, p, m, _, g, b, v, y2, w, k, x, S, z2, C2 = 0, E = new I.Buf8(4), A = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; - if (!e2 || !e2.state || !e2.output || !e2.input && e2.avail_in !== 0) - return U; - (r2 = e2.state).mode === 12 && (r2.mode = 13), a2 = e2.next_out, i2 = e2.output, h4 = e2.avail_out, s2 = e2.next_in, n2 = e2.input, o2 = e2.avail_in, u2 = r2.hold, l2 = r2.bits, f2 = o2, c3 = h4, x = N; - e: - for (; ; ) - switch (r2.mode) { - case P: - if (r2.wrap === 0) { - r2.mode = 13; - break; - } - for (; l2 < 16; ) { - if (o2 === 0) - break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (2 & r2.wrap && u2 === 35615) { - E[r2.check = 0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0), l2 = u2 = 0, r2.mode = 2; - break; - } - if (r2.flags = 0, r2.head && (r2.head.done = false), !(1 & r2.wrap) || (((255 & u2) << 8) + (u2 >> 8)) % 31) { - e2.msg = "incorrect header check", r2.mode = 30; - break; - } - if ((15 & u2) != 8) { - e2.msg = "unknown compression method", r2.mode = 30; - break; - } - if (l2 -= 4, k = 8 + (15 & (u2 >>>= 4)), r2.wbits === 0) - r2.wbits = k; - else if (k > r2.wbits) { - e2.msg = "invalid window size", r2.mode = 30; - break; - } - r2.dmax = 1 << k, e2.adler = r2.check = 1, r2.mode = 512 & u2 ? 10 : 12, l2 = u2 = 0; + if (!e2 || !e2.state || !e2.output || !e2.input && 0 !== e2.avail_in) return U; + 12 === (r2 = e2.state).mode && (r2.mode = 13), a2 = e2.next_out, i2 = e2.output, h4 = e2.avail_out, s2 = e2.next_in, n2 = e2.input, o2 = e2.avail_in, u2 = r2.hold, l2 = r2.bits, f2 = o2, c3 = h4, x = N; + e: for (; ; ) switch (r2.mode) { + case P: + if (0 === r2.wrap) { + r2.mode = 13; + break; + } + for (; l2 < 16; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + if (2 & r2.wrap && 35615 === u2) { + E[r2.check = 0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0), l2 = u2 = 0, r2.mode = 2; + break; + } + if (r2.flags = 0, r2.head && (r2.head.done = false), !(1 & r2.wrap) || (((255 & u2) << 8) + (u2 >> 8)) % 31) { + e2.msg = "incorrect header check", r2.mode = 30; + break; + } + if (8 != (15 & u2)) { + e2.msg = "unknown compression method", r2.mode = 30; + break; + } + if (l2 -= 4, k = 8 + (15 & (u2 >>>= 4)), 0 === r2.wbits) r2.wbits = k; + else if (k > r2.wbits) { + e2.msg = "invalid window size", r2.mode = 30; + break; + } + r2.dmax = 1 << k, e2.adler = r2.check = 1, r2.mode = 512 & u2 ? 10 : 12, l2 = u2 = 0; + break; + case 2: + for (; l2 < 16; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + if (r2.flags = u2, 8 != (255 & r2.flags)) { + e2.msg = "unknown compression method", r2.mode = 30; + break; + } + if (57344 & r2.flags) { + e2.msg = "unknown header flags set", r2.mode = 30; + break; + } + r2.head && (r2.head.text = u2 >> 8 & 1), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l2 = u2 = 0, r2.mode = 3; + case 3: + for (; l2 < 32; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + r2.head && (r2.head.time = u2), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, E[2] = u2 >>> 16 & 255, E[3] = u2 >>> 24 & 255, r2.check = B(r2.check, E, 4, 0)), l2 = u2 = 0, r2.mode = 4; + case 4: + for (; l2 < 16; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + r2.head && (r2.head.xflags = 255 & u2, r2.head.os = u2 >> 8), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l2 = u2 = 0, r2.mode = 5; + case 5: + if (1024 & r2.flags) { + for (; l2 < 16; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + r2.length = u2, r2.head && (r2.head.extra_len = u2), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l2 = u2 = 0; + } else r2.head && (r2.head.extra = null); + r2.mode = 6; + case 6: + if (1024 & r2.flags && (o2 < (d2 = r2.length) && (d2 = o2), d2 && (r2.head && (k = r2.head.extra_len - r2.length, r2.head.extra || (r2.head.extra = new Array(r2.head.extra_len)), I.arraySet(r2.head.extra, n2, s2, d2, k)), 512 & r2.flags && (r2.check = B(r2.check, n2, d2, s2)), o2 -= d2, s2 += d2, r2.length -= d2), r2.length)) break e; + r2.length = 0, r2.mode = 7; + case 7: + if (2048 & r2.flags) { + if (0 === o2) break e; + for (d2 = 0; k = n2[s2 + d2++], r2.head && k && r2.length < 65536 && (r2.head.name += String.fromCharCode(k)), k && d2 < o2; ) ; + if (512 & r2.flags && (r2.check = B(r2.check, n2, d2, s2)), o2 -= d2, s2 += d2, k) break e; + } else r2.head && (r2.head.name = null); + r2.length = 0, r2.mode = 8; + case 8: + if (4096 & r2.flags) { + if (0 === o2) break e; + for (d2 = 0; k = n2[s2 + d2++], r2.head && k && r2.length < 65536 && (r2.head.comment += String.fromCharCode(k)), k && d2 < o2; ) ; + if (512 & r2.flags && (r2.check = B(r2.check, n2, d2, s2)), o2 -= d2, s2 += d2, k) break e; + } else r2.head && (r2.head.comment = null); + r2.mode = 9; + case 9: + if (512 & r2.flags) { + for (; l2 < 16; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + if (u2 !== (65535 & r2.check)) { + e2.msg = "header crc mismatch", r2.mode = 30; break; - case 2: - for (; l2 < 16; ) { - if (o2 === 0) - break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (r2.flags = u2, (255 & r2.flags) != 8) { - e2.msg = "unknown compression method", r2.mode = 30; - break; - } - if (57344 & r2.flags) { - e2.msg = "unknown header flags set", r2.mode = 30; - break; - } - r2.head && (r2.head.text = u2 >> 8 & 1), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l2 = u2 = 0, r2.mode = 3; - case 3: - for (; l2 < 32; ) { - if (o2 === 0) - break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - r2.head && (r2.head.time = u2), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, E[2] = u2 >>> 16 & 255, E[3] = u2 >>> 24 & 255, r2.check = B(r2.check, E, 4, 0)), l2 = u2 = 0, r2.mode = 4; - case 4: - for (; l2 < 16; ) { - if (o2 === 0) - break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - r2.head && (r2.head.xflags = 255 & u2, r2.head.os = u2 >> 8), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l2 = u2 = 0, r2.mode = 5; - case 5: - if (1024 & r2.flags) { - for (; l2 < 16; ) { - if (o2 === 0) - break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - r2.length = u2, r2.head && (r2.head.extra_len = u2), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l2 = u2 = 0; - } else - r2.head && (r2.head.extra = null); - r2.mode = 6; - case 6: - if (1024 & r2.flags && (o2 < (d2 = r2.length) && (d2 = o2), d2 && (r2.head && (k = r2.head.extra_len - r2.length, r2.head.extra || (r2.head.extra = new Array(r2.head.extra_len)), I.arraySet(r2.head.extra, n2, s2, d2, k)), 512 & r2.flags && (r2.check = B(r2.check, n2, d2, s2)), o2 -= d2, s2 += d2, r2.length -= d2), r2.length)) - break e; - r2.length = 0, r2.mode = 7; - case 7: - if (2048 & r2.flags) { - if (o2 === 0) - break e; - for (d2 = 0; k = n2[s2 + d2++], r2.head && k && r2.length < 65536 && (r2.head.name += String.fromCharCode(k)), k && d2 < o2; ) - ; - if (512 & r2.flags && (r2.check = B(r2.check, n2, d2, s2)), o2 -= d2, s2 += d2, k) - break e; - } else - r2.head && (r2.head.name = null); - r2.length = 0, r2.mode = 8; - case 8: - if (4096 & r2.flags) { - if (o2 === 0) - break e; - for (d2 = 0; k = n2[s2 + d2++], r2.head && k && r2.length < 65536 && (r2.head.comment += String.fromCharCode(k)), k && d2 < o2; ) - ; - if (512 & r2.flags && (r2.check = B(r2.check, n2, d2, s2)), o2 -= d2, s2 += d2, k) - break e; - } else - r2.head && (r2.head.comment = null); - r2.mode = 9; - case 9: - if (512 & r2.flags) { - for (; l2 < 16; ) { - if (o2 === 0) - break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (u2 !== (65535 & r2.check)) { - e2.msg = "header crc mismatch", r2.mode = 30; - break; - } - l2 = u2 = 0; - } - r2.head && (r2.head.hcrc = r2.flags >> 9 & 1, r2.head.done = true), e2.adler = r2.check = 0, r2.mode = 12; + } + l2 = u2 = 0; + } + r2.head && (r2.head.hcrc = r2.flags >> 9 & 1, r2.head.done = true), e2.adler = r2.check = 0, r2.mode = 12; + break; + case 10: + for (; l2 < 32; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + e2.adler = r2.check = L(u2), l2 = u2 = 0, r2.mode = 11; + case 11: + if (0 === r2.havedict) return e2.next_out = a2, e2.avail_out = h4, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l2, 2; + e2.adler = r2.check = 1, r2.mode = 12; + case 12: + if (5 === t3 || 6 === t3) break e; + case 13: + if (r2.last) { + u2 >>>= 7 & l2, l2 -= 7 & l2, r2.mode = 27; + break; + } + for (; l2 < 3; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + switch (r2.last = 1 & u2, l2 -= 1, 3 & (u2 >>>= 1)) { + case 0: + r2.mode = 14; break; - case 10: - for (; l2 < 32; ) { - if (o2 === 0) - break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - e2.adler = r2.check = L(u2), l2 = u2 = 0, r2.mode = 11; - case 11: - if (r2.havedict === 0) - return e2.next_out = a2, e2.avail_out = h4, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l2, 2; - e2.adler = r2.check = 1, r2.mode = 12; - case 12: - if (t3 === 5 || t3 === 6) - break e; - case 13: - if (r2.last) { - u2 >>>= 7 & l2, l2 -= 7 & l2, r2.mode = 27; - break; - } - for (; l2 < 3; ) { - if (o2 === 0) - break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - switch (r2.last = 1 & u2, l2 -= 1, 3 & (u2 >>>= 1)) { - case 0: - r2.mode = 14; - break; - case 1: - if (j2(r2), r2.mode = 20, t3 !== 6) - break; - u2 >>>= 2, l2 -= 2; - break e; - case 2: - r2.mode = 17; - break; - case 3: - e2.msg = "invalid block type", r2.mode = 30; - } + case 1: + if (j2(r2), r2.mode = 20, 6 !== t3) break; u2 >>>= 2, l2 -= 2; + break e; + case 2: + r2.mode = 17; break; - case 14: - for (u2 >>>= 7 & l2, l2 -= 7 & l2; l2 < 32; ) { - if (o2 === 0) - break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if ((65535 & u2) != (u2 >>> 16 ^ 65535)) { - e2.msg = "invalid stored block lengths", r2.mode = 30; - break; - } - if (r2.length = 65535 & u2, l2 = u2 = 0, r2.mode = 15, t3 === 6) - break e; - case 15: - r2.mode = 16; - case 16: - if (d2 = r2.length) { - if (o2 < d2 && (d2 = o2), h4 < d2 && (d2 = h4), d2 === 0) - break e; - I.arraySet(i2, n2, s2, d2, a2), o2 -= d2, s2 += d2, h4 -= d2, a2 += d2, r2.length -= d2; - break; - } - r2.mode = 12; - break; - case 17: - for (; l2 < 14; ) { - if (o2 === 0) - break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (r2.nlen = 257 + (31 & u2), u2 >>>= 5, l2 -= 5, r2.ndist = 1 + (31 & u2), u2 >>>= 5, l2 -= 5, r2.ncode = 4 + (15 & u2), u2 >>>= 4, l2 -= 4, 286 < r2.nlen || 30 < r2.ndist) { - e2.msg = "too many length or distance symbols", r2.mode = 30; - break; - } - r2.have = 0, r2.mode = 18; - case 18: - for (; r2.have < r2.ncode; ) { - for (; l2 < 3; ) { - if (o2 === 0) - break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - r2.lens[A[r2.have++]] = 7 & u2, u2 >>>= 3, l2 -= 3; - } - for (; r2.have < 19; ) - r2.lens[A[r2.have++]] = 0; - if (r2.lencode = r2.lendyn, r2.lenbits = 7, S = { bits: r2.lenbits }, x = T(0, r2.lens, 0, 19, r2.lencode, 0, r2.work, S), r2.lenbits = S.bits, x) { - e2.msg = "invalid code lengths set", r2.mode = 30; - break; - } - r2.have = 0, r2.mode = 19; - case 19: - for (; r2.have < r2.nlen + r2.ndist; ) { - for (; g = (C2 = r2.lencode[u2 & (1 << r2.lenbits) - 1]) >>> 16 & 255, b = 65535 & C2, !((_ = C2 >>> 24) <= l2); ) { - if (o2 === 0) - break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (b < 16) - u2 >>>= _, l2 -= _, r2.lens[r2.have++] = b; - else { - if (b === 16) { - for (z2 = _ + 2; l2 < z2; ) { - if (o2 === 0) - break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (u2 >>>= _, l2 -= _, r2.have === 0) { - e2.msg = "invalid bit length repeat", r2.mode = 30; - break; - } - k = r2.lens[r2.have - 1], d2 = 3 + (3 & u2), u2 >>>= 2, l2 -= 2; - } else if (b === 17) { - for (z2 = _ + 3; l2 < z2; ) { - if (o2 === 0) - break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - l2 -= _, k = 0, d2 = 3 + (7 & (u2 >>>= _)), u2 >>>= 3, l2 -= 3; - } else { - for (z2 = _ + 7; l2 < z2; ) { - if (o2 === 0) - break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - l2 -= _, k = 0, d2 = 11 + (127 & (u2 >>>= _)), u2 >>>= 7, l2 -= 7; - } - if (r2.have + d2 > r2.nlen + r2.ndist) { - e2.msg = "invalid bit length repeat", r2.mode = 30; - break; - } - for (; d2--; ) - r2.lens[r2.have++] = k; - } - } - if (r2.mode === 30) - break; - if (r2.lens[256] === 0) { - e2.msg = "invalid code -- missing end-of-block", r2.mode = 30; - break; - } - if (r2.lenbits = 9, S = { bits: r2.lenbits }, x = T(D2, r2.lens, 0, r2.nlen, r2.lencode, 0, r2.work, S), r2.lenbits = S.bits, x) { - e2.msg = "invalid literal/lengths set", r2.mode = 30; - break; - } - if (r2.distbits = 6, r2.distcode = r2.distdyn, S = { bits: r2.distbits }, x = T(F2, r2.lens, r2.nlen, r2.ndist, r2.distcode, 0, r2.work, S), r2.distbits = S.bits, x) { - e2.msg = "invalid distances set", r2.mode = 30; - break; - } - if (r2.mode = 20, t3 === 6) - break e; - case 20: - r2.mode = 21; - case 21: - if (6 <= o2 && 258 <= h4) { - e2.next_out = a2, e2.avail_out = h4, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l2, R(e2, c3), a2 = e2.next_out, i2 = e2.output, h4 = e2.avail_out, s2 = e2.next_in, n2 = e2.input, o2 = e2.avail_in, u2 = r2.hold, l2 = r2.bits, r2.mode === 12 && (r2.back = -1); - break; - } - for (r2.back = 0; g = (C2 = r2.lencode[u2 & (1 << r2.lenbits) - 1]) >>> 16 & 255, b = 65535 & C2, !((_ = C2 >>> 24) <= l2); ) { - if (o2 === 0) - break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (g && (240 & g) == 0) { - for (v = _, y2 = g, w = b; g = (C2 = r2.lencode[w + ((u2 & (1 << v + y2) - 1) >> v)]) >>> 16 & 255, b = 65535 & C2, !(v + (_ = C2 >>> 24) <= l2); ) { - if (o2 === 0) - break e; + case 3: + e2.msg = "invalid block type", r2.mode = 30; + } + u2 >>>= 2, l2 -= 2; + break; + case 14: + for (u2 >>>= 7 & l2, l2 -= 7 & l2; l2 < 32; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + if ((65535 & u2) != (u2 >>> 16 ^ 65535)) { + e2.msg = "invalid stored block lengths", r2.mode = 30; + break; + } + if (r2.length = 65535 & u2, l2 = u2 = 0, r2.mode = 15, 6 === t3) break e; + case 15: + r2.mode = 16; + case 16: + if (d2 = r2.length) { + if (o2 < d2 && (d2 = o2), h4 < d2 && (d2 = h4), 0 === d2) break e; + I.arraySet(i2, n2, s2, d2, a2), o2 -= d2, s2 += d2, h4 -= d2, a2 += d2, r2.length -= d2; + break; + } + r2.mode = 12; + break; + case 17: + for (; l2 < 14; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + if (r2.nlen = 257 + (31 & u2), u2 >>>= 5, l2 -= 5, r2.ndist = 1 + (31 & u2), u2 >>>= 5, l2 -= 5, r2.ncode = 4 + (15 & u2), u2 >>>= 4, l2 -= 4, 286 < r2.nlen || 30 < r2.ndist) { + e2.msg = "too many length or distance symbols", r2.mode = 30; + break; + } + r2.have = 0, r2.mode = 18; + case 18: + for (; r2.have < r2.ncode; ) { + for (; l2 < 3; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + r2.lens[A[r2.have++]] = 7 & u2, u2 >>>= 3, l2 -= 3; + } + for (; r2.have < 19; ) r2.lens[A[r2.have++]] = 0; + if (r2.lencode = r2.lendyn, r2.lenbits = 7, S = { bits: r2.lenbits }, x = T(0, r2.lens, 0, 19, r2.lencode, 0, r2.work, S), r2.lenbits = S.bits, x) { + e2.msg = "invalid code lengths set", r2.mode = 30; + break; + } + r2.have = 0, r2.mode = 19; + case 19: + for (; r2.have < r2.nlen + r2.ndist; ) { + for (; g = (C2 = r2.lencode[u2 & (1 << r2.lenbits) - 1]) >>> 16 & 255, b = 65535 & C2, !((_ = C2 >>> 24) <= l2); ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + if (b < 16) u2 >>>= _, l2 -= _, r2.lens[r2.have++] = b; + else { + if (16 === b) { + for (z2 = _ + 2; l2 < z2; ) { + if (0 === o2) break e; o2--, u2 += n2[s2++] << l2, l2 += 8; } - u2 >>>= v, l2 -= v, r2.back += v; - } - if (u2 >>>= _, l2 -= _, r2.back += _, r2.length = b, g === 0) { - r2.mode = 26; - break; - } - if (32 & g) { - r2.back = -1, r2.mode = 12; - break; - } - if (64 & g) { - e2.msg = "invalid literal/length code", r2.mode = 30; - break; - } - r2.extra = 15 & g, r2.mode = 22; - case 22: - if (r2.extra) { - for (z2 = r2.extra; l2 < z2; ) { - if (o2 === 0) - break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; + if (u2 >>>= _, l2 -= _, 0 === r2.have) { + e2.msg = "invalid bit length repeat", r2.mode = 30; + break; } - r2.length += u2 & (1 << r2.extra) - 1, u2 >>>= r2.extra, l2 -= r2.extra, r2.back += r2.extra; - } - r2.was = r2.length, r2.mode = 23; - case 23: - for (; g = (C2 = r2.distcode[u2 & (1 << r2.distbits) - 1]) >>> 16 & 255, b = 65535 & C2, !((_ = C2 >>> 24) <= l2); ) { - if (o2 === 0) - break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if ((240 & g) == 0) { - for (v = _, y2 = g, w = b; g = (C2 = r2.distcode[w + ((u2 & (1 << v + y2) - 1) >> v)]) >>> 16 & 255, b = 65535 & C2, !(v + (_ = C2 >>> 24) <= l2); ) { - if (o2 === 0) - break e; + k = r2.lens[r2.have - 1], d2 = 3 + (3 & u2), u2 >>>= 2, l2 -= 2; + } else if (17 === b) { + for (z2 = _ + 3; l2 < z2; ) { + if (0 === o2) break e; o2--, u2 += n2[s2++] << l2, l2 += 8; } - u2 >>>= v, l2 -= v, r2.back += v; - } - if (u2 >>>= _, l2 -= _, r2.back += _, 64 & g) { - e2.msg = "invalid distance code", r2.mode = 30; - break; - } - r2.offset = b, r2.extra = 15 & g, r2.mode = 24; - case 24: - if (r2.extra) { - for (z2 = r2.extra; l2 < z2; ) { - if (o2 === 0) - break e; + l2 -= _, k = 0, d2 = 3 + (7 & (u2 >>>= _)), u2 >>>= 3, l2 -= 3; + } else { + for (z2 = _ + 7; l2 < z2; ) { + if (0 === o2) break e; o2--, u2 += n2[s2++] << l2, l2 += 8; } - r2.offset += u2 & (1 << r2.extra) - 1, u2 >>>= r2.extra, l2 -= r2.extra, r2.back += r2.extra; + l2 -= _, k = 0, d2 = 11 + (127 & (u2 >>>= _)), u2 >>>= 7, l2 -= 7; } - if (r2.offset > r2.dmax) { - e2.msg = "invalid distance too far back", r2.mode = 30; + if (r2.have + d2 > r2.nlen + r2.ndist) { + e2.msg = "invalid bit length repeat", r2.mode = 30; break; } - r2.mode = 25; - case 25: - if (h4 === 0) - break e; - if (d2 = c3 - h4, r2.offset > d2) { - if ((d2 = r2.offset - d2) > r2.whave && r2.sane) { - e2.msg = "invalid distance too far back", r2.mode = 30; - break; - } - p = d2 > r2.wnext ? (d2 -= r2.wnext, r2.wsize - d2) : r2.wnext - d2, d2 > r2.length && (d2 = r2.length), m = r2.window; - } else - m = i2, p = a2 - r2.offset, d2 = r2.length; - for (h4 < d2 && (d2 = h4), h4 -= d2, r2.length -= d2; i2[a2++] = m[p++], --d2; ) - ; - r2.length === 0 && (r2.mode = 21); + for (; d2--; ) r2.lens[r2.have++] = k; + } + } + if (30 === r2.mode) break; + if (0 === r2.lens[256]) { + e2.msg = "invalid code -- missing end-of-block", r2.mode = 30; + break; + } + if (r2.lenbits = 9, S = { bits: r2.lenbits }, x = T(D2, r2.lens, 0, r2.nlen, r2.lencode, 0, r2.work, S), r2.lenbits = S.bits, x) { + e2.msg = "invalid literal/lengths set", r2.mode = 30; + break; + } + if (r2.distbits = 6, r2.distcode = r2.distdyn, S = { bits: r2.distbits }, x = T(F2, r2.lens, r2.nlen, r2.ndist, r2.distcode, 0, r2.work, S), r2.distbits = S.bits, x) { + e2.msg = "invalid distances set", r2.mode = 30; + break; + } + if (r2.mode = 20, 6 === t3) break e; + case 20: + r2.mode = 21; + case 21: + if (6 <= o2 && 258 <= h4) { + e2.next_out = a2, e2.avail_out = h4, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l2, R(e2, c3), a2 = e2.next_out, i2 = e2.output, h4 = e2.avail_out, s2 = e2.next_in, n2 = e2.input, o2 = e2.avail_in, u2 = r2.hold, l2 = r2.bits, 12 === r2.mode && (r2.back = -1); + break; + } + for (r2.back = 0; g = (C2 = r2.lencode[u2 & (1 << r2.lenbits) - 1]) >>> 16 & 255, b = 65535 & C2, !((_ = C2 >>> 24) <= l2); ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + if (g && 0 == (240 & g)) { + for (v = _, y2 = g, w = b; g = (C2 = r2.lencode[w + ((u2 & (1 << v + y2) - 1) >> v)]) >>> 16 & 255, b = 65535 & C2, !(v + (_ = C2 >>> 24) <= l2); ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + u2 >>>= v, l2 -= v, r2.back += v; + } + if (u2 >>>= _, l2 -= _, r2.back += _, r2.length = b, 0 === g) { + r2.mode = 26; + break; + } + if (32 & g) { + r2.back = -1, r2.mode = 12; + break; + } + if (64 & g) { + e2.msg = "invalid literal/length code", r2.mode = 30; + break; + } + r2.extra = 15 & g, r2.mode = 22; + case 22: + if (r2.extra) { + for (z2 = r2.extra; l2 < z2; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + r2.length += u2 & (1 << r2.extra) - 1, u2 >>>= r2.extra, l2 -= r2.extra, r2.back += r2.extra; + } + r2.was = r2.length, r2.mode = 23; + case 23: + for (; g = (C2 = r2.distcode[u2 & (1 << r2.distbits) - 1]) >>> 16 & 255, b = 65535 & C2, !((_ = C2 >>> 24) <= l2); ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + if (0 == (240 & g)) { + for (v = _, y2 = g, w = b; g = (C2 = r2.distcode[w + ((u2 & (1 << v + y2) - 1) >> v)]) >>> 16 & 255, b = 65535 & C2, !(v + (_ = C2 >>> 24) <= l2); ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + u2 >>>= v, l2 -= v, r2.back += v; + } + if (u2 >>>= _, l2 -= _, r2.back += _, 64 & g) { + e2.msg = "invalid distance code", r2.mode = 30; + break; + } + r2.offset = b, r2.extra = 15 & g, r2.mode = 24; + case 24: + if (r2.extra) { + for (z2 = r2.extra; l2 < z2; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + r2.offset += u2 & (1 << r2.extra) - 1, u2 >>>= r2.extra, l2 -= r2.extra, r2.back += r2.extra; + } + if (r2.offset > r2.dmax) { + e2.msg = "invalid distance too far back", r2.mode = 30; + break; + } + r2.mode = 25; + case 25: + if (0 === h4) break e; + if (d2 = c3 - h4, r2.offset > d2) { + if ((d2 = r2.offset - d2) > r2.whave && r2.sane) { + e2.msg = "invalid distance too far back", r2.mode = 30; break; - case 26: - if (h4 === 0) - break e; - i2[a2++] = r2.length, h4--, r2.mode = 21; + } + p = d2 > r2.wnext ? (d2 -= r2.wnext, r2.wsize - d2) : r2.wnext - d2, d2 > r2.length && (d2 = r2.length), m = r2.window; + } else m = i2, p = a2 - r2.offset, d2 = r2.length; + for (h4 < d2 && (d2 = h4), h4 -= d2, r2.length -= d2; i2[a2++] = m[p++], --d2; ) ; + 0 === r2.length && (r2.mode = 21); + break; + case 26: + if (0 === h4) break e; + i2[a2++] = r2.length, h4--, r2.mode = 21; + break; + case 27: + if (r2.wrap) { + for (; l2 < 32; ) { + if (0 === o2) break e; + o2--, u2 |= n2[s2++] << l2, l2 += 8; + } + if (c3 -= h4, e2.total_out += c3, r2.total += c3, c3 && (e2.adler = r2.check = r2.flags ? B(r2.check, i2, c3, a2 - c3) : O(r2.check, i2, c3, a2 - c3)), c3 = h4, (r2.flags ? u2 : L(u2)) !== r2.check) { + e2.msg = "incorrect data check", r2.mode = 30; break; - case 27: - if (r2.wrap) { - for (; l2 < 32; ) { - if (o2 === 0) - break e; - o2--, u2 |= n2[s2++] << l2, l2 += 8; - } - if (c3 -= h4, e2.total_out += c3, r2.total += c3, c3 && (e2.adler = r2.check = r2.flags ? B(r2.check, i2, c3, a2 - c3) : O(r2.check, i2, c3, a2 - c3)), c3 = h4, (r2.flags ? u2 : L(u2)) !== r2.check) { - e2.msg = "incorrect data check", r2.mode = 30; - break; - } - l2 = u2 = 0; - } - r2.mode = 28; - case 28: - if (r2.wrap && r2.flags) { - for (; l2 < 32; ) { - if (o2 === 0) - break e; - o2--, u2 += n2[s2++] << l2, l2 += 8; - } - if (u2 !== (4294967295 & r2.total)) { - e2.msg = "incorrect length check", r2.mode = 30; - break; - } - l2 = u2 = 0; - } - r2.mode = 29; - case 29: - x = 1; - break e; - case 30: - x = -3; - break e; - case 31: - return -4; - case 32: - default: - return U; + } + l2 = u2 = 0; } - return e2.next_out = a2, e2.avail_out = h4, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l2, (r2.wsize || c3 !== e2.avail_out && r2.mode < 30 && (r2.mode < 27 || t3 !== 4)) && Z(e2, e2.output, e2.next_out, c3 - e2.avail_out) ? (r2.mode = 31, -4) : (f2 -= e2.avail_in, c3 -= e2.avail_out, e2.total_in += f2, e2.total_out += c3, r2.total += c3, r2.wrap && c3 && (e2.adler = r2.check = r2.flags ? B(r2.check, i2, c3, e2.next_out - c3) : O(r2.check, i2, c3, e2.next_out - c3)), e2.data_type = r2.bits + (r2.last ? 64 : 0) + (r2.mode === 12 ? 128 : 0) + (r2.mode === 20 || r2.mode === 15 ? 256 : 0), (f2 == 0 && c3 === 0 || t3 === 4) && x === N && (x = -5), x); + r2.mode = 28; + case 28: + if (r2.wrap && r2.flags) { + for (; l2 < 32; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + if (u2 !== (4294967295 & r2.total)) { + e2.msg = "incorrect length check", r2.mode = 30; + break; + } + l2 = u2 = 0; + } + r2.mode = 29; + case 29: + x = 1; + break e; + case 30: + x = -3; + break e; + case 31: + return -4; + case 32: + default: + return U; + } + return e2.next_out = a2, e2.avail_out = h4, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l2, (r2.wsize || c3 !== e2.avail_out && r2.mode < 30 && (r2.mode < 27 || 4 !== t3)) && Z(e2, e2.output, e2.next_out, c3 - e2.avail_out) ? (r2.mode = 31, -4) : (f2 -= e2.avail_in, c3 -= e2.avail_out, e2.total_in += f2, e2.total_out += c3, r2.total += c3, r2.wrap && c3 && (e2.adler = r2.check = r2.flags ? B(r2.check, i2, c3, e2.next_out - c3) : O(r2.check, i2, c3, e2.next_out - c3)), e2.data_type = r2.bits + (r2.last ? 64 : 0) + (12 === r2.mode ? 128 : 0) + (20 === r2.mode || 15 === r2.mode ? 256 : 0), (0 == f2 && 0 === c3 || 4 === t3) && x === N && (x = -5), x); }, r.inflateEnd = function(e2) { - if (!e2 || !e2.state) - return U; + if (!e2 || !e2.state) return U; var t3 = e2.state; return t3.window && (t3.window = null), e2.state = null, N; }, r.inflateGetHeader = function(e2, t3) { var r2; - return e2 && e2.state ? (2 & (r2 = e2.state).wrap) == 0 ? U : ((r2.head = t3).done = false, N) : U; + return e2 && e2.state ? 0 == (2 & (r2 = e2.state).wrap) ? U : ((r2.head = t3).done = false, N) : U; }, r.inflateSetDictionary = function(e2, t3) { var r2, n2 = t3.length; - return e2 && e2.state ? (r2 = e2.state).wrap !== 0 && r2.mode !== 11 ? U : r2.mode === 11 && O(1, t3, n2, 0) !== r2.check ? -3 : Z(e2, t3, n2, n2) ? (r2.mode = 31, -4) : (r2.havedict = 1, N) : U; + return e2 && e2.state ? 0 !== (r2 = e2.state).wrap && 11 !== r2.mode ? U : 11 === r2.mode && O(1, t3, n2, 0) !== r2.check ? -3 : Z(e2, t3, n2, n2) ? (r2.mode = 31, -4) : (r2.havedict = 1, N) : U; }, r.inflateInfo = "pako inflate (from Nodeca project)"; }, { "../utils/common": 41, "./adler32": 43, "./crc32": 45, "./inffast": 48, "./inftrees": 50 }], 50: [function(e, t2, r) { "use strict"; var D2 = e("../utils/common"), F2 = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0], N = [16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78], U = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0], P = [16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64]; t2.exports = function(e2, t3, r2, n, i, s, a, o) { var h3, u, l, f, c2, d2, p, m, _, g = o.bits, b = 0, v = 0, y2 = 0, w = 0, k = 0, x = 0, S = 0, z2 = 0, C2 = 0, E = 0, A = null, I = 0, O = new D2.Buf16(16), B = new D2.Buf16(16), R = null, T = 0; - for (b = 0; b <= 15; b++) - O[b] = 0; - for (v = 0; v < n; v++) - O[t3[r2 + v]]++; - for (k = g, w = 15; 1 <= w && O[w] === 0; w--) - ; - if (w < k && (k = w), w === 0) - return i[s++] = 20971520, i[s++] = 20971520, o.bits = 1, 0; - for (y2 = 1; y2 < w && O[y2] === 0; y2++) - ; - for (k < y2 && (k = y2), b = z2 = 1; b <= 15; b++) - if (z2 <<= 1, (z2 -= O[b]) < 0) - return -1; - if (0 < z2 && (e2 === 0 || w !== 1)) - return -1; - for (B[1] = 0, b = 1; b < 15; b++) - B[b + 1] = B[b] + O[b]; - for (v = 0; v < n; v++) - t3[r2 + v] !== 0 && (a[B[t3[r2 + v]]++] = v); - if (d2 = e2 === 0 ? (A = R = a, 19) : e2 === 1 ? (A = F2, I -= 257, R = N, T -= 257, 256) : (A = U, R = P, -1), b = y2, c2 = s, S = v = E = 0, l = -1, f = (C2 = 1 << (x = k)) - 1, e2 === 1 && 852 < C2 || e2 === 2 && 592 < C2) - return 1; + for (b = 0; b <= 15; b++) O[b] = 0; + for (v = 0; v < n; v++) O[t3[r2 + v]]++; + for (k = g, w = 15; 1 <= w && 0 === O[w]; w--) ; + if (w < k && (k = w), 0 === w) return i[s++] = 20971520, i[s++] = 20971520, o.bits = 1, 0; + for (y2 = 1; y2 < w && 0 === O[y2]; y2++) ; + for (k < y2 && (k = y2), b = z2 = 1; b <= 15; b++) if (z2 <<= 1, (z2 -= O[b]) < 0) return -1; + if (0 < z2 && (0 === e2 || 1 !== w)) return -1; + for (B[1] = 0, b = 1; b < 15; b++) B[b + 1] = B[b] + O[b]; + for (v = 0; v < n; v++) 0 !== t3[r2 + v] && (a[B[t3[r2 + v]]++] = v); + if (d2 = 0 === e2 ? (A = R = a, 19) : 1 === e2 ? (A = F2, I -= 257, R = N, T -= 257, 256) : (A = U, R = P, -1), b = y2, c2 = s, S = v = E = 0, l = -1, f = (C2 = 1 << (x = k)) - 1, 1 === e2 && 852 < C2 || 2 === e2 && 592 < C2) return 1; for (; ; ) { - for (p = b - S, _ = a[v] < d2 ? (m = 0, a[v]) : a[v] > d2 ? (m = R[T + a[v]], A[I + a[v]]) : (m = 96, 0), h3 = 1 << b - S, y2 = u = 1 << x; i[c2 + (E >> S) + (u -= h3)] = p << 24 | m << 16 | _ | 0, u !== 0; ) - ; - for (h3 = 1 << b - 1; E & h3; ) - h3 >>= 1; - if (h3 !== 0 ? (E &= h3 - 1, E += h3) : E = 0, v++, --O[b] == 0) { - if (b === w) - break; + for (p = b - S, _ = a[v] < d2 ? (m = 0, a[v]) : a[v] > d2 ? (m = R[T + a[v]], A[I + a[v]]) : (m = 96, 0), h3 = 1 << b - S, y2 = u = 1 << x; i[c2 + (E >> S) + (u -= h3)] = p << 24 | m << 16 | _ | 0, 0 !== u; ) ; + for (h3 = 1 << b - 1; E & h3; ) h3 >>= 1; + if (0 !== h3 ? (E &= h3 - 1, E += h3) : E = 0, v++, 0 == --O[b]) { + if (b === w) break; b = t3[r2 + a[v]]; } if (k < b && (E & f) !== l) { - for (S === 0 && (S = k), c2 += y2, z2 = 1 << (x = b - S); x + S < w && !((z2 -= O[x + S]) <= 0); ) - x++, z2 <<= 1; - if (C2 += 1 << x, e2 === 1 && 852 < C2 || e2 === 2 && 592 < C2) - return 1; + for (0 === S && (S = k), c2 += y2, z2 = 1 << (x = b - S); x + S < w && !((z2 -= O[x + S]) <= 0); ) x++, z2 <<= 1; + if (C2 += 1 << x, 1 === e2 && 852 < C2 || 2 === e2 && 592 < C2) return 1; i[l = E & f] = k << 24 | x << 16 | c2 - s | 0; } } - return E !== 0 && (i[c2 + E] = b - S << 24 | 64 << 16 | 0), o.bits = k, 0; + return 0 !== E && (i[c2 + E] = b - S << 24 | 64 << 16 | 0), o.bits = k, 0; }; }, { "../utils/common": 41 }], 51: [function(e, t2, r) { "use strict"; @@ -2489,8 +2240,7 @@ var hedyApp = (() => { "use strict"; var i = e("../utils/common"), o = 0, h3 = 1; function n(e2) { - for (var t3 = e2.length; 0 <= --t3; ) - e2[t3] = 0; + for (var t3 = e2.length; 0 <= --t3; ) e2[t3] = 0; } var s = 0, a = 29, u = 256, l = u + 1 + a, f = 30, c2 = 19, _ = 2 * l + 1, g = 15, d2 = 16, p = 7, m = 256, b = 16, v = 17, y2 = 18, w = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0], k = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13], x = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], S = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], z2 = new Array(2 * (l + 2)); n(z2); @@ -2522,27 +2272,22 @@ var hedyApp = (() => { P(e2, r2[2 * t3], r2[2 * t3 + 1]); } function j2(e2, t3) { - for (var r2 = 0; r2 |= 1 & e2, e2 >>>= 1, r2 <<= 1, 0 < --t3; ) - ; + for (var r2 = 0; r2 |= 1 & e2, e2 >>>= 1, r2 <<= 1, 0 < --t3; ) ; return r2 >>> 1; } function Z(e2, t3, r2) { var n2, i2, s2 = new Array(g + 1), a2 = 0; - for (n2 = 1; n2 <= g; n2++) - s2[n2] = a2 = a2 + r2[n2 - 1] << 1; + for (n2 = 1; n2 <= g; n2++) s2[n2] = a2 = a2 + r2[n2 - 1] << 1; for (i2 = 0; i2 <= t3; i2++) { var o2 = e2[2 * i2 + 1]; - o2 !== 0 && (e2[2 * i2] = j2(s2[o2]++, o2)); + 0 !== o2 && (e2[2 * i2] = j2(s2[o2]++, o2)); } } function W2(e2) { var t3; - for (t3 = 0; t3 < l; t3++) - e2.dyn_ltree[2 * t3] = 0; - for (t3 = 0; t3 < f; t3++) - e2.dyn_dtree[2 * t3] = 0; - for (t3 = 0; t3 < c2; t3++) - e2.bl_tree[2 * t3] = 0; + for (t3 = 0; t3 < l; t3++) e2.dyn_ltree[2 * t3] = 0; + for (t3 = 0; t3 < f; t3++) e2.dyn_dtree[2 * t3] = 0; + for (t3 = 0; t3 < c2; t3++) e2.bl_tree[2 * t3] = 0; e2.dyn_ltree[2 * m] = 1, e2.opt_len = e2.static_len = 0, e2.last_lit = e2.matches = 0; } function M2(e2) { @@ -2553,61 +2298,44 @@ var hedyApp = (() => { return e2[i2] < e2[s2] || e2[i2] === e2[s2] && n2[t3] <= n2[r2]; } function G2(e2, t3, r2) { - for (var n2 = e2.heap[r2], i2 = r2 << 1; i2 <= e2.heap_len && (i2 < e2.heap_len && H2(t3, e2.heap[i2 + 1], e2.heap[i2], e2.depth) && i2++, !H2(t3, n2, e2.heap[i2], e2.depth)); ) - e2.heap[r2] = e2.heap[i2], r2 = i2, i2 <<= 1; + for (var n2 = e2.heap[r2], i2 = r2 << 1; i2 <= e2.heap_len && (i2 < e2.heap_len && H2(t3, e2.heap[i2 + 1], e2.heap[i2], e2.depth) && i2++, !H2(t3, n2, e2.heap[i2], e2.depth)); ) e2.heap[r2] = e2.heap[i2], r2 = i2, i2 <<= 1; e2.heap[r2] = n2; } function K2(e2, t3, r2) { var n2, i2, s2, a2, o2 = 0; - if (e2.last_lit !== 0) - for (; n2 = e2.pending_buf[e2.d_buf + 2 * o2] << 8 | e2.pending_buf[e2.d_buf + 2 * o2 + 1], i2 = e2.pending_buf[e2.l_buf + o2], o2++, n2 === 0 ? L(e2, i2, t3) : (L(e2, (s2 = A[i2]) + u + 1, t3), (a2 = w[s2]) !== 0 && P(e2, i2 -= I[s2], a2), L(e2, s2 = N(--n2), r2), (a2 = k[s2]) !== 0 && P(e2, n2 -= T[s2], a2)), o2 < e2.last_lit; ) - ; + if (0 !== e2.last_lit) for (; n2 = e2.pending_buf[e2.d_buf + 2 * o2] << 8 | e2.pending_buf[e2.d_buf + 2 * o2 + 1], i2 = e2.pending_buf[e2.l_buf + o2], o2++, 0 === n2 ? L(e2, i2, t3) : (L(e2, (s2 = A[i2]) + u + 1, t3), 0 !== (a2 = w[s2]) && P(e2, i2 -= I[s2], a2), L(e2, s2 = N(--n2), r2), 0 !== (a2 = k[s2]) && P(e2, n2 -= T[s2], a2)), o2 < e2.last_lit; ) ; L(e2, m, t3); } function Y(e2, t3) { var r2, n2, i2, s2 = t3.dyn_tree, a2 = t3.stat_desc.static_tree, o2 = t3.stat_desc.has_stree, h4 = t3.stat_desc.elems, u2 = -1; - for (e2.heap_len = 0, e2.heap_max = _, r2 = 0; r2 < h4; r2++) - s2[2 * r2] !== 0 ? (e2.heap[++e2.heap_len] = u2 = r2, e2.depth[r2] = 0) : s2[2 * r2 + 1] = 0; - for (; e2.heap_len < 2; ) - s2[2 * (i2 = e2.heap[++e2.heap_len] = u2 < 2 ? ++u2 : 0)] = 1, e2.depth[i2] = 0, e2.opt_len--, o2 && (e2.static_len -= a2[2 * i2 + 1]); - for (t3.max_code = u2, r2 = e2.heap_len >> 1; 1 <= r2; r2--) - G2(e2, s2, r2); - for (i2 = h4; r2 = e2.heap[1], e2.heap[1] = e2.heap[e2.heap_len--], G2(e2, s2, 1), n2 = e2.heap[1], e2.heap[--e2.heap_max] = r2, e2.heap[--e2.heap_max] = n2, s2[2 * i2] = s2[2 * r2] + s2[2 * n2], e2.depth[i2] = (e2.depth[r2] >= e2.depth[n2] ? e2.depth[r2] : e2.depth[n2]) + 1, s2[2 * r2 + 1] = s2[2 * n2 + 1] = i2, e2.heap[1] = i2++, G2(e2, s2, 1), 2 <= e2.heap_len; ) - ; + for (e2.heap_len = 0, e2.heap_max = _, r2 = 0; r2 < h4; r2++) 0 !== s2[2 * r2] ? (e2.heap[++e2.heap_len] = u2 = r2, e2.depth[r2] = 0) : s2[2 * r2 + 1] = 0; + for (; e2.heap_len < 2; ) s2[2 * (i2 = e2.heap[++e2.heap_len] = u2 < 2 ? ++u2 : 0)] = 1, e2.depth[i2] = 0, e2.opt_len--, o2 && (e2.static_len -= a2[2 * i2 + 1]); + for (t3.max_code = u2, r2 = e2.heap_len >> 1; 1 <= r2; r2--) G2(e2, s2, r2); + for (i2 = h4; r2 = e2.heap[1], e2.heap[1] = e2.heap[e2.heap_len--], G2(e2, s2, 1), n2 = e2.heap[1], e2.heap[--e2.heap_max] = r2, e2.heap[--e2.heap_max] = n2, s2[2 * i2] = s2[2 * r2] + s2[2 * n2], e2.depth[i2] = (e2.depth[r2] >= e2.depth[n2] ? e2.depth[r2] : e2.depth[n2]) + 1, s2[2 * r2 + 1] = s2[2 * n2 + 1] = i2, e2.heap[1] = i2++, G2(e2, s2, 1), 2 <= e2.heap_len; ) ; e2.heap[--e2.heap_max] = e2.heap[1], function(e3, t4) { var r3, n3, i3, s3, a3, o3, h5 = t4.dyn_tree, u3 = t4.max_code, l2 = t4.stat_desc.static_tree, f2 = t4.stat_desc.has_stree, c3 = t4.stat_desc.extra_bits, d3 = t4.stat_desc.extra_base, p2 = t4.stat_desc.max_length, m2 = 0; - for (s3 = 0; s3 <= g; s3++) - e3.bl_count[s3] = 0; - for (h5[2 * e3.heap[e3.heap_max] + 1] = 0, r3 = e3.heap_max + 1; r3 < _; r3++) - p2 < (s3 = h5[2 * h5[2 * (n3 = e3.heap[r3]) + 1] + 1] + 1) && (s3 = p2, m2++), h5[2 * n3 + 1] = s3, u3 < n3 || (e3.bl_count[s3]++, a3 = 0, d3 <= n3 && (a3 = c3[n3 - d3]), o3 = h5[2 * n3], e3.opt_len += o3 * (s3 + a3), f2 && (e3.static_len += o3 * (l2[2 * n3 + 1] + a3))); - if (m2 !== 0) { + for (s3 = 0; s3 <= g; s3++) e3.bl_count[s3] = 0; + for (h5[2 * e3.heap[e3.heap_max] + 1] = 0, r3 = e3.heap_max + 1; r3 < _; r3++) p2 < (s3 = h5[2 * h5[2 * (n3 = e3.heap[r3]) + 1] + 1] + 1) && (s3 = p2, m2++), h5[2 * n3 + 1] = s3, u3 < n3 || (e3.bl_count[s3]++, a3 = 0, d3 <= n3 && (a3 = c3[n3 - d3]), o3 = h5[2 * n3], e3.opt_len += o3 * (s3 + a3), f2 && (e3.static_len += o3 * (l2[2 * n3 + 1] + a3))); + if (0 !== m2) { do { - for (s3 = p2 - 1; e3.bl_count[s3] === 0; ) - s3--; + for (s3 = p2 - 1; 0 === e3.bl_count[s3]; ) s3--; e3.bl_count[s3]--, e3.bl_count[s3 + 1] += 2, e3.bl_count[p2]--, m2 -= 2; } while (0 < m2); - for (s3 = p2; s3 !== 0; s3--) - for (n3 = e3.bl_count[s3]; n3 !== 0; ) - u3 < (i3 = e3.heap[--r3]) || (h5[2 * i3 + 1] !== s3 && (e3.opt_len += (s3 - h5[2 * i3 + 1]) * h5[2 * i3], h5[2 * i3 + 1] = s3), n3--); + for (s3 = p2; 0 !== s3; s3--) for (n3 = e3.bl_count[s3]; 0 !== n3; ) u3 < (i3 = e3.heap[--r3]) || (h5[2 * i3 + 1] !== s3 && (e3.opt_len += (s3 - h5[2 * i3 + 1]) * h5[2 * i3], h5[2 * i3 + 1] = s3), n3--); } }(e2, t3), Z(s2, u2, e2.bl_count); } function X2(e2, t3, r2) { var n2, i2, s2 = -1, a2 = t3[1], o2 = 0, h4 = 7, u2 = 4; - for (a2 === 0 && (h4 = 138, u2 = 3), t3[2 * (r2 + 1) + 1] = 65535, n2 = 0; n2 <= r2; n2++) - i2 = a2, a2 = t3[2 * (n2 + 1) + 1], ++o2 < h4 && i2 === a2 || (o2 < u2 ? e2.bl_tree[2 * i2] += o2 : i2 !== 0 ? (i2 !== s2 && e2.bl_tree[2 * i2]++, e2.bl_tree[2 * b]++) : o2 <= 10 ? e2.bl_tree[2 * v]++ : e2.bl_tree[2 * y2]++, s2 = i2, u2 = (o2 = 0) === a2 ? (h4 = 138, 3) : i2 === a2 ? (h4 = 6, 3) : (h4 = 7, 4)); + for (0 === a2 && (h4 = 138, u2 = 3), t3[2 * (r2 + 1) + 1] = 65535, n2 = 0; n2 <= r2; n2++) i2 = a2, a2 = t3[2 * (n2 + 1) + 1], ++o2 < h4 && i2 === a2 || (o2 < u2 ? e2.bl_tree[2 * i2] += o2 : 0 !== i2 ? (i2 !== s2 && e2.bl_tree[2 * i2]++, e2.bl_tree[2 * b]++) : o2 <= 10 ? e2.bl_tree[2 * v]++ : e2.bl_tree[2 * y2]++, s2 = i2, u2 = (o2 = 0) === a2 ? (h4 = 138, 3) : i2 === a2 ? (h4 = 6, 3) : (h4 = 7, 4)); } function V2(e2, t3, r2) { var n2, i2, s2 = -1, a2 = t3[1], o2 = 0, h4 = 7, u2 = 4; - for (a2 === 0 && (h4 = 138, u2 = 3), n2 = 0; n2 <= r2; n2++) - if (i2 = a2, a2 = t3[2 * (n2 + 1) + 1], !(++o2 < h4 && i2 === a2)) { - if (o2 < u2) - for (; L(e2, i2, e2.bl_tree), --o2 != 0; ) - ; - else - i2 !== 0 ? (i2 !== s2 && (L(e2, i2, e2.bl_tree), o2--), L(e2, b, e2.bl_tree), P(e2, o2 - 3, 2)) : o2 <= 10 ? (L(e2, v, e2.bl_tree), P(e2, o2 - 3, 3)) : (L(e2, y2, e2.bl_tree), P(e2, o2 - 11, 7)); - s2 = i2, u2 = (o2 = 0) === a2 ? (h4 = 138, 3) : i2 === a2 ? (h4 = 6, 3) : (h4 = 7, 4); - } + for (0 === a2 && (h4 = 138, u2 = 3), n2 = 0; n2 <= r2; n2++) if (i2 = a2, a2 = t3[2 * (n2 + 1) + 1], !(++o2 < h4 && i2 === a2)) { + if (o2 < u2) for (; L(e2, i2, e2.bl_tree), 0 != --o2; ) ; + else 0 !== i2 ? (i2 !== s2 && (L(e2, i2, e2.bl_tree), o2--), L(e2, b, e2.bl_tree), P(e2, o2 - 3, 2)) : o2 <= 10 ? (L(e2, v, e2.bl_tree), P(e2, o2 - 3, 3)) : (L(e2, y2, e2.bl_tree), P(e2, o2 - 11, 7)); + s2 = i2, u2 = (o2 = 0) === a2 ? (h4 = 138, 3) : i2 === a2 ? (h4 = 6, 3) : (h4 = 7, 4); + } } n(T); var q2 = false; @@ -2619,58 +2347,39 @@ var hedyApp = (() => { r._tr_init = function(e2) { q2 || (function() { var e3, t3, r2, n2, i2, s2 = new Array(g + 1); - for (n2 = r2 = 0; n2 < a - 1; n2++) - for (I[n2] = r2, e3 = 0; e3 < 1 << w[n2]; e3++) - A[r2++] = n2; - for (A[r2 - 1] = n2, n2 = i2 = 0; n2 < 16; n2++) - for (T[n2] = i2, e3 = 0; e3 < 1 << k[n2]; e3++) - E[i2++] = n2; - for (i2 >>= 7; n2 < f; n2++) - for (T[n2] = i2 << 7, e3 = 0; e3 < 1 << k[n2] - 7; e3++) - E[256 + i2++] = n2; - for (t3 = 0; t3 <= g; t3++) - s2[t3] = 0; - for (e3 = 0; e3 <= 143; ) - z2[2 * e3 + 1] = 8, e3++, s2[8]++; - for (; e3 <= 255; ) - z2[2 * e3 + 1] = 9, e3++, s2[9]++; - for (; e3 <= 279; ) - z2[2 * e3 + 1] = 7, e3++, s2[7]++; - for (; e3 <= 287; ) - z2[2 * e3 + 1] = 8, e3++, s2[8]++; - for (Z(z2, l + 1, s2), e3 = 0; e3 < f; e3++) - C2[2 * e3 + 1] = 5, C2[2 * e3] = j2(e3, 5); + for (n2 = r2 = 0; n2 < a - 1; n2++) for (I[n2] = r2, e3 = 0; e3 < 1 << w[n2]; e3++) A[r2++] = n2; + for (A[r2 - 1] = n2, n2 = i2 = 0; n2 < 16; n2++) for (T[n2] = i2, e3 = 0; e3 < 1 << k[n2]; e3++) E[i2++] = n2; + for (i2 >>= 7; n2 < f; n2++) for (T[n2] = i2 << 7, e3 = 0; e3 < 1 << k[n2] - 7; e3++) E[256 + i2++] = n2; + for (t3 = 0; t3 <= g; t3++) s2[t3] = 0; + for (e3 = 0; e3 <= 143; ) z2[2 * e3 + 1] = 8, e3++, s2[8]++; + for (; e3 <= 255; ) z2[2 * e3 + 1] = 9, e3++, s2[9]++; + for (; e3 <= 279; ) z2[2 * e3 + 1] = 7, e3++, s2[7]++; + for (; e3 <= 287; ) z2[2 * e3 + 1] = 8, e3++, s2[8]++; + for (Z(z2, l + 1, s2), e3 = 0; e3 < f; e3++) C2[2 * e3 + 1] = 5, C2[2 * e3] = j2(e3, 5); O = new D2(z2, w, u + 1, l, g), B = new D2(C2, k, 0, f, g), R = new D2(new Array(0), x, 0, c2, p); }(), q2 = true), e2.l_desc = new F2(e2.dyn_ltree, O), e2.d_desc = new F2(e2.dyn_dtree, B), e2.bl_desc = new F2(e2.bl_tree, R), e2.bi_buf = 0, e2.bi_valid = 0, W2(e2); }, r._tr_stored_block = J2, r._tr_flush_block = function(e2, t3, r2, n2) { var i2, s2, a2 = 0; - 0 < e2.level ? (e2.strm.data_type === 2 && (e2.strm.data_type = function(e3) { + 0 < e2.level ? (2 === e2.strm.data_type && (e2.strm.data_type = function(e3) { var t4, r3 = 4093624447; - for (t4 = 0; t4 <= 31; t4++, r3 >>>= 1) - if (1 & r3 && e3.dyn_ltree[2 * t4] !== 0) - return o; - if (e3.dyn_ltree[18] !== 0 || e3.dyn_ltree[20] !== 0 || e3.dyn_ltree[26] !== 0) - return h3; - for (t4 = 32; t4 < u; t4++) - if (e3.dyn_ltree[2 * t4] !== 0) - return h3; + for (t4 = 0; t4 <= 31; t4++, r3 >>>= 1) if (1 & r3 && 0 !== e3.dyn_ltree[2 * t4]) return o; + if (0 !== e3.dyn_ltree[18] || 0 !== e3.dyn_ltree[20] || 0 !== e3.dyn_ltree[26]) return h3; + for (t4 = 32; t4 < u; t4++) if (0 !== e3.dyn_ltree[2 * t4]) return h3; return o; }(e2)), Y(e2, e2.l_desc), Y(e2, e2.d_desc), a2 = function(e3) { var t4; - for (X2(e3, e3.dyn_ltree, e3.l_desc.max_code), X2(e3, e3.dyn_dtree, e3.d_desc.max_code), Y(e3, e3.bl_desc), t4 = c2 - 1; 3 <= t4 && e3.bl_tree[2 * S[t4] + 1] === 0; t4--) - ; + for (X2(e3, e3.dyn_ltree, e3.l_desc.max_code), X2(e3, e3.dyn_dtree, e3.d_desc.max_code), Y(e3, e3.bl_desc), t4 = c2 - 1; 3 <= t4 && 0 === e3.bl_tree[2 * S[t4] + 1]; t4--) ; return e3.opt_len += 3 * (t4 + 1) + 5 + 5 + 4, t4; - }(e2), i2 = e2.opt_len + 3 + 7 >>> 3, (s2 = e2.static_len + 3 + 7 >>> 3) <= i2 && (i2 = s2)) : i2 = s2 = r2 + 5, r2 + 4 <= i2 && t3 !== -1 ? J2(e2, t3, r2, n2) : e2.strategy === 4 || s2 === i2 ? (P(e2, 2 + (n2 ? 1 : 0), 3), K2(e2, z2, C2)) : (P(e2, 4 + (n2 ? 1 : 0), 3), function(e3, t4, r3, n3) { + }(e2), i2 = e2.opt_len + 3 + 7 >>> 3, (s2 = e2.static_len + 3 + 7 >>> 3) <= i2 && (i2 = s2)) : i2 = s2 = r2 + 5, r2 + 4 <= i2 && -1 !== t3 ? J2(e2, t3, r2, n2) : 4 === e2.strategy || s2 === i2 ? (P(e2, 2 + (n2 ? 1 : 0), 3), K2(e2, z2, C2)) : (P(e2, 4 + (n2 ? 1 : 0), 3), function(e3, t4, r3, n3) { var i3; - for (P(e3, t4 - 257, 5), P(e3, r3 - 1, 5), P(e3, n3 - 4, 4), i3 = 0; i3 < n3; i3++) - P(e3, e3.bl_tree[2 * S[i3] + 1], 3); + for (P(e3, t4 - 257, 5), P(e3, r3 - 1, 5), P(e3, n3 - 4, 4), i3 = 0; i3 < n3; i3++) P(e3, e3.bl_tree[2 * S[i3] + 1], 3); V2(e3, e3.dyn_ltree, t4 - 1), V2(e3, e3.dyn_dtree, r3 - 1); }(e2, e2.l_desc.max_code + 1, e2.d_desc.max_code + 1, a2 + 1), K2(e2, e2.dyn_ltree, e2.dyn_dtree)), W2(e2), n2 && M2(e2); }, r._tr_tally = function(e2, t3, r2) { - return e2.pending_buf[e2.d_buf + 2 * e2.last_lit] = t3 >>> 8 & 255, e2.pending_buf[e2.d_buf + 2 * e2.last_lit + 1] = 255 & t3, e2.pending_buf[e2.l_buf + e2.last_lit] = 255 & r2, e2.last_lit++, t3 === 0 ? e2.dyn_ltree[2 * r2]++ : (e2.matches++, t3--, e2.dyn_ltree[2 * (A[r2] + u + 1)]++, e2.dyn_dtree[2 * N(t3)]++), e2.last_lit === e2.lit_bufsize - 1; + return e2.pending_buf[e2.d_buf + 2 * e2.last_lit] = t3 >>> 8 & 255, e2.pending_buf[e2.d_buf + 2 * e2.last_lit + 1] = 255 & t3, e2.pending_buf[e2.l_buf + e2.last_lit] = 255 & r2, e2.last_lit++, 0 === t3 ? e2.dyn_ltree[2 * r2]++ : (e2.matches++, t3--, e2.dyn_ltree[2 * (A[r2] + u + 1)]++, e2.dyn_dtree[2 * N(t3)]++), e2.last_lit === e2.lit_bufsize - 1; }, r._tr_align = function(e2) { P(e2, 2, 3), L(e2, m, z2), function(e3) { - e3.bi_valid === 16 ? (U(e3, e3.bi_buf), e3.bi_buf = 0, e3.bi_valid = 0) : 8 <= e3.bi_valid && (e3.pending_buf[e3.pending++] = 255 & e3.bi_buf, e3.bi_buf >>= 8, e3.bi_valid -= 8); + 16 === e3.bi_valid ? (U(e3, e3.bi_buf), e3.bi_buf = 0, e3.bi_valid = 0) : 8 <= e3.bi_valid && (e3.pending_buf[e3.pending++] = 255 & e3.bi_buf, e3.bi_buf >>= 8, e3.bi_valid -= 8); }(e2); }; }, { "../utils/common": 41 }], 53: [function(e, t2, r) { @@ -2684,7 +2393,7 @@ var hedyApp = (() => { "use strict"; if (!r2.setImmediate) { var i, s, t3, a, o = 1, h3 = {}, u = false, l = r2.document, e3 = Object.getPrototypeOf && Object.getPrototypeOf(r2); - e3 = e3 && e3.setTimeout ? e3 : r2, i = {}.toString.call(r2.process) === "[object process]" ? function(e4) { + e3 = e3 && e3.setTimeout ? e3 : r2, i = "[object process]" === {}.toString.call(r2.process) ? function(e4) { process.nextTick(function() { c2(e4); }); @@ -2709,9 +2418,8 @@ var hedyApp = (() => { }) : function(e4) { setTimeout(c2, 0, e4); }, e3.setImmediate = function(e4) { - typeof e4 != "function" && (e4 = new Function("" + e4)); - for (var t4 = new Array(arguments.length - 1), r3 = 0; r3 < t4.length; r3++) - t4[r3] = arguments[r3 + 1]; + "function" != typeof e4 && (e4 = new Function("" + e4)); + for (var t4 = new Array(arguments.length - 1), r3 = 0; r3 < t4.length; r3++) t4[r3] = arguments[r3 + 1]; var n2 = { callback: e4, args: t4 }; return h3[o] = n2, i(o), o++; }, e3.clearImmediate = f; @@ -2720,8 +2428,7 @@ var hedyApp = (() => { delete h3[e4]; } function c2(e4) { - if (u) - setTimeout(c2, 0, e4); + if (u) setTimeout(c2, 0, e4); else { var t4 = h3[e4]; if (t4) { @@ -2753,10 +2460,10 @@ var hedyApp = (() => { } } function d2(e4) { - e4.source === r2 && typeof e4.data == "string" && e4.data.indexOf(a) === 0 && c2(+e4.data.slice(a.length)); + e4.source === r2 && "string" == typeof e4.data && 0 === e4.data.indexOf(a) && c2(+e4.data.slice(a.length)); } - }(typeof self == "undefined" ? e2 === void 0 ? this : e2 : self); - }).call(this, typeof global != "undefined" ? global : typeof self != "undefined" ? self : typeof window != "undefined" ? window : {}); + }("undefined" == typeof self ? void 0 === e2 ? this : e2 : self); + }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}); }, {}] }, {}, [10])(10); }); } @@ -2766,8 +2473,7 @@ var hedyApp = (() => { var require_arrayWithHoles = __commonJS({ "node_modules/@babel/runtime/helpers/arrayWithHoles.js"(exports, module) { function _arrayWithHoles(arr) { - if (Array.isArray(arr)) - return arr; + if (Array.isArray(arr)) return arr; } module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; } @@ -2777,26 +2483,21 @@ var hedyApp = (() => { var require_iterableToArrayLimit = __commonJS({ "node_modules/@babel/runtime/helpers/iterableToArrayLimit.js"(exports, module) { function _iterableToArrayLimit(r, l) { - var t2 = r == null ? null : typeof Symbol != "undefined" && r[Symbol.iterator] || r["@@iterator"]; - if (t2 != null) { + var t2 = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (null != t2) { var e, n, i, u, a = [], f = true, o = false; try { - if (i = (t2 = t2.call(r)).next, l === 0) { - if (Object(t2) !== t2) - return; + if (i = (t2 = t2.call(r)).next, 0 === l) { + if (Object(t2) !== t2) return; f = false; - } else - for (; !(f = (e = i.call(t2)).done) && (a.push(e.value), a.length !== l); f = true) - ; + } else for (; !(f = (e = i.call(t2)).done) && (a.push(e.value), a.length !== l); f = true) ; } catch (r2) { o = true, n = r2; } finally { try { - if (!f && t2["return"] != null && (u = t2["return"](), Object(u) !== u)) - return; + if (!f && null != t2["return"] && (u = t2["return"](), Object(u) !== u)) return; } finally { - if (o) - throw n; + if (o) throw n; } } return a; @@ -2810,10 +2511,8 @@ var hedyApp = (() => { var require_arrayLikeToArray = __commonJS({ "node_modules/@babel/runtime/helpers/arrayLikeToArray.js"(exports, module) { function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) - len = arr.length; - for (var i = 0, arr2 = new Array(len); i < len; i++) - arr2[i] = arr[i]; + if (len == null || len > arr.length) len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; @@ -2825,17 +2524,12 @@ var hedyApp = (() => { "node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js"(exports, module) { var arrayLikeToArray = require_arrayLikeToArray(); function _unsupportedIterableToArray(o, minLen) { - if (!o) - return; - if (typeof o === "string") - return arrayLikeToArray(o, minLen); + if (!o) return; + if (typeof o === "string") return arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) - n = o.constructor.name; - if (n === "Map" || n === "Set") - return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) - return arrayLikeToArray(o, minLen); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen); } module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; } @@ -2882,10 +2576,10 @@ var hedyApp = (() => { "node_modules/@babel/runtime/helpers/typeof.js"(exports, module) { function _typeof2(o) { "@babel/helpers - typeof"; - return module.exports = _typeof2 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(o2) { + return module.exports = _typeof2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { return typeof o2; } : function(o2) { - return o2 && typeof Symbol == "function" && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; }, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof2(o); } module.exports = _typeof2, module.exports.__esModule = true, module.exports["default"] = module.exports; @@ -2897,16 +2591,14 @@ var hedyApp = (() => { "node_modules/@babel/runtime/helpers/toPrimitive.js"(exports, module) { var _typeof2 = require_typeof()["default"]; function toPrimitive(t2, r) { - if (_typeof2(t2) != "object" || !t2) - return t2; + if ("object" != _typeof2(t2) || !t2) return t2; var e = t2[Symbol.toPrimitive]; - if (e !== void 0) { + if (void 0 !== e) { var i = e.call(t2, r || "default"); - if (_typeof2(i) != "object") - return i; + if ("object" != _typeof2(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } - return (r === "string" ? String : Number)(t2); + return ("string" === r ? String : Number)(t2); } module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports; } @@ -2919,7 +2611,7 @@ var hedyApp = (() => { var toPrimitive = require_toPrimitive(); function toPropertyKey(t2) { var i = toPrimitive(t2, "string"); - return _typeof2(i) == "symbol" ? i : String(i); + return "symbol" == _typeof2(i) ? i : String(i); } module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports; } @@ -2934,16 +2626,13 @@ var hedyApp = (() => { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; - if ("value" in descriptor) - descriptor.writable = true; + if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties(Constructor, staticProps); + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); @@ -3249,10 +2938,10 @@ var hedyApp = (() => { "use strict"; function _typeof2(obj) { "@babel/helpers - typeof"; - return _typeof2 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(obj2) { + return _typeof2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj2) { return typeof obj2; } : function(obj2) { - return obj2 && typeof Symbol == "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + return obj2 && "function" == typeof Symbol && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; }, _typeof2(obj); } function _setPrototypeOf(o, p) { @@ -3263,12 +2952,9 @@ var hedyApp = (() => { return _setPrototypeOf(o, p); } function _isNativeReflectConstruct() { - if (typeof Reflect === "undefined" || !Reflect.construct) - return false; - if (Reflect.construct.sham) - return false; - if (typeof Proxy === "function") - return true; + if (typeof Reflect === "undefined" || !Reflect.construct) return false; + if (Reflect.construct.sham) return false; + if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() { })); @@ -3286,8 +2972,7 @@ var hedyApp = (() => { a.push.apply(a, args2); var Constructor = Function.bind.apply(Parent2, a); var instance = new Constructor(); - if (Class2) - _setPrototypeOf(instance, Class2.prototype); + if (Class2) _setPrototypeOf(instance, Class2.prototype); return instance; }; } @@ -3297,31 +2982,22 @@ var hedyApp = (() => { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } function _arrayWithoutHoles(arr) { - if (Array.isArray(arr)) - return _arrayLikeToArray(arr); + if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function _iterableToArray(iter) { - if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) - return Array.from(iter); + if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _unsupportedIterableToArray(o, minLen) { - if (!o) - return; - if (typeof o === "string") - return _arrayLikeToArray(o, minLen); + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) - n = o.constructor.name; - if (n === "Map" || n === "Set") - return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) - return _arrayLikeToArray(o, minLen); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) - len = arr.length; - for (var i = 0, arr2 = new Array(len); i < len; i++) - arr2[i] = arr[i]; + if (len == null || len > arr.length) len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _nonIterableSpread() { @@ -3447,9 +3123,15 @@ var hedyApp = (() => { var TMPLIT_EXPR = seal(/\${[\w\W]*}/gm); var DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]/); var ARIA_ATTR = seal(/^aria-[\-\w]+$/); - var IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i); + var IS_ALLOWED_URI = seal( + /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i + // eslint-disable-line no-useless-escape + ); var IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i); - var ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g); + var ATTR_WHITESPACE = seal( + /[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g + // eslint-disable-line no-control-regex + ); var DOCTYPE_NAME = seal(/^html$/i); var CUSTOM_ELEMENT = seal(/^[a-z][.\w]*(-[.\w]+)+$/i); var getGlobal = function getGlobal2() { @@ -3592,13 +3274,28 @@ var hedyApp = (() => { cfg = {}; } cfg = clone4(cfg); - PARSER_MEDIA_TYPE = SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE : PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE; + PARSER_MEDIA_TYPE = // eslint-disable-next-line unicorn/prefer-includes + SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE : PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE; transformCaseFunc = PARSER_MEDIA_TYPE === "application/xhtml+xml" ? stringToString : stringToLowerCase; ALLOWED_TAGS = "ALLOWED_TAGS" in cfg ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS; ALLOWED_ATTR = "ALLOWED_ATTR" in cfg ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR; ALLOWED_NAMESPACES = "ALLOWED_NAMESPACES" in cfg ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES; - URI_SAFE_ATTRIBUTES = "ADD_URI_SAFE_ATTR" in cfg ? addToSet(clone4(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES; - DATA_URI_TAGS = "ADD_DATA_URI_TAGS" in cfg ? addToSet(clone4(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS; + URI_SAFE_ATTRIBUTES = "ADD_URI_SAFE_ATTR" in cfg ? addToSet( + clone4(DEFAULT_URI_SAFE_ATTRIBUTES), + // eslint-disable-line indent + cfg.ADD_URI_SAFE_ATTR, + // eslint-disable-line indent + transformCaseFunc + // eslint-disable-line indent + ) : DEFAULT_URI_SAFE_ATTRIBUTES; + DATA_URI_TAGS = "ADD_DATA_URI_TAGS" in cfg ? addToSet( + clone4(DEFAULT_DATA_URI_TAGS), + // eslint-disable-line indent + cfg.ADD_DATA_URI_TAGS, + // eslint-disable-line indent + transformCaseFunc + // eslint-disable-line indent + ) : DEFAULT_DATA_URI_TAGS; FORBID_CONTENTS = "FORBID_CONTENTS" in cfg ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS; FORBID_TAGS = "FORBID_TAGS" in cfg ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {}; FORBID_ATTR = "FORBID_ATTR" in cfg ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {}; @@ -3825,7 +3522,14 @@ var hedyApp = (() => { return WHOLE_DOCUMENT ? doc2.documentElement : body; }; var _createIterator = function _createIterator2(root) { - return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter2.SHOW_ELEMENT | NodeFilter2.SHOW_COMMENT | NodeFilter2.SHOW_TEXT | NodeFilter2.SHOW_PROCESSING_INSTRUCTION | NodeFilter2.SHOW_CDATA_SECTION, null, false); + return createNodeIterator.call( + root.ownerDocument || root, + root, + // eslint-disable-next-line no-bitwise + NodeFilter2.SHOW_ELEMENT | NodeFilter2.SHOW_COMMENT | NodeFilter2.SHOW_TEXT | NodeFilter2.SHOW_PROCESSING_INSTRUCTION | NodeFilter2.SHOW_CDATA_SECTION, + null, + false + ); }; var _isClobbered = function _isClobbered2(elm) { return elm instanceof HTMLFormElement && (typeof elm.__depth !== "undefined" && typeof elm.__depth !== "number" || typeof elm.__removalCount !== "undefined" && typeof elm.__removalCount !== "number" || typeof elm.nodeName !== "string" || typeof elm.textContent !== "string" || typeof elm.removeChild !== "function" || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== "function" || typeof elm.setAttribute !== "function" || typeof elm.namespaceURI !== "string" || typeof elm.insertBefore !== "function" || typeof elm.hasChildNodes !== "function"); @@ -3875,10 +3579,8 @@ var hedyApp = (() => { } if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) { if (!FORBID_TAGS[tagName] && _basicCustomElementTest(tagName)) { - if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) - return false; - if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) - return false; + if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) return false; + if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) return false; } if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) { var parentNode = getParentNode(currentNode) || currentNode.parentNode; @@ -3922,28 +3624,27 @@ var hedyApp = (() => { if (SANITIZE_DOM && (lcName === "id" || lcName === "name") && (value in document2 || value in formElement || value === "__depth" || value === "__removalCount")) { return false; } - if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR$1, lcName)) - ; - else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$1, lcName)) - ; + if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR$1, lcName)) ; + else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$1, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) { - if (_basicCustomElementTest(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) || lcName === "is" && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) - ; + if ( + // First condition does a very basic check if a) it's basically a valid custom element tagname AND + // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck + // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck + _basicCustomElementTest(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) || // Alternative, second condition checks if it's an `is`-attribute, AND + // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck + lcName === "is" && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value)) + ) ; else { return false; } - } else if (URI_SAFE_ATTRIBUTES[lcName]) - ; - else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE$1, ""))) - ; - else if ((lcName === "src" || lcName === "xlink:href" || lcName === "href") && lcTag !== "script" && stringIndexOf(value, "data:") === 0 && DATA_URI_TAGS[lcTag]) - ; - else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$1, stringReplace(value, ATTR_WHITESPACE$1, ""))) - ; + } else if (URI_SAFE_ATTRIBUTES[lcName]) ; + else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE$1, ""))) ; + else if ((lcName === "src" || lcName === "xlink:href" || lcName === "href") && lcTag !== "script" && stringIndexOf(value, "data:") === 0 && DATA_URI_TAGS[lcTag]) ; + else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$1, stringReplace(value, ATTR_WHITESPACE$1, ""))) ; else if (value) { return false; - } else - ; + } else ; return true; }; var _basicCustomElementTest = function _basicCustomElementTest2(tagName) { @@ -4006,8 +3707,7 @@ var hedyApp = (() => { value = SANITIZE_NAMED_PROPS_PREFIX + value; } if (trustedTypesPolicy && _typeof2(trustedTypes) === "object" && typeof trustedTypes.getAttributeType === "function") { - if (namespaceURI) - ; + if (namespaceURI) ; else { switch (trustedTypes.getAttributeType(lcTag, lcName)) { case "TrustedHTML": { @@ -4122,7 +3822,8 @@ var hedyApp = (() => { body.appendChild(importedNode); } } else { - if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && dirty.indexOf("<") === -1) { + if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && // eslint-disable-next-line unicorn/prefer-includes + dirty.indexOf("<") === -1) { return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty; } body = _initDocument(dirty); @@ -4235,19 +3936,16 @@ var hedyApp = (() => { // static/js/ckeditor.js var require_ckeditor = __commonJS({ "static/js/ckeditor.js"(exports, module) { + "use strict"; (function(t2) { const e = t2["en"] = t2["en"] || {}; e.dictionary = Object.assign(e.dictionary || {}, { "(may require Fn)": "(may require Fn)", "%0 of %1": "%0 of %1", Accept: "Accept", Accessibility: "Accessibility", "Accessibility help": "Accessibility help", "Align cell text to the bottom": "Align cell text to the bottom", "Align cell text to the center": "Align cell text to the center", "Align cell text to the left": "Align cell text to the left", "Align cell text to the middle": "Align cell text to the middle", "Align cell text to the right": "Align cell text to the right", "Align cell text to the top": "Align cell text to the top", "Align table to the left": "Align table to the left", "Align table to the right": "Align table to the right", Alignment: "Alignment", Aquamarine: "Aquamarine", Background: "Background", "Below, you can find a list of keyboard shortcuts that can be used in the editor.": "Below, you can find a list of keyboard shortcuts that can be used in the editor.", Black: "Black", "Block quote": "Block quote", Blue: "Blue", Bold: "Bold", "Bold text": "Bold text", Border: "Border", "Break text": "Break text", "Bulleted List": "Bulleted List", "Bulleted list styles toolbar": "Bulleted list styles toolbar", Cancel: "Cancel", "Cannot access default workspace.": "Cannot access default workspace.", "Cannot determine a category for the uploaded file.": "Cannot determine a category for the uploaded file.", "Cannot upload file:": "Cannot upload file:", "Caption for image: %0": "Caption for image: %0", "Caption for the image": "Caption for the image", "Cell properties": "Cell properties", "Center table": "Center table", "Centered image": "Centered image", "Change image text alternative": "Change image text alternative", "Choose heading": "Choose heading", Circle: "Circle", Clear: "Clear", "Click to edit block": "Click to edit block", Close: "Close", "Close contextual balloons, dropdowns, and dialogs": "Close contextual balloons, dropdowns, and dialogs", Code: "Code", "Code block": "Code block", Color: "Color", "Color picker": "Color picker", Column: "Column", "Content editing keystrokes": "Content editing keystrokes", "Copy selected content": "Copy selected content", "Create link": "Create link", Dashed: "Dashed", Decimal: "Decimal", "Decimal with leading zero": "Decimal with leading zero", "Decrease indent": "Decrease indent", "Decrease list item indent": "Decrease list item indent", "Delete column": "Delete column", "Delete row": "Delete row", "Dim grey": "Dim grey", Dimensions: "Dimensions", Disc: "Disc", Dotted: "Dotted", Double: "Double", Downloadable: "Downloadable", "Drag to move": "Drag to move", "Dropdown toolbar": "Dropdown toolbar", "Edit block": "Edit block", "Edit image": "Edit image", "Edit link": "Edit link", "Edit source": "Edit source", "Editor block content toolbar": "Editor block content toolbar", "Editor contextual toolbar": "Editor contextual toolbar", "Editor dialog": "Editor dialog", "Editor editing area: %0": "Editor editing area: %0", "Editor menu bar": "Editor menu bar", "Editor toolbar": "Editor toolbar", "Empty snippet content": "Empty snippet content", "Enter image caption": "Enter image caption", "Enter table caption": "Enter table caption", "Execute the currently focused button. Executing buttons that interact with the editor content moves the focus back to the content.": "Execute the currently focused button. Executing buttons that interact with the editor content moves the focus back to the content.", "Failed to determine category of edited image.": "Failed to determine category of edited image.", "Full size image": "Full size image", Green: "Green", Grey: "Grey", Groove: "Groove", "Header column": "Header column", "Header row": "Header row", Heading: "Heading", "Heading 1": "Heading 1", "Heading 2": "Heading 2", "Heading 3": "Heading 3", "Heading 4": "Heading 4", "Heading 5": "Heading 5", "Heading 6": "Heading 6", Height: "Height", "Help Contents. To close this dialog press ESC.": "Help Contents. To close this dialog press ESC.", HEX: "HEX", "Horizontal text alignment toolbar": "Horizontal text alignment toolbar", "HTML object": "HTML object", "HTML snippet": "HTML snippet", "Image from computer": "Image from computer", "Image resize list": "Image resize list", "Image toolbar": "Image toolbar", "image widget": "image widget", "In line": "In line", "Increase indent": "Increase indent", "Increase list item indent": "Increase list item indent", Insert: "Insert", "Insert a hard break (a new paragraph)": "Insert a hard break (a new paragraph)", "Insert a new paragraph directly after a widget": "Insert a new paragraph directly after a widget", "Insert a new paragraph directly before a widget": "Insert a new paragraph directly before a widget", "Insert a new table row (when in the last cell of a table)": "Insert a new table row (when in the last cell of a table)", "Insert a soft break (a <br> element)": "Insert a soft break (a <br> element)", "Insert code block": "Insert code block", "Insert column left": "Insert column left", "Insert column right": "Insert column right", "Insert HTML": "Insert HTML", "Insert image": "Insert image", "Insert image via URL": "Insert image via URL", "Insert image with file manager": "Insert image with file manager", "Insert media": "Insert media", "Insert paragraph after block": "Insert paragraph after block", "Insert paragraph before block": "Insert paragraph before block", "Insert row above": "Insert row above", "Insert row below": "Insert row below", "Insert table": "Insert table", "Insert with file manager": "Insert with file manager", Inset: "Inset", "Invalid start index value.": "Invalid start index value.", Italic: "Italic", "Italic text": "Italic text", "Justify cell text": "Justify cell text", "Keystrokes that can be used in a list": "Keystrokes that can be used in a list", "Keystrokes that can be used in a table cell": "Keystrokes that can be used in a table cell", "Keystrokes that can be used when a widget is selected (for example: image, table, etc.)": "Keystrokes that can be used when a widget is selected (for example: image, table, etc.)", "Left aligned image": "Left aligned image", "Light blue": "Light blue", "Light green": "Light green", "Light grey": "Light grey", Link: "Link", "Link image": "Link image", "Link URL": "Link URL", "List properties": "List properties", "Lower-latin": "Lower-latin", "Lower\u2013roman": "Lower\u2013roman", "Media toolbar": "Media toolbar", "Media URL": "Media URL", "media widget": "media widget", MENU_BAR_MENU_EDIT: "Edit", MENU_BAR_MENU_FILE: "File", MENU_BAR_MENU_FONT: "Font", MENU_BAR_MENU_FORMAT: "Format", MENU_BAR_MENU_HELP: "Help", MENU_BAR_MENU_INSERT: "Insert", MENU_BAR_MENU_TEXT: "Text", MENU_BAR_MENU_TOOLS: "Tools", MENU_BAR_MENU_VIEW: "View", "Merge cell down": "Merge cell down", "Merge cell left": "Merge cell left", "Merge cell right": "Merge cell right", "Merge cell up": "Merge cell up", "Merge cells": "Merge cells", "Move focus between form fields (inputs, buttons, etc.)": "Move focus between form fields (inputs, buttons, etc.)", "Move focus in and out of an active dialog window": "Move focus in and out of an active dialog window", "Move focus to the menu bar, navigate between menu bars": "Move focus to the menu bar, navigate between menu bars", "Move focus to the toolbar, navigate between toolbars": "Move focus to the toolbar, navigate between toolbars", "Move out of a link": "Move out of a link", "Move out of an inline code style": "Move out of an inline code style", "Move the caret to allow typing directly after a widget": "Move the caret to allow typing directly after a widget", "Move the caret to allow typing directly before a widget": "Move the caret to allow typing directly before a widget", "Move the selection to the next cell": "Move the selection to the next cell", "Move the selection to the previous cell": "Move the selection to the previous cell", "Navigate through the table": "Navigate through the table", "Navigate through the toolbar or menu bar": "Navigate through the toolbar or menu bar", Next: "Next", "No preview available": "No preview available", "No results found": "No results found", "No searchable items": "No searchable items", None: "None", "Numbered List": "Numbered List", "Numbered list styles toolbar": "Numbered list styles toolbar", "Open file manager": "Open file manager", "Open in a new tab": "Open in a new tab", "Open link in new tab": "Open link in new tab", "Open media in new tab": "Open media in new tab", "Open the accessibility help dialog": "Open the accessibility help dialog", Orange: "Orange", Original: "Original", Outset: "Outset", Padding: "Padding", Paragraph: "Paragraph", "Paste content": "Paste content", "Paste content as plain text": "Paste content as plain text", "Paste raw HTML here...": "Paste raw HTML here...", "Paste the media URL in the input.": "Paste the media URL in the input.", "Plain text": "Plain text", "Press %0 for help.": "Press %0 for help.", "Press Enter to type after or press Shift + Enter to type before the widget": "Press Enter to type after or press Shift + Enter to type before the widget", Previous: "Previous", "Processing the edited image.": "Processing the edited image.", Purple: "Purple", Red: "Red", Redo: "Redo", "Remove color": "Remove color", "Replace from computer": "Replace from computer", "Replace image": "Replace image", "Replace image from computer": "Replace image from computer", "Replace image with file manager": "Replace image with file manager", "Replace with file manager": "Replace with file manager", "Resize image": "Resize image", "Resize image to %0": "Resize image to %0", "Resize image to the original size": "Resize image to the original size", "Restore default": "Restore default", "Reversed order": "Reversed order", "Revert autoformatting action": "Revert autoformatting action", "Rich Text Editor": "Rich Text Editor", Ridge: "Ridge", "Right aligned image": "Right aligned image", Row: "Row", Save: "Save", "Save changes": "Save changes", "Select all": "Select all", "Select column": "Select column", "Select row": "Select row", "Server failed to process the image.": "Server failed to process the image.", "Show more items": "Show more items", "Side image": "Side image", Solid: "Solid", "Split cell horizontally": "Split cell horizontally", "Split cell vertically": "Split cell vertically", Square: "Square", "Start at": "Start at", "Start index must be greater than 0.": "Start index must be greater than 0.", Strikethrough: "Strikethrough", "Strikethrough text": "Strikethrough text", Style: "Style", Subscript: "Subscript", Superscript: "Superscript", Table: "Table", "Table alignment toolbar": "Table alignment toolbar", "Table cell text alignment": "Table cell text alignment", "Table properties": "Table properties", "Table toolbar": "Table toolbar", "Text alternative": "Text alternative", 'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".': 'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".', "The URL must not be empty.": "The URL must not be empty.", 'The value is invalid. Try "10px" or "2em" or simply "2".': 'The value is invalid. Try "10px" or "2em" or simply "2".', "These keyboard shortcuts allow for quick access to content editing features.": "These keyboard shortcuts allow for quick access to content editing features.", "This link has no URL": "This link has no URL", "This media URL is not supported.": "This media URL is not supported.", "Tip: Paste the URL into the content to embed faster.": "Tip: Paste the URL into the content to embed faster.", "To-do List": "To-do List", "Toggle caption off": "Toggle caption off", "Toggle caption on": "Toggle caption on", "Toggle the circle list style": "Toggle the circle list style", "Toggle the decimal list style": "Toggle the decimal list style", "Toggle the decimal with leading zero list style": "Toggle the decimal with leading zero list style", "Toggle the disc list style": "Toggle the disc list style", "Toggle the lower\u2013latin list style": "Toggle the lower\u2013latin list style", "Toggle the lower\u2013roman list style": "Toggle the lower\u2013roman list style", "Toggle the square list style": "Toggle the square list style", "Toggle the upper\u2013latin list style": "Toggle the upper\u2013latin list style", "Toggle the upper\u2013roman list style": "Toggle the upper\u2013roman list style", Turquoise: "Turquoise", "Type or paste your content here.": "Type or paste your content here.", "Type your title": "Type your title", Underline: "Underline", "Underline text": "Underline text", Undo: "Undo", Unlink: "Unlink", Update: "Update", "Update image URL": "Update image URL", "Upload failed": "Upload failed", "Upload from computer": "Upload from computer", "Upload image from computer": "Upload image from computer", "Upload in progress": "Upload in progress", "Upper-latin": "Upper-latin", "Upper-roman": "Upper-roman", "Use the following keystrokes for more efficient navigation in the CKEditor 5 user interface.": "Use the following keystrokes for more efficient navigation in the CKEditor 5 user interface.", "User interface and content navigation keystrokes": "User interface and content navigation keystrokes", "Vertical text alignment toolbar": "Vertical text alignment toolbar", White: "White", "Widget toolbar": "Widget toolbar", Width: "Width", "Wrap text": "Wrap text", Yellow: "Yellow" }); })(window.CKEDITOR_TRANSLATIONS || (window.CKEDITOR_TRANSLATIONS = {})); (function t2(e, n) { - if (typeof exports === "object" && typeof module === "object") - module.exports = n(); - else if (typeof define === "function" && define.amd) - define([], n); - else if (typeof exports === "object") - exports["ClassicEditor"] = n(); - else - e["ClassicEditor"] = n(); + if (typeof exports === "object" && typeof module === "object") module.exports = n(); + else if (typeof define === "function" && define.amd) define([], n); + else if (typeof exports === "object") exports["ClassicEditor"] = n(); + else e["ClassicEditor"] = n(); })(self, () => (() => { var t2 = { 5659: (t3, e2, n2) => { const o2 = n2(8156); @@ -7598,21 +7296,15 @@ a.ck.ck-button-bold { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function o2(t4, e3) { - if (!t4) - return; - if (typeof t4 === "string") - return i(t4, e3); + if (!t4) return; + if (typeof t4 === "string") return i(t4, e3); var n3 = Object.prototype.toString.call(t4).slice(8, -1); - if (n3 === "Object" && t4.constructor) - n3 = t4.constructor.name; - if (n3 === "Map" || n3 === "Set") - return Array.from(t4); - if (n3 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n3)) - return i(t4, e3); + if (n3 === "Object" && t4.constructor) n3 = t4.constructor.name; + if (n3 === "Map" || n3 === "Set") return Array.from(t4); + if (n3 === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n3)) return i(t4, e3); } function i(t4, e3) { - if (e3 == null || e3 > t4.length) - e3 = t4.length; + if (e3 == null || e3 > t4.length) e3 = t4.length; for (var n3 = 0, o3 = new Array(e3); n3 < e3; n3++) { o3[n3] = t4[n3]; } @@ -7620,8 +7312,7 @@ a.ck.ck-button-bold { } function r(t4, e3) { var n3 = t4 && (typeof Symbol !== "undefined" && t4[Symbol.iterator] || t4["@@iterator"]); - if (n3 == null) - return; + if (n3 == null) return; var o3 = []; var i2 = true; var r2 = false; @@ -7629,26 +7320,22 @@ a.ck.ck-button-bold { try { for (n3 = n3.call(t4); !(i2 = (s2 = n3.next()).done); i2 = true) { o3.push(s2.value); - if (e3 && o3.length === e3) - break; + if (e3 && o3.length === e3) break; } } catch (t5) { r2 = true; a = t5; } finally { try { - if (!i2 && n3["return"] != null) - n3["return"](); + if (!i2 && n3["return"] != null) n3["return"](); } finally { - if (r2) - throw a; + if (r2) throw a; } } return o3; } function s(t4) { - if (Array.isArray(t4)) - return t4; + if (Array.isArray(t4)) return t4; } t3.exports = function t4(n3) { var o3 = e2(n3, 4), i2 = o3[1], r2 = o3[3]; @@ -7668,7 +7355,7 @@ a.ck.ck-button-bold { }; }, 5072: (t3, e2, n2) => { "use strict"; - var o2 = function t4() { + var o2 = /* @__PURE__ */ function t4() { var e3; return function t5() { if (typeof e3 === "undefined") { @@ -7677,7 +7364,7 @@ a.ck.ck-button-bold { return e3; }; }(); - var i = function t4() { + var i = /* @__PURE__ */ function t4() { var e3 = {}; return function t5(n3) { if (typeof e3[n3] === "undefined") { @@ -7755,7 +7442,7 @@ a.ck.ck-button-bold { } t4.parentNode.removeChild(t4); } - var d2 = function t4() { + var d2 = /* @__PURE__ */ function t4() { var e3 = []; return function t5(n3, o3) { e3[n3] = o3; @@ -7881,17 +7568,13 @@ a.ck.ck-button-bold { var t3 = Object.getPrototypeOf ? (t4) => Object.getPrototypeOf(t4) : (t4) => t4.__proto__; var e2; n.t = function(o2, i) { - if (i & 1) - o2 = this(o2); - if (i & 8) - return o2; + if (i & 1) o2 = this(o2); + if (i & 8) return o2; if (typeof o2 === "object" && o2) { - if (i & 4 && o2.__esModule) - return o2; - if (i & 16 && typeof o2.then === "function") - return o2; + if (i & 4 && o2.__esModule) return o2; + if (i & 16 && typeof o2.then === "function") return o2; } - var r = Object.create(null); + var r = /* @__PURE__ */ Object.create(null); n.r(r); var s = {}; e2 = e2 || [null, t3({}), t3([]), t3(t3)]; @@ -8251,7 +7934,7 @@ a.ck.ck-button-bold { Read more: ${P}#error-${t4}`; } function R(t4, e3) { - const n3 = new WeakSet(); + const n3 = /* @__PURE__ */ new WeakSet(); const o3 = (t6, e4) => { if (typeof e4 === "object" && e4 !== null) { if (n3.has(e4)) { @@ -8331,18 +8014,18 @@ Read more: ${P}#error-${t4}`; return; } if (n3) { - it2(this, t6, e4, n3); + it(this, t6, e4, n3); const o4 = s3.indexOf(n3); if (o4 !== -1) { if (s3.length === 1) { delete r3.callbacks[e4]; } else { - it2(this, t6, e4, n3); + it(this, t6, e4, n3); } } } else if (s3) { while (n3 = s3.pop()) { - it2(this, t6, e4, n3); + it(this, t6, e4, n3); } delete r3.callbacks[e4]; } else if (r3) { @@ -8361,7 +8044,7 @@ Read more: ${P}#error-${t4}`; try { const n3 = t6 instanceof D2 ? t6 : new D2(this, t6); const o3 = n3.name; - let i3 = et2(this, o3); + let i3 = et(this, o3); n3.path.push(this); if (i3) { const t7 = [n3, ...e4]; @@ -8396,12 +8079,12 @@ Read more: ${P}#error-${t4}`; delegate(...t6) { return { to: (e4, n3) => { if (!this[q2]) { - this[q2] = new Map(); + this[q2] = /* @__PURE__ */ new Map(); } t6.forEach((t7) => { const o3 = this[q2].get(t7); if (!o3) { - this[q2].set(t7, new Map([[e4, n3]])); + this[q2].set(t7, /* @__PURE__ */ new Map([[e4, n3]])); } else { o3.set(e4, n3); } @@ -8512,11 +8195,11 @@ Read more: ${P}#error-${t4}`; } return o3; } - function et2(t4, e3) { + function et(t4, e3) { let n3; if (!t4._events || !(n3 = t4._events[e3]) || !n3.callbacks.length) { if (e3.indexOf(":") > -1) { - return et2(t4, e3.substr(0, e3.lastIndexOf(":"))); + return et(t4, e3.substr(0, e3.lastIndexOf(":"))); } else { return null; } @@ -8542,7 +8225,7 @@ Read more: ${P}#error-${t4}`; t4._addEventListener.call(e3, n3, o3, i3); } } - function it2(t4, e3, n3, o3) { + function it(t4, e3, n3, o3) { if (e3._removeEventListener) { e3._removeEventListener(n3, o3); } else { @@ -8606,7 +8289,7 @@ Read more: ${P}#error-${t4}`; throw new N("observable-bind-rebind", this); } }); - const n3 = new Map(); + const n3 = /* @__PURE__ */ new Map(); t6.forEach((t7) => { const o3 = { property: t7, to: [] }; e4.set(t7, o3); @@ -8688,9 +8371,9 @@ Read more: ${P}#error-${t4}`; if (t4[at14]) { return; } - Object.defineProperty(t4, at14, { value: new Map() }); - Object.defineProperty(t4, ct2, { value: new Map() }); - Object.defineProperty(t4, lt2, { value: new Map() }); + Object.defineProperty(t4, at14, { value: /* @__PURE__ */ new Map() }); + Object.defineProperty(t4, ct2, { value: /* @__PURE__ */ new Map() }); + Object.defineProperty(t4, lt2, { value: /* @__PURE__ */ new Map() }); } function ft2(...t4) { const e3 = wt2(...t4); @@ -8759,7 +8442,7 @@ Read more: ${P}#error-${t4}`; const r3 = i3.get(n3); const s3 = r3 || {}; if (!s3[o3]) { - s3[o3] = new Set(); + s3[o3] = /* @__PURE__ */ new Set(); } s3[o3].add(e3); if (!r3) { @@ -8913,12 +8596,12 @@ Read more: ${P}#error-${t4}`; function Xt(t4) { return t4 != null && typeof t4 == "object"; } - const te3 = Xt; + const te2 = Xt; var ee2 = "[object String]"; - function ne2(t4) { - return typeof t4 == "string" || !Jt2(t4) && te3(t4) && Qt2(t4) == ee2; + function ne(t4) { + return typeof t4 == "string" || !Jt2(t4) && te2(t4) && Qt2(t4) == ee2; } - const oe = ne2; + const oe = ne; function ie4(t4, e3, n3 = {}, o3 = []) { const i3 = n3 && n3.xmlns; const r3 = i3 ? t4.createElementNS(i3, e3) : t4.createElement(e3); @@ -8945,12 +8628,12 @@ Read more: ${P}#error-${t4}`; var ae2 = se(Object.getPrototypeOf, Object); const ce = ae2; var le = "[object Object]"; - var de3 = Function.prototype, ue2 = Object.prototype; - var he2 = de3.toString; + var de2 = Function.prototype, ue2 = Object.prototype; + var he = de2.toString; var me2 = ue2.hasOwnProperty; - var ge2 = he2.call(Object); + var ge2 = he.call(Object); function fe(t4) { - if (!te3(t4) || Qt2(t4) != le) { + if (!te2(t4) || Qt2(t4) != le) { return false; } var e3 = ce(t4); @@ -8958,7 +8641,7 @@ Read more: ${P}#error-${t4}`; return true; } var n3 = me2.call(e3, "constructor") && e3.constructor; - return typeof n3 == "function" && n3 instanceof n3 && he2.call(n3) == ge2; + return typeof n3 == "function" && n3 instanceof n3 && he.call(n3) == ge2; } const pe2 = fe; function be2() { @@ -9069,12 +8752,12 @@ Read more: ${P}#error-${t4}`; return !!Ze && Ze in t4; } const Xe2 = Je; - var tn3 = Function.prototype; - var en3 = tn3.toString; + var tn2 = Function.prototype; + var en2 = tn2.toString; function nn(t4) { if (t4 != null) { try { - return en3.call(t4); + return en2.call(t4); } catch (t6) { } try { @@ -9107,10 +8790,10 @@ Read more: ${P}#error-${t4}`; var n3 = fn2(t4, e3); return mn(n3) ? n3 : void 0; } - const bn2 = pn2; - var kn2 = bn2(Pt2, "Map"); - const wn2 = kn2; - var An2 = bn2(Object, "create"); + const bn = pn2; + var kn = bn(Pt2, "Map"); + const wn2 = kn; + var An2 = bn(Object, "create"); const _n2 = An2; function Cn2() { this.__data__ = _n2 ? _n2(null) : {}; @@ -9213,7 +8896,7 @@ Read more: ${P}#error-${t4}`; to10.prototype.get = Yn2; to10.prototype.has = Zn2; to10.prototype.set = Xn; - const eo3 = to10; + const eo2 = to10; var no = 200; function oo2(t4, e3) { var n3 = this.__data__; @@ -9224,23 +8907,23 @@ Read more: ${P}#error-${t4}`; this.size = ++n3.size; return this; } - n3 = this.__data__ = new eo3(o3); + n3 = this.__data__ = new eo2(o3); } n3.set(t4, e3); this.size = n3.size; return this; } const io2 = oo2; - function ro3(t4) { + function ro2(t4) { var e3 = this.__data__ = new Ne2(t4); this.size = e3.size; } - ro3.prototype.clear = ze2; - ro3.prototype["delete"] = Re; - ro3.prototype.get = Fe2; - ro3.prototype.has = He; - ro3.prototype.set = io2; - const so2 = ro3; + ro2.prototype.clear = ze2; + ro2.prototype["delete"] = Re; + ro2.prototype.get = Fe2; + ro2.prototype.has = He; + ro2.prototype.set = io2; + const so2 = ro2; function ao2(t4, e3) { var n3 = -1, o3 = t4 == null ? 0 : t4.length; while (++n3 < o3) { @@ -9253,7 +8936,7 @@ Read more: ${P}#error-${t4}`; const co2 = ao2; var lo2 = function() { try { - var t4 = bn2(Object, "defineProperty"); + var t4 = bn(Object, "defineProperty"); t4({}, "", {}); return t4; } catch (t6) { @@ -9277,7 +8960,7 @@ Read more: ${P}#error-${t4}`; } } const bo = po; - function ko2(t4, e3, n3, o3) { + function ko(t4, e3, n3, o3) { var i3 = !n3; n3 || (n3 = {}); var r3 = -1, s3 = e3.length; @@ -9295,7 +8978,7 @@ Read more: ${P}#error-${t4}`; } return n3; } - const wo2 = ko2; + const wo2 = ko; function Ao(t4, e3) { var n3 = -1, o3 = Array(t4); while (++n3 < t4) { @@ -9306,16 +8989,16 @@ Read more: ${P}#error-${t4}`; const _o2 = Ao; var Co2 = "[object Arguments]"; function vo(t4) { - return te3(t4) && Qt2(t4) == Co2; + return te2(t4) && Qt2(t4) == Co2; } const yo = vo; var xo2 = Object.prototype; var Eo2 = xo2.hasOwnProperty; var Do2 = xo2.propertyIsEnumerable; - var Io2 = yo(function() { + var Io2 = yo(/* @__PURE__ */ function() { return arguments; }()) ? yo : function(t4) { - return te3(t4) && Eo2.call(t4, "callee") && !Do2.call(t4, "callee"); + return te2(t4) && Eo2.call(t4, "callee") && !Do2.call(t4, "callee"); }; const To = Io2; function So2() { @@ -9343,12 +9026,12 @@ Read more: ${P}#error-${t4}`; } const qo2 = Wo2; var Go2 = "[object Arguments]", $o2 = "[object Array]", Ko2 = "[object Boolean]", Yo = "[object Date]", Qo2 = "[object Error]", Zo2 = "[object Function]", Jo2 = "[object Map]", Xo2 = "[object Number]", ti2 = "[object Object]", ei2 = "[object RegExp]", ni2 = "[object Set]", oi = "[object String]", ii2 = "[object WeakMap]"; - var ri = "[object ArrayBuffer]", si2 = "[object DataView]", ai = "[object Float32Array]", ci2 = "[object Float64Array]", li = "[object Int8Array]", di2 = "[object Int16Array]", ui = "[object Int32Array]", hi3 = "[object Uint8Array]", mi3 = "[object Uint8ClampedArray]", gi = "[object Uint16Array]", fi3 = "[object Uint32Array]"; + var ri = "[object ArrayBuffer]", si2 = "[object DataView]", ai = "[object Float32Array]", ci2 = "[object Float64Array]", li = "[object Int8Array]", di2 = "[object Int16Array]", ui = "[object Int32Array]", hi2 = "[object Uint8Array]", mi2 = "[object Uint8ClampedArray]", gi = "[object Uint16Array]", fi2 = "[object Uint32Array]"; var pi2 = {}; - pi2[ai] = pi2[ci2] = pi2[li] = pi2[di2] = pi2[ui] = pi2[hi3] = pi2[mi3] = pi2[gi] = pi2[fi3] = true; + pi2[ai] = pi2[ci2] = pi2[li] = pi2[di2] = pi2[ui] = pi2[hi2] = pi2[mi2] = pi2[gi] = pi2[fi2] = true; pi2[Go2] = pi2[$o2] = pi2[ri] = pi2[Ko2] = pi2[si2] = pi2[Yo] = pi2[Qo2] = pi2[Zo2] = pi2[Jo2] = pi2[Xo2] = pi2[ti2] = pi2[ei2] = pi2[ni2] = pi2[oi] = pi2[ii2] = false; function bi(t4) { - return te3(t4) && qo2(t4.length) && !!pi2[Qt2(t4)]; + return te2(t4) && qo2(t4.length) && !!pi2[Qt2(t4)]; } const ki2 = bi; function wi2(t4) { @@ -9359,8 +9042,8 @@ Read more: ${P}#error-${t4}`; const Ai2 = wi2; var _i = typeof exports == "object" && exports && !exports.nodeType && exports; var Ci2 = _i && typeof module == "object" && module && !module.nodeType && module; - var vi3 = Ci2 && Ci2.exports === _i; - var yi2 = vi3 && St2.process; + var vi2 = Ci2 && Ci2.exports === _i; + var yi2 = vi2 && St2.process; var xi2 = function() { try { var t4 = Ci2 && Ci2.require && Ci2.require("util").types; @@ -9446,9 +9129,9 @@ Read more: ${P}#error-${t4}`; } return n3; } - const tr3 = Xi; + const tr2 = Xi; function er2(t4) { - return Wi(t4) ? Pi2(t4, true) : tr3(t4); + return Wi(t4) ? Pi2(t4, true) : tr2(t4); } const nr2 = er2; function or8(t4, e3) { @@ -9456,9 +9139,9 @@ Read more: ${P}#error-${t4}`; } const ir2 = or8; var rr2 = typeof exports == "object" && exports && !exports.nodeType && exports; - var sr3 = rr2 && typeof module == "object" && module && !module.nodeType && module; - var ar3 = sr3 && sr3.exports === rr2; - var cr2 = ar3 ? Pt2.Buffer : void 0, lr2 = cr2 ? cr2.allocUnsafe : void 0; + var sr2 = rr2 && typeof module == "object" && module && !module.nodeType && module; + var ar2 = sr2 && sr2.exports === rr2; + var cr2 = ar2 ? Pt2.Buffer : void 0, lr2 = cr2 ? cr2.allocUnsafe : void 0; function dr2(t4, e3) { if (e3) { return t4.slice(); @@ -9467,8 +9150,8 @@ Read more: ${P}#error-${t4}`; t4.copy(o3); return o3; } - const ur3 = dr2; - function hr2(t4, e3) { + const ur2 = dr2; + function hr(t4, e3) { var n3 = -1, o3 = t4.length; e3 || (e3 = Array(o3)); while (++n3 < o3) { @@ -9476,7 +9159,7 @@ Read more: ${P}#error-${t4}`; } return e3; } - const mr3 = hr2; + const mr2 = hr; function gr2(t4, e3) { var n3 = -1, o3 = t4 == null ? 0 : t4.length, i3 = 0, r3 = []; while (++n3 < o3) { @@ -9487,7 +9170,7 @@ Read more: ${P}#error-${t4}`; } return r3; } - const fr2 = gr2; + const fr = gr2; function pr() { return []; } @@ -9500,7 +9183,7 @@ Read more: ${P}#error-${t4}`; return []; } t4 = Object(t4); - return fr2(Ar(t4), function(e3) { + return fr(Ar(t4), function(e3) { return wr.call(t4, e3); }); }; @@ -9544,17 +9227,17 @@ Read more: ${P}#error-${t4}`; return Pr2(t4, nr2, Tr); } const Or2 = zr; - var Rr2 = bn2(Pt2, "DataView"); + var Rr2 = bn(Pt2, "DataView"); const Vr = Rr2; - var Fr = bn2(Pt2, "Promise"); + var Fr = bn(Pt2, "Promise"); const jr2 = Fr; - var Hr = bn2(Pt2, "Set"); + var Hr = bn(Pt2, "Set"); const Ur = Hr; - var Wr2 = bn2(Pt2, "WeakMap"); + var Wr2 = bn(Pt2, "WeakMap"); const qr = Wr2; var Gr = "[object Map]", $r2 = "[object Object]", Kr = "[object Promise]", Yr = "[object Set]", Qr = "[object WeakMap]"; var Zr = "[object DataView]"; - var Jr = on3(Vr), Xr2 = on3(wn2), ts2 = on3(jr2), es2 = on3(Ur), ns = on3(qr); + var Jr = on3(Vr), Xr2 = on3(wn2), ts2 = on3(jr2), es = on3(Ur), ns = on3(qr); var os2 = Qt2; if (Vr && os2(new Vr(new ArrayBuffer(1))) != Zr || wn2 && os2(new wn2()) != Gr || jr2 && os2(jr2.resolve()) != Kr || Ur && os2(new Ur()) != Yr || qr && os2(new qr()) != Qr) { os2 = function(t4) { @@ -9567,7 +9250,7 @@ Read more: ${P}#error-${t4}`; return Gr; case ts2: return Kr; - case es2: + case es: return Yr; case ns: return Qr; @@ -9587,7 +9270,7 @@ Read more: ${P}#error-${t4}`; } return n3; } - const cs2 = as; + const cs = as; var ls = Pt2.Uint8Array; const ds = ls; function us(t4) { @@ -9596,11 +9279,11 @@ Read more: ${P}#error-${t4}`; return e3; } const hs2 = us; - function ms3(t4, e3) { + function ms2(t4, e3) { var n3 = e3 ? hs2(t4.buffer) : t4.buffer; return new t4.constructor(n3, t4.byteOffset, t4.byteLength); } - const gs2 = ms3; + const gs2 = ms2; var fs2 = /\w*$/; function ps(t4) { var e3 = new t4.constructor(t4.source, fs2.exec(t4)); @@ -9655,7 +9338,7 @@ Read more: ${P}#error-${t4}`; } const Ws = Us2; var qs2 = Object.create; - var Gs2 = function() { + var Gs2 = /* @__PURE__ */ function() { function t4() { } return function(e3) { @@ -9678,28 +9361,28 @@ Read more: ${P}#error-${t4}`; const Ys = Ks; var Qs2 = "[object Map]"; function Zs(t4) { - return te3(t4) && is18(t4) == Qs2; + return te2(t4) && is18(t4) == Qs2; } const Js2 = Zs; var Xs2 = Ei2 && Ei2.isMap; - var ta2 = Xs2 ? Ai2(Xs2) : Js2; - const ea = ta2; + var ta = Xs2 ? Ai2(Xs2) : Js2; + const ea = ta; var na2 = "[object Set]"; function oa2(t4) { - return te3(t4) && is18(t4) == na2; + return te2(t4) && is18(t4) == na2; } - const ia2 = oa2; + const ia = oa2; var ra2 = Ei2 && Ei2.isSet; - var sa = ra2 ? Ai2(ra2) : ia2; + var sa = ra2 ? Ai2(ra2) : ia; const aa2 = sa; - var ca2 = 1, la = 2, da3 = 4; - var ua2 = "[object Arguments]", ha2 = "[object Array]", ma = "[object Boolean]", ga2 = "[object Date]", fa2 = "[object Error]", pa2 = "[object Function]", ba2 = "[object GeneratorFunction]", ka = "[object Map]", wa2 = "[object Number]", Aa2 = "[object Object]", _a3 = "[object RegExp]", Ca2 = "[object Set]", va = "[object String]", ya2 = "[object Symbol]", xa = "[object WeakMap]"; + var ca = 1, la = 2, da2 = 4; + var ua2 = "[object Arguments]", ha2 = "[object Array]", ma = "[object Boolean]", ga = "[object Date]", fa = "[object Error]", pa2 = "[object Function]", ba2 = "[object GeneratorFunction]", ka = "[object Map]", wa2 = "[object Number]", Aa2 = "[object Object]", _a3 = "[object RegExp]", Ca2 = "[object Set]", va = "[object String]", ya2 = "[object Symbol]", xa = "[object WeakMap]"; var Ea = "[object ArrayBuffer]", Da = "[object DataView]", Ia = "[object Float32Array]", Ta = "[object Float64Array]", Sa = "[object Int8Array]", Ba2 = "[object Int16Array]", Ma = "[object Int32Array]", Pa = "[object Uint8Array]", Na = "[object Uint8ClampedArray]", La = "[object Uint16Array]", za2 = "[object Uint32Array]"; var Oa = {}; - Oa[ua2] = Oa[ha2] = Oa[Ea] = Oa[Da] = Oa[ma] = Oa[ga2] = Oa[Ia] = Oa[Ta] = Oa[Sa] = Oa[Ba2] = Oa[Ma] = Oa[ka] = Oa[wa2] = Oa[Aa2] = Oa[_a3] = Oa[Ca2] = Oa[va] = Oa[ya2] = Oa[Pa] = Oa[Na] = Oa[La] = Oa[za2] = true; - Oa[fa2] = Oa[pa2] = Oa[xa] = false; + Oa[ua2] = Oa[ha2] = Oa[Ea] = Oa[Da] = Oa[ma] = Oa[ga] = Oa[Ia] = Oa[Ta] = Oa[Sa] = Oa[Ba2] = Oa[Ma] = Oa[ka] = Oa[wa2] = Oa[Aa2] = Oa[_a3] = Oa[Ca2] = Oa[va] = Oa[ya2] = Oa[Pa] = Oa[Na] = Oa[La] = Oa[za2] = true; + Oa[fa] = Oa[pa2] = Oa[xa] = false; function Ra(t4, e3, n3, o3, i3, r3) { - var s3, a3 = e3 & ca2, c3 = e3 & la, l3 = e3 & da3; + var s3, a3 = e3 & ca, c3 = e3 & la, l3 = e3 & da2; if (n3) { s3 = i3 ? n3(t4, o3, i3, r3) : n3(t4); } @@ -9711,14 +9394,14 @@ Read more: ${P}#error-${t4}`; } var d3 = Jt2(t4); if (d3) { - s3 = cs2(t4); + s3 = cs(t4); if (!a3) { - return mr3(t4, s3); + return mr2(t4, s3); } } else { var u3 = is18(t4), h4 = u3 == pa2 || u3 == ba2; if (Ro(t4)) { - return ur3(t4, a3); + return ur2(t4, a3); } if (u3 == Aa2 || u3 == ua2 || h4 && !i3) { s3 = c3 || h4 ? {} : Ys(t4); @@ -9759,14 +9442,14 @@ Read more: ${P}#error-${t4}`; return s3; } const Va2 = Ra; - var Fa2 = 1, ja3 = 4; + var Fa2 = 1, ja2 = 4; function Ha2(t4, e3) { e3 = typeof e3 == "function" ? e3 : void 0; - return Va2(t4, Fa2 | ja3, e3); + return Va2(t4, Fa2 | ja2, e3); } const Ua2 = Ha2; function Wa2(t4) { - return te3(t4) && t4.nodeType === 1 && !pe2(t4); + return te2(t4) && t4.nodeType === 1 && !pe2(t4); } const qa2 = Wa2; class Ga2 { @@ -10247,11 +9930,11 @@ Read more: ${P}#error-${t4}`; } static _addElementCallback(t4, e3) { if (!wc2._elementCallbacks) { - wc2._elementCallbacks = new Map(); + wc2._elementCallbacks = /* @__PURE__ */ new Map(); } let n3 = wc2._elementCallbacks.get(t4); if (!n3) { - n3 = new Set(); + n3 = /* @__PURE__ */ new Set(); wc2._elementCallbacks.set(t4, n3); } n3.add(e3); @@ -10617,7 +10300,7 @@ Read more: ${P}#error-${t4}`; if (typeof t4 == "string") { t4 = rl2(t4); } - return t4.map((t6) => typeof t6 == "string" ? nl3(t6) : t6).reduce((t6, e3) => e3 + t6, 0); + return t4.map((t6) => typeof t6 == "string" ? nl2(t6) : t6).reduce((t6, e3) => e3 + t6, 0); } function Xc2(t4) { let e3 = Jc2(t4); @@ -10631,10 +10314,10 @@ Read more: ${P}#error-${t4}`; }, ""); return o3 + (e3 ? Qc[e3] : ""); } - function tl3(t4) { + function tl2(t4) { return t4 == Yc2.arrowright || t4 == Yc2.arrowleft || t4 == Yc2.arrowup || t4 == Yc2.arrowdown; } - function el3(t4, e3) { + function el2(t4, e3) { const n3 = e3 === "ltr"; switch (t4) { case Yc2.arrowleft: @@ -10647,7 +10330,7 @@ Read more: ${P}#error-${t4}`; return "down"; } } - function nl3(t4) { + function nl2(t4) { if (t4.endsWith("!")) { return Zc(t4.slice(0, -1)); } @@ -10655,7 +10338,7 @@ Read more: ${P}#error-${t4}`; return (l.isMac || l.isiOS) && e3 == Yc2.ctrl ? Yc2.cmd : e3; } function ol2(t4, e3) { - const n3 = el3(t4, e3); + const n3 = el2(t4, e3); return n3 === "down" || n3 === "right"; } function il2() { @@ -10676,7 +10359,7 @@ Read more: ${P}#error-${t4}`; function rl2(t4) { return t4.split("+").map((t6) => t6.trim()); } - function sl3(t4) { + function sl2(t4) { return Array.isArray(t4) ? t4 : [t4]; } function al2(t4, e3, n3) { @@ -10700,10 +10383,10 @@ Read more: ${P}#error-${t4}`; const dl2 = ll2; var ul2 = dl2(); const hl2 = ul2; - function ml3(t4) { - return te3(t4) && Wi(t4); + function ml2(t4) { + return te2(t4) && Wi(t4); } - const gl = ml3; + const gl = ml2; function fl2(t4, e3) { if (e3 === "constructor" && typeof t4[e3] === "function") { return; @@ -10713,13 +10396,13 @@ Read more: ${P}#error-${t4}`; } return t4[e3]; } - const pl3 = fl2; + const pl2 = fl2; function bl(t4) { return wo2(t4, nr2(t4)); } const kl = bl; function wl(t4, e3, n3, o3, i3, r3, s3) { - var a3 = pl3(t4, n3), c3 = pl3(e3, n3), l3 = s3.get(c3); + var a3 = pl2(t4, n3), c3 = pl2(e3, n3), l3 = s3.get(c3); if (l3) { cl2(t4, n3, l3); return; @@ -10733,10 +10416,10 @@ Read more: ${P}#error-${t4}`; if (Jt2(a3)) { d3 = a3; } else if (gl(a3)) { - d3 = mr3(a3); + d3 = mr2(a3); } else if (m3) { u3 = false; - d3 = ur3(c3, true); + d3 = ur2(c3, true); } else if (g3) { u3 = false; d3 = vs2(c3, true); @@ -10771,7 +10454,7 @@ Read more: ${P}#error-${t4}`; if (st2(r3)) { Al2(t4, e3, s3, n3, _l2, o3, i3); } else { - var a3 = o3 ? o3(pl3(t4, s3), r3, s3 + "", t4, e3, i3) : void 0; + var a3 = o3 ? o3(pl2(t4, s3), r3, s3 + "", t4, e3, i3) : void 0; if (a3 === void 0) { a3 = r3; } @@ -10953,17 +10636,17 @@ Read more: ${P}#error-${t4}`; return this.uiLanguage; } _t(t4, e3 = []) { - e3 = sl3(e3); + e3 = sl2(e3); if (typeof t4 === "string") { t4 = { string: t4 }; } const n3 = !!t4.plural; const o3 = n3 ? e3[0] : 1; const i3 = Ql2(this.uiLanguage, t4, o3, this.translations); - return id2(i3, e3); + return id(i3, e3); } } - function id2(t4, e3) { + function id(t4, e3) { return t4.replace(/%(\d+)/g, (t6, n3) => n3 < e3.length ? e3[n3] : t6); } class rd2 extends $3() { @@ -10974,10 +10657,10 @@ Read more: ${P}#error-${t4}`; e3 = t4; } this._items = []; - this._itemMap = new Map(); + this._itemMap = /* @__PURE__ */ new Map(); this._idProperty = e3.idProperty || "id"; - this._bindToExternalToInternalMap = new WeakMap(); - this._bindToInternalToExternalMap = new WeakMap(); + this._bindToExternalToInternalMap = /* @__PURE__ */ new WeakMap(); + this._bindToInternalToExternalMap = /* @__PURE__ */ new WeakMap(); this._skippedIndexesFromExternal = []; if (n3) { for (const e4 of t4) { @@ -11208,7 +10891,7 @@ Read more: ${P}#error-${t4}`; class ad2 extends Ja2(mt2()) { constructor() { super(); - this._elements = new Set(); + this._elements = /* @__PURE__ */ new Set(); this._nextEventLoopTimeout = null; this.set("isFocused", false); this.set("focusedElement", null); @@ -11278,7 +10961,7 @@ Read more: ${P}#error-${t4}`; } } function ld2(t4) { - const e3 = new Map(); + const e3 = /* @__PURE__ */ new Map(); for (const n3 in t4) { e3.set(n3, t4[n3]); } @@ -11425,8 +11108,8 @@ Read more: ${P}#error-${t4}`; return Array.from(n3).some((t6) => t6.index < e3 && e3 < t6.index + t6[0].length); } function xd2() { - const t4 = [/\p{Emoji}[\u{E0020}-\u{E007E}]+\u{E007F}/u, /\p{Emoji}\u{FE0F}?\u{20E3}/u, /\p{Emoji}\u{FE0F}/u, /(?=\p{General_Category=Other_Symbol})\p{Emoji}\p{Emoji_Modifier}*/u]; - const e3 = /\p{Regional_Indicator}{2}/u.source; + const t4 = [new RegExp("\\p{Emoji}[\\u{E0020}-\\u{E007E}]+\\u{E007F}", "u"), new RegExp("\\p{Emoji}\\u{FE0F}?\\u{20E3}", "u"), new RegExp("\\p{Emoji}\\u{FE0F}", "u"), new RegExp("(?=\\p{General_Category=Other_Symbol})\\p{Emoji}\\p{Emoji_Modifier}*", "u")]; + const e3 = new RegExp("\\p{Regional_Indicator}{2}", "u").source; const n3 = "(?:" + t4.map((t6) => t6.source).join("|") + ")"; const o3 = `${e3}|${n3}(?:\u200D${n3})*`; return new RegExp(o3, "ug"); @@ -11434,7 +11117,7 @@ Read more: ${P}#error-${t4}`; class Ed2 extends mt2() { constructor(t4) { super(); - this._disableStack = new Set(); + this._disableStack = /* @__PURE__ */ new Set(); this.editor = t4; this.set("isEnabled", true); } @@ -11471,7 +11154,7 @@ Read more: ${P}#error-${t4}`; this.set("isEnabled", false); this._affectsData = true; this._isEnabledBasedOnSelection = true; - this._disableStack = new Set(); + this._disableStack = /* @__PURE__ */ new Set(); this.decorate("execute"); this.listenTo(this.editor.model.document, "change", () => { this.refresh(); @@ -11558,15 +11241,15 @@ Read more: ${P}#error-${t4}`; class Bd2 extends $3() { constructor(t4, e3 = [], n3 = []) { super(); - this._plugins = new Map(); + this._plugins = /* @__PURE__ */ new Map(); this._context = t4; - this._availablePlugins = new Map(); + this._availablePlugins = /* @__PURE__ */ new Map(); for (const t6 of e3) { if (t6.pluginName) { this._availablePlugins.set(t6.pluginName, t6); } } - this._contextPlugins = new Map(); + this._contextPlugins = /* @__PURE__ */ new Map(); for (const [t6, e4] of n3) { this._contextPlugins.set(t6, e4); this._contextPlugins.set(e4, t6); @@ -11629,7 +11312,7 @@ Read more: ${P}#error-${t4}`; function u3(t6) { return c3(t6) ? t6.pluginName || t6.name : t6; } - function h4(t6, e4 = new Set()) { + function h4(t6, e4 = /* @__PURE__ */ new Set()) { t6.forEach((t7) => { if (!c3(t7)) { return; @@ -11646,7 +11329,7 @@ Read more: ${P}#error-${t4}`; } }); } - function m3(t6, e4 = new Set()) { + function m3(t6, e4 = /* @__PURE__ */ new Set()) { return t6.map((t7) => c3(t7) ? t7 : o3._availablePlugins.get(t7)).reduce((t7, n4) => { if (e4.has(n4)) { return t7; @@ -11657,7 +11340,7 @@ Read more: ${P}#error-${t4}`; m3(n4.requires, e4).forEach((e6) => t7.add(e6)); } return t7.add(n4); - }, new Set()); + }, /* @__PURE__ */ new Set()); } function g3(t6, e4 = null) { t6.map((t7) => c3(t7) ? t7 : o3._availablePlugins.get(t7) || t7).forEach((t7) => { @@ -11847,12 +11530,12 @@ Read more: ${P}#error-${t4}`; Od2.singleton = true; var Rd2 = Ld2()(zd2.A, Od2); const Vd2 = zd2.A.locals || {}; - const Fd2 = new WeakMap(); + const Fd2 = /* @__PURE__ */ new WeakMap(); let jd2 = false; function Hd2({ view: t4, element: e3, text: n3, isDirectHost: o3 = true, keepOnFocus: i3 = false }) { const r3 = t4.document; if (!Fd2.has(r3)) { - Fd2.set(r3, new Map()); + Fd2.set(r3, /* @__PURE__ */ new Map()); r3.registerPostFixer((t6) => $d2(r3, t6)); r3.on("change:isComposing", () => { t4.change((t6) => $d2(r3, t6)); @@ -12189,7 +11872,7 @@ Read more: ${P}#error-${t4}`; match(...t4) { for (const e3 of t4) { for (const t6 of this._patterns) { - const n3 = ru2(e3, t6); + const n3 = ru(e3, t6); if (n3) { return { element: e3, pattern: t6, match: n3 }; } @@ -12201,7 +11884,7 @@ Read more: ${P}#error-${t4}`; const e3 = []; for (const n3 of t4) { for (const t6 of this._patterns) { - const o3 = ru2(n3, t6); + const o3 = ru(n3, t6); if (o3) { e3.push({ element: n3, pattern: t6, match: o3 }); } @@ -12218,7 +11901,7 @@ Read more: ${P}#error-${t4}`; return typeof t4 != "function" && e3 && !(e3 instanceof RegExp) ? e3 : null; } } - function ru2(t4, e3) { + function ru(t4, e3) { if (typeof e3 == "function") { return e3(t4); } @@ -12236,7 +11919,7 @@ Read more: ${P}#error-${t4}`; } } if (e3.classes) { - n3.classes = hu3(e3.classes, t4); + n3.classes = hu2(e3.classes, t4); if (!n3.classes) { return null; } @@ -12313,7 +11996,7 @@ Read more: ${P}#error-${t4}`; } return au(t4, n3, (t6) => e3.getAttribute(t6)); } - function hu3(t4, e3) { + function hu2(t4, e3) { return au(t4, e3.getClassNames(), () => { }); } @@ -12322,7 +12005,7 @@ Read more: ${P}#error-${t4}`; } var gu = "[object Symbol]"; function fu(t4) { - return typeof t4 == "symbol" || te3(t4) && Qt2(t4) == gu; + return typeof t4 == "symbol" || te2(t4) && Qt2(t4) == gu; } const pu2 = fu; var bu = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, ku = /^\w*$/; @@ -12351,10 +12034,10 @@ Read more: ${P}#error-${t4}`; n3.cache = r3.set(i3, s3) || r3; return s3; }; - n3.cache = new (Cu2.Cache || eo3)(); + n3.cache = new (Cu2.Cache || eo2)(); return n3; } - Cu2.Cache = eo3; + Cu2.Cache = eo2; const vu = Cu2; var yu = 500; function xu(t4) { @@ -12466,9 +12149,9 @@ Read more: ${P}#error-${t4}`; t4 = Ju(t4, e3); return t4 == null || delete t4[Gu2(Uu(e3))]; } - const th3 = Xu; + const th2 = Xu; function eh2(t4, e3) { - return t4 == null ? true : th3(t4, e3); + return t4 == null ? true : th2(t4, e3); } const nh2 = eh2; function oh2(t4, e3, n3) { @@ -12611,10 +12294,10 @@ Read more: ${P}#error-${t4}`; } class dh { constructor() { - this._normalizers = new Map(); - this._extractors = new Map(); - this._reducers = new Map(); - this._consumables = new Map(); + this._normalizers = /* @__PURE__ */ new Map(); + this._extractors = /* @__PURE__ */ new Map(); + this._reducers = /* @__PURE__ */ new Map(); + this._consumables = /* @__PURE__ */ new Map(); } toNormalizedForm(t4, e3, n3) { if (st2(e3)) { @@ -12667,7 +12350,7 @@ Read more: ${P}#error-${t4}`; } return n4; }); - const n3 = new Set([...e3, ...Object.keys(t4)]); + const n3 = /* @__PURE__ */ new Set([...e3, ...Object.keys(t4)]); return Array.from(n3); } getRelatedStyles(t4) { @@ -12700,7 +12383,7 @@ Read more: ${P}#error-${t4}`; let n3 = 0; let o3 = 0; let i3 = null; - const r3 = new Map(); + const r3 = /* @__PURE__ */ new Map(); if (t4 === "") { return r3; } @@ -12751,14 +12434,14 @@ Read more: ${P}#error-${t4}`; constructor(t4, e3, n3, o3) { super(t4); this._unsafeAttributesToRender = []; - this._customProperties = new Map(); + this._customProperties = /* @__PURE__ */ new Map(); this.name = e3; this._attrs = fh2(n3); this._children = []; if (o3) { this._insertChild(0, o3); } - this._classes = new Set(); + this._classes = /* @__PURE__ */ new Set(); if (this._attrs.has("class")) { const t6 = this._attrs.get("class"); ph2(this._classes, t6); @@ -12792,10 +12475,10 @@ Read more: ${P}#error-${t4}`; if (!this._styles.isEmpty) { yield "style"; } - yield* this._attrs.keys(); + yield* __yieldStar(this._attrs.keys()); } *getAttributes() { - yield* this._attrs.entries(); + yield* __yieldStar(this._attrs.entries()); if (this._classes.size > 0) { yield ["class", this.getAttribute("class")]; } @@ -12898,7 +12581,7 @@ Read more: ${P}#error-${t4}`; return this._customProperties.get(t4); } *getCustomProperties() { - yield* this._customProperties.entries(); + yield* __yieldStar(this._customProperties.entries()); } getIdentity() { const t4 = Array.from(this._classes).sort().join(","); @@ -12981,13 +12664,13 @@ Read more: ${P}#error-${t4}`; } _addClass(t4) { this._fireChange("attributes", this); - for (const e3 of sl3(t4)) { + for (const e3 of sl2(t4)) { this._classes.add(e3); } } _removeClass(t4) { this._fireChange("attributes", this); - for (const e3 of sl3(t4)) { + for (const e3 of sl2(t4)) { this._classes.delete(e3); } } @@ -13001,7 +12684,7 @@ Read more: ${P}#error-${t4}`; } _removeStyle(t4) { this._fireChange("attributes", this); - for (const e3 of sl3(t4)) { + for (const e3 of sl2(t4)) { this._styles.remove(e3); } } @@ -13482,7 +13165,7 @@ Read more: ${P}#error-${t4}`; this.end = e3 ? e3.clone() : t4.clone(); } *[Symbol.iterator]() { - yield* new vh({ boundaries: this, ignoreElementEnd: true }); + yield* __yieldStar(new vh({ boundaries: this, ignoreElementEnd: true })); } get isCollapsed() { return this.start.isEqual(this.end); @@ -13900,7 +13583,7 @@ Read more: ${P}#error-${t4}`; return this._selection._ranges; } *getRanges() { - yield* this._selection.getRanges(); + yield* __yieldStar(this._selection.getRanges()); } getFirstRange() { return this._selection.getFirstRange(); @@ -13996,7 +13679,7 @@ Read more: ${P}#error-${t4}`; } } _addEventListener(t6, e4, n3) { - const o3 = sl3(n3.context || "$document"); + const o3 = sl2(n3.context || "$document"); const i3 = Lh(this); for (const r3 of o3) { let o4 = i3.get(r3); @@ -14046,7 +13729,7 @@ Read more: ${P}#error-${t4}`; } function Lh(t4) { if (!t4[Sh2]) { - t4[Sh2] = new Map(); + t4[Sh2] = /* @__PURE__ */ new Map(); } return t4[Sh2]; } @@ -14063,7 +13746,7 @@ Read more: ${P}#error-${t4}`; class Oh2 extends Bh(mt2()) { constructor(t4) { super(); - this._postFixers = new Set(); + this._postFixers = /* @__PURE__ */ new Set(); this.selection = new Ih(); this.roots = new rd2({ idProperty: "rootName" }); this.stylesProcessor = t4; @@ -14273,7 +13956,7 @@ Read more: ${P}#error-${t4}`; constructor(t4, e3) { super(); this._children = []; - this._customProperties = new Map(); + this._customProperties = /* @__PURE__ */ new Map(); this.document = t4; if (e3) { this._insertChild(0, e3); @@ -14304,7 +13987,7 @@ Read more: ${P}#error-${t4}`; return this._customProperties.get(t4); } *getCustomProperties() { - yield* this._customProperties.entries(); + yield* __yieldStar(this._customProperties.entries()); } _appendChild(t4) { return this._insertChild(this.childCount, t4); @@ -14372,7 +14055,7 @@ Read more: ${P}#error-${t4}`; } class Xh2 { constructor(t4) { - this._cloneGroups = new Map(); + this._cloneGroups = /* @__PURE__ */ new Map(); this._slotFactory = null; this.document = t4; } @@ -14987,7 +14670,7 @@ Read more: ${P}#error-${t4}`; } let n3 = this._cloneGroups.get(e3); if (!n3) { - n3 = new Set(); + n3 = /* @__PURE__ */ new Set(); this._cloneGroups.set(e3, n3); } n3.add(t4); @@ -15138,10 +14821,10 @@ Read more: ${P}#error-${t4}`; class xm extends mt2() { constructor(t4, e3) { super(); - this.domDocuments = new Set(); - this.markedAttributes = new Set(); - this.markedChildren = new Set(); - this.markedTexts = new Set(); + this.domDocuments = /* @__PURE__ */ new Set(); + this.markedAttributes = /* @__PURE__ */ new Set(); + this.markedChildren = /* @__PURE__ */ new Set(); + this.markedTexts = /* @__PURE__ */ new Set(); this._inlineFiller = null; this._fakeSelectionContainer = null; this.domConverter = t4; @@ -15380,7 +15063,7 @@ Read more: ${P}#error-${t4}`; const s3 = this._diffNodeLists(i3, r3); const a3 = this._findUpdateActions(s3, i3, r3, Tm); let c3 = 0; - const d3 = new Set(); + const d3 = /* @__PURE__ */ new Set(); for (const t6 of a3) { if (t6 === "delete") { d3.add(i3[c3]); @@ -15640,12 +15323,12 @@ Read more: ${P}#error-${t4}`; const Vm = "data-ck-unsafe-element"; class Fm2 { constructor(t4, { blockFillerMode: e3, renderingMode: n3 = "editing" } = {}) { - this._domToViewMapping = new WeakMap(); - this._viewToDomMapping = new WeakMap(); - this._fakeSelectionMapping = new WeakMap(); + this._domToViewMapping = /* @__PURE__ */ new WeakMap(); + this._viewToDomMapping = /* @__PURE__ */ new WeakMap(); + this._fakeSelectionMapping = /* @__PURE__ */ new WeakMap(); this._rawContentElementMatcher = new iu2(); this._inlineObjectElementMatcher = new iu2(); - this._elementsWithTemporaryCustomProperties = new Set(); + this._elementsWithTemporaryCustomProperties = /* @__PURE__ */ new Set(); this.document = t4; this.renderingMode = n3; this.blockFillerMode = e3 || (n3 === "editing" ? "br" : "nbsp"); @@ -15821,7 +15504,7 @@ Read more: ${P}#error-${t4}`; } const t6 = i3.is("element") && !!i3.getCustomProperty("dataPipeline:transparentRendering") && !sd2(i3.getAttributes()); if (t6 && this.renderingMode == "data") { - yield* this.viewChildrenToDom(i3, e3); + yield* __yieldStar(this.viewChildrenToDom(i3, e3)); } else { if (t6) { L("domconverter-transparent-rendering-unsupported-in-editing-pipeline", { viewElement: i3 }); @@ -16528,7 +16211,7 @@ Read more: ${P}#error-${t4}`; const mg = hg; var gg = "Expected a function"; var fg = Math.max, pg2 = Math.min; - function bg2(t4, e3, n3) { + function bg(t4, e3, n3) { var o3, i3, r3, s3, a3, c3, l3 = 0, d3 = false, u3 = false, h4 = true; if (typeof t4 != "function") { throw new TypeError(gg); @@ -16609,7 +16292,7 @@ Read more: ${P}#error-${t4}`; _3.flush = A3; return _3; } - const kg2 = bg2; + const kg2 = bg; class wg2 extends $m { constructor(t4) { super(t4); @@ -16664,7 +16347,7 @@ Read more: ${P}#error-${t4}`; const yg2 = vg2; function xg2(t4) { var e3 = -1, n3 = t4 == null ? 0 : t4.length; - this.__data__ = new eo3(); + this.__data__ = new eo2(); while (++e3 < n3) { this.add(t4[e3]); } @@ -16884,7 +16567,7 @@ Read more: ${P}#error-${t4}`; if (t4 === e3) { return true; } - if (t4 == null || e3 == null || !te3(t4) && !te3(e3)) { + if (t4 == null || e3 == null || !te2(t4) && !te2(e3)) { return t4 !== t4 && e3 !== e3; } return ff(t4, e3, n3, o3, pf, i3); @@ -16902,7 +16585,7 @@ Read more: ${P}#error-${t4}`; this._config = { childList: true, characterData: true, subtree: true }; this.domConverter = t4.domConverter; this.renderer = t4._renderer; - this._domElements = new Set(); + this._domElements = /* @__PURE__ */ new Set(); this._mutationObserver = new window.MutationObserver(this._onMutations.bind(this)); } flush() { @@ -16942,8 +16625,8 @@ Read more: ${P}#error-${t4}`; return; } const e3 = this.domConverter; - const n3 = new Set(); - const o3 = new Set(); + const n3 = /* @__PURE__ */ new Set(); + const o3 = /* @__PURE__ */ new Set(); for (const n4 of t4) { const t6 = e3.mapDomToView(n4.target); if (!t6) { @@ -17055,7 +16738,7 @@ Read more: ${P}#error-${t4}`; this.focusObserver = t4.getObserver(Cf); this.selection = this.document.selection; this.domConverter = t4.domConverter; - this._documents = new WeakSet(); + this._documents = /* @__PURE__ */ new WeakSet(); this._fireSelectionChangeDoneDebounced = kg2((t6) => { this.document.fire("selectionChangeDone", t6); }, 200); @@ -17265,7 +16948,7 @@ Read more: ${P}#error-${t4}`; constructor(t4) { super(t4); this.document.on("keydown", (t6, e3) => { - if (this.isEnabled && tl3(e3.keyCode)) { + if (this.isEnabled && tl2(e3.keyCode)) { const n3 = new Th2(this.document, "arrowKey", this.document.selection.getFirstRange()); this.document.fire(n3, e3); if (n3.stop.called) { @@ -17307,9 +16990,9 @@ Read more: ${P}#error-${t4}`; class Nf extends mt2() { constructor(t4) { super(); - this.domRoots = new Map(); - this._initialDomRootAttributes = new WeakMap(); - this._observers = new Map(); + this.domRoots = /* @__PURE__ */ new Map(); + this._initialDomRootAttributes = /* @__PURE__ */ new WeakMap(); + this._observers = /* @__PURE__ */ new Map(); this._ongoingChange = false; this._postFixersInProgress = false; this._renderingDisabled = false; @@ -18516,7 +18199,7 @@ Read more: ${P}#error-${t4}`; this.end.stickiness = this.isCollapsed ? "toNone" : "toPrevious"; } *[Symbol.iterator]() { - yield* new Hf2({ boundaries: this, ignoreElementEnd: true }); + yield* __yieldStar(new Hf2({ boundaries: this, ignoreElementEnd: true })); } get isCollapsed() { return this.start.isEqual(this.end); @@ -18854,13 +18537,13 @@ Read more: ${P}#error-${t4}`; class Jf extends $3() { constructor() { super(); - this._modelToViewMapping = new WeakMap(); - this._viewToModelMapping = new WeakMap(); - this._viewToModelLengthCallbacks = new Map(); - this._markerNameToElements = new Map(); - this._elementToMarkerNames = new Map(); - this._deferredBindingRemovals = new Map(); - this._unboundMarkerNames = new Set(); + this._modelToViewMapping = /* @__PURE__ */ new WeakMap(); + this._viewToModelMapping = /* @__PURE__ */ new WeakMap(); + this._viewToModelLengthCallbacks = /* @__PURE__ */ new Map(); + this._markerNameToElements = /* @__PURE__ */ new Map(); + this._elementToMarkerNames = /* @__PURE__ */ new Map(); + this._deferredBindingRemovals = /* @__PURE__ */ new Map(); + this._unboundMarkerNames = /* @__PURE__ */ new Set(); this.on("modelToViewPosition", (t4, e3) => { if (e3.viewPosition) { return; @@ -18909,9 +18592,9 @@ Read more: ${P}#error-${t4}`; } } bindElementToMarker(t4, e3) { - const n3 = this._markerNameToElements.get(e3) || new Set(); + const n3 = this._markerNameToElements.get(e3) || /* @__PURE__ */ new Set(); n3.add(t4); - const o3 = this._elementToMarkerNames.get(t4) || new Set(); + const o3 = this._elementToMarkerNames.get(t4) || /* @__PURE__ */ new Set(); o3.add(e3); this._markerNameToElements.set(e3, n3); this._elementToMarkerNames.set(t4, o3); @@ -18943,15 +18626,15 @@ Read more: ${P}#error-${t4}`; this.unbindViewElement(t4); } } - this._deferredBindingRemovals = new Map(); + this._deferredBindingRemovals = /* @__PURE__ */ new Map(); } clearBindings() { - this._modelToViewMapping = new WeakMap(); - this._viewToModelMapping = new WeakMap(); - this._markerNameToElements = new Map(); - this._elementToMarkerNames = new Map(); - this._unboundMarkerNames = new Set(); - this._deferredBindingRemovals = new Map(); + this._modelToViewMapping = /* @__PURE__ */ new WeakMap(); + this._viewToModelMapping = /* @__PURE__ */ new WeakMap(); + this._markerNameToElements = /* @__PURE__ */ new Map(); + this._elementToMarkerNames = /* @__PURE__ */ new Map(); + this._unboundMarkerNames = /* @__PURE__ */ new Set(); + this._deferredBindingRemovals = /* @__PURE__ */ new Map(); } toModelElement(t4) { return this._viewToModelMapping.get(t4); @@ -18980,7 +18663,7 @@ Read more: ${P}#error-${t4}`; if (!e3) { return null; } - const n3 = new Set(); + const n3 = /* @__PURE__ */ new Set(); for (const t6 of e3) { if (t6.is("attributeElement")) { for (const e4 of t6.getElementsWithSameId()) { @@ -19068,8 +18751,8 @@ Read more: ${P}#error-${t4}`; } class Xf { constructor() { - this._consumable = new Map(); - this._textProxyRegistry = new Map(); + this._consumable = /* @__PURE__ */ new Map(); + this._textProxyRegistry = /* @__PURE__ */ new Map(); } add(t4, e3) { e3 = tp(e3); @@ -19077,7 +18760,7 @@ Read more: ${P}#error-${t4}`; t4 = this._getSymbolForTextProxy(t4); } if (!this._consumable.has(t4)) { - this._consumable.set(t4, new Map()); + this._consumable.set(t4, /* @__PURE__ */ new Map()); } this._consumable.get(t4).set(e3, true); } @@ -19159,12 +18842,12 @@ Read more: ${P}#error-${t4}`; let s3; r3 = this._textProxyRegistry.get(e3); if (!r3) { - r3 = new Map(); + r3 = /* @__PURE__ */ new Map(); this._textProxyRegistry.set(e3, r3); } s3 = r3.get(n3); if (!s3) { - s3 = new Map(); + s3 = /* @__PURE__ */ new Map(); r3.set(n3, s3); } s3.set(o3, i3); @@ -19185,7 +18868,7 @@ Read more: ${P}#error-${t4}`; constructor(t4) { super(); this._conversionApi = __spreadValues({ dispatcher: this }, t4); - this._firedEventsMap = new WeakMap(); + this._firedEventsMap = /* @__PURE__ */ new WeakMap(); } convertChanges(t4, e3, n3) { const o3 = this._createConversionApi(n3, t4.getRefreshedItems()); @@ -19342,7 +19025,7 @@ Read more: ${P}#error-${t4}`; const r3 = this._firedEventsMap.get(n3); const s3 = r3.get(i3); if (!s3) { - r3.set(i3, new Set([o3])); + r3.set(i3, /* @__PURE__ */ new Set([o3])); } else if (!s3.has(o3)) { s3.add(o3); } else { @@ -19359,9 +19042,9 @@ Read more: ${P}#error-${t4}`; this._testAndFire(`attribute:${t6}`, n3, e3); } } - _createConversionApi(t4, e3 = new Set(), n3 = {}) { + _createConversionApi(t4, e3 = /* @__PURE__ */ new Set(), n3 = {}) { const o3 = __spreadProps(__spreadValues({}, this._conversionApi), { consumable: new Xf(), writer: t4, options: n3, convertItem: (t6) => this._convertInsert(Zf._createOn(t6), o3), convertChildren: (t6) => this._convertInsert(Zf._createIn(t6), o3, { doNotAddConsumables: true }), convertAttributes: (t6) => this._testAndFireAddAttributes(t6, o3), canReuseView: (t6) => !e3.has(o3.mapper.toModelElement(t6)) }); - this._firedEventsMap.set(o3, new Map()); + this._firedEventsMap.set(o3, /* @__PURE__ */ new Map()); return o3; } } @@ -19391,7 +19074,7 @@ Read more: ${P}#error-${t4}`; constructor(...t4) { super(); this._lastRangeBackward = false; - this._attrs = new Map(); + this._attrs = /* @__PURE__ */ new Map(); this._ranges = []; if (t4.length) { this.setTo(...t4); @@ -19581,7 +19264,7 @@ Read more: ${P}#error-${t4}`; return this.getFirstRange().getContainedElement(); } *getSelectedBlocks() { - const t4 = new WeakSet(); + const t4 = /* @__PURE__ */ new WeakSet(); for (const e3 of this.getRanges()) { const n3 = cp2(e3.start, t4); if (dp2(n3, e3)) { @@ -19880,11 +19563,11 @@ Read more: ${P}#error-${t4}`; constructor(t4) { super(); this.markers = new rd2({ idProperty: "name" }); - this._attributePriority = new Map(); + this._attributePriority = /* @__PURE__ */ new Map(); this._selectionRestorePosition = null; this._hasChangedRange = false; - this._overriddenGravityRegister = new Set(); - this._observedMarkers = new Set(); + this._overriddenGravityRegister = /* @__PURE__ */ new Set(); + this._observedMarkers = /* @__PURE__ */ new Set(); this._model = t4.model; this._document = t4; this.listenTo(this._model, "applyOperation", (t6, e3) => { @@ -19938,7 +19621,7 @@ Read more: ${P}#error-${t4}`; } *getRanges() { if (this._ranges.length) { - yield* super.getRanges(); + yield* __yieldStar(super.getRanges()); } else { yield this._document._getDefaultRange(); } @@ -20101,8 +19784,8 @@ Read more: ${P}#error-${t4}`; const e3 = dd2(this._getSurroundingAttributes()); const n3 = dd2(this.getAttributes()); if (t4) { - this._attributePriority = new Map(); - this._attrs = new Map(); + this._attributePriority = /* @__PURE__ */ new Map(); + this._attrs = /* @__PURE__ */ new Map(); } else { for (const [t6, e4] of this._attributePriority) { if (e4 == "low") { @@ -20153,7 +19836,7 @@ Read more: ${P}#error-${t4}`; return true; } _setAttributesTo(t4) { - const e3 = new Set(); + const e3 = /* @__PURE__ */ new Set(); for (const [e4, n3] of this.getAttributes()) { if (t4.get(e4) === n3) { continue; @@ -20443,7 +20126,7 @@ Read more: ${P}#error-${t4}`; if (!e3(o3.item, i3.consumable, { preflight: true })) { return; } - const r3 = new Map(); + const r3 = /* @__PURE__ */ new Map(); i3.writer._registerSlotFactory(ab2(o3.item, r3, i3)); const s3 = t4(o3.item, i3, o3); i3.writer._clearSlotFactory(); @@ -20839,7 +20522,7 @@ Read more: ${P}#error-${t4}`; if (typeof t4 == "string") { t4 = { name: t4 }; } - return { name: t4.name, attributes: t4.attributes ? sl3(t4.attributes) : [], children: !!t4.children }; + return { name: t4.name, attributes: t4.attributes ? sl2(t4.attributes) : [], children: !!t4.children }; } function Xp2(t4, e3) { if (typeof t4 == "function") { @@ -20941,7 +20624,7 @@ Read more: ${P}#error-${t4}`; return (t6, n3) => { const o3 = []; if (!n3.reconvertedElements) { - n3.reconvertedElements = new Set(); + n3.reconvertedElements = /* @__PURE__ */ new Set(); } for (const t7 of n3.changes) { const i3 = t7.type == "attribute" ? t7.range.start.nodeAfter : t7.position.parent; @@ -21477,7 +21160,7 @@ Read more: ${P}#error-${t4}`; } function Ub2(t4) { const e3 = [...t4]; - const n3 = new Set(); + const n3 = /* @__PURE__ */ new Set(); let o3 = 1; while (o3 < e3.length) { const t6 = e3[o3]; @@ -21581,7 +21264,7 @@ Read more: ${P}#error-${t4}`; } class $b2 { constructor() { - this._consumables = new Map(); + this._consumables = /* @__PURE__ */ new Map(); } add(t4, e3) { let n3; @@ -21672,7 +21355,7 @@ Read more: ${P}#error-${t4}`; constructor(t4) { this.element = t4; this._canConsumeName = null; - this._consumables = { attributes: new Map(), styles: new Map(), classes: new Map() }; + this._consumables = { attributes: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), classes: /* @__PURE__ */ new Map() }; } add(t4) { if (t4.name) { @@ -21719,7 +21402,7 @@ Read more: ${P}#error-${t4}`; } } _add(t4, e3) { - const n3 = sl3(e3); + const n3 = sl2(e3); const o3 = this._consumables[t4]; for (const e4 of n3) { if (t4 === "attributes" && (e4 === "class" || e4 === "style")) { @@ -21734,7 +21417,7 @@ Read more: ${P}#error-${t4}`; } } _test(t4, e3) { - const n3 = sl3(e3); + const n3 = sl2(e3); const o3 = this._consumables[t4]; for (const e4 of n3) { if (t4 === "attributes" && (e4 === "class" || e4 === "style")) { @@ -21756,7 +21439,7 @@ Read more: ${P}#error-${t4}`; return true; } _consume(t4, e3) { - const n3 = sl3(e3); + const n3 = sl2(e3); const o3 = this._consumables[t4]; for (const e4 of n3) { if (t4 === "attributes" && (e4 === "class" || e4 === "style")) { @@ -21773,7 +21456,7 @@ Read more: ${P}#error-${t4}`; } } _revert(t4, e3) { - const n3 = sl3(e3); + const n3 = sl2(e3); const o3 = this._consumables[t4]; for (const e4 of n3) { if (t4 === "attributes" && (e4 === "class" || e4 === "style")) { @@ -21975,7 +21658,7 @@ Read more: ${P}#error-${t4}`; *getValidRanges(t4, e3) { t4 = gk(t4); for (const n3 of t4) { - yield* this._getValidRangesForRange(n3, e3); + yield* __yieldStar(this._getValidRangesForRange(n3, e3)); } } getNearestSelectionRange(t4, e3 = "both") { @@ -22104,7 +21787,7 @@ Read more: ${P}#error-${t4}`; let o3 = t4.start; for (const i3 of t4.getItems({ shallow: true })) { if (i3.is("element")) { - yield* this._getValidRangesForRange(Zf._createIn(i3), e3); + yield* __yieldStar(this._getValidRangesForRange(Zf._createIn(i3), e3)); } if (!this.checkAttribute(i3, e3)) { if (!n3.isEqual(o3)) { @@ -22173,7 +21856,7 @@ Read more: ${P}#error-${t4}`; return this._items[t4]; } *getNames() { - yield* this._items.map((t4) => t4.name); + yield* __yieldStar(this._items.map((t4) => t4.name)); } endsWith(t4) { return Array.from(this.getNames()).join(" ").endsWith(t4); @@ -22299,9 +21982,9 @@ Read more: ${P}#error-${t4}`; } function dk(t4, e3) { const n3 = t4[e3]; - return uk2(t4).filter((t6) => t6.allowIn.includes(n3.name)); + return uk(t4).filter((t6) => t6.allowIn.includes(n3.name)); } - function uk2(t4) { + function uk(t4) { return Object.keys(t4).map((e3) => t4[e3]); } function hk(t4) { @@ -22311,7 +21994,7 @@ Read more: ${P}#error-${t4}`; } }; } else { return { name: t4.is("element") ? t4.name : "$text", *getAttributeKeys() { - yield* t4.getAttributeKeys(); + yield* __yieldStar(t4.getAttributeKeys()); }, getAttribute(e3) { return t4.getAttribute(e3); } }; @@ -22339,7 +22022,7 @@ Read more: ${P}#error-${t4}`; } function* gk(t4) { for (const e3 of t4) { - yield* e3.getMinimalFlatRanges(); + yield* __yieldStar(e3.getMinimalFlatRanges()); } } function fk(t4, e3, n3) { @@ -22352,10 +22035,10 @@ Read more: ${P}#error-${t4}`; class pk extends $3() { constructor(t4) { super(); - this._splitParts = new Map(); - this._cursorParents = new Map(); + this._splitParts = /* @__PURE__ */ new Map(); + this._cursorParents = /* @__PURE__ */ new Map(); this._modelCursor = null; - this._emptyElementsToKeep = new Set(); + this._emptyElementsToKeep = /* @__PURE__ */ new Set(); this.conversionApi = __spreadProps(__spreadValues({}, t4), { consumable: null, writer: null, store: null, convertItem: (t6, e3) => this._convertItem(t6, e3), convertChildren: (t6, e3) => this._convertChildren(t6, e3), safeInsert: (t6, e3) => this._safeInsert(t6, e3), updateConversionResult: (t6, e3) => this._updateConversionResult(t6, e3), splitToAllowedParent: (t6, e3) => this._splitToAllowedParent(t6, e3), getSplitParts: (t6) => this._getSplitParts(t6), keepEmptyElement: (t6) => this._keepEmptyElement(t6) }); } convert(t4, e3, n3 = ["$root"]) { @@ -22495,8 +22178,8 @@ Read more: ${P}#error-${t4}`; } } function bk(t4, e3) { - const n3 = new Set(); - const o3 = new Map(); + const n3 = /* @__PURE__ */ new Set(); + const o3 = /* @__PURE__ */ new Map(); const i3 = Zf._createIn(t4).getItems(); for (const t6 of i3) { if (t6.is("element", "$marker")) { @@ -22703,7 +22386,7 @@ Read more: ${P}#error-${t4}`; const e3 = []; const n3 = t4.root.document; if (!n3) { - return new Map(); + return /* @__PURE__ */ new Map(); } const o3 = Zf._createIn(t4); for (const t6 of n3.model.markers) { @@ -22746,10 +22429,10 @@ Read more: ${P}#error-${t4}`; } class vk { constructor(t4, e3) { - this._helpers = new Map(); - this._downcast = sl3(t4); + this._helpers = /* @__PURE__ */ new Map(); + this._downcast = sl2(t4); this._createConversionHelpers({ name: "downcast", dispatchers: this._downcast, isDowncast: true }); - this._upcast = sl3(e3); + this._upcast = sl2(e3); this._createConversionHelpers({ name: "upcast", dispatchers: this._upcast, isDowncast: false }); } addAlias(t4, e3) { @@ -22798,16 +22481,16 @@ Read more: ${P}#error-${t4}`; const n3 = { key: t4.model.key, value: e3 }; const o3 = t4.view[e3]; const i3 = t4.upcastAlso ? t4.upcastAlso[e3] : void 0; - yield* xk(n3, o3, i3); + yield* __yieldStar(xk(n3, o3, i3)); } } else { - yield* xk(t4.model, t4.view, t4.upcastAlso); + yield* __yieldStar(xk(t4.model, t4.view, t4.upcastAlso)); } } function* xk(t4, e3, n3) { yield { model: t4, view: e3 }; if (n3) { - for (const e4 of sl3(n3)) { + for (const e4 of sl2(n3)) { yield { model: t4, view: e4 }; } } @@ -23515,11 +23198,11 @@ Read more: ${P}#error-${t4}`; return $k[t4.__className].fromJSON(t4, e3); } } - const Yk = new Map(); + const Yk = /* @__PURE__ */ new Map(); function Qk(t4, e3, n3) { let o3 = Yk.get(t4); if (!o3) { - o3 = new Map(); + o3 = /* @__PURE__ */ new Map(); Yk.set(t4, o3); } o3.set(e3, n3); @@ -23553,7 +23236,7 @@ Read more: ${P}#error-${t4}`; if (t4.length == 0 || e3.length == 0) { return { operationsA: t4, operationsB: e3, originalOperations: i3 }; } - const r3 = new WeakMap(); + const r3 = /* @__PURE__ */ new WeakMap(); for (const e4 of t4) { r3.set(e4, 0); } @@ -23590,11 +23273,11 @@ Read more: ${P}#error-${t4}`; } class ew { constructor(t4, e3, n3 = false) { - this.originalOperations = new Map(); + this.originalOperations = /* @__PURE__ */ new Map(); this._history = t4.history; this._useRelations = e3; this._forceWeakRemove = !!n3; - this._relations = new Map(); + this._relations = /* @__PURE__ */ new Map(); } setOriginalOperations(t4, e3 = null) { const n3 = e3 ? this.originalOperations.get(e3) : null; @@ -23707,7 +23390,7 @@ Read more: ${P}#error-${t4}`; const i3 = this.originalOperations.get(e3); let r3 = this._relations.get(o3); if (!r3) { - r3 = new Map(); + r3 = /* @__PURE__ */ new Map(); this._relations.set(o3, r3); } r3.set(i3, n3); @@ -24064,7 +23747,7 @@ Read more: ${P}#error-${t4}`; } else { a3 = t4.targetPosition._getTransformedByMove(e3.sourcePosition, e3.targetPosition, e3.howMany); } - if (sw2(t4, e3) && sw2(e3, t4)) { + if (sw(t4, e3) && sw(e3, t4)) { return [e3.getReversed()]; } const c3 = o3.containsPosition(e3.targetPosition); @@ -24395,7 +24078,7 @@ Read more: ${P}#error-${t4}`; t4.insertionPosition = Ok.getInsertionPosition(t4.splitPosition); return [t4]; }); - function sw2(t4, e3) { + function sw(t4, e3) { return t4.targetPosition._getTransformedByDeletion(e3.sourcePosition, e3.howMany) === null; } function aw(t4, e3) { @@ -24483,14 +24166,14 @@ Read more: ${P}#error-${t4}`; } class hw { constructor(t4) { - this._changesInElement = new Map(); - this._elementSnapshots = new Map(); - this._changedMarkers = new Map(); - this._changedRoots = new Map(); + this._changesInElement = /* @__PURE__ */ new Map(); + this._elementSnapshots = /* @__PURE__ */ new Map(); + this._changedMarkers = /* @__PURE__ */ new Map(); + this._changedRoots = /* @__PURE__ */ new Map(); this._changeCount = 0; this._cachedChanges = null; this._cachedChangesWithGraveyard = null; - this._refreshedItems = new Set(); + this._refreshedItems = /* @__PURE__ */ new Set(); this._markerCollection = t4; } get isEmpty() { @@ -24767,7 +24450,7 @@ Read more: ${P}#error-${t4}`; this._elementSnapshots.clear(); this._changedMarkers.clear(); this._changedRoots.clear(); - this._refreshedItems = new Set(); + this._refreshedItems = /* @__PURE__ */ new Set(); this._cachedChanges = null; } _bufferRootStateChange(t4, e3) { @@ -25114,11 +24797,11 @@ Read more: ${P}#error-${t4}`; class pw { constructor() { this._operations = []; - this._undoPairs = new Map(); - this._undoneOperations = new Set(); - this._baseVersionToOperationIndex = new Map(); + this._undoPairs = /* @__PURE__ */ new Map(); + this._undoneOperations = /* @__PURE__ */ new Set(); + this._baseVersionToOperationIndex = /* @__PURE__ */ new Map(); this._version = 0; - this._gaps = new Map(); + this._gaps = /* @__PURE__ */ new Map(); } get version() { return this._version; @@ -25192,11 +24875,11 @@ Read more: ${P}#error-${t4}`; } reset() { this._version = 0; - this._undoPairs = new Map(); + this._undoPairs = /* @__PURE__ */ new Map(); this._operations = []; - this._undoneOperations = new Set(); - this._gaps = new Map(); - this._baseVersionToOperationIndex = new Map(); + this._undoneOperations = /* @__PURE__ */ new Set(); + this._gaps = /* @__PURE__ */ new Map(); + this._baseVersionToOperationIndex = /* @__PURE__ */ new Map(); } } class bw extends Ff { @@ -25233,7 +24916,7 @@ Read more: ${P}#error-${t4}`; this.roots = new rd2({ idProperty: "rootName" }); this.differ = new hw(t4.markers); this.isReadOnly = false; - this._postFixers = new Set(); + this._postFixers = /* @__PURE__ */ new Set(); this._hasSelectionChangedFromTheLastChangeBlock = false; this.createRoot("$root", kw); this.listenTo(t4, "applyOperation", (t6, e3) => { @@ -25374,7 +25057,7 @@ Read more: ${P}#error-${t4}`; class _w extends $3() { constructor() { super(...arguments); - this._markers = new Map(); + this._markers = /* @__PURE__ */ new Map(); } [Symbol.iterator]() { return this._markers.values(); @@ -25564,7 +25247,7 @@ Read more: ${P}#error-${t4}`; class yw extends Lf { constructor(t4) { super(); - this.markers = new Map(); + this.markers = /* @__PURE__ */ new Map(); this._children = new Of(); if (t4) { this._insertChild(0, t4); @@ -26578,7 +26261,7 @@ Read more: ${P}#error-${t4}`; this.model = t4; this.writer = e3; this.position = n3; - this.canMergeWith = new Set([this.position.parent]); + this.canMergeWith = /* @__PURE__ */ new Set([this.position.parent]); this.schema = t4.schema; this._documentFragment = e3.createDocumentFragment(); this._documentFragmentPosition = e3.createPositionAt(this._documentFragment, 0); @@ -27314,7 +26997,7 @@ Read more: ${P}#error-${t4}`; const fA = /^hsl\([ ]?([0-9]{1,3}[ %]?[,]?[ ]*){3}(1|[0-9]+%|[0]?\.?[0-9]+)?\)$/i; const pA = /^hsla\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i; const bA = /\w+\((?:[^()]|\([^()]*\))*\)|\S+/gi; - const kA = new Set(["black", "silver", "gray", "white", "maroon", "red", "purple", "fuchsia", "green", "lime", "olive", "yellow", "navy", "blue", "teal", "aqua", "orange", "aliceblue", "antiquewhite", "aquamarine", "azure", "beige", "bisque", "blanchedalmond", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkgrey", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkslategrey", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dimgrey", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "gainsboro", "ghostwhite", "gold", "goldenrod", "greenyellow", "grey", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgray", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightslategrey", "lightsteelblue", "lightyellow", "limegreen", "linen", "magenta", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "oldlace", "olivedrab", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "skyblue", "slateblue", "slategray", "slategrey", "snow", "springgreen", "steelblue", "tan", "thistle", "tomato", "turquoise", "violet", "wheat", "whitesmoke", "yellowgreen", "activeborder", "activecaption", "appworkspace", "background", "buttonface", "buttonhighlight", "buttonshadow", "buttontext", "captiontext", "graytext", "highlight", "highlighttext", "inactiveborder", "inactivecaption", "inactivecaptiontext", "infobackground", "infotext", "menu", "menutext", "scrollbar", "threeddarkshadow", "threedface", "threedhighlight", "threedlightshadow", "threedshadow", "window", "windowframe", "windowtext", "rebeccapurple", "currentcolor", "transparent"]); + const kA = /* @__PURE__ */ new Set(["black", "silver", "gray", "white", "maroon", "red", "purple", "fuchsia", "green", "lime", "olive", "yellow", "navy", "blue", "teal", "aqua", "orange", "aliceblue", "antiquewhite", "aquamarine", "azure", "beige", "bisque", "blanchedalmond", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkgrey", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkslategrey", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dimgrey", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "gainsboro", "ghostwhite", "gold", "goldenrod", "greenyellow", "grey", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgray", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightslategrey", "lightsteelblue", "lightyellow", "limegreen", "linen", "magenta", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "oldlace", "olivedrab", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "skyblue", "slateblue", "slategray", "slategrey", "snow", "springgreen", "steelblue", "tan", "thistle", "tomato", "turquoise", "violet", "wheat", "whitesmoke", "yellowgreen", "activeborder", "activecaption", "appworkspace", "background", "buttonface", "buttonhighlight", "buttonshadow", "buttontext", "captiontext", "graytext", "highlight", "highlighttext", "inactiveborder", "inactivecaption", "inactivecaptiontext", "infobackground", "infotext", "menu", "menutext", "scrollbar", "threeddarkshadow", "threedface", "threedhighlight", "threedlightshadow", "threedshadow", "window", "windowframe", "windowtext", "rebeccapurple", "currentcolor", "transparent"]); function wA(t4) { if (t4.startsWith("#")) { return hA.test(t4); @@ -27634,7 +27317,7 @@ Read more: ${P}#error-${t4}`; } class o_2 { constructor() { - this._commands = new Map(); + this._commands = /* @__PURE__ */ new Map(); } add(t4, e3) { this._commands.set(t4, e3); @@ -27650,10 +27333,10 @@ Read more: ${P}#error-${t4}`; return n3.execute(...e3); } *names() { - yield* this._commands.keys(); + yield* __yieldStar(this._commands.keys()); } *commands() { - yield* this._commands.values(); + yield* __yieldStar(this._commands.values()); } [Symbol.iterator]() { return this._commands[Symbol.iterator](); @@ -27684,7 +27367,7 @@ Read more: ${P}#error-${t4}`; const s_2 = "common"; class a_2 { constructor(t4) { - this.keystrokeInfos = new Map(); + this.keystrokeInfos = /* @__PURE__ */ new Map(); this._editor = t4; const e3 = t4.config.get("menuBar.isVisible"); const n3 = t4.locale.t; @@ -27696,7 +27379,7 @@ Read more: ${P}#error-${t4}`; this.addKeystrokeInfoCategory({ id: "navigation", label: n3("User interface and content navigation keystrokes"), description: n3("Use the following keystrokes for more efficient navigation in the CKEditor 5 user interface."), groups: [{ id: "common", keystrokes: o3 }] }); } addKeystrokeInfoCategory({ id: t4, label: e3, description: n3, groups: o3 }) { - this.keystrokeInfos.set(t4, { id: t4, label: e3, description: n3, groups: new Map() }); + this.keystrokeInfos.set(t4, { id: t4, label: e3, description: n3, groups: /* @__PURE__ */ new Map() }); this.addKeystrokeInfoGroup({ categoryId: t4, id: s_2 }); if (o3) { o3.forEach((e4) => { @@ -27738,7 +27421,7 @@ Read more: ${P}#error-${t4}`; this.plugins = new Bd2(this, a3, this._context.plugins); this.locale = this._context.locale; this.t = this.locale.t; - this._readOnlyLocks = new Set(); + this._readOnlyLocks = /* @__PURE__ */ new Set(); this.commands = new o_2(); this.set("state", "initializing"); this.once("ready", () => this.state = "ready", { priority: "high" }); @@ -28071,12 +27754,12 @@ Read more: ${P}#error-${t4}`; if ($C2(n3)) { yield n3; } else if (KC(n3)) { - yield* t4(n3); + yield* __yieldStar(t4(n3)); } } } } - yield* t4(this); + yield* __yieldStar(t4(this)); } static bind(t4, e3) { return { to(n3, o3) { @@ -28407,7 +28090,7 @@ Read more: ${P}#error-${t4}`; function RC2(t4) { for (const e3 in t4) { if (t4[e3].value) { - t4[e3].value = sl3(t4[e3].value); + t4[e3].value = sl2(t4[e3].value); } HC2(t4, e3); } @@ -28422,10 +28105,10 @@ Read more: ${P}#error-${t4}`; return { text: [t4] }; } function jC2(t4) { - t4.text = sl3(t4.text); + t4.text = sl2(t4.text); } function HC2(t4, e3) { - t4[e3] = sl3(t4[e3]); + t4[e3] = sl2(t4[e3]); } function UC(t4, e3) { if (GC(e3)) { @@ -28568,7 +28251,7 @@ Read more: ${P}#error-${t4}`; var rv2 = { injectType: "singletonStyleTag", attributes: { "data-cke": true } }; rv2.insert = "head"; rv2.singleton = true; - var sv2 = Ld2()(iv.A, rv2); + var sv = Ld2()(iv.A, rv2); const av2 = iv.A.locals || {}; class cv2 extends ov2 { constructor(t4) { @@ -29137,12 +28820,9 @@ Read more: ${P}#error-${t4}`; o3 = parseInt(r3[6] + r3[7], 16) / 255; } } - if (!n3[0]) - n3[0] = 0; - if (!n3[1]) - n3[1] = 0; - if (!n3[2]) - n3[2] = 0; + if (!n3[0]) n3[0] = 0; + if (!n3[1]) n3[1] = 0; + if (!n3[2]) n3[2] = 0; i3 = "rgb"; } else if (e3 = /^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t4)) { var c3 = e3[1]; @@ -29152,10 +28832,8 @@ Read more: ${P}#error-${t4}`; var s3 = r3 === "cmyk" ? 4 : r3 === "gray" ? 1 : 3; n3 = e3[2].trim().split(/\s*[,\/]\s*|\s+/).map(function(t6, e4) { if (/%$/.test(t6)) { - if (e4 === s3) - return parseFloat(t6) / 100; - if (r3 === "rgb") - return parseFloat(t6) * 255 / 100; + if (e4 === s3) return parseFloat(t6) / 100; + if (r3 === "rgb") return parseFloat(t6) * 255 / 100; return parseFloat(t6); } else if (r3[e4] === "h") { if (/deg$/.test(t6)) { @@ -29166,8 +28844,7 @@ Read more: ${P}#error-${t4}`; } return parseFloat(t6); }); - if (c3 === r3) - n3.push(1); + if (c3 === r3) n3.push(1); o3 = l3 ? 1 : n3[s3] === void 0 ? 1 : n3[s3]; n3 = n3.slice(0, s3); } else if (t4.length > 10 && /[0-9](?:\s|\/)/.test(t4)) { @@ -29192,8 +28869,7 @@ Read more: ${P}#error-${t4}`; n3 = [t4.h || t4.hue || t4.H || 0, t4.s || t4.saturation || t4.S || 0, t4.l || t4.lightness || t4.L || t4.b || t4.brightness]; } o3 = t4.a || t4.alpha || t4.opacity || 1; - if (t4.opacity != null) - o3 /= 100; + if (t4.opacity != null) o3 /= 100; } return { space: i3, values: n3, alpha: o3 }; } @@ -29234,7 +28910,7 @@ Read more: ${P}#error-${t4}`; } return sy(t4, "hex"); } - function cy2(t4, e3) { + function cy(t4, e3) { if (customElements.get(t4) === void 0) { customElements.define(t4, e3); } @@ -29276,7 +28952,7 @@ Read more: ${P}#error-${t4}`; my.insert = "head"; my.singleton = true; var gy = Ld2()(hy.A, my); - const fy2 = hy.A.locals || {}; + const fy = hy.A.locals || {}; class py extends ov2 { constructor(t4, e3) { super(t4); @@ -30139,7 +29815,7 @@ Read more: ${P}#error-${t4}`; class ux extends ov2 { constructor(t4) { super(t4); - this._listItemGroupToChangeListeners = new WeakMap(); + this._listItemGroupToChangeListeners = /* @__PURE__ */ new WeakMap(); const e3 = this.bindTemplate; this.focusables = new vC(); this.items = this.createCollection(); @@ -30543,8 +30219,7 @@ Read more: ${P}#error-${t4}`; const qx = { grad: 360 / 400, turn: 360, rad: 360 / (Math.PI * 2) }; const Gx = (t4) => mE2($x(t4)); const $x = (t4) => { - if (t4[0] === "#") - t4 = t4.substring(1); + if (t4[0] === "#") t4 = t4.substring(1); if (t4.length < 6) { return { r: parseInt(t4[0] + t4[0], 16), g: parseInt(t4[1] + t4[1], 16), b: parseInt(t4[2] + t4[2], 16), a: t4.length === 4 ? Wx(parseInt(t4[3] + t4[3], 16) / 255, 2) : 1 }; } @@ -30554,8 +30229,7 @@ Read more: ${P}#error-${t4}`; const Yx = (t4) => { const e3 = /hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i; const n3 = e3.exec(t4); - if (!n3) - return { h: 0, s: 0, v: 0, a: 1 }; + if (!n3) return { h: 0, s: 0, v: 0, a: 1 }; return Zx({ h: Kx(n3[1], n3[2]), s: Number(n3[3]), l: Number(n3[4]), a: n3[5] === void 0 ? 1 : Number(n3[5]) / (n3[6] ? 100 : 1) }); }; const Qx = null; @@ -30602,16 +30276,14 @@ Read more: ${P}#error-${t4}`; const aE2 = (t4) => { const e3 = /hsva?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i; const n3 = e3.exec(t4); - if (!n3) - return { h: 0, s: 0, v: 0, a: 1 }; + if (!n3) return { h: 0, s: 0, v: 0, a: 1 }; return gE2({ h: Kx(n3[1], n3[2]), s: Number(n3[3]), v: Number(n3[4]), a: n3[5] === void 0 ? 1 : Number(n3[5]) / (n3[6] ? 100 : 1) }); }; const cE = null; const lE2 = (t4) => { const e3 = /rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i; const n3 = e3.exec(t4); - if (!n3) - return { h: 0, s: 0, v: 0, a: 1 }; + if (!n3) return { h: 0, s: 0, v: 0, a: 1 }; return mE2({ r: Number(n3[1]) / (n3[2] ? 100 / 255 : 1), g: Number(n3[3]) / (n3[4] ? 100 / 255 : 1), b: Number(n3[5]) / (n3[6] ? 100 / 255 : 1), a: n3[7] === void 0 ? 1 : Number(n3[7]) / (n3[8] ? 100 : 1) }); }; const dE = null; @@ -30637,18 +30309,15 @@ Read more: ${P}#error-${t4}`; return { h: e3, s: n3, v: o3 }; }; const kE = (t4, e3) => { - if (t4 === e3) - return true; + if (t4 === e3) return true; for (const n3 in t4) { - if (t4[n3] !== e3[n3]) - return false; + if (t4[n3] !== e3[n3]) return false; } return true; }; const wE = (t4, e3) => t4.replace(/\s/g, "") === e3.replace(/\s/g, ""); const AE = (t4, e3) => { - if (t4.toLowerCase() === e3.toLowerCase()) - return true; + if (t4.toLowerCase() === e3.toLowerCase()) return true; return kE($x(t4), $x(e3)); }; const _E = {}; @@ -30667,10 +30336,8 @@ Read more: ${P}#error-${t4}`; let yE = false; const xE = (t4) => "touches" in t4; const EE = (t4) => { - if (yE && !xE(t4)) - return false; - if (!yE) - yE = xE(t4); + if (yE && !xE(t4)) return false; + if (!yE) yE = xE(t4); return true; }; const DE2 = (t4, e3) => { @@ -30680,8 +30347,7 @@ Read more: ${P}#error-${t4}`; }; const IE2 = (t4, e3) => { const n3 = e3.keyCode; - if (n3 > 40 || t4.xy && n3 < 37 || n3 < 33) - return; + if (n3 > 40 || t4.xy && n3 < 37 || n3 < 33) return; e3.preventDefault(); vE(t4.el, "move", t4.getMove({ x: n3 === 39 ? 0.01 : n3 === 37 ? -0.01 : n3 === 34 ? 0.05 : n3 === 33 ? -0.05 : n3 === 35 ? 1 : n3 === 36 ? -1 : 0, y: n3 === 40 ? 0.01 : n3 === 38 ? -0.01 : 0 }, true)); }; @@ -30707,8 +30373,7 @@ Read more: ${P}#error-${t4}`; case "mousedown": case "touchstart": t4.preventDefault(); - if (!EE(t4) || !yE && t4.button != 0) - return; + if (!EE(t4) || !yE && t4.button != 0) return; this.el.focus(); DE2(this, t4); this.dragging = true; @@ -30877,7 +30542,7 @@ Read more: ${P}#error-${t4}`; } render() { super.render(); - cy2("hex-color-picker", WE2); + cy("hex-color-picker", WE2); this.picker = oc2.document.createElement("hex-color-picker"); this.picker.setAttribute("class", "hex-color-picker"); this.picker.setAttribute("tabindex", "-1"); @@ -31342,7 +31007,7 @@ Read more: ${P}#error-${t4}`; } class uD { constructor(t4) { - this._components = new Map(); + this._components = /* @__PURE__ */ new Map(); this.editor = t4; } *names() { @@ -32189,7 +31854,7 @@ Read more: ${P}#error-${t4}`; } } ZD.defaultBalloonPositions = qD({ heightOffset: 5, sideOffset: 13 }); - ZD._editors = new Set(); + ZD._editors = /* @__PURE__ */ new Set(); ZD._instance = null; const JD = ZD; function XD(t4) { @@ -32413,7 +32078,7 @@ Read more: ${P}#error-${t4}`; constructor(t4) { super(); this.isReady = false; - this._editableElementsMap = new Map(); + this._editableElementsMap = /* @__PURE__ */ new Map(); this._focusableToolbarDefinitions = []; const e3 = t4.editing.view; this.editor = t4; @@ -32445,7 +32110,7 @@ Read more: ${P}#error-${t4}`; t4.ckeditorInstance = null; this.editor.keystrokes.stopListening(t4); } - this._editableElementsMap = new Map(); + this._editableElementsMap = /* @__PURE__ */ new Map(); this._focusableToolbarDefinitions = []; } setEditableElement(t4, e3) { @@ -32775,8 +32440,8 @@ Read more: ${P}#error-${t4}`; } constructor(t4) { super(t4); - this._viewToStack = new Map(); - this._idToStack = new Map(); + this._viewToStack = /* @__PURE__ */ new Map(); + this._idToStack = /* @__PURE__ */ new Map(); this._view = null; this._rotatorView = null; this._fakePanelsView = null; @@ -32823,7 +32488,7 @@ Read more: ${P}#error-${t4}`; } const e3 = t4.stackId || "main"; if (!this._idToStack.has(e3)) { - this._idToStack.set(e3, new Map([[t4.view, t4]])); + this._idToStack.set(e3, /* @__PURE__ */ new Map([[t4.view, t4]])); this._viewToStack.set(t4.view, this._idToStack.get(e3)); this._numberOfStacks = this._idToStack.size; if (!this._visibleStack || t4.singleViewMode) { @@ -34741,9 +34406,9 @@ ${o3}` : i3; return n3 > this._minimumNonErrorTimePeriod; } } - function sB(t4, e3 = new Set()) { + function sB(t4, e3 = /* @__PURE__ */ new Set()) { const n3 = [t4]; - const o3 = new Set(); + const o3 = /* @__PURE__ */ new Set(); let i3 = 0; while (n3.length > i3) { const t6 = n3[i3++]; @@ -34774,7 +34439,7 @@ ${o3}` : i3; const n3 = typeof t4; return !(n3 === "number" || n3 === "boolean" || n3 === "string" || n3 === "symbol" || n3 === "function" || e3 === "[object Date]" || e3 === "[object RegExp]" || e3 === "[object Module]" || t4 === void 0 || t4 === null || t4._watchdogExcluded || t4 instanceof EventTarget || t4 instanceof Event); } - function cB(t4, e3, n3 = new Set()) { + function cB(t4, e3, n3 = /* @__PURE__ */ new Set()) { if (t4 === e3 && dB(t4)) { return true; } @@ -35064,9 +34729,9 @@ ${o3}` : i3; class gB extends rB { constructor(t4, e3 = {}) { super(e3); - this._watchdogs = new Map(); + this._watchdogs = /* @__PURE__ */ new Map(); this._context = null; - this._contextProps = new Set(); + this._contextProps = /* @__PURE__ */ new Set(); this._actionQueues = new fB(); this._watchdogConfig = e3; this._creator = (e4) => t4.create(e4); @@ -35185,7 +34850,7 @@ ${o3}` : i3; this._stopErrorHandling(); const t4 = this._context; this._context = null; - this._contextProps = new Set(); + this._contextProps = /* @__PURE__ */ new Set(); return Promise.all(Array.from(this._watchdogs.values()).map((t6) => t6.destroy())).then(() => this._destructor(t4)); }); } @@ -35208,7 +34873,7 @@ ${o3}` : i3; class fB { constructor() { this._onEmptyCallbacks = []; - this._queues = new Map(); + this._queues = /* @__PURE__ */ new Map(); this._activeActions = 0; } onEmpty(t4) { @@ -35850,7 +35515,7 @@ ${o3}` : i3; constructor(t4) { super(t4); this._isNextGravityRestorationSkipped = false; - this.attributes = new Set(); + this.attributes = /* @__PURE__ */ new Set(); this._overrideUid = null; } init() { @@ -36208,7 +35873,7 @@ ${o3}` : i3; return iM(i3).filter(o3).map((t6) => typeof t6 == "string" && YB[t6] ? YB[t6] : t6).filter((t6) => typeof t6 === "object").map((t6) => ({ from: XB(t6.from), to: tM(t6.to) })); } function iM(t4) { - const e3 = new Set(); + const e3 = /* @__PURE__ */ new Set(); for (const n3 of t4) { if (typeof n3 == "string" && QB[n3]) { for (const t6 of QB[n3]) { @@ -36234,7 +35899,7 @@ ${o3}` : i3; } function aM(t4, e3, n3, o3) { const i3 = t4.editing.view; - const r3 = new Set(); + const r3 = /* @__PURE__ */ new Set(); i3.document.registerPostFixer((i4) => { const s3 = t4.model.document.selection; let a3 = false; @@ -37404,11 +37069,9 @@ ${o3}` : i3; } }; var zP = (t4) => { - if (!t4 || t4.length < 6) - throw new LP("The blurhash string must be at least 6 characters"); + if (!t4 || t4.length < 6) throw new LP("The blurhash string must be at least 6 characters"); let e3 = TP(t4[0]), n3 = Math.floor(e3 / 9) + 1, o3 = e3 % 9 + 1; - if (t4.length !== 4 + 2 * o3 * n3) - throw new LP(`blurhash length mismatch: length is ${t4.length} but it should be ${4 + 2 * o3 * n3}`); + if (t4.length !== 4 + 2 * o3 * n3) throw new LP(`blurhash length mismatch: length is ${t4.length} but it should be ${4 + 2 * o3 * n3}`); }, OP = (t4) => { try { zP(t4); @@ -37425,26 +37088,23 @@ ${o3}` : i3; }, FP = (t4, e3, n3, o3) => { zP(t4), o3 = o3 | 1; let i3 = TP(t4[0]), r3 = Math.floor(i3 / 9) + 1, s3 = i3 % 9 + 1, a3 = (TP(t4[1]) + 1) / 166, c3 = new Array(s3 * r3); - for (let e4 = 0; e4 < c3.length; e4++) - if (e4 === 0) { - let n4 = TP(t4.substring(2, 6)); - c3[e4] = RP(n4); - } else { - let n4 = TP(t4.substring(4 + e4 * 2, 6 + e4 * 2)); - c3[e4] = VP(n4, a3 * o3); - } + for (let e4 = 0; e4 < c3.length; e4++) if (e4 === 0) { + let n4 = TP(t4.substring(2, 6)); + c3[e4] = RP(n4); + } else { + let n4 = TP(t4.substring(4 + e4 * 2, 6 + e4 * 2)); + c3[e4] = VP(n4, a3 * o3); + } let l3 = e3 * 4, d3 = new Uint8ClampedArray(l3 * n3); - for (let t6 = 0; t6 < n3; t6++) - for (let o4 = 0; o4 < e3; o4++) { - let i4 = 0, a4 = 0, u3 = 0; - for (let l4 = 0; l4 < r3; l4++) - for (let r4 = 0; r4 < s3; r4++) { - let d4 = Math.cos(Math.PI * o4 * r4 / e3) * Math.cos(Math.PI * t6 * l4 / n3), h5 = c3[r4 + l4 * s3]; - i4 += h5[0] * d4, a4 += h5[1] * d4, u3 += h5[2] * d4; - } - let h4 = MP(i4), m3 = MP(a4), g3 = MP(u3); - d3[4 * o4 + 0 + t6 * l3] = h4, d3[4 * o4 + 1 + t6 * l3] = m3, d3[4 * o4 + 2 + t6 * l3] = g3, d3[4 * o4 + 3 + t6 * l3] = 255; + for (let t6 = 0; t6 < n3; t6++) for (let o4 = 0; o4 < e3; o4++) { + let i4 = 0, a4 = 0, u3 = 0; + for (let l4 = 0; l4 < r3; l4++) for (let r4 = 0; r4 < s3; r4++) { + let d4 = Math.cos(Math.PI * o4 * r4 / e3) * Math.cos(Math.PI * t6 * l4 / n3), h5 = c3[r4 + l4 * s3]; + i4 += h5[0] * d4, a4 += h5[1] * d4, u3 += h5[2] * d4; } + let h4 = MP(i4), m3 = MP(a4), g3 = MP(u3); + d3[4 * o4 + 0 + t6 * l3] = h4, d3[4 * o4 + 1 + t6 * l3] = m3, d3[4 * o4 + 2 + t6 * l3] = g3, d3[4 * o4 + 3 + t6 * l3] = 255; + } return d3; }, jP = FP; var HP = 4, UP = (t4, e3, n3, o3) => { @@ -37465,24 +37125,20 @@ ${o3}` : i3; let n3 = Math.floor(Math.max(0, Math.min(18, Math.floor(NP(t4[0] / e3, 0.5) * 9 + 9.5)))), o3 = Math.floor(Math.max(0, Math.min(18, Math.floor(NP(t4[1] / e3, 0.5) * 9 + 9.5)))), i3 = Math.floor(Math.max(0, Math.min(18, Math.floor(NP(t4[2] / e3, 0.5) * 9 + 9.5)))); return n3 * 19 * 19 + o3 * 19 + i3; }, GP = (t4, e3, n3, o3, i3) => { - if (o3 < 1 || o3 > 9 || i3 < 1 || i3 > 9) - throw new LP("BlurHash must have between 1 and 9 components"); - if (e3 * n3 * 4 !== t4.length) - throw new LP("Width and height must match the pixels array"); + if (o3 < 1 || o3 > 9 || i3 < 1 || i3 > 9) throw new LP("BlurHash must have between 1 and 9 components"); + if (e3 * n3 * 4 !== t4.length) throw new LP("Width and height must match the pixels array"); let r3 = []; - for (let s4 = 0; s4 < i3; s4++) - for (let i4 = 0; i4 < o3; i4++) { - let o4 = i4 == 0 && s4 == 0 ? 1 : 2, a4 = UP(t4, e3, n3, (t6, r4) => o4 * Math.cos(Math.PI * i4 * t6 / e3) * Math.cos(Math.PI * s4 * r4 / n3)); - r3.push(a4); - } + for (let s4 = 0; s4 < i3; s4++) for (let i4 = 0; i4 < o3; i4++) { + let o4 = i4 == 0 && s4 == 0 ? 1 : 2, a4 = UP(t4, e3, n3, (t6, r4) => o4 * Math.cos(Math.PI * i4 * t6 / e3) * Math.cos(Math.PI * s4 * r4 / n3)); + r3.push(a4); + } let s3 = r3[0], a3 = r3.slice(1), c3 = "", l3 = o3 - 1 + (i3 - 1) * 9; c3 += SP(l3, 1); let d3; if (a3.length > 0) { let t6 = Math.max(...a3.map((t7) => Math.max(...t7))), e4 = Math.floor(Math.max(0, Math.min(82, Math.floor(t6 * 166 - 0.5)))); d3 = (e4 + 1) / 166, c3 += SP(e4, 1); - } else - d3 = 1, c3 += SP(0, 1); + } else d3 = 1, c3 += SP(0, 1); return c3 += SP(WP(s3), 4), a3.forEach((t6) => { c3 += SP(qP(t6, d3), 2); }), c3; @@ -37594,7 +37250,7 @@ ${o3}` : i3; } function nN(t4) { const e3 = t4.name; - const n3 = /\.(?[^.]+)$/; + const n3 = new RegExp("\\.(?[^.]+)$"); const o3 = e3.match(n3); return o3.groups.ext.toLowerCase(); } @@ -37602,7 +37258,7 @@ ${o3}` : i3; class iN extends Id2 { constructor(t4) { super(t4); - this._chosenAssets = new Set(); + this._chosenAssets = /* @__PURE__ */ new Set(); this._wrapper = null; this._initListeners(); } @@ -37792,7 +37448,7 @@ ${o3}` : i3; constructor() { super(...arguments); this.loaders = new rd2(); - this._loadersMap = new Map(); + this._loadersMap = /* @__PURE__ */ new Map(); this._pendingAction = null; } static get pluginName() { @@ -38500,7 +38156,7 @@ ${o3}` : i3; constructor(t4) { super(t4); this._wrapper = null; - this._processInProgress = new Set(); + this._processInProgress = /* @__PURE__ */ new Set(); this.value = false; this._canEdit = TN(t4.config.get("ckbox.allowExternalImagesEditing")); this._prepareOptions = xt((t6, e3) => this._prepareOptionsAbortable(t6, e3)); @@ -38944,7 +38600,7 @@ ${o3}` : i3; constructor() { super(...arguments); this.token = null; - this._tokens = new Map(); + this._tokens = /* @__PURE__ */ new Map(); } static get pluginName() { return "CloudServices"; @@ -39838,7 +39494,7 @@ ${o3}` : i3; return Au2(t4) ? sz(Gu2(t4)) : cz(t4); } const dz = lz; - function uz2(t4) { + function uz(t4) { if (typeof t4 == "function") { return t4; } @@ -39850,7 +39506,7 @@ ${o3}` : i3; } return dz(t4); } - const hz = uz2; + const hz = uz; function mz(t4, e3) { var n3 = {}; e3 = hz(e3, 3); @@ -39863,7 +39519,7 @@ ${o3}` : i3; class fz extends Ed2 { constructor() { super(...arguments); - this._markersToCopy = new Map(); + this._markersToCopy = /* @__PURE__ */ new Map(); } static get pluginName() { return "ClipboardMarkersUtils"; @@ -40257,7 +39913,7 @@ ${o3}` : i3; } function Ez(t4, e3, n3) { if (e3.classes) { - n3.addClass(sl3(e3.classes), t4); + n3.addClass(sl2(e3.classes), t4); } if (e3.attributes) { for (const o3 in e3.attributes) { @@ -40267,7 +39923,7 @@ ${o3}` : i3; } function Dz(t4, e3, n3) { if (e3.classes) { - n3.removeClass(sl3(e3.classes), t4); + n3.removeClass(sl2(e3.classes), t4); } if (e3.attributes) { for (const o3 in e3.attributes) { @@ -40940,7 +40596,7 @@ ${o3}` : i3; class uO extends Ed2 { constructor() { super(...arguments); - this._previouslySelected = new Set(); + this._previouslySelected = /* @__PURE__ */ new Set(); } static get pluginName() { return "Widget"; @@ -41088,7 +40744,7 @@ ${o3}` : i3; const i3 = o3.schema; const r3 = o3.document.selection; const s3 = r3.getSelectedElement(); - const a3 = el3(n3, this.editor.locale.contentLanguageDirection); + const a3 = el2(n3, this.editor.locale.contentLanguageDirection); const c3 = a3 == "down" || a3 == "right"; const l3 = a3 == "up" || a3 == "down"; if (s3 && i3.isObject(s3)) { @@ -41273,7 +40929,7 @@ ${o3}` : i3; class pO extends Ed2 { constructor() { super(...arguments); - this._toolbarDefinitions = new Map(); + this._toolbarDefinitions = /* @__PURE__ */ new Map(); } static get requires() { return [KI]; @@ -41705,7 +41361,7 @@ ${o3}` : i3; class LO extends Ed2 { constructor() { super(...arguments); - this._resizers = new Map(); + this._resizers = /* @__PURE__ */ new Map(); } static get pluginName() { return "WidgetResize"; @@ -41845,7 +41501,7 @@ ${o3}` : i3; }, 0); this._dropTargetLineView = new OO(); this._domEmitter = new (Ja2())(); - this._scrollables = new Map(); + this._scrollables = /* @__PURE__ */ new Map(); } static get pluginName() { return "DragDropTarget"; @@ -42634,7 +42290,7 @@ ${o3}` : i3; constructor(t4) { super(t4); this._stack = []; - this._createdBatches = new WeakSet(); + this._createdBatches = /* @__PURE__ */ new WeakSet(); this.refresh(); this._isEnabledBasedOnSelection = false; this.listenTo(t4.data, "set", (t6, e3) => { @@ -42755,7 +42411,7 @@ ${o3}` : i3; class fR extends Ed2 { constructor() { super(...arguments); - this._batchRegistry = new WeakSet(); + this._batchRegistry = /* @__PURE__ */ new WeakSet(); } static get pluginName() { return "UndoEditing"; @@ -42950,7 +42606,7 @@ ${o3}` : i3; }, view: /.+/, converterPriority: "low" }); } } - CR.paragraphLikeElements = new Set(["blockquote", "dd", "div", "dt", "h1", "h2", "h3", "h4", "h5", "h6", "li", "p", "td", "th"]); + CR.paragraphLikeElements = /* @__PURE__ */ new Set(["blockquote", "dd", "div", "dt", "h1", "h2", "h3", "h4", "h5", "h6", "li", "p", "td", "th"]); const vR = CR; const yR = CC2.paragraph; class xR extends null { @@ -43194,11 +42850,11 @@ ${o3}` : i3; }); } } - const VR = new Set(["paragraph", "heading1", "heading2", "heading3", "heading4", "heading5", "heading6"]); + const VR = /* @__PURE__ */ new Set(["paragraph", "heading1", "heading2", "heading3", "heading4", "heading5", "heading6"]); class FR extends Ed2 { constructor() { super(...arguments); - this._bodyPlaceholder = new Map(); + this._bodyPlaceholder = /* @__PURE__ */ new Map(); } static get pluginName() { return "Title"; @@ -43251,7 +42907,7 @@ ${o3}` : i3; const l3 = a3.createDocumentFragment(); const d3 = o3.createPositionAfter(r3.getChild(0)); const u3 = o3.createRange(d3, o3.createPositionAt(r3, "end")); - const h4 = new Map(); + const h4 = /* @__PURE__ */ new Map(); for (const t6 of o3.markers) { const e4 = u3.getIntersection(t6.getRange()); if (e4) { @@ -43358,7 +43014,7 @@ ${o3}` : i3; r4.placeholder = i3; Hd2({ view: n3, element: r4, keepOnFocus: true }); }); - const s3 = new Map(); + const s3 = /* @__PURE__ */ new Map(); n3.document.registerPostFixer((t6) => { let e4 = false; for (const o4 of n3.document.roots) { @@ -43543,7 +43199,7 @@ ${o3}` : i3; } constructor(t4) { super(t4); - this._widgetButtonViewReferences = new Set(); + this._widgetButtonViewReferences = /* @__PURE__ */ new Set(); t4.config.define("htmlEmbed", { showPreviews: false, sanitizeHtml: (t6) => { L("html-embed-provide-sanitize-function"); return { html: t6, hasChanged: false }; @@ -43885,7 +43541,7 @@ ${o3}` : i3; let o3 = "attributes"; for (o3 in e3) { if (o3 == "classes") { - n3[o3] = Array.from(new Set([...t4[o3] || [], ...e3[o3]])); + n3[o3] = Array.from(/* @__PURE__ */ new Set([...t4[o3] || [], ...e3[o3]])); } else { n3[o3] = __spreadValues(__spreadValues({}, t4[o3]), e3[o3]); } @@ -44079,7 +43735,7 @@ ${o3}` : i3; this._extendDefinition(__spreadProps(__spreadValues({}, t4), { isInline: true })); } getDefinitionsForView(t4, e3 = false) { - const n3 = new Set(); + const n3 = /* @__PURE__ */ new Set(); for (const o3 of this._getMatchingViewDefinitions(t4)) { if (e3) { for (const t6 of this._getReferences(o3.model)) { @@ -44104,11 +43760,11 @@ ${o3}` : i3; continue; } for (const n4 of e3) { - for (const e4 of sl3(o3[n4] || [])) { + for (const e4 of sl2(o3[n4] || [])) { const n6 = this._definitions.filter((t6) => t6.model == e4); for (const o4 of n6) { if (e4 !== t4) { - yield* this._getReferences(o4.model); + yield* __yieldStar(this._getReferences(o4.model)); yield o4; } } @@ -44148,8 +43804,8 @@ ${o3}` : i3; this._dataSchema = t4.plugins.get("DataSchema"); this._allowedAttributes = new iu2(); this._disallowedAttributes = new iu2(); - this._allowedElements = new Set(); - this._disallowedElements = new Set(); + this._allowedElements = /* @__PURE__ */ new Set(); + this._disallowedElements = /* @__PURE__ */ new Set(); this._dataInitialized = false; this._coupledAttributes = null; this._registerElementsAfterInit(); @@ -44284,7 +43940,7 @@ ${o3}` : i3; return o3; }); this.listenTo(e3, "change:attribute", (n3, { attributeKeys: o3 }) => { - const i3 = new Set(); + const i3 = /* @__PURE__ */ new Set(); const r3 = this._getCoupledAttributesMap(); for (const t6 of o3) { if (e3.hasAttribute(t6)) { @@ -44336,7 +43992,7 @@ ${o3}` : i3; if (this._coupledAttributes) { return this._coupledAttributes; } - this._coupledAttributes = new Map(); + this._coupledAttributes = /* @__PURE__ */ new Map(); for (const t4 of this._allowedElements) { if (t4.coupledAttribute && t4.model) { const e3 = this._coupledAttributes.get(t4.coupledAttribute); @@ -45260,7 +44916,7 @@ ${o3}` : i3; o3.change((t6) => { for (const r3 of fH(o3, n3, i3)) { gj(t6, r3, i3, "classes", (t7) => { - for (const n4 of sl3(e3)) { + for (const n4 of sl2(e3)) { t7.add(n4); } }); @@ -45273,7 +44929,7 @@ ${o3}` : i3; o3.change((t6) => { for (const r3 of fH(o3, n3, i3)) { gj(t6, r3, i3, "classes", (t7) => { - for (const n4 of sl3(e3)) { + for (const n4 of sl2(e3)) { t7.delete(n4); } }); @@ -45299,7 +44955,7 @@ ${o3}` : i3; o3.change((t6) => { for (const r3 of fH(o3, n3, i3)) { gj(t6, r3, i3, "attributes", (t7) => { - for (const n4 of sl3(e3)) { + for (const n4 of sl2(e3)) { t7.delete(n4); } }); @@ -45325,7 +44981,7 @@ ${o3}` : i3; o3.change((t6) => { for (const r3 of fH(o3, n3, i3)) { gj(t6, r3, i3, "styles", (t7) => { - for (const n4 of sl3(e3)) { + for (const n4 of sl2(e3)) { t7.delete(n4); } }); @@ -45343,7 +44999,7 @@ ${o3}` : i3; } } else { for (const o3 of pH(t4, e3, n3)) { - yield* o3.getItems({ shallow: true }); + yield* __yieldStar(o3.getItems({ shallow: true })); } } } @@ -45364,7 +45020,7 @@ ${o3}` : i3; } init() { const t4 = this.editor; - const e3 = new Map(); + const e3 = /* @__PURE__ */ new Map(); t4.data.processor.skipComments = false; t4.model.schema.addAttributeCheck((t6, e4) => { if (t6.endsWith("$root") && e4.startsWith("$comment")) { @@ -46130,7 +45786,7 @@ ${o3}` : i3; if (!i3.consumable.test(r3, { name: true })) { return; } - const s3 = new Map(); + const s3 = /* @__PURE__ */ new Map(); for (const t6 of r3.getChildren()) { if (t6.is("element", "source")) { const n6 = {}; @@ -46283,7 +45939,7 @@ ${o3}` : i3; this.isEnabled = t4.isImageAllowed(); } execute(t4) { - const e3 = sl3(t4.source); + const e3 = sl2(t4.source); const n3 = this.editor.model.document.selection; const o3 = this.editor.plugins.get("ImageUtils"); const i3 = Object.fromEntries(n3.getAttributes()); @@ -46680,7 +46336,7 @@ ${o3}` : i3; } constructor(t4) { super(t4); - this._integrations = new Map(); + this._integrations = /* @__PURE__ */ new Map(); t4.config.define("image.insert.integrations", ["upload", "assetManager", "url"]); } init() { @@ -46975,7 +46631,7 @@ ${o3}` : i3; } constructor(t4) { super(t4); - this._savedCaptionsMap = new WeakMap(); + this._savedCaptionsMap = /* @__PURE__ */ new WeakMap(); } init() { const t4 = this.editor; @@ -47392,7 +47048,7 @@ ${o3}` : i3; this.isEnabled = e3.isImageAllowed() || e3.isImage(n3); } execute(t4) { - const e3 = sl3(t4.file); + const e3 = sl2(t4.file); const n3 = this.editor.model.document.selection; const o3 = this.editor.plugins.get("ImageUtils"); const i3 = Object.fromEntries(n3.getAttributes()); @@ -47427,7 +47083,7 @@ ${o3}` : i3; constructor(t4) { super(t4); t4.config.define("image", { upload: { types: ["jpeg", "png", "gif", "bmp", "webp", "tiff"] } }); - this._uploadImageElements = new Map(); + this._uploadImageElements = /* @__PURE__ */ new Map(); } init() { const t4 = this.editor; @@ -47482,7 +47138,7 @@ ${o3}` : i3; }); e3.on("change", () => { const n4 = e3.differ.getChanges({ includeChangesInGraveyard: true }).reverse(); - const i4 = new Set(); + const i4 = /* @__PURE__ */ new Set(); for (const e4 of n4) { if (e4.type == "insert" && e4.name != "$text") { const n6 = e4.position.nodeAfter; @@ -48305,10 +47961,10 @@ ${o3}` : i3; } } var rq = n(1644); - var sq2 = { injectType: "singletonStyleTag", attributes: { "data-cke": true } }; - sq2.insert = "head"; - sq2.singleton = true; - var aq = Ld2()(rq.A, sq2); + var sq = { injectType: "singletonStyleTag", attributes: { "data-cke": true } }; + sq.insert = "head"; + sq.singleton = true; + var aq = Ld2()(rq.A, sq); const cq = rq.A.locals || {}; class lq extends Ed2 { static get requires() { @@ -48685,7 +48341,7 @@ ${o3}` : i3; } class xq { constructor() { - this._definitions = new Set(); + this._definitions = /* @__PURE__ */ new Set(); } get length() { return this._definitions.size; @@ -50039,7 +49695,7 @@ ${o3}` : i3; this._referenceIndent = t4.getAttribute("listIndent"); this._isForward = e3.direction == "forward"; this._includeSelf = !!e3.includeSelf; - this._sameAttributes = sl3(e3.sameAttributes || []); + this._sameAttributes = sl2(e3.sameAttributes || []); this._sameIndent = !!e3.sameIndent; this._lowerIndent = !!e3.lowerIndent; this._higherIndent = !!e3.higherIndent; @@ -50070,7 +49726,7 @@ ${o3}` : i3; if (!this._sameIndent) { if (this._higherIndent) { if (t4.length) { - yield* t4; + yield* __yieldStar(t4); t4.length = 0; } break; @@ -50082,7 +49738,7 @@ ${o3}` : i3; } } if (t4.length) { - yield* t4; + yield* __yieldStar(t4); t4.length = 0; } yield e3; @@ -50165,9 +49821,9 @@ ${o3}` : i3; return false; } function QG(t4, e3 = {}) { - t4 = sl3(t4); + t4 = sl2(t4); const n3 = e3.withNested !== false; - const o3 = new Set(); + const o3 = /* @__PURE__ */ new Set(); for (const e4 of t4) { for (const t6 of WG(e4, { higherIndent: n3 })) { o3.add(t6); @@ -50176,8 +49832,8 @@ ${o3}` : i3; return r$(o3); } function ZG(t4) { - t4 = sl3(t4); - const e3 = new Set(); + t4 = sl2(t4); + const e3 = /* @__PURE__ */ new Set(); for (const n3 of t4) { for (const t6 of $G(n3)) { e3.add(t6); @@ -50207,7 +49863,7 @@ ${o3}` : i3; return i3; } function t$(t4, e3, { expand: n3, indentBy: o3 = 1 } = {}) { - t4 = sl3(t4); + t4 = sl2(t4); const i3 = n3 ? QG(t4) : t4; for (const t6 of i3) { const n4 = t6.getAttribute("listIndent") + o3; @@ -50220,11 +49876,11 @@ ${o3}` : i3; return i3; } function e$(t4, e3) { - t4 = sl3(t4); + t4 = sl2(t4); const n3 = QG(t4); - const o3 = new Set(); + const o3 = /* @__PURE__ */ new Set(); const i3 = Math.min(...n3.map((t6) => t6.getAttribute("listIndent"))); - const r3 = new Map(); + const r3 = /* @__PURE__ */ new Map(); for (const t6 of n3) { r3.set(t6, VG.first(t6, { lowerIndent: true })); } @@ -50252,7 +49908,7 @@ ${o3}` : i3; return r$(o3); } function n$(t4, e3) { - t4 = sl3(t4); + t4 = sl2(t4); for (const n3 of t4) { if (n3.is("element", "listItem")) { e3.rename(n3, "paragraph"); @@ -50711,7 +50367,7 @@ ${o3}` : i3; return r3; } function x$(t4, e3, n3) { - const o3 = new Set(); + const o3 = /* @__PURE__ */ new Set(); let i3 = false; for (const { node: r3 } of t4) { if (o3.has(r3)) { @@ -50791,8 +50447,8 @@ ${o3}` : i3; return () => { const o4 = t4.document.differ.getChanges(); const s4 = []; - const a3 = new Map(); - const c3 = new Set(); + const a3 = /* @__PURE__ */ new Map(); + const c3 = /* @__PURE__ */ new Set(); for (const t6 of o4) { if (t6.type == "insert" && t6.name != "$text") { v$(t6.position, a3); @@ -50831,7 +50487,7 @@ ${o3}` : i3; }; function i3(t6, e4) { const o4 = []; - const i4 = new Set(); + const i4 = /* @__PURE__ */ new Set(); const a3 = []; for (const { node: c3, previous: l3 } of FG(t6, "forward")) { if (i4.has(c3)) { @@ -51367,7 +51023,7 @@ ${o3}` : i3; } function Q$(t4, e3, n3, o3) { const i3 = t4.document.differ.getChanges(); - const r3 = new Map(); + const r3 = /* @__PURE__ */ new Map(); const s3 = o3.editor.config.get("list.multiBlock"); let a3 = false; for (const o4 of i3) { @@ -51409,7 +51065,7 @@ ${o3}` : i3; } } } - const c3 = new Set(); + const c3 = /* @__PURE__ */ new Set(); for (const t6 of r3.values()) { a3 = o3.fire("postFixer", { listNodes: new jG(t6), listHead: t6, writer: e3, seenIds: c3 }) || a3; } @@ -52456,7 +52112,7 @@ ${o3}` : i3; } function XK(t4, e3) { return (n3, o3) => { - const i3 = el3(o3.keyCode, e3.contentLanguageDirection); + const i3 = el2(o3.keyCode, e3.contentLanguageDirection); const r3 = t4.schema; const s3 = t4.document.selection; if (!s3.isCollapsed) { @@ -53070,7 +52726,7 @@ ${o3}` : i3; } function OY(t4, e3) { const n3 = t4.document.differ.getChanges(); - const o3 = new Map(); + const o3 = /* @__PURE__ */ new Map(); let i3 = false; for (const o4 of n3) { if (o4.type == "insert" && o4.name == "listItem") { @@ -54105,7 +53761,7 @@ ${o3}` : i3; e4.stop(); } }, { priority: "high" }); - const r3 = new Set(); + const r3 = /* @__PURE__ */ new Set(); this.listenTo(o3, "applyOperation", (t6, e4) => { const n4 = e4[0]; if (n4.type == "rename" && n4.oldName == "listItem") { @@ -54365,7 +54021,7 @@ ${o3}` : i3; t4 = t4.trim(); for (const e3 of this.providerDefinitions) { const n3 = e3.html; - const o3 = sl3(e3.url); + const o3 = sl2(e3.url); for (const e4 of o3) { const o4 = this._getUrlMatches(t4, e4); if (o4) { @@ -54900,7 +54556,7 @@ ${o3}` : i3; function bZ(t4, e3) { const n3 = e3.createRangeIn(t4); const o3 = []; - const i3 = new Set(); + const i3 = /* @__PURE__ */ new Set(); for (const t6 of n3.getItems()) { if (!t6.is("element") || !t6.name.match(/^(p|h\d+|li|div)$/)) { continue; @@ -55646,12 +55302,12 @@ ${o3}` : i3; this._startColumn = e3.column !== void 0 ? e3.column : e3.startColumn || 0; this._endColumn = e3.column !== void 0 ? e3.column : e3.endColumn; this._includeAllSlots = !!e3.includeAllSlots; - this._skipRows = new Set(); + this._skipRows = /* @__PURE__ */ new Set(); this._row = 0; this._rowIndex = 0; this._column = 0; this._cellIndex = 0; - this._spannedCells = new Map(); + this._spannedCells = /* @__PURE__ */ new Map(); this._nextCellAtColumn = -1; } [Symbol.iterator]() { @@ -55745,7 +55401,7 @@ ${o3}` : i3; } _markSpannedCell(t4, e3, n3) { if (!this._spannedCells.has(t4)) { - this._spannedCells.set(t4, new Map()); + this._spannedCells.set(t4, /* @__PURE__ */ new Map()); } const o3 = this._spannedCells.get(t4); o3.set(e3, n3); @@ -56429,7 +56085,7 @@ ${o3}` : i3; const iX = 40; const rX = 2; function sX(t4) { - const e3 = new Set(); + const e3 = /* @__PURE__ */ new Set(); for (const n3 of t4.document.differ.getChanges()) { let o3 = null; switch (n3.type) { @@ -56912,8 +56568,8 @@ ${o3}` : i3; if (t4.length < 2 || !this._areCellInTheSameTableSection(t4)) { return false; } - const e3 = new Set(); - const n3 = new Set(); + const e3 = /* @__PURE__ */ new Set(); + const n3 = /* @__PURE__ */ new Set(); let o3 = 0; for (const i4 of t4) { const { row: t6, column: r3 } = this.getCellLocation(i4); @@ -56993,7 +56649,7 @@ ${o3}` : i3; } } function SX(t4, { first: e3, last: n3 }) { - const o3 = new Map(); + const o3 = /* @__PURE__ */ new Map(); const i3 = []; for (const { row: r3, column: s3, cellHeight: a3, cell: c3 } of new wJ(t4, { endRow: n3 })) { const t6 = r3 + a3 - 1; @@ -57164,7 +56820,7 @@ ${o3}` : i3; function HX(t4, e3) { const n3 = e3.document.differ.getChanges(); let o3 = false; - const i3 = new Set(); + const i3 = /* @__PURE__ */ new Set(); for (const e4 of n3) { let n4 = null; if (e4.type == "insert" && e4.name == "table") { @@ -57351,7 +57007,7 @@ ${o3}` : i3; } function e0(t4, e3) { const n3 = t4.document.differ; - const o3 = new Set(); + const o3 = /* @__PURE__ */ new Set(); for (const t6 of n3.getChanges()) { const e4 = t6.type == "attribute" ? t6.range.start.parent : t6.position.parent; if (e4.is("element", "tableCell")) { @@ -57742,7 +57398,7 @@ ${o3}` : i3; } _defineSelectionConverter() { const t4 = this.editor; - const e3 = new Set(); + const e3 = /* @__PURE__ */ new Set(); t4.conversion.for("editingDowncast").add((t6) => t6.on("selection", (t7, o3, i3) => { const r3 = i3.writer; n3(r3); @@ -58148,7 +57804,7 @@ ${o3}` : i3; _onArrowKey(t4, e3) { const n3 = this.editor; const o3 = e3.keyCode; - const i3 = el3(o3, n3.locale.contentLanguageDirection); + const i3 = el2(o3, n3.locale.contentLanguageDirection); const r3 = this._handleArrowKeys(i3, e3.shiftKey); if (r3) { e3.preventDefault(); @@ -60079,7 +59735,7 @@ ${o3}` : i3; } constructor(t4) { super(t4); - this._savedCaptionsMap = new WeakMap(); + this._savedCaptionsMap = /* @__PURE__ */ new WeakMap(); } init() { const t4 = this.editor; @@ -60332,7 +59988,7 @@ ${o3}` : i3; return s3.map((t7) => t7 + "%"); } function o3(t6, e4) { - const n4 = new Set(); + const n4 = /* @__PURE__ */ new Set(); for (const o4 of t6.getChanges()) { if (o4.type == "insert" && o4.position.nodeAfter && o4.position.nodeAfter.name == "tableCell" && o4.position.nodeAfter.getAncestors().includes(e4)) { n4.add(o4.position.nodeAfter); @@ -60564,8 +60220,8 @@ ${o3}` : i3; }); // static/js/index.ts - var js_exports = {}; - __export(js_exports, { + var index_exports = {}; + __export(index_exports, { HedySelect: () => HedySelect, InitLineChart: () => InitLineChart, addCurlyBracesToCode: () => addCurlyBracesToCode, @@ -60621,7 +60277,6 @@ ${o3}` : i3; initializeHighlightedCodeBlocks: () => initializeHighlightedCodeBlocks, initializeLoginLinks: () => initializeLoginLinks, initializeTeacherPage: () => initializeTeacherPage, - initializeTutorial: () => initializeTutorial, initializeViewProgramPage: () => initializeViewProgramPage, invite_student: () => invite_student, invite_support_teacher: () => invite_support_teacher, @@ -60657,9 +60312,6 @@ ${o3}` : i3; show_editor: () => show_editor, sleep: () => sleep17, startDebug: () => startDebug, - startIntroTutorial: () => startIntroTutorial, - startLevelTutorial: () => startLevelTutorial, - startTeacherTutorial: () => startTeacherTutorial, stopDebug: () => stopDebug, stopit: () => stopit, store_parsons_attempt: () => store_parsons_attempt, @@ -60667,7 +60319,7 @@ ${o3}` : i3; subscribe_to_newsletter: () => subscribe_to_newsletter, success: () => success, theGlobalDebugger: () => theGlobalDebugger, - theGlobalEditor: () => theGlobalEditor, + theGlobalEditor: () => theGlobalEditor2, theGlobalSourcemap: () => theGlobalSourcemap, theKeywordLanguage: () => theKeywordLanguage, theLanguage: () => theLanguage2, @@ -60733,6 +60385,46 @@ ${o3}` : i3; "turtle": "\u{1F422}", "unsaved_class_changes": "There are unsaved changes, are you sure you want to leave this page?" }, + "be": { + "CheckInternet": "Check whether your Internet connection is working.", + "Connection_error": "We couldn't reach the server.", + "Empty_output": "This code works but does not print anything. Add a print command to your code or use the turtle to get output.", + "Errors_found": "You made a mistake! Don't worry, we still ran the program", + "Execute_error": "Something went wrong.", + "Other_error": "Oops! Maybe we made a little mistake.", + "Program_repair": "This could be the correct code, can you fix it?", + "Program_too_long": "Your program takes too long to run.", + "ServerError": "You can help us out by sending an email with the level and your program to hello@hedy.org. In the meantime, try something a little different. Thanks!", + "Transpile_error": "We can't run your program.", + "Transpile_success": "Good job!\nAmazing!\nWell done!\nExcellent!\nYou did great!", + "Transpile_warning": "Warning!", + "Unsaved_Changes": "You have an unsaved program. Do you want to leave without saving it?", + "adventures_completed": "Adventures completed: {number_of_adventures}", + "adventures_restored": "The default adventures have been restored.", + "adventures_tried": "Adventures tried", + "copy_link_to_share": "Copy link to share", + "customization_deleted": "Customizations successfully deleted.", + "dice": "\u{1F3B2}", + "directly_available": "Directly open", + "disabled": "Disabled", + "errors": "Errors", + "fortune": "\u{1F52E}, \u2728", + "graph_title": "Errors per adventure completed on level {level}", + "haunted": "\u{1F987}, \u{1F47B}, \u{1F383}", + "level_title": "Level", + "multiple_keywords_warning": "You are trying to use the keyword {orig_keyword}, but this keyword might have several meanings. Please choose the one you're trying to use from this list and copy paste it in your code, curly braces included: {keyword_list}", + "number_of_errors": "Number of errors: {number_of_errors}", + "one_level_error": "You need to select at least one level.", + "restaurant": "\u{1F363}, \u{1F355}, \u{1F354}", + "rock": "\u2702\uFE0F, \u{1F4DC}, \u{1F5FB}", + "select_all": "Select all", + "selected": "Selected", + "songs": "\u{1F3B5},\u{1F3B6}", + "successful_runs": "Successful runs: {successful_runs}", + "teacher_welcome": "Welcome to Hedy! Your are now the proud owner of a teachers account which allows you to create classes and invite students.", + "turtle": "\u{1F422}", + "unsaved_class_changes": "There are unsaved changes, are you sure you want to leave this page?" + }, "bg": { "CheckInternet": "\u041F\u0440\u043E\u0432\u0435\u0440\u0438 \u0434\u0430\u043B\u0438 \u0438\u043C\u0430\u0448 \u0432\u0440\u044A\u0437\u043A\u0430 \u0441 \u0438\u043D\u0442\u0435\u0440\u043D\u0435\u0442.", "Connection_error": "\u0418\u0437\u0433\u0443\u0431\u0438\u0445\u043C\u0435 \u0432\u0440\u044A\u0437\u043A\u0430 \u0441\u044A\u0441 \u0441\u044A\u0440\u0432\u044A\u0440\u0430.", @@ -61734,15 +61426,15 @@ ${o3}` : i3; "unsaved_class_changes": "Ada perubahan yang belum disimpan, yakin ingin meninggalkan halaman ini?" }, "it": { - "CheckInternet": "Dai un'occhiata se la tua connessione Internet funziona correttamente.", + "CheckInternet": "Controlla se la connessione a Internet funzioni correttamente.", "Connection_error": "Non siamo riuscito a contattare il server.", "Empty_output": "Questo codice funziona ma non stampa nulla. Aggiungi un comando print al tuo codice o usa la tartaruga per ottenere l'output.", "Errors_found": "Hai fatto un errore! Non preoccuparti, abbiamo comunque eseguito il programma", - "Execute_error": "Qualcosa \xE8 andato storto nell'esecuzione del tuo codice.", + "Execute_error": "Qualcosa \xE8 andato storto.", "Other_error": "Ops! Forse abbiamo fatto un errore.", "Program_repair": "Questo potrebbe essere il codice corretto, puoi risolverlo?", "Program_too_long": "Il tuo programma impiega troppo tempo per essere eseguito.", - "ServerError": "You can help us out by sending an email with the level and your program to hello@hedy.org. In the meantime, try something a little different. Thanks!", + "ServerError": "Puoi aiutarci inviandoci un'email con il livello e il tuo programma a hello@hedy.org. Nel frattempo, prova qualcosa di diverso. Grazie!", "Transpile_error": "Non possiamo eseguire il tuo programma.", "Transpile_success": "Ottimo lavoro!\nFantastico!\nBen fatto!\nEccellente!\nSei stato bravissimo!", "Transpile_warning": "Attenzione!", @@ -62173,6 +61865,46 @@ ${o3}` : i3; "turtle": "\u{1F422}", "unsaved_class_changes": "There are unsaved changes, are you sure you want to leave this page?" }, + "my": { + "CheckInternet": "Check whether your Internet connection is working.", + "Connection_error": "We couldn't reach the server.", + "Empty_output": "This code works but does not print anything. Add a print command to your code or use the turtle to get output.", + "Errors_found": "You made a mistake! Don't worry, we still ran the program", + "Execute_error": "Something went wrong.", + "Other_error": "Oops! Maybe we made a little mistake.", + "Program_repair": "This could be the correct code, can you fix it?", + "Program_too_long": "Your program takes too long to run.", + "ServerError": "You can help us out by sending an email with the level and your program to hello@hedy.org. In the meantime, try something a little different. Thanks!", + "Transpile_error": "We can't run your program.", + "Transpile_success": "Good job!\nAmazing!\nWell done!\nExcellent!\nYou did great!", + "Transpile_warning": "Warning!", + "Unsaved_Changes": "You have an unsaved program. Do you want to leave without saving it?", + "adventures_completed": "Adventures completed: {number_of_adventures}", + "adventures_restored": "The default adventures have been restored.", + "adventures_tried": "Adventures tried", + "copy_link_to_share": "Copy link to share", + "customization_deleted": "Customizations successfully deleted.", + "dice": "\u{1F3B2}", + "directly_available": "Directly open", + "disabled": "Disabled", + "errors": "Errors", + "fortune": "\u{1F52E}, \u2728", + "graph_title": "Errors per adventure completed on level {level}", + "haunted": "\u{1F987}, \u{1F47B}, \u{1F383}", + "level_title": "Level", + "multiple_keywords_warning": "You are trying to use the keyword {orig_keyword}, but this keyword might have several meanings. Please choose the one you're trying to use from this list and copy paste it in your code, curly braces included: {keyword_list}", + "number_of_errors": "Number of errors: {number_of_errors}", + "one_level_error": "You need to select at least one level.", + "restaurant": "\u{1F363}, \u{1F355}, \u{1F354}", + "rock": "\u2702\uFE0F, \u{1F4DC}, \u{1F5FB}", + "select_all": "Select all", + "selected": "Selected", + "songs": "\u{1F3B5},\u{1F3B6}", + "successful_runs": "Successful runs: {successful_runs}", + "teacher_welcome": "Welcome to Hedy! Your are now the proud owner of a teachers account which allows you to create classes and invite students.", + "turtle": "\u{1F422}", + "unsaved_class_changes": "There are unsaved changes, are you sure you want to leave this page?" + }, "ne": { "CheckInternet": "Check whether your Internet connection is working.", "Connection_error": "We couldn't reach the server.", @@ -63331,12 +63063,21 @@ ${o3}` : i3; hide_alert() { $("#modal_alert").fadeOut(500); } + /** + * Display a temporary success popup + */ notifySuccess(message, timeoutMs = 3e3) { return this.alert(message, timeoutMs); } + /** + * Display a temporary error popup + */ notifyError(message, timeoutMs = 5e3) { return this.alert(message, timeoutMs, true); } + /** + * Display a temporary popup + */ alert(message, timeoutMs, error2) { $("#modal_alert_container").toggleClass("bg-red-100 border-red-400 text-red-700", !!error2); $("#modal_alert_container").toggleClass("bg-green-100 border-green-400 text-green-700", !error2); @@ -63348,8 +63089,7 @@ ${o3}` : i3; clearTimeout(this._alert_timeout); this._alert_timeout = void 0; } - if (timeoutMs) - this._alert_timeout = setTimeout(() => this.hide_alert(), timeoutMs); + if (timeoutMs) this._alert_timeout = setTimeout(() => this.hide_alert(), timeoutMs); } copy_alert(message, timeoutMs, title = "") { this.hide(); @@ -63367,8 +63107,7 @@ ${o3}` : i3; clearTimeout(this._timeout); this._timeout = void 0; } - if (timeoutMs) - this._timeout = setTimeout(() => this.hide(), timeoutMs); + if (timeoutMs) this._timeout = setTimeout(() => this.hide(), timeoutMs); } preview(content2, title) { this.hide(); @@ -63395,18 +63134,20 @@ ${o3}` : i3; $("#modal_repair_text").html(message); this.show(); $("#modal_repair").show(); - if (timeoutMs) - setTimeout(() => this.hide(), timeoutMs); + if (timeoutMs) setTimeout(() => this.hide(), timeoutMs); if (this._timeout) { clearTimeout(this._timeout); this._timeout = void 0; } - if (timeoutMs) - this._timeout = setTimeout(() => this.hide(), timeoutMs); + if (timeoutMs) this._timeout = setTimeout(() => this.hide(), timeoutMs); } + /** + * modal.confirm as a promise + */ confirmP(message) { return new Promise((ok) => this.confirm(message, ok)); } + // The declineCb is optional, mainly for relic code support: add if needed otherwise leave empty on call confirm(message, confirmCb, declineCb = function() { }) { this.hide(); @@ -63431,8 +63172,7 @@ ${o3}` : i3; $("#modal_prompt_text").text(message); this.show(); $("#modal_prompt").show(); - if (defaultValue) - $("#modal_prompt_input").val(defaultValue); + if (defaultValue) $("#modal_prompt_input").val(defaultValue); if (this._timeout) { clearTimeout(this._timeout); this._timeout = void 0; @@ -63499,13 +63239,13 @@ ${o3}` : i3; } // static/js/app.ts - var import_jszip = __toModule(require_jszip_min()); + var import_jszip = __toESM(require_jszip_min()); // node_modules/tone/build/esm/version.js var version = "14.7.77"; // node_modules/standardized-audio-context/build/es2019/module.js - var import_automation_events2 = __toModule(require_bundle()); + var import_automation_events2 = __toESM(require_bundle()); // node_modules/standardized-audio-context/build/es2019/factories/abort-error.js var createAbortError = () => new DOMException("", "AbortError"); @@ -63522,12 +63262,12 @@ ${o3}` : i3; return (audioNode, audioNodeRenderer, nativeAudioNode) => { const activeInputs = []; for (let i = 0; i < nativeAudioNode.numberOfInputs; i += 1) { - activeInputs.push(new Set()); + activeInputs.push(/* @__PURE__ */ new Set()); } audioNodeConnectionsStore.set(audioNode, { activeInputs, - outputs: new Set(), - passiveInputs: new WeakMap(), + outputs: /* @__PURE__ */ new Set(), + passiveInputs: /* @__PURE__ */ new WeakMap(), renderer: audioNodeRenderer }); }; @@ -63536,21 +63276,21 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/add-audio-param-connections.js var createAddAudioParamConnections = (audioParamConnectionsStore) => { return (audioParam, audioParamRenderer) => { - audioParamConnectionsStore.set(audioParam, { activeInputs: new Set(), passiveInputs: new WeakMap(), renderer: audioParamRenderer }); + audioParamConnectionsStore.set(audioParam, { activeInputs: /* @__PURE__ */ new Set(), passiveInputs: /* @__PURE__ */ new WeakMap(), renderer: audioParamRenderer }); }; }; // node_modules/standardized-audio-context/build/es2019/globals.js - var ACTIVE_AUDIO_NODE_STORE = new WeakSet(); - var AUDIO_NODE_CONNECTIONS_STORE = new WeakMap(); - var AUDIO_NODE_STORE = new WeakMap(); - var AUDIO_PARAM_CONNECTIONS_STORE = new WeakMap(); - var AUDIO_PARAM_STORE = new WeakMap(); - var CONTEXT_STORE = new WeakMap(); - var EVENT_LISTENERS = new WeakMap(); - var CYCLE_COUNTERS = new WeakMap(); - var NODE_NAME_TO_PROCESSOR_CONSTRUCTOR_MAPS = new WeakMap(); - var NODE_TO_PROCESSOR_MAPS = new WeakMap(); + var ACTIVE_AUDIO_NODE_STORE = /* @__PURE__ */ new WeakSet(); + var AUDIO_NODE_CONNECTIONS_STORE = /* @__PURE__ */ new WeakMap(); + var AUDIO_NODE_STORE = /* @__PURE__ */ new WeakMap(); + var AUDIO_PARAM_CONNECTIONS_STORE = /* @__PURE__ */ new WeakMap(); + var AUDIO_PARAM_STORE = /* @__PURE__ */ new WeakMap(); + var CONTEXT_STORE = /* @__PURE__ */ new WeakMap(); + var EVENT_LISTENERS = /* @__PURE__ */ new WeakMap(); + var CYCLE_COUNTERS = /* @__PURE__ */ new WeakMap(); + var NODE_NAME_TO_PROCESSOR_CONSTRUCTOR_MAPS = /* @__PURE__ */ new WeakMap(); + var NODE_TO_PROCESSOR_MAPS = /* @__PURE__ */ new WeakMap(); // node_modules/standardized-audio-context/build/es2019/helpers/is-constructible.js var handler = { @@ -63639,7 +63379,7 @@ ${o3}` : i3; } else { verifyProcessorCtor(processorCtor); verifyParameterDescriptors(processorCtor.parameterDescriptors); - NODE_NAME_TO_PROCESSOR_CONSTRUCTOR_MAPS.set(nativeContext, new Map([[name2, processorCtor]])); + NODE_NAME_TO_PROCESSOR_CONSTRUCTOR_MAPS.set(nativeContext, /* @__PURE__ */ new Map([[name2, processorCtor]])); } }, nativeContext.sampleRate, void 0, void 0)); }) : Promise.all([ @@ -63674,14 +63414,14 @@ ${o3}` : i3; }).finally(() => URL.revokeObjectURL(url)); }); if (ongoingRequestsOfContext === void 0) { - ongoingRequests.set(context2, new Map([[moduleURL, promise]])); + ongoingRequests.set(context2, /* @__PURE__ */ new Map([[moduleURL, promise]])); } else { ongoingRequestsOfContext.set(moduleURL, promise); } promise.then(() => { const updatedResolvedRequestsOfContext = resolvedRequests.get(context2); if (updatedResolvedRequestsOfContext === void 0) { - resolvedRequests.set(context2, new Set([moduleURL])); + resolvedRequests.set(context2, /* @__PURE__ */ new Set([moduleURL])); } else { updatedResolvedRequestsOfContext.add(moduleURL); } @@ -63765,7 +63505,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/add-connection-to-audio-node.js var createAddConnectionToAudioNode = (addActiveInputConnectionToAudioNode2, addPassiveInputConnectionToAudioNode2, connectNativeAudioNodeToNativeAudioNode2, deleteActiveInputConnectionToAudioNode2, disconnectNativeAudioNodeFromNativeAudioNode2, getAudioNodeConnections2, getAudioNodeTailTime2, getEventListenersOfAudioNode2, getNativeAudioNode2, insertElementInSet2, isActiveAudioNode2, isPartOfACycle2, isPassiveAudioNode2) => { - const tailTimeTimeoutIds = new WeakMap(); + const tailTimeTimeoutIds = /* @__PURE__ */ new WeakMap(); return (source, destination, output, input2, isOffline) => { const { activeInputs, passiveInputs } = getAudioNodeConnections2(destination); const { outputs } = getAudioNodeConnections2(source); @@ -63824,7 +63564,7 @@ ${o3}` : i3; return (passiveInputs, input2, [source, output, eventListener], ignoreDuplicates) => { const passiveInputConnections = passiveInputs.get(source); if (passiveInputConnections === void 0) { - passiveInputs.set(source, new Set([[output, input2, eventListener]])); + passiveInputs.set(source, /* @__PURE__ */ new Set([[output, input2, eventListener]])); } else { insertElementInSet2(passiveInputConnections, [output, input2, eventListener], (passiveInputConnection) => passiveInputConnection[0] === output && passiveInputConnection[1] === input2, ignoreDuplicates); } @@ -63937,7 +63677,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/analyser-node-renderer-factory.js var createAnalyserNodeRendererFactory = (createNativeAnalyserNode2, getNativeAudioNode2, renderInputsOfAudioNode2) => { return () => { - const renderedNativeAnalyserNodes = new WeakMap(); + const renderedNativeAnalyserNodes = /* @__PURE__ */ new WeakMap(); const createAnalyserNode = async (proxy, nativeOfflineAudioContext) => { let nativeAnalyserNode = getNativeAudioNode2(proxy); const nativeAnalyserNodeIsOwnedByContext = isOwnedByContext(nativeAnalyserNode, nativeOfflineAudioContext); @@ -63984,7 +63724,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-buffer-get-channel-data-method.js var wrapAudioBufferGetChannelDataMethod = (audioBuffer) => { - audioBuffer.getChannelData = ((getChannelData) => { + audioBuffer.getChannelData = /* @__PURE__ */ ((getChannelData) => { return (channel) => { try { return getChannelData.call(audioBuffer, channel); @@ -64045,6 +63785,7 @@ ${o3}` : i3; channelCount: 2, channelCountMode: "max", channelInterpretation: "speakers", + // Bug #149: Safari does not yet support the detune AudioParam. loop: false, loopEnd: 0, loopStart: 0, @@ -64139,7 +63880,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/audio-buffer-source-node-renderer-factory.js var createAudioBufferSourceNodeRendererFactory = (connectAudioParam2, createNativeAudioBufferSourceNode2, getNativeAudioNode2, renderAutomation2, renderInputsOfAudioNode2) => { return () => { - const renderedNativeAudioBufferSourceNodes = new WeakMap(); + const renderedNativeAudioBufferSourceNodes = /* @__PURE__ */ new WeakMap(); let start2 = null; let stop = null; const createAudioBufferSourceNode = async (proxy, nativeOfflineAudioContext) => { @@ -64151,6 +63892,7 @@ ${o3}` : i3; channelCount: nativeAudioBufferSourceNode.channelCount, channelCountMode: nativeAudioBufferSourceNode.channelCountMode, channelInterpretation: nativeAudioBufferSourceNode.channelInterpretation, + // Bug #149: Safari does not yet support the detune AudioParam. loop: nativeAudioBufferSourceNode.loop, loopEnd: nativeAudioBufferSourceNode.loopEnd, loopStart: nativeAudioBufferSourceNode.loopStart, @@ -64240,6 +63982,7 @@ ${o3}` : i3; } })); const audioParams = isAudioBufferSourceNode(audioNode) ? [ + // Bug #149: Safari does not yet support the detune AudioParam. audioNode.playbackRate ] : isAudioWorkletNode(audioNode) ? Array.from(audioNode.parameters.values()) : isBiquadFilterNode(audioNode) ? [audioNode.Q, audioNode.detune, audioNode.frequency, audioNode.gain] : isConstantSourceNode(audioNode) ? [audioNode.offset] : isGainNode(audioNode) ? [audioNode.gain] : isOscillatorNode(audioNode) ? [audioNode.detune, audioNode.frequency] : isStereoPannerNode(audioNode) ? [audioNode.pan] : []; for (const audioParam of audioParams) { @@ -64291,7 +64034,13 @@ ${o3}` : i3; super(nativeAudioContext, 2); const { latencyHint } = options; const { sampleRate } = nativeAudioContext; - this._baseLatency = typeof nativeAudioContext.baseLatency === "number" ? nativeAudioContext.baseLatency : latencyHint === "balanced" ? 512 / sampleRate : latencyHint === "interactive" || latencyHint === void 0 ? 256 / sampleRate : latencyHint === "playback" ? 1024 / sampleRate : Math.max(2, Math.min(128, Math.round(latencyHint * sampleRate / 128))) * 128 / sampleRate; + this._baseLatency = typeof nativeAudioContext.baseLatency === "number" ? nativeAudioContext.baseLatency : latencyHint === "balanced" ? 512 / sampleRate : latencyHint === "interactive" || latencyHint === void 0 ? 256 / sampleRate : latencyHint === "playback" ? 1024 / sampleRate : ( + /* + * @todo The min (256) and max (16384) values are taken from the allowed bufferSize values of a + * ScriptProcessorNode. + */ + Math.max(2, Math.min(128, Math.round(latencyHint * sampleRate / 128))) * 128 / sampleRate + ); this._nativeAudioContext = nativeAudioContext; if (nativeAudioContextConstructor2.name === "webkitAudioContext") { this._nativeGainNode = nativeAudioContext.createGain(); @@ -64424,7 +64173,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/audio-destination-node-renderer-factory.js var createAudioDestinationNodeRenderer = (renderInputsOfAudioNode2) => { - const renderedNativeAudioDestinationNodes = new WeakMap(); + const renderedNativeAudioDestinationNodes = /* @__PURE__ */ new WeakMap(); const createAudioDestinationNode = async (proxy, nativeOfflineAudioContext) => { const nativeAudioDestinationNode = nativeOfflineAudioContext.destination; renderedNativeAudioDestinationNodes.set(nativeOfflineAudioContext, nativeAudioDestinationNode); @@ -64693,7 +64442,7 @@ ${o3}` : i3; var addPassiveInputConnectionToAudioParam = (passiveInputs, [source, output, eventListener], ignoreDuplicates) => { const passiveInputConnections = passiveInputs.get(source); if (passiveInputConnections === void 0) { - passiveInputs.set(source, new Set([[output, eventListener]])); + passiveInputs.set(source, /* @__PURE__ */ new Set([[output, eventListener]])); } else { insertElementInSet(passiveInputConnections, [output, eventListener], (passiveInputConnection) => passiveInputConnection[0] === output, ignoreDuplicates); } @@ -64815,7 +64564,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/helpers/visit-each-audio-node-once.js var visitEachAudioNodeOnce = (cycles, visitor) => { - const counts = new Map(); + const counts = /* @__PURE__ */ new Map(); for (const cycle of cycles) { for (const audioNode of cycle) { const count = counts.get(audioNode); @@ -64832,8 +64581,8 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-node-disconnect-method.js var wrapAudioNodeDisconnectMethod = (nativeAudioNode) => { - const connections = new Map(); - nativeAudioNode.connect = ((connect2) => { + const connections = /* @__PURE__ */ new Map(); + nativeAudioNode.connect = /* @__PURE__ */ ((connect2) => { return (destination, output = 0, input2 = 0) => { const returnValue = isNativeAudioNode(destination) ? connect2(destination, output, input2) : connect2(destination, output); const connectionsToDestination = connections.get(destination); @@ -64847,7 +64596,7 @@ ${o3}` : i3; return returnValue; }; })(nativeAudioNode.connect.bind(nativeAudioNode)); - nativeAudioNode.disconnect = ((disconnect2) => { + nativeAudioNode.disconnect = /* @__PURE__ */ ((disconnect2) => { return (destinationOrOutput, output, input2) => { disconnect2.apply(nativeAudioNode); if (destinationOrOutput === void 0) { @@ -65011,13 +64760,13 @@ ${o3}` : i3; this._context = context2; this._nativeAudioNode = nativeAudioNode; const nativeContext = getNativeContext2(context2); - if (isNativeAudioContext2(nativeContext) && cacheTestResult2(testAudioNodeDisconnectMethodSupport, () => { + if (isNativeAudioContext2(nativeContext) && true !== cacheTestResult2(testAudioNodeDisconnectMethodSupport, () => { return testAudioNodeDisconnectMethodSupport(nativeContext, nativeAudioWorkletNodeConstructor2); - }) !== true) { + })) { wrapAudioNodeDisconnectMethod(nativeAudioNode); } AUDIO_NODE_STORE.set(this, nativeAudioNode); - EVENT_LISTENERS.set(this, new Set()); + EVENT_LISTENERS.set(this, /* @__PURE__ */ new Set()); if (context2.state !== "closed" && isActive) { setInternalStateToActive(this); } @@ -65050,6 +64799,7 @@ ${o3}` : i3; get numberOfOutputs() { return this._nativeAudioNode.numberOfOutputs; } + // tslint:disable-next-line:invalid-void connect(destination, output = 0, input2 = 0) { if (output < 0 || output >= this._nativeAudioNode.numberOfOutputs) { throw createIndexSizeError2(); @@ -65136,7 +64886,7 @@ ${o3}` : i3; }; // node_modules/standardized-audio-context/build/es2019/factories/audio-param-factory.js - var import_automation_events = __toModule(require_bundle()); + var import_automation_events = __toESM(require_bundle()); var createAudioParamFactory = (addAudioParamConnections, audioParamAudioNodeStore2, audioParamStore, createAudioParamRenderer2, createCancelAndHoldAutomationEvent2, createCancelScheduledValuesAutomationEvent2, createExponentialRampToValueAutomationEvent2, createLinearRampToValueAutomationEvent2, createSetTargetAutomationEvent2, createSetValueAutomationEvent2, createSetValueCurveAutomationEvent2, nativeAudioContextConstructor2, setValueAtTimeUntilPossible2) => { return (audioNode, isAudioParamOfOfflineAudioContext, nativeAudioParam, maxValue = null, minValue = null) => { const defaultValue = nativeAudioParam.value; @@ -65345,6 +65095,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/audio-worklet-node-constructor.js var DEFAULT_OPTIONS4 = { channelCount: 2, + // Bug #61: The channelCountMode should be 'max' according to the spec but is set to 'explicit' to achieve consistent behavior. channelCountMode: "explicit", channelInterpretation: "speakers", numberOfInputs: 1, @@ -65520,7 +65271,7 @@ ${o3}` : i3; }; var createAudioWorkletNodeRendererFactory = (connectAudioParam2, connectMultipleOutputs2, createNativeAudioBufferSourceNode2, createNativeChannelMergerNode2, createNativeChannelSplitterNode2, createNativeConstantSourceNode2, createNativeGainNode2, deleteUnrenderedAudioWorkletNode2, disconnectMultipleOutputs2, exposeCurrentFrameAndCurrentTime2, getNativeAudioNode2, nativeAudioWorkletNodeConstructor2, nativeOfflineAudioContextConstructor2, renderAutomation2, renderInputsOfAudioNode2, renderNativeOfflineAudioContext2) => { return (name2, options, processorConstructor) => { - const renderedNativeAudioNodes = new WeakMap(); + const renderedNativeAudioNodes = /* @__PURE__ */ new WeakMap(); let processedBufferPromise = null; const createAudioNode = async (proxy, nativeOfflineAudioContext) => { let nativeAudioWorkletNode = getNativeAudioNode2(proxy); @@ -65569,7 +65320,13 @@ ${o3}` : i3; const numberOfParameters = processorConstructor.parameterDescriptors === void 0 ? 0 : processorConstructor.parameterDescriptors.length; const numberOfChannels = numberOfInputChannels + numberOfParameters; const renderBuffer = async () => { - const partialOfflineAudioContext = new nativeOfflineAudioContextConstructor2(numberOfChannels, Math.ceil(proxy.context.length / 128) * 128, nativeOfflineAudioContext.sampleRate); + const partialOfflineAudioContext = new nativeOfflineAudioContextConstructor2( + numberOfChannels, + // Ceil the length to the next full render quantum. + // Bug #17: Safari does not yet expose the length. + Math.ceil(proxy.context.length / 128) * 128, + nativeOfflineAudioContext.sampleRate + ); const gainNodes = []; const inputChannelSplitterNodes = []; for (let i = 0; i < options.numberOfInputs; i += 1) { @@ -65646,11 +65403,21 @@ ${o3}` : i3; } if (!nativeAudioWorkletNodeIsOwnedByContext) { for (const [nm, audioParam] of proxy.parameters.entries()) { - await renderAutomation2(nativeOfflineAudioContext, audioParam, nativeAudioWorkletNode.parameters.get(nm)); + await renderAutomation2( + nativeOfflineAudioContext, + audioParam, + // @todo The definition that TypeScript uses of the AudioParamMap is lacking many methods. + nativeAudioWorkletNode.parameters.get(nm) + ); } } else { for (const [nm, audioParam] of proxy.parameters.entries()) { - await connectAudioParam2(nativeOfflineAudioContext, audioParam, nativeAudioWorkletNode.parameters.get(nm)); + await connectAudioParam2( + nativeOfflineAudioContext, + audioParam, + // @todo The definition that TypeScript uses of the AudioParamMap is lacking many methods. + nativeAudioWorkletNode.parameters.get(nm) + ); } } await renderInputsOfAudioNode2(proxy, nativeOfflineAudioContext, nativeAudioWorkletNode); @@ -65815,7 +65582,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/biquad-filter-node-renderer-factory.js var createBiquadFilterNodeRendererFactory = (connectAudioParam2, createNativeBiquadFilterNode2, getNativeAudioNode2, renderAutomation2, renderInputsOfAudioNode2) => { return () => { - const renderedNativeBiquadFilterNodes = new WeakMap(); + const renderedNativeBiquadFilterNodes = /* @__PURE__ */ new WeakMap(); const createBiquadFilterNode = async (proxy, nativeOfflineAudioContext) => { let nativeBiquadFilterNode = getNativeAudioNode2(proxy); const nativeBiquadFilterNodeIsOwnedByContext = isOwnedByContext(nativeBiquadFilterNode, nativeOfflineAudioContext); @@ -65911,7 +65678,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/channel-merger-node-renderer-factory.js var createChannelMergerNodeRendererFactory = (createNativeChannelMergerNode2, getNativeAudioNode2, renderInputsOfAudioNode2) => { return () => { - const renderedNativeAudioNodes = new WeakMap(); + const renderedNativeAudioNodes = /* @__PURE__ */ new WeakMap(); const createAudioNode = async (proxy, nativeOfflineAudioContext) => { let nativeAudioNode = getNativeAudioNode2(proxy); const nativeAudioNodeIsOwnedByContext = isOwnedByContext(nativeAudioNode, nativeOfflineAudioContext); @@ -65962,7 +65729,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/channel-splitter-node-renderer-factory.js var createChannelSplitterNodeRendererFactory = (createNativeChannelSplitterNode2, getNativeAudioNode2, renderInputsOfAudioNode2) => { return () => { - const renderedNativeAudioNodes = new WeakMap(); + const renderedNativeAudioNodes = /* @__PURE__ */ new WeakMap(); const createAudioNode = async (proxy, nativeOfflineAudioContext) => { let nativeAudioNode = getNativeAudioNode2(proxy); const nativeAudioNodeIsOwnedByContext = isOwnedByContext(nativeAudioNode, nativeOfflineAudioContext); @@ -66098,7 +65865,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/constant-source-node-renderer-factory.js var createConstantSourceNodeRendererFactory = (connectAudioParam2, createNativeConstantSourceNode2, getNativeAudioNode2, renderAutomation2, renderInputsOfAudioNode2) => { return () => { - const renderedNativeConstantSourceNodes = new WeakMap(); + const renderedNativeConstantSourceNodes = /* @__PURE__ */ new WeakMap(); let start2 = null; let stop = null; const createConstantSourceNode = async (proxy, nativeOfflineAudioContext) => { @@ -66207,7 +65974,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/convolver-node-renderer-factory.js var createConvolverNodeRendererFactory = (createNativeConvolverNode2, getNativeAudioNode2, renderInputsOfAudioNode2) => { return () => { - const renderedNativeConvolverNodes = new WeakMap(); + const renderedNativeConvolverNodes = /* @__PURE__ */ new WeakMap(); const createConvolverNode = async (proxy, nativeOfflineAudioContext) => { let nativeConvolverNode = getNativeAudioNode2(proxy); const nativeConvolverNodeIsOwnedByContext = isOwnedByContext(nativeConvolverNode, nativeOfflineAudioContext); @@ -66396,7 +66163,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/delay-node-renderer-factory.js var createDelayNodeRendererFactory = (connectAudioParam2, createNativeDelayNode2, getNativeAudioNode2, renderAutomation2, renderInputsOfAudioNode2) => { return (maxDelayTime) => { - const renderedNativeDelayNodes = new WeakMap(); + const renderedNativeDelayNodes = /* @__PURE__ */ new WeakMap(); const createDelayNode = async (proxy, nativeOfflineAudioContext) => { let nativeDelayNode = getNativeAudioNode2(proxy); const nativeDelayNodeIsOwnedByContext = isOwnedByContext(nativeDelayNode, nativeOfflineAudioContext); @@ -66531,6 +66298,7 @@ ${o3}` : i3; get attack() { return this._attack; } + // Bug #108: Safari allows a channelCount of three and above which is why the getter and setter needs to be overwritten here. get channelCount() { return this._nativeDynamicsCompressorNode.channelCount; } @@ -66542,6 +66310,10 @@ ${o3}` : i3; throw createNotSupportedError2(); } } + /* + * Bug #109: Only Chrome and Firefox disallow a channelCountMode of 'max' yet which is why the getter and setter needs to be + * overwritten here. + */ get channelCountMode() { return this._nativeDynamicsCompressorNode.channelCountMode; } @@ -66577,7 +66349,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/dynamics-compressor-node-renderer-factory.js var createDynamicsCompressorNodeRendererFactory = (connectAudioParam2, createNativeDynamicsCompressorNode2, getNativeAudioNode2, renderAutomation2, renderInputsOfAudioNode2) => { return () => { - const renderedNativeDynamicsCompressorNodes = new WeakMap(); + const renderedNativeDynamicsCompressorNodes = /* @__PURE__ */ new WeakMap(); const createDynamicsCompressorNode = async (proxy, nativeOfflineAudioContext) => { let nativeDynamicsCompressorNode = getNativeAudioNode2(proxy); const nativeDynamicsCompressorNodeIsOwnedByContext = isOwnedByContext(nativeDynamicsCompressorNode, nativeOfflineAudioContext); @@ -66675,7 +66447,7 @@ ${o3}` : i3; return class EventTarget { constructor(_nativeEventTarget) { this._nativeEventTarget = _nativeEventTarget; - this._listeners = new WeakMap(); + this._listeners = /* @__PURE__ */ new WeakMap(); } addEventListener(type, listener, options) { if (listener !== null) { @@ -66768,7 +66540,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/gain-node-renderer-factory.js var createGainNodeRendererFactory = (connectAudioParam2, createNativeGainNode2, getNativeAudioNode2, renderAutomation2, renderInputsOfAudioNode2) => { return () => { - const renderedNativeGainNodes = new WeakMap(); + const renderedNativeGainNodes = /* @__PURE__ */ new WeakMap(); const createGainNode = async (proxy, nativeOfflineAudioContext) => { let nativeGainNode = getNativeAudioNode2(proxy); const nativeGainNodeIsOwnedByContext = isOwnedByContext(nativeGainNode, nativeOfflineAudioContext); @@ -66890,7 +66662,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/helpers/wrap-iir-filter-node-get-frequency-response-method.js var wrapIIRFilterNodeGetFrequencyResponseMethod = (nativeIIRFilterNode) => { - nativeIIRFilterNode.getFrequencyResponse = ((getFrequencyResponse) => { + nativeIIRFilterNode.getFrequencyResponse = /* @__PURE__ */ ((getFrequencyResponse) => { return (frequencyHz, magResponse, phaseResponse) => { if (frequencyHz.length !== magResponse.length || magResponse.length !== phaseResponse.length) { throw createInvalidAccessError(); @@ -66981,7 +66753,7 @@ ${o3}` : i3; }; var createIIRFilterNodeRendererFactory = (createNativeAudioBufferSourceNode2, getNativeAudioNode2, nativeOfflineAudioContextConstructor2, renderInputsOfAudioNode2, renderNativeOfflineAudioContext2) => { return (feedback, feedforward) => { - const renderedNativeAudioNodes = new WeakMap(); + const renderedNativeAudioNodes = /* @__PURE__ */ new WeakMap(); let filteredBufferPromise = null; const createAudioNode = async (proxy, nativeOfflineAudioContext) => { let nativeAudioBufferSourceNode = null; @@ -67007,7 +66779,13 @@ ${o3}` : i3; if (nativeOfflineAudioContextConstructor2 === null) { throw new Error("Missing the native OfflineAudioContext constructor."); } - const partialOfflineAudioContext = new nativeOfflineAudioContextConstructor2(proxy.context.destination.channelCount, proxy.context.length, nativeOfflineAudioContext.sampleRate); + const partialOfflineAudioContext = new nativeOfflineAudioContextConstructor2( + // Bug #47: The AudioDestinationNode in Safari gets not initialized correctly. + proxy.context.destination.channelCount, + // Bug #17: Safari does not yet expose the length. + proxy.context.length, + nativeOfflineAudioContext.sampleRate + ); filteredBufferPromise = (async () => { await renderInputsOfAudioNode2(proxy, partialOfflineAudioContext, partialOfflineAudioContext.destination); const renderedBuffer = await renderNativeOfflineAudioContext2(partialOfflineAudioContext); @@ -67224,7 +67002,13 @@ ${o3}` : i3; super(nativeAudioContext, 2); const { latencyHint } = options; const { sampleRate } = nativeAudioContext; - this._baseLatency = typeof nativeAudioContext.baseLatency === "number" ? nativeAudioContext.baseLatency : latencyHint === "balanced" ? 512 / sampleRate : latencyHint === "interactive" || latencyHint === void 0 ? 256 / sampleRate : latencyHint === "playback" ? 1024 / sampleRate : Math.max(2, Math.min(128, Math.round(latencyHint * sampleRate / 128))) * 128 / sampleRate; + this._baseLatency = typeof nativeAudioContext.baseLatency === "number" ? nativeAudioContext.baseLatency : latencyHint === "balanced" ? 512 / sampleRate : latencyHint === "interactive" || latencyHint === void 0 ? 256 / sampleRate : latencyHint === "playback" ? 1024 / sampleRate : ( + /* + * @todo The min (256) and max (16384) values are taken from the allowed bufferSize values of a + * ScriptProcessorNode. + */ + Math.max(2, Math.min(128, Math.round(latencyHint * sampleRate / 128))) * 128 / sampleRate + ); this._nativeAudioContext = nativeAudioContext; if (nativeAudioContextConstructor2.name === "webkitAudioContext") { this._nativeGainNode = nativeAudioContext.createGain(); @@ -67312,7 +67096,7 @@ ${o3}` : i3; this._nativeContext = _nativeContext; CONTEXT_STORE.set(this, _nativeContext); if (isNativeOfflineAudioContext2(_nativeContext)) { - unrenderedAudioWorkletNodeStore2.set(_nativeContext, new Set()); + unrenderedAudioWorkletNodeStore2.set(_nativeContext, /* @__PURE__ */ new Set()); } this._destination = new audioDestinationNodeConstructor2(this, numberOfChannels); this._listener = createAudioListener2(this, _nativeContext); @@ -67372,7 +67156,7 @@ ${o3}` : i3; const { length, numberOfChannels, sampleRate } = __spreadValues(__spreadValues({}, DEFAULT_OPTIONS15), options); const nativeOfflineAudioContext = createNativeOfflineAudioContext2(numberOfChannels, length, sampleRate); if (!cacheTestResult2(testPromiseSupport, () => testPromiseSupport(nativeOfflineAudioContext))) { - nativeOfflineAudioContext.addEventListener("statechange", (() => { + nativeOfflineAudioContext.addEventListener("statechange", /* @__PURE__ */ (() => { let i = 0; const delayStateChangeEvent = (event2) => { if (this._state === "running") { @@ -67425,8 +67209,8 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/monitor-connections.js var createMonitorConnections = (insertElementInSet2, isNativeAudioNode3) => { return (nativeAudioNode, whenConnected, whenDisconnected) => { - const connections = new Set(); - nativeAudioNode.connect = ((connect2) => { + const connections = /* @__PURE__ */ new Set(); + nativeAudioNode.connect = /* @__PURE__ */ ((connect2) => { return (destination, output = 0, input2 = 0) => { const wasDisconnected = connections.size === 0; if (isNativeAudioNode3(destination)) { @@ -67445,7 +67229,7 @@ ${o3}` : i3; return; }; })(nativeAudioNode.connect); - nativeAudioNode.disconnect = ((disconnect2) => { + nativeAudioNode.disconnect = /* @__PURE__ */ ((disconnect2) => { return (destinationOrOutput, output, input2) => { const wasConnected = connections.size > 0; if (destinationOrOutput === void 0) { @@ -67553,7 +67337,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-buffer-source-node-start-method-consecutive-calls.js var wrapAudioBufferSourceNodeStartMethodConsecutiveCalls = (nativeAudioBufferSourceNode) => { - nativeAudioBufferSourceNode.start = ((start2) => { + nativeAudioBufferSourceNode.start = /* @__PURE__ */ ((start2) => { let isScheduled = false; return (when = 0, offset = 0, duration) => { if (isScheduled) { @@ -67567,7 +67351,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-scheduled-source-node-start-method-negative-parameters.js var wrapAudioScheduledSourceNodeStartMethodNegativeParameters = (nativeAudioScheduledSourceNode) => { - nativeAudioScheduledSourceNode.start = ((start2) => { + nativeAudioScheduledSourceNode.start = /* @__PURE__ */ ((start2) => { return (when = 0, offset = 0, duration) => { if (typeof duration === "number" && duration < 0 || offset < 0 || when < 0) { throw new RangeError("The parameters can't be negative."); @@ -67579,7 +67363,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-scheduled-source-node-stop-method-negative-parameters.js var wrapAudioScheduledSourceNodeStopMethodNegativeParameters = (nativeAudioScheduledSourceNode) => { - nativeAudioScheduledSourceNode.stop = ((stop) => { + nativeAudioScheduledSourceNode.stop = /* @__PURE__ */ ((stop) => { return (when = 0) => { if (when < 0) { throw new RangeError("The parameter can't be negative."); @@ -67707,9 +67491,13 @@ ${o3}` : i3; if (nativeAudioWorkletNodeConstructor2 !== null) { try { const nativeAudioWorkletNode = new nativeAudioWorkletNodeConstructor2(nativeContext, name2, options); - const patchedEventListeners = new Map(); + const patchedEventListeners = /* @__PURE__ */ new Map(); let onprocessorerror = null; Object.defineProperties(nativeAudioWorkletNode, { + /* + * Bug #61: Overwriting the property accessors for channelCount and channelCountMode is necessary as long as some + * browsers have no native implementation to achieve a consistent behavior. + */ channelCount: { get: () => options.channelCount, set: () => { @@ -67722,6 +67510,7 @@ ${o3}` : i3; throw createInvalidStateError2(); } }, + // Bug #156: Chrome and Edge do not yet fire an ErrorEvent. onprocessorerror: { get: () => onprocessorerror, set: (value) => { @@ -67735,7 +67524,7 @@ ${o3}` : i3; } } }); - nativeAudioWorkletNode.addEventListener = ((addEventListener) => { + nativeAudioWorkletNode.addEventListener = /* @__PURE__ */ ((addEventListener) => { return (...args) => { if (args[0] === "processorerror") { const unpatchedEventListener = typeof args[1] === "function" ? args[1] : typeof args[1] === "object" && args[1] !== null && typeof args[1].handleEvent === "function" ? args[1].handleEvent : null; @@ -67762,7 +67551,7 @@ ${o3}` : i3; return addEventListener.call(nativeAudioWorkletNode, ...args); }; })(nativeAudioWorkletNode.addEventListener); - nativeAudioWorkletNode.removeEventListener = ((removeEventListener) => { + nativeAudioWorkletNode.removeEventListener = /* @__PURE__ */ ((removeEventListener) => { return (...args) => { if (args[0] === "processorerror") { const patchedEventListener = patchedEventListeners.get(args[1]); @@ -67839,7 +67628,7 @@ ${o3}` : i3; var createAudioWorkletProcessor = (nativeContext, nativeAudioWorkletNode, processorConstructor, audioWorkletNodeOptions) => { let nodeToProcessorMap = NODE_TO_PROCESSOR_MAPS.get(nativeContext); if (nodeToProcessorMap === void 0) { - nodeToProcessorMap = new WeakMap(); + nodeToProcessorMap = /* @__PURE__ */ new WeakMap(); NODE_TO_PROCESSOR_MAPS.set(nativeContext, nodeToProcessorMap); } const audioWorkletProcessorPromise = createAudioWorkletProcessorPromise(processorConstructor, audioWorkletNodeOptions); @@ -67916,7 +67705,13 @@ ${o3}` : i3; numberOfInputs: Math.max(1, numberOfInputChannels + numberOfParameters) }); const bufferSize = computeBufferSize(baseLatency, nativeContext.sampleRate); - const scriptProcessorNode = createNativeScriptProcessorNode2(nativeContext, bufferSize, numberOfInputChannels + numberOfParameters, Math.max(1, numberOfOutputChannels)); + const scriptProcessorNode = createNativeScriptProcessorNode2( + nativeContext, + bufferSize, + numberOfInputChannels + numberOfParameters, + // Bug #87: Only Firefox will fire an AudioProcessingEvent if there is no connected output. + Math.max(1, numberOfOutputChannels) + ); const outputChannelSplitterNode = createNativeChannelSplitterNode2(nativeContext, { channelCount: Math.max(1, numberOfOutputChannels), channelCountMode: "explicit", @@ -68015,8 +67810,8 @@ ${o3}` : i3; return scriptProcessorNode.removeEventListener(args[0], args[1], args[2]); } }; - const patchedEventListeners = new Map(); - messageChannel.port1.addEventListener = ((addEventListener) => { + const patchedEventListeners = /* @__PURE__ */ new Map(); + messageChannel.port1.addEventListener = /* @__PURE__ */ ((addEventListener) => { return (...args) => { if (args[0] === "message") { const unpatchedEventListener = typeof args[1] === "function" ? args[1] : typeof args[1] === "object" && args[1] !== null && typeof args[1].handleEvent === "function" ? args[1].handleEvent : null; @@ -68035,7 +67830,7 @@ ${o3}` : i3; return addEventListener.call(messageChannel.port1, args[0], args[1], args[2]); }; })(messageChannel.port1.addEventListener); - messageChannel.port1.removeEventListener = ((removeEventListener) => { + messageChannel.port1.removeEventListener = /* @__PURE__ */ ((removeEventListener) => { return (...args) => { if (args[0] === "message") { const patchedEventListener = patchedEventListeners.get(args[1]); @@ -68081,7 +67876,7 @@ ${o3}` : i3; outputChannelSplitterNodeOutput += outputChannelCount[i]; } }; - const activeInputIndexes = new Map(); + const activeInputIndexes = /* @__PURE__ */ new Map(); scriptProcessorNode.onaudioprocess = ({ inputBuffer, outputBuffer }) => { if (audioWorkletProcessor !== null) { const activeInputs = getActiveAudioWorkletNodeInputs2(nativeAudioWorkletNodeFaker); @@ -69473,7 +69268,7 @@ ${o3}` : i3; const { length, numberOfChannels, sampleRate } = __spreadValues(__spreadValues({}, DEFAULT_OPTIONS16), options); const nativeOfflineAudioContext = createNativeOfflineAudioContext2(numberOfChannels, length, sampleRate); if (!cacheTestResult2(testPromiseSupport, () => testPromiseSupport(nativeOfflineAudioContext))) { - nativeOfflineAudioContext.addEventListener("statechange", (() => { + nativeOfflineAudioContext.addEventListener("statechange", /* @__PURE__ */ (() => { let i = 0; const delayStateChangeEvent = (event2) => { if (this._state === "running") { @@ -69527,7 +69322,9 @@ ${o3}` : i3; var DEFAULT_OPTIONS17 = { channelCount: 2, channelCountMode: "max", + // This attribute has no effect for nodes with no inputs. channelInterpretation: "speakers", + // This attribute has no effect for nodes with no inputs. detune: 0, frequency: 440, periodicWave: void 0, @@ -69610,7 +69407,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/oscillator-node-renderer-factory.js var createOscillatorNodeRendererFactory = (connectAudioParam2, createNativeOscillatorNode2, getNativeAudioNode2, renderAutomation2, renderInputsOfAudioNode2) => { return () => { - const renderedNativeOscillatorNodes = new WeakMap(); + const renderedNativeOscillatorNodes = /* @__PURE__ */ new WeakMap(); let periodicWave = null; let start2 = null; let stop = null; @@ -69777,7 +69574,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/panner-node-renderer-factory.js var createPannerNodeRendererFactory = (connectAudioParam2, createNativeChannelMergerNode2, createNativeConstantSourceNode2, createNativeGainNode2, createNativePannerNode2, getNativeAudioNode2, nativeOfflineAudioContextConstructor2, renderAutomation2, renderInputsOfAudioNode2, renderNativeOfflineAudioContext2) => { return () => { - const renderedNativeAudioNodes = new WeakMap(); + const renderedNativeAudioNodes = /* @__PURE__ */ new WeakMap(); let renderedBufferPromise = null; const createAudioNode = async (proxy, nativeOfflineAudioContext) => { let nativeGainNode = null; @@ -69817,7 +69614,12 @@ ${o3}` : i3; if (nativeOfflineAudioContextConstructor2 === null) { throw new Error("Missing the native OfflineAudioContext constructor."); } - const partialOfflineAudioContext = new nativeOfflineAudioContextConstructor2(6, proxy.context.length, nativeOfflineAudioContext.sampleRate); + const partialOfflineAudioContext = new nativeOfflineAudioContextConstructor2( + 6, + // Bug #17: Safari does not yet expose the length. + proxy.context.length, + nativeOfflineAudioContext.sampleRate + ); const nativeChannelMergerNode = createNativeChannelMergerNode2(partialOfflineAudioContext, { channelCount: 1, channelCountMode: "explicit", @@ -70048,6 +69850,10 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/stereo-panner-node-constructor.js var DEFAULT_OPTIONS20 = { channelCount: 2, + /* + * Bug #105: The channelCountMode should be 'clamped-max' according to the spec but is set to 'explicit' to achieve consistent + * behavior. + */ channelCountMode: "explicit", channelInterpretation: "speakers", pan: 0 @@ -70072,7 +69878,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/stereo-panner-node-renderer-factory.js var createStereoPannerNodeRendererFactory = (connectAudioParam2, createNativeStereoPannerNode2, getNativeAudioNode2, renderAutomation2, renderInputsOfAudioNode2) => { return () => { - const renderedNativeStereoPannerNodes = new WeakMap(); + const renderedNativeStereoPannerNodes = /* @__PURE__ */ new WeakMap(); const createStereoPannerNode = async (proxy, nativeOfflineAudioContext) => { let nativeStereoPannerNode = getNativeAudioNode2(proxy); const nativeStereoPannerNodeIsOwnedByContext = isOwnedByContext(nativeStereoPannerNode, nativeOfflineAudioContext); @@ -70236,7 +70042,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/wave-shaper-node-renderer-factory.js var createWaveShaperNodeRendererFactory = (createNativeWaveShaperNode2, getNativeAudioNode2, renderInputsOfAudioNode2) => { return () => { - const renderedNativeWaveShaperNodes = new WeakMap(); + const renderedNativeWaveShaperNodes = /* @__PURE__ */ new WeakMap(); const createWaveShaperNode = async (proxy, nativeOfflineAudioContext) => { let nativeWaveShaperNode = getNativeAudioNode2(proxy); const nativeWaveShaperNodeIsOwnedByContext = isOwnedByContext(nativeWaveShaperNode, nativeOfflineAudioContext); @@ -70308,7 +70114,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/factories/wrap-audio-buffer-copy-channel-methods-out-of-bounds.js var createWrapAudioBufferCopyChannelMethodsOutOfBounds = (convertNumberToUnsignedLong2) => { return (audioBuffer) => { - audioBuffer.copyFromChannel = ((copyFromChannel2) => { + audioBuffer.copyFromChannel = /* @__PURE__ */ ((copyFromChannel2) => { return (destination, channelNumberAsNumber, bufferOffsetAsNumber = 0) => { const bufferOffset = convertNumberToUnsignedLong2(bufferOffsetAsNumber); const channelNumber = convertNumberToUnsignedLong2(channelNumberAsNumber); @@ -70317,7 +70123,7 @@ ${o3}` : i3; } }; })(audioBuffer.copyFromChannel); - audioBuffer.copyToChannel = ((copyToChannel2) => { + audioBuffer.copyToChannel = /* @__PURE__ */ ((copyToChannel2) => { return (source, channelNumberAsNumber, bufferOffsetAsNumber = 0) => { const bufferOffset = convertNumberToUnsignedLong2(bufferOffsetAsNumber); const channelNumber = convertNumberToUnsignedLong2(channelNumberAsNumber); @@ -70408,7 +70214,14 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/helpers/sanitize-audio-worklet-node-options.js var sanitizeAudioWorkletNodeOptions = (options) => { return __spreadProps(__spreadValues({}, options), { - outputChannelCount: options.outputChannelCount !== void 0 ? options.outputChannelCount : options.numberOfInputs === 1 && options.numberOfOutputs === 1 ? [options.channelCount] : Array.from({ length: options.numberOfOutputs }, () => 1) + outputChannelCount: options.outputChannelCount !== void 0 ? options.outputChannelCount : options.numberOfInputs === 1 && options.numberOfOutputs === 1 ? ( + /* + * Bug #61: This should be the computedNumberOfChannels, but unfortunately that is almost impossible to fake. That's why + * the channelCountMode is required to be 'explicit' as long as there is not a native implementation in every browser. That + * makes sure the computedNumberOfChannels is equivilant to the channelCount which makes it much easier to compute. + */ + [options.channelCount] + ) : Array.from({ length: options.numberOfOutputs }, () => 1) }); }; @@ -70531,7 +70344,7 @@ ${o3}` : i3; // node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-buffer-source-node-start-method-offset-clamping.js var wrapAudioBufferSourceNodeStartMethodOffsetClamping = (nativeAudioBufferSourceNode) => { - nativeAudioBufferSourceNode.start = ((start2) => { + nativeAudioBufferSourceNode.start = /* @__PURE__ */ ((start2) => { return (when = 0, offset = 0, duration) => { const buffer = nativeAudioBufferSourceNode.buffer; const clampedOffset = buffer === null ? offset : Math.min(buffer.duration, offset); @@ -70548,7 +70361,7 @@ ${o3}` : i3; var wrapAudioScheduledSourceNodeStopMethodConsecutiveCalls = (nativeAudioScheduledSourceNode, nativeContext) => { const nativeGainNode = nativeContext.createGain(); nativeAudioScheduledSourceNode.connect(nativeGainNode); - const disconnectGainNode = ((disconnect2) => { + const disconnectGainNode = /* @__PURE__ */ ((disconnect2) => { return () => { disconnect2.call(nativeAudioScheduledSourceNode, nativeGainNode); nativeAudioScheduledSourceNode.removeEventListener("ended", disconnectGainNode); @@ -70556,7 +70369,7 @@ ${o3}` : i3; })(nativeAudioScheduledSourceNode.disconnect); nativeAudioScheduledSourceNode.addEventListener("ended", disconnectGainNode); interceptConnections(nativeAudioScheduledSourceNode, nativeGainNode); - nativeAudioScheduledSourceNode.stop = ((stop) => { + nativeAudioScheduledSourceNode.stop = /* @__PURE__ */ ((stop) => { let isStopped = false; return (when = 0) => { if (isStopped) { @@ -70592,9 +70405,9 @@ ${o3}` : i3; var addActiveInputConnectionToAudioNode = createAddActiveInputConnectionToAudioNode(insertElementInSet); var addPassiveInputConnectionToAudioNode = createAddPassiveInputConnectionToAudioNode(insertElementInSet); var deleteActiveInputConnectionToAudioNode = createDeleteActiveInputConnectionToAudioNode(pickElementFromSet); - var audioNodeTailTimeStore = new WeakMap(); + var audioNodeTailTimeStore = /* @__PURE__ */ new WeakMap(); var getAudioNodeTailTime = createGetAudioNodeTailTime(audioNodeTailTimeStore); - var cacheTestResult = createCacheTestResult(new Map(), new WeakMap()); + var cacheTestResult = createCacheTestResult(/* @__PURE__ */ new Map(), /* @__PURE__ */ new WeakMap()); var window2 = createWindow(); var createNativeAnalyserNode = createNativeAnalyserNodeFactory(cacheTestResult, createIndexSizeError); var getAudioNodeRenderer = createGetAudioNodeRenderer(getAudioNodeConnections); @@ -70603,7 +70416,7 @@ ${o3}` : i3; var getNativeContext = createGetNativeContext(CONTEXT_STORE); var nativeOfflineAudioContextConstructor = createNativeOfflineAudioContextConstructor(window2); var isNativeOfflineAudioContext = createIsNativeOfflineAudioContext(nativeOfflineAudioContextConstructor); - var audioParamAudioNodeStore = new WeakMap(); + var audioParamAudioNodeStore = /* @__PURE__ */ new WeakMap(); var eventTargetConstructor = createEventTargetConstructor(wrapEventListener); var nativeAudioContextConstructor = createNativeAudioContextConstructor(window2); var isNativeAudioContext = createIsNativeAudioContext(nativeAudioContextConstructor); @@ -70612,7 +70425,7 @@ ${o3}` : i3; var nativeAudioWorkletNodeConstructor = createNativeAudioWorkletNodeConstructor(window2); var audioNodeConstructor = createAudioNodeConstructor(createAddAudioNodeConnections(AUDIO_NODE_CONNECTIONS_STORE), createAddConnectionToAudioNode(addActiveInputConnectionToAudioNode, addPassiveInputConnectionToAudioNode, connectNativeAudioNodeToNativeAudioNode, deleteActiveInputConnectionToAudioNode, disconnectNativeAudioNodeFromNativeAudioNode, getAudioNodeConnections, getAudioNodeTailTime, getEventListenersOfAudioNode, getNativeAudioNode, insertElementInSet, isActiveAudioNode, isPartOfACycle, isPassiveAudioNode), cacheTestResult, createIncrementCycleCounterFactory(CYCLE_COUNTERS, disconnectNativeAudioNodeFromNativeAudioNode, getAudioNodeConnections, getNativeAudioNode, getNativeAudioParam, isActiveAudioNode), createIndexSizeError, createInvalidAccessError, createNotSupportedError, createDecrementCycleCounter(connectNativeAudioNodeToNativeAudioNode, CYCLE_COUNTERS, getAudioNodeConnections, getNativeAudioNode, getNativeAudioParam, getNativeContext, isActiveAudioNode, isNativeOfflineAudioContext), createDetectCycles(audioParamAudioNodeStore, getAudioNodeConnections, getValueForKey), eventTargetConstructor, getNativeContext, isNativeAudioContext, isNativeAudioNode2, isNativeAudioParam, isNativeOfflineAudioContext, nativeAudioWorkletNodeConstructor); var analyserNodeConstructor = createAnalyserNodeConstructor(audioNodeConstructor, createAnalyserNodeRenderer, createIndexSizeError, createNativeAnalyserNode, getNativeContext, isNativeOfflineAudioContext); - var audioBufferStore = new WeakSet(); + var audioBufferStore = /* @__PURE__ */ new WeakSet(); var nativeAudioBufferConstructor = createNativeAudioBufferConstructor(window2); var convertNumberToUnsignedLong = createConvertNumberToUnsignedLong(new Uint32Array(1)); var wrapAudioBufferCopyChannelMethods = createWrapAudioBufferCopyChannelMethods(convertNumberToUnsignedLong, createIndexSizeError); @@ -70657,7 +70470,7 @@ ${o3}` : i3; var createNativeIIRFilterNode = createNativeIIRFilterNodeFactory(createNativeIIRFilterNodeFaker); var iIRFilterNodeConstructor = createIIRFilterNodeConstructor(audioNodeConstructor, createNativeIIRFilterNode, createIIRFilterNodeRenderer, getNativeContext, isNativeOfflineAudioContext, setAudioNodeTailTime); var createAudioListener = createAudioListenerFactory(createAudioParam, createNativeChannelMergerNode, createNativeConstantSourceNode, createNativeScriptProcessorNode, createNotSupportedError, getFirstSample, isNativeOfflineAudioContext, overwriteAccessors); - var unrenderedAudioWorkletNodeStore = new WeakMap(); + var unrenderedAudioWorkletNodeStore = /* @__PURE__ */ new WeakMap(); var minimalBaseAudioContextConstructor = createMinimalBaseAudioContextConstructor(audioDestinationNodeConstructor, createAudioListener, eventTargetConstructor, isNativeOfflineAudioContext, unrenderedAudioWorkletNodeStore, wrapEventListener); var createNativeOscillatorNode = createNativeOscillatorNodeFactory(addSilentConnection, cacheTestResult, testAudioScheduledSourceNodeStartMethodNegativeParametersSupport, testAudioScheduledSourceNodeStopMethodConsecutiveCallsSupport, testAudioScheduledSourceNodeStopMethodNegativeParametersSupport, wrapAudioScheduledSourceNodeStopMethodConsecutiveCalls); var createOscillatorNodeRenderer = createOscillatorNodeRendererFactory(connectAudioParam, createNativeOscillatorNode, getNativeAudioNode, renderAutomation, renderInputsOfAudioNode); @@ -70670,7 +70483,7 @@ ${o3}` : i3; var createPannerNodeRenderer = createPannerNodeRendererFactory(connectAudioParam, createNativeChannelMergerNode, createNativeConstantSourceNode, createNativeGainNode, createNativePannerNode, getNativeAudioNode, nativeOfflineAudioContextConstructor, renderAutomation, renderInputsOfAudioNode, renderNativeOfflineAudioContext); var pannerNodeConstructor = createPannerNodeConstructor(audioNodeConstructor, createAudioParam, createNativePannerNode, createPannerNodeRenderer, getNativeContext, isNativeOfflineAudioContext, setAudioNodeTailTime); var createNativePeriodicWave = createNativePeriodicWaveFactory(createIndexSizeError); - var periodicWaveConstructor = createPeriodicWaveConstructor(createNativePeriodicWave, getNativeContext, new WeakSet(), sanitizePeriodicWaveOptions); + var periodicWaveConstructor = createPeriodicWaveConstructor(createNativePeriodicWave, getNativeContext, /* @__PURE__ */ new WeakSet(), sanitizePeriodicWaveOptions); var nativeStereoPannerNodeFakerFactory = createNativeStereoPannerNodeFakerFactory(createNativeChannelMergerNode, createNativeChannelSplitterNode, createNativeGainNode, createNativeWaveShaperNode, createNotSupportedError, monitorConnections); var createNativeStereoPannerNode = createNativeStereoPannerNodeFactory(nativeStereoPannerNodeFakerFactory, createNotSupportedError); var createStereoPannerNodeRenderer = createStereoPannerNodeRendererFactory(connectAudioParam, createNativeStereoPannerNode, getNativeAudioNode, renderAutomation, renderInputsOfAudioNode); @@ -70679,11 +70492,26 @@ ${o3}` : i3; var waveShaperNodeConstructor = createWaveShaperNodeConstructor(audioNodeConstructor, createInvalidStateError, createNativeWaveShaperNode, createWaveShaperNodeRenderer, getNativeContext, isNativeOfflineAudioContext, setAudioNodeTailTime); var isSecureContext = createIsSecureContext(window2); var exposeCurrentFrameAndCurrentTime = createExposeCurrentFrameAndCurrentTime(window2); - var backupOfflineAudioContextStore = new WeakMap(); + var backupOfflineAudioContextStore = /* @__PURE__ */ new WeakMap(); var getOrCreateBackupOfflineAudioContext = createGetOrCreateBackupOfflineAudioContext(backupOfflineAudioContextStore, nativeOfflineAudioContextConstructor); - var addAudioWorkletModule = isSecureContext ? createAddAudioWorkletModule(cacheTestResult, createNotSupportedError, createEvaluateSource(window2), exposeCurrentFrameAndCurrentTime, createFetchSource(createAbortError), getNativeContext, getOrCreateBackupOfflineAudioContext, isNativeOfflineAudioContext, nativeAudioWorkletNodeConstructor, new WeakMap(), new WeakMap(), createTestAudioWorkletProcessorPostMessageSupport(nativeAudioWorkletNodeConstructor, nativeOfflineAudioContextConstructor), window2) : void 0; + var addAudioWorkletModule = isSecureContext ? createAddAudioWorkletModule( + cacheTestResult, + createNotSupportedError, + createEvaluateSource(window2), + exposeCurrentFrameAndCurrentTime, + createFetchSource(createAbortError), + getNativeContext, + getOrCreateBackupOfflineAudioContext, + isNativeOfflineAudioContext, + nativeAudioWorkletNodeConstructor, + /* @__PURE__ */ new WeakMap(), + /* @__PURE__ */ new WeakMap(), + createTestAudioWorkletProcessorPostMessageSupport(nativeAudioWorkletNodeConstructor, nativeOfflineAudioContextConstructor), + // @todo window is guaranteed to be defined because isSecureContext checks that as well. + window2 + ) : void 0; var isNativeContext = createIsNativeContext(isNativeAudioContext, isNativeOfflineAudioContext); - var decodeAudioData = createDecodeAudioData(audioBufferStore, cacheTestResult, createDataCloneError, createEncodingError, new WeakSet(), getNativeContext, isNativeContext, testAudioBufferCopyChannelMethodsOutOfBoundsSupport, testPromiseSupport, wrapAudioBufferCopyChannelMethods, wrapAudioBufferCopyChannelMethodsOutOfBounds); + var decodeAudioData = createDecodeAudioData(audioBufferStore, cacheTestResult, createDataCloneError, createEncodingError, /* @__PURE__ */ new WeakSet(), getNativeContext, isNativeContext, testAudioBufferCopyChannelMethodsOutOfBoundsSupport, testPromiseSupport, wrapAudioBufferCopyChannelMethods, wrapAudioBufferCopyChannelMethodsOutOfBounds); var baseAudioContextConstructor = createBaseAudioContextConstructor(addAudioWorkletModule, analyserNodeConstructor, audioBufferConstructor, audioBufferSourceNodeConstructor, biquadFilterNodeConstructor, channelMergerNodeConstructor, channelSplitterNodeConstructor, constantSourceNodeConstructor, convolverNodeConstructor, decodeAudioData, delayNodeConstructor, dynamicsCompressorNodeConstructor, gainNodeConstructor, iIRFilterNodeConstructor, minimalBaseAudioContextConstructor, oscillatorNodeConstructor, pannerNodeConstructor, periodicWaveConstructor, stereoPannerNodeConstructor, waveShaperNodeConstructor); var mediaElementAudioSourceNodeConstructor = createMediaElementAudioSourceNodeConstructor(audioNodeConstructor, createNativeMediaElementAudioSourceNode, getNativeContext, isNativeOfflineAudioContext); var mediaStreamAudioDestinationNodeConstructor = createMediaStreamAudioDestinationNodeConstructor(audioNodeConstructor, createNativeMediaStreamAudioDestinationNode, getNativeContext, isNativeOfflineAudioContext); @@ -70696,7 +70524,7 @@ ${o3}` : i3; var connectMultipleOutputs = createConnectMultipleOutputs(createIndexSizeError); var deleteUnrenderedAudioWorkletNode = createDeleteUnrenderedAudioWorkletNode(getUnrenderedAudioWorkletNodes); var disconnectMultipleOutputs = createDisconnectMultipleOutputs(createIndexSizeError); - var activeAudioWorkletNodeInputsStore = new WeakMap(); + var activeAudioWorkletNodeInputsStore = /* @__PURE__ */ new WeakMap(); var getActiveAudioWorkletNodeInputs = createGetActiveAudioWorkletNodeInputs(activeAudioWorkletNodeInputsStore, getValueForKey); var createNativeAudioWorkletNodeFaker = createNativeAudioWorkletNodeFakerFactory(connectMultipleOutputs, createIndexSizeError, createInvalidStateError, createNativeChannelMergerNode, createNativeChannelSplitterNode, createNativeConstantSourceNode, createNativeGainNode, createNativeScriptProcessorNode, createNotSupportedError, disconnectMultipleOutputs, exposeCurrentFrameAndCurrentTime, getActiveAudioWorkletNodeInputs, monitorConnections); var createNativeAudioWorkletNode = createNativeAudioWorkletNodeFactory(createInvalidStateError, createNativeAudioWorkletNodeFaker, createNativeGainNode, createNotSupportedError, monitorConnections); @@ -70784,12 +70612,8 @@ ${o3}` : i3; // node_modules/tslib/tslib.es6.mjs function __decorate(decorators, target, key, desc) { var c2 = arguments.length, r = c2 < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d2; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") - r = Reflect.decorate(decorators, target, key, desc); - else - for (var i = decorators.length - 1; i >= 0; i--) - if (d2 = decorators[i]) - r = (c2 < 3 ? d2(r) : c2 > 3 ? d2(target, key, r) : d2(target, key)) || r; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d2 = decorators[i]) r = (c2 < 3 ? d2(r) : c2 > 3 ? d2(target, key, r) : d2(target, key)) || r; return c2 > 3 && r && Object.defineProperty(target, key, r), r; } function __awaiter(thisArg, _arguments, P, generator) { @@ -70828,8 +70652,12 @@ ${o3}` : i3; this._updateInterval = updateInterval; this._createClock(); } + /** + * Generate a web worker + */ _createWorker() { const blob = new Blob([ + /* javascript */ ` // the initial timeout time let timeoutTime = ${(this._updateInterval * 1e3).toFixed(1)}; @@ -70852,12 +70680,18 @@ ${o3}` : i3; worker.onmessage = this._callback.bind(this); this._worker = worker; } + /** + * Create a timeout loop + */ _createTimeout() { this._timeout = setTimeout(() => { this._createTimeout(); this._callback(); }, this._updateInterval * 1e3); } + /** + * Create the clock source. + */ _createClock() { if (this._type === "worker") { try { @@ -70870,6 +70704,9 @@ ${o3}` : i3; this._createTimeout(); } } + /** + * Clean up the current clock source + */ _disposeClock() { if (this._timeout) { clearTimeout(this._timeout); @@ -70880,6 +70717,9 @@ ${o3}` : i3; this._worker.onmessage = null; } } + /** + * The rate in seconds the ticker will update + */ get updateInterval() { return this._updateInterval; } @@ -70889,6 +70729,9 @@ ${o3}` : i3; this._worker.postMessage(Math.max(interval * 1e3, 1)); } } + /** + * The type of the ticker, either a worker or a timeout + */ get type() { return this._type; } @@ -70897,6 +70740,9 @@ ${o3}` : i3; this._type = type; this._createClock(); } + /** + * Clean up + */ dispose() { this._disposeClock(); } @@ -70994,21 +70840,50 @@ ${o3}` : i3; this.debug = false; this._wasDisposed = false; } + /** + * Returns all of the default options belonging to the class. + */ static getDefaults() { return {}; } + /** + * Prints the outputs to the console log for debugging purposes. + * Prints the contents only if either the object has a property + * called `debug` set to true, or a variable called TONE_DEBUG_CLASS + * is set to the name of the class. + * @example + * const osc = new Tone.Oscillator(); + * // prints all logs originating from this oscillator + * osc.debug = true; + * // calls to start/stop will print in the console + * osc.start(); + */ log(...args) { if (this.debug || theWindow && this.toString() === theWindow.TONE_DEBUG_CLASS) { log(this, ...args); } } + /** + * disconnect and dispose. + */ dispose() { this._wasDisposed = true; return this; } + /** + * Indicates if the instance was disposed. 'Disposing' an + * instance means that all of the Web Audio nodes that were + * created for the instance are disconnected and freed for garbage collection. + */ get disposed() { return this._wasDisposed; } + /** + * Convert the class to a string + * @example + * const osc = new Tone.Oscillator(); + * console.log(osc.toString()); + */ toString() { return this.name; } @@ -71034,12 +70909,12 @@ ${o3}` : i3; } // node_modules/tone/build/esm/core/util/Timeline.js - var Timeline = class extends Tone { + var Timeline = class _Timeline extends Tone { constructor() { super(); this.name = "Timeline"; this._timeline = []; - const options = optionsFromArguments(Timeline.getDefaults(), arguments, ["memory"]); + const options = optionsFromArguments(_Timeline.getDefaults(), arguments, ["memory"]); this.memory = options.memory; this.increasing = options.increasing; } @@ -71049,9 +70924,16 @@ ${o3}` : i3; increasing: false }; } + /** + * The number of items in the timeline. + */ get length() { return this._timeline.length; } + /** + * Insert an event object onto the timeline. Events must have a "time" attribute. + * @param event The event object to insert into the timeline. + */ add(event2) { assert(Reflect.has(event2, "time"), "Timeline: events must have a time attribute"); event2.time = event2.time.valueOf(); @@ -71069,6 +70951,11 @@ ${o3}` : i3; } return this; } + /** + * Remove an event from the timeline. + * @param {Object} event The event object to remove from the list. + * @returns {Timeline} this + */ remove(event2) { const index3 = this._timeline.indexOf(event2); if (index3 !== -1) { @@ -71076,6 +70963,10 @@ ${o3}` : i3; } return this; } + /** + * Get the nearest event whose time is less than or equal to the given time. + * @param time The time to query. + */ get(time, param = "time") { const index3 = this._search(time, param); if (index3 !== -1) { @@ -71084,12 +70975,23 @@ ${o3}` : i3; return null; } } + /** + * Return the first event in the timeline without removing it + * @returns {Object} The first event object + */ peek() { return this._timeline[0]; } + /** + * Return the first event in the timeline and remove it + */ shift() { return this._timeline.shift(); } + /** + * Get the event which is scheduled after the given time. + * @param time The time to query. + */ getAfter(time, param = "time") { const index3 = this._search(time, param); if (index3 + 1 < this._timeline.length) { @@ -71098,6 +71000,10 @@ ${o3}` : i3; return null; } } + /** + * Get the event before the event at the given time. + * @param time The time to query. + */ getBefore(time) { const len = this._timeline.length; if (len > 0 && this._timeline[len - 1].time < time) { @@ -71110,6 +71016,10 @@ ${o3}` : i3; return null; } } + /** + * Cancel events at and after the given time + * @param after The time to query. + */ cancel(after) { if (this._timeline.length > 1) { let index3 = this._search(after); @@ -71136,6 +71046,10 @@ ${o3}` : i3; } return this; } + /** + * Cancel events before or equal to the given time. + * @param time The time to cancel before. + */ cancelBefore(time) { const index3 = this._search(time); if (index3 >= 0) { @@ -71143,6 +71057,11 @@ ${o3}` : i3; } return this; } + /** + * Returns the previous event if there is one. null otherwise + * @param event The event to find the previous one of + * @return The event right before the given event + */ previousEvent(event2) { const index3 = this._timeline.indexOf(event2); if (index3 > 0) { @@ -71151,6 +71070,12 @@ ${o3}` : i3; return null; } } + /** + * Does a binary search on the timeline array and returns the + * nearest event index whose time is after or equal to the given time. + * If a time is searched before the first index in the timeline, -1 is returned. + * If the time is after the end, the index of the last item is returned. + */ _search(time, param = "time") { if (this._timeline.length === 0) { return -1; @@ -71185,13 +71110,26 @@ ${o3}` : i3; } return -1; } + /** + * Internal iterator. Applies extra safety checks for + * removing items from the array. + */ _iterate(callback2, lowerBound = 0, upperBound = this._timeline.length - 1) { this._timeline.slice(lowerBound, upperBound + 1).forEach(callback2); } + /** + * Iterate over everything in the array + * @param callback The callback to invoke with every item + */ forEach(callback2) { this._iterate(callback2); return this; } + /** + * Iterate over everything in the array at or before the given time. + * @param time The time to check if items are before + * @param callback The callback to invoke with every item + */ forEachBefore(time, callback2) { const upperBound = this._search(time); if (upperBound !== -1) { @@ -71199,11 +71137,24 @@ ${o3}` : i3; } return this; } + /** + * Iterate over everything in the array after the given time. + * @param time The time to check if items are before + * @param callback The callback to invoke with every item + */ forEachAfter(time, callback2) { const lowerBound = this._search(time); this._iterate(callback2, lowerBound + 1); return this; } + /** + * Iterate over everything in the array between the startTime and endTime. + * The timerange is inclusive of the startTime, but exclusive of the endTime. + * range = [startTime, endTime). + * @param startTime The time to check if items are before + * @param endTime The end of the test interval. + * @param callback The callback to invoke with every item + */ forEachBetween(startTime, endTime, callback2) { let lowerBound = this._search(startTime); let upperBound = this._search(endTime); @@ -71220,6 +71171,12 @@ ${o3}` : i3; } return this; } + /** + * Iterate over everything in the array at or after the given time. Similar to + * forEachAfter, but includes the item(s) at the given time. + * @param time The time to check if items are before + * @param callback The callback to invoke with every item + */ forEachFrom(time, callback2) { let lowerBound = this._search(time); while (lowerBound >= 0 && this._timeline[lowerBound].time >= time) { @@ -71228,6 +71185,11 @@ ${o3}` : i3; this._iterate(callback2, lowerBound + 1); return this; } + /** + * Iterate over everything in the array at the given time + * @param time The time to check if items are before + * @param callback The callback to invoke with every item + */ forEachAtTime(time, callback2) { const upperBound = this._search(time); if (upperBound !== -1 && EQ(this._timeline[upperBound].time, time)) { @@ -71245,6 +71207,9 @@ ${o3}` : i3; } return this; } + /** + * Clean up. + */ dispose() { super.dispose(); this._timeline = []; @@ -71269,11 +71234,16 @@ ${o3}` : i3; } // node_modules/tone/build/esm/core/util/Emitter.js - var Emitter = class extends Tone { + var Emitter = class _Emitter extends Tone { constructor() { super(...arguments); this.name = "Emitter"; } + /** + * Bind a callback to a specific event. + * @param event The name of the event to listen for. + * @param callback The callback to invoke when the event is emitted + */ on(event2, callback2) { const events = event2.split(/\W+/); events.forEach((eventName) => { @@ -71287,6 +71257,11 @@ ${o3}` : i3; }); return this; } + /** + * Bind a callback which is only invoked once + * @param event The name of the event to listen for. + * @param callback The callback to invoke when the event is emitted + */ once(event2, callback2) { const boundCallback = (...args) => { callback2(...args); @@ -71295,6 +71270,12 @@ ${o3}` : i3; this.on(event2, boundCallback); return this; } + /** + * Remove the event listener. + * @param event The event to stop listening to. + * @param callback The callback which was bound to the event with Emitter.on. + * If no callback is given, all callbacks events are removed. + */ off(event2, callback2) { const events = event2.split(/\W+/); events.forEach((eventName) => { @@ -71316,6 +71297,12 @@ ${o3}` : i3; }); return this; } + /** + * Invoke all of the callbacks bound to the event + * with any arguments passed in. + * @param event The name of the event. + * @param args The arguments to pass to the functions listening. + */ emit(event2, ...args) { if (this._events) { if (this._events.hasOwnProperty(event2)) { @@ -71327,12 +71314,18 @@ ${o3}` : i3; } return this; } + /** + * Add Emitter functions (on/off/emit) to the object + */ static mixin(constr) { ["on", "once", "off", "emit"].forEach((name2) => { - const property = Object.getOwnPropertyDescriptor(Emitter.prototype, name2); + const property = Object.getOwnPropertyDescriptor(_Emitter.prototype, name2); Object.defineProperty(constr.prototype, name2, property); }); } + /** + * Clean up + */ dispose() { super.dispose(); this._events = void 0; @@ -71346,23 +71339,28 @@ ${o3}` : i3; super(...arguments); this.isOffline = false; } + /* + * This is a placeholder so that JSON.stringify does not throw an error + * This matches what JSON.stringify(audioContext) returns on a native + * audioContext instance. + */ toJSON() { return {}; } }; // node_modules/tone/build/esm/core/context/Context.js - var Context = class extends BaseContext { + var Context = class _Context extends BaseContext { constructor() { super(); this.name = "Context"; - this._constants = new Map(); + this._constants = /* @__PURE__ */ new Map(); this._timeouts = new Timeline(); this._timeoutIds = 0; this._initialized = false; this.isOffline = false; - this._workletModules = new Map(); - const options = optionsFromArguments(Context.getDefaults(), arguments, [ + this._workletModules = /* @__PURE__ */ new Map(); + const options = optionsFromArguments(_Context.getDefaults(), arguments, [ "context" ]); if (options.context) { @@ -71388,6 +71386,9 @@ ${o3}` : i3; updateInterval: 0.05 }; } + /** + * Finish setting up the context. **You usually do not need to do this manually.** + */ initialize() { if (!this._initialized) { initializeContext(this); @@ -71395,6 +71396,9 @@ ${o3}` : i3; } return this; } + //--------------------------- + // BASE AUDIO CONTEXT METHODS + //--------------------------- createAnalyser() { return this._context.createAnalyser(); } @@ -71464,15 +71468,27 @@ ${o3}` : i3; decodeAudioData(audioData) { return this._context.decodeAudioData(audioData); } + /** + * The current time in seconds of the AudioContext. + */ get currentTime() { return this._context.currentTime; } + /** + * The current time in seconds of the AudioContext. + */ get state() { return this._context.state; } + /** + * The current time in seconds of the AudioContext. + */ get sampleRate() { return this._context.sampleRate; } + /** + * The listener + */ get listener() { this.initialize(); return this._listener; @@ -71481,6 +71497,9 @@ ${o3}` : i3; assert(!this._initialized, "The listener cannot be set after initialization."); this._listener = l; } + /** + * There is only one Transport per Context. It is created on initialization. + */ get transport() { this.initialize(); return this._transport; @@ -71489,6 +71508,9 @@ ${o3}` : i3; assert(!this._initialized, "The transport cannot be set after initialization."); this._transport = t2; } + /** + * This is the Draw object for the context which is useful for synchronizing the draw frame with the Tone.js clock. + */ get draw() { this.initialize(); return this._draw; @@ -71497,6 +71519,9 @@ ${o3}` : i3; assert(!this._initialized, "Draw cannot be set after initialization."); this._draw = d2; } + /** + * A reference to the Context's destination node. + */ get destination() { this.initialize(); return this._destination; @@ -71505,9 +71530,18 @@ ${o3}` : i3; assert(!this._initialized, "The destination cannot be set after initialization."); this._destination = d2; } + /** + * Create an audio worklet node from a name and options. The module + * must first be loaded using [[addAudioWorkletModule]]. + */ createAudioWorkletNode(name2, options) { return createAudioWorkletNode(this.rawContext, name2, options); } + /** + * Add an AudioWorkletProcessor module + * @param url The url of the module + * @param name The name of the module + */ addAudioWorkletModule(url, name2) { return __awaiter(this, void 0, void 0, function* () { assert(isDefined(this.rawContext.audioWorklet), "AudioWorkletNode is only available in a secure context (https or localhost)"); @@ -71517,6 +71551,9 @@ ${o3}` : i3; yield this._workletModules.get(name2); }); } + /** + * Returns a promise which resolves when all of the worklets have been loaded on this context + */ workletsAreReady() { return __awaiter(this, void 0, void 0, function* () { const promises = []; @@ -71524,21 +71561,52 @@ ${o3}` : i3; yield Promise.all(promises); }); } + //--------------------------- + // TICKER + //--------------------------- + /** + * How often the interval callback is invoked. + * This number corresponds to how responsive the scheduling + * can be. context.updateInterval + context.lookAhead gives you the + * total latency between scheduling an event and hearing it. + */ get updateInterval() { return this._ticker.updateInterval; } set updateInterval(interval) { this._ticker.updateInterval = interval; } + /** + * What the source of the clock is, either "worker" (default), + * "timeout", or "offline" (none). + */ get clockSource() { return this._ticker.type; } set clockSource(type) { this._ticker.type = type; } + /** + * The type of playback, which affects tradeoffs between audio + * output latency and responsiveness. + * In addition to setting the value in seconds, the latencyHint also + * accepts the strings "interactive" (prioritizes low latency), + * "playback" (prioritizes sustained playback), "balanced" (balances + * latency and performance). + * @example + * // prioritize sustained playback + * const context = new Tone.Context({ latencyHint: "playback" }); + * // set this context as the global Context + * Tone.setContext(context); + * // the global context is gettable with Tone.getContext() + * console.log(Tone.getContext().latencyHint); + */ get latencyHint() { return this._latencyHint; } + /** + * Update the lookAhead and updateInterval based on the latencyHint + */ _setLatencyHint(hint) { let lookAheadValue = 0; this._latencyHint = hint; @@ -71558,15 +71626,32 @@ ${o3}` : i3; this.lookAhead = lookAheadValue; this.updateInterval = lookAheadValue / 2; } + /** + * The unwrapped AudioContext or OfflineAudioContext + */ get rawContext() { return this._context; } + /** + * The current audio context time plus a short [[lookAhead]]. + */ now() { return this._context.currentTime + this.lookAhead; } + /** + * The current audio context time without the [[lookAhead]]. + * In most cases it is better to use [[now]] instead of [[immediate]] since + * with [[now]] the [[lookAhead]] is applied equally to _all_ components including internal components, + * to making sure that everything is scheduled in sync. Mixing [[now]] and [[immediate]] + * can cause some timing issues. If no lookAhead is desired, you can set the [[lookAhead]] to `0`. + */ immediate() { return this._context.currentTime; } + /** + * Starts the audio context from a suspended state. This is required + * to initially start the AudioContext. See [[Tone.start]] + */ resume() { if (isAudioContext(this._context)) { return this._context.resume(); @@ -71574,6 +71659,10 @@ ${o3}` : i3; return Promise.resolve(); } } + /** + * Close the context. Once closed, the context can no longer be used and + * any AudioNodes created from the context will be silent. + */ close() { return __awaiter(this, void 0, void 0, function* () { if (isAudioContext(this._context)) { @@ -71584,6 +71673,9 @@ ${o3}` : i3; } }); } + /** + * **Internal** Generate a looped buffer at some constant value. + */ getConstant(val) { if (this._constants.has(val)) { return this._constants.get(val); @@ -71603,6 +71695,9 @@ ${o3}` : i3; return constant; } } + /** + * Clean up. Also closes the audio context. + */ dispose() { super.dispose(); this._ticker.dispose(); @@ -71610,6 +71705,13 @@ ${o3}` : i3; Object.keys(this._constants).map((val) => this._constants[val].disconnect()); return this; } + //--------------------------- + // TIMEOUTS + //--------------------------- + /** + * The private loop which keeps track of the context scheduled timeouts + * Is invoked from the clock source + */ _timeoutLoop() { const now = this.now(); let firstEvent = this._timeouts.peek(); @@ -71619,6 +71721,13 @@ ${o3}` : i3; firstEvent = this._timeouts.peek(); } } + /** + * A setTimeout which is guaranteed by the clock source. + * Also runs in the offline context. + * @param fn The callback to invoke + * @param timeout The timeout in seconds + * @returns ID to use when invoking Context.clearTimeout + */ setTimeout(fn2, timeout2) { this._timeoutIds++; const now = this.now(); @@ -71629,19 +71738,29 @@ ${o3}` : i3; }); return this._timeoutIds; } - clearTimeout(id2) { + /** + * Clears a previously scheduled timeout with Tone.context.setTimeout + * @param id The ID returned from setTimeout + */ + clearTimeout(id) { this._timeouts.forEach((event2) => { - if (event2.id === id2) { + if (event2.id === id) { this._timeouts.remove(event2); } }); return this; } - clearInterval(id2) { - return this.clearTimeout(id2); + /** + * Clear the function scheduled by [[setInterval]] + */ + clearInterval(id) { + return this.clearTimeout(id); } + /** + * Adds a repeating event to the context's callback clock + */ setInterval(fn2, interval) { - const id2 = ++this._timeoutIds; + const id = ++this._timeoutIds; const intervalFn = () => { const now = this.now(); this._timeouts.add({ @@ -71649,12 +71768,12 @@ ${o3}` : i3; fn2(); intervalFn(); }, - id: id2, + id, time: now + interval }); }; intervalFn(); - return id2; + return id; } }; @@ -71666,6 +71785,9 @@ ${o3}` : i3; this.latencyHint = 0; this.isOffline = false; } + //--------------------------- + // BASE AUDIO CONTEXT METHODS + //--------------------------- createAnalyser() { return {}; } @@ -71729,6 +71851,9 @@ ${o3}` : i3; decodeAudioData(_audioData) { return Promise.resolve({}); } + //--------------------------- + // TONE AUDIO CONTEXT METHODS + //--------------------------- createAudioWorkletNode(_name, _options) { return {}; } @@ -71815,15 +71940,15 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/core/context/ToneAudioBuffer.js - var ToneAudioBuffer = class extends Tone { + var ToneAudioBuffer = class _ToneAudioBuffer extends Tone { constructor() { super(); this.name = "ToneAudioBuffer"; this.onload = noOp; - const options = optionsFromArguments(ToneAudioBuffer.getDefaults(), arguments, ["url", "onload", "onerror"]); + const options = optionsFromArguments(_ToneAudioBuffer.getDefaults(), arguments, ["url", "onload", "onerror"]); this.reverse = options.reverse; this.onload = options.onload; - if (options.url && isAudioBuffer(options.url) || options.url instanceof ToneAudioBuffer) { + if (options.url && isAudioBuffer(options.url) || options.url instanceof _ToneAudioBuffer) { this.set(options.url); } else if (isString(options.url)) { this.load(options.url).catch(options.onerror); @@ -71836,6 +71961,9 @@ ${o3}` : i3; reverse: false }; } + /** + * The sample rate of the AudioBuffer + */ get sampleRate() { if (this._buffer) { return this._buffer.sampleRate; @@ -71843,8 +71971,11 @@ ${o3}` : i3; return getContext().sampleRate; } } + /** + * Pass in an AudioBuffer or ToneAudioBuffer to set the value of this buffer. + */ set(buffer) { - if (buffer instanceof ToneAudioBuffer) { + if (buffer instanceof _ToneAudioBuffer) { if (buffer.loaded) { this._buffer = buffer.get(); } else { @@ -71861,30 +71992,47 @@ ${o3}` : i3; } return this; } + /** + * The audio buffer stored in the object. + */ get() { return this._buffer; } + /** + * Makes an fetch request for the selected url then decodes the file as an audio buffer. + * Invokes the callback once the audio buffer loads. + * @param url The url of the buffer to load. filetype support depends on the browser. + * @returns A Promise which resolves with this ToneAudioBuffer + */ load(url) { return __awaiter(this, void 0, void 0, function* () { - const doneLoading = ToneAudioBuffer.load(url).then((audioBuffer) => { + const doneLoading = _ToneAudioBuffer.load(url).then((audioBuffer) => { this.set(audioBuffer); this.onload(this); }); - ToneAudioBuffer.downloads.push(doneLoading); + _ToneAudioBuffer.downloads.push(doneLoading); try { yield doneLoading; } finally { - const index3 = ToneAudioBuffer.downloads.indexOf(doneLoading); - ToneAudioBuffer.downloads.splice(index3, 1); + const index3 = _ToneAudioBuffer.downloads.indexOf(doneLoading); + _ToneAudioBuffer.downloads.splice(index3, 1); } return this; }); } + /** + * clean up + */ dispose() { super.dispose(); this._buffer = void 0; return this; } + /** + * Set the audio buffer from the array. + * To create a multichannel AudioBuffer, pass in a multidimensional array. + * @param array The array to fill the audio buffer + */ fromArray(array) { const isMultidimensional = isArray(array) && array[0].length > 0; const channels = isMultidimensional ? array.length : 1; @@ -71898,6 +72046,10 @@ ${o3}` : i3; this._buffer = buffer; return this; } + /** + * Sums multiple channels into 1 channel + * @param chanNum Optionally only copy a single channel from the array. + */ toMono(chanNum) { if (isNumber(chanNum)) { this.fromArray(this.toArray(chanNum)); @@ -71915,6 +72067,11 @@ ${o3}` : i3; } return this; } + /** + * Get the buffer as an array. Single channel buffers will return a 1-dimensional + * Float32Array, and multichannel buffers will return multidimensional arrays. + * @param channel Optionally only copy a single channel from the array. + */ toArray(channel) { if (isNumber(channel)) { return this.getChannelData(channel); @@ -71928,6 +72085,11 @@ ${o3}` : i3; return ret; } } + /** + * Returns the Float32Array representing the PCM audio data for the specific channel. + * @param channel The channel number to return + * @return The audio as a TypedArray + */ getChannelData(channel) { if (this._buffer) { return this._buffer.getChannelData(channel); @@ -71935,6 +72097,12 @@ ${o3}` : i3; return new Float32Array(0); } } + /** + * Cut a subsection of the array and return a buffer of the + * subsection. Does not modify the original buffer + * @param start The time to start the slice + * @param end The end time to slice. If none is given will default to the end of the buffer + */ slice(start2, end = this.duration) { const startSamples = Math.floor(start2 * this.sampleRate); const endSamples = Math.floor(end * this.sampleRate); @@ -71944,8 +72112,11 @@ ${o3}` : i3; for (let channel = 0; channel < this.numberOfChannels; channel++) { retBuffer.copyToChannel(this.getChannelData(channel).subarray(startSamples, endSamples), channel); } - return new ToneAudioBuffer(retBuffer); + return new _ToneAudioBuffer(retBuffer); } + /** + * Reverse the buffer. + */ _reverse() { if (this.loaded) { for (let i = 0; i < this.numberOfChannels; i++) { @@ -71954,9 +72125,15 @@ ${o3}` : i3; } return this; } + /** + * If the buffer is loaded or not + */ get loaded() { return this.length > 0; } + /** + * The duration of the buffer in seconds. + */ get duration() { if (this._buffer) { return this._buffer.duration; @@ -71964,6 +72141,9 @@ ${o3}` : i3; return 0; } } + /** + * The length of the buffer in samples + */ get length() { if (this._buffer) { return this._buffer.length; @@ -71971,6 +72151,9 @@ ${o3}` : i3; return 0; } } + /** + * The number of discrete audio channels. Returns 0 if no buffer is loaded. + */ get numberOfChannels() { if (this._buffer) { return this._buffer.numberOfChannels; @@ -71978,6 +72161,9 @@ ${o3}` : i3; return 0; } } + /** + * Reverse the buffer. + */ get reverse() { return this._reversed; } @@ -71987,15 +72173,29 @@ ${o3}` : i3; this._reverse(); } } + /** + * Create a ToneAudioBuffer from the array. To create a multichannel AudioBuffer, + * pass in a multidimensional array. + * @param array The array to fill the audio buffer + * @return A ToneAudioBuffer created from the array + */ static fromArray(array) { - return new ToneAudioBuffer().fromArray(array); + return new _ToneAudioBuffer().fromArray(array); } + /** + * Creates a ToneAudioBuffer from a URL, returns a promise which resolves to a ToneAudioBuffer + * @param url The url to load. + * @return A promise which resolves to a ToneAudioBuffer + */ static fromUrl(url) { return __awaiter(this, void 0, void 0, function* () { - const buffer = new ToneAudioBuffer(); + const buffer = new _ToneAudioBuffer(); return yield buffer.load(url); }); } + /** + * Loads a url using fetch and returns the AudioBuffer. + */ static load(url) { return __awaiter(this, void 0, void 0, function* () { const matches2 = url.match(/\[([^\]\[]+\|.+)\]$/); @@ -72003,14 +72203,14 @@ ${o3}` : i3; const extensions = matches2[1].split("|"); let extension = extensions[0]; for (const ext of extensions) { - if (ToneAudioBuffer.supportsType(ext)) { + if (_ToneAudioBuffer.supportsType(ext)) { extension = ext; break; } } url = url.replace(matches2[0], extension); } - const baseUrl = ToneAudioBuffer.baseUrl === "" || ToneAudioBuffer.baseUrl.endsWith("/") ? ToneAudioBuffer.baseUrl : ToneAudioBuffer.baseUrl + "/"; + const baseUrl = _ToneAudioBuffer.baseUrl === "" || _ToneAudioBuffer.baseUrl.endsWith("/") ? _ToneAudioBuffer.baseUrl : _ToneAudioBuffer.baseUrl + "/"; const response = yield fetch(baseUrl + url); if (!response.ok) { throw new Error(`could not load url: ${url}`); @@ -72020,17 +72220,29 @@ ${o3}` : i3; return audioBuffer; }); } + /** + * Checks a url's extension to see if the current browser can play that file type. + * @param url The url/extension to test + * @return If the file extension can be played + * @static + * @example + * Tone.ToneAudioBuffer.supportsType("wav"); // returns true + * Tone.ToneAudioBuffer.supportsType("path/to/file.wav"); // returns true + */ static supportsType(url) { const extensions = url.split("."); const extension = extensions[extensions.length - 1]; const response = document.createElement("audio").canPlayType("audio/" + extension); return response !== ""; } + /** + * Returns a Promise which resolves when all of the buffers have loaded + */ static loaded() { return __awaiter(this, void 0, void 0, function* () { yield Promise.resolve(); - while (ToneAudioBuffer.downloads.length) { - yield ToneAudioBuffer.downloads[0]; + while (_ToneAudioBuffer.downloads.length) { + yield _ToneAudioBuffer.downloads[0]; } }); } @@ -72052,12 +72264,21 @@ ${o3}` : i3; this.isOffline = true; this._duration = isOfflineAudioContext(arguments[0]) ? arguments[0].length / arguments[0].sampleRate : arguments[1]; } + /** + * Override the now method to point to the internal clock time + */ now() { return this._currentTime; } + /** + * Same as this.now() + */ get currentTime() { return this._currentTime; } + /** + * Render just the clock portion of the audio context. + */ _renderClock(asynchronous) { return __awaiter(this, void 0, void 0, function* () { let index3 = 0; @@ -72072,6 +72293,10 @@ ${o3}` : i3; } }); } + /** + * Render the output of the OfflineContext + * @param asynchronous If the clock should be rendered asynchronously, which will not block the main thread, but be slightly slower. + */ render(asynchronous = true) { return __awaiter(this, void 0, void 0, function* () { yield this.workletsAreReady(); @@ -72080,6 +72305,9 @@ ${o3}` : i3; return new ToneAudioBuffer(buffer); }); } + /** + * Close the context + */ close() { return Promise.resolve(); } @@ -72140,7 +72368,13 @@ ${o3}` : i3; } // node_modules/tone/build/esm/core/type/TimeBase.js - var TimeBaseClass = class extends Tone { + var TimeBaseClass = class _TimeBaseClass extends Tone { + /** + * @param context The context associated with the time value. Used to compute + * Transport and context-relative timing. + * @param value The time value as a number, string or object + * @param units Unit values + */ constructor(context2, value, units) { super(); this.defaultUnits = "s"; @@ -72149,6 +72383,9 @@ ${o3}` : i3; this.context = context2; this._expressions = this._getExpressions(); } + /** + * All of the time encoding expressions + */ _getExpressions() { return { hz: { @@ -72224,8 +72461,14 @@ ${o3}` : i3; } }; } + //------------------------------------- + // VALUE OF + //------------------------------------- + /** + * Evaluate the time value. Returns the time in seconds. + */ valueOf() { - if (this._val instanceof TimeBaseClass) { + if (this._val instanceof _TimeBaseClass) { this.fromType(this._val); } if (isUndef(this._val)) { @@ -72262,30 +72505,67 @@ ${o3}` : i3; return this._val; } } + //------------------------------------- + // UNIT CONVERSIONS + //------------------------------------- + /** + * Returns the value of a frequency in the current units + */ _frequencyToUnits(freq) { return 1 / freq; } + /** + * Return the value of the beats in the current units + */ _beatsToUnits(beats) { return 60 / this._getBpm() * beats; } + /** + * Returns the value of a second in the current units + */ _secondsToUnits(seconds) { return seconds; } + /** + * Returns the value of a tick in the current time units + */ _ticksToUnits(ticks) { return ticks * this._beatsToUnits(1) / this._getPPQ(); } + /** + * With no arguments, return 'now' + */ _noArg() { return this._now(); } + //------------------------------------- + // TEMPO CONVERSIONS + //------------------------------------- + /** + * Return the bpm + */ _getBpm() { return this.context.transport.bpm.value; } + /** + * Return the timeSignature + */ _getTimeSignature() { return this.context.transport.timeSignature; } + /** + * Return the PPQ or 192 if Transport is not available + */ _getPPQ() { return this.context.transport.PPQ; } + //------------------------------------- + // CONVERSION INTERFACE + //------------------------------------- + /** + * Coerce a time type into this units type. + * @param type Any time type units + */ fromType(type) { this._units = void 0; switch (this.defaultUnits) { @@ -72304,19 +72584,28 @@ ${o3}` : i3; } return this; } + /** + * Return the value in hertz + */ toFrequency() { return 1 / this.toSeconds(); } + /** + * Return the time in samples + */ toSamples() { return this.toSeconds() * this.context.sampleRate; } + /** + * Return the time in milliseconds. + */ toMilliseconds() { return this.toSeconds() * 1e3; } }; // node_modules/tone/build/esm/core/type/Time.js - var TimeClass = class extends TimeBaseClass { + var TimeClass = class _TimeClass extends TimeBaseClass { constructor() { super(...arguments); this.name = "TimeClass"; @@ -72331,13 +72620,23 @@ ${o3}` : i3; }, quantize: { method: (capture) => { - const quantTo = new TimeClass(this.context, capture).valueOf(); + const quantTo = new _TimeClass(this.context, capture).valueOf(); return this._secondsToUnits(this.context.transport.nextSubdivision(quantTo)); }, regexp: /^@(.+)/ } }); } + /** + * Quantize the time by the given subdivision. Optionally add a + * percentage which will move the time value towards the ideal + * quantized value by that percentage. + * @param subdiv The subdivision to quantize to + * @param percent Move the time value towards the quantized value by a percentage. + * @example + * Tone.Time(21).quantize(2); // returns 22 + * Tone.Time(0.6).quantize("4n", 0.5); // returns 0.55 + */ quantize(subdiv, percent = 1) { const subdivision = new this.constructor(this.context, subdiv).valueOf(); const value = this.valueOf(); @@ -72346,6 +72645,17 @@ ${o3}` : i3; const diff = ideal - value; return value + diff * percent; } + //------------------------------------- + // CONVERSIONS + //------------------------------------- + /** + * Convert a Time to Notation. The notation values are will be the + * closest representation between 1m to 128th note. + * @return {Notation} + * @example + * // if the Transport is at 120bpm: + * Tone.Time(2).toNotation(); // returns "1m" + */ toNotation() { const time = this.toSeconds(); const testNotations = ["1m"]; @@ -72357,9 +72667,9 @@ ${o3}` : i3; } testNotations.push("0"); let closest2 = testNotations[0]; - let closestSeconds = new TimeClass(this.context, testNotations[0]).toSeconds(); + let closestSeconds = new _TimeClass(this.context, testNotations[0]).toSeconds(); testNotations.forEach((notation) => { - const notationSeconds = new TimeClass(this.context, notation).toSeconds(); + const notationSeconds = new _TimeClass(this.context, notation).toSeconds(); if (Math.abs(notationSeconds - time) < Math.abs(closestSeconds - time)) { closest2 = notation; closestSeconds = notationSeconds; @@ -72367,6 +72677,9 @@ ${o3}` : i3; }); return closest2; } + /** + * Return the time encoded as Bars:Beats:Sixteenths. + */ toBarsBeatsSixteenths() { const quarterTime = this._beatsToUnits(1); let quarters = this.valueOf() / quarterTime; @@ -72381,14 +72694,23 @@ ${o3}` : i3; const progress = [measures, quarters, sixteenths]; return progress.join(":"); } + /** + * Return the time in ticks. + */ toTicks() { const quarterTime = this._beatsToUnits(1); const quarters = this.valueOf() / quarterTime; return Math.round(quarters * this._getPPQ()); } + /** + * Return the time in seconds. + */ toSeconds() { return this.valueOf(); } + /** + * Return the value as a midi note. + */ toMidi() { return ftom(this.toFrequency()); } @@ -72398,18 +72720,25 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/core/type/Frequency.js - var FrequencyClass = class extends TimeClass { + var FrequencyClass = class _FrequencyClass extends TimeClass { constructor() { super(...arguments); this.name = "Frequency"; this.defaultUnits = "hz"; } + /** + * The [concert tuning pitch](https://en.wikipedia.org/wiki/Concert_pitch) which is used + * to generate all the other pitch values from notes. A4's values in Hertz. + */ static get A4() { return getA4(); } static set A4(freq) { setA4(freq); } + //------------------------------------- + // AUGMENT BASE EXPRESSIONS + //------------------------------------- _getExpressions() { return Object.assign({}, super._getExpressions(), { midi: { @@ -72418,7 +72747,7 @@ ${o3}` : i3; if (this.defaultUnits === "midi") { return value; } else { - return FrequencyClass.mtof(value); + return _FrequencyClass.mtof(value); } } }, @@ -72430,7 +72759,7 @@ ${o3}` : i3; if (this.defaultUnits === "midi") { return noteNumber; } else { - return FrequencyClass.mtof(noteNumber); + return _FrequencyClass.mtof(noteNumber); } } }, @@ -72452,20 +72781,49 @@ ${o3}` : i3; } }); } + //------------------------------------- + // EXPRESSIONS + //------------------------------------- + /** + * Transposes the frequency by the given number of semitones. + * @return A new transposed frequency + * @example + * Tone.Frequency("A4").transpose(3); // "C5" + */ transpose(interval) { - return new FrequencyClass(this.context, this.valueOf() * intervalToFrequencyRatio(interval)); - } + return new _FrequencyClass(this.context, this.valueOf() * intervalToFrequencyRatio(interval)); + } + /** + * Takes an array of semitone intervals and returns + * an array of frequencies transposed by those intervals. + * @return Returns an array of Frequencies + * @example + * Tone.Frequency("A4").harmonize([0, 3, 7]); // ["A4", "C5", "E5"] + */ harmonize(intervals) { return intervals.map((interval) => { return this.transpose(interval); }); } + //------------------------------------- + // UNIT CONVERSIONS + //------------------------------------- + /** + * Return the value of the frequency as a MIDI note + * @example + * Tone.Frequency("C4").toMidi(); // 60 + */ toMidi() { return ftom(this.valueOf()); } + /** + * Return the value of the frequency in Scientific Pitch Notation + * @example + * Tone.Frequency(69, "midi").toNote(); // "A4" + */ toNote() { const freq = this.toFrequency(); - const log2 = Math.log2(freq / FrequencyClass.A4); + const log2 = Math.log2(freq / _FrequencyClass.A4); let noteNumber = Math.round(12 * log2) + 57; const octave = Math.floor(noteNumber / 12); if (octave < 0) { @@ -72474,32 +72832,65 @@ ${o3}` : i3; const noteName = scaleIndexToNote[noteNumber % 12]; return noteName + octave.toString(); } + /** + * Return the duration of one cycle in seconds. + */ toSeconds() { return 1 / super.toSeconds(); } + /** + * Return the duration of one cycle in ticks + */ toTicks() { const quarterTime = this._beatsToUnits(1); const quarters = this.valueOf() / quarterTime; return Math.floor(quarters * this._getPPQ()); } + //------------------------------------- + // UNIT CONVERSIONS HELPERS + //------------------------------------- + /** + * With no arguments, return 0 + */ _noArg() { return 0; } + /** + * Returns the value of a frequency in the current units + */ _frequencyToUnits(freq) { return freq; } + /** + * Returns the value of a tick in the current time units + */ _ticksToUnits(ticks) { return 1 / (ticks * 60 / (this._getBpm() * this._getPPQ())); } + /** + * Return the value of the beats in the current units + */ _beatsToUnits(beats) { return 1 / super._beatsToUnits(beats); } + /** + * Returns the value of a second in the current units + */ _secondsToUnits(seconds) { return 1 / seconds; } + /** + * Convert a MIDI note to frequency value. + * @param midi The midi number to convert. + * @return The corresponding frequency value + */ static mtof(midi) { return mtof(midi); } + /** + * Convert a frequency value to a MIDI note. + * @param frequency The value to frequency value to convert. + */ static ftom(frequency) { return ftom(frequency); } @@ -72549,16 +72940,19 @@ ${o3}` : i3; super(...arguments); this.name = "TransportTime"; } + /** + * Return the current time in whichever context is relevant + */ _now() { return this.context.transport.seconds; } }; // node_modules/tone/build/esm/core/context/ToneWithContext.js - var ToneWithContext = class extends Tone { + var ToneWithContext = class _ToneWithContext extends Tone { constructor() { super(); - const options = optionsFromArguments(ToneWithContext.getDefaults(), arguments, ["context"]); + const options = optionsFromArguments(_ToneWithContext.getDefaults(), arguments, ["context"]); if (this.defaultContext) { this.context = this.defaultContext; } else { @@ -72570,27 +72964,78 @@ ${o3}` : i3; context: getContext() }; } + /** + * Return the current time of the Context clock plus the lookAhead. + * @example + * setInterval(() => { + * console.log(Tone.now()); + * }, 100); + */ now() { return this.context.currentTime + this.context.lookAhead; } + /** + * Return the current time of the Context clock without any lookAhead. + * @example + * setInterval(() => { + * console.log(Tone.immediate()); + * }, 100); + */ immediate() { return this.context.currentTime; } + /** + * The duration in seconds of one sample. + * @example + * console.log(Tone.Transport.sampleTime); + */ get sampleTime() { return 1 / this.context.sampleRate; } + /** + * The number of seconds of 1 processing block (128 samples) + * @example + * console.log(Tone.Destination.blockTime); + */ get blockTime() { return 128 / this.context.sampleRate; } + /** + * Convert the incoming time to seconds. + * This is calculated against the current [[Tone.Transport]] bpm + * @example + * const gain = new Tone.Gain(); + * setInterval(() => console.log(gain.toSeconds("4n")), 100); + * // ramp the tempo to 60 bpm over 30 seconds + * Tone.getTransport().bpm.rampTo(60, 30); + */ toSeconds(time) { return new TimeClass(this.context, time).toSeconds(); } + /** + * Convert the input to a frequency number + * @example + * const gain = new Tone.Gain(); + * console.log(gain.toFrequency("4n")); + */ toFrequency(freq) { return new FrequencyClass(this.context, freq).toFrequency(); } + /** + * Convert the input time into ticks + * @example + * const gain = new Tone.Gain(); + * console.log(gain.toTicks("4n")); + */ toTicks(time) { return new TransportTimeClass(this.context, time).toTicks(); } + //------------------------------------- + // GET/SET + //------------------------------------- + /** + * Get a subset of the properties which are in the partial props + */ _getPartialProperties(props) { const options = this.get(); Object.keys(options).forEach((name2) => { @@ -72600,6 +73045,12 @@ ${o3}` : i3; }); return options; } + /** + * Get the object's attributes. + * @example + * const osc = new Tone.Oscillator(); + * console.log(osc.get()); + */ get() { const defaults4 = getDefaultsFromInstance(this); Object.keys(defaults4).forEach((attribute) => { @@ -72607,7 +73058,7 @@ ${o3}` : i3; const member = this[attribute]; if (isDefined(member) && isDefined(member.value) && isDefined(member.setValueAtTime)) { defaults4[attribute] = member.value; - } else if (member instanceof ToneWithContext) { + } else if (member instanceof _ToneWithContext) { defaults4[attribute] = member._getPartialProperties(defaults4[attribute]); } else if (isArray(member) || isNumber(member) || isString(member) || isBoolean(member)) { defaults4[attribute] = member; @@ -72618,6 +73069,18 @@ ${o3}` : i3; }); return defaults4; } + /** + * Set multiple properties at once with an object. + * @example + * const filter = new Tone.Filter().toDestination(); + * // set values using an object + * filter.set({ + * frequency: "C6", + * type: "highpass" + * }); + * const player = new Tone.Player("https://tonejs.github.io/audio/berklee/Analogsynth_octaves_highmid.mp3").connect(filter); + * player.autostart = true; + */ set(props) { Object.keys(props).forEach((attribute) => { if (Reflect.has(this, attribute) && isDefined(this[attribute])) { @@ -72625,7 +73088,7 @@ ${o3}` : i3; if (this[attribute].value !== props[attribute]) { this[attribute].value = props[attribute]; } - } else if (this[attribute] instanceof ToneWithContext) { + } else if (this[attribute] instanceof _ToneWithContext) { this[attribute].set(props[attribute]); } else { this[attribute] = props[attribute]; @@ -72644,6 +73107,12 @@ ${o3}` : i3; this._initial = initial; this.setStateAtTime(this._initial, 0); } + /** + * Returns the scheduled state scheduled before or at + * the given time. + * @param time The time to query. + * @return The name of the state input in setStateAtTime. + */ getValueAtTime(time) { const event2 = this.get(time); if (event2 !== null) { @@ -72652,6 +73121,12 @@ ${o3}` : i3; return this._initial; } } + /** + * Add a state to the timeline. + * @param state The name of the state to set. + * @param time The time to query. + * @param options Any additional options that are needed in the timeline. + */ setStateAtTime(state, time, options) { assertRange(time, 0); this.add(Object.assign({}, options, { @@ -72660,6 +73135,12 @@ ${o3}` : i3; })); return this; } + /** + * Return the event before the time with the given state + * @param state The state to look for + * @param time When to check before + * @return The event with the given state before the time + */ getLastState(state, time) { const index3 = this._search(time); for (let i = index3; i >= 0; i--) { @@ -72669,6 +73150,12 @@ ${o3}` : i3; } } } + /** + * Return the event after the time with the given state + * @param state The state to look for + * @param time When to check from + * @return The event with the given state after the time + */ getNextState(state, time) { const index3 = this._search(time); if (index3 !== -1) { @@ -72683,14 +73170,14 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/core/context/Param.js - var Param = class extends ToneWithContext { + var Param = class _Param extends ToneWithContext { constructor() { - super(optionsFromArguments(Param.getDefaults(), arguments, ["param", "units", "convert"])); + super(optionsFromArguments(_Param.getDefaults(), arguments, ["param", "units", "convert"])); this.name = "Param"; this.overridden = false; this._minOutput = 1e-7; - const options = optionsFromArguments(Param.getDefaults(), arguments, ["param", "units", "convert"]); - assert(isDefined(options.param) && (isAudioParam(options.param) || options.param instanceof Param), "param must be an AudioParam"); + const options = optionsFromArguments(_Param.getDefaults(), arguments, ["param", "units", "convert"]); + assert(isDefined(options.param) && (isAudioParam(options.param) || options.param instanceof _Param), "param must be an AudioParam"); while (!isAudioParam(options.param)) { options.param = options.param._param; } @@ -72748,15 +73235,25 @@ ${o3}` : i3; return this._param.maxValue; } } + /** + * Type guard based on the unit name + */ _is(arg, type) { return this.units === type; } + /** + * Make sure the value is always in the defined range + */ _assertRange(value) { if (isDefined(this.maxValue) && isDefined(this.minValue)) { assertRange(value, this._fromType(this.minValue), this._fromType(this.maxValue)); } return value; } + /** + * Convert the given value from the type specified by Param.units + * into the destination value (such as Gain or Frequency). + */ _fromType(val) { if (this.convert && !this.overridden) { if (this._is(val, "time")) { @@ -72774,6 +73271,9 @@ ${o3}` : i3; return val; } } + /** + * Convert the parameters value into the units specified by Param.units. + */ _toType(val) { if (this.convert && this.units === "decibels") { return gainToDb(val); @@ -72781,6 +73281,10 @@ ${o3}` : i3; return val; } } + //------------------------------------- + // ABSTRACT PARAM INTERFACE + // all docs are generated from ParamInterface.ts + //------------------------------------- setValueAtTime(value, time) { const computedTime = this.toSeconds(time); const numericValue = this._fromType(value); @@ -72977,6 +73481,11 @@ ${o3}` : i3; } return this; } + /** + * Apply all of the previously scheduled events to the passed in Param or AudioParam. + * The applied values will start at the context's current time and schedule + * all of the events which are scheduled on this Param onto the passed in param. + */ apply(param) { const now = this.context.currentTime; param.setValueAtTime(this.getValueAtTime(now), now); @@ -73000,6 +73509,10 @@ ${o3}` : i3; }); return this; } + /** + * Replace the Param's internal AudioParam. Will apply scheduled curves + * onto the parameter and replace the connections. + */ setParam(param) { assert(this._swappable, "The Param must be assigned as 'swappable' in the constructor"); const input2 = this.input; @@ -73017,24 +73530,38 @@ ${o3}` : i3; get defaultValue() { return this._toType(this._param.defaultValue); } + //------------------------------------- + // AUTOMATION CURVE CALCULATIONS + // MIT License, copyright (c) 2014 Jordan Santell + //------------------------------------- + // Calculates the the value along the curve produced by setTargetAtTime _exponentialApproach(t0, v0, v1, timeConstant, t2) { return v1 + (v0 - v1) * Math.exp(-(t2 - t0) / timeConstant); } + // Calculates the the value along the curve produced by linearRampToValueAtTime _linearInterpolate(t0, v0, t1, v1, t2) { return v0 + (v1 - v0) * ((t2 - t0) / (t1 - t0)); } + // Calculates the the value along the curve produced by exponentialRampToValueAtTime _exponentialInterpolate(t0, v0, t1, v1, t2) { return v0 * Math.pow(v1 / v0, (t2 - t0) / (t1 - t0)); } }; // node_modules/tone/build/esm/core/context/ToneAudioNode.js - var ToneAudioNode = class extends ToneWithContext { + var ToneAudioNode = class _ToneAudioNode extends ToneWithContext { constructor() { super(...arguments); this.name = "ToneAudioNode"; this._internalChannels = []; } + /** + * The number of inputs feeding into the AudioNode. + * For source nodes, this will be 0. + * @example + * const node = new Tone.Gain(); + * console.log(node.numberOfInputs); + */ get numberOfInputs() { if (isDefined(this.input)) { if (isAudioParam(this.input) || this.input instanceof Param) { @@ -73046,6 +73573,12 @@ ${o3}` : i3; return 0; } } + /** + * The number of outputs of the AudioNode. + * @example + * const node = new Tone.Gain(); + * console.log(node.numberOfOutputs); + */ get numberOfOutputs() { if (isDefined(this.output)) { return this.output.numberOfOutputs; @@ -73053,9 +73586,19 @@ ${o3}` : i3; return 0; } } + //------------------------------------- + // AUDIO PROPERTIES + //------------------------------------- + /** + * Used to decide which nodes to get/set properties on + */ _isAudioNode(node) { - return isDefined(node) && (node instanceof ToneAudioNode || isAudioNode2(node)); + return isDefined(node) && (node instanceof _ToneAudioNode || isAudioNode2(node)); } + /** + * Get all of the audio nodes (either internal or input/output) which together + * make up how the class node responds to channel input/output + */ _getInternalNodes() { const nodeList = this._internalChannels.slice(0); if (this._isAudioNode(this.input)) { @@ -73068,6 +73611,11 @@ ${o3}` : i3; } return nodeList; } + /** + * Set the audio options for this node such as channelInterpretation + * channelCount, etc. + * @param options + */ _setChannelProperties(options) { const nodeList = this._getInternalNodes(); nodeList.forEach((node) => { @@ -73076,6 +73624,10 @@ ${o3}` : i3; node.channelInterpretation = options.channelInterpretation; }); } + /** + * Get the current audio options for this node such as channelInterpretation + * channelCount, etc. + */ _getChannelProperties() { const nodeList = this._getInternalNodes(); assert(nodeList.length > 0, "ToneAudioNode does not have any internal nodes"); @@ -73086,6 +73638,11 @@ ${o3}` : i3; channelInterpretation: node.channelInterpretation }; } + /** + * channelCount is the number of channels used when up-mixing and down-mixing + * connections to any inputs to the node. The default value is 2 except for + * specific nodes where its value is specially determined. + */ get channelCount() { return this._getChannelProperties().channelCount; } @@ -73093,6 +73650,14 @@ ${o3}` : i3; const props = this._getChannelProperties(); this._setChannelProperties(Object.assign(props, { channelCount })); } + /** + * channelCountMode determines how channels will be counted when up-mixing and + * down-mixing connections to any inputs to the node. + * The default value is "max". This attribute has no effect for nodes with no inputs. + * * "max" - computedNumberOfChannels is the maximum of the number of channels of all connections to an input. In this mode channelCount is ignored. + * * "clamped-max" - computedNumberOfChannels is determined as for "max" and then clamped to a maximum value of the given channelCount. + * * "explicit" - computedNumberOfChannels is the exact value as specified by the channelCount. + */ get channelCountMode() { return this._getChannelProperties().channelCountMode; } @@ -73100,6 +73665,11 @@ ${o3}` : i3; const props = this._getChannelProperties(); this._setChannelProperties(Object.assign(props, { channelCountMode })); } + /** + * channelInterpretation determines how individual channels will be treated + * when up-mixing and down-mixing connections to any inputs to the node. + * The default value is "speakers". + */ get channelInterpretation() { return this._getChannelProperties().channelInterpretation; } @@ -73107,41 +73677,87 @@ ${o3}` : i3; const props = this._getChannelProperties(); this._setChannelProperties(Object.assign(props, { channelInterpretation })); } + //------------------------------------- + // CONNECTIONS + //------------------------------------- + /** + * connect the output of a ToneAudioNode to an AudioParam, AudioNode, or ToneAudioNode + * @param destination The output to connect to + * @param outputNum The output to connect from + * @param inputNum The input to connect to + */ connect(destination, outputNum = 0, inputNum = 0) { connect(this, destination, outputNum, inputNum); return this; } + /** + * Connect the output to the context's destination node. + * @example + * const osc = new Tone.Oscillator("C2").start(); + * osc.toDestination(); + */ toDestination() { this.connect(this.context.destination); return this; } + /** + * Connect the output to the context's destination node. + * See [[toDestination]] + * @deprecated + */ toMaster() { warn("toMaster() has been renamed toDestination()"); return this.toDestination(); } + /** + * disconnect the output + */ disconnect(destination, outputNum = 0, inputNum = 0) { disconnect(this, destination, outputNum, inputNum); return this; } + /** + * Connect the output of this node to the rest of the nodes in series. + * @example + * const player = new Tone.Player("https://tonejs.github.io/audio/drum-samples/handdrum-loop.mp3"); + * player.autostart = true; + * const filter = new Tone.AutoFilter(4).start(); + * const distortion = new Tone.Distortion(0.5); + * // connect the player to the filter, distortion and then to the master output + * player.chain(filter, distortion, Tone.Destination); + */ chain(...nodes) { connectSeries(this, ...nodes); return this; } + /** + * connect the output of this node to the rest of the nodes in parallel. + * @example + * const player = new Tone.Player("https://tonejs.github.io/audio/drum-samples/conga-rhythm.mp3"); + * player.autostart = true; + * const pitchShift = new Tone.PitchShift(4).toDestination(); + * const filter = new Tone.Filter("G5").toDestination(); + * // connect a node to the pitch shift and filter in parallel + * player.fan(pitchShift, filter); + */ fan(...nodes) { nodes.forEach((node) => this.connect(node)); return this; } + /** + * Dispose and disconnect + */ dispose() { super.dispose(); if (isDefined(this.input)) { - if (this.input instanceof ToneAudioNode) { + if (this.input instanceof _ToneAudioNode) { this.input.dispose(); } else if (isAudioNode2(this.input)) { this.input.disconnect(); } } if (isDefined(this.output)) { - if (this.output instanceof ToneAudioNode) { + if (this.output instanceof _ToneAudioNode) { this.output.dispose(); } else if (isAudioNode2(this.output)) { this.output.disconnect(); @@ -73206,14 +73822,14 @@ ${o3}` : i3; } // node_modules/tone/build/esm/core/context/Gain.js - var Gain = class extends ToneAudioNode { + var Gain = class _Gain extends ToneAudioNode { constructor() { - super(optionsFromArguments(Gain.getDefaults(), arguments, ["gain", "units"])); + super(optionsFromArguments(_Gain.getDefaults(), arguments, ["gain", "units"])); this.name = "Gain"; this._gainNode = this.context.createGain(); this.input = this._gainNode; this.output = this._gainNode; - const options = optionsFromArguments(Gain.getDefaults(), arguments, ["gain", "units"]); + const options = optionsFromArguments(_Gain.getDefaults(), arguments, ["gain", "units"]); this.gain = new Param({ context: this.context, convert: options.convert, @@ -73232,6 +73848,9 @@ ${o3}` : i3; units: "gain" }); } + /** + * Clean up. + */ dispose() { super.dispose(); this._gainNode.disconnect(); @@ -73274,6 +73893,10 @@ ${o3}` : i3; onended: noOp }); } + /** + * Start the source at the given time + * @param time When to start the source + */ _startGain(time, gain = 1) { assert(this._startTime === -1, "Source cannot be started more than once"); const fadeInTime = this.toSeconds(this._fadeIn); @@ -73291,11 +73914,19 @@ ${o3}` : i3; } return this; } + /** + * Stop the source node at the given time. + * @param time When to stop the source + */ stop(time) { this.log("stop", time); this._stopGain(this.toSeconds(time)); return this; } + /** + * Stop the source at the given time + * @param time When to stop the source + */ _stopGain(time) { assert(this._startTime !== -1, "'start' must be called before 'stop'"); this.cancelStop(); @@ -73320,6 +73951,9 @@ ${o3}` : i3; }, this._stopTime - this.context.currentTime); return this; } + /** + * Invoke the onended callback + */ _onended() { if (this.onended !== noOp) { this.onended(this); @@ -73334,9 +73968,15 @@ ${o3}` : i3; } } } + /** + * Get the playback state at the current time + */ get state() { return this.getStateAtTime(this.now()); } + /** + * Cancel a scheduled stop event + */ cancelStop() { this.log("cancelStop"); assert(this._startTime !== -1, "Source is not started"); @@ -73353,12 +73993,12 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/signal/ToneConstantSource.js - var ToneConstantSource = class extends OneShotSource { + var ToneConstantSource = class _ToneConstantSource extends OneShotSource { constructor() { - super(optionsFromArguments(ToneConstantSource.getDefaults(), arguments, ["offset"])); + super(optionsFromArguments(_ToneConstantSource.getDefaults(), arguments, ["offset"])); this.name = "ToneConstantSource"; this._source = this.context.createConstantSource(); - const options = optionsFromArguments(ToneConstantSource.getDefaults(), arguments, ["offset"]); + const options = optionsFromArguments(_ToneConstantSource.getDefaults(), arguments, ["offset"]); connect(this._source, this._gainNode); this.offset = new Param({ context: this.context, @@ -73377,6 +74017,10 @@ ${o3}` : i3; units: "number" }); } + /** + * Start the source node at the given time + * @param time When to start the source + */ start(time) { const computedTime = this.toSeconds(time); this.log("start", computedTime); @@ -73399,12 +74043,12 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/signal/Signal.js - var Signal = class extends ToneAudioNode { + var Signal = class _Signal extends ToneAudioNode { constructor() { - super(optionsFromArguments(Signal.getDefaults(), arguments, ["value", "units"])); + super(optionsFromArguments(_Signal.getDefaults(), arguments, ["value", "units"])); this.name = "Signal"; this.override = true; - const options = optionsFromArguments(Signal.getDefaults(), arguments, ["value", "units"]); + const options = optionsFromArguments(_Signal.getDefaults(), arguments, ["value", "units"]); this.output = this._constantSource = new ToneConstantSource({ context: this.context, convert: options.convert, @@ -73433,6 +74077,11 @@ ${o3}` : i3; this._constantSource.dispose(); return this; } + //------------------------------------- + // ABSTRACT PARAM INTERFACE + // just a proxy for the ConstantSourceNode's offset AudioParam + // all docs are generated from AbstractParam.ts + //------------------------------------- setValueAtTime(value, time) { this._param.setValueAtTime(value, time); return this; @@ -73515,6 +74164,9 @@ ${o3}` : i3; get minValue() { return this._param.minValue; } + /** + * See [[Param.apply]]. + */ apply(param) { this._param.apply(param); return this; @@ -73532,13 +74184,13 @@ ${o3}` : i3; } // node_modules/tone/build/esm/core/clock/TickParam.js - var TickParam = class extends Param { + var TickParam = class _TickParam extends Param { constructor() { - super(optionsFromArguments(TickParam.getDefaults(), arguments, ["value"])); + super(optionsFromArguments(_TickParam.getDefaults(), arguments, ["value"])); this.name = "TickParam"; this._events = new Timeline(Infinity); this._multiplier = 1; - const options = optionsFromArguments(TickParam.getDefaults(), arguments, ["value"]); + const options = optionsFromArguments(_TickParam.getDefaults(), arguments, ["value"]); this._multiplier = options.multiplier; this._events.cancel(0); this._events.add({ @@ -73600,6 +74252,12 @@ ${o3}` : i3; } return this; } + /** + * Returns the tick value at the time. Takes into account + * any automation curves scheduled on the signal. + * @param event The time to get the tick count at + * @return The number of ticks which have elapsed at the time given any automations. + */ _getTicksUntilEvent(event2, time) { if (event2 === null) { event2 = { @@ -73620,16 +74278,32 @@ ${o3}` : i3; } return 0.5 * (time - event2.time) * (val0 + val1) + event2.ticks; } + /** + * Returns the tick value at the time. Takes into account + * any automation curves scheduled on the signal. + * @param time The time to get the tick count at + * @return The number of ticks which have elapsed at the time given any automations. + */ getTicksAtTime(time) { const computedTime = this.toSeconds(time); const event2 = this._events.get(computedTime); return Math.max(this._getTicksUntilEvent(event2, computedTime), 0); } + /** + * Return the elapsed time of the number of ticks from the given time + * @param ticks The number of ticks to calculate + * @param time The time to get the next tick from + * @return The duration of the number of ticks from the given time in seconds + */ getDurationOfTicks(ticks, time) { const computedTime = this.toSeconds(time); const currentTick = this.getTicksAtTime(time); return this.getTimeOfTick(currentTick + ticks) - computedTime; } + /** + * Given a tick, returns the time that tick occurs at. + * @return The time that the tick occurs. + */ getTimeOfTick(tick) { const before = this._events.get(tick, "ticks"); const after = this._events.getAfter(tick, "ticks"); @@ -73653,9 +74327,24 @@ ${o3}` : i3; return tick / this._initialValue; } } + /** + * Convert some number of ticks their the duration in seconds accounting + * for any automation curves starting at the given time. + * @param ticks The number of ticks to convert to seconds. + * @param when When along the automation timeline to convert the ticks. + * @return The duration in seconds of the ticks. + */ ticksToTime(ticks, when) { return this.getDurationOfTicks(ticks, when); } + /** + * The inverse of [[ticksToTime]]. Convert a duration in + * seconds to the corresponding number of ticks accounting for any + * automation curves starting at the given time. + * @param duration The time interval to convert to ticks. + * @param when When along the automation timeline to convert the ticks. + * @return The duration in ticks. + */ timeToTicks(duration, when) { const computedTime = this.toSeconds(when); const computedDuration = this.toSeconds(duration); @@ -73663,6 +74352,9 @@ ${o3}` : i3; const endTicks = this.getTicksAtTime(computedTime + computedDuration); return endTicks - startTicks; } + /** + * Convert from the type when the unit value is BPM + */ _fromType(val) { if (this.units === "bpm" && this.multiplier) { return 1 / (60 / val / this.multiplier); @@ -73670,6 +74362,9 @@ ${o3}` : i3; return super._fromType(val); } } + /** + * Special case of type conversion where the units === "bpm" + */ _toType(val) { if (this.units === "bpm" && this.multiplier) { return val / this.multiplier * 60; @@ -73677,6 +74372,9 @@ ${o3}` : i3; return super._toType(val); } } + /** + * A multiplier on the bpm value. Useful for setting a PPQ relative to the base frequency value. + */ get multiplier() { return this._multiplier; } @@ -73689,11 +74387,11 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/core/clock/TickSignal.js - var TickSignal = class extends Signal { + var TickSignal = class _TickSignal extends Signal { constructor() { - super(optionsFromArguments(TickSignal.getDefaults(), arguments, ["value"])); + super(optionsFromArguments(_TickSignal.getDefaults(), arguments, ["value"])); this.name = "TickSignal"; - const options = optionsFromArguments(TickSignal.getDefaults(), arguments, ["value"]); + const options = optionsFromArguments(_TickSignal.getDefaults(), arguments, ["value"]); this.input = this._param = new TickParam({ context: this.context, convert: options.convert, @@ -73725,6 +74423,9 @@ ${o3}` : i3; getTicksAtTime(time) { return this._param.getTicksAtTime(time); } + /** + * A multiplier on the bpm value. Useful for setting a PPQ relative to the base frequency value. + */ get multiplier() { return this._param.multiplier; } @@ -73739,13 +74440,13 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/core/clock/TickSource.js - var TickSource = class extends ToneWithContext { + var TickSource = class _TickSource extends ToneWithContext { constructor() { - super(optionsFromArguments(TickSource.getDefaults(), arguments, ["frequency"])); + super(optionsFromArguments(_TickSource.getDefaults(), arguments, ["frequency"])); this.name = "TickSource"; this._state = new StateTimeline(); this._tickOffset = new Timeline(); - const options = optionsFromArguments(TickSource.getDefaults(), arguments, ["frequency"]); + const options = optionsFromArguments(_TickSource.getDefaults(), arguments, ["frequency"]); this.frequency = new TickSignal({ context: this.context, units: options.units, @@ -73761,9 +74462,18 @@ ${o3}` : i3; units: "hertz" }, ToneWithContext.getDefaults()); } + /** + * Returns the playback state of the source, either "started", "stopped" or "paused". + */ get state() { return this.getStateAtTime(this.now()); } + /** + * Start the clock at the given time. Optionally pass in an offset + * of where to start the tick counter from. + * @param time The time the clock should start + * @param offset The number of ticks to start the source at + */ start(time, offset) { const computedTime = this.toSeconds(time); if (this._state.getValueAtTime(computedTime) !== "started") { @@ -73774,6 +74484,10 @@ ${o3}` : i3; } return this; } + /** + * Stop the clock. Stopping the clock resets the tick counter to 0. + * @param time The time when the clock should stop. + */ stop(time) { const computedTime = this.toSeconds(time); if (this._state.getValueAtTime(computedTime) === "stopped") { @@ -73788,6 +74502,10 @@ ${o3}` : i3; this.setTicksAtTime(0, computedTime); return this; } + /** + * Pause the clock. Pausing does not reset the tick counter. + * @param time The time when the clock should stop. + */ pause(time) { const computedTime = this.toSeconds(time); if (this._state.getValueAtTime(computedTime) === "started") { @@ -73795,12 +74513,21 @@ ${o3}` : i3; } return this; } + /** + * Cancel start/stop/pause and setTickAtTime events scheduled after the given time. + * @param time When to clear the events after + */ cancel(time) { time = this.toSeconds(time); this._state.cancel(time); this._tickOffset.cancel(time); return this; } + /** + * Get the elapsed ticks at the given time + * @param time When to get the tick value + * @return The number of ticks + */ getTicksAtTime(time) { const computedTime = this.toSeconds(time); const stopEvent = this._state.getLastState("stopped", computedTime); @@ -73823,12 +74550,20 @@ ${o3}` : i3; this._state.remove(tmpEvent); return elapsedTicks; } + /** + * The number of times the callback was invoked. Starts counting at 0 + * and increments after the callback was invoked. Returns -1 when stopped. + */ get ticks() { return this.getTicksAtTime(this.now()); } set ticks(t2) { this.setTicksAtTime(t2, this.now()); } + /** + * The time since ticks=0 that the TickSource has been running. Accounts + * for tempo curves + */ get seconds() { return this.getSecondsAtTime(this.now()); } @@ -73837,6 +74572,11 @@ ${o3}` : i3; const ticks = this.frequency.timeToTicks(s, now); this.setTicksAtTime(ticks, now); } + /** + * Return the elapsed seconds at the given time. + * @param time When to get the elapsed seconds + * @return The number of elapsed seconds + */ getSecondsAtTime(time) { time = this.toSeconds(time); const stopEvent = this._state.getLastState("stopped", time); @@ -73859,6 +74599,11 @@ ${o3}` : i3; this._state.remove(tmpEvent); return elapsedSeconds; } + /** + * Set the clock's ticks at the given time. + * @param ticks The tick value to set + * @param time When to set the tick value + */ setTicksAtTime(ticks, time) { time = this.toSeconds(time); this._tickOffset.cancel(time); @@ -73869,10 +74614,22 @@ ${o3}` : i3; }); return this; } + /** + * Returns the scheduled state at the given time. + * @param time The time to query. + */ getStateAtTime(time) { time = this.toSeconds(time); return this._state.getValueAtTime(time); } + /** + * Get the time of the given tick. The second argument + * is when to test before. Since ticks can be set (with setTicksAtTime) + * there may be multiple times for a given tick value. + * @param tick The tick number. + * @param before When to measure the tick value from. + * @return The time of the tick + */ getTimeOfTick(tick, before = this.now()) { const offset = this._tickOffset.get(before); const event2 = this._state.get(before); @@ -73880,6 +74637,13 @@ ${o3}` : i3; const absoluteTicks = this.frequency.getTicksAtTime(startTime) + tick - offset.ticks; return this.frequency.getTimeOfTick(absoluteTicks); } + /** + * Invoke the callback event at all scheduled ticks between the + * start time and the end time + * @param startTime The beginning of the search range + * @param endTime The end of the search range + * @param callback The callback to invoke with each tick + */ forEachTickBetween(startTime, endTime, callback2) { let lastStateEvent = this._state.get(startTime); this._state.forEachBetween(startTime, endTime, (event2) => { @@ -73912,6 +74676,9 @@ ${o3}` : i3; } return this; } + /** + * Clean up + */ dispose() { super.dispose(); this._state.dispose(); @@ -73922,15 +74689,15 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/core/clock/Clock.js - var Clock = class extends ToneWithContext { + var Clock = class _Clock extends ToneWithContext { constructor() { - super(optionsFromArguments(Clock.getDefaults(), arguments, ["callback", "frequency"])); + super(optionsFromArguments(_Clock.getDefaults(), arguments, ["callback", "frequency"])); this.name = "Clock"; this.callback = noOp; this._lastUpdate = 0; this._state = new StateTimeline("stopped"); this._boundLoop = this._loop.bind(this); - const options = optionsFromArguments(Clock.getDefaults(), arguments, ["callback", "frequency"]); + const options = optionsFromArguments(_Clock.getDefaults(), arguments, ["callback", "frequency"]); this.callback = options.callback; this._tickSource = new TickSource({ context: this.context, @@ -73950,9 +74717,18 @@ ${o3}` : i3; units: "hertz" }); } + /** + * Returns the playback state of the source, either "started", "stopped" or "paused". + */ get state() { return this._state.getValueAtTime(this.now()); } + /** + * Start the clock at the given time. Optionally pass in an offset + * of where to start the tick counter from. + * @param time The time the clock should start + * @param offset Where the tick counter starts counting from. + */ start(time, offset) { assertContextRunning(this.context); const computedTime = this.toSeconds(time); @@ -73966,6 +74742,17 @@ ${o3}` : i3; } return this; } + /** + * Stop the clock. Stopping the clock resets the tick counter to 0. + * @param time The time when the clock should stop. + * @example + * const clock = new Tone.Clock(time => { + * console.log(time); + * }, 1); + * clock.start(); + * // stop the clock after 10 seconds + * clock.stop("+10"); + */ stop(time) { const computedTime = this.toSeconds(time); this.log("stop", computedTime); @@ -73977,6 +74764,10 @@ ${o3}` : i3; } return this; } + /** + * Pause the clock. Pausing does not reset the tick counter. + * @param time The time when the clock should stop. + */ pause(time) { const computedTime = this.toSeconds(time); if (this._state.getValueAtTime(computedTime) === "started") { @@ -73988,36 +74779,73 @@ ${o3}` : i3; } return this; } + /** + * The number of times the callback was invoked. Starts counting at 0 + * and increments after the callback was invoked. + */ get ticks() { return Math.ceil(this.getTicksAtTime(this.now())); } set ticks(t2) { this._tickSource.ticks = t2; } + /** + * The time since ticks=0 that the Clock has been running. Accounts for tempo curves + */ get seconds() { return this._tickSource.seconds; } set seconds(s) { this._tickSource.seconds = s; } + /** + * Return the elapsed seconds at the given time. + * @param time When to get the elapsed seconds + * @return The number of elapsed seconds + */ getSecondsAtTime(time) { return this._tickSource.getSecondsAtTime(time); } + /** + * Set the clock's ticks at the given time. + * @param ticks The tick value to set + * @param time When to set the tick value + */ setTicksAtTime(ticks, time) { this._tickSource.setTicksAtTime(ticks, time); return this; } + /** + * Get the time of the given tick. The second argument + * is when to test before. Since ticks can be set (with setTicksAtTime) + * there may be multiple times for a given tick value. + * @param tick The tick number. + * @param before When to measure the tick value from. + * @return The time of the tick + */ getTimeOfTick(tick, before = this.now()) { return this._tickSource.getTimeOfTick(tick, before); } + /** + * Get the clock's ticks at the given time. + * @param time When to get the tick value + * @return The tick value at the given time. + */ getTicksAtTime(time) { return this._tickSource.getTicksAtTime(time); } + /** + * Get the time of the next tick + * @param offset The tick number. + */ nextTickTime(offset, when) { const computedTime = this.toSeconds(when); const currentTick = this.getTicksAtTime(computedTime); return this._tickSource.getTimeOfTick(currentTick + offset, computedTime); } + /** + * The scheduling loop. + */ _loop() { const startTime = this._lastUpdate; const endTime = this.now(); @@ -74045,10 +74873,22 @@ ${o3}` : i3; }); } } + /** + * Returns the scheduled state at the given time. + * @param time The time to query. + * @return The name of the state input in setStateAtTime. + * @example + * const clock = new Tone.Clock(); + * clock.start("+0.1"); + * clock.getStateAtTime("+0.1"); // returns "started" + */ getStateAtTime(time) { const computedTime = this.toSeconds(time); return this._state.getValueAtTime(computedTime); } + /** + * Clean up + */ dispose() { super.dispose(); this.context.off("tick", this._boundLoop); @@ -74060,13 +74900,13 @@ ${o3}` : i3; Emitter.mixin(Clock); // node_modules/tone/build/esm/core/context/ToneAudioBuffers.js - var ToneAudioBuffers = class extends Tone { + var ToneAudioBuffers = class _ToneAudioBuffers extends Tone { constructor() { super(); this.name = "ToneAudioBuffers"; - this._buffers = new Map(); + this._buffers = /* @__PURE__ */ new Map(); this._loadingCount = 0; - const options = optionsFromArguments(ToneAudioBuffers.getDefaults(), arguments, ["urls", "onload", "baseUrl"], "urls"); + const options = optionsFromArguments(_ToneAudioBuffers.getDefaults(), arguments, ["urls", "onload", "baseUrl"], "urls"); this.baseUrl = options.baseUrl; Object.keys(options.urls).forEach((name2) => { this._loadingCount++; @@ -74082,22 +74922,44 @@ ${o3}` : i3; urls: {} }; } + /** + * True if the buffers object has a buffer by that name. + * @param name The key or index of the buffer. + */ has(name2) { return this._buffers.has(name2.toString()); } + /** + * Get a buffer by name. If an array was loaded, + * then use the array index. + * @param name The key or index of the buffer. + */ get(name2) { assert(this.has(name2), `ToneAudioBuffers has no buffer named: ${name2}`); return this._buffers.get(name2.toString()); } + /** + * A buffer was loaded. decrement the counter. + */ _bufferLoaded(callback2) { this._loadingCount--; if (this._loadingCount === 0 && callback2) { callback2(); } } + /** + * If the buffers are loaded or not + */ get loaded() { return Array.from(this._buffers).every(([_, buffer]) => buffer.loaded); } + /** + * Add a buffer by name and url to the Buffers + * @param name A unique name to give the buffer + * @param url Either the url of the bufer, or a buffer which will be added with the given name. + * @param callback The callback to invoke when the url is loaded. + * @param onerror Invoked if the buffer can't be loaded + */ add(name2, url, callback2 = noOp, onerror = noOp) { if (isString(url)) { this._buffers.set(name2.toString(), new ToneAudioBuffer(this.baseUrl + url, callback2, onerror)); @@ -74115,32 +74977,60 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/core/type/Midi.js - var MidiClass = class extends FrequencyClass { + var MidiClass = class _MidiClass extends FrequencyClass { constructor() { super(...arguments); this.name = "MidiClass"; this.defaultUnits = "midi"; } + /** + * Returns the value of a frequency in the current units + */ _frequencyToUnits(freq) { return ftom(super._frequencyToUnits(freq)); } + /** + * Returns the value of a tick in the current time units + */ _ticksToUnits(ticks) { return ftom(super._ticksToUnits(ticks)); } + /** + * Return the value of the beats in the current units + */ _beatsToUnits(beats) { return ftom(super._beatsToUnits(beats)); } + /** + * Returns the value of a second in the current units + */ _secondsToUnits(seconds) { return ftom(super._secondsToUnits(seconds)); } + /** + * Return the value of the frequency as a MIDI note + * @example + * Tone.Midi(60).toMidi(); // 60 + */ toMidi() { return this.valueOf(); } + /** + * Return the value of the frequency as a MIDI note + * @example + * Tone.Midi(60).toFrequency(); // 261.6255653005986 + */ toFrequency() { return mtof(this.toMidi()); } + /** + * Transposes the frequency by the given number of semitones. + * @return A new transposed MidiClass + * @example + * Tone.Midi("A4").transpose(3); // "C5" + */ transpose(interval) { - return new MidiClass(this.context, this.toMidi() + interval); + return new _MidiClass(this.context, this.toMidi() + interval); } }; @@ -74151,21 +75041,39 @@ ${o3}` : i3; this.name = "Ticks"; this.defaultUnits = "i"; } + /** + * Get the current time in the given units + */ _now() { return this.context.transport.ticks; } + /** + * Return the value of the beats in the current units + */ _beatsToUnits(beats) { return this._getPPQ() * beats; } + /** + * Returns the value of a second in the current units + */ _secondsToUnits(seconds) { return Math.floor(seconds / (60 / this._getBpm()) * this._getPPQ()); } + /** + * Returns the value of a tick in the current time units + */ _ticksToUnits(ticks) { return ticks; } + /** + * Return the time in ticks + */ toTicks() { return this.valueOf(); } + /** + * Return the time in seconds + */ toSeconds() { return this.valueOf() / this._getPPQ() * (60 / this._getBpm()); } @@ -74182,6 +75090,17 @@ ${o3}` : i3; this._boundDrawLoop = this._drawLoop.bind(this); this._animationFrame = -1; } + /** + * Schedule a function at the given time to be invoked + * on the nearest animation frame. + * @param callback Callback is invoked at the given time. + * @param time The time relative to the AudioContext time to invoke the callback. + * @example + * Tone.Transport.scheduleRepeat(time => { + * Tone.Draw.schedule(() => console.log(time), time); + * }, 1); + * Tone.Transport.start(); + */ schedule(callback2, time) { this._events.add({ callback: callback2, @@ -74192,10 +75111,17 @@ ${o3}` : i3; } return this; } + /** + * Cancel events scheduled after the given time + * @param after Time after which scheduled events will be removed from the scheduling timeline. + */ cancel(after) { this._events.cancel(this.toSeconds(after)); return this; } + /** + * The draw loop + */ _drawLoop() { const now = this.context.currentTime; while (this._events.length && this._events.peek().time - this.anticipation <= now) { @@ -74230,6 +75156,11 @@ ${o3}` : i3; this._root = null; this._length = 0; } + /** + * The event to add to the timeline. All events must + * have a time and duration value + * @param event The event to add to the timeline + */ add(event2) { assert(isDefined(event2.time), "Events must have a time property"); assert(isDefined(event2.duration), "Events must have a duration parameter"); @@ -74249,6 +75180,10 @@ ${o3}` : i3; } return this; } + /** + * Remove an event from the timeline. + * @param event The event to remove from the timeline + */ remove(event2) { if (this._root !== null) { const results = []; @@ -74263,19 +75198,34 @@ ${o3}` : i3; } return this; } + /** + * The number of items in the timeline. + * @readOnly + */ get length() { return this._length; } + /** + * Remove events whose time time is after the given time + * @param after The time to query. + */ cancel(after) { this.forEachFrom(after, (event2) => this.remove(event2)); return this; } + /** + * Set the root node as the given node + */ _setRoot(node) { this._root = node; if (this._root !== null) { this._root.parent = null; } } + /** + * Replace the references to the node in the node's parent + * with the replacement node. + */ _replaceNodeInParent(node, replacement) { if (node.parent !== null) { if (node.isLeftChild()) { @@ -74288,6 +75238,10 @@ ${o3}` : i3; this._setRoot(replacement); } } + /** + * Remove the node from the tree and replace it with + * a successor which follows the schema. + */ _removeNode(node) { if (node.left === null && node.right === null) { this._replaceNodeInParent(node, null); @@ -74347,6 +75301,9 @@ ${o3}` : i3; } node.dispose(); } + /** + * Rotate the tree to the left + */ _rotateLeft(node) { const parent = node.parent; const isLeftChild = node.isLeftChild(); @@ -74365,6 +75322,9 @@ ${o3}` : i3; this._setRoot(pivotNode); } } + /** + * Rotate the tree to the right + */ _rotateRight(node) { const parent = node.parent; const isLeftChild = node.isLeftChild(); @@ -74383,6 +75343,9 @@ ${o3}` : i3; this._setRoot(pivotNode); } } + /** + * Balance the BST + */ _rebalance(node) { const balance = node.getBalance(); if (balance > 1 && node.left) { @@ -74399,6 +75362,11 @@ ${o3}` : i3; } } } + /** + * Get an event whose time and duration span the give time. Will + * return the match whose "time" value is closest to the given time. + * @return The event which spans the desired time + */ get(time) { if (this._root !== null) { const results = []; @@ -74415,6 +75383,10 @@ ${o3}` : i3; } return null; } + /** + * Iterate over everything in the timeline. + * @param callback The callback to invoke with every item + */ forEach(callback2) { if (this._root !== null) { const allNodes = []; @@ -74427,6 +75399,12 @@ ${o3}` : i3; } return this; } + /** + * Iterate over everything in the array in which the given time + * overlaps with the time and duration time of the event. + * @param time The time to check if items are overlapping + * @param callback The callback to invoke with every item + */ forEachAtTime(time, callback2) { if (this._root !== null) { const results = []; @@ -74439,6 +75417,12 @@ ${o3}` : i3; } return this; } + /** + * Iterate over everything in the array in which the time is greater + * than or equal to the given time. + * @param time The time to check if items are before + * @param callback The callback to invoke with every item + */ forEachFrom(time, callback2) { if (this._root !== null) { const results = []; @@ -74451,6 +75435,9 @@ ${o3}` : i3; } return this; } + /** + * Clean up + */ dispose() { super.dispose(); if (this._root !== null) { @@ -74471,6 +75458,9 @@ ${o3}` : i3; this.high = high; this.max = this.high; } + /** + * Insert a node into the correct spot in the tree + */ insert(node) { if (node.low <= this.low) { if (this.left === null) { @@ -74484,6 +75474,12 @@ ${o3}` : i3; this.right.insert(node); } } + /** + * Search the tree for nodes which overlap + * with the given point + * @param point The point to query + * @param results The array to put the results + */ search(point, results) { if (point > this.max) { return; @@ -74501,6 +75497,12 @@ ${o3}` : i3; this.right.search(point, results); } } + /** + * Search the tree for nodes which are less + * than the given point + * @param point The point to query + * @param results The array to put the results + */ searchAfter(point, results) { if (this.low >= point) { results.push(this); @@ -74512,6 +75514,10 @@ ${o3}` : i3; this.right.searchAfter(point, results); } } + /** + * Invoke the callback on this element and both it's branches + * @param {Function} callback + */ traverse(callback2) { callback2(this); if (this.left !== null) { @@ -74521,6 +75527,9 @@ ${o3}` : i3; this.right.traverse(callback2); } } + /** + * Update the height of the node + */ updateHeight() { if (this.left !== null && this.right !== null) { this.height = Math.max(this.left.height, this.right.height) + 1; @@ -74532,6 +75541,9 @@ ${o3}` : i3; this.height = 0; } } + /** + * Update the height of the node + */ updateMax() { this.max = this.high; if (this.left !== null) { @@ -74541,6 +75553,10 @@ ${o3}` : i3; this.max = Math.max(this.max, this.right.max); } } + /** + * The balance is how the leafs are distributed on the node + * @return Negative numbers are balanced to the right + */ getBalance() { let balance = 0; if (this.left !== null && this.right !== null) { @@ -74552,9 +75568,15 @@ ${o3}` : i3; } return balance; } + /** + * @returns true if this node is the left child of its parent + */ isLeftChild() { return this.parent !== null && this.parent.left === this; } + /** + * get/set the left node + */ get left() { return this._left; } @@ -74566,6 +75588,9 @@ ${o3}` : i3; this.updateHeight(); this.updateMax(); } + /** + * get/set the right node + */ get right() { return this._right; } @@ -74577,6 +75602,9 @@ ${o3}` : i3; this.updateHeight(); this.updateMax(); } + /** + * null out references. + */ dispose() { this.parent = null; this._left = null; @@ -74586,11 +75614,11 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/component/channel/Volume.js - var Volume = class extends ToneAudioNode { + var Volume = class _Volume extends ToneAudioNode { constructor() { - super(optionsFromArguments(Volume.getDefaults(), arguments, ["volume"])); + super(optionsFromArguments(_Volume.getDefaults(), arguments, ["volume"])); this.name = "Volume"; - const options = optionsFromArguments(Volume.getDefaults(), arguments, ["volume"]); + const options = optionsFromArguments(_Volume.getDefaults(), arguments, ["volume"]); this.input = this.output = new Gain({ context: this.context, gain: options.volume, @@ -74607,6 +75635,14 @@ ${o3}` : i3; volume: 0 }); } + /** + * Mute the output. + * @example + * const vol = new Tone.Volume(-12).toDestination(); + * const osc = new Tone.Oscillator().connect(vol).start(); + * // mute the output + * vol.mute = true; + */ get mute() { return this.volume.value === -Infinity; } @@ -74618,6 +75654,9 @@ ${o3}` : i3; this.volume.value = this._unmutedVolume; } } + /** + * clean up + */ dispose() { super.dispose(); this.input.dispose(); @@ -74627,14 +75666,14 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/core/context/Destination.js - var Destination = class extends ToneAudioNode { + var Destination = class _Destination extends ToneAudioNode { constructor() { - super(optionsFromArguments(Destination.getDefaults(), arguments)); + super(optionsFromArguments(_Destination.getDefaults(), arguments)); this.name = "Destination"; this.input = new Volume({ context: this.context }); this.output = new Gain({ context: this.context }); this.volume = this.input.volume; - const options = optionsFromArguments(Destination.getDefaults(), arguments); + const options = optionsFromArguments(_Destination.getDefaults(), arguments); connectSeries(this.input, this.output, this.context.rawContext.destination); this.mute = options.mute; this._internalChannels = [this.input, this.context.rawContext.destination, this.output]; @@ -74645,12 +75684,31 @@ ${o3}` : i3; volume: 0 }); } + /** + * Mute the output. + * @example + * const oscillator = new Tone.Oscillator().start().toDestination(); + * setTimeout(() => { + * // mute the output + * Tone.Destination.mute = true; + * }, 1000); + */ get mute() { return this.input.mute; } set mute(mute) { this.input.mute = mute; } + /** + * Add a master effects chain. NOTE: this will disconnect any nodes which were previously + * chained in the master effects chain. + * @param args All arguments will be connected in a row and the Master will be routed through it. + * @example + * // route all audio through a filter and compressor + * const lowpass = new Tone.Filter(800, "lowpass"); + * const compressor = new Tone.Compressor(-18); + * Tone.Destination.chain(lowpass, compressor); + */ chain(...args) { this.input.disconnect(); args.unshift(this.input); @@ -74658,9 +75716,17 @@ ${o3}` : i3; connectSeries(...args); return this; } + /** + * The maximum number of channels the system can output + * @example + * console.log(Tone.Destination.maxChannelCount); + */ get maxChannelCount() { return this.context.rawContext.destination.maxChannelCount; } + /** + * Clean up + */ dispose() { super.dispose(); this.volume.dispose(); @@ -74676,12 +75742,18 @@ ${o3}` : i3; // node_modules/tone/build/esm/core/util/TimelineValue.js var TimelineValue = class extends Tone { + /** + * @param initialValue The value to return if there is no scheduled values + */ constructor(initialValue) { super(); this.name = "TimelineValue"; this._timeline = new Timeline({ memory: 10 }); this._initialValue = initialValue; } + /** + * Set the value at the given time + */ set(value, time) { this._timeline.add({ value, @@ -74689,6 +75761,9 @@ ${o3}` : i3; }); return this; } + /** + * Get the value at the given time + */ get(time) { const event2 = this._timeline.get(time); if (event2) { @@ -74700,10 +75775,13 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/core/clock/TransportEvent.js - var TransportEvent = class { + var TransportEvent = class _TransportEvent { + /** + * @param transport The transport object which the event belongs to + */ constructor(transport, opts) { - this.id = TransportEvent._eventId++; - const options = Object.assign(TransportEvent.getDefaults(), opts); + this.id = _TransportEvent._eventId++; + const options = Object.assign(_TransportEvent.getDefaults(), opts); this.transport = transport; this.callback = options.callback; this._once = options.once; @@ -74716,6 +75794,10 @@ ${o3}` : i3; time: 0 }; } + /** + * Invoke the event callback. + * @param time The AudioContext time in seconds of the event + */ invoke(time) { if (this.callback) { this.callback(time); @@ -74724,6 +75806,9 @@ ${o3}` : i3; } } } + /** + * Clean up + */ dispose() { this.callback = void 0; return this; @@ -74732,14 +75817,17 @@ ${o3}` : i3; TransportEvent._eventId = 0; // node_modules/tone/build/esm/core/clock/TransportRepeatEvent.js - var TransportRepeatEvent = class extends TransportEvent { + var TransportRepeatEvent = class _TransportRepeatEvent extends TransportEvent { + /** + * @param transport The transport object which the event belongs to + */ constructor(transport, opts) { super(transport, opts); this._currentId = -1; this._nextId = -1; this._nextTick = this.time; this._boundRestart = this._restart.bind(this); - const options = Object.assign(TransportRepeatEvent.getDefaults(), opts); + const options = Object.assign(_TransportRepeatEvent.getDefaults(), opts); this.duration = new TicksClass(transport.context, options.duration).valueOf(); this._interval = new TicksClass(transport.context, options.interval).valueOf(); this._nextTick = options.time; @@ -74755,10 +75843,18 @@ ${o3}` : i3; once: false }); } + /** + * Invoke the callback. Returns the tick time which + * the next event should be scheduled at. + * @param time The AudioContext time in seconds of the event + */ invoke(time) { this._createEvents(time); super.invoke(time); } + /** + * Push more events onto the timeline to keep up with the position of the timeline + */ _createEvents(time) { const ticks = this.transport.getTicksAtTime(time); if (ticks >= this.time && ticks >= this._nextTick && this._nextTick + this._interval < this.time + this.duration) { @@ -74767,6 +75863,9 @@ ${o3}` : i3; this._nextId = this.transport.scheduleOnce(this.invoke.bind(this), new TicksClass(this.context, this._nextTick).toSeconds()); } } + /** + * Push more events onto the timeline to keep up with the position of the timeline + */ _restart(time) { this.transport.clear(this._currentId); this.transport.clear(this._nextId); @@ -74779,6 +75878,9 @@ ${o3}` : i3; this._nextTick += this._interval; this._nextId = this.transport.scheduleOnce(this.invoke.bind(this), new TicksClass(this.context, this._nextTick).toSeconds()); } + /** + * Clean up + */ dispose() { super.dispose(); this.transport.clear(this._currentId); @@ -74790,9 +75892,9 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/core/clock/Transport.js - var Transport = class extends ToneWithContext { + var Transport = class _Transport extends ToneWithContext { constructor() { - super(optionsFromArguments(Transport.getDefaults(), arguments)); + super(optionsFromArguments(_Transport.getDefaults(), arguments)); this.name = "Transport"; this._loop = new TimelineValue(false); this._loopStart = 0; @@ -74802,7 +75904,7 @@ ${o3}` : i3; this._repeatedEvents = new IntervalTimeline(); this._syncedSignals = []; this._swingAmount = 0; - const options = optionsFromArguments(Transport.getDefaults(), arguments); + const options = optionsFromArguments(_Transport.getDefaults(), arguments); this._ppq = options.ppq; this._clock = new Clock({ callback: this._processTick.bind(this), @@ -74829,6 +75931,13 @@ ${o3}` : i3; timeSignature: 4 }); } + //------------------------------------- + // TICKS + //------------------------------------- + /** + * called on every tick + * @param tickTime clock relative tick time + */ _processTick(tickTime, ticks) { if (this._loop.get(tickTime)) { if (ticks >= this._loopEnd) { @@ -74839,13 +75948,29 @@ ${o3}` : i3; this.emit("loop", tickTime); } } - if (this._swingAmount > 0 && ticks % this._ppq !== 0 && ticks % (this._swingTicks * 2) !== 0) { + if (this._swingAmount > 0 && ticks % this._ppq !== 0 && // not on a downbeat + ticks % (this._swingTicks * 2) !== 0) { const progress = ticks % (this._swingTicks * 2) / (this._swingTicks * 2); const amount = Math.sin(progress * Math.PI) * this._swingAmount; tickTime += new TicksClass(this.context, this._swingTicks * 2 / 3).toSeconds() * amount; } this._timeline.forEachAtTime(ticks, (event2) => event2.invoke(tickTime)); } + //------------------------------------- + // SCHEDULABLE EVENTS + //------------------------------------- + /** + * Schedule an event along the timeline. + * @param callback The callback to be invoked at the time. + * @param time The time to invoke the callback at. + * @return The id of the event which can be used for canceling the event. + * @example + * // schedule an event on the 16th measure + * Tone.Transport.schedule((time) => { + * // invoked on measure 16 + * console.log("measure 16!"); + * }, "16:0:0"); + */ schedule(callback2, time) { const event2 = new TransportEvent(this, { callback: callback2, @@ -74853,6 +75978,22 @@ ${o3}` : i3; }); return this._addEvent(event2, this._timeline); } + /** + * Schedule a repeated event along the timeline. The event will fire + * at the `interval` starting at the `startTime` and for the specified + * `duration`. + * @param callback The callback to invoke. + * @param interval The duration between successive callbacks. Must be a positive number. + * @param startTime When along the timeline the events should start being invoked. + * @param duration How long the event should repeat. + * @return The ID of the scheduled event. Use this to cancel the event. + * @example + * const osc = new Tone.Oscillator().toDestination().start(); + * // a callback invoked every eighth note after the first measure + * Tone.Transport.scheduleRepeat((time) => { + * osc.start(time).stop(time + 0.1); + * }, "8n", "1m"); + */ scheduleRepeat(callback2, interval, startTime, duration = Infinity) { const event2 = new TransportRepeatEvent(this, { callback: callback2, @@ -74862,6 +76003,12 @@ ${o3}` : i3; }); return this._addEvent(event2, this._repeatedEvents); } + /** + * Schedule an event that will be removed after it is invoked. + * @param callback The callback to invoke once. + * @param time The time the callback should be invoked. + * @returns The ID of the scheduled event. + */ scheduleOnce(callback2, time) { const event2 = new TransportEvent(this, { callback: callback2, @@ -74870,6 +76017,10 @@ ${o3}` : i3; }); return this._addEvent(event2, this._timeline); } + /** + * Clear the passed in event id from the timeline + * @param eventId The id of the event. + */ clear(eventId) { if (this._scheduledEvents.hasOwnProperty(eventId)) { const item = this._scheduledEvents[eventId.toString()]; @@ -74879,6 +76030,11 @@ ${o3}` : i3; } return this; } + /** + * Add an event to the correct timeline. Keep track of the + * timeline it was added to. + * @returns the event id which was just added + */ _addEvent(event2, timeline) { this._scheduledEvents[event2.id.toString()] = { event: event2, @@ -74887,12 +76043,24 @@ ${o3}` : i3; timeline.add(event2); return event2.id; } + /** + * Remove scheduled events from the timeline after + * the given time. Repeated events will be removed + * if their startTime is after the given time + * @param after Clear all events after this time. + */ cancel(after = 0) { const computedAfter = this.toTicks(after); this._timeline.forEachFrom(computedAfter, (event2) => this.clear(event2.id)); this._repeatedEvents.forEachFrom(computedAfter, (event2) => this.clear(event2.id)); return this; } + //------------------------------------- + // START/STOP/PAUSE + //------------------------------------- + /** + * Bind start/stop/pause events from the clock and emit them. + */ _bindClockEvents() { this._clock.on("start", (time, offset) => { offset = new TicksClass(this.context, offset).toSeconds(); @@ -74905,9 +76073,20 @@ ${o3}` : i3; this.emit("pause", time); }); } + /** + * Returns the playback state of the source, either "started", "stopped", or "paused" + */ get state() { return this._clock.getStateAtTime(this.now()); } + /** + * Start the transport and all sources synced to the transport. + * @param time The time when the transport should start. + * @param offset The timeline offset to start the transport. + * @example + * // start the transport in one second starting at beginning of the 5th measure. + * Tone.Transport.start("+1", "4:0:0"); + */ start(time, offset) { let offsetTicks; if (isDefined(offset)) { @@ -74916,14 +76095,28 @@ ${o3}` : i3; this._clock.start(time, offsetTicks); return this; } + /** + * Stop the transport and all sources synced to the transport. + * @param time The time when the transport should stop. + * @example + * Tone.Transport.stop(); + */ stop(time) { this._clock.stop(time); return this; } + /** + * Pause the transport and all sources synced to the transport. + */ pause(time) { this._clock.pause(time); return this; } + /** + * Toggle the current state of the transport. If it is + * started, it will stop it, otherwise it will start the Transport. + * @param time The time of the event + */ toggle(time) { time = this.toSeconds(time); if (this._clock.getStateAtTime(time) !== "started") { @@ -74933,6 +76126,20 @@ ${o3}` : i3; } return this; } + //------------------------------------- + // SETTERS/GETTERS + //------------------------------------- + /** + * The time signature as just the numerator over 4. + * For example 4/4 would be just 4 and 6/8 would be 3. + * @example + * // common time + * Tone.Transport.timeSignature = 4; + * // 7/8 + * Tone.Transport.timeSignature = [7, 8]; + * // this will be reduced to a single number + * Tone.Transport.timeSignature; // returns 3.5 + */ get timeSignature() { return this._timeSignature; } @@ -74942,41 +76149,69 @@ ${o3}` : i3; } this._timeSignature = timeSig; } + /** + * When the Transport.loop = true, this is the starting position of the loop. + */ get loopStart() { return new TimeClass(this.context, this._loopStart, "i").toSeconds(); } set loopStart(startPosition) { this._loopStart = this.toTicks(startPosition); } + /** + * When the Transport.loop = true, this is the ending position of the loop. + */ get loopEnd() { return new TimeClass(this.context, this._loopEnd, "i").toSeconds(); } set loopEnd(endPosition) { this._loopEnd = this.toTicks(endPosition); } + /** + * If the transport loops or not. + */ get loop() { return this._loop.get(this.now()); } set loop(loop) { this._loop.set(loop, this.now()); } + /** + * Set the loop start and stop at the same time. + * @example + * // loop over the first measure + * Tone.Transport.setLoopPoints(0, "1m"); + * Tone.Transport.loop = true; + */ setLoopPoints(startPosition, endPosition) { this.loopStart = startPosition; this.loopEnd = endPosition; return this; } + /** + * The swing value. Between 0-1 where 1 equal to the note + half the subdivision. + */ get swing() { return this._swingAmount; } set swing(amount) { this._swingAmount = amount; } + /** + * Set the subdivision which the swing will be applied to. + * The default value is an 8th note. Value must be less + * than a quarter note. + */ get swingSubdivision() { return new TicksClass(this.context, this._swingTicks).toNotation(); } set swingSubdivision(subdivision) { this._swingTicks = this.toTicks(subdivision); } + /** + * The Transport's position in Bars:Beats:Sixteenths. + * Setting the value will jump to that position right away. + */ get position() { const now = this.now(); const ticks = this._clock.getTicksAtTime(now); @@ -74986,6 +76221,10 @@ ${o3}` : i3; const ticks = this.toTicks(progress); this.ticks = ticks; } + /** + * The Transport's position in seconds + * Setting the value will jump to that position right away. + */ get seconds() { return this._clock.seconds; } @@ -74994,6 +76233,10 @@ ${o3}` : i3; const ticks = this._clock.frequency.timeToTicks(s, now); this.ticks = ticks; } + /** + * The Transport's loop position as a normalized value. Always + * returns 0 if the transport if loop is not true. + */ get progress() { if (this.loop) { const now = this.now(); @@ -75003,6 +76246,9 @@ ${o3}` : i3; return 0; } } + /** + * The transports current tick position. + */ get ticks() { return this._clock.ticks; } @@ -75021,18 +76267,49 @@ ${o3}` : i3; } } } + /** + * Get the clock's ticks at the given time. + * @param time When to get the tick value + * @return The tick value at the given time. + */ getTicksAtTime(time) { return Math.round(this._clock.getTicksAtTime(time)); } + /** + * Return the elapsed seconds at the given time. + * @param time When to get the elapsed seconds + * @return The number of elapsed seconds + */ getSecondsAtTime(time) { return this._clock.getSecondsAtTime(time); } + /** + * Pulses Per Quarter note. This is the smallest resolution + * the Transport timing supports. This should be set once + * on initialization and not set again. Changing this value + * after other objects have been created can cause problems. + */ get PPQ() { return this._clock.frequency.multiplier; } set PPQ(ppq) { this._clock.frequency.multiplier = ppq; } + //------------------------------------- + // SYNCING + //------------------------------------- + /** + * Returns the time aligned to the next subdivision + * of the Transport. If the Transport is not started, + * it will return 0. + * Note: this will not work precisely during tempo ramps. + * @param subdivision The subdivision to quantize to + * @return The context time of the next subdivision. + * @example + * // the transport must be started, otherwise returns 0 + * Tone.Transport.start(); + * Tone.Transport.nextSubdivision("4n"); + */ nextSubdivision(subdivision) { subdivision = this.toTicks(subdivision); if (this.state !== "started") { @@ -75044,6 +76321,15 @@ ${o3}` : i3; return this._clock.nextTickTime(remainingTicks, now); } } + /** + * Attaches the signal to the tempo control signal so that + * any changes in the tempo will change the signal in the same + * ratio. + * + * @param signal + * @param ratio Optionally pass in the ratio between the two signals. + * Otherwise it will be computed based on their current values. + */ syncSignal(signal, ratio) { if (!ratio) { const now = this.now(); @@ -75066,6 +76352,10 @@ ${o3}` : i3; signal.value = 0; return this; } + /** + * Unsyncs a previously synced signal from the transport's control. + * See Transport.syncSignal. + */ unsyncSignal(signal) { for (let i = this._syncedSignals.length - 1; i >= 0; i--) { const syncedSignal = this._syncedSignals[i]; @@ -75077,6 +76367,9 @@ ${o3}` : i3; } return this; } + /** + * Clean up. + */ dispose() { super.dispose(); this._clock.dispose(); @@ -75122,6 +76415,14 @@ ${o3}` : i3; volume: 0 }); } + /** + * Returns the playback state of the source, either "started" or "stopped". + * @example + * const player = new Tone.Player("https://tonejs.github.io/audio/berklee/ahntone_c3.mp3", () => { + * player.start(); + * console.log(player.state); + * }).toDestination(); + */ get state() { if (this._synced) { if (this.context.transport.state === "started") { @@ -75133,12 +76434,23 @@ ${o3}` : i3; return this._state.getValueAtTime(this.now()); } } + /** + * Mute the output. + * @example + * const osc = new Tone.Oscillator().toDestination().start(); + * // mute the output + * osc.mute = true; + */ get mute() { return this._volume.mute; } set mute(mute) { this._volume.mute = mute; } + /** + * Ensure that the scheduled time is not before the current time. + * Should only be used when scheduled unsynced. + */ _clampToCurrentTime(time) { if (this._synced) { return time; @@ -75146,6 +76458,14 @@ ${o3}` : i3; return Math.max(time, this.context.currentTime); } } + /** + * Start the source at the specified time. If no time is given, + * start the source now. + * @param time When the source should be started. + * @example + * const source = new Tone.Oscillator().toDestination(); + * source.start("+0.5"); // starts the source 0.5 seconds from now + */ start(time, offset, duration) { let computedTime = isUndef(time) && this._synced ? this.context.transport.seconds : this.toSeconds(time); computedTime = this._clampToCurrentTime(computedTime); @@ -75178,6 +76498,15 @@ ${o3}` : i3; } return this; } + /** + * Stop the source at the specified time. If no time is given, + * stop the source now. + * @param time When the source should be stopped. + * @example + * const source = new Tone.Oscillator().toDestination(); + * source.start(); + * source.stop("+0.5"); // stops the source 0.5 seconds from now + */ stop(time) { let computedTime = isUndef(time) && this._synced ? this.context.transport.seconds : this.toSeconds(time); computedTime = this._clampToCurrentTime(computedTime); @@ -75194,6 +76523,9 @@ ${o3}` : i3; } return this; } + /** + * Restart the source. + */ restart(time, offset, duration) { time = this.toSeconds(time); if (this._state.getValueAtTime(time) === "started") { @@ -75202,6 +76534,21 @@ ${o3}` : i3; } return this; } + /** + * Sync the source to the Transport so that all subsequent + * calls to `start` and `stop` are synced to the TransportTime + * instead of the AudioContext time. + * + * @example + * const osc = new Tone.Oscillator().toDestination(); + * // sync the source so that it plays between 0 and 0.3 on the Transport's timeline + * osc.sync().start(0).stop(0.3); + * // start the transport. + * Tone.Transport.start(); + * // set it to loop once a second + * Tone.Transport.loop = true; + * Tone.Transport.loopEnd = 1; + */ sync() { if (!this._synced) { this._synced = true; @@ -75232,6 +76579,9 @@ ${o3}` : i3; } return this; } + /** + * Unsync the source to the Transport. See Source.sync + */ unsync() { if (this._synced) { this.context.transport.off("stop", this._syncedStop); @@ -75241,12 +76591,15 @@ ${o3}` : i3; this.context.transport.off("loopStart", this._syncedStart); } this._synced = false; - this._scheduled.forEach((id2) => this.context.transport.clear(id2)); + this._scheduled.forEach((id) => this.context.transport.clear(id)); this._scheduled = []; this._state.cancel(0); this._stop(0); return this; } + /** + * Clean up. + */ dispose() { super.dispose(); this.onstop = noOp; @@ -75258,15 +76611,15 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/source/buffer/ToneBufferSource.js - var ToneBufferSource = class extends OneShotSource { + var ToneBufferSource = class _ToneBufferSource extends OneShotSource { constructor() { - super(optionsFromArguments(ToneBufferSource.getDefaults(), arguments, ["url", "onload"])); + super(optionsFromArguments(_ToneBufferSource.getDefaults(), arguments, ["url", "onload"])); this.name = "ToneBufferSource"; this._source = this.context.createBufferSource(); this._internalChannels = [this._source]; this._sourceStarted = false; this._sourceStopped = false; - const options = optionsFromArguments(ToneBufferSource.getDefaults(), arguments, ["url", "onload"]); + const options = optionsFromArguments(_ToneBufferSource.getDefaults(), arguments, ["url", "onload"]); connect(this._source, this._gainNode); this._source.onended = () => this._stopSource(); this.playbackRate = new Param({ @@ -75292,24 +76645,40 @@ ${o3}` : i3; playbackRate: 1 }); } + /** + * The fadeIn time of the amplitude envelope. + */ get fadeIn() { return this._fadeIn; } set fadeIn(t2) { this._fadeIn = t2; } + /** + * The fadeOut time of the amplitude envelope. + */ get fadeOut() { return this._fadeOut; } set fadeOut(t2) { this._fadeOut = t2; } + /** + * The curve applied to the fades, either "linear" or "exponential" + */ get curve() { return this._curve; } set curve(t2) { this._curve = t2; } + /** + * Start the buffer + * @param time When the player should start. + * @param offset The offset from the beginning of the sample to start at. + * @param duration How long the sample should play. If no duration is given, it will default to the full length of the sample (minus any offset) + * @param gain The gain to play the buffer back at. + */ start(time, offset, duration, gain = 1) { assert(this.buffer.loaded, "buffer is either not set or not loaded"); const computedTime = this.toSeconds(time); @@ -75351,24 +76720,36 @@ ${o3}` : i3; this._onended(); } } + /** + * If loop is true, the loop will start at this position. + */ get loopStart() { return this._source.loopStart; } set loopStart(loopStart) { this._source.loopStart = this.toSeconds(loopStart); } + /** + * If loop is true, the loop will end at this position. + */ get loopEnd() { return this._source.loopEnd; } set loopEnd(loopEnd) { this._source.loopEnd = this.toSeconds(loopEnd); } + /** + * The audio buffer belonging to the player. + */ get buffer() { return this._buffer; } set buffer(buffer) { this._buffer.set(buffer); } + /** + * If the buffer should loop once it's over. + */ get loop() { return this._source.loop; } @@ -75378,6 +76759,9 @@ ${o3}` : i3; this.cancelStop(); } } + /** + * Clean up. + */ dispose() { super.dispose(); this._source.onended = null; @@ -75397,7 +76781,9 @@ ${o3}` : i3; const duration = length / instance.context.sampleRate; const context2 = new OfflineContext(1, duration, instance.context.sampleRate); const clone4 = new instance.constructor(Object.assign(instance.get(), { + // should do 2 iterations frequency: 2 / duration, + // zero out the detune detune: 0, context: context2 })).toDestination(); @@ -75408,13 +76794,13 @@ ${o3}` : i3; } // node_modules/tone/build/esm/source/oscillator/ToneOscillatorNode.js - var ToneOscillatorNode = class extends OneShotSource { + var ToneOscillatorNode = class _ToneOscillatorNode extends OneShotSource { constructor() { - super(optionsFromArguments(ToneOscillatorNode.getDefaults(), arguments, ["frequency", "type"])); + super(optionsFromArguments(_ToneOscillatorNode.getDefaults(), arguments, ["frequency", "type"])); this.name = "ToneOscillatorNode"; this._oscillator = this.context.createOscillator(); this._internalChannels = [this._oscillator]; - const options = optionsFromArguments(ToneOscillatorNode.getDefaults(), arguments, ["frequency", "type"]); + const options = optionsFromArguments(_ToneOscillatorNode.getDefaults(), arguments, ["frequency", "type"]); connect(this._oscillator, this._gainNode); this.type = options.type; this.frequency = new Param({ @@ -75438,6 +76824,10 @@ ${o3}` : i3; type: "sine" }); } + /** + * Start the oscillator node at the given time + * @param time When to start the oscillator + */ start(time) { const computedTime = this.toSeconds(time); this.log("start", computedTime); @@ -75448,16 +76838,26 @@ ${o3}` : i3; _stopSource(time) { this._oscillator.stop(time); } + /** + * Sets an arbitrary custom periodic waveform given a PeriodicWave. + * @param periodicWave PeriodicWave should be created with context.createPeriodicWave + */ setPeriodicWave(periodicWave) { this._oscillator.setPeriodicWave(periodicWave); return this; } + /** + * The oscillator type. Either 'sine', 'sawtooth', 'square', or 'triangle' + */ get type() { return this._oscillator.type; } set type(type) { this._oscillator.type = type; } + /** + * Clean up. + */ dispose() { super.dispose(); if (this.state === "started") { @@ -75471,12 +76871,12 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/source/oscillator/Oscillator.js - var Oscillator = class extends Source { + var Oscillator = class _Oscillator extends Source { constructor() { - super(optionsFromArguments(Oscillator.getDefaults(), arguments, ["frequency", "type"])); + super(optionsFromArguments(_Oscillator.getDefaults(), arguments, ["frequency", "type"])); this.name = "Oscillator"; this._oscillator = null; - const options = optionsFromArguments(Oscillator.getDefaults(), arguments, ["frequency", "type"]); + const options = optionsFromArguments(_Oscillator.getDefaults(), arguments, ["frequency", "type"]); this.frequency = new Signal({ context: this.context, units: "frequency", @@ -75507,6 +76907,9 @@ ${o3}` : i3; type: "sine" }); } + /** + * start the oscillator + */ _start(time) { const computedTime = this.toSeconds(time); const oscillator = new ToneOscillatorNode({ @@ -75524,12 +76927,19 @@ ${o3}` : i3; this.detune.connect(this._oscillator.detune); this._oscillator.start(computedTime); } + /** + * stop the oscillator + */ _stop(time) { const computedTime = this.toSeconds(time); if (this._oscillator) { this._oscillator.stop(computedTime); } } + /** + * Restart the oscillator. Does not stop the oscillator, but instead + * just cancels any scheduled 'stop' from being invoked. + */ _restart(time) { const computedTime = this.toSeconds(time); this.log("restart", computedTime); @@ -75539,22 +76949,43 @@ ${o3}` : i3; this._state.cancel(computedTime); return this; } + /** + * Sync the signal to the Transport's bpm. Any changes to the transports bpm, + * will also affect the oscillators frequency. + * @example + * const osc = new Tone.Oscillator().toDestination().start(); + * osc.frequency.value = 440; + * // the ratio between the bpm and the frequency will be maintained + * osc.syncFrequency(); + * // double the tempo + * Tone.Transport.bpm.value *= 2; + * // the frequency of the oscillator is doubled to 880 + */ syncFrequency() { this.context.transport.syncSignal(this.frequency); return this; } + /** + * Unsync the oscillator's frequency from the Transport. + * See Oscillator.syncFrequency + */ unsyncFrequency() { this.context.transport.unsyncSignal(this.frequency); return this; } + /** + * Get a cached periodic wave. Avoids having to recompute + * the oscillator values when they have already been computed + * with the same values. + */ _getCachedPeriodicWave() { if (this._type === "custom") { - const oscProps = Oscillator._periodicWaveCache.find((description) => { + const oscProps = _Oscillator._periodicWaveCache.find((description) => { return description.phase === this._phase && deepEquals(description.partials, this._partials); }); return oscProps; } else { - const oscProps = Oscillator._periodicWaveCache.find((description) => { + const oscProps = _Oscillator._periodicWaveCache.find((description) => { return description.type === this._type && description.phase === this._phase; }); this._partialCount = oscProps ? oscProps.partialCount : this._partialCount; @@ -75589,7 +77020,7 @@ ${o3}` : i3; if (this._oscillator !== null) { this._oscillator.setPeriodicWave(this._wave); } - Oscillator._periodicWaveCache.push({ + _Oscillator._periodicWaveCache.push({ imag, partialCount: this._partialCount, partials: this._partials, @@ -75598,8 +77029,8 @@ ${o3}` : i3; type: this._type, wave: this._wave }); - if (Oscillator._periodicWaveCache.length > 100) { - Oscillator._periodicWaveCache.shift(); + if (_Oscillator._periodicWaveCache.length > 100) { + _Oscillator._periodicWaveCache.shift(); } } } @@ -75637,6 +77068,11 @@ ${o3}` : i3; this.type = this._type; } } + /** + * Returns the real and imaginary components based + * on the oscillator type. + * @returns [real: Float32Array, imaginary: Float32Array] + */ _getRealImaginary(type, phase) { const fftSize = 4096; let periodicWaveSize = fftSize / 2; @@ -75703,6 +77139,9 @@ ${o3}` : i3; } return [real, imag]; } + /** + * Compute the inverse FFT for a given phase. + */ _inverseFFT(real, imag, phase) { let sum = 0; const len = real.length; @@ -75711,6 +77150,10 @@ ${o3}` : i3; } return sum; } + /** + * Returns the initial value of the oscillator when stopped. + * E.g. a "sine" oscillator with phase = 90 would return an initial value of -1. + */ getInitialValue() { const [real, imag] = this._getRealImaginary(this._type, 0); let maxValue = 0; @@ -75757,9 +77200,9 @@ ${o3}` : i3; Oscillator._periodicWaveCache = []; // node_modules/tone/build/esm/signal/SignalOperator.js - var SignalOperator = class extends ToneAudioNode { + var SignalOperator = class _SignalOperator extends ToneAudioNode { constructor() { - super(Object.assign(optionsFromArguments(SignalOperator.getDefaults(), arguments, ["context"]))); + super(Object.assign(optionsFromArguments(_SignalOperator.getDefaults(), arguments, ["context"]))); } connect(destination, outputNum = 0, inputNum = 0) { connectSignal(this, destination, outputNum, inputNum); @@ -75768,14 +77211,14 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/signal/WaveShaper.js - var WaveShaper = class extends SignalOperator { + var WaveShaper = class _WaveShaper extends SignalOperator { constructor() { - super(Object.assign(optionsFromArguments(WaveShaper.getDefaults(), arguments, ["mapping", "length"]))); + super(Object.assign(optionsFromArguments(_WaveShaper.getDefaults(), arguments, ["mapping", "length"]))); this.name = "WaveShaper"; this._shaper = this.context.createWaveShaper(); this.input = this._shaper; this.output = this._shaper; - const options = optionsFromArguments(WaveShaper.getDefaults(), arguments, ["mapping", "length"]); + const options = optionsFromArguments(_WaveShaper.getDefaults(), arguments, ["mapping", "length"]); if (isArray(options.mapping) || options.mapping instanceof Float32Array) { this.curve = Float32Array.from(options.mapping); } else if (isFunction(options.mapping)) { @@ -75787,6 +77230,18 @@ ${o3}` : i3; length: 1024 }); } + /** + * Uses a mapping function to set the value of the curve. + * @param mapping The function used to define the values. + * The mapping function take two arguments: + * the first is the value at the current position + * which goes from -1 to 1 over the number of elements + * in the curve array. The second argument is the array position. + * @example + * const shaper = new Tone.WaveShaper(); + * // map the input signal from [-1, 1] to [0, 10] + * shaper.setMap((val, index) => (val + 1) * 5); + */ setMap(mapping, length = 1024) { const array = new Float32Array(length); for (let i = 0, len = length; i < len; i++) { @@ -75796,12 +77251,21 @@ ${o3}` : i3; this.curve = array; return this; } + /** + * The array to set as the waveshaper curve. For linear curves + * array length does not make much difference, but for complex curves + * longer arrays will provide smoother interpolation. + */ get curve() { return this._shaper.curve; } set curve(mapping) { this._shaper.curve = mapping; } + /** + * Specifies what type of oversampling (if any) should be used when + * applying the shaping curve. Can either be "none", "2x" or "4x". + */ get oversample() { return this._shaper.oversample; } @@ -75810,6 +77274,9 @@ ${o3}` : i3; assert(isOverSampleType, "oversampling must be either 'none', '2x', or '4x'"); this._shaper.oversample = oversampling; } + /** + * Clean up. + */ dispose() { super.dispose(); this._shaper.disconnect(); @@ -75829,6 +77296,9 @@ ${o3}` : i3; this.input = this._norm; this.output = this._norm; } + /** + * clean up + */ dispose() { super.dispose(); this._norm.dispose(); @@ -75837,12 +77307,12 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/signal/Multiply.js - var Multiply = class extends Signal { + var Multiply = class _Multiply extends Signal { constructor() { - super(Object.assign(optionsFromArguments(Multiply.getDefaults(), arguments, ["value"]))); + super(Object.assign(optionsFromArguments(_Multiply.getDefaults(), arguments, ["value"]))); this.name = "Multiply"; this.override = false; - const options = optionsFromArguments(Multiply.getDefaults(), arguments, ["value"]); + const options = optionsFromArguments(_Multiply.getDefaults(), arguments, ["value"]); this._mult = this.input = this.output = new Gain({ context: this.context, minValue: options.minValue, @@ -75864,15 +77334,15 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/source/oscillator/AMOscillator.js - var AMOscillator = class extends Source { + var AMOscillator = class _AMOscillator extends Source { constructor() { - super(optionsFromArguments(AMOscillator.getDefaults(), arguments, ["frequency", "type", "modulationType"])); + super(optionsFromArguments(_AMOscillator.getDefaults(), arguments, ["frequency", "type", "modulationType"])); this.name = "AMOscillator"; this._modulationScale = new AudioToGain({ context: this.context }); this._modulationNode = new Gain({ context: this.context }); - const options = optionsFromArguments(AMOscillator.getDefaults(), arguments, ["frequency", "type", "modulationType"]); + const options = optionsFromArguments(_AMOscillator.getDefaults(), arguments, ["frequency", "type", "modulationType"]); this._carrier = new Oscillator({ context: this.context, detune: options.detune, @@ -75903,10 +77373,16 @@ ${o3}` : i3; modulationType: "square" }); } + /** + * start the oscillator + */ _start(time) { this._modulator.start(time); this._carrier.start(time); } + /** + * stop the oscillator + */ _stop(time) { this._modulator.stop(time); this._carrier.stop(time); @@ -75915,6 +77391,9 @@ ${o3}` : i3; this._modulator.restart(time); this._carrier.restart(time); } + /** + * The type of the carrier oscillator + */ get type() { return this._carrier.type; } @@ -75933,6 +77412,9 @@ ${o3}` : i3; set partialCount(partialCount) { this._carrier.partialCount = partialCount; } + /** + * The type of the modulator oscillator + */ get modulationType() { return this._modulator.type; } @@ -75957,6 +77439,9 @@ ${o3}` : i3; return generateWaveform(this, length); }); } + /** + * Clean up. + */ dispose() { super.dispose(); this.frequency.dispose(); @@ -75971,15 +77456,15 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/source/oscillator/FMOscillator.js - var FMOscillator = class extends Source { + var FMOscillator = class _FMOscillator extends Source { constructor() { - super(optionsFromArguments(FMOscillator.getDefaults(), arguments, ["frequency", "type", "modulationType"])); + super(optionsFromArguments(_FMOscillator.getDefaults(), arguments, ["frequency", "type", "modulationType"])); this.name = "FMOscillator"; this._modulationNode = new Gain({ context: this.context, gain: 0 }); - const options = optionsFromArguments(FMOscillator.getDefaults(), arguments, ["frequency", "type", "modulationType"]); + const options = optionsFromArguments(_FMOscillator.getDefaults(), arguments, ["frequency", "type", "modulationType"]); this._carrier = new Oscillator({ context: this.context, detune: options.detune, @@ -76025,10 +77510,16 @@ ${o3}` : i3; modulationType: "square" }); } + /** + * start the oscillator + */ _start(time) { this._modulator.start(time); this._carrier.start(time); } + /** + * stop the oscillator + */ _stop(time) { this._modulator.stop(time); this._carrier.stop(time); @@ -76056,6 +77547,9 @@ ${o3}` : i3; set partialCount(partialCount) { this._carrier.partialCount = partialCount; } + /** + * The type of the modulator oscillator + */ get modulationType() { return this._modulator.type; } @@ -76080,6 +77574,9 @@ ${o3}` : i3; return generateWaveform(this, length); }); } + /** + * Clean up. + */ dispose() { super.dispose(); this.frequency.dispose(); @@ -76093,9 +77590,9 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/source/oscillator/PulseOscillator.js - var PulseOscillator = class extends Source { + var PulseOscillator = class _PulseOscillator extends Source { constructor() { - super(optionsFromArguments(PulseOscillator.getDefaults(), arguments, ["frequency", "width"])); + super(optionsFromArguments(_PulseOscillator.getDefaults(), arguments, ["frequency", "width"])); this.name = "PulseOscillator"; this._widthGate = new Gain({ context: this.context, @@ -76105,7 +77602,7 @@ ${o3}` : i3; context: this.context, mapping: (val) => val <= 0 ? -1 : 1 }); - const options = optionsFromArguments(PulseOscillator.getDefaults(), arguments, ["frequency", "width"]); + const options = optionsFromArguments(_PulseOscillator.getDefaults(), arguments, ["frequency", "width"]); this.width = new Signal({ context: this.context, units: "audioRange", @@ -76134,11 +77631,17 @@ ${o3}` : i3; width: 0.2 }); } + /** + * start the oscillator + */ _start(time) { time = this.toSeconds(time); this._triangle.start(time); this._widthGate.gain.setValueAtTime(1, time); } + /** + * stop the oscillator + */ _stop(time) { time = this.toSeconds(time); this._triangle.stop(time); @@ -76150,24 +77653,44 @@ ${o3}` : i3; this._widthGate.gain.cancelScheduledValues(time); this._widthGate.gain.setValueAtTime(1, time); } + /** + * The phase of the oscillator in degrees. + */ get phase() { return this._triangle.phase; } set phase(phase) { this._triangle.phase = phase; } + /** + * The type of the oscillator. Always returns "pulse". + */ get type() { return "pulse"; } + /** + * The baseType of the oscillator. Always returns "pulse". + */ get baseType() { return "pulse"; } + /** + * The partials of the waveform. Cannot set partials for this waveform type + */ get partials() { return []; } + /** + * No partials for this waveform type. + */ get partialCount() { return 0; } + /** + * *Internal use* The carrier oscillator type is fed through the + * waveshaper node to create the pulse. Using different carrier oscillators + * changes oscillator's behavior. + */ set carrierType(type) { this._triangle.type = type; } @@ -76176,6 +77699,9 @@ ${o3}` : i3; return generateWaveform(this, length); }); } + /** + * Clean up method. + */ dispose() { super.dispose(); this._triangle.dispose(); @@ -76187,12 +77713,12 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/source/oscillator/FatOscillator.js - var FatOscillator = class extends Source { + var FatOscillator = class _FatOscillator extends Source { constructor() { - super(optionsFromArguments(FatOscillator.getDefaults(), arguments, ["frequency", "type", "spread"])); + super(optionsFromArguments(_FatOscillator.getDefaults(), arguments, ["frequency", "type", "spread"])); this.name = "FatOscillator"; this._oscillators = []; - const options = optionsFromArguments(FatOscillator.getDefaults(), arguments, ["frequency", "type", "spread"]); + const options = optionsFromArguments(_FatOscillator.getDefaults(), arguments, ["frequency", "type", "spread"]); this.frequency = new Signal({ context: this.context, units: "frequency", @@ -76218,10 +77744,16 @@ ${o3}` : i3; type: "sawtooth" }); } + /** + * start the oscillator + */ _start(time) { time = this.toSeconds(time); this._forEach((osc) => osc.start(time)); } + /** + * stop the oscillator + */ _stop(time) { time = this.toSeconds(time); this._forEach((osc) => osc.stop(time)); @@ -76229,11 +77761,17 @@ ${o3}` : i3; _restart(time) { this._forEach((osc) => osc.restart(time)); } + /** + * Iterate over all of the oscillators + */ _forEach(iterator) { for (let i = 0; i < this._oscillators.length; i++) { iterator(this._oscillators[i], i); } } + /** + * The type of the oscillator + */ get type() { return this._type; } @@ -76241,6 +77779,15 @@ ${o3}` : i3; this._type = type; this._forEach((osc) => osc.type = type); } + /** + * The detune spread between the oscillators. If "count" is + * set to 3 oscillators and the "spread" is set to 40, + * the three oscillators would be detuned like this: [-20, 0, 20] + * for a total detune spread of 40 cents. + * @example + * const fatOsc = new Tone.FatOscillator().toDestination().start(); + * fatOsc.spread = 70; + */ get spread() { return this._spread; } @@ -76252,6 +77799,13 @@ ${o3}` : i3; this._forEach((osc, i) => osc.detune.value = start2 + step * i); } } + /** + * The number of detuned oscillators. Must be an integer greater than 1. + * @example + * const fatOsc = new Tone.FatOscillator("C#3", "sawtooth").toDestination().start(); + * // use 4 sawtooth oscillators + * fatOsc.count = 4; + */ get count() { return this._oscillators.length; } @@ -76322,6 +77876,9 @@ ${o3}` : i3; return generateWaveform(this, length); }); } + /** + * Clean up. + */ dispose() { super.dispose(); this.frequency.dispose(); @@ -76332,16 +77889,16 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/source/oscillator/PWMOscillator.js - var PWMOscillator = class extends Source { + var PWMOscillator = class _PWMOscillator extends Source { constructor() { - super(optionsFromArguments(PWMOscillator.getDefaults(), arguments, ["frequency", "modulationFrequency"])); + super(optionsFromArguments(_PWMOscillator.getDefaults(), arguments, ["frequency", "modulationFrequency"])); this.name = "PWMOscillator"; this.sourceType = "pwm"; this._scale = new Multiply({ context: this.context, value: 2 }); - const options = optionsFromArguments(PWMOscillator.getDefaults(), arguments, ["frequency", "modulationFrequency"]); + const options = optionsFromArguments(_PWMOscillator.getDefaults(), arguments, ["frequency", "modulationFrequency"]); this._pulse = new PulseOscillator({ context: this.context, frequency: options.modulationFrequency @@ -76370,32 +77927,56 @@ ${o3}` : i3; type: "pwm" }); } + /** + * start the oscillator + */ _start(time) { time = this.toSeconds(time); this._modulator.start(time); this._pulse.start(time); } + /** + * stop the oscillator + */ _stop(time) { time = this.toSeconds(time); this._modulator.stop(time); this._pulse.stop(time); } + /** + * restart the oscillator + */ _restart(time) { this._modulator.restart(time); this._pulse.restart(time); } + /** + * The type of the oscillator. Always returns "pwm". + */ get type() { return "pwm"; } + /** + * The baseType of the oscillator. Always returns "pwm". + */ get baseType() { return "pwm"; } + /** + * The partials of the waveform. Cannot set partials for this waveform type + */ get partials() { return []; } + /** + * No partials for this waveform type. + */ get partialCount() { return 0; } + /** + * The phase of the oscillator in degrees. + */ get phase() { return this._modulator.phase; } @@ -76407,6 +77988,9 @@ ${o3}` : i3; return generateWaveform(this, length); }); } + /** + * Clean up. + */ dispose() { super.dispose(); this._pulse.dispose(); @@ -76425,11 +78009,11 @@ ${o3}` : i3; pulse: PulseOscillator, pwm: PWMOscillator }; - var OmniOscillator = class extends Source { + var OmniOscillator = class _OmniOscillator extends Source { constructor() { - super(optionsFromArguments(OmniOscillator.getDefaults(), arguments, ["frequency", "type"])); + super(optionsFromArguments(_OmniOscillator.getDefaults(), arguments, ["frequency", "type"])); this.name = "OmniOscillator"; - const options = optionsFromArguments(OmniOscillator.getDefaults(), arguments, ["frequency", "type"]); + const options = optionsFromArguments(_OmniOscillator.getDefaults(), arguments, ["frequency", "type"]); this.frequency = new Signal({ context: this.context, units: "frequency", @@ -76446,9 +78030,15 @@ ${o3}` : i3; static getDefaults() { return Object.assign(Oscillator.getDefaults(), FMOscillator.getDefaults(), AMOscillator.getDefaults(), FatOscillator.getDefaults(), PulseOscillator.getDefaults(), PWMOscillator.getDefaults()); } + /** + * start the oscillator + */ _start(time) { this._oscillator.start(time); } + /** + * start the oscillator + */ _stop(time) { this._oscillator.stop(time); } @@ -76456,6 +78046,19 @@ ${o3}` : i3; this._oscillator.restart(time); return this; } + /** + * The type of the oscillator. Can be any of the basic types: sine, square, triangle, sawtooth. Or + * prefix the basic types with "fm", "am", or "fat" to use the FMOscillator, AMOscillator or FatOscillator + * types. The oscillator could also be set to "pwm" or "pulse". All of the parameters of the + * oscillator's class are accessible when the oscillator is set to that type, but throws an error + * when it's not. + * @example + * const omniOsc = new Tone.OmniOscillator().toDestination().start(); + * omniOsc.type = "pwm"; + * // modulationFrequency is parameter which is available + * // only when the type is "pwm". + * omniOsc.modulationFrequency.value = 0.5; + */ get type() { let prefix = ""; if (["am", "fm", "fat"].some((p) => this._sourceType === p)) { @@ -76487,6 +78090,11 @@ ${o3}` : i3; this._oscillator.type = type; } } + /** + * The value is an empty array when the type is not "custom". + * This is not available on "pwm" and "pulse" oscillator types. + * See [[Oscillator.partials]] + */ get partials() { return this._oscillator.partials; } @@ -76510,6 +78118,9 @@ ${o3}` : i3; super.set(props); return this; } + /** + * connect the oscillator to the frequency and detune signals + */ _createNewOscillator(oscType) { if (oscType !== this._sourceType) { this._sourceType = oscType; @@ -76538,6 +78149,12 @@ ${o3}` : i3; set phase(phase) { this._oscillator.phase = phase; } + /** + * The source type of the oscillator. + * @example + * const omniOsc = new Tone.OmniOscillator(440, "fmsquare"); + * console.log(omniOsc.sourceType); // 'fm' + */ get sourceType() { return this._sourceType; } @@ -76563,6 +78180,12 @@ ${o3}` : i3; _getOscType(osc, sourceType) { return osc instanceof OmniOscillatorSourceMap[sourceType]; } + /** + * The base type of the oscillator. See [[Oscillator.baseType]] + * @example + * const omniOsc = new Tone.OmniOscillator(440, "fmsquare4"); + * console.log(omniOsc.sourceType, omniOsc.baseType, omniOsc.partialCount); + */ get baseType() { return this._oscillator.baseType; } @@ -76571,6 +78194,10 @@ ${o3}` : i3; this._oscillator.baseType = baseType; } } + /** + * The width of the oscillator when sourceType === "pulse". + * See [[PWMOscillator.width]] + */ get width() { if (this._getOscType(this._oscillator, "pulse")) { return this._oscillator.width; @@ -76578,6 +78205,10 @@ ${o3}` : i3; return void 0; } } + /** + * The number of detuned oscillators when sourceType === "fat". + * See [[FatOscillator.count]] + */ get count() { if (this._getOscType(this._oscillator, "fat")) { return this._oscillator.count; @@ -76590,6 +78221,10 @@ ${o3}` : i3; this._oscillator.count = count; } } + /** + * The detune spread between the oscillators when sourceType === "fat". + * See [[FatOscillator.count]] + */ get spread() { if (this._getOscType(this._oscillator, "fat")) { return this._oscillator.spread; @@ -76602,6 +78237,10 @@ ${o3}` : i3; this._oscillator.spread = spread; } } + /** + * The type of the modulator oscillator. Only if the oscillator is set to "am" or "fm" types. + * See [[AMOscillator]] or [[FMOscillator]] + */ get modulationType() { if (this._getOscType(this._oscillator, "fm") || this._getOscType(this._oscillator, "am")) { return this._oscillator.modulationType; @@ -76614,6 +78253,10 @@ ${o3}` : i3; this._oscillator.modulationType = mType; } } + /** + * The modulation index when the sourceType === "fm" + * See [[FMOscillator]]. + */ get modulationIndex() { if (this._getOscType(this._oscillator, "fm")) { return this._oscillator.modulationIndex; @@ -76621,6 +78264,10 @@ ${o3}` : i3; return void 0; } } + /** + * Harmonicity is the frequency ratio between the carrier and the modulator oscillators. + * See [[AMOscillator]] or [[FMOscillator]] + */ get harmonicity() { if (this._getOscType(this._oscillator, "fm") || this._getOscType(this._oscillator, "am")) { return this._oscillator.harmonicity; @@ -76628,6 +78275,12 @@ ${o3}` : i3; return void 0; } } + /** + * The modulationFrequency Signal of the oscillator when sourceType === "pwm" + * see [[PWMOscillator]] + * @min 0.1 + * @max 5 + */ get modulationFrequency() { if (this._getOscType(this._oscillator, "pwm")) { return this._oscillator.modulationFrequency; @@ -76651,7 +78304,7 @@ ${o3}` : i3; // node_modules/tone/build/esm/core/util/Decorator.js function range(min, max = Infinity) { - const valueMap = new WeakMap(); + const valueMap = /* @__PURE__ */ new WeakMap(); return function(target, propertyKey) { Reflect.defineProperty(target, propertyKey, { configurable: true, @@ -76667,7 +78320,7 @@ ${o3}` : i3; }; } function timeRange(min, max = Infinity) { - const valueMap = new WeakMap(); + const valueMap = /* @__PURE__ */ new WeakMap(); return function(target, propertyKey) { Reflect.defineProperty(target, propertyKey, { configurable: true, @@ -76684,12 +78337,12 @@ ${o3}` : i3; } // node_modules/tone/build/esm/source/buffer/Player.js - var Player = class extends Source { + var Player = class _Player extends Source { constructor() { - super(optionsFromArguments(Player.getDefaults(), arguments, ["url", "onload"])); + super(optionsFromArguments(_Player.getDefaults(), arguments, ["url", "onload"])); this.name = "Player"; - this._activeSources = new Set(); - const options = optionsFromArguments(Player.getDefaults(), arguments, ["url", "onload"]); + this._activeSources = /* @__PURE__ */ new Set(); + const options = optionsFromArguments(_Player.getDefaults(), arguments, ["url", "onload"]); this._buffer = new ToneAudioBuffer({ onload: this._onload.bind(this, options.onload), onerror: options.onerror, @@ -76718,6 +78371,15 @@ ${o3}` : i3; reverse: false }); } + /** + * Load the audio file as an audio buffer. + * Decodes the audio asynchronously and invokes + * the callback once the audio buffer loads. + * Note: this does not need to be called if a url + * was passed in to the constructor. Only use this + * if you want to manually load a new url. + * @param url The url of the buffer to load. Filetype support depends on the browser. + */ load(url) { return __awaiter(this, void 0, void 0, function* () { yield this._buffer.load(url); @@ -76725,12 +78387,18 @@ ${o3}` : i3; return this; }); } + /** + * Internal callback when the buffer is loaded. + */ _onload(callback2 = noOp) { callback2(); if (this.autostart) { this.start(); } } + /** + * Internal callback when the buffer is done playing. + */ _onSourceEnd(source) { this.onstop(this); this._activeSources.delete(source); @@ -76739,10 +78407,22 @@ ${o3}` : i3; this._state.setStateAtTime("stopped", this.now()); } } + /** + * Play the buffer at the given startTime. Optionally add an offset + * and/or duration which will play the buffer from a position + * within the buffer for the given duration. + * + * @param time When the player should start. + * @param offset The offset from the beginning of the sample to start at. + * @param duration How long the sample should play. If no duration is given, it will default to the full length of the sample (minus any offset) + */ start(time, offset, duration) { super.start(time, offset, duration); return this; } + /** + * Internal start method + */ _start(startTime, offset, duration) { if (this._loop) { offset = defaultArg(offset, this._loopStart); @@ -76779,10 +78459,20 @@ ${o3}` : i3; source.start(startTime, computedOffset, computedDuration - this.toSeconds(this.fadeOut)); } } + /** + * Stop playback. + */ _stop(time) { const computedTime = this.toSeconds(time); this._activeSources.forEach((source) => source.stop(computedTime)); } + /** + * Stop and then restart the player from the beginning (or offset) + * @param time When the player should start. + * @param offset The offset from the beginning of the sample to start at. + * @param duration How long the sample should play. If no duration is given, + * it will default to the full length of the sample (minus any offset) + */ restart(time, offset, duration) { super.restart(time, offset, duration); return this; @@ -76791,6 +78481,18 @@ ${o3}` : i3; this._stop(time); this._start(time, offset, duration); } + /** + * Seek to a specific time in the player's buffer. If the + * source is no longer playing at that time, it will stop. + * @param offset The time to seek to. + * @param when The time for the seek event to occur. + * @example + * const player = new Tone.Player("https://tonejs.github.io/audio/berklee/gurgling_theremin_1.mp3", () => { + * player.start(); + * // seek to the offset in 1 second from now + * player.seek(0.4, "+1"); + * }).toDestination(); + */ seek(offset, when) { const computedTime = this.toSeconds(when); if (this._state.getValueAtTime(computedTime) === "started") { @@ -76800,11 +78502,25 @@ ${o3}` : i3; } return this; } + /** + * Set the loop start and end. Will only loop if loop is set to true. + * @param loopStart The loop start time + * @param loopEnd The loop end time + * @example + * const player = new Tone.Player("https://tonejs.github.io/audio/berklee/malevoices_aa2_F3.mp3").toDestination(); + * // loop between the given points + * player.setLoopPoints(0.2, 0.3); + * player.loop = true; + * player.autostart = true; + */ setLoopPoints(loopStart, loopEnd) { this.loopStart = loopStart; this.loopEnd = loopEnd; return this; } + /** + * If loop is true, the loop will start at this position. + */ get loopStart() { return this._loopStart; } @@ -76817,6 +78533,9 @@ ${o3}` : i3; source.loopStart = loopStart; }); } + /** + * If loop is true, the loop will end at this position. + */ get loopEnd() { return this._loopEnd; } @@ -76829,12 +78548,22 @@ ${o3}` : i3; source.loopEnd = loopEnd; }); } + /** + * The audio buffer belonging to the player. + */ get buffer() { return this._buffer; } set buffer(buffer) { this._buffer.set(buffer); } + /** + * If the buffer should loop once it's over. + * @example + * const player = new Tone.Player("https://tonejs.github.io/audio/drum-samples/breakbeat.mp3").toDestination(); + * player.loop = true; + * player.autostart = true; + */ get loop() { return this._loop; } @@ -76853,6 +78582,15 @@ ${o3}` : i3; } } } + /** + * Normal speed is 1. The pitch will change with the playback rate. + * @example + * const player = new Tone.Player("https://tonejs.github.io/audio/berklee/femalevoices_aa2_A5.mp3").toDestination(); + * // play at 1/4 speed + * player.playbackRate = 0.25; + * // play as soon as the buffer is loaded + * player.autostart = true; + */ get playbackRate() { return this._playbackRate; } @@ -76868,12 +78606,22 @@ ${o3}` : i3; source.playbackRate.setValueAtTime(rate, now); }); } + /** + * If the buffer should be reversed + * @example + * const player = new Tone.Player("https://tonejs.github.io/audio/berklee/chime_1.mp3").toDestination(); + * player.autostart = true; + * player.reverse = true; + */ get reverse() { return this._buffer.reverse; } set reverse(rev) { this._buffer.reverse = rev; } + /** + * If the buffer is loaded + */ get loaded() { return this._buffer.loaded; } @@ -76893,9 +78641,9 @@ ${o3}` : i3; ], Player.prototype, "fadeOut", void 0); // node_modules/tone/build/esm/component/envelope/Envelope.js - var Envelope = class extends ToneAudioNode { + var Envelope = class _Envelope extends ToneAudioNode { constructor() { - super(optionsFromArguments(Envelope.getDefaults(), arguments, ["attack", "decay", "sustain", "release"])); + super(optionsFromArguments(_Envelope.getDefaults(), arguments, ["attack", "decay", "sustain", "release"])); this.name = "Envelope"; this._sig = new Signal({ context: this.context, @@ -76903,7 +78651,7 @@ ${o3}` : i3; }); this.output = this._sig; this.input = void 0; - const options = optionsFromArguments(Envelope.getDefaults(), arguments, ["attack", "decay", "sustain", "release"]); + const options = optionsFromArguments(_Envelope.getDefaults(), arguments, ["attack", "decay", "sustain", "release"]); this.attack = options.attack; this.decay = options.decay; this.sustain = options.sustain; @@ -76923,9 +78671,19 @@ ${o3}` : i3; sustain: 0.5 }); } + /** + * Read the current value of the envelope. Useful for + * synchronizing visual output to the envelope. + */ get value() { return this.getValueAtTime(this.now()); } + /** + * Get the curve + * @param curve + * @param direction In/Out + * @return The curve name + */ _getCurve(curve, direction) { if (isString(curve)) { return curve; @@ -76939,6 +78697,12 @@ ${o3}` : i3; return curve; } } + /** + * Assign a the curve to the given name using the direction + * @param name + * @param direction In/Out + * @param curve + */ _setCurve(name2, direction, curve) { if (isString(curve) && Reflect.has(EnvelopeCurves, curve)) { const curveDef = EnvelopeCurves[curve]; @@ -76955,18 +78719,64 @@ ${o3}` : i3; throw new Error("Envelope: invalid curve: " + curve); } } + /** + * The shape of the attack. + * Can be any of these strings: + * * "linear" + * * "exponential" + * * "sine" + * * "cosine" + * * "bounce" + * * "ripple" + * * "step" + * + * Can also be an array which describes the curve. Values + * in the array are evenly subdivided and linearly + * interpolated over the duration of the attack. + * @example + * return Tone.Offline(() => { + * const env = new Tone.Envelope(0.4).toDestination(); + * env.attackCurve = "linear"; + * env.triggerAttack(); + * }, 1, 1); + */ get attackCurve() { return this._getCurve(this._attackCurve, "In"); } set attackCurve(curve) { this._setCurve("_attackCurve", "In", curve); } + /** + * The shape of the release. See the attack curve types. + * @example + * return Tone.Offline(() => { + * const env = new Tone.Envelope({ + * release: 0.8 + * }).toDestination(); + * env.triggerAttack(); + * // release curve could also be defined by an array + * env.releaseCurve = [1, 0.3, 0.4, 0.2, 0.7, 0]; + * env.triggerRelease(0.2); + * }, 1, 1); + */ get releaseCurve() { return this._getCurve(this._releaseCurve, "Out"); } set releaseCurve(curve) { this._setCurve("_releaseCurve", "Out", curve); } + /** + * The shape of the decay either "linear" or "exponential" + * @example + * return Tone.Offline(() => { + * const env = new Tone.Envelope({ + * sustain: 0.1, + * decay: 0.5 + * }).toDestination(); + * env.decayCurve = "linear"; + * env.triggerAttack(); + * }, 1, 1); + */ get decayCurve() { return this._decayCurve; } @@ -76974,6 +78784,17 @@ ${o3}` : i3; assert(["linear", "exponential"].some((c2) => c2 === curve), `Invalid envelope curve: ${curve}`); this._decayCurve = curve; } + /** + * Trigger the attack/decay portion of the ADSR envelope. + * @param time When the attack should start. + * @param velocity The velocity of the envelope scales the vales. + * number between 0-1 + * @example + * const env = new Tone.AmplitudeEnvelope().toDestination(); + * const osc = new Tone.Oscillator().connect(env).start(); + * // trigger the attack 0.5 seconds from now with a velocity of 0.2 + * env.triggerAttack("+0.5", 0.2); + */ triggerAttack(time, velocity = 1) { this.log("triggerAttack", time, velocity); time = this.toSeconds(time); @@ -77017,6 +78838,18 @@ ${o3}` : i3; } return this; } + /** + * Triggers the release of the envelope. + * @param time When the release portion of the envelope should start. + * @example + * const env = new Tone.AmplitudeEnvelope().toDestination(); + * const osc = new Tone.Oscillator({ + * type: "sawtooth" + * }).connect(env).start(); + * env.triggerAttack(); + * // trigger the release half a second after the attack + * env.triggerRelease("+0.5"); + */ triggerRelease(time) { this.log("triggerRelease", time); time = this.toSeconds(time); @@ -77037,23 +78870,54 @@ ${o3}` : i3; } return this; } + /** + * Get the scheduled value at the given time. This will + * return the unconverted (raw) value. + * @example + * const env = new Tone.Envelope(0.5, 1, 0.4, 2); + * env.triggerAttackRelease(2); + * setInterval(() => console.log(env.getValueAtTime(Tone.now())), 100); + */ getValueAtTime(time) { return this._sig.getValueAtTime(time); } + /** + * triggerAttackRelease is shorthand for triggerAttack, then waiting + * some duration, then triggerRelease. + * @param duration The duration of the sustain. + * @param time When the attack should be triggered. + * @param velocity The velocity of the envelope. + * @example + * const env = new Tone.AmplitudeEnvelope().toDestination(); + * const osc = new Tone.Oscillator().connect(env).start(); + * // trigger the release 0.5 seconds after the attack + * env.triggerAttackRelease(0.5); + */ triggerAttackRelease(duration, time, velocity = 1) { time = this.toSeconds(time); this.triggerAttack(time, velocity); this.triggerRelease(time + this.toSeconds(duration)); return this; } + /** + * Cancels all scheduled envelope changes after the given time. + */ cancel(after) { this._sig.cancelScheduledValues(this.toSeconds(after)); return this; } + /** + * Connect the envelope to a destination node. + */ connect(destination, outputNumber = 0, inputNumber = 0) { connectSignal(this, destination, outputNumber, inputNumber); return this; } + /** + * Render the envelope curve to an array of the given length. + * Good for visualizing the envelope curve. Rescales the duration of the + * envelope to fit the length. + */ asArray(length = 1024) { return __awaiter(this, void 0, void 0, function* () { const duration = length / this.context.sampleRate; @@ -77162,14 +79026,14 @@ ${o3}` : i3; })(); // node_modules/tone/build/esm/instrument/Instrument.js - var Instrument = class extends ToneAudioNode { + var Instrument = class _Instrument extends ToneAudioNode { constructor() { - super(optionsFromArguments(Instrument.getDefaults(), arguments)); + super(optionsFromArguments(_Instrument.getDefaults(), arguments)); this._scheduledEvents = []; this._synced = false; this._original_triggerAttack = this.triggerAttack; this._original_triggerRelease = this.triggerRelease; - const options = optionsFromArguments(Instrument.getDefaults(), arguments); + const options = optionsFromArguments(_Instrument.getDefaults(), arguments); this._volume = this.output = new Volume({ context: this.context, volume: options.volume @@ -77182,6 +79046,20 @@ ${o3}` : i3; volume: 0 }); } + /** + * Sync the instrument to the Transport. All subsequent calls of + * [[triggerAttack]] and [[triggerRelease]] will be scheduled along the transport. + * @example + * const fmSynth = new Tone.FMSynth().toDestination(); + * fmSynth.volume.value = -6; + * fmSynth.sync(); + * // schedule 3 notes when the transport first starts + * fmSynth.triggerAttackRelease("C4", "8n", 0); + * fmSynth.triggerAttackRelease("E4", "8n", "8n"); + * fmSynth.triggerAttackRelease("G4", "8n", "4n"); + * // start the transport to hear the notes + * Tone.Transport.start(); + */ sync() { if (this._syncState()) { this._syncMethod("triggerAttack", 1); @@ -77189,6 +79067,9 @@ ${o3}` : i3; } return this; } + /** + * set _sync + */ _syncState() { let changed = false; if (!this._synced) { @@ -77197,19 +79078,27 @@ ${o3}` : i3; } return changed; } + /** + * Wrap the given method so that it can be synchronized + * @param method Which method to wrap and sync + * @param timePosition What position the time argument appears in + */ _syncMethod(method, timePosition) { const originalMethod = this["_original_" + method] = this[method]; this[method] = (...args) => { const time = args[timePosition]; - const id2 = this.context.transport.schedule((t2) => { + const id = this.context.transport.schedule((t2) => { args[timePosition] = t2; originalMethod.apply(this, args); }, time); - this._scheduledEvents.push(id2); + this._scheduledEvents.push(id); }; } + /** + * Unsync the instrument from the Transport + */ unsync() { - this._scheduledEvents.forEach((id2) => this.context.transport.clear(id2)); + this._scheduledEvents.forEach((id) => this.context.transport.clear(id)); this._scheduledEvents = []; if (this._synced) { this._synced = false; @@ -77218,6 +79107,18 @@ ${o3}` : i3; } return this; } + /** + * Trigger the attack and then the release after the duration. + * @param note The note to trigger. + * @param duration How long the note should be held for before + * triggering the release. This value must be greater than 0. + * @param time When the note should be triggered. + * @param velocity The velocity the note should be triggered at. + * @example + * const synth = new Tone.Synth().toDestination(); + * // trigger "C4" for the duration of an 8th note + * synth.triggerAttackRelease("C4", "8n"); + */ triggerAttackRelease(note, duration, time, velocity) { const computedTime = this.toSeconds(time); const computedDuration = this.toSeconds(duration); @@ -77225,6 +79126,10 @@ ${o3}` : i3; this.triggerRelease(computedTime + computedDuration); return this; } + /** + * clean up + * @returns {Instrument} this + */ dispose() { super.dispose(); this._volume.dispose(); @@ -77235,10 +79140,10 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/instrument/Monophonic.js - var Monophonic = class extends Instrument { + var Monophonic = class _Monophonic extends Instrument { constructor() { - super(optionsFromArguments(Monophonic.getDefaults(), arguments)); - const options = optionsFromArguments(Monophonic.getDefaults(), arguments); + super(optionsFromArguments(_Monophonic.getDefaults(), arguments)); + const options = optionsFromArguments(_Monophonic.getDefaults(), arguments); this.portamento = options.portamento; this.onsilence = options.onsilence; } @@ -77249,6 +79154,16 @@ ${o3}` : i3; portamento: 0 }); } + /** + * Trigger the attack of the note optionally with a given velocity. + * @param note The note to trigger. + * @param time When the note should start. + * @param velocity The velocity scaler determines how "loud" the note will be triggered. + * @example + * const synth = new Tone.Synth().toDestination(); + * // trigger the note a half second from now at half velocity + * synth.triggerAttack("C4", "+0.5", 0.5); + */ triggerAttack(note, time, velocity = 1) { this.log("triggerAttack", note, time, velocity); const seconds = this.toSeconds(time); @@ -77256,12 +79171,32 @@ ${o3}` : i3; this.setNote(note, seconds); return this; } + /** + * Trigger the release portion of the envelope + * @param time If no time is given, the release happens immediatly + * @example + * const synth = new Tone.Synth().toDestination(); + * synth.triggerAttack("C4"); + * // trigger the release a second from now + * synth.triggerRelease("+1"); + */ triggerRelease(time) { this.log("triggerRelease", time); const seconds = this.toSeconds(time); this._triggerEnvelopeRelease(seconds); return this; } + /** + * Set the note at the given time. If no time is given, the note + * will set immediately. + * @param note The note to change to. + * @param time The time when the note should be set. + * @example + * const synth = new Tone.Synth().toDestination(); + * synth.triggerAttack("C4"); + * // change to F#6 in one quarter note from now. + * synth.setNote("F#6", "+4n"); + */ setNote(note, time) { const computedTime = this.toSeconds(time); const computedFrequency = note instanceof FrequencyClass ? note.toFrequency() : note; @@ -77279,9 +79214,9 @@ ${o3}` : i3; ], Monophonic.prototype, "portamento", void 0); // node_modules/tone/build/esm/component/envelope/AmplitudeEnvelope.js - var AmplitudeEnvelope = class extends Envelope { + var AmplitudeEnvelope = class _AmplitudeEnvelope extends Envelope { constructor() { - super(optionsFromArguments(AmplitudeEnvelope.getDefaults(), arguments, ["attack", "decay", "sustain", "release"])); + super(optionsFromArguments(_AmplitudeEnvelope.getDefaults(), arguments, ["attack", "decay", "sustain", "release"])); this.name = "AmplitudeEnvelope"; this._gainNode = new Gain({ context: this.context, @@ -77293,6 +79228,9 @@ ${o3}` : i3; this.output = this._gainNode; this.input = this._gainNode; } + /** + * Clean up + */ dispose() { super.dispose(); this._gainNode.dispose(); @@ -77301,11 +79239,11 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/instrument/Synth.js - var Synth = class extends Monophonic { + var Synth = class _Synth extends Monophonic { constructor() { - super(optionsFromArguments(Synth.getDefaults(), arguments)); + super(optionsFromArguments(_Synth.getDefaults(), arguments)); this.name = "Synth"; - const options = optionsFromArguments(Synth.getDefaults(), arguments); + const options = optionsFromArguments(_Synth.getDefaults(), arguments); this.oscillator = new OmniOscillator(Object.assign({ context: this.context, detune: options.detune, @@ -77332,6 +79270,11 @@ ${o3}` : i3; }) }); } + /** + * start the attack portion of the envelope + * @param time the time the attack should start + * @param velocity the velocity of the note (0-1) + */ _triggerEnvelopeAttack(time, velocity) { this.envelope.triggerAttack(time, velocity); this.oscillator.start(time); @@ -77341,6 +79284,10 @@ ${o3}` : i3; this.oscillator.stop(time + computedAttack + computedDecay); } } + /** + * start the release portion of the envelope + * @param time the time the release should start + */ _triggerEnvelopeRelease(time) { this.envelope.triggerRelease(time); this.oscillator.stop(time + this.toSeconds(this.envelope.release)); @@ -77349,6 +79296,9 @@ ${o3}` : i3; time = this.toSeconds(time); return this.envelope.getValueAtTime(time); } + /** + * clean up + */ dispose() { super.dispose(); this.oscillator.dispose(); @@ -77358,12 +79308,12 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/instrument/MembraneSynth.js - var MembraneSynth = class extends Synth { + var MembraneSynth = class _MembraneSynth extends Synth { constructor() { - super(optionsFromArguments(MembraneSynth.getDefaults(), arguments)); + super(optionsFromArguments(_MembraneSynth.getDefaults(), arguments)); this.name = "MembraneSynth"; this.portamento = 0; - const options = optionsFromArguments(MembraneSynth.getDefaults(), arguments); + const options = optionsFromArguments(_MembraneSynth.getDefaults(), arguments); this.pitchDecay = options.pitchDecay; this.octaves = options.octaves; readOnly(this, ["oscillator", "envelope"]); @@ -77405,17 +79355,22 @@ ${o3}` : i3; ], MembraneSynth.prototype, "pitchDecay", void 0); // node_modules/tone/build/esm/core/worklet/WorkletGlobalScope.js - var workletContext = new Set(); + var workletContext = /* @__PURE__ */ new Set(); function addToWorklet(classOrFunction) { workletContext.add(classOrFunction); } function registerProcessor(name2, classDesc) { - const processor = `registerProcessor("${name2}", ${classDesc})`; + const processor = ( + /* javascript */ + `registerProcessor("${name2}", ${classDesc})` + ); workletContext.add(processor); } // node_modules/tone/build/esm/core/worklet/ToneAudioWorkletProcessor.worklet.js - var toneAudioWorkletProcessor = ` + var toneAudioWorkletProcessor = ( + /* javascript */ + ` /** * The base AudioWorkletProcessor for use in Tone.js. Works with the [[ToneAudioWorklet]]. */ @@ -77445,11 +79400,14 @@ ${o3}` : i3; }; } } -`; +` + ); addToWorklet(toneAudioWorkletProcessor); // node_modules/tone/build/esm/core/worklet/SingleIOProcessor.worklet.js - var singleIOProcess = ` + var singleIOProcess = ( + /* javascript */ + ` /** * Abstract class for a single input/output processor. * has a 'generate' function which processes one sample at a time @@ -77516,11 +79474,14 @@ ${o3}` : i3; return !this.disposed; } }; -`; +` + ); addToWorklet(singleIOProcess); // node_modules/tone/build/esm/core/worklet/DelayLine.worklet.js - var delayLine = ` + var delayLine = ( + /* javascript */ + ` /** * A multichannel buffer for use within an AudioWorkletProcessor as a delay line */ @@ -77564,12 +79525,15 @@ ${o3}` : i3; return this.buffer[channel][readHead]; } } -`; +` + ); addToWorklet(delayLine); // node_modules/tone/build/esm/component/filter/FeedbackCombFilter.worklet.js var workletName = "feedback-comb-filter"; - var feedbackCombFilter = ` + var feedbackCombFilter = ( + /* javascript */ + ` class FeedbackCombFilterWorklet extends SingleIOProcessor { constructor(options) { @@ -77599,20 +79563,21 @@ ${o3}` : i3; return delayedSample; } } -`; +` + ); registerProcessor(workletName, feedbackCombFilter); // node_modules/tone/build/esm/instrument/PolySynth.js - var PolySynth = class extends Instrument { + var PolySynth = class _PolySynth extends Instrument { constructor() { - super(optionsFromArguments(PolySynth.getDefaults(), arguments, ["voice", "options"])); + super(optionsFromArguments(_PolySynth.getDefaults(), arguments, ["voice", "options"])); this.name = "PolySynth"; this._availableVoices = []; this._activeVoices = []; this._voices = []; this._gcTimeout = -1; this._averageActiveVoices = 0; - const options = optionsFromArguments(PolySynth.getDefaults(), arguments, ["voice", "options"]); + const options = optionsFromArguments(_PolySynth.getDefaults(), arguments, ["voice", "options"]); assert(!isNumber(options.voice), "DEPRECATED: The polyphony count is no longer the first argument."); const defaults4 = options.voice.getDefaults(); this.options = Object.assign(defaults4, options.options); @@ -77630,14 +79595,26 @@ ${o3}` : i3; voice: Synth }); } + /** + * The number of active voices. + */ get activeVoices() { return this._activeVoices.length; } + /** + * Invoked when the source is done making sound, so that it can be + * readded to the pool of available voices + */ _makeVoiceAvailable(voice) { this._availableVoices.push(voice); const activeVoiceIndex = this._activeVoices.findIndex((e) => e.voice === voice); this._activeVoices.splice(activeVoiceIndex, 1); } + /** + * Get an available voice from the pool of available voices. + * If one is not available and the maxPolyphony limit is reached, + * steal a voice, otherwise return null. + */ _getNextAvailableVoice() { if (this._availableVoices.length) { return this._availableVoices.shift(); @@ -77653,6 +79630,9 @@ ${o3}` : i3; warn("Max polyphony exceeded. Note dropped."); } } + /** + * Occasionally check if there are any allocated voices which can be cleaned up. + */ _collectGarbage() { this._averageActiveVoices = Math.max(this._averageActiveVoices * 0.95, this.activeVoices); if (this._availableVoices.length && this._voices.length > Math.ceil(this._averageActiveVoices + 1)) { @@ -77664,6 +79644,9 @@ ${o3}` : i3; } } } + /** + * Internal method which triggers the attack + */ _triggerAttack(notes, time, velocity) { notes.forEach((note) => { const midiNote = new MidiClass(this.context, note).toMidi(); @@ -77679,6 +79662,9 @@ ${o3}` : i3; } }); } + /** + * Internal method which triggers the release + */ _triggerRelease(notes, time) { notes.forEach((note) => { const midiNote = new MidiClass(this.context, note).toMidi(); @@ -77690,6 +79676,10 @@ ${o3}` : i3; } }); } + /** + * Schedule the attack/release events. If the time is in the future, then it should set a timeout + * to wait for just-in-time scheduling + */ _scheduleEvent(type, notes, time, velocity) { assert(!this.disposed, "Synth was already disposed"); if (time <= this.now()) { @@ -77704,6 +79694,16 @@ ${o3}` : i3; }, time - this.now()); } } + /** + * Trigger the attack portion of the note + * @param notes The notes to play. Accepts a single Frequency or an array of frequencies. + * @param time The start time of the note. + * @param velocity The velocity of the note. + * @example + * const synth = new Tone.PolySynth(Tone.FMSynth).toDestination(); + * // trigger a chord immediately with a velocity of 0.2 + * synth.triggerAttack(["Ab3", "C4", "F5"], Tone.now(), 0.2); + */ triggerAttack(notes, time, velocity) { if (!Array.isArray(notes)) { notes = [notes]; @@ -77712,6 +79712,19 @@ ${o3}` : i3; this._scheduleEvent("attack", notes, computedTime, velocity); return this; } + /** + * Trigger the release of the note. Unlike monophonic instruments, + * a note (or array of notes) needs to be passed in as the first argument. + * @param notes The notes to play. Accepts a single Frequency or an array of frequencies. + * @param time When the release will be triggered. + * @example + * @example + * const poly = new Tone.PolySynth(Tone.AMSynth).toDestination(); + * poly.triggerAttack(["Ab3", "C4", "F5"]); + * // trigger the release of the given notes. + * poly.triggerRelease(["Ab3", "C4"], "+1"); + * poly.triggerRelease("F5", "+3"); + */ triggerRelease(notes, time) { if (!Array.isArray(notes)) { notes = [notes]; @@ -77720,6 +79733,17 @@ ${o3}` : i3; this._scheduleEvent("release", notes, computedTime); return this; } + /** + * Trigger the attack and release after the specified duration + * @param notes The notes to play. Accepts a single Frequency or an array of frequencies. + * @param duration the duration of the note + * @param time if no time is given, defaults to now + * @param velocity the velocity of the attack (0-1) + * @example + * const poly = new Tone.PolySynth(Tone.AMSynth).toDestination(); + * // can pass in an array of durations as well + * poly.triggerAttackRelease(["Eb3", "G4", "Bb4", "D5"], [4, 3, 2, 1]); + */ triggerAttackRelease(notes, duration, time, velocity) { const computedTime = this.toSeconds(time); this.triggerAttack(notes, computedTime, velocity); @@ -77746,6 +79770,18 @@ ${o3}` : i3; } return this; } + /** + * Set a member/attribute of the voices + * @example + * const poly = new Tone.PolySynth().toDestination(); + * // set all of the voices using an options object for the synth type + * poly.set({ + * envelope: { + * attack: 0.25 + * } + * }); + * poly.triggerAttackRelease("Bb3", 0.2); + */ set(options) { const sanitizedOptions = omitFromObject(options, ["onsilence", "context"]); this.options = deepMerge(this.options, sanitizedOptions); @@ -77756,6 +79792,10 @@ ${o3}` : i3; get() { return this._dummyVoice.get(); } + /** + * Trigger the release portion of all the currently active voices immediately. + * Useful for silencing the synth. + */ releaseAll(time) { const computedTime = this.toSeconds(time); this._activeVoices.forEach(({ voice }) => { @@ -77775,12 +79815,12 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/instrument/Sampler.js - var Sampler = class extends Instrument { + var Sampler = class _Sampler extends Instrument { constructor() { - super(optionsFromArguments(Sampler.getDefaults(), arguments, ["urls", "onload", "baseUrl"], "urls")); + super(optionsFromArguments(_Sampler.getDefaults(), arguments, ["urls", "onload", "baseUrl"], "urls")); this.name = "Sampler"; - this._activeSources = new Map(); - const options = optionsFromArguments(Sampler.getDefaults(), arguments, ["urls", "onload", "baseUrl"], "urls"); + this._activeSources = /* @__PURE__ */ new Map(); + const options = optionsFromArguments(_Sampler.getDefaults(), arguments, ["urls", "onload", "baseUrl"], "urls"); const urlMap = {}; Object.keys(options.urls).forEach((note) => { const noteNumber = parseInt(note, 10); @@ -77816,6 +79856,9 @@ ${o3}` : i3; urls: {} }); } + /** + * Returns the difference in steps between the given midi note at the closets sample. + */ _findClosest(midi) { const MAX_INTERVAL = 96; let interval = 0; @@ -77829,6 +79872,11 @@ ${o3}` : i3; } throw new Error(`No available buffers for note: ${midi}`); } + /** + * @param notes The note to play, or an array of notes. + * @param time When to play the note + * @param velocity The velocity to play the sample back. + */ triggerAttack(notes, time, velocity = 1) { this.log("triggerAttack", notes, time, velocity); if (!Array.isArray(notes)) { @@ -77867,6 +79915,10 @@ ${o3}` : i3; }); return this; } + /** + * @param notes The note to release, or an array of notes. + * @param time When to release the note. + */ triggerRelease(notes, time) { this.log("triggerRelease", notes, time); if (!Array.isArray(notes)) { @@ -77885,6 +79937,10 @@ ${o3}` : i3; }); return this; } + /** + * Release all currently active notes. + * @param time When to release the notes. + */ releaseAll(time) { const computedTime = this.toSeconds(time); this._activeSources.forEach((sources) => { @@ -77902,6 +79958,13 @@ ${o3}` : i3; } return this; } + /** + * Invoke the attack phase, then after the duration, invoke the release. + * @param notes The note to play and release, or an array of notes. + * @param duration The time the note should be held + * @param time When to start the attack + * @param velocity The velocity of the attack + */ triggerAttackRelease(notes, duration, time, velocity = 1) { const computedTime = this.toSeconds(time); this.triggerAttack(notes, computedTime, velocity); @@ -77916,6 +79979,12 @@ ${o3}` : i3; } return this; } + /** + * Add a note to the sampler. + * @param note The buffer's pitch. + * @param url Either the url of the buffer, or a buffer which will be added with the given name. + * @param callback The callback to invoke when the url is loaded. + */ add(note, url, callback2) { assert(isNote(note) || isFinite(note), `note must be a pitch or midi: ${note}`); if (isNote(note)) { @@ -77926,9 +79995,15 @@ ${o3}` : i3; } return this; } + /** + * If the buffers are loaded or not + */ get loaded() { return this._buffers.loaded; } + /** + * Clean up + */ dispose() { super.dispose(); this._buffers.dispose(); @@ -77947,14 +80022,14 @@ ${o3}` : i3; ], Sampler.prototype, "release", void 0); // node_modules/tone/build/esm/component/channel/Panner.js - var Panner = class extends ToneAudioNode { + var Panner = class _Panner extends ToneAudioNode { constructor() { - super(Object.assign(optionsFromArguments(Panner.getDefaults(), arguments, ["pan"]))); + super(Object.assign(optionsFromArguments(_Panner.getDefaults(), arguments, ["pan"]))); this.name = "Panner"; this._panner = this.context.createStereoPanner(); this.input = this._panner; this.output = this._panner; - const options = optionsFromArguments(Panner.getDefaults(), arguments, ["pan"]); + const options = optionsFromArguments(_Panner.getDefaults(), arguments, ["pan"]); this.pan = new Param({ context: this.context, param: this._panner.pan, @@ -77982,7 +80057,9 @@ ${o3}` : i3; // node_modules/tone/build/esm/effect/BitCrusher.worklet.js var workletName2 = "bit-crusher"; - var bitCrusherWorklet = ` + var bitCrusherWorklet = ( + /* javascript */ + ` class BitCrusherWorklet extends SingleIOProcessor { static get parameterDescriptors() { @@ -78001,7 +80078,8 @@ ${o3}` : i3; return val; } } -`; +` + ); registerProcessor(workletName2, bitCrusherWorklet); // node_modules/tone/build/esm/effect/Freeverb.js @@ -78011,18 +80089,18 @@ ${o3}` : i3; var combFilterDelayTimes = [1687 / 25e3, 1601 / 25e3, 2053 / 25e3, 2251 / 25e3]; // node_modules/tone/build/esm/component/channel/Solo.js - var Solo = class extends ToneAudioNode { + var Solo = class _Solo extends ToneAudioNode { constructor() { - super(optionsFromArguments(Solo.getDefaults(), arguments, ["solo"])); + super(optionsFromArguments(_Solo.getDefaults(), arguments, ["solo"])); this.name = "Solo"; - const options = optionsFromArguments(Solo.getDefaults(), arguments, ["solo"]); + const options = optionsFromArguments(_Solo.getDefaults(), arguments, ["solo"]); this.input = this.output = new Gain({ context: this.context }); - if (!Solo._allSolos.has(this.context)) { - Solo._allSolos.set(this.context, new Set()); + if (!_Solo._allSolos.has(this.context)) { + _Solo._allSolos.set(this.context, /* @__PURE__ */ new Set()); } - Solo._allSolos.get(this.context).add(this); + _Solo._allSolos.get(this.context).add(this); this.solo = options.solo; } static getDefaults() { @@ -78030,6 +80108,11 @@ ${o3}` : i3; solo: false }); } + /** + * Isolates this instance and mutes all other instances of Solo. + * Only one instance can be soloed at a time. A soloed + * instance will report `solo=false` when another instance is soloed. + */ get solo() { return this._isSoloed(); } @@ -78039,28 +80122,47 @@ ${o3}` : i3; } else { this._removeSolo(); } - Solo._allSolos.get(this.context).forEach((instance) => instance._updateSolo()); + _Solo._allSolos.get(this.context).forEach((instance) => instance._updateSolo()); } + /** + * If the current instance is muted, i.e. another instance is soloed + */ get muted() { return this.input.gain.value === 0; } + /** + * Add this to the soloed array + */ _addSolo() { - if (!Solo._soloed.has(this.context)) { - Solo._soloed.set(this.context, new Set()); + if (!_Solo._soloed.has(this.context)) { + _Solo._soloed.set(this.context, /* @__PURE__ */ new Set()); } - Solo._soloed.get(this.context).add(this); + _Solo._soloed.get(this.context).add(this); } + /** + * Remove this from the soloed array + */ _removeSolo() { - if (Solo._soloed.has(this.context)) { - Solo._soloed.get(this.context).delete(this); + if (_Solo._soloed.has(this.context)) { + _Solo._soloed.get(this.context).delete(this); } } + /** + * Is this on the soloed array + */ _isSoloed() { - return Solo._soloed.has(this.context) && Solo._soloed.get(this.context).has(this); + return _Solo._soloed.has(this.context) && _Solo._soloed.get(this.context).has(this); } + /** + * Returns true if no one is soloed + */ _noSolos() { - return !Solo._soloed.has(this.context) || Solo._soloed.has(this.context) && Solo._soloed.get(this.context).size === 0; + return !_Solo._soloed.has(this.context) || // or has a solo set but doesn't include any items + _Solo._soloed.has(this.context) && _Solo._soloed.get(this.context).size === 0; } + /** + * Solo the current instance and unsolo all other instances. + */ _updateSolo() { if (this._isSoloed()) { this.input.gain.value = 1; @@ -78072,20 +80174,20 @@ ${o3}` : i3; } dispose() { super.dispose(); - Solo._allSolos.get(this.context).delete(this); + _Solo._allSolos.get(this.context).delete(this); this._removeSolo(); return this; } }; - Solo._allSolos = new Map(); - Solo._soloed = new Map(); + Solo._allSolos = /* @__PURE__ */ new Map(); + Solo._soloed = /* @__PURE__ */ new Map(); // node_modules/tone/build/esm/component/channel/PanVol.js - var PanVol = class extends ToneAudioNode { + var PanVol = class _PanVol extends ToneAudioNode { constructor() { - super(optionsFromArguments(PanVol.getDefaults(), arguments, ["pan", "volume"])); + super(optionsFromArguments(_PanVol.getDefaults(), arguments, ["pan", "volume"])); this.name = "PanVol"; - const options = optionsFromArguments(PanVol.getDefaults(), arguments, ["pan", "volume"]); + const options = optionsFromArguments(_PanVol.getDefaults(), arguments, ["pan", "volume"]); this._panner = this.input = new Panner({ context: this.context, pan: options.pan, @@ -78109,6 +80211,9 @@ ${o3}` : i3; channelCount: 1 }); } + /** + * Mute/unmute the volume + */ get mute() { return this._volume.mute; } @@ -78126,11 +80231,11 @@ ${o3}` : i3; }; // node_modules/tone/build/esm/component/channel/Channel.js - var Channel = class extends ToneAudioNode { + var Channel = class _Channel extends ToneAudioNode { constructor() { - super(optionsFromArguments(Channel.getDefaults(), arguments, ["volume", "pan"])); + super(optionsFromArguments(_Channel.getDefaults(), arguments, ["volume", "pan"])); this.name = "Channel"; - const options = optionsFromArguments(Channel.getDefaults(), arguments, ["volume", "pan"]); + const options = optionsFromArguments(_Channel.getDefaults(), arguments, ["volume", "pan"]); this._solo = this.input = new Solo({ solo: options.solo, context: this.context @@ -78156,27 +80261,52 @@ ${o3}` : i3; channelCount: 1 }); } + /** + * Solo/unsolo the channel. Soloing is only relative to other [[Channels]] and [[Solo]] instances + */ get solo() { return this._solo.solo; } set solo(solo) { this._solo.solo = solo; } + /** + * If the current instance is muted, i.e. another instance is soloed, + * or the channel is muted + */ get muted() { return this._solo.muted || this.mute; } + /** + * Mute/unmute the volume + */ get mute() { return this._panVol.mute; } set mute(mute) { this._panVol.mute = mute; } + /** + * Get the gain node belonging to the bus name. Create it if + * it doesn't exist + * @param name The bus name + */ _getBus(name2) { - if (!Channel.buses.has(name2)) { - Channel.buses.set(name2, new Gain({ context: this.context })); - } - return Channel.buses.get(name2); - } + if (!_Channel.buses.has(name2)) { + _Channel.buses.set(name2, new Gain({ context: this.context })); + } + return _Channel.buses.get(name2); + } + /** + * Send audio to another channel using a string. `send` is a lot like + * [[connect]], except it uses a string instead of an object. This can + * be useful in large applications to decouple sections since [[send]] + * and [[receive]] can be invoked separately in order to connect an object + * @param name The channel name to send the audio + * @param volume The amount of the signal to send. + * Defaults to 0db, i.e. send the entire signal + * @returns Returns the gain node of this connection. + */ send(name2, volume = 0) { const bus = this._getBus(name2); const sendKnob = new Gain({ @@ -78188,6 +80318,10 @@ ${o3}` : i3; sendKnob.connect(bus); return sendKnob; } + /** + * Receive audio from a channel which was connected with [[send]]. + * @param name The channel name to receive audio from. + */ receive(name2) { const bus = this._getBus(name2); bus.connect(this); @@ -78202,7 +80336,7 @@ ${o3}` : i3; return this; } }; - Channel.buses = new Map(); + Channel.buses = /* @__PURE__ */ new Map(); // node_modules/tone/build/esm/core/context/Listener.js var Listener = class extends ToneAudioNode { @@ -78398,8 +80532,7 @@ ${o3}` : i3; }; function getPreviousAndNext() { const selected = document.querySelector(".tab-selected"); - if (!selected) - return []; + if (!selected) return []; const i = parseInt(selected.getAttribute("tabindex") || "0"); const prev = document.querySelector(`.tab[tabindex='${i - 1}']`); const next = document.querySelector(`.tab[tabindex='${i + 1}']`); @@ -78739,370 +80872,72 @@ def note_with_error(value, err): return !!x && typeof x === "object" && !!x.id; } - // static/js/tutorials/utils.ts - function addHighlightBorder(element_id) { - $("#" + element_id).addClass("border-2 rounded-lg border-red-500"); - } - function removeBorder(element_id) { - $("#" + element_id).removeClass("border-2 border-red-500"); - } - function relocatePopup(x, y2) { - $("#tutorial_pop_up").css({ "top": "20%", "left": "50%" }); - if (x && y2) { - let left = x.toString() + "%"; - let top2 = y2.toString() + "%"; - $("#tutorial_pop_up").css({ "top": top2, "left": left }); - } - } - function tutorialPopup(current_level2, step) { - let route = "/get_tutorial_step/" + current_level2 + "/"; - $.ajax({ - type: "GET", - url: route + step.toString(), - dataType: "json" - }).done(function(response) { - $("#tutorial_title").text(response.title); - $("#tutorial_text").text(response.text); - $("#tutorial_pop_up").fadeIn(800); - }).fail(function(response) { - modal.notifyError(response.responseText); - }); - } - - // static/js/tutorials/intro.ts - var current_step = 0; - function startIntro() { - current_step = 1; - $("#adventures").hide(); - $("#variables_container").hide(); - theGlobalEditor.contents = ""; - tutorialPopup("intro", current_step); - } - function callNextIntroStep() { - current_step += 1; - if (current_step == 2) { - codeEditorStep(); - } else if (current_step == 3) { - codeOutputStep(); - } else if (current_step == 4) { - runButtonStep(); - } else if (current_step == 5) { - tryRunButtonStep(); - } else if (current_step == 6) { - speakAloudStep(); - } else if (current_step == 7) { - runSpeakAloudStep(); - } else if (current_step == 8) { - nextLevelStep(); - } else if (current_step == 9) { - levelDefaultStep(); - } else if (current_step == 10) { - adventureTabsStep(); - } else if (current_step == 11) { - parsonsTabStep(); - } else if (current_step == 12) { - quizTabStep(); - } else if (current_step == 13) { - saveShareStep(); - } else if (current_step == 14) { - cheatsheetStep(); - } else if (current_step == 15) { - endTutorial(); - } else { - location.replace("/hedy"); - } - } - function codeEditorStep() { - $("#editor").addClass("z-40"); - addHighlightBorder("editor"); - relocatePopup(65, 30); - theGlobalEditor.contents = "print ___"; - tutorialPopup("intro", current_step); - } - function codeOutputStep() { - removeBorder("editor"); - $("#code_output").addClass("z-40"); - addHighlightBorder("code_output"); - runit(1, "en", false, "", "run", function() { - $("#output").focus(); - }); - relocatePopup(35, 30); - tutorialPopup("intro", current_step); - } - function runButtonStep() { - removeBorder("code_output"); - $("#code_related_buttons").show(); - $("#run_button_container").addClass("z-40"); - addHighlightBorder("run_button_container"); - relocatePopup(50, 30); - tutorialPopup("intro", current_step); - } - function tryRunButtonStep() { - $.ajax({ - type: "GET", - url: "/get_tutorial_step/intro/code_snippet/", - dataType: "json" - }).done(function(response) { - theGlobalEditor.contents = response.code; - }).fail(function() { - theGlobalEditor.contents = "print Hello world!\nprint I'm learning Hedy with the tutorial!"; - }); - relocatePopup(50, 70); - tutorialPopup("intro", current_step); - } - function speakAloudStep() { - removeBorder("run_button_container"); - $("#editor").removeClass("z-40"); - $("#code_output").removeClass("z-40"); - $("#run_button_container").removeClass("z-40"); - $("#speak_container").addClass("z-40 bg-white relative"); - addHighlightBorder("speak_container"); - relocatePopup(50, 30); - tutorialPopup("intro", current_step); - } - function runSpeakAloudStep() { - $("#editor").addClass("z-40"); - $("#code_output").addClass("z-40"); - $("#run_button_container").addClass("z-40"); - relocatePopup(50, 70); - tutorialPopup("intro", current_step); - } - function nextLevelStep() { - removeBorder("speak_container"); - $("#editor").removeClass("z-40"); - $("#code_output").removeClass("z-40"); - $("#run_button_container").removeClass("z-40"); - $("#speak_container").removeClass("z-40 bg-white relative"); - $("#next_level_button").addClass("z-40"); - $("#next_level_button").removeAttr("onclick"); - addHighlightBorder("next_level_button"); - relocatePopup(50, 30); - tutorialPopup("intro", current_step); - } - function levelDefaultStep() { - removeBorder("next_level_button"); - $("#next_level_button").removeClass("z-40"); - $("#code_content_container").addClass("z-40"); - $("#adventures").addClass("z-40 bg-gray-100"); - $("#adventures").show(); - addHighlightBorder("adventures"); - relocatePopup(50, 40); - tutorialPopup("intro", current_step); - } - function adventureTabsStep() { - $("#adventures_buttons").children().each(function() { - if ($(this).attr("data-tab") == "story") { - $(this).click(); - } - }); - tutorialPopup("intro", current_step); - } - function parsonsTabStep() { - $("#adventures_buttons").children().each(function() { - if ($(this).attr("data-tab") == "parsons") { - $(this).click(); - } - }); - tutorialPopup("intro", current_step); - } - function quizTabStep() { - $("#adventures_buttons").children().each(function() { - if ($(this).attr("data-tab") == "quiz") { - $(this).click(); - } - }); - tutorialPopup("intro", current_step); - } - function saveShareStep() { - $("#adventures_buttons").children().each(function() { - if ($(this).attr("data-tab") == "default") { - $(this).click(); - } - }); - removeBorder("adventures"); - $("#code_content_container").removeClass("z-40"); - $("#level_header").addClass("z-40"); - $("#cheatsheet_container").hide(); - addHighlightBorder("level_header"); - $("#save_program_button").removeAttr("onclick"); - $("#share_program_button").removeAttr("onclick"); - relocatePopup(50, 30); - tutorialPopup("intro", current_step); - } - function cheatsheetStep() { - $("#cheatsheet_container").show(); - $("#code_output").removeClass("z-40"); - $("#adventures").removeClass("z-40"); - $("#cheatsheet_dropdown").addClass("z-40"); - $("#cheatsheet_dropdown").show(); - tutorialPopup("intro", current_step); - } - function endTutorial() { - removeBorder("level_header"); - $("#level_header").removeClass("z-40"); - $("#cheatsheet_dropdown").removeClass("z-40"); - $("#cheatsheet_dropdown").hide(); - relocatePopup(50, 15); - tutorialPopup("intro", current_step); - } - - // static/js/tutorials/teacher.ts - var current_step2 = 0; - function startTeacher() { - current_step2 = 1; - tutorialPopup("teacher", current_step2); - } - function callTeacherNextStep() { - current_step2 += 1; - if (current_step2 == 2) { - classStep(); - } else if (current_step2 == 3) { - customizeClassStep(); - } else if (current_step2 == 4) { - adventureStep(); - } else if (current_step2 == 5) { - multipleAccountsStep(); - } else if (current_step2 == 6) { - documentationStep(); - } else if (current_step2 == 7) { - teacherEndStep(); - } else { - location.replace("/for-teachers"); - } - } - function classStep() { - $("#auth_main_container").addClass("z-40"); - $("#teacher_classes").addClass("z-40 bg-gray-100"); - addHighlightBorder("teacher_classes"); - relocatePopup(50, 40); - tutorialPopup("teacher", current_step2); - } - function customizeClassStep() { - tutorialPopup("teacher", current_step2); - } - function adventureStep() { - $("#teacher_adventures").addClass("z-40 bg-gray-100"); - removeBorder("teacher_classes"); - addHighlightBorder("teacher_adventures"); - relocatePopup(50, 70); - tutorialPopup("teacher", current_step2); - } - function multipleAccountsStep() { - $("#teacher_accounts").addClass("z-40 bg-gray-100"); - removeBorder("teacher_adventures"); - addHighlightBorder("teacher_accounts"); - relocatePopup(50, 20); - tutorialPopup("teacher", current_step2); - } - function documentationStep() { - $("#teacher_documentation").addClass("z-40 bg-gray-100"); - removeBorder("teacher_accounts"); - addHighlightBorder("teacher_documentation"); - tutorialPopup("teacher", current_step2); - } - function teacherEndStep() { - removeBorder("teacher_documentation"); - tutorialPopup("teacher", current_step2); - } - - // static/js/tutorials/level1.ts - var current_step3 = 0; - function startLevel1() { - current_step3 = 1; - tutorialPopup("1", current_step3); - } - function callNextStepLevel1() { - current_step3 += 1; - if (current_step3 == 2) { - theGlobalEditor.contents = "print Hello world!"; - relocatePopup(50, 70); - tutorialPopup("1", 2); - } else if (current_step3 == 3) { - location.replace("/hedy"); - } - } - - // static/js/tutorials/tutorial.ts - var current_level = ""; - function initializeTutorial() { - $("#tutorial_next_button").off("click").on("click", () => { - $("#tutorial_pop_up").hide(); - if (current_level == "intro") { - return callNextIntroStep(); - } else if (current_level == "teacher") { - return callTeacherNextStep(); - } - return callNextLevelStep(current_level); - }); - } - function startIntroTutorial() { - $("#tutorial_mask").show(); - current_level = "intro"; - startIntro(); - } - function startLevelTutorial(level2) { - $("#tutorial_mask").show(); - current_level = level2; - startLevel(level2); - } - function startTeacherTutorial() { - $("#tutorial_mask").show(); - current_level = "teacher"; - startTeacher(); - } - function startLevel(current_level2) { - if (current_level2 == "1") { - startLevel1(); - } - } - function callNextLevelStep(current_level2) { - if (current_level2 == "1") { - callNextStepLevel1(); - } - } - - // static/js/editor.ts - var EditorType; - (function(EditorType2) { - EditorType2[EditorType2["MAIN"] = 0] = "MAIN"; - EditorType2[EditorType2["MODAL"] = 1] = "MODAL"; - EditorType2[EditorType2["COMMON_MISTAKES"] = 2] = "COMMON_MISTAKES"; - EditorType2[EditorType2["CHEATSHEET"] = 3] = "CHEATSHEET"; - EditorType2[EditorType2["PARSONS"] = 4] = "PARSONS"; - EditorType2[EditorType2["EXAMPLE"] = 5] = "EXAMPLE"; - EditorType2[EditorType2["WORKBOOK"] = 6] = "WORKBOOK"; - })(EditorType || (EditorType = {})); - // node_modules/@codemirror/state/dist/index.js - var Text = class { + var Text = class _Text { + /** + Get the line description around the given position. + */ lineAt(pos) { if (pos < 0 || pos > this.length) throw new RangeError(`Invalid position ${pos} in document of length ${this.length}`); return this.lineInner(pos, false, 1, 0); } + /** + Get the description for the given (1-based) line number. + */ line(n) { if (n < 1 || n > this.lines) throw new RangeError(`Invalid line number ${n} in ${this.lines}-line document`); return this.lineInner(n, true, 1, 0); } + /** + Replace a range of the text with the given content. + */ replace(from17, to10, text) { [from17, to10] = clip(this, from17, to10); let parts = []; - this.decompose(0, from17, parts, 2); + this.decompose( + 0, + from17, + parts, + 2 + /* Open.To */ + ); if (text.length) - text.decompose(0, text.length, parts, 1 | 2); - this.decompose(to10, this.length, parts, 1); + text.decompose( + 0, + text.length, + parts, + 1 | 2 + /* Open.To */ + ); + this.decompose( + to10, + this.length, + parts, + 1 + /* Open.From */ + ); return TextNode.from(parts, this.length - (to10 - from17) + text.length); } + /** + Append another document to this one. + */ append(other) { return this.replace(this.length, this.length, other); } + /** + Retrieve the text between the given points. + */ slice(from17, to10 = this.length) { [from17, to10] = clip(this, from17, to10); let parts = []; this.decompose(from17, to10, parts, 0); return TextNode.from(parts, to10 - from17); } + /** + Test whether this text is equal to another instance. + */ eq(other) { if (other == this) return true; @@ -79121,12 +80956,28 @@ def note_with_error(value, err): return true; } } + /** + Iterate over the text. When `dir` is `-1`, iteration happens + from end to start. This will return lines and the breaks between + them as separate strings. + */ iter(dir = 1) { return new RawTextCursor(this, dir); } + /** + Iterate over a range of the text. When `from` > `to`, the + iterator will run in reverse. + */ iterRange(from17, to10 = this.length) { return new PartialTextCursor(this, from17, to10); } + /** + Return a cursor that iterates over the given range of lines, + _without_ returning the line breaks between, and yielding empty + strings for empty lines. + + When `from` and `to` are given, they should be 1-based line numbers. + */ iterLines(from17, to10) { let inner; if (from17 == null) { @@ -79139,25 +80990,39 @@ def note_with_error(value, err): } return new LineCursor(inner); } + /** + Return the document as a string, using newline characters to + separate lines. + */ toString() { return this.sliceString(0); } + /** + Convert the document to an array of lines (which can be + deserialized again via [`Text.of`](https://codemirror.net/6/docs/ref/#state.Text^of)). + */ toJSON() { let lines = []; this.flatten(lines); return lines; } + /** + @internal + */ constructor() { } + /** + Create a `Text` instance for the given array of lines. + */ static of(text) { if (text.length == 0) throw new RangeError("A document must have at least one line"); if (text.length == 1 && !text[0]) - return Text.empty; + return _Text.empty; return text.length <= 32 ? new TextLeaf(text) : TextNode.from(TextLeaf.split(text, [])); } }; - var TextLeaf = class extends Text { + var TextLeaf = class _TextLeaf extends Text { constructor(text, length = textLength(text)) { super(); this.text = text; @@ -79179,29 +81044,29 @@ def note_with_error(value, err): } } decompose(from17, to10, target, open) { - let text = from17 <= 0 && to10 >= this.length ? this : new TextLeaf(sliceText(this.text, from17, to10), Math.min(to10, this.length) - Math.max(0, from17)); + let text = from17 <= 0 && to10 >= this.length ? this : new _TextLeaf(sliceText(this.text, from17, to10), Math.min(to10, this.length) - Math.max(0, from17)); if (open & 1) { let prev = target.pop(); let joined = appendText(text.text, prev.text.slice(), 0, text.length); if (joined.length <= 32) { - target.push(new TextLeaf(joined, prev.length + text.length)); + target.push(new _TextLeaf(joined, prev.length + text.length)); } else { let mid = joined.length >> 1; - target.push(new TextLeaf(joined.slice(0, mid)), new TextLeaf(joined.slice(mid))); + target.push(new _TextLeaf(joined.slice(0, mid)), new _TextLeaf(joined.slice(mid))); } } else { target.push(text); } } replace(from17, to10, text) { - if (!(text instanceof TextLeaf)) + if (!(text instanceof _TextLeaf)) return super.replace(from17, to10, text); [from17, to10] = clip(this, from17, to10); let lines = appendText(this.text, appendText(text.text, sliceText(this.text, 0, from17)), to10); let newLen = this.length + text.length - (to10 - from17); if (lines.length <= 32) - return new TextLeaf(lines, newLen); - return TextNode.from(TextLeaf.split(lines, []), newLen); + return new _TextLeaf(lines, newLen); + return TextNode.from(_TextLeaf.split(lines, []), newLen); } sliceString(from17, to10 = this.length, lineSep = "\n") { [from17, to10] = clip(this, from17, to10); @@ -79229,17 +81094,17 @@ def note_with_error(value, err): part.push(line); len += line.length + 1; if (part.length == 32) { - target.push(new TextLeaf(part, len)); + target.push(new _TextLeaf(part, len)); part = []; len = -1; } } if (len > -1) - target.push(new TextLeaf(part, len)); + target.push(new _TextLeaf(part, len)); return target; } }; - var TextNode = class extends Text { + var TextNode = class _TextNode extends Text { constructor(children, length) { super(); this.children = children; @@ -79281,7 +81146,7 @@ def note_with_error(value, err): if (updated.lines < totalLines >> 5 - 1 && updated.lines > totalLines >> 5 + 1) { let copy = this.children.slice(); copy[i] = updated; - return new TextNode(copy, this.length - (to10 - from17) + text.length); + return new _TextNode(copy, this.length - (to10 - from17) + text.length); } return super.replace(pos, end, updated); } @@ -79307,7 +81172,7 @@ def note_with_error(value, err): child.flatten(target); } scanIdentical(other, dir) { - if (!(other instanceof TextNode)) + if (!(other instanceof _TextNode)) return 0; let length = 0; let [iA, iB, eA, eB] = dir > 0 ? [0, 0, this.children.length, other.children.length] : [this.children.length - 1, other.children.length - 1, -1, -1]; @@ -79330,11 +81195,15 @@ def note_with_error(value, err): ch2.flatten(flat); return new TextLeaf(flat, length); } - let chunk = Math.max(32, lines >> 5), maxChunk = chunk << 1, minChunk = chunk >> 1; + let chunk = Math.max( + 32, + lines >> 5 + /* Tree.BranchShift */ + ), maxChunk = chunk << 1, minChunk = chunk >> 1; let chunked = [], currentLines = 0, currentLen = -1, currentChunk = []; function add17(child) { let last; - if (child.lines > maxChunk && child instanceof TextNode) { + if (child.lines > maxChunk && child instanceof _TextNode) { for (let node of child.children) add17(node); } else if (child.lines > minChunk && (currentLines > minChunk || !currentLines)) { @@ -79355,14 +81224,14 @@ def note_with_error(value, err): function flush() { if (currentLines == 0) return; - chunked.push(currentChunk.length == 1 ? currentChunk[0] : TextNode.from(currentChunk, currentLen)); + chunked.push(currentChunk.length == 1 ? currentChunk[0] : _TextNode.from(currentChunk, currentLen)); currentLen = -1; currentLines = currentChunk.length = 0; } for (let child of children) add17(child); flush(); - return chunked.length == 1 ? chunked[0] : new TextNode(chunked, length); + return chunked.length == 1 ? chunked[0] : new _TextNode(chunked, length); } }; Text.empty = /* @__PURE__ */ new TextLeaf([""], 0); @@ -79534,12 +81403,18 @@ def note_with_error(value, err): }; } var Line = class { + /** + @internal + */ constructor(from17, to10, number2, text) { this.from = from17; this.to = to10; this.number = number2; this.text = text; } + /** + The length of the line (not including any line break after it). + */ get length() { return this.to - this.from; } @@ -79633,16 +81508,30 @@ def note_with_error(value, err): MapMode2[MapMode2["TrackAfter"] = 3] = "TrackAfter"; return MapMode2; }(MapMode || (MapMode = {})); - var ChangeDesc = class { + var ChangeDesc = class _ChangeDesc { + // Sections are encoded as pairs of integers. The first is the + // length in the current document, and the second is -1 for + // unaffected sections, and the length of the replacement content + // otherwise. So an insertion would be (0, n>0), a deletion (n>0, + // 0), and a replacement two positive numbers. + /** + @internal + */ constructor(sections) { this.sections = sections; } + /** + The length of the document before the change. + */ get length() { let result = 0; for (let i = 0; i < this.sections.length; i += 2) result += this.sections[i]; return result; } + /** + The length of the document after the change. + */ get newLength() { let result = 0; for (let i = 0; i < this.sections.length; i += 2) { @@ -79651,9 +81540,17 @@ def note_with_error(value, err): } return result; } + /** + False when there are actual changes in this set. + */ get empty() { return this.sections.length == 0 || this.sections.length == 2 && this.sections[1] < 0; } + /** + Iterate over the unchanged parts left by these changes. `posA` + provides the position of the range in the old document, `posB` + the new position in the changed document. + */ iterGaps(f) { for (let i = 0, posA = 0, posB = 0; i < this.sections.length; ) { let len = this.sections[i++], ins14 = this.sections[i++]; @@ -79666,9 +81563,24 @@ def note_with_error(value, err): posA += len; } } + /** + Iterate over the ranges changed by these changes. (See + [`ChangeSet.iterChanges`](https://codemirror.net/6/docs/ref/#state.ChangeSet.iterChanges) for a + variant that also provides you with the inserted text.) + `fromA`/`toA` provides the extent of the change in the starting + document, `fromB`/`toB` the extent of the replacement in the + changed document. + + When `individual` is true, adjacent changes (which are kept + separate for [position mapping](https://codemirror.net/6/docs/ref/#state.ChangeDesc.mapPos)) are + reported separately. + */ iterChangedRanges(f, individual = false) { iterChanges(this, f, individual); } + /** + Get a description of the inverted form of these changes. + */ get invertedDesc() { let sections = []; for (let i = 0; i < this.sections.length; ) { @@ -79678,11 +81590,22 @@ def note_with_error(value, err): else sections.push(ins14, len); } - return new ChangeDesc(sections); + return new _ChangeDesc(sections); } + /** + Compute the combined effect of applying another set of changes + after this one. The length of the document after this set should + match the length before `other`. + */ composeDesc(other) { return this.empty ? other : other.empty ? this : composeSets(this, other); } + /** + Map this description, which should start with the same document + as `other`, over another set of changes, so that it can be + applied after it. When `before` is true, map as if the changes + in `other` happened before the ones in `this`. + */ mapDesc(other, before = false) { return other.empty ? this : mapSet(this, other, before); } @@ -79707,6 +81630,11 @@ def note_with_error(value, err): throw new RangeError(`Position ${pos} is out of range for changeset of length ${posA}`); return posB; } + /** + Check whether these changes touch a given range. When one of the + changes entirely covers the range, the string `"cover"` is + returned. + */ touchesRange(from17, to10 = from17) { for (let i = 0, pos = 0; i < this.sections.length && pos <= to10; ) { let len = this.sections[i++], ins14 = this.sections[i++], end = pos + len; @@ -79716,6 +81644,9 @@ def note_with_error(value, err): } return false; } + /** + @internal + */ toString() { let result = ""; for (let i = 0; i < this.sections.length; ) { @@ -79724,23 +81655,37 @@ def note_with_error(value, err): } return result; } + /** + Serialize this change desc to a JSON-representable value. + */ toJSON() { return this.sections; } + /** + Create a change desc from its JSON representation (as produced + by [`toJSON`](https://codemirror.net/6/docs/ref/#state.ChangeDesc.toJSON). + */ static fromJSON(json) { if (!Array.isArray(json) || json.length % 2 || json.some((a) => typeof a != "number")) throw new RangeError("Invalid JSON representation of ChangeDesc"); - return new ChangeDesc(json); + return new _ChangeDesc(json); } + /** + @internal + */ static create(sections) { - return new ChangeDesc(sections); + return new _ChangeDesc(sections); } }; - var ChangeSet = class extends ChangeDesc { + var ChangeSet = class _ChangeSet extends ChangeDesc { constructor(sections, inserted) { super(sections); this.inserted = inserted; } + /** + Apply the changes to a document, returning the modified + document. + */ apply(doc2) { if (this.length != doc2.length) throw new RangeError("Applying change set to a document with the wrong length"); @@ -79750,6 +81695,12 @@ def note_with_error(value, err): mapDesc(other, before = false) { return mapSet(this, other, before, true); } + /** + Given the document as it existed _before_ the changes, return a + change set that represents the inverse of this set, which could + be used to go from the document created by the changes back to + the document as it existed before the changes. + */ invert(doc2) { let sections = this.sections.slice(), inserted = []; for (let i = 0, pos = 0; i < sections.length; i += 2) { @@ -79764,54 +81715,91 @@ def note_with_error(value, err): } pos += len; } - return new ChangeSet(sections, inserted); + return new _ChangeSet(sections, inserted); } + /** + Combine two subsequent change sets into a single set. `other` + must start in the document produced by `this`. If `this` goes + `docA` → `docB` and `other` represents `docB` → `docC`, the + returned value will represent the change `docA` → `docC`. + */ compose(other) { return this.empty ? other : other.empty ? this : composeSets(this, other, true); } + /** + Given another change set starting in the same document, maps this + change set over the other, producing a new change set that can be + applied to the document produced by applying `other`. When + `before` is `true`, order changes as if `this` comes before + `other`, otherwise (the default) treat `other` as coming first. + + Given two changes `A` and `B`, `A.compose(B.map(A))` and + `B.compose(A.map(B, true))` will produce the same document. This + provides a basic form of [operational + transformation](https://en.wikipedia.org/wiki/Operational_transformation), + and can be used for collaborative editing. + */ map(other, before = false) { return other.empty ? this : mapSet(this, other, before, true); } + /** + Iterate over the changed ranges in the document, calling `f` for + each, with the range in the original document (`fromA`-`toA`) + and the range that replaces it in the new document + (`fromB`-`toB`). + + When `individual` is true, adjacent changes are reported + separately. + */ iterChanges(f, individual = false) { iterChanges(this, f, individual); } + /** + Get a [change description](https://codemirror.net/6/docs/ref/#state.ChangeDesc) for this change + set. + */ get desc() { return ChangeDesc.create(this.sections); } + /** + @internal + */ filter(ranges) { let resultSections = [], resultInserted = [], filteredSections = []; let iter = new SectionIter(this); - done: - for (let i = 0, pos = 0; ; ) { - let next = i == ranges.length ? 1e9 : ranges[i++]; - while (pos < next || pos == next && iter.len == 0) { - if (iter.done) - break done; - let len = Math.min(iter.len, next - pos); - addSection(filteredSections, len, -1); - let ins14 = iter.ins == -1 ? -1 : iter.off == 0 ? iter.ins : 0; - addSection(resultSections, len, ins14); - if (ins14 > 0) - addInsert(resultInserted, resultSections, iter.text); - iter.forward(len); - pos += len; - } - let end = ranges[i++]; - while (pos < end) { - if (iter.done) - break done; - let len = Math.min(iter.len, end - pos); - addSection(resultSections, len, -1); - addSection(filteredSections, len, iter.ins == -1 ? -1 : iter.off == 0 ? iter.ins : 0); - iter.forward(len); - pos += len; - } + done: for (let i = 0, pos = 0; ; ) { + let next = i == ranges.length ? 1e9 : ranges[i++]; + while (pos < next || pos == next && iter.len == 0) { + if (iter.done) + break done; + let len = Math.min(iter.len, next - pos); + addSection(filteredSections, len, -1); + let ins14 = iter.ins == -1 ? -1 : iter.off == 0 ? iter.ins : 0; + addSection(resultSections, len, ins14); + if (ins14 > 0) + addInsert(resultInserted, resultSections, iter.text); + iter.forward(len); + pos += len; + } + let end = ranges[i++]; + while (pos < end) { + if (iter.done) + break done; + let len = Math.min(iter.len, end - pos); + addSection(resultSections, len, -1); + addSection(filteredSections, len, iter.ins == -1 ? -1 : iter.off == 0 ? iter.ins : 0); + iter.forward(len); + pos += len; } + } return { - changes: new ChangeSet(resultSections, resultInserted), + changes: new _ChangeSet(resultSections, resultInserted), filtered: ChangeDesc.create(filteredSections) }; } + /** + Serialize this change set to a JSON-representable value. + */ toJSON() { let parts = []; for (let i = 0; i < this.sections.length; i += 2) { @@ -79825,6 +81813,10 @@ def note_with_error(value, err): } return parts; } + /** + Create a change set for the given changes, for a document of the + given length, using `lineSep` as line separator. + */ static of(changes, length, lineSep) { let sections = [], inserted = [], pos = 0; let total = null; @@ -79833,7 +81825,7 @@ def note_with_error(value, err): return; if (pos < length) addSection(sections, length - pos, -1); - let set2 = new ChangeSet(sections, inserted); + let set2 = new _ChangeSet(sections, inserted); total = total ? total.compose(set2.map(total)) : set2; sections = []; inserted = []; @@ -79843,7 +81835,7 @@ def note_with_error(value, err): if (Array.isArray(spec)) { for (let sub of spec) process2(sub); - } else if (spec instanceof ChangeSet) { + } else if (spec instanceof _ChangeSet) { if (spec.length != length) throw new RangeError(`Mismatched change set length (got ${spec.length}, expected ${length})`); flush(); @@ -79869,9 +81861,16 @@ def note_with_error(value, err): flush(!total); return total; } + /** + Create an empty changeset of the given length. + */ static empty(length) { - return new ChangeSet(length ? [length, -1] : [], []); + return new _ChangeSet(length ? [length, -1] : [], []); } + /** + Create a changeset from its JSON representation (as produced by + [`toJSON`](https://codemirror.net/6/docs/ref/#state.ChangeSet.toJSON). + */ static fromJSON(json) { if (!Array.isArray(json)) throw new RangeError("Invalid JSON representation of ChangeSet"); @@ -79891,10 +81890,13 @@ def note_with_error(value, err): sections.push(part[0], inserted[i].length); } } - return new ChangeSet(sections, inserted); + return new _ChangeSet(sections, inserted); } + /** + @internal + */ static createSet(sections, inserted) { - return new ChangeSet(sections, inserted); + return new _ChangeSet(sections, inserted); } }; function addSection(sections, len, ins14, forceJoin = false) { @@ -80088,32 +82090,63 @@ def note_with_error(value, err): } } }; - var SelectionRange = class { + var SelectionRange = class _SelectionRange { constructor(from17, to10, flags) { this.from = from17; this.to = to10; this.flags = flags; } + /** + The anchor of the range—the side that doesn't move when you + extend it. + */ get anchor() { return this.flags & 32 ? this.to : this.from; } + /** + The head of the range, which is moved when the range is + [extended](https://codemirror.net/6/docs/ref/#state.SelectionRange.extend). + */ get head() { return this.flags & 32 ? this.from : this.to; } + /** + True when `anchor` and `head` are at the same position. + */ get empty() { return this.from == this.to; } + /** + If this is a cursor that is explicitly associated with the + character on one of its sides, this returns the side. -1 means + the character before its position, 1 the character after, and 0 + means no association. + */ get assoc() { return this.flags & 8 ? -1 : this.flags & 16 ? 1 : 0; } + /** + The bidirectional text level associated with this cursor, if + any. + */ get bidiLevel() { let level2 = this.flags & 7; return level2 == 7 ? null : level2; } + /** + The goal column (stored vertical offset) associated with a + cursor. This is used to preserve the vertical position when + [moving](https://codemirror.net/6/docs/ref/#view.EditorView.moveVertically) across + lines of different length. + */ get goalColumn() { let value = this.flags >> 6; return value == 16777215 ? void 0 : value; } + /** + Map this range through a change, producing a valid range in the + updated document. + */ map(change, assoc = -1) { let from17, to10; if (this.empty) { @@ -80122,39 +82155,65 @@ def note_with_error(value, err): from17 = change.mapPos(this.from, 1); to10 = change.mapPos(this.to, -1); } - return from17 == this.from && to10 == this.to ? this : new SelectionRange(from17, to10, this.flags); + return from17 == this.from && to10 == this.to ? this : new _SelectionRange(from17, to10, this.flags); } + /** + Extend this range to cover at least `from` to `to`. + */ extend(from17, to10 = from17) { if (from17 <= this.anchor && to10 >= this.anchor) return EditorSelection.range(from17, to10); let head = Math.abs(from17 - this.anchor) > Math.abs(to10 - this.anchor) ? from17 : to10; return EditorSelection.range(this.anchor, head); } + /** + Compare this range to another range. + */ eq(other, includeAssoc = false) { return this.anchor == other.anchor && this.head == other.head && (!includeAssoc || !this.empty || this.assoc == other.assoc); } + /** + Return a JSON-serializable object representing the range. + */ toJSON() { return { anchor: this.anchor, head: this.head }; } + /** + Convert a JSON representation of a range to a `SelectionRange` + instance. + */ static fromJSON(json) { if (!json || typeof json.anchor != "number" || typeof json.head != "number") throw new RangeError("Invalid JSON representation for SelectionRange"); return EditorSelection.range(json.anchor, json.head); } + /** + @internal + */ static create(from17, to10, flags) { - return new SelectionRange(from17, to10, flags); + return new _SelectionRange(from17, to10, flags); } }; - var EditorSelection = class { + var EditorSelection = class _EditorSelection { constructor(ranges, mainIndex) { this.ranges = ranges; this.mainIndex = mainIndex; } + /** + Map a selection through a change. Used to adjust the selection + position for changes. + */ map(change, assoc = -1) { if (change.empty) return this; - return EditorSelection.create(this.ranges.map((r) => r.map(change, assoc)), this.mainIndex); - } + return _EditorSelection.create(this.ranges.map((r) => r.map(change, assoc)), this.mainIndex); + } + /** + Compare this selection to another selection. By default, ranges + are compared only by position. When `includeAssoc` is true, + cursor ranges must also have the same + [`assoc`](https://codemirror.net/6/docs/ref/#state.SelectionRange.assoc) value. + */ eq(other, includeAssoc = false) { if (this.ranges.length != other.ranges.length || this.mainIndex != other.mainIndex) return false; @@ -80163,49 +82222,89 @@ def note_with_error(value, err): return false; return true; } + /** + Get the primary selection range. Usually, you should make sure + your code applies to _all_ ranges, by using methods like + [`changeByRange`](https://codemirror.net/6/docs/ref/#state.EditorState.changeByRange). + */ get main() { return this.ranges[this.mainIndex]; } + /** + Make sure the selection only has one range. Returns a selection + holding only the main range from this selection. + */ asSingle() { - return this.ranges.length == 1 ? this : new EditorSelection([this.main], 0); + return this.ranges.length == 1 ? this : new _EditorSelection([this.main], 0); } + /** + Extend this selection with an extra range. + */ addRange(range10, main = true) { - return EditorSelection.create([range10].concat(this.ranges), main ? 0 : this.mainIndex + 1); + return _EditorSelection.create([range10].concat(this.ranges), main ? 0 : this.mainIndex + 1); } + /** + Replace a given range with another range, and then normalize the + selection to merge and sort ranges if necessary. + */ replaceRange(range10, which = this.mainIndex) { let ranges = this.ranges.slice(); ranges[which] = range10; - return EditorSelection.create(ranges, this.mainIndex); + return _EditorSelection.create(ranges, this.mainIndex); } + /** + Convert this selection to an object that can be serialized to + JSON. + */ toJSON() { return { ranges: this.ranges.map((r) => r.toJSON()), main: this.mainIndex }; } + /** + Create a selection from a JSON representation. + */ static fromJSON(json) { if (!json || !Array.isArray(json.ranges) || typeof json.main != "number" || json.main >= json.ranges.length) throw new RangeError("Invalid JSON representation for EditorSelection"); - return new EditorSelection(json.ranges.map((r) => SelectionRange.fromJSON(r)), json.main); + return new _EditorSelection(json.ranges.map((r) => SelectionRange.fromJSON(r)), json.main); } + /** + Create a selection holding a single range. + */ static single(anchor, head = anchor) { - return new EditorSelection([EditorSelection.range(anchor, head)], 0); + return new _EditorSelection([_EditorSelection.range(anchor, head)], 0); } + /** + Sort and merge the given set of ranges, creating a valid + selection. + */ static create(ranges, mainIndex = 0) { if (ranges.length == 0) throw new RangeError("A selection needs at least one range"); for (let pos = 0, i = 0; i < ranges.length; i++) { let range10 = ranges[i]; if (range10.empty ? range10.from <= pos : range10.from < pos) - return EditorSelection.normalized(ranges.slice(), mainIndex); + return _EditorSelection.normalized(ranges.slice(), mainIndex); pos = range10.to; } - return new EditorSelection(ranges, mainIndex); + return new _EditorSelection(ranges, mainIndex); } + /** + Create a cursor selection range at the given position. You can + safely ignore the optional arguments in most situations. + */ static cursor(pos, assoc = 0, bidiLevel, goalColumn) { return SelectionRange.create(pos, pos, (assoc == 0 ? 0 : assoc < 0 ? 8 : 16) | (bidiLevel == null ? 7 : Math.min(6, bidiLevel)) | (goalColumn !== null && goalColumn !== void 0 ? goalColumn : 16777215) << 6); } + /** + Create a selection range. + */ static range(anchor, head, goalColumn, bidiLevel) { let flags = (goalColumn !== null && goalColumn !== void 0 ? goalColumn : 16777215) << 6 | (bidiLevel == null ? 7 : Math.min(6, bidiLevel)); return head < anchor ? SelectionRange.create(head, anchor, 32 | 16 | flags) : SelectionRange.create(anchor, head, (head > anchor ? 8 : 0) | flags); } + /** + @internal + */ static normalized(ranges, mainIndex = 0) { let main = ranges[mainIndex]; ranges.sort((a, b) => a.from - b.from); @@ -80216,10 +82315,10 @@ def note_with_error(value, err): let from17 = prev.from, to10 = Math.max(range10.to, prev.to); if (i <= mainIndex) mainIndex--; - ranges.splice(--i, 2, range10.anchor > range10.head ? EditorSelection.range(to10, from17) : EditorSelection.range(from17, to10)); + ranges.splice(--i, 2, range10.anchor > range10.head ? _EditorSelection.range(to10, from17) : _EditorSelection.range(from17, to10)); } } - return new EditorSelection(ranges, mainIndex); + return new _EditorSelection(ranges, mainIndex); } }; function checkSelection(selection2, docLength) { @@ -80228,7 +82327,7 @@ def note_with_error(value, err): throw new RangeError("Selection points outside of document"); } var nextID = 0; - var Facet = class { + var Facet = class _Facet { constructor(combine, compareInput, compare2, isStatic, enables) { this.combine = combine; this.compareInput = compareInput; @@ -80238,20 +82337,43 @@ def note_with_error(value, err): this.default = combine([]); this.extensions = typeof enables == "function" ? enables(this) : enables; } + /** + Returns a facet reader for this facet, which can be used to + [read](https://codemirror.net/6/docs/ref/#state.EditorState.facet) it but not to define values for it. + */ get reader() { return this; } + /** + Define a new facet. + */ static define(config = {}) { - return new Facet(config.combine || ((a) => a), config.compareInput || ((a, b) => a === b), config.compare || (!config.combine ? sameArray : (a, b) => a === b), !!config.static, config.enables); + return new _Facet(config.combine || ((a) => a), config.compareInput || ((a, b) => a === b), config.compare || (!config.combine ? sameArray : (a, b) => a === b), !!config.static, config.enables); } + /** + Returns an extension that adds the given value to this facet. + */ of(value) { return new FacetProvider([], this, 0, value); } + /** + Create an extension that computes a value for the facet from a + state. You must take care to declare the parts of the state that + this value depends on, since your function is only called again + for a new state when one of those parts changed. + + In cases where your value depends only on a single field, you'll + want to use the [`from`](https://codemirror.net/6/docs/ref/#state.Facet.from) method instead. + */ compute(deps, get) { if (this.isStatic) throw new Error("Can't compute a static facet"); return new FacetProvider(deps, this, 1, get); } + /** + Create an extension that computes zero or more values for this + facet from a state. + */ computeN(deps, get) { if (this.isStatic) throw new Error("Can't compute a static facet"); @@ -80278,7 +82400,7 @@ def note_with_error(value, err): var _a3; let getter = this.value; let compare2 = this.facet.compareInput; - let id2 = this.id, idx = addresses[id2] >> 1, multi = this.type == 2; + let id = this.id, idx = addresses[id] >> 1, multi = this.type == 2; let depDoc = false, depSel = false, depAddrs = []; for (let dep of this.dependencies) { if (dep == "doc") @@ -80293,8 +82415,8 @@ def note_with_error(value, err): state.values[idx] = getter(state); return 1; }, - update(state, tr3) { - if (depDoc && tr3.docChanged || depSel && (tr3.docChanged || tr3.selection) || ensureAll(state, depAddrs)) { + update(state, tr2) { + if (depDoc && tr2.docChanged || depSel && (tr2.docChanged || tr2.selection) || ensureAll(state, depAddrs)) { let newVal = getter(state); if (multi ? !compareArray(newVal, state.values[idx], compare2) : !compare2(newVal, state.values[idx])) { state.values[idx] = newVal; @@ -80304,7 +82426,7 @@ def note_with_error(value, err): return 0; }, reconfigure: (state, oldState) => { - let newVal, oldAddr = oldState.config.address[id2]; + let newVal, oldAddr = oldState.config.address[id]; if (oldAddr != null) { let oldVal = getAddr(oldState, oldAddr); if (this.dependencies.every((dep) => { @@ -80361,7 +82483,7 @@ def note_with_error(value, err): state.values[idx] = get(state); return 1; }, - update(state, tr3) { + update(state, tr2) { if (!ensureAll(state, dynamic)) return 0; let value = get(state); @@ -80388,17 +82510,20 @@ def note_with_error(value, err): }; } var initField = /* @__PURE__ */ Facet.define({ static: true }); - var StateField = class { - constructor(id2, createF, updateF, compareF, spec) { - this.id = id2; + var StateField = class _StateField { + constructor(id, createF, updateF, compareF, spec) { + this.id = id; this.createF = createF; this.updateF = updateF; this.compareF = compareF; this.spec = spec; this.provides = void 0; } + /** + Define a state field. + */ static define(config) { - let field = new StateField(nextID++, config.create, config.update, config.compare || ((a, b) => a === b), config); + let field = new _StateField(nextID++, config.create, config.update, config.compare || ((a, b) => a === b), config); if (config.provide) field.provides = config.provide(field); return field; @@ -80407,6 +82532,9 @@ def note_with_error(value, err): let init = state.facet(initField).find((i) => i.field == this); return ((init === null || init === void 0 ? void 0 : init.create) || this.createF)(state); } + /** + @internal + */ slot(addresses) { let idx = addresses[this.id] >> 1; return { @@ -80414,9 +82542,9 @@ def note_with_error(value, err): state.values[idx] = this.create(state); return 1; }, - update: (state, tr3) => { + update: (state, tr2) => { let oldVal = state.values[idx]; - let value = this.updateF(oldVal, tr3); + let value = this.updateF(oldVal, tr2); if (this.compareF(oldVal, value)) return 0; state.values[idx] = value; @@ -80432,9 +82560,19 @@ def note_with_error(value, err): } }; } + /** + Returns an extension that enables this field and overrides the + way it is initialized. Can be useful when you need to provide a + non-default starting value for the field. + */ init(create) { return [this, initField.of({ field: this, create })]; } + /** + State field instances can be used as + [`Extension`](https://codemirror.net/6/docs/ref/#state.Extension) values to enable the field in a + given state. + */ get extension() { return this; } @@ -80444,10 +82582,29 @@ def note_with_error(value, err): return (ext) => new PrecExtension(ext, value); } var Prec = { + /** + The highest precedence level, for extensions that should end up + near the start of the precedence ordering. + */ highest: /* @__PURE__ */ prec(Prec_.highest), + /** + A higher-than-default precedence, for extensions that should + come before those with default precedence. + */ high: /* @__PURE__ */ prec(Prec_.high), + /** + The default precedence, which is also used for extensions + without an explicit precedence. + */ default: /* @__PURE__ */ prec(Prec_.default), + /** + A lower-than-default precedence. + */ low: /* @__PURE__ */ prec(Prec_.low), + /** + The lowest precedence level. Meant for things that should end up + near the end of the extension order. + */ lowest: /* @__PURE__ */ prec(Prec_.lowest) }; var PrecExtension = class { @@ -80456,13 +82613,25 @@ def note_with_error(value, err): this.prec = prec2; } }; - var Compartment = class { + var Compartment = class _Compartment { + /** + Create an instance of this compartment to add to your [state + configuration](https://codemirror.net/6/docs/ref/#state.EditorStateConfig.extensions). + */ of(ext) { return new CompartmentInstance(this, ext); } + /** + Create an [effect](https://codemirror.net/6/docs/ref/#state.TransactionSpec.effects) that + reconfigures this compartment. + */ reconfigure(content2) { - return Compartment.reconfigure.of({ compartment: this, extension: content2 }); + return _Compartment.reconfigure.of({ compartment: this, extension: content2 }); } + /** + Get the current content of the compartment in the state, or + `undefined` if it isn't present. + */ get(state) { return state.config.compartments.get(this); } @@ -80473,7 +82642,7 @@ def note_with_error(value, err): this.inner = inner; } }; - var Configuration = class { + var Configuration = class _Configuration { constructor(base2, compartments, dynamicSlots, address, staticValues, facets) { this.base = base2; this.compartments = compartments; @@ -80483,7 +82652,10 @@ def note_with_error(value, err): this.facets = facets; this.statusTemplate = []; while (this.statusTemplate.length < dynamicSlots.length) - this.statusTemplate.push(0); + this.statusTemplate.push( + 0 + /* SlotStatus.Unresolved */ + ); } staticFacet(facet) { let addr = this.address[facet.id]; @@ -80491,15 +82663,15 @@ def note_with_error(value, err): } static resolve(base2, compartments, oldState) { let fields = []; - let facets = Object.create(null); - let newCompartments = new Map(); + let facets = /* @__PURE__ */ Object.create(null); + let newCompartments = /* @__PURE__ */ new Map(); for (let ext of flatten(base2, compartments, newCompartments)) { if (ext instanceof StateField) fields.push(ext); else (facets[ext.facet.id] || (facets[ext.facet.id] = [])).push(ext); } - let address = Object.create(null); + let address = /* @__PURE__ */ Object.create(null); let staticValues = []; let dynamicSlots = []; for (let field of fields) { @@ -80507,10 +82679,13 @@ def note_with_error(value, err): dynamicSlots.push((a) => field.slot(a)); } let oldFacets = oldState === null || oldState === void 0 ? void 0 : oldState.config.facets; - for (let id2 in facets) { - let providers = facets[id2], facet = providers[0].facet; - let oldProviders = oldFacets && oldFacets[id2] || []; - if (providers.every((p) => p.type == 0)) { + for (let id in facets) { + let providers = facets[id], facet = providers[0].facet; + let oldProviders = oldFacets && oldFacets[id] || []; + if (providers.every( + (p) => p.type == 0 + /* Provider.Static */ + )) { address[facet.id] = staticValues.length << 1 | 1; if (sameArray(oldProviders, providers)) { staticValues.push(oldState.facet(facet)); @@ -80533,12 +82708,12 @@ def note_with_error(value, err): } } let dynamic = dynamicSlots.map((f) => f(address)); - return new Configuration(base2, newCompartments, dynamic, address, staticValues, facets); + return new _Configuration(base2, newCompartments, dynamic, address, staticValues, facets); } }; function flatten(extension, compartments, newCompartments) { let result = [[], [], [], [], []]; - let seen = new Map(); + let seen = /* @__PURE__ */ new Map(); function inner(ext, prec2) { let known = seen.get(ext); if (known != null) { @@ -80612,42 +82787,79 @@ def note_with_error(value, err): combine: (values) => values.length ? values[0] : false }); var Annotation = class { + /** + @internal + */ constructor(type, value) { this.type = type; this.value = value; } + /** + Define a new type of annotation. + */ static define() { return new AnnotationType(); } }; var AnnotationType = class { + /** + Create an instance of this annotation. + */ of(value) { return new Annotation(this, value); } }; var StateEffectType = class { + /** + @internal + */ constructor(map3) { this.map = map3; } + /** + Create a [state effect](https://codemirror.net/6/docs/ref/#state.StateEffect) instance of this + type. + */ of(value) { return new StateEffect(this, value); } }; - var StateEffect = class { + var StateEffect = class _StateEffect { + /** + @internal + */ constructor(type, value) { this.type = type; this.value = value; } + /** + Map this effect through a position mapping. Will return + `undefined` when that ends up deleting the effect. + */ map(mapping) { let mapped = this.type.map(this.value, mapping); - return mapped === void 0 ? void 0 : mapped == this.value ? this : new StateEffect(this.type, mapped); + return mapped === void 0 ? void 0 : mapped == this.value ? this : new _StateEffect(this.type, mapped); } + /** + Tells you whether this effect object is of a given + [type](https://codemirror.net/6/docs/ref/#state.StateEffectType). + */ is(type) { return this.type == type; } + /** + Define a new effect type. The type parameter indicates the type + of values that his effect holds. It should be a type that + doesn't include `undefined`, since that is used in + [mapping](https://codemirror.net/6/docs/ref/#state.StateEffect.map) to indicate that an effect is + removed. + */ static define(spec = {}) { return new StateEffectType(spec.map || ((v) => v)); } + /** + Map an array of effects through a change set. + */ static mapEffects(effects2, mapping) { if (!effects2.length) return effects2; @@ -80662,7 +82874,7 @@ def note_with_error(value, err): }; StateEffect.reconfigure = /* @__PURE__ */ StateEffect.define(); StateEffect.appendConfig = /* @__PURE__ */ StateEffect.define(); - var Transaction = class { + var Transaction = class _Transaction { constructor(startState, changes, selection2, effects2, annotations, scrollIntoView2) { this.startState = startState; this.changes = changes; @@ -80674,37 +82886,79 @@ def note_with_error(value, err): this._state = null; if (selection2) checkSelection(selection2, changes.newLength); - if (!annotations.some((a) => a.type == Transaction.time)) - this.annotations = annotations.concat(Transaction.time.of(Date.now())); + if (!annotations.some((a) => a.type == _Transaction.time)) + this.annotations = annotations.concat(_Transaction.time.of(Date.now())); } + /** + @internal + */ static create(startState, changes, selection2, effects2, annotations, scrollIntoView2) { - return new Transaction(startState, changes, selection2, effects2, annotations, scrollIntoView2); - } + return new _Transaction(startState, changes, selection2, effects2, annotations, scrollIntoView2); + } + /** + The new document produced by the transaction. Contrary to + [`.state`](https://codemirror.net/6/docs/ref/#state.Transaction.state)`.doc`, accessing this won't + force the entire new state to be computed right away, so it is + recommended that [transaction + filters](https://codemirror.net/6/docs/ref/#state.EditorState^transactionFilter) use this getter + when they need to look at the new document. + */ get newDoc() { return this._doc || (this._doc = this.changes.apply(this.startState.doc)); } + /** + The new selection produced by the transaction. If + [`this.selection`](https://codemirror.net/6/docs/ref/#state.Transaction.selection) is undefined, + this will [map](https://codemirror.net/6/docs/ref/#state.EditorSelection.map) the start state's + current selection through the changes made by the transaction. + */ get newSelection() { return this.selection || this.startState.selection.map(this.changes); } + /** + The new state created by the transaction. Computed on demand + (but retained for subsequent access), so it is recommended not to + access it in [transaction + filters](https://codemirror.net/6/docs/ref/#state.EditorState^transactionFilter) when possible. + */ get state() { if (!this._state) this.startState.applyTransaction(this); return this._state; } + /** + Get the value of the given annotation type, if any. + */ annotation(type) { for (let ann of this.annotations) if (ann.type == type) return ann.value; return void 0; } + /** + Indicates whether the transaction changed the document. + */ get docChanged() { return !this.changes.empty; } + /** + Indicates whether this transaction reconfigures the state + (through a [configuration compartment](https://codemirror.net/6/docs/ref/#state.Compartment) or + with a top-level configuration + [effect](https://codemirror.net/6/docs/ref/#state.StateEffect^reconfigure). + */ get reconfigured() { return this.startState.config != this.state.config; } + /** + Returns true if the transaction has a [user + event](https://codemirror.net/6/docs/ref/#state.Transaction^userEvent) annotation that is equal to + or more specific than `event`. For example, if the transaction + has `"select.pointer"` as user event, `"select"` and + `"select.pointer"` will match it. + */ isUserEvent(event2) { - let e = this.annotation(Transaction.userEvent); + let e = this.annotation(_Transaction.userEvent); return !!(e && (e == event2 || e.length > event2.length && e.slice(0, event2.length) == event2 && e[event2.length] == ".")); } }; @@ -80772,14 +83026,14 @@ def note_with_error(value, err): let seq = !!specs[i].sequential; s = mergeTransaction(s, resolveTransactionInner(state, specs[i], seq ? s.changes.newLength : state.doc.length), seq); } - let tr3 = Transaction.create(state, s.changes, s.selection, s.effects, s.annotations, s.scrollIntoView); - return extendTransaction(filter ? filterTransaction(tr3) : tr3); + let tr2 = Transaction.create(state, s.changes, s.selection, s.effects, s.annotations, s.scrollIntoView); + return extendTransaction(filter ? filterTransaction(tr2) : tr2); } - function filterTransaction(tr3) { - let state = tr3.startState; + function filterTransaction(tr2) { + let state = tr2.startState; let result = true; for (let filter of state.facet(changeFilter)) { - let value = filter(tr3); + let value = filter(tr2); if (value === false) { result = false; break; @@ -80790,35 +83044,35 @@ def note_with_error(value, err): if (result !== true) { let changes, back; if (result === false) { - back = tr3.changes.invertedDesc; + back = tr2.changes.invertedDesc; changes = ChangeSet.empty(state.doc.length); } else { - let filtered = tr3.changes.filter(result); + let filtered = tr2.changes.filter(result); changes = filtered.changes; back = filtered.filtered.mapDesc(filtered.changes).invertedDesc; } - tr3 = Transaction.create(state, changes, tr3.selection && tr3.selection.map(back), StateEffect.mapEffects(tr3.effects, back), tr3.annotations, tr3.scrollIntoView); + tr2 = Transaction.create(state, changes, tr2.selection && tr2.selection.map(back), StateEffect.mapEffects(tr2.effects, back), tr2.annotations, tr2.scrollIntoView); } let filters = state.facet(transactionFilter); for (let i = filters.length - 1; i >= 0; i--) { - let filtered = filters[i](tr3); + let filtered = filters[i](tr2); if (filtered instanceof Transaction) - tr3 = filtered; + tr2 = filtered; else if (Array.isArray(filtered) && filtered.length == 1 && filtered[0] instanceof Transaction) - tr3 = filtered[0]; + tr2 = filtered[0]; else - tr3 = resolveTransaction(state, asArray(filtered), false); + tr2 = resolveTransaction(state, asArray(filtered), false); } - return tr3; + return tr2; } - function extendTransaction(tr3) { - let state = tr3.startState, extenders = state.facet(transactionExtender), spec = tr3; + function extendTransaction(tr2) { + let state = tr2.startState, extenders = state.facet(transactionExtender), spec = tr2; for (let i = extenders.length - 1; i >= 0; i--) { - let extension = extenders[i](tr3); + let extension = extenders[i](tr2); if (extension && Object.keys(extension).length) - spec = mergeTransaction(spec, resolveTransactionInner(state, extension, tr3.changes.newLength), true); + spec = mergeTransaction(spec, resolveTransactionInner(state, extension, tr2.changes.newLength), true); } - return spec == tr3 ? tr3 : Transaction.create(state, tr3.changes, tr3.selection, spec.effects, spec.annotations, spec.scrollIntoView); + return spec == tr2 ? tr2 : Transaction.create(state, tr2.changes, tr2.selection, spec.effects, spec.annotations, spec.scrollIntoView); } var none = []; function asArray(value) { @@ -80858,16 +83112,16 @@ def note_with_error(value, err): return CharCategory.Other; }; } - var EditorState = class { - constructor(config, doc2, selection2, values, computeSlot, tr3) { + var EditorState = class _EditorState { + constructor(config, doc2, selection2, values, computeSlot, tr2) { this.config = config; this.doc = doc2; this.selection = selection2; this.values = values; this.status = config.statusTemplate.slice(); this.computeSlot = computeSlot; - if (tr3) - tr3._state = this; + if (tr2) + tr2._state = this; for (let i = 0; i < this.config.dynamicSlots.length; i++) ensureAddr(this, i << 1); this.computeSlot = null; @@ -80882,15 +83136,33 @@ def note_with_error(value, err): ensureAddr(this, addr); return getAddr(this, addr); } + /** + Create a [transaction](https://codemirror.net/6/docs/ref/#state.Transaction) that updates this + state. Any number of [transaction specs](https://codemirror.net/6/docs/ref/#state.TransactionSpec) + can be passed. Unless + [`sequential`](https://codemirror.net/6/docs/ref/#state.TransactionSpec.sequential) is set, the + [changes](https://codemirror.net/6/docs/ref/#state.TransactionSpec.changes) (if any) of each spec + are assumed to start in the _current_ document (not the document + produced by previous specs), and its + [selection](https://codemirror.net/6/docs/ref/#state.TransactionSpec.selection) and + [effects](https://codemirror.net/6/docs/ref/#state.TransactionSpec.effects) are assumed to refer + to the document created by its _own_ changes. The resulting + transaction contains the combined effect of all the different + specs. For [selection](https://codemirror.net/6/docs/ref/#state.TransactionSpec.selection), later + specs take precedence over earlier ones. + */ update(...specs) { return resolveTransaction(this, specs, true); } - applyTransaction(tr3) { + /** + @internal + */ + applyTransaction(tr2) { let conf = this.config, { base: base2, compartments } = conf; - for (let effect of tr3.effects) { + for (let effect of tr2.effects) { if (effect.is(Compartment.reconfigure)) { if (conf) { - compartments = new Map(); + compartments = /* @__PURE__ */ new Map(); conf.compartments.forEach((val, key) => compartments.set(key, val)); conf = null; } @@ -80906,14 +83178,18 @@ def note_with_error(value, err): let startValues; if (!conf) { conf = Configuration.resolve(base2, compartments, this); - let intermediateState = new EditorState(conf, this.doc, this.selection, conf.dynamicSlots.map(() => null), (state, slot) => slot.reconfigure(state, this), null); + let intermediateState = new _EditorState(conf, this.doc, this.selection, conf.dynamicSlots.map(() => null), (state, slot) => slot.reconfigure(state, this), null); startValues = intermediateState.values; } else { - startValues = tr3.startState.values.slice(); + startValues = tr2.startState.values.slice(); } - let selection2 = tr3.startState.facet(allowMultipleSelections) ? tr3.newSelection : tr3.newSelection.asSingle(); - new EditorState(conf, tr3.newDoc, selection2, startValues, (state, slot) => slot.update(state, tr3), tr3); + let selection2 = tr2.startState.facet(allowMultipleSelections) ? tr2.newSelection : tr2.newSelection.asSingle(); + new _EditorState(conf, tr2.newDoc, selection2, startValues, (state, slot) => slot.update(state, tr2), tr2); } + /** + Create a [transaction spec](https://codemirror.net/6/docs/ref/#state.TransactionSpec) that + replaces every selection range with the given content. + */ replaceSelection(text) { if (typeof text == "string") text = this.toText(text); @@ -80922,6 +83198,17 @@ def note_with_error(value, err): range: EditorSelection.cursor(range10.from + text.length) })); } + /** + Create a set of changes and a new selection by running the given + function for each range in the active selection. The function + can return an optional set of changes (in the coordinate space + of the start document), plus an updated range (in the coordinate + space of the document produced by the call's own changes). This + method will merge all the changes and ranges into a single + changeset and selection, and return it as a [transaction + spec](https://codemirror.net/6/docs/ref/#state.TransactionSpec), which can be passed to + [`update`](https://codemirror.net/6/docs/ref/#state.EditorState.update). + */ changeByRange(f) { let sel = this.selection; let result1 = f(sel.ranges[0]); @@ -80943,17 +83230,33 @@ def note_with_error(value, err): effects: effects2 }; } + /** + Create a [change set](https://codemirror.net/6/docs/ref/#state.ChangeSet) from the given change + description, taking the state's document length and line + separator into account. + */ changes(spec = []) { if (spec instanceof ChangeSet) return spec; - return ChangeSet.of(spec, this.doc.length, this.facet(EditorState.lineSeparator)); + return ChangeSet.of(spec, this.doc.length, this.facet(_EditorState.lineSeparator)); } + /** + Using the state's [line + separator](https://codemirror.net/6/docs/ref/#state.EditorState^lineSeparator), create a + [`Text`](https://codemirror.net/6/docs/ref/#state.Text) instance from the given string. + */ toText(string2) { - return Text.of(string2.split(this.facet(EditorState.lineSeparator) || DefaultSplit)); + return Text.of(string2.split(this.facet(_EditorState.lineSeparator) || DefaultSplit)); } + /** + Return the given range of the document as a string. + */ sliceDoc(from17 = 0, to10 = this.doc.length) { return this.doc.sliceString(from17, to10, this.lineBreak); } + /** + Get the value of a state [facet](https://codemirror.net/6/docs/ref/#state.Facet). + */ facet(facet) { let addr = this.config.address[facet.id]; if (addr == null) @@ -80961,6 +83264,12 @@ def note_with_error(value, err): ensureAddr(this, addr); return getAddr(this, addr); } + /** + Convert this state to a JSON-serializable object. When custom + fields should be serialized, you can pass them in as an object + mapping property names (in the resulting object, which should + not use `doc` or `selection`) to fields. + */ toJSON(fields) { let result = { doc: this.sliceDoc(), @@ -80974,6 +83283,12 @@ def note_with_error(value, err): } return result; } + /** + Deserialize a state from its JSON representation. When custom + fields should be deserialized, pass the same object you passed + to [`toJSON`](https://codemirror.net/6/docs/ref/#state.EditorState.toJSON) when serializing as + third argument. + */ static fromJSON(json, config = {}, fields) { if (!json || typeof json.doc != "string") throw new RangeError("Invalid JSON representation for EditorState"); @@ -80985,32 +83300,59 @@ def note_with_error(value, err): fieldInit.push(field.init((state) => field.spec.fromJSON(value, state))); } } - return EditorState.create({ + return _EditorState.create({ doc: json.doc, selection: EditorSelection.fromJSON(json.selection), extensions: config.extensions ? fieldInit.concat([config.extensions]) : fieldInit }); } + /** + Create a new state. You'll usually only need this when + initializing an editor—updated states are created by applying + transactions. + */ static create(config = {}) { - let configuration = Configuration.resolve(config.extensions || [], new Map()); - let doc2 = config.doc instanceof Text ? config.doc : Text.of((config.doc || "").split(configuration.staticFacet(EditorState.lineSeparator) || DefaultSplit)); + let configuration = Configuration.resolve(config.extensions || [], /* @__PURE__ */ new Map()); + let doc2 = config.doc instanceof Text ? config.doc : Text.of((config.doc || "").split(configuration.staticFacet(_EditorState.lineSeparator) || DefaultSplit)); let selection2 = !config.selection ? EditorSelection.single(0) : config.selection instanceof EditorSelection ? config.selection : EditorSelection.single(config.selection.anchor, config.selection.head); checkSelection(selection2, doc2.length); if (!configuration.staticFacet(allowMultipleSelections)) selection2 = selection2.asSingle(); - return new EditorState(configuration, doc2, selection2, configuration.dynamicSlots.map(() => null), (state, slot) => slot.create(state), null); + return new _EditorState(configuration, doc2, selection2, configuration.dynamicSlots.map(() => null), (state, slot) => slot.create(state), null); } + /** + The size (in columns) of a tab in the document, determined by + the [`tabSize`](https://codemirror.net/6/docs/ref/#state.EditorState^tabSize) facet. + */ get tabSize() { - return this.facet(EditorState.tabSize); + return this.facet(_EditorState.tabSize); } + /** + Get the proper [line-break](https://codemirror.net/6/docs/ref/#state.EditorState^lineSeparator) + string for this state. + */ get lineBreak() { - return this.facet(EditorState.lineSeparator) || "\n"; + return this.facet(_EditorState.lineSeparator) || "\n"; } + /** + Returns true when the editor is + [configured](https://codemirror.net/6/docs/ref/#state.EditorState^readOnly) to be read-only. + */ get readOnly() { return this.facet(readOnly2); } + /** + Look up a translation for the given phrase (via the + [`phrases`](https://codemirror.net/6/docs/ref/#state.EditorState^phrases) facet), or return the + original string if no translation is found. + + If additional arguments are passed, they will be inserted in + place of markers like `$1` (for the first value) and `$2`, etc. + A single `$` is equivalent to `$1`, and `$$` will produce a + literal dollar sign. + */ phrase(phrase2, ...insert2) { - for (let map3 of this.facet(EditorState.phrases)) + for (let map3 of this.facet(_EditorState.phrases)) if (Object.prototype.hasOwnProperty.call(map3, phrase2)) { phrase2 = map3[phrase2]; break; @@ -81024,6 +83366,22 @@ def note_with_error(value, err): }); return phrase2; } + /** + Find the values for a given language data field, provided by the + the [`languageData`](https://codemirror.net/6/docs/ref/#state.EditorState^languageData) facet. + + Examples of language data fields are... + + - [`"commentTokens"`](https://codemirror.net/6/docs/ref/#commands.CommentTokens) for specifying + comment syntax. + - [`"autocomplete"`](https://codemirror.net/6/docs/ref/#autocomplete.autocompletion^config.override) + for providing language-specific completion sources. + - [`"wordChars"`](https://codemirror.net/6/docs/ref/#state.EditorState.charCategorizer) for adding + characters that should be considered part of words in this + language. + - [`"closeBrackets"`](https://codemirror.net/6/docs/ref/#autocomplete.CloseBracketConfig) controls + bracket closing behavior. + */ languageDataAt(name2, pos, side = -1) { let values = []; for (let provider of this.facet(languageData)) { @@ -81034,9 +83392,26 @@ def note_with_error(value, err): } return values; } + /** + Return a function that can categorize strings (expected to + represent a single [grapheme cluster](https://codemirror.net/6/docs/ref/#state.findClusterBreak)) + into one of: + + - Word (contains an alphanumeric character or a character + explicitly listed in the local language's `"wordChars"` + language data, which should be a string) + - Space (contains only whitespace) + - Other (anything else) + */ charCategorizer(at14) { return makeCategorizer(this.languageDataAt("wordChars", at14).join("")); } + /** + Find the word at the given position, meaning the range + containing all [word](https://codemirror.net/6/docs/ref/#state.CharCategory.Word) characters + around it. If no word characters are adjacent to the position, + this returns null. + */ wordAt(pos) { let { text, from: from17, length } = this.doc.lineAt(pos); let cat = this.charCategorizer(pos); @@ -81080,8 +83455,7 @@ def note_with_error(value, err): let value = config[key], current = result[key]; if (current === void 0) result[key] = value; - else if (current === value || value === void 0) - ; + else if (current === value || value === void 0) ; else if (Object.hasOwnProperty.call(combine, key)) result[key] = combine[key](current, value); else @@ -81093,9 +83467,19 @@ def note_with_error(value, err): return result; } var RangeValue = class { + /** + Compare this value with another value. Used when comparing + rangesets. The default implementation compares by identity. + Unless you are only creating a fixed number of unique instances + of your value type, it is a good idea to implement this + properly. + */ eq(other) { return this == other; } + /** + Create a [range](https://codemirror.net/6/docs/ref/#state.Range) with this value. + */ range(from17, to10 = from17) { return Range.create(from17, to10, this); } @@ -81103,20 +83487,23 @@ def note_with_error(value, err): RangeValue.prototype.startSide = RangeValue.prototype.endSide = 0; RangeValue.prototype.point = false; RangeValue.prototype.mapMode = MapMode.TrackDel; - var Range = class { + var Range = class _Range { constructor(from17, to10, value) { this.from = from17; this.to = to10; this.value = value; } + /** + @internal + */ static create(from17, to10, value) { - return new Range(from17, to10, value); + return new _Range(from17, to10, value); } }; function cmpRange(a, b) { return a.from - b.from || a.value.startSide - b.value.startSide; } - var Chunk = class { + var Chunk = class _Chunk { constructor(from17, to10, value, maxPoint) { this.from = from17; this.to = to10; @@ -81126,17 +83513,19 @@ def note_with_error(value, err): get length() { return this.to[this.to.length - 1]; } + // Find the index of the given position and side. Use the ranges' + // `from` pos when `end == false`, `to` when `end == true`. findIndex(pos, side, end, startAt = 0) { let arr = end ? this.to : this.from; - for (let lo2 = startAt, hi3 = arr.length; ; ) { - if (lo2 == hi3) + for (let lo2 = startAt, hi2 = arr.length; ; ) { + if (lo2 == hi2) return lo2; - let mid = lo2 + hi3 >> 1; + let mid = lo2 + hi2 >> 1; let diff = arr[mid] - pos || (end ? this.value[mid].endSide : this.value[mid].startSide) - side; if (mid == lo2) - return diff >= 0 ? lo2 : hi3; + return diff >= 0 ? lo2 : hi2; if (diff >= 0) - hi3 = mid; + hi2 = mid; else lo2 = mid + 1; } @@ -81176,23 +83565,32 @@ def note_with_error(value, err): from17.push(newFrom - newPos); to10.push(newTo - newPos); } - return { mapped: value.length ? new Chunk(from17, to10, value, maxPoint) : null, pos: newPos }; + return { mapped: value.length ? new _Chunk(from17, to10, value, maxPoint) : null, pos: newPos }; } }; - var RangeSet = class { + var RangeSet = class _RangeSet { constructor(chunkPos, chunk, nextLayer, maxPoint) { this.chunkPos = chunkPos; this.chunk = chunk; this.nextLayer = nextLayer; this.maxPoint = maxPoint; } + /** + @internal + */ static create(chunkPos, chunk, nextLayer, maxPoint) { - return new RangeSet(chunkPos, chunk, nextLayer, maxPoint); + return new _RangeSet(chunkPos, chunk, nextLayer, maxPoint); } + /** + @internal + */ get length() { let last = this.chunk.length - 1; return last < 0 ? 0 : Math.max(this.chunkEnd(last), this.nextLayer.length); } + /** + The number of ranges in the set. + */ get size() { if (this.isEmpty) return 0; @@ -81201,9 +83599,21 @@ def note_with_error(value, err): size += chunk.value.length; return size; } + /** + @internal + */ chunkEnd(index3) { return this.chunkPos[index3] + this.chunk[index3].length; } + /** + Update the range set, optionally adding new ranges or filtering + out existing ones. + + (Note: The type parameter is just there as a kludge to work + around TypeScript variance issues that prevented `RangeSet` + from being a subtype of `RangeSet` when `X` is a subtype of + `Y`.) + */ update(updateSpec) { let { add: add17 = [], sort: sort2 = false, filterFrom = 0, filterTo = this.length } = updateSpec; let filter = updateSpec.filter; @@ -81212,7 +83622,7 @@ def note_with_error(value, err): if (sort2) add17 = add17.slice().sort(cmpRange); if (this.isEmpty) - return add17.length ? RangeSet.of(add17) : this; + return add17.length ? _RangeSet.of(add17) : this; let cur = new LayerCursor(this, null, -1).goto(0), i = 0, spill = []; let builder = new RangeSetBuilder(); while (cur.value || i < add17.length) { @@ -81230,8 +83640,11 @@ def note_with_error(value, err): cur.next(); } } - return builder.finishInner(this.nextLayer.isEmpty && !spill.length ? RangeSet.empty : this.nextLayer.update({ add: spill, filter, filterFrom, filterTo })); + return builder.finishInner(this.nextLayer.isEmpty && !spill.length ? _RangeSet.empty : this.nextLayer.update({ add: spill, filter, filterFrom, filterTo })); } + /** + Map this range set through a set of changes, return the new set. + */ map(changes) { if (changes.empty || this.isEmpty) return this; @@ -81253,8 +83666,14 @@ def note_with_error(value, err): } } let next = this.nextLayer.map(changes); - return chunks.length == 0 ? next : new RangeSet(chunkPos, chunks, next || RangeSet.empty, maxPoint); - } + return chunks.length == 0 ? next : new _RangeSet(chunkPos, chunks, next || _RangeSet.empty, maxPoint); + } + /** + Iterate over the ranges that touch the region `from` to `to`, + calling `f` for each. There is no guarantee that the ranges will + be reported in any specific order. When the callback returns + `false`, iteration stops. + */ between(from17, to10, f) { if (this.isEmpty) return; @@ -81265,15 +83684,30 @@ def note_with_error(value, err): } this.nextLayer.between(from17, to10, f); } + /** + Iterate over the ranges in this set, in order, including all + ranges that end at or after `from`. + */ iter(from17 = 0) { return HeapCursor.from([this]).goto(from17); } + /** + @internal + */ get isEmpty() { return this.nextLayer == this; } + /** + Iterate over the ranges in a collection of sets, in order, + starting from `from`. + */ static iter(sets, from17 = 0) { return HeapCursor.from(sets).goto(from17); } + /** + Iterate over two groups of sets, calling methods on `comparator` + to notify it of possible differences. + */ static compare(oldSets, newSets, textDiff, comparator, minPointSize = -1) { let a = oldSets.filter((set2) => set2.maxPoint > 0 || !set2.isEmpty && set2.maxPoint >= minPointSize); let b = newSets.filter((set2) => set2.maxPoint > 0 || !set2.isEmpty && set2.maxPoint >= minPointSize); @@ -81284,6 +83718,10 @@ def note_with_error(value, err): if (textDiff.empty && textDiff.length == 0) compare(sideA, 0, sideB, 0, 0, comparator); } + /** + Compare the contents of two groups of range sets, returning true + if they are equivalent in the given range. + */ static eq(oldSets, newSets, from17 = 0, to10) { if (to10 == null) to10 = 1e9 - 1; @@ -81304,6 +83742,13 @@ def note_with_error(value, err): sideB.next(); } } + /** + Iterate over a group of range sets at the same time, notifying + the iterator about the ranges covering every given piece of + content. Returns the open count (see + [`SpanIterator.span`](https://codemirror.net/6/docs/ref/#state.SpanIterator.span)) at the end + of the iteration. + */ static spans(sets, from17, to10, iterator, minPointSize = -1) { let cursor = new SpanCursor(sets, null, minPointSize).goto(from17), pos = from17; let openRanges = cursor.openStart; @@ -81324,19 +83769,29 @@ def note_with_error(value, err): cursor.next(); } } + /** + Create a range set for the given range or array of ranges. By + default, this expects the ranges to be _sorted_ (by start + position and, if two start at the same position, + `value.startSide`). You can pass `true` as second argument to + cause the method to sort them. + */ static of(ranges, sort2 = false) { let build = new RangeSetBuilder(); for (let range10 of ranges instanceof Range ? [ranges] : sort2 ? lazySort(ranges) : ranges) build.add(range10.from, range10.to, range10.value); return build.finish(); } + /** + Join an array of range sets into a single set. + */ static join(sets) { if (!sets.length) - return RangeSet.empty; + return _RangeSet.empty; let result = sets[sets.length - 1]; for (let i = sets.length - 2; i >= 0; i--) { - for (let layer2 = sets[i]; layer2 != RangeSet.empty; layer2 = layer2.nextLayer) - result = new RangeSet(layer2.chunkPos, layer2.chunk, result, Math.max(layer2.maxPoint, result.maxPoint)); + for (let layer2 = sets[i]; layer2 != _RangeSet.empty; layer2 = layer2.nextLayer) + result = new _RangeSet(layer2.chunkPos, layer2.chunk, result, Math.max(layer2.maxPoint, result.maxPoint)); } return result; } @@ -81353,7 +83808,7 @@ def note_with_error(value, err): return ranges; } RangeSet.empty.nextLayer = RangeSet.empty; - var RangeSetBuilder = class { + var RangeSetBuilder = class _RangeSetBuilder { finishChunk(newArrays) { this.chunks.push(new Chunk(this.from, this.to, this.value, this.maxPoint)); this.chunkPos.push(this.chunkStart); @@ -81366,6 +83821,9 @@ def note_with_error(value, err): this.value = []; } } + /** + Create an empty builder. + */ constructor() { this.chunks = []; this.chunkPos = []; @@ -81380,10 +83838,17 @@ def note_with_error(value, err): this.setMaxPoint = -1; this.nextLayer = null; } + /** + Add a range. Ranges should be added in sorted (by `from` and + `value.startSide`) order. + */ add(from17, to10, value) { if (!this.addInner(from17, to10, value)) - (this.nextLayer || (this.nextLayer = new RangeSetBuilder())).add(from17, to10, value); + (this.nextLayer || (this.nextLayer = new _RangeSetBuilder())).add(from17, to10, value); } + /** + @internal + */ addInner(from17, to10, value) { let diff = from17 - this.lastTo || value.startSide - this.last.endSide; if (diff <= 0 && (from17 - this.lastFrom || value.startSide - this.last.startSide) < 0) @@ -81404,6 +83869,9 @@ def note_with_error(value, err): this.maxPoint = Math.max(this.maxPoint, to10 - from17); return true; } + /** + @internal + */ addChunk(from17, chunk) { if ((from17 - this.lastTo || chunk.value[0].startSide - this.last.endSide) < 0) return false; @@ -81418,9 +83886,16 @@ def note_with_error(value, err): this.lastTo = chunk.to[last] + from17; return true; } + /** + Finish the range set. Returns the new set. The builder can't be + used anymore after this has been called. + */ finish() { return this.finishInner(RangeSet.empty); } + /** + @internal + */ finishInner(next) { if (this.from.length) this.finishChunk(false); @@ -81432,12 +83907,12 @@ def note_with_error(value, err): } }; function findSharedChunks(a, b, textDiff) { - let inA = new Map(); + let inA = /* @__PURE__ */ new Map(); for (let set2 of a) for (let i = 0; i < set2.chunk.length; i++) if (set2.chunk[i].maxPoint <= 0) inA.set(set2.chunk[i], set2.chunkPos[i]); - let shared = new Set(); + let shared = /* @__PURE__ */ new Set(); for (let set2 of b) for (let i = 0; i < set2.chunk.length; i++) { let known = inA.get(set2.chunk[i]); @@ -81522,7 +83997,7 @@ def note_with_error(value, err): return this.from - other.from || this.startSide - other.startSide || this.rank - other.rank || this.to - other.to || this.endSide - other.endSide; } }; - var HeapCursor = class { + var HeapCursor = class _HeapCursor { constructor(heap) { this.heap = heap; } @@ -81534,7 +84009,7 @@ def note_with_error(value, err): heap.push(new LayerCursor(cur, skip2, minPoint, i)); } } - return heap.length == 1 ? heap[0] : new HeapCursor(heap); + return heap.length == 1 ? heap[0] : new _HeapCursor(heap); } get startSide() { return this.value ? this.value.startSide : 0; @@ -81636,6 +84111,8 @@ def note_with_error(value, err): insert(trackOpen, i, this.cursor.from); this.minActive = findMinIndex(this.active, this.activeTo); } + // After calling this, if `this.point` != null, the next range is a + // point. Otherwise, it's a regular range, covered by `this.active`. next() { let from17 = this.to, wasPoint = this.point; this.point = null; @@ -81784,6 +84261,11 @@ def note_with_error(value, err): var SET = typeof Symbol == "undefined" ? "__styleSet" + Math.floor(Math.random() * 1e8) : Symbol("styleSet"); var top = typeof globalThis != "undefined" ? globalThis : typeof window != "undefined" ? window : {}; var StyleModule = class { + // :: (Object`);const e=this.attachShadow({mode:\"open\"});e.appendChild(t.content.cloneNode(true));e.addEventListener(\"move\",this);this[VE]=this[jE].map((t=>new t(e)))}connectedCallback(){if(this.hasOwnProperty(\"color\")){const t=this.color;delete this[\"color\"];this.color=t}else if(!this.color){this.color=this.colorModel.defaultColor}}attributeChangedCallback(t,e,n){const o=this.colorModel.fromAttr(n);if(!this[LE](o)){this.color=o}}handleEvent(t){const e=this[OE];const n={...e,...t.detail};this[RE](n);let o;if(!kE(n,e)&&!this[LE](o=this.colorModel.fromHsva(n))){this[zE]=o;vE(this,\"color-changed\",{value:o})}}[LE](t){return this.color&&this.colorModel.equal(t,this.color)}[RE](t){this[OE]=t;this[VE].forEach((e=>e.update(t)))}}const UE={defaultColor:\"#000\",toHsva:Gx,fromHsva:({h:t,s:e,v:n})=>Jx({h:t,s:e,v:n,a:1}),equal:AE,fromAttr:t=>t};class WE extends HE{get colorModel(){return UE}}var qE=n(3019);var GE={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};GE.insert=\"head\";GE.singleton=true;var $E=Ld()(qE.A,GE);const KE=qE.A.locals||{};const YE=150;class QE extends ov{constructor(t,e={}){super(t);this.set({color:\"\",_hexColor:\"\"});this.hexInputRow=this._createInputRow();const n=this.createCollection();if(!e.hideInput){n.add(this.hexInputRow)}this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-color-picker\"],tabindex:-1},children:n});this._config=e;this._debounceColorPickerEvent=kg((t=>{this.set(\"color\",t);this.fire(\"colorSelected\",{color:this.color})}),YE,{leading:true});this.on(\"set:color\",((t,e,n)=>{t.return=sy(n,this._config.format||\"hsl\")}));this.on(\"change:color\",(()=>{this._hexColor=ZE(this.color)}));this.on(\"change:_hexColor\",(()=>{if(document.activeElement!==this.picker){this.picker.setAttribute(\"color\",this._hexColor)}if(ZE(this.color)!=ZE(this._hexColor)){this.color=this._hexColor}}))}render(){super.render();cy(\"hex-color-picker\",WE);this.picker=oc.document.createElement(\"hex-color-picker\");this.picker.setAttribute(\"class\",\"hex-color-picker\");this.picker.setAttribute(\"tabindex\",\"-1\");this._createSlidersView();if(this.element){if(this.hexInputRow.element){this.element.insertBefore(this.picker,this.hexInputRow.element)}else{this.element.appendChild(this.picker)}const t=document.createElement(\"style\");t.textContent='[role=\"slider\"]:focus [part$=\"pointer\"] {'+\"border: 1px solid #fff;\"+\"outline: 1px solid var(--ck-color-focus-border);\"+\"box-shadow: 0 0 0 2px #fff;\"+\"}\";this.picker.shadowRoot.appendChild(t)}this.picker.addEventListener(\"color-changed\",(t=>{const e=t.detail.value;this._debounceColorPickerEvent(e)}))}focus(){if(!this._config.hideInput&&(l.isGecko||l.isiOS||l.isSafari)){const t=this.hexInputRow.children.get(1);t.focus()}const t=this.slidersView.first;t.focus()}_createSlidersView(){const t=[...this.picker.shadowRoot.children];const e=t.filter((t=>t.getAttribute(\"role\")===\"slider\"));const n=e.map((t=>{const e=new JE(t);return e}));this.slidersView=this.createCollection();n.forEach((t=>{this.slidersView.add(t)}))}_createInputRow(){const t=new XE;const e=this._createColorInput();return new tD(this.locale,[t,e])}_createColorInput(){const t=new py(this.locale,Vx);const{t:e}=this.locale;t.set({label:e(\"HEX\"),class:\"color-picker-hex-input\"});t.fieldView.bind(\"value\").to(this,\"_hexColor\",(e=>{if(t.isFocused){return t.fieldView.value}else{return e.startsWith(\"#\")?e.substring(1):e}}));t.fieldView.on(\"input\",(()=>{const e=t.fieldView.element.value;if(e){const t=e.trim();const n=t.startsWith(\"#\")?t.substring(1):t;const o=[3,4,6,8].includes(n.length)&&/(([0-9a-fA-F]{2}){3,4}|([0-9a-fA-F]){3,4})/.test(n);if(o){this._debounceColorPickerEvent(\"#\"+n)}}}));return t}}function ZE(t){let e=ay(t);if(!e){e=\"#000\"}if(e.length===4){e=\"#\"+[e[1],e[1],e[2],e[2],e[3],e[3]].join(\"\")}return e.toLowerCase()}class JE extends ov{constructor(t){super();this.element=t}focus(){this.element.focus()}}class XE extends ov{constructor(t){super(t);this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-color-picker__hash-view\"]},children:\"#\"})}}class tD extends ov{constructor(t,e){super(t);this.children=this.createCollection(e);this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-color-picker__row\"]},children:this.children})}}class eD extends(mt(rd)){constructor(t){super(t);this.set(\"isEmpty\",true);this.on(\"change\",(()=>{this.set(\"isEmpty\",this.length===0)}))}add(t,e){if(this.find((e=>e.color===t.color))){return this}return super.add(t,e)}hasColor(t){return!!this.find((e=>e.color===t))}}const{eraser:nD,colorPalette:oD}=CC;class iD extends ov{constructor(t,{colors:e,columns:n,removeButtonLabel:o,documentColorsLabel:i,documentColorsCount:r,colorPickerLabel:s,focusTracker:a,focusables:c}){super(t);const l=this.bindTemplate;this.set(\"isVisible\",true);this.focusTracker=a;this.items=this.createCollection();this.colorDefinitions=e;this.columns=n;this.documentColors=new eD;this.documentColorsCount=r;this._focusables=c;this._removeButtonLabel=o;this._colorPickerLabel=s;this._documentColorsLabel=i;this.setTemplate({tag:\"div\",attributes:{class:[\"ck-color-grids-fragment\",l.if(\"isVisible\",\"ck-hidden\",(t=>!t))]},children:this.items});this.removeColorButtonView=this._createRemoveColorButton();this.items.add(this.removeColorButtonView)}updateDocumentColors(t,e){const n=t.document;const o=this.documentColorsCount;this.documentColors.clear();for(const i of n.getRoots()){const n=t.createRangeIn(i);for(const t of n.getItems()){if(t.is(\"$textProxy\")&&t.hasAttribute(e)){this._addColorToDocumentColors(t.getAttribute(e));if(this.documentColors.length>=o){return}}}}}updateSelectedColors(){const t=this.documentColorsGrid;const e=this.staticColorsGrid;const n=this.selectedColor;e.selectedColor=n;if(t){t.selectedColor=n}}render(){super.render();this.staticColorsGrid=this._createStaticColorsGrid();this.items.add(this.staticColorsGrid);if(this.documentColorsCount){const t=EC.bind(this.documentColors,this.documentColors);const e=new cv(this.locale);e.text=this._documentColorsLabel;e.extendTemplate({attributes:{class:[\"ck\",\"ck-color-grid__label\",t.if(\"isEmpty\",\"ck-hidden\")]}});this.items.add(e);this.documentColorsGrid=this._createDocumentColorsGrid();this.items.add(this.documentColorsGrid)}this._createColorPickerButton();this._addColorSelectorElementsToFocusTracker()}focus(){this.removeColorButtonView.focus()}destroy(){super.destroy()}addColorPickerButton(){if(this.colorPickerButtonView){this.items.add(this.colorPickerButtonView);this.focusTracker.add(this.colorPickerButtonView.element);this._focusables.add(this.colorPickerButtonView)}}_addColorSelectorElementsToFocusTracker(){this.focusTracker.add(this.removeColorButtonView.element);this._focusables.add(this.removeColorButtonView);if(this.staticColorsGrid){this.focusTracker.add(this.staticColorsGrid.element);this._focusables.add(this.staticColorsGrid)}if(this.documentColorsGrid){this.focusTracker.add(this.documentColorsGrid.element);this._focusables.add(this.documentColorsGrid)}}_createColorPickerButton(){this.colorPickerButtonView=new Sv;this.colorPickerButtonView.set({label:this._colorPickerLabel,withText:true,icon:oD,class:\"ck-color-selector__color-picker\"});this.colorPickerButtonView.on(\"execute\",(()=>{this.fire(\"colorPicker:show\")}))}_createRemoveColorButton(){const t=new Sv;t.set({withText:true,icon:nD,label:this._removeButtonLabel});t.class=\"ck-color-selector__remove-color\";t.on(\"execute\",(()=>{this.fire(\"execute\",{value:null,source:\"removeColorButton\"})}));t.render();return t}_createStaticColorsGrid(){const t=new Xv(this.locale,{colorDefinitions:this.colorDefinitions,columns:this.columns});t.on(\"execute\",((t,e)=>{this.fire(\"execute\",{value:e.value,source:\"staticColorsGrid\"})}));return t}_createDocumentColorsGrid(){const t=EC.bind(this.documentColors,this.documentColors);const e=new Xv(this.locale,{columns:this.columns});e.extendTemplate({attributes:{class:t.if(\"isEmpty\",\"ck-hidden\")}});e.items.bindTo(this.documentColors).using((t=>{const e=new Kv;e.set({color:t.color,hasBorder:t.options&&t.options.hasBorder});if(t.label){e.set({label:t.label,tooltip:true})}e.on(\"execute\",(()=>{this.fire(\"execute\",{value:t.color,source:\"documentColorsGrid\"})}));return e}));this.documentColors.on(\"change:isEmpty\",((t,n,o)=>{if(o){e.selectedColor=null}}));return e}_addColorToDocumentColors(t){const e=this.colorDefinitions.find((e=>e.color===t));if(!e){this.documentColors.add({color:t,label:t,options:{hasBorder:false}})}else{this.documentColors.add(Object.assign({},e))}}}class rD extends ov{constructor(t,{focusTracker:e,focusables:n,keystrokes:o,colorPickerViewConfig:i}){super(t);this.items=this.createCollection();this.focusTracker=e;this.keystrokes=o;this.set(\"isVisible\",false);this.set(\"selectedColor\",undefined);this._focusables=n;this._colorPickerViewConfig=i;const r=this.bindTemplate;const{saveButtonView:s,cancelButtonView:a}=this._createActionButtons();this.saveButtonView=s;this.cancelButtonView=a;this.actionBarView=this._createActionBarView({saveButtonView:s,cancelButtonView:a});this.setTemplate({tag:\"div\",attributes:{class:[\"ck-color-picker-fragment\",r.if(\"isVisible\",\"ck-hidden\",(t=>!t))]},children:this.items})}render(){super.render();const t=new QE(this.locale,{...this._colorPickerViewConfig});this.colorPickerView=t;this.colorPickerView.render();if(this.selectedColor){t.color=this.selectedColor}this.listenTo(this,\"change:selectedColor\",((e,n,o)=>{t.color=o}));this.items.add(this.colorPickerView);this.items.add(this.actionBarView);this._addColorPickersElementsToFocusTracker();this._stopPropagationOnArrowsKeys();this._executeOnEnterPress();this._executeUponColorChange()}destroy(){super.destroy()}focus(){this.colorPickerView.focus()}_executeOnEnterPress(){this.keystrokes.set(\"enter\",(t=>{if(this.isVisible&&this.focusTracker.focusedElement!==this.cancelButtonView.element){this.fire(\"execute\",{value:this.selectedColor});t.stopPropagation();t.preventDefault()}}))}_stopPropagationOnArrowsKeys(){const t=t=>t.stopPropagation();this.keystrokes.set(\"arrowright\",t);this.keystrokes.set(\"arrowleft\",t);this.keystrokes.set(\"arrowup\",t);this.keystrokes.set(\"arrowdown\",t)}_addColorPickersElementsToFocusTracker(){for(const t of this.colorPickerView.slidersView){this.focusTracker.add(t.element);this._focusables.add(t)}const t=this.colorPickerView.hexInputRow.children.get(1);if(t.element){this.focusTracker.add(t.element);this._focusables.add(t)}this.focusTracker.add(this.saveButtonView.element);this._focusables.add(this.saveButtonView);this.focusTracker.add(this.cancelButtonView.element);this._focusables.add(this.cancelButtonView)}_createActionBarView({saveButtonView:t,cancelButtonView:e}){const n=new ov;const o=this.createCollection();o.add(t);o.add(e);n.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-color-selector_action-bar\"]},children:o});return n}_createActionButtons(){const t=this.locale;const e=t.t;const n=new Sv(t);const o=new Sv(t);n.set({icon:CC.check,class:\"ck-button-save\",type:\"button\",withText:false,label:e(\"Accept\")});o.set({icon:CC.cancel,class:\"ck-button-cancel\",type:\"button\",withText:false,label:e(\"Cancel\")});n.on(\"execute\",(()=>{this.fire(\"execute\",{source:\"colorPickerSaveButton\",value:this.selectedColor})}));o.on(\"execute\",(()=>{this.fire(\"colorPicker:cancel\")}));return{saveButtonView:n,cancelButtonView:o}}_executeUponColorChange(){this.colorPickerView.on(\"colorSelected\",((t,e)=>{this.fire(\"execute\",{value:e.color,source:\"colorPicker\"});this.set(\"selectedColor\",e.color)}))}}var sD=n(2927);var aD={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};aD.insert=\"head\";aD.singleton=true;var cD=Ld()(sD.A,aD);const lD=sD.A.locals||{};class dD extends ov{constructor(t,{colors:e,columns:n,removeButtonLabel:o,documentColorsLabel:i,documentColorsCount:r,colorPickerLabel:s,colorPickerViewConfig:a}){super(t);this.items=this.createCollection();this.focusTracker=new ad;this.keystrokes=new cd;this._focusables=new vC;this._colorPickerViewConfig=a;this._focusCycler=new Fy({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this.colorGridsFragmentView=new iD(t,{colors:e,columns:n,removeButtonLabel:o,documentColorsLabel:i,documentColorsCount:r,colorPickerLabel:s,focusTracker:this.focusTracker,focusables:this._focusables});this.colorPickerFragmentView=new rD(t,{focusables:this._focusables,focusTracker:this.focusTracker,keystrokes:this.keystrokes,colorPickerViewConfig:a});this.set(\"_isColorGridsFragmentVisible\",true);this.set(\"_isColorPickerFragmentVisible\",false);this.set(\"selectedColor\",undefined);this.colorGridsFragmentView.bind(\"isVisible\").to(this,\"_isColorGridsFragmentVisible\");this.colorPickerFragmentView.bind(\"isVisible\").to(this,\"_isColorPickerFragmentVisible\");this.on(\"change:selectedColor\",((t,e,n)=>{this.colorGridsFragmentView.set(\"selectedColor\",n);this.colorPickerFragmentView.set(\"selectedColor\",n)}));this.colorGridsFragmentView.on(\"change:selectedColor\",((t,e,n)=>{this.set(\"selectedColor\",n)}));this.colorPickerFragmentView.on(\"change:selectedColor\",((t,e,n)=>{this.set(\"selectedColor\",n)}));this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-color-selector\"]},children:this.items})}render(){super.render();this.keystrokes.listenTo(this.element)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}appendUI(){this._appendColorGridsFragment();if(this._colorPickerViewConfig){this._appendColorPickerFragment()}}showColorPickerFragment(){if(!this.colorPickerFragmentView.colorPickerView||this._isColorPickerFragmentVisible){return}this._isColorPickerFragmentVisible=true;this.colorPickerFragmentView.focus();this._isColorGridsFragmentVisible=false}showColorGridsFragment(){if(this._isColorGridsFragmentVisible){return}this._isColorGridsFragmentVisible=true;this.colorGridsFragmentView.focus();this._isColorPickerFragmentVisible=false}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}updateDocumentColors(t,e){this.colorGridsFragmentView.updateDocumentColors(t,e)}updateSelectedColors(){this.colorGridsFragmentView.updateSelectedColors()}_appendColorGridsFragment(){if(this.items.length){return}this.items.add(this.colorGridsFragmentView);this.colorGridsFragmentView.delegate(\"execute\").to(this);this.colorGridsFragmentView.delegate(\"colorPicker:show\").to(this)}_appendColorPickerFragment(){if(this.items.length===2){return}this.items.add(this.colorPickerFragmentView);if(this.colorGridsFragmentView.colorPickerButtonView){this.colorGridsFragmentView.colorPickerButtonView.on(\"execute\",(()=>{this.showColorPickerFragment()}))}this.colorGridsFragmentView.addColorPickerButton();this.colorPickerFragmentView.delegate(\"execute\").to(this);this.colorPickerFragmentView.delegate(\"colorPicker:cancel\").to(this)}}class uD{constructor(t){this._components=new Map;this.editor=t}*names(){for(const t of this._components.values()){yield t.originalName}}add(t,e){this._components.set(hD(t),{callback:e,originalName:t})}create(t){if(!this.has(t)){throw new N(\"componentfactory-item-missing\",this,{name:t})}return this._components.get(hD(t)).callback(this.editor.locale)}has(t){return this._components.has(hD(t))}}function hD(t){return String(t).toLowerCase()}var mD=n(8379);var gD={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};gD.insert=\"head\";gD.singleton=true;var fD=Ld()(mD.A,gD);const pD=mD.A.locals||{};class bD extends ov{constructor(t,e={}){super(t);const n=this.bindTemplate;this.set(\"label\",e.label||\"\");this.set(\"class\",e.class||null);this.children=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-form__header\",n.to(\"class\")]},children:this.children});if(e.icon){this.iconView=new yv;this.iconView.content=e.icon;this.children.add(this.iconView)}const o=new ov(t);o.setTemplate({tag:\"h2\",attributes:{class:[\"ck\",\"ck-form__header__label\"],role:\"presentation\"},children:[{text:n.to(\"label\")}]});this.children.add(o)}}function kD(t){class e extends t{constructor(...t){super(...t);this._onDragBound=this._onDrag.bind(this);this._onDragEndBound=this._onDragEnd.bind(this);this._lastDraggingCoordinates={x:0,y:0};this.on(\"render\",(()=>{this._attachListeners()}));this.set(\"isDragging\",false)}_attachListeners(){this.listenTo(this.element,\"mousedown\",this._onDragStart.bind(this));this.listenTo(this.element,\"touchstart\",this._onDragStart.bind(this))}_attachDragListeners(){this.listenTo(oc.document,\"mouseup\",this._onDragEndBound);this.listenTo(oc.document,\"touchend\",this._onDragEndBound);this.listenTo(oc.document,\"mousemove\",this._onDragBound);this.listenTo(oc.document,\"touchmove\",this._onDragBound)}_detachDragListeners(){this.stopListening(oc.document,\"mouseup\",this._onDragEndBound);this.stopListening(oc.document,\"touchend\",this._onDragEndBound);this.stopListening(oc.document,\"mousemove\",this._onDragBound);this.stopListening(oc.document,\"touchmove\",this._onDragBound)}_onDragStart(t,e){if(!this._isHandleElementPressed(e)){return}this._attachDragListeners();let n=0;let o=0;if(e instanceof MouseEvent){n=e.clientX;o=e.clientY}else{n=e.touches[0].clientX;o=e.touches[0].clientY}this._lastDraggingCoordinates={x:n,y:o};this.isDragging=true}_onDrag(t,e){if(!this.isDragging){this._detachDragListeners();return}let n=0;let o=0;if(e instanceof MouseEvent){n=e.clientX;o=e.clientY}else{n=e.touches[0].clientX;o=e.touches[0].clientY}e.preventDefault();this.fire(\"drag\",{deltaX:Math.round(n-this._lastDraggingCoordinates.x),deltaY:Math.round(o-this._lastDraggingCoordinates.y)});this._lastDraggingCoordinates={x:n,y:o}}_onDragEnd(){this._detachDragListeners();this.isDragging=false}_isHandleElementPressed(t){if(!this.dragHandleElement){return false}return this.dragHandleElement===t.target||t.target instanceof HTMLElement&&this.dragHandleElement.contains(t.target)}}return e}var wD=n(7748);var AD={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};AD.insert=\"head\";AD.singleton=true;var _D=Ld()(wD.A,AD);const CD=wD.A.locals||{};class vD extends ov{constructor(t){super(t);this.children=this.createCollection();this.keystrokes=new cd;this._focusTracker=new ad;this._focusables=new vC;this.focusCycler=new Fy({focusables:this._focusables,focusTracker:this._focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-dialog__actions\"]},children:this.children})}render(){super.render();this.keystrokes.listenTo(this.element)}setButtons(t){for(const e of t){const t=new Sv(this.locale);let n;t.on(\"execute\",(()=>e.onExecute()));if(e.onCreate){e.onCreate(t)}for(n in e){if(n!=\"onExecute\"&&n!=\"onCreate\"){t.set(n,e[n])}}this.children.add(t)}this._updateFocusCyclableItems()}focus(t){if(t===-1){this.focusCycler.focusLast()}else{this.focusCycler.focusFirst()}}_updateFocusCyclableItems(){Array.from(this.children).forEach((t=>{this._focusables.add(t);this._focusTracker.add(t.element)}))}}class yD extends ov{constructor(t){super(t);this.children=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-dialog__content\"]},children:this.children})}reset(){while(this.children.length){this.children.remove(0)}}}var xD=n(7197);var ED={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};ED.insert=\"head\";ED.singleton=true;var DD=Ld()(xD.A,ED);const ID=xD.A.locals||{};const TD={SCREEN_CENTER:\"screen-center\",EDITOR_CENTER:\"editor-center\",EDITOR_TOP_SIDE:\"editor-top-side\",EDITOR_TOP_CENTER:\"editor-top-center\",EDITOR_BOTTOM_CENTER:\"editor-bottom-center\",EDITOR_ABOVE_CENTER:\"editor-above-center\",EDITOR_BELOW_CENTER:\"editor-below-center\"};const SD=Cc(\"px\");class BD extends(kD(ov)){constructor(t,{getCurrentDomRoot:e,getViewportOffset:n}){super(t);this.wasMoved=false;const o=this.bindTemplate;const i=t.t;this.set(\"className\",\"\");this.set(\"ariaLabel\",i(\"Editor dialog\"));this.set(\"isModal\",false);this.set(\"position\",TD.SCREEN_CENTER);this.set(\"_isVisible\",false);this.set(\"_isTransparent\",false);this.set(\"_top\",0);this.set(\"_left\",0);this._getCurrentDomRoot=e;this._getViewportOffset=n;this.decorate(\"moveTo\");this.parts=this.createCollection();this.keystrokes=new cd;this.focusTracker=new ad;this._focusables=new vC;this._focusCycler=new Fy({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-dialog-overlay\",o.if(\"isModal\",\"ck-dialog-overlay__transparent\",(t=>!t)),o.if(\"_isVisible\",\"ck-hidden\",(t=>!t))],tabindex:\"-1\"},children:[{tag:\"div\",attributes:{tabindex:\"-1\",class:[\"ck\",\"ck-dialog\",o.to(\"className\")],role:\"dialog\",\"aria-label\":o.to(\"ariaLabel\"),style:{top:o.to(\"_top\",(t=>SD(t))),left:o.to(\"_left\",(t=>SD(t))),visibility:o.if(\"_isTransparent\",\"hidden\")}},children:this.parts}]})}render(){super.render();this.keystrokes.set(\"Esc\",((t,e)=>{this.fire(\"close\",{source:\"escKeyPress\"});e()}));this.on(\"drag\",((t,{deltaX:e,deltaY:n})=>{this.wasMoved=true;this.moveBy(e,n)}));this.listenTo(oc.window,\"resize\",(()=>{if(this._isVisible&&!this.wasMoved){this.updatePosition()}}));this.listenTo(oc.document,\"scroll\",(()=>{if(this._isVisible&&!this.wasMoved){this.updatePosition()}}));this.on(\"change:_isVisible\",((t,e,n)=>{if(n){this._isTransparent=true;setTimeout((()=>{this.updatePosition();this._isTransparent=false;this.focus()}),10)}}));this.keystrokes.listenTo(this.element)}get dragHandleElement(){if(this.headerView){return this.headerView.element}else{return null}}setupParts({icon:t,title:e,hasCloseButton:n=true,content:o,actionButtons:i}){if(e){this.headerView=new bD(this.locale,{icon:t});if(n){this.closeButtonView=this._createCloseButton();this.headerView.children.add(this.closeButtonView)}this.headerView.label=e;this.ariaLabel=e;this.parts.add(this.headerView,0)}if(o){if(o instanceof ov){o=[o]}this.contentView=new yD(this.locale);this.contentView.children.addMany(o);this.parts.add(this.contentView)}if(i){this.actionsView=new vD(this.locale);this.actionsView.setButtons(i);this.parts.add(this.actionsView)}this._updateFocusCyclableItems()}focus(){this._focusCycler.focusFirst()}moveTo(t,e){const n=this._getViewportRect();const o=this._getDialogRect();if(t+o.width>n.right){t=n.right-o.width}if(t{this._focusables.add(t);this.focusTracker.add(t.element);if(Uy(t)){this.listenTo(t.focusCycler,\"forwardCycle\",(t=>{this._focusCycler.focusNext();if(this._focusCycler.next!==this._focusCycler.focusables.get(this._focusCycler.current)){t.stop()}}));this.listenTo(t.focusCycler,\"backwardCycle\",(t=>{this._focusCycler.focusPrevious();if(this._focusCycler.previous!==this._focusCycler.focusables.get(this._focusCycler.current)){t.stop()}}))}}))}_createCloseButton(){const t=new Sv(this.locale);const e=this.locale.t;t.set({label:e(\"Close\"),tooltip:true,icon:CC.cancel});t.on(\"execute\",(()=>this.fire(\"close\",{source:\"closeButton\"})));return t}}BD.defaultOffset=15;const MD=BD;function PD(t){t=Object.assign({top:0,bottom:0,left:0,right:0},t);const e=new hc(oc.window);e.top+=t.top;e.height-=t.top;e.bottom-=t.bottom;e.height-=t.bottom;e.left+=t.left;e.right-=t.right;e.width-=t.left+t.right;return e}class ND extends Ed{static get pluginName(){return\"Dialog\"}constructor(t){super(t);const e=t.t;this._initShowHideListeners();this._initFocusToggler();this._initMultiRootIntegration();this.set(\"id\",null);t.accessibility.addKeystrokeInfos({categoryId:\"navigation\",keystrokes:[{label:e(\"Move focus in and out of an active dialog window\"),keystroke:\"Ctrl+F6\",mayRequireFn:true}]})}_initShowHideListeners(){this.on(\"show\",((t,e)=>{this._show(e)}));this.on(\"show\",((t,e)=>{if(e.onShow){e.onShow(this)}}),{priority:\"low\"});this.on(\"hide\",(()=>{if(ND._visibleDialogPlugin){ND._visibleDialogPlugin._hide()}}));this.on(\"hide\",(()=>{if(this._onHide){this._onHide(this);this._onHide=undefined}}),{priority:\"low\"})}_initFocusToggler(){const t=this.editor;t.keystrokes.set(\"Ctrl+F6\",((e,n)=>{if(!this.isOpen||this.view.isModal){return}if(this.view.focusTracker.isFocused){t.editing.view.focus()}else{this.view.focus()}n()}))}_initMultiRootIntegration(){const t=this.editor.model;t.document.on(\"change:data\",(()=>{if(!this.view){return}const e=t.document.differ.getChangedRoots();for(const t of e){if(t.state){this.view.updatePosition()}}}))}show(t){this.hide();this.fire(`show:${t.id}`,t)}_show({id:t,icon:e,title:n,hasCloseButton:o=true,content:i,actionButtons:r,className:s,isModal:a,position:c,onHide:l}){const d=this.editor;this.view=new MD(d.locale,{getCurrentDomRoot:()=>d.editing.view.getDomRoot(d.model.document.selection.anchor.root.rootName),getViewportOffset:()=>d.ui.viewportOffset});const u=this.view;u.on(\"close\",(()=>{this.hide()}));d.ui.view.body.add(u);d.ui.focusTracker.add(u.element);d.keystrokes.listenTo(u.element);if(!c){c=a?TD.SCREEN_CENTER:TD.EDITOR_CENTER}u.set({position:c,_isVisible:true,className:s,isModal:a});u.setupParts({icon:e,title:n,hasCloseButton:o,content:i,actionButtons:r});this.id=t;if(l){this._onHide=l}this.isOpen=true;ND._visibleDialogPlugin=this}hide(){if(ND._visibleDialogPlugin){ND._visibleDialogPlugin.fire(`hide:${ND._visibleDialogPlugin.id}`)}}_hide(){if(!this.view){return}const t=this.editor;const e=this.view;if(e.contentView){e.contentView.reset()}t.ui.view.body.remove(e);t.ui.focusTracker.remove(e.element);t.keystrokes.stopListening(e.element);e.destroy();t.editing.view.focus();this.id=null;this.isOpen=false;ND._visibleDialogPlugin=null}}var LD=n(9316);var zD={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};zD.insert=\"head\";zD.singleton=true;var OD=Ld()(LD.A,zD);const RD=LD.A.locals||{};const VD=Cc(\"px\");const FD=oc.document.body;const jD={top:-99999,left:-99999,name:\"arrowless\",config:{withArrow:false}};class HD extends ov{constructor(t){super(t);const e=this.bindTemplate;this.set(\"top\",0);this.set(\"left\",0);this.set(\"position\",\"arrow_nw\");this.set(\"isVisible\",false);this.set(\"withArrow\",true);this.set(\"class\",undefined);this._pinWhenIsVisibleCallback=null;this.content=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-balloon-panel\",e.to(\"position\",(t=>`ck-balloon-panel_${t}`)),e.if(\"isVisible\",\"ck-balloon-panel_visible\"),e.if(\"withArrow\",\"ck-balloon-panel_with-arrow\"),e.to(\"class\")],style:{top:e.to(\"top\",VD),left:e.to(\"left\",VD)}},children:this.content})}show(){this.isVisible=true}hide(){this.isVisible=false}attachTo(t){this.show();const e=HD.defaultPositions;const n=Object.assign({},{element:this.element,positions:[e.southArrowNorth,e.southArrowNorthMiddleWest,e.southArrowNorthMiddleEast,e.southArrowNorthWest,e.southArrowNorthEast,e.northArrowSouth,e.northArrowSouthMiddleWest,e.northArrowSouthMiddleEast,e.northArrowSouthWest,e.northArrowSouthEast,e.viewportStickyNorth],limiter:FD,fitInViewport:true},t);const o=HD._getOptimalPosition(n)||jD;const i=parseInt(o.left);const r=parseInt(o.top);const s=o.name;const a=o.config||{};const{withArrow:c=true}=a;this.top=r;this.left=i;this.position=s;this.withArrow=c}pin(t){this.unpin();this._pinWhenIsVisibleCallback=()=>{if(this.isVisible){this._startPinning(t)}else{this._stopPinning()}};this._startPinning(t);this.listenTo(this,\"change:isVisible\",this._pinWhenIsVisibleCallback)}unpin(){if(this._pinWhenIsVisibleCallback){this._stopPinning();this.stopListening(this,\"change:isVisible\",this._pinWhenIsVisibleCallback);this._pinWhenIsVisibleCallback=null;this.hide()}}_startPinning(t){this.attachTo(t);const e=WD(t.target);const n=t.limiter?WD(t.limiter):FD;this.listenTo(oc.document,\"scroll\",((o,i)=>{const r=i.target;const s=e&&r.contains(e);const a=n&&r.contains(n);if(s||a||!e||!n){this.attachTo(t)}}),{useCapture:true});this.listenTo(oc.window,\"resize\",(()=>{this.attachTo(t)}))}_stopPinning(){this.stopListening(oc.document,\"scroll\");this.stopListening(oc.window,\"resize\")}}HD.arrowSideOffset=25;HD.arrowHeightOffset=10;HD.stickyVerticalOffset=20;HD._getOptimalPosition=Ic;HD.defaultPositions=qD();const UD=HD;function WD(t){if(qa(t)){return t}if(lc(t)){return t.commonAncestorContainer}if(typeof t==\"function\"){return WD(t())}return null}function qD(t={}){const{sideOffset:e=HD.arrowSideOffset,heightOffset:n=HD.arrowHeightOffset,stickyVerticalOffset:o=HD.stickyVerticalOffset,config:i}=t;return{northWestArrowSouthWest:(t,n)=>({top:r(t,n),left:t.left-e,name:\"arrow_sw\",...i&&{config:i}}),northWestArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.left-n.width*.25-e,name:\"arrow_smw\",...i&&{config:i}}),northWestArrowSouth:(t,e)=>({top:r(t,e),left:t.left-e.width/2,name:\"arrow_s\",...i&&{config:i}}),northWestArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.left-n.width*.75+e,name:\"arrow_sme\",...i&&{config:i}}),northWestArrowSouthEast:(t,n)=>({top:r(t,n),left:t.left-n.width+e,name:\"arrow_se\",...i&&{config:i}}),northArrowSouthWest:(t,n)=>({top:r(t,n),left:t.left+t.width/2-e,name:\"arrow_sw\",...i&&{config:i}}),northArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.left+t.width/2-n.width*.25-e,name:\"arrow_smw\",...i&&{config:i}}),northArrowSouth:(t,e)=>({top:r(t,e),left:t.left+t.width/2-e.width/2,name:\"arrow_s\",...i&&{config:i}}),northArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.left+t.width/2-n.width*.75+e,name:\"arrow_sme\",...i&&{config:i}}),northArrowSouthEast:(t,n)=>({top:r(t,n),left:t.left+t.width/2-n.width+e,name:\"arrow_se\",...i&&{config:i}}),northEastArrowSouthWest:(t,n)=>({top:r(t,n),left:t.right-e,name:\"arrow_sw\",...i&&{config:i}}),northEastArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.right-n.width*.25-e,name:\"arrow_smw\",...i&&{config:i}}),northEastArrowSouth:(t,e)=>({top:r(t,e),left:t.right-e.width/2,name:\"arrow_s\",...i&&{config:i}}),northEastArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.right-n.width*.75+e,name:\"arrow_sme\",...i&&{config:i}}),northEastArrowSouthEast:(t,n)=>({top:r(t,n),left:t.right-n.width+e,name:\"arrow_se\",...i&&{config:i}}),southWestArrowNorthWest:t=>({top:s(t),left:t.left-e,name:\"arrow_nw\",...i&&{config:i}}),southWestArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.left-n.width*.25-e,name:\"arrow_nmw\",...i&&{config:i}}),southWestArrowNorth:(t,e)=>({top:s(t),left:t.left-e.width/2,name:\"arrow_n\",...i&&{config:i}}),southWestArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.left-n.width*.75+e,name:\"arrow_nme\",...i&&{config:i}}),southWestArrowNorthEast:(t,n)=>({top:s(t),left:t.left-n.width+e,name:\"arrow_ne\",...i&&{config:i}}),southArrowNorthWest:t=>({top:s(t),left:t.left+t.width/2-e,name:\"arrow_nw\",...i&&{config:i}}),southArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.left+t.width/2-n.width*.25-e,name:\"arrow_nmw\",...i&&{config:i}}),southArrowNorth:(t,e)=>({top:s(t),left:t.left+t.width/2-e.width/2,name:\"arrow_n\",...i&&{config:i}}),southArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.left+t.width/2-n.width*.75+e,name:\"arrow_nme\",...i&&{config:i}}),southArrowNorthEast:(t,n)=>({top:s(t),left:t.left+t.width/2-n.width+e,name:\"arrow_ne\",...i&&{config:i}}),southEastArrowNorthWest:t=>({top:s(t),left:t.right-e,name:\"arrow_nw\",...i&&{config:i}}),southEastArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.right-n.width*.25-e,name:\"arrow_nmw\",...i&&{config:i}}),southEastArrowNorth:(t,e)=>({top:s(t),left:t.right-e.width/2,name:\"arrow_n\",...i&&{config:i}}),southEastArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.right-n.width*.75+e,name:\"arrow_nme\",...i&&{config:i}}),southEastArrowNorthEast:(t,n)=>({top:s(t),left:t.right-n.width+e,name:\"arrow_ne\",...i&&{config:i}}),westArrowEast:(t,e)=>({top:t.top+t.height/2-e.height/2,left:t.left-e.width-n,name:\"arrow_e\",...i&&{config:i}}),eastArrowWest:(t,e)=>({top:t.top+t.height/2-e.height/2,left:t.right+n,name:\"arrow_w\",...i&&{config:i}}),viewportStickyNorth:(t,e,n,r)=>{const s=r||n;if(!t.getIntersection(s)){return null}if(s.height-t.height>o){return null}return{top:s.top+o,left:t.left+t.width/2-e.width/2,name:\"arrowless\",config:{withArrow:false,...i}}}};function r(t,e){return t.top-e.height-n}function s(t){return t.bottom+n}}var GD=n(3935);var $D={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};$D.insert=\"head\";$D.singleton=true;var KD=Ld()(GD.A,$D);const YD=GD.A.locals||{};const QD=\"ck-tooltip\";class ZD extends(Ja()){constructor(t){super();this._currentElementWithTooltip=null;this._currentTooltipPosition=null;this._resizeObserver=null;this._mutationObserver=null;ZD._editors.add(t);if(ZD._instance){return ZD._instance}ZD._instance=this;this.tooltipTextView=new ov(t.locale);this.tooltipTextView.set(\"text\",\"\");this.tooltipTextView.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-tooltip__text\"]},children:[{text:this.tooltipTextView.bindTemplate.to(\"text\")}]});this.balloonPanelView=new UD(t.locale);this.balloonPanelView.class=QD;this.balloonPanelView.content.add(this.tooltipTextView);this._mutationObserver=eI((()=>{this._updateTooltipPosition()}));this._pinTooltipDebounced=kg(this._pinTooltip,600);this._unpinTooltipDebounced=kg(this._unpinTooltip,400);this.listenTo(oc.document,\"keydown\",this._onKeyDown.bind(this),{useCapture:true});this.listenTo(oc.document,\"mouseenter\",this._onEnterOrFocus.bind(this),{useCapture:true});this.listenTo(oc.document,\"mouseleave\",this._onLeaveOrBlur.bind(this),{useCapture:true});this.listenTo(oc.document,\"focus\",this._onEnterOrFocus.bind(this),{useCapture:true});this.listenTo(oc.document,\"blur\",this._onLeaveOrBlur.bind(this),{useCapture:true});this.listenTo(oc.document,\"scroll\",this._onScroll.bind(this),{useCapture:true});this._watchdogExcluded=true}destroy(t){const e=t.ui.view&&t.ui.view.body;ZD._editors.delete(t);this.stopListening(t.ui);if(e&&e.has(this.balloonPanelView)){e.remove(this.balloonPanelView)}if(!ZD._editors.size){this._unpinTooltip();this.balloonPanelView.destroy();this.stopListening();ZD._instance=null}}static getPositioningFunctions(t){const e=ZD.defaultBalloonPositions;return{s:[e.southArrowNorth,e.southArrowNorthEast,e.southArrowNorthWest],n:[e.northArrowSouth],e:[e.eastArrowWest],w:[e.westArrowEast],sw:[e.southArrowNorthEast],se:[e.southArrowNorthWest]}[t]}_onKeyDown(t,e){if(e.key===\"Escape\"&&this._currentElementWithTooltip){this._unpinTooltip();e.stopPropagation()}}_onEnterOrFocus(t,{target:e}){const n=XD(e);if(!n){if(t.name===\"focus\"){this._unpinTooltip()}return}if(n===this._currentElementWithTooltip){return}this._unpinTooltip();this._pinTooltipDebounced(n,tI(n))}_onLeaveOrBlur(t,{target:e,relatedTarget:n}){if(t.name===\"mouseleave\"){if(!qa(e)){return}const t=this.balloonPanelView.element;const o=t&&(t===n||t.contains(n));const i=!o&&e===t;if(o){this._unpinTooltipDebounced.cancel();return}if(!i&&this._currentElementWithTooltip&&e!==this._currentElementWithTooltip){return}const r=XD(e);const s=XD(n);if(i||r&&r!==s){this._unpinTooltipDebounced()}}else{if(this._currentElementWithTooltip&&e!==this._currentElementWithTooltip){return}this._unpinTooltipDebounced()}}_onScroll(t,{target:e}){if(!this._currentElementWithTooltip){return}if(e.contains(this.balloonPanelView.element)&&e.contains(this._currentElementWithTooltip)){return}this._unpinTooltip()}_pinTooltip(t,{text:e,position:n,cssClass:o}){this._unpinTooltip();const i=sd(ZD._editors.values()).ui.view.body;if(!i.has(this.balloonPanelView)){i.add(this.balloonPanelView)}this.tooltipTextView.text=e;this.balloonPanelView.pin({target:t,positions:ZD.getPositioningFunctions(n)});this._resizeObserver=new Ac(t,(()=>{if(!Dc(t)){this._unpinTooltip()}}));this._mutationObserver.attach(t);this.balloonPanelView.class=[QD,o].filter((t=>t)).join(\" \");for(const t of ZD._editors){this.listenTo(t.ui,\"update\",this._updateTooltipPosition.bind(this),{priority:\"low\"})}this._currentElementWithTooltip=t;this._currentTooltipPosition=n}_unpinTooltip(){this._unpinTooltipDebounced.cancel();this._pinTooltipDebounced.cancel();this.balloonPanelView.unpin();for(const t of ZD._editors){this.stopListening(t.ui,\"update\")}this._currentElementWithTooltip=null;this._currentTooltipPosition=null;this.tooltipTextView.text=\"\";if(this._resizeObserver){this._resizeObserver.destroy()}this._mutationObserver.detach()}_updateTooltipPosition(){const t=tI(this._currentElementWithTooltip);if(!Dc(this._currentElementWithTooltip)||!t.text){this._unpinTooltip();return}this.balloonPanelView.pin({target:this._currentElementWithTooltip,positions:ZD.getPositioningFunctions(t.position)})}}ZD.defaultBalloonPositions=qD({heightOffset:5,sideOffset:13});ZD._editors=new Set;ZD._instance=null;const JD=ZD;function XD(t){if(!qa(t)){return null}return t.closest(\"[data-cke-tooltip-text]:not([data-cke-tooltip-disabled])\")}function tI(t){return{text:t.dataset.ckeTooltipText,position:t.dataset.ckeTooltipPosition||\"s\",cssClass:t.dataset.ckeTooltipClass||\"\"}}function eI(t){const e=new MutationObserver((()=>{t()}));return{attach(t){e.observe(t,{attributes:true,attributeFilter:[\"data-cke-tooltip-text\",\"data-cke-tooltip-position\"]})},detach(){e.disconnect()}}}var nI=\"Expected a function\";function oI(t,e,n){var o=true,i=true;if(typeof t!=\"function\"){throw new TypeError(nI)}if(st(n)){o=\"leading\"in n?!!n.leading:o;i=\"trailing\"in n?!!n.trailing:i}return kg(t,e,{leading:o,maxWait:e,trailing:i})}const iI=oI;const rI='\\n';const sI=53;const aI=10;const cI=50;const lI=350;const dI=\"Powered by\";class uI extends(Ja()){constructor(t){super();this.editor=t;this._balloonView=null;this._lastFocusedEditableElement=null;this._showBalloonThrottled=iI(this._showBalloon.bind(this),50,{leading:true});t.on(\"ready\",this._handleEditorReady.bind(this))}destroy(){const t=this._balloonView;if(t){t.unpin();this._balloonView=null}this._showBalloonThrottled.cancel();this.stopListening()}_handleEditorReady(){const t=this.editor;const e=!!t.config.get(\"ui.poweredBy.forceVisible\");if(!e&&bd(t.config.get(\"licenseKey\"))===\"VALID\"){return}if(!t.ui.view){return}t.ui.focusTracker.on(\"change:isFocused\",((t,e,n)=>{this._updateLastFocusedEditableElement();if(n){this._showBalloon()}else{this._hideBalloon()}}));t.ui.focusTracker.on(\"change:focusedElement\",((t,e,n)=>{this._updateLastFocusedEditableElement();if(n){this._showBalloon()}}));t.ui.on(\"update\",(()=>{this._showBalloonThrottled()}))}_createBalloonView(){const t=this.editor;const e=this._balloonView=new UD;const n=bI(t);const o=new hI(t.locale,n.label);e.content.add(o);e.set({class:\"ck-powered-by-balloon\"});t.ui.view.body.add(e);t.ui.focusTracker.add(e.element);this._balloonView=e}_showBalloon(){if(!this._lastFocusedEditableElement){return}const t=mI(this.editor,this._lastFocusedEditableElement);if(t){if(!this._balloonView){this._createBalloonView()}this._balloonView.pin(t)}}_hideBalloon(){if(this._balloonView){this._balloonView.unpin()}}_updateLastFocusedEditableElement(){const t=this.editor;const e=t.ui.focusTracker.isFocused;const n=t.ui.focusTracker.focusedElement;if(!e||!n){this._lastFocusedEditableElement=null;return}const o=Array.from(t.ui.getEditableElementsNames()).map((e=>t.ui.getEditableElement(e)));if(o.includes(n)){this._lastFocusedEditableElement=n}else{this._lastFocusedEditableElement=o[0]}}}class hI extends ov{constructor(t,e){super(t);const n=new yv;const o=this.bindTemplate;n.set({content:rI,isColorInherited:false});n.extendTemplate({attributes:{style:{width:sI+\"px\",height:aI+\"px\"}}});this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-powered-by\"],\"aria-hidden\":true},children:[{tag:\"a\",attributes:{href:\"https://ckeditor.com/?utm_source=ckeditor&\"+\"utm_medium=referral&utm_campaign=701Dn000000hVgmIAE_powered_by_ckeditor_logo\",target:\"_blank\",tabindex:\"-1\"},children:[...e?[{tag:\"span\",attributes:{class:[\"ck\",\"ck-powered-by__label\"]},children:[e]}]:[],n],on:{dragstart:o.to((t=>t.preventDefault()))}}]})}}function mI(t,e){const n=bI(t);const o=n.side===\"right\"?gI(e,n):fI(e,n);return{target:e,positions:[o]}}function gI(t,e){return pI(t,e,((t,n)=>t.left+t.width-n.width-e.horizontalOffset))}function fI(t,e){return pI(t,e,(t=>t.left+e.horizontalOffset))}function pI(t,e,n){return(o,i)=>{const r=new hc(t);if(r.widthe.regionName===t));if(!i){i=new xI(this.view.locale);this.view.regionViews.add(i)}i.set({regionName:t,text:e,politeness:n})}}class yI extends ov{constructor(t){super(t);this.regionViews=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-aria-live-announcer\"]},children:this.regionViews})}}class xI extends ov{constructor(t){super(t);const e=this.bindTemplate;this.set(\"regionName\",\"\");this.set(\"text\",\"\");this.set(\"politeness\",CI.POLITE);this.setTemplate({tag:\"div\",attributes:{role:\"region\",\"data-region\":e.to(\"regionName\"),\"aria-live\":e.to(\"politeness\")},children:[{text:e.to(\"text\")}]})}}class EI extends(mt()){constructor(t){super();this.isReady=false;this._editableElementsMap=new Map;this._focusableToolbarDefinitions=[];const e=t.editing.view;this.editor=t;this.componentFactory=new uD(t);this.focusTracker=new ad;this.tooltipManager=new JD(t);this.poweredBy=new uI(t);this.ariaLiveAnnouncer=new vI(t);this.set(\"viewportOffset\",this._readViewportOffsetFromConfig());this.once(\"ready\",(()=>{this.isReady=true}));this.listenTo(e.document,\"layoutChanged\",this.update.bind(this));this.listenTo(e,\"scrollToTheSelection\",this._handleScrollToTheSelection.bind(this));this._initFocusTracking()}get element(){return null}update(){this.fire(\"update\")}destroy(){this.stopListening();this.focusTracker.destroy();this.tooltipManager.destroy(this.editor);this.poweredBy.destroy();for(const t of this._editableElementsMap.values()){t.ckeditorInstance=null;this.editor.keystrokes.stopListening(t)}this._editableElementsMap=new Map;this._focusableToolbarDefinitions=[]}setEditableElement(t,e){this._editableElementsMap.set(t,e);if(!e.ckeditorInstance){e.ckeditorInstance=this.editor}this.focusTracker.add(e);const n=()=>{if(this.editor.editing.view.getDomRoot(t)){return}this.editor.keystrokes.listenTo(e)};if(this.isReady){n()}else{this.once(\"ready\",n)}}removeEditableElement(t){const e=this._editableElementsMap.get(t);if(!e){return}this._editableElementsMap.delete(t);this.editor.keystrokes.stopListening(e);this.focusTracker.remove(e);e.ckeditorInstance=null}getEditableElement(t=\"main\"){return this._editableElementsMap.get(t)}getEditableElementsNames(){return this._editableElementsMap.keys()}addToolbar(t,e={}){if(t.isRendered){this.focusTracker.add(t.element);this.editor.keystrokes.listenTo(t.element)}else{t.once(\"render\",(()=>{this.focusTracker.add(t.element);this.editor.keystrokes.listenTo(t.element)}))}this._focusableToolbarDefinitions.push({toolbarView:t,options:e})}get _editableElements(){console.warn(\"editor-ui-deprecated-editable-elements: \"+\"The EditorUI#_editableElements property has been deprecated and will be removed in the near future.\",{editorUI:this});return this._editableElementsMap}_readViewportOffsetFromConfig(){const t=this.editor;const e=t.config.get(\"ui.viewportOffset\");if(e){return e}const n=t.config.get(\"toolbar.viewportTopOffset\");if(n){console.warn(\"editor-ui-deprecated-viewport-offset-config: \"+\"The `toolbar.vieportTopOffset` configuration option is deprecated. \"+\"It will be removed from future CKEditor versions. Use `ui.viewportOffset.top` instead.\");return{top:n}}return{top:0}}_initFocusTracking(){const t=this.editor;const e=t.editing.view;let n;let o;t.keystrokes.set(\"Alt+F10\",((t,i)=>{const r=this.focusTracker.focusedElement;if(Array.from(this._editableElementsMap.values()).includes(r)&&!Array.from(e.domRoots.values()).includes(r)){n=r}const s=this._getCurrentFocusedToolbarDefinition();if(!s||!o){o=this._getFocusableCandidateToolbarDefinitions()}for(let t=0;t{const i=this._getCurrentFocusedToolbarDefinition();if(!i){return}if(n){n.focus();n=null}else{t.editing.view.focus()}if(i.options.afterBlur){i.options.afterBlur()}o()}))}_getFocusableCandidateToolbarDefinitions(){const t=[];for(const e of this._focusableToolbarDefinitions){const{toolbarView:n,options:o}=e;if(Dc(n.element)||o.beforeFocus){t.push(e)}}t.sort(((t,e)=>DI(t)-DI(e)));return t}_getCurrentFocusedToolbarDefinition(){for(const t of this._focusableToolbarDefinitions){if(t.toolbarView.element&&t.toolbarView.element.contains(this.focusTracker.focusedElement)){return t}}return null}_focusFocusableCandidateToolbar(t){const{toolbarView:e,options:{beforeFocus:n}}=t;if(n){n()}if(!Dc(e.element)){return false}e.focus();return true}_handleScrollToTheSelection(t,e){const n={top:0,bottom:0,left:0,right:0,...this.viewportOffset};e.viewportOffset.top+=n.top;e.viewportOffset.bottom+=n.bottom;e.viewportOffset.left+=n.left;e.viewportOffset.right+=n.right}}function DI(t){const{toolbarView:e,options:n}=t;let o=10;if(Dc(e.element)){o--}if(n.isContextual){o--}return o}var II=n(5931);var TI={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};TI.insert=\"head\";TI.singleton=true;var SI=Ld()(II.A,TI);const BI=II.A.locals||{};class MI extends ov{constructor(t){super(t);this.body=new kv(t)}render(){super.render();this.body.attachToDom()}destroy(){this.body.detachFromDom();return super.destroy()}}class PI extends MI{constructor(t){super(t);this.top=this.createCollection();this.main=this.createCollection();this._voiceLabelView=this._createVoiceLabel();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-editor\",\"ck-rounded-corners\"],role:\"application\",dir:t.uiLanguageDirection,lang:t.uiLanguage,\"aria-labelledby\":this._voiceLabelView.id},children:[this._voiceLabelView,{tag:\"div\",attributes:{class:[\"ck\",\"ck-editor__top\",\"ck-reset_all\"],role:\"presentation\"},children:this.top},{tag:\"div\",attributes:{class:[\"ck\",\"ck-editor__main\"],role:\"presentation\"},children:this.main}]})}_createVoiceLabel(){const t=this.t;const e=new cv;e.text=t(\"Rich Text Editor\");e.extendTemplate({attributes:{class:\"ck-voice-label\"}});return e}}class NI extends ov{constructor(t,e,n){super(t);this.name=null;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-content\",\"ck-editor__editable\",\"ck-rounded-corners\"],lang:t.contentLanguage,dir:t.contentLanguageDirection}});this.set(\"isFocused\",false);this._editableElement=n;this._hasExternalElement=!!this._editableElement;this._editingView=e}render(){super.render();if(this._hasExternalElement){this.template.apply(this.element=this._editableElement)}else{this._editableElement=this.element}this.on(\"change:isFocused\",(()=>this._updateIsFocusedClasses()));this._updateIsFocusedClasses()}destroy(){if(this._hasExternalElement){this.template.revert(this._editableElement)}super.destroy()}get hasExternalElement(){return this._hasExternalElement}_updateIsFocusedClasses(){const t=this._editingView;if(t.isRenderingInProgress){n(this)}else{e(this)}function e(e){t.change((n=>{const o=t.document.getRoot(e.name);n.addClass(e.isFocused?\"ck-focused\":\"ck-blurred\",o);n.removeClass(e.isFocused?\"ck-blurred\":\"ck-focused\",o)}))}function n(o){t.once(\"change:isRenderingInProgress\",((t,i,r)=>{if(!r){e(o)}else{n(o)}}))}}}class LI extends NI{constructor(t,e,n,o={}){super(t,e,n);const i=t.t;this.extendTemplate({attributes:{role:\"textbox\",class:\"ck-editor__editable_inline\"}});this._generateLabel=o.label||(()=>i(\"Editor editing area: %0\",this.name))}render(){super.render();const t=this._editingView;t.change((e=>{const n=t.document.getRoot(this.name);e.setAttribute(\"aria-label\",this._generateLabel(this),n)}))}}class zI extends ov{constructor(t){super(t);const e=this.bindTemplate;this.setTemplate({tag:\"iframe\",attributes:{class:[\"ck\",\"ck-reset_all\"],sandbox:\"allow-same-origin allow-scripts\"},on:{load:e.to(\"loaded\")}})}render(){return new Promise((t=>{this.on(\"loaded\",t);return super.render()}))}}class OI extends Pd{static get pluginName(){return\"Notification\"}init(){this.on(\"show:warning\",((t,e)=>{window.alert(e.message)}),{priority:\"lowest\"})}showSuccess(t,e={}){this._showNotification({message:t,type:\"success\",namespace:e.namespace,title:e.title})}showInfo(t,e={}){this._showNotification({message:t,type:\"info\",namespace:e.namespace,title:e.title})}showWarning(t,e={}){this._showNotification({message:t,type:\"warning\",namespace:e.namespace,title:e.title})}_showNotification(t){const e=t.namespace?`show:${t.type}:${t.namespace}`:`show:${t.type}`;this.fire(e,{message:t.message,type:t.type,title:t.title||\"\"})}}class RI extends(mt()){constructor(t,e){super();if(e){Ym(this,e)}if(t){this.set(t)}}}var VI=n(6841);var FI={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};FI.insert=\"head\";FI.singleton=true;var jI=Ld()(VI.A,FI);const HI=VI.A.locals||{};var UI=n(726);var WI={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};WI.insert=\"head\";WI.singleton=true;var qI=Ld()(UI.A,WI);const GI=UI.A.locals||{};const $I=Cc(\"px\");class KI extends Ed{static get pluginName(){return\"ContextualBalloon\"}constructor(t){super(t);this._viewToStack=new Map;this._idToStack=new Map;this._view=null;this._rotatorView=null;this._fakePanelsView=null;this.positionLimiter=()=>{const t=this.editor.editing.view;const e=t.document;const n=e.selection.editableElement;if(n){return t.domConverter.mapViewToDom(n.root)}return null};this.set(\"visibleView\",null);this.set(\"_numberOfStacks\",0);this.set(\"_singleViewMode\",false)}destroy(){super.destroy();if(this._view){this._view.destroy()}if(this._rotatorView){this._rotatorView.destroy()}if(this._fakePanelsView){this._fakePanelsView.destroy()}}get view(){if(!this._view){this._createPanelView()}return this._view}hasView(t){return Array.from(this._viewToStack.keys()).includes(t)}add(t){if(!this._view){this._createPanelView()}if(this.hasView(t.view)){throw new N(\"contextualballoon-add-view-exist\",[this,t])}const e=t.stackId||\"main\";if(!this._idToStack.has(e)){this._idToStack.set(e,new Map([[t.view,t]]));this._viewToStack.set(t.view,this._idToStack.get(e));this._numberOfStacks=this._idToStack.size;if(!this._visibleStack||t.singleViewMode){this.showStack(e)}return}const n=this._idToStack.get(e);if(t.singleViewMode){this.showStack(e)}n.set(t.view,t);this._viewToStack.set(t.view,n);if(n===this._visibleStack){this._showView(t)}}remove(t){if(!this.hasView(t)){throw new N(\"contextualballoon-remove-view-not-exist\",[this,t])}const e=this._viewToStack.get(t);if(this._singleViewMode&&this.visibleView===t){this._singleViewMode=false}if(this.visibleView===t){if(e.size===1){if(this._idToStack.size>1){this._showNextStack()}else{this.view.hide();this.visibleView=null;this._rotatorView.hideView()}}else{this._showView(Array.from(e.values())[e.size-2])}}if(e.size===1){this._idToStack.delete(this._getStackId(e));this._numberOfStacks=this._idToStack.size}else{e.delete(t)}this._viewToStack.delete(t)}updatePosition(t){if(t){this._visibleStack.get(this.visibleView).position=t}this.view.pin(this._getBalloonPosition());this._fakePanelsView.updatePosition()}showStack(t){this.visibleStack=t;const e=this._idToStack.get(t);if(!e){throw new N(\"contextualballoon-showstack-stack-not-exist\",this)}if(this._visibleStack===e){return}this._showView(Array.from(e.values()).pop())}_createPanelView(){this._view=new UD(this.editor.locale);this.editor.ui.view.body.add(this._view);this.editor.ui.focusTracker.add(this._view.element);this._rotatorView=this._createRotatorView();this._fakePanelsView=this._createFakePanelsView()}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(t){const e=Array.from(this._idToStack.entries()).find((e=>e[1]===t));return e[0]}_showNextStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)+1;if(!t[e]){e=0}this.showStack(this._getStackId(t[e]))}_showPrevStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)-1;if(!t[e]){e=t.length-1}this.showStack(this._getStackId(t[e]))}_createRotatorView(){const t=new YI(this.editor.locale);const e=this.editor.locale.t;this.view.content.add(t);t.bind(\"isNavigationVisible\").to(this,\"_numberOfStacks\",this,\"_singleViewMode\",((t,e)=>!e&&t>1));t.on(\"change:isNavigationVisible\",(()=>this.updatePosition()),{priority:\"low\"});t.bind(\"counter\").to(this,\"visibleView\",this,\"_numberOfStacks\",((t,n)=>{if(n<2){return\"\"}const o=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return e(\"%0 of %1\",[o,n])}));t.buttonNextView.on(\"execute\",(()=>{if(t.focusTracker.isFocused){this.editor.editing.view.focus()}this._showNextStack()}));t.buttonPrevView.on(\"execute\",(()=>{if(t.focusTracker.isFocused){this.editor.editing.view.focus()}this._showPrevStack()}));return t}_createFakePanelsView(){const t=new QI(this.editor.locale,this.view);t.bind(\"numberOfPanels\").to(this,\"_numberOfStacks\",this,\"_singleViewMode\",((t,e)=>{const n=!e&&t>=2;return n?Math.min(t-1,2):0}));t.listenTo(this.view,\"change:top\",(()=>t.updatePosition()));t.listenTo(this.view,\"change:left\",(()=>t.updatePosition()));this.editor.ui.view.body.add(t);return t}_showView({view:t,balloonClassName:e=\"\",withArrow:n=true,singleViewMode:o=false}){this.view.class=e;this.view.withArrow=n;this._rotatorView.showView(t);this.visibleView=t;this.view.pin(this._getBalloonPosition());this._fakePanelsView.updatePosition();if(o){this._singleViewMode=true}}_getBalloonPosition(){let t=Array.from(this._visibleStack.values()).pop().position;if(t){if(!t.limiter){t=Object.assign({},t,{limiter:this.positionLimiter})}t=Object.assign({},t,{viewportOffsetConfig:this.editor.ui.viewportOffset})}return t}}class YI extends ov{constructor(t){super(t);const e=t.t;const n=this.bindTemplate;this.set(\"isNavigationVisible\",true);this.focusTracker=new ad;this.buttonPrevView=this._createButtonView(e(\"Previous\"),CC.previousArrow);this.buttonNextView=this._createButtonView(e(\"Next\"),CC.nextArrow);this.content=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-balloon-rotator\"],\"z-index\":\"-1\"},children:[{tag:\"div\",attributes:{class:[\"ck-balloon-rotator__navigation\",n.to(\"isNavigationVisible\",(t=>t?\"\":\"ck-hidden\"))]},children:[this.buttonPrevView,{tag:\"span\",attributes:{class:[\"ck-balloon-rotator__counter\"]},children:[{text:n.to(\"counter\")}]},this.buttonNextView]},{tag:\"div\",attributes:{class:\"ck-balloon-rotator__content\"},children:this.content}]})}render(){super.render();this.focusTracker.add(this.element)}destroy(){super.destroy();this.focusTracker.destroy()}showView(t){this.hideView();this.content.add(t)}hideView(){this.content.clear()}_createButtonView(t,e){const n=new Sv(this.locale);n.set({label:t,icon:e,tooltip:true});return n}}class QI extends ov{constructor(t,e){super(t);const n=this.bindTemplate;this.set(\"top\",0);this.set(\"left\",0);this.set(\"height\",0);this.set(\"width\",0);this.set(\"numberOfPanels\",0);this.content=this.createCollection();this._balloonPanelView=e;this.setTemplate({tag:\"div\",attributes:{class:[\"ck-fake-panel\",n.to(\"numberOfPanels\",(t=>t?\"\":\"ck-hidden\"))],style:{top:n.to(\"top\",$I),left:n.to(\"left\",$I),width:n.to(\"width\",$I),height:n.to(\"height\",$I)}},children:this.content});this.on(\"change:numberOfPanels\",((t,e,n,o)=>{if(n>o){this._addPanels(n-o)}else{this._removePanels(o-n)}this.updatePosition()}))}_addPanels(t){while(t--){const t=new ov;t.setTemplate({tag:\"div\"});this.content.add(t);this.registerChild(t)}}_removePanels(t){while(t--){const t=this.content.last;this.content.remove(t);this.deregisterChild(t);t.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:t,left:e}=this._balloonPanelView;const{width:n,height:o}=new hc(this._balloonPanelView.element);Object.assign(this,{top:t,left:e,width:n,height:o})}}}var ZI=n(8016);var JI={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};JI.insert=\"head\";JI.singleton=true;var XI=Ld()(ZI.A,JI);const tT=ZI.A.locals||{};const eT=Cc(\"px\");class nT extends ov{constructor(t){super(t);const e=this.bindTemplate;this.set(\"isActive\",false);this.set(\"isSticky\",false);this.set(\"limiterElement\",null);this.set(\"limiterBottomOffset\",50);this.set(\"viewportTopOffset\",0);this.set(\"_marginLeft\",null);this.set(\"_isStickyToTheBottomOfLimiter\",false);this.set(\"_stickyTopOffset\",null);this.set(\"_stickyBottomOffset\",null);this.content=this.createCollection();this._contentPanelPlaceholder=new EC({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel__placeholder\"],style:{display:e.to(\"isSticky\",(t=>t?\"block\":\"none\")),height:e.to(\"isSticky\",(t=>t?eT(this._contentPanelRect.height):null))}}}).render();this.contentPanelElement=new EC({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel__content\",e.if(\"isSticky\",\"ck-sticky-panel__content_sticky\"),e.if(\"_isStickyToTheBottomOfLimiter\",\"ck-sticky-panel__content_sticky_bottom-limit\")],style:{width:e.to(\"isSticky\",(t=>t?eT(this._contentPanelPlaceholder.getBoundingClientRect().width):null)),top:e.to(\"_stickyTopOffset\",(t=>t?eT(t):t)),bottom:e.to(\"_stickyBottomOffset\",(t=>t?eT(t):t)),marginLeft:e.to(\"_marginLeft\")}},children:this.content}).render();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel\"]},children:[this._contentPanelPlaceholder,this.contentPanelElement]})}render(){super.render();this.checkIfShouldBeSticky();this.listenTo(oc.document,\"scroll\",(()=>{this.checkIfShouldBeSticky()}),{useCapture:true});this.listenTo(this,\"change:isActive\",(()=>{this.checkIfShouldBeSticky()}))}checkIfShouldBeSticky(){if(!this.limiterElement||!this.isActive){this._unstick();return}const t=new hc(this.limiterElement);let e=t.getVisible();if(e){const t=new hc(oc.window);t.top+=this.viewportTopOffset;t.height-=this.viewportTopOffset;e=e.getIntersection(t)}if(e&&t.tope.bottom){const n=Math.max(t.bottom-e.bottom,0)+this.limiterBottomOffset;if(t.bottom-n>t.top+this._contentPanelRect.height){this._stickToBottomOfLimiter(n)}else{this._unstick()}}else{if(this._contentPanelRect.height+this.limiterBottomOffset{this.reset();this.focus();this.fire(\"reset\")}));this.resetButtonView.bind(\"isVisible\").to(this.fieldView,\"isEmpty\",(t=>!t));this.fieldWrapperChildren.add(this.resetButtonView);this.extendTemplate({attributes:{class:\"ck-search__query_with-reset\"}})}}reset(){this.fieldView.reset();if(this._viewConfig.showResetButton){this.resetButtonView.isVisible=false}}}class iT extends ov{constructor(){super();const t=this.bindTemplate;this.set({isVisible:false,primaryText:\"\",secondaryText:\"\"});this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-search__info\",t.if(\"isVisible\",\"ck-hidden\",(t=>!t))],tabindex:-1},children:[{tag:\"span\",children:[{text:[t.to(\"primaryText\")]}]},{tag:\"span\",children:[{text:[t.to(\"secondaryText\")]}]}]})}focus(){this.element.focus()}}class rT extends ov{constructor(t){super(t);this.children=this.createCollection();this.focusTracker=new ad;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-search__results\"],tabindex:-1},children:this.children});this._focusCycler=new Fy({focusables:this.children,focusTracker:this.focusTracker})}render(){super.render();for(const t of this.children){this.focusTracker.add(t.element)}}focus(){this._focusCycler.focusFirst()}focusFirst(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}var sT=/[\\\\^$.*+?()[\\]{}|]/g,aT=RegExp(sT.source);function cT(t){t=Vu(t);return t&&aT.test(t)?t.replace(sT,\"\\\\$&\"):t}const lT=cT;var dT=n(9381);var uT={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};uT.insert=\"head\";uT.singleton=true;var hT=Ld()(dT.A,uT);const mT=dT.A.locals||{};class gT extends ov{constructor(t,e){super(t);this._config=e;this.filteredView=e.filteredView;this.queryView=this._createSearchTextQueryView();this.focusTracker=new ad;this.keystrokes=new cd;this.resultsView=new rT(t);this.children=this.createCollection();this.focusableChildren=this.createCollection([this.queryView,this.resultsView]);this.set(\"isEnabled\",true);this.set(\"resultsCount\",0);this.set(\"totalItemsCount\",0);if(e.infoView&&e.infoView.instance){this.infoView=e.infoView.instance}else{this.infoView=new iT;this._enableDefaultInfoViewBehavior();this.on(\"render\",(()=>{this.search(\"\")}))}this.resultsView.children.addMany([this.infoView,this.filteredView]);this.focusCycler=new Fy({focusables:this.focusableChildren,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this.on(\"search\",((t,{resultsCount:e,totalItemsCount:n})=>{this.resultsCount=e;this.totalItemsCount=n}));this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-search\",e.class||null],tabindex:\"-1\"},children:this.children})}render(){super.render();this.children.addMany([this.queryView,this.resultsView]);const t=t=>t.stopPropagation();for(const t of this.focusableChildren){this.focusTracker.add(t.element)}this.keystrokes.listenTo(this.element);this.keystrokes.set(\"arrowright\",t);this.keystrokes.set(\"arrowleft\",t);this.keystrokes.set(\"arrowup\",t);this.keystrokes.set(\"arrowdown\",t)}focus(){this.queryView.focus()}reset(){this.queryView.reset();this.search(\"\")}search(t){const e=t?new RegExp(lT(t),\"ig\"):null;const n=this.filteredView.filter(e);this.fire(\"search\",{query:t,...n})}_createSearchTextQueryView(){const t=new oT(this.locale,this._config.queryView);this.listenTo(t.fieldView,\"input\",(()=>{this.search(t.fieldView.element.value)}));t.on(\"reset\",(()=>this.reset()));t.bind(\"isEnabled\").to(this);return t}_enableDefaultInfoViewBehavior(){const t=this.locale.t;const e=this.infoView;this.on(\"search\",((o,i)=>{if(!i.resultsCount){const o=this._config.infoView&&this._config.infoView.text;let r,s;if(i.totalItemsCount){if(o&&o.notFound){r=o.notFound.primary;s=o.notFound.secondary}else{r=t(\"No results found\");s=\"\"}}else{if(o&&o.noSearchableItems){r=o.noSearchableItems.primary;s=o.noSearchableItems.secondary}else{r=t(\"No searchable items\");s=\"\"}}e.set({primaryText:n(r,i),secondaryText:n(s,i),isVisible:true})}else{e.set({isVisible:false})}}));function n(t,{query:e,resultsCount:n,totalItemsCount:o}){return typeof t===\"function\"?t(e,n,o):t}}}var fT=n(5169);var pT={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};pT.insert=\"head\";pT.singleton=true;var bT=Ld()(fT.A,pT);const kT=fT.A.locals||{};class wT extends gT{constructor(t,e){super(t,e);this._config=e;const n=Cc(\"px\");this.extendTemplate({attributes:{class:[\"ck-autocomplete\"]}});const o=this.resultsView.bindTemplate;this.resultsView.set(\"isVisible\",false);this.resultsView.set(\"_position\",\"s\");this.resultsView.set(\"_width\",0);this.resultsView.extendTemplate({attributes:{class:[o.if(\"isVisible\",\"ck-hidden\",(t=>!t)),o.to(\"_position\",(t=>`ck-search__results_${t}`))],style:{width:o.to(\"_width\",n)}}});this.focusTracker.on(\"change:isFocused\",((t,n,o)=>{this._updateResultsVisibility();if(o){this.resultsView.element.scrollTop=0}else if(e.resetOnBlur){this.queryView.reset()}}));this.on(\"search\",(()=>{this._updateResultsVisibility();this._updateResultsViewWidthAndPosition()}));this.keystrokes.set(\"esc\",((t,e)=>{if(!this.resultsView.isVisible){return}this.queryView.focus();this.resultsView.isVisible=false;e()}));this.listenTo(oc.document,\"scroll\",(()=>{this._updateResultsViewWidthAndPosition()}));this.on(\"change:isEnabled\",(()=>{this._updateResultsVisibility()}));this.filteredView.on(\"execute\",((t,{value:e})=>{this.focus();this.reset();this.queryView.fieldView.value=this.queryView.fieldView.element.value=e;this.resultsView.isVisible=false}));this.resultsView.on(\"change:isVisible\",(()=>{this._updateResultsViewWidthAndPosition()}))}_updateResultsViewWidthAndPosition(){if(!this.resultsView.isVisible){return}this.resultsView._width=new hc(this.queryView.fieldView.element).width;const t=wT._getOptimalPosition({element:this.resultsView.element,target:this.queryView.element,fitInViewport:true,positions:wT.defaultResultsPositions});this.resultsView._position=t?t.name:\"s\"}_updateResultsVisibility(){const t=typeof this._config.queryMinChars===\"undefined\"?0:this._config.queryMinChars;const e=this.queryView.fieldView.element.value.length;this.resultsView.isVisible=this.focusTracker.isFocused&&this.isEnabled&&e>=t}}wT.defaultResultsPositions=[t=>({top:t.bottom,left:t.left,name:\"s\"}),(t,e)=>({top:t.top-e.height,left:t.left,name:\"n\"})];wT._getOptimalPosition=Ic;const AT=null&&wT;function _T(t){return function(e){return t==null?undefined:t[e]}}const CT=_T;var vT={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"};var yT=CT(vT);const xT=yT;var ET=/[&<>\"']/g,DT=RegExp(ET.source);function IT(t){t=Vu(t);return t&&DT.test(t)?t.replace(ET,xT):t}const TT=IT;var ST=n(2859);var BT={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};BT.insert=\"head\";BT.singleton=true;var MT=Ld()(ST.A,BT);const PT=ST.A.locals||{};class NT extends ov{constructor(){super();this.set(\"text\",undefined);this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-highlighted-text\"]}});this.on(\"render\",(()=>{this.on(\"change:text\",(()=>{this._updateInnerHTML(this.text)}));this._updateInnerHTML(this.text)}))}highlightText(t){this._updateInnerHTML(LT(this.text||\"\",t))}_updateInnerHTML(t){this.element.innerHTML=t||\"\"}}function LT(t,e){if(!e){return TT(t)}const n=[];let o=0;let i=e.exec(t);while(i!==null){const r=i.index;if(r!==o){n.push({text:t.substring(o,r),isMatch:false})}n.push({text:i[0],isMatch:true});o=e.lastIndex;i=e.exec(t)}if(o!==t.length){n.push({text:t.substring(o),isMatch:false})}const r=n.map((t=>{t.text=TT(t.text);return t})).map((t=>t.isMatch?`${t.text}`:t.text)).join(\"\");return r}var zT=n(6047);var OT={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};OT.insert=\"head\";OT.singleton=true;var RT=Ld()(zT.A,OT);const VT=zT.A.locals||{};class FT extends ov{constructor(){super();this.set(\"isVisible\",false);const t=this.bindTemplate;this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-spinner-container\",t.if(\"isVisible\",\"ck-hidden\",(t=>!t))]},children:[{tag:\"span\",attributes:{class:[\"ck\",\"ck-spinner\"]}}]})}}const jT=Cc(\"px\");class HT extends Ed{static get pluginName(){return\"BalloonToolbar\"}static get requires(){return[KI]}constructor(t){super(t);this._resizeObserver=null;this._balloonConfig=$y(t.config.get(\"balloonToolbar\"));this.toolbarView=this._createToolbarView();this.focusTracker=new ad;t.ui.once(\"ready\",(()=>{this.focusTracker.add(t.ui.getEditableElement());this.focusTracker.add(this.toolbarView.element)}));t.ui.addToolbar(this.toolbarView,{beforeFocus:()=>this.show(true),afterBlur:()=>this.hide(),isContextual:true});this._balloon=t.plugins.get(KI);this._fireSelectionChangeDebounced=kg((()=>this.fire(\"_selectionChangeDebounced\")),200);this.decorate(\"show\")}init(){const t=this.editor;const e=t.model.document.selection;this.listenTo(this.focusTracker,\"change:isFocused\",((t,e,n)=>{const o=this._balloon.visibleView===this.toolbarView;if(!n&&o){this.hide()}else if(n){this.show()}}));this.listenTo(e,\"change:range\",((t,n)=>{if(n.directChange||e.isCollapsed){this.hide()}this._fireSelectionChangeDebounced()}));this.listenTo(this,\"_selectionChangeDebounced\",(()=>{if(this.editor.editing.view.document.isFocused){this.show()}}));if(!this._balloonConfig.shouldNotGroupWhenFull){this.listenTo(t,\"ready\",(()=>{const e=t.ui.view.editable.element;this._resizeObserver=new Ac(e,(t=>{this.toolbarView.maxWidth=jT(t.contentRect.width*.9)}))}))}this.listenTo(this.toolbarView,\"groupedItemsUpdate\",(()=>{this._updatePosition()}));t.ui.once(\"ready\",(()=>{this.toolbarView.fillFromConfig(this._balloonConfig,this.editor.ui.componentFactory)}))}_createToolbarView(){const t=this.editor.locale.t;const e=!this._balloonConfig.shouldNotGroupWhenFull;const n=new tx(this.editor.locale,{shouldGroupWhenFull:e,isFloating:true});n.ariaLabel=t(\"Editor contextual toolbar\");n.render();return n}show(t=false){const e=this.editor;const n=e.model.document.selection;const o=e.model.schema;if(this._balloon.hasView(this.toolbarView)){return}if(n.isCollapsed&&!t){return}if(UT(n,o)){return}if(Array.from(this.toolbarView.items).every((t=>t.isEnabled!==undefined&&!t.isEnabled))){return}this.listenTo(this.editor.ui,\"update\",(()=>{this._updatePosition()}));this._balloon.add({view:this.toolbarView,position:this._getBalloonPositionData(),balloonClassName:\"ck-toolbar-container\"})}hide(){if(this._balloon.hasView(this.toolbarView)){this.stopListening(this.editor.ui,\"update\");this._balloon.remove(this.toolbarView)}}_getBalloonPositionData(){const t=this.editor;const e=t.editing.view;const n=e.document;const o=n.selection;const i=n.selection.isBackward;return{target:()=>{const t=i?o.getFirstRange():o.getLastRange();const n=hc.getDomRangeRects(e.domConverter.viewRangeToDom(t));if(i){return n[0]}else{if(n.length>1&&n[n.length-1].width===0){n.pop()}return n[n.length-1]}},positions:this._getBalloonPositions(i)}}_updatePosition(){this._balloon.updatePosition(this._getBalloonPositionData())}destroy(){super.destroy();this.stopListening();this._fireSelectionChangeDebounced.cancel();this.toolbarView.destroy();this.focusTracker.destroy();if(this._resizeObserver){this._resizeObserver.destroy()}}_getBalloonPositions(t){const e=l.isSafari&&l.isiOS;const n=e?qD({heightOffset:Math.max(UD.arrowHeightOffset,Math.round(20/oc.window.visualViewport.scale))}):UD.defaultPositions;return t?[n.northWestArrowSouth,n.northWestArrowSouthWest,n.northWestArrowSouthEast,n.northWestArrowSouthMiddleEast,n.northWestArrowSouthMiddleWest,n.southWestArrowNorth,n.southWestArrowNorthWest,n.southWestArrowNorthEast,n.southWestArrowNorthMiddleWest,n.southWestArrowNorthMiddleEast]:[n.southEastArrowNorth,n.southEastArrowNorthEast,n.southEastArrowNorthWest,n.southEastArrowNorthMiddleEast,n.southEastArrowNorthMiddleWest,n.northEastArrowSouth,n.northEastArrowSouthEast,n.northEastArrowSouthWest,n.northEastArrowSouthMiddleEast,n.northEastArrowSouthMiddleWest]}}function UT(t,e){if(t.rangeCount===1){return false}return[...t.getRanges()].every((t=>{const n=t.getContainedElement();return n&&e.isSelectable(n)}))}var WT=n(8604);var qT={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};qT.insert=\"head\";qT.singleton=true;var GT=Ld()(WT.A,qT);const $T=WT.A.locals||{};const KT=Cc(\"px\");class YT extends Sv{constructor(t){super(t);const e=this.bindTemplate;this.isVisible=false;this.isToggleable=true;this.set(\"top\",0);this.set(\"left\",0);this.extendTemplate({attributes:{class:\"ck-block-toolbar-button\",style:{top:e.to(\"top\",(t=>KT(t))),left:e.to(\"left\",(t=>KT(t)))}}})}}const QT=Cc(\"px\");class ZT extends Ed{static get pluginName(){return\"BlockToolbar\"}constructor(e){super(e);this._resizeObserver=null;this._blockToolbarConfig=$y(this.editor.config.get(\"blockToolbar\"));this.toolbarView=this._createToolbarView();this.panelView=this._createPanelView();this.buttonView=this._createButtonView();t({emitter:this.panelView,contextElements:[this.panelView.element,this.buttonView.element],activator:()=>this.panelView.isVisible,callback:()=>this._hidePanel()})}init(){const t=this.editor;const e=t.t;const n=e(\"Click to edit block\");const o=e(\"Drag to move\");const i=e(\"Edit block\");const r=t.plugins.has(\"DragDropBlockToolbar\");const s=r?`${n}\\n${o}`:i;this.buttonView.label=s;if(r){this.buttonView.element.dataset.ckeTooltipClass=\"ck-tooltip_multi-line\"}this.listenTo(t.model.document.selection,\"change:range\",((t,e)=>{if(e.directChange){this._hidePanel()}}));this.listenTo(t.ui,\"update\",(()=>this._updateButton()));this.listenTo(t,\"change:isReadOnly\",(()=>this._updateButton()),{priority:\"low\"});this.listenTo(t.ui.focusTracker,\"change:isFocused\",(()=>this._updateButton()));this.listenTo(this.buttonView,\"change:isVisible\",((t,e,n)=>{if(n){this.buttonView.listenTo(window,\"resize\",(()=>this._updateButton()))}else{this.buttonView.stopListening(window,\"resize\");this._hidePanel()}}));t.ui.addToolbar(this.toolbarView,{beforeFocus:()=>this._showPanel(),afterBlur:()=>this._hidePanel()});t.ui.once(\"ready\",(()=>{this.toolbarView.fillFromConfig(this._blockToolbarConfig,this.editor.ui.componentFactory);for(const t of this.toolbarView.items){t.on(\"execute\",(()=>this._hidePanel(true)),{priority:\"high\"})}}))}destroy(){super.destroy();this.panelView.destroy();this.buttonView.destroy();this.toolbarView.destroy();if(this._resizeObserver){this._resizeObserver.destroy()}}_createToolbarView(){const t=this.editor.locale.t;const e=!this._blockToolbarConfig.shouldNotGroupWhenFull;const n=new tx(this.editor.locale,{shouldGroupWhenFull:e,isFloating:true});n.ariaLabel=t(\"Editor block content toolbar\");return n}_createPanelView(){const t=this.editor;const e=new UD(t.locale);e.content.add(this.toolbarView);e.class=\"ck-toolbar-container\";t.ui.view.body.add(e);t.ui.focusTracker.add(e.element);this.toolbarView.keystrokes.set(\"Esc\",((t,e)=>{this._hidePanel(true);e()}));return e}_createButtonView(){const t=this.editor;const e=t.t;const n=new YT(t.locale);const o=this._blockToolbarConfig.icon;const i=Xy[o]||o||Xy.dragIndicator;n.set({label:e(\"Edit block\"),icon:i,withText:false});n.bind(\"isOn\").to(this.panelView,\"isVisible\");n.bind(\"tooltip\").to(this.panelView,\"isVisible\",(t=>!t));this.listenTo(n,\"execute\",(()=>{if(!this.panelView.isVisible){this._showPanel()}else{this._hidePanel(true)}}));t.ui.view.body.add(n);t.ui.focusTracker.add(n.element);return n}_updateButton(){const t=this.editor;const e=t.model;const n=t.editing.view;if(!t.ui.focusTracker.isFocused){this._hideButton();return}if(!t.model.canEditAt(t.model.document.selection)){this._hideButton();return}const o=Array.from(e.document.selection.getSelectedBlocks())[0];if(!o||Array.from(this.toolbarView.items).every((t=>!t.isEnabled))){this._hideButton();return}const i=n.domConverter.mapViewToDom(t.editing.mapper.toViewElement(o));this.buttonView.isVisible=true;this._setupToolbarResize();this._attachButtonToElement(i);if(this.panelView.isVisible){this._showPanel()}}_hideButton(){this.buttonView.isVisible=false}_showPanel(){if(!this.buttonView.isVisible){return}const t=this.panelView.isVisible;this.panelView.show();const e=this._getSelectedEditableElement();this.toolbarView.maxWidth=this._getToolbarMaxWidth(e);this.panelView.pin({target:this.buttonView.element,limiter:e});if(!t){this.toolbarView.items.get(0).focus()}}_getSelectedEditableElement(){const t=this.editor.model.document.selection.getFirstRange().root.rootName;return this.editor.ui.getEditableElement(t)}_hidePanel(t){this.panelView.isVisible=false;if(t){this.editor.editing.view.focus()}}_attachButtonToElement(t){const e=window.getComputedStyle(t);const n=new hc(this._getSelectedEditableElement());const o=parseInt(e.paddingTop,10);const i=parseInt(e.lineHeight,10)||parseInt(e.fontSize,10)*1.2;const r=new hc(this.buttonView.element);const s=new hc(t);let a;if(this.editor.locale.uiLanguageDirection===\"ltr\"){a=n.left-r.width}else{a=n.right}const c=s.top+o+(i-r.height)/2;r.moveTo(a,c);const l=r.toAbsoluteRect();this.buttonView.top=l.top;this.buttonView.left=l.left}_setupToolbarResize(){const t=this._getSelectedEditableElement();if(!this._blockToolbarConfig.shouldNotGroupWhenFull){if(this._resizeObserver&&this._resizeObserver.element!==t){this._resizeObserver.destroy();this._resizeObserver=null}if(!this._resizeObserver){this._resizeObserver=new Ac(t,(()=>{this.toolbarView.maxWidth=this._getToolbarMaxWidth(t)}))}}}_getToolbarMaxWidth(t){const e=new hc(t);const n=new hc(this.buttonView.element);const o=this.editor.locale.uiLanguageDirection===\"rtl\";const i=o?n.left-e.right+n.width:e.left-n.left;return QT(e.width+i)}}var JT=n(6050);var XT={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};XT.insert=\"head\";XT.singleton=true;var tS=Ld()(JT.A,XT);const eS=JT.A.locals||{};class nS extends Sv{constructor(t){super(t);const e=this.bindTemplate;this.set({withText:true,role:\"menuitem\"});this.arrowView=this._createArrowView();this.extendTemplate({attributes:{class:[\"ck-menu-bar__menu__button\"],\"aria-haspopup\":true,\"aria-expanded\":this.bindTemplate.to(\"isOn\",(t=>String(t))),\"data-cke-tooltip-disabled\":e.to(\"isOn\")},on:{mouseenter:e.to(\"mouseenter\")}})}render(){super.render();this.children.add(this.arrowView)}_createArrowView(){const t=new yv;t.content=Rv;t.extendTemplate({attributes:{class:\"ck-menu-bar__menu__button__arrow\"}});return t}}var oS=n(3835);var iS={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};iS.insert=\"head\";iS.singleton=true;var rS=Ld()(oS.A,iS);const sS=oS.A.locals||{};class aS extends ix{constructor(t,e){super(t);const n=this.bindTemplate;this.extendTemplate({attributes:{class:[\"ck-menu-bar__menu__item\"]},on:{mouseenter:n.to(\"mouseenter\")}});this.delegate(\"mouseenter\").to(e)}}const cS=5;const lS={toggleMenusAndFocusItemsOnHover(t){t.on(\"menu:mouseenter\",(e=>{if(!t.isOpen){return}for(const n of t.menus){const t=e.path[0];const o=t instanceof aS&&t.children.first===n;n.isOpen=(e.path.includes(n)||o)&&n.isEnabled}e.source.focus()}))},focusCycleMenusOnArrows(t){const e=t.locale.uiLanguageDirection===\"rtl\";t.on(\"menu:arrowright\",(t=>{n(t.source,e?-1:1)}));t.on(\"menu:arrowleft\",(t=>{n(t.source,e?1:-1)}));function n(e,n){const o=t.children.getIndex(e);const i=e.isOpen;const r=t.children.length;const s=t.children.get((o+r+n)%r);e.isOpen=false;if(i){s.isOpen=true}s.buttonView.focus()}},closeMenusWhenTheBarCloses(t){t.on(\"change:isOpen\",(()=>{if(!t.isOpen){t.menus.forEach((t=>{t.isOpen=false}))}}))},closeMenuWhenAnotherOnTheSameLevelOpens(t){t.on(\"menu:change:isOpen\",((e,n,o)=>{if(o){t.menus.filter((t=>e.source.parentMenuView===t.parentMenuView&&e.source!==t&&t.isOpen)).forEach((t=>{t.isOpen=false}))}}))},closeOnClickOutside(e){t({emitter:e,activator:()=>e.isOpen,callback:()=>e.close(),contextElements:()=>e.children.map((t=>t.element))})}};const dS={openAndFocusPanelOnArrowDownKey(t){t.keystrokes.set(\"arrowdown\",((e,n)=>{if(t.focusTracker.focusedElement===t.buttonView.element){if(!t.isOpen){t.isOpen=true}t.panelView.focus();n()}}))},openOnArrowRightKey(t){const e=t.locale.uiLanguageDirection===\"rtl\"?\"arrowleft\":\"arrowright\";t.keystrokes.set(e,((e,n)=>{if(t.focusTracker.focusedElement!==t.buttonView.element||!t.isEnabled){return}if(!t.isOpen){t.isOpen=true}t.panelView.focus();n()}))},openOnButtonClick(t){t.buttonView.on(\"execute\",(()=>{t.isOpen=true;t.panelView.focus()}))},toggleOnButtonClick(t){t.buttonView.on(\"execute\",(()=>{t.isOpen=!t.isOpen;if(t.isOpen){t.panelView.focus()}}))},closeOnArrowLeftKey(t){const e=t.locale.uiLanguageDirection===\"rtl\"?\"arrowright\":\"arrowleft\";t.keystrokes.set(e,((e,n)=>{if(t.isOpen){t.isOpen=false;t.focus();n()}}))},closeOnEscKey(t){t.keystrokes.set(\"esc\",((e,n)=>{if(t.isOpen){t.isOpen=false;t.focus();n()}}))},closeOnParentClose(t){t.parentMenuView.on(\"change:isOpen\",((e,n,o)=>{if(!o&&e.source===t.parentMenuView){t.isOpen=false}}))}};const uS={southEast:t=>({top:t.bottom,left:t.left,name:\"se\"}),southWest:(t,e)=>({top:t.bottom,left:t.left-e.width+t.width,name:\"sw\"}),northEast:(t,e)=>({top:t.top-e.height,left:t.left,name:\"ne\"}),northWest:(t,e)=>({top:t.top-e.height,left:t.left-e.width+t.width,name:\"nw\"}),eastSouth:t=>({top:t.top,left:t.right-cS,name:\"es\"}),eastNorth:(t,e)=>({top:t.top-e.height,left:t.right-cS,name:\"en\"}),westSouth:(t,e)=>({top:t.top,left:t.left-e.width+cS,name:\"ws\"}),westNorth:(t,e)=>({top:t.top-e.height,left:t.left-e.width+cS,name:\"wn\"})};const hS=[{menuId:\"file\",label:\"File\",groups:[{groupId:\"export\",items:[\"menuBar:exportPdf\",\"menuBar:exportWord\"]},{groupId:\"import\",items:[\"menuBar:importWord\"]},{groupId:\"revisionHistory\",items:[\"menuBar:revisionHistory\"]}]},{menuId:\"edit\",label:\"Edit\",groups:[{groupId:\"undo\",items:[\"menuBar:undo\",\"menuBar:redo\"]},{groupId:\"selectAll\",items:[\"menuBar:selectAll\"]},{groupId:\"findAndReplace\",items:[\"menuBar:findAndReplace\"]}]},{menuId:\"view\",label:\"View\",groups:[{groupId:\"sourceEditing\",items:[\"menuBar:sourceEditing\"]},{groupId:\"showBlocks\",items:[\"menuBar:showBlocks\"]},{groupId:\"restrictedEditingException\",items:[\"menuBar:restrictedEditingException\"]}]},{menuId:\"insert\",label:\"Insert\",groups:[{groupId:\"insertMainWidgets\",items:[\"menuBar:uploadImage\",\"menuBar:ckbox\",\"menuBar:ckfinder\",\"menuBar:insertTable\"]},{groupId:\"insertInline\",items:[\"menuBar:link\",\"menuBar:comment\"]},{groupId:\"insertMinorWidgets\",items:[\"menuBar:insertTemplate\",\"menuBar:blockQuote\",\"menuBar:codeBlock\",\"menuBar:htmlEmbed\"]},{groupId:\"insertStructureWidgets\",items:[\"menuBar:horizontalLine\",\"menuBar:pageBreak\",\"menuBar:tableOfContents\"]},{groupId:\"restrictedEditing\",items:[\"menuBar:restrictedEditing\"]}]},{menuId:\"format\",label:\"Format\",groups:[{groupId:\"textAndFont\",items:[{menuId:\"text\",label:\"Text\",groups:[{groupId:\"basicStyles\",items:[\"menuBar:bold\",\"menuBar:italic\",\"menuBar:underline\",\"menuBar:strikethrough\",\"menuBar:superscript\",\"menuBar:subscript\",\"menuBar:code\"]},{groupId:\"textPartLanguage\",items:[\"menuBar:textPartLanguage\"]}]},{menuId:\"font\",label:\"Font\",groups:[{groupId:\"fontProperties\",items:[\"menuBar:fontSize\",\"menuBar:fontFamily\"]},{groupId:\"fontColors\",items:[\"menuBar:fontColor\",\"menuBar:fontBackgroundColor\"]},{groupId:\"highlight\",items:[\"menuBar:highlight\"]}]},\"menuBar:heading\"]},{groupId:\"list\",items:[\"menuBar:bulletedList\",\"menuBar:numberedList\",\"menuBar:todoList\"]},{groupId:\"indent\",items:[\"menuBar:alignment\",\"menuBar:indent\",\"menuBar:outdent\"]},{groupId:\"caseChange\",items:[\"menuBar:caseChange\"]},{groupId:\"removeFormat\",items:[\"menuBar:removeFormat\"]}]},{menuId:\"tools\",label:\"Tools\",groups:[{groupId:\"aiTools\",items:[\"menuBar:aiAssistant\",\"menuBar:aiCommands\"]},{groupId:\"tools\",items:[\"menuBar:trackChanges\",\"menuBar:commentsArchive\"]}]},{menuId:\"help\",label:\"Help\",groups:[{groupId:\"help\",items:[\"menuBar:accessibilityHelp\"]}]}];function mS(t){let e;if(!(\"items\"in t)||!t.items){e={items:Pf(hS),addItems:[],removeItems:[],isVisible:true,isUsingDefaultConfig:true,...t}}else{e={items:t.items,removeItems:[],addItems:[],isVisible:true,isUsingDefaultConfig:false,...t}}return e}function gS({normalizedConfig:t,locale:e,componentFactory:n}){const o=Pf(t);fS(t,o);pS(t,o);kS(t,o,n);wS(t,o);_S(o,e);return o}function fS(t,e){const n=e.removeItems;const o=[];e.items=e.items.filter((({menuId:t})=>{if(n.includes(t)){o.push(t);return false}return true}));CS(e.items,(t=>{t.groups=t.groups.filter((({groupId:t})=>{if(n.includes(t)){o.push(t);return false}return true}));for(const e of t.groups){e.items=e.items.filter((t=>{const e=DS(t);if(n.includes(e)){o.push(e);return false}return true}))}}));for(const e of n){if(!o.includes(e)){L(\"menu-bar-item-could-not-be-removed\",{menuBarConfig:t,itemName:e})}}}function pS(t,e){const n=e.addItems;const o=[];for(const t of n){const n=xS(t.position);const i=ES(t.position);if(vS(t)){if(!i){if(n===\"start\"){e.items.unshift(t.menu);o.push(t)}else if(n===\"end\"){e.items.push(t.menu);o.push(t)}}else{const r=e.items.findIndex((t=>t.menuId===i));if(r!=-1){if(n===\"before\"){e.items.splice(r,0,t.menu);o.push(t)}else if(n===\"after\"){e.items.splice(r+1,0,t.menu);o.push(t)}}else{const r=bS(e,t.menu,i,n);if(r){o.push(t)}}}}else if(yS(t)){CS(e.items,(e=>{if(e.menuId===i){if(n===\"start\"){e.groups.unshift(t.group);o.push(t)}else if(n===\"end\"){e.groups.push(t.group);o.push(t)}}else{const r=e.groups.findIndex((t=>t.groupId===i));if(r!==-1){if(n===\"before\"){e.groups.splice(r,0,t.group);o.push(t)}else if(n===\"after\"){e.groups.splice(r+1,0,t.group);o.push(t)}}}}))}else{const r=bS(e,t.item,i,n);if(r){o.push(t)}}}for(const e of n){if(!o.includes(e)){L(\"menu-bar-item-could-not-be-added\",{menuBarConfig:t,addedItemConfig:e})}}}function bS(t,e,n,o){let i=false;CS(t.items,(t=>{for(const{groupId:r,items:s}of t.groups){if(i){return}if(r===n){if(o===\"start\"){s.unshift(e);i=true}else if(o===\"end\"){s.push(e);i=true}}else{const t=s.findIndex((t=>DS(t)===n));if(t!==-1){if(o===\"before\"){s.splice(t,0,e);i=true}else if(o===\"after\"){s.splice(t+1,0,e);i=true}}}}}));return i}function kS(t,e,n){CS(e.items,(o=>{for(const i of o.groups){i.items=i.items.filter((i=>{const r=typeof i===\"string\"&&!n.has(i);if(r&&!e.isUsingDefaultConfig){L(\"menu-bar-item-unavailable\",{menuBarConfig:t,parentMenuConfig:Pf(o),componentName:i})}return!r}))}}))}function wS(t,e){const n=e.isUsingDefaultConfig;let o=false;e.items=e.items.filter((e=>{if(!e.groups.length){AS(t,e,n);return false}return true}));if(!e.items.length){AS(t,t,n);return}CS(e.items,(e=>{e.groups=e.groups.filter((t=>{if(!t.items.length){o=true;return false}return true}));for(const i of e.groups){i.items=i.items.filter((e=>{if(IS(e)&&!e.groups.length){AS(t,e,n);o=true;return false}return true}))}}));if(o){wS(t,e)}}function AS(t,e,n){if(n){return}L(\"menu-bar-menu-empty\",{menuBarConfig:t,emptyMenuConfig:e})}function _S(t,e){const n=e.t;const o={File:n({string:\"File\",id:\"MENU_BAR_MENU_FILE\"}),Edit:n({string:\"Edit\",id:\"MENU_BAR_MENU_EDIT\"}),View:n({string:\"View\",id:\"MENU_BAR_MENU_VIEW\"}),Insert:n({string:\"Insert\",id:\"MENU_BAR_MENU_INSERT\"}),Format:n({string:\"Format\",id:\"MENU_BAR_MENU_FORMAT\"}),Tools:n({string:\"Tools\",id:\"MENU_BAR_MENU_TOOLS\"}),Help:n({string:\"Help\",id:\"MENU_BAR_MENU_HELP\"}),Text:n({string:\"Text\",id:\"MENU_BAR_MENU_TEXT\"}),Font:n({string:\"Font\",id:\"MENU_BAR_MENU_FONT\"})};CS(t.items,(t=>{if(t.label in o){t.label=o[t.label]}}))}function CS(t,e){if(Array.isArray(t)){for(const e of t){n(e)}}function n(t){e(t);for(const e of t.groups){for(const t of e.items){if(IS(t)){n(t)}}}}}function vS(t){return typeof t===\"object\"&&\"menu\"in t}function yS(t){return typeof t===\"object\"&&\"group\"in t}function xS(t){if(t.startsWith(\"start\")){return\"start\"}else if(t.startsWith(\"end\")){return\"end\"}else if(t.startsWith(\"after\")){return\"after\"}else{return\"before\"}}function ES(t){const e=t.match(/^[^:]+:(.+)/);if(e){return e[1]}return null}function DS(t){return typeof t===\"string\"?t:t.menuId}function IS(t){return typeof t===\"object\"&&\"menuId\"in t}var TS=n(5306);var SS={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};SS.insert=\"head\";SS.singleton=true;var BS=Ld()(TS.A,SS);const MS=TS.A.locals||{};class PS extends ov{constructor(t){super(t);const e=this.bindTemplate;this.set(\"isVisible\",false);this.set(\"position\",\"se\");this.children=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-menu-bar__menu__panel\",e.to(\"position\",(t=>`ck-menu-bar__menu__panel_position_${t}`)),e.if(\"isVisible\",\"ck-hidden\",(t=>!t))],tabindex:\"-1\"},children:this.children,on:{selectstart:e.to((t=>{if(t.target.tagName.toLocaleLowerCase()===\"input\"){return}t.preventDefault()}))}})}focus(t=1){if(this.children.length){if(t===1){this.children.first.focus()}else{this.children.last.focus()}}}}var NS=n(5842);var LS={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};LS.insert=\"head\";LS.singleton=true;var zS=Ld()(NS.A,LS);const OS=NS.A.locals||{};class RS extends ov{constructor(t){super(t);const e=this.bindTemplate;this.buttonView=new nS(t);this.buttonView.delegate(\"mouseenter\").to(this);this.buttonView.bind(\"isOn\",\"isEnabled\").to(this,\"isOpen\",\"isEnabled\");this.panelView=new PS(t);this.panelView.bind(\"isVisible\").to(this,\"isOpen\");this.keystrokes=new cd;this.focusTracker=new ad;this.set(\"isOpen\",false);this.set(\"isEnabled\",true);this.set(\"panelPosition\",\"w\");this.set(\"class\",undefined);this.set(\"parentMenuView\",null);this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-menu-bar__menu\",e.to(\"class\"),e.if(\"isEnabled\",\"ck-disabled\",(t=>!t)),e.if(\"parentMenuView\",\"ck-menu-bar__menu_top-level\",(t=>!t))]},children:[this.buttonView,this.panelView]})}render(){super.render();this.focusTracker.add(this.buttonView.element);this.focusTracker.add(this.panelView.element);this.keystrokes.listenTo(this.element);dS.closeOnEscKey(this);this._repositionPanelOnOpen()}_attachBehaviors(){if(!this.parentMenuView){this._propagateArrowKeystrokeEvents();dS.openAndFocusPanelOnArrowDownKey(this);dS.toggleOnButtonClick(this)}else{dS.openOnButtonClick(this);dS.openOnArrowRightKey(this);dS.closeOnArrowLeftKey(this);dS.closeOnParentClose(this)}}_propagateArrowKeystrokeEvents(){this.keystrokes.set(\"arrowright\",((t,e)=>{this.fire(\"arrowright\");e()}));this.keystrokes.set(\"arrowleft\",((t,e)=>{this.fire(\"arrowleft\");e()}))}_repositionPanelOnOpen(){this.on(\"change:isOpen\",((t,e,n)=>{if(!n){return}const o=RS._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:true,positions:this._panelPositions});this.panelView.position=o?o.name:this._panelPositions[0].name}))}focus(){this.buttonView.focus()}get _panelPositions(){const{southEast:t,southWest:e,northEast:n,northWest:o,westSouth:i,eastSouth:r,westNorth:s,eastNorth:a}=uS;if(this.locale.uiLanguageDirection===\"ltr\"){if(this.parentMenuView){return[r,a,i,s]}else{return[t,e,n,o]}}else{if(this.parentMenuView){return[i,s,r,a]}else{return[e,t,o,n]}}}}RS._getOptimalPosition=Ic;const VS=RS;class FS extends ux{constructor(t){super(t);this.role=\"menu\"}}var jS=n(5519);var HS={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};HS.insert=\"head\";HS.singleton=true;var US=Ld()(jS.A,HS);const WS=jS.A.locals||{};class qS extends Sv{constructor(t){super(t);this.set({withText:true,withKeystroke:true,tooltip:false,role:\"menuitem\"});this.extendTemplate({attributes:{class:[\"ck-menu-bar__menu__item__button\"]}})}}class GS extends zv{constructor(t){super(t);this.set({withText:true,withKeystroke:true,tooltip:false,role:\"menuitem\"});this.extendTemplate({attributes:{class:[\"ck-menu-bar__menu__item__button\"]}})}}var $S=n(3779);var KS={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};KS.insert=\"head\";KS.singleton=true;var YS=Ld()($S.A,KS);const QS=$S.A.locals||{};const ZS=[\"mouseenter\",\"arrowleft\",\"arrowright\",\"change:isOpen\"];class JS extends ov{constructor(t){super(t);this.menus=[];const e=t.t;this.set(\"isOpen\",false);this._setupIsOpenUpdater();this.children=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-menu-bar\"],\"aria-label\":e(\"Editor menu bar\"),role:\"menubar\"},children:this.children})}fillFromConfig(t,e){const n=this.locale;const o=gS({normalizedConfig:t,locale:n,componentFactory:e});const i=o.items.map((t=>this._createMenu({componentFactory:e,menuDefinition:t})));this.children.addMany(i)}render(){super.render();lS.toggleMenusAndFocusItemsOnHover(this);lS.closeMenusWhenTheBarCloses(this);lS.closeMenuWhenAnotherOnTheSameLevelOpens(this);lS.focusCycleMenusOnArrows(this);lS.closeOnClickOutside(this)}focus(){if(this.children.first){this.children.first.focus()}}close(){for(const t of this.children){t.isOpen=false}}registerMenu(t,e=null){if(e){t.delegate(...ZS).to(e);t.parentMenuView=e}else{t.delegate(...ZS).to(this,(t=>\"menu:\"+t))}t._attachBehaviors();this.menus.push(t)}_createMenu({componentFactory:t,menuDefinition:e,parentMenuView:n}){const o=this.locale;const i=new VS(o);this.registerMenu(i,n);i.buttonView.set({label:e.label});i.once(\"change:isOpen\",(()=>{const n=new FS(o);n.ariaLabel=e.label;i.panelView.children.add(n);n.items.addMany(this._createMenuItems({menuDefinition:e,parentMenuView:i,componentFactory:t}))}));return i}_createMenuItems({menuDefinition:t,parentMenuView:e,componentFactory:n}){const o=this.locale;const i=[];for(const r of t.groups){for(const t of r.items){const r=new aS(o,e);if(st(t)){r.children.add(this._createMenu({componentFactory:n,menuDefinition:t,parentMenuView:e}))}else{const o=this._createMenuItemContentFromFactory({componentName:t,componentFactory:n,parentMenuView:e});if(!o){continue}r.children.add(o)}i.push(r)}if(r!==t.groups[t.groups.length-1]){i.push(new rx(o))}}return i}_createMenuItemContentFromFactory({componentName:t,parentMenuView:e,componentFactory:n}){const o=n.create(t);if(!(o instanceof VS||o instanceof qS||o instanceof GS)){L(\"menu-bar-component-unsupported\",{componentName:t,componentView:o});return null}this._registerMenuTree(o,e);o.on(\"execute\",(()=>{this.close()}));return o}_registerMenuTree(t,e){if(!(t instanceof VS)){t.delegate(\"mouseenter\").to(e);return}this.registerMenu(t,e);const n=t.panelView.children.filter((t=>t instanceof FS))[0];if(!n){t.delegate(\"mouseenter\").to(e);return}const o=n.items.filter((t=>t instanceof ix));for(const e of o){this._registerMenuTree(e.children.get(0),t)}}_setupIsOpenUpdater(){let t;this.on(\"menu:change:isOpen\",((e,n,o)=>{clearTimeout(t);if(o){this.isOpen=true}else{t=setTimeout((()=>{this.isOpen=Array.from(this.children).some((t=>t.isOpen))}),0)}}))}}class XS extends EI{constructor(t,e){super(t);this.view=e;this._toolbarConfig=$y(t.config.get(\"toolbar\"));this._menuBarConfig=mS(t.config.get(\"menuBar\")||{});this._elementReplacer=new yt;this.listenTo(t.editing.view,\"scrollToTheSelection\",this._handleScrollToTheSelectionWithStickyPanel.bind(this))}get element(){return this.view.element}init(t){const e=this.editor;const n=this.view;const o=e.editing.view;const i=n.editable;const r=o.document.getRoot();i.name=r.rootName;n.render();const s=i.element;this.setEditableElement(i.name,s);n.editable.bind(\"isFocused\").to(this.focusTracker);o.attachDomRoot(s);if(t){this._elementReplacer.replace(t,this.element)}this._initPlaceholder();this._initToolbar();this._initMenuBar();this._initDialogPluginIntegration();this.fire(\"ready\")}destroy(){super.destroy();const t=this.view;const e=this.editor.editing.view;this._elementReplacer.restore();e.detachDomRoot(t.editable.name);t.destroy()}_initToolbar(){const t=this.view;t.stickyPanel.bind(\"isActive\").to(this.focusTracker,\"isFocused\");t.stickyPanel.limiterElement=t.element;t.stickyPanel.bind(\"viewportTopOffset\").to(this,\"viewportOffset\",(({top:t})=>t||0));t.toolbar.fillFromConfig(this._toolbarConfig,this.componentFactory);this.addToolbar(t.toolbar)}_initMenuBar(){const t=this.view;if(!t.menuBarView){return}this._setupMenuBarBehaviors(t.menuBarView.element);t.menuBarView.fillFromConfig(this._menuBarConfig,this.componentFactory)}_initPlaceholder(){const t=this.editor;const e=t.editing.view;const n=e.document.getRoot();const o=t.sourceElement;let i;const r=t.config.get(\"placeholder\");if(r){i=typeof r===\"string\"?r:r[this.view.editable.name]}if(!i&&o&&o.tagName.toLowerCase()===\"textarea\"){i=o.getAttribute(\"placeholder\")}if(i){n.placeholder=i}Hd({view:e,element:n,isDirectHost:false,keepOnFocus:true})}_handleScrollToTheSelectionWithStickyPanel(t,e,n){const o=this.view.stickyPanel;if(o.isSticky){const t=new hc(o.element).height;e.viewportOffset.top+=t}else{const t=()=>{this.editor.editing.view.scrollToTheSelection(n)};this.listenTo(o,\"change:isSticky\",t);setTimeout((()=>{this.stopListening(o,\"change:isSticky\",t)}),20)}}_initDialogPluginIntegration(){if(!this.editor.plugins.has(\"Dialog\")){return}const t=this.view.stickyPanel;const e=this.editor.plugins.get(\"Dialog\");e.on(\"show\",(()=>{const n=e.view;n.on(\"moveTo\",((e,o)=>{if(!t.isSticky||n.wasMoved){return}const i=new hc(t.contentPanelElement);if(o[1]{if(t.contains(this.focusTracker.focusedElement)){e.editing.view.focus();o()}}));e.keystrokes.set(\"Alt+F9\",((e,n)=>{if(!t.contains(this.focusTracker.focusedElement)){this.view.menuBarView.focus();n()}}))}}var tB=n(3394);var eB={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};eB.insert=\"head\";eB.singleton=true;var nB=Ld()(tB.A,eB);const oB=tB.A.locals||{};class iB extends PI{constructor(t,e,n={}){super(t);this.stickyPanel=new nT(t);this.toolbar=new tx(t,{shouldGroupWhenFull:n.shouldToolbarGroupWhenFull});if(n.useMenuBar){this.menuBarView=new JS(t)}this.editable=new LI(t,e)}render(){super.render();if(this.menuBarView){this.stickyPanel.content.addMany([this.menuBarView,this.toolbar])}else{this.stickyPanel.content.add(this.toolbar)}this.top.add(this.stickyPanel);this.main.add(this.editable)}}class rB{constructor(t){this.crashes=[];this.state=\"initializing\";this._now=Date.now;this.crashes=[];this._crashNumberLimit=typeof t.crashNumberLimit===\"number\"?t.crashNumberLimit:3;this._minimumNonErrorTimePeriod=typeof t.minimumNonErrorTimePeriod===\"number\"?t.minimumNonErrorTimePeriod:5e3;this._boundErrorHandler=t=>{const e=\"error\"in t?t.error:t.reason;if(e instanceof Error){this._handleError(e,t)}};this._listeners={};if(!this._restart){throw new Error(\"The Watchdog class was split into the abstract `Watchdog` class and the `EditorWatchdog` class. \"+\"Please, use `EditorWatchdog` if you have used the `Watchdog` class previously.\")}}destroy(){this._stopErrorHandling();this._listeners={}}on(t,e){if(!this._listeners[t]){this._listeners[t]=[]}this._listeners[t].push(e)}off(t,e){this._listeners[t]=this._listeners[t].filter((t=>t!==e))}_fire(t,...e){const n=this._listeners[t]||[];for(const t of n){t.apply(this,[null,...e])}}_startErrorHandling(){window.addEventListener(\"error\",this._boundErrorHandler);window.addEventListener(\"unhandledrejection\",this._boundErrorHandler)}_stopErrorHandling(){window.removeEventListener(\"error\",this._boundErrorHandler);window.removeEventListener(\"unhandledrejection\",this._boundErrorHandler)}_handleError(t,e){if(this._shouldReactToError(t)){this.crashes.push({message:t.message,stack:t.stack,filename:e instanceof ErrorEvent?e.filename:undefined,lineno:e instanceof ErrorEvent?e.lineno:undefined,colno:e instanceof ErrorEvent?e.colno:undefined,date:this._now()});const n=this._shouldRestart();this.state=\"crashed\";this._fire(\"stateChange\");this._fire(\"error\",{error:t,causesRestart:n});if(n){this._restart()}else{this.state=\"crashedPermanently\";this._fire(\"stateChange\")}}}_shouldReactToError(t){return t.is&&t.is(\"CKEditorError\")&&t.context!==undefined&&t.context!==null&&this.state===\"ready\"&&this._isErrorComingFromThisItem(t)}_shouldRestart(){if(this.crashes.length<=this._crashNumberLimit){return true}const t=this.crashes[this.crashes.length-1].date;const e=this.crashes[this.crashes.length-1-this._crashNumberLimit].date;const n=(t-e)/this._crashNumberLimit;return n>this._minimumNonErrorTimePeriod}}function sB(t,e=new Set){const n=[t];const o=new Set;let i=0;while(n.length>i){const t=n[i++];if(o.has(t)||!aB(t)||e.has(t)){continue}o.add(t);if(Symbol.iterator in t){try{for(const e of t){n.push(e)}}catch(t){}}else{for(const e in t){if(e===\"defaultValue\"){continue}n.push(t[e])}}}return o}function aB(t){const e=Object.prototype.toString.call(t);const n=typeof t;return!(n===\"number\"||n===\"boolean\"||n===\"string\"||n===\"symbol\"||n===\"function\"||e===\"[object Date]\"||e===\"[object RegExp]\"||e===\"[object Module]\"||t===undefined||t===null||t._watchdogExcluded||t instanceof EventTarget||t instanceof Event)}function cB(t,e,n=new Set){if(t===e&&dB(t)){return true}const o=sB(t,n);const i=sB(e,n);for(const t of o){if(i.has(t)){return true}}return false}function lB(t,e,n){const{subNodes:o,prevNodeMap:i}=getSubNodes(t,n.subNodes);const{subNodes:r,prevNodeMap:s}=getSubNodes(e,n.subNodes);for(const n of o){if(r.has(n)){const o=[];o.push(n);let r=i.get(n);while(r&&r!==t){o.push(r);r=i.get(r)}r=s.get(n);while(r&&r!==e){o.unshift(r);r=s.get(r)}console.log(\"--------\");console.log({target1:t});console.log({sharedNode:n});console.log({target2:e});console.log({connection:o});return true}}return false}function dB(t){return typeof t===\"object\"&&t!==null}class uB extends rB{constructor(t,e={}){super(e);this._editor=null;this._lifecyclePromise=null;this._initUsingData=true;this._editables={};this._throttledSave=iI(this._save.bind(this),typeof e.saveInterval===\"number\"?e.saveInterval:5e3);if(t){this._creator=(e,n)=>t.create(e,n)}this._destructor=t=>t.destroy()}get editor(){return this._editor}get _item(){return this._editor}setCreator(t){this._creator=t}setDestructor(t){this._destructor=t}_restart(){return Promise.resolve().then((()=>{this.state=\"initializing\";this._fire(\"stateChange\");return this._destroy()})).catch((t=>{console.error(\"An error happened during the editor destroying.\",t)})).then((()=>{const t={};const e=[];const n=this._config.rootsAttributes||{};const o={};for(const[i,r]of Object.entries(this._data.roots)){if(r.isLoaded){t[i]=\"\";o[i]=n[i]||{}}else{e.push(i)}}const i={...this._config,extraPlugins:this._config.extraPlugins||[],lazyRoots:e,rootsAttributes:o,_watchdogInitialData:this._data};delete i.initialData;i.extraPlugins.push(hB);if(this._initUsingData){return this.create(t,i,i.context)}else{if(qa(this._elementOrData)){return this.create(this._elementOrData,i,i.context)}else{return this.create(this._editables,i,i.context)}}})).then((()=>{this._fire(\"restart\")}))}create(t=this._elementOrData,e=this._config,n){this._lifecyclePromise=Promise.resolve(this._lifecyclePromise).then((()=>{super._startErrorHandling();this._elementOrData=t;this._initUsingData=typeof t==\"string\"||Object.keys(t).length>0&&typeof Object.values(t)[0]==\"string\";this._config=this._cloneEditorConfiguration(e)||{};this._config.context=n;return this._creator(t,this._config)})).then((t=>{this._editor=t;t.model.document.on(\"change:data\",this._throttledSave);this._lastDocumentVersion=t.model.document.version;this._data=this._getData();if(!this._initUsingData){this._editables=this._getEditables()}this.state=\"ready\";this._fire(\"stateChange\")})).finally((()=>{this._lifecyclePromise=null}));return this._lifecyclePromise}destroy(){this._lifecyclePromise=Promise.resolve(this._lifecyclePromise).then((()=>{this.state=\"destroyed\";this._fire(\"stateChange\");super.destroy();return this._destroy()})).finally((()=>{this._lifecyclePromise=null}));return this._lifecyclePromise}_destroy(){return Promise.resolve().then((()=>{this._stopErrorHandling();this._throttledSave.cancel();const t=this._editor;this._editor=null;t.model.document.off(\"change:data\",this._throttledSave);return this._destructor(t)}))}_save(){const t=this._editor.model.document.version;try{this._data=this._getData();if(!this._initUsingData){this._editables=this._getEditables()}this._lastDocumentVersion=t}catch(t){console.error(t,\"An error happened during restoring editor data. \"+\"Editor will be restored from the previously saved data.\")}}_setExcludedProperties(t){this._excludedProps=t}_getData(){const t=this._editor;const e=t.model.document.roots.filter((t=>t.isAttached()&&t.rootName!=\"$graveyard\"));const{plugins:n}=t;const o=n.has(\"CommentsRepository\")&&n.get(\"CommentsRepository\");const i=n.has(\"TrackChanges\")&&n.get(\"TrackChanges\");const r={roots:{},markers:{},commentThreads:JSON.stringify([]),suggestions:JSON.stringify([])};e.forEach((t=>{r.roots[t.rootName]={content:JSON.stringify(Array.from(t.getChildren())),attributes:JSON.stringify(Array.from(t.getAttributes())),isLoaded:t._isLoaded}}));for(const e of t.model.markers){if(!e._affectsData){continue}r.markers[e.name]={rangeJSON:e.getRange().toJSON(),usingOperation:e._managedUsingOperations,affectsData:e._affectsData}}if(o){r.commentThreads=JSON.stringify(o.getCommentThreads({toJSON:true,skipNotAttached:true}))}if(i){r.suggestions=JSON.stringify(i.getSuggestions({toJSON:true,skipNotAttached:true}))}return r}_getEditables(){const t={};for(const e of this.editor.model.document.getRootNames()){const n=this.editor.ui.getEditableElement(e);if(n){t[e]=n}}return t}_isErrorComingFromThisItem(t){return cB(this._editor,t.context,this._excludedProps)}_cloneEditorConfiguration(t){return Ua(t,((t,e)=>{if(qa(t)){return t}if(e===\"context\"){return t}}))}}class hB{constructor(t){this.editor=t;this._data=t.config.get(\"_watchdogInitialData\")}init(){this.editor.data.on(\"init\",(t=>{t.stop();this.editor.model.enqueueChange({isUndoable:false},(t=>{this._restoreCollaborationData();this._restoreEditorData(t)}));this.editor.data.fire(\"ready\")}),{priority:1e3-1})}_createNode(t,e){if(\"name\"in e){const n=t.createElement(e.name,e.attributes);if(e.children){for(const o of e.children){n._appendChild(this._createNode(t,o))}}return n}else{return t.createText(e.data,e.attributes)}}_restoreEditorData(t){const e=this.editor;Object.entries(this._data.roots).forEach((([n,{content:o,attributes:i}])=>{const r=JSON.parse(o);const s=JSON.parse(i);const a=e.model.document.getRoot(n);for(const[e,n]of s){t.setAttribute(e,n,a)}for(const e of r){const n=this._createNode(t,e);t.insert(n,a,\"end\")}}));Object.entries(this._data.markers).forEach((([n,o])=>{const{document:i}=e.model;const{rangeJSON:{start:r,end:s},...a}=o;const c=i.getRoot(r.root);const l=t.createPositionFromPath(c,r.path,r.stickiness);const d=t.createPositionFromPath(c,s.path,s.stickiness);const u=t.createRange(l,d);t.addMarker(n,{range:u,...a})}))}_restoreCollaborationData(){const t=JSON.parse(this._data.commentThreads);const e=JSON.parse(this._data.suggestions);t.forEach((t=>{const e=this.editor.config.get(\"collaboration.channelId\");const n=this.editor.plugins.get(\"CommentsRepository\");if(n.hasCommentThread(t.threadId)){const e=n.getCommentThread(t.threadId);e.remove()}n.addCommentThread({channelId:e,...t})}));e.forEach((t=>{const e=this.editor.plugins.get(\"TrackChangesEditing\");if(e.hasSuggestion(t.id)){const n=e.getSuggestion(t.id);n.attributes=t.attributes}else{e.addSuggestionData(t)}}))}}const mB=Symbol(\"MainQueueId\");class gB extends rB{constructor(t,e={}){super(e);this._watchdogs=new Map;this._context=null;this._contextProps=new Set;this._actionQueues=new fB;this._watchdogConfig=e;this._creator=e=>t.create(e);this._destructor=t=>t.destroy();this._actionQueues.onEmpty((()=>{if(this.state===\"initializing\"){this.state=\"ready\";this._fire(\"stateChange\")}}))}setCreator(t){this._creator=t}setDestructor(t){this._destructor=t}get context(){return this._context}create(t={}){return this._actionQueues.enqueue(mB,(()=>{this._contextConfig=t;return this._create()}))}getItem(t){const e=this._getWatchdog(t);return e._item}getItemState(t){const e=this._getWatchdog(t);return e.state}add(t){const e=pB(t);return Promise.all(e.map((t=>this._actionQueues.enqueue(t.id,(()=>{if(this.state===\"destroyed\"){throw new Error(\"Cannot add items to destroyed watchdog.\")}if(!this._context){throw new Error(\"Context was not created yet. You should call the `ContextWatchdog#create()` method first.\")}let e;if(this._watchdogs.has(t.id)){throw new Error(`Item with the given id is already added: '${t.id}'.`)}if(t.type===\"editor\"){e=new uB(null,this._watchdogConfig);e.setCreator(t.creator);e._setExcludedProperties(this._contextProps);if(t.destructor){e.setDestructor(t.destructor)}this._watchdogs.set(t.id,e);e.on(\"error\",((n,{error:o,causesRestart:i})=>{this._fire(\"itemError\",{itemId:t.id,error:o});if(!i){return}this._actionQueues.enqueue(t.id,(()=>new Promise((n=>{const o=()=>{e.off(\"restart\",o);this._fire(\"itemRestart\",{itemId:t.id});n()};e.on(\"restart\",o)}))))}));return e.create(t.sourceElementOrData,t.config,this._context)}else{throw new Error(`Not supported item type: '${t.type}'.`)}})))))}remove(t){const e=pB(t);return Promise.all(e.map((t=>this._actionQueues.enqueue(t,(()=>{const e=this._getWatchdog(t);this._watchdogs.delete(t);return e.destroy()})))))}destroy(){return this._actionQueues.enqueue(mB,(()=>{this.state=\"destroyed\";this._fire(\"stateChange\");super.destroy();return this._destroy()}))}_restart(){return this._actionQueues.enqueue(mB,(()=>{this.state=\"initializing\";this._fire(\"stateChange\");return this._destroy().catch((t=>{console.error(\"An error happened during destroying the context or items.\",t)})).then((()=>this._create())).then((()=>this._fire(\"restart\")))}))}_create(){return Promise.resolve().then((()=>{this._startErrorHandling();return this._creator(this._contextConfig)})).then((t=>{this._context=t;this._contextProps=sB(this._context);return Promise.all(Array.from(this._watchdogs.values()).map((t=>{t._setExcludedProperties(this._contextProps);return t.create(undefined,undefined,this._context)})))}))}_destroy(){return Promise.resolve().then((()=>{this._stopErrorHandling();const t=this._context;this._context=null;this._contextProps=new Set;return Promise.all(Array.from(this._watchdogs.values()).map((t=>t.destroy()))).then((()=>this._destructor(t)))}))}_getWatchdog(t){const e=this._watchdogs.get(t);if(!e){throw new Error(`Item with the given id was not registered: ${t}.`)}return e}_isErrorComingFromThisItem(t){for(const e of this._watchdogs.values()){if(e._isErrorComingFromThisItem(t)){return false}}return cB(this._context,t.context)}}class fB{constructor(){this._onEmptyCallbacks=[];this._queues=new Map;this._activeActions=0}onEmpty(t){this._onEmptyCallbacks.push(t)}enqueue(t,e){const n=t===mB;this._activeActions++;if(!this._queues.get(t)){this._queues.set(t,Promise.resolve())}const o=n?Promise.all(this._queues.values()):Promise.all([this._queues.get(mB),this._queues.get(t)]);const i=o.then(e);const r=i.catch((()=>{}));this._queues.set(t,r);return i.finally((()=>{this._activeActions--;if(this._queues.get(t)===r&&this._activeActions===0){this._onEmptyCallbacks.forEach((t=>t()))}}))}}function pB(t){return Array.isArray(t)?t:[t]}class bB extends(u_(c_)){constructor(t,e={}){if(!AB(t)&&e.initialData!==undefined){throw new N(\"editor-create-initial-data\",null)}super(e);this.config.define(\"menuBar.isVisible\",false);if(this.config.get(\"initialData\")===undefined){this.config.set(\"initialData\",wB(t))}if(AB(t)){this.sourceElement=t}this.model.document.createRoot();const n=!this.config.get(\"toolbar.shouldNotGroupWhenFull\");const o=this.config.get(\"menuBar\");const i=new iB(this.locale,this.editing.view,{shouldToolbarGroupWhenFull:n,useMenuBar:o.isVisible});this.ui=new XS(this,i);l_(this)}destroy(){if(this.sourceElement){this.updateSourceElement()}this.ui.destroy();return super.destroy()}static create(t,e={}){return new Promise((n=>{const o=new this(t,e);n(o.initPlugins().then((()=>o.ui.init(AB(t)?t:null))).then((()=>o.data.init(o.config.get(\"initialData\")))).then((()=>o.fire(\"ready\"))).then((()=>o)))}))}}bB.Context=Md;bB.EditorWatchdog=uB;bB.ContextWatchdog=gB;const kB=bB;function wB(t){return AB(t)?sc(t):t}function AB(t){return qa(t)}class _B{constructor(t,e=20){this._batch=null;this.model=t;this._size=0;this.limit=e;this._isLocked=false;this._changeCallback=(t,e)=>{if(e.isLocal&&e.isUndoable&&e!==this._batch){this._reset(true)}};this._selectionChangeCallback=()=>{this._reset()};this.model.document.on(\"change\",this._changeCallback);this.model.document.selection.on(\"change:range\",this._selectionChangeCallback);this.model.document.selection.on(\"change:attribute\",this._selectionChangeCallback)}get batch(){if(!this._batch){this._batch=this.model.createBatch({isTyping:true})}return this._batch}get size(){return this._size}input(t){this._size+=t;if(this._size>=this.limit){this._reset(true)}}get isLocked(){return this._isLocked}lock(){this._isLocked=true}unlock(){this._isLocked=false}destroy(){this.model.document.off(\"change\",this._changeCallback);this.model.document.selection.off(\"change:range\",this._selectionChangeCallback);this.model.document.selection.off(\"change:attribute\",this._selectionChangeCallback)}_reset(t=false){if(!this.isLocked||t){this._batch=null;this._size=0}}}class CB extends Id{constructor(t,e){super(t);this._buffer=new _B(t.model,e);this._isEnabledBasedOnSelection=false}get buffer(){return this._buffer}destroy(){super.destroy();this._buffer.destroy()}execute(t={}){const e=this.editor.model;const n=e.document;const o=t.text||\"\";const i=o.length;let r=n.selection;if(t.selection){r=t.selection}else if(t.range){r=e.createSelection(t.range)}if(!e.canEditAt(r)){return}const s=t.resultRange;e.enqueueChange(this._buffer.batch,(t=>{this._buffer.lock();const a=Array.from(n.selection.getAttributes());e.deleteContent(r);if(o){e.insertContent(t.createText(o,a),r)}if(s){t.setSelection(s)}else if(!r.is(\"documentSelection\")){t.setSelection(r)}this._buffer.unlock();this._buffer.input(i)}))}}const vB=[\"insertText\",\"insertReplacementText\"];class yB extends $m{constructor(t){super(t);this.focusObserver=t.getObserver(Cf);if(l.isAndroid){vB.push(\"insertCompositionText\")}const e=t.document;e.on(\"beforeinput\",((n,o)=>{if(!this.isEnabled){return}const{data:i,targetRanges:r,inputType:s,domEvent:a}=o;if(!vB.includes(s)){return}this.focusObserver.flush();const c=new D(e,\"insertText\");e.fire(c,new Qm(t,a,{text:i,selection:t.createSelection(r)}));if(c.stop.called){n.stop()}}));e.on(\"compositionend\",((n,{data:o,domEvent:i})=>{if(!this.isEnabled||l.isAndroid){return}if(!o){return}e.fire(\"insertText\",new Qm(t,i,{text:o,selection:e.selection}))}),{priority:\"lowest\"})}observe(){}stopObserving(){}}class xB extends Ed{static get pluginName(){return\"Input\"}init(){const t=this.editor;const e=t.model;const n=t.editing.view;const o=e.document.selection;n.addObserver(yB);const i=new CB(t,t.config.get(\"typing.undoStep\")||20);t.commands.add(\"insertText\",i);t.commands.add(\"input\",i);this.listenTo(n.document,\"insertText\",((o,i)=>{if(!n.document.isComposing){i.preventDefault()}const{text:r,selection:s,resultRange:a}=i;const c=Array.from(s.getRanges()).map((e=>t.editing.mapper.toModelRange(e)));let d=r;if(l.isAndroid){const t=Array.from(c[0].getItems()).reduce(((t,e)=>t+(e.is(\"$textProxy\")?e.data:\"\")),\"\");if(t){if(t.length<=d.length){if(d.startsWith(t)){d=d.substring(t.length);c[0].start=c[0].start.getShiftedBy(t.length)}}else{if(t.startsWith(d)){c[0].start=c[0].start.getShiftedBy(d.length);d=\"\"}}}}const u={text:d,selection:e.createSelection(c)};if(a){u.resultRange=t.editing.mapper.toModelRange(a)}t.execute(\"insertText\",u);n.scrollToTheSelection()}));if(l.isAndroid){this.listenTo(n.document,\"keydown\",((t,r)=>{if(o.isCollapsed||r.keyCode!=229||!n.document.isComposing){return}EB(e,i)}))}else{this.listenTo(n.document,\"compositionstart\",(()=>{if(o.isCollapsed){return}EB(e,i)}))}}}function EB(t,e){if(!e.isEnabled){return}const n=e.buffer;n.lock();t.enqueueChange(n.batch,(()=>{t.deleteContent(t.document.selection)}));n.unlock()}class DB extends Id{constructor(t,e){super(t);this.direction=e;this._buffer=new _B(t.model,t.config.get(\"typing.undoStep\"));this._isEnabledBasedOnSelection=false}get buffer(){return this._buffer}execute(t={}){const e=this.editor.model;const n=e.document;e.enqueueChange(this._buffer.batch,(o=>{this._buffer.lock();const i=o.createSelection(t.selection||n.selection);if(!e.canEditAt(i)){return}const r=t.sequence||1;const s=i.isCollapsed;if(i.isCollapsed){e.modifySelection(i,{direction:this.direction,unit:t.unit,treatEmojiAsSingleUnit:true})}if(this._shouldEntireContentBeReplacedWithParagraph(r)){this._replaceEntireContentWithParagraph(o);return}if(this._shouldReplaceFirstBlockWithParagraph(i,r)){this.editor.execute(\"paragraph\",{selection:i});return}if(i.isCollapsed){return}let a=0;i.getFirstRange().getMinimalFlatRanges().forEach((t=>{a+=Et(t.getWalker({singleCharacters:true,ignoreElementEnd:true,shallow:true}))}));e.deleteContent(i,{doNotResetEntireContent:s,direction:this.direction});this._buffer.input(a);o.setSelection(i);this._buffer.unlock()}))}_shouldEntireContentBeReplacedWithParagraph(t){if(t>1){return false}const e=this.editor.model;const n=e.document;const o=n.selection;const i=e.schema.getLimitElement(o);const r=o.isCollapsed&&o.containsEntireContent(i);if(!r){return false}if(!e.schema.checkChild(i,\"paragraph\")){return false}const s=i.getChild(0);if(s&&s.is(\"element\",\"paragraph\")){return false}return true}_replaceEntireContentWithParagraph(t){const e=this.editor.model;const n=e.document;const o=n.selection;const i=e.schema.getLimitElement(o);const r=t.createElement(\"paragraph\");t.remove(t.createRangeIn(i));t.insert(r,i);t.setSelection(r,0)}_shouldReplaceFirstBlockWithParagraph(t,e){const n=this.editor.model;if(e>1||this.direction!=\"backward\"){return false}if(!t.isCollapsed){return false}const o=t.getFirstPosition();const i=n.schema.getLimitElement(o);const r=i.getChild(0);if(o.parent!=r){return false}if(!t.containsEntireContent(r)){return false}if(!n.schema.checkChild(i,\"paragraph\")){return false}if(r.name==\"paragraph\"){return false}return true}}const IB=\"character\";const TB=\"word\";const SB=\"codePoint\";const BB=\"selection\";const MB=\"backward\";const PB=\"forward\";const NB={deleteContent:{unit:BB,direction:MB},deleteContentBackward:{unit:SB,direction:MB},deleteWordBackward:{unit:TB,direction:MB},deleteHardLineBackward:{unit:BB,direction:MB},deleteSoftLineBackward:{unit:BB,direction:MB},deleteContentForward:{unit:IB,direction:PB},deleteWordForward:{unit:TB,direction:PB},deleteHardLineForward:{unit:BB,direction:PB},deleteSoftLineForward:{unit:BB,direction:PB}};class LB extends $m{constructor(t){super(t);const e=t.document;let n=0;e.on(\"keydown\",(()=>{n++}));e.on(\"keyup\",(()=>{n=0}));e.on(\"beforeinput\",((o,i)=>{if(!this.isEnabled){return}const{targetRanges:r,domEvent:s,inputType:a}=i;const c=NB[a];if(!c){return}const d={direction:c.direction,unit:c.unit,sequence:n};if(d.unit==BB){d.selectionToRemove=t.createSelection(r[0])}if(a===\"deleteContentBackward\"){if(l.isAndroid){d.sequence=1}if(OB(r)){d.unit=BB;d.selectionToRemove=t.createSelection(r)}}const u=new Th(e,\"delete\",r[0]);e.fire(u,new Qm(t,s,d));if(u.stop.called){o.stop()}}));if(l.isBlink){zB(this)}}observe(){}stopObserving(){}}function zB(t){const e=t.view;const n=e.document;let o=null;let i=false;n.on(\"keydown\",((t,{keyCode:e})=>{o=e;i=false}));n.on(\"keyup\",((a,{keyCode:c,domEvent:l})=>{const d=n.selection;const u=t.isEnabled&&c==o&&r(c)&&!d.isCollapsed&&!i;o=null;if(u){const t=d.getFirstRange();const o=new Th(n,\"delete\",t);const i={unit:BB,direction:s(c),selectionToRemove:d};n.fire(o,new Qm(e,l,i))}}));n.on(\"beforeinput\",((t,{inputType:e})=>{const n=NB[e];const a=r(o)&&n&&n.direction==s(o);if(a){i=true}}),{priority:\"high\"});n.on(\"beforeinput\",((t,{inputType:e,data:n})=>{const i=o==Yc.delete&&e==\"insertText\"&&n==\"\u007F\";if(i){t.stop()}}),{priority:\"high\"});function r(t){return t==Yc.backspace||t==Yc.delete}function s(t){return t==Yc.backspace?MB:PB}}function OB(t){if(t.length!=1||t[0].isCollapsed){return false}const e=t[0].getWalker({direction:\"backward\",singleCharacters:true,ignoreElementEnd:true});let n=0;for(const{nextPosition:t}of e){if(!t.parent.is(\"$text\")){n++}else{const e=t.parent.data;const o=t.offset;if(_d(e,o)||Cd(e,o)||yd(e,o)){continue}n++}if(n>1){return true}}return false}class RB extends Ed{static get pluginName(){return\"Delete\"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;const o=t.model.document;e.addObserver(LB);this._undoOnBackspace=false;const i=new DB(t,\"forward\");t.commands.add(\"deleteForward\",i);t.commands.add(\"forwardDelete\",i);t.commands.add(\"delete\",new DB(t,\"backward\"));this.listenTo(n,\"delete\",((o,i)=>{if(!n.isComposing){i.preventDefault()}const{direction:r,sequence:s,selectionToRemove:a,unit:c}=i;const l=r===\"forward\"?\"deleteForward\":\"delete\";const d={sequence:s};if(c==\"selection\"){const e=Array.from(a.getRanges()).map((e=>t.editing.mapper.toModelRange(e)));d.selection=t.model.createSelection(e)}else{d.unit=c}t.execute(l,d);e.scrollToTheSelection()}),{priority:\"low\"});if(this.editor.plugins.has(\"UndoEditing\")){this.listenTo(n,\"delete\",((e,n)=>{if(this._undoOnBackspace&&n.direction==\"backward\"&&n.sequence==1&&n.unit==\"codePoint\"){this._undoOnBackspace=false;t.execute(\"undo\");n.preventDefault();e.stop()}}),{context:\"$capture\"});this.listenTo(o,\"change\",(()=>{this._undoOnBackspace=false}))}}requestUndoOnBackspace(){if(this.editor.plugins.has(\"UndoEditing\")){this._undoOnBackspace=true}}}class VB extends Ed{static get requires(){return[xB,RB]}static get pluginName(){return\"Typing\"}}function FB(t,e){let n=t.start;const o=Array.from(t.getWalker({ignoreElementEnd:false})).reduce(((t,{item:o})=>{if(!(o.is(\"$text\")||o.is(\"$textProxy\"))){n=e.createPositionAfter(o);return\"\"}return t+o.data}),\"\");return{text:o,range:e.createRange(n,t.end)}}class jB extends(mt()){constructor(t,e){super();this.model=t;this.testCallback=e;this._hasMatch=false;this.set(\"isEnabled\",true);this.on(\"change:isEnabled\",(()=>{if(this.isEnabled){this._startListening()}else{this.stopListening(t.document.selection);this.stopListening(t.document)}}));this._startListening()}get hasMatch(){return this._hasMatch}_startListening(){const t=this.model;const e=t.document;this.listenTo(e.selection,\"change:range\",((t,{directChange:n})=>{if(!n){return}if(!e.selection.isCollapsed){if(this.hasMatch){this.fire(\"unmatched\");this._hasMatch=false}return}this._evaluateTextBeforeSelection(\"selection\")}));this.listenTo(e,\"change:data\",((t,e)=>{if(e.isUndo||!e.isLocal){return}this._evaluateTextBeforeSelection(\"data\",{batch:e})}))}_evaluateTextBeforeSelection(t,e={}){const n=this.model;const o=n.document;const i=o.selection;const r=n.createRange(n.createPositionAt(i.focus.parent,0),i.focus);const{text:s,range:a}=FB(r,n);const c=this.testCallback(s);if(!c&&this.hasMatch){this.fire(\"unmatched\")}this._hasMatch=!!c;if(c){const n=Object.assign(e,{text:s,range:a});if(typeof c==\"object\"){Object.assign(n,c)}this.fire(`matched:${t}`,n)}}}class HB extends Ed{static get pluginName(){return\"TwoStepCaretMovement\"}constructor(t){super(t);this._isNextGravityRestorationSkipped=false;this.attributes=new Set;this._overrideUid=null}init(){const t=this.editor;const e=t.model;const n=t.editing.view;const o=t.locale;const i=e.document.selection;this.listenTo(n.document,\"arrowKey\",((t,e)=>{if(!i.isCollapsed){return}if(e.shiftKey||e.altKey||e.ctrlKey){return}const n=e.keyCode==Yc.arrowright;const r=e.keyCode==Yc.arrowleft;if(!n&&!r){return}const s=o.contentLanguageDirection;let a=false;if(s===\"ltr\"&&n||s===\"rtl\"&&r){a=this._handleForwardMovement(e)}else{a=this._handleBackwardMovement(e)}if(a===true){t.stop()}}),{context:\"$text\",priority:\"highest\"});this.listenTo(i,\"change:range\",((t,e)=>{if(this._isNextGravityRestorationSkipped){this._isNextGravityRestorationSkipped=false;return}if(!this._isGravityOverridden){return}if(!e.directChange&&KB(i.getFirstPosition(),this.attributes)){return}this._restoreGravity()}));this._enableClickingAfterNode();this._enableInsertContentSelectionAttributesFixer();this._handleDeleteContentAfterNode()}registerAttribute(t){this.attributes.add(t)}_handleForwardMovement(t){const e=this.attributes;const n=this.editor.model;const o=n.document.selection;const i=o.getFirstPosition();if(this._isGravityOverridden){return false}if(i.isAtStart&&UB(o,e)){return false}if(KB(i,e)){GB(t);if(UB(o,e)&&KB(i,e,true)){qB(n,e)}else{this._overrideGravity()}return true}return false}_handleBackwardMovement(t){const e=this.attributes;const n=this.editor.model;const o=n.document.selection;const i=o.getFirstPosition();if(this._isGravityOverridden){GB(t);this._restoreGravity();if(KB(i,e,true)){qB(n,e)}else{WB(n,e,i)}return true}else{if(i.isAtStart){if(UB(o,e)){GB(t);WB(n,e,i);return true}return false}if(!UB(o,e)&&KB(i,e,true)){GB(t);WB(n,e,i);return true}if($B(i,e)){if(i.isAtEnd&&!UB(o,e)&&KB(i,e)){GB(t);WB(n,e,i);return true}this._isNextGravityRestorationSkipped=true;this._overrideGravity();return false}}return false}_enableClickingAfterNode(){const t=this.editor;const e=t.model;const n=e.document.selection;const o=t.editing.view.document;t.editing.view.addObserver(dA);let i=false;this.listenTo(o,\"mousedown\",(()=>{i=true}));this.listenTo(o,\"selectionChange\",(()=>{const t=this.attributes;if(!i){return}i=false;if(!n.isCollapsed){return}if(!UB(n,t)){return}const o=n.getFirstPosition();if(!KB(o,t)){return}if(o.isAtStart||KB(o,t,true)){qB(e,t)}else if(!this._isGravityOverridden){this._overrideGravity()}}))}_enableInsertContentSelectionAttributesFixer(){const t=this.editor;const e=t.model;const n=e.document.selection;const o=this.attributes;this.listenTo(e,\"insertContent\",(()=>{const t=n.getFirstPosition();if(UB(n,o)&&KB(t,o)){qB(e,o)}}),{priority:\"low\"})}_handleDeleteContentAfterNode(){const t=this.editor;const e=t.model;const n=e.document.selection;const o=t.editing.view;let i=false;let r=false;this.listenTo(o.document,\"delete\",((t,e)=>{i=e.direction===\"backward\"}),{priority:\"high\"});this.listenTo(e,\"deleteContent\",(()=>{if(!i){return}const t=n.getFirstPosition();r=UB(n,this.attributes)&&!$B(t,this.attributes)}),{priority:\"high\"});this.listenTo(e,\"deleteContent\",(()=>{if(!i){return}i=false;if(r){return}t.model.enqueueChange((()=>{const t=n.getFirstPosition();if(UB(n,this.attributes)&&KB(t,this.attributes)){if(t.isAtStart||KB(t,this.attributes,true)){qB(e,this.attributes)}else if(!this._isGravityOverridden){this._overrideGravity()}}}))}),{priority:\"low\"})}get _isGravityOverridden(){return!!this._overrideUid}_overrideGravity(){this._overrideUid=this.editor.model.change((t=>t.overrideSelectionGravity()))}_restoreGravity(){this.editor.model.change((t=>{t.restoreSelectionGravity(this._overrideUid);this._overrideUid=null}))}}function UB(t,e){for(const n of e){if(t.hasAttribute(n)){return true}}return false}function WB(t,e,n){const o=n.nodeBefore;t.change((n=>{if(o){const e=[];const i=t.schema.isObject(o)&&t.schema.isInline(o);for(const[n,r]of o.getAttributes()){if(t.schema.checkAttribute(\"$text\",n)&&(!i||t.schema.getAttributeProperties(n).copyFromObject!==false)){e.push([n,r])}}n.setSelectionAttribute(e)}else{n.removeSelectionAttribute(e)}}))}function qB(t,e){t.change((t=>{t.removeSelectionAttribute(e)}))}function GB(t){t.preventDefault()}function $B(t,e){const n=t.getShiftedBy(-1);return KB(n,e)}function KB(t,e,n=false){const{nodeBefore:o,nodeAfter:i}=t;for(const t of e){const e=o?o.getAttribute(t):undefined;const r=i?i.getAttribute(t):undefined;if(n&&(e===undefined||r===undefined)){continue}if(r!==e){return true}}return false}const YB={copyright:{from:\"(c)\",to:\"\u00A9\"},registeredTrademark:{from:\"(r)\",to:\"\u00AE\"},trademark:{from:\"(tm)\",to:\"\u2122\"},oneHalf:{from:/(^|[^/a-z0-9])(1\\/2)([^/a-z0-9])$/i,to:[null,\"\u00BD\",null]},oneThird:{from:/(^|[^/a-z0-9])(1\\/3)([^/a-z0-9])$/i,to:[null,\"\u2153\",null]},twoThirds:{from:/(^|[^/a-z0-9])(2\\/3)([^/a-z0-9])$/i,to:[null,\"\u2154\",null]},oneForth:{from:/(^|[^/a-z0-9])(1\\/4)([^/a-z0-9])$/i,to:[null,\"\u00BC\",null]},threeQuarters:{from:/(^|[^/a-z0-9])(3\\/4)([^/a-z0-9])$/i,to:[null,\"\u00BE\",null]},lessThanOrEqual:{from:\"<=\",to:\"\u2264\"},greaterThanOrEqual:{from:\">=\",to:\"\u2265\"},notEqual:{from:\"!=\",to:\"\u2260\"},arrowLeft:{from:\"<-\",to:\"\u2190\"},arrowRight:{from:\"->\",to:\"\u2192\"},horizontalEllipsis:{from:\"...\",to:\"\u2026\"},enDash:{from:/(^| )(--)( )$/,to:[null,\"\u2013\",null]},emDash:{from:/(^| )(---)( )$/,to:[null,\"\u2014\",null]},quotesPrimary:{from:nM('\"'),to:[null,\"\u201C\",null,\"\u201D\"]},quotesSecondary:{from:nM(\"'\"),to:[null,\"\u2018\",null,\"\u2019\"]},quotesPrimaryEnGb:{from:nM(\"'\"),to:[null,\"\u2018\",null,\"\u2019\"]},quotesSecondaryEnGb:{from:nM('\"'),to:[null,\"\u201C\",null,\"\u201D\"]},quotesPrimaryPl:{from:nM('\"'),to:[null,\"\u201E\",null,\"\u201D\"]},quotesSecondaryPl:{from:nM(\"'\"),to:[null,\"\u201A\",null,\"\u2019\"]}};const QB={symbols:[\"copyright\",\"registeredTrademark\",\"trademark\"],mathematical:[\"oneHalf\",\"oneThird\",\"twoThirds\",\"oneForth\",\"threeQuarters\",\"lessThanOrEqual\",\"greaterThanOrEqual\",\"notEqual\",\"arrowLeft\",\"arrowRight\"],typography:[\"horizontalEllipsis\",\"enDash\",\"emDash\"],quotes:[\"quotesPrimary\",\"quotesSecondary\"]};const ZB=[\"symbols\",\"mathematical\",\"typography\",\"quotes\"];class JB extends Ed{static get requires(){return[\"Delete\",\"Input\"]}static get pluginName(){return\"TextTransformation\"}constructor(t){super(t);t.config.define(\"typing\",{transformations:{include:ZB}})}init(){const t=this.editor.model;const e=t.document.selection;e.on(\"change:range\",(()=>{this.isEnabled=!e.anchor.parent.is(\"element\",\"codeBlock\")}));this._enableTransformationWatchers()}_enableTransformationWatchers(){const t=this.editor;const e=t.model;const n=t.plugins.get(\"Delete\");const o=oM(t.config.get(\"typing.transformations\"));const i=t=>{for(const e of o){const n=e.from;const o=n.test(t);if(o){return{normalizedTransformation:e}}}};const r=new jB(t.model,i);r.on(\"matched:data\",((t,o)=>{if(!o.batch.isTyping){return}const{from:i,to:r}=o.normalizedTransformation;const s=i.exec(o.text);const a=r(s.slice(1));const c=o.range;let l=s.index;e.enqueueChange((t=>{for(let n=1;n{n.requestUndoOnBackspace()}))}))}));r.bind(\"isEnabled\").to(this)}}function XB(t){if(typeof t==\"string\"){return new RegExp(`(${lT(t)})$`)}return t}function tM(t){if(typeof t==\"string\"){return()=>[t]}else if(t instanceof Array){return()=>t}return t}function eM(t){const e=t.textNode?t.textNode:t.nodeAfter;return e.getAttributes()}function nM(t){return new RegExp(`(^|\\\\s)(${t})([^${t}]*)(${t})$`)}function oM(t){const e=t.extra||[];const n=t.remove||[];const o=t=>!n.includes(t);const i=t.include.concat(e).filter(o);return iM(i).filter(o).map((t=>typeof t==\"string\"&&YB[t]?YB[t]:t)).filter((t=>typeof t===\"object\")).map((t=>({from:XB(t.from),to:tM(t.to)})))}function iM(t){const e=new Set;for(const n of t){if(typeof n==\"string\"&&QB[n]){for(const t of QB[n]){e.add(t)}}else{e.add(n)}}return Array.from(e)}function rM(t,e,n,o){return o.createRange(sM(t,e,n,true,o),sM(t,e,n,false,o))}function sM(t,e,n,o,i){let r=t.textNode||(o?t.nodeBefore:t.nodeAfter);let s=null;while(r&&r.getAttribute(e)==n){s=r;r=o?r.previousSibling:r.nextSibling}return s?i.createPositionAt(s,o?\"before\":\"after\"):t}function aM(t,e,n,o){const i=t.editing.view;const r=new Set;i.document.registerPostFixer((i=>{const s=t.model.document.selection;let a=false;if(s.hasAttribute(e)){const c=rM(s.getFirstPosition(),e,s.getAttribute(e),t.model);const l=t.editing.mapper.toViewRange(c);for(const t of l.getItems()){if(t.is(\"element\",n)&&!t.hasClass(o)){i.addClass(o,t);r.add(t);a=true}}}return a}));t.conversion.for(\"editingDowncast\").add((t=>{t.on(\"insert\",e,{priority:\"highest\"});t.on(\"remove\",e,{priority:\"highest\"});t.on(\"attribute\",e,{priority:\"highest\"});t.on(\"selection\",e,{priority:\"highest\"});function e(){i.change((t=>{for(const e of r.values()){t.removeClass(o,e);r.delete(e)}}))}}))}function cM(t,e,n,o){let i;let r=null;if(typeof o==\"function\"){i=o}else{r=t.commands.get(o);i=()=>{t.execute(o)}}t.model.document.on(\"change:data\",((s,a)=>{if(r&&!r.isEnabled||!e.isEnabled){return}const c=sd(t.model.document.selection.getRanges());if(!c.isCollapsed){return}if(a.isUndo||!a.isLocal){return}const l=Array.from(t.model.document.differ.getChanges());const d=l[0];if(l.length!=1||d.type!==\"insert\"||d.name!=\"$text\"||d.length!=1){return}const u=d.position.parent;if(u.is(\"element\",\"codeBlock\")){return}if(u.is(\"element\",\"listItem\")&&typeof o!==\"function\"&&![\"numberedList\",\"bulletedList\",\"todoList\"].includes(o)){return}if(r&&r.value===true){return}const h=u.getChild(0);const m=t.model.createRangeOn(h);if(!m.containsRange(c)&&!c.end.isEqual(m.end)){return}const g=n.exec(h.data.substr(0,c.end.offset));if(!g){return}t.model.enqueueChange((e=>{const n=e.createPositionAt(u,0);const o=e.createPositionAt(u,g[0].length);const r=new mp(n,o);const s=i({match:g});if(s!==false){e.remove(r);const n=t.model.document.selection.getFirstRange();const o=e.createRangeIn(u);if(u.isEmpty&&!o.isEqual(n)&&!o.containsRange(n,true)){e.remove(u)}}r.detach();t.model.enqueueChange((()=>{const e=t.plugins.get(\"Delete\");e.requestUndoOnBackspace()}))}))}))}function lM(t,e,n,o){let i;let r;if(n instanceof RegExp){i=n}else{r=n}r=r||(t=>{let e;const n=[];const o=[];while((e=i.exec(t))!==null){if(e&&e.length<4){break}let{index:t,1:i,2:r,3:s}=e;const a=i+r+s;t+=e[0].length-a.length;const c=[t,t+i.length];const l=[t+i.length+r.length,t+i.length+r.length+s.length];n.push(c);n.push(l);o.push([t+i.length,t+i.length+r.length])}return{remove:n,format:o}});t.model.document.on(\"change:data\",((n,i)=>{if(i.isUndo||!i.isLocal||!e.isEnabled){return}const s=t.model;const a=s.document.selection;if(!a.isCollapsed){return}const c=Array.from(s.document.differ.getChanges());const l=c[0];if(c.length!=1||l.type!==\"insert\"||l.name!=\"$text\"||l.length!=1){return}const d=a.focus;const u=d.parent;const{text:h,range:m}=uM(s.createRange(s.createPositionAt(u,0),d),s);const g=r(h);const f=dM(m.start,g.format,s);const p=dM(m.start,g.remove,s);if(!(f.length&&p.length)){return}s.enqueueChange((e=>{const n=o(e,f);if(n===false){return}for(const t of p.reverse()){e.remove(t)}s.enqueueChange((()=>{const e=t.plugins.get(\"Delete\");e.requestUndoOnBackspace()}))}))}))}function dM(t,e,n){return e.filter((t=>t[0]!==undefined&&t[1]!==undefined)).map((e=>n.createRange(t.getShiftedBy(e[0]),t.getShiftedBy(e[1]))))}function uM(t,e){let n=t.start;const o=Array.from(t.getItems()).reduce(((t,o)=>{if(!(o.is(\"$text\")||o.is(\"$textProxy\"))||o.getAttribute(\"code\")){n=e.createPositionAfter(o);return\"\"}return t+o.data}),\"\");return{text:o,range:e.createRange(n,t.end)}}class hM extends Ed{static get requires(){return[RB]}static get pluginName(){return\"Autoformat\"}afterInit(){const t=this.editor;const e=this.editor.t;this._addListAutoformats();this._addBasicStylesAutoformats();this._addHeadingAutoformats();this._addBlockQuoteAutoformats();this._addCodeBlockAutoformats();this._addHorizontalLineAutoformats();t.accessibility.addKeystrokeInfos({keystrokes:[{label:e(\"Revert autoformatting action\"),keystroke:\"Backspace\"}]})}_addListAutoformats(){const t=this.editor.commands;if(t.get(\"bulletedList\")){cM(this.editor,this,/^[*-]\\s$/,\"bulletedList\")}if(t.get(\"numberedList\")){cM(this.editor,this,/^1[.|)]\\s$/,\"numberedList\")}if(t.get(\"todoList\")){cM(this.editor,this,/^\\[\\s?\\]\\s$/,\"todoList\")}if(t.get(\"checkTodoList\")){cM(this.editor,this,/^\\[\\s?x\\s?\\]\\s$/,(()=>{this.editor.execute(\"todoList\");this.editor.execute(\"checkTodoList\")}))}}_addBasicStylesAutoformats(){const t=this.editor.commands;if(t.get(\"bold\")){const t=mM(this.editor,\"bold\");lM(this.editor,this,/(?:^|\\s)(\\*\\*)([^*]+)(\\*\\*)$/g,t);lM(this.editor,this,/(?:^|\\s)(__)([^_]+)(__)$/g,t)}if(t.get(\"italic\")){const t=mM(this.editor,\"italic\");lM(this.editor,this,/(?:^|\\s)(\\*)([^*_]+)(\\*)$/g,t);lM(this.editor,this,/(?:^|\\s)(_)([^_]+)(_)$/g,t)}if(t.get(\"code\")){const t=mM(this.editor,\"code\");lM(this.editor,this,/(`)([^`]+)(`)$/g,t)}if(t.get(\"strikethrough\")){const t=mM(this.editor,\"strikethrough\");lM(this.editor,this,/(~~)([^~]+)(~~)$/g,t)}}_addHeadingAutoformats(){const t=this.editor.commands.get(\"heading\");if(t){t.modelElements.filter((t=>t.match(/^heading[1-6]$/))).forEach((e=>{const n=e[7];const o=new RegExp(`^(#{${n}})\\\\s$`);cM(this.editor,this,o,(()=>{if(!t.isEnabled||t.value===e){return false}this.editor.execute(\"heading\",{value:e})}))}))}}_addBlockQuoteAutoformats(){if(this.editor.commands.get(\"blockQuote\")){cM(this.editor,this,/^>\\s$/,\"blockQuote\")}}_addCodeBlockAutoformats(){const t=this.editor;const e=t.model.document.selection;if(t.commands.get(\"codeBlock\")){cM(t,this,/^```$/,(()=>{if(e.getFirstPosition().parent.is(\"element\",\"listItem\")){return false}this.editor.execute(\"codeBlock\",{usePreviousLanguageChoice:true})}))}}_addHorizontalLineAutoformats(){if(this.editor.commands.get(\"horizontalLine\")){cM(this.editor,this,/^---$/,\"horizontalLine\")}}}function mM(t,e){return(n,o)=>{const i=t.commands.get(e);if(!i.isEnabled){return false}const r=t.model.schema.getValidRanges(o,e);for(const t of r){n.setAttribute(e,true,t)}n.removeSelectionAttribute(e)}}class gM extends Id{constructor(t,e){super(t);this.attributeKey=e}refresh(){const t=this.editor.model;const e=t.document;this.value=this._getValueFromFirstAllowedNode();this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model;const n=e.document;const o=n.selection;const i=t.forceValue===undefined?!this.value:t.forceValue;e.change((t=>{if(o.isCollapsed){if(i){t.setSelectionAttribute(this.attributeKey,true)}else{t.removeSelectionAttribute(this.attributeKey)}}else{const n=e.schema.getValidRanges(o.getRanges(),this.attributeKey);for(const e of n){if(i){t.setAttribute(this.attributeKey,i,e)}else{t.removeAttribute(this.attributeKey,e)}}}}))}_getValueFromFirstAllowedNode(){const t=this.editor.model;const e=t.schema;const n=t.document.selection;if(n.isCollapsed){return n.hasAttribute(this.attributeKey)}for(const t of n.getRanges()){for(const n of t.getItems()){if(e.checkAttribute(n,this.attributeKey)){return n.hasAttribute(this.attributeKey)}}}return false}}const fM=\"bold\";class pM extends Ed{static get pluginName(){return\"BoldEditing\"}init(){const t=this.editor;const e=this.editor.t;t.model.schema.extend(\"$text\",{allowAttributes:fM});t.model.schema.setAttributeProperties(fM,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:fM,view:\"strong\",upcastAlso:[\"b\",t=>{const e=t.getStyle(\"font-weight\");if(!e){return null}if(e==\"bold\"||Number(e)>=600){return{name:true,styles:[\"font-weight\"]}}return null}]});t.commands.add(fM,new gM(t,fM));t.keystrokes.set(\"CTRL+B\",fM);t.accessibility.addKeystrokeInfos({keystrokes:[{label:e(\"Bold text\"),keystroke:\"CTRL+B\"}]})}}function bM({editor:t,commandName:e,plugin:n,icon:o,label:i,keystroke:r}){return s=>{const a=t.commands.get(e);const c=new s(t.locale);c.set({label:i,icon:o,keystroke:r,isToggleable:true});c.bind(\"isEnabled\").to(a,\"isEnabled\");n.listenTo(c,\"execute\",(()=>{t.execute(e);t.editing.view.focus()}));return c}}const kM=\"bold\";class wM extends Ed{static get pluginName(){return\"BoldUI\"}init(){const t=this.editor;const e=t.locale.t;const n=t.commands.get(kM);const o=bM({editor:t,commandName:kM,plugin:this,icon:CC.bold,label:e(\"Bold\"),keystroke:\"CTRL+B\"});t.ui.componentFactory.add(kM,(()=>{const t=o(Sv);t.set({tooltip:true});t.bind(\"isOn\").to(n,\"value\");return t}));t.ui.componentFactory.add(\"menuBar:\"+kM,(()=>o(qS)))}}class AM extends Ed{static get requires(){return[pM,wM]}static get pluginName(){return\"Bold\"}}const _M=\"code\";const CM=\"ck-code_selected\";class vM extends Ed{static get pluginName(){return\"CodeEditing\"}static get requires(){return[HB]}init(){const t=this.editor;const e=this.editor.t;t.model.schema.extend(\"$text\",{allowAttributes:_M});t.model.schema.setAttributeProperties(_M,{isFormatting:true,copyOnEnter:false});t.conversion.attributeToElement({model:_M,view:\"code\",upcastAlso:{styles:{\"word-wrap\":\"break-word\"}}});t.commands.add(_M,new gM(t,_M));t.plugins.get(HB).registerAttribute(_M);aM(t,_M,\"code\",CM);t.accessibility.addKeystrokeInfos({keystrokes:[{label:e(\"Move out of an inline code style\"),keystroke:[[\"arrowleft\",\"arrowleft\"],[\"arrowright\",\"arrowright\"]]}]})}}const yM='';var xM=n(2165);var EM={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};EM.insert=\"head\";EM.singleton=true;var DM=Ld()(xM.A,EM);const IM=xM.A.locals||{};const TM=\"code\";class SM extends Ed{static get pluginName(){return\"CodeUI\"}init(){const t=this.editor;const e=t.locale.t;const n=bM({editor:t,commandName:TM,plugin:this,icon:yM,label:e(\"Code\")});t.ui.componentFactory.add(TM,(()=>{const e=n(Sv);const o=t.commands.get(TM);e.set({tooltip:true});e.bind(\"isOn\").to(o,\"value\");return e}));t.ui.componentFactory.add(\"menuBar:\"+TM,(()=>n(qS)))}}class BM extends Ed{static get requires(){return[vM,SM]}static get pluginName(){return\"Code\"}}const MM=\"italic\";class PM extends Ed{static get pluginName(){return\"ItalicEditing\"}init(){const t=this.editor;const e=this.editor.t;t.model.schema.extend(\"$text\",{allowAttributes:MM});t.model.schema.setAttributeProperties(MM,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:MM,view:\"i\",upcastAlso:[\"em\",{styles:{\"font-style\":\"italic\"}}]});t.commands.add(MM,new gM(t,MM));t.keystrokes.set(\"CTRL+I\",MM);t.accessibility.addKeystrokeInfos({keystrokes:[{label:e(\"Italic text\"),keystroke:\"CTRL+I\"}]})}}const NM='';const LM=\"italic\";class zM extends Ed{static get pluginName(){return\"ItalicUI\"}init(){const t=this.editor;const e=t.commands.get(LM);const n=t.locale.t;const o=bM({editor:t,commandName:LM,plugin:this,icon:NM,keystroke:\"CTRL+I\",label:n(\"Italic\")});t.ui.componentFactory.add(LM,(()=>{const t=o(Sv);t.set({tooltip:true});t.bind(\"isOn\").to(e,\"value\");return t}));t.ui.componentFactory.add(\"menuBar:\"+LM,(()=>o(qS)))}}class OM extends Ed{static get requires(){return[PM,zM]}static get pluginName(){return\"Italic\"}}const RM=\"strikethrough\";class VM extends(null&&Plugin){static get pluginName(){return\"StrikethroughEditing\"}init(){const t=this.editor;const e=this.editor.t;t.model.schema.extend(\"$text\",{allowAttributes:RM});t.model.schema.setAttributeProperties(RM,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:RM,view:\"s\",upcastAlso:[\"del\",\"strike\",{styles:{\"text-decoration\":\"line-through\"}}]});t.commands.add(RM,new AttributeCommand(t,RM));t.keystrokes.set(\"CTRL+SHIFT+X\",\"strikethrough\");t.accessibility.addKeystrokeInfos({keystrokes:[{label:e(\"Strikethrough text\"),keystroke:\"CTRL+SHIFT+X\"}]})}}const FM=\"strikethrough\";class jM extends(null&&Plugin){static get pluginName(){return\"StrikethroughUI\"}init(){const t=this.editor;const e=t.locale.t;const n=getButtonCreator({editor:t,commandName:FM,plugin:this,icon:strikethroughIcon,keystroke:\"CTRL+SHIFT+X\",label:e(\"Strikethrough\")});t.ui.componentFactory.add(FM,(()=>{const e=n(ButtonView);const o=t.commands.get(FM);e.set({tooltip:true});e.bind(\"isOn\").to(o,\"value\");return e}));t.ui.componentFactory.add(\"menuBar:\"+FM,(()=>n(MenuBarMenuListItemButtonView)))}}class HM extends(null&&Plugin){static get requires(){return[StrikethroughEditing,StrikethroughUI]}static get pluginName(){return\"Strikethrough\"}}const UM=\"subscript\";class WM extends(null&&Plugin){static get pluginName(){return\"SubscriptEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:UM});t.model.schema.setAttributeProperties(UM,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:UM,view:\"sub\",upcastAlso:[{styles:{\"vertical-align\":\"sub\"}}]});t.commands.add(UM,new AttributeCommand(t,UM))}}const qM=\"subscript\";class GM extends(null&&Plugin){static get pluginName(){return\"SubscriptUI\"}init(){const t=this.editor;const e=t.locale.t;const n=getButtonCreator({editor:t,commandName:qM,plugin:this,icon:subscriptIcon,label:e(\"Subscript\")});t.ui.componentFactory.add(qM,(()=>{const e=n(ButtonView);const o=t.commands.get(qM);e.set({tooltip:true});e.bind(\"isOn\").to(o,\"value\");return e}));t.ui.componentFactory.add(\"menuBar:\"+qM,(()=>n(MenuBarMenuListItemButtonView)))}}class $M extends(null&&Plugin){static get requires(){return[SubscriptEditing,SubscriptUI]}static get pluginName(){return\"Subscript\"}}const KM=\"superscript\";class YM extends(null&&Plugin){static get pluginName(){return\"SuperscriptEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:KM});t.model.schema.setAttributeProperties(KM,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:KM,view:\"sup\",upcastAlso:[{styles:{\"vertical-align\":\"super\"}}]});t.commands.add(KM,new AttributeCommand(t,KM))}}const QM=\"superscript\";class ZM extends(null&&Plugin){static get pluginName(){return\"SuperscriptUI\"}init(){const t=this.editor;const e=t.locale.t;const n=getButtonCreator({editor:t,commandName:QM,plugin:this,icon:superscriptIcon,label:e(\"Superscript\")});t.ui.componentFactory.add(QM,(()=>{const e=n(ButtonView);const o=t.commands.get(QM);e.set({tooltip:true});e.bind(\"isOn\").to(o,\"value\");return e}));t.ui.componentFactory.add(\"menuBar:\"+QM,(()=>n(MenuBarMenuListItemButtonView)))}}class JM extends(null&&Plugin){static get requires(){return[SuperscriptEditing,SuperscriptUI]}static get pluginName(){return\"Superscript\"}}const XM=\"underline\";class tP extends(null&&Plugin){static get pluginName(){return\"UnderlineEditing\"}init(){const t=this.editor;const e=this.editor.t;t.model.schema.extend(\"$text\",{allowAttributes:XM});t.model.schema.setAttributeProperties(XM,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:XM,view:\"u\",upcastAlso:{styles:{\"text-decoration\":\"underline\"}}});t.commands.add(XM,new AttributeCommand(t,XM));t.keystrokes.set(\"CTRL+U\",\"underline\");t.accessibility.addKeystrokeInfos({keystrokes:[{label:e(\"Underline text\"),keystroke:\"CTRL+U\"}]})}}const eP=\"underline\";class nP extends(null&&Plugin){static get pluginName(){return\"UnderlineUI\"}init(){const t=this.editor;const e=t.commands.get(eP);const n=t.locale.t;const o=getButtonCreator({editor:t,commandName:eP,plugin:this,icon:underlineIcon,label:n(\"Underline\"),keystroke:\"CTRL+U\"});t.ui.componentFactory.add(eP,(()=>{const t=o(ButtonView);t.set({tooltip:true});t.bind(\"isOn\").to(e,\"value\");return t}));t.ui.componentFactory.add(\"menuBar:\"+eP,(()=>o(MenuBarMenuListItemButtonView)))}}class oP extends(null&&Plugin){static get requires(){return[UnderlineEditing,UnderlineUI]}static get pluginName(){return\"Underline\"}}function*iP(t,e){for(const n of e){if(n&&t.getAttributeProperties(n[0]).copyOnEnter){yield n}}}class rP extends Id{execute(){this.editor.model.change((t=>{this.enterBlock(t);this.fire(\"afterExecute\",{writer:t})}))}enterBlock(t){const e=this.editor.model;const n=e.document.selection;const o=e.schema;const i=n.isCollapsed;const r=n.getFirstRange();const s=r.start.parent;const a=r.end.parent;if(o.isLimit(s)||o.isLimit(a)){if(!i&&s==a){e.deleteContent(n)}return false}if(i){const e=iP(t.model.schema,n.getAttributes());sP(t,r.start);t.setSelectionAttribute(e);return true}else{const o=!(r.start.isAtStart&&r.end.isAtEnd);const i=s==a;e.deleteContent(n,{leaveUnmerged:o});if(o){if(i){sP(t,n.focus);return true}else{t.setSelection(a,0)}}}return false}}function sP(t,e){t.split(e);t.setSelection(e.parent.nextSibling,0)}const aP={insertParagraph:{isSoft:false},insertLineBreak:{isSoft:true}};class cP extends $m{constructor(t){super(t);const e=this.document;let n=false;e.on(\"keydown\",((t,e)=>{n=e.shiftKey}));e.on(\"beforeinput\",((o,i)=>{if(!this.isEnabled){return}let r=i.inputType;if(l.isSafari&&n&&r==\"insertParagraph\"){r=\"insertLineBreak\"}const s=i.domEvent;const a=aP[r];if(!a){return}const c=new Th(e,\"enter\",i.targetRanges[0]);e.fire(c,new Qm(t,s,{isSoft:a.isSoft}));if(c.stop.called){o.stop()}}))}observe(){}stopObserving(){}}class lP extends Ed{static get pluginName(){return\"Enter\"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;const o=this.editor.t;e.addObserver(cP);t.commands.add(\"enter\",new rP(t));this.listenTo(n,\"enter\",((o,i)=>{if(!n.isComposing){i.preventDefault()}if(i.isSoft){return}t.execute(\"enter\");e.scrollToTheSelection()}),{priority:\"low\"});t.accessibility.addKeystrokeInfos({keystrokes:[{label:o(\"Insert a hard break (a new paragraph)\"),keystroke:\"Enter\"}]})}}class dP extends Id{execute(){const t=this.editor.model;const e=t.document;t.change((n=>{hP(t,n,e.selection);this.fire(\"afterExecute\",{writer:n})}))}refresh(){const t=this.editor.model;const e=t.document;this.isEnabled=uP(t.schema,e.selection)}}function uP(t,e){if(e.rangeCount>1){return false}const n=e.anchor;if(!n||!t.checkChild(n,\"softBreak\")){return false}const o=e.getFirstRange();const i=o.start.parent;const r=o.end.parent;if((gP(i,t)||gP(r,t))&&i!==r){return false}return true}function hP(t,e,n){const o=n.isCollapsed;const i=n.getFirstRange();const r=i.start.parent;const s=i.end.parent;const a=r==s;if(o){const o=iP(t.schema,n.getAttributes());mP(t,e,i.end);e.removeSelectionAttribute(n.getAttributeKeys());e.setSelectionAttribute(o)}else{const o=!(i.start.isAtStart&&i.end.isAtEnd);t.deleteContent(n,{leaveUnmerged:o});if(a){mP(t,e,n.focus)}else{if(o){e.setSelection(s,0)}}}}function mP(t,e,n){const o=e.createElement(\"softBreak\");t.insertContent(o,n);e.setSelection(o,\"after\")}function gP(t,e){if(t.is(\"rootElement\")){return false}return e.isLimit(t)||gP(t.parent,e)}class fP extends Ed{static get pluginName(){return\"ShiftEnter\"}init(){const t=this.editor;const e=t.model.schema;const n=t.conversion;const o=t.editing.view;const i=o.document;const r=this.editor.t;e.register(\"softBreak\",{allowWhere:\"$text\",isInline:true});n.for(\"upcast\").elementToElement({model:\"softBreak\",view:\"br\"});n.for(\"downcast\").elementToElement({model:\"softBreak\",view:(t,{writer:e})=>e.createEmptyElement(\"br\")});o.addObserver(cP);t.commands.add(\"shiftEnter\",new dP(t));this.listenTo(i,\"enter\",((e,n)=>{if(!i.isComposing){n.preventDefault()}if(!n.isSoft){return}t.execute(\"shiftEnter\");o.scrollToTheSelection()}),{priority:\"low\"});t.accessibility.addKeystrokeInfos({keystrokes:[{label:r(\"Insert a soft break (a <br> element)\"),keystroke:\"Shift+Enter\"}]})}}class pP extends Id{refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.schema;const o=e.document.selection;const i=Array.from(o.getSelectedBlocks());const r=t.forceValue===undefined?!this.value:t.forceValue;e.change((t=>{if(!r){this._removeQuote(t,i.filter(bP))}else{const e=i.filter((t=>bP(t)||wP(n,t)));this._applyQuote(t,e)}}))}_getValue(){const t=this.editor.model.document.selection;const e=sd(t.getSelectedBlocks());return!!(e&&bP(e))}_checkEnabled(){if(this.value){return true}const t=this.editor.model.document.selection;const e=this.editor.model.schema;const n=sd(t.getSelectedBlocks());if(!n){return false}return wP(e,n)}_removeQuote(t,e){kP(t,e).reverse().forEach((e=>{if(e.start.isAtStart&&e.end.isAtEnd){t.unwrap(e.start.parent);return}if(e.start.isAtStart){const n=t.createPositionBefore(e.start.parent);t.move(e,n);return}if(!e.end.isAtEnd){t.split(e.end)}const n=t.createPositionAfter(e.end.parent);t.move(e,n)}))}_applyQuote(t,e){const n=[];kP(t,e).reverse().forEach((e=>{let o=bP(e.start);if(!o){o=t.createElement(\"blockQuote\");t.wrap(e,o)}n.push(o)}));n.reverse().reduce(((e,n)=>{if(e.nextSibling==n){t.merge(t.createPositionAfter(e));return e}return n}))}}function bP(t){return t.parent.name==\"blockQuote\"?t.parent:null}function kP(t,e){let n;let o=0;const i=[];while(o{const o=t.model.document.differ.getChanges();for(const t of o){if(t.type==\"insert\"){const o=t.position.nodeAfter;if(!o){continue}if(o.is(\"element\",\"blockQuote\")&&o.isEmpty){n.remove(o);return true}else if(o.is(\"element\",\"blockQuote\")&&!e.checkChild(t.position,o)){n.unwrap(o);return true}else if(o.is(\"element\")){const t=n.createRangeIn(o);for(const o of t.getItems()){if(o.is(\"element\",\"blockQuote\")&&!e.checkChild(n.createPositionBefore(o),o)){n.unwrap(o);return true}}}}else if(t.type==\"remove\"){const e=t.position.parent;if(e.is(\"element\",\"blockQuote\")&&e.isEmpty){n.remove(e);return true}}}return false}));const n=this.editor.editing.view.document;const o=t.model.document.selection;const i=t.commands.get(\"blockQuote\");this.listenTo(n,\"enter\",((e,n)=>{if(!o.isCollapsed||!i.value){return}const r=o.getLastPosition().parent;if(r.isEmpty){t.execute(\"blockQuote\");t.editing.view.scrollToTheSelection();n.preventDefault();e.stop()}}),{context:\"blockquote\"});this.listenTo(n,\"delete\",((e,n)=>{if(n.direction!=\"backward\"||!o.isCollapsed||!i.value){return}const r=o.getLastPosition().parent;if(r.isEmpty&&!r.previousSibling){t.execute(\"blockQuote\");t.editing.view.scrollToTheSelection();n.preventDefault();e.stop()}}),{context:\"blockquote\"})}}var _P=n(9394);var CP={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};CP.insert=\"head\";CP.singleton=true;var vP=Ld()(_P.A,CP);const yP=_P.A.locals||{};class xP extends Ed{static get pluginName(){return\"BlockQuoteUI\"}init(){const t=this.editor;const e=t.commands.get(\"blockQuote\");t.ui.componentFactory.add(\"blockQuote\",(()=>{const t=this._createButton(Sv);t.set({tooltip:true});t.bind(\"isOn\").to(e,\"value\");return t}));t.ui.componentFactory.add(\"menuBar:blockQuote\",(()=>this._createButton(qS)))}_createButton(t){const e=this.editor;const n=e.locale;const o=e.commands.get(\"blockQuote\");const i=new t(e.locale);const r=n.t;i.set({label:r(\"Block quote\"),icon:CC.quote,isToggleable:true});i.bind(\"isEnabled\").to(o,\"isEnabled\");this.listenTo(i,\"execute\",(()=>{e.execute(\"blockQuote\");e.editing.view.focus()}));return i}}class EP extends Ed{static get requires(){return[AP,xP]}static get pluginName(){return\"BlockQuote\"}}class DP extends Ed{static get pluginName(){return\"CKBoxUI\"}afterInit(){const t=this.editor;if(!t.commands.get(\"ckbox\")){return}const e=t.t;const n=t.ui.componentFactory;n.add(\"ckbox\",(()=>{const t=this._createButton(Sv);t.tooltip=true;return t}));n.add(\"menuBar:ckbox\",(()=>this._createButton(qS)));if(t.plugins.has(\"ImageInsertUI\")){const n=t.plugins.get(\"ImageInsertUI\");n.registerIntegration({name:\"assetManager\",observable:()=>t.commands.get(\"ckbox\"),buttonViewCreator:()=>{const t=this.editor.ui.componentFactory.create(\"ckbox\");t.icon=CC.imageAssetManager;t.bind(\"label\").to(n,\"isImageSelected\",(t=>t?e(\"Replace image with file manager\"):e(\"Insert image with file manager\")));return t},formViewCreator:()=>{const t=this.editor.ui.componentFactory.create(\"ckbox\");t.icon=CC.imageAssetManager;t.withText=true;t.bind(\"label\").to(n,\"isImageSelected\",(t=>t?e(\"Replace with file manager\"):e(\"Insert with file manager\")));t.on(\"execute\",(()=>{n.dropdownView.isOpen=false}));return t}})}}_createButton(t){const e=this.editor;const n=e.locale;const o=new t(n);const i=e.commands.get(\"ckbox\");const r=n.t;o.set({label:r(\"Open file manager\"),icon:CC.browseFiles});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");o.on(\"execute\",(()=>{e.execute(\"ckbox\")}));return o}}var IP=[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"A\",\"B\",\"C\",\"D\",\"E\",\"F\",\"G\",\"H\",\"I\",\"J\",\"K\",\"L\",\"M\",\"N\",\"O\",\"P\",\"Q\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\",\"#\",\"$\",\"%\",\"*\",\"+\",\",\",\"-\",\".\",\":\",\";\",\"=\",\"?\",\"@\",\"[\",\"]\",\"^\",\"_\",\"{\",\"|\",\"}\",\"~\"],TP=t=>{let e=0;for(let n=0;n{var n=\"\";for(let o=1;o<=e;o++){let i=Math.floor(t)/Math.pow(83,e-o)%83;n+=IP[Math.floor(i)]}return n};var BP=t=>{let e=t/255;return e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)},MP=t=>{let e=Math.max(0,Math.min(1,t));return e<=.0031308?Math.trunc(e*12.92*255+.5):Math.trunc((1.055*Math.pow(e,.4166666666666667)-.055)*255+.5)},PP=t=>t<0?-1:1,NP=(t,e)=>PP(t)*Math.pow(Math.abs(t),e);var LP=class extends Error{constructor(t){super(t),this.name=\"ValidationError\",this.message=t}};var zP=t=>{if(!t||t.length<6)throw new LP(\"The blurhash string must be at least 6 characters\");let e=TP(t[0]),n=Math.floor(e/9)+1,o=e%9+1;if(t.length!==4+2*o*n)throw new LP(`blurhash length mismatch: length is ${t.length} but it should be ${4+2*o*n}`)},OP=t=>{try{zP(t)}catch(t){return{result:!1,errorReason:t.message}}return{result:!0}},RP=t=>{let e=t>>16,n=t>>8&255,o=t&255;return[BP(e),BP(n),BP(o)]},VP=(t,e)=>{let n=Math.floor(t/361),o=Math.floor(t/19)%19,i=t%19;return[NP((n-9)/9,2)*e,NP((o-9)/9,2)*e,NP((i-9)/9,2)*e]},FP=(t,e,n,o)=>{zP(t),o=o|1;let i=TP(t[0]),r=Math.floor(i/9)+1,s=i%9+1,a=(TP(t[1])+1)/166,c=new Array(s*r);for(let e=0;e{let i=0,r=0,s=0,a=e*HP;for(let c=0;c{let e=MP(t[0]),n=MP(t[1]),o=MP(t[2]);return(e<<16)+(n<<8)+o},qP=(t,e)=>{let n=Math.floor(Math.max(0,Math.min(18,Math.floor(NP(t[0]/e,.5)*9+9.5)))),o=Math.floor(Math.max(0,Math.min(18,Math.floor(NP(t[1]/e,.5)*9+9.5)))),i=Math.floor(Math.max(0,Math.min(18,Math.floor(NP(t[2]/e,.5)*9+9.5))));return n*19*19+o*19+i},GP=(t,e,n,o,i)=>{if(o<1||o>9||i<1||i>9)throw new LP(\"BlurHash must have between 1 and 9 components\");if(e*n*4!==t.length)throw new LP(\"Width and height must match the pixels array\");let r=[];for(let s=0;so*Math.cos(Math.PI*i*t/e)*Math.cos(Math.PI*s*r/n)));r.push(a)}let s=r[0],a=r.slice(1),c=\"\",l=o-1+(i-1)*9;c+=SP(l,1);let d;if(a.length>0){let t=Math.max(...a.map((t=>Math.max(...t)))),e=Math.floor(Math.max(0,Math.min(82,Math.floor(t*166-.5))));d=(e+1)/166,c+=SP(e,1)}else d=1,c+=SP(0,1);return c+=SP(WP(s),4),a.forEach((t=>{c+=SP(qP(t,d),2)})),c},$P=null&&GP;function KP(t){const e=[];let n=0;for(const o in t){const i=parseInt(o,10);if(!isNaN(i)){if(i>n){n=i}e.push(`${t[o]} ${o}w`)}}const o=[{srcset:e.join(\",\"),sizes:`(max-width: ${n}px) 100vw, ${n}px`,type:\"image/webp\"}];return{imageFallbackUrl:t.default,imageSources:o}}function YP(t,e){const[,n]=t.value.split(\".\");const o=JSON.parse(atob(n));const i=o.auth&&o.auth.ckbox&&o.auth.ckbox.workspaces||[o.aud];if(!e){return i[0]}const r=o.auth&&o.auth.ckbox&&o.auth.ckbox.role;if(r==\"superadmin\"||i.includes(e)){return e}return null}const QP=32;function ZP(t){if(!t){return}try{const e=`${QP}px`;const n=document.createElement(\"canvas\");n.setAttribute(\"width\",e);n.setAttribute(\"height\",e);const o=n.getContext(\"2d\");if(!o){return}const i=o.createImageData(QP,QP);const r=jP(t,QP,QP);i.data.set(r);o.putImageData(i,0,0);return n.toDataURL()}catch(t){return undefined}}function JP({url:t,method:e=\"GET\",data:n,onUploadProgress:o,signal:i,authorization:r}){const s=new XMLHttpRequest;s.open(e,t.toString());s.setRequestHeader(\"Authorization\",r);s.setRequestHeader(\"CKBox-Version\",\"CKEditor 5\");s.responseType=\"json\";const a=()=>{s.abort()};return new Promise(((t,e)=>{i.throwIfAborted();i.addEventListener(\"abort\",a);s.addEventListener(\"loadstart\",(()=>{i.addEventListener(\"abort\",a)}));s.addEventListener(\"loadend\",(()=>{i.removeEventListener(\"abort\",a)}));s.addEventListener(\"error\",(()=>{e()}));s.addEventListener(\"abort\",(()=>{e()}));s.addEventListener(\"load\",(()=>{const n=s.response;if(!n||n.statusCode>=400){return e(n&&n.message)}t(n)}));if(o){s.upload.addEventListener(\"progress\",(t=>{o(t)}))}s.send(n)}))}const XP={\"image/gif\":\"gif\",\"image/jpeg\":\"jpg\",\"image/png\":\"png\",\"image/webp\":\"webp\",\"image/bmp\":\"bmp\",\"image/tiff\":\"tiff\"};function tN(t){return XP[t]}async function eN(t,e){try{const n=await fetch(t,{method:\"HEAD\",cache:\"force-cache\",...e});if(!n.ok){return\"\"}return n.headers.get(\"content-type\")||\"\"}catch{return\"\"}}function nN(t){const e=t.name;const n=/\\.(?[^.]+)$/;const o=e.match(n);return o.groups.ext.toLowerCase()}const oN=1e3;class iN extends Id{constructor(t){super(t);this._chosenAssets=new Set;this._wrapper=null;this._initListeners()}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(){this.fire(\"ckbox:open\")}_getValue(){return this._wrapper!==null}_checkEnabled(){const t=this.editor.commands.get(\"insertImage\");const e=this.editor.commands.get(\"link\");if(!t.isEnabled&&!e.isEnabled){return false}return true}_prepareOptions(){const t=this.editor;const e=t.config.get(\"ckbox\");return{theme:e.theme,language:e.language,tokenUrl:e.tokenUrl,serviceOrigin:e.serviceOrigin,forceDemoLabel:e.forceDemoLabel,dialog:{onClose:()=>this.fire(\"ckbox:close\")},assets:{onChoose:t=>this.fire(\"ckbox:choose\",t)}}}_initListeners(){const t=this.editor;const e=t.model;const n=!t.config.get(\"ckbox.ignoreDataId\");this.on(\"ckbox\",(()=>{this.refresh()}),{priority:\"low\"});this.on(\"ckbox:open\",(()=>{if(!this.isEnabled||this.value){return}this._wrapper=ie(document,\"div\",{class:\"ck ckbox-wrapper\"});document.body.appendChild(this._wrapper);window.CKBox.mount(this._wrapper,this._prepareOptions())}));this.on(\"ckbox:close\",(()=>{if(!this.value){return}this._wrapper.remove();this._wrapper=null;t.editing.view.focus()}));this.on(\"ckbox:choose\",((o,i)=>{if(!this.isEnabled){return}const r=t.commands.get(\"insertImage\");const s=t.commands.get(\"link\");const a=rN({assets:i,isImageAllowed:r.isEnabled,isLinkAllowed:s.isEnabled});const c=a.length;if(c===0){return}e.change((t=>{for(const e of a){const o=e===a[c-1];const i=c===1;this._insertAsset(e,o,t,i);if(n){setTimeout((()=>this._chosenAssets.delete(e)),oN);this._chosenAssets.add(e)}}}));t.editing.view.focus()}));this.listenTo(t,\"destroy\",(()=>{this.fire(\"ckbox:close\");this._chosenAssets.clear()}))}_insertAsset(t,e,n,o){const i=this.editor;const r=i.model;const s=r.document.selection;n.removeSelectionAttribute(\"linkHref\");if(t.type===\"image\"){this._insertImage(t)}else{this._insertLink(t,n,o)}if(!e){n.setSelection(s.getLastPosition())}}_insertImage(t){const e=this.editor;const{imageFallbackUrl:n,imageSources:o,imageTextAlternative:i,imageWidth:r,imageHeight:s,imagePlaceholder:a}=t.attributes;e.execute(\"insertImage\",{source:{src:n,sources:o,alt:i,width:r,height:s,...a?{placeholder:a}:null}})}_insertLink(t,e,n){const o=this.editor;const i=o.model;const r=i.document.selection;const{linkName:s,linkHref:a}=t.attributes;if(r.isCollapsed){const t=dd(r.getAttributes());const c=e.createText(s,t);if(!n){const t=r.getLastPosition();const n=t.parent;if(!(n.name===\"paragraph\"&&n.isEmpty)){o.execute(\"insertParagraph\",{position:t})}const s=i.insertContent(c);e.setSelection(s);o.execute(\"link\",a);return}const l=i.insertContent(c);e.setSelection(l)}o.execute(\"link\",a)}}function rN({assets:t,isImageAllowed:e,isLinkAllowed:n}){return t.map((t=>cN(t)?{id:t.data.id,type:\"image\",attributes:sN(t)}:{id:t.data.id,type:\"link\",attributes:aN(t)})).filter((t=>t.type===\"image\"?e:n))}function sN(t){const{imageFallbackUrl:e,imageSources:n}=KP(t.data.imageUrls);const{description:o,width:i,height:r,blurHash:s}=t.data.metadata;const a=ZP(s);return{imageFallbackUrl:e,imageSources:n,imageTextAlternative:o||\"\",imageWidth:i,imageHeight:r,...a?{imagePlaceholder:a}:null}}function aN(t){return{linkName:t.data.name,linkHref:lN(t)}}function cN(t){const e=t.data.metadata;if(!e){return false}return e.width&&e.height}function lN(t){const e=new URL(t.data.url);e.searchParams.set(\"download\",\"true\");return e.toString()}class dN extends(mt()){constructor(){super();const t=new window.FileReader;this._reader=t;this._data=undefined;this.set(\"loaded\",0);t.onprogress=t=>{this.loaded=t.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;this.total=t.size;return new Promise(((n,o)=>{e.onload=()=>{const t=e.result;this._data=t;n(t)};e.onerror=()=>{o(\"error\")};e.onabort=()=>{o(\"aborted\")};this._reader.readAsDataURL(t)}))}abort(){this._reader.abort()}}class uN extends Ed{constructor(){super(...arguments);this.loaders=new rd;this._loadersMap=new Map;this._pendingAction=null}static get pluginName(){return\"FileRepository\"}static get requires(){return[m_]}init(){this.loaders.on(\"change\",(()=>this._updatePendingAction()));this.set(\"uploaded\",0);this.set(\"uploadTotal\",null);this.bind(\"uploadedPercent\").to(this,\"uploaded\",this,\"uploadTotal\",((t,e)=>e?t/e*100:0))}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter){L(\"filerepository-no-upload-adapter\");return null}const e=new hN(Promise.resolve(t),this.createUploadAdapter);this.loaders.add(e);this._loadersMap.set(t,e);if(t instanceof Promise){e.file.then((t=>{this._loadersMap.set(t,e)})).catch((()=>{}))}e.on(\"change:uploaded\",(()=>{let t=0;for(const e of this.loaders){t+=e.uploaded}this.uploaded=t}));e.on(\"change:uploadTotal\",(()=>{let t=0;for(const e of this.loaders){if(e.uploadTotal){t+=e.uploadTotal}}this.uploadTotal=t}));return e}destroyLoader(t){const e=t instanceof hN?t:this.getLoader(t);e._destroy();this.loaders.remove(e);this._loadersMap.forEach(((t,n)=>{if(t===e){this._loadersMap.delete(n)}}))}_updatePendingAction(){const t=this.editor.plugins.get(m_);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t;const n=t=>`${e(\"Upload in progress\")} ${parseInt(t)}%.`;this._pendingAction=t.add(n(this.uploadedPercent));this._pendingAction.bind(\"message\").to(this,\"uploadedPercent\",n)}}else{t.remove(this._pendingAction);this._pendingAction=null}}}class hN extends(mt()){constructor(t,e){super();this.id=T();this._filePromiseWrapper=this._createFilePromiseWrapper(t);this._adapter=e(this);this._reader=new dN;this.set(\"status\",\"idle\");this.set(\"uploaded\",0);this.set(\"uploadTotal\",null);this.bind(\"uploadedPercent\").to(this,\"uploaded\",this,\"uploadTotal\",((t,e)=>e?t/e*100:0));this.set(\"uploadResponse\",null)}get file(){if(!this._filePromiseWrapper){return Promise.resolve(null)}else{return this._filePromiseWrapper.promise.then((t=>this._filePromiseWrapper?t:null))}}get data(){return this._reader.data}read(){if(this.status!=\"idle\"){throw new N(\"filerepository-read-wrong-status\",this)}this.status=\"reading\";return this.file.then((t=>this._reader.read(t))).then((t=>{if(this.status!==\"reading\"){throw this.status}this.status=\"idle\";return t})).catch((t=>{if(t===\"aborted\"){this.status=\"aborted\";throw\"aborted\"}this.status=\"error\";throw this._reader.error?this._reader.error:t}))}upload(){if(this.status!=\"idle\"){throw new N(\"filerepository-upload-wrong-status\",this)}this.status=\"uploading\";return this.file.then((()=>this._adapter.upload())).then((t=>{this.uploadResponse=t;this.status=\"idle\";return t})).catch((t=>{if(this.status===\"aborted\"){throw\"aborted\"}this.status=\"error\";throw t}))}abort(){const t=this.status;this.status=\"aborted\";if(!this._filePromiseWrapper.isFulfilled){this._filePromiseWrapper.promise.catch((()=>{}));this._filePromiseWrapper.rejecter(\"aborted\")}else if(t==\"reading\"){this._reader.abort()}else if(t==\"uploading\"&&this._adapter.abort){this._adapter.abort()}this._destroy()}_destroy(){this._filePromiseWrapper=undefined;this._reader=undefined;this._adapter=undefined;this.uploadResponse=undefined}_createFilePromiseWrapper(t){const e={};e.promise=new Promise(((n,o)=>{e.rejecter=o;e.isFulfilled=false;t.then((t=>{e.isFulfilled=true;n(t)})).catch((t=>{e.isFulfilled=true;o(t)}))}));return e}}class mN extends(null&&Plugin){static get requires(){return[FileRepository]}static get pluginName(){return\"Base64UploadAdapter\"}init(){this.editor.plugins.get(FileRepository).createUploadAdapter=t=>new gN(t)}}class gN{constructor(t){this.loader=t}upload(){return new Promise(((t,e)=>{const n=this.reader=new window.FileReader;n.addEventListener(\"load\",(()=>{t({default:n.result})}));n.addEventListener(\"error\",(t=>{e(t)}));n.addEventListener(\"abort\",(()=>{e()}));this.loader.file.then((t=>{n.readAsDataURL(t)}))}))}abort(){this.reader.abort()}}class fN extends(null&&Plugin){static get requires(){return[FileRepository]}static get pluginName(){return\"SimpleUploadAdapter\"}init(){const t=this.editor.config.get(\"simpleUpload\");if(!t){return}if(!t.uploadUrl){logWarning(\"simple-upload-adapter-missing-uploadurl\");return}this.editor.plugins.get(FileRepository).createUploadAdapter=e=>new pN(e,t)}}class pN{constructor(t,e){this.loader=t;this.options=e}upload(){return this.loader.file.then((t=>new Promise(((e,n)=>{this._initRequest();this._initListeners(e,n,t);this._sendRequest(t)}))))}abort(){if(this.xhr){this.xhr.abort()}}_initRequest(){const t=this.xhr=new XMLHttpRequest;t.open(\"POST\",this.options.uploadUrl,true);t.responseType=\"json\"}_initListeners(t,e,n){const o=this.xhr;const i=this.loader;const r=`Couldn't upload file: ${n.name}.`;o.addEventListener(\"error\",(()=>e(r)));o.addEventListener(\"abort\",(()=>e()));o.addEventListener(\"load\",(()=>{const n=o.response;if(!n||n.error){return e(n&&n.error&&n.error.message?n.error.message:r)}const i=n.url?{default:n.url}:n.urls;t({...n,urls:i})}));if(o.upload){o.upload.addEventListener(\"progress\",(t=>{if(t.lengthComputable){i.uploadTotal=t.total;i.uploaded=t.loaded}}))}}_sendRequest(t){const e=this.options.headers||{};const n=this.options.withCredentials||false;for(const t of Object.keys(e)){this.xhr.setRequestHeader(t,e[t])}this.xhr.withCredentials=n;const o=new FormData;o.append(\"upload\",t);this.xhr.send(o)}}const bN=\"lark\";class kN extends Ed{static get pluginName(){return\"CKBoxUtils\"}static get requires(){return[\"CloudServices\"]}async init(){const t=this.editor;const e=!!t.config.get(\"ckbox\");const n=!!window.CKBox;if(!e&&!n){return}t.config.define(\"ckbox\",{serviceOrigin:\"https://api.ckbox.io\",defaultUploadCategories:null,ignoreDataId:false,language:t.locale.uiLanguage,theme:bN,tokenUrl:t.config.get(\"cloudServices.tokenUrl\")});const o=t.plugins.get(\"CloudServices\");const i=t.config.get(\"cloudServices.tokenUrl\");const r=t.config.get(\"ckbox.tokenUrl\");if(!r){throw new N(\"ckbox-plugin-missing-token-url\",this)}if(r==i){this._token=o.token}else{this._token=await o.registerTokenUrl(r)}}getToken(){return this._token}getWorkspaceId(){const t=this.editor.t;const e=t(\"Cannot access default workspace.\");const n=this.editor.config.get(\"ckbox.defaultUploadWorkspaceId\");const o=YP(this._token,n);if(o==null){z(\"ckbox-access-default-workspace-error\");throw e}return o}async getCategoryIdForFile(t,e){const n=this.editor.t;const o=n(\"Cannot determine a category for the uploaded file.\");const i=this.editor.config.get(\"ckbox.defaultUploadCategories\");const r=this._getAvailableCategories(e);const s=typeof t==\"string\"?tN(await eN(t,e)):nN(t);const a=await r;if(!a){throw o}if(i){const t=Object.keys(i).find((t=>i[t].find((t=>t.toLowerCase()==s))));if(t){const e=a.find((e=>e.id===t||e.name===t));if(!e){throw o}return e.id}}const c=a.find((t=>t.extensions.find((t=>t.toLowerCase()==s))));if(!c){throw o}return c.id}async _getAvailableCategories(t){const e=50;const n=this.editor;const o=this._token;const{signal:i}=t;const r=n.config.get(\"ckbox.serviceOrigin\");const s=this.getWorkspaceId();try{const t=[];let n=0;let o;do{const i=await a(n);t.push(...i.items);o=i.totalCount-(n+e);n+=e}while(o>0);return t}catch{i.throwIfAborted();z(\"ckbox-fetch-category-http-error\");return undefined}function a(t){const n=new URL(\"categories\",r);n.searchParams.set(\"limit\",e.toString());n.searchParams.set(\"offset\",t.toString());n.searchParams.set(\"workspaceId\",s);return JP({url:n,signal:i,authorization:o.value})}}}class wN extends Ed{static get requires(){return[\"ImageUploadEditing\",\"ImageUploadProgress\",uN,_N]}static get pluginName(){return\"CKBoxUploadAdapter\"}async afterInit(){const t=this.editor;const e=!!t.config.get(\"ckbox\");const n=!!window.CKBox;if(!e&&!n){return}const o=t.plugins.get(uN);const i=t.plugins.get(kN);o.createUploadAdapter=e=>new AN(e,t,i);const r=!t.config.get(\"ckbox.ignoreDataId\");const s=t.plugins.get(\"ImageUploadEditing\");if(r){s.on(\"uploadComplete\",((e,{imageElement:n,data:o})=>{t.model.change((t=>{t.setAttribute(\"ckboxImageId\",o.ckboxImageId,n)}))}))}}}class AN{constructor(t,e,n){this.loader=t;this.token=n.getToken();this.ckboxUtils=n;this.editor=e;this.controller=new AbortController;this.serviceOrigin=e.config.get(\"ckbox.serviceOrigin\")}async upload(){const t=this.ckboxUtils;const e=this.editor.t;const n=await this.loader.file;const o=await t.getCategoryIdForFile(n,{signal:this.controller.signal});const i=new URL(\"assets\",this.serviceOrigin);const r=new FormData;i.searchParams.set(\"workspaceId\",t.getWorkspaceId());r.append(\"categoryId\",o);r.append(\"file\",n);const s={method:\"POST\",url:i,data:r,onUploadProgress:t=>{if(t.lengthComputable){this.loader.uploadTotal=t.total;this.loader.uploaded=t.loaded}},signal:this.controller.signal,authorization:this.token.value};return JP(s).then((async t=>{const e=KP(t.imageUrls);return{ckboxImageId:t.id,default:e.imageFallbackUrl,sources:e.imageSources}})).catch((()=>{const t=e(\"Cannot upload file:\")+` ${n.name}.`;return Promise.reject(t)}))}abort(){this.controller.abort()}}class _N extends Ed{static get pluginName(){return\"CKBoxEditing\"}static get requires(){return[\"LinkEditing\",\"PictureEditing\",wN,kN]}init(){const t=this.editor;if(!this._shouldBeInitialised()){return}this._checkImagePlugins();if(DN()){t.commands.add(\"ckbox\",new iN(t))}}afterInit(){const t=this.editor;if(!this._shouldBeInitialised()){return}if(!t.config.get(\"ckbox.ignoreDataId\")){this._initSchema();this._initConversion();this._initFixers()}}_shouldBeInitialised(){const t=this.editor;const e=!!t.config.get(\"ckbox\");return e||DN()}_checkImagePlugins(){const t=this.editor;if(!t.plugins.has(\"ImageBlockEditing\")&&!t.plugins.has(\"ImageInlineEditing\")){z(\"ckbox-plugin-image-feature-missing\",t)}}_initSchema(){const t=this.editor;const e=t.model.schema;e.extend(\"$text\",{allowAttributes:\"ckboxLinkId\"});if(e.isRegistered(\"imageBlock\")){e.extend(\"imageBlock\",{allowAttributes:[\"ckboxImageId\",\"ckboxLinkId\"]})}if(e.isRegistered(\"imageInline\")){e.extend(\"imageInline\",{allowAttributes:[\"ckboxImageId\",\"ckboxLinkId\"]})}e.addAttributeCheck(((t,e)=>{const n=!!t.last.getAttribute(\"linkHref\");if(!n&&e===\"ckboxLinkId\"){return false}}))}_initConversion(){const t=this.editor;t.conversion.for(\"downcast\").add((t=>{t.on(\"attribute:ckboxLinkId:imageBlock\",((t,e,n)=>{const{writer:o,mapper:i,consumable:r}=n;if(!r.consume(e.item,t.name)){return}const s=i.toViewElement(e.item);const a=[...s.getChildren()].find((t=>t.name===\"a\"));if(!a){return}if(e.item.hasAttribute(\"ckboxLinkId\")){o.setAttribute(\"data-ckbox-resource-id\",e.item.getAttribute(\"ckboxLinkId\"),a)}else{o.removeAttribute(\"data-ckbox-resource-id\",a)}}),{priority:\"low\"});t.on(\"attribute:ckboxLinkId\",((t,e,n)=>{const{writer:o,mapper:i,consumable:r}=n;if(!r.consume(e.item,t.name)){return}if(e.attributeOldValue){const t=xN(o,e.attributeOldValue);o.unwrap(i.toViewRange(e.range),t)}if(e.attributeNewValue){const t=xN(o,e.attributeNewValue);if(e.item.is(\"selection\")){const e=o.document.selection;o.wrap(e.getFirstRange(),t)}else{o.wrap(i.toViewRange(e.range),t)}}}),{priority:\"low\"})}));t.conversion.for(\"upcast\").add((t=>{t.on(\"element:a\",((t,e,n)=>{const{writer:o,consumable:i}=n;if(!e.viewItem.getAttribute(\"href\")){return}const r={attributes:[\"data-ckbox-resource-id\"]};if(!i.consume(e.viewItem,r)){return}const s=e.viewItem.getAttribute(\"data-ckbox-resource-id\");if(!s){return}if(e.modelRange){for(let t of e.modelRange.getItems()){if(t.is(\"$textProxy\")){t=t.textNode}if(EN(t)){o.setAttribute(\"ckboxLinkId\",s,t)}}}else{const t=e.modelCursor.nodeBefore||e.modelCursor.parent;o.setAttribute(\"ckboxLinkId\",s,t)}}),{priority:\"low\"})}));t.conversion.for(\"downcast\").attributeToAttribute({model:\"ckboxImageId\",view:\"data-ckbox-resource-id\"});t.conversion.for(\"upcast\").elementToAttribute({model:{key:\"ckboxImageId\",value:t=>t.getAttribute(\"data-ckbox-resource-id\")},view:{attributes:{\"data-ckbox-resource-id\":/[\\s\\S]+/}}});const e=t.commands.get(\"replaceImageSource\");if(e){this.listenTo(e,\"cleanupImage\",((t,[e,n])=>{e.removeAttribute(\"ckboxImageId\",n)}))}}_initFixers(){const t=this.editor;const e=t.model;const n=e.document.selection;e.document.registerPostFixer(CN(t));e.document.registerPostFixer(vN(n))}}function CN(t){return e=>{let n=false;const o=t.model;const i=t.commands.get(\"ckbox\");if(!i){return n}for(const t of o.document.differ.getChanges()){if(t.type!==\"insert\"&&t.type!==\"attribute\"){continue}const o=t.type===\"insert\"?new Zf(t.position,t.position.getShiftedBy(t.length)):t.range;const r=t.type===\"attribute\"&&t.attributeKey===\"linkHref\"&&t.attributeNewValue===null;for(const t of o.getItems()){if(r&&t.hasAttribute(\"ckboxLinkId\")){e.removeAttribute(\"ckboxLinkId\",t);n=true;continue}const o=yN(t,i._chosenAssets);for(const i of o){const o=i.type===\"image\"?\"ckboxImageId\":\"ckboxLinkId\";if(i.id===t.getAttribute(o)){continue}e.setAttribute(o,i.id,t);n=true}}}return n}}function vN(t){return e=>{const n=!t.hasAttribute(\"linkHref\")&&t.hasAttribute(\"ckboxLinkId\");if(n){e.removeSelectionAttribute(\"ckboxLinkId\");return true}return false}}function yN(t,e){const n=t.is(\"element\",\"imageInline\")||t.is(\"element\",\"imageBlock\");const o=t.hasAttribute(\"linkHref\");return[...e].filter((e=>{if(e.type===\"image\"&&n){return e.attributes.imageFallbackUrl===t.getAttribute(\"src\")}if(e.type===\"link\"&&o){return e.attributes.linkHref===t.getAttribute(\"linkHref\")}}))}function xN(t,e){const n=t.createAttributeElement(\"a\",{\"data-ckbox-resource-id\":e},{priority:5});t.setCustomProperty(\"link\",true,n);return n}function EN(t){if(t.is(\"$text\")){return true}if(t.is(\"element\",\"imageInline\")||t.is(\"element\",\"imageBlock\")){return true}return false}function DN(){return!!window.CKBox}class IN extends Ed{static get pluginName(){return\"CKBox\"}static get requires(){return[_N,DP]}}function TN(t){const e=SN(t);return t=>{const n=t.is(\"element\",\"imageInline\")||t.is(\"element\",\"imageBlock\");if(!n){return false}if(t.hasAttribute(\"ckboxImageId\")){return true}if(t.hasAttribute(\"src\")){return e(t.getAttribute(\"src\"))}return false}}function SN(t){if(Array.isArray(t)){const e=t.map(SN);return t=>e.some((e=>e(t)))}if(t==\"origin\"){const t=oc.window.location.origin;return e=>new URL(e,oc.document.baseURI).origin==t}if(typeof t==\"function\"){return t}if(t instanceof RegExp){return e=>!!(e.match(t)||e.replace(/^https?:\\/\\//,\"\").match(t))}const e=t;return()=>false}class BN extends Id{constructor(t){super(t);this._wrapper=null;this._processInProgress=new Set;this.value=false;this._canEdit=TN(t.config.get(\"ckbox.allowExternalImagesEditing\"));this._prepareOptions=xt(((t,e)=>this._prepareOptionsAbortable(t,e)));this._prepareListeners()}refresh(){const t=this.editor;this.value=this._getValue();const e=t.model.document.selection.getSelectedElement();this.isEnabled=!!e&&this._canEdit(e)&&!this._checkIfElementIsBeingProcessed(e)}execute(){if(this._getValue()){return}const t=ie(document,\"div\",{class:\"ck ckbox-wrapper\"});this._wrapper=t;this.value=true;document.body.appendChild(this._wrapper);const e=this.editor.model.document.selection.getSelectedElement();const n={element:e,controller:new AbortController};this._prepareOptions(n).then((e=>window.CKBox.mountImageEditor(t,e)),(t=>{const e=this.editor;const n=e.t;const o=e.plugins.get(OI);o.showWarning(n(\"Failed to determine category of edited image.\"),{namespace:\"ckbox\"});console.error(t);this._handleImageEditorClose()}))}destroy(){this._handleImageEditorClose();this._prepareOptions.abort();for(const t of this._processInProgress.values()){t.controller.abort()}super.destroy()}_getValue(){return this._wrapper!==null}async _prepareOptionsAbortable(t,e){const n=this.editor;const o=n.config.get(\"ckbox\");const i=n.plugins.get(kN);const{element:r}=e;let s;const a=r.getAttribute(\"ckboxImageId\");if(a){s={assetId:a}}else{const e=new URL(r.getAttribute(\"src\"),document.baseURI).href;const n=await i.getCategoryIdForFile(e,{signal:t});s={imageUrl:e,uploadCategoryId:n}}return{...s,imageEditing:{allowOverwrite:false},tokenUrl:o.tokenUrl,...o.serviceOrigin&&{serviceOrigin:o.serviceOrigin},onClose:()=>this._handleImageEditorClose(),onSave:t=>this._handleImageEditorSave(e,t)}}_prepareListeners(){this.listenTo(this.editor.model.document,\"change:data\",(()=>{const t=this._getProcessingStatesOfDeletedImages();t.forEach((t=>{t.controller.abort()}))}))}_getProcessingStatesOfDeletedImages(){const t=[];for(const e of this._processInProgress.values()){if(e.element.root.rootName==\"$graveyard\"){t.push(e)}}return t}_checkIfElementIsBeingProcessed(t){for(const{element:e}of this._processInProgress){if(jk(e,t)){return true}}return false}_handleImageEditorClose(){if(!this._wrapper){return}this._wrapper.remove();this._wrapper=null;this.editor.editing.view.focus();this.refresh()}_handleImageEditorSave(t,e){const n=this.editor.locale.t;const o=this.editor.plugins.get(OI);const i=this.editor.plugins.get(m_);const r=i.add(n(\"Processing the edited image.\"));this._processInProgress.add(t);this._showImageProcessingIndicator(t.element,e);this.refresh();this._waitForAssetProcessed(e.data.id,t.controller.signal).then((e=>{this._replaceImage(t.element,e)}),(e=>{this.editor.editing.reconvertItem(t.element);if(t.controller.signal.aborted){return}if(!e||e instanceof N){o.showWarning(n(\"Server failed to process the image.\"),{namespace:\"ckbox\"})}else{console.error(e)}})).finally((()=>{this._processInProgress.delete(t);i.remove(r);this.refresh()}))}async _getAssetStatusFromServer(t,e){const n=this.editor.plugins.get(kN);const o=new URL(\"assets/\"+t,this.editor.config.get(\"ckbox.serviceOrigin\"));const i=await JP({url:o,signal:e,authorization:n.getToken().value});const r=i.metadata.metadataProcessingStatus;if(!r||r==\"queued\"){throw new N(\"ckbox-image-not-processed\")}return{data:{...i}}}async _waitForAssetProcessed(t,e){const n=await hd((()=>this._getAssetStatusFromServer(t,e)),{signal:e,maxAttempts:5});if(n.data.metadata.metadataProcessingStatus!=\"success\"){throw new N(\"ckbox-image-processing-failed\")}return n}_showImageProcessingIndicator(t,e){const n=this.editor;n.editing.view.change((o=>{const i=n.editing.mapper.toViewElement(t);const r=this.editor.plugins.get(\"ImageUtils\");const s=r.findViewImgElement(i);o.removeStyle(\"aspect-ratio\",s);o.setAttribute(\"width\",e.data.metadata.width,s);o.setAttribute(\"height\",e.data.metadata.height,s);o.setStyle(\"width\",`${e.data.metadata.width}px`,s);o.setStyle(\"height\",`${e.data.metadata.height}px`,s);o.addClass(\"image-processing\",i)}))}_replaceImage(t,e){const n=this.editor;const{imageFallbackUrl:o,imageSources:i,imageWidth:r,imageHeight:s,imagePlaceholder:a}=sN(e);const c=Array.from(n.model.document.selection.getRanges());n.model.change((l=>{l.setSelection(t,\"on\");n.execute(\"insertImage\",{source:{src:o,sources:i,width:r,height:s,...a?{placeholder:a}:null,...t.hasAttribute(\"alt\")?{alt:t.getAttribute(\"alt\")}:null}});const d=t.getChildren();t=n.model.document.selection.getSelectedElement();for(const e of d){l.append(l.cloneElement(e),t)}l.setAttribute(\"ckboxImageId\",e.data.id,t);l.setSelection(c)}))}}class MN extends(null&&Plugin){static get pluginName(){return\"CKBoxImageEditEditing\"}static get requires(){return[CKBoxEditing,CKBoxUtils,PendingActions,Notification,\"ImageUtils\",\"ImageEditing\"]}init(){const{editor:t}=this;t.commands.add(\"ckboxImageEdit\",new CKBoxImageEditCommand(t))}}class PN extends(null&&Plugin){static get pluginName(){return\"CKBoxImageEditUI\"}init(){const t=this.editor;t.ui.componentFactory.add(\"ckboxImageEdit\",(e=>{const n=t.commands.get(\"ckboxImageEdit\");const o=new ButtonView(e);const i=e.t;o.set({label:i(\"Edit image\"),icon:ckboxImageEditIcon,tooltip:true});o.bind(\"isOn\").to(n,\"value\",n,\"isEnabled\",((t,e)=>t&&e));o.bind(\"isEnabled\").to(n);this.listenTo(o,\"execute\",(()=>{t.execute(\"ckboxImageEdit\");t.editing.view.focus()}));return o}))}}var NN=n(2364);var LN={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};LN.insert=\"head\";LN.singleton=true;var zN=Ld()(NN.A,LN);const ON=NN.A.locals||{};class RN extends(null&&Plugin){static get pluginName(){return\"CKBoxImageEdit\"}static get requires(){return[CKBoxImageEditEditing,CKBoxImageEditUI]}}const VN={autoRefresh:true};const FN=36e5;class jN extends(mt()){constructor(t,e={}){super();if(!t){throw new N(\"token-missing-token-url\",this)}if(e.initValue){this._validateTokenValue(e.initValue)}this.set(\"value\",e.initValue);if(typeof t===\"function\"){this._refresh=t}else{this._refresh=()=>HN(t)}this._options={...VN,...e}}init(){return new Promise(((t,e)=>{if(!this.value){this.refreshToken().then(t).catch(e);return}if(this._options.autoRefresh){this._registerRefreshTokenTimeout()}t(this)}))}refreshToken(){return this._refresh().then((t=>{this._validateTokenValue(t);this.set(\"value\",t);if(this._options.autoRefresh){this._registerRefreshTokenTimeout()}return this}))}destroy(){clearTimeout(this._tokenRefreshTimeout)}_validateTokenValue(t){const e=typeof t===\"string\";const n=!/^\".*\"$/.test(t);const o=e&&t.split(\".\").length===3;if(!(n&&o)){throw new N(\"token-not-in-jwt-format\",this)}}_registerRefreshTokenTimeout(){const t=this._getTokenRefreshTimeoutTime();clearTimeout(this._tokenRefreshTimeout);this._tokenRefreshTimeout=setTimeout((()=>{this.refreshToken()}),t)}_getTokenRefreshTimeoutTime(){try{const[,t]=this.value.split(\".\");const{exp:e}=JSON.parse(atob(t));if(!e){return FN}const n=Math.floor((e*1e3-Date.now())/2);return n}catch(t){return FN}}static create(t,e={}){const n=new jN(t,e);return n.init()}}function HN(t){return new Promise(((e,n)=>{const o=new XMLHttpRequest;o.open(\"GET\",t);o.addEventListener(\"load\",(()=>{const t=o.status;const i=o.response;if(t<200||t>299){return n(new N(\"token-cannot-download-new-token\",null))}return e(i)}));o.addEventListener(\"error\",(()=>n(new Error(\"Network Error\"))));o.addEventListener(\"abort\",(()=>n(new Error(\"Abort\"))));o.send()}))}const UN=/^data:(\\S*?);base64,/;class WN extends($()){constructor(t,e,n){super();if(!t){throw new N(\"fileuploader-missing-file\",null)}if(!e){throw new N(\"fileuploader-missing-token\",null)}if(!n){throw new N(\"fileuploader-missing-api-address\",null)}this.file=GN(t)?qN(t):t;this._token=e;this._apiAddress=n}onProgress(t){this.on(\"progress\",((e,n)=>t(n)));return this}onError(t){this.once(\"error\",((e,n)=>t(n)));return this}abort(){this.xhr.abort()}send(){this._prepareRequest();this._attachXHRListeners();return this._sendRequest()}_prepareRequest(){const t=new XMLHttpRequest;t.open(\"POST\",this._apiAddress);t.setRequestHeader(\"Authorization\",this._token.value);t.responseType=\"json\";this.xhr=t}_attachXHRListeners(){const t=this.xhr;const e=t=>()=>this.fire(\"error\",t);t.addEventListener(\"error\",e(\"Network Error\"));t.addEventListener(\"abort\",e(\"Abort\"));if(t.upload){t.upload.addEventListener(\"progress\",(t=>{if(t.lengthComputable){this.fire(\"progress\",{total:t.total,uploaded:t.loaded})}}))}t.addEventListener(\"load\",(()=>{const e=t.status;const n=t.response;if(e<200||e>299){return this.fire(\"error\",n.message||n.error)}}))}_sendRequest(){const t=new FormData;const e=this.xhr;t.append(\"file\",this.file);return new Promise(((n,o)=>{e.addEventListener(\"load\",(()=>{const t=e.status;const i=e.response;if(t<200||t>299){if(i.message){return o(new N(\"fileuploader-uploading-data-failed\",this,{message:i.message}))}return o(i.error)}return n(i)}));e.addEventListener(\"error\",(()=>o(new Error(\"Network Error\"))));e.addEventListener(\"abort\",(()=>o(new Error(\"Abort\"))));e.send(t)}))}}function qN(t,e=512){try{const n=t.match(UN)[1];const o=atob(t.replace(UN,\"\"));const i=[];for(let t=0;t{e.push(n);if(i{if(a){this._applyCodeBlock(t,s,c)}else{this._removeCodeBlock(t,s)}}))}_getValue(){const t=this.editor.model.document.selection;const e=sd(t.getSelectedBlocks());const n=!!(e&&e.is(\"element\",\"codeBlock\"));return n?e.getAttribute(\"language\"):false}_checkEnabled(){if(this.value){return true}const t=this.editor.model.document.selection;const e=this.editor.model.schema;const n=sd(t.getSelectedBlocks());if(!n){return false}return nL(e,n)}_applyCodeBlock(t,e,n){this._lastLanguage=n;const o=this.editor.model.schema;const i=e.filter((t=>nL(o,t)));for(const e of i){t.rename(e,\"codeBlock\");t.setAttribute(\"language\",n,e);o.removeDisallowedAttributes([e],t);Array.from(e.getChildren()).filter((t=>!o.checkChild(e,t))).forEach((e=>t.remove(e)))}i.reverse().forEach(((e,n)=>{const o=i[n+1];if(e.previousSibling===o){t.appendElement(\"softBreak\",o);t.merge(t.createPositionBefore(e))}}))}_removeCodeBlock(t,e){const n=e.filter((t=>t.is(\"element\",\"codeBlock\")));for(const e of n){const n=t.createRangeOn(e);for(const e of Array.from(n.getItems()).reverse()){if(e.is(\"element\",\"softBreak\")&&e.parent.is(\"element\",\"codeBlock\")){const{position:n}=t.split(t.createPositionBefore(e));const o=n.nodeAfter;t.rename(o,\"paragraph\");t.removeAttribute(\"language\",o);t.remove(e)}}t.rename(e,\"paragraph\");t.removeAttribute(\"language\",e)}}}function iL(t,e,n){if(t.language){return t.language}if(t.usePreviousLanguageChoice&&e){return e}return n}class rL extends Id{constructor(t){super(t);this._indentSequence=t.config.get(\"codeBlock.indentSequence\")}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor;const e=t.model;e.change((t=>{const n=tL(e);for(const o of n){const n=t.createText(this._indentSequence);e.insertContent(n,o)}}))}_checkEnabled(){if(!this._indentSequence){return false}return eL(this.editor.model.document.selection)}}class sL extends Id{constructor(t){super(t);this._indentSequence=t.config.get(\"codeBlock.indentSequence\")}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor;const e=t.model;e.change((()=>{const t=tL(e);for(const n of t){const t=aL(e,n,this._indentSequence);if(t){e.deleteContent(e.createSelection(t))}}}))}_checkEnabled(){if(!this._indentSequence){return false}const t=this.editor.model;if(!eL(t.document.selection)){return false}return tL(t).some((e=>aL(t,e,this._indentSequence)))}}function aL(t,e,n){const o=cL(e);if(!o){return null}const i=JN(o);const r=i.lastIndexOf(n);if(r+n.length!==i.length){return null}if(r===-1){return null}const{parent:s,startOffset:a}=o;return t.createRange(t.createPositionAt(s,a+r),t.createPositionAt(s,a+r+n.length))}function cL(t){let e=t.parent.getChild(t.index);if(!e||e.is(\"element\",\"softBreak\")){e=t.nodeBefore}if(!e||e.is(\"element\",\"softBreak\")){return null}return e}function lL(t,e,n=false){const o=ZN(e,\"language\",\"class\");const i=ZN(e,\"language\",\"label\");return(e,r,s)=>{const{writer:a,mapper:c,consumable:l}=s;if(!l.consume(r.item,\"insert\")){return}const d=r.item.getAttribute(\"language\");const u=c.toViewPosition(t.createPositionBefore(r.item));const h={};if(n){h[\"data-language\"]=i[d];h.spellcheck=\"false\"}const m=o[d]?{class:o[d]}:undefined;const g=a.createContainerElement(\"code\",m);const f=a.createContainerElement(\"pre\",h,g);a.insert(u,f);c.bindElements(r.item,g)}}function dL(t){return(e,n,o)=>{if(n.item.parent.name!==\"codeBlock\"){return}const{writer:i,mapper:r,consumable:s}=o;if(!s.consume(n.item,\"insert\")){return}const a=r.toViewPosition(t.createPositionBefore(n.item));i.insert(a,i.createText(\"\\n\"))}}function uL(t,e){const n=ZN(e,\"class\",\"language\");const o=e[0].language;return(t,e,i)=>{const r=e.viewItem;const s=r.parent;if(!s||!s.is(\"element\",\"pre\")){return}if(e.modelCursor.findAncestor(\"codeBlock\")){return}const{consumable:a,writer:c}=i;if(!a.test(r,{name:true})){return}const l=c.createElement(\"codeBlock\");const d=[...r.getClassNames()];if(!d.length){d.push(\"\")}for(const t of d){const e=n[t];if(e){c.setAttribute(\"language\",e,l);break}}if(!l.hasAttribute(\"language\")){c.setAttribute(\"language\",o,l)}i.convertChildren(r,l);if(!i.safeInsert(l,e.modelCursor)){return}a.consume(r,{name:true});i.updateConversionResult(l,e)}}function hL(){return(t,e,{consumable:n,writer:o})=>{let i=e.modelCursor;if(!n.test(e.viewItem)){return}if(!i.findAncestor(\"codeBlock\")){return}n.consume(e.viewItem);const r=e.viewItem.data;const s=r.split(\"\\n\").map((t=>o.createText(t)));const a=s[s.length-1];for(const t of s){o.insert(t,i);i=i.getShiftedBy(t.offsetSize);if(t!==a){const t=o.createElement(\"softBreak\");o.insert(t,i);i=o.createPositionAfter(t)}}e.modelRange=o.createRange(e.modelCursor,i);e.modelCursor=i}}function mL(){return(t,e,{consumable:n})=>{const o=e.viewItem;if(o.findAncestor(\"pre\")){return}const i=Array.from(o.getChildren());const r=i.find((t=>t.is(\"element\",\"code\")));if(!r){return}for(const t of i){if(t===r||!t.is(\"$text\")){continue}n.consume(t,{name:true})}}}const gL=\"paragraph\";class fL extends Ed{static get pluginName(){return\"CodeBlockEditing\"}static get requires(){return[fP]}constructor(t){super(t);t.config.define(\"codeBlock\",{languages:[{language:\"plaintext\",label:\"Plain text\"},{language:\"c\",label:\"C\"},{language:\"cs\",label:\"C#\"},{language:\"cpp\",label:\"C++\"},{language:\"css\",label:\"CSS\"},{language:\"diff\",label:\"Diff\"},{language:\"html\",label:\"HTML\"},{language:\"java\",label:\"Java\"},{language:\"javascript\",label:\"JavaScript\"},{language:\"php\",label:\"PHP\"},{language:\"python\",label:\"Python\"},{language:\"ruby\",label:\"Ruby\"},{language:\"typescript\",label:\"TypeScript\"},{language:\"xml\",label:\"XML\"}],indentSequence:\"\\t\"})}init(){const t=this.editor;const e=t.model.schema;const n=t.model;const o=t.editing.view;const i=t.plugins.has(\"ListEditing\")?t.plugins.get(\"ListEditing\"):null;const r=QN(t);t.commands.add(\"codeBlock\",new oL(t));t.commands.add(\"indentCodeBlock\",new rL(t));t.commands.add(\"outdentCodeBlock\",new sL(t));this.listenTo(o.document,\"tab\",((e,n)=>{const o=n.shiftKey?\"outdentCodeBlock\":\"indentCodeBlock\";const i=t.commands.get(o);if(!i.isEnabled){return}t.execute(o);n.stopPropagation();n.preventDefault();e.stop()}),{context:\"pre\"});e.register(\"codeBlock\",{allowWhere:\"$block\",allowChildren:\"$text\",isBlock:true,allowAttributes:[\"language\"]});e.addAttributeCheck(((t,e)=>{if(t.endsWith(\"codeBlock\")&&i&&i.getListAttributeNames().includes(e)){return true}if(t.endsWith(\"codeBlock $text\")){return false}}));t.model.schema.addChildCheck(((t,e)=>{if(t.endsWith(\"codeBlock\")&&e.isObject){return false}}));t.editing.downcastDispatcher.on(\"insert:codeBlock\",lL(n,r,true));t.data.downcastDispatcher.on(\"insert:codeBlock\",lL(n,r));t.data.downcastDispatcher.on(\"insert:softBreak\",dL(n),{priority:\"high\"});t.data.upcastDispatcher.on(\"element:code\",uL(o,r));t.data.upcastDispatcher.on(\"text\",hL());t.data.upcastDispatcher.on(\"element:pre\",mL(),{priority:\"high\"});this.listenTo(t.editing.view.document,\"clipboardInput\",((e,o)=>{let i=n.createRange(n.document.selection.anchor);if(o.targetRanges){i=t.editing.mapper.toModelRange(o.targetRanges[0])}if(!i.start.parent.is(\"element\",\"codeBlock\")){return}const r=o.dataTransfer.getData(\"text/plain\");const s=new uA(t.editing.view.document);o.content=XN(s,r)}));this.listenTo(n,\"getSelectedContent\",((t,[o])=>{const i=o.anchor;if(o.isCollapsed||!i.parent.is(\"element\",\"codeBlock\")||!i.hasSameParentAs(o.focus)){return}n.change((n=>{const r=t.return;if(i.parent.is(\"element\")&&(r.childCount>1||o.containsEntireContent(i.parent))){const e=n.createElement(\"codeBlock\",i.parent.getAttributes());n.append(r,e);const o=n.createDocumentFragment();n.append(e,o);t.return=o;return}const s=r.getChild(0);if(e.checkAttribute(s,\"code\")){n.setAttribute(\"code\",true,s)}}))}))}afterInit(){const t=this.editor;const e=t.commands;const n=e.get(\"indent\");const o=e.get(\"outdent\");if(n){n.registerChildCommand(e.get(\"indentCodeBlock\"),{priority:\"highest\"})}if(o){o.registerChildCommand(e.get(\"outdentCodeBlock\"))}this.listenTo(t.editing.view.document,\"enter\",((e,n)=>{const o=t.model.document.selection.getLastPosition().parent;if(!o.is(\"element\",\"codeBlock\")){return}if(!bL(t,n.isSoft)&&!kL(t,n.isSoft)){pL(t)}n.preventDefault();e.stop()}),{context:\"pre\"})}}function pL(t){const e=t.model;const n=e.document;const o=n.selection.getLastPosition();const i=o.nodeBefore||o.textNode;let r;if(i&&i.is(\"$text\")){r=JN(i)}t.model.change((e=>{t.execute(\"shiftEnter\");if(r){e.insertText(r,n.selection.anchor)}}))}function bL(t,e){const n=t.model;const o=n.document;const i=t.editing.view;const r=o.selection.getLastPosition();const s=r.nodeAfter;if(e||!o.selection.isCollapsed||!r.isAtStart){return false}if(!AL(s)){return false}t.model.change((e=>{t.execute(\"enter\");const n=o.selection.anchor.parent.previousSibling;e.rename(n,gL);e.setSelection(n,\"in\");t.model.schema.removeDisallowedAttributes([n],e);e.remove(s)}));i.scrollToTheSelection();return true}function kL(t,e){const n=t.model;const o=n.document;const i=t.editing.view;const r=o.selection.getLastPosition();const s=r.nodeBefore;let a;if(e||!o.selection.isCollapsed||!r.isAtEnd||!s||!s.previousSibling){return false}if(AL(s)&&AL(s.previousSibling)){a=n.createRange(n.createPositionBefore(s.previousSibling),n.createPositionAfter(s))}else if(wL(s)&&AL(s.previousSibling)&&AL(s.previousSibling.previousSibling)){a=n.createRange(n.createPositionBefore(s.previousSibling.previousSibling),n.createPositionAfter(s))}else if(wL(s)&&AL(s.previousSibling)&&wL(s.previousSibling.previousSibling)&&s.previousSibling.previousSibling&&AL(s.previousSibling.previousSibling.previousSibling)){a=n.createRange(n.createPositionBefore(s.previousSibling.previousSibling.previousSibling),n.createPositionAfter(s))}else{return false}t.model.change((e=>{e.remove(a);t.execute(\"enter\");const n=o.selection.anchor.parent;e.rename(n,gL);t.model.schema.removeDisallowedAttributes([n],e)}));i.scrollToTheSelection();return true}function wL(t){return t&&t.is(\"$text\")&&!t.data.match(/\\S/)}function AL(t){return t&&t.is(\"element\",\"softBreak\")}var _L=n(2440);var CL={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};CL.insert=\"head\";CL.singleton=true;var vL=Ld()(_L.A,CL);const yL=_L.A.locals||{};class xL extends Ed{static get pluginName(){return\"CodeBlockUI\"}init(){const t=this.editor;const e=t.t;const n=t.ui.componentFactory;const o=QN(t);const i=this._getLanguageListItemDefinitions(o);const r=t.commands.get(\"codeBlock\");n.add(\"codeBlock\",(n=>{const o=xx(n,px);const s=o.buttonView;const a=e(\"Insert code block\");s.set({label:a,tooltip:true,icon:CC.codeBlock,isToggleable:true});s.bind(\"isOn\").to(r,\"value\",(t=>!!t));s.on(\"execute\",(()=>{t.execute(\"codeBlock\",{usePreviousLanguageChoice:true});t.editing.view.focus()}));o.on(\"execute\",(e=>{t.execute(\"codeBlock\",{language:e.source._codeBlockLanguage,forceValue:true});t.editing.view.focus()}));o.class=\"ck-code-block-dropdown\";o.bind(\"isEnabled\").to(r);Ix(o,i,{role:\"menu\",ariaLabel:a});return o}));n.add(\"menuBar:codeBlock\",(n=>{const o=new VS(n);o.buttonView.set({label:e(\"Code block\"),icon:CC.codeBlock});o.bind(\"isEnabled\").to(r);const s=new FS(n);s.set({ariaLabel:e(\"Insert code block\")});for(const e of i){const i=new aS(n,o);const a=new qS(n);a.bind(...Object.keys(e.model)).to(e.model);a.bind(\"ariaChecked\").to(a,\"isOn\");a.delegate(\"execute\").to(o);a.on(\"execute\",(()=>{t.execute(\"codeBlock\",{language:e.model._codeBlockLanguage,forceValue:r.value==e.model._codeBlockLanguage?false:true});t.editing.view.focus()}));i.children.add(a);s.items.add(i)}o.panelView.children.add(s);return o}))}_getLanguageListItemDefinitions(t){const e=this.editor;const n=e.commands.get(\"codeBlock\");const o=new rd;for(const e of t){const t={type:\"button\",model:new RI({_codeBlockLanguage:e.language,label:e.label,role:\"menuitemradio\",withText:true})};t.model.bind(\"isOn\").to(n,\"value\",(e=>e===t.model._codeBlockLanguage));o.add(t)}return o}}class EL extends Ed{static get requires(){return[fL,xL]}static get pluginName(){return\"CodeBlock\"}}class DL extends Zm{constructor(t){super(t);this.domEventType=[\"paste\",\"copy\",\"cut\",\"drop\",\"dragover\",\"dragstart\",\"dragend\",\"dragenter\",\"dragleave\"];const e=this.document;this.listenTo(e,\"paste\",n(\"clipboardInput\"),{priority:\"low\"});this.listenTo(e,\"drop\",n(\"clipboardInput\"),{priority:\"low\"});this.listenTo(e,\"dragover\",n(\"dragging\"),{priority:\"low\"});function n(t){return(n,o)=>{o.preventDefault();const i=o.dropRange?[o.dropRange]:null;const r=new D(e,t);e.fire(r,{dataTransfer:o.dataTransfer,method:n.name,targetRanges:i,target:o.target,domEvent:o.domEvent});if(r.stop.called){o.stopPropagation()}}}}onDomEvent(t){const e=\"clipboardData\"in t?t.clipboardData:t.dataTransfer;const n=t.type==\"drop\"||t.type==\"paste\";const o={dataTransfer:new xf(e,{cacheFiles:n})};if(t.type==\"drop\"||t.type==\"dragover\"){o.dropRange=IL(this.view,t)}this.fire(t.type,t,o)}}function IL(t,e){const n=e.target.ownerDocument;const o=e.clientX;const i=e.clientY;let r;if(n.caretRangeFromPoint&&n.caretRangeFromPoint(o,i)){r=n.caretRangeFromPoint(o,i)}else if(e.rangeParent){r=n.createRange();r.setStart(e.rangeParent,e.rangeOffset);r.collapse(true)}if(r){return t.domConverter.domRangeToView(r)}return null}function TL(t){t=t.replace(/&/g,\"&\").replace(//g,\">\").replace(/\\r?\\n\\r?\\n/g,\"

\").replace(/\\r?\\n/g,\"
\").replace(/\\t/g,\"    \").replace(/^\\s/,\" \").replace(/\\s$/,\" \").replace(/\\s\\s/g,\"  \");if(t.includes(\"

\")||t.includes(\"
\")){t=`

${t}

`}return t}function SL(t){return t.replace(/(\\s+)<\\/span>/g,((t,e)=>{if(e.length==1){return\" \"}return e})).replace(//g,\"\")}const BL=[\"figcaption\",\"li\"];const ML=[\"ol\",\"ul\"];function PL(t){if(t.is(\"$text\")||t.is(\"$textProxy\")){return t.data}if(t.is(\"element\",\"img\")&&t.hasAttribute(\"alt\")){return t.getAttribute(\"alt\")}if(t.is(\"element\",\"br\")){return\"\\n\"}let e=\"\";let n=null;for(const o of t.getChildren()){e+=NL(o,n)+PL(o);n=o}return e}function NL(t,e){if(!e){return\"\"}if(t.is(\"element\",\"li\")&&!t.isEmpty&&t.getChild(0).is(\"containerElement\")){return\"\\n\\n\"}if(ML.includes(t.name)&&ML.includes(e.name)){return\"\\n\\n\"}if(!t.is(\"containerElement\")&&!e.is(\"containerElement\")){return\"\"}if(BL.includes(t.name)||BL.includes(e.name)){return\"\\n\"}return\"\\n\\n\"}function LL(t,e){return t&&hl(t,e,Gi)}const zL=LL;var OL=1,RL=2;function VL(t,e,n,o){var i=n.length,r=i,s=!o;if(t==null){return!r}t=Object(t);while(i--){var a=n[i];if(s&&a[2]?a[1]!==t[a[0]]:!(a[0]in t)){return false}}while(++it.model.getSelectedContent(t.model.document.selection))){return this.editor.model.change((o=>{const i=o.model.document.selection;o.setSelection(e);const r=this._insertFakeMarkersIntoSelection(o,o.model.document.selection,t);const s=n(o);const a=this._removeFakeMarkersInsideElement(o,s);for(const[t,e]of Object.entries(r)){a[t]||(a[t]=o.createRangeIn(s));for(const t of e){o.remove(t)}}s.markers.clear();for(const[t,e]of Object.entries(a)){s.markers.set(t,e)}o.setSelection(i);return s}))}_pasteMarkersIntoTransformedElement(t,e){const n=this._getPasteMarkersFromRangeMap(t);return this.editor.model.change((t=>{const o=this._insertFakeMarkersElements(t,n);const i=e(t);const r=this._removeFakeMarkersInsideElement(t,i);for(const e of Object.values(o).flat()){t.remove(e)}for(const[e,n]of Object.entries(r)){if(!t.model.markers.has(e)){t.addMarker(e,{usingOperation:true,affectsData:true,range:n})}}return i}))}_pasteFragmentWithMarkers(t){const e=this._getPasteMarkersFromRangeMap(t.markers);t.markers.clear();for(const n of e){t.markers.set(n.name,n.range)}return this.editor.model.insertContent(t)}_forceMarkersCopy(t,e,n={allowedActions:\"all\",copyPartiallySelected:true,duplicateOnPaste:true}){const o=this._markersToCopy.get(t);this._markersToCopy.set(t,n);e();if(o){this._markersToCopy.set(t,o)}else{this._markersToCopy.delete(t)}}_isMarkerCopyable(t,e){const n=this._getMarkerClipboardConfig(t);if(!n){return false}if(!e){return true}const{allowedActions:o}=n;return o===\"all\"||o.includes(e)}_hasMarkerConfiguration(t){return!!this._getMarkerClipboardConfig(t)}_getMarkerClipboardConfig(t){const[e]=t.split(\":\");return this._markersToCopy.get(e)||null}_insertFakeMarkersIntoSelection(t,e,n){const o=this._getCopyableMarkersFromSelection(t,e,n);return this._insertFakeMarkersElements(t,o)}_getCopyableMarkersFromSelection(t,e,n){const o=Array.from(e.getRanges());const i=new Set(o.flatMap((e=>Array.from(t.model.markers.getMarkersIntersectingRange(e)))));const r=t=>{const e=this._isMarkerCopyable(t.name,n);if(!e){return false}const{copyPartiallySelected:i}=this._getMarkerClipboardConfig(t.name);if(!i){const e=t.getRange();return o.some((t=>t.containsRange(e,true)))}return true};return Array.from(i).filter(r).map((t=>{const e=n===\"dragstart\"?this._getUniqueMarkerName(t.name):t.name;return{name:e,range:t.getRange()}}))}_getPasteMarkersFromRangeMap(t,e=null){const{model:n}=this.editor;const o=t instanceof Map?Array.from(t.entries()):Object.entries(t);return o.flatMap((([t,o])=>{if(!this._hasMarkerConfiguration(t)){return[{name:t,range:o}]}if(this._isMarkerCopyable(t,e)){const e=this._getMarkerClipboardConfig(t);const i=n.markers.has(t)&&n.markers.get(t).getRange().root.rootName===\"$graveyard\";if(e.duplicateOnPaste||i){t=this._getUniqueMarkerName(t)}return[{name:t,range:o}]}return[]}))}_insertFakeMarkersElements(t,e){const n={};const o=e.flatMap((t=>{const{start:e,end:n}=t.range;return[{position:e,marker:t,type:\"start\"},{position:n,marker:t,type:\"end\"}]})).sort((({position:t},{position:e})=>t.isBefore(e)?1:-1));for(const{position:e,marker:i,type:r}of o){const o=t.createElement(\"$marker\",{\"data-name\":i.name,\"data-type\":r});if(!n[i.name]){n[i.name]=[]}n[i.name].push(o);t.insert(o,e)}return n}_removeFakeMarkersInsideElement(t,e){const n=this._getAllFakeMarkersFromElement(t,e);const o=n.reduce(((e,n)=>{const o=n.markerElement&&t.createPositionBefore(n.markerElement);let i=e[n.name];let r=false;if(i&&i.start&&i.end){const t=this._getMarkerClipboardConfig(n.name);if(t.duplicateOnPaste){e[this._getUniqueMarkerName(n.name)]=e[n.name]}else{r=true}i=null}if(!r){e[n.name]={...i,[n.type]:o}}if(n.markerElement){t.remove(n.markerElement)}return e}),{});return gz(o,(n=>new Zf(n.start||t.createPositionFromPath(e,[0]),n.end||t.createPositionAt(e,\"end\"))))}_getAllFakeMarkersFromElement(t,e){const n=Array.from(t.createRangeIn(e)).flatMap((({item:t})=>{if(!t.is(\"element\",\"$marker\")){return[]}const e=t.getAttribute(\"data-name\");const n=t.getAttribute(\"data-type\");return[{markerElement:t,name:e,type:n}]}));const o=[];const i=[];for(const t of n){if(t.type===\"end\"){const e=n.some((e=>e.name===t.name&&e.type===\"start\"));if(!e){o.push({markerElement:null,name:t.name,type:\"start\"})}}if(t.type===\"start\"){const e=n.some((e=>e.name===t.name&&e.type===\"end\"));if(!e){i.unshift({markerElement:null,name:t.name,type:\"end\"})}}}return[...o,...n,...i]}_getUniqueMarkerName(t){const e=t.split(\":\");const n=T().substring(1,6);if(e.length===3){return`${e.slice(0,2).join(\":\")}:${n}`}return`${e.join(\":\")}:${n}`}}class pz extends Ed{static get pluginName(){return\"ClipboardPipeline\"}static get requires(){return[fz]}init(){const t=this.editor;const e=t.editing.view;e.addObserver(DL);this._setupPasteDrop();this._setupCopyCut()}_fireOutputTransformationEvent(t,e,n){const o=this.editor.plugins.get(\"ClipboardMarkersUtils\");this.editor.model.enqueueChange({isUndoable:n===\"cut\"},(()=>{const i=o._copySelectedFragmentWithMarkers(n,e);this.fire(\"outputTransformation\",{dataTransfer:t,content:i,method:n})}))}_setupPasteDrop(){const t=this.editor;const e=t.model;const n=t.editing.view;const o=n.document;const i=this.editor.plugins.get(\"ClipboardMarkersUtils\");this.listenTo(o,\"clipboardInput\",((e,n)=>{if(n.method==\"paste\"&&!t.model.canEditAt(t.model.document.selection)){e.stop()}}),{priority:\"highest\"});this.listenTo(o,\"clipboardInput\",((t,e)=>{const o=e.dataTransfer;let i;if(e.content){i=e.content}else{let t=\"\";if(o.getData(\"text/html\")){t=SL(o.getData(\"text/html\"))}else if(o.getData(\"text/plain\")){t=TL(o.getData(\"text/plain\"))}i=this.editor.data.htmlProcessor.toView(t)}const r=new D(this,\"inputTransformation\");this.fire(r,{content:i,dataTransfer:o,targetRanges:e.targetRanges,method:e.method});if(r.stop.called){t.stop()}n.scrollToTheSelection()}),{priority:\"low\"});this.listenTo(this,\"inputTransformation\",((t,n)=>{if(n.content.isEmpty){return}const o=this.editor.data;const i=o.toModel(n.content,\"$clipboardHolder\");if(i.childCount==0){return}t.stop();e.change((()=>{this.fire(\"contentInsertion\",{content:i,method:n.method,dataTransfer:n.dataTransfer,targetRanges:n.targetRanges})}))}),{priority:\"low\"});this.listenTo(this,\"contentInsertion\",((t,e)=>{e.resultRange=i._pasteFragmentWithMarkers(e.content)}),{priority:\"low\"})}_setupCopyCut(){const t=this.editor;const e=t.model.document;const n=t.editing.view;const o=n.document;const i=(t,n)=>{const o=n.dataTransfer;n.preventDefault();this._fireOutputTransformationEvent(o,e.selection,t.name)};this.listenTo(o,\"copy\",i,{priority:\"low\"});this.listenTo(o,\"cut\",((e,n)=>{if(!t.model.canEditAt(t.model.document.selection)){n.preventDefault()}else{i(e,n)}}),{priority:\"low\"});this.listenTo(this,\"outputTransformation\",((e,n)=>{const i=t.data.toView(n.content);o.fire(\"clipboardOutput\",{dataTransfer:n.dataTransfer,content:i,method:n.method})}),{priority:\"low\"});this.listenTo(o,\"clipboardOutput\",((n,o)=>{if(!o.content.isEmpty){o.dataTransfer.setData(\"text/html\",this.editor.data.htmlProcessor.toData(o.content));o.dataTransfer.setData(\"text/plain\",PL(o.content))}if(o.method==\"cut\"){t.model.deleteContent(e.selection)}}),{priority:\"low\"})}}class bz extends($()){constructor(){super(...arguments);this._stack=[]}add(t,e){const n=this._stack;const o=n[0];this._insertDescriptor(t);const i=n[0];if(o!==i&&!kz(o,i)){this.fire(\"change:top\",{oldDescriptor:o,newDescriptor:i,writer:e})}}remove(t,e){const n=this._stack;const o=n[0];this._removeDescriptor(t);const i=n[0];if(o!==i&&!kz(o,i)){this.fire(\"change:top\",{oldDescriptor:o,newDescriptor:i,writer:e})}}_insertDescriptor(t){const e=this._stack;const n=e.findIndex((e=>e.id===t.id));if(kz(t,e[n])){return}if(n>-1){e.splice(n,1)}let o=0;while(e[o]&&wz(e[o],t)){o++}e.splice(o,0,t)}_removeDescriptor(t){const e=this._stack;const n=e.findIndex((e=>e.id===t));if(n>-1){e.splice(n,1)}}}function kz(t,e){return t&&e&&t.priority==e.priority&&Az(t.classes)==Az(e.classes)}function wz(t,e){if(t.priority>e.priority){return true}else if(t.priorityAz(e.classes)}function Az(t){return Array.isArray(t)?t.sort().join(\",\"):t}const _z='';const Cz=\"ck-widget\";const vz=\"ck-widget_selected\";function yz(t){if(!t.is(\"element\")){return false}return!!t.getCustomProperty(\"widget\")}function xz(t,e,n={}){if(!t.is(\"containerElement\")){throw new N(\"widget-to-widget-wrong-element-type\",null,{element:t})}e.setAttribute(\"contenteditable\",\"false\",t);e.addClass(Cz,t);e.setCustomProperty(\"widget\",true,t);t.getFillerOffset=Nz;e.setCustomProperty(\"widgetLabel\",[],t);if(n.label){Tz(t,n.label)}if(n.hasSelectionHandle){Lz(t,e)}Iz(t,e);return t}function Ez(t,e,n){if(e.classes){n.addClass(sl(e.classes),t)}if(e.attributes){for(const o in e.attributes){n.setAttribute(o,e.attributes[o],t)}}}function Dz(t,e,n){if(e.classes){n.removeClass(sl(e.classes),t)}if(e.attributes){for(const o in e.attributes){n.removeAttribute(o,t)}}}function Iz(t,e,n=Ez,o=Dz){const i=new bz;i.on(\"change:top\",((e,i)=>{if(i.oldDescriptor){o(t,i.oldDescriptor,i.writer)}if(i.newDescriptor){n(t,i.newDescriptor,i.writer)}}));const r=(t,e,n)=>i.add(e,n);const s=(t,e,n)=>i.remove(e,n);e.setCustomProperty(\"addHighlight\",r,t);e.setCustomProperty(\"removeHighlight\",s,t)}function Tz(t,e){const n=t.getCustomProperty(\"widgetLabel\");n.push(e)}function Sz(t){const e=t.getCustomProperty(\"widgetLabel\");return e.reduce(((t,e)=>{if(typeof e===\"function\"){return t?t+\". \"+e():e()}else{return t?t+\". \"+e:e}}),\"\")}function Bz(t,e,n={}){e.addClass([\"ck-editor__editable\",\"ck-editor__nested-editable\"],t);e.setAttribute(\"role\",\"textbox\",t);e.setAttribute(\"tabindex\",\"-1\",t);if(n.label){e.setAttribute(\"aria-label\",n.label,t)}e.setAttribute(\"contenteditable\",t.isReadOnly?\"false\":\"true\",t);t.on(\"change:isReadOnly\",((n,o,i)=>{e.setAttribute(\"contenteditable\",i?\"false\":\"true\",t)}));t.on(\"change:isFocused\",((n,o,i)=>{if(i){e.addClass(\"ck-editor__nested-editable_focused\",t)}else{e.removeClass(\"ck-editor__nested-editable_focused\",t)}}));Iz(t,e);return t}function Mz(t,e){const n=t.getSelectedElement();if(n){const o=jz(t);if(o){return e.createRange(e.createPositionAt(n,o))}}return e.schema.findOptimalInsertionRange(t)}function Pz(t,e){return(n,o)=>{const{mapper:i,viewPosition:r}=o;const s=i.findMappedViewAncestor(r);if(!e(s)){return}const a=i.toModelElement(s);o.modelPosition=t.createPositionAt(a,r.isAtStart?\"before\":\"after\")}}function Nz(){return null}function Lz(t,e){const n=e.createUIElement(\"div\",{class:\"ck ck-widget__selection-handle\"},(function(t){const e=this.toDomElement(t);const n=new yv;n.set(\"content\",_z);n.render();e.appendChild(n.element);return e}));e.insert(e.createPositionAt(t,0),n);e.addClass([\"ck-widget_with-selection-handle\"],t)}const zz=\"widget-type-around\";function Oz(t,e,n){return!!t&&yz(t)&&!n.isInline(e)}function Rz(t){return t.closest(\".ck-widget__type-around__button\")}function Vz(t){return t.classList.contains(\"ck-widget__type-around__button_before\")?\"before\":\"after\"}function Fz(t,e){const n=t.closest(\".ck-widget\");return e.mapDomToView(n)}function jz(t){return t.getAttribute(zz)}const Hz='';var Uz=n(698);var Wz={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};Wz.insert=\"head\";Wz.singleton=true;var qz=Ld()(Uz.A,Wz);const Gz=Uz.A.locals||{};const $z=[\"before\",\"after\"];const Kz=(new DOMParser).parseFromString(Hz,\"image/svg+xml\").firstChild;const Yz=\"ck-widget__type-around_disabled\";class Qz extends Ed{constructor(){super(...arguments);this._currentFakeCaretModelElement=null}static get pluginName(){return\"WidgetTypeAround\"}static get requires(){return[lP,RB]}init(){const t=this.editor;const e=t.editing.view;this.on(\"change:isEnabled\",((n,o,i)=>{e.change((t=>{for(const n of e.document.roots){if(i){t.removeClass(Yz,n)}else{t.addClass(Yz,n)}}}));if(!i){t.model.change((t=>{t.removeSelectionAttribute(zz)}))}}));this._enableTypeAroundUIInjection();this._enableInsertingParagraphsOnButtonClick();this._enableInsertingParagraphsOnEnterKeypress();this._enableInsertingParagraphsOnTypingKeystroke();this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows();this._enableDeleteIntegration();this._enableInsertContentIntegration();this._enableInsertObjectIntegration();this._enableDeleteContentIntegration()}destroy(){super.destroy();this._currentFakeCaretModelElement=null}_insertParagraph(t,e){const n=this.editor;const o=n.editing.view;const i=n.model.schema.getAttributesWithProperty(t,\"copyOnReplace\",true);n.execute(\"insertParagraph\",{position:n.model.createPositionAt(t,e),attributes:i});o.focus();o.scrollToTheSelection()}_listenToIfEnabled(t,e,n,o){this.listenTo(t,e,((...t)=>{if(this.isEnabled){n(...t)}}),o)}_insertParagraphAccordingToFakeCaretPosition(){const t=this.editor;const e=t.model;const n=e.document.selection;const o=jz(n);if(!o){return false}const i=n.getSelectedElement();this._insertParagraph(i,o);return true}_enableTypeAroundUIInjection(){const t=this.editor;const e=t.model.schema;const n=t.locale.t;const o={before:n(\"Insert paragraph before block\"),after:n(\"Insert paragraph after block\")};t.editing.downcastDispatcher.on(\"insert\",((t,i,r)=>{const s=r.mapper.toViewElement(i.item);if(!s){return}if(Oz(s,i.item,e)){Zz(r.writer,o,s);const t=s.getCustomProperty(\"widgetLabel\");t.push((()=>this.isEnabled?n(\"Press Enter to type after or press Shift + Enter to type before the widget\"):\"\"))}}),{priority:\"low\"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor;const e=t.model;const n=e.document.selection;const o=e.schema;const i=t.editing.view;this._listenToIfEnabled(i.document,\"arrowKey\",((t,e)=>{this._handleArrowKeyPress(t,e)}),{context:[yz,\"$text\"],priority:\"high\"});this._listenToIfEnabled(n,\"change:range\",((e,n)=>{if(!n.directChange){return}t.model.change((t=>{t.removeSelectionAttribute(zz)}))}));this._listenToIfEnabled(e.document,\"change:data\",(()=>{const e=n.getSelectedElement();if(e){const n=t.editing.mapper.toViewElement(e);if(Oz(n,e,o)){return}}t.model.change((t=>{t.removeSelectionAttribute(zz)}))}));this._listenToIfEnabled(t.editing.downcastDispatcher,\"selection\",((t,e,n)=>{const i=n.writer;if(this._currentFakeCaretModelElement){const t=n.mapper.toViewElement(this._currentFakeCaretModelElement);if(t){i.removeClass($z.map(r),t);this._currentFakeCaretModelElement=null}}const s=e.selection.getSelectedElement();if(!s){return}const a=n.mapper.toViewElement(s);if(!Oz(a,s,o)){return}const c=jz(e.selection);if(!c){return}i.addClass(r(c),a);this._currentFakeCaretModelElement=s}));this._listenToIfEnabled(t.ui.focusTracker,\"change:isFocused\",((e,n,o)=>{if(!o){t.model.change((t=>{t.removeSelectionAttribute(zz)}))}}));function r(t){return`ck-widget_type-around_show-fake-caret_${t}`}}_handleArrowKeyPress(t,e){const n=this.editor;const o=n.model;const i=o.document.selection;const r=o.schema;const s=n.editing.view;const a=e.keyCode;const c=ol(a,n.locale.contentLanguageDirection);const l=s.document.selection.getSelectedElement();const d=n.editing.mapper.toModelElement(l);let u;if(Oz(l,d,r)){u=this._handleArrowKeyPressOnSelectedWidget(c)}else if(i.isCollapsed){u=this._handleArrowKeyPressWhenSelectionNextToAWidget(c)}else if(!e.shiftKey){u=this._handleArrowKeyPressWhenNonCollapsedSelection(c)}if(u){e.preventDefault();t.stop()}}_handleArrowKeyPressOnSelectedWidget(t){const e=this.editor;const n=e.model;const o=n.document.selection;const i=jz(o);return n.change((e=>{if(i){const n=i===(t?\"after\":\"before\");if(!n){e.removeSelectionAttribute(zz);return true}}else{e.setSelectionAttribute(zz,t?\"after\":\"before\");return true}return false}))}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor;const n=e.model;const o=n.schema;const i=e.plugins.get(\"Widget\");const r=i._getObjectElementNextToSelection(t);const s=e.editing.mapper.toViewElement(r);if(Oz(s,r,o)){n.change((e=>{i._setSelectionOverElement(r);e.setSelectionAttribute(zz,t?\"before\":\"after\")}));return true}return false}_handleArrowKeyPressWhenNonCollapsedSelection(t){const e=this.editor;const n=e.model;const o=n.schema;const i=e.editing.mapper;const r=n.document.selection;const s=t?r.getLastPosition().nodeBefore:r.getFirstPosition().nodeAfter;const a=i.toViewElement(s);if(Oz(a,s,o)){n.change((e=>{e.setSelection(s,\"on\");e.setSelectionAttribute(zz,t?\"after\":\"before\")}));return true}return false}_enableInsertingParagraphsOnButtonClick(){const t=this.editor;const e=t.editing.view;this._listenToIfEnabled(e.document,\"mousedown\",((n,o)=>{const i=Rz(o.domTarget);if(!i){return}const r=Vz(i);const s=Fz(i,e.domConverter);const a=t.editing.mapper.toModelElement(s);this._insertParagraph(a,r);o.preventDefault();n.stop()}))}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor;const e=t.model.document.selection;const n=t.editing.view;this._listenToIfEnabled(n.document,\"enter\",((n,o)=>{if(n.eventPhase!=\"atTarget\"){return}const i=e.getSelectedElement();const r=t.editing.mapper.toViewElement(i);const s=t.model.schema;let a;if(this._insertParagraphAccordingToFakeCaretPosition()){a=true}else if(Oz(r,i,s)){this._insertParagraph(i,o.isSoft?\"before\":\"after\");a=true}if(a){o.preventDefault();n.stop()}}),{context:yz})}_enableInsertingParagraphsOnTypingKeystroke(){const t=this.editor;const e=t.editing.view.document;this._listenToIfEnabled(e,\"insertText\",((t,n)=>{if(this._insertParagraphAccordingToFakeCaretPosition()){n.selection=e.selection}}),{priority:\"high\"});if(l.isAndroid){this._listenToIfEnabled(e,\"keydown\",((t,e)=>{if(e.keyCode==229){this._insertParagraphAccordingToFakeCaretPosition()}}))}else{this._listenToIfEnabled(e,\"compositionstart\",(()=>{this._insertParagraphAccordingToFakeCaretPosition()}),{priority:\"high\"})}}_enableDeleteIntegration(){const t=this.editor;const e=t.editing.view;const n=t.model;const o=n.schema;this._listenToIfEnabled(e.document,\"delete\",((e,i)=>{if(e.eventPhase!=\"atTarget\"){return}const r=jz(n.document.selection);if(!r){return}const s=i.direction;const a=n.document.selection.getSelectedElement();const c=r===\"before\";const l=s==\"forward\";const d=c===l;if(d){t.execute(\"delete\",{selection:n.createSelection(a,\"on\")})}else{const e=o.getNearestSelectionRange(n.createPositionAt(a,r),s);if(e){if(!e.isCollapsed){n.change((n=>{n.setSelection(e);t.execute(l?\"deleteForward\":\"delete\")}))}else{const i=n.createSelection(e.start);n.modifySelection(i,{direction:s});if(!i.focus.isEqual(e.start)){n.change((n=>{n.setSelection(e);t.execute(l?\"deleteForward\":\"delete\")}))}else{const t=tO(o,e.start.parent);n.deleteContent(n.createSelection(t,\"on\"),{doNotAutoparagraph:true})}}}}i.preventDefault();e.stop()}),{context:yz})}_enableInsertContentIntegration(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;this._listenToIfEnabled(t.model,\"insertContent\",((t,[o,i])=>{if(i&&!i.is(\"documentSelection\")){return}const r=jz(n);if(!r){return}t.stop();return e.change((t=>{const i=n.getSelectedElement();const s=e.createPositionAt(i,r);const a=t.createSelection(s);const c=e.insertContent(o,a);t.setSelection(a);return c}))}),{priority:\"high\"})}_enableInsertObjectIntegration(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;this._listenToIfEnabled(t.model,\"insertObject\",((t,e)=>{const[,o,i={}]=e;if(o&&!o.is(\"documentSelection\")){return}const r=jz(n);if(!r){return}i.findOptimalPosition=r;e[3]=i}),{priority:\"high\"})}_enableDeleteContentIntegration(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;this._listenToIfEnabled(t.model,\"deleteContent\",((t,[e])=>{if(e&&!e.is(\"documentSelection\")){return}const o=jz(n);if(o){t.stop()}}),{priority:\"high\"})}}function Zz(t,e,n){const o=t.createUIElement(\"div\",{class:\"ck ck-reset_all ck-widget__type-around\"},(function(t){const n=this.toDomElement(t);Jz(n,e);Xz(n);return n}));t.insert(t.createPositionAt(n,\"end\"),o)}function Jz(t,e){for(const n of $z){const o=new EC({tag:\"div\",attributes:{class:[\"ck\",\"ck-widget__type-around__button\",`ck-widget__type-around__button_${n}`],title:e[n],\"aria-hidden\":\"true\"},children:[t.ownerDocument.importNode(Kz,true)]});t.appendChild(o.render())}}function Xz(t){const e=new EC({tag:\"div\",attributes:{class:[\"ck\",\"ck-widget__type-around__fake-caret\"]}});t.appendChild(e.render())}function tO(t,e){let n=e;for(const o of e.getAncestors({parentFirst:true})){if(o.childCount>1||t.isLimit(o)){break}n=o}return n}function eO(t){const e=t.model;return(n,o)=>{const i=o.keyCode==Yc.arrowup;const r=o.keyCode==Yc.arrowdown;const s=o.shiftKey;const a=e.document.selection;if(!i&&!r){return}const c=r;if(s&&sO(a,c)){return}const l=nO(t,a,c);if(!l){return}if(l.isCollapsed){if(a.isCollapsed){return}else if(s){return}}if(l.isCollapsed||rO(t,l,c)){e.change((t=>{const n=c?l.end:l.start;if(s){const o=e.createSelection(a.anchor);o.setFocus(n);t.setSelection(o)}else{t.setSelection(n)}}));n.stop();o.preventDefault();o.stopPropagation()}}}function nO(t,e,n){const o=t.model;if(n){const t=e.isCollapsed?e.focus:e.getLastPosition();const n=oO(o,t,\"forward\");if(!n){return null}const i=o.createRange(t,n);const r=iO(o.schema,i,\"backward\");if(r){return o.createRange(t,r)}return null}else{const t=e.isCollapsed?e.focus:e.getFirstPosition();const n=oO(o,t,\"backward\");if(!n){return null}const i=o.createRange(n,t);const r=iO(o.schema,i,\"forward\");if(r){return o.createRange(r,t)}return null}}function oO(t,e,n){const o=t.schema;const i=t.createRangeIn(e.root);const r=n==\"forward\"?\"elementStart\":\"elementEnd\";for(const{previousPosition:t,item:s,type:a}of i.getWalker({startPosition:e,direction:n})){if(o.isLimit(s)&&!o.isInline(s)){return t}if(a==r&&o.isBlock(s)){return null}}return null}function iO(t,e,n){const o=n==\"backward\"?e.end:e.start;if(t.checkChild(o,\"$text\")){return o}for(const{nextPosition:o}of e.getWalker({direction:n})){if(t.checkChild(o,\"$text\")){return o}}return null}function rO(t,e,n){const o=t.model;const i=t.view.domConverter;if(n){const t=o.createSelection(e.start);o.modifySelection(t);if(!t.focus.isAtEnd&&!e.start.isEqual(t.focus)){e=o.createRange(t.focus,e.end)}}const r=t.mapper.toViewRange(e);const s=i.viewRangeToDom(r);const a=hc.getDomRangeRects(s);let c;for(const t of a){if(c===undefined){c=Math.round(t.bottom);continue}if(Math.round(t.top)>=c){return false}c=Math.max(c,Math.round(t.bottom))}return true}function sO(t,e){return!t.isCollapsed&&t.isBackward==e}var aO=n(1089);var cO={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};cO.insert=\"head\";cO.singleton=true;var lO=Ld()(aO.A,cO);const dO=aO.A.locals||{};class uO extends Ed{constructor(){super(...arguments);this._previouslySelected=new Set}static get pluginName(){return\"Widget\"}static get requires(){return[Qz,RB]}init(){const t=this.editor;const e=t.editing.view;const n=e.document;const o=t.t;this.editor.editing.downcastDispatcher.on(\"selection\",((e,n,o)=>{const i=o.writer;const r=n.selection;if(r.isCollapsed){return}const s=r.getSelectedElement();if(!s){return}const a=t.editing.mapper.toViewElement(s);if(!yz(a)){return}if(!o.consumable.consume(r,\"selection\")){return}i.setSelection(i.createRangeOn(a),{fake:true,label:Sz(a)})}));this.editor.editing.downcastDispatcher.on(\"selection\",((t,e,n)=>{this._clearPreviouslySelectedWidgets(n.writer);const o=n.writer;const i=o.document.selection;let r=null;for(const t of i.getRanges()){for(const e of t){const t=e.item;if(yz(t)&&!mO(t,r)){o.addClass(vz,t);this._previouslySelected.add(t);r=t}}}}),{priority:\"low\"});e.addObserver(dA);this.listenTo(n,\"mousedown\",((...t)=>this._onMousedown(...t)));this.listenTo(n,\"arrowKey\",((...t)=>{this._handleSelectionChangeOnArrowKeyPress(...t)}),{context:[yz,\"$text\"]});this.listenTo(n,\"arrowKey\",((...t)=>{this._preventDefaultOnArrowKeyPress(...t)}),{context:\"$root\"});this.listenTo(n,\"arrowKey\",eO(this.editor.editing),{context:\"$text\"});this.listenTo(n,\"delete\",((t,e)=>{if(this._handleDelete(e.direction==\"forward\")){e.preventDefault();t.stop()}}),{context:\"$root\"});this.listenTo(n,\"tab\",((t,e)=>{if(t.eventPhase!=\"atTarget\"){return}if(e.shiftKey){return}if(this._selectFirstNestedEditable()){e.preventDefault();t.stop()}}),{context:yz,priority:\"low\"});this.listenTo(n,\"tab\",((t,e)=>{if(!e.shiftKey){return}if(this._selectAncestorWidget()){e.preventDefault();t.stop()}}),{priority:\"low\"});this.listenTo(n,\"keydown\",((t,e)=>{if(e.keystroke!=Yc.esc){return}if(this._selectAncestorWidget()){e.preventDefault();t.stop()}}),{priority:\"low\"});t.accessibility.addKeystrokeInfoGroup({id:\"widget\",label:o(\"Keystrokes that can be used when a widget is selected (for example: image, table, etc.)\"),keystrokes:[{label:o(\"Insert a new paragraph directly after a widget\"),keystroke:\"Enter\"},{label:o(\"Insert a new paragraph directly before a widget\"),keystroke:\"Shift+Enter\"},{label:o(\"Move the caret to allow typing directly before a widget\"),keystroke:[[\"arrowup\"],[\"arrowleft\"]]},{label:o(\"Move the caret to allow typing directly after a widget\"),keystroke:[[\"arrowdown\"],[\"arrowright\"]]}]})}_onMousedown(t,e){const n=this.editor;const o=n.editing.view;const i=o.document;let r=e.target;if(e.domEvent.detail>=3){if(this._selectBlockContent(r)){e.preventDefault()}return}if(hO(r)){return}if(!yz(r)){r=r.findAncestor(yz);if(!r){return}}if(l.isAndroid){e.preventDefault()}if(!i.isFocused){o.focus()}const s=n.editing.mapper.toModelElement(r);this._setSelectionOverElement(s)}_selectBlockContent(t){const e=this.editor;const n=e.model;const o=e.editing.mapper;const i=n.schema;const r=o.findMappedViewAncestor(this.editor.editing.view.createPositionAt(t,0));const s=gO(o.toModelElement(r),n.schema);if(!s){return false}n.change((t=>{const e=!i.isLimit(s)?fO(t.createPositionAfter(s),i):null;const n=t.createPositionAt(s,0);const o=e?t.createPositionAt(e,0):t.createPositionAt(s,\"end\");t.setSelection(t.createRange(n,o))}));return true}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode;const o=this.editor.model;const i=o.schema;const r=o.document.selection;const s=r.getSelectedElement();const a=el(n,this.editor.locale.contentLanguageDirection);const c=a==\"down\"||a==\"right\";const l=a==\"up\"||a==\"down\";if(s&&i.isObject(s)){const n=c?r.getLastPosition():r.getFirstPosition();const s=i.getNearestSelectionRange(n,c?\"forward\":\"backward\");if(s){o.change((t=>{t.setSelection(s)}));e.preventDefault();t.stop()}return}if(!r.isCollapsed&&!e.shiftKey){const n=r.getFirstPosition();const s=r.getLastPosition();const a=n.nodeAfter;const l=s.nodeBefore;if(a&&i.isObject(a)||l&&i.isObject(l)){o.change((t=>{t.setSelection(c?s:n)}));e.preventDefault();t.stop()}return}if(!r.isCollapsed){return}const d=this._getObjectElementNextToSelection(c);if(d&&i.isObject(d)){if(i.isInline(d)&&l){return}this._setSelectionOverElement(d);e.preventDefault();t.stop()}}_preventDefaultOnArrowKeyPress(t,e){const n=this.editor.model;const o=n.schema;const i=n.document.selection.getSelectedElement();if(i&&o.isObject(i)){e.preventDefault();t.stop()}}_handleDelete(t){const e=this.editor.model.document;const n=e.selection;if(!this.editor.model.canEditAt(n)){return}if(!n.isCollapsed){return}const o=this._getObjectElementNextToSelection(t);if(o){this.editor.model.change((t=>{let e=n.anchor.parent;while(e.isEmpty){const n=e;e=n.parent;t.remove(n)}this._setSelectionOverElement(o)}));return true}}_setSelectionOverElement(t){this.editor.model.change((e=>{e.setSelection(e.createRangeOn(t))}))}_getObjectElementNextToSelection(t){const e=this.editor.model;const n=e.schema;const o=e.document.selection;const i=e.createSelection(o);e.modifySelection(i,{direction:t?\"forward\":\"backward\"});if(i.isEqual(o)){return null}const r=t?i.focus.nodeBefore:i.focus.nodeAfter;if(!!r&&n.isObject(r)){return r}return null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected){t.removeClass(vz,e)}this._previouslySelected.clear()}_selectFirstNestedEditable(){const t=this.editor;const e=this.editor.editing.view;const n=e.document;for(const e of n.selection.getFirstRange().getItems()){if(e.is(\"editableElement\")){const n=t.editing.mapper.toModelElement(e);if(!n){continue}const o=t.model.createPositionAt(n,0);const i=t.model.schema.getNearestSelectionRange(o,\"forward\");t.model.change((t=>{t.setSelection(i)}));return true}}return false}_selectAncestorWidget(){const t=this.editor;const e=t.editing.mapper;const n=t.editing.view.document.selection;const o=n.getFirstPosition().parent;const i=o.is(\"$text\")?o.parent:o;const r=i.findAncestor(yz);if(!r){return false}const s=e.toModelElement(r);if(!s){return false}t.model.change((t=>{t.setSelection(s,\"on\")}));return true}}function hO(t){let e=t;while(e){if(e.is(\"editableElement\")&&!e.is(\"rootElement\")){return true}if(yz(e)){return false}e=e.parent}return false}function mO(t,e){if(!e){return false}return Array.from(t.getAncestors()).includes(e)}function gO(t,e){for(const n of t.getAncestors({includeSelf:true,parentFirst:true})){if(e.checkChild(n,\"$text\")){return n}if(e.isLimit(n)&&!e.isObject(n)){break}}return null}function fO(t,e){const n=new Hf({startPosition:t});for(const{item:t}of n){if(e.isLimit(t)||!t.is(\"element\")){return null}if(e.checkChild(t,\"$text\")){return t}}return null}class pO extends Ed{constructor(){super(...arguments);this._toolbarDefinitions=new Map}static get requires(){return[KI]}static get pluginName(){return\"WidgetToolbarRepository\"}init(){const t=this.editor;if(t.plugins.has(\"BalloonToolbar\")){const e=t.plugins.get(\"BalloonToolbar\");this.listenTo(e,\"show\",(e=>{if(wO(t.editing.view.document.selection)){e.stop()}}),{priority:\"high\"})}this._balloon=this.editor.plugins.get(\"ContextualBalloon\");this.on(\"change:isEnabled\",(()=>{this._updateToolbarsVisibility()}));this.listenTo(t.ui,\"update\",(()=>{this._updateToolbarsVisibility()}));this.listenTo(t.ui.focusTracker,\"change:isFocused\",(()=>{this._updateToolbarsVisibility()}),{priority:\"low\"})}destroy(){super.destroy();for(const t of this._toolbarDefinitions.values()){t.view.destroy()}}register(t,{ariaLabel:e,items:n,getRelatedElement:o,balloonClassName:i=\"ck-toolbar-container\"}){if(!n.length){L(\"widget-toolbar-no-items\",{toolbarId:t});return}const r=this.editor;const s=r.t;const a=new tx(r.locale);a.ariaLabel=e||s(\"Widget toolbar\");if(this._toolbarDefinitions.has(t)){throw new N(\"widget-toolbar-duplicated\",this,{toolbarId:t})}const c={view:a,getRelatedElement:o,balloonClassName:i,itemsConfig:n,initialized:false};r.ui.addToolbar(a,{isContextual:true,beforeFocus:()=>{const t=o(r.editing.view.document.selection);if(t){this._showToolbar(c,t)}},afterBlur:()=>{this._hideToolbar(c)}});this._toolbarDefinitions.set(t,c)}_updateToolbarsVisibility(){let t=0;let e=null;let n=null;for(const o of this._toolbarDefinitions.values()){const i=o.getRelatedElement(this.editor.editing.view.document.selection);if(!this.isEnabled||!i){if(this._isToolbarInBalloon(o)){this._hideToolbar(o)}}else if(!this.editor.ui.focusTracker.isFocused){if(this._isToolbarVisible(o)){this._hideToolbar(o)}}else{const r=i.getAncestors().length;if(r>t){t=r;e=i;n=o}}}if(n){this._showToolbar(n,e)}}_hideToolbar(t){this._balloon.remove(t.view);this.stopListening(this._balloon,\"change:visibleView\")}_showToolbar(t,e){if(this._isToolbarVisible(t)){bO(this.editor,e)}else if(!this._isToolbarInBalloon(t)){if(!t.initialized){t.initialized=true;t.view.fillFromConfig(t.itemsConfig,this.editor.ui.componentFactory)}this._balloon.add({view:t.view,position:kO(this.editor,e),balloonClassName:t.balloonClassName});this.listenTo(this._balloon,\"change:visibleView\",(()=>{for(const t of this._toolbarDefinitions.values()){if(this._isToolbarVisible(t)){const e=t.getRelatedElement(this.editor.editing.view.document.selection);bO(this.editor,e)}}}))}}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function bO(t,e){const n=t.plugins.get(\"ContextualBalloon\");const o=kO(t,e);n.updatePosition(o)}function kO(t,e){const n=t.editing.view;const o=UD.defaultPositions;return{target:n.domConverter.mapViewToDom(e),positions:[o.northArrowSouth,o.northArrowSouthWest,o.northArrowSouthEast,o.southArrowNorth,o.southArrowNorthWest,o.southArrowNorthEast,o.viewportStickyNorth]}}function wO(t){const e=t.getSelectedElement();return!!(e&&yz(e))}class AO extends(mt()){constructor(t){super();this.set(\"activeHandlePosition\",null);this.set(\"proposedWidthPercents\",null);this.set(\"proposedWidth\",null);this.set(\"proposedHeight\",null);this.set(\"proposedHandleHostWidth\",null);this.set(\"proposedHandleHostHeight\",null);this._options=t;this._referenceCoordinates=null}get originalWidth(){return this._originalWidth}get originalHeight(){return this._originalHeight}get originalWidthPercents(){return this._originalWidthPercents}get aspectRatio(){return this._aspectRatio}begin(t,e,n){const o=new hc(e);this.activeHandlePosition=yO(t);this._referenceCoordinates=CO(e,xO(this.activeHandlePosition));this._originalWidth=o.width;this._originalHeight=o.height;this._aspectRatio=o.width/o.height;const i=n.style.width;if(i&&i.match(/^\\d+(\\.\\d*)?%$/)){this._originalWidthPercents=parseFloat(i)}else{this._originalWidthPercents=_O(n,o)}}update(t){this.proposedWidth=t.width;this.proposedHeight=t.height;this.proposedWidthPercents=t.widthPercents;this.proposedHandleHostWidth=t.handleHostWidth;this.proposedHandleHostHeight=t.handleHostHeight}}function _O(t,e){const n=t.parentElement;let o=parseFloat(n.ownerDocument.defaultView.getComputedStyle(n).width);const i=5;let r=0;let s=n;while(isNaN(o)){s=s.parentElement;if(++r>i){return 0}o=parseFloat(n.ownerDocument.defaultView.getComputedStyle(s).width)}return e.width/o*100}function CO(t,e){const n=new hc(t);const o=e.split(\"-\");const i={x:o[1]==\"right\"?n.right:n.left,y:o[0]==\"bottom\"?n.bottom:n.top};i.x+=t.ownerDocument.defaultView.scrollX;i.y+=t.ownerDocument.defaultView.scrollY;return i}function vO(t){return`ck-widget__resizer__handle-${t}`}function yO(t){const e=[\"top-left\",\"top-right\",\"bottom-right\",\"bottom-left\"];for(const n of e){if(t.classList.contains(vO(n))){return n}}}function xO(t){const e=t.split(\"-\");const n={top:\"bottom\",bottom:\"top\",left:\"right\",right:\"left\"};return`${n[e[0]]}-${n[e[1]]}`}class EO extends ov{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-size-view\",t.to(\"_viewPosition\",(t=>t?`ck-orientation-${t}`:\"\"))],style:{display:t.if(\"_isVisible\",\"none\",(t=>!t))}},children:[{text:t.to(\"_label\")}]})}_bindToState(t,e){this.bind(\"_isVisible\").to(e,\"proposedWidth\",e,\"proposedHeight\",((t,e)=>t!==null&&e!==null));this.bind(\"_label\").to(e,\"proposedHandleHostWidth\",e,\"proposedHandleHostHeight\",e,\"proposedWidthPercents\",((e,n,o)=>{if(t.unit===\"px\"){return`${e}\u00D7${n}`}else{return`${o}%`}}));this.bind(\"_viewPosition\").to(e,\"activeHandlePosition\",e,\"proposedHandleHostWidth\",e,\"proposedHandleHostHeight\",((t,e,n)=>e<50||n<50?\"above-center\":t))}_dismiss(){this.unbind();this._isVisible=false}}class DO extends(mt()){constructor(t){super();this._viewResizerWrapper=null;this._options=t;this.set(\"isEnabled\",true);this.set(\"isSelected\",false);this.bind(\"isVisible\").to(this,\"isEnabled\",this,\"isSelected\",((t,e)=>t&&e));this.decorate(\"begin\");this.decorate(\"cancel\");this.decorate(\"commit\");this.decorate(\"updateSize\");this.on(\"commit\",(t=>{if(!this.state.proposedWidth&&!this.state.proposedWidthPercents){this._cleanup();t.stop()}}),{priority:\"high\"})}get state(){return this._state}show(){const t=this._options.editor.editing.view;t.change((t=>{t.removeClass(\"ck-hidden\",this._viewResizerWrapper)}))}hide(){const t=this._options.editor.editing.view;t.change((t=>{t.addClass(\"ck-hidden\",this._viewResizerWrapper)}))}attach(){const t=this;const e=this._options.viewElement;const n=this._options.editor.editing.view;n.change((n=>{const o=n.createUIElement(\"div\",{class:\"ck ck-reset_all ck-widget__resizer\"},(function(e){const n=this.toDomElement(e);t._appendHandles(n);t._appendSizeUI(n);return n}));n.insert(n.createPositionAt(e,\"end\"),o);n.addClass(\"ck-widget_with-resizer\",e);this._viewResizerWrapper=o;if(!this.isVisible){this.hide()}}));this.on(\"change:isVisible\",(()=>{if(this.isVisible){this.show();this.redraw()}else{this.hide()}}))}begin(t){this._state=new AO(this._options);this._sizeView._bindToState(this._options,this.state);this._initialViewWidth=this._options.viewElement.getStyle(\"width\");this.state.begin(t,this._getHandleHost(),this._getResizeHost())}updateSize(t){const e=this._proposeNewSize(t);const n=this._options.editor.editing.view;n.change((t=>{const n=this._options.unit||\"%\";const o=(n===\"%\"?e.widthPercents:e.width)+n;t.setStyle(\"width\",o,this._options.viewElement)}));const o=this._getHandleHost();const i=new hc(o);const r=Math.round(i.width);const s=Math.round(i.height);const a=new hc(o);e.width=Math.round(a.width);e.height=Math.round(a.height);this.redraw(i);this.state.update({...e,handleHostWidth:r,handleHostHeight:s})}commit(){const t=this._options.unit||\"%\";const e=(t===\"%\"?this.state.proposedWidthPercents:this.state.proposedWidth)+t;this._options.editor.editing.view.change((()=>{this._cleanup();this._options.onCommit(e)}))}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(t){const e=this._domResizerWrapper;if(!SO(e)){return}const n=e.parentElement;const o=this._getHandleHost();const i=this._viewResizerWrapper;const r=[i.getStyle(\"width\"),i.getStyle(\"height\"),i.getStyle(\"left\"),i.getStyle(\"top\")];let s;if(n.isSameNode(o)){const e=t||new hc(o);s=[e.width+\"px\",e.height+\"px\",undefined,undefined]}else{s=[o.offsetWidth+\"px\",o.offsetHeight+\"px\",o.offsetLeft+\"px\",o.offsetTop+\"px\"]}if(Dt(r,s)!==\"same\"){this._options.editor.editing.view.change((t=>{t.setStyle({width:s[0],height:s[1],left:s[2],top:s[3]},i)}))}}containsHandle(t){return this._domResizerWrapper.contains(t)}static isResizeHandle(t){return t.classList.contains(\"ck-widget__resizer__handle\")}_cleanup(){this._sizeView._dismiss();const t=this._options.editor.editing.view;t.change((t=>{t.setStyle(\"width\",this._initialViewWidth,this._options.viewElement)}))}_proposeNewSize(t){const e=this.state;const n=TO(t);const o=this._options.isCentered?this._options.isCentered(this):true;const i={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};if(o&&e.activeHandlePosition.endsWith(\"-right\")){i.x=n.x-(e._referenceCoordinates.x+e.originalWidth)}if(o){i.x*=2}let r=Math.abs(e.originalWidth+i.x);let s=Math.abs(e.originalHeight+i.y);const a=r/e.aspectRatio>s?\"width\":\"height\";if(a==\"width\"){s=r/e.aspectRatio}else{r=s*e.aspectRatio}return{width:Math.round(r),height:Math.round(s),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*r*100)/100,100)}}_getResizeHost(){const t=this._domResizerWrapper.parentElement;return this._options.getResizeHost(t)}_getHandleHost(){const t=this._domResizerWrapper.parentElement;return this._options.getHandleHost(t)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(t){const e=[\"top-left\",\"top-right\",\"bottom-right\",\"bottom-left\"];for(const n of e){t.appendChild(new EC({tag:\"div\",attributes:{class:`ck-widget__resizer__handle ${IO(n)}`}}).render())}}_appendSizeUI(t){this._sizeView=new EO;this._sizeView.render();t.appendChild(this._sizeView.element)}}function IO(t){return`ck-widget__resizer__handle-${t}`}function TO(t){return{x:t.pageX,y:t.pageY}}function SO(t){return t&&t.ownerDocument&&t.ownerDocument.contains(t)}var BO=n(6645);var MO={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};MO.insert=\"head\";MO.singleton=true;var PO=Ld()(BO.A,MO);const NO=BO.A.locals||{};class LO extends Ed{constructor(){super(...arguments);this._resizers=new Map}static get pluginName(){return\"WidgetResize\"}init(){const t=this.editor.editing;const e=oc.window.document;this.set(\"selectedResizer\",null);this.set(\"_activeResizer\",null);t.view.addObserver(dA);this._observer=new(Ja());this.listenTo(t.view.document,\"mousedown\",this._mouseDownListener.bind(this),{priority:\"high\"});this._observer.listenTo(e,\"mousemove\",this._mouseMoveListener.bind(this));this._observer.listenTo(e,\"mouseup\",this._mouseUpListener.bind(this));this._redrawSelectedResizerThrottled=iI((()=>this.redrawSelectedResizer()),200);this.editor.ui.on(\"update\",this._redrawSelectedResizerThrottled);this.editor.model.document.on(\"change\",(()=>{for(const[t,e]of this._resizers){if(!t.isAttached()){this._resizers.delete(t);e.destroy()}}}),{priority:\"lowest\"});this._observer.listenTo(oc.window,\"resize\",this._redrawSelectedResizerThrottled);const n=this.editor.editing.view.document.selection;n.on(\"change\",(()=>{const t=n.getSelectedElement();const e=this.getResizerByViewElement(t)||null;if(e){this.select(e)}else{this.deselect()}}))}redrawSelectedResizer(){if(this.selectedResizer&&this.selectedResizer.isVisible){this.selectedResizer.redraw()}}destroy(){super.destroy();this._observer.stopListening();for(const t of this._resizers.values()){t.destroy()}this._redrawSelectedResizerThrottled.cancel()}select(t){this.deselect();this.selectedResizer=t;this.selectedResizer.isSelected=true}deselect(){if(this.selectedResizer){this.selectedResizer.isSelected=false}this.selectedResizer=null}attachTo(t){const e=new DO(t);const n=this.editor.plugins;e.attach();if(n.has(\"WidgetToolbarRepository\")){const t=n.get(\"WidgetToolbarRepository\");e.on(\"begin\",(()=>{t.forceDisabled(\"resize\")}),{priority:\"lowest\"});e.on(\"cancel\",(()=>{t.clearForceDisabled(\"resize\")}),{priority:\"highest\"});e.on(\"commit\",(()=>{t.clearForceDisabled(\"resize\")}),{priority:\"highest\"})}this._resizers.set(t.viewElement,e);const o=this.editor.editing.view.document.selection;const i=o.getSelectedElement();if(this.getResizerByViewElement(i)==e){this.select(e)}return e}getResizerByViewElement(t){return this._resizers.get(t)}_getResizerByHandle(t){for(const e of this._resizers.values()){if(e.containsHandle(t)){return e}}}_mouseDownListener(t,e){const n=e.domTarget;if(!DO.isResizeHandle(n)){return}this._activeResizer=this._getResizerByHandle(n)||null;if(this._activeResizer){this._activeResizer.begin(n);t.stop();e.preventDefault()}}_mouseMoveListener(t,e){if(this._activeResizer){this._activeResizer.updateSize(e)}}_mouseUpListener(){if(this._activeResizer){this._activeResizer.commit();this._activeResizer=null}}}const zO=Cc(\"px\");class OO extends ov{constructor(){super();const t=this.bindTemplate;this.set({isVisible:false,left:null,top:null,width:null});this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-clipboard-drop-target-line\",t.if(\"isVisible\",\"ck-hidden\",(t=>!t))],style:{left:t.to(\"left\",(t=>zO(t))),top:t.to(\"top\",(t=>zO(t))),width:t.to(\"width\",(t=>zO(t)))}}})}}class RO extends Ed{constructor(){super(...arguments);this.removeDropMarkerDelayed=pd((()=>this.removeDropMarker()),40);this._updateDropMarkerThrottled=iI((t=>this._updateDropMarker(t)),40);this._reconvertMarkerThrottled=iI((()=>{if(this.editor.model.markers.has(\"drop-target\")){this.editor.editing.reconvertMarker(\"drop-target\")}}),0);this._dropTargetLineView=new OO;this._domEmitter=new(Ja());this._scrollables=new Map}static get pluginName(){return\"DragDropTarget\"}init(){this._setupDropMarker()}destroy(){this._domEmitter.stopListening();for(const{resizeObserver:t}of this._scrollables.values()){t.destroy()}this._updateDropMarkerThrottled.cancel();this.removeDropMarkerDelayed.cancel();this._reconvertMarkerThrottled.cancel();return super.destroy()}updateDropMarker(t,e,n,o,i,r){this.removeDropMarkerDelayed.cancel();const s=VO(this.editor,t,e,n,o,i,r);if(!s){return}if(r&&r.containsRange(s)){return this.removeDropMarker()}this._updateDropMarkerThrottled(s)}getFinalDropRange(t,e,n,o,i,r){const s=VO(this.editor,t,e,n,o,i,r);this.removeDropMarker();return s}removeDropMarker(){const t=this.editor.model;this.removeDropMarkerDelayed.cancel();this._updateDropMarkerThrottled.cancel();this._dropTargetLineView.isVisible=false;if(t.markers.has(\"drop-target\")){t.change((t=>{t.removeMarker(\"drop-target\")}))}}_setupDropMarker(){const t=this.editor;t.ui.view.body.add(this._dropTargetLineView);t.conversion.for(\"editingDowncast\").markerToHighlight({model:\"drop-target\",view:{classes:[\"ck-clipboard-drop-target-range\"]}});t.conversion.for(\"editingDowncast\").markerToElement({model:\"drop-target\",view:(e,{writer:n})=>{if(t.model.schema.checkChild(e.markerRange.start,\"$text\")){this._dropTargetLineView.isVisible=false;return this._createDropTargetPosition(n)}else{if(e.markerRange.isCollapsed){this._updateDropTargetLine(e.markerRange)}else{this._dropTargetLineView.isVisible=false}}}})}_updateDropMarker(t){const e=this.editor;const n=e.model.markers;e.model.change((e=>{if(n.has(\"drop-target\")){if(!n.get(\"drop-target\").getRange().isEqual(t)){e.updateMarker(\"drop-target\",{range:t})}}else{e.addMarker(\"drop-target\",{range:t,usingOperation:false,affectsData:false})}}))}_createDropTargetPosition(t){return t.createUIElement(\"span\",{class:\"ck ck-clipboard-drop-target-position\"},(function(t){const e=this.toDomElement(t);e.append(\"\u2060\",t.createElement(\"span\"),\"\u2060\");return e}))}_updateDropTargetLine(t){const e=this.editor.editing;const n=t.start.nodeBefore;const o=t.start.nodeAfter;const i=t.start.parent;const r=n?e.mapper.toViewElement(n):null;const s=r?e.view.domConverter.mapViewToDom(r):null;const a=o?e.mapper.toViewElement(o):null;const c=a?e.view.domConverter.mapViewToDom(a):null;const l=e.mapper.toViewElement(i);if(!l){return}const d=e.view.domConverter.mapViewToDom(l);const u=this._getScrollableRect(l);const{scrollX:h,scrollY:m}=oc.window;const g=s?new hc(s):null;const f=c?new hc(c):null;const p=new hc(d).excludeScrollbarsAndBorders();const b=g?g.bottom:p.top;const k=f?f.top:p.bottom;const w=oc.window.getComputedStyle(d);const A=b<=k?(b+k)/2:k;if(u.topa.schema.checkChild(r,t)));if(l){if(a.schema.checkChild(r,\"$text\")){return a.createRange(r)}else if(e){return jO(t,UO(t,e.parent),o,i)}}}}else if(a.schema.isInline(d)){return jO(t,d,o,i)}}if(a.schema.isBlock(d)){return jO(t,d,o,i)}else if(a.schema.checkChild(d,\"$block\")){const e=Array.from(d.getChildren()).filter((e=>e.is(\"element\")&&!FO(t,e)));let n=0;let r=e.length;if(r==0){return a.createRange(a.createPositionAt(d,\"end\"))}while(n{if(n){this.forceDisabled(\"readOnlyMode\");this._isBlockDragging=false}else{this.clearForceDisabled(\"readOnlyMode\")}}));if(l.isAndroid){this.forceDisabled(\"noAndroidSupport\")}if(t.plugins.has(\"BlockToolbar\")){const e=t.plugins.get(\"BlockToolbar\");const n=e.buttonView.element;this._domEmitter.listenTo(n,\"dragstart\",((t,e)=>this._handleBlockDragStart(e)));this._domEmitter.listenTo(oc.document,\"dragover\",((t,e)=>this._handleBlockDragging(e)));this._domEmitter.listenTo(oc.document,\"drop\",((t,e)=>this._handleBlockDragging(e)));this._domEmitter.listenTo(oc.document,\"dragend\",(()=>this._handleBlockDragEnd()),{useCapture:true});if(this.isEnabled){n.setAttribute(\"draggable\",\"true\")}this.on(\"change:isEnabled\",((t,e,o)=>{n.setAttribute(\"draggable\",o?\"true\":\"false\")}))}}destroy(){this._domEmitter.stopListening();return super.destroy()}_handleBlockDragStart(t){if(!this.isEnabled){return}const e=this.editor.model;const n=e.document.selection;const o=this.editor.editing.view;const i=Array.from(n.getSelectedBlocks());const r=e.createRange(e.createPositionBefore(i[0]),e.createPositionAfter(i[i.length-1]));e.change((t=>t.setSelection(r)));this._isBlockDragging=true;o.focus();o.getObserver(DL).onDomEvent(t)}_handleBlockDragging(t){if(!this.isEnabled||!this._isBlockDragging){return}const e=t.clientX+(this.editor.locale.contentLanguageDirection==\"ltr\"?100:-100);const n=t.clientY;const o=document.elementFromPoint(e,n);const i=this.editor.editing.view;if(!o||!o.closest(\".ck-editor__editable\")){return}i.getObserver(DL).onDomEvent({...t,type:t.type,dataTransfer:t.dataTransfer,target:o,clientX:e,clientY:n,preventDefault:()=>t.preventDefault(),stopPropagation:()=>t.stopPropagation()})}_handleBlockDragEnd(){this._isBlockDragging=false}}var GO=n(8643);var $O={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};$O.insert=\"head\";$O.singleton=true;var KO=Ld()(GO.A,$O);const YO=GO.A.locals||{};class QO extends Ed{constructor(){super(...arguments);this._clearDraggableAttributesDelayed=pd((()=>this._clearDraggableAttributes()),40);this._blockMode=false;this._domEmitter=new(Ja())}static get pluginName(){return\"DragDrop\"}static get requires(){return[pz,uO,RO,qO]}init(){const t=this.editor;const e=t.editing.view;this._draggedRange=null;this._draggingUid=\"\";this._draggableElement=null;e.addObserver(DL);e.addObserver(dA);this._setupDragging();this._setupContentInsertionIntegration();this._setupClipboardInputIntegration();this._setupDraggableAttributeHandling();this.listenTo(t,\"change:isReadOnly\",((t,e,n)=>{if(n){this.forceDisabled(\"readOnlyMode\")}else{this.clearForceDisabled(\"readOnlyMode\")}}));this.on(\"change:isEnabled\",((t,e,n)=>{if(!n){this._finalizeDragging(false)}}));if(l.isAndroid){this.forceDisabled(\"noAndroidSupport\")}}destroy(){if(this._draggedRange){this._draggedRange.detach();this._draggedRange=null}if(this._previewContainer){this._previewContainer.remove()}this._domEmitter.stopListening();this._clearDraggableAttributesDelayed.cancel();return super.destroy()}_setupDragging(){const t=this.editor;const e=t.model;const n=t.editing.view;const o=n.document;const i=t.plugins.get(RO);this.listenTo(o,\"dragstart\",((t,n)=>{if(n.target&&n.target.is(\"editableElement\")){n.preventDefault();return}this._prepareDraggedRange(n.target);if(!this._draggedRange){n.preventDefault();return}this._draggingUid=T();n.dataTransfer.effectAllowed=this.isEnabled?\"copyMove\":\"copy\";n.dataTransfer.setData(\"application/ckeditor5-dragging-uid\",this._draggingUid);const o=e.createSelection(this._draggedRange.toRange());const i=this.editor.plugins.get(\"ClipboardPipeline\");i._fireOutputTransformationEvent(n.dataTransfer,o,\"dragstart\");const{dataTransfer:r,domTarget:s,domEvent:a}=n;const{clientX:c}=a;this._updatePreview({dataTransfer:r,domTarget:s,clientX:c});n.stopPropagation();if(!this.isEnabled){this._draggedRange.detach();this._draggedRange=null;this._draggingUid=\"\"}}),{priority:\"low\"});this.listenTo(o,\"dragend\",((t,e)=>{this._finalizeDragging(!e.dataTransfer.isCanceled&&e.dataTransfer.dropEffect==\"move\")}),{priority:\"low\"});this._domEmitter.listenTo(oc.document,\"dragend\",(()=>{this._blockMode=false}),{useCapture:true});this.listenTo(o,\"dragenter\",(()=>{if(!this.isEnabled){return}n.focus()}));this.listenTo(o,\"dragleave\",(()=>{i.removeDropMarkerDelayed()}));this.listenTo(o,\"dragging\",((t,e)=>{if(!this.isEnabled){e.dataTransfer.dropEffect=\"none\";return}const{clientX:n,clientY:o}=e.domEvent;i.updateDropMarker(e.target,e.targetRanges,n,o,this._blockMode,this._draggedRange);if(!this._draggedRange){e.dataTransfer.dropEffect=\"copy\"}if(!l.isGecko){if(e.dataTransfer.effectAllowed==\"copy\"){e.dataTransfer.dropEffect=\"copy\"}else if([\"all\",\"copyMove\"].includes(e.dataTransfer.effectAllowed)){e.dataTransfer.dropEffect=\"move\"}}t.stop()}),{priority:\"low\"})}_setupClipboardInputIntegration(){const t=this.editor;const e=t.editing.view;const n=e.document;const o=t.plugins.get(RO);this.listenTo(n,\"clipboardInput\",((e,n)=>{if(n.method!=\"drop\"){return}const{clientX:i,clientY:r}=n.domEvent;const s=o.getFinalDropRange(n.target,n.targetRanges,i,r,this._blockMode,this._draggedRange);if(!s){this._finalizeDragging(false);e.stop();return}if(this._draggedRange&&this._draggingUid!=n.dataTransfer.getData(\"application/ckeditor5-dragging-uid\")){this._draggedRange.detach();this._draggedRange=null;this._draggingUid=\"\"}const a=ZO(n.dataTransfer)==\"move\";if(a&&this._draggedRange&&this._draggedRange.containsRange(s,true)){this._finalizeDragging(false);e.stop();return}n.targetRanges=[t.editing.mapper.toViewRange(s)]}),{priority:\"high\"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(pz);t.on(\"contentInsertion\",((t,e)=>{if(!this.isEnabled||e.method!==\"drop\"){return}const n=e.targetRanges.map((t=>this.editor.editing.mapper.toModelRange(t)));this.editor.model.change((t=>t.setSelection(n)))}),{priority:\"high\"});t.on(\"contentInsertion\",((t,e)=>{if(!this.isEnabled||e.method!==\"drop\"){return}const n=ZO(e.dataTransfer)==\"move\";const o=!e.resultRange||!e.resultRange.isCollapsed;this._finalizeDragging(o&&n)}),{priority:\"lowest\"})}_setupDraggableAttributeHandling(){const t=this.editor;const e=t.editing.view;const n=e.document;this.listenTo(n,\"mousedown\",((o,i)=>{if(l.isAndroid||!i){return}this._clearDraggableAttributesDelayed.cancel();let r=JO(i.target);if(l.isBlink&&!t.isReadOnly&&!r&&!n.selection.isCollapsed){const t=n.selection.getSelectedElement();if(!t||!yz(t)){r=n.selection.editableElement}}if(r){e.change((t=>{t.setAttribute(\"draggable\",\"true\",r)}));this._draggableElement=t.editing.mapper.toModelElement(r)}}));this.listenTo(n,\"mouseup\",(()=>{if(!l.isAndroid){this._clearDraggableAttributesDelayed()}}))}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change((e=>{if(this._draggableElement&&this._draggableElement.root.rootName!=\"$graveyard\"){e.removeAttribute(\"draggable\",t.mapper.toViewElement(this._draggableElement))}this._draggableElement=null}))}_finalizeDragging(t){const e=this.editor;const n=e.model;const o=e.plugins.get(RO);o.removeDropMarker();this._clearDraggableAttributes();if(e.plugins.has(\"WidgetToolbarRepository\")){const t=e.plugins.get(\"WidgetToolbarRepository\");t.clearForceDisabled(\"dragDrop\")}this._draggingUid=\"\";if(this._previewContainer){this._previewContainer.remove();this._previewContainer=undefined}if(!this._draggedRange){return}if(t&&this.isEnabled){n.change((t=>{const e=n.createSelection(this._draggedRange);n.deleteContent(e,{doNotAutoparagraph:true});const o=e.getFirstPosition().parent;if(o.isEmpty&&!n.schema.checkChild(o,\"$text\")&&n.schema.checkChild(o,\"paragraph\")){t.insertElement(\"paragraph\",o,0)}}))}this._draggedRange.detach();this._draggedRange=null}_prepareDraggedRange(t){const e=this.editor;const n=e.model;const o=n.document.selection;const i=t?JO(t):null;if(i){const t=e.editing.mapper.toModelElement(i);this._draggedRange=mp.fromRange(n.createRangeOn(t));this._blockMode=n.schema.isBlock(t);if(e.plugins.has(\"WidgetToolbarRepository\")){const t=e.plugins.get(\"WidgetToolbarRepository\");t.forceDisabled(\"dragDrop\")}return}if(o.isCollapsed&&!o.getFirstPosition().parent.isEmpty){return}const r=Array.from(o.getSelectedBlocks());const s=o.getFirstRange();if(r.length==0){this._draggedRange=mp.fromRange(s);return}const a=XO(n,r);if(r.length>1){this._draggedRange=mp.fromRange(a);this._blockMode=true}else if(r.length==1){const t=s.start.isTouching(a.start)&&s.end.isTouching(a.end);this._draggedRange=mp.fromRange(t?a:s);this._blockMode=t}n.change((t=>t.setSelection(this._draggedRange.toRange())))}_updatePreview({dataTransfer:t,domTarget:e,clientX:n}){const o=this.editor.editing.view;const i=o.document.selection.editableElement;const r=o.domConverter.mapViewToDom(i);const s=oc.window.getComputedStyle(r);if(!this._previewContainer){this._previewContainer=ie(oc.document,\"div\",{style:\"position: fixed; left: -999999px;\"});oc.document.body.appendChild(this._previewContainer)}else if(this._previewContainer.firstElementChild){this._previewContainer.removeChild(this._previewContainer.firstElementChild)}const a=new hc(r);if(r.contains(e)){return}const c=parseFloat(s.paddingLeft);const d=ie(oc.document,\"div\");d.className=\"ck ck-content\";d.style.width=s.width;d.style.paddingLeft=`${a.left-n+c}px`;if(l.isiOS){d.style.backgroundColor=\"white\"}d.innerHTML=t.getData(\"text/html\");t.setDragImage(d,0,0);this._previewContainer.appendChild(d)}}function ZO(t){if(l.isGecko){return t.dropEffect}return[\"all\",\"copyMove\"].includes(t.effectAllowed)?\"move\":\"copy\"}function JO(t){if(t.is(\"editableElement\")){return null}if(t.hasClass(\"ck-widget__selection-handle\")){return t.findAncestor(yz)}if(yz(t)){return t}const e=t.findAncestor((t=>yz(t)||t.is(\"editableElement\")));if(yz(e)){return e}return null}function XO(t,e){const n=e[0];const o=e[e.length-1];const i=n.getCommonAncestor(o);const r=t.createPositionBefore(n);const s=t.createPositionAfter(o);if(i&&i.is(\"element\")&&!t.schema.isLimit(i)){const e=t.createRangeOn(i);const n=r.isTouching(e.start);const o=s.isTouching(e.end);if(n&&o){return XO(t,[i])}}return t.createRange(r,s)}class tR extends Ed{static get pluginName(){return\"PastePlainText\"}static get requires(){return[pz]}init(){const t=this.editor;const e=t.model;const n=t.editing.view;const o=n.document;const i=e.document.selection;let r=false;n.addObserver(DL);this.listenTo(o,\"keydown\",((t,e)=>{r=e.shiftKey}));t.plugins.get(pz).on(\"contentInsertion\",((t,n)=>{if(!r&&!eR(n.content,e.schema)){return}e.change((t=>{const o=Array.from(i.getAttributes()).filter((([t])=>e.schema.getAttributeProperties(t).isFormatting));if(!i.isCollapsed){e.deleteContent(i,{doNotAutoparagraph:true})}o.push(...i.getAttributes());const r=t.createRangeIn(n.content);for(const e of r.getItems()){if(e.is(\"$textProxy\")){t.setAttributes(o,e)}}}))}))}}function eR(t,e){if(t.childCount>1){return false}const n=t.getChild(0);if(e.isObject(n)){return false}return Array.from(n.getAttributeKeys()).length==0}class nR extends Ed{static get pluginName(){return\"Clipboard\"}static get requires(){return[fz,pz,QO,tR]}init(){const t=this.editor;const e=this.editor.t;t.accessibility.addKeystrokeInfos({keystrokes:[{label:e(\"Copy selected content\"),keystroke:\"CTRL+C\"},{label:e(\"Paste content\"),keystroke:\"CTRL+V\"},{label:e(\"Paste content as plain text\"),keystroke:\"CTRL+SHIFT+V\"}]})}}class oR extends Id{constructor(t){super(t);this.affectsData=false}execute(){const t=this.editor.model;const e=t.document.selection;let n=t.schema.getLimitElement(e);if(e.containsEntireContent(n)||!iR(t.schema,n)){do{n=n.parent;if(!n){return}}while(!iR(t.schema,n))}t.change((t=>{t.setSelection(n,\"in\")}))}}function iR(t,e){return t.isLimit(e)&&(t.checkChild(e,\"$text\")||t.checkChild(e,\"paragraph\"))}const rR=Jc(\"Ctrl+A\");class sR extends Ed{static get pluginName(){return\"SelectAllEditing\"}init(){const t=this.editor;const e=t.t;const n=t.editing.view;const o=n.document;t.commands.add(\"selectAll\",new oR(t));this.listenTo(o,\"keydown\",((e,n)=>{if(Zc(n)===rR){t.execute(\"selectAll\");n.preventDefault()}}));t.accessibility.addKeystrokeInfos({keystrokes:[{label:e(\"Select all\"),keystroke:\"CTRL+A\"}]})}}const aR='';class cR extends Ed{static get pluginName(){return\"SelectAllUI\"}init(){const t=this.editor;t.ui.componentFactory.add(\"selectAll\",(()=>{const t=this._createButton(Sv);t.set({tooltip:true});return t}));t.ui.componentFactory.add(\"menuBar:selectAll\",(()=>this._createButton(qS)))}_createButton(t){const e=this.editor;const n=e.locale;const o=e.commands.get(\"selectAll\");const i=new t(e.locale);const r=n.t;i.set({label:r(\"Select all\"),icon:aR,keystroke:\"Ctrl+A\"});i.bind(\"isEnabled\").to(o,\"isEnabled\");this.listenTo(i,\"execute\",(()=>{e.execute(\"selectAll\");e.editing.view.focus()}));return i}}class lR extends Ed{static get requires(){return[sR,cR]}static get pluginName(){return\"SelectAll\"}}class dR extends Id{constructor(t){super(t);this._stack=[];this._createdBatches=new WeakSet;this.refresh();this._isEnabledBasedOnSelection=false;this.listenTo(t.data,\"set\",((t,e)=>{e[1]={...e[1]};const n=e[1];if(!n.batchType){n.batchType={isUndoable:false}}}),{priority:\"high\"});this.listenTo(t.data,\"set\",((t,e)=>{const n=e[1];if(!n.batchType.isUndoable){this.clearStack()}}))}refresh(){this.isEnabled=this._stack.length>0}get createdBatches(){return this._createdBatches}addBatch(t){const e=this.editor.model.document.selection;const n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n});this.refresh()}clearStack(){this._stack=[];this.refresh()}_restoreSelection(t,e,n){const o=this.editor.model;const i=o.document;const r=[];const s=t.map((t=>t.getTransformedByOperations(n)));const a=s.flat();for(const t of s){const e=t.filter((t=>t.root!=i.graveyard)).filter((t=>!hR(t,a)));if(!e.length){continue}uR(e);r.push(e[0])}if(r.length){o.change((t=>{t.setSelection(r,{backward:e})}))}}_undo(t,e){const n=this.editor.model;const o=n.document;this._createdBatches.add(e);const i=t.operations.slice().filter((t=>t.isDocumentOperation));i.reverse();for(const t of i){const i=t.baseVersion+1;const r=Array.from(o.history.getOperations(i));const s=tw([t.getReversed()],r,{useRelations:true,document:this.editor.model.document,padWithNoOps:false,forceWeakRemove:true});const a=s.operationsA;for(let i of a){const r=i.affectedSelectable;if(r&&!n.canEditAt(r)){i=new Uk(i.baseVersion)}e.addOperation(i);n.applyOperation(i);o.history.setOperationAsUndone(t,i)}}}}function uR(t){t.sort(((t,e)=>t.start.isBefore(e.start)?-1:1));for(let e=1;ee!==t&&e.containsRange(t,true)))}class mR extends dR{execute(t=null){const e=t?this._stack.findIndex((e=>e.batch==t)):this._stack.length-1;const n=this._stack.splice(e,1)[0];const o=this.editor.model.createBatch({isUndo:true});this.editor.model.enqueueChange(o,(()=>{this._undo(n.batch,o);const t=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,t)}));this.fire(\"revert\",n.batch,o);this.refresh()}}class gR extends dR{execute(){const t=this._stack.pop();const e=this.editor.model.createBatch({isUndo:true});this.editor.model.enqueueChange(e,(()=>{const n=t.batch.operations[t.batch.operations.length-1];const o=n.baseVersion+1;const i=this.editor.model.document.history.getOperations(o);this._restoreSelection(t.selection.ranges,t.selection.isBackward,i);this._undo(t.batch,e)}));this.refresh()}}class fR extends Ed{constructor(){super(...arguments);this._batchRegistry=new WeakSet}static get pluginName(){return\"UndoEditing\"}init(){const t=this.editor;const e=t.t;this._undoCommand=new mR(t);this._redoCommand=new gR(t);t.commands.add(\"undo\",this._undoCommand);t.commands.add(\"redo\",this._redoCommand);this.listenTo(t.model,\"applyOperation\",((t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}const o=n.batch;const i=this._redoCommand.createdBatches.has(o);const r=this._undoCommand.createdBatches.has(o);const s=this._batchRegistry.has(o);if(s){return}this._batchRegistry.add(o);if(!o.isUndoable){return}if(i){this._undoCommand.addBatch(o)}else if(!r){this._undoCommand.addBatch(o);this._redoCommand.clearStack()}}),{priority:\"highest\"});this.listenTo(this._undoCommand,\"revert\",((t,e,n)=>{this._redoCommand.addBatch(n)}));t.keystrokes.set(\"CTRL+Z\",\"undo\");t.keystrokes.set(\"CTRL+Y\",\"redo\");t.keystrokes.set(\"CTRL+SHIFT+Z\",\"redo\");t.accessibility.addKeystrokeInfos({keystrokes:[{label:e(\"Undo\"),keystroke:\"CTRL+Z\"},{label:e(\"Redo\"),keystroke:[[\"CTRL+Y\"],[\"CTRL+SHIFT+Z\"]]}]})}}class pR extends Ed{static get pluginName(){return\"UndoUI\"}init(){const t=this.editor;const e=t.locale;const n=t.t;const o=e.uiLanguageDirection==\"ltr\"?CC.undo:CC.redo;const i=e.uiLanguageDirection==\"ltr\"?CC.redo:CC.undo;this._addButtonsToFactory(\"undo\",n(\"Undo\"),\"CTRL+Z\",o);this._addButtonsToFactory(\"redo\",n(\"Redo\"),\"CTRL+Y\",i)}_addButtonsToFactory(t,e,n,o){const i=this.editor;i.ui.componentFactory.add(t,(()=>{const i=this._createButton(Sv,t,e,n,o);i.set({tooltip:true});return i}));i.ui.componentFactory.add(\"menuBar:\"+t,(()=>this._createButton(qS,t,e,n,o)))}_createButton(t,e,n,o,i){const r=this.editor;const s=r.locale;const a=r.commands.get(e);const c=new t(s);c.set({label:n,icon:i,keystroke:o});c.bind(\"isEnabled\").to(a,\"isEnabled\");this.listenTo(c,\"execute\",(()=>{r.execute(e);r.editing.view.focus()}));return c}}class bR extends Ed{static get requires(){return[fR,pR]}static get pluginName(){return\"Undo\"}}class kR extends Ed{static get requires(){return[bv,nR,lP,lR,fP,VB,bR]}static get pluginName(){return\"Essentials\"}}class wR extends Id{constructor(t){super(t);this._isEnabledBasedOnSelection=false}refresh(){const t=this.editor.model;const e=t.document;const n=sd(e.selection.getSelectedBlocks());this.value=!!n&&n.is(\"element\",\"paragraph\");this.isEnabled=!!n&&AR(n,t.schema)}execute(t={}){const e=this.editor.model;const n=e.document;const o=t.selection||n.selection;if(!e.canEditAt(o)){return}e.change((t=>{const n=o.getSelectedBlocks();for(const o of n){if(!o.is(\"element\",\"paragraph\")&&AR(o,e.schema)){t.rename(o,\"paragraph\")}}}))}}function AR(t,e){return e.checkChild(t.parent,\"paragraph\")&&!e.isObject(t)}class _R extends Id{constructor(t){super(t);this._isEnabledBasedOnSelection=false}execute(t){const e=this.editor.model;const n=t.attributes;let o=t.position;if(!e.canEditAt(o)){return}e.change((t=>{o=this._findPositionToInsertParagraph(o,t);if(!o){return}const i=t.createElement(\"paragraph\");if(n){e.schema.setAllowedAttributes(i,n,t)}e.insertContent(i,o);t.setSelection(i,\"in\")}))}_findPositionToInsertParagraph(t,e){const n=this.editor.model;if(n.schema.checkChild(t,\"paragraph\")){return t}const o=n.schema.findAllowedParent(t,\"paragraph\");if(!o){return null}const i=t.parent;const r=n.schema.checkChild(i,\"$text\");if(i.isEmpty||r&&t.isAtEnd){return n.createPositionAfter(i)}if(!i.isEmpty&&r&&t.isAtStart){return n.createPositionBefore(i)}return e.split(t,o).position}}class CR extends Ed{static get pluginName(){return\"Paragraph\"}init(){const t=this.editor;const e=t.model;t.commands.add(\"paragraph\",new wR(t));t.commands.add(\"insertParagraph\",new _R(t));e.schema.register(\"paragraph\",{inheritAllFrom:\"$block\"});t.conversion.elementToElement({model:\"paragraph\",view:\"p\"});t.conversion.for(\"upcast\").elementToElement({model:(t,{writer:e})=>{if(!CR.paragraphLikeElements.has(t.name)){return null}if(t.isEmpty){return null}return e.createElement(\"paragraph\")},view:/.+/,converterPriority:\"low\"})}}CR.paragraphLikeElements=new Set([\"blockquote\",\"dd\",\"div\",\"dt\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"li\",\"p\",\"td\",\"th\"]);const vR=CR;const yR=CC.paragraph;class xR extends(null&&Plugin){static get requires(){return[Paragraph]}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(\"paragraph\",(n=>{const o=new ButtonView(n);const i=t.commands.get(\"paragraph\");o.label=e(\"Paragraph\");o.icon=yR;o.tooltip=true;o.isToggleable=true;o.bind(\"isEnabled\").to(i);o.bind(\"isOn\").to(i,\"value\");o.on(\"execute\",(()=>{t.execute(\"paragraph\")}));return o}))}}class ER extends Id{constructor(t,e){super(t);this.modelElements=e}refresh(){const t=sd(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name;this.isEnabled=!!t&&this.modelElements.some((e=>DR(t,e,this.editor.model.schema)))}execute(t){const e=this.editor.model;const n=e.document;const o=t.value;e.change((t=>{const i=Array.from(n.selection.getSelectedBlocks()).filter((t=>DR(t,o,e.schema)));for(const e of i){if(!e.is(\"element\",o)){t.rename(e,o)}}}))}}function DR(t,e,n){return n.checkChild(t.parent,e)&&!n.isObject(t)}const IR=\"paragraph\";class TR extends Ed{static get pluginName(){return\"HeadingEditing\"}constructor(t){super(t);t.config.define(\"heading\",{options:[{model:\"paragraph\",title:\"Paragraph\",class:\"ck-heading_paragraph\"},{model:\"heading1\",view:\"h2\",title:\"Heading 1\",class:\"ck-heading_heading1\"},{model:\"heading2\",view:\"h3\",title:\"Heading 2\",class:\"ck-heading_heading2\"},{model:\"heading3\",view:\"h4\",title:\"Heading 3\",class:\"ck-heading_heading3\"}]})}static get requires(){return[vR]}init(){const t=this.editor;const e=t.config.get(\"heading.options\");const n=[];for(const o of e){if(o.model===\"paragraph\"){continue}t.model.schema.register(o.model,{inheritAllFrom:\"$block\"});t.conversion.elementToElement(o);n.push(o.model)}this._addDefaultH1Conversion(t);t.commands.add(\"heading\",new ER(t,n))}afterInit(){const t=this.editor;const e=t.commands.get(\"enter\");const n=t.config.get(\"heading.options\");if(e){this.listenTo(e,\"afterExecute\",((e,o)=>{const i=t.model.document.selection.getFirstPosition().parent;const r=n.some((t=>i.is(\"element\",t.model)));if(r&&!i.is(\"element\",IR)&&i.childCount===0){o.writer.rename(i,IR)}}))}}_addDefaultH1Conversion(t){t.conversion.for(\"upcast\").elementToElement({model:\"heading1\",view:\"h1\",converterPriority:B.low+1})}}function SR(t){const e=t.t;const n={Paragraph:e(\"Paragraph\"),\"Heading 1\":e(\"Heading 1\"),\"Heading 2\":e(\"Heading 2\"),\"Heading 3\":e(\"Heading 3\"),\"Heading 4\":e(\"Heading 4\"),\"Heading 5\":e(\"Heading 5\"),\"Heading 6\":e(\"Heading 6\")};return t.config.get(\"heading.options\").map((t=>{const e=n[t.title];if(e&&e!=t.title){t.title=e}return t}))}var BR=n(2863);var MR={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};MR.insert=\"head\";MR.singleton=true;var PR=Ld()(BR.A,MR);const NR=BR.A.locals||{};class LR extends Ed{static get pluginName(){return\"HeadingUI\"}init(){const t=this.editor;const e=t.t;const n=SR(t);const o=e(\"Choose heading\");const i=e(\"Heading\");t.ui.componentFactory.add(\"heading\",(e=>{const r={};const s=new rd;const a=t.commands.get(\"heading\");const c=t.commands.get(\"paragraph\");const l=[a];for(const t of n){const e={type:\"button\",model:new RI({label:t.title,class:t.class,role:\"menuitemradio\",withText:true})};if(t.model===\"paragraph\"){e.model.bind(\"isOn\").to(c,\"value\");e.model.set(\"commandName\",\"paragraph\");l.push(c)}else{e.model.bind(\"isOn\").to(a,\"value\",(e=>e===t.model));e.model.set({commandName:\"heading\",commandValue:t.model})}s.add(e);r[t.model]=t.title}const d=xx(e);Ix(d,s,{ariaLabel:i,role:\"menu\"});d.buttonView.set({ariaLabel:i,ariaLabelledBy:undefined,isOn:false,withText:true,tooltip:i});d.extendTemplate({attributes:{class:[\"ck-heading-dropdown\"]}});d.bind(\"isEnabled\").toMany(l,\"isEnabled\",((...t)=>t.some((t=>t))));d.buttonView.bind(\"label\").to(a,\"value\",c,\"value\",((t,e)=>{const n=e?\"paragraph\":t;if(typeof n===\"boolean\"){return o}if(!r[n]){return o}return r[n]}));d.buttonView.bind(\"ariaLabel\").to(a,\"value\",c,\"value\",((t,e)=>{const n=e?\"paragraph\":t;if(typeof n===\"boolean\"){return i}if(!r[n]){return i}return`${r[n]}, ${i}`}));this.listenTo(d,\"execute\",(e=>{const{commandName:n,commandValue:o}=e.source;t.execute(n,o?{value:o}:undefined);t.editing.view.focus()}));return d}));t.ui.componentFactory.add(\"menuBar:heading\",(o=>{const i=new VS(o);const r=t.commands.get(\"heading\");const s=t.commands.get(\"paragraph\");const a=[r];const c=new FS(o);i.set({class:\"ck-heading-dropdown\"});c.set({ariaLabel:e(\"Heading\"),role:\"menu\"});i.buttonView.set({label:e(\"Heading\")});i.panelView.children.add(c);for(const e of n){const n=new aS(o,i);const l=new qS(o);n.children.add(l);c.items.add(n);l.set({label:e.title,role:\"menuitemradio\",class:e.class});l.bind(\"ariaChecked\").to(l,\"isOn\");l.delegate(\"execute\").to(i);l.on(\"execute\",(()=>{const n=e.model===\"paragraph\"?\"paragraph\":\"heading\";t.execute(n,{value:e.model});t.editing.view.focus()}));if(e.model===\"paragraph\"){l.bind(\"isOn\").to(s,\"value\");a.push(s)}else{l.bind(\"isOn\").to(r,\"value\",(t=>t===e.model))}}i.bind(\"isEnabled\").toMany(a,\"isEnabled\",((...t)=>t.some((t=>t))));return i}))}}class zR extends Ed{static get requires(){return[TR,LR]}static get pluginName(){return\"Heading\"}}const OR={heading1:CC.heading1,heading2:CC.heading2,heading3:CC.heading3,heading4:CC.heading4,heading5:CC.heading5,heading6:CC.heading6};class RR extends(null&&Plugin){init(){const t=getLocalizedOptions(this.editor);t.filter((t=>t.model!==\"paragraph\")).map((t=>this._createButton(t)))}_createButton(t){const e=this.editor;e.ui.componentFactory.add(t.model,(n=>{const o=new ButtonView(n);const i=e.commands.get(\"heading\");o.label=t.title;o.icon=t.icon||OR[t.model];o.tooltip=true;o.isToggleable=true;o.bind(\"isEnabled\").to(i);o.bind(\"isOn\").to(i,\"value\",(e=>e==t.model));o.on(\"execute\",(()=>{e.execute(\"heading\",{value:t.model});e.editing.view.focus()}));return o}))}}const VR=new Set([\"paragraph\",\"heading1\",\"heading2\",\"heading3\",\"heading4\",\"heading5\",\"heading6\"]);class FR extends Ed{constructor(){super(...arguments);this._bodyPlaceholder=new Map}static get pluginName(){return\"Title\"}static get requires(){return[\"Paragraph\"]}init(){const t=this.editor;const e=t.model;e.schema.register(\"title\",{isBlock:true,allowIn:\"$root\"});e.schema.register(\"title-content\",{isBlock:true,allowIn:\"title\",allowAttributes:[\"alignment\"]});e.schema.extend(\"$text\",{allowIn:\"title-content\"});e.schema.addAttributeCheck((t=>{if(t.endsWith(\"title-content $text\")){return false}}));t.editing.mapper.on(\"modelToViewPosition\",HR(t.editing.view));t.data.mapper.on(\"modelToViewPosition\",HR(t.editing.view));t.conversion.for(\"downcast\").elementToElement({model:\"title-content\",view:\"h1\"});t.conversion.for(\"downcast\").add((t=>t.on(\"insert:title\",((t,e,n)=>{n.consumable.consume(e.item,t.name)}))));t.data.upcastDispatcher.on(\"element:h1\",jR,{priority:\"high\"});t.data.upcastDispatcher.on(\"element:h2\",jR,{priority:\"high\"});t.data.upcastDispatcher.on(\"element:h3\",jR,{priority:\"high\"});e.document.registerPostFixer((t=>this._fixTitleContent(t)));e.document.registerPostFixer((t=>this._fixTitleElement(t)));e.document.registerPostFixer((t=>this._fixBodyElement(t)));e.document.registerPostFixer((t=>this._fixExtraParagraph(t)));this._attachPlaceholders();this._attachTabPressHandling()}getTitle(t={}){const e=t.rootName?t.rootName:undefined;const n=this._getTitleElement(e);const o=n.getChild(0);return this.editor.data.stringify(o,t)}getBody(t={}){const e=this.editor;const n=e.data;const o=e.model;const i=t.rootName?t.rootName:undefined;const r=e.model.document.getRoot(i);const s=e.editing.view;const a=new Xh(s.document);const c=o.createRangeIn(r);const l=a.createDocumentFragment();const d=o.createPositionAfter(r.getChild(0));const u=o.createRange(d,o.createPositionAt(r,\"end\"));const h=new Map;for(const t of o.markers){const e=u.getIntersection(t.getRange());if(e){h.set(t.name,e)}}n.mapper.clearBindings();n.mapper.bindElements(r,l);n.downcastDispatcher.convert(c,h,a,t);a.remove(a.createRangeOn(l.getChild(0)));return e.data.processor.toData(l)}_getTitleElement(t){const e=this.editor.model.document.getRoot(t);for(const t of e.getChildren()){if(UR(t)){return t}}}_fixTitleContent(t){let e=false;for(const n of this.editor.model.document.getRootNames()){const o=this._getTitleElement(n);if(!o||o.maxOffset===1){continue}const i=Array.from(o.getChildren());i.shift();for(const e of i){t.move(t.createRangeOn(e),o,\"after\");t.rename(e,\"paragraph\")}e=true}return e}_fixTitleElement(t){let e=false;const n=this.editor.model;for(const o of this.editor.model.document.getRoots()){const i=Array.from(o.getChildren()).filter(UR);const r=i[0];const s=o.getChild(0);if(s.is(\"element\",\"title\")){if(i.length>1){qR(i,t,n);e=true}continue}if(!r&&!VR.has(s.name)){const n=t.createElement(\"title\");t.insert(n,o);t.insertElement(\"title-content\",n);e=true;continue}if(VR.has(s.name)){WR(s,t,n)}else{t.move(t.createRangeOn(r),o,0)}qR(i,t,n);e=true}return e}_fixBodyElement(t){let e=false;for(const n of this.editor.model.document.getRootNames()){const o=this.editor.model.document.getRoot(n);if(o.childCount<2){const i=t.createElement(\"paragraph\");t.insert(i,o,1);this._bodyPlaceholder.set(n,i);e=true}}return e}_fixExtraParagraph(t){let e=false;for(const n of this.editor.model.document.getRootNames()){const o=this.editor.model.document.getRoot(n);const i=this._bodyPlaceholder.get(n);if($R(i,o)){this._bodyPlaceholder.delete(n);t.remove(i);e=true}}return e}_attachPlaceholders(){const t=this.editor;const e=t.t;const n=t.editing.view;const o=t.sourceElement;const i=t.config.get(\"title.placeholder\")||e(\"Type your title\");const r=t.config.get(\"placeholder\")||o&&o.tagName.toLowerCase()===\"textarea\"&&o.getAttribute(\"placeholder\")||e(\"Type or paste your content here.\");t.editing.downcastDispatcher.on(\"insert:title-content\",((t,e,o)=>{const r=o.mapper.toViewElement(e.item);r.placeholder=i;Hd({view:n,element:r,keepOnFocus:true})}));const s=new Map;n.document.registerPostFixer((t=>{let e=false;for(const o of n.document.roots){if(o.isEmpty){continue}const n=o.getChild(1);const i=s.get(o.rootName);if(n!==i){if(i){qd(t,i);t.removeAttribute(\"data-placeholder\",i)}t.setAttribute(\"data-placeholder\",r,n);s.set(o.rootName,n);e=true}if(Gd(n,true)&&o.childCount===2&&n.name===\"p\"){e=Wd(t,n)?true:e}else{e=qd(t,n)?true:e}}return e}))}_attachTabPressHandling(){const t=this.editor;const e=t.model;t.keystrokes.set(\"TAB\",((t,n)=>{e.change((t=>{const o=e.document.selection;const i=Array.from(o.getSelectedBlocks());if(i.length===1&&i[0].is(\"element\",\"title-content\")){const e=o.getFirstPosition().root;const i=e.getChild(1);t.setSelection(i,0);n()}}))}));t.keystrokes.set(\"SHIFT + TAB\",((n,o)=>{e.change((n=>{const i=e.document.selection;if(!i.isCollapsed){return}const r=sd(i.getSelectedBlocks());const s=i.getFirstPosition();const a=t.model.document.getRoot(s.root.rootName);const c=a.getChild(0);const l=a.getChild(1);if(r===l&&s.isAtStart){n.setSelection(c.getChild(0),0);o()}}))}))}}function jR(t,e,n){const o=e.modelCursor;const i=e.viewItem;if(!o.isAtStart||!o.parent.is(\"element\",\"$root\")){return}if(!n.consumable.consume(i,{name:true})){return}const r=n.writer;const s=r.createElement(\"title\");const a=r.createElement(\"title-content\");r.append(a,s);r.insert(s,o);n.convertChildren(i,a);n.updateConversionResult(s,e)}function HR(t){return(e,n)=>{const o=n.modelPosition.parent;if(!o.is(\"element\",\"title\")){return}const i=o.parent;const r=n.mapper.toViewElement(i);n.viewPosition=t.createPositionAt(r,0);e.stop()}}function UR(t){return t.is(\"element\",\"title\")}function WR(t,e,n){const o=e.createElement(\"title\");e.insert(o,t,\"before\");e.insert(t,o,0);e.rename(t,\"title-content\");n.schema.removeDisallowedAttributes([t],e)}function qR(t,e,n){let o=false;for(const i of t){if(i.index!==0){GR(i,e,n);o=true}}return o}function GR(t,e,n){const o=t.getChild(0);if(o.isEmpty){e.remove(t);return}e.move(e.createRangeOn(o),t,\"before\");e.rename(o,\"paragraph\");e.remove(t);n.schema.removeDisallowedAttributes([o],e)}function $R(t,e){if(!t||!t.is(\"element\",\"paragraph\")||t.childCount){return false}if(e.childCount<=2||e.getChild(e.childCount-1)!==t){return false}return true}class KR extends Id{refresh(){const t=this.editor.model;const e=t.schema;const n=t.document.selection;const o=ZR(n);this.isEnabled=YR(n,e,t);this.value=o?o.getAttribute(\"value\")||\"\":null}execute(t){const e=this.editor.model;const n=e.document.selection;e.change((o=>{let i;if(this.value!==null){i=ZR(n)}else{i=o.createElement(\"rawHtml\");e.insertObject(i,null,null,{setSelection:\"on\"})}o.setAttribute(\"value\",t,i)}))}}function YR(t,e,n){const o=QR(t,n);return e.checkChild(o,\"rawHtml\")}function QR(t,e){const n=Mz(t,e);const o=n.start.parent;if(o.isEmpty&&!o.is(\"rootElement\")){return o.parent}return o}function ZR(t){const e=t.getSelectedElement();if(e&&e.is(\"element\",\"rawHtml\")){return e}return null}var JR=n(8912);var XR={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};XR.insert=\"head\";XR.singleton=true;var tV=Ld()(JR.A,XR);const eV=JR.A.locals||{};class nV extends Ed{static get pluginName(){return\"HtmlEmbedEditing\"}constructor(t){super(t);this._widgetButtonViewReferences=new Set;t.config.define(\"htmlEmbed\",{showPreviews:false,sanitizeHtml:t=>{L(\"html-embed-provide-sanitize-function\");return{html:t,hasChanged:false}}})}init(){const t=this.editor;const e=t.model.schema;e.register(\"rawHtml\",{inheritAllFrom:\"$blockObject\",allowAttributes:[\"value\"]});t.commands.add(\"htmlEmbed\",new KR(t));this._setupConversion()}_setupConversion(){const t=this.editor;const e=t.t;const n=t.editing.view;const o=this._widgetButtonViewReferences;const i=t.config.get(\"htmlEmbed\");this.editor.editing.view.on(\"render\",(()=>{for(const t of o){if(t.element&&t.element.isConnected){return}t.destroy();o.delete(t)}}),{priority:\"lowest\"});t.data.registerRawContentMatcher({name:\"div\",classes:\"raw-html-embed\"});t.conversion.for(\"upcast\").elementToElement({view:{name:\"div\",classes:\"raw-html-embed\"},model:(t,{writer:e})=>e.createElement(\"rawHtml\",{value:t.getCustomProperty(\"$rawContent\")})});t.conversion.for(\"dataDowncast\").elementToElement({model:\"rawHtml\",view:(t,{writer:e})=>e.createRawElement(\"div\",{class:\"raw-html-embed\"},(function(e){e.innerHTML=t.getAttribute(\"value\")||\"\"}))});t.conversion.for(\"editingDowncast\").elementToStructure({model:{name:\"rawHtml\",attributes:[\"value\"]},view:(o,{writer:s})=>{let a;let c;let l;const d=s.createRawElement(\"div\",{class:\"raw-html-embed__content-wrapper\"},(function(e){a=e;r({editor:t,domElement:e,state:c,props:l});a.addEventListener(\"mousedown\",(()=>{if(c.isEditable){const e=t.model;const n=e.document.selection.getSelectedElement();if(n!==o){e.change((t=>t.setSelection(o,\"on\")))}}}),true)}));const u={makeEditable(){c=Object.assign({},c,{isEditable:true});r({domElement:a,editor:t,state:c,props:l});n.change((t=>{t.setAttribute(\"data-cke-ignore-events\",\"true\",d)}));a.querySelector(\"textarea\").focus()},save(e){if(e!==c.getRawHtmlValue()){t.execute(\"htmlEmbed\",e);t.editing.view.focus()}else{this.cancel()}},cancel(){c=Object.assign({},c,{isEditable:false});r({domElement:a,editor:t,state:c,props:l});t.editing.view.focus();n.change((t=>{t.removeAttribute(\"data-cke-ignore-events\",d)}))}};c={showPreviews:i.showPreviews,isEditable:false,getRawHtmlValue:()=>o.getAttribute(\"value\")||\"\"};l={sanitizeHtml:i.sanitizeHtml,textareaPlaceholder:e(\"Paste raw HTML here...\"),onEditClick(){u.makeEditable()},onSaveClick(t){u.save(t)},onCancelClick(){u.cancel()}};const h=s.createContainerElement(\"div\",{class:\"raw-html-embed\",\"data-html-embed-label\":e(\"HTML snippet\"),dir:t.locale.uiLanguageDirection},d);s.setCustomProperty(\"rawHtmlApi\",u,h);s.setCustomProperty(\"rawHtml\",true,h);return xz(h,s,{label:e(\"HTML snippet\"),hasSelectionHandle:true})}});function r({editor:t,domElement:e,state:n,props:o}){e.textContent=\"\";const i=e.ownerDocument;let r;if(n.isEditable){const t={isDisabled:false,placeholder:o.textareaPlaceholder};r=a({domDocument:i,state:n,props:t});e.append(r)}else if(n.showPreviews){const r={sanitizeHtml:o.sanitizeHtml};e.append(c({domDocument:i,state:n,props:r,editor:t}))}else{const t={isDisabled:true,placeholder:o.textareaPlaceholder};e.append(a({domDocument:i,state:n,props:t}))}const l={onEditClick:o.onEditClick,onSaveClick:()=>{o.onSaveClick(r.value)},onCancelClick:o.onCancelClick};e.prepend(s({editor:t,domDocument:i,state:n,props:l}))}function s({editor:t,domDocument:e,state:n,props:i}){const r=ie(e,\"div\",{class:\"raw-html-embed__buttons-wrapper\"});if(n.isEditable){const e=oV(t,\"save\",i.onSaveClick);const n=oV(t,\"cancel\",i.onCancelClick);r.append(e.element,n.element);o.add(e).add(n)}else{const e=oV(t,\"edit\",i.onEditClick);r.append(e.element);o.add(e)}return r}function a({domDocument:t,state:e,props:n}){const o=ie(t,\"textarea\",{placeholder:n.placeholder,class:\"ck ck-reset ck-input ck-input-text raw-html-embed__source\"});o.disabled=n.isDisabled;o.value=e.getRawHtmlValue();return o}function c({editor:t,domDocument:n,state:o,props:i}){const r=i.sanitizeHtml(o.getRawHtmlValue());const s=o.getRawHtmlValue().length>0?e(\"No preview available\"):e(\"Empty snippet content\");const a=ie(n,\"div\",{class:\"ck ck-reset_all raw-html-embed__preview-placeholder\"},s);const c=ie(n,\"div\",{class:\"raw-html-embed__preview-content\",dir:t.locale.contentLanguageDirection});const l=n.createRange();const d=l.createContextualFragment(r.html);c.appendChild(d);const u=ie(n,\"div\",{class:\"raw-html-embed__preview\"},[a,c]);return u}}}function oV(t,e,n){const{t:o}=t.locale;const i=new Sv(t.locale);const r=t.commands.get(\"htmlEmbed\");i.set({class:`raw-html-embed__${e}-button`,icon:CC.pencil,tooltip:true,tooltipPosition:t.locale.uiLanguageDirection===\"rtl\"?\"e\":\"w\"});i.render();if(e===\"edit\"){i.set({icon:CC.pencil,label:o(\"Edit source\")});i.bind(\"isEnabled\").to(r)}else if(e===\"save\"){i.set({icon:CC.check,label:o(\"Save changes\")});i.bind(\"isEnabled\").to(r)}else{i.set({icon:CC.cancel,label:o(\"Cancel\")})}i.on(\"execute\",n);return i}class iV extends Ed{static get pluginName(){return\"HtmlEmbedUI\"}init(){const t=this.editor;const e=t.locale;const n=e.t;t.ui.componentFactory.add(\"htmlEmbed\",(()=>{const t=this._createButton(Sv);t.set({tooltip:true,label:n(\"Insert HTML\")});return t}));t.ui.componentFactory.add(\"menuBar:htmlEmbed\",(()=>{const t=this._createButton(qS);t.set({label:n(\"HTML snippet\")});return t}))}_createButton(t){const e=this.editor;const n=e.commands.get(\"htmlEmbed\");const o=new t(e.locale);o.set({icon:CC.html});o.bind(\"isEnabled\").to(n,\"isEnabled\");this.listenTo(o,\"execute\",(()=>{e.execute(\"htmlEmbed\");e.editing.view.focus();const t=e.editing.view.document.selection.getSelectedElement().getCustomProperty(\"rawHtmlApi\");t.makeEditable()}));return o}}class rV extends Ed{static get requires(){return[nV,iV,uO]}static get pluginName(){return\"HtmlEmbed\"}}function sV(t,e,n,o){var i=-1,r=t==null?0:t.length;if(o&&r){n=t[++i]}while(++i=o?t:Qu(t,e,n)}const _F=AF;var CF=\"\\\\ud800-\\\\udfff\",vF=\"\\\\u0300-\\\\u036f\",yF=\"\\\\ufe20-\\\\ufe2f\",xF=\"\\\\u20d0-\\\\u20ff\",EF=vF+yF+xF,DF=\"\\\\ufe0e\\\\ufe0f\";var IF=\"\\\\u200d\";var TF=RegExp(\"[\"+IF+CF+EF+DF+\"]\");function SF(t){return TF.test(t)}const BF=SF;function MF(t){return t.split(\"\")}const PF=MF;var NF=\"\\\\ud800-\\\\udfff\",LF=\"\\\\u0300-\\\\u036f\",zF=\"\\\\ufe20-\\\\ufe2f\",OF=\"\\\\u20d0-\\\\u20ff\",RF=LF+zF+OF,VF=\"\\\\ufe0e\\\\ufe0f\";var FF=\"[\"+NF+\"]\",jF=\"[\"+RF+\"]\",HF=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",UF=\"(?:\"+jF+\"|\"+HF+\")\",WF=\"[^\"+NF+\"]\",qF=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",GF=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",$F=\"\\\\u200d\";var KF=UF+\"?\",YF=\"[\"+VF+\"]?\",QF=\"(?:\"+$F+\"(?:\"+[WF,qF,GF].join(\"|\")+\")\"+YF+KF+\")*\",ZF=YF+KF+QF,JF=\"(?:\"+[WF+jF+\"?\",jF,qF,GF,FF].join(\"|\")+\")\";var XF=RegExp(HF+\"(?=\"+HF+\")|\"+JF+ZF,\"g\");function tj(t){return t.match(XF)||[]}const ej=tj;function nj(t){return BF(t)?ej(t):PF(t)}const oj=nj;function ij(t){return function(e){e=Vu(e);var n=BF(e)?oj(e):undefined;var o=n?n[0]:e.charAt(0);var i=n?_F(n,1).join(\"\"):e.slice(1);return o[t]()+i}}const rj=ij;var sj=rj(\"toUpperCase\");const aj=sj;var cj=wF((function(t,e,n){return t+(n?\" \":\"\")+aj(e)}));const lj=cj;function dj(t,e,n,o){if(e){hj(t,e,o)}if(n){uj(t,n,o)}}function uj(t,e,n){if(e.attributes){for(const[o,i]of Object.entries(e.attributes)){t.setAttribute(o,i,n)}}if(e.styles){t.setStyle(e.styles,n)}if(e.classes){t.addClass(e.classes,n)}}function hj(t,e,n){if(e.attributes){for(const[o]of Object.entries(e.attributes)){t.removeAttribute(o,n)}}if(e.styles){for(const o of Object.keys(e.styles)){t.removeStyle(o,n)}}if(e.classes){t.removeClass(e.classes,n)}}function mj(t,e){const n=Pf(t);let o=\"attributes\";for(o in e){if(o==\"classes\"){n[o]=Array.from(new Set([...t[o]||[],...e[o]]))}else{n[o]={...t[o],...e[o]}}}return n}function gj(t,e,n,o,i){const r=e.getAttribute(n);const s={};for(const t of[\"attributes\",\"styles\",\"classes\"]){if(t!=o){if(r&&r[t]){s[t]=r[t]}continue}if(o==\"classes\"){const e=new Set(r&&r.classes||[]);i(e);if(e.size){s[t]=Array.from(e)}continue}const e=new Map(Object.entries(r&&r[t]||{}));i(e);if(e.size){s[t]=Object.fromEntries(e)}}if(Object.keys(s).length){if(e.is(\"documentSelection\")){t.setSelectionAttribute(n,s)}else{t.setAttribute(n,s,e)}}else if(r){if(e.is(\"documentSelection\")){t.removeSelectionAttribute(n)}else{t.removeAttribute(n,e)}}}function fj(t){return lj(t).replace(/ /g,\"\")}function pj(t){return`html${fj(t)}Attributes`}function bj({model:t}){return(e,n)=>n.writer.createElement(t,{htmlContent:e.getCustomProperty(\"$rawContent\")})}function kj(t,{view:e,isInline:n}){const o=t.t;return(t,{writer:i})=>{const r=o(\"HTML object\");const s=wj(e,t,i);const a=t.getAttribute(pj(e));i.addClass(\"html-object-embed__content\",s);if(a){uj(i,a,s)}const c=i.createContainerElement(n?\"span\":\"div\",{class:\"html-object-embed\",\"data-html-object-embed-label\":r},s);return xz(c,i,{label:r})}}function wj(t,e,n){return n.createRawElement(t,null,((t,n)=>{n.setContentOf(t,e.getAttribute(\"htmlContent\"))}))}function Aj({view:t,model:e,allowEmpty:n},o){return e=>{e.on(`element:${t}`,((t,e,r)=>{let s=o.processViewAttributes(e.viewItem,r);if(!s&&!r.consumable.test(e.viewItem,{name:true})){return}s=s||{};r.consumable.consume(e.viewItem,{name:true});if(!e.modelRange){e=Object.assign(e,r.convertChildren(e.viewItem,e.modelCursor))}if(n&&e.modelRange.isCollapsed&&Object.keys(s).length){const t=r.writer.createElement(\"htmlEmptyElement\");if(!r.safeInsert(t,e.modelCursor)){return}const n=r.getSplitParts(t);e.modelRange=r.writer.createRange(e.modelRange.start,r.writer.createPositionAfter(n[n.length-1]));r.updateConversionResult(t,e);i(t,s,r);return}for(const t of e.modelRange.getItems()){i(t,s,r)}}),{priority:\"low\"})};function i(t,n,o){if(o.schema.checkAttribute(t,e)){const i=t.getAttribute(e);const r=mj(n,i||{});o.writer.setAttribute(e,r,t)}}}function _j({model:t,view:e},n){return(o,{writer:i,consumable:r})=>{if(!o.hasAttribute(t)){return null}const s=i.createContainerElement(e);const a=o.getAttribute(t);r.consume(o,`attribute:${t}`);uj(i,a,s);s.getFillerOffset=()=>null;return n?xz(s,i):s}}function Cj({priority:t,view:e}){return(n,o)=>{if(!n){return}const{writer:i}=o;const r=i.createAttributeElement(e,null,{priority:t});uj(i,n,r);return r}}function vj({view:t},e){return n=>{n.on(`element:${t}`,((t,n,o)=>{if(!n.modelRange||n.modelRange.isCollapsed){return}const i=e.processViewAttributes(n.viewItem,o);if(!i){return}o.writer.setAttribute(pj(n.viewItem.name),i,n.modelRange)}),{priority:\"low\"})}}function yj({view:t,model:e}){return n=>{n.on(`attribute:${pj(t)}:${e}`,((t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const{attributeOldValue:o,attributeNewValue:i}=e;const r=n.writer;const s=n.mapper.toViewElement(e.item);dj(r,o,i,s)}))}}const xj={block:[{model:\"codeBlock\",view:\"pre\"},{model:\"paragraph\",view:\"p\"},{model:\"blockQuote\",view:\"blockquote\"},{model:\"listItem\",view:\"li\"},{model:\"pageBreak\",view:\"div\"},{model:\"rawHtml\",view:\"div\"},{model:\"table\",view:\"table\"},{model:\"tableRow\",view:\"tr\"},{model:\"tableCell\",view:\"td\"},{model:\"tableCell\",view:\"th\"},{model:\"tableColumnGroup\",view:\"colgroup\"},{model:\"tableColumn\",view:\"col\"},{model:\"caption\",view:\"caption\"},{model:\"caption\",view:\"figcaption\"},{model:\"imageBlock\",view:\"img\"},{model:\"imageInline\",view:\"img\"},{model:\"htmlP\",view:\"p\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlBlockquote\",view:\"blockquote\",modelSchema:{inheritAllFrom:\"$container\"}},{model:\"htmlTable\",view:\"table\",modelSchema:{allowWhere:\"$block\",isBlock:true}},{model:\"htmlTbody\",view:\"tbody\",modelSchema:{allowIn:\"htmlTable\",isBlock:false}},{model:\"htmlThead\",view:\"thead\",modelSchema:{allowIn:\"htmlTable\",isBlock:false}},{model:\"htmlTfoot\",view:\"tfoot\",modelSchema:{allowIn:\"htmlTable\",isBlock:false}},{model:\"htmlCaption\",view:\"caption\",modelSchema:{allowIn:\"htmlTable\",allowChildren:\"$text\",isBlock:false}},{model:\"htmlColgroup\",view:\"colgroup\",modelSchema:{allowIn:\"htmlTable\",allowChildren:\"col\",isBlock:false}},{model:\"htmlCol\",view:\"col\",modelSchema:{allowIn:\"htmlColgroup\",isBlock:false}},{model:\"htmlTr\",view:\"tr\",modelSchema:{allowIn:[\"htmlTable\",\"htmlThead\",\"htmlTbody\"],isLimit:true}},{model:\"htmlTd\",view:\"td\",modelSchema:{allowIn:\"htmlTr\",allowContentOf:\"$container\",isLimit:true,isBlock:false}},{model:\"htmlTh\",view:\"th\",modelSchema:{allowIn:\"htmlTr\",allowContentOf:\"$container\",isLimit:true,isBlock:false}},{model:\"htmlFigure\",view:\"figure\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlFigcaption\",view:\"figcaption\",modelSchema:{allowIn:\"htmlFigure\",allowChildren:\"$text\",isBlock:false}},{model:\"htmlAddress\",view:\"address\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlAside\",view:\"aside\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlMain\",view:\"main\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlDetails\",view:\"details\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlSummary\",view:\"summary\",modelSchema:{allowChildren:\"$text\",allowIn:\"htmlDetails\",isBlock:false}},{model:\"htmlDiv\",view:\"div\",paragraphLikeModel:\"htmlDivParagraph\",modelSchema:{inheritAllFrom:\"$container\"}},{model:\"htmlFieldset\",view:\"fieldset\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlLegend\",view:\"legend\",modelSchema:{allowIn:\"htmlFieldset\",allowChildren:\"$text\"}},{model:\"htmlHeader\",view:\"header\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlFooter\",view:\"footer\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlForm\",view:\"form\",modelSchema:{inheritAllFrom:\"$container\",isBlock:true}},{model:\"htmlHgroup\",view:\"hgroup\",modelSchema:{allowChildren:[\"htmlH1\",\"htmlH2\",\"htmlH3\",\"htmlH4\",\"htmlH5\",\"htmlH6\"],isBlock:false}},{model:\"htmlH1\",view:\"h1\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlH2\",view:\"h2\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlH3\",view:\"h3\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlH4\",view:\"h4\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlH5\",view:\"h5\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlH6\",view:\"h6\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"$htmlList\",modelSchema:{allowWhere:\"$container\",allowChildren:[\"$htmlList\",\"htmlLi\"],isBlock:false}},{model:\"htmlDir\",view:\"dir\",modelSchema:{inheritAllFrom:\"$htmlList\"}},{model:\"htmlMenu\",view:\"menu\",modelSchema:{inheritAllFrom:\"$htmlList\"}},{model:\"htmlUl\",view:\"ul\",modelSchema:{inheritAllFrom:\"$htmlList\"}},{model:\"htmlOl\",view:\"ol\",modelSchema:{inheritAllFrom:\"$htmlList\"}},{model:\"htmlLi\",view:\"li\",modelSchema:{allowIn:\"$htmlList\",allowChildren:\"$text\",isBlock:false}},{model:\"htmlPre\",view:\"pre\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlArticle\",view:\"article\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlSection\",view:\"section\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlNav\",view:\"nav\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlDivDl\",view:\"div\",modelSchema:{allowChildren:[\"htmlDt\",\"htmlDd\"],allowIn:\"htmlDl\"}},{model:\"htmlDl\",view:\"dl\",modelSchema:{allowWhere:\"$container\",allowChildren:[\"htmlDt\",\"htmlDd\",\"htmlDivDl\"],isBlock:false}},{model:\"htmlDt\",view:\"dt\",modelSchema:{allowChildren:\"$block\",isBlock:false}},{model:\"htmlDd\",view:\"dd\",modelSchema:{allowChildren:\"$block\",isBlock:false}},{model:\"htmlCenter\",view:\"center\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}}],inline:[{model:\"htmlLiAttributes\",view:\"li\",appliesToBlock:true,coupledAttribute:\"listItemId\"},{model:\"htmlOlAttributes\",view:\"ol\",appliesToBlock:true,coupledAttribute:\"listItemId\"},{model:\"htmlUlAttributes\",view:\"ul\",appliesToBlock:true,coupledAttribute:\"listItemId\"},{model:\"htmlFigureAttributes\",view:\"figure\",appliesToBlock:\"table\"},{model:\"htmlTheadAttributes\",view:\"thead\",appliesToBlock:\"table\"},{model:\"htmlTbodyAttributes\",view:\"tbody\",appliesToBlock:\"table\"},{model:\"htmlFigureAttributes\",view:\"figure\",appliesToBlock:\"imageBlock\"},{model:\"htmlAcronym\",view:\"acronym\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlTt\",view:\"tt\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlFont\",view:\"font\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlTime\",view:\"time\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlVar\",view:\"var\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlBig\",view:\"big\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlSmall\",view:\"small\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlSamp\",view:\"samp\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlQ\",view:\"q\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlOutput\",view:\"output\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlKbd\",view:\"kbd\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlBdi\",view:\"bdi\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlBdo\",view:\"bdo\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlAbbr\",view:\"abbr\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlA\",view:\"a\",priority:5,coupledAttribute:\"linkHref\"},{model:\"htmlStrong\",view:\"strong\",coupledAttribute:\"bold\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlB\",view:\"b\",coupledAttribute:\"bold\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlI\",view:\"i\",coupledAttribute:\"italic\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlEm\",view:\"em\",coupledAttribute:\"italic\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlS\",view:\"s\",coupledAttribute:\"strikethrough\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlDel\",view:\"del\",coupledAttribute:\"strikethrough\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlIns\",view:\"ins\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlU\",view:\"u\",coupledAttribute:\"underline\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlSub\",view:\"sub\",coupledAttribute:\"subscript\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlSup\",view:\"sup\",coupledAttribute:\"superscript\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlCode\",view:\"code\",coupledAttribute:\"code\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlMark\",view:\"mark\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlSpan\",view:\"span\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlCite\",view:\"cite\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlLabel\",view:\"label\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlDfn\",view:\"dfn\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlObject\",view:\"object\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlIframe\",view:\"iframe\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlInput\",view:\"input\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlButton\",view:\"button\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlTextarea\",view:\"textarea\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlSelect\",view:\"select\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlVideo\",view:\"video\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlEmbed\",view:\"embed\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlOembed\",view:\"oembed\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlAudio\",view:\"audio\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlImg\",view:\"img\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlCanvas\",view:\"canvas\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlMeter\",view:\"meter\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlProgress\",view:\"progress\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlScript\",view:\"script\",modelSchema:{allowWhere:[\"$text\",\"$block\"],isInline:true}},{model:\"htmlStyle\",view:\"style\",modelSchema:{allowWhere:[\"$text\",\"$block\"],isInline:true}},{model:\"htmlCustomElement\",view:\"$customElement\",modelSchema:{allowWhere:[\"$text\",\"$block\"],allowAttributesOf:\"$inlineObject\",isInline:true}}]};var Ej=Gl((function(t,e,n,o){Cl(t,e,n,o)}));const Dj=Ej;class Ij extends Ed{constructor(){super(...arguments);this._definitions=[]}static get pluginName(){return\"DataSchema\"}init(){for(const t of xj.block){this.registerBlockElement(t)}for(const t of xj.inline){this.registerInlineElement(t)}}registerBlockElement(t){this._definitions.push({...t,isBlock:true})}registerInlineElement(t){this._definitions.push({...t,isInline:true})}extendBlockElement(t){this._extendDefinition({...t,isBlock:true})}extendInlineElement(t){this._extendDefinition({...t,isInline:true})}getDefinitionsForView(t,e=false){const n=new Set;for(const o of this._getMatchingViewDefinitions(t)){if(e){for(const t of this._getReferences(o.model)){n.add(t)}}n.add(o)}return n}getDefinitionsForModel(t){return this._definitions.filter((e=>e.model==t))}_getMatchingViewDefinitions(t){return this._definitions.filter((e=>e.view&&Tj(t,e.view)))}*_getReferences(t){const e=[\"inheritAllFrom\",\"inheritTypesFrom\",\"allowWhere\",\"allowContentOf\",\"allowAttributesOf\"];const n=this._definitions.filter((e=>e.model==t));for(const{modelSchema:o}of n){if(!o){continue}for(const n of e){for(const e of sl(o[n]||[])){const n=this._definitions.filter((t=>t.model==e));for(const o of n){if(e!==t){yield*this._getReferences(o.model);yield o}}}}}}_extendDefinition(t){const e=Array.from(this._definitions.entries()).filter((([,e])=>e.model==t.model));if(e.length==0){this._definitions.push(t);return}for(const[n,o]of e){this._definitions[n]=Dj({},o,t,((t,e)=>Array.isArray(t)?t.concat(e):undefined))}}}function Tj(t,e){if(typeof t===\"string\"){return t===e}if(t instanceof RegExp){return t.test(e)}return false}var Sj=n(9064);var Bj={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};Bj.insert=\"head\";Bj.singleton=true;var Mj=Ld()(Sj.A,Bj);const Pj=Sj.A.locals||{};class Nj extends Ed{constructor(t){super(t);this._dataSchema=t.plugins.get(\"DataSchema\");this._allowedAttributes=new iu;this._disallowedAttributes=new iu;this._allowedElements=new Set;this._disallowedElements=new Set;this._dataInitialized=false;this._coupledAttributes=null;this._registerElementsAfterInit();this._registerElementHandlers();this._registerCoupledAttributesPostFixer();this._registerAssociatedHtmlAttributesPostFixer()}static get pluginName(){return\"DataFilter\"}static get requires(){return[Ij,uO]}loadAllowedConfig(t){for(const e of t){const t=e.name||/[\\s\\S]+/;const n=Fj(e);this.allowElement(t);n.forEach((t=>this.allowAttributes(t)))}}loadDisallowedConfig(t){for(const e of t){const t=e.name||/[\\s\\S]+/;const n=Fj(e);if(n.length==0){this.disallowElement(t)}else{n.forEach((t=>this.disallowAttributes(t)))}}}loadAllowedEmptyElementsConfig(t){for(const e of t){this.allowEmptyElement(e)}}allowElement(t){for(const e of this._dataSchema.getDefinitionsForView(t,true)){this._addAllowedElement(e);this._coupledAttributes=null}}disallowElement(t){for(const e of this._dataSchema.getDefinitionsForView(t,false)){this._disallowedElements.add(e.view)}}allowEmptyElement(t){for(const e of this._dataSchema.getDefinitionsForView(t,true)){if(e.isInline){this._dataSchema.extendInlineElement({...e,allowEmpty:true})}}}allowAttributes(t){this._allowedAttributes.add(t)}disallowAttributes(t){this._disallowedAttributes.add(t)}processViewAttributes(t,e){const{consumable:n}=e;Lj(t,this._disallowedAttributes,n);return zj(t,Lj(t,this._allowedAttributes,n))}_addAllowedElement(t){if(this._allowedElements.has(t)){return}this._allowedElements.add(t);if(\"appliesToBlock\"in t&&typeof t.appliesToBlock==\"string\"){for(const e of this._dataSchema.getDefinitionsForModel(t.appliesToBlock)){if(e.isBlock){this._addAllowedElement(e)}}}if(this._dataInitialized){this.editor.data.once(\"set\",(()=>{this._fireRegisterEvent(t)}),{priority:B.highest+1})}}_registerElementsAfterInit(){this.editor.data.on(\"init\",(()=>{this._dataInitialized=true;for(const t of this._allowedElements){this._fireRegisterEvent(t)}}),{priority:B.highest+1})}_registerElementHandlers(){this.on(\"register\",((t,e)=>{const n=this.editor.model.schema;if(e.isObject&&!n.isRegistered(e.model)){this._registerObjectElement(e)}else if(e.isBlock){this._registerBlockElement(e)}else if(e.isInline){this._registerInlineElement(e)}else{throw new N(\"data-filter-invalid-definition\",null,e)}t.stop()}),{priority:\"lowest\"})}_registerCoupledAttributesPostFixer(){const t=this.editor.model;const e=t.document.selection;t.document.registerPostFixer((e=>{const n=t.document.differ.getChanges();let o=false;const i=this._getCoupledAttributesMap();for(const t of n){if(t.type!=\"attribute\"||t.attributeNewValue!==null){continue}const n=i.get(t.attributeKey);if(!n){continue}for(const{item:i}of t.range.getWalker()){for(const t of n){if(i.hasAttribute(t)){e.removeAttribute(t,i);o=true}}}}return o}));this.listenTo(e,\"change:attribute\",((n,{attributeKeys:o})=>{const i=new Set;const r=this._getCoupledAttributesMap();for(const t of o){if(e.hasAttribute(t)){continue}const n=r.get(t);if(!n){continue}for(const t of n){if(e.hasAttribute(t)){i.add(t)}}}if(i.size==0){return}t.change((t=>{for(const e of i){t.removeSelectionAttribute(e)}}))}))}_registerAssociatedHtmlAttributesPostFixer(){const t=this.editor.model;t.document.registerPostFixer((e=>{const n=t.document.differ.getChanges();let o=false;for(const i of n){if(i.type!==\"insert\"||i.name===\"$text\"){continue}for(const n of i.attributes.keys()){if(!n.startsWith(\"html\")||!n.endsWith(\"Attributes\")){continue}if(!t.schema.checkAttribute(i.name,n)){e.removeAttribute(n,i.position.nodeAfter);o=true}}}return o}))}_getCoupledAttributesMap(){if(this._coupledAttributes){return this._coupledAttributes}this._coupledAttributes=new Map;for(const t of this._allowedElements){if(t.coupledAttribute&&t.model){const e=this._coupledAttributes.get(t.coupledAttribute);if(e){e.push(t.model)}else{this._coupledAttributes.set(t.coupledAttribute,[t.model])}}}return this._coupledAttributes}_fireRegisterEvent(t){if(t.view&&this._disallowedElements.has(t.view)){return}this.fire(t.view?`register:${t.view}`:\"register\",t)}_registerObjectElement(t){const e=this.editor;const n=e.model.schema;const o=e.conversion;const{view:i,model:r}=t;n.register(r,t.modelSchema);if(!i){return}n.extend(t.model,{allowAttributes:[pj(i),\"htmlContent\"]});e.data.registerRawContentMatcher({name:i});o.for(\"upcast\").elementToElement({view:i,model:bj(t),converterPriority:B.low+2});o.for(\"upcast\").add(vj(t,this));o.for(\"editingDowncast\").elementToStructure({model:{name:r,attributes:[pj(i)]},view:kj(e,t)});o.for(\"dataDowncast\").elementToElement({model:r,view:(t,{writer:e})=>wj(i,t,e)});o.for(\"dataDowncast\").add(yj(t))}_registerBlockElement(t){const e=this.editor;const n=e.model.schema;const o=e.conversion;const{view:i,model:r}=t;if(!n.isRegistered(t.model)){n.register(t.model,t.modelSchema);if(!i){return}o.for(\"upcast\").elementToElement({model:r,view:i,converterPriority:B.low+2});o.for(\"downcast\").elementToElement({model:r,view:i})}if(!i){return}n.extend(t.model,{allowAttributes:pj(i)});o.for(\"upcast\").add(vj(t,this));o.for(\"downcast\").add(yj(t))}_registerInlineElement(t){const e=this.editor;const n=e.model.schema;const o=e.conversion;const i=t.model;if(t.appliesToBlock){return}n.extend(\"$text\",{allowAttributes:i});if(t.attributeProperties){n.setAttributeProperties(i,t.attributeProperties)}o.for(\"upcast\").add(Aj(t,this));o.for(\"downcast\").attributeToElement({model:i,view:Cj(t)});if(!t.allowEmpty){return}n.setAttributeProperties(i,{copyFromObject:false});if(!n.isRegistered(\"htmlEmptyElement\")){n.register(\"htmlEmptyElement\",{inheritAllFrom:\"$inlineObject\"})}e.data.htmlProcessor.domConverter.registerInlineObjectMatcher((e=>{if(e.name==t.view&&e.isEmpty&&Array.from(e.getAttributeKeys()).length){return{name:true}}return null}));o.for(\"editingDowncast\").elementToElement({model:\"htmlEmptyElement\",view:_j(t,true)});o.for(\"dataDowncast\").elementToElement({model:\"htmlEmptyElement\",view:_j(t)})}}function Lj(t,e,n){const o=e.matchAll(t)||[];const i=t.document.stylesProcessor;return o.reduce(((e,{match:o})=>{for(const r of o.styles||[]){const o=i.getRelatedStyles(r).filter((t=>t.split(\"-\").length>r.split(\"-\").length)).sort(((t,e)=>e.split(\"-\").length-t.split(\"-\").length));for(const i of o){if(n.consume(t,{styles:[i]})){e.styles.push(i)}}if(n.consume(t,{styles:[r]})){e.styles.push(r)}}for(const i of o.classes||[]){if(n.consume(t,{classes:[i]})){e.classes.push(i)}}for(const i of o.attributes||[]){if(n.consume(t,{attributes:[i]})){e.attributes.push(i)}}return e}),{attributes:[],classes:[],styles:[]})}function zj(t,{attributes:e,classes:n,styles:o}){if(!e.length&&!n.length&&!o.length){return null}return{...e.length&&{attributes:Oj(t,e)},...o.length&&{styles:Rj(t,o)},...n.length&&{classes:n}}}function Oj(t,e){const n={};for(const o of e){const e=t.getAttribute(o);if(e!==undefined&&Ec(o)){n[o]=e}}return n}function Rj(t,e){const n=new lh(t.document.stylesProcessor);for(const o of e){const e=t.getStyle(o);if(e!==undefined){n.set(o,e)}}return Object.fromEntries(n.getStylesEntries())}function Vj(t,e){const{name:n}=t;const o=t[e];if(pe(o)){return Object.entries(o).map((([t,o])=>({name:n,[e]:{[t]:o}})))}if(Array.isArray(o)){return o.map((t=>({name:n,[e]:[t]})))}return[t]}function Fj(t){const{name:e,attributes:n,classes:o,styles:i}=t;const r=[];if(n){r.push(...Vj({name:e,attributes:n},\"attributes\"))}if(o){r.push(...Vj({name:e,classes:o},\"classes\"))}if(i){r.push(...Vj({name:e,styles:i},\"styles\"))}return r}class jj extends Ed{static get requires(){return[Nj]}static get pluginName(){return\"CodeBlockElementSupport\"}init(){if(!this.editor.plugins.has(\"CodeBlockEditing\")){return}const t=this.editor.plugins.get(Nj);t.on(\"register:pre\",((e,n)=>{if(n.model!==\"codeBlock\"){return}const o=this.editor;const i=o.model.schema;const r=o.conversion;i.extend(\"codeBlock\",{allowAttributes:[\"htmlPreAttributes\",\"htmlContentAttributes\"]});r.for(\"upcast\").add(Hj(t));r.for(\"downcast\").add(Uj());e.stop()}))}}function Hj(t){return e=>{e.on(\"element:code\",((e,n,o)=>{const i=n.viewItem;const r=i.parent;if(!r||!r.is(\"element\",\"pre\")){return}s(r,\"htmlPreAttributes\");s(i,\"htmlContentAttributes\");function s(e,i){const r=t.processViewAttributes(e,o);if(r){o.writer.setAttribute(i,r,n.modelRange)}}}),{priority:\"low\"})}}function Uj(){return t=>{t.on(\"attribute:htmlPreAttributes:codeBlock\",((t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const{attributeOldValue:o,attributeNewValue:i}=e;const r=n.mapper.toViewElement(e.item);const s=r.parent;dj(n.writer,o,i,s)}));t.on(\"attribute:htmlContentAttributes:codeBlock\",((t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const{attributeOldValue:o,attributeNewValue:i}=e;const r=n.mapper.toViewElement(e.item);dj(n.writer,o,i,r)}))}}class Wj extends Ed{static get requires(){return[Nj]}static get pluginName(){return\"DualContentModelElementSupport\"}init(){const t=this.editor.plugins.get(Nj);t.on(\"register\",((t,e)=>{const n=e;const o=this.editor;const i=o.model.schema;const r=o.conversion;if(!n.paragraphLikeModel){return}if(i.isRegistered(n.model)||i.isRegistered(n.paragraphLikeModel)){return}const s={model:n.paragraphLikeModel,view:n.view};i.register(n.model,n.modelSchema);i.register(s.model,{inheritAllFrom:\"$block\"});r.for(\"upcast\").elementToElement({view:n.view,model:(t,{writer:e})=>{if(this._hasBlockContent(t)){return e.createElement(n.model)}return e.createElement(s.model)},converterPriority:B.low+.5});r.for(\"downcast\").elementToElement({view:n.view,model:n.model});this._addAttributeConversion(n);r.for(\"downcast\").elementToElement({view:s.view,model:s.model});this._addAttributeConversion(s);t.stop()}))}_hasBlockContent(t){const e=this.editor.editing.view;const n=e.domConverter.blockElements;for(const o of e.createRangeIn(t).getItems()){if(o.is(\"element\")&&n.includes(o.name)){return true}}return false}_addAttributeConversion(t){const e=this.editor;const n=e.conversion;const o=e.plugins.get(Nj);e.model.schema.extend(t.model,{allowAttributes:pj(t.view)});n.for(\"upcast\").add(vj(t,o));n.for(\"downcast\").add(yj(t))}}class qj extends Ed{static get requires(){return[Ij,lP]}static get pluginName(){return\"HeadingElementSupport\"}init(){const t=this.editor;if(!t.plugins.has(\"HeadingEditing\")){return}const e=t.config.get(\"heading.options\");this.registerHeadingElements(t,e)}registerHeadingElements(t,e){const n=t.plugins.get(Ij);const o=[];for(const t of e){if(\"model\"in t&&\"view\"in t){n.registerBlockElement({view:t.view,model:t.model});o.push(t.model)}}n.extendBlockElement({model:\"htmlHgroup\",modelSchema:{allowChildren:o}})}}function Gj(t,e,n){const o=t.createRangeOn(e);for(const{item:t}of o.getWalker()){if(t.is(\"element\",n)){return t}}}class $j extends Ed{static get requires(){return[Nj]}static get pluginName(){return\"ImageElementSupport\"}init(){const t=this.editor;if(!t.plugins.has(\"ImageInlineEditing\")&&!t.plugins.has(\"ImageBlockEditing\")){return}const e=t.model.schema;const n=t.conversion;const o=t.plugins.get(Nj);o.on(\"register:figure\",(()=>{n.for(\"upcast\").add(Qj(o))}));o.on(\"register:img\",((i,r)=>{if(r.model!==\"imageBlock\"&&r.model!==\"imageInline\"){return}if(e.isRegistered(\"imageBlock\")){e.extend(\"imageBlock\",{allowAttributes:[\"htmlImgAttributes\",\"htmlFigureAttributes\",\"htmlLinkAttributes\"]})}if(e.isRegistered(\"imageInline\")){e.extend(\"imageInline\",{allowAttributes:[\"htmlA\",\"htmlImgAttributes\"]})}n.for(\"upcast\").add(Kj(o));n.for(\"downcast\").add(Zj());if(t.plugins.has(\"LinkImage\")){n.for(\"upcast\").add(Yj(o,t))}i.stop()}))}}function Kj(t){return e=>{e.on(\"element:img\",((e,n,o)=>{if(!n.modelRange){return}const i=n.viewItem;const r=t.processViewAttributes(i,o);if(r){o.writer.setAttribute(\"htmlImgAttributes\",r,n.modelRange)}}),{priority:\"low\"})}}function Yj(t,e){const n=e.plugins.get(\"ImageUtils\");return e=>{e.on(\"element:a\",((e,o,i)=>{const r=o.viewItem;const s=n.findViewImgElement(r);if(!s){return}const a=o.modelCursor.parent;if(!a.is(\"element\",\"imageBlock\")){return}const c=t.processViewAttributes(r,i);if(c){i.writer.setAttribute(\"htmlLinkAttributes\",c,a)}}),{priority:\"low\"})}}function Qj(t){return e=>{e.on(\"element:figure\",((e,n,o)=>{const i=n.viewItem;if(!n.modelRange||!i.hasClass(\"image\")){return}const r=t.processViewAttributes(i,o);if(r){o.writer.setAttribute(\"htmlFigureAttributes\",r,n.modelRange)}}),{priority:\"low\"})}}function Zj(){return t=>{e(\"htmlImgAttributes\");n(\"img\",\"htmlImgAttributes\");n(\"figure\",\"htmlFigureAttributes\");n(\"a\",\"htmlLinkAttributes\");function e(e){t.on(`attribute:${e}:imageInline`,((t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const{attributeOldValue:o,attributeNewValue:i}=e;const r=n.mapper.toViewElement(e.item);dj(n.writer,o,i,r)}),{priority:\"low\"})}function n(e,n){t.on(`attribute:${n}:imageBlock`,((t,n,o)=>{if(!o.consumable.test(n.item,t.name)){return}const{attributeOldValue:i,attributeNewValue:r}=n;const s=o.mapper.toViewElement(n.item);const a=Gj(o.writer,s,e);if(a){dj(o.writer,i,r,a);o.consumable.consume(n.item,t.name)}}),{priority:\"low\"});if(e===\"a\"){t.on(\"attribute:linkHref:imageBlock\",((t,e,n)=>{if(!n.consumable.consume(e.item,\"attribute:htmlLinkAttributes:imageBlock\")){return}const o=n.mapper.toViewElement(e.item);const i=Gj(n.writer,o,\"a\");uj(n.writer,e.item.getAttribute(\"htmlLinkAttributes\"),i)}),{priority:\"low\"})}}}}class Jj extends Ed{static get requires(){return[Nj]}static get pluginName(){return\"MediaEmbedElementSupport\"}init(){const t=this.editor;if(!t.plugins.has(\"MediaEmbed\")||t.config.get(\"mediaEmbed.previewsInData\")){return}const e=t.model.schema;const n=t.conversion;const o=this.editor.plugins.get(Nj);const i=this.editor.plugins.get(Ij);const r=t.config.get(\"mediaEmbed.elementName\");i.registerBlockElement({model:\"media\",view:r});o.on(\"register:figure\",(()=>{n.for(\"upcast\").add(tH(o))}));o.on(`register:${r}`,((t,i)=>{if(i.model!==\"media\"){return}e.extend(\"media\",{allowAttributes:[pj(r),\"htmlFigureAttributes\"]});n.for(\"upcast\").add(Xj(o,r));n.for(\"dataDowncast\").add(eH(r));t.stop()}))}}function Xj(t,e){const n=(n,o,i)=>{const r=o.viewItem;s(r,pj(e));function s(e,n){const r=t.processViewAttributes(e,i);if(r){i.writer.setAttribute(n,r,o.modelRange)}}};return t=>{t.on(`element:${e}`,n,{priority:\"low\"})}}function tH(t){return e=>{e.on(\"element:figure\",((e,n,o)=>{const i=n.viewItem;if(!n.modelRange||!i.hasClass(\"media\")){return}const r=t.processViewAttributes(i,o);if(r){o.writer.setAttribute(\"htmlFigureAttributes\",r,n.modelRange)}}),{priority:\"low\"})}}function eH(t){return e=>{n(t,pj(t));n(\"figure\",\"htmlFigureAttributes\");function n(t,n){e.on(`attribute:${n}:media`,((e,n,o)=>{if(!o.consumable.consume(n.item,e.name)){return}const{attributeOldValue:i,attributeNewValue:r}=n;const s=o.mapper.toViewElement(n.item);const a=Gj(o.writer,s,t);dj(o.writer,i,r,a)}))}}}class nH extends Ed{static get requires(){return[Nj]}static get pluginName(){return\"ScriptElementSupport\"}init(){const t=this.editor.plugins.get(Nj);t.on(\"register:script\",((e,n)=>{const o=this.editor;const i=o.model.schema;const r=o.conversion;i.register(\"htmlScript\",n.modelSchema);i.extend(\"htmlScript\",{allowAttributes:[\"htmlScriptAttributes\",\"htmlContent\"],isContent:true});o.data.registerRawContentMatcher({name:\"script\"});r.for(\"upcast\").elementToElement({view:\"script\",model:bj(n)});r.for(\"upcast\").add(vj(n,t));r.for(\"downcast\").elementToElement({model:\"htmlScript\",view:(t,{writer:e})=>wj(\"script\",t,e)});r.for(\"downcast\").add(yj(n));e.stop()}))}}class oH extends Ed{static get requires(){return[Nj]}static get pluginName(){return\"TableElementSupport\"}init(){const t=this.editor;if(!t.plugins.has(\"TableEditing\")){return}const e=t.model.schema;const n=t.conversion;const o=t.plugins.get(Nj);const i=t.plugins.get(\"TableUtils\");o.on(\"register:figure\",(()=>{n.for(\"upcast\").add(sH(o))}));o.on(\"register:table\",((r,s)=>{if(s.model!==\"table\"){return}e.extend(\"table\",{allowAttributes:[\"htmlTableAttributes\",\"htmlFigureAttributes\",\"htmlTheadAttributes\",\"htmlTbodyAttributes\"]});n.for(\"upcast\").add(rH(o));n.for(\"downcast\").add(aH());t.model.document.registerPostFixer(iH(t.model,i));r.stop()}))}}function iH(t,e){return n=>{const o=t.document.differ.getChanges();let i=false;for(const t of o){if(t.type!=\"attribute\"||t.attributeKey!=\"headingRows\"){continue}const o=t.range.start.nodeAfter;const r=o.getAttribute(\"htmlTheadAttributes\");const s=o.getAttribute(\"htmlTbodyAttributes\");if(r&&!t.attributeNewValue){n.removeAttribute(\"htmlTheadAttributes\",o);i=true}else if(s&&t.attributeNewValue==e.getRows(o)){n.removeAttribute(\"htmlTbodyAttributes\",o);i=true}}return i}}function rH(t){return e=>{e.on(\"element:table\",((e,n,o)=>{if(!n.modelRange){return}const i=n.viewItem;r(i,\"htmlTableAttributes\");for(const t of i.getChildren()){if(t.is(\"element\",\"thead\")){r(t,\"htmlTheadAttributes\")}if(t.is(\"element\",\"tbody\")){r(t,\"htmlTbodyAttributes\")}}function r(e,i){const r=t.processViewAttributes(e,o);if(r){o.writer.setAttribute(i,r,n.modelRange)}}}),{priority:\"low\"})}}function sH(t){return e=>{e.on(\"element:figure\",((e,n,o)=>{const i=n.viewItem;if(!n.modelRange||!i.hasClass(\"table\")){return}const r=t.processViewAttributes(i,o);if(r){o.writer.setAttribute(\"htmlFigureAttributes\",r,n.modelRange)}}),{priority:\"low\"})}}function aH(){return t=>{e(\"table\",\"htmlTableAttributes\");e(\"figure\",\"htmlFigureAttributes\");e(\"thead\",\"htmlTheadAttributes\");e(\"tbody\",\"htmlTbodyAttributes\");function e(e,n){t.on(`attribute:${n}:table`,((t,n,o)=>{if(!o.consumable.test(n.item,t.name)){return}const i=o.mapper.toViewElement(n.item);const r=Gj(o.writer,i,e);if(!r){return}o.consumable.consume(n.item,t.name);dj(o.writer,n.attributeOldValue,n.attributeNewValue,r)}))}}}class cH extends Ed{static get requires(){return[Nj]}static get pluginName(){return\"StyleElementSupport\"}init(){const t=this.editor.plugins.get(Nj);t.on(\"register:style\",((e,n)=>{const o=this.editor;const i=o.model.schema;const r=o.conversion;i.register(\"htmlStyle\",n.modelSchema);i.extend(\"htmlStyle\",{allowAttributes:[\"htmlStyleAttributes\",\"htmlContent\"],isContent:true});o.data.registerRawContentMatcher({name:\"style\"});r.for(\"upcast\").elementToElement({view:\"style\",model:bj(n)});r.for(\"upcast\").add(vj(n,t));r.for(\"downcast\").elementToElement({model:\"htmlStyle\",view:(t,{writer:e})=>wj(\"style\",t,e)});r.for(\"downcast\").add(yj(n));e.stop()}))}}class lH extends Ed{static get requires(){return[Nj]}static get pluginName(){return\"ListElementSupport\"}init(){const t=this.editor;if(!t.plugins.has(\"ListEditing\")){return}const e=t.model.schema;const n=t.conversion;const o=t.plugins.get(Nj);const i=t.plugins.get(\"ListEditing\");const r=t.plugins.get(\"ListUtils\");const s=[\"ul\",\"ol\",\"li\"];i.registerDowncastStrategy({scope:\"item\",attributeName:\"htmlLiAttributes\",setAttributeOnDowncast:uj});i.registerDowncastStrategy({scope:\"list\",attributeName:\"htmlUlAttributes\",setAttributeOnDowncast:uj});i.registerDowncastStrategy({scope:\"list\",attributeName:\"htmlOlAttributes\",setAttributeOnDowncast:uj});o.on(\"register\",((t,i)=>{if(!s.includes(i.view)){return}t.stop();if(e.checkAttribute(\"$block\",\"htmlLiAttributes\")){return}const r=s.map((t=>pj(t)));e.extend(\"$listItem\",{allowAttributes:r});n.for(\"upcast\").add((t=>{t.on(\"element:ul\",dH(\"htmlUlAttributes\",o),{priority:\"low\"});t.on(\"element:ol\",dH(\"htmlOlAttributes\",o),{priority:\"low\"});t.on(\"element:li\",dH(\"htmlLiAttributes\",o),{priority:\"low\"})}))}));i.on(\"postFixer\",((t,{listNodes:e,writer:n})=>{for(const{node:o,previousNodeInList:i}of e){if(!i){continue}if(i.getAttribute(\"listType\")==o.getAttribute(\"listType\")){const e=uH(i.getAttribute(\"listType\"));const r=i.getAttribute(e);if(!jk(o.getAttribute(e),r)&&n.model.schema.checkAttribute(o,e)){n.setAttribute(e,r,o);t.return=true}}if(i.getAttribute(\"listItemId\")==o.getAttribute(\"listItemId\")){const e=i.getAttribute(\"htmlLiAttributes\");if(!jk(o.getAttribute(\"htmlLiAttributes\"),e)&&n.model.schema.checkAttribute(o,\"htmlLiAttributes\")){n.setAttribute(\"htmlLiAttributes\",e,o);t.return=true}}}}));i.on(\"postFixer\",((t,{listNodes:e,writer:n})=>{for(const{node:o}of e){const e=o.getAttribute(\"listType\");if(!r.isNumberedListType(e)&&o.getAttribute(\"htmlOlAttributes\")){n.removeAttribute(\"htmlOlAttributes\",o);t.return=true}if(r.isNumberedListType(e)&&o.getAttribute(\"htmlUlAttributes\")){n.removeAttribute(\"htmlUlAttributes\",o);t.return=true}}}))}afterInit(){const t=this.editor;if(!t.commands.get(\"indentList\")){return}const e=t.commands.get(\"indentList\");this.listenTo(e,\"afterExecute\",((e,n)=>{t.model.change((e=>{for(const o of n){const n=uH(o.getAttribute(\"listType\"));if(!t.model.schema.checkAttribute(o,n)){continue}e.setAttribute(n,{},o)}}))}))}}function dH(t,e){return(n,o,i)=>{const r=o.viewItem;if(!o.modelRange){Object.assign(o,i.convertChildren(o.viewItem,o.modelCursor))}const s=e.processViewAttributes(r,i);for(const e of o.modelRange.getItems({shallow:true})){if(!e.hasAttribute(\"listItemId\")){continue}if(e.hasAttribute(t)){continue}if(i.writer.model.schema.checkAttribute(e,t)){i.writer.setAttribute(t,s||{},e)}}}}function uH(t){return t===\"numbered\"||t==\"customNumbered\"?\"htmlOlAttributes\":\"htmlUlAttributes\"}class hH extends Ed{static get requires(){return[Nj,Ij]}static get pluginName(){return\"CustomElementSupport\"}init(){const t=this.editor.plugins.get(Nj);const e=this.editor.plugins.get(Ij);t.on(\"register:$customElement\",((n,o)=>{n.stop();const i=this.editor;const r=i.model.schema;const s=i.conversion;const a=i.editing.view.domConverter.unsafeElements;const c=i.data.htmlProcessor.domConverter.preElements;r.register(o.model,o.modelSchema);r.extend(o.model,{allowAttributes:[\"htmlElementName\",\"htmlCustomElementAttributes\",\"htmlContent\"],isContent:true});i.data.htmlProcessor.domConverter.registerRawContentMatcher({name:\"template\"});s.for(\"upcast\").elementToElement({view:/.*/,model:(n,r)=>{if(n.name==\"$comment\"){return null}if(!mH(n.name)){return null}if(e.getDefinitionsForView(n.name).size){return null}if(!a.includes(n.name)){a.push(n.name)}if(!c.includes(n.name)){c.push(n.name)}const s=r.writer.createElement(o.model,{htmlElementName:n.name});const l=t.processViewAttributes(n,r);if(l){r.writer.setAttribute(\"htmlCustomElementAttributes\",l,s)}let d;if(n.is(\"element\",\"template\")&&n.getCustomProperty(\"$rawContent\")){d=n.getCustomProperty(\"$rawContent\")}else{const t=new uA(n.document);const e=t.createDocumentFragment(n);const o=i.data.htmlProcessor.domConverter.viewToDom(e);const r=o.firstChild;while(r.firstChild){o.appendChild(r.firstChild)}r.remove();d=i.data.htmlProcessor.htmlWriter.getHtml(o)}r.writer.setAttribute(\"htmlContent\",d,s);for(const{item:t}of i.editing.view.createRangeIn(n)){r.consumable.consume(t,{name:true})}return s},converterPriority:\"low\"});s.for(\"editingDowncast\").elementToElement({model:{name:o.model,attributes:[\"htmlElementName\",\"htmlCustomElementAttributes\",\"htmlContent\"]},view:(t,{writer:e})=>{const n=t.getAttribute(\"htmlElementName\");const o=e.createRawElement(n);if(t.hasAttribute(\"htmlCustomElementAttributes\")){uj(e,t.getAttribute(\"htmlCustomElementAttributes\"),o)}return o}});s.for(\"dataDowncast\").elementToElement({model:{name:o.model,attributes:[\"htmlElementName\",\"htmlCustomElementAttributes\",\"htmlContent\"]},view:(t,{writer:e})=>{const n=t.getAttribute(\"htmlElementName\");const o=t.getAttribute(\"htmlContent\");const i=e.createRawElement(n,null,((t,e)=>{e.setContentOf(t,o)}));if(t.hasAttribute(\"htmlCustomElementAttributes\")){uj(e,t.getAttribute(\"htmlCustomElementAttributes\"),i)}return i}})}))}}function mH(t){try{document.createElement(t)}catch(t){return false}return true}class gH extends Ed{static get pluginName(){return\"GeneralHtmlSupport\"}static get requires(){return[Nj,jj,Wj,qj,$j,Jj,nH,oH,cH,lH,hH]}init(){const t=this.editor;const e=t.plugins.get(Nj);e.loadAllowedEmptyElementsConfig(t.config.get(\"htmlSupport.allowEmpty\")||[]);e.loadAllowedConfig(t.config.get(\"htmlSupport.allow\")||[]);e.loadDisallowedConfig(t.config.get(\"htmlSupport.disallow\")||[])}getGhsAttributeNameForElement(t){const e=this.editor.plugins.get(\"DataSchema\");const n=Array.from(e.getDefinitionsForView(t,false));const o=n.find((t=>t.isInline&&!n[0].isObject));if(o){return o.model}return pj(t)}addModelHtmlClass(t,e,n){const o=this.editor.model;const i=this.getGhsAttributeNameForElement(t);o.change((t=>{for(const r of fH(o,n,i)){gj(t,r,i,\"classes\",(t=>{for(const n of sl(e)){t.add(n)}}))}}))}removeModelHtmlClass(t,e,n){const o=this.editor.model;const i=this.getGhsAttributeNameForElement(t);o.change((t=>{for(const r of fH(o,n,i)){gj(t,r,i,\"classes\",(t=>{for(const n of sl(e)){t.delete(n)}}))}}))}setModelHtmlAttributes(t,e,n){const o=this.editor.model;const i=this.getGhsAttributeNameForElement(t);o.change((t=>{for(const r of fH(o,n,i)){gj(t,r,i,\"attributes\",(t=>{for(const[n,o]of Object.entries(e)){t.set(n,o)}}))}}))}removeModelHtmlAttributes(t,e,n){const o=this.editor.model;const i=this.getGhsAttributeNameForElement(t);o.change((t=>{for(const r of fH(o,n,i)){gj(t,r,i,\"attributes\",(t=>{for(const n of sl(e)){t.delete(n)}}))}}))}setModelHtmlStyles(t,e,n){const o=this.editor.model;const i=this.getGhsAttributeNameForElement(t);o.change((t=>{for(const r of fH(o,n,i)){gj(t,r,i,\"styles\",(t=>{for(const[n,o]of Object.entries(e)){t.set(n,o)}}))}}))}removeModelHtmlStyles(t,e,n){const o=this.editor.model;const i=this.getGhsAttributeNameForElement(t);o.change((t=>{for(const r of fH(o,n,i)){gj(t,r,i,\"styles\",(t=>{for(const n of sl(e)){t.delete(n)}}))}}))}}function*fH(t,e,n){if(!e){return}if(!(Symbol.iterator in e)&&e.is(\"documentSelection\")&&e.isCollapsed){if(t.schema.checkAttributeInSelection(e,n)){yield e}}else{for(const o of pH(t,e,n)){yield*o.getItems({shallow:true})}}}function pH(t,e,n){if(!(Symbol.iterator in e)&&(e.is(\"node\")||e.is(\"$text\")||e.is(\"$textProxy\"))){if(t.schema.checkAttribute(e,n)){return[t.createRangeOn(e)]}else{return[]}}else{return t.schema.getValidRanges(t.createSelection(e).getRanges(),n)}}class bH extends Ed{static get pluginName(){return\"HtmlComment\"}init(){const t=this.editor;const e=new Map;t.data.processor.skipComments=false;t.model.schema.addAttributeCheck(((t,e)=>{if(t.endsWith(\"$root\")&&e.startsWith(\"$comment\")){return true}}));t.conversion.for(\"upcast\").elementToMarker({view:\"$comment\",model:t=>{const n=T();const o=`$comment:${n}`;const i=t.getCustomProperty(\"$rawContent\");e.set(o,i);return o}});t.conversion.for(\"dataDowncast\").markerToElement({model:\"$comment\",view:(t,{writer:e})=>{let n=undefined;for(const e of this.editor.model.document.getRootNames()){n=this.editor.model.document.getRoot(e);if(n.hasAttribute(t.markerName)){break}}const o=t.markerName;const i=n.getAttribute(o);const r=e.createUIElement(\"$comment\");e.setCustomProperty(\"$rawContent\",i,r);return r}});t.model.document.registerPostFixer((n=>{let o=false;const i=t.model.document.differ.getChangedMarkers().filter((t=>t.name.startsWith(\"$comment:\")));for(const t of i){const{oldRange:i,newRange:r}=t.data;if(i&&r&&i.root==r.root){continue}if(i){const e=i.root;if(e.hasAttribute(t.name)){n.removeAttribute(t.name,e);o=true}}if(r){const i=r.root;if(i.rootName==\"$graveyard\"){n.removeMarker(t.name);o=true}else if(!i.hasAttribute(t.name)){n.setAttribute(t.name,e.get(t.name)||\"\",i);o=true}}}return o}));t.data.on(\"set\",(()=>{for(const e of t.model.markers.getMarkersGroup(\"$comment\")){this.removeHtmlComment(e.name)}}),{priority:\"high\"});t.model.on(\"deleteContent\",((e,[n])=>{for(const e of n.getRanges()){const n=t.model.schema.getLimitElement(e);const o=t.model.createPositionAt(n,0);const i=t.model.createPositionAt(n,\"end\");let r;if(o.isTouching(e.start)&&i.isTouching(e.end)){r=this.getHtmlCommentsInRange(t.model.createRange(o,i))}else{r=this.getHtmlCommentsInRange(e,{skipBoundaries:true})}for(const t of r){this.removeHtmlComment(t)}}}),{priority:\"high\"})}createHtmlComment(t,e){const n=T();const o=this.editor;const i=o.model;const r=i.document.getRoot(t.root.rootName);const s=`$comment:${n}`;return i.change((n=>{const o=n.createRange(t);n.addMarker(s,{usingOperation:true,affectsData:true,range:o});n.setAttribute(s,e,r);return s}))}removeHtmlComment(t){const e=this.editor;const n=e.model.markers.get(t);if(!n){return false}e.model.change((t=>{t.removeMarker(n)}));return true}getHtmlCommentData(t){const e=this.editor;const n=e.model.markers.get(t);if(!n){return null}let o=\"\";for(const e of this.editor.model.document.getRoots()){if(e.hasAttribute(t)){o=e.getAttribute(t);break}}return{content:o,position:n.getStart()}}getHtmlCommentsInRange(t,{skipBoundaries:e=false}={}){const n=!e;return Array.from(this.editor.model.markers.getMarkersGroup(\"$comment\")).filter((e=>o(e,t))).map((t=>t.name));function o(t,e){const o=t.getRange().start;return(o.isAfter(e.start)||n&&o.isEqual(e.start))&&(o.isBefore(e.end)||n&&o.isEqual(e.end))}}}class kH extends Ak{toView(t){if(!t.match(/<(?:html|body|head|meta)(?:\\s[^>]*)?>/i)){return super.toView(t)}let e=\"\";let n=\"\";t=t.replace(/]*>/i,(t=>{e=t;return\"\"}));t=t.replace(/<\\?xml\\s[^?]*\\?>/i,(t=>{n=t;return\"\"}));const o=this._toDom(t);const i=this.domConverter.domToView(o,{skipComments:this.skipComments});const r=new uA(i.document);r.setCustomProperty(\"$fullPageDocument\",o.ownerDocument.documentElement.outerHTML,i);if(e){r.setCustomProperty(\"$fullPageDocType\",e,i)}if(n){r.setCustomProperty(\"$fullPageXmlDeclaration\",n,i)}return i}toData(t){let e=super.toData(t);const n=t.getCustomProperty(\"$fullPageDocument\");const o=t.getCustomProperty(\"$fullPageDocType\");const i=t.getCustomProperty(\"$fullPageXmlDeclaration\");if(n){e=n.replace(/<\\/body\\s*>/,e+\"$&\");if(o){e=o+\"\\n\"+e}if(i){e=i+\"\\n\"+e}}return e}}class wH extends Ed{static get pluginName(){return\"FullPage\"}init(){const t=this.editor;const e=[\"$fullPageDocument\",\"$fullPageDocType\",\"$fullPageXmlDeclaration\"];t.data.processor=new kH(t.data.viewDocument);t.model.schema.extend(\"$root\",{allowAttributes:e});t.data.on(\"toModel\",((n,[o])=>{const i=t.model.document.getRoot();t.model.change((t=>{for(const n of e){const e=o.getCustomProperty(n);if(e){t.setAttribute(n,e,i)}}}))}),{priority:\"low\"});t.data.on(\"toView\",((t,[n])=>{if(!n.is(\"rootElement\")){return}const o=n;const i=t.return;if(!o.hasAttribute(\"$fullPageDocument\")){return}const r=new uA(i.document);for(const t of e){const e=o.getAttribute(t);if(e){r.setCustomProperty(t,e,i)}}}),{priority:\"low\"});t.data.on(\"set\",(()=>{const n=t.model.document.getRoot();t.model.change((t=>{for(const o of e){if(n.hasAttribute(o)){t.removeAttribute(o,n)}}}))}),{priority:\"high\"});t.data.on(\"get\",((t,e)=>{if(!e[0]){e[0]={}}e[0].trim=false}),{priority:\"high\"})}}function AH(t){return t.createContainerElement(\"span\",{class:\"image-inline\"},t.createEmptyElement(\"img\"))}function _H(t){return t.createContainerElement(\"figure\",{class:\"image\"},[t.createEmptyElement(\"img\"),t.createSlot(\"children\")])}function CH(t,e){const n=t.plugins.get(\"ImageUtils\");const o=t.plugins.has(\"ImageInlineEditing\")&&t.plugins.has(\"ImageBlockEditing\");return t=>{if(!n.isInlineImageView(t)){return null}if(!o){return i(t)}const r=t.getStyle(\"display\")==\"block\"||t.findAncestor(n.isBlockImageView)?\"imageBlock\":\"imageInline\";if(r!==e){return null}return i(t)};function i(t){const e={name:true};if(t.hasAttribute(\"src\")){e.attributes=[\"src\"]}return e}}function vH(t,e){const n=sd(e.getSelectedBlocks());if(!n||t.isObject(n)){return\"imageBlock\"}if(n.isEmpty&&n.name!=\"listItem\"){return\"imageBlock\"}return\"imageInline\"}function yH(t){if(t&&t.endsWith(\"px\")){return parseInt(t)}return null}function xH(t){const e=yH(t.getStyle(\"width\"));const n=yH(t.getStyle(\"height\"));return!!(e&&n)}const EH=/^(image|image-inline)$/;class DH extends Ed{constructor(){super(...arguments);this._domEmitter=new(Ja())}static get pluginName(){return\"ImageUtils\"}isImage(t){return this.isInlineImage(t)||this.isBlockImage(t)}isInlineImageView(t){return!!t&&t.is(\"element\",\"img\")}isBlockImageView(t){return!!t&&t.is(\"element\",\"figure\")&&t.hasClass(\"image\")}insertImage(t={},e=null,n=null,o={}){const i=this.editor;const r=i.model;const s=r.document.selection;const a=BH(i,e||s,n);t={...Object.fromEntries(s.getAttributes()),...t};for(const e in t){if(!r.schema.checkAttribute(a,e)){delete t[e]}}return r.change((n=>{const{setImageSizes:i=true}=o;const s=n.createElement(a,t);r.insertObject(s,e,null,{setSelection:\"on\",findOptimalPosition:!e&&a!=\"imageInline\"?\"auto\":undefined});if(s.parent){if(i){this.setImageNaturalSizeAttributes(s)}return s}return null}))}setImageNaturalSizeAttributes(t){const e=t.getAttribute(\"src\");if(!e){return}if(t.getAttribute(\"width\")||t.getAttribute(\"height\")){return}this.editor.model.change((n=>{const o=new oc.window.Image;this._domEmitter.listenTo(o,\"load\",(()=>{if(!t.getAttribute(\"width\")&&!t.getAttribute(\"height\")){this.editor.model.enqueueChange(n.batch,(e=>{e.setAttribute(\"width\",o.naturalWidth,t);e.setAttribute(\"height\",o.naturalHeight,t)}))}this._domEmitter.stopListening(o,\"load\")}));o.src=e}))}getClosestSelectedImageWidget(t){const e=t.getFirstPosition();if(!e){return null}const n=t.getSelectedElement();if(n&&this.isImageWidget(n)){return n}let o=e.parent;while(o){if(o.is(\"element\")&&this.isImageWidget(o)){return o}o=o.parent}return null}getClosestSelectedImageElement(t){const e=t.getSelectedElement();return this.isImage(e)?e:t.getFirstPosition().findAncestor(\"imageBlock\")}getImageWidgetFromImageView(t){return t.findAncestor({classes:EH})}isImageAllowed(){const t=this.editor.model;const e=t.document.selection;return IH(this.editor,e)&&TH(e)}toImageWidget(t,e,n){e.setCustomProperty(\"image\",true,t);const o=()=>{const e=this.findViewImgElement(t);const o=e.getAttribute(\"alt\");return o?`${o} ${n}`:n};return xz(t,e,{label:o})}isImageWidget(t){return!!t.getCustomProperty(\"image\")&&yz(t)}isBlockImage(t){return!!t&&t.is(\"element\",\"imageBlock\")}isInlineImage(t){return!!t&&t.is(\"element\",\"imageInline\")}findViewImgElement(t){if(this.isInlineImageView(t)){return t}const e=this.editor.editing.view;for(const{item:n}of e.createRangeIn(t)){if(this.isInlineImageView(n)){return n}}}destroy(){this._domEmitter.stopListening();return super.destroy()}}function IH(t,e){const n=BH(t,e,null);if(n==\"imageBlock\"){const n=SH(e,t.model);if(t.model.schema.checkChild(n,\"imageBlock\")){return true}}else if(t.model.schema.checkChild(e.focus,\"imageInline\")){return true}return false}function TH(t){return[...t.focus.getAncestors()].every((t=>!t.is(\"element\",\"imageBlock\")))}function SH(t,e){const n=Mz(t,e);const o=n.start.parent;if(o.isEmpty&&!o.is(\"element\",\"$root\")){return o.parent}return o}function BH(t,e,n){const o=t.model.schema;const i=t.config.get(\"image.insert.type\");if(!t.plugins.has(\"ImageBlockEditing\")){return\"imageInline\"}if(!t.plugins.has(\"ImageInlineEditing\")){return\"imageBlock\"}if(n){return n}if(i===\"inline\"){return\"imageInline\"}if(i!==\"auto\"){return\"imageBlock\"}if(e.is(\"selection\")){return vH(o,e)}return o.checkChild(e,\"imageInline\")?\"imageInline\":\"imageBlock\"}const MH=new RegExp(String(/^(http(s)?:\\/\\/)?[\\w-]+\\.[\\w.~:/[\\]@!$&'()*+,;=%-]+/.source+/\\.(jpg|jpeg|png|gif|ico|webp|JPG|JPEG|PNG|GIF|ICO|WEBP)/.source+/(\\?[\\w.~:/[\\]@!$&'()*+,;=%-]*)?/.source+/(#[\\w.~:/[\\]@!$&'()*+,;=%-]*)?$/.source));class PH extends Ed{static get requires(){return[nR,DH,bR,RB]}static get pluginName(){return\"AutoImage\"}constructor(t){super(t);this._timeoutId=null;this._positionToInsert=null}init(){const t=this.editor;const e=t.model.document;const n=t.plugins.get(\"ClipboardPipeline\");this.listenTo(n,\"inputTransformation\",(()=>{const t=e.selection.getFirstRange();const n=cw.fromPosition(t.start);n.stickiness=\"toPrevious\";const o=cw.fromPosition(t.end);o.stickiness=\"toNext\";e.once(\"change:data\",(()=>{this._embedImageBetweenPositions(n,o);n.detach();o.detach()}),{priority:\"high\"})}));t.commands.get(\"undo\").on(\"execute\",(()=>{if(this._timeoutId){oc.window.clearTimeout(this._timeoutId);this._positionToInsert.detach();this._timeoutId=null;this._positionToInsert=null}}),{priority:\"high\"})}_embedImageBetweenPositions(t,e){const n=this.editor;const o=new mp(t,e);const i=o.getWalker({ignoreElementEnd:true});const r=Object.fromEntries(n.model.document.selection.getAttributes());const s=this.editor.plugins.get(\"ImageUtils\");let a=\"\";for(const t of i){if(t.item.is(\"$textProxy\")){a+=t.item.data}}a=a.trim();if(!a.match(MH)){o.detach();return}this._positionToInsert=cw.fromPosition(t);this._timeoutId=setTimeout((()=>{const t=n.commands.get(\"insertImage\");if(!t.isEnabled){o.detach();return}n.model.change((t=>{this._timeoutId=null;t.remove(o);o.detach();let e;if(this._positionToInsert.root.rootName!==\"$graveyard\"){e=this._positionToInsert.toPosition()}s.insertImage({...r,src:a},e);this._positionToInsert.detach();this._positionToInsert=null}));const e=n.plugins.get(\"Delete\");e.requestUndoOnBackspace()}),100)}}class NH extends Id{refresh(){const t=this.editor;const e=t.plugins.get(\"ImageUtils\");const n=e.getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n;if(this.isEnabled&&n.hasAttribute(\"alt\")){this.value=n.getAttribute(\"alt\")}else{this.value=false}}execute(t){const e=this.editor;const n=e.plugins.get(\"ImageUtils\");const o=e.model;const i=n.getClosestSelectedImageElement(o.document.selection);o.change((e=>{e.setAttribute(\"alt\",t.newValue,i)}))}}class LH extends Ed{static get requires(){return[DH]}static get pluginName(){return\"ImageTextAlternativeEditing\"}init(){this.editor.commands.add(\"imageTextAlternative\",new NH(this.editor))}}var zH=n(8748);var OH={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};OH.insert=\"head\";OH.singleton=true;var RH=Ld()(zH.A,OH);const VH=zH.A.locals||{};var FH=n(7072);var jH={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};jH.insert=\"head\";jH.singleton=true;var HH=Ld()(FH.A,jH);const UH=FH.A.locals||{};class WH extends ov{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new ad;this.keystrokes=new cd;this.labeledInput=this._createLabeledInputView();this.saveButtonView=this._createButton(e(\"Save\"),CC.check,\"ck-button-save\");this.saveButtonView.type=\"submit\";this.cancelButtonView=this._createButton(e(\"Cancel\"),CC.cancel,\"ck-button-cancel\",\"cancel\");this._focusables=new vC;this._focusCycler=new Fy({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this.setTemplate({tag:\"form\",attributes:{class:[\"ck\",\"ck-text-alternative-form\",\"ck-responsive-form\"],tabindex:\"-1\"},children:[this.labeledInput,this.saveButtonView,this.cancelButtonView]})}render(){super.render();this.keystrokes.listenTo(this.element);i({view:this});[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}))}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}_createButton(t,e,n,o){const i=new Sv(this.locale);i.set({label:t,icon:e,tooltip:true});i.extendTemplate({attributes:{class:n}});if(o){i.delegate(\"execute\").to(this,o)}return i}_createLabeledInputView(){const t=this.locale.t;const e=new py(this.locale,Vx);e.label=t(\"Text alternative\");return e}}function qH(t){const e=t.plugins.get(\"ContextualBalloon\");const n=t.plugins.get(\"ImageUtils\");if(n.getClosestSelectedImageWidget(t.editing.view.document.selection)){const n=GH(t);e.updatePosition(n)}}function GH(t){const e=t.editing.view;const n=UD.defaultPositions;const o=t.plugins.get(\"ImageUtils\");return{target:e.domConverter.mapViewToDom(o.getClosestSelectedImageWidget(e.document.selection)),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast,n.viewportStickyNorth]}}class $H extends Ed{static get requires(){return[KI]}static get pluginName(){return\"ImageTextAlternativeUI\"}init(){this._createButton()}destroy(){super.destroy();if(this._form){this._form.destroy()}}_createButton(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(\"imageTextAlternative\",(n=>{const o=t.commands.get(\"imageTextAlternative\");const i=new Sv(n);i.set({label:e(\"Change image text alternative\"),icon:CC.textAlternative,tooltip:true});i.bind(\"isEnabled\").to(o,\"isEnabled\");i.bind(\"isOn\").to(o,\"value\",(t=>!!t));this.listenTo(i,\"execute\",(()=>{this._showForm()}));return i}))}_createForm(){const n=this.editor;const o=n.editing.view;const i=o.document;const r=n.plugins.get(\"ImageUtils\");this._balloon=this.editor.plugins.get(\"ContextualBalloon\");this._form=new(e(WH))(n.locale);this._form.render();this.listenTo(this._form,\"submit\",(()=>{n.execute(\"imageTextAlternative\",{newValue:this._form.labeledInput.fieldView.element.value});this._hideForm(true)}));this.listenTo(this._form,\"cancel\",(()=>{this._hideForm(true)}));this._form.keystrokes.set(\"Esc\",((t,e)=>{this._hideForm(true);e()}));this.listenTo(n.ui,\"update\",(()=>{if(!r.getClosestSelectedImageWidget(i.selection)){this._hideForm(true)}else if(this._isVisible){qH(n)}}));t({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible){return}if(!this._form){this._createForm()}const t=this.editor;const e=t.commands.get(\"imageTextAlternative\");const n=this._form.labeledInput;this._form.disableCssTransitions();if(!this._isInBalloon){this._balloon.add({view:this._form,position:GH(t)})}n.fieldView.value=n.fieldView.element.value=e.value||\"\";this._form.labeledInput.fieldView.select();this._form.enableCssTransitions()}_hideForm(t=false){if(!this._isInBalloon){return}if(this._form.focusTracker.isFocused){this._form.saveButtonView.focus()}this._balloon.remove(this._form);if(t){this.editor.editing.view.focus()}}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class KH extends Ed{static get requires(){return[LH,$H]}static get pluginName(){return\"ImageTextAlternative\"}}function YH(t){const e=(e,n,o)=>{if(!o.consumable.test(n.viewItem,{name:true,classes:\"image\"})){return}const i=t.findViewImgElement(n.viewItem);if(!i||!o.consumable.test(i,{name:true})){return}o.consumable.consume(n.viewItem,{name:true,classes:\"image\"});const r=o.convertItem(i,n.modelCursor);const s=sd(r.modelRange.getItems());if(!s){o.consumable.revert(n.viewItem,{name:true,classes:\"image\"});return}o.convertChildren(n.viewItem,s);o.updateConversionResult(s,n)};return t=>{t.on(\"element:figure\",e)}}function QH(t){const e=[\"srcset\",\"media\",\"type\",\"sizes\"];const n=(n,o,i)=>{const r=o.viewItem;if(!i.consumable.test(r,{name:true})){return}const s=new Map;for(const t of r.getChildren()){if(t.is(\"element\",\"source\")){const n={};for(const o of e){if(t.hasAttribute(o)){if(i.consumable.test(t,{attributes:o})){n[o]=t.getAttribute(o)}}}if(Object.keys(n).length){s.set(t,n)}}}const a=t.findViewImgElement(r);if(!a){return}let c=o.modelCursor.parent;if(!c.is(\"element\",\"imageBlock\")){const t=i.convertItem(a,o.modelCursor);o.modelRange=t.modelRange;o.modelCursor=t.modelCursor;c=sd(t.modelRange.getItems())}i.consumable.consume(r,{name:true});for(const[t,e]of s){i.consumable.consume(t,{attributes:Object.keys(e)})}if(s.size){i.writer.setAttribute(\"sources\",Array.from(s.values()),c)}i.convertChildren(r,c)};return t=>{t.on(\"element:picture\",n)}}function ZH(t,e){const n=(e,n,o)=>{if(!o.consumable.consume(n.item,e.name)){return}const i=o.writer;const r=o.mapper.toViewElement(n.item);const s=t.findViewImgElement(r);if(n.attributeNewValue===null){i.removeAttribute(\"srcset\",s);i.removeAttribute(\"sizes\",s)}else{if(n.attributeNewValue){i.setAttribute(\"srcset\",n.attributeNewValue,s);i.setAttribute(\"sizes\",\"100vw\",s)}}};return t=>{t.on(`attribute:srcset:${e}`,n)}}function JH(t){const e=(e,n,o)=>{if(!o.consumable.consume(n.item,e.name)){return}const i=o.writer;const r=o.mapper.toViewElement(n.item);const s=t.findViewImgElement(r);const a=n.attributeNewValue;if(a&&a.length){const t=i.createContainerElement(\"picture\",null,a.map((t=>i.createEmptyElement(\"source\",t))));const e=[];let n=s.parent;while(n&&n.is(\"attributeElement\")){const t=n.parent;i.unwrap(i.createRangeOn(s),n);e.unshift(n);n=t}i.insert(i.createPositionBefore(s),t);i.move(i.createRangeOn(s),i.createPositionAt(t,\"end\"));for(const n of e){i.wrap(i.createRangeOn(t),n)}}else if(s.parent.is(\"element\",\"picture\")){const t=s.parent;i.move(i.createRangeOn(s),i.createPositionBefore(t));i.remove(t)}};return t=>{t.on(\"attribute:sources:imageBlock\",e);t.on(\"attribute:sources:imageInline\",e)}}function XH(t,e,n){const o=(e,n,o)=>{if(!o.consumable.consume(n.item,e.name)){return}const i=o.writer;const r=o.mapper.toViewElement(n.item);const s=t.findViewImgElement(r);i.setAttribute(n.attributeKey,n.attributeNewValue||\"\",s)};return t=>{t.on(`attribute:${n}:${e}`,o)}}class tU extends $m{observe(t){this.listenTo(t,\"load\",((t,e)=>{const n=e.target;if(this.checkShouldIgnoreEventFromTarget(n)){return}if(n.tagName==\"IMG\"){this._fireEvents(e)}}),{useCapture:true})}stopObserving(t){this.stopListening(t)}_fireEvents(t){if(this.isEnabled){this.document.fire(\"layoutChanged\");this.document.fire(\"imageLoaded\",t)}}}class eU extends Id{constructor(t){super(t);const e=t.config.get(\"image.insert.type\");if(!t.plugins.has(\"ImageBlockEditing\")){if(e===\"block\"){L(\"image-block-plugin-required\")}}if(!t.plugins.has(\"ImageInlineEditing\")){if(e===\"inline\"){L(\"image-inline-plugin-required\")}}}refresh(){const t=this.editor.plugins.get(\"ImageUtils\");this.isEnabled=t.isImageAllowed()}execute(t){const e=sl(t.source);const n=this.editor.model.document.selection;const o=this.editor.plugins.get(\"ImageUtils\");const i=Object.fromEntries(n.getAttributes());e.forEach(((t,e)=>{const r=n.getSelectedElement();if(typeof t===\"string\"){t={src:t}}if(e&&r&&o.isImage(r)){const e=this.editor.model.createPositionAfter(r);o.insertImage({...t,...i},e)}else{o.insertImage({...t,...i})}}))}}class nU extends Id{constructor(t){super(t);this.decorate(\"cleanupImage\")}refresh(){const t=this.editor;const e=t.plugins.get(\"ImageUtils\");const n=this.editor.model.document.selection.getSelectedElement();this.isEnabled=e.isImage(n);this.value=this.isEnabled?n.getAttribute(\"src\"):null}execute(t){const e=this.editor.model.document.selection.getSelectedElement();const n=this.editor.plugins.get(\"ImageUtils\");this.editor.model.change((o=>{o.setAttribute(\"src\",t.source,e);this.cleanupImage(o,e);n.setImageNaturalSizeAttributes(e)}))}cleanupImage(t,e){t.removeAttribute(\"srcset\",e);t.removeAttribute(\"sizes\",e);t.removeAttribute(\"sources\",e);t.removeAttribute(\"width\",e);t.removeAttribute(\"height\",e);t.removeAttribute(\"alt\",e)}}class oU extends Ed{static get requires(){return[DH]}static get pluginName(){return\"ImageEditing\"}init(){const t=this.editor;const e=t.conversion;t.editing.view.addObserver(tU);e.for(\"upcast\").attributeToAttribute({view:{name:\"img\",key:\"alt\"},model:\"alt\"}).attributeToAttribute({view:{name:\"img\",key:\"srcset\"},model:\"srcset\"});const n=new eU(t);const o=new nU(t);t.commands.add(\"insertImage\",n);t.commands.add(\"replaceImageSource\",o);t.commands.add(\"imageInsert\",n)}}class iU extends Ed{static get requires(){return[DH]}static get pluginName(){return\"ImageSizeAttributes\"}afterInit(){this._registerSchema();this._registerConverters(\"imageBlock\");this._registerConverters(\"imageInline\")}_registerSchema(){if(this.editor.plugins.has(\"ImageBlockEditing\")){this.editor.model.schema.extend(\"imageBlock\",{allowAttributes:[\"width\",\"height\"]})}if(this.editor.plugins.has(\"ImageInlineEditing\")){this.editor.model.schema.extend(\"imageInline\",{allowAttributes:[\"width\",\"height\"]})}}_registerConverters(t){const e=this.editor;const n=e.plugins.get(\"ImageUtils\");const o=t===\"imageBlock\"?\"figure\":\"img\";e.conversion.for(\"upcast\").attributeToAttribute({view:{name:o,styles:{width:/.+/}},model:{key:\"width\",value:t=>{if(xH(t)){return yH(t.getStyle(\"width\"))}return null}}}).attributeToAttribute({view:{name:o,key:\"width\"},model:\"width\"}).attributeToAttribute({view:{name:o,styles:{height:/.+/}},model:{key:\"height\",value:t=>{if(xH(t)){return yH(t.getStyle(\"height\"))}return null}}}).attributeToAttribute({view:{name:o,key:\"height\"},model:\"height\"});e.conversion.for(\"editingDowncast\").add((t=>{i(t,\"width\",\"width\",true);i(t,\"height\",\"height\",true)}));e.conversion.for(\"dataDowncast\").add((t=>{i(t,\"width\",\"width\",false);i(t,\"height\",\"height\",false)}));function i(e,o,i,r){e.on(`attribute:${o}:${t}`,((e,o,s)=>{if(!s.consumable.consume(o.item,e.name)){return}const a=s.writer;const c=s.mapper.toViewElement(o.item);const l=n.findViewImgElement(c);if(o.attributeNewValue!==null){a.setAttribute(i,o.attributeNewValue,l)}else{a.removeAttribute(i,l)}if(o.item.hasAttribute(\"sources\")){return}const d=o.item.hasAttribute(\"resizedWidth\");if(t===\"imageInline\"&&!d&&!r){return}const u=o.item.getAttribute(\"width\");const h=o.item.getAttribute(\"height\");if(u&&h){a.setStyle(\"aspect-ratio\",`${u}/${h}`,l)}}))}}}class rU extends Id{constructor(t,e){super(t);this._modelElementName=e}refresh(){const t=this.editor;const e=t.plugins.get(\"ImageUtils\");const n=e.getClosestSelectedImageElement(this.editor.model.document.selection);if(this._modelElementName===\"imageBlock\"){this.isEnabled=e.isInlineImage(n)}else{this.isEnabled=e.isBlockImage(n)}}execute(t={}){const e=this.editor;const n=this.editor.model;const o=e.plugins.get(\"ImageUtils\");const i=o.getClosestSelectedImageElement(n.document.selection);const r=Object.fromEntries(i.getAttributes());if(!r.src&&!r.uploadId){return null}return n.change((e=>{const{setImageSizes:s=true}=t;const a=Array.from(n.markers).filter((t=>t.getRange().containsItem(i)));const c=o.insertImage(r,n.createSelection(i,\"on\"),this._modelElementName,{setImageSizes:s});if(!c){return null}const l=e.createRangeOn(c);for(const t of a){const n=t.getRange();const o=n.root.rootName!=\"$graveyard\"?n.getJoined(l,true):l;e.updateMarker(t,{range:o})}return{oldElement:i,newElement:c}}))}}var sU=n(8588);var aU={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};aU.insert=\"head\";aU.singleton=true;var cU=Ld()(sU.A,aU);const lU=sU.A.locals||{};class dU extends Ed{static get requires(){return[DH]}static get pluginName(){return\"ImagePlaceholder\"}afterInit(){this._setupSchema();this._setupConversion();this._setupLoadListener()}_setupSchema(){const t=this.editor.model.schema;if(t.isRegistered(\"imageBlock\")){t.extend(\"imageBlock\",{allowAttributes:[\"placeholder\"]})}if(t.isRegistered(\"imageInline\")){t.extend(\"imageInline\",{allowAttributes:[\"placeholder\"]})}}_setupConversion(){const t=this.editor;const e=t.conversion;const n=t.plugins.get(\"ImageUtils\");e.for(\"editingDowncast\").add((t=>{t.on(\"attribute:placeholder\",((t,e,o)=>{if(!o.consumable.test(e.item,t.name)){return}if(!e.item.is(\"element\",\"imageBlock\")&&!e.item.is(\"element\",\"imageInline\")){return}o.consumable.consume(e.item,t.name);const i=o.writer;const r=o.mapper.toViewElement(e.item);const s=n.findViewImgElement(r);if(e.attributeNewValue){i.addClass(\"image_placeholder\",s);i.setStyle(\"background-image\",`url(${e.attributeNewValue})`,s);i.setCustomProperty(\"editingPipeline:doNotReuseOnce\",true,s)}else{i.removeClass(\"image_placeholder\",s);i.removeStyle(\"background-image\",s)}}))}))}_setupLoadListener(){const t=this.editor;const e=t.model;const n=t.editing;const o=n.view;const i=t.plugins.get(\"ImageUtils\");o.addObserver(tU);this.listenTo(o.document,\"imageLoaded\",((t,r)=>{const s=o.domConverter.mapDomToView(r.target);if(!s){return}const a=i.getImageWidgetFromImageView(s);if(!a){return}const c=n.mapper.toModelElement(a);if(!c||!c.hasAttribute(\"placeholder\")){return}e.enqueueChange({isUndoable:false},(t=>{t.removeAttribute(\"placeholder\",c)}))}))}}class uU extends Ed{static get requires(){return[oU,iU,DH,dU,pz]}static get pluginName(){return\"ImageBlockEditing\"}init(){const t=this.editor;const e=t.model.schema;e.register(\"imageBlock\",{inheritAllFrom:\"$blockObject\",allowAttributes:[\"alt\",\"src\",\"srcset\"]});this._setupConversion();if(t.plugins.has(\"ImageInlineEditing\")){t.commands.add(\"imageTypeBlock\",new rU(this.editor,\"imageBlock\"));this._setupClipboardIntegration()}}_setupConversion(){const t=this.editor;const e=t.t;const n=t.conversion;const o=t.plugins.get(\"ImageUtils\");n.for(\"dataDowncast\").elementToStructure({model:\"imageBlock\",view:(t,{writer:e})=>_H(e)});n.for(\"editingDowncast\").elementToStructure({model:\"imageBlock\",view:(t,{writer:n})=>o.toImageWidget(_H(n),n,e(\"image widget\"))});n.for(\"downcast\").add(XH(o,\"imageBlock\",\"src\")).add(XH(o,\"imageBlock\",\"alt\")).add(ZH(o,\"imageBlock\"));n.for(\"upcast\").elementToElement({view:CH(t,\"imageBlock\"),model:(t,{writer:e})=>e.createElement(\"imageBlock\",t.hasAttribute(\"src\")?{src:t.getAttribute(\"src\")}:undefined)}).add(YH(o))}_setupClipboardIntegration(){const t=this.editor;const e=t.model;const n=t.editing.view;const o=t.plugins.get(\"ImageUtils\");const i=t.plugins.get(\"ClipboardPipeline\");this.listenTo(i,\"inputTransformation\",((i,r)=>{const s=Array.from(r.content.getChildren());let a;if(!s.every(o.isInlineImageView)){return}if(r.targetRanges){a=t.editing.mapper.toModelRange(r.targetRanges[0])}else{a=e.document.selection.getFirstRange()}const c=e.createSelection(a);if(vH(e.schema,c)===\"imageBlock\"){const t=new uA(n.document);const e=s.map((e=>t.createElement(\"figure\",{class:\"image\"},e)));r.content=t.createDocumentFragment(e)}}));this.listenTo(i,\"contentInsertion\",((t,n)=>{if(n.method!==\"paste\"){return}e.change((t=>{const e=t.createRangeIn(n.content);for(const t of e.getItems()){if(t.is(\"element\",\"imageBlock\")){o.setImageNaturalSizeAttributes(t)}}}))}))}}var hU=n(5420);var mU={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};mU.insert=\"head\";mU.singleton=true;var gU=Ld()(hU.A,mU);const fU=hU.A.locals||{};class pU extends ov{constructor(t,e=[]){super(t);this.focusTracker=new ad;this.keystrokes=new cd;this._focusables=new vC;this.children=this.createCollection();this._focusCycler=new Fy({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});for(const t of e){this.children.add(t);this._focusables.add(t);if(t instanceof Uv){this._focusables.addMany(t.children)}}if(this._focusables.length>1){for(const t of this._focusables){if(bU(t)){t.focusCycler.on(\"forwardCycle\",(t=>{this._focusCycler.focusNext();t.stop()}));t.focusCycler.on(\"backwardCycle\",(t=>{this._focusCycler.focusPrevious();t.stop()}))}}}this.setTemplate({tag:\"form\",attributes:{class:[\"ck\",\"ck-image-insert-form\"],tabindex:-1},children:this.children})}render(){super.render();i({view:this});for(const t of this._focusables){this.focusTracker.add(t.element)}this.keystrokes.listenTo(this.element);const t=t=>t.stopPropagation();this.keystrokes.set(\"arrowright\",t);this.keystrokes.set(\"arrowleft\",t);this.keystrokes.set(\"arrowup\",t);this.keystrokes.set(\"arrowdown\",t)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}}function bU(t){return\"focusCycler\"in t}class kU extends Ed{static get pluginName(){return\"ImageInsertUI\"}static get requires(){return[DH]}constructor(t){super(t);this._integrations=new Map;t.config.define(\"image.insert.integrations\",[\"upload\",\"assetManager\",\"url\"])}init(){const t=this.editor;const e=t.model.document.selection;const n=t.plugins.get(\"ImageUtils\");this.set(\"isImageSelected\",false);this.listenTo(t.model.document,\"change\",(()=>{this.isImageSelected=n.isImage(e.getSelectedElement())}));const o=t=>this._createToolbarComponent(t);t.ui.componentFactory.add(\"insertImage\",o);t.ui.componentFactory.add(\"imageInsert\",o)}registerIntegration({name:t,observable:e,buttonViewCreator:n,formViewCreator:o,requiresForm:i}){if(this._integrations.has(t)){L(\"image-insert-integration-exists\",{name:t})}this._integrations.set(t,{observable:e,buttonViewCreator:n,formViewCreator:o,requiresForm:!!i})}_createToolbarComponent(t){const e=this.editor;const n=t.t;const o=this._prepareIntegrations();if(!o.length){return null}let i;const r=o[0];if(o.length==1){if(!r.requiresForm){return r.buttonViewCreator(true)}i=r.buttonViewCreator(true)}else{const e=r.buttonViewCreator(false);i=new px(t,e);i.tooltip=true;i.bind(\"label\").to(this,\"isImageSelected\",(t=>t?n(\"Replace image\"):n(\"Insert image\")))}const s=this.dropdownView=xx(t,i);const a=o.map((({observable:t})=>typeof t==\"function\"?t():t));s.bind(\"isEnabled\").toMany(a,\"isEnabled\",((...t)=>t.some((t=>t))));s.once(\"change:isOpen\",(()=>{const t=o.map((({formViewCreator:t})=>t(o.length==1)));const n=new pU(e.locale,t);s.panelView.children.add(n)}));return s}_prepareIntegrations(){const t=this.editor;const e=t.config.get(\"image.insert.integrations\");const n=[];if(!e.length){L(\"image-insert-integrations-not-specified\");return n}for(const t of e){if(!this._integrations.has(t)){if(![\"upload\",\"assetManager\",\"url\"].includes(t)){L(\"image-insert-unknown-integration\",{item:t})}continue}n.push(this._integrations.get(t))}if(!n.length){L(\"image-insert-integrations-not-registered\")}return n}}var wU=n(2051);var AU={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};AU.insert=\"head\";AU.singleton=true;var _U=Ld()(wU.A,AU);const CU=wU.A.locals||{};class vU extends Ed{static get requires(){return[uU,uO,KH,kU]}static get pluginName(){return\"ImageBlock\"}}class yU extends Ed{static get requires(){return[oU,iU,DH,dU,pz]}static get pluginName(){return\"ImageInlineEditing\"}init(){const t=this.editor;const e=t.model.schema;e.register(\"imageInline\",{inheritAllFrom:\"$inlineObject\",allowAttributes:[\"alt\",\"src\",\"srcset\"]});e.addChildCheck(((t,e)=>{if(t.endsWith(\"caption\")&&e.name===\"imageInline\"){return false}}));this._setupConversion();if(t.plugins.has(\"ImageBlockEditing\")){t.commands.add(\"imageTypeInline\",new rU(this.editor,\"imageInline\"));this._setupClipboardIntegration()}}_setupConversion(){const t=this.editor;const e=t.t;const n=t.conversion;const o=t.plugins.get(\"ImageUtils\");n.for(\"dataDowncast\").elementToElement({model:\"imageInline\",view:(t,{writer:e})=>e.createEmptyElement(\"img\")});n.for(\"editingDowncast\").elementToStructure({model:\"imageInline\",view:(t,{writer:n})=>o.toImageWidget(AH(n),n,e(\"image widget\"))});n.for(\"downcast\").add(XH(o,\"imageInline\",\"src\")).add(XH(o,\"imageInline\",\"alt\")).add(ZH(o,\"imageInline\"));n.for(\"upcast\").elementToElement({view:CH(t,\"imageInline\"),model:(t,{writer:e})=>e.createElement(\"imageInline\",t.hasAttribute(\"src\")?{src:t.getAttribute(\"src\")}:undefined)})}_setupClipboardIntegration(){const t=this.editor;const e=t.model;const n=t.editing.view;const o=t.plugins.get(\"ImageUtils\");const i=t.plugins.get(\"ClipboardPipeline\");this.listenTo(i,\"inputTransformation\",((i,r)=>{const s=Array.from(r.content.getChildren());let a;if(!s.every(o.isBlockImageView)){return}if(r.targetRanges){a=t.editing.mapper.toModelRange(r.targetRanges[0])}else{a=e.document.selection.getFirstRange()}const c=e.createSelection(a);if(vH(e.schema,c)===\"imageInline\"){const t=new uA(n.document);const e=s.map((e=>{if(e.childCount===1){Array.from(e.getAttributes()).forEach((n=>t.setAttribute(...n,o.findViewImgElement(e))));return e.getChild(0)}else{return e}}));r.content=t.createDocumentFragment(e)}}));this.listenTo(i,\"contentInsertion\",((t,n)=>{if(n.method!==\"paste\"){return}e.change((t=>{const e=t.createRangeIn(n.content);for(const t of e.getItems()){if(t.is(\"element\",\"imageInline\")){o.setImageNaturalSizeAttributes(t)}}}))}))}}class xU extends Ed{static get requires(){return[yU,uO,KH,kU]}static get pluginName(){return\"ImageInline\"}}class EU extends Ed{static get requires(){return[vU,xU]}static get pluginName(){return\"Image\"}}class DU extends Ed{static get pluginName(){return\"ImageCaptionUtils\"}static get requires(){return[DH]}getCaptionFromImageModelElement(t){for(const e of t.getChildren()){if(!!e&&e.is(\"element\",\"caption\")){return e}}return null}getCaptionFromModelSelection(t){const e=this.editor.plugins.get(\"ImageUtils\");const n=t.getFirstPosition().findAncestor(\"caption\");if(!n){return null}if(e.isBlockImage(n.parent)){return n}return null}matchImageCaptionViewElement(t){const e=this.editor.plugins.get(\"ImageUtils\");if(t.name==\"figcaption\"&&e.isBlockImageView(t.parent)){return{name:true}}return null}}class IU extends Id{refresh(){const t=this.editor;const e=t.plugins.get(\"ImageCaptionUtils\");const n=t.plugins.get(\"ImageUtils\");if(!t.plugins.has(uU)){this.isEnabled=false;this.value=false;return}const o=t.model.document.selection;const i=o.getSelectedElement();if(!i){const t=e.getCaptionFromModelSelection(o);this.isEnabled=!!t;this.value=!!t;return}this.isEnabled=n.isImage(i);if(!this.isEnabled){this.value=false}else{this.value=!!e.getCaptionFromImageModelElement(i)}}execute(t={}){const{focusCaptionOnShow:e}=t;this.editor.model.change((t=>{if(this.value){this._hideImageCaption(t)}else{this._showImageCaption(t,e)}}))}_showImageCaption(t,e){const n=this.editor.model;const o=n.document.selection;const i=this.editor.plugins.get(\"ImageCaptionEditing\");const r=this.editor.plugins.get(\"ImageUtils\");let s=o.getSelectedElement();const a=i._getSavedCaption(s);if(r.isInlineImage(s)){this.editor.execute(\"imageTypeBlock\");s=o.getSelectedElement()}const c=a||t.createElement(\"caption\");t.append(c,s);if(e){t.setSelection(c,\"in\")}}_hideImageCaption(t){const e=this.editor;const n=e.model.document.selection;const o=e.plugins.get(\"ImageCaptionEditing\");const i=e.plugins.get(\"ImageCaptionUtils\");let r=n.getSelectedElement();let s;if(r){s=i.getCaptionFromImageModelElement(r)}else{s=i.getCaptionFromModelSelection(n);r=s.parent}o._saveCaption(r,s);t.setSelection(r,\"on\");t.remove(s)}}class TU extends Ed{static get requires(){return[DH,DU]}static get pluginName(){return\"ImageCaptionEditing\"}constructor(t){super(t);this._savedCaptionsMap=new WeakMap}init(){const t=this.editor;const e=t.model.schema;if(!e.isRegistered(\"caption\")){e.register(\"caption\",{allowIn:\"imageBlock\",allowContentOf:\"$block\",isLimit:true})}else{e.extend(\"caption\",{allowIn:\"imageBlock\"})}t.commands.add(\"toggleImageCaption\",new IU(this.editor));this._setupConversion();this._setupImageTypeCommandsIntegration();this._registerCaptionReconversion()}_setupConversion(){const t=this.editor;const e=t.editing.view;const n=t.plugins.get(\"ImageUtils\");const o=t.plugins.get(\"ImageCaptionUtils\");const i=t.t;t.conversion.for(\"upcast\").elementToElement({view:t=>o.matchImageCaptionViewElement(t),model:\"caption\"});t.conversion.for(\"dataDowncast\").elementToElement({model:\"caption\",view:(t,{writer:e})=>{if(!n.isBlockImage(t.parent)){return null}return e.createContainerElement(\"figcaption\")}});t.conversion.for(\"editingDowncast\").elementToElement({model:\"caption\",view:(t,{writer:o})=>{if(!n.isBlockImage(t.parent)){return null}const r=o.createEditableElement(\"figcaption\");o.setCustomProperty(\"imageCaption\",true,r);r.placeholder=i(\"Enter image caption\");Hd({view:e,element:r,keepOnFocus:true});const s=t.parent.getAttribute(\"alt\");const a=s?i(\"Caption for image: %0\",[s]):i(\"Caption for the image\");return Bz(r,o,{label:a})}})}_setupImageTypeCommandsIntegration(){const t=this.editor;const e=t.plugins.get(\"ImageUtils\");const n=t.plugins.get(\"ImageCaptionUtils\");const o=t.commands.get(\"imageTypeInline\");const i=t.commands.get(\"imageTypeBlock\");const r=t=>{if(!t.return){return}const{oldElement:o,newElement:i}=t.return;if(!o){return}if(e.isBlockImage(o)){const t=n.getCaptionFromImageModelElement(o);if(t){this._saveCaption(i,t);return}}const r=this._getSavedCaption(o);if(r){this._saveCaption(i,r)}};if(o){this.listenTo(o,\"execute\",r,{priority:\"low\"})}if(i){this.listenTo(i,\"execute\",r,{priority:\"low\"})}}_getSavedCaption(t){const e=this._savedCaptionsMap.get(t);return e?Ff.fromJSON(e):null}_saveCaption(t,e){this._savedCaptionsMap.set(t,e.toJSON())}_registerCaptionReconversion(){const t=this.editor;const e=t.model;const n=t.plugins.get(\"ImageUtils\");const o=t.plugins.get(\"ImageCaptionUtils\");e.document.on(\"change:data\",(()=>{const i=e.document.differ.getChanges();for(const e of i){if(e.attributeKey!==\"alt\"){continue}const i=e.range.start.nodeAfter;if(n.isBlockImage(i)){const e=o.getCaptionFromImageModelElement(i);if(!e){return}t.editing.reconvertItem(e)}}}))}}class SU extends Ed{static get requires(){return[DU]}static get pluginName(){return\"ImageCaptionUI\"}init(){const t=this.editor;const e=t.editing.view;const n=t.plugins.get(\"ImageCaptionUtils\");const o=t.t;t.ui.componentFactory.add(\"toggleImageCaption\",(i=>{const r=t.commands.get(\"toggleImageCaption\");const s=new Sv(i);s.set({icon:CC.caption,tooltip:true,isToggleable:true});s.bind(\"isOn\",\"isEnabled\").to(r,\"value\",\"isEnabled\");s.bind(\"label\").to(r,\"value\",(t=>t?o(\"Toggle caption off\"):o(\"Toggle caption on\")));this.listenTo(s,\"execute\",(()=>{t.execute(\"toggleImageCaption\",{focusCaptionOnShow:true});const o=n.getCaptionFromModelSelection(t.model.document.selection);if(o){const n=t.editing.mapper.toViewElement(o);e.scrollToTheSelection();e.change((t=>{t.addClass(\"image__caption_highlighted\",n)}))}t.editing.view.focus()}));return s}))}}var BU=n(7369);var MU={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};MU.insert=\"head\";MU.singleton=true;var PU=Ld()(BU.A,MU);const NU=BU.A.locals||{};class LU extends Ed{static get requires(){return[TU,SU]}static get pluginName(){return\"ImageCaption\"}}function zU(t){const e=t.map((t=>t.replace(\"+\",\"\\\\+\")));return new RegExp(`^image\\\\/(${e.join(\"|\")})$`)}function OU(t){return new Promise(((e,n)=>{const o=t.getAttribute(\"src\");fetch(o).then((t=>t.blob())).then((t=>{const n=VU(t,o);const i=n.replace(\"image/\",\"\");const r=`image.${i}`;const s=new File([t],r,{type:n});e(s)})).catch((t=>t&&t.name===\"TypeError\"?FU(o).then(e).catch(n):n(t)))}))}function RU(t,e){if(!t.isInlineImageView(e)||!e.getAttribute(\"src\")){return false}return!!e.getAttribute(\"src\").match(/^data:image\\/\\w+;base64,/g)||!!e.getAttribute(\"src\").match(/^blob:/g)}function VU(t,e){if(t.type){return t.type}else if(e.match(/data:(image\\/\\w+);base64/)){return e.match(/data:(image\\/\\w+);base64/)[1].toLowerCase()}else{return\"image/jpeg\"}}function FU(t){return jU(t).then((e=>{const n=VU(e,t);const o=n.replace(\"image/\",\"\");const i=`image.${o}`;return new File([e],i,{type:n})}))}function jU(t){return new Promise(((e,n)=>{const o=oc.document.createElement(\"img\");o.addEventListener(\"load\",(()=>{const t=oc.document.createElement(\"canvas\");t.width=o.width;t.height=o.height;const i=t.getContext(\"2d\");i.drawImage(o,0,0);t.toBlob((t=>t?e(t):n()))}));o.addEventListener(\"error\",(()=>n()));o.src=t}))}class HU extends Ed{static get pluginName(){return\"ImageUploadUI\"}init(){const t=this.editor;const e=t.t;const n=()=>{const t=this._createButton(zv);t.set({label:e(\"Upload image from computer\"),tooltip:true});return t};t.ui.componentFactory.add(\"uploadImage\",n);t.ui.componentFactory.add(\"imageUpload\",n);t.ui.componentFactory.add(\"menuBar:uploadImage\",(()=>{const t=this._createButton(GS);t.label=e(\"Image from computer\");return t}));if(t.plugins.has(\"ImageInsertUI\")){const n=t.plugins.get(\"ImageInsertUI\");n.registerIntegration({name:\"upload\",observable:()=>t.commands.get(\"uploadImage\"),buttonViewCreator:()=>{const o=t.ui.componentFactory.create(\"uploadImage\");o.bind(\"label\").to(n,\"isImageSelected\",(t=>t?e(\"Replace image from computer\"):e(\"Upload image from computer\")));return o},formViewCreator:()=>{const o=t.ui.componentFactory.create(\"uploadImage\");o.withText=true;o.bind(\"label\").to(n,\"isImageSelected\",(t=>t?e(\"Replace from computer\"):e(\"Upload from computer\")));o.on(\"execute\",(()=>{n.dropdownView.isOpen=false}));return o}})}}_createButton(t){const e=this.editor;const n=e.locale;const o=e.commands.get(\"uploadImage\");const i=e.config.get(\"image.upload.types\");const r=zU(i);const s=new t(e.locale);const a=n.t;s.set({acceptedType:i.map((t=>`image/${t}`)).join(\",\"),allowMultipleFiles:true,label:a(\"Upload image from computer\"),icon:CC.imageUpload});s.bind(\"isEnabled\").to(o);s.on(\"done\",((t,n)=>{const o=Array.from(n).filter((t=>r.test(t.type)));if(o.length){e.execute(\"uploadImage\",{file:o});e.editing.view.focus()}}));return s}}var UU=n(2209);var WU={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};WU.insert=\"head\";WU.singleton=true;var qU=Ld()(UU.A,WU);const GU=UU.A.locals||{};var $U=n(9967);var KU={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};KU.insert=\"head\";KU.singleton=true;var YU=Ld()($U.A,KU);const QU=$U.A.locals||{};var ZU=n(2021);var JU={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};JU.insert=\"head\";JU.singleton=true;var XU=Ld()(ZU.A,JU);const tW=ZU.A.locals||{};class eW extends Ed{static get pluginName(){return\"ImageUploadProgress\"}constructor(t){super(t);this.uploadStatusChange=(t,e,n)=>{const o=this.editor;const i=e.item;const r=i.getAttribute(\"uploadId\");if(!n.consumable.consume(e.item,t.name)){return}const s=o.plugins.get(\"ImageUtils\");const a=o.plugins.get(uN);const c=r?e.attributeNewValue:null;const l=this.placeholder;const d=o.editing.mapper.toViewElement(i);const u=n.writer;if(c==\"reading\"){nW(d,u);iW(s,l,d,u);return}if(c==\"uploading\"){const t=a.loaders.get(r);nW(d,u);if(!t){iW(s,l,d,u)}else{rW(d,u);sW(d,u,t,o.editing.view);mW(s,d,u,t)}return}if(c==\"complete\"&&a.loaders.get(r)){cW(d,u,o.editing.view)}aW(d,u);rW(d,u);oW(d,u)};this.placeholder=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\"}init(){const t=this.editor;if(t.plugins.has(\"ImageBlockEditing\")){t.editing.downcastDispatcher.on(\"attribute:uploadStatus:imageBlock\",this.uploadStatusChange)}if(t.plugins.has(\"ImageInlineEditing\")){t.editing.downcastDispatcher.on(\"attribute:uploadStatus:imageInline\",this.uploadStatusChange)}}}function nW(t,e){if(!t.hasClass(\"ck-appear\")){e.addClass(\"ck-appear\",t)}}function oW(t,e){e.removeClass(\"ck-appear\",t)}function iW(t,e,n,o){if(!n.hasClass(\"ck-image-upload-placeholder\")){o.addClass(\"ck-image-upload-placeholder\",n)}const i=t.findViewImgElement(n);if(i.getAttribute(\"src\")!==e){o.setAttribute(\"src\",e,i)}if(!uW(n,\"placeholder\")){o.insert(o.createPositionAfter(i),dW(o))}}function rW(t,e){if(t.hasClass(\"ck-image-upload-placeholder\")){e.removeClass(\"ck-image-upload-placeholder\",t)}hW(t,e,\"placeholder\")}function sW(t,e,n,o){const i=lW(e);e.insert(e.createPositionAt(t,\"end\"),i);n.on(\"change:uploadedPercent\",((t,e,n)=>{o.change((t=>{t.setStyle(\"width\",n+\"%\",i)}))}))}function aW(t,e){hW(t,e,\"progressBar\")}function cW(t,e,n){const o=e.createUIElement(\"div\",{class:\"ck-image-upload-complete-icon\"});e.insert(e.createPositionAt(t,\"end\"),o);setTimeout((()=>{n.change((t=>t.remove(t.createRangeOn(o))))}),3e3)}function lW(t){const e=t.createUIElement(\"div\",{class:\"ck-progress-bar\"});t.setCustomProperty(\"progressBar\",true,e);return e}function dW(t){const e=t.createUIElement(\"div\",{class:\"ck-upload-placeholder-loader\"});t.setCustomProperty(\"placeholder\",true,e);return e}function uW(t,e){for(const n of t.getChildren()){if(n.getCustomProperty(e)){return n}}}function hW(t,e,n){const o=uW(t,n);if(o){e.remove(e.createRangeOn(o))}}function mW(t,e,n,o){if(o.data){const i=t.findViewImgElement(e);n.setAttribute(\"src\",o.data,i)}}class gW extends Id{refresh(){const t=this.editor;const e=t.plugins.get(\"ImageUtils\");const n=t.model.document.selection.getSelectedElement();this.isEnabled=e.isImageAllowed()||e.isImage(n)}execute(t){const e=sl(t.file);const n=this.editor.model.document.selection;const o=this.editor.plugins.get(\"ImageUtils\");const i=Object.fromEntries(n.getAttributes());e.forEach(((t,e)=>{const r=n.getSelectedElement();if(e&&r&&o.isImage(r)){const e=this.editor.model.createPositionAfter(r);this._uploadImage(t,i,e)}else{this._uploadImage(t,i)}}))}_uploadImage(t,e,n){const o=this.editor;const i=o.plugins.get(uN);const r=i.createLoader(t);const s=o.plugins.get(\"ImageUtils\");if(!r){return}s.insertImage({...e,uploadId:r.id},n)}}class fW extends Ed{static get requires(){return[uN,OI,pz,DH]}static get pluginName(){return\"ImageUploadEditing\"}constructor(t){super(t);t.config.define(\"image\",{upload:{types:[\"jpeg\",\"png\",\"gif\",\"bmp\",\"webp\",\"tiff\"]}});this._uploadImageElements=new Map}init(){const t=this.editor;const e=t.model.document;const n=t.conversion;const o=t.plugins.get(uN);const i=t.plugins.get(\"ImageUtils\");const r=t.plugins.get(\"ClipboardPipeline\");const s=zU(t.config.get(\"image.upload.types\"));const a=new gW(t);t.commands.add(\"uploadImage\",a);t.commands.add(\"imageUpload\",a);n.for(\"upcast\").attributeToAttribute({view:{name:\"img\",key:\"uploadId\"},model:\"uploadId\"});this.listenTo(t.editing.view.document,\"clipboardInput\",((e,n)=>{if(pW(n.dataTransfer)){return}const o=Array.from(n.dataTransfer.files).filter((t=>{if(!t){return false}return s.test(t.type)}));if(!o.length){return}e.stop();t.model.change((e=>{if(n.targetRanges){e.setSelection(n.targetRanges.map((e=>t.editing.mapper.toModelRange(e))))}t.execute(\"uploadImage\",{file:o})}))}));this.listenTo(r,\"inputTransformation\",((e,n)=>{const r=Array.from(t.editing.view.createRangeIn(n.content)).map((t=>t.item)).filter((t=>RU(i,t)&&!t.getAttribute(\"uploadProcessed\"))).map((t=>({promise:OU(t),imageElement:t})));if(!r.length){return}const s=new uA(t.editing.view.document);for(const t of r){s.setAttribute(\"uploadProcessed\",true,t.imageElement);const e=o.createLoader(t.promise);if(e){s.setAttribute(\"src\",\"\",t.imageElement);s.setAttribute(\"uploadId\",e.id,t.imageElement)}}}));t.editing.view.document.on(\"dragover\",((t,e)=>{e.preventDefault()}));e.on(\"change\",(()=>{const n=e.differ.getChanges({includeChangesInGraveyard:true}).reverse();const i=new Set;for(const e of n){if(e.type==\"insert\"&&e.name!=\"$text\"){const n=e.position.nodeAfter;const r=e.position.root.rootName==\"$graveyard\";for(const e of bW(t,n)){const t=e.getAttribute(\"uploadId\");if(!t){continue}const n=o.loaders.get(t);if(!n){continue}if(r){if(!i.has(t)){n.abort()}}else{i.add(t);this._uploadImageElements.set(t,e);if(n.status==\"idle\"){this._readAndUpload(n)}}}}}}));this.on(\"uploadComplete\",((t,{imageElement:e,data:n})=>{const o=n.urls?n.urls:n;this.editor.model.change((t=>{t.setAttribute(\"src\",o.default,e);this._parseAndSetSrcsetAttributeOnImage(o,e,t);i.setImageNaturalSizeAttributes(e)}))}),{priority:\"low\"})}afterInit(){const t=this.editor.model.schema;if(this.editor.plugins.has(\"ImageBlockEditing\")){t.extend(\"imageBlock\",{allowAttributes:[\"uploadId\",\"uploadStatus\"]})}if(this.editor.plugins.has(\"ImageInlineEditing\")){t.extend(\"imageInline\",{allowAttributes:[\"uploadId\",\"uploadStatus\"]})}}_readAndUpload(t){const e=this.editor;const n=e.model;const o=e.locale.t;const i=e.plugins.get(uN);const r=e.plugins.get(OI);const s=e.plugins.get(\"ImageUtils\");const a=this._uploadImageElements;n.enqueueChange({isUndoable:false},(e=>{e.setAttribute(\"uploadStatus\",\"reading\",a.get(t.id))}));return t.read().then((()=>{const o=t.upload();const i=a.get(t.id);if(l.isSafari){const t=e.editing.mapper.toViewElement(i);const n=s.findViewImgElement(t);e.editing.view.once(\"render\",(()=>{if(!n.parent){return}const t=e.editing.view.domConverter.mapViewToDom(n.parent);if(!t){return}const o=t.style.display;t.style.display=\"none\";t._ckHack=t.offsetHeight;t.style.display=o}))}n.enqueueChange({isUndoable:false},(t=>{t.setAttribute(\"uploadStatus\",\"uploading\",i)}));return o})).then((e=>{n.enqueueChange({isUndoable:false},(n=>{const o=a.get(t.id);n.setAttribute(\"uploadStatus\",\"complete\",o);this.fire(\"uploadComplete\",{data:e,imageElement:o})}));c()})).catch((e=>{if(t.status!==\"error\"&&t.status!==\"aborted\"){throw e}if(t.status==\"error\"&&e){r.showWarning(e,{title:o(\"Upload failed\"),namespace:\"upload\"})}n.enqueueChange({isUndoable:false},(e=>{e.remove(a.get(t.id))}));c()}));function c(){n.enqueueChange({isUndoable:false},(e=>{const n=a.get(t.id);e.removeAttribute(\"uploadId\",n);e.removeAttribute(\"uploadStatus\",n);a.delete(t.id)}));i.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let o=0;const i=Object.keys(t).filter((t=>{const e=parseInt(t,10);if(!isNaN(e)){o=Math.max(o,e);return true}})).map((e=>`${t[e]} ${e}w`)).join(\", \");if(i!=\"\"){const t={srcset:i};if(!e.hasAttribute(\"width\")&&!e.hasAttribute(\"height\")){t.width=o}n.setAttributes(t,e)}}}function pW(t){return Array.from(t.types).includes(\"text/html\")&&t.getData(\"text/html\")!==\"\"}function bW(t,e){const n=t.plugins.get(\"ImageUtils\");return Array.from(t.model.createRangeOn(e)).filter((t=>n.isImage(t.item))).map((t=>t.item))}class kW extends Ed{static get pluginName(){return\"ImageUpload\"}static get requires(){return[fW,HU,eW]}}class wW extends ov{constructor(t){super(t);this.set(\"imageURLInputValue\",\"\");this.set(\"isImageSelected\",false);this.set(\"isEnabled\",true);this.focusTracker=new ad;this.keystrokes=new cd;this._focusables=new vC;this.focusCycler=new Fy({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this.urlInputView=this._createUrlInputView();this.insertButtonView=this._createInsertButton();this.cancelButtonView=this._createCancelButton();this._focusables.addMany([this.urlInputView,this.insertButtonView,this.cancelButtonView]);this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-image-insert-url\"]},children:[this.urlInputView,{tag:\"div\",attributes:{class:[\"ck\",\"ck-image-insert-url__action-row\"]},children:[this.insertButtonView,this.cancelButtonView]}]})}render(){super.render();for(const t of this._focusables){this.focusTracker.add(t.element)}this.keystrokes.listenTo(this.element)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}_createUrlInputView(){const t=this.locale;const e=t.t;const n=new py(t,Vx);n.bind(\"label\").to(this,\"isImageSelected\",(t=>t?e(\"Update image URL\"):e(\"Insert image via URL\")));n.bind(\"isEnabled\").to(this);n.fieldView.placeholder=\"https://example.com/image.png\";n.fieldView.bind(\"value\").to(this,\"imageURLInputValue\",(t=>t||\"\"));n.fieldView.on(\"input\",(()=>{this.imageURLInputValue=n.fieldView.element.value.trim()}));return n}_createInsertButton(){const t=this.locale;const e=t.t;const n=new Sv(t);n.set({icon:CC.check,class:\"ck-button-save\",type:\"submit\",withText:true});n.bind(\"label\").to(this,\"isImageSelected\",(t=>t?e(\"Update\"):e(\"Insert\")));n.bind(\"isEnabled\").to(this,\"imageURLInputValue\",this,\"isEnabled\",((...t)=>t.every((t=>t))));n.delegate(\"execute\").to(this,\"submit\");return n}_createCancelButton(){const t=this.locale;const e=t.t;const n=new Sv(t);n.set({label:e(\"Cancel\"),icon:CC.cancel,class:\"ck-button-cancel\",withText:true});n.bind(\"isEnabled\").to(this);n.delegate(\"execute\").to(this,\"cancel\");return n}focus(t){if(t===-1){this.focusCycler.focusLast()}else{this.focusCycler.focusFirst()}}}class AW extends(null&&Plugin){static get pluginName(){return\"ImageInsertViaUrlUI\"}static get requires(){return[ImageInsertUI]}afterInit(){this._imageInsertUI=this.editor.plugins.get(\"ImageInsertUI\");this._imageInsertUI.registerIntegration({name:\"url\",observable:()=>this.editor.commands.get(\"insertImage\"),requiresForm:true,buttonViewCreator:t=>this._createInsertUrlButton(t),formViewCreator:t=>this._createInsertUrlView(t)})}_createInsertUrlView(t){const e=this.editor;const n=e.locale;const o=n.t;const i=e.commands.get(\"replaceImageSource\");const r=e.commands.get(\"insertImage\");const s=new ImageInsertUrlView(n);const a=t?null:new CollapsibleView(n,[s]);s.bind(\"isImageSelected\").to(this._imageInsertUI);s.bind(\"isEnabled\").toMany([r,i],\"isEnabled\",((...t)=>t.some((t=>t))));s.imageURLInputValue=i.value||\"\";this._imageInsertUI.dropdownView.on(\"change:isOpen\",(()=>{if(this._imageInsertUI.dropdownView.isOpen){s.imageURLInputValue=i.value||\"\";if(a){a.isCollapsed=true}}}),{priority:\"low\"});s.on(\"submit\",(()=>{if(i.isEnabled){e.execute(\"replaceImageSource\",{source:s.imageURLInputValue})}else{e.execute(\"insertImage\",{source:s.imageURLInputValue})}this._closePanel()}));s.on(\"cancel\",(()=>this._closePanel()));if(a){a.set({isCollapsed:true});a.bind(\"label\").to(this._imageInsertUI,\"isImageSelected\",(t=>t?o(\"Update image URL\"):o(\"Insert image via URL\")));return a}return s}_createInsertUrlButton(t){const e=t?DropdownButtonView:ButtonView;const n=this.editor;const o=new e(n.locale);const i=n.locale.t;o.set({icon:icons.imageUrl,tooltip:true});o.bind(\"label\").to(this._imageInsertUI,\"isImageSelected\",(t=>t?i(\"Update image URL\"):i(\"Insert image via URL\")));return o}_closePanel(){this.editor.editing.view.focus();this._imageInsertUI.dropdownView.isOpen=false}}class _W extends(null&&Plugin){static get pluginName(){return\"ImageInsertViaUrl\"}static get requires(){return[ImageInsertViaUrlUI,ImageInsertUI]}}class CW extends(null&&Plugin){static get pluginName(){return\"ImageInsert\"}static get requires(){return[ImageUpload,ImageInsertViaUrl,ImageInsertUI]}}class vW extends Id{refresh(){const t=this.editor;const e=t.plugins.get(\"ImageUtils\");const n=e.getClosestSelectedImageElement(t.model.document.selection);this.isEnabled=!!n;if(!n||!n.hasAttribute(\"resizedWidth\")){this.value=null}else{this.value={width:n.getAttribute(\"resizedWidth\"),height:null}}}execute(t){const e=this.editor;const n=e.model;const o=e.plugins.get(\"ImageUtils\");const i=o.getClosestSelectedImageElement(n.document.selection);this.value={width:t.width,height:null};if(i){n.change((e=>{e.setAttribute(\"resizedWidth\",t.width,i);e.removeAttribute(\"resizedHeight\",i);o.setImageNaturalSizeAttributes(i)}))}}}class yW extends Ed{static get requires(){return[DH]}static get pluginName(){return\"ImageResizeEditing\"}constructor(t){super(t);t.config.define(\"image\",{resizeUnit:\"%\",resizeOptions:[{name:\"resizeImage:original\",value:null,icon:\"original\"},{name:\"resizeImage:25\",value:\"25\",icon:\"small\"},{name:\"resizeImage:50\",value:\"50\",icon:\"medium\"},{name:\"resizeImage:75\",value:\"75\",icon:\"large\"}]})}init(){const t=this.editor;const e=new vW(t);this._registerConverters(\"imageBlock\");this._registerConverters(\"imageInline\");t.commands.add(\"resizeImage\",e);t.commands.add(\"imageResize\",e)}afterInit(){this._registerSchema()}_registerSchema(){if(this.editor.plugins.has(\"ImageBlockEditing\")){this.editor.model.schema.extend(\"imageBlock\",{allowAttributes:[\"resizedWidth\",\"resizedHeight\"]})}if(this.editor.plugins.has(\"ImageInlineEditing\")){this.editor.model.schema.extend(\"imageInline\",{allowAttributes:[\"resizedWidth\",\"resizedHeight\"]})}}_registerConverters(t){const e=this.editor;const n=e.plugins.get(\"ImageUtils\");e.conversion.for(\"downcast\").add((e=>e.on(`attribute:resizedWidth:${t}`,((t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const o=n.writer;const i=n.mapper.toViewElement(e.item);if(e.attributeNewValue!==null){o.setStyle(\"width\",e.attributeNewValue,i);o.addClass(\"image_resized\",i)}else{o.removeStyle(\"width\",i);o.removeClass(\"image_resized\",i)}}))));e.conversion.for(\"dataDowncast\").attributeToAttribute({model:{name:t,key:\"resizedHeight\"},view:t=>({key:\"style\",value:{height:t}})});e.conversion.for(\"editingDowncast\").add((e=>e.on(`attribute:resizedHeight:${t}`,((e,o,i)=>{if(!i.consumable.consume(o.item,e.name)){return}const r=i.writer;const s=i.mapper.toViewElement(o.item);const a=t===\"imageInline\"?n.findViewImgElement(s):s;if(o.attributeNewValue!==null){r.setStyle(\"height\",o.attributeNewValue,a)}else{r.removeStyle(\"height\",a)}}))));e.conversion.for(\"upcast\").attributeToAttribute({view:{name:t===\"imageBlock\"?\"figure\":\"img\",styles:{width:/.+/}},model:{key:\"resizedWidth\",value:t=>{if(xH(t)){return null}return t.getStyle(\"width\")}}});e.conversion.for(\"upcast\").attributeToAttribute({view:{name:t===\"imageBlock\"?\"figure\":\"img\",styles:{height:/.+/}},model:{key:\"resizedHeight\",value:t=>{if(xH(t)){return null}return t.getStyle(\"height\")}}})}}const xW={small:CC.objectSizeSmall,medium:CC.objectSizeMedium,large:CC.objectSizeLarge,original:CC.objectSizeFull};class EW extends Ed{static get requires(){return[yW]}static get pluginName(){return\"ImageResizeButtons\"}constructor(t){super(t);this._resizeUnit=t.config.get(\"image.resizeUnit\")}init(){const t=this.editor;const e=t.config.get(\"image.resizeOptions\");const n=t.commands.get(\"resizeImage\");this.bind(\"isEnabled\").to(n);for(const t of e){this._registerImageResizeButton(t)}this._registerImageResizeDropdown(e)}_registerImageResizeButton(t){const e=this.editor;const{name:n,value:o,icon:i}=t;const r=o?o+this._resizeUnit:null;e.ui.componentFactory.add(n,(n=>{const o=new Sv(n);const s=e.commands.get(\"resizeImage\");const a=this._getOptionLabelValue(t,true);if(!xW[i]){throw new N(\"imageresizebuttons-missing-icon\",e,t)}o.set({label:a,icon:xW[i],tooltip:a,isToggleable:true});o.bind(\"isEnabled\").to(this);o.bind(\"isOn\").to(s,\"value\",DW(r));this.listenTo(o,\"execute\",(()=>{e.execute(\"resizeImage\",{width:r})}));return o}))}_registerImageResizeDropdown(t){const e=this.editor;const n=e.t;const o=t.find((t=>!t.value));const i=i=>{const r=e.commands.get(\"resizeImage\");const s=xx(i,Vy);const a=s.buttonView;const c=n(\"Resize image\");a.set({tooltip:c,commandValue:o.value,icon:xW.medium,isToggleable:true,label:this._getOptionLabelValue(o),withText:true,class:\"ck-resize-image-button\",ariaLabel:c,ariaLabelledBy:undefined});a.bind(\"label\").to(r,\"value\",(t=>{if(t&&t.width){return t.width}else{return this._getOptionLabelValue(o)}}));s.bind(\"isEnabled\").to(this);Ix(s,(()=>this._getResizeDropdownListItemDefinitions(t,r)),{ariaLabel:n(\"Image resize list\"),role:\"menu\"});this.listenTo(s,\"execute\",(t=>{e.execute(t.source.commandName,{width:t.source.commandValue});e.editing.view.focus()}));return s};e.ui.componentFactory.add(\"resizeImage\",i);e.ui.componentFactory.add(\"imageResize\",i)}_getOptionLabelValue(t,e=false){const n=this.editor.t;if(t.label){return t.label}else if(e){if(t.value){return n(\"Resize image to %0\",t.value+this._resizeUnit)}else{return n(\"Resize image to the original size\")}}else{if(t.value){return t.value+this._resizeUnit}else{return n(\"Original\")}}}_getResizeDropdownListItemDefinitions(t,e){const n=new rd;t.map((t=>{const o=t.value?t.value+this._resizeUnit:null;const i={type:\"button\",model:new RI({commandName:\"resizeImage\",commandValue:o,label:this._getOptionLabelValue(t),role:\"menuitemradio\",withText:true,icon:null})};i.model.bind(\"isOn\").to(e,\"value\",DW(o));n.add(i)}));return n}}function DW(t){return e=>{const n=e;if(t===null&&n===t){return true}return n!==null&&n.width===t}}const IW=null&&\"figure.image.ck-widget > img,\"+\"figure.image.ck-widget > picture > img,\"+\"figure.image.ck-widget > a > img,\"+\"figure.image.ck-widget > a > picture > img,\"+\"span.image-inline.ck-widget > img,\"+\"span.image-inline.ck-widget > picture > img\";const TW=\"image_resized\";class SW extends(null&&Plugin){static get requires(){return[WidgetResize,ImageUtils]}static get pluginName(){return\"ImageResizeHandles\"}init(){const t=this.editor.commands.get(\"resizeImage\");this.bind(\"isEnabled\").to(t);this._setupResizerCreator()}_setupResizerCreator(){const t=this.editor;const e=t.editing.view;const n=t.plugins.get(\"ImageUtils\");e.addObserver(ImageLoadObserver);this.listenTo(e.document,\"imageLoaded\",((o,i)=>{if(!i.target.matches(IW)){return}const r=t.editing.view.domConverter;const s=r.domToView(i.target);const a=n.getImageWidgetFromImageView(s);let c=this.editor.plugins.get(WidgetResize).getResizerByViewElement(a);if(c){c.redraw();return}const l=t.editing.mapper;const d=l.toModelElement(a);c=t.plugins.get(WidgetResize).attachTo({unit:t.config.get(\"image.resizeUnit\"),modelElement:d,viewElement:a,editor:t,getHandleHost(t){return t.querySelector(\"img\")},getResizeHost(){return r.mapViewToDom(l.toViewElement(d.parent))},isCentered(){const t=d.getAttribute(\"imageStyle\");return t==\"alignCenter\"},onCommit(n){e.change((t=>{t.removeClass(TW,a)}));t.execute(\"resizeImage\",{width:n})}});c.on(\"updateSize\",(()=>{if(!a.hasClass(TW)){e.change((t=>{t.addClass(TW,a)}))}const t=d.name===\"imageInline\"?s:a;if(t.getStyle(\"height\")){e.change((e=>{e.removeStyle(\"height\",t)}))}}));c.bind(\"isEnabled\").to(this)}))}}var BW=n(5035);var MW={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};MW.insert=\"head\";MW.singleton=true;var PW=Ld()(BW.A,MW);const NW=BW.A.locals||{};class LW extends(null&&Plugin){static get requires(){return[ImageResizeEditing,ImageResizeHandles,ImageResizeButtons]}static get pluginName(){return\"ImageResize\"}}class zW extends Id{constructor(t,e){super(t);this._defaultStyles={imageBlock:false,imageInline:false};this._styles=new Map(e.map((t=>{if(t.isDefault){for(const e of t.modelElements){this._defaultStyles[e]=t.name}}return[t.name,t]})))}refresh(){const t=this.editor;const e=t.plugins.get(\"ImageUtils\");const n=e.getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n;if(!this.isEnabled){this.value=false}else if(n.hasAttribute(\"imageStyle\")){this.value=n.getAttribute(\"imageStyle\")}else{this.value=this._defaultStyles[n.name]}}execute(t={}){const e=this.editor;const n=e.model;const o=e.plugins.get(\"ImageUtils\");n.change((e=>{const i=t.value;const{setImageSizes:r=true}=t;let s=o.getClosestSelectedImageElement(n.document.selection);if(i&&this.shouldConvertImageType(i,s)){this.editor.execute(o.isBlockImage(s)?\"imageTypeInline\":\"imageTypeBlock\",{setImageSizes:r});s=o.getClosestSelectedImageElement(n.document.selection)}if(!i||this._styles.get(i).isDefault){e.removeAttribute(\"imageStyle\",s)}else{e.setAttribute(\"imageStyle\",i,s)}if(r){o.setImageNaturalSizeAttributes(s)}}))}shouldConvertImageType(t,e){const n=this._styles.get(t).modelElements;return!n.includes(e.name)}}const{objectFullWidth:OW,objectInline:RW,objectLeft:VW,objectRight:FW,objectCenter:jW,objectBlockLeft:HW,objectBlockRight:UW}=CC;const WW={get inline(){return{name:\"inline\",title:\"In line\",icon:RW,modelElements:[\"imageInline\"],isDefault:true}},get alignLeft(){return{name:\"alignLeft\",title:\"Left aligned image\",icon:VW,modelElements:[\"imageBlock\",\"imageInline\"],className:\"image-style-align-left\"}},get alignBlockLeft(){return{name:\"alignBlockLeft\",title:\"Left aligned image\",icon:HW,modelElements:[\"imageBlock\"],className:\"image-style-block-align-left\"}},get alignCenter(){return{name:\"alignCenter\",title:\"Centered image\",icon:jW,modelElements:[\"imageBlock\"],className:\"image-style-align-center\"}},get alignRight(){return{name:\"alignRight\",title:\"Right aligned image\",icon:FW,modelElements:[\"imageBlock\",\"imageInline\"],className:\"image-style-align-right\"}},get alignBlockRight(){return{name:\"alignBlockRight\",title:\"Right aligned image\",icon:UW,modelElements:[\"imageBlock\"],className:\"image-style-block-align-right\"}},get block(){return{name:\"block\",title:\"Centered image\",icon:jW,modelElements:[\"imageBlock\"],isDefault:true}},get side(){return{name:\"side\",title:\"Side image\",icon:FW,modelElements:[\"imageBlock\"],className:\"image-style-side\"}}};const qW={full:OW,left:HW,right:UW,center:jW,inlineLeft:VW,inlineRight:FW,inline:RW};const GW=[{name:\"imageStyle:wrapText\",title:\"Wrap text\",defaultItem:\"imageStyle:alignLeft\",items:[\"imageStyle:alignLeft\",\"imageStyle:alignRight\"]},{name:\"imageStyle:breakText\",title:\"Break text\",defaultItem:\"imageStyle:block\",items:[\"imageStyle:alignBlockLeft\",\"imageStyle:block\",\"imageStyle:alignBlockRight\"]}];function $W(t){const e=t.configuredStyles.options||[];const n=e.map((t=>QW(t))).filter((e=>ZW(e,t)));return n}function KW(t,e){if(t&&e){return{options:[\"inline\",\"alignLeft\",\"alignRight\",\"alignCenter\",\"alignBlockLeft\",\"alignBlockRight\",\"block\",\"side\"]}}else if(t){return{options:[\"block\",\"side\"]}}else if(e){return{options:[\"inline\",\"alignLeft\",\"alignRight\"]}}return{}}function YW(t){if(t.has(\"ImageBlockEditing\")&&t.has(\"ImageInlineEditing\")){return[...GW]}else{return[]}}function QW(t){if(typeof t===\"string\"){if(!WW[t]){t={name:t}}else{t={...WW[t]}}}else{t=JW(WW[t.name],t)}if(typeof t.icon===\"string\"){t.icon=qW[t.icon]||t.icon}return t}function ZW(t,{isBlockPluginLoaded:e,isInlinePluginLoaded:n}){const{modelElements:o,name:i}=t;if(!o||!o.length||!i){XW({style:t});return false}else{const i=[e?\"imageBlock\":null,n?\"imageInline\":null];if(!o.some((t=>i.includes(t)))){L(\"image-style-missing-dependency\",{style:t,missingPlugins:o.map((t=>t===\"imageBlock\"?\"ImageBlockEditing\":\"ImageInlineEditing\"))});return false}}return true}function JW(t,e){const n={...e};for(const o in t){if(!Object.prototype.hasOwnProperty.call(e,o)){n[o]=t[o]}}return n}function XW(t){L(\"image-style-configuration-definition-invalid\",t)}const tq={normalizeStyles:$W,getDefaultStylesConfiguration:KW,getDefaultDropdownDefinitions:YW,warnInvalidStyle:XW,DEFAULT_OPTIONS:WW,DEFAULT_ICONS:qW,DEFAULT_DROPDOWN_DEFINITIONS:GW};function eq(t){return(e,n,o)=>{if(!o.consumable.consume(n.item,e.name)){return}const i=oq(n.attributeNewValue,t);const r=oq(n.attributeOldValue,t);const s=o.mapper.toViewElement(n.item);const a=o.writer;if(r){a.removeClass(r.className,s)}if(i){a.addClass(i.className,s)}}}function nq(t){const e={imageInline:t.filter((t=>!t.isDefault&&t.modelElements.includes(\"imageInline\"))),imageBlock:t.filter((t=>!t.isDefault&&t.modelElements.includes(\"imageBlock\")))};return(t,n,o)=>{if(!n.modelRange){return}const i=n.viewItem;const r=sd(n.modelRange.getItems());if(!r){return}if(!o.schema.checkAttribute(r,\"imageStyle\")){return}for(const t of e[r.name]){if(o.consumable.consume(i,{classes:t.className})){o.writer.setAttribute(\"imageStyle\",t.name,r)}}}}function oq(t,e){for(const n of e){if(n.name===t){return n}}}class iq extends Ed{static get pluginName(){return\"ImageStyleEditing\"}static get requires(){return[DH]}init(){const{normalizeStyles:t,getDefaultStylesConfiguration:e}=tq;const n=this.editor;const o=n.plugins.has(\"ImageBlockEditing\");const i=n.plugins.has(\"ImageInlineEditing\");n.config.define(\"image.styles\",e(o,i));this.normalizedStyles=t({configuredStyles:n.config.get(\"image.styles\"),isBlockPluginLoaded:o,isInlinePluginLoaded:i});this._setupConversion(o,i);this._setupPostFixer();n.commands.add(\"imageStyle\",new zW(n,this.normalizedStyles))}_setupConversion(t,e){const n=this.editor;const o=n.model.schema;const i=eq(this.normalizedStyles);const r=nq(this.normalizedStyles);n.editing.downcastDispatcher.on(\"attribute:imageStyle\",i);n.data.downcastDispatcher.on(\"attribute:imageStyle\",i);if(t){o.extend(\"imageBlock\",{allowAttributes:\"imageStyle\"});n.data.upcastDispatcher.on(\"element:figure\",r,{priority:\"low\"})}if(e){o.extend(\"imageInline\",{allowAttributes:\"imageStyle\"});n.data.upcastDispatcher.on(\"element:img\",r,{priority:\"low\"})}}_setupPostFixer(){const t=this.editor;const e=t.model.document;const n=t.plugins.get(DH);const o=new Map(this.normalizedStyles.map((t=>[t.name,t])));e.registerPostFixer((t=>{let i=false;for(const r of e.differ.getChanges()){if(r.type==\"insert\"||r.type==\"attribute\"&&r.attributeKey==\"imageStyle\"){let e=r.type==\"insert\"?r.position.nodeAfter:r.range.start.nodeAfter;if(e&&e.is(\"element\",\"paragraph\")&&e.childCount>0){e=e.getChild(0)}if(!n.isImage(e)){continue}const s=e.getAttribute(\"imageStyle\");if(!s){continue}const a=o.get(s);if(!a||!a.modelElements.includes(e.name)){t.removeAttribute(\"imageStyle\",e);i=true}}}return i}))}}var rq=n(1644);var sq={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};sq.insert=\"head\";sq.singleton=true;var aq=Ld()(rq.A,sq);const cq=rq.A.locals||{};class lq extends Ed{static get requires(){return[iq]}static get pluginName(){return\"ImageStyleUI\"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{\"Wrap text\":t(\"Wrap text\"),\"Break text\":t(\"Break text\"),\"In line\":t(\"In line\"),\"Full size image\":t(\"Full size image\"),\"Side image\":t(\"Side image\"),\"Left aligned image\":t(\"Left aligned image\"),\"Centered image\":t(\"Centered image\"),\"Right aligned image\":t(\"Right aligned image\")}}init(){const t=this.editor.plugins;const e=this.editor.config.get(\"image.toolbar\")||[];const n=t.get(\"ImageStyleEditing\");const o=dq(n.normalizedStyles,this.localizedDefaultStylesTitles);for(const t of o){this._createButton(t)}const i=dq([...e.filter(st),...tq.getDefaultDropdownDefinitions(t)],this.localizedDefaultStylesTitles);for(const t of i){this._createDropdown(t,o)}}_createDropdown(t,e){const n=this.editor.ui.componentFactory;n.add(t.name,(o=>{let i;const{defaultItem:r,items:s,title:a}=t;const c=s.filter((t=>e.find((({name:e})=>uq(e)===t)))).map((t=>{const e=n.create(t);if(t===r){i=e}return e}));if(s.length!==c.length){tq.warnInvalidStyle({dropdown:t})}const l=xx(o,px);const d=l.buttonView;const u=d.arrowView;Ex(l,c,{enableActiveItemFocusOnDropdownOpen:true});d.set({label:hq(a,i.label),class:null,tooltip:true});u.unbind(\"label\");u.set({label:a});d.bind(\"icon\").toMany(c,\"isOn\",((...t)=>{const e=t.findIndex(yl);return e<0?i.icon:c[e].icon}));d.bind(\"label\").toMany(c,\"isOn\",((...t)=>{const e=t.findIndex(yl);return hq(a,e<0?i.label:c[e].label)}));d.bind(\"isOn\").toMany(c,\"isOn\",((...t)=>t.some(yl)));d.bind(\"class\").toMany(c,\"isOn\",((...t)=>t.some(yl)?\"ck-splitbutton_flatten\":undefined));d.on(\"execute\",(()=>{if(!c.some((({isOn:t})=>t))){i.fire(\"execute\")}else{l.isOpen=!l.isOpen}}));l.bind(\"isEnabled\").toMany(c,\"isEnabled\",((...t)=>t.some(yl)));this.listenTo(l,\"execute\",(()=>{this.editor.editing.view.focus()}));return l}))}_createButton(t){const e=t.name;this.editor.ui.componentFactory.add(uq(e),(n=>{const o=this.editor.commands.get(\"imageStyle\");const i=new Sv(n);i.set({label:t.title,icon:t.icon,tooltip:true,isToggleable:true});i.bind(\"isEnabled\").to(o,\"isEnabled\");i.bind(\"isOn\").to(o,\"value\",(t=>t===e));i.on(\"execute\",this._executeCommand.bind(this,e));return i}))}_executeCommand(t){this.editor.execute(\"imageStyle\",{value:t});this.editor.editing.view.focus()}}function dq(t,e){for(const n of t){if(e[n.title]){n.title=e[n.title]}}return t}function uq(t){return`imageStyle:${t}`}function hq(t,e){return(t?t+\": \":\"\")+e}class mq extends Ed{static get requires(){return[iq,lq]}static get pluginName(){return\"ImageStyle\"}}class gq extends Ed{static get requires(){return[pO,DH]}static get pluginName(){return\"ImageToolbar\"}afterInit(){const t=this.editor;const e=t.t;const n=t.plugins.get(pO);const o=t.plugins.get(\"ImageUtils\");n.register(\"image\",{ariaLabel:e(\"Image toolbar\"),items:fq(t.config.get(\"image.toolbar\")||[]),getRelatedElement:t=>o.getClosestSelectedImageWidget(t)})}}function fq(t){return t.map((t=>st(t)?t.name:t))}class pq extends Ed{static get requires(){return[oU,DH]}static get pluginName(){return\"PictureEditing\"}afterInit(){const t=this.editor;if(t.plugins.has(\"ImageBlockEditing\")){t.model.schema.extend(\"imageBlock\",{allowAttributes:[\"sources\"]})}if(t.plugins.has(\"ImageInlineEditing\")){t.model.schema.extend(\"imageInline\",{allowAttributes:[\"sources\"]})}this._setupConversion();this._setupImageUploadEditingIntegration()}_setupConversion(){const t=this.editor;const e=t.conversion;const n=t.plugins.get(\"ImageUtils\");e.for(\"upcast\").add(QH(n));e.for(\"downcast\").add(JH(n))}_setupImageUploadEditingIntegration(){const t=this.editor;if(!t.plugins.has(\"ImageUploadEditing\")){return}const e=t.plugins.get(\"ImageUploadEditing\");this.listenTo(e,\"uploadComplete\",((e,{imageElement:n,data:o})=>{const i=o.sources;if(!i){return}t.model.change((t=>{t.setAttributes({sources:i},n)}))}))}}class bq extends Ed{static get pluginName(){return\"IndentEditing\"}init(){const t=this.editor;t.commands.add(\"indent\",new Sd(t));t.commands.add(\"outdent\",new Sd(t))}}class kq extends Ed{static get pluginName(){return\"IndentUI\"}init(){const t=this.editor;const e=t.locale;const n=t.t;const o=e.uiLanguageDirection==\"ltr\"?CC.indent:CC.outdent;const i=e.uiLanguageDirection==\"ltr\"?CC.outdent:CC.indent;this._defineButton(\"indent\",n(\"Increase indent\"),o);this._defineButton(\"outdent\",n(\"Decrease indent\"),i)}_defineButton(t,e,n){const o=this.editor;o.ui.componentFactory.add(t,(()=>{const o=this._createButton(Sv,t,e,n);o.set({tooltip:true});return o}));o.ui.componentFactory.add(\"menuBar:\"+t,(()=>this._createButton(qS,t,e,n)))}_createButton(t,e,n,o){const i=this.editor;const r=i.commands.get(e);const s=new t(i.locale);s.set({label:n,icon:o});s.bind(\"isEnabled\").to(r,\"isEnabled\");this.listenTo(s,\"execute\",(()=>{i.execute(e);i.editing.view.focus()}));return s}}class wq extends Ed{static get pluginName(){return\"Indent\"}static get requires(){return[bq,kq]}}class Aq extends Id{constructor(t,e){super(t);this._indentBehavior=e}refresh(){const t=this.editor;const e=t.model;const n=sd(e.document.selection.getSelectedBlocks());if(!n||!this._isIndentationChangeAllowed(n)){this.isEnabled=false;return}this.isEnabled=this._indentBehavior.checkEnabled(n.getAttribute(\"blockIndent\"))}execute(){const t=this.editor.model;const e=this._getBlocksToChange();t.change((t=>{for(const n of e){const e=n.getAttribute(\"blockIndent\");const o=this._indentBehavior.getNextIndent(e);if(o){t.setAttribute(\"blockIndent\",o,n)}else{t.removeAttribute(\"blockIndent\",n)}}}))}_getBlocksToChange(){const t=this.editor.model;const e=t.document.selection;const n=Array.from(e.getSelectedBlocks());return n.filter((t=>this._isIndentationChangeAllowed(t)))}_isIndentationChangeAllowed(t){const e=this.editor;if(!e.model.schema.checkAttribute(t,\"blockIndent\")){return false}if(!e.plugins.has(\"ListUtils\")){return true}if(!this._indentBehavior.isForward){return true}const n=e.plugins.get(\"ListUtils\");return!n.isListItemBlock(t)}}class _q{constructor(t){this.isForward=t.direction===\"forward\";this.offset=t.offset;this.unit=t.unit}checkEnabled(t){const e=parseFloat(t||\"0\");return this.isForward||e>0}getNextIndent(t){const e=parseFloat(t||\"0\");const n=!t||t.endsWith(this.unit);if(!n){return this.isForward?this.offset+this.unit:undefined}const o=this.isForward?this.offset:-this.offset;const i=e+o;return i>0?i+this.unit:undefined}}class Cq{constructor(t){this.isForward=t.direction===\"forward\";this.classes=t.classes}checkEnabled(t){const e=this.classes.indexOf(t);if(this.isForward){return e=0}}getNextIndent(t){const e=this.classes.indexOf(t);const n=this.isForward?1:-1;return this.classes[e+n]}}const vq=[\"paragraph\",\"heading1\",\"heading2\",\"heading3\",\"heading4\",\"heading5\",\"heading6\"];class yq extends Ed{constructor(t){super(t);t.config.define(\"indentBlock\",{offset:40,unit:\"px\"})}static get pluginName(){return\"IndentBlock\"}init(){const t=this.editor;const e=t.config.get(\"indentBlock\");if(e.classes&&e.classes.length){this._setupConversionUsingClasses(e.classes);t.commands.add(\"indentBlock\",new Aq(t,new Cq({direction:\"forward\",classes:e.classes})));t.commands.add(\"outdentBlock\",new Aq(t,new Cq({direction:\"backward\",classes:e.classes})))}else{t.data.addStyleProcessorRules(e_);this._setupConversionUsingOffset();t.commands.add(\"indentBlock\",new Aq(t,new _q({direction:\"forward\",offset:e.offset,unit:e.unit})));t.commands.add(\"outdentBlock\",new Aq(t,new _q({direction:\"backward\",offset:e.offset,unit:e.unit})))}}afterInit(){const t=this.editor;const e=t.model.schema;const n=t.commands.get(\"indent\");const o=t.commands.get(\"outdent\");const i=t.config.get(\"heading.options\");const r=i&&i.map((t=>t.model));const s=r||vq;s.forEach((t=>{if(e.isRegistered(t)){e.extend(t,{allowAttributes:\"blockIndent\"})}}));e.setAttributeProperties(\"blockIndent\",{isFormatting:true});n.registerChildCommand(t.commands.get(\"indentBlock\"));o.registerChildCommand(t.commands.get(\"outdentBlock\"))}_setupConversionUsingOffset(){const t=this.editor.conversion;const e=this.editor.locale;const n=e.contentLanguageDirection===\"rtl\"?\"margin-right\":\"margin-left\";t.for(\"upcast\").attributeToAttribute({view:{styles:{[n]:/[\\s\\S]+/}},model:{key:\"blockIndent\",value:t=>{if(!t.is(\"element\",\"li\")){return t.getStyle(n)}}}});t.for(\"downcast\").attributeToAttribute({model:\"blockIndent\",view:t=>({key:\"style\",value:{[n]:t}})})}_setupConversionUsingClasses(t){const e={model:{key:\"blockIndent\",values:[]},view:{}};for(const n of t){e.model.values.push(n);e.view[n]={key:\"class\",value:[n]}}this.editor.conversion.attributeToAttribute(e)}}class xq{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){if(Array.isArray(t)){t.forEach((t=>this._definitions.add(t)))}else{this._definitions.add(t)}}getDispatcher(){return t=>{t.on(\"attribute:linkHref\",((t,e,n)=>{if(!n.consumable.test(e.item,\"attribute:linkHref\")){return}if(!(e.item.is(\"selection\")||n.schema.isInline(e.item))){return}const o=n.writer;const i=o.document.selection;for(const t of this._definitions){const r=o.createAttributeElement(\"a\",t.attributes,{priority:5});if(t.classes){o.addClass(t.classes,r)}for(const e in t.styles){o.setStyle(e,t.styles[e],r)}o.setCustomProperty(\"link\",true,r);if(t.callback(e.attributeNewValue)){if(e.item.is(\"selection\")){o.wrap(i.getFirstRange(),r)}else{o.wrap(n.mapper.toViewRange(e.range),r)}}else{o.unwrap(n.mapper.toViewRange(e.range),r)}}}),{priority:\"high\"})}}getDispatcherForLinkedImage(){return t=>{t.on(\"attribute:linkHref:imageBlock\",((t,e,{writer:n,mapper:o})=>{const i=o.toViewElement(e.item);const r=Array.from(i.getChildren()).find((t=>t.is(\"element\",\"a\")));for(const t of this._definitions){const o=dd(t.attributes);if(t.callback(e.attributeNewValue)){for(const[t,e]of o){if(t===\"class\"){n.addClass(e,r)}else{n.setAttribute(t,e,r)}}if(t.classes){n.addClass(t.classes,r)}for(const e in t.styles){n.setStyle(e,t.styles[e],r)}}else{for(const[t,e]of o){if(t===\"class\"){n.removeClass(e,r)}else{n.removeAttribute(t,r)}}if(t.classes){n.removeClass(t.classes,r)}for(const e in t.styles){n.removeStyle(e,r)}}}}))}}}const Eq=/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205f\\u3000]/g;const Dq=\"^(?:(?:):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))\";const Iq=/^[\\S]+@((?![-_])(?:[-\\w\\u00a1-\\uffff]{0,63}[^-_]\\.))+(?:[a-z\\u00a1-\\uffff]{2,})$/i;const Tq=/^((\\w+:(\\/{2,})?)|(\\W))/i;const Sq=[\"https?\",\"ftps?\",\"mailto\"];const Bq=\"Ctrl+K\";function Mq(t){return t.is(\"attributeElement\")&&!!t.getCustomProperty(\"link\")}function Pq(t,{writer:e}){const n=e.createAttributeElement(\"a\",{href:t},{priority:5});e.setCustomProperty(\"link\",true,n);return n}function Nq(t,e=Sq){const n=String(t);const o=e.join(\"|\");const i=new RegExp(`${Dq.replace(\"\",o)}`,\"i\");return Lq(n,i)?n:\"#\"}function Lq(t,e){const n=t.replace(Eq,\"\");return!!n.match(e)}function zq(t,e){const n={\"Open in a new tab\":t(\"Open in a new tab\"),Downloadable:t(\"Downloadable\")};e.forEach((t=>{if(\"label\"in t&&n[t.label]){t.label=n[t.label]}return t}));return e}function Oq(t){const e=[];if(t){for(const[n,o]of Object.entries(t)){const t=Object.assign({},o,{id:`link${aj(n)}`});e.push(t)}}return e}function Rq(t,e){if(!t){return false}return e.checkAttribute(t.name,\"linkHref\")}function Vq(t){return Iq.test(t)}function Fq(t,e){const n=Vq(t)?\"mailto:\":e;const o=!!n&&!jq(t);return t&&o?n+t:t}function jq(t){return Tq.test(t)}function Hq(t){window.open(t,\"_blank\",\"noopener\")}class Uq extends Id{constructor(){super(...arguments);this.manualDecorators=new rd;this.automaticDecorators=new xq}restoreManualDecoratorStates(){for(const t of this.manualDecorators){t.value=this._getDecoratorStateFromModel(t.id)}}refresh(){const t=this.editor.model;const e=t.document.selection;const n=e.getSelectedElement()||sd(e.getSelectedBlocks());if(Rq(n,t.schema)){this.value=n.getAttribute(\"linkHref\");this.isEnabled=t.schema.checkAttribute(n,\"linkHref\")}else{this.value=e.getAttribute(\"linkHref\");this.isEnabled=t.schema.checkAttributeInSelection(e,\"linkHref\")}for(const t of this.manualDecorators){t.value=this._getDecoratorStateFromModel(t.id)}}execute(t,e={}){const n=this.editor.model;const o=n.document.selection;const i=[];const r=[];for(const t in e){if(e[t]){i.push(t)}else{r.push(t)}}n.change((e=>{if(o.isCollapsed){const s=o.getFirstPosition();if(o.hasAttribute(\"linkHref\")){const a=Wq(o);let c=rM(s,\"linkHref\",o.getAttribute(\"linkHref\"),n);if(o.getAttribute(\"linkHref\")===a){c=this._updateLinkContent(n,e,c,t)}e.setAttribute(\"linkHref\",t,c);i.forEach((t=>{e.setAttribute(t,true,c)}));r.forEach((t=>{e.removeAttribute(t,c)}));e.setSelection(e.createPositionAfter(c.end.nodeBefore))}else if(t!==\"\"){const r=dd(o.getAttributes());r.set(\"linkHref\",t);i.forEach((t=>{r.set(t,true)}));const{end:a}=n.insertContent(e.createText(t,r),s);e.setSelection(a)}[\"linkHref\",...i,...r].forEach((t=>{e.removeSelectionAttribute(t)}))}else{const s=n.schema.getValidRanges(o.getRanges(),\"linkHref\");const a=[];for(const t of o.getSelectedBlocks()){if(n.schema.checkAttribute(t,\"linkHref\")){a.push(e.createRangeOn(t))}}const c=a.slice();for(const t of s){if(this._isRangeToUpdate(t,a)){c.push(t)}}for(const s of c){let a=s;if(c.length===1){const i=Wq(o);if(o.getAttribute(\"linkHref\")===i){a=this._updateLinkContent(n,e,s,t);e.setSelection(e.createSelection(a))}}e.setAttribute(\"linkHref\",t,a);i.forEach((t=>{e.setAttribute(t,true,a)}));r.forEach((t=>{e.removeAttribute(t,a)}))}}}))}_getDecoratorStateFromModel(t){const e=this.editor.model;const n=e.document.selection;const o=n.getSelectedElement();if(Rq(o,e.schema)){return o.getAttribute(t)}return n.getAttribute(t)}_isRangeToUpdate(t,e){for(const n of e){if(n.containsRange(t)){return false}}return true}_updateLinkContent(t,e,n,o){const i=e.createText(o,{linkHref:o});return t.insertContent(i,n)}}function Wq(t){if(t.isCollapsed){const e=t.getFirstPosition();return e.textNode&&e.textNode.data}else{const e=Array.from(t.getFirstRange().getItems());if(e.length>1){return null}const n=e[0];if(n.is(\"$text\")||n.is(\"$textProxy\")){return n.data}return null}}class qq extends Id{refresh(){const t=this.editor.model;const e=t.document.selection;const n=e.getSelectedElement();if(Rq(n,t.schema)){this.isEnabled=t.schema.checkAttribute(n,\"linkHref\")}else{this.isEnabled=t.schema.checkAttributeInSelection(e,\"linkHref\")}}execute(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;const o=t.commands.get(\"link\");e.change((t=>{const i=n.isCollapsed?[rM(n.getFirstPosition(),\"linkHref\",n.getAttribute(\"linkHref\"),e)]:e.schema.getValidRanges(n.getRanges(),\"linkHref\");for(const e of i){t.removeAttribute(\"linkHref\",e);if(o){for(const n of o.manualDecorators){t.removeAttribute(n.id,e)}}}}))}}class Gq extends(mt()){constructor({id:t,label:e,attributes:n,classes:o,styles:i,defaultValue:r}){super();this.id=t;this.set(\"value\",undefined);this.defaultValue=r;this.label=e;this.attributes=n;this.classes=o;this.styles=i}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}var $q=n(7865);var Kq={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};Kq.insert=\"head\";Kq.singleton=true;var Yq=Ld()($q.A,Kq);const Qq=$q.A.locals||{};const Zq=\"ck-link_selected\";const Jq=\"automatic\";const Xq=\"manual\";const tG=/^(https?:)?\\/\\//;class eG extends Ed{static get pluginName(){return\"LinkEditing\"}static get requires(){return[HB,xB,pz]}constructor(t){super(t);t.config.define(\"link\",{allowCreatingEmptyLinks:false,addTargetToExternalLinks:false})}init(){const t=this.editor;const e=this.editor.config.get(\"link.allowedProtocols\");t.model.schema.extend(\"$text\",{allowAttributes:\"linkHref\"});t.conversion.for(\"dataDowncast\").attributeToElement({model:\"linkHref\",view:Pq});t.conversion.for(\"editingDowncast\").attributeToElement({model:\"linkHref\",view:(t,n)=>Pq(Nq(t,e),n)});t.conversion.for(\"upcast\").elementToAttribute({view:{name:\"a\",attributes:{href:true}},model:{key:\"linkHref\",value:t=>t.getAttribute(\"href\")}});t.commands.add(\"link\",new Uq(t));t.commands.add(\"unlink\",new qq(t));const n=zq(t.t,Oq(t.config.get(\"link.decorators\")));this._enableAutomaticDecorators(n.filter((t=>t.mode===Jq)));this._enableManualDecorators(n.filter((t=>t.mode===Xq)));const o=t.plugins.get(HB);o.registerAttribute(\"linkHref\");aM(t,\"linkHref\",\"a\",Zq);this._enableLinkOpen();this._enableSelectionAttributesFixer();this._enableClipboardIntegration()}_enableAutomaticDecorators(t){const e=this.editor;const n=e.commands.get(\"link\");const o=n.automaticDecorators;if(e.config.get(\"link.addTargetToExternalLinks\")){o.add({id:\"linkIsExternal\",mode:Jq,callback:t=>!!t&&tG.test(t),attributes:{target:\"_blank\",rel:\"noopener noreferrer\"}})}o.add(t);if(o.length){e.conversion.for(\"downcast\").add(o.getDispatcher())}}_enableManualDecorators(t){if(!t.length){return}const e=this.editor;const n=e.commands.get(\"link\");const o=n.manualDecorators;t.forEach((t=>{e.model.schema.extend(\"$text\",{allowAttributes:t.id});const n=new Gq(t);o.add(n);e.conversion.for(\"downcast\").attributeToElement({model:n.id,view:(t,{writer:e,schema:o},{item:i})=>{if(!(i.is(\"selection\")||o.isInline(i))){return}if(t){const t=e.createAttributeElement(\"a\",n.attributes,{priority:5});if(n.classes){e.addClass(n.classes,t)}for(const o in n.styles){e.setStyle(o,n.styles[o],t)}e.setCustomProperty(\"link\",true,t);return t}}});e.conversion.for(\"upcast\").elementToAttribute({view:{name:\"a\",...n._createPattern()},model:{key:n.id}})}))}_enableLinkOpen(){const t=this.editor;const e=t.editing.view;const n=e.document;this.listenTo(n,\"click\",((t,e)=>{const n=l.isMac?e.domEvent.metaKey:e.domEvent.ctrlKey;if(!n){return}let o=e.domTarget;if(o.tagName.toLowerCase()!=\"a\"){o=o.closest(\"a\")}if(!o){return}const i=o.getAttribute(\"href\");if(!i){return}t.stop();e.preventDefault();Hq(i)}),{context:\"$capture\"});this.listenTo(n,\"keydown\",((e,n)=>{const o=t.commands.get(\"link\");const i=o.value;const r=!!i&&n.keyCode===Yc.enter&&n.altKey;if(!r){return}e.stop();Hq(i)}))}_enableSelectionAttributesFixer(){const t=this.editor;const e=t.model;const n=e.document.selection;this.listenTo(n,\"change:attribute\",((t,{attributeKeys:o})=>{if(!o.includes(\"linkHref\")||n.hasAttribute(\"linkHref\")){return}e.change((t=>{nG(t,oG(e.schema))}))}))}_enableClipboardIntegration(){const t=this.editor;const e=t.model;const n=this.editor.config.get(\"link.defaultProtocol\");if(!n){return}this.listenTo(t.plugins.get(\"ClipboardPipeline\"),\"contentInsertion\",((t,o)=>{e.change((t=>{const e=t.createRangeIn(o.content);for(const o of e.getItems()){if(o.hasAttribute(\"linkHref\")){const e=Fq(o.getAttribute(\"linkHref\"),n);t.setAttribute(\"linkHref\",e,o)}}}))}))}}function nG(t,e){t.removeSelectionAttribute(\"linkHref\");for(const n of e){t.removeSelectionAttribute(n)}}function oG(t){const e=t.getDefinition(\"$text\").allowAttributes;return e.filter((t=>t.startsWith(\"link\")))}var iG=n(2375);var rG={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};rG.insert=\"head\";rG.singleton=true;var sG=Ld()(iG.A,rG);const aG=iG.A.locals||{};class cG extends ov{constructor(t,e){super(t);this.focusTracker=new ad;this.keystrokes=new cd;this._focusables=new vC;const n=t.t;this.urlInputView=this._createUrlInput();this.saveButtonView=this._createButton(n(\"Save\"),CC.check,\"ck-button-save\");this.saveButtonView.type=\"submit\";this.cancelButtonView=this._createButton(n(\"Cancel\"),CC.cancel,\"ck-button-cancel\",\"cancel\");this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e);this.children=this._createFormChildren(e.manualDecorators);this._focusCycler=new Fy({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});const o=[\"ck\",\"ck-link-form\",\"ck-responsive-form\"];if(e.manualDecorators.length){o.push(\"ck-link-form_layout-vertical\",\"ck-vertical-form\")}this.setTemplate({tag:\"form\",attributes:{class:o,tabindex:\"-1\"},children:this.children})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce(((t,e)=>{t[e.name]=e.isOn;return t}),{})}render(){super.render();i({view:this});const t=[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView];t.forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}));this.keystrokes.listenTo(this.element)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createUrlInput(){const t=this.locale.t;const e=new py(this.locale,Vx);e.label=t(\"Link URL\");return e}_createButton(t,e,n,o){const i=new Sv(this.locale);i.set({label:t,icon:e,tooltip:true});i.extendTemplate({attributes:{class:n}});if(o){i.delegate(\"execute\").to(this,o)}return i}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const o=new Lv(this.locale);o.set({name:n.id,label:n.label,withText:true});o.bind(\"isOn\").toMany([n,t],\"value\",((t,e)=>e===undefined&&t===undefined?!!n.defaultValue:!!t));o.on(\"execute\",(()=>{n.set(\"value\",!o.isOn)}));e.add(o)}return e}_createFormChildren(t){const e=this.createCollection();e.add(this.urlInputView);if(t.length){const t=new ov;t.setTemplate({tag:\"ul\",children:this._manualDecoratorSwitches.map((t=>({tag:\"li\",children:[t],attributes:{class:[\"ck\",\"ck-list__item\"]}}))),attributes:{class:[\"ck\",\"ck-reset\",\"ck-list\"]}});e.add(t)}e.add(this.saveButtonView);e.add(this.cancelButtonView);return e}}var lG=n(6144);var dG={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};dG.insert=\"head\";dG.singleton=true;var uG=Ld()(lG.A,dG);const hG=lG.A.locals||{};const mG='';class gG extends ov{constructor(t,e={}){super(t);this.focusTracker=new ad;this.keystrokes=new cd;this._focusables=new vC;const n=t.t;this.previewButtonView=this._createPreviewButton();this.unlinkButtonView=this._createButton(n(\"Unlink\"),mG,\"unlink\");this.editButtonView=this._createButton(n(\"Edit link\"),CC.pencil,\"edit\");this.set(\"href\",undefined);this._linkConfig=e;this._focusCycler=new Fy({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-link-actions\",\"ck-responsive-form\"],tabindex:\"-1\"},children:[this.previewButtonView,this.editButtonView,this.unlinkButtonView]})}render(){super.render();const t=[this.previewButtonView,this.editButtonView,this.unlinkButtonView];t.forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}));this.keystrokes.listenTo(this.element)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createButton(t,e,n){const o=new Sv(this.locale);o.set({label:t,icon:e,tooltip:true});o.delegate(\"execute\").to(this,n);return o}_createPreviewButton(){const t=new Sv(this.locale);const e=this.bindTemplate;const n=this.t;t.set({withText:true,tooltip:n(\"Open link in new tab\")});t.extendTemplate({attributes:{class:[\"ck\",\"ck-link-actions__preview\"],href:e.to(\"href\",(t=>t&&Nq(t,this._linkConfig.allowedProtocols))),target:\"_blank\",rel:\"noopener noreferrer\"}});t.bind(\"label\").to(this,\"href\",(t=>t||n(\"This link has no URL\")));t.bind(\"isEnabled\").to(this,\"href\",(t=>!!t));t.template.tag=\"a\";t.template.eventListeners={};return t}}const fG='';const pG=\"link-ui\";class bG extends Ed{constructor(){super(...arguments);this.actionsView=null;this.formView=null}static get requires(){return[KI]}static get pluginName(){return\"LinkUI\"}init(){const t=this.editor;const e=this.editor.t;t.editing.view.addObserver(lA);this._balloon=t.plugins.get(KI);this._createToolbarLinkButton();this._enableBalloonActivators();t.conversion.for(\"editingDowncast\").markerToHighlight({model:pG,view:{classes:[\"ck-fake-link-selection\"]}});t.conversion.for(\"editingDowncast\").markerToElement({model:pG,view:{name:\"span\",classes:[\"ck-fake-link-selection\",\"ck-fake-link-selection_collapsed\"]}});t.accessibility.addKeystrokeInfos({keystrokes:[{label:e(\"Create link\"),keystroke:Bq},{label:e(\"Move out of a link\"),keystroke:[[\"arrowleft\",\"arrowleft\"],[\"arrowright\",\"arrowright\"]]}]})}destroy(){super.destroy();if(this.formView){this.formView.destroy()}if(this.actionsView){this.actionsView.destroy()}}_createViews(){this.actionsView=this._createActionsView();this.formView=this._createFormView();this._enableUserBalloonInteractions()}_createActionsView(){const t=this.editor;const e=new gG(t.locale,t.config.get(\"link\"));const n=t.commands.get(\"link\");const o=t.commands.get(\"unlink\");e.bind(\"href\").to(n,\"value\");e.editButtonView.bind(\"isEnabled\").to(n);e.unlinkButtonView.bind(\"isEnabled\").to(o);this.listenTo(e,\"edit\",(()=>{this._addFormView()}));this.listenTo(e,\"unlink\",(()=>{t.execute(\"unlink\");this._hideUI()}));e.keystrokes.set(\"Esc\",((t,e)=>{this._hideUI();e()}));e.keystrokes.set(Bq,((t,e)=>{this._addFormView();e()}));return e}_createFormView(){const t=this.editor;const n=t.commands.get(\"link\");const o=t.config.get(\"link.defaultProtocol\");const i=t.config.get(\"link.allowCreatingEmptyLinks\");const r=new(e(cG))(t.locale,n);r.urlInputView.fieldView.bind(\"value\").to(n,\"value\");r.urlInputView.bind(\"isEnabled\").to(n,\"isEnabled\");r.saveButtonView.bind(\"isEnabled\").to(n,\"isEnabled\",r.urlInputView,\"isEmpty\",((t,e)=>t&&(i||!e)));this.listenTo(r,\"submit\",(()=>{const{value:e}=r.urlInputView.fieldView.element;const n=Fq(e,o);t.execute(\"link\",n,r.getDecoratorSwitchesState());this._closeFormView()}));this.listenTo(r,\"cancel\",(()=>{this._closeFormView()}));r.keystrokes.set(\"Esc\",((t,e)=>{this._closeFormView();e()}));return r}_createToolbarLinkButton(){const t=this.editor;const e=t.commands.get(\"link\");t.ui.componentFactory.add(\"link\",(()=>{const t=this._createButton(Sv);t.set({tooltip:true,isToggleable:true});t.bind(\"isOn\").to(e,\"value\",(t=>!!t));return t}));t.ui.componentFactory.add(\"menuBar:link\",(()=>this._createButton(qS)))}_createButton(t){const e=this.editor;const n=e.locale;const o=e.commands.get(\"link\");const i=new t(e.locale);const r=n.t;i.set({label:r(\"Link\"),icon:fG,keystroke:Bq});i.bind(\"isEnabled\").to(o,\"isEnabled\");this.listenTo(i,\"execute\",(()=>this._showUI(true)));return i}_enableBalloonActivators(){const t=this.editor;const e=t.editing.view.document;this.listenTo(e,\"click\",(()=>{const t=this._getSelectedLinkElement();if(t){this._showUI()}}));t.keystrokes.set(Bq,((e,n)=>{n();if(t.commands.get(\"link\").isEnabled){this._showUI(true)}}))}_enableUserBalloonInteractions(){this.editor.keystrokes.set(\"Tab\",((t,e)=>{if(this._areActionsVisible&&!this.actionsView.focusTracker.isFocused){this.actionsView.focus();e()}}),{priority:\"high\"});this.editor.keystrokes.set(\"Esc\",((t,e)=>{if(this._isUIVisible){this._hideUI();e()}}));t({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){if(!this.actionsView){this._createViews()}if(this._areActionsInPanel){return}this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(!this.formView){this._createViews()}if(this._isFormInPanel){return}const t=this.editor;const e=t.commands.get(\"link\");this.formView.disableCssTransitions();this._balloon.add({view:this.formView,position:this._getBalloonPositionData()});this.formView.urlInputView.fieldView.value=e.value||\"\";if(this._balloon.visibleView===this.formView){this.formView.urlInputView.fieldView.select()}this.formView.enableCssTransitions()}_closeFormView(){const t=this.editor.commands.get(\"link\");t.restoreManualDecoratorStates();if(t.value!==undefined){this._removeFormView()}else{this._hideUI()}}_removeFormView(){if(this._isFormInPanel){this.formView.saveButtonView.focus();this.formView.urlInputView.fieldView.reset();this._balloon.remove(this.formView);this.editor.editing.view.focus();this._hideFakeVisualSelection()}}_showUI(t=false){if(!this.formView){this._createViews()}if(!this._getSelectedLinkElement()){this._showFakeVisualSelection();this._addActionsView();if(t){this._balloon.showStack(\"main\")}this._addFormView()}else{if(this._areActionsVisible){this._addFormView()}else{this._addActionsView()}if(t){this._balloon.showStack(\"main\")}}this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel){return}const t=this.editor;this.stopListening(t.ui,\"update\");this.stopListening(this._balloon,\"change:visibleView\");t.editing.view.focus();this._removeFormView();this._balloon.remove(this.actionsView);this._hideFakeVisualSelection()}_startUpdatingUI(){const t=this.editor;const e=t.editing.view.document;let n=this._getSelectedLinkElement();let o=r();const i=()=>{const t=this._getSelectedLinkElement();const e=r();if(n&&!t||!n&&e!==o){this._hideUI()}else if(this._isUIVisible){this._balloon.updatePosition(this._getBalloonPositionData())}n=t;o=e};function r(){return e.selection.focus.getAncestors().reverse().find((t=>t.is(\"element\")))}this.listenTo(t.ui,\"update\",i);this.listenTo(this._balloon,\"change:visibleView\",i)}get _isFormInPanel(){return!!this.formView&&this._balloon.hasView(this.formView)}get _areActionsInPanel(){return!!this.actionsView&&this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return!!this.actionsView&&this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const t=this._balloon.visibleView;return!!this.formView&&t==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view;const e=this.editor.model;const n=t.document;let o;if(e.markers.has(pG)){const e=Array.from(this.editor.editing.mapper.markerNameToElements(pG));const n=t.createRange(t.createPositionBefore(e[0]),t.createPositionAfter(e[e.length-1]));o=t.domConverter.viewRangeToDom(n)}else{o=()=>{const e=this._getSelectedLinkElement();return e?t.domConverter.mapViewToDom(e):t.domConverter.viewRangeToDom(n.selection.getFirstRange())}}return{target:o}}_getSelectedLinkElement(){const t=this.editor.editing.view;const e=t.document.selection;const n=e.getSelectedElement();if(e.isCollapsed||n&&yz(n)){return kG(e.getFirstPosition())}else{const n=e.getFirstRange().getTrimmed();const o=kG(n.start);const i=kG(n.end);if(!o||o!=i){return null}if(t.createRangeIn(o).getTrimmed().isEqual(n)){return o}else{return null}}}_showFakeVisualSelection(){const t=this.editor.model;t.change((e=>{const n=t.document.selection.getFirstRange();if(t.markers.has(pG)){e.updateMarker(pG,{range:n})}else{if(n.start.isAtEnd){const o=n.start.getLastMatchingPosition((({item:e})=>!t.schema.isContent(e)),{boundaries:n});e.addMarker(pG,{usingOperation:false,affectsData:false,range:e.createRange(o,n.end)})}else{e.addMarker(pG,{usingOperation:false,affectsData:false,range:n})}}}))}_hideFakeVisualSelection(){const t=this.editor.model;if(t.markers.has(pG)){t.change((t=>{t.removeMarker(pG)}))}}}function kG(t){return t.getAncestors().find((t=>Mq(t)))||null}const wG=4;const AG=new RegExp(\"(^|\\\\s)\"+\"(\"+\"(\"+\"(?:(?:(?:https?|ftp):)?\\\\/\\\\/)\"+\"(?:\\\\S+(?::\\\\S*)?@)?\"+\"(?:\"+\"(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])\"+\"(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}\"+\"(?:\\\\.(?:[1-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))\"+\"|\"+\"(\"+\"((?!www\\\\.)|(www\\\\.))\"+\"(?![-_])(?:[-_a-z0-9\\\\u00a1-\\\\uffff]{1,63}\\\\.)+\"+\"(?:[a-z\\\\u00a1-\\\\uffff]{2,63})\"+\")\"+\")\"+\"(?::\\\\d{2,5})?\"+\"(?:[/?#]\\\\S*)?\"+\")\"+\"|\"+\"(\"+\"(www.|(\\\\S+@))\"+\"((?![-_])(?:[-_a-z0-9\\\\u00a1-\\\\uffff]{1,63}\\\\.))+\"+\"(?:[a-z\\\\u00a1-\\\\uffff]{2,63})\"+\")\"+\")$\",\"i\");const _G=2;class CG extends Ed{static get requires(){return[RB,eG]}static get pluginName(){return\"AutoLink\"}init(){const t=this.editor;const e=t.model.document.selection;e.on(\"change:range\",(()=>{this.isEnabled=!e.anchor.parent.is(\"element\",\"codeBlock\")}));this._enableTypingHandling()}afterInit(){this._enableEnterHandling();this._enableShiftEnterHandling();this._enablePasteLinking()}_expandLinkRange(t,e){if(e.textNode&&e.textNode.hasAttribute(\"linkHref\")){return rM(e,\"linkHref\",e.textNode.getAttribute(\"linkHref\"),t)}else{return null}}_selectEntireLinks(t,e){const n=this.editor;const o=n.model;const i=o.document.selection;const r=i.getFirstPosition();const s=i.getLastPosition();let a=e.getJoined(this._expandLinkRange(o,r)||e);if(a){a=a.getJoined(this._expandLinkRange(o,s)||e)}if(a&&(a.start.isBefore(r)||a.end.isAfter(s))){t.setSelection(a)}}_enablePasteLinking(){const t=this.editor;const e=t.model;const n=e.document.selection;const o=t.plugins.get(\"ClipboardPipeline\");const i=t.commands.get(\"link\");o.on(\"inputTransformation\",((t,o)=>{if(!this.isEnabled||!i.isEnabled||n.isCollapsed||o.method!==\"paste\"){return}if(n.rangeCount>1){return}const r=n.getFirstRange();const s=o.dataTransfer.getData(\"text/plain\");if(!s){return}const a=s.match(AG);if(a&&a[2]===s){e.change((t=>{this._selectEntireLinks(t,r);i.execute(s)}));t.stop()}}),{priority:\"high\"})}_enableTypingHandling(){const t=this.editor;const e=new jB(t.model,(t=>{if(!vG(t)){return}const e=yG(t.substr(0,t.length-1));if(e){return{url:e}}}));e.on(\"matched:data\",((e,n)=>{const{batch:o,range:i,url:r}=n;if(!o.isTyping){return}const s=i.end.getShiftedBy(-1);const a=s.getShiftedBy(-r.length);const c=t.model.createRange(a,s);this._applyAutoLink(r,c)}));e.bind(\"isEnabled\").to(this)}_enableEnterHandling(){const t=this.editor;const e=t.model;const n=t.commands.get(\"enter\");if(!n){return}n.on(\"execute\",(()=>{const t=e.document.selection.getFirstPosition();if(!t.parent.previousSibling){return}const n=e.createRangeIn(t.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(n)}))}_enableShiftEnterHandling(){const t=this.editor;const e=t.model;const n=t.commands.get(\"shiftEnter\");if(!n){return}n.on(\"execute\",(()=>{const t=e.document.selection.getFirstPosition();const n=e.createRange(e.createPositionAt(t.parent,0),t.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(n)}))}_checkAndApplyAutoLinkOnRange(t){const e=this.editor.model;const{text:n,range:o}=FB(t,e);const i=yG(n);if(i){const t=e.createRange(o.end.getShiftedBy(-i.length),o.end);this._applyAutoLink(i,t)}}_applyAutoLink(t,e){const n=this.editor.model;const o=this.editor.config.get(\"link.defaultProtocol\");const i=Fq(t,o);if(!this.isEnabled||!xG(e,n)||!jq(i)||EG(e)){return}this._persistAutoLink(i,e)}_persistAutoLink(t,e){const n=this.editor.model;const o=this.editor.plugins.get(\"Delete\");n.enqueueChange((i=>{i.setAttribute(\"linkHref\",t,e);n.enqueueChange((()=>{o.requestUndoOnBackspace()}))}))}}function vG(t){return t.length>wG&&t[t.length-1]===\" \"&&t[t.length-2]!==\" \"}function yG(t){const e=AG.exec(t);return e?e[_G]:null}function xG(t,e){return e.schema.checkAttributeInSelection(e.createSelection(t),\"linkHref\")}function EG(t){const e=t.start.nodeAfter;return!!e&&e.hasAttribute(\"linkHref\")}class DG extends Ed{static get requires(){return[eG,bG,CG]}static get pluginName(){return\"Link\"}}class IG extends(null&&Plugin){static get requires(){return[\"ImageEditing\",\"ImageUtils\",LinkEditing]}static get pluginName(){return\"LinkImageEditing\"}afterInit(){const t=this.editor;const e=t.model.schema;if(t.plugins.has(\"ImageBlockEditing\")){e.extend(\"imageBlock\",{allowAttributes:[\"linkHref\"]})}t.conversion.for(\"upcast\").add(TG(t));t.conversion.for(\"downcast\").add(SG(t));this._enableAutomaticDecorators();this._enableManualDecorators()}_enableAutomaticDecorators(){const t=this.editor;const e=t.commands.get(\"link\");const n=e.automaticDecorators;if(n.length){t.conversion.for(\"downcast\").add(n.getDispatcherForLinkedImage())}}_enableManualDecorators(){const t=this.editor;const e=t.commands.get(\"link\");for(const n of e.manualDecorators){if(t.plugins.has(\"ImageBlockEditing\")){t.model.schema.extend(\"imageBlock\",{allowAttributes:n.id})}if(t.plugins.has(\"ImageInlineEditing\")){t.model.schema.extend(\"imageInline\",{allowAttributes:n.id})}t.conversion.for(\"downcast\").add(BG(n));t.conversion.for(\"upcast\").add(MG(t,n))}}}function TG(t){const e=t.plugins.has(\"ImageInlineEditing\");const n=t.plugins.get(\"ImageUtils\");return t=>{t.on(\"element:a\",((t,o,i)=>{const r=o.viewItem;const s=n.findViewImgElement(r);if(!s){return}const a=s.findAncestor((t=>n.isBlockImageView(t)));if(e&&!a){return}const c={attributes:[\"href\"]};if(!i.consumable.consume(r,c)){return}const l=r.getAttribute(\"href\");if(!l){return}let d=o.modelCursor.parent;if(!d.is(\"element\",\"imageBlock\")){const t=i.convertItem(s,o.modelCursor);o.modelRange=t.modelRange;o.modelCursor=t.modelCursor;d=o.modelCursor.nodeBefore}if(d&&d.is(\"element\",\"imageBlock\")){i.writer.setAttribute(\"linkHref\",l,d)}}),{priority:\"high\"})}}function SG(t){const e=t.plugins.get(\"ImageUtils\");return t=>{t.on(\"attribute:linkHref:imageBlock\",((t,n,o)=>{if(!o.consumable.consume(n.item,t.name)){return}const i=o.mapper.toViewElement(n.item);const r=o.writer;const s=Array.from(i.getChildren()).find((t=>t.is(\"element\",\"a\")));const a=e.findViewImgElement(i);const c=a.parent.is(\"element\",\"picture\")?a.parent:a;if(s){if(n.attributeNewValue){r.setAttribute(\"href\",n.attributeNewValue,s)}else{r.move(r.createRangeOn(c),r.createPositionAt(i,0));r.remove(s)}}else{const t=r.createContainerElement(\"a\",{href:n.attributeNewValue});r.insert(r.createPositionAt(i,0),t);r.move(r.createRangeOn(c),r.createPositionAt(t,0))}}),{priority:\"high\"})}}function BG(t){return e=>{e.on(`attribute:${t.id}:imageBlock`,((e,n,o)=>{const i=o.mapper.toViewElement(n.item);const r=Array.from(i.getChildren()).find((t=>t.is(\"element\",\"a\")));if(!r){return}for(const[e,n]of toMap(t.attributes)){o.writer.setAttribute(e,n,r)}if(t.classes){o.writer.addClass(t.classes,r)}for(const e in t.styles){o.writer.setStyle(e,t.styles[e],r)}}))}}function MG(t,e){const n=t.plugins.has(\"ImageInlineEditing\");const o=t.plugins.get(\"ImageUtils\");return t=>{t.on(\"element:a\",((t,i,r)=>{const s=i.viewItem;const a=o.findViewImgElement(s);if(!a){return}const c=a.findAncestor((t=>o.isBlockImageView(t)));if(n&&!c){return}const l=new Matcher(e._createPattern());const d=l.match(s);if(!d){return}if(!r.consumable.consume(s,d.match)){return}const u=i.modelCursor.nodeBefore||i.modelCursor.parent;r.writer.setAttribute(e.id,true,u)}),{priority:\"high\"})}}class PG extends(null&&Plugin){static get requires(){return[LinkEditing,LinkUI,\"ImageBlockEditing\"]}static get pluginName(){return\"LinkImageUI\"}init(){const t=this.editor;const e=t.editing.view.document;this.listenTo(e,\"click\",((e,n)=>{if(this._isSelectedLinkedImage(t.model.document.selection)){n.preventDefault();e.stop()}}),{priority:\"high\"});this._createToolbarLinkImageButton()}_createToolbarLinkImageButton(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(\"linkImage\",(n=>{const o=new ButtonView(n);const i=t.plugins.get(\"LinkUI\");const r=t.commands.get(\"link\");o.set({isEnabled:true,label:e(\"Link image\"),icon:linkIcon,keystroke:LINK_KEYSTROKE,tooltip:true,isToggleable:true});o.bind(\"isEnabled\").to(r,\"isEnabled\");o.bind(\"isOn\").to(r,\"value\",(t=>!!t));this.listenTo(o,\"execute\",(()=>{if(this._isSelectedLinkedImage(t.model.document.selection)){i._addActionsView()}else{i._showUI(true)}}));return o}))}_isSelectedLinkedImage(t){const e=t.getSelectedElement();const n=this.editor.plugins.get(\"ImageUtils\");return n.isImage(e)&&e.hasAttribute(\"linkHref\")}}var NG=n(1634);var LG={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};LG.insert=\"head\";LG.singleton=true;var zG=Ld()(NG.A,LG);const OG=NG.A.locals||{};class RG extends(null&&Plugin){static get requires(){return[LinkImageEditing,LinkImageUI]}static get pluginName(){return\"LinkImage\"}}class VG{constructor(t,e){this._startElement=t;this._referenceIndent=t.getAttribute(\"listIndent\");this._isForward=e.direction==\"forward\";this._includeSelf=!!e.includeSelf;this._sameAttributes=sl(e.sameAttributes||[]);this._sameIndent=!!e.sameIndent;this._lowerIndent=!!e.lowerIndent;this._higherIndent=!!e.higherIndent}static first(t,e){const n=new this(t,e);const o=n[Symbol.iterator]();return sd(o)}*[Symbol.iterator](){const t=[];for(const{node:e}of FG(this._getStartNode(),this._isForward?\"forward\":\"backward\")){const n=e.getAttribute(\"listIndent\");if(nthis._referenceIndent){if(!this._higherIndent){continue}if(!this._isForward){t.push(e);continue}}else{if(!this._sameIndent){if(this._higherIndent){if(t.length){yield*t;t.length=0}break}continue}if(this._sameAttributes.some((t=>e.getAttribute(t)!==this._startElement.getAttribute(t)))){break}}if(t.length){yield*t;t.length=0}yield e}}_getStartNode(){if(this._includeSelf){return this._startElement}return this._isForward?this._startElement.nextSibling:this._startElement.previousSibling}}function*FG(t,e=\"forward\"){const n=e==\"forward\";const o=[];let i=null;while(UG(t)){let e=null;if(i){const n=t.getAttribute(\"listIndent\");const r=i.getAttribute(\"listIndent\");if(n>r){o[r]=i}else if(nt.getAttribute(\"listIndent\"))));const r=new Map;for(const t of n){r.set(t,VG.first(t,{lowerIndent:true}))}for(const t of n){if(o.has(t)){continue}o.add(t);const n=t.getAttribute(\"listIndent\")-1;if(n<0){n$(t,e);continue}if(t.getAttribute(\"listIndent\")==i){const n=l$(t,r.get(t),e);for(const t of n){o.add(t)}if(n.length){continue}}e.setAttribute(\"listIndent\",n,t)}return r$(o)}function n$(t,e){t=sl(t);for(const n of t){if(n.is(\"element\",\"listItem\")){e.rename(n,\"paragraph\")}}for(const n of t){for(const t of n.getAttributeKeys()){if(t.startsWith(\"list\")){e.removeAttribute(t,n)}}}return t}function o$(t){if(!t.length){return false}const e=t[0].getAttribute(\"listItemId\");if(!e){return false}return!t.some((t=>t.getAttribute(\"listItemId\")!=e))}function i$(t,e){const n=[];let o=Number.POSITIVE_INFINITY;for(const{node:i}of FG(t.nextSibling,\"forward\")){const t=i.getAttribute(\"listIndent\");if(t==0){break}if(tt.root.rootName!==\"$graveyard\")).sort(((t,e)=>t.index-e.index))}function s$(t){const e=t.document.selection.getSelectedElement();if(!e){return null}if(t.schema.isObject(e)&&t.schema.isBlock(e)){return e}return null}function a$(t,e){return e.checkChild(t.parent,\"listItem\")&&e.checkChild(t,\"$text\")&&!e.isObject(t)}function c$(t){return t==\"numbered\"||t==\"customNumbered\"}function l$(t,e,n){const o=qG(e,{direction:\"forward\"});if(o.pop().index>t.index){return XG(t,e,n)}return[]}class d$ extends Id{constructor(t,e){super(t);this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model;const e=u$(t.document.selection);t.change((t=>{const n=[];if(o$(e)&&!KG(e[0])){if(this._direction==\"forward\"){n.push(...t$(e,t))}n.push(...JG(e[0],t))}else{if(this._direction==\"forward\"){n.push(...t$(e,t,{expand:true}))}else{n.push(...e$(e,t))}}for(const e of n){if(!e.hasAttribute(\"listType\")){continue}const n=VG.first(e,{sameIndent:true});if(n){t.setAttribute(\"listType\",n.getAttribute(\"listType\"),e)}}this._fireAfterExecute(n)}))}_fireAfterExecute(t){this.fire(\"afterExecute\",r$(new Set(t)))}_checkEnabled(){let t=u$(this.editor.model.document.selection);let e=t[0];if(!e){return false}if(this._direction==\"backward\"){return true}if(o$(t)&&!KG(t[0])){return true}t=QG(t);e=t[0];const n=VG.first(e,{sameIndent:true});if(!n){return false}if(n.getAttribute(\"listType\")==e.getAttribute(\"listType\")){return true}return false}}function u$(t){const e=Array.from(t.getSelectedBlocks());const n=e.findIndex((t=>!UG(t)));if(n!=-1){e.length=n}return e}class h$ extends Id{constructor(t,e,n={}){super(t);this.type=e;this._listWalkerOptions=n.multiLevel?{higherIndent:true,lowerIndent:true,sameAttributes:[]}:undefined}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.document;const o=s$(e);const i=Array.from(n.selection.getSelectedBlocks()).filter((t=>e.schema.checkAttribute(t,\"listType\")||a$(t,e.schema)));const r=t.forceValue!==undefined?!t.forceValue:this.value;e.change((s=>{if(r){const t=i[i.length-1];const e=qG(t,{direction:\"forward\"});const n=[];if(e.length>1){n.push(...JG(e[1],s))}n.push(...n$(i,s));n.push(...i$(t,s));this._fireAfterExecute(n)}else if((o||n.selection.isCollapsed)&&UG(i[0])){const e=$G(o||i[0],this._listWalkerOptions);for(const n of e){s.setAttributes({...t.additionalAttributes,listType:this.type},n)}this._fireAfterExecute(e)}else{const n=[];for(const o of i){if(!o.hasAttribute(\"listType\")){if(!o.is(\"element\",\"listItem\")&&a$(o,e.schema)){s.rename(o,\"listItem\")}s.setAttributes({...t.additionalAttributes,listIndent:0,listItemId:HG.next(),listType:this.type},o);n.push(o)}else{for(const e of QG(o,{withNested:false})){if(e.getAttribute(\"listType\")!=this.type){s.setAttributes({...t.additionalAttributes,listType:this.type},e);n.push(e)}}}}this._fireAfterExecute(n)}}))}_fireAfterExecute(t){this.fire(\"afterExecute\",r$(new Set(t)))}_getValue(){const t=this.editor.model.document.selection;const e=Array.from(t.getSelectedBlocks());if(!e.length){return false}for(const t of e){if(t.getAttribute(\"listType\")!=this.type){return false}}return true}_checkEnabled(){const t=this.editor.model;const e=t.schema;const n=t.document.selection;const o=Array.from(n.getSelectedBlocks());if(!o.length){return false}if(this.value){return true}for(const t of o){if(e.checkAttribute(t,\"listType\")||a$(t,e)){return true}}return false}}class m$ extends Id{constructor(t,e){super(t);this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute({shouldMergeOnBlocksContentLevel:t=false}={}){const e=this.editor.model;const n=e.document.selection;const o=[];e.change((i=>{const{firstElement:r,lastElement:s}=this._getMergeSubjectElements(n,t);const a=r.getAttribute(\"listIndent\")||0;const c=s.getAttribute(\"listIndent\");const l=s.getAttribute(\"listItemId\");if(a!=c){const t=GG(s);o.push(...t$([s,...t],i,{indentBy:a-c,expand:a{const e=JG(this._getStartBlock(),t);this._fireAfterExecute(e)}))}_fireAfterExecute(t){this.fire(\"afterExecute\",r$(new Set(t)))}_checkEnabled(){const t=this.editor.model.document.selection;const e=this._getStartBlock();return t.isCollapsed&&UG(e)&&!KG(e)}_getStartBlock(){const t=this.editor.model.document;const e=t.selection.getFirstPosition().parent;return this._direction==\"before\"?e:e.nextSibling}}class f$ extends Ed{static get pluginName(){return\"ListUtils\"}expandListBlocksToCompleteList(t){return ZG(t)}isFirstBlockOfListItem(t){return KG(t)}isListItemBlock(t){return UG(t)}expandListBlocksToCompleteItems(t,e={}){return QG(t,e)}isNumberedListType(t){return c$(t)}}function p$(t){return t.is(\"element\",\"ol\")||t.is(\"element\",\"ul\")}function b$(t){return t.is(\"element\",\"li\")}function k$(t){let e=0;let n=t.parent;while(n){if(b$(n)){e++}else{const t=n.previousSibling;if(t&&b$(t)){e++}}n=n.parent}return e}function w$(t,e,n,o=C$(n,e)){return t.createAttributeElement(_$(n),null,{priority:2*e/100-100,id:o})}function A$(t,e,n){return t.createAttributeElement(\"li\",null,{priority:(2*e+1)/100-100,id:n})}function _$(t){return t==\"numbered\"||t==\"customNumbered\"?\"ol\":\"ul\"}function C$(t,e){return`list-${t}-${e}`}function v$(t,e){const n=t.nodeBefore;if(!UG(n)){const n=t.nodeAfter;if(UG(n)){e.set(n,n)}}else{let t=n;for(const{node:n}of FG(t,\"backward\")){t=n;if(e.has(t)){return}}e.set(n,t)}}function y$(t,e){let n=0;let o=-1;let i=null;let r=false;for(const{node:s}of t){const t=s.getAttribute(\"listIndent\");if(t>n){let a;if(i===null){i=t-n;a=n}else{if(i>t){i=t}a=t-i}if(a>o+1){a=o+1}e.setAttribute(\"listIndent\",a,s);r=true;o=a}else{i=null;n=t+1;o=t}}return r}function x$(t,e,n){const o=new Set;let i=false;for(const{node:r}of t){if(o.has(r)){continue}let t=r.getAttribute(\"listType\");let s=r.getAttribute(\"listItemId\");if(e.has(s)){s=HG.next()}e.add(s);if(r.is(\"element\",\"listItem\")){if(r.getAttribute(\"listItemId\")!=s){n.setAttribute(\"listItemId\",s,r);i=true}continue}for(const e of qG(r,{direction:\"forward\"})){o.add(e);if(e.getAttribute(\"listType\")!=t){s=HG.next();t=e.getAttribute(\"listType\")}if(e.getAttribute(\"listItemId\")!=s){n.setAttribute(\"listItemId\",s,e);i=true}}}return i}function E$(){return(t,e,n)=>{const{writer:o,schema:i}=n;if(!e.modelRange){return}const r=Array.from(e.modelRange.getItems({shallow:true})).filter((t=>i.checkAttribute(t,\"listItemId\")));if(!r.length){return}const s=HG.next();const a=k$(e.viewItem);let c=e.viewItem.parent&&e.viewItem.parent.is(\"element\",\"ol\")?\"numbered\":\"bulleted\";const l=r[0].getAttribute(\"listType\");if(l){c=l}const d={listItemId:s,listIndent:a,listType:c};for(const t of r){if(!t.hasAttribute(\"listItemId\")){o.setAttributes(d,t)}}if(r.length>1){if(r[1].getAttribute(\"listItemId\")!=d.listItemId){n.keepEmptyElement(r[0])}}}}function D$(){return(t,e,n)=>{if(!n.consumable.test(e.viewItem,{name:true})){return}const o=new uA(e.viewItem.document);for(const t of Array.from(e.viewItem.getChildren())){if(!b$(t)&&!p$(t)){o.remove(t)}}}}function I$(t,e,n,o){return()=>{const o=t.document.differ.getChanges();const s=[];const a=new Map;const c=new Set;for(const t of o){if(t.type==\"insert\"&&t.name!=\"$text\"){v$(t.position,a);if(!t.attributes.has(\"listItemId\")){v$(t.position.getShiftedBy(t.length),a)}else{c.add(t.position.nodeAfter)}}else if(t.type==\"remove\"&&t.attributes.has(\"listItemId\")){v$(t.position,a)}else if(t.type==\"attribute\"){const e=t.range.start.nodeAfter;if(n.includes(t.attributeKey)){v$(t.range.start,a);if(t.attributeNewValue===null){v$(t.range.start.getShiftedBy(1),a);if(r(e)){s.push(e)}}else{c.add(e)}}else if(UG(e)){if(r(e)){s.push(e)}}}}for(const t of a.values()){s.push(...i(t,c))}for(const t of new Set(s)){e.reconvertItem(t)}};function i(t,e){const o=[];const i=new Set;const a=[];for(const{node:c,previous:l}of FG(t,\"forward\")){if(i.has(c)){continue}const t=c.getAttribute(\"listIndent\");if(l&&tn.includes(t))));const d=qG(c,{direction:\"forward\"});for(const t of d){i.add(t);if(r(t,d)){o.push(t)}else if(s(t,a,e)){o.push(t)}}}return o}function r(t,i){const r=e.mapper.toViewElement(t);if(!r){return false}const s=o.fire(\"checkElement\",{modelElement:t,viewElement:r});if(s){return true}if(!t.is(\"element\",\"paragraph\")&&!t.is(\"element\",\"listItem\")){return false}const a=V$(t,n,i);if(a&&r.is(\"element\",\"p\")){return true}else if(!a&&r.is(\"element\",\"span\")){return true}return false}function s(t,n,i){if(i.has(t)){return false}const r=e.mapper.toViewElement(t);let s=n.length-1;for(let t=r.parent;!t.is(\"editableElement\");t=t.parent){const e=b$(t);const i=p$(t);if(!i&&!e){continue}const r=`checkAttributes:${e?\"item\":\"list\"}`;const a=o.fire(r,{viewElement:t,modelAttributes:n[s]});if(a){break}if(i){s--;if(s<0){return false}}}return true}}function T$(t,e,n,{dataPipeline:o}={}){const i=R$(t);return(r,s,a)=>{const{writer:c,mapper:l,consumable:d}=a;const u=s.item;if(!t.includes(s.attributeKey)){return}if(!i(u,d)){return}const h=M$(u,l,n);N$(h,c,l);z$(h,c);const m=L$(u,h,e,c,{dataPipeline:o});O$(u,m,e,c)}}function S$(t){return(e,n,o)=>{const{writer:i,mapper:r}=o;const s=e.name.split(\":\")[1];if(!t.checkAttribute(s,\"listItemId\")){return}const a=r.toViewPosition(n.position);const c=n.position.getShiftedBy(n.length);const l=r.toViewPosition(c,{isPhantom:true});const d=i.createRange(a,l).getTrimmed();const u=d.end.nodeBefore;if(!u){return}N$(u,i,r)}}function B$(t,{dataPipeline:e}={}){return(n,{writer:o})=>{if(!V$(n,t)){return null}if(!e){return o.createContainerElement(\"span\",{class:\"ck-list-bogus-paragraph\"})}const i=o.createContainerElement(\"p\");o.setCustomProperty(\"dataPipeline:transparentRendering\",true,i);return i}}function M$(t,e,n){const o=n.createRangeOn(t);const i=e.toViewRange(o).getTrimmed();return i.end.nodeBefore}function P$(t,e){return(n,o)=>{if(o.modelPosition.offset>0){return}const i=o.modelPosition.parent;if(!UG(i)){return}if(!t.some((t=>t.scope==\"itemMarker\"&&t.canInjectMarkerIntoElement&&t.canInjectMarkerIntoElement(i)))){return}const r=o.mapper.toViewElement(i);const s=e.createRangeIn(r);const a=s.getWalker();let c=s.start;for(const{item:t}of a){if(t.is(\"element\")&&o.mapper.toModelElement(t)||t.is(\"$textProxy\")){break}if(t.is(\"element\")&&t.getCustomProperty(\"listItemMarker\")){c=e.createPositionAfter(t);a.skip((({previousPosition:t})=>!t.isEqual(c)))}}o.viewPosition=c}}function N$(t,e,n){while(t.parent.is(\"attributeElement\")&&t.parent.getCustomProperty(\"listItemWrapper\")){e.unwrap(e.createRangeOn(t),t.parent)}const o=[];i(e.createPositionBefore(t).getWalker({direction:\"backward\"}));i(e.createRangeIn(t).getWalker());for(const t of o){e.remove(t)}function i(t){for(const{item:e}of t){if(e.is(\"element\")&&n.toModelElement(e)){break}if(e.is(\"element\")&&e.getCustomProperty(\"listItemMarker\")){o.push(e)}}}}function L$(t,e,n,o,{dataPipeline:i}){let r=o.createRangeOn(e);if(!KG(t)){return r}for(const s of n){if(s.scope!=\"itemMarker\"){continue}const n=s.createElement(o,t,{dataPipeline:i});if(!n){continue}o.setCustomProperty(\"listItemMarker\",true,n);if(s.canInjectMarkerIntoElement&&s.canInjectMarkerIntoElement(t)){o.insert(o.createPositionAt(e,0),n)}else{o.insert(r.start,n);r=o.createRange(o.createPositionBefore(n),o.createPositionAfter(e))}if(!s.createWrapperElement||!s.canWrapElement){continue}const a=s.createWrapperElement(o,t,{dataPipeline:i});o.setCustomProperty(\"listItemWrapper\",true,a);if(s.canWrapElement(t)){r=o.wrap(r,a)}else{r=o.wrap(o.createRangeOn(n),a);r=o.createRange(r.start,o.createPositionAfter(e))}}return r}function z$(t,e){let n=t.parent;while(n.is(\"attributeElement\")&&[\"ul\",\"ol\",\"li\"].includes(n.name)){const o=n.parent;e.unwrap(e.createRangeOn(t),n);n=o}}function O$(t,e,n,o){if(!t.hasAttribute(\"listIndent\")){return}const i=t.getAttribute(\"listIndent\");let r=t;for(let t=i;t>=0;t--){const i=A$(o,t,r.getAttribute(\"listItemId\"));const s=w$(o,t,r.getAttribute(\"listType\"));for(const t of n){if((t.scope==\"list\"||t.scope==\"item\")&&r.hasAttribute(t.attributeName)){t.setAttributeOnDowncast(o,r.getAttribute(t.attributeName),t.scope==\"list\"?s:i)}}e=o.wrap(e,i);e=o.wrap(e,s);if(t==0){break}r=VG.first(r,{lowerIndent:true});if(!r){break}}}function R$(t){return(e,n)=>{const o=[];for(const n of t){if(e.hasAttribute(n)){o.push(`attribute:${n}`)}}if(!o.every((t=>n.test(e,t)!==false))){return false}o.forEach((t=>n.consume(e,t)));return true}}function V$(t,e,n=WG(t)){if(!UG(t)){return false}for(const n of t.getAttributeKeys()){if(n.startsWith(\"selection:\")){continue}if(!e.includes(n)){return false}}return n.length<2}var F$=n(1374);var j$={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};j$.insert=\"head\";j$.singleton=true;var H$=Ld()(F$.A,j$);const U$=F$.A.locals||{};var W$=n(8921);var q$={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};q$.insert=\"head\";q$.singleton=true;var G$=Ld()(W$.A,q$);const $$=W$.A.locals||{};const K$=[\"listType\",\"listIndent\",\"listItemId\"];class Y$ extends Ed{static get pluginName(){return\"ListEditing\"}static get requires(){return[lP,RB,f$,pz]}constructor(t){super(t);this._downcastStrategies=[];t.config.define(\"list.multiBlock\",true)}init(){const t=this.editor;const e=t.model;const n=t.config.get(\"list.multiBlock\");if(t.plugins.has(\"LegacyListEditing\")){throw new N(\"list-feature-conflict\",this,{conflictPlugin:\"LegacyListEditing\"})}e.schema.register(\"$listItem\",{allowAttributes:K$});if(n){e.schema.extend(\"$container\",{allowAttributesOf:\"$listItem\"});e.schema.extend(\"$block\",{allowAttributesOf:\"$listItem\"});e.schema.extend(\"$blockObject\",{allowAttributesOf:\"$listItem\"})}else{e.schema.register(\"listItem\",{inheritAllFrom:\"$block\",allowAttributesOf:\"$listItem\"})}for(const t of K$){e.schema.setAttributeProperties(t,{copyOnReplace:true})}t.commands.add(\"numberedList\",new h$(t,\"numbered\"));t.commands.add(\"bulletedList\",new h$(t,\"bulleted\"));t.commands.add(\"customNumberedList\",new h$(t,\"customNumbered\",{multiLevel:true}));t.commands.add(\"customBulletedList\",new h$(t,\"customBulleted\",{multiLevel:true}));t.commands.add(\"indentList\",new d$(t,\"forward\"));t.commands.add(\"outdentList\",new d$(t,\"backward\"));t.commands.add(\"splitListItemBefore\",new g$(t,\"before\"));t.commands.add(\"splitListItemAfter\",new g$(t,\"after\"));if(n){t.commands.add(\"mergeListItemBackward\",new m$(t,\"backward\"));t.commands.add(\"mergeListItemForward\",new m$(t,\"forward\"))}this._setupDeleteIntegration();this._setupEnterIntegration();this._setupTabIntegration();this._setupClipboardIntegration();this._setupAccessibilityIntegration()}afterInit(){const t=this.editor;const e=t.commands;const n=e.get(\"indent\");const o=e.get(\"outdent\");if(n){n.registerChildCommand(e.get(\"indentList\"),{priority:\"high\"})}if(o){o.registerChildCommand(e.get(\"outdentList\"),{priority:\"lowest\"})}this._setupModelPostFixing();this._setupConversion()}registerDowncastStrategy(t){this._downcastStrategies.push(t)}getListAttributeNames(){return[...K$,...this._downcastStrategies.map((t=>t.attributeName))]}_setupDeleteIntegration(){const t=this.editor;const e=t.commands.get(\"mergeListItemBackward\");const n=t.commands.get(\"mergeListItemForward\");this.listenTo(t.editing.view.document,\"delete\",((o,i)=>{const r=t.model.document.selection;if(s$(t.model)){return}t.model.change((()=>{const s=r.getFirstPosition();if(r.isCollapsed&&i.direction==\"backward\"){if(!s.isAtStart){return}const n=s.parent;if(!UG(n)){return}const r=VG.first(n,{sameAttributes:\"listType\",sameIndent:true});if(!r&&n.getAttribute(\"listIndent\")===0){if(!YG(n)){t.execute(\"splitListItemAfter\")}t.execute(\"outdentList\")}else{if(!e||!e.isEnabled){return}e.execute({shouldMergeOnBlocksContentLevel:J$(t.model,\"backward\")})}i.preventDefault();o.stop()}else{if(r.isCollapsed&&!r.getLastPosition().isAtEnd){return}if(!n||!n.isEnabled){return}n.execute({shouldMergeOnBlocksContentLevel:J$(t.model,\"forward\")});i.preventDefault();o.stop()}}))}),{context:\"li\"})}_setupEnterIntegration(){const t=this.editor;const e=t.model;const n=t.commands;const o=n.get(\"enter\");this.listenTo(t.editing.view.document,\"enter\",((n,o)=>{const i=e.document;const r=i.selection.getFirstPosition().parent;if(i.selection.isCollapsed&&UG(r)&&r.isEmpty&&!o.isSoft){const e=KG(r);const i=YG(r);if(e&&i){t.execute(\"outdentList\");o.preventDefault();n.stop()}else if(e&&!i){t.execute(\"splitListItemAfter\");o.preventDefault();n.stop()}else if(i){t.execute(\"splitListItemBefore\");o.preventDefault();n.stop()}}}),{context:\"li\"});this.listenTo(o,\"afterExecute\",(()=>{const e=n.get(\"splitListItemBefore\");e.refresh();if(!e.isEnabled){return}const o=t.model.document;const i=o.selection.getLastPosition().parent;const r=WG(i);if(r.length===2){e.execute()}}))}_setupTabIntegration(){const t=this.editor;this.listenTo(t.editing.view.document,\"tab\",((e,n)=>{const o=n.shiftKey?\"outdentList\":\"indentList\";const i=this.editor.commands.get(o);if(i.isEnabled){t.execute(o);n.stopPropagation();n.preventDefault();e.stop()}}),{context:\"li\"})}_setupConversion(){const t=this.editor;const e=t.model;const n=this.getListAttributeNames();const o=t.config.get(\"list.multiBlock\");const i=o?\"paragraph\":\"listItem\";t.conversion.for(\"upcast\").elementToElement({view:\"li\",model:(t,{writer:e})=>e.createElement(i,{listType:\"\"})}).elementToElement({view:\"p\",model:(t,{writer:e})=>{if(t.parent&&t.parent.is(\"element\",\"li\")){return e.createElement(i,{listType:\"\"})}return null},converterPriority:\"high\"}).add((t=>{t.on(\"element:li\",E$());t.on(\"element:ul\",D$(),{priority:\"high\"});t.on(\"element:ol\",D$(),{priority:\"high\"})}));if(!o){t.conversion.for(\"downcast\").elementToElement({model:\"listItem\",view:\"p\"})}t.conversion.for(\"editingDowncast\").elementToElement({model:i,view:B$(n),converterPriority:\"high\"}).add((t=>{t.on(\"attribute\",T$(n,this._downcastStrategies,e));t.on(\"remove\",S$(e.schema))}));t.conversion.for(\"dataDowncast\").elementToElement({model:i,view:B$(n,{dataPipeline:true}),converterPriority:\"high\"}).add((t=>{t.on(\"attribute\",T$(n,this._downcastStrategies,e,{dataPipeline:true}))}));const r=P$(this._downcastStrategies,t.editing.view);t.editing.mapper.on(\"modelToViewPosition\",r);t.data.mapper.on(\"modelToViewPosition\",r);this.listenTo(e.document,\"change:data\",I$(e,t.editing,n,this),{priority:\"high\"});this.on(\"checkAttributes:item\",((t,{viewElement:e,modelAttributes:n})=>{if(e.id!=n.listItemId){t.return=true;t.stop()}}));this.on(\"checkAttributes:list\",((t,{viewElement:e,modelAttributes:n})=>{if(e.name!=_$(n.listType)||e.id!=C$(n.listType,n.listIndent)){t.return=true;t.stop()}}))}_setupModelPostFixing(){const t=this.editor.model;const e=this.getListAttributeNames();t.document.registerPostFixer((n=>Q$(t,n,e,this)));this.on(\"postFixer\",((t,{listNodes:e,writer:n})=>{t.return=y$(e,n)||t.return}),{priority:\"high\"});this.on(\"postFixer\",((t,{listNodes:e,writer:n,seenIds:o})=>{t.return=x$(e,o,n)||t.return}),{priority:\"high\"})}_setupClipboardIntegration(){const t=this.editor.model;const e=this.editor.plugins.get(\"ClipboardPipeline\");this.listenTo(t,\"insertContent\",Z$(t),{priority:\"high\"});this.listenTo(e,\"outputTransformation\",((e,n)=>{t.change((t=>{const e=Array.from(n.content.getChildren());const o=e[e.length-1];if(e.length>1&&o.is(\"element\")&&o.isEmpty){const n=e.slice(0,-1);if(n.every(UG)){t.remove(o)}}if(n.method==\"copy\"||n.method==\"cut\"){const e=Array.from(n.content.getChildren());const o=o$(e);if(o){n$(e,t)}}}))}))}_setupAccessibilityIntegration(){const t=this.editor;const e=t.t;t.accessibility.addKeystrokeInfoGroup({id:\"list\",label:e(\"Keystrokes that can be used in a list\"),keystrokes:[{label:e(\"Increase list item indent\"),keystroke:\"Tab\"},{label:e(\"Decrease list item indent\"),keystroke:\"Shift+Tab\"}]})}}function Q$(t,e,n,o){const i=t.document.differ.getChanges();const r=new Map;const s=o.editor.config.get(\"list.multiBlock\");let a=false;for(const o of i){if(o.type==\"insert\"&&o.name!=\"$text\"){const i=o.position.nodeAfter;if(!t.schema.checkAttribute(i,\"listItemId\")){for(const t of Array.from(i.getAttributeKeys())){if(n.includes(t)){e.removeAttribute(t,i);a=true}}}v$(o.position,r);if(!o.attributes.has(\"listItemId\")){v$(o.position.getShiftedBy(o.length),r)}for(const{item:e,previousPosition:n}of t.createRangeIn(i)){if(UG(e)){v$(n,r)}}}else if(o.type==\"remove\"){v$(o.position,r)}else if(o.type==\"attribute\"&&n.includes(o.attributeKey)){v$(o.range.start,r);if(o.attributeNewValue===null){v$(o.range.start.getShiftedBy(1),r)}}if(!s&&o.type==\"attribute\"&&K$.includes(o.attributeKey)){const t=o.range.start.nodeAfter;if(o.attributeNewValue===null&&t&&t.is(\"element\",\"listItem\")){e.rename(t,\"paragraph\");a=true}else if(o.attributeOldValue===null&&t&&t.is(\"element\")&&t.name!=\"listItem\"){e.rename(t,\"listItem\");a=true}}}const c=new Set;for(const t of r.values()){a=o.fire(\"postFixer\",{listNodes:new jG(t),listHead:t,writer:e,seenIds:c})||a}return a}function Z$(t){return(e,[n,o])=>{const i=n.is(\"documentFragment\")?Array.from(n.getChildren()):[n];if(!i.length){return}const r=o?t.createSelection(o):t.document.selection;const s=r.getFirstPosition();let a;if(UG(s.parent)){a=s.parent}else if(UG(s.nodeBefore)){a=s.nodeBefore}else{return}t.change((t=>{const e=a.getAttribute(\"listType\");const n=a.getAttribute(\"listIndent\");const o=i[0].getAttribute(\"listIndent\")||0;const r=Math.max(n-o,0);for(const n of i){const o=UG(n);if(a.is(\"element\",\"listItem\")&&n.is(\"element\",\"paragraph\")){t.rename(n,\"listItem\")}t.setAttributes({listIndent:(o?n.getAttribute(\"listIndent\"):0)+r,listItemId:o?n.getAttribute(\"listItemId\"):HG.next(),listType:e},n)}}))}}function J$(t,e){const n=t.document.selection;if(!n.isCollapsed){return!s$(t)}if(e===\"forward\"){return true}const o=n.getFirstPosition();const i=o.parent;const r=i.previousSibling;if(t.schema.isObject(r)){return false}if(r.isEmpty){return true}return o$([i,r])}function X$(t,e,n,o){t.ui.componentFactory.add(e,(()=>{const i=tK(Sv,t,e,n,o);i.set({tooltip:true,isToggleable:true});return i}));t.ui.componentFactory.add(`menuBar:${e}`,(()=>tK(qS,t,e,n,o)))}function tK(t,e,n,o,i){const r=e.commands.get(n);const s=new t(e.locale);s.set({label:o,icon:i});s.bind(\"isOn\",\"isEnabled\").to(r,\"value\",\"isEnabled\");s.on(\"execute\",(()=>{e.execute(n);e.editing.view.focus()}));return s}class eK extends Ed{static get pluginName(){return\"ListUI\"}init(){const t=this.editor.t;X$(this.editor,\"numberedList\",t(\"Numbered List\"),CC.numberedList);X$(this.editor,\"bulletedList\",t(\"Bulleted List\"),CC.bulletedList)}}class nK extends Ed{static get requires(){return[Y$,eK]}static get pluginName(){return\"List\"}}class oK extends Id{refresh(){const t=this._getValue();this.value=t;this.isEnabled=t!=null}execute({startIndex:t=1}={}){const e=this.editor.model;const n=e.document;let o=Array.from(n.selection.getSelectedBlocks()).filter((t=>UG(t)&&c$(t.getAttribute(\"listType\"))));o=ZG(o);e.change((e=>{for(const n of o){e.setAttribute(\"listStart\",t>=0?t:1,n)}}))}_getValue(){const t=this.editor.model;const e=t.document;const n=sd(e.selection.getSelectedBlocks());if(n&&UG(n)&&c$(n.getAttribute(\"listType\"))){return n.getAttribute(\"listStart\")}return null}}const iK={};const rK={};const sK={};const aK=[{listStyle:\"disc\",typeAttribute:\"disc\",listType:\"bulleted\"},{listStyle:\"circle\",typeAttribute:\"circle\",listType:\"bulleted\"},{listStyle:\"square\",typeAttribute:\"square\",listType:\"bulleted\"},{listStyle:\"decimal\",typeAttribute:\"1\",listType:\"numbered\"},{listStyle:\"decimal-leading-zero\",typeAttribute:null,listType:\"numbered\"},{listStyle:\"lower-roman\",typeAttribute:\"i\",listType:\"numbered\"},{listStyle:\"upper-roman\",typeAttribute:\"I\",listType:\"numbered\"},{listStyle:\"lower-alpha\",typeAttribute:\"a\",listType:\"numbered\"},{listStyle:\"upper-alpha\",typeAttribute:\"A\",listType:\"numbered\"},{listStyle:\"lower-latin\",typeAttribute:\"a\",listType:\"numbered\"},{listStyle:\"upper-latin\",typeAttribute:\"A\",listType:\"numbered\"}];for(const{listStyle:t,typeAttribute:e,listType:n}of aK){iK[t]=n;rK[t]=e;if(e){sK[e]=t}}function cK(){return aK.map((t=>t.listStyle))}function lK(t){return iK[t]||null}function dK(t){return sK[t]||null}function uK(t){return rK[t]||null}class hK extends Id{constructor(t,e,n){super(t);this.defaultType=e;this._supportedTypes=n}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.document;e.change((e=>{this._tryToConvertItemsToList(t);let o=Array.from(n.selection.getSelectedBlocks()).filter((t=>t.hasAttribute(\"listType\")));if(!o.length){return}o=ZG(o);for(const n of o){e.setAttribute(\"listStyle\",t.type||this.defaultType,n)}}))}isStyleTypeSupported(t){if(!this._supportedTypes){return true}return this._supportedTypes.includes(t)}_getValue(){const t=sd(this.editor.model.document.selection.getSelectedBlocks());if(UG(t)){return t.getAttribute(\"listStyle\")}return null}_checkEnabled(){const t=this.editor;const e=t.commands.get(\"numberedList\");const n=t.commands.get(\"bulletedList\");return e.isEnabled||n.isEnabled}_tryToConvertItemsToList(t){if(!t.type){return}const e=lK(t.type);if(!e){return}const n=this.editor;const o=`${e}List`;const i=n.commands.get(o);if(!i.value){n.execute(o)}}}class mK extends Id{refresh(){const t=this._getValue();this.value=t;this.isEnabled=t!=null}execute(t={}){const e=this.editor.model;const n=e.document;let o=Array.from(n.selection.getSelectedBlocks()).filter((t=>UG(t)&&t.getAttribute(\"listType\")==\"numbered\"));o=ZG(o);e.change((e=>{for(const n of o){e.setAttribute(\"listReversed\",!!t.reversed,n)}}))}_getValue(){const t=this.editor.model;const e=t.document;const n=sd(e.selection.getSelectedBlocks());if(UG(n)&&n.getAttribute(\"listType\")==\"numbered\"){return n.getAttribute(\"listReversed\")}return null}}function gK(t){return(e,n,o)=>{const{writer:i,schema:r,consumable:s}=o;if(s.test(n.viewItem,t.viewConsumables)===false){return}if(!n.modelRange){Object.assign(n,o.convertChildren(n.viewItem,n.modelCursor))}let a=false;for(const e of n.modelRange.getItems({shallow:true})){if(!r.checkAttribute(e,t.attributeName)){continue}if(!t.appliesToListItem(e)){continue}if(e.hasAttribute(t.attributeName)){continue}i.setAttribute(t.attributeName,t.getAttributeOnUpcast(n.viewItem),e);a=true}if(a){s.consume(n.viewItem,t.viewConsumables)}}}class fK extends Ed{static get pluginName(){return\"ListPropertiesUtils\"}getAllSupportedStyleTypes(){return cK()}getListTypeFromListStyleType(t){return lK(t)}getListStyleTypeFromTypeAttribute(t){return dK(t)}getTypeAttributeFromListStyleType(t){return uK(t)}}const pK=\"default\";class bK extends Ed{static get requires(){return[Y$,fK]}static get pluginName(){return\"ListPropertiesEditing\"}constructor(t){super(t);t.config.define(\"list.properties\",{styles:true,startIndex:false,reversed:false})}init(){const t=this.editor;const e=t.model;const n=t.plugins.get(Y$);const o=t.config.get(\"list.properties\");const i=kK(o);for(const o of i){o.addCommand(t);e.schema.extend(\"$listItem\",{allowAttributes:o.attributeName});n.registerDowncastStrategy({scope:\"list\",attributeName:o.attributeName,setAttributeOnDowncast(t,e,n){o.setAttributeOnDowncast(t,e,n)}})}t.conversion.for(\"upcast\").add((t=>{for(const e of i){t.on(\"element:ol\",gK(e));t.on(\"element:ul\",gK(e))}}));n.on(\"checkAttributes:list\",((t,{viewElement:e,modelAttributes:n})=>{for(const o of i){if(o.getAttributeOnUpcast(e)!=n[o.attributeName]){t.return=true;t.stop()}}}));this.listenTo(t.commands.get(\"indentList\"),\"afterExecute\",((t,n)=>{e.change((t=>{for(const e of n){for(const n of i){if(n.appliesToListItem(e)){t.setAttribute(n.attributeName,n.defaultValue,e)}}}}))}));n.on(\"postFixer\",((t,{listNodes:e,writer:n})=>{for(const{node:o}of e){for(const e of i){if(e.hasValidAttribute(o)){continue}if(e.appliesToListItem(o)){n.setAttribute(e.attributeName,e.defaultValue,o)}else{n.removeAttribute(e.attributeName,o)}t.return=true}}}));n.on(\"postFixer\",((t,{listNodes:e,writer:n})=>{for(const{node:o,previousNodeInList:r}of e){if(!r){continue}if(r.getAttribute(\"listType\")!=o.getAttribute(\"listType\")){continue}for(const e of i){const{attributeName:i}=e;if(!e.appliesToListItem(o)){continue}const s=r.getAttribute(i);if(o.getAttribute(i)!=s){n.setAttribute(i,s,o);t.return=true}}}}))}}function kK(t){const e=[];if(t.styles){const n=typeof t.styles==\"object\"&&t.styles.useAttribute;e.push({attributeName:\"listStyle\",defaultValue:pK,viewConsumables:{styles:\"list-style-type\"},addCommand(t){let e=cK();if(n){e=e.filter((t=>!!uK(t)))}t.commands.add(\"listStyle\",new hK(t,pK,e))},appliesToListItem(t){return t.getAttribute(\"listType\")==\"numbered\"||t.getAttribute(\"listType\")==\"bulleted\"},hasValidAttribute(t){if(!this.appliesToListItem(t)){return!t.hasAttribute(\"listStyle\")}if(!t.hasAttribute(\"listStyle\")){return false}const e=t.getAttribute(\"listStyle\");if(e==pK){return true}return lK(e)==t.getAttribute(\"listType\")},setAttributeOnDowncast(t,e,o){if(e&&e!==pK){if(n){const n=uK(e);if(n){t.setAttribute(\"type\",n,o);return}}else{t.setStyle(\"list-style-type\",e,o);return}}t.removeStyle(\"list-style-type\",o);t.removeAttribute(\"type\",o)},getAttributeOnUpcast(t){const e=t.getStyle(\"list-style-type\");if(e){return e}const n=t.getAttribute(\"type\");if(n){return dK(n)}return pK}})}if(t.reversed){e.push({attributeName:\"listReversed\",defaultValue:false,viewConsumables:{attributes:\"reversed\"},addCommand(t){t.commands.add(\"listReversed\",new mK(t))},appliesToListItem(t){return t.getAttribute(\"listType\")==\"numbered\"},hasValidAttribute(t){return this.appliesToListItem(t)==t.hasAttribute(\"listReversed\")},setAttributeOnDowncast(t,e,n){if(e){t.setAttribute(\"reversed\",\"reversed\",n)}else{t.removeAttribute(\"reversed\",n)}},getAttributeOnUpcast(t){return t.hasAttribute(\"reversed\")}})}if(t.startIndex){e.push({attributeName:\"listStart\",defaultValue:1,viewConsumables:{attributes:\"start\"},addCommand(t){t.commands.add(\"listStart\",new oK(t))},appliesToListItem(t){return c$(t.getAttribute(\"listType\"))},hasValidAttribute(t){return this.appliesToListItem(t)==t.hasAttribute(\"listStart\")},setAttributeOnDowncast(t,e,n){if(e==0||e>1){t.setAttribute(\"start\",e,n)}else{t.removeAttribute(\"start\",n)}},getAttributeOnUpcast(t){const e=t.getAttribute(\"start\");return e>=0?e:1}})}return e}var wK=n(6634);var AK={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};AK.insert=\"head\";AK.singleton=true;var _K=Ld()(wK.A,AK);const CK=wK.A.locals||{};class vK extends ov{constructor(t,{enabledProperties:e,styleButtonViews:n,styleGridAriaLabel:o}){super(t);this.stylesView=null;this.additionalPropertiesCollapsibleView=null;this.startIndexFieldView=null;this.reversedSwitchButtonView=null;this.focusTracker=new ad;this.keystrokes=new cd;this.focusables=new vC;const i=[\"ck\",\"ck-list-properties\"];this.children=this.createCollection();this.focusCycler=new Fy({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});if(e.styles){this.stylesView=this._createStylesView(n,o);this.children.add(this.stylesView)}else{i.push(\"ck-list-properties_without-styles\")}if(e.startIndex||e.reversed){this._addNumberedListPropertyViews(e);i.push(\"ck-list-properties_with-numbered-properties\")}this.setTemplate({tag:\"div\",attributes:{class:i},children:this.children})}render(){super.render();if(this.stylesView){this.focusables.add(this.stylesView);this.focusTracker.add(this.stylesView.element);if(this.startIndexFieldView||this.reversedSwitchButtonView){this.focusables.add(this.children.last.buttonView);this.focusTracker.add(this.children.last.buttonView.element)}for(const t of this.stylesView.children){this.stylesView.focusTracker.add(t.element)}r({keystrokeHandler:this.stylesView.keystrokes,focusTracker:this.stylesView.focusTracker,gridItems:this.stylesView.children,numberOfColumns:()=>oc.window.getComputedStyle(this.stylesView.element).getPropertyValue(\"grid-template-columns\").split(\" \").length,uiLanguageDirection:this.locale&&this.locale.uiLanguageDirection})}if(this.startIndexFieldView){this.focusables.add(this.startIndexFieldView);this.focusTracker.add(this.startIndexFieldView.element);const t=t=>t.stopPropagation();this.keystrokes.set(\"arrowright\",t);this.keystrokes.set(\"arrowleft\",t);this.keystrokes.set(\"arrowup\",t);this.keystrokes.set(\"arrowdown\",t)}if(this.reversedSwitchButtonView){this.focusables.add(this.reversedSwitchButtonView);this.focusTracker.add(this.reversedSwitchButtonView.element)}this.keystrokes.listenTo(this.element)}focus(){this.focusCycler.focusFirst()}focusLast(){this.focusCycler.focusLast()}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}_createStylesView(t,e){const n=new ov(this.locale);n.children=n.createCollection();n.children.addMany(t);n.setTemplate({tag:\"div\",attributes:{\"aria-label\":e,class:[\"ck\",\"ck-list-styles-list\"]},children:n.children});n.children.delegate(\"execute\").to(this);n.focus=function(){this.children.first.focus()};n.focusTracker=new ad;n.keystrokes=new cd;n.render();n.keystrokes.listenTo(n.element);return n}_addNumberedListPropertyViews(t){const e=this.locale.t;const n=[];if(t.startIndex){this.startIndexFieldView=this._createStartIndexField();n.push(this.startIndexFieldView)}if(t.reversed){this.reversedSwitchButtonView=this._createReversedSwitchButton();n.push(this.reversedSwitchButtonView)}if(t.styles){this.additionalPropertiesCollapsibleView=new Uv(this.locale,n);this.additionalPropertiesCollapsibleView.set({label:e(\"List properties\"),isCollapsed:true});this.additionalPropertiesCollapsibleView.buttonView.bind(\"isEnabled\").toMany(n,\"isEnabled\",((...t)=>t.some((t=>t))));this.additionalPropertiesCollapsibleView.buttonView.on(\"change:isEnabled\",((t,e,n)=>{if(!n){this.additionalPropertiesCollapsibleView.isCollapsed=true}}));this.children.add(this.additionalPropertiesCollapsibleView)}else{this.children.addMany(n)}}_createStartIndexField(){const t=this.locale.t;const e=new py(this.locale,Fx);e.set({label:t(\"Start at\"),class:\"ck-numbered-list-properties__start-index\"});e.fieldView.set({min:0,step:1,value:1,inputMode:\"numeric\"});e.fieldView.on(\"input\",(()=>{const n=e.fieldView.element;const o=n.valueAsNumber;if(Number.isNaN(o)){e.errorText=t(\"Invalid start index value.\");return}if(!n.checkValidity()){e.errorText=t(\"Start index must be greater than 0.\")}else{this.fire(\"listStart\",{startIndex:o})}}));return e}_createReversedSwitchButton(){const t=this.locale.t;const e=new Lv(this.locale);e.set({withText:true,label:t(\"Reversed order\"),class:\"ck-numbered-list-properties__reversed-order\"});e.delegate(\"execute\").to(this,\"listReversed\");return e}}const yK='';const xK='';const EK='';const DK='';const IK='';const TK='';const SK='';const BK='';const MK='';var PK=n(5471);var NK={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};NK.insert=\"head\";NK.singleton=true;var LK=Ld()(PK.A,NK);const zK=PK.A.locals||{};class OK extends Ed{static get pluginName(){return\"ListPropertiesUI\"}init(){const t=this.editor;const e=t.locale.t;const n=t.config.get(\"list.properties\");if(n.styles){const o=[{label:e(\"Toggle the disc list style\"),tooltip:e(\"Disc\"),type:\"disc\",icon:yK},{label:e(\"Toggle the circle list style\"),tooltip:e(\"Circle\"),type:\"circle\",icon:xK},{label:e(\"Toggle the square list style\"),tooltip:e(\"Square\"),type:\"square\",icon:EK}];const i=e(\"Bulleted List\");const r=e(\"Bulleted list styles toolbar\");const s=\"bulletedList\";t.ui.componentFactory.add(s,RK({editor:t,propertiesConfig:n,parentCommandName:s,buttonLabel:i,buttonIcon:CC.bulletedList,styleGridAriaLabel:r,styleDefinitions:o}));t.ui.componentFactory.add(`menuBar:${s}`,jK({editor:t,propertiesConfig:n,parentCommandName:s,buttonLabel:i,styleGridAriaLabel:r,styleDefinitions:o}))}if(n.styles||n.startIndex||n.reversed){const o=[{label:e(\"Toggle the decimal list style\"),tooltip:e(\"Decimal\"),type:\"decimal\",icon:DK},{label:e(\"Toggle the decimal with leading zero list style\"),tooltip:e(\"Decimal with leading zero\"),type:\"decimal-leading-zero\",icon:IK},{label:e(\"Toggle the lower\u2013roman list style\"),tooltip:e(\"Lower\u2013roman\"),type:\"lower-roman\",icon:TK},{label:e(\"Toggle the upper\u2013roman list style\"),tooltip:e(\"Upper-roman\"),type:\"upper-roman\",icon:SK},{label:e(\"Toggle the lower\u2013latin list style\"),tooltip:e(\"Lower-latin\"),type:\"lower-latin\",icon:BK},{label:e(\"Toggle the upper\u2013latin list style\"),tooltip:e(\"Upper-latin\"),type:\"upper-latin\",icon:MK}];const i=e(\"Numbered List\");const r=e(\"Numbered list styles toolbar\");const s=\"numberedList\";t.ui.componentFactory.add(s,RK({editor:t,propertiesConfig:n,parentCommandName:s,buttonLabel:i,buttonIcon:CC.numberedList,styleGridAriaLabel:r,styleDefinitions:o}));if(n.styles){t.ui.componentFactory.add(`menuBar:${s}`,jK({editor:t,propertiesConfig:n,parentCommandName:s,buttonLabel:i,styleGridAriaLabel:r,styleDefinitions:o}))}}}}function RK({editor:t,propertiesConfig:e,parentCommandName:n,buttonLabel:o,buttonIcon:i,styleGridAriaLabel:r,styleDefinitions:s}){const a=t.commands.get(n);return c=>{const l=xx(c,px);const d=l.buttonView;l.bind(\"isEnabled\").to(a);l.class=\"ck-list-styles-dropdown\";d.on(\"execute\",(()=>{t.execute(n);t.editing.view.focus()}));d.set({label:o,icon:i,tooltip:true,isToggleable:true});d.bind(\"isOn\").to(a,\"value\",(t=>!!t));l.once(\"change:isOpen\",(()=>{const o=FK({editor:t,propertiesConfig:e,dropdownView:l,parentCommandName:n,styleGridAriaLabel:r,styleDefinitions:s});l.panelView.children.add(o)}));l.on(\"execute\",(()=>{t.editing.view.focus()}));return l}}function VK({editor:t,listStyleCommand:e,parentCommandName:n}){const o=t.locale;const i=t.commands.get(n);return({label:r,type:s,icon:a,tooltip:c})=>{const l=new Sv(o);l.set({label:r,icon:a,tooltip:c});e.on(\"change:value\",(()=>{l.isOn=e.value===s}));l.on(\"execute\",(()=>{if(i.value){if(e.value===s){t.execute(n)}else if(e.value!==s){t.execute(\"listStyle\",{type:s})}}else{t.model.change((()=>{t.execute(\"listStyle\",{type:s})}))}}));return l}}function FK({editor:t,propertiesConfig:e,dropdownView:n,parentCommandName:o,styleDefinitions:i,styleGridAriaLabel:r}){const s=t.locale;const a={...e};if(o!=\"numberedList\"){a.startIndex=false;a.reversed=false}let c=null;if(a.styles){const e=t.commands.get(\"listStyle\");const n=VK({editor:t,parentCommandName:o,listStyleCommand:e});const r=HK(e);c=i.filter(r).map(n)}const l=new vK(s,{styleGridAriaLabel:r,enabledProperties:a,styleButtonViews:c});if(a.styles){Sx(n,(()=>l.stylesView.children.find((t=>t.isOn))))}if(a.startIndex){const e=t.commands.get(\"listStart\");l.startIndexFieldView.bind(\"isEnabled\").to(e);l.startIndexFieldView.fieldView.bind(\"value\").to(e);l.on(\"listStart\",((e,n)=>t.execute(\"listStart\",n)))}if(a.reversed){const e=t.commands.get(\"listReversed\");l.reversedSwitchButtonView.bind(\"isEnabled\").to(e);l.reversedSwitchButtonView.bind(\"isOn\").to(e,\"value\",(t=>!!t));l.on(\"listReversed\",(()=>{const n=e.value;t.execute(\"listReversed\",{reversed:!n})}))}l.delegate(\"execute\").to(n);return l}function jK({editor:t,propertiesConfig:e,parentCommandName:n,buttonLabel:o,styleGridAriaLabel:i,styleDefinitions:r}){return s=>{const a=new VS(s);const c=t.commands.get(n);const l=t.commands.get(\"listStyle\");const d=HK(l);const u=VK({editor:t,parentCommandName:n,listStyleCommand:l});const h=r.filter(d).map(u);const m=new vK(s,{styleGridAriaLabel:i,enabledProperties:{...e,startIndex:false,reversed:false},styleButtonViews:h});m.delegate(\"execute\").to(a);a.buttonView.set({label:o,icon:CC[n]});a.panelView.children.add(m);a.bind(\"isEnabled\").to(c,\"isEnabled\");a.on(\"execute\",(()=>{t.editing.view.focus()}));return a}}function HK(t){if(typeof t.isStyleTypeSupported==\"function\"){return e=>t.isStyleTypeSupported(e.type)}else{return()=>true}}class UK extends Ed{static get requires(){return[bK,OK]}static get pluginName(){return\"ListProperties\"}}class WK extends Id{constructor(t){super(t);this.on(\"execute\",(()=>{this.refresh()}),{priority:\"highest\"})}refresh(){const t=this._getSelectedItems();this.value=this._getValue(t);this.isEnabled=!!t.length}execute(t={}){this.editor.model.change((e=>{const n=this._getSelectedItems();const o=t.forceValue===undefined?!this._getValue(n):t.forceValue;for(const t of n){if(o){e.setAttribute(\"todoListChecked\",true,t)}else{e.removeAttribute(\"todoListChecked\",t)}}}))}_getValue(t){return t.every((t=>t.getAttribute(\"todoListChecked\")))}_getSelectedItems(){const t=this.editor.model;const e=t.schema;const n=t.document.selection.getFirstRange();const o=n.start.parent;const i=[];if(e.checkAttribute(o,\"todoListChecked\")){i.push(...WG(o))}for(const t of n.getItems({shallow:true})){if(e.checkAttribute(t,\"todoListChecked\")&&!i.includes(t)){i.push(...WG(t))}}return i}}class qK extends Zm{constructor(){super(...arguments);this.domEventType=[\"change\"]}onDomEvent(t){if(t.target){const e=this.view.domConverter.mapDomToView(t.target);if(e&&e.is(\"element\",\"input\")&&e.getAttribute(\"type\")==\"checkbox\"&&e.findAncestor({classes:\"todo-list__label\"})){this.fire(\"todoCheckboxChange\",t)}}}}const GK=Jc(\"Ctrl+Enter\");class $K extends Ed{static get pluginName(){return\"TodoListEditing\"}static get requires(){return[Y$]}init(){const t=this.editor;const e=t.model;const n=t.editing;const o=t.plugins.get(Y$);const i=t.config.get(\"list.multiBlock\");const r=i?\"paragraph\":\"listItem\";t.commands.add(\"todoList\",new h$(t,\"todo\"));t.commands.add(\"checkTodoList\",new WK(t));n.view.addObserver(qK);e.schema.extend(\"$listItem\",{allowAttributes:\"todoListChecked\"});e.schema.addAttributeCheck(((t,e)=>{const n=t.last;if(e!=\"todoListChecked\"){return}if(!n.getAttribute(\"listItemId\")||n.getAttribute(\"listType\")!=\"todo\"){return false}}));t.conversion.for(\"upcast\").add((t=>{t.on(\"element:input\",KK());t.on(\"element:label\",YK({name:\"label\",classes:\"todo-list__label\"}));t.on(\"element:label\",YK({name:\"label\",classes:[\"todo-list__label\",\"todo-list__label_without-description\"]}));t.on(\"element:span\",YK({name:\"span\",classes:\"todo-list__label__description\"}));t.on(\"element:ul\",QK({name:\"ul\",classes:\"todo-list\"}))}));t.conversion.for(\"downcast\").elementToElement({model:r,view:(t,{writer:e})=>{if(ZK(t,o.getListAttributeNames())){return e.createContainerElement(\"span\",{class:\"todo-list__label__description\"})}},converterPriority:\"highest\"});o.registerDowncastStrategy({scope:\"list\",attributeName:\"listType\",setAttributeOnDowncast(t,e,n){if(e==\"todo\"){t.addClass(\"todo-list\",n)}else{t.removeClass(\"todo-list\",n)}}});o.registerDowncastStrategy({scope:\"itemMarker\",attributeName:\"todoListChecked\",createElement(t,e,{dataPipeline:n}){if(e.getAttribute(\"listType\")!=\"todo\"){return null}const o=t.createUIElement(\"input\",{type:\"checkbox\",...e.getAttribute(\"todoListChecked\")?{checked:\"checked\"}:null,...n?{disabled:\"disabled\"}:{tabindex:\"-1\"}});if(n){return o}const i=t.createContainerElement(\"span\",{contenteditable:\"false\"},o);i.getFillerOffset=()=>null;return i},canWrapElement(t){return ZK(t,o.getListAttributeNames())},createWrapperElement(t,e,{dataPipeline:n}){const i=[\"todo-list__label\"];if(!ZK(e,o.getListAttributeNames())){i.push(\"todo-list__label_without-description\")}return t.createAttributeElement(n?\"label\":\"span\",{class:i.join(\" \")})}});o.on(\"checkElement\",((t,{modelElement:e,viewElement:n})=>{const i=ZK(e,o.getListAttributeNames());const r=n.hasClass(\"todo-list__label__description\");if(r!=i){t.return=true;t.stop()}}));o.on(\"checkElement\",((e,{modelElement:n,viewElement:o})=>{const i=n.getAttribute(\"listType\")==\"todo\"&&KG(n);let r=false;const s=t.editing.view.createPositionBefore(o).getWalker({direction:\"backward\"});for(const{item:e}of s){if(e.is(\"element\")&&t.editing.mapper.toModelElement(e)){break}if(e.is(\"element\",\"input\")&&e.getAttribute(\"type\")==\"checkbox\"){r=true}}if(r!=i){e.return=true;e.stop()}}));o.on(\"postFixer\",((t,{listNodes:e,writer:n})=>{for(const{node:o,previousNodeInList:i}of e){if(!i){continue}if(i.getAttribute(\"listItemId\")!=o.getAttribute(\"listItemId\")){continue}const e=i.hasAttribute(\"todoListChecked\");const r=o.hasAttribute(\"todoListChecked\");if(r&&!e){n.removeAttribute(\"todoListChecked\",o);t.return=true}else if(!r&&e){n.setAttribute(\"todoListChecked\",true,o);t.return=true}}}));e.document.registerPostFixer((t=>{const n=e.document.differ.getChanges();let o=false;for(const e of n){if(e.type==\"attribute\"&&e.attributeKey==\"listType\"){const n=e.range.start.nodeAfter;if(e.attributeOldValue==\"todo\"&&n.hasAttribute(\"todoListChecked\")){t.removeAttribute(\"todoListChecked\",n);o=true}}else if(e.type==\"insert\"&&e.name!=\"$text\"){for(const{item:n}of t.createRangeOn(e.position.nodeAfter)){if(n.is(\"element\")&&n.getAttribute(\"listType\")!=\"todo\"&&n.hasAttribute(\"todoListChecked\")){t.removeAttribute(\"todoListChecked\",n);o=true}}}}return o}));this.listenTo(n.view.document,\"keydown\",((e,n)=>{if(Zc(n)===GK){t.execute(\"checkTodoList\");e.stop()}}),{priority:\"high\"});this.listenTo(n.view.document,\"todoCheckboxChange\",((t,e)=>{const o=e.target;if(!o||!o.is(\"element\",\"input\")){return}const i=n.view.createPositionAfter(o);const r=n.mapper.toModelPosition(i);const s=r.parent;if(s&&UG(s)&&s.getAttribute(\"listType\")==\"todo\"){this._handleCheckmarkChange(s)}}));this.listenTo(n.view.document,\"arrowKey\",XK(e,t.locale),{context:\"$text\"});this.listenTo(n.mapper,\"viewToModelPosition\",((t,n)=>{const o=n.viewPosition.parent;const i=o.is(\"attributeElement\",\"li\")&&n.viewPosition.offset==0;const r=tY(o)&&n.viewPosition.offset<=1;const s=o.is(\"element\",\"span\")&&o.getAttribute(\"contenteditable\")==\"false\"&&tY(o.parent);if(!i&&!r&&!s){return}const a=n.modelPosition.nodeAfter;if(a&&a.getAttribute(\"listType\")==\"todo\"){n.modelPosition=e.createPositionAt(a,0)}}),{priority:\"low\"})}_handleCheckmarkChange(t){const e=this.editor;const n=e.model;const o=Array.from(n.document.selection.getRanges());n.change((n=>{n.setSelection(t,\"end\");e.execute(\"checkTodoList\");n.setSelection(o)}))}}function KK(){return(t,e,n)=>{const o=e.modelCursor;const i=o.parent;const r=e.viewItem;if(!n.consumable.test(r,{name:true})){return}if(r.getAttribute(\"type\")!=\"checkbox\"||!o.isAtStart||!i.hasAttribute(\"listType\")){return}n.consumable.consume(r,{name:true});const s=n.writer;s.setAttribute(\"listType\",\"todo\",i);if(e.viewItem.hasAttribute(\"checked\")){s.setAttribute(\"todoListChecked\",true,i)}e.modelRange=s.createRange(o)}}function YK(t){const e=new iu(t);return(t,n,o)=>{const i=e.match(n.viewItem);if(!i){return}if(!o.consumable.consume(n.viewItem,i.match)){return}Object.assign(n,o.convertChildren(n.viewItem,n.modelCursor))}}function QK(t){const e=new iu(t);return(t,n,o)=>{const i=e.match(n.viewItem);if(!i){return}const r=i.match;r.name=false;o.consumable.consume(n.viewItem,r)}}function ZK(t,e){return(t.is(\"element\",\"paragraph\")||t.is(\"element\",\"listItem\"))&&t.getAttribute(\"listType\")==\"todo\"&&KG(t)&&JK(t,e)}function JK(t,e){for(const n of t.getAttributeKeys()){if(n.startsWith(\"selection:\")){continue}if(!e.includes(n)){return false}}return true}function XK(t,e){return(n,o)=>{const i=el(o.keyCode,e.contentLanguageDirection);const r=t.schema;const s=t.document.selection;if(!s.isCollapsed){return}const a=s.getFirstPosition();const c=a.parent;if(i==\"right\"&&a.isAtEnd){const e=r.getNearestSelectionRange(t.createPositionAfter(c),\"forward\");if(!e){return}const i=e.start.parent;if(i&&UG(i)&&i.getAttribute(\"listType\")==\"todo\"){t.change((t=>t.setSelection(e)));o.preventDefault();o.stopPropagation();n.stop()}}else if(i==\"left\"&&a.isAtStart&&UG(c)&&c.getAttribute(\"listType\")==\"todo\"){const e=r.getNearestSelectionRange(t.createPositionBefore(c),\"backward\");if(!e){return}t.change((t=>t.setSelection(e)));o.preventDefault();o.stopPropagation();n.stop()}}}function tY(t){return!!t&&t.is(\"attributeElement\")&&t.hasClass(\"todo-list__label\")}class eY extends Ed{static get pluginName(){return\"TodoListUI\"}init(){const t=this.editor.t;X$(this.editor,\"todoList\",t(\"To-do List\"),CC.todoList)}}var nY=n(3161);var oY={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};oY.insert=\"head\";oY.singleton=true;var iY=Ld()(nY.A,oY);const rY=nY.A.locals||{};class sY extends Ed{static get requires(){return[$K,eY]}static get pluginName(){return\"TodoList\"}}class aY extends Id{constructor(t,e){super(t);this.type=e}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.document;const o=Array.from(n.selection.getSelectedBlocks()).filter((t=>lY(t,e.schema)));const i=t.forceValue!==undefined?!t.forceValue:this.value;e.change((t=>{if(i){let e=o[o.length-1].nextSibling;let n=Number.POSITIVE_INFINITY;let i=[];while(e&&e.name==\"listItem\"&&e.getAttribute(\"listIndent\")!==0){const t=e.getAttribute(\"listIndent\");if(t=n){if(r>i.getAttribute(\"listIndent\")){r=i.getAttribute(\"listIndent\")}if(i.getAttribute(\"listIndent\")==r){t[e?\"unshift\":\"push\"](i)}i=i[e?\"previousSibling\":\"nextSibling\"]}}}function lY(t,e){return e.checkChild(t.parent,\"listItem\")&&!e.isObject(t)}class dY extends Id{constructor(t,e){super(t);this._indentBy=e==\"forward\"?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model;const e=t.document;let n=Array.from(e.selection.getSelectedBlocks());t.change((t=>{const e=n[n.length-1];let o=e.nextSibling;while(o&&o.name==\"listItem\"&&o.getAttribute(\"listIndent\")>e.getAttribute(\"listIndent\")){n.push(o);o=o.nextSibling}if(this._indentBy<0){n=n.reverse()}for(const e of n){const n=e.getAttribute(\"listIndent\")+this._indentBy;if(n<0){t.rename(e,\"paragraph\")}else{t.setAttribute(\"listIndent\",n,e)}}this.fire(\"_executeCleanup\",n)}))}_checkEnabled(){const t=sd(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is(\"element\",\"listItem\")){return false}if(this._indentBy>0){const e=t.getAttribute(\"listIndent\");const n=t.getAttribute(\"listType\");let o=t.previousSibling;while(o&&o.is(\"element\",\"listItem\")&&o.getAttribute(\"listIndent\")>=e){if(o.getAttribute(\"listIndent\")==e){return o.getAttribute(\"listType\")==n}o=o.previousSibling}return false}return true}}function uY(t){const e=t.createContainerElement(\"li\");e.getFillerOffset=vY;return e}function hY(t,e){const n=e.mapper;const o=e.writer;const i=t.getAttribute(\"listType\")==\"numbered\"?\"ol\":\"ul\";const r=uY(o);const s=o.createContainerElement(i,null);o.insert(o.createPositionAt(s,0),r);n.bindElements(t,r);return r}function mY(t,e,n,o){const i=e.parent;const r=n.mapper;const s=n.writer;let a=r.toViewPosition(o.createPositionBefore(t));const c=pY(t.previousSibling,{sameIndent:true,smallerIndent:true,listIndent:t.getAttribute(\"listIndent\")});const l=t.previousSibling;if(c&&c.getAttribute(\"listIndent\")==t.getAttribute(\"listIndent\")){const t=r.toViewElement(c);a=s.breakContainer(s.createPositionAfter(t))}else{if(l&&l.name==\"listItem\"){a=r.toViewPosition(o.createPositionAt(l,\"end\"));const t=r.findMappedViewAncestor(a);const e=bY(t);if(e){a=s.createPositionBefore(e)}else{a=s.createPositionAt(t,\"end\")}}else{a=r.toViewPosition(o.createPositionBefore(t))}}a=fY(a);s.insert(a,i);if(l&&l.name==\"listItem\"){const t=r.toViewElement(l);const n=s.createRange(s.createPositionAt(t,0),a);const o=n.getWalker({ignoreElementEnd:true});for(const t of o){if(t.item.is(\"element\",\"li\")){const n=s.breakContainer(s.createPositionBefore(t.item));const i=t.item.parent;const r=s.createPositionAt(e,\"end\");gY(s,r.nodeBefore,r.nodeAfter);s.move(s.createRangeOn(i),r);o._position=n}}}else{const n=i.nextSibling;if(n&&(n.is(\"element\",\"ul\")||n.is(\"element\",\"ol\"))){let o=null;for(const e of n.getChildren()){const n=r.toModelElement(e);if(n&&n.getAttribute(\"listIndent\")>t.getAttribute(\"listIndent\")){o=e}else{break}}if(o){s.breakContainer(s.createPositionAfter(o));s.move(s.createRangeOn(o.parent),s.createPositionAt(e,\"end\"))}}}gY(s,i,i.nextSibling);gY(s,i.previousSibling,i)}function gY(t,e,n){if(!e||!n||e.name!=\"ul\"&&e.name!=\"ol\"){return null}if(e.name!=n.name||e.getAttribute(\"class\")!==n.getAttribute(\"class\")){return null}return t.mergeContainers(t.createPositionAfter(e))}function fY(t){return t.getLastMatchingPosition((t=>t.item.is(\"uiElement\")))}function pY(t,e){const n=!!e.sameIndent;const o=!!e.smallerIndent;const i=e.listIndent;let r=t;while(r&&r.name==\"listItem\"){const t=r.getAttribute(\"listIndent\");if(n&&i==t||o&&i>t){return r}if(e.direction===\"forward\"){r=r.nextSibling}else{r=r.previousSibling}}return null}function bY(t){for(const e of t.getChildren()){if(e.name==\"ul\"||e.name==\"ol\"){return e}}return null}function kY(t,e){const n=[];const o=t.parent;const i={ignoreElementEnd:false,startPosition:t,shallow:true,direction:e};const r=o.getAttribute(\"listIndent\");const s=[...new Hf(i)].filter((t=>t.item.is(\"element\"))).map((t=>t.item));for(const t of s){if(!t.is(\"element\",\"listItem\")){break}if(t.getAttribute(\"listIndent\")r){continue}if(t.getAttribute(\"listType\")!==o.getAttribute(\"listType\")){break}if(t.getAttribute(\"listStyle\")!==o.getAttribute(\"listStyle\")){break}if(t.getAttribute(\"listReversed\")!==o.getAttribute(\"listReversed\")){break}if(t.getAttribute(\"listStart\")!==o.getAttribute(\"listStart\")){break}if(e===\"backward\"){n.unshift(t)}else{n.push(t)}}return n}function wY(t){const e=t.document;let n=[...e.selection.getSelectedBlocks()].filter((t=>t.is(\"element\",\"listItem\"))).map((e=>{const n=t.change((t=>t.createPositionAt(e,0)));return[...kY(n,\"backward\"),...kY(n,\"forward\")]})).flat();n=[...new Set(n)];return n}const AY=[\"disc\",\"circle\",\"square\"];const _Y=[\"decimal\",\"decimal-leading-zero\",\"lower-roman\",\"upper-roman\",\"lower-latin\",\"upper-latin\"];function CY(t){if(AY.includes(t)){return\"bulleted\"}if(_Y.includes(t)){return\"numbered\"}return null}function vY(){const t=!this.isEmpty&&(this.getChild(0).name==\"ul\"||this.getChild(0).name==\"ol\");if(this.isEmpty||t){return 0}return wh.call(this)}class yY extends Ed{static get pluginName(){return\"LegacyListUtils\"}getListTypeFromListStyleType(t){return CY(t)}getSelectedListItems(t){return wY(t)}getSiblingNodes(t,e){return kY(t,e)}}function xY(t){return(e,n,o)=>{const i=o.consumable;if(!i.test(n.item,\"insert\")||!i.test(n.item,\"attribute:listType\")||!i.test(n.item,\"attribute:listIndent\")){return}i.consume(n.item,\"insert\");i.consume(n.item,\"attribute:listType\");i.consume(n.item,\"attribute:listIndent\");const r=n.item;const s=hY(r,o);mY(r,s,o,t)}}function EY(t){return(e,n,o)=>{const i=o.mapper.toViewPosition(n.position);const r=i.getLastMatchingPosition((t=>!t.item.is(\"element\",\"li\")));const s=r.nodeAfter;const a=o.writer;a.breakContainer(a.createPositionBefore(s));a.breakContainer(a.createPositionAfter(s));const c=s.parent;const l=c.previousSibling;const d=a.createRangeOn(c);const u=a.remove(d);if(l&&l.nextSibling){gY(a,l,l.nextSibling)}const h=o.mapper.toModelElement(s);jY(h.getAttribute(\"listIndent\")+1,n.position,d.start,s,o,t);for(const t of a.createRangeIn(u).getItems()){o.mapper.unbindViewElement(t)}e.stop()}}const DY=(t,e,n)=>{if(!n.consumable.test(e.item,t.name)){return}const o=n.mapper.toViewElement(e.item);const i=n.writer;i.breakContainer(i.createPositionBefore(o));i.breakContainer(i.createPositionAfter(o));const r=o.parent;const s=e.attributeNewValue==\"numbered\"?\"ol\":\"ul\";i.rename(s,r)};const IY=(t,e,n)=>{n.consumable.consume(e.item,t.name);const o=n.mapper.toViewElement(e.item);const i=o.parent;const r=n.writer;gY(r,i,i.nextSibling);gY(r,i.previousSibling,i)};function TY(t){return(e,n,o)=>{if(!o.consumable.consume(n.item,\"attribute:listIndent\")){return}const i=o.mapper.toViewElement(n.item);const r=o.writer;r.breakContainer(r.createPositionBefore(i));r.breakContainer(r.createPositionAfter(i));const s=i.parent;const a=s.previousSibling;const c=r.createRangeOn(s);r.remove(c);if(a&&a.nextSibling){gY(r,a,a.nextSibling)}jY(n.attributeOldValue+1,n.range.start,c.start,i,o,t);mY(n.item,i,o,t);for(const t of n.item.getChildren()){o.consumable.consume(t,\"insert\")}}}const SY=(t,e,n)=>{if(!n.consumable.test(e.item,t.name)){return}if(e.item.name!=\"listItem\"){let t=n.mapper.toViewPosition(e.range.start);const o=n.writer;const i=[];while(t.parent.name==\"ul\"||t.parent.name==\"ol\"){t=o.breakContainer(t);if(t.parent.name!=\"li\"){break}const e=t;const n=o.createPositionAt(t.parent,\"end\");if(!e.isEqual(n)){const t=o.remove(o.createRange(e,n));i.push(t)}t=o.createPositionAfter(t.parent)}if(i.length>0){for(let e=0;e0){const e=gY(o,n,n.nextSibling);if(e&&e.parent==n){t.offset--}}}gY(o,t.nodeBefore,t.nodeAfter)}}};const BY=(t,e,n)=>{const o=n.mapper.toViewPosition(e.position);const i=o.nodeBefore;const r=o.nodeAfter;gY(n.writer,i,r)};const MY=(t,e,n)=>{if(n.consumable.consume(e.viewItem,{name:true})){const t=n.writer;const o=t.createElement(\"listItem\");const i=UY(e.viewItem);t.setAttribute(\"listIndent\",i,o);const r=e.viewItem.parent&&e.viewItem.parent.name==\"ol\"?\"numbered\":\"bulleted\";t.setAttribute(\"listType\",r,o);if(!n.safeInsert(o,e.modelCursor)){return}const s=VY(o,e.viewItem.getChildren(),n);e.modelRange=t.createRange(e.modelCursor,s);n.updateConversionResult(o,e)}};const PY=(t,e,n)=>{if(n.consumable.test(e.viewItem,{name:true})){const t=Array.from(e.viewItem.getChildren());for(const e of t){const t=!(e.is(\"element\",\"li\")||HY(e));if(t){e._remove()}}}};const NY=(t,e,n)=>{if(n.consumable.test(e.viewItem,{name:true})){if(e.viewItem.childCount===0){return}const t=[...e.viewItem.getChildren()];let n=false;for(const e of t){if(n&&!HY(e)){e._remove()}if(HY(e)){n=true}}}};function LY(t){return(e,n)=>{if(n.isPhantom){return}const o=n.modelPosition.nodeBefore;if(o&&o.is(\"element\",\"listItem\")){const e=n.mapper.toViewElement(o);const i=e.getAncestors().find(HY);const r=t.createPositionAt(e,0).getWalker();for(const t of r){if(t.type==\"elementStart\"&&t.item.is(\"element\",\"li\")){n.viewPosition=t.previousPosition;break}else if(t.type==\"elementEnd\"&&t.item==i){n.viewPosition=t.nextPosition;break}}}}}function zY(t){return(e,n)=>{const o=n.viewPosition;const i=o.parent;const r=n.mapper;if(i.name==\"ul\"||i.name==\"ol\"){if(!o.isAtEnd){const e=r.toModelElement(o.nodeAfter);n.modelPosition=t.createPositionBefore(e)}else{const e=r.toModelElement(o.nodeBefore);const i=r.getModelLength(o.nodeBefore);n.modelPosition=t.createPositionBefore(e).getShiftedBy(i)}e.stop()}else if(i.name==\"li\"&&o.nodeBefore&&(o.nodeBefore.name==\"ul\"||o.nodeBefore.name==\"ol\")){const s=r.toModelElement(i);let a=1;let c=o.nodeBefore;while(c&&HY(c)){a+=r.getModelLength(c);c=c.previousSibling}n.modelPosition=t.createPositionBefore(s).getShiftedBy(a);e.stop()}}}function OY(t,e){const n=t.document.differ.getChanges();const o=new Map;let i=false;for(const o of n){if(o.type==\"insert\"&&o.name==\"listItem\"){r(o.position)}else if(o.type==\"insert\"&&o.name!=\"listItem\"){if(o.name!=\"$text\"){const n=o.position.nodeAfter;if(n.hasAttribute(\"listIndent\")){e.removeAttribute(\"listIndent\",n);i=true}if(n.hasAttribute(\"listType\")){e.removeAttribute(\"listType\",n);i=true}if(n.hasAttribute(\"listStyle\")){e.removeAttribute(\"listStyle\",n);i=true}if(n.hasAttribute(\"listReversed\")){e.removeAttribute(\"listReversed\",n);i=true}if(n.hasAttribute(\"listStart\")){e.removeAttribute(\"listStart\",n);i=true}for(const e of Array.from(t.createRangeIn(n)).filter((t=>t.item.is(\"element\",\"listItem\")))){r(e.previousPosition)}}const n=o.position.getShiftedBy(o.length);r(n)}else if(o.type==\"remove\"&&o.name==\"listItem\"){r(o.position)}else if(o.type==\"attribute\"&&o.attributeKey==\"listIndent\"){r(o.range.start)}else if(o.type==\"attribute\"&&o.attributeKey==\"listType\"){r(o.range.start)}}for(const t of o.values()){s(t);a(t)}return i;function r(t){const e=t.nodeBefore;if(!e||!e.is(\"element\",\"listItem\")){const e=t.nodeAfter;if(e&&e.is(\"element\",\"listItem\")){o.set(e,e)}}else{let t=e;if(o.has(t)){return}for(let e=t.previousSibling;e&&e.is(\"element\",\"listItem\");e=t.previousSibling){t=e;if(o.has(t)){return}}o.set(e,t)}}function s(t){let n=0;let o=null;while(t&&t.is(\"element\",\"listItem\")){const r=t.getAttribute(\"listIndent\");if(r>n){let s;if(o===null){o=r-n;s=n}else{if(o>r){o=r}s=r-o}e.setAttribute(\"listIndent\",s,t);i=true}else{o=null;n=t.getAttribute(\"listIndent\")+1}t=t.nextSibling}}function a(t){let n=[];let o=null;while(t&&t.is(\"element\",\"listItem\")){const r=t.getAttribute(\"listIndent\");if(o&&o.getAttribute(\"listIndent\")>r){n=n.slice(0,r+1)}if(r!=0){if(n[r]){const o=n[r];if(t.getAttribute(\"listType\")!=o){e.setAttribute(\"listType\",o,t);i=true}}else{n[r]=t.getAttribute(\"listType\")}}o=t;t=t.nextSibling}}}const RY=function(t,[e,n]){const o=this;let i=e.is(\"documentFragment\")?e.getChild(0):e;let r;if(!n){r=o.document.selection}else{r=o.createSelection(n)}if(i&&i.is(\"element\",\"listItem\")){const t=r.getFirstPosition();let e=null;if(t.parent.is(\"element\",\"listItem\")){e=t.parent}else if(t.nodeBefore&&t.nodeBefore.is(\"element\",\"listItem\")){e=t.nodeBefore}if(e){const t=e.getAttribute(\"listIndent\");if(t>0){while(i&&i.is(\"element\",\"listItem\")){i._setAttribute(\"listIndent\",i.getAttribute(\"listIndent\")+t);i=i.nextSibling}}}}};function VY(t,e,n){const{writer:o,schema:i}=n;let r=o.createPositionAfter(t);for(const s of e){if(s.name==\"ul\"||s.name==\"ol\"){r=n.convertItem(s,r).modelCursor}else{const e=n.convertItem(s,o.createPositionAt(t,\"end\"));const a=e.modelRange.start.nodeAfter;const c=a&&a.is(\"element\")&&!i.checkChild(t,a.name);if(c){if(e.modelCursor.parent.is(\"element\",\"listItem\")){t=e.modelCursor.parent}else{t=FY(e.modelCursor)}r=o.createPositionAfter(t)}}}return r}function FY(t){const e=new Hf({startPosition:t});let n;do{n=e.next()}while(!n.value.item.is(\"element\",\"listItem\"));return n.value.item}function jY(t,e,n,o,i,r){const s=pY(e.nodeBefore,{sameIndent:true,smallerIndent:true,listIndent:t});const a=i.mapper;const c=i.writer;const l=s?s.getAttribute(\"listIndent\"):null;let d;if(!s){d=n}else if(l==t){const t=a.toViewElement(s).parent;d=c.createPositionAfter(t)}else{const t=r.createPositionAt(s,\"end\");d=a.toViewPosition(t)}d=fY(d);for(const t of[...o.getChildren()]){if(HY(t)){d=c.move(c.createRangeOn(t),d).end;gY(c,t,t.nextSibling);gY(c,t.previousSibling,t)}}}function HY(t){return t.is(\"element\",\"ol\")||t.is(\"element\",\"ul\")}function UY(t){let e=0;let n=t.parent;while(n){if(n.is(\"element\",\"li\")){e++}else{const t=n.previousSibling;if(t&&t.is(\"element\",\"li\")){e++}}n=n.parent}return e}class WY extends Ed{static get pluginName(){return\"LegacyListEditing\"}static get requires(){return[lP,RB,yY]}init(){const t=this.editor;t.model.schema.register(\"listItem\",{inheritAllFrom:\"$block\",allowAttributes:[\"listType\",\"listIndent\"]});const e=t.data;const n=t.editing;t.model.document.registerPostFixer((e=>OY(t.model,e)));n.mapper.registerViewToModelLength(\"li\",qY);e.mapper.registerViewToModelLength(\"li\",qY);n.mapper.on(\"modelToViewPosition\",LY(n.view));n.mapper.on(\"viewToModelPosition\",zY(t.model));e.mapper.on(\"modelToViewPosition\",LY(n.view));t.conversion.for(\"editingDowncast\").add((e=>{e.on(\"insert\",SY,{priority:\"high\"});e.on(\"insert:listItem\",xY(t.model));e.on(\"attribute:listType:listItem\",DY,{priority:\"high\"});e.on(\"attribute:listType:listItem\",IY,{priority:\"low\"});e.on(\"attribute:listIndent:listItem\",TY(t.model));e.on(\"remove:listItem\",EY(t.model));e.on(\"remove\",BY,{priority:\"low\"})}));t.conversion.for(\"dataDowncast\").add((e=>{e.on(\"insert\",SY,{priority:\"high\"});e.on(\"insert:listItem\",xY(t.model))}));t.conversion.for(\"upcast\").add((t=>{t.on(\"element:ul\",PY,{priority:\"high\"});t.on(\"element:ol\",PY,{priority:\"high\"});t.on(\"element:li\",NY,{priority:\"high\"});t.on(\"element:li\",MY)}));t.model.on(\"insertContent\",RY,{priority:\"high\"});t.commands.add(\"numberedList\",new aY(t,\"numbered\"));t.commands.add(\"bulletedList\",new aY(t,\"bulleted\"));t.commands.add(\"indentList\",new dY(t,\"forward\"));t.commands.add(\"outdentList\",new dY(t,\"backward\"));const o=n.view.document;this.listenTo(o,\"enter\",((t,e)=>{const n=this.editor.model.document;const o=n.selection.getLastPosition().parent;if(n.selection.isCollapsed&&o.name==\"listItem\"&&o.isEmpty){this.editor.execute(\"outdentList\");e.preventDefault();t.stop()}}),{context:\"li\"});this.listenTo(o,\"delete\",((t,e)=>{if(e.direction!==\"backward\"){return}const n=this.editor.model.document.selection;if(!n.isCollapsed){return}const o=n.getFirstPosition();if(!o.isAtStart){return}const i=o.parent;if(i.name!==\"listItem\"){return}const r=i.previousSibling&&i.previousSibling.name===\"listItem\";if(r){return}this.editor.execute(\"outdentList\");e.preventDefault();t.stop()}),{context:\"li\"});this.listenTo(t.editing.view.document,\"tab\",((e,n)=>{const o=n.shiftKey?\"outdentList\":\"indentList\";const i=this.editor.commands.get(o);if(i.isEnabled){t.execute(o);n.stopPropagation();n.preventDefault();e.stop()}}),{context:\"li\"})}afterInit(){const t=this.editor.commands;const e=t.get(\"indent\");const n=t.get(\"outdent\");if(e){e.registerChildCommand(t.get(\"indentList\"))}if(n){n.registerChildCommand(t.get(\"outdentList\"))}}}function qY(t){let e=1;for(const n of t.getChildren()){if(n.name==\"ul\"||n.name==\"ol\"){for(const t of n.getChildren()){e+=qY(t)}}}return e}class GY extends(null&&Plugin){static get requires(){return[LegacyListEditing,ListUI]}static get pluginName(){return\"LegacyList\"}}class $Y extends Id{constructor(t,e){super(t);this.defaultType=e}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){this._tryToConvertItemsToList(t);const e=this.editor.model;const n=wY(e);if(!n.length){return}e.change((e=>{for(const o of n){e.setAttribute(\"listStyle\",t.type||this.defaultType,o)}}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;if(t&&t.is(\"element\",\"listItem\")){return t.getAttribute(\"listStyle\")}return null}_checkEnabled(){const t=this.editor;const e=t.commands.get(\"numberedList\");const n=t.commands.get(\"bulletedList\");return e.isEnabled||n.isEnabled}_tryToConvertItemsToList(t){if(!t.type){return}const e=CY(t.type);if(!e){return}const n=this.editor;const o=`${e}List`;const i=n.commands.get(o);if(!i.value){n.execute(o)}}}class KY extends Id{refresh(){const t=this._getValue();this.value=t;this.isEnabled=t!=null}execute(t={}){const e=this.editor.model;const n=wY(e).filter((t=>t.getAttribute(\"listType\")==\"numbered\"));e.change((e=>{for(const o of n){e.setAttribute(\"listReversed\",!!t.reversed,o)}}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;if(t&&t.is(\"element\",\"listItem\")&&t.getAttribute(\"listType\")==\"numbered\"){return t.getAttribute(\"listReversed\")}return null}}class YY extends Id{refresh(){const t=this._getValue();this.value=t;this.isEnabled=t!=null}execute({startIndex:t=1}={}){const e=this.editor.model;const n=wY(e).filter((t=>t.getAttribute(\"listType\")==\"numbered\"));e.change((e=>{for(const o of n){e.setAttribute(\"listStart\",t>=0?t:1,o)}}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;if(t&&t.is(\"element\",\"listItem\")&&t.getAttribute(\"listType\")==\"numbered\"){return t.getAttribute(\"listStart\")}return null}}const QY=\"default\";class ZY extends Ed{static get requires(){return[WY]}static get pluginName(){return\"LegacyListPropertiesEditing\"}constructor(t){super(t);t.config.define(\"list\",{properties:{styles:true,startIndex:false,reversed:false}})}init(){const t=this.editor;const e=t.model;const n=t.config.get(\"list.properties\");const o=JY(n);e.schema.extend(\"listItem\",{allowAttributes:o.map((t=>t.attributeName))});for(const e of o){e.addCommand(t)}this.listenTo(t.commands.get(\"indentList\"),\"_executeCleanup\",eQ(t,o));this.listenTo(t.commands.get(\"outdentList\"),\"_executeCleanup\",nQ(t,o));this.listenTo(t.commands.get(\"bulletedList\"),\"_executeCleanup\",aQ(t));this.listenTo(t.commands.get(\"numberedList\"),\"_executeCleanup\",aQ(t));e.document.registerPostFixer(oQ(t,o));t.conversion.for(\"upcast\").add(XY(o));t.conversion.for(\"downcast\").add(tQ(o));this._mergeListAttributesWhileMergingLists(o)}afterInit(){const t=this.editor;if(t.commands.get(\"todoList\")){t.model.document.registerPostFixer(sQ(t))}}_mergeListAttributesWhileMergingLists(t){const e=this.editor;const n=e.model;let o;this.listenTo(n,\"deleteContent\",((t,[e])=>{const n=e.getFirstPosition();const i=e.getLastPosition();if(n.parent===i.parent){return}if(!n.parent.is(\"element\",\"listItem\")){return}const r=i.parent.nextSibling;if(!r||!r.is(\"element\",\"listItem\")){return}const s=pY(n.parent,{sameIndent:true,listIndent:r.getAttribute(\"listIndent\")});if(!s){return}if(s.getAttribute(\"listType\")===r.getAttribute(\"listType\")){o=s}}),{priority:\"high\"});this.listenTo(n,\"deleteContent\",(()=>{if(!o){return}n.change((e=>{const n=pY(o.nextSibling,{sameIndent:true,listIndent:o.getAttribute(\"listIndent\"),direction:\"forward\"});if(!n){o=null;return}const i=[n,...kY(e.createPositionAt(n,0),\"forward\")];for(const n of i){for(const i of t){if(i.appliesToListItem(n)){const t=i.attributeName;const r=o.getAttribute(t);e.setAttribute(t,r,n)}}}}));o=null}),{priority:\"low\"})}}function JY(t){const e=[];if(t.styles){e.push({attributeName:\"listStyle\",defaultValue:QY,addCommand(t){t.commands.add(\"listStyle\",new $Y(t,QY))},appliesToListItem(){return true},setAttributeOnDowncast(t,e,n){if(e&&e!==QY){t.setStyle(\"list-style-type\",e,n)}else{t.removeStyle(\"list-style-type\",n)}},getAttributeOnUpcast(t){return t.getStyle(\"list-style-type\")||QY}})}if(t.reversed){e.push({attributeName:\"listReversed\",defaultValue:false,addCommand(t){t.commands.add(\"listReversed\",new KY(t))},appliesToListItem(t){return t.getAttribute(\"listType\")==\"numbered\"},setAttributeOnDowncast(t,e,n){if(e){t.setAttribute(\"reversed\",\"reversed\",n)}else{t.removeAttribute(\"reversed\",n)}},getAttributeOnUpcast(t){return t.hasAttribute(\"reversed\")}})}if(t.startIndex){e.push({attributeName:\"listStart\",defaultValue:1,addCommand(t){t.commands.add(\"listStart\",new YY(t))},appliesToListItem(t){return t.getAttribute(\"listType\")==\"numbered\"},setAttributeOnDowncast(t,e,n){if(e==0||e>1){t.setAttribute(\"start\",e,n)}else{t.removeAttribute(\"start\",n)}},getAttributeOnUpcast(t){const e=t.getAttribute(\"start\");return e>=0?e:1}})}return e}function XY(t){return e=>{e.on(\"element:li\",((e,n,o)=>{if(!n.modelRange){return}const i=n.viewItem.parent;const r=n.modelRange.start.nodeAfter||n.modelRange.end.nodeBefore;for(const e of t){if(e.appliesToListItem(r)){const t=e.getAttributeOnUpcast(i);o.writer.setAttribute(e.attributeName,t,r)}}}),{priority:\"low\"})}}function tQ(t){return n=>{for(const o of t){n.on(`attribute:${o.attributeName}:listItem`,((t,n,i)=>{const r=i.writer;const s=n.item;const a=pY(s.previousSibling,{sameIndent:true,listIndent:s.getAttribute(\"listIndent\"),direction:\"backward\"});const c=i.mapper.toViewElement(s);if(!e(s,a)){r.breakContainer(r.createPositionBefore(c))}o.setAttributeOnDowncast(r,n.attributeNewValue,c.parent)}),{priority:\"low\"})}};function e(t,e){return e&&t.getAttribute(\"listType\")===e.getAttribute(\"listType\")&&t.getAttribute(\"listIndent\")===e.getAttribute(\"listIndent\")&&t.getAttribute(\"listStyle\")===e.getAttribute(\"listStyle\")&&t.getAttribute(\"listReversed\")===e.getAttribute(\"listReversed\")&&t.getAttribute(\"listStart\")===e.getAttribute(\"listStart\")}}function eQ(t,e){return(n,o)=>{const i=o[0];const r=i.getAttribute(\"listIndent\");const s=o.filter((t=>t.getAttribute(\"listIndent\")===r));let a=null;if(i.previousSibling.getAttribute(\"listIndent\")+1!==r){a=pY(i.previousSibling,{sameIndent:true,direction:\"backward\",listIndent:r})}t.model.change((t=>{for(const n of s){for(const o of e){if(o.appliesToListItem(n)){const e=a==null?o.defaultValue:a.getAttribute(o.attributeName);t.setAttribute(o.attributeName,e,n)}}}}))}}function nQ(t,e){return(n,o)=>{o=o.reverse().filter((t=>t.is(\"element\",\"listItem\")));if(!o.length){return}const i=o[0].getAttribute(\"listIndent\");const r=o[0].getAttribute(\"listType\");let s=o[0].previousSibling;if(s.is(\"element\",\"listItem\")){while(s.getAttribute(\"listIndent\")!==i){s=s.previousSibling}}else{s=null}if(!s){s=o[o.length-1].nextSibling}if(!s||!s.is(\"element\",\"listItem\")){return}if(s.getAttribute(\"listType\")!==r){return}t.model.change((t=>{const n=o.filter((t=>t.getAttribute(\"listIndent\")===i));for(const o of n){for(const n of e){if(n.appliesToListItem(o)){const e=n.attributeName;const i=s.getAttribute(e);t.setAttribute(e,i,o)}}}}))}}function oQ(t,e){return n=>{let o=false;const i=cQ(t.model.document.differ.getChanges()).filter((t=>t.getAttribute(\"listType\")!==\"todo\"));if(!i.length){return o}let r=i[i.length-1].nextSibling;if(!r||!r.is(\"element\",\"listItem\")){r=i[0].previousSibling;if(r){const t=i[0].getAttribute(\"listIndent\");while(r.is(\"element\",\"listItem\")&&r.getAttribute(\"listIndent\")!==t){r=r.previousSibling;if(!r){break}}}}for(const t of e){const e=t.attributeName;for(const s of i){if(!t.appliesToListItem(s)){n.removeAttribute(e,s);continue}if(!s.hasAttribute(e)){if(iQ(r,s,t)){n.setAttribute(e,r.getAttribute(e),s)}else{n.setAttribute(e,t.defaultValue,s)}o=true}else{const i=s.previousSibling;if(rQ(i,s,t.attributeName)){n.setAttribute(e,i.getAttribute(e),s);o=true}}}}return o}}function iQ(t,e,n){if(!t){return false}const o=t.getAttribute(n.attributeName);if(!o){return false}if(o==n.defaultValue){return false}if(t.getAttribute(\"listType\")!==e.getAttribute(\"listType\")){return false}return true}function rQ(t,e,n){if(!t||!t.is(\"element\",\"listItem\")){return false}if(e.getAttribute(\"listType\")!==t.getAttribute(\"listType\")){return false}const o=t.getAttribute(\"listIndent\");if(o<1||o!==e.getAttribute(\"listIndent\")){return false}const i=t.getAttribute(n);if(!i||i===e.getAttribute(n)){return false}return true}function sQ(t){return e=>{const n=cQ(t.model.document.differ.getChanges()).filter((t=>t.getAttribute(\"listType\")===\"todo\"&&(t.hasAttribute(\"listStyle\")||t.hasAttribute(\"listReversed\")||t.hasAttribute(\"listStart\"))));if(!n.length){return false}for(const t of n){e.removeAttribute(\"listStyle\",t);e.removeAttribute(\"listReversed\",t);e.removeAttribute(\"listStart\",t)}return true}}function aQ(t){return(e,n)=>{n=n.filter((t=>t.is(\"element\",\"listItem\")));t.model.change((t=>{for(const e of n){t.removeAttribute(\"listStyle\",e)}}))}}function cQ(t){const e=[];for(const n of t){const t=lQ(n);if(t&&t.is(\"element\",\"listItem\")){e.push(t)}}return e}function lQ(t){if(t.type===\"attribute\"){return t.range.start.nodeAfter}if(t.type===\"insert\"){return t.position.nodeAfter}return null}class dQ extends(null&&Plugin){static get requires(){return[LegacyListPropertiesEditing,ListPropertiesUI]}static get pluginName(){return\"LegacyListProperties\"}}const uQ=\"todoListChecked\";class hQ extends Id{constructor(t){super(t);this._selectedElements=[];this.on(\"execute\",(()=>{this.refresh()}),{priority:\"highest\"})}refresh(){this._selectedElements=this._getSelectedItems();this.value=this._selectedElements.every((t=>!!t.getAttribute(uQ)));this.isEnabled=!!this._selectedElements.length}_getSelectedItems(){const t=this.editor.model;const e=t.schema;const n=t.document.selection.getFirstRange();const o=n.start.parent;const i=[];if(e.checkAttribute(o,uQ)){i.push(o)}for(const t of n.getItems()){if(e.checkAttribute(t,uQ)&&!i.includes(t)){i.push(t)}}return i}execute(t={}){this.editor.model.change((e=>{for(const n of this._selectedElements){const o=t.forceValue===undefined?!this.value:t.forceValue;if(o){e.setAttribute(uQ,true,n)}else{e.removeAttribute(uQ,n)}}}))}}function mQ(t,e){return(n,o,i)=>{const r=i.consumable;if(!r.test(o.item,\"insert\")||!r.test(o.item,\"attribute:listType\")||!r.test(o.item,\"attribute:listIndent\")){return}if(o.item.getAttribute(\"listType\")!=\"todo\"){return}const s=o.item;r.consume(s,\"insert\");r.consume(s,\"attribute:listType\");r.consume(s,\"attribute:listIndent\");r.consume(s,\"attribute:todoListChecked\");const a=i.writer;const c=generateLiInUl(s,i);const l=!!s.getAttribute(\"todoListChecked\");const d=wQ(s,a,l,e);const u=a.createContainerElement(\"span\",{class:\"todo-list__label__description\"});a.addClass(\"todo-list\",c.parent);a.insert(a.createPositionAt(c,0),d);a.insert(a.createPositionAfter(d),u);injectViewList(s,c,i,t)}}function gQ(t){return(e,n,o)=>{const i=o.consumable;if(!i.test(n.item,\"insert\")||!i.test(n.item,\"attribute:listType\")||!i.test(n.item,\"attribute:listIndent\")){return}if(n.item.getAttribute(\"listType\")!=\"todo\"){return}const r=n.item;i.consume(r,\"insert\");i.consume(r,\"attribute:listType\");i.consume(r,\"attribute:listIndent\");i.consume(r,\"attribute:todoListChecked\");const s=o.writer;const a=generateLiInUl(r,o);s.addClass(\"todo-list\",a.parent);const c=s.createContainerElement(\"label\",{class:\"todo-list__label\"});const l=s.createEmptyElement(\"input\",{type:\"checkbox\",disabled:\"disabled\"});const d=s.createContainerElement(\"span\",{class:\"todo-list__label__description\"});if(r.getAttribute(\"todoListChecked\")){s.setAttribute(\"checked\",\"checked\",l)}s.insert(s.createPositionAt(a,0),c);s.insert(s.createPositionAt(c,0),l);s.insert(s.createPositionAfter(l),d);injectViewList(r,a,o,t)}}const fQ=(t,e,n)=>{const o=e.modelCursor;const i=o.parent;const r=e.viewItem;if(r.getAttribute(\"type\")!=\"checkbox\"||i.name!=\"listItem\"||!o.isAtStart){return}if(!n.consumable.consume(r,{name:true})){return}const s=n.writer;s.setAttribute(\"listType\",\"todo\",i);if(e.viewItem.hasAttribute(\"checked\")){s.setAttribute(\"todoListChecked\",true,i)}e.modelRange=s.createRange(o)};function pQ(t,e){return(n,o,i)=>{if(!i.consumable.consume(o.item,n.name)){return}const r=i.mapper.toViewElement(o.item);const s=i.writer;const a=AQ(r,e);if(o.attributeNewValue==\"todo\"){const e=!!o.item.getAttribute(\"todoListChecked\");const n=wQ(o.item,s,e,t);const i=s.createContainerElement(\"span\",{class:\"todo-list__label__description\"});const a=s.createRangeIn(r);const c=findNestedList(r);const l=positionAfterUiElements(a.start);const d=c?s.createPositionBefore(c):a.end;const u=s.createRange(l,d);s.addClass(\"todo-list\",r.parent);s.move(u,s.createPositionAt(i,0));s.insert(s.createPositionAt(r,0),n);s.insert(s.createPositionAfter(n),i)}else if(o.attributeOldValue==\"todo\"){const t=_Q(r,e);s.removeClass(\"todo-list\",r.parent);s.remove(a);s.move(s.createRangeIn(t),s.createPositionBefore(t));s.remove(t)}}}function bQ(t){return(e,n,o)=>{if(n.item.getAttribute(\"listType\")!=\"todo\"){return}if(!o.consumable.consume(n.item,\"attribute:todoListChecked\")){return}const{mapper:i,writer:r}=o;const s=!!n.item.getAttribute(\"todoListChecked\");const a=i.toViewElement(n.item);const c=a.getChild(0);const l=wQ(n.item,r,s,t);r.insert(r.createPositionAfter(c),l);r.remove(c)}}function kQ(t){return(e,n)=>{const o=n.modelPosition;const i=o.parent;if(!i.is(\"element\",\"listItem\")||i.getAttribute(\"listType\")!=\"todo\"){return}const r=n.mapper.toViewElement(i);const s=_Q(r,t);if(s){n.viewPosition=n.mapper.findPositionIn(s,o.offset)}}}function wQ(t,e,n,o){const i=e.createUIElement(\"label\",{class:\"todo-list__label\",contenteditable:false},(function(e){const i=createElement(document,\"input\",{type:\"checkbox\",tabindex:\"-1\"});if(n){i.setAttribute(\"checked\",\"checked\")}i.addEventListener(\"change\",(()=>o(t)));const r=this.toDomElement(e);r.appendChild(i);return r}));return i}function AQ(t,e){const n=e.createRangeIn(t);for(const t of n){if(t.item.is(\"uiElement\",\"label\")){return t.item}}}function _Q(t,e){const n=e.createRangeIn(t);for(const t of n){if(t.item.is(\"containerElement\",\"span\")&&t.item.hasClass(\"todo-list__label__description\")){return t.item}}}const CQ=Jc(\"Ctrl+Enter\");class vQ extends(null&&Plugin){static get pluginName(){return\"LegacyTodoListEditing\"}static get requires(){return[LegacyListEditing]}init(){const t=this.editor;const{editing:e,data:n,model:o}=t;o.schema.extend(\"listItem\",{allowAttributes:[\"todoListChecked\"]});o.schema.addAttributeCheck(((t,e)=>{const n=t.last;if(e==\"todoListChecked\"&&n.name==\"listItem\"&&n.getAttribute(\"listType\")!=\"todo\"){return false}}));t.commands.add(\"todoList\",new LegacyListCommand(t,\"todo\"));const i=new LegacyCheckTodoListCommand(t);t.commands.add(\"checkTodoList\",i);t.commands.add(\"todoListCheck\",i);n.downcastDispatcher.on(\"insert:listItem\",dataModelViewInsertion(o),{priority:\"high\"});n.upcastDispatcher.on(\"element:input\",dataViewModelCheckmarkInsertion,{priority:\"high\"});e.downcastDispatcher.on(\"insert:listItem\",modelViewInsertion(o,(t=>this._handleCheckmarkChange(t))),{priority:\"high\"});e.downcastDispatcher.on(\"attribute:listType:listItem\",modelViewChangeType((t=>this._handleCheckmarkChange(t)),e.view));e.downcastDispatcher.on(\"attribute:todoListChecked:listItem\",modelViewChangeChecked((t=>this._handleCheckmarkChange(t))));e.mapper.on(\"modelToViewPosition\",mapModelToViewPosition(e.view));n.mapper.on(\"modelToViewPosition\",mapModelToViewPosition(e.view));this.listenTo(e.view.document,\"arrowKey\",yQ(o,t.locale),{context:\"li\"});this.listenTo(e.view.document,\"keydown\",((e,n)=>{if(getCode(n)===CQ){t.execute(\"checkTodoList\");e.stop()}}),{priority:\"high\"});const r=new Set;this.listenTo(o,\"applyOperation\",((t,e)=>{const n=e[0];if(n.type==\"rename\"&&n.oldName==\"listItem\"){const t=n.position.nodeAfter;if(t.hasAttribute(\"todoListChecked\")){r.add(t)}}else if(n.type==\"changeAttribute\"&&n.key==\"listType\"&&n.oldValue===\"todo\"){for(const t of n.range.getItems()){if(t.hasAttribute(\"todoListChecked\")&&t.getAttribute(\"listType\")!==\"todo\"){r.add(t)}}}}));o.document.registerPostFixer((t=>{let e=false;for(const n of r){t.removeAttribute(\"todoListChecked\",n);e=true}r.clear();return e}))}_handleCheckmarkChange(t){const e=this.editor;const n=e.model;const o=Array.from(n.document.selection.getRanges());n.change((n=>{n.setSelection(t,\"end\");e.execute(\"checkTodoList\");n.setSelection(o)}))}}function yQ(t,e){return(n,o)=>{const i=getLocalizedArrowKeyCodeDirection(o.keyCode,e.contentLanguageDirection);if(i!=\"left\"){return}const r=t.schema;const s=t.document.selection;if(!s.isCollapsed){return}const a=s.getFirstPosition();const c=a.parent;if(c.name===\"listItem\"&&c.getAttribute(\"listType\")==\"todo\"&&a.isAtStart){const e=r.getNearestSelectionRange(t.createPositionBefore(c),\"backward\");if(e){t.change((t=>t.setSelection(e)))}o.preventDefault();o.stopPropagation();n.stop()}}}class xQ extends(null&&Plugin){static get requires(){return[LegacyTodoListEditing,TodoListUI]}static get pluginName(){return\"LegacyTodoList\"}}class EQ extends(null&&Plugin){static get pluginName(){return\"AdjacentListsSupport\"}init(){const t=this.editor;const e=t.model;e.schema.register(\"listSeparator\",{allowWhere:\"$block\",isBlock:true});t.conversion.for(\"upcast\").add((t=>{t.on(\"element:ol\",DQ());t.on(\"element:ul\",DQ())})).elementToElement({model:\"listSeparator\",view:\"ck-list-separator\"});t.conversion.for(\"editingDowncast\").elementToElement({model:\"listSeparator\",view:{name:\"div\",classes:[\"ck-list-separator\",\"ck-hidden\"]}});t.conversion.for(\"dataDowncast\").elementToElement({model:\"listSeparator\",view:(t,e)=>{const n=e.writer.createContainerElement(\"ck-list-separator\");e.writer.setCustomProperty(\"dataPipeline:transparentRendering\",true,n);n.getFillerOffset=()=>null;return n}})}}function DQ(){return(t,e,n)=>{const o=e.viewItem;const i=o.nextSibling;if(!i){return}if(o.name!==i.name){return}if(!e.modelRange){Object.assign(e,n.convertChildren(e.viewItem,e.modelCursor))}const r=n.writer;const s=r.createElement(\"listSeparator\");if(!n.safeInsert(s,e.modelCursor)){return}const a=n.getSplitParts(s);e.modelRange=r.createRange(e.modelRange.start,r.createPositionAfter(a[a.length-1]));n.updateConversionResult(s,e)}}class IQ extends Ed{static get requires(){return[nK]}static get pluginName(){return\"DocumentList\"}constructor(t){super(t);L(\"plugin-obsolete-documentlist\",{pluginName:\"DocumentList\"})}}class TQ extends Ed{static get requires(){return[UK]}static get pluginName(){return\"DocumentListProperties\"}constructor(t){super(t);L(\"plugin-obsolete-documentlistproperties\",{pluginName:\"DocumentListProperties\"})}}class SQ extends Ed{static get requires(){return[sY]}static get pluginName(){return\"TodoDocumentList\"}constructor(t){super(t);L(\"plugin-obsolete-tododocumentlist\",{pluginName:\"TodoDocumentList\"})}}function BQ(t,e){const n=(n,o,i)=>{if(!i.consumable.consume(o.item,n.name)){return}const r=o.attributeNewValue;const s=i.writer;const a=i.mapper.toViewElement(o.item);const c=[...a.getChildren()].find((t=>t.getCustomProperty(\"media-content\")));s.remove(c);const l=t.getMediaViewElement(s,r,e);s.insert(s.createPositionAt(a,0),l)};return t=>{t.on(\"attribute:url:media\",n)}}function MQ(t,e,n){e.setCustomProperty(\"media\",true,t);return xz(t,e,{label:n})}function PQ(t){const e=t.getSelectedElement();if(e&&NQ(e)){return e}return null}function NQ(t){return!!t.getCustomProperty(\"media\")&&isWidget(t)}function LQ(t,e,n,o){return t.createContainerElement(\"figure\",{class:\"media\"},[e.getMediaViewElement(t,n,o),t.createSlot()])}function zQ(t){const e=t.getSelectedElement();if(e&&e.is(\"element\",\"media\")){return e}return null}function OQ(t,e,n,o){t.change((i=>{const r=i.createElement(\"media\",{url:e});t.insertObject(r,n,null,{setSelection:\"on\",findOptimalPosition:o?\"auto\":undefined})}))}class RQ extends Id{refresh(){const t=this.editor.model;const e=t.document.selection;const n=zQ(e);this.value=n?n.getAttribute(\"url\"):undefined;this.isEnabled=FQ(e)||VQ(e,t)}execute(t){const e=this.editor.model;const n=e.document.selection;const o=zQ(n);if(o){e.change((e=>{e.setAttribute(\"url\",t,o)}))}else{OQ(e,t,n,true)}}}function VQ(t,e){const n=Mz(t,e);let o=n.start.parent;if(o.isEmpty&&!e.schema.isLimit(o)){o=o.parent}return e.schema.checkChild(o,\"media\")}function FQ(t){const e=t.getSelectedElement();return!!e&&e.name===\"media\"}const jQ='';const HQ=\"0 0 64 42\";class UQ{constructor(t,e){const n=e.providers;const o=e.extraProviders||[];const i=new Set(e.removeProviders);const r=n.concat(o).filter((t=>{const e=t.name;if(!e){L(\"media-embed-no-provider-name\",{provider:t});return false}return!i.has(e)}));this.locale=t;this.providerDefinitions=r}hasMedia(t){return!!this._getMedia(t)}getMediaViewElement(t,e,n){return this._getMedia(e).getViewElement(t,n)}_getMedia(t){if(!t){return new WQ(this.locale)}t=t.trim();for(const e of this.providerDefinitions){const n=e.html;const o=sl(e.url);for(const e of o){const o=this._getUrlMatches(t,e);if(o){return new WQ(this.locale,t,o,n)}}}return null}_getUrlMatches(t,e){let n=t.match(e);if(n){return n}let o=t.replace(/^https?:\\/\\//,\"\");n=o.match(e);if(n){return n}o=o.replace(/^www\\./,\"\");n=o.match(e);if(n){return n}return null}}class WQ{constructor(t,e,n,o){this.url=this._getValidUrl(e);this._locale=t;this._match=n;this._previewRenderer=o}getViewElement(t,e){const n={};let o;if(e.renderForEditingView||e.renderMediaPreview&&this.url&&this._previewRenderer){if(this.url){n[\"data-oembed-url\"]=this.url}if(e.renderForEditingView){n.class=\"ck-media__wrapper\"}const i=this._getPreviewHtml(e);o=t.createRawElement(\"div\",n,((t,e)=>{e.setContentOf(t,i)}))}else{if(this.url){n.url=this.url}o=t.createEmptyElement(e.elementName,n)}t.setCustomProperty(\"media-content\",true,o);return o}_getPreviewHtml(t){if(this._previewRenderer){return this._previewRenderer(this._match)}else{if(this.url&&t.renderForEditingView){return this._getPlaceholderHtml()}return\"\"}}_getPlaceholderHtml(){const t=new yv;const e=this._locale.t;t.content=jQ;t.viewBox=HQ;const n=new EC({tag:\"div\",attributes:{class:\"ck ck-reset_all ck-media__placeholder\"},children:[{tag:\"div\",attributes:{class:\"ck-media__placeholder__icon\"},children:[t]},{tag:\"a\",attributes:{class:\"ck-media__placeholder__url\",target:\"_blank\",rel:\"noopener noreferrer\",href:this.url,\"data-cke-tooltip-text\":e(\"Open media in new tab\")},children:[{tag:\"span\",attributes:{class:\"ck-media__placeholder__url__text\"},children:[this.url]}]}]}).render();return n.outerHTML}_getValidUrl(t){if(!t){return null}if(t.match(/^https?/)){return t}return\"https://\"+t}}var qQ=n(8074);var GQ={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};GQ.insert=\"head\";GQ.singleton=true;var $Q=Ld()(qQ.A,GQ);const KQ=qQ.A.locals||{};class YQ extends Ed{static get pluginName(){return\"MediaEmbedEditing\"}constructor(t){super(t);t.config.define(\"mediaEmbed\",{elementName:\"oembed\",providers:[{name:\"dailymotion\",url:[/^dailymotion\\.com\\/video\\/(\\w+)/,/^dai.ly\\/(\\w+)/],html:t=>{const e=t[1];return'
'+`\"+\"
\"}},{name:\"spotify\",url:[/^open\\.spotify\\.com\\/(artist\\/\\w+)/,/^open\\.spotify\\.com\\/(album\\/\\w+)/,/^open\\.spotify\\.com\\/(track\\/\\w+)/],html:t=>{const e=t[1];return'
'+`\"+\"
\"}},{name:\"youtube\",url:[/^(?:m\\.)?youtube\\.com\\/watch\\?v=([\\w-]+)(?:&t=(\\d+))?/,/^(?:m\\.)?youtube\\.com\\/v\\/([\\w-]+)(?:\\?t=(\\d+))?/,/^youtube\\.com\\/embed\\/([\\w-]+)(?:\\?start=(\\d+))?/,/^youtu\\.be\\/([\\w-]+)(?:\\?t=(\\d+))?/],html:t=>{const e=t[1];const n=t[2];return'
'+`\"+\"
\"}},{name:\"vimeo\",url:[/^vimeo\\.com\\/(\\d+)/,/^vimeo\\.com\\/[^/]+\\/[^/]+\\/video\\/(\\d+)/,/^vimeo\\.com\\/album\\/[^/]+\\/video\\/(\\d+)/,/^vimeo\\.com\\/channels\\/[^/]+\\/(\\d+)/,/^vimeo\\.com\\/groups\\/[^/]+\\/videos\\/(\\d+)/,/^vimeo\\.com\\/ondemand\\/[^/]+\\/(\\d+)/,/^player\\.vimeo\\.com\\/video\\/(\\d+)/],html:t=>{const e=t[1];return'
'+`\"+\"
\"}},{name:\"instagram\",url:/^instagram\\.com\\/p\\/(\\w+)/},{name:\"twitter\",url:/^twitter\\.com/},{name:\"googleMaps\",url:[/^google\\.com\\/maps/,/^goo\\.gl\\/maps/,/^maps\\.google\\.com/,/^maps\\.app\\.goo\\.gl/]},{name:\"flickr\",url:/^flickr\\.com/},{name:\"facebook\",url:/^facebook\\.com/}]});this.registry=new UQ(t.locale,t.config.get(\"mediaEmbed\"))}init(){const t=this.editor;const e=t.model.schema;const n=t.t;const o=t.conversion;const i=t.config.get(\"mediaEmbed.previewsInData\");const r=t.config.get(\"mediaEmbed.elementName\");const s=this.registry;t.commands.add(\"mediaEmbed\",new RQ(t));e.register(\"media\",{inheritAllFrom:\"$blockObject\",allowAttributes:[\"url\"]});o.for(\"dataDowncast\").elementToStructure({model:\"media\",view:(t,{writer:e})=>{const n=t.getAttribute(\"url\");return LQ(e,s,n,{elementName:r,renderMediaPreview:!!n&&i})}});o.for(\"dataDowncast\").add(BQ(s,{elementName:r,renderMediaPreview:i}));o.for(\"editingDowncast\").elementToStructure({model:\"media\",view:(t,{writer:e})=>{const o=t.getAttribute(\"url\");const i=LQ(e,s,o,{elementName:r,renderForEditingView:true});return MQ(i,e,n(\"media widget\"))}});o.for(\"editingDowncast\").add(BQ(s,{elementName:r,renderForEditingView:true}));o.for(\"upcast\").elementToElement({view:t=>[\"oembed\",r].includes(t.name)&&t.getAttribute(\"url\")?{name:true}:null,model:(t,{writer:e})=>{const n=t.getAttribute(\"url\");if(s.hasMedia(n)){return e.createElement(\"media\",{url:n})}return null}}).elementToElement({view:{name:\"div\",attributes:{\"data-oembed-url\":true}},model:(t,{writer:e})=>{const n=t.getAttribute(\"data-oembed-url\");if(s.hasMedia(n)){return e.createElement(\"media\",{url:n})}return null}}).add((t=>{const e=(t,e,n)=>{if(!n.consumable.consume(e.viewItem,{name:true,classes:\"media\"})){return}const{modelRange:o,modelCursor:i}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=o;e.modelCursor=i;const r=sd(o.getItems());if(!r){n.consumable.revert(e.viewItem,{name:true,classes:\"media\"})}};t.on(\"element:figure\",e)}))}}const QQ=/^(?:http(s)?:\\/\\/)?[\\w-]+\\.[\\w-.~:/?#[\\]@!$&'()*+,;=%]+$/;class ZQ extends Ed{static get requires(){return[nR,RB,bR]}static get pluginName(){return\"AutoMediaEmbed\"}constructor(t){super(t);this._timeoutId=null;this._positionToInsert=null}init(){const t=this.editor;const e=t.model.document;const n=t.plugins.get(\"ClipboardPipeline\");this.listenTo(n,\"inputTransformation\",(()=>{const t=e.selection.getFirstRange();const n=cw.fromPosition(t.start);n.stickiness=\"toPrevious\";const o=cw.fromPosition(t.end);o.stickiness=\"toNext\";e.once(\"change:data\",(()=>{this._embedMediaBetweenPositions(n,o);n.detach();o.detach()}),{priority:\"high\"})}));const o=t.commands.get(\"undo\");o.on(\"execute\",(()=>{if(this._timeoutId){oc.window.clearTimeout(this._timeoutId);this._positionToInsert.detach();this._timeoutId=null;this._positionToInsert=null}}),{priority:\"high\"})}_embedMediaBetweenPositions(t,e){const n=this.editor;const o=n.plugins.get(YQ).registry;const i=new mp(t,e);const r=i.getWalker({ignoreElementEnd:true});let s=\"\";for(const t of r){if(t.item.is(\"$textProxy\")){s+=t.item.data}}s=s.trim();if(!s.match(QQ)){i.detach();return}if(!o.hasMedia(s)){i.detach();return}const a=n.commands.get(\"mediaEmbed\");if(!a.isEnabled){i.detach();return}this._positionToInsert=cw.fromPosition(t);this._timeoutId=oc.window.setTimeout((()=>{n.model.change((t=>{this._timeoutId=null;t.remove(i);i.detach();let e=null;if(this._positionToInsert.root.rootName!==\"$graveyard\"){e=this._positionToInsert}OQ(n.model,s,e,false);this._positionToInsert.detach();this._positionToInsert=null}));n.plugins.get(RB).requestUndoOnBackspace()}),100)}}var JQ=n(7269);var XQ={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};XQ.insert=\"head\";XQ.singleton=true;var tZ=Ld()(JQ.A,XQ);const eZ=JQ.A.locals||{};class nZ extends ov{constructor(t,e){super(e);const n=e.t;this.focusTracker=new ad;this.keystrokes=new cd;this.set(\"mediaURLInputValue\",\"\");this.urlInputView=this._createUrlInput();this.saveButtonView=this._createButton(n(\"Save\"),CC.check,\"ck-button-save\");this.saveButtonView.type=\"submit\";this.saveButtonView.bind(\"isEnabled\").to(this,\"mediaURLInputValue\",(t=>!!t));this.cancelButtonView=this._createButton(n(\"Cancel\"),CC.cancel,\"ck-button-cancel\",\"cancel\");this._focusables=new vC;this._focusCycler=new Fy({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this._validators=t;this.setTemplate({tag:\"form\",attributes:{class:[\"ck\",\"ck-media-form\",\"ck-responsive-form\"],tabindex:\"-1\"},children:[this.urlInputView,this.saveButtonView,this.cancelButtonView]})}render(){super.render();i({view:this});const t=[this.urlInputView,this.saveButtonView,this.cancelButtonView];t.forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}));this.keystrokes.listenTo(this.element);const e=t=>t.stopPropagation();this.keystrokes.set(\"arrowright\",e);this.keystrokes.set(\"arrowleft\",e);this.keystrokes.set(\"arrowup\",e);this.keystrokes.set(\"arrowdown\",e)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(t){this.urlInputView.fieldView.element.value=t.trim()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e){this.urlInputView.errorText=e;return false}}return true}resetFormStatus(){this.urlInputView.errorText=null;this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t;const e=new py(this.locale,Vx);const n=e.fieldView;this._urlInputViewInfoDefault=t(\"Paste the media URL in the input.\");this._urlInputViewInfoTip=t(\"Tip: Paste the URL into the content to embed faster.\");e.label=t(\"Media URL\");e.infoText=this._urlInputViewInfoDefault;n.on(\"input\",(()=>{e.infoText=n.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault;this.mediaURLInputValue=n.element.value.trim()}));return e}_createButton(t,e,n,o){const i=new Sv(this.locale);i.set({label:t,icon:e,tooltip:true});i.extendTemplate({attributes:{class:n}});if(o){i.delegate(\"execute\").to(this,o)}return i}}const oZ='';class iZ extends Ed{static get requires(){return[YQ]}static get pluginName(){return\"MediaEmbedUI\"}init(){const t=this.editor;const e=t.commands.get(\"mediaEmbed\");t.ui.componentFactory.add(\"mediaEmbed\",(t=>{const n=xx(t);this._setUpDropdown(n,e);return n}))}_setUpDropdown(t,n){const o=this.editor;const i=o.t;const r=t.buttonView;const s=o.plugins.get(YQ).registry;t.once(\"change:isOpen\",(()=>{const i=new(e(nZ))(rZ(o.t,s),o.locale);t.panelView.children.add(i);r.on(\"open\",(()=>{i.disableCssTransitions();i.url=n.value||\"\";i.urlInputView.fieldView.select();i.enableCssTransitions()}),{priority:\"low\"});t.on(\"submit\",(()=>{if(i.isValid()){o.execute(\"mediaEmbed\",i.url);o.editing.view.focus()}}));t.on(\"change:isOpen\",(()=>i.resetFormStatus()));t.on(\"cancel\",(()=>{o.editing.view.focus()}));i.delegate(\"submit\",\"cancel\").to(t);i.urlInputView.fieldView.bind(\"value\").to(n,\"value\");i.urlInputView.bind(\"isEnabled\").to(n,\"isEnabled\")}));t.bind(\"isEnabled\").to(n);r.set({label:i(\"Insert media\"),icon:oZ,tooltip:true})}}function rZ(t,e){return[e=>{if(!e.url.length){return t(\"The URL must not be empty.\")}},n=>{if(!e.hasMedia(n.url)){return t(\"This media URL is not supported.\")}}]}var sZ=n(9724);var aZ={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};aZ.insert=\"head\";aZ.singleton=true;var cZ=Ld()(sZ.A,aZ);const lZ=sZ.A.locals||{};class dZ extends Ed{static get requires(){return[YQ,iZ,ZQ,uO]}static get pluginName(){return\"MediaEmbed\"}}class uZ extends(null&&Plugin){static get requires(){return[WidgetToolbarRepository]}static get pluginName(){return\"MediaEmbedToolbar\"}afterInit(){const t=this.editor;const e=t.t;const n=t.plugins.get(WidgetToolbarRepository);n.register(\"mediaEmbed\",{ariaLabel:e(\"Media toolbar\"),items:t.config.get(\"mediaEmbed.toolbar\")||[],getRelatedElement:getSelectedMediaViewWidget})}}function hZ(t){const e=parseFloat(t);if(t.endsWith(\"pt\")){return gZ(e*96/72)}else if(t.endsWith(\"pc\")){return gZ(e*12*96/72)}else if(t.endsWith(\"in\")){return gZ(e*96)}else if(t.endsWith(\"cm\")){return gZ(e*96/2.54)}else if(t.endsWith(\"mm\")){return gZ(e/10*96/2.54)}return t}function mZ(t){return t!==undefined&&t.endsWith(\"px\")}function gZ(t){return t.toFixed(2).replace(/\\.?0+$/,\"\")+\"px\"}function fZ(t,e,n){if(!t.childCount){return}const o=new uA(t.document);const i=bZ(t,o);if(!i.length){return}const r={};const s=[];for(const t of i){if(t.indent!==undefined){if(!kZ(t)){s.length=0}const i=`${t.id}:${t.indent}`;const a=Math.min(t.indent-1,s.length);if(as.length-1||s[a].listElement.name!=c.type){if(a==0&&c.type==\"ol\"&&t.id!==undefined&&r[i]){c.startIndex=r[i]}const e=yZ(c,o,n);if(mZ(t.marginLeft)&&(a==0||mZ(s[a-1].marginLeft))){let n=t.marginLeft;if(a>0){n=gZ(parseFloat(n)-parseFloat(s[a-1].marginLeft))}o.setStyle(\"padding-left\",n,e)}if(s.length==0){const n=t.element.parent;const i=n.getChildIndex(t.element)+1;o.insertChild(i,e,n)}else{const t=s[a-1].listItemElements;o.appendChild(e,t[t.length-1])}s[a]={...t,listElement:e,listItemElements:[]};if(a==0&&t.id!==undefined){r[i]=c.startIndex||1}}}const c=t.element.name==\"li\"?t.element:o.createElement(\"li\");o.appendChild(c,s[a].listElement);s[a].listItemElements.push(c);if(a==0&&t.id!==undefined){r[i]++}if(t.element!=c){o.appendChild(t.element,c)}EZ(t.element,o);o.removeStyle(\"text-indent\",t.element);o.removeStyle(\"margin-left\",t.element)}else{const e=s.find((e=>e.marginLeft==t.marginLeft));if(e){const n=e.listItemElements;o.appendChild(t.element,n[n.length-1]);o.removeStyle(\"margin-left\",t.element)}else{s.length=0}}}}function pZ(t,e){for(const n of e.createRangeIn(t)){const t=n.item;if(t.is(\"element\",\"li\")){const n=t.getChild(0);if(n&&n.is(\"element\",\"p\")){e.unwrapElement(n)}}}}function bZ(t,e){const n=e.createRangeIn(t);const o=[];const i=new Set;for(const t of n.getItems()){if(!t.is(\"element\")||!t.name.match(/^(p|h\\d+|li|div)$/)){continue}let e=DZ(t);if(e!==undefined&&parseFloat(e)==0&&!Array.from(t.getClassNames()).find((t=>t.startsWith(\"MsoList\")))){e=undefined}if(t.hasStyle(\"mso-list\")||e!==undefined&&i.has(e)){const n=xZ(t);o.push({element:t,id:n.id,order:n.order,indent:n.indent,marginLeft:e});if(e!==undefined){i.add(e)}}else{i.clear()}}return o}function kZ(t){const e=t.element.previousSibling;if(!e){return wZ(t.element.parent)}return wZ(e)}function wZ(t){return t.is(\"element\",\"ol\")||t.is(\"element\",\"ul\")}function AZ(t,e){const n=new RegExp(`@list l${t.id}:level${t.indent}\\\\s*({[^}]*)`,\"gi\");const o=/mso-level-number-format:([^;]{0,100});/gi;const i=/mso-level-start-at:\\s{0,100}([0-9]{0,10})\\s{0,100};/gi;const r=new RegExp(`@list\\\\s+l${t.id}:level\\\\d\\\\s*{[^{]*mso-level-text:\"%\\\\d\\\\\\\\.`,\"gi\");const s=new RegExp(`@list l${t.id}:level\\\\d\\\\s*{[^{]*mso-level-number-format:`,\"gi\");const a=r.exec(e);const c=s.exec(e);const l=a&&!c;const d=n.exec(e);let u=\"decimal\";let h=\"ol\";let m=null;if(d&&d[1]){const e=o.exec(d[1]);if(e&&e[1]){u=e[1].trim();h=u!==\"bullet\"&&u!==\"image\"?\"ol\":\"ul\"}if(u===\"bullet\"){const e=_Z(t.element);if(e){u=e}}else{const t=i.exec(d[1]);if(t&&t[1]){m=parseInt(t[1])}}if(l){h=\"ol\"}}return{type:h,startIndex:m,style:vZ(u),isLegalStyleList:l}}function _Z(t){if(t.name==\"li\"&&t.parent.name==\"ul\"&&t.parent.hasAttribute(\"type\")){return t.parent.getAttribute(\"type\")}const e=CZ(t);if(!e){return null}const n=e._data;if(n===\"o\"){return\"circle\"}else if(n===\"\u00B7\"){return\"disc\"}else if(n===\"\u00A7\"){return\"square\"}return null}function CZ(t){if(t.getChild(0).is(\"$text\")){return null}for(const e of t.getChildren()){if(!e.is(\"element\",\"span\")){continue}const t=e.getChild(0);if(!t){continue}if(t.is(\"$text\")){return t}return t.getChild(0)}return null}function vZ(t){if(t.startsWith(\"arabic-leading-zero\")){return\"decimal-leading-zero\"}switch(t){case\"alpha-upper\":return\"upper-alpha\";case\"alpha-lower\":return\"lower-alpha\";case\"roman-upper\":return\"upper-roman\";case\"roman-lower\":return\"lower-roman\";case\"circle\":case\"disc\":case\"square\":return t;default:return null}}function yZ(t,e,n){const o=e.createElement(t.type);if(t.style){e.setStyle(\"list-style-type\",t.style,o)}if(t.startIndex&&t.startIndex>1){e.setAttribute(\"start\",t.startIndex,o)}if(t.isLegalStyleList&&n){e.addClass(\"legal-list\",o)}return o}function xZ(t){const e=t.getStyle(\"mso-list\");if(e===undefined){return{}}const n=e.match(/(^|\\s{1,100})l(\\d+)/i);const o=e.match(/\\s{0,100}lfo(\\d+)/i);const i=e.match(/\\s{0,100}level(\\d+)/i);if(n&&o&&i){return{id:n[2],order:o[1],indent:parseInt(i[1])}}return{indent:1}}function EZ(t,e){const n=new iu({name:\"span\",styles:{\"mso-list\":\"Ignore\"}});const o=e.createRangeIn(t);for(const t of o){if(t.type===\"elementStart\"&&n.match(t.item)){e.remove(t.item)}}}function DZ(t){const e=t.getStyle(\"margin-left\");if(e===undefined||e.endsWith(\"px\")){return e}return hZ(e)}function IZ(t,e){if(!t.childCount){return}const n=new uA(t.document);const o=SZ(t,n);BZ(o,t,n);PZ(o,t,n);MZ(t,n);const i=NZ(t,n);if(i.length){zZ(i,LZ(e),n)}}function TZ(t){return btoa(t.match(/\\w{2}/g).map((t=>String.fromCharCode(parseInt(t,16)))).join(\"\"))}function SZ(t,e){const n=e.createRangeIn(t);const o=new iu({name:/v:(.+)/});const i=[];for(const t of n){if(t.type!=\"elementStart\"){continue}const e=t.item;const n=e.previousSibling;const r=n&&n.is(\"element\")?n.name:null;const s=[\"Chart\"];const a=o.match(e);const c=e.getAttribute(\"o:gfxdata\");const l=r===\"v:shapetype\";const d=c&&s.some((t=>e.getAttribute(\"id\").includes(t)));if(a&&c&&!l&&!d){i.push(t.item.getAttribute(\"id\"))}}return i}function BZ(t,e,n){const o=n.createRangeIn(e);const i=new iu({name:\"img\"});const r=[];for(const e of o){if(e.item.is(\"element\")&&i.match(e.item)){const n=e.item;const o=n.getAttribute(\"v:shapes\")?n.getAttribute(\"v:shapes\").split(\" \"):[];if(o.length&&o.every((e=>t.indexOf(e)>-1))){r.push(n)}else if(!n.getAttribute(\"src\")){r.push(n)}}}for(const t of r){n.remove(t)}}function MZ(t,e){const n=e.createRangeIn(t);const o=new iu({name:/v:(.+)/});const i=[];for(const t of n){if(t.type==\"elementStart\"&&o.match(t.item)){i.push(t.item)}}for(const t of i){e.remove(t)}}function PZ(t,e,n){const o=n.createRangeIn(e);const i=[];for(const e of o){if(e.type==\"elementStart\"&&e.item.is(\"element\",\"v:shape\")){const n=e.item.getAttribute(\"id\");if(t.includes(n)){continue}if(!r(e.item.parent.getChildren(),n)){i.push(e.item)}}}for(const t of i){const e={src:s(t)};if(t.hasAttribute(\"alt\")){e.alt=t.getAttribute(\"alt\")}const o=n.createElement(\"img\",e);n.insertChild(t.index+1,o,t.parent)}function r(t,e){for(const n of t){if(n.is(\"element\")){if(n.name==\"img\"&&n.getAttribute(\"v:shapes\")==e){return true}if(r(n.getChildren(),e)){return true}}}return false}function s(t){for(const e of t.getChildren()){if(e.is(\"element\")&&e.getAttribute(\"src\")){return e.getAttribute(\"src\")}}}}function NZ(t,e){const n=e.createRangeIn(t);const o=new iu({name:\"img\"});const i=[];for(const t of n){if(t.item.is(\"element\")&&o.match(t.item)){if(t.item.getAttribute(\"src\").startsWith(\"file://\")){i.push(t.item)}}}return i}function LZ(t){if(!t){return[]}const e=/{\\\\pict[\\s\\S]+?\\\\bliptag-?\\d+(\\\\blipupi-?\\d+)?({\\\\\\*\\\\blipuid\\s?[\\da-fA-F]+)?[\\s}]*?/;const n=new RegExp(\"(?:(\"+e.source+\"))([\\\\da-fA-F\\\\s]+)\\\\}\",\"g\");const o=t.match(n);const i=[];if(o){for(const t of o){let n=false;if(t.includes(\"\\\\pngblip\")){n=\"image/png\"}else if(t.includes(\"\\\\jpegblip\")){n=\"image/jpeg\"}if(n){i.push({hex:t.replace(e,\"\").replace(/[^\\da-fA-F]/g,\"\"),type:n})}}}return i}function zZ(t,e,n){if(t.length===e.length){for(let o=0;o/i;const VZ=/xmlns:o=\"urn:schemas-microsoft-com/i;class FZ{constructor(t,e=false){this.document=t;this.hasMultiLevelListPlugin=e}isActive(t){return RZ.test(t)||VZ.test(t)}execute(t){const{body:e,stylesString:n}=t._parsedData;fZ(e,n,this.hasMultiLevelListPlugin);IZ(e,t.dataTransfer.getData(\"text/rtf\"));OZ(e);t.content=e}}function jZ(t,e){for(const n of t.getChildren()){if(n.is(\"element\",\"b\")&&n.getStyle(\"font-weight\")===\"normal\"){const o=t.getChildIndex(n);e.remove(n);e.insertChild(o,n.getChildren(),t)}}}function HZ(t,e){const n=new Oh(e.document.stylesProcessor);const o=new Fm(n,{renderingMode:\"data\"});const i=o.blockElements;const r=o.inlineObjectElements;const s=[];for(const n of e.createRangeIn(t)){const t=n.item;if(t.is(\"element\",\"br\")){const n=UZ(t,\"forward\",e,{blockElements:i,inlineObjectElements:r});const o=UZ(t,\"backward\",e,{blockElements:i,inlineObjectElements:r});const a=WZ(n,i);const c=WZ(o,i);if(c||a){s.push(t)}}}for(const t of s){if(t.hasClass(\"Apple-interchange-newline\")){e.remove(t)}else{e.replace(t,e.createElement(\"p\"))}}}function UZ(t,e,n,{blockElements:o,inlineObjectElements:i}){let r=n.createPositionAt(t,e==\"forward\"?\"after\":\"before\");r=r.getLastMatchingPosition((({item:t})=>t.is(\"element\")&&!o.includes(t.name)&&!i.includes(t.name)),{direction:e});return e==\"forward\"?r.nodeAfter:r.nodeBefore}function WZ(t,e){return!!t&&t.is(\"element\")&&e.includes(t.name)}const qZ=/id=(\"|')docs-internal-guid-[-0-9a-f]+(\"|')/i;class GZ{constructor(t){this.document=t}isActive(t){return qZ.test(t)}execute(t){const e=new uA(this.document);const{body:n}=t._parsedData;jZ(n,e);pZ(n,e);HZ(n,e);t.content=n}}function $Z(t,e){for(const n of t.getChildren()){if(n.is(\"element\",\"table\")&&n.hasAttribute(\"xmlns\")){e.removeAttribute(\"xmlns\",n)}}}function KZ(t,e){for(const n of t.getChildren()){if(n.is(\"element\",\"google-sheets-html-origin\")){const o=t.getChildIndex(n);e.remove(n);e.insertChild(o,n.getChildren(),t)}}}function YZ(t,e){for(const n of t.getChildren()){if(n.is(\"element\",\"table\")&&n.getStyle(\"width\")===\"0px\"){e.removeStyle(\"width\",n)}}}function QZ(t,e){for(const n of Array.from(t.getChildren())){if(n.is(\"element\",\"style\")){e.remove(n)}}}const ZZ=/[^\\S\\r\\n]*?)[\\r\\n]+([^\\S\\r\\n]*<\\/span>)/g,\"$1$2\").replace(/<\\/span>/g,\"\").replace(/()[\\r\\n]+(<\\/span>)/g,\"$1 $2\").replace(/ <\\//g,\"\u00A0<\\/o:p>/g,\"\u00A0\").replace(/( |\\u00A0)<\\/o:p>/g,\"\").replace(/>([^\\S\\r\\n]*[\\r\\n]\\s*)<\")}function tJ(t){t.querySelectorAll(\"span[style*=spacerun]\").forEach((t=>{const e=t;const n=e.innerText.length||0;e.innerText=Array(n+1).join(\"\u00A0 \").substr(0,n)}))}function eJ(t){return t.replace(/(\\s+)<\\/span>/g,((t,e)=>e.length===1?\" \":Array(e.length+1).join(\"\u00A0 \").substr(0,e.length)))}function nJ(t,e){const n=new DOMParser;t=t.replace(/\n\t\n\n\n`;\n\n\nexport interface InitializeAppOptions {\n readonly level: number;\n readonly keywordLanguage: string;\n /**\n * The URL root where static content is hosted\n */\n readonly staticRoot?: string;\n}\n\n/**\n * Initialize \"global\" parts of the main app\n */\nexport function initializeApp(options: InitializeAppOptions) {\n theLevel = options.level;\n theKeywordLanguage = options.keywordLanguage;\n theStaticRoot = options.staticRoot ?? '';\n // When we are in Alpha or in dev the static root already points to an internal directory\n theStaticRoot = theStaticRoot === '/' ? '' : theStaticRoot;\n initializeCopyToClipboard();\n\n // Close the dropdown menu if the user clicks outside of it\n $(document).on(\"click\", function(event){\n // The following is not needed anymore, but it saves the next for loop if the click is not for dropdown.\n if (!$(event.target).closest(\".dropdown\").length) {\n $('.dropdown_menu').slideUp(\"medium\");\n $('.cheatsheet_menu').slideUp(\"medium\");\n return;\n }\n\n const allDropdowns = $('.dropdown_menu')\n for (const dd of allDropdowns) {\n // find the closest dropdown button (element) that initiated the event\n const c = $(dd).closest('.dropdown')[0]\n // if the click event target is not within or close to the container, slide up the dropdown menu\n if (!$(event.target).closest(c).length) {\n $(dd).slideUp('fast');\n }\n }\n });\n\n $('#search_language').on('keyup', function() {\n let search_query = ($('#search_language').val() as string).toLowerCase();\n $('.language').each(function(){\n let languageName = $(this).html().toLowerCase();\n let englishName = $(this).attr('data-english');\n if (englishName !== undefined && (languageName.includes(search_query) || englishName.toLowerCase().includes(search_query))) {\n $(this).show();\n } else {\n $(this).hide();\n $('#add_language_btn').show();\n }\n });\n });\n\n // All input elements with data-autosubmit=\"true\" automatically submit their enclosing form\n $('*[data-autosubmit=\"true\"]').on('change', (ev) => {\n $(ev.target).closest('form').trigger('submit');\n });\n\n initializeLoginLinks();\n\n initializeActivity();\n}\n\nexport interface InitializeCodePageOptions {\n readonly page: 'code' | 'tryit';\n readonly level: number;\n readonly lang: string;\n readonly adventures: Adventure[];\n readonly start_tutorial?: boolean;\n readonly initial_tab: string;\n readonly current_user_name?: string;\n readonly suppress_save_and_load_for_slides?: boolean;\n readonly enforce_developers_mode?: boolean;\n}\n\n/**\n * Initialize the actual code page\n */\nexport function initializeCodePage(options: InitializeCodePageOptions) {\n theUserIsLoggedIn = !!options.current_user_name;\n if (theUserIsLoggedIn) {\n theLocalSaveWarning.setLoggedIn();\n }\n\n theAdventures = Object.fromEntries((options.adventures ?? []).map(a => [a.short_name, a]));\n\n // theLevel will already have been set during initializeApp\n if (theLevel != options.level) {\n throw new Error(`initializeApp set level to ${JSON.stringify(theLevel)} but initializeCodePage sets it to ${JSON.stringify(options.level)}`);\n }\n theLanguage = options.lang;\n\n // *** EDITOR SETUP ***\n const $editor = $('#editor');\n if ($editor.length) {\n const dir = $('body').attr('dir');\n theGlobalEditor = editorCreator.initializeEditorWithGutter($editor, EditorType.MAIN, dir);\n attachMainEditorEvents(theGlobalEditor);\n initializeDebugger({\n editor: theGlobalEditor,\n level: theLevel,\n language: theLanguage,\n keywordLanguage: theKeywordLanguage,\n });\n }\n\n const anchor = window.location.hash.substring(1);\n\n const validAnchor = [...Object.keys(theAdventures), 'parsons', 'quiz'].includes(anchor) ? anchor : undefined;\n let tabs: any;\n const isTryItPage = options.page == 'tryit';\n if (isTryItPage) {\n tabs = new IndexTabs({\n // If we're opening an adventure from the beginning (either through a link to /hedy/adventures or through a saved program for an adventure), we click on the relevant tab.\n // We click on `level` to load a program associated with level, if any.\n initialTab: validAnchor ?? options.initial_tab,\n level: options.level\n });\n } else {\n tabs = new Tabs({\n // If we're opening an adventure from the beginning (either through a link to /hedy/adventures or through a saved program for an adventure), we click on the relevant tab.\n // We click on `level` to load a program associated with level, if any.\n initialTab: validAnchor ?? options.initial_tab,\n });\n }\n\n tabs.on('beforeSwitch', () => {\n // If there are unsaved changes, we warn the user before changing tabs.\n saveIfNecessary();\n });\n\n tabs.on('afterSwitch', (ev: SwitchTabsEvent | SwitchAdventureEvent) => {\n currentTab = ev.newTab;\n const adventure = theAdventures[currentTab];\n\n if (!options.suppress_save_and_load_for_slides) {\n // Load initial code from local storage, if available\n const programFromLs = localLoad(currentTabLsKey());\n // if we are in raw (used in slides) we don't want to load from local storage, we always want to show startcode\n if (programFromLs && adventure) {\n adventure.editor_contents = programFromLs.code;\n adventure.save_name = programFromLs.saveName;\n adventure.save_info = 'local-storage';\n }\n }\n reconfigurePageBasedOnTab(isTryItPage, options.enforce_developers_mode);\n checkNow();\n theLocalSaveWarning.switchTab();\n });\n\n initializeSpeech(options.page === 'tryit');\n\n if (options.start_tutorial) {\n startIntroTutorial();\n }\n\n // Share/hand in modals\n $('#share_program_button').on('click', () => $('#share_modal').show());\n $('#hand_in_button').on('click', () => $('#hand_in_modal').show());\n initializeShareProgramButtons();\n initializeHandInButton();\n\n if (options.suppress_save_and_load_for_slides) {\n disableAutomaticSaving();\n }\n\n // Save if user navigates away\n window.addEventListener('beforeunload', () => saveIfNecessary(), { capture: true });\n\n // Save if program name is changed\n $('#program_name').on('blur', () => saveIfNecessary());\n\n // Scroll to this level in the adventures side pane\n document.getElementById(`level_${options.level}_header`)?.scrollIntoView({block: 'center'});\n}\n\nfunction attachMainEditorEvents(editor: HedyEditor) {\n\n editor.on('change', () => {\n theLocalSaveWarning.setProgramLength(theGlobalEditor.contents.split('\\n').length);\n });\n\n // If prompt is shown and user enters text in the editor, hide the prompt.\n editor.on('change', function() {\n if (askPromptOpen) {\n stopit();\n theGlobalEditor.focus(); // Make sure the editor has focus, so we can continue typing\n }\n if ($('#ask_modal').is(':visible')) $('#inline_modal').hide();\n askPromptOpen = false;\n $('#runit').css('background-color', '');\n theGlobalEditor.clearErrors();\n theGlobalEditor.clearIncorrectLines();\n //removing the debugging state when loading in the editor\n stopDebug();\n });\n\n editor.on('click', (event: MouseEvent) => {\n editor.skipFaultyHandler(event);\n });\n\n // *** KEYBOARD SHORTCUTS ***\n let altPressed: boolean | undefined;\n // alt is 18, enter is 13\n window.addEventListener ('keydown', function (ev) {\n const keyCode = ev.keyCode;\n if (keyCode === 18) {\n altPressed = true;\n return;\n }\n if (keyCode === 13 && altPressed) {\n if (!theLevel || !theLanguage) {\n throw new Error('Oh no');\n }\n runit (theLevel, theLanguage, false, \"\", \"run\",function () {\n $ ('#output').focus ();\n });\n }\n // We don't use jquery because it doesn't return true for this equality check.\n if (keyCode === 37 && document.activeElement === document.getElementById ('output')) {\n theGlobalEditor.focus();\n theGlobalEditor.moveCursorToEndOfFile();\n }\n });\n window.addEventListener ('keyup', function (ev) {\n triggerAutomaticSave();\n const keyCode = ev.keyCode;\n if (keyCode === 18) {\n altPressed = false;\n return;\n }\n });\n}\n\nexport interface InitializeViewProgramPageOptions {\n readonly page: 'view-program';\n readonly level: number;\n readonly lang: string;\n readonly code: string;\n}\n\nexport function initializeViewProgramPage(options: InitializeViewProgramPageOptions) {\n theLevel = options.level;\n theLanguage = options.lang;\n\n // We need to enable the main editor for the program page as well\n const dir = $('body').attr('dir');\n theGlobalEditor = editorCreator.initializeEditorWithGutter($('#editor'), EditorType.MAIN, dir);\n attachMainEditorEvents(theGlobalEditor);\n theGlobalEditor.contents = options.code;\n initializeDebugger({\n editor: theGlobalEditor,\n level: theLevel,\n language: theLanguage,\n keywordLanguage: theKeywordLanguage,\n });\n}\n\nexport function initializeHighlightedCodeBlocks(where: Element, initializeAll?: boolean) {\n const dir = $(\"body\").attr(\"dir\");\n initializeParsons();\n // Any code blocks we find inside 'turn-pre-into-ace' get turned into\n // read-only editors (for syntax highlighting)\n for (const container of $(where).find('.turn-pre-into-ace').get()) {\n for (const preview of $(container).find('pre').get()) {\n $(preview)\n .addClass('relative text-lg rounded overflow-x-hidden')\n // We set the language of the editor to the current keyword_language -> needed when copying to main editor\n .attr('data-lang', theKeywordLanguage);\n // If the request comes from HTMX initialize all directly\n if (initializeAll) {\n convertPreviewToEditor(preview, container, dir)\n } else {\n // Only turn into an editor if the editor scrolls into view\n // Otherwise, the teacher manual Frequent Mistakes page is SUPER SLOW to load.\n onElementBecomesVisible(preview, () => {\n convertPreviewToEditor(preview, container, dir)\n });\n }\n }\n }\n}\n\nfunction convertPreviewToEditor(preview: HTMLPreElement, container: HTMLElement, dir?: string) {\n const codeNode = preview.querySelector('code')\n let code: string;\n // In case it has a child node\n if (codeNode) {\n codeNode.hidden = true\n code = codeNode.innerText\n } else {\n code = preview.textContent || \"\";\n preview.textContent = \"\";\n }\n\n // Create this example editor\n const exampleEditor = editorCreator.initializeReadOnlyEditor(preview, dir);\n // Strip trailing newline, it renders better\n exampleEditor.contents = code;\n exampleEditor.contents = exampleEditor.contents.trimEnd();\n // And add an overlay button to the editor if requested via a show-copy-button class, either\n // on the
 itself OR on the element that has the '.turn-pre-into-ace' class.\n  if ($(preview).hasClass('show-copy-button') || $(container).hasClass('show-copy-button')) {\n    const adventure = container.closest('[data-tabtarget]')?.getAttribute('data-tabtarget');\n    const buttonContainer = $('
').addClass('absolute ltr:right-0 rtl:left-0 top-0 mx-1 mt-1').appendTo(preview);\n let symbol = \"\u21E5\";\n if (dir === \"rtl\") {\n symbol = \"\u21E4\";\n }\n $(' \\\n
${e.code}
\\\n `)\n });\n\n if (response.data.length == 0) {\n $('#search-logs-empty-msg').show();\n }\n\n self.logsNextToken = response.next_token;\n\n }).fail (function (error) {\n console.log(error);\n }).always(function() {\n $('#logs-spinner').hide();\n if (self.logsNextToken) {\n $('#logs-load-more').show();\n }\n });\n\n return false;\n },\n\n copyCode: function(el: any) {\n const copyButton = $(el);\n if (navigator.clipboard === undefined) {\n updateCopyButtonText(copyButton, 'Failed!');\n } else {\n navigator.clipboard.writeText(copyButton.next().text()).then(function() {\n updateCopyButtonText(copyButton, 'Copied!');\n }, function() {\n updateCopyButtonText(copyButton, 'Failed!');\n });\n }\n return false;\n },\n}\n\nfunction updateCopyButtonText(copyBtn: any, text: string) {\n copyBtn.text(text);\n setTimeout(function() {copyBtn.html(\"\u21E5\")}, 2000);\n}\n", "export interface InitializeAdminUsersPageOptions {\n readonly page: 'admin-users';\n}\n\nexport function initializeAdminUserPage(_options: InitializeAdminUsersPageOptions) {\n $('.attribute').change(function() {\n const attribute = $(this).attr('id');\n if(!(this as HTMLInputElement).checked) {\n $('#' + attribute + '_header').hide();\n $('.' + attribute + '_cell').hide();\n } else {\n $('#' + attribute + '_header').show();\n $('.' + attribute + '_cell').show();\n }\n });\n // Todo TB: Not sure why I wrote this code here instead of in a .ts file -> re-structure this someday (08-22)\n $('#admin_filter_category').change(function() {\n $('.filter_input').hide();\n if ($('#admin_filter_category').val() == \"email\" || $('#admin_filter_category').val() == \"username\") {\n $('#email_filter_input').show();\n } else if ($('#admin_filter_category').val() == \"language\") {\n $('#language_filter_input').show();\n } else if ($('#admin_filter_category').val() == \"keyword_language\") {\n $('#keyword_language_filter_input').show();\n } else {\n $('#date_filter_input').show();\n }\n });\n\n $('.admin_pagination_btn').click(function(ev) {\n // Copy the token into the hidden input field, then submit the form\n var token = $(ev.target).data('page_token');\n console.log(token);\n $('#hidden_page_input').attr('value', token);\n $('#filterform').submit();\n });\n}\n\nexport function filter_admin() {\n const params: Record = {};\n \n const filter = $('#admin_filter_category').val();\n params['filter'] = filter;\n \n if ($('#hidden_page_input').val()) {\n params['page'] = $('#hidden_page_input').val();\n }\n \n switch (filter) {\n case 'email':\n case 'username':\n params['substring'] = $('#email_filter_input').val();\n break;\n case 'language':\n params['language'] = $('#language_filter_input').val();\n break;\n case 'keyword_language':\n params['keyword_language'] = $('#keyword_language_filter_input').val();\n break;\n default:\n params['start'] = $('#admin_start_date').val();\n params['end'] = $('#admin_end_date').val();\n break;\n }\n \n const queryString = Object.entries(params).map(([k, v]) => k + '=' + encodeURIComponent(v)).join('&');\n window.open('?' + queryString, '_self');\n}", "import { autoSave } from \"./autosave\";\n\nexport interface InitializeMyProfilePage {\n readonly page: 'my-profile';\n}\n\nexport function initializeMyProfilePage(_options: InitializeMyProfilePage) {\n // Autosave my profile page; only users' details.\n autoSave(\"profile\");\n}", "import { initializeAdminUserPage, InitializeAdminUsersPageOptions } from './admin';\nimport { initializeCustomAdventurePage, InitializeCustomizeAdventurePage } from './adventure';\nimport { initializeMyProfilePage, InitializeMyProfilePage } from './profile';\nimport { initializeApp, initializeCodePage, InitializeCodePageOptions, initializeViewProgramPage, InitializeViewProgramPageOptions } from './app';\nimport { initializeFormSubmits } from './auth';\nimport { setClientMessageLanguage } from './client-messages';\nimport { logs } from './logs';\nimport { initializeClassOverviewPage, InitializeClassOverviewPageOptions, initializeCustomizeClassPage, InitializeCustomizeClassPageOptions, initializeTeacherPage, InitializeTeacherPageOptions, initializeCreateAccountsPage, InitializeCreateAccountsPageOptions } from './teachers';\nimport { initializeTutorial } from './tutorials/tutorial';\n\nexport interface InitializeOptions {\n /**\n * Current language\n *\n * Written: by every page, on page load.\n * Used: on the code page, to do speech synthesis and to send to the server.\n */\n readonly lang: string;\n\n /**\n * Current level\n *\n * Written: by every page, on page load.\n *\n * Used: on the code page, to initialize the highlighter, to translate the program,\n * to determine timeouts, to load the quiz iframe, to show the variable inspector,\n * to show a debugger, to load parsons exercises, to initialize a default save name.\n */\n readonly level: number;\n\n /**\n * Current keyword language\n *\n * Written: by every page, on page load.\n *\n * Used: set on the Ace editor, and then is used to do some magic that I don't\n * quite understand.\n */\n readonly keyword_language: string;\n\n readonly logs?: boolean;\n\n /**\n * The URL root where static content is hosted\n */\n readonly staticRoot?: string;\n\n readonly javascriptPageOptions?: InitializePageOptions;\n}\n\ntype InitializePageOptions =\n | InitializeCodePageOptions\n | InitializeCustomizeClassPageOptions\n | InitializeTeacherPageOptions\n | InitializeCreateAccountsPageOptions\n | InitializeViewProgramPageOptions\n | InitializeClassOverviewPageOptions\n | InitializeAdminUsersPageOptions\n | InitializeCustomizeAdventurePage\n | InitializeMyProfilePage\n ;\n\n\n/**\n * This function gets called by the HTML when the page is being initialized.\n */\nexport function initialize(options: InitializeOptions) {\n setClientMessageLanguage(options.lang);\n\n let level = options.level;\n\n if (!level && options.javascriptPageOptions?.page == \"customize-adventure\") {\n level = options.javascriptPageOptions.level\n }\n\n initializeApp({\n level: level,\n keywordLanguage: options.keyword_language,\n staticRoot: options.staticRoot,\n });\n initializeFormSubmits();\n initializeTutorial();\n\n // The above initializations are often also page-specific\n switch (options.javascriptPageOptions?.page) {\n case 'code':\n initializeCodePage(options.javascriptPageOptions);\n break;\n\n case 'customize-class':\n initializeCustomizeClassPage(options.javascriptPageOptions);\n break;\n\n case 'for-teachers':\n initializeTeacherPage(options.javascriptPageOptions);\n break;\n\n case 'create-accounts':\n initializeCreateAccountsPage(options.javascriptPageOptions);\n break;\n\n case 'class-overview':\n initializeClassOverviewPage(options.javascriptPageOptions);\n break;\n\n case 'view-program':\n initializeViewProgramPage(options.javascriptPageOptions);\n break;\n\n case 'admin-users':\n initializeAdminUserPage(options.javascriptPageOptions);\n break;\n \n case 'customize-adventure':\n initializeCustomAdventurePage(options.javascriptPageOptions);\n break;\n\n case 'my-profile':\n initializeMyProfilePage(options.javascriptPageOptions);\n break;\n \n case 'tryit':\n initializeCodePage(options.javascriptPageOptions);\n }\n\n // FIXME: I think this might also be page-specific\n if (options.logs) {\n logs.initialize();\n }\n}\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nConstants\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nconst mapData = (() => {\r\n const storeData = {};\r\n let id = 1;\r\n return {\r\n set(element, key, data) {\r\n if (typeof element[key] === \"undefined\") {\r\n element[key] = {\r\n key,\r\n id,\r\n };\r\n id++;\r\n }\r\n\r\n storeData[element[key].id] = data;\r\n },\r\n get(element, key) {\r\n if (!element || typeof element[key] === \"undefined\") {\r\n return null;\r\n }\r\n\r\n const keyProperties = element[key];\r\n if (keyProperties.key === key) {\r\n return storeData[keyProperties.id];\r\n }\r\n\r\n return null;\r\n },\r\n delete(element, key) {\r\n if (typeof element[key] === \"undefined\") {\r\n return;\r\n }\r\n\r\n const keyProperties = element[key];\r\n if (keyProperties.key === key) {\r\n delete storeData[keyProperties.id];\r\n delete element[key];\r\n }\r\n },\r\n };\r\n})();\r\n\r\nconst Data = {\r\n setData(instance, key, data) {\r\n mapData.set(instance, key, data);\r\n },\r\n getData(instance, key) {\r\n return mapData.get(instance, key);\r\n },\r\n removeData(instance, key) {\r\n mapData.delete(instance, key);\r\n },\r\n};\r\n\r\nexport default Data;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nconst MAX_UID = 1000000;\r\nconst MILLISECONDS_MULTIPLIER = 1000;\r\nconst TRANSITION_END = \"transitionend\";\r\n\r\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\r\nconst toType = (obj) => {\r\n if (obj === null || obj === undefined) {\r\n return `${obj}`;\r\n }\r\n\r\n return {}.toString\r\n .call(obj)\r\n .match(/\\s([a-z]+)/i)[1]\r\n .toLowerCase();\r\n};\r\n\r\n/**\r\n * --------------------------------------------------------------------------\r\n * Public Util Api\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nconst getUID = (prefix) => {\r\n do {\r\n prefix += Math.floor(Math.random() * MAX_UID);\r\n } while (document.getElementById(prefix));\r\n\r\n return prefix;\r\n};\r\n\r\nconst getSelector = (element) => {\r\n let selector = element.getAttribute(\"data-te-target\");\r\n\r\n if (!selector || selector === \"#\") {\r\n let hrefAttr = element.getAttribute(\"href\");\r\n\r\n // The only valid content that could double as a selector are IDs or classes,\r\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\r\n // `document.querySelector` will rightfully complain it is invalid.\r\n // See https://github.com/twbs/bootstrap/issues/32273\r\n if (!hrefAttr || (!hrefAttr.includes(\"#\") && !hrefAttr.startsWith(\".\"))) {\r\n return null;\r\n }\r\n\r\n // Just in case some CMS puts out a full URL with the anchor appended\r\n if (hrefAttr.includes(\"#\") && !hrefAttr.startsWith(\"#\")) {\r\n hrefAttr = `#${hrefAttr.split(\"#\")[1]}`;\r\n }\r\n\r\n selector = hrefAttr && hrefAttr !== \"#\" ? hrefAttr.trim() : null;\r\n }\r\n\r\n return selector;\r\n};\r\n\r\nconst getSelectorFromElement = (element) => {\r\n const selector = getSelector(element);\r\n\r\n if (selector) {\r\n return document.querySelector(selector) ? selector : null;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst getElementFromSelector = (element) => {\r\n const selector = getSelector(element);\r\n\r\n return selector ? document.querySelector(selector) : null;\r\n};\r\n\r\nconst getTransitionDurationFromElement = (element) => {\r\n if (!element) {\r\n return 0;\r\n }\r\n\r\n // Get transition-duration of the element\r\n let { transitionDuration, transitionDelay } =\r\n window.getComputedStyle(element);\r\n\r\n const floatTransitionDuration = Number.parseFloat(transitionDuration);\r\n const floatTransitionDelay = Number.parseFloat(transitionDelay);\r\n\r\n // Return 0 if element or transition duration is not found\r\n if (!floatTransitionDuration && !floatTransitionDelay) {\r\n return 0;\r\n }\r\n\r\n // If multiple durations are defined, take the first\r\n transitionDuration = transitionDuration.split(\",\")[0];\r\n transitionDelay = transitionDelay.split(\",\")[0];\r\n\r\n return (\r\n (Number.parseFloat(transitionDuration) +\r\n Number.parseFloat(transitionDelay)) *\r\n MILLISECONDS_MULTIPLIER\r\n );\r\n};\r\n\r\nconst triggerTransitionEnd = (element) => {\r\n element.dispatchEvent(new Event(TRANSITION_END));\r\n};\r\n\r\nconst isElement = (obj) => {\r\n if (!obj || typeof obj !== \"object\") {\r\n return false;\r\n }\r\n\r\n if (typeof obj.jquery !== \"undefined\") {\r\n obj = obj[0];\r\n }\r\n\r\n return typeof obj.nodeType !== \"undefined\";\r\n};\r\n\r\nconst getElement = (obj) => {\r\n if (isElement(obj)) {\r\n // it's a jQuery object or a node element\r\n return obj.jquery ? obj[0] : obj;\r\n }\r\n\r\n if (typeof obj === \"string\" && obj.length > 0) {\r\n return document.querySelector(obj);\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst emulateTransitionEnd = (element, duration) => {\r\n let called = false;\r\n const durationPadding = 5;\r\n const emulatedDuration = duration + durationPadding;\r\n\r\n function listener() {\r\n called = true;\r\n element.removeEventListener(TRANSITION_END, listener);\r\n }\r\n\r\n element.addEventListener(TRANSITION_END, listener);\r\n setTimeout(() => {\r\n if (!called) {\r\n triggerTransitionEnd(element);\r\n }\r\n }, emulatedDuration);\r\n};\r\n\r\nconst typeCheckConfig = (componentName, config, configTypes) => {\r\n Object.keys(configTypes).forEach((property) => {\r\n const expectedTypes = configTypes[property];\r\n const value = config[property];\r\n const valueType = value && isElement(value) ? \"element\" : toType(value);\r\n\r\n if (!new RegExp(expectedTypes).test(valueType)) {\r\n throw new Error(\r\n `${componentName.toUpperCase()}: ` +\r\n `Option \"${property}\" provided type \"${valueType}\" ` +\r\n `but expected type \"${expectedTypes}\".`\r\n );\r\n }\r\n });\r\n};\r\n\r\nconst isVisible = (element) => {\r\n if (!element || element.getClientRects().length === 0) {\r\n return false;\r\n }\r\n\r\n if (element.style && element.parentNode && element.parentNode.style) {\r\n const elementStyle = getComputedStyle(element);\r\n const parentNodeStyle = getComputedStyle(element.parentNode);\r\n\r\n return (\r\n getComputedStyle(element).getPropertyValue(\"visibility\") === \"visible\" ||\r\n (elementStyle.display !== \"none\" &&\r\n parentNodeStyle.display !== \"none\" &&\r\n elementStyle.visibility !== \"hidden\")\r\n );\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst isDisabled = (element) => {\r\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\r\n return true;\r\n }\r\n\r\n if (element.classList.contains(\"disabled\")) {\r\n return true;\r\n }\r\n\r\n if (typeof element.disabled !== \"undefined\") {\r\n return element.disabled;\r\n }\r\n\r\n return (\r\n element.hasAttribute(\"disabled\") &&\r\n element.getAttribute(\"disabled\") !== \"false\"\r\n );\r\n};\r\n\r\nconst findShadowRoot = (element) => {\r\n if (!document.documentElement.attachShadow) {\r\n return null;\r\n }\r\n\r\n // Can find the shadow root otherwise it'll return the document\r\n if (typeof element.getRootNode === \"function\") {\r\n const root = element.getRootNode();\r\n return root instanceof ShadowRoot ? root : null;\r\n }\r\n\r\n if (element instanceof ShadowRoot) {\r\n return element;\r\n }\r\n\r\n // when we don't find a shadow root\r\n if (!element.parentNode) {\r\n return null;\r\n }\r\n\r\n return findShadowRoot(element.parentNode);\r\n};\r\n\r\nconst noop = () => function () {};\r\n\r\n/**\r\n * Trick to restart an element's animation\r\n *\r\n * @param {HTMLElement} element\r\n * @return void\r\n *\r\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\r\n */\r\nconst reflow = (element) => {\r\n // eslint-disable-next-line no-unused-expressions\r\n element.offsetHeight;\r\n};\r\n\r\nconst getjQuery = () => {\r\n const { jQuery } = window;\r\n\r\n if (jQuery && !document.body.hasAttribute(\"data-te-no-jquery\")) {\r\n return jQuery;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst DOMContentLoadedCallbacks = [];\r\n\r\nconst onDOMContentLoaded = (callback) => {\r\n if (document.readyState === \"loading\") {\r\n // add listener on the first call when the document is in loading state\r\n if (!DOMContentLoadedCallbacks.length) {\r\n document.addEventListener(\"DOMContentLoaded\", () => {\r\n DOMContentLoadedCallbacks.forEach((callback) => callback());\r\n });\r\n }\r\n\r\n DOMContentLoadedCallbacks.push(callback);\r\n } else {\r\n callback();\r\n }\r\n};\r\n\r\nconst isRTL = () => document.documentElement.dir === \"rtl\";\r\n\r\nconst array = (collection) => {\r\n return Array.from(collection);\r\n};\r\n\r\nconst element = (tag) => {\r\n return document.createElement(tag);\r\n};\r\n\r\nconst defineJQueryPlugin = (plugin) => {\r\n onDOMContentLoaded(() => {\r\n const $ = getjQuery();\r\n /* istanbul ignore if */\r\n if ($) {\r\n const name = plugin.NAME;\r\n const JQUERY_NO_CONFLICT = $.fn[name];\r\n $.fn[name] = plugin.jQueryInterface;\r\n $.fn[name].Constructor = plugin;\r\n $.fn[name].noConflict = () => {\r\n $.fn[name] = JQUERY_NO_CONFLICT;\r\n return plugin.jQueryInterface;\r\n };\r\n }\r\n });\r\n};\r\n\r\nconst execute = (callback) => {\r\n if (typeof callback === \"function\") {\r\n callback();\r\n }\r\n};\r\n\r\nconst executeAfterTransition = (\r\n callback,\r\n transitionElement,\r\n waitForTransition = true\r\n) => {\r\n if (!waitForTransition) {\r\n execute(callback);\r\n return;\r\n }\r\n\r\n const durationPadding = 5;\r\n const emulatedDuration =\r\n getTransitionDurationFromElement(transitionElement) + durationPadding;\r\n\r\n let called = false;\r\n\r\n const handler = ({ target }) => {\r\n if (target !== transitionElement) {\r\n return;\r\n }\r\n\r\n called = true;\r\n transitionElement.removeEventListener(TRANSITION_END, handler);\r\n execute(callback);\r\n };\r\n\r\n transitionElement.addEventListener(TRANSITION_END, handler);\r\n setTimeout(() => {\r\n if (!called) {\r\n triggerTransitionEnd(transitionElement);\r\n }\r\n }, emulatedDuration);\r\n};\r\n\r\n/**\r\n * Return the previous/next element of a list.\r\n *\r\n * @param {array} list The list of elements\r\n * @param activeElement The active element\r\n * @param shouldGetNext Choose to get next or previous element\r\n * @param isCycleAllowed\r\n * @return {Element|elem} The proper element\r\n */\r\nconst getNextActiveElement = (\r\n list,\r\n activeElement,\r\n shouldGetNext,\r\n isCycleAllowed\r\n) => {\r\n let index = list.indexOf(activeElement);\r\n\r\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\r\n if (index === -1) {\r\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0];\r\n }\r\n\r\n const listLength = list.length;\r\n\r\n index += shouldGetNext ? 1 : -1;\r\n\r\n if (isCycleAllowed) {\r\n index = (index + listLength) % listLength;\r\n }\r\n\r\n return list[Math.max(0, Math.min(index, listLength - 1))];\r\n};\r\n\r\nexport {\r\n getjQuery,\r\n TRANSITION_END,\r\n getUID,\r\n getSelectorFromElement,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n triggerTransitionEnd,\r\n isElement,\r\n emulateTransitionEnd,\r\n typeCheckConfig,\r\n isVisible,\r\n findShadowRoot,\r\n noop,\r\n reflow,\r\n array,\r\n element,\r\n onDOMContentLoaded,\r\n isRTL,\r\n defineJQueryPlugin,\r\n getElement,\r\n isDisabled,\r\n execute,\r\n executeAfterTransition,\r\n getNextActiveElement,\r\n};\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { getjQuery } from \"../util/index\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nConstants\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/;\r\nconst stripNameRegex = /\\..*/;\r\nconst stripUidRegex = /::\\d+$/;\r\nconst eventRegistry = {}; // Events storage\r\nlet uidEvent = 1;\r\nconst customEvents = {\r\n mouseenter: \"mouseover\",\r\n mouseleave: \"mouseout\",\r\n};\r\nconst customEventsRegex = /^(mouseenter|mouseleave)/i;\r\nconst nativeEvents = new Set([\r\n \"click\",\r\n \"dblclick\",\r\n \"mouseup\",\r\n \"mousedown\",\r\n \"contextmenu\",\r\n \"mousewheel\",\r\n \"DOMMouseScroll\",\r\n \"mouseover\",\r\n \"mouseout\",\r\n \"mousemove\",\r\n \"selectstart\",\r\n \"selectend\",\r\n \"keydown\",\r\n \"keypress\",\r\n \"keyup\",\r\n \"orientationchange\",\r\n \"touchstart\",\r\n \"touchmove\",\r\n \"touchend\",\r\n \"touchcancel\",\r\n \"pointerdown\",\r\n \"pointermove\",\r\n \"pointerup\",\r\n \"pointerleave\",\r\n \"pointercancel\",\r\n \"gesturestart\",\r\n \"gesturechange\",\r\n \"gestureend\",\r\n \"focus\",\r\n \"blur\",\r\n \"change\",\r\n \"reset\",\r\n \"select\",\r\n \"submit\",\r\n \"focusin\",\r\n \"focusout\",\r\n \"load\",\r\n \"unload\",\r\n \"beforeunload\",\r\n \"resize\",\r\n \"move\",\r\n \"DOMContentLoaded\",\r\n \"readystatechange\",\r\n \"error\",\r\n \"abort\",\r\n \"scroll\",\r\n]);\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Private methods\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nfunction getUidEvent(element, uid) {\r\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++;\r\n}\r\n\r\nfunction getEvent(element) {\r\n const uid = getUidEvent(element);\r\n\r\n element.uidEvent = uid;\r\n eventRegistry[uid] = eventRegistry[uid] || {};\r\n\r\n return eventRegistry[uid];\r\n}\r\n\r\nfunction bootstrapHandler(element, fn) {\r\n return function handler(event) {\r\n event.delegateTarget = element;\r\n\r\n if (handler.oneOff) {\r\n EventHandler.off(element, event.type, fn);\r\n }\r\n\r\n return fn.apply(element, [event]);\r\n };\r\n}\r\n\r\nfunction bootstrapDelegationHandler(element, selector, fn) {\r\n return function handler(event) {\r\n const domElements = element.querySelectorAll(selector);\r\n\r\n for (\r\n let { target } = event;\r\n target && target !== this;\r\n target = target.parentNode\r\n ) {\r\n for (let i = domElements.length; i--; \"\") {\r\n if (domElements[i] === target) {\r\n event.delegateTarget = target;\r\n\r\n if (handler.oneOff) {\r\n EventHandler.off(element, event.type, fn);\r\n }\r\n\r\n return fn.apply(target, [event]);\r\n }\r\n }\r\n }\r\n\r\n // To please ESLint\r\n return null;\r\n };\r\n}\r\n\r\nfunction findHandler(events, handler, delegationSelector = null) {\r\n const uidEventList = Object.keys(events);\r\n\r\n for (let i = 0, len = uidEventList.length; i < len; i++) {\r\n const event = events[uidEventList[i]];\r\n\r\n if (\r\n event.originalHandler === handler &&\r\n event.delegationSelector === delegationSelector\r\n ) {\r\n return event;\r\n }\r\n }\r\n\r\n return null;\r\n}\r\n\r\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\r\n const delegation = typeof handler === \"string\";\r\n const originalHandler = delegation ? delegationFn : handler;\r\n\r\n let typeEvent = getTypeEvent(originalTypeEvent);\r\n const isNative = nativeEvents.has(typeEvent);\r\n\r\n if (!isNative) {\r\n typeEvent = originalTypeEvent;\r\n }\r\n\r\n return [delegation, originalHandler, typeEvent];\r\n}\r\n\r\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\r\n if (typeof originalTypeEvent !== \"string\" || !element) {\r\n return;\r\n }\r\n\r\n if (!handler) {\r\n handler = delegationFn;\r\n delegationFn = null;\r\n }\r\n\r\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\r\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\r\n if (customEventsRegex.test(originalTypeEvent)) {\r\n const wrapFn = (fn) => {\r\n return function (event) {\r\n if (\r\n !event.relatedTarget ||\r\n (event.relatedTarget !== event.delegateTarget &&\r\n !event.delegateTarget.contains(event.relatedTarget))\r\n ) {\r\n return fn.call(this, event);\r\n }\r\n };\r\n };\r\n\r\n if (delegationFn) {\r\n delegationFn = wrapFn(delegationFn);\r\n } else {\r\n handler = wrapFn(handler);\r\n }\r\n }\r\n\r\n const [delegation, originalHandler, typeEvent] = normalizeParams(\r\n originalTypeEvent,\r\n handler,\r\n delegationFn\r\n );\r\n const events = getEvent(element);\r\n const handlers = events[typeEvent] || (events[typeEvent] = {});\r\n const previousFn = findHandler(\r\n handlers,\r\n originalHandler,\r\n delegation ? handler : null\r\n );\r\n\r\n if (previousFn) {\r\n previousFn.oneOff = previousFn.oneOff && oneOff;\r\n\r\n return;\r\n }\r\n\r\n const uid = getUidEvent(\r\n originalHandler,\r\n originalTypeEvent.replace(namespaceRegex, \"\")\r\n );\r\n const fn = delegation\r\n ? bootstrapDelegationHandler(element, handler, delegationFn)\r\n : bootstrapHandler(element, handler);\r\n\r\n fn.delegationSelector = delegation ? handler : null;\r\n fn.originalHandler = originalHandler;\r\n fn.oneOff = oneOff;\r\n fn.uidEvent = uid;\r\n handlers[uid] = fn;\r\n\r\n element.addEventListener(typeEvent, fn, delegation);\r\n}\r\n\r\nfunction removeHandler(\r\n element,\r\n events,\r\n typeEvent,\r\n handler,\r\n delegationSelector\r\n) {\r\n const fn = findHandler(events[typeEvent], handler, delegationSelector);\r\n\r\n if (!fn) {\r\n return;\r\n }\r\n\r\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));\r\n delete events[typeEvent][fn.uidEvent];\r\n}\r\n\r\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\r\n const storeElementEvent = events[typeEvent] || {};\r\n\r\n Object.keys(storeElementEvent).forEach((handlerKey) => {\r\n if (handlerKey.includes(namespace)) {\r\n const event = storeElementEvent[handlerKey];\r\n\r\n removeHandler(\r\n element,\r\n events,\r\n typeEvent,\r\n event.originalHandler,\r\n event.delegationSelector\r\n );\r\n }\r\n });\r\n}\r\n\r\nfunction getTypeEvent(event) {\r\n // allow to get the native events from namespaced events ('click.te.button' --> 'click')\r\n event = event.replace(stripNameRegex, \"\");\r\n return customEvents[event] || event;\r\n}\r\n\r\nconst EventHandler = {\r\n on(element, event, handler, delegationFn) {\r\n addHandler(element, event, handler, delegationFn, false);\r\n },\r\n\r\n one(element, event, handler, delegationFn) {\r\n addHandler(element, event, handler, delegationFn, true);\r\n },\r\n\r\n off(element, originalTypeEvent, handler, delegationFn) {\r\n if (typeof originalTypeEvent !== \"string\" || !element) {\r\n return;\r\n }\r\n\r\n const [delegation, originalHandler, typeEvent] = normalizeParams(\r\n originalTypeEvent,\r\n handler,\r\n delegationFn\r\n );\r\n const inNamespace = typeEvent !== originalTypeEvent;\r\n const events = getEvent(element);\r\n const isNamespace = originalTypeEvent.startsWith(\".\");\r\n\r\n if (typeof originalHandler !== \"undefined\") {\r\n // Simplest case: handler is passed, remove that listener ONLY.\r\n if (!events || !events[typeEvent]) {\r\n return;\r\n }\r\n\r\n removeHandler(\r\n element,\r\n events,\r\n typeEvent,\r\n originalHandler,\r\n delegation ? handler : null\r\n );\r\n return;\r\n }\r\n\r\n if (isNamespace) {\r\n Object.keys(events).forEach((elementEvent) => {\r\n removeNamespacedHandlers(\r\n element,\r\n events,\r\n elementEvent,\r\n originalTypeEvent.slice(1)\r\n );\r\n });\r\n }\r\n\r\n const storeElementEvent = events[typeEvent] || {};\r\n Object.keys(storeElementEvent).forEach((keyHandlers) => {\r\n const handlerKey = keyHandlers.replace(stripUidRegex, \"\");\r\n\r\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\r\n const event = storeElementEvent[keyHandlers];\r\n\r\n removeHandler(\r\n element,\r\n events,\r\n typeEvent,\r\n event.originalHandler,\r\n event.delegationSelector\r\n );\r\n }\r\n });\r\n },\r\n\r\n trigger(element, event, args) {\r\n if (typeof event !== \"string\" || !element) {\r\n return null;\r\n }\r\n\r\n const $ = getjQuery();\r\n const typeEvent = getTypeEvent(event);\r\n const inNamespace = event !== typeEvent;\r\n const isNative = nativeEvents.has(typeEvent);\r\n\r\n let jQueryEvent;\r\n let bubbles = true;\r\n let nativeDispatch = true;\r\n let defaultPrevented = false;\r\n let evt = null;\r\n\r\n if (inNamespace && $) {\r\n jQueryEvent = $.Event(event, args);\r\n\r\n $(element).trigger(jQueryEvent);\r\n bubbles = !jQueryEvent.isPropagationStopped();\r\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();\r\n defaultPrevented = jQueryEvent.isDefaultPrevented();\r\n }\r\n\r\n if (isNative) {\r\n evt = document.createEvent(\"HTMLEvents\");\r\n evt.initEvent(typeEvent, bubbles, true);\r\n } else {\r\n evt = new CustomEvent(event, {\r\n bubbles,\r\n cancelable: true,\r\n });\r\n }\r\n\r\n // merge custom information in our event\r\n if (typeof args !== \"undefined\") {\r\n Object.keys(args).forEach((key) => {\r\n Object.defineProperty(evt, key, {\r\n get() {\r\n return args[key];\r\n },\r\n });\r\n });\r\n }\r\n\r\n if (defaultPrevented) {\r\n evt.preventDefault();\r\n }\r\n\r\n if (nativeDispatch) {\r\n element.dispatchEvent(evt);\r\n }\r\n\r\n if (evt.defaultPrevented && typeof jQueryEvent !== \"undefined\") {\r\n jQueryEvent.preventDefault();\r\n }\r\n\r\n return evt;\r\n },\r\n};\r\n\r\nexport const EventHandlerMulti = {\r\n on(element, eventsName, handler, delegationFn) {\r\n const events = eventsName.split(\" \");\r\n\r\n for (let i = 0; i < events.length; i++) {\r\n EventHandler.on(element, events[i], handler, delegationFn);\r\n }\r\n },\r\n off(element, originalTypeEvent, handler, delegationFn) {\r\n const events = originalTypeEvent.split(\" \");\r\n\r\n for (let i = 0; i < events.length; i++) {\r\n EventHandler.off(element, events[i], handler, delegationFn);\r\n }\r\n },\r\n};\r\n\r\nexport default EventHandler;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport Data from \"./dom/data\";\r\nimport { executeAfterTransition, getElement } from \"./util/index\";\r\nimport EventHandler from \"./dom/event-handler\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nConstants\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nconst VERSION = \"5.1.3\";\r\n\r\nclass BaseComponent {\r\n constructor(element) {\r\n element = getElement(element);\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n this._element = element;\r\n Data.setData(this._element, this.constructor.DATA_KEY, this);\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, this.constructor.DATA_KEY);\r\n EventHandler.off(this._element, this.constructor.EVENT_KEY);\r\n\r\n Object.getOwnPropertyNames(this).forEach((propertyName) => {\r\n this[propertyName] = null;\r\n });\r\n }\r\n\r\n _queueCallback(callback, element, isAnimated = true) {\r\n executeAfterTransition(callback, element, isAnimated);\r\n }\r\n\r\n /** Static */\r\n\r\n static getInstance(element) {\r\n return Data.getData(getElement(element), this.DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get NAME() {\r\n throw new Error(\r\n 'You have to implement the static method \"NAME\", for each component!'\r\n );\r\n }\r\n\r\n static get DATA_KEY() {\r\n return `te.${this.NAME}`;\r\n }\r\n\r\n static get EVENT_KEY() {\r\n return `.${this.DATA_KEY}`;\r\n }\r\n}\r\n\r\nexport default BaseComponent;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport BaseComponent from \"../base-component\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nConstants\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nconst NAME = \"button\";\r\n\r\nconst CLASS_NAME_ACTIVE = \"active\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nClass Definition\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nclass Button extends BaseComponent {\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n toggle() {\r\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\r\n this._element.setAttribute(\r\n \"aria-pressed\",\r\n this._element.classList.toggle(CLASS_NAME_ACTIVE)\r\n );\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n const data = Button.getOrCreateInstance(this);\r\n\r\n if (config === \"toggle\") {\r\n data[config]();\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default Button;\r\n", "export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];", "export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}", "export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}", "import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };", "import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};", "import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}", "export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;", "export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}", "import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}", "import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}", "import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}", "import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}", "import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}", "import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}", "import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}", "import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}", "import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}", "export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}", "import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}", "export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}", "import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}", "export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}", "import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};", "export default function getVariation(placement) {\n return placement.split('-')[1];\n}", "import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};", "import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};", "var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}", "var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}", "import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}", "import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}", "import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}", "import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}", "import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}", "import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}", "import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}", "export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}", "import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}", "import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}", "import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}", "import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}", "import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases \u2013 research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};", "import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};", "import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};", "import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};", "export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}", "import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};", "export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}", "import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}", "import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}", "import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}", "export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}", "export default function format(str) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return [].concat(args).reduce(function (p, c) {\n return p.replace(/%s/, c);\n }, str);\n}", "import format from \"./format.js\";\nimport { modifierPhases } from \"../enums.js\";\nvar INVALID_MODIFIER_ERROR = 'Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s';\nvar MISSING_DEPENDENCY_ERROR = 'Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available';\nvar VALID_PROPERTIES = ['name', 'enabled', 'phase', 'fn', 'effect', 'requires', 'options'];\nexport default function validateModifiers(modifiers) {\n modifiers.forEach(function (modifier) {\n [].concat(Object.keys(modifier), VALID_PROPERTIES) // IE11-compatible replacement for `new Set(iterable)`\n .filter(function (value, index, self) {\n return self.indexOf(value) === index;\n }).forEach(function (key) {\n switch (key) {\n case 'name':\n if (typeof modifier.name !== 'string') {\n console.error(format(INVALID_MODIFIER_ERROR, String(modifier.name), '\"name\"', '\"string\"', \"\\\"\" + String(modifier.name) + \"\\\"\"));\n }\n\n break;\n\n case 'enabled':\n if (typeof modifier.enabled !== 'boolean') {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"enabled\"', '\"boolean\"', \"\\\"\" + String(modifier.enabled) + \"\\\"\"));\n }\n\n break;\n\n case 'phase':\n if (modifierPhases.indexOf(modifier.phase) < 0) {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"phase\"', \"either \" + modifierPhases.join(', '), \"\\\"\" + String(modifier.phase) + \"\\\"\"));\n }\n\n break;\n\n case 'fn':\n if (typeof modifier.fn !== 'function') {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"fn\"', '\"function\"', \"\\\"\" + String(modifier.fn) + \"\\\"\"));\n }\n\n break;\n\n case 'effect':\n if (modifier.effect != null && typeof modifier.effect !== 'function') {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"effect\"', '\"function\"', \"\\\"\" + String(modifier.fn) + \"\\\"\"));\n }\n\n break;\n\n case 'requires':\n if (modifier.requires != null && !Array.isArray(modifier.requires)) {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"requires\"', '\"array\"', \"\\\"\" + String(modifier.requires) + \"\\\"\"));\n }\n\n break;\n\n case 'requiresIfExists':\n if (!Array.isArray(modifier.requiresIfExists)) {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"requiresIfExists\"', '\"array\"', \"\\\"\" + String(modifier.requiresIfExists) + \"\\\"\"));\n }\n\n break;\n\n case 'options':\n case 'data':\n break;\n\n default:\n console.error(\"PopperJS: an invalid property has been provided to the \\\"\" + modifier.name + \"\\\" modifier, valid properties are \" + VALID_PROPERTIES.map(function (s) {\n return \"\\\"\" + s + \"\\\"\";\n }).join(', ') + \"; but \\\"\" + key + \"\\\" was provided.\");\n }\n\n modifier.requires && modifier.requires.forEach(function (requirement) {\n if (modifiers.find(function (mod) {\n return mod.name === requirement;\n }) == null) {\n console.error(format(MISSING_DEPENDENCY_ERROR, String(modifier.name), requirement, requirement));\n }\n });\n });\n });\n}", "export default function uniqueBy(arr, fn) {\n var identifiers = new Set();\n return arr.filter(function (item) {\n var identifier = fn(item);\n\n if (!identifiers.has(identifier)) {\n identifiers.add(identifier);\n return true;\n }\n });\n}", "export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}", "import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update \u2013 it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update \u2013 it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };", "import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };", "import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nfunction normalizeData(val) {\r\n if (val === \"true\") {\r\n return true;\r\n }\r\n\r\n if (val === \"false\") {\r\n return false;\r\n }\r\n\r\n if (val === Number(val).toString()) {\r\n return Number(val);\r\n }\r\n\r\n if (val === \"\" || val === \"null\") {\r\n return null;\r\n }\r\n\r\n return val;\r\n}\r\n\r\nfunction normalizeDataKey(key) {\r\n return key.replace(/[A-Z]/g, (chr) => `-${chr.toLowerCase()}`);\r\n}\r\n\r\nconst Manipulator = {\r\n setDataAttribute(element, key, value) {\r\n element.setAttribute(`data-te-${normalizeDataKey(key)}`, value);\r\n },\r\n\r\n removeDataAttribute(element, key) {\r\n element.removeAttribute(`data-te-${normalizeDataKey(key)}`);\r\n },\r\n\r\n getDataAttributes(element) {\r\n if (!element) {\r\n return {};\r\n }\r\n\r\n const attributes = {};\r\n\r\n Object.keys(element.dataset)\r\n .filter((key) => key.startsWith(\"te\"))\r\n .forEach((key) => {\r\n if (key.startsWith(\"teClass\")) {\r\n return;\r\n }\r\n\r\n let pureKey = key.replace(/^te/, \"\");\r\n pureKey =\r\n pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);\r\n attributes[pureKey] = normalizeData(element.dataset[key]);\r\n });\r\n\r\n return attributes;\r\n },\r\n\r\n getDataClassAttributes(element) {\r\n if (!element) {\r\n return {};\r\n }\r\n\r\n const attributes = {\r\n ...element.dataset,\r\n };\r\n\r\n Object.keys(attributes)\r\n .filter((key) => key.startsWith(\"teClass\"))\r\n .forEach((key) => {\r\n let pureKey = key.replace(/^teClass/, \"\");\r\n pureKey =\r\n pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);\r\n attributes[pureKey] = normalizeData(attributes[key]);\r\n });\r\n\r\n return attributes;\r\n },\r\n\r\n getDataAttribute(element, key) {\r\n return normalizeData(\r\n element.getAttribute(`data-te-${normalizeDataKey(key)}`)\r\n );\r\n },\r\n\r\n offset(element) {\r\n const rect = element.getBoundingClientRect();\r\n\r\n return {\r\n top: rect.top + document.body.scrollTop,\r\n left: rect.left + document.body.scrollLeft,\r\n };\r\n },\r\n\r\n position(element) {\r\n return {\r\n top: element.offsetTop,\r\n left: element.offsetLeft,\r\n };\r\n },\r\n\r\n style(element, style) {\r\n Object.assign(element.style, style);\r\n },\r\n\r\n toggleClass(element, classNameOrList) {\r\n if (!element) {\r\n return;\r\n }\r\n\r\n _classNameOrListToArray(classNameOrList).forEach((className) => {\r\n if (element.classList.contains(className)) {\r\n element.classList.remove(className);\r\n } else {\r\n element.classList.add(className);\r\n }\r\n });\r\n },\r\n\r\n addClass(element, classNameOrList) {\r\n _classNameOrListToArray(classNameOrList).forEach(\r\n (className) =>\r\n !element.classList.contains(className) &&\r\n element.classList.add(className)\r\n );\r\n },\r\n\r\n addStyle(element, style) {\r\n Object.keys(style).forEach((property) => {\r\n element.style[property] = style[property];\r\n });\r\n },\r\n\r\n removeClass(element, classNameOrList) {\r\n _classNameOrListToArray(classNameOrList).forEach(\r\n (className) =>\r\n element.classList.contains(className) &&\r\n element.classList.remove(className)\r\n );\r\n },\r\n\r\n hasClass(element, className) {\r\n return element.classList.contains(className);\r\n },\r\n\r\n maxOffset(element) {\r\n const rect = element.getBoundingClientRect();\r\n\r\n return {\r\n top:\r\n rect.top +\r\n Math.max(\r\n document.body.scrollTop,\r\n document.documentElement.scrollTop,\r\n window.scrollY\r\n ),\r\n left:\r\n rect.left +\r\n Math.max(\r\n document.body.scrollLeft,\r\n document.documentElement.scrollLeft,\r\n window.scrollX\r\n ),\r\n };\r\n },\r\n};\r\n\r\nfunction _classNameOrListToArray(classNameOrList) {\r\n if (typeof classNameOrList === \"string\") {\r\n return classNameOrList.split(\" \");\r\n } else if (Array.isArray(classNameOrList)) {\r\n return classNameOrList;\r\n }\r\n\r\n return false;\r\n}\r\n\r\nexport default Manipulator;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nConstants\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nimport { isDisabled, isVisible } from \"../util/index\";\r\n\r\nconst NODE_TEXT = 3;\r\n\r\nconst SelectorEngine = {\r\n closest(element, selector) {\r\n return element.closest(selector);\r\n },\r\n\r\n matches(element, selector) {\r\n return element.matches(selector);\r\n },\r\n\r\n find(selector, element = document.documentElement) {\r\n return [].concat(\r\n ...Element.prototype.querySelectorAll.call(element, selector)\r\n );\r\n },\r\n\r\n findOne(selector, element = document.documentElement) {\r\n return Element.prototype.querySelector.call(element, selector);\r\n },\r\n\r\n children(element, selector) {\r\n const children = [].concat(...element.children);\r\n\r\n return children.filter((child) => child.matches(selector));\r\n },\r\n\r\n parents(element, selector) {\r\n const parents = [];\r\n\r\n let ancestor = element.parentNode;\r\n\r\n while (\r\n ancestor &&\r\n ancestor.nodeType === Node.ELEMENT_NODE &&\r\n ancestor.nodeType !== NODE_TEXT\r\n ) {\r\n if (this.matches(ancestor, selector)) {\r\n parents.push(ancestor);\r\n }\r\n\r\n ancestor = ancestor.parentNode;\r\n }\r\n\r\n return parents;\r\n },\r\n\r\n prev(element, selector) {\r\n let previous = element.previousElementSibling;\r\n\r\n while (previous) {\r\n if (previous.matches(selector)) {\r\n return [previous];\r\n }\r\n\r\n previous = previous.previousElementSibling;\r\n }\r\n\r\n return [];\r\n },\r\n\r\n next(element, selector) {\r\n let next = element.nextElementSibling;\r\n\r\n while (next) {\r\n if (this.matches(next, selector)) {\r\n return [next];\r\n }\r\n\r\n next = next.nextElementSibling;\r\n }\r\n\r\n return [];\r\n },\r\n\r\n focusableChildren(element) {\r\n const focusables = [\r\n \"a\",\r\n \"button\",\r\n \"input\",\r\n \"textarea\",\r\n \"select\",\r\n \"details\",\r\n \"[tabindex]\",\r\n '[contenteditable=\"true\"]',\r\n ]\r\n .map((selector) => `${selector}:not([tabindex^=\"-\"])`)\r\n .join(\", \");\r\n\r\n return this.find(focusables, element).filter(\r\n (el) => !isDisabled(el) && isVisible(el)\r\n );\r\n },\r\n};\r\n\r\nexport default SelectorEngine;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\nimport * as Popper from \"@popperjs/core\";\r\n\r\nimport {\r\n getElement,\r\n getElementFromSelector,\r\n getNextActiveElement,\r\n isDisabled,\r\n isElement,\r\n isRTL,\r\n isVisible,\r\n noop,\r\n typeCheckConfig,\r\n} from \"../util/index\";\r\nimport EventHandler from \"../dom/event-handler\";\r\nimport Manipulator from \"../dom/manipulator\";\r\nimport SelectorEngine from \"../dom/selector-engine\";\r\nimport BaseComponent from \"../base-component\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nConstants\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nconst NAME = \"dropdown\";\r\nconst DATA_KEY = \"te.dropdown\";\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = \".data-api\";\r\n\r\nconst ESCAPE_KEY = \"Escape\";\r\nconst SPACE_KEY = \"Space\";\r\nconst TAB_KEY = \"Tab\";\r\nconst ARROW_UP_KEY = \"ArrowUp\";\r\nconst ARROW_DOWN_KEY = \"ArrowDown\";\r\nconst RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button\r\n\r\nconst REGEXP_KEYDOWN = new RegExp(\r\n `${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY}`\r\n);\r\n\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_SHOW = \"show\";\r\nconst CLASS_NAME_DROPUP = \"dropup\";\r\nconst CLASS_NAME_DROPEND = \"dropend\";\r\nconst CLASS_NAME_DROPSTART = \"dropstart\";\r\n\r\nconst SELECTOR_NAVBAR = \"[data-te-navbar-ref]\";\r\nconst SELECTOR_DATA_TOGGLE = \"[data-te-dropdown-toggle-ref]\";\r\nconst SELECTOR_MENU = \"[data-te-dropdown-menu-ref]\";\r\nconst SELECTOR_NAVBAR_NAV = \"[data-te-navbar-nav-ref]\";\r\nconst SELECTOR_VISIBLE_ITEMS =\r\n \"[data-te-dropdown-menu-ref] [data-te-dropdown-item-ref]:not(.disabled):not(:disabled)\";\r\n\r\nconst PLACEMENT_TOP = isRTL() ? \"top-end\" : \"top-start\";\r\nconst PLACEMENT_TOPEND = isRTL() ? \"top-start\" : \"top-end\";\r\nconst PLACEMENT_BOTTOM = isRTL() ? \"bottom-end\" : \"bottom-start\";\r\nconst PLACEMENT_BOTTOMEND = isRTL() ? \"bottom-start\" : \"bottom-end\";\r\nconst PLACEMENT_RIGHT = isRTL() ? \"left-start\" : \"right-start\";\r\nconst PLACEMENT_LEFT = isRTL() ? \"right-start\" : \"left-start\";\r\n\r\nconst ANIMATION_FADE_IN = [{ opacity: \"0\" }, { opacity: \"1\" }];\r\nconst ANIMATION_FADE_OUT = [{ opacity: \"1\" }, { opacity: \"0\" }];\r\n\r\nconst ANIMATION_TIMING = {\r\n duration: 550,\r\n iterations: 1,\r\n easing: \"ease\",\r\n fill: \"both\",\r\n};\r\n\r\nconst Default = {\r\n offset: [0, 2],\r\n boundary: \"clippingParents\",\r\n reference: \"toggle\",\r\n display: \"dynamic\",\r\n popperConfig: null,\r\n autoClose: true,\r\n dropdownAnimation: \"on\",\r\n};\r\n\r\nconst DefaultType = {\r\n offset: \"(array|string|function)\",\r\n boundary: \"(string|element)\",\r\n reference: \"(string|element|object)\",\r\n display: \"string\",\r\n popperConfig: \"(null|object|function)\",\r\n autoClose: \"(boolean|string)\",\r\n dropdownAnimation: \"string\",\r\n};\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nClass Definition\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nclass Dropdown extends BaseComponent {\r\n constructor(element, config) {\r\n super(element);\r\n\r\n this._popper = null;\r\n this._config = this._getConfig(config);\r\n this._menu = this._getMenuElement();\r\n this._inNavbar = this._detectNavbar();\r\n this._fadeOutAnimate = null;\r\n\r\n //* prevents dropdown close issue when system animation is turned off\r\n const isPrefersReducedMotionSet = window.matchMedia(\r\n \"(prefers-reduced-motion: reduce)\"\r\n ).matches;\r\n this._animationCanPlay =\r\n this._config.dropdownAnimation === \"on\" && !isPrefersReducedMotionSet;\r\n\r\n this._didInit = false;\r\n this._init();\r\n }\r\n\r\n // Getters\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get DefaultType() {\r\n return DefaultType;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n toggle() {\r\n return this._isShown() ? this.hide() : this.show();\r\n }\r\n\r\n show() {\r\n if (isDisabled(this._element) || this._isShown(this._menu)) {\r\n return;\r\n }\r\n\r\n const relatedTarget = {\r\n relatedTarget: this._element,\r\n };\r\n\r\n const showEvent = EventHandler.trigger(\r\n this._element,\r\n EVENT_SHOW,\r\n relatedTarget\r\n );\r\n\r\n if (showEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n const parent = Dropdown.getParentFromElement(this._element);\r\n // Totally disable Popper for Dropdowns in Navbar\r\n if (this._inNavbar) {\r\n Manipulator.setDataAttribute(this._menu, \"popper\", \"none\");\r\n } else {\r\n this._createPopper(parent);\r\n }\r\n\r\n // If this is a touch-enabled device we add extra\r\n // empty mouseover listeners to the body's immediate children;\r\n // only needed because of broken event delegation on iOS\r\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\r\n if (\r\n \"ontouchstart\" in document.documentElement &&\r\n !parent.closest(SELECTOR_NAVBAR_NAV)\r\n ) {\r\n []\r\n .concat(...document.body.children)\r\n .forEach((elem) => EventHandler.on(elem, \"mouseover\", noop));\r\n }\r\n\r\n this._element.focus();\r\n this._element.setAttribute(\"aria-expanded\", true);\r\n\r\n this._menu.setAttribute(`data-te-dropdown-${CLASS_NAME_SHOW}`, \"\");\r\n this._animationCanPlay &&\r\n this._menu.animate(ANIMATION_FADE_IN, ANIMATION_TIMING);\r\n this._element.setAttribute(`data-te-dropdown-${CLASS_NAME_SHOW}`, \"\");\r\n\r\n setTimeout(\r\n () => {\r\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget);\r\n },\r\n this._animationCanPlay ? ANIMATION_TIMING.duration : 0\r\n );\r\n }\r\n\r\n hide() {\r\n if (isDisabled(this._element) || !this._isShown(this._menu)) {\r\n return;\r\n }\r\n\r\n const relatedTarget = {\r\n relatedTarget: this._element,\r\n };\r\n\r\n this._completeHide(relatedTarget);\r\n }\r\n\r\n dispose() {\r\n if (this._popper) {\r\n this._popper.destroy();\r\n }\r\n\r\n super.dispose();\r\n }\r\n\r\n update() {\r\n this._inNavbar = this._detectNavbar();\r\n if (this._popper) {\r\n this._popper.update();\r\n }\r\n }\r\n\r\n // Private\r\n _init() {\r\n if (this._didInit) {\r\n return;\r\n }\r\n\r\n EventHandler.on(\r\n document,\r\n EVENT_KEYDOWN_DATA_API,\r\n SELECTOR_DATA_TOGGLE,\r\n Dropdown.dataApiKeydownHandler\r\n );\r\n EventHandler.on(\r\n document,\r\n EVENT_KEYDOWN_DATA_API,\r\n SELECTOR_MENU,\r\n Dropdown.dataApiKeydownHandler\r\n );\r\n EventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus);\r\n EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);\r\n\r\n this._didInit = true;\r\n }\r\n\r\n _completeHide(relatedTarget) {\r\n if (this._fadeOutAnimate && this._fadeOutAnimate.playState === \"running\") {\r\n return;\r\n }\r\n\r\n const hideEvent = EventHandler.trigger(\r\n this._element,\r\n EVENT_HIDE,\r\n relatedTarget\r\n );\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n // If this is a touch-enabled device we remove the extra\r\n // empty mouseover listeners we added for iOS support\r\n if (\"ontouchstart\" in document.documentElement) {\r\n []\r\n .concat(...document.body.children)\r\n .forEach((elem) => EventHandler.off(elem, \"mouseover\", noop));\r\n }\r\n\r\n if (this._animationCanPlay) {\r\n this._fadeOutAnimate = this._menu.animate(\r\n ANIMATION_FADE_OUT,\r\n ANIMATION_TIMING\r\n );\r\n }\r\n\r\n setTimeout(\r\n () => {\r\n if (this._popper) {\r\n this._popper.destroy();\r\n }\r\n\r\n this._menu.removeAttribute(`data-te-dropdown-${CLASS_NAME_SHOW}`);\r\n this._element.removeAttribute(`data-te-dropdown-${CLASS_NAME_SHOW}`);\r\n\r\n this._element.setAttribute(\"aria-expanded\", \"false\");\r\n Manipulator.removeDataAttribute(this._menu, \"popper\");\r\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget);\r\n },\r\n this._animationCanPlay ? ANIMATION_TIMING.duration : 0\r\n );\r\n }\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...this.constructor.Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...config,\r\n };\r\n\r\n typeCheckConfig(NAME, config, this.constructor.DefaultType);\r\n\r\n if (\r\n typeof config.reference === \"object\" &&\r\n !isElement(config.reference) &&\r\n typeof config.reference.getBoundingClientRect !== \"function\"\r\n ) {\r\n // Popper virtual elements require a getBoundingClientRect method\r\n throw new TypeError(\r\n `${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`\r\n );\r\n }\r\n\r\n return config;\r\n }\r\n\r\n _createPopper(parent) {\r\n if (typeof Popper === \"undefined\") {\r\n throw new TypeError(\r\n \"Bootstrap's dropdowns require Popper (https://popper.js.org)\"\r\n );\r\n }\r\n\r\n let referenceElement = this._element;\r\n\r\n if (this._config.reference === \"parent\") {\r\n referenceElement = parent;\r\n } else if (isElement(this._config.reference)) {\r\n referenceElement = getElement(this._config.reference);\r\n } else if (typeof this._config.reference === \"object\") {\r\n referenceElement = this._config.reference;\r\n }\r\n\r\n const popperConfig = this._getPopperConfig();\r\n const isDisplayStatic = popperConfig.modifiers.find(\r\n (modifier) =>\r\n modifier.name === \"applyStyles\" && modifier.enabled === false\r\n );\r\n\r\n this._popper = Popper.createPopper(\r\n referenceElement,\r\n this._menu,\r\n popperConfig\r\n );\r\n\r\n if (isDisplayStatic) {\r\n Manipulator.setDataAttribute(this._menu, \"popper\", \"static\");\r\n }\r\n }\r\n\r\n _isShown(element = this._element) {\r\n return (\r\n element.dataset[\r\n `teDropdown${\r\n CLASS_NAME_SHOW.charAt(0).toUpperCase() + CLASS_NAME_SHOW.slice(1)\r\n }`\r\n ] === \"\"\r\n );\r\n }\r\n\r\n _getMenuElement() {\r\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0];\r\n }\r\n\r\n _getPlacement() {\r\n const parentDropdown = this._element.parentNode;\r\n\r\n if (parentDropdown.dataset.teDropdownPosition === CLASS_NAME_DROPEND) {\r\n return PLACEMENT_RIGHT;\r\n }\r\n\r\n if (parentDropdown.dataset.teDropdownPosition === CLASS_NAME_DROPSTART) {\r\n return PLACEMENT_LEFT;\r\n }\r\n\r\n // We need to trim the value because custom properties can also include spaces\r\n const isEnd = parentDropdown.dataset.teDropdownAlignment === \"end\";\r\n\r\n if (parentDropdown.dataset.teDropdownPosition === CLASS_NAME_DROPUP) {\r\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP;\r\n }\r\n\r\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM;\r\n }\r\n\r\n _detectNavbar() {\r\n return this._element.closest(SELECTOR_NAVBAR) !== null;\r\n }\r\n\r\n _getOffset() {\r\n const { offset } = this._config;\r\n\r\n if (typeof offset === \"string\") {\r\n return offset.split(\",\").map((val) => Number.parseInt(val, 10));\r\n }\r\n\r\n if (typeof offset === \"function\") {\r\n return (popperData) => offset(popperData, this._element);\r\n }\r\n\r\n return offset;\r\n }\r\n\r\n _getPopperConfig() {\r\n const defaultBsPopperConfig = {\r\n placement: this._getPlacement(),\r\n modifiers: [\r\n {\r\n name: \"preventOverflow\",\r\n options: {\r\n boundary: this._config.boundary,\r\n },\r\n },\r\n {\r\n name: \"offset\",\r\n options: {\r\n offset: this._getOffset(),\r\n },\r\n },\r\n ],\r\n };\r\n\r\n // Disable Popper if we have a static display\r\n if (this._config.display === \"static\") {\r\n defaultBsPopperConfig.modifiers = [\r\n {\r\n name: \"applyStyles\",\r\n enabled: false,\r\n },\r\n ];\r\n }\r\n\r\n return {\r\n ...defaultBsPopperConfig,\r\n ...(typeof this._config.popperConfig === \"function\"\r\n ? this._config.popperConfig(defaultBsPopperConfig)\r\n : this._config.popperConfig),\r\n };\r\n }\r\n\r\n _selectMenuItem({ key, target }) {\r\n const items = SelectorEngine.find(\r\n SELECTOR_VISIBLE_ITEMS,\r\n this._menu\r\n ).filter(isVisible);\r\n\r\n if (!items.length) {\r\n return;\r\n }\r\n\r\n // if target isn't included in items (e.g. when expanding the dropdown)\r\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\r\n getNextActiveElement(\r\n items,\r\n target,\r\n key === ARROW_DOWN_KEY,\r\n !items.includes(target)\r\n ).focus();\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n const data = Dropdown.getOrCreateInstance(this, config);\r\n\r\n if (typeof config !== \"string\") {\r\n return;\r\n }\r\n\r\n if (typeof data[config] === \"undefined\") {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n });\r\n }\r\n\r\n static clearMenus(event) {\r\n if (\r\n event &&\r\n (event.button === RIGHT_MOUSE_BUTTON ||\r\n (event.type === \"keyup\" && event.key !== TAB_KEY))\r\n ) {\r\n return;\r\n }\r\n\r\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE);\r\n\r\n for (let i = 0, len = toggles.length; i < len; i++) {\r\n const context = Dropdown.getInstance(toggles[i]);\r\n if (!context || context._config.autoClose === false) {\r\n continue;\r\n }\r\n\r\n if (!context._isShown()) {\r\n continue;\r\n }\r\n\r\n const relatedTarget = {\r\n relatedTarget: context._element,\r\n };\r\n\r\n if (event) {\r\n const composedPath = event.composedPath();\r\n const isMenuTarget = composedPath.includes(context._menu);\r\n if (\r\n composedPath.includes(context._element) ||\r\n (context._config.autoClose === \"inside\" && !isMenuTarget) ||\r\n (context._config.autoClose === \"outside\" && isMenuTarget)\r\n ) {\r\n continue;\r\n }\r\n\r\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\r\n if (\r\n context._menu.contains(event.target) &&\r\n ((event.type === \"keyup\" && event.key === TAB_KEY) ||\r\n /input|select|option|textarea|form/i.test(event.target.tagName))\r\n ) {\r\n continue;\r\n }\r\n\r\n if (event.type === \"click\") {\r\n relatedTarget.clickEvent = event;\r\n }\r\n }\r\n\r\n context._completeHide(relatedTarget);\r\n }\r\n }\r\n\r\n static getParentFromElement(element) {\r\n return getElementFromSelector(element) || element.parentNode;\r\n }\r\n\r\n static dataApiKeydownHandler(event) {\r\n // If not input/textarea:\r\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\r\n // If input/textarea:\r\n // - If space key => not a dropdown command\r\n // - If key is other than escape\r\n // - If key is not up or down => not a dropdown command\r\n // - If trigger inside the menu => not a dropdown command\r\n if (\r\n /input|textarea/i.test(event.target.tagName)\r\n ? event.key === SPACE_KEY ||\r\n (event.key !== ESCAPE_KEY &&\r\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\r\n event.target.closest(SELECTOR_MENU)))\r\n : !REGEXP_KEYDOWN.test(event.key)\r\n ) {\r\n return;\r\n }\r\n\r\n const isActive =\r\n this.dataset[\r\n `teDropdown${\r\n CLASS_NAME_SHOW.charAt(0).toUpperCase() + CLASS_NAME_SHOW.slice(1)\r\n }`\r\n ] === \"\";\r\n\r\n if (!isActive && event.key === ESCAPE_KEY) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (isDisabled(this)) {\r\n return;\r\n }\r\n\r\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE)\r\n ? this\r\n : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0];\r\n const instance = Dropdown.getOrCreateInstance(getToggleButton);\r\n\r\n if (event.key === ESCAPE_KEY) {\r\n instance.hide();\r\n return;\r\n }\r\n\r\n if (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY) {\r\n if (!isActive) {\r\n instance.show();\r\n }\r\n\r\n instance._selectMenuItem(event);\r\n return;\r\n }\r\n\r\n if (!isActive || event.key === SPACE_KEY) {\r\n Dropdown.clearMenus();\r\n }\r\n }\r\n}\r\n\r\nexport default Dropdown;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport {\r\n getElement,\r\n getSelectorFromElement,\r\n getElementFromSelector,\r\n reflow,\r\n typeCheckConfig,\r\n} from \"../util/index\";\r\nimport Data from \"../dom/data\";\r\nimport EventHandler from \"../dom/event-handler\";\r\nimport Manipulator from \"../dom/manipulator\";\r\nimport SelectorEngine from \"../dom/selector-engine\";\r\nimport BaseComponent from \"../base-component\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nConstants\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nconst NAME = \"collapse\";\r\nconst DATA_KEY = \"te.collapse\";\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\n\r\nconst Default = {\r\n toggle: true,\r\n parent: null,\r\n};\r\n\r\nconst DefaultType = {\r\n toggle: \"boolean\",\r\n parent: \"(null|element)\",\r\n};\r\n\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\n\r\nconst ATTR_SHOW = \"data-te-collapse-show\";\r\nconst ATTR_COLLAPSED = \"data-te-collapse-collapsed\";\r\nconst ATTR_COLLAPSING = \"data-te-collapse-collapsing\";\r\nconst ATTR_HORIZONTAL = \"data-te-collapse-horizontal\";\r\nconst ATTR_COLLAPSE_ITEM = \"data-te-collapse-item\";\r\nconst ATTR_COLLAPSE_DEEPER_CHILDREN = `:scope [${ATTR_COLLAPSE_ITEM}] [${ATTR_COLLAPSE_ITEM}]`;\r\n\r\nconst WIDTH = \"width\";\r\nconst HEIGHT = \"height\";\r\n\r\nconst SELECTOR_DATA_ACTIVES =\r\n \"[data-te-collapse-item][data-te-collapse-show], [data-te-collapse-item][data-te-collapse-collapsing]\";\r\nconst SELECTOR_DATA_COLLAPSE_INIT = \"[data-te-collapse-init]\";\r\n\r\nconst DefaultClasses = {\r\n visible: \"!visible\",\r\n hidden: \"hidden\",\r\n baseTransition:\r\n \"overflow-hidden duration-[350ms] ease-[cubic-bezier(0.25,0.1,0.25,1.0)] motion-reduce:transition-none\",\r\n collapsing:\r\n \"h-0 transition-[height] overflow-hidden duration-[350ms] ease-[cubic-bezier(0.25,0.1,0.25,1.0)] motion-reduce:transition-none\",\r\n collapsingHorizontal:\r\n \"w-0 h-auto transition-[width] overflow-hidden duration-[350ms] ease-[cubic-bezier(0.25,0.1,0.25,1.0)] motion-reduce:transition-none\",\r\n};\r\n\r\nconst DefaultClassesType = {\r\n visible: \"string\",\r\n hidden: \"string\",\r\n baseTransition: \"string\",\r\n collapsing: \"string\",\r\n collapsingHorizontal: \"string\",\r\n};\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nClass Definition\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nclass Collapse extends BaseComponent {\r\n constructor(element, config, classes) {\r\n super(element);\r\n\r\n this._isTransitioning = false;\r\n this._config = this._getConfig(config);\r\n this._classes = this._getClasses(classes);\r\n this._triggerArray = [];\r\n\r\n const toggleList = SelectorEngine.find(SELECTOR_DATA_COLLAPSE_INIT);\r\n\r\n for (let i = 0, len = toggleList.length; i < len; i++) {\r\n const elem = toggleList[i];\r\n const selector = getSelectorFromElement(elem);\r\n const filterElement = SelectorEngine.find(selector).filter(\r\n (foundElem) => foundElem === this._element\r\n );\r\n\r\n if (selector !== null && filterElement.length) {\r\n this._selector = selector;\r\n this._triggerArray.push(elem);\r\n }\r\n }\r\n\r\n this._initializeChildren();\r\n\r\n if (!this._config.parent) {\r\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown());\r\n }\r\n\r\n if (this._config.toggle) {\r\n this.toggle();\r\n }\r\n }\r\n\r\n // Getters\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n toggle() {\r\n if (this._isShown()) {\r\n this.hide();\r\n } else {\r\n this.show();\r\n }\r\n }\r\n\r\n show() {\r\n if (this._isTransitioning || this._isShown()) {\r\n return;\r\n }\r\n\r\n let actives = [];\r\n let activesData;\r\n\r\n if (this._config.parent) {\r\n const children = SelectorEngine.find(\r\n ATTR_COLLAPSE_DEEPER_CHILDREN,\r\n this._config.parent\r\n );\r\n actives = SelectorEngine.find(\r\n SELECTOR_DATA_ACTIVES,\r\n this._config.parent\r\n ).filter((elem) => !children.includes(elem)); // remove children if greater depth\r\n }\r\n\r\n const container = SelectorEngine.findOne(this._selector);\r\n if (actives.length) {\r\n const tempActiveData = actives.find((elem) => container !== elem);\r\n activesData = tempActiveData\r\n ? Collapse.getInstance(tempActiveData)\r\n : null;\r\n\r\n if (activesData && activesData._isTransitioning) {\r\n return;\r\n }\r\n }\r\n\r\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW);\r\n if (startEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n actives.forEach((elemActive) => {\r\n if (container !== elemActive) {\r\n Collapse.getOrCreateInstance(elemActive, { toggle: false }).hide();\r\n }\r\n\r\n if (!activesData) {\r\n Data.setData(elemActive, DATA_KEY, null);\r\n }\r\n });\r\n\r\n const dimension = this._getDimension();\r\n const CLASS_NAME_TRANSITION =\r\n dimension === \"height\"\r\n ? this._classes.collapsing\r\n : this._classes.collapsingHorizontal;\r\n\r\n Manipulator.removeClass(this._element, this._classes.visible);\r\n Manipulator.removeClass(this._element, this._classes.hidden);\r\n Manipulator.addClass(this._element, CLASS_NAME_TRANSITION);\r\n this._element.removeAttribute(ATTR_COLLAPSE_ITEM);\r\n this._element.setAttribute(ATTR_COLLAPSING, \"\");\r\n\r\n this._element.style[dimension] = 0;\r\n\r\n this._addAriaAndCollapsedClass(this._triggerArray, true);\r\n this._isTransitioning = true;\r\n\r\n const complete = () => {\r\n this._isTransitioning = false;\r\n\r\n Manipulator.removeClass(this._element, this._classes.hidden);\r\n Manipulator.removeClass(this._element, CLASS_NAME_TRANSITION);\r\n Manipulator.addClass(this._element, this._classes.visible);\r\n this._element.removeAttribute(ATTR_COLLAPSING);\r\n this._element.setAttribute(ATTR_COLLAPSE_ITEM, \"\");\r\n this._element.setAttribute(ATTR_SHOW, \"\");\r\n\r\n this._element.style[dimension] = \"\";\r\n\r\n EventHandler.trigger(this._element, EVENT_SHOWN);\r\n };\r\n\r\n const capitalizedDimension =\r\n dimension[0].toUpperCase() + dimension.slice(1);\r\n const scrollSize = `scroll${capitalizedDimension}`;\r\n\r\n this._queueCallback(complete, this._element, true);\r\n this._element.style[dimension] = `${this._element[scrollSize]}px`;\r\n }\r\n\r\n hide() {\r\n if (this._isTransitioning || !this._isShown()) {\r\n return;\r\n }\r\n\r\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE);\r\n if (startEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n const dimension = this._getDimension();\r\n const CLASS_NAME_TRANSITION =\r\n dimension === \"height\"\r\n ? this._classes.collapsing\r\n : this._classes.collapsingHorizontal;\r\n\r\n this._element.style[dimension] = `${\r\n this._element.getBoundingClientRect()[dimension]\r\n }px`;\r\n\r\n reflow(this._element);\r\n\r\n Manipulator.addClass(this._element, CLASS_NAME_TRANSITION);\r\n Manipulator.removeClass(this._element, this._classes.visible);\r\n Manipulator.removeClass(this._element, this._classes.hidden);\r\n this._element.setAttribute(ATTR_COLLAPSING, \"\");\r\n this._element.removeAttribute(ATTR_COLLAPSE_ITEM);\r\n this._element.removeAttribute(ATTR_SHOW);\r\n\r\n const triggerArrayLength = this._triggerArray.length;\r\n for (let i = 0; i < triggerArrayLength; i++) {\r\n const trigger = this._triggerArray[i];\r\n const elem = getElementFromSelector(trigger);\r\n\r\n if (elem && !this._isShown(elem)) {\r\n this._addAriaAndCollapsedClass([trigger], false);\r\n }\r\n }\r\n\r\n this._isTransitioning = true;\r\n\r\n const complete = () => {\r\n this._isTransitioning = false;\r\n\r\n Manipulator.removeClass(this._element, CLASS_NAME_TRANSITION);\r\n Manipulator.addClass(this._element, this._classes.visible);\r\n Manipulator.addClass(this._element, this._classes.hidden);\r\n\r\n this._element.removeAttribute(ATTR_COLLAPSING);\r\n this._element.setAttribute(ATTR_COLLAPSE_ITEM, \"\");\r\n\r\n EventHandler.trigger(this._element, EVENT_HIDDEN);\r\n };\r\n\r\n this._element.style[dimension] = \"\";\r\n\r\n this._queueCallback(complete, this._element, true);\r\n }\r\n\r\n _isShown(element = this._element) {\r\n return element.hasAttribute(ATTR_SHOW);\r\n }\r\n\r\n // Private\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...config,\r\n };\r\n config.toggle = Boolean(config.toggle); // Coerce string values\r\n config.parent = getElement(config.parent);\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _getClasses(classes) {\r\n const dataAttributes = Manipulator.getDataClassAttributes(this._element);\r\n\r\n classes = {\r\n ...DefaultClasses,\r\n ...dataAttributes,\r\n ...classes,\r\n };\r\n\r\n typeCheckConfig(NAME, classes, DefaultClassesType);\r\n return classes;\r\n }\r\n\r\n _getDimension() {\r\n return this._element.hasAttribute(ATTR_HORIZONTAL) ? WIDTH : HEIGHT;\r\n }\r\n\r\n _initializeChildren() {\r\n if (!this._config.parent) {\r\n return;\r\n }\r\n\r\n const children = SelectorEngine.find(\r\n ATTR_COLLAPSE_DEEPER_CHILDREN,\r\n this._config.parent\r\n );\r\n SelectorEngine.find(SELECTOR_DATA_COLLAPSE_INIT, this._config.parent)\r\n .filter((elem) => !children.includes(elem))\r\n .forEach((element) => {\r\n const selected = getElementFromSelector(element);\r\n\r\n if (selected) {\r\n this._addAriaAndCollapsedClass([element], this._isShown(selected));\r\n }\r\n });\r\n }\r\n\r\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\r\n if (!triggerArray.length) {\r\n return;\r\n }\r\n\r\n triggerArray.forEach((elem) => {\r\n if (isOpen) {\r\n elem.removeAttribute(ATTR_COLLAPSED);\r\n } else {\r\n elem.setAttribute(`${ATTR_COLLAPSED}`, \"\");\r\n }\r\n\r\n elem.setAttribute(\"aria-expanded\", isOpen);\r\n });\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n const _config = {};\r\n if (typeof config === \"string\" && /show|hide/.test(config)) {\r\n _config.toggle = false;\r\n }\r\n\r\n const data = Collapse.getOrCreateInstance(this, _config);\r\n\r\n if (typeof config === \"string\") {\r\n if (typeof data[config] === \"undefined\") {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default Collapse;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport SelectorEngine from \"../dom/selector-engine\";\r\nimport Manipulator from \"../dom/manipulator\";\r\nimport { isElement } from \"./index\";\r\n\r\nconst SELECTOR_FIXED_CONTENT =\r\n \".fixed-top, .fixed-bottom, .is-fixed, .sticky-top\";\r\nconst SELECTOR_STICKY_CONTENT = \".sticky-top\";\r\n\r\nclass ScrollBarHelper {\r\n constructor() {\r\n this._element = document.body;\r\n }\r\n\r\n getWidth() {\r\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\r\n const documentWidth = document.documentElement.clientWidth;\r\n return Math.abs(window.innerWidth - documentWidth);\r\n }\r\n\r\n hide() {\r\n const width = this.getWidth();\r\n this._disableOverFlow();\r\n // give padding to element to balance the hidden scrollbar width\r\n this._setElementAttributes(\r\n this._element,\r\n \"paddingRight\",\r\n (calculatedValue) => calculatedValue + width\r\n );\r\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\r\n this._setElementAttributes(\r\n SELECTOR_FIXED_CONTENT,\r\n \"paddingRight\",\r\n (calculatedValue) => calculatedValue + width\r\n );\r\n this._setElementAttributes(\r\n SELECTOR_STICKY_CONTENT,\r\n \"marginRight\",\r\n (calculatedValue) => calculatedValue - width\r\n );\r\n }\r\n\r\n _disableOverFlow() {\r\n this._saveInitialAttribute(this._element, \"overflow\");\r\n this._element.style.overflow = \"hidden\";\r\n }\r\n\r\n _setElementAttributes(selector, styleProp, callback) {\r\n const scrollbarWidth = this.getWidth();\r\n const manipulationCallBack = (element) => {\r\n if (\r\n element !== this._element &&\r\n window.innerWidth > element.clientWidth + scrollbarWidth\r\n ) {\r\n return;\r\n }\r\n\r\n this._saveInitialAttribute(element, styleProp);\r\n const calculatedValue = window.getComputedStyle(element)[styleProp];\r\n element.style[styleProp] = `${callback(\r\n Number.parseFloat(calculatedValue)\r\n )}px`;\r\n };\r\n\r\n this._applyManipulationCallback(selector, manipulationCallBack);\r\n }\r\n\r\n reset() {\r\n this._resetElementAttributes(this._element, \"overflow\");\r\n this._resetElementAttributes(this._element, \"paddingRight\");\r\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, \"paddingRight\");\r\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, \"marginRight\");\r\n }\r\n\r\n _saveInitialAttribute(element, styleProp) {\r\n const actualValue = element.style[styleProp];\r\n if (actualValue) {\r\n Manipulator.setDataAttribute(element, styleProp, actualValue);\r\n }\r\n }\r\n\r\n _resetElementAttributes(selector, styleProp) {\r\n const manipulationCallBack = (element) => {\r\n const value = Manipulator.getDataAttribute(element, styleProp);\r\n if (typeof value === \"undefined\") {\r\n element.style.removeProperty(styleProp);\r\n } else {\r\n Manipulator.removeDataAttribute(element, styleProp);\r\n element.style[styleProp] = value;\r\n }\r\n };\r\n\r\n this._applyManipulationCallback(selector, manipulationCallBack);\r\n }\r\n\r\n _applyManipulationCallback(selector, callBack) {\r\n if (isElement(selector)) {\r\n callBack(selector);\r\n } else {\r\n SelectorEngine.find(selector, this._element).forEach(callBack);\r\n }\r\n }\r\n\r\n isOverflowing() {\r\n return this.getWidth() > 0;\r\n }\r\n}\r\n\r\nexport default ScrollBarHelper;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport EventHandler from \"../dom/event-handler\";\r\nimport Manipulator from \"../dom/manipulator\";\r\nimport {\r\n execute,\r\n executeAfterTransition,\r\n getElement,\r\n reflow,\r\n typeCheckConfig,\r\n} from \"./index\";\r\n\r\nconst Default = {\r\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\r\n isAnimated: false,\r\n rootElement: \"body\", // give the choice to place backdrop under different elements\r\n clickCallback: null,\r\n backdropClasses: null,\r\n};\r\n\r\nconst DefaultType = {\r\n isVisible: \"boolean\",\r\n isAnimated: \"boolean\",\r\n rootElement: \"(element|string)\",\r\n clickCallback: \"(function|null)\",\r\n backdropClasses: \"(array|null)\",\r\n};\r\nconst NAME = \"backdrop\";\r\nconst EVENT_MOUSEDOWN = `mousedown.te.${NAME}`;\r\n\r\nclass Backdrop {\r\n constructor(config) {\r\n this._config = this._getConfig(config);\r\n this._isAppended = false;\r\n this._element = null;\r\n }\r\n\r\n show(callback) {\r\n if (!this._config.isVisible) {\r\n execute(callback);\r\n return;\r\n }\r\n\r\n this._append();\r\n\r\n if (this._config.isAnimated) {\r\n reflow(this._getElement());\r\n }\r\n\r\n const backdropClasses = this._config.backdropClasses || [\r\n \"opacity-50\",\r\n \"transition-all\",\r\n \"duration-300\",\r\n \"ease-in-out\",\r\n \"fixed\",\r\n \"top-0\",\r\n \"left-0\",\r\n \"z-[1040]\",\r\n \"bg-black\",\r\n \"w-screen\",\r\n \"h-screen\",\r\n ];\r\n\r\n Manipulator.removeClass(this._getElement(), \"opacity-0\");\r\n Manipulator.addClass(this._getElement(), backdropClasses);\r\n this._element.setAttribute(\"data-te-backdrop-show\", \"\");\r\n\r\n this._emulateAnimation(() => {\r\n execute(callback);\r\n });\r\n }\r\n\r\n hide(callback) {\r\n if (!this._config.isVisible) {\r\n execute(callback);\r\n return;\r\n }\r\n\r\n this._element.removeAttribute(\"data-te-backdrop-show\");\r\n this._getElement().classList.add(\"opacity-0\");\r\n this._getElement().classList.remove(\"opacity-50\");\r\n\r\n this._emulateAnimation(() => {\r\n this.dispose();\r\n execute(callback);\r\n });\r\n }\r\n\r\n // Private\r\n\r\n _getElement() {\r\n if (!this._element) {\r\n const backdrop = document.createElement(\"div\");\r\n backdrop.className = this._config.className;\r\n if (this._config.isAnimated) {\r\n backdrop.classList.add(\"opacity-50\");\r\n }\r\n\r\n this._element = backdrop;\r\n }\r\n\r\n return this._element;\r\n }\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...(typeof config === \"object\" ? config : {}),\r\n };\r\n\r\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\r\n config.rootElement = getElement(config.rootElement);\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _append() {\r\n if (this._isAppended) {\r\n return;\r\n }\r\n\r\n this._config.rootElement.append(this._getElement());\r\n\r\n EventHandler.on(this._getElement(), EVENT_MOUSEDOWN, () => {\r\n execute(this._config.clickCallback);\r\n });\r\n\r\n this._isAppended = true;\r\n }\r\n\r\n dispose() {\r\n if (!this._isAppended) {\r\n return;\r\n }\r\n\r\n EventHandler.off(this._element, EVENT_MOUSEDOWN);\r\n\r\n this._element.remove();\r\n this._isAppended = false;\r\n }\r\n\r\n _emulateAnimation(callback) {\r\n executeAfterTransition(\r\n callback,\r\n this._getElement(),\r\n this._config.isAnimated\r\n );\r\n }\r\n}\r\n\r\nexport default Backdrop;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport SelectorEngine from \"../dom/selector-engine\";\r\nimport { isVisible } from \"./index\";\r\n\r\nclass FocusTrap {\r\n constructor(element, options = {}, toggler) {\r\n this._element = element;\r\n this._toggler = toggler;\r\n this._event = options.event || \"blur\";\r\n this._condition = options.condition || (() => true);\r\n this._selector =\r\n options.selector ||\r\n 'button, a, input, select, textarea, [tabindex]:not([tabindex=\"-1\"])';\r\n this._onlyVisible = options.onlyVisible || false;\r\n this._focusableElements = [];\r\n this._firstElement = null;\r\n this._lastElement = null;\r\n\r\n this.handler = (e) => {\r\n if (this._condition(e) && !e.shiftKey && e.target === this._lastElement) {\r\n e.preventDefault();\r\n this._firstElement.focus();\r\n } else if (\r\n this._condition(e) &&\r\n e.shiftKey &&\r\n e.target === this._firstElement\r\n ) {\r\n e.preventDefault();\r\n this._lastElement.focus();\r\n }\r\n };\r\n }\r\n\r\n trap() {\r\n this._setElements();\r\n this._init();\r\n this._setFocusTrap();\r\n }\r\n\r\n disable() {\r\n this._focusableElements.forEach((element) => {\r\n element.removeEventListener(this._event, this.handler);\r\n });\r\n\r\n if (this._toggler) {\r\n this._toggler.focus();\r\n }\r\n }\r\n\r\n update() {\r\n this._setElements();\r\n this._setFocusTrap();\r\n }\r\n\r\n _init() {\r\n const handler = (e) => {\r\n if (\r\n !this._firstElement ||\r\n e.key !== \"Tab\" ||\r\n this._focusableElements.includes(e.target)\r\n ) {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n this._firstElement.focus();\r\n\r\n window.removeEventListener(\"keydown\", handler);\r\n };\r\n\r\n window.addEventListener(\"keydown\", handler);\r\n }\r\n\r\n _filterVisible(elements) {\r\n return elements.filter((el) => {\r\n if (!isVisible(el)) return false;\r\n\r\n const ancestors = SelectorEngine.parents(el, \"*\");\r\n\r\n for (let i = 0; i < ancestors.length; i++) {\r\n const style = window.getComputedStyle(ancestors[i]);\r\n if (\r\n style &&\r\n (style.display === \"none\" || style.visibility === \"hidden\")\r\n )\r\n return false;\r\n }\r\n return true;\r\n });\r\n }\r\n\r\n _setElements() {\r\n this._focusableElements = SelectorEngine.focusableChildren(this._element);\r\n\r\n if (this._onlyVisible) {\r\n this._focusableElements = this._filterVisible(this._focusableElements);\r\n }\r\n\r\n this._firstElement = this._focusableElements[0];\r\n this._lastElement =\r\n this._focusableElements[this._focusableElements.length - 1];\r\n }\r\n\r\n _setFocusTrap() {\r\n this._focusableElements.forEach((element, i) => {\r\n if (i === this._focusableElements.length - 1 || i === 0) {\r\n element.addEventListener(this._event, this.handler);\r\n } else {\r\n element.removeEventListener(this._event, this.handler);\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default FocusTrap;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport EventHandler from \"../dom/event-handler\";\r\nimport { getElementFromSelector, isDisabled } from \"./index\";\r\nlet addedEventsList = [];\r\n\r\nconst enableDismissTrigger = (component, method = \"hide\") => {\r\n const clickEvent = `click.dismiss${component.EVENT_KEY}`;\r\n const name = component.NAME;\r\n\r\n if (addedEventsList.includes(name)) {\r\n return;\r\n }\r\n\r\n addedEventsList.push(name);\r\n\r\n EventHandler.on(\r\n document,\r\n clickEvent,\r\n `[data-te-${name}-dismiss]`,\r\n function (event) {\r\n if ([\"A\", \"AREA\"].includes(this.tagName)) {\r\n event.preventDefault();\r\n }\r\n\r\n if (isDisabled(this)) {\r\n return;\r\n }\r\n\r\n const target =\r\n getElementFromSelector(this) ||\r\n this.closest(`.${name}`) ||\r\n this.closest(`[data-te-${name}-init]`);\r\n\r\n if (!target) {\r\n return;\r\n }\r\n const instance = component.getOrCreateInstance(target);\r\n\r\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\r\n instance[method]();\r\n }\r\n );\r\n};\r\n\r\nexport { enableDismissTrigger };\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { typeCheckConfig } from \"../util/index\";\r\nimport ScrollBarHelper from \"../util/scrollbar\";\r\nimport EventHandler from \"../dom/event-handler\";\r\nimport BaseComponent from \"../base-component\";\r\nimport SelectorEngine from \"../dom/selector-engine\";\r\nimport Manipulator from \"../dom/manipulator\";\r\nimport Backdrop from \"../util/backdrop\";\r\nimport FocusTrap from \"../util/focusTrap\";\r\nimport { enableDismissTrigger } from \"../util/component-functions\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nConstants\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nconst NAME = \"offcanvas\";\r\nconst DATA_KEY = \"te.offcanvas\";\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = \".data-api\";\r\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`;\r\nconst ESCAPE_KEY = \"Escape\";\r\n\r\nconst Default = {\r\n backdrop: true,\r\n keyboard: true,\r\n scroll: false,\r\n};\r\n\r\nconst DefaultType = {\r\n backdrop: \"boolean\",\r\n keyboard: \"boolean\",\r\n scroll: \"boolean\",\r\n};\r\n\r\nconst CLASS_NAME_SHOW = \"show\";\r\nconst OPEN_SELECTOR = \"[data-te-offcanvas-init][data-te-offcanvas-show]\";\r\n\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`;\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nClass Definition\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nclass Offcanvas extends BaseComponent {\r\n constructor(element, config) {\r\n super(element);\r\n\r\n this._config = this._getConfig(config);\r\n this._isShown = false;\r\n this._backdrop = this._initializeBackDrop();\r\n this._focustrap = this._initializeFocusTrap();\r\n this._addEventListeners();\r\n this._didInit = false;\r\n this._init();\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n // Public\r\n\r\n toggle(relatedTarget) {\r\n return this._isShown ? this.hide() : this.show(relatedTarget);\r\n }\r\n\r\n show(relatedTarget) {\r\n if (this._isShown) {\r\n return;\r\n }\r\n\r\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\r\n relatedTarget,\r\n });\r\n\r\n if (showEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._isShown = true;\r\n this._element.style.visibility = \"visible\";\r\n\r\n this._backdrop.show();\r\n\r\n if (!this._config.scroll) {\r\n new ScrollBarHelper().hide();\r\n }\r\n\r\n this._element.removeAttribute(\"aria-hidden\");\r\n this._element.setAttribute(\"aria-modal\", true);\r\n this._element.setAttribute(\"role\", \"dialog\");\r\n this._element.setAttribute(`data-te-offcanvas-${CLASS_NAME_SHOW}`, \"\");\r\n\r\n const completeCallBack = () => {\r\n if (!this._config.scroll) {\r\n this._focustrap.trap();\r\n }\r\n\r\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget });\r\n };\r\n\r\n this._queueCallback(completeCallBack, this._element, true);\r\n }\r\n\r\n hide() {\r\n if (!this._isShown) {\r\n return;\r\n }\r\n\r\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);\r\n\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._focustrap.disable();\r\n this._element.blur();\r\n this._isShown = false;\r\n this._element.removeAttribute(`data-te-offcanvas-${CLASS_NAME_SHOW}`);\r\n this._backdrop.hide();\r\n\r\n const completeCallback = () => {\r\n this._element.setAttribute(\"aria-hidden\", true);\r\n this._element.removeAttribute(\"aria-modal\");\r\n this._element.removeAttribute(\"role\");\r\n this._element.style.visibility = \"hidden\";\r\n\r\n if (!this._config.scroll) {\r\n new ScrollBarHelper().reset();\r\n }\r\n\r\n EventHandler.trigger(this._element, EVENT_HIDDEN);\r\n };\r\n\r\n this._queueCallback(completeCallback, this._element, true);\r\n }\r\n\r\n dispose() {\r\n this._backdrop.dispose();\r\n this._focustrap.disable();\r\n super.dispose();\r\n }\r\n\r\n // Private\r\n _init() {\r\n if (this._didInit) {\r\n return;\r\n }\r\n\r\n EventHandler.on(window, EVENT_LOAD_DATA_API, () =>\r\n SelectorEngine.find(OPEN_SELECTOR).forEach((el) =>\r\n Offcanvas.getOrCreateInstance(el).show()\r\n )\r\n );\r\n\r\n this._didInit = true;\r\n enableDismissTrigger(Offcanvas);\r\n }\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...(typeof config === \"object\" ? config : {}),\r\n };\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _initializeBackDrop() {\r\n return new Backdrop({\r\n isVisible: this._config.backdrop,\r\n isAnimated: true,\r\n rootElement: this._element.parentNode,\r\n clickCallback: () => this.hide(),\r\n });\r\n }\r\n\r\n _initializeFocusTrap() {\r\n return new FocusTrap(this._element, {\r\n event: \"keydown\",\r\n condition: (event) => event.key === \"Tab\",\r\n });\r\n }\r\n\r\n _addEventListeners() {\r\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, (event) => {\r\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\r\n this.hide();\r\n }\r\n });\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n const data = Offcanvas.getOrCreateInstance(this, config);\r\n\r\n if (typeof config !== \"string\") {\r\n return;\r\n }\r\n\r\n if (\r\n data[config] === undefined ||\r\n config.startsWith(\"_\") ||\r\n config === \"constructor\"\r\n ) {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config](this);\r\n });\r\n }\r\n}\r\n\r\nexport default Offcanvas;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { typeCheckConfig, isVisible } from \"../util/index\";\r\nimport EventHandler from \"../dom/event-handler\";\r\nimport BaseComponent from \"../base-component\";\r\nimport Manipulator from \"../dom/manipulator\";\r\nimport { enableDismissTrigger } from \"../util/component-functions\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nConstants\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nconst NAME = \"alert\";\r\nconst DATA_KEY = \"te.alert\";\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\n\r\nconst EVENT_CLOSE = `close${EVENT_KEY}`;\r\nconst EVENT_CLOSED = `closed${EVENT_KEY}`;\r\n\r\nconst SHOW_DATA_ATTRIBUTE = \"data-te-alert-show\";\r\n\r\nconst DefaultType = {\r\n animation: \"boolean\",\r\n autohide: \"boolean\",\r\n delay: \"number\",\r\n};\r\n\r\nconst Default = {\r\n animation: true,\r\n autohide: true,\r\n delay: 1000,\r\n};\r\n\r\nconst DefaultClasses = {\r\n fadeIn:\r\n \"animate-[fade-in_0.3s_both] p-[auto] motion-reduce:transition-none motion-reduce:animate-none\",\r\n fadeOut:\r\n \"animate-[fade-out_0.3s_both] p-[auto] motion-reduce:transition-none motion-reduce:animate-none\",\r\n};\r\n\r\nconst DefaultClassesType = {\r\n fadeIn: \"string\",\r\n fadeOut: \"string\",\r\n};\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nClass Definition\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nclass Alert extends BaseComponent {\r\n constructor(element, config, classes) {\r\n super(element);\r\n this._element = element;\r\n this._config = this._getConfig(config);\r\n this._classes = this._getClasses(classes);\r\n this._didInit = false;\r\n this._init();\r\n }\r\n\r\n // Getters\r\n static get DefaultType() {\r\n return DefaultType;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n close() {\r\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE);\r\n\r\n if (closeEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n let timeout = 0;\r\n if (this._config.animation) {\r\n timeout = 300;\r\n Manipulator.addClass(this._element, this._classes.fadeOut);\r\n }\r\n this._element.removeAttribute(SHOW_DATA_ATTRIBUTE);\r\n\r\n setTimeout(() => {\r\n this._queueCallback(\r\n () => this._destroyElement(),\r\n this._element,\r\n this._config.animation\r\n );\r\n }, timeout);\r\n }\r\n\r\n show() {\r\n if (!this._element) {\r\n return;\r\n }\r\n\r\n if (this._config.autohide) {\r\n this._setupAutohide();\r\n }\r\n if (!this._element.hasAttribute(SHOW_DATA_ATTRIBUTE)) {\r\n Manipulator.removeClass(this._element, \"hidden\");\r\n Manipulator.addClass(this._element, \"block\");\r\n if (isVisible(this._element)) {\r\n const handler = (e) => {\r\n Manipulator.removeClass(this._element, \"hidden\");\r\n Manipulator.addClass(this._element, \"block\");\r\n EventHandler.off(e.target, \"animationend\", handler);\r\n };\r\n this._element.setAttribute(SHOW_DATA_ATTRIBUTE, \"\");\r\n\r\n EventHandler.on(this._element, \"animationend\", handler);\r\n }\r\n }\r\n\r\n if (this._config.animation) {\r\n Manipulator.removeClass(this._element, this._classes.fadeOut);\r\n Manipulator.addClass(this._element, this._classes.fadeIn);\r\n }\r\n }\r\n\r\n hide() {\r\n if (!this._element) {\r\n return;\r\n }\r\n if (this._element.hasAttribute(SHOW_DATA_ATTRIBUTE)) {\r\n this._element.removeAttribute(SHOW_DATA_ATTRIBUTE);\r\n const handler = (e) => {\r\n Manipulator.addClass(this._element, \"hidden\");\r\n Manipulator.removeClass(this._element, \"block\");\r\n\r\n if (this._timeout !== null) {\r\n clearTimeout(this._timeout);\r\n this._timeout = null;\r\n }\r\n\r\n EventHandler.off(e.target, \"animationend\", handler);\r\n };\r\n\r\n EventHandler.on(this._element, \"animationend\", handler);\r\n\r\n Manipulator.removeClass(this._element, this._classes.fadeIn);\r\n Manipulator.addClass(this._element, this._classes.fadeOut);\r\n }\r\n }\r\n\r\n // Private\r\n _init() {\r\n if (this._didInit) {\r\n return;\r\n }\r\n enableDismissTrigger(Alert, \"close\");\r\n this._didInit = true;\r\n }\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...(typeof config === \"object\" && config ? config : {}),\r\n };\r\n\r\n typeCheckConfig(NAME, config, this.constructor.DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n _getClasses(classes) {\r\n const dataAttributes = Manipulator.getDataClassAttributes(this._element);\r\n\r\n classes = {\r\n ...DefaultClasses,\r\n ...dataAttributes,\r\n ...classes,\r\n };\r\n\r\n typeCheckConfig(NAME, classes, DefaultClassesType);\r\n\r\n return classes;\r\n }\r\n\r\n _setupAutohide() {\r\n this._timeout = setTimeout(() => {\r\n this.hide();\r\n }, this._config.delay);\r\n }\r\n\r\n _destroyElement() {\r\n this._element.remove();\r\n EventHandler.trigger(this._element, EVENT_CLOSED);\r\n this.dispose();\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n const data = Alert.getOrCreateInstance(this);\r\n\r\n if (typeof config !== \"string\") {\r\n return;\r\n }\r\n\r\n if (\r\n data[config] === undefined ||\r\n config.startsWith(\"_\") ||\r\n config === \"constructor\"\r\n ) {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config](this);\r\n });\r\n }\r\n}\r\n\r\nexport default Alert;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport {\r\n getElementFromSelector,\r\n isRTL,\r\n isVisible,\r\n getNextActiveElement,\r\n reflow,\r\n triggerTransitionEnd,\r\n typeCheckConfig,\r\n} from \"../util/index\";\r\nimport EventHandler from \"../dom/event-handler\";\r\nimport Manipulator from \"../dom/manipulator\";\r\nimport SelectorEngine from \"../dom/selector-engine\";\r\nimport BaseComponent from \"../base-component\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nConstants\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nconst NAME = \"carousel\";\r\nconst DATA_KEY = \"te.carousel\";\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = \".data-api\";\r\n\r\nconst ARROW_LEFT_KEY = \"ArrowLeft\";\r\nconst ARROW_RIGHT_KEY = \"ArrowRight\";\r\nconst TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\r\nconst SWIPE_THRESHOLD = 40;\r\n\r\nconst Default = {\r\n interval: 5000,\r\n keyboard: true,\r\n ride: false,\r\n pause: \"hover\",\r\n wrap: true,\r\n touch: true,\r\n};\r\n\r\nconst DefaultType = {\r\n interval: \"(number|boolean)\",\r\n keyboard: \"boolean\",\r\n ride: \"(boolean|string)\",\r\n pause: \"(string|boolean)\",\r\n wrap: \"boolean\",\r\n touch: \"boolean\",\r\n};\r\n\r\nconst DefaultClasses = {\r\n pointer: \"touch-pan-y\",\r\n block: \"!block\",\r\n visible: \"data-[te-carousel-fade]:opacity-100 data-[te-carousel-fade]:z-[1]\",\r\n invisible:\r\n \"data-[te-carousel-fade]:z-0 data-[te-carousel-fade]:opacity-0 data-[te-carousel-fade]:duration-[600ms] data-[te-carousel-fade]:delay-600\",\r\n slideRight: \"translate-x-full\",\r\n slideLeft: \"-translate-x-full\",\r\n};\r\n\r\nconst DefaultClassesType = {\r\n pointer: \"string\",\r\n block: \"string\",\r\n visible: \"string\",\r\n invisible: \"string\",\r\n slideRight: \"string\",\r\n slideLeft: \"string\",\r\n};\r\n\r\nconst ORDER_NEXT = \"next\";\r\nconst ORDER_PREV = \"prev\";\r\nconst DIRECTION_LEFT = \"left\";\r\nconst DIRECTION_RIGHT = \"right\";\r\n\r\nconst KEY_TO_DIRECTION = {\r\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\r\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT,\r\n};\r\n\r\nconst EVENT_SLIDE = `slide${EVENT_KEY}`;\r\nconst EVENT_SLID = `slid${EVENT_KEY}`;\r\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`;\r\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`;\r\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`;\r\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`;\r\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`;\r\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`;\r\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`;\r\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`;\r\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`;\r\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst ATTR_CAROUSEL = \"data-te-carousel-init\";\r\nconst ATTR_ACTIVE = \"data-te-carousel-active\";\r\nconst ATTR_END = \"data-te-carousel-item-end\";\r\nconst ATTR_START = \"data-te-carousel-item-start\";\r\nconst ATTR_NEXT = \"data-te-carousel-item-next\";\r\nconst ATTR_PREV = \"data-te-carousel-item-prev\";\r\nconst ATTR_POINTER_EVENT = \"data-te-carousel-pointer-event\";\r\n\r\nconst SELECTOR_DATA_CAROUSEL_INIT = \"[data-te-carousel-init]\";\r\nconst SELECTOR_DATA_ACTIVE = \"[data-te-carousel-active]\";\r\nconst SELECTOR_DATA_ITEM = \"[data-te-carousel-item]\";\r\nconst SELECTOR_DATA_ACTIVE_ITEM = `${SELECTOR_DATA_ACTIVE}${SELECTOR_DATA_ITEM}`;\r\nconst SELECTOR_DATA_ITEM_IMG = `${SELECTOR_DATA_ITEM} img`;\r\nconst SELECTOR_DATA_NEXT_PREV =\r\n \"[data-te-carousel-item-next], [data-te-carousel-item-prev]\";\r\nconst SELECTOR_DATA_INDICATORS = \"[data-te-carousel-indicators]\";\r\nconst SELECTOR_INDICATOR = \"[data-te-target]\";\r\nconst SELECTOR_DATA_SLIDE = \"[data-te-slide], [data-te-slide-to]\";\r\n\r\nconst POINTER_TYPE_TOUCH = \"touch\";\r\nconst POINTER_TYPE_PEN = \"pen\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nClass Definition\r\n------------------------------------------------------------------------\r\n*/\r\nclass Carousel extends BaseComponent {\r\n constructor(element, config, classes) {\r\n super(element);\r\n\r\n this._items = null;\r\n this._interval = null;\r\n this._activeElement = null;\r\n this._isPaused = false;\r\n this._isSliding = false;\r\n this.touchTimeout = null;\r\n this.touchStartX = 0;\r\n this.touchDeltaX = 0;\r\n\r\n this._config = this._getConfig(config);\r\n this._classes = this._getClasses(classes);\r\n this._indicatorsElement = SelectorEngine.findOne(\r\n SELECTOR_DATA_INDICATORS,\r\n this._element\r\n );\r\n this._touchSupported =\r\n \"ontouchstart\" in document.documentElement ||\r\n navigator.maxTouchPoints > 0;\r\n this._pointerEvent = Boolean(window.PointerEvent);\r\n\r\n this._setActiveElementClass();\r\n this._addEventListeners();\r\n this._didInit = false;\r\n this._init();\r\n if (this._config.ride === \"carousel\") {\r\n this.cycle();\r\n }\r\n }\r\n\r\n // Getters\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n next() {\r\n this._slide(ORDER_NEXT);\r\n }\r\n\r\n nextWhenVisible() {\r\n // Don't call next when the page isn't visible\r\n // or the carousel or its parent isn't visible\r\n if (!document.hidden && isVisible(this._element)) {\r\n this.next();\r\n }\r\n }\r\n\r\n prev() {\r\n this._slide(ORDER_PREV);\r\n }\r\n\r\n pause(event) {\r\n if (!event) {\r\n this._isPaused = true;\r\n }\r\n\r\n if (SelectorEngine.findOne(SELECTOR_DATA_NEXT_PREV, this._element)) {\r\n triggerTransitionEnd(this._element);\r\n this.cycle(true);\r\n }\r\n\r\n clearInterval(this._interval);\r\n this._interval = null;\r\n }\r\n\r\n cycle(event) {\r\n if (!event) {\r\n this._isPaused = false;\r\n }\r\n\r\n if (this._interval) {\r\n clearInterval(this._interval);\r\n this._interval = null;\r\n }\r\n\r\n if (this._config && this._config.interval && !this._isPaused) {\r\n this._updateInterval();\r\n\r\n this._interval = setInterval(\r\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(\r\n this\r\n ),\r\n this._config.interval\r\n );\r\n }\r\n }\r\n\r\n to(index) {\r\n this._activeElement = SelectorEngine.findOne(\r\n SELECTOR_DATA_ACTIVE_ITEM,\r\n this._element\r\n );\r\n const activeIndex = this._getItemIndex(this._activeElement);\r\n\r\n if (index > this._items.length - 1 || index < 0) {\r\n return;\r\n }\r\n\r\n if (this._isSliding) {\r\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index));\r\n return;\r\n }\r\n\r\n if (activeIndex === index) {\r\n this.pause();\r\n this.cycle();\r\n return;\r\n }\r\n\r\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV;\r\n\r\n this._slide(order, this._items[index]);\r\n }\r\n\r\n // Private\r\n _init() {\r\n if (this._didInit) {\r\n return;\r\n }\r\n EventHandler.on(\r\n document,\r\n EVENT_CLICK_DATA_API,\r\n SELECTOR_DATA_SLIDE,\r\n Carousel.dataApiClickHandler\r\n );\r\n\r\n EventHandler.on(window, EVENT_LOAD_DATA_API, () => {\r\n const carousels = SelectorEngine.find(SELECTOR_DATA_CAROUSEL_INIT);\r\n\r\n for (let i = 0, len = carousels.length; i < len; i++) {\r\n Carousel.carouselInterface(\r\n carousels[i],\r\n Carousel.getInstance(carousels[i])\r\n );\r\n }\r\n });\r\n\r\n this._didInit = true;\r\n }\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...(typeof config === \"object\" ? config : {}),\r\n };\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _getClasses(classes) {\r\n const dataAttributes = Manipulator.getDataClassAttributes(this._element);\r\n\r\n classes = {\r\n ...DefaultClasses,\r\n ...dataAttributes,\r\n ...classes,\r\n };\r\n\r\n typeCheckConfig(NAME, classes, DefaultClassesType);\r\n\r\n return classes;\r\n }\r\n\r\n _enableCycle() {\r\n if (!this._config.ride) {\r\n return;\r\n }\r\n\r\n if (this._isSliding) {\r\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle());\r\n return;\r\n }\r\n\r\n this.cycle();\r\n }\r\n\r\n _applyInitialClasses() {\r\n const activeElement = SelectorEngine.findOne(\r\n SELECTOR_DATA_ACTIVE_ITEM,\r\n this._element\r\n );\r\n activeElement.classList.add(\r\n this._classes.block,\r\n ...this._classes.visible.split(\" \")\r\n );\r\n\r\n this._setActiveIndicatorElement(activeElement);\r\n }\r\n\r\n _handleSwipe() {\r\n const absDeltax = Math.abs(this.touchDeltaX);\r\n\r\n if (absDeltax <= SWIPE_THRESHOLD) {\r\n return;\r\n }\r\n\r\n const direction = absDeltax / this.touchDeltaX;\r\n\r\n this.touchDeltaX = 0;\r\n\r\n if (!direction) {\r\n return;\r\n }\r\n\r\n this._slide(direction > 0 ? DIRECTION_RIGHT : DIRECTION_LEFT);\r\n }\r\n\r\n _setActiveElementClass() {\r\n this._activeElement = SelectorEngine.findOne(\r\n SELECTOR_DATA_ACTIVE_ITEM,\r\n this._element\r\n );\r\n Manipulator.addClass(this._activeElement, \"hidden\");\r\n }\r\n\r\n _addEventListeners() {\r\n if (this._config.keyboard) {\r\n EventHandler.on(this._element, EVENT_KEYDOWN, (event) =>\r\n this._keydown(event)\r\n );\r\n }\r\n\r\n if (this._config.pause === \"hover\") {\r\n EventHandler.on(this._element, EVENT_MOUSEENTER, (event) =>\r\n this.pause(event)\r\n );\r\n EventHandler.on(this._element, EVENT_MOUSELEAVE, (event) =>\r\n this._enableCycle(event)\r\n );\r\n }\r\n\r\n if (this._config.touch && this._touchSupported) {\r\n this._addTouchEventListeners();\r\n }\r\n\r\n this._applyInitialClasses();\r\n }\r\n\r\n _addTouchEventListeners() {\r\n const hasPointerPenTouch = (event) => {\r\n return (\r\n this._pointerEvent &&\r\n (event.pointerType === POINTER_TYPE_PEN ||\r\n event.pointerType === POINTER_TYPE_TOUCH)\r\n );\r\n };\r\n\r\n const start = (event) => {\r\n if (hasPointerPenTouch(event)) {\r\n this.touchStartX = event.clientX;\r\n } else if (!this._pointerEvent) {\r\n this.touchStartX = event.touches[0].clientX;\r\n }\r\n };\r\n\r\n const move = (event) => {\r\n // ensure swiping with one touch and not pinching\r\n this.touchDeltaX =\r\n event.touches && event.touches.length > 1\r\n ? 0\r\n : event.touches[0].clientX - this.touchStartX;\r\n };\r\n\r\n const end = (event) => {\r\n if (hasPointerPenTouch(event)) {\r\n this.touchDeltaX = event.clientX - this.touchStartX;\r\n }\r\n\r\n this._handleSwipe();\r\n if (this._config.pause === \"hover\") {\r\n // If it's a touch-enabled device, mouseenter/leave are fired as\r\n // part of the mouse compatibility events on first tap - the carousel\r\n // would stop cycling until user tapped out of it;\r\n // here, we listen for touchend, explicitly pause the carousel\r\n // (as if it's the second time we tap on it, mouseenter compat event\r\n // is NOT fired) and after a timeout (to allow for mouse compatibility\r\n // events to fire) we explicitly restart cycling\r\n\r\n this.pause();\r\n if (this.touchTimeout) {\r\n clearTimeout(this.touchTimeout);\r\n }\r\n\r\n this.touchTimeout = setTimeout(\r\n (event) => this._enableCycle(event),\r\n TOUCHEVENT_COMPAT_WAIT + this._config.interval\r\n );\r\n }\r\n };\r\n\r\n SelectorEngine.find(SELECTOR_DATA_ITEM_IMG, this._element).forEach(\r\n (itemImg) => {\r\n EventHandler.on(itemImg, EVENT_DRAG_START, (event) =>\r\n event.preventDefault()\r\n );\r\n }\r\n );\r\n\r\n if (this._pointerEvent) {\r\n EventHandler.on(this._element, EVENT_POINTERDOWN, (event) =>\r\n start(event)\r\n );\r\n EventHandler.on(this._element, EVENT_POINTERUP, (event) => end(event));\r\n\r\n this._element.classList.add(this._classes.pointer);\r\n this._element.setAttribute(`${ATTR_POINTER_EVENT}`, \"\");\r\n } else {\r\n EventHandler.on(this._element, EVENT_TOUCHSTART, (event) => start(event));\r\n EventHandler.on(this._element, EVENT_TOUCHMOVE, (event) => move(event));\r\n EventHandler.on(this._element, EVENT_TOUCHEND, (event) => end(event));\r\n }\r\n }\r\n\r\n _keydown(event) {\r\n if (/input|textarea/i.test(event.target.tagName)) {\r\n return;\r\n }\r\n\r\n const direction = KEY_TO_DIRECTION[event.key];\r\n if (direction) {\r\n event.preventDefault();\r\n this._slide(direction);\r\n }\r\n }\r\n\r\n _getItemIndex(element) {\r\n this._items =\r\n element && element.parentNode\r\n ? SelectorEngine.find(SELECTOR_DATA_ITEM, element.parentNode)\r\n : [];\r\n\r\n return this._items.indexOf(element);\r\n }\r\n\r\n _getItemByOrder(order, activeElement) {\r\n const isNext = order === ORDER_NEXT;\r\n return getNextActiveElement(\r\n this._items,\r\n activeElement,\r\n isNext,\r\n this._config.wrap\r\n );\r\n }\r\n\r\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\r\n const targetIndex = this._getItemIndex(relatedTarget);\r\n const fromIndex = this._getItemIndex(\r\n SelectorEngine.findOne(SELECTOR_DATA_ACTIVE_ITEM, this._element)\r\n );\r\n\r\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\r\n relatedTarget,\r\n direction: eventDirectionName,\r\n from: fromIndex,\r\n to: targetIndex,\r\n });\r\n }\r\n\r\n _setActiveIndicatorElement(element) {\r\n if (this._indicatorsElement) {\r\n const activeIndicator = SelectorEngine.findOne(\r\n SELECTOR_DATA_ACTIVE,\r\n this._indicatorsElement\r\n );\r\n\r\n activeIndicator.removeAttribute(ATTR_ACTIVE);\r\n activeIndicator.removeAttribute(\"aria-current\");\r\n activeIndicator.classList.remove(\"!opacity-100\");\r\n\r\n const indicators = SelectorEngine.find(\r\n SELECTOR_INDICATOR,\r\n this._indicatorsElement\r\n );\r\n\r\n for (let i = 0; i < indicators.length; i++) {\r\n if (\r\n Number.parseInt(\r\n indicators[i].getAttribute(\"data-te-slide-to\"),\r\n 10\r\n ) === this._getItemIndex(element)\r\n ) {\r\n indicators[i].setAttribute(`${ATTR_ACTIVE}`, \"\");\r\n indicators[i].setAttribute(\"aria-current\", \"true\");\r\n indicators[i].classList.add(\"!opacity-100\");\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n _updateInterval() {\r\n const element =\r\n this._activeElement ||\r\n SelectorEngine.findOne(SELECTOR_DATA_ACTIVE_ITEM, this._element);\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n const elementInterval = Number.parseInt(\r\n element.getAttribute(\"data-te-interval\"),\r\n 10\r\n );\r\n\r\n if (elementInterval) {\r\n this._config.defaultInterval =\r\n this._config.defaultInterval || this._config.interval;\r\n this._config.interval = elementInterval;\r\n } else {\r\n this._config.interval =\r\n this._config.defaultInterval || this._config.interval;\r\n }\r\n }\r\n\r\n _slide(directionOrOrder, element) {\r\n const order = this._directionToOrder(directionOrOrder);\r\n\r\n const activeElement = SelectorEngine.findOne(\r\n SELECTOR_DATA_ACTIVE_ITEM,\r\n this._element\r\n );\r\n const activeElementIndex = this._getItemIndex(activeElement);\r\n\r\n const nextElement = element || this._getItemByOrder(order, activeElement);\r\n const nextElementIndex = this._getItemIndex(nextElement);\r\n\r\n const isCycling = Boolean(this._interval);\r\n\r\n const isNext = order === ORDER_NEXT;\r\n const directionalAttr = isNext ? ATTR_START : ATTR_END;\r\n const orderAttr = isNext ? ATTR_NEXT : ATTR_PREV;\r\n const eventDirectionName = this._orderToDirection(order);\r\n\r\n const activeClass =\r\n directionalAttr === ATTR_START\r\n ? this._classes.slideLeft\r\n : this._classes.slideRight;\r\n const nextClass =\r\n directionalAttr !== ATTR_START\r\n ? this._classes.slideLeft\r\n : this._classes.slideRight;\r\n\r\n if (nextElement && nextElement.hasAttribute(ATTR_ACTIVE)) {\r\n this._isSliding = false;\r\n return;\r\n }\r\n\r\n if (this._isSliding) {\r\n return;\r\n }\r\n\r\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);\r\n if (slideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n if (!activeElement || !nextElement) {\r\n // Some weirdness is happening, so we bail\r\n return;\r\n }\r\n\r\n this._isSliding = true;\r\n\r\n if (isCycling) {\r\n this.pause();\r\n }\r\n\r\n this._setActiveIndicatorElement(nextElement);\r\n this._activeElement = nextElement;\r\n\r\n const triggerSlidEvent = () => {\r\n EventHandler.trigger(this._element, EVENT_SLID, {\r\n relatedTarget: nextElement,\r\n direction: eventDirectionName,\r\n from: activeElementIndex,\r\n to: nextElementIndex,\r\n });\r\n };\r\n\r\n if (this._element.hasAttribute(ATTR_CAROUSEL)) {\r\n nextElement.setAttribute(`${orderAttr}`, \"\");\r\n nextElement.classList.add(this._classes.block, nextClass);\r\n\r\n reflow(nextElement);\r\n\r\n activeElement.setAttribute(`${directionalAttr}`, \"\");\r\n activeElement.classList.add(\r\n activeClass,\r\n ...this._classes.invisible.split(\" \")\r\n );\r\n activeElement.classList.remove(...this._classes.visible.split(\" \"));\r\n\r\n nextElement.setAttribute(`${directionalAttr}`, \"\");\r\n nextElement.classList.add(...this._classes.visible.split(\" \"));\r\n nextElement.classList.remove(\r\n this._classes.slideRight,\r\n this._classes.slideLeft\r\n );\r\n\r\n const completeCallBack = () => {\r\n nextElement.removeAttribute(directionalAttr);\r\n nextElement.removeAttribute(orderAttr);\r\n nextElement.setAttribute(`${ATTR_ACTIVE}`, \"\");\r\n\r\n activeElement.removeAttribute(ATTR_ACTIVE);\r\n activeElement.classList.remove(\r\n activeClass,\r\n ...this._classes.invisible.split(\" \"),\r\n this._classes.block\r\n );\r\n activeElement.removeAttribute(orderAttr);\r\n activeElement.removeAttribute(directionalAttr);\r\n\r\n this._isSliding = false;\r\n\r\n setTimeout(triggerSlidEvent, 0);\r\n };\r\n\r\n this._queueCallback(completeCallBack, activeElement, true);\r\n } else {\r\n activeElement.removeAttribute(ATTR_ACTIVE);\r\n activeElement.classList.remove(this._classes.block);\r\n\r\n nextElement.setAttribute(`${ATTR_ACTIVE}`, \"\");\r\n nextElement.classList.add(this._classes.block);\r\n\r\n this._isSliding = false;\r\n triggerSlidEvent();\r\n }\r\n\r\n if (isCycling) {\r\n this.cycle();\r\n }\r\n }\r\n\r\n _directionToOrder(direction) {\r\n if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) {\r\n return direction;\r\n }\r\n\r\n if (isRTL()) {\r\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT;\r\n }\r\n\r\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV;\r\n }\r\n\r\n _orderToDirection(order) {\r\n if (![ORDER_NEXT, ORDER_PREV].includes(order)) {\r\n return order;\r\n }\r\n\r\n if (isRTL()) {\r\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT;\r\n }\r\n\r\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT;\r\n }\r\n\r\n // Static\r\n\r\n static carouselInterface(element, config) {\r\n const data = Carousel.getOrCreateInstance(element, config);\r\n\r\n let { _config } = data;\r\n if (typeof config === \"object\") {\r\n _config = {\r\n ..._config,\r\n ...config,\r\n };\r\n }\r\n const action = typeof config === \"string\" ? config : config.slide;\r\n\r\n if (typeof config === \"number\") {\r\n data.to(config);\r\n return;\r\n }\r\n if (typeof action === \"string\") {\r\n if (typeof data[action] === \"undefined\") {\r\n throw new TypeError(`No method named \"${action}\"`);\r\n }\r\n\r\n data[action]();\r\n } else if (_config.interval && _config.ride === true) {\r\n data.pause();\r\n }\r\n }\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n Carousel.carouselInterface(this, config);\r\n });\r\n }\r\n\r\n static dataApiClickHandler(event) {\r\n const target = getElementFromSelector(this);\r\n\r\n if (!target || !target.hasAttribute(ATTR_CAROUSEL)) {\r\n return;\r\n }\r\n\r\n const config = {\r\n ...Manipulator.getDataAttributes(target),\r\n ...Manipulator.getDataAttributes(this),\r\n };\r\n const slideIndex = this.getAttribute(\"data-te-slide-to\");\r\n\r\n if (slideIndex) {\r\n config.interval = false;\r\n }\r\n\r\n Carousel.carouselInterface(target, config);\r\n\r\n if (slideIndex) {\r\n Carousel.getInstance(target).to(slideIndex);\r\n }\r\n\r\n event.preventDefault();\r\n }\r\n}\r\n\r\nexport default Carousel;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { isRTL, reflow, typeCheckConfig } from \"../util/index\";\r\nimport EventHandler from \"../dom/event-handler\";\r\nimport Manipulator from \"../dom/manipulator\";\r\nimport SelectorEngine from \"../dom/selector-engine\";\r\nimport ScrollBarHelper from \"../util/scrollbar\";\r\nimport BaseComponent from \"../base-component\";\r\nimport Backdrop from \"../util/backdrop\";\r\nimport FocusTrap from \"../util/focusTrap\";\r\n\r\nimport { enableDismissTrigger } from \"../util/component-functions\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nConstants\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nconst NAME = \"modal\";\r\nconst DATA_KEY = \"te.modal\";\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst ESCAPE_KEY = \"Escape\";\r\n\r\nconst Default = {\r\n backdrop: true,\r\n keyboard: true,\r\n focus: true,\r\n modalNonInvasive: false,\r\n};\r\n\r\nconst DefaultType = {\r\n backdrop: \"(boolean|string)\",\r\n keyboard: \"boolean\",\r\n focus: \"boolean\",\r\n modalNonInvasive: \"boolean\",\r\n};\r\n\r\nconst DefaultClasses = {\r\n show: \"transform-none\",\r\n static: \"scale-[1.02]\",\r\n staticProperties: \"transition-scale duration-300 ease-in-out\",\r\n};\r\n\r\nconst DefaultClassesType = {\r\n show: \"string\",\r\n static: \"string\",\r\n staticProperties: \"string\",\r\n};\r\n\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\nconst EVENT_RESIZE = `resize${EVENT_KEY}`;\r\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`;\r\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`;\r\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`;\r\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`;\r\n\r\nconst OPEN_SELECTOR_BODY = \"data-te-modal-open\";\r\nconst OPEN_SELECTOR = \"data-te-open\";\r\nconst SELECTOR_DIALOG = \"[data-te-modal-dialog-ref]\";\r\nconst SELECTOR_MODAL_BODY = \"[data-te-modal-body-ref]\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nClass Definition\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nclass Modal extends BaseComponent {\r\n constructor(element, config, classes) {\r\n super(element);\r\n\r\n this._config = this._getConfig(config);\r\n this._classes = this._getClasses(classes);\r\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element);\r\n this._backdrop = this._config.modalNonInvasive\r\n ? null\r\n : this._initializeBackDrop();\r\n this._focustrap = this._initializeFocusTrap();\r\n this._isShown = false;\r\n this._ignoreBackdropClick = false;\r\n this._isTransitioning = false;\r\n this._scrollBar = new ScrollBarHelper();\r\n this._didInit = false;\r\n this._init();\r\n }\r\n\r\n // Getters\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n toggle(relatedTarget) {\r\n return this._isShown ? this.hide() : this.show(relatedTarget);\r\n }\r\n\r\n show(relatedTarget) {\r\n if (this._isShown || this._isTransitioning) {\r\n return;\r\n }\r\n\r\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\r\n relatedTarget,\r\n });\r\n\r\n if (showEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._isShown = true;\r\n\r\n if (this._isAnimated()) {\r\n this._isTransitioning = true;\r\n }\r\n\r\n !this._config.modalNonInvasive && this._scrollBar.hide();\r\n\r\n document.body.setAttribute(OPEN_SELECTOR_BODY, \"true\");\r\n\r\n this._adjustDialog();\r\n\r\n this._setEscapeEvent();\r\n this._setResizeEvent();\r\n\r\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\r\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, (event) => {\r\n if (event.target === this._element) {\r\n this._ignoreBackdropClick = true;\r\n }\r\n });\r\n });\r\n this._showElement(relatedTarget);\r\n !this._config.modalNonInvasive && this._showBackdrop();\r\n }\r\n\r\n hide() {\r\n if (!this._isShown || this._isTransitioning) {\r\n return;\r\n }\r\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);\r\n\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._isShown = false;\r\n const isAnimated = this._isAnimated();\r\n\r\n if (isAnimated) {\r\n this._isTransitioning = true;\r\n }\r\n\r\n this._setEscapeEvent();\r\n this._setResizeEvent();\r\n\r\n this._focustrap.disable();\r\n\r\n const modalDialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element);\r\n modalDialog.classList.remove(this._classes.show);\r\n\r\n EventHandler.off(this._element, EVENT_CLICK_DISMISS);\r\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS);\r\n\r\n this._queueCallback(() => this._hideModal(), this._element, isAnimated);\r\n this._element.removeAttribute(OPEN_SELECTOR);\r\n }\r\n\r\n dispose() {\r\n [window, this._dialog].forEach((htmlElement) =>\r\n EventHandler.off(htmlElement, EVENT_KEY)\r\n );\r\n\r\n this._backdrop && this._backdrop.dispose();\r\n this._focustrap.disable();\r\n super.dispose();\r\n }\r\n\r\n handleUpdate() {\r\n this._adjustDialog();\r\n }\r\n\r\n // Private\r\n\r\n _init() {\r\n if (this._didInit) {\r\n return;\r\n }\r\n\r\n enableDismissTrigger(Modal);\r\n\r\n this._didInit = true;\r\n }\r\n\r\n _initializeBackDrop() {\r\n return new Backdrop({\r\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value\r\n isAnimated: this._isAnimated(),\r\n });\r\n }\r\n\r\n _initializeFocusTrap() {\r\n return new FocusTrap(this._element, {\r\n event: \"keydown\",\r\n condition: (event) => event.key === \"Tab\",\r\n });\r\n }\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...(typeof config === \"object\" ? config : {}),\r\n };\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _getClasses(classes) {\r\n const dataAttributes = Manipulator.getDataClassAttributes(this._element);\r\n\r\n classes = {\r\n ...DefaultClasses,\r\n ...dataAttributes,\r\n ...classes,\r\n };\r\n\r\n typeCheckConfig(NAME, classes, DefaultClassesType);\r\n\r\n return classes;\r\n }\r\n\r\n _showElement(relatedTarget) {\r\n const isAnimated = this._isAnimated();\r\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);\r\n\r\n if (\r\n !this._element.parentNode ||\r\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE\r\n ) {\r\n // Don't move modal's DOM position\r\n document.body.append(this._element);\r\n }\r\n\r\n this._element.style.display = \"block\";\r\n this._element.classList.remove(\"hidden\");\r\n this._element.removeAttribute(\"aria-hidden\");\r\n this._element.setAttribute(\"aria-modal\", true);\r\n this._element.setAttribute(\"role\", \"dialog\");\r\n this._element.setAttribute(`${OPEN_SELECTOR}`, \"true\");\r\n this._element.scrollTop = 0;\r\n\r\n const modalDialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element);\r\n\r\n modalDialog.classList.add(this._classes.show);\r\n modalDialog.classList.remove(\"opacity-0\");\r\n modalDialog.classList.add(\"opacity-100\");\r\n\r\n if (modalBody) {\r\n modalBody.scrollTop = 0;\r\n }\r\n\r\n if (isAnimated) {\r\n reflow(this._element);\r\n }\r\n\r\n const transitionComplete = () => {\r\n if (this._config.focus) {\r\n this._focustrap.trap();\r\n }\r\n\r\n this._isTransitioning = false;\r\n EventHandler.trigger(this._element, EVENT_SHOWN, {\r\n relatedTarget,\r\n });\r\n };\r\n\r\n this._queueCallback(transitionComplete, this._dialog, isAnimated);\r\n }\r\n\r\n _setEscapeEvent() {\r\n if (this._isShown) {\r\n EventHandler.on(document, EVENT_KEYDOWN_DISMISS, (event) => {\r\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\r\n event.preventDefault();\r\n this.hide();\r\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\r\n this._triggerBackdropTransition();\r\n }\r\n });\r\n } else {\r\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS);\r\n }\r\n }\r\n\r\n _setResizeEvent() {\r\n if (this._isShown) {\r\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog());\r\n } else {\r\n EventHandler.off(window, EVENT_RESIZE);\r\n }\r\n }\r\n\r\n _hideModal() {\r\n const modalDialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element);\r\n modalDialog.classList.remove(this._classes.show);\r\n modalDialog.classList.remove(\"opacity-100\");\r\n modalDialog.classList.add(\"opacity-0\");\r\n\r\n setTimeout(() => {\r\n this._element.style.display = \"none\";\r\n }, 300);\r\n\r\n this._element.setAttribute(\"aria-hidden\", true);\r\n this._element.removeAttribute(\"aria-modal\");\r\n this._element.removeAttribute(\"role\");\r\n this._isTransitioning = false;\r\n this._backdrop &&\r\n this._backdrop.hide(() => {\r\n document.body.removeAttribute(OPEN_SELECTOR_BODY);\r\n this._resetAdjustments();\r\n !this._config.modalNonInvasive && this._scrollBar.reset();\r\n EventHandler.trigger(this._element, EVENT_HIDDEN);\r\n });\r\n }\r\n\r\n _showBackdrop(callback) {\r\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, (event) => {\r\n if (this._ignoreBackdropClick) {\r\n this._ignoreBackdropClick = false;\r\n return;\r\n }\r\n\r\n if (event.target !== event.currentTarget) {\r\n return;\r\n }\r\n\r\n if (this._config.backdrop === true) {\r\n this.hide();\r\n } else if (this._config.backdrop === \"static\") {\r\n this._triggerBackdropTransition();\r\n }\r\n });\r\n\r\n this._backdrop && this._backdrop.show(callback);\r\n }\r\n\r\n _isAnimated() {\r\n const animate = SelectorEngine.findOne(SELECTOR_DIALOG, this._element);\r\n return !!animate;\r\n }\r\n\r\n _triggerBackdropTransition() {\r\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n const { classList, scrollHeight, style } = this._element;\r\n const isModalOverflowing =\r\n scrollHeight > document.documentElement.clientHeight;\r\n\r\n // return if the following background transition hasn't yet completed\r\n if (\r\n (!isModalOverflowing && style.overflowY === \"hidden\") ||\r\n classList.contains(this._classes.static)\r\n ) {\r\n return;\r\n }\r\n\r\n if (!isModalOverflowing) {\r\n style.overflowY = \"hidden\";\r\n }\r\n\r\n classList.add(...this._classes.static.split(\" \"));\r\n classList.add(...this._classes.staticProperties.split(\" \"));\r\n\r\n this._queueCallback(() => {\r\n classList.remove(this._classes.static);\r\n\r\n setTimeout(() => {\r\n classList.remove(...this._classes.staticProperties.split(\" \"));\r\n }, 300);\r\n\r\n if (!isModalOverflowing) {\r\n this._queueCallback(() => {\r\n style.overflowY = \"\";\r\n }, this._dialog);\r\n }\r\n }, this._dialog);\r\n\r\n this._element.focus();\r\n }\r\n\r\n // ----------------------------------------------------------------------\r\n // the following methods are used to handle overflowing modals\r\n // ----------------------------------------------------------------------\r\n\r\n _adjustDialog() {\r\n const isModalOverflowing =\r\n this._element.scrollHeight > document.documentElement.clientHeight;\r\n const scrollbarWidth = this._scrollBar.getWidth();\r\n const isBodyOverflowing = scrollbarWidth > 0;\r\n\r\n if (\r\n (!isBodyOverflowing && isModalOverflowing && !isRTL()) ||\r\n (isBodyOverflowing && !isModalOverflowing && isRTL())\r\n ) {\r\n this._element.style.paddingLeft = `${scrollbarWidth}px`;\r\n }\r\n\r\n if (\r\n (isBodyOverflowing && !isModalOverflowing && !isRTL()) ||\r\n (!isBodyOverflowing && isModalOverflowing && isRTL())\r\n ) {\r\n this._element.style.paddingRight = `${scrollbarWidth}px`;\r\n }\r\n }\r\n\r\n _resetAdjustments() {\r\n this._element.style.paddingLeft = \"\";\r\n this._element.style.paddingRight = \"\";\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config, relatedTarget) {\r\n return this.each(function () {\r\n const data = Modal.getOrCreateInstance(this, config);\r\n\r\n if (typeof config !== \"string\") {\r\n return;\r\n }\r\n\r\n if (typeof data[config] === \"undefined\") {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config](relatedTarget);\r\n });\r\n }\r\n}\r\n\r\nexport default Modal;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nconst uriAttributes = new Set([\r\n \"background\",\r\n \"cite\",\r\n \"href\",\r\n \"itemtype\",\r\n \"longdesc\",\r\n \"poster\",\r\n \"src\",\r\n \"xlink:href\",\r\n]);\r\n\r\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\r\n\r\n/**\r\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\r\n *\r\n * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\r\n */\r\nconst SAFE_URL_PATTERN =\r\n /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;\r\n\r\n/**\r\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\r\n *\r\n * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\r\n */\r\nconst DATA_URL_PATTERN =\r\n /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i;\r\n\r\nconst allowedAttribute = (attribute, allowedAttributeList) => {\r\n const attributeName = attribute.nodeName.toLowerCase();\r\n\r\n if (allowedAttributeList.includes(attributeName)) {\r\n if (uriAttributes.has(attributeName)) {\r\n return Boolean(\r\n SAFE_URL_PATTERN.test(attribute.nodeValue) ||\r\n DATA_URL_PATTERN.test(attribute.nodeValue)\r\n );\r\n }\r\n\r\n return true;\r\n }\r\n\r\n const regExp = allowedAttributeList.filter(\r\n (attributeRegex) => attributeRegex instanceof RegExp\r\n );\r\n\r\n // Check if a regular expression validates the attribute.\r\n for (let i = 0, len = regExp.length; i < len; i++) {\r\n if (regExp[i].test(attributeName)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n};\r\n\r\nexport const DefaultAllowlist = {\r\n // Global attributes allowed on any supplied element below.\r\n \"*\": [\"class\", \"dir\", \"id\", \"lang\", \"role\", ARIA_ATTRIBUTE_PATTERN],\r\n a: [\"target\", \"href\", \"title\", \"rel\"],\r\n area: [],\r\n b: [],\r\n br: [],\r\n col: [],\r\n code: [],\r\n div: [],\r\n em: [],\r\n hr: [],\r\n h1: [],\r\n h2: [],\r\n h3: [],\r\n h4: [],\r\n h5: [],\r\n h6: [],\r\n i: [],\r\n img: [\"src\", \"srcset\", \"alt\", \"title\", \"width\", \"height\"],\r\n li: [],\r\n ol: [],\r\n p: [],\r\n pre: [],\r\n s: [],\r\n small: [],\r\n span: [],\r\n sub: [],\r\n sup: [],\r\n strong: [],\r\n u: [],\r\n ul: [],\r\n};\r\n\r\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\r\n if (!unsafeHtml.length) {\r\n return unsafeHtml;\r\n }\r\n\r\n if (sanitizeFn && typeof sanitizeFn === \"function\") {\r\n return sanitizeFn(unsafeHtml);\r\n }\r\n\r\n const domParser = new window.DOMParser();\r\n const createdDocument = domParser.parseFromString(unsafeHtml, \"text/html\");\r\n const elements = [].concat(...createdDocument.body.querySelectorAll(\"*\"));\r\n\r\n for (let i = 0, len = elements.length; i < len; i++) {\r\n const element = elements[i];\r\n const elementName = element.nodeName.toLowerCase();\r\n\r\n if (!Object.keys(allowList).includes(elementName)) {\r\n element.remove();\r\n\r\n continue;\r\n }\r\n\r\n const attributeList = [].concat(...element.attributes);\r\n const allowedAttributes = [].concat(\r\n allowList[\"*\"] || [],\r\n allowList[elementName] || []\r\n );\r\n\r\n attributeList.forEach((attribute) => {\r\n if (!allowedAttribute(attribute, allowedAttributes)) {\r\n element.removeAttribute(attribute.nodeName);\r\n }\r\n });\r\n }\r\n\r\n return createdDocument.body.innerHTML;\r\n}\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport * as Popper from \"@popperjs/core\";\r\n\r\nimport {\r\n findShadowRoot,\r\n getElement,\r\n getUID,\r\n isElement,\r\n isRTL,\r\n noop,\r\n typeCheckConfig,\r\n} from \"../util/index\";\r\nimport { DefaultAllowlist, sanitizeHtml } from \"../util/sanitizer\";\r\nimport Data from \"../dom/data\";\r\nimport EventHandler from \"../dom/event-handler\";\r\nimport Manipulator from \"../dom/manipulator\";\r\nimport SelectorEngine from \"../dom/selector-engine\";\r\nimport BaseComponent from \"../base-component\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nConstants\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nconst NAME = \"tooltip\";\r\nconst DATA_KEY = \"te.tooltip\";\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst CLASS_PREFIX = \"te-tooltip\";\r\nconst DISALLOWED_ATTRIBUTES = new Set([\"sanitize\", \"allowList\", \"sanitizeFn\"]);\r\n\r\nconst DefaultType = {\r\n animation: \"boolean\",\r\n template: \"string\",\r\n title: \"(string|element|function)\",\r\n trigger: \"string\",\r\n delay: \"(number|object)\",\r\n html: \"boolean\",\r\n selector: \"(string|boolean)\",\r\n placement: \"(string|function)\",\r\n offset: \"(array|string|function)\",\r\n container: \"(string|element|boolean)\",\r\n fallbackPlacements: \"array\",\r\n boundary: \"(string|element)\",\r\n customClass: \"(string|function)\",\r\n sanitize: \"boolean\",\r\n sanitizeFn: \"(null|function)\",\r\n allowList: \"object\",\r\n popperConfig: \"(null|object|function)\",\r\n};\r\n\r\nconst AttachmentMap = {\r\n AUTO: \"auto\",\r\n TOP: \"top\",\r\n RIGHT: isRTL() ? \"left\" : \"right\",\r\n BOTTOM: \"bottom\",\r\n LEFT: isRTL() ? \"right\" : \"left\",\r\n};\r\n\r\nconst Default = {\r\n animation: true,\r\n template:\r\n '
' +\r\n '
' +\r\n \"
\",\r\n trigger: \"hover focus\",\r\n title: \"\",\r\n delay: 0,\r\n html: false,\r\n selector: false,\r\n placement: \"top\",\r\n offset: [0, 0],\r\n container: false,\r\n fallbackPlacements: [\"top\", \"right\", \"bottom\", \"left\"],\r\n boundary: \"clippingParents\",\r\n customClass: \"\",\r\n sanitize: true,\r\n sanitizeFn: null,\r\n allowList: DefaultAllowlist,\r\n popperConfig: { hide: true },\r\n};\r\n\r\nconst Event = {\r\n HIDE: `hide${EVENT_KEY}`,\r\n HIDDEN: `hidden${EVENT_KEY}`,\r\n SHOW: `show${EVENT_KEY}`,\r\n SHOWN: `shown${EVENT_KEY}`,\r\n INSERTED: `inserted${EVENT_KEY}`,\r\n CLICK: `click${EVENT_KEY}`,\r\n FOCUSIN: `focusin${EVENT_KEY}`,\r\n FOCUSOUT: `focusout${EVENT_KEY}`,\r\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\r\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\r\n};\r\n\r\nconst CLASS_NAME_FADE = \"fade\";\r\nconst CLASS_NAME_MODAL = \"modal\";\r\nconst CLASS_NAME_SHOW = \"show\";\r\n\r\nconst HOVER_STATE_SHOW = \"show\";\r\nconst HOVER_STATE_OUT = \"out\";\r\n\r\nconst SELECTOR_TOOLTIP_INNER = \".tooltip-inner\";\r\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`;\r\n\r\nconst EVENT_MODAL_HIDE = \"hide.te.modal\";\r\n\r\nconst TRIGGER_HOVER = \"hover\";\r\nconst TRIGGER_FOCUS = \"focus\";\r\nconst TRIGGER_CLICK = \"click\";\r\nconst TRIGGER_MANUAL = \"manual\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nClass Definition\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nclass Tooltip extends BaseComponent {\r\n constructor(element, config) {\r\n if (typeof Popper === \"undefined\") {\r\n throw new TypeError(\r\n \"Bootstrap's tooltips require Popper (https://popper.js.org)\"\r\n );\r\n }\r\n\r\n super(element);\r\n\r\n // private\r\n this._isEnabled = true;\r\n this._timeout = 0;\r\n this._hoverState = \"\";\r\n this._activeTrigger = {};\r\n this._popper = null;\r\n\r\n // Protected\r\n this._config = this._getConfig(config);\r\n this.tip = null;\r\n\r\n this._setListeners();\r\n }\r\n\r\n // Getters\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n static get Event() {\r\n return Event;\r\n }\r\n\r\n static get DefaultType() {\r\n return DefaultType;\r\n }\r\n\r\n // Public\r\n\r\n enable() {\r\n this._isEnabled = true;\r\n }\r\n\r\n disable() {\r\n this._isEnabled = false;\r\n }\r\n\r\n toggleEnabled() {\r\n this._isEnabled = !this._isEnabled;\r\n }\r\n\r\n toggle(event) {\r\n if (!this._isEnabled) {\r\n return;\r\n }\r\n\r\n if (event) {\r\n const context = this._initializeOnDelegatedTarget(event);\r\n\r\n context._activeTrigger.click = !context._activeTrigger.click;\r\n\r\n if (context._isWithActiveTrigger()) {\r\n context._enter(null, context);\r\n } else {\r\n context._leave(null, context);\r\n }\r\n } else {\r\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\r\n this._leave(null, this);\r\n return;\r\n }\r\n\r\n this._enter(null, this);\r\n }\r\n }\r\n\r\n dispose() {\r\n clearTimeout(this._timeout);\r\n\r\n EventHandler.off(\r\n this._element.closest(SELECTOR_MODAL),\r\n EVENT_MODAL_HIDE,\r\n this._hideModalHandler\r\n );\r\n\r\n if (this.tip) {\r\n this.tip.remove();\r\n }\r\n\r\n this._disposePopper();\r\n super.dispose();\r\n }\r\n\r\n show() {\r\n if (this._element.style.display === \"none\") {\r\n throw new Error(\"Please use show on visible elements\");\r\n }\r\n\r\n if (!(this.isWithContent() && this._isEnabled)) {\r\n return;\r\n }\r\n\r\n const showEvent = EventHandler.trigger(\r\n this._element,\r\n this.constructor.Event.SHOW\r\n );\r\n const shadowRoot = findShadowRoot(this._element);\r\n const isInTheDom =\r\n shadowRoot === null\r\n ? this._element.ownerDocument.documentElement.contains(this._element)\r\n : shadowRoot.contains(this._element);\r\n\r\n if (showEvent.defaultPrevented || !isInTheDom) {\r\n return;\r\n }\r\n\r\n // A trick to recreate a tooltip in case a new title is given by using the NOT documented `data-te-original-title`\r\n // This will be removed later in favor of a `setContent` method\r\n if (\r\n this.constructor.NAME === \"tooltip\" &&\r\n this.tip &&\r\n this.getTitle() !==\r\n this.tip.querySelector(SELECTOR_TOOLTIP_INNER).innerHTML\r\n ) {\r\n this._disposePopper();\r\n this.tip.remove();\r\n this.tip = null;\r\n }\r\n\r\n const tip = this.getTipElement();\r\n const tipId = getUID(this.constructor.NAME);\r\n\r\n tip.setAttribute(\"id\", tipId);\r\n this._element.setAttribute(\"aria-describedby\", tipId);\r\n\r\n if (this._config.animation) {\r\n setTimeout(() => {\r\n this.tip.classList.add(\"opacity-100\");\r\n this.tip.classList.remove(\"opacity-0\");\r\n }, 100);\r\n }\r\n\r\n const placement =\r\n typeof this._config.placement === \"function\"\r\n ? this._config.placement.call(this, tip, this._element)\r\n : this._config.placement;\r\n\r\n const attachment = this._getAttachment(placement);\r\n this._addAttachmentClass(attachment);\r\n\r\n const { container } = this._config;\r\n Data.setData(tip, this.constructor.DATA_KEY, this);\r\n\r\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\r\n container.append(tip);\r\n EventHandler.trigger(this._element, this.constructor.Event.INSERTED);\r\n }\r\n\r\n if (this._popper) {\r\n this._popper.update();\r\n } else {\r\n this._popper = Popper.createPopper(\r\n this._element,\r\n tip,\r\n this._getPopperConfig(attachment)\r\n );\r\n }\r\n\r\n const notPopover = tip.getAttribute(\"id\").includes(\"tooltip\");\r\n if (notPopover) {\r\n switch (placement) {\r\n case \"bottom\":\r\n tip.classList.add(\"py-[0.4rem]\");\r\n break;\r\n case \"left\":\r\n tip.classList.add(\"px-[0.4rem]\");\r\n break;\r\n case \"right\":\r\n tip.classList.add(\"px-[0.4rem]\");\r\n break;\r\n\r\n default:\r\n tip.classList.add(\"py-[0.4rem]\");\r\n break;\r\n }\r\n }\r\n\r\n const customClass = this._resolvePossibleFunction(this._config.customClass);\r\n if (customClass) {\r\n tip.classList.add(...customClass.split(\" \"));\r\n }\r\n\r\n // If this is a touch-enabled device we add extra\r\n // empty mouseover listeners to the body's immediate children;\r\n // only needed because of broken event delegation on iOS\r\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\r\n if (\"ontouchstart\" in document.documentElement) {\r\n [].concat(...document.body.children).forEach((element) => {\r\n EventHandler.on(element, \"mouseover\", noop);\r\n });\r\n }\r\n\r\n const complete = () => {\r\n const prevHoverState = this._hoverState;\r\n\r\n this._hoverState = null;\r\n EventHandler.trigger(this._element, this.constructor.Event.SHOWN);\r\n\r\n if (prevHoverState === HOVER_STATE_OUT) {\r\n this._leave(null, this);\r\n }\r\n };\r\n\r\n const isAnimated = this.tip.classList.contains(\"transition-opacity\");\r\n this._queueCallback(complete, this.tip, isAnimated);\r\n }\r\n\r\n hide() {\r\n if (!this._popper) {\r\n return;\r\n }\r\n\r\n const tip = this.getTipElement();\r\n const complete = () => {\r\n if (this._isWithActiveTrigger()) {\r\n return;\r\n }\r\n\r\n if (this._hoverState !== HOVER_STATE_SHOW) {\r\n tip.remove();\r\n }\r\n\r\n this._cleanTipClass();\r\n this._element.removeAttribute(\"aria-describedby\");\r\n EventHandler.trigger(this._element, this.constructor.Event.HIDDEN);\r\n\r\n this._disposePopper();\r\n };\r\n\r\n const hideEvent = EventHandler.trigger(\r\n this._element,\r\n this.constructor.Event.HIDE\r\n );\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n tip.classList.add(\"opacity-0\");\r\n tip.classList.remove(\"opacity-100\");\r\n\r\n // If this is a touch-enabled device we remove the extra\r\n // empty mouseover listeners we added for iOS support\r\n if (\"ontouchstart\" in document.documentElement) {\r\n []\r\n .concat(...document.body.children)\r\n .forEach((element) => EventHandler.off(element, \"mouseover\", noop));\r\n }\r\n\r\n this._activeTrigger[TRIGGER_CLICK] = false;\r\n this._activeTrigger[TRIGGER_FOCUS] = false;\r\n this._activeTrigger[TRIGGER_HOVER] = false;\r\n\r\n const isAnimated = this.tip.classList.contains(\"opacity-0\");\r\n this._queueCallback(complete, this.tip, isAnimated);\r\n this._hoverState = \"\";\r\n }\r\n\r\n update() {\r\n if (this._popper !== null) {\r\n this._popper.update();\r\n }\r\n }\r\n\r\n // Protected\r\n\r\n isWithContent() {\r\n return Boolean(this.getTitle());\r\n }\r\n\r\n getTipElement() {\r\n if (this.tip) {\r\n return this.tip;\r\n }\r\n\r\n const element = document.createElement(\"div\");\r\n element.innerHTML = this._config.template;\r\n\r\n const tip = element.children[0];\r\n this.setContent(tip);\r\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW);\r\n\r\n this.tip = tip;\r\n return this.tip;\r\n }\r\n\r\n setContent(tip) {\r\n this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TOOLTIP_INNER);\r\n }\r\n\r\n _sanitizeAndSetContent(template, content, selector) {\r\n const templateElement = SelectorEngine.findOne(selector, template);\r\n\r\n if (!content && templateElement) {\r\n templateElement.remove();\r\n return;\r\n }\r\n\r\n // we use append for html objects to maintain js events\r\n this.setElementContent(templateElement, content);\r\n }\r\n\r\n setElementContent(element, content) {\r\n if (element === null) {\r\n return;\r\n }\r\n\r\n if (isElement(content)) {\r\n content = getElement(content);\r\n\r\n // content is a DOM node or a jQuery\r\n if (this._config.html) {\r\n if (content.parentNode !== element) {\r\n element.innerHTML = \"\";\r\n element.append(content);\r\n }\r\n } else {\r\n element.textContent = content.textContent;\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (this._config.html) {\r\n if (this._config.sanitize) {\r\n content = sanitizeHtml(\r\n content,\r\n this._config.allowList,\r\n this._config.sanitizeFn\r\n );\r\n }\r\n\r\n element.innerHTML = content;\r\n } else {\r\n element.textContent = content;\r\n }\r\n }\r\n\r\n getTitle() {\r\n const title =\r\n this._element.getAttribute(\"data-te-original-title\") ||\r\n this._config.title;\r\n\r\n return this._resolvePossibleFunction(title);\r\n }\r\n\r\n updateAttachment(attachment) {\r\n if (attachment === \"right\") {\r\n return \"end\";\r\n }\r\n\r\n if (attachment === \"left\") {\r\n return \"start\";\r\n }\r\n\r\n return attachment;\r\n }\r\n\r\n // Private\r\n\r\n _initializeOnDelegatedTarget(event, context) {\r\n return (\r\n context ||\r\n this.constructor.getOrCreateInstance(\r\n event.delegateTarget,\r\n this._getDelegateConfig()\r\n )\r\n );\r\n }\r\n\r\n _getOffset() {\r\n const { offset } = this._config;\r\n\r\n if (typeof offset === \"string\") {\r\n return offset.split(\",\").map((val) => Number.parseInt(val, 10));\r\n }\r\n\r\n if (typeof offset === \"function\") {\r\n return (popperData) => offset(popperData, this._element);\r\n }\r\n\r\n return offset;\r\n }\r\n\r\n _resolvePossibleFunction(content) {\r\n return typeof content === \"function\"\r\n ? content.call(this._element)\r\n : content;\r\n }\r\n\r\n _getPopperConfig(attachment) {\r\n const defaultBsPopperConfig = {\r\n placement: attachment,\r\n modifiers: [\r\n {\r\n name: \"flip\",\r\n options: {\r\n fallbackPlacements: this._config.fallbackPlacements,\r\n },\r\n },\r\n {\r\n name: \"offset\",\r\n options: {\r\n offset: this._getOffset(),\r\n },\r\n },\r\n {\r\n name: \"preventOverflow\",\r\n options: {\r\n boundary: this._config.boundary,\r\n },\r\n },\r\n {\r\n name: \"arrow\",\r\n options: {\r\n element: `.${this.constructor.NAME}-arrow`,\r\n },\r\n },\r\n {\r\n name: \"onChange\",\r\n enabled: true,\r\n phase: \"afterWrite\",\r\n fn: (data) => this._handlePopperPlacementChange(data),\r\n },\r\n ],\r\n onFirstUpdate: (data) => {\r\n if (data.options.placement !== data.placement) {\r\n this._handlePopperPlacementChange(data);\r\n }\r\n },\r\n };\r\n\r\n return {\r\n ...defaultBsPopperConfig,\r\n ...(typeof this._config.popperConfig === \"function\"\r\n ? this._config.popperConfig(defaultBsPopperConfig)\r\n : this._config.popperConfig),\r\n };\r\n }\r\n\r\n _addAttachmentClass(attachment) {\r\n this.getTipElement().classList.add(\r\n `${this._getBasicClassPrefix()}-${this.updateAttachment(attachment)}`\r\n );\r\n }\r\n\r\n _getAttachment(placement) {\r\n return AttachmentMap[placement.toUpperCase()];\r\n }\r\n\r\n _setListeners() {\r\n const triggers = this._config.trigger.split(\" \");\r\n\r\n triggers.forEach((trigger) => {\r\n if (trigger === \"click\") {\r\n EventHandler.on(\r\n this._element,\r\n this.constructor.Event.CLICK,\r\n this._config.selector,\r\n (event) => this.toggle(event)\r\n );\r\n } else if (trigger !== TRIGGER_MANUAL) {\r\n const eventIn =\r\n trigger === TRIGGER_HOVER\r\n ? this.constructor.Event.MOUSEENTER\r\n : this.constructor.Event.FOCUSIN;\r\n const eventOut =\r\n trigger === TRIGGER_HOVER\r\n ? this.constructor.Event.MOUSELEAVE\r\n : this.constructor.Event.FOCUSOUT;\r\n\r\n EventHandler.on(\r\n this._element,\r\n eventIn,\r\n this._config.selector,\r\n (event) => this._enter(event)\r\n );\r\n EventHandler.on(\r\n this._element,\r\n eventOut,\r\n this._config.selector,\r\n (event) => this._leave(event)\r\n );\r\n }\r\n });\r\n\r\n this._hideModalHandler = () => {\r\n if (this._element) {\r\n this.hide();\r\n }\r\n };\r\n\r\n EventHandler.on(\r\n this._element.closest(SELECTOR_MODAL),\r\n EVENT_MODAL_HIDE,\r\n this._hideModalHandler\r\n );\r\n\r\n if (this._config.selector) {\r\n this._config = {\r\n ...this._config,\r\n trigger: \"manual\",\r\n selector: \"\",\r\n };\r\n } else {\r\n this._fixTitle();\r\n }\r\n }\r\n\r\n _fixTitle() {\r\n const title = this._element.getAttribute(\"title\");\r\n const originalTitleType = typeof this._element.getAttribute(\r\n \"data-te-original-title\"\r\n );\r\n\r\n if (title || originalTitleType !== \"string\") {\r\n this._element.setAttribute(\"data-te-original-title\", title || \"\");\r\n if (\r\n title &&\r\n !this._element.getAttribute(\"aria-label\") &&\r\n !this._element.textContent\r\n ) {\r\n this._element.setAttribute(\"aria-label\", title);\r\n }\r\n\r\n this._element.setAttribute(\"title\", \"\");\r\n }\r\n }\r\n\r\n _enter(event, context) {\r\n context = this._initializeOnDelegatedTarget(event, context);\r\n\r\n if (event) {\r\n context._activeTrigger[\r\n event.type === \"focusin\" ? TRIGGER_FOCUS : TRIGGER_HOVER\r\n ] = true;\r\n }\r\n\r\n if (\r\n context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\r\n context._hoverState === HOVER_STATE_SHOW\r\n ) {\r\n context._hoverState = HOVER_STATE_SHOW;\r\n return;\r\n }\r\n\r\n clearTimeout(context._timeout);\r\n\r\n context._hoverState = HOVER_STATE_SHOW;\r\n\r\n if (!context._config.delay || !context._config.delay.show) {\r\n context.show();\r\n return;\r\n }\r\n\r\n context._timeout = setTimeout(() => {\r\n if (context._hoverState === HOVER_STATE_SHOW) {\r\n context.show();\r\n }\r\n }, context._config.delay.show);\r\n }\r\n\r\n _leave(event, context) {\r\n context = this._initializeOnDelegatedTarget(event, context);\r\n\r\n if (event) {\r\n context._activeTrigger[\r\n event.type === \"focusout\" ? TRIGGER_FOCUS : TRIGGER_HOVER\r\n ] = context._element.contains(event.relatedTarget);\r\n }\r\n\r\n if (context._isWithActiveTrigger()) {\r\n return;\r\n }\r\n\r\n clearTimeout(context._timeout);\r\n\r\n context._hoverState = HOVER_STATE_OUT;\r\n\r\n if (!context._config.delay || !context._config.delay.hide) {\r\n context.hide();\r\n return;\r\n }\r\n\r\n context._timeout = setTimeout(() => {\r\n if (context._hoverState === HOVER_STATE_OUT) {\r\n context.hide();\r\n }\r\n }, context._config.delay.hide);\r\n }\r\n\r\n _isWithActiveTrigger() {\r\n for (const trigger in this._activeTrigger) {\r\n if (this._activeTrigger[trigger]) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n _getConfig(config) {\r\n const dataAttributes = Manipulator.getDataAttributes(this._element);\r\n\r\n Object.keys(dataAttributes).forEach((dataAttr) => {\r\n if (DISALLOWED_ATTRIBUTES.has(dataAttr)) {\r\n delete dataAttributes[dataAttr];\r\n }\r\n });\r\n\r\n config = {\r\n ...this.constructor.Default,\r\n ...dataAttributes,\r\n ...(typeof config === \"object\" && config ? config : {}),\r\n };\r\n\r\n config.container =\r\n config.container === false ? document.body : getElement(config.container);\r\n\r\n if (typeof config.delay === \"number\") {\r\n config.delay = {\r\n show: config.delay,\r\n hide: config.delay,\r\n };\r\n }\r\n\r\n if (typeof config.title === \"number\") {\r\n config.title = config.title.toString();\r\n }\r\n\r\n if (typeof config.content === \"number\") {\r\n config.content = config.content.toString();\r\n }\r\n\r\n typeCheckConfig(NAME, config, this.constructor.DefaultType);\r\n\r\n if (config.sanitize) {\r\n config.template = sanitizeHtml(\r\n config.template,\r\n config.allowList,\r\n config.sanitizeFn\r\n );\r\n }\r\n\r\n return config;\r\n }\r\n\r\n _getDelegateConfig() {\r\n const config = {};\r\n\r\n for (const key in this._config) {\r\n if (this.constructor.Default[key] !== this._config[key]) {\r\n config[key] = this._config[key];\r\n }\r\n }\r\n\r\n // In the future can be replaced with:\r\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\r\n // `Object.fromEntries(keysWithDifferentValues)`\r\n return config;\r\n }\r\n\r\n _cleanTipClass() {\r\n const tip = this.getTipElement();\r\n const basicClassPrefixRegex = new RegExp(\r\n `(^|\\\\s)${this._getBasicClassPrefix()}\\\\S+`,\r\n \"g\"\r\n );\r\n const tabClass = tip.getAttribute(\"class\").match(basicClassPrefixRegex);\r\n if (tabClass !== null && tabClass.length > 0) {\r\n tabClass\r\n .map((token) => token.trim())\r\n .forEach((tClass) => tip.classList.remove(tClass));\r\n }\r\n }\r\n\r\n _getBasicClassPrefix() {\r\n return CLASS_PREFIX;\r\n }\r\n\r\n _handlePopperPlacementChange(popperData) {\r\n const { state } = popperData;\r\n\r\n if (!state) {\r\n return;\r\n }\r\n\r\n this.tip = state.elements.popper;\r\n this._cleanTipClass();\r\n this._addAttachmentClass(this._getAttachment(state.placement));\r\n }\r\n\r\n _disposePopper() {\r\n if (this._popper) {\r\n this._popper.destroy();\r\n this._popper = null;\r\n }\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n const data = Tooltip.getOrCreateInstance(this, config);\r\n\r\n if (typeof config === \"string\") {\r\n if (typeof data[config] === \"undefined\") {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default Tooltip;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport Tooltip from \"./tooltip\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nConstants\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nconst NAME = \"popover\";\r\nconst DATA_KEY = \"te.popover\";\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst CLASS_PREFIX = \"te-popover\";\r\n\r\nconst Default = {\r\n ...Tooltip.Default,\r\n placement: \"right\",\r\n offset: [0, 8],\r\n trigger: \"click\",\r\n content: \"\",\r\n template:\r\n '
' +\r\n '

' +\r\n '
' +\r\n \"
\",\r\n};\r\n\r\nconst DefaultType = {\r\n ...Tooltip.DefaultType,\r\n content: \"(string|element|function)\",\r\n};\r\n\r\nconst Event = {\r\n HIDE: `hide${EVENT_KEY}`,\r\n HIDDEN: `hidden${EVENT_KEY}`,\r\n SHOW: `show${EVENT_KEY}`,\r\n SHOWN: `shown${EVENT_KEY}`,\r\n INSERTED: `inserted${EVENT_KEY}`,\r\n CLICK: `click${EVENT_KEY}`,\r\n FOCUSIN: `focusin${EVENT_KEY}`,\r\n FOCUSOUT: `focusout${EVENT_KEY}`,\r\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\r\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\r\n};\r\n\r\nconst SELECTOR_TITLE = \".popover-header\";\r\nconst SELECTOR_CONTENT = \".popover-body\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nClass Definition\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nclass Popover extends Tooltip {\r\n // Getters\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n static get Event() {\r\n return Event;\r\n }\r\n\r\n static get DefaultType() {\r\n return DefaultType;\r\n }\r\n\r\n // Overrides\r\n\r\n isWithContent() {\r\n return this.getTitle() || this._getContent();\r\n }\r\n\r\n setContent(tip) {\r\n this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TITLE);\r\n this._sanitizeAndSetContent(tip, this._getContent(), SELECTOR_CONTENT);\r\n }\r\n\r\n // Private\r\n\r\n _getContent() {\r\n return this._resolvePossibleFunction(this._config.content);\r\n }\r\n\r\n _getBasicClassPrefix() {\r\n return CLASS_PREFIX;\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n const data = Popover.getOrCreateInstance(this, config);\r\n\r\n if (typeof config === \"string\") {\r\n if (typeof data[config] === \"undefined\") {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default Popover;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport {\r\n getElement,\r\n getSelectorFromElement,\r\n typeCheckConfig,\r\n} from \"../util/index\";\r\nimport EventHandler from \"../dom/event-handler\";\r\nimport Manipulator from \"../dom/manipulator\";\r\nimport MDBManipulator from \"../dom/manipulator\";\r\nimport SelectorEngine from \"../dom/selector-engine\";\r\nimport BaseComponent from \"../base-component\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nConstants\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nconst NAME = \"scrollspy\";\r\nconst DATA_KEY = \"te.scrollspy\";\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\n\r\nconst Default = {\r\n offset: 10,\r\n method: \"auto\",\r\n target: \"\",\r\n};\r\n\r\nconst DefaultType = {\r\n offset: \"number\",\r\n method: \"string\",\r\n target: \"(string|element)\",\r\n};\r\n\r\nconst DefaultClasses = {\r\n active:\r\n \"!text-primary dark:!text-primary-400 font-semibold border-l-[0.125rem] border-solid border-primary dark:border-primary-400\",\r\n};\r\n\r\nconst DefaultClassesType = {\r\n active: \"string\",\r\n};\r\n\r\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`;\r\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`;\r\n\r\nconst LINK_ACTIVE = \"data-te-nav-link-active\";\r\nconst SELECTOR_DROPDOWN_ITEM = \"[data-te-dropdown-item-ref]\";\r\nconst SELECTOR_NAV_LIST_GROUP = \"[data-te-nav-list-ref]\";\r\nconst SELECTOR_NAV_LINKS = \"[data-te-nav-link-ref]\";\r\nconst SELECTOR_NAV_ITEMS = \"[data-te-nav-item-ref]\";\r\nconst SELECTOR_LIST_ITEMS = \"[data-te-list-group-item-ref]\";\r\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}, ${SELECTOR_DROPDOWN_ITEM}`;\r\nconst SELECTOR_DROPDOWN = \"[data-te-dropdown-ref]\";\r\nconst SELECTOR_DROPDOWN_TOGGLE = \"[data-te-dropdown-toggle-ref]\";\r\n\r\nconst METHOD_OFFSET = \"maxOffset\";\r\nconst METHOD_POSITION = \"position\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nClass Definition\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nclass ScrollSpy extends BaseComponent {\r\n constructor(element, config, classes) {\r\n super(element);\r\n this._scrollElement =\r\n this._element.tagName === \"BODY\" ? window : this._element;\r\n this._config = this._getConfig(config);\r\n this._classes = this._getClasses(classes);\r\n this._offsets = [];\r\n this._targets = [];\r\n this._activeTarget = null;\r\n this._scrollHeight = 0;\r\n\r\n EventHandler.on(this._scrollElement, EVENT_SCROLL, () => this._process());\r\n\r\n this.refresh();\r\n this._process();\r\n }\r\n\r\n // Getters\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n refresh() {\r\n const autoMethod =\r\n this._scrollElement === this._scrollElement.window\r\n ? METHOD_OFFSET\r\n : METHOD_POSITION;\r\n\r\n const offsetMethod =\r\n this._config.method === \"auto\" ? autoMethod : this._config.method;\r\n\r\n const offsetBase =\r\n offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;\r\n\r\n this._offsets = [];\r\n this._targets = [];\r\n this._scrollHeight = this._getScrollHeight();\r\n\r\n const targets = SelectorEngine.find(\r\n SELECTOR_LINK_ITEMS,\r\n this._config.target\r\n );\r\n\r\n targets\r\n .map((element) => {\r\n const targetSelector = getSelectorFromElement(element);\r\n const target = targetSelector\r\n ? SelectorEngine.findOne(targetSelector)\r\n : null;\r\n\r\n if (target) {\r\n const targetBCR = target.getBoundingClientRect();\r\n if (targetBCR.width || targetBCR.height) {\r\n return [\r\n Manipulator[offsetMethod](target).top + offsetBase,\r\n targetSelector,\r\n ];\r\n }\r\n }\r\n\r\n return null;\r\n })\r\n .filter((item) => item)\r\n .sort((a, b) => a[0] - b[0])\r\n .forEach((item) => {\r\n this._offsets.push(item[0]);\r\n this._targets.push(item[1]);\r\n });\r\n }\r\n\r\n dispose() {\r\n EventHandler.off(this._scrollElement, EVENT_KEY);\r\n super.dispose();\r\n }\r\n\r\n // Private\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...(typeof config === \"object\" && config ? config : {}),\r\n };\r\n\r\n config.target = getElement(config.target) || document.documentElement;\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n _getClasses(classes) {\r\n const dataAttributes = MDBManipulator.getDataClassAttributes(this._element);\r\n\r\n classes = {\r\n ...DefaultClasses,\r\n ...dataAttributes,\r\n ...classes,\r\n };\r\n\r\n typeCheckConfig(NAME, classes, DefaultClassesType);\r\n\r\n return classes;\r\n }\r\n\r\n _getScrollTop() {\r\n return this._scrollElement === window\r\n ? this._scrollElement.pageYOffset\r\n : this._scrollElement.scrollTop;\r\n }\r\n\r\n _getScrollHeight() {\r\n return (\r\n this._scrollElement.scrollHeight ||\r\n Math.max(\r\n document.body.scrollHeight,\r\n document.documentElement.scrollHeight\r\n )\r\n );\r\n }\r\n\r\n _getOffsetHeight() {\r\n return this._scrollElement === window\r\n ? window.innerHeight\r\n : this._scrollElement.getBoundingClientRect().height;\r\n }\r\n\r\n _process() {\r\n const scrollTop = this._getScrollTop() + this._config.offset;\r\n const scrollHeight = this._getScrollHeight();\r\n const maxScroll =\r\n this._config.offset + scrollHeight - this._getOffsetHeight();\r\n\r\n if (this._scrollHeight !== scrollHeight) {\r\n this.refresh();\r\n }\r\n\r\n if (scrollTop >= maxScroll) {\r\n const target = this._targets[this._targets.length - 1];\r\n\r\n if (this._activeTarget !== target) {\r\n this._activate(target);\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (\r\n this._activeTarget &&\r\n scrollTop < this._offsets[0] &&\r\n this._offsets[0] > 0\r\n ) {\r\n this._activeTarget = null;\r\n this._clear();\r\n return;\r\n }\r\n\r\n for (let i = this._offsets.length; i--; ) {\r\n const isActiveTarget =\r\n this._activeTarget !== this._targets[i] &&\r\n scrollTop >= this._offsets[i] &&\r\n (typeof this._offsets[i + 1] === \"undefined\" ||\r\n scrollTop < this._offsets[i + 1]);\r\n\r\n if (isActiveTarget) {\r\n this._activate(this._targets[i]);\r\n }\r\n }\r\n }\r\n\r\n _activate(target) {\r\n this._activeTarget = target;\r\n\r\n this._clear();\r\n\r\n const queries = SELECTOR_LINK_ITEMS.split(\",\").map(\r\n (selector) =>\r\n `${selector}[data-te-target=\"${target}\"],${selector}[href=\"${target}\"]`\r\n );\r\n\r\n const link = SelectorEngine.findOne(queries.join(\",\"), this._config.target);\r\n\r\n link.classList.add(...this._classes.active.split(\" \"));\r\n link.setAttribute(LINK_ACTIVE, \"\");\r\n\r\n if (link.getAttribute(SELECTOR_DROPDOWN_ITEM)) {\r\n SelectorEngine.findOne(\r\n SELECTOR_DROPDOWN_TOGGLE,\r\n link.closest(SELECTOR_DROPDOWN)\r\n ).classList.add(...this._classes.active.split(\" \"));\r\n } else {\r\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP).forEach(\r\n (listGroup) => {\r\n // Set triggered links parents as active\r\n // With both
    and
\r\n \r\n `;\r\n })\r\n .join(\"\")}\r\n \r\n `;\r\n })\r\n .join(\"\");\r\n\r\n return `\r\n \r\n \r\n ${tableHeadContent}\r\n \r\n \r\n ${tableBodyContent}\r\n \r\n
\r\n `;\r\n}\r\n\r\nfunction getDatesArray(activeDate, headerDate, options) {\r\n const dates = [];\r\n\r\n const month = getMonth(activeDate);\r\n const previousMonth = getMonth(addMonths(activeDate, -1));\r\n const nextMonth = getMonth(addMonths(activeDate, 1));\r\n const year = getYear(activeDate);\r\n\r\n const firstDay = getFirstDayOfWeek(year, month, options);\r\n const daysInMonth = getDaysInMonth(activeDate);\r\n const daysInPreviousMonth = getDaysInMonth(addMonths(activeDate, -1));\r\n const daysInWeek = 7;\r\n\r\n let dayNumber = 1;\r\n let isCurrentMonth = false;\r\n for (let i = 1; i < daysInWeek; i++) {\r\n const week = [];\r\n if (i === 1) {\r\n // First week\r\n const previousMonthDay = daysInPreviousMonth - firstDay + 1;\r\n // Previous month\r\n for (let j = previousMonthDay; j <= daysInPreviousMonth; j++) {\r\n const date = createDate(year, previousMonth, j);\r\n\r\n week.push({\r\n date,\r\n currentMonth: isCurrentMonth,\r\n isSelected: headerDate && isSameDate(date, headerDate),\r\n isToday: isSameDate(date, getToday()),\r\n dayNumber: getDate(date),\r\n });\r\n }\r\n\r\n isCurrentMonth = true;\r\n // Current month\r\n const daysLeft = daysInWeek - week.length;\r\n for (let j = 0; j < daysLeft; j++) {\r\n const date = createDate(year, month, dayNumber);\r\n\r\n week.push({\r\n date,\r\n currentMonth: isCurrentMonth,\r\n isSelected: headerDate && isSameDate(date, headerDate),\r\n isToday: isSameDate(date, getToday()),\r\n dayNumber: getDate(date),\r\n disabled: isDateDisabled(\r\n date,\r\n options.min,\r\n options.max,\r\n options.filter,\r\n options.disablePast,\r\n options.disableFuture\r\n ),\r\n });\r\n dayNumber++;\r\n }\r\n } else {\r\n // Rest of the weeks\r\n for (let j = 1; j < 8; j++) {\r\n if (dayNumber > daysInMonth) {\r\n // Next month\r\n dayNumber = 1;\r\n isCurrentMonth = false;\r\n }\r\n const date = createDate(\r\n year,\r\n isCurrentMonth ? month : nextMonth,\r\n dayNumber\r\n );\r\n\r\n week.push({\r\n date,\r\n currentMonth: isCurrentMonth,\r\n isSelected: headerDate && isSameDate(date, headerDate),\r\n isToday: isSameDate(date, getToday()),\r\n dayNumber: getDate(date),\r\n disabled: isDateDisabled(\r\n date,\r\n options.min,\r\n options.max,\r\n options.filter,\r\n options.disablePast,\r\n options.disableFuture\r\n ),\r\n });\r\n dayNumber++;\r\n }\r\n }\r\n dates.push(week);\r\n }\r\n\r\n return dates;\r\n}\r\n\r\nexport function createMonthViewTemplate(\r\n year,\r\n selectedYear,\r\n selectedMonth,\r\n options,\r\n monthsInRow,\r\n classes\r\n) {\r\n const months = getMonthsArray(options, monthsInRow);\r\n const currentMonth = getMonth(getToday());\r\n const currentYear = getYear(getToday());\r\n\r\n const tableBodyContent = `\r\n ${months\r\n .map((row) => {\r\n return `\r\n \r\n ${row\r\n .map((month) => {\r\n const monthIndex = options.monthsShort.indexOf(month);\r\n return `\r\n \r\n
${month}
\r\n \r\n `;\r\n })\r\n .join(\"\")}\r\n \r\n `;\r\n })\r\n .join(\"\")}\r\n `;\r\n\r\n return `\r\n \r\n \r\n ${tableBodyContent}\r\n \r\n
\r\n `;\r\n}\r\n\r\nfunction getMonthsArray(options, monthsInRow) {\r\n const months = [];\r\n\r\n let row = [];\r\n\r\n for (let i = 0; i < options.monthsShort.length; i++) {\r\n row.push(options.monthsShort[i]);\r\n\r\n if (row.length === monthsInRow) {\r\n const monthsRow = row;\r\n months.push(monthsRow);\r\n row = [];\r\n }\r\n }\r\n\r\n return months;\r\n}\r\n\r\nexport function createYearViewTemplate(\r\n date,\r\n selectedYear,\r\n options,\r\n yearsInView,\r\n yearsInRow,\r\n classes\r\n) {\r\n const years = getYearsArray(date, yearsInView, yearsInRow);\r\n const currentYear = getYear(getToday());\r\n\r\n const tableBodyContent = `\r\n ${years\r\n .map((row) => {\r\n return `\r\n \r\n ${row\r\n .map((year) => {\r\n return `\r\n \r\n
${year}
\r\n \r\n `;\r\n })\r\n .join(\"\")}\r\n \r\n `;\r\n })\r\n .join(\"\")}\r\n `;\r\n\r\n return `\r\n \r\n \r\n ${tableBodyContent}\r\n \r\n
\r\n `;\r\n}\r\n\r\nfunction getYearsArray(date, yearsInView, yearsInRow) {\r\n const years = [];\r\n const activeYear = getYear(date);\r\n const yearsOffset = getYearsOffset(date, yearsInView);\r\n\r\n const firstYearInView = activeYear - yearsOffset;\r\n\r\n let row = [];\r\n\r\n for (let i = 0; i < yearsInView; i++) {\r\n row.push(firstYearInView + i);\r\n\r\n if (row.length === yearsInRow) {\r\n const yearsRow = row;\r\n years.push(yearsRow);\r\n row = [];\r\n }\r\n }\r\n\r\n return years;\r\n}\r\n\r\nexport function getToggleButtonTemplate(id, toggleBtnClasses) {\r\n return `\r\n \r\n `;\r\n}\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nexport const LEFT_ARROW = 37;\r\nexport const UP_ARROW = 38;\r\nexport const RIGHT_ARROW = 39;\r\nexport const DOWN_ARROW = 40;\r\nexport const HOME = 36;\r\nexport const END = 35;\r\nexport const PAGE_UP = 33;\r\nexport const PAGE_DOWN = 34;\r\nexport const ENTER = 13;\r\nexport const SPACE = 32;\r\nexport const ESCAPE = 27;\r\nexport const TAB = 9;\r\nexport const BACKSPACE = 8;\r\nexport const DELETE = 46;\r\nexport const A = 65;\r\nexport const B = 66;\r\nexport const C = 67;\r\nexport const D = 68;\r\nexport const E = 69;\r\nexport const F = 70;\r\nexport const G = 71;\r\nexport const H = 72;\r\nexport const I = 73;\r\nexport const J = 74;\r\nexport const K = 75;\r\nexport const L = 76;\r\nexport const M = 77;\r\nexport const N = 78;\r\nexport const O = 79;\r\nexport const P = 80;\r\nexport const Q = 81;\r\nexport const R = 82;\r\nexport const S = 83;\r\nexport const T = 84;\r\nexport const U = 85;\r\nexport const V = 86;\r\nexport const W = 87;\r\nexport const X = 88;\r\nexport const Y = 89;\r\nexport const Z = 90;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { createPopper } from \"@popperjs/core\";\r\nimport Data from \"../../dom/data\";\r\nimport EventHandler from \"../../dom/event-handler\";\r\nimport Manipulator from \"../../dom/manipulator\";\r\nimport SelectorEngine from \"../../dom/selector-engine\";\r\nimport ScrollBarHelper from \"../../util/scrollbar\";\r\nimport { typeCheckConfig, getUID, isRTL } from \"../../util/index\";\r\nimport FocusTrap from \"../../util/focusTrap\";\r\nimport {\r\n getDate,\r\n getDayNumber,\r\n getMonth,\r\n getYear,\r\n getDaysInMonth,\r\n addYears,\r\n addMonths,\r\n addDays,\r\n createDate,\r\n convertStringToDate,\r\n isSameDate,\r\n areDatesInSameView,\r\n isDateDisabled,\r\n isMonthDisabled,\r\n isYearDisabled,\r\n isNextDateDisabled,\r\n isPreviousDateDisabled,\r\n getYearsOffset,\r\n isValidDate,\r\n} from \"./date-utils\";\r\nimport {\r\n getBackdropTemplate,\r\n getDatepickerTemplate,\r\n createDayViewTemplate,\r\n createMonthViewTemplate,\r\n createYearViewTemplate,\r\n getToggleButtonTemplate,\r\n createViewChangeButtonIcon,\r\n} from \"./templates\";\r\nimport {\r\n ENTER,\r\n SPACE,\r\n ESCAPE,\r\n LEFT_ARROW,\r\n RIGHT_ARROW,\r\n DOWN_ARROW,\r\n UP_ARROW,\r\n HOME,\r\n END,\r\n PAGE_UP,\r\n PAGE_DOWN,\r\n} from \"../../util/keycodes\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nConstants\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nconst YEARS_IN_VIEW = 24;\r\nconst YEARS_IN_ROW = 4;\r\nconst MONTHS_IN_ROW = 4;\r\n\r\nconst NAME = \"datepicker\";\r\nconst DATA_KEY = \"te.datepicker\";\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = \".data-api\";\r\n\r\nconst EVENT_CLOSE = `close${EVENT_KEY}`;\r\nconst EVENT_OPEN = `open${EVENT_KEY}`;\r\nconst EVENT_DATE_CHANGE = `dateChange${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst MODAL_CONTAINER_NAME = \"data-te-datepicker-modal-container-ref\";\r\nconst DROPDOWN_CONTAINER_NAME = \"data-te-datepicker-dropdown-container-ref\";\r\n\r\nconst DATEPICKER_TOGGLE_SELECTOR = \"[data-te-datepicker-toggle-ref]\";\r\nconst MODAL_CONTAINER_SELECTOR = `[${MODAL_CONTAINER_NAME}]`;\r\nconst DROPDOWN_CONTAINER_SELECTOR = `[${DROPDOWN_CONTAINER_NAME}]`;\r\nconst VIEW_CHANGE_BUTTON_SELECTOR =\r\n \"[data-te-datepicker-view-change-button-ref]\";\r\nconst PREVIOUS_BUTTON_SELECTOR = \"[data-te-datepicker-previous-button-ref]\";\r\nconst NEXT_BUTTON_SELECTOR = \"[data-te-datepicker-next-button-ref]\";\r\nconst OK_BUTTON_SELECTOR = \"[data-te-datepicker-ok-button-ref]\";\r\nconst CANCEL_BUTTON_SELECTOR = \"[data-te-datepicker-cancel-button-ref]\";\r\nconst CLEAR_BUTTON_SELECTOR = \"[data-te-datepicker-clear-button-ref]\";\r\nconst VIEW_SELECTOR = \"[data-te-datepicker-view-ref]\";\r\nconst TOGGLE_BUTTON_SELECTOR = \"[data-te-datepicker-toggle-button-ref]\";\r\nconst DATE_TEXT_SELECTOR = \"[data-te-datepicker-date-text-ref]\";\r\nconst BACKDROP_SELECTOR = \"[data-te-dropdown-backdrop-ref]\";\r\n\r\nconst FADE_IN_CLASSES =\r\n \"animate-[fade-in_0.3s_both] px-[auto] motion-reduce:transition-none motion-reduce:animate-none\";\r\nconst FADE_OUT_CLASSES =\r\n \"animate-[fade-out_0.3s_both] px-[auto] motion-reduce:transition-none motion-reduce:animate-none\";\r\nconst FADE_IN_SHORT_CLASSES =\r\n \"animate-[fade-in_0.15s_both] px-[auto] motion-reduce:transition-none motion-reduce:animate-none\";\r\nconst FADE_OUT_SHORT_CLASSES =\r\n \"animate-[fade-out_0.15s_both] px-[auto] motion-reduce:transition-none motion-reduce:animate-none\";\r\n\r\n// templates classes\r\nconst MODAL_CONTAINER_CLASSES =\r\n \"flex flex-col fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[328px] h-[512px] bg-white rounded-[0.6rem] shadow-lg z-[1066] xs:max-md:landscape:w-[475px] xs:max-md:landscape:h-[360px] xs:max-md:landscape:flex-row dark:bg-zinc-700\";\r\nconst DATEPICKER_BACKDROP_CLASSES =\r\n \"w-full h-full fixed top-0 right-0 left-0 bottom-0 bg-black/40 z-[1065]\";\r\nconst DATEPICKER_MAIN_CLASSES = \"relative h-full\";\r\nconst DATEPICKER_HEADER_CLASSES =\r\n \"xs:max-md:landscape:h-full h-[120px] px-6 bg-primary flex flex-col rounded-t-lg dark:bg-zinc-800\";\r\nconst DATEPICKER_TITLE_CLASSES = \"h-8 flex flex-col justify-end\";\r\nconst DATEPICKER_TITLE_TEXT_CLASSES =\r\n \"text-[10px] font-normal uppercase tracking-[1.7px] text-white\";\r\nconst DATEPICKER_DATE_CLASSES =\r\n \"xs:max-md:landscape:mt-24 h-[72px] flex flex-col justify-end\";\r\nconst DATEPICKER_DATE_TEXT_CLASSES = \"text-[34px] font-normal text-white\";\r\nconst DATEPICKER_VIEW_CLASSES = \"outline-none px-3\";\r\nconst DATEPICKER_DATE_CONTROLS_CLASSES =\r\n \"px-3 pt-2.5 pb-0 flex justify-between text-black/[64]\";\r\nconst DATEPICKER_VIEW_CHANGE_BUTTON_CLASSES = `flex items-center outline-none p-2.5 text-neutral-500 font-medium text-[0.9rem] rounded-xl shadow-none bg-transparent m-0 border-none hover:bg-neutral-200 focus:bg-neutral-200 dark:text-white dark:hover:bg-white/10 dark:focus:bg-white/10`;\r\nconst DATEPICKER_ARROW_CONTROLS_CLASSES = \"mt-2.5\";\r\nconst DATEPICKER_PREVIOUS_BUTTON_CLASSES =\r\n \"p-0 w-10 h-10 leading-10 border-none outline-none m-0 text-gray-600 bg-transparent mr-6 hover:bg-neutral-200 hover:rounded-[50%] focus:bg-neutral-200 focus:rounded-[50%] dark:text-white dark:hover:bg-white/10 dark:focus:bg-white/10 [&>svg]:w-4 [&>svg]:h-4 [&>svg]:mx-auto\";\r\nconst DATEPICKER_NEXT_BUTTON_CLASSES =\r\n \"p-0 w-10 h-10 leading-10 border-none outline-none m-0 text-gray-600 bg-transparent hover:bg-neutral-200 hover:rounded-[50%] focus:bg-neutral-200 focus:rounded-[50%] dark:text-white dark:hover:bg-white/10 dark:focus:bg-white/10 [&>svg]:w-4 [&>svg]:h-4 [&>svg]:rotate-180 [&>svg]:mx-auto\";\r\nconst DATEPICKER_FOOTER_CLASSES =\r\n \"h-14 flex absolute w-full bottom-0 justify-end items-center px-3\";\r\nconst DATEPICKER_FOOTER_BTN_CLASSES =\r\n \"outline-none bg-white text-primary border-none cursor-pointer py-0 px-2.5 uppercase text-[0.8rem] leading-10 font-medium h-10 tracking-[.1rem] rounded-[10px] mb-2.5 hover:bg-neutral-200 focus:bg-neutral-200 dark:bg-transparent dark:text-white dark:hover:bg-white/10 dark:focus:bg-white/10\";\r\nconst DATEPICKER_CLEAR_BTN_CLASSES = \"mr-auto\";\r\nconst DATEPICKER_DAY_HEADING_CLASSES =\r\n \"w-10 h-10 text-center text-[12px] font-normal dark:text-white\";\r\nconst DATEPICKER_CELL_CLASSES =\r\n \"text-center data-[te-datepicker-cell-disabled]:text-neutral-300 data-[te-datepicker-cell-disabled]:cursor-default data-[te-datepicker-cell-disabled]:pointer-events-none data-[te-datepicker-cell-disabled]:hover:cursor-default hover:cursor-pointer group\";\r\nconst DATEPICKER_CELL_SMALL_CLASSES =\r\n \"w-10 h-10 xs:max-md:landscape:w-8 xs:max-md:landscape:h-8\";\r\nconst DATEPICKER_CELL_LARGE_CLASSES = \"w-[76px] h-[42px]\";\r\nconst DATEPICKER_CELL_CONTENT_CLASSES =\r\n \"mx-auto group-[:not([data-te-datepicker-cell-disabled]):not([data-te-datepicker-cell-selected]):hover]:bg-neutral-300 group-[[data-te-datepicker-cell-selected]]:bg-primary group-[[data-te-datepicker-cell-selected]]:text-white group-[:not([data-te-datepicker-cell-selected])[data-te-datepicker-cell-focused]]:bg-neutral-100 group-[[data-te-datepicker-cell-focused]]:data-[te-datepicker-cell-selected]:bg-primary group-[[data-te-datepicker-cell-current]]:border-solid group-[[data-te-datepicker-cell-current]]:border-black group-[[data-te-datepicker-cell-current]]:border dark:group-[:not([data-te-datepicker-cell-disabled]):not([data-te-datepicker-cell-selected]):hover]:bg-white/10 dark:group-[[data-te-datepicker-cell-current]]:border-white dark:text-white dark:group-[:not([data-te-datepicker-cell-selected])[data-te-datepicker-cell-focused]]:bg-white/10 dark:group-[[data-te-datepicker-cell-disabled]]:text-neutral-500\";\r\nconst DATEPICKER_CELL_CONTENT_SMALL_CLASSES =\r\n \"w-9 h-9 leading-9 rounded-[50%] text-[13px]\";\r\nconst DATEPICKER_CELL_CONTENT_LARGE_CLASSES =\r\n \"w-[72px] h-10 leading-10 py-[1px] px-0.5 rounded-[999px]\";\r\nconst DATEPICKER_TABLE_CLASSES = \"mx-auto w-[304px]\";\r\nconst DATEPICKER_TOGGLE_BUTTON_CLASSES =\r\n \"flex items-center justify-content-center [&>svg]:w-5 [&>svg]:h-5 absolute outline-none border-none bg-transparent right-0.5 top-1/2 -translate-x-1/2 -translate-y-1/2 hover:text-primary focus:text-primary dark:hover:text-primary-400 dark:focus:text-primary-400 dark:text-neutral-200\";\r\nconst DATEPICKER_VIEW_CHANGE_ICON_CLASSES =\r\n \"inline-block pointer-events-none ml-[3px] [&>svg]:w-4 [&>svg]:h-4 [&>svg]:fill-neutral-500 dark:[&>svg]:fill-white\";\r\nconst DATEPICKER_DROPDOWN_CONTAINER_CLASSES =\r\n \"w-[328px] h-[380px] bg-white rounded-lg shadow-[0px_2px_15px_-3px_rgba(0,0,0,.07),_0px_10px_20px_-2px_rgba(0,0,0,.04)] z-[1066] dark:bg-zinc-700\";\r\n\r\nconst Default = {\r\n title: \"Select date\",\r\n container: \"body\",\r\n disablePast: false,\r\n disableFuture: false,\r\n monthsFull: [\r\n \"January\",\r\n \"February\",\r\n \"March\",\r\n \"April\",\r\n \"May\",\r\n \"June\",\r\n \"July\",\r\n \"August\",\r\n \"September\",\r\n \"October\",\r\n \"November\",\r\n \"December\",\r\n ],\r\n monthsShort: [\r\n \"Jan\",\r\n \"Feb\",\r\n \"Mar\",\r\n \"Apr\",\r\n \"May\",\r\n \"Jun\",\r\n \"Jul\",\r\n \"Aug\",\r\n \"Sep\",\r\n \"Oct\",\r\n \"Nov\",\r\n \"Dec\",\r\n ],\r\n weekdaysFull: [\r\n \"Sunday\",\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\",\r\n ],\r\n weekdaysShort: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\r\n weekdaysNarrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\r\n okBtnText: \"Ok\",\r\n clearBtnText: \"Clear\",\r\n cancelBtnText: \"Cancel\",\r\n\r\n okBtnLabel: \"Confirm selection\",\r\n clearBtnLabel: \"Clear selection\",\r\n cancelBtnLabel: \"Cancel selection\",\r\n nextMonthLabel: \"Next month\",\r\n prevMonthLabel: \"Previous month\",\r\n nextYearLabel: \"Next year\",\r\n prevYearLabel: \"Previous year\",\r\n changeMonthIconTemplate: `\r\n \r\n \r\n `,\r\n nextMultiYearLabel: \"Next 24 years\",\r\n prevMultiYearLabel: \"Previous 24 years\",\r\n switchToMultiYearViewLabel: \"Choose year and month\",\r\n switchToMonthViewLabel: \"Choose date\",\r\n switchToDayViewLabel: \"Choose date\",\r\n\r\n startDate: null,\r\n startDay: 0,\r\n format: \"dd/mm/yyyy\",\r\n view: \"days\",\r\n viewChangeIconTemplate: `\r\n \r\n \r\n `,\r\n\r\n min: null,\r\n max: null,\r\n filter: null,\r\n\r\n inline: false,\r\n toggleButton: true,\r\n disableToggleButton: false,\r\n disableInput: false,\r\n animations: true,\r\n confirmDateOnSelect: false,\r\n removeOkBtn: false,\r\n removeCancelBtn: false,\r\n removeClearBtn: false,\r\n};\r\n\r\nconst DefaultType = {\r\n title: \"string\",\r\n container: \"string\",\r\n disablePast: \"boolean\",\r\n disableFuture: \"boolean\",\r\n monthsFull: \"array\",\r\n monthsShort: \"array\",\r\n weekdaysFull: \"array\",\r\n weekdaysShort: \"array\",\r\n weekdaysNarrow: \"array\",\r\n\r\n okBtnText: \"string\",\r\n clearBtnText: \"string\",\r\n cancelBtnText: \"string\",\r\n okBtnLabel: \"string\",\r\n clearBtnLabel: \"string\",\r\n cancelBtnLabel: \"string\",\r\n nextMonthLabel: \"string\",\r\n prevMonthLabel: \"string\",\r\n nextYearLabel: \"string\",\r\n prevYearLabel: \"string\",\r\n nextMultiYearLabel: \"string\",\r\n prevMultiYearLabel: \"string\",\r\n changeMonthIconTemplate: \"string\",\r\n switchToMultiYearViewLabel: \"string\",\r\n switchToMonthViewLabel: \"string\",\r\n switchToDayViewLabel: \"string\",\r\n\r\n startDate: \"(null|string|date)\",\r\n startDay: \"number\",\r\n format: \"string\",\r\n view: \"string\",\r\n viewChangeIconTemplate: \"string\",\r\n\r\n min: \"(null|string|date)\",\r\n max: \"(null|string|date)\",\r\n filter: \"(null|function)\",\r\n\r\n inline: \"boolean\",\r\n toggleButton: \"boolean\",\r\n disableToggleButton: \"boolean\",\r\n disableInput: \"boolean\",\r\n animations: \"boolean\",\r\n confirmDateOnSelect: \"boolean\",\r\n removeOkBtn: \"boolean\",\r\n removeCancelBtn: \"boolean\",\r\n removeClearBtn: \"boolean\",\r\n};\r\n\r\nconst DefaultClasses = {\r\n fadeIn: FADE_IN_CLASSES,\r\n fadeOut: FADE_OUT_CLASSES,\r\n fadeInShort: FADE_IN_SHORT_CLASSES,\r\n fadeOutShort: FADE_OUT_SHORT_CLASSES,\r\n modalContainer: MODAL_CONTAINER_CLASSES,\r\n datepickerBackdrop: DATEPICKER_BACKDROP_CLASSES,\r\n datepickerMain: DATEPICKER_MAIN_CLASSES,\r\n datepickerHeader: DATEPICKER_HEADER_CLASSES,\r\n datepickerTitle: DATEPICKER_TITLE_CLASSES,\r\n datepickerTitleText: DATEPICKER_TITLE_TEXT_CLASSES,\r\n datepickerDate: DATEPICKER_DATE_CLASSES,\r\n datepickerDateText: DATEPICKER_DATE_TEXT_CLASSES,\r\n datepickerView: DATEPICKER_VIEW_CLASSES,\r\n datepickerDateControls: DATEPICKER_DATE_CONTROLS_CLASSES,\r\n datepickerViewChangeButton: DATEPICKER_VIEW_CHANGE_BUTTON_CLASSES,\r\n datepickerViewChangeIcon: DATEPICKER_VIEW_CHANGE_ICON_CLASSES,\r\n datepickerArrowControls: DATEPICKER_ARROW_CONTROLS_CLASSES,\r\n datepickerPreviousButton: DATEPICKER_PREVIOUS_BUTTON_CLASSES,\r\n datepickerNextButton: DATEPICKER_NEXT_BUTTON_CLASSES,\r\n datepickerFooter: DATEPICKER_FOOTER_CLASSES,\r\n datepickerFooterBtn: DATEPICKER_FOOTER_BTN_CLASSES,\r\n datepickerClearBtn: DATEPICKER_CLEAR_BTN_CLASSES,\r\n datepickerDayHeading: DATEPICKER_DAY_HEADING_CLASSES,\r\n datepickerCell: DATEPICKER_CELL_CLASSES,\r\n datepickerCellSmall: DATEPICKER_CELL_SMALL_CLASSES,\r\n datepickerCellLarge: DATEPICKER_CELL_LARGE_CLASSES,\r\n datepickerCellContent: DATEPICKER_CELL_CONTENT_CLASSES,\r\n datepickerCellContentSmall: DATEPICKER_CELL_CONTENT_SMALL_CLASSES,\r\n datepickerCellContentLarge: DATEPICKER_CELL_CONTENT_LARGE_CLASSES,\r\n datepickerTable: DATEPICKER_TABLE_CLASSES,\r\n datepickerToggleButton: DATEPICKER_TOGGLE_BUTTON_CLASSES,\r\n datepickerDropdownContainer: DATEPICKER_DROPDOWN_CONTAINER_CLASSES,\r\n};\r\n\r\nconst DefaultClassesType = {\r\n fadeIn: \"string\",\r\n fadeOut: \"string\",\r\n fadeInShort: \"string\",\r\n fadeOutShort: \"string\",\r\n modalContainer: \"string\",\r\n datepickerBackdrop: \"string\",\r\n datepickerMain: \"string\",\r\n datepickerHeader: \"string\",\r\n datepickerTitle: \"string\",\r\n datepickerTitleText: \"string\",\r\n datepickerDate: \"string\",\r\n datepickerDateText: \"string\",\r\n datepickerView: \"string\",\r\n datepickerDateControls: \"string\",\r\n datepickerViewChangeButton: \"string\",\r\n datepickerArrowControls: \"string\",\r\n datepickerPreviousButton: \"string\",\r\n datepickerNextButton: \"string\",\r\n datepickerFooter: \"string\",\r\n datepickerFooterBtn: \"string\",\r\n datepickerClearBtn: \"string\",\r\n datepickerDayHeading: \"string\",\r\n datepickerCell: \"string\",\r\n datepickerCellSmall: \"string\",\r\n datepickerCellLarge: \"string\",\r\n datepickerCellContent: \"string\",\r\n datepickerCellContentSmall: \"string\",\r\n datepickerCellContentLarge: \"string\",\r\n datepickerTable: \"string\",\r\n datepickerToggleButton: \"string\",\r\n datepickerDropdownContainer: \"string\",\r\n};\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nClass Definition\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nclass Datepicker {\r\n constructor(element, options, classes) {\r\n this._element = element;\r\n this._input = SelectorEngine.findOne(\"input\", this._element);\r\n this._options = this._getConfig(options);\r\n this._classes = this._getClasses(classes);\r\n this._activeDate = new Date();\r\n this._selectedDate = null;\r\n this._selectedYear = null;\r\n this._selectedMonth = null;\r\n this._headerDate = null;\r\n this._headerYear = null;\r\n this._headerMonth = null;\r\n this._view = this._options.view;\r\n this._popper = null;\r\n this._focusTrap = null;\r\n this._isOpen = false;\r\n this._toggleButtonId = getUID(\"datepicker-toggle-\");\r\n this._animations =\r\n !window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches &&\r\n this._options.animations;\r\n\r\n this._scrollBar = new ScrollBarHelper();\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n this._init();\r\n\r\n if (this.toggleButton && this._options.disableToggle) {\r\n this.toggleButton.disabled = \"true\";\r\n }\r\n\r\n if (this._options.disableInput) {\r\n this._input.disabled = \"true\";\r\n }\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n get container() {\r\n return (\r\n SelectorEngine.findOne(\r\n `[${MODAL_CONTAINER_NAME}='${this._toggleButtonId}']`\r\n ) ||\r\n SelectorEngine.findOne(\r\n `[${DROPDOWN_CONTAINER_NAME}='${this._toggleButtonId}']`\r\n )\r\n );\r\n }\r\n\r\n get options() {\r\n return this._options;\r\n }\r\n\r\n get activeCell() {\r\n let activeCell;\r\n\r\n if (this._view === \"days\") {\r\n activeCell = this._getActiveDayCell();\r\n }\r\n\r\n if (this._view === \"months\") {\r\n activeCell = this._getActiveMonthCell();\r\n }\r\n\r\n if (this._view === \"years\") {\r\n activeCell = this._getActiveYearCell();\r\n }\r\n\r\n return activeCell;\r\n }\r\n\r\n get activeDay() {\r\n return getDate(this._activeDate);\r\n }\r\n\r\n get activeMonth() {\r\n return getMonth(this._activeDate);\r\n }\r\n\r\n get activeYear() {\r\n return getYear(this._activeDate);\r\n }\r\n\r\n get firstYearInView() {\r\n return this.activeYear - getYearsOffset(this._activeDate, YEARS_IN_VIEW);\r\n }\r\n\r\n get lastYearInView() {\r\n return this.firstYearInView + YEARS_IN_VIEW - 1;\r\n }\r\n\r\n get viewChangeButton() {\r\n return SelectorEngine.findOne(VIEW_CHANGE_BUTTON_SELECTOR, this.container);\r\n }\r\n\r\n get previousButton() {\r\n return SelectorEngine.findOne(PREVIOUS_BUTTON_SELECTOR, this.container);\r\n }\r\n\r\n get nextButton() {\r\n return SelectorEngine.findOne(NEXT_BUTTON_SELECTOR, this.container);\r\n }\r\n\r\n get okButton() {\r\n return SelectorEngine.findOne(OK_BUTTON_SELECTOR, this.container);\r\n }\r\n\r\n get cancelButton() {\r\n return SelectorEngine.findOne(CANCEL_BUTTON_SELECTOR, this.container);\r\n }\r\n\r\n get clearButton() {\r\n return SelectorEngine.findOne(CLEAR_BUTTON_SELECTOR, this.container);\r\n }\r\n\r\n get datesContainer() {\r\n return SelectorEngine.findOne(VIEW_SELECTOR, this.container);\r\n }\r\n\r\n get toggleButton() {\r\n return SelectorEngine.findOne(TOGGLE_BUTTON_SELECTOR, this._element);\r\n }\r\n\r\n update(options = {}) {\r\n this._options = this._getConfig({ ...this._options, ...options });\r\n }\r\n\r\n _getConfig(config) {\r\n const dataAttributes = Manipulator.getDataAttributes(this._element);\r\n\r\n config = {\r\n ...Default,\r\n ...dataAttributes,\r\n ...config,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n if (config.max && typeof config.max === \"string\") {\r\n config.max = new Date(config.max);\r\n }\r\n\r\n if (config.min && typeof config.min === \"string\") {\r\n config.min = new Date(config.min);\r\n }\r\n\r\n if (config.startDay && config.startDay !== 0) {\r\n const sortedWeekdaysNarrow = this._getNewDaysOrderArray(config);\r\n config.weekdaysNarrow = sortedWeekdaysNarrow;\r\n }\r\n\r\n return config;\r\n }\r\n\r\n _getClasses(classes) {\r\n const dataAttributes = Manipulator.getDataClassAttributes(this._element);\r\n\r\n classes = {\r\n ...DefaultClasses,\r\n ...dataAttributes,\r\n ...classes,\r\n };\r\n\r\n typeCheckConfig(NAME, classes, DefaultClassesType);\r\n\r\n return classes;\r\n }\r\n\r\n _getContainer() {\r\n return SelectorEngine.findOne(this._options.container);\r\n }\r\n\r\n _getNewDaysOrderArray(config) {\r\n const index = config.startDay;\r\n\r\n const weekdaysNarrow = config.weekdaysNarrow;\r\n const sortedWeekdays = weekdaysNarrow\r\n .slice(index)\r\n .concat(weekdaysNarrow.slice(0, index));\r\n\r\n return sortedWeekdays;\r\n }\r\n\r\n _init() {\r\n if (!this.toggleButton && this._options.toggleButton) {\r\n this._appendToggleButton();\r\n if (this._input.readOnly || this._input.disabled) {\r\n this.toggleButton.style.pointerEvents = \"none\";\r\n }\r\n }\r\n\r\n this._listenToUserInput();\r\n this._listenToToggleClick();\r\n this._listenToToggleKeydown();\r\n }\r\n\r\n _appendToggleButton() {\r\n const toggleButton = getToggleButtonTemplate(\r\n this._toggleButtonId,\r\n this._classes.datepickerToggleButton\r\n );\r\n this._element.insertAdjacentHTML(\"beforeend\", toggleButton);\r\n }\r\n\r\n open() {\r\n if (this._input.readOnly || this._input.disabled) {\r\n return;\r\n }\r\n const openEvent = EventHandler.trigger(this._element, EVENT_OPEN);\r\n\r\n if (this._isOpen || openEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._setInitialDate();\r\n\r\n const backdrop = getBackdropTemplate(this._classes.datepickerBackdrop);\r\n const template = getDatepickerTemplate(\r\n this._activeDate,\r\n this._selectedDate,\r\n this._selectedYear,\r\n this._selectedMonth,\r\n this._options,\r\n MONTHS_IN_ROW,\r\n YEARS_IN_VIEW,\r\n YEARS_IN_ROW,\r\n this._toggleButtonId,\r\n this._classes\r\n );\r\n\r\n if (this._options.inline) {\r\n this._openDropdown(template);\r\n } else {\r\n this._openModal(backdrop, template);\r\n this._scrollBar.hide();\r\n }\r\n\r\n if (this._animations) {\r\n Manipulator.addClass(this.container, this._classes.fadeIn);\r\n Manipulator.addClass(backdrop, this._classes.fadeInShort);\r\n }\r\n\r\n this._setFocusTrap(this.container);\r\n\r\n this._listenToDateSelection();\r\n this._addControlsListeners();\r\n this._updateControlsDisabledState();\r\n this._listenToEscapeClick();\r\n this._listenToKeyboardNavigation();\r\n this._listenToDatesContainerFocus();\r\n this._listenToDatesContainerBlur();\r\n\r\n // We need to wait for popper initialization to avoid bug with\r\n // focusing dates container, otherwise dates container will be\r\n // focused before popper position update which can change the\r\n // scroll position on the page\r\n this._asyncFocusDatesContainer();\r\n this._updateViewControlsAndAttributes(this._view);\r\n this._isOpen = true;\r\n\r\n // Wait for the component to open to prevent immediate calling of the\r\n // close method upon detecting a click on toggle element (input/button)\r\n setTimeout(() => {\r\n this._listenToOutsideClick();\r\n }, 0);\r\n }\r\n\r\n _openDropdown(template) {\r\n this._popper = createPopper(this._input, template, {\r\n placement: \"bottom-start\",\r\n });\r\n const container = this._getContainer();\r\n container.appendChild(template);\r\n }\r\n\r\n _openModal(backdrop, template) {\r\n const container = this._getContainer();\r\n container.appendChild(backdrop);\r\n container.appendChild(template);\r\n }\r\n\r\n _setFocusTrap(element) {\r\n this._focusTrap = new FocusTrap(element, {\r\n event: \"keydown\",\r\n condition: (event) => event.key === \"Tab\",\r\n });\r\n this._focusTrap.trap();\r\n }\r\n\r\n _listenToUserInput() {\r\n EventHandler.on(this._input, \"input\", (event) => {\r\n this._handleUserInput(event.target.value);\r\n });\r\n }\r\n\r\n _listenToToggleClick() {\r\n EventHandler.on(\r\n this._element,\r\n EVENT_CLICK_DATA_API,\r\n DATEPICKER_TOGGLE_SELECTOR,\r\n (event) => {\r\n event.preventDefault();\r\n this.open();\r\n }\r\n );\r\n }\r\n\r\n _listenToToggleKeydown() {\r\n EventHandler.on(\r\n this._element,\r\n \"keydown\",\r\n DATEPICKER_TOGGLE_SELECTOR,\r\n (event) => {\r\n if (event.keyCode === ENTER && !this._isOpen) {\r\n this.open();\r\n }\r\n }\r\n );\r\n }\r\n\r\n _listenToDateSelection() {\r\n EventHandler.on(this.datesContainer, \"click\", (e) => {\r\n this._handleDateSelection(e);\r\n });\r\n }\r\n\r\n _handleDateSelection(e) {\r\n const dataset =\r\n e.target.nodeName === \"DIV\"\r\n ? e.target.parentNode.dataset\r\n : e.target.dataset;\r\n const cell = e.target.nodeName === \"DIV\" ? e.target.parentNode : e.target;\r\n\r\n if (dataset.teDate) {\r\n this._pickDay(dataset.teDate, cell);\r\n }\r\n\r\n if (dataset.teMonth && dataset.teYear) {\r\n const month = parseInt(dataset.teMonth, 10);\r\n const year = parseInt(dataset.teYear, 10);\r\n this._pickMonth(month, year);\r\n }\r\n\r\n if (dataset.teYear && !dataset.teMonth) {\r\n const year = parseInt(dataset.teYear, 10);\r\n this._pickYear(year);\r\n }\r\n\r\n if (!this._options.inline) {\r\n this._updateHeaderDate(\r\n this._activeDate,\r\n this._options.monthsShort,\r\n this._options.weekdaysShort\r\n );\r\n }\r\n }\r\n\r\n _updateHeaderDate(date, monthNames, dayNames) {\r\n const headerDateEl = SelectorEngine.findOne(\r\n DATE_TEXT_SELECTOR,\r\n this.container\r\n );\r\n const month = getMonth(date);\r\n const day = getDate(date);\r\n const dayNumber = getDayNumber(date);\r\n headerDateEl.innerHTML = `${dayNames[dayNumber]}, ${monthNames[month]} ${day}`;\r\n }\r\n\r\n _addControlsListeners() {\r\n EventHandler.on(this.nextButton, \"click\", () => {\r\n if (this._view === \"days\") {\r\n this.nextMonth();\r\n } else if (this._view === \"years\") {\r\n this.nextYears();\r\n } else {\r\n this.nextYear();\r\n }\r\n this._updateControlsDisabledState();\r\n });\r\n\r\n EventHandler.on(this.previousButton, \"click\", () => {\r\n if (this._view === \"days\") {\r\n this.previousMonth();\r\n } else if (this._view === \"years\") {\r\n this.previousYears();\r\n } else {\r\n this.previousYear();\r\n }\r\n this._updateControlsDisabledState();\r\n });\r\n\r\n EventHandler.on(this.viewChangeButton, \"click\", () => {\r\n if (this._view === \"days\") {\r\n this._changeView(\"years\");\r\n } else if (this._view === \"years\" || this._view === \"months\") {\r\n this._changeView(\"days\");\r\n }\r\n });\r\n\r\n if (!this._options.inline) {\r\n this._listenToFooterButtonsClick();\r\n }\r\n }\r\n\r\n _listenToFooterButtonsClick() {\r\n EventHandler.on(this.okButton, \"click\", () => this.handleOk());\r\n EventHandler.on(this.cancelButton, \"click\", () => this.handleCancel());\r\n EventHandler.on(this.clearButton, \"click\", () => this.handleClear());\r\n }\r\n\r\n _listenToOutsideClick() {\r\n EventHandler.on(document, EVENT_CLICK_DATA_API, (e) => {\r\n const isContainer = e.target === this.container;\r\n const isContainerContent =\r\n this.container && this.container.contains(e.target);\r\n\r\n if (!isContainer && !isContainerContent) {\r\n this.close();\r\n }\r\n });\r\n }\r\n\r\n _listenToEscapeClick() {\r\n EventHandler.on(document, \"keydown\", (event) => {\r\n if (event.keyCode === ESCAPE && this._isOpen) {\r\n this.close();\r\n }\r\n });\r\n }\r\n\r\n _listenToKeyboardNavigation() {\r\n EventHandler.on(this.datesContainer, \"keydown\", (event) => {\r\n this._handleKeydown(event);\r\n });\r\n }\r\n\r\n _listenToDatesContainerFocus() {\r\n EventHandler.on(this.datesContainer, \"focus\", () => {\r\n this._focusActiveCell(this.activeCell);\r\n });\r\n }\r\n\r\n _listenToDatesContainerBlur() {\r\n EventHandler.on(this.datesContainer, \"blur\", () => {\r\n this._removeCurrentFocusStyles();\r\n });\r\n }\r\n\r\n _handleKeydown(event) {\r\n if (this._view === \"days\") {\r\n this._handleDaysViewKeydown(event);\r\n }\r\n\r\n if (this._view === \"months\") {\r\n this._handleMonthsViewKeydown(event);\r\n }\r\n\r\n if (this._view === \"years\") {\r\n this._handleYearsViewKeydown(event);\r\n }\r\n }\r\n\r\n _handleDaysViewKeydown(event) {\r\n const oldActiveDate = this._activeDate;\r\n const previousActiveCell = this.activeCell;\r\n\r\n switch (event.keyCode) {\r\n case LEFT_ARROW:\r\n this._activeDate = addDays(this._activeDate, isRTL() ? 1 : -1);\r\n break;\r\n case RIGHT_ARROW:\r\n this._activeDate = addDays(this._activeDate, isRTL() ? -1 : 1);\r\n break;\r\n case UP_ARROW:\r\n this._activeDate = addDays(this._activeDate, -7);\r\n break;\r\n case DOWN_ARROW:\r\n this._activeDate = addDays(this._activeDate, 7);\r\n break;\r\n case HOME:\r\n this._activeDate = addDays(\r\n this._activeDate,\r\n 1 - getDate(this._activeDate)\r\n );\r\n break;\r\n case END:\r\n this._activeDate = addDays(\r\n this._activeDate,\r\n getDaysInMonth(this._activeDate) - getDate(this._activeDate)\r\n );\r\n break;\r\n case PAGE_UP:\r\n this._activeDate = addMonths(this._activeDate, -1);\r\n break;\r\n case PAGE_DOWN:\r\n this._activeDate = addMonths(this._activeDate, 1);\r\n break;\r\n case ENTER:\r\n case SPACE:\r\n this._selectDate(this._activeDate);\r\n this._handleDateSelection(event);\r\n event.preventDefault();\r\n return;\r\n default:\r\n return;\r\n }\r\n\r\n if (\r\n !areDatesInSameView(\r\n oldActiveDate,\r\n this._activeDate,\r\n this._view,\r\n YEARS_IN_VIEW,\r\n this._options.min,\r\n this._options.max\r\n )\r\n ) {\r\n this._changeView(\"days\");\r\n }\r\n\r\n this._removeHighlightFromCell(previousActiveCell);\r\n this._focusActiveCell(this.activeCell);\r\n event.preventDefault();\r\n }\r\n\r\n _asyncFocusDatesContainer() {\r\n setTimeout(() => {\r\n this.datesContainer.focus();\r\n }, 0);\r\n }\r\n\r\n _focusActiveCell(cell) {\r\n if (cell) {\r\n cell.setAttribute(\"data-te-datepicker-cell-focused\", \"\");\r\n }\r\n }\r\n\r\n _removeHighlightFromCell(cell) {\r\n if (cell) {\r\n cell.removeAttribute(\"data-te-datepicker-cell-focused\");\r\n }\r\n }\r\n\r\n _getActiveDayCell() {\r\n const cells = SelectorEngine.find(\"td\", this.datesContainer);\r\n\r\n const activeCell = Array.from(cells).find((cell) => {\r\n const cellDate = convertStringToDate(cell.dataset.teDate);\r\n return isSameDate(cellDate, this._activeDate);\r\n });\r\n\r\n return activeCell;\r\n }\r\n\r\n _handleMonthsViewKeydown(event) {\r\n const oldActiveDate = this._activeDate;\r\n const previousActiveCell = this.activeCell;\r\n\r\n switch (event.keyCode) {\r\n case LEFT_ARROW:\r\n this._activeDate = addMonths(this._activeDate, isRTL() ? 1 : -1);\r\n break;\r\n case RIGHT_ARROW:\r\n this._activeDate = addMonths(this._activeDate, isRTL() ? -1 : 1);\r\n break;\r\n case UP_ARROW:\r\n this._activeDate = addMonths(this._activeDate, -4);\r\n break;\r\n case DOWN_ARROW:\r\n this._activeDate = addMonths(this._activeDate, 4);\r\n break;\r\n case HOME:\r\n this._activeDate = addMonths(this._activeDate, -this.activeMonth);\r\n break;\r\n case END:\r\n this._activeDate = addMonths(this._activeDate, 11 - this.activeMonth);\r\n break;\r\n case PAGE_UP:\r\n this._activeDate = addYears(this._activeDate, -1);\r\n break;\r\n case PAGE_DOWN:\r\n this._activeDate = addYears(this._activeDate, 1);\r\n break;\r\n case ENTER:\r\n case SPACE:\r\n this._selectMonth(this.activeMonth);\r\n return;\r\n default:\r\n return;\r\n }\r\n\r\n if (\r\n !areDatesInSameView(\r\n oldActiveDate,\r\n this._activeDate,\r\n this._view,\r\n YEARS_IN_VIEW,\r\n this._options.min,\r\n this._options.max\r\n )\r\n ) {\r\n this._changeView(\"months\");\r\n }\r\n\r\n this._removeHighlightFromCell(previousActiveCell);\r\n this._focusActiveCell(this.activeCell);\r\n event.preventDefault();\r\n }\r\n\r\n _getActiveMonthCell() {\r\n const cells = SelectorEngine.find(\"td\", this.datesContainer);\r\n\r\n const activeCell = Array.from(cells).find((cell) => {\r\n const cellYear = parseInt(cell.dataset.teYear, 10);\r\n const cellMonth = parseInt(cell.dataset.teMonth, 10);\r\n return cellYear === this.activeYear && cellMonth === this.activeMonth;\r\n });\r\n\r\n return activeCell;\r\n }\r\n\r\n _handleYearsViewKeydown(event) {\r\n const oldActiveDate = this._activeDate;\r\n const previousActiveCell = this.activeCell;\r\n const yearsPerRow = 4;\r\n const yearsPerPage = 24;\r\n\r\n switch (event.keyCode) {\r\n case LEFT_ARROW:\r\n this._activeDate = addYears(this._activeDate, isRTL() ? 1 : -1);\r\n break;\r\n case RIGHT_ARROW:\r\n this._activeDate = addYears(this._activeDate, isRTL() ? -1 : 1);\r\n break;\r\n case UP_ARROW:\r\n this._activeDate = addYears(this._activeDate, -yearsPerRow);\r\n break;\r\n case DOWN_ARROW:\r\n this._activeDate = addYears(this._activeDate, yearsPerRow);\r\n break;\r\n case HOME:\r\n this._activeDate = addYears(\r\n this._activeDate,\r\n -getYearsOffset(this._activeDate, yearsPerPage)\r\n );\r\n break;\r\n case END:\r\n this._activeDate = addYears(\r\n this._activeDate,\r\n yearsPerPage - getYearsOffset(this._activeDate, yearsPerPage) - 1\r\n );\r\n break;\r\n case PAGE_UP:\r\n this._activeDate = addYears(this._activeDate, -yearsPerPage);\r\n break;\r\n case PAGE_DOWN:\r\n this._activeDate = addYears(this._activeDate, yearsPerPage);\r\n break;\r\n case ENTER:\r\n case SPACE:\r\n this._selectYear(this.activeYear);\r\n return;\r\n default:\r\n return;\r\n }\r\n\r\n if (\r\n !areDatesInSameView(\r\n oldActiveDate,\r\n this._activeDate,\r\n this._view,\r\n YEARS_IN_VIEW,\r\n this._options.min,\r\n this._options.max\r\n )\r\n ) {\r\n this._changeView(\"years\");\r\n }\r\n\r\n this._removeHighlightFromCell(previousActiveCell);\r\n this._focusActiveCell(this.activeCell);\r\n event.preventDefault();\r\n }\r\n\r\n _getActiveYearCell() {\r\n const cells = SelectorEngine.find(\"td\", this.datesContainer);\r\n\r\n const activeCell = Array.from(cells).find((cell) => {\r\n const cellYear = parseInt(cell.dataset.teYear, 10);\r\n return cellYear === this.activeYear;\r\n });\r\n\r\n return activeCell;\r\n }\r\n\r\n _setInitialDate() {\r\n if (this._input.value) {\r\n this._handleUserInput(this._input.value);\r\n } else if (this._options.startDate) {\r\n this._activeDate = new Date(this._options.startDate);\r\n } else {\r\n this._activeDate = new Date();\r\n }\r\n }\r\n\r\n close() {\r\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE);\r\n\r\n if (!this._isOpen || closeEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._removeDatepickerListeners();\r\n\r\n if (this._animations) {\r\n Manipulator.addClass(this.container, this._classes.fadeOut);\r\n }\r\n\r\n if (this._options.inline) {\r\n this._closeDropdown();\r\n } else {\r\n this._closeModal();\r\n }\r\n\r\n this._isOpen = false;\r\n this._view = this._options.view;\r\n\r\n if (this.toggleButton) {\r\n this.toggleButton.focus();\r\n } else {\r\n this._input.focus();\r\n }\r\n }\r\n\r\n _closeDropdown() {\r\n const datepicker = SelectorEngine.findOne(DROPDOWN_CONTAINER_SELECTOR);\r\n const container = this._getContainer();\r\n if (window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches) {\r\n if (datepicker) {\r\n container.removeChild(datepicker);\r\n }\r\n\r\n if (this._popper) {\r\n this._popper.destroy();\r\n }\r\n }\r\n datepicker.addEventListener(\"animationend\", () => {\r\n if (datepicker) {\r\n container.removeChild(datepicker);\r\n }\r\n\r\n if (this._popper) {\r\n this._popper.destroy();\r\n }\r\n });\r\n this._removeFocusTrap();\r\n }\r\n\r\n _closeModal() {\r\n const backdrop = SelectorEngine.findOne(BACKDROP_SELECTOR);\r\n const datepicker = SelectorEngine.findOne(MODAL_CONTAINER_SELECTOR);\r\n\r\n if (!datepicker || !backdrop) {\r\n return;\r\n }\r\n\r\n if (this._animations) {\r\n Manipulator.addClass(backdrop, this._classes.fadeOutShort);\r\n\r\n backdrop.addEventListener(\"animationend\", () => {\r\n this._removePicker(backdrop, datepicker);\r\n this._scrollBar.reset();\r\n });\r\n } else {\r\n this._removePicker(backdrop, datepicker);\r\n this._scrollBar.reset();\r\n }\r\n }\r\n\r\n _removePicker(backdrop, datepicker) {\r\n const container = this._getContainer();\r\n\r\n container.removeChild(backdrop);\r\n container.removeChild(datepicker);\r\n }\r\n\r\n _removeFocusTrap() {\r\n if (this._focusTrap) {\r\n this._focusTrap.disable();\r\n this._focusTrap = null;\r\n }\r\n }\r\n\r\n _removeDatepickerListeners() {\r\n EventHandler.off(this.nextButton, \"click\");\r\n EventHandler.off(this.previousButton, \"click\");\r\n EventHandler.off(this.viewChangeButton, \"click\");\r\n EventHandler.off(this.okButton, \"click\");\r\n EventHandler.off(this.cancelButton, \"click\");\r\n EventHandler.off(this.clearButton, \"click\");\r\n\r\n EventHandler.off(this.datesContainer, \"click\");\r\n EventHandler.off(this.datesContainer, \"keydown\");\r\n EventHandler.off(this.datesContainer, \"focus\");\r\n EventHandler.off(this.datesContainer, \"blur\");\r\n\r\n EventHandler.off(document, EVENT_CLICK_DATA_API);\r\n }\r\n\r\n dispose() {\r\n if (this._isOpen) {\r\n this.close();\r\n }\r\n\r\n this._removeInputAndToggleListeners();\r\n\r\n const generatedToggleButton = SelectorEngine.findOne(\r\n `#${this._toggleButtonId}`\r\n );\r\n\r\n if (generatedToggleButton) {\r\n this._element.removeChild(generatedToggleButton);\r\n }\r\n\r\n Data.removeData(this._element, DATA_KEY);\r\n\r\n this._element = null;\r\n this._input = null;\r\n this._options = null;\r\n this._activeDate = null;\r\n this._selectedDate = null;\r\n this._selectedYear = null;\r\n this._selectedMonth = null;\r\n this._headerDate = null;\r\n this._headerYear = null;\r\n this._headerMonth = null;\r\n this._view = null;\r\n this._popper = null;\r\n this._focusTrap = null;\r\n }\r\n\r\n _removeInputAndToggleListeners() {\r\n EventHandler.off(this._input, \"input\");\r\n EventHandler.off(\r\n this._element,\r\n EVENT_CLICK_DATA_API,\r\n DATEPICKER_TOGGLE_SELECTOR\r\n );\r\n EventHandler.off(this._element, \"keydown\", DATEPICKER_TOGGLE_SELECTOR);\r\n }\r\n\r\n handleOk() {\r\n this._confirmSelection(this._headerDate);\r\n this.close();\r\n }\r\n\r\n _selectDate(date, cell = this.activeCell) {\r\n const { min, max, filter, disablePast, disableFuture } = this._options;\r\n\r\n if (isDateDisabled(date, min, max, filter, disablePast, disableFuture)) {\r\n return;\r\n }\r\n\r\n this._removeCurrentSelectionStyles();\r\n this._removeCurrentFocusStyles();\r\n this._addSelectedStyles(cell);\r\n this._selectedDate = date;\r\n this._selectedYear = getYear(date);\r\n this._selectedMonth = getMonth(date);\r\n this._headerDate = date;\r\n\r\n if (this._options.inline || this.options.confirmDateOnSelect) {\r\n this._confirmSelection(date);\r\n this.close();\r\n }\r\n }\r\n\r\n _selectYear(year, cell = this.activeCell) {\r\n this._removeCurrentSelectionStyles();\r\n this._removeCurrentFocusStyles();\r\n this._addSelectedStyles(cell);\r\n this._headerYear = year;\r\n\r\n this._asyncChangeView(\"months\");\r\n }\r\n\r\n _selectMonth(month, cell = this.activeCell) {\r\n this._removeCurrentSelectionStyles();\r\n this._removeCurrentFocusStyles();\r\n this._addSelectedStyles(cell);\r\n this._headerMonth = month;\r\n\r\n this._asyncChangeView(\"days\");\r\n }\r\n\r\n _removeSelectedStyles(cell) {\r\n if (cell) {\r\n cell.removeAttribute(\"data-te-datepicker-cell-selected\");\r\n }\r\n }\r\n\r\n _addSelectedStyles(cell) {\r\n if (cell) {\r\n cell.setAttribute(\"data-te-datepicker-cell-selected\", \"\");\r\n }\r\n }\r\n\r\n _confirmSelection(date) {\r\n if (date) {\r\n const dateString = this.formatDate(date);\r\n this._input.value = dateString;\r\n EventHandler.trigger(this._element, EVENT_DATE_CHANGE, { date });\r\n EventHandler.trigger(this._input, \"input\");\r\n }\r\n }\r\n\r\n handleCancel() {\r\n this._selectedDate = null;\r\n this._selectedYear = null;\r\n this._selectedMonth = null;\r\n this.close();\r\n }\r\n\r\n handleClear() {\r\n this._selectedDate = null;\r\n this._selectedMonth = null;\r\n this._selectedYear = null;\r\n this._headerDate = null;\r\n this._headerMonth = null;\r\n this._headerYear = null;\r\n this._removeCurrentSelectionStyles();\r\n this._input.value = \"\";\r\n this._setInitialDate();\r\n this._changeView(\"days\");\r\n this._updateHeaderDate(\r\n this._activeDate,\r\n this._options.monthsShort,\r\n this._options.weekdaysShort\r\n );\r\n }\r\n\r\n _removeCurrentSelectionStyles() {\r\n const currentSelected = SelectorEngine.findOne(\r\n \"[data-te-datepicker-cell-selected]\",\r\n this.container\r\n );\r\n\r\n if (currentSelected) {\r\n currentSelected.removeAttribute(\"data-te-datepicker-cell-selected\");\r\n }\r\n }\r\n\r\n _removeCurrentFocusStyles() {\r\n const currentFocused = SelectorEngine.findOne(\r\n \"[data-te-datepicker-cell-focused]\",\r\n this.container\r\n );\r\n\r\n if (currentFocused) {\r\n currentFocused.removeAttribute(\"data-te-datepicker-cell-focused\");\r\n }\r\n }\r\n\r\n formatDate(date) {\r\n const d = getDate(date);\r\n const dd = this._addLeadingZero(getDate(date));\r\n const ddd = this._options.weekdaysShort[getDayNumber(date)];\r\n const dddd = this._options.weekdaysFull[getDayNumber(date)];\r\n const m = getMonth(date) + 1;\r\n const mm = this._addLeadingZero(getMonth(date) + 1);\r\n const mmm = this._options.monthsShort[getMonth(date)];\r\n const mmmm = this._options.monthsFull[getMonth(date)];\r\n const yy =\r\n getYear(date).toString().length === 2\r\n ? getYear(date)\r\n : getYear(date).toString().slice(2, 4);\r\n const yyyy = getYear(date);\r\n\r\n const preformatted = this._options.format.split(\r\n /(d{1,4}|m{1,4}|y{4}|yy|!.)/g\r\n );\r\n let formatted = \"\";\r\n preformatted.forEach((datePart) => {\r\n switch (datePart) {\r\n case \"dddd\":\r\n datePart = datePart.replace(datePart, dddd);\r\n break;\r\n case \"ddd\":\r\n datePart = datePart.replace(datePart, ddd);\r\n break;\r\n case \"dd\":\r\n datePart = datePart.replace(datePart, dd);\r\n break;\r\n case \"d\":\r\n datePart = datePart.replace(datePart, d);\r\n break;\r\n case \"mmmm\":\r\n datePart = datePart.replace(datePart, mmmm);\r\n break;\r\n case \"mmm\":\r\n datePart = datePart.replace(datePart, mmm);\r\n break;\r\n case \"mm\":\r\n datePart = datePart.replace(datePart, mm);\r\n break;\r\n case \"m\":\r\n datePart = datePart.replace(datePart, m);\r\n break;\r\n case \"yyyy\":\r\n datePart = datePart.replace(datePart, yyyy);\r\n break;\r\n case \"yy\":\r\n datePart = datePart.replace(datePart, yy);\r\n break;\r\n default:\r\n }\r\n formatted += datePart;\r\n });\r\n\r\n return formatted;\r\n }\r\n\r\n _addLeadingZero(value) {\r\n return parseInt(value, 10) < 10 ? `0${value}` : value;\r\n }\r\n\r\n _pickDay(day, el) {\r\n const date = convertStringToDate(day);\r\n const { min, max, filter, disablePast, disableFuture } = this._options;\r\n\r\n if (isDateDisabled(date, min, max, filter, disablePast, disableFuture)) {\r\n return;\r\n }\r\n\r\n this._activeDate = date;\r\n this._selectDate(date, el);\r\n }\r\n\r\n _pickYear(year) {\r\n const { min, max, disablePast, disableFuture } = this._options;\r\n\r\n if (isYearDisabled(year, min, max, disablePast, disableFuture)) {\r\n return;\r\n }\r\n\r\n const newDate = createDate(year, this.activeMonth, this.activeDay);\r\n\r\n this._activeDate = newDate;\r\n this._selectedDate = newDate;\r\n this._selectYear(year);\r\n }\r\n\r\n _pickMonth(month, year) {\r\n const { min, max, disablePast, disableFuture } = this._options;\r\n\r\n if (\r\n isMonthDisabled(month, year, min, max, disablePast, disableFuture) ||\r\n isYearDisabled(year, min, max, disablePast, disableFuture)\r\n ) {\r\n return;\r\n }\r\n\r\n const newDate = createDate(year, month, this.activeDay);\r\n\r\n this._activeDate = newDate;\r\n this._selectMonth(month);\r\n }\r\n\r\n nextMonth() {\r\n const nextMonth = addMonths(this._activeDate, 1);\r\n const template = createDayViewTemplate(\r\n nextMonth,\r\n this._headerDate,\r\n this._options,\r\n this._classes\r\n );\r\n this._activeDate = nextMonth;\r\n this.viewChangeButton.textContent = `${\r\n this._options.monthsFull[this.activeMonth]\r\n } ${this.activeYear}`;\r\n this.viewChangeButton.innerHTML += createViewChangeButtonIcon(\r\n this._options,\r\n this._classes\r\n );\r\n this.datesContainer.innerHTML = template;\r\n }\r\n\r\n previousMonth() {\r\n const previousMonth = addMonths(this._activeDate, -1);\r\n this._activeDate = previousMonth;\r\n const template = createDayViewTemplate(\r\n previousMonth,\r\n this._headerDate,\r\n this._options,\r\n this._classes\r\n );\r\n this.viewChangeButton.textContent = `${\r\n this._options.monthsFull[this.activeMonth]\r\n } ${this.activeYear}`;\r\n this.viewChangeButton.innerHTML += createViewChangeButtonIcon(\r\n this._options,\r\n this._classes\r\n );\r\n this.datesContainer.innerHTML = template;\r\n }\r\n\r\n nextYear() {\r\n const nextYear = addYears(this._activeDate, 1);\r\n this._activeDate = nextYear;\r\n this.viewChangeButton.textContent = `${this.activeYear}`;\r\n this.viewChangeButton.innerHTML += createViewChangeButtonIcon(\r\n this._options,\r\n this._classes\r\n );\r\n const template = createMonthViewTemplate(\r\n this.activeYear,\r\n this._selectedYear,\r\n this._selectedMonth,\r\n this._options,\r\n MONTHS_IN_ROW,\r\n this._classes\r\n );\r\n this.datesContainer.innerHTML = template;\r\n }\r\n\r\n previousYear() {\r\n const previousYear = addYears(this._activeDate, -1);\r\n this._activeDate = previousYear;\r\n this.viewChangeButton.textContent = `${this.activeYear}`;\r\n this.viewChangeButton.innerHTML += createViewChangeButtonIcon(\r\n this._options,\r\n this._classes\r\n );\r\n const template = createMonthViewTemplate(\r\n this.activeYear,\r\n this._selectedYear,\r\n this._selectedMonth,\r\n this._options,\r\n MONTHS_IN_ROW,\r\n this._classes\r\n );\r\n this.datesContainer.innerHTML = template;\r\n }\r\n\r\n nextYears() {\r\n const nextYear = addYears(this._activeDate, 24);\r\n this._activeDate = nextYear;\r\n const template = createYearViewTemplate(\r\n nextYear,\r\n this._selectedYear,\r\n this._options,\r\n YEARS_IN_VIEW,\r\n YEARS_IN_ROW,\r\n this._classes\r\n );\r\n this.viewChangeButton.textContent = `${this.firstYearInView} - ${this.lastYearInView}`;\r\n this.viewChangeButton.innerHTML += createViewChangeButtonIcon(\r\n this._options,\r\n this._classes\r\n );\r\n this.datesContainer.innerHTML = template;\r\n }\r\n\r\n previousYears() {\r\n const previousYear = addYears(this._activeDate, -24);\r\n this._activeDate = previousYear;\r\n const template = createYearViewTemplate(\r\n previousYear,\r\n this._selectedYear,\r\n this._options,\r\n YEARS_IN_VIEW,\r\n YEARS_IN_ROW,\r\n this._classes\r\n );\r\n this.viewChangeButton.textContent = `${this.firstYearInView} - ${this.lastYearInView}`;\r\n this.viewChangeButton.innerHTML += createViewChangeButtonIcon(\r\n this._options,\r\n this._classes\r\n );\r\n this.datesContainer.innerHTML = template;\r\n }\r\n\r\n _asyncChangeView(view) {\r\n setTimeout(() => {\r\n this._changeView(view);\r\n }, 0);\r\n }\r\n\r\n _changeView(view) {\r\n this._view = view;\r\n // We need to add blur event here to reapply focus to\r\n // dates container when switching from years to months\r\n // view after selecting year\r\n this.datesContainer.blur();\r\n\r\n if (view === \"days\") {\r\n this.datesContainer.innerHTML = createDayViewTemplate(\r\n this._activeDate,\r\n this._headerDate,\r\n this._options,\r\n this._classes\r\n );\r\n }\r\n\r\n if (view === \"months\") {\r\n this.datesContainer.innerHTML = createMonthViewTemplate(\r\n this.activeYear,\r\n this._selectedYear,\r\n this._selectedMonth,\r\n this._options,\r\n MONTHS_IN_ROW,\r\n this._classes\r\n );\r\n }\r\n\r\n if (view === \"years\") {\r\n this.datesContainer.innerHTML = createYearViewTemplate(\r\n this._activeDate,\r\n this._selectedYear,\r\n this._options,\r\n YEARS_IN_VIEW,\r\n YEARS_IN_ROW,\r\n this._classes\r\n );\r\n }\r\n\r\n this.datesContainer.focus();\r\n this._updateViewControlsAndAttributes(view);\r\n this._updateControlsDisabledState();\r\n }\r\n\r\n _updateViewControlsAndAttributes(view) {\r\n if (view === \"days\") {\r\n this.viewChangeButton.textContent = `${\r\n this._options.monthsFull[this.activeMonth]\r\n } ${this.activeYear}`;\r\n this.viewChangeButton.innerHTML += createViewChangeButtonIcon(\r\n this._options,\r\n this._classes\r\n );\r\n this.viewChangeButton.setAttribute(\r\n \"aria-label\",\r\n this._options.switchToMultiYearViewLabel\r\n );\r\n this.previousButton.setAttribute(\r\n \"aria-label\",\r\n this._options.prevMonthLabel\r\n );\r\n this.nextButton.setAttribute(\"aria-label\", this._options.nextMonthLabel);\r\n }\r\n\r\n if (view === \"months\") {\r\n this.viewChangeButton.textContent = `${this.activeYear}`;\r\n this.viewChangeButton.innerHTML += createViewChangeButtonIcon(\r\n this._options,\r\n this._classes\r\n );\r\n this.viewChangeButton.setAttribute(\r\n \"aria-label\",\r\n this._options.switchToDayViewLabel\r\n );\r\n this.previousButton.setAttribute(\r\n \"aria-label\",\r\n this._options.prevYearLabel\r\n );\r\n this.nextButton.setAttribute(\"aria-label\", this._options.nextYearLabel);\r\n }\r\n\r\n if (view === \"years\") {\r\n this.viewChangeButton.textContent = `${this.firstYearInView} - ${this.lastYearInView}`;\r\n this.viewChangeButton.innerHTML += createViewChangeButtonIcon(\r\n this._options,\r\n this._classes\r\n );\r\n this.viewChangeButton.setAttribute(\r\n \"aria-label\",\r\n this._options.switchToMonthViewLabel\r\n );\r\n this.previousButton.setAttribute(\r\n \"aria-label\",\r\n this._options.prevMultiYearLabel\r\n );\r\n this.nextButton.setAttribute(\r\n \"aria-label\",\r\n this._options.nextMultiYearLabel\r\n );\r\n }\r\n }\r\n\r\n _updateControlsDisabledState() {\r\n if (\r\n isNextDateDisabled(\r\n this._options.disableFuture,\r\n this._activeDate,\r\n this._view,\r\n YEARS_IN_VIEW,\r\n this._options.min,\r\n this._options.max,\r\n this.lastYearInView,\r\n this.firstYearInView\r\n )\r\n ) {\r\n this.nextButton.disabled = true;\r\n } else {\r\n this.nextButton.disabled = false;\r\n }\r\n\r\n if (\r\n isPreviousDateDisabled(\r\n this._options.disablePast,\r\n this._activeDate,\r\n this._view,\r\n YEARS_IN_VIEW,\r\n this._options.min,\r\n this._options.max,\r\n this.lastYearInView,\r\n this.firstYearInView\r\n )\r\n ) {\r\n this.previousButton.disabled = true;\r\n } else {\r\n this.previousButton.disabled = false;\r\n }\r\n }\r\n\r\n _handleUserInput(input) {\r\n const delimeters = this._getDelimeters(this._options.format);\r\n const date = this._parseDate(input, this._options.format, delimeters);\r\n\r\n if (isValidDate(date)) {\r\n this._activeDate = date;\r\n this._selectedDate = date;\r\n this._selectedYear = getYear(date);\r\n this._selectedMonth = getMonth(date);\r\n this._headerDate = date;\r\n } else {\r\n this._activeDate = new Date();\r\n this._selectedDate = null;\r\n this._selectedMonth = null;\r\n this._selectedYear = null;\r\n this._headerDate = null;\r\n this._headerMonth = null;\r\n this._headerYear = null;\r\n }\r\n }\r\n\r\n _getDelimeters(format) {\r\n return format.match(/[^(dmy)]{1,}/g);\r\n }\r\n\r\n _parseDate(dateString, format, delimeters) {\r\n let delimeterPattern;\r\n\r\n if (delimeters[0] !== delimeters[1]) {\r\n delimeterPattern = delimeters[0] + delimeters[1];\r\n } else {\r\n delimeterPattern = delimeters[0];\r\n }\r\n\r\n const regExp = new RegExp(`[${delimeterPattern}]`);\r\n const dateParts = dateString.split(regExp);\r\n const formatParts = format.split(regExp);\r\n const isMonthString = format.indexOf(\"mmm\") !== -1;\r\n\r\n const datesArray = [];\r\n\r\n for (let i = 0; i < formatParts.length; i++) {\r\n if (formatParts[i].indexOf(\"yy\") !== -1) {\r\n datesArray[0] = { value: dateParts[i], format: formatParts[i] };\r\n }\r\n if (formatParts[i].indexOf(\"m\") !== -1) {\r\n datesArray[1] = { value: dateParts[i], format: formatParts[i] };\r\n }\r\n if (formatParts[i].indexOf(\"d\") !== -1 && formatParts[i].length <= 2) {\r\n datesArray[2] = { value: dateParts[i], format: formatParts[i] };\r\n }\r\n }\r\n\r\n let monthsNames;\r\n\r\n if (format.indexOf(\"mmmm\") !== -1) {\r\n monthsNames = this._options.monthsFull;\r\n } else {\r\n monthsNames = this._options.monthsShort;\r\n }\r\n\r\n const year = Number(datesArray[0].value);\r\n const month = isMonthString\r\n ? this.getMonthNumberByMonthName(datesArray[1].value, monthsNames)\r\n : Number(datesArray[1].value) - 1;\r\n const day = Number(datesArray[2].value);\r\n\r\n const parsedDate = createDate(year, month, day);\r\n return parsedDate;\r\n }\r\n\r\n getMonthNumberByMonthName(monthValue, monthLabels) {\r\n return monthLabels.findIndex((monthLabel) => monthLabel === monthValue);\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n}\r\n\r\nexport default Datepicker;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nexport const getTimepickerTemplate = (\r\n {\r\n format24,\r\n okLabel,\r\n cancelLabel,\r\n headID,\r\n footerID,\r\n bodyID,\r\n pickerID,\r\n clearLabel,\r\n inline,\r\n showClearBtn,\r\n amLabel,\r\n pmLabel,\r\n },\r\n classes\r\n) => {\r\n const normalTemplate = `
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ${\r\n !format24\r\n ? `
\r\n \r\n \r\n
`\r\n : \"\"\r\n }\r\n
\r\n
\r\n ${\r\n !inline\r\n ? `
\r\n
\r\n \r\n
\r\n
\r\n
\r\n ${\r\n format24\r\n ? '
'\r\n : \"\"\r\n }\r\n
\r\n
`\r\n : \"\"\r\n }\r\n
\r\n
\r\n
\r\n ${\r\n showClearBtn\r\n ? ``\r\n : \"\"\r\n }\r\n \r\n \r\n
\r\n
\r\n
\r\n
`;\r\n\r\n const inlineTemplate = `
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ${\r\n !format24\r\n ? `
\r\n \r\n \r\n \r\n
`\r\n : \"\"\r\n }\r\n ${\r\n format24\r\n ? ``\r\n : \"\"\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
`;\r\n return inline ? inlineTemplate : normalTemplate;\r\n};\r\n\r\nexport const getToggleButtonTemplate = (options, id, classes) => {\r\n const { iconSVG } = options;\r\n\r\n return `\r\n \r\n`;\r\n};\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\n/* eslint-disable consistent-return */\r\nimport EventHandler from \"../../dom/event-handler\";\r\nimport Manipulator from \"../../dom/manipulator\";\r\n\r\nconst ATTR_TIMEPICKER_DISABLED = \"data-te-timepicker-disabled\";\r\nconst ATTR_TIMEPICKER_ACTIVE = \"data-te-timepicker-active\";\r\n\r\nconst formatToAmPm = (date) => {\r\n if (date === \"\") return;\r\n let hours;\r\n let minutes;\r\n let amOrPm;\r\n let originalHours;\r\n\r\n if (isValidDate(date)) {\r\n hours = date.getHours();\r\n originalHours = hours;\r\n minutes = date.getMinutes();\r\n hours %= 12;\r\n if (originalHours === 0 && hours === 0) {\r\n amOrPm = \"AM\";\r\n }\r\n\r\n hours = hours || 12;\r\n\r\n if (amOrPm === undefined) {\r\n amOrPm = Number(originalHours) >= 12 ? \"PM\" : \"AM\";\r\n }\r\n\r\n minutes = minutes < 10 ? `0${minutes}` : minutes;\r\n } else {\r\n [hours, minutes, amOrPm] = takeValue(date, false);\r\n originalHours = hours;\r\n\r\n hours %= 12;\r\n if (originalHours === 0 && hours === 0) {\r\n amOrPm = \"AM\";\r\n }\r\n hours = hours || 12;\r\n\r\n if (amOrPm === undefined) {\r\n amOrPm = Number(originalHours) >= 12 ? \"PM\" : \"AM\";\r\n }\r\n }\r\n\r\n return {\r\n hours,\r\n minutes,\r\n amOrPm,\r\n };\r\n};\r\n\r\nconst isValidDate = (date) => {\r\n return (\r\n date &&\r\n Object.prototype.toString.call(date) === \"[object Date]\" &&\r\n !Number.isNaN(date)\r\n );\r\n};\r\n\r\nconst formatNormalHours = (date) => {\r\n if (date === \"\") return;\r\n\r\n let hours;\r\n let minutes;\r\n\r\n if (!isValidDate(date)) {\r\n [hours, minutes] = takeValue(date, false);\r\n } else {\r\n hours = date.getHours();\r\n minutes = date.getMinutes();\r\n }\r\n\r\n minutes = Number(minutes) < 10 ? `0${Number(minutes)}` : minutes;\r\n\r\n return {\r\n hours,\r\n minutes,\r\n };\r\n};\r\n\r\nconst toggleClassHandler = (event, selector, classes) => {\r\n return EventHandler.on(document, event, selector, ({ target }) => {\r\n if (target.hasAttribute(ATTR_TIMEPICKER_ACTIVE)) return;\r\n\r\n const allElements = document.querySelectorAll(selector);\r\n\r\n allElements.forEach((element) => {\r\n if (!element.hasAttribute(ATTR_TIMEPICKER_ACTIVE)) return;\r\n\r\n Manipulator.removeClass(element, classes.opacity);\r\n element.removeAttribute(ATTR_TIMEPICKER_ACTIVE);\r\n });\r\n\r\n Manipulator.addClass(target, classes.opacity);\r\n target.setAttribute(ATTR_TIMEPICKER_ACTIVE, \"\");\r\n });\r\n};\r\n\r\nconst findMousePosition = (\r\n { clientX, clientY, touches },\r\n object,\r\n isMobile = false\r\n) => {\r\n const { left, top } = object.getBoundingClientRect();\r\n let obj = {};\r\n if (!isMobile || !touches) {\r\n obj = {\r\n x: clientX - left,\r\n y: clientY - top,\r\n };\r\n } else if (isMobile && Object.keys(touches).length > 0) {\r\n obj = {\r\n x: touches[0].clientX - left,\r\n y: touches[0].clientY - top,\r\n };\r\n }\r\n\r\n return obj;\r\n};\r\n\r\nconst checkBrowser = () => {\r\n const isBrowserMatched =\r\n (navigator.maxTouchPoints &&\r\n navigator.maxTouchPoints > 2 &&\r\n /MacIntel/.test(navigator.platform)) ||\r\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\r\n navigator.userAgent\r\n );\r\n\r\n return isBrowserMatched;\r\n};\r\n\r\nconst takeValue = (element, isInput = true) => {\r\n if (isInput) return element.value.replace(/:/gi, \" \").split(\" \");\r\n\r\n return element.replace(/:/gi, \" \").split(\" \");\r\n};\r\n\r\nconst compareTimes = (time1, time2) => {\r\n const [time1Hour, time1Minutes, time1maxTimeFormat] = takeValue(time1, false);\r\n const [time2Hour, time2Minutes, time2maxTimeFormat] = takeValue(time2, false);\r\n\r\n const bothFormatsEqual = time1maxTimeFormat === time2maxTimeFormat;\r\n const condition =\r\n (time1maxTimeFormat === \"PM\" && time2maxTimeFormat === \"AM\") ||\r\n (bothFormatsEqual && time1Hour > time2Hour) ||\r\n time1Minutes > time2Minutes;\r\n\r\n return condition;\r\n};\r\n\r\nconst getCurrentTime = () => {\r\n const date = new Date();\r\n const currentHours = date.getHours();\r\n const currentMinutes = date.getMinutes();\r\n\r\n const currentTime = `${currentHours}:${\r\n currentMinutes < 10 ? `0${currentMinutes}` : currentMinutes\r\n }`;\r\n\r\n return currentTime;\r\n};\r\n\r\nconst setMinTime = (minTime, disabledPast, format12) => {\r\n if (!disabledPast) {\r\n return minTime;\r\n }\r\n let currentTime = getCurrentTime();\r\n\r\n if (format12) {\r\n currentTime = `${formatToAmPm(currentTime).hours}:${\r\n formatToAmPm(currentTime).minutes\r\n } ${formatToAmPm(currentTime).amOrPm}`;\r\n }\r\n if (\r\n (minTime !== \"\" && compareTimes(currentTime, minTime)) ||\r\n minTime === \"\"\r\n ) {\r\n minTime = currentTime;\r\n }\r\n return minTime;\r\n};\r\n\r\nconst setMaxTime = (maxTime, disabledFuture, format12) => {\r\n if (!disabledFuture) return maxTime;\r\n\r\n let currentTime = getCurrentTime();\r\n\r\n if (format12) {\r\n currentTime = `${formatToAmPm(currentTime).hours}:${\r\n formatToAmPm(currentTime).minutes\r\n } ${formatToAmPm(currentTime).amOrPm}`;\r\n }\r\n\r\n if (\r\n (maxTime !== \"\" && !compareTimes(currentTime, maxTime)) ||\r\n maxTime === \"\"\r\n ) {\r\n maxTime = currentTime;\r\n }\r\n\r\n return maxTime;\r\n};\r\n\r\nconst checkValueBeforeAccept = (\r\n { format12, maxTime, minTime, disablePast, disableFuture },\r\n input,\r\n hourHeader\r\n) => {\r\n const minute = takeValue(input)[1];\r\n\r\n minTime = setMinTime(minTime, disablePast, format12);\r\n maxTime = setMaxTime(maxTime, disableFuture, format12);\r\n\r\n const [maxTimeHour, maxTimeMin, maxTimeFormat] = takeValue(maxTime, false);\r\n const [minTimeHour, minTimeMin, minTimeFormat] = takeValue(minTime, false);\r\n\r\n if (maxTimeFormat !== undefined || minTimeFormat !== undefined)\r\n return [hourHeader, minute];\r\n\r\n if (\r\n maxTimeHour !== \"\" &&\r\n minTimeHour === \"\" &&\r\n Number(hourHeader) > Number(maxTimeHour)\r\n )\r\n return;\r\n\r\n if (\r\n maxTimeHour === \"\" &&\r\n minTimeHour !== \"\" &&\r\n maxTimeMin === undefined &&\r\n minTimeMin !== \"\" &&\r\n Number(hourHeader) < Number(minTimeHour)\r\n )\r\n return;\r\n\r\n return [hourHeader, minute];\r\n};\r\n\r\nconst _verifyMaxTimeHourAndAddDisabledClass = (\r\n tips,\r\n maxTimeHour,\r\n classes,\r\n format12\r\n) => {\r\n tips.forEach((tip) => {\r\n maxTimeHour = maxTimeHour === \"12\" && format12 ? \"0\" : maxTimeHour;\r\n if (\r\n tip.textContent === \"00\" ||\r\n Number(tip.textContent === \"12\" && format12 ? \"0\" : tip.textContent) >\r\n maxTimeHour\r\n ) {\r\n Manipulator.addClass(tip, classes.tipsDisabled);\r\n tip.setAttribute(ATTR_TIMEPICKER_DISABLED, \"\");\r\n }\r\n });\r\n};\r\n\r\nconst _verifyMinTimeHourAndAddDisabledClass = (\r\n tips,\r\n minTimeHour,\r\n classes,\r\n format12\r\n) => {\r\n tips.forEach((tip) => {\r\n minTimeHour = minTimeHour === \"12\" && format12 ? \"0\" : minTimeHour;\r\n if (\r\n tip.textContent !== \"00\" &&\r\n Number(tip.textContent === \"12\" && format12 ? \"0\" : tip.textContent) <\r\n Number(minTimeHour)\r\n ) {\r\n Manipulator.addClass(tip, classes.tipsDisabled);\r\n tip.setAttribute(ATTR_TIMEPICKER_DISABLED, \"\");\r\n }\r\n });\r\n};\r\n\r\nconst _isHourDisabled = (selectedHour, timeHour, format12, operator) => {\r\n if (timeHour === \"12\" || timeHour === \"24\") {\r\n return;\r\n }\r\n\r\n const hourChange = format12 ? 12 : 24;\r\n\r\n if (operator === \"max\") {\r\n return (\r\n (Number(selectedHour) === hourChange ? 0 : Number(selectedHour)) >\r\n Number(timeHour)\r\n );\r\n }\r\n return (\r\n (Number(selectedHour) === hourChange ? 0 : Number(selectedHour)) <\r\n Number(timeHour)\r\n );\r\n};\r\n\r\nconst _verifyMaxTimeMinutesTipsAndAddDisabledClass = (\r\n tips,\r\n maxMinutes,\r\n maxHour,\r\n currHour,\r\n classes,\r\n format12\r\n) => {\r\n tips.forEach((tip) => {\r\n if (\r\n _isHourDisabled(currHour, maxHour, format12, \"max\") ||\r\n (Number(tip.textContent) > maxMinutes &&\r\n Number(currHour) === Number(maxHour))\r\n ) {\r\n Manipulator.addClass(tip, classes.tipsDisabled);\r\n tip.setAttribute(ATTR_TIMEPICKER_DISABLED, \"\");\r\n }\r\n });\r\n};\r\n\r\nconst _verifyMinTimeMinutesTipsAndAddDisabledClass = (\r\n tips,\r\n minMinutes,\r\n minHour,\r\n currHour,\r\n classes,\r\n format12\r\n) => {\r\n tips.forEach((tip) => {\r\n if (\r\n _isHourDisabled(currHour, minHour, format12, \"min\") ||\r\n (Number(tip.textContent) < minMinutes &&\r\n Number(currHour) === Number(minHour))\r\n ) {\r\n Manipulator.addClass(tip, classes.tipsDisabled);\r\n tip.setAttribute(ATTR_TIMEPICKER_DISABLED, \"\");\r\n }\r\n });\r\n};\r\n\r\nconst _convertHourToNumber = (string) => {\r\n if (string.startsWith(\"0\")) return Number(string.slice(1));\r\n\r\n return Number(string);\r\n};\r\n\r\nexport {\r\n checkBrowser,\r\n findMousePosition,\r\n formatNormalHours,\r\n formatToAmPm,\r\n toggleClassHandler,\r\n checkValueBeforeAccept,\r\n takeValue,\r\n compareTimes,\r\n setMinTime,\r\n setMaxTime,\r\n _verifyMinTimeHourAndAddDisabledClass,\r\n _verifyMaxTimeMinutesTipsAndAddDisabledClass,\r\n _verifyMinTimeMinutesTipsAndAddDisabledClass,\r\n _verifyMaxTimeHourAndAddDisabledClass,\r\n _convertHourToNumber,\r\n};\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\n/* eslint-disable consistent-return */\r\n/* eslint-disable no-else-return */\r\nimport { createPopper } from \"@popperjs/core\";\r\nimport { typeCheckConfig, element, getUID } from \"../../util/index\";\r\nimport { getTimepickerTemplate, getToggleButtonTemplate } from \"./templates\";\r\nimport Data from \"../../dom/data\";\r\nimport Manipulator from \"../../dom/manipulator\";\r\nimport EventHandler, { EventHandlerMulti } from \"../../dom/event-handler\";\r\nimport {\r\n formatToAmPm,\r\n toggleClassHandler,\r\n checkBrowser,\r\n findMousePosition,\r\n takeValue,\r\n formatNormalHours,\r\n setMinTime,\r\n setMaxTime,\r\n _convertHourToNumber,\r\n checkValueBeforeAccept,\r\n _verifyMaxTimeHourAndAddDisabledClass,\r\n _verifyMaxTimeMinutesTipsAndAddDisabledClass,\r\n _verifyMinTimeHourAndAddDisabledClass,\r\n _verifyMinTimeMinutesTipsAndAddDisabledClass,\r\n} from \"./utils\";\r\nimport ScrollBarHelper from \"../../util/scrollbar\";\r\nimport FocusTrap from \"../../util/focusTrap\";\r\nimport SelectorEngine from \"../../dom/selector-engine\";\r\nimport {\r\n UP_ARROW,\r\n DOWN_ARROW,\r\n LEFT_ARROW,\r\n RIGHT_ARROW,\r\n ESCAPE,\r\n ENTER,\r\n} from \"../../util/keycodes\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nConstants\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nconst NAME = \"timepicker\";\r\nconst ATTR_NAME = `data-te-${NAME}`;\r\nconst SELECTOR_DATA_TE_TOGGLE = \"[data-te-toggle]\";\r\n\r\nconst DATA_KEY = `te.${NAME}`;\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = \".data-api\";\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_MOUSEDOWN_DATA_API = `mousedown${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_MOUSEUP_DATA_API = `mouseup${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_MOUSEMOVE_DATA_API = `mousemove${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_MOUSELEAVE_DATA_API = `mouseleave${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_MOUSEOVER_DATA_API = `mouseover${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_TOUCHMOVE_DATA_API = `touchmove${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_TOUCHEND_DATA_API = `touchend${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_TOUCHSTART_DATA_API = `touchstart${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst SELECTOR_ATTR_TIMEPICKER_AM = `[${ATTR_NAME}-am]`;\r\nconst SELECTOR_ATTR_TIMEPICKER_PM = `[${ATTR_NAME}-pm]`;\r\nconst SELECTOR_ATTR_TIMEPICKER_FORMAT24 = `[${ATTR_NAME}-format24]`;\r\nconst SELECTOR_ATTR_TIMEPICKER_CURRENT = `[${ATTR_NAME}-current]`;\r\nconst SELECTOR_ATTR_TIMEPICKER_HOUR_MODE = `[${ATTR_NAME}-hour-mode]`;\r\nconst SELECTOR_ATTR_TIMEPICKER_TOGGLE_BUTTON = `[${ATTR_NAME}-toggle-button]`;\r\n\r\nconst ATTR_TIMEPICKER_BUTTON_CANCEL = `${ATTR_NAME}-cancel`;\r\nconst ATTR_TIMEPICKER_BUTTON_CLEAR = `${ATTR_NAME}-clear`;\r\nconst ATTR_TIMEPICKER_BUTTON_SUBMIT = `${ATTR_NAME}-submit`;\r\nconst ATTR_TIMEPICKER_ICON = `${ATTR_NAME}-icon`;\r\nconst ATTR_TIMEPICKER_ICON_UP = `${ATTR_NAME}-icon-up`;\r\nconst ATTR_TIMEPICKER_ICON_DOWN = `${ATTR_NAME}-icon-down`;\r\nconst ATTR_TIMEPICKER_ICON_INLINE_HOUR = `${ATTR_NAME}-icon-inline-hour`;\r\nconst ATTR_TIMEPICKER_ICON_INLINE_MINUTE = `${ATTR_NAME}-icon-inline-minute`;\r\nconst ATTR_TIMEPICKER_ICONS_HOUR_INLINE = `${ATTR_NAME}-inline-hour-icons`;\r\nconst ATTR_TIMEPICKER_CURRENT_INLINE = `${ATTR_NAME}-current-inline`;\r\n\r\nconst ATTR_READONLY = \"readonly\";\r\nconst ATTR_TIMEPICKER_INVALID_FEEDBACK = `${ATTR_NAME}-invalid-feedback`;\r\nconst ATTR_TIMEPICKER_IS_INVALID = `${ATTR_NAME}-is-invalid`;\r\nconst ATTR_TIMEPICKER_DISABLED = `${ATTR_NAME}-disabled`;\r\nconst ATTR_TIMEPICKER_ACTIVE = `${ATTR_NAME}-active`;\r\n\r\nconst ATTR_TIMEPICKER_INPUT = `${ATTR_NAME}-input`;\r\nconst ATTR_TIMEPICKER_CLOCK = `${ATTR_NAME}-clock`;\r\nconst ATTR_TIMEPICKER_CLOCK_INNER = `${ATTR_NAME}-clock-inner`;\r\nconst ATTR_TIMEPICKER_WRAPPER = `${ATTR_NAME}-wrapper`;\r\nconst ATTR_TIMEPICKER_CLOCK_WRAPPER = `${ATTR_NAME}-clock-wrapper`;\r\nconst ATTR_TIMEPICKER_HOUR = `${ATTR_NAME}-hour`;\r\nconst ATTR_TIMEPICKER_MINUTE = `${ATTR_NAME}-minute`;\r\nconst ATTR_TIMEPICKER_TIPS_ELEMENT = `${ATTR_NAME}-tips-element`;\r\nconst ATTR_TIMEPICKER_TIPS_HOURS = `${ATTR_NAME}-tips-hours`;\r\nconst ATTR_TIMEPICKER_TIPS_MINUTES = `${ATTR_NAME}-tips-minutes`;\r\nconst ATTR_TIMEPICKER_INNER_HOURS = `${ATTR_NAME}-tips-inner`;\r\nconst ATTR_TIMEPICKER_TIPS_INNER_ELEMENT = `${ATTR_NAME}-tips-inner-element`;\r\nconst ATTR_TIMEPICKER_MIDDLE_DOT = `${ATTR_NAME}-middle-dot`;\r\nconst ATTR_TIMEPICKER_HAND_POINTER = `${ATTR_NAME}-hand-pointer`;\r\nconst ATTR_TIMEPICKER_CIRCLE = `${ATTR_NAME}-circle`;\r\nconst ATTR_TIMEPICKER_MODAL = `${ATTR_NAME}-modal`;\r\n\r\nconst defaultIcon = `\r\n \r\n`;\r\n\r\nconst Default = {\r\n appendValidationInfo: true,\r\n bodyID: \"\",\r\n cancelLabel: \"Cancel\",\r\n clearLabel: \"Clear\",\r\n closeModalOnBackdropClick: true,\r\n closeModalOnMinutesClick: false,\r\n container: \"body\",\r\n defaultTime: \"\",\r\n disabled: false,\r\n disablePast: false,\r\n disableFuture: false,\r\n enableValidation: true,\r\n focusInputAfterApprove: false,\r\n footerID: \"\",\r\n format12: true,\r\n format24: false,\r\n headID: \"\",\r\n increment: false,\r\n inline: false,\r\n invalidLabel: \"Invalid Time Format\",\r\n maxTime: \"\",\r\n minTime: \"\",\r\n modalID: \"\",\r\n okLabel: \"Ok\",\r\n overflowHidden: true,\r\n pickerID: \"\",\r\n readOnly: false,\r\n showClearBtn: true,\r\n switchHoursToMinutesOnClick: true,\r\n iconSVG: defaultIcon,\r\n withIcon: true,\r\n pmLabel: \"PM\",\r\n amLabel: \"AM\",\r\n animations: true,\r\n};\r\n\r\nconst DefaultType = {\r\n appendValidationInfo: \"boolean\",\r\n bodyID: \"string\",\r\n cancelLabel: \"string\",\r\n clearLabel: \"string\",\r\n closeModalOnBackdropClick: \"boolean\",\r\n closeModalOnMinutesClick: \"boolean\",\r\n container: \"string\",\r\n disabled: \"boolean\",\r\n disablePast: \"boolean\",\r\n disableFuture: \"boolean\",\r\n enableValidation: \"boolean\",\r\n footerID: \"string\",\r\n format12: \"boolean\",\r\n format24: \"boolean\",\r\n headID: \"string\",\r\n increment: \"boolean\",\r\n inline: \"boolean\",\r\n invalidLabel: \"string\",\r\n modalID: \"string\",\r\n okLabel: \"string\",\r\n overflowHidden: \"boolean\",\r\n pickerID: \"string\",\r\n readOnly: \"boolean\",\r\n showClearBtn: \"boolean\",\r\n switchHoursToMinutesOnClick: \"boolean\",\r\n defaultTime: \"(string|date|number)\",\r\n iconSVG: \"string\",\r\n withIcon: \"boolean\",\r\n pmLabel: \"string\",\r\n amLabel: \"string\",\r\n animations: \"boolean\",\r\n};\r\n\r\nconst DefaultClasses = {\r\n tips: \"absolute rounded-[100%] w-[32px] h-[32px] text-center cursor-pointer text-[1.1rem] rounded-[100%] bg-transparent flex justify-center items-center font-light focus:outline-none selection:bg-transparent\",\r\n tipsActive: \"text-white bg-[#3b71ca] font-normal\",\r\n tipsDisabled: \"text-[#b3afaf] pointer-events-none bg-transparent\",\r\n transform: \"transition-[transform,height] ease-in-out duration-[400ms]\",\r\n modal: \"z-[1065]\",\r\n clockAnimation: \"animate-[show-up-clock_350ms_linear]\",\r\n opacity: \"!opacity-100\",\r\n timepickerWrapper:\r\n \"touch-none opacity-100 z-[1065] inset-0 bg-[#00000066] h-full flex items-center justify-center flex-col fixed\",\r\n timepickerContainer:\r\n \"flex items-center justify-center flex-col max-h-[calc(100%-64px)] overflow-y-auto shadow-[0_10px_15px_-3px_rgba(0,0,0,0.07),0_4px_6px_-2px_rgba(0,0,0,0.05)] min-[320px]:max-[825px]:landscape:rounded-lg\",\r\n timepickerElements:\r\n \"flex flex-col min-w-[310px] min-h-[325px] bg-white rounded-t-[0.6rem] min-[320px]:max-[825px]:landscape:!flex-row min-[320px]:max-[825px]:landscape:min-w-[auto] min-[320px]:max-[825px]:landscape:min-h-[auto] min-[320px]:max-[825px]:landscape:overflow-y-auto justify-around\",\r\n timepickerHead:\r\n \"bg-[#3b71ca] dark:bg-zinc-700 h-[100px] rounded-t-lg pr-[24px] pl-[50px] py-[10px] min-[320px]:max-[825px]:landscape:rounded-tr-none min-[320px]:max-[825px]:landscape:rounded-bl-none min-[320px]:max-[825px]:landscape:p-[10px] min-[320px]:max-[825px]:landscape:pr-[10px] min-[320px]:max-[825px]:landscape:h-auto min-[320px]:max-[825px]:landscape:min-h-[305px] flex flex-row items-center justify-center\",\r\n timepickerHeadContent:\r\n \"min-[320px]:max-[825px]:landscape:flex-col flex w-full justify-evenly\",\r\n timepickerCurrentWrapper: \"[direction:ltr] rtl:[direction:rtl]\",\r\n timepickerCurrentButtonWrapper: \"relative h-full\",\r\n timepickerCurrentButton:\r\n \"text-[3.75rem] font-light leading-[1.2] tracking-[-0.00833em] text-white opacity-[.54] border-none bg-transparent p-0 min-[320px]:max-[825px]:landscape:text-5xl min-[320px]:max-[825px]:landscape:font-normal cursor-pointer hover:bg-[#00000026] hover:outline-none focus:bg-[#00000026] focus:outline-none \",\r\n timepickerDot:\r\n \"font-light leading-[1.2] tracking-[-0.00833em] text-[3.75rem] opacity-[.54] border-none bg-transparent p-0 text-white min-[320px]:max-[825px]:landscape:text-[3rem] min-[320px]:max-[825px]:landscape:font-normal\",\r\n timepickerModeWrapper:\r\n \"flex flex-col justify-center text-[18px] text-[#ffffff8a] min-[320px]:max-[825px]:landscape:!justify-around min-[320px]:max-[825px]:landscape:!flex-row\",\r\n timepickerModeAm:\r\n \"p-0 bg-transparent border-none text-white opacity-[.54] cursor-pointer hover:bg-[#00000026] hover:outline-none focus:bg-[#00000026] focus:outline-none\",\r\n timepickerModePm:\r\n \"p-0 bg-transparent border-none text-white opacity-[.54] cursor-pointer hover:bg-[#00000026] hover:outline-none focus:bg-[#00000026] focus:outline-none\",\r\n timepickerClockWrapper:\r\n \"min-w-[310px] max-w-[325px] min-h-[305px] overflow-x-hidden h-full flex justify-center flex-col items-center dark:bg-zinc-500\",\r\n timepickerClock:\r\n \"relative rounded-[100%] w-[260px] h-[260px] cursor-default my-0 mx-auto bg-[#00000012] dark:bg-zinc-600/50\",\r\n timepickerMiddleDot:\r\n \"top-1/2 left-1/2 w-[6px] h-[6px] -translate-y-1/2 -translate-x-1/2 rounded-[50%] bg-[#3b71ca] absolute\",\r\n timepickerHandPointer:\r\n \"bg-[#3b71ca] bottom-1/2 h-2/5 left-[calc(50%-1px)] rtl:!left-auto origin-[center_bottom_0] rtl:!origin-[50%_50%_0] w-[2px] absolute\",\r\n timepickerPointerCircle:\r\n \"-top-[21px] -left-[15px] w-[4px] border-[14px] border-solid border-[#3b71ca] h-[4px] box-content rounded-[100%] absolute\",\r\n timepickerClockInner:\r\n \"absolute top-1/2 left-1/2 -translate-y-1/2 -translate-x-1/2 w-[160px] h-[160px] rounded-[100%]\",\r\n timepickerFooterWrapper:\r\n \"rounded-b-lg flex justify-between items-center w-full h-[56px] px-[12px] bg-white dark:bg-zinc-500\",\r\n timepickerFooter: \"w-full flex justify-between\",\r\n timepickerFooterButton:\r\n \"text-[0.8rem] min-w-[64px] box-border font-medium leading-[40px] rounded-[10px] tracking-[0.1rem] uppercase text-[#3b71ca] dark:text-white border-none bg-transparent transition-[background-color,box-shadow,border] duration-[250ms] ease-[cubic-bezier(0.4,0,0.2,1)] delay-[0ms] outline-none py-0 px-[10px] h-[40px] mb-[10px] hover:bg-[#00000014] focus:bg-[#00000014] focus:outline-none\",\r\n timepickerInlineWrapper:\r\n \"touch-none opacity-100 z-[1065] inset-0 bg-[#00000066] h-full flex items-center justify-center flex-col rounded-lg\",\r\n timepickerInlineContainer:\r\n \"flex items-center justify-center flex-col max-h-[calc(100%-64px)] overflow-y-auto shadow-[0_10px_15px_-3px_rgba(0,0,0,0.07),0_4px_6px_-2px_rgba(0,0,0,0.05)]\",\r\n timepickerInlineElements:\r\n \"flex flex-col min-h-[auto] min-w-[310px] bg-white rounded-[0.6rem] min-[320px]:max-[825px]:landscape:!flex-row min-[320px]:max-[825px]:landscape:rounded-bl-lg min-[320px]:max-[825px]:landscape:min-w-[auto] min-[320px]:max-[825px]:landscape::min-h-[auto] min-[320px]:max-[825px]:landscape:overflow-y-auto justify-around\",\r\n timepickerInlineHead:\r\n \"bg-[#3b71ca] dark:bg-zinc-700 h-[100px] rounded-t-lg min-[320px]:max-[825px]:landscape:rounded-tr-none min-[320px]:max-[825px]:landscape:rounded-bl-none min-[320px]:max-[825px]:landscape:p-[10px] min-[320px]:max-[825px]:landscape:pr-[10px] min-[320px]:max-[825px]:landscape:h-auto min-[320px]:max-[825px]:landscape:min-h-[305px] flex flex-row items-center justify-center p-0 rounded-b-lg\",\r\n timepickerInlineHeadContent:\r\n \"min-[320px]:max-[825px]:landscape:flex-col flex w-full justify-evenly items-center\",\r\n timepickerInlineHourWrapper: \"relative h-full !opacity-100\",\r\n timepickerCurrentMinuteWrapper: \"relative h-full\",\r\n timepickerInlineIconUp:\r\n \"absolute text-white -top-[35px] opacity-0 hover:opacity-100 transition-all duration-200 ease-[ease] cursor-pointer -translate-x-1/2 -translate-y-1/2 left-1/2 w-[30px] h-[30px] flex justify-center items-center\",\r\n timepickerInlineIconSvg: \"h-4 w-4\",\r\n timepickerInlineCurrentButton:\r\n \"font-light leading-[1.2] tracking-[-0.00833em] text-white border-none bg-transparent p-0 min-[320px]:max-[825px]:landscape:text-5xl min-[320px]:max-[825px]:landscape:font-normal !opacity-100 cursor-pointer focus:bg-[#00000026] hover:outline-none focus:outline-none text-[2.5rem] hover:bg-[unset]\",\r\n timepickerInlineIconDown:\r\n \"absolute text-white -bottom-[47px] opacity-0 hover:opacity-100 transition-all duration-200 ease-[ease] cursor-pointer -translate-x-1/2 -translate-y-1/2 left-1/2 w-[30px] h-[30px] flex justify-center items-center\",\r\n timepickerInlineDot:\r\n \"font-light leading-[1.2] tracking-[-0.00833em] opacity-[.54] border-none bg-transparent p-0 text-white min-[320px]:max-[825px]:landscape:text-[3rem] min-[320px]:max-[825px]:landscape:font-normal text-[2.5rem]\",\r\n timepickerInlineModeWrapper:\r\n \"flex justify-center text-[18px] text-[#ffffff8a] min-[320px]:max-[825px]:landscape:!justify-around min-[320px]:max-[825px]:landscape:!flex-row\",\r\n timepickerInlineModeAm:\r\n \"hover:bg-[#00000026] hover:outline-none focus:bg-[#00000026] focus:outline-none p-0 bg-transparent border-none text-white opacity-[.54] cursor-pointer mr-2 ml-6\",\r\n timepickerInlineModePm:\r\n \"hover:bg-[#00000026] hover:outline-none focus:bg-[#00000026] focus:outline-none p-0 bg-transparent border-none text-white opacity-[.54] cursor-pointer\",\r\n timepickerInlineSubmitButton:\r\n \"hover:bg-[#00000014] focus:bg-[#00000014] focus:outline-none text-[0.8rem] box-border font-medium leading-[40px] tracking-[.1rem] uppercase border-none bg-transparent [transition:background-color_250ms_cubic-bezier(0.4,0,0.2,1)_0ms,box-shadow_250ms_cubic-bezier(0.4,0,0.2,1)_0ms,border_250ms_cubic-bezier(0.4,0,0.2,1)_0ms] outline-none rounded-[100%] h-[48px] min-w-[48px] inline-block ml-[30px] text-white py-1 px-2 mb-0\",\r\n timepickerToggleButton:\r\n \"h-4 w-4 ml-auto absolute outline-none border-none bg-transparent right-1.5 top-1/2 -translate-x-1/2 -translate-y-1/2 transition-all duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)] cursor-pointer hover:text-[#3b71ca] focus:text-[#3b71ca] dark:hover:text-[#3b71ca] dark:focus:text-[#3b71ca] dark:text-white\",\r\n};\r\n\r\nconst DefaultClassesType = {\r\n tips: \"string\",\r\n tipsActive: \"string\",\r\n tipsDisabled: \"string\",\r\n transform: \"string\",\r\n modal: \"string\",\r\n clockAnimation: \"string\",\r\n opacity: \"string\",\r\n timepickerWrapper: \"string\",\r\n timepickerContainer: \"string\",\r\n timepickerElements: \"string\",\r\n timepickerHead: \"string\",\r\n timepickerHeadContent: \"string\",\r\n timepickerCurrentWrapper: \"string\",\r\n timepickerCurrentButtonWrapper: \"string\",\r\n timepickerCurrentButton: \"string\",\r\n timepickerDot: \"string\",\r\n timepickerModeWrapper: \"string\",\r\n timepickerModeAm: \"string\",\r\n timepickerModePm: \"string\",\r\n timepickerClockWrapper: \"string\",\r\n timepickerClock: \"string\",\r\n timepickerMiddleDot: \"string\",\r\n timepickerHandPointer: \"string\",\r\n timepickerPointerCircle: \"string\",\r\n timepickerClockInner: \"string\",\r\n timepickerFooterWrapper: \"string\",\r\n timepickerFooterButton: \"string\",\r\n timepickerInlineWrapper: \"string\",\r\n timepickerInlineContainer: \"string\",\r\n timepickerInlineElements: \"string\",\r\n timepickerInlineHead: \"string\",\r\n timepickerInlineHeadContent: \"string\",\r\n timepickerInlineHourWrapper: \"string\",\r\n timepickerCurrentMinuteWrapper: \"string\",\r\n timepickerInlineIconUp: \"string\",\r\n timepickerInlineIconSvg: \"string\",\r\n timepickerInlineCurrentButton: \"string\",\r\n timepickerInlineIconDown: \"string\",\r\n timepickerInlineDot: \"string\",\r\n timepickerInlineModeWrapper: \"string\",\r\n timepickerInlineModeAm: \"string\",\r\n timepickerInlineModePm: \"string\",\r\n timepickerInlineSubmitButton: \"string\",\r\n timepickerToggleButton: \"string\",\r\n};\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nClass Definition\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nclass Timepicker {\r\n constructor(element, options = {}, classes) {\r\n this._element = element;\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n this._document = document;\r\n this._options = this._getConfig(options);\r\n this._classes = this._getClasses(classes);\r\n this._currentTime = null;\r\n this._toggleButtonId = getUID(\"timepicker-toggle-\");\r\n\r\n this.hoursArray = [\r\n \"12\",\r\n \"1\",\r\n \"2\",\r\n \"3\",\r\n \"4\",\r\n \"5\",\r\n \"6\",\r\n \"7\",\r\n \"8\",\r\n \"9\",\r\n \"10\",\r\n \"11\",\r\n ];\r\n this.innerHours = [\r\n \"00\",\r\n \"13\",\r\n \"14\",\r\n \"15\",\r\n \"16\",\r\n \"17\",\r\n \"18\",\r\n \"19\",\r\n \"20\",\r\n \"21\",\r\n \"22\",\r\n \"23\",\r\n ];\r\n this.minutesArray = [\r\n \"00\",\r\n \"05\",\r\n \"10\",\r\n \"15\",\r\n \"20\",\r\n \"25\",\r\n \"30\",\r\n \"35\",\r\n \"40\",\r\n \"45\",\r\n \"50\",\r\n \"55\",\r\n ];\r\n\r\n this.input = SelectorEngine.findOne(\"input\", this._element);\r\n this.dataWithIcon = element.dataset.withIcon;\r\n this.dataToggle = element.dataset.toggle;\r\n this.customIcon = SelectorEngine.findOne(\r\n SELECTOR_ATTR_TIMEPICKER_TOGGLE_BUTTON,\r\n this._element\r\n );\r\n\r\n this._checkToggleButton();\r\n\r\n this.inputFormatShow = SelectorEngine.findOne(\r\n SELECTOR_ATTR_TIMEPICKER_FORMAT24,\r\n this._element\r\n );\r\n\r\n this.inputFormat =\r\n this.inputFormatShow === null\r\n ? \"\"\r\n : Object.values(this.inputFormatShow.dataset)[0];\r\n this.elementToggle = SelectorEngine.findOne(\r\n SELECTOR_DATA_TE_TOGGLE,\r\n this._element\r\n );\r\n this.toggleElement = Object.values(\r\n element.querySelector(SELECTOR_DATA_TE_TOGGLE).dataset\r\n )[0];\r\n\r\n this._hour = null;\r\n this._minutes = null;\r\n this._AM = null;\r\n this._PM = null;\r\n this._wrapper = null;\r\n this._modal = null;\r\n this._hand = null;\r\n this._circle = null;\r\n this._focusTrap = null;\r\n this._popper = null;\r\n this._interval = null;\r\n this._timeoutInterval = null;\r\n\r\n this._inputValue =\r\n this._options.defaultTime !== \"\"\r\n ? this._options.defaultTime\r\n : this.input.value;\r\n\r\n if (this._options.format24) {\r\n this._options.format12 = false;\r\n\r\n this._currentTime = formatNormalHours(this._inputValue);\r\n }\r\n\r\n if (this._options.format12) {\r\n this._options.format24 = false;\r\n\r\n this._currentTime = formatToAmPm(this._inputValue);\r\n }\r\n\r\n if (this._options.readOnly) {\r\n this.input.setAttribute(ATTR_READONLY, true);\r\n }\r\n\r\n if (this.inputFormat === \"true\" && this.inputFormat !== \"\") {\r\n this._options.format12 = false;\r\n this._options.format24 = true;\r\n this._currentTime = formatNormalHours(this._inputValue);\r\n }\r\n\r\n this._animations =\r\n !window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches &&\r\n this._options.animations;\r\n\r\n this.init();\r\n\r\n this._isHours = true;\r\n this._isMinutes = false;\r\n this._isInvalidTimeFormat = false;\r\n this._isMouseMove = false;\r\n this._isInner = false;\r\n this._isAmEnabled = false;\r\n this._isPmEnabled = false;\r\n\r\n if (this._options.format12 && !this._options.defaultTime) {\r\n this._isPmEnabled = true;\r\n }\r\n\r\n this._objWithDataOnChange = { degrees: null };\r\n\r\n this._scrollBar = new ScrollBarHelper();\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n init() {\r\n const { format12, format24, enableValidation } = this._options;\r\n let zero;\r\n let hoursFormat;\r\n let _amOrPm;\r\n\r\n this.input.setAttribute(ATTR_TIMEPICKER_INPUT, \"\");\r\n\r\n if (this._currentTime !== undefined) {\r\n const { hours, minutes, amOrPm } = this._currentTime;\r\n\r\n zero = Number(hours) < 10 ? 0 : \"\";\r\n hoursFormat = `${zero}${Number(hours)}:${minutes}`;\r\n _amOrPm = amOrPm;\r\n\r\n if (format12) {\r\n this.input.value = `${hoursFormat} ${_amOrPm}`;\r\n } else if (format24) {\r\n this.input.value = `${hoursFormat}`;\r\n }\r\n } else {\r\n zero = \"\";\r\n hoursFormat = \"\";\r\n _amOrPm = \"\";\r\n\r\n this.input.value = \"\";\r\n }\r\n\r\n if (this.input.value.length > 0 && this.input.value !== \"\") {\r\n this.input.setAttribute(ATTR_TIMEPICKER_ACTIVE, \"\");\r\n EventHandler.trigger(this.input, \"input\");\r\n }\r\n\r\n if (this._options === null && this._element === null) return;\r\n\r\n if (enableValidation) {\r\n this._getValidate(\"keydown change blur focus\");\r\n }\r\n\r\n this._handleOpen();\r\n this._listenToToggleKeydown();\r\n }\r\n\r\n dispose() {\r\n this._removeModal();\r\n\r\n if (this._element !== null) {\r\n Data.removeData(this._element, DATA_KEY);\r\n }\r\n\r\n setTimeout(() => {\r\n this._element = null;\r\n this._options = null;\r\n this.input = null;\r\n this._focusTrap = null;\r\n }, 350);\r\n\r\n EventHandler.off(\r\n this._document,\r\n \"click\",\r\n `[data-te-toggle='${this.toggleElement}']`\r\n );\r\n EventHandler.off(\r\n this._element,\r\n \"keydown\",\r\n `[data-te-toggle='${this.toggleElement}']`\r\n );\r\n }\r\n\r\n update(options = {}) {\r\n this._options = this._getConfig({ ...this._options, ...options });\r\n }\r\n\r\n // private\r\n\r\n _checkToggleButton() {\r\n if (this.customIcon !== null) return;\r\n\r\n if (this.dataWithIcon !== undefined) {\r\n this._options.withIcon = null;\r\n\r\n if (this.dataWithIcon === \"true\") {\r\n this._appendToggleButton(this._options);\r\n }\r\n }\r\n\r\n if (this._options.withIcon) {\r\n this._appendToggleButton(this._options);\r\n }\r\n }\r\n\r\n _appendToggleButton() {\r\n const toggleButton = getToggleButtonTemplate(\r\n this._options,\r\n this._toggleButtonId,\r\n this._classes\r\n );\r\n\r\n this.input.insertAdjacentHTML(\"afterend\", toggleButton);\r\n }\r\n\r\n _getDomElements() {\r\n this._hour = SelectorEngine.findOne(`[${ATTR_TIMEPICKER_HOUR}]`);\r\n this._minutes = SelectorEngine.findOne(`[${ATTR_TIMEPICKER_MINUTE}]`);\r\n this._AM = SelectorEngine.findOne(SELECTOR_ATTR_TIMEPICKER_AM);\r\n this._PM = SelectorEngine.findOne(SELECTOR_ATTR_TIMEPICKER_PM);\r\n this._wrapper = SelectorEngine.findOne(`[${ATTR_TIMEPICKER_WRAPPER}]`);\r\n this._modal = SelectorEngine.findOne(`[${ATTR_TIMEPICKER_MODAL}]`);\r\n this._hand = SelectorEngine.findOne(`[${ATTR_TIMEPICKER_HAND_POINTER}]`);\r\n this._circle = SelectorEngine.findOne(`[${ATTR_TIMEPICKER_CIRCLE}]`);\r\n this._clock = SelectorEngine.findOne(`[${ATTR_TIMEPICKER_CLOCK}]`);\r\n this._clockInner = SelectorEngine.findOne(\r\n `[${ATTR_TIMEPICKER_CLOCK_INNER}]`\r\n );\r\n }\r\n\r\n _handlerMaxMinHoursOptions(\r\n degrees,\r\n maxHour,\r\n minHour,\r\n maxFormat,\r\n minFormat,\r\n e\r\n ) {\r\n if (!maxHour && !minHour) return true;\r\n\r\n const { format24, format12, disablePast, disableFuture } = this._options;\r\n const { _isAmEnabled, _isPmEnabled } = this;\r\n const key = e.keyCode;\r\n\r\n const _isMouseOnInnerClock =\r\n e.target.hasAttribute(ATTR_TIMEPICKER_CLOCK_INNER) ||\r\n e.target.hasAttribute(ATTR_TIMEPICKER_INNER_HOURS) ||\r\n e.target.hasAttribute(ATTR_TIMEPICKER_TIPS_INNER_ELEMENT);\r\n\r\n minHour = setMinTime(minHour, disablePast, format12);\r\n maxHour = setMaxTime(maxHour, disableFuture, format12);\r\n typeof maxHour !== \"number\" && (maxHour = takeValue(maxHour, false)[0]);\r\n\r\n const maxHourDegrees = maxHour !== \"\" ? maxHour * 30 : \"\";\r\n const minHourDegrees = minHour !== \"\" ? minHour * 30 : \"\";\r\n\r\n if (degrees < 0) {\r\n degrees = 360 + degrees;\r\n }\r\n\r\n degrees = degrees === 360 ? 0 : degrees;\r\n\r\n const _handleKeyboardEvents = () => {\r\n const tips = document.querySelectorAll(\r\n `[${ATTR_TIMEPICKER_TIPS_ELEMENT}]`\r\n );\r\n const innerTips = document.querySelectorAll(\r\n `[${ATTR_TIMEPICKER_TIPS_INNER_ELEMENT}]`\r\n );\r\n\r\n const currentHour = _convertHourToNumber(this._hour.innerText);\r\n let nextHourTip;\r\n let numberToAdd;\r\n let nextHour;\r\n\r\n if (key === UP_ARROW) {\r\n numberToAdd = 1;\r\n } else if (key === DOWN_ARROW) {\r\n numberToAdd = -1;\r\n }\r\n\r\n if (currentHour === 12 && key === UP_ARROW) {\r\n nextHour = 1;\r\n } else if (currentHour === 0 && key === UP_ARROW) {\r\n nextHour = 13;\r\n } else if (currentHour === 0 && key === DOWN_ARROW) {\r\n nextHour = 23;\r\n } else if (currentHour === 13 && key === DOWN_ARROW) {\r\n nextHour = 0;\r\n } else if (currentHour === 1 && key === DOWN_ARROW) {\r\n nextHour = 12;\r\n } else {\r\n nextHour = currentHour + numberToAdd;\r\n }\r\n\r\n tips.forEach((tip) => {\r\n if (Number(tip.textContent) === nextHour) {\r\n nextHourTip = tip;\r\n }\r\n });\r\n innerTips.forEach((innerTip) => {\r\n if (Number(innerTip.textContent) === nextHour) {\r\n nextHourTip = innerTip;\r\n }\r\n });\r\n\r\n return !nextHourTip.parentElement.hasAttribute(ATTR_TIMEPICKER_DISABLED);\r\n };\r\n\r\n const _handle24FormatMouseEvents = () => {\r\n const minInnerHourDegrees =\r\n minHour !== \"\" && minHour > 12 ? (minHour - 12) * 30 : \"\";\r\n const maxInnerHourDegrees =\r\n maxHour !== \"\" && maxHour > 12 ? (maxHour - 12) * 30 : \"\";\r\n\r\n if (\r\n (minInnerHourDegrees && degrees < minInnerHourDegrees) ||\r\n (maxInnerHourDegrees && degrees > maxInnerHourDegrees) ||\r\n (maxHour && maxHour < 12)\r\n ) {\r\n return;\r\n }\r\n return true;\r\n };\r\n\r\n if (format24 && e.type !== \"keydown\" && _isMouseOnInnerClock) {\r\n return _handle24FormatMouseEvents();\r\n }\r\n if (e.type === \"keydown\") {\r\n return _handleKeyboardEvents(e);\r\n }\r\n\r\n const minFormatAndCurrentFormatEqual =\r\n !minFormat ||\r\n (minFormat === \"PM\" && _isPmEnabled) ||\r\n (minHour !== \"\" && minFormat === \"AM\" && _isAmEnabled);\r\n\r\n const maxFormatAndCurrentFormatEqual =\r\n !maxFormat ||\r\n (maxFormat === \"PM\" && _isPmEnabled) ||\r\n (maxHour !== \"\" && maxFormat === \"AM\" && _isAmEnabled);\r\n\r\n const isMinHourValid = () => {\r\n const minDegrees =\r\n minHourDegrees === 360 && format12 ? 0 : minHourDegrees;\r\n if (!minHour) {\r\n return true;\r\n } else if (\r\n (minFormat === \"PM\" && _isAmEnabled) ||\r\n (minFormatAndCurrentFormatEqual && degrees < minDegrees)\r\n ) {\r\n return;\r\n }\r\n return true;\r\n };\r\n\r\n const isMaxHourValid = () => {\r\n const maxDegrees =\r\n maxHourDegrees === 360 && format12 ? 0 : maxHourDegrees;\r\n if (!maxHour) {\r\n return true;\r\n } else if (\r\n (maxFormat === \"AM\" && _isPmEnabled) ||\r\n (maxFormatAndCurrentFormatEqual && degrees > maxDegrees)\r\n ) {\r\n return;\r\n }\r\n return true;\r\n };\r\n\r\n return isMinHourValid() && isMaxHourValid();\r\n }\r\n\r\n _handleKeyboard() {\r\n EventHandler.on(this._document, EVENT_KEYDOWN_DATA_API, \"\", (e) => {\r\n let hour;\r\n let minute;\r\n let innerHour;\r\n const {\r\n increment,\r\n maxTime,\r\n minTime,\r\n format12,\r\n disablePast,\r\n disableFuture,\r\n } = this._options;\r\n\r\n let minHour = takeValue(minTime, false)[0];\r\n let maxHour = takeValue(maxTime, false)[0];\r\n const minFormat = takeValue(minTime, false)[2];\r\n const maxFormat = takeValue(maxTime, false)[2];\r\n\r\n minHour = setMinTime(minHour, disablePast, format12);\r\n maxHour = setMaxTime(maxHour, disableFuture, format12);\r\n\r\n typeof maxHour !== \"number\" && (maxHour = takeValue(maxHour, false)[0]);\r\n\r\n const hoursView =\r\n SelectorEngine.findOne(`[${ATTR_TIMEPICKER_TIPS_MINUTES}]`) === null;\r\n const innerHoursExist =\r\n SelectorEngine.findOne(`[${ATTR_TIMEPICKER_INNER_HOURS}]`) !== null;\r\n\r\n const degrees = Number(this._hand.style.transform.replace(/[^\\d-]/g, \"\"));\r\n\r\n const allTipsMinutes = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_TIPS_MINUTES}]`,\r\n this._modal\r\n );\r\n const allTipsHours = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_TIPS_HOURS}]`,\r\n this._modal\r\n );\r\n const allInnerTips = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_INNER_HOURS}]`,\r\n this._modal\r\n );\r\n\r\n let hourTime = this._makeHourDegrees(e.target, degrees, hour).hour;\r\n const { degrees: hourObjDegrees, addDegrees } = this._makeHourDegrees(\r\n e.target,\r\n degrees,\r\n hour\r\n );\r\n\r\n let { minute: minHourMinutes, degrees: minObjDegrees } =\r\n this._makeMinutesDegrees(degrees, minute);\r\n const addMinDegrees = this._makeMinutesDegrees(\r\n degrees,\r\n minute\r\n ).addDegrees;\r\n\r\n let { hour: innerHourDegrees } = this._makeInnerHoursDegrees(\r\n degrees,\r\n innerHour\r\n );\r\n\r\n if (e.keyCode === ESCAPE) {\r\n const cancelBtn = SelectorEngine.findOne(\r\n `[${ATTR_TIMEPICKER_BUTTON_CANCEL}]`,\r\n this._modal\r\n );\r\n EventHandler.trigger(cancelBtn, \"click\");\r\n } else if (hoursView) {\r\n if (innerHoursExist) {\r\n if (e.keyCode === RIGHT_ARROW) {\r\n this._isInner = false;\r\n Manipulator.addStyle(this._hand, {\r\n height: \"calc(40% + 1px)\",\r\n });\r\n this._hour.textContent = this._setHourOrMinute(\r\n hourTime > 12 ? 1 : hourTime\r\n );\r\n this._toggleClassActive(this.hoursArray, this._hour, allTipsHours);\r\n this._toggleClassActive(this.innerHours, this._hour, allInnerTips);\r\n }\r\n\r\n if (e.keyCode === LEFT_ARROW) {\r\n this._isInner = true;\r\n Manipulator.addStyle(this._hand, {\r\n height: \"21.5%\",\r\n });\r\n\r\n this._hour.textContent = this._setHourOrMinute(\r\n innerHourDegrees >= 24 || innerHourDegrees === \"00\"\r\n ? 0\r\n : innerHourDegrees\r\n );\r\n this._toggleClassActive(this.innerHours, this._hour, allInnerTips);\r\n this._toggleClassActive(\r\n this.hoursArray,\r\n this._hour - 1,\r\n allTipsHours\r\n );\r\n }\r\n }\r\n if (e.keyCode === UP_ARROW) {\r\n const isNextHourValid = this._handlerMaxMinHoursOptions(\r\n hourObjDegrees + 30,\r\n maxHour,\r\n minHour,\r\n maxFormat,\r\n minFormat,\r\n e\r\n );\r\n\r\n if (!isNextHourValid) return;\r\n\r\n Manipulator.addStyle(this._hand, {\r\n transform: `rotateZ(${hourObjDegrees + addDegrees}deg)`,\r\n });\r\n\r\n if (this._isInner) {\r\n innerHourDegrees += 1;\r\n\r\n if (innerHourDegrees === 24) {\r\n innerHourDegrees = 0;\r\n } else if (innerHourDegrees === 25 || innerHourDegrees === \"001\") {\r\n innerHourDegrees = 13;\r\n }\r\n\r\n this._hour.textContent = this._setHourOrMinute(innerHourDegrees);\r\n this._toggleClassActive(this.innerHours, this._hour, allInnerTips);\r\n } else {\r\n hourTime += 1;\r\n this._hour.textContent = this._setHourOrMinute(\r\n hourTime > 12 ? 1 : hourTime\r\n );\r\n this._toggleClassActive(this.hoursArray, this._hour, allTipsHours);\r\n }\r\n }\r\n if (e.keyCode === DOWN_ARROW) {\r\n const isNextHourValid = this._handlerMaxMinHoursOptions(\r\n hourObjDegrees - 30,\r\n maxHour,\r\n minHour,\r\n maxFormat,\r\n minFormat,\r\n e\r\n );\r\n\r\n if (!isNextHourValid) return;\r\n\r\n Manipulator.addStyle(this._hand, {\r\n transform: `rotateZ(${hourObjDegrees - addDegrees}deg)`,\r\n });\r\n\r\n if (this._isInner) {\r\n innerHourDegrees -= 1;\r\n\r\n if (innerHourDegrees === 12) {\r\n innerHourDegrees = 0;\r\n } else if (innerHourDegrees === -1) {\r\n innerHourDegrees = 23;\r\n }\r\n\r\n this._hour.textContent = this._setHourOrMinute(innerHourDegrees);\r\n this._toggleClassActive(this.innerHours, this._hour, allInnerTips);\r\n } else {\r\n hourTime -= 1;\r\n this._hour.textContent = this._setHourOrMinute(\r\n hourTime === 0 ? 12 : hourTime\r\n );\r\n this._toggleClassActive(this.hoursArray, this._hour, allTipsHours);\r\n }\r\n }\r\n } else {\r\n if (e.keyCode === UP_ARROW) {\r\n minObjDegrees += addMinDegrees;\r\n Manipulator.addStyle(this._hand, {\r\n transform: `rotateZ(${minObjDegrees}deg)`,\r\n });\r\n minHourMinutes += 1;\r\n if (increment) {\r\n minHourMinutes += 4;\r\n\r\n if (minHourMinutes === \"0014\") {\r\n minHourMinutes = 5;\r\n }\r\n }\r\n\r\n this._minutes.textContent = this._setHourOrMinute(\r\n minHourMinutes > 59 ? 0 : minHourMinutes\r\n );\r\n this._toggleClassActive(\r\n this.minutesArray,\r\n this._minutes,\r\n allTipsMinutes\r\n );\r\n this._toggleBackgroundColorCircle(\r\n `[${ATTR_TIMEPICKER_TIPS_MINUTES}]`\r\n );\r\n }\r\n if (e.keyCode === DOWN_ARROW) {\r\n minObjDegrees -= addMinDegrees;\r\n Manipulator.addStyle(this._hand, {\r\n transform: `rotateZ(${minObjDegrees}deg)`,\r\n });\r\n if (increment) {\r\n minHourMinutes -= 5;\r\n } else {\r\n minHourMinutes -= 1;\r\n }\r\n\r\n if (minHourMinutes === -1) {\r\n minHourMinutes = 59;\r\n } else if (minHourMinutes === -5) {\r\n minHourMinutes = 55;\r\n }\r\n\r\n this._minutes.textContent = this._setHourOrMinute(minHourMinutes);\r\n this._toggleClassActive(\r\n this.minutesArray,\r\n this._minutes,\r\n allTipsMinutes\r\n );\r\n this._toggleBackgroundColorCircle(\r\n `[${ATTR_TIMEPICKER_TIPS_MINUTES}]`\r\n );\r\n }\r\n }\r\n });\r\n }\r\n\r\n _setActiveClassToTipsOnOpen(hour, ...rest) {\r\n if (this._isInvalidTimeFormat) return;\r\n\r\n if (!this._options.format24) {\r\n [...rest].filter((e) => {\r\n if (e === \"PM\") {\r\n Manipulator.addClass(this._PM, this._classes.opacity);\r\n this._PM.setAttribute(ATTR_TIMEPICKER_ACTIVE, \"\");\r\n } else if (e === \"AM\") {\r\n Manipulator.addClass(this._AM, this._classes.opacity);\r\n this._AM.setAttribute(ATTR_TIMEPICKER_ACTIVE, \"\");\r\n } else {\r\n Manipulator.removeClass(this._AM, this._classes.opacity);\r\n Manipulator.removeClass(this._PM, this._classes.opacity);\r\n this._AM.removeAttribute(ATTR_TIMEPICKER_ACTIVE);\r\n this._PM.removeAttribute(ATTR_TIMEPICKER_ACTIVE);\r\n }\r\n\r\n return e;\r\n });\r\n\r\n const allTipsHours = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_TIPS_HOURS}]`,\r\n this._modal\r\n );\r\n this._addActiveClassToTip(allTipsHours, hour);\r\n } else {\r\n const allTipsHours = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_TIPS_HOURS}]`,\r\n this._modal\r\n );\r\n const allInnerTips = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_INNER_HOURS}]`,\r\n this._modal\r\n );\r\n\r\n this._addActiveClassToTip(allTipsHours, hour);\r\n this._addActiveClassToTip(allInnerTips, hour);\r\n }\r\n }\r\n\r\n _setTipsAndTimesDependOnInputValue(hour, minute) {\r\n const { inline, format12 } = this._options;\r\n\r\n if (!this._isInvalidTimeFormat) {\r\n const rotateDegrees = hour > 12 ? hour * 30 - 360 : hour * 30;\r\n this._hour.textContent = hour;\r\n this._minutes.textContent = minute;\r\n\r\n if (!inline) {\r\n Manipulator.addStyle(this._hand, {\r\n transform: `rotateZ(${rotateDegrees}deg)`,\r\n });\r\n Manipulator.addStyle(this._circle, {\r\n backgroundColor: \"#1976d2\",\r\n });\r\n\r\n if (Number(hour) > 12 || hour === \"00\") {\r\n Manipulator.addStyle(this._hand, {\r\n height: \"21.5%\",\r\n });\r\n }\r\n }\r\n } else {\r\n this._hour.textContent = \"12\";\r\n this._minutes.textContent = \"00\";\r\n\r\n if (!inline) {\r\n Manipulator.addStyle(this._hand, {\r\n transform: \"rotateZ(0deg)\",\r\n });\r\n }\r\n if (format12) {\r\n Manipulator.addClass(this._PM, this._classes.opacity);\r\n this._PM.setAttribute(ATTR_TIMEPICKER_ACTIVE, \"\");\r\n }\r\n }\r\n }\r\n\r\n _listenToToggleKeydown() {\r\n EventHandler.on(\r\n this._element,\r\n \"keydown\",\r\n `[data-te-toggle='${this.toggleElement}']`,\r\n (e) => {\r\n if (e.keyCode === ENTER) {\r\n e.preventDefault();\r\n EventHandler.trigger(this.elementToggle, \"click\");\r\n }\r\n }\r\n );\r\n }\r\n\r\n _handleOpen() {\r\n const container = this._getContainer();\r\n EventHandlerMulti.on(\r\n this._element,\r\n \"click\",\r\n `[data-te-toggle='${this.toggleElement}']`,\r\n (e) => {\r\n if (this._options === null) return;\r\n\r\n // Fix for input with open, if is not for settimeout input has incorrent jumping label\r\n const fixForInput =\r\n Manipulator.getDataAttribute(this.input, \"toggle\") !== null ? 200 : 0;\r\n\r\n setTimeout(() => {\r\n Manipulator.addStyle(this.elementToggle, {\r\n pointerEvents: \"none\",\r\n });\r\n\r\n this.elementToggle.blur();\r\n\r\n let checkInputValue;\r\n\r\n if (takeValue(this.input)[0] === \"\") {\r\n checkInputValue = [\"12\", \"00\", \"PM\"];\r\n } else {\r\n checkInputValue = takeValue(this.input);\r\n }\r\n\r\n const { modalID, inline, format12 } = this._options;\r\n const [hour, minute, format] = checkInputValue;\r\n const div = element(\"div\");\r\n\r\n if (Number(hour) > 12 || hour === \"00\") {\r\n this._isInner = true;\r\n }\r\n\r\n this.input.blur();\r\n e.target.blur();\r\n\r\n div.innerHTML = getTimepickerTemplate(this._options, this._classes);\r\n Manipulator.addClass(div, this._classes.modal);\r\n div.setAttribute(ATTR_TIMEPICKER_MODAL, \"\");\r\n\r\n div.setAttribute(\"role\", \"dialog\");\r\n div.setAttribute(\"tabIndex\", \"-1\");\r\n div.setAttribute(\"id\", modalID);\r\n\r\n if (!inline) {\r\n container.appendChild(div);\r\n this._scrollBar.hide();\r\n } else {\r\n this._popper = createPopper(this.input, div, {\r\n placement: \"bottom-start\",\r\n });\r\n\r\n container.appendChild(div);\r\n }\r\n\r\n this._getDomElements();\r\n if (this._animations) {\r\n this._toggleBackdropAnimation();\r\n } else {\r\n Manipulator.addClass(this._wrapper, this._classes.opacity);\r\n }\r\n this._setActiveClassToTipsOnOpen(hour, minute, format);\r\n this._appendTimes();\r\n this._setActiveClassToTipsOnOpen(hour, minute, format);\r\n this._setTipsAndTimesDependOnInputValue(hour, minute);\r\n\r\n if (this.input.value === \"\") {\r\n const allTipsHours = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_TIPS_HOURS}]`,\r\n this._modal\r\n );\r\n\r\n if (format12) {\r\n Manipulator.addClass(this._PM, this._classes.opacity);\r\n this._PM.setAttribute(ATTR_TIMEPICKER_ACTIVE, \"\");\r\n }\r\n\r\n this._hour.textContent = \"12\";\r\n this._minutes.textContent = \"00\";\r\n this._addActiveClassToTip(\r\n allTipsHours,\r\n Number(this._hour.textContent)\r\n );\r\n }\r\n\r\n this._handleSwitchTimeMode();\r\n this._handleOkButton();\r\n this._handleClose();\r\n\r\n if (inline) {\r\n this._handleHoverInlineBtn();\r\n this._handleDocumentClickInline();\r\n this._handleInlineClicks();\r\n } else {\r\n this._handleSwitchHourMinute();\r\n this._handleClockClick();\r\n this._handleKeyboard();\r\n\r\n // initial opacity on hour/minute mode fix\r\n const initActive = document.querySelector(\r\n `${SELECTOR_ATTR_TIMEPICKER_CURRENT}[${ATTR_TIMEPICKER_ACTIVE}]`\r\n );\r\n Manipulator.addClass(initActive, this._classes.opacity);\r\n\r\n Manipulator.addStyle(this._hour, {\r\n pointerEvents: \"none\",\r\n });\r\n Manipulator.addStyle(this._minutes, {\r\n pointerEvents: \"\",\r\n });\r\n }\r\n\r\n this._focusTrap = new FocusTrap(this._wrapper, {\r\n event: \"keydown\",\r\n condition: ({ key }) => key === \"Tab\",\r\n });\r\n this._focusTrap.trap();\r\n }, fixForInput);\r\n }\r\n );\r\n }\r\n\r\n _handleInlineClicks() {\r\n let selectedHour;\r\n let minuteNumber;\r\n const countMinutes = (count) => {\r\n let minutes = count;\r\n\r\n if (minutes > 59) {\r\n minutes = 0;\r\n } else if (minutes < 0) {\r\n minutes = 59;\r\n }\r\n\r\n return minutes;\r\n };\r\n\r\n const countHours = (count) => {\r\n let hour = count;\r\n\r\n if (this._options.format24) {\r\n if (hour > 24) {\r\n hour = 1;\r\n } else if (hour < 0) {\r\n hour = 23;\r\n }\r\n\r\n if (hour > 23) {\r\n hour = 0;\r\n }\r\n } else {\r\n if (hour > 12) {\r\n hour = 1;\r\n } else if (hour < 1) {\r\n hour = 12;\r\n }\r\n\r\n if (hour > 12) {\r\n hour = 1;\r\n }\r\n }\r\n\r\n return hour;\r\n };\r\n\r\n const incrementHours = (hour) => {\r\n const counteredNumber = countHours(hour);\r\n this._hour.textContent = this._setHourOrMinute(counteredNumber);\r\n };\r\n const incrementMinutes = (minutes) => {\r\n const counteredNumber = countMinutes(minutes);\r\n this._minutes.textContent = this._setHourOrMinute(counteredNumber);\r\n };\r\n\r\n const addHours = () => {\r\n selectedHour = countHours(selectedHour) + 1;\r\n incrementHours(selectedHour);\r\n };\r\n const addMinutes = () => {\r\n minuteNumber = countMinutes(minuteNumber) + 1;\r\n incrementMinutes(minuteNumber);\r\n };\r\n\r\n const subHours = () => {\r\n selectedHour = countHours(selectedHour) - 1;\r\n incrementHours(selectedHour);\r\n };\r\n\r\n const subMinutes = () => {\r\n minuteNumber = countMinutes(minuteNumber) - 1;\r\n incrementMinutes(minuteNumber);\r\n };\r\n\r\n const _clearAsyncs = () => {\r\n clearInterval(this._interval);\r\n clearTimeout(this._timeoutInterval);\r\n };\r\n\r\n const _clearAndSetThisInterval = (addHoursOrAddMinutes) => {\r\n _clearAsyncs();\r\n this._timeoutInterval = setTimeout(() => {\r\n this._interval = setInterval(addHoursOrAddMinutes, 100);\r\n }, 500);\r\n };\r\n EventHandlerMulti.on(\r\n this._modal,\r\n \"click mousedown mouseup touchstart touchend contextmenu\",\r\n `[${ATTR_TIMEPICKER_ICON_UP}], [${ATTR_TIMEPICKER_ICON_DOWN}]`,\r\n (e) => {\r\n selectedHour = Number(this._hour.textContent);\r\n minuteNumber = Number(this._minutes.textContent);\r\n const { target, type } = e;\r\n const isEventTypeMousedownOrTouchstart =\r\n type === \"mousedown\" || type === \"touchstart\";\r\n\r\n if (target.closest(`[${ATTR_TIMEPICKER_ICON_UP}]`)) {\r\n if (\r\n target\r\n .closest(`[${ATTR_TIMEPICKER_ICON_UP}]`)\r\n .parentNode.hasAttribute(ATTR_TIMEPICKER_ICONS_HOUR_INLINE)\r\n ) {\r\n if (isEventTypeMousedownOrTouchstart) {\r\n _clearAndSetThisInterval(addHours);\r\n } else if (\r\n type === \"mouseup\" ||\r\n type === \"touchend\" ||\r\n type === \"contextmenu\"\r\n ) {\r\n _clearAsyncs();\r\n } else {\r\n addHours();\r\n }\r\n } else {\r\n // eslint-disable-next-line no-lonely-if\r\n if (isEventTypeMousedownOrTouchstart) {\r\n _clearAndSetThisInterval(addMinutes);\r\n } else if (\r\n type === \"mouseup\" ||\r\n type === \"touchend\" ||\r\n type === \"contextmenu\"\r\n ) {\r\n _clearAsyncs();\r\n } else {\r\n addMinutes();\r\n }\r\n }\r\n } else if (target.closest(`[${ATTR_TIMEPICKER_ICON_DOWN}]`)) {\r\n if (\r\n target\r\n .closest(`[${ATTR_TIMEPICKER_ICON_DOWN}]`)\r\n .parentNode.hasAttribute(ATTR_TIMEPICKER_ICONS_HOUR_INLINE)\r\n ) {\r\n if (isEventTypeMousedownOrTouchstart) {\r\n _clearAndSetThisInterval(subHours);\r\n } else if (type === \"mouseup\" || type === \"touchend\") {\r\n _clearAsyncs();\r\n } else {\r\n subHours();\r\n }\r\n } else {\r\n // eslint-disable-next-line no-lonely-if\r\n if (isEventTypeMousedownOrTouchstart) {\r\n _clearAndSetThisInterval(subMinutes);\r\n } else if (type === \"mouseup\" || type === \"touchend\") {\r\n _clearAsyncs();\r\n } else {\r\n subMinutes();\r\n }\r\n }\r\n }\r\n }\r\n );\r\n EventHandler.on(window, EVENT_KEYDOWN_DATA_API, (e) => {\r\n const key = e.code;\r\n const isHourBtnFocused =\r\n document.activeElement.hasAttribute(ATTR_TIMEPICKER_HOUR);\r\n const isMinuteBtnFocused = document.activeElement.hasAttribute(\r\n ATTR_TIMEPICKER_MINUTE\r\n );\r\n const isBodyFocused = document.activeElement === document.body;\r\n\r\n selectedHour = Number(this._hour.textContent);\r\n minuteNumber = Number(this._minutes.textContent);\r\n\r\n switch (key) {\r\n case \"ArrowUp\":\r\n e.preventDefault();\r\n if (isBodyFocused || isHourBtnFocused) {\r\n this._hour.focus();\r\n addHours();\r\n } else if (isMinuteBtnFocused) {\r\n addMinutes();\r\n }\r\n break;\r\n case \"ArrowDown\":\r\n e.preventDefault();\r\n if (isBodyFocused || isHourBtnFocused) {\r\n this._hour.focus();\r\n subHours();\r\n } else if (isMinuteBtnFocused) {\r\n subMinutes();\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n }\r\n\r\n _handleClose() {\r\n EventHandler.on(\r\n this._modal,\r\n \"click\",\r\n `[${ATTR_TIMEPICKER_WRAPPER}], [${ATTR_TIMEPICKER_BUTTON_CANCEL}], [${ATTR_TIMEPICKER_BUTTON_CLEAR}]`,\r\n ({ target }) => {\r\n const { closeModalOnBackdropClick } = this._options;\r\n\r\n const runRemoveFunction = () => {\r\n Manipulator.addStyle(this.elementToggle, {\r\n pointerEvents: \"auto\",\r\n });\r\n\r\n if (this._animations) {\r\n this._toggleBackdropAnimation(true);\r\n }\r\n\r\n this._removeModal();\r\n this._focusTrap?.disable();\r\n this._focusTrap = null;\r\n\r\n if (this.elementToggle) {\r\n this.elementToggle.focus();\r\n } else if (this.input) {\r\n this.input.focus();\r\n }\r\n };\r\n\r\n if (target.hasAttribute(ATTR_TIMEPICKER_BUTTON_CLEAR)) {\r\n this._toggleAmPm(\"PM\");\r\n this.input.value = \"\";\r\n this.input.removeAttribute(ATTR_TIMEPICKER_ACTIVE);\r\n\r\n let checkInputValue;\r\n\r\n if (takeValue(this.input)[0] === \"\") {\r\n checkInputValue = [\"12\", \"00\", \"PM\"];\r\n } else {\r\n checkInputValue = takeValue(this.input);\r\n }\r\n\r\n const [hour, minute, format] = checkInputValue;\r\n this._setTipsAndTimesDependOnInputValue(\"12\", \"00\");\r\n this._setActiveClassToTipsOnOpen(hour, minute, format);\r\n this._hour.click();\r\n } else if (\r\n target.hasAttribute(ATTR_TIMEPICKER_BUTTON_CANCEL) ||\r\n target.hasAttribute(ATTR_TIMEPICKER_BUTTON_SUBMIT)\r\n ) {\r\n runRemoveFunction();\r\n } else if (\r\n target.hasAttribute(ATTR_TIMEPICKER_WRAPPER) &&\r\n closeModalOnBackdropClick\r\n ) {\r\n runRemoveFunction();\r\n }\r\n }\r\n );\r\n }\r\n\r\n showValueInput() {\r\n return this.input.value;\r\n }\r\n\r\n _handleOkButton() {\r\n EventHandlerMulti.on(\r\n this._modal,\r\n \"click\",\r\n `[${ATTR_TIMEPICKER_BUTTON_SUBMIT}]`,\r\n () => {\r\n let { maxTime, minTime } = this._options;\r\n const {\r\n format12,\r\n format24,\r\n readOnly,\r\n focusInputAfterApprove,\r\n disablePast,\r\n disableFuture,\r\n } = this._options;\r\n const hourModeActive = this._document.querySelector(\r\n `${SELECTOR_ATTR_TIMEPICKER_HOUR_MODE}[${ATTR_TIMEPICKER_ACTIVE}]`\r\n );\r\n\r\n const currentValue = `${this._hour.textContent}:${this._minutes.textContent}`;\r\n const selectedHourContent = Number(this._hour.textContent);\r\n const selectedHour =\r\n selectedHourContent === 12 && format12 ? 0 : selectedHourContent;\r\n const selectedMinutes = Number(this._minutes.textContent);\r\n\r\n minTime = setMinTime(minTime, disablePast, format12);\r\n maxTime = setMaxTime(maxTime, disableFuture, format12);\r\n\r\n let [maxTimeHour, maxTimeMinutes, maxTimeFormat] = takeValue(\r\n maxTime,\r\n false\r\n );\r\n let [minTimeHour, minTimeMinutes, minTimeFormat] = takeValue(\r\n minTime,\r\n false\r\n );\r\n\r\n minTimeHour = minTimeHour === \"12\" && format12 ? \"00\" : minTimeHour;\r\n maxTimeHour = maxTimeHour === \"12\" && format12 ? \"00\" : maxTimeHour;\r\n\r\n const isHourLessThanMinHour = selectedHour < Number(minTimeHour);\r\n const isHourGreaterThanMaxHour = selectedHour > Number(maxTimeHour);\r\n let maxFormatAndCurrentFormatEqual = true;\r\n if (hourModeActive) {\r\n maxFormatAndCurrentFormatEqual =\r\n maxTimeFormat === hourModeActive.textContent;\r\n }\r\n\r\n let minFormatAndCurrentFormatEqual = true;\r\n if (hourModeActive) {\r\n minFormatAndCurrentFormatEqual =\r\n minTimeFormat === hourModeActive.textContent;\r\n }\r\n\r\n const hourEqualToMaxAndMinutesGreaterThanMax =\r\n selectedMinutes > maxTimeMinutes &&\r\n selectedHour === Number(maxTimeHour);\r\n const hourEqualToMinAndMinutesLessThanMin =\r\n selectedMinutes < minTimeMinutes &&\r\n selectedHour === Number(minTimeHour);\r\n\r\n this.input.setAttribute(ATTR_TIMEPICKER_ACTIVE, \"\");\r\n Manipulator.addStyle(this.elementToggle, {\r\n pointerEvents: \"auto\",\r\n });\r\n\r\n if (maxTime !== \"\") {\r\n if (\r\n maxFormatAndCurrentFormatEqual &&\r\n (isHourGreaterThanMaxHour || hourEqualToMaxAndMinutesGreaterThanMax)\r\n ) {\r\n return;\r\n } else if (\r\n maxTimeFormat === \"AM\" &&\r\n hourModeActive.textContent === \"PM\"\r\n ) {\r\n return;\r\n }\r\n }\r\n if (minTime !== \"\") {\r\n if (\r\n minFormatAndCurrentFormatEqual &&\r\n (isHourLessThanMinHour || hourEqualToMinAndMinutesLessThanMin)\r\n ) {\r\n return;\r\n }\r\n if (minTimeFormat === \"PM\" && hourModeActive.textContent === \"AM\") {\r\n return;\r\n }\r\n }\r\n\r\n if (\r\n checkValueBeforeAccept(\r\n this._options,\r\n this.input,\r\n this._hour.textContent\r\n ) === undefined\r\n ) {\r\n return;\r\n }\r\n\r\n if (this._isInvalidTimeFormat) {\r\n this.input.removeAttribute(ATTR_TIMEPICKER_IS_INVALID);\r\n }\r\n\r\n if (!readOnly && focusInputAfterApprove) {\r\n this.input.focus();\r\n }\r\n\r\n Manipulator.addStyle(this.elementToggle, {\r\n pointerEvents: \"auto\",\r\n });\r\n\r\n if (format24) {\r\n this.input.value = currentValue;\r\n } else if (hourModeActive === null) {\r\n this.input.value = `${currentValue} PM`;\r\n } else {\r\n this.input.value = `${currentValue} ${hourModeActive.textContent}`;\r\n }\r\n\r\n if (this._animations) {\r\n this._toggleBackdropAnimation(true);\r\n }\r\n\r\n this._removeModal();\r\n\r\n EventHandler.trigger(this.input, \"input.te.timepicker\");\r\n EventHandler.trigger(this.input, \"input\");\r\n }\r\n );\r\n }\r\n\r\n _handleHoverInlineBtn() {\r\n EventHandlerMulti.on(\r\n this._modal,\r\n \"mouseover mouseleave\",\r\n `[${ATTR_TIMEPICKER_CURRENT_INLINE}]`,\r\n ({ type, target }) => {\r\n const allIconsInlineHour = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_ICON_INLINE_HOUR}]`,\r\n this._modal\r\n );\r\n const allIconsInlineMinute = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_ICON_INLINE_MINUTE}]`,\r\n this._modal\r\n );\r\n\r\n const modifyIcons = (elements, shouldAdd) => {\r\n return elements.forEach((icon) => {\r\n if (shouldAdd) {\r\n Manipulator.addClass(icon, this._classes.opacity);\r\n icon.setAttribute(ATTR_TIMEPICKER_ACTIVE, \"\");\r\n return;\r\n }\r\n\r\n Manipulator.removeClass(icon, this._classes.opacity);\r\n icon.removeAttribute(ATTR_TIMEPICKER_ACTIVE);\r\n });\r\n };\r\n\r\n const pickerHasHourAttr = target.hasAttribute(ATTR_TIMEPICKER_HOUR);\r\n const iconElements = pickerHasHourAttr\r\n ? allIconsInlineHour\r\n : allIconsInlineMinute;\r\n\r\n modifyIcons(iconElements, type === \"mouseover\");\r\n }\r\n );\r\n }\r\n\r\n _handleDocumentClickInline() {\r\n EventHandler.on(document, EVENT_CLICK_DATA_API, ({ target }) => {\r\n if (\r\n this._modal &&\r\n !this._modal.contains(target) &&\r\n !target.hasAttribute(ATTR_TIMEPICKER_ICON)\r\n ) {\r\n clearInterval(this._interval);\r\n Manipulator.addStyle(this.elementToggle, {\r\n pointerEvents: \"auto\",\r\n });\r\n this._removeModal();\r\n\r\n if (!this._animations) return;\r\n\r\n this._toggleBackdropAnimation(true);\r\n }\r\n });\r\n }\r\n\r\n _handleSwitchHourMinute() {\r\n toggleClassHandler(\r\n \"click\",\r\n SELECTOR_ATTR_TIMEPICKER_CURRENT,\r\n this._classes\r\n );\r\n\r\n EventHandler.on(\r\n this._modal,\r\n \"click\",\r\n SELECTOR_ATTR_TIMEPICKER_CURRENT,\r\n () => {\r\n const { format24 } = this._options;\r\n const current = SelectorEngine.find(\r\n SELECTOR_ATTR_TIMEPICKER_CURRENT,\r\n this._modal\r\n );\r\n const allTipsMinutes = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_TIPS_MINUTES}]`,\r\n this._modal\r\n );\r\n const allTipsHours = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_TIPS_HOURS}]`,\r\n this._modal\r\n );\r\n const allInnerTips = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_INNER_HOURS}]`,\r\n this._modal\r\n );\r\n const hourValue = Number(this._hour.textContent);\r\n const minuteValue = Number(this._minutes.textContent);\r\n\r\n const switchTips = (array, classes) => {\r\n allTipsHours.forEach((tip) => tip.remove());\r\n allTipsMinutes.forEach((tip) => tip.remove());\r\n Manipulator.addClass(this._hand, this._classes.transform);\r\n\r\n setTimeout(() => {\r\n Manipulator.removeClass(this._hand, this._classes.transform);\r\n }, 401);\r\n\r\n this._getAppendClock(array, `[${ATTR_TIMEPICKER_CLOCK}]`, classes);\r\n\r\n const toggleActiveClass = () => {\r\n const allTipsHours = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_TIPS_HOURS}]`,\r\n this._modal\r\n );\r\n const allTipsMinutes = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_TIPS_MINUTES}]`,\r\n this._modal\r\n );\r\n\r\n this._addActiveClassToTip(allTipsHours, hourValue);\r\n this._addActiveClassToTip(allTipsMinutes, minuteValue);\r\n };\r\n\r\n if (!format24) {\r\n setTimeout(() => {\r\n toggleActiveClass();\r\n }, 401);\r\n } else {\r\n const allTipsInnerHours = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_INNER_HOURS}]`,\r\n this._modal\r\n );\r\n\r\n setTimeout(() => {\r\n this._addActiveClassToTip(allTipsInnerHours, hourValue);\r\n toggleActiveClass();\r\n }, 401);\r\n }\r\n };\r\n\r\n current.forEach((e) => {\r\n if (e.hasAttribute(ATTR_TIMEPICKER_ACTIVE)) {\r\n if (e.hasAttribute(ATTR_TIMEPICKER_MINUTE)) {\r\n Manipulator.addClass(this._hand, this._classes.transform);\r\n\r\n Manipulator.addStyle(this._hand, {\r\n transform: `rotateZ(${this._minutes.textContent * 6}deg)`,\r\n height: \"calc(40% + 1px)\",\r\n });\r\n\r\n if (format24 && allInnerTips.length > 0) {\r\n allInnerTips.forEach((innerTip) => innerTip.remove());\r\n }\r\n switchTips(\r\n this.minutesArray,\r\n ATTR_TIMEPICKER_TIPS_MINUTES,\r\n allTipsMinutes\r\n );\r\n this._hour.style.pointerEvents = \"\";\r\n this._minutes.style.pointerEvents = \"none\";\r\n } else if (e.hasAttribute(ATTR_TIMEPICKER_HOUR)) {\r\n Manipulator.addStyle(this._hand, {\r\n transform: `rotateZ(${this._hour.textContent * 30}deg)`,\r\n });\r\n\r\n if (Number(this._hour.textContent) > 12) {\r\n Manipulator.addStyle(this._hand, {\r\n transform: `rotateZ(${this._hour.textContent * 30 - 360}deg)`,\r\n height: \"21.5%\",\r\n });\r\n\r\n if (Number(this._hour.textContent) > 12) {\r\n Manipulator.addStyle(this._hand, {\r\n height: \"21.5%\",\r\n });\r\n }\r\n } else {\r\n Manipulator.addStyle(this._hand, {\r\n height: \"calc(40% + 1px)\",\r\n });\r\n }\r\n\r\n if (format24) {\r\n this._getAppendClock(\r\n this.innerHours,\r\n `[${ATTR_TIMEPICKER_CLOCK_INNER}]`,\r\n ATTR_TIMEPICKER_INNER_HOURS\r\n );\r\n }\r\n\r\n if (allInnerTips.length > 0) {\r\n allInnerTips.forEach((innerTip) => innerTip.remove());\r\n }\r\n\r\n switchTips(\r\n this.hoursArray,\r\n ATTR_TIMEPICKER_TIPS_HOURS,\r\n allTipsHours\r\n );\r\n\r\n Manipulator.addStyle(this._hour, {\r\n pointerEvents: \"none\",\r\n });\r\n Manipulator.addStyle(this._minutes, {\r\n pointerEvents: \"\",\r\n });\r\n }\r\n }\r\n });\r\n }\r\n );\r\n }\r\n\r\n _handleDisablingTipsMaxTime(\r\n selectedFormat,\r\n maxTimeFormat,\r\n maxTimeMinutes,\r\n maxTimeHour\r\n ) {\r\n if (!this._options.maxTime && !this._options.disableFuture) {\r\n return;\r\n }\r\n\r\n const outerHoursTips = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_TIPS_HOURS}]`\r\n );\r\n const innerHoursTips = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_INNER_HOURS}]`\r\n );\r\n const allTipsMinutes = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_TIPS_MINUTES}]`\r\n );\r\n\r\n if (!maxTimeFormat || maxTimeFormat === selectedFormat) {\r\n _verifyMaxTimeHourAndAddDisabledClass(\r\n innerHoursTips,\r\n maxTimeHour,\r\n this._classes,\r\n this._options.format12\r\n );\r\n _verifyMaxTimeHourAndAddDisabledClass(\r\n outerHoursTips,\r\n maxTimeHour,\r\n this._classes,\r\n this._options.format12\r\n );\r\n _verifyMaxTimeMinutesTipsAndAddDisabledClass(\r\n allTipsMinutes,\r\n maxTimeMinutes,\r\n maxTimeHour,\r\n this._hour.textContent,\r\n this._classes,\r\n this._options.format12\r\n );\r\n return;\r\n }\r\n if (maxTimeFormat === \"AM\" && selectedFormat === \"PM\") {\r\n outerHoursTips.forEach((tip) => {\r\n Manipulator.addClass(tip, this._classes.tipsDisabled);\r\n tip.setAttribute(ATTR_TIMEPICKER_DISABLED, \"\");\r\n });\r\n allTipsMinutes.forEach((tip) => {\r\n Manipulator.addClass(tip, this._classes.tipsDisabled);\r\n tip.setAttribute(ATTR_TIMEPICKER_DISABLED, \"\");\r\n });\r\n }\r\n }\r\n\r\n _handleDisablingTipsMinTime(\r\n selectedFormat,\r\n minTimeFormat,\r\n minTimeMinutes,\r\n minTimeHour\r\n ) {\r\n if (!this._options.minTime && !this._options.disablePast) {\r\n return;\r\n }\r\n\r\n const outerHoursTips = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_TIPS_HOURS}]`\r\n );\r\n const innerHoursTips = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_INNER_HOURS}]`\r\n );\r\n const allTipsMinutes = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_TIPS_MINUTES}]`\r\n );\r\n\r\n if (!minTimeFormat || minTimeFormat === selectedFormat) {\r\n _verifyMinTimeHourAndAddDisabledClass(\r\n outerHoursTips,\r\n minTimeHour,\r\n this._classes,\r\n this._options.format12\r\n );\r\n _verifyMinTimeHourAndAddDisabledClass(\r\n innerHoursTips,\r\n minTimeHour,\r\n this._classes,\r\n this._options.format12\r\n );\r\n _verifyMinTimeMinutesTipsAndAddDisabledClass(\r\n allTipsMinutes,\r\n minTimeMinutes,\r\n minTimeHour,\r\n this._hour.textContent,\r\n this._classes,\r\n this._options.format12\r\n );\r\n } else if (minTimeFormat === \"PM\" && selectedFormat === \"AM\") {\r\n outerHoursTips.forEach((tip) => {\r\n Manipulator.addClass(tip, this._classes.tipsDisabled);\r\n tip.setAttribute(ATTR_TIMEPICKER_DISABLED, \"\");\r\n });\r\n allTipsMinutes.forEach((tip) => {\r\n Manipulator.addClass(tip, this._classes.tipsDisabled);\r\n tip.setAttribute(ATTR_TIMEPICKER_DISABLED, \"\");\r\n });\r\n }\r\n }\r\n\r\n _toggleAmPm = (enabled) => {\r\n if (enabled === \"PM\") {\r\n this._isPmEnabled = true;\r\n this._isAmEnabled = false;\r\n } else if (enabled === \"AM\") {\r\n this._isPmEnabled = false;\r\n this._isAmEnabled = true;\r\n }\r\n };\r\n\r\n _handleSwitchTimeMode() {\r\n EventHandler.on(\r\n document,\r\n \"click\",\r\n SELECTOR_ATTR_TIMEPICKER_HOUR_MODE,\r\n ({ target }) => {\r\n let { maxTime, minTime } = this._options;\r\n const { disablePast, disableFuture, format12 } = this._options;\r\n\r\n minTime = setMinTime(minTime, disablePast, format12);\r\n maxTime = setMaxTime(maxTime, disableFuture, format12);\r\n\r\n const [maxTimeHour, maxTimeMinutes, maxTimeFormat] = takeValue(\r\n maxTime,\r\n false\r\n );\r\n const [minTimeHour, minTimeMinutes, minTimeFormat] = takeValue(\r\n minTime,\r\n false\r\n );\r\n\r\n const allTipsHour = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_TIPS_HOURS}]`\r\n );\r\n const allTipsMinutes = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_TIPS_MINUTES}]`\r\n );\r\n\r\n const clearDisabledClassForAllTips = () => {\r\n allTipsHour.forEach((tip) => {\r\n Manipulator.removeClass(tip, this._classes.tipsDisabled);\r\n tip.removeAttribute(ATTR_TIMEPICKER_DISABLED);\r\n });\r\n\r\n allTipsMinutes.forEach((tip) => {\r\n Manipulator.removeClass(tip, this._classes.tipsDisabled);\r\n tip.removeAttribute(ATTR_TIMEPICKER_DISABLED);\r\n });\r\n };\r\n\r\n clearDisabledClassForAllTips();\r\n this._handleDisablingTipsMinTime(\r\n target.textContent,\r\n minTimeFormat,\r\n minTimeMinutes,\r\n minTimeHour\r\n );\r\n this._handleDisablingTipsMaxTime(\r\n target.textContent,\r\n maxTimeFormat,\r\n maxTimeMinutes,\r\n maxTimeHour\r\n );\r\n this._toggleAmPm(target.textContent);\r\n if (!target.hasAttribute(ATTR_TIMEPICKER_ACTIVE)) {\r\n const allHoursMode = SelectorEngine.find(\r\n SELECTOR_ATTR_TIMEPICKER_HOUR_MODE\r\n );\r\n\r\n allHoursMode.forEach((element) => {\r\n if (element.hasAttribute(ATTR_TIMEPICKER_ACTIVE)) {\r\n Manipulator.removeClass(element, this._classes.opacity);\r\n element.removeAttribute(ATTR_TIMEPICKER_ACTIVE);\r\n }\r\n });\r\n\r\n Manipulator.addClass(target, this._classes.opacity);\r\n target.setAttribute(ATTR_TIMEPICKER_ACTIVE, \"\");\r\n }\r\n }\r\n );\r\n }\r\n\r\n _handleClockClick() {\r\n let { maxTime, minTime } = this._options;\r\n const { disablePast, disableFuture, format12 } = this._options;\r\n\r\n minTime = setMinTime(minTime, disablePast, format12);\r\n maxTime = setMaxTime(maxTime, disableFuture, format12);\r\n\r\n const maxTimeFormat = takeValue(maxTime, false)[2];\r\n const minTimeFormat = takeValue(minTime, false)[2];\r\n\r\n const maxTimeHour = takeValue(maxTime, false)[0];\r\n const minTimeHour = takeValue(minTime, false)[0];\r\n\r\n const clockWrapper = SelectorEngine.findOne(\r\n `[${ATTR_TIMEPICKER_CLOCK_WRAPPER}]`\r\n );\r\n EventHandlerMulti.on(\r\n document,\r\n `${EVENT_MOUSEDOWN_DATA_API} ${EVENT_MOUSEUP_DATA_API} ${EVENT_MOUSEMOVE_DATA_API} ${EVENT_MOUSELEAVE_DATA_API} ${EVENT_MOUSEOVER_DATA_API} ${EVENT_TOUCHSTART_DATA_API} ${EVENT_TOUCHMOVE_DATA_API} ${EVENT_TOUCHEND_DATA_API}`,\r\n \"\",\r\n (e) => {\r\n if (!checkBrowser()) {\r\n e.preventDefault();\r\n }\r\n\r\n const { type, target } = e;\r\n const { closeModalOnMinutesClick, switchHoursToMinutesOnClick } =\r\n this._options;\r\n const minutes =\r\n SelectorEngine.findOne(\r\n `[${ATTR_TIMEPICKER_TIPS_MINUTES}]`,\r\n this._modal\r\n ) !== null;\r\n const hours =\r\n SelectorEngine.findOne(\r\n `[${ATTR_TIMEPICKER_TIPS_HOURS}]`,\r\n this._modal\r\n ) !== null;\r\n const innerHours =\r\n SelectorEngine.findOne(\r\n `[${ATTR_TIMEPICKER_INNER_HOURS}]`,\r\n this._modal\r\n ) !== null;\r\n\r\n const allTipsMinutes = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_TIPS_MINUTES}]`,\r\n this._modal\r\n );\r\n\r\n const mouseClick = findMousePosition(e, clockWrapper);\r\n const radius = clockWrapper.offsetWidth / 2;\r\n\r\n let rds = Math.atan2(mouseClick.y - radius, mouseClick.x - radius);\r\n if (checkBrowser()) {\r\n const touchClick = findMousePosition(e, clockWrapper, true);\r\n rds = Math.atan2(touchClick.y - radius, touchClick.x - radius);\r\n }\r\n\r\n let xPos = null;\r\n let yPos = null;\r\n let elFromPoint = null;\r\n\r\n if (\r\n type === \"mousedown\" ||\r\n type === \"mousemove\" ||\r\n type === \"touchmove\" ||\r\n type === \"touchstart\"\r\n ) {\r\n if (\r\n type === \"mousedown\" ||\r\n type === \"touchstart\" ||\r\n type === \"touchmove\"\r\n ) {\r\n if (\r\n this._hasTargetInnerClass(target) ||\r\n target.hasAttribute(ATTR_TIMEPICKER_CLOCK_WRAPPER) ||\r\n target.hasAttribute(ATTR_TIMEPICKER_CLOCK) ||\r\n target.hasAttribute(ATTR_TIMEPICKER_TIPS_MINUTES) ||\r\n target.hasAttribute(ATTR_TIMEPICKER_TIPS_HOURS) ||\r\n target.hasAttribute(ATTR_TIMEPICKER_CIRCLE) ||\r\n target.hasAttribute(ATTR_TIMEPICKER_HAND_POINTER) ||\r\n target.hasAttribute(ATTR_TIMEPICKER_MIDDLE_DOT) ||\r\n target.hasAttribute(ATTR_TIMEPICKER_TIPS_ELEMENT)\r\n ) {\r\n this._isMouseMove = true;\r\n\r\n if (checkBrowser() && e.touches) {\r\n xPos = e.touches[0].clientX;\r\n yPos = e.touches[0].clientY;\r\n elFromPoint = document.elementFromPoint(xPos, yPos);\r\n }\r\n }\r\n }\r\n } else if (type === \"mouseup\" || type === \"touchend\") {\r\n this._isMouseMove = false;\r\n\r\n if (\r\n this._hasTargetInnerClass(target) ||\r\n target.hasAttribute(ATTR_TIMEPICKER_CLOCK) ||\r\n target.hasAttribute(ATTR_TIMEPICKER_TIPS_HOURS) ||\r\n target.hasAttribute(ATTR_TIMEPICKER_CIRCLE) ||\r\n target.hasAttribute(ATTR_TIMEPICKER_HAND_POINTER) ||\r\n target.hasAttribute(ATTR_TIMEPICKER_MIDDLE_DOT) ||\r\n target.hasAttribute(ATTR_TIMEPICKER_TIPS_ELEMENT)\r\n ) {\r\n if ((hours || innerHours) && switchHoursToMinutesOnClick) {\r\n const isHourlessThanMinOrGreaterThanMax =\r\n Number(this._hour.textContent) > maxTimeHour ||\r\n Number(this._hour.textContent) < minTimeHour;\r\n if (\r\n this._options.format24 &&\r\n maxTimeHour !== \"\" &&\r\n minTimeHour !== \"\" &&\r\n isHourlessThanMinOrGreaterThanMax\r\n ) {\r\n return;\r\n } else if (\r\n this._options.format24 &&\r\n minTimeHour !== \"\" &&\r\n Number(this._hour.textContent) < minTimeHour\r\n ) {\r\n return;\r\n }\r\n }\r\n EventHandler.trigger(this._minutes, \"click\");\r\n }\r\n\r\n if (minutes && closeModalOnMinutesClick) {\r\n const submitBtn = SelectorEngine.findOne(\r\n `[${ATTR_TIMEPICKER_BUTTON_SUBMIT}]`,\r\n this._modal\r\n );\r\n EventHandler.trigger(submitBtn, \"click\");\r\n }\r\n }\r\n\r\n if (minutes) {\r\n let minute;\r\n\r\n const degrees = Math.trunc((rds * 180) / Math.PI) + 90;\r\n\r\n const { degrees: minDegrees, minute: minTimeObj } =\r\n this._makeMinutesDegrees(degrees, minute);\r\n\r\n if (\r\n this._handlerMaxMinMinutesOptions(minDegrees, minTimeObj) ===\r\n undefined\r\n ) {\r\n return;\r\n }\r\n\r\n const { degrees: _degrees, minute: minuteTimes } =\r\n this._handlerMaxMinMinutesOptions(minDegrees, minTimeObj);\r\n\r\n if (this._isMouseMove) {\r\n Manipulator.addStyle(this._hand, {\r\n transform: `rotateZ(${_degrees}deg)`,\r\n });\r\n\r\n if (minuteTimes === undefined) {\r\n return;\r\n }\r\n\r\n const changeMinutes = () => {\r\n return minuteTimes >= 10 || minuteTimes === \"00\"\r\n ? minuteTimes\r\n : `0${minuteTimes}`;\r\n };\r\n\r\n this._minutes.textContent = changeMinutes();\r\n\r\n this._toggleClassActive(\r\n this.minutesArray,\r\n this._minutes,\r\n allTipsMinutes\r\n );\r\n this._toggleBackgroundColorCircle(\r\n `[${ATTR_TIMEPICKER_TIPS_MINUTES}]`\r\n );\r\n\r\n this._objWithDataOnChange.degreesMinutes = _degrees;\r\n this._objWithDataOnChange.minutes = minuteTimes;\r\n }\r\n }\r\n\r\n if (hours || innerHours) {\r\n let hour;\r\n\r\n let degrees = Math.trunc((rds * 180) / Math.PI) + 90;\r\n degrees = Math.round(degrees / 30) * 30;\r\n\r\n Manipulator.addStyle(this._circle, {\r\n backgroundColor: \"#1976d2\",\r\n });\r\n if (this._makeHourDegrees(target, degrees, hour) === undefined) {\r\n return;\r\n }\r\n const makeDegrees = () => {\r\n if (checkBrowser() && degrees && elFromPoint) {\r\n const { degrees: touchDegrees, hour: touchHours } =\r\n this._makeHourDegrees(elFromPoint, degrees, hour);\r\n\r\n return this._handleMoveHand(\r\n elFromPoint,\r\n touchHours,\r\n touchDegrees\r\n );\r\n } else {\r\n const { degrees: movedDegrees, hour: movedHours } =\r\n this._makeHourDegrees(target, degrees, hour);\r\n\r\n return this._handleMoveHand(target, movedHours, movedDegrees);\r\n }\r\n };\r\n\r\n this._objWithDataOnChange.degreesHours = degrees;\r\n\r\n if (\r\n this._handlerMaxMinHoursOptions(\r\n degrees,\r\n maxTimeHour,\r\n minTimeHour,\r\n maxTimeFormat,\r\n minTimeFormat,\r\n e\r\n )\r\n ) {\r\n makeDegrees();\r\n }\r\n }\r\n\r\n e.stopPropagation();\r\n }\r\n );\r\n }\r\n\r\n _hasTargetInnerClass(target) {\r\n return (\r\n target.hasAttribute(ATTR_TIMEPICKER_CLOCK_INNER) ||\r\n target.hasAttribute(ATTR_TIMEPICKER_INNER_HOURS) ||\r\n target.hasAttribute(ATTR_TIMEPICKER_TIPS_INNER_ELEMENT)\r\n );\r\n }\r\n\r\n _handleMoveHand(target, hour, degrees) {\r\n const allTipsHours = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_TIPS_HOURS}]`,\r\n this._modal\r\n );\r\n const allTipsInner = SelectorEngine.find(\r\n `[${ATTR_TIMEPICKER_INNER_HOURS}]`,\r\n this._modal\r\n );\r\n\r\n if (!this._isMouseMove) return;\r\n\r\n if (this._hasTargetInnerClass(target)) {\r\n Manipulator.addStyle(this._hand, {\r\n height: \"21.5%\",\r\n });\r\n } else {\r\n Manipulator.addStyle(this._hand, {\r\n height: \"calc(40% + 1px)\",\r\n });\r\n }\r\n\r\n Manipulator.addStyle(this._hand, {\r\n transform: `rotateZ(${degrees}deg)`,\r\n });\r\n\r\n this._hour.textContent = hour >= 10 || hour === \"00\" ? hour : `0${hour}`;\r\n\r\n this._toggleClassActive(this.hoursArray, this._hour, allTipsHours);\r\n this._toggleClassActive(this.innerHours, this._hour, allTipsInner);\r\n\r\n this._objWithDataOnChange.hour =\r\n hour >= 10 || hour === \"00\" ? hour : `0${hour}`;\r\n }\r\n\r\n _handlerMaxMinMinutesOptions(degrees, minute) {\r\n let { maxTime, minTime } = this._options;\r\n const { format12, increment, disablePast, disableFuture } = this._options;\r\n\r\n minTime = setMinTime(minTime, disablePast, format12);\r\n maxTime = setMaxTime(maxTime, disableFuture, format12);\r\n\r\n const maxMin = takeValue(maxTime, false)[1];\r\n const minMin = takeValue(minTime, false)[1];\r\n const maxHourTimeValue = takeValue(maxTime, false)[0];\r\n const minHourTimeValue = takeValue(minTime, false)[0];\r\n const minHourTime =\r\n minHourTimeValue === \"12\" && format12 ? \"0\" : minHourTimeValue;\r\n const maxHourTime =\r\n maxHourTimeValue === \"12\" && format12 ? \"0\" : maxHourTimeValue;\r\n\r\n const maxTimeFormat = takeValue(maxTime, false)[2];\r\n const minTimeFormat = takeValue(minTime, false)[2];\r\n\r\n const maxMinDegrees = maxMin !== \"\" ? maxMin * 6 : \"\";\r\n const minMinDegrees = minMin !== \"\" ? minMin * 6 : \"\";\r\n\r\n const selectedHourContent = Number(this._hour.textContent);\r\n const selectedHour =\r\n selectedHourContent === 12 && format12 ? 0 : selectedHourContent;\r\n\r\n if (!maxTimeFormat && !minTimeFormat) {\r\n if (maxTime !== \"\" && minTime !== \"\") {\r\n if (\r\n (Number(maxHourTime) === selectedHour && degrees > maxMinDegrees) ||\r\n (Number(minHourTime) === selectedHour && degrees < minMinDegrees)\r\n ) {\r\n return degrees;\r\n }\r\n } else if (minTime !== \"\" && selectedHour <= Number(minHourTime)) {\r\n if (degrees <= minMinDegrees - 6) {\r\n return degrees;\r\n }\r\n } else if (maxTime !== \"\" && selectedHour >= Number(maxHourTime)) {\r\n if (degrees >= maxMinDegrees + 6) {\r\n return degrees;\r\n }\r\n }\r\n } else {\r\n // eslint-disable-next-line no-lonely-if\r\n if (minTime !== \"\") {\r\n if (minTimeFormat === \"PM\" && this._isAmEnabled) {\r\n return;\r\n }\r\n\r\n if (minTimeFormat === \"PM\" && this._isPmEnabled) {\r\n if (selectedHour < Number(minHourTime)) {\r\n return;\r\n }\r\n\r\n if (selectedHour <= Number(minHourTime)) {\r\n if (degrees <= minMinDegrees - 6) {\r\n return degrees;\r\n }\r\n }\r\n } else if (minTimeFormat === \"AM\" && this._isAmEnabled) {\r\n if (selectedHour < Number(minHourTime)) {\r\n return;\r\n }\r\n\r\n if (selectedHour <= Number(minHourTime)) {\r\n if (degrees <= minMinDegrees - 6) {\r\n return degrees;\r\n }\r\n }\r\n }\r\n }\r\n if (maxTime !== \"\") {\r\n if (maxTimeFormat === \"AM\" && this._isPmEnabled) {\r\n return;\r\n }\r\n\r\n if (maxTimeFormat === \"PM\" && this._isPmEnabled) {\r\n if (selectedHour >= Number(maxHourTime)) {\r\n if (degrees >= maxMinDegrees + 6) {\r\n return degrees;\r\n }\r\n }\r\n } else if (maxTimeFormat === \"AM\" && this._isAmEnabled) {\r\n if (selectedHour >= Number(maxHourTime)) {\r\n if (degrees >= maxMinDegrees + 6) {\r\n return degrees;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (increment) {\r\n degrees = Math.round(degrees / 30) * 30;\r\n }\r\n\r\n if (degrees < 0) {\r\n degrees = 360 + degrees;\r\n } else if (degrees >= 360) {\r\n degrees = 0;\r\n }\r\n\r\n return {\r\n degrees,\r\n minute,\r\n };\r\n }\r\n\r\n _removeModal() {\r\n if (this._animations) {\r\n setTimeout(() => {\r\n this._removeModalElements();\r\n this._scrollBar.reset();\r\n }, 300);\r\n } else {\r\n this._removeModalElements();\r\n this._scrollBar.reset();\r\n }\r\n\r\n EventHandlerMulti.off(\r\n this._document,\r\n `${EVENT_CLICK_DATA_API} ${EVENT_KEYDOWN_DATA_API} ${EVENT_MOUSEDOWN_DATA_API} ${EVENT_MOUSEUP_DATA_API} ${EVENT_MOUSEMOVE_DATA_API} ${EVENT_MOUSELEAVE_DATA_API} ${EVENT_MOUSEOVER_DATA_API} ${EVENT_TOUCHSTART_DATA_API} ${EVENT_TOUCHMOVE_DATA_API} ${EVENT_TOUCHEND_DATA_API}`\r\n );\r\n EventHandler.off(window, EVENT_KEYDOWN_DATA_API);\r\n }\r\n\r\n _removeModalElements() {\r\n if (this._modal) this._modal.remove();\r\n }\r\n\r\n _toggleBackdropAnimation(isToRemove = false) {\r\n if (isToRemove) {\r\n this._wrapper.classList.add(\"animate-[fade-out_350ms_ease-in-out]\");\r\n } else {\r\n this._wrapper.classList.add(\"animate-[fade-in_350ms_ease-in-out]\");\r\n\r\n if (!this._options.inline)\r\n Manipulator.addClass(this._clock, this._classes.clockAnimation);\r\n }\r\n\r\n setTimeout(() => {\r\n this._wrapper.classList.remove(\r\n \"animate-[fade-out_350ms_ease-in-out]\",\r\n \"animate-[fade-in_350ms_ease-in-out]\"\r\n );\r\n }, 351);\r\n }\r\n\r\n _toggleBackgroundColorCircle = (classes) => {\r\n const tips =\r\n this._modal.querySelector(`${classes}[${ATTR_TIMEPICKER_ACTIVE}]`) !==\r\n null;\r\n if (tips) {\r\n Manipulator.addStyle(this._circle, {\r\n backgroundColor: \"#1976d2\",\r\n });\r\n\r\n return;\r\n }\r\n\r\n Manipulator.addStyle(this._circle, {\r\n backgroundColor: \"transparent\",\r\n });\r\n };\r\n\r\n _toggleClassActive = (array, { textContent }, tips) => {\r\n const findInArray = [...array].find(\r\n (e) => Number(e) === Number(textContent)\r\n );\r\n\r\n return tips.forEach((e) => {\r\n if (e.hasAttribute(ATTR_TIMEPICKER_DISABLED)) return;\r\n\r\n if (e.textContent === findInArray) {\r\n Manipulator.addClass(e, this._classes.tipsActive);\r\n e.setAttribute(ATTR_TIMEPICKER_ACTIVE, \"\");\r\n return;\r\n }\r\n\r\n Manipulator.removeClass(e, this._classes.tipsActive);\r\n e.removeAttribute(ATTR_TIMEPICKER_ACTIVE);\r\n });\r\n };\r\n\r\n _addActiveClassToTip(tips, value) {\r\n tips.forEach((tip) => {\r\n if (Number(tip.textContent) === Number(value)) {\r\n Manipulator.addClass(tip, this._classes.tipsActive);\r\n tip.setAttribute(ATTR_TIMEPICKER_ACTIVE, \"\");\r\n }\r\n });\r\n }\r\n\r\n _makeMinutesDegrees = (degrees, minute) => {\r\n const { increment } = this._options;\r\n\r\n if (degrees < 0) {\r\n minute = Math.round(360 + degrees / 6) % 60;\r\n degrees = 360 + Math.round(degrees / 6) * 6;\r\n } else {\r\n minute = Math.round(degrees / 6) % 60;\r\n degrees = Math.round(degrees / 6) * 6;\r\n }\r\n\r\n if (increment) {\r\n degrees = Math.round(degrees / 30) * 30;\r\n minute = (Math.round(degrees / 6) * 6) / 6;\r\n\r\n if (minute === 60) {\r\n minute = \"00\";\r\n }\r\n }\r\n\r\n if (degrees >= 360) {\r\n degrees = 0;\r\n }\r\n\r\n return {\r\n degrees,\r\n minute,\r\n addDegrees: increment ? 30 : 6,\r\n };\r\n };\r\n\r\n _makeHourDegrees = (target, degrees, hour) => {\r\n if (!target) {\r\n return;\r\n }\r\n if (this._hasTargetInnerClass(target)) {\r\n if (degrees < 0) {\r\n hour = Math.round(360 + degrees / 30) % 24;\r\n degrees = 360 + degrees;\r\n } else {\r\n hour = Math.round(degrees / 30) + 12;\r\n if (hour === 12) {\r\n hour = \"00\";\r\n }\r\n }\r\n } else if (degrees < 0) {\r\n hour = Math.round(360 + degrees / 30) % 12;\r\n degrees = 360 + degrees;\r\n } else {\r\n hour = Math.round(degrees / 30) % 12;\r\n if (hour === 0 || hour > 12) {\r\n hour = 12;\r\n }\r\n }\r\n\r\n if (degrees >= 360) {\r\n degrees = 0;\r\n }\r\n\r\n return {\r\n degrees,\r\n hour,\r\n addDegrees: 30,\r\n };\r\n };\r\n\r\n _makeInnerHoursDegrees = (degrees, hour) => {\r\n if (degrees < 0) {\r\n hour = Math.round(360 + degrees / 30) % 24;\r\n degrees = 360 + degrees;\r\n } else {\r\n hour = Math.round(degrees / 30) + 12;\r\n if (hour === 12) {\r\n hour = \"00\";\r\n }\r\n }\r\n\r\n return {\r\n degrees,\r\n hour,\r\n addDegrees: 30,\r\n };\r\n };\r\n\r\n _setHourOrMinute(number) {\r\n return number < 10 ? `0${number}` : number;\r\n }\r\n\r\n _appendTimes() {\r\n const { format24 } = this._options;\r\n\r\n if (format24) {\r\n this._getAppendClock(\r\n this.hoursArray,\r\n `[${ATTR_TIMEPICKER_CLOCK}]`,\r\n ATTR_TIMEPICKER_TIPS_HOURS\r\n );\r\n this._getAppendClock(\r\n this.innerHours,\r\n `[${ATTR_TIMEPICKER_CLOCK_INNER}]`,\r\n ATTR_TIMEPICKER_INNER_HOURS\r\n );\r\n\r\n return;\r\n }\r\n\r\n this._getAppendClock(\r\n this.hoursArray,\r\n `[${ATTR_TIMEPICKER_CLOCK}]`,\r\n ATTR_TIMEPICKER_TIPS_HOURS\r\n );\r\n }\r\n\r\n _getAppendClock = (\r\n array = [],\r\n clockClass = `[${ATTR_TIMEPICKER_CLOCK}]`,\r\n tipsClass\r\n ) => {\r\n let { minTime, maxTime } = this._options;\r\n const { inline, format12, disablePast, disableFuture } = this._options;\r\n\r\n minTime = setMinTime(minTime, disablePast, format12);\r\n maxTime = setMaxTime(maxTime, disableFuture, format12);\r\n\r\n const [maxTimeHour, maxTimeMinutes, maxTimeFormat] = takeValue(\r\n maxTime,\r\n false\r\n );\r\n const [minTimeHour, minTimeMinutes, minTimeFormat] = takeValue(\r\n minTime,\r\n false\r\n );\r\n\r\n // fix for append clock for max/min if input has invalid value\r\n if (\r\n !inline &&\r\n format12 &&\r\n this._isInvalidTimeFormat &&\r\n !this._AM.hasAttribute(ATTR_TIMEPICKER_ACTIVE)\r\n ) {\r\n Manipulator.addClass(this._PM, this._classes.opacity);\r\n this._PM.setAttribute(ATTR_TIMEPICKER_ACTIVE, \"\");\r\n }\r\n\r\n const clock = SelectorEngine.findOne(clockClass);\r\n\r\n const elements = 360 / array.length;\r\n\r\n function rad(el) {\r\n return el * (Math.PI / 180);\r\n }\r\n\r\n if (clock === null) return;\r\n\r\n const clockWidth = (clock.offsetWidth - 32) / 2;\r\n const clockHeight = (clock.offsetHeight - 32) / 2;\r\n const radius = clockWidth - 4;\r\n\r\n setTimeout(() => {\r\n let currentFormat;\r\n if (format12) {\r\n currentFormat = SelectorEngine.findOne(\r\n `${SELECTOR_ATTR_TIMEPICKER_HOUR_MODE}[${ATTR_TIMEPICKER_ACTIVE}]`\r\n ).textContent;\r\n }\r\n this._handleDisablingTipsMinTime(\r\n currentFormat,\r\n minTimeFormat,\r\n minTimeMinutes,\r\n minTimeHour\r\n );\r\n this._handleDisablingTipsMaxTime(\r\n currentFormat,\r\n maxTimeFormat,\r\n maxTimeMinutes,\r\n maxTimeHour\r\n );\r\n }, 0);\r\n\r\n [...array].forEach((e, i) => {\r\n const angle = rad(i * elements);\r\n\r\n const span = element(\"span\");\r\n const spanToTips = element(\"span\");\r\n\r\n spanToTips.innerHTML = e;\r\n Manipulator.addClass(span, this._classes.tips);\r\n span.setAttribute(tipsClass, \"\");\r\n\r\n const itemWidth = span.offsetWidth;\r\n const itemHeight = span.offsetHeight;\r\n\r\n Manipulator.addStyle(span, {\r\n left: `${clockWidth + Math.sin(angle) * radius - itemWidth}px`,\r\n bottom: `${clockHeight + Math.cos(angle) * radius - itemHeight}px`,\r\n });\r\n\r\n if (array.includes(\"05\")) {\r\n span.setAttribute(ATTR_TIMEPICKER_TIPS_MINUTES, \"\");\r\n }\r\n\r\n if (array.includes(\"13\")) {\r\n spanToTips.setAttribute(ATTR_TIMEPICKER_TIPS_INNER_ELEMENT, \"\");\r\n } else {\r\n spanToTips.setAttribute(ATTR_TIMEPICKER_TIPS_ELEMENT, \"\");\r\n }\r\n\r\n span.appendChild(spanToTips);\r\n return clock.appendChild(span);\r\n });\r\n };\r\n\r\n _getConfig(config) {\r\n const dataAttributes = Manipulator.getDataAttributes(this._element);\r\n\r\n config = {\r\n ...Default,\r\n ...dataAttributes,\r\n ...config,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _getClasses(classes) {\r\n const dataAttributes = Manipulator.getDataClassAttributes(this._element);\r\n\r\n classes = {\r\n ...DefaultClasses,\r\n ...dataAttributes,\r\n ...classes,\r\n };\r\n\r\n typeCheckConfig(NAME, classes, DefaultClassesType);\r\n\r\n return classes;\r\n }\r\n\r\n _getContainer() {\r\n return SelectorEngine.findOne(this._options.container);\r\n }\r\n\r\n _getValidate(event) {\r\n const { format24, format12, appendValidationInfo } = this._options;\r\n\r\n EventHandlerMulti.on(this.input, event, ({ target }) => {\r\n if (this._options === null || this.input.value === \"\") return;\r\n\r\n const regexAMFormat = /^(0?[1-9]|1[012])(:[0-5]\\d) [APap][mM]$/;\r\n const regexNormalFormat = /^([01]\\d|2[0-3])(:[0-5]\\d)$/;\r\n const testedAMRegex = regexAMFormat.test(target.value);\r\n const testedNormalRegex = regexNormalFormat.test(target.value);\r\n\r\n if (\r\n (testedNormalRegex !== true && format24) ||\r\n (testedAMRegex !== true && format12)\r\n ) {\r\n if (appendValidationInfo) {\r\n this.input.setAttribute(ATTR_TIMEPICKER_IS_INVALID, \"\");\r\n }\r\n\r\n Manipulator.addStyle(target, { marginBottom: 0 });\r\n\r\n this._isInvalidTimeFormat = true;\r\n return;\r\n }\r\n\r\n this.input.removeAttribute(ATTR_TIMEPICKER_IS_INVALID);\r\n this._isInvalidTimeFormat = false;\r\n const allInvalid = SelectorEngine.findOne(\r\n `[${ATTR_TIMEPICKER_INVALID_FEEDBACK}]`\r\n );\r\n\r\n if (allInvalid === null) return;\r\n\r\n allInvalid.remove();\r\n });\r\n }\r\n\r\n // Static\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n}\r\n\r\nexport default Timepicker;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport EventHandler from \"../../dom/event-handler\";\r\n\r\nconst DEFAULT_OPTIONS = {\r\n threshold: 10,\r\n direction: \"all\",\r\n};\r\n\r\nclass Swipe {\r\n constructor(element, options) {\r\n this._element = element;\r\n this._startPosition = null;\r\n this._options = {\r\n ...DEFAULT_OPTIONS,\r\n ...options,\r\n };\r\n }\r\n\r\n handleTouchStart(e) {\r\n this._startPosition = this._getCoordinates(e);\r\n }\r\n\r\n handleTouchMove(e) {\r\n if (!this._startPosition) return;\r\n\r\n const position = this._getCoordinates(e);\r\n const displacement = {\r\n x: position.x - this._startPosition.x,\r\n y: position.y - this._startPosition.y,\r\n };\r\n\r\n const swipe = this._getDirection(displacement);\r\n\r\n if (this._options.direction === \"all\") {\r\n if (\r\n swipe.y.value < this._options.threshold &&\r\n swipe.x.value < this._options.threshold\r\n ) {\r\n return;\r\n }\r\n const direction =\r\n swipe.y.value > swipe.x.value ? swipe.y.direction : swipe.x.direction;\r\n EventHandler.trigger(this._element, `swipe${direction}`);\r\n EventHandler.trigger(this._element, \"swipe\", { direction });\r\n this._startPosition = null;\r\n return;\r\n }\r\n\r\n const axis =\r\n this._options.direction === \"left\" || this._options === \"right\"\r\n ? \"x\"\r\n : \"y\";\r\n\r\n if (\r\n swipe[axis].direction === this._options.direction &&\r\n swipe[axis].value > this._options.threshold\r\n ) {\r\n EventHandler.trigger(this._element, `swipe${swipe[axis].direction}`);\r\n this._startPosition = null;\r\n }\r\n }\r\n\r\n handleTouchEnd() {\r\n this._startPosition = null;\r\n }\r\n\r\n _getCoordinates(e) {\r\n const [touch] = e.touches;\r\n return {\r\n x: touch.clientX,\r\n y: touch.clientY,\r\n };\r\n }\r\n\r\n _getDirection(displacement) {\r\n return {\r\n x: {\r\n direction: displacement.x < 0 ? \"left\" : \"right\",\r\n value: Math.abs(displacement.x),\r\n },\r\n y: {\r\n direction: displacement.y < 0 ? \"up\" : \"down\",\r\n value: Math.abs(displacement.y),\r\n },\r\n };\r\n }\r\n}\r\n\r\nexport default Swipe;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport Swipe from \"./swipe\";\r\n\r\nclass Touch {\r\n constructor(element, event = \"swipe\", options = {}) {\r\n this._element = element;\r\n this._event = event;\r\n\r\n // events\r\n\r\n this.swipe = new Swipe(element, options);\r\n\r\n // handlers\r\n\r\n this._touchStartHandler = this._handleTouchStart.bind(this);\r\n this._touchMoveHandler = this._handleTouchMove.bind(this);\r\n this._touchEndHandler = this._handleTouchEnd.bind(this);\r\n }\r\n\r\n dispose() {\r\n this._element.removeEventListener(\"touchstart\", this._touchStartHandler);\r\n this._element.removeEventListener(\"touchmove\", this._touchMoveHandler);\r\n window.removeEventListener(\"touchend\", this._touchEndHandler);\r\n }\r\n\r\n init() {\r\n // istanbul ignore next\r\n this._element.addEventListener(\"touchstart\", (e) =>\r\n this._handleTouchStart(e)\r\n );\r\n // istanbul ignore next\r\n this._element.addEventListener(\"touchmove\", (e) =>\r\n this._handleTouchMove(e)\r\n );\r\n // istanbul ignore next\r\n window.addEventListener(\"touchend\", (e) => this._handleTouchEnd(e));\r\n }\r\n\r\n _handleTouchStart(e) {\r\n this[this._event].handleTouchStart(e);\r\n }\r\n\r\n _handleTouchMove(e) {\r\n this[this._event].handleTouchMove(e);\r\n }\r\n\r\n _handleTouchEnd(e) {\r\n this[this._event].handleTouchEnd(e);\r\n }\r\n}\r\n\r\nexport default Touch;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport {\r\n array,\r\n isVisible,\r\n typeCheckConfig,\r\n isRTL,\r\n getUID,\r\n} from \"../util/index\";\r\nimport FocusTrap from \"../util/focusTrap\";\r\nimport { ENTER, TAB, ESCAPE } from \"../util/keycodes\";\r\nimport Touch from \"../util/touch/index\";\r\nimport Collapse from \"../components/collapse\";\r\nimport Data from \"../dom/data\";\r\nimport EventHandler from \"../dom/event-handler\";\r\nimport Manipulator from \"../dom/manipulator\";\r\nimport SelectorEngine from \"../dom/selector-engine\";\r\nimport Ripple from \"../methods/ripple\";\r\nimport Backdrop from \"../util/backdrop\";\r\nimport { PerfectScrollbar } from \"../index.es\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nConstants\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nconst NAME = \"sidenav\";\r\nconst DATA_KEY = \"te.sidenav\";\r\nconst ARROW_DATA = \"data-te-sidenav-rotate-icon-ref\";\r\nconst SELECTOR_TOGGLE = \"[data-te-sidenav-toggle-ref]\";\r\n\r\nconst SELECTOR_TOGGLE_COLLAPSE = \"[data-te-collapse-init]\";\r\n\r\nconst SELECTOR_SHOW_SLIM = '[data-te-sidenav-slim=\"true\"]';\r\nconst SELECTOR_HIDE_SLIM = '[data-te-sidenav-slim=\"false\"]';\r\n\r\nconst SELECTOR_NAVIGATION = \"[data-te-sidenav-menu-ref]\";\r\nconst SELECTOR_COLLAPSE = \"[data-te-sidenav-collapse-ref]\";\r\nconst SELECTOR_LINK = \"[data-te-sidenav-link-ref]\";\r\n\r\nconst TRANSLATION_LEFT = isRTL() ? 100 : -100;\r\nconst TRANSLATION_RIGHT = isRTL() ? -100 : 100;\r\n\r\nconst OPTIONS_TYPE = {\r\n sidenavAccordion: \"(boolean)\",\r\n sidenavBackdrop: \"(boolean)\",\r\n sidenavBackdropClass: \"(null|string)\",\r\n sidenavCloseOnEsc: \"(boolean)\",\r\n sidenavColor: \"(string)\",\r\n sidenavContent: \"(null|string)\",\r\n sidenavExpandable: \"(boolean)\",\r\n sidenavExpandOnHover: \"(boolean)\",\r\n sidenavFocusTrap: \"(boolean)\",\r\n sidenavHidden: \"(boolean)\",\r\n sidenavMode: \"(string)\",\r\n sidenavModeBreakpointOver: \"(null|string|number)\",\r\n sidenavModeBreakpointSide: \"(null|string|number)\",\r\n sidenavModeBreakpointPush: \"(null|string|number)\",\r\n sidenavBreakpointSm: \"(number)\",\r\n sidenavBreakpointMd: \"(number)\",\r\n sidenavBreakpointLg: \"(number)\",\r\n sidenavBreakpointXl: \"(number)\",\r\n sidenavBreakpoint2xl: \"(number)\",\r\n sidenavScrollContainer: \"(null|string)\",\r\n sidenavSlim: \"(boolean)\",\r\n sidenavSlimCollapsed: \"(boolean)\",\r\n sidenavSlimWidth: \"(number)\",\r\n sidenavPosition: \"(string)\",\r\n sidenavRight: \"(boolean)\",\r\n sidenavTransitionDuration: \"(number)\",\r\n sidenavWidth: \"(number)\",\r\n};\r\n\r\nconst DEFAULT_OPTIONS = {\r\n sidenavAccordion: false,\r\n sidenavBackdrop: true,\r\n sidenavBackdropClass: null,\r\n sidenavCloseOnEsc: true,\r\n sidenavColor: \"primary\",\r\n sidenavContent: null,\r\n sidenavExpandable: true,\r\n sidenavExpandOnHover: false,\r\n sidenavFocusTrap: true,\r\n sidenavHidden: true,\r\n sidenavMode: \"over\",\r\n sidenavModeBreakpointOver: null,\r\n sidenavModeBreakpointSide: null,\r\n sidenavModeBreakpointPush: null,\r\n sidenavBreakpointSm: 640,\r\n sidenavBreakpointMd: 768,\r\n sidenavBreakpointLg: 1024,\r\n sidenavBreakpointXl: 1280,\r\n sidenavBreakpoint2xl: 1536,\r\n sidenavScrollContainer: null,\r\n sidenavSlim: false,\r\n sidenavSlimCollapsed: false,\r\n sidenavSlimWidth: 77,\r\n sidenavPosition: \"fixed\",\r\n sidenavRight: false,\r\n sidenavTransitionDuration: 300,\r\n sidenavWidth: 240,\r\n};\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nClass Definition\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nclass Sidenav {\r\n constructor(node, options = {}) {\r\n this._element = node;\r\n this._options = options;\r\n\r\n this._ID = getUID(\"\");\r\n\r\n this._content = null;\r\n this._initialContentStyle = null;\r\n this._slimCollapsed = false;\r\n\r\n this._activeNode = null;\r\n\r\n this._tempSlim = false;\r\n this._backdrop = this._initializeBackDrop();\r\n\r\n this._focusTrap = null;\r\n this._perfectScrollbar = null;\r\n this._touch = null;\r\n\r\n this._setModeFromBreakpoints();\r\n\r\n this.escHandler = (e) => {\r\n if (e.keyCode === ESCAPE && this.toggler && isVisible(this.toggler)) {\r\n this._update(false);\r\n\r\n EventHandler.off(window, \"keydown\", this.escHandler);\r\n }\r\n };\r\n\r\n this.hashHandler = () => {\r\n this._setActiveElements();\r\n };\r\n\r\n if (node) {\r\n Data.setData(node, DATA_KEY, this);\r\n\r\n this._setup();\r\n }\r\n\r\n if (\r\n this.options.sidenavBackdrop &&\r\n !this.options.sidenavHidden &&\r\n this.options.sidenavMode === \"over\"\r\n ) {\r\n EventHandler.on(this._element, \"transitionend\", this._addBackdropOnInit);\r\n }\r\n\r\n this._didInit = false;\r\n this._init();\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n get container() {\r\n if (this.options.sidenavPosition === \"fixed\") {\r\n return SelectorEngine.findOne(\"body\");\r\n }\r\n\r\n const findContainer = (el) => {\r\n if (!el.parentNode || el.parentNode === document) {\r\n return el;\r\n }\r\n if (\r\n el.parentNode.style.position === \"relative\" ||\r\n el.parentNode.classList.contains(\"relative\")\r\n ) {\r\n return el.parentNode;\r\n }\r\n return findContainer(el.parentNode);\r\n };\r\n\r\n return findContainer(this._element);\r\n }\r\n\r\n get isVisible() {\r\n let containerStart = 0;\r\n let containerEnd = window.innerWidth;\r\n\r\n if (this.options.sidenavPosition !== \"fixed\") {\r\n const boundry = this.container.getBoundingClientRect();\r\n containerStart = boundry.x;\r\n containerEnd = boundry.x + boundry.width;\r\n }\r\n\r\n const { x } = this._element.getBoundingClientRect();\r\n\r\n if (this.options.sidenavRight) {\r\n return Math.abs(x - containerEnd) > 10;\r\n }\r\n\r\n return Math.abs(x - containerStart) < 10;\r\n }\r\n\r\n get links() {\r\n return SelectorEngine.find(SELECTOR_LINK, this._element);\r\n }\r\n\r\n get navigation() {\r\n return SelectorEngine.find(SELECTOR_NAVIGATION, this._element);\r\n }\r\n\r\n get options() {\r\n const config = {\r\n ...DEFAULT_OPTIONS,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...this._options,\r\n };\r\n\r\n typeCheckConfig(NAME, config, OPTIONS_TYPE);\r\n\r\n return config;\r\n }\r\n\r\n get sidenavStyle() {\r\n return {\r\n width: `${this.width}px`,\r\n height: this.options.sidenavPosition === \"fixed\" ? \"100vh\" : \"100%\",\r\n position: this.options.sidenavPosition,\r\n transition: `all ${this.transitionDuration} linear`,\r\n };\r\n }\r\n\r\n get toggler() {\r\n const toggleElement = SelectorEngine.find(SELECTOR_TOGGLE).find(\r\n (toggler) => {\r\n const target = Manipulator.getDataAttribute(toggler, \"target\");\r\n return SelectorEngine.findOne(target) === this._element;\r\n }\r\n );\r\n return toggleElement;\r\n }\r\n\r\n get transitionDuration() {\r\n return `${this.options.sidenavTransitionDuration / 1000}s`;\r\n }\r\n\r\n get translation() {\r\n return this.options.sidenavRight ? TRANSLATION_RIGHT : TRANSLATION_LEFT;\r\n }\r\n\r\n get width() {\r\n return this._slimCollapsed\r\n ? this.options.sidenavSlimWidth\r\n : this.options.sidenavWidth;\r\n }\r\n\r\n get isBackdropVisible() {\r\n return Boolean(this._backdrop._element);\r\n }\r\n\r\n // Public\r\n\r\n changeMode(mode) {\r\n this._setMode(mode);\r\n }\r\n\r\n dispose() {\r\n EventHandler.off(window, \"keydown\", this.escHandler);\r\n this.options.sidenavBackdrop && this._backdrop.dispose();\r\n\r\n EventHandler.off(window, \"hashchange\", this.hashHandler);\r\n\r\n this._touch.dispose();\r\n\r\n Data.removeData(this._element, DATA_KEY);\r\n\r\n this._element = null;\r\n }\r\n\r\n hide() {\r\n this._emitEvents(false);\r\n this._update(false);\r\n this._options.sidenavBackdrop &&\r\n this.isBackdropVisible &&\r\n this._backdrop.hide();\r\n }\r\n\r\n show() {\r\n this._emitEvents(true);\r\n this._update(true);\r\n this._options.sidenavBackdrop &&\r\n this._options.sidenavMode === \"over\" &&\r\n this._backdrop.show();\r\n }\r\n\r\n toggle() {\r\n this._emitEvents(!this.isVisible);\r\n this._update(!this.isVisible);\r\n }\r\n\r\n toggleSlim() {\r\n this._setSlim(!this._slimCollapsed);\r\n }\r\n\r\n update(options) {\r\n this._options = options;\r\n\r\n this._setup();\r\n }\r\n\r\n getBreakpoint(prefix) {\r\n return this._transformBreakpointValuesToObject()[prefix];\r\n }\r\n\r\n // Private\r\n _init() {\r\n if (this._didInit) {\r\n return;\r\n }\r\n EventHandler.on(\r\n document,\r\n \"click\",\r\n SELECTOR_TOGGLE,\r\n Sidenav.toggleSidenav()\r\n );\r\n this._didInit = true;\r\n }\r\n\r\n _transformBreakpointValuesToObject() {\r\n return {\r\n sm: this.options.sidenavBreakpointSm,\r\n md: this.options.sidenavBreakpointMd,\r\n lg: this.options.sidenavBreakpointLg,\r\n xl: this.options.sidenavBreakpointXl,\r\n \"2xl\": this.options.sidenavBreakpoint2xl,\r\n };\r\n }\r\n\r\n _setModeFromBreakpoints() {\r\n const innerWidth = window.innerWidth;\r\n const breakpointsList = this._transformBreakpointValuesToObject();\r\n\r\n if (innerWidth === undefined || !breakpointsList) {\r\n return;\r\n }\r\n\r\n const overCalculated =\r\n typeof this.options.sidenavModeBreakpointOver === \"number\"\r\n ? innerWidth - this.options.sidenavModeBreakpointOver\r\n : innerWidth - breakpointsList[this.options.sidenavModeBreakpointOver];\r\n\r\n const sideCalculated =\r\n typeof this.options.sidenavModeBreakpointSide === \"number\"\r\n ? innerWidth - this.options.sidenavModeBreakpointSide\r\n : innerWidth - breakpointsList[this.options.sidenavModeBreakpointSide];\r\n\r\n const pushCalculated =\r\n typeof this.options.sidenavModeBreakpointPush === \"number\"\r\n ? innerWidth - this.options.sidenavModeBreakpointPush\r\n : innerWidth - breakpointsList[this.options.sidenavModeBreakpointPush];\r\n\r\n const sortAsc = (a, b) => {\r\n if (a - b < 0) return -1;\r\n if (b - a < 0) return 1;\r\n return 0;\r\n };\r\n\r\n const closestPositive = [overCalculated, sideCalculated, pushCalculated]\r\n .filter((value) => value != null && value >= 0)\r\n .sort(sortAsc)[0];\r\n\r\n if (overCalculated > 0 && overCalculated === closestPositive) {\r\n this._options.sidenavMode = \"over\";\r\n this._options.sidenavHidden = true;\r\n } else if (sideCalculated > 0 && sideCalculated === closestPositive) {\r\n this._options.sidenavMode = \"side\";\r\n } else if (pushCalculated > 0 && pushCalculated === closestPositive) {\r\n this._options.sidenavMode = \"push\";\r\n }\r\n }\r\n\r\n _collapseItems() {\r\n this.navigation.forEach((menu) => {\r\n const collapseElements = SelectorEngine.find(SELECTOR_COLLAPSE, menu);\r\n collapseElements.forEach((el) => {\r\n Collapse.getInstance(el).hide();\r\n });\r\n });\r\n }\r\n\r\n _getOffsetValue(show, { index, property, offsets }) {\r\n const initialValue = this._getPxValue(\r\n this._initialContentStyle[index][offsets[property].property]\r\n );\r\n\r\n const offset = show ? offsets[property].value : 0;\r\n return initialValue + offset;\r\n }\r\n\r\n _getProperty(...args) {\r\n return args\r\n .map((arg, i) => {\r\n if (i === 0) {\r\n return arg;\r\n }\r\n return arg[0].toUpperCase().concat(arg.slice(1));\r\n })\r\n .join(\"\");\r\n }\r\n\r\n _getPxValue(property) {\r\n if (!property) {\r\n return 0;\r\n }\r\n return parseFloat(property);\r\n }\r\n\r\n _handleSwipe(e, inverseDirecion) {\r\n if (\r\n inverseDirecion &&\r\n this._slimCollapsed &&\r\n this.options.sidenavSlim &&\r\n this.options.sidenavExpandable\r\n ) {\r\n this.toggleSlim();\r\n } else if (!inverseDirecion) {\r\n if (\r\n this._slimCollapsed ||\r\n !this.options.sidenavSlim ||\r\n !this.options.sidenavExpandable\r\n ) {\r\n if (this.toggler && isVisible(this.toggler)) {\r\n this.toggle();\r\n }\r\n } else {\r\n this.toggleSlim();\r\n }\r\n }\r\n }\r\n\r\n _isActive(link, reference) {\r\n if (reference) {\r\n return reference === link;\r\n }\r\n\r\n if (link.attributes.href) {\r\n return new URL(link, window.location.href).href === window.location.href;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n _isAllToBeCollapsed() {\r\n const collapseElements = SelectorEngine.find(\r\n SELECTOR_TOGGLE_COLLAPSE,\r\n this._element\r\n );\r\n const collapseElementsExpanded = collapseElements.filter(\r\n (collapsible) => collapsible.getAttribute(\"aria-expanded\") === \"true\"\r\n );\r\n return collapseElementsExpanded.length === 0;\r\n }\r\n\r\n _isAllCollapsed() {\r\n return (\r\n SelectorEngine.find(SELECTOR_COLLAPSE, this._element).filter((el) =>\r\n isVisible(el)\r\n ).length === 0\r\n );\r\n }\r\n\r\n _initializeBackDrop() {\r\n if (!this.options.sidenavBackdrop) {\r\n return;\r\n }\r\n const backdropClasses = this.options.sidenavBackdropClass\r\n ? this.options.sidenavBackdropClass.split(\" \")\r\n : this.options.sidenavPosition\r\n ? [\r\n \"opacity-50\",\r\n \"transition-all\",\r\n \"duration-300\",\r\n \"ease-in-out\",\r\n this.options.sidenavPosition,\r\n \"top-0\",\r\n \"left-0\",\r\n \"z-50\",\r\n \"bg-black/10\",\r\n \"dark:bg-black-60\",\r\n \"w-full\",\r\n \"h-full\",\r\n this._element.id,\r\n ]\r\n : null;\r\n\r\n return new Backdrop({\r\n isVisible: this.options.sidenavBackdrop,\r\n isAnimated: true,\r\n rootElement: this._element.parentNode,\r\n backdropClasses,\r\n clickCallback: () => this.hide(),\r\n });\r\n }\r\n\r\n _updateBackdrop(show) {\r\n if (this.options.sidenavMode === \"over\") {\r\n show\r\n ? this._backdrop.show()\r\n : this.isBackdropVisible && this._backdrop.hide();\r\n return;\r\n }\r\n this.isBackdropVisible && this._backdrop.hide();\r\n }\r\n\r\n _setup() {\r\n // Touch events\r\n this._setupTouch();\r\n\r\n // Focus trap\r\n\r\n if (this.options.sidenavFocusTrap) {\r\n this._setupFocusTrap();\r\n }\r\n\r\n // Collapse\r\n\r\n this._setupCollapse();\r\n\r\n // Slim\r\n\r\n if (this.options.sidenavSlim) {\r\n this._setupSlim();\r\n }\r\n\r\n // Initial position\r\n\r\n this._setupInitialStyling();\r\n\r\n // Perfect Scrollbar\r\n\r\n this._setupScrolling();\r\n\r\n // Content\r\n\r\n if (this.options.sidenavContent) {\r\n this._setupContent();\r\n }\r\n\r\n // Active link\r\n\r\n this._setupActiveState();\r\n\r\n // Ripple\r\n\r\n this._setupRippleEffect();\r\n\r\n // Shown on init\r\n\r\n if (!this.options.sidenavHidden) {\r\n this._updateOffsets(true, true);\r\n }\r\n\r\n if (this.options.sidenavMode === \"over\") {\r\n this._setTabindex(true);\r\n }\r\n }\r\n\r\n _setupActiveState() {\r\n this._setActiveElements();\r\n\r\n this.links.forEach((link) => {\r\n EventHandler.on(link, \"click\", () => this._setActiveElements(link));\r\n EventHandler.on(link, \"keydown\", (e) => {\r\n if (e.keyCode === ENTER) {\r\n this._setActiveElements(link);\r\n }\r\n });\r\n });\r\n\r\n EventHandler.on(window, \"hashchange\", this.hashHandler);\r\n }\r\n\r\n _setupCollapse() {\r\n this.navigation.forEach((menu, menuIndex) => {\r\n const categories = SelectorEngine.find(SELECTOR_COLLAPSE, menu);\r\n categories.forEach((list, index) =>\r\n this._setupCollapseList({ list, index, menu, menuIndex })\r\n );\r\n });\r\n }\r\n\r\n _generateCollpaseID(index, menuIndex) {\r\n return `sidenav-collapse-${this._ID}-${menuIndex}-${index}`;\r\n }\r\n\r\n _setupCollapseList({ list, index, menu, menuIndex }) {\r\n const ID = this._generateCollpaseID(index, menuIndex);\r\n\r\n list.setAttribute(\"id\", ID);\r\n list.setAttribute(\"data-te-collapse-item\", \"\");\r\n\r\n const [toggler] = SelectorEngine.prev(list, SELECTOR_LINK);\r\n\r\n Manipulator.setDataAttribute(toggler, \"collapse-init\", \"\");\r\n toggler.setAttribute(\"href\", `#${ID}`);\r\n toggler.setAttribute(\"role\", \"button\");\r\n\r\n const instance =\r\n Collapse.getInstance(list) ||\r\n new Collapse(list, {\r\n toggle: false,\r\n parent: this.options.sidenavAccordion ? menu : list,\r\n });\r\n\r\n // Arrow\r\n\r\n if (\r\n list.dataset.teSidenavStateShow === \"\" ||\r\n list.dataset.teCollapseShow === \"\"\r\n ) {\r\n this._rotateArrow(toggler, false);\r\n }\r\n\r\n // Event listeners\r\n\r\n EventHandler.on(toggler, \"click\", (e) => {\r\n this._toggleCategory(e, instance, list);\r\n if (this._tempSlim && this._isAllToBeCollapsed()) {\r\n this._setSlim(true);\r\n\r\n this._tempSlim = false;\r\n }\r\n\r\n if (this.options.sidenavMode === \"over\" && this._focusTrap) {\r\n this._focusTrap.update();\r\n }\r\n });\r\n\r\n EventHandler.on(list, \"show.te.collapse\", () =>\r\n this._rotateArrow(toggler, false)\r\n );\r\n\r\n EventHandler.on(list, \"hide.te.collapse\", () =>\r\n this._rotateArrow(toggler, true)\r\n );\r\n\r\n EventHandler.on(list, \"shown.te.collapse\", () => {\r\n if (this.options.sidenavMode === \"over\" && this._focusTrap) {\r\n this._focusTrap.update();\r\n }\r\n });\r\n\r\n EventHandler.on(list, \"hidden.te.collapse\", () => {\r\n if (this._tempSlim && this._isAllCollapsed()) {\r\n this._setSlim(true);\r\n\r\n this._tempSlim = false;\r\n }\r\n if (this.options.sidenavMode === \"over\" && this._focusTrap) {\r\n this._focusTrap.update();\r\n }\r\n });\r\n }\r\n\r\n _setupContent() {\r\n this._content = SelectorEngine.find(this.options.sidenavContent);\r\n\r\n this._content.forEach((el) => {\r\n const searchFor = [\r\n \"!p\",\r\n \"!m\",\r\n \"!px\",\r\n \"!pl\",\r\n \"!pr\",\r\n \"!mx\",\r\n \"!ml\",\r\n \"!mr\",\r\n \"!-p\",\r\n \"!-m\",\r\n \"!-px\",\r\n \"!-pl\",\r\n \"!-pr\",\r\n \"!-mx\",\r\n \"!-ml\",\r\n \"!-mr\",\r\n ];\r\n const classesToRemove = [...el.classList].filter(\r\n (singleClass) =>\r\n searchFor.findIndex((el) => singleClass.includes(el)) >= 0\r\n );\r\n classesToRemove.forEach((remove) => el.classList.remove(remove));\r\n });\r\n\r\n this._initialContentStyle = this._content.map((el) => {\r\n const { paddingLeft, paddingRight, marginLeft, marginRight, transition } =\r\n window.getComputedStyle(el);\r\n return { paddingLeft, paddingRight, marginLeft, marginRight, transition };\r\n });\r\n }\r\n\r\n _setupFocusTrap() {\r\n this._focusTrap = new FocusTrap(\r\n this._element,\r\n {\r\n event: \"keydown\",\r\n condition: (e) => e.keyCode === TAB,\r\n onlyVisible: true,\r\n },\r\n this.toggler\r\n );\r\n }\r\n\r\n _setupInitialStyling() {\r\n this._setColor();\r\n Manipulator.style(this._element, this.sidenavStyle);\r\n }\r\n\r\n _setupScrolling() {\r\n let container = this._element;\r\n\r\n if (this.options.sidenavScrollContainer) {\r\n container = SelectorEngine.findOne(\r\n this.options.sidenavScrollContainer,\r\n this._element\r\n );\r\n\r\n const siblings = array(container.parentNode.children).filter(\r\n (el) => el !== container\r\n );\r\n\r\n const siblingsHeight = siblings.reduce((a, b) => {\r\n return a + b.clientHeight;\r\n }, 0);\r\n\r\n Manipulator.style(container, {\r\n maxHeight: `calc(100% - ${siblingsHeight}px)`,\r\n position: \"relative\",\r\n });\r\n }\r\n\r\n this._perfectScrollbar = new PerfectScrollbar(container, {\r\n suppressScrollX: true,\r\n handlers: [\"click-rail\", \"drag-thumb\", \"wheel\", \"touch\"],\r\n });\r\n }\r\n\r\n _setupSlim() {\r\n this._slimCollapsed = this.options.sidenavSlimCollapsed;\r\n\r\n this._toggleSlimDisplay(this._slimCollapsed);\r\n\r\n if (this.options.sidenavExpandOnHover) {\r\n this._element.addEventListener(\"mouseenter\", () => {\r\n if (this._slimCollapsed) {\r\n this._setSlim(false);\r\n }\r\n });\r\n\r\n this._element.addEventListener(\"mouseleave\", () => {\r\n if (!this._slimCollapsed) {\r\n this._setSlim(true);\r\n }\r\n });\r\n }\r\n }\r\n\r\n _setupRippleEffect() {\r\n this.links.forEach((link) => {\r\n let wave = Ripple.getInstance(link);\r\n let color = this.options.sidenavColor;\r\n\r\n if (wave && wave._options.sidenavColor !== this.options.sidenavColor) {\r\n wave.dispose();\r\n } else if (wave) {\r\n return;\r\n }\r\n\r\n if (\r\n localStorage.theme === \"dark\" ||\r\n (!(\"theme\" in localStorage) &&\r\n window.matchMedia(\"(prefers-color-scheme: dark)\").matches)\r\n ) {\r\n color = \"white\";\r\n }\r\n\r\n wave = new Ripple(link, { rippleColor: color });\r\n });\r\n }\r\n\r\n _setupTouch() {\r\n this._touch = new Touch(this._element, \"swipe\", { threshold: 20 });\r\n this._touch.init();\r\n\r\n EventHandler.on(this._element, \"swipeleft\", (e) =>\r\n this._handleSwipe(e, this.options.sidenavRight)\r\n );\r\n\r\n EventHandler.on(this._element, \"swiperight\", (e) =>\r\n this._handleSwipe(e, !this.options.sidenavRight)\r\n );\r\n }\r\n\r\n _setActive(link, reference) {\r\n // Link\r\n link.setAttribute(\"data-te-sidebar-state-active\", \"\");\r\n\r\n if (this._activeNode) {\r\n link.removeAttribute(\"data-te-sidebar-state-active\");\r\n }\r\n this._activeNode = link;\r\n\r\n // Collapse\r\n\r\n const [collapse] = SelectorEngine.parents(\r\n this._activeNode,\r\n SELECTOR_COLLAPSE\r\n );\r\n\r\n if (!collapse) {\r\n this._setActiveCategory();\r\n return;\r\n }\r\n\r\n // Category\r\n\r\n const [category] = SelectorEngine.prev(collapse, SELECTOR_LINK);\r\n this._setActiveCategory(category);\r\n\r\n // Expand active collapse\r\n\r\n if (!reference && !this._slimCollapsed) {\r\n Collapse.getInstance(collapse).show();\r\n }\r\n }\r\n\r\n _setActiveCategory(el) {\r\n this.navigation.forEach((menu) => {\r\n const categories = SelectorEngine.find(SELECTOR_COLLAPSE, menu);\r\n\r\n categories.forEach((collapse) => {\r\n const [collapseToggler] = SelectorEngine.prev(collapse, SELECTOR_LINK);\r\n\r\n if (collapseToggler !== el) {\r\n collapseToggler.removeAttribute(\"data-te-sidenav-state-active\");\r\n } else {\r\n collapseToggler.setAttribute(\"data-te-sidenav-state-active\", \"\");\r\n }\r\n });\r\n });\r\n }\r\n\r\n _setActiveElements(reference) {\r\n this.navigation.forEach((menu) => {\r\n const links = SelectorEngine.find(SELECTOR_LINK, menu);\r\n links\r\n .filter((link) => {\r\n return SelectorEngine.next(link, SELECTOR_COLLAPSE).length === 0;\r\n })\r\n .forEach((link) => {\r\n if (this._isActive(link, reference) && link !== this._activeNode) {\r\n this._setActive(link, reference);\r\n }\r\n });\r\n });\r\n reference && this._updateFocus(this.isVisible);\r\n }\r\n\r\n _setColor() {\r\n const colors = [\r\n \"primary\",\r\n \"secondary\",\r\n \"success\",\r\n \"info\",\r\n \"warning\",\r\n \"danger\",\r\n \"light\",\r\n \"dark\",\r\n ];\r\n const { sidenavColor: optionColor } = this.options;\r\n const color = colors.includes(optionColor) ? optionColor : \"primary\";\r\n\r\n colors.forEach((color) => {\r\n this._element.classList.remove(`sidenav-${color}`);\r\n });\r\n\r\n Manipulator.addClass(this._element, `sidenav-${color}`);\r\n }\r\n\r\n _setContentOffsets(show, offsets, initial) {\r\n this._content.forEach((el, i) => {\r\n const padding = this._getOffsetValue(show, {\r\n index: i,\r\n property: \"padding\",\r\n offsets,\r\n });\r\n const margin = this._getOffsetValue(show, {\r\n index: i,\r\n property: \"margin\",\r\n offsets,\r\n });\r\n\r\n const style = {};\r\n\r\n if (!initial) {\r\n style.transition = `all ${this.transitionDuration} linear`;\r\n }\r\n\r\n style[offsets.padding.property] = `${padding}px`;\r\n\r\n style[offsets.margin.property] = `${margin}px`;\r\n\r\n Manipulator.style(el, style);\r\n\r\n if (!show) {\r\n return;\r\n }\r\n\r\n if (initial) {\r\n Manipulator.style(el, {\r\n transition: this._initialContentStyle[i].transition,\r\n });\r\n return;\r\n }\r\n\r\n EventHandler.on(el, \"transitionend\", () => {\r\n Manipulator.style(el, {\r\n transition: this._initialContentStyle[i].transition,\r\n });\r\n });\r\n });\r\n }\r\n\r\n _setMode(mode) {\r\n if (this.options.sidenavMode === mode) {\r\n return;\r\n }\r\n\r\n this._options.sidenavMode = mode;\r\n\r\n this._update(this.isVisible);\r\n }\r\n\r\n _setSlim(isSlimCollapsed) {\r\n const events = isSlimCollapsed\r\n ? [\"collapse\", \"collapsed\"]\r\n : [\"expand\", \"expanded\"];\r\n this._triggerEvents(...events);\r\n\r\n if (isSlimCollapsed) {\r\n this._collapseItems();\r\n }\r\n\r\n this._slimCollapsed = isSlimCollapsed;\r\n\r\n this._toggleSlimDisplay(isSlimCollapsed);\r\n\r\n Manipulator.style(this._element, { width: `${this.width}px` });\r\n\r\n this._updateOffsets(this.isVisible);\r\n }\r\n\r\n _setTabindex(tabIndexValue) {\r\n this.links.forEach((link) => {\r\n link.tabIndex = tabIndexValue ? 0 : -1;\r\n });\r\n }\r\n\r\n _emitEvents(show) {\r\n const events = show ? [\"show\", \"shown\"] : [\"hide\", \"hidden\"];\r\n this._triggerEvents(...events);\r\n }\r\n\r\n _rotateArrow(toggler, collapsed) {\r\n const [arrow] = SelectorEngine.children(toggler, `[${ARROW_DATA}]`);\r\n\r\n if (!arrow) {\r\n return;\r\n }\r\n\r\n collapsed\r\n ? Manipulator.removeClass(arrow, \"rotate-180\")\r\n : Manipulator.addClass(arrow, \"rotate-180\");\r\n }\r\n\r\n _toggleCategory(e, instance) {\r\n e.preventDefault();\r\n\r\n instance.toggle();\r\n\r\n if (this._slimCollapsed && this.options.sidenavExpandable) {\r\n this._tempSlim = true;\r\n\r\n this._setSlim(false);\r\n }\r\n }\r\n\r\n _toggleSlimDisplay(slim) {\r\n const slimCollapsedElements = SelectorEngine.find(\r\n SELECTOR_SHOW_SLIM,\r\n this._element\r\n );\r\n const fullWidthElements = SelectorEngine.find(\r\n SELECTOR_HIDE_SLIM,\r\n this._element\r\n );\r\n\r\n const toggleElements = () => {\r\n slimCollapsedElements.forEach((el) => {\r\n Manipulator.style(el, {\r\n display: this._slimCollapsed ? \"unset\" : \"none\",\r\n });\r\n });\r\n\r\n fullWidthElements.forEach((el) => {\r\n Manipulator.style(el, {\r\n display: this._slimCollapsed ? \"none\" : \"unset\",\r\n });\r\n });\r\n };\r\n\r\n if (slim) {\r\n setTimeout(\r\n () => toggleElements(true),\r\n this.options.sidenavTransitionDuration\r\n );\r\n } else {\r\n toggleElements();\r\n }\r\n }\r\n\r\n async _triggerEvents(startEvent, completeEvent) {\r\n EventHandler.trigger(this._element, `${startEvent}.te.sidenav`);\r\n\r\n if (completeEvent) {\r\n await setTimeout(() => {\r\n EventHandler.trigger(this._element, `${completeEvent}.te.sidenav`);\r\n }, this.options.sidenavTransitionDuration + 5);\r\n }\r\n }\r\n\r\n _isiPhone() {\r\n return /iPhone|iPod/i.test(navigator.userAgent);\r\n }\r\n\r\n _update(show) {\r\n // workaround for iphone issues\r\n if (show && this._isiPhone()) {\r\n Manipulator.addClass(this._element, \"ps--scrolling-y\");\r\n }\r\n\r\n if (this.toggler) {\r\n this._updateTogglerAria(show);\r\n }\r\n\r\n this._updateDisplay(show);\r\n\r\n if (this.options.sidenavBackdrop) {\r\n this._updateBackdrop(show);\r\n }\r\n\r\n this._updateOffsets(show);\r\n\r\n if (\r\n show &&\r\n this.options.sidenavCloseOnEsc &&\r\n this.options.sidenavMode !== \"side\"\r\n ) {\r\n EventHandler.on(window, \"keydown\", this.escHandler);\r\n }\r\n\r\n if (this.options.sidenavFocusTrap) {\r\n this._updateFocus(show);\r\n }\r\n }\r\n\r\n _updateDisplay(show) {\r\n const translation = show ? 0 : this.translation;\r\n Manipulator.style(this._element, {\r\n transform: `translateX(${translation}%)`,\r\n });\r\n }\r\n\r\n _updateFocus(show) {\r\n this._setTabindex(show);\r\n\r\n if (this.options.sidenavMode === \"over\" && this.options.sidenavFocusTrap) {\r\n if (show) {\r\n this._focusTrap.trap();\r\n return;\r\n }\r\n\r\n this._focusTrap.disable();\r\n }\r\n\r\n this._focusTrap.disable();\r\n }\r\n\r\n _updateOffsets(show, initial = false) {\r\n const [paddingPosition, marginPosition] = this.options.sidenavRight\r\n ? [\"right\", \"left\"]\r\n : [\"left\", \"right\"];\r\n\r\n const padding = {\r\n property: this._getProperty(\"padding\", paddingPosition),\r\n value: this.options.sidenavMode === \"over\" ? 0 : this.width,\r\n };\r\n\r\n const margin = {\r\n property: this._getProperty(\"margin\", marginPosition),\r\n value: this.options.sidenavMode === \"push\" ? -1 * this.width : 0,\r\n };\r\n\r\n EventHandler.trigger(this._element, \"update.te.sidenav\", {\r\n margin,\r\n padding,\r\n });\r\n\r\n if (!this._content) {\r\n return;\r\n }\r\n this._content.className = \"\";\r\n\r\n this._setContentOffsets(show, { padding, margin }, initial);\r\n }\r\n\r\n _updateTogglerAria(show) {\r\n this.toggler.setAttribute(\"aria-expanded\", show);\r\n }\r\n\r\n _addBackdropOnInit = () => {\r\n if (this._options.sidenavHidden) {\r\n return;\r\n }\r\n this._backdrop.show();\r\n EventHandler.off(this._element, \"transitionend\", this._addBackdropOnInit);\r\n };\r\n\r\n // Static\r\n\r\n static toggleSidenav() {\r\n return function (e) {\r\n const toggler = SelectorEngine.closest(e.target, SELECTOR_TOGGLE);\r\n\r\n const elementSelector = Manipulator.getDataAttributes(toggler).target;\r\n SelectorEngine.find(elementSelector).forEach((element) => {\r\n const instance = Sidenav.getInstance(element) || new Sidenav(element);\r\n instance.toggle();\r\n });\r\n };\r\n }\r\n\r\n static jQueryInterface(config, options) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === \"object\" && config;\r\n\r\n if (!data && /dispose/.test(config)) {\r\n return;\r\n }\r\n\r\n if (!data) {\r\n data = new Sidenav(this, _config);\r\n }\r\n\r\n if (typeof config === \"string\") {\r\n if (typeof data[config] === \"undefined\") {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config](options);\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n}\r\n\r\nexport default Sidenav;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport Data from \"../dom/data\";\r\nimport EventHandler from \"../dom/event-handler\";\r\nimport SelectorEngine from \"../dom/selector-engine\";\r\nimport Manipulator from \"../dom/manipulator\";\r\nimport { typeCheckConfig } from \"../util/index\";\r\nimport {\r\n LEFT_ARROW,\r\n RIGHT_ARROW,\r\n UP_ARROW,\r\n DOWN_ARROW,\r\n HOME,\r\n END,\r\n ENTER,\r\n SPACE,\r\n TAB,\r\n} from \"../util/keycodes\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nConstants\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nconst NAME = \"stepper\";\r\nconst DATA_KEY = \"te.stepper\";\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst REF = `data-te-${NAME}`;\r\n\r\nconst STEPPER_HORIZONTAL = \"horizontal\";\r\nconst STEPPER_VERTICAL = \"vertical\";\r\n\r\nconst DefaultType = {\r\n stepperType: \"string\",\r\n stepperLinear: \"boolean\",\r\n stepperNoEditable: \"boolean\",\r\n stepperActive: \"string\",\r\n stepperCompleted: \"string\",\r\n stepperInvalid: \"string\",\r\n stepperDisabled: \"string\",\r\n stepperVerticalBreakpoint: \"number\",\r\n stepperMobileBreakpoint: \"number\",\r\n stepperMobileBarBreakpoint: \"number\",\r\n};\r\n\r\nconst Default = {\r\n stepperType: STEPPER_HORIZONTAL,\r\n stepperLinear: false,\r\n stepperNoEditable: false,\r\n stepperActive: \"\",\r\n stepperCompleted: \"\",\r\n stepperInvalid: \"\",\r\n stepperDisabled: \"\",\r\n stepperVerticalBreakpoint: 0,\r\n stepperMobileBreakpoint: 0,\r\n stepperMobileBarBreakpoint: 4,\r\n};\r\n\r\nconst EVENT_MOUSEDOWN = `mousedown${EVENT_KEY}`;\r\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`;\r\nconst EVENT_KEYUP = `keyup${EVENT_KEY}`;\r\nconst EVENT_RESIZE = `resize${EVENT_KEY}`;\r\n\r\nconst STEP_REF = `[${REF}-step-ref]`;\r\nconst HEAD_REF = `[${REF}-head-ref]`;\r\nconst HEAD_TEXT_REF = `[${REF}-head-text-ref]`;\r\nconst HEAD_ICON_REF = `[${REF}-head-icon-ref]`;\r\nconst CONTENT_REF = `[${REF}-content-ref]`;\r\n\r\nclass Stepper {\r\n constructor(element, options) {\r\n this._element = element;\r\n this._options = this._getConfig(options);\r\n this._elementHeight = 0;\r\n this._steps = SelectorEngine.find(`${STEP_REF}`, this._element);\r\n this._currentView = \"\";\r\n this._activeStepIndex = 0;\r\n this._verticalStepperStyles = [];\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n this._init();\r\n }\r\n }\r\n\r\n // Getters\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n get activeStep() {\r\n return this._steps[this._activeStepIndex];\r\n }\r\n\r\n get activeStepIndex() {\r\n return this._activeStepIndex;\r\n }\r\n\r\n // Public\r\n\r\n dispose() {\r\n this._steps.forEach((el) => {\r\n EventHandler.off(el, EVENT_MOUSEDOWN);\r\n EventHandler.off(el, EVENT_KEYDOWN);\r\n });\r\n\r\n EventHandler.off(window, EVENT_RESIZE);\r\n\r\n Data.removeData(this._element, DATA_KEY);\r\n this._element = null;\r\n }\r\n\r\n changeStep(index) {\r\n this._toggleStep(index);\r\n }\r\n\r\n nextStep() {\r\n this._toggleStep(this._activeStepIndex + 1);\r\n }\r\n\r\n previousStep() {\r\n this._toggleStep(this._activeStepIndex - 1);\r\n }\r\n\r\n // Private\r\n _init() {\r\n const activeStep = SelectorEngine.find(`${STEP_REF}`, this._element)[\r\n this._activeStepIndex\r\n ].setAttribute(\"data-te\", \"active-step\");\r\n const stepperHeadText = SelectorEngine.find(\r\n `${HEAD_TEXT_REF}`,\r\n this._element\r\n );\r\n const stepperHeadIcon = SelectorEngine.find(\r\n `${HEAD_ICON_REF}`,\r\n this._element\r\n );\r\n\r\n if (activeStep) {\r\n this._activeStepIndex = this._steps.indexOf(activeStep);\r\n this._toggleStepClass(\r\n this._activeStepIndex,\r\n \"add\",\r\n this._options.stepperActive\r\n );\r\n\r\n stepperHeadText[this._activeStepIndex].classList.add(\"font-medium\");\r\n stepperHeadIcon[this._activeStepIndex].classList.add(\"!bg-primary-100\");\r\n stepperHeadIcon[this._activeStepIndex].classList.add(\"!text-primary-700\");\r\n } else {\r\n stepperHeadText[this._activeStepIndex].classList.add(\"font-medium\");\r\n stepperHeadIcon[this._activeStepIndex].classList.add(\"!bg-primary-100\");\r\n stepperHeadIcon[this._activeStepIndex].classList.add(\"!text-primary-700\");\r\n this._toggleStepClass(\r\n this._activeStepIndex,\r\n \"add\",\r\n this._options.stepperActive\r\n );\r\n }\r\n\r\n this._bindMouseDown();\r\n this._bindKeysNavigation();\r\n\r\n switch (this._options.stepperType) {\r\n case STEPPER_VERTICAL:\r\n this._toggleVertical();\r\n break;\r\n default:\r\n this._toggleHorizontal();\r\n break;\r\n }\r\n\r\n if (\r\n this._options.stepperVerticalBreakpoint ||\r\n this._options.stepperMobileBreakpoint\r\n ) {\r\n this._toggleStepperView();\r\n }\r\n\r\n this._bindResize();\r\n }\r\n\r\n _getConfig(config) {\r\n const dataAttributes = Manipulator.getDataAttributes(this._element);\r\n\r\n config = {\r\n ...Default,\r\n ...dataAttributes,\r\n ...config,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n _bindMouseDown() {\r\n this._steps.forEach((el) => {\r\n const stepHead = SelectorEngine.findOne(`${HEAD_REF}`, el);\r\n\r\n EventHandler.on(stepHead, EVENT_MOUSEDOWN, (e) => {\r\n const step = SelectorEngine.parents(e.target, `${STEP_REF}`)[0];\r\n const stepIndex = this._steps.indexOf(step);\r\n\r\n e.preventDefault();\r\n this._toggleStep(stepIndex);\r\n });\r\n });\r\n }\r\n\r\n _bindResize() {\r\n EventHandler.on(window, EVENT_RESIZE, () => {\r\n if (this._currentView === STEPPER_VERTICAL) {\r\n this._setSingleStepHeight(this.activeStep);\r\n }\r\n\r\n if (this._currentView === STEPPER_HORIZONTAL) {\r\n this._setHeight(this.activeStep);\r\n }\r\n\r\n if (\r\n this._options.stepperVerticalBreakpoint ||\r\n this._options.stepperMobileBreakpoint\r\n ) {\r\n this._toggleStepperView();\r\n }\r\n });\r\n }\r\n\r\n _toggleStepperView() {\r\n const shouldBeHorizontal =\r\n this._options.stepperVerticalBreakpoint < window.innerWidth;\r\n const shouldBeVertical =\r\n this._options.stepperVerticalBreakpoint > window.innerWidth;\r\n const shouldBeMobile =\r\n this._options.stepperMobileBreakpoint > window.innerWidth;\r\n\r\n if (shouldBeHorizontal && this._currentView !== STEPPER_HORIZONTAL) {\r\n this._toggleHorizontal();\r\n }\r\n\r\n if (\r\n shouldBeVertical &&\r\n !shouldBeMobile &&\r\n this._currentView !== STEPPER_VERTICAL\r\n ) {\r\n this._steps.forEach((el) => {\r\n const stepContent = SelectorEngine.findOne(`${CONTENT_REF}`, el);\r\n\r\n this._resetStepperHeight();\r\n this._showElement(stepContent);\r\n });\r\n\r\n this._toggleVertical();\r\n }\r\n }\r\n\r\n _toggleStep(index) {\r\n if (this._activeStepIndex === index) {\r\n return;\r\n }\r\n\r\n if (this._options.stepperNoEditable) {\r\n this._toggleDisabled();\r\n }\r\n\r\n this._showElement(\r\n SelectorEngine.findOne(`${CONTENT_REF}`, this._steps[index])\r\n );\r\n this._toggleActive(index);\r\n\r\n if (index > this._activeStepIndex) {\r\n this._toggleCompleted(this._activeStepIndex);\r\n }\r\n\r\n if (this._currentView === STEPPER_HORIZONTAL) {\r\n this._animateHorizontalStep(index);\r\n } else {\r\n this._animateVerticalStep(index);\r\n this._setSingleStepHeight(this._steps[index]);\r\n }\r\n\r\n this._toggleStepTabIndex(\r\n SelectorEngine.findOne(`${HEAD_REF}`, this.activeStep),\r\n SelectorEngine.findOne(`${HEAD_REF}`, this._steps[index])\r\n );\r\n\r\n this._activeStepIndex = index;\r\n\r\n this._steps[this._activeStepIndex].setAttribute(\"data-te\", \"active-step\");\r\n this._steps.forEach((step, index) => {\r\n if (step[this._activeStepIndex] !== index) {\r\n step.removeAttribute(\"data-te\");\r\n }\r\n });\r\n }\r\n\r\n _resetStepperHeight() {\r\n this._element.style.height = \"\";\r\n }\r\n\r\n _setStepsHeight() {\r\n this._steps.forEach((el) => {\r\n const stepContent = SelectorEngine.findOne(`${CONTENT_REF}`, el);\r\n const stepComputed = window.getComputedStyle(stepContent);\r\n this._verticalStepperStyles.push({\r\n paddingTop: parseFloat(stepComputed.paddingTop),\r\n paddingBottom: parseFloat(stepComputed.paddingBottom),\r\n });\r\n const stepHeight = stepContent.scrollHeight;\r\n stepContent.style.height = `${stepHeight}px`;\r\n });\r\n }\r\n\r\n _setSingleStepHeight(step) {\r\n const stepContent = SelectorEngine.findOne(`${CONTENT_REF}`, step);\r\n const isActiveStep = this.activeStep === step;\r\n const stepIndex = this._steps.indexOf(step);\r\n let stepContentHeight;\r\n\r\n if (!isActiveStep) {\r\n stepContentHeight =\r\n stepContent.scrollHeight +\r\n this._verticalStepperStyles[stepIndex].paddingTop +\r\n this._verticalStepperStyles[stepIndex].paddingBottom;\r\n } else {\r\n stepContent.style.height = \"\";\r\n stepContentHeight = stepContent.scrollHeight;\r\n }\r\n\r\n stepContent.style.height = `${stepContentHeight}px`;\r\n }\r\n\r\n _toggleVertical() {\r\n this._currentView = STEPPER_VERTICAL;\r\n\r\n this._setStepsHeight();\r\n this._hideInactiveSteps();\r\n }\r\n\r\n _toggleHorizontal() {\r\n this._currentView = STEPPER_HORIZONTAL;\r\n\r\n this._setHeight(this.activeStep);\r\n this._hideInactiveSteps();\r\n }\r\n\r\n _toggleStepperClass() {\r\n const vertical = SelectorEngine.findOne(\r\n \"[data-te-stepper-type]\",\r\n this._element\r\n );\r\n\r\n if (vertical !== null) {\r\n this._steps.forEach((el) => {\r\n SelectorEngine.findOne(`${CONTENT_REF}`, el).classList.remove(\"!my-0\");\r\n SelectorEngine.findOne(`${CONTENT_REF}`, el).classList.remove(\"!py-0\");\r\n SelectorEngine.findOne(`${CONTENT_REF}`, el).classList.remove(\"!h-0\");\r\n });\r\n }\r\n }\r\n\r\n _toggleStepClass(index, action, className) {\r\n // condition to prevent errors if the user has not set any custom classes like active, disabled etc.\r\n if (className) {\r\n this._steps[index].classList[action](className);\r\n }\r\n }\r\n\r\n _bindKeysNavigation() {\r\n this._toggleStepTabIndex(\r\n false,\r\n SelectorEngine.findOne(`${HEAD_REF}`, this.activeStep)\r\n );\r\n\r\n this._steps.forEach((el) => {\r\n const stepHead = SelectorEngine.findOne(`${HEAD_REF}`, el);\r\n\r\n EventHandler.on(stepHead, EVENT_KEYDOWN, (e) => {\r\n const focusedStep = SelectorEngine.parents(\r\n e.currentTarget,\r\n `${STEP_REF}`\r\n )[0];\r\n const nextStep = SelectorEngine.next(focusedStep, `${STEP_REF}`)[0];\r\n const prevStep = SelectorEngine.prev(focusedStep, `${STEP_REF}`)[0];\r\n const focusedStepHead = SelectorEngine.findOne(\r\n `${HEAD_REF}`,\r\n focusedStep\r\n );\r\n const activeStepHead = SelectorEngine.findOne(\r\n `${HEAD_REF}`,\r\n this.activeStep\r\n );\r\n let nextStepHead = null;\r\n let prevStepHead = null;\r\n\r\n if (nextStep) {\r\n nextStepHead = SelectorEngine.findOne(`${HEAD_REF}`, nextStep);\r\n }\r\n\r\n if (prevStep) {\r\n prevStepHead = SelectorEngine.findOne(`${HEAD_REF}`, prevStep);\r\n }\r\n\r\n if (\r\n e.keyCode === LEFT_ARROW &&\r\n this._currentView !== STEPPER_VERTICAL\r\n ) {\r\n if (prevStepHead) {\r\n this._toggleStepTabIndex(focusedStepHead, prevStepHead);\r\n this._toggleOutlineStyles(focusedStepHead, prevStepHead);\r\n\r\n prevStepHead.focus();\r\n } else if (nextStepHead) {\r\n this._toggleStepTabIndex(focusedStepHead, nextStepHead);\r\n this._toggleOutlineStyles(focusedStepHead, nextStepHead);\r\n\r\n nextStepHead.focus();\r\n }\r\n }\r\n\r\n if (\r\n e.keyCode === RIGHT_ARROW &&\r\n this._currentView !== STEPPER_VERTICAL\r\n ) {\r\n if (nextStepHead) {\r\n this._toggleStepTabIndex(focusedStepHead, nextStepHead);\r\n this._toggleOutlineStyles(focusedStepHead, nextStepHead);\r\n\r\n nextStepHead.focus();\r\n } else if (prevStepHead) {\r\n this._toggleStepTabIndex(focusedStepHead, prevStepHead);\r\n this._toggleOutlineStyles(focusedStepHead, prevStepHead);\r\n\r\n prevStepHead.focus();\r\n }\r\n }\r\n\r\n if (\r\n e.keyCode === DOWN_ARROW &&\r\n this._currentView === STEPPER_VERTICAL\r\n ) {\r\n e.preventDefault();\r\n\r\n if (nextStepHead) {\r\n this._toggleStepTabIndex(focusedStepHead, nextStepHead);\r\n this._toggleOutlineStyles(focusedStepHead, nextStepHead);\r\n\r\n nextStepHead.focus();\r\n }\r\n }\r\n\r\n if (e.keyCode === UP_ARROW && this._currentView === STEPPER_VERTICAL) {\r\n e.preventDefault();\r\n\r\n if (prevStepHead) {\r\n this._toggleStepTabIndex(focusedStepHead, prevStepHead);\r\n this._toggleOutlineStyles(focusedStepHead, prevStepHead);\r\n\r\n prevStepHead.focus();\r\n }\r\n }\r\n\r\n if (e.keyCode === HOME) {\r\n const firstStepHead = SelectorEngine.findOne(\r\n `${HEAD_REF}`,\r\n this._steps[0]\r\n );\r\n\r\n this._toggleStepTabIndex(focusedStepHead, firstStepHead);\r\n this._toggleOutlineStyles(focusedStepHead, firstStepHead);\r\n\r\n firstStepHead.focus();\r\n }\r\n\r\n if (e.keyCode === END) {\r\n const lastStep = this._steps[this._steps.length - 1];\r\n const lastStepHead = SelectorEngine.findOne(`${HEAD_REF}`, lastStep);\r\n this._toggleStepTabIndex(focusedStepHead, lastStepHead);\r\n this._toggleOutlineStyles(focusedStepHead, lastStepHead);\r\n\r\n lastStepHead.focus();\r\n }\r\n\r\n if (e.keyCode === ENTER || e.keyCode === SPACE) {\r\n e.preventDefault();\r\n\r\n this.changeStep(this._steps.indexOf(focusedStep));\r\n }\r\n\r\n if (e.keyCode === TAB) {\r\n this._toggleStepTabIndex(focusedStepHead, activeStepHead);\r\n this._toggleOutlineStyles(focusedStepHead, false);\r\n\r\n activeStepHead.focus();\r\n }\r\n });\r\n\r\n EventHandler.on(stepHead, EVENT_KEYUP, (e) => {\r\n const focusedStep = SelectorEngine.parents(\r\n e.currentTarget,\r\n `${STEP_REF}`\r\n )[0];\r\n const focusedStepHead = SelectorEngine.findOne(\r\n `${HEAD_REF}`,\r\n focusedStep\r\n );\r\n const activeStepHead = SelectorEngine.findOne(\r\n `${HEAD_REF}`,\r\n this.activeStep\r\n );\r\n\r\n if (e.keyCode === TAB) {\r\n this._toggleStepTabIndex(focusedStepHead, activeStepHead);\r\n this._toggleOutlineStyles(false, activeStepHead);\r\n\r\n activeStepHead.focus();\r\n }\r\n });\r\n });\r\n }\r\n\r\n _toggleStepTabIndex(focusedElement, newTarget) {\r\n if (focusedElement) {\r\n focusedElement.setAttribute(\"tabIndex\", -1);\r\n }\r\n\r\n if (newTarget) {\r\n newTarget.setAttribute(\"tabIndex\", 0);\r\n }\r\n }\r\n\r\n _toggleOutlineStyles(focusedElement, newTarget) {\r\n if (focusedElement) {\r\n focusedElement.style.outline = \"\";\r\n }\r\n\r\n if (newTarget) {\r\n newTarget.style.outline = \"revert\";\r\n }\r\n }\r\n\r\n _toggleDisabled() {\r\n const stepperHead = SelectorEngine.find(`${HEAD_REF}`, this._element);\r\n const stepperHeadIcon = SelectorEngine.find(\r\n `${HEAD_ICON_REF}`,\r\n this._element\r\n );\r\n\r\n stepperHead[this._activeStepIndex].classList.add(\"color-[#858585]\");\r\n stepperHead[this._activeStepIndex].classList.add(\"cursor-default\");\r\n stepperHeadIcon[this._activeStepIndex].classList.add(\"!bg-[#858585]\");\r\n this._toggleStepClass(\r\n this._activeStepIndex,\r\n \"add\",\r\n this._options.stepperDisabled\r\n );\r\n }\r\n\r\n _toggleActive(index) {\r\n const stepperHeadText = SelectorEngine.find(\r\n `${HEAD_TEXT_REF}`,\r\n this._element\r\n );\r\n const stepperHeadIcon = SelectorEngine.find(\r\n `${HEAD_ICON_REF}`,\r\n this._element\r\n );\r\n\r\n stepperHeadText[index].classList.add(\"font-medium\");\r\n stepperHeadIcon[index].classList.add(\"!bg-primary-100\");\r\n stepperHeadIcon[index].classList.add(\"!text-primary-700\");\r\n stepperHeadIcon[index].classList.remove(\"!bg-success-100\");\r\n stepperHeadIcon[index].classList.remove(\"!text-success-700\");\r\n\r\n stepperHeadText[this._activeStepIndex].classList.remove(\"font-medium\");\r\n stepperHeadIcon[this._activeStepIndex].classList.remove(\"!bg-primary-100\");\r\n stepperHeadIcon[this._activeStepIndex].classList.remove(\r\n \"!text-primary-700\"\r\n );\r\n\r\n this._toggleStepClass(index, \"add\", this._options.stepperActive);\r\n this._toggleStepClass(\r\n this._activeStepIndex,\r\n \"remove\",\r\n this._options.stepperActive\r\n );\r\n }\r\n\r\n _toggleCompleted(index) {\r\n const stepperHeadIcon = SelectorEngine.find(\r\n `${HEAD_ICON_REF}`,\r\n this._element\r\n );\r\n stepperHeadIcon[index].classList.add(\"!bg-success-100\");\r\n stepperHeadIcon[index].classList.add(\"!text-success-700\");\r\n stepperHeadIcon[index].classList.remove(\"!bg-danger-100\");\r\n stepperHeadIcon[index].classList.remove(\"!text-danger-700\");\r\n\r\n this._toggleStepClass(index, \"add\", this._options.stepperCompleted);\r\n this._toggleStepClass(index, \"remove\", this._options.stepperInvalid);\r\n }\r\n\r\n _hideInactiveSteps() {\r\n this._steps.forEach((el) => {\r\n if (!el.getAttribute(\"data-te\")) {\r\n this._hideElement(SelectorEngine.findOne(`${CONTENT_REF}`, el));\r\n }\r\n });\r\n }\r\n\r\n _setHeight(stepElement) {\r\n const stepContent = SelectorEngine.findOne(`${CONTENT_REF}`, stepElement);\r\n const contentStyle = getComputedStyle(stepContent);\r\n const stepHead = SelectorEngine.findOne(`${HEAD_REF}`, stepElement);\r\n\r\n const headStyle = getComputedStyle(stepHead);\r\n const stepContentHeight =\r\n stepContent.offsetHeight +\r\n parseFloat(contentStyle.marginTop) +\r\n parseFloat(contentStyle.marginBottom);\r\n\r\n const stepHeadHeight =\r\n stepHead.offsetHeight +\r\n parseFloat(headStyle.marginTop) +\r\n parseFloat(headStyle.marginBottom);\r\n\r\n this._element.style.height = `${stepHeadHeight + stepContentHeight}px`;\r\n }\r\n\r\n _hideElement(stepContent) {\r\n const isActive = SelectorEngine.parents(\r\n stepContent,\r\n `${STEP_REF}`\r\n )[0].getAttribute(\"data-te\");\r\n\r\n // prevent hiding during a quick step change\r\n if (!isActive && this._currentView !== STEPPER_VERTICAL) {\r\n // stepContent.style.display = 'none';\r\n } else {\r\n stepContent.classList.add(\"!my-0\");\r\n stepContent.classList.add(\"!py-0\");\r\n stepContent.classList.add(\"!h-0\");\r\n }\r\n }\r\n\r\n _showElement(stepContent) {\r\n if (this._currentView === STEPPER_VERTICAL) {\r\n stepContent.classList.remove(\"!my-0\");\r\n stepContent.classList.remove(\"!py-0\");\r\n stepContent.classList.remove(\"!h-0\");\r\n } else {\r\n stepContent.style.display = \"block\";\r\n }\r\n }\r\n\r\n _animateHorizontalStep(index) {\r\n const isForward = index > this._activeStepIndex;\r\n const nextStepContent = SelectorEngine.findOne(\r\n `${CONTENT_REF}`,\r\n this._steps[index]\r\n );\r\n const activeStepContent = SelectorEngine.findOne(\r\n `${CONTENT_REF}`,\r\n this.activeStep\r\n );\r\n\r\n let nextStepAnimation;\r\n let activeStepAnimation;\r\n\r\n this._steps.forEach((el, i) => {\r\n const stepContent = SelectorEngine.findOne(`${CONTENT_REF}`, el);\r\n\r\n if (i !== index && i !== this._activeStepIndex) {\r\n this._hideElement(stepContent);\r\n }\r\n });\r\n\r\n const CLASS_NAME_SLIDE_RIGHT = \"translate-x-[150%]\";\r\n const CLASS_NAME_SLIDE_LEFT = \"-translate-x-[150%]\";\r\n const CLASS_NAME_SLIDE_IN = \"translate-0\";\r\n\r\n if (isForward) {\r\n activeStepAnimation = CLASS_NAME_SLIDE_LEFT;\r\n nextStepAnimation = CLASS_NAME_SLIDE_IN;\r\n nextStepContent.classList.remove(\"translate-x-[150%]\");\r\n nextStepContent.classList.remove(\"-translate-x-[150%]\");\r\n } else {\r\n activeStepAnimation = CLASS_NAME_SLIDE_RIGHT;\r\n nextStepAnimation = CLASS_NAME_SLIDE_IN;\r\n nextStepContent.classList.remove(\"-translate-x-[150%]\");\r\n nextStepContent.classList.remove(\"translate-x-[150%]\");\r\n }\r\n\r\n activeStepContent.classList.add(activeStepAnimation);\r\n nextStepContent.classList.add(nextStepAnimation);\r\n\r\n this._setHeight(this._steps[index]);\r\n }\r\n\r\n _animateVerticalStep(index) {\r\n const nextStepContent = SelectorEngine.findOne(\r\n `${CONTENT_REF}`,\r\n this._steps[index]\r\n );\r\n const activeStepContent = SelectorEngine.findOne(\r\n `${CONTENT_REF}`,\r\n this.activeStep\r\n );\r\n\r\n this._hideElement(activeStepContent);\r\n this._showElement(nextStepContent);\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n}\r\n\r\nexport default Stepper;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport SelectorEngine from \"../../dom/selector-engine\";\r\n\r\nconst DATA_ACTIVE = \"data-te-input-state-active\";\r\nconst DATA_SELECTED = \"data-te-input-selected\";\r\nconst DATA_MULTIPLE_ACTIVE = \"data-te-input-multiple-active\";\r\n\r\nconst SELECTOR_FORM_CHECK_INPUT = \"[data-te-form-check-input]\";\r\n\r\nclass SelectOption {\r\n constructor(\r\n id,\r\n nativeOption,\r\n multiple,\r\n value,\r\n label,\r\n selected,\r\n disabled,\r\n hidden,\r\n secondaryText,\r\n groupId,\r\n icon\r\n ) {\r\n this.id = id;\r\n this.nativeOption = nativeOption;\r\n this.multiple = multiple;\r\n this.value = value;\r\n this.label = label;\r\n this.selected = selected;\r\n this.disabled = disabled;\r\n this.hidden = hidden;\r\n this.secondaryText = secondaryText;\r\n this.groupId = groupId;\r\n this.icon = icon;\r\n this.node = null;\r\n this.active = false;\r\n }\r\n\r\n select() {\r\n if (this.multiple) {\r\n this._selectMultiple();\r\n } else {\r\n this._selectSingle();\r\n }\r\n }\r\n\r\n _selectSingle() {\r\n if (!this.selected) {\r\n this.node.setAttribute(DATA_SELECTED, \"\");\r\n this.node.setAttribute(\"aria-selected\", true);\r\n this.selected = true;\r\n\r\n if (this.nativeOption) {\r\n this.nativeOption.selected = true;\r\n }\r\n }\r\n }\r\n\r\n _selectMultiple() {\r\n if (!this.selected) {\r\n const checkbox = SelectorEngine.findOne(\r\n SELECTOR_FORM_CHECK_INPUT,\r\n this.node\r\n );\r\n checkbox.checked = true;\r\n this.node.setAttribute(DATA_SELECTED, \"\");\r\n\r\n this.node.setAttribute(\"aria-selected\", true);\r\n this.selected = true;\r\n\r\n if (this.nativeOption) {\r\n this.nativeOption.selected = true;\r\n }\r\n }\r\n }\r\n\r\n deselect() {\r\n if (this.multiple) {\r\n this._deselectMultiple();\r\n } else {\r\n this._deselectSingle();\r\n }\r\n }\r\n\r\n _deselectSingle() {\r\n if (this.selected) {\r\n this.node.removeAttribute(DATA_SELECTED);\r\n\r\n this.node.setAttribute(\"aria-selected\", false);\r\n this.selected = false;\r\n\r\n if (this.nativeOption) {\r\n this.nativeOption.selected = false;\r\n }\r\n }\r\n }\r\n\r\n _deselectMultiple() {\r\n if (this.selected) {\r\n const checkbox = SelectorEngine.findOne(\r\n SELECTOR_FORM_CHECK_INPUT,\r\n this.node\r\n );\r\n checkbox.checked = false;\r\n this.node.removeAttribute(DATA_SELECTED);\r\n\r\n this.node.setAttribute(\"aria-selected\", false);\r\n this.selected = false;\r\n\r\n if (this.nativeOption) {\r\n this.nativeOption.selected = false;\r\n }\r\n }\r\n }\r\n\r\n setNode(node) {\r\n this.node = node;\r\n }\r\n\r\n setActiveStyles() {\r\n if (!this.active) {\r\n if (this.multiple) {\r\n this.node.setAttribute(DATA_MULTIPLE_ACTIVE, \"\");\r\n return;\r\n }\r\n this.active = true;\r\n this.node.setAttribute(DATA_ACTIVE, \"\");\r\n }\r\n }\r\n\r\n removeActiveStyles() {\r\n if (this.active) {\r\n this.active = false;\r\n this.node.removeAttribute(DATA_ACTIVE);\r\n }\r\n if (this.multiple) {\r\n this.node.removeAttribute(DATA_MULTIPLE_ACTIVE);\r\n }\r\n }\r\n}\r\n\r\nexport default SelectOption;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nclass SelectionModel {\r\n constructor(multiple = false) {\r\n this._multiple = multiple;\r\n this._selections = [];\r\n }\r\n\r\n select(option) {\r\n if (this._multiple) {\r\n this._selections.push(option);\r\n } else {\r\n this._selections = [option];\r\n }\r\n }\r\n\r\n deselect(option) {\r\n if (this._multiple) {\r\n const optionIndex = this._selections.findIndex(\r\n (selection) => option === selection\r\n );\r\n this._selections.splice(optionIndex, 1);\r\n } else {\r\n this._selections = [];\r\n }\r\n }\r\n\r\n clear() {\r\n this._selections = [];\r\n }\r\n\r\n get selection() {\r\n return this._selections[0];\r\n }\r\n\r\n get selections() {\r\n return this._selections;\r\n }\r\n\r\n get label() {\r\n return this._selections[0] && this.selection.label;\r\n }\r\n\r\n get labels() {\r\n return this._selections.map((selection) => selection.label).join(\", \");\r\n }\r\n\r\n get value() {\r\n return this.selections[0] && this.selection.value;\r\n }\r\n\r\n get values() {\r\n return this._selections.map((selection) => selection.value);\r\n }\r\n}\r\n\r\nexport default SelectionModel;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nexport default function allOptionsSelected(options) {\r\n return options\r\n .filter((option) => !option.disabled)\r\n .every((option) => {\r\n return option.selected;\r\n });\r\n}\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { element } from \"../../util/index\";\r\nimport Manipulator from \"../../dom/manipulator\";\r\nimport allOptionsSelected from \"./util\";\r\n\r\nconst DATA_FORM_OUTLINE = \"data-te-select-form-outline-ref\";\r\nconst DATA_SELECT_WRAPPER = \"data-te-select-wrapper-ref\";\r\nconst DATA_SELECT_INPUT = \"data-te-select-input-ref\";\r\nconst DATA_CLEAR_BUTTON = \"data-te-select-clear-btn-ref\";\r\nconst DATA_SELECT_DROPDOWN_CONTAINER = \"data-te-select-dropdown-container-ref\";\r\nconst DATA_DROPDOWN = \"data-te-select-dropdown-ref\";\r\nconst DATA_OPTIONS_WRAPPER = \"data-te-select-options-wrapper-ref\";\r\nconst DATA_OPTIONS_LIST = \"data-te-select-options-list-ref\";\r\nconst DATA_FILTER_INPUT = \"data-te-select-input-filter-ref\";\r\nconst DATA_OPTION = \"data-te-select-option-ref\";\r\nconst DATA_OPTION_ALL = \"data-te-select-option-all-ref\";\r\nconst DATA_SELECT_OPTION_TEXT = \"data-te-select-option-text-ref\";\r\nconst DATA_FORM_CHECK_INPUT = \"data-te-form-check-input\";\r\nconst DATA_SELECT_OPTION_GROUP = \"data-te-select-option-group-ref\";\r\nconst DATA_SELECT_OPTION_GROUP_LABEL = \"data-te-select-option-group-label-ref\";\r\n\r\nconst DATA_SELECTED = \"data-te-select-selected\";\r\n\r\nconst iconSVGTemplate = `\r\n\r\n \r\n\r\n`;\r\n\r\nconst preventKeydown = (event) => {\r\n if (event.code === \"Tab\" || event.code === \"Esc\") {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n};\r\n\r\nfunction _setSizeClasses(element, config, defaultSize, smSize, lgSize) {\r\n if (config.selectSize === \"default\") {\r\n Manipulator.addClass(element, defaultSize);\r\n }\r\n\r\n if (config.selectSize === \"sm\") {\r\n Manipulator.addClass(element, smSize);\r\n }\r\n\r\n if (config.selectSize === \"lg\") {\r\n Manipulator.addClass(element, lgSize);\r\n }\r\n}\r\n\r\nexport function getWrapperTemplate(id, config, label, classes, selectName) {\r\n const wrapper = document.createElement(\"div\");\r\n wrapper.setAttribute(\"id\", id);\r\n wrapper.setAttribute(DATA_SELECT_WRAPPER, \"\");\r\n\r\n const formOutline = element(\"div\");\r\n formOutline.setAttribute(DATA_FORM_OUTLINE, \"\");\r\n Manipulator.addClass(formOutline, classes.formOutline);\r\n\r\n const input = element(\"input\");\r\n const role = config.selectFilter ? \"combobox\" : \"listbox\";\r\n const multiselectable = config.multiple ? \"true\" : \"false\";\r\n const disabled = config.disabled ? \"true\" : \"false\";\r\n input.setAttribute(DATA_SELECT_INPUT, \"\");\r\n Manipulator.addClass(input, classes.selectInput);\r\n\r\n _setSizeClasses(\r\n input,\r\n config,\r\n classes.selectInputSizeDefault,\r\n classes.selectInputSizeSm,\r\n classes.selectInputSizeLg\r\n );\r\n\r\n if (config.selectFormWhite) {\r\n Manipulator.addClass(input, classes.selectInputWhite);\r\n }\r\n\r\n input.setAttribute(\"type\", \"text\");\r\n input.setAttribute(\"role\", role);\r\n input.setAttribute(\"aria-multiselectable\", multiselectable);\r\n input.setAttribute(\"aria-disabled\", disabled);\r\n input.setAttribute(\"aria-haspopup\", \"true\");\r\n input.setAttribute(\"aria-expanded\", false);\r\n input.name = selectName;\r\n\r\n if (config.tabIndex) {\r\n input.setAttribute(\"tabIndex\", config.tabIndex);\r\n }\r\n\r\n if (config.disabled) {\r\n input.setAttribute(\"disabled\", \"\");\r\n }\r\n\r\n if (config.selectPlaceholder !== \"\") {\r\n input.setAttribute(\"placeholder\", config.selectPlaceholder);\r\n }\r\n\r\n if (config.selectValidation) {\r\n Manipulator.addStyle(input, {\r\n \"pointer-events\": \"none\",\r\n \"caret-color\": \"transparent\",\r\n });\r\n Manipulator.addStyle(formOutline, { cursor: \"pointer\" });\r\n } else {\r\n input.setAttribute(\"readonly\", \"true\");\r\n }\r\n\r\n if (config.selectValidation) {\r\n input.setAttribute(\"required\", \"true\");\r\n input.setAttribute(\"aria-required\", \"true\");\r\n input.addEventListener(\"keydown\", preventKeydown);\r\n }\r\n\r\n const validFeedback = element(\"div\");\r\n Manipulator.addClass(validFeedback, classes.selectValidationValid);\r\n\r\n const validFeedBackText = document.createTextNode(\r\n `${config.selectValidFeedback}`\r\n );\r\n validFeedback.appendChild(validFeedBackText);\r\n\r\n const invalidFeedback = element(\"div\");\r\n Manipulator.addClass(invalidFeedback, classes.selectValidationInvalid);\r\n\r\n const invalidFeedBackText = document.createTextNode(\r\n `${config.selectInvalidFeedback}`\r\n );\r\n invalidFeedback.appendChild(invalidFeedBackText);\r\n\r\n const clearBtn = element(\"span\");\r\n clearBtn.setAttribute(DATA_CLEAR_BUTTON, \"\");\r\n\r\n Manipulator.addClass(clearBtn, classes.selectClearBtn);\r\n\r\n _setSizeClasses(\r\n clearBtn,\r\n config,\r\n classes.selectClearBtnDefault,\r\n classes.selectClearBtnSm,\r\n classes.selectClearBtnLg\r\n );\r\n\r\n if (config.selectFormWhite) {\r\n Manipulator.addClass(clearBtn, classes.selectClearBtnWhite);\r\n }\r\n\r\n const clearBtnText = document.createTextNode(\"\\u2715\");\r\n clearBtn.appendChild(clearBtnText);\r\n clearBtn.setAttribute(\"tabindex\", \"0\");\r\n\r\n const arrow = element(\"span\");\r\n Manipulator.addClass(arrow, classes.selectArrow);\r\n\r\n _setSizeClasses(\r\n arrow,\r\n config,\r\n classes.selectArrowDefault,\r\n classes.selectArrowSm,\r\n classes.selectArrowLg\r\n );\r\n\r\n if (config.selectFormWhite) {\r\n Manipulator.addClass(arrow, classes.selectArrowWhite);\r\n }\r\n\r\n arrow.innerHTML = iconSVGTemplate;\r\n\r\n formOutline.appendChild(input);\r\n\r\n if (label) {\r\n Manipulator.addClass(label, classes.selectLabel);\r\n\r\n _setSizeClasses(\r\n label,\r\n config,\r\n classes.selectLabelSizeDefault,\r\n classes.selectLabelSizeSm,\r\n classes.selectLabelSizeLg\r\n );\r\n\r\n if (config.selectFormWhite) {\r\n Manipulator.addClass(label, classes.selectLabelWhite);\r\n }\r\n\r\n formOutline.appendChild(label);\r\n }\r\n\r\n if (config.selectValidation) {\r\n formOutline.appendChild(validFeedback);\r\n formOutline.appendChild(invalidFeedback);\r\n }\r\n\r\n if (config.selectClearButton) {\r\n formOutline.appendChild(clearBtn);\r\n }\r\n\r\n formOutline.appendChild(arrow);\r\n\r\n wrapper.appendChild(formOutline);\r\n return wrapper;\r\n}\r\n\r\nexport function getDropdownTemplate(\r\n id,\r\n config,\r\n width,\r\n height,\r\n selectAllOption,\r\n options,\r\n customContent,\r\n classes\r\n) {\r\n const dropdownContainer = document.createElement(\"div\");\r\n dropdownContainer.setAttribute(DATA_SELECT_DROPDOWN_CONTAINER, \"\");\r\n Manipulator.addClass(dropdownContainer, classes.selectDropdownContainer);\r\n\r\n dropdownContainer.setAttribute(\"id\", `${id}`);\r\n dropdownContainer.style.width = `${width}px`;\r\n\r\n const dropdown = document.createElement(\"div\");\r\n dropdown.setAttribute(\"tabindex\", 0);\r\n dropdown.setAttribute(DATA_DROPDOWN, \"\");\r\n Manipulator.addClass(dropdown, classes.dropdown);\r\n\r\n const optionsWrapper = element(\"div\");\r\n optionsWrapper.setAttribute(DATA_OPTIONS_WRAPPER, \"\");\r\n Manipulator.addClass(optionsWrapper, classes.optionsWrapper);\r\n Manipulator.addClass(optionsWrapper, classes.optionsWrapperScrollbar);\r\n optionsWrapper.style.maxHeight = `${height}px`;\r\n\r\n const optionsList = getOptionsListTemplate(\r\n options,\r\n selectAllOption,\r\n config,\r\n classes\r\n );\r\n\r\n optionsWrapper.appendChild(optionsList);\r\n\r\n if (config.selectFilter) {\r\n dropdown.appendChild(\r\n getFilterTemplate(config.selectSearchPlaceholder, classes)\r\n );\r\n }\r\n\r\n dropdown.appendChild(optionsWrapper);\r\n if (customContent) {\r\n dropdown.appendChild(customContent);\r\n }\r\n\r\n dropdownContainer.appendChild(dropdown);\r\n\r\n return dropdownContainer;\r\n}\r\n\r\nexport function getOptionsListTemplate(\r\n options,\r\n selectAllOption,\r\n config,\r\n classes\r\n) {\r\n const optionsList = element(\"div\");\r\n optionsList.setAttribute(DATA_OPTIONS_LIST, \"\");\r\n Manipulator.addClass(optionsList, classes.optionsList);\r\n\r\n let optionsNodes;\r\n\r\n if (config.multiple) {\r\n optionsNodes = getMultipleOptionsNodes(\r\n options,\r\n selectAllOption,\r\n config,\r\n classes\r\n );\r\n } else {\r\n optionsNodes = getSingleOptionsNodes(options, config, classes);\r\n }\r\n\r\n optionsNodes.forEach((node) => {\r\n optionsList.appendChild(node);\r\n });\r\n\r\n return optionsList;\r\n}\r\n\r\nexport function getFilterTemplate(placeholder, classes) {\r\n const inputGroup = element(\"div\");\r\n Manipulator.addClass(inputGroup, classes.inputGroup);\r\n\r\n const input = element(\"input\");\r\n\r\n input.setAttribute(DATA_FILTER_INPUT, \"\");\r\n Manipulator.addClass(input, classes.selectFilterInput);\r\n input.placeholder = placeholder;\r\n input.setAttribute(\"role\", \"searchbox\");\r\n input.setAttribute(\"type\", \"text\");\r\n\r\n inputGroup.appendChild(input);\r\n\r\n return inputGroup;\r\n}\r\n\r\nfunction getSingleOptionsNodes(options, config, classes) {\r\n const nodes = getOptionsNodes(options, config, classes);\r\n return nodes;\r\n}\r\n\r\nfunction getMultipleOptionsNodes(options, selectAllOption, config, classes) {\r\n let selectAllNode = null;\r\n\r\n if (config.selectAll) {\r\n selectAllNode = createSelectAllNode(\r\n selectAllOption,\r\n options,\r\n config,\r\n classes\r\n );\r\n }\r\n const optionsNodes = getOptionsNodes(options, config, classes);\r\n const nodes = selectAllNode ? [selectAllNode, ...optionsNodes] : optionsNodes;\r\n return nodes;\r\n}\r\n\r\nfunction getOptionsNodes(options, config, classes) {\r\n const nodes = [];\r\n\r\n options.forEach((option) => {\r\n const isOptionGroup = Object.prototype.hasOwnProperty.call(\r\n option,\r\n \"options\"\r\n );\r\n if (isOptionGroup) {\r\n const group = createOptionGroupTemplate(option, config, classes);\r\n nodes.push(group);\r\n } else {\r\n nodes.push(createOptionTemplate(option, config, classes));\r\n }\r\n });\r\n\r\n return nodes;\r\n}\r\n\r\nfunction createSelectAllNode(option, options, config, classes) {\r\n const isSelected = allOptionsSelected(options);\r\n const optionNode = element(\"div\");\r\n optionNode.setAttribute(DATA_OPTION, \"\");\r\n Manipulator.addClass(optionNode, classes.selectOption);\r\n optionNode.setAttribute(DATA_OPTION_ALL, \"\");\r\n Manipulator.addStyle(optionNode, {\r\n height: `${config.selectOptionHeight}px`,\r\n });\r\n optionNode.setAttribute(\"role\", \"option\");\r\n optionNode.setAttribute(\"aria-selected\", isSelected);\r\n\r\n if (isSelected) {\r\n optionNode.setAttribute(DATA_SELECTED, \"\");\r\n }\r\n\r\n optionNode.appendChild(getOptionContentTemplate(option, config, classes));\r\n option.setNode(optionNode);\r\n\r\n return optionNode;\r\n}\r\n\r\nfunction createOptionTemplate(option, config, classes) {\r\n if (option.node) {\r\n return option.node;\r\n }\r\n const optionNode = element(\"div\");\r\n optionNode.setAttribute(DATA_OPTION, \"\");\r\n Manipulator.addClass(optionNode, classes.selectOption);\r\n\r\n Manipulator.addStyle(optionNode, {\r\n height: `${config.selectOptionHeight}px`,\r\n });\r\n Manipulator.setDataAttribute(optionNode, \"id\", option.id);\r\n optionNode.setAttribute(\"role\", \"option\");\r\n optionNode.setAttribute(\"aria-selected\", option.selected);\r\n optionNode.setAttribute(\"aria-disabled\", option.disabled);\r\n\r\n if (option.selected) {\r\n optionNode.setAttribute(DATA_SELECTED, \"\");\r\n }\r\n\r\n if (option.disabled) {\r\n optionNode.setAttribute(\"data-te-select-option-disabled\", true);\r\n }\r\n\r\n if (option.hidden) {\r\n Manipulator.addClass(optionNode, \"hidden\");\r\n }\r\n\r\n optionNode.appendChild(getOptionContentTemplate(option, config, classes));\r\n\r\n if (option.icon) {\r\n optionNode.appendChild(getOptionIconTemplate(option, classes));\r\n }\r\n\r\n option.setNode(optionNode);\r\n\r\n return optionNode;\r\n}\r\n\r\nfunction getOptionContentTemplate(option, config, classes) {\r\n const content = element(\"span\");\r\n content.setAttribute(DATA_SELECT_OPTION_TEXT, \"\");\r\n Manipulator.addClass(content, classes.selectOptionText);\r\n\r\n const label = document.createTextNode(option.label);\r\n\r\n if (config.multiple) {\r\n content.appendChild(getCheckboxTemplate(option, classes));\r\n }\r\n\r\n content.appendChild(label);\r\n if (option.secondaryText || typeof option.secondaryText === \"number\") {\r\n content.appendChild(\r\n getSecondaryTextTemplate(option.secondaryText, classes)\r\n );\r\n }\r\n\r\n return content;\r\n}\r\n\r\nfunction getSecondaryTextTemplate(text, classes) {\r\n const span = element(\"span\");\r\n Manipulator.addClass(span, classes.selectOptionSecondaryText);\r\n const textContent = document.createTextNode(text);\r\n span.appendChild(textContent);\r\n return span;\r\n}\r\n\r\nfunction getCheckboxTemplate(option, classes) {\r\n const checkbox = element(\"input\");\r\n checkbox.setAttribute(\"type\", \"checkbox\");\r\n Manipulator.addClass(checkbox, classes.formCheckInput);\r\n checkbox.setAttribute(DATA_FORM_CHECK_INPUT, \"\");\r\n\r\n const label = element(\"label\");\r\n\r\n if (option.selected) {\r\n checkbox.setAttribute(\"checked\", true);\r\n }\r\n\r\n if (option.disabled) {\r\n checkbox.setAttribute(\"disabled\", true);\r\n }\r\n\r\n checkbox.appendChild(label);\r\n return checkbox;\r\n}\r\n\r\nfunction getOptionIconTemplate(option, classes) {\r\n const container = element(\"span\");\r\n const image = element(\"img\");\r\n Manipulator.addClass(image, classes.selectOptionIcon);\r\n\r\n image.src = option.icon;\r\n\r\n container.appendChild(image);\r\n return container;\r\n}\r\n\r\nfunction createOptionGroupTemplate(optionGroup, config, classes) {\r\n const group = element(\"div\");\r\n\r\n group.setAttribute(DATA_SELECT_OPTION_GROUP, \"\");\r\n Manipulator.addClass(group, classes.selectOptionGroup);\r\n\r\n group.setAttribute(\"role\", \"group\");\r\n group.setAttribute(\"id\", optionGroup.id);\r\n\r\n if (optionGroup.hidden) {\r\n Manipulator.addClass(group, \"hidden\");\r\n }\r\n\r\n const label = element(\"label\");\r\n label.setAttribute(DATA_SELECT_OPTION_GROUP_LABEL, \"\");\r\n Manipulator.addClass(label, classes.selectOptionGroupLabel);\r\n\r\n Manipulator.addStyle(label, { height: `${config.selectOptionHeight}px` });\r\n label.setAttribute(\"for\", optionGroup.id);\r\n label.textContent = optionGroup.label;\r\n\r\n group.appendChild(label);\r\n\r\n optionGroup.options.forEach((option) => {\r\n group.appendChild(createOptionTemplate(option, config, classes));\r\n });\r\n\r\n return group;\r\n}\r\n\r\nexport function getFakeValueTemplate(value, classes) {\r\n const fakeValue = element(\"div\");\r\n fakeValue.innerHTML = value;\r\n Manipulator.addClass(fakeValue, classes.selectLabel);\r\n\r\n Manipulator.addClass(fakeValue, classes.selectFakeValue);\r\n\r\n return fakeValue;\r\n}\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { createPopper } from \"@popperjs/core\";\r\nimport Data from \"../../dom/data\";\r\nimport EventHandler from \"../../dom/event-handler\";\r\nimport Manipulator from \"../../dom/manipulator\";\r\nimport SelectorEngine from \"../../dom/selector-engine\";\r\nimport { typeCheckConfig, getUID } from \"../../util/index\";\r\nimport Input from \"../input\";\r\nimport SelectOption from \"./select-option\";\r\nimport SelectionModel from \"./selection-model\";\r\nimport {\r\n ESCAPE,\r\n ENTER,\r\n DOWN_ARROW,\r\n UP_ARROW,\r\n HOME,\r\n END,\r\n TAB,\r\n} from \"../../util/keycodes\";\r\nimport allOptionsSelected from \"./util\";\r\nimport {\r\n getWrapperTemplate,\r\n getDropdownTemplate,\r\n getOptionsListTemplate,\r\n getFakeValueTemplate,\r\n} from \"./templates\";\r\n\r\nconst NAME = \"select\";\r\nconst DATA_KEY = \"te.select\";\r\n\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst EVENT_CLOSE = `close${EVENT_KEY}`;\r\nconst EVENT_OPEN = `open${EVENT_KEY}`;\r\nconst EVENT_SELECT = `optionSelect${EVENT_KEY}`;\r\nconst EVENT_DESELECT = `optionDeselect${EVENT_KEY}`;\r\nconst EVENT_VALUE_CHANGE = `valueChange${EVENT_KEY}`;\r\nconst EVENT_CHANGE = \"change\";\r\n\r\nconst DATA_SELECT_INIT = \"data-te-select-init\";\r\nconst DATA_NO_RESULT = \"data-te-select-no-results-ref\";\r\nconst DATA_OPEN = \"data-te-select-open\";\r\nconst DATA_ACTIVE = \"data-te-input-state-active\";\r\nconst DATA_FOCUSED = \"data-te-input-focused\";\r\nconst DATA_DISABLED = \"data-te-input-disabled\";\r\nconst DATA_SELECT_OPTION_GROUP_LABEL = \"data-te-select-option-group-label-ref\";\r\nconst DATA_OPTION_ALL = \"data-te-select-option-all-ref\";\r\nconst DATA_SELECTED = \"data-te-select-selected\";\r\n\r\nconst SELECTOR_LABEL = \"[data-te-select-label-ref]\";\r\nconst SELECTOR_INPUT = \"[data-te-select-input-ref]\";\r\nconst SELECTOR_FILTER_INPUT = \"[data-te-select-input-filter-ref]\";\r\nconst SELECTOR_DROPDOWN = \"[data-te-select-dropdown-ref]\";\r\nconst SELECTOR_OPTIONS_WRAPPER = \"[data-te-select-options-wrapper-ref]\";\r\nconst SELECTOR_OPTIONS_LIST = \"[data-te-select-options-list-ref]\";\r\nconst SELECTOR_OPTION = \"[data-te-select-option-ref]\";\r\nconst SELECTOR_CLEAR_BUTTON = \"[data-te-select-clear-btn-ref]\";\r\nconst SELECTOR_CUSTOM_CONTENT = \"[data-te-select-custom-content-ref]\";\r\nconst SELECTOR_NO_RESULTS = `[${DATA_NO_RESULT}]`;\r\nconst SELECTOR_FORM_OUTLINE = \"[data-te-select-form-outline-ref]\";\r\nconst SELECTOR_TOGGLE = \"[data-te-select-toggle]\";\r\nconst SELECTOR_NOTCH = \"[data-te-input-notch-ref]\";\r\n\r\nconst ANIMATION_TRANSITION_TIME = 200;\r\n\r\nconst Default = {\r\n selectAutoSelect: false,\r\n selectContainer: \"body\",\r\n selectClearButton: false,\r\n disabled: false,\r\n selectDisplayedLabels: 5,\r\n selectFormWhite: false,\r\n multiple: false,\r\n selectOptionsSelectedLabel: \"options selected\",\r\n selectOptionHeight: 38,\r\n selectAll: true,\r\n selectAllLabel: \"Select all\",\r\n selectSearchPlaceholder: \"Search...\",\r\n selectSize: \"default\",\r\n selectVisibleOptions: 5,\r\n selectFilter: false,\r\n selectFilterDebounce: 300,\r\n selectNoResultText: \"No results\",\r\n selectValidation: false,\r\n selectValidFeedback: \"Valid\",\r\n selectInvalidFeedback: \"Invalid\",\r\n selectPlaceholder: \"\",\r\n};\r\n\r\nconst DefaultType = {\r\n selectAutoSelect: \"boolean\",\r\n selectContainer: \"string\",\r\n selectClearButton: \"boolean\",\r\n disabled: \"boolean\",\r\n selectDisplayedLabels: \"number\",\r\n selectFormWhite: \"boolean\",\r\n multiple: \"boolean\",\r\n selectOptionsSelectedLabel: \"string\",\r\n selectOptionHeight: \"number\",\r\n selectAll: \"boolean\",\r\n selectAllLabel: \"string\",\r\n selectSearchPlaceholder: \"string\",\r\n selectSize: \"string\",\r\n selectVisibleOptions: \"number\",\r\n selectFilter: \"boolean\",\r\n selectFilterDebounce: \"number\",\r\n selectNoResultText: \"string\",\r\n selectValidation: \"boolean\",\r\n selectValidFeedback: \"string\",\r\n selectInvalidFeedback: \"string\",\r\n selectPlaceholder: \"string\",\r\n};\r\n\r\nconst DefaultClasses = {\r\n dropdown:\r\n \"relative outline-none min-w-[100px] m-0 scale-[0.8] opacity-0 bg-white shadow-[0_2px_5px_0_rgba(0,0,0,0.16),_0_2px_10px_0_rgba(0,0,0,0.12)] transition duration-200 motion-reduce:transition-none data-[te-select-open]:scale-100 data-[te-select-open]:opacity-100 dark:bg-zinc-700\",\r\n formCheckInput:\r\n \"relative float-left mt-[0.15rem] mr-[8px] h-[1.125rem] w-[1.125rem] appearance-none rounded-[0.25rem] border-[0.125rem] border-solid border-neutral-300 dark:border-neutral-600 outline-none before:pointer-events-none before:absolute before:h-[0.875rem] before:w-[0.875rem] before:scale-0 before:rounded-full before:bg-transparent before:opacity-0 before:shadow-[0px_0px_0px_13px_transparent] before:content-[''] checked:border-primary dark:checked:border-primary checked:bg-primary dark:checked:bg-primary checked:before:opacity-[0.16] checked:after:absolute checked:after:ml-[0.25rem] checked:after:-mt-px checked:after:block checked:after:h-[0.8125rem] checked:after:w-[0.375rem] checked:after:rotate-45 checked:after:border-[0.125rem] checked:after:border-t-0 checked:after:border-l-0 checked:after:border-solid checked:after:border-white checked:after:bg-transparent checked:after:content-[''] hover:cursor-pointer hover:before:opacity-[0.04] hover:before:shadow-[0px_0px_0px_13px_rgba(0,0,0,0.6)] focus:shadow-none focus:transition-[border-color_0.2s] focus:before:scale-100 focus:before:opacity-[0.12] focus:before:shadow-[0px_0px_0px_13px_rgba(0,0,0,0.6)] dark:focus:before:shadow-[0px_0px_0px_13px_rgba(255,255,255,0.4)] focus:before:transition-[box-shadow_0.2s,transform_0.2s] focus:after:absolute focus:after:z-[1] focus:after:block focus:after:h-[0.875rem] focus:after:w-[0.875rem] focus:after:rounded-[0.125rem] focus:after:content-[''] checked:focus:before:scale-100 checked:focus:before:shadow-[0px_0px_0px_13px_#3b71ca] dark:checked:focus:before:shadow-[0px_0px_0px_13px_#3b71ca] checked:focus:before:transition-[box-shadow_0.2s,transform_0.2s] checked:focus:after:ml-[0.25rem] checked:focus:after:-mt-px checked:focus:after:h-[0.8125rem] checked:focus:after:w-[0.375rem] checked:focus:after:rotate-45 checked:focus:after:rounded-none checked:focus:after:border-[0.125rem] checked:focus:after:border-t-0 checked:focus:after:border-l-0 checked:focus:after:border-solid checked:focus:after:border-white checked:focus:after:bg-transparent\",\r\n formOutline: \"relative\",\r\n initialized: \"hidden\",\r\n inputGroup:\r\n \"flex items-center whitespace-nowrap p-2.5 text-center text-base font-normal leading-[1.6] text-gray-700 dark:bg-zinc-800 dark:text-gray-200 dark:placeholder:text-gray-200\",\r\n noResult: \"flex items-center px-4\",\r\n optionsList: \"list-none m-0 p-0\",\r\n optionsWrapper: \"overflow-y-auto\",\r\n optionsWrapperScrollbar:\r\n \"[&::-webkit-scrollbar]:w-1 [&::-webkit-scrollbar]:h-1 [&::-webkit-scrollbar-button]:block [&::-webkit-scrollbar-button]:h-0 [&::-webkit-scrollbar-button]:bg-transparent [&::-webkit-scrollbar-track-piece]:bg-transparent [&::-webkit-scrollbar-track-piece]:rounded-none [&::-webkit-scrollbar-track-piece]: [&::-webkit-scrollbar-track-piece]:rounded-l [&::-webkit-scrollbar-thumb]:h-[50px] [&::-webkit-scrollbar-thumb]:bg-[#999] [&::-webkit-scrollbar-thumb]:rounded\",\r\n selectArrow:\r\n \"absolute right-3 text-[0.8rem] cursor-pointer peer-focus:text-primary peer-data-[te-input-focused]:text-primary group-data-[te-was-validated]/validation:peer-valid:text-green-600 group-data-[te-was-validated]/validation:peer-invalid:text-[rgb(220,76,100)] w-5 h-5\",\r\n selectArrowWhite:\r\n \"text-gray-50 peer-focus:!text-white peer-data-[te-input-focused]:!text-white\",\r\n selectArrowDefault: \"top-2\",\r\n selectArrowLg: \"top-[13px]\",\r\n selectArrowSm: \"top-1\",\r\n selectClearBtn:\r\n \"absolute top-2 right-9 text-black cursor-pointer focus:text-primary outline-none dark:text-gray-200\",\r\n selectClearBtnWhite: \"!text-gray-50\",\r\n selectClearBtnDefault: \"top-2 text-base\",\r\n selectClearBtnLg: \"top-[11px] text-base\",\r\n selectClearBtnSm: \"top-1 text-[0.8rem]\",\r\n selectDropdownContainer: \"z-[1070]\",\r\n selectFakeValue: \"transform-none hidden data-[te-input-state-active]:block\",\r\n selectFilterInput:\r\n \"relative m-0 block w-full min-w-0 flex-auto rounded border border-solid border-gray-300 bg-transparent bg-clip-padding px-3 py-1.5 text-base font-normal text-gray-700 transition duration-300 ease-in-out motion-reduce:transition-none focus:border-primary focus:text-gray-700 focus:shadow-te-primary focus:outline-none dark:text-gray-200 dark:placeholder:text-gray-200\",\r\n selectInput:\r\n \"peer block min-h-[auto] w-full rounded border-0 bg-transparent outline-none transition-all duration-200 ease-linear focus:placeholder:opacity-100 data-[te-input-state-active]:placeholder:opacity-100 motion-reduce:transition-none dark:text-gray-200 dark:placeholder:text-gray-200 [&:not([data-te-input-placeholder-active])]:placeholder:opacity-0 cursor-pointer data-[te-input-disabled]:bg-[#e9ecef] data-[te-input-disabled]:cursor-default group-data-[te-was-validated]/validation:mb-4 dark:data-[te-input-disabled]:bg-zinc-600\",\r\n selectInputWhite: \"!text-gray-50\",\r\n selectInputSizeDefault: \"py-[0.32rem] px-3 leading-[1.6]\",\r\n selectInputSizeLg: \"py-[0.32rem] px-3 leading-[2.15]\",\r\n selectInputSizeSm: \"py-[0.33rem] px-3 text-xs leading-[1.5]\",\r\n selectLabel:\r\n \"pointer-events-none absolute top-0 left-3 mb-0 max-w-[90%] origin-[0_0] truncate text-gray-500 transition-all duration-200 ease-out peer-focus:scale-[0.8] peer-focus:text-primary peer-data-[te-input-state-active]:scale-[0.8] motion-reduce:transition-none dark:text-gray-200 dark:peer-focus:text-gray-200 data-[te-input-state-active]:scale-[0.8] dark:peer-focus:text-primary\",\r\n selectLabelWhite: \"!text-gray-50\",\r\n selectLabelSizeDefault:\r\n \"pt-[0.37rem] leading-[1.6] peer-focus:-translate-y-[0.9rem] peer-data-[te-input-state-active]:-translate-y-[0.9rem] data-[te-input-state-active]:-translate-y-[0.9rem]\",\r\n selectLabelSizeLg:\r\n \"pt-[0.37rem] leading-[2.15] peer-focus:-translate-y-[1.15rem] peer-data-[te-input-state-active]:-translate-y-[1.15rem] data-[te-input-state-active]:-translate-y-[1.15rem]\",\r\n selectLabelSizeSm:\r\n \"pt-[0.37rem] text-xs leading-[1.5] peer-focus:-translate-y-[0.75rem] peer-data-[te-input-state-active]:-translate-y-[0.75rem] data-[te-input-state-active]:-translate-y-[0.75rem]\",\r\n selectOption:\r\n \"flex flex-row items-center justify-between w-full px-4 truncate text-gray-700 bg-transparent select-none cursor-pointer data-[te-input-multiple-active]:bg-black/5 hover:[&:not([data-te-select-option-disabled])]:bg-black/5 data-[te-input-state-active]:bg-black/5 data-[te-select-option-selected]:data-[te-input-state-active]:bg-black/5 data-[te-select-selected]:data-[te-select-option-disabled]:cursor-default data-[te-select-selected]:data-[te-select-option-disabled]:text-gray-400 data-[te-select-selected]:data-[te-select-option-disabled]:bg-transparent data-[te-select-option-selected]:bg-black/[0.02] data-[te-select-option-disabled]:text-gray-400 data-[te-select-option-disabled]:cursor-default group-data-[te-select-option-group-ref]/opt:pl-7 dark:text-gray-200 dark:hover:[&:not([data-te-select-option-disabled])]:bg-white/30 dark:data-[te-input-state-active]:bg-white/30 dark:data-[te-select-option-selected]:data-[te-input-state-active]:bg-white/30 dark:data-[te-select-option-disabled]:text-gray-400 dark:data-[te-input-multiple-active]:bg-white/30\",\r\n selectOptionGroup: \"group/opt\",\r\n selectOptionGroupLabel:\r\n \"flex flex-row items-center w-full px-4 truncate bg-transparent text-black/50 select-none dark:text-gray-300\",\r\n selectOptionIcon: \"w-7 h-7 rounded-full\",\r\n selectOptionSecondaryText:\r\n \"block text-[0.8rem] text-gray-500 dark:text-gray-300\",\r\n selectOptionText: \"group\",\r\n selectValidationValid:\r\n \"hidden absolute -mt-3 w-auto text-sm text-green-600 cursor-pointer group-data-[te-was-validated]/validation:peer-valid:block\",\r\n selectValidationInvalid:\r\n \"hidden absolute -mt-3 w-auto text-sm text-[rgb(220,76,100)] cursor-pointer group-data-[te-was-validated]/validation:peer-invalid:block\",\r\n};\r\n\r\nconst DefaultClassesType = {\r\n dropdown: \"string\",\r\n formCheckInput: \"string\",\r\n formOutline: \"string\",\r\n initialized: \"string\",\r\n inputGroup: \"string\",\r\n noResult: \"string\",\r\n optionsList: \"string\",\r\n optionsWrapper: \"string\",\r\n optionsWrapperScrollbar: \"string\",\r\n selectArrow: \"string\",\r\n selectArrowDefault: \"string\",\r\n selectArrowLg: \"string\",\r\n selectArrowSm: \"string\",\r\n selectClearBtn: \"string\",\r\n selectClearBtnDefault: \"string\",\r\n selectClearBtnLg: \"string\",\r\n selectClearBtnSm: \"string\",\r\n selectDropdownContainer: \"string\",\r\n selectFakeValue: \"string\",\r\n selectFilterInput: \"string\",\r\n selectInput: \"string\",\r\n selectInputSizeDefault: \"string\",\r\n selectInputSizeLg: \"string\",\r\n selectInputSizeSm: \"string\",\r\n selectLabel: \"string\",\r\n selectLabelSizeDefault: \"string\",\r\n selectLabelSizeLg: \"string\",\r\n selectLabelSizeSm: \"string\",\r\n selectOption: \"string\",\r\n selectOptionGroup: \"string\",\r\n selectOptionGroupLabel: \"string\",\r\n selectOptionIcon: \"string\",\r\n selectOptionSecondaryText: \"string\",\r\n selectOptionText: \"string\",\r\n};\r\n\r\nclass Select {\r\n constructor(element, config, classes) {\r\n this._element = element;\r\n this._config = this._getConfig(config);\r\n this._classes = this._getClasses(classes);\r\n\r\n if (this._config.selectPlaceholder && !this._config.multiple) {\r\n this._addPlaceholderOption();\r\n }\r\n\r\n this._optionsToRender = this._getOptionsToRender(element);\r\n\r\n // optionsToRender may contain option groups and nested options, in this case\r\n // we need a list of plain options to manage selections and keyboard navigation\r\n this._plainOptions = this._getPlainOptions(this._optionsToRender);\r\n this._filteredOptionsList = null;\r\n\r\n this._selectionModel = new SelectionModel(this.multiple);\r\n\r\n this._activeOptionIndex = -1;\r\n this._activeOption = null;\r\n\r\n this._wrapperId = getUID(\"select-wrapper-\");\r\n this._dropdownContainerId = getUID(\"select-dropdown-container-\");\r\n this._selectAllId = getUID(\"select-all-\");\r\n this._debounceTimeoutId = null;\r\n\r\n this._dropdownHeight =\r\n this._config.selectOptionHeight * this._config.selectVisibleOptions;\r\n\r\n this._popper = null;\r\n this._input = null;\r\n this._label = SelectorEngine.next(this._element, SELECTOR_LABEL)[0];\r\n this._notch = null;\r\n this._fakeValue = null;\r\n this._isFakeValueActive = false;\r\n\r\n this._customContent = SelectorEngine.next(\r\n element,\r\n SELECTOR_CUSTOM_CONTENT\r\n )[0];\r\n\r\n this._toggleButton = null;\r\n this._elementToggle = null;\r\n\r\n this._wrapper = null;\r\n this._inputEl = null;\r\n this._dropdownContainer = null;\r\n this._container = null;\r\n this._selectAllOption = null;\r\n\r\n this._init();\r\n\r\n this._mutationObserver = null;\r\n this._isOpen = false;\r\n\r\n this._addMutationObserver();\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n get filterInput() {\r\n return SelectorEngine.findOne(\r\n SELECTOR_FILTER_INPUT,\r\n this._dropdownContainer\r\n );\r\n }\r\n\r\n get dropdown() {\r\n return SelectorEngine.findOne(SELECTOR_DROPDOWN, this._dropdownContainer);\r\n }\r\n\r\n get optionsList() {\r\n return SelectorEngine.findOne(\r\n SELECTOR_OPTIONS_LIST,\r\n this._dropdownContainer\r\n );\r\n }\r\n\r\n get optionsWrapper() {\r\n return SelectorEngine.findOne(\r\n SELECTOR_OPTIONS_WRAPPER,\r\n this._dropdownContainer\r\n );\r\n }\r\n\r\n get clearButton() {\r\n return SelectorEngine.findOne(SELECTOR_CLEAR_BUTTON, this._wrapper);\r\n }\r\n\r\n get options() {\r\n return this._filteredOptionsList\r\n ? this._filteredOptionsList\r\n : this._plainOptions;\r\n }\r\n\r\n get value() {\r\n return this.multiple\r\n ? this._selectionModel.values\r\n : this._selectionModel.value;\r\n }\r\n\r\n get multiple() {\r\n return this._config.multiple;\r\n }\r\n\r\n get hasSelectAll() {\r\n return this.multiple && this._config.selectAll;\r\n }\r\n\r\n get hasSelection() {\r\n return (\r\n this._selectionModel.selection ||\r\n this._selectionModel.selections.length > 0\r\n );\r\n }\r\n\r\n _getConfig(config) {\r\n const dataAttributes = Manipulator.getDataAttributes(this._element);\r\n\r\n config = {\r\n ...Default,\r\n ...dataAttributes,\r\n ...config,\r\n };\r\n\r\n if (this._element.hasAttribute(\"multiple\")) {\r\n config.multiple = true;\r\n }\r\n\r\n if (this._element.hasAttribute(\"disabled\")) {\r\n config.disabled = true;\r\n }\r\n\r\n if (this._element.tabIndex) {\r\n config.tabIndex = this._element.getAttribute(\"tabIndex\");\r\n }\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n _getClasses(classes) {\r\n const dataAttributes = Manipulator.getDataClassAttributes(this._element);\r\n\r\n classes = {\r\n ...DefaultClasses,\r\n ...dataAttributes,\r\n ...classes,\r\n };\r\n\r\n typeCheckConfig(NAME, classes, DefaultClassesType);\r\n\r\n return classes;\r\n }\r\n\r\n _addPlaceholderOption() {\r\n const placeholderOption = new Option(\"\", \"\", true, true);\r\n placeholderOption.hidden = true;\r\n placeholderOption.selected = true;\r\n\r\n this._element.prepend(placeholderOption);\r\n }\r\n\r\n _getOptionsToRender(select) {\r\n const options = [];\r\n\r\n const nodes = select.childNodes;\r\n\r\n nodes.forEach((node) => {\r\n if (node.nodeName === \"OPTGROUP\") {\r\n const optionGroup = {\r\n id: getUID(\"group-\"),\r\n label: node.label,\r\n disabled: node.hasAttribute(\"disabled\"),\r\n hidden: node.hasAttribute(\"hidden\"),\r\n options: [],\r\n };\r\n const groupOptions = node.childNodes;\r\n groupOptions.forEach((option) => {\r\n if (option.nodeName === \"OPTION\") {\r\n optionGroup.options.push(\r\n this._createOptionObject(option, optionGroup)\r\n );\r\n }\r\n });\r\n options.push(optionGroup);\r\n } else if (node.nodeName === \"OPTION\") {\r\n options.push(this._createOptionObject(node));\r\n }\r\n });\r\n return options;\r\n }\r\n\r\n _getPlainOptions(optionsToRender) {\r\n const hasOptionGroup = SelectorEngine.findOne(\"optgroup\", this._element);\r\n\r\n if (!hasOptionGroup) {\r\n return optionsToRender;\r\n }\r\n\r\n const options = [];\r\n\r\n optionsToRender.forEach((option) => {\r\n const isOptionGroup = Object.prototype.hasOwnProperty.call(\r\n option,\r\n \"options\"\r\n );\r\n\r\n if (isOptionGroup) {\r\n option.options.forEach((nestedOption) => {\r\n options.push(nestedOption);\r\n });\r\n } else {\r\n options.push(option);\r\n }\r\n });\r\n\r\n return options;\r\n }\r\n\r\n _createOptionObject(nativeOption, group = {}) {\r\n const id = getUID(\"option-\");\r\n const groupId = group.id ? group.id : null;\r\n const groupDisabled = group.disabled ? group.disabled : false;\r\n const selected =\r\n nativeOption.selected || nativeOption.hasAttribute(DATA_SELECTED);\r\n const disabled = nativeOption.hasAttribute(\"disabled\") || groupDisabled;\r\n const hidden =\r\n nativeOption.hasAttribute(\"hidden\") || (group && group.hidden);\r\n const multiple = this.multiple;\r\n const value = nativeOption.value;\r\n const label = nativeOption.label;\r\n const secondaryText = Manipulator.getDataAttribute(\r\n nativeOption,\r\n \"selectSecondaryText\"\r\n );\r\n const icon = Manipulator.getDataAttribute(nativeOption, \"select-icon\");\r\n return new SelectOption(\r\n id,\r\n nativeOption,\r\n multiple,\r\n value,\r\n label,\r\n selected,\r\n disabled,\r\n hidden,\r\n secondaryText,\r\n groupId,\r\n icon\r\n );\r\n }\r\n\r\n _getNavigationOptions() {\r\n const availableOptions = this.options.filter((option) => !option.hidden);\r\n\r\n return this.hasSelectAll\r\n ? [this._selectAllOption, ...availableOptions]\r\n : availableOptions;\r\n }\r\n\r\n _init() {\r\n this._renderMaterialWrapper();\r\n\r\n this._wrapper = SelectorEngine.findOne(`#${this._wrapperId}`);\r\n this._input = SelectorEngine.findOne(SELECTOR_INPUT, this._wrapper);\r\n this._config.disabled && this._input.setAttribute(DATA_DISABLED, \"\");\r\n\r\n const containerSelector = this._config.selectContainer;\r\n\r\n if (containerSelector === \"body\") {\r\n this._container = document.body;\r\n } else {\r\n this._container = SelectorEngine.findOne(containerSelector);\r\n }\r\n\r\n this._initOutlineInput();\r\n this._setDefaultSelections();\r\n this._updateInputValue();\r\n this._appendFakeValue();\r\n this._updateFakeLabelPosition();\r\n this._updateLabelPosition();\r\n this._updateClearButtonVisibility();\r\n\r\n this._bindComponentEvents();\r\n\r\n if (this.hasSelectAll) {\r\n this._selectAllOption = this._createSelectAllOption();\r\n }\r\n\r\n this._dropdownContainer = getDropdownTemplate(\r\n this._dropdownContainerId,\r\n this._config,\r\n this._input.offsetWidth,\r\n this._dropdownHeight,\r\n this._selectAllOption,\r\n this._optionsToRender,\r\n this._customContent,\r\n this._classes\r\n );\r\n\r\n this._setFirstActiveOption();\r\n this._listenToFocusChange();\r\n }\r\n\r\n _renderMaterialWrapper() {\r\n const template = getWrapperTemplate(\r\n this._wrapperId,\r\n this._config,\r\n this._label,\r\n this._classes,\r\n this._element.name\r\n );\r\n this._element.parentNode.insertBefore(template, this._element);\r\n Manipulator.addClass(this._element, this._classes.initialized);\r\n template.appendChild(this._element);\r\n }\r\n\r\n _initOutlineInput() {\r\n const inputWrapper = SelectorEngine.findOne(\r\n SELECTOR_FORM_OUTLINE,\r\n this._wrapper\r\n );\r\n const outlineInput = new Input(\r\n inputWrapper,\r\n {\r\n inputFormWhite: this._config.selectFormWhite,\r\n },\r\n this._classes\r\n );\r\n outlineInput.init();\r\n this._notch = SelectorEngine.findOne(SELECTOR_NOTCH, this._wrapper);\r\n }\r\n\r\n _bindComponentEvents() {\r\n this._listenToComponentKeydown();\r\n this._listenToWrapperClick();\r\n this._listenToClearBtnClick();\r\n this._listenToClearBtnKeydown();\r\n }\r\n\r\n _setDefaultSelections() {\r\n this.options.forEach((option) => {\r\n if (option.selected) {\r\n this._selectionModel.select(option);\r\n }\r\n });\r\n }\r\n\r\n _listenToComponentKeydown() {\r\n EventHandler.on(this._wrapper, \"keydown\", this._handleKeydown.bind(this));\r\n }\r\n\r\n _handleKeydown(event) {\r\n if (this._isOpen && !this._config.selectFilter) {\r\n this._handleOpenKeydown(event);\r\n } else {\r\n this._handleClosedKeydown(event);\r\n }\r\n }\r\n\r\n _handleOpenKeydown(event) {\r\n const key = event.keyCode;\r\n const isCloseKey =\r\n key === ESCAPE || (key === UP_ARROW && event.altKey) || key === TAB;\r\n\r\n if (key === TAB && this._config.selectAutoSelect && !this.multiple) {\r\n this._handleAutoSelection(this._activeOption);\r\n }\r\n\r\n if (isCloseKey) {\r\n this.close();\r\n this._input.focus();\r\n return;\r\n }\r\n\r\n switch (key) {\r\n case DOWN_ARROW:\r\n this._setNextOptionActive();\r\n this._scrollToOption(this._activeOption);\r\n break;\r\n case UP_ARROW:\r\n this._setPreviousOptionActive();\r\n this._scrollToOption(this._activeOption);\r\n break;\r\n case HOME:\r\n this._setFirstOptionActive();\r\n this._scrollToOption(this._activeOption);\r\n break;\r\n case END:\r\n this._setLastOptionActive();\r\n this._scrollToOption(this._activeOption);\r\n break;\r\n case ENTER:\r\n event.preventDefault();\r\n if (this._activeOption) {\r\n if (this.hasSelectAll && this._activeOptionIndex === 0) {\r\n this._handleSelectAll();\r\n } else {\r\n this._handleSelection(this._activeOption);\r\n }\r\n }\r\n return;\r\n default:\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n }\r\n\r\n _handleClosedKeydown(event) {\r\n const key = event.keyCode;\r\n if (key === ENTER) {\r\n event.preventDefault();\r\n }\r\n const isOpenKey =\r\n key === ENTER ||\r\n (key === DOWN_ARROW && event.altKey) ||\r\n (key === DOWN_ARROW && this.multiple);\r\n\r\n if (isOpenKey) {\r\n this.open();\r\n }\r\n\r\n if (!this.multiple) {\r\n switch (key) {\r\n case DOWN_ARROW:\r\n this._setNextOptionActive();\r\n this._handleSelection(this._activeOption);\r\n break;\r\n case UP_ARROW:\r\n this._setPreviousOptionActive();\r\n this._handleSelection(this._activeOption);\r\n break;\r\n case HOME:\r\n this._setFirstOptionActive();\r\n this._handleSelection(this._activeOption);\r\n break;\r\n case END:\r\n this._setLastOptionActive();\r\n this._handleSelection(this._activeOption);\r\n break;\r\n default:\r\n return;\r\n }\r\n } else {\r\n switch (key) {\r\n case DOWN_ARROW:\r\n this.open();\r\n break;\r\n case UP_ARROW:\r\n this.open();\r\n break;\r\n default:\r\n return;\r\n }\r\n }\r\n\r\n event.preventDefault();\r\n }\r\n\r\n _scrollToOption(option) {\r\n if (!option) {\r\n return;\r\n }\r\n\r\n let optionIndex;\r\n\r\n const visibleOptions = this.options.filter((option) => !option.hidden);\r\n\r\n if (this.hasSelectAll) {\r\n optionIndex = visibleOptions.indexOf(option) + 1;\r\n } else {\r\n optionIndex = visibleOptions.indexOf(option);\r\n }\r\n\r\n const groupsNumber = this._getNumberOfGroupsBeforeOption(optionIndex);\r\n\r\n const scrollToIndex = optionIndex + groupsNumber;\r\n\r\n const list = this.optionsWrapper;\r\n const listHeight = list.offsetHeight;\r\n const optionHeight = this._config.selectOptionHeight;\r\n const scrollTop = list.scrollTop;\r\n\r\n if (optionIndex > -1) {\r\n const optionOffset = scrollToIndex * optionHeight;\r\n const isBelow = optionOffset + optionHeight > scrollTop + listHeight;\r\n const isAbove = optionOffset < scrollTop;\r\n\r\n if (isAbove) {\r\n list.scrollTop = optionOffset;\r\n } else if (isBelow) {\r\n list.scrollTop = optionOffset - listHeight + optionHeight;\r\n } else {\r\n list.scrollTop = scrollTop;\r\n }\r\n }\r\n }\r\n\r\n _getNumberOfGroupsBeforeOption(optionIndex) {\r\n const optionsList = this.options.filter((option) => !option.hidden);\r\n const groupsList = this._optionsToRender.filter((group) => !group.hidden);\r\n const index = this.hasSelectAll ? optionIndex - 1 : optionIndex;\r\n let groupsNumber = 0;\r\n\r\n for (let i = 0; i <= index; i++) {\r\n if (\r\n optionsList[i].groupId &&\r\n groupsList[groupsNumber] &&\r\n groupsList[groupsNumber].id &&\r\n optionsList[i].groupId === groupsList[groupsNumber].id\r\n ) {\r\n groupsNumber++;\r\n }\r\n }\r\n\r\n return groupsNumber;\r\n }\r\n\r\n _setNextOptionActive() {\r\n let index = this._activeOptionIndex + 1;\r\n const options = this._getNavigationOptions();\r\n\r\n if (!options[index]) {\r\n return;\r\n }\r\n\r\n while (options[index].disabled) {\r\n index += 1;\r\n\r\n if (!options[index]) {\r\n return;\r\n }\r\n }\r\n\r\n this._updateActiveOption(options[index], index);\r\n }\r\n\r\n _setPreviousOptionActive() {\r\n let index = this._activeOptionIndex - 1;\r\n const options = this._getNavigationOptions();\r\n\r\n if (!options[index]) {\r\n return;\r\n }\r\n\r\n while (options[index].disabled) {\r\n index -= 1;\r\n\r\n if (!options[index]) {\r\n return;\r\n }\r\n }\r\n\r\n this._updateActiveOption(options[index], index);\r\n }\r\n\r\n _setFirstOptionActive() {\r\n const index = 0;\r\n const options = this._getNavigationOptions();\r\n\r\n this._updateActiveOption(options[index], index);\r\n }\r\n\r\n _setLastOptionActive() {\r\n const options = this._getNavigationOptions();\r\n const index = options.length - 1;\r\n\r\n this._updateActiveOption(options[index], index);\r\n }\r\n\r\n _updateActiveOption(newActiveOption, index) {\r\n const currentActiveOption = this._activeOption;\r\n\r\n if (currentActiveOption) {\r\n currentActiveOption.removeActiveStyles();\r\n }\r\n\r\n newActiveOption.setActiveStyles();\r\n this._activeOptionIndex = index;\r\n this._activeOption = newActiveOption;\r\n }\r\n\r\n _listenToWrapperClick() {\r\n EventHandler.on(this._wrapper, \"click\", () => {\r\n this.toggle();\r\n });\r\n }\r\n\r\n _listenToClearBtnClick() {\r\n EventHandler.on(this.clearButton, \"click\", (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this._handleClear();\r\n });\r\n }\r\n\r\n _listenToClearBtnKeydown() {\r\n EventHandler.on(this.clearButton, \"keydown\", (event) => {\r\n if (event.keyCode === ENTER) {\r\n this._handleClear();\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n });\r\n }\r\n\r\n _handleClear() {\r\n if (this.multiple) {\r\n this._selectionModel.clear();\r\n this._deselectAllOptions(this.options);\r\n\r\n if (this.hasSelectAll) {\r\n this._updateSelectAllState();\r\n }\r\n } else {\r\n const selected = this._selectionModel.selection;\r\n this._selectionModel.clear();\r\n selected.deselect();\r\n }\r\n this._fakeValue.innerHTML = \"\";\r\n this._updateInputValue();\r\n this._updateFakeLabelPosition();\r\n this._updateLabelPosition();\r\n this._updateClearButtonVisibility();\r\n\r\n this._emitValueChangeEvent(null);\r\n this._emitNativeChangeEvent();\r\n }\r\n\r\n _listenToOptionsClick() {\r\n EventHandler.on(this.optionsWrapper, \"click\", (event) => {\r\n const optionGroupLabel = event.target.hasAttribute(\r\n DATA_SELECT_OPTION_GROUP_LABEL\r\n );\r\n\r\n if (optionGroupLabel) {\r\n return;\r\n }\r\n\r\n const target =\r\n event.target.nodeName === \"DIV\"\r\n ? event.target\r\n : SelectorEngine.closest(event.target, SELECTOR_OPTION);\r\n\r\n const selectAllOption = target.hasAttribute(DATA_OPTION_ALL);\r\n\r\n if (selectAllOption) {\r\n this._handleSelectAll();\r\n return;\r\n }\r\n\r\n const id = target.dataset.teId;\r\n const option = this.options.find((option) => option.id === id);\r\n\r\n if (option && !option.disabled) {\r\n this._handleSelection(option);\r\n }\r\n });\r\n }\r\n\r\n _handleSelectAll() {\r\n const selected = this._selectAllOption.selected;\r\n\r\n if (selected) {\r\n this._deselectAllOptions(this.options);\r\n this._selectAllOption.deselect();\r\n } else {\r\n this._selectAllOptions(this.options);\r\n this._selectAllOption.select();\r\n }\r\n\r\n this._updateInputValue();\r\n this._updateFakeLabelPosition();\r\n this._updateLabelPosition();\r\n this._updateClearButtonVisibility();\r\n\r\n this._emitValueChangeEvent(this.value);\r\n this._emitNativeChangeEvent();\r\n }\r\n\r\n _selectAllOptions(options) {\r\n options.forEach((option) => {\r\n if (!option.selected && !option.disabled) {\r\n this._selectionModel.select(option);\r\n option.select();\r\n }\r\n });\r\n }\r\n\r\n _deselectAllOptions(options) {\r\n options.forEach((option) => {\r\n if (option.selected && !option.disabled) {\r\n this._selectionModel.deselect(option);\r\n option.deselect();\r\n }\r\n });\r\n }\r\n\r\n _handleSelection(option) {\r\n if (this.multiple) {\r\n this._handleMultiSelection(option);\r\n\r\n if (this.hasSelectAll) {\r\n this._updateSelectAllState();\r\n }\r\n } else {\r\n this._handleSingleSelection(option);\r\n }\r\n\r\n this._updateInputValue();\r\n this._updateFakeLabelPosition();\r\n this._updateLabelPosition();\r\n this._updateClearButtonVisibility();\r\n }\r\n\r\n _handleAutoSelection(option) {\r\n this._singleOptionSelect(option);\r\n this._updateInputValue();\r\n this._updateFakeLabelPosition();\r\n this._updateLabelPosition();\r\n this._updateClearButtonVisibility();\r\n }\r\n\r\n _handleSingleSelection(option) {\r\n this._singleOptionSelect(option);\r\n this.close();\r\n this._input.focus();\r\n }\r\n\r\n _singleOptionSelect(option) {\r\n const currentSelected = this._selectionModel.selections[0];\r\n\r\n if (currentSelected && currentSelected !== option) {\r\n this._selectionModel.deselect(currentSelected);\r\n currentSelected.deselect();\r\n currentSelected.node.setAttribute(DATA_SELECTED, false);\r\n EventHandler.trigger(this._element, EVENT_DESELECT, {\r\n value: currentSelected.value,\r\n });\r\n }\r\n\r\n if (!currentSelected || (currentSelected && option !== currentSelected)) {\r\n this._selectionModel.select(option);\r\n option.select();\r\n option.node.setAttribute(DATA_SELECTED, true);\r\n EventHandler.trigger(this._element, EVENT_SELECT, {\r\n value: option.value,\r\n });\r\n this._emitValueChangeEvent(this.value);\r\n this._emitNativeChangeEvent();\r\n }\r\n }\r\n\r\n _handleMultiSelection(option) {\r\n if (option.selected) {\r\n this._selectionModel.deselect(option);\r\n option.deselect();\r\n option.node.setAttribute(DATA_SELECTED, false);\r\n EventHandler.trigger(this._element, EVENT_DESELECT, {\r\n value: option.value,\r\n });\r\n } else {\r\n this._selectionModel.select(option);\r\n option.select();\r\n option.node.setAttribute(DATA_SELECTED, true);\r\n EventHandler.trigger(this._element, EVENT_SELECT, {\r\n value: option.value,\r\n });\r\n }\r\n\r\n this._emitValueChangeEvent(this.value);\r\n this._emitNativeChangeEvent();\r\n }\r\n\r\n _emitValueChangeEvent(value) {\r\n EventHandler.trigger(this._element, EVENT_VALUE_CHANGE, { value });\r\n }\r\n\r\n _emitNativeChangeEvent() {\r\n EventHandler.trigger(this._element, EVENT_CHANGE);\r\n }\r\n\r\n _updateInputValue() {\r\n const labels = this.multiple\r\n ? this._selectionModel.labels\r\n : this._selectionModel.label;\r\n let value;\r\n\r\n if (\r\n this.multiple &&\r\n this._config.selectDisplayedLabels !== -1 &&\r\n this._selectionModel.selections.length >\r\n this._config.selectDisplayedLabels\r\n ) {\r\n value = `${this._selectionModel.selections.length} ${this._config.selectOptionsSelectedLabel}`;\r\n } else {\r\n value = labels;\r\n }\r\n\r\n if (\r\n !this.multiple &&\r\n !this._isSelectionValid(this._selectionModel.selection)\r\n ) {\r\n this._input.value = \"\";\r\n } else if (this._isLabelEmpty(this._selectionModel.selection)) {\r\n this._input.value = \" \";\r\n } else if (value) {\r\n this._input.value = value;\r\n } else {\r\n // prettier-ignore\r\n // eslint-disable-next-line\r\n this.multiple || !this._optionsToRender[0] ? (this._input.value = '') : (this._input.value = this._optionsToRender[0].label);\r\n }\r\n }\r\n\r\n _isSelectionValid(selection) {\r\n if (selection && (selection.disabled || selection.value === \"\")) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n _isLabelEmpty(selection) {\r\n if (selection && selection.label === \"\") {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n _appendFakeValue() {\r\n if (!this._selectionModel.selection || this._selectionModel._multiple) {\r\n return;\r\n }\r\n\r\n const value = this._selectionModel.selection.label;\r\n this._fakeValue = getFakeValueTemplate(value, this._classes);\r\n const inputWrapper = SelectorEngine.findOne(\r\n SELECTOR_FORM_OUTLINE,\r\n this._wrapper\r\n );\r\n inputWrapper.appendChild(this._fakeValue);\r\n }\r\n\r\n _updateLabelPosition() {\r\n const isInitialized = this._element.hasAttribute(DATA_SELECT_INIT);\r\n\r\n const isValueEmpty = this._input.value !== \"\";\r\n if (!this._label) {\r\n return;\r\n }\r\n\r\n if (\r\n isInitialized &&\r\n (isValueEmpty || this._isOpen || this._isFakeValueActive)\r\n ) {\r\n this._label.setAttribute(DATA_ACTIVE, \"\");\r\n this._notch.setAttribute(DATA_ACTIVE, \"\");\r\n } else {\r\n this._label.removeAttribute(DATA_ACTIVE);\r\n this._notch.removeAttribute(DATA_ACTIVE, \"\");\r\n }\r\n }\r\n\r\n _updateLabelPositionWhileClosing() {\r\n if (!this._label) {\r\n return;\r\n }\r\n\r\n if (this._input.value !== \"\" || this._isFakeValueActive) {\r\n this._label.setAttribute(DATA_ACTIVE, \"\");\r\n this._notch.setAttribute(DATA_ACTIVE, \"\");\r\n } else {\r\n this._label.removeAttribute(DATA_ACTIVE);\r\n this._notch.removeAttribute(DATA_ACTIVE);\r\n }\r\n }\r\n\r\n _updateFakeLabelPosition() {\r\n if (!this._fakeValue) {\r\n return;\r\n }\r\n\r\n if (\r\n this._input.value === \"\" &&\r\n this._fakeValue.innerHTML !== \"\" &&\r\n !this._config.selectPlaceholder\r\n ) {\r\n this._isFakeValueActive = true;\r\n this._fakeValue.setAttribute(DATA_ACTIVE, \"\");\r\n } else {\r\n this._isFakeValueActive = false;\r\n this._fakeValue.removeAttribute(DATA_ACTIVE);\r\n }\r\n }\r\n\r\n _updateClearButtonVisibility() {\r\n if (!this.clearButton) {\r\n return;\r\n }\r\n\r\n const hasSelection =\r\n this._selectionModel.selection ||\r\n this._selectionModel.selections.length > 0;\r\n\r\n if (hasSelection) {\r\n Manipulator.addStyle(this.clearButton, { display: \"block\" });\r\n } else {\r\n Manipulator.addStyle(this.clearButton, { display: \"none\" });\r\n }\r\n }\r\n\r\n _updateSelectAllState() {\r\n const selectAllSelected = this._selectAllOption.selected;\r\n const allSelected = allOptionsSelected(this.options);\r\n if (!allSelected && selectAllSelected) {\r\n this._selectAllOption.deselect();\r\n } else if (allSelected && !selectAllSelected) {\r\n this._selectAllOption.select();\r\n }\r\n }\r\n\r\n toggle() {\r\n if (this._isOpen) {\r\n this.close();\r\n } else {\r\n this.open();\r\n }\r\n }\r\n\r\n open() {\r\n const isDisabled = this._config.disabled;\r\n const openEvent = EventHandler.trigger(this._element, EVENT_OPEN);\r\n\r\n if (this._isOpen || isDisabled || openEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._openDropdown();\r\n this._updateDropdownWidth();\r\n this._setFirstActiveOption();\r\n this._scrollToOption(this._activeOption);\r\n\r\n if (this._config.selectFilter) {\r\n // We need to wait for popper initialization, otherwise\r\n // dates container will be focused before popper position\r\n // update which can change the scroll position on the page\r\n setTimeout(() => {\r\n this.filterInput.focus();\r\n }, 0);\r\n\r\n this._listenToSelectSearch();\r\n\r\n // New listener for dropdown navigation is needed, because\r\n // we focus search input inside dropdown template, wchich is\r\n // appended to the body. In this case listener attached to the\r\n // select wrapper won't work\r\n this._listenToDropdownKeydown();\r\n }\r\n\r\n this._listenToOptionsClick();\r\n this._listenToOutsideClick();\r\n this._listenToWindowResize();\r\n\r\n this._isOpen = true;\r\n\r\n this._updateLabelPosition();\r\n this._setInputActiveStyles();\r\n }\r\n\r\n _openDropdown() {\r\n this._popper = createPopper(this._input, this._dropdownContainer, {\r\n placement: \"bottom-start\",\r\n modifiers: [\r\n {\r\n name: \"offset\",\r\n options: {\r\n offset: [0, 1],\r\n },\r\n },\r\n ],\r\n });\r\n this._container.appendChild(this._dropdownContainer);\r\n\r\n // We need to add delay to wait for the popper initialization\r\n // and position update\r\n setTimeout(() => {\r\n this.dropdown.setAttribute(DATA_OPEN, \"\");\r\n }, 0);\r\n }\r\n\r\n _updateDropdownWidth() {\r\n const inputWidth = this._input.offsetWidth;\r\n Manipulator.addStyle(this._dropdownContainer, { width: `${inputWidth}px` });\r\n }\r\n\r\n _setFirstActiveOption() {\r\n const options = this._getNavigationOptions();\r\n const currentActive = this._activeOption;\r\n\r\n if (currentActive) {\r\n currentActive.removeActiveStyles();\r\n }\r\n\r\n const firstSelected = this.multiple\r\n ? this._selectionModel.selections[0]\r\n : this._selectionModel.selection;\r\n\r\n if (firstSelected) {\r\n this._activeOption = firstSelected;\r\n firstSelected.setActiveStyles();\r\n this._activeOptionIndex = options.findIndex(\r\n (option) => option === firstSelected\r\n );\r\n } else {\r\n this._activeOption = null;\r\n this._activeOptionIndex = -1;\r\n }\r\n }\r\n\r\n _setInputActiveStyles() {\r\n this._input.setAttribute(DATA_FOCUSED, \"\");\r\n SelectorEngine.findOne(SELECTOR_NOTCH, this._wrapper).setAttribute(\r\n DATA_FOCUSED,\r\n \"\"\r\n );\r\n }\r\n\r\n _listenToWindowResize() {\r\n EventHandler.on(window, \"resize\", this._handleWindowResize.bind(this));\r\n }\r\n\r\n _handleWindowResize() {\r\n if (this._dropdownContainer) {\r\n this._updateDropdownWidth();\r\n }\r\n }\r\n\r\n _listenToSelectSearch() {\r\n this.filterInput.addEventListener(\"input\", (event) => {\r\n const searchTerm = event.target.value;\r\n const debounceTime = this._config.selectFilterDebounce;\r\n this._debounceFilter(searchTerm, debounceTime);\r\n });\r\n }\r\n\r\n _debounceFilter(searchTerm, debounceTime) {\r\n if (this._debounceTimeoutId) {\r\n clearTimeout(this._debounceTimeoutId);\r\n }\r\n\r\n this._debounceTimeoutId = setTimeout(() => {\r\n this._filterOptions(searchTerm);\r\n }, debounceTime);\r\n }\r\n\r\n _filterOptions(searchTerm) {\r\n const filtered = [];\r\n\r\n this._optionsToRender.forEach((option) => {\r\n const isOptionGroup = Object.prototype.hasOwnProperty.call(\r\n option,\r\n \"options\"\r\n );\r\n\r\n const isValidOption =\r\n !isOptionGroup &&\r\n option.label.toLowerCase().includes(searchTerm.toLowerCase());\r\n const group = {};\r\n\r\n if (isOptionGroup) {\r\n group.label = option.label;\r\n group.options = this._filter(searchTerm, option.options);\r\n\r\n if (group.options.length > 0) {\r\n filtered.push(group);\r\n }\r\n }\r\n\r\n if (isValidOption) {\r\n filtered.push(option);\r\n }\r\n });\r\n\r\n const hasNoResultsText = this._config.selectNoResultText !== \"\";\r\n const hasFilteredOptions = filtered.length !== 0;\r\n\r\n if (hasFilteredOptions) {\r\n this._updateOptionsListTemplate(filtered);\r\n this._popper.forceUpdate();\r\n this._filteredOptionsList = this._getPlainOptions(filtered);\r\n\r\n if (this.hasSelectAll) {\r\n this._updateSelectAllState();\r\n }\r\n\r\n this._setFirstActiveOption();\r\n } else if (!hasFilteredOptions && hasNoResultsText) {\r\n const noResultsTemplate = this._getNoResultTemplate();\r\n this.optionsWrapper.innerHTML = noResultsTemplate;\r\n }\r\n }\r\n\r\n _updateOptionsListTemplate(optionsToRender) {\r\n const optionsWrapperContent =\r\n SelectorEngine.findOne(SELECTOR_OPTIONS_LIST, this._dropdownContainer) ||\r\n SelectorEngine.findOne(SELECTOR_NO_RESULTS, this._dropdownContainer);\r\n\r\n const optionsListTemplate = getOptionsListTemplate(\r\n optionsToRender,\r\n this._selectAllOption,\r\n this._config,\r\n this._classes\r\n );\r\n\r\n this.optionsWrapper.removeChild(optionsWrapperContent);\r\n this.optionsWrapper.appendChild(optionsListTemplate);\r\n }\r\n\r\n _getNoResultTemplate() {\r\n return `
${this._config.selectNoResultText}
`;\r\n }\r\n\r\n _filter(value, options) {\r\n const filterValue = value.toLowerCase();\r\n return options.filter((option) =>\r\n option.label.toLowerCase().includes(filterValue)\r\n );\r\n }\r\n\r\n _listenToDropdownKeydown() {\r\n EventHandler.on(\r\n this.dropdown,\r\n \"keydown\",\r\n this._handleOpenKeydown.bind(this)\r\n );\r\n }\r\n\r\n _listenToOutsideClick() {\r\n this._outsideClick = this._handleOutSideClick.bind(this);\r\n EventHandler.on(document, \"click\", this._outsideClick);\r\n }\r\n\r\n _listenToFocusChange(add = true) {\r\n if (add === false) {\r\n EventHandler.off(this._input, \"focus\", () =>\r\n this._notch.setAttribute(DATA_FOCUSED, \"\")\r\n );\r\n\r\n EventHandler.off(this._input, \"blur\", () =>\r\n this._notch.removeAttribute(DATA_FOCUSED)\r\n );\r\n return;\r\n }\r\n EventHandler.on(this._input, \"focus\", () =>\r\n this._notch.setAttribute(DATA_FOCUSED, \"\")\r\n );\r\n\r\n EventHandler.on(this._input, \"blur\", () =>\r\n this._notch.removeAttribute(DATA_FOCUSED)\r\n );\r\n }\r\n\r\n _handleOutSideClick(event) {\r\n const isSelectContent =\r\n this._wrapper && this._wrapper.contains(event.target);\r\n const isDropdown = event.target === this._dropdownContainer;\r\n const isDropdownContent =\r\n this._dropdownContainer && this._dropdownContainer.contains(event.target);\r\n\r\n let isButton;\r\n if (!this._toggleButton) {\r\n this._elementToggle = SelectorEngine.find(SELECTOR_TOGGLE);\r\n }\r\n if (this._elementToggle) {\r\n this._elementToggle.forEach((button) => {\r\n const attributes = Manipulator.getDataAttribute(\r\n button,\r\n \"select-toggle\"\r\n );\r\n if (\r\n attributes === this._element.id ||\r\n this._element.classList.contains(attributes)\r\n ) {\r\n this._toggleButton = button;\r\n isButton = this._toggleButton.contains(event.target);\r\n }\r\n });\r\n }\r\n\r\n if (!isSelectContent && !isDropdown && !isDropdownContent && !isButton) {\r\n this.close();\r\n }\r\n }\r\n\r\n close() {\r\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE);\r\n\r\n if (!this._isOpen || closeEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n if (this._config.selectFilter && this.hasSelectAll) {\r\n this._resetFilterState();\r\n this._updateOptionsListTemplate(this._optionsToRender);\r\n if (this._config.multiple) {\r\n this._updateSelectAllState();\r\n }\r\n }\r\n\r\n this._removeDropdownEvents();\r\n\r\n this.dropdown.removeAttribute(DATA_OPEN);\r\n\r\n setTimeout(() => {\r\n this._input.removeAttribute(DATA_FOCUSED);\r\n this._input.blur();\r\n\r\n SelectorEngine.findOne(SELECTOR_NOTCH, this._wrapper).removeAttribute(\r\n DATA_FOCUSED\r\n );\r\n if (this._label && !this.hasSelection) {\r\n this._label.removeAttribute(DATA_ACTIVE);\r\n this._notch.setAttribute(DATA_ACTIVE, \"\");\r\n\r\n this._input.removeAttribute(DATA_ACTIVE);\r\n this._notch.removeAttribute(DATA_ACTIVE);\r\n }\r\n this._updateLabelPositionWhileClosing();\r\n }, 0);\r\n\r\n setTimeout(() => {\r\n if (\r\n this._container &&\r\n this._dropdownContainer.parentNode === this._container\r\n ) {\r\n this._container.removeChild(this._dropdownContainer);\r\n }\r\n this._popper.destroy();\r\n this._isOpen = false;\r\n EventHandler.off(this.dropdown, \"transitionend\");\r\n }, ANIMATION_TRANSITION_TIME);\r\n }\r\n\r\n _resetFilterState() {\r\n this.filterInput.value = \"\";\r\n this._filteredOptionsList = null;\r\n }\r\n\r\n _removeDropdownEvents() {\r\n EventHandler.off(document, \"click\", this._outsideClick);\r\n\r\n if (this._config.selectFilter) {\r\n EventHandler.off(this.dropdown, \"keydown\");\r\n }\r\n\r\n EventHandler.off(this.optionsWrapper, \"click\");\r\n }\r\n\r\n _addMutationObserver() {\r\n this._mutationObserver = new MutationObserver(() => {\r\n if (this._wrapper) {\r\n this._updateSelections();\r\n this._updateDisabledState();\r\n }\r\n });\r\n\r\n this._observeMutationObserver();\r\n }\r\n\r\n _updateSelections() {\r\n this._optionsToRender = this._getOptionsToRender(this._element);\r\n this._plainOptions = this._getPlainOptions(this._optionsToRender);\r\n this._selectionModel.clear();\r\n this._setDefaultSelections();\r\n this._updateInputValue();\r\n this._updateFakeLabelPosition();\r\n this._updateLabelPosition();\r\n this._updateClearButtonVisibility();\r\n\r\n if (this.hasSelectAll) {\r\n this._updateSelectAllState();\r\n }\r\n\r\n const hasFilterValue =\r\n this._config.filter && this.filterInput && this.filterInput.value;\r\n\r\n if (this._isOpen && !hasFilterValue) {\r\n this._updateOptionsListTemplate(this._optionsToRender);\r\n this._setFirstActiveOption();\r\n } else if (this._isOpen && hasFilterValue) {\r\n this._filterOptions(this.filterInput.value);\r\n this._setFirstActiveOption();\r\n } else {\r\n this._dropdownContainer = getDropdownTemplate(\r\n this._dropdownContainerId,\r\n this._config,\r\n this._input.offsetWidth,\r\n this._dropdownHeight,\r\n this._selectAllOption,\r\n this._optionsToRender,\r\n this._customContent,\r\n this._classes\r\n );\r\n }\r\n }\r\n\r\n _updateDisabledState() {\r\n const input = SelectorEngine.findOne(SELECTOR_INPUT, this._wrapper);\r\n\r\n if (this._element.hasAttribute(\"disabled\")) {\r\n this._config.disabled = true;\r\n input.setAttribute(\"disabled\", \"\");\r\n input.setAttribute(DATA_DISABLED, \"\");\r\n } else {\r\n this._config.disabled = false;\r\n input.removeAttribute(\"disabled\");\r\n input.removeAttribute(DATA_DISABLED);\r\n }\r\n }\r\n\r\n _observeMutationObserver() {\r\n if (!this._mutationObserver) {\r\n return;\r\n }\r\n\r\n this._mutationObserver.observe(this._element, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true,\r\n });\r\n }\r\n\r\n _disconnectMutationObserver() {\r\n if (this.mutationObserver) {\r\n this._mutationObserver.disconnect();\r\n this._mutationObserver = null;\r\n }\r\n }\r\n\r\n _createSelectAllOption() {\r\n const id = this._selectAllId;\r\n const nativeOption = null;\r\n const multiple = true;\r\n const value = \"select-all\";\r\n const label = this._config.selectAllLabel;\r\n const selected = allOptionsSelected(this.options);\r\n const disabled = false;\r\n const hidden = false;\r\n const secondaryText = null;\r\n const groupId = null;\r\n const icon = null;\r\n\r\n return new SelectOption(\r\n id,\r\n nativeOption,\r\n multiple,\r\n value,\r\n label,\r\n selected,\r\n disabled,\r\n hidden,\r\n secondaryText,\r\n groupId,\r\n icon\r\n );\r\n }\r\n\r\n dispose() {\r\n this._removeComponentEvents();\r\n\r\n this._destroyMaterialSelect();\r\n this._listenToFocusChange(false);\r\n\r\n Data.removeData(this._element, DATA_KEY);\r\n }\r\n\r\n _removeComponentEvents() {\r\n EventHandler.off(this.input, \"click\");\r\n EventHandler.off(this.wrapper, this._handleKeydown.bind(this));\r\n EventHandler.off(this.clearButton, \"click\");\r\n EventHandler.off(this.clearButton, \"keydown\");\r\n EventHandler.off(window, \"resize\", this._handleWindowResize.bind(this));\r\n }\r\n\r\n _destroyMaterialSelect() {\r\n if (this._isOpen) {\r\n this.close();\r\n }\r\n\r\n this._destroyMaterialTemplate();\r\n }\r\n\r\n _destroyMaterialTemplate() {\r\n const wrapperParent = this._wrapper.parentNode;\r\n const labels = SelectorEngine.find(\"label\", this._wrapper);\r\n\r\n wrapperParent.appendChild(this._element);\r\n labels.forEach((label) => {\r\n wrapperParent.appendChild(label);\r\n });\r\n\r\n labels.forEach((label) => {\r\n label.removeAttribute(DATA_ACTIVE);\r\n });\r\n Manipulator.removeClass(this._element, this._classes.initialized);\r\n this._element.removeAttribute(DATA_SELECT_INIT);\r\n\r\n wrapperParent.removeChild(this._wrapper);\r\n }\r\n\r\n setValue(value) {\r\n this.options\r\n .filter((option) => option.selected)\r\n .forEach((selection) => (selection.nativeOption.selected = false));\r\n\r\n const isMultipleValue = Array.isArray(value);\r\n\r\n if (isMultipleValue) {\r\n value.forEach((selectionValue) => {\r\n this._selectByValue(selectionValue);\r\n });\r\n } else {\r\n this._selectByValue(value);\r\n }\r\n\r\n this._updateSelections();\r\n }\r\n\r\n _selectByValue(value) {\r\n const correspondingOption = this.options.find(\r\n (option) => option.value === value\r\n );\r\n if (!correspondingOption) {\r\n return false;\r\n }\r\n correspondingOption.nativeOption.selected = true;\r\n return true;\r\n }\r\n\r\n static jQueryInterface(config, options) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === \"object\" && config;\r\n\r\n if (!data && /dispose/.test(config)) {\r\n return;\r\n }\r\n\r\n if (!data) {\r\n data = new Select(this, _config);\r\n }\r\n\r\n if (typeof config === \"string\") {\r\n if (typeof data[config] === \"undefined\") {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config](options);\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n}\r\n\r\nexport default Select;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nexport const getInputField = ({ inputID, labelText }, classes) => {\r\n return `
\r\n \r\n ${labelText}\r\n \r\n
\r\n
`;\r\n};\r\n\r\nexport const getChip = ({ text, iconSVG }, classes) => {\r\n return `
\r\n ${text} \r\n \r\n ${iconSVG}\r\n \r\n
`;\r\n};\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { element, typeCheckConfig } from \"../../util/index\";\r\nimport Manipulator from \"../../dom/manipulator\";\r\nimport SelectorEngine from \"../../dom/selector-engine\";\r\nimport Data from \"../../dom/data\";\r\nimport EventHandler from \"../../dom/event-handler\";\r\nimport { getChip } from \"./templates\";\r\n\r\n/**\r\n *\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = \"chip\";\r\nconst DATA_KEY = `te.${NAME}`;\r\n\r\nconst ATTR_CHIP_CLOSE = \"data-te-chip-close\";\r\n\r\nconst ATTR_SELECTOR_CHIP_CLOSE = `[${ATTR_CHIP_CLOSE}]`;\r\n\r\nconst EVENT_DELETE = \"delete.te.chips\";\r\nconst EVENT_SELECT = \"select.te.chip\";\r\n\r\nconst defaultIcon = ` `;\r\n\r\nconst DefaultType = {\r\n text: \"string\",\r\n closeIcon: \"boolean\",\r\n img: \"object\",\r\n iconSVG: \"string\",\r\n};\r\n\r\nconst Default = {\r\n text: \"\",\r\n closeIcon: false,\r\n img: { path: \"\", alt: \"\" },\r\n iconSVG: defaultIcon,\r\n};\r\n\r\nconst DefaultClasses = {\r\n icon: \"float-right pl-[8px] text-[16px] opacity-[.53] cursor-pointer fill-[#afafaf] hover:text-[#8b8b8b] transition-all duration-200 ease-in-out\",\r\n chipElement:\r\n \"flex justify-between items-center h-[32px] leading-loose py-[5px] px-[12px] mr-4 my-[5px] text-[13px] font-normal text-[#4f4f4f] cursor-pointer bg-[#eceff1] dark:text-white dark:bg-neutral-600 rounded-[16px] transition-[opacity] duration-300 ease-linear [word-wrap: break-word] shadow-none normal-case hover:!shadow-none active:bg-[#cacfd1] inline-block font-medium leading-normal text-[#4f4f4f] text-center no-underline align-middle cursor-pointer select-none border-[.125rem] border-solid border-transparent py-1.5 px-3 text-xs rounded\",\r\n chipCloseIcon:\r\n \"w-4 float-right pl-[8px] text-[16px] opacity-[.53] cursor-pointer fill-[#afafaf] hover:fill-[#8b8b8b] dark:fill-gray-400 dark:hover:fill-gray-100 transition-all duration-200 ease-in-out\",\r\n};\r\n\r\nconst DefaultClassesType = {\r\n icon: \"string\",\r\n chipElement: \"string\",\r\n chipCloseIcon: \"string\",\r\n};\r\n\r\nclass Chip {\r\n constructor(element, data = {}, classes) {\r\n this._element = element;\r\n this._options = this._getConfig(data);\r\n this._classes = this._getClasses(classes);\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n init() {\r\n this._appendCloseIcon();\r\n this._handleDelete();\r\n this._handleTextChip();\r\n this._handleClickOnChip();\r\n }\r\n\r\n dispose() {\r\n this._element = null;\r\n this._options = null;\r\n EventHandler.off(this._element, \"click\");\r\n }\r\n\r\n appendChip() {\r\n const { text, closeIcon, iconSVG } = this._options;\r\n const chip = getChip({ text, closeIcon, iconSVG }, this._classes);\r\n\r\n return chip;\r\n }\r\n\r\n // Private\r\n\r\n _appendCloseIcon(el = this._element) {\r\n if (SelectorEngine.find(ATTR_SELECTOR_CHIP_CLOSE, this._element).length > 0)\r\n return;\r\n\r\n if (this._options.closeIcon) {\r\n const createIcon = element(\"span\");\r\n\r\n createIcon.classList = this._classes.icon;\r\n createIcon.setAttribute(ATTR_CHIP_CLOSE);\r\n createIcon.innerHTML = this._options.iconSVG;\r\n\r\n el.insertAdjacentElement(\"beforeend\", createIcon);\r\n }\r\n }\r\n\r\n _handleClickOnChip() {\r\n EventHandler.on(this._element, \"click\", (event) => {\r\n const { textContent } = event.target;\r\n const obj = {};\r\n\r\n obj.tag = textContent.trim();\r\n\r\n EventHandler.trigger(EVENT_SELECT, { event, obj });\r\n });\r\n }\r\n\r\n _handleDelete() {\r\n const deleteElement = SelectorEngine.find(\r\n ATTR_SELECTOR_CHIP_CLOSE,\r\n this._element\r\n );\r\n\r\n if (deleteElement.length === 0) return;\r\n\r\n EventHandler.on(this._element, \"click\", ATTR_SELECTOR_CHIP_CLOSE, () => {\r\n EventHandler.trigger(this._element, EVENT_DELETE);\r\n this._element.remove();\r\n });\r\n }\r\n\r\n _handleTextChip() {\r\n if (this._element.innerText !== \"\") return;\r\n\r\n this._element.innerText = this._options.text;\r\n }\r\n\r\n _getConfig(options) {\r\n const config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...options,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n _getClasses(classes) {\r\n const dataAttributes = Manipulator.getDataClassAttributes(this._element);\r\n\r\n classes = {\r\n ...DefaultClasses,\r\n ...dataAttributes,\r\n ...classes,\r\n };\r\n\r\n typeCheckConfig(NAME, classes, DefaultClassesType);\r\n\r\n return classes;\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n}\r\n\r\nexport default Chip;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { typeCheckConfig, element, getUID } from \"../../util/index\";\r\nimport Manipulator from \"../../dom/manipulator\";\r\nimport SelectorEngine from \"../../dom/selector-engine\";\r\nimport Chip from \"./chip\";\r\nimport Data from \"../../dom/data\";\r\nimport { getInputField } from \"./templates\";\r\nimport EventHandler from \"../../dom/event-handler\";\r\nimport {\r\n LEFT_ARROW,\r\n RIGHT_ARROW,\r\n ENTER,\r\n BACKSPACE,\r\n UP_ARROW,\r\n DOWN_ARROW,\r\n DELETE,\r\n} from \"../../util/keycodes\";\r\nimport Input from \"../../forms/input\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nConstants\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nconst NAME = \"chips\";\r\nconst ATTR_NAME = `data-te-${NAME}`;\r\n\r\nconst DATA_KEY = `te.${NAME}`;\r\n\r\nconst ATTR_CHIPS_INIT = `${ATTR_NAME}-input-init`;\r\nconst ATTR_CHIPS_ACTIVE = `${ATTR_NAME}-active`;\r\nconst ATTR_CHIPS_INITIAL = `${ATTR_NAME}-initial`;\r\nconst ATTR_CHIPS_PLACEHOLDER = `${ATTR_NAME}-placeholder`;\r\nconst ATTR_CHIPS_WRAPPER = `${ATTR_NAME}-input-wrapper`;\r\nconst ATTR_CHIP_INIT = \"data-te-chip-init\";\r\nconst ATTR_CHIP_CLOSE = \"data-te-chip-close\";\r\nconst ATTR_CHIP_TEXT = \"data-te-chip-text\";\r\n\r\nconst ATTR_SELECTOR_CHIPS_ACTIVE = `[${ATTR_CHIPS_ACTIVE}]`;\r\nconst ATTR_SELECTOR_CHIP_INIT = `[${ATTR_CHIP_INIT}]`;\r\nconst ATTR_SELECTOR_CHIP_ACTIVE = `${ATTR_SELECTOR_CHIP_INIT}${ATTR_SELECTOR_CHIPS_ACTIVE}`;\r\nconst ATTR_SELECTOR_CLOSE = `[${ATTR_CHIP_CLOSE}]`;\r\nconst ATTR_SELECTOR_CHIPS_WRAPPER = `[${ATTR_CHIPS_WRAPPER}]`;\r\nconst ATTR_SELECTOR_CHIP_TEXT = `[${ATTR_CHIP_TEXT}]`;\r\nconst ATTR_SELECTOR_CHIPS_PLACEHOLDER = `[${ATTR_CHIPS_PLACEHOLDER}]`;\r\n\r\nconst DATA_NOTCH_LEADING = \"data-te-input-notch-leading-ref\";\r\nconst DATA_NOTCH_MIDDLE = \"data-te-input-notch-middle-ref\";\r\nconst SELECTOR_NOTCH_LEADING = `[${DATA_NOTCH_LEADING}]`;\r\nconst SELECTOR_NOTCH_MIDDLE = `[${DATA_NOTCH_MIDDLE}]`;\r\n\r\n// input helpers\r\nconst ATTR_INPUT_STATE_ACTIVE = \"data-te-input-state-active\";\r\nconst ATTR_SELECTOR_INPUT_NOTCH_REF = \"[data-te-input-notch-ref]\";\r\n\r\nconst EVENT_ADD = \"add.te.chips\";\r\nconst EVENT_ARROW_DOWN = \"arrowDown.te.chips\";\r\nconst EVENT_ARROW_LEFT = \"arrowLeft.te.chips\";\r\nconst EVENT_ARROW_RIGHT = \"arrowRight.te.chips\";\r\nconst EVENT_ARROW_UP = \"arrowUp.te.chips\";\r\nconst EVENT_DELETE = \"delete.te.chips\";\r\nconst EVENT_SELECT = \"select.te.chips\";\r\n\r\nconst DefaultType = {\r\n inputID: \"string\",\r\n parentSelector: \"string\",\r\n initialValues: \"array\",\r\n editable: \"boolean\",\r\n labelText: \"string\",\r\n inputClasses: \"object\",\r\n inputOptions: \"object\",\r\n};\r\n\r\nconst Default = {\r\n inputID: getUID(\"chips-input-\"),\r\n parentSelector: \"\",\r\n initialValues: [{ tag: \"init1\" }, { tag: \"init2\" }],\r\n editable: false,\r\n labelText: \"Example label\",\r\n inputClasses: {},\r\n inputOptions: {},\r\n};\r\n\r\nconst DefaultClasses = {\r\n opacity: \"opacity-0\",\r\n inputWrapperPadding: \"p-[5px]\",\r\n transition:\r\n \"transition-all duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)]\",\r\n contentEditable: \"outline-none !border-[3px] !border-solid !border-[#b2b3b4]\",\r\n chipsInputWrapper:\r\n \"relative flex items-center flex-wrap transition-all duration-300 ease-[cubic-bezier(0.25,0.1,0.25,1)]\",\r\n chipsInput:\r\n \"peer block min-h-[auto] w-[150px] rounded border-0 bg-transparent py-[0.32rem] px-3 leading-[1.6] outline-none transition-all duration-200 ease-linear focus:placeholder:opacity-100 data-[te-input-state-active]:placeholder:opacity-100 motion-reduce:transition-none dark:text-gray-200 dark:placeholder:text-gray-200 [&:not([data-te-input-placeholder-active])]:placeholder:opacity-0\",\r\n chipsLabel:\r\n \"pointer-events-none absolute top-0 left-3 mb-0 max-w-[90%] origin-[0_0] truncate pt-[0.37rem] leading-[1.6] text-gray-500 transition-all duration-200 ease-out peer-focus:-translate-y-[0.9rem] peer-focus:scale-[0.8] peer-focus:text-primary peer-data-[te-input-state-active]:-translate-y-[0.9rem] peer-data-[te-input-state-active]:scale-[0.8] motion-reduce:transition-none dark:text-gray-200 dark:peer-focus:text-gray-200\",\r\n};\r\n\r\nconst DefaultClassesType = {\r\n opacity: \"string\",\r\n inputWrapperPadding: \"string\",\r\n transition: \"string\",\r\n contentEditable: \"string\",\r\n chipsInputWrapper: \"string\",\r\n chipsInput: \"string\",\r\n chipsLabel: \"string\",\r\n};\r\n\r\nclass ChipsInput extends Chip {\r\n constructor(element, data = {}, classes) {\r\n super(element, data);\r\n this._element = element;\r\n this._inputInstance = null;\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n this._options = this._getConfig(data);\r\n this._classes = this._getClasses(classes);\r\n this.numberClicks = 0;\r\n\r\n this.init();\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n get activeChip() {\r\n return SelectorEngine.findOne(ATTR_SELECTOR_CHIP_ACTIVE, this._element);\r\n }\r\n\r\n get input() {\r\n return SelectorEngine.findOne(\"input\", this._element);\r\n }\r\n\r\n get allChips() {\r\n return SelectorEngine.find(ATTR_SELECTOR_CHIP_INIT, this._element);\r\n }\r\n\r\n get chipsInputWrapper() {\r\n return SelectorEngine.findOne(ATTR_SELECTOR_CHIPS_WRAPPER, this._element);\r\n }\r\n\r\n // Public\r\n\r\n init() {\r\n this._setChipsClass();\r\n this._appendInputToElement(ATTR_CHIPS_PLACEHOLDER);\r\n this._handleInitialValue();\r\n this._handleInputText();\r\n this._handleKeyboard();\r\n this._handleChipsOnSelect();\r\n this._handleEditable();\r\n this._handleChipsFocus();\r\n this._handleClicksOnChips();\r\n\r\n this._inputInstance._getLabelWidth();\r\n this._inputInstance._applyNotch();\r\n }\r\n\r\n dispose() {\r\n this._element = null;\r\n this._options = null;\r\n }\r\n\r\n // Private\r\n\r\n _getNotchData() {\r\n this._notchMiddle = SelectorEngine.findOne(\r\n SELECTOR_NOTCH_MIDDLE,\r\n this._element\r\n );\r\n this._notchLeading = SelectorEngine.findOne(\r\n SELECTOR_NOTCH_LEADING,\r\n this._element\r\n );\r\n }\r\n\r\n _setChipsClass() {\r\n this._element.setAttribute(ATTR_CHIPS_INIT, \"\");\r\n }\r\n\r\n _handleDeleteEvents(event) {\r\n const [last] = this.allChips.slice(-1);\r\n\r\n if (this.activeChip === null) {\r\n last.remove();\r\n\r\n this._handleEvents(event, EVENT_DELETE);\r\n } else {\r\n const index = this.allChips.findIndex((chip) => chip === this.activeChip);\r\n const activeChipAfter = this._handleActiveChipAfterRemove(index);\r\n const arr = [];\r\n\r\n if (this.activeChip === null) return;\r\n\r\n this.activeChip.remove();\r\n this._handleEvents(event, EVENT_DELETE);\r\n\r\n this.numberClicks = index;\r\n\r\n activeChipAfter.setAttribute(ATTR_CHIPS_ACTIVE, \"\");\r\n\r\n this.allChips.forEach((chip) => {\r\n if (chip.hasAttribute(ATTR_CHIPS_ACTIVE)) {\r\n arr.push(chip);\r\n\r\n if (arr.length > 1) {\r\n this.allChips.forEach((chip) => chip.remove());\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n _handleUpEvents(event) {\r\n this.numberClicks += 1;\r\n\r\n if (this.numberClicks === this.allChips.length + 1) this.numberClicks = 0;\r\n\r\n this._handleRightKeyboardArrow(this.numberClicks);\r\n\r\n this._handleEvents(event, EVENT_ARROW_RIGHT);\r\n this._handleEvents(event, EVENT_ARROW_UP);\r\n }\r\n\r\n _handleDownEvents(event) {\r\n this.numberClicks -= 1;\r\n\r\n if (this.numberClicks <= 0) this.numberClicks = this.allChips.length;\r\n\r\n this._handleLeftKeyboardArrow(this.numberClicks);\r\n\r\n this._handleEvents(event, EVENT_ARROW_LEFT);\r\n this._handleEvents(event, EVENT_ARROW_DOWN);\r\n }\r\n\r\n _keyboardEvents(event) {\r\n const { target, keyCode, ctrlKey } = event;\r\n\r\n if (target.value.length > 0 || this.allChips.length === 0) return;\r\n\r\n if (keyCode === BACKSPACE || keyCode === DELETE) {\r\n this._handleDeleteEvents(event);\r\n } else if (keyCode === RIGHT_ARROW || keyCode === UP_ARROW) {\r\n this._handleUpEvents(event);\r\n } else if (keyCode === LEFT_ARROW || keyCode === DOWN_ARROW) {\r\n this._handleDownEvents(event);\r\n } else if (keyCode === 65 && ctrlKey) {\r\n this._handleAddActiveClass();\r\n }\r\n }\r\n\r\n _handleKeyboard() {\r\n EventHandler.on(this.input, \"keydown\", (event) =>\r\n this._keyboardEvents(event)\r\n );\r\n }\r\n\r\n _handleEditable() {\r\n const { editable } = this._options;\r\n\r\n if (!editable) return;\r\n\r\n this.allChips.forEach((chip) => {\r\n EventHandler.on(chip, \"dblclick\", (e) => {\r\n const close = SelectorEngine.findOne(ATTR_SELECTOR_CLOSE, chip);\r\n\r\n chip.classList.add(...this._classes.contentEditable.split(\" \"));\r\n chip.contentEditable = true;\r\n chip.focus();\r\n\r\n setTimeout(() => {\r\n Manipulator.addStyle(close, { display: \"none\" });\r\n }, 200);\r\n close.classList.add(...this._classes.opacity.split(\" \"));\r\n\r\n const obj = {};\r\n\r\n obj.tag = e.target.textContent;\r\n\r\n EventHandler.trigger(chip, EVENT_SELECT, {\r\n event: e,\r\n allChips: this.allChips,\r\n });\r\n });\r\n\r\n EventHandler.on(document, \"click\", ({ target }) => {\r\n const close = SelectorEngine.findOne(ATTR_SELECTOR_CLOSE, chip);\r\n const chipText = SelectorEngine.findOne(ATTR_SELECTOR_CHIP_TEXT, chip);\r\n\r\n const isContainer = target === chip;\r\n const isContainerContent = chip && chip.contains(target);\r\n\r\n if (!isContainer && !isContainerContent) {\r\n chip.contentEditable = false;\r\n chip.classList.remove(...this._classes.contentEditable.split(\" \"));\r\n\r\n if (chipText.textContent !== \"\") {\r\n setTimeout(() => {\r\n Manipulator.addStyle(close, { display: \"block\" });\r\n close.classList.remove(...this._classes.opacity.split(\" \"));\r\n }, 160);\r\n }\r\n }\r\n\r\n if (chipText.textContent === \"\") {\r\n setTimeout(() => {\r\n chip.classList.add(...this._classes.opacity.split(\" \"));\r\n }, 200);\r\n\r\n setTimeout(() => {\r\n chip.remove();\r\n }, 300);\r\n }\r\n });\r\n });\r\n }\r\n\r\n _handleRemoveActiveClass() {\r\n this.allChips.forEach((chip) => chip.removeAttribute(ATTR_CHIPS_ACTIVE));\r\n }\r\n\r\n _handleAddActiveClass() {\r\n this.allChips.forEach((chip) => chip.setAttribute(ATTR_CHIPS_ACTIVE, \"\"));\r\n }\r\n\r\n _handleRightKeyboardArrow(num) {\r\n this._handleRemoveActiveClass();\r\n\r\n if (num === 0) num = 1;\r\n\r\n this._handleAddActiveClassWithKebyboard(num);\r\n }\r\n\r\n _handleLeftKeyboardArrow(num) {\r\n this._handleRemoveActiveClass();\r\n this._handleAddActiveClassWithKebyboard(num);\r\n }\r\n\r\n _handleActiveChipAfterRemove(index) {\r\n const chipIndex = index === 0 ? 1 : index - 1;\r\n\r\n return this.allChips[chipIndex];\r\n }\r\n\r\n _handleClicksOnChips() {\r\n EventHandler.on(this._element, \"click\", () => {\r\n if (this.allChips.length === 0) {\r\n this.chipsInputWrapper.classList.remove(\r\n ...this._classes.inputWrapperPadding.split(\" \")\r\n );\r\n this.input.removeAttribute(ATTR_CHIPS_ACTIVE);\r\n }\r\n });\r\n }\r\n\r\n _handleTextContent() {\r\n const arr = [];\r\n\r\n this.allChips.forEach((chip) => arr.push({ tag: chip.textContent.trim() }));\r\n\r\n return arr;\r\n }\r\n\r\n _handleEvents(event, eventName) {\r\n const arr = this._handleTextContent();\r\n\r\n const filterActive = this.allChips.filter(\r\n (chip) => chip.hasAttribute(ATTR_CHIPS_ACTIVE) && chip\r\n );\r\n\r\n EventHandler.trigger(this._element, eventName, {\r\n event,\r\n allChips: this.allChips,\r\n arrOfObjects: arr,\r\n active: filterActive,\r\n activeObj: {\r\n tag: filterActive.length <= 0 ? \"\" : filterActive[0].textContent.trim(),\r\n },\r\n });\r\n }\r\n\r\n _handleChipsFocus() {\r\n EventHandler.on(this._element, \"click\", ({ target: { attributes } }) => {\r\n const attrList = [...attributes];\r\n if (\r\n attrList.includes(ATTR_CHIP_INIT) ||\r\n attrList.includes(ATTR_CHIP_CLOSE) ||\r\n attrList.includes(ATTR_CHIP_TEXT)\r\n ) {\r\n return;\r\n }\r\n\r\n this.input.focus();\r\n });\r\n }\r\n\r\n _handleInitialValue() {\r\n this._appendInputToElement(ATTR_CHIPS_INITIAL);\r\n\r\n if (this._element.hasAttribute(ATTR_CHIPS_INITIAL)) {\r\n const { initialValues } = this._options;\r\n\r\n initialValues.forEach(({ tag }) =>\r\n this._handleCreateChip(this.input, tag)\r\n );\r\n\r\n SelectorEngine.findOne(\r\n ATTR_SELECTOR_INPUT_NOTCH_REF,\r\n this.input.parentNode\r\n ).setAttribute(ATTR_INPUT_STATE_ACTIVE, \"\");\r\n this.input.setAttribute(ATTR_CHIPS_ACTIVE, \"\");\r\n this.input.setAttribute(ATTR_INPUT_STATE_ACTIVE, \"\");\r\n }\r\n\r\n if (this.allChips.length > 0) {\r\n this.chipsInputWrapper.classList.add(\r\n ...this._classes.inputWrapperPadding.split(\" \")\r\n );\r\n this.chipsInputWrapper.classList.add(\r\n ...this._classes.transition.split(\" \")\r\n );\r\n }\r\n }\r\n\r\n _handleKeysInputToElement(event) {\r\n const { keyCode, target } = event;\r\n\r\n if (target.hasAttribute(ATTR_CHIP_INIT)) {\r\n const close = SelectorEngine.findOne(ATTR_SELECTOR_CLOSE, target);\r\n\r\n if (keyCode === ENTER) {\r\n target.contentEditable = false;\r\n target.classList.remove(...this._classes.contentEditable.split(\" \"));\r\n\r\n if (target.textContent !== \"\") {\r\n setTimeout(() => {\r\n Manipulator.addStyle(close, { display: \"block\" });\r\n close.classList.remove(...this._classes.opacity.split(\" \"));\r\n }, 160);\r\n } else if (target.textContent === \"\") {\r\n setTimeout(() => {\r\n target.classList.add(...this._classes.opacity.split(\" \"));\r\n }, 200);\r\n\r\n setTimeout(() => {\r\n target.remove();\r\n }, 300);\r\n }\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (keyCode === ENTER) {\r\n if (target.value === \"\") return;\r\n\r\n this._handleCreateChip(target, target.value);\r\n\r\n this._handleRemoveActiveClass();\r\n this.numberClicks = this.allChips.length + 1;\r\n\r\n this._handleEvents(event, EVENT_ADD);\r\n }\r\n\r\n if (this.allChips.length > 0) {\r\n this.chipsInputWrapper.classList.add(\r\n ...this._classes.inputWrapperPadding.split(\" \")\r\n );\r\n this.chipsInputWrapper.classList.add(\r\n ...this._classes.transition.split(\" \")\r\n );\r\n } else {\r\n this.chipsInputWrapper.classList.remove(\r\n ...this._classes.inputWrapperPadding.split(\" \")\r\n );\r\n }\r\n }\r\n\r\n _handleBlurInput = ({ target }) => {\r\n if (target.value.length > 0) {\r\n this._handleCreateChip(target, target.value);\r\n }\r\n\r\n if (this.allChips.length > 0) {\r\n target.setAttribute(ATTR_CHIPS_ACTIVE, \"\");\r\n this.input.setAttribute(ATTR_INPUT_STATE_ACTIVE, \"\");\r\n SelectorEngine.findOne(\r\n ATTR_SELECTOR_INPUT_NOTCH_REF,\r\n this.input.parentNode\r\n ).setAttribute(ATTR_INPUT_STATE_ACTIVE, \"\");\r\n this.chipsInputWrapper.classList.add(\r\n ...this._classes.inputWrapperPadding.split(\" \")\r\n );\r\n } else {\r\n target.removeAttribute(ATTR_CHIPS_ACTIVE);\r\n this.input.removeAttribute(ATTR_INPUT_STATE_ACTIVE);\r\n SelectorEngine.findOne(\r\n ATTR_SELECTOR_INPUT_NOTCH_REF,\r\n this.input.parentNode\r\n ).removeAttribute(ATTR_INPUT_STATE_ACTIVE);\r\n this.chipsInputWrapper.classList.remove(\r\n ...this._classes.inputWrapperPadding.split(\" \")\r\n );\r\n }\r\n\r\n this.allChips.forEach((chip) => chip.removeAttribute(ATTR_CHIPS_ACTIVE));\r\n };\r\n\r\n _handleInputText() {\r\n const placeholder = SelectorEngine.findOne(\r\n ATTR_SELECTOR_CHIPS_PLACEHOLDER,\r\n this._element\r\n );\r\n\r\n EventHandler.on(this._element, \"keyup\", placeholder, (e) =>\r\n this._handleKeysInputToElement(e)\r\n );\r\n EventHandler.on(this.input, \"blur\", (e) => this._handleBlurInput(e));\r\n }\r\n\r\n _appendInputToElement(selector) {\r\n if (!this._element.hasAttribute(selector)) return;\r\n\r\n const inputField = getInputField(this._options, this._classes);\r\n\r\n this._element.insertAdjacentHTML(\"beforeend\", inputField);\r\n const inputWrapper = SelectorEngine.findOne(\r\n \"[data-te-chips-input-wrapper]\",\r\n this._element\r\n );\r\n\r\n this._inputInstance = new Input(\r\n inputWrapper,\r\n this._options.inputOptions,\r\n this._options.inputClasses\r\n );\r\n }\r\n\r\n _handleCreateChip(target, value) {\r\n const divElement = element(\"div\");\r\n const instance = Chip.getInstance(divElement);\r\n\r\n const divWithChips = new Chip(instance, { text: value }, this._classes);\r\n\r\n if (this._options.parentSelector !== \"\") {\r\n const parent = document.querySelector(this._options.parentSelector);\r\n parent.insertAdjacentHTML(\"beforeend\", divWithChips.appendChip());\r\n } else {\r\n target.insertAdjacentHTML(\"beforebegin\", divWithChips.appendChip());\r\n }\r\n\r\n target.value = \"\";\r\n\r\n SelectorEngine.find(ATTR_SELECTOR_CHIP_INIT).forEach((chip) => {\r\n let instance = Chip.getInstance(chip);\r\n if (!instance) {\r\n instance = new Chip(chip, {}, this._classes);\r\n }\r\n return instance.init();\r\n });\r\n\r\n this._handleEditable();\r\n }\r\n\r\n _handleChipsOnSelect() {\r\n this.allChips.forEach((chip) => {\r\n EventHandler.on(this._element, \"click\", (e) => {\r\n EventHandler.trigger(chip, EVENT_SELECT, {\r\n event: e,\r\n allChips: this.allChips,\r\n });\r\n });\r\n });\r\n }\r\n\r\n _handleAddActiveClassWithKebyboard(num) {\r\n let chip;\r\n\r\n if (this.allChips[num - 1] === undefined) {\r\n chip = this.allChips[num - 2];\r\n } else {\r\n chip = this.allChips[num - 1];\r\n }\r\n\r\n chip.setAttribute(ATTR_CHIPS_ACTIVE);\r\n }\r\n\r\n _getConfig(options) {\r\n const config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...options,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _getClasses(classes) {\r\n const dataAttributes = Manipulator.getDataClassAttributes(this._element);\r\n\r\n classes = {\r\n ...DefaultClasses,\r\n ...dataAttributes,\r\n ...classes,\r\n };\r\n\r\n typeCheckConfig(NAME, classes, DefaultClassesType);\r\n\r\n return classes;\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n}\r\n\r\nexport default ChipsInput;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\n// Default options\r\nconst DEFAULT_LEGEND_COLOR = {\r\n plugins: {\r\n legend: {\r\n labels: {\r\n color: \"rgb(102,102,102)\",\r\n },\r\n },\r\n },\r\n};\r\n\r\nexport const DEFAULT_OPTIONS = {\r\n line: {\r\n options: {\r\n ...DEFAULT_LEGEND_COLOR,\r\n elements: {\r\n line: {\r\n backgroundColor: \"rgba(59, 112, 202, 0.0)\",\r\n borderColor: \"rgb(59, 112, 202)\",\r\n borderWidth: 2,\r\n tension: 0.0,\r\n },\r\n point: {\r\n borderColor: \"rgb(59, 112, 202)\",\r\n backgroundColor: \"rgb(59, 112, 202)\",\r\n },\r\n },\r\n responsive: true,\r\n legend: {\r\n display: true,\r\n },\r\n tooltips: {\r\n intersect: false,\r\n mode: \"index\",\r\n },\r\n datasets: {\r\n borderColor: \"red\",\r\n },\r\n scales: {\r\n x: {\r\n stacked: true,\r\n grid: {\r\n display: false,\r\n },\r\n ticks: {\r\n fontColor: \"rgba(0,0,0, 0.5)\",\r\n },\r\n },\r\n y: {\r\n stacked: false,\r\n grid: {\r\n borderDash: [2],\r\n drawBorder: false,\r\n zeroLineColor: \"rgba(0,0,0,0)\",\r\n zeroLineBorderDash: [2],\r\n zeroLineBorderDashOffset: [2],\r\n },\r\n ticks: {\r\n fontColor: \"rgba(0,0,0, 0.5)\",\r\n },\r\n },\r\n },\r\n },\r\n },\r\n bar: {\r\n options: {\r\n ...DEFAULT_LEGEND_COLOR,\r\n backgroundColor: \"rgb(59, 112, 202)\",\r\n borderWidth: 0,\r\n responsive: true,\r\n legend: {\r\n display: true,\r\n },\r\n tooltips: {\r\n intersect: false,\r\n mode: \"index\",\r\n },\r\n scales: {\r\n x: {\r\n stacked: true,\r\n grid: {\r\n display: false,\r\n },\r\n ticks: {\r\n fontColor: \"rgba(0,0,0, 0.5)\",\r\n },\r\n },\r\n y: {\r\n stacked: true,\r\n grid: {\r\n borderDash: [2],\r\n drawBorder: false,\r\n zeroLineColor: \"rgba(0,0,0,0)\",\r\n zeroLineBorderDash: [2],\r\n zeroLineBorderDashOffset: [2],\r\n },\r\n ticks: {\r\n fontColor: \"rgba(0,0,0, 0.5)\",\r\n },\r\n },\r\n },\r\n },\r\n },\r\n pie: {\r\n options: {\r\n ...DEFAULT_LEGEND_COLOR,\r\n elements: {\r\n arc: { backgroundColor: \"rgb(59, 112, 202)\" },\r\n },\r\n responsive: true,\r\n legend: {\r\n display: true,\r\n },\r\n },\r\n },\r\n doughnut: {\r\n options: {\r\n ...DEFAULT_LEGEND_COLOR,\r\n elements: {\r\n arc: { backgroundColor: \"rgb(59, 112, 202)\" },\r\n },\r\n responsive: true,\r\n legend: {\r\n display: true,\r\n },\r\n },\r\n },\r\n polarArea: {\r\n options: {\r\n ...DEFAULT_LEGEND_COLOR,\r\n elements: {\r\n arc: { backgroundColor: \"rgba(59, 112, 202, 0.5)\" },\r\n },\r\n responsive: true,\r\n legend: {\r\n display: true,\r\n },\r\n },\r\n },\r\n radar: {\r\n options: {\r\n ...DEFAULT_LEGEND_COLOR,\r\n elements: {\r\n line: {\r\n backgroundColor: \"rgba(59, 112, 202, 0.5)\",\r\n borderColor: \"rgb(59, 112, 202)\",\r\n borderWidth: 2,\r\n },\r\n point: {\r\n borderColor: \"rgb(59, 112, 202)\",\r\n backgroundColor: \"rgb(59, 112, 202)\",\r\n },\r\n },\r\n responsive: true,\r\n legend: {\r\n display: true,\r\n },\r\n },\r\n },\r\n scatter: {\r\n options: {\r\n ...DEFAULT_LEGEND_COLOR,\r\n elements: {\r\n line: {\r\n backgroundColor: \"rgba(59, 112, 202, 0.5)\",\r\n borderColor: \"rgb(59, 112, 202)\",\r\n borderWidth: 2,\r\n tension: 0.0,\r\n },\r\n point: {\r\n borderColor: \"rgb(59, 112, 202)\",\r\n backgroundColor: \"rgba(59, 112, 202, 0.5)\",\r\n },\r\n },\r\n responsive: true,\r\n legend: {\r\n display: true,\r\n },\r\n tooltips: {\r\n intersect: false,\r\n mode: \"index\",\r\n },\r\n datasets: {\r\n borderColor: \"red\",\r\n },\r\n scales: {\r\n x: {\r\n stacked: true,\r\n grid: {\r\n display: false,\r\n },\r\n ticks: {\r\n fontColor: \"rgba(0,0,0, 0.5)\",\r\n },\r\n },\r\n y: {\r\n stacked: false,\r\n grid: {\r\n borderDash: [2],\r\n drawBorder: false,\r\n zeroLineColor: \"rgba(0,0,0,0)\",\r\n zeroLineBorderDash: [2],\r\n zeroLineBorderDashOffset: [2],\r\n },\r\n ticks: {\r\n fontColor: \"rgba(0,0,0, 0.5)\",\r\n },\r\n },\r\n },\r\n },\r\n },\r\n bubble: {\r\n options: {\r\n ...DEFAULT_LEGEND_COLOR,\r\n elements: {\r\n point: {\r\n borderColor: \"rgb(59, 112, 202)\",\r\n backgroundColor: \"rgba(59, 112, 202, 0.5)\",\r\n },\r\n },\r\n responsive: true,\r\n legend: {\r\n display: true,\r\n },\r\n scales: {\r\n x: {\r\n grid: {\r\n display: false,\r\n },\r\n ticks: {\r\n fontColor: \"rgba(0,0,0, 0.5)\",\r\n },\r\n },\r\n y: {\r\n grid: {\r\n borderDash: [2],\r\n drawBorder: false,\r\n zeroLineColor: \"rgba(0,0,0,0)\",\r\n zeroLineBorderDash: [2],\r\n zeroLineBorderDashOffset: [2],\r\n },\r\n ticks: {\r\n fontColor: \"rgba(0,0,0, 0.5)\",\r\n },\r\n },\r\n },\r\n },\r\n },\r\n};\r\n", "'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { element, typeCheckConfig } from \"../../util/index\";\r\nimport Data from \"../../dom/data\";\r\nimport Manipulator from \"../../dom/manipulator\";\r\nimport { DEFAULT_OPTIONS } from \"./chartDefaults\";\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nimport merge from \"deepmerge\";\r\n\r\nconst NAME = \"chart\";\r\nconst DATA_KEY = \"te.chart\";\r\nconst CLASSNAME_CHARTS = \"chart\";\r\n\r\nconst GENERATE_DATA = (options, type, defaultType) => {\r\n const mergeObjects = (target, source, options) => {\r\n const destination = target.slice();\r\n source.forEach((item, index) => {\r\n if (typeof destination[index] === \"undefined\") {\r\n destination[index] = options.cloneUnlessOtherwiseSpecified(\r\n item,\r\n options\r\n );\r\n } else if (options.isMergeableObject(item)) {\r\n destination[index] = merge(target[index], item, options);\r\n } else if (target.indexOf(item) === -1) {\r\n destination.push(item);\r\n }\r\n });\r\n return destination;\r\n };\r\n return merge(defaultType[type], options, {\r\n arrayMerge: mergeObjects,\r\n });\r\n};\r\n\r\nconst DEFAULT_DARK_OPTIONS = {\r\n darkTicksColor: \"#fff\",\r\n darkLabelColor: \"#fff\",\r\n darkGridLinesColor: \"#555\",\r\n darkmodeOff: \"undefined\",\r\n darkMode: null,\r\n darkBgColor: \"#262626\",\r\n darkBgColorLight: \"#fff\",\r\n options: null,\r\n};\r\n\r\nconst DARK_OPTIONS_TYPE = {\r\n darkTicksColor: \"string\",\r\n darkLabelColor: \"string\",\r\n darkGridLinesColor: \"string\",\r\n darkmodeOff: \"(string|null)\",\r\n darkMode: \"(string|null)\",\r\n darkBgColor: \"string\",\r\n darkBgColorLight: \"string\",\r\n options: \"(object|null)\",\r\n};\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n//\r\n\r\nclass Chart {\r\n constructor(element, data, options = {}, darkOptions = {}) {\r\n this._waitForCharts(element, data, options, darkOptions);\r\n }\r\n\r\n async _getChartjs() {\r\n const {\r\n Chart: Chartjs,\r\n ArcElement,\r\n LineElement,\r\n BarElement,\r\n PointElement,\r\n BarController,\r\n BubbleController,\r\n DoughnutController,\r\n LineController,\r\n PieController,\r\n PolarAreaController,\r\n RadarController,\r\n ScatterController,\r\n CategoryScale,\r\n LinearScale,\r\n LogarithmicScale,\r\n RadialLinearScale,\r\n TimeScale,\r\n TimeSeriesScale,\r\n Decimation,\r\n Filler,\r\n Legend,\r\n Title,\r\n Tooltip,\r\n SubTitle,\r\n } = await import(\"chart.js\");\r\n Chartjs.register(\r\n ArcElement,\r\n LineElement,\r\n BarElement,\r\n PointElement,\r\n BarController,\r\n BubbleController,\r\n DoughnutController,\r\n LineController,\r\n PieController,\r\n PolarAreaController,\r\n RadarController,\r\n ScatterController,\r\n CategoryScale,\r\n LinearScale,\r\n LogarithmicScale,\r\n RadialLinearScale,\r\n TimeScale,\r\n TimeSeriesScale,\r\n Decimation,\r\n Filler,\r\n Legend,\r\n Title,\r\n Tooltip,\r\n SubTitle\r\n );\r\n\r\n return Chartjs;\r\n }\r\n\r\n async _getChartDataLabels() {\r\n const ChartDataLabels = await import(\"chartjs-plugin-datalabels\");\r\n return ChartDataLabels;\r\n }\r\n\r\n async _waitForCharts(element, data, options = {}, darkOptions = {}) {\r\n this._Chartjs = await this._getChartjs();\r\n this._ChartDataLabels = await this._getChartDataLabels();\r\n this._element = element;\r\n this._data = data;\r\n this._options = options;\r\n this._type = data.type;\r\n this._canvas = null;\r\n this._chart = null;\r\n\r\n // handle mode change (dark- and lightmode)\r\n this._darkOptions = this._getDarkConfig(darkOptions);\r\n this._darkModeClassContainer = document.querySelector(\"html\");\r\n this._prevConfig = null;\r\n this._observer = null;\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n Manipulator.addClass(this._element, CLASSNAME_CHARTS);\r\n this._chartConstructor();\r\n }\r\n\r\n if (this._darkOptions.darkmodeOff !== null) {\r\n // check mode on start\r\n const mode =\r\n this._darkOptions.darkMode === \"dark\"\r\n ? \"dark\"\r\n : this._darkOptions.darkMode === \"light\"\r\n ? \"light\"\r\n : this.systemColorMode;\r\n this._handleMode(mode);\r\n // observe darkmode class container change\r\n this._observer = new MutationObserver(this._observerCallback.bind(this));\r\n this._observer.observe(this._darkModeClassContainer, {\r\n attributes: true,\r\n });\r\n }\r\n }\r\n\r\n // Getters\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n get systemColorMode() {\r\n return (\r\n localStorage.theme ||\r\n (this._darkModeClassContainer.classList.contains(\"dark\")\r\n ? \"dark\"\r\n : \"light\")\r\n );\r\n }\r\n\r\n // Public\r\n dispose() {\r\n this._observer.disconnect();\r\n Data.removeData(this._element, DATA_KEY);\r\n this._element = null;\r\n }\r\n\r\n update(data, config) {\r\n if (data) {\r\n this._data = { ...this._data, ...data };\r\n this._chart.data = this._data;\r\n }\r\n\r\n const configOptions = Object.prototype.hasOwnProperty.call(\r\n config,\r\n \"options\"\r\n )\r\n ? config\r\n : { options: { ...config } };\r\n\r\n this._options = merge(this._options, configOptions);\r\n\r\n this._chart.options = GENERATE_DATA(\r\n this._options,\r\n this._type,\r\n DEFAULT_OPTIONS\r\n ).options;\r\n\r\n this._chart.update();\r\n }\r\n\r\n setTheme(theme) {\r\n if ((theme !== \"dark\" && theme !== \"light\") || !this._data) {\r\n return;\r\n }\r\n this._handleMode(theme);\r\n }\r\n\r\n // Private\r\n _getDarkConfig(config) {\r\n let dataAttributes = {};\r\n const dataAttr = Manipulator.getDataAttributes(this._element);\r\n Object.keys(dataAttr).forEach(\r\n (key) => key.startsWith(\"dark\") && (dataAttributes[key] = dataAttr[key])\r\n );\r\n\r\n dataAttributes = {\r\n ...DEFAULT_DARK_OPTIONS,\r\n ...dataAttributes,\r\n };\r\n\r\n const xyScale = {\r\n y: {\r\n ticks: {\r\n color: dataAttributes.darkTicksColor,\r\n },\r\n grid: {\r\n color: dataAttributes.darkGridLinesColor,\r\n },\r\n },\r\n x: {\r\n ticks: {\r\n color: dataAttributes.darkTicksColor,\r\n },\r\n grid: {\r\n color: dataAttributes.darkGridLinesColor,\r\n },\r\n },\r\n };\r\n\r\n const rScale = {\r\n r: {\r\n ticks: {\r\n color: dataAttributes.darkTicksColor,\r\n backdropColor: dataAttributes.darkBgColor,\r\n },\r\n grid: {\r\n color: dataAttributes.darkGridLinesColor,\r\n },\r\n pointLabels: {\r\n color: dataAttributes.darkTicksColor,\r\n },\r\n },\r\n };\r\n\r\n const radials = [\"pie\", \"doughnut\", \"polarArea\", \"radar\"];\r\n\r\n const scales = !radials.includes(this._type)\r\n ? xyScale\r\n : [\"polarArea\", \"radar\"].includes(this._type)\r\n ? rScale\r\n : {};\r\n\r\n const opt = {\r\n scales,\r\n plugins: {\r\n legend: {\r\n labels: {\r\n color: dataAttributes.darkLabelColor,\r\n },\r\n },\r\n },\r\n };\r\n\r\n // combine config\r\n config = {\r\n ...dataAttributes,\r\n options: {\r\n ...opt,\r\n },\r\n ...config,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DARK_OPTIONS_TYPE);\r\n\r\n return config;\r\n }\r\n\r\n _chartConstructor() {\r\n if (this._data) {\r\n this._createCanvas();\r\n\r\n const options = GENERATE_DATA(this._options, this._type, DEFAULT_OPTIONS);\r\n const plugins = [];\r\n\r\n if (options.dataLabelsPlugin) {\r\n plugins.push(this._ChartDataLabels.default);\r\n }\r\n\r\n this._prevConfig = options;\r\n this._chart = new this._Chartjs(this._canvas, {\r\n ...this._data,\r\n ...options,\r\n plugins,\r\n });\r\n }\r\n }\r\n\r\n _createCanvas() {\r\n if (this._canvas) return;\r\n if (this._element.nodeName === \"CANVAS\") {\r\n this._canvas = this._element;\r\n } else {\r\n this._canvas = element(\"canvas\");\r\n this._element.appendChild(this._canvas);\r\n }\r\n }\r\n\r\n _handleMode(systemColor) {\r\n if (systemColor === \"dark\") {\r\n this._changeDatasetBorderColor();\r\n this.update(null, this._darkOptions.options);\r\n } else {\r\n this._changeDatasetBorderColor(false);\r\n this._prevConfig && this.update(null, this._prevConfig);\r\n }\r\n }\r\n\r\n _observerCallback(mutationList) {\r\n for (const mutation of mutationList) {\r\n if (mutation.type === \"attributes\") {\r\n this._handleMode(this.systemColorMode);\r\n }\r\n }\r\n }\r\n\r\n _changeDatasetBorderColor(dark = true) {\r\n [...this._data.data.datasets].forEach(\r\n (set) =>\r\n [\"pie\", \"doughnut\", \"polarArea\"].includes(this._type) &&\r\n (set.borderColor = dark\r\n ? this._darkOptions.darkBgColor\r\n : this._darkOptions.darkBgColorLight)\r\n );\r\n }\r\n\r\n static jQueryInterface(data, options, type) {\r\n return this.each(function () {\r\n let chartData = Data.getData(this, DATA_KEY);\r\n\r\n if (!chartData && /dispose/.test(data)) {\r\n return;\r\n }\r\n\r\n if (!chartData) {\r\n const chartOptions = options\r\n ? GENERATE_DATA(options, type, DEFAULT_OPTIONS)\r\n : DEFAULT_OPTIONS[type];\r\n\r\n chartData = new Chart(this, {\r\n ...data,\r\n ...chartOptions,\r\n });\r\n }\r\n\r\n if (typeof data === \"string\") {\r\n if (typeof chartData[data] === \"undefined\") {\r\n throw new TypeError(`No method named \"${data}\"`);\r\n }\r\n\r\n chartData[data](options, type);\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n}\r\n\r\nexport default Chart;\r\n", "/*!\n * perfect-scrollbar v1.5.3\n * Copyright 2021 Hyunje Jun, MDBootstrap and Contributors\n * Licensed under MIT\n */\n\nfunction get(element) {\n return getComputedStyle(element);\n}\n\nfunction set(element, obj) {\n for (var key in obj) {\n var val = obj[key];\n if (typeof val === 'number') {\n val = val + \"px\";\n }\n element.style[key] = val;\n }\n return element;\n}\n\nfunction div(className) {\n var div = document.createElement('div');\n div.className = className;\n return div;\n}\n\nvar elMatches =\n typeof Element !== 'undefined' &&\n (Element.prototype.matches ||\n Element.prototype.webkitMatchesSelector ||\n Element.prototype.mozMatchesSelector ||\n Element.prototype.msMatchesSelector);\n\nfunction matches(element, query) {\n if (!elMatches) {\n throw new Error('No element matching method supported');\n }\n\n return elMatches.call(element, query);\n}\n\nfunction remove(element) {\n if (element.remove) {\n element.remove();\n } else {\n if (element.parentNode) {\n element.parentNode.removeChild(element);\n }\n }\n}\n\nfunction queryChildren(element, selector) {\n return Array.prototype.filter.call(element.children, function (child) { return matches(child, selector); }\n );\n}\n\nvar cls = {\n main: 'ps',\n rtl: 'ps__rtl',\n element: {\n thumb: function (x) { return (\"ps__thumb-\" + x); },\n rail: function (x) { return (\"ps__rail-\" + x); },\n consuming: 'ps__child--consume',\n },\n state: {\n focus: 'ps--focus',\n clicking: 'ps--clicking',\n active: function (x) { return (\"ps--active-\" + x); },\n scrolling: function (x) { return (\"ps--scrolling-\" + x); },\n },\n};\n\n/*\n * Helper methods\n */\nvar scrollingClassTimeout = { x: null, y: null };\n\nfunction addScrollingClass(i, x) {\n var classList = i.element.classList;\n var className = cls.state.scrolling(x);\n\n if (classList.contains(className)) {\n clearTimeout(scrollingClassTimeout[x]);\n } else {\n classList.add(className);\n }\n}\n\nfunction removeScrollingClass(i, x) {\n scrollingClassTimeout[x] = setTimeout(\n function () { return i.isAlive && i.element.classList.remove(cls.state.scrolling(x)); },\n i.settings.scrollingThreshold\n );\n}\n\nfunction setScrollingClassInstantly(i, x) {\n addScrollingClass(i, x);\n removeScrollingClass(i, x);\n}\n\nvar EventElement = function EventElement(element) {\n this.element = element;\n this.handlers = {};\n};\n\nvar prototypeAccessors = { isEmpty: { configurable: true } };\n\nEventElement.prototype.bind = function bind (eventName, handler) {\n if (typeof this.handlers[eventName] === 'undefined') {\n this.handlers[eventName] = [];\n }\n this.handlers[eventName].push(handler);\n this.element.addEventListener(eventName, handler, false);\n};\n\nEventElement.prototype.unbind = function unbind (eventName, target) {\n var this$1 = this;\n\n this.handlers[eventName] = this.handlers[eventName].filter(function (handler) {\n if (target && handler !== target) {\n return true;\n }\n this$1.element.removeEventListener(eventName, handler, false);\n return false;\n });\n};\n\nEventElement.prototype.unbindAll = function unbindAll () {\n for (var name in this.handlers) {\n this.unbind(name);\n }\n};\n\nprototypeAccessors.isEmpty.get = function () {\n var this$1 = this;\n\n return Object.keys(this.handlers).every(\n function (key) { return this$1.handlers[key].length === 0; }\n );\n};\n\nObject.defineProperties( EventElement.prototype, prototypeAccessors );\n\nvar EventManager = function EventManager() {\n this.eventElements = [];\n};\n\nEventManager.prototype.eventElement = function eventElement (element) {\n var ee = this.eventElements.filter(function (ee) { return ee.element === element; })[0];\n if (!ee) {\n ee = new EventElement(element);\n this.eventElements.push(ee);\n }\n return ee;\n};\n\nEventManager.prototype.bind = function bind (element, eventName, handler) {\n this.eventElement(element).bind(eventName, handler);\n};\n\nEventManager.prototype.unbind = function unbind (element, eventName, handler) {\n var ee = this.eventElement(element);\n ee.unbind(eventName, handler);\n\n if (ee.isEmpty) {\n // remove\n this.eventElements.splice(this.eventElements.indexOf(ee), 1);\n }\n};\n\nEventManager.prototype.unbindAll = function unbindAll () {\n this.eventElements.forEach(function (e) { return e.unbindAll(); });\n this.eventElements = [];\n};\n\nEventManager.prototype.once = function once (element, eventName, handler) {\n var ee = this.eventElement(element);\n var onceHandler = function (evt) {\n ee.unbind(eventName, onceHandler);\n handler(evt);\n };\n ee.bind(eventName, onceHandler);\n};\n\nfunction createEvent(name) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name);\n } else {\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, false, false, undefined);\n return evt;\n }\n}\n\nfunction processScrollDiff(\n i,\n axis,\n diff,\n useScrollingClass,\n forceFireReachEvent\n) {\n if ( useScrollingClass === void 0 ) useScrollingClass = true;\n if ( forceFireReachEvent === void 0 ) forceFireReachEvent = false;\n\n var fields;\n if (axis === 'top') {\n fields = [\n 'contentHeight',\n 'containerHeight',\n 'scrollTop',\n 'y',\n 'up',\n 'down' ];\n } else if (axis === 'left') {\n fields = [\n 'contentWidth',\n 'containerWidth',\n 'scrollLeft',\n 'x',\n 'left',\n 'right' ];\n } else {\n throw new Error('A proper axis should be provided');\n }\n\n processScrollDiff$1(i, diff, fields, useScrollingClass, forceFireReachEvent);\n}\n\nfunction processScrollDiff$1(\n i,\n diff,\n ref,\n useScrollingClass,\n forceFireReachEvent\n) {\n var contentHeight = ref[0];\n var containerHeight = ref[1];\n var scrollTop = ref[2];\n var y = ref[3];\n var up = ref[4];\n var down = ref[5];\n if ( useScrollingClass === void 0 ) useScrollingClass = true;\n if ( forceFireReachEvent === void 0 ) forceFireReachEvent = false;\n\n var element = i.element;\n\n // reset reach\n i.reach[y] = null;\n\n // 1 for subpixel rounding\n if (element[scrollTop] < 1) {\n i.reach[y] = 'start';\n }\n\n // 1 for subpixel rounding\n if (element[scrollTop] > i[contentHeight] - i[containerHeight] - 1) {\n i.reach[y] = 'end';\n }\n\n if (diff) {\n element.dispatchEvent(createEvent((\"ps-scroll-\" + y)));\n\n if (diff < 0) {\n element.dispatchEvent(createEvent((\"ps-scroll-\" + up)));\n } else if (diff > 0) {\n element.dispatchEvent(createEvent((\"ps-scroll-\" + down)));\n }\n\n if (useScrollingClass) {\n setScrollingClassInstantly(i, y);\n }\n }\n\n if (i.reach[y] && (diff || forceFireReachEvent)) {\n element.dispatchEvent(createEvent((\"ps-\" + y + \"-reach-\" + (i.reach[y]))));\n }\n}\n\nfunction toInt(x) {\n return parseInt(x, 10) || 0;\n}\n\nfunction isEditable(el) {\n return (\n matches(el, 'input,[contenteditable]') ||\n matches(el, 'select,[contenteditable]') ||\n matches(el, 'textarea,[contenteditable]') ||\n matches(el, 'button,[contenteditable]')\n );\n}\n\nfunction outerWidth(element) {\n var styles = get(element);\n return (\n toInt(styles.width) +\n toInt(styles.paddingLeft) +\n toInt(styles.paddingRight) +\n toInt(styles.borderLeftWidth) +\n toInt(styles.borderRightWidth)\n );\n}\n\nvar env = {\n isWebKit:\n typeof document !== 'undefined' &&\n 'WebkitAppearance' in document.documentElement.style,\n supportsTouch:\n typeof window !== 'undefined' &&\n ('ontouchstart' in window ||\n ('maxTouchPoints' in window.navigator &&\n window.navigator.maxTouchPoints > 0) ||\n (window.DocumentTouch && document instanceof window.DocumentTouch)),\n supportsIePointer:\n typeof navigator !== 'undefined' && navigator.msMaxTouchPoints,\n isChrome:\n typeof navigator !== 'undefined' &&\n /Chrome/i.test(navigator && navigator.userAgent),\n};\n\nfunction updateGeometry(i) {\n var element = i.element;\n var roundedScrollTop = Math.floor(element.scrollTop);\n var rect = element.getBoundingClientRect();\n\n i.containerWidth = Math.round(rect.width);\n i.containerHeight = Math.round(rect.height);\n\n i.contentWidth = element.scrollWidth;\n i.contentHeight = element.scrollHeight;\n\n if (!element.contains(i.scrollbarXRail)) {\n // clean up and append\n queryChildren(element, cls.element.rail('x')).forEach(function (el) { return remove(el); }\n );\n element.appendChild(i.scrollbarXRail);\n }\n if (!element.contains(i.scrollbarYRail)) {\n // clean up and append\n queryChildren(element, cls.element.rail('y')).forEach(function (el) { return remove(el); }\n );\n element.appendChild(i.scrollbarYRail);\n }\n\n if (\n !i.settings.suppressScrollX &&\n i.containerWidth + i.settings.scrollXMarginOffset < i.contentWidth\n ) {\n i.scrollbarXActive = true;\n i.railXWidth = i.containerWidth - i.railXMarginWidth;\n i.railXRatio = i.containerWidth / i.railXWidth;\n i.scrollbarXWidth = getThumbSize(\n i,\n toInt((i.railXWidth * i.containerWidth) / i.contentWidth)\n );\n i.scrollbarXLeft = toInt(\n ((i.negativeScrollAdjustment + element.scrollLeft) *\n (i.railXWidth - i.scrollbarXWidth)) /\n (i.contentWidth - i.containerWidth)\n );\n } else {\n i.scrollbarXActive = false;\n }\n\n if (\n !i.settings.suppressScrollY &&\n i.containerHeight + i.settings.scrollYMarginOffset < i.contentHeight\n ) {\n i.scrollbarYActive = true;\n i.railYHeight = i.containerHeight - i.railYMarginHeight;\n i.railYRatio = i.containerHeight / i.railYHeight;\n i.scrollbarYHeight = getThumbSize(\n i,\n toInt((i.railYHeight * i.containerHeight) / i.contentHeight)\n );\n i.scrollbarYTop = toInt(\n (roundedScrollTop * (i.railYHeight - i.scrollbarYHeight)) /\n (i.contentHeight - i.containerHeight)\n );\n } else {\n i.scrollbarYActive = false;\n }\n\n if (i.scrollbarXLeft >= i.railXWidth - i.scrollbarXWidth) {\n i.scrollbarXLeft = i.railXWidth - i.scrollbarXWidth;\n }\n if (i.scrollbarYTop >= i.railYHeight - i.scrollbarYHeight) {\n i.scrollbarYTop = i.railYHeight - i.scrollbarYHeight;\n }\n\n updateCss(element, i);\n\n if (i.scrollbarXActive) {\n element.classList.add(cls.state.active('x'));\n } else {\n element.classList.remove(cls.state.active('x'));\n i.scrollbarXWidth = 0;\n i.scrollbarXLeft = 0;\n element.scrollLeft = i.isRtl === true ? i.contentWidth : 0;\n }\n if (i.scrollbarYActive) {\n element.classList.add(cls.state.active('y'));\n } else {\n element.classList.remove(cls.state.active('y'));\n i.scrollbarYHeight = 0;\n i.scrollbarYTop = 0;\n element.scrollTop = 0;\n }\n}\n\nfunction getThumbSize(i, thumbSize) {\n if (i.settings.minScrollbarLength) {\n thumbSize = Math.max(thumbSize, i.settings.minScrollbarLength);\n }\n if (i.settings.maxScrollbarLength) {\n thumbSize = Math.min(thumbSize, i.settings.maxScrollbarLength);\n }\n return thumbSize;\n}\n\nfunction updateCss(element, i) {\n var xRailOffset = { width: i.railXWidth };\n var roundedScrollTop = Math.floor(element.scrollTop);\n\n if (i.isRtl) {\n xRailOffset.left =\n i.negativeScrollAdjustment +\n element.scrollLeft +\n i.containerWidth -\n i.contentWidth;\n } else {\n xRailOffset.left = element.scrollLeft;\n }\n if (i.isScrollbarXUsingBottom) {\n xRailOffset.bottom = i.scrollbarXBottom - roundedScrollTop;\n } else {\n xRailOffset.top = i.scrollbarXTop + roundedScrollTop;\n }\n set(i.scrollbarXRail, xRailOffset);\n\n var yRailOffset = { top: roundedScrollTop, height: i.railYHeight };\n if (i.isScrollbarYUsingRight) {\n if (i.isRtl) {\n yRailOffset.right =\n i.contentWidth -\n (i.negativeScrollAdjustment + element.scrollLeft) -\n i.scrollbarYRight -\n i.scrollbarYOuterWidth -\n 9;\n } else {\n yRailOffset.right = i.scrollbarYRight - element.scrollLeft;\n }\n } else {\n if (i.isRtl) {\n yRailOffset.left =\n i.negativeScrollAdjustment +\n element.scrollLeft +\n i.containerWidth * 2 -\n i.contentWidth -\n i.scrollbarYLeft -\n i.scrollbarYOuterWidth;\n } else {\n yRailOffset.left = i.scrollbarYLeft + element.scrollLeft;\n }\n }\n set(i.scrollbarYRail, yRailOffset);\n\n set(i.scrollbarX, {\n left: i.scrollbarXLeft,\n width: i.scrollbarXWidth - i.railBorderXWidth,\n });\n set(i.scrollbarY, {\n top: i.scrollbarYTop,\n height: i.scrollbarYHeight - i.railBorderYWidth,\n });\n}\n\nfunction clickRail(i) {\n var element = i.element;\n\n i.event.bind(i.scrollbarY, 'mousedown', function (e) { return e.stopPropagation(); });\n i.event.bind(i.scrollbarYRail, 'mousedown', function (e) {\n var positionTop =\n e.pageY -\n window.pageYOffset -\n i.scrollbarYRail.getBoundingClientRect().top;\n var direction = positionTop > i.scrollbarYTop ? 1 : -1;\n\n i.element.scrollTop += direction * i.containerHeight;\n updateGeometry(i);\n\n e.stopPropagation();\n });\n\n i.event.bind(i.scrollbarX, 'mousedown', function (e) { return e.stopPropagation(); });\n i.event.bind(i.scrollbarXRail, 'mousedown', function (e) {\n var positionLeft =\n e.pageX -\n window.pageXOffset -\n i.scrollbarXRail.getBoundingClientRect().left;\n var direction = positionLeft > i.scrollbarXLeft ? 1 : -1;\n\n i.element.scrollLeft += direction * i.containerWidth;\n updateGeometry(i);\n\n e.stopPropagation();\n });\n}\n\nfunction dragThumb(i) {\n bindMouseScrollHandler(i, [\n 'containerWidth',\n 'contentWidth',\n 'pageX',\n 'railXWidth',\n 'scrollbarX',\n 'scrollbarXWidth',\n 'scrollLeft',\n 'x',\n 'scrollbarXRail' ]);\n bindMouseScrollHandler(i, [\n 'containerHeight',\n 'contentHeight',\n 'pageY',\n 'railYHeight',\n 'scrollbarY',\n 'scrollbarYHeight',\n 'scrollTop',\n 'y',\n 'scrollbarYRail' ]);\n}\n\nfunction bindMouseScrollHandler(\n i,\n ref\n) {\n var containerHeight = ref[0];\n var contentHeight = ref[1];\n var pageY = ref[2];\n var railYHeight = ref[3];\n var scrollbarY = ref[4];\n var scrollbarYHeight = ref[5];\n var scrollTop = ref[6];\n var y = ref[7];\n var scrollbarYRail = ref[8];\n\n var element = i.element;\n\n var startingScrollTop = null;\n var startingMousePageY = null;\n var scrollBy = null;\n\n function mouseMoveHandler(e) {\n if (e.touches && e.touches[0]) {\n e[pageY] = e.touches[0].pageY;\n }\n element[scrollTop] =\n startingScrollTop + scrollBy * (e[pageY] - startingMousePageY);\n addScrollingClass(i, y);\n updateGeometry(i);\n\n e.stopPropagation();\n if (e.type.startsWith('touch') && e.changedTouches.length > 1) {\n e.preventDefault();\n }\n }\n\n function mouseUpHandler() {\n removeScrollingClass(i, y);\n i[scrollbarYRail].classList.remove(cls.state.clicking);\n i.event.unbind(i.ownerDocument, 'mousemove', mouseMoveHandler);\n }\n\n function bindMoves(e, touchMode) {\n startingScrollTop = element[scrollTop];\n if (touchMode && e.touches) {\n e[pageY] = e.touches[0].pageY;\n }\n startingMousePageY = e[pageY];\n scrollBy =\n (i[contentHeight] - i[containerHeight]) /\n (i[railYHeight] - i[scrollbarYHeight]);\n if (!touchMode) {\n i.event.bind(i.ownerDocument, 'mousemove', mouseMoveHandler);\n i.event.once(i.ownerDocument, 'mouseup', mouseUpHandler);\n e.preventDefault();\n } else {\n i.event.bind(i.ownerDocument, 'touchmove', mouseMoveHandler);\n }\n\n i[scrollbarYRail].classList.add(cls.state.clicking);\n\n e.stopPropagation();\n }\n\n i.event.bind(i[scrollbarY], 'mousedown', function (e) {\n bindMoves(e);\n });\n i.event.bind(i[scrollbarY], 'touchstart', function (e) {\n bindMoves(e, true);\n });\n}\n\nfunction keyboard(i) {\n var element = i.element;\n\n var elementHovered = function () { return matches(element, ':hover'); };\n var scrollbarFocused = function () { return matches(i.scrollbarX, ':focus') || matches(i.scrollbarY, ':focus'); };\n\n function shouldPreventDefault(deltaX, deltaY) {\n var scrollTop = Math.floor(element.scrollTop);\n if (deltaX === 0) {\n if (!i.scrollbarYActive) {\n return false;\n }\n if (\n (scrollTop === 0 && deltaY > 0) ||\n (scrollTop >= i.contentHeight - i.containerHeight && deltaY < 0)\n ) {\n return !i.settings.wheelPropagation;\n }\n }\n\n var scrollLeft = element.scrollLeft;\n if (deltaY === 0) {\n if (!i.scrollbarXActive) {\n return false;\n }\n if (\n (scrollLeft === 0 && deltaX < 0) ||\n (scrollLeft >= i.contentWidth - i.containerWidth && deltaX > 0)\n ) {\n return !i.settings.wheelPropagation;\n }\n }\n return true;\n }\n\n i.event.bind(i.ownerDocument, 'keydown', function (e) {\n if (\n (e.isDefaultPrevented && e.isDefaultPrevented()) ||\n e.defaultPrevented\n ) {\n return;\n }\n\n if (!elementHovered() && !scrollbarFocused()) {\n return;\n }\n\n var activeElement = document.activeElement\n ? document.activeElement\n : i.ownerDocument.activeElement;\n if (activeElement) {\n if (activeElement.tagName === 'IFRAME') {\n activeElement = activeElement.contentDocument.activeElement;\n } else {\n // go deeper if element is a webcomponent\n while (activeElement.shadowRoot) {\n activeElement = activeElement.shadowRoot.activeElement;\n }\n }\n if (isEditable(activeElement)) {\n return;\n }\n }\n\n var deltaX = 0;\n var deltaY = 0;\n\n switch (e.which) {\n case 37: // left\n if (e.metaKey) {\n deltaX = -i.contentWidth;\n } else if (e.altKey) {\n deltaX = -i.containerWidth;\n } else {\n deltaX = -30;\n }\n break;\n case 38: // up\n if (e.metaKey) {\n deltaY = i.contentHeight;\n } else if (e.altKey) {\n deltaY = i.containerHeight;\n } else {\n deltaY = 30;\n }\n break;\n case 39: // right\n if (e.metaKey) {\n deltaX = i.contentWidth;\n } else if (e.altKey) {\n deltaX = i.containerWidth;\n } else {\n deltaX = 30;\n }\n break;\n case 40: // down\n if (e.metaKey) {\n deltaY = -i.contentHeight;\n } else if (e.altKey) {\n deltaY = -i.containerHeight;\n } else {\n deltaY = -30;\n }\n break;\n case 32: // space bar\n if (e.shiftKey) {\n deltaY = i.containerHeight;\n } else {\n deltaY = -i.containerHeight;\n }\n break;\n case 33: // page up\n deltaY = i.containerHeight;\n break;\n case 34: // page down\n deltaY = -i.containerHeight;\n break;\n case 36: // home\n deltaY = i.contentHeight;\n break;\n case 35: // end\n deltaY = -i.contentHeight;\n break;\n default:\n return;\n }\n\n if (i.settings.suppressScrollX && deltaX !== 0) {\n return;\n }\n if (i.settings.suppressScrollY && deltaY !== 0) {\n return;\n }\n\n element.scrollTop -= deltaY;\n element.scrollLeft += deltaX;\n updateGeometry(i);\n\n if (shouldPreventDefault(deltaX, deltaY)) {\n e.preventDefault();\n }\n });\n}\n\nfunction wheel(i) {\n var element = i.element;\n\n function shouldPreventDefault(deltaX, deltaY) {\n var roundedScrollTop = Math.floor(element.scrollTop);\n var isTop = element.scrollTop === 0;\n var isBottom =\n roundedScrollTop + element.offsetHeight === element.scrollHeight;\n var isLeft = element.scrollLeft === 0;\n var isRight =\n element.scrollLeft + element.offsetWidth === element.scrollWidth;\n\n var hitsBound;\n\n // pick axis with primary direction\n if (Math.abs(deltaY) > Math.abs(deltaX)) {\n hitsBound = isTop || isBottom;\n } else {\n hitsBound = isLeft || isRight;\n }\n\n return hitsBound ? !i.settings.wheelPropagation : true;\n }\n\n function getDeltaFromEvent(e) {\n var deltaX = e.deltaX;\n var deltaY = -1 * e.deltaY;\n\n if (typeof deltaX === 'undefined' || typeof deltaY === 'undefined') {\n // OS X Safari\n deltaX = (-1 * e.wheelDeltaX) / 6;\n deltaY = e.wheelDeltaY / 6;\n }\n\n if (e.deltaMode && e.deltaMode === 1) {\n // Firefox in deltaMode 1: Line scrolling\n deltaX *= 10;\n deltaY *= 10;\n }\n\n if (deltaX !== deltaX && deltaY !== deltaY /* NaN checks */) {\n // IE in some mouse drivers\n deltaX = 0;\n deltaY = e.wheelDelta;\n }\n\n if (e.shiftKey) {\n // reverse axis with shift key\n return [-deltaY, -deltaX];\n }\n return [deltaX, deltaY];\n }\n\n function shouldBeConsumedByChild(target, deltaX, deltaY) {\n // FIXME: this is a workaround for \r\n ${options}\r\n \r\n
\r\n
\r\n
\r\n ${text}\r\n
\r\n
\r\n ${\r\n fullPagination\r\n ? ``\r\n : \"\"\r\n }\r\n \r\n \r\n ${\r\n fullPagination\r\n ? ``\r\n : \"\"\r\n }\r\n
\r\n\r\n`;\r\n};\r\n\r\nexport default pagination;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\n/* eslint-disable indent */\r\nconst ATTR_SORT_ICON = \"data-te-datatable-sort-icon-ref\";\r\nconst ATTR_HEADER_CHECKBOX = \"data-te-datatable-header-checkbox-ref\";\r\n\r\nconst columns = (\r\n columns,\r\n selectable,\r\n multi,\r\n bordered,\r\n sm,\r\n loading,\r\n sortIconTemplate,\r\n classes\r\n) => {\r\n const checkboxHeader = multi\r\n ? `\r\n \r\n
\r\n \r\n
\r\n \r\n `\r\n : '';\r\n const headers = columns.map((column, i) => {\r\n const fixedOffset = column.fixed\r\n ? columns\r\n .filter((cell, j) => cell.fixed === column.fixed && j < i)\r\n .reduce((a, b) => a + b.width, 0)\r\n : null;\r\n return `${\r\n column.sort\r\n ? `
${sortIconTemplate}`\r\n : \"\"\r\n } ${\r\n column.label\r\n }
`;\r\n });\r\n\r\n return [selectable ? checkboxHeader : \"\", ...headers].join(\"\\n\");\r\n};\r\n\r\nexport default columns;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\n/* eslint-disable indent */\r\nconst ATTR_ROW = \"data-te-datatable-row-ref\";\r\nconst ATTR_ROW_CHECKBOX = \"data-te-datatable-row-checkbox-ref\";\r\nconst ATTR_CELL = \"data-te-datatable-cell-ref\";\r\n\r\nconst rows = ({\r\n rows,\r\n columns,\r\n noFoundMessage,\r\n edit,\r\n selectable,\r\n loading,\r\n bordered,\r\n borderless,\r\n striped,\r\n hover,\r\n sm,\r\n classes,\r\n}) => {\r\n const rowsTemplate = rows.map((row) => {\r\n const checkbox = `\r\n \r\n
\r\n \r\n
\r\n `;\r\n const innerRow = columns\r\n .map((column, i) => {\r\n const style = {};\r\n\r\n if (column.width) {\r\n style[\"min-width\"] = `${column.width - 1}px`;\r\n style[\"max-width\"] = `${column.width}px`;\r\n style.width = `${column.width}px`;\r\n }\r\n if (column.fixed) {\r\n const fixedOffset = columns\r\n .filter((cell, j) => cell.fixed === column.fixed && j < i)\r\n .reduce((a, b) => a + b.width, 0);\r\n\r\n style[\r\n column.fixed === \"right\" ? \"right\" : \"left\"\r\n ] = `${fixedOffset}px`;\r\n }\r\n\r\n const cssText = Object.keys(style)\r\n .map((property) => `${property}: ${style[property]}`)\r\n .join(\"; \");\r\n\r\n return `${row[column.field]}`;\r\n })\r\n .join(\"\");\r\n\r\n return `${selectable ? checkbox : \"\"}${innerRow}`;\r\n });\r\n\r\n return rows.length > 0 || loading\r\n ? rowsTemplate.join(\"\\n\")\r\n : `${noFoundMessage}`;\r\n};\r\n\r\nexport default rows;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\n/* eslint-disable indent */\r\nimport paginationTemplate from \"./pagination\";\r\nimport generateColumns from \"./columns\";\r\nimport generateRows from \"./rows\";\r\n\r\nconst ATTR_BODY = \"data-te-datatable-inner-ref\";\r\nconst ATTR_HEADER = \"data-te-datatable-header-ref\";\r\n\r\nconst tableTemplate = ({\r\n columns,\r\n rows,\r\n noFoundMessage,\r\n edit,\r\n multi,\r\n selectable,\r\n loading,\r\n loadingMessage,\r\n pagination,\r\n bordered,\r\n borderless,\r\n striped,\r\n hover,\r\n fixedHeader,\r\n sm,\r\n sortIconTemplate,\r\n classes,\r\n}) => {\r\n const rowsTemplate = generateRows({\r\n rows,\r\n columns,\r\n noFoundMessage,\r\n edit,\r\n loading,\r\n selectable,\r\n bordered,\r\n borderless,\r\n striped,\r\n hover,\r\n sm,\r\n classes,\r\n });\r\n const columnsTemplate = generateColumns(\r\n columns,\r\n selectable,\r\n multi,\r\n bordered,\r\n sm,\r\n loading,\r\n sortIconTemplate,\r\n classes\r\n );\r\n\r\n const table = `\r\n
\r\n \r\n \r\n \r\n ${columnsTemplate}\r\n \r\n \r\n \r\n ${loading ? \"\" : rowsTemplate}\r\n \r\n
\r\n
\r\n${\r\n loading\r\n ? `\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

${loadingMessage}

\r\n`\r\n : \"\"\r\n}\r\n${pagination.enable ? paginationTemplate(pagination, loading, bordered) : \"\"}\r\n `;\r\n\r\n return { table, rows: rowsTemplate, column: columnsTemplate };\r\n};\r\n\r\nexport default tableTemplate;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nconst sort = ({ rows, field, order }) => {\r\n const sorted = rows.sort((a, b) => {\r\n let fieldA = a[field];\r\n let fieldB = b[field];\r\n\r\n if (typeof fieldA === \"string\") {\r\n fieldA = fieldA.toLowerCase();\r\n }\r\n if (typeof fieldB === \"string\") {\r\n fieldB = fieldB.toLowerCase();\r\n }\r\n\r\n if (fieldA < fieldB) {\r\n return order === \"desc\" ? 1 : -1;\r\n }\r\n if (fieldA > fieldB) {\r\n return order === \"desc\" ? -1 : 1;\r\n }\r\n return 0;\r\n });\r\n\r\n return sorted;\r\n};\r\n\r\nconst search = (rows, search, column) => {\r\n if (!search) return rows;\r\n\r\n const match = (entry) => {\r\n const div = document.createElement(\"div\");\r\n div.innerHTML = entry;\r\n entry = div.textContent || div.innerText || \"\";\r\n\r\n return entry.toString().toLowerCase().match(search.toLowerCase());\r\n };\r\n\r\n return rows.filter((row) => {\r\n if (column && typeof column === \"string\") {\r\n return match(row[column]);\r\n }\r\n\r\n let values = Object.values(row);\r\n\r\n if (column && Array.isArray(column)) {\r\n values = Object.keys(row)\r\n .filter((key) => column.includes(key))\r\n .map((key) => row[key]);\r\n }\r\n\r\n return (\r\n values.filter((value) => {\r\n return match(value);\r\n }).length > 0\r\n );\r\n });\r\n};\r\n\r\nconst paginate = ({ rows, entries, activePage }) => {\r\n const firstVisibleEntry = activePage * entries;\r\n return rows.slice(firstVisibleEntry, firstVisibleEntry + Number(entries));\r\n};\r\n\r\nexport { sort, search, paginate };\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport PerfectScrollbar from \"../../methods/perfect-scrollbar\";\r\nimport { typeCheckConfig } from \"../../util/index\";\r\nimport Data from \"../../dom/data\";\r\nimport EventHandler from \"../../dom/event-handler\";\r\nimport Manipulator from \"../../dom/manipulator\";\r\nimport SelectorEngine from \"../../dom/selector-engine\";\r\nimport tableTemplate from \"./html/table\"; //eslint-disable-line\r\nimport { search, sort, paginate } from \"./util\";\r\nimport Select from \"../../forms/select\";\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = \"datatable\";\r\nconst ATTR_NAME = `data-te-${NAME}`;\r\nconst DATA_KEY = `te.${NAME}`;\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\n\r\nconst ATTR_BODY = `[${ATTR_NAME}-inner-ref]`;\r\nconst ATTR_CELL = `[${ATTR_NAME}-cell-ref]`;\r\nconst ATTR_HEADER = `[${ATTR_NAME}-header-ref]`;\r\nconst ATTR_HEADER_CHECKBOX = `[${ATTR_NAME}-header-checkbox-ref]`;\r\nconst ATTR_PAGINATION_RIGHT = `[${ATTR_NAME}-pagination-right-ref]`;\r\nconst ATTR_PAGINATION_LEFT = `[${ATTR_NAME}-pagination-left-ref]`;\r\nconst ATTR_PAGINATION_START = `[${ATTR_NAME}-pagination-start-ref]`;\r\nconst ATTR_PAGINATION_END = `[${ATTR_NAME}-pagination-end-ref]`;\r\nconst ATTR_PAGINATION_NAV = `[${ATTR_NAME}-pagination-nav-ref]`;\r\nconst ATTR_SELECT = `[${ATTR_NAME}-select-ref]`;\r\nconst ATTR_SORT_ICON = `[${ATTR_NAME}-sort-icon-ref]`;\r\nconst ATTR_ROW = `[${ATTR_NAME}-row-ref]`;\r\nconst ATTR_ROW_CHECKBOX = `[${ATTR_NAME}-row-checkbox-ref]`;\r\n\r\nconst EVENT_SELECT = `selectRows${EVENT_KEY}`;\r\nconst EVENT_RENDER = `render${EVENT_KEY}`;\r\nconst EVENT_ROW_CLICK = `rowClick${EVENT_KEY}`;\r\nconst EVENT_UPDATE = `update${EVENT_KEY}`;\r\n\r\nconst sortIconTemplate = `\r\n \r\n`;\r\nconst paginationStartIconTemplate = `\r\n \r\n`;\r\nconst paginationLeftIconTemplate = `\r\n \r\n`;\r\nconst paginationRightIconTemplate = `\r\n \r\n`;\r\nconst paginationEndIconTemplate = `\r\n \r\n`;\r\n\r\nconst BORDER_COLOR_CLASSES = \"border-neutral-200 dark:border-neutral-500\";\r\nconst BORDERLESS_CLASSES = \"border-none\";\r\nconst CHECKBOX_HEADER_CLASSES =\r\n \"relative float-left -ml-[1.5rem] mr-[6px] mt-[0.15rem] h-[1.125rem] w-[1.125rem] appearance-none rounded-[0.25rem] border-[0.125rem] border-solid border-neutral-300 outline-none before:pointer-events-none before:absolute before:h-[0.875rem] before:w-[0.875rem] before:scale-0 before:rounded-full before:bg-transparent before:opacity-0 before:shadow-[0px_0px_0px_13px_transparent] before:content-[''] checked:border-primary checked:bg-primary checked:before:opacity-[0.16] checked:after:absolute checked:after:-mt-px checked:after:ml-[0.25rem] checked:after:block checked:after:h-[0.8125rem] checked:after:w-[0.375rem] checked:after:rotate-45 checked:after:border-[0.125rem] checked:after:border-l-0 checked:after:border-t-0 checked:after:border-solid checked:after:border-white checked:after:bg-transparent checked:after:content-[''] hover:cursor-pointer hover:before:opacity-[0.04] hover:before:shadow-[0px_0px_0px_13px_rgba(0,0,0,0.6)] focus:shadow-none focus:transition-[border-color_0.2s] focus:before:scale-100 focus:before:opacity-[0.12] focus:before:shadow-[0px_0px_0px_13px_rgba(0,0,0,0.6)] focus:before:transition-[box-shadow_0.2s,transform_0.2s] focus:after:absolute focus:after:z-[1] focus:after:block focus:after:h-[0.875rem] focus:after:w-[0.875rem] focus:after:rounded-[0.125rem] focus:after:content-[''] checked:focus:before:scale-100 checked:focus:before:shadow-[0px_0px_0px_13px_#3b71ca] checked:focus:before:transition-[box-shadow_0.2s,transform_0.2s] checked:focus:after:-mt-px checked:focus:after:ml-[0.25rem] checked:focus:after:h-[0.8125rem] checked:focus:after:w-[0.375rem] checked:focus:after:rotate-45 checked:focus:after:rounded-none checked:focus:after:border-[0.125rem] checked:focus:after:border-l-0 checked:focus:after:border-t-0 checked:focus:after:border-solid checked:focus:after:border-white checked:focus:after:bg-transparent dark:border-neutral-600 dark:checked:border-primary dark:checked:bg-primary dark:focus:before:shadow-[0px_0px_0px_13px_rgba(255,255,255,0.4)] dark:checked:focus:before:shadow-[0px_0px_0px_13px_#3b71ca] dark:border-neutral-400\";\r\nconst CHECKBOX_HEADER_WRAPPER_CLASSES =\r\n \"mb-[0.125rem] min-h-[1.5rem] pl-[1.5rem] ml-3 flex items-center\";\r\nconst CHECKBOX_ROW_CLASSES =\r\n \"relative float-left -ml-[1.5rem] mr-[6px] mt-[0.15rem] h-[1.125rem] w-[1.125rem] appearance-none rounded-[0.25rem] border-[0.125rem] border-solid border-neutral-300 outline-none before:pointer-events-none before:absolute before:h-[0.875rem] before:w-[0.875rem] before:scale-0 before:rounded-full before:bg-transparent before:opacity-0 before:shadow-[0px_0px_0px_13px_transparent] before:content-[''] checked:border-primary checked:bg-primary checked:before:opacity-[0.16] checked:after:absolute checked:after:-mt-px checked:after:ml-[0.25rem] checked:after:block checked:after:h-[0.8125rem] checked:after:w-[0.375rem] checked:after:rotate-45 checked:after:border-[0.125rem] checked:after:border-l-0 checked:after:border-t-0 checked:after:border-solid checked:after:border-white checked:after:bg-transparent checked:after:content-[''] hover:cursor-pointer hover:before:opacity-[0.04] hover:before:shadow-[0px_0px_0px_13px_rgba(0,0,0,0.6)] focus:shadow-none focus:transition-[border-color_0.2s] focus:before:scale-100 focus:before:opacity-[0.12] focus:before:shadow-[0px_0px_0px_13px_rgba(0,0,0,0.6)] focus:before:transition-[box-shadow_0.2s,transform_0.2s] focus:after:absolute focus:after:z-[1] focus:after:block focus:after:h-[0.875rem] focus:after:w-[0.875rem] focus:after:rounded-[0.125rem] focus:after:content-[''] checked:focus:before:scale-100 checked:focus:before:shadow-[0px_0px_0px_13px_#3b71ca] checked:focus:before:transition-[box-shadow_0.2s,transform_0.2s] checked:focus:after:-mt-px checked:focus:after:ml-[0.25rem] checked:focus:after:h-[0.8125rem] checked:focus:after:w-[0.375rem] checked:focus:after:rotate-45 checked:focus:after:rounded-none checked:focus:after:border-[0.125rem] checked:focus:after:border-l-0 checked:focus:after:border-t-0 checked:focus:after:border-solid checked:focus:after:border-white checked:focus:after:bg-transparent dark:border-neutral-600 dark:checked:border-primary dark:checked:bg-primary dark:focus:before:shadow-[0px_0px_0px_13px_rgba(255,255,255,0.4)] dark:checked:focus:before:shadow-[0px_0px_0px_13px_#3b71ca] dark:border-neutral-400\";\r\nconst CHECKBOX_ROW_WRAPPER_CLASSES =\r\n \"mb-[0.125rem] min-h-[1.5rem] pl-[1.5rem] ml-3 flex items-center\";\r\nconst COLOR_CLASSES = \"bg-white dark:bg-neutral-800\";\r\nconst COLUMNS_CLASSES =\r\n \"py-4 pl-1 text-clip overflow-hidden text-[#212529] dark:text-white\";\r\nconst EDIT_CLASSES = \"focus:outline-none\";\r\nconst FIXED_HEADER_CLASSES = \"sticky top-0 z-30\";\r\nconst FIXED_HEADER_BODY_CLASSES = \"sticky z-10 bg-inherit\";\r\nconst HOVER_ROW_CLASSES = \"hover:bg-neutral-100 dark:hover:bg-neutral-700\";\r\nconst LOADING_COLUMN_CLASSES =\r\n \"pointer-events-none cursor-none text-neutral-400 dark:text-neutral-300\";\r\nconst LOADING_ITEMS_WRAPPER_CLASSES = \"h-[2px] relative w-full overflow-hidden\";\r\nconst LOADING_MESSAGE_CLASSES =\r\n \"text-center text-neutral-500 font-ligh text-sm my-4 dark:text-neutral-400\";\r\nconst LOADING_PAGINATION_NAV_CLASSES = \"text-neutral-500 dark:text-neutral-300\";\r\nconst LOADING_PAGINATION_ROWS_TEXT_CLASSES =\r\n \"text-neutral-500 dark:text-neutral-300\";\r\nconst LOADING_PAGINATION_SELECT_WRAPPER_CLASSES =\r\n \"pointer-events-none cursor-none\";\r\nconst LOADING_PROGRESS_BAR_CLASSES =\r\n \"h-full w-[45%] bg-primary-400 dark:bg-primary-600\";\r\nconst LOADING_PROGRESS_BAR_WRAPPER_CLASSES =\r\n \"h-full animate-[progress_3s_ease-in-out_infinite]\";\r\nconst NO_FOUND_MESSAGE_CLASSES =\r\n \"pl-2 py-3 font-light text-sm dark:text-neutral-300\";\r\nconst NO_FOUND_MESSAGE_WRAPPER_CLASSES = \"border-b\";\r\nconst PAGINATION_CLASSES =\r\n \"flex md:flex-row justify-end items-center py-2 space-x-4 text-sm flex-col leading-[1.6]\";\r\nconst PAGINATION_BORDERED_CLASSES = \"border border-t-0\";\r\nconst PAGINATION_BUTTONS_WRAPPER_CLASSES =\r\n \"order-1 my-3 md:order-none md:my-0 md:pr-1\";\r\nconst PAGINATION_END_BUTTON_CLASSES =\r\n \"inline-block rounded p-2.5 text-xs font-medium uppercase leading-normal transition duration-150 ease-in-out hover:bg-neutral-100 hover:text-primary-600 focus:text-primary-600 focus:outline-none focus:ring-0 active:text-primary-700 disabled:text-slate-300 disabled:hover:bg-transparent dark:hover:bg-neutral-500 dark:disabled:hover:bg-transparent dark:disabled:text-neutral-600\";\r\nconst PAGINATION_LEFT_BUTTON_CLASSES =\r\n \"inline-block rounded p-2.5 font-medium uppercase leading-normal transition duration-150 ease-in-out hover:bg-neutral-100 hover:text-primary-600 focus:text-primary-600 focus:outline-none focus:ring-0 active:text-primary-700 disabled:text-slate-300 disabled:hover:bg-transparent dark:hover:bg-neutral-500 dark:disabled:hover:bg-transparent dark:disabled:text-neutral-600\";\r\nconst PAGINATION_NAV_CLASSES = \"font-normal order-2 mb-3 md:order-none md:mb-0\";\r\nconst PAGINATION_RIGHT_BUTTON_CLASSES =\r\n \"inline-block rounded p-2.5 font-medium uppercase leading-normal transition duration-150 ease-in-out hover:bg-neutral-100 hover:text-primary-600 focus:text-primary-600 focus:outline-none focus:ring-0 active:text-primary-700 disabled:text-slate-300 disabled:hover:bg-transparent dark:hover:bg-neutral-500 dark:disabled:hover:bg-transparent dark:disabled:text-neutral-600\";\r\nconst PAGINATION_ROWS_TEXT_CLASSES = \"font-light\";\r\nconst PAGINATION_START_BUTTON_CLASSES =\r\n \"inline-block rounded p-2.5 font-medium uppercase leading-normal transition duration-150 ease-in-out hover:bg-neutral-100 hover:text-primary-600 focus:text-primary-600 focus:outline-none focus:ring-0 active:text-primary-700 disabled:text-slate-300 disabled:hover:bg-transparent dark:hover:bg-neutral-500 dark:disabled:hover:bg-transparent dark:disabled:text-neutral-600\";\r\nconst ROW_CLASSES = \"border-b\";\r\nconst ROW_ANIMATION_CLASSES =\r\n \"transition ease-in-out duration-300 motion-reduce:transition-none\";\r\nconst ROW_ITEM_CLASSES =\r\n \"whitespace-nowrap text-clip overflow-hidden px-[1.4rem] py-4\";\r\nconst SCROLL_CLASSES = \"relative\";\r\nconst SELECTABLE_ROW_CLASSES = \"!bg-neutral-100 dark:!bg-neutral-600\";\r\nconst SELECT_ITEMS_WRAPPER_CLASSES =\r\n \"flex items-center space-x-4 order-3 md:order-none\";\r\nconst SELECT_WRAPPER_CLASSES = \"w-[70px]\";\r\nconst SM_CLASSES = \"!py-2\";\r\nconst SORT_ICON_CLASSES =\r\n \"w-[15px] h-[10px] origin-bottom font-black mr-1 opacity-0 text-neutral-500 group-hover:opacity-100 transition hover:ease-in-out transform ease-linear duration-300 motion-reduce:transition-none dark:text-neutral-400\";\r\nconst SORT_ICON_WRAPPER_CLASSES = \"flex flex-row group\";\r\nconst STRIPED_CLASSES =\r\n \"[&:nth-child(odd)]:bg-neutral-50 [&:nth-child(odd)]:dark:bg-neutral-700\";\r\nconst TABLE_BORDERED_CLASSES = \"border\";\r\nconst TABLE_HEADER_CLASSES = \"border-b font-normal px-[1.4rem]\";\r\nconst TABLE_CLASSES = \"text-left text-sm font-light w-full leading-[1.6]\";\r\n\r\nconst TYPE_OPTIONS = {\r\n bordered: \"boolean\",\r\n borderless: \"boolean\",\r\n clickableRows: \"boolean\",\r\n defaultValue: \"string\",\r\n edit: \"boolean\",\r\n entries: \"(number|string)\",\r\n entriesOptions: \"array\",\r\n fullPagination: \"boolean\",\r\n hover: \"boolean\",\r\n loading: \"boolean\",\r\n loadingMessage: \"string\",\r\n maxWidth: \"(null|number|string)\",\r\n maxHeight: \"(null|number|string)\",\r\n multi: \"boolean\",\r\n noFoundMessage: \"string\",\r\n pagination: \"boolean\",\r\n selectable: \"boolean\",\r\n sm: \"boolean\",\r\n sortField: \"(null|string)\",\r\n sortOrder: \"string\",\r\n fixedHeader: \"boolean\",\r\n striped: \"boolean\",\r\n rowsText: \"string\",\r\n ofText: \"string\",\r\n allText: \"string\",\r\n forceSort: \"boolean\",\r\n sortIconTemplate: \"string\",\r\n paginationStartIconTemplate: \"string\",\r\n paginationEndIconTemplate: \"string\",\r\n paginationLeftIconTemplate: \"string\",\r\n paginationRightIconTemplate: \"string\",\r\n};\r\n\r\nconst DEFAULT_OPTIONS = {\r\n bordered: false,\r\n borderless: false,\r\n clickableRows: false,\r\n defaultValue: \"-\",\r\n edit: false,\r\n entries: 10,\r\n entriesOptions: [10, 25, 50, 200],\r\n fixedHeader: false,\r\n fullPagination: false,\r\n hover: false,\r\n loading: false,\r\n loadingMessage: \"Loading results...\",\r\n maxWidth: null,\r\n maxHeight: null,\r\n multi: false,\r\n noFoundMessage: \"No matching results found\",\r\n pagination: true,\r\n selectable: false,\r\n sm: false,\r\n sortField: null,\r\n sortOrder: \"asc\",\r\n striped: false,\r\n rowsText: \"Rows per page:\",\r\n ofText: \"of\",\r\n allText: \"All\",\r\n forceSort: false,\r\n sortIconTemplate: sortIconTemplate,\r\n paginationStartIconTemplate: paginationStartIconTemplate,\r\n paginationEndIconTemplate: paginationEndIconTemplate,\r\n paginationLeftIconTemplate: paginationLeftIconTemplate,\r\n paginationRightIconTemplate: paginationRightIconTemplate,\r\n};\r\n\r\nconst TYPE_COLUMN_FIELDS = {\r\n label: \"string\",\r\n field: \"string\",\r\n fixed: \"(boolean|string)\",\r\n format: \"(function|null)\",\r\n width: \"(number|null)\",\r\n sort: \"boolean\",\r\n columnIndex: \"number\",\r\n};\r\n\r\nconst DEFAULT_COLUMN = {\r\n label: \"\",\r\n field: \"\",\r\n fixed: false,\r\n format: null,\r\n width: null,\r\n sort: true,\r\n columnIndex: 0,\r\n};\r\n\r\nconst DefaultClasses = {\r\n table: TABLE_CLASSES,\r\n tableHeader: TABLE_HEADER_CLASSES,\r\n column: COLUMNS_CLASSES,\r\n pagination: PAGINATION_CLASSES,\r\n selectWrapper: SELECT_WRAPPER_CLASSES,\r\n scroll: SCROLL_CLASSES,\r\n tableBordered: TABLE_BORDERED_CLASSES,\r\n paginationBordered: PAGINATION_BORDERED_CLASSES,\r\n borderless: BORDERLESS_CLASSES,\r\n checkboxRowWrapper: CHECKBOX_ROW_WRAPPER_CLASSES,\r\n checkboxRow: CHECKBOX_ROW_CLASSES,\r\n checkboxHeaderWrapper: CHECKBOX_HEADER_WRAPPER_CLASSES,\r\n checkboxHeader: CHECKBOX_HEADER_CLASSES,\r\n row: ROW_CLASSES,\r\n rowItem: ROW_ITEM_CLASSES,\r\n striped: STRIPED_CLASSES,\r\n sortIconWrapper: SORT_ICON_WRAPPER_CLASSES,\r\n sortIcon: SORT_ICON_CLASSES,\r\n paginationRowsText: PAGINATION_ROWS_TEXT_CLASSES,\r\n paginationNav: PAGINATION_NAV_CLASSES,\r\n paginationButtonsWrapper: PAGINATION_BUTTONS_WRAPPER_CLASSES,\r\n hoverRow: HOVER_ROW_CLASSES,\r\n borderColor: BORDER_COLOR_CLASSES,\r\n color: COLOR_CLASSES,\r\n fixedHeader: FIXED_HEADER_CLASSES,\r\n fixedHeaderBody: FIXED_HEADER_BODY_CLASSES,\r\n selectableRow: SELECTABLE_ROW_CLASSES,\r\n rowAnimation: ROW_ANIMATION_CLASSES,\r\n sm: SM_CLASSES,\r\n edit: EDIT_CLASSES,\r\n selectItemsWrapper: SELECT_ITEMS_WRAPPER_CLASSES,\r\n paginationStartButton: PAGINATION_START_BUTTON_CLASSES,\r\n paginationLeftButton: PAGINATION_LEFT_BUTTON_CLASSES,\r\n paginationRightButton: PAGINATION_RIGHT_BUTTON_CLASSES,\r\n paginationEndButton: PAGINATION_END_BUTTON_CLASSES,\r\n loadingItemsWrapper: LOADING_ITEMS_WRAPPER_CLASSES,\r\n loadingProgressBarWrapper: LOADING_PROGRESS_BAR_WRAPPER_CLASSES,\r\n loadingProgressBar: LOADING_PROGRESS_BAR_CLASSES,\r\n loadingMessage: LOADING_MESSAGE_CLASSES,\r\n loadingPaginationRowsText: LOADING_PAGINATION_ROWS_TEXT_CLASSES,\r\n loadingPaginationSelectWrapper: LOADING_PAGINATION_SELECT_WRAPPER_CLASSES,\r\n loadingPaginationNav: LOADING_PAGINATION_NAV_CLASSES,\r\n loadingColumn: LOADING_COLUMN_CLASSES,\r\n noFoundMessageWrapper: NO_FOUND_MESSAGE_WRAPPER_CLASSES,\r\n noFoundMessage: NO_FOUND_MESSAGE_CLASSES,\r\n};\r\n\r\nconst DefaultClassesType = {\r\n table: \"string\",\r\n tableHeader: \"string\",\r\n column: \"string\",\r\n pagination: \"string\",\r\n selectWrapper: \"string\",\r\n scroll: \"string\",\r\n tableBordered: \"string\",\r\n paginationBordered: \"string\",\r\n borderless: \"string\",\r\n checkboxRowWrapper: \"string\",\r\n checkboxRow: \"string\",\r\n checkboxHeaderWrapper: \"string\",\r\n checkboxHeader: \"string\",\r\n row: \"string\",\r\n rowItem: \"string\",\r\n striped: \"string\",\r\n sortIconWrapper: \"string\",\r\n sortIcon: \"string\",\r\n paginationRowsText: \"string\",\r\n paginationNav: \"string\",\r\n paginationButtonsWrapper: \"string\",\r\n hoverRow: \"string\",\r\n borderColor: \"string\",\r\n color: \"string\",\r\n fixedHeader: \"string\",\r\n fixedHeaderBody: \"string\",\r\n selectableRow: \"string\",\r\n rowAnimation: \"string\",\r\n sm: \"string\",\r\n edit: \"string\",\r\n selectItemsWrapper: \"string\",\r\n paginationStartButton: \"string\",\r\n paginationLeftButton: \"string\",\r\n paginationRightButton: \"string\",\r\n paginationEndButton: \"string\",\r\n loadingItemsWrapper: \"string\",\r\n loadingProgressBarWrapper: \"string\",\r\n loadingProgressBar: \"string\",\r\n loadingMessage: \"string\",\r\n loadingPaginationRowsText: \"string\",\r\n loadingPaginationSelectWrapper: \"string\",\r\n loadingPaginationNav: \"string\",\r\n loadingColumn: \"string\",\r\n noFoundMessageWrapper: \"string\",\r\n noFoundMessage: \"string\",\r\n};\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Datatable {\r\n constructor(element, data = {}, options = {}, classes = {}) {\r\n this._element = element;\r\n\r\n this._options = this._getOptions(options);\r\n this._classes = this._getClasses(classes);\r\n\r\n this._sortReverse = false;\r\n this._activePage = 0;\r\n\r\n this._search = \"\";\r\n this._searchColumn = null;\r\n\r\n this._paginationLeft = null;\r\n this._paginationRight = null;\r\n this._paginationStart = null;\r\n this._paginationEnd = null;\r\n this._select = null;\r\n this._selectInstance = null;\r\n\r\n this._selected = [];\r\n this._checkboxes = null;\r\n this._headerCheckbox = null;\r\n this._rows = this._getRows(data.rows);\r\n this._columns = this._getColumns(data.columns);\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n\r\n this._perfectScrollbar = null;\r\n this._setup();\r\n }\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n get columns() {\r\n return this._columns.map((column, index) => {\r\n let template = {\r\n ...DEFAULT_COLUMN,\r\n field: `field_${index}`,\r\n columnIndex: index,\r\n };\r\n\r\n if (typeof column === \"string\") {\r\n template.label = column;\r\n } else if (typeof column === \"object\") {\r\n template = {\r\n ...template,\r\n ...column,\r\n };\r\n }\r\n\r\n typeCheckConfig(\"column\", template, TYPE_COLUMN_FIELDS);\r\n\r\n return template;\r\n });\r\n }\r\n\r\n get rows() {\r\n return this._rows.map((row, index) => {\r\n const output = {\r\n rowIndex: index,\r\n };\r\n\r\n if (Array.isArray(row)) {\r\n this.columns.forEach((column, i) => {\r\n if (row[i] === 0) {\r\n output[column.field] = row[i];\r\n } else {\r\n output[column.field] = row[i] || this._options.defaultValue;\r\n }\r\n });\r\n } else if (typeof row === \"object\") {\r\n this.columns.forEach((column) => {\r\n if (row[column.field] === 0) {\r\n output[column.field] = row[column.field];\r\n } else {\r\n output[column.field] =\r\n row[column.field] || this._options.defaultValue;\r\n }\r\n });\r\n }\r\n\r\n return output;\r\n });\r\n }\r\n\r\n get searchResult() {\r\n return search(this.rows, this._search, this._searchColumn);\r\n }\r\n\r\n get computedRows() {\r\n let result = [...this.searchResult];\r\n\r\n if (this._options.sortOrder) {\r\n result = sort({\r\n rows: result,\r\n field: this._options.sortField,\r\n order: this._options.sortOrder,\r\n });\r\n }\r\n\r\n if (this._options.pagination) {\r\n if (this._options.entries === \"All\") {\r\n result = paginate({\r\n rows: result,\r\n entries: result.length,\r\n activePage: this._activePage,\r\n });\r\n } else {\r\n result = paginate({\r\n rows: result,\r\n entries: this._options.entries,\r\n activePage: this._activePage,\r\n });\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n get pages() {\r\n if (this._options.entries === \"All\") {\r\n return 1;\r\n }\r\n\r\n return Math.ceil(this.searchResult.length / this._options.entries);\r\n }\r\n\r\n get navigationText() {\r\n const firstVisibleEntry = this._activePage * this._options.entries;\r\n\r\n if (this.searchResult.length === 0) {\r\n return `0 ${this._options.ofText} 0`;\r\n }\r\n\r\n if (this._options.entries === \"All\") {\r\n return `1 - ${this.searchResult.length} ${this._options.ofText} ${this.searchResult.length}`;\r\n }\r\n\r\n return `${firstVisibleEntry + 1} - ${\r\n this.computedRows.length + firstVisibleEntry\r\n } ${this._options.ofText} ${this.searchResult.length}`;\r\n }\r\n\r\n get tableOptions() {\r\n return {\r\n classes: this._classes,\r\n columns: this.columns,\r\n rows: this.computedRows,\r\n noFoundMessage: this._options.noFoundMessage,\r\n edit: this._options.edit,\r\n loading: this._options.loading,\r\n loaderClass: this._options.loaderClass,\r\n loadingMessage: this._options.loadingMessage,\r\n selectable: this._options.selectable,\r\n multi: this._options.multi,\r\n bordered: this._options.bordered,\r\n borderless: this._options.borderless,\r\n striped: this._options.striped,\r\n hover: this._options.hover,\r\n fixedHeader: this._options.fixedHeader,\r\n sm: this._options.sm,\r\n sortIconTemplate: this._options.sortIconTemplate,\r\n pagination: {\r\n enable: this._options.pagination,\r\n text: this.navigationText,\r\n entries: this._options.entries,\r\n entriesOptions: this._options.entriesOptions,\r\n fullPagination: this._options.fullPagination,\r\n rowsText: this._options.rowsText,\r\n ofText: this._options.ofText,\r\n allText: this._options.allText,\r\n paginationStartIconTemplate: this._options.paginationStartIconTemplate,\r\n paginationLeftIconTemplate: this._options.paginationLeftIconTemplate,\r\n paginationRightIconTemplate: this._options.paginationRightIconTemplate,\r\n paginationEndIconTemplate: this._options.paginationEndIconTemplate,\r\n classes: this._classes,\r\n },\r\n forceSort: this._options.forceSort,\r\n };\r\n }\r\n\r\n // Public\r\n\r\n update(data, options = {}) {\r\n if (data && data.rows) {\r\n this._rows = data.rows;\r\n }\r\n\r\n if (data && data.columns) {\r\n this._columns = data.columns;\r\n }\r\n\r\n this._clearClassList(options);\r\n\r\n this._options = this._getOptions({ ...this._options, ...options });\r\n\r\n this._setup();\r\n\r\n this._performSort();\r\n }\r\n\r\n dispose() {\r\n if (this._selectInstance) {\r\n this._selectInstance.dispose();\r\n }\r\n\r\n Data.removeData(this._element, DATA_KEY);\r\n\r\n this._removeEventListeners();\r\n\r\n this._perfectScrollbar.destroy();\r\n\r\n this._element = null;\r\n }\r\n\r\n search(string, column) {\r\n this._search = string;\r\n\r\n this._searchColumn = column;\r\n\r\n this._activePage = 0;\r\n\r\n if (this._options.pagination) {\r\n this._toggleDisableState();\r\n }\r\n\r\n this._renderRows();\r\n\r\n if (this._options.maxHeight) {\r\n this._perfectScrollbar.element.scrollTop = 0;\r\n\r\n this._perfectScrollbar.update();\r\n }\r\n }\r\n\r\n sort(column, order = \"asc\") {\r\n this._options.sortOrder = order;\r\n\r\n if (typeof column === \"string\") {\r\n this._options.sortField = this.columns.find(\r\n (header) => header.label === column\r\n ).field;\r\n } else {\r\n this._options.sortField = column.field;\r\n }\r\n\r\n const icon = SelectorEngine.findOne(\r\n `[data-te-sort=\"${this._options.sortField}\"]`,\r\n this._element\r\n );\r\n\r\n this._activePage = 0;\r\n\r\n this._toggleDisableState();\r\n\r\n this._renderRows();\r\n\r\n this._setActiveSortIcon(icon);\r\n }\r\n\r\n setActivePage(index) {\r\n if (index < this.pages) {\r\n this._changeActivePage(index);\r\n }\r\n }\r\n\r\n // Private\r\n\r\n _getClasses(classes) {\r\n const dataAttributes = Manipulator.getDataClassAttributes(this._element);\r\n\r\n classes = {\r\n ...DefaultClasses,\r\n ...dataAttributes,\r\n ...classes,\r\n };\r\n\r\n typeCheckConfig(NAME, classes, DefaultClassesType);\r\n\r\n return classes;\r\n }\r\n\r\n _changeActivePage(index) {\r\n this._activePage = index;\r\n\r\n this._toggleDisableState();\r\n\r\n this._renderRows();\r\n }\r\n\r\n _clearClassList(options) {\r\n [\"hover\", \"bordered\", \"borderless\", \"sm\", \"striped\"].forEach((option) => {\r\n if (this._options[option] && !options[option]) {\r\n Manipulator.removeDataAttribute(`data-te-${option}`);\r\n }\r\n });\r\n }\r\n\r\n _emitSelectEvent() {\r\n EventHandler.trigger(this._element, EVENT_SELECT, {\r\n selectedRows: this.rows.filter(\r\n (row) => this._selected.indexOf(row.rowIndex) !== -1\r\n ),\r\n selectedIndexes: this._selected,\r\n allSelected: this._selected.length === this.rows.length,\r\n });\r\n }\r\n\r\n _getRows(rows = []) {\r\n const body = SelectorEngine.findOne(\"tbody\", this._element);\r\n\r\n if (!body) {\r\n return rows;\r\n }\r\n\r\n const tableRows = SelectorEngine.find(\"tr\", body).map((row) => {\r\n return SelectorEngine.find(\"td\", row).map((cell) => cell.innerHTML);\r\n });\r\n\r\n return [...tableRows, ...rows];\r\n }\r\n\r\n _getColumns(columns = []) {\r\n const head = SelectorEngine.findOne(\"thead\", this._element);\r\n\r\n if (!head) {\r\n return columns;\r\n }\r\n\r\n const headerRow = SelectorEngine.findOne(\"tr\", head);\r\n\r\n const headers = SelectorEngine.find(\"th\", headerRow).map((cell) => ({\r\n label: cell.innerHTML,\r\n ...Manipulator.getDataAttributes(cell),\r\n }));\r\n\r\n return [...headers, ...columns];\r\n }\r\n\r\n _getCSSValue(size) {\r\n if (typeof size === \"string\") {\r\n return size;\r\n }\r\n\r\n return `${size}px`;\r\n }\r\n\r\n _getOptions(options) {\r\n const config = {\r\n ...DEFAULT_OPTIONS,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...options,\r\n };\r\n\r\n typeCheckConfig(NAME, config, TYPE_OPTIONS);\r\n return config;\r\n }\r\n\r\n _setActiveRows() {\r\n SelectorEngine.find(ATTR_ROW, this._element).forEach((row) => {\r\n if (this._selected.includes(Manipulator.getDataAttribute(row, \"index\"))) {\r\n Manipulator.addClass(row, `active ${this._classes.selectableRow}`);\r\n } else {\r\n Manipulator.removeClass(row, `active ${this._classes.selectableRow}`);\r\n }\r\n });\r\n }\r\n\r\n _setEntries(e) {\r\n this._options = this._getOptions({\r\n ...this._options,\r\n entries: e.target.value,\r\n });\r\n\r\n if (this._activePage > this.pages - 1) {\r\n this._activePage = this.pages - 1;\r\n }\r\n\r\n this._toggleDisableState();\r\n\r\n this._renderRows();\r\n }\r\n\r\n _setSelected() {\r\n SelectorEngine.find(ATTR_ROW_CHECKBOX, this._element).forEach(\r\n (checkbox) => {\r\n const index = Manipulator.getDataAttribute(checkbox, \"rowIndex\");\r\n checkbox.checked = this._selected.includes(index);\r\n }\r\n );\r\n\r\n this._setActiveRows();\r\n }\r\n\r\n _setActiveSortIcon(active) {\r\n SelectorEngine.find(ATTR_SORT_ICON, this._element).forEach((icon) => {\r\n const angle =\r\n this._options.sortOrder === \"desc\" && icon === active ? 180 : 0;\r\n\r\n Manipulator.style(icon, {\r\n transform: `rotate(${angle}deg)`,\r\n });\r\n\r\n if (icon === active && this._options.sortOrder) {\r\n Manipulator.addClass(icon, `opacity-100`);\r\n } else {\r\n Manipulator.removeClass(icon, `opacity-100`);\r\n }\r\n });\r\n }\r\n\r\n _setup() {\r\n this._renderTable();\r\n\r\n if (this._options.pagination) {\r\n this._setupPagination();\r\n }\r\n\r\n if (this._options.edit) {\r\n this._setupEditable();\r\n }\r\n\r\n if (this._options.clickableRows) {\r\n this._setupClickableRows();\r\n }\r\n\r\n if (this._options.selectable) {\r\n this._setupSelectable();\r\n }\r\n\r\n this._setupScroll();\r\n\r\n this._setupSort();\r\n }\r\n\r\n _setupClickableRows() {\r\n SelectorEngine.find(ATTR_ROW, this._element).forEach((row) => {\r\n const index = Manipulator.getDataAttribute(row, \"index\");\r\n Manipulator.addClass(row, `cursor-pointer`);\r\n EventHandler.on(row, \"click\", (e) => {\r\n if (!SelectorEngine.matches(e.target, ATTR_ROW_CHECKBOX)) {\r\n EventHandler.trigger(this._element, EVENT_ROW_CLICK, {\r\n index,\r\n row: this.rows[index],\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n _setupEditable() {\r\n SelectorEngine.find(ATTR_ROW, this._element).forEach((row) => {\r\n const index = Manipulator.getDataAttribute(row, \"index\");\r\n SelectorEngine.find(ATTR_CELL, row).forEach((cell) => {\r\n EventHandler.on(cell, \"input\", (e) => this._updateRow(e, index));\r\n });\r\n });\r\n }\r\n\r\n _setupScroll() {\r\n const datatableBody = SelectorEngine.findOne(ATTR_BODY, this._element);\r\n\r\n const style = {};\r\n\r\n if (this._options.maxHeight) {\r\n style.maxHeight = this._getCSSValue(this._options.maxHeight);\r\n }\r\n\r\n if (this._options.maxWidth) {\r\n const width = this._getCSSValue(this._options.maxWidth);\r\n\r\n style.maxWidth = width;\r\n\r\n Manipulator.style(this._element, { maxWidth: width });\r\n }\r\n\r\n Manipulator.style(datatableBody, style);\r\n Manipulator.addClass(datatableBody, `${this._classes.scroll}`);\r\n\r\n if (this._options.fixedHeader) {\r\n let headers = SelectorEngine.find(ATTR_HEADER, this._element);\r\n\r\n if (this._options.selectable) {\r\n headers = headers.filter((header, index) => {\r\n Manipulator.addClass(\r\n header,\r\n `${this._classes.fixedHeader} ${this._classes.color}`\r\n );\r\n\r\n return index !== 0;\r\n });\r\n }\r\n\r\n headers.forEach((header, i) => {\r\n Manipulator.addClass(\r\n header,\r\n `${this._classes.fixedHeader} ${this._classes.color}`\r\n );\r\n\r\n if (this.columns[i].fixed) {\r\n Manipulator.addClass(header, `!z-40`);\r\n }\r\n });\r\n }\r\n\r\n this._perfectScrollbar = new PerfectScrollbar(datatableBody);\r\n }\r\n\r\n _setupSort() {\r\n SelectorEngine.find(ATTR_SORT_ICON, this._element).forEach((icon) => {\r\n const field = Manipulator.getDataAttribute(icon, \"sort\");\r\n const [header] = SelectorEngine.parents(icon, \"th\");\r\n if (this.columns.sort) {\r\n Manipulator.addClass(header, `cursor-pointer`);\r\n } else {\r\n return;\r\n }\r\n\r\n if (field === this._options.sortField) {\r\n this._setActiveSortIcon(icon);\r\n }\r\n\r\n EventHandler.on(header, \"click\", () => {\r\n if (\r\n this._options.sortField === field &&\r\n this._options.sortOrder === \"asc\"\r\n ) {\r\n this._options.sortOrder = \"desc\";\r\n } else if (\r\n this._options.sortField === field &&\r\n this._options.sortOrder === \"desc\"\r\n ) {\r\n this._options.sortOrder = this._options.forceSort ? \"asc\" : null;\r\n } else {\r\n this._options.sortOrder = \"asc\";\r\n }\r\n\r\n this._options.sortField = field;\r\n\r\n this._activePage = 0;\r\n\r\n this._performSort();\r\n\r\n this._setActiveSortIcon(icon);\r\n });\r\n });\r\n }\r\n\r\n _performSort() {\r\n this._toggleDisableState();\r\n\r\n this._renderRows();\r\n }\r\n\r\n _setupSelectable() {\r\n this._checkboxes = SelectorEngine.find(ATTR_ROW_CHECKBOX, this._element);\r\n\r\n this._headerCheckbox = SelectorEngine.findOne(\r\n ATTR_HEADER_CHECKBOX,\r\n this._element\r\n );\r\n\r\n EventHandler.on(this._headerCheckbox, \"input\", (e) =>\r\n this._toggleSelectAll(e)\r\n );\r\n\r\n this._checkboxes.forEach((checkbox) => {\r\n const rowIndex = Manipulator.getDataAttribute(checkbox, \"rowIndex\");\r\n\r\n EventHandler.on(checkbox, \"input\", (e) =>\r\n this._toggleSelectRow(e, rowIndex)\r\n );\r\n });\r\n }\r\n\r\n _setupPagination() {\r\n this._paginationRight = SelectorEngine.findOne(\r\n ATTR_PAGINATION_RIGHT,\r\n this._element\r\n );\r\n\r\n this._paginationLeft = SelectorEngine.findOne(\r\n ATTR_PAGINATION_LEFT,\r\n this._element\r\n );\r\n\r\n EventHandler.on(this._paginationRight, \"click\", () =>\r\n this._changeActivePage(this._activePage + 1)\r\n );\r\n\r\n EventHandler.on(this._paginationLeft, \"click\", () =>\r\n this._changeActivePage(this._activePage - 1)\r\n );\r\n\r\n if (this._options.fullPagination) {\r\n this._paginationStart = SelectorEngine.findOne(\r\n ATTR_PAGINATION_START,\r\n this._element\r\n );\r\n\r\n this._paginationEnd = SelectorEngine.findOne(\r\n ATTR_PAGINATION_END,\r\n this._element\r\n );\r\n\r\n EventHandler.on(this._paginationStart, \"click\", () =>\r\n this._changeActivePage(0)\r\n );\r\n\r\n EventHandler.on(this._paginationEnd, \"click\", () =>\r\n this._changeActivePage(this.pages - 1)\r\n );\r\n }\r\n\r\n this._toggleDisableState();\r\n\r\n this._setupPaginationSelect();\r\n }\r\n\r\n _setupPaginationSelect() {\r\n this._select = SelectorEngine.findOne(ATTR_SELECT, this._element);\r\n\r\n this._selectInstance = new Select(this._select);\r\n\r\n EventHandler.on(this._select, \"valueChange.te.select\", (e) =>\r\n this._setEntries(e)\r\n );\r\n }\r\n\r\n _removeEventListeners() {\r\n if (this._options.pagination) {\r\n EventHandler.off(this._paginationRight, \"click\");\r\n\r\n EventHandler.off(this._paginationLeft, \"click\");\r\n\r\n EventHandler.off(this._select, \"valueChange.te.select\");\r\n\r\n if (this._options.fullPagination) {\r\n EventHandler.off(this._paginationStart, \"click\");\r\n\r\n EventHandler.off(this._paginationEnd, \"click\");\r\n }\r\n }\r\n\r\n if (this._options.edit) {\r\n SelectorEngine.find(ATTR_CELL, this._element).forEach((cell) => {\r\n EventHandler.off(cell, \"input\");\r\n });\r\n }\r\n\r\n if (this._options.clickableRows) {\r\n SelectorEngine.find(ATTR_ROW, this._element).forEach((row) => {\r\n EventHandler.off(row, \"click\");\r\n });\r\n }\r\n\r\n SelectorEngine.find(ATTR_SORT_ICON, this._element).forEach((icon) => {\r\n const [header] = SelectorEngine.parents(icon, \"th\");\r\n\r\n EventHandler.off(header, \"click\");\r\n });\r\n\r\n if (this._options.selectable) {\r\n EventHandler.off(this._headerCheckbox, \"input\");\r\n\r\n this._checkboxes.forEach((checkbox) => {\r\n EventHandler.off(checkbox, \"input\");\r\n });\r\n }\r\n }\r\n\r\n _renderTable() {\r\n this._element.innerHTML = tableTemplate(this.tableOptions).table;\r\n\r\n this._formatCells();\r\n\r\n EventHandler.trigger(this._element, EVENT_RENDER);\r\n }\r\n\r\n _renderRows() {\r\n const body = SelectorEngine.findOne(\"tbody\", this._element);\r\n\r\n if (this._options.pagination) {\r\n const navigation = SelectorEngine.findOne(\r\n ATTR_PAGINATION_NAV,\r\n this._element\r\n );\r\n navigation.innerText = this.navigationText;\r\n }\r\n\r\n body.innerHTML = tableTemplate(this.tableOptions).rows;\r\n\r\n this._formatCells();\r\n\r\n if (this._options.edit) {\r\n this._setupEditable();\r\n }\r\n\r\n if (this._options.selectable) {\r\n this._setupSelectable();\r\n\r\n this._setSelected();\r\n }\r\n\r\n if (this._options.clickableRows) {\r\n this._setupClickableRows();\r\n }\r\n\r\n EventHandler.trigger(this._element, EVENT_RENDER);\r\n }\r\n\r\n _formatCells() {\r\n const rows = SelectorEngine.find(ATTR_ROW, this._element);\r\n\r\n rows.forEach((row) => {\r\n const index = Manipulator.getDataAttribute(row, \"index\");\r\n\r\n const cells = SelectorEngine.find(ATTR_CELL, row);\r\n\r\n cells.forEach((cell) => {\r\n const field = Manipulator.getDataAttribute(cell, \"field\");\r\n\r\n const column = this.columns.find((column) => column.field === field);\r\n\r\n if (column && column.format !== null) {\r\n column.format(cell, this.rows[index][field]);\r\n }\r\n });\r\n });\r\n }\r\n\r\n _toggleDisableState() {\r\n if (this._options.pagination === false) {\r\n return;\r\n }\r\n if (this._activePage === 0 || this._options.loading) {\r\n this._paginationLeft.setAttribute(\"disabled\", \"\");\r\n\r\n if (this._options.fullPagination) {\r\n this._paginationStart.setAttribute(\"disabled\", \"\");\r\n }\r\n } else {\r\n this._paginationLeft.removeAttribute(\"disabled\");\r\n if (this._options.fullPagination) {\r\n this._paginationStart.removeAttribute(\"disabled\");\r\n }\r\n }\r\n if (\r\n this._activePage === this.pages - 1 ||\r\n this._options.loading ||\r\n this.pages === 0\r\n ) {\r\n this._paginationRight.setAttribute(\"disabled\", \"\");\r\n if (this._options.fullPagination) {\r\n this._paginationEnd.setAttribute(\"disabled\", \"\");\r\n }\r\n } else {\r\n this._paginationRight.removeAttribute(\"disabled\");\r\n if (this._options.fullPagination) {\r\n this._paginationEnd.removeAttribute(\"disabled\");\r\n }\r\n }\r\n }\r\n\r\n _toggleSelectAll(e) {\r\n if (e.target.checked) {\r\n this._selected = this.rows.map((row) => row.rowIndex);\r\n } else this._selected = [];\r\n\r\n this._setSelected();\r\n\r\n this._emitSelectEvent();\r\n }\r\n\r\n _toggleSelectRow(e, rowIndex) {\r\n if (e.target.checked) {\r\n if (this._options.multi && !this._selected.includes(rowIndex)) {\r\n this._selected = [...this._selected, rowIndex];\r\n } else {\r\n this._selected = [rowIndex];\r\n\r\n this._checkboxes.forEach((checkbox) => {\r\n if (checkbox !== e.target) {\r\n checkbox.checked = false;\r\n }\r\n });\r\n }\r\n } else {\r\n this._selected = this._selected.filter((index) => index !== rowIndex);\r\n }\r\n if (this._options.multi && !e.target.checked) {\r\n this._headerCheckbox.checked = false;\r\n }\r\n\r\n this._setActiveRows();\r\n\r\n this._emitSelectEvent();\r\n }\r\n\r\n _updateRow(event, index) {\r\n const field = Manipulator.getDataAttribute(event.target, \"field\");\r\n\r\n const value = event.target.textContent;\r\n\r\n const row = this._rows[index];\r\n\r\n if (Array.isArray(row)) {\r\n const column = this.columns.find((column) => {\r\n return column.field === field;\r\n });\r\n\r\n const columnIndex = column.columnIndex;\r\n\r\n row[columnIndex] = value;\r\n } else {\r\n row[field] = value;\r\n }\r\n\r\n EventHandler.trigger(this._element, EVENT_UPDATE, {\r\n rows: this._rows,\r\n columns: this._columns,\r\n });\r\n }\r\n\r\n static jQueryInterface(config, param1, param2) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === \"object\" && config;\r\n\r\n if (!data && /dispose/.test(config)) {\r\n return;\r\n }\r\n\r\n if (!data) {\r\n data = new Datatable(this, _config, param1);\r\n }\r\n\r\n if (typeof config === \"string\") {\r\n if (typeof data[config] === \"undefined\") {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config](param1, param2);\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n}\r\n\r\nexport default Datatable;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { typeCheckConfig } from \"../util/index\";\r\nimport Data from \"../dom/data\";\r\nimport EventHandler from \"../dom/event-handler\";\r\nimport SelectorEngine from \"../dom/selector-engine\";\r\nimport Manipulator from \"../dom/manipulator\";\r\nimport Tooltip from \"./tooltip\";\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = \"rating\";\r\nconst DATA_KEY = \"te.rating\";\r\nconst DATA_INIT = \"data-te-rating-init\";\r\nconst SELECTOR_ICON = \"[data-te-rating-icon-ref]\";\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\n\r\nconst ARROW_LEFT_KEY = \"ArrowLeft\";\r\nconst ARROW_RIGHT_KEY = \"ArrowRight\";\r\n\r\nconst DefaultType = {\r\n tooltip: \"string\",\r\n value: \"(string|number)\",\r\n readonly: \"boolean\",\r\n after: \"string\",\r\n before: \"string\",\r\n dynamic: \"boolean\",\r\n active: \"string\",\r\n};\r\n\r\nconst Default = {\r\n tooltip: \"top\",\r\n value: \"\",\r\n readonly: false,\r\n after: \"\",\r\n before: \"\",\r\n dynamic: false,\r\n active: \"fill-current\",\r\n};\r\n\r\nconst EVENT_SELECT = `onSelect${EVENT_KEY}`;\r\nconst EVENT_HOVER = `onHover${EVENT_KEY}`;\r\nconst EVENT_KEYUP = `keyup${EVENT_KEY}`;\r\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`;\r\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`;\r\nconst EVENT_MOUSEDOWN = `mousedown${EVENT_KEY}`;\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Rating {\r\n constructor(element, options) {\r\n this._element = element;\r\n this._icons = SelectorEngine.find(SELECTOR_ICON, this._element);\r\n this._options = this._getConfig(options);\r\n this._index = -1;\r\n this._savedIndex = null;\r\n this._originalClassList = [];\r\n this._originalIcons = [];\r\n this._fn = {};\r\n this._tooltips = [];\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n this._init();\r\n }\r\n }\r\n\r\n // Getters\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n\r\n if (!this._options.readonly) {\r\n EventHandler.off(this._element, EVENT_KEYUP);\r\n EventHandler.off(this._element, EVENT_FOCUSOUT);\r\n EventHandler.off(this._element, EVENT_KEYDOWN);\r\n this._element.removeEventListener(\"mouseleave\", this._fn.mouseleave);\r\n\r\n this._icons.forEach((el, i) => {\r\n EventHandler.off(el, EVENT_MOUSEDOWN);\r\n el.removeEventListener(\"mouseenter\", this._fn.mouseenter[i]);\r\n Manipulator.removeClass(el, \"cursor-pointer\");\r\n });\r\n\r\n this._tooltips.forEach((el) => {\r\n el._element.removeAttribute(DATA_INIT);\r\n el.dispose();\r\n });\r\n\r\n this._icons.removeAttribute(\"tabIndex\");\r\n }\r\n\r\n this._element = null;\r\n }\r\n\r\n // Private\r\n _init() {\r\n if (!this._options.readonly) {\r\n this._bindMouseEnter();\r\n this._bindMouseLeave();\r\n this._bindMouseDown();\r\n this._bindKeyDown();\r\n this._bindKeyUp();\r\n this._bindFocusLost();\r\n\r\n this._icons.forEach((el) => {\r\n Manipulator.addClass(el, \"cursor-pointer\");\r\n });\r\n }\r\n\r\n if (this._options.dynamic) {\r\n this._saveOriginalClassList();\r\n this._saveOriginalIcons();\r\n }\r\n\r\n this._setCustomText();\r\n this._setToolTips();\r\n\r\n if (this._options.value) {\r\n this._index = this._options.value - 1;\r\n this._updateRating(this._index);\r\n }\r\n }\r\n\r\n _getConfig(config) {\r\n const dataAttributes = Manipulator.getDataAttributes(this._element);\r\n\r\n config = {\r\n ...Default,\r\n ...dataAttributes,\r\n ...config,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n _bindMouseEnter() {\r\n this._fn.mouseenter = [];\r\n this._icons.forEach((el, i) => {\r\n // EventHandler.on changes mouseenter to mouseover - use addEventListener\r\n el.addEventListener(\r\n \"mouseenter\",\r\n // this._fn.mouseenter[i] is needed to create reference and unpin events after call dispose\r\n // prettier-ignore\r\n this._fn.mouseenter[i] = (e) => {\r\n this._index = this._icons.indexOf(e.target);\r\n this._updateRating(this._index);\r\n this._triggerEvents(el, EVENT_HOVER);\r\n // prettier-ignore\r\n }\r\n );\r\n });\r\n }\r\n\r\n _bindMouseLeave() {\r\n // EventHandler.on changes mouseleave to mouseout - use addEventListener\r\n this._element.addEventListener(\r\n \"mouseleave\",\r\n // this._fn.mouseleave is needed to create reference and unpin events after call dispose\r\n // prettier-ignore\r\n this._fn.mouseleave = () => {\r\n if (this._savedIndex !== null) {\r\n this._updateRating(this._savedIndex);\r\n this._index = this._savedIndex;\r\n } else if (this._options.value) {\r\n this._updateRating(this._options.value - 1);\r\n this._index = this._options.value - 1\r\n } else {\r\n this._index = -1;\r\n this._clearRating();\r\n }\r\n // prettier-ignore\r\n }\r\n );\r\n }\r\n\r\n _bindMouseDown() {\r\n this._icons.forEach((el) => {\r\n EventHandler.on(el, EVENT_MOUSEDOWN, () => {\r\n this._setElementOutline(\"none\");\r\n this._savedIndex = this._index;\r\n this._triggerEvents(el, EVENT_SELECT);\r\n });\r\n });\r\n }\r\n\r\n _bindKeyDown() {\r\n this._element.tabIndex = 0;\r\n EventHandler.on(this._element, EVENT_KEYDOWN, (e) =>\r\n this._updateAfterKeyDown(e)\r\n );\r\n }\r\n\r\n _bindKeyUp() {\r\n EventHandler.on(this._element, EVENT_KEYUP, () =>\r\n this._setElementOutline(\"auto\")\r\n );\r\n }\r\n\r\n _bindFocusLost() {\r\n EventHandler.on(this._element, EVENT_FOCUSOUT, () =>\r\n this._setElementOutline(\"none\")\r\n );\r\n }\r\n\r\n _setElementOutline(value) {\r\n this._element.style.outline = value;\r\n }\r\n\r\n _triggerEvents(el, event) {\r\n EventHandler.trigger(el, event, {\r\n value: this._index + 1,\r\n });\r\n }\r\n\r\n _updateAfterKeyDown(e) {\r\n const maxIndex = this._icons.length - 1;\r\n const indexBeforeChange = this._index;\r\n\r\n if (e.key === ARROW_RIGHT_KEY && this._index < maxIndex) {\r\n this._index += 1;\r\n }\r\n\r\n if (e.key === ARROW_LEFT_KEY && this._index > -1) {\r\n this._index -= 1;\r\n }\r\n\r\n if (indexBeforeChange !== this._index) {\r\n this._savedIndex = this._index;\r\n this._updateRating(this._savedIndex);\r\n this._triggerEvents(this._icons[this._savedIndex], EVENT_SELECT);\r\n }\r\n }\r\n\r\n _updateRating(index) {\r\n this._clearRating();\r\n\r\n if (this._options.dynamic) {\r\n this._restoreOriginalIcon(index);\r\n }\r\n\r\n this._icons.forEach((el, i) => {\r\n if (i <= index) {\r\n Manipulator.addClass(el.querySelector(\"svg\"), this._options.active);\r\n }\r\n });\r\n }\r\n\r\n _clearRating() {\r\n this._icons.forEach((el, i) => {\r\n const element = el.querySelector(\"svg\");\r\n if (this._options.dynamic) {\r\n el.classList = this._originalClassList[i];\r\n element.innerHTML = this._originalIcons[i];\r\n }\r\n Manipulator.removeClass(element, this._options.active);\r\n });\r\n }\r\n\r\n _setToolTips() {\r\n this._icons.forEach((el, i) => {\r\n const hasOwnTooltips = Manipulator.getDataAttribute(el, \"toggle\");\r\n\r\n if (el.title && !hasOwnTooltips) {\r\n Manipulator.setDataAttribute(el, \"toggle\", \"tooltip\");\r\n this._tooltips[i] = new Tooltip(el, {\r\n placement: this._options.tooltip,\r\n });\r\n }\r\n });\r\n }\r\n\r\n _setCustomText() {\r\n this._icons.forEach((el) => {\r\n const after = Manipulator.getDataAttribute(el, \"after\");\r\n const before = Manipulator.getDataAttribute(el, \"before\");\r\n\r\n if (after) {\r\n el.insertAdjacentHTML(\"afterEnd\", after);\r\n }\r\n\r\n if (before) {\r\n el.insertAdjacentHTML(\"beforeBegin\", before);\r\n }\r\n });\r\n }\r\n\r\n _saveOriginalClassList() {\r\n this._icons.forEach((el) => {\r\n const classList = el.classList.value;\r\n this._originalClassList.push(classList);\r\n });\r\n }\r\n\r\n _saveOriginalIcons() {\r\n this._icons.forEach((el) => {\r\n const svgHtml = el.querySelector(\"svg\").innerHTML;\r\n this._originalIcons.push(svgHtml);\r\n });\r\n }\r\n\r\n _restoreOriginalIcon(index) {\r\n const classList = this._originalClassList[index];\r\n const icon = this._originalIcons[index];\r\n this._icons.forEach((el, i) => {\r\n if (i <= index) {\r\n const element = el.querySelector(\"svg\");\r\n element.innerHTML = icon;\r\n el.classList = classList;\r\n }\r\n });\r\n }\r\n\r\n // Static\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n}\r\n\r\nexport default Rating;\r\n", "import { createPopper } from \"@popperjs/core\";\r\nimport { element, typeCheckConfig, getUID } from \"../util/index\";\r\nimport Data from \"../dom/data\";\r\nimport EventHandler from \"../dom/event-handler\";\r\nimport SelectorEngine from \"../dom/selector-engine\";\r\nimport Manipulator from \"../dom/manipulator\";\r\nimport { ESCAPE } from \"../util/keycodes\";\r\nimport Ripple from \"../methods/ripple\";\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = \"popconfirm\";\r\nconst DATA_KEY = \"te.popconfirm\";\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`;\r\nconst EVENT_CONFIRM = `confirm${EVENT_KEY}`;\r\nconst SELECTOR_ATTR_POPCONFIRM_BODY = \"[data-te-popconfirm-body]\";\r\nconst ATTR_POPCONFIRM_POPOVER = \"data-te-popconfirm-popover\";\r\nconst ATTR_POPCONFIRM_MODAL = \"data-te-popconfirm-modal\";\r\nconst ATTR_POPCONFIRM_BACKDROP = \"data-te-popconfirm-backdrop\";\r\n\r\nconst DefaultType = {\r\n popconfirmMode: \"string\",\r\n message: \"string\",\r\n cancelText: \"(null|string)\",\r\n okText: \"(null|string)\",\r\n popconfirmIconTemplate: \"string\",\r\n cancelLabel: \"(null|string)\",\r\n confirmLabel: \"(null|string)\",\r\n position: \"(null|string)\",\r\n};\r\n\r\nconst Default = {\r\n popconfirmMode: \"inline\",\r\n message: \"Are you sure?\",\r\n cancelText: \"Cancel\",\r\n okText: \"OK\",\r\n popconfirmIconTemplate: ``,\r\n cancelLabel: \"Cancel\",\r\n confirmLabel: \"Confirm\",\r\n position: \"bottom\",\r\n};\r\n\r\nconst DefaultClassesType = {\r\n backdrop: \"string\",\r\n body: \"string\",\r\n btnCancel: \"string\",\r\n btnConfirm: \"string\",\r\n btnsContainer: \"string\",\r\n fade: \"string\",\r\n icon: \"string\",\r\n message: \"string\",\r\n messageText: \"string\",\r\n modal: \"string\",\r\n popover: \"string\",\r\n};\r\n\r\nconst DefaultClasses = {\r\n backdrop:\r\n \"h-full w-full z-[1070] fixed top-0 left-0 bg-[#00000066] flex justify-center items-center\",\r\n body: \"p-[1rem] bg-white rounded-[0.5rem] opacity-0 dark:bg-neutral-700\",\r\n btnCancel:\r\n \"inline-block rounded bg-primary-100 px-4 pb-[5px] pt-[6px] text-xs font-medium uppercase leading-normal text-primary-700 transition duration-150 ease-in-out hover:bg-primary-accent-100 focus:bg-primary-accent-100 focus:outline-none focus:ring-0 active:bg-primary-accent-200\",\r\n btnConfirm:\r\n \"inline-block rounded bg-primary px-4 pb-[5px] pt-[6px] text-xs font-medium uppercase leading-normal text-white shadow-[0_4px_9px_-4px_#3b71ca] transition duration-150 ease-in-out hover:bg-primary-600 hover:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.3),0_4px_18px_0_rgba(59,113,202,0.2)] focus:bg-primary-600 focus:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.3),0_4px_18px_0_rgba(59,113,202,0.2)] focus:outline-none focus:ring-0 active:bg-primary-700 active:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.3),0_4px_18px_0_rgba(59,113,202,0.2)] dark:shadow-[0_4px_9px_-4px_rgba(59,113,202,0.5)] dark:hover:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.2),0_4px_18px_0_rgba(59,113,202,0.1)] dark:focus:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.2),0_4px_18px_0_rgba(59,113,202,0.1)] dark:active:shadow-[0_8px_9px_-4px_rgba(59,113,202,0.2),0_4px_18px_0_rgba(59,113,202,0.1)]\",\r\n btnsContainer: \"flex justify-end space-x-2\",\r\n fade: \"transition-opacity duration-[150ms] ease-linear\",\r\n icon: \"pr-2\",\r\n message: \"flex mb-3\",\r\n messageText: \"text-neutral-600 dark:text-white\",\r\n modal: \"absolute w-[300px] z-[1080] shadow-sm rounded-[0.5rem]\",\r\n popover: \"w-[300px] border-0 rounded-[0.5rem] z-[1080] shadow-sm\",\r\n};\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Popconfirm {\r\n constructor(element, options, classes) {\r\n this._element = element;\r\n this._options = this._getConfig(options);\r\n this._classes = this._getClasses(classes);\r\n this._popper = null;\r\n this._cancelButton = \"\";\r\n this._confirmButton = \"\";\r\n this._isOpen = false;\r\n this._uid = this._element.id\r\n ? `popconfirm-${this._element.id}`\r\n : getUID(\"popconfirm-\");\r\n\r\n if (element) {\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n this._clickHandler = this.open.bind(this);\r\n EventHandler.on(this._element, \"click\", this._clickHandler);\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n get container() {\r\n return SelectorEngine.findOne(`#${this._uid}`);\r\n }\r\n\r\n get popconfirmBody() {\r\n return SelectorEngine.findOne(\r\n SELECTOR_ATTR_POPCONFIRM_BODY,\r\n this.container\r\n );\r\n }\r\n\r\n // Public\r\n\r\n dispose() {\r\n if (this._isOpen || this.container !== null) {\r\n this.close();\r\n }\r\n Data.removeData(this._element, DATA_KEY);\r\n EventHandler.off(this._element, \"click\", this._clickHandler);\r\n this._element = null;\r\n }\r\n\r\n open() {\r\n if (this._isOpen) {\r\n return;\r\n }\r\n if (this._options.popconfirmMode === \"inline\") {\r\n this._openPopover(this._getPopoverTemplate());\r\n } else {\r\n this._openModal(this._getModalTemplate());\r\n }\r\n this._handleCancelButtonClick();\r\n this._handleConfirmButtonClick();\r\n this._listenToEscapeKey();\r\n this._listenToOutsideClick();\r\n }\r\n\r\n close() {\r\n if (!this._isOpen) {\r\n return;\r\n }\r\n if (\r\n this._popper !== null ||\r\n SelectorEngine.findOne(`[${ATTR_POPCONFIRM_POPOVER}]`) !== null\r\n ) {\r\n EventHandler.on(\r\n this.popconfirmBody,\r\n \"transitionend\",\r\n this._handlePopconfirmTransitionEnd.bind(this)\r\n );\r\n Manipulator.removeClass(this.popconfirmBody, \"opacity-100\");\r\n } else {\r\n const tempElement = SelectorEngine.findOne(\r\n `[${ATTR_POPCONFIRM_BACKDROP}]`\r\n );\r\n Manipulator.removeClass(this.popconfirmBody, \"opacity-100\");\r\n document.body.removeChild(tempElement);\r\n this._isOpen = false;\r\n }\r\n\r\n EventHandler.off(document, \"click\", this._handleOutsideClick.bind(this));\r\n EventHandler.off(document, \"keydown\", this._handleEscapeKey.bind(this));\r\n }\r\n\r\n _handlePopconfirmTransitionEnd(event) {\r\n if (event.target !== this.popconfirmBody) {\r\n return;\r\n }\r\n\r\n const popoverTemplate = SelectorEngine.findOne(\r\n `[${ATTR_POPCONFIRM_POPOVER}]`\r\n );\r\n EventHandler.off(this.popconfirmBody, \"transitionend\");\r\n\r\n if (this._isOpen && event && event.propertyName === \"opacity\") {\r\n this._popper.destroy();\r\n\r\n if (popoverTemplate) {\r\n document.body.removeChild(popoverTemplate);\r\n }\r\n\r\n this._isOpen = false;\r\n }\r\n }\r\n\r\n // Private\r\n\r\n _getPopoverTemplate() {\r\n const popover = element(\"div\");\r\n const popconfirmTemplate = this._getPopconfirmTemplate();\r\n popover.setAttribute(ATTR_POPCONFIRM_POPOVER, \"\");\r\n Manipulator.addClass(popover, this._classes.popover);\r\n popover.id = this._uid;\r\n popover.innerHTML = popconfirmTemplate;\r\n return popover;\r\n }\r\n\r\n _getModalTemplate() {\r\n const modal = element(\"div\");\r\n const popconfirmTemplate = this._getPopconfirmTemplate();\r\n modal.setAttribute(ATTR_POPCONFIRM_MODAL, \"\");\r\n Manipulator.addClass(modal, `${this._classes.modal}`);\r\n modal.id = this._uid;\r\n modal.innerHTML = popconfirmTemplate;\r\n return modal;\r\n }\r\n\r\n _getPopconfirmTemplate() {\r\n return `
\r\n

\r\n ${\r\n this._options.popconfirmIconTemplate\r\n ? `${this._options.popconfirmIconTemplate}`\r\n : \"\"\r\n }\r\n ${this._options.message}\r\n

\r\n
\r\n ${\r\n this._options.cancelText\r\n ? ``\r\n : \"\"\r\n }\r\n \r\n
\r\n
`;\r\n }\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...config,\r\n };\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _getClasses(classes) {\r\n const dataAttributes = Manipulator.getDataClassAttributes(this._element);\r\n\r\n classes = {\r\n ...DefaultClasses,\r\n ...dataAttributes,\r\n ...classes,\r\n };\r\n\r\n typeCheckConfig(NAME, classes, DefaultClassesType);\r\n\r\n return classes;\r\n }\r\n\r\n _openPopover(template) {\r\n this._popper = createPopper(this._element, template, {\r\n placement: this._translatePositionValue(),\r\n modifiers: [\r\n {\r\n name: \"offset\",\r\n options: {\r\n offset: [0, 5],\r\n },\r\n },\r\n ],\r\n });\r\n document.body.appendChild(template);\r\n\r\n setTimeout(() => {\r\n Manipulator.addClass(\r\n this.popconfirmBody,\r\n `${this._classes.fade} opacity-100`\r\n );\r\n this._isOpen = true;\r\n }, 0);\r\n }\r\n\r\n _openModal(template) {\r\n const backdrop = element(\"div\");\r\n backdrop.setAttribute(ATTR_POPCONFIRM_BACKDROP, \"\");\r\n Manipulator.addClass(backdrop, this._classes.backdrop);\r\n document.body.appendChild(backdrop);\r\n backdrop.appendChild(template);\r\n Manipulator.addClass(this.popconfirmBody, \"opacity-100\");\r\n this._isOpen = true;\r\n }\r\n\r\n _handleCancelButtonClick() {\r\n const container = this.container;\r\n\r\n this._cancelButton = SelectorEngine.findOne(\r\n \"#popconfirm-button-cancel\",\r\n container\r\n );\r\n\r\n Ripple.getOrCreateInstance(this._cancelButton, { rippleColor: \"light\" });\r\n if (this._cancelButton !== null) {\r\n EventHandler.on(this._cancelButton, \"click\", () => {\r\n this.close();\r\n EventHandler.trigger(this._element, EVENT_CANCEL);\r\n });\r\n }\r\n }\r\n\r\n _handleConfirmButtonClick() {\r\n const container = this.container;\r\n this._confirmButton = SelectorEngine.findOne(\r\n \"#popconfirm-button-confirm\",\r\n container\r\n );\r\n\r\n Ripple.getOrCreateInstance(this._confirmButton, { rippleColor: \"light\" });\r\n EventHandler.on(this._confirmButton, \"click\", () => {\r\n this.close();\r\n EventHandler.trigger(this._element, EVENT_CONFIRM);\r\n });\r\n }\r\n\r\n _listenToEscapeKey() {\r\n EventHandler.on(document, \"keydown\", this._handleEscapeKey.bind(this));\r\n }\r\n\r\n _handleEscapeKey(event) {\r\n if (event.keyCode === ESCAPE) {\r\n this.close();\r\n }\r\n }\r\n\r\n _listenToOutsideClick() {\r\n EventHandler.on(document, \"click\", this._handleOutsideClick.bind(this));\r\n }\r\n\r\n _handleOutsideClick(event) {\r\n const container = this.container;\r\n const isContainer = event.target === container;\r\n const isContainerContent = container && container.contains(event.target);\r\n const isElement = event.target === this._element;\r\n const isElementContent =\r\n this._element && this._element.contains(event.target);\r\n if (\r\n !isContainer &&\r\n !isContainerContent &&\r\n !isElement &&\r\n !isElementContent\r\n ) {\r\n this.close();\r\n }\r\n }\r\n\r\n _translatePositionValue() {\r\n switch (this._options.position) {\r\n // left, right as default\r\n case \"top left\":\r\n return \"top-end\";\r\n case \"top\":\r\n return \"top\";\r\n case \"top right\":\r\n return \"top-start\";\r\n case \"bottom left\":\r\n return \"bottom-end\";\r\n case \"bottom\":\r\n return \"bottom\";\r\n case \"bottom right\":\r\n return \"bottom-start\";\r\n case \"left\":\r\n return \"left\";\r\n case \"left top\":\r\n return \"left-end\";\r\n case \"left bottom\":\r\n return \"left-start\";\r\n case \"right\":\r\n return \"right\";\r\n case \"right top\":\r\n return \"right-end\";\r\n case \"right bottom\":\r\n return \"right-start\";\r\n case undefined:\r\n return \"bottom\";\r\n default:\r\n return \"bottom\";\r\n }\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config, options) {\r\n return this.each(function () {\r\n const data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === \"object\" && config;\r\n\r\n if (!data && /dispose/.test(config)) {\r\n return;\r\n }\r\n\r\n if (!data) {\r\n // eslint-disable-next-line consistent-return\r\n return new Popconfirm(this, _config);\r\n }\r\n\r\n if (typeof config === \"string\") {\r\n if (typeof data[config] === \"undefined\") {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config](options);\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n}\r\n\r\nexport default Popconfirm;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { element, typeCheckConfig } from \"../util/index\";\r\nimport Data from \"../dom/data\";\r\nimport EventHandler from \"../dom/event-handler\";\r\nimport Manipulator from \"../dom/manipulator\";\r\nimport SelectorEngine from \"../dom/selector-engine\";\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = \"lightbox\";\r\nconst DATA_KEY = \"te.lightbox\";\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = \".data-api\";\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst SELECTOR_ATTR_LIGHTBOX = \"[data-te-lightbox-init]\";\r\nconst SELECTOR_ATTR_TOGGLE = `${SELECTOR_ATTR_LIGHTBOX} img:not([data-te-lightbox-disabled])`;\r\nconst ATTR_LIGHTBOX_CAPTION = `data-te-lightbox-caption`;\r\nconst ATTR_LIGHTBOX_DISABLED = `data-te-lightbox-disabled`;\r\nconst ATTR_STATE_ACTIVE = `data-te-lightbox-active`;\r\n\r\nconst prevIconTemplate = `\r\n \r\n\r\n`;\r\nconst nextIconTemplate = `\r\n \r\n\r\n`;\r\nconst showFullscreenIconTemplate = `\r\n \r\n\r\n`;\r\nconst hideFullscreenIconTemplate = `\r\n \r\n\r\n`;\r\nconst zoomInIconTemplate = `\r\n \r\n\r\n`;\r\nconst zoomOutIconTemplate = `\r\n\r\n\r\n`;\r\nconst closeIconTemplate = `\r\n \r\n\r\n`;\r\n\r\nconst OPTIONS_TYPE = {\r\n container: \"string\",\r\n zoomLevel: \"(number|string)\",\r\n prevIconTemplate: \"string\",\r\n nextIconTemplate: \"string\",\r\n showFullscreenIconTemplate: \"string\",\r\n hideFullscreenIconTemplate: \"string\",\r\n zoomInIconTemplate: \"string\",\r\n closeIconTemplate: \"string\",\r\n zoomOutIconTemplate: \"string\",\r\n spinnerContent: \"string\",\r\n};\r\n\r\nconst DEFAULT_OPTIONS = {\r\n container: \"body\",\r\n zoomLevel: 1,\r\n prevIconTemplate: prevIconTemplate,\r\n nextIconTemplate: nextIconTemplate,\r\n showFullscreenIconTemplate: showFullscreenIconTemplate,\r\n hideFullscreenIconTemplate: hideFullscreenIconTemplate,\r\n zoomInIconTemplate: zoomInIconTemplate,\r\n zoomOutIconTemplate: zoomOutIconTemplate,\r\n closeIconTemplate: closeIconTemplate,\r\n spinnerContent: \"Loading...\",\r\n};\r\n\r\nconst DefaultClasses = {\r\n caption:\r\n \"text-white text-ellipsis overflow-hidden whitespace-nowrap mx-[10px] text-center\",\r\n captionWrapper:\r\n \"fixed left-0 bottom-0 w-full h-[50px] flex justify-center items-center\",\r\n closeBtn:\r\n \"border-none bg-transparent w-[50px] h-[50px] px-4 text-[#b3b3b3] transition-colors duration-200 ease-in-out hover:text-white focus:text-white motion-reduce:transition-none outline-none\",\r\n fullscreenBtn:\r\n \"border-none bg-transparent w-[50px] h-[50px] px-4 text-[#b3b3b3] transition-colors duration-200 ease-in-out hover:text-white focus:text-white motion-reduce:transition-none outline-none\",\r\n gallery:\r\n \"invisible fixed left-0 top-0 w-full h-full z-[1100] pointer-events-none opacity-0 bg-[#000000e6] transition-all duration-[400ms] motion-reduce:transition-none\",\r\n galleryContent:\r\n \"fixed top-[50px] left-[50px] w-[calc(100%-100px)] h-[calc(100%-100px)]\",\r\n galleryCounter:\r\n \"flex justify-center items-center px-[10px] mb-0 h-full text-[#b3b3b3]\",\r\n img: \"absolute left-0 top-0 w-full max-h-full h-auto cursor-pointer pointer-events-auto\",\r\n imgWrapper:\r\n \"absolute top-0 left-0 w-full h-full opacity-0 transform scale-[0.25] transition-all duration-[400ms] ease-out pointer-events-none motion-reduce:transition-none motion-reduce:transform-none\",\r\n leftTools: \"float-left h-full\",\r\n loader:\r\n \"fixed left-0 top-0 z-[2] w-full h-full text-neutral-50 opacity-1 flex justify-center items-center pointer-events-none transition-opacity duration-[1000ms] motion-reduce:transition-none\",\r\n nextBtn:\r\n \"border-none bg-transparent w-full h-[50px] flex justify-center items-center text-[#b3b3b3] transition-colors duration-200 ease-in-out hover:text-white focus:text-white motion-reduce:transition-none outline-none\",\r\n nextBtnWrapper:\r\n \"fixed right-0 top-0 w-[50px] h-full flex justify-center items-center transition-opacity duration-[400ms] motion-reduce:transition-none\",\r\n prevBtn:\r\n \"border-none bg-transparent w-full h-[50px] flex justify-center items-center text-[#b3b3b3] transition-colors duration-200 ease-in-out hover:text-white focus:text-white motion-reduce:transition-none outline-none\",\r\n prevBtnWrapper:\r\n \"fixed left-0 top-0 w-[50px] h-full flex justify-center items-center transition-opacity duration-[400ms] motion-reduce:transition-none\",\r\n rightTools: \"float-right\",\r\n spinner:\r\n \"inline-block h-8 w-8 animate-[spinner-grow_0.75s_linear_infinite] rounded-full bg-current align-[-0.125em] motion-reduce:animate-[spinner-grow_1.5s_linear_infinite]\",\r\n spinnerContent:\r\n \"!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]\",\r\n toolbar:\r\n \"absolute top-0 left-0 w-full h-[50px] z-20 transition-opacity duration-[400ms] motion-reduce:transition-none\",\r\n vertical: \"h-full max-h-full w-auto\",\r\n zoomBtn:\r\n \"border-none bg-transparent w-[50px] h-[50px] px-4 text-[#b3b3b3] transition-colors duration-200 ease-in-out hover:text-white focus:text-white motion-reduce:transition-none outline-none\",\r\n};\r\n\r\nconst DefaultClassesType = {\r\n caption: \"string\",\r\n captionWrapper: \"string\",\r\n closeBtn: \"string\",\r\n fullscreenBtn: \"string\",\r\n gallery: \"string\",\r\n galleryContent: \"string\",\r\n galleryCounter: \"string\",\r\n img: \"string\",\r\n imgWrapper: \"string\",\r\n leftTools: \"string\",\r\n loader: \"string\",\r\n nextBtn: \"string\",\r\n nextBtnWrapper: \"string\",\r\n prevBtn: \"string\",\r\n prevBtnWrapper: \"string\",\r\n rightTools: \"string\",\r\n spinner: \"string\",\r\n spinnerContent: \"string\",\r\n toolbar: \"string\",\r\n vertical: \"string\",\r\n zoomBtn: \"string\",\r\n};\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Lightbox {\r\n constructor(element, options = {}, classes) {\r\n this._element = element;\r\n this._options = options;\r\n this._classes = this._getClasses(classes);\r\n this._getContainer();\r\n\r\n this._id = `lightbox-${Math.random().toString(36).substr(2, 9)}`;\r\n this._activeImg = 0;\r\n this._images = [];\r\n this._zoom = 1;\r\n this._gallery = null;\r\n this._galleryToolbar = null;\r\n this._galleryContent = null;\r\n this._loader = null;\r\n this._imgCounter = null;\r\n this._animating = false;\r\n this._fullscreen = false;\r\n this._zoomBtn = null;\r\n this._fullscreenBtn = null;\r\n this._toolsToggleTimer = 0;\r\n this._mousedown = false;\r\n this._mousedownPositionX = 0;\r\n this._mousedownPositionY = 0;\r\n this._originalPositionX = 0;\r\n this._originalPositionY = 0;\r\n this._positionX = 0;\r\n this._positionY = 0;\r\n this._zoomTimer = 0;\r\n this._tapCounter = 0;\r\n this._tapTime = 0;\r\n this._rightArrow = null;\r\n this._leftArrowWrapper = null;\r\n this._rightArrowWrapper = null;\r\n this._initiated = false;\r\n this._multitouch = false;\r\n this._touchZoomPosition = [];\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n this.init();\r\n }\r\n }\r\n\r\n // Getters\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n get activeImg() {\r\n return this._activeImg;\r\n }\r\n\r\n get currentImg() {\r\n return SelectorEngine.findOne(\r\n `[${ATTR_STATE_ACTIVE}]`,\r\n this._galleryContent\r\n );\r\n }\r\n\r\n get options() {\r\n const config = {\r\n ...DEFAULT_OPTIONS,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...this._options,\r\n };\r\n\r\n typeCheckConfig(NAME, config, OPTIONS_TYPE);\r\n\r\n return config;\r\n }\r\n\r\n // Public\r\n init() {\r\n if (this._initiated) {\r\n return;\r\n }\r\n\r\n this._appendTemplate();\r\n this._initiated = true;\r\n }\r\n\r\n open(target = 0) {\r\n this._getImages();\r\n this._setActiveImg(target);\r\n this._sortImages();\r\n this._triggerEvents(\"open\", \"opened\");\r\n\r\n this._loadImages().then((images) => {\r\n this._resizeImages(images);\r\n this._toggleTemplate();\r\n this._addEvents();\r\n this._focusFullscreenBtn();\r\n });\r\n }\r\n\r\n close() {\r\n this.reset();\r\n this._removeEvents();\r\n this._toggleTemplate();\r\n this._triggerEvents(\"close\", \"closed\");\r\n }\r\n\r\n slide(target = \"right\") {\r\n if (this._animating === true || this._images.length <= 1) return;\r\n this._triggerEvents(\"slide\", \"slided\");\r\n\r\n this._beforeSlideEvents();\r\n if (target === \"right\") this._slideHorizontally(target);\r\n if (target === \"left\") this._slideHorizontally(target);\r\n if (target === \"first\") this._slideToTarget(target);\r\n if (target === \"last\") this._slideToTarget(target);\r\n this._afterSlideEvents();\r\n }\r\n\r\n zoomIn() {\r\n if (this._zoom >= 3) return;\r\n this._triggerEvents(\"zoomIn\", \"zoomedIn\");\r\n this._zoom += parseFloat(this.options.zoomLevel);\r\n Manipulator.style(this.currentImg.parentNode, {\r\n transform: `scale(${this._zoom})`,\r\n });\r\n\r\n this._updateZoomBtn();\r\n }\r\n\r\n zoomOut() {\r\n if (this._zoom <= 1) return;\r\n this._triggerEvents(\"zoomOut\", \"zoomedOut\");\r\n this._zoom -= parseFloat(this.options.zoomLevel);\r\n Manipulator.style(this.currentImg.parentNode, {\r\n transform: `scale(${this._zoom})`,\r\n });\r\n\r\n this._updateZoomBtn();\r\n this._updateImgPosition();\r\n }\r\n\r\n toggleFullscreen() {\r\n if (this._fullscreen === false) {\r\n this._fullscreenBtn.setAttribute(ATTR_STATE_ACTIVE, \"\");\r\n this._fullscreenBtn.innerHTML = this.options.hideFullscreenIconTemplate;\r\n if (this._gallery.requestFullscreen) {\r\n this._gallery.requestFullscreen();\r\n }\r\n\r\n this._fullscreen = true;\r\n } else {\r\n this._fullscreenBtn.removeAttribute(ATTR_STATE_ACTIVE);\r\n if (document.exitFullscreen) {\r\n document.exitFullscreen();\r\n }\r\n\r\n this._fullscreen = false;\r\n }\r\n }\r\n\r\n reset() {\r\n this._restoreDefaultFullscreen();\r\n this._restoreDefaultPosition();\r\n this._restoreDefaultZoom();\r\n clearTimeout(this._toolsToggleTimer);\r\n clearTimeout(this._doubleTapTimer);\r\n }\r\n\r\n dispose() {\r\n EventHandler.off(\r\n document,\r\n EVENT_CLICK_DATA_API,\r\n SELECTOR_ATTR_TOGGLE,\r\n this.toggle\r\n );\r\n if (this._galleryContent) this._removeEvents();\r\n if (this._gallery) this._gallery.remove();\r\n\r\n Data.removeData(this._element, DATA_KEY);\r\n this._element = null;\r\n }\r\n\r\n // Private\r\n _getClasses(classes) {\r\n const dataAttributes = Manipulator.getDataClassAttributes(this._element);\r\n\r\n classes = {\r\n ...DefaultClasses,\r\n ...dataAttributes,\r\n ...classes,\r\n };\r\n\r\n typeCheckConfig(NAME, classes, DefaultClassesType);\r\n\r\n return classes;\r\n }\r\n\r\n _getImages() {\r\n const allImages = SelectorEngine.find(\"img\", this._element);\r\n const lightboxImages = allImages.filter(\r\n (image) => !image.hasAttribute(ATTR_LIGHTBOX_DISABLED)\r\n );\r\n this._images = lightboxImages;\r\n }\r\n\r\n _getContainer() {\r\n this._container = SelectorEngine.findOne(this.options.container);\r\n }\r\n\r\n _setActiveImg(target) {\r\n this._activeImg =\r\n typeof target === \"number\" ? target : this._images.indexOf(target.target);\r\n }\r\n\r\n _appendTemplate() {\r\n this._gallery = element(\"div\");\r\n Manipulator.addClass(this._gallery, `${this._classes.gallery}`);\r\n this._element.dataset.id = this._id;\r\n this._gallery.id = this._id;\r\n\r\n this._appendLoader();\r\n this._appendToolbar();\r\n this._appendContent();\r\n this._appendArrows();\r\n this._appendCaption();\r\n this._container.append(this._gallery);\r\n }\r\n\r\n _appendToolbar() {\r\n this._galleryToolbar = element(\"div\");\r\n this._imgCounter = element(\"p\");\r\n this._fullscreenBtn = element(\"button\");\r\n this._zoomBtn = element(\"button\");\r\n const closeBtn = element(\"button\");\r\n const leftTools = element(\"div\");\r\n const rightTools = element(\"div\");\r\n\r\n Manipulator.addClass(this._galleryToolbar, `${this._classes.toolbar}`);\r\n Manipulator.addClass(this._imgCounter, `${this._classes.galleryCounter}`);\r\n Manipulator.addClass(this._fullscreenBtn, `${this._classes.fullscreenBtn}`);\r\n Manipulator.addClass(this._zoomBtn, `${this._classes.zoomInBtn}`);\r\n Manipulator.addClass(this._zoomBtn, this._classes.zoomBtn);\r\n Manipulator.addClass(leftTools, `${this._classes.leftTools}`);\r\n Manipulator.addClass(rightTools, `${this._classes.rightTools}`);\r\n Manipulator.addClass(closeBtn, `${this._classes.closeBtn}`);\r\n\r\n this._fullscreenBtn.innerHTML = this.options.showFullscreenIconTemplate;\r\n closeBtn.innerHTML = this.options.closeIconTemplate;\r\n this._zoomBtn.innerHTML = this.options.zoomInIconTemplate;\r\n this._fullscreenBtn.setAttribute(\"aria-label\", \"Toggle fullscreen\");\r\n this._zoomBtn.setAttribute(\"aria-label\", \"Zoom in\");\r\n closeBtn.setAttribute(\"aria-label\", \"Close\");\r\n\r\n EventHandler.on(this._fullscreenBtn, EVENT_CLICK_DATA_API, () =>\r\n this.toggleFullscreen()\r\n );\r\n EventHandler.on(this._zoomBtn, EVENT_CLICK_DATA_API, () =>\r\n this._toggleZoom()\r\n );\r\n EventHandler.on(closeBtn, EVENT_CLICK_DATA_API, () => this.close());\r\n\r\n leftTools.append(this._imgCounter);\r\n rightTools.append(this._fullscreenBtn);\r\n rightTools.append(this._zoomBtn);\r\n rightTools.append(closeBtn);\r\n\r\n this._galleryToolbar.append(leftTools);\r\n this._galleryToolbar.append(rightTools);\r\n this._gallery.append(this._galleryToolbar);\r\n }\r\n\r\n _appendContent() {\r\n this._galleryContent = element(\"div\");\r\n Manipulator.addClass(\r\n this._galleryContent,\r\n `${this._classes.galleryContent}`\r\n );\r\n this._gallery.append(this._galleryContent);\r\n }\r\n\r\n _appendLoader() {\r\n this._loader = element(\"div\");\r\n const spinner = element(\"div\");\r\n const spinnerContent = element(\"span\");\r\n\r\n Manipulator.addClass(this._loader, `${this._classes.loader}`);\r\n Manipulator.addClass(spinner, `${this._classes.spinner}`);\r\n Manipulator.addClass(spinnerContent, `${this._classes.spinnerContent}`);\r\n\r\n spinner.setAttribute(\"role\", \"status\");\r\n spinnerContent.innerHTML = this.options.spinnerContent;\r\n\r\n spinner.append(spinnerContent);\r\n this._loader.append(spinner);\r\n this._gallery.append(this._loader);\r\n }\r\n\r\n _appendArrows() {\r\n this._leftArrowWrapper = element(\"div\");\r\n Manipulator.addClass(\r\n this._leftArrowWrapper,\r\n `${this._classes.prevBtnWrapper}`\r\n );\r\n const leftArrow = element(\"button\");\r\n leftArrow.setAttribute(\"aria-label\", \"Previous\");\r\n Manipulator.addClass(leftArrow, `${this._classes.prevBtn}`);\r\n EventHandler.on(leftArrow, EVENT_CLICK_DATA_API, () => this.slide(\"left\"));\r\n this._leftArrowWrapper.append(leftArrow);\r\n\r\n this._rightArrowWrapper = element(\"div\");\r\n Manipulator.addClass(\r\n this._rightArrowWrapper,\r\n `${this._classes.nextBtnWrapper}`\r\n );\r\n this._rightArrow = element(\"button\");\r\n this._rightArrow.setAttribute(\"aria-label\", \"Next\");\r\n Manipulator.addClass(this._rightArrow, `${this._classes.nextBtn}`);\r\n EventHandler.on(this._rightArrow, EVENT_CLICK_DATA_API, () => this.slide());\r\n this._rightArrowWrapper.append(this._rightArrow);\r\n\r\n this._rightArrow.innerHTML = this.options.nextIconTemplate;\r\n leftArrow.innerHTML = this.options.prevIconTemplate;\r\n\r\n this._getImages();\r\n if (this._images.length <= 1) return;\r\n this._gallery.append(this._leftArrowWrapper);\r\n this._gallery.append(this._rightArrowWrapper);\r\n }\r\n\r\n _appendCaption() {\r\n const captionWrapper = element(\"div\");\r\n const caption = element(\"p\");\r\n\r\n caption.setAttribute(ATTR_LIGHTBOX_CAPTION, \"\");\r\n Manipulator.addClass(captionWrapper, `${this._classes.captionWrapper}`);\r\n Manipulator.addClass(caption, `${this._classes.caption}`);\r\n\r\n captionWrapper.append(caption);\r\n this._gallery.append(captionWrapper);\r\n }\r\n\r\n _sortImages() {\r\n for (let i = 0; i < this._activeImg; i++) {\r\n this._images.push(this._images.shift());\r\n }\r\n }\r\n\r\n async _loadImages() {\r\n const promiseArray = [];\r\n const imageArray = [];\r\n\r\n this._galleryContent.innerHTML = \"\";\r\n let positionLeft = 0;\r\n\r\n this._images.forEach((img, key) => {\r\n promiseArray.push(\r\n new Promise((resolve) => {\r\n const newImg = new Image();\r\n const newImgWrapper = element(\"div\");\r\n Manipulator.addClass(newImgWrapper, `${this._classes.imgWrapper}`);\r\n Manipulator.addClass(newImg, `${this._classes.img}`);\r\n\r\n this._addImgStyles(newImg, newImgWrapper, positionLeft, key, img);\r\n\r\n newImgWrapper.append(newImg);\r\n this._galleryContent.append(newImgWrapper);\r\n\r\n newImg.onload = resolve;\r\n newImg.src = img.dataset.teImg || img.src;\r\n imageArray.push(newImg);\r\n\r\n positionLeft += 100;\r\n })\r\n );\r\n });\r\n\r\n await Promise.all(promiseArray);\r\n return imageArray;\r\n }\r\n\r\n _addImgStyles(newImg, newImgWrapper, positionLeft, key, img) {\r\n newImg.alt = img.alt;\r\n newImg.draggable = false;\r\n\r\n Manipulator.style(newImgWrapper, {\r\n position: \"absolute\",\r\n left: `${positionLeft}%`,\r\n top: 0,\r\n });\r\n if (img.dataset.teCaption || img.dataset.teCaption === \"\") {\r\n newImg.dataset.caption = img.dataset.teCaption;\r\n }\r\n\r\n if (positionLeft === 0) {\r\n if (img.width < img.height) {\r\n Manipulator.addClass(newImg, `${this._classes.vertical}`);\r\n }\r\n Manipulator.style(newImgWrapper, { opacity: 1 });\r\n newImg.setAttribute(ATTR_STATE_ACTIVE, \"\");\r\n } else {\r\n newImg.removeAttribute(ATTR_STATE_ACTIVE);\r\n }\r\n\r\n if (key === this._images.length - 1 && this._images.length > 1) {\r\n Manipulator.style(newImgWrapper, { left: \"-100%\" });\r\n }\r\n }\r\n\r\n _resizeImages(images) {\r\n images.forEach((img) => {\r\n this._calculateImgSize(img);\r\n });\r\n }\r\n\r\n _calculateImgSize(img) {\r\n if (img.width >= img.height) {\r\n img.style.width = \"100%\";\r\n img.style.maxWidth = \"100%\";\r\n img.style.height = \"auto\";\r\n img.style.top = `${(img.parentNode.offsetHeight - img.height) / 2}px`;\r\n img.style.left = 0;\r\n } else {\r\n img.style.height = \"100%\";\r\n img.style.maxHeight = \"100%\";\r\n img.style.width = \"auto\";\r\n img.style.left = `${(img.parentNode.offsetWidth - img.width) / 2}px`;\r\n img.style.top = 0;\r\n }\r\n\r\n if (img.width >= img.parentNode.offsetWidth) {\r\n img.style.width = `${img.parentNode.offsetWidth}px`;\r\n img.style.height = \"auto\";\r\n img.style.left = 0;\r\n img.style.top = `${(img.parentNode.offsetHeight - img.height) / 2}px`;\r\n }\r\n if (img.height >= img.parentNode.offsetHeight) {\r\n img.style.height = `${img.parentNode.offsetHeight}px`;\r\n img.style.width = \"auto\";\r\n img.style.top = 0;\r\n img.style.left = `${(img.parentNode.offsetWidth - img.width) / 2}px`;\r\n }\r\n\r\n this._positionX = parseFloat(img.style.left) || 0;\r\n this._positionY = parseFloat(img.style.top) || 0;\r\n }\r\n\r\n _onResize() {\r\n this._images = SelectorEngine.find(\"img\", this._galleryContent);\r\n this._images.forEach((img) => {\r\n this._calculateImgSize(img);\r\n });\r\n }\r\n\r\n _onFullscreenChange() {\r\n const isFullscreenEnabled =\r\n document.webkitIsFullScreen ||\r\n document.mozFullScreen ||\r\n document.msFullscreenElement;\r\n if (isFullscreenEnabled === undefined) {\r\n this._fullscreen = false;\r\n this._fullscreenBtn.innerHTML = this.options.showFullscreenIconTemplate;\r\n this._fullscreenBtn.removeAttribute(ATTR_STATE_ACTIVE);\r\n }\r\n }\r\n\r\n _beforeSlideEvents() {\r\n this._animationStart();\r\n this._restoreDefaultZoom();\r\n this._restoreDefaultPosition();\r\n this._resetDoubleTap();\r\n }\r\n\r\n _slideHorizontally(direction) {\r\n this._images = SelectorEngine.find(\"img\", this._galleryContent);\r\n this._images.forEach((img) => {\r\n let newPositionLeft;\r\n\r\n if (direction === \"right\") {\r\n newPositionLeft = parseInt(img.parentNode.style.left, 10) - 100;\r\n if (newPositionLeft < -100)\r\n newPositionLeft = (this._images.length - 2) * 100;\r\n } else {\r\n newPositionLeft = parseInt(img.parentNode.style.left, 10) + 100;\r\n if (newPositionLeft === (this._images.length - 1) * 100)\r\n newPositionLeft = -100;\r\n }\r\n\r\n this._slideImg(img, newPositionLeft);\r\n });\r\n\r\n this._updateActiveImg(direction);\r\n }\r\n\r\n _slideImg(img, position) {\r\n if (position === 0) {\r\n img.setAttribute(ATTR_STATE_ACTIVE, \"\");\r\n Manipulator.style(img.parentNode, { opacity: 1, transform: \"scale(1)\" });\r\n } else {\r\n img.removeAttribute(ATTR_STATE_ACTIVE);\r\n Manipulator.style(img.parentNode, {\r\n opacity: 0,\r\n transform: \"scale(0.25)\",\r\n });\r\n }\r\n img.parentNode.style.left = `${position}%`;\r\n }\r\n\r\n _slideToTarget(target) {\r\n if (target === \"first\" && this._activeImg === 0) return;\r\n if (target === \"last\" && this._activeImg === this._images.length - 1)\r\n return;\r\n\r\n this.reset();\r\n this._removeEvents();\r\n this._showLoader();\r\n\r\n this._getImages();\r\n this._activeImg = target === \"first\" ? 0 : this._images.length - 1;\r\n this._sortImages();\r\n\r\n Manipulator.style(this.currentImg.parentNode, {\r\n transform: \"scale(0.25)\",\r\n opacity: 0,\r\n });\r\n\r\n setTimeout(() => {\r\n this._loadImages().then((images) => {\r\n this._resizeImages(images);\r\n this._addEvents();\r\n this._updateCaption();\r\n this._hideLoader();\r\n setTimeout(() => {\r\n Manipulator.style(this.currentImg.parentNode, {\r\n transform: \"scale(1)\",\r\n opacity: 1,\r\n });\r\n }, 10);\r\n });\r\n }, 400);\r\n }\r\n\r\n _updateActiveImg(direction) {\r\n if (direction === \"right\") {\r\n if (this._activeImg === this._images.length - 1) {\r\n this._activeImg = 0;\r\n } else {\r\n this._activeImg++;\r\n }\r\n }\r\n\r\n if (direction === \"left\") {\r\n if (this._activeImg === 0) {\r\n this._activeImg = this._images.length - 1;\r\n } else {\r\n this._activeImg--;\r\n }\r\n }\r\n }\r\n\r\n _afterSlideEvents() {\r\n this._updateCounter();\r\n this._updateCaption();\r\n }\r\n\r\n _updateCounter() {\r\n if (this._images.length <= 1) return;\r\n setTimeout(() => {\r\n this._imgCounter.innerHTML = `${this._activeImg + 1} / ${\r\n this._images.length\r\n }`;\r\n }, 200);\r\n }\r\n\r\n _updateCaption() {\r\n setTimeout(() => {\r\n let caption = this.currentImg.alt;\r\n if (\r\n this.currentImg.dataset.caption ||\r\n this.currentImg.dataset.caption === \"\"\r\n ) {\r\n caption = this.currentImg.dataset.caption;\r\n }\r\n SelectorEngine.findOne(\r\n `[${ATTR_LIGHTBOX_CAPTION}]`,\r\n this._gallery\r\n ).innerHTML = caption;\r\n }, 200);\r\n }\r\n\r\n _toggleTemplate() {\r\n if (this._gallery.style.visibility === \"visible\") {\r\n Manipulator.style(this.currentImg.parentNode, {\r\n transform: \"scale(0.25)\",\r\n });\r\n\r\n setTimeout(() => {\r\n this._hideGallery();\r\n this._enableScroll();\r\n this._showLoader();\r\n }, 100);\r\n } else {\r\n this._showGallery();\r\n this._disableScroll();\r\n this._updateCounter();\r\n this._updateCaption();\r\n this._setToolsToggleTimout();\r\n this._hideLoader();\r\n }\r\n }\r\n\r\n _showLoader() {\r\n Manipulator.style(this._loader, { opacity: 1 });\r\n }\r\n\r\n _hideLoader() {\r\n Manipulator.style(this._loader, { opacity: 0 });\r\n }\r\n\r\n _hideGallery() {\r\n Manipulator.style(this._gallery, {\r\n opacity: 0,\r\n pointerEvents: \"none\",\r\n visibility: \"hidden\",\r\n });\r\n }\r\n\r\n _showGallery() {\r\n Manipulator.style(this._gallery, {\r\n opacity: 1,\r\n pointerEvents: \"initial\",\r\n visibility: \"visible\",\r\n });\r\n setTimeout(() => {\r\n Manipulator.style(this.currentImg.parentNode, { transform: \"scale(1)\" });\r\n }, 50);\r\n }\r\n\r\n _toggleZoom() {\r\n if (this._zoom !== 1) {\r\n this.zoomOut();\r\n } else {\r\n this.zoomIn();\r\n }\r\n }\r\n\r\n _updateZoomBtn() {\r\n if (this._zoom > 1) {\r\n this._zoomBtn.setAttribute(ATTR_STATE_ACTIVE, \"\");\r\n this._zoomBtn.setAttribute(\"aria-label\", \"Zoom out\");\r\n this._zoomBtn.innerHTML = this.options.zoomOutIconTemplate;\r\n } else {\r\n this._zoomBtn.removeAttribute(ATTR_STATE_ACTIVE);\r\n this._zoomBtn.setAttribute(\"aria-label\", \"Zoom in\");\r\n this._zoomBtn.innerHTML = this.options.zoomInIconTemplate;\r\n }\r\n }\r\n\r\n _updateImgPosition() {\r\n if (this._zoom === 1) {\r\n this._restoreDefaultPosition();\r\n }\r\n }\r\n\r\n _addEvents() {\r\n const images = SelectorEngine.find(\"img\", this._galleryContent);\r\n\r\n this._onWindowTouchmove = this._onWindowTouchmove.bind(this);\r\n this._onWindowTouchstart = this._onWindowTouchstart.bind(this);\r\n this._onImgMousedown = this._onMousedown.bind(this);\r\n this._onImgMousemove = this._onMousemove.bind(this);\r\n this._onImgWheel = this._onZoom.bind(this);\r\n this._onImgMouseup = this._onMouseup.bind(this);\r\n this._onImgTouchend = this._onTouchend.bind(this);\r\n this._onImgDoubleClick = this._onDoubleClick.bind(this);\r\n this._onWindowResize = this._onResize.bind(this);\r\n this._onWindowFullscreenChange = this._onFullscreenChange.bind(this);\r\n this._onAnyImgAction = this._resetToolsToggler.bind(this);\r\n this._onGalleryClick = this._onBackdropClick.bind(this);\r\n this._onKeyupEvent = this._onKeyup.bind(this);\r\n this._onRightArrowKeydownEvent = this._onRightArrowKeydown.bind(this);\r\n this._onFullscreenBtnKeydownEvent = this._onFullscreenBtnKeydown.bind(this);\r\n\r\n images.forEach((img) => {\r\n EventHandler.on(img, \"mousedown\", this._onImgMousedown, {\r\n passive: true,\r\n });\r\n EventHandler.on(img, \"touchstart\", this._onImgMousedown, {\r\n passive: true,\r\n });\r\n EventHandler.on(img, \"mousemove\", this._onImgMousemove, {\r\n passive: true,\r\n });\r\n EventHandler.on(img, \"touchmove\", this._onImgMousemove, {\r\n passive: true,\r\n });\r\n EventHandler.on(img, \"wheel\", this._onImgWheel, { passive: true });\r\n EventHandler.on(img, \"dblclick\", this._onImgDoubleClick, {\r\n passive: true,\r\n });\r\n });\r\n\r\n document.addEventListener(\"touchmove\", this._onWindowTouchmove, {\r\n passive: false,\r\n });\r\n EventHandler.on(window, \"touchstart\", this._onWindowTouchstart);\r\n EventHandler.on(window, \"mouseup\", this._onImgMouseup);\r\n EventHandler.on(window, \"touchend\", this._onImgTouchend);\r\n EventHandler.on(window, \"resize\", this._onWindowResize);\r\n EventHandler.on(window, \"orientationchange\", this._onWindowResize);\r\n EventHandler.on(window, \"keyup\", this._onKeyupEvent);\r\n EventHandler.on(window, \"fullscreenchange\", this._onWindowFullscreenChange);\r\n EventHandler.on(this._gallery, \"mousemove\", this._onAnyImgAction);\r\n EventHandler.on(this._gallery, \"click\", this._onGalleryClick);\r\n EventHandler.on(\r\n this._rightArrow,\r\n \"keydown\",\r\n this._onRightArrowKeydownEvent\r\n );\r\n EventHandler.on(\r\n this._fullscreenBtn,\r\n \"keydown\",\r\n this._onFullscreenBtnKeydownEvent\r\n );\r\n }\r\n\r\n _removeEvents() {\r\n const images = SelectorEngine.find(\"img\", this._galleryContent);\r\n\r\n images.forEach((img) => {\r\n EventHandler.off(img, \"mousedown\", this._onImgMousedown);\r\n EventHandler.off(img, \"touchstart\", this._onImgMousedown);\r\n EventHandler.off(img, \"mousemove\", this._onImgMousemove);\r\n EventHandler.off(img, \"touchmove\", this._onImgMousemove);\r\n EventHandler.off(img, \"wheel\", this._onImgWheel);\r\n EventHandler.off(img, \"dblclick\", this._onImgDoubleClick);\r\n });\r\n\r\n document.removeEventListener(\"touchmove\", this._onWindowTouchmove, {\r\n passive: false,\r\n });\r\n EventHandler.off(window, \"touchstart\", this._onWindowTouchstart);\r\n EventHandler.off(window, \"mouseup\", this._onImgMouseup);\r\n EventHandler.off(window, \"touchend\", this._onImgTouchend);\r\n EventHandler.off(window, \"resize\", this._onWindowResize);\r\n EventHandler.off(window, \"orientationchange\", this._onWindowResize);\r\n EventHandler.off(window, \"keyup\", this._onKeyupEvent);\r\n EventHandler.off(\r\n window,\r\n \"fullscreenchange\",\r\n this._onWindowFullscreenChange\r\n );\r\n EventHandler.off(this._gallery, \"mousemove\", this._onAnyImgAction);\r\n EventHandler.off(this._gallery, \"click\", this._onGalleryClick);\r\n EventHandler.off(\r\n this._rightArrow,\r\n \"keydown\",\r\n this._onRightArrowKeydownEvent\r\n );\r\n EventHandler.off(\r\n this._fullscreenBtn,\r\n \"keydown\",\r\n this._onFullscreenBtnKeydownEvent\r\n );\r\n }\r\n\r\n _onMousedown(e) {\r\n const touch = e.touches;\r\n const x = touch ? touch[0].clientX : e.clientX;\r\n const y = touch ? touch[0].clientY : e.clientY;\r\n\r\n this._originalPositionX = parseFloat(this.currentImg.style.left) || 0;\r\n this._originalPositionY = parseFloat(this.currentImg.style.top) || 0;\r\n this._positionX = this._originalPositionX;\r\n this._positionY = this._originalPositionY;\r\n this._mousedownPositionX = x * (1 / this._zoom) - this._positionX;\r\n this._mousedownPositionY = y * (1 / this._zoom) - this._positionY;\r\n this._mousedown = true;\r\n\r\n if (e.type === \"touchstart\") {\r\n if (e.touches.length > 1) {\r\n this._multitouch = true;\r\n this._touchZoomPosition = e.touches;\r\n }\r\n }\r\n }\r\n\r\n _onMousemove(e) {\r\n if (!this._mousedown) return;\r\n\r\n const touch = e.touches;\r\n const x = touch ? touch[0].clientX : e.clientX;\r\n const y = touch ? touch[0].clientY : e.clientY;\r\n\r\n if (touch) this._resetToolsToggler();\r\n\r\n if (!this._multitouch) {\r\n if (this._zoom !== 1) {\r\n this._positionX = x * (1 / this._zoom) - this._mousedownPositionX;\r\n this._positionY = y * (1 / this._zoom) - this._mousedownPositionY;\r\n Manipulator.style(this.currentImg, {\r\n left: `${this._positionX}px`,\r\n top: `${this._positionY}px`,\r\n });\r\n } else {\r\n if (this._images.length <= 1) return;\r\n this._positionX = x * (1 / this._zoom) - this._mousedownPositionX;\r\n Manipulator.style(this.currentImg, { left: `${this._positionX}px` });\r\n }\r\n }\r\n }\r\n\r\n _onMouseup(e) {\r\n this._mousedown = false;\r\n this._moveImg(e.target);\r\n }\r\n\r\n _onTouchend(e) {\r\n this._mousedown = false;\r\n\r\n if (this._multitouch) {\r\n if (e.targetTouches.length === 0) {\r\n this._multitouch = false;\r\n this._touchZoomPosition = [];\r\n }\r\n } else if (!this._multitouch) {\r\n this._checkDoubleTap(e);\r\n this._moveImg(e.target);\r\n }\r\n }\r\n\r\n _calculateTouchZoom(e) {\r\n const initialDistance = Math.hypot(\r\n this._touchZoomPosition[1].pageX - this._touchZoomPosition[0].pageX,\r\n this._touchZoomPosition[1].pageY - this._touchZoomPosition[0].pageY\r\n );\r\n const finalDistance = Math.hypot(\r\n e.touches[1].pageX - e.touches[0].pageX,\r\n e.touches[1].pageY - e.touches[0].pageY\r\n );\r\n const distanceChange = Math.abs(initialDistance - finalDistance);\r\n const screenWidth = e.view.screen.width;\r\n if (distanceChange > screenWidth * 0.03) {\r\n if (initialDistance <= finalDistance) {\r\n this.zoomIn();\r\n } else {\r\n this.zoomOut();\r\n }\r\n this._touchZoomPosition = e.touches;\r\n }\r\n }\r\n\r\n _onWindowTouchstart(e) {\r\n if (e.touches.length > 1) {\r\n this._multitouch = true;\r\n this._touchZoomPosition = e.touches;\r\n }\r\n }\r\n\r\n _onWindowTouchmove(e) {\r\n e.preventDefault();\r\n if (e.type === \"touchmove\" && e.targetTouches.length > 1) {\r\n this._calculateTouchZoom(e);\r\n }\r\n }\r\n\r\n _onRightArrowKeydown(e) {\r\n switch (e.keyCode) {\r\n case 9:\r\n if (e.shiftKey) break;\r\n e.preventDefault();\r\n this._focusFullscreenBtn();\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n _onFullscreenBtnKeydown(e) {\r\n switch (e.keyCode) {\r\n case 9:\r\n if (!e.shiftKey) break;\r\n e.preventDefault();\r\n this._focusRightArrow();\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n _onKeyup(e) {\r\n this._resetToolsToggler();\r\n switch (e.keyCode) {\r\n case 39:\r\n this.slide();\r\n break;\r\n case 37:\r\n this.slide(\"left\");\r\n break;\r\n case 27:\r\n this.close();\r\n break;\r\n case 36:\r\n this.slide(\"first\");\r\n break;\r\n case 35:\r\n this.slide(\"last\");\r\n break;\r\n case 38:\r\n this.zoomIn();\r\n break;\r\n case 40:\r\n this.zoomOut();\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n _focusFullscreenBtn() {\r\n setTimeout(() => {\r\n this._fullscreenBtn.focus();\r\n }, 100);\r\n }\r\n\r\n _focusRightArrow() {\r\n this._rightArrow.focus();\r\n }\r\n\r\n _moveImg(target) {\r\n if (this._multitouch) return;\r\n if (\r\n this._zoom !== 1 ||\r\n target !== this.currentImg ||\r\n this._images.length <= 1\r\n )\r\n return;\r\n\r\n const movement = this._positionX - this._originalPositionX;\r\n if (movement > 0) {\r\n this.slide(\"left\");\r\n } else if (movement < 0) {\r\n this.slide();\r\n }\r\n }\r\n\r\n _checkDoubleTap(e) {\r\n clearTimeout(this._doubleTapTimer);\r\n const currentTime = new Date().getTime();\r\n const tapLength = currentTime - this._tapTime;\r\n\r\n if (this._tapCounter > 0 && tapLength < 500) {\r\n this._onDoubleClick(e);\r\n this._doubleTapTimer = setTimeout(() => {\r\n this._tapTime = new Date().getTime();\r\n this._tapCounter = 0;\r\n }, 300);\r\n } else {\r\n this._tapCounter++;\r\n this._tapTime = new Date().getTime();\r\n }\r\n }\r\n\r\n _resetDoubleTap() {\r\n this._tapTime = 0;\r\n this._tapCounter = 0;\r\n clearTimeout(this._doubleTapTimer);\r\n }\r\n\r\n _onDoubleClick(e) {\r\n if (this._multitouch) return;\r\n\r\n if (!e.touches) this._setNewPositionOnZoomIn(e);\r\n if (this._zoom !== 1) {\r\n this._restoreDefaultZoom();\r\n } else {\r\n this.zoomIn();\r\n }\r\n }\r\n\r\n _onZoom(e) {\r\n if (e.deltaY > 0) {\r\n this.zoomOut();\r\n } else {\r\n if (this._zoom >= 3) return;\r\n this._setNewPositionOnZoomIn(e);\r\n this.zoomIn();\r\n }\r\n }\r\n\r\n _onBackdropClick(e) {\r\n this._resetToolsToggler();\r\n\r\n if (e.target.tagName !== \"DIV\") return;\r\n this.close();\r\n }\r\n\r\n _setNewPositionOnZoomIn(e) {\r\n clearTimeout(this._zoomTimer);\r\n this._positionX = window.innerWidth / 2 - e.offsetX - 50;\r\n this._positionY = window.innerHeight / 2 - e.offsetY - 50;\r\n this.currentImg.style.transition = \"all 0.5s ease-out\";\r\n this.currentImg.style.left = `${this._positionX}px`;\r\n this.currentImg.style.top = `${this._positionY}px`;\r\n\r\n this._zoomTimer = setTimeout(() => {\r\n this.currentImg.style.transition = \"none\";\r\n }, 500);\r\n }\r\n\r\n _resetToolsToggler() {\r\n this._showTools();\r\n clearTimeout(this._toolsToggleTimer);\r\n this._setToolsToggleTimout();\r\n }\r\n\r\n _setToolsToggleTimout() {\r\n this._toolsToggleTimer = setTimeout(() => {\r\n this._hideTools();\r\n clearTimeout(this._toolsToggleTimer);\r\n }, 4000);\r\n }\r\n\r\n _hideTools() {\r\n Manipulator.style(this._galleryToolbar, { opacity: 0 });\r\n Manipulator.style(this._leftArrowWrapper, { opacity: 0 });\r\n Manipulator.style(this._rightArrowWrapper, { opacity: 0 });\r\n }\r\n\r\n _showTools() {\r\n Manipulator.style(this._galleryToolbar, { opacity: 1 });\r\n Manipulator.style(this._leftArrowWrapper, { opacity: 1 });\r\n Manipulator.style(this._rightArrowWrapper, { opacity: 1 });\r\n }\r\n\r\n _disableScroll() {\r\n Manipulator.addClass(document.body, `overflow-y-hidden relative`);\r\n\r\n if (\r\n document.documentElement.scrollHeight >\r\n document.documentElement.clientHeight\r\n ) {\r\n Manipulator.addClass(document.body, `md:pr-[17px]`);\r\n }\r\n }\r\n\r\n _enableScroll() {\r\n setTimeout(() => {\r\n Manipulator.removeClass(document.body, `overflow-y-hidden relative`);\r\n Manipulator.removeClass(document.body, `md:pr-[17px]`);\r\n }, 300);\r\n }\r\n\r\n _animationStart() {\r\n this._animating = true;\r\n setTimeout(() => {\r\n this._animating = false;\r\n }, 400);\r\n }\r\n\r\n _restoreDefaultZoom() {\r\n if (this._zoom !== 1) {\r\n this._zoom = 1;\r\n Manipulator.style(this.currentImg.parentNode, {\r\n transform: `scale(${this._zoom})`,\r\n });\r\n\r\n this._updateZoomBtn();\r\n this._updateImgPosition();\r\n }\r\n }\r\n\r\n _restoreDefaultFullscreen() {\r\n if (this._fullscreen) this.toggleFullscreen();\r\n }\r\n\r\n _restoreDefaultPosition() {\r\n clearTimeout(this._zoomTimer);\r\n const currentImg = this.currentImg;\r\n\r\n Manipulator.style(this.currentImg.parentNode, { left: 0, top: 0 });\r\n Manipulator.style(this.currentImg, {\r\n transition: \"all 0.5s ease-out\",\r\n left: 0,\r\n top: 0,\r\n });\r\n\r\n this._calculateImgSize(currentImg);\r\n\r\n setTimeout(() => {\r\n Manipulator.style(this.currentImg, { transition: \"none\" });\r\n }, 500);\r\n }\r\n\r\n async _triggerEvents(startEvent, completeEvent) {\r\n EventHandler.trigger(this._element, `${startEvent}.te.lightbox`);\r\n\r\n if (completeEvent) {\r\n await setTimeout(() => {\r\n EventHandler.trigger(this._element, `${completeEvent}.te.lightbox`);\r\n }, 505);\r\n }\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n\r\n static toggle() {\r\n return function (event) {\r\n const lightbox = SelectorEngine.closest(\r\n event.target,\r\n `${SELECTOR_ATTR_LIGHTBOX}`\r\n );\r\n const instance = Lightbox.getInstance(lightbox) || new Lightbox(lightbox);\r\n instance.open(event);\r\n };\r\n }\r\n\r\n static jQueryInterface(config, options) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === \"object\" && config;\r\n if (!data && /dispose/.test(config)) {\r\n return;\r\n }\r\n if (!data) {\r\n data = new Lightbox(this, _config);\r\n }\r\n if (typeof config === \"string\") {\r\n if (typeof data[config] === \"undefined\") {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n data[config](options);\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default Lightbox;\r\n", "export const teDefaultMessages = {\r\n isRequired: \"This is required\",\r\n isEmail: \"Please enter a valid email address\",\r\n isLongerThan: \"This field must be longer than {length} characters\",\r\n isShorterThan: \"This field must be shorter than {length} characters\",\r\n isChecked: \"This is required\",\r\n isPhone: \"Please enter a valid phone number\",\r\n isNumber: \"Expected value with type Number\",\r\n isString: \"Expected value with type String\",\r\n isBoolean: \"Expected value with type Boolean\",\r\n isDate: \"Please enter a valid date\",\r\n is12hFormat: \"Please enter a valid time in 12h format\",\r\n is24hFormat: \"Please enter a valid time in 24h format\",\r\n};\r\n\r\nexport const teRules = {\r\n isRequired: (value, message) => {\r\n const test = value?.trim();\r\n\r\n if (test) {\r\n return true;\r\n }\r\n return message;\r\n },\r\n isEmail: (value, message) => {\r\n const pattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\r\n const test = pattern.test(value);\r\n\r\n if (test) {\r\n return true;\r\n }\r\n return message;\r\n },\r\n isLongerThan: (value, message, length) => {\r\n const test = value.length > length;\r\n\r\n if (test) {\r\n return true;\r\n }\r\n\r\n return message.replace(\"{length}\", length);\r\n },\r\n isShorterThan: (value, message, length) => {\r\n const test = value.length < length;\r\n\r\n if (test) {\r\n return true;\r\n }\r\n\r\n return message.replace(\"{length}\", length);\r\n },\r\n isChecked: (value) => {\r\n if (value) {\r\n return true;\r\n }\r\n\r\n return \"This is required\";\r\n },\r\n isPhone: (value, message) => {\r\n if (value.length === 9) {\r\n return true;\r\n }\r\n return message;\r\n },\r\n isNumber: (value, message) => {\r\n if (value && !isNaN(Number(value))) {\r\n return true;\r\n }\r\n\r\n return message;\r\n },\r\n isString: (value, message) => {\r\n if (typeof value === \"string\") {\r\n return true;\r\n }\r\n\r\n return message;\r\n },\r\n isBoolean: (value, message) => {\r\n if (typeof value === \"boolean\") {\r\n return true;\r\n }\r\n\r\n return message;\r\n },\r\n isDate: (value, message) => {\r\n const pattern = /^([0-9]{1,2})\\/([0-9]{1,2})\\/([0-9]{4})$/;\r\n const test = value.match(pattern);\r\n\r\n if (test) {\r\n return true;\r\n }\r\n\r\n return message;\r\n },\r\n is12hFormat: (value, message) => {\r\n const pattern = /^(0?[1-9]|1[0-2]):[0-5][0-9] [APap][mM]$/;\r\n const test = value.match(pattern);\r\n\r\n if (test) {\r\n return true;\r\n }\r\n\r\n return message;\r\n },\r\n is24hFormat: (value, message) => {\r\n const pattern = /^(?:[01]\\d|2[0-3]):[0-5][0-9]$/;\r\n const test = value.match(pattern);\r\n\r\n if (test) {\r\n return true;\r\n }\r\n\r\n return message;\r\n },\r\n};\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { typeCheckConfig, getUID } from \"../../util/index\";\r\nimport EventHandler from \"../../dom/event-handler\";\r\nimport BaseComponent from \"../../base-component\";\r\nimport Manipulator from \"../../dom/manipulator\";\r\nimport SelectorEngine from \"../../dom/selector-engine\";\r\nimport { DefaultClasses as InputClasses } from \"../../forms/input\";\r\nimport { teRules as rules, teDefaultMessages } from \"./rules\";\r\nimport Data from \"../../dom/data\";\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nConstants\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nconst NAME = \"validation\";\r\nconst DATA_KEY = \"te.validation\";\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\n\r\nconst ATTR_VALIDATION_ELEMENTS = \"data-te-validate\";\r\nconst ATTR_VALIDATED = \"data-te-validated\";\r\nconst ATTR_VALIDATION_STATE = \"data-te-validation-state\";\r\nconst ATTR_VALIDATION_FEEDBACK = \"data-te-validation-feedback\";\r\n\r\nconst ATTR_VALID_FEEDBACK = \"data-te-valid-feedback\";\r\nconst ATTR_INVALID_FEEDBACK = \"data-te-invalid-feedback\";\r\nconst ATTR_VALIDATION_RULESET = \"data-te-validation-ruleset\";\r\n\r\nconst ATTR_SUBMIT_BTN = \"data-te-submit-btn-ref\";\r\n\r\nconst SELECTOR_VALIDATION_ELEMENTS = `[${ATTR_VALIDATION_ELEMENTS}]`;\r\nconst SELECTOR_INPUT_NOTCHES = \"[data-te-input-notch-ref] div\";\r\nconst SELECTOR_SUBMIT_BTN = `[${ATTR_SUBMIT_BTN}]`;\r\n\r\nconst EVENT_VALIDATED = `validated${EVENT_KEY}`;\r\nconst EVENT_VALIDATION_VALID = `valid${EVENT_KEY}`;\r\nconst EVENT_VALIDATION_INVALID = `invalid${EVENT_KEY}`;\r\nconst EVENT_VALIDATION_CHANGED = `changed${EVENT_KEY}`;\r\n\r\nconst DefaultType = {\r\n validFeedback: \"string\",\r\n invalidFeedback: \"string\",\r\n disableFeedback: \"boolean\",\r\n customRules: \"object\",\r\n customErrorMessages: \"object\",\r\n activeValidation: \"boolean\",\r\n submitCallback: \"(function|null)\",\r\n};\r\n\r\nconst Default = {\r\n validFeedback: \"Looks good!\",\r\n invalidFeedback: \"Something is wrong!\",\r\n disableFeedback: false,\r\n customRules: {},\r\n customErrorMessages: {},\r\n activeValidation: false,\r\n submitCallback: null,\r\n};\r\n\r\nconst DefaultClasses = {\r\n // default notch\r\n notchLeadingValid:\r\n \"border-[#14a44d] dark:border-[#14a44d] group-data-[te-input-focused]:shadow-[-1px_0_0_#14a44d,_0_1px_0_0_#14a44d,_0_-1px_0_0_#14a44d] group-data-[te-input-focused]:border-[#14a44d]\",\r\n notchMiddleValid:\r\n \"border-[#14a44d] dark:border-[#14a44d] group-data-[te-input-focused]:shadow-[0_1px_0_0_#14a44d] group-data-[te-input-focused]:border-[#14a44d]\",\r\n notchTrailingValid:\r\n \"border-[#14a44d] dark:border-[#14a44d] group-data-[te-input-focused]:shadow-[1px_0_0_#14a44d,_0_-1px_0_0_#14a44d,_0_1px_0_0_#14a44d] group-data-[te-input-focused]:border-[#14a44d]\",\r\n notchLeadingInvalid:\r\n \"border-[#dc4c64] dark:border-[#dc4c64] group-data-[te-input-focused]:shadow-[-1px_0_0_#dc4c64,_0_1px_0_0_#dc4c64,_0_-1px_0_0_#dc4c64] group-data-[te-input-focused]:border-[#dc4c64]\",\r\n notchMiddleInvalid:\r\n \"border-[#dc4c64] dark:border-[#dc4c64] group-data-[te-input-focused]:shadow-[0_1px_0_0_#dc4c64] group-data-[te-input-focused]:border-[#dc4c64]\",\r\n notchTrailingInvalid:\r\n \"border-[#dc4c64] dark:border-[#dc4c64] group-data-[te-input-focused]:shadow-[1px_0_0_#dc4c64,_0_-1px_0_0_#dc4c64,_0_1px_0_0_#dc4c64] group-data-[te-input-focused]:border-[#dc4c64]\",\r\n\r\n // basic inputs\r\n basicInputValid:\r\n \"!border-[#14a44d] focus:!border-[#14a44d] focus:!shadow-[inset_0_0_0_1px_#14a44d]\",\r\n basicInputInvalid:\r\n \"!border-[#dc4c64] focus:!border-[#dc4c64] focus:!shadow-[inset_0_0_0_1px_#dc4c64]\",\r\n\r\n // checkbox\r\n\r\n checkboxValid:\r\n \"checked:!border-[#14a44d] checked:!bg-[#14a44d] checked:after:!bg-[#14a44d]\",\r\n checkboxInvalid:\r\n \"checked:!border-[#dc4c64] checked:!bg-[#dc4c64] checked:after:!bg-[#dc4c64]\",\r\n\r\n radioValid: \"checked:!border-[#14a44d] checked:after:!bg-[#14a44d]\",\r\n radioInvalid: \"checked:!border-[#dc4c64] checked:after:!bg-[#dc4c64]\",\r\n\r\n // labels\r\n labelValid: \"!text-[#14a44d]\",\r\n labelInvalid: \"!text-[#dc4c64]\",\r\n\r\n // feedback\r\n validFeedback:\r\n \"absolute top-full left-0 m-1 w-auto text-sm text-[#14a44d] animate-[fade-in_0.3s_both]\",\r\n invalidFeedback:\r\n \"absolute top-full left-0 m-1 w-auto text-sm text-[#dc4c64] animate-[fade-in_0.3s_both]\",\r\n\r\n // element validated\r\n elementValidated: \"mb-8\",\r\n};\r\n\r\nconst DefaultClassesType = {\r\n notchLeadingValid: \"string\",\r\n notchMiddleValid: \"string\",\r\n notchTrailingValid: \"string\",\r\n notchLeadingInvalid: \"string\",\r\n notchMiddleInvalid: \"string\",\r\n notchTrailingInvalid: \"string\",\r\n basicInputValid: \"string\",\r\n basicInputInvalid: \"string\",\r\n checkboxValid: \"string\",\r\n checkboxInvalid: \"string\",\r\n radioValid: \"string\",\r\n radioInvalid: \"string\",\r\n labelValid: \"string\",\r\n labelInvalid: \"string\",\r\n validFeedback: \"string\",\r\n invalidFeedback: \"string\",\r\n elementValidated: \"string\",\r\n};\r\n\r\n/*\r\n------------------------------------------------------------------------\r\nClass Definition\r\n------------------------------------------------------------------------\r\n*/\r\n\r\nclass Validation extends BaseComponent {\r\n constructor(element, config, classes) {\r\n super(element);\r\n this._element = element;\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n this._config = this._getConfig(config);\r\n this._classes = this._getClasses(classes);\r\n this._isValid = true;\r\n this._shouldApplyInputEvents = true;\r\n this._submitCallback = null;\r\n\r\n this._errorMessages = {\r\n ...teDefaultMessages,\r\n ...this._config.customErrorMessages,\r\n };\r\n\r\n this._validationElements = this._getValidationElements();\r\n\r\n this._validationElements.forEach(({ element, input }) => {\r\n this._createFeedbackWrapper(element, input);\r\n });\r\n\r\n this._validationObserver = this._watchForValidationChanges();\r\n this._validationObserver.observe(this._element, { attributes: true });\r\n\r\n this._submitButton = null;\r\n this._handleSubmitButton();\r\n\r\n this._validationResult = [];\r\n }\r\n\r\n // Getters\r\n static get DefaultType() {\r\n return DefaultType;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n dispose() {\r\n this._validationObserver?.disconnect();\r\n this._validationObserver = null;\r\n this._submitCallback = null;\r\n this._element.removeAttribute(ATTR_VALIDATED);\r\n\r\n this._removeValidationTraces();\r\n this._validationResult = [];\r\n\r\n if (this._submitButton) {\r\n EventHandler.off(this._submitButton, \"click\");\r\n }\r\n\r\n if (this._config.activeValidation) {\r\n this._validationElements.forEach((singleElement) => {\r\n const { input } = singleElement;\r\n EventHandler.off(input, \"input\");\r\n });\r\n\r\n this._shouldApplyInputEvents = true;\r\n }\r\n }\r\n\r\n // Private\r\n _removeValidationTraces() {\r\n this._removeFeedbackWrapper();\r\n\r\n this._validationElements.forEach(({ element, classes, initialHTML }) => {\r\n element.className = classes;\r\n element.innerHTML = initialHTML;\r\n\r\n element.removeAttribute(ATTR_VALIDATION_STATE);\r\n element.removeAttribute(ATTR_INVALID_FEEDBACK);\r\n element.removeAttribute(ATTR_VALID_FEEDBACK);\r\n });\r\n\r\n this._validationElements = [];\r\n }\r\n\r\n _getValidationElements() {\r\n const elements = SelectorEngine.find(\r\n SELECTOR_VALIDATION_ELEMENTS,\r\n this._element\r\n );\r\n return elements.map((element) => {\r\n const input =\r\n SelectorEngine.findOne(\"input\", element) ||\r\n SelectorEngine.findOne(\"textarea\", element);\r\n\r\n return {\r\n id: input.name || input.id || getUID(\"validation-\"),\r\n element,\r\n type: element.getAttribute(ATTR_VALIDATION_ELEMENTS),\r\n input,\r\n validFeedback: element.getAttribute(ATTR_VALID_FEEDBACK),\r\n invalidFeedback: element.getAttribute(ATTR_INVALID_FEEDBACK),\r\n classes: element.className,\r\n initialHTML: element.innerHTML,\r\n ruleset: element.getAttribute(ATTR_VALIDATION_RULESET),\r\n };\r\n });\r\n }\r\n\r\n _createFeedbackWrapper(element, input) {\r\n if (element.querySelectorAll(`[${ATTR_VALIDATION_FEEDBACK}]`).length > 0) {\r\n return;\r\n }\r\n\r\n const span = document.createElement(\"span\");\r\n span.setAttribute(ATTR_VALIDATION_FEEDBACK, \"\");\r\n input.parentNode.appendChild(span);\r\n }\r\n\r\n _removeFeedbackWrapper() {\r\n const feedbackWrappers = SelectorEngine.find(\r\n `[${ATTR_VALIDATION_FEEDBACK}]`,\r\n this._element\r\n );\r\n\r\n feedbackWrappers.forEach((wrapper) => {\r\n wrapper.remove();\r\n });\r\n }\r\n\r\n _watchForValidationChanges() {\r\n const observer = new MutationObserver((mutations) => {\r\n mutations.forEach((mutation) => {\r\n const { attributeName } = mutation;\r\n if (attributeName === ATTR_VALIDATED) {\r\n this._handleValidation();\r\n\r\n if (this._config.activeValidation && this._shouldApplyInputEvents) {\r\n this._applyInputEvents();\r\n }\r\n }\r\n });\r\n });\r\n return observer;\r\n }\r\n\r\n _handleValidation() {\r\n if (!this._element.getAttribute(ATTR_VALIDATED)) {\r\n return;\r\n }\r\n this._validationResult = [];\r\n this._isValid = true;\r\n\r\n this._validationElements.forEach((validationElement) =>\r\n this._validateSingleElement(validationElement)\r\n );\r\n\r\n this._emitEvents(this._isValid);\r\n\r\n if (this._submitCallback) {\r\n this._submitCallback(this._isValid);\r\n }\r\n }\r\n\r\n _validateSingleElement(validationElement) {\r\n const { element, type, input, ruleset, id } = validationElement;\r\n\r\n if (ruleset) {\r\n this._validateByRuleset(validationElement);\r\n }\r\n\r\n const validationResult = element.getAttribute(ATTR_VALIDATION_STATE);\r\n\r\n if (validationResult !== \"valid\" && validationResult !== \"invalid\") {\r\n return;\r\n }\r\n\r\n const capitalizedValidationResult = validationResult.replace(\r\n validationResult.charAt(0),\r\n validationResult.charAt(0).toUpperCase()\r\n );\r\n\r\n if (type === \"input\") {\r\n this._restyleNotches(element, capitalizedValidationResult);\r\n }\r\n\r\n if (type === \"basic\") {\r\n this._restyleBasicInputs(input, capitalizedValidationResult);\r\n }\r\n\r\n if (type === \"checkbox\" || type === \"radio\") {\r\n this._restyleCheckboxes(input, capitalizedValidationResult, type);\r\n }\r\n\r\n this._restyleLabels(element, capitalizedValidationResult);\r\n\r\n if (validationResult === \"invalid\") {\r\n this._isValid = false;\r\n }\r\n\r\n if (!this._config.disableFeedback) {\r\n this._applyFeedback(element, validationResult);\r\n }\r\n\r\n EventHandler.trigger(this._element, EVENT_VALIDATION_CHANGED, {\r\n value: {\r\n name: id,\r\n result: validationResult,\r\n validation: this._validationResult[id]?.validation,\r\n },\r\n });\r\n }\r\n\r\n _validateByRuleset({ element, type, invalidFeedback, input, id }) {\r\n const ruleset = this._getRuleset(element);\r\n\r\n if (!ruleset.length) {\r\n return;\r\n }\r\n\r\n const result =\r\n type === \"checkbox\" || type === \"radio\" ? input.checked : input.value;\r\n\r\n let invalidMessage = \"\";\r\n let validation = [];\r\n\r\n for (const rule of ruleset) {\r\n const testResult = rule.callback(\r\n result,\r\n this._errorMessages[rule.name] || this._config.invalidFeedback,\r\n rule.parameter\r\n );\r\n validation.push({\r\n result: testResult === true,\r\n name: rule.name,\r\n fullName: rule.fullName,\r\n });\r\n\r\n if (typeof testResult === \"string\" && !invalidMessage) {\r\n invalidMessage = testResult;\r\n }\r\n }\r\n\r\n this._validationResult[id] = { element, validation };\r\n\r\n if (!invalidMessage) {\r\n element.setAttribute(ATTR_VALIDATION_STATE, `valid`);\r\n return;\r\n }\r\n\r\n element.setAttribute(ATTR_VALIDATION_STATE, `invalid`);\r\n\r\n if (!invalidFeedback) {\r\n element.setAttribute(ATTR_INVALID_FEEDBACK, invalidMessage);\r\n }\r\n }\r\n\r\n _handleInputChange(element) {\r\n this._validateSingleElement(element);\r\n }\r\n\r\n _getRuleset(element) {\r\n const ruleset = element.getAttribute(ATTR_VALIDATION_RULESET);\r\n\r\n const ruleArray = ruleset.split(\"|\");\r\n\r\n let rulesToApply = [];\r\n\r\n const rulesList = {\r\n ...rules,\r\n ...this._config.customRules,\r\n };\r\n\r\n ruleArray.forEach((rule) => {\r\n const ruleData = this._getRuleData(rule, rulesList);\r\n if (ruleData.callback) {\r\n rulesToApply.push(ruleData);\r\n } else {\r\n console.warn(`Rule ${rule} does not exist`);\r\n }\r\n });\r\n\r\n return rulesToApply;\r\n }\r\n\r\n _getRuleData(rule, rulesList) {\r\n const split = rule.split(\"(\");\r\n return {\r\n callback: rulesList[split[0]],\r\n parameter: split[1] ? split[1].split(\")\")[0] : null,\r\n name: split[0],\r\n fullName: rule,\r\n };\r\n }\r\n\r\n _applyFeedback(element, result) {\r\n const feedback = SelectorEngine.findOne(\r\n `[${ATTR_VALIDATION_FEEDBACK}]`,\r\n element\r\n );\r\n\r\n const valid =\r\n element.getAttribute(ATTR_VALID_FEEDBACK) || this._config.validFeedback;\r\n const invalid =\r\n element.getAttribute(ATTR_INVALID_FEEDBACK) ||\r\n this._config.invalidFeedback;\r\n\r\n Manipulator.addClass(element, this._classes.elementValidated);\r\n\r\n feedback.textContent = result === \"valid\" ? valid : invalid;\r\n\r\n feedback.className =\r\n this._classes[result === \"valid\" ? \"validFeedback\" : \"invalidFeedback\"];\r\n }\r\n\r\n _restyleCheckboxes(checkbox, result, type) {\r\n Manipulator.removeClass(checkbox, this._classes.checkboxValid);\r\n Manipulator.removeClass(checkbox, this._classes.checkboxInvalid);\r\n\r\n Manipulator.addClass(checkbox, this._classes[`${type}${result}`]);\r\n }\r\n\r\n _restyleBasicInputs(input, result) {\r\n Manipulator.removeClass(input, this._classes.basicInputValid);\r\n Manipulator.removeClass(input, this._classes.basicInputInvalid);\r\n\r\n Manipulator.addClass(input, this._classes[`basicInput${result}`]);\r\n }\r\n\r\n _restyleNotches(element, result) {\r\n const notches = SelectorEngine.find(SELECTOR_INPUT_NOTCHES, element);\r\n notches.forEach((notch, id) => {\r\n let classes =\r\n id === 0 ? \"notchLeading\" : id === 1 ? \"notchMiddle\" : \"notchTrailing\";\r\n\r\n notch.className = \"\";\r\n Manipulator.addClass(notch, InputClasses[classes]);\r\n\r\n classes += result;\r\n Manipulator.addClass(notch, this._classes[classes]);\r\n });\r\n }\r\n\r\n _restyleLabels(element, result) {\r\n const labels = SelectorEngine.find(\"label\", element);\r\n\r\n if (!labels.length) {\r\n return;\r\n }\r\n\r\n labels.forEach((label) => {\r\n Manipulator.removeClass(label, this._classes.labelValid);\r\n Manipulator.removeClass(label, this._classes.labelInvalid);\r\n\r\n Manipulator.addClass(label, this._classes[`label${result}`]);\r\n });\r\n }\r\n\r\n _emitEvents(isValid) {\r\n EventHandler.trigger(this._element, EVENT_VALIDATED);\r\n\r\n if (isValid) {\r\n EventHandler.trigger(this._element, EVENT_VALIDATION_VALID, {\r\n value: this._validationResult,\r\n });\r\n return;\r\n }\r\n EventHandler.trigger(this._element, EVENT_VALIDATION_INVALID, {\r\n value: this._validationResult,\r\n });\r\n }\r\n\r\n _applyInputEvents() {\r\n this._validationElements.forEach((singleElement) => {\r\n const { input } = singleElement;\r\n EventHandler.on(input, \"input\", () =>\r\n this._handleInputChange(singleElement)\r\n );\r\n });\r\n\r\n this._shouldApplyInputEvents = false;\r\n }\r\n\r\n _handleSubmitButton() {\r\n this._submitButton = SelectorEngine.findOne(\r\n SELECTOR_SUBMIT_BTN,\r\n this._element\r\n );\r\n\r\n if (!this._submitButton) {\r\n return;\r\n }\r\n\r\n EventHandler.on(this._submitButton, \"click\", (e) =>\r\n this._handleSubmitButtonClick(e)\r\n );\r\n }\r\n\r\n _handleSubmitButtonClick(e) {\r\n this._element.setAttribute(ATTR_VALIDATED, true);\r\n\r\n if (this._config.submitCallback) {\r\n this._submitCallback = (valid) => this._config.submitCallback(e, valid);\r\n return;\r\n }\r\n }\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...(typeof config === \"object\" && config ? config : {}),\r\n };\r\n\r\n typeCheckConfig(NAME, config, this.constructor.DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n _getClasses(classes) {\r\n const dataAttributes = Manipulator.getDataClassAttributes(this._element);\r\n\r\n classes = {\r\n ...DefaultClasses,\r\n ...dataAttributes,\r\n ...classes,\r\n };\r\n\r\n typeCheckConfig(NAME, classes, DefaultClassesType);\r\n\r\n return classes;\r\n }\r\n\r\n // Static\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n const data = Validation.getOrCreateInstance(this);\r\n\r\n if (typeof config !== \"string\") {\r\n return;\r\n }\r\n\r\n if (\r\n data[config] === undefined ||\r\n config.startsWith(\"_\") ||\r\n config === \"constructor\"\r\n ) {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config](this);\r\n });\r\n }\r\n}\r\n\r\nexport default Validation;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nclass TouchUtil {\r\n _getCoordinates(e) {\r\n const [touch] = e.touches;\r\n\r\n return {\r\n x: touch.clientX,\r\n y: touch.clientY,\r\n };\r\n }\r\n\r\n _getDirection({ x, y }) {\r\n return {\r\n x: {\r\n direction: x < 0 ? \"left\" : \"right\",\r\n value: Math.abs(x),\r\n },\r\n y: {\r\n direction: y < 0 ? \"up\" : \"down\",\r\n value: Math.abs(y),\r\n },\r\n };\r\n }\r\n\r\n _getOrigin({ x, y }, { x: x2, y: y2 }) {\r\n return {\r\n x: x - x2,\r\n y: y - y2,\r\n };\r\n }\r\n\r\n _getDistanceBetweenTwoPoints(x1, x2, y1, y2) {\r\n return Math.hypot(x2 - x1, y2 - y1);\r\n }\r\n\r\n _getMidPoint({ x1, x2, y1, y2 }) {\r\n return {\r\n x: (x1 + x2) / 2,\r\n y: (y1 + y2) / 2,\r\n };\r\n }\r\n\r\n _getVectorLength({ x1, x2, y1, y2 }) {\r\n return Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);\r\n }\r\n\r\n _getRightMostTouch(touches) {\r\n let rightMost = null;\r\n const distance = Number.MIN_VALUE;\r\n touches.forEach((touch) => {\r\n if (touch.clientX > distance) {\r\n rightMost = touch;\r\n }\r\n });\r\n return rightMost;\r\n }\r\n\r\n _getAngle(x1, y1, x2, y2) {\r\n return Math.atan2(y2 - y1, x2 - x1);\r\n }\r\n\r\n _getAngularDistance(start, end) {\r\n return end - start;\r\n }\r\n\r\n _getCenterXY({ x1, x2, y1, y2 }) {\r\n return {\r\n x: x1 + (x2 - x1) / 2,\r\n y: y1 + (y2 - y1) / 2,\r\n };\r\n }\r\n\r\n _getPinchTouchOrigin(touches) {\r\n const [t1, t2] = touches;\r\n\r\n const _position = {\r\n x1: t1.clientX,\r\n x2: t2.clientX,\r\n y1: t1.clientY,\r\n y2: t2.clientY,\r\n };\r\n\r\n return [this._getVectorLength(_position), this._getCenterXY(_position)];\r\n }\r\n\r\n _getPosition({ x1, x2, y1, y2 }) {\r\n return { x1, x2, y1, y2 };\r\n }\r\n}\r\n\r\nexport default TouchUtil;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport TouchUtil from \"./touchUtil\";\r\nimport EventHandler from \"../../dom/event-handler\";\r\nimport { typeCheckConfig } from \"../../util\";\r\nimport Manipulator from \"../../dom/manipulator\";\r\n\r\nconst NAME = \"press\";\r\nconst EVENT_UP = \"pressup\";\r\n\r\nconst DefaultType = {\r\n time: \"number\",\r\n pointers: \"number\",\r\n};\r\n\r\nconst Default = {\r\n time: 250,\r\n pointers: 1,\r\n};\r\n\r\nclass Press extends TouchUtil {\r\n constructor(element, options = {}) {\r\n super();\r\n this._element = element;\r\n this._options = this._getConfig(options);\r\n this._timer = null;\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n handleTouchStart(e) {\r\n const { time, pointers } = this._options;\r\n\r\n if (e.touches.length === pointers) {\r\n this._timer = setTimeout(() => {\r\n EventHandler.trigger(this._element, NAME, { touch: e, time });\r\n EventHandler.trigger(this._element, EVENT_UP, { touch: e });\r\n }, time);\r\n }\r\n }\r\n\r\n handleTouchEnd() {\r\n clearTimeout(this._timer);\r\n }\r\n\r\n _getConfig(options) {\r\n const config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...options,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n return config;\r\n }\r\n}\r\n\r\nexport default Press;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport EventHandler from \"../../dom/event-handler\";\r\nimport { typeCheckConfig } from \"../../util\";\r\nimport Manipulator from \"../../dom/manipulator\";\r\n\r\nconst NAME = \"swipe\";\r\n\r\nconst DefaultType = {\r\n threshold: \"number\",\r\n direction: \"string\",\r\n};\r\n\r\nconst Default = {\r\n threshold: 10,\r\n direction: \"all\",\r\n};\r\n\r\nclass Swipe {\r\n constructor(element, options) {\r\n this._element = element;\r\n this._startPosition = null;\r\n this._options = this._getConfig(options);\r\n }\r\n\r\n handleTouchStart(e) {\r\n this._startPosition = this._getCoordinates(e);\r\n }\r\n\r\n handleTouchMove(e) {\r\n if (!this._startPosition) return;\r\n\r\n const position = this._getCoordinates(e);\r\n const displacement = {\r\n x: position.x - this._startPosition.x,\r\n y: position.y - this._startPosition.y,\r\n };\r\n\r\n const swipe = this._getDirection(displacement);\r\n\r\n if (this._options.direction === \"all\") {\r\n if (\r\n swipe.y.value < this._options.threshold &&\r\n swipe.x.value < this._options.threshold\r\n ) {\r\n return;\r\n }\r\n const direction =\r\n swipe.y.value > swipe.x.value ? swipe.y.direction : swipe.x.direction;\r\n EventHandler.trigger(this._element, `swipe${direction}`, { touch: e });\r\n EventHandler.trigger(this._element, \"swipe\", { touch: e, direction });\r\n this._startPosition = null;\r\n return;\r\n }\r\n\r\n const axis =\r\n this._options.direction === \"left\" || this._options === \"right\"\r\n ? \"x\"\r\n : \"y\";\r\n\r\n if (\r\n swipe[axis].direction === this._options.direction &&\r\n swipe[axis].value > this._options.threshold\r\n ) {\r\n EventHandler.trigger(this._element, `swipe${swipe[axis].direction}`, {\r\n touch: e,\r\n });\r\n this._startPosition = null;\r\n }\r\n }\r\n\r\n handleTouchEnd() {\r\n this._startPosition = null;\r\n }\r\n\r\n _getCoordinates(e) {\r\n const [touch] = e.touches;\r\n return {\r\n x: touch.clientX,\r\n y: touch.clientY,\r\n };\r\n }\r\n\r\n _getDirection(displacement) {\r\n return {\r\n x: {\r\n direction: displacement.x < 0 ? \"left\" : \"right\",\r\n value: Math.abs(displacement.x),\r\n },\r\n y: {\r\n direction: displacement.y < 0 ? \"up\" : \"down\",\r\n value: Math.abs(displacement.y),\r\n },\r\n };\r\n }\r\n\r\n _getConfig(options) {\r\n const config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...options,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n return config;\r\n }\r\n}\r\n\r\nexport default Swipe;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport TouchUtil from \"./touchUtil\";\r\nimport EventHandler from \"../../dom/event-handler\";\r\nimport { typeCheckConfig } from \"../../util\";\r\nimport Manipulator from \"../../dom/manipulator\";\r\n\r\nconst NAME = \"pan\";\r\nconst EVENT_START = `${NAME}start`;\r\nconst EVENT_END = `${NAME}end`;\r\nconst EVENT_MOVE = `${NAME}move`;\r\nconst LEFT = \"left\";\r\nconst RIGHT = \"right\";\r\n\r\nconst DefaultType = {\r\n threshold: \"number\",\r\n direction: \"string\",\r\n pointers: \"number\",\r\n};\r\n\r\nconst Default = {\r\n threshold: 20,\r\n direction: \"all\",\r\n pointers: 1,\r\n};\r\n\r\nclass Pan extends TouchUtil {\r\n constructor(element, options = {}) {\r\n super();\r\n this._element = element;\r\n this._options = this._getConfig(options);\r\n this._startTouch = null;\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n handleTouchStart(e) {\r\n this._startTouch = this._getCoordinates(e);\r\n this._movedTouch = e;\r\n\r\n EventHandler.trigger(this._element, EVENT_START, { touch: e });\r\n }\r\n\r\n handleTouchMove(e) {\r\n // eslint-disable-next-line no-unused-expressions\r\n e.type === \"touchmove\" && e.preventDefault();\r\n\r\n const { threshold, direction } = this._options;\r\n const postion = this._getCoordinates(e);\r\n const movedPosition = this._getCoordinates(this._movedTouch);\r\n\r\n const displacement = this._getOrigin(postion, this._startTouch);\r\n const displacementMoved = this._getOrigin(postion, movedPosition);\r\n\r\n const pan = this._getDirection(displacement);\r\n const movedDirection = this._getDirection(displacementMoved);\r\n\r\n const { x, y } = pan;\r\n\r\n if (direction === \"all\" && (y.value > threshold || x.value > threshold)) {\r\n const direction = y.value > x.value ? y.direction : x.direction;\r\n\r\n EventHandler.trigger(this._element, `${NAME}${direction}`, { touch: e });\r\n EventHandler.trigger(this._element, NAME, {\r\n ...displacementMoved,\r\n touch: e,\r\n });\r\n }\r\n\r\n const axis = direction === LEFT || direction === RIGHT ? \"x\" : \"y\";\r\n\r\n if (\r\n movedDirection[axis].direction === direction &&\r\n pan[axis].value > threshold\r\n ) {\r\n EventHandler.trigger(this._element, `${NAME}${direction}`, {\r\n touch: e,\r\n [axis]: postion[axis] - movedPosition[axis],\r\n });\r\n }\r\n\r\n this._movedTouch = e;\r\n\r\n EventHandler.trigger(this._element, EVENT_MOVE, { touch: e });\r\n }\r\n\r\n handleTouchEnd(e) {\r\n // eslint-disable-next-line no-unused-expressions\r\n e.type === \"touchend\" && e.preventDefault();\r\n\r\n this._movedTouch = null;\r\n this._startTouch = null;\r\n\r\n EventHandler.trigger(this._element, EVENT_END, { touch: e });\r\n }\r\n\r\n _getConfig(options) {\r\n const config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...options,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n return config;\r\n }\r\n}\r\n\r\nexport default Pan;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport TouchUtil from \"./touchUtil\";\r\nimport EventHandler from \"../../dom/event-handler\";\r\nimport Manipulator from \"../../dom/manipulator\";\r\nimport { typeCheckConfig } from \"../../util\";\r\n\r\nconst NAME = \"pinch\";\r\nconst EVENT_END = `${NAME}end`;\r\nconst EVENT_START = `${NAME}start`;\r\nconst EVENT_MOVE = `${NAME}move`;\r\n\r\nconst DefaultType = {\r\n threshold: \"number\",\r\n pointers: \"number\",\r\n};\r\n\r\nconst Default = {\r\n threshold: 10,\r\n pointers: 2,\r\n};\r\n\r\nclass Pinch extends TouchUtil {\r\n constructor(element, options = {}) {\r\n super();\r\n this._element = element;\r\n this._options = this._getConfig(options);\r\n this._startTouch = null;\r\n this._origin = null;\r\n this._touch = null;\r\n this._math = null;\r\n this._ratio = null;\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n get isNumber() {\r\n return (\r\n typeof this._startTouch === \"number\" &&\r\n typeof this._touch === \"number\" &&\r\n // eslint-disable-next-line no-restricted-globals\r\n !isNaN(this._startTouch) &&\r\n // eslint-disable-next-line no-restricted-globals\r\n !isNaN(this._touch)\r\n );\r\n }\r\n\r\n handleTouchStart(e) {\r\n if (e.touches.length !== this._options.pointers) return;\r\n\r\n // eslint-disable-next-line no-unused-expressions\r\n e.type === \"touchstart\" && e.preventDefault();\r\n\r\n const [touch, origin] = this._getPinchTouchOrigin(e.touches);\r\n\r\n this._touch = touch;\r\n this._origin = origin;\r\n this._startTouch = this._touch;\r\n\r\n EventHandler.trigger(this._element, EVENT_START, {\r\n touch: e,\r\n ratio: this._ratio,\r\n origin: this._origin,\r\n });\r\n }\r\n\r\n handleTouchMove(e) {\r\n const { threshold, pointers } = this._options;\r\n\r\n if (e.touches.length !== pointers) return;\r\n\r\n // eslint-disable-next-line no-unused-expressions\r\n e.type === \"touchmove\" && e.preventDefault();\r\n\r\n this._touch = this._getPinchTouchOrigin(e.touches)[0];\r\n this._ratio = this._touch / this._startTouch;\r\n\r\n if (this.isNumber) {\r\n if (this._origin.x > threshold || this._origin.y > threshold) {\r\n this._startTouch = this._touch;\r\n\r\n EventHandler.trigger(this._element, NAME, {\r\n touch: e,\r\n ratio: this._ratio,\r\n origin: this._origin,\r\n });\r\n EventHandler.trigger(this._element, EVENT_MOVE, {\r\n touch: e,\r\n ratio: this._ratio,\r\n origin: this._origin,\r\n });\r\n }\r\n }\r\n }\r\n\r\n handleTouchEnd(e) {\r\n if (this.isNumber) {\r\n this._startTouch = null;\r\n\r\n EventHandler.trigger(this._element, EVENT_END, {\r\n touch: e,\r\n ratio: this._ratio,\r\n origin: this._origin,\r\n });\r\n }\r\n }\r\n\r\n _getConfig(options) {\r\n const config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...options,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n return config;\r\n }\r\n}\r\n\r\nexport default Pinch;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport TouchUtil from \"./touchUtil\";\r\nimport EventHandler from \"../../dom/event-handler\";\r\nimport { typeCheckConfig } from \"../../util\";\r\nimport Manipulator from \"../../dom/manipulator\";\r\n\r\nconst NAME = \"tap\";\r\n\r\nconst DefaultType = {\r\n interval: \"number\",\r\n time: \"number\",\r\n taps: \"number\",\r\n pointers: \"number\",\r\n};\r\n\r\nconst Default = {\r\n interval: 500,\r\n time: 250,\r\n taps: 1,\r\n pointers: 1,\r\n};\r\n\r\nclass Tap extends TouchUtil {\r\n constructor(element, options) {\r\n super();\r\n this._element = element;\r\n this._options = this._getConfig(options);\r\n this._timer = null;\r\n this._tapCount = 0;\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n handleTouchStart(e) {\r\n const { x, y } = this._getCoordinates(e);\r\n const { interval, taps, pointers } = this._options;\r\n\r\n if (e.touches.length === pointers) {\r\n this._tapCount += 1;\r\n\r\n if (this._tapCount === 1) {\r\n this._timer = setTimeout(() => {\r\n this._tapCount = 0;\r\n }, interval);\r\n }\r\n\r\n if (this._tapCount === taps) {\r\n clearTimeout(this._timer);\r\n this._tapCount = 0;\r\n EventHandler.trigger(this._element, NAME, {\r\n touch: e,\r\n origin: {\r\n x,\r\n y,\r\n },\r\n });\r\n }\r\n }\r\n\r\n return e;\r\n }\r\n\r\n handleTouchEnd() {\r\n return;\r\n }\r\n\r\n handleTouchMove() {\r\n return;\r\n }\r\n\r\n _getConfig(options) {\r\n const config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...options,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n return config;\r\n }\r\n}\r\n\r\nexport default Tap;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\n/* eslint-disable no-multi-assign */\r\nimport TouchUtil from \"./touchUtil\";\r\nimport EventHandler from \"../../dom/event-handler\";\r\nimport { typeCheckConfig } from \"../../util\";\r\nimport Manipulator from \"../../dom/manipulator\";\r\n\r\nconst NAME = \"rotate\";\r\nconst EVENT_END = `${NAME}end`;\r\nconst EVENT_START = `${NAME}start`;\r\n\r\nconst DefaultType = {\r\n angle: \"number\",\r\n pointers: \"number\",\r\n};\r\n\r\nconst Default = {\r\n angle: 0,\r\n pointers: 2,\r\n};\r\n\r\nclass Rotate extends TouchUtil {\r\n constructor(element, options) {\r\n super();\r\n this._element = element;\r\n this._options = this._getConfig(options);\r\n this._origin = {};\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n handleTouchStart(e) {\r\n // eslint-disable-next-line no-unused-expressions\r\n e.type === \"touchstart\" && e.preventDefault();\r\n\r\n if (e.touches.length < 2) return;\r\n this._startTouch = e;\r\n this._origin = {};\r\n EventHandler.trigger(this._element, EVENT_START, { touch: e });\r\n return;\r\n }\r\n\r\n handleTouchMove(e) {\r\n // eslint-disable-next-line no-unused-expressions\r\n e.type === \"touchmove\" && e.preventDefault();\r\n\r\n let origin;\r\n let input;\r\n const touches = e.touches;\r\n\r\n if (touches.length === 1 && this._options.pointers === 1) {\r\n const { left, top, width, height } =\r\n this._element.getBoundingClientRect();\r\n origin = {\r\n x: left + width / 2,\r\n y: top + height / 2,\r\n };\r\n\r\n input = touches[0];\r\n } else if (e.touches.length === 2 && this._options.pointers === 2) {\r\n const [t2, t1] = e.touches;\r\n const _position = {\r\n x1: t1.clientX,\r\n x2: t2.clientX,\r\n y1: t1.clientY,\r\n y2: t2.clientY,\r\n };\r\n\r\n origin = this._getMidPoint(_position);\r\n input = this._getRightMostTouch(e.touches);\r\n } else {\r\n return;\r\n }\r\n\r\n this.currentAngle = this._getAngle(\r\n origin.x,\r\n origin.y,\r\n input.clientX,\r\n input.clientY\r\n );\r\n\r\n if (!this._origin.initialAngle) {\r\n this._origin.initialAngle = this._origin.previousAngle =\r\n this.currentAngle;\r\n this._origin.distance = this._origin.change = 0;\r\n } else {\r\n this._origin.change = this._getAngularDistance(\r\n this._origin.previousAngle,\r\n this.currentAngle\r\n );\r\n this._origin.distance += this._origin.change;\r\n }\r\n\r\n this._origin.previousAngle = this.currentAngle;\r\n\r\n this.rotate = {\r\n currentAngle: this.currentAngle,\r\n distance: this._origin.distance,\r\n change: this._origin.change,\r\n };\r\n\r\n EventHandler.trigger(this._element, NAME, { ...this.rotate, touch: e });\r\n }\r\n\r\n handleTouchEnd(e) {\r\n // eslint-disable-next-line no-unused-expressions\r\n e.type === \"touchend\" && e.preventDefault();\r\n\r\n this._origin = {};\r\n\r\n EventHandler.trigger(this._element, EVENT_END, { touch: e });\r\n }\r\n\r\n _getConfig(options) {\r\n const config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...options,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n return config;\r\n }\r\n}\r\n\r\nexport default Rotate;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport Data from \"../../dom/data\";\r\nimport EventHandler from \"../../dom/event-handler\";\r\nimport Press from \"./press\";\r\nimport Swipe from \"./swipe\";\r\nimport Pan from \"./pan\";\r\nimport Pinch from \"./pinch\";\r\nimport Tap from \"./tap\";\r\nimport Rotate from \"./rotate\";\r\nimport { typeCheckConfig } from \"../../util\";\r\nimport Manipulator from \"../../dom/manipulator\";\r\n\r\nconst NAME = \"touch\";\r\nconst DATA_KEY = `te.${NAME}`;\r\n\r\nconst DefaultType = {\r\n event: \"string\",\r\n};\r\n\r\nconst Default = {\r\n event: \"swipe\",\r\n};\r\n\r\nclass Touch {\r\n constructor(element, options = {}) {\r\n this._element = element;\r\n this._options = this._getConfig(options);\r\n this._event = this._options.event;\r\n // events\r\n\r\n this.swipe = this._event === \"swipe\" ? new Swipe(element, options) : null;\r\n this.press = this._event === \"press\" ? new Press(element, options) : null;\r\n this.pan = this._event === \"pan\" ? new Pan(element, options) : null;\r\n this.pinch = this._event === \"pinch\" ? new Pinch(element, options) : null;\r\n this.tap = this._event === \"tap\" ? new Tap(element, options) : null;\r\n this.rotate =\r\n this._event === \"rotate\" ? new Rotate(element, options) : null;\r\n\r\n // handlers\r\n\r\n this._touchStartHandler = (e) => this._handleTouchStart(e);\r\n this._touchMoveHandler = (e) => this._handleTouchMove(e);\r\n this._touchEndHandler = (e) => this._handleTouchEnd(e);\r\n\r\n // istanbul ignore next\r\n EventHandler.on(this._element, \"touchstart\", this._touchStartHandler);\r\n\r\n // istanbul ignore next\r\n EventHandler.on(this._element, \"touchmove\", this._touchMoveHandler);\r\n\r\n // istanbul ignore next\r\n EventHandler.on(this._element, \"touchend\", this._touchEndHandler);\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n }\r\n\r\n // Getters\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n dispose() {\r\n EventHandler.off(this._element, \"touchstart\", this._touchStartHandler);\r\n EventHandler.off(this._element, \"touchmove\", this._touchMoveHandler);\r\n EventHandler.off(this._element, \"touchend\", this._touchEndHandler);\r\n\r\n this.swipe = null;\r\n this.press = null;\r\n this.pan = null;\r\n this.pinch = null;\r\n this.tap = null;\r\n this.rotate = null;\r\n }\r\n\r\n _getConfig(options) {\r\n const config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...options,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n _handleTouchStart(e) {\r\n this[this._event].handleTouchStart(e);\r\n }\r\n\r\n _handleTouchMove(e) {\r\n if (this[this._event].handleTouchMove) {\r\n this[this._event].handleTouchMove(e);\r\n }\r\n }\r\n\r\n _handleTouchEnd(e) {\r\n this[this._event].handleTouchEnd(e);\r\n }\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === \"object\" && config;\r\n\r\n if (!data && /dispose/.test(config)) {\r\n return;\r\n }\r\n\r\n if (!data) {\r\n data = new Touch(this, _config);\r\n }\r\n\r\n if (typeof config === \"string\") {\r\n if (typeof data[config] === \"undefined\") {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n // eslint-disable-next-line consistent-return\r\n return data[config];\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n}\r\n\r\nexport default Touch;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { element, typeCheckConfig } from \"../util/index\";\r\nimport Data from \"../dom/data\";\r\nimport EventHandler from \"../dom/event-handler\";\r\nimport Manipulator from \"../dom/manipulator\";\r\nimport SelectorEngine from \"../dom/selector-engine\";\r\n\r\nconst NAME = \"smoothScroll\";\r\nconst DATA_KEY = `te.${NAME}`;\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\n\r\nconst DefaultType = {\r\n container: \"string\",\r\n offset: \"number\",\r\n easing: \"string\",\r\n duration: \"number\",\r\n};\r\n\r\nconst Default = {\r\n container: \"body\",\r\n offset: 0,\r\n easing: \"linear\",\r\n duration: 500,\r\n};\r\n\r\nconst EVENT_SCROLL_START = `scrollStart${EVENT_KEY}`;\r\nconst EVENT_SCROLL_END = `scrollEnd${EVENT_KEY}`;\r\nconst EVENT_SCROLL_CANCEL = `scrollCancel${EVENT_KEY}`;\r\n\r\nclass SmoothScroll {\r\n constructor(element, options = {}) {\r\n this._element = element;\r\n this._options = this._getConfig(options);\r\n this._href = this._element.getAttribute(\"href\");\r\n this.isCancel = false;\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n\r\n this._setup();\r\n }\r\n }\r\n\r\n // getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n get isWindow() {\r\n return this._options.container === \"body\";\r\n }\r\n\r\n get containerToScroll() {\r\n return this.isWindow\r\n ? document.documentElement\r\n : SelectorEngine.findOne(\r\n this._options.container,\r\n document.documentElement\r\n );\r\n }\r\n\r\n get elFromHrefExist() {\r\n return !!SelectorEngine.findOne(this._href, this.containerToScroll);\r\n }\r\n\r\n get offsetFromEl() {\r\n const heightFromTop = this.containerToScroll.scrollTop;\r\n const el = SelectorEngine.findOne(this._href, this.containerToScroll);\r\n if (this.isWindow) {\r\n return Manipulator.offset(el).top - this._options.offset + heightFromTop;\r\n }\r\n const elY = el.getBoundingClientRect().y;\r\n const containerY = this.containerToScroll.getBoundingClientRect().y;\r\n const offsetFromContainer = elY - containerY;\r\n\r\n return offsetFromContainer - this._options.offset + heightFromTop;\r\n }\r\n\r\n get easingFunction() {\r\n const easing = this._options.easing;\r\n const motionName = `_motion${easing[0].toUpperCase()}${easing.slice(1)}`;\r\n return this[motionName] ? this[motionName] : this._motionLinear;\r\n }\r\n\r\n // public\r\n\r\n dispose() {\r\n EventHandler.off(this._element, \"click\", this._handleClick);\r\n Data.removeData(this._element, DATA_KEY);\r\n this._element = null;\r\n }\r\n\r\n cancelScroll() {\r\n this.isCancel = true;\r\n }\r\n\r\n // private\r\n\r\n _getConfig(options) {\r\n const config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...options,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n _inViewport() {\r\n if (this.isWindow) {\r\n return true;\r\n }\r\n const rect = this.containerToScroll.getBoundingClientRect();\r\n return (\r\n rect.top >= 0 &&\r\n rect.bottom <=\r\n (window.innerHeight || document.documentElement.clientHeight)\r\n );\r\n }\r\n\r\n _setup() {\r\n const linkExist = typeof this._href !== \"undefined\";\r\n const isHashInLink = this._href.includes(\"#\");\r\n\r\n if (linkExist && isHashInLink && this.elFromHrefExist) {\r\n this._scrollOnClickEvent();\r\n this._preventNativeScroll();\r\n }\r\n }\r\n\r\n _scrollOnClickEvent() {\r\n EventHandler.on(this._element, \"click\", (e) => {\r\n this._handleClick(e);\r\n });\r\n }\r\n\r\n _handleClick(e) {\r\n e.preventDefault();\r\n this.isCancel = false;\r\n\r\n EventHandler.trigger(this._element, EVENT_SCROLL_START);\r\n\r\n const scrollingContainer = this.containerToScroll;\r\n const positionFrom = this.containerToScroll.scrollTop;\r\n const positionTo = this.offsetFromEl;\r\n const scrollProgress = 0;\r\n const speed = 1 / this._options.duration;\r\n // Thanks to this value time of scrolling is almost equal to value which user set\r\n const step = 4.25;\r\n const easing = this.easingFunction;\r\n\r\n if (!this._inViewport()) {\r\n this._scrollOnNextTick(\r\n document.documentElement,\r\n document.documentElement.scrollTop,\r\n this.containerToScroll.offsetTop,\r\n scrollProgress,\r\n speed,\r\n step,\r\n easing\r\n );\r\n\r\n // Function which is waiting for ends scrolling to viewport\r\n setTimeout(() => {\r\n this._scrollOnNextTick(\r\n scrollingContainer,\r\n positionFrom,\r\n positionTo,\r\n scrollProgress,\r\n speed,\r\n step,\r\n easing\r\n );\r\n this.isCancel = false;\r\n }, this._options.duration);\r\n } else {\r\n this._scrollOnNextTick(\r\n scrollingContainer,\r\n positionFrom,\r\n positionTo,\r\n scrollProgress,\r\n speed,\r\n step,\r\n easing\r\n );\r\n }\r\n }\r\n\r\n _scrollOnNextTick(\r\n scrollingContainer,\r\n positionFrom,\r\n positionTo,\r\n scrollProgress,\r\n speed,\r\n step,\r\n easing\r\n ) {\r\n const progressWrongValue = scrollProgress < 0;\r\n const scrollEnd = scrollProgress > 1;\r\n const speedWrongValue = speed <= 0;\r\n if (progressWrongValue || scrollEnd || speedWrongValue || this.isCancel) {\r\n if (this.isCancel) {\r\n if (this.isInViewport) {\r\n this.isCancel = false;\r\n }\r\n EventHandler.trigger(this._element, EVENT_SCROLL_CANCEL);\r\n return;\r\n }\r\n EventHandler.trigger(this._element, EVENT_SCROLL_END);\r\n scrollingContainer.scrollTop = positionTo;\r\n return;\r\n }\r\n scrollingContainer.scrollTo({\r\n top: positionFrom - (positionFrom - positionTo) * easing(scrollProgress),\r\n });\r\n scrollProgress += speed * step;\r\n\r\n // After one tick ends next tick is able to run, otherwise scrolling aren't goint to be animated\r\n setTimeout(() => {\r\n this._scrollOnNextTick(\r\n scrollingContainer,\r\n positionFrom,\r\n positionTo,\r\n scrollProgress,\r\n speed,\r\n step,\r\n easing\r\n );\r\n });\r\n }\r\n\r\n _preventDefault(e) {\r\n e.preventDefault();\r\n }\r\n\r\n _preventNativeScroll() {\r\n let supportsPassive = false;\r\n try {\r\n window.addEventListener(\r\n \"test\",\r\n null,\r\n Object.defineProperty({}, \"passive\", {\r\n get: () => (supportsPassive = true),\r\n })\r\n );\r\n } catch (e) {\r\n this._scrollError = e;\r\n }\r\n\r\n const wheelOpt = supportsPassive ? { passive: false } : false;\r\n const wheelEvent = \"onwheel\" in element(\"div\") ? \"wheel\" : \"mousewheel\";\r\n if (this.isWindow) {\r\n this._deleteScrollOnStart(wheelOpt, wheelEvent);\r\n this._addScrollOnEnd(wheelOpt, wheelEvent);\r\n this._addScrollOnCancel(wheelOpt, wheelEvent);\r\n }\r\n }\r\n\r\n _deleteScrollOnStart(wheelOpt, wheelEvent) {\r\n EventHandler.on(this._element, \"scrollStart.te.smoothScroll\", () => {\r\n window.addEventListener(wheelEvent, this._preventDefault, wheelOpt);\r\n window.addEventListener(\"touchmove\", this._preventDefault, wheelOpt);\r\n });\r\n }\r\n\r\n _addScrollOnEnd(wheelOpt, wheelEvent) {\r\n EventHandler.on(this._element, \"scrollEnd.te.smoothScroll\", () => {\r\n window.removeEventListener(wheelEvent, this._preventDefault, wheelOpt);\r\n window.removeEventListener(\"touchmove\", this._preventDefault, wheelOpt);\r\n });\r\n }\r\n\r\n _addScrollOnCancel(wheelOpt, wheelEvent) {\r\n EventHandler.on(this._element, \"scrollCancel.te.smoothScroll\", () => {\r\n window.removeEventListener(wheelEvent, this._preventDefault, wheelOpt);\r\n window.removeEventListener(\"touchmove\", this._preventDefault, wheelOpt);\r\n });\r\n }\r\n\r\n // Motions\r\n\r\n // Linear\r\n\r\n _motionLinear(t) {\r\n return t;\r\n }\r\n\r\n // Ease-In\r\n\r\n _motionEaseInQuad(t) {\r\n return t * t;\r\n }\r\n\r\n _motionEaseInCubic(t) {\r\n return t * t * t;\r\n }\r\n\r\n _motionEaseInQuart(t) {\r\n return t * t * t * t;\r\n }\r\n\r\n _motionEaseInQuint(t) {\r\n return t * t * t * t * t;\r\n }\r\n\r\n // Ease-In-Out\r\n\r\n _motionEaseInOutQuad(t) {\r\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\r\n }\r\n\r\n _motionEaseInOutCubic(t) {\r\n t /= 0.5;\r\n if (t < 1) return (t * t * t) / 2;\r\n t -= 2;\r\n return (t * t * t + 2) / 2;\r\n }\r\n\r\n _motionEaseInOutQuart(t) {\r\n t /= 0.5;\r\n if (t < 1) return 0.5 * t * t * t * t;\r\n t -= 2;\r\n return -(t * t * t * t - 2) / 2;\r\n }\r\n\r\n _motionEaseInOutQuint(t) {\r\n t /= 0.5;\r\n if (t < 1) return (t * t * t * t * t) / 2;\r\n t -= 2;\r\n return (t * t * t * t * t + 2) / 2;\r\n }\r\n\r\n // Ease-Out\r\n\r\n _motionEaseOutQuad(t) {\r\n return -t * (t - 2);\r\n }\r\n\r\n _motionEaseOutCubic(t) {\r\n t--;\r\n return t * t * t + 1;\r\n }\r\n\r\n _motionEaseOutQuart(t) {\r\n t--;\r\n return -(t * t * t * t - 1);\r\n }\r\n\r\n _motionEaseOutQuint(t) {\r\n t--;\r\n return t * t * t * t * t + 1;\r\n }\r\n\r\n // static\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === \"object\" && config;\r\n\r\n if (!data) {\r\n data = new SmoothScroll(this, _config);\r\n }\r\n\r\n if (typeof config === \"string\") {\r\n if (typeof data[config] === \"undefined\") {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config](this);\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default SmoothScroll;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { typeCheckConfig } from \"../util/index\";\r\nimport Data from \"../dom/data\";\r\nimport EventHandler from \"../dom/event-handler\";\r\nimport Manipulator from \"../dom/manipulator\";\r\nimport SelectorEngine from \"../dom/selector-engine\";\r\nimport Animate from \"../content-styles/animate\";\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = \"lazyLoad\";\r\nconst DATA_KEY = \"te.lazyLoad\";\r\n\r\nconst SELECTOR_ATTR_LAZYLOAD = \"[data-te-lazy-load-init]\";\r\nconst ATTR_LAZYLOAD = \"data-te-lazy-load\";\r\nconst EVENT_LOAD = \"onLoad.te.lazy\";\r\nconst EVENT_ERROR = \"onError.te.lazy\";\r\nconst SELECTOR_ELEMENTS = [\"img\", \"video\"];\r\n\r\nconst DefaultType = {\r\n lazySrc: \"(string|null)\",\r\n lazyDelay: \"number\",\r\n lazyAnimation: \"string\",\r\n lazyOffset: \"number\",\r\n lazyPlaceholder: \"(string|undefined)\",\r\n lazyError: \"(string|undefined)\",\r\n};\r\n\r\nconst Default = {\r\n lazySrc: null,\r\n lazyDelay: 500,\r\n lazyAnimation: \"[fade-in_1s_ease-in-out]\",\r\n lazyOffset: 0,\r\n};\r\n\r\nclass LazyLoad {\r\n constructor(element, data) {\r\n this._element = element;\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n this._options = this._getConfig(data);\r\n\r\n this.scrollHandler = this._scrollHandler.bind(this);\r\n\r\n this.errorHandler = this._setElementError.bind(this);\r\n\r\n this._childrenInstances = null;\r\n\r\n this._init();\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n get offsetValues() {\r\n return this._element.getBoundingClientRect();\r\n }\r\n\r\n get inViewport() {\r\n if (this.parent) {\r\n const parentRect = this.parent.getBoundingClientRect();\r\n return (\r\n parentRect.y > 0 &&\r\n parentRect.y < window.innerHeight &&\r\n this.offsetValues.y >= parentRect.y &&\r\n this.offsetValues.y <= parentRect.y + parentRect.height &&\r\n this.offsetValues.y <= window.innerHeight\r\n );\r\n }\r\n\r\n return (\r\n this.offsetValues.top + this._options.lazyOffset <= window.innerHeight &&\r\n this.offsetValues.bottom >= 0\r\n );\r\n }\r\n\r\n get parent() {\r\n const [container] = SelectorEngine.parents(\r\n this._element,\r\n SELECTOR_ATTR_LAZYLOAD\r\n );\r\n return container;\r\n }\r\n\r\n get node() {\r\n return this._element.nodeName;\r\n }\r\n\r\n get isContainer() {\r\n return !SelectorEngine.matches(this._element, SELECTOR_ELEMENTS);\r\n }\r\n\r\n // Public\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n if (this._animation) {\r\n this._animation.dispose();\r\n this._animation = null;\r\n }\r\n\r\n this._element = null;\r\n\r\n if (this._childrenInstances) {\r\n this._childrenInstances.forEach((child) => child.dispose());\r\n }\r\n }\r\n\r\n // Private\r\n\r\n _init() {\r\n this._element.setAttribute(ATTR_LAZYLOAD, \"\");\r\n\r\n if (this.isContainer) {\r\n this._setupContainer();\r\n return;\r\n }\r\n\r\n this._setupElement();\r\n }\r\n\r\n _setupElement() {\r\n EventHandler.one(this._element, \"error\", this.errorHandler);\r\n\r\n if (this._options.lazyPlaceholder) {\r\n this._setPlaceholder();\r\n }\r\n\r\n this._animation = new Animate(this._element, {\r\n animation: `${this._options.lazyAnimation}`,\r\n animationStart: \"onLoad\",\r\n });\r\n\r\n EventHandler.one(this._element, \"load\", () => this._scrollHandler());\r\n if (this.parent) {\r\n EventHandler.on(this.parent, \"scroll\", this.scrollHandler);\r\n }\r\n\r\n EventHandler.on(window, \"scroll\", this.scrollHandler);\r\n }\r\n\r\n _scrollHandler() {\r\n if (this.inViewport) {\r\n this._timeout = setTimeout(() => {\r\n this._setSrc();\r\n\r\n this._element.removeAttribute(ATTR_LAZYLOAD);\r\n\r\n this._removeAttrs();\r\n\r\n this._animation.init();\r\n }, this._options.lazyDelay);\r\n\r\n if (this.parent) {\r\n EventHandler.off(this.parent, \"scroll\", this.scrollHandler);\r\n }\r\n\r\n EventHandler.off(window, \"scroll\", this.scrollHandler);\r\n }\r\n }\r\n\r\n _setElementError() {\r\n if (\r\n !this._options.lazyError ||\r\n this._element.src === this._options.lazyError\r\n ) {\r\n this._element.alt = \"404 not found\";\r\n } else {\r\n this._element.setAttribute(\"src\", this._options.lazyError);\r\n }\r\n EventHandler.trigger(this._element, EVENT_ERROR);\r\n }\r\n\r\n _setSrc() {\r\n this._element.setAttribute(\"src\", this._options.lazySrc);\r\n\r\n EventHandler.trigger(this._element, EVENT_LOAD);\r\n }\r\n\r\n _setPlaceholder() {\r\n if (this.node === \"IMG\") {\r\n this._element.setAttribute(\"src\", this._options.lazyPlaceholder);\r\n } else if (this.node === \"VIDEO\") {\r\n this._element.setAttribute(\"poster\", this._options.lazyPlaceholder);\r\n }\r\n }\r\n\r\n _removeAttrs() {\r\n [\"src\", \"delay\", \"animation\", \"placeholder\", \"offset\", \"error\"].forEach(\r\n (attr) => {\r\n Manipulator.removeDataAttribute(this._element, `lazy-${attr}`);\r\n }\r\n );\r\n }\r\n\r\n _setupContainer() {\r\n this._childrenInstances = SelectorEngine.children(\r\n this._element,\r\n SELECTOR_ELEMENTS\r\n ).map((child) => new LazyLoad(child, this._options));\r\n }\r\n\r\n _getConfig(options) {\r\n const config = {\r\n ...Default,\r\n ...options,\r\n ...Manipulator.getDataAttributes(this._element),\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n // Static\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n\r\n const _config = typeof config === \"object\" && config;\r\n\r\n if (!data) {\r\n data = new LazyLoad(this, _config);\r\n }\r\n\r\n if (typeof config === \"string\") {\r\n if (typeof data[config] === \"undefined\") {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config](this);\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default LazyLoad;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { typeCheckConfig, element } from \"../util/index\";\r\nimport Data from \"../dom/data\";\r\nimport EventHandler from \"../dom/event-handler\";\r\nimport Manipulator from \"../dom/manipulator\";\r\nimport SelectorEngine from \"../dom/selector-engine\";\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = \"clipboard\";\r\nconst DATA_KEY = \"te.clipboard\";\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\n\r\nconst DEFAULT_OPTIONS = {\r\n clipboardTarget: null,\r\n};\r\n\r\nconst OPTIONS_TYPE = {\r\n clipboardTarget: \"null|string\",\r\n};\r\n\r\nconst EVENT_COPY = `copy${EVENT_KEY}`;\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Clipboard {\r\n constructor(element, options = {}) {\r\n this._element = element;\r\n this._options = options;\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n\r\n this._initCopy = this._initCopy.bind(this);\r\n\r\n this._setup();\r\n }\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n get options() {\r\n const config = {\r\n ...DEFAULT_OPTIONS,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...this._options,\r\n };\r\n\r\n typeCheckConfig(NAME, config, OPTIONS_TYPE);\r\n\r\n return config;\r\n }\r\n\r\n get clipboardTarget() {\r\n return SelectorEngine.findOne(this.options.clipboardTarget);\r\n }\r\n\r\n get copyText() {\r\n const clipboardTextExist = this.clipboardTarget.hasAttribute(\r\n \"data-te-clipboard-text\"\r\n );\r\n const inputValue = this.clipboardTarget.value;\r\n const targetText = this.clipboardTarget.textContent;\r\n\r\n if (clipboardTextExist) {\r\n return this.clipboardTarget.getAttribute(\"data-te-clipboard-text\");\r\n }\r\n\r\n if (inputValue) {\r\n return inputValue;\r\n }\r\n\r\n return targetText;\r\n }\r\n\r\n // Public\r\n\r\n dispose() {\r\n EventHandler.off(this._element, \"click\", this._initCopy);\r\n\r\n Data.removeData(this._element, DATA_KEY);\r\n this._element = null;\r\n }\r\n\r\n // Private\r\n _setup() {\r\n EventHandler.on(this._element, \"click\", this._initCopy);\r\n }\r\n\r\n _initCopy() {\r\n const inputToCopy = this._createNewInput();\r\n document.body.appendChild(inputToCopy);\r\n this._selectInput(inputToCopy);\r\n EventHandler.trigger(this._element, EVENT_COPY, {\r\n copyText: this.copyText,\r\n });\r\n\r\n inputToCopy.remove();\r\n }\r\n\r\n _createNewInput() {\r\n const tag =\r\n this.clipboardTarget.tagName === \"TEXTAREA\" ? \"textarea\" : \"input\";\r\n const newInput = element(tag);\r\n newInput.value = this.copyText;\r\n Manipulator.addClass(newInput, `-left-[9999px] absolute`);\r\n return newInput;\r\n }\r\n\r\n _selectInput(input) {\r\n input.select();\r\n input.focus();\r\n input.setSelectionRange(0, 99999);\r\n\r\n document.execCommand(\"copy\");\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === \"object\" && config;\r\n\r\n if (!data) {\r\n data = new Clipboard(this, _config);\r\n }\r\n\r\n if (typeof config === \"string\") {\r\n if (typeof data[config] === \"undefined\") {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n data[config](this);\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n}\r\n\r\nexport default Clipboard;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { typeCheckConfig } from \"../util/index\";\r\nimport Data from \"../dom/data\";\r\nimport Manipulator from \"../dom/manipulator\";\r\nimport EventHandler from \"../dom/event-handler\";\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = \"infiniteScroll\";\r\nconst DATA_KEY = `te.${NAME}`;\r\n\r\nconst Default = {\r\n infiniteDirection: \"y\",\r\n};\r\n\r\nconst DefaultType = {\r\n infiniteDirection: \"string\",\r\n};\r\n\r\nclass InfiniteScroll {\r\n constructor(element, data) {\r\n this._element = element;\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n this._options = this._getConfig(data);\r\n\r\n this.scrollHandler = this._scrollHandler.bind(this);\r\n\r\n this._init();\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n get rect() {\r\n return this._element.getBoundingClientRect();\r\n }\r\n\r\n get condition() {\r\n if (this._element === window) {\r\n return (\r\n Math.abs(\r\n window.scrollY +\r\n window.innerHeight -\r\n document.documentElement.scrollHeight\r\n ) < 1\r\n );\r\n }\r\n if (this._options.infiniteDirection === \"x\") {\r\n return (\r\n this.rect.width + this._element.scrollLeft + 10 >=\r\n this._element.scrollWidth\r\n );\r\n }\r\n return (\r\n Math.ceil(this.rect.height + this._element.scrollTop) >=\r\n this._element.scrollHeight\r\n );\r\n }\r\n\r\n // Public\r\n\r\n dispose() {\r\n EventHandler.off(this._element, \"scroll\", this.scrollHandler);\r\n\r\n Data.removeData(this._element, DATA_KEY);\r\n\r\n this._element = null;\r\n }\r\n\r\n // Private\r\n\r\n _init() {\r\n EventHandler.on(this._element, \"scroll\", () => this._scrollHandler());\r\n }\r\n\r\n _scrollHandler() {\r\n if (this.condition) {\r\n EventHandler.trigger(this._element, \"complete.te.infiniteScroll\");\r\n }\r\n EventHandler.off(this._element, \"scroll\", this.scrollHandler);\r\n }\r\n\r\n _getConfig(options) {\r\n const config = {\r\n ...Default,\r\n ...(this._element !== window\r\n ? Manipulator.getDataAttributes(this._element)\r\n : {}),\r\n ...options,\r\n };\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n // Static\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === \"object\" && config;\r\n if (!data) {\r\n data = new InfiniteScroll(this, _config);\r\n }\r\n if (typeof config === \"string\") {\r\n if (typeof data[config] === \"undefined\") {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n data[config](this);\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default InfiniteScroll;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport Manipulator from \"../../dom/manipulator\";\r\nimport { element } from \"../../util/index\";\r\n\r\nexport function getBackdropTemplate({ backdropID }, classes) {\r\n const backdrop = element(\"div\");\r\n\r\n Manipulator.addClass(\r\n backdrop,\r\n `${classes.backdrop} ${classes.backdropColor}`\r\n );\r\n backdrop.id = backdropID;\r\n\r\n return backdrop;\r\n}\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { typeCheckConfig } from \"../../util/index\";\r\nimport Data from \"../../dom/data\";\r\nimport Manipulator from \"../../dom/manipulator\";\r\nimport SelectorEngine from \"../../dom/selector-engine\";\r\nimport EventHandler from \"../../dom/event-handler\";\r\nimport { getBackdropTemplate } from \"./templates\";\r\n\r\nconst NAME = \"loadingManagement\";\r\nconst DATA_KEY = `te.${NAME}`;\r\n\r\nconst ATTR_SELECTOR_LOADING_ICON = \"[data-te-loading-icon-ref]\";\r\nconst ATTR_SELECTOR_LOADING_TEXT = \"[data-te-loading-text-ref]\";\r\n\r\nconst SHOW_EVENT = `show.te.${NAME}`;\r\n\r\nconst DefaultType = {\r\n backdrop: \"(null|boolean)\",\r\n backdropID: \"(null|string|number)\",\r\n delay: \"(null|number)\",\r\n loader: \"(null|string|number)\",\r\n parentSelector: \"(null|string)\",\r\n loadingIcon: \"boolean\",\r\n loadingText: \"boolean\",\r\n scroll: \"boolean\",\r\n};\r\n\r\nconst Default = {\r\n backdrop: true,\r\n backdropID: null,\r\n delay: 0,\r\n loader: \"\",\r\n parentSelector: null,\r\n scroll: true,\r\n loadingText: true,\r\n loadingIcon: true,\r\n};\r\n\r\nconst DefaultClasses = {\r\n loadingSpinner:\r\n \"absolute top-[50%] left-[50%] -translate-x-[50%] -translate-y-[50%] flex flex-col justify-center items-center z-40\",\r\n spinnerColor: \"text-primary dark:text-primary-400\",\r\n backdrop: \"w-full h-full fixed top-0 left-0 bottom-0 right-0 z-30\",\r\n backdropColor: \"bg-[rgba(0,0,0,0.4)]\",\r\n};\r\n\r\nconst DefaultClassesType = {\r\n loadingSpinner: \"string\",\r\n spinnerColor: \"string\",\r\n backdrop: \"string\",\r\n backdropColor: \"string\",\r\n};\r\n\r\nclass Loading {\r\n constructor(element, options = {}, classes) {\r\n this._element = element;\r\n this._options = this._getConfig(options);\r\n this._classes = this._getClasses(classes);\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n this._backdropElement = null;\r\n this._parentElement = SelectorEngine.findOne(this._options.parentSelector);\r\n\r\n this._loadingIcon = SelectorEngine.findOne(\r\n ATTR_SELECTOR_LOADING_ICON,\r\n this._element\r\n );\r\n this._loadingText = SelectorEngine.findOne(\r\n ATTR_SELECTOR_LOADING_TEXT,\r\n this._element\r\n );\r\n\r\n this.init();\r\n }\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n init() {\r\n const spinnerCloned = this._loadingIcon.cloneNode(true);\r\n const loadingCloned = this._loadingText.cloneNode(true);\r\n\r\n this._removeElementsOnStart();\r\n\r\n setTimeout(() => {\r\n Manipulator.addClass(\r\n this._element,\r\n `${this._classes.loadingSpinner} ${this._classes.spinnerColor}`\r\n );\r\n\r\n this._setBackdrop();\r\n this._setLoadingIcon(spinnerCloned);\r\n this._setLoadingText(loadingCloned);\r\n this._setScrollOption();\r\n\r\n EventHandler.trigger(this._element, SHOW_EVENT);\r\n }, this._options.delay);\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n Manipulator.removeClass(\r\n this._element,\r\n `${this._classes.loadingSpinner} ${this._classes.spinnerColor}`\r\n );\r\n\r\n const delay = this._options.delay;\r\n\r\n setTimeout(() => {\r\n this._removeBackdrop();\r\n this._backdropElement = null;\r\n\r\n this._element = null;\r\n this._options = null;\r\n }, delay);\r\n }\r\n\r\n // Private\r\n\r\n _setBackdrop() {\r\n const { backdrop } = this._options;\r\n\r\n if (!backdrop) return;\r\n\r\n this._backdropElement = getBackdropTemplate(this._options, this._classes);\r\n\r\n if (this._parentElement !== null) {\r\n Manipulator.addClass(this._element, \"absolute\");\r\n Manipulator.addClass(this._parentElement, \"relative\");\r\n Manipulator.addClass(this._backdropElement, \"absolute\");\r\n\r\n this._parentElement.appendChild(this._backdropElement);\r\n } else {\r\n Manipulator.addClass(this._element, \"!fixed\");\r\n\r\n document.body.appendChild(this._backdropElement);\r\n document.body.appendChild(this._element);\r\n }\r\n }\r\n\r\n _removeBackdrop() {\r\n const { backdrop } = this._options;\r\n\r\n if (!backdrop) return;\r\n\r\n if (this._parentElement !== null) {\r\n Manipulator.removeClass(this._element, \"absolute\");\r\n Manipulator.removeClass(this._parentElement, \"relative\");\r\n\r\n this._backdropElement.remove();\r\n } else {\r\n this._backdropElement.remove();\r\n this._element.remove();\r\n }\r\n }\r\n\r\n _setLoadingIcon(spinner) {\r\n if (!this._options.loadingIcon) {\r\n spinner.remove();\r\n return;\r\n }\r\n this._element.appendChild(spinner);\r\n spinner.id = this._options.loader;\r\n }\r\n\r\n _setLoadingText(text) {\r\n if (!this._options.loadingText) {\r\n text.remove();\r\n return;\r\n }\r\n\r\n this._element.appendChild(text);\r\n }\r\n\r\n _removeElementsOnStart() {\r\n if (this._element === null) return;\r\n\r\n this._loadingIcon.remove();\r\n this._loadingText.remove();\r\n }\r\n\r\n _setScrollOption() {\r\n if (!this._options.scroll) {\r\n if (this._parentElement === null) {\r\n Manipulator.addClass(document.body, \"overflow-hidden\");\r\n return;\r\n }\r\n\r\n Manipulator.addClass(this._parentElement, \"overflow-hidden\");\r\n } else {\r\n if (this._parentElement === null) {\r\n Manipulator.addClass(document.body, \"overflow-auto\");\r\n return;\r\n }\r\n\r\n Manipulator.addClass(this._parentElement, \"overflow-auto\");\r\n }\r\n }\r\n\r\n _getConfig(options) {\r\n const config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...options,\r\n };\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _getClasses(classes) {\r\n const dataAttributes = Manipulator.getDataClassAttributes(this._element);\r\n\r\n classes = {\r\n ...DefaultClasses,\r\n ...dataAttributes,\r\n ...classes,\r\n };\r\n\r\n typeCheckConfig(NAME, classes, DefaultClassesType);\r\n\r\n return classes;\r\n }\r\n\r\n // Static\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === \"object\" && config;\r\n if (!data) {\r\n data = new Loading(this, _config);\r\n }\r\n if (typeof config === \"string\") {\r\n if (typeof data[config] === \"undefined\") {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n data[config](this);\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default Loading;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { createDate } from \"../datepicker/date-utils\";\r\n\r\nconst isValidTime = (time) => {\r\n const AmPmReg = /^(0?[1-9]|1[012])(:[0-5]\\d) [APap][mM]$/;\r\n const timeReg = /^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?$/;\r\n return time.match(AmPmReg) || time.match(timeReg);\r\n};\r\n\r\nconst isValidDate = (date) => {\r\n // eslint-disable-next-line no-restricted-globals\r\n return (\r\n date &&\r\n Object.prototype.toString.call(date) === \"[object Date]\" &&\r\n !isNaN(date)\r\n );\r\n};\r\n\r\nconst getMonth = (date) => {\r\n return date.getMonth();\r\n};\r\n\r\nconst getYear = (date) => {\r\n return date.getFullYear();\r\n};\r\n\r\nconst getDelimeters = (format) => {\r\n return format.match(/[^(dmy)]{1,}/g);\r\n};\r\n\r\nconst parseDate = (dateString, format, delimeters, options) => {\r\n let delimeterPattern;\r\n\r\n if (delimeters[0] !== delimeters[1]) {\r\n delimeterPattern = delimeters[0] + delimeters[1];\r\n } else {\r\n delimeterPattern = delimeters[0];\r\n }\r\n\r\n const regExp = new RegExp(`[${delimeterPattern}]`);\r\n const dateParts = dateString.split(regExp);\r\n const formatParts = format.split(regExp);\r\n const isMonthString = format.indexOf(\"mmm\") !== -1;\r\n\r\n const datesArray = [];\r\n\r\n for (let i = 0; i < formatParts.length; i++) {\r\n if (formatParts[i].indexOf(\"yy\") !== -1) {\r\n datesArray[0] = { value: dateParts[i], format: formatParts[i] };\r\n }\r\n if (formatParts[i].indexOf(\"m\") !== -1) {\r\n datesArray[1] = { value: dateParts[i], format: formatParts[i] };\r\n }\r\n if (formatParts[i].indexOf(\"d\") !== -1 && formatParts[i].length <= 2) {\r\n datesArray[2] = { value: dateParts[i], format: formatParts[i] };\r\n }\r\n }\r\n\r\n let monthsNames;\r\n\r\n if (format.indexOf(\"mmmm\") !== -1) {\r\n monthsNames = options.monthsFull;\r\n } else {\r\n monthsNames = options.monthsShort;\r\n }\r\n\r\n const year = Number(datesArray[0].value);\r\n const month = isMonthString\r\n ? getMonthNumberByMonthName(datesArray[1].value, monthsNames)\r\n : Number(datesArray[1].value) - 1;\r\n const day = Number(datesArray[2].value);\r\n\r\n const parsedDate = createDate(year, month, day);\r\n return parsedDate;\r\n};\r\n\r\nconst getMonthNumberByMonthName = (monthValue, monthLabels) => {\r\n return monthLabels.findIndex((monthLabel) => monthLabel === monthValue);\r\n};\r\n\r\nexport {\r\n getDelimeters,\r\n parseDate,\r\n getMonth,\r\n getYear,\r\n getMonthNumberByMonthName,\r\n isValidDate,\r\n isValidTime,\r\n};\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nexport const getIconButtonsTemplate = (\r\n datepickerIconTemplate,\r\n timepickerIconTemplate,\r\n classes\r\n) => `\r\n \r\n \r\n`;\r\n\r\nexport const getToggleButtonTemplate = (toggleButtonTemplate, classes) => `\r\n \r\n`;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { element, getUID, typeCheckConfig } from \"../../util/index\";\r\nimport {\r\n getDelimeters,\r\n parseDate,\r\n getMonth,\r\n getYear,\r\n isValidDate,\r\n isValidTime,\r\n} from \"./utils\";\r\nimport { getIconButtonsTemplate, getToggleButtonTemplate } from \"./templates\";\r\nimport ScrollBarHelper from \"../../util/scrollbar\";\r\nimport Data from \"../../dom/data\";\r\nimport EventHandler from \"../../dom/event-handler\";\r\nimport Manipulator from \"../../dom/manipulator\";\r\nimport SelectorEngine from \"../../dom/selector-engine\";\r\nimport Datepicker from \"../datepicker\";\r\nimport Timepicker from \"../timepicker\";\r\n\r\nconst NAME = \"datetimepicker\";\r\nconst DATA_KEY = `te.${NAME}`;\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\n\r\nconst ATTR_DATEPICKER = \"data-te-datepicker-init\";\r\nconst ATTR_TIMEPICKER = \"data-te-timepicker-init\";\r\n\r\nconst ATTR_DATEPICKER_HEADER = \"data-te-datepicker-header\";\r\nconst ATTR_DATEPICKER_CANCEL_BTN_REF = \"data-te-datepicker-cancel-button-ref\";\r\nconst ATTR_DATEPICKER_OK_BTN_REF = \"data-te-datepicker-ok-button-ref\";\r\n\r\nconst ATTR_TIMEPICKER_WRAPPER = \"data-te-timepicker-wrapper\";\r\nconst ATTR_TIMEPICKER_CANCEL_BTN = \"data-te-timepicker-cancel\";\r\nconst ATTR_TIMEPICKER_SUBMIT = \"data-te-timepicker-submit\";\r\nconst ATTR_TIMEPICKER_CLEAR = \"data-te-timepicker-clear\";\r\n\r\nconst ATTR_BUTTON_TIMEPICKER = \"data-te-buttons-timepicker\";\r\nconst ATTR_TOGGLE_BUTTON = `data-te-date-timepicker-toggle-ref`;\r\nconst ATTR_DATEPICKER_TOGGLE_BTN = \"data-te-datepicker-toggle-button-ref\";\r\nconst ATTR_TIMEPICKER_TOGGLE_BTN = \"data-te-timepicker-toggle-button-ref\";\r\n\r\nconst SELECTOR_TIMEPICKER = `[${ATTR_TIMEPICKER}]`;\r\nconst SELECTOR_DATEPICKER = `[${ATTR_DATEPICKER}]`;\r\nconst SELECTOR_TOGGLE_BUTTON = `[${ATTR_TOGGLE_BUTTON}]`;\r\nconst SELECTOR_TIMEPICKER_TOGGLE = `[${ATTR_TIMEPICKER_TOGGLE_BTN}]`;\r\n\r\nconst SELECTOR_INPUT_NOTCH = \"[data-te-input-notch-ref]\";\r\nconst SELECTOR_DATA_TOGGLE = `[data-te-date-timepicker-toggle-ref]`;\r\nconst SELECTOR_TIMEPICKER_ELEMENTS = \"[data-te-timepicker-elements-wrapper]\";\r\nconst SELECTOR_TIMEPICKER_CLOCK = \"[data-te-timepicker-clock-wrapper]\";\r\n\r\nconst EVENT_OPEN = `open${EVENT_KEY}`;\r\nconst EVENT_CLOSE = `close${EVENT_KEY}`;\r\nconst EVENT_DATETIME_CHANGE = `datetimeChange${EVENT_KEY}`;\r\n\r\nconst EVENT_CLOSE_DATEPICKER = \"close.te.datepicker\";\r\nconst EVENT_INPUT_TIMEPICKER = \"input.te.timepicker\";\r\nconst BUTTONS_WRAPPER = element(\"div\");\r\n\r\nconst Default = {\r\n inline: false,\r\n toggleButton: true,\r\n container: \"body\",\r\n disabled: false,\r\n disablePast: false,\r\n disableFuture: false,\r\n defaultTime: \"\",\r\n defaultDate: \"\",\r\n timepicker: {},\r\n datepicker: {},\r\n showFormat: false,\r\n dateTimepickerToggleIconTemplate: `\r\n \r\n `,\r\n datepickerToggleIconTemplate: `\r\n \r\n `,\r\n timepickerToggleIconTemplate: `\r\n \r\n `,\r\n};\r\n\r\nconst DefaultType = {\r\n inline: \"boolean\",\r\n toggleButton: \"boolean\",\r\n container: \"string\",\r\n disabled: \"boolean\",\r\n disablePast: \"boolean\",\r\n disableFuture: \"boolean\",\r\n defaultTime: \"(string|date|number)\",\r\n defaultDate: \"(string|date|number)\",\r\n timepicker: \"object\",\r\n datepicker: \"object\",\r\n showFormat: \"boolean\",\r\n dateTimepickerToggleIconTemplate: \"string\",\r\n datepickerToggleIconTemplate: \"string\",\r\n timepickerToggleIconTemplate: \"string\",\r\n};\r\n\r\nconst DefaultClasses = {\r\n toggleButton:\r\n \"flex items-center justify-content-center [&>svg]:w-5 [&>svg]:h-5 absolute outline-none border-none bg-transparent right-0.5 top-1/2 -translate-x-1/2 -translate-y-1/2 hover:text-primary focus:text-primary dark:hover:text-primary-400 dark:focus:text-primary-400 dark:text-neutral-200\",\r\n pickerIcon:\r\n \"[&>svg]:w-6 [&>svg]:h-6 [&>svg]:mx-auto [&>svg]:pointer-events-none w-1/2 px-1.5 py-[1px] rounded-[10px] min-h-[40px] cursor-pointer outline-none border-none text-white hover:bg-primary-600 dark:hover:bg-neutral-600\",\r\n buttonsContainer:\r\n \"flex justify-evenly items-end bg-primary dark:bg-zinc-800 dark:data-[te-buttons-timepicker]:bg-zinc-700\",\r\n timepicker: {},\r\n datepicker: {},\r\n};\r\n\r\nconst DefaultClassesType = {\r\n toggleButton: \"string\",\r\n pickerIcon: \"string\",\r\n buttonsContainer: \"string\",\r\n timepicker: \"object\",\r\n datepicker: \"object\",\r\n};\r\n\r\nclass Datetimepicker {\r\n constructor(element, options, classes) {\r\n this._element = element;\r\n\r\n this._input = SelectorEngine.findOne(\"input\", this._element);\r\n this._options = this._getConfig(options);\r\n this._classes = this._getClasses(classes);\r\n\r\n this._timepicker = null;\r\n this._datepicker = null;\r\n this._dateValue = this._options.defaultDate\r\n ? this._options.defaultDate\r\n : \"\";\r\n this._timeValue = this._options.defaultTime\r\n ? this._options.defaultTime\r\n : \"\";\r\n this._isInvalidTimeFormat = false;\r\n this._format = this._options.datepicker.format\r\n ? this._options.datepicker.format\r\n : \"dd/mm/yyyy\";\r\n this._cancel = false;\r\n\r\n this._scrollBar = new ScrollBarHelper();\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n this._init();\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n get toggleButton() {\r\n return SelectorEngine.findOne(SELECTOR_TOGGLE_BUTTON, this._element);\r\n }\r\n\r\n get notch() {\r\n return SelectorEngine.findOne(SELECTOR_INPUT_NOTCH, this._element);\r\n }\r\n\r\n dispose() {\r\n EventHandler.off(this._element, \"click\", this._openDatePicker);\r\n EventHandler.off(this._input, \"input\", this._handleInput);\r\n EventHandler.off(this._element, \"click\");\r\n Data.removeData(this._element, DATA_KEY);\r\n\r\n this._removeTimePicker();\r\n this._removeDatepicker();\r\n this.toggleButton.remove();\r\n\r\n this._options = Default;\r\n this._timepicker = null;\r\n this._datepicker = null;\r\n this._dateValue = null;\r\n this._timeValue = null;\r\n this._isInvalidTimeFormat = null;\r\n }\r\n\r\n update(options = {}) {\r\n const tempOptions = this._getConfig({ ...this._options, ...options });\r\n this.dispose();\r\n this._options = tempOptions;\r\n\r\n this._init();\r\n }\r\n\r\n // Private\r\n\r\n _init() {\r\n this._addDatepicker();\r\n this._addTimePicker();\r\n this._appendToggleButton();\r\n this._listenToToggleClick();\r\n this._listenToUserInput();\r\n this._disableInput();\r\n this._setInitialDefaultInput();\r\n this._applyFormatPlaceholder();\r\n\r\n if (this._options.disablePast) {\r\n this._handleTimepickerDisablePast();\r\n }\r\n if (this._options.disableFuture) {\r\n this._handleTimepickerDisableFuture();\r\n }\r\n }\r\n\r\n _removeDatepicker() {\r\n const datepicker = this._element.querySelector(SELECTOR_DATEPICKER);\r\n if (datepicker) {\r\n datepicker.remove();\r\n }\r\n }\r\n\r\n _addDatepicker() {\r\n const DATEPICKER_WRAPPER = element(\"div\");\r\n DATEPICKER_WRAPPER.id = this._element.id\r\n ? `datepicker-${this._element.id}`\r\n : getUID(\"datepicker-\");\r\n\r\n const DATEPICKER_INPUT = '';\r\n DATEPICKER_WRAPPER.innerHTML = DATEPICKER_INPUT;\r\n\r\n DATEPICKER_WRAPPER.setAttribute(ATTR_DATEPICKER, \"\");\r\n this._element.appendChild(DATEPICKER_WRAPPER);\r\n Manipulator.addClass(DATEPICKER_WRAPPER, \"hidden\");\r\n\r\n let datepickerOptions = {\r\n ...this._options.datepicker,\r\n ...{\r\n container: this._options.container,\r\n disablePast: this._options.disablePast,\r\n disableFuture: this._options.disableFuture,\r\n },\r\n };\r\n\r\n if (this._options.inline || this._options.datepicker.inline) {\r\n datepickerOptions = { ...datepickerOptions, ...{ inline: true } };\r\n }\r\n this._datepicker = new Datepicker(DATEPICKER_WRAPPER, datepickerOptions, {\r\n ...this._classes.datepicker,\r\n });\r\n this._datepicker._input.value = this._dateValue;\r\n }\r\n\r\n _removeTimePicker() {\r\n const timepicker = this._element.querySelector(SELECTOR_TIMEPICKER);\r\n if (timepicker) {\r\n timepicker.remove();\r\n this._scrollBar.reset();\r\n }\r\n }\r\n\r\n _addTimePicker() {\r\n const TIMEPICKER_WRAPPER = element(\"div\");\r\n TIMEPICKER_WRAPPER.id = this._element.id\r\n ? `timepicker-${this._element.id}`\r\n : getUID(\"timepicker-\");\r\n\r\n const TIMEPICKER_INPUT = '';\r\n TIMEPICKER_WRAPPER.innerHTML = TIMEPICKER_INPUT;\r\n\r\n TIMEPICKER_WRAPPER.setAttribute(ATTR_TIMEPICKER, \"\");\r\n this._element.appendChild(TIMEPICKER_WRAPPER);\r\n Manipulator.addClass(TIMEPICKER_WRAPPER, \"hidden\");\r\n\r\n let timepickerOptions = {\r\n ...this._options.timepicker,\r\n ...{ container: this._options.container },\r\n };\r\n\r\n if (this._options.inline || this._options.timepicker.inline) {\r\n timepickerOptions = { timepickerOptions, ...{ inline: true } };\r\n }\r\n\r\n this._timepicker = new Timepicker(TIMEPICKER_WRAPPER, timepickerOptions, {\r\n ...this._classes.timepicker,\r\n });\r\n this._timepicker.input.value = this._timeValue;\r\n }\r\n\r\n _addIconButtons() {\r\n Manipulator.addClass(BUTTONS_WRAPPER, this._classes.buttonsContainer);\r\n\r\n BUTTONS_WRAPPER.innerHTML = getIconButtonsTemplate(\r\n this._options.datepickerToggleIconTemplate,\r\n this._options.timepickerToggleIconTemplate,\r\n this._classes\r\n );\r\n BUTTONS_WRAPPER.removeAttribute(ATTR_BUTTON_TIMEPICKER);\r\n\r\n if (this._options.inline || this._options.datepicker.inline) {\r\n return;\r\n }\r\n\r\n this._scrollBar.hide();\r\n\r\n if (this._datepicker._isOpen) {\r\n const headerDate = SelectorEngine.findOne(\r\n `[${ATTR_DATEPICKER_HEADER}]`,\r\n document.body\r\n );\r\n\r\n headerDate.appendChild(BUTTONS_WRAPPER);\r\n } else if (this._timepicker._modal && !this._options.timepicker.inline) {\r\n const header = SelectorEngine.findOne(\r\n SELECTOR_TIMEPICKER_ELEMENTS,\r\n document.body\r\n );\r\n const headerTime = SelectorEngine.findOne(\r\n SELECTOR_TIMEPICKER_CLOCK,\r\n document.body\r\n );\r\n\r\n BUTTONS_WRAPPER.setAttribute(ATTR_BUTTON_TIMEPICKER, \"\");\r\n\r\n header.insertBefore(BUTTONS_WRAPPER, headerTime);\r\n }\r\n }\r\n\r\n _enableOrDisableToggleButton() {\r\n if (this._options.disabled) {\r\n this.toggleButton.disabled = true;\r\n Manipulator.addClass(this.toggleButton, \"pointer-events-none\");\r\n } else {\r\n this.toggleButton.disabled = false;\r\n Manipulator.removeClass(this.toggleButton, \"pointer-events-none\");\r\n }\r\n }\r\n\r\n _appendToggleButton() {\r\n if (!this._options.toggleButton) {\r\n return;\r\n }\r\n this._element.insertAdjacentHTML(\r\n \"beforeend\",\r\n getToggleButtonTemplate(\r\n this._options.dateTimepickerToggleIconTemplate,\r\n this._classes\r\n )\r\n );\r\n\r\n this._enableOrDisableToggleButton();\r\n }\r\n\r\n _applyFormatPlaceholder() {\r\n if (this._options.showFormat) {\r\n this._input.placeholder = this._format;\r\n }\r\n }\r\n\r\n _listenToCancelClick() {\r\n const DATEPICKER_CANCEL_BTN = SelectorEngine.findOne(\r\n `[${ATTR_DATEPICKER_CANCEL_BTN_REF}]`,\r\n document.body\r\n );\r\n\r\n EventHandler.one(DATEPICKER_CANCEL_BTN, \"mousedown\", () => {\r\n this._cancel = true;\r\n this._scrollBar.reset();\r\n EventHandler.off(DATEPICKER_CANCEL_BTN, \"mousedown\");\r\n });\r\n }\r\n\r\n _listenToToggleClick() {\r\n EventHandler.on(this._element, \"click\", SELECTOR_DATA_TOGGLE, (event) => {\r\n event.preventDefault();\r\n this._openDatePicker();\r\n });\r\n }\r\n\r\n _listenToUserInput() {\r\n EventHandler.on(this._input, \"input\", (event) => {\r\n this._handleInput(event.target.value);\r\n });\r\n }\r\n\r\n _disableInput() {\r\n if (this._options.disabled) {\r\n this._input.disabled = \"true\";\r\n }\r\n }\r\n\r\n _getConfig(config) {\r\n const dataAttributes = Manipulator.getDataAttributes(this._element);\r\n\r\n config = {\r\n ...Default,\r\n ...dataAttributes,\r\n ...config,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _getClasses(classes) {\r\n const dataAttributes = Manipulator.getDataClassAttributes(this._element);\r\n\r\n classes = {\r\n ...DefaultClasses,\r\n ...dataAttributes,\r\n ...classes,\r\n };\r\n\r\n typeCheckConfig(NAME, classes, DefaultClassesType);\r\n\r\n return classes;\r\n }\r\n\r\n _handleInput(input) {\r\n const dateTimeSplited = input.split(\", \");\r\n const dateDelimeters = getDelimeters(this._format);\r\n\r\n const inputFirstValue = dateTimeSplited[0];\r\n const inputSecondValue = dateTimeSplited[1] || \"\";\r\n\r\n const date = parseDate(\r\n inputFirstValue,\r\n this._format,\r\n dateDelimeters,\r\n this._datepicker._options\r\n );\r\n\r\n if (dateTimeSplited.length === 2) {\r\n const isInputValid = isValidDate(date) && isValidTime(inputSecondValue);\r\n\r\n if (isInputValid) {\r\n this._dateValue = inputFirstValue;\r\n this._timeValue = inputSecondValue;\r\n this._datepicker._input.value = this._dateValue;\r\n this._datepicker._activeDate = this._dateValue;\r\n this._datepicker._selectedYear = getYear(date);\r\n this._datepicker._selectedMonth = getMonth(date);\r\n this._datepicker._headerDate = date;\r\n this._timepicker.input.value = this._timeValue;\r\n this._timepicker._isInvalidTimeFormat = false;\r\n } else {\r\n this._datepicker._activeDate = new Date();\r\n this._datepicker._selectedDate = null;\r\n this._datepicker._selectedMonth = null;\r\n this._datepicker._selectedYear = null;\r\n this._datepicker._headerDate = null;\r\n this._datepicker._headerMonth = null;\r\n this._datepicker._headerYear = null;\r\n this._timepicker._isInvalidTimeFormat = true;\r\n }\r\n }\r\n }\r\n\r\n _openDatePicker() {\r\n const openEvent = EventHandler.trigger(this._element, EVENT_OPEN);\r\n\r\n if (openEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._datepicker.open();\r\n\r\n if (!this._options.inline) {\r\n this._scrollBar.hide();\r\n }\r\n\r\n if (this._options.inline || this._options.datepicker.inline) {\r\n this._openDropdownDate();\r\n }\r\n this._addIconButtons();\r\n\r\n this._listenToCancelClick();\r\n\r\n if (this._options.inline && this._datepicker._isOpen) {\r\n Manipulator.addClass(this.toggleButton, \"pointer-events-none\");\r\n }\r\n\r\n EventHandler.one(this._datepicker._element, EVENT_CLOSE_DATEPICKER, () => {\r\n this._dateValue = this._datepicker._input.value;\r\n\r\n this._updateInputValue();\r\n\r\n if (this._cancel) {\r\n this._cancel = false;\r\n return;\r\n }\r\n\r\n EventHandler.on(this._datepicker.container, \"click\", (e) => {\r\n if (\r\n !this._datepicker._selectedDate &&\r\n e.target.hasAttribute(ATTR_DATEPICKER_OK_BTN_REF)\r\n ) {\r\n return;\r\n }\r\n this._openTimePicker();\r\n });\r\n setTimeout(() => {\r\n const timepicker = SelectorEngine.findOne(\r\n `[${ATTR_TIMEPICKER_WRAPPER}]`,\r\n document.body\r\n );\r\n if (!timepicker) {\r\n this._scrollBar.reset();\r\n }\r\n }, 10);\r\n if (this._options.inline) {\r\n Manipulator.removeClass(this.toggleButton, \"pointer-events-none\");\r\n }\r\n });\r\n\r\n const CLOCK_BTN = SelectorEngine.findOne(\r\n SELECTOR_TIMEPICKER_TOGGLE,\r\n document.body\r\n );\r\n\r\n EventHandler.on(CLOCK_BTN, \"click\", () => {\r\n this._datepicker.close();\r\n this._scrollBar.hide();\r\n EventHandler.trigger(this._datepicker._element, EVENT_CLOSE_DATEPICKER);\r\n });\r\n }\r\n\r\n _handleTimepickerDisablePast() {\r\n const currentDate = new Date();\r\n currentDate.setHours(0, 0, 0, 0);\r\n\r\n EventHandler.on(\r\n this._datepicker._element,\r\n \"dateChange.te.datepicker\",\r\n () => {\r\n if (\r\n this._datepicker._selectedDate.getTime() === currentDate.getTime()\r\n ) {\r\n this._timepicker.update({ disablePast: true });\r\n } else {\r\n this._timepicker.update({ disablePast: false });\r\n }\r\n }\r\n );\r\n }\r\n\r\n _handleTimepickerDisableFuture() {\r\n const currentDate = new Date();\r\n currentDate.setHours(0, 0, 0, 0);\r\n\r\n EventHandler.on(\r\n this._datepicker._element,\r\n \"dateChange.te.datepicker\",\r\n () => {\r\n if (\r\n this._datepicker._selectedDate.getTime() === currentDate.getTime()\r\n ) {\r\n this._timepicker.update({ disableFuture: true });\r\n } else {\r\n this._timepicker.update({ disableFuture: false });\r\n }\r\n }\r\n );\r\n }\r\n\r\n _handleEscapeKey() {\r\n EventHandler.one(document.body, \"keyup\", () => {\r\n setTimeout(() => {\r\n const timepicker = SelectorEngine.findOne(\r\n `[${ATTR_TIMEPICKER_WRAPPER}]`,\r\n document.body\r\n );\r\n if (!timepicker) {\r\n this._scrollBar.reset();\r\n }\r\n }, 250);\r\n });\r\n }\r\n\r\n _handleCancelButton() {\r\n const CANCEL_BTN = SelectorEngine.findOne(\r\n `[${ATTR_TIMEPICKER_CANCEL_BTN}]`,\r\n document.body\r\n );\r\n EventHandler.one(CANCEL_BTN, \"mousedown\", () => {\r\n this._scrollBar.reset();\r\n });\r\n }\r\n\r\n _openDropdownDate() {\r\n const datePopper = this._datepicker._popper;\r\n datePopper.state.elements.reference = this._input;\r\n this._scrollBar.reset();\r\n }\r\n\r\n _openTimePicker() {\r\n EventHandler.trigger(this._timepicker.elementToggle, \"click\");\r\n setTimeout(() => {\r\n this._addIconButtons();\r\n\r\n if (this._options.inline || this._options.timepicker.inline) {\r\n this._openDropdownTime();\r\n }\r\n if (this._timepicker._modal) {\r\n const CANCEL_BTN = SelectorEngine.findOne(\r\n `[${ATTR_TIMEPICKER_CANCEL_BTN}]`,\r\n document.body\r\n );\r\n this._handleEscapeKey();\r\n this._handleCancelButton();\r\n EventHandler.on(this._timepicker._modal, \"click\", (e) => {\r\n if (\r\n e.target.hasAttribute(ATTR_TIMEPICKER_WRAPPER) ||\r\n e.target.hasAttribute(ATTR_TIMEPICKER_SUBMIT)\r\n ) {\r\n setTimeout(() => {\r\n this._scrollBar.reset();\r\n }, 200);\r\n }\r\n if (e.target.hasAttribute(ATTR_TIMEPICKER_CLEAR)) {\r\n EventHandler.trigger(\r\n this._timepicker._element,\r\n EVENT_INPUT_TIMEPICKER\r\n );\r\n }\r\n if (e.target.hasAttribute(ATTR_DATEPICKER_TOGGLE_BTN)) {\r\n EventHandler.trigger(CANCEL_BTN, \"click\");\r\n setTimeout(() => {\r\n this._openDatePicker();\r\n this._scrollBar.hide();\r\n }, 200);\r\n }\r\n });\r\n }\r\n });\r\n\r\n EventHandler.one(this._timepicker._element, EVENT_INPUT_TIMEPICKER, () => {\r\n this._timeValue = this._timepicker.input.value;\r\n this._updateInputValue();\r\n EventHandler.trigger(this._element, EVENT_CLOSE);\r\n });\r\n }\r\n\r\n _openDropdownTime() {\r\n const timePopper = this._timepicker._popper;\r\n timePopper.state.elements.reference = this._input;\r\n timePopper.update();\r\n this._scrollBar.reset();\r\n }\r\n\r\n _setInitialDefaultInput() {\r\n const shouldUpdate = this._options.defaultDate || this._options.defaultTime;\r\n\r\n if (shouldUpdate) {\r\n this._updateInputValue();\r\n }\r\n }\r\n\r\n _updateInputValue() {\r\n const isDateTimeFilled = this._timeValue && this._dateValue;\r\n\r\n if (isDateTimeFilled) {\r\n this._input.value = `${this._dateValue}, ${this._timeValue}`;\r\n\r\n const changeEvent = EventHandler.trigger(\r\n this._element,\r\n EVENT_DATETIME_CHANGE\r\n );\r\n\r\n if (changeEvent.defaultPrevented) {\r\n return;\r\n }\r\n }\r\n\r\n EventHandler.trigger(this._input, \"focus\");\r\n this.notch && this.notch.removeAttribute(\"data-te-input-focused\");\r\n }\r\n\r\n // static\r\n\r\n static jQueryInterface(config, options) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === \"object\" && config;\r\n\r\n if (!data && /dispose/.test(config)) {\r\n return;\r\n }\r\n\r\n if (!data) {\r\n data = new Datetimepicker(this, _config);\r\n }\r\n\r\n if (typeof config === \"string\") {\r\n if (typeof data[config] === \"undefined\") {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config](options);\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n}\r\n\r\nexport default Datetimepicker;\r\n", "/*\r\n--------------------------------------------------------------------------\r\nTailwind Elements is an open-source UI kit of advanced components for TailwindCSS.\r\nCopyright \u00A9 2023 MDBootstrap.com\r\n\r\nUnless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\nIn addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license.\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\r\n--------------------------------------------------------------------------\r\n*/\r\n\r\nimport { typeCheckConfig } from \"../util/index\";\r\nimport Data from \"../dom/data\";\r\nimport EventHandler from \"../dom/event-handler\";\r\nimport Manipulator from \"../dom/manipulator\";\r\nimport SelectorEngine from \"../dom/selector-engine\";\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = \"sticky\";\r\nconst DATA_KEY = `te.${NAME}`;\r\n\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst EVENT_ACTIVE = `active${EVENT_KEY}`;\r\nconst EVENT_INACTIVE = `inactive${EVENT_KEY}`;\r\n\r\nconst Default = {\r\n stickyAnimationSticky: \"\",\r\n stickyAnimationUnsticky: \"\",\r\n stickyBoundary: false,\r\n stickyDelay: 0,\r\n stickyDirection: \"down\",\r\n stickyMedia: 0,\r\n stickyOffset: 0,\r\n stickyPosition: \"top\",\r\n stickyZIndex: 100,\r\n};\r\n\r\nconst DefaultType = {\r\n stickyAnimationSticky: \"string\",\r\n stickyAnimationUnsticky: \"string\",\r\n stickyBoundary: \"(boolean|string)\",\r\n stickyDelay: \"number\",\r\n stickyDirection: \"string\",\r\n stickyMedia: \"number\",\r\n stickyOffset: \"number\",\r\n stickyPosition: \"string\",\r\n stickyZIndex: \"(string|number)\",\r\n};\r\n\r\nconst DefaultClasses = {\r\n stickyActive: \"\",\r\n};\r\n\r\nconst DefaultClassesType = {\r\n stickyActive: \"string\",\r\n};\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Sticky {\r\n constructor(element, options, classes) {\r\n this._element = element;\r\n this._hiddenElement = null;\r\n this._elementPositionStyles = {};\r\n this._scrollDirection = \"\";\r\n this._isSticked = false;\r\n this._elementOffsetTop = null;\r\n this._scrollTop = 0;\r\n this._pushPoint = \"\";\r\n this._manuallyDeactivated = false;\r\n\r\n if (this._element) {\r\n this._options = this._getConfig(options);\r\n this._classes = this._getClasses(classes);\r\n Data.setData(element, DATA_KEY, this);\r\n this._init();\r\n }\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n dispose() {\r\n const { stickyAnimationUnsticky } = this._options;\r\n let { animationDuration } = getComputedStyle(this._element);\r\n\r\n animationDuration =\r\n stickyAnimationUnsticky !== \"\" ? parseFloat(animationDuration) * 1000 : 0;\r\n\r\n this._disableSticky();\r\n\r\n setTimeout(() => {\r\n Data.removeData(this._element, DATA_KEY);\r\n\r\n this._element = null;\r\n this._options = null;\r\n this._hiddenElement = null; // Element replacing the space of the original element when changing the position to \"fixed\"\r\n this._elementPositionStyles = null;\r\n this._scrollDirection = null;\r\n this._isSticked = null;\r\n this._elementOffsetTop = null;\r\n this._scrollTop = null;\r\n this._pushPoint = null;\r\n this._manuallyDeactivated = null;\r\n }, animationDuration);\r\n }\r\n\r\n active() {\r\n // prevent action if sticky is already active\r\n if (this._isSticked) {\r\n return;\r\n }\r\n\r\n this._createHiddenElement();\r\n this._enableSticky();\r\n this._changeBoundaryPosition();\r\n this._isSticked = true;\r\n this._manuallyDeactivated = false;\r\n }\r\n\r\n inactive() {\r\n // prevent action if sticky is already inactive\r\n if (!this._isSticked) {\r\n return;\r\n }\r\n\r\n this._disableSticky();\r\n this._isSticked = false;\r\n this._manuallyDeactivated = true;\r\n }\r\n\r\n // Private\r\n _init() {\r\n this._userActivityListener();\r\n }\r\n\r\n _userActivityListener() {\r\n EventHandler.on(window, \"resize\", () => {\r\n this._updateElementPosition();\r\n this._updateElementOffset();\r\n });\r\n\r\n EventHandler.on(window, \"scroll\", () => {\r\n if (!this._element) {\r\n return;\r\n }\r\n\r\n // prevent action if browser resolution <= user acceptable resolution\r\n if (window.innerWidth <= this._options.stickyMedia) {\r\n return;\r\n }\r\n\r\n // prevent action if user deactivated sticky manually using public methods.\r\n if (this._manuallyDeactivated) {\r\n return;\r\n }\r\n\r\n const doc = document.documentElement;\r\n const { stickyDirection } = this._options;\r\n const scrollTop = window.pageYOffset || doc.scrollTop;\r\n\r\n this._updateElementOffset();\r\n this._updatePushPoint();\r\n this._updateScrollDirection(scrollTop);\r\n this._clearInProgressAnimations();\r\n\r\n const isCorrectScrollDirection = [this._scrollDirection, \"both\"].includes(\r\n stickyDirection\r\n );\r\n const isPushPointReached = this._pushPoint <= scrollTop;\r\n\r\n const shouldBeSticky =\r\n isPushPointReached && !this._isSticked && isCorrectScrollDirection;\r\n const shouldNotBeSticky =\r\n (!isPushPointReached || !isCorrectScrollDirection) && this._isSticked;\r\n\r\n if (shouldBeSticky) {\r\n this._createHiddenElement();\r\n this._enableSticky();\r\n this._changeBoundaryPosition();\r\n this._isSticked = true;\r\n }\r\n\r\n if (shouldNotBeSticky) {\r\n this._disableSticky();\r\n this._isSticked = false;\r\n }\r\n\r\n if (this._isSticked) {\r\n this._updatePosition({ styles: this._elementPositionStyles });\r\n this._changeBoundaryPosition();\r\n }\r\n\r\n this._scrollTop = scrollTop <= 0 ? 0 : scrollTop; // Get last scrollTop position and fix negative scroll\r\n });\r\n }\r\n\r\n _updatePushPoint() {\r\n if (this._options.stickyPosition === \"top\") {\r\n this._pushPoint = this._elementOffsetTop - this._options.stickyDelay;\r\n } else {\r\n this._pushPoint =\r\n this._elementOffsetTop +\r\n this._element.height -\r\n document.body.scrollHeight +\r\n this._options.stickyDelay;\r\n }\r\n }\r\n\r\n _updateElementOffset() {\r\n if (this._hiddenElement) {\r\n this._elementOffsetTop = this._hiddenElement.offsetTop;\r\n } else {\r\n this._elementOffsetTop = this._element.offsetTop;\r\n }\r\n\r\n if (this._options.stickyAnimationUnsticky) {\r\n this._elementOffsetTop += this._element.height || 0;\r\n }\r\n }\r\n\r\n _updateElementPosition() {\r\n if (this._hiddenElement) {\r\n const { left } = this._hiddenElement.getBoundingClientRect();\r\n\r\n this._elementPositionStyles = {\r\n left: `${left}px`,\r\n };\r\n } else {\r\n this._elementPositionStyles = {};\r\n }\r\n\r\n this._setStyle(this._element, this._elementPositionStyles);\r\n }\r\n\r\n _updateScrollDirection(scrollTop) {\r\n if (scrollTop > this._scrollTop) {\r\n this._scrollDirection = \"down\";\r\n } else {\r\n this._scrollDirection = \"up\";\r\n }\r\n }\r\n\r\n _clearInProgressAnimations() {\r\n const isScrollUp = this._scrollDirection === \"up\";\r\n const isUnstickyAnimationInProgress = this._element.classList.contains(\r\n this._options.stickyAnimationUnsticky\r\n );\r\n const isScrolledAboveElement =\r\n window.scrollY <= this._elementOffsetTop - this._element.height;\r\n\r\n if (isScrollUp && isUnstickyAnimationInProgress && isScrolledAboveElement) {\r\n this._removeUnstickyAnimation();\r\n this._resetStyles();\r\n this._removeHiddenElement();\r\n }\r\n }\r\n\r\n _enableSticky() {\r\n const {\r\n stickyAnimationSticky,\r\n stickyAnimationUnsticky,\r\n stickyOffset,\r\n stickyPosition,\r\n stickyZIndex,\r\n } = this._options;\r\n const { height, left, width } = this._element.getBoundingClientRect();\r\n\r\n if (stickyAnimationSticky !== \"\") {\r\n this._toggleClass(\r\n stickyAnimationSticky,\r\n stickyAnimationUnsticky,\r\n this._element\r\n );\r\n }\r\n\r\n this._toggleClass(this._classes.stickyActive, \"\", this._element);\r\n\r\n this._setStyle(this._element, {\r\n top: stickyPosition === \"top\" && `${0 + stickyOffset}px`,\r\n bottom: stickyPosition === \"bottom\" && `${0 + stickyOffset}px`,\r\n height: `${height}px`,\r\n width: `${width}px`,\r\n left: `${left}px`,\r\n zIndex: `${stickyZIndex}`,\r\n position: \"fixed\",\r\n });\r\n\r\n this._hiddenElement.hidden = false;\r\n\r\n EventHandler.trigger(this._element, EVENT_ACTIVE);\r\n }\r\n\r\n _changeBoundaryPosition() {\r\n const { stickyPosition, stickyBoundary, stickyOffset } = this._options;\r\n const { height } = this._element.getBoundingClientRect();\r\n const parentOffset = {\r\n height: this._element.parentElement.getBoundingClientRect().height,\r\n ...this._getOffset(this._element.parentElement),\r\n };\r\n let stopPoint;\r\n const stopper = SelectorEngine.findOne(stickyBoundary);\r\n\r\n if (stopper) {\r\n stopPoint = this._getOffset(stopper).top - height - stickyOffset;\r\n } else {\r\n stopPoint =\r\n parentOffset.height +\r\n parentOffset[stickyPosition] -\r\n height -\r\n stickyOffset;\r\n }\r\n\r\n const isStickyTop = stickyPosition === \"top\";\r\n const isStickyBottom = stickyPosition === \"bottom\";\r\n const isStickyBoundary = stickyBoundary;\r\n const isBelowStopPoint = stopPoint < 0;\r\n const isBelowParentElementEnd = stopPoint > parentOffset.height - height;\r\n let elementStyle;\r\n\r\n if (isStickyTop) {\r\n if (isBelowStopPoint && isStickyBoundary) {\r\n elementStyle = { top: `${stickyOffset + stopPoint}px` };\r\n } else {\r\n elementStyle = { top: `${stickyOffset + 0}px` };\r\n }\r\n }\r\n\r\n if (isStickyBottom) {\r\n if (isBelowStopPoint && isStickyBoundary) {\r\n elementStyle = { bottom: `${stickyOffset + stopPoint}px` };\r\n } else if (isBelowParentElementEnd && isStickyBoundary) {\r\n elementStyle = { bottom: `${stickyOffset + parentOffset.bottom}px` };\r\n } else {\r\n elementStyle = { bottom: `${stickyOffset + 0}px` };\r\n }\r\n }\r\n\r\n this._setStyle(this._element, elementStyle);\r\n }\r\n\r\n _disableSticky() {\r\n const { stickyAnimationUnsticky, stickyAnimationSticky } = this._options;\r\n\r\n let { animationDuration } = getComputedStyle(this._element);\r\n\r\n animationDuration =\r\n stickyAnimationUnsticky !== \"\" ? parseFloat(animationDuration) * 1000 : 0;\r\n\r\n if (this._options.stickyAnimationUnsticky !== \"\") {\r\n this._toggleClass(\r\n stickyAnimationUnsticky,\r\n stickyAnimationSticky,\r\n this._element\r\n );\r\n }\r\n\r\n setTimeout(() => {\r\n if (this._element.classList.contains(stickyAnimationSticky)) {\r\n return;\r\n }\r\n\r\n this._removeUnstickyAnimation();\r\n this._resetStyles();\r\n this._removeHiddenElement();\r\n this._toggleClass(\"\", this._classes.stickyActive, this._element);\r\n\r\n EventHandler.trigger(this._element, EVENT_INACTIVE);\r\n }, animationDuration);\r\n }\r\n\r\n _createHiddenElement() {\r\n if (!this._hiddenElement) {\r\n this._hiddenElement = this._copyElement(this._element);\r\n }\r\n }\r\n\r\n _removeHiddenElement() {\r\n // prevent to throw error when hidden Element don't exist;\r\n if (!this._hiddenElement) {\r\n return;\r\n }\r\n\r\n this._hiddenElement.remove();\r\n this._hiddenElement = null;\r\n }\r\n\r\n _removeUnstickyAnimation() {\r\n this._toggleClass(\"\", this._options.stickyAnimationUnsticky, this._element);\r\n }\r\n\r\n _resetStyles() {\r\n this._setStyle(this._element, {\r\n top: null,\r\n bottom: null,\r\n position: null,\r\n left: null,\r\n zIndex: null,\r\n width: null,\r\n height: null,\r\n });\r\n }\r\n\r\n _updatePosition({ styles }) {\r\n this._setStyle(this._element, styles);\r\n }\r\n\r\n _toggleClass(addClass, removeClass, target) {\r\n if (addClass) {\r\n Manipulator.addClass(target, addClass);\r\n }\r\n\r\n if (removeClass) {\r\n Manipulator.removeClass(target, removeClass);\r\n }\r\n }\r\n\r\n _getOffset(element) {\r\n const offsetElement = Manipulator.offset(element);\r\n const rectElement = element.getBoundingClientRect();\r\n\r\n const bottom =\r\n offsetElement.left === 0 && offsetElement.top === 0\r\n ? 0\r\n : window.innerHeight - rectElement.bottom;\r\n\r\n return {\r\n ...offsetElement,\r\n bottom,\r\n };\r\n }\r\n\r\n _copyElement(itemToCopy) {\r\n const { height, width } = itemToCopy.getBoundingClientRect();\r\n const COPIED_ITEM = itemToCopy.cloneNode(false);\r\n COPIED_ITEM.hidden = true;\r\n\r\n this._setStyle(COPIED_ITEM, {\r\n height: `${height}px`,\r\n width: `${width}px`,\r\n opacity: \"0\",\r\n });\r\n\r\n itemToCopy.parentElement.insertBefore(COPIED_ITEM, itemToCopy);\r\n\r\n return COPIED_ITEM;\r\n }\r\n\r\n _getConfig(config = {}) {\r\n const dataAttributes = Manipulator.getDataAttributes(this._element);\r\n\r\n config = {\r\n ...Default,\r\n ...dataAttributes,\r\n ...config,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _getClasses(classes) {\r\n const dataAttributes = Manipulator.getDataClassAttributes(this._element);\r\n\r\n classes = {\r\n ...DefaultClasses,\r\n ...dataAttributes,\r\n ...classes,\r\n };\r\n\r\n typeCheckConfig(NAME, classes, DefaultClassesType);\r\n\r\n return classes;\r\n }\r\n\r\n _setStyle(element, styles) {\r\n Object.keys(styles).forEach((style) => {\r\n element.style[style] = styles[style];\r\n });\r\n }\r\n\r\n static jQueryInterface(config, options) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === \"object\" && config;\r\n\r\n if (!data && /dispose|hide/.test(config)) {\r\n return;\r\n }\r\n\r\n if (!data) {\r\n data = new Sticky(this, _config);\r\n }\r\n\r\n if (typeof config === \"string\") {\r\n if (typeof data[config] === \"undefined\") {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config](options);\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) ||\r\n new this(element, typeof config === \"object\" ? config : null)\r\n );\r\n }\r\n}\r\n\r\nexport default Sticky;\r\n", "import { getjQuery, onDOMContentLoaded } from \"../util/index\";\r\n\r\nconst jqueryInit = (plugin) => {\r\n onDOMContentLoaded(() => {\r\n const $ = getjQuery();\r\n\r\n if ($) {\r\n const name = plugin.NAME;\r\n const JQUERY_NO_CONFLICT = $.fn[name];\r\n $.fn[name] = plugin.jQueryInterface;\r\n $.fn[name].Constructor = plugin;\r\n $.fn[name].noConflict = () => {\r\n $.fn[name] = JQUERY_NO_CONFLICT;\r\n return plugin.jQueryInterface;\r\n };\r\n }\r\n });\r\n};\r\n\r\nexport default jqueryInit;\r\n", "import EventHandler from \"../dom/event-handler\";\r\nimport SelectorEngine from \"../dom/selector-engine\";\r\nimport {\r\n isDisabled,\r\n getElementFromSelector,\r\n isVisible,\r\n getSelectorFromElement,\r\n} from \"../util\";\r\n\r\nconst dropdownCallback = (component, initSelector) => {\r\n EventHandler.on(\r\n document,\r\n `click.te.${component.NAME}`,\r\n initSelector,\r\n function (event) {\r\n event.preventDefault();\r\n component.getOrCreateInstance(this).toggle();\r\n }\r\n );\r\n};\r\n\r\nconst tabCallback = (component, initSelector) => {\r\n EventHandler.on(\r\n document,\r\n `click.te.${component.NAME}.data-api`,\r\n initSelector,\r\n function (event) {\r\n if ([\"A\", \"AREA\"].includes(this.tagName)) {\r\n event.preventDefault();\r\n }\r\n\r\n if (isDisabled(this)) {\r\n return;\r\n }\r\n\r\n const data = component.getOrCreateInstance(this);\r\n data.show();\r\n }\r\n );\r\n};\r\n\r\nconst offcanvasCallback = (component, initSelector) => {\r\n EventHandler.on(\r\n document,\r\n `click.te.${component.NAME}.data-api`,\r\n initSelector,\r\n function (event) {\r\n const target = getElementFromSelector(this);\r\n\r\n if ([\"A\", \"AREA\"].includes(this.tagName)) {\r\n event.preventDefault();\r\n }\r\n\r\n if (isDisabled(this)) {\r\n return;\r\n }\r\n\r\n EventHandler.one(target, component.EVENT_HIDDEN, () => {\r\n // focus on trigger when it is closed\r\n if (isVisible(this)) {\r\n this.focus();\r\n }\r\n });\r\n\r\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\r\n const allReadyOpen = SelectorEngine.findOne(component.OPEN_SELECTOR);\r\n if (allReadyOpen && allReadyOpen !== target) {\r\n component.getInstance(allReadyOpen).hide();\r\n }\r\n\r\n const data = component.getOrCreateInstance(target);\r\n data.toggle(this);\r\n }\r\n );\r\n};\r\n\r\nconst buttonCallback = (component, initSelector) => {\r\n EventHandler.on(\r\n document,\r\n `click.te.${component.NAME}`,\r\n initSelector,\r\n (event) => {\r\n event.preventDefault();\r\n\r\n const button = event.target.closest(initSelector);\r\n const data = component.getOrCreateInstance(button);\r\n\r\n data.toggle();\r\n }\r\n );\r\n};\r\n\r\nconst modalCallback = (component, initSelector) => {\r\n EventHandler.on(\r\n document,\r\n `click.te.${component.NAME}`,\r\n initSelector,\r\n function (event) {\r\n const target = getElementFromSelector(this);\r\n\r\n if ([\"A\", \"AREA\"].includes(this.tagName)) {\r\n event.preventDefault();\r\n }\r\n\r\n EventHandler.one(target, component.EVENT_SHOW, (showEvent) => {\r\n if (showEvent.defaultPrevented) {\r\n // only register focus restorer if modal will actually get shown\r\n return;\r\n }\r\n\r\n EventHandler.one(target, component.EVENT_HIDDEN, () => {\r\n if (isVisible(this)) {\r\n this.focus();\r\n }\r\n });\r\n });\r\n\r\n // avoid conflict when clicking moddal toggler while another one is open\r\n const allReadyOpen = SelectorEngine.findOne(\r\n `[${component.OPEN_SELECTOR}=\"true\"]`\r\n );\r\n if (allReadyOpen) {\r\n component.getInstance(allReadyOpen).hide();\r\n }\r\n\r\n const data = component.getOrCreateInstance(target);\r\n\r\n data.toggle(this);\r\n }\r\n );\r\n};\r\n\r\nconst rippleCallback = (component, initSelector) => {\r\n EventHandler.one(\r\n document,\r\n \"mousedown\",\r\n initSelector,\r\n component.autoInitial(new component())\r\n );\r\n};\r\n\r\nconst collapseCallback = (component, initSelector) => {\r\n EventHandler.on(\r\n document,\r\n `click.te.${component.NAME}.data-api`,\r\n initSelector,\r\n function (event) {\r\n // preventDefault only for
elements (which change the URL) not inside the collapsible element\r\n if (\r\n event.target.tagName === \"A\" ||\r\n (event.delegateTarget && event.delegateTarget.tagName === \"A\")\r\n ) {\r\n event.preventDefault();\r\n }\r\n\r\n const selector = getSelectorFromElement(this);\r\n const selectorElements = SelectorEngine.find(selector);\r\n\r\n selectorElements.forEach((element) => {\r\n component.getOrCreateInstance(element, { toggle: false }).toggle();\r\n });\r\n }\r\n );\r\n};\r\n\r\nconst tooltipsCallback = (component, initSelector) => {\r\n const tooltipTriggerList = [].slice.call(\r\n document.querySelectorAll(initSelector)\r\n );\r\n tooltipTriggerList.map(function (tooltipTriggerEl) {\r\n return new component(tooltipTriggerEl);\r\n });\r\n};\r\n\r\nconst popoverCallback = (component, initSelector) => {\r\n const popoverTriggerList = [].slice.call(\r\n document.querySelectorAll(initSelector)\r\n );\r\n popoverTriggerList.map(function (popoverTriggerEl) {\r\n return new component(popoverTriggerEl);\r\n });\r\n};\r\n\r\nconst lightboxCallback = (component, initSelector) => {\r\n SelectorEngine.find(initSelector).forEach((element) => {\r\n new component(element);\r\n });\r\n EventHandler.on(\r\n document,\r\n `click.te.${component.NAME}.data-api`,\r\n `${initSelector} img:not([data-te-lightbox-disabled])`,\r\n component.toggle()\r\n );\r\n};\r\n\r\nexport {\r\n dropdownCallback,\r\n tabCallback,\r\n offcanvasCallback,\r\n buttonCallback,\r\n modalCallback,\r\n rippleCallback,\r\n collapseCallback,\r\n tooltipsCallback,\r\n popoverCallback,\r\n lightboxCallback,\r\n};\r\n", "import Manipulator from \"../dom/manipulator\";\r\nimport SelectorEngine from \"../dom/selector-engine\";\r\nimport { DEFAULT_OPTIONS } from \"../data/chart/chartDefaults\";\r\n\r\nconst chartsCallback = (component, initSelector) => {\r\n // eslint-disable-next-line consistent-return\r\n const IS_COMPLEX = (data) => {\r\n return (\r\n (data[0] === \"{\" && data[data.length - 1] === \"}\") ||\r\n (data[0] === \"[\" && data[data.length - 1] === \"]\")\r\n );\r\n };\r\n\r\n const CONVERT_DATA_TYPE = (data) => {\r\n if (typeof data !== \"string\") return data;\r\n if (IS_COMPLEX(data)) {\r\n return JSON.parse(data.replace(/'/g, '\"'));\r\n }\r\n return data;\r\n };\r\n\r\n const PARSE_DATA = (data) => {\r\n const dataset = {};\r\n Object.keys(data).forEach((property) => {\r\n if (property.match(/dataset.*/)) {\r\n const chartProperty = property\r\n .slice(7, 8)\r\n .toLowerCase()\r\n .concat(property.slice(8));\r\n dataset[chartProperty] = CONVERT_DATA_TYPE(data[property]);\r\n }\r\n });\r\n return dataset;\r\n };\r\n\r\n SelectorEngine.find(initSelector).forEach((el) => {\r\n if (\r\n Manipulator.getDataAttribute(el, \"chart\") !== \"bubble\" &&\r\n Manipulator.getDataAttribute(el, \"chart\") !== \"scatter\"\r\n ) {\r\n const dataSet = Manipulator.getDataAttributes(el);\r\n const dataAttr = {\r\n data: {\r\n datasets: [PARSE_DATA(dataSet)],\r\n },\r\n };\r\n if (dataSet.chart) {\r\n dataAttr.type = dataSet.chart;\r\n }\r\n if (dataSet.labels) {\r\n dataAttr.data.labels = JSON.parse(dataSet.labels.replace(/'/g, '\"'));\r\n }\r\n return new component(el, {\r\n ...dataAttr,\r\n ...DEFAULT_OPTIONS[dataAttr.type],\r\n });\r\n }\r\n return null;\r\n });\r\n};\r\n\r\nexport { chartsCallback };\r\n", "class InitRegister {\r\n constructor() {\r\n this.inits = [];\r\n }\r\n\r\n get initialized() {\r\n return this.inits;\r\n }\r\n\r\n isInited(componentName) {\r\n return this.inits.includes(componentName);\r\n }\r\n\r\n add(componentName) {\r\n if (!this.isInited(componentName)) {\r\n this.inits.push(componentName);\r\n }\r\n }\r\n}\r\n\r\nexport default InitRegister;\r\n", "import SelectorEngine from \"../dom/selector-engine\";\r\nimport jqueryInit from \"./jqueryInit\";\r\nimport {\r\n dropdownCallback,\r\n offcanvasCallback,\r\n tabCallback,\r\n buttonCallback,\r\n modalCallback,\r\n rippleCallback,\r\n collapseCallback,\r\n tooltipsCallback,\r\n popoverCallback,\r\n lightboxCallback,\r\n} from \"./autoinitCallbacks\";\r\n\r\nimport { chartsCallback } from \"./chartsInit\";\r\n\r\n// key => component NAME constant\r\n// name => component exported by name\r\nimport InitRegister from \"./Register\";\r\n\r\nconst register = new InitRegister();\r\n\r\nconst defaultInitSelectors = {\r\n alert: {\r\n name: \"Alert\",\r\n selector: \"[data-te-alert-init]\",\r\n isToggler: false,\r\n },\r\n animation: {\r\n name: \"Animate\",\r\n selector: \"[data-te-animation-init]\",\r\n isToggler: false,\r\n },\r\n carousel: {\r\n name: \"Carousel\",\r\n selector: \"[data-te-carousel-init]\",\r\n isToggler: false,\r\n },\r\n chips: {\r\n name: \"ChipsInput\",\r\n selector: \"[data-te-chips-input-init]\",\r\n isToggler: false,\r\n },\r\n chip: {\r\n name: \"Chip\",\r\n selector: \"[data-te-chip-init]\",\r\n isToggler: false,\r\n onInit: \"init\",\r\n },\r\n datepicker: {\r\n name: \"Datepicker\",\r\n selector: \"[data-te-datepicker-init]\",\r\n isToggler: false,\r\n },\r\n datetimepicker: {\r\n name: \"Datetimepicker\",\r\n selector: \"[data-te-date-timepicker-init]\",\r\n isToggler: false,\r\n },\r\n input: {\r\n name: \"Input\",\r\n selector: \"[data-te-input-wrapper-init]\",\r\n isToggler: false,\r\n },\r\n perfectScrollbar: {\r\n name: \"PerfectScrollbar\",\r\n selector: \"[data-te-perfect-scrollbar-init]\",\r\n isToggler: false,\r\n },\r\n rating: {\r\n name: \"Rating\",\r\n selector: \"[data-te-rating-init]\",\r\n isToggler: false,\r\n },\r\n scrollspy: {\r\n name: \"ScrollSpy\",\r\n selector: \"[data-te-spy='scroll']\",\r\n isToggler: false,\r\n },\r\n select: {\r\n name: \"Select\",\r\n selector: \"[data-te-select-init]\",\r\n isToggler: false,\r\n },\r\n sidenav: {\r\n name: \"Sidenav\",\r\n selector: \"[data-te-sidenav-init]\",\r\n isToggler: false,\r\n },\r\n stepper: {\r\n name: \"Stepper\",\r\n selector: \"[data-te-stepper-init]\",\r\n isToggler: false,\r\n },\r\n timepicker: {\r\n name: \"Timepicker\",\r\n selector: \"[data-te-timepicker-init]\",\r\n isToggler: false,\r\n },\r\n toast: {\r\n name: \"Toast\",\r\n selector: \"[data-te-toast-init]\",\r\n isToggler: false,\r\n },\r\n datatable: {\r\n name: \"Datatable\",\r\n selector: \"[data-te-datatable-init]\",\r\n },\r\n popconfirm: {\r\n name: \"Popconfirm\",\r\n selector: \"[data-te-toggle='popconfirm']\",\r\n },\r\n validation: {\r\n name: \"Validation\",\r\n selector: \"[data-te-validation-init]\",\r\n },\r\n smoothScroll: {\r\n name: \"SmoothScroll\",\r\n selector: \"a[data-te-smooth-scroll-init]\",\r\n },\r\n lazyLoad: {\r\n name: \"LazyLoad\",\r\n selector: \"[data-te-lazy-load-init]\",\r\n },\r\n clipboard: {\r\n name: \"Clipboard\",\r\n selector: \"[data-te-clipboard-init]\",\r\n },\r\n infiniteScroll: {\r\n name: \"InfiniteScroll\",\r\n selector: \"[data-te-infinite-scroll-init]\",\r\n },\r\n loadingManagement: {\r\n name: \"LoadingManagement\",\r\n selector: \"[data-te-loading-management-init]\",\r\n },\r\n sticky: {\r\n name: \"Sticky\",\r\n selector: \"[data-te-sticky-init]\",\r\n },\r\n\r\n // advancedInits\r\n chart: {\r\n name: \"Chart\",\r\n selector: \"[data-te-chart]\",\r\n isToggler: false,\r\n advanced: chartsCallback,\r\n },\r\n\r\n // togglers\r\n button: {\r\n name: \"Button\",\r\n selector: \"[data-te-toggle='button']\",\r\n isToggler: true,\r\n callback: buttonCallback,\r\n },\r\n collapse: {\r\n name: \"Collapse\",\r\n selector: \"[data-te-collapse-init]\",\r\n isToggler: true,\r\n callback: collapseCallback,\r\n },\r\n dropdown: {\r\n name: \"Dropdown\",\r\n selector: \"[data-te-dropdown-toggle-ref]\",\r\n isToggler: true,\r\n callback: dropdownCallback,\r\n },\r\n modal: {\r\n name: \"Modal\",\r\n selector: \"[data-te-toggle='modal']\",\r\n isToggler: true,\r\n callback: modalCallback,\r\n },\r\n ripple: {\r\n name: \"Ripple\",\r\n selector: \"[data-te-ripple-init]\",\r\n isToggler: true,\r\n callback: rippleCallback,\r\n },\r\n offcanvas: {\r\n name: \"Offcanvas\",\r\n selector: \"[data-te-offcanvas-toggle]\",\r\n isToggler: true,\r\n callback: offcanvasCallback,\r\n },\r\n tab: {\r\n name: \"Tab\",\r\n selector:\r\n \"[data-te-toggle='tab'], [data-te-toggle='pill'], [data-te-toggle='list']\",\r\n isToggler: true,\r\n callback: tabCallback,\r\n },\r\n tooltip: {\r\n name: \"Tooltip\",\r\n selector: \"[data-te-toggle='tooltip']\",\r\n isToggler: false,\r\n callback: tooltipsCallback,\r\n },\r\n popover: {\r\n name: \"Popover\",\r\n selector: \"[data-te-toggle='popover']\",\r\n isToggler: true,\r\n callback: popoverCallback,\r\n },\r\n lightbox: {\r\n name: \"Lightbox\",\r\n selector: \"[data-te-lightbox-init]\",\r\n isToggler: true,\r\n callback: lightboxCallback,\r\n },\r\n touch: {\r\n name: \"Touch\",\r\n selector: \"[data-te-touch-init]\",\r\n },\r\n};\r\n\r\nconst getComponentData = (component) => {\r\n return defaultInitSelectors[component.NAME] || null;\r\n};\r\n\r\nconst initComponent = (component, options) => {\r\n if (\r\n !component ||\r\n (!options.allowReinits && register.isInited(component.NAME))\r\n ) {\r\n return;\r\n }\r\n\r\n register.add(component.NAME);\r\n\r\n const thisComponent = getComponentData(component);\r\n const isToggler = thisComponent?.isToggler || false;\r\n\r\n jqueryInit(component);\r\n\r\n if (thisComponent?.advanced) {\r\n thisComponent?.advanced(component, thisComponent?.selector);\r\n return;\r\n }\r\n\r\n if (isToggler) {\r\n thisComponent?.callback(component, thisComponent?.selector);\r\n\r\n return;\r\n }\r\n\r\n SelectorEngine.find(thisComponent?.selector).forEach((element) => {\r\n let instance = component.getInstance(element);\r\n if (!instance) {\r\n instance = new component(element);\r\n if (thisComponent?.onInit) {\r\n instance[thisComponent.onInit]();\r\n }\r\n }\r\n });\r\n};\r\n\r\nconst init = (components, options) => {\r\n components.forEach((component) => initComponent(component, options));\r\n};\r\n\r\nconst defaultOptions = {\r\n allowReinits: false,\r\n checkOtherImports: false,\r\n};\r\n\r\nconst initTE = (components, options = {}) => {\r\n options = { ...defaultOptions, ...options };\r\n\r\n const componentList = Object.keys(defaultInitSelectors).map((element) => {\r\n const requireAutoinit = Boolean(\r\n document.querySelector(defaultInitSelectors[element].selector)\r\n );\r\n if (requireAutoinit) {\r\n const component = components[defaultInitSelectors[element].name];\r\n if (\r\n !component &&\r\n !register.isInited(element) &&\r\n options.checkOtherImports\r\n ) {\r\n console.warn(\r\n `Please import ${defaultInitSelectors[element].name} from \"tw-elements\" package and add it to a object parameter inside \"initTE\" function`\r\n );\r\n }\r\n return component;\r\n }\r\n });\r\n\r\n init(componentList, options);\r\n};\r\n\r\nexport default initTE;\r\n", "// Initialization for ES Users\nimport {\n Validation,\n Select,\n initTE,\n} from \"tw-elements\";\n\ninitTE({ Validation, Select });", "import { initialize } from \"./initialize\";\n\ndocument.addEventListener(\"updateTSCode\", (e: any) => {\n console.log('updateTSCode', e);\n const js = e.detail;\n initialize({\n lang: js.lang,\n level: parseInt(js.level),\n keyword_language: js.lang,\n javascriptPageOptions: js\n });\n})\n", "import { postJson } from \"./comm\";\nimport {get_active_and_trimmed_code} from \"./app\";\n\nexport async function saveMicrobit(level:number){\n\n const response = await postJson(\"/generate_microbit_files\",{\n level,\n code: get_active_and_trimmed_code()\n });\n if (response.filename) {\n window.location.replace(\"/download_microbit_files/\");\n }\n }\n\n", "import { ClientMessages } from \"./client-messages\";\n\nexport class HedySelect extends HTMLElement {\n constructor() {\n super();\n }\n connectedCallback() {\n const template = document.getElementById('hedy_select') as HTMLTemplateElement;\n const clone = template.content.cloneNode(true) as HTMLElement;\n this.appendChild(clone);\n const options = this.querySelectorAll('option');\n const label = this.dataset['label'] || '';\n const dropdownMenu = this.querySelector('.dropdown-menu')!;\n if (this.dataset['type'] === 'multiple') {\n const newDiv = document.createElement('div');\n newDiv.classList.add('option');\n newDiv.innerHTML = ClientMessages['select_all'];\n newDiv.dataset['value'] = 'select_all';\n dropdownMenu.appendChild(newDiv)\n newDiv.addEventListener('click', this.onOptionClick)\n }\n for (const option of options) {\n option.hidden = true;\n const newDiv = document.createElement('div');\n newDiv.classList.add('option');\n newDiv.innerHTML = option.innerText;\n newDiv.dataset['value'] = option.value;\n newDiv.classList.toggle('selected', option.selected);\n dropdownMenu.appendChild(newDiv)\n newDiv.addEventListener('click', this.onOptionClick)\n for(const attribute of option.attributes) {\n if(attribute.name.includes('hx-')) {\n newDiv.setAttribute(attribute.name, attribute.value);\n } else if(attribute.name == \"data-cy\") {\n newDiv.setAttribute(attribute.name, attribute.value);\n option.removeAttribute(attribute.name);\n }\n }\n }\n const span = this.getElementsByTagName('span')\n if (span.length !== 1) {\n throw new Error('HedySelect should only have one span element!');\n }\n span[0].dataset['value'] = label;\n span[0].textContent = label;\n updateLabelText(this.querySelector('.dropdown')!)\n }\n\n onOptionClick(this: HTMLDivElement, _event: MouseEvent) {\n const select = this.closest(\"custom-select\") as Element;\n if (!select) {\n return;\n }\n const isSingleSelect = select?.getAttribute('data-type') === 'single';\n\n if (isSingleSelect && !this.classList.contains('selected')) {\n // Deselect other options within the same dropdown\n const otherOptions = select.querySelectorAll('.option.selected');\n otherOptions.forEach(otherOption => otherOption.classList.remove('selected'));\n }\n\n if (!isSingleSelect && this.getAttribute(\"data-value\") === \"select_all\") {\n const selected = !this.classList.contains(\"selected\")\n const otherOptions = select.querySelectorAll('.option');\n otherOptions.forEach(otherOption => {\n if (otherOption.getAttribute('data-value') === 'select_all') return\n otherOption.classList.toggle('selected', selected)\n });\n } else {\n select.querySelector('.option[data-value=\"select_all\"]')?.classList.remove('selected')\n }\n this.classList.toggle('selected');\n select.dispatchEvent(new Event('change', { bubbles: true }))\n updateLabelText(select);\n return;\n }\n\n get selected() {\n let selected: string[] = []\n this.querySelectorAll('.option.selected').forEach((el) => {\n if (el.getAttribute(\"data-value\") !== 'select_all') {\n selected.push(el.getAttribute(\"data-value\") as string)\n }\n })\n return selected;\n }\n}\n\nfunction getSelectedOptions(_options: NodeListOf) {\n return Array.from(_options)\n .filter(option => option.classList.contains('selected') && option.dataset['value'] !== 'select_all')\n .map(option => option.textContent?.trim());\n}\n\nfunction updateLabelText(dropdown: Element) {\n const toggleButton = dropdown.querySelector('.toggle-button') as Element;\n const relativeOptions = dropdown.querySelectorAll(\".option\") as NodeListOf;\n const label = toggleButton.querySelector(\".label\") as Element;\n const selectedOptions = getSelectedOptions(relativeOptions);\n let text: string;\n if (selectedOptions.length === 0) {\n text = label.getAttribute(\"data-value\")!\n } else if (selectedOptions.length < 6) {\n text = selectedOptions.join(', ')\n } else {\n text = `${selectedOptions.length} ${ClientMessages['selected']}`\n }\n label.textContent = text;\n}\n\nexport function toggleDropdown(event: Event) {\n let element = event.target as HTMLElement;\n if (element.tagName === 'SPAN') {\n element = element.parentElement!\n }\n const dropdown = element.parentElement?.querySelector('.dropdown-menu');\n if (dropdown === undefined || dropdown === null) {\n throw new Error('Unexpected error!');\n }\n $(dropdown).slideToggle('fast');\n}\n\ndocument.addEventListener(\"click\", (e) => {\n let dropdowns = [...document.getElementsByClassName('dropdown-menu')]\n let target = e.target as HTMLElement;\n const dropdown = target.closest('.dropdown-menu') || target.closest('.dropdown');\n if (!dropdown) {\n dropdowns.forEach((dropdown) => {\n if ($(dropdown).is(\":hidden\")) return;\n $(dropdown).slideToggle(\"fast\");\n })\n }\n});\n\ncustomElements.define('custom-select', HedySelect)"], - "mappings": "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AAK;;AAGtB,kBAAI,OAAO,KAAK,UAAU,YAAY;AACpC,uBAAO,QAAQ,KAAK;;;AAIxB,qBAAS,eAAe;;AAG1B,iCAAuB,SAAS;AAC9B,oBAAQ,KAAK,sBAAsB;AACnC,mBAAO;;AAGT,iBAAO;;ACrIF,YAAM,SAAO,OAAO,CACzB,KACA,QACA,WACA,WACA,QACA,WACA,SACA,SACA,KACA,OACA,OACA,OACA,SACA,cACA,QACA,MACA,UACA,UACA,WACA,UACA,QACA,QACA,OACA,YACA,WACA,QACA,YACA,MACA,aACA,OACA,WACA,OACA,UACA,OACA,OACA,MACA,MACA,WACA,MACA,YACA,cACA,UACA,QACA,UACA,QACA,MACA,MACA,MACA,MACA,MACA,MACA,QACA,UACA,UACA,MACA,QACA,KACA,OACA,SACA,OACA,OACA,SACA,UACA,MACA,QACA,OACA,QACA,WACA,QACA,YACA,SACA,OACA,QACA,MACA,YACA,UACA,UACA,KACA,WACA,OACA,YACA,KACA,MACA,MACA,QACA,KACA,QACA,WACA,UACA,UACA,SACA,UACA,UACA,QACA,UACA,UACA,SACA,OACA,WACA,OACA,SACA,SACA,MACA,YACA,YACA,SACA,MACA,SACA,QACA,MACA,SACA,MACA,KACA,MACA,OACA,SACA;AAIK,YAAM,QAAM,OAAO,CACxB,OACA,KACA,YACA,eACA,gBACA,gBACA,iBACA,oBACA,UACA,YACA,QACA,QACA,WACA,UACA,QACA,KACA,SACA,YACA,SACA,SACA,QACA,kBACA,UACA,QACA,YACA,SACA,QACA,WACA,WACA,YACA,kBACA,QACA,QACA,SACA,UACA,UACA,QACA,YACA,SACA,QACA,SACA,QACA;AAGK,YAAM,aAAa,OAAO,CAC/B,WACA,iBACA,uBACA,eACA,oBACA,qBACA,qBACA,kBACA,WACA,WACA,WACA,WACA,WACA,kBACA,WACA,WACA,eACA,gBACA,YACA,gBACA,sBACA,eACA,UACA;AAOK,YAAM,gBAAgB,OAAO,CAClC,WACA,iBACA,UACA,WACA,gBACA,aACA,oBACA,kBACA,iBACA,iBACA,iBACA,SACA,aACA,QACA,gBACA,aACA,WACA,iBACA,UACA,OACA,cACA,WACA;AAGK,YAAM,WAAS,OAAO,CAC3B,QACA,YACA,UACA,WACA,SACA,UACA,MACA,cACA,iBACA,MACA,MACA,SACA,WACA,YACA,SACA,QACA,MACA,UACA,SACA,UACA,QACA,QACA,WACA,UACA,OACA,SACA,OACA,UACA;AAKK,YAAM,mBAAmB,OAAO,CACrC,WACA,eACA,cACA,YACA,aACA,WACA,WACA,UACA,UACA,SACA,aACA,cACA,kBACA,eACA;AAGK,YAAM,OAAO,OAAO,CAAC;ACpRrB,YAAM,OAAO,OAAO,CACzB,UACA,UACA,SACA,OACA,kBACA,gBACA,wBACA,YACA,cACA,WACA,UACA,WACA,eACA,eACA,WACA,QACA,SACA,SACA,SACA,QACA,WACA,YACA,gBACA,UACA,eACA,YACA,YACA,WACA,OACA,YACA,2BACA,yBACA,YACA,aACA,WACA,gBACA,QACA,OACA,WACA,UACA,UACA,QACA,QACA,YACA,MACA,aACA,aACA,SACA,QACA,SACA,QACA,QACA,WACA,QACA,OACA,OACA,aACA,SACA,UACA,OACA,aACA,YACA,SACA,QACA,SACA,WACA,cACA,UACA,QACA,WACA,WACA,eACA,eACA,UACA,WACA,WACA,cACA,YACA,OACA,YACA,OACA,YACA,QACA,QACA,WACA,cACA,SACA,YACA,SACA,QACA,SACA,QACA,WACA,SACA,OACA,UACA,QACA,SACA,WACA,YACA,SACA,aACA,QACA,UACA,UACA,SACA,SACA,SACA;AAGK,YAAM,MAAM,OAAO,CACxB,iBACA,cACA,YACA,sBACA,UACA,iBACA,iBACA,WACA,iBACA,kBACA,SACA,QACA,MACA,SACA,QACA,iBACA,aACA,aACA,SACA,uBACA,+BACA,iBACA,mBACA,MACA,MACA,KACA,MACA,MACA,mBACA,aACA,WACA,WACA,OACA,YACA,aACA,OACA,QACA,gBACA,aACA,UACA,eACA,eACA,iBACA,eACA,aACA,oBACA,gBACA,cACA,gBACA,eACA,MACA,MACA,MACA,MACA,cACA,YACA,iBACA,qBACA,UACA,QACA,MACA,mBACA,MACA,OACA,KACA,MACA,MACA,MACA,MACA,WACA,aACA,cACA,YACA,QACA,gBACA,kBACA,gBACA,oBACA,kBACA,SACA,cACA,cACA,gBACA,gBACA,eACA,eACA,oBACA,aACA,OACA,QACA,SACA,UACA,QACA,OACA,QACA,cACA,UACA,YACA,WACA,SACA,UACA,eACA,UACA,YACA,eACA,QACA,cACA,uBACA,oBACA,gBACA,UACA,iBACA,uBACA,kBACA,KACA,MACA,MACA,UACA,QACA,QACA,eACA,aACA,WACA,UACA,UACA,SACA,QACA,mBACA,oBACA,oBACA,gBACA,eACA,gBACA,eACA,cACA,gBACA,oBACA,qBACA,kBACA,mBACA,qBACA,kBACA,UACA,gBACA,SACA,gBACA,kBACA,YACA,WACA,WACA,aACA,oBACA,eACA,mBACA,kBACA,cACA,QACA,MACA,MACA,WACA,UACA,WACA,cACA,WACA,cACA,iBACA,iBACA,SACA,gBACA,QACA,gBACA,oBACA,oBACA,KACA,MACA,MACA,SACA,KACA,MACA,MACA,KACA;AAGK,YAAM,SAAS,OAAO,CAC3B,UACA,eACA,SACA,YACA,SACA,gBACA,eACA,cACA,cACA,SACA,OACA,WACA,gBACA,YACA,SACA,SACA,UACA,QACA,MACA,WACA,UACA,iBACA,UACA,UACA,kBACA,aACA,YACA,eACA,WACA,WACA,iBACA,YACA,YACA,QACA,YACA,YACA,cACA,WACA,UACA,UACA,eACA,iBACA,wBACA,aACA,aACA,cACA,YACA,kBACA,kBACA,aACA,WACA,SACA;AAGK,YAAM,MAAM,OAAO,CACxB,cACA,UACA,eACA,aACA;ACrWK,YAAM,gBAAgB,KAAK;AAC3B,YAAM,WAAW,KAAK;AACtB,YAAM,cAAc,KAAK;AACzB,YAAM,YAAY,KAAK;AACvB,YAAM,YAAY,KAAK;AACv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AAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAi2G;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACyId,MAAM,iBAAmD;AAAA,IACrD,GAAG;AAAA,MACC,QAAQ;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS;AAAA;AAAA,MAEb,YAAY;AAAA;AAAA,IAEhB,GAAG;AAAA,MACC,QAAQ;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA;AAAA,MAEV,YAAY;AAAA,QACR,OAAO;AAAA;AAAA;AAAA,IAGf,GAAG;AAAA,MACC,QAAQ;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,WAAW;AAAA;AAAA,MAEf,YAAY;AAAA,QACR,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU;AAAA;AAAA;AAAA,IAGlB,GAAG;AAAA,MACC,QAAQ;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,SAAS;AAAA;AAAA,MAEb,YAAY;AAAA,QACR,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU;AAAA;AAAA;AAAA,IAGlB,GAAG;AAAA,MACC,QAAQ;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACV,MAAM;AAAA;AAAA,MAEV,YAAY;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,QACX,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA;AAAA;AAAA,IAGhB,GAAG;AAAA,MACC,QAAQ;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACV,MAAM;AAAA;AAAA,MAEV,YAAY;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,QACX,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA;AAAA;AAAA,IAGhB,GAAG;AAAA,MACC,QAAQ;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACV,MAAM;AAAA,QACN,UAAU;AAAA,QACV,SAAS;AAAA;AAAA,MAEb,YAAY;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,QACX,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA;AAAA;AAAA,IAGhB,GAAG;AAAA,MACC,QAAQ;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACV,MAAM;AAAA,QACN,UAAU;AAAA,QACV,SAAS;AAAA;AAAA,MAEb,YAAY;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,QACX,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA;AAAA;AAAA,IAIhB,GAAG;AAAA,MACC,QAAQ;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACV,MAAM;AAAA,QACN,UAAU;AAAA,QACV,SAAS;AAAA;AAAA,MAEb,YAAY;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,QACX,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA;AAAA;AAAA,IAGhB,IAAI;AAAA,MACA,QAAQ;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACV,MAAM;AAAA,QACN,UAAU;AAAA,QACV,SAAS;AAAA,QACT,OAAO;AAAA;AAAA,MAEX,YAAY;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,QACX,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA;AAAA;AAAA,IAGhB,IAAI;AAAA,MACA,QAAQ;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACV,MAAM;AAAA,QACN,UAAU;AAAA,QACV,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,SAAS;AAAA;AAAA,MAEb,YAAY;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,QACX,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA;AAAA;AAAA,IAGhB,IAAI;AAAA,MACA,QAAQ;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACV,MAAM;AAAA,QACN,UAAU;AAAA,QACV,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,SAAS;AAAA,QACT,UAAU;AAAA,QACV,UAAU;AAAA;AAAA,MAEd,YAAY;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,QACX,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA;AAAA;AAAA,IAGhB,IAAI;AAAA,MACA,QAAQ;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACV,MAAM;AAAA,QACN,UAAU;AAAA,QACV,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,SAAS;AAAA,QACT,UAAU;AAAA,QACV,UAAU;AAAA;AAAA,MAEd,YAAY;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,QACX,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA;AAAA;AAAA,IAGhB,IAAI;AAAA,MACA,QAAQ;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACV,UAAU;AAAA,QACV,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,SAAS;AAAA,QACT,UAAU;AAAA,QACV,UAAU;AAAA;AAAA,MAEd,YAAY;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,QACX,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA;AAAA;AAAA,IAGhB,IAAI;AAAA,MACA,QAAQ;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACV,UAAU;AAAA,QACV,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,SAAS;AAAA,QACT,UAAU;AAAA,QACV,UAAU;AAAA;AAAA,MAEd,YAAY;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,QACX,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA;AAAA;AAAA,IAGjB,IAAI;AAAA,MACA,QAAQ;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACV,UAAU;AAAA,QACV,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,SAAS;AAAA,QACT,UAAU;AAAA,QACV,UAAU;AAAA;AAAA,MAEd,YAAY;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,QACX,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA;AAAA;AAAA,IAGjB,IAAI;AAAA,MACA,QAAQ;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACV,UAAU;AAAA,QACV,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,SAAS;AAAA,QACT,UAAU;AAAA,QACV,UAAU;AAAA;AAAA,MAEd,YAAY;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,QACX,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA;AAAA;AAAA,IAGjB,IAAK;AAAA,MACD,YAAY;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,QACT,SAAS;AAAA,QACT,OAAO;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,QACN,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,UAAU;AAAA,QACV,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,QACX,UAAU;AAAA,QACV,MAAM;AAAA,QACN,UAAU;AAAA,QACV,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,QACT,UAAU;AAAA,QACV,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA;AAAA,MAEb,QAAQ;AAAA;AAAA;AAST,yBAAuB,WAAuC;AAEjE,UAAM,aAAqD;AAE3D,QAAI,CAAC,WAAW,YAAW;AACvB,kBAAW;AAAA;AAGf,WAAO,IAAI,IAAI,OAAO,QAAQ,WAAW;AAAA;AAI7C,MAAM,sBAAsB,IAAI;AAShC,yBAAuB,QAAe,aAAqB,SAA4C;AAnuBvG;AAouBI,UAAM,WAAW,GAAG,UAAS,eAAe;AAC5C,QAAI,oBAAoB,IAAI,WAAW;AACnC,aAAO,oBAAoB,IAAI;AAAA;AAGnC,UAAM,OAAO,IAAI;AAEjB,eAAW,CAAC,UAAS,UAAU,cAAc,cAAc;AAEvD,YAAM,cAAe,MAAM,QAAQ,MAAM;AACzC,YAAM,QAAQ,IAAI,OAAO,KAAK,iBAAiB;AAC/C,YAAM,QAAQ,4BAAe,YAAf,oBAAwB,aAAxB,mBAAmC;AACjD,UAAI,UAAU,QAAW;AACrB,aAAK,KAAK,EAAE,OAAO;AAAA;AAAA;AAI3B,wBAAoB,IAAI,UAAU;AAClC,WAAO;AAAA;AAWJ,gCAA8B,QAAe,aAAqB;AACrE,WAAO,CAAC,OAAc,UAAiB;AACnC,iBAAW,UAAU,cAAc,QAAO,aAAa,eAAe;AAClE,YAAI,OAAO,MAAM,KAAK,UAAS,MAAM,SAAS,OAAO,QAAQ;AACzD,iBAAO,OAAO;AAAA;AAAA;AAGtB,aAAO;AAAA;AAAA;AAIR,4BAA0B,QAAe,aAAqB;AACjE,WAAO,CAAC,OAAc,UAAiB;AACnC,iBAAW,UAAU,cAAc,QAAO,aAAa,WAAW;AAC9D,YAAI,OAAO,MAAM,KAAK,UAAS,MAAM,SAAS,OAAO,QAAQ;AACzD,iBAAO,OAAO;AAAA;AAAA;AAGtB,aAAO;AAAA;AAAA;;;AC/wBR,0BAAwB,QAAe,WAA4B;AACxE;AACA,UAAM,gBAAgB,iBAAiB,QAAO;AAC9C,WAAO,SAAS,YAAY;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,QACT,CAAC,SAAS,IAAG;AAAA;AAAA,MAEf,cAAc,CAAC,GAAE;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,EAAC,WAAU,CAAC,GAAE;AAAA,MACxB,oBAAoB,EAAC,MAAK;AAAA,MAC1B,aAAa,CAAC,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,cAAc,OAAO,UAAU,IAAK,GAAG,UAAU,eAAe,QAAQ;AAAA,MACnI,WAAW;AAAA;AAAA;;;ACpBN,2BAAwB,QAAe,WAA4B;AACxE,UAAM,oBAAoB,qBAAqB,QAAO;AACtD,UAAM,gBAAgB,iBAAiB,QAAO;AAC9C,WAAO,SAAS,YAAY;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,QACT,CAAC,SAAS,IAAG;AAAA;AAAA,MAEf,cAAc,CAAC,GAAE,GAAE;AAAA,MACnB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,EAAC,WAAU,CAAC,GAAE;AAAA,MACxB,oBAAoB,EAAC,MAAK;AAAA,MAC1B,aAAa,CAAC,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,kBAAkB,OAAO,UAAU,GAAI,UAAU,qBAAmB,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,cAAc,OAAO,UAAU,IAAK,GAAG,UAAU,eAAe,QAAQ;AAAA,MACpP,WAAW;AAAA;AAAA;;;ACpBN,2BAAwB,QAAe,WAA4B;AACxE,UAAM,oBAAoB,qBAAqB,QAAO;AACtD,UAAM,gBAAgB,iBAAiB,QAAO;AAC9C,WAAO,SAAS,YAAY;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,QACT,CAAC,SAAS,IAAG;AAAA;AAAA,MAEf,cAAc,CAAC,GAAE;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,EAAC,WAAU,CAAC,GAAE;AAAA,MACxB,oBAAoB,EAAC,MAAK;AAAA,MAC1B,aAAa,CAAC,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,kBAAkB,OAAO,UAAU,GAAI,UAAU,qBAAmB,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,cAAc,OAAO,UAAU,IAAK,GAAG,UAAU,eAAe,QAAQ;AAAA,MACpP,WAAW;AAAA;AAAA;;;ACpBN,2BAAwB,QAAe,WAA4B;AACxE,UAAM,oBAAoB,qBAAqB,QAAO;AACtD,UAAM,gBAAgB,iBAAiB,QAAO;AAC9C,WAAO,SAAS,YAAY;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,QACT,CAAC,SAAS,IAAG;AAAA;AAAA,MAEf,cAAc,CAAC,GAAE;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,EAAC,WAAU,CAAC,GAAE;AAAA,MACxB,oBAAoB,EAAC,MAAK;AAAA,MAC1B,aAAa,CAAC,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,kBAAkB,OAAO,UAAU,GAAI,UAAU,qBAAmB,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,cAAc,OAAO,UAAU,IAAK,GAAG,UAAU,eAAe,QAAQ;AAAA,MACpP,WAAW;AAAA;AAAA;;;ACpBN,2BAAwB,QAAe,WAA4B;AACxE,UAAM,oBAAoB,qBAAqB,QAAO;AACtD,UAAM,gBAAgB,iBAAiB,QAAO;AAC9C,WAAO,SAAS,YAAY;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,QACT,CAAC,SAAS,IAAG;AAAA;AAAA,MAEf,cAAc,CAAC,GAAE;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,EAAC,WAAU,CAAC,GAAE;AAAA,MACxB,oBAAoB,EAAC,MAAK;AAAA,MAC1B,aAAa,CAAC,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,kBAAkB,OAAO,UAAU,GAAI,UAAU,qBAAmB,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,cAAc,OAAO,UAAU,IAAK,GAAG,UAAU,eAAe,QAAQ;AAAA,MACpP,WAAW;AAAA;AAAA;;;ACpBN,2BAAwB,QAAe,WAA4B;AACxE,UAAM,oBAAoB,qBAAqB,QAAO;AACtD,UAAM,gBAAgB,iBAAiB,QAAO;AAC9C,WAAO,SAAS,YAAY;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,QACT,CAAC,SAAS,IAAG;AAAA;AAAA,MAEf,cAAc,CAAC,GAAE;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,EAAC,WAAU,CAAC,GAAE;AAAA,MACxB,oBAAoB,EAAC,MAAK;AAAA,MAC1B,aAAa,CAAC,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,kBAAkB,OAAO,UAAU,GAAI,UAAU,qBAAmB,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,cAAc,OAAO,UAAU,IAAK,GAAG,UAAU,eAAe,QAAQ;AAAA,MACpP,WAAW;AAAA;AAAA;;;ACpBN,2BAAwB,QAAe,WAA4B;AACxE,UAAM,oBAAoB,qBAAqB,QAAO;AACtD,UAAM,gBAAgB,iBAAiB,QAAO;AAC9C,WAAO,SAAS,YAAY;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,QACT,CAAC,SAAS,IAAG;AAAA;AAAA,MAEf,cAAc,CAAC,GAAE;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,EAAC,WAAU,CAAC,GAAE;AAAA,MACxB,oBAAoB,EAAC,MAAK;AAAA,MAC1B,aAAa,CAAC,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,kBAAkB,OAAO,UAAU,GAAI,UAAU,qBAAmB,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,cAAc,OAAO,UAAU,IAAK,GAAG,UAAU,eAAe,QAAQ;AAAA,MACpP,WAAW;AAAA;AAAA;;;ACpBN,2BAAwB,QAAe,WAA4B;AACxE,UAAM,oBAAoB,qBAAqB,QAAO;AACtD,UAAM,gBAAgB,iBAAiB,QAAO;AAC9C,WAAO,SAAS,YAAY;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,QACT,CAAC,SAAS,IAAG;AAAA;AAAA,MAEf,cAAc,CAAC,GAAE;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,EAAC,WAAU,CAAC,GAAE;AAAA,MACxB,oBAAoB,EAAC,MAAK;AAAA,MAC1B,aAAa,CAAC,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,kBAAkB,OAAO,UAAU,GAAI,UAAU,qBAAmB,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,cAAc,OAAO,UAAU,IAAK,GAAG,UAAU,eAAe,QAAQ;AAAA,MACpP,WAAW;AAAA;AAAA;;;ACpBN,2BAAwB,QAAe,WAA4B;AACxE,UAAM,oBAAoB,qBAAqB,QAAO;AACtD,UAAM,gBAAgB,iBAAiB,QAAO;AAC9C,WAAO,SAAS,YAAY;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,QACT,CAAC,SAAS,IAAG;AAAA;AAAA,MAEf,cAAc,CAAC,GAAE;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,EAAC,WAAU,CAAC,GAAE;AAAA,MACxB,oBAAoB,EAAC,MAAK;AAAA,MAC1B,aAAa,CAAC,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,kBAAkB,OAAO,UAAU,GAAI,UAAU,qBAAmB,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,cAAc,OAAO,UAAU,IAAK,GAAG,UAAU,eAAe,QAAQ;AAAA,MACpP,WAAW;AAAA;AAAA;;;ACpBN,4BAAwB,QAAe,WAA4B;AACxE,UAAM,oBAAoB,qBAAqB,QAAO;AACtD,UAAM,gBAAgB,iBAAiB,QAAO;AAC9C,WAAO,SAAS,YAAY;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,QACT,CAAC,SAAS,IAAG;AAAA;AAAA,MAEf,cAAc,CAAC,GAAE;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,EAAC,WAAU,CAAC,GAAE;AAAA,MACxB,oBAAoB,EAAC,MAAK;AAAA,MAC1B,aAAa,CAAC,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,kBAAkB,OAAO,UAAU,GAAI,UAAU,qBAAmB,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,cAAc,OAAO,UAAU,IAAK,GAAG,UAAU,eAAe,QAAQ;AAAA,MACpP,WAAW;AAAA;AAAA;;;ACpBN,4BAAwB,QAAe,WAA4B;AACxE,UAAM,oBAAoB,qBAAqB,QAAO;AACtD,UAAM,gBAAgB,iBAAiB,QAAO;AAC9C,WAAO,SAAS,YAAY;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,QACT,CAAC,SAAS,IAAG;AAAA;AAAA,MAEf,cAAc,CAAC,GAAE;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,EAAC,WAAU,CAAC,GAAE;AAAA,MACxB,oBAAoB,EAAC,MAAK;AAAA,MAC1B,aAAa,CAAC,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,kBAAkB,OAAO,UAAU,GAAI,UAAU,qBAAmB,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,cAAc,OAAO,UAAU,IAAK,GAAG,UAAU,eAAe,QAAQ;AAAA,MACpP,WAAW;AAAA;AAAA;;;ACpBN,4BAAwB,QAAe,WAA4B;AACxE,UAAM,oBAAoB,qBAAqB,QAAO;AACtD,UAAM,gBAAgB,iBAAiB,QAAO;AAC9C,WAAO,SAAS,YAAY;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,QACT,CAAC,SAAS,IAAG;AAAA;AAAA,MAEf,cAAc,CAAC,GAAE;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,EAAC,WAAU,CAAC,GAAE;AAAA,MACxB,oBAAoB,EAAC,MAAK;AAAA,MAC1B,aAAa,CAAC,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,kBAAkB,OAAO,UAAU,GAAI,UAAU,qBAAmB,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,cAAc,OAAO,UAAU,IAAK,GAAG,UAAU,eAAe,QAAQ;AAAA,MACpP,WAAW;AAAA;AAAA;;;ACpBN,4BAAwB,QAAe,WAA4B;AACxE,UAAM,oBAAoB,qBAAqB,QAAO;AACtD,UAAM,gBAAgB,iBAAiB,QAAO;AAC9C,WAAO,SAAS,YAAY;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,QACT,CAAC,SAAS,IAAG;AAAA;AAAA,MAEf,cAAc,CAAC,GAAE;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,EAAC,WAAU,CAAC,GAAE;AAAA,MACxB,oBAAoB,EAAC,MAAK;AAAA,MAC1B,aAAa,CAAC,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,kBAAkB,OAAO,UAAU,GAAI,UAAU,qBAAmB,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,cAAc,OAAO,UAAU,IAAK,GAAG,UAAU,eAAe,QAAQ;AAAA,MACpP,WAAW;AAAA;AAAA;;;ACpBN,4BAAwB,QAAe,WAA4B;AACxE,UAAM,oBAAoB,qBAAqB,QAAO;AACtD,UAAM,gBAAgB,iBAAiB,QAAO;AAC9C,WAAO,SAAS,YAAY;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,QACT,CAAC,SAAS,IAAG;AAAA;AAAA,MAEf,cAAc,CAAC,GAAE;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,EAAC,WAAU,CAAC,GAAE;AAAA,MACxB,oBAAoB,EAAC,MAAK;AAAA,MAC1B,aAAa,CAAC,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,kBAAkB,OAAO,UAAU,GAAI,UAAU,qBAAmB,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,cAAc,OAAO,UAAU,IAAK,GAAG,UAAU,eAAe,QAAQ;AAAA,MACpP,WAAW;AAAA;AAAA;;;ACpBN,4BAAwB,QAAe,WAA4B;AACxE,UAAM,oBAAoB,qBAAqB,QAAO;AACtD,UAAM,gBAAgB,iBAAiB,QAAO;AAC9C,WAAO,SAAS,YAAY;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,QACT,CAAC,SAAS,IAAG;AAAA;AAAA,MAEf,cAAc,CAAC,GAAE;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,EAAC,WAAU,CAAC,GAAE;AAAA,MACxB,oBAAoB,EAAC,MAAK,KAAI,OAAM;AAAA,MACpC,aAAa,CAAC,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,kBAAkB,OAAO,UAAU,GAAI,UAAU,qBAAmB,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,cAAc,OAAO,UAAU,IAAK,GAAG,UAAU,eAAe,QAAQ;AAAA,MACpP,WAAW;AAAA;AAAA;;;ACpBN,4BAAwB,QAAe,WAA4B;AACxE,UAAM,oBAAoB,qBAAqB,QAAO;AACtD,UAAM,gBAAgB,iBAAiB,QAAO;AAC9C,WAAO,SAAS,YAAY;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,QACT,CAAC,SAAS,IAAG;AAAA;AAAA,MAEf,cAAc,CAAC,GAAE;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,EAAC,WAAU,CAAC,GAAE;AAAA,MACxB,oBAAoB,EAAC,MAAK;AAAA,MAC1B,aAAa,CAAC,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,kBAAkB,OAAO,UAAU,GAAI,UAAU,qBAAmB,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,cAAc,OAAO,UAAU,IAAK,GAAG,UAAU,eAAe,QAAQ;AAAA,MACpP,WAAW;AAAA;AAAA;;;ACpBN,4BAAwB,QAAe,WAA4B;AACxE,UAAM,oBAAoB,qBAAqB,QAAO;AACtD,UAAM,gBAAgB,iBAAiB,QAAO;AAC9C,WAAO,SAAS,YAAY;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,QACT,CAAC,SAAS,IAAG;AAAA;AAAA,MAEf,cAAc,CAAC,GAAE;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,EAAC,WAAU,CAAC,GAAE;AAAA,MACxB,oBAAoB,EAAC,MAAK;AAAA,MAC1B,aAAa,CAAC,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,kBAAkB,OAAO,UAAU,GAAI,UAAU,qBAAmB,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,cAAc,OAAO,UAAU,IAAK,GAAG,UAAU,eAAe,QAAQ;AAAA,MACpP,WAAW;AAAA;AAAA;;;ACpBN,4BAAwB,QAAe,WAA4B;AACxE,UAAM,oBAAoB,qBAAqB,QAAO;AACtD;AACA,WAAO,SAAS,YAAY;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,QACT,CAAC,SAAS,IAAG;AAAA;AAAA,MAEf,cAAc,CAAC,GAAE;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,YAAY,CAAC;AAAA,MACb,UAAU,EAAC,WAAU,CAAC,GAAE;AAAA,MACxB,oBAAoB,EAAC,MAAK;AAAA,MAC1B,aAAa,CAAC,EAAC,MAAM,IAAI,KAAK,CAAC,OAAY,UAAgB,kBAAkB,OAAO,UAAU,GAAI,UAAU;AAAA,MAC5G,WAAW;AAAA;AAAA;;;ACGN,MAAI,mBAA+D;AAAA,IACrE,GAAG,CAAC,SAAS,eAAqB,GAAG;AAAA,IACrC,GAAG,CAAC,SAAS,gBAAqB,GAAG;AAAA,IACrC,GAAG,CAAC,SAAS,gBAAqB,GAAG;AAAA,IACrC,GAAG,CAAC,SAAS,gBAAqB,GAAG;AAAA,IACrC,GAAG,CAAC,SAAS,gBAAqB,GAAG;AAAA,IACrC,GAAG,CAAC,SAAS,gBAAqB,GAAG;AAAA,IACrC,GAAG,CAAC,SAAS,gBAAqB,GAAG;AAAA,IACrC,GAAG,CAAC,SAAS,gBAAqB,GAAG;AAAA,IACrC,GAAG,CAAC,SAAS,gBAAqB,GAAG;AAAA,IACtC,IAAI,CAAC,SAAS,iBAAsB,IAAI;AAAA,IACxC,IAAI,CAAC,SAAS,iBAAsB,IAAI;AAAA,IACxC,IAAI,CAAC,SAAS,iBAAsB,IAAI;AAAA,IACxC,IAAI,CAAC,SAAS,iBAAsB,IAAI;AAAA,IACxC,IAAI,CAAC,SAAS,iBAAsB,IAAI;AAAA,IACxC,IAAI,CAAC,SAAS,iBAAsB,IAAI;AAAA,IACxC,IAAI,CAAC,SAAS,iBAAsB,IAAI;AAAA,IACxC,IAAI,CAAC,SAAS,iBAAsB,IAAI;AAAA,IACxC,IAAI,CAAC,SAAS,iBAAsB,IAAI;AAAA;AAGrC,MAAM,WAAW;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;;;ACpFF,MAAM,aAAa;AAAnB,MACI,cAAc;AADlB,MAEI,UAAU;AAFd,MAGI,QAAQ;AAHZ,MAII,aAAa;AAJjB,MAKI,QAAQ;AALZ,MAOI,QAAQ;AAPZ,MAQI,SAAS;AARb,MASI,SAAS;AATb,MAUI,aAAa;AAVjB,MAWI,sBAAsB;AAX1B,MAYI,YAAY;AAZhB,MAaI,mBAAmB;AAbvB,MAcI,cAAc;AAdlB,MAgBI,UAAU;AAhBd,MAkBI,oBAAoB;AAlBxB,MAmBI,iBAAiB;AAsBd,MAAM,eAAe,WAAW,MAAM;AAAA,IAC3C,KAAK;AAAA,MACH,OAAO;AAAA,MACP,iBAAiB;AAAA;AAAA,IAGnB,eAAe;AAAA,MACb,YAAY;AAAA;AAAA,IAGd,8BAA8B,EAAC,iBAAiB;AAAA,IAChD,8HAA8H,EAAC,iBAAiB,WAAW,cAAc;AAAA,IAEzK,cAAc,EAAC,iBAAiB,gBAAgB,OAAO;AAAA,IACvD,4BAA4B,EAAC,cAAc;AAAA,IAC3C,+BAA+B,EAAC,WAAW;AAAA,IAE3C,mBAAmB;AAAA,MACjB,iBAAiB;AAAA,MACjB,SAAS;AAAA;AAAA,IAEX,2CAA2C;AAAA,MACzC,iBAAiB;AAAA;AAAA,IAGnB,kBAAkB,EAAC,iBAAiB;AAAA,IACpC,sBAAsB,EAAC,iBAAiB;AAAA,IAExC,yEAAyE;AAAA,MACvE,iBAAiB;AAAA;AAAA,IAGnB,eAAe;AAAA,MACb,iBAAiB;AAAA,MACjB,OAAO;AAAA,MACP,QAAQ;AAAA;AAAA,IAGV,wBAAwB;AAAA,MACtB,iBAAiB;AAAA,MACjB,OAAO;AAAA;AAAA,IAGT,uBAAuB;AAAA,MACrB,iBAAiB;AAAA,MACjB,QAAQ;AAAA,MACR,OAAO;AAAA;AAAA,IAGT,eAAe;AAAA,MACb,QAAQ;AAAA,MACR,iBAAiB;AAAA;AAAA,IAEnB,wCAAwC;AAAA,MACtC,gBAAgB;AAAA,MAChB,mBAAmB;AAAA;AAAA,IAErB,uCAAuC;AAAA,MACrC,gBAAgB;AAAA,MAChB,mBAAmB;AAAA;AAAA,IAErB,4BAA4B;AAAA,MAC1B,8BAA8B;AAAA,QAC5B,iBAAiB;AAAA,QACjB,OAAO;AAAA;AAAA;AAAA,KAGV,EAAC,MAAM;AAIH,MAAM,wBAAwB,eAAe,OAAO;AAAA,IACzD;AAAA,MAAC,KAAK,KAAE;AAAA,MACP,OAAO;AAAA;AAAA,IACR;AAAA,MAAC,KAAK,CAAC,KAAE,MAAM,KAAE,SAAS,KAAE,WAAW,KAAE,cAAc,KAAE;AAAA,MACxD,OAAO;AAAA;AAAA,IACR;AAAA,MAAC,KAAK,CAAC,KAAE,SAAS,KAAE,eAAe,KAAE;AAAA,MACpC,OAAO;AAAA;AAAA,IACR;AAAA,MAAC,KAAK,CAAC,KAAE,OAAO,KAAE,SAAS,KAAE,OAAO,KAAE,SAAS,KAAE;AAAA,MAChD,OAAO;AAAA;AAAA,IACR;AAAA,MAAC,KAAK,CAAC,KAAE,WAAW,KAAE,OAAO,KAAE;AAAA,MAC9B,OAAO;AAAA;AAAA,IACR;AAAA,MAAC,KAAK,CAAC,KAAE,UAAU,KAAE,WAAW,KAAE,QAAQ,KAAE,SAAS,KAAE,YAAY,KAAE,UAAU,KAAE,MAAM,KAAE;AAAA,MACxF,OAAO;AAAA;AAAA,IACR;AAAA,MAAC,KAAK,CAAC,KAAE,UAAU,KAAE,iBAAiB,KAAE,KAAK,KAAE,QAAQ,KAAE,QAAQ,KAAE,MAAM,KAAE,QAAQ,KAAE;AAAA,MACpF,OAAO;AAAA;AAAA,IACR;AAAA,MAAC,KAAK,CAAC,KAAE,MAAM,KAAE;AAAA,MAChB,OAAO;AAAA;AAAA,IACR;AAAA,MAAC,KAAK,KAAE;AAAA,MACP,YAAY;AAAA;AAAA,IACb;AAAA,MAAC,KAAK,KAAE;AAAA,MACP,WAAW;AAAA;AAAA,IACZ;AAAA,MAAC,KAAK,KAAE;AAAA,MACP,gBAAgB;AAAA;AAAA,IACjB;AAAA,MAAC,KAAK,KAAE;AAAA,MACP,OAAO;AAAA,MACP,gBAAgB;AAAA;AAAA,IACjB;AAAA,MAAC,KAAK,KAAE;AAAA,MACP,YAAY;AAAA,MACZ,OAAO;AAAA;AAAA,IACR;AAAA,MAAC,KAAK,CAAC,KAAE,MAAM,KAAE,MAAM,KAAE,QAAQ,KAAE;AAAA,MAClC,OAAO;AAAA;AAAA,IACR;AAAA,MAAC,KAAK,CAAC,KAAE,uBAAuB,KAAE,QAAQ,KAAE;AAAA,MAC3C,OAAO;AAAA;AAAA,IACR;AAAA,MAAC,KAAK,KAAE;AAAA,MACP,OAAO;AAAA;AAAA;AAKH,MAAM,UAAqB,CAAC,cAAc,mBAAmB;;;AC/HpE,MAAM,aAAa,IAAI,OAAO;AACvB,MAAM,QAAQ,MAAM;AAEpB,0CAA+D;AAAA,IASlE,2BAA2B,UAAiB,YAAwB,MAAc,OAA6B;AAC3G,UAAI,SAA+B,IAAI,qBAAqB,SAAQ,IAAI,IAAK,SAAQ,KAAK,aAAa,YAAY;AACnH,aAAO;AAAA;AAAA,IAQX,yBAAyB,SAAsB,MAAc,OAAmB;AAC5E,UAAI;AAEJ,UAAI,EAAE,SAAS,SAAS,oBAAoB;AACxC,qBAAa,WAAW;AAAA,iBACjB,EAAE,SAAS,SAAS,eAAe;AAC1C,qBAAa,WAAW;AAAA,iBACjB,EAAE,SAAS,SAAS,YAAY;AACvC,qBAAa,WAAW;AAAA,iBACjB,EAAE,SAAS,SAAS,aAAY;AACvC,qBAAa,WAAW;AAAA,aACrB;AACH,qBAAa,WAAW;AAAA;AAG5B,aAAO,IAAI,qBAAqB,SAAS,MAAM,YAAY;AAAA;AAAA;AAI5D,mCAAiD;AAAA,IAYpD,YAAY,SAAsB,YAAqB,YAAwB,MAAa,OAAO;AAV3F,sBAAW,IAAI;AACf,yBAAc,IAAI,aAA0B;AAAA,QAChD,QAAQ;AAAA,QACR,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,QAClB,OAAO;AAAA;AAGH,kCAA+C;AAhF3D;AAmFQ,UAAI;AACJ,UAAI,eAAe,WAAW,MAAM;AAEhC,cAAM,oBAAoB,WAAW,MAAM;AAAA,UACvC,KAAK;AAAA,YACD,YAAY;AAAA,YACZ,UAAU;AAAA,YACV,OAAO;AAAA,YACP,cAAc;AAAA,YACd,aAAa;AAAA;AAAA,UAGjB,gBAAgB;AAAA,YACZ,UAAU;AAAA;AAAA,UAGd,eAAe;AAAA,YACX,cAAc;AAAA;AAAA,UAElB,8BAA8B;AAAA,YAC1B,iBAAiB;AAAA,YACjB,iBAAiB;AAAA;AAAA,UAErB,YAAY;AAAA,YACR,OAAO;AAAA;AAAA;AAIf,gBAAQ,YAAY,OAAO;AAAA,UACvB,KAAK;AAAA,UACL,YAAY;AAAA,YACR;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YAEA;AAAA,YACA,mBAAmB,uBAAuB,EAAE,UAAU;AAAA,YACtD;AAAA,YACA;AAAA,YACA,OAAO,GAAG;AAAA,cACN,GAAG;AAAA,cACH,GAAG;AAAA,cACH,GAAG;AAAA,cACH;AAAA;AAAA,YAEJ,WAAW,GAAG;AAAA,YACd,cAAc,GAAG;AAAA,YACjB;AAAA,YACA,KAAK,SAAS,GAAG,YAAY,SAAS,GAAG;AAAA,YACzC;AAAA,YACA;AAAA,YACA;AAAA,YACA,KAAK,KAAK;AAAA,YACV;AAAA,YACA,WAAW,MAAM,GAAG,YAAY;AAAA,YAChC,KAAK,QAAQ;AAAA;AAAA;AAAA,aAGlB;AACH,YAAI,SAA6B;AAAA,UAC7B,8BAA8B,EAAE,QAAQ;AAAA,UAExC,YAAY;AAAA,YACR,OAAO;AAAA;AAAA;AAIf,YAAI,aAA0B;AAAA,UAC1B;AAAA,UACA;AAAA,UACA,mBAAmB,uBAAuB,EAAE,UAAU;AAAA,UACtD;AAAA,UACA,KAAK,SAAS,GAAG,YAAY,SAAS,GAAG;AAAA,UACzC;AAAA,UACA,WAAW,MAAM,GAAG,YAAY;AAAA,UAChC,KAAK,KAAK;AAAA,UACV,KAAK,QAAQ;AAAA;AAGjB,gBAAO;AAAA,eACE,WAAW;AAAA,eACX,WAAW;AAAA,eACX,WAAW;AACZ,mBAAM,kBAAkB,EAAE,YAAY,QAAQ,cAAc;AAC5D,uBAAW,KAAK,WAAW,MAAM;AACjC;AAAA,eACC,WAAW;AACZ,mBAAM,OAAO;AAAA,cACT,YAAY;AAAA,cACZ,UAAU;AAAA,cACV,OAAO;AAAA,cACP,cAAc;AAAA,cACd,aAAa;AAAA;AAEjB,uBAAW,KAAK,CAAC,WAAW,MAAM;AAClC;AAAA,eACC,WAAW;AACZ,mBAAM,OAAO;AAAA,cACT,YAAY;AAAA,cACZ,UAAU;AAAA,cACV,OAAO;AAAA,cACP,cAAc;AAAA,cACd,aAAa;AAAA;AAEjB,uBAAW,KAAK;AAAA,cACZ,WAAW,MAAM;AAAA,cACjB;AAAA,cACA;AAAA,cACA;AAAA;AAEJ;AAAA;AAGR,gBAAQ,YAAY,OAAO;AAAA,UACvB,KAAK;AAAA,UACL;AAAA;AAAA;AAIR,WAAK,OAAO,IAAI,WAAW;AAAA,QACvB,QAAQ;AAAA,QACR;AAAA;AAGJ,YAAM,WAAW,EAAE,SAAS,QAAQ,gBAAgB,KAAK;AACzD,YAAM,OAAO,SAAE,SAAS,QAAQ,iBAAiB,KAAK,mBAAzC,aAA2D;AACxE,YAAM,WAAW,WAAW,SAAS,UAAU,MAAM;AAErD,UAAI,UAAU;AACV,aAAK,uBAAuB,UAAU;AAAA;AAAA;AAAA,IAQ9C,uBAAuB,QAAe,aAA2B;AAC7D,YAAM,SAAS,iBAAiB,QAAO;AAGvC,YAAM,gBAAqC;AAAA,QACvC,yDAAyD,KAAE;AAAA,QAC3D,qDAAqD,KAAE;AAAA,QACvD,mDAAmD,KAAE;AAAA,QACrD,0BAA0B,KAAE;AAAA,QAC5B,yBAAyB,KAAE;AAAA,QAC3B,SAAS,KAAE;AAAA,QACX,QAAQ,KAAE;AAAA,QACV,UAAU,KAAE;AAAA,QACZ,iBAAiB,KAAE;AAAA,QACnB,cAAc,KAAE;AAAA,QAChB,eAAe,KAAE;AAAA,QACjB,6BAA6B,KAAE;AAAA;AAGnC,YAAM,qBAAqB,OAAO,UAAU;AAAA,QACxC,OAAO;AAAA,UACH,UAAU;AAAA;AAAA;AAIlB,YAAM,cAAc,WAAW,OAAO;AAAA,QAClC,QAAQ;AAAA,QACR,cAAc;AAAA,UACV,eAAe,EAAE,MAAM;AAAA;AAAA;AAI/B,YAAM,SAAS,YAAY,aAAa,GAAG,IAAI,gBAAgB;AAE/D,WAAK,KAAK,SAAS,EAAE,SAAS;AAAA;AAAA,QAKvB,WAAmB;AAC1B,aAAO,KAAK,KAAK,MAAM,IAAI;AAAA;AAAA,QAOpB,SAAS,UAAiB;AACjC,UAAI,cAAc,KAAK,KAAK,MAAM,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,KAAK,MAAM,IAAI,QAAQ,QAAQ;AACvG,WAAK,KAAK,SAAS;AAAA;AAAA,QAMZ,aAAsB;AAC7B,aAAO,KAAK,KAAK,MAAM;AAAA;AAAA,QAMhB,WAAW,YAAqB;AACvC,WAAK,KAAK,SAAS;AAAA,QACf,SAAS,KAAK,SAAS,YAAY,YAAY,SAAS,GAAG;AAAA;AAAA;AAAA,IAOnE,OAAO,cAA6B;AAChC,UAAI,iBAAiB,QAAW;AAC5B,gBAAQ,IAAI;AACZ;AAAA;AAEJ,cAAQ,KAAK;AAAA;AAAA,IAMjB,QAAc;AACV,WAAK,KAAK;AAAA;AAAA,IAMd,cAAoB;AAChB,UAAI,SAA4B,mBAAmB;AACnD,WAAK,KAAK,SAAS,EAAE,SAAS;AAAA;AAAA,IAMlC,wBAA8B;AAC1B,YAAM,SAAS,KAAK,KAAK,MAAM,IAAI;AACnC,WAAK,KAAK,SACN,KAAK,KAAK,MAAM,OAAO,EAAE,WAAW,EAAE,QAAQ;AAAA;AAAA,IAOtD,iBAAuB;AACnB,YAAM,mBAAmB,KAAK,KAAK,MAAM;AACzC,YAAM,gBAAgB,iBAAiB,OAAO,GAAG;AACjD,WAAK,KAAK,SAAS,KAAK,KAAK,MAAM,OAAO,EAAE,WAAW,EAAE,QAAQ;AAAA;AAAA,IAMrE,mBAAyB;AAAA;AAAA,IAOzB,sBAA4B;AAAA;AAAA,IAI5B,eAAe,QAAuB;AAClC,aAAO,GAAG;AAAA;AAAA,IAGP,oBAAoB;AACvB,+BAAyB,KAAK;AAAA;AAAA,IAG3B,GAAG,KAAgD,UAAc;AAIpE,UAAI,QAAQ,UAAU;AAClB,cAAM,cAAc,KAAK,KAAK,MAAM,OAAO;AAAA,UACvC,SAAS,YAAY,aAAa,GAAG,WAAW,eAAe,GAAG,CAAC,MAAkB;AACjF,gBAAI,EAAE,YAAY;AACd;AAAA;AAAA;AAAA;AAIZ,aAAK,KAAK,SAAS;AAAA,iBACZ,QAAQ,SAAS;AACxB,cAAM,eAAe,WAAW,iBAAiB;AAAA,UAC7C,OAAO;AAAA;AAEX,cAAM,SAAS,YAAY,aAAa,GAAG;AAC3C,aAAK,KAAK,SAAS,EAAE,SAAS;AAAA;AAAA;AAAA,IAkBtC,eAAe,KAAa,KAAc;AACtC,UAAI;AACJ,UAAI,QAAQ,QAAW;AACnB,iBAAS,aAAa,GAAG,EAAE;AAAA,aACxB;AACH,iBAAS,aAAa,GAAG,EAAE,KAAK;AAAA;AAEpC,WAAK,KAAK,SAAS,EAAE,SAAS;AAAA;AAAA,IAWlC,uBAAuB,MAAe,UAAmB,WAAoB;AACzE,UAAI,KAAK,kBAAkB;AACvB,aAAK,KAAK,SAAS,EAAE,SAAS,gBAAgB;AAAA;AAGlD,UAAI,SAAS,QAAW;AACpB,aAAK,mBAAmB;AACxB;AAAA;AAGJ,WAAK,mBAAmB;AACxB,UAAI,aAAa,UAAa,cAAc,QAAW;AACnD,YAAI;AACJ,cAAM,UAAU,KAAK,KAAK,MAAM,IAAI,KAAK;AACzC,cAAM,SAAO,QAAQ,OAAO,WAAW;AACvC,cAAM,OAAK,QAAQ,OAAO;AAC1B,iBAAS,cAAc,GAAG,EAAE,cAAM;AAClC,aAAK,KAAK,SAAS,EAAE,SAAS;AAAA,aAC3B;AACH,YAAI;AACJ,iBAAS,aAAa,GAAG,EAAE,KAAK;AAChC,aAAK,KAAK,SAAS,EAAE,SAAS;AAAA;AAAA;AAAA,IAItC,kBAAkB,YAAkC;AAEhD,YAAM,iBAAiB,KAAK,KAAK,MAAM,IAAI;AAC3C,UAAI,mBAAmB,IAAI;AACvB,eAAO;AAAA;AAEX,YAAM,gBAAgB,KAAK,KAAK,MAAM,MAAM;AAC5C,YAAM,mBAA6B;AACnC,UAAI;AACJ,UAAI;AACJ,UAAI,eAAc,MAAM;AACpB,eAAK,KAAK,KAAK,MAAM,IAAI;AACzB,gBAAQ,eAAe,MAAM;AAAA,aAC1B;AAEH,cAAM,mBAAmB,SAAS,YAAW,MAAM;AACnD,eAAK,KAAK,KAAK,MAAM,IAAI,KAAK,kBAAkB;AAChD,gBAAQ,eAAe,MAAM,MAAM,MAAM,GAAG;AAAA;AAEhD,oBAAc,QAAQ,GAAG,MAAI,CAAC,WAAiB;AAC3C,yBAAiB,KAAK,KAAK,KAAK,MAAM,IAAI,OAAO,QAAM;AAAA;AAE3D,YAAM,iBAAiB;AACvB,eAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACnC,YAAI,iBAAiB,SAAS,IAAI,IAAI;AAClC,yBAAe,KAAK;AAAA,eACjB;AACH,yBAAe,KAAK,MAAM;AAAA;AAAA;AAGlC,YAAM,OAAO,eAAe,KAAK;AACjC,aAAO;AAAA;AAAA,IAGX,iBAAiB,SAAoB,WAAyB;AAC1D,YAAM,YAAY,KAAK,KAAK,MAAM,IAAI,KAAK,QAAM;AACjD,YAAM,UAAU,KAAK,KAAK,MAAM,IAAI,KAAK,QAAM;AAC/C,YAAM,SAAO,UAAU,OAAO,QAAM,cAAc;AAClD,UAAI,OAAK,QAAQ,OAAO,QAAM,YAAY;AAE1C,aAAK,OAAK,QAAQ,KAAK,QAAQ,KAAK;AACpC,WAAK,qBAAqB,GAAG,UAAQ,UAAQ;AAC7C,UAAI,SAAS,uBAAuB,GAAG,EAAE,cAAM;AAC/C,WAAK,KAAK,SAAS,EAAE,SAAS;AAAA;AAAA,IAGlC,sBAA4B;AACxB,WAAK,uBAAuB;AAC5B,YAAM,SAAS,0BAA0B;AACzC,WAAK,KAAK,SAAS,EAAE,SAAS;AAAA;AAAA,IAGlC,gBAAgB,GAAW,IAA0B;AACjD,aAAO,KAAK,KAAK,YAAY,EAAE,GAAG;AAAA;AAAA,IAQtC,kBAAkB,KAA4B;AAC1C,YAAM,mBAAmB,KAAK,KAAK,MAAM,MAAM;AAC/C,UAAI,SAAQ;AACZ,uBAAiB,QAAQ,KAAK,KAAK,CAAC,QAAc,SAAe;AAAE,iBAAQ,KAAK,qBAAqB,GAAG,UAAQ;AAAA;AAChH,aAAO;AAAA;AAAA,IAGX,+BAAwC;AACpC,YAAM,mBAAmB,KAAK,KAAK,MAAM,MAAM;AAC/C,UAAI,oBAAoB;AACxB,uBAAiB,QAAQ,GAAG,KAAK,KAAK,MAAM,IAAI,QAAQ,MAAM;AAAE,4BAAoB;AAAA;AACpF,aAAO;AAAA;AAAA,IAGJ,kBAAkB,QAAyB;AAC9C,UAAI,CAAC,KAAK;AAAgC;AAC1C,YAAM,MAAM,KAAK,gBAAgB,OAAM,GAAG,OAAM;AAChD,UAAI,OAAO;AAAM;AACjB,YAAM,SAAQ,KAAK,kBAAkB;AACrC,UAAI,UAAS,MAAM;AAEf,cAAM;AAAA,aACH;AAEH,YAAI,WAAW,mBAAmB;AAClC,cAAM;AACN,cAAM,KAAK,IAAI,SAAS;AAAA;AAAA;AAAA;;;AC9gBpC,AAMA,mBAAiB,QAAQ,gBAAgB;AACvC,QAAI,OAAO,OAAO,KAAK;AAEvB,QAAI,OAAO,uBAAuB;AAChC,UAAI,UAAU,OAAO,sBAAsB;AAE3C,UAAI,gBAAgB;AAClB,kBAAU,QAAQ,OAAO,SAAU,KAAK;AACtC,iBAAO,OAAO,yBAAyB,QAAQ,KAAK;AAAA;AAAA;AAIxD,WAAK,KAAK,MAAM,MAAM;AAAA;AAGxB,WAAO;AAAA;AAGT,0BAAwB,QAAQ;AAC9B,aAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,UAAI,SAAS,UAAU,MAAM,OAAO,UAAU,KAAK;AAEnD,UAAI,IAAI,GAAG;AACT,gBAAQ,OAAO,SAAS,MAAM,QAAQ,SAAU,KAAK;AACnD,0BAAgB,QAAQ,KAAK,OAAO;AAAA;AAAA,iBAE7B,OAAO,2BAA2B;AAC3C,eAAO,iBAAiB,QAAQ,OAAO,0BAA0B;AAAA,aAC5D;AACL,gBAAQ,OAAO,SAAS,QAAQ,SAAU,KAAK;AAC7C,iBAAO,eAAe,QAAQ,KAAK,OAAO,yBAAyB,QAAQ;AAAA;AAAA;AAAA;AAKjF,WAAO;AAAA;AAGT,mBAAiB,KAAK;AACpB;AAEA,QAAI,OAAO,WAAW,cAAc,OAAO,OAAO,aAAa,UAAU;AACvE,gBAAU,SAAU,MAAK;AACvB,eAAO,OAAO;AAAA;AAAA,WAEX;AACL,gBAAU,SAAU,MAAK;AACvB,eAAO,QAAO,OAAO,WAAW,cAAc,KAAI,gBAAgB,UAAU,SAAQ,OAAO,YAAY,WAAW,OAAO;AAAA;AAAA;AAI7H,WAAO,QAAQ;AAAA;AAGjB,2BAAyB,KAAK,KAAK,OAAO;AACxC,QAAI,OAAO,KAAK;AACd,aAAO,eAAe,KAAK,KAAK;AAAA,QAC9B;AAAA,QACA,YAAY;AAAA,QACZ,cAAc;AAAA,QACd,UAAU;AAAA;AAAA,WAEP;AACL,UAAI,OAAO;AAAA;AAGb,WAAO;AAAA;AAGT,sBAAoB;AAClB,eAAW,OAAO,UAAU,SAAU,QAAQ;AAC5C,eAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,YAAI,SAAS,UAAU;AAEvB,iBAAS,OAAO,QAAQ;AACtB,cAAI,OAAO,UAAU,eAAe,KAAK,QAAQ,MAAM;AACrD,mBAAO,OAAO,OAAO;AAAA;AAAA;AAAA;AAK3B,aAAO;AAAA;AAGT,WAAO,SAAS,MAAM,MAAM;AAAA;AAG9B,yCAAuC,QAAQ,UAAU;AACvD,QAAI,UAAU;AAAM,aAAO;AAC3B,QAAI,SAAS;AACb,QAAI,aAAa,OAAO,KAAK;AAC7B,QAAI,KAAK;AAET,SAAK,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK;AACtC,YAAM,WAAW;AACjB,UAAI,SAAS,QAAQ,QAAQ;AAAG;AAChC,aAAO,OAAO,OAAO;AAAA;AAGvB,WAAO;AAAA;AAGT,oCAAkC,QAAQ,UAAU;AAClD,QAAI,UAAU;AAAM,aAAO;AAE3B,QAAI,SAAS,8BAA8B,QAAQ;AAEnD,QAAI,KAAK;AAET,QAAI,OAAO,uBAAuB;AAChC,UAAI,mBAAmB,OAAO,sBAAsB;AAEpD,WAAK,IAAI,GAAG,IAAI,iBAAiB,QAAQ,KAAK;AAC5C,cAAM,iBAAiB;AACvB,YAAI,SAAS,QAAQ,QAAQ;AAAG;AAChC,YAAI,CAAC,OAAO,UAAU,qBAAqB,KAAK,QAAQ;AAAM;AAC9D,eAAO,OAAO,OAAO;AAAA;AAAA;AAIzB,WAAO;AAAA;AAoCT,MAAI,WAAU;AAEd,qBAAmB,SAAS;AAC1B,QAAI,OAAO,WAAW,eAAe,OAAO,WAAW;AACrD,aAAO,CAAC,CAAe,0BAAU,UAAU,MAAM;AAAA;AAAA;AAIrD,MAAI,aAAa,UAAU;AAC3B,MAAI,OAAO,UAAU;AACrB,MAAI,UAAU,UAAU;AACxB,MAAI,SAAS,UAAU,cAAc,CAAC,UAAU,cAAc,CAAC,UAAU;AACzE,MAAI,MAAM,UAAU;AACpB,MAAI,mBAAmB,UAAU,cAAc,UAAU;AAEzD,MAAI,cAAc;AAAA,IAChB,SAAS;AAAA,IACT,SAAS;AAAA;AAGX,cAAY,KAAI,QAAO,KAAI;AACzB,QAAG,iBAAiB,QAAO,KAAI,CAAC,cAAc;AAAA;AAGhD,eAAa,KAAI,QAAO,KAAI;AAC1B,QAAG,oBAAoB,QAAO,KAAI,CAAC,cAAc;AAAA;AAGnD,mBAEA,KAEA,UAAU;AACR,QAAI,CAAC;AAAU;AACf,aAAS,OAAO,OAAQ,YAAW,SAAS,UAAU;AAEtD,QAAI,KAAI;AACN,UAAI;AACF,YAAI,IAAG,SAAS;AACd,iBAAO,IAAG,QAAQ;AAAA,mBACT,IAAG,mBAAmB;AAC/B,iBAAO,IAAG,kBAAkB;AAAA,mBACnB,IAAG,uBAAuB;AACnC,iBAAO,IAAG,sBAAsB;AAAA;AAAA,eAE3B,GAAP;AACA,eAAO;AAAA;AAAA;AAIX,WAAO;AAAA;AAGT,2BAAyB,KAAI;AAC3B,WAAO,IAAG,QAAQ,QAAO,YAAY,IAAG,KAAK,WAAW,IAAG,OAAO,IAAG;AAAA;AAGvE,mBAEA,KAEA,UAEA,KAAK,YAAY;AACf,QAAI,KAAI;AACN,YAAM,OAAO;AAEb,SAAG;AACD,YAAI,YAAY,QAAS,UAAS,OAAO,MAAM,IAAG,eAAe,OAAO,QAAQ,KAAI,YAAY,QAAQ,KAAI,cAAc,cAAc,QAAO,KAAK;AAClJ,iBAAO;AAAA;AAGT,YAAI,QAAO;AAAK;AAAA,eAET,MAAK,gBAAgB;AAAA;AAGhC,WAAO;AAAA;AAGT,MAAI,UAAU;AAEd,uBAAqB,KAAI,OAAM,OAAO;AACpC,QAAI,OAAM,OAAM;AACd,UAAI,IAAG,WAAW;AAChB,YAAG,UAAU,QAAQ,QAAQ,UAAU;AAAA,aAClC;AACL,YAAI,YAAa,OAAM,IAAG,YAAY,KAAK,QAAQ,SAAS,KAAK,QAAQ,MAAM,QAAO,KAAK;AAC3F,YAAG,YAAa,aAAa,SAAQ,MAAM,QAAO,KAAK,QAAQ,SAAS;AAAA;AAAA;AAAA;AAK9E,eAAa,KAAI,MAAM,KAAK;AAC1B,QAAI,QAAQ,OAAM,IAAG;AAErB,QAAI,OAAO;AACT,UAAI,QAAQ,QAAQ;AAClB,YAAI,SAAS,eAAe,SAAS,YAAY,kBAAkB;AACjE,gBAAM,SAAS,YAAY,iBAAiB,KAAI;AAAA,mBACvC,IAAG,cAAc;AAC1B,gBAAM,IAAG;AAAA;AAGX,eAAO,SAAS,SAAS,MAAM,IAAI;AAAA,aAC9B;AACL,YAAI,CAAE,SAAQ,UAAU,KAAK,QAAQ,cAAc,IAAI;AACrD,iBAAO,aAAa;AAAA;AAGtB,cAAM,QAAQ,MAAO,QAAO,QAAQ,WAAW,KAAK;AAAA;AAAA;AAAA;AAK1D,kBAAgB,KAAI,UAAU;AAC5B,QAAI,oBAAoB;AAExB,QAAI,OAAO,QAAO,UAAU;AAC1B,0BAAoB;AAAA,WACf;AACL,SAAG;AACD,YAAI,YAAY,IAAI,KAAI;AAExB,YAAI,aAAa,cAAc,QAAQ;AACrC,8BAAoB,YAAY,MAAM;AAAA;AAAA,eAIjC,CAAC,YAAa,OAAK,IAAG;AAAA;AAGjC,QAAI,WAAW,OAAO,aAAa,OAAO,mBAAmB,OAAO,aAAa,OAAO;AAGxF,WAAO,YAAY,IAAI,SAAS;AAAA;AAGlC,iBAAc,KAAK,SAAS,UAAU;AACpC,QAAI,KAAK;AACP,UAAI,OAAO,IAAI,qBAAqB,UAChC,IAAI,GACJ,IAAI,KAAK;AAEb,UAAI,UAAU;AACZ,eAAO,IAAI,GAAG,KAAK;AACjB,mBAAS,KAAK,IAAI;AAAA;AAAA;AAItB,aAAO;AAAA;AAGT,WAAO;AAAA;AAGT,uCAAqC;AACnC,QAAI,mBAAmB,SAAS;AAEhC,QAAI,kBAAkB;AACpB,aAAO;AAAA,WACF;AACL,aAAO,SAAS;AAAA;AAAA;AAcpB,mBAAiB,KAAI,2BAA2B,2BAA2B,WAAW,WAAW;AAC/F,QAAI,CAAC,IAAG,yBAAyB,QAAO;AAAQ;AAChD,QAAI,QAAQ,MAAK,MAAM,QAAQ,OAAO,QAAQ;AAE9C,QAAI,QAAO,UAAU,IAAG,cAAc,QAAO,6BAA6B;AACxE,eAAS,IAAG;AACZ,aAAM,OAAO;AACb,aAAO,OAAO;AACd,eAAS,OAAO;AAChB,cAAQ,OAAO;AACf,eAAS,OAAO;AAChB,cAAQ,OAAO;AAAA,WACV;AACL,aAAM;AACN,aAAO;AACP,eAAS,OAAO;AAChB,cAAQ,OAAO;AACf,eAAS,OAAO;AAChB,cAAQ,OAAO;AAAA;AAGjB,QAAK,8BAA6B,8BAA8B,QAAO,QAAQ;AAE7E,kBAAY,aAAa,IAAG;AAG5B,UAAI,CAAC,YAAY;AACf,WAAG;AACD,cAAI,aAAa,UAAU,yBAA0B,KAAI,WAAW,iBAAiB,UAAU,6BAA6B,IAAI,WAAW,gBAAgB,WAAW;AACpK,gBAAI,gBAAgB,UAAU;AAE9B,oBAAO,cAAc,MAAM,SAAS,IAAI,WAAW;AACnD,oBAAQ,cAAc,OAAO,SAAS,IAAI,WAAW;AACrD,qBAAS,OAAM,OAAO;AACtB,oBAAQ,OAAO,OAAO;AACtB;AAAA;AAAA,iBAIK,YAAY,UAAU;AAAA;AAAA;AAInC,QAAI,aAAa,QAAO,QAAQ;AAE9B,UAAI,WAAW,OAAO,aAAa,MAC/B,SAAS,YAAY,SAAS,GAC9B,SAAS,YAAY,SAAS;AAElC,UAAI,UAAU;AACZ,gBAAO;AACP,gBAAQ;AACR,iBAAS;AACT,kBAAU;AACV,iBAAS,OAAM;AACf,gBAAQ,OAAO;AAAA;AAAA;AAInB,WAAO;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAYJ,0BAAwB,KAAI,QAAQ,YAAY;AAC9C,QAAI,SAAS,2BAA2B,KAAI,OACxC,YAAY,QAAQ,KAAI;AAG5B,WAAO,QAAQ;AACb,UAAI,gBAAgB,QAAQ,QAAQ,aAChC,UAAU;AAEd,UAAI,eAAe,SAAS,eAAe,QAAQ;AACjD,kBAAU,aAAa;AAAA,aAClB;AACL,kBAAU,aAAa;AAAA;AAGzB,UAAI,CAAC;AAAS,eAAO;AACrB,UAAI,WAAW;AAA6B;AAC5C,eAAS,2BAA2B,QAAQ;AAAA;AAG9C,WAAO;AAAA;AAYT,oBAAkB,KAAI,UAAU,SAAS,eAAe;AACtD,QAAI,eAAe,GACf,IAAI,GACJ,WAAW,IAAG;AAElB,WAAO,IAAI,SAAS,QAAQ;AAC1B,UAAI,SAAS,GAAG,MAAM,YAAY,UAAU,SAAS,OAAO,SAAS,SAAU,kBAAiB,SAAS,OAAO,SAAS,YAAY,QAAQ,SAAS,IAAI,QAAQ,WAAW,KAAI,QAAQ;AACvL,YAAI,iBAAiB,UAAU;AAC7B,iBAAO,SAAS;AAAA;AAGlB;AAAA;AAGF;AAAA;AAGF,WAAO;AAAA;AAUT,qBAAmB,KAAI,UAAU;AAC/B,QAAI,OAAO,IAAG;AAEd,WAAO,QAAS,UAAS,SAAS,SAAS,IAAI,MAAM,eAAe,UAAU,YAAY,CAAC,QAAQ,MAAM,YAAY;AACnH,aAAO,KAAK;AAAA;AAGd,WAAO,QAAQ;AAAA;AAWjB,iBAAe,KAAI,UAAU;AAC3B,QAAI,SAAQ;AAEZ,QAAI,CAAC,OAAM,CAAC,IAAG,YAAY;AACzB,aAAO;AAAA;AAKT,WAAO,MAAK,IAAG,wBAAwB;AACrC,UAAI,IAAG,SAAS,kBAAkB,cAAc,QAAO,SAAS,SAAU,EAAC,YAAY,QAAQ,KAAI,YAAY;AAC7G;AAAA;AAAA;AAIJ,WAAO;AAAA;AAUT,mCAAiC,KAAI;AACnC,QAAI,aAAa,GACb,YAAY,GACZ,cAAc;AAElB,QAAI,KAAI;AACN,SAAG;AACD,YAAI,WAAW,OAAO,MAClB,SAAS,SAAS,GAClB,SAAS,SAAS;AACtB,sBAAc,IAAG,aAAa;AAC9B,qBAAa,IAAG,YAAY;AAAA,eACrB,QAAO,eAAgB,OAAK,IAAG;AAAA;AAG1C,WAAO,CAAC,YAAY;AAAA;AAUtB,yBAAuB,KAAK,KAAK;AAC/B,aAAS,KAAK,KAAK;AACjB,UAAI,CAAC,IAAI,eAAe;AAAI;AAE5B,eAAS,OAAO,KAAK;AACnB,YAAI,IAAI,eAAe,QAAQ,IAAI,SAAS,IAAI,GAAG;AAAM,iBAAO,OAAO;AAAA;AAAA;AAI3E,WAAO;AAAA;AAGT,sCAAoC,KAAI,aAAa;AAEnD,QAAI,CAAC,OAAM,CAAC,IAAG;AAAuB,aAAO;AAC7C,QAAI,OAAO;AACX,QAAI,UAAU;AAEd,OAAG;AAED,UAAI,KAAK,cAAc,KAAK,eAAe,KAAK,eAAe,KAAK,cAAc;AAChF,YAAI,UAAU,IAAI;AAElB,YAAI,KAAK,cAAc,KAAK,eAAgB,SAAQ,aAAa,UAAU,QAAQ,aAAa,aAAa,KAAK,eAAe,KAAK,gBAAiB,SAAQ,aAAa,UAAU,QAAQ,aAAa,WAAW;AACpN,cAAI,CAAC,KAAK,yBAAyB,SAAS,SAAS;AAAM,mBAAO;AAClE,cAAI,WAAW;AAAa,mBAAO;AACnC,oBAAU;AAAA;AAAA;AAAA,aAKP,OAAO,KAAK;AAErB,WAAO;AAAA;AAGT,mBAAgB,KAAK,KAAK;AACxB,QAAI,OAAO,KAAK;AACd,eAAS,OAAO,KAAK;AACnB,YAAI,IAAI,eAAe,MAAM;AAC3B,cAAI,OAAO,IAAI;AAAA;AAAA;AAAA;AAKrB,WAAO;AAAA;AAGT,uBAAqB,OAAO,OAAO;AACjC,WAAO,KAAK,MAAM,MAAM,SAAS,KAAK,MAAM,MAAM,QAAQ,KAAK,MAAM,MAAM,UAAU,KAAK,MAAM,MAAM,SAAS,KAAK,MAAM,MAAM,YAAY,KAAK,MAAM,MAAM,WAAW,KAAK,MAAM,MAAM,WAAW,KAAK,MAAM,MAAM;AAAA;AAGvN,MAAI;AAEJ,oBAAkB,WAAU,KAAI;AAC9B,WAAO,WAAY;AACjB,UAAI,CAAC,kBAAkB;AACrB,YAAI,OAAO,WACP,QAAQ;AAEZ,YAAI,KAAK,WAAW,GAAG;AACrB,oBAAS,KAAK,OAAO,KAAK;AAAA,eACrB;AACL,oBAAS,MAAM,OAAO;AAAA;AAGxB,2BAAmB,WAAW,WAAY;AACxC,6BAAmB;AAAA,WAClB;AAAA;AAAA;AAAA;AAKT,4BAA0B;AACxB,iBAAa;AACb,uBAAmB;AAAA;AAGrB,oBAAkB,KAAI,GAAG,IAAG;AAC1B,QAAG,cAAc;AACjB,QAAG,aAAa;AAAA;AAGlB,iBAAe,KAAI;AACjB,QAAI,UAAU,OAAO;AACrB,QAAI,KAAI,OAAO,UAAU,OAAO;AAEhC,QAAI,WAAW,QAAQ,KAAK;AAC1B,aAAO,QAAQ,IAAI,KAAI,UAAU;AAAA,eACxB,IAAG;AACZ,aAAO,GAAE,KAAI,MAAM,MAAM;AAAA,WACpB;AACL,aAAO,IAAG,UAAU;AAAA;AAAA;AAoBxB,MAAI,UAAU,aAAa,IAAI,OAAO;AAEtC,mCAAiC;AAC/B,QAAI,kBAAkB,IAClB;AACJ,WAAO;AAAA,MACL,uBAAuB,iCAAiC;AACtD,0BAAkB;AAClB,YAAI,CAAC,KAAK,QAAQ;AAAW;AAC7B,YAAI,WAAW,GAAG,MAAM,KAAK,KAAK,GAAG;AACrC,iBAAS,QAAQ,SAAU,OAAO;AAChC,cAAI,IAAI,OAAO,eAAe,UAAU,UAAU,SAAS;AAAO;AAClE,0BAAgB,KAAK;AAAA,YACnB,QAAQ;AAAA,YACR,MAAM,QAAQ;AAAA;AAGhB,cAAI,WAAW,eAAe,IAAI,gBAAgB,gBAAgB,SAAS,GAAG;AAG9E,cAAI,MAAM,uBAAuB;AAC/B,gBAAI,cAAc,OAAO,OAAO;AAEhC,gBAAI,aAAa;AACf,uBAAS,OAAO,YAAY;AAC5B,uBAAS,QAAQ,YAAY;AAAA;AAAA;AAIjC,gBAAM,WAAW;AAAA;AAAA;AAAA,MAGrB,mBAAmB,2BAA2B,OAAO;AACnD,wBAAgB,KAAK;AAAA;AAAA,MAEvB,sBAAsB,8BAA8B,QAAQ;AAC1D,wBAAgB,OAAO,cAAc,iBAAiB;AAAA,UACpD;AAAA,YACE;AAAA;AAAA,MAEN,YAAY,oBAAoB,WAAU;AACxC,YAAI,QAAQ;AAEZ,YAAI,CAAC,KAAK,QAAQ,WAAW;AAC3B,uBAAa;AACb,cAAI,OAAO,cAAa;AAAY;AACpC;AAAA;AAGF,YAAI,YAAY,OACZ,gBAAgB;AACpB,wBAAgB,QAAQ,SAAU,OAAO;AACvC,cAAI,OAAO,GACP,SAAS,MAAM,QACf,WAAW,OAAO,UAClB,SAAS,QAAQ,SACjB,eAAe,OAAO,cACtB,aAAa,OAAO,YACpB,gBAAgB,MAAM,MACtB,eAAe,OAAO,QAAQ;AAElC,cAAI,cAAc;AAEhB,mBAAO,OAAO,aAAa;AAC3B,mBAAO,QAAQ,aAAa;AAAA;AAG9B,iBAAO,SAAS;AAEhB,cAAI,OAAO,uBAAuB;AAEhC,gBAAI,YAAY,cAAc,WAAW,CAAC,YAAY,UAAU,WAC/D,eAAc,MAAM,OAAO,OAAQ,eAAc,OAAO,OAAO,UAAW,UAAS,MAAM,OAAO,OAAQ,UAAS,OAAO,OAAO,OAAO;AAErI,qBAAO,kBAAkB,eAAe,cAAc,YAAY,MAAM;AAAA;AAAA;AAK5E,cAAI,CAAC,YAAY,QAAQ,WAAW;AAClC,mBAAO,eAAe;AACtB,mBAAO,aAAa;AAEpB,gBAAI,CAAC,MAAM;AACT,qBAAO,MAAM,QAAQ;AAAA;AAGvB,kBAAM,QAAQ,QAAQ,eAAe,QAAQ;AAAA;AAG/C,cAAI,MAAM;AACR,wBAAY;AACZ,4BAAgB,KAAK,IAAI,eAAe;AACxC,yBAAa,OAAO;AACpB,mBAAO,sBAAsB,WAAW,WAAY;AAClD,qBAAO,gBAAgB;AACvB,qBAAO,eAAe;AACtB,qBAAO,WAAW;AAClB,qBAAO,aAAa;AACpB,qBAAO,wBAAwB;AAAA,eAC9B;AACH,mBAAO,wBAAwB;AAAA;AAAA;AAGnC,qBAAa;AAEb,YAAI,CAAC,WAAW;AACd,cAAI,OAAO,cAAa;AAAY;AAAA,eAC/B;AACL,gCAAsB,WAAW,WAAY;AAC3C,gBAAI,OAAO,cAAa;AAAY;AAAA,aACnC;AAAA;AAGL,0BAAkB;AAAA;AAAA,MAEpB,SAAS,iBAAiB,QAAQ,aAAa,QAAQ,UAAU;AAC/D,YAAI,UAAU;AACZ,cAAI,QAAQ,cAAc;AAC1B,cAAI,QAAQ,aAAa;AACzB,cAAI,WAAW,OAAO,KAAK,KACvB,SAAS,YAAY,SAAS,GAC9B,SAAS,YAAY,SAAS,GAC9B,aAAc,aAAY,OAAO,OAAO,QAAS,WAAU,IAC3D,aAAc,aAAY,MAAM,OAAO,OAAQ,WAAU;AAC7D,iBAAO,aAAa,CAAC,CAAC;AACtB,iBAAO,aAAa,CAAC,CAAC;AACtB,cAAI,QAAQ,aAAa,iBAAiB,aAAa,QAAQ,aAAa;AAC5E,eAAK,kBAAkB,QAAQ;AAE/B,cAAI,QAAQ,cAAc,eAAe,WAAW,OAAQ,MAAK,QAAQ,SAAS,MAAM,KAAK,QAAQ,SAAS;AAC9G,cAAI,QAAQ,aAAa;AACzB,iBAAO,OAAO,aAAa,YAAY,aAAa,OAAO;AAC3D,iBAAO,WAAW,WAAW,WAAY;AACvC,gBAAI,QAAQ,cAAc;AAC1B,gBAAI,QAAQ,aAAa;AACzB,mBAAO,WAAW;AAClB,mBAAO,aAAa;AACpB,mBAAO,aAAa;AAAA,aACnB;AAAA;AAAA;AAAA;AAAA;AAMX,mBAAiB,QAAQ;AACvB,WAAO,OAAO;AAAA;AAGhB,6BAA2B,eAAe,UAAU,QAAQ,SAAS;AACnE,WAAO,KAAK,KAAK,KAAK,IAAI,SAAS,MAAM,cAAc,KAAK,KAAK,KAAK,IAAI,SAAS,OAAO,cAAc,MAAM,MAAM,KAAK,KAAK,KAAK,IAAI,SAAS,MAAM,OAAO,KAAK,KAAK,KAAK,IAAI,SAAS,OAAO,OAAO,MAAM,MAAM,QAAQ;AAAA;AAG7N,MAAI,UAAU;AACd,MAAI,YAAW;AAAA,IACb,qBAAqB;AAAA;AAEvB,MAAI,gBAAgB;AAAA,IAClB,OAAO,eAAe,QAAQ;AAE5B,eAAS,WAAU,WAAU;AAC3B,YAAI,UAAS,eAAe,YAAW,CAAE,YAAU,SAAS;AAC1D,iBAAO,WAAU,UAAS;AAAA;AAAA;AAI9B,cAAQ,QAAQ,SAAU,GAAG;AAC3B,YAAI,EAAE,eAAe,OAAO,YAAY;AACtC,gBAAM,iCAAiC,OAAO,OAAO,YAAY;AAAA;AAAA;AAGrE,cAAQ,KAAK;AAAA;AAAA,IAEf,aAAa,qBAAqB,WAAW,UAAU,KAAK;AAC1D,UAAI,QAAQ;AAEZ,WAAK,gBAAgB;AAErB,UAAI,SAAS,WAAY;AACvB,cAAM,gBAAgB;AAAA;AAGxB,UAAI,kBAAkB,YAAY;AAClC,cAAQ,QAAQ,SAAU,QAAQ;AAChC,YAAI,CAAC,SAAS,OAAO;AAAa;AAElC,YAAI,SAAS,OAAO,YAAY,kBAAkB;AAChD,mBAAS,OAAO,YAAY,iBAAiB,eAAe;AAAA,YAC1D;AAAA,aACC;AAAA;AAKL,YAAI,SAAS,QAAQ,OAAO,eAAe,SAAS,OAAO,YAAY,YAAY;AACjF,mBAAS,OAAO,YAAY,WAAW,eAAe;AAAA,YACpD;AAAA,aACC;AAAA;AAAA;AAAA;AAAA,IAIT,mBAAmB,2BAA2B,UAAU,KAAI,WAAU,SAAS;AAC7E,cAAQ,QAAQ,SAAU,QAAQ;AAChC,YAAI,aAAa,OAAO;AACxB,YAAI,CAAC,SAAS,QAAQ,eAAe,CAAC,OAAO;AAAqB;AAClE,YAAI,cAAc,IAAI,OAAO,UAAU,KAAI,SAAS;AACpD,oBAAY,WAAW;AACvB,oBAAY,UAAU,SAAS;AAC/B,iBAAS,cAAc;AAEvB,iBAAS,WAAU,YAAY;AAAA;AAGjC,eAAS,WAAU,SAAS,SAAS;AACnC,YAAI,CAAC,SAAS,QAAQ,eAAe;AAAS;AAC9C,YAAI,WAAW,KAAK,aAAa,UAAU,SAAQ,SAAS,QAAQ;AAEpE,YAAI,OAAO,aAAa,aAAa;AACnC,mBAAS,QAAQ,WAAU;AAAA;AAAA;AAAA;AAAA,IAIjC,oBAAoB,4BAA4B,OAAM,UAAU;AAC9D,UAAI,kBAAkB;AACtB,cAAQ,QAAQ,SAAU,QAAQ;AAChC,YAAI,OAAO,OAAO,oBAAoB;AAAY;AAElD,iBAAS,iBAAiB,OAAO,gBAAgB,KAAK,SAAS,OAAO,aAAa;AAAA;AAErF,aAAO;AAAA;AAAA,IAET,cAAc,sBAAsB,UAAU,OAAM,OAAO;AACzD,UAAI;AACJ,cAAQ,QAAQ,SAAU,QAAQ;AAEhC,YAAI,CAAC,SAAS,OAAO;AAAa;AAElC,YAAI,OAAO,mBAAmB,OAAO,OAAO,gBAAgB,WAAU,YAAY;AAChF,0BAAgB,OAAO,gBAAgB,OAAM,KAAK,SAAS,OAAO,aAAa;AAAA;AAAA;AAGnF,aAAO;AAAA;AAAA;AAIX,yBAAuB,MAAM;AAC3B,QAAI,WAAW,KAAK,UAChB,UAAS,KAAK,QACd,QAAO,KAAK,MACZ,WAAW,KAAK,UAChB,WAAU,KAAK,SACf,OAAO,KAAK,MACZ,SAAS,KAAK,QACd,YAAW,KAAK,UAChB,YAAW,KAAK,UAChB,qBAAoB,KAAK,mBACzB,qBAAoB,KAAK,mBACzB,gBAAgB,KAAK,eACrB,eAAc,KAAK,aACnB,uBAAuB,KAAK;AAChC,eAAW,YAAY,WAAU,QAAO;AACxC,QAAI,CAAC;AAAU;AACf,QAAI,KACA,UAAU,SAAS,SACnB,SAAS,OAAO,MAAK,OAAO,GAAG,gBAAgB,MAAK,OAAO;AAE/D,QAAI,OAAO,eAAe,CAAC,cAAc,CAAC,MAAM;AAC9C,YAAM,IAAI,YAAY,OAAM;AAAA,QAC1B,SAAS;AAAA,QACT,YAAY;AAAA;AAAA,WAET;AACL,YAAM,SAAS,YAAY;AAC3B,UAAI,UAAU,OAAM,MAAM;AAAA;AAG5B,QAAI,KAAK,QAAQ;AACjB,QAAI,OAAO,UAAU;AACrB,QAAI,OAAO,YAAY;AACvB,QAAI,QAAQ;AACZ,QAAI,WAAW;AACf,QAAI,WAAW;AACf,QAAI,oBAAoB;AACxB,QAAI,oBAAoB;AACxB,QAAI,gBAAgB;AACpB,QAAI,WAAW,eAAc,aAAY,cAAc;AAEvD,QAAI,qBAAqB,eAAe,eAAe,IAAI,uBAAuB,cAAc,mBAAmB,OAAM;AAEzH,aAAS,WAAU,oBAAoB;AACrC,UAAI,WAAU,mBAAmB;AAAA;AAGnC,QAAI,SAAQ;AACV,cAAO,cAAc;AAAA;AAGvB,QAAI,QAAQ,SAAS;AACnB,cAAQ,QAAQ,KAAK,UAAU;AAAA;AAAA;AAInC,MAAI,YAAY,CAAC;AAEjB,MAAI,eAAc,sBAAqB,WAAW,UAAU;AAC1D,QAAI,OAAO,UAAU,SAAS,KAAK,UAAU,OAAO,SAAY,UAAU,KAAK,IAC3E,gBAAgB,KAAK,KACrB,OAAO,yBAAyB,MAAM;AAE1C,kBAAc,YAAY,KAAK,UAAU,WAAW,UAAU,eAAe;AAAA,MAC3E;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA,gBAAgB,SAAS;AAAA,MACzB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,oBAAoB;AAAA,MACpB,sBAAsB;AAAA,MACtB,gBAAgB,0BAA0B;AACxC,sBAAc;AAAA;AAAA,MAEhB,eAAe,yBAAyB;AACtC,sBAAc;AAAA;AAAA,MAEhB,uBAAuB,+BAA+B,OAAM;AAC1D,uBAAe;AAAA,UACb;AAAA,UACA,MAAM;AAAA,UACN;AAAA;AAAA;AAAA,OAGH;AAAA;AAGL,0BAAwB,MAAM;AAC5B,kBAAc,eAAe;AAAA,MAC3B;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,OACC;AAAA;AAGL,MAAI;AAAJ,MACI;AADJ,MAEI;AAFJ,MAGI;AAHJ,MAII;AAJJ,MAKI;AALJ,MAMI;AANJ,MAOI;AAPJ,MAQI;AARJ,MASI;AATJ,MAUI;AAVJ,MAWI;AAXJ,MAYI;AAZJ,MAaI;AAbJ,MAcI,sBAAsB;AAd1B,MAeI,kBAAkB;AAftB,MAgBI,YAAY;AAhBhB,MAiBI;AAjBJ,MAkBI;AAlBJ,MAmBI;AAnBJ,MAoBI;AApBJ,MAqBI;AArBJ,MAsBI;AAtBJ,MAuBI;AAvBJ,MAwBI;AAxBJ,MAyBI;AAzBJ,MA0BI,wBAAwB;AA1B5B,MA2BI,yBAAyB;AA3B7B,MA4BI;AA5BJ,MA8BA;AA9BA,MA+BI,mCAAmC;AA/BvC,MAiCA,UAAU;AAjCV,MAkCI,oBAAoB;AAGxB,MAAI,iBAAiB,OAAO,aAAa;AAAzC,MACI,0BAA0B;AAD9B,MAEI,mBAAmB,QAAQ,aAAa,aAAa;AAFzD,MAIA,mBAAmB,kBAAkB,CAAC,oBAAoB,CAAC,OAAO,eAAe,SAAS,cAAc;AAJxG,MAKI,0BAA0B,WAAY;AACxC,QAAI,CAAC;AAAgB;AAErB,QAAI,YAAY;AACd,aAAO;AAAA;AAGT,QAAI,MAAK,SAAS,cAAc;AAChC,QAAG,MAAM,UAAU;AACnB,WAAO,IAAG,MAAM,kBAAkB;AAAA;AAdpC,MAgBI,mBAAmB,2BAA0B,KAAI,SAAS;AAC5D,QAAI,QAAQ,IAAI,MACZ,UAAU,SAAS,MAAM,SAAS,SAAS,MAAM,eAAe,SAAS,MAAM,gBAAgB,SAAS,MAAM,mBAAmB,SAAS,MAAM,mBAChJ,SAAS,SAAS,KAAI,GAAG,UACzB,SAAS,SAAS,KAAI,GAAG,UACzB,gBAAgB,UAAU,IAAI,SAC9B,iBAAiB,UAAU,IAAI,SAC/B,kBAAkB,iBAAiB,SAAS,cAAc,cAAc,SAAS,cAAc,eAAe,QAAQ,QAAQ,OAC9H,mBAAmB,kBAAkB,SAAS,eAAe,cAAc,SAAS,eAAe,eAAe,QAAQ,QAAQ;AAEtI,QAAI,MAAM,YAAY,QAAQ;AAC5B,aAAO,MAAM,kBAAkB,YAAY,MAAM,kBAAkB,mBAAmB,aAAa;AAAA;AAGrG,QAAI,MAAM,YAAY,QAAQ;AAC5B,aAAO,MAAM,oBAAoB,MAAM,KAAK,UAAU,IAAI,aAAa;AAAA;AAGzE,QAAI,UAAU,cAAc,YAAY,cAAc,aAAa,QAAQ;AACzE,UAAI,qBAAqB,cAAc,aAAa,SAAS,SAAS;AACtE,aAAO,UAAW,gBAAe,UAAU,UAAU,eAAe,UAAU,sBAAsB,aAAa;AAAA;AAGnH,WAAO,UAAW,eAAc,YAAY,WAAW,cAAc,YAAY,UAAU,cAAc,YAAY,WAAW,cAAc,YAAY,UAAU,mBAAmB,WAAW,MAAM,sBAAsB,UAAU,UAAU,MAAM,sBAAsB,UAAU,kBAAkB,mBAAmB,WAAW,aAAa;AAAA;AAvCvV,MAyCI,qBAAqB,6BAA4B,UAAU,YAAY,UAAU;AACnF,QAAI,cAAc,WAAW,SAAS,OAAO,SAAS,KAClD,cAAc,WAAW,SAAS,QAAQ,SAAS,QACnD,kBAAkB,WAAW,SAAS,QAAQ,SAAS,QACvD,cAAc,WAAW,WAAW,OAAO,WAAW,KACtD,cAAc,WAAW,WAAW,QAAQ,WAAW,QACvD,kBAAkB,WAAW,WAAW,QAAQ,WAAW;AAC/D,WAAO,gBAAgB,eAAe,gBAAgB,eAAe,cAAc,kBAAkB,MAAM,cAAc,kBAAkB;AAAA;AAhD7I,MAyDA,8BAA8B,sCAAqC,GAAG,IAAG;AACvE,QAAI;AACJ,cAAU,KAAK,SAAU,UAAU;AACjC,UAAI,YAAY,SAAS,SAAS,QAAQ;AAC1C,UAAI,CAAC,aAAa,UAAU;AAAW;AACvC,UAAI,OAAO,QAAQ,WACf,qBAAqB,KAAK,KAAK,OAAO,aAAa,KAAK,KAAK,QAAQ,WACrE,mBAAmB,MAAK,KAAK,MAAM,aAAa,MAAK,KAAK,SAAS;AAEvE,UAAI,sBAAsB,kBAAkB;AAC1C,eAAO,MAAM;AAAA;AAAA;AAGjB,WAAO;AAAA;AAtET,MAwEI,gBAAgB,wBAAuB,SAAS;AAClD,kBAAc,OAAO,MAAM;AACzB,aAAO,SAAU,MAAI,QAAM,SAAQ,KAAK;AACtC,YAAI,YAAY,KAAG,QAAQ,MAAM,QAAQ,OAAK,QAAQ,MAAM,QAAQ,KAAG,QAAQ,MAAM,SAAS,OAAK,QAAQ,MAAM;AAEjH,YAAI,SAAS,QAAS,SAAQ,YAAY;AAGxC,iBAAO;AAAA,mBACE,SAAS,QAAQ,UAAU,OAAO;AAC3C,iBAAO;AAAA,mBACE,QAAQ,UAAU,SAAS;AACpC,iBAAO;AAAA,mBACE,OAAO,UAAU,YAAY;AACtC,iBAAO,KAAK,MAAM,MAAI,QAAM,SAAQ,MAAM,MAAM,MAAI,QAAM,SAAQ;AAAA,eAC7D;AACL,cAAI,aAAc,QAAO,OAAK,QAAM,QAAQ,MAAM;AAClD,iBAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,UAAU,cAAc,MAAM,QAAQ,MAAM,QAAQ,cAAc;AAAA;AAAA;AAAA;AAK9H,QAAI,QAAQ;AACZ,QAAI,gBAAgB,QAAQ;AAE5B,QAAI,CAAC,iBAAiB,QAAQ,kBAAkB,UAAU;AACxD,sBAAgB;AAAA,QACd,MAAM;AAAA;AAAA;AAIV,UAAM,OAAO,cAAc;AAC3B,UAAM,YAAY,KAAK,cAAc,MAAM;AAC3C,UAAM,WAAW,KAAK,cAAc;AACpC,UAAM,cAAc,cAAc;AAClC,YAAQ,QAAQ;AAAA;AA3GlB,MA6GI,sBAAsB,gCAA+B;AACvD,QAAI,CAAC,2BAA2B,SAAS;AACvC,UAAI,SAAS,WAAW;AAAA;AAAA;AA/G5B,MAkHI,wBAAwB,kCAAiC;AAC3D,QAAI,CAAC,2BAA2B,SAAS;AACvC,UAAI,SAAS,WAAW;AAAA;AAAA;AAK5B,MAAI,kBAAkB,CAAC,kBAAkB;AACvC,aAAS,iBAAiB,SAAS,SAAU,KAAK;AAChD,UAAI,iBAAiB;AACnB,YAAI;AACJ,YAAI,mBAAmB,IAAI;AAC3B,YAAI,4BAA4B,IAAI;AACpC,0BAAkB;AAClB,eAAO;AAAA;AAAA,OAER;AAAA;AAGL,MAAI,gCAAgC,wCAAuC,KAAK;AAC9E,QAAI,QAAQ;AACV,YAAM,IAAI,UAAU,IAAI,QAAQ,KAAK;AAErC,UAAI,UAAU,4BAA4B,IAAI,SAAS,IAAI;AAE3D,UAAI,SAAS;AAEX,YAAI,SAAQ;AAEZ,iBAAS,KAAK,KAAK;AACjB,cAAI,IAAI,eAAe,IAAI;AACzB,mBAAM,KAAK,IAAI;AAAA;AAAA;AAInB,eAAM,SAAS,OAAM,SAAS;AAC9B,eAAM,iBAAiB;AACvB,eAAM,kBAAkB;AAExB,gBAAQ,SAAS,YAAY;AAAA;AAAA;AAAA;AAKnC,MAAI,wBAAwB,gCAA+B,KAAK;AAC9D,QAAI,QAAQ;AACV,aAAO,WAAW,SAAS,iBAAiB,IAAI;AAAA;AAAA;AAUpD,oBAAkB,KAAI,SAAS;AAC7B,QAAI,CAAE,QAAM,IAAG,YAAY,IAAG,aAAa,IAAI;AAC7C,YAAM,8CAA8C,OAAO,GAAG,SAAS,KAAK;AAAA;AAG9E,SAAK,KAAK;AAEV,SAAK,UAAU,UAAU,SAAS,IAAI;AAEtC,QAAG,WAAW;AACd,QAAI,YAAW;AAAA,MACb,OAAO;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,MACV,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,WAAW,WAAW,KAAK,IAAG,YAAY,QAAQ;AAAA,MAClD,eAAe;AAAA,MAEf,YAAY;AAAA,MAEZ,uBAAuB;AAAA,MAEvB,mBAAmB;AAAA,MACnB,WAAW,qBAAqB;AAC9B,eAAO,iBAAiB,KAAI,KAAK;AAAA;AAAA,MAEnC,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,SAAS,iBAAiB,cAAc,SAAQ;AAC9C,qBAAa,QAAQ,QAAQ,QAAO;AAAA;AAAA,MAEtC,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,kBAAkB;AAAA,MAClB,qBAAsB,QAAO,WAAW,SAAS,QAAQ,SAAS,OAAO,kBAAkB,OAAO;AAAA,MAClG,eAAe;AAAA,MACf,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,mBAAmB;AAAA,MACnB,gBAAgB;AAAA,QACd,GAAG;AAAA,QACH,GAAG;AAAA;AAAA,MAEL,gBAAgB,SAAS,mBAAmB,SAAS,kBAAkB,UAAU,CAAC;AAAA,MAClF,sBAAsB;AAAA;AAExB,kBAAc,kBAAkB,MAAM,KAAI;AAE1C,aAAS,SAAQ,WAAU;AACzB,OAAE,UAAQ,YAAa,SAAQ,SAAQ,UAAS;AAAA;AAGlD,kBAAc;AAGd,aAAS,OAAM,MAAM;AACnB,UAAI,IAAG,OAAO,OAAO,OAAO,OAAO,KAAK,SAAQ,YAAY;AAC1D,aAAK,OAAM,KAAK,KAAI,KAAK;AAAA;AAAA;AAK7B,SAAK,kBAAkB,QAAQ,gBAAgB,QAAQ;AAEvD,QAAI,KAAK,iBAAiB;AAExB,WAAK,QAAQ,sBAAsB;AAAA;AAIrC,QAAI,QAAQ,gBAAgB;AAC1B,SAAG,KAAI,eAAe,KAAK;AAAA,WACtB;AACL,SAAG,KAAI,aAAa,KAAK;AACzB,SAAG,KAAI,cAAc,KAAK;AAAA;AAG5B,QAAI,KAAK,iBAAiB;AACxB,SAAG,KAAI,YAAY;AACnB,SAAG,KAAI,aAAa;AAAA;AAGtB,cAAU,KAAK,KAAK;AAEpB,YAAQ,SAAS,QAAQ,MAAM,OAAO,KAAK,KAAK,QAAQ,MAAM,IAAI,SAAS;AAE3E,aAAS,MAAM;AAAA;AAGjB,WAAS,YAET;AAAA,IACE,aAAa;AAAA,IACb,kBAAkB,0BAA0B,QAAQ;AAClD,UAAI,CAAC,KAAK,GAAG,SAAS,WAAW,WAAW,KAAK,IAAI;AACnD,qBAAa;AAAA;AAAA;AAAA,IAGjB,eAAe,uBAAuB,KAAK,QAAQ;AACjD,aAAO,OAAO,KAAK,QAAQ,cAAc,aAAa,KAAK,QAAQ,UAAU,KAAK,MAAM,KAAK,QAAQ,UAAU,KAAK,QAAQ;AAAA;AAAA,IAE9H,aAAa,qBAEb,KAAK;AACH,UAAI,CAAC,IAAI;AAAY;AAErB,UAAI,QAAQ,MACR,MAAK,KAAK,IACV,UAAU,KAAK,SACf,kBAAkB,QAAQ,iBAC1B,OAAO,IAAI,MACX,QAAQ,IAAI,WAAW,IAAI,QAAQ,MAAM,IAAI,eAAe,IAAI,gBAAgB,WAAW,KAC3F,SAAU,UAAS,KAAK,QACxB,iBAAiB,IAAI,OAAO,cAAe,KAAI,QAAQ,IAAI,KAAK,MAAM,IAAI,gBAAgB,IAAI,eAAe,OAAO,QACpH,SAAS,QAAQ;AAErB,6BAAuB;AAGvB,UAAI,QAAQ;AACV;AAAA;AAGF,UAAI,wBAAwB,KAAK,SAAS,IAAI,WAAW,KAAK,QAAQ,UAAU;AAC9E;AAAA;AAIF,UAAI,eAAe,mBAAmB;AACpC;AAAA;AAIF,UAAI,CAAC,KAAK,mBAAmB,UAAU,UAAU,OAAO,QAAQ,kBAAkB,UAAU;AAC1F;AAAA;AAGF,eAAS,QAAQ,QAAQ,QAAQ,WAAW,KAAI;AAEhD,UAAI,UAAU,OAAO,UAAU;AAC7B;AAAA;AAGF,UAAI,eAAe,QAAQ;AAEzB;AAAA;AAIF,iBAAW,MAAM;AACjB,0BAAoB,MAAM,QAAQ,QAAQ;AAE1C,UAAI,OAAO,WAAW,YAAY;AAChC,YAAI,OAAO,KAAK,MAAM,KAAK,QAAQ,OAAO;AACxC,yBAAe;AAAA,YACb,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,MAAM;AAAA,YACN,UAAU;AAAA,YACV,MAAM;AAAA,YACN,QAAQ;AAAA;AAGV,uBAAY,UAAU,OAAO;AAAA,YAC3B;AAAA;AAEF,6BAAmB,IAAI,cAAc,IAAI;AACzC;AAAA;AAAA,iBAEO,QAAQ;AACjB,iBAAS,OAAO,MAAM,KAAK,KAAK,SAAU,UAAU;AAClD,qBAAW,QAAQ,gBAAgB,SAAS,QAAQ,KAAI;AAExD,cAAI,UAAU;AACZ,2BAAe;AAAA,cACb,UAAU;AAAA,cACV,QAAQ;AAAA,cACR,MAAM;AAAA,cACN,UAAU;AAAA,cACV,QAAQ;AAAA,cACR,MAAM;AAAA;AAGR,yBAAY,UAAU,OAAO;AAAA,cAC3B;AAAA;AAEF,mBAAO;AAAA;AAAA;AAIX,YAAI,QAAQ;AACV,6BAAmB,IAAI,cAAc,IAAI;AACzC;AAAA;AAAA;AAIJ,UAAI,QAAQ,UAAU,CAAC,QAAQ,gBAAgB,QAAQ,QAAQ,KAAI,QAAQ;AACzE;AAAA;AAIF,WAAK,kBAAkB,KAAK,OAAO;AAAA;AAAA,IAErC,mBAAmB,2BAEnB,KAEA,OAEA,QAAQ;AACN,UAAI,QAAQ,MACR,MAAK,MAAM,IACX,UAAU,MAAM,SAChB,gBAAgB,IAAG,eACnB;AAEJ,UAAI,UAAU,CAAC,UAAU,OAAO,eAAe,KAAI;AACjD,YAAI,WAAW,QAAQ;AACvB,iBAAS;AACT,iBAAS;AACT,mBAAW,OAAO;AAClB,iBAAS,OAAO;AAChB,qBAAa;AACb,sBAAc,QAAQ;AACtB,iBAAS,UAAU;AACnB,iBAAS;AAAA,UACP,QAAQ;AAAA,UACR,SAAU,UAAS,KAAK;AAAA,UACxB,SAAU,UAAS,KAAK;AAAA;AAE1B,0BAAkB,OAAO,UAAU,SAAS;AAC5C,yBAAiB,OAAO,UAAU,SAAS;AAC3C,aAAK,SAAU,UAAS,KAAK;AAC7B,aAAK,SAAU,UAAS,KAAK;AAC7B,eAAO,MAAM,iBAAiB;AAE9B,sBAAc,wBAAuB;AACnC,uBAAY,cAAc,OAAO;AAAA,YAC/B;AAAA;AAGF,cAAI,SAAS,eAAe;AAC1B,kBAAM;AAEN;AAAA;AAKF,gBAAM;AAEN,cAAI,CAAC,WAAW,MAAM,iBAAiB;AACrC,mBAAO,YAAY;AAAA;AAIrB,gBAAM,kBAAkB,KAAK;AAG7B,yBAAe;AAAA,YACb,UAAU;AAAA,YACV,MAAM;AAAA,YACN,eAAe;AAAA;AAIjB,sBAAY,QAAQ,QAAQ,aAAa;AAAA;AAI3C,gBAAQ,OAAO,MAAM,KAAK,QAAQ,SAAU,UAAU;AACpD,gBAAK,QAAQ,SAAS,QAAQ;AAAA;AAEhC,WAAG,eAAe,YAAY;AAC9B,WAAG,eAAe,aAAa;AAC/B,WAAG,eAAe,aAAa;AAC/B,WAAG,eAAe,WAAW,MAAM;AACnC,WAAG,eAAe,YAAY,MAAM;AACpC,WAAG,eAAe,eAAe,MAAM;AAEvC,YAAI,WAAW,KAAK,iBAAiB;AACnC,eAAK,QAAQ,sBAAsB;AACnC,iBAAO,YAAY;AAAA;AAGrB,qBAAY,cAAc,MAAM;AAAA,UAC9B;AAAA;AAGF,YAAI,QAAQ,SAAU,EAAC,QAAQ,oBAAoB,UAAW,EAAC,KAAK,mBAAmB,CAAE,SAAQ,cAAc;AAC7G,cAAI,SAAS,eAAe;AAC1B,iBAAK;AAEL;AAAA;AAMF,aAAG,eAAe,WAAW,MAAM;AACnC,aAAG,eAAe,YAAY,MAAM;AACpC,aAAG,eAAe,eAAe,MAAM;AACvC,aAAG,eAAe,aAAa,MAAM;AACrC,aAAG,eAAe,aAAa,MAAM;AACrC,kBAAQ,kBAAkB,GAAG,eAAe,eAAe,MAAM;AACjE,gBAAM,kBAAkB,WAAW,aAAa,QAAQ;AAAA,eACnD;AACL;AAAA;AAAA;AAAA;AAAA,IAIN,8BAA8B,sCAE9B,GAAG;AACD,UAAI,QAAQ,EAAE,UAAU,EAAE,QAAQ,KAAK;AAEvC,UAAI,KAAK,IAAI,KAAK,IAAI,MAAM,UAAU,KAAK,SAAS,KAAK,IAAI,MAAM,UAAU,KAAK,YAAY,KAAK,MAAM,KAAK,QAAQ,sBAAuB,MAAK,mBAAmB,OAAO,oBAAoB,KAAK;AACnM,aAAK;AAAA;AAAA;AAAA,IAGT,qBAAqB,+BAA+B;AAClD,gBAAU,kBAAkB;AAC5B,mBAAa,KAAK;AAElB,WAAK;AAAA;AAAA,IAEP,2BAA2B,qCAAqC;AAC9D,UAAI,gBAAgB,KAAK,GAAG;AAC5B,UAAI,eAAe,WAAW,KAAK;AACnC,UAAI,eAAe,YAAY,KAAK;AACpC,UAAI,eAAe,eAAe,KAAK;AACvC,UAAI,eAAe,aAAa,KAAK;AACrC,UAAI,eAAe,aAAa,KAAK;AACrC,UAAI,eAAe,eAAe,KAAK;AAAA;AAAA,IAEzC,mBAAmB,2BAEnB,KAEA,OAAO;AACL,cAAQ,SAAS,IAAI,eAAe,WAAW;AAE/C,UAAI,CAAC,KAAK,mBAAmB,OAAO;AAClC,YAAI,KAAK,QAAQ,gBAAgB;AAC/B,aAAG,UAAU,eAAe,KAAK;AAAA,mBACxB,OAAO;AAChB,aAAG,UAAU,aAAa,KAAK;AAAA,eAC1B;AACL,aAAG,UAAU,aAAa,KAAK;AAAA;AAAA,aAE5B;AACL,WAAG,QAAQ,WAAW;AACtB,WAAG,QAAQ,aAAa,KAAK;AAAA;AAG/B,UAAI;AACF,YAAI,SAAS,WAAW;AAEtB,oBAAU,WAAY;AACpB,qBAAS,UAAU;AAAA;AAAA,eAEhB;AACL,iBAAO,eAAe;AAAA;AAAA,eAEjB,KAAP;AAAA;AAAA;AAAA,IAEJ,cAAc,sBAAsB,UAAU,KAAK;AAEjD,4BAAsB;AAEtB,UAAI,UAAU,QAAQ;AACpB,qBAAY,eAAe,MAAM;AAAA,UAC/B;AAAA;AAGF,YAAI,KAAK,iBAAiB;AACxB,aAAG,UAAU,YAAY;AAAA;AAG3B,YAAI,UAAU,KAAK;AAEnB,SAAC,YAAY,YAAY,QAAQ,QAAQ,WAAW;AACpD,oBAAY,QAAQ,QAAQ,YAAY;AACxC,iBAAS,SAAS;AAClB,oBAAY,KAAK;AAEjB,uBAAe;AAAA,UACb,UAAU;AAAA,UACV,MAAM;AAAA,UACN,eAAe;AAAA;AAAA,aAEZ;AACL,aAAK;AAAA;AAAA;AAAA,IAGT,kBAAkB,4BAA4B;AAC5C,UAAI,UAAU;AACZ,aAAK,SAAS,SAAS;AACvB,aAAK,SAAS,SAAS;AAEvB;AAEA,YAAI,SAAS,SAAS,iBAAiB,SAAS,SAAS,SAAS;AAClE,YAAI,SAAS;AAEb,eAAO,UAAU,OAAO,YAAY;AAClC,mBAAS,OAAO,WAAW,iBAAiB,SAAS,SAAS,SAAS;AACvE,cAAI,WAAW;AAAQ;AACvB,mBAAS;AAAA;AAGX,eAAO,WAAW,SAAS,iBAAiB;AAE5C,YAAI,QAAQ;AACV,aAAG;AACD,gBAAI,OAAO,UAAU;AACnB,kBAAI,WAAW;AACf,yBAAW,OAAO,SAAS,YAAY;AAAA,gBACrC,SAAS,SAAS;AAAA,gBAClB,SAAS,SAAS;AAAA,gBAClB;AAAA,gBACA,QAAQ;AAAA;AAGV,kBAAI,YAAY,CAAC,KAAK,QAAQ,gBAAgB;AAC5C;AAAA;AAAA;AAIJ,qBAAS;AAAA,mBAGJ,SAAS,OAAO;AAAA;AAGzB;AAAA;AAAA;AAAA,IAGJ,cAAc,sBAEd,KAAK;AACH,UAAI,QAAQ;AACV,YAAI,UAAU,KAAK,SACf,oBAAoB,QAAQ,mBAC5B,iBAAiB,QAAQ,gBACzB,QAAQ,IAAI,UAAU,IAAI,QAAQ,KAAK,KACvC,cAAc,WAAW,OAAO,SAAS,OACzC,SAAS,WAAW,eAAe,YAAY,GAC/C,SAAS,WAAW,eAAe,YAAY,GAC/C,uBAAuB,2BAA2B,uBAAuB,wBAAwB,sBACjG,KAAM,OAAM,UAAU,OAAO,UAAU,eAAe,KAAM,WAAU,KAAM,wBAAuB,qBAAqB,KAAK,iCAAiC,KAAK,KAAM,WAAU,IACnL,KAAM,OAAM,UAAU,OAAO,UAAU,eAAe,KAAM,WAAU,KAAM,wBAAuB,qBAAqB,KAAK,iCAAiC,KAAK,KAAM,WAAU;AAEvL,YAAI,CAAC,SAAS,UAAU,CAAC,qBAAqB;AAC5C,cAAI,qBAAqB,KAAK,IAAI,KAAK,IAAI,MAAM,UAAU,KAAK,SAAS,KAAK,IAAI,MAAM,UAAU,KAAK,WAAW,mBAAmB;AACnI;AAAA;AAGF,eAAK,aAAa,KAAK;AAAA;AAGzB,YAAI,SAAS;AACX,cAAI,aAAa;AACf,wBAAY,KAAK,KAAM,WAAU;AACjC,wBAAY,KAAK,KAAM,WAAU;AAAA,iBAC5B;AACL,0BAAc;AAAA,cACZ,GAAG;AAAA,cACH,GAAG;AAAA,cACH,GAAG;AAAA,cACH,GAAG;AAAA,cACH,GAAG;AAAA,cACH,GAAG;AAAA;AAAA;AAIP,cAAI,YAAY,UAAU,OAAO,YAAY,GAAG,KAAK,OAAO,YAAY,GAAG,KAAK,OAAO,YAAY,GAAG,KAAK,OAAO,YAAY,GAAG,KAAK,OAAO,YAAY,GAAG,KAAK,OAAO,YAAY,GAAG;AACvL,cAAI,SAAS,mBAAmB;AAChC,cAAI,SAAS,gBAAgB;AAC7B,cAAI,SAAS,eAAe;AAC5B,cAAI,SAAS,aAAa;AAC1B,mBAAS;AACT,mBAAS;AACT,qBAAW;AAAA;AAGb,YAAI,cAAc,IAAI;AAAA;AAAA;AAAA,IAG1B,cAAc,wBAAwB;AAGpC,UAAI,CAAC,SAAS;AACZ,YAAI,YAAY,KAAK,QAAQ,iBAAiB,SAAS,OAAO,QAC1D,OAAO,QAAQ,QAAQ,MAAM,yBAAyB,MAAM,YAC5D,UAAU,KAAK;AAEnB,YAAI,yBAAyB;AAE3B,gCAAsB;AAEtB,iBAAO,IAAI,qBAAqB,gBAAgB,YAAY,IAAI,qBAAqB,iBAAiB,UAAU,wBAAwB,UAAU;AAChJ,kCAAsB,oBAAoB;AAAA;AAG5C,cAAI,wBAAwB,SAAS,QAAQ,wBAAwB,SAAS,iBAAiB;AAC7F,gBAAI,wBAAwB;AAAU,oCAAsB;AAC5D,iBAAK,OAAO,oBAAoB;AAChC,iBAAK,QAAQ,oBAAoB;AAAA,iBAC5B;AACL,kCAAsB;AAAA;AAGxB,6CAAmC,wBAAwB;AAAA;AAG7D,kBAAU,OAAO,UAAU;AAC3B,oBAAY,SAAS,QAAQ,YAAY;AACzC,oBAAY,SAAS,QAAQ,eAAe;AAC5C,oBAAY,SAAS,QAAQ,WAAW;AACxC,YAAI,SAAS,cAAc;AAC3B,YAAI,SAAS,aAAa;AAC1B,YAAI,SAAS,cAAc;AAC3B,YAAI,SAAS,UAAU;AACvB,YAAI,SAAS,OAAO,KAAK;AACzB,YAAI,SAAS,QAAQ,KAAK;AAC1B,YAAI,SAAS,SAAS,KAAK;AAC3B,YAAI,SAAS,UAAU,KAAK;AAC5B,YAAI,SAAS,WAAW;AACxB,YAAI,SAAS,YAAY,0BAA0B,aAAa;AAChE,YAAI,SAAS,UAAU;AACvB,YAAI,SAAS,iBAAiB;AAC9B,iBAAS,QAAQ;AACjB,kBAAU,YAAY;AAEtB,YAAI,SAAS,oBAAoB,kBAAkB,SAAS,QAAQ,MAAM,SAAS,MAAM,OAAO,iBAAiB,SAAS,QAAQ,MAAM,UAAU,MAAM;AAAA;AAAA;AAAA,IAG5J,cAAc,sBAEd,KAEA,UAAU;AACR,UAAI,QAAQ;AAEZ,UAAI,eAAe,IAAI;AACvB,UAAI,UAAU,MAAM;AACpB,mBAAY,aAAa,MAAM;AAAA,QAC7B;AAAA;AAGF,UAAI,SAAS,eAAe;AAC1B,aAAK;AAEL;AAAA;AAGF,mBAAY,cAAc;AAE1B,UAAI,CAAC,SAAS,eAAe;AAC3B,kBAAU,MAAM;AAChB,gBAAQ,gBAAgB;AACxB,gBAAQ,YAAY;AACpB,gBAAQ,MAAM,iBAAiB;AAE/B,aAAK;AAEL,oBAAY,SAAS,KAAK,QAAQ,aAAa;AAC/C,iBAAS,QAAQ;AAAA;AAInB,YAAM,UAAU,UAAU,WAAY;AACpC,qBAAY,SAAS;AACrB,YAAI,SAAS;AAAe;AAE5B,YAAI,CAAC,MAAM,QAAQ,mBAAmB;AACpC,iBAAO,aAAa,SAAS;AAAA;AAG/B,cAAM;AAEN,uBAAe;AAAA,UACb,UAAU;AAAA,UACV,MAAM;AAAA;AAAA;AAGV,OAAC,YAAY,YAAY,QAAQ,QAAQ,WAAW;AAEpD,UAAI,UAAU;AACZ,0BAAkB;AAClB,cAAM,UAAU,YAAY,MAAM,kBAAkB;AAAA,aAC/C;AAEL,YAAI,UAAU,WAAW,MAAM;AAC/B,YAAI,UAAU,YAAY,MAAM;AAChC,YAAI,UAAU,eAAe,MAAM;AAEnC,YAAI,cAAc;AAChB,uBAAa,gBAAgB;AAC7B,kBAAQ,WAAW,QAAQ,QAAQ,KAAK,OAAO,cAAc;AAAA;AAG/D,WAAG,UAAU,QAAQ;AAErB,YAAI,QAAQ,aAAa;AAAA;AAG3B,4BAAsB;AACtB,YAAM,eAAe,UAAU,MAAM,aAAa,KAAK,OAAO,UAAU;AACxE,SAAG,UAAU,eAAe;AAC5B,cAAQ;AAER,UAAI,QAAQ;AACV,YAAI,SAAS,MAAM,eAAe;AAAA;AAAA;AAAA,IAItC,aAAa,qBAEb,KAAK;AACH,UAAI,MAAK,KAAK,IACV,SAAS,IAAI,QACb,UACA,YACA,QACA,UAAU,KAAK,SACf,QAAQ,QAAQ,OAChB,iBAAiB,SAAS,QAC1B,UAAU,gBAAgB,OAC1B,UAAU,QAAQ,MAClB,eAAe,eAAe,gBAC9B,UACA,QAAQ,MACR,iBAAiB;AAErB,UAAI;AAAS;AAEb,6BAAuB,OAAM,OAAO;AAClC,qBAAY,OAAM,OAAO,eAAe;AAAA,UACtC;AAAA,UACA;AAAA,UACA,MAAM,WAAW,aAAa;AAAA,UAC9B;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,QAAQ,gBAAgB,SAAQ,QAAO;AACrC,mBAAO,QAAQ,QAAQ,KAAI,QAAQ,UAAU,SAAQ,QAAQ,UAAS,KAAK;AAAA;AAAA,UAE7E;AAAA,WACC;AAAA;AAIL,yBAAmB;AACjB,sBAAc;AAEd,cAAM;AAEN,YAAI,UAAU,cAAc;AAC1B,uBAAa;AAAA;AAAA;AAKjB,yBAAmB,WAAW;AAC5B,sBAAc,qBAAqB;AAAA,UACjC;AAAA;AAGF,YAAI,WAAW;AAEb,cAAI,SAAS;AACX,2BAAe;AAAA,iBACV;AACL,2BAAe,WAAW;AAAA;AAG5B,cAAI,UAAU,cAAc;AAE1B,wBAAY,QAAQ,cAAc,YAAY,QAAQ,aAAa,eAAe,QAAQ,YAAY;AACtG,wBAAY,QAAQ,QAAQ,YAAY;AAAA;AAG1C,cAAI,gBAAgB,SAAS,UAAU,SAAS,QAAQ;AACtD,0BAAc;AAAA,qBACL,UAAU,SAAS,UAAU,aAAa;AACnD,0BAAc;AAAA;AAIhB,cAAI,iBAAiB,OAAO;AAC1B,kBAAM,wBAAwB;AAAA;AAGhC,gBAAM,WAAW,WAAY;AAC3B,0BAAc;AACd,kBAAM,wBAAwB;AAAA;AAGhC,cAAI,UAAU,cAAc;AAC1B,yBAAa;AACb,yBAAa,wBAAwB;AAAA;AAAA;AAKzC,YAAI,WAAW,UAAU,CAAC,OAAO,YAAY,WAAW,OAAM,CAAC,OAAO,UAAU;AAC9E,uBAAa;AAAA;AAIf,YAAI,CAAC,QAAQ,kBAAkB,CAAC,IAAI,UAAU,WAAW,UAAU;AACjE,iBAAO,WAAW,SAAS,iBAAiB,IAAI;AAGhD,WAAC,aAAa,8BAA8B;AAAA;AAG9C,SAAC,QAAQ,kBAAkB,IAAI,mBAAmB,IAAI;AACtD,eAAO,iBAAiB;AAAA;AAI1B,yBAAmB;AACjB,mBAAW,MAAM;AACjB,4BAAoB,MAAM,QAAQ,QAAQ;AAE1C,uBAAe;AAAA,UACb,UAAU;AAAA,UACV,MAAM;AAAA,UACN,MAAM;AAAA,UACN;AAAA,UACA;AAAA,UACA,eAAe;AAAA;AAAA;AAInB,UAAI,IAAI,mBAAmB,QAAQ;AACjC,YAAI,cAAc,IAAI;AAAA;AAGxB,eAAS,QAAQ,QAAQ,QAAQ,WAAW,KAAI;AAChD,oBAAc;AACd,UAAI,SAAS;AAAe,eAAO;AAEnC,UAAI,OAAO,SAAS,IAAI,WAAW,OAAO,YAAY,OAAO,cAAc,OAAO,cAAc,MAAM,0BAA0B,QAAQ;AACtI,eAAO,UAAU;AAAA;AAGnB,wBAAkB;AAElB,UAAI,kBAAkB,CAAC,QAAQ,YAAa,WAAU,WAAY,UAAS,aAAa,UACtF,gBAAgB,QAAS,MAAK,cAAc,YAAY,UAAU,MAAM,gBAAgB,QAAQ,SAAS,MAAM,SAAS,MAAM,gBAAgB,QAAQ,OAAO;AAC7J,mBAAW,KAAK,cAAc,KAAK,YAAY;AAC/C,mBAAW,QAAQ;AACnB,sBAAc;AACd,YAAI,SAAS;AAAe,iBAAO;AAEnC,YAAI,QAAQ;AACV,qBAAW;AAEX;AAEA,eAAK;AAEL,wBAAc;AAEd,cAAI,CAAC,SAAS,eAAe;AAC3B,gBAAI,QAAQ;AACV,qBAAO,aAAa,QAAQ;AAAA,mBACvB;AACL,qBAAO,YAAY;AAAA;AAAA;AAIvB,iBAAO,UAAU;AAAA;AAGnB,YAAI,cAAc,UAAU,KAAI,QAAQ;AAExC,YAAI,CAAC,eAAe,aAAa,KAAK,UAAU,SAAS,CAAC,YAAY,UAAU;AAG9E,cAAI,gBAAgB,QAAQ;AAC1B,mBAAO,UAAU;AAAA;AAInB,cAAI,eAAe,QAAO,IAAI,QAAQ;AACpC,qBAAS;AAAA;AAGX,cAAI,QAAQ;AACV,yBAAa,QAAQ;AAAA;AAGvB,cAAI,QAAQ,QAAQ,KAAI,QAAQ,UAAU,QAAQ,YAAY,KAAK,CAAC,CAAC,YAAY,OAAO;AACtF;AAEA,gBAAI,eAAe,YAAY,aAAa;AAE1C,kBAAG,aAAa,QAAQ,YAAY;AAAA,mBAC/B;AACL,kBAAG,YAAY;AAAA;AAGjB,uBAAW;AAEX;AACA,mBAAO,UAAU;AAAA;AAAA,mBAEV,eAAe,cAAc,KAAK,UAAU,OAAO;AAE5D,cAAI,aAAa,SAAS,KAAI,GAAG,SAAS;AAE1C,cAAI,eAAe,QAAQ;AACzB,mBAAO,UAAU;AAAA;AAGnB,mBAAS;AACT,uBAAa,QAAQ;AAErB,cAAI,QAAQ,QAAQ,KAAI,QAAQ,UAAU,QAAQ,YAAY,KAAK,WAAW,OAAO;AACnF;AACA,gBAAG,aAAa,QAAQ;AACxB,uBAAW;AAEX;AACA,mBAAO,UAAU;AAAA;AAAA,mBAEV,OAAO,eAAe,KAAI;AACnC,uBAAa,QAAQ;AACrB,cAAI,YAAY,GACZ,uBACA,iBAAiB,OAAO,eAAe,KACvC,kBAAkB,CAAC,mBAAmB,OAAO,YAAY,OAAO,UAAU,UAAU,OAAO,YAAY,OAAO,UAAU,YAAY,WACpI,QAAQ,WAAW,QAAQ,QAC3B,kBAAkB,eAAe,QAAQ,OAAO,UAAU,eAAe,QAAQ,OAAO,QACxF,eAAe,kBAAkB,gBAAgB,YAAY;AAEjE,cAAI,eAAe,QAAQ;AACzB,oCAAwB,WAAW;AACnC,oCAAwB;AACxB,qCAAyB,CAAC,mBAAmB,QAAQ,cAAc;AAAA;AAGrE,sBAAY,kBAAkB,KAAK,QAAQ,YAAY,UAAU,kBAAkB,IAAI,QAAQ,eAAe,QAAQ,yBAAyB,OAAO,QAAQ,gBAAgB,QAAQ,uBAAuB,wBAAwB,eAAe;AACpP,cAAI;AAEJ,cAAI,cAAc,GAAG;AAEnB,gBAAI,YAAY,MAAM;AAEtB,eAAG;AACD,2BAAa;AACb,wBAAU,SAAS,SAAS;AAAA,qBACrB,WAAY,KAAI,SAAS,eAAe,UAAU,YAAY;AAAA;AAIzE,cAAI,cAAc,KAAK,YAAY,QAAQ;AACzC,mBAAO,UAAU;AAAA;AAGnB,uBAAa;AACb,0BAAgB;AAChB,cAAI,cAAc,OAAO,oBACrB,QAAQ;AACZ,kBAAQ,cAAc;AAEtB,cAAI,aAAa,QAAQ,QAAQ,KAAI,QAAQ,UAAU,QAAQ,YAAY,KAAK;AAEhF,cAAI,eAAe,OAAO;AACxB,gBAAI,eAAe,KAAK,eAAe,IAAI;AACzC,sBAAQ,eAAe;AAAA;AAGzB,sBAAU;AACV,uBAAW,WAAW;AACtB;AAEA,gBAAI,SAAS,CAAC,aAAa;AACzB,kBAAG,YAAY;AAAA,mBACV;AACL,qBAAO,WAAW,aAAa,QAAQ,QAAQ,cAAc;AAAA;AAI/D,gBAAI,iBAAiB;AACnB,uBAAS,iBAAiB,GAAG,eAAe,gBAAgB;AAAA;AAG9D,uBAAW,OAAO;AAGlB,gBAAI,0BAA0B,UAAa,CAAC,wBAAwB;AAClE,mCAAqB,KAAK,IAAI,wBAAwB,QAAQ,QAAQ;AAAA;AAGxE;AACA,mBAAO,UAAU;AAAA;AAAA;AAIrB,YAAI,IAAG,SAAS,SAAS;AACvB,iBAAO,UAAU;AAAA;AAAA;AAIrB,aAAO;AAAA;AAAA,IAET,uBAAuB;AAAA,IACvB,gBAAgB,0BAA0B;AACxC,UAAI,UAAU,aAAa,KAAK;AAChC,UAAI,UAAU,aAAa,KAAK;AAChC,UAAI,UAAU,eAAe,KAAK;AAClC,UAAI,UAAU,YAAY;AAC1B,UAAI,UAAU,aAAa;AAC3B,UAAI,UAAU,aAAa;AAAA;AAAA,IAE7B,cAAc,wBAAwB;AACpC,UAAI,gBAAgB,KAAK,GAAG;AAC5B,UAAI,eAAe,WAAW,KAAK;AACnC,UAAI,eAAe,YAAY,KAAK;AACpC,UAAI,eAAe,aAAa,KAAK;AACrC,UAAI,eAAe,eAAe,KAAK;AACvC,UAAI,UAAU,eAAe;AAAA;AAAA,IAE/B,SAAS,iBAET,KAAK;AACH,UAAI,MAAK,KAAK,IACV,UAAU,KAAK;AAEnB,iBAAW,MAAM;AACjB,0BAAoB,MAAM,QAAQ,QAAQ;AAC1C,mBAAY,QAAQ,MAAM;AAAA,QACxB;AAAA;AAEF,iBAAW,UAAU,OAAO;AAE5B,iBAAW,MAAM;AACjB,0BAAoB,MAAM,QAAQ,QAAQ;AAE1C,UAAI,SAAS,eAAe;AAC1B,aAAK;AAEL;AAAA;AAGF,4BAAsB;AACtB,+BAAyB;AACzB,8BAAwB;AACxB,oBAAc,KAAK;AACnB,mBAAa,KAAK;AAElB,sBAAgB,KAAK;AAErB,sBAAgB,KAAK;AAGrB,UAAI,KAAK,iBAAiB;AACxB,YAAI,UAAU,QAAQ;AACtB,YAAI,KAAI,aAAa,KAAK;AAAA;AAG5B,WAAK;AAEL,WAAK;AAEL,UAAI,QAAQ;AACV,YAAI,SAAS,MAAM,eAAe;AAAA;AAGpC,UAAI,QAAQ,aAAa;AAEzB,UAAI,KAAK;AACP,YAAI,OAAO;AACT,cAAI,cAAc,IAAI;AACtB,WAAC,QAAQ,cAAc,IAAI;AAAA;AAG7B,mBAAW,QAAQ,cAAc,QAAQ,WAAW,YAAY;AAEhE,YAAI,WAAW,YAAY,eAAe,YAAY,gBAAgB,SAAS;AAE7E,qBAAW,QAAQ,cAAc,QAAQ,WAAW,YAAY;AAAA;AAGlE,YAAI,QAAQ;AACV,cAAI,KAAK,iBAAiB;AACxB,gBAAI,QAAQ,WAAW;AAAA;AAGzB,4BAAkB;AAElB,iBAAO,MAAM,iBAAiB;AAG9B,cAAI,SAAS,CAAC,qBAAqB;AACjC,wBAAY,QAAQ,cAAc,YAAY,QAAQ,aAAa,KAAK,QAAQ,YAAY;AAAA;AAG9F,sBAAY,QAAQ,KAAK,QAAQ,aAAa;AAE9C,yBAAe;AAAA,YACb,UAAU;AAAA,YACV,MAAM;AAAA,YACN,MAAM;AAAA,YACN,UAAU;AAAA,YACV,mBAAmB;AAAA,YACnB,eAAe;AAAA;AAGjB,cAAI,WAAW,UAAU;AACvB,gBAAI,YAAY,GAAG;AAEjB,6BAAe;AAAA,gBACb,QAAQ;AAAA,gBACR,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,QAAQ;AAAA,gBACR,eAAe;AAAA;AAIjB,6BAAe;AAAA,gBACb,UAAU;AAAA,gBACV,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,eAAe;AAAA;AAIjB,6BAAe;AAAA,gBACb,QAAQ;AAAA,gBACR,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,QAAQ;AAAA,gBACR,eAAe;AAAA;AAGjB,6BAAe;AAAA,gBACb,UAAU;AAAA,gBACV,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,eAAe;AAAA;AAAA;AAInB,2BAAe,YAAY;AAAA,iBACtB;AACL,gBAAI,aAAa,UAAU;AACzB,kBAAI,YAAY,GAAG;AAEjB,+BAAe;AAAA,kBACb,UAAU;AAAA,kBACV,MAAM;AAAA,kBACN,MAAM;AAAA,kBACN,eAAe;AAAA;AAGjB,+BAAe;AAAA,kBACb,UAAU;AAAA,kBACV,MAAM;AAAA,kBACN,MAAM;AAAA,kBACN,eAAe;AAAA;AAAA;AAAA;AAAA;AAMvB,cAAI,SAAS,QAAQ;AAEnB,gBAAI,YAAY,QAAQ,aAAa,IAAI;AACvC,yBAAW;AACX,kCAAoB;AAAA;AAGtB,2BAAe;AAAA,cACb,UAAU;AAAA,cACV,MAAM;AAAA,cACN,MAAM;AAAA,cACN,eAAe;AAAA;AAIjB,iBAAK;AAAA;AAAA;AAAA;AAKX,WAAK;AAAA;AAAA,IAEP,UAAU,oBAAoB;AAC5B,mBAAY,WAAW;AACvB,eAAS,SAAS,WAAW,UAAU,SAAS,UAAU,aAAa,cAAc,SAAS,WAAW,QAAQ,WAAW,oBAAoB,WAAW,oBAAoB,aAAa,gBAAgB,cAAc,cAAc,SAAS,UAAU,SAAS,QAAQ,SAAS,QAAQ,SAAS,SAAS;AAC/S,wBAAkB,QAAQ,SAAU,KAAI;AACtC,YAAG,UAAU;AAAA;AAEf,wBAAkB,SAAS,SAAS,SAAS;AAAA;AAAA,IAE/C,aAAa,qBAEb,KAAK;AACH,cAAQ,IAAI;AAAA,aACL;AAAA,aACA;AACH,eAAK,QAAQ;AAEb;AAAA,aAEG;AAAA,aACA;AACH,cAAI,QAAQ;AACV,iBAAK,YAAY;AAEjB,4BAAgB;AAAA;AAGlB;AAAA,aAEG;AACH,cAAI;AACJ;AAAA;AAAA;AAAA,IAQN,SAAS,mBAAmB;AAC1B,UAAI,QAAQ,IACR,KACA,WAAW,KAAK,GAAG,UACnB,IAAI,GACJ,IAAI,SAAS,QACb,UAAU,KAAK;AAEnB,aAAO,IAAI,GAAG,KAAK;AACjB,cAAK,SAAS;AAEd,YAAI,QAAQ,KAAI,QAAQ,WAAW,KAAK,IAAI,QAAQ;AAClD,gBAAM,KAAK,IAAG,aAAa,QAAQ,eAAe,YAAY;AAAA;AAAA;AAIlE,aAAO;AAAA;AAAA,IAOT,MAAM,cAAc,OAAO,cAAc;AACvC,UAAI,QAAQ,IACR,UAAS,KAAK;AAClB,WAAK,UAAU,QAAQ,SAAU,KAAI,GAAG;AACtC,YAAI,MAAK,QAAO,SAAS;AAEzB,YAAI,QAAQ,KAAI,KAAK,QAAQ,WAAW,SAAQ,QAAQ;AACtD,gBAAM,OAAM;AAAA;AAAA,SAEb;AACH,sBAAgB,KAAK;AACrB,YAAM,QAAQ,SAAU,KAAI;AAC1B,YAAI,MAAM,MAAK;AACb,kBAAO,YAAY,MAAM;AACzB,kBAAO,YAAY,MAAM;AAAA;AAAA;AAG7B,sBAAgB,KAAK;AAAA;AAAA,IAMvB,MAAM,gBAAgB;AACpB,UAAI,QAAQ,KAAK,QAAQ;AACzB,eAAS,MAAM,OAAO,MAAM,IAAI;AAAA;AAAA,IASlC,SAAS,mBAAmB,KAAI,UAAU;AACxC,aAAO,QAAQ,KAAI,YAAY,KAAK,QAAQ,WAAW,KAAK,IAAI;AAAA;AAAA,IASlE,QAAQ,gBAAgB,OAAM,OAAO;AACnC,UAAI,UAAU,KAAK;AAEnB,UAAI,UAAU,QAAQ;AACpB,eAAO,QAAQ;AAAA,aACV;AACL,YAAI,gBAAgB,cAAc,aAAa,MAAM,OAAM;AAE3D,YAAI,OAAO,kBAAkB,aAAa;AACxC,kBAAQ,SAAQ;AAAA,eACX;AACL,kBAAQ,SAAQ;AAAA;AAGlB,YAAI,UAAS,SAAS;AACpB,wBAAc;AAAA;AAAA;AAAA;AAAA,IAQpB,SAAS,mBAAmB;AAC1B,mBAAY,WAAW;AACvB,UAAI,MAAK,KAAK;AACd,UAAG,WAAW;AACd,UAAI,KAAI,aAAa,KAAK;AAC1B,UAAI,KAAI,cAAc,KAAK;AAC3B,UAAI,KAAI,eAAe,KAAK;AAE5B,UAAI,KAAK,iBAAiB;AACxB,YAAI,KAAI,YAAY;AACpB,YAAI,KAAI,aAAa;AAAA;AAIvB,YAAM,UAAU,QAAQ,KAAK,IAAG,iBAAiB,gBAAgB,SAAU,KAAI;AAC7E,YAAG,gBAAgB;AAAA;AAGrB,WAAK;AAEL,WAAK;AAEL,gBAAU,OAAO,UAAU,QAAQ,KAAK,KAAK;AAC7C,WAAK,KAAK,MAAK;AAAA;AAAA,IAEjB,YAAY,sBAAsB;AAChC,UAAI,CAAC,aAAa;AAChB,qBAAY,aAAa;AACzB,YAAI,SAAS;AAAe;AAC5B,YAAI,SAAS,WAAW;AAExB,YAAI,KAAK,QAAQ,qBAAqB,QAAQ,YAAY;AACxD,kBAAQ,WAAW,YAAY;AAAA;AAGjC,sBAAc;AAAA;AAAA;AAAA,IAGlB,YAAY,oBAAoB,cAAa;AAC3C,UAAI,aAAY,gBAAgB,SAAS;AACvC,aAAK;AAEL;AAAA;AAGF,UAAI,aAAa;AACf,qBAAY,aAAa;AACzB,YAAI,SAAS;AAAe;AAE5B,YAAI,OAAO,cAAc,UAAU,CAAC,KAAK,QAAQ,MAAM,aAAa;AAClE,iBAAO,aAAa,SAAS;AAAA,mBACpB,QAAQ;AACjB,iBAAO,aAAa,SAAS;AAAA,eACxB;AACL,iBAAO,YAAY;AAAA;AAGrB,YAAI,KAAK,QAAQ,MAAM,aAAa;AAClC,eAAK,QAAQ,QAAQ;AAAA;AAGvB,YAAI,SAAS,WAAW;AACxB,sBAAc;AAAA;AAAA;AAAA;AAKpB,2BAEA,KAAK;AACH,QAAI,IAAI,cAAc;AACpB,UAAI,aAAa,aAAa;AAAA;AAGhC,QAAI,cAAc,IAAI;AAAA;AAGxB,mBAAiB,QAAQ,MAAM,SAAQ,UAAU,UAAU,YAAY,eAAe,iBAAiB;AACrG,QAAI,KACA,WAAW,OAAO,UAClB,WAAW,SAAS,QAAQ,QAC5B;AAEJ,QAAI,OAAO,eAAe,CAAC,cAAc,CAAC,MAAM;AAC9C,YAAM,IAAI,YAAY,QAAQ;AAAA,QAC5B,SAAS;AAAA,QACT,YAAY;AAAA;AAAA,WAET;AACL,YAAM,SAAS,YAAY;AAC3B,UAAI,UAAU,QAAQ,MAAM;AAAA;AAG9B,QAAI,KAAK;AACT,QAAI,OAAO;AACX,QAAI,UAAU;AACd,QAAI,cAAc;AAClB,QAAI,UAAU,YAAY;AAC1B,QAAI,cAAc,cAAc,QAAQ;AACxC,QAAI,kBAAkB;AACtB,QAAI,gBAAgB;AACpB,WAAO,cAAc;AAErB,QAAI,UAAU;AACZ,eAAS,SAAS,KAAK,UAAU,KAAK;AAAA;AAGxC,WAAO;AAAA;AAGT,6BAA2B,KAAI;AAC7B,QAAG,YAAY;AAAA;AAGjB,uBAAqB;AACnB,cAAU;AAAA;AAGZ,yBAAuB,KAAK,UAAU,UAAU;AAC9C,QAAI,OAAO,QAAQ,SAAS,SAAS,IAAI,GAAG,SAAS,SAAS;AAC9D,QAAI,SAAS;AACb,WAAO,WAAW,IAAI,UAAU,KAAK,OAAO,UAAU,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,MAAM,UAAU,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK;AAAA;AAGhM,wBAAsB,KAAK,UAAU,UAAU;AAC7C,QAAI,OAAO,QAAQ,UAAU,SAAS,IAAI,SAAS,QAAQ;AAC3D,QAAI,SAAS;AACb,WAAO,WAAW,IAAI,UAAU,KAAK,QAAQ,UAAU,IAAI,WAAW,KAAK,SAAS,IAAI,UAAU,KAAK,UAAU,IAAI,WAAW,KAAK,OAAO,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,OAAO,IAAI,WAAW,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS;AAAA;AAG7P,6BAA2B,KAAK,QAAQ,YAAY,UAAU,eAAe,uBAAuB,YAAY,cAAc;AAC5H,QAAI,cAAc,WAAW,IAAI,UAAU,IAAI,SAC3C,eAAe,WAAW,WAAW,SAAS,WAAW,OACzD,WAAW,WAAW,WAAW,MAAM,WAAW,MAClD,WAAW,WAAW,WAAW,SAAS,WAAW,OACrD,SAAS;AAEb,QAAI,CAAC,YAAY;AAEf,UAAI,gBAAgB,qBAAqB,eAAe,eAAe;AAGrE,YAAI,CAAC,yBAA0B,mBAAkB,IAAI,cAAc,WAAW,eAAe,wBAAwB,IAAI,cAAc,WAAW,eAAe,wBAAwB,IAAI;AAE3L,kCAAwB;AAAA;AAG1B,YAAI,CAAC,uBAAuB;AAE1B,cAAI,kBAAkB,IAAI,cAAc,WAAW,qBACjD,cAAc,WAAW,oBAAoB;AAC7C,mBAAO,CAAC;AAAA;AAAA,eAEL;AACL,mBAAS;AAAA;AAAA,aAEN;AAEL,YAAI,cAAc,WAAW,eAAgB,KAAI,iBAAiB,KAAK,cAAc,WAAW,eAAgB,KAAI,iBAAiB,GAAG;AACtI,iBAAO,oBAAoB;AAAA;AAAA;AAAA;AAKjC,aAAS,UAAU;AAEnB,QAAI,QAAQ;AAEV,UAAI,cAAc,WAAW,eAAe,wBAAwB,KAAK,cAAc,WAAW,eAAe,wBAAwB,GAAG;AAC1I,eAAO,cAAc,WAAW,eAAe,IAAI,IAAI;AAAA;AAAA;AAI3D,WAAO;AAAA;AAUT,+BAA6B,QAAQ;AACnC,QAAI,MAAM,UAAU,MAAM,SAAS;AACjC,aAAO;AAAA,WACF;AACL,aAAO;AAAA;AAAA;AAWX,uBAAqB,KAAI;AACvB,QAAI,MAAM,IAAG,UAAU,IAAG,YAAY,IAAG,MAAM,IAAG,OAAO,IAAG,aACxD,IAAI,IAAI,QACR,MAAM;AAEV,WAAO,KAAK;AACV,aAAO,IAAI,WAAW;AAAA;AAGxB,WAAO,IAAI,SAAS;AAAA;AAGtB,kCAAgC,MAAM;AACpC,sBAAkB,SAAS;AAC3B,QAAI,SAAS,KAAK,qBAAqB;AACvC,QAAI,MAAM,OAAO;AAEjB,WAAO,OAAO;AACZ,UAAI,MAAK,OAAO;AAChB,UAAG,WAAW,kBAAkB,KAAK;AAAA;AAAA;AAIzC,qBAAmB,KAAI;AACrB,WAAO,WAAW,KAAI;AAAA;AAGxB,2BAAyB,KAAI;AAC3B,WAAO,aAAa;AAAA;AAItB,MAAI,gBAAgB;AAClB,OAAG,UAAU,aAAa,SAAU,KAAK;AACvC,UAAK,UAAS,UAAU,wBAAwB,IAAI,YAAY;AAC9D,YAAI;AAAA;AAAA;AAAA;AAMV,WAAS,QAAQ;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN,IAAI,cAAY,KAAI,UAAU;AAC5B,aAAO,CAAC,CAAC,QAAQ,KAAI,UAAU,KAAI;AAAA;AAAA,IAErC,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IACjB;AAAA;AAQF,WAAS,MAAM,SAAU,SAAS;AAChC,WAAO,QAAQ;AAAA;AAQjB,WAAS,QAAQ,WAAY;AAC3B,aAAS,OAAO,UAAU,QAAQ,WAAU,IAAI,MAAM,OAAO,OAAO,GAAG,OAAO,MAAM,QAAQ;AAC1F,eAAQ,QAAQ,UAAU;AAAA;AAG5B,QAAI,SAAQ,GAAG,gBAAgB;AAAO,iBAAU,SAAQ;AACxD,aAAQ,QAAQ,SAAU,QAAQ;AAChC,UAAI,CAAC,OAAO,aAAa,CAAC,OAAO,UAAU,aAAa;AACtD,cAAM,gEAAgE,OAAO,GAAG,SAAS,KAAK;AAAA;AAGhG,UAAI,OAAO;AAAO,iBAAS,QAAQ,eAAe,eAAe,IAAI,SAAS,QAAQ,OAAO;AAC7F,oBAAc,MAAM;AAAA;AAAA;AAUxB,WAAS,SAAS,SAAU,KAAI,SAAS;AACvC,WAAO,IAAI,SAAS,KAAI;AAAA;AAI1B,WAAS,UAAU;AAEnB,MAAI,cAAc;AAAlB,MACI;AADJ,MAEI;AAFJ,MAGI,YAAY;AAHhB,MAII;AAJJ,MAKI;AALJ,MAMI;AANJ,MAOI;AAEJ,8BAA4B;AAC1B,0BAAsB;AACpB,WAAK,WAAW;AAAA,QACd,QAAQ;AAAA,QACR,yBAAyB;AAAA,QACzB,mBAAmB;AAAA,QACnB,aAAa;AAAA,QACb,cAAc;AAAA;AAGhB,eAAS,OAAM,MAAM;AACnB,YAAI,IAAG,OAAO,OAAO,OAAO,OAAO,KAAK,SAAQ,YAAY;AAC1D,eAAK,OAAM,KAAK,KAAI,KAAK;AAAA;AAAA;AAAA;AAK/B,eAAW,YAAY;AAAA,MACrB,aAAa,qBAAqB,MAAM;AACtC,YAAI,gBAAgB,KAAK;AAEzB,YAAI,KAAK,SAAS,iBAAiB;AACjC,aAAG,UAAU,YAAY,KAAK;AAAA,eACzB;AACL,cAAI,KAAK,QAAQ,gBAAgB;AAC/B,eAAG,UAAU,eAAe,KAAK;AAAA,qBACxB,cAAc,SAAS;AAChC,eAAG,UAAU,aAAa,KAAK;AAAA,iBAC1B;AACL,eAAG,UAAU,aAAa,KAAK;AAAA;AAAA;AAAA;AAAA,MAIrC,mBAAmB,2BAA2B,OAAO;AACnD,YAAI,gBAAgB,MAAM;AAG1B,YAAI,CAAC,KAAK,QAAQ,kBAAkB,CAAC,cAAc,QAAQ;AACzD,eAAK,kBAAkB;AAAA;AAAA;AAAA,MAG3B,MAAM,iBAAgB;AACpB,YAAI,KAAK,SAAS,iBAAiB;AACjC,cAAI,UAAU,YAAY,KAAK;AAAA,eAC1B;AACL,cAAI,UAAU,eAAe,KAAK;AAClC,cAAI,UAAU,aAAa,KAAK;AAChC,cAAI,UAAU,aAAa,KAAK;AAAA;AAGlC;AACA;AACA;AAAA;AAAA,MAEF,SAAS,mBAAmB;AAC1B,qBAAa,eAAe,WAAW,YAAY,6BAA6B,kBAAkB,kBAAkB;AACpH,oBAAY,SAAS;AAAA;AAAA,MAEvB,2BAA2B,mCAAmC,KAAK;AACjE,aAAK,kBAAkB,KAAK;AAAA;AAAA,MAE9B,mBAAmB,2BAA2B,KAAK,UAAU;AAC3D,YAAI,QAAQ;AAEZ,YAAI,IAAK,KAAI,UAAU,IAAI,QAAQ,KAAK,KAAK,SACzC,KAAK,KAAI,UAAU,IAAI,QAAQ,KAAK,KAAK,SACzC,OAAO,SAAS,iBAAiB,GAAG;AACxC,qBAAa;AAKb,YAAI,YAAY,KAAK,QAAQ,2BAA2B,QAAQ,cAAc,QAAQ;AACpF,qBAAW,KAAK,KAAK,SAAS,MAAM;AAEpC,cAAI,iBAAiB,2BAA2B,MAAM;AAEtD,cAAI,aAAc,EAAC,8BAA8B,MAAM,mBAAmB,OAAM,kBAAkB;AAChG,0CAA8B;AAE9B,yCAA6B,YAAY,WAAY;AACnD,kBAAI,UAAU,2BAA2B,SAAS,iBAAiB,GAAG,KAAI;AAE1E,kBAAI,YAAY,gBAAgB;AAC9B,iCAAiB;AACjB;AAAA;AAGF,yBAAW,KAAK,MAAM,SAAS,SAAS;AAAA,eACvC;AACH,8BAAkB;AAClB,8BAAkB;AAAA;AAAA,eAEf;AAEL,cAAI,CAAC,KAAK,QAAQ,gBAAgB,2BAA2B,MAAM,UAAU,6BAA6B;AACxG;AACA;AAAA;AAGF,qBAAW,KAAK,KAAK,SAAS,2BAA2B,MAAM,QAAQ;AAAA;AAAA;AAAA;AAI7E,WAAO,SAAS,YAAY;AAAA,MAC1B,YAAY;AAAA,MACZ,qBAAqB;AAAA;AAAA;AAIzB,8BAA4B;AAC1B,gBAAY,QAAQ,SAAU,aAAY;AACxC,oBAAc,YAAW;AAAA;AAE3B,kBAAc;AAAA;AAGhB,6CAA2C;AACzC,kBAAc;AAAA;AAGhB,MAAI,aAAa,SAAS,SAAU,KAAK,SAAS,SAAQ,YAAY;AAEpE,QAAI,CAAC,QAAQ;AAAQ;AACrB,QAAI,IAAK,KAAI,UAAU,IAAI,QAAQ,KAAK,KAAK,SACzC,KAAK,KAAI,UAAU,IAAI,QAAQ,KAAK,KAAK,SACzC,OAAO,QAAQ,mBACf,QAAQ,QAAQ,aAChB,cAAc;AAClB,QAAI,qBAAqB,OACrB;AAEJ,QAAI,iBAAiB,SAAQ;AAC3B,qBAAe;AACf;AACA,iBAAW,QAAQ;AACnB,uBAAiB,QAAQ;AAEzB,UAAI,aAAa,MAAM;AACrB,mBAAW,2BAA2B,SAAQ;AAAA;AAAA;AAIlD,QAAI,YAAY;AAChB,QAAI,gBAAgB;AAEpB,OAAG;AACD,UAAI,MAAK,eACL,OAAO,QAAQ,MACf,OAAM,KAAK,KACX,SAAS,KAAK,QACd,OAAO,KAAK,MACZ,QAAQ,KAAK,OACb,QAAQ,KAAK,OACb,SAAS,KAAK,QACd,aAAa,QACb,aAAa,QACb,cAAc,IAAG,aACjB,eAAe,IAAG,cAClB,QAAQ,IAAI,MACZ,aAAa,IAAG,YAChB,aAAa,IAAG;AAEpB,UAAI,QAAO,aAAa;AACtB,qBAAa,QAAQ,eAAgB,OAAM,cAAc,UAAU,MAAM,cAAc,YAAY,MAAM,cAAc;AACvH,qBAAa,SAAS,gBAAiB,OAAM,cAAc,UAAU,MAAM,cAAc,YAAY,MAAM,cAAc;AAAA,aACpH;AACL,qBAAa,QAAQ,eAAgB,OAAM,cAAc,UAAU,MAAM,cAAc;AACvF,qBAAa,SAAS,gBAAiB,OAAM,cAAc,UAAU,MAAM,cAAc;AAAA;AAG3F,UAAI,KAAK,cAAe,MAAK,IAAI,QAAQ,MAAM,QAAQ,aAAa,QAAQ,eAAgB,MAAK,IAAI,OAAO,MAAM,QAAQ,CAAC,CAAC;AAC5H,UAAI,KAAK,cAAe,MAAK,IAAI,SAAS,OAAM,QAAQ,aAAa,SAAS,gBAAiB,MAAK,IAAI,OAAM,OAAM,QAAQ,CAAC,CAAC;AAE9H,UAAI,CAAC,YAAY,YAAY;AAC3B,iBAAS,IAAI,GAAG,KAAK,WAAW,KAAK;AACnC,cAAI,CAAC,YAAY,IAAI;AACnB,wBAAY,KAAK;AAAA;AAAA;AAAA;AAKvB,UAAI,YAAY,WAAW,MAAM,MAAM,YAAY,WAAW,MAAM,MAAM,YAAY,WAAW,OAAO,KAAI;AAC1G,oBAAY,WAAW,KAAK;AAC5B,oBAAY,WAAW,KAAK;AAC5B,oBAAY,WAAW,KAAK;AAC5B,sBAAc,YAAY,WAAW;AAErC,YAAI,MAAM,KAAK,MAAM,GAAG;AACtB,+BAAqB;AAGrB,sBAAY,WAAW,MAAM,YAAY,WAAY;AAEnD,gBAAI,cAAc,KAAK,UAAU,GAAG;AAClC,uBAAS,OAAO,aAAa;AAAA;AAI/B,gBAAI,gBAAgB,YAAY,KAAK,OAAO,KAAK,YAAY,KAAK,OAAO,KAAK,QAAQ;AACtF,gBAAI,gBAAgB,YAAY,KAAK,OAAO,KAAK,YAAY,KAAK,OAAO,KAAK,QAAQ;AAEtF,gBAAI,OAAO,mBAAmB,YAAY;AACxC,kBAAI,eAAe,KAAK,SAAS,QAAQ,WAAW,UAAU,eAAe,eAAe,KAAK,YAAY,YAAY,KAAK,OAAO,QAAQ,YAAY;AACvJ;AAAA;AAAA;AAIJ,qBAAS,YAAY,KAAK,OAAO,IAAI,eAAe;AAAA,YACpD,KAAK;AAAA,YACL,OAAO;AAAA,cACL;AAAA;AAAA;AAIR;AAAA,aACO,QAAQ,gBAAgB,kBAAkB,eAAgB,iBAAgB,2BAA2B,eAAe;AAE7H,gBAAY;AAAA,KACX;AAEH,MAAI,OAAO,eAAc,MAAM;AAC7B,QAAI,gBAAgB,KAAK,eACrB,eAAc,KAAK,aACnB,UAAS,KAAK,QACd,iBAAiB,KAAK,gBACtB,wBAAwB,KAAK,uBAC7B,qBAAqB,KAAK,oBAC1B,uBAAuB,KAAK;AAChC,QAAI,CAAC;AAAe;AACpB,QAAI,aAAa,gBAAe;AAChC;AACA,QAAI,QAAQ,cAAc,kBAAkB,cAAc,eAAe,SAAS,cAAc,eAAe,KAAK;AACpH,QAAI,SAAS,SAAS,iBAAiB,MAAM,SAAS,MAAM;AAC5D;AAEA,QAAI,cAAc,CAAC,WAAW,GAAG,SAAS,SAAS;AACjD,4BAAsB;AACtB,WAAK,QAAQ;AAAA,QACX,QAAQ;AAAA,QACR,aAAa;AAAA;AAAA;AAAA;AAKnB,oBAAkB;AAAA;AAElB,SAAO,YAAY;AAAA,IACjB,YAAY;AAAA,IACZ,WAAW,mBAAmB,OAAO;AACnC,UAAI,qBAAoB,MAAM;AAC9B,WAAK,aAAa;AAAA;AAAA,IAEpB,SAAS,iBAAiB,OAAO;AAC/B,UAAI,UAAS,MAAM,QACf,eAAc,MAAM;AACxB,WAAK,SAAS;AAEd,UAAI,cAAa;AACf,qBAAY;AAAA;AAGd,UAAI,cAAc,SAAS,KAAK,SAAS,IAAI,KAAK,YAAY,KAAK;AAEnE,UAAI,aAAa;AACf,aAAK,SAAS,GAAG,aAAa,SAAQ;AAAA,aACjC;AACL,aAAK,SAAS,GAAG,YAAY;AAAA;AAG/B,WAAK,SAAS;AAEd,UAAI,cAAa;AACf,qBAAY;AAAA;AAAA;AAAA,IAGhB;AAAA;AAGF,WAAS,QAAQ;AAAA,IACf,YAAY;AAAA;AAGd,oBAAkB;AAAA;AAElB,SAAO,YAAY;AAAA,IACjB,SAAS,kBAAiB,OAAO;AAC/B,UAAI,UAAS,MAAM,QACf,eAAc,MAAM;AACxB,UAAI,iBAAiB,gBAAe,KAAK;AACzC,qBAAe;AACf,cAAO,cAAc,QAAO,WAAW,YAAY;AACnD,qBAAe;AAAA;AAAA,IAEjB;AAAA;AAGF,WAAS,QAAQ;AAAA,IACf,YAAY;AAAA;AA4sBd,WAAS,MAAM,IAAI;AACnB,WAAS,MAAM,QAAQ;AAEvB,MAAO,uBAAQ;;;AC1rHR,+BAA6B,QAAe,UAAkB;AACjE,MAAE,uBAAuB;AAGzB,QAAI,aAAa,IAAI,gBAAgB,OAAO,SAAS;AACrD,QAAI,MAAM,2BAA2B,SAAQ,MAAM;AACnD,QAAI,WAAW,IAAI,qBAAqB;AACpC,aAAO,MAAM,WAAW,IAAI;AAAA;AAGhC,MAAE,KAAK;AAAA,MACL,MAAM;AAAA,MACN;AAAA,MACA,UAAU;AAAA,OACT,KAAK,SAAS,UAA2B;AACxC,QAAE,sBAAsB;AACxB,QAAE,uBAAuB,KAAK,oBAAoB;AAClD;AACA,mBAAa;AACb,mBAAa;AACb,+BAAyB,QAAO;AAAA,OACjC,KAAK,SAAS,KAAK;AACnB,YAAM,YAAY,IAAI;AAAA;AAAA;AAI7B,uBAAqB;AACjB;AAEA,QAAI,OAAO,KAAK,YAAY,WAAW,GAAG;AACtC;AAAA;AAEJ,MAAE,WAAW;AACb,MAAE,gCAAgC,YAAY;AAAA;AAGlD,wBAAsB,UAAkB;AACpC,MAAE,kCAAkC;AACpC,MAAE,SAAS,YAAY;AAEvB,MAAE,0BAA0B,UAAU;AACtC,MAAE,qBAAqB,UAAU,SAAS;AAAA;AAE9C,MAAI,aAAyC;AAC7C,wBAAsB,UAA2B;AAC7C,UAAM,aAAa,4BAA4B,SAAS;AACxD,QAAI,OAAO,OAAO,KAAK;AAGvB,MAAE,iCAAiC;AACnC,MAAE,gCAAgC;AAElC,uBAAmB;AAEnB,SAAK,QAAQ,CAAC,KAAK,MAAM;AACrB,YAAM,WAAW,WAAW;AAC5B,YAAM,UAAU,IAAI;AAEpB,YAAM,aAAa,WAAW,IAAI;AAClC,iBAAW,WAAW;AAEtB,eAAS,eAAe,uBAAuB,SAAU,QAAQ,WAAW;AAC5E,eAAS,eAAe,uBAAuB,SAAU,QAAQ,UAAU;AAC3E,QAAE,mBAAmB,SAAS;AAAA;AAGlC,QAAI,UAAU,SAAS,eAAe;AAEtC,yBAAS,OAAO,SAAQ;AAAA,MACpB,WAAW;AAAA,MACX,SAAS,MAAM;AACX,UAAE,gCAAgC,YAAY;AAAA;AAAA;AAItD,MAAE,8BAA8B,KAAK,SAAS;AAAA;AAGlD,oCAAkC,QAAe,UAAkB;AAC/D,UAAM,eAAwB,EAAE,uBAAuB,KAAK,mBAAmB;AAE/E,QAAI,WAAW,cAAc;AACzB,QAAE,uBAAuB,GAAG,SAAS,MAAM,oBAAoB,QAAO,WAAS;AAAA,WAC5E;AACH,QAAE,uBAAuB,IAAI;AAAA;AAAA;AAQrC,uCAAqC,MAAc;AAE/C,UAAM,gBAAgB,KAAK,MAAM,SAAS,OAAO,OAAK,OAAO,GAAG;AAChE,QAAI,aAAqC;AACzC,aAAS,SAAQ,GAAG,SAAQ,cAAc,QAAQ,UAAS;AACvD,iBAAW,SAAM,KAAK,cAAc;AAAA;AAExC,WAAO;AAAA;AAGJ,8BAA4B;AAC/B,QAAI,OAAO;AACX,QAAI,QAAQ,IAAI;AAChB,QAAI,UAAU;AACd,QAAI,sBAAsB;AAC1B,aAAS,iBAA8B,uCAAuC,QAAQ,CAAC,SAAS,QAAQ;AAEtG,UAAI,CAAC,EAAE,SAAS,GAAG,aAAa;AAC9B,+BAAuB;AACvB;AAAA;AAGF,YAAM,SAAS,QAAQ;AACvB,UAAI,OAAO,QAAQ,QAAQ,WAAW;AACtC,UAAI,KAAK,SAAS,GAAG;AAEnB,gBAAQ,OAAO;AAAA;AAEjB,aAAO,UAAU,OAAO;AACxB,aAAO,UAAU,OAAO;AACxB,YAAM,SAAQ,QAAQ,QAAQ,YAAY;AAC1C,UAAI,UAAS,MAAM,IAAI,qBAAqB;AAC1C,eAAO,UAAU,IAAI;AAAA,aAChB;AACL,kBAAU;AACV,eAAO,UAAU,IAAI;AAAA;AAEvB,YAAM,KAAK;AAAA;AAKb,0BAAsB,OAAO,CAAC;AAC9B,QAAI,SAAS;AACX,aAAO;AAAA;AAET,WAAO,KAAK,QAAQ,SAAS;AAAA;AAMjC,8BAA+B,IAAS;AACpC,aAAS,IAAI,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK;AACrC,YAAM,KAAI,KAAK,MAAM,KAAK,WAAW;AACrC,YAAM,KAAI,GAAG;AACb,SAAG,MAAK,GAAG;AACX,SAAG,KAAK;AAAA;AAAA;AAIT,+BAA6B;AAEhC,QAAI,OAAO,KAAK,YAAY,SAAS,GAAG;AACpC;AAAA;AAEJ,UAAM,iBAAgB,IAAI;AAC1B,UAAM,uBAAuB,SAAS,iBAAiB;AACvD,yBAAqB,QAAQ,CAAC,WAAW,MAAM;AAC3C,YAAM,SAAS,eAAc,yBAAyB,WAA0B;AAChF,iBAAW,IAAI,KAAK;AAAA;AAAA;;;AC9K5B,MAAM,kBAAkB,IAAI;AAE5B,oBAAkB,MAAmB;AACnC,QAAI,aAAa,EAAE,QAAQ;AAC3B,QAAI,gBAAgB,aAAa,EAAE,QAAQ;AAC3C,QAAI,UAAU,EAAE,MAAM,SAAU;AAChC,WAAS,WAAW,iBAAmB,WAAW;AAAA;AAG7C,sBAAoB;AACzB,aAAS,IAAI,GAAG,IAAI,gBAAgB,UAAU;AAC5C,YAAM,CAAC,SAAS,YAAW,gBAAgB;AAC3C,UAAI,SAAS,UAAU;AACrB;AACA,wBAAgB,OAAO,GAAG;AAAA,aACrB;AACL,aAAK;AAAA;AAAA;AAAA;AAKX,IAAE,QAAQ,GAAG,UAAU;AAEhB,mCAAiC,SAAsB,UAAqB;AACjF,QAAI,SAAS,UAAU;AACrB;AAAA,WACK;AACL,sBAAgB,KAAK,CAAC,SAAS;AAAA;AAAA;;;ACxBnC,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AAGJ,MAAI,gBAAgB;AACpB,MAAI,YAAY;AAChB,MAAI,gBAAgB;AACpB,MAAM,mBAAmB;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGF,MAAM,gBAAgB;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGF,MAAM,UAAU;AAChB,MAAM,cAAc;AACpB,MAAM,YAAY;AAgBX,gCAA6B;AAClC,QAAG,EAAE,gCAAgC,UAAU,GAAE;AAC/C,QAAE,oBAAoB;AAAA,WAEpB;AACF,QAAE,oBAAoB;AACtB,QAAE,kBAAkB;AACpB,eAAS,eAAe,mBAAoB,UAAU,OAAO;AAC7D,eAAS,eAAe,mBAAoB,UAAU,IAAI;AAAA;AAAA;AAIvD,0BAAwB,WAAgB;AAtE/C;AAuEE,QAAI,kBAAkB,MAAM;AAC1B,YAAM,cAAc,iDAAmB;AACvC,kBAAY,gBAAgB;AAC5B,YAAM,eAAe,EAAE;AACvB,mBAAa;AACb,iBAAW,KAAK,WAAW;AAEzB,YAAI,UAAU,GAAG,IAAI;AACnB,gBAAM,eAAe,UAAU,GAAG,GAAG,QAAQ,MAAM;AACnD,gBAAM,OAAO,2CAAa,UAAU;AACpC,cAAI,WAAW;AACb,yBAAa,OAAO,mBAAmB,UAAU,GAAG,MAAM,iBAAiB,UAAU,GAAG,OAAO;AAAA,iBAC1F;AACL,yBAAa,OAAO,mBAAmB,UAAU,GAAG,MAAM,iBAAiB,UAAU,GAAG;AAAA;AAAA;AAAA;AAI9F;AAAA;AAAA;AAOJ,sCAAoC,UAAoB;AACtD,QAAI,SAAS;AACb,QAAI,iBAAiB,SAAS,SAAS;AACvC,QAAI,OAAO,kBAAkB,YAAY,CAAC,MAAM,iBAAgB;AAC7D,eAAU;AAAA;AAEZ,QAAG,OAAO,SAAS,KAAK,YAAY,MAAM,iBAAgB;AACxD,eAAS;AAAA;AAEX,QAAG,OAAO,SAAS,KAAK,WAAU;AAChC,eAAS;AAAA;AAEX,QAAI,SAAS,WAAW,QAAO;AAC9B,eAAU;AAAA;AAEX,WAAO;AAAA;AAGV,2BAAyB,WAAqC;AAC5D,UAAM,gBAAgB;AACtB,UAAM,qBAAqB,CAAC,UAAU,QAAQ,aAAa,YAAY,UAAU,KAAK;AACtF,eAAW,YAAY,WAAW;AAChC,UAAI,CAAC,SAAS,SAAS,SAAS,CAAC,mBAAmB,SAAS,WAAW;AACtE,YAAI,aAAa,2BAA2B,UAAU;AACtD,YAAI,QAAO,cAAc;AACzB,YAAI,WAAW,CAAC,OAAM,UAAU,UAAU,GAAG;AAC7C,sBAAc,KAAK;AAAA;AAAA;AAGvB,WAAO;AAAA;AAGT,yBAAuB,OAAc;AACnC,WAAO,MAAK,QAAQ,YAAY;AAAA;AAOlC,MAAM,mBAAmB;AASlB,8BAA4B,SAAoC;AACrE,uBAAkB,QAAQ;AAC1B,gBAAW,QAAQ;AACnB,kBAAc,QAAQ;AACtB,QAAI,cAAc,QAAQ;AAC1B,QAAI,OAAO,QAAQ;AACnB,QAAI,CAAC,YAAY,IAAI,OAAO;AAAE,aAAO;AAAA;AAErC,iBAAa,YAAY,IAAI;AAG7B,QAAI,CAAC,eAAe;AAClB,QAAE,cAAc;AAChB,QAAE,oBAAoB;AAAA;AAIxB,QAAI,QAAQ,QAAQ,GAAG;AACrB,UAAI,SAAQ,QAAQ;AACpB,sBAAgB,UAAS;AAAA;AAI3B,QAAI,CAAC,eAAe;AAClB,QAAE,iBAAiB;AAAA;AAGrB,QAAG,QAAQ,SAAS,GAAE;AACpB,UAAI,SAAQ,QAAQ;AACpB,sBAAgB,UAAS;AAAA;AAE3B,0BAAsB,QAAQ;AAAA;AAGhC,iCAA+B,QAAoB;AAMjD,WAAO,GAAG,mBAAmB,SAAU,GAAyB;AAC9D,YAAM,SAAS,EAAE,SAAS;AAG1B,UAAI,OAAO,UAAU,QAAQ,sBAAsB;AACjD;AAEF,UAAI,EAAE,UAAU,KAAK,OAAO,wBAAwB;AAClD;AAEF,YAAM,cAAc,eAAe,EAAE;AAErC,UAAI,MAAM,EAAE,sBAAsB;AAClC,UAAI,YAAY,SAAS,UAAa,QAAQ,EAAE,OAAO,sBAAsB,GAAG;AAE9E,YAAI,cAAc,QAAQ;AACxB,cAAI,cAAc;AAClB,qBAAW,OAAO,aAAa;AAC7B,kBAAM,aAAa,SAAS;AAC5B,gBAAI,aAAa,KAAK;AACpB,4BAAc;AAAA;AAAA;AAGlB,mBAAS,IAAI,aAAa,KAAK,KAAK,KAAK;AACvC,cAAE,OAAO,QAAQ,cAAc,GAAG;AAAA;AAAA,eAE/B;AACL,YAAE,OAAO,QAAQ,cAAc,KAAK;AAAA;AAAA,aAEjC;AACL,UAAE,OAAO,QAAQ,gBAAgB;AAAA;AAEnC,QAAE;AAAA;AAAA;AAIN,yBAAuB,QAA0B;AAE/C,QAAI,OAAM,UAAU;AAClB,aAAO;AAAA;AACP,WAAO;AAAA;AAGX,sBAAoB;AAClB,QAAI,aAAY,aAAa;AAC3B,YAAM,WAAU,aAAa,OAAO,IAAI,OAAO,WAAY;AACzD,UAAE,WAAW;AAAA;AAAA;AAAA;AAKZ,wBAAsB;AAC3B,QAAI,kBAAkB,MAAM;AAC1B,UAAI,cAAc,EAAE;AACpB,kBAAY;AACZ,UAAI,iBAAiB,EAAE;AACvB,UAAI,aAAa,EAAE;AACnB,UAAI,cAAc,EAAE;AACpB,UAAI,qBAAqB,EAAE;AAE3B,yBAAmB;AACnB,qBAAe;AACf,iBAAW;AACX,kBAAY;AAAA;AAAA;AAIT,wBAAsB;AAC3B,QAAI,kBAAkB,MAAM;AAC1B,UAAI,UAAU,OAAO;AACrB,UAAI,iBAAiB,EAAE;AACvB,qBAAe;AAEf,cAAQ,QAAQ,aAAa;AAC7B;AACA;AACA;AAAA;AAAA;AAIG,uBAAqB;AAxQ5B;AAyQE,QAAI,kBAAkB,MAAM;AAC1B,UAAI,cAAc,EAAE;AACpB,kBAAY;AACZ,UAAI,iBAAiB,EAAE;AACvB,UAAI,aAAa,EAAE;AACnB,UAAI,cAAc,EAAE;AACpB,UAAI,qBAAqB,EAAE;AAC3B,sBAAS,eAAe,sBAAxB,oBAA2C,gBAAgB;AAC3D,QAAE,WAAW;AACb,QAAE,UAAU;AACZ,yBAAmB;AACnB,qBAAe;AACf,iBAAW;AACX,kBAAY;AAEZ,UAAI,UAAU,OAAO;AACrB,cAAQ,WAAW;AAEnB;AACA;AAAA;AAAA;AAIJ,iCAA+B;AAC7B,QAAI,UAAU,OAAO;AACrB,QAAI,eAAe,mBAAI;AAEvB,aAAS,OAAO,cAAc;AAC5B,UAAI,IAAI,SAAS,YAAY;AAC3B,gBAAQ,WAAW;AAAA;AAAA;AAAA;AAKlB,gCAA8B;AA3SrC;AA4SE,oBAAS,eAAe,sBAAxB,oBAA2C,gBAAgB;AAC3D,UAAM,oBAAoB,kBAAkB;AAC5C,UAAM,kBAAkB,kBAAkB,kBAAkB;AAC5D,UAAM,aAAa,gBAAgB;AACnC,mBAAe,gBAAgB;AAC/B,UAAM,oBAAoB,QAAQ,QAAQ,UAAU,WAAW,IAAI,OAChE,QAAQ,UAAU,WAAW,IAAI,OACjC,QAAQ,UAAU,WAAW,IAAI;AAEpC,UAAM,wBAAwB,YAAY,QAAQ,cAAc,WAAW,IAAI,WAC5E,QAAQ,aAAa,WAAW,IAAI;AAEvC,UAAM,sBAAsB,UAAU,QAAQ,YAAY,WAAW,IAAI;AAEzE,UAAM,OAAO,IAAI,OAAO,mBAAmB;AAC3C,UAAM,WAAW,IAAI,OAAO,uBAAuB;AACnD,UAAM,SAAS,IAAI,OAAO,qBAAqB;AAE/C,QAAI,CAAC;AAAY;AACjB,eAAW,CAAC,GAAG,SAAQ,OAAO,QAAQ,qBAAqB;AACzD,YAAM,eAAe,KAAI,aAAa,YAAY,kBAAkB;AACpE,YAAM,gBAAgB,KAAI,aAAa,UAAU,kBAAkB;AAEnE,UAAI,cAAc,gBAAgB,cAAc,eAAe;AAE7D,YAAG,iBAAiB,SAAS,KAAI,UAAS;AAExC,gBAAM,QAAQ,iBAAgB,SAAS,MAAM;AAC7C,gBAAM,OAAO,MAAM,KAAI,WAAW,YAAY;AAC9C,gBAAM,YAAY,KAAK,KAAK;AAC5B,gBAAM,gBAAgB,SAAS,KAAK;AACpC,gBAAM,cAAc,OAAO,KAAK;AAChC,cAAI,aAAa,iBAAiB,aAAa;AAC7C,6BAAgB,uBAAuB,KAAI,WAAW,WACpD,KAAI,WAAW,aAAa,KAAI,WAAW,YAAY;AAAA,iBACpD;AACL,6BAAgB,uBAAuB,KAAI,WAAW;AAAA;AAExD;AAAA,mBACS,aAAY,KAAK,cAAc,SAAS,KAAI,UAAS;AAC9D,gBAAM,QAAQ,iBAAgB,SAAS,MAAM;AAC7C,cAAI;AACJ,cAAI,KAAI,WAAW,YAAY,KAAI,WAAW,SAAS;AACrD,mBAAO,MAAM,KAAI,WAAW,YAAY;AAAA,iBACnC;AACL,kBAAM,WAAW,MAAM,KAAI,WAAW,YAAY;AAClD,mBAAO,SAAS,UAAU,KAAI,WAAW,cAAc,GAAG,KAAI,WAAW,YAAY;AAAA;AAEvF,gBAAM,aAAqB,kBAAkB,gBAAgB,aAAa;AAE1E,cAAI,WAAW,MAAM,SAAS;AAC5B,kBAAM,YAAY,KAAK,KAAK;AAC5B,gBAAI,WAAW;AACb,oBAAM,SAAS,UAAU,GAAG;AAC5B,+BAAgB,uBAAuB,KAAI,WAAW,WAAW,KAAI,WAAW,aAAa,KAAI,WAAW,cAAc,SAAS;AACnI;AAAA;AAAA,qBAEO,WAAW,MAAM,UAAU;AACpC,kBAAM,gBAAgB,SAAS,KAAK;AACpC,gBAAI,eAAc;AAChB,oBAAM,SAAS,cAAc,GAAG;AAChC,+BAAgB,uBAAuB,KAAI,WAAW,WAAW,KAAI,WAAW,aAAa,KAAI,WAAW,cAAc,SAAS;AACnI;AAAA;AAAA;AAAA,mBAGM,aAAY,KAAK,cAAc,SAAS,KAAI,UAAU;AAChE,2BAAgB,uBAAuB,KAAI,WAAW;AACtD;AAAA;AAAA;AAAA;AAAA;AAMR,qCAAmC;AACjC,QAAI,CAAC,eAAe;AAAE;AAAA;AAEtB,UAAM,UAAU,OAAO;AACvB,QAAI,aAAY,mCAAS,QAAQ;AAEjC,QAAI,cAAa,MAAM;AACrB,UAAI,kBAAkB,SAAS,YAAW;AAC1C,uBAAgB,uBAAuB;AAAA,WAClC;AACL,uBAAgB,uBAAuB;AAAA;AAAA;AAU3C,0BAAwB,QAAqC;AAC3D,WAAO,OAAO,QAAQ;AAAA;AAGjB,mBAAiB,GAAsB;AAC5C,QAAI,OAAO,MAAM,UAAU;AACzB,UAAI,MAA0B,IAAI,IAAI,OAAO,QAAQ;AAErD,UAAI,MAAsC,IAAI;AAE9C,UAAI,QAAQ,CAAC,OAAO,QAAQ;AAC1B,YAAI,IAAI,KAAK,QAAQ;AAAA;AAGvB,aAAO;AAAA,WACF;AACL,aAAO;AAAA;AAAA;;;ACzZJ,qBAAmB,KAAa,MAAW;AAAlD;AACE,kBAAO,iBAAP,oBAAqB,QAAQ,KAAK,KAAK,UAAU;AAAA;AAG5C,uBAAqB,KAAa;AAJzC;AAKE,kBAAO,iBAAP,oBAAqB,WAAW;AAAA;AAG3B,qBAAmB,KAAkB;AAR5C;AASE,UAAM,QAAQ,cAAO,iBAAP,oBAAqB,QAAQ;AAC3C,QAAI;AACF,aAAO,QAAQ,KAAK,MAAM,SAAS;AAAA,aAC5B,GAAP;AAEA,aAAO;AAAA;AAAA;AAOJ,yBAAuB,KAAkB;AAC9C,UAAM,MAAM,UAAU;AACtB,QAAI,QAAQ,QAAW;AACrB,kBAAY;AAAA;AAEd,WAAO;AAAA;;;ACvBT,0BAAsB;;;ACHtB,wBAA0B;AAI1B,yBAAsB;;;ACHtB,MAAM,mBAAmB;AAEzB,MAAI,YAAkD;AACtD,oBAAsD,MAAS,OAAiD;AAC9G,WAAO,IAAI,SAAwB;AACjC,UAAI,cAAc,MAAM;AACtB,qBAAa;AAAA;AAGf,kBAAY,WAAW,MAAM;AAC3B,aAAK,GAAG;AAAA,SACP;AAAA;AAAA;AASA,oBAAkB,QACvB,cAAyB,MACzB,oBAAuC,MACvC,WAAgB,kBACb;AACD,UAAM,cAAc,SAAS,eAAe;AAC5C,QAAI,CAAC;AAAa;AAElB,UAAM,WAAU,SAAS,CAAC,MAAa;AACnC,UAAI,CAAC,eAAgB,EAAE,OAAuB,QAAQ,cAAc;AAElE;AAAA;AAGA,kBAAY;AAQZ,UAAI,mBAAmB;AACrB,cAAM,UAAU,SAAS,eAAe,kBAAkB;AAC1D,cAAM,iBAAiB,IAAI,MAAM,kBAAkB;AACnD,gBAAQ,cAAc;AAAA;AAAA,OAE3B;AAEL,QAAI,aAAa;AAIf,eAAQ;AAAA,WACH;AAEL,kBAAY,iBAAiB,SAAS;AACtC,kBAAY,iBAAiB,UAAU;AAAA;AAAA;;;ADzC3C,MAAI;AACJ,MAAI,kBAAwC,IAAI;AAEhD,+CAAoD,UAA4C;AAC5F,UAAM,kBAAkB,SAAS,cAAc;AAC/C,UAAM,iCAAiC,SAAS,cAAc;AAE9D,QAAI,OAAQ,SAAS,cAAc,uBAAsC,SAAS;AAElF,QAAI,iBAAiB;AACjB,YAAM,iBAAiB,MAAM;AAC7B,YAAM,iBAAiB,MAAM,gCAAgC;AAC7D,oCAA8B,cAAc;AAC5C,cAAQ,MAAM,SAAS,GAAG,eAAe,MAAM;AAC3C,sCAA8B,cAAc;AAAA;AAAA;AAIpD,MAAE,aAAa,GAAG,UAAU,MAAM;AAC9B,aAAQ,SAAS,cAAc,uBAAsC,SAAS;AAAA;AAIlF,aAAS;AAET;AACA,aAAS,iBAAiB,oCAAoC,QAAQ,CAAC,QAAO;AAC1E,UAAG,iBAAiB,SAAS,MAAM;AAC/B,mBAAW,6BAA6B;AAAA;AAAA;AAAA;AAIpD,yCAAuC;AACnC,UAAM,iBAAkB,SAAS,cAAc,oBAAmC,SAAS;AAC3F,UAAM,mBAAmB,SAAS,iBAAiB,6BAA6B;AAChF,QAAG,iBAAiB,KAAK,mBAAmB,GAAG;AAC3C,QAAE,eAAe;AAAA,eACX,kBAAkB,KAAK,qBAAqB,GAAG;AACrD,QAAE,eAAe;AAAA;AAAA;AAGzB,yCAAuC,aAAiC;AACpE,UAAM,WAAU,yBAAU,SAAS,QAAQ;AAC3C,UAAM,SAAS,IAAI;AACnB,UAAM,OAAO,OAAO,gBAAgB,UAAS;AAE7C,eAAW,OAAO,KAAK,qBAAqB,SAAS;AACjD,UAAI,IAAI,cAAc,mBAAmB;AACrC,cAAM,eAAe,iBAAiB,IAAI,WAAW;AACrD,YAAI,aAAa,SAAS,KAAK,CAAC,gBAAgB,IAAI,IAAI,YAAY;AAChE,0BAAgB,IAAI,IAAI,WAAW;AAEnC,gBAAM,WAAW,SAAS,cAAc;AACxC,gBAAM,SAAQ,SAAS,QAAQ,UAAU;AACzC,cAAI,QAAQ,OAAM,cAAc;AAChC,yCAAO,iBAAiB,SAAS,MAAM;AAxEvD;AAyEoB,4BAAgB,IAAI,IAAI,WAAW;AACnC,kDAAO,kBAAP,oBAAsB;AAAA;AAE1B,cAAI,IAAI,OAAM,cAAc;AAC5B,cAAI,UAAU,eAAe;AAC7B,oBAAU,QAAQ,QAAQ,kBAAkB,cAAc,IAAI;AAC9D,cAAI,cAAc;AAClB,qBAAW,YAAW,cAAc;AAChC,0BAAc,gBAAgB,KAAK,cAAc,GAAG,cAAa,cAAc,KAAK,cAAc,GAAG;AAAA;AAEzG,oBAAU,QAAQ,QAAQ,kBAAkB;AAC5C,YAAE,YAAY;AAEd,gBAAM,mBAAmB,SAAS,eAAe;AACjD,2BAAiB,YAAY;AAAA;AAAA;AAAA;AAAA;AAM7C,yBAAuB,OAAc;AACjC,WAAO,qCAAqC;AAAA;AAGhD,4BAA0B,OAAc,aAAiC;AACrE,QAAI,eAAe;AACnB,eAAW,CAAC,KAAK,gBAAgB,aAAY;AACzC,UAAI,IAAI,OAAO,KAAK,iBAAiB,MAAM,KAAK,QAAO;AACnD,qBAAa,KAAK;AAAA;AAAA;AAG1B,WAAO;AAAA;AAGX,4BAA0B,WAAkB,iBAA8B,kBAAgB,OAAsB;AAC5G,WAAO,IAAI,QAAQ,CAAC,UAAS,WAAW;AACpC,8BACK,OAAO,iBAAiB;AAAA,QACrB,WAAW;AAAA,UACP,WAAW;AAAA,YACP,EAAE,UAAU,UAAU,OAAO,QAAQ,OAAO;AAAA;AAAA;AAAA,QAGpD;AAAA,SAEH,KAAK,YAAU;AACZ,YAAI,iBAAiB;AACjB,iBAAO,mBAAmB;AAAA,eACvB;AACH,iBAAO,WAAW;AAClB,oBAAU;AAAA;AAEd,eAAO,MAAM,SAAS,GAAG,eAAe,OAAK,SAAS,uBAAuB;AAC7E;AAAA,SAEH,MAAM,YAAS;AACZ,gBAAQ,MAAM;AACd,eAAO;AAAA;AAAA;AAAA;AAKhB,gCAA8B,MAAc,QAAe,YAAmB,MAAM;AAEvF,QAAI,KAAK,MAAM;AAAiB,aAAO;AAEvC,QAAI,SAAS,iBAAiB,QAAO;AACrC,QAAI,cAAc,OAAO,MAAM;AAC/B,QAAI,gBAAgB;AACpB,QAAI,gBAAwC;AAI5C,gBAAY,QAAQ;AAAA,MAChB,OAAO,CAAC,SAAS;AACb,cAAM,WAAW,KAAK,KAAK;AAC3B,YAAI,gBAAgB;AACpB,YAAI,gBAAgB;AACpB,YAAI,SAAS,SAAS,WAAW;AAC7B,cAAI,kBAAkB,QAAW;AAC7B,4BAAgB,KAAK,OAAO,cAAc;AAC1C,4BAAgB,cAAc;AAAA;AAKlC,cAAI,kBAAkB,UAAU;AAC5B,6BAAiB,IAAI,OAAO,iBAAiB,MAAM,WAAW;AAAA;AAElE,0BAAgB,KAAK;AAAA,mBACd,CAAC,UAAU,UAAU,QAAQ,MAAM,SAAS,OAAO,SAAS,WAAW;AAC9E,cAAI,kBAAkB,QAAW;AAC7B,4BAAgB,KAAK,OAAO,cAAc;AAC1C,4BAAgB,cAAc;AAAA;AAElC,2BAAiB,IAAI,OAAO,iBAAiB,KAAK,MAAM,KAAK,MAAM,KAAK;AACxE,0BAAgB,KAAK;AAAA;AAAA;AAAA,MAG7B,OAAO,CAAC,SAAS;AAGb,YAAI,KAAK,KAAK,SAAS,aAAa,cAAc,cAAc,SAAS,OAAO,MAAM;AAClF,2BAAiB;AACjB,0BAAgB;AAAA;AAAA;AAAA;AAK5B,QAAI,iBAAiB,cAAc,MAAM;AACzC,QAAI,QAAQ,KAAK,MAAM;AACvB,QAAI,iBAAiB;AAErB,aAAS,IAAI,GAAG,KAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AAC1C,UAAI,MAAM,GAAG,WAAW,IAAI;AACxB,uBAAe,KAAK,MAAM;AAC1B;AAAA;AAEJ,YAAM,gBAAgB,MAAM,GAAG,OAAO;AACtC,UAAI,gBAAgB,IAAI;AACpB,uBAAe,KAAK,IAAI,OAAO,iBAAiB,eAAe;AAAA;AAEnE,YAAK;AAAA;AAET,oBAAgB,eAAe,KAAK;AAEpC,WAAO;AAAA;AAGJ,mCAAiC,OAAc;AAClD,QAAI,OAAS,SAAS,cAAc,uBAAsC,SAAS;AACnF,QAAI,cAAa,cAAc;AAE/B,eAAW,CAAC,KAAK,gBAAgB,aAAY;AACzC,UAAK,IAAI,OAAO,KAAK,iBAAiB,MAAM,KAAK,UAAU,UAAS,KAAK;AACrE,eAAO,IAAI;AAAA;AAAA;AAInB,WAAO;AAAA;;;AEpNX,AAMA,kBAAe,GAAG;AAChB,WAAO,IAAI,MAAM;AAAA;AAEnB,MAAM,MAAM,CAAC,GAAG,GAAG,OAAM,KAAK,IAAI,KAAK,IAAI,GAAG,KAAI;AAClD,eAAa,GAAG;AACd,WAAO,IAAI,OAAM,IAAI,OAAO,GAAG;AAAA;AAKjC,eAAa,GAAG;AACd,WAAO,IAAI,OAAM,IAAI,MAAM,GAAG;AAAA;AAEhC,eAAa,GAAG;AACd,WAAO,IAAI,OAAM,IAAI,QAAQ,KAAK,GAAG;AAAA;AAEvC,eAAa,GAAG;AACd,WAAO,IAAI,OAAM,IAAI,MAAM,GAAG;AAAA;AAGhC,MAAM,QAAQ,EAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG;AAC3J,MAAM,MAAM,CAAC,GAAG;AAChB,MAAM,KAAK,OAAK,IAAI,IAAI;AACxB,MAAM,KAAK,OAAK,IAAK,KAAI,QAAS,KAAK,IAAI,IAAI;AAC/C,MAAM,KAAK,OAAO,KAAI,QAAS,MAAQ,KAAI;AAC3C,MAAM,UAAU,OAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE;AAC3D,oBAAkB,KAAK;AACrB,QAAI,MAAM,IAAI;AACd,QAAI;AACJ,QAAI,IAAI,OAAO,KAAK;AAClB,UAAI,QAAQ,KAAK,QAAQ,GAAG;AAC1B,cAAM;AAAA,UACJ,GAAG,MAAM,MAAM,IAAI,MAAM;AAAA,UACzB,GAAG,MAAM,MAAM,IAAI,MAAM;AAAA,UACzB,GAAG,MAAM,MAAM,IAAI,MAAM;AAAA,UACzB,GAAG,QAAQ,IAAI,MAAM,IAAI,MAAM,KAAK;AAAA;AAAA,iBAE7B,QAAQ,KAAK,QAAQ,GAAG;AACjC,cAAM;AAAA,UACJ,GAAG,MAAM,IAAI,OAAO,IAAI,MAAM,IAAI;AAAA,UAClC,GAAG,MAAM,IAAI,OAAO,IAAI,MAAM,IAAI;AAAA,UAClC,GAAG,MAAM,IAAI,OAAO,IAAI,MAAM,IAAI;AAAA,UAClC,GAAG,QAAQ,IAAK,MAAM,IAAI,OAAO,IAAI,MAAM,IAAI,MAAO;AAAA;AAAA;AAAA;AAI5D,WAAO;AAAA;AAET,MAAM,QAAQ,CAAC,GAAG,MAAM,IAAI,MAAM,EAAE,KAAK;AACzC,qBAAmB,GAAG;AACpB,QAAI,IAAI,QAAQ,KAAK,KAAK;AAC1B,WAAO,IACH,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,MAAM,EAAE,GAAG,KAC5C;AAAA;AAGN,MAAM,SAAS;AACf,oBAAkB,IAAG,GAAG,GAAG;AACzB,UAAM,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI;AAC9B,UAAM,IAAI,CAAC,GAAG,IAAK,KAAI,KAAI,MAAM,OAAO,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI;AACpF,WAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;AAAA;AAExB,oBAAkB,IAAG,GAAG,GAAG;AACzB,UAAM,IAAI,CAAC,GAAG,IAAK,KAAI,KAAI,MAAM,MAAM,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI;AACnF,WAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;AAAA;AAExB,oBAAkB,IAAG,GAAG,GAAG;AACzB,UAAM,MAAM,SAAS,IAAG,GAAG;AAC3B,QAAI;AACJ,QAAI,IAAI,IAAI,GAAG;AACb,UAAI,IAAK,KAAI;AACb,WAAK;AACL,WAAK;AAAA;AAEP,SAAK,IAAI,GAAG,IAAI,GAAG,KAAK;AACtB,UAAI,MAAM,IAAI,IAAI;AAClB,UAAI,MAAM;AAAA;AAEZ,WAAO;AAAA;AAET,oBAAkB,GAAG,GAAG,GAAG,IAAG,KAAK;AACjC,QAAI,MAAM,KAAK;AACb,aAAS,KAAI,KAAK,KAAM,KAAI,IAAI,IAAI;AAAA;AAEtC,QAAI,MAAM,KAAK;AACb,aAAQ,KAAI,KAAK,KAAI;AAAA;AAEvB,WAAQ,KAAI,KAAK,KAAI;AAAA;AAEvB,mBAAiB,GAAG;AAClB,UAAM,UAAQ;AACd,UAAM,IAAI,EAAE,IAAI;AAChB,UAAM,IAAI,EAAE,IAAI;AAChB,UAAM,IAAI,EAAE,IAAI;AAChB,UAAM,MAAM,KAAK,IAAI,GAAG,GAAG;AAC3B,UAAM,MAAM,KAAK,IAAI,GAAG,GAAG;AAC3B,UAAM,IAAK,OAAM,OAAO;AACxB,QAAI,IAAG,GAAG;AACV,QAAI,QAAQ,KAAK;AACf,WAAI,MAAM;AACV,UAAI,IAAI,MAAM,KAAK,KAAI,MAAM,OAAO,KAAK,OAAM;AAC/C,WAAI,SAAS,GAAG,GAAG,GAAG,IAAG;AACzB,WAAI,KAAI,KAAK;AAAA;AAEf,WAAO,CAAC,KAAI,GAAG,KAAK,GAAG;AAAA;AAEzB,iBAAe,GAAG,GAAG,GAAG,IAAG;AACzB,WACE,OAAM,QAAQ,KACV,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAChB,EAAE,GAAG,GAAG,KACZ,IAAI;AAAA;AAER,mBAAiB,IAAG,GAAG,GAAG;AACxB,WAAO,MAAM,UAAU,IAAG,GAAG;AAAA;AAE/B,mBAAiB,IAAG,GAAG,GAAG;AACxB,WAAO,MAAM,UAAU,IAAG,GAAG;AAAA;AAE/B,mBAAiB,IAAG,GAAG,GAAG;AACxB,WAAO,MAAM,UAAU,IAAG,GAAG;AAAA;AAE/B,eAAa,IAAG;AACd,WAAQ,MAAI,MAAM,OAAO;AAAA;AAE3B,oBAAkB,KAAK;AACrB,UAAM,IAAI,OAAO,KAAK;AACtB,QAAI,IAAI;AACR,QAAI;AACJ,QAAI,CAAC,GAAG;AACN;AAAA;AAEF,QAAI,EAAE,OAAO,GAAG;AACd,UAAI,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE;AAAA;AAEjC,UAAM,KAAI,IAAI,CAAC,EAAE;AACjB,UAAM,KAAK,CAAC,EAAE,KAAK;AACnB,UAAM,KAAK,CAAC,EAAE,KAAK;AACnB,QAAI,EAAE,OAAO,OAAO;AAClB,UAAI,QAAQ,IAAG,IAAI;AAAA,eACV,EAAE,OAAO,OAAO;AACzB,UAAI,QAAQ,IAAG,IAAI;AAAA,WACd;AACL,UAAI,QAAQ,IAAG,IAAI;AAAA;AAErB,WAAO;AAAA,MACL,GAAG,EAAE;AAAA,MACL,GAAG,EAAE;AAAA,MACL,GAAG,EAAE;AAAA,MACL;AAAA;AAAA;AAGJ,kBAAgB,GAAG,KAAK;AACtB,QAAI,KAAI,QAAQ;AAChB,OAAE,KAAK,IAAI,GAAE,KAAK;AAClB,SAAI,QAAQ;AACZ,MAAE,IAAI,GAAE;AACR,MAAE,IAAI,GAAE;AACR,MAAE,IAAI,GAAE;AAAA;AAEV,qBAAmB,GAAG;AACpB,QAAI,CAAC,GAAG;AACN;AAAA;AAEF,UAAM,IAAI,QAAQ;AAClB,UAAM,KAAI,EAAE;AACZ,UAAM,IAAI,IAAI,EAAE;AAChB,UAAM,IAAI,IAAI,EAAE;AAChB,WAAO,EAAE,IAAI,MACT,QAAQ,OAAM,OAAO,OAAO,IAAI,EAAE,QAClC,OAAO,OAAM,OAAO;AAAA;AAG1B,MAAM,MAAM;AAAA,IACV,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA;AAEL,MAAM,UAAU;AAAA,IACd,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,MAAM;AAAA,IACN,WAAW;AAAA,IACX,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,cAAc;AAAA,IACd,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,SAAS;AAAA,IACT,KAAK;AAAA,IACL,aAAa;AAAA,IACb,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,IACN,KAAK;AAAA,IACL,OAAO;AAAA,IACP,SAAS;AAAA,IACT,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,IACP,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,UAAU;AAAA,IACV,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,WAAW;AAAA,IACX,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,KAAK;AAAA,IACL,OAAO;AAAA,IACP,KAAK;AAAA,IACL,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,KAAK;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,WAAW;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS;AAAA,IACT,KAAK;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,KAAK;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,IACX,KAAK;AAAA,IACL,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,UAAU;AAAA,IACV,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,IACP,SAAS;AAAA,IACT,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,SAAS;AAAA,IACT,MAAM;AAAA,IACN,KAAK;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,IACP,aAAa;AAAA,IACb,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,OAAO;AAAA,IACP,WAAW;AAAA,IACX,OAAO;AAAA,IACP,WAAW;AAAA,IACX,OAAO;AAAA,IACP,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,KAAK;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,KAAK;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,KAAK;AAAA,IACL,MAAM;AAAA,IACN,WAAW;AAAA,IACX,IAAI;AAAA,IACJ,OAAO;AAAA;AAET,oBAAkB;AAChB,UAAM,WAAW;AACjB,UAAM,OAAO,OAAO,KAAK;AACzB,UAAM,QAAQ,OAAO,KAAK;AAC1B,QAAI,GAAG,IAAG,GAAG,IAAI;AACjB,SAAK,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AAChC,WAAK,KAAK,KAAK;AACf,WAAK,KAAI,GAAG,KAAI,MAAM,QAAQ,MAAK;AACjC,YAAI,MAAM;AACV,aAAK,GAAG,QAAQ,GAAG,IAAI;AAAA;AAEzB,UAAI,SAAS,QAAQ,KAAK;AAC1B,eAAS,MAAM,CAAC,KAAK,KAAK,KAAM,KAAK,IAAI,KAAM,IAAI;AAAA;AAErD,WAAO;AAAA;AAGT,MAAI;AACJ,qBAAmB,KAAK;AACtB,QAAI,CAAC,OAAO;AACV,cAAQ;AACR,YAAM,cAAc,CAAC,GAAG,GAAG,GAAG;AAAA;AAEhC,UAAM,IAAI,MAAM,IAAI;AACpB,WAAO,KAAK;AAAA,MACV,GAAG,EAAE;AAAA,MACL,GAAG,EAAE;AAAA,MACL,GAAG,EAAE;AAAA,MACL,GAAG,EAAE,WAAW,IAAI,EAAE,KAAK;AAAA;AAAA;AAI/B,MAAM,SAAS;AACf,oBAAkB,KAAK;AACrB,UAAM,IAAI,OAAO,KAAK;AACtB,QAAI,IAAI;AACR,QAAI,GAAG,GAAG;AACV,QAAI,CAAC,GAAG;AACN;AAAA;AAEF,QAAI,EAAE,OAAO,GAAG;AACd,YAAM,IAAI,CAAC,EAAE;AACb,UAAI,EAAE,KAAK,IAAI,KAAK,IAAI,IAAI,KAAK,GAAG;AAAA;AAEtC,QAAI,CAAC,EAAE;AACP,QAAI,CAAC,EAAE;AACP,QAAI,CAAC,EAAE;AACP,QAAI,MAAO,GAAE,KAAK,IAAI,KAAK,IAAI,GAAG,GAAG;AACrC,QAAI,MAAO,GAAE,KAAK,IAAI,KAAK,IAAI,GAAG,GAAG;AACrC,QAAI,MAAO,GAAE,KAAK,IAAI,KAAK,IAAI,GAAG,GAAG;AACrC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAGJ,qBAAmB,GAAG;AACpB,WAAO,KACL,GAAE,IAAI,MACF,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,QACtC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE;AAAA;AAIjC,MAAM,MAAK,OAAK,KAAK,WAAY,IAAI,QAAQ,KAAK,IAAI,GAAG,IAAM,OAAO,QAAQ;AAC9E,MAAM,SAAO,OAAK,KAAK,UAAU,IAAI,QAAQ,KAAK,IAAK,KAAI,SAAS,OAAO;AAC3E,uBAAqB,MAAM,MAAM,IAAG;AAClC,UAAM,IAAI,OAAK,IAAI,KAAK;AACxB,UAAM,IAAI,OAAK,IAAI,KAAK;AACxB,UAAM,IAAI,OAAK,IAAI,KAAK;AACxB,WAAO;AAAA,MACL,GAAG,IAAI,IAAG,IAAI,KAAK,QAAK,IAAI,KAAK,MAAM;AAAA,MACvC,GAAG,IAAI,IAAG,IAAI,KAAK,QAAK,IAAI,KAAK,MAAM;AAAA,MACvC,GAAG,IAAI,IAAG,IAAI,KAAK,QAAK,IAAI,KAAK,MAAM;AAAA,MACvC,GAAG,KAAK,IAAI,KAAK,MAAK,IAAI,KAAK;AAAA;AAAA;AAInC,kBAAgB,GAAG,GAAG,OAAO;AAC3B,QAAI,GAAG;AACL,UAAI,MAAM,QAAQ;AAClB,UAAI,KAAK,KAAK,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,IAAI,KAAK,OAAO,MAAM,IAAI,MAAM;AACvE,YAAM,QAAQ;AACd,QAAE,IAAI,IAAI;AACV,QAAE,IAAI,IAAI;AACV,QAAE,IAAI,IAAI;AAAA;AAAA;AAGd,kBAAe,GAAG,OAAO;AACvB,WAAO,IAAI,OAAO,OAAO,SAAS,IAAI,KAAK;AAAA;AAE7C,sBAAoB,QAAO;AACzB,QAAI,IAAI,EAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AAC9B,QAAI,MAAM,QAAQ,SAAQ;AACxB,UAAI,OAAM,UAAU,GAAG;AACrB,YAAI,EAAC,GAAG,OAAM,IAAI,GAAG,OAAM,IAAI,GAAG,OAAM,IAAI,GAAG;AAC/C,YAAI,OAAM,SAAS,GAAG;AACpB,YAAE,IAAI,IAAI,OAAM;AAAA;AAAA;AAAA,WAGf;AACL,UAAI,OAAM,QAAO,EAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AACvC,QAAE,IAAI,IAAI,EAAE;AAAA;AAEd,WAAO;AAAA;AAET,yBAAuB,KAAK;AAC1B,QAAI,IAAI,OAAO,OAAO,KAAK;AACzB,aAAO,SAAS;AAAA;AAElB,WAAO,SAAS;AAAA;AAElB,oBAAY;AAAA,IACV,YAAY,QAAO;AACjB,UAAI,kBAAiB,OAAO;AAC1B,eAAO;AAAA;AAET,YAAM,OAAO,OAAO;AACpB,UAAI;AACJ,UAAI,SAAS,UAAU;AACrB,YAAI,WAAW;AAAA,iBACN,SAAS,UAAU;AAC5B,YAAI,SAAS,WAAU,UAAU,WAAU,cAAc;AAAA;AAE3D,WAAK,OAAO;AACZ,WAAK,SAAS,CAAC,CAAC;AAAA;AAAA,QAEd,QAAQ;AACV,aAAO,KAAK;AAAA;AAAA,QAEV,MAAM;AACR,UAAI,IAAI,OAAM,KAAK;AACnB,UAAI,GAAG;AACL,UAAE,IAAI,IAAI,EAAE;AAAA;AAEd,aAAO;AAAA;AAAA,QAEL,IAAI,KAAK;AACX,WAAK,OAAO,WAAW;AAAA;AAAA,IAEzB,YAAY;AACV,aAAO,KAAK,SAAS,UAAU,KAAK,QAAQ;AAAA;AAAA,IAE9C,YAAY;AACV,aAAO,KAAK,SAAS,UAAU,KAAK,QAAQ;AAAA;AAAA,IAE9C,YAAY;AACV,aAAO,KAAK,SAAS,UAAU,KAAK,QAAQ;AAAA;AAAA,IAE9C,IAAI,SAAO,QAAQ;AACjB,UAAI,SAAO;AACT,cAAM,KAAK,KAAK;AAChB,cAAM,KAAK,QAAM;AACjB,YAAI;AACJ,cAAM,IAAI,WAAW,KAAK,MAAM;AAChC,cAAM,IAAI,IAAI,IAAI;AAClB,cAAM,IAAI,GAAG,IAAI,GAAG;AACpB,cAAM,KAAO,MAAI,MAAM,KAAK,IAAK,KAAI,KAAM,KAAI,IAAI,MAAM,KAAK;AAC9D,aAAK,IAAI;AACT,WAAG,IAAI,MAAO,KAAK,GAAG,IAAI,KAAK,GAAG,IAAI;AACtC,WAAG,IAAI,MAAO,KAAK,GAAG,IAAI,KAAK,GAAG,IAAI;AACtC,WAAG,IAAI,MAAO,KAAK,GAAG,IAAI,KAAK,GAAG,IAAI;AACtC,WAAG,IAAI,IAAI,GAAG,IAAK,KAAI,KAAK,GAAG;AAC/B,aAAK,MAAM;AAAA;AAEb,aAAO;AAAA;AAAA,IAET,YAAY,SAAO,IAAG;AACpB,UAAI,SAAO;AACT,aAAK,OAAO,YAAY,KAAK,MAAM,QAAM,MAAM;AAAA;AAEjD,aAAO;AAAA;AAAA,IAET,QAAQ;AACN,aAAO,IAAI,MAAM,KAAK;AAAA;AAAA,IAExB,MAAM,GAAG;AACP,WAAK,KAAK,IAAI,IAAI;AAClB,aAAO;AAAA;AAAA,IAET,QAAQ,OAAO;AACb,YAAM,MAAM,KAAK;AACjB,UAAI,KAAK,IAAI;AACb,aAAO;AAAA;AAAA,IAET,YAAY;AACV,YAAM,MAAM,KAAK;AACjB,YAAM,MAAM,OAAM,IAAI,IAAI,MAAM,IAAI,IAAI,OAAO,IAAI,IAAI;AACvD,UAAI,IAAI,IAAI,IAAI,IAAI,IAAI;AACxB,aAAO;AAAA;AAAA,IAET,QAAQ,OAAO;AACb,YAAM,MAAM,KAAK;AACjB,UAAI,KAAK,IAAI;AACb,aAAO;AAAA;AAAA,IAET,SAAS;AACP,YAAM,IAAI,KAAK;AACf,QAAE,IAAI,MAAM,EAAE;AACd,QAAE,IAAI,MAAM,EAAE;AACd,QAAE,IAAI,MAAM,EAAE;AACd,aAAO;AAAA;AAAA,IAET,QAAQ,OAAO;AACb,aAAO,KAAK,MAAM,GAAG;AACrB,aAAO;AAAA;AAAA,IAET,OAAO,OAAO;AACZ,aAAO,KAAK,MAAM,GAAG,CAAC;AACtB,aAAO;AAAA;AAAA,IAET,SAAS,OAAO;AACd,aAAO,KAAK,MAAM,GAAG;AACrB,aAAO;AAAA;AAAA,IAET,WAAW,OAAO;AAChB,aAAO,KAAK,MAAM,GAAG,CAAC;AACtB,aAAO;AAAA;AAAA,IAET,OAAO,KAAK;AACV,aAAO,KAAK,MAAM;AAClB,aAAO;AAAA;AAAA;;;AC1jBJ,kBAAgB;;AAOhB,MAAM,MAAO,OAAM;AACxB,QAAI,MAAK;AACT,WAAO,MAAM;;AAQR,yBAAuB,OAA2C;AACvE,WAAO,UAAU,QAAQ,OAAO,UAAU;;AAQrC,oBAA8B,OAA8B;AACjE,QAAI,MAAM,WAAW,MAAM,QAAQ,QAAQ;AACzC,aAAO;;AAET,UAAM,OAAO,OAAO,UAAU,SAAS,KAAK;AAC5C,QAAI,KAAK,MAAM,GAAG,OAAO,aAAa,KAAK,MAAM,QAAQ,UAAU;AACjE,aAAO;;AAET,WAAO;;AAQF,qBAAkB,OAAoC;AAC3D,WAAO,UAAU,QAAQ,OAAO,UAAU,SAAS,KAAK,WAAW;;AAOrE,0BAAwB,OAAiC;AACvD,WAAQ,QAAO,UAAU,YAAY,iBAAiB,WAAW,SAAS,CAAC;;AAWtE,2BAAyB,OAAgB,cAAsB;AACpE,WAAO,eAAe,SAAS,QAAQ;;AAQlC,0BAA2B,OAAsB,cAAiB;AACvE,WAAO,OAAO,UAAU,cAAc,eAAe;;MAG1C,eAAe,CAAC,OAAwB,cACnD,OAAO,UAAU,YAAY,MAAM,SAAS,OAC1C,WAAW,SAAS,MAClB,CAAC,QAAQ;MAEF,cAAc,CAAC,OAAwB,cAClD,OAAO,UAAU,YAAY,MAAM,SAAS,OAC1C,WAAW,SAAS,MAAM,YACxB,CAAC;AASA,oBACL,KACA,MACA,SACe;AACf,QAAI,OAAM,OAAO,IAAG,SAAS,YAAY;AACvC,aAAO,IAAG,MAAM,SAAS;;;AAyBtB,gBACL,UACA,KACA,SACA,SACA;AACA,QAAI,GAAW,KAAa;AAC5B,QAAI,SAAQ,WAAW;AACrB,YAAM,SAAS;AACf,UAAI,SAAS;AACX,aAAK,IAAI,MAAM,GAAG,KAAK,GAAG,KAAK;AAC7B,cAAG,KAAK,SAAS,SAAS,IAAI;;aAE3B;AACL,aAAK,IAAI,GAAG,IAAI,KAAK,KAAK;AACxB,cAAG,KAAK,SAAS,SAAS,IAAI;;;eAGzB,UAAS,WAAW;AAC7B,aAAO,OAAO,KAAK;AACnB,YAAM,KAAK;AACX,WAAK,IAAI,GAAG,IAAI,KAAK,KAAK;AACxB,YAAG,KAAK,SAAS,SAAS,KAAK,KAAK,KAAK;;;;AAWxC,0BAAwB,KAAuB,IAAuB;AAC3E,QAAI,GAAW,MAAc,IAAqB;AAElD,QAAI,CAAC,OAAM,CAAC,MAAM,IAAG,WAAW,GAAG,QAAQ;AACzC,aAAO;;AAGT,SAAK,IAAI,GAAG,OAAO,IAAG,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC3C,WAAK,IAAG;AACR,WAAK,GAAG;AAER,UAAI,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,UAAU,GAAG,OAAO;AAChE,eAAO;;;AAIX,WAAO;;AAOF,kBAAkB,QAAc;AACrC,QAAI,SAAQ,SAAS;AACnB,aAAO,OAAO,IAAI;;AAGpB,QAAI,UAAS,SAAS;AACpB,YAAM,SAAS,OAAO,OAAO;AAC7B,YAAM,OAAO,OAAO,KAAK;AACzB,YAAM,OAAO,KAAK;AAClB,UAAI,IAAI;AAER,aAAO,IAAI,MAAM,EAAE,GAAG;AACpB,eAAO,KAAK,MAAM,OAAM,OAAO,KAAK;;AAGtC,aAAO;;AAGT,WAAO;;AAGT,sBAAoB,KAAa;AAC/B,WAAO;MAAC;MAAa;MAAa;MAAe,QAAQ,SAAS;;AAQ7D,mBAAiB,KAAa,QAAmB,QAAmB,SAAoB;AAC7F,QAAI,CAAC,WAAW,MAAM;AACpB;;AAGF,UAAM,OAAO,OAAO;AACpB,UAAM,OAAO,OAAO;AAEpB,QAAI,UAAS,SAAS,UAAS,OAAO;AAEpC,YAAM,MAAM,MAAM;WACb;AACL,aAAO,OAAO,OAAM;;;AA4BjB,iBAAkB,QAAW,QAAqB,SAAmC;AAC1F,UAAM,UAAU,SAAQ,UAAU,SAAS;MAAC;;AAC5C,UAAM,OAAO,QAAQ;AAErB,QAAI,CAAC,UAAS,SAAS;AACrB,aAAO;;AAGT,cAAU,WAAW;AACrB,UAAM,SAAS,QAAQ,UAAU;AACjC,QAAI;AAEJ,aAAS,IAAI,GAAG,IAAI,MAAM,EAAE,GAAG;AAC7B,gBAAU,QAAQ;AAClB,UAAI,CAAC,UAAS,UAAU;AACtB;;AAGF,YAAM,OAAO,OAAO,KAAK;AACzB,eAAS,IAAI,GAAG,OAAO,KAAK,QAAQ,IAAI,MAAM,EAAE,GAAG;AACjD,eAAO,KAAK,IAAI,QAAQ,SAAS;;;AAIrC,WAAO;;AAiBF,mBAAoB,QAAW,QAAgC;AAEpE,WAAO,MAAS,QAAQ,QAAQ;MAAC,QAAQ;;;AAOpC,qBAAmB,KAAa,QAAmB,QAAmB;AAC3E,QAAI,CAAC,WAAW,MAAM;AACpB;;AAGF,UAAM,OAAO,OAAO;AACpB,UAAM,OAAO,OAAO;AAEpB,QAAI,UAAS,SAAS,UAAS,OAAO;AACpC,cAAQ,MAAM;eACL,CAAC,OAAO,UAAU,eAAe,KAAK,QAAQ,MAAM;AAC7D,aAAO,OAAO,OAAM;;;AAexB,MAAM,eAAe;IAEnB,IAAI,CAAA,MAAK;IAET,GAAG,CAAA,MAAK,EAAE;IACV,GAAG,CAAA,MAAK,EAAE;;AAML,qBAAmB,KAAa;AACrC,UAAM,QAAQ,IAAI,MAAM;AACxB,UAAM,OAAiB;AACvB,QAAI,MAAM;AACV,eAAW,QAAQ,OAAO;AACxB,aAAO;AACP,UAAI,IAAI,SAAS,OAAO;AACtB,cAAM,IAAI,MAAM,GAAG,MAAM;aACpB;AACL,aAAK,KAAK;AACV,cAAM;;;AAGV,WAAO;;AAGT,2BAAyB,KAAa;AACpC,UAAM,OAAO,UAAU;AACvB,WAAO,CAAA,QAAO;AACZ,iBAAW,KAAK,MAAM;AACpB,YAAI,MAAM,IAAI;AAGZ;;AAEF,cAAM,OAAO,IAAI;;AAEnB,aAAO;;;AAIJ,4BAA0B,KAAgB,KAAkB;AACjE,UAAM,WAAW,aAAa,QAAS,cAAa,OAAO,gBAAgB;AAC3E,WAAO,SAAS;;AAMX,uBAAqB,KAAa;AACvC,WAAO,IAAI,OAAO,GAAG,gBAAgB,IAAI,MAAM;;MAIpC,UAAU,CAAC,UAAmB,OAAO,UAAU;MAE/C,cAAa,CAAC,UAAqD,OAAO,UAAU;AAGpF,MAAA,YAAY,CAAI,GAAW,MAAc;AACpD,QAAI,EAAE,SAAS,EAAE,MAAM;AACrB,aAAO;;AAGT,eAAW,QAAQ,GAAG;AACpB,UAAI,CAAC,EAAE,IAAI,OAAO;AAChB,eAAO;;;AAIX,WAAO;;AAOF,yBAAuB,GAAe;AAC3C,WAAO,EAAE,SAAS,aAAa,EAAE,SAAS,WAAW,EAAE,SAAS;;ACtZ3D,MAAM,KAAK,KAAK;AAChB,MAAM,MAAM,IAAI;AAChB,MAAM,QAAQ,MAAM;AACd,MAAA,WAAW,OAAO;AACxB,MAAM,cAAc,KAAK;AACzB,MAAM,UAAU,KAAK;AACrB,MAAM,aAAa,KAAK;AAClB,MAAA,gBAAgB,KAAK,IAAI;AAEzB,MAAA,QAAQ,KAAK;AACb,MAAA,OAAO,KAAK;AAElB,wBAAsB,GAAW,IAAW,SAAiB;AAClE,WAAO,KAAK,IAAI,IAAI,MAAK;;AAMpB,mBAAiB,SAAe;AACrC,UAAM,eAAe,KAAK,MAAM;AAChC,cAAQ,aAAa,SAAO,cAAc,UAAQ,OAAQ,eAAe;AACzE,UAAM,YAAY,KAAK,IAAI,IAAI,KAAK,MAAM,MAAM;AAChD,UAAM,WAAW,UAAQ;AACzB,UAAM,eAAe,YAAY,IAAI,IAAI,YAAY,IAAI,IAAI,YAAY,IAAI,IAAI;AACjF,WAAO,eAAe;;AAOjB,sBAAoB,OAAe;AACxC,UAAM,SAAmB;AACzB,UAAM,OAAO,KAAK,KAAK;AACvB,QAAI;AAEJ,SAAK,IAAI,GAAG,IAAI,MAAM,KAAK;AACzB,UAAI,QAAQ,MAAM,GAAG;AACnB,eAAO,KAAK;AACZ,eAAO,KAAK,QAAQ;;;AAGxB,QAAI,SAAU,QAAO,IAAI;AACvB,aAAO,KAAK;;AAGd,WAAO,KAAK,CAAC,GAAG,MAAM,IAAI,GAAG;AAC7B,WAAO;;AAGF,qBAAkB,GAAyB;AAChD,WAAO,CAAC,MAAM,WAAW,OAAiB,SAAS;;AAG9C,uBAAqB,GAAW,SAAiB;AACtD,UAAM,UAAU,KAAK,MAAM;AAC3B,WAAO,UAAY,WAAY,KAAQ,UAAU,WAAY;;AAMxD,8BACL,OACA,QACA,UACA;AACA,QAAI,GAAW,MAAc;AAE7B,SAAK,IAAI,GAAG,OAAO,MAAM,QAAQ,IAAI,MAAM,KAAK;AAC9C,cAAQ,MAAM,GAAG;AACjB,UAAI,CAAC,MAAM,QAAQ;AACjB,eAAO,MAAM,KAAK,IAAI,OAAO,KAAK;AAClC,eAAO,MAAM,KAAK,IAAI,OAAO,KAAK;;;;AAKjC,qBAAmB,SAAiB;AACzC,WAAO,UAAW,MAAK;;AAGlB,qBAAmB,SAAiB;AACzC,WAAO,UAAW,OAAM;;AAUnB,0BAAwB,GAAW;AACxC,QAAI,CAAC,eAAe,IAAI;AACtB;;AAEF,QAAI,IAAI;AACR,QAAI,IAAI;AACR,WAAO,KAAK,MAAM,IAAI,KAAK,MAAM,GAAG;AAClC,WAAK;AACL;;AAEF,WAAO;;AAIF,6BACL,aACA,YACA;AACA,UAAM,sBAAsB,WAAW,IAAI,YAAY;AACvD,UAAM,sBAAsB,WAAW,IAAI,YAAY;AACvD,UAAM,2BAA2B,KAAK,KAAK,sBAAsB,sBAAsB,sBAAsB;AAE7G,QAAI,QAAQ,KAAK,MAAM,qBAAqB;AAE5C,QAAI,QAAS,OAAO,IAAK;AACvB,eAAS;;AAGX,WAAO;MACL;MACA,UAAU;;;AAIP,iCAA+B,KAAY,KAAY;AAC5D,WAAO,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG;;AAOjE,sBAAoB,GAAW,GAAW;AAC/C,WAAQ,KAAI,IAAI,SAAS,MAAM;;AAO1B,2BAAyB,GAAW;AACzC,WAAQ,KAAI,MAAM,OAAO;;AAMpB,yBAAuB,OAAe,QAAe,KAAa,uBAAiC;AACxG,UAAM,IAAI,gBAAgB;AAC1B,UAAM,IAAI,gBAAgB;AAC1B,UAAM,IAAI,gBAAgB;AAC1B,UAAM,eAAe,gBAAgB,IAAI;AACzC,UAAM,aAAa,gBAAgB,IAAI;AACvC,UAAM,eAAe,gBAAgB,IAAI;AACzC,UAAM,aAAa,gBAAgB,IAAI;AACvC,WAAO,MAAM,KAAK,MAAM,KAAM,yBAAyB,MAAM,KACvD,eAAe,cAAc,eAAe;;AAU7C,uBAAqB,OAAe,KAAa,KAAa;AACnE,WAAO,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK;;AAO9B,uBAAqB,OAAe;AACzC,WAAO,YAAY,OAAO,QAAQ;;AAU7B,sBAAoB,OAAe,QAAe,KAAa,UAAU,MAAM;AACpF,WAAO,SAAS,KAAK,IAAI,QAAO,OAAO,WAAW,SAAS,KAAK,IAAI,QAAO,OAAO;;ACnL7E,mBACL,OACA,OACA,KACA;AACA,UAAM,OAAQ,EAAC,WAAU,MAAM,UAAS;AACxC,QAAI,MAAK,MAAM,SAAS;AACxB,QAAI,MAAK;AACT,QAAI;AAEJ,WAAO,MAAK,MAAK,GAAG;AAClB,YAAO,MAAK,OAAO;AACnB,UAAI,IAAI,MAAM;AACZ,cAAK;aACA;AACL,cAAK;;;AAIT,WAAO;MAAC;MAAI;;;AAWP,MAAM,eAAe,CAC1B,OACA,KACA,OACA,SAEA,QAAQ,OAAO,OAAO,OAClB,CAAA,WAAS;AACT,UAAM,MAAK,MAAM,QAAO;AACxB,WAAO,MAAK,SAAS,QAAO,SAAS,MAAM,SAAQ,GAAG,SAAS;MAE/D,CAAA,WAAS,MAAM,QAAO,OAAO;AAStB,MAAA,gBAAgB,CAC3B,OACA,KACA,UAEA,QAAQ,OAAO,OAAO,CAAA,WAAS,MAAM,QAAO,QAAQ;AAS/C,0BAAwB,QAAkB,KAAa,KAAa;AACzE,QAAI,SAAQ;AACZ,QAAI,MAAM,OAAO;AAEjB,WAAO,SAAQ,OAAO,OAAO,UAAS,KAAK;AACzC;;AAEF,WAAO,MAAM,UAAS,OAAO,MAAM,KAAK,KAAK;AAC3C;;AAGF,WAAO,SAAQ,KAAK,MAAM,OAAO,SAC7B,OAAO,MAAM,QAAO,OACpB;;AAGN,MAAM,cAAc;IAAC;IAAQ;IAAO;IAAS;IAAU;;AAgBhD,6BAA2B,OAAO,UAAU;AACjD,QAAI,MAAM,UAAU;AAClB,YAAM,SAAS,UAAU,KAAK;AAC9B;;AAGF,WAAO,eAAe,OAAO,YAAY;MACvC,cAAc;MACd,YAAY;MACZ,OAAO;QACL,WAAW;UAAC;;;;AAIhB,gBAAY,QAAQ,CAAC,QAAQ;AAC3B,YAAM,SAAS,YAAY,YAAY;AACvC,YAAM,QAAO,MAAM;AAEnB,aAAO,eAAe,OAAO,KAAK;QAChC,cAAc;QACd,YAAY;QACZ,SAAS,MAAM;AACb,gBAAM,MAAM,MAAK,MAAM,MAAM;AAE7B,gBAAM,SAAS,UAAU,QAAQ,CAAC,WAAW;AAC3C,gBAAI,OAAO,OAAO,YAAY,YAAY;AACxC,qBAAO,QAAW,GAAA;;;AAItB,iBAAO;;;;;AAYR,+BAA6B,OAAO,UAAU;AACnD,UAAM,OAAO,MAAM;AACnB,QAAI,CAAC,MAAM;AACT;;AAGF,UAAM,YAAY,KAAK;AACvB,UAAM,SAAQ,UAAU,QAAQ;AAChC,QAAI,WAAU,IAAI;AAChB,gBAAU,OAAO,QAAO;;AAG1B,QAAI,UAAU,SAAS,GAAG;AACxB;;AAGF,gBAAY,QAAQ,CAAC,QAAQ;AAC3B,aAAO,MAAM;;AAGf,WAAO,MAAM;;AAMR,wBAAyB,OAAY;AAC1C,UAAM,OAAM,IAAI,IAAO;AAEvB,QAAI,KAAI,SAAS,MAAM,QAAQ;AAC7B,aAAO;;AAGT,WAAO,MAAM,KAAK;;AClLP,MAAA,mBAAoB,WAAW;AAC1C,QAAI,OAAO,WAAW,aAAa;AACjC,aAAO,SAAS,WAAU;AACxB,eAAO;;;AAGX,WAAO,OAAO;;AAOT,qBACL,KACA,SACA;AACA,QAAI,YAAY;AAChB,QAAI,UAAU;AAEd,WAAO,YAAY,MAAa;AAE9B,kBAAY;AACZ,UAAI,CAAC,SAAS;AACZ,kBAAU;AACV,yBAAiB,KAAK,QAAQ,MAAM;AAClC,oBAAU;AACV,cAAG,MAAM,SAAS;;;;;AASnB,qBAA4C,KAA8B,OAAe;AAC9F,QAAI;AACJ,WAAO,YAAY,MAAa;AAC9B,UAAI,OAAO;AACT,qBAAa;AACb,mBAAU,WAAW,KAAI,OAAO;aAC3B;AACL,YAAG,MAAM,MAAM;;AAEjB,aAAO;;;AAQJ,MAAM,qBAAqB,CAAC,UAAsC,UAAU,UAAU,SAAS,UAAU,QAAQ,UAAU;AAMrH,MAAA,iBAAiB,CAAC,OAAmC,QAAe,QAAgB,UAAU,UAAU,SAAQ,UAAU,QAAQ,MAAO,UAAQ,OAAO;AAMxJ,MAAA,SAAS,CAAC,OAAoC,MAAc,OAAe,QAAiB;AACvG,UAAM,QAAQ,MAAM,SAAS;AAC7B,WAAO,UAAU,QAAQ,QAAQ,UAAU,WAAY,QAAO,SAAS,IAAI;;AAOtE,4CAA0C,OAAqC,QAAwB,oBAA6B;AACzI,UAAM,aAAa,OAAO;AAE1B,QAAI,SAAQ;AACZ,QAAI,QAAQ;AAEZ,QAAI,MAAK,SAAS;AAChB,YAAM,EAAC,QAAQ,YAAW;AAC1B,YAAM,OAAO,OAAO;AACpB,YAAM,EAAC,KAAK,KAAK,YAAY,eAAc,OAAO;AAElD,UAAI,YAAY;AACd,iBAAQ,YAAY,KAAK,IAEvB,aAAa,SAAS,MAAM,KAAK,IAEjC,qBAAqB,aAAa,aAAa,QAAQ,MAAM,OAAO,iBAAiB,MAAM,KAC7F,GAAG,aAAa;;AAElB,UAAI,YAAY;AACd,gBAAQ,YAAY,KAAK,IAEvB,aAAa,SAAS,OAAO,MAAM,KAAK,MAAM,KAAK,GAEnD,qBAAqB,IAAI,aAAa,QAAQ,MAAM,OAAO,iBAAiB,MAAM,MAAM,KAAK,IAC/F,QAAO,cAAc;aAChB;AACL,gBAAQ,aAAa;;;AAIzB,WAAO;MAAC;MAAO;;;AASV,+BAA6B,OAAM;AACxC,UAAM,EAAC,QAAQ,QAAQ,iBAAgB;AACvC,UAAM,YAAY;MAChB,MAAM,OAAO;MACb,MAAM,OAAO;MACb,MAAM,OAAO;MACb,MAAM,OAAO;;AAEf,QAAI,CAAC,cAAc;AACjB,YAAK,eAAe;AACpB,aAAO;;AAET,UAAM,UAAU,aAAa,SAAS,OAAO,OAC1C,aAAa,SAAS,OAAO,OAC7B,aAAa,SAAS,OAAO,OAC7B,aAAa,SAAS,OAAO;AAEhC,WAAO,OAAO,cAAc;AAC5B,WAAO;;AC9IT,MAAM,SAAS,CAAC,OAAc,OAAM,KAAK,OAAM;AAC/C,MAAM,YAAY,CAAC,IAAW,GAAW,MAAc,CAAE,MAAK,IAAI,GAAG,KAAM,OAAK,MAAM,KAAK,IAAK,MAAI,KAAK,MAAM;AAC/G,MAAM,aAAa,CAAC,IAAW,GAAW,MAAc,KAAK,IAAI,GAAG,MAAM,MAAK,KAAK,IAAK,MAAI,KAAK,MAAM,KAAK;AAM5G,MACK,UAAU;IACd,QAAQ,CAAC,OAAc;IAEvB,YAAY,CAAC,OAAc,KAAI;IAE/B,aAAa,CAAC,OAAc,CAAC,KAAK,MAAI;IAEtC,eAAe,CAAC,OAAgB,OAAK,OAAO,IACxC,MAAM,KAAI,KACV,OAAS,GAAE,KAAM,MAAI,KAAK;IAE9B,aAAa,CAAC,OAAc,KAAI,KAAI;IAEpC,cAAc,CAAC,OAAe,OAAK,KAAK,KAAI,KAAI;IAEhD,gBAAgB,CAAC,OAAgB,OAAK,OAAO,IACzC,MAAM,KAAI,KAAI,KACd,MAAQ,QAAK,KAAK,KAAI,KAAI;IAE9B,aAAa,CAAC,OAAc,KAAI,KAAI,KAAI;IAExC,cAAc,CAAC,OAAc,CAAG,QAAK,KAAK,KAAI,KAAI,KAAI;IAEtD,gBAAgB,CAAC,OAAgB,OAAK,OAAO,IACzC,MAAM,KAAI,KAAI,KAAI,KAClB,OAAS,QAAK,KAAK,KAAI,KAAI,KAAI;IAEnC,aAAa,CAAC,OAAc,KAAI,KAAI,KAAI,KAAI;IAE5C,cAAc,CAAC,OAAe,OAAK,KAAK,KAAI,KAAI,KAAI,KAAI;IAExD,gBAAgB,CAAC,OAAgB,OAAK,OAAO,IACzC,MAAM,KAAI,KAAI,KAAI,KAAI,KACtB,MAAQ,QAAK,KAAK,KAAI,KAAI,KAAI,KAAI;IAEtC,YAAY,CAAC,OAAc,CAAC,KAAK,IAAI,KAAI,WAAW;IAEpD,aAAa,CAAC,OAAc,KAAK,IAAI,KAAI;IAEzC,eAAe,CAAC,OAAc,OAAQ,MAAK,IAAI,KAAK,MAAK;IAEzD,YAAY,CAAC,OAAc,OAAO,IAAK,IAAI,KAAK,IAAI,GAAG,KAAM,MAAI;IAEjE,aAAa,CAAC,OAAc,OAAO,IAAK,IAAI,CAAC,KAAK,IAAI,GAAG,MAAM,MAAK;IAEpE,eAAe,CAAC,OAAc,OAAO,MAAK,KAAI,KAAI,MAC9C,MAAM,KAAK,IAAI,GAAG,KAAM,MAAI,IAAI,MAChC,MAAO,EAAC,KAAK,IAAI,GAAG,MAAO,MAAI,IAAI,MAAM;IAE7C,YAAY,CAAC,OAAc,MAAM,IAAK,KAAI,CAAE,MAAK,KAAK,IAAI,KAAI,MAAK;IAEnE,aAAa,CAAC,OAAc,KAAK,KAAK,IAAK,OAAK,KAAK;IAErD,eAAe,CAAC,OAAgB,OAAK,OAAO,IACxC,OAAQ,MAAK,KAAK,IAAI,KAAI,MAAK,KAC/B,MAAO,MAAK,KAAK,IAAK,OAAK,KAAK,MAAK;IAEzC,eAAe,CAAC,OAAc,OAAO,MAAK,KAAI,UAAU,IAAG,OAAO;IAElE,gBAAgB,CAAC,OAAc,OAAO,MAAK,KAAI,WAAW,IAAG,OAAO;IAEpE,iBAAiB,IAAW;AAC1B,YAAM,IAAI;AACV,YAAM,IAAI;AACV,aAAO,OAAO,MAAK,KACjB,KAAI,MACA,MAAM,UAAU,KAAI,GAAG,GAAG,KAC1B,MAAM,MAAM,WAAW,KAAI,IAAI,GAAG,GAAG;;IAG7C,WAAW,IAAW;AACpB,YAAM,IAAI;AACV,aAAO,KAAI,KAAM,MAAI,KAAK,KAAI;;IAGhC,YAAY,IAAW;AACrB,YAAM,IAAI;AACV,aAAQ,OAAK,KAAK,KAAM,MAAI,KAAK,KAAI,KAAK;;IAG5C,cAAc,IAAW;AACvB,UAAI,IAAI;AACR,UAAK,OAAK,OAAO,GAAG;AAClB,eAAO,MAAO,MAAI,KAAO,QAAM,SAAU,KAAK,KAAI;;AAEpD,aAAO,MAAQ,QAAK,KAAK,KAAO,QAAM,SAAU,KAAK,KAAI,KAAK;;IAGhE,cAAc,CAAC,OAAc,IAAI,QAAQ,cAAc,IAAI;IAE3D,cAAc,IAAW;AACvB,YAAM,IAAI;AACV,YAAM,KAAI;AACV,UAAI,KAAK,IAAI,IAAI;AACf,eAAO,IAAI,KAAI;;AAEjB,UAAI,KAAK,IAAI,IAAI;AACf,eAAO,IAAK,OAAM,MAAM,MAAM,KAAI;;AAEpC,UAAI,KAAK,MAAM,IAAI;AACjB,eAAO,IAAK,OAAM,OAAO,MAAM,KAAI;;AAErC,aAAO,IAAK,OAAM,QAAQ,MAAM,KAAI;;IAGtC,iBAAiB,CAAC,OAAe,KAAI,MACjC,QAAQ,aAAa,KAAI,KAAK,MAC9B,QAAQ,cAAc,KAAI,IAAI,KAAK,MAAM;;ACpHxC,+BAA6B,OAAyD;AAC3F,QAAI,SAAS,OAAO,UAAU,UAAU;AACtC,YAAM,OAAO,MAAM;AACnB,aAAO,SAAS,4BAA4B,SAAS;;AAGvD,WAAO;;AAYF,mBAAe,OAAO;AAC3B,WAAO,oBAAoB,SAAS,QAAQ,IAAI,MAAM;;AAMjD,yBAAuB,OAAO;AACnC,WAAO,oBAAoB,SACvB,QACA,IAAI,MAAM,OAAO,SAAS,KAAK,OAAO,KAAK;;AC9BjD,MAAM,UAAU;IAAC;IAAK;IAAK;IAAe;IAAU;;AACpD,MAAM,SAAS;IAAC;IAAS;IAAe;;AAEjC,mCAAiC,WAAU;AAChD,cAAS,IAAI,aAAa;MACxB,OAAO;MACP,UAAU;MACV,QAAQ;MACR,IAAI;MACJ,MAAM;MACN,MAAM;MACN,IAAI;MACJ,MAAM;;AAGR,cAAS,SAAS,aAAa;MAC7B,WAAW;MACX,YAAY;MACZ,aAAa,CAAC,UAAS,UAAS,gBAAgB,UAAS,gBAAgB,UAAS;;AAGpF,cAAS,IAAI,cAAc;MACzB,QAAQ;QACN,MAAM;QACN,YAAY;;MAEd,SAAS;QACP,MAAM;QACN,YAAY;;;AAIhB,cAAS,SAAS,cAAc;MAC9B,WAAW;;AAGb,cAAS,IAAI,eAAe;MAC1B,QAAQ;QACN,WAAW;UACT,UAAU;;;MAGd,QAAQ;QACN,WAAW;UACT,UAAU;;;MAGd,MAAM;QACJ,YAAY;UACV,QAAQ;YACN,MAAM;;UAER,SAAS;YACP,MAAM;YACN,UAAU;;;;MAIhB,MAAM;QACJ,YAAY;UACV,QAAQ;YACN,IAAI;;UAEN,SAAS;YACP,MAAM;YACN,QAAQ;YACR,IAAI,CAAA,MAAK,IAAI;;;;;;AClEhB,gCAA8B,WAAU;AAC7C,cAAS,IAAI,UAAU;MACrB,aAAa;MACb,SAAS;QACP,KAAK;QACL,OAAO;QACP,QAAQ;QACR,MAAM;;;;ACNZ,MAAM,YAAY,IAAI;AAEtB,2BAAyB,QAAgB,SAAoC;AAC3E,cAAU,WAAW;AACrB,UAAM,WAAW,SAAS,KAAK,UAAU;AACzC,QAAI,YAAY,UAAU,IAAI;AAC9B,QAAI,CAAC,WAAW;AACd,kBAAY,IAAI,KAAK,aAAa,QAAQ;AAC1C,gBAAU,IAAI,UAAU;;AAE1B,WAAO;;AAGF,yBAAsB,KAAa,QAAgB,SAAoC;AAC5F,WAAO,gBAAgB,QAAQ,SAAS,OAAO;;ACPjD,MAAM,aAAa;IAOjB,OAAO,OAAO;AACZ,aAAO,SAAQ,SAAkC,QAAS,KAAK;;IAWjE,QAAQ,WAAW,QAAO,OAAO;AAC/B,UAAI,cAAc,GAAG;AACnB,eAAO;;AAGT,YAAM,SAAS,KAAK,MAAM,QAAQ;AAClC,UAAI;AACJ,UAAI,QAAQ;AAEZ,UAAI,MAAM,SAAS,GAAG;AAEpB,cAAM,UAAU,KAAK,IAAI,KAAK,IAAI,MAAM,GAAG,QAAQ,KAAK,IAAI,MAAM,MAAM,SAAS,GAAG;AACpF,YAAI,UAAU,QAAQ,UAAU,MAAO;AACrC,qBAAW;;AAGb,gBAAQ,eAAe,WAAW;;AAGpC,YAAM,WAAW,MAAM,KAAK,IAAI;AAOhC,YAAM,aAAa,MAAM,YAAY,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,MAAM,WAAW,KAAK;AAE3F,YAAM,UAAU;QAAC;QAAU,uBAAuB;QAAY,uBAAuB;;AACrF,aAAO,OAAO,SAAS,KAAK,QAAQ,MAAM;AAE1C,aAAO,cAAa,WAAW,QAAQ;;IAYzC,YAAY,WAAW,QAAO,OAAO;AACnC,UAAI,cAAc,GAAG;AACnB,eAAO;;AAET,YAAM,SAAS,MAAM,QAAO,eAAgB,YAAa,KAAK,IAAI,IAAI,KAAK,MAAM,MAAM;AACvF,UAAI;QAAC;QAAG;QAAG;QAAG;QAAG;QAAI;QAAI,SAAS,WAAW,SAAQ,MAAM,MAAM,QAAQ;AACvE,eAAO,WAAW,QAAQ,KAAK,MAAM,WAAW,QAAO;;AAEzD,aAAO;;;AAMX,0BAAwB,WAAW,OAAO;AAGxC,QAAI,QAAQ,MAAM,SAAS,IAAI,MAAM,GAAG,QAAQ,MAAM,GAAG,QAAQ,MAAM,GAAG,QAAQ,MAAM,GAAG;AAG3F,QAAI,KAAK,IAAI,UAAU,KAAK,cAAc,KAAK,MAAM,YAAY;AAE/D,cAAQ,YAAY,KAAK,MAAM;;AAEjC,WAAO;;AAOT,MAAA,QAAe;IAAC;;ACnGT,8BAA4B,WAAU;AAC3C,cAAS,IAAI,SAAS;MACpB,SAAS;MACT,QAAQ;MACR,SAAS;MACT,aAAa;MASb,QAAQ;MAER,MAAM;MAMN,OAAO;MAGP,MAAM;QACJ,SAAS;QACT,WAAW;QACX,iBAAiB;QACjB,WAAW;QACX,YAAY;QACZ,WAAW,CAAC,MAAM,YAAY,QAAQ;QACtC,WAAW,CAAC,MAAM,YAAY,QAAQ;QACtC,QAAQ;;MAGV,QAAQ;QACN,SAAS;QACT,MAAM;QACN,YAAY;QACZ,OAAO;;MAIT,OAAO;QAEL,SAAS;QAGT,MAAM;QAGN,SAAS;UACP,KAAK;UACL,QAAQ;;;MAKZ,OAAO;QACL,aAAa;QACb,aAAa;QACb,QAAQ;QACR,iBAAiB;QACjB,iBAAiB;QACjB,SAAS;QACT,SAAS;QACT,UAAU;QACV,iBAAiB;QACjB,aAAa;QAEb,UAAU,MAAM,WAAW;QAC3B,OAAO;QACP,OAAO;QACP,OAAO;QACP,YAAY;QAEZ,mBAAmB;QACnB,eAAe;QACf,iBAAiB;;;AAIrB,cAAS,MAAM,eAAe,SAAS,IAAI;AAC3C,cAAS,MAAM,cAAc,SAAS,IAAI;AAC1C,cAAS,MAAM,gBAAgB,SAAS,IAAI;AAC5C,cAAS,MAAM,eAAe,SAAS,IAAI;AAE3C,cAAS,SAAS,SAAS;MACzB,WAAW;MACX,aAAa,CAAC,UAAS,CAAC,MAAK,WAAW,aAAa,CAAC,MAAK,WAAW,YAAY,UAAS,cAAc,UAAS;MAClH,YAAY,CAAC,UAAS,UAAS,gBAAgB,UAAS,oBAAoB,UAAS;;AAGvF,cAAS,SAAS,UAAU;MAC1B,WAAW;;AAGb,cAAS,SAAS,eAAe;MAC/B,aAAa,CAAC,UAAS,UAAS,qBAAqB,UAAS;MAC9D,YAAY,CAAC,UAAS,UAAS;;;MChGtB,aAAY,OAAO,OAAO;MAC1B,cAAc,OAAO,OAAO;AAOzC,sBAAkB,MAAM,KAAK;AAC3B,QAAI,CAAC,KAAK;AACR,aAAO;;AAET,UAAM,OAAO,IAAI,MAAM;AACvB,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,IAAI,GAAG,EAAE,GAAG;AAC3C,YAAM,IAAI,KAAK;AACf,aAAO,KAAK,MAAO,MAAK,KAAK,OAAO,OAAO;;AAE7C,WAAO;;AAGT,eAAa,MAAM,OAAO,QAAQ;AAChC,QAAI,OAAO,UAAU,UAAU;AAC7B,aAAO,MAAM,WAAS,MAAM,QAAQ;;AAEtC,WAAO,MAAM,WAAS,MAAM,KAAK;;AAO5B,uBAAM;IACX,YAAY,eAAc,WAAW;AACnC,WAAK,YAAY;AACjB,WAAK,kBAAkB;AACvB,WAAK,cAAc;AACnB,WAAK,QAAQ;AACb,WAAK,WAAW;AAChB,WAAK,mBAAmB,CAAC,aAAY,SAAQ,MAAM,SAAS;AAC5D,WAAK,WAAW;AAChB,WAAK,SAAS;QACZ;QACA;QACA;QACA;QACA;;AAEF,WAAK,OAAO;QACV,QAAQ;QACR,MAAM;QACN,OAAO;QACP,YAAY;QACZ,QAAQ;;AAEV,WAAK,QAAQ;AACb,WAAK,uBAAuB,CAAC,KAAK,YAAY,cAAc,QAAQ;AACpE,WAAK,mBAAmB,CAAC,KAAK,YAAY,cAAc,QAAQ;AAChE,WAAK,aAAa,CAAC,KAAK,YAAY,cAAc,QAAQ;AAC1D,WAAK,YAAY;AACjB,WAAK,cAAc;QACjB,MAAM;QACN,WAAW;QACX,kBAAkB;;AAEpB,WAAK,sBAAsB;AAC3B,WAAK,UAAU;AACf,WAAK,UAAU;AACf,WAAK,UAAU;AACf,WAAK,UAAU;AACf,WAAK,aAAa;AAClB,WAAK,QAAQ;AACb,WAAK,SAAS;AACd,WAAK,WAAW;AAChB,WAAK,0BAA0B;AAE/B,WAAK,SAAS;AACd,WAAK,MAAM;;IAOb,IAAI,OAAO,QAAQ;AACjB,aAAO,IAAI,MAAM,OAAO;;IAM1B,IAAI,OAAO;AACT,aAAO,WAAS,MAAM;;IAOxB,SAAS,OAAO,QAAQ;AACtB,aAAO,IAAI,aAAa,OAAO;;IAGjC,SAAS,OAAO,QAAQ;AACtB,aAAO,IAAI,YAAW,OAAO;;IAoB/B,MAAM,OAAO,OAAM,aAAa,YAAY;AAC1C,YAAM,cAAc,WAAS,MAAM;AACnC,YAAM,oBAAoB,WAAS,MAAM;AACzC,YAAM,cAAc,MAAM;AAE1B,aAAO,iBAAiB,aAAa;SAElC,cAAc;UACb,OAAO,YAAY;UACnB,UAAU;;SAGX,QAAO;UACN,YAAY;UACZ,MAAM;AACJ,kBAAM,QAAQ,KAAK;AACnB,kBAAM,SAAS,kBAAkB;AACjC,gBAAI,UAAS,QAAQ;AACnB,qBAAO,OAAO,OAAO,IAAI,QAAQ;;AAEnC,mBAAO,eAAe,OAAO;;UAE/B,IAAI,OAAO;AACT,iBAAK,eAAe;;;;;IAM5B,MAAM,UAAU;AACd,eAAS,QAAQ,CAAC,UAAU,MAAM;;;AAKtC,MAAA,YAA+B,oBAAI,SAAS;IAC1C,aAAa,CAAC,UAAS,CAAC,MAAK,WAAW;IACxC,YAAY,CAAC,UAAS,UAAS;IAC/B,OAAO;MACL,WAAW;;IAEb,aAAa;MACX,aAAa;MACb,YAAY;;KAEb;IAAC;IAAyB;IAAsB;;ACtJ5C,wBAAsB,MAAgB;AAC3C,QAAI,CAAC,QAAQ,cAAc,KAAK,SAAS,cAAc,KAAK,SAAS;AACnE,aAAO;;AAGT,WAAQ,MAAK,QAAQ,KAAK,QAAQ,MAAM,MACrC,MAAK,SAAS,KAAK,SAAS,MAAM,MACnC,KAAK,OAAO,QACZ,KAAK;;AAMF,wBACL,KACA,MACA,KACA,SACA,SACA;AACA,QAAI,YAAY,KAAK;AACrB,QAAI,CAAC,WAAW;AACd,kBAAY,KAAK,WAAU,IAAI,YAAY,SAAQ;AACnD,UAAG,KAAK;;AAEV,QAAI,YAAY,SAAS;AACvB,gBAAU;;AAEZ,WAAO;;AAUF,wBACL,KACA,MACA,eACA,OACA;AACA,YAAQ,SAAS;AACjB,QAAI,OAAO,MAAM,OAAO,MAAM,QAAQ;AACtC,QAAI,MAAK,MAAM,iBAAiB,MAAM,kBAAkB;AAExD,QAAI,MAAM,SAAS,MAAM;AACvB,aAAO,MAAM,OAAO;AACpB,YAAK,MAAM,iBAAiB;AAC5B,YAAM,OAAO;;AAGf,QAAI;AAEJ,QAAI,OAAO;AACX,QAAI,UAAU;AACd,UAAM,OAAO,cAAc;AAC3B,QAAI,GAAW,IAAW,MAAc,OAAwB;AAChE,SAAK,IAAI,GAAG,IAAI,MAAM,KAAK;AACzB,cAAQ,cAAc;AAGtB,UAAI,UAAU,UAAa,UAAU,QAAQ,CAAC,SAAQ,QAAQ;AAC5D,kBAAU,aAAa,KAAK,MAAM,KAAI,SAAS;iBACtC,SAAQ,QAAQ;AAGzB,aAAK,KAAI,GAAG,OAAO,MAAM,QAAQ,KAAI,MAAM,MAAK;AAC9C,wBAAc,MAAM;AAEpB,cAAI,gBAAgB,UAAa,gBAAgB,QAAQ,CAAC,SAAQ,cAAc;AAC9E,sBAAU,aAAa,KAAK,MAAM,KAAI,SAAS;;;;;AAMvD,QAAI;AAEJ,UAAM,QAAQ,IAAG,SAAS;AAC1B,QAAI,QAAQ,cAAc,QAAQ;AAChC,WAAK,IAAI,GAAG,IAAI,OAAO,KAAK;AAC1B,eAAO,KAAK,IAAG;;AAEjB,UAAG,OAAO,GAAG;;AAEf,WAAO;;AAWF,uBAAqB,OAAc,OAAe,OAAe;AACtE,UAAM,mBAAmB,MAAM;AAC/B,UAAM,YAAY,UAAU,IAAI,KAAK,IAAI,QAAQ,GAAG,OAAO;AAC3D,WAAO,KAAK,MAAO,SAAQ,aAAa,oBAAoB,mBAAmB;;AAM1E,uBAAqB,QAA4B,KAAgC;AACtF,QAAI,CAAC,OAAO,CAAC,QAAQ;AACnB;;AAGF,UAAM,OAAO,OAAO,WAAW;AAE/B,QAAI;AAGJ,QAAI;AACJ,QAAI,UAAU,GAAG,GAAG,OAAO,OAAO,OAAO;AACzC,QAAI;;AAUC,qBACL,KACA,SACA,GACA,IACA;AAEA,oBAAgB,KAAK,SAAS,GAAG,IAAG;;AAI/B,2BACL,KACA,SACA,GACA,IACA,GACA;AACA,QAAI,MAAc,SAAiB,SAAiB,MAAc,cAAsB,OAAe,UAAkB;AACzH,UAAM,QAAQ,QAAQ;AACtB,UAAM,WAAW,QAAQ;AACzB,UAAM,SAAS,QAAQ;AACvB,QAAI,MAAO,aAAY,KAAK;AAE5B,QAAI,SAAS,OAAO,UAAU,UAAU;AACtC,aAAO,MAAM;AACb,UAAI,SAAS,+BAA+B,SAAS,8BAA8B;AACjF,YAAI;AACJ,YAAI,UAAU,GAAG;AACjB,YAAI,OAAO;AACX,YAAI,UAAU,OAAO,CAAC,MAAM,QAAQ,GAAG,CAAC,MAAM,SAAS,GAAG,MAAM,OAAO,MAAM;AAC7E,YAAI;AACJ;;;AAIJ,QAAI,MAAM,WAAW,UAAU,GAAG;AAChC;;AAGF,QAAI;AAEJ,YAAQ;;AAGJ,YAAI,GAAG;AACL,cAAI,QAAQ,GAAG,IAAG,IAAI,GAAG,QAAQ,GAAG,GAAG;eAClC;AACL,cAAI,IAAI,GAAG,IAAG,QAAQ,GAAG;;AAE3B,YAAI;AACJ;WACG;AACH,gBAAQ,IAAI,IAAI,IAAI;AACpB,YAAI,OAAO,IAAI,KAAK,IAAI,OAAO,OAAO,KAAI,KAAK,IAAI,OAAO;AAC1D,eAAO;AACP,YAAI,OAAO,IAAI,KAAK,IAAI,OAAO,OAAO,KAAI,KAAK,IAAI,OAAO;AAC1D,eAAO;AACP,YAAI,OAAO,IAAI,KAAK,IAAI,OAAO,OAAO,KAAI,KAAK,IAAI,OAAO;AAC1D,YAAI;AACJ;WACG;AAQH,uBAAe,SAAS;AACxB,eAAO,SAAS;AAChB,kBAAU,KAAK,IAAI,MAAM,cAAc;AACvC,mBAAW,KAAK,IAAI,MAAM,cAAe,KAAI,IAAI,IAAI,eAAe;AACpE,kBAAU,KAAK,IAAI,MAAM,cAAc;AACvC,mBAAW,KAAK,IAAI,MAAM,cAAe,KAAI,IAAI,IAAI,eAAe;AACpE,YAAI,IAAI,IAAI,UAAU,KAAI,SAAS,cAAc,MAAM,IAAI,MAAM;AACjE,YAAI,IAAI,IAAI,UAAU,KAAI,SAAS,cAAc,MAAM,SAAS;AAChE,YAAI,IAAI,IAAI,UAAU,KAAI,SAAS,cAAc,KAAK,MAAM;AAC5D,YAAI,IAAI,IAAI,UAAU,KAAI,SAAS,cAAc,MAAM,SAAS,MAAM;AACtE,YAAI;AACJ;WACG;AACH,YAAI,CAAC,UAAU;AACb,iBAAO,KAAK,UAAU;AACtB,kBAAQ,IAAI,IAAI,IAAI;AACpB,cAAI,KAAK,IAAI,OAAO,KAAI,MAAM,IAAI,OAAO,IAAI;AAC7C;;AAEF,eAAO;WAEJ;AACH,mBAAW,KAAK,IAAI,OAAQ,KAAI,IAAI,IAAI;AACxC,kBAAU,KAAK,IAAI,OAAO;AAC1B,kBAAU,KAAK,IAAI,OAAO;AAC1B,mBAAW,KAAK,IAAI,OAAQ,KAAI,IAAI,IAAI;AACxC,YAAI,OAAO,IAAI,UAAU,KAAI;AAC7B,YAAI,OAAO,IAAI,UAAU,KAAI;AAC7B,YAAI,OAAO,IAAI,UAAU,KAAI;AAC7B,YAAI,OAAO,IAAI,UAAU,KAAI;AAC7B,YAAI;AACJ;WACG;AACH,eAAO;WAEJ;AACH,mBAAW,KAAK,IAAI,OAAQ,KAAI,IAAI,IAAI;AACxC,kBAAU,KAAK,IAAI,OAAO;AAC1B,kBAAU,KAAK,IAAI,OAAO;AAC1B,mBAAW,KAAK,IAAI,OAAQ,KAAI,IAAI,IAAI;AACxC,YAAI,OAAO,IAAI,UAAU,KAAI;AAC7B,YAAI,OAAO,IAAI,UAAU,KAAI;AAC7B,YAAI,OAAO,IAAI,UAAU,KAAI;AAC7B,YAAI,OAAO,IAAI,UAAU,KAAI;AAC7B;WACG;AACH,mBAAW,KAAK,IAAI,OAAQ,KAAI,IAAI,IAAI;AACxC,kBAAU,KAAK,IAAI,OAAO;AAC1B,kBAAU,KAAK,IAAI,OAAO;AAC1B,mBAAW,KAAK,IAAI,OAAQ,KAAI,IAAI,IAAI;AACxC,YAAI,OAAO,IAAI,UAAU,KAAI;AAC7B,YAAI,OAAO,IAAI,UAAU,KAAI;AAC7B,YAAI,OAAO,IAAI,UAAU,KAAI;AAC7B,YAAI,OAAO,IAAI,UAAU,KAAI;AAC7B,eAAO;AACP,mBAAW,KAAK,IAAI,OAAQ,KAAI,IAAI,IAAI;AACxC,kBAAU,KAAK,IAAI,OAAO;AAC1B,kBAAU,KAAK,IAAI,OAAO;AAC1B,mBAAW,KAAK,IAAI,OAAQ,KAAI,IAAI,IAAI;AACxC,YAAI,OAAO,IAAI,UAAU,KAAI;AAC7B,YAAI,OAAO,IAAI,UAAU,KAAI;AAC7B,YAAI,OAAO,IAAI,UAAU,KAAI;AAC7B,YAAI,OAAO,IAAI,UAAU,KAAI;AAC7B;WACG;AACH,kBAAU,IAAI,IAAI,IAAI,KAAK,IAAI,OAAO;AACtC,kBAAU,KAAK,IAAI,OAAO;AAC1B,YAAI,OAAO,IAAI,SAAS,KAAI;AAC5B,YAAI,OAAO,IAAI,SAAS,KAAI;AAC5B;WACG;AACH,YAAI,OAAO,GAAG;AACd,YAAI,OAAO,IAAI,KAAK,IAAI,OAAQ,KAAI,IAAI,IAAI,SAAS,KAAI,KAAK,IAAI,OAAO;AACzE;WACG;AACH,YAAI;AACJ;;AAGJ,QAAI;AACJ,QAAI,QAAQ,cAAc,GAAG;AAC3B,UAAI;;;AAWD,0BACL,OACA,MACA,QACA;AACA,aAAS,UAAU;AAEnB,WAAO,CAAC,QAAS,SAAS,MAAM,IAAI,KAAK,OAAO,UAAU,MAAM,IAAI,KAAK,QAAQ,UACjF,MAAM,IAAI,KAAK,MAAM,UAAU,MAAM,IAAI,KAAK,SAAS;;AAGlD,oBAAkB,KAA+B,MAAY;AAClE,QAAI;AACJ,QAAI;AACJ,QAAI,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,QAAQ,KAAK,MAAM,KAAK,SAAS,KAAK;AACzE,QAAI;;AAGC,sBAAoB,KAA+B;AACxD,QAAI;;AAMC,0BACL,KACA,UACA,QACA,MACA,MACA;AACA,QAAI,CAAC,UAAU;AACb,aAAO,IAAI,OAAO,OAAO,GAAG,OAAO;;AAErC,QAAI,SAAS,UAAU;AACrB,YAAM,WAAY,UAAS,IAAI,OAAO,KAAK;AAC3C,UAAI,OAAO,UAAU,SAAS;AAC9B,UAAI,OAAO,UAAU,OAAO;eACnB,SAAS,YAAY,CAAC,CAAC,MAAM;AACtC,UAAI,OAAO,SAAS,GAAG,OAAO;WACzB;AACL,UAAI,OAAO,OAAO,GAAG,SAAS;;AAEhC,QAAI,OAAO,OAAO,GAAG,OAAO;;AAMvB,0BACL,KACA,UACA,QACA,MACA;AACA,QAAI,CAAC,UAAU;AACb,aAAO,IAAI,OAAO,OAAO,GAAG,OAAO;;AAErC,QAAI,cACF,OAAO,SAAS,OAAO,SAAS,MAChC,OAAO,SAAS,OAAO,SAAS,MAChC,OAAO,OAAO,OAAO,OAAO,MAC5B,OAAO,OAAO,OAAO,OAAO,MAC5B,OAAO,GACP,OAAO;;AAGX,yBAAuB,KAA+B,MAAsB;AAC1E,QAAI,KAAK,aAAa;AACpB,UAAI,UAAU,KAAK,YAAY,IAAI,KAAK,YAAY;;AAGtD,QAAI,CAAC,cAAc,KAAK,WAAW;AACjC,UAAI,OAAO,KAAK;;AAGlB,QAAI,KAAK,OAAO;AACd,UAAI,YAAY,KAAK;;AAGvB,QAAI,KAAK,WAAW;AAClB,UAAI,YAAY,KAAK;;AAGvB,QAAI,KAAK,cAAc;AACrB,UAAI,eAAe,KAAK;;;AAI5B,wBACE,KACA,GACA,IACA,MACA,MACA;AACA,QAAI,KAAK,iBAAiB,KAAK,WAAW;AAQxC,YAAM,UAAU,IAAI,YAAY;AAChC,YAAM,OAAO,IAAI,QAAQ;AACzB,YAAM,QAAQ,IAAI,QAAQ;AAC1B,YAAM,OAAM,KAAI,QAAQ;AACxB,YAAM,SAAS,KAAI,QAAQ;AAC3B,YAAM,cAAc,KAAK,gBAAiB,QAAM,UAAU,IAAI;AAE9D,UAAI,cAAc,IAAI;AACtB,UAAI;AACJ,UAAI,YAAY,KAAK,mBAAmB;AACxC,UAAI,OAAO,MAAM;AACjB,UAAI,OAAO,OAAO;AAClB,UAAI;;;AAIR,wBAAsB,KAA+B,MAAuB;AAC1E,UAAM,WAAW,IAAI;AAErB,QAAI,YAAY,KAAK;AACrB,QAAI,SAAS,KAAK,MAAM,KAAK,KAAK,KAAK,OAAO,KAAK;AACnD,QAAI,YAAY;;AAMX,sBACL,KACA,MACA,GACA,IACA,MACA,OAAuB,IACvB;AACA,UAAM,QAAQ,SAAQ,QAAQ,OAAO;MAAC;;AACtC,UAAM,SAAS,KAAK,cAAc,KAAK,KAAK,gBAAgB;AAC5D,QAAI,GAAW;AAEf,QAAI;AACJ,QAAI,OAAO,KAAK;AAChB,kBAAc,KAAK;AAEnB,SAAK,IAAI,GAAG,IAAI,MAAM,QAAQ,EAAE,GAAG;AACjC,aAAO,MAAM;AAEb,UAAI,KAAK,UAAU;AACjB,qBAAa,KAAK,KAAK;;AAGzB,UAAI,QAAQ;AACV,YAAI,KAAK,aAAa;AACpB,cAAI,cAAc,KAAK;;AAGzB,YAAI,CAAC,cAAc,KAAK,cAAc;AACpC,cAAI,YAAY,KAAK;;AAGvB,YAAI,WAAW,MAAM,GAAG,IAAG,KAAK;;AAGlC,UAAI,SAAS,MAAM,GAAG,IAAG,KAAK;AAC9B,mBAAa,KAAK,GAAG,IAAG,MAAM;AAE9B,YAAK,OAAO,KAAK;;AAGnB,QAAI;;AAQC,8BACL,KACA,MACA;AACA,UAAM,EAAC,GAAG,OAAG,GAAG,OAAG,WAAU;AAG7B,QAAI,IAAI,IAAI,OAAO,SAAS,KAAI,OAAO,SAAS,OAAO,SAAS,MAAM,IAAI,IAAI;AAG9E,QAAI,OAAO,GAAG,KAAI,KAAI,OAAO;AAG7B,QAAI,IAAI,IAAI,OAAO,YAAY,KAAI,KAAI,OAAO,YAAY,OAAO,YAAY,IAAI,SAAS;AAG1F,QAAI,OAAO,IAAI,IAAI,OAAO,aAAa,KAAI;AAG3C,QAAI,IAAI,IAAI,IAAI,OAAO,aAAa,KAAI,KAAI,OAAO,aAAa,OAAO,aAAa,SAAS,GAAG;AAGhG,QAAI,OAAO,IAAI,GAAG,KAAI,OAAO;AAG7B,QAAI,IAAI,IAAI,IAAI,OAAO,UAAU,KAAI,OAAO,UAAU,OAAO,UAAU,GAAG,CAAC,SAAS;AAGpF,QAAI,OAAO,IAAI,OAAO,SAAS;;ACvgBjC,MAAM,cAAc;AACpB,MAAM,aAAa;AAcZ,wBAAsB,OAAwB,MAAsB;AACzE,UAAM,WAAW,MAAK,OAAO,MAAM;AACnC,QAAI,CAAC,YAAW,SAAQ,OAAO,UAAU;AACvC,aAAO,OAAO;;AAGhB,YAAQ,CAAC,SAAQ;AAEjB,YAAQ,SAAQ;WACT;AACH,eAAO;WACJ;AACH,iBAAS;AACT;;AAKJ,WAAO,OAAO;;AAGhB,MAAM,eAAe,CAAC,MAAe,CAAC,KAAK;AAQpC,6BAA2B,OAAwC,OAA0C;AAClH,UAAM,MAAM;AACZ,UAAM,WAAW,UAAS;AAC1B,UAAM,OAAO,WAAW,OAAO,KAAK,SAAS;AAC7C,UAAM,OAAO,UAAS,SAClB,WACE,CAAA,SAAQ,eAAe,MAAM,OAAO,MAAM,MAAM,UAChD,CAAA,SAAQ,MAAM,QAChB,MAAM;AAEV,eAAW,QAAQ,MAAM;AACvB,UAAI,QAAQ,aAAa,KAAK;;AAEhC,WAAO;;AAWF,kBAAgB,OAA8B;AACnD,WAAO,kBAAkB,OAAO;MAAC,KAAK;MAAK,OAAO;MAAK,QAAQ;MAAK,MAAM;;;AAUrE,yBAAuB,OAA6B;AACzD,WAAO,kBAAkB,OAAO;MAAC;MAAW;MAAY;MAAc;;;AAWjE,qBAAmB,OAAkC;AAC1D,UAAM,MAAM,OAAO;AAEnB,QAAI,QAAQ,IAAI,OAAO,IAAI;AAC3B,QAAI,SAAS,IAAI,MAAM,IAAI;AAE3B,WAAO;;AAWF,kBAAgB,SAA4B,UAA8B;AAC/E,cAAU,WAAW;AACrB,eAAW,YAAY,UAAS;AAEhC,QAAI,OAAO,eAAe,QAAQ,MAAM,SAAS;AAEjD,QAAI,OAAO,SAAS,UAAU;AAC5B,aAAO,SAAS,MAAM;;AAExB,QAAI,QAAQ,eAAe,QAAQ,OAAO,SAAS;AACnD,QAAI,SAAS,CAAE,MAAK,OAAO,MAAM,aAAa;AAC5C,cAAQ,KAAK,oCAAoC,QAAQ;AACzD,cAAQ;;AAGV,UAAM,OAAO;MACX,QAAQ,eAAe,QAAQ,QAAQ,SAAS;MAChD,YAAY,aAAa,eAAe,QAAQ,YAAY,SAAS,aAAa;MAClF;MACA;MACA,QAAQ,eAAe,QAAQ,QAAQ,SAAS;MAChD,QAAQ;;AAGV,SAAK,SAAS,aAAa;AAC3B,WAAO;;AAcF,mBAAiB,QAAwB,UAAkB,QAAgB,MAA+B;AAC/G,QAAI,YAAY;AAChB,QAAI,GAAW,MAAc;AAE7B,SAAK,IAAI,GAAG,OAAO,OAAO,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC/C,cAAQ,OAAO;AACf,UAAI,UAAU,QAAW;AACvB;;AAEF,UAAI,aAAY,UAAa,OAAO,UAAU,YAAY;AACxD,gBAAQ,MAAM;AACd,oBAAY;;AAEd,UAAI,WAAU,UAAa,SAAQ,QAAQ;AACzC,gBAAQ,MAAM,SAAQ,MAAM;AAC5B,oBAAY;;AAEd,UAAI,UAAU,QAAW;AACvB,YAAI,QAAQ,CAAC,WAAW;AACtB,eAAK,YAAY;;AAEnB,eAAO;;;;AAWN,qBAAmB,QAAuC,OAAwB,aAAsB;AAC7G,UAAM,EAAC,KAAK,QAAO;AACnB,UAAM,SAAS,YAAY,OAAQ,OAAM,OAAO;AAChD,UAAM,WAAW,CAAC,OAAe,UAAgB,eAAe,UAAU,IAAI,IAAI,QAAQ;AAC1F,WAAO;MACL,KAAK,SAAS,KAAK,CAAC,KAAK,IAAI;MAC7B,KAAK,SAAS,KAAK;;;AAYhB,yBAAuB,eAAuB,UAAiB;AACpE,WAAO,OAAO,OAAO,OAAO,OAAO,gBAAgB;;AClL9C,2BAIL,QACA,WAAW;IAAC;KACZ,YACA,UACA,YAAY,MAAM,OAAO,IACzB;AACA,UAAM,kBAAkB,cAAc;AACtC,QAAI,OAAO,aAAa,aAAa;AACnC,iBAAW,SAAS,aAAa;;AAEnC,UAAM,QAA6B;OAChC,OAAO,cAAc;MACtB,YAAY;MACZ,SAAS;MACT,aAAa;MACb,WAAW;MACX,YAAY;MACZ,UAAU,CAAC,UAAqB,gBAAgB;QAAC;QAAU,GAAA;SAAS,UAAU,iBAAiB;;AAEjG,WAAO,IAAI,MAAM,OAAO;MAItB,eAAe,QAAQ,MAAc;AACnC,eAAO,OAAO;AACd,eAAO,OAAO;AACd,eAAO,OAAO,GAAG;AACjB,eAAO;;MAMT,IAAI,QAAQ,MAAc;AACxB,eAAO,QAAQ,QAAQ,MACrB,MAAM,qBAAqB,MAAM,UAAU,QAAQ;;MAOvD,yBAAyB,QAAQ,MAAM;AACrC,eAAO,QAAQ,yBAAyB,OAAO,QAAQ,IAAI;;MAM7D,iBAAiB;AACf,eAAO,QAAQ,eAAe,OAAO;;MAMvC,IAAI,QAAQ,MAAc;AACxB,eAAO,qBAAqB,QAAQ,SAAS;;MAM/C,QAAQ,QAAQ;AACd,eAAO,qBAAqB;;MAM9B,IAAI,QAAQ,MAAc,OAAO;AAC/B,cAAM,UAAU,OAAO,YAAa,QAAO,WAAW;AACtD,eAAO,QAAQ,QAAQ,QAAQ;AAC/B,eAAO,OAAO;AACd,eAAO;;;;AAaN,0BAIL,OACA,UACA,UACA,oBACA;AACA,UAAM,QAA4B;MAChC,YAAY;MACZ,QAAQ;MACR,UAAU;MACV,WAAW;MACX,QAAQ,IAAI;MACZ,cAAc,aAAa,OAAO;MAClC,YAAY,CAAC,QAAmB,eAAe,OAAO,KAAK,UAAU;MACrE,UAAU,CAAC,UAAqB,eAAe,MAAM,SAAS,QAAQ,UAAS,UAAU;;AAE3F,WAAO,IAAI,MAAM,OAAO;MAItB,eAAe,QAAQ,MAAM;AAC3B,eAAO,OAAO;AACd,eAAO,MAAM;AACb,eAAO;;MAMT,IAAI,QAAQ,MAAc,UAAU;AAClC,eAAO,QAAQ,QAAQ,MACrB,MAAM,oBAAoB,QAAQ,MAAM;;MAO5C,yBAAyB,QAAQ,MAAM;AACrC,eAAO,OAAO,aAAa,UACvB,QAAQ,IAAI,OAAO,QAAQ;UAAC,YAAY;UAAM,cAAc;YAAQ,SACpE,QAAQ,yBAAyB,OAAO;;MAM9C,iBAAiB;AACf,eAAO,QAAQ,eAAe;;MAMhC,IAAI,QAAQ,MAAM;AAChB,eAAO,QAAQ,IAAI,OAAO;;MAM5B,UAAU;AACR,eAAO,QAAQ,QAAQ;;MAMzB,IAAI,QAAQ,MAAM,OAAO;AACvB,cAAM,QAAQ;AACd,eAAO,OAAO;AACd,eAAO;;;;AAQN,wBACL,OACA,YAA+B;IAAC,YAAY;IAAM,WAAW;KACjD;AACZ,UAAM,EAAC,cAAc,UAAS,YAAY,aAAa,UAAS,WAAW,WAAW,UAAS,YAAW;AAC1G,WAAO;MACL,SAAS;MACT,YAAY;MACZ,WAAW;MACX,cAAc,YAAW,eAAe,cAAc,MAAM;MAC5D,aAAa,YAAW,cAAc,aAAa,MAAM;;;AAI7D,MAAM,UAAU,CAAC,QAAgB,UAAiB,SAAS,SAAS,YAAY,SAAQ;AACxF,MAAM,mBAAmB,CAAC,MAAc,UAAmB,UAAS,UAAU,SAAS,cACpF,QAAO,eAAe,WAAW,QAAQ,MAAM,gBAAgB;AAElE,mBACE,QACA,MACA,UACA;AACA,QAAI,OAAO,UAAU,eAAe,KAAK,QAAQ,SAAS,SAAS,eAAe;AAChF,aAAO,OAAO;;AAGhB,UAAM,QAAQ;AAEd,WAAO,QAAQ;AACf,WAAO;;AAGT,+BACE,QACA,MACA,UACA;AACA,UAAM,EAAC,QAAQ,UAAU,WAAW,cAAc,iBAAe;AACjE,QAAI,QAAQ,OAAO;AAGnB,QAAI,YAAW,UAAU,aAAY,aAAa,OAAO;AACvD,cAAQ,mBAAmB,MAAM,OAAO,QAAQ;;AAElD,QAAI,SAAQ,UAAU,MAAM,QAAQ;AAClC,cAAQ,cAAc,MAAM,OAAO,QAAQ,aAAY;;AAEzD,QAAI,iBAAiB,MAAM,QAAQ;AAEjC,cAAQ,eAAe,OAAO,UAAU,aAAa,UAAU,OAAO;;AAExE,WAAO;;AAGT,8BACE,MACA,UACA,QACA,UACA;AACA,UAAM,EAAC,QAAQ,UAAU,WAAW,WAAU;AAC9C,QAAI,OAAO,IAAI,OAAO;AACpB,YAAM,IAAI,MAAM,yBAAyB,MAAM,KAAK,QAAQ,KAAK,QAAQ,OAAO;;AAElF,WAAO,IAAI;AACX,QAAI,QAAQ,SAAS,UAAU,aAAa;AAC5C,WAAO,OAAO;AACd,QAAI,iBAAiB,MAAM,QAAQ;AAEjC,cAAQ,kBAAkB,OAAO,SAAS,QAAQ,MAAM;;AAE1D,WAAO;;AAGT,yBACE,MACA,OACA,QACA,aACA;AACA,UAAM,EAAC,QAAQ,UAAU,WAAW,cAAc,iBAAe;AAEjE,QAAI,OAAO,SAAS,UAAU,eAAe,YAAY,OAAO;AAC9D,aAAO,MAAM,SAAS,QAAQ,MAAM;eAC3B,UAAS,MAAM,KAAK;AAE7B,YAAM,MAAM;AACZ,YAAM,SAAS,OAAO,QAAQ,OAAO,CAAA,MAAK,MAAM;AAChD,cAAQ;AACR,iBAAW,QAAQ,KAAK;AACtB,cAAM,WAAW,kBAAkB,QAAQ,QAAQ,MAAM;AACzD,cAAM,KAAK,eAAe,UAAU,UAAU,aAAa,UAAU,OAAO;;;AAGhF,WAAO;;AAGT,2BACE,UACA,MACA,OACA;AACA,WAAO,YAAW,YAAY,SAAS,MAAM,SAAS;;AAGxD,MAAM,WAAW,CAAC,KAAwB,WAAsB,QAAQ,OAAO,SAC3E,OAAO,QAAQ,WAAW,iBAAiB,QAAQ,OAAO;AAE9D,qBACE,MACA,cACA,KACA,gBACA,OACA;AACA,eAAW,UAAU,cAAc;AACjC,YAAM,QAAQ,SAAS,KAAK;AAC5B,UAAI,OAAO;AACT,aAAI,IAAI;AACR,cAAM,WAAW,gBAAgB,MAAM,WAAW,KAAK;AACvD,YAAI,OAAO,aAAa,eAAe,aAAa,OAAO,aAAa,gBAAgB;AAGtF,iBAAO;;iBAEA,UAAU,SAAS,OAAO,mBAAmB,eAAe,QAAQ,gBAAgB;AAG7F,eAAO;;;AAGX,WAAO;;AAGT,6BACE,cACA,UACA,MACA,OACA;AACA,UAAM,aAAa,SAAS;AAC5B,UAAM,WAAW,gBAAgB,SAAS,WAAW,MAAM;AAC3D,UAAM,YAAY;MAAI,GAAA;MAAiB,GAAA;;AACvC,UAAM,OAAM,IAAI;AAChB,SAAI,IAAI;AACR,QAAI,MAAM,iBAAiB,MAAK,WAAW,MAAM,YAAY,MAAM;AACnE,QAAI,QAAQ,MAAM;AAChB,aAAO;;AAET,QAAI,OAAO,aAAa,eAAe,aAAa,MAAM;AACxD,YAAM,iBAAiB,MAAK,WAAW,UAAU,KAAK;AACtD,UAAI,QAAQ,MAAM;AAChB,eAAO;;;AAGX,WAAO,gBAAgB,MAAM,KAAK,OAAM;MAAC;OAAK,YAAY,UACxD,MAAM,aAAa,UAAU,MAAgB;;AAGjD,4BACE,MACA,WACA,KACA,UACA,MACA;AACA,WAAO,KAAK;AACV,YAAM,UAAU,MAAK,WAAW,KAAK,UAAU;;AAEjD,WAAO;;AAGT,wBACE,UACA,MACA,OACA;AACA,UAAM,SAAS,SAAS;AACxB,QAAI,CAAE,SAAQ,SAAS;AACrB,aAAO,QAAQ;;AAEjB,UAAM,SAAS,OAAO;AACtB,QAAI,SAAQ,WAAW,UAAS,QAAQ;AAEtC,aAAO;;AAET,WAAO,UAAU;;AAGnB,gCACE,MACA,UACA,QACA,OACA;AACA,QAAI;AACJ,eAAW,UAAU,UAAU;AAC7B,cAAQ,SAAS,QAAQ,QAAQ,OAAO;AACxC,UAAI,OAAO,UAAU,aAAa;AAChC,eAAO,iBAAiB,MAAM,SAC1B,kBAAkB,QAAQ,OAAO,MAAM,SACvC;;;;AAKV,oBAAkB,KAAa,QAAqB;AAClD,eAAW,SAAS,QAAQ;AAC1B,UAAI,CAAC,OAAO;AACV;;AAEF,YAAM,QAAQ,MAAM;AACpB,UAAI,OAAO,UAAU,aAAa;AAChC,eAAO;;;;AAKb,gCAA8B,QAAuB;AACnD,QAAI,OAAO,OAAO;AAClB,QAAI,CAAC,MAAM;AACT,aAAO,OAAO,QAAQ,yBAAyB,OAAO;;AAExD,WAAO;;AAGT,oCAAkC,QAAqB;AACrD,UAAM,OAAM,IAAI;AAChB,eAAW,SAAS,QAAQ;AAC1B,iBAAW,OAAO,OAAO,KAAK,OAAO,OAAO,CAAA,MAAK,CAAC,EAAE,WAAW,OAAO;AACpE,aAAI,IAAI;;;AAGZ,WAAO,MAAM,KAAK;;AAGb,uCACL,OACA,MACA,QACA,OACA;AACA,UAAM,EAAC,WAAU;AACjB,UAAM,EAAC,MAAM,QAAO,KAAK;AACzB,UAAM,SAAS,IAAI,MAAoB;AACvC,QAAI,GAAW,MAAc,QAAe;AAE5C,SAAK,IAAI,GAAG,OAAO,OAAO,IAAI,MAAM,EAAE,GAAG;AACvC,eAAQ,IAAI;AACZ,aAAO,KAAK;AACZ,aAAO,KAAK;QACV,GAAG,OAAO,MAAM,iBAAiB,MAAM,MAAM;;;AAGjD,WAAO;;ACjcT,MAAM,WAAU,OAAO,WAAW;AAGlC,MAAM,WAAW,CAAC,QAAuB,MAAmC,IAAI,OAAO,UAAU,CAAC,OAAO,GAAG,QAAQ,OAAO;AAC3H,MAAM,eAAe,CAAC,cAAyB,cAAc,MAAM,MAAM;AAElE,uBACL,YACA,aACA,YACA,IAIE;AAMF,UAAM,WAAW,WAAW,OAAO,cAAc;AACjD,UAAM,UAAU;AAChB,UAAM,OAAO,WAAW,OAAO,cAAc;AAC7C,UAAM,MAAM,sBAAsB,SAAS;AAC3C,UAAM,MAAM,sBAAsB,MAAM;AAExC,QAAI,MAAM,MAAO,OAAM;AACvB,QAAI,MAAM,MAAO,OAAM;AAGvB,UAAM,MAAM,OAAO,IAAI;AACvB,UAAM,MAAM,OAAO,IAAI;AAEvB,UAAM,MAAK,KAAI;AACf,UAAM,MAAK,KAAI;AAEf,WAAO;MACL,UAAU;QACR,GAAG,QAAQ,IAAI,MAAM,MAAK,IAAI,SAAS;QACvC,GAAG,QAAQ,IAAI,MAAM,MAAK,IAAI,SAAS;;MAEzC,MAAM;QACJ,GAAG,QAAQ,IAAI,MAAM,MAAK,IAAI,SAAS;QACvC,GAAG,QAAQ,IAAI,MAAM,MAAK,IAAI,SAAS;;;;AAQ7C,0BAAwB,QAAuB,QAAkB,IAAc;AAC7E,UAAM,YAAY,OAAO;AAEzB,QAAI,QAAgB,OAAe,MAAc,kBAA0B;AAC3E,QAAI,aAAa,SAAS,QAAQ;AAClC,aAAS,IAAI,GAAG,IAAI,YAAY,GAAG,EAAE,GAAG;AACtC,qBAAe;AACf,mBAAa,SAAS,QAAQ,IAAI;AAClC,UAAI,CAAC,gBAAgB,CAAC,YAAY;AAChC;;AAGF,UAAI,aAAa,OAAO,IAAI,GAAG,WAAU;AACvC,WAAG,KAAK,GAAG,IAAI,KAAK;AACpB;;AAGF,eAAS,GAAG,KAAK,OAAO;AACxB,cAAQ,GAAG,IAAI,KAAK,OAAO;AAC3B,yBAAmB,KAAK,IAAI,QAAQ,KAAK,KAAK,IAAI,OAAO;AACzD,UAAI,oBAAoB,GAAG;AACzB;;AAGF,aAAO,IAAI,KAAK,KAAK;AACrB,SAAG,KAAK,SAAS,OAAO,OAAO;AAC/B,SAAG,IAAI,KAAK,QAAQ,OAAO,OAAO;;;AAItC,2BAAyB,QAAuB,IAAc,YAAuB,KAAK;AACxF,UAAM,YAAY,aAAa;AAC/B,UAAM,YAAY,OAAO;AACzB,QAAI,OAAe,aAAkC;AACrD,QAAI,aAAa,SAAS,QAAQ;AAElC,aAAS,IAAI,GAAG,IAAI,WAAW,EAAE,GAAG;AAClC,oBAAc;AACd,qBAAe;AACf,mBAAa,SAAS,QAAQ,IAAI;AAClC,UAAI,CAAC,cAAc;AACjB;;AAGF,YAAM,SAAS,aAAa;AAC5B,YAAM,SAAS,aAAa;AAC5B,UAAI,aAAa;AACf,gBAAS,UAAS,YAAY,cAAc;AAC5C,qBAAa,MAAM,eAAe,SAAS;AAC3C,qBAAa,MAAM,eAAe,SAAS,QAAQ,GAAG;;AAExD,UAAI,YAAY;AACd,gBAAS,YAAW,aAAa,UAAU;AAC3C,qBAAa,MAAM,eAAe,SAAS;AAC3C,qBAAa,MAAM,eAAe,SAAS,QAAQ,GAAG;;;;AAWrD,+BAA6B,QAAuB,YAAuB,KAAK;AACrF,UAAM,YAAY,aAAa;AAC/B,UAAM,YAAY,OAAO;AACzB,UAAM,SAAmB,MAAM,WAAW,KAAK;AAC/C,UAAM,KAAe,MAAM;AAG3B,QAAI,GAAG,aAAkC;AACzC,QAAI,aAAa,SAAS,QAAQ;AAElC,SAAK,IAAI,GAAG,IAAI,WAAW,EAAE,GAAG;AAC9B,oBAAc;AACd,qBAAe;AACf,mBAAa,SAAS,QAAQ,IAAI;AAClC,UAAI,CAAC,cAAc;AACjB;;AAGF,UAAI,YAAY;AACd,cAAM,aAAa,WAAW,aAAa,aAAa;AAGxD,eAAO,KAAK,eAAe,IAAK,YAAW,aAAa,aAAa,cAAc,aAAa;;AAElG,SAAG,KAAK,CAAC,cAAc,OAAO,KAC1B,CAAC,aAAa,OAAO,IAAI,KACtB,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,MAAO,IACzC,QAAO,IAAI,KAAK,OAAO,MAAM;;AAGxC,mBAAe,QAAQ,QAAQ;AAE/B,oBAAgB,QAAQ,IAAI;;AAG9B,2BAAyB,KAAY,KAAa,KAAa;AAC7D,WAAO,KAAK,IAAI,KAAK,IAAI,KAAI,MAAM;;AAGrC,2BAAyB,QAAuB,MAAiB;AAC/D,QAAI,GAAG,MAAM,OAAO,QAAQ;AAC5B,QAAI,aAAa,eAAe,OAAO,IAAI;AAC3C,SAAK,IAAI,GAAG,OAAO,OAAO,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC/C,mBAAa;AACb,eAAS;AACT,mBAAa,IAAI,OAAO,KAAK,eAAe,OAAO,IAAI,IAAI;AAC3D,UAAI,CAAC,QAAQ;AACX;;AAEF,cAAQ,OAAO;AACf,UAAI,YAAY;AACd,cAAM,OAAO,gBAAgB,MAAM,MAAM,KAAK,MAAM,KAAK;AACzD,cAAM,OAAO,gBAAgB,MAAM,MAAM,KAAK,KAAK,KAAK;;AAE1D,UAAI,YAAY;AACd,cAAM,OAAO,gBAAgB,MAAM,MAAM,KAAK,MAAM,KAAK;AACzD,cAAM,OAAO,gBAAgB,MAAM,MAAM,KAAK,KAAK,KAAK;;;;AAQvD,sCACL,QACA,SACA,MACA,MACA,WACA;AACA,QAAI,GAAW,MAAc,OAAoB;AAGjD,QAAI,QAAQ,UAAU;AACpB,eAAS,OAAO,OAAO,CAAC,QAAO,CAAC,IAAG;;AAGrC,QAAI,QAAQ,2BAA2B,YAAY;AACjD,0BAAoB,QAAQ;WACvB;AACL,UAAI,OAAO,OAAO,OAAO,OAAO,SAAS,KAAK,OAAO;AACrD,WAAK,IAAI,GAAG,OAAO,OAAO,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC/C,gBAAQ,OAAO;AACf,wBAAgB,YACd,MACA,OACA,OAAO,KAAK,IAAI,IAAI,GAAG,OAAQ,QAAO,IAAI,MAAM,OAChD,QAAQ;AAEV,cAAM,OAAO,cAAc,SAAS;AACpC,cAAM,OAAO,cAAc,SAAS;AACpC,cAAM,OAAO,cAAc,KAAK;AAChC,cAAM,OAAO,cAAc,KAAK;AAChC,eAAO;;;AAIX,QAAI,QAAQ,iBAAiB;AAC3B,sBAAgB,QAAQ;;;AC5MrB,6BAAoC;AACzC,WAAO,OAAO,WAAW,eAAe,OAAO,aAAa;;AAMvD,0BAAwB,SAA+C;AAC5E,QAAI,SAAS,QAAQ;AACrB,QAAI,UAAU,OAAO,eAAe,uBAAuB;AACzD,eAAU,OAAsB;;AAElC,WAAO;;AAQT,yBAAuB,YAA6B,MAAmB,gBAAwB;AAC7F,QAAI;AACJ,QAAI,OAAO,eAAe,UAAU;AAClC,sBAAgB,SAAS,YAAY;AAErC,UAAI,WAAW,QAAQ,SAAS,IAAI;AAElC,wBAAgB,gBAAiB,MAAO,KAAK,WAAW;;WAErD;AACL,sBAAgB;;AAGlB,WAAO;;AAGT,MAAM,oBAAmB,CAAC,YACxB,QAAQ,cAAc,YAAY,iBAAiB,SAAS;AAEvD,oBAAkB,KAAiB,UAA0B;AAClE,WAAO,kBAAiB,KAAI,iBAAiB;;AAG/C,MAAM,YAAY;IAAC;IAAO;IAAS;IAAU;;AAC7C,8BAA4B,QAA6B,OAAe,QAA4B;AAClG,UAAM,SAAS;AACf,aAAS,SAAS,MAAM,SAAS;AACjC,aAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AAC1B,YAAM,MAAM,UAAU;AACtB,aAAO,OAAO,WAAW,OAAO,QAAQ,MAAM,MAAM,YAAY;;AAElE,WAAO,QAAQ,OAAO,OAAO,OAAO;AACpC,WAAO,SAAS,OAAO,MAAM,OAAO;AACpC,WAAO;;AAGT,MAAM,eAAe,CAAC,GAAW,IAAW,WACzC,KAAI,KAAK,KAAI,MAAO,EAAC,UAAU,CAAC,OAAwB;AAO3D,6BACE,GACA,QAKE;AACF,UAAM,UAAU,EAAkB;AAClC,UAAM,SAAU,WAAW,QAAQ,SAAS,QAAQ,KAAK;AACzD,UAAM,EAAC,SAAS,YAAW;AAC3B,QAAI,MAAM;AACV,QAAI,GAAG;AACP,QAAI,aAAa,SAAS,SAAS,EAAE,SAAS;AAC5C,UAAI;AACJ,WAAI;WACC;AACL,YAAM,OAAO,OAAO;AACpB,UAAI,OAAO,UAAU,KAAK;AAC1B,WAAI,OAAO,UAAU,KAAK;AAC1B,YAAM;;AAER,WAAO;MAAC;MAAG;MAAG;;;AAUT,+BACL,QACA,OAC0B;AAC1B,QAAI,YAAY,QAAO;AACrB,aAAO;;AAGT,UAAM,EAAC,QAAQ,4BAA2B;AAC1C,UAAM,QAAQ,kBAAiB;AAC/B,UAAM,YAAY,MAAM,cAAc;AACtC,UAAM,WAAW,mBAAmB,OAAO;AAC3C,UAAM,UAAU,mBAAmB,OAAO,UAAU;AACpD,UAAM,EAAC,GAAG,OAAG,QAAO,kBAAkB,QAAO;AAC7C,UAAM,UAAU,SAAS,OAAQ,QAAO,QAAQ;AAChD,UAAM,UAAU,SAAS,MAAO,QAAO,QAAQ;AAE/C,QAAI,EAAC,OAAO,WAAU;AACtB,QAAI,WAAW;AACb,eAAS,SAAS,QAAQ,QAAQ;AAClC,gBAAU,SAAS,SAAS,QAAQ;;AAEtC,WAAO;MACL,GAAG,KAAK,MAAO,KAAI,WAAW,QAAQ,OAAO,QAAQ;MACrD,GAAG,KAAK,MAAO,MAAI,WAAW,SAAS,OAAO,SAAS;;;AAI3D,4BAA0B,QAA2B,OAAe,QAAgC;AAClG,QAAI,UAAkB;AAEtB,QAAI,UAAU,UAAa,WAAW,QAAW;AAC/C,YAAM,YAAY,UAAU,eAAe;AAC3C,UAAI,CAAC,WAAW;AACd,gBAAQ,OAAO;AACf,iBAAS,OAAO;aACX;AACL,cAAM,OAAO,UAAU;AACvB,cAAM,iBAAiB,kBAAiB;AACxC,cAAM,kBAAkB,mBAAmB,gBAAgB,UAAU;AACrE,cAAM,mBAAmB,mBAAmB,gBAAgB;AAC5D,gBAAQ,KAAK,QAAQ,iBAAiB,QAAQ,gBAAgB;AAC9D,iBAAS,KAAK,SAAS,iBAAiB,SAAS,gBAAgB;AACjE,mBAAW,cAAc,eAAe,UAAU,WAAW;AAC7D,oBAAY,cAAc,eAAe,WAAW,WAAW;;;AAGnE,WAAO;MACL;MACA;MACA,UAAU,YAAY;MACtB,WAAW,aAAa;;;AAI5B,MAAM,SAAS,CAAC,MAAc,KAAK,MAAM,IAAI,MAAM;AAG5C,0BACL,QACA,SACA,UACA,aACmC;AACnC,UAAM,QAAQ,kBAAiB;AAC/B,UAAM,UAAU,mBAAmB,OAAO;AAC1C,UAAM,WAAW,cAAc,MAAM,UAAU,QAAQ,kBAAkB;AACzE,UAAM,YAAY,cAAc,MAAM,WAAW,QAAQ,mBAAmB;AAC5E,UAAM,gBAAgB,iBAAiB,QAAQ,SAAS;AACxD,QAAI,EAAC,OAAO,WAAU;AAEtB,QAAI,MAAM,cAAc,eAAe;AACrC,YAAM,UAAU,mBAAmB,OAAO,UAAU;AACpD,YAAM,WAAW,mBAAmB,OAAO;AAC3C,eAAS,SAAS,QAAQ,QAAQ;AAClC,gBAAU,SAAS,SAAS,QAAQ;;AAEtC,YAAQ,KAAK,IAAI,GAAG,QAAQ,QAAQ;AACpC,aAAS,KAAK,IAAI,GAAG,cAAc,QAAQ,cAAc,SAAS,QAAQ;AAC1E,YAAQ,OAAO,KAAK,IAAI,OAAO,UAAU,cAAc;AACvD,aAAS,OAAO,KAAK,IAAI,QAAQ,WAAW,cAAc;AAC1D,QAAI,SAAS,CAAC,QAAQ;AAGpB,eAAS,OAAO,QAAQ;;AAG1B,UAAM,iBAAiB,YAAY,UAAa,aAAa;AAE7D,QAAI,kBAAkB,eAAe,cAAc,UAAU,SAAS,cAAc,QAAQ;AAC1F,eAAS,cAAc;AACvB,cAAQ,OAAO,KAAK,MAAM,SAAS;;AAGrC,WAAO;MAAC;MAAO;;;AASV,uBACL,OACA,YACA,YACgB;AAChB,UAAM,aAAa,cAAc;AACjC,UAAM,eAAe,KAAK,MAAM,MAAM,SAAS;AAC/C,UAAM,cAAc,KAAK,MAAM,MAAM,QAAQ;AAE7C,UAAM,SAAS,KAAK,MAAM,MAAM;AAChC,UAAM,QAAQ,KAAK,MAAM,MAAM;AAE/B,UAAM,SAAS,MAAM;AAKrB,QAAI,OAAO,SAAU,eAAe,CAAC,OAAO,MAAM,UAAU,CAAC,OAAO,MAAM,QAAS;AACjF,aAAO,MAAM,SAAS,GAAG,MAAM;AAC/B,aAAO,MAAM,QAAQ,GAAG,MAAM;;AAGhC,QAAI,MAAM,4BAA4B,cAC/B,OAAO,WAAW,gBAClB,OAAO,UAAU,aAAa;AACnC,YAAM,0BAA0B;AAChC,aAAO,SAAS;AAChB,aAAO,QAAQ;AACf,YAAM,IAAI,aAAa,YAAY,GAAG,GAAG,YAAY,GAAG;AACxD,aAAO;;AAET,WAAO;;AAQI,MAAA,+BAAgC,WAAW;AACtD,QAAI,mBAAmB;AACvB,QAAI;AACF,YAAM,UAAU;YACV,UAAU;AACZ,6BAAmB;AACnB,iBAAO;;;AAIX,UAAI,mBAAmB;AACrB,eAAO,iBAAiB,QAAQ,MAAM;AACtC,eAAO,oBAAoB,QAAQ,MAAM;;aAEpC,GAAP;;AAGF,WAAO;;AAaF,wBACL,SACA,UACoB;AACpB,UAAM,QAAQ,SAAS,SAAS;AAChC,UAAM,WAAU,SAAS,MAAM,MAAM;AACrC,WAAO,WAAU,CAAC,SAAQ,KAAK;;AC7R1B,wBAAsB,IAAW,IAAW,IAAW,MAAO;AACnE,WAAO;MACL,GAAG,GAAG,IAAI,KAAK,IAAG,IAAI,GAAG;MACzB,GAAG,GAAG,IAAI,KAAK,IAAG,IAAI,GAAG;;;AAOtB,iCACL,IACA,IACA,IAAW,MACX;AACA,WAAO;MACL,GAAG,GAAG,IAAI,KAAK,IAAG,IAAI,GAAG;MACzB,GAAG,SAAS,WAAW,KAAI,MAAM,GAAG,IAAI,GAAG,IACvC,SAAS,UAAU,KAAI,IAAI,GAAG,IAAI,GAAG,IACnC,KAAI,IAAI,GAAG,IAAI,GAAG;;;AAOrB,gCAA8B,IAAiB,IAAiB,IAAW,MAAO;AACvF,UAAM,MAAM;MAAC,GAAG,GAAG;MAAM,GAAG,GAAG;;AAC/B,UAAM,MAAM;MAAC,GAAG,GAAG;MAAM,GAAG,GAAG;;AAC/B,UAAM,IAAI,aAAa,IAAI,KAAK;AAChC,UAAM,IAAI,aAAa,KAAK,KAAK;AACjC,UAAM,KAAI,aAAa,KAAK,IAAI;AAChC,UAAM,KAAI,aAAa,GAAG,GAAG;AAC7B,UAAM,IAAI,aAAa,GAAG,IAAG;AAC7B,WAAO,aAAa,IAAG,GAAG;;AC/B5B,MAAM,wBAAwB,SAAS,OAAe,OAA2B;AAC/E,WAAO;MACL,EAAE,GAAG;AACH,eAAO,QAAQ,QAAQ,QAAQ;;MAEjC,SAAS,GAAG;AACV,gBAAQ;;MAEV,UAAU,OAAO;AACf,YAAI,UAAU,UAAU;AACtB,iBAAO;;AAET,eAAO,UAAU,UAAU,SAAS;;MAEtC,MAAM,GAAG,OAAO;AACd,eAAO,IAAI;;MAEb,WAAW,GAAG,WAAW;AACvB,eAAO,IAAI;;;;AAKjB,MAAM,wBAAwB,WAAuB;AACnD,WAAO;MACL,EAAE,GAAG;AACH,eAAO;;MAET,SAAS,GAAG;;MAEZ,UAAU,OAAO;AACf,eAAO;;MAET,MAAM,GAAG,OAAO;AACd,eAAO,IAAI;;MAEb,WAAW,GAAG,YAAY;AACxB,eAAO;;;;AAKN,yBAAuB,KAAc,OAAe,OAAe;AACxE,WAAO,MAAM,sBAAsB,OAAO,SAAS;;AAG9C,iCAA+B,KAA+B,WAA0B;AAC7F,QAAI,OAA4B;AAChC,QAAI,cAAc,SAAS,cAAc,OAAO;AAC9C,cAAQ,IAAI,OAAO;AACnB,iBAAW;QACT,MAAM,iBAAiB;QACvB,MAAM,oBAAoB;;AAG5B,YAAM,YAAY,aAAa,WAAW;AACzC,UAAiD,oBAAoB;;;AAInE,gCAA8B,KAA+B,UAA6B;AAC/F,QAAI,aAAa,QAAW;AAC1B,aAAQ,IAAiD;AACzD,UAAI,OAAO,MAAM,YAAY,aAAa,SAAS,IAAI,SAAS;;;AC7DpE,sBAAoB,UAAU;AAC5B,QAAI,aAAa,SAAS;AACxB,aAAO;QACL,SAAS;QACT,SAAS;QACT,WAAW;;;AAGf,WAAO;MACL,SAAS;MACT,SAAS,CAAC,GAAG,MAAM,IAAI;MACvB,WAAW,CAAA,MAAK;;;AAIpB,4BAA0B,EAAC,eAAO,KAAK,OAAO,MAAM,SAAQ;AAC1D,WAAO;MACL,OAAO,SAAQ;MACf,KAAK,MAAM;MACX,MAAM,QAAS,OAAM,SAAQ,KAAK,UAAU;MAC5C;;;AAIJ,sBAAoB,SAAS,QAAQ,QAAQ;AAC3C,UAAM,EAAC,UAAU,OAAO,YAAY,KAAK,aAAY;AACrD,UAAM,EAAC,SAAS,cAAa,WAAW;AACxC,UAAM,QAAQ,OAAO;AAErB,QAAI,EAAC,eAAO,KAAK,SAAQ;AACzB,QAAI,GAAG;AAEP,QAAI,MAAM;AACR,gBAAS;AACT,aAAO;AACP,WAAK,IAAI,GAAG,OAAO,OAAO,IAAI,MAAM,EAAE,GAAG;AACvC,YAAI,CAAC,QAAQ,UAAU,OAAO,SAAQ,OAAO,YAAY,YAAY,WAAW;AAC9E;;AAEF;AACA;;AAEF,gBAAS;AACT,aAAO;;AAGT,QAAI,MAAM,QAAO;AACf,aAAO;;AAET,WAAO;MAAC;MAAO;MAAK;MAAM,OAAO,QAAQ;;;AAiBpC,yBAAuB,SAAS,QAAQ,QAAQ;AACrD,QAAI,CAAC,QAAQ;AACX,aAAO;QAAC;;;AAGV,UAAM,EAAC,UAAU,OAAO,YAAY,KAAK,aAAY;AACrD,UAAM,QAAQ,OAAO;AACrB,UAAM,EAAC,mBAAS,SAAS,cAAa,WAAW;AACjD,UAAM,EAAC,eAAO,KAAK,MAAM,UAAS,WAAW,SAAS,QAAQ;AAE9D,UAAM,SAAS;AACf,QAAI,UAAS;AACb,QAAI,WAAW;AACf,QAAI,OAAO,OAAO;AAElB,UAAM,gBAAgB,MAAM,QAAQ,YAAY,WAAW,UAAU,SAAQ,YAAY,eAAe;AACxG,UAAM,cAAc,MAAM,SAAQ,UAAU,WAAW,KAAK,QAAQ,UAAU,WAAW;AACzF,UAAM,cAAc,MAAM,WAAU;AACpC,UAAM,aAAa,MAAM,CAAC,WAAU;AAEpC,aAAS,IAAI,QAAO,OAAO,QAAO,KAAK,KAAK,EAAE,GAAG;AAC/C,cAAQ,OAAO,IAAI;AAEnB,UAAI,MAAM,MAAM;AACd;;AAGF,cAAQ,UAAU,MAAM;AAExB,UAAI,UAAU,WAAW;AACvB;;AAGF,gBAAS,QAAQ,OAAO,YAAY;AAEpC,UAAI,aAAa,QAAQ,eAAe;AACtC,mBAAW,SAAQ,OAAO,gBAAgB,IAAI,IAAI;;AAGpD,UAAI,aAAa,QAAQ,cAAc;AACrC,eAAO,KAAK,iBAAiB;UAAC,OAAO;UAAU,KAAK;UAAG;UAAM;UAAO;;AACpE,mBAAW;;AAEb,aAAO;AACP,kBAAY;;AAGd,QAAI,aAAa,MAAM;AACrB,aAAO,KAAK,iBAAiB;QAAC,OAAO;QAAU;QAAK;QAAM;QAAO;;;AAGnE,WAAO;;AAaF,0BAAwB,MAAM,QAAQ;AAC3C,UAAM,SAAS;AACf,UAAM,WAAW,KAAK;AAEtB,aAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACxC,YAAM,MAAM,cAAc,SAAS,IAAI,KAAK,QAAQ;AACpD,UAAI,IAAI,QAAQ;AACd,eAAO,KAAQ,GAAA;;;AAGnB,WAAO;;AAMT,2BAAyB,QAAQ,OAAO,MAAM,UAAU;AACtD,QAAI,SAAQ;AACZ,QAAI,MAAM,QAAQ;AAElB,QAAI,QAAQ,CAAC,UAAU;AAErB,aAAO,SAAQ,SAAS,CAAC,OAAO,QAAO,MAAM;AAC3C;;;AAKJ,WAAO,SAAQ,SAAS,OAAO,QAAO,MAAM;AAC1C;;AAIF,cAAS;AAET,QAAI,MAAM;AAER,aAAO;;AAGT,WAAO,MAAM,UAAS,OAAO,MAAM,OAAO,MAAM;AAC9C;;AAIF,WAAO;AAEP,WAAO;MAAC;MAAO;;;AAUjB,yBAAuB,QAAQ,QAAO,KAAK,MAAM;AAC/C,UAAM,QAAQ,OAAO;AACrB,UAAM,SAAS;AACf,QAAI,OAAO;AACX,QAAI,OAAO,OAAO;AAClB,QAAI;AAEJ,SAAK,MAAM,SAAQ,GAAG,OAAO,KAAK,EAAE,KAAK;AACvC,YAAM,MAAM,OAAO,MAAM;AACzB,UAAI,IAAI,QAAQ,IAAI,MAAM;AACxB,YAAI,CAAC,KAAK,MAAM;AACd,iBAAO;AACP,iBAAO,KAAK;YAAC,OAAO,SAAQ;YAAO,KAAM,OAAM,KAAK;YAAO;;AAE3D,mBAAQ,OAAO,IAAI,OAAO,MAAM;;aAE7B;AACL,eAAO;AACP,YAAI,KAAK,MAAM;AACb,mBAAQ;;;AAGZ,aAAO;;AAGT,QAAI,SAAS,MAAM;AACjB,aAAO,KAAK;QAAC,OAAO,SAAQ;QAAO,KAAK,OAAO;QAAO;;;AAGxD,WAAO;;AAWF,4BAA0B,MAAM,gBAAgB;AACrD,UAAM,SAAS,KAAK;AACpB,UAAM,WAAW,KAAK,QAAQ;AAC9B,UAAM,QAAQ,OAAO;AAErB,QAAI,CAAC,OAAO;AACV,aAAO;;AAGT,UAAM,OAAO,CAAC,CAAC,KAAK;AACpB,UAAM,EAAC,eAAO,QAAO,gBAAgB,QAAQ,OAAO,MAAM;AAE1D,QAAI,aAAa,MAAM;AACrB,aAAO,cAAc,MAAM;QAAC;UAAC;UAAO;UAAK;;SAAQ,QAAQ;;AAG3D,UAAM,MAAM,MAAM,SAAQ,MAAM,QAAQ;AACxC,UAAM,eAAe,CAAC,CAAC,KAAK,aAAa,WAAU,KAAK,QAAQ,QAAQ;AACxE,WAAO,cAAc,MAAM,cAAc,QAAQ,QAAO,KAAK,eAAe,QAAQ;;AAStF,yBAAuB,MAAM,UAAU,QAAQ,gBAAgB;AAC7D,QAAI,CAAC,kBAAkB,CAAC,eAAe,cAAc,CAAC,QAAQ;AAC5D,aAAO;;AAET,WAAO,gBAAgB,MAAM,UAAU,QAAQ;;AAUjD,2BAAyB,MAAM,UAAU,QAAQ,gBAAgB;AAC/D,UAAM,eAAe,KAAK,OAAO;AACjC,UAAM,YAAY,UAAU,KAAK;AACjC,UAAM,EAAC,eAAe,cAAc,SAAS,EAAC,eAAa;AAC3D,UAAM,QAAQ,OAAO;AACrB,UAAM,SAAS;AACf,QAAI,YAAY;AAChB,QAAI,SAAQ,SAAS,GAAG;AACxB,QAAI,IAAI;AAER,sBAAkB,GAAG,GAAG,GAAG,KAAI;AAC7B,YAAM,MAAM,WAAW,KAAK;AAC5B,UAAI,MAAM,GAAG;AACX;;AAGF,WAAK;AACL,aAAO,OAAO,IAAI,OAAO,MAAM;AAC7B,aAAK;;AAEP,aAAO,OAAO,IAAI,OAAO,MAAM;AAC7B,aAAK;;AAEP,UAAI,IAAI,UAAU,IAAI,OAAO;AAC3B,eAAO,KAAK;UAAC,OAAO,IAAI;UAAO,KAAK,IAAI;UAAO,MAAM;UAAG,OAAO;;AAC/D,oBAAY;AACZ,iBAAQ,IAAI;;;AAIhB,eAAW,WAAW,UAAU;AAC9B,eAAQ,WAAW,SAAQ,QAAQ;AACnC,UAAI,OAAO,OAAO,SAAQ;AAC1B,UAAI;AACJ,WAAK,IAAI,SAAQ,GAAG,KAAK,QAAQ,KAAK,KAAK;AACzC,cAAM,MAAK,OAAO,IAAI;AACtB,gBAAQ,UAAU,eAAe,WAAW,cAAc,cAAc;UACtE,MAAM;UACN,IAAI;UACJ,IAAI;UACJ,aAAc,KAAI,KAAK;UACvB,aAAa,IAAI;UACjB;;AAEF,YAAI,aAAa,OAAO,YAAY;AAClC,mBAAS,QAAO,IAAI,GAAG,QAAQ,MAAM;;AAEvC,eAAO;AACP,oBAAY;;AAEd,UAAI,SAAQ,IAAI,GAAG;AACjB,iBAAS,QAAO,IAAI,GAAG,QAAQ,MAAM;;;AAIzC,WAAO;;AAGT,qBAAmB,SAAS;AAC1B,WAAO;MACL,iBAAiB,QAAQ;MACzB,gBAAgB,QAAQ;MACxB,YAAY,QAAQ;MACpB,kBAAkB,QAAQ;MAC1B,iBAAiB,QAAQ;MACzB,aAAa,QAAQ;MACrB,aAAa,QAAQ;;;AAIzB,wBAAsB,OAAO,WAAW;AACtC,QAAI,CAAC,WAAW;AACd,aAAO;;AAET,UAAM,QAAQ;AACd,UAAM,WAAW,SAAS,KAAK,OAAO;AACpC,UAAI,CAAC,oBAAoB,QAAQ;AAC/B,eAAO;;AAET,UAAI,CAAC,MAAM,SAAS,QAAQ;AAC1B,cAAM,KAAK;;AAEb,aAAO,MAAM,QAAQ;;AAEvB,WAAO,KAAK,UAAU,OAAO,cAAc,KAAK,UAAU,WAAW;;;;AC/VhE,uBAAM;IACX,cAAc;AACZ,WAAK,WAAW;AAChB,WAAK,UAAU,IAAI;AACnB,WAAK,WAAW;AAChB,WAAK,YAAY;;IAMnB,QAAQ,OAAO,OAAO,MAAM,MAAM;AAChC,YAAM,YAAY,MAAM,UAAU;AAClC,YAAM,WAAW,MAAM;AAEvB,gBAAU,QAAQ,CAAA,QAAM,IAAG;QACzB;QACA,SAAS,MAAM;QACf;QACA,aAAa,KAAK,IAAI,OAAO,MAAM,OAAO;;;IAO9C,WAAW;AACT,UAAI,KAAK,UAAU;AACjB;;AAEF,WAAK,WAAW;AAEhB,WAAK,WAAW,iBAAiB,KAAK,QAAQ,MAAM;AAClD,aAAK;AACL,aAAK,WAAW;AAEhB,YAAI,KAAK,UAAU;AACjB,eAAK;;;;IAQX,QAAQ,OAAO,KAAK,OAAO;AACzB,UAAI,YAAY;AAEhB,WAAK,QAAQ,QAAQ,CAAC,OAAO,UAAU;AACrC,YAAI,CAAC,MAAM,WAAW,CAAC,MAAM,MAAM,QAAQ;AACzC;;AAEF,cAAM,QAAQ,MAAM;AACpB,YAAI,IAAI,MAAM,SAAS;AACvB,YAAI,QAAO;AACX,YAAI;AAEJ,eAAO,KAAK,GAAG,EAAE,GAAG;AAClB,iBAAO,MAAM;AAEb,cAAI,KAAK,SAAS;AAChB,gBAAI,KAAK,SAAS,MAAM,UAAU;AAGhC,oBAAM,WAAW,KAAK;;AAExB,iBAAK,KAAK;AACV,oBAAO;iBACF;AAGL,kBAAM,KAAK,MAAM,MAAM,SAAS;AAChC,kBAAM;;;AAIV,YAAI,OAAM;AACR,gBAAM;AACN,eAAK,QAAQ,OAAO,OAAO,MAAM;;AAGnC,YAAI,CAAC,MAAM,QAAQ;AACjB,gBAAM,UAAU;AAChB,eAAK,QAAQ,OAAO,OAAO,MAAM;AACjC,gBAAM,UAAU;;AAGlB,qBAAa,MAAM;;AAGrB,WAAK,YAAY;AAEjB,UAAI,cAAc,GAAG;AACnB,aAAK,WAAW;;;IAOpB,UAAU,OAAO;AACf,YAAM,SAAS,KAAK;AACpB,UAAI,QAAQ,OAAO,IAAI;AACvB,UAAI,CAAC,OAAO;AACV,gBAAQ;UACN,SAAS;UACT,SAAS;UACT,OAAO;UACP,WAAW;YACT,UAAU;YACV,UAAU;;;AAGd,eAAO,IAAI,OAAO;;AAEpB,aAAO;;IAQT,OAAO,OAAO,QAAO,KAAI;AACvB,WAAK,UAAU,OAAO,UAAU,QAAO,KAAK;;IAQ9C,IAAI,OAAO,OAAO;AAChB,UAAI,CAAC,SAAS,CAAC,MAAM,QAAQ;AAC3B;;AAEF,WAAK,UAAU,OAAO,MAAM,KAAQ,GAAA;;IAOtC,IAAI,OAAO;AACT,aAAO,KAAK,UAAU,OAAO,MAAM,SAAS;;IAO9C,MAAM,OAAO;AACX,YAAM,QAAQ,KAAK,QAAQ,IAAI;AAC/B,UAAI,CAAC,OAAO;AACV;;AAEF,YAAM,UAAU;AAChB,YAAM,QAAQ,KAAK;AACnB,YAAM,WAAW,MAAM,MAAM,OAAO,CAAC,KAAK,QAAQ,KAAK,IAAI,KAAK,IAAI,YAAY;AAChF,WAAK;;IAGP,QAAQ,OAAO;AACb,UAAI,CAAC,KAAK,UAAU;AAClB,eAAO;;AAET,YAAM,QAAQ,KAAK,QAAQ,IAAI;AAC/B,UAAI,CAAC,SAAS,CAAC,MAAM,WAAW,CAAC,MAAM,MAAM,QAAQ;AACnD,eAAO;;AAET,aAAO;;IAOT,KAAK,OAAO;AACV,YAAM,QAAQ,KAAK,QAAQ,IAAI;AAC/B,UAAI,CAAC,SAAS,CAAC,MAAM,MAAM,QAAQ;AACjC;;AAEF,YAAM,QAAQ,MAAM;AACpB,UAAI,IAAI,MAAM,SAAS;AAEvB,aAAO,KAAK,GAAG,EAAE,GAAG;AAClB,cAAM,GAAG;;AAEX,YAAM,QAAQ;AACd,WAAK,QAAQ,OAAO,OAAO,KAAK,OAAO;;IAOzC,OAAO,OAAO;AACZ,aAAO,KAAK,QAAQ,OAAO;;;AAK/B,MAAA,WAA+B,oBAAI;ACjNnC,MAAM,cAAc;AACpB,MAAM,gBAAgB;IACpB,QAAQ,QAAM,MAAI,QAAQ;AACxB,aAAO,SAAS,MAAM,OAAK;;IAO7B,MAAM,QAAM,MAAI,QAAQ;AACtB,YAAM,KAAK,QAAa,UAAQ;AAChC,YAAM,KAAK,GAAG,SAAS,QAAa,QAAM;AAC1C,aAAO,MAAM,GAAG,QACZ,GAAG,IAAI,IAAI,QAAQ,cACnB;;IAEN,OAAO,QAAM,MAAI,QAAQ;AACvB,aAAO,SAAQ,QAAK,UAAQ;;;AAIjB,wBAAM;IACnB,YAAY,KAAK,QAAQ,MAAM,MAAI;AACjC,YAAM,eAAe,OAAO;AAE5B,aAAK,QAAQ;QAAC,IAAI;QAAI;QAAI;QAAc,IAAI;;AAC5C,YAAM,SAAO,QAAQ;QAAC,IAAI;QAAM;QAAc;;AAE9C,WAAK,UAAU;AACf,WAAK,MAAM,IAAI,MAAM,cAAc,IAAI,QAAQ,OAAO;AACtD,WAAK,UAAU,QAAQ,IAAI,WAAW,QAAQ;AAC9C,WAAK,SAAS,KAAK,MAAM,KAAK,QAAS,KAAI,SAAS;AACpD,WAAK,YAAY,KAAK,SAAS,KAAK,MAAM,IAAI;AAC9C,WAAK,QAAQ,CAAC,CAAC,IAAI;AACnB,WAAK,UAAU;AACf,WAAK,QAAQ;AACb,WAAK,QAAQ;AACb,WAAK,MAAM;AACX,WAAK,YAAY;;IAGnB,SAAS;AACP,aAAO,KAAK;;IAGd,OAAO,KAAK,MAAI,MAAM;AACpB,UAAI,KAAK,SAAS;AAChB,aAAK,QAAQ;AAEb,cAAM,eAAe,KAAK,QAAQ,KAAK;AACvC,cAAM,UAAU,OAAO,KAAK;AAC5B,cAAM,SAAS,KAAK,YAAY;AAChC,aAAK,SAAS;AACd,aAAK,YAAY,KAAK,MAAM,KAAK,IAAI,QAAQ,IAAI;AACjD,aAAK,UAAU;AACf,aAAK,QAAQ,CAAC,CAAC,IAAI;AACnB,aAAK,MAAM,QAAQ;UAAC,IAAI;UAAI;UAAI;UAAc,IAAI;;AAClD,aAAK,QAAQ,QAAQ;UAAC,IAAI;UAAM;UAAc;;;;IAIlD,SAAS;AACP,UAAI,KAAK,SAAS;AAEhB,aAAK,KAAK,KAAK;AACf,aAAK,UAAU;AACf,aAAK,QAAQ;;;IAIjB,KAAK,MAAM;AACT,YAAM,UAAU,OAAO,KAAK;AAC5B,YAAM,WAAW,KAAK;AACtB,YAAM,OAAO,KAAK;AAClB,YAAM,SAAO,KAAK;AAClB,YAAM,OAAO,KAAK;AAClB,YAAM,OAAK,KAAK;AAChB,UAAI;AAEJ,WAAK,UAAU,WAAS,QAAO,SAAS,UAAU;AAElD,UAAI,CAAC,KAAK,SAAS;AACjB,aAAK,QAAQ,QAAQ;AACrB,aAAK,QAAQ;AACb;;AAGF,UAAI,UAAU,GAAG;AACf,aAAK,QAAQ,QAAQ;AACrB;;AAGF,eAAU,UAAU,WAAY;AAChC,eAAS,QAAQ,SAAS,IAAI,IAAI,SAAS;AAC3C,eAAS,KAAK,QAAQ,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG;AAE9C,WAAK,QAAQ,QAAQ,KAAK,IAAI,QAAM,MAAI;;IAG1C,OAAO;AACL,YAAM,WAAW,KAAK,aAAc,MAAK,YAAY;AACrD,aAAO,IAAI,QAAQ,CAAC,KAAK,QAAQ;AAC/B,iBAAS,KAAK;UAAC;UAAK;;;;IAIxB,QAAQ,UAAU;AAChB,YAAM,SAAS,WAAW,QAAQ;AAClC,YAAM,WAAW,KAAK,aAAa;AACnC,eAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACxC,iBAAS,GAAG;;;;AC9GH,yBAAM;IACnB,YAAY,OAAO,QAAQ;AACzB,WAAK,SAAS;AACd,WAAK,cAAc,IAAI;AACvB,WAAK,UAAU;;IAGjB,UAAU,QAAQ;AAChB,UAAI,CAAC,UAAS,SAAS;AACrB;;AAGF,YAAM,mBAAmB,OAAO,KAAK,UAAS;AAC9C,YAAM,gBAAgB,KAAK;AAE3B,aAAO,oBAAoB,QAAQ,QAAQ,CAAA,QAAO;AAChD,cAAM,MAAM,OAAO;AACnB,YAAI,CAAC,UAAS,MAAM;AAClB;;AAEF,cAAM,WAAW;AACjB,mBAAW,WAAU,kBAAkB;AACrC,mBAAS,WAAU,IAAI;;AAGxB,QAAA,UAAQ,IAAI,eAAe,IAAI,cAAc;UAAC;WAAM,QAAQ,CAAC,SAAS;AACrE,cAAI,SAAS,OAAO,CAAC,cAAc,IAAI,OAAO;AAC5C,0BAAc,IAAI,MAAM;;;;;IAUhC,gBAAgB,QAAQ,QAAQ;AAC9B,YAAM,aAAa,OAAO;AAC1B,YAAM,UAAU,qBAAqB,QAAQ;AAC7C,UAAI,CAAC,SAAS;AACZ,eAAO;;AAGT,YAAM,aAAa,KAAK,kBAAkB,SAAS;AACnD,UAAI,WAAW,SAAS;AAItB,iBAAS,OAAO,QAAQ,aAAa,YAAY,KAAK,MAAM;AAC1D,iBAAO,UAAU;WAChB,MAAM;;;AAKX,aAAO;;IAMT,kBAAkB,QAAQ,QAAQ;AAChC,YAAM,gBAAgB,KAAK;AAC3B,YAAM,aAAa;AACnB,YAAM,UAAU,OAAO,eAAgB,QAAO,cAAc;AAC5D,YAAM,QAAQ,OAAO,KAAK;AAC1B,YAAM,OAAO,KAAK;AAClB,UAAI;AAEJ,WAAK,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,EAAE,GAAG;AACtC,cAAM,OAAO,MAAM;AACnB,YAAI,KAAK,OAAO,OAAO,KAAK;AAC1B;;AAGF,YAAI,SAAS,WAAW;AACtB,qBAAW,KAAQ,GAAA,KAAK,gBAAgB,QAAQ;AAChD;;AAEF,cAAM,QAAQ,OAAO;AACrB,YAAI,YAAY,QAAQ;AACxB,cAAM,MAAM,cAAc,IAAI;AAE9B,YAAI,WAAW;AACb,cAAI,OAAO,UAAU,UAAU;AAE7B,sBAAU,OAAO,KAAK,OAAO;AAC7B;iBACK;AACL,sBAAU;;;AAGd,YAAI,CAAC,OAAO,CAAC,IAAI,UAAU;AAEzB,iBAAO,QAAQ;AACf;;AAGF,gBAAQ,QAAQ,YAAY,IAAI,UAAU,KAAK,QAAQ,MAAM;AAC7D,mBAAW,KAAK;;AAElB,aAAO;;IAUT,OAAO,QAAQ,QAAQ;AACrB,UAAI,KAAK,YAAY,SAAS,GAAG;AAE/B,eAAO,OAAO,QAAQ;AACtB;;AAGF,YAAM,aAAa,KAAK,kBAAkB,QAAQ;AAElD,UAAI,WAAW,QAAQ;AACrB,iBAAS,IAAI,KAAK,QAAQ;AAC1B,eAAO;;;;AAKb,oBAAkB,YAAY,YAAY;AACxC,UAAM,UAAU;AAChB,UAAM,OAAO,OAAO,KAAK;AACzB,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,YAAM,OAAO,WAAW,KAAK;AAC7B,UAAI,QAAQ,KAAK,UAAU;AACzB,gBAAQ,KAAK,KAAK;;;AAItB,WAAO,QAAQ,IAAI;;AAGrB,gCAA8B,QAAQ,YAAY;AAChD,QAAI,CAAC,YAAY;AACf;;AAEF,QAAI,UAAU,OAAO;AACrB,QAAI,CAAC,SAAS;AACZ,aAAO,UAAU;AACjB;;AAEF,QAAI,QAAQ,SAAS;AAGnB,aAAO,UAAU,UAAU,OAAO,OAAO,IAAI,SAAS;QAAC,SAAS;QAAO,aAAa;;;AAEtF,WAAO;;ACrJT,qBAAmB,OAAO,iBAAiB;AACzC,UAAM,OAAO,SAAS,MAAM,WAAW;AACvC,UAAM,UAAU,KAAK;AACrB,UAAM,MAAM,KAAK,QAAQ,SAAY,kBAAkB;AACvD,UAAM,MAAM,KAAK,QAAQ,SAAY,kBAAkB;AACvD,WAAO;MACL,OAAO,UAAU,MAAM;MACvB,KAAK,UAAU,MAAM;;;AAIzB,uBAAqB,QAAQ,QAAQ,iBAAiB;AACpD,QAAI,oBAAoB,OAAO;AAC7B,aAAO;;AAET,UAAM,IAAI,UAAU,QAAQ;AAC5B,UAAM,KAAI,UAAU,QAAQ;AAE5B,WAAO;MACL,KAAK,GAAE;MACP,OAAO,EAAE;MACT,QAAQ,GAAE;MACV,MAAM,EAAE;;;AAIZ,kBAAgB,OAAO;AACrB,QAAI,IAAG,GAAG,GAAG;AAEb,QAAI,UAAS,QAAQ;AACnB,WAAI,MAAM;AACV,UAAI,MAAM;AACV,UAAI,MAAM;AACV,UAAI,MAAM;WACL;AACL,WAAI,IAAI,IAAI,IAAI;;AAGlB,WAAO;MACL,KAAK;MACL,OAAO;MACP,QAAQ;MACR,MAAM;MACN,UAAU,UAAU;;;AAIxB,mCAAiC,OAAO,eAAe;AACrD,UAAM,OAAO;AACb,UAAM,WAAW,MAAM,uBAAuB;AAC9C,QAAI,GAAG;AAEP,SAAK,IAAI,GAAG,OAAO,SAAS,QAAQ,IAAI,MAAM,EAAE,GAAG;AACjD,WAAK,KAAK,SAAS,GAAG;;AAExB,WAAO;;AAGT,sBAAoB,OAAO,OAAO,SAAS,UAAU,IAAI;AACvD,UAAM,OAAO,MAAM;AACnB,UAAM,aAAa,QAAQ,SAAS;AACpC,QAAI,GAAG,MAAM,cAAc;AAE3B,QAAI,UAAU,MAAM;AAClB;;AAGF,SAAK,IAAI,GAAG,OAAO,KAAK,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC7C,qBAAe,CAAC,KAAK;AACrB,UAAI,iBAAiB,SAAS;AAC5B,YAAI,QAAQ,KAAK;AACf;;AAEF;;AAEF,mBAAa,MAAM,OAAO;AAC1B,UAAI,eAAS,eAAgB,eAAe,UAAU,KAAK,KAAK,WAAW,KAAK,cAAe;AAC7F,iBAAS;;;AAGb,WAAO;;AAGT,oCAAkC,MAAM,OAAM;AAC5C,UAAM,EAAC,QAAQ,WAAU;AACzB,UAAM,WAAW,OAAO,SAAS,MAAM,MAAM;AAC7C,UAAM,WAAW,OAAO,SAAS,MAAM,MAAM;AAC7C,UAAM,OAAO,OAAO,KAAK;AACzB,UAAM,QAAQ,IAAI,MAAM,KAAK;AAC7B,QAAI,GAAG,MAAM;AACb,SAAK,IAAI,GAAG,OAAO,KAAK,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC7C,YAAM,KAAK;AACX,YAAM,KAAK;SACR,WAAW;SACX,WAAW,KAAK;;;AAGrB,WAAO;;AAGT,qBAAmB,OAAO,OAAM;AAC9B,UAAM,UAAU,SAAS,MAAM,QAAQ;AACvC,WAAO,WAAY,YAAY,UAAa,MAAK,UAAU;;AAG7D,uBAAqB,YAAY,YAAY,OAAM;AACjD,WAAO,GAAG,WAAW,MAAM,WAAW,MAAM,MAAK,SAAS,MAAK;;AAGjE,yBAAuB,OAAO;AAC5B,UAAM,EAAC,KAAK,KAAK,YAAY,eAAc,MAAM;AACjD,WAAO;MACL,KAAK,aAAa,MAAM,OAAO;MAC/B,KAAK,aAAa,MAAM,OAAO;;;AAInC,4BAA0B,QAAQ,UAAU,YAAY;AACtD,UAAM,WAAW,OAAO,aAAc,QAAO,YAAY;AACzD,WAAO,SAAS,eAAgB,UAAS,cAAc;;AAGzD,+BAA6B,OAAO,QAAQ,UAAU,MAAM;AAC1D,eAAW,SAAQ,OAAO,wBAAwB,MAAM,WAAW;AACjE,YAAM,QAAQ,MAAM,MAAK;AACzB,UAAI,YAAa,QAAQ,KAAO,CAAC,YAAY,QAAQ,GAAI;AACvD,eAAO,MAAK;;;AAIhB,WAAO;;AAGT,wBAAsB,YAAY,QAAQ;AACxC,UAAM,EAAC,OAAO,aAAa,UAAQ;AACnC,UAAM,SAAS,MAAM,WAAY,OAAM,UAAU;AACjD,UAAM,EAAC,QAAQ,QAAQ,OAAO,iBAAgB;AAC9C,UAAM,QAAQ,OAAO;AACrB,UAAM,QAAQ,OAAO;AACrB,UAAM,MAAM,YAAY,QAAQ,QAAQ;AACxC,UAAM,OAAO,OAAO;AACpB,QAAI;AAEJ,aAAS,IAAI,GAAG,IAAI,MAAM,EAAE,GAAG;AAC7B,YAAM,OAAO,OAAO;AACpB,YAAM,GAAE,QAAQ,SAAQ,QAAQ,UAAS;AACzC,YAAM,aAAa,KAAK,WAAY,MAAK,UAAU;AACnD,cAAQ,WAAW,SAAS,iBAAiB,QAAQ,KAAK;AAC1D,YAAM,gBAAgB;AAEtB,YAAM,OAAO,oBAAoB,OAAO,QAAQ,MAAM,MAAK;AAC3D,YAAM,UAAU,oBAAoB,OAAO,QAAQ,OAAO,MAAK;AAE/D,YAAM,eAAe,MAAM,iBAAkB,OAAM,gBAAgB;AACnE,mBAAa,gBAAgB;;;AAIjC,2BAAyB,OAAO,MAAM;AACpC,UAAM,UAAS,MAAM;AACrB,WAAO,OAAO,KAAK,SAAQ,OAAO,CAAA,QAAO,QAAO,KAAK,SAAS,MAAM;;AAGtE,gCAA8B,QAAQ,QAAO;AAC3C,WAAO,cAAc,QACnB;MACE,QAAQ;MACR,SAAS;MACT,cAAc;MACd;MACA,MAAM;MACN,MAAM;;;AAKZ,6BAA2B,QAAQ,QAAO,SAAS;AACjD,WAAO,cAAc,QAAQ;MAC3B,QAAQ;MACR,WAAW;MACX,QAAQ;MACR,KAAK;MACL;MACA;MACA,MAAM;MACN,MAAM;;;AAIV,uBAAqB,OAAM,OAAO;AAEhC,UAAM,eAAe,MAAK,WAAW;AACrC,UAAM,OAAO,MAAK,UAAU,MAAK,OAAO;AACxC,QAAI,CAAC,MAAM;AACT;;AAGF,YAAQ,SAAS,MAAK;AACtB,eAAW,UAAU,OAAO;AAC1B,YAAM,SAAS,OAAO;AACtB,UAAI,CAAC,UAAU,OAAO,UAAU,UAAa,OAAO,MAAM,kBAAkB,QAAW;AACrF;;AAEF,aAAO,OAAO,MAAM;AACpB,UAAI,OAAO,MAAM,kBAAkB,UAAa,OAAO,MAAM,cAAc,kBAAkB,QAAW;AACtG,eAAO,OAAO,MAAM,cAAc;;;;AAKxC,MAAM,qBAAqB,CAAC,SAAS,SAAS,WAAW,SAAS;AAClE,MAAM,mBAAmB,CAAC,QAAQ,WAAW,SAAS,SAAS,OAAO,OAAO,IAAI;AACjF,MAAM,cAAc,CAAC,UAAU,OAAM,UAAU,YAAY,CAAC,MAAK,UAAU,MAAK,YAC3E;IAAC,MAAM,wBAAwB,OAAO;IAAO,QAAQ;;AAE3C,gCAAM;IAqBnB,YAAY,OAAO,cAAc;AAC/B,WAAK,QAAQ;AACb,WAAK,OAAO,MAAM;AAClB,WAAK,QAAQ;AACb,WAAK,kBAAkB;AACvB,WAAK,cAAc,KAAK;AACxB,WAAK,QAAQ,KAAK,YAAY;AAC9B,WAAK,UAAU;AAEf,WAAK,WAAW;AAChB,WAAK,QAAQ;AACb,WAAK,cAAc;AACnB,WAAK,iBAAiB;AACtB,WAAK,aAAa;AAClB,WAAK,aAAa;AAClB,WAAK,sBAAsB;AAC3B,WAAK,qBAAqB;AAC1B,WAAK,WAAW;AAChB,WAAK,YAAY;AACjB,WAAK,qBAAqB,WAAW;AACrC,WAAK,kBAAkB,WAAW;AAElC,WAAK;;IAGP,aAAa;AACX,YAAM,QAAO,KAAK;AAClB,WAAK;AACL,WAAK;AACL,YAAK,WAAW,UAAU,MAAK,QAAQ;AACvC,WAAK;AAEL,UAAI,KAAK,QAAQ,QAAQ,CAAC,KAAK,MAAM,gBAAgB,WAAW;AAC9D,gBAAQ,KAAK;;;IAIjB,YAAY,cAAc;AACxB,UAAI,KAAK,UAAU,cAAc;AAC/B,oBAAY,KAAK;;AAEnB,WAAK,QAAQ;;IAGf,aAAa;AACX,YAAM,QAAQ,KAAK;AACnB,YAAM,QAAO,KAAK;AAClB,YAAM,UAAU,KAAK;AAErB,YAAM,WAAW,CAAC,MAAM,GAAG,IAAG,MAAM,SAAS,MAAM,IAAI,SAAS,MAAM,IAAI;AAE1E,YAAM,MAAM,MAAK,UAAU,eAAe,QAAQ,SAAS,gBAAgB,OAAO;AAClF,YAAM,MAAM,MAAK,UAAU,eAAe,QAAQ,SAAS,gBAAgB,OAAO;AAClF,YAAM,MAAM,MAAK,UAAU,eAAe,QAAQ,SAAS,gBAAgB,OAAO;AAClF,YAAM,YAAY,MAAK;AACvB,YAAM,MAAM,MAAK,UAAU,SAAS,WAAW,KAAK,KAAK;AACzD,YAAM,MAAM,MAAK,UAAU,SAAS,WAAW,KAAK,KAAK;AACzD,YAAK,SAAS,KAAK,cAAc;AACjC,YAAK,SAAS,KAAK,cAAc;AACjC,YAAK,SAAS,KAAK,cAAc;AACjC,YAAK,SAAS,KAAK,cAAc;AACjC,YAAK,SAAS,KAAK,cAAc;;IAGnC,aAAa;AACX,aAAO,KAAK,MAAM,KAAK,SAAS,KAAK;;IAGvC,UAAU;AACR,aAAO,KAAK,MAAM,eAAe,KAAK;;IAOxC,cAAc,SAAS;AACrB,aAAO,KAAK,MAAM,OAAO;;IAM3B,eAAe,OAAO;AACpB,YAAM,QAAO,KAAK;AAClB,aAAO,UAAU,MAAK,SAClB,MAAK,SACL,MAAK;;IAGX,QAAQ;AACN,WAAK,QAAQ;;IAMf,WAAW;AACT,YAAM,QAAO,KAAK;AAClB,UAAI,KAAK,OAAO;AACd,4BAAoB,KAAK,OAAO;;AAElC,UAAI,MAAK,UAAU;AACjB,oBAAY;;;IAOhB,aAAa;AACX,YAAM,UAAU,KAAK;AACrB,YAAM,OAAO,QAAQ,QAAS,SAAQ,OAAO;AAC7C,YAAM,QAAQ,KAAK;AAMnB,UAAI,UAAS,OAAO;AAClB,cAAM,QAAO,KAAK;AAClB,aAAK,QAAQ,yBAAyB,MAAM;iBACnC,UAAU,MAAM;AACzB,YAAI,OAAO;AAET,8BAAoB,OAAO;AAE3B,gBAAM,QAAO,KAAK;AAClB,sBAAY;AACZ,gBAAK,UAAU;;AAEjB,YAAI,QAAQ,OAAO,aAAa,OAAO;AACrC,4BAAkB,MAAM;;AAE1B,aAAK,YAAY;AACjB,aAAK,QAAQ;;;IAIjB,cAAc;AACZ,YAAM,QAAO,KAAK;AAElB,WAAK;AAEL,UAAI,KAAK,oBAAoB;AAC3B,cAAK,UAAU,IAAI,KAAK;;;IAI5B,sBAAsB,kBAAkB;AACtC,YAAM,QAAO,KAAK;AAClB,YAAM,UAAU,KAAK;AACrB,UAAI,eAAe;AAEnB,WAAK;AAGL,YAAM,aAAa,MAAK;AACxB,YAAK,WAAW,UAAU,MAAK,QAAQ;AAGvC,UAAI,MAAK,UAAU,QAAQ,OAAO;AAChC,uBAAe;AAEf,oBAAY;AACZ,cAAK,QAAQ,QAAQ;;AAKvB,WAAK,gBAAgB;AAGrB,UAAI,gBAAgB,eAAe,MAAK,UAAU;AAChD,qBAAa,MAAM,MAAK;;;IAQ5B,YAAY;AACV,YAAM,SAAS,KAAK,MAAM;AAC1B,YAAM,YAAY,OAAO,iBAAiB,KAAK;AAC/C,YAAM,SAAS,OAAO,gBAAgB,KAAK,cAAc,WAAW;AACpE,WAAK,UAAU,OAAO,eAAe,QAAQ,KAAK;AAClD,WAAK,WAAW,KAAK,QAAQ;AAC7B,WAAK,kBAAkB;;IAOzB,MAAM,QAAO,OAAO;AAClB,YAAM,EAAC,aAAa,OAAM,OAAO,SAAQ;AACzC,YAAM,EAAC,QAAQ,aAAY;AAC3B,YAAM,QAAQ,OAAO;AAErB,UAAI,SAAS,WAAU,KAAK,UAAU,KAAK,SAAS,OAAO,MAAK;AAChE,UAAI,OAAO,SAAQ,KAAK,MAAK,QAAQ,SAAQ;AAC7C,UAAI,GAAG,KAAK;AAEZ,UAAI,KAAK,aAAa,OAAO;AAC3B,cAAK,UAAU;AACf,cAAK,UAAU;AACf,iBAAS;aACJ;AACL,YAAI,SAAQ,KAAK,UAAS;AACxB,mBAAS,KAAK,eAAe,OAAM,MAAM,QAAO;mBACvC,UAAS,KAAK,UAAS;AAChC,mBAAS,KAAK,gBAAgB,OAAM,MAAM,QAAO;eAC5C;AACL,mBAAS,KAAK,mBAAmB,OAAM,MAAM,QAAO;;AAGtD,cAAM,6BAA6B,MAAM,IAAI,WAAW,QAAS,QAAQ,IAAI,SAAS,KAAK;AAC3F,aAAK,IAAI,GAAG,IAAI,OAAO,EAAE,GAAG;AAC1B,gBAAK,QAAQ,IAAI,UAAS,MAAM,OAAO;AACvC,cAAI,QAAQ;AACV,gBAAI,8BAA8B;AAChC,uBAAS;;AAEX,mBAAO;;;AAGX,cAAK,UAAU;;AAGjB,UAAI,UAAU;AACZ,qBAAa,MAAM;;;IAevB,mBAAmB,OAAM,MAAM,QAAO,OAAO;AAC3C,YAAM,EAAC,QAAQ,WAAU;AACzB,YAAM,QAAQ,OAAO;AACrB,YAAM,QAAQ,OAAO;AACrB,YAAM,SAAS,OAAO;AACtB,YAAM,cAAc,WAAW;AAC/B,YAAM,SAAS,IAAI,MAAM;AACzB,UAAI,GAAG,MAAM;AAEb,WAAK,IAAI,GAAG,OAAO,OAAO,IAAI,MAAM,EAAE,GAAG;AACvC,iBAAQ,IAAI;AACZ,eAAO,KAAK;WACT,QAAQ,eAAe,OAAO,MAAM,OAAO,SAAQ;WACnD,QAAQ,OAAO,MAAM,KAAK,SAAQ;;;AAGvC,aAAO;;IAcT,eAAe,OAAM,MAAM,QAAO,OAAO;AACvC,YAAM,EAAC,QAAQ,WAAU;AACzB,YAAM,SAAS,IAAI,MAAM;AACzB,UAAI,GAAG,MAAM,QAAO;AAEpB,WAAK,IAAI,GAAG,OAAO,OAAO,IAAI,MAAM,EAAE,GAAG;AACvC,iBAAQ,IAAI;AACZ,eAAO,KAAK;AACZ,eAAO,KAAK;UACV,GAAG,OAAO,MAAM,KAAK,IAAI;UACzB,GAAG,OAAO,MAAM,KAAK,IAAI;;;AAG7B,aAAO;;IAcT,gBAAgB,OAAM,MAAM,QAAO,OAAO;AACxC,YAAM,EAAC,QAAQ,WAAU;AACzB,YAAM,EAAC,WAAW,KAAK,WAAW,QAAO,KAAK;AAC9C,YAAM,SAAS,IAAI,MAAM;AACzB,UAAI,GAAG,MAAM,QAAO;AAEpB,WAAK,IAAI,GAAG,OAAO,OAAO,IAAI,MAAM,EAAE,GAAG;AACvC,iBAAQ,IAAI;AACZ,eAAO,KAAK;AACZ,eAAO,KAAK;UACV,GAAG,OAAO,MAAM,iBAAiB,MAAM,WAAW;UAClD,GAAG,OAAO,MAAM,iBAAiB,MAAM,WAAW;;;AAGtD,aAAO;;IAMT,UAAU,QAAO;AACf,aAAO,KAAK,YAAY,QAAQ;;IAMlC,eAAe,QAAO;AACpB,aAAO,KAAK,YAAY,KAAK;;IAM/B,WAAW,OAAO,QAAQ,MAAM;AAC9B,YAAM,QAAQ,KAAK;AACnB,YAAM,QAAO,KAAK;AAClB,YAAM,QAAQ,OAAO,MAAM;AAC3B,YAAM,QAAQ;QACZ,MAAM,wBAAwB,OAAO;QACrC,QAAQ,OAAO,QAAQ,MAAM,MAAM;;AAErC,aAAO,WAAW,OAAO,OAAO,MAAK,OAAO;QAAC;;;IAM/C,sBAAsB,SAAO,OAAO,QAAQ,OAAO;AACjD,YAAM,cAAc,OAAO,MAAM;AACjC,UAAI,QAAQ,gBAAgB,OAAO,MAAM;AACzC,YAAM,SAAS,SAAS,OAAO,QAAQ,MAAM;AAC7C,UAAI,SAAS,QAAQ;AACnB,cAAM,SAAS;AACf,gBAAQ,WAAW,OAAO,aAAa,KAAK,YAAY;;AAE1D,cAAM,MAAM,KAAK,IAAI,QAAM,KAAK;AAChC,cAAM,MAAM,KAAK,IAAI,QAAM,KAAK;;IAMlC,UAAU,OAAO,UAAU;AACzB,YAAM,QAAO,KAAK;AAClB,YAAM,UAAU,MAAK;AACrB,YAAM,SAAS,MAAK,WAAW,UAAU,MAAK;AAC9C,YAAM,OAAO,QAAQ;AACrB,YAAM,aAAa,KAAK,eAAe;AACvC,YAAM,QAAQ,YAAY,UAAU,OAAM,KAAK;AAC/C,YAAM,UAAQ;QAAC,KAAK,OAAO;QAAmB,KAAK,OAAO;;AAC1D,YAAM,EAAC,KAAK,UAAU,KAAK,aAAY,cAAc;AACrD,UAAI,GAAG;AAEP,uBAAiB;AACf,iBAAS,QAAQ;AACjB,cAAM,aAAa,OAAO,WAAW;AACrC,eAAO,CAAC,eAAS,OAAO,MAAM,UAAU,WAAW,cAAc,WAAW;;AAG9E,WAAK,IAAI,GAAG,IAAI,MAAM,EAAE,GAAG;AACzB,YAAI,SAAS;AACX;;AAEF,aAAK,sBAAsB,SAAO,OAAO,QAAQ;AACjD,YAAI,QAAQ;AAEV;;;AAGJ,UAAI,QAAQ;AAEV,aAAK,IAAI,OAAO,GAAG,KAAK,GAAG,EAAE,GAAG;AAC9B,cAAI,SAAS;AACX;;AAEF,eAAK,sBAAsB,SAAO,OAAO,QAAQ;AACjD;;;AAGJ,aAAO;;IAGT,mBAAmB,OAAO;AACxB,YAAM,SAAS,KAAK,YAAY;AAChC,YAAM,SAAS;AACf,UAAI,GAAG,MAAM;AAEb,WAAK,IAAI,GAAG,OAAO,OAAO,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC/C,gBAAQ,OAAO,GAAG,MAAM;AACxB,YAAI,eAAS,QAAQ;AACnB,iBAAO,KAAK;;;AAGhB,aAAO;;IAOT,iBAAiB;AACf,aAAO;;IAMT,iBAAiB,QAAO;AACtB,YAAM,QAAO,KAAK;AAClB,YAAM,SAAS,MAAK;AACpB,YAAM,SAAS,MAAK;AACpB,YAAM,SAAS,KAAK,UAAU;AAC9B,aAAO;QACL,OAAO,SAAS,KAAK,OAAO,iBAAiB,OAAO,OAAO,SAAS;QACpE,OAAO,SAAS,KAAK,OAAO,iBAAiB,OAAO,OAAO,SAAS;;;IAOxE,QAAQ,MAAM;AACZ,YAAM,QAAO,KAAK;AAClB,WAAK,OAAO,QAAQ;AACpB,YAAK,QAAQ,OAAO,eAAe,KAAK,QAAQ,MAAM,YAAY,MAAK,QAAQ,MAAK,QAAQ,KAAK;;IAMnG,OAAO,MAAM;;IAEb,OAAO;AACL,YAAM,MAAM,KAAK;AACjB,YAAM,QAAQ,KAAK;AACnB,YAAM,QAAO,KAAK;AAClB,YAAM,YAAW,MAAK,QAAQ;AAC9B,YAAM,OAAO,MAAM;AACnB,YAAM,SAAS;AACf,YAAM,SAAQ,KAAK,cAAc;AACjC,YAAM,QAAQ,KAAK,cAAe,UAAS,SAAS;AACpD,YAAM,0BAA0B,KAAK,QAAQ;AAC7C,UAAI;AAEJ,UAAI,MAAK,SAAS;AAChB,cAAK,QAAQ,KAAK,KAAK,MAAM,QAAO;;AAGtC,WAAK,IAAI,QAAO,IAAI,SAAQ,OAAO,EAAE,GAAG;AACtC,cAAM,UAAU,UAAS;AACzB,YAAI,QAAQ,QAAQ;AAClB;;AAEF,YAAI,QAAQ,UAAU,yBAAyB;AAC7C,iBAAO,KAAK;eACP;AACL,kBAAQ,KAAK,KAAK;;;AAItB,WAAK,IAAI,GAAG,IAAI,OAAO,QAAQ,EAAE,GAAG;AAClC,eAAO,GAAG,KAAK,KAAK;;;IAWxB,SAAS,QAAO,QAAQ;AACtB,YAAM,OAAO,SAAS,WAAW;AACjC,aAAO,WAAU,UAAa,KAAK,YAAY,UAC3C,KAAK,6BAA6B,QAClC,KAAK,0BAA0B,UAAS,GAAG;;IAMjD,WAAW,QAAO,QAAQ,MAAM;AAC9B,YAAM,UAAU,KAAK;AACrB,UAAI;AACJ,UAAI,UAAS,KAAK,SAAQ,KAAK,YAAY,KAAK,QAAQ;AACtD,cAAM,UAAU,KAAK,YAAY,KAAK;AACtC,mBAAU,QAAQ,YACf,SAAQ,WAAW,kBAAkB,KAAK,cAAc,QAAO;AAClE,iBAAQ,SAAS,KAAK,UAAU;AAChC,iBAAQ,MAAM,QAAQ,KAAK;AAC3B,iBAAQ,QAAQ,SAAQ,YAAY;aAC/B;AACL,mBAAU,KAAK,YACZ,MAAK,WAAW,qBAAqB,KAAK,MAAM,cAAc,KAAK;AACtE,iBAAQ,UAAU;AAClB,iBAAQ,QAAQ,SAAQ,eAAe,KAAK;;AAG9C,eAAQ,SAAS,CAAC,CAAC;AACnB,eAAQ,OAAO;AACf,aAAO;;IAOT,6BAA6B,MAAM;AACjC,aAAO,KAAK,uBAAuB,KAAK,mBAAmB,IAAI;;IAQjE,0BAA0B,QAAO,MAAM;AACrC,aAAO,KAAK,uBAAuB,KAAK,gBAAgB,IAAI,MAAM;;IAMpE,uBAAuB,aAAa,OAAO,WAAW,QAAO;AAC3D,YAAM,SAAS,SAAS;AACxB,YAAM,QAAQ,KAAK;AACnB,YAAM,WAAW,cAAc,MAAM;AACrC,YAAM,SAAS,MAAM;AACrB,YAAM,UAAU,KAAK,uBAAuB,QAAQ;AACpD,UAAI,QAAQ;AACV,eAAO,iBAAiB,QAAQ;;AAElC,YAAM,SAAS,KAAK,MAAM;AAC1B,YAAM,YAAY,OAAO,wBAAwB,KAAK,OAAO;AAC7D,YAAM,WAAW,SAAS;QAAC,GAAG;QAAoB;QAAS;QAAa;UAAM;QAAC;QAAa;;AAC5F,YAAM,SAAS,OAAO,gBAAgB,KAAK,cAAc;AACzD,YAAM,SAAQ,OAAO,KAAK,UAAS,SAAS;AAG5C,YAAM,WAAU,MAAM,KAAK,WAAW,QAAO,QAAQ;AACrD,YAAM,SAAS,OAAO,oBAAoB,QAAQ,QAAO,UAAS;AAElE,UAAI,OAAO,SAAS;AAGlB,eAAO,UAAU;AAKjB,cAAM,YAAY,OAAO,OAAO,iBAAiB,QAAQ;;AAG3D,aAAO;;IAOT,mBAAmB,QAAO,YAAY,QAAQ;AAC5C,YAAM,QAAQ,KAAK;AACnB,YAAM,QAAQ,KAAK;AACnB,YAAM,WAAW,aAAa;AAC9B,YAAM,SAAS,MAAM;AACrB,UAAI,QAAQ;AACV,eAAO;;AAET,UAAI;AACJ,UAAI,MAAM,QAAQ,cAAc,OAAO;AACrC,cAAM,SAAS,KAAK,MAAM;AAC1B,cAAM,YAAY,OAAO,0BAA0B,KAAK,OAAO;AAC/D,cAAM,SAAS,OAAO,gBAAgB,KAAK,cAAc;AACzD,kBAAU,OAAO,eAAe,QAAQ,KAAK,WAAW,QAAO,QAAQ;;AAEzE,YAAM,aAAa,IAAI,WAAW,OAAO,WAAW,QAAQ;AAC5D,UAAI,WAAW,QAAQ,YAAY;AACjC,cAAM,YAAY,OAAO,OAAO;;AAElC,aAAO;;IAOT,iBAAiB,SAAS;AACxB,UAAI,CAAC,QAAQ,SAAS;AACpB;;AAEF,aAAO,KAAK,kBAAmB,MAAK,iBAAiB,OAAO,OAAO,IAAI;;IAOzE,eAAe,MAAM,eAAe;AAClC,aAAO,CAAC,iBAAiB,mBAAmB,SAAS,KAAK,MAAM;;IAMlE,kBAAkB,QAAO,MAAM;AAC7B,YAAM,YAAY,KAAK,0BAA0B,QAAO;AACxD,YAAM,0BAA0B,KAAK;AACrC,YAAM,gBAAgB,KAAK,iBAAiB;AAC5C,YAAM,iBAAiB,KAAK,eAAe,MAAM,kBAAmB,kBAAkB;AACtF,WAAK,oBAAoB,eAAe,MAAM;AAC9C,aAAO;QAAC;QAAe;;;IAOzB,cAAc,SAAS,QAAO,YAAY,MAAM;AAC9C,UAAI,mBAAmB,OAAO;AAC5B,eAAO,OAAO,SAAS;aAClB;AACL,aAAK,mBAAmB,QAAO,MAAM,OAAO,SAAS;;;IAQzD,oBAAoB,eAAe,MAAM,YAAY;AACnD,UAAI,iBAAiB,CAAC,mBAAmB,OAAO;AAC9C,aAAK,mBAAmB,QAAW,MAAM,OAAO,eAAe;;;IAOnE,UAAU,SAAS,QAAO,MAAM,QAAQ;AACtC,cAAQ,SAAS;AACjB,YAAM,UAAU,KAAK,SAAS,QAAO;AACrC,WAAK,mBAAmB,QAAO,MAAM,QAAQ,OAAO,SAAS;QAG3D,SAAS,CAAE,UAAU,KAAK,iBAAiB,YAAa;;;IAI5D,iBAAiB,SAAS,cAAc,QAAO;AAC7C,WAAK,UAAU,SAAS,QAAO,UAAU;;IAG3C,cAAc,SAAS,cAAc,QAAO;AAC1C,WAAK,UAAU,SAAS,QAAO,UAAU;;IAM3C,2BAA2B;AACzB,YAAM,UAAU,KAAK,YAAY;AAEjC,UAAI,SAAS;AACX,aAAK,UAAU,SAAS,QAAW,UAAU;;;IAOjD,wBAAwB;AACtB,YAAM,UAAU,KAAK,YAAY;AAEjC,UAAI,SAAS;AACX,aAAK,UAAU,SAAS,QAAW,UAAU;;;IAOjD,gBAAgB,kBAAkB;AAChC,YAAM,OAAO,KAAK;AAClB,YAAM,YAAW,KAAK,YAAY;AAGlC,iBAAW,CAAC,QAAQ,MAAM,SAAS,KAAK,WAAW;AACjD,aAAK,QAAQ,MAAM;;AAErB,WAAK,YAAY;AAEjB,YAAM,UAAU,UAAS;AACzB,YAAM,UAAU,KAAK;AACrB,YAAM,QAAQ,KAAK,IAAI,SAAS;AAEhC,UAAI,OAAO;AAKT,aAAK,MAAM,GAAG;;AAGhB,UAAI,UAAU,SAAS;AACrB,aAAK,gBAAgB,SAAS,UAAU,SAAS;iBACxC,UAAU,SAAS;AAC5B,aAAK,gBAAgB,SAAS,UAAU;;;IAO5C,gBAAgB,QAAO,OAAO,mBAAmB,MAAM;AACrD,YAAM,QAAO,KAAK;AAClB,YAAM,OAAO,MAAK;AAClB,YAAM,MAAM,SAAQ;AACpB,UAAI;AAEJ,YAAM,OAAO,CAAC,QAAQ;AACpB,YAAI,UAAU;AACd,aAAK,IAAI,IAAI,SAAS,GAAG,KAAK,KAAK,KAAK;AACtC,cAAI,KAAK,IAAI,IAAI;;;AAGrB,WAAK;AAEL,WAAK,IAAI,QAAO,IAAI,KAAK,EAAE,GAAG;AAC5B,aAAK,KAAK,IAAI,KAAK;;AAGrB,UAAI,KAAK,UAAU;AACjB,aAAK,MAAK;;AAEZ,WAAK,MAAM,QAAO;AAElB,UAAI,kBAAkB;AACpB,aAAK,eAAe,MAAM,QAAO,OAAO;;;IAI5C,eAAe,SAAS,QAAO,OAAO,MAAM;;IAK5C,gBAAgB,QAAO,OAAO;AAC5B,YAAM,QAAO,KAAK;AAClB,UAAI,KAAK,UAAU;AACjB,cAAM,UAAU,MAAK,QAAQ,OAAO,QAAO;AAC3C,YAAI,MAAK,UAAU;AACjB,sBAAY,OAAM;;;AAGtB,YAAK,KAAK,OAAO,QAAO;;IAM1B,MAAM,MAAM;AACV,UAAI,KAAK,UAAU;AACjB,aAAK,UAAU,KAAK;aACf;AACL,cAAM,CAAC,QAAQ,MAAM,QAAQ;AAC7B,aAAK,QAAQ,MAAM;;AAErB,WAAK,MAAM,aAAa,KAAK;QAAC,KAAK;QAAU,GAAA;;;IAG/C,cAAc;AACZ,YAAM,QAAQ,UAAU;AACxB,WAAK,MAAM;QAAC;QAAmB,KAAK,aAAa,KAAK,SAAS;QAAO;;;IAGxE,aAAa;AACX,WAAK,MAAM;QAAC;QAAmB,KAAK,YAAY,KAAK,SAAS;QAAG;;;IAGnE,eAAe;AACb,WAAK,MAAM;QAAC;QAAmB;QAAG;;;IAGpC,cAAc,QAAO,OAAO;AAC1B,UAAI,OAAO;AACT,aAAK,MAAM;UAAC;UAAmB;UAAO;;;AAExC,YAAM,WAAW,UAAU,SAAS;AACpC,UAAI,UAAU;AACZ,aAAK,MAAM;UAAC;UAAmB;UAAO;;;;IAI1C,iBAAiB;AACf,WAAK,MAAM;QAAC;QAAmB;QAAG,UAAU;;;;AAn0BvC,gBALM,mBAKN,YAAW;AAKX,gBAVM,mBAUN,sBAAqB;AAKrB,gBAfM,mBAeN,mBAAkB;AC3O3B,6BAA2B,OAAO,MAAM;AACtC,QAAI,CAAC,MAAM,OAAO,MAAM;AACtB,YAAM,eAAe,MAAM,wBAAwB;AACnD,UAAI,SAAS;AAEb,eAAS,IAAI,GAAG,OAAO,aAAa,QAAQ,IAAI,MAAM,KAAK;AACzD,iBAAS,OAAO,OAAO,aAAa,GAAG,WAAW,mBAAmB;;AAEvE,YAAM,OAAO,OAAO,aAAa,OAAO,KAAK,CAAC,GAAG,MAAM,IAAI;;AAE7D,WAAO,MAAM,OAAO;;AAOtB,gCAA8B,OAAM;AAClC,UAAM,QAAQ,MAAK;AACnB,UAAM,SAAS,kBAAkB,OAAO,MAAK;AAC7C,QAAI,MAAM,MAAM;AAChB,QAAI,GAAG,MAAM,MAAM;AACnB,UAAM,mBAAmB,MAAM;AAC7B,UAAI,SAAS,SAAS,SAAS,QAAQ;AAErC;;AAEF,UAAI,QAAQ,OAAO;AAEjB,cAAM,KAAK,IAAI,KAAK,KAAK,IAAI,OAAO,SAAS;;AAE/C,aAAO;;AAGT,SAAK,IAAI,GAAG,OAAO,OAAO,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC/C,aAAO,MAAM,iBAAiB,OAAO;AACrC;;AAGF,WAAO;AACP,SAAK,IAAI,GAAG,OAAO,MAAM,MAAM,QAAQ,IAAI,MAAM,EAAE,GAAG;AACpD,aAAO,MAAM,gBAAgB;AAC7B;;AAGF,WAAO;;AAST,oCAAkC,QAAO,OAAO,SAAS,YAAY;AACnE,UAAM,YAAY,QAAQ;AAC1B,QAAI,MAAM;AAEV,QAAI,cAAc,YAAY;AAC5B,aAAO,MAAM,MAAM,QAAQ;AAC3B,cAAQ,QAAQ;WACX;AAIL,aAAO,YAAY;AACnB,cAAQ;;AAGV,WAAO;MACL,OAAO,OAAO;MACd;MACA,OAAO,MAAM,OAAO,UAAU,OAAO;;;AAUzC,qCAAmC,QAAO,OAAO,SAAS,YAAY;AACpE,UAAM,SAAS,MAAM;AACrB,UAAM,OAAO,OAAO;AACpB,QAAI,OAAO,SAAQ,IAAI,OAAO,SAAQ,KAAK;AAC3C,QAAI,OAAO,SAAQ,OAAO,SAAS,IAAI,OAAO,SAAQ,KAAK;AAC3D,UAAM,UAAU,QAAQ;AAExB,QAAI,SAAS,MAAM;AAGjB,aAAO,OAAQ,UAAS,OAAO,MAAM,MAAM,MAAM,QAAQ,OAAO;;AAGlE,QAAI,SAAS,MAAM;AAEjB,aAAO,OAAO,OAAO;;AAGvB,UAAM,SAAQ,OAAQ,QAAO,KAAK,IAAI,MAAM,SAAS,IAAI;AACzD,UAAM,OAAO,KAAK,IAAI,OAAO,QAAQ,IAAI;AAEzC,WAAO;MACL,OAAO,OAAO;MACd,OAAO,QAAQ;MACf;;;AAIJ,yBAAuB,OAAO,MAAM,QAAQ,GAAG;AAC7C,UAAM,aAAa,OAAO,MAAM,MAAM,IAAI;AAC1C,UAAM,WAAW,OAAO,MAAM,MAAM,IAAI;AACxC,UAAM,MAAM,KAAK,IAAI,YAAY;AACjC,UAAM,MAAM,KAAK,IAAI,YAAY;AACjC,QAAI,WAAW;AACf,QAAI,SAAS;AAEb,QAAI,KAAK,IAAI,OAAO,KAAK,IAAI,MAAM;AACjC,iBAAW;AACX,eAAS;;AAKX,SAAK,OAAO,QAAQ;AAEpB,SAAK,UAAU;MACb;MACA;MACA,OAAO;MACP,KAAK;MACL;MACA;;;AAIJ,sBAAoB,OAAO,MAAM,QAAQ,GAAG;AAC1C,QAAI,SAAQ,QAAQ;AAClB,oBAAc,OAAO,MAAM,QAAQ;WAC9B;AACL,WAAK,OAAO,QAAQ,OAAO,MAAM,OAAO;;AAE1C,WAAO;;AAGT,iCAA+B,OAAM,MAAM,QAAO,OAAO;AACvD,UAAM,SAAS,MAAK;AACpB,UAAM,SAAS,MAAK;AACpB,UAAM,SAAS,OAAO;AACtB,UAAM,cAAc,WAAW;AAC/B,UAAM,SAAS;AACf,QAAI,GAAG,MAAM,MAAM;AAEnB,SAAK,IAAI,QAAO,OAAO,SAAQ,OAAO,IAAI,MAAM,EAAE,GAAG;AACnD,cAAQ,KAAK;AACb,aAAO;AACP,WAAK,OAAO,QAAQ,eAAe,OAAO,MAAM,OAAO,IAAI;AAC3D,aAAO,KAAK,WAAW,OAAO,MAAM,QAAQ;;AAE9C,WAAO;;AAGT,sBAAoB,QAAQ;AAC1B,WAAO,UAAU,OAAO,aAAa,UAAa,OAAO,WAAW;;AAGtE,mBAAiB,MAAM,QAAQ,YAAY;AACzC,QAAI,SAAS,GAAG;AACd,aAAO,KAAK;;AAEd,WAAQ,QAAO,iBAAiB,IAAI,MAAO,QAAO,OAAO,aAAa,IAAI;;AAG5E,uBAAqB,YAAY;AAC/B,QAAI,SAAS,QAAO,KAAK,MAAK;AAC9B,QAAI,WAAW,YAAY;AACzB,gBAAU,WAAW,OAAO,WAAW;AACvC,eAAQ;AACR,YAAM;WACD;AACL,gBAAU,WAAW,OAAO,WAAW;AACvC,eAAQ;AACR,YAAM;;AAER,QAAI,SAAS;AACX,aAAM;AACN,eAAS;WACJ;AACL,aAAM;AACN,eAAS;;AAEX,WAAO;MAAC;MAAO;MAAK;MAAS;MAAK;;;AAGpC,4BAA0B,YAAY,SAAS,OAAO,QAAO;AAC3D,QAAI,OAAO,QAAQ;AACnB,UAAM,MAAM;AAEZ,QAAI,CAAC,MAAM;AACT,iBAAW,gBAAgB;AAC3B;;AAGF,QAAI,SAAS,MAAM;AACjB,iBAAW,gBAAgB;QAAC,KAAK;QAAM,OAAO;QAAM,QAAQ;QAAM,MAAM;;AACxE;;AAGF,UAAM,EAAC,eAAO,KAAK,SAAS,WAAK,WAAU,YAAY;AAEvD,QAAI,SAAS,YAAY,OAAO;AAC9B,iBAAW,qBAAqB;AAChC,UAAK,OAAM,QAAQ,OAAO,QAAO;AAC/B,eAAO;iBACG,OAAM,WAAW,OAAO,QAAO;AACzC,eAAO;aACF;AACL,YAAI,UAAU,QAAQ,QAAO,KAAK,YAAY;AAC9C,eAAO;;;AAIX,QAAI,UAAU,MAAM,QAAO,KAAK,YAAY;AAC5C,eAAW,gBAAgB;;AAG7B,qBAAmB,MAAM,GAAG,GAAG,SAAS;AACtC,QAAI,SAAS;AACX,aAAO,KAAK,MAAM,GAAG;AACrB,aAAO,SAAS,MAAM,GAAG;WACpB;AACL,aAAO,SAAS,MAAM,GAAG;;AAE3B,WAAO;;AAGT,gBAAc,MAAM,IAAI,IAAI;AAC1B,WAAO,SAAS,KAAK,KAAK,SAAS,KAAK,KAAK;;AAG/C,oBAAkB,GAAG,QAAO,KAAK;AAC/B,WAAO,MAAM,UAAU,SAAQ,MAAM,QAAQ,MAAM;;AAGrD,4BAA0B,YAAY,EAAC,iBAAgB,OAAO;AAC5D,eAAW,gBAAgB,kBAAkB,SACzC,UAAU,IAAI,OAAO,IACrB;;AAGS,oCAA4B,kBAAA;IAgDzC,mBAAmB,OAAM,MAAM,QAAO,OAAO;AAC3C,aAAO,sBAAsB,OAAM,MAAM,QAAO;;IAQlD,eAAe,OAAM,MAAM,QAAO,OAAO;AACvC,aAAO,sBAAsB,OAAM,MAAM,QAAO;;IAQlD,gBAAgB,OAAM,MAAM,QAAO,OAAO;AACxC,YAAM,EAAC,QAAQ,WAAU;AACzB,YAAM,EAAC,WAAW,KAAK,WAAW,QAAO,KAAK;AAC9C,YAAM,WAAW,OAAO,SAAS,MAAM,WAAW;AAClD,YAAM,WAAW,OAAO,SAAS,MAAM,WAAW;AAClD,YAAM,SAAS;AACf,UAAI,GAAG,MAAM,MAAM;AACnB,WAAK,IAAI,QAAO,OAAO,SAAQ,OAAO,IAAI,MAAM,EAAE,GAAG;AACnD,cAAM,KAAK;AACX,eAAO;AACP,aAAK,OAAO,QAAQ,OAAO,MAAM,iBAAiB,KAAK,WAAW;AAClE,eAAO,KAAK,WAAW,iBAAiB,KAAK,WAAW,MAAM,QAAQ;;AAExE,aAAO;;IAMT,sBAAsB,SAAO,OAAO,QAAQ,OAAO;AACjD,YAAM,sBAAsB,SAAO,OAAO,QAAQ;AAClD,YAAM,SAAS,OAAO;AACtB,UAAI,UAAU,UAAU,KAAK,YAAY,QAAQ;AAE/C,gBAAM,MAAM,KAAK,IAAI,QAAM,KAAK,OAAO;AACvC,gBAAM,MAAM,KAAK,IAAI,QAAM,KAAK,OAAO;;;IAQ3C,iBAAiB;AACf,aAAO;;IAMT,iBAAiB,QAAO;AACtB,YAAM,QAAO,KAAK;AAClB,YAAM,EAAC,QAAQ,WAAU;AACzB,YAAM,SAAS,KAAK,UAAU;AAC9B,YAAM,SAAS,OAAO;AACtB,YAAM,QAAQ,WAAW,UACrB,MAAM,OAAO,QAAQ,OAAO,OAAO,MAAM,MACzC,KAAK,OAAO,iBAAiB,OAAO,OAAO;AAE/C,aAAO;QACL,OAAO,KAAK,OAAO,iBAAiB,OAAO,OAAO;QAClD;;;IAIJ,aAAa;AACX,WAAK,sBAAsB;AAE3B,YAAM;AAEN,YAAM,QAAO,KAAK;AAClB,YAAK,QAAQ,KAAK,aAAa;;IAGjC,OAAO,MAAM;AACX,YAAM,QAAO,KAAK;AAClB,WAAK,eAAe,MAAK,MAAM,GAAG,MAAK,KAAK,QAAQ;;IAGtD,eAAe,MAAM,QAAO,OAAO,MAAM;AACvC,YAAM,QAAQ,SAAS;AACvB,YAAM,EAAC,eAAO,aAAa,EAAC,aAAW;AACvC,YAAM,QAAO,OAAO;AACpB,YAAM,aAAa,OAAO;AAC1B,YAAM,QAAQ,KAAK;AACnB,YAAM,EAAC,eAAe,mBAAkB,KAAK,kBAAkB,QAAO;AAEtE,eAAS,IAAI,QAAO,IAAI,SAAQ,OAAO,KAAK;AAC1C,cAAM,SAAS,KAAK,UAAU;AAC9B,cAAM,UAAU,SAAS,cAAc,OAAO,OAAO,SAAS;UAAC;UAAM,MAAM;YAAQ,KAAK,yBAAyB;AACjH,cAAM,UAAU,KAAK,yBAAyB,GAAG;AACjD,cAAM,QAAS,QAAO,WAAW,IAAI,OAAO;AAE5C,cAAM,aAAa;UACjB;UACA,MAAM,QAAQ;UACd,oBAAoB,CAAC,SAAS,WAAW,OAAO,YAAa,WAAU,MAAM,QAAQ,WAAU,MAAM;UACrG,GAAG,aAAa,QAAQ,OAAO,QAAQ;UACvC,GAAG,aAAa,QAAQ,SAAS,QAAQ;UACzC,QAAQ,aAAa,QAAQ,OAAO,KAAK,IAAI,QAAQ;UACrD,OAAO,aAAa,KAAK,IAAI,QAAQ,QAAQ,QAAQ;;AAGvD,YAAI,gBAAgB;AAClB,qBAAW,UAAU,iBAAiB,KAAK,0BAA0B,GAAG,KAAK,GAAG,SAAS,WAAW;;AAEtG,cAAM,UAAU,WAAW,WAAW,KAAK,GAAG;AAC9C,yBAAiB,YAAY,SAAS,OAAO;AAC7C,yBAAiB,YAAY,SAAS,MAAM;AAC5C,aAAK,cAAc,KAAK,IAAI,GAAG,YAAY;;;IAW/C,WAAW,MAAM,WAAW;AAC1B,YAAM,EAAC,WAAU,KAAK;AACtB,YAAM,WAAW,OAAO,wBAAwB,KAAK,OAClD,OAAO,CAAA,UAAQ,MAAK,WAAW,QAAQ;AAC1C,YAAM,UAAU,OAAO,QAAQ;AAC/B,YAAM,SAAS;AAEf,YAAM,WAAW,CAAC,UAAS;AACzB,cAAM,SAAS,MAAK,WAAW,UAAU;AACzC,cAAM,MAAM,UAAU,OAAO,MAAK,OAAO;AAEzC,YAAI,cAAc,QAAQ,MAAM,MAAM;AACpC,iBAAO;;;AAIX,iBAAW,SAAQ,UAAU;AAC3B,YAAI,cAAc,UAAa,SAAS,QAAO;AAC7C;;AAQF,YAAI,YAAY,SAAS,OAAO,QAAQ,MAAK,WAAW,MACzD,YAAY,UAAa,MAAK,UAAU,QAAY;AACjD,iBAAO,KAAK,MAAK;;AAEnB,YAAI,MAAK,UAAU,MAAM;AACvB;;;AAOJ,UAAI,CAAC,OAAO,QAAQ;AAClB,eAAO,KAAK;;AAGd,aAAO;;IAOT,eAAe,QAAO;AACpB,aAAO,KAAK,WAAW,QAAW,QAAO;;IAW3C,eAAe,cAAc,OAAM,WAAW;AAC5C,YAAM,SAAS,KAAK,WAAW,cAAc;AAC7C,YAAM,SAAQ,UAAU,SACpB,OAAO,QAAQ,SACf;AAEJ,aAAQ,WAAU,KACd,OAAO,SAAS,IAChB;;IAMN,YAAY;AACV,YAAM,OAAO,KAAK;AAClB,YAAM,QAAO,KAAK;AAClB,YAAM,SAAS,MAAK;AACpB,YAAM,SAAS;AACf,UAAI,GAAG;AAEP,WAAK,IAAI,GAAG,OAAO,MAAK,KAAK,QAAQ,IAAI,MAAM,EAAE,GAAG;AAClD,eAAO,KAAK,OAAO,iBAAiB,KAAK,UAAU,GAAG,OAAO,OAAO;;AAGtE,YAAM,eAAe,KAAK;AAC1B,YAAM,MAAM,gBAAgB,qBAAqB;AAEjD,aAAO;QACL;QACA;QACA,OAAO,OAAO;QACd,KAAK,OAAO;QACZ,YAAY,KAAK;QACjB,OAAO;QACP,SAAS,KAAK;QAEd,OAAO,eAAe,IAAI,KAAK,qBAAqB,KAAK;;;IAQ7D,yBAAyB,QAAO;AAC9B,YAAM,EAAC,aAAa,EAAC,QAAQ,UAAU,OAAO,gBAAe,SAAS,EAAC,MAAM,WAAW,mBAAiB;AACzG,YAAM,aAAa,aAAa;AAChC,YAAM,SAAS,KAAK,UAAU;AAC9B,YAAM,SAAS,OAAO;AACtB,YAAM,WAAW,WAAW;AAC5B,UAAI,QAAQ,OAAO,OAAO;AAC1B,UAAI,SAAQ;AACZ,UAAI,SAAS,WAAW,KAAK,WAAW,QAAQ,QAAQ,YAAY;AACpE,UAAI,MAAM;AAEV,UAAI,WAAW,OAAO;AACpB,iBAAQ,SAAS;AACjB,iBAAS;;AAGX,UAAI,UAAU;AACZ,gBAAQ,OAAO;AACf,iBAAS,OAAO,SAAS,OAAO;AAEhC,YAAI,UAAU,KAAK,KAAK,WAAW,KAAK,OAAO,SAAS;AACtD,mBAAQ;;AAEV,kBAAS;;AAGX,YAAM,aAAa,CAAC,cAAc,cAAc,CAAC,WAAW,YAAY;AACxE,UAAI,QAAO,OAAO,iBAAiB;AAEnC,UAAI,KAAK,MAAM,kBAAkB,SAAQ;AACvC,eAAO,OAAO,iBAAiB,SAAQ;aAClC;AAEL,eAAO;;AAGT,aAAO,OAAO;AAEd,UAAI,KAAK,IAAI,QAAQ,cAAc;AACjC,eAAO,QAAQ,MAAM,QAAQ,cAAc;AAC3C,YAAI,UAAU,YAAY;AACxB,mBAAQ,OAAO;;AAEjB,cAAM,aAAa,OAAO,mBAAmB;AAC7C,cAAM,WAAW,OAAO,mBAAmB;AAC3C,cAAM,MAAM,KAAK,IAAI,YAAY;AACjC,cAAM,MAAM,KAAK,IAAI,YAAY;AACjC,gBAAO,KAAK,IAAI,KAAK,IAAI,OAAM,MAAM;AACrC,eAAO,QAAO;AAEd,YAAI,YAAY,CAAC,UAAU;AAEzB,iBAAO,QAAQ,OAAO,MAAM,cAAc,gBAAgB,OAAO,iBAAiB,QAAQ,OAAO,iBAAiB;;;AAItH,UAAI,UAAS,OAAO,iBAAiB,aAAa;AAChD,cAAM,WAAW,KAAK,QAAQ,OAAO,qBAAqB,cAAc;AACxE,iBAAQ;AACR,gBAAQ;;AAGV,aAAO;QACL;QACA;QACA;QACA,QAAQ,OAAO,OAAO;;;IAO1B,yBAAyB,QAAO,OAAO;AACrC,YAAM,QAAQ,MAAM;AACpB,YAAM,UAAU,KAAK;AACrB,YAAM,WAAW,QAAQ;AACzB,YAAM,kBAAkB,eAAe,QAAQ,iBAAiB;AAChE,UAAI,QAAQ;AACZ,UAAI,MAAM,SAAS;AACjB,cAAM,aAAa,WAAW,KAAK,eAAe,UAAS,MAAM;AACjE,cAAM,UAAQ,QAAQ,iBAAiB,SACnC,0BAA0B,QAAO,OAAO,SAAS,cACjD,yBAAyB,QAAO,OAAO,SAAS;AAEpD,cAAM,aAAa,KAAK,eAAe,KAAK,OAAO,KAAK,YAAY,OAAO,WAAW,SAAQ;AAC9F,iBAAS,QAAM,QAAS,QAAM,QAAQ,aAAe,QAAM,QAAQ;AACnE,eAAO,KAAK,IAAI,iBAAiB,QAAM,QAAQ,QAAM;aAChD;AAEL,iBAAS,MAAM,iBAAiB,KAAK,UAAU,QAAO,MAAM,OAAO;AACnE,eAAO,KAAK,IAAI,iBAAiB,MAAM,MAAM,MAAM;;AAGrD,aAAO;QACL,MAAM,SAAS,OAAO;QACtB,MAAM,SAAS,OAAO;QACtB;QACA;;;IAIJ,OAAO;AACL,YAAM,QAAO,KAAK;AAClB,YAAM,SAAS,MAAK;AACpB,YAAM,QAAQ,MAAK;AACnB,YAAM,OAAO,MAAM;AACnB,UAAI,IAAI;AAER,aAAO,IAAI,MAAM,EAAE,GAAG;AACpB,YAAI,KAAK,UAAU,GAAG,OAAO,UAAU,QAAQ,CAAC,MAAM,GAAG,QAAQ;AAC/D,gBAAM,GAAG,KAAK,KAAK;;;;;AAvYlB,gBAFM,eAEN,MAAK;AAKL,gBAPM,eAON,YAAW;IAChB,oBAAoB;IACpB,iBAAiB;IAEjB,oBAAoB;IACpB,eAAe;IACf,SAAS;IAET,YAAY;MACV,SAAS;QACP,MAAM;QACN,YAAY;UAAC;UAAK;UAAK;UAAQ;UAAS;;;;;AAQvC,gBA1BM,eA0BN,aAAY;IACjB,QAAQ;MACN,SAAS;QACP,MAAM;QACN,QAAQ;QACR,MAAM;UACJ,QAAQ;;;MAGZ,SAAS;QACP,MAAM;QACN,aAAa;;;;ACnSN,uCAA+B,kBAAA;IAiC5C,aAAa;AACX,WAAK,sBAAsB;AAC3B,YAAM;;IAOR,mBAAmB,OAAM,MAAM,QAAO,OAAO;AAC3C,YAAM,SAAS,MAAM,mBAAmB,OAAM,MAAM,QAAO;AAC3D,eAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,eAAO,GAAG,UAAU,KAAK,0BAA0B,IAAI,QAAO;;AAEhE,aAAO;;IAOT,eAAe,OAAM,MAAM,QAAO,OAAO;AACvC,YAAM,SAAS,MAAM,eAAe,OAAM,MAAM,QAAO;AACvD,eAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,cAAM,OAAO,KAAK,SAAQ;AAC1B,eAAO,GAAG,UAAU,eAAe,KAAK,IAAI,KAAK,0BAA0B,IAAI,QAAO;;AAExF,aAAO;;IAOT,gBAAgB,OAAM,MAAM,QAAO,OAAO;AACxC,YAAM,SAAS,MAAM,gBAAgB,OAAM,MAAM,QAAO;AACxD,eAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,cAAM,OAAO,KAAK,SAAQ;AAC1B,eAAO,GAAG,UAAU,eAAe,QAAQ,KAAK,KAAK,CAAC,KAAK,GAAG,KAAK,0BAA0B,IAAI,QAAO;;AAE1G,aAAO;;IAMT,iBAAiB;AACf,YAAM,OAAO,KAAK,YAAY;AAE9B,UAAI,MAAM;AACV,eAAS,IAAI,KAAK,SAAS,GAAG,KAAK,GAAG,EAAE,GAAG;AACzC,cAAM,KAAK,IAAI,KAAK,KAAK,GAAG,KAAK,KAAK,0BAA0B,MAAM;;AAExE,aAAO,MAAM,KAAK;;IAMpB,iBAAiB,QAAO;AACtB,YAAM,QAAO,KAAK;AAClB,YAAM,SAAS,KAAK,MAAM,KAAK,UAAU;AACzC,YAAM,EAAC,QAAQ,WAAU;AACzB,YAAM,SAAS,KAAK,UAAU;AAC9B,YAAM,IAAI,OAAO,iBAAiB,OAAO;AACzC,YAAM,KAAI,OAAO,iBAAiB,OAAO;AACzC,YAAM,IAAI,OAAO;AAEjB,aAAO;QACL,OAAO,OAAO,WAAU;QACxB,OAAO,MAAM,IAAI,OAAO,KAAK,KAAI,OAAO,IAAI,MAAM;;;IAItD,OAAO,MAAM;AACX,YAAM,SAAS,KAAK,YAAY;AAGhC,WAAK,eAAe,QAAQ,GAAG,OAAO,QAAQ;;IAGhD,eAAe,QAAQ,QAAO,OAAO,MAAM;AACzC,YAAM,QAAQ,SAAS;AACvB,YAAM,EAAC,QAAQ,WAAU,KAAK;AAC9B,YAAM,EAAC,eAAe,mBAAkB,KAAK,kBAAkB,QAAO;AACtE,YAAM,QAAQ,OAAO;AACrB,YAAM,QAAQ,OAAO;AAErB,eAAS,IAAI,QAAO,IAAI,SAAQ,OAAO,KAAK;AAC1C,cAAM,QAAQ,OAAO;AACrB,cAAM,SAAS,CAAC,SAAS,KAAK,UAAU;AACxC,cAAM,aAAa;AACnB,cAAM,SAAS,WAAW,SAAS,QAAQ,OAAO,mBAAmB,OAAO,OAAO,iBAAiB,OAAO;AAC3G,cAAM,SAAS,WAAW,SAAS,QAAQ,OAAO,iBAAiB,OAAO,iBAAiB,OAAO;AAElG,mBAAW,OAAO,MAAM,WAAW,MAAM;AAEzC,YAAI,gBAAgB;AAClB,qBAAW,UAAU,iBAAiB,KAAK,0BAA0B,GAAG,MAAM,SAAS,WAAW;AAElG,cAAI,OAAO;AACT,uBAAW,QAAQ,SAAS;;;AAIhC,aAAK,cAAc,OAAO,GAAG,YAAY;;;IAS7C,0BAA0B,QAAO,MAAM;AACrC,YAAM,SAAS,KAAK,UAAU;AAC9B,UAAI,SAAS,MAAM,0BAA0B,QAAO;AAGpD,UAAI,OAAO,SAAS;AAClB,iBAAS,OAAO,OAAO,IAAI,QAAQ;UAAC,SAAS;;;AAI/C,YAAM,SAAS,OAAO;AACtB,UAAI,SAAS,UAAU;AACrB,eAAO,SAAS;;AAElB,aAAO,UAAU,eAAe,UAAU,OAAO,SAAS;AAE1D,aAAO;;;AAjKF,gBAFM,kBAEN,MAAK;AAKL,gBAPM,kBAON,YAAW;IAChB,oBAAoB;IACpB,iBAAiB;IAEjB,YAAY;MACV,SAAS;QACP,MAAM;QACN,YAAY;UAAC;UAAK;UAAK;UAAe;;;;;AAQrC,gBAtBM,kBAsBN,aAAY;IACjB,QAAQ;MACN,GAAG;QACD,MAAM;;MAER,GAAG;QACD,MAAM;;;;ACtBd,6BAA2B,UAAU,eAAe,QAAQ;AAC1D,QAAI,SAAS;AACb,QAAI,SAAS;AACb,QAAI,UAAU;AACd,QAAI,UAAU;AAEd,QAAI,gBAAgB,KAAK;AACvB,YAAM,aAAa;AACnB,YAAM,WAAW,aAAa;AAC9B,YAAM,SAAS,KAAK,IAAI;AACxB,YAAM,SAAS,KAAK,IAAI;AACxB,YAAM,OAAO,KAAK,IAAI;AACtB,YAAM,OAAO,KAAK,IAAI;AACtB,YAAM,UAAU,CAAC,OAAO,GAAG,MAAM,cAAc,OAAO,YAAY,UAAU,QAAQ,IAAI,KAAK,IAAI,GAAG,IAAI,QAAQ,GAAG,IAAI;AACvH,YAAM,UAAU,CAAC,OAAO,GAAG,MAAM,cAAc,OAAO,YAAY,UAAU,QAAQ,KAAK,KAAK,IAAI,GAAG,IAAI,QAAQ,GAAG,IAAI;AACxH,YAAM,OAAO,QAAQ,GAAG,QAAQ;AAChC,YAAM,OAAO,QAAQ,SAAS,QAAQ;AACtC,YAAM,OAAO,QAAQ,IAAI,QAAQ;AACjC,YAAM,OAAO,QAAQ,KAAK,SAAS,QAAQ;AAC3C,eAAU,QAAO,QAAQ;AACzB,eAAU,QAAO,QAAQ;AACzB,gBAAU,CAAE,QAAO,QAAQ;AAC3B,gBAAU,CAAE,QAAO,QAAQ;;AAE7B,WAAO;MAAC;MAAQ;MAAQ;MAAS;;;AAGpB,yCAAiC,kBAAA;IA0F9C,YAAY,OAAO,cAAc;AAC/B,YAAM,OAAO;AAEb,WAAK,sBAAsB;AAC3B,WAAK,cAAc;AACnB,WAAK,cAAc;AACnB,WAAK,UAAU;AACf,WAAK,UAAU;;IAGjB,aAAa;;IAKb,MAAM,QAAO,OAAO;AAClB,YAAM,OAAO,KAAK,aAAa;AAC/B,YAAM,QAAO,KAAK;AAElB,UAAI,KAAK,aAAa,OAAO;AAC3B,cAAK,UAAU;aACV;AACL,YAAI,SAAS,CAAC,OAAM,CAAC,KAAK;AAE1B,YAAI,UAAS,KAAK,UAAS;AACzB,gBAAM,EAAC,MAAM,YAAW,KAAK;AAC7B,mBAAS,CAAC,OAAM,CAAC,iBAAiB,KAAK,KAAI;;AAG7C,YAAI,GAAG;AACP,aAAK,IAAI,QAAO,OAAO,SAAQ,OAAO,IAAI,MAAM,EAAE,GAAG;AACnD,gBAAK,QAAQ,KAAK,OAAO;;;;IAQ/B,eAAe;AACb,aAAO,UAAU,KAAK,QAAQ,WAAW;;IAM3C,oBAAoB;AAClB,aAAO,UAAU,KAAK,QAAQ;;IAOhC,sBAAsB;AACpB,UAAI,MAAM;AACV,UAAI,MAAM,CAAC;AAEX,eAAS,IAAI,GAAG,IAAI,KAAK,MAAM,KAAK,SAAS,QAAQ,EAAE,GAAG;AACxD,YAAI,KAAK,MAAM,iBAAiB,MAAM,KAAK,MAAM,eAAe,GAAG,SAAS,KAAK,OAAO;AACtF,gBAAM,aAAa,KAAK,MAAM,eAAe,GAAG;AAChD,gBAAM,WAAW,WAAW;AAC5B,gBAAM,gBAAgB,WAAW;AAEjC,gBAAM,KAAK,IAAI,KAAK;AACpB,gBAAM,KAAK,IAAI,KAAK,WAAW;;;AAInC,aAAO;QACL,UAAU;QACV,eAAe,MAAM;;;IAOzB,OAAO,MAAM;AACX,YAAM,QAAQ,KAAK;AACnB,YAAM,EAAC,cAAa;AACpB,YAAM,QAAO,KAAK;AAClB,YAAM,OAAO,MAAK;AAClB,YAAM,UAAU,KAAK,sBAAsB,KAAK,aAAa,QAAQ,KAAK,QAAQ;AAClF,YAAM,UAAU,KAAK,IAAK,MAAK,IAAI,UAAU,OAAO,UAAU,UAAU,WAAW,GAAG;AACtF,YAAM,SAAS,KAAK,IAAI,aAAa,KAAK,QAAQ,QAAQ,UAAU;AACpE,YAAM,cAAc,KAAK,eAAe,KAAK;AAK7C,YAAM,EAAC,eAAe,aAAY,KAAK;AACvC,YAAM,EAAC,QAAQ,QAAQ,SAAS,YAAW,kBAAkB,UAAU,eAAe;AACtF,YAAM,WAAY,WAAU,QAAQ,WAAW;AAC/C,YAAM,YAAa,WAAU,SAAS,WAAW;AACjD,YAAM,YAAY,KAAK,IAAI,KAAK,IAAI,UAAU,aAAa,GAAG;AAC9D,YAAM,cAAc,YAAY,KAAK,QAAQ,QAAQ;AACrD,YAAM,cAAc,KAAK,IAAI,cAAc,QAAQ;AACnD,YAAM,eAAgB,eAAc,eAAe,KAAK;AACxD,WAAK,UAAU,UAAU;AACzB,WAAK,UAAU,UAAU;AAEzB,YAAK,QAAQ,KAAK;AAElB,WAAK,cAAc,cAAc,eAAe,KAAK,qBAAqB,KAAK;AAC/E,WAAK,cAAc,KAAK,IAAI,KAAK,cAAc,eAAe,aAAa;AAE3E,WAAK,eAAe,MAAM,GAAG,KAAK,QAAQ;;IAM5C,eAAe,GAAG,OAAO;AACvB,YAAM,OAAO,KAAK;AAClB,YAAM,QAAO,KAAK;AAClB,YAAM,gBAAgB,KAAK;AAC3B,UAAI,SAAU,KAAK,UAAU,iBAAkB,CAAC,KAAK,MAAM,kBAAkB,MAAM,MAAK,QAAQ,OAAO,QAAQ,MAAK,KAAK,GAAG,QAAQ;AAClI,eAAO;;AAET,aAAO,KAAK,uBAAuB,MAAK,QAAQ,KAAK,gBAAgB;;IAGvE,eAAe,MAAM,QAAO,OAAO,MAAM;AACvC,YAAM,QAAQ,SAAS;AACvB,YAAM,QAAQ,KAAK;AACnB,YAAM,YAAY,MAAM;AACxB,YAAM,OAAO,MAAM;AACnB,YAAM,gBAAgB,KAAK;AAC3B,YAAM,UAAW,WAAU,OAAO,UAAU,SAAS;AACrD,YAAM,UAAW,WAAU,MAAM,UAAU,UAAU;AACrD,YAAM,eAAe,SAAS,cAAc;AAC5C,YAAM,cAAc,eAAe,IAAI,KAAK;AAC5C,YAAM,cAAc,eAAe,IAAI,KAAK;AAC5C,YAAM,EAAC,eAAe,mBAAkB,KAAK,kBAAkB,QAAO;AACtE,UAAI,aAAa,KAAK;AACtB,UAAI;AAEJ,WAAK,IAAI,GAAG,IAAI,QAAO,EAAE,GAAG;AAC1B,sBAAc,KAAK,eAAe,GAAG;;AAGvC,WAAK,IAAI,QAAO,IAAI,SAAQ,OAAO,EAAE,GAAG;AACtC,cAAM,gBAAgB,KAAK,eAAe,GAAG;AAC7C,cAAM,MAAM,KAAK;AACjB,cAAM,aAAa;UACjB,GAAG,UAAU,KAAK;UAClB,GAAG,UAAU,KAAK;UAClB;UACA,UAAU,aAAa;UACvB;UACA;UACA;;AAEF,YAAI,gBAAgB;AAClB,qBAAW,UAAU,iBAAiB,KAAK,0BAA0B,GAAG,IAAI,SAAS,WAAW;;AAElG,sBAAc;AAEd,aAAK,cAAc,KAAK,GAAG,YAAY;;;IAI3C,iBAAiB;AACf,YAAM,QAAO,KAAK;AAClB,YAAM,WAAW,MAAK;AACtB,UAAI,QAAQ;AACZ,UAAI;AAEJ,WAAK,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACpC,cAAM,QAAQ,MAAK,QAAQ;AAC3B,YAAI,UAAU,QAAQ,CAAC,MAAM,UAAU,KAAK,MAAM,kBAAkB,MAAM,CAAC,SAAS,GAAG,QAAQ;AAC7F,mBAAS,KAAK,IAAI;;;AAItB,aAAO;;IAGT,uBAAuB,OAAO;AAC5B,YAAM,QAAQ,KAAK,YAAY;AAC/B,UAAI,QAAQ,KAAK,CAAC,MAAM,QAAQ;AAC9B,eAAO,MAAO,MAAK,IAAI,SAAS;;AAElC,aAAO;;IAGT,iBAAiB,QAAO;AACtB,YAAM,QAAO,KAAK;AAClB,YAAM,QAAQ,KAAK;AACnB,YAAM,SAAS,MAAM,KAAK,UAAU;AACpC,YAAM,QAAQ,cAAa,MAAK,QAAQ,SAAQ,MAAM,QAAQ;AAE9D,aAAO;QACL,OAAO,OAAO,WAAU;QACxB;;;IAIJ,kBAAkB,MAAM;AACtB,UAAI,MAAM;AACV,YAAM,QAAQ,KAAK;AACnB,UAAI,GAAG,MAAM,OAAM,YAAY;AAE/B,UAAI,CAAC,MAAM;AAET,aAAK,IAAI,GAAG,OAAO,MAAM,KAAK,SAAS,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC5D,cAAI,MAAM,iBAAiB,IAAI;AAC7B,oBAAO,MAAM,eAAe;AAC5B,mBAAO,MAAK;AACZ,yBAAa,MAAK;AAClB;;;;AAKN,UAAI,CAAC,MAAM;AACT,eAAO;;AAGT,WAAK,IAAI,GAAG,OAAO,KAAK,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC7C,kBAAU,WAAW,0BAA0B;AAC/C,YAAI,QAAQ,gBAAgB,SAAS;AACnC,gBAAM,KAAK,IAAI,KAAK,QAAQ,eAAe,GAAG,QAAQ,oBAAoB;;;AAG9E,aAAO;;IAGT,aAAa,MAAM;AACjB,UAAI,MAAM;AAEV,eAAS,IAAI,GAAG,OAAO,KAAK,QAAQ,IAAI,MAAM,EAAE,GAAG;AACjD,cAAM,UAAU,KAAK,0BAA0B;AAC/C,cAAM,KAAK,IAAI,KAAK,QAAQ,UAAU,GAAG,QAAQ,eAAe;;AAElE,aAAO;;IAOT,qBAAqB,cAAc;AACjC,UAAI,mBAAmB;AAEvB,eAAS,IAAI,GAAG,IAAI,cAAc,EAAE,GAAG;AACrC,YAAI,KAAK,MAAM,iBAAiB,IAAI;AAClC,8BAAoB,KAAK,eAAe;;;AAI5C,aAAO;;IAMT,eAAe,cAAc;AAC3B,aAAO,KAAK,IAAI,eAAe,KAAK,MAAM,KAAK,SAAS,cAAc,QAAQ,IAAI;;IAOpF,gCAAgC;AAC9B,aAAO,KAAK,qBAAqB,KAAK,MAAM,KAAK,SAAS,WAAW;;;AAnWhE,gBAFM,oBAEN,MAAK;AAKL,gBAPM,oBAON,YAAW;IAChB,oBAAoB;IACpB,iBAAiB;IACjB,WAAW;MAET,eAAe;MAEf,cAAc;;IAEhB,YAAY;MACV,SAAS;QACP,MAAM;QACN,YAAY;UAAC;UAAiB;UAAY;UAAe;UAAe;UAAc;UAAK;UAAK;UAAU;UAAe;;;;IAI7H,QAAQ;IAGR,UAAU;IAGV,eAAe;IAGf,QAAQ;IAGR,SAAS;IAET,WAAW;;AAGN,gBAxCM,oBAwCN,eAAc;IACnB,aAAa,CAAC,UAAS,UAAS;IAChC,YAAY,CAAC,UAAS,UAAS,aAAa,CAAC,MAAK,WAAW,iBAAiB,CAAC,MAAK,WAAW;;AAM1F,gBAhDM,oBAgDN,aAAY;IACjB,aAAa;IAGb,SAAS;MACP,QAAQ;QACN,QAAQ;UACN,eAAe,OAAO;AACpB,kBAAM,OAAO,MAAM;AACnB,gBAAI,KAAK,OAAO,UAAU,KAAK,SAAS,QAAQ;AAC9C,oBAAM,EAAC,QAAQ,EAAC,YAAY,qBAAU,MAAM,OAAO;AAEnD,qBAAO,KAAK,OAAO,IAAI,CAAC,OAAO,MAAM;AACnC,sBAAM,QAAO,MAAM,eAAe;AAClC,sBAAM,QAAQ,MAAK,WAAW,SAAS;AAEvC,uBAAO;kBACL,MAAM;kBACN,WAAW,MAAM;kBACjB,aAAa,MAAM;kBACnB,WAAW;kBACX,WAAW,MAAM;kBACjB;kBACA,QAAQ,CAAC,MAAM,kBAAkB;kBAGjC,OAAO;;;;AAIb,mBAAO;;;QAIX,QAAQ,GAAG,YAAY,QAAQ;AAC7B,iBAAO,MAAM,qBAAqB,WAAW;AAC7C,iBAAO,MAAM;;;;;ACnHR,qCAA6B,kBAAA;IA6B1C,aAAa;AACX,WAAK,sBAAsB;AAC3B,WAAK,qBAAqB;AAC1B,YAAM;;IAGR,OAAO,MAAM;AACX,YAAM,QAAO,KAAK;AAClB,YAAM,EAAC,SAAS,MAAM,MAAM,SAAS,IAAI,aAAY;AAErD,YAAM,qBAAqB,KAAK,MAAM;AACtC,UAAI,EAAC,eAAO,UAAS,iCAAiC,OAAM,QAAQ;AAEpE,WAAK,aAAa;AAClB,WAAK,aAAa;AAElB,UAAI,oBAAoB,QAAO;AAC7B,iBAAQ;AACR,gBAAQ,OAAO;;AAIjB,WAAK,SAAS,KAAK;AACnB,WAAK,gBAAgB,KAAK;AAC1B,WAAK,aAAa,CAAC,CAAC,SAAS;AAC7B,WAAK,SAAS;AAEd,YAAM,UAAU,KAAK,6BAA6B;AAClD,UAAI,CAAC,KAAK,QAAQ,UAAU;AAC1B,gBAAQ,cAAc;;AAExB,cAAQ,UAAU,KAAK,QAAQ;AAC/B,WAAK,cAAc,MAAM,QAAW;QAClC,UAAU,CAAC;QACX;SACC;AAGH,WAAK,eAAe,QAAQ,QAAO,OAAO;;IAG5C,eAAe,QAAQ,QAAO,OAAO,MAAM;AACzC,YAAM,QAAQ,SAAS;AACvB,YAAM,EAAC,QAAQ,QAAQ,UAAU,aAAY,KAAK;AAClD,YAAM,EAAC,eAAe,mBAAkB,KAAK,kBAAkB,QAAO;AACtE,YAAM,QAAQ,OAAO;AACrB,YAAM,QAAQ,OAAO;AACrB,YAAM,EAAC,UAAU,YAAW,KAAK;AACjC,YAAM,eAAe,UAAS,YAAY,WAAW,OAAO;AAC5D,YAAM,eAAe,KAAK,MAAM,uBAAuB,SAAS,SAAS;AACzE,YAAM,MAAM,SAAQ;AACpB,YAAM,cAAc,OAAO;AAC3B,UAAI,aAAa,SAAQ,KAAK,KAAK,UAAU,SAAQ;AAErD,eAAS,IAAI,GAAG,IAAI,aAAa,EAAE,GAAG;AACpC,cAAM,QAAQ,OAAO;AACrB,cAAM,aAAa,eAAe,QAAQ;AAE1C,YAAI,IAAI,UAAS,KAAK,KAAK;AACzB,qBAAW,OAAO;AAClB;;AAGF,cAAM,SAAS,KAAK,UAAU;AAC9B,cAAM,WAAW,cAAc,OAAO;AACtC,cAAM,SAAS,WAAW,SAAS,OAAO,iBAAiB,OAAO,QAAQ;AAC1E,cAAM,SAAS,WAAW,SAAS,SAAS,WAAW,OAAO,iBAAiB,OAAO,iBAAiB,WAAW,KAAK,WAAW,QAAQ,QAAQ,YAAY,OAAO,QAAQ;AAE7K,mBAAW,OAAO,MAAM,WAAW,MAAM,WAAW;AACpD,mBAAW,OAAO,IAAI,KAAK,KAAM,IAAI,OAAO,SAAS,WAAW,UAAW;AAC3E,YAAI,SAAS;AACX,qBAAW,SAAS;AACpB,qBAAW,MAAM,SAAS,KAAK;;AAGjC,YAAI,gBAAgB;AAClB,qBAAW,UAAU,iBAAiB,KAAK,0BAA0B,GAAG,MAAM,SAAS,WAAW;;AAGpG,YAAI,CAAC,cAAc;AACjB,eAAK,cAAc,OAAO,GAAG,YAAY;;AAG3C,qBAAa;;;IAOjB,iBAAiB;AACf,YAAM,QAAO,KAAK;AAClB,YAAM,UAAU,MAAK;AACrB,YAAM,SAAS,QAAQ,WAAW,QAAQ,QAAQ,eAAe;AACjE,YAAM,OAAO,MAAK,QAAQ;AAC1B,UAAI,CAAC,KAAK,QAAQ;AAChB,eAAO;;AAET,YAAM,aAAa,KAAK,GAAG,KAAK,KAAK,0BAA0B;AAC/D,YAAM,YAAY,KAAK,KAAK,SAAS,GAAG,KAAK,KAAK,0BAA0B,KAAK,SAAS;AAC1F,aAAO,KAAK,IAAI,QAAQ,YAAY,aAAa;;IAGnD,OAAO;AACL,YAAM,QAAO,KAAK;AAClB,YAAK,QAAQ,oBAAoB,KAAK,MAAM,WAAW,MAAK,OAAO;AACnE,YAAM;;;AArID,gBAFM,gBAEN,MAAK;AAKL,gBAPM,gBAON,YAAW;IAChB,oBAAoB;IACpB,iBAAiB;IAEjB,UAAU;IACV,UAAU;;AAML,gBAlBM,gBAkBN,aAAY;IACjB,QAAQ;MACN,SAAS;QACP,MAAM;;MAER,SAAS;QACP,MAAM;;;;AC1BC,0CAAkC,kBAAA;IAoF/C,YAAY,OAAO,cAAc;AAC/B,YAAM,OAAO;AAEb,WAAK,cAAc;AACnB,WAAK,cAAc;;IAGrB,iBAAiB,QAAO;AACtB,YAAM,QAAO,KAAK;AAClB,YAAM,QAAQ,KAAK;AACnB,YAAM,SAAS,MAAM,KAAK,UAAU;AACpC,YAAM,QAAQ,cAAa,MAAK,QAAQ,QAAO,GAAG,MAAM,QAAQ;AAEhE,aAAO;QACL,OAAO,OAAO,WAAU;QACxB;;;IAIJ,gBAAgB,OAAM,MAAM,QAAO,OAAO;AACxC,aAAO,4BAA4B,KAAK,MAAM,OAAM,MAAM,QAAO;;IAGnE,OAAO,MAAM;AACX,YAAM,OAAO,KAAK,YAAY;AAE9B,WAAK;AACL,WAAK,eAAe,MAAM,GAAG,KAAK,QAAQ;;IAM5C,YAAY;AACV,YAAM,QAAO,KAAK;AAClB,YAAM,UAAQ;QAAC,KAAK,OAAO;QAAmB,KAAK,OAAO;;AAE1D,YAAK,KAAK,QAAQ,CAAC,SAAS,WAAU;AACpC,cAAM,SAAS,KAAK,UAAU,QAAO;AAErC,YAAI,CAAC,MAAM,WAAW,KAAK,MAAM,kBAAkB,SAAQ;AACzD,cAAI,SAAS,QAAM,KAAK;AACtB,oBAAM,MAAM;;AAGd,cAAI,SAAS,QAAM,KAAK;AACtB,oBAAM,MAAM;;;;AAKlB,aAAO;;IAMT,gBAAgB;AACd,YAAM,QAAQ,KAAK;AACnB,YAAM,YAAY,MAAM;AACxB,YAAM,OAAO,MAAM;AACnB,YAAM,UAAU,KAAK,IAAI,UAAU,QAAQ,UAAU,MAAM,UAAU,SAAS,UAAU;AAExF,YAAM,cAAc,KAAK,IAAI,UAAU,GAAG;AAC1C,YAAM,cAAc,KAAK,IAAI,KAAK,mBAAmB,cAAe,MAAQ,KAAK,mBAAoB,GAAG;AACxG,YAAM,eAAgB,eAAc,eAAe,MAAM;AAEzD,WAAK,cAAc,cAAe,eAAe,KAAK;AACtD,WAAK,cAAc,KAAK,cAAc;;IAGxC,eAAe,MAAM,QAAO,OAAO,MAAM;AACvC,YAAM,QAAQ,SAAS;AACvB,YAAM,QAAQ,KAAK;AACnB,YAAM,OAAO,MAAM;AACnB,YAAM,gBAAgB,KAAK;AAC3B,YAAM,QAAQ,KAAK,YAAY;AAC/B,YAAM,UAAU,MAAM;AACtB,YAAM,UAAU,MAAM;AACtB,YAAM,oBAAoB,MAAM,cAAc,KAAK,MAAM;AACzD,UAAI,QAAQ;AACZ,UAAI;AAEJ,YAAM,eAAe,MAAM,KAAK;AAEhC,WAAK,IAAI,GAAG,IAAI,QAAO,EAAE,GAAG;AAC1B,iBAAS,KAAK,cAAc,GAAG,MAAM;;AAEvC,WAAK,IAAI,QAAO,IAAI,SAAQ,OAAO,KAAK;AACtC,cAAM,MAAM,KAAK;AACjB,YAAI,aAAa;AACjB,YAAI,WAAW,QAAQ,KAAK,cAAc,GAAG,MAAM;AACnD,YAAI,cAAc,MAAM,kBAAkB,KAAK,MAAM,8BAA8B,KAAK,UAAU,GAAG,KAAK;AAC1G,gBAAQ;AAER,YAAI,OAAO;AACT,cAAI,cAAc,cAAc;AAC9B,0BAAc;;AAEhB,cAAI,cAAc,eAAe;AAC/B,yBAAa,WAAW;;;AAI5B,cAAM,aAAa;UACjB,GAAG;UACH,GAAG;UACH,aAAa;UACb;UACA;UACA;UACA,SAAS,KAAK,0BAA0B,GAAG,IAAI,SAAS,WAAW;;AAGrE,aAAK,cAAc,KAAK,GAAG,YAAY;;;IAI3C,uBAAuB;AACrB,YAAM,QAAO,KAAK;AAClB,UAAI,QAAQ;AAEZ,YAAK,KAAK,QAAQ,CAAC,SAAS,WAAU;AACpC,YAAI,CAAC,MAAM,KAAK,UAAU,QAAO,MAAM,KAAK,MAAM,kBAAkB,SAAQ;AAC1E;;;AAIJ,aAAO;;IAMT,cAAc,QAAO,MAAM,cAAc;AACvC,aAAO,KAAK,MAAM,kBAAkB,UAChC,UAAU,KAAK,0BAA0B,QAAO,MAAM,SAAS,gBAC/D;;;AA3NC,gBAFM,qBAEN,MAAK;AAKL,gBAPM,qBAON,YAAW;IAChB,iBAAiB;IACjB,WAAW;MACT,eAAe;MACf,cAAc;;IAEhB,YAAY;MACV,SAAS;QACP,MAAM;QACN,YAAY;UAAC;UAAK;UAAK;UAAc;UAAY;UAAe;;;;IAGpE,WAAW;IACX,YAAY;;AAMP,gBA1BM,qBA0BN,aAAY;IACjB,aAAa;IAEb,SAAS;MACP,QAAQ;QACN,QAAQ;UACN,eAAe,OAAO;AACpB,kBAAM,OAAO,MAAM;AACnB,gBAAI,KAAK,OAAO,UAAU,KAAK,SAAS,QAAQ;AAC9C,oBAAM,EAAC,QAAQ,EAAC,YAAY,qBAAU,MAAM,OAAO;AAEnD,qBAAO,KAAK,OAAO,IAAI,CAAC,OAAO,MAAM;AACnC,sBAAM,QAAO,MAAM,eAAe;AAClC,sBAAM,QAAQ,MAAK,WAAW,SAAS;AAEvC,uBAAO;kBACL,MAAM;kBACN,WAAW,MAAM;kBACjB,aAAa,MAAM;kBACnB,WAAW;kBACX,WAAW,MAAM;kBACjB;kBACA,QAAQ,CAAC,MAAM,kBAAkB;kBAGjC,OAAO;;;;AAIb,mBAAO;;;QAIX,QAAQ,GAAG,YAAY,QAAQ;AAC7B,iBAAO,MAAM,qBAAqB,WAAW;AAC7C,iBAAO,MAAM;;;;IAKnB,QAAQ;MACN,GAAG;QACD,MAAM;QACN,YAAY;UACV,SAAS;;QAEX,aAAa;QACb,MAAM;UACJ,UAAU;;QAEZ,aAAa;UACX,SAAS;;QAEX,YAAY;;;;AC/EL,oCAA4B,mBAAA;;AAElC,gBAFM,eAEN,MAAK;AAKL,gBAPM,eAON,YAAW;IAEhB,QAAQ;IAGR,UAAU;IAGV,eAAe;IAGf,QAAQ;;AClBG,sCAA8B,kBAAA;IAmC3C,iBAAiB,QAAO;AACtB,YAAM,SAAS,KAAK,YAAY;AAChC,YAAM,SAAS,KAAK,UAAU;AAE9B,aAAO;QACL,OAAO,OAAO,YAAY;QAC1B,OAAO,KAAK,OAAO,iBAAiB,OAAO,OAAO;;;IAItD,gBAAgB,OAAM,MAAM,QAAO,OAAO;AACxC,aAAO,4BAA4B,KAAK,MAAM,OAAM,MAAM,QAAO;;IAGnE,OAAO,MAAM;AACX,YAAM,QAAO,KAAK;AAClB,YAAM,OAAO,MAAK;AAClB,YAAM,SAAS,MAAK,QAAQ;AAC5B,YAAM,SAAS,MAAK,OAAO;AAG3B,WAAK,SAAS;AAEd,UAAI,SAAS,UAAU;AACrB,cAAM,UAAU,KAAK,6BAA6B;AAClD,YAAI,CAAC,KAAK,QAAQ,UAAU;AAC1B,kBAAQ,cAAc;;AAGxB,cAAM,aAAa;UACjB,OAAO;UACP,WAAW,OAAO,WAAW,OAAO;UACpC;;AAGF,aAAK,cAAc,MAAM,QAAW,YAAY;;AAIlD,WAAK,eAAe,QAAQ,GAAG,OAAO,QAAQ;;IAGhD,eAAe,QAAQ,QAAO,OAAO,MAAM;AACzC,YAAM,QAAQ,KAAK,YAAY;AAC/B,YAAM,QAAQ,SAAS;AAEvB,eAAS,IAAI,QAAO,IAAI,SAAQ,OAAO,KAAK;AAC1C,cAAM,QAAQ,OAAO;AACrB,cAAM,UAAU,KAAK,0BAA0B,GAAG,MAAM,SAAS,WAAW;AAC5E,cAAM,gBAAgB,MAAM,yBAAyB,GAAG,KAAK,UAAU,GAAG;AAE1E,cAAM,IAAI,QAAQ,MAAM,UAAU,cAAc;AAChD,cAAM,KAAI,QAAQ,MAAM,UAAU,cAAc;AAEhD,cAAM,aAAa;UACjB;UACA;UACA,OAAO,cAAc;UACrB,MAAM,MAAM,MAAM,MAAM;UACxB;;AAGF,aAAK,cAAc,OAAO,GAAG,YAAY;;;;AA/FtC,gBAFM,iBAEN,MAAK;AAKL,gBAPM,iBAON,YAAW;IAChB,oBAAoB;IACpB,iBAAiB;IACjB,WAAW;IACX,UAAU;IACV,UAAU;MACR,MAAM;QACJ,MAAM;;;;AAQL,gBAtBM,iBAsBN,aAAY;IACjB,aAAa;IAEb,QAAQ;MACN,GAAG;QACD,MAAM;;;;ACzBC,wCAAgC,kBAAA;IAoC7C,iBAAiB,QAAO;AACtB,YAAM,QAAO,KAAK;AAClB,YAAM,SAAS,KAAK,MAAM,KAAK,UAAU;AACzC,YAAM,EAAC,QAAQ,WAAU;AACzB,YAAM,SAAS,KAAK,UAAU;AAC9B,YAAM,IAAI,OAAO,iBAAiB,OAAO;AACzC,YAAM,KAAI,OAAO,iBAAiB,OAAO;AAEzC,aAAO;QACL,OAAO,OAAO,WAAU;QACxB,OAAO,MAAM,IAAI,OAAO,KAAI;;;IAIhC,OAAO,MAAM;AACX,YAAM,QAAO,KAAK;AAClB,YAAM,EAAC,MAAM,SAAS,OAAM;AAE5B,YAAM,qBAAqB,KAAK,MAAM;AACtC,UAAI,EAAC,eAAO,UAAS,iCAAiC,OAAM,QAAQ;AAEpE,WAAK,aAAa;AAClB,WAAK,aAAa;AAElB,UAAI,oBAAoB,QAAO;AAC7B,iBAAQ;AACR,gBAAQ,OAAO;;AAGjB,UAAI,KAAK,QAAQ,UAAU;AAGzB,YAAI,CAAC,KAAK,oBAAoB;AAC5B,eAAK;;AAEP,cAAM,EAAC,SAAS,MAAM,aAAY;AAGlC,aAAK,SAAS,KAAK;AACnB,aAAK,gBAAgB,KAAK;AAC1B,aAAK,aAAa,CAAC,CAAC,SAAS;AAC7B,aAAK,SAAS;AAEd,cAAM,UAAU,KAAK,6BAA6B;AAClD,gBAAQ,UAAU,KAAK,QAAQ;AAC/B,aAAK,cAAc,MAAM,QAAW;UAClC,UAAU,CAAC;UACX;WACC;iBACM,KAAK,oBAAoB;AAElC,eAAO,MAAK;AACZ,aAAK,qBAAqB;;AAI5B,WAAK,eAAe,QAAQ,QAAO,OAAO;;IAG5C,cAAc;AACZ,YAAM,EAAC,aAAY,KAAK;AAExB,UAAI,CAAC,KAAK,sBAAsB,UAAU;AACxC,aAAK,qBAAqB,KAAK,MAAM,SAAS,WAAW;;AAG3D,YAAM;;IAGR,eAAe,QAAQ,QAAO,OAAO,MAAM;AACzC,YAAM,QAAQ,SAAS;AACvB,YAAM,EAAC,QAAQ,QAAQ,UAAU,aAAY,KAAK;AAClD,YAAM,YAAY,KAAK,0BAA0B,QAAO;AACxD,YAAM,gBAAgB,KAAK,iBAAiB;AAC5C,YAAM,iBAAiB,KAAK,eAAe,MAAM;AACjD,YAAM,QAAQ,OAAO;AACrB,YAAM,QAAQ,OAAO;AACrB,YAAM,EAAC,UAAU,YAAW,KAAK;AACjC,YAAM,eAAe,UAAS,YAAY,WAAW,OAAO;AAC5D,YAAM,eAAe,KAAK,MAAM,uBAAuB,SAAS,SAAS;AACzE,UAAI,aAAa,SAAQ,KAAK,KAAK,UAAU,SAAQ;AAErD,eAAS,IAAI,QAAO,IAAI,SAAQ,OAAO,EAAE,GAAG;AAC1C,cAAM,QAAQ,OAAO;AACrB,cAAM,SAAS,KAAK,UAAU;AAC9B,cAAM,aAAa,eAAe,QAAQ;AAC1C,cAAM,WAAW,cAAc,OAAO;AACtC,cAAM,SAAS,WAAW,SAAS,OAAO,iBAAiB,OAAO,QAAQ;AAC1E,cAAM,SAAS,WAAW,SAAS,SAAS,WAAW,OAAO,iBAAiB,OAAO,iBAAiB,WAAW,KAAK,WAAW,QAAQ,QAAQ,YAAY,OAAO,QAAQ;AAE7K,mBAAW,OAAO,MAAM,WAAW,MAAM,WAAW;AACpD,mBAAW,OAAO,IAAI,KAAK,KAAM,IAAI,OAAO,SAAS,WAAW,UAAW;AAC3E,YAAI,SAAS;AACX,qBAAW,SAAS;AACpB,qBAAW,MAAM,SAAS,KAAK;;AAGjC,YAAI,gBAAgB;AAClB,qBAAW,UAAU,iBAAiB,KAAK,0BAA0B,GAAG,MAAM,SAAS,WAAW;;AAGpG,YAAI,CAAC,cAAc;AACjB,eAAK,cAAc,OAAO,GAAG,YAAY;;AAG3C,qBAAa;;AAGf,WAAK,oBAAoB,eAAe,MAAM;;IAMhD,iBAAiB;AACf,YAAM,QAAO,KAAK;AAClB,YAAM,OAAO,MAAK,QAAQ;AAE1B,UAAI,CAAC,KAAK,QAAQ,UAAU;AAC1B,YAAI,MAAM;AACV,iBAAS,IAAI,KAAK,SAAS,GAAG,KAAK,GAAG,EAAE,GAAG;AACzC,gBAAM,KAAK,IAAI,KAAK,KAAK,GAAG,KAAK,KAAK,0BAA0B,MAAM;;AAExE,eAAO,MAAM,KAAK;;AAGpB,YAAM,UAAU,MAAK;AACrB,YAAM,SAAS,QAAQ,WAAW,QAAQ,QAAQ,eAAe;AAEjE,UAAI,CAAC,KAAK,QAAQ;AAChB,eAAO;;AAGT,YAAM,aAAa,KAAK,GAAG,KAAK,KAAK,0BAA0B;AAC/D,YAAM,YAAY,KAAK,KAAK,SAAS,GAAG,KAAK,KAAK,0BAA0B,KAAK,SAAS;AAC1F,aAAO,KAAK,IAAI,QAAQ,YAAY,aAAa;;;AAzK5C,gBAFM,mBAEN,MAAK;AAKL,gBAPM,mBAON,YAAW;IAChB,oBAAoB;IACpB,iBAAiB;IACjB,UAAU;IACV,MAAM;;AAMD,gBAjBM,mBAiBN,aAAY;IAEjB,aAAa;MACX,MAAM;;IAGR,QAAQ;MACN,GAAG;QACD,MAAM;;MAER,GAAG;QACD,MAAM;;;;;;;;;;;;;;;AC+Bd,sBAAiC;AAC/B,UAAM,IAAI,MAAM;;AASlB,8BAAM;IAoBJ,YAAY,SAAoB;AAFvB;AAGP,WAAK,UAAU,WAAW;;WATrB,SACL,SACA;AACA,aAAO,OAAO,gBAAgB,WAAW;;IAU3C,OAAO;;IAEP,UAAkC;AAChC,aAAO;;IAGT,QAAuB;AACrB,aAAO;;IAGT,SAAiB;AACf,aAAO;;IAGT,MAAc;AACZ,aAAO;;IAGT,OAAe;AACb,aAAO;;IAGT,UAAkB;AAChB,aAAO;;IAGT,QAAgB;AACd,aAAO;;;AAIX,MAAA,WAAe;IACb,OAAO;;AC9GT,wBAAsB,SAAS,MAAM,OAAO,WAAW;AACrD,UAAM,EAAC,YAAY,MAAM,YAAW;AACpC,UAAM,SAAS,WAAW,YAAY;AACtC,QAAI,UAAU,SAAS,OAAO,QAAQ,SAAS,OAAO,WAAW,KAAK,QAAQ;AAC5E,YAAM,eAAe,OAAO,iBAAiB,gBAAgB;AAC7D,UAAI,CAAC,WAAW;AACd,eAAO,aAAa,MAAM,MAAM;iBACvB,WAAW,gBAAgB;AAIpC,cAAM,MAAK,KAAK;AAChB,cAAM,UAAQ,OAAO,IAAG,aAAa,cAAc,IAAG,SAAS;AAC/D,YAAI,SAAO;AACT,gBAAM,SAAQ,aAAa,MAAM,MAAM,QAAQ;AAC/C,gBAAM,MAAM,aAAa,MAAM,MAAM,QAAQ;AAC7C,iBAAO;YAAC,IAAI,OAAM;YAAI,IAAI,IAAI;;;;;AAKpC,WAAO;MAAC,IAAI;MAAG,IAAI,KAAK,SAAS;;;AAWnC,oCAAkC,OAAO,MAAM,UAAU,UAAS,WAAW;AAC3E,UAAM,WAAW,MAAM;AACvB,UAAM,QAAQ,SAAS;AACvB,aAAS,IAAI,GAAG,OAAO,SAAS,QAAQ,IAAI,MAAM,EAAE,GAAG;AACrD,YAAM,EAAC,eAAO,SAAQ,SAAS;AAC/B,YAAM,EAAC,SAAI,YAAM,aAAa,SAAS,IAAI,MAAM,OAAO;AACxD,eAAS,KAAI,KAAI,MAAK,KAAI,EAAE,IAAG;AAC7B,cAAM,UAAU,KAAK;AACrB,YAAI,CAAC,QAAQ,MAAM;AACjB,mBAAQ,SAAS,QAAO;;;;;AAWhC,oCAAkC,MAAM;AACtC,UAAM,OAAO,KAAK,QAAQ,SAAS;AACnC,UAAM,OAAO,KAAK,QAAQ,SAAS;AAEnC,WAAO,SAAS,KAAK,KAAK;AACxB,YAAM,SAAS,OAAO,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK;AAChD,YAAM,SAAS,OAAO,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK;AAChD,aAAO,KAAK,KAAK,KAAK,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ;;;AAa5D,6BAA2B,OAAO,UAAU,MAAM,kBAAkB,kBAAkB;AACpF,UAAM,QAAQ;AAEd,QAAI,CAAC,oBAAoB,CAAC,MAAM,cAAc,WAAW;AACvD,aAAO;;AAGT,UAAM,iBAAiB,SAAS,SAAS,cAAc,QAAO;AAC5D,UAAI,CAAC,oBAAoB,CAAC,eAAe,SAAS,MAAM,WAAW,IAAI;AACrE;;AAEF,UAAI,QAAQ,QAAQ,SAAS,GAAG,SAAS,GAAG,mBAAmB;AAC7D,cAAM,KAAK;UAAC;UAAS;UAAc;;;;AAIvC,6BAAyB,OAAO,MAAM,UAAU,gBAAgB;AAChE,WAAO;;AAWT,iCAA+B,OAAO,UAAU,MAAM,kBAAkB;AACtE,QAAI,QAAQ;AAEZ,4BAAwB,SAAS,cAAc,QAAO;AACpD,YAAM,EAAC,YAAY,aAAY,QAAQ,SAAS;QAAC;QAAc;SAAa;AAC5E,YAAM,EAAC,UAAS,kBAAkB,SAAS;QAAC,GAAG,SAAS;QAAG,GAAG,SAAS;;AAEvE,UAAI,cAAc,OAAO,YAAY,WAAW;AAC9C,cAAM,KAAK;UAAC;UAAS;UAAc;;;;AAIvC,6BAAyB,OAAO,MAAM,UAAU;AAChD,WAAO;;AAaT,oCAAkC,OAAO,UAAU,MAAM,WAAW,kBAAkB,kBAAkB;AACtG,QAAI,QAAQ;AACZ,UAAM,iBAAiB,yBAAyB;AAChD,QAAI,cAAc,OAAO;AAEzB,4BAAwB,SAAS,cAAc,QAAO;AACpD,YAAM,WAAU,QAAQ,QAAQ,SAAS,GAAG,SAAS,GAAG;AACxD,UAAI,aAAa,CAAC,UAAS;AACzB;;AAGF,YAAM,SAAS,QAAQ,eAAe;AACtC,YAAM,cAAc,CAAC,CAAC,oBAAoB,MAAM,cAAc;AAC9D,UAAI,CAAC,eAAe,CAAC,UAAS;AAC5B;;AAGF,YAAM,WAAW,eAAe,UAAU;AAC1C,UAAI,WAAW,aAAa;AAC1B,gBAAQ;UAAC;YAAC;YAAS;YAAc;;;AACjC,sBAAc;iBACL,aAAa,aAAa;AAEnC,cAAM,KAAK;UAAC;UAAS;UAAc;;;;AAIvC,6BAAyB,OAAO,MAAM,UAAU;AAChD,WAAO;;AAaT,2BAAyB,OAAO,UAAU,MAAM,WAAW,kBAAkB,kBAAkB;AAC7F,QAAI,CAAC,oBAAoB,CAAC,MAAM,cAAc,WAAW;AACvD,aAAO;;AAGT,WAAO,SAAS,OAAO,CAAC,YACpB,sBAAsB,OAAO,UAAU,MAAM,oBAC7C,yBAAyB,OAAO,UAAU,MAAM,WAAW,kBAAkB;;AAYnF,wBAAsB,OAAO,UAAU,MAAM,WAAW,kBAAkB;AACxE,UAAM,QAAQ;AACd,UAAM,cAAc,SAAS,MAAM,aAAa;AAChD,QAAI,iBAAiB;AAErB,6BAAyB,OAAO,MAAM,UAAU,CAAC,SAAS,cAAc,WAAU;AAChF,UAAI,QAAQ,aAAa,SAAS,OAAO,mBAAmB;AAC1D,cAAM,KAAK;UAAC;UAAS;UAAc;;AACnC,yBAAiB,kBAAkB,QAAQ,QAAQ,SAAS,GAAG,SAAS,GAAG;;;AAM/E,QAAI,aAAa,CAAC,gBAAgB;AAChC,aAAO;;AAET,WAAO;;AAOT,MAAA,cAAe;IAEb;IAGA,OAAO;MAYL,MAAM,OAAO,GAAG,SAAS,kBAAkB;AACzC,cAAM,WAAW,oBAAoB,GAAG;AAExC,cAAM,OAAO,QAAQ,QAAQ;AAC7B,cAAM,mBAAmB,QAAQ,oBAAoB;AACrD,cAAM,QAAQ,QAAQ,YAClB,kBAAkB,OAAO,UAAU,MAAM,kBAAkB,oBAC3D,gBAAgB,OAAO,UAAU,MAAM,OAAO,kBAAkB;AACpE,cAAM,YAAW;AAEjB,YAAI,CAAC,MAAM,QAAQ;AACjB,iBAAO;;AAGT,cAAM,+BAA+B,QAAQ,CAAC,UAAS;AACrD,gBAAM,SAAQ,MAAM,GAAG;AACvB,gBAAM,UAAU,MAAK,KAAK;AAG1B,cAAI,WAAW,CAAC,QAAQ,MAAM;AAC5B,sBAAS,KAAK;cAAC;cAAS,cAAc,MAAK;cAAO;;;;AAItD,eAAO;;MAaT,QAAQ,OAAO,GAAG,SAAS,kBAAkB;AAC3C,cAAM,WAAW,oBAAoB,GAAG;AACxC,cAAM,OAAO,QAAQ,QAAQ;AAC7B,cAAM,mBAAmB,QAAQ,oBAAoB;AACrD,YAAI,QAAQ,QAAQ,YAChB,kBAAkB,OAAO,UAAU,MAAM,kBAAkB,oBAC7D,gBAAgB,OAAO,UAAU,MAAM,OAAO,kBAAkB;AAElE,YAAI,MAAM,SAAS,GAAG;AACpB,gBAAM,eAAe,MAAM,GAAG;AAC9B,gBAAM,OAAO,MAAM,eAAe,cAAc;AAChD,kBAAQ;AACR,mBAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,EAAE,GAAG;AACpC,kBAAM,KAAK;cAAC,SAAS,KAAK;cAAI;cAAc,OAAO;;;;AAIvD,eAAO;;MAaT,MAAM,OAAO,GAAG,SAAS,kBAAkB;AACzC,cAAM,WAAW,oBAAoB,GAAG;AACxC,cAAM,OAAO,QAAQ,QAAQ;AAC7B,cAAM,mBAAmB,QAAQ,oBAAoB;AACrD,eAAO,kBAAkB,OAAO,UAAU,MAAM,kBAAkB;;MAYpE,QAAQ,OAAO,GAAG,SAAS,kBAAkB;AAC3C,cAAM,WAAW,oBAAoB,GAAG;AACxC,cAAM,OAAO,QAAQ,QAAQ;AAC7B,cAAM,mBAAmB,QAAQ,oBAAoB;AACrD,eAAO,gBAAgB,OAAO,UAAU,MAAM,QAAQ,WAAW,kBAAkB;;MAYrF,EAAE,OAAO,GAAG,SAAS,kBAAkB;AACrC,cAAM,WAAW,oBAAoB,GAAG;AACxC,eAAO,aAAa,OAAO,UAAU,KAAK,QAAQ,WAAW;;MAY/D,EAAE,OAAO,GAAG,SAAS,kBAAkB;AACrC,cAAM,WAAW,oBAAoB,GAAG;AACxC,eAAO,aAAa,OAAO,UAAU,KAAK,QAAQ,WAAW;;;;ACpWnE,MAAM,mBAAmB;IAAC;IAAQ;IAAO;IAAS;;AAElD,4BAA0B,OAAO,UAAU;AACzC,WAAO,MAAM,OAAO,CAAA,MAAK,EAAE,QAAQ;;AAGrC,uCAAqC,OAAO,MAAM;AAChD,WAAO,MAAM,OAAO,CAAA,MAAK,iBAAiB,QAAQ,EAAE,SAAS,MAAM,EAAE,IAAI,SAAS;;AAGpF,wBAAsB,OAAO,SAAS;AACpC,WAAO,MAAM,KAAK,CAAC,GAAG,MAAM;AAC1B,YAAM,KAAK,UAAU,IAAI;AACzB,YAAM,KAAK,UAAU,IAAI;AACzB,aAAO,GAAG,WAAW,GAAG,SACtB,GAAG,QAAQ,GAAG,QACd,GAAG,SAAS,GAAG;;;AAIrB,qBAAmB,OAAO;AACxB,UAAM,cAAc;AACpB,QAAI,GAAG,MAAM,KAAK,KAAK,OAAO;AAE9B,SAAK,IAAI,GAAG,OAAQ,UAAS,IAAI,QAAQ,IAAI,MAAM,EAAE,GAAG;AACtD,YAAM,MAAM;AACX,MAAA,GAAC,UAAU,KAAK,SAAS,EAAC,OAAO,cAAc,QAAM;AACtD,kBAAY,KAAK;QACf,OAAO;QACP;QACA;QACA,YAAY,IAAI;QAChB,QAAQ,IAAI;QACZ,OAAO,SAAU,MAAM;QACvB;;;AAGJ,WAAO;;AAGT,uBAAqB,UAAS;AAC5B,UAAM,SAAS;AACf,eAAW,QAAQ,UAAS;AAC1B,YAAM,EAAC,OAAO,KAAK,gBAAe;AAClC,UAAI,CAAC,SAAS,CAAC,iBAAiB,SAAS,MAAM;AAC7C;;AAEF,YAAM,SAAS,OAAO,UAAW,QAAO,SAAS;QAAC,OAAO;QAAG,QAAQ;QAAG,QAAQ;QAAG,MAAM;;AACxF,aAAO;AACP,aAAO,UAAU;;AAEnB,WAAO;;AAMT,yBAAuB,UAAS,QAAQ;AACtC,UAAM,SAAS,YAAY;AAC3B,UAAM,EAAC,cAAc,kBAAiB;AACtC,QAAI,GAAG,MAAM;AACb,SAAK,IAAI,GAAG,OAAO,SAAQ,QAAQ,IAAI,MAAM,EAAE,GAAG;AAChD,eAAS,SAAQ;AACjB,YAAM,EAAC,aAAY,OAAO;AAC1B,YAAM,QAAQ,OAAO,OAAO;AAC5B,YAAM,SAAS,SAAS,OAAO,cAAc,MAAM;AACnD,UAAI,OAAO,YAAY;AACrB,eAAO,QAAQ,SAAS,SAAS,eAAe,YAAY,OAAO;AACnE,eAAO,SAAS;aACX;AACL,eAAO,QAAQ;AACf,eAAO,SAAS,SAAS,SAAS,gBAAgB,YAAY,OAAO;;;AAGzE,WAAO;;AAGT,4BAA0B,OAAO;AAC/B,UAAM,cAAc,UAAU;AAC9B,UAAM,WAAW,aAAa,YAAY,OAAO,CAAA,SAAQ,KAAK,IAAI,WAAW;AAC7E,UAAM,OAAO,aAAa,iBAAiB,aAAa,SAAS;AACjE,UAAM,QAAQ,aAAa,iBAAiB,aAAa;AACzD,UAAM,OAAM,aAAa,iBAAiB,aAAa,QAAQ;AAC/D,UAAM,SAAS,aAAa,iBAAiB,aAAa;AAC1D,UAAM,mBAAmB,4BAA4B,aAAa;AAClE,UAAM,iBAAiB,4BAA4B,aAAa;AAEhE,WAAO;MACL;MACA,YAAY,KAAK,OAAO;MACxB,gBAAgB,MAAM,OAAO,gBAAgB,OAAO,QAAQ,OAAO;MACnE,WAAW,iBAAiB,aAAa;MACzC,UAAU,KAAK,OAAO,OAAO,OAAO;MACpC,YAAY,KAAI,OAAO,QAAQ,OAAO;;;AAI1C,0BAAwB,YAAY,WAAW,GAAG,GAAG;AACnD,WAAO,KAAK,IAAI,WAAW,IAAI,UAAU,MAAM,KAAK,IAAI,WAAW,IAAI,UAAU;;AAGnF,4BAA0B,YAAY,YAAY;AAChD,eAAW,MAAM,KAAK,IAAI,WAAW,KAAK,WAAW;AACrD,eAAW,OAAO,KAAK,IAAI,WAAW,MAAM,WAAW;AACvD,eAAW,SAAS,KAAK,IAAI,WAAW,QAAQ,WAAW;AAC3D,eAAW,QAAQ,KAAK,IAAI,WAAW,OAAO,WAAW;;AAG3D,sBAAoB,WAAW,QAAQ,QAAQ,QAAQ;AACrD,UAAM,EAAC,KAAK,QAAO;AACnB,UAAM,aAAa,UAAU;AAG7B,QAAI,CAAC,UAAS,MAAM;AAClB,UAAI,OAAO,MAAM;AAEf,kBAAU,QAAQ,OAAO;;AAE3B,YAAM,QAAQ,OAAO,OAAO,UAAU;QAAC,MAAM;QAAG,OAAO;;AACvD,YAAM,OAAO,KAAK,IAAI,MAAM,MAAM,OAAO,aAAa,IAAI,SAAS,IAAI;AACvE,aAAO,OAAO,MAAM,OAAO,MAAM;AACjC,gBAAU,QAAQ,OAAO;;AAG3B,QAAI,IAAI,YAAY;AAClB,uBAAiB,YAAY,IAAI;;AAGnC,UAAM,WAAW,KAAK,IAAI,GAAG,OAAO,aAAa,eAAe,YAAY,WAAW,QAAQ;AAC/F,UAAM,YAAY,KAAK,IAAI,GAAG,OAAO,cAAc,eAAe,YAAY,WAAW,OAAO;AAChG,UAAM,eAAe,aAAa,UAAU;AAC5C,UAAM,gBAAgB,cAAc,UAAU;AAC9C,cAAU,IAAI;AACd,cAAU,IAAI;AAGd,WAAO,OAAO,aACV;MAAC,MAAM;MAAc,OAAO;QAC5B;MAAC,MAAM;MAAe,OAAO;;;AAGnC,4BAA0B,WAAW;AACnC,UAAM,aAAa,UAAU;AAE7B,uBAAmB,KAAK;AACtB,YAAM,SAAS,KAAK,IAAI,WAAW,OAAO,UAAU,MAAM;AAC1D,gBAAU,QAAQ;AAClB,aAAO;;AAET,cAAU,KAAK,UAAU;AACzB,cAAU,KAAK,UAAU;AACzB,cAAU;AACV,cAAU;;AAGZ,sBAAoB,YAAY,WAAW;AACzC,UAAM,aAAa,UAAU;AAE7B,gCAA4B,YAAW;AACrC,YAAM,SAAS;QAAC,MAAM;QAAG,KAAK;QAAG,OAAO;QAAG,QAAQ;;AACnD,iBAAU,QAAQ,CAAC,QAAQ;AACzB,eAAO,OAAO,KAAK,IAAI,UAAU,MAAM,WAAW;;AAEpD,aAAO;;AAGT,WAAO,aACH,mBAAmB;MAAC;MAAQ;SAC5B,mBAAmB;MAAC;MAAO;;;AAGjC,oBAAkB,OAAO,WAAW,QAAQ,QAAQ;AAClD,UAAM,aAAa;AACnB,QAAI,GAAG,MAAM,QAAQ,KAAK,OAAO;AAEjC,SAAK,IAAI,GAAG,OAAO,MAAM,QAAQ,QAAQ,GAAG,IAAI,MAAM,EAAE,GAAG;AACzD,eAAS,MAAM;AACf,YAAM,OAAO;AAEb,UAAI,OACF,OAAO,SAAS,UAAU,GAC1B,OAAO,UAAU,UAAU,GAC3B,WAAW,OAAO,YAAY;AAEhC,YAAM,EAAC,MAAM,UAAS,WAAW,WAAW,QAAQ,QAAQ;AAI5D,eAAS,QAAQ,WAAW;AAG5B,gBAAU,WAAW;AAErB,UAAI,CAAC,IAAI,UAAU;AACjB,mBAAW,KAAK;;;AAIpB,WAAO,SAAS,SAAS,YAAY,WAAW,QAAQ,WAAW;;AAGrE,sBAAoB,KAAK,MAAM,MAAK,OAAO,QAAQ;AACjD,QAAI,MAAM;AACV,QAAI,OAAO;AACX,QAAI,QAAQ,OAAO;AACnB,QAAI,SAAS,OAAM;AACnB,QAAI,QAAQ;AACZ,QAAI,SAAS;;AAGf,sBAAoB,OAAO,WAAW,QAAQ,QAAQ;AACpD,UAAM,cAAc,OAAO;AAC3B,QAAI,EAAC,GAAG,UAAK;AAEb,eAAW,UAAU,OAAO;AAC1B,YAAM,MAAM,OAAO;AACnB,YAAM,QAAQ,OAAO,OAAO,UAAU;QAAC,OAAO;QAAG,QAAQ;QAAG,QAAQ;;AACpE,YAAM,SAAS,OAAQ,cAAc,MAAM,UAAW;AACtD,UAAI,OAAO,YAAY;AACrB,cAAM,QAAQ,UAAU,IAAI;AAC5B,cAAM,SAAS,MAAM,QAAQ,IAAI;AACjC,YAAI,QAAQ,MAAM,QAAQ;AACxB,eAAI,MAAM;;AAEZ,YAAI,IAAI,UAAU;AAChB,qBAAW,KAAK,YAAY,MAAM,IAAG,OAAO,aAAa,YAAY,QAAQ,YAAY,MAAM;eAC1F;AACL,qBAAW,KAAK,UAAU,OAAO,MAAM,QAAQ,IAAG,OAAO;;AAE3D,cAAM,QAAQ;AACd,cAAM,UAAU;AAChB,aAAI,IAAI;aACH;AACL,cAAM,SAAS,UAAU,IAAI;AAC7B,cAAM,QAAQ,MAAM,QAAQ,IAAI;AAChC,YAAI,QAAQ,MAAM,QAAQ;AACxB,cAAI,MAAM;;AAEZ,YAAI,IAAI,UAAU;AAChB,qBAAW,KAAK,GAAG,YAAY,KAAK,OAAO,OAAO,cAAc,YAAY,SAAS,YAAY;eAC5F;AACL,qBAAW,KAAK,GAAG,UAAU,MAAM,MAAM,QAAQ,OAAO;;AAE1D,cAAM,QAAQ;AACd,cAAM,UAAU;AAChB,YAAI,IAAI;;;AAIZ,cAAU,IAAI;AACd,cAAU,IAAI;;AAyBhB,MAAA,UAAe;IAQb,OAAO,OAAO,MAAM;AAClB,UAAI,CAAC,MAAM,OAAO;AAChB,cAAM,QAAQ;;AAIhB,WAAK,WAAW,KAAK,YAAY;AACjC,WAAK,WAAW,KAAK,YAAY;AACjC,WAAK,SAAS,KAAK,UAAU;AAE7B,WAAK,UAAU,KAAK,WAAW,WAAW;AACxC,eAAO;UAAC;YACN,GAAG;YACH,KAAK,WAAW;AACd,mBAAK,KAAK;;;;;AAKhB,YAAM,MAAM,KAAK;;IAQnB,UAAU,OAAO,YAAY;AAC3B,YAAM,SAAQ,MAAM,QAAQ,MAAM,MAAM,QAAQ,cAAc;AAC9D,UAAI,WAAU,IAAI;AAChB,cAAM,MAAM,OAAO,QAAO;;;IAU9B,UAAU,OAAO,MAAM,SAAS;AAC9B,WAAK,WAAW,QAAQ;AACxB,WAAK,WAAW,QAAQ;AACxB,WAAK,SAAS,QAAQ;;IAWxB,OAAO,OAAO,OAAO,QAAQ,YAAY;AACvC,UAAI,CAAC,OAAO;AACV;;AAGF,YAAM,UAAU,UAAU,MAAM,QAAQ,OAAO;AAC/C,YAAM,iBAAiB,KAAK,IAAI,QAAQ,QAAQ,OAAO;AACvD,YAAM,kBAAkB,KAAK,IAAI,SAAS,QAAQ,QAAQ;AAC1D,YAAM,QAAQ,iBAAiB,MAAM;AACrC,YAAM,gBAAgB,MAAM;AAC5B,YAAM,kBAAkB,MAAM;AAI9B,WAAK,MAAM,OAAO,CAAA,QAAO;AACvB,YAAI,OAAO,IAAI,iBAAiB,YAAY;AAC1C,cAAI;;;AA+BR,YAAM,0BAA0B,cAAc,OAAO,CAAC,OAAO,SAC3D,KAAK,IAAI,WAAW,KAAK,IAAI,QAAQ,YAAY,QAAQ,QAAQ,QAAQ,GAAG,MAAM;AAEpF,YAAM,SAAS,OAAO,OAAO;QAC3B,YAAY;QACZ,aAAa;QACb;QACA;QACA;QACA,cAAc,iBAAiB,IAAI;QACnC,eAAe,kBAAkB;;AAEnC,YAAM,aAAa,OAAO,OAAO,IAAI;AACrC,uBAAiB,YAAY,UAAU;AACvC,YAAM,YAAY,OAAO,OAAO;QAC9B;QACA,GAAG;QACH,GAAG;QACH,GAAG,QAAQ;QACX,GAAG,QAAQ;SACV;AAEH,YAAM,SAAS,cAAc,cAAc,OAAO,kBAAkB;AAGpE,eAAS,MAAM,UAAU,WAAW,QAAQ;AAG5C,eAAS,eAAe,WAAW,QAAQ;AAG3C,UAAI,SAAS,iBAAiB,WAAW,QAAQ,SAAS;AAExD,iBAAS,eAAe,WAAW,QAAQ;;AAG7C,uBAAiB;AAGjB,iBAAW,MAAM,YAAY,WAAW,QAAQ;AAGhD,gBAAU,KAAK,UAAU;AACzB,gBAAU,KAAK,UAAU;AAEzB,iBAAW,MAAM,gBAAgB,WAAW,QAAQ;AAEpD,YAAM,YAAY;QAChB,MAAM,UAAU;QAChB,KAAK,UAAU;QACf,OAAO,UAAU,OAAO,UAAU;QAClC,QAAQ,UAAU,MAAM,UAAU;QAClC,QAAQ,UAAU;QAClB,OAAO,UAAU;;AAInB,WAAK,MAAM,WAAW,CAAC,WAAW;AAChC,cAAM,MAAM,OAAO;AACnB,eAAO,OAAO,KAAK,MAAM;AACzB,YAAI,OAAO,UAAU,GAAG,UAAU,GAAG;UAAC,MAAM;UAAG,KAAK;UAAG,OAAO;UAAG,QAAQ;;;;;AC3bhE,2BAAM;IAOnB,eAAe,QAAQ,aAAa;;IAQpC,eAAe,UAAS;AACtB,aAAO;;IAUT,iBAAiB,OAAO,MAAM,UAAU;;IAQxC,oBAAoB,OAAO,MAAM,UAAU;;IAK3C,sBAAsB;AACpB,aAAO;;IAUT,eAAe,SAAS,OAAO,QAAQ,aAAa;AAClD,cAAQ,KAAK,IAAI,GAAG,SAAS,QAAQ;AACrC,eAAS,UAAU,QAAQ;AAC3B,aAAO;QACL;QACA,QAAQ,KAAK,IAAI,GAAG,cAAc,KAAK,MAAM,QAAQ,eAAe;;;IAQxE,WAAW,QAAQ;AACjB,aAAO;;IAOT,aAAa,QAAQ;;;ACnER,oCAA4B,aAAA;IACzC,eAAe,MAAM;AAInB,aAAO,QAAQ,KAAK,cAAc,KAAK,WAAW,SAAS;;IAE7D,aAAa,QAAQ;AACnB,aAAO,QAAQ,YAAY;;;ACP/B,MAAM,cAAc;AAOpB,MAAM,cAAc;IAClB,YAAY;IACZ,WAAW;IACX,UAAU;IACV,cAAc;IACd,aAAa;IACb,aAAa;IACb,WAAW;IACX,cAAc;IACd,YAAY;;AAGd,MAAM,gBAAgB,CAAA,UAAS,UAAU,QAAQ,UAAU;AAQ3D,sBAAoB,QAAQ,aAAa;AACvC,UAAM,QAAQ,OAAO;AAIrB,UAAM,eAAe,OAAO,aAAa;AACzC,UAAM,cAAc,OAAO,aAAa;AAGxC,WAAO,eAAe;MACpB,SAAS;QACP,QAAQ;QACR,OAAO;QACP,OAAO;UACL,SAAS,MAAM;UACf,QAAQ,MAAM;UACd,OAAO,MAAM;;;;AAQnB,UAAM,UAAU,MAAM,WAAW;AAEjC,UAAM,YAAY,MAAM,aAAa;AAErC,QAAI,cAAc,cAAc;AAC9B,YAAM,eAAe,aAAa,QAAQ;AAC1C,UAAI,iBAAiB,QAAW;AAC9B,eAAO,QAAQ;;;AAInB,QAAI,cAAc,eAAe;AAC/B,UAAI,OAAO,MAAM,WAAW,IAAI;AAI9B,eAAO,SAAS,OAAO,QAAS,gBAAe;aAC1C;AACL,cAAM,gBAAgB,aAAa,QAAQ;AAC3C,YAAI,kBAAkB,QAAW;AAC/B,iBAAO,SAAS;;;;AAKtB,WAAO;;AAKT,MAAM,uBAAuB,+BAA+B;IAAC,SAAS;MAAQ;AAE9E,uBAAqB,MAAM,MAAM,UAAU;AACzC,QAAI,MAAM;AACR,WAAK,iBAAiB,MAAM,UAAU;;;AAI1C,0BAAwB,OAAO,MAAM,UAAU;AAC7C,QAAI,SAAS,MAAM,QAAQ;AACzB,YAAM,OAAO,oBAAoB,MAAM,UAAU;;;AAIrD,2BAAyB,QAAO,OAAO;AACrC,UAAM,OAAO,YAAY,OAAM,SAAS,OAAM;AAC9C,UAAM,EAAC,GAAG,UAAK,oBAAoB,QAAO;AAC1C,WAAO;MACL;MACA;MACA,QAAQ;MACR,GAAG,MAAM,SAAY,IAAI;MACzB,GAAG,OAAM,SAAY,KAAI;;;AAI7B,4BAA0B,UAAU,QAAQ;AAC1C,eAAW,QAAQ,UAAU;AAC3B,UAAI,SAAS,UAAU,KAAK,SAAS,SAAS;AAC5C,eAAO;;;;AAKb,gCAA8B,OAAO,MAAM,UAAU;AACnD,UAAM,SAAS,MAAM;AACrB,UAAM,WAAW,IAAI,iBAAiB,CAAA,YAAW;AAC/C,UAAI,UAAU;AACd,iBAAW,SAAS,SAAS;AAC3B,kBAAU,WAAW,iBAAiB,MAAM,YAAY;AACxD,kBAAU,WAAW,CAAC,iBAAiB,MAAM,cAAc;;AAE7D,UAAI,SAAS;AACX;;;AAGJ,aAAS,QAAQ,UAAU;MAAC,WAAW;MAAM,SAAS;;AACtD,WAAO;;AAGT,gCAA8B,OAAO,MAAM,UAAU;AACnD,UAAM,SAAS,MAAM;AACrB,UAAM,WAAW,IAAI,iBAAiB,CAAA,YAAW;AAC/C,UAAI,UAAU;AACd,iBAAW,SAAS,SAAS;AAC3B,kBAAU,WAAW,iBAAiB,MAAM,cAAc;AAC1D,kBAAU,WAAW,CAAC,iBAAiB,MAAM,YAAY;;AAE3D,UAAI,SAAS;AACX;;;AAGJ,aAAS,QAAQ,UAAU;MAAC,WAAW;MAAM,SAAS;;AACtD,WAAO;;AAGT,MAAM,qBAAqB,IAAI;AAC/B,MAAI,sBAAsB;AAE1B,4BAA0B;AACxB,UAAM,MAAM,OAAO;AACnB,QAAI,QAAQ,qBAAqB;AAC/B;;AAEF,0BAAsB;AACtB,uBAAmB,QAAQ,CAAC,QAAQ,UAAU;AAC5C,UAAI,MAAM,4BAA4B,KAAK;AACzC;;;;AAKN,yCAAuC,OAAO,QAAQ;AACpD,QAAI,CAAC,mBAAmB,MAAM;AAC5B,aAAO,iBAAiB,UAAU;;AAEpC,uBAAmB,IAAI,OAAO;;AAGhC,2CAAyC,OAAO;AAC9C,uBAAmB,OAAO;AAC1B,QAAI,CAAC,mBAAmB,MAAM;AAC5B,aAAO,oBAAoB,UAAU;;;AAIzC,gCAA8B,OAAO,MAAM,UAAU;AACnD,UAAM,SAAS,MAAM;AACrB,UAAM,YAAY,UAAU,eAAe;AAC3C,QAAI,CAAC,WAAW;AACd;;AAEF,UAAM,SAAS,UAAU,CAAC,OAAO,WAAW;AAC1C,YAAM,IAAI,UAAU;AACpB,eAAS,OAAO;AAChB,UAAI,IAAI,UAAU,aAAa;AAQ7B;;OAED;AAGH,UAAM,WAAW,IAAI,eAAe,CAAA,YAAW;AAC7C,YAAM,QAAQ,QAAQ;AACtB,YAAM,QAAQ,MAAM,YAAY;AAChC,YAAM,SAAS,MAAM,YAAY;AAIjC,UAAI,UAAU,KAAK,WAAW,GAAG;AAC/B;;AAEF,aAAO,OAAO;;AAEhB,aAAS,QAAQ;AACjB,kCAA8B,OAAO;AAErC,WAAO;;AAGT,2BAAyB,OAAO,MAAM,UAAU;AAC9C,QAAI,UAAU;AACZ,eAAS;;AAEX,QAAI,SAAS,UAAU;AACrB,sCAAgC;;;AAIpC,gCAA8B,OAAO,MAAM,UAAU;AACnD,UAAM,SAAS,MAAM;AACrB,UAAM,QAAQ,UAAU,CAAC,WAAU;AAIjC,UAAI,MAAM,QAAQ,MAAM;AACtB,iBAAS,gBAAgB,QAAO;;OAEjC;AAEH,gBAAY,QAAQ,MAAM;AAE1B,WAAO;;AAOM,kCAA0B,aAAA;IAOvC,eAAe,QAAQ,aAAa;AAIlC,YAAM,WAAU,UAAU,OAAO,cAAc,OAAO,WAAW;AASjE,UAAI,YAAW,SAAQ,WAAW,QAAQ;AAGxC,mBAAW,QAAQ;AACnB,eAAO;;AAGT,aAAO;;IAMT,eAAe,UAAS;AACtB,YAAM,SAAS,SAAQ;AACvB,UAAI,CAAC,OAAO,cAAc;AACxB,eAAO;;AAGT,YAAM,UAAU,OAAO,aAAa;AACpC;QAAC;QAAU;QAAS,QAAQ,CAAC,SAAS;AACpC,cAAM,QAAQ,QAAQ;AACtB,YAAI,cAAc,QAAQ;AACxB,iBAAO,gBAAgB;eAClB;AACL,iBAAO,aAAa,MAAM;;;AAI9B,YAAM,QAAQ,QAAQ,SAAS;AAC/B,aAAO,KAAK,OAAO,QAAQ,CAAC,QAAQ;AAClC,eAAO,MAAM,OAAO,MAAM;;AAQ5B,aAAO,QAAQ,OAAO;AAEtB,aAAO,OAAO;AACd,aAAO;;IAST,iBAAiB,OAAO,MAAM,UAAU;AAEtC,WAAK,oBAAoB,OAAO;AAEhC,YAAM,UAAU,MAAM,YAAa,OAAM,WAAW;AACpD,YAAM,YAAW;QACf,QAAQ;QACR,QAAQ;QACR,QAAQ;;AAEV,YAAM,WAAU,UAAS,SAAS;AAClC,cAAQ,QAAQ,SAAQ,OAAO,MAAM;;IAQvC,oBAAoB,OAAO,MAAM;AAC/B,YAAM,UAAU,MAAM,YAAa,OAAM,WAAW;AACpD,YAAM,QAAQ,QAAQ;AAEtB,UAAI,CAAC,OAAO;AACV;;AAGF,YAAM,YAAW;QACf,QAAQ;QACR,QAAQ;QACR,QAAQ;;AAEV,YAAM,WAAU,UAAS,SAAS;AAClC,eAAQ,OAAO,MAAM;AACrB,cAAQ,QAAQ;;IAGlB,sBAAsB;AACpB,aAAO,OAAO;;IAShB,eAAe,QAAQ,OAAO,QAAQ,aAAa;AACjD,aAAO,eAAe,QAAQ,OAAO,QAAQ;;IAM/C,WAAW,QAAQ;AACjB,YAAM,YAAY,UAAU,eAAe;AAC3C,aAAO,CAAC,CAAE,cAAa,UAAU;;;AC7X9B,2BAAyB,QAAQ;AACtC,QAAI,CAAC,qBAAsB,OAAO,oBAAoB,eAAe,kBAAkB,iBAAkB;AACvG,aAAO;;AAET,WAAO;;ACJM,uBAAM;IAAN;AAKb;AACA;AACA,oCAAS;AACT;AACA;;IAEA,gBAAgB,kBAAkC;AAChD,YAAM,EAAC,GAAG,UAAK,KAAK,SAAS;QAAC;QAAK;SAAM;AACzC,aAAO;QAAC;QAAG;;;IAGb,WAAW;AACT,aAAO,UAAS,KAAK,MAAM,UAAS,KAAK;;IAU3C,SAAS,OAAiB,OAAmD;AAC3E,YAAM,QAAQ,KAAK;AACnB,UAAI,CAAC,SAAS,CAAC,OAAO;AAEpB,eAAO;;AAET,YAAM,MAA+B;AACrC,YAAM,QAAQ,CAAC,SAAS;AACtB,YAAI,QAAQ,MAAM,SAAS,MAAM,MAAM,WAAW,MAAM,MAAM,MAAM,KAAK;;AAE3E,aAAO;;;AAnCF,gBAFM,UAEN,YAAW;AACX,gBAHM,UAGN;ACQF,oBAAkB,OAAO,OAAO;AACrC,UAAM,WAAW,MAAM,QAAQ;AAC/B,UAAM,qBAAqB,kBAAkB;AAC7C,UAAM,aAAa,KAAK,IAAI,SAAS,iBAAiB,oBAAoB;AAC1E,UAAM,eAAe,SAAS,MAAM,UAAU,gBAAgB,SAAS;AACvE,UAAM,kBAAkB,aAAa;AACrC,UAAM,QAAQ,aAAa;AAC3B,UAAM,OAAO,aAAa,kBAAkB;AAC5C,UAAM,WAAW;AAGjB,QAAI,kBAAkB,YAAY;AAChC,iBAAW,OAAO,UAAU,cAAc,kBAAkB;AAC5D,aAAO;;AAGT,UAAM,UAAU,iBAAiB,cAAc,OAAO;AAEtD,QAAI,kBAAkB,GAAG;AACvB,UAAI,GAAG;AACP,YAAM,kBAAkB,kBAAkB,IAAI,KAAK,MAAO,QAAO,SAAU,mBAAkB,MAAM;AACnG,WAAK,OAAO,UAAU,SAAS,cAAc,mBAAmB,IAAI,QAAQ,iBAAiB;AAC7F,WAAK,IAAI,GAAG,OAAO,kBAAkB,GAAG,IAAI,MAAM,KAAK;AACrD,aAAK,OAAO,UAAU,SAAS,aAAa,IAAI,aAAa,IAAI;;AAEnE,WAAK,OAAO,UAAU,SAAS,MAAM,cAAc,mBAAmB,MAAM,SAAS,OAAO;AAC5F,aAAO;;AAET,SAAK,OAAO,UAAU;AACtB,WAAO;;AAGT,6BAA2B,OAAO;AAChC,UAAM,SAAS,MAAM,QAAQ;AAC7B,UAAM,aAAa,MAAM;AACzB,UAAM,WAAW,MAAM,UAAU,aAAc,UAAS,IAAI;AAC5D,UAAM,WAAW,MAAM,aAAa;AACpC,WAAO,KAAK,MAAM,KAAK,IAAI,UAAU;;AAQvC,4BAA0B,cAAc,OAAO,YAAY;AACzD,UAAM,mBAAmB,eAAe;AACxC,UAAM,UAAU,MAAM,SAAS;AAI/B,QAAI,CAAC,kBAAkB;AACrB,aAAO,KAAK,IAAI,SAAS;;AAG3B,UAAM,UAAU,WAAW;AAC3B,aAAS,IAAI,GAAG,OAAO,QAAQ,SAAS,GAAG,IAAI,MAAM,KAAK;AACxD,YAAM,SAAS,QAAQ;AACvB,UAAI,SAAS,SAAS;AACpB,eAAO;;;AAGX,WAAO,KAAK,IAAI,SAAS;;AAM3B,2BAAyB,OAAO;AAC9B,UAAM,SAAS;AACf,QAAI,GAAG;AACP,SAAK,IAAI,GAAG,OAAO,MAAM,QAAQ,IAAI,MAAM,KAAK;AAC9C,UAAI,MAAM,GAAG,OAAO;AAClB,eAAO,KAAK;;;AAGhB,WAAO;;AAST,sBAAoB,OAAO,UAAU,cAAc,SAAS;AAC1D,QAAI,QAAQ;AACZ,QAAI,OAAO,aAAa;AACxB,QAAI;AAEJ,cAAU,KAAK,KAAK;AACpB,SAAK,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACjC,UAAI,MAAM,MAAM;AACd,iBAAS,KAAK,MAAM;AACpB;AACA,eAAO,aAAa,QAAQ;;;;AAYlC,gBAAc,OAAO,UAAU,SAAS,YAAY,UAAU;AAC5D,UAAM,SAAQ,eAAe,YAAY;AACzC,UAAM,MAAM,KAAK,IAAI,eAAe,UAAU,MAAM,SAAS,MAAM;AACnE,QAAI,QAAQ;AACZ,QAAI,QAAQ,GAAG;AAEf,cAAU,KAAK,KAAK;AACpB,QAAI,UAAU;AACZ,eAAS,WAAW;AACpB,gBAAU,SAAS,KAAK,MAAM,SAAS;;AAGzC,WAAO;AAEP,WAAO,OAAO,GAAG;AACf;AACA,aAAO,KAAK,MAAM,SAAQ,QAAQ;;AAGpC,SAAK,IAAI,KAAK,IAAI,QAAO,IAAI,IAAI,KAAK,KAAK;AACzC,UAAI,MAAM,MAAM;AACd,iBAAS,KAAK,MAAM;AACpB;AACA,eAAO,KAAK,MAAM,SAAQ,QAAQ;;;;AASxC,0BAAwB,KAAK;AAC3B,UAAM,MAAM,IAAI;AAChB,QAAI,GAAG;AAEP,QAAI,MAAM,GAAG;AACX,aAAO;;AAGT,SAAK,OAAO,IAAI,IAAI,IAAI,GAAG,IAAI,KAAK,EAAE,GAAG;AACvC,UAAI,IAAI,KAAK,IAAI,IAAI,OAAO,MAAM;AAChC,eAAO;;;AAGX,WAAO;;AChKT,MAAM,eAAe,CAAC,UAAU,UAAU,SAAS,UAAU,UAAU,UAAU,SAAS;AAC1F,MAAM,iBAAiB,CAAC,OAAO,MAAM,WAAW,SAAS,SAAS,SAAS,SAAS,MAAM,QAAQ,SAAS,MAAM,QAAQ;AACzH,MAAM,gBAAgB,CAAC,aAAa,kBAAkB,KAAK,IAAI,iBAAiB,aAAa;AAY7F,kBAAgB,KAAK,UAAU;AAC7B,UAAM,SAAS;AACf,UAAM,YAAY,IAAI,SAAS;AAC/B,UAAM,MAAM,IAAI;AAChB,QAAI,IAAI;AAER,WAAO,IAAI,KAAK,KAAK,WAAW;AAC9B,aAAO,KAAK,IAAI,KAAK,MAAM;;AAE7B,WAAO;;AAQT,+BAA6B,OAAO,QAAO,iBAAiB;AAC1D,UAAM,SAAS,MAAM,MAAM;AAC3B,UAAM,cAAa,KAAK,IAAI,QAAO,SAAS;AAC5C,UAAM,SAAQ,MAAM;AACpB,UAAM,MAAM,MAAM;AAClB,UAAM,UAAU;AAChB,QAAI,YAAY,MAAM,gBAAgB;AACtC,QAAI;AAEJ,QAAI,iBAAiB;AACnB,UAAI,WAAW,GAAG;AAChB,iBAAS,KAAK,IAAI,YAAY,QAAO,MAAM;iBAClC,WAAU,GAAG;AACtB,iBAAU,OAAM,gBAAgB,KAAK,aAAa;aAC7C;AACL,iBAAU,aAAY,MAAM,gBAAgB,cAAa,MAAM;;AAEjE,mBAAa,cAAa,SAAQ,SAAS,CAAC;AAG5C,UAAI,YAAY,SAAQ,WAAW,YAAY,MAAM,SAAS;AAC5D;;;AAGJ,WAAO;;AAOT,0BAAwB,QAAQ,QAAQ;AACtC,SAAK,QAAQ,CAAC,UAAU;AACtB,YAAM,MAAK,MAAM;AACjB,YAAM,QAAQ,IAAG,SAAS;AAC1B,UAAI;AACJ,UAAI,QAAQ,QAAQ;AAClB,aAAK,IAAI,GAAG,IAAI,OAAO,EAAE,GAAG;AAC1B,iBAAO,MAAM,KAAK,IAAG;;AAEvB,YAAG,OAAO,GAAG;;;;AAQnB,6BAA2B,SAAS;AAClC,WAAO,QAAQ,YAAY,QAAQ,aAAa;;AAMlD,0BAAwB,SAAS,UAAU;AACzC,QAAI,CAAC,QAAQ,SAAS;AACpB,aAAO;;AAGT,UAAM,OAAO,OAAO,QAAQ,MAAM;AAClC,UAAM,UAAU,UAAU,QAAQ;AAClC,UAAM,QAAQ,SAAQ,QAAQ,QAAQ,QAAQ,KAAK,SAAS;AAE5D,WAAO,QAAS,KAAK,aAAc,QAAQ;;AAG7C,8BAA4B,QAAQ,OAAO;AACzC,WAAO,cAAc,QAAQ;MAC3B;MACA,MAAM;;;AAIV,6BAA2B,QAAQ,QAAO,MAAM;AAC9C,WAAO,cAAc,QAAQ;MAC3B;MACA;MACA,MAAM;;;AAIV,sBAAoB,OAAO,UAAU,SAAS;AAE5C,QAAI,MAAM,mBAAmB;AAC7B,QAAI,WAAY,aAAa,WAAa,CAAC,WAAW,aAAa,SAAU;AAC3E,YAAM,aAAa;;AAErB,WAAO;;AAGT,qBAAmB,OAAO,QAAQ,UAAU,OAAO;AACjD,UAAM,EAAC,WAAK,MAAM,QAAQ,OAAO,UAAS;AAC1C,UAAM,EAAC,WAAW,oBAAU;AAC5B,QAAI,WAAW;AACf,QAAI,UAAU,QAAQ;AACtB,UAAM,SAAS,SAAS;AACxB,UAAM,QAAQ,QAAQ;AAEtB,QAAI,MAAM,gBAAgB;AACxB,eAAS,eAAe,OAAO,MAAM;AAErC,UAAI,UAAS,WAAW;AACtB,cAAM,iBAAiB,OAAO,KAAK,UAAU;AAC7C,cAAM,QAAQ,SAAS;AACvB,iBAAS,QAAO,gBAAgB,iBAAiB,SAAS,SAAS;iBAC1D,aAAa,UAAU;AAChC,iBAAU,WAAU,SAAS,UAAU,OAAO,IAAI,SAAS;aACtD;AACL,iBAAS,eAAe,OAAO,UAAU;;AAE3C,iBAAW,QAAQ;WACd;AACL,UAAI,UAAS,WAAW;AACtB,cAAM,iBAAiB,OAAO,KAAK,UAAU;AAC7C,cAAM,QAAQ,SAAS;AACvB,iBAAS,QAAO,gBAAgB,iBAAiB,SAAS,QAAQ;iBACzD,aAAa,UAAU;AAChC,iBAAU,WAAU,OAAO,UAAU,SAAS,IAAI,QAAQ;aACrD;AACL,iBAAS,eAAe,OAAO,UAAU;;AAE3C,eAAS,eAAe,OAAO,QAAQ;AACvC,iBAAW,aAAa,SAAS,CAAC,UAAU;;AAE9C,WAAO;MAAC;MAAQ;MAAQ;MAAU;;;AAGrB,6BAAoB,SAAA;IAGjC,YAAY,KAAK;AACf;AAGA,WAAK,KAAK,IAAI;AAEd,WAAK,OAAO,IAAI;AAEhB,WAAK,UAAU;AAEf,WAAK,MAAM,IAAI;AAEf,WAAK,QAAQ,IAAI;AAIjB,WAAK,MAAM;AAEX,WAAK,SAAS;AAEd,WAAK,OAAO;AAEZ,WAAK,QAAQ;AAEb,WAAK,QAAQ;AAEb,WAAK,SAAS;AACd,WAAK,WAAW;QACd,MAAM;QACN,OAAO;QACP,KAAK;QACL,QAAQ;;AAGV,WAAK,WAAW;AAEhB,WAAK,YAAY;AAEjB,WAAK,aAAa;AAElB,WAAK,gBAAgB;AAErB,WAAK,cAAc;AAEnB,WAAK,eAAe;AAIpB,WAAK,OAAO;AAEZ,WAAK,gBAAgB;AACrB,WAAK,MAAM;AACX,WAAK,MAAM;AACX,WAAK,SAAS;AAEd,WAAK,QAAQ;AAEb,WAAK,iBAAiB;AAEtB,WAAK,cAAc;AAEnB,WAAK,cAAc;AACnB,WAAK,UAAU;AACf,WAAK,aAAa;AAClB,WAAK,oBAAoB;AAEzB,WAAK,cAAc;AAEnB,WAAK,YAAY;AACjB,WAAK,iBAAiB;AACtB,WAAK,WAAW;AAChB,WAAK,WAAW;AAChB,WAAK,gBAAgB;AACrB,WAAK,gBAAgB;AACrB,WAAK,eAAe;AACpB,WAAK,eAAe;AACpB,WAAK,SAAS;AACd,WAAK,oBAAoB;AACzB,WAAK,WAAW;;IAOlB,KAAK,SAAS;AACZ,WAAK,UAAU,QAAQ,WAAW,KAAK;AAEvC,WAAK,OAAO,QAAQ;AAGpB,WAAK,WAAW,KAAK,MAAM,QAAQ;AACnC,WAAK,WAAW,KAAK,MAAM,QAAQ;AACnC,WAAK,gBAAgB,KAAK,MAAM,QAAQ;AACxC,WAAK,gBAAgB,KAAK,MAAM,QAAQ;;IAS1C,MAAM,KAAK,QAAO;AAChB,aAAO;;IAQT,gBAAgB;AACd,UAAI,EAAC,UAAU,UAAU,eAAe,kBAAiB;AACzD,iBAAW,gBAAgB,UAAU,OAAO;AAC5C,iBAAW,gBAAgB,UAAU,OAAO;AAC5C,sBAAgB,gBAAgB,eAAe,OAAO;AACtD,sBAAgB,gBAAgB,eAAe,OAAO;AACtD,aAAO;QACL,KAAK,gBAAgB,UAAU;QAC/B,KAAK,gBAAgB,UAAU;QAC/B,YAAY,eAAS;QACrB,YAAY,eAAS;;;IAUzB,UAAU,UAAU;AAElB,UAAI,EAAC,KAAK,KAAK,YAAY,eAAc,KAAK;AAC9C,UAAI;AAEJ,UAAI,cAAc,YAAY;AAC5B,eAAO;UAAC;UAAK;;;AAGf,YAAM,QAAQ,KAAK;AACnB,eAAS,IAAI,GAAG,OAAO,MAAM,QAAQ,IAAI,MAAM,EAAE,GAAG;AAClD,kBAAQ,MAAM,GAAG,WAAW,UAAU,MAAM;AAC5C,YAAI,CAAC,YAAY;AACf,gBAAM,KAAK,IAAI,KAAK,QAAM;;AAE5B,YAAI,CAAC,YAAY;AACf,gBAAM,KAAK,IAAI,KAAK,QAAM;;;AAK9B,YAAM,cAAc,MAAM,MAAM,MAAM;AACtC,YAAM,cAAc,MAAM,MAAM,MAAM;AAEtC,aAAO;QACL,KAAK,gBAAgB,KAAK,gBAAgB,KAAK;QAC/C,KAAK,gBAAgB,KAAK,gBAAgB,KAAK;;;IASnD,aAAa;AACX,aAAO;QACL,MAAM,KAAK,eAAe;QAC1B,KAAK,KAAK,cAAc;QACxB,OAAO,KAAK,gBAAgB;QAC5B,QAAQ,KAAK,iBAAiB;;;IASlC,WAAW;AACT,aAAO,KAAK;;IAMd,YAAY;AACV,YAAM,OAAO,KAAK,MAAM;AACxB,aAAO,KAAK,QAAQ,UAAW,MAAK,iBAAiB,KAAK,UAAU,KAAK,YAAY,KAAK,UAAU;;IAMtG,cAAc,YAAY,KAAK,MAAM,WAAW;AAC9C,YAAM,QAAQ,KAAK,eAAgB,MAAK,cAAc,KAAK,mBAAmB;AAC9E,aAAO;;IAIT,eAAe;AACb,WAAK,SAAS;AACd,WAAK,oBAAoB;;IAO3B,eAAe;AACb,eAAK,KAAK,QAAQ,cAAc;QAAC;;;IAWnC,OAAO,UAAU,WAAW,SAAS;AACnC,YAAM,EAAC,aAAa,OAAO,OAAO,aAAY,KAAK;AACnD,YAAM,aAAa,SAAS;AAG5B,WAAK;AAGL,WAAK,WAAW;AAChB,WAAK,YAAY;AACjB,WAAK,WAAW,UAAU,OAAO,OAAO;QACtC,MAAM;QACN,OAAO;QACP,KAAK;QACL,QAAQ;SACP;AAEH,WAAK,QAAQ;AACb,WAAK,cAAc;AACnB,WAAK,iBAAiB;AACtB,WAAK,cAAc;AAGnB,WAAK;AACL,WAAK;AACL,WAAK;AAEL,WAAK,aAAa,KAAK,iBACnB,KAAK,QAAQ,QAAQ,OAAO,QAAQ,QACpC,KAAK,SAAS,QAAQ,MAAM,QAAQ;AAGxC,UAAI,CAAC,KAAK,mBAAmB;AAC3B,aAAK;AACL,aAAK;AACL,aAAK;AACL,aAAK,SAAS,UAAU,MAAM,OAAO;AACrC,aAAK,oBAAoB;;AAG3B,WAAK;AAEL,WAAK,QAAQ,KAAK,gBAAgB;AAGlC,WAAK;AAIL,YAAM,kBAAkB,aAAa,KAAK,MAAM;AAChD,WAAK,sBAAsB,kBAAkB,OAAO,KAAK,OAAO,cAAc,KAAK;AAMnF,WAAK;AAGL,WAAK;AACL,WAAK;AACL,WAAK;AAGL,UAAI,SAAS,WAAY,UAAS,YAAY,SAAS,WAAW,SAAS;AACzE,aAAK,QAAQ,SAAS,MAAM,KAAK;AACjC,aAAK,cAAc;AACnB,aAAK;;AAGP,UAAI,iBAAiB;AAEnB,aAAK,sBAAsB,KAAK;;AAGlC,WAAK;AACL,WAAK;AACL,WAAK;AAIL,WAAK;;IAMP,YAAY;AACV,UAAI,gBAAgB,KAAK,QAAQ;AACjC,UAAI,YAAY;AAEhB,UAAI,KAAK,gBAAgB;AACvB,qBAAa,KAAK;AAClB,mBAAW,KAAK;aACX;AACL,qBAAa,KAAK;AAClB,mBAAW,KAAK;AAEhB,wBAAgB,CAAC;;AAEnB,WAAK,cAAc;AACnB,WAAK,YAAY;AACjB,WAAK,iBAAiB;AACtB,WAAK,UAAU,WAAW;AAC1B,WAAK,iBAAiB,KAAK,QAAQ;;IAGrC,cAAc;AACZ,eAAK,KAAK,QAAQ,aAAa;QAAC;;;IAKlC,sBAAsB;AACpB,eAAK,KAAK,QAAQ,qBAAqB;QAAC;;;IAE1C,gBAAgB;AAEd,UAAI,KAAK,gBAAgB;AAEvB,aAAK,QAAQ,KAAK;AAClB,aAAK,OAAO;AACZ,aAAK,QAAQ,KAAK;aACb;AACL,aAAK,SAAS,KAAK;AAGnB,aAAK,MAAM;AACX,aAAK,SAAS,KAAK;;AAIrB,WAAK,cAAc;AACnB,WAAK,aAAa;AAClB,WAAK,eAAe;AACpB,WAAK,gBAAgB;;IAEvB,qBAAqB;AACnB,eAAK,KAAK,QAAQ,oBAAoB;QAAC;;;IAGzC,WAAW,OAAM;AACf,WAAK,MAAM,cAAc,OAAM,KAAK;AACpC,eAAK,KAAK,QAAQ,QAAO;QAAC;;;IAI5B,mBAAmB;AACjB,WAAK,WAAW;;IAElB,sBAAsB;;IACtB,kBAAkB;AAChB,WAAK,WAAW;;IAIlB,mBAAmB;AACjB,WAAK,WAAW;;IAKlB,aAAa;AACX,aAAO;;IAET,kBAAkB;AAChB,WAAK,WAAW;;IAGlB,8BAA8B;AAC5B,eAAK,KAAK,QAAQ,6BAA6B;QAAC;;;IAMlD,mBAAmB,OAAO;AACxB,YAAM,WAAW,KAAK,QAAQ;AAC9B,UAAI,GAAG,MAAM;AACb,WAAK,IAAI,GAAG,OAAO,MAAM,QAAQ,IAAI,MAAM,KAAK;AAC9C,eAAO,MAAM;AACb,aAAK,QAAQ,SAAK,SAAS,UAAU;UAAC,KAAK;UAAO;UAAG;WAAQ;;;IAGjE,6BAA6B;AAC3B,eAAK,KAAK,QAAQ,4BAA4B;QAAC;;;IAKjD,+BAA+B;AAC7B,eAAK,KAAK,QAAQ,8BAA8B;QAAC;;;IAEnD,yBAAyB;AACvB,YAAM,UAAU,KAAK;AACrB,YAAM,WAAW,QAAQ;AACzB,YAAM,WAAW,cAAc,KAAK,MAAM,QAAQ,QAAQ,MAAM;AAChE,YAAM,cAAc,SAAS,eAAe;AAC5C,YAAM,cAAc,SAAS;AAC7B,UAAI,gBAAgB;AACpB,UAAI,WAAW,WAAW;AAE1B,UAAI,CAAC,KAAK,gBAAgB,CAAC,SAAS,WAAW,eAAe,eAAe,YAAY,KAAK,CAAC,KAAK,gBAAgB;AAClH,aAAK,gBAAgB;AACrB;;AAGF,YAAM,aAAa,KAAK;AACxB,YAAM,gBAAgB,WAAW,OAAO;AACxC,YAAM,iBAAiB,WAAW,QAAQ;AAI1C,YAAM,WAAW,YAAY,KAAK,MAAM,QAAQ,eAAe,GAAG,KAAK;AACvE,kBAAY,QAAQ,SAAS,KAAK,WAAW,WAAW,WAAY,YAAW;AAG/E,UAAI,gBAAgB,IAAI,WAAW;AACjC,oBAAY,WAAY,YAAY,SAAQ,SAAS,MAAM;AAC3D,oBAAY,KAAK,YAAY,kBAAkB,QAAQ,QACvD,SAAS,UAAU,eAAe,QAAQ,OAAO,KAAK,MAAM,QAAQ;AACpE,2BAAmB,KAAK,KAAK,gBAAgB,gBAAgB,iBAAiB;AAC9E,wBAAgB,UAAU,KAAK,IAC7B,KAAK,KAAK,YAAa,YAAW,QAAQ,SAAS,KAAK,WAAW,IAAI,KACvE,KAAK,KAAK,YAAY,YAAY,kBAAkB,IAAI,MAAM,KAAK,KAAK,YAAY,iBAAiB,kBAAkB,IAAI;AAE7H,wBAAgB,KAAK,IAAI,aAAa,KAAK,IAAI,aAAa;;AAG9D,WAAK,gBAAgB;;IAEvB,8BAA8B;AAC5B,eAAK,KAAK,QAAQ,6BAA6B;QAAC;;;IAElD,gBAAgB;;IAIhB,YAAY;AACV,eAAK,KAAK,QAAQ,WAAW;QAAC;;;IAEhC,MAAM;AAEJ,YAAM,UAAU;QACd,OAAO;QACP,QAAQ;;AAGV,YAAM,EAAC,OAAO,SAAS,EAAC,OAAO,UAAU,OAAO,WAAW,MAAM,eAAa;AAC9E,YAAM,UAAU,KAAK;AACrB,YAAM,eAAe,KAAK;AAE1B,UAAI,SAAS;AACX,cAAM,cAAc,eAAe,WAAW,MAAM,QAAQ;AAC5D,YAAI,cAAc;AAChB,kBAAQ,QAAQ,KAAK;AACrB,kBAAQ,SAAS,kBAAkB,YAAY;eAC1C;AACL,kBAAQ,SAAS,KAAK;AACtB,kBAAQ,QAAQ,kBAAkB,YAAY;;AAIhD,YAAI,SAAS,WAAW,KAAK,MAAM,QAAQ;AACzC,gBAAM,EAAC,OAAO,MAAM,QAAQ,YAAW,KAAK;AAC5C,gBAAM,cAAc,SAAS,UAAU;AACvC,gBAAM,eAAe,UAAU,KAAK;AACpC,gBAAM,MAAM,KAAK,IAAI;AACrB,gBAAM,MAAM,KAAK,IAAI;AAErB,cAAI,cAAc;AAEhB,kBAAM,cAAc,SAAS,SAAS,IAAI,MAAM,OAAO,QAAQ,MAAM,QAAQ;AAC7E,oBAAQ,SAAS,KAAK,IAAI,KAAK,WAAW,QAAQ,SAAS,cAAc;iBACpE;AAGL,kBAAM,aAAa,SAAS,SAAS,IAAI,MAAM,OAAO,QAAQ,MAAM,QAAQ;AAE5E,oBAAQ,QAAQ,KAAK,IAAI,KAAK,UAAU,QAAQ,QAAQ,aAAa;;AAEvE,eAAK,kBAAkB,OAAO,MAAM,KAAK;;;AAI7C,WAAK;AAEL,UAAI,cAAc;AAChB,aAAK,QAAQ,KAAK,UAAU,MAAM,QAAQ,KAAK,SAAS,OAAO,KAAK,SAAS;AAC7E,aAAK,SAAS,QAAQ;aACjB;AACL,aAAK,QAAQ,QAAQ;AACrB,aAAK,SAAS,KAAK,UAAU,MAAM,SAAS,KAAK,SAAS,MAAM,KAAK,SAAS;;;IAIlF,kBAAkB,OAAO,MAAM,KAAK,KAAK;AACvC,YAAM,EAAC,OAAO,EAAC,OAAO,WAAU,aAAY,KAAK;AACjD,YAAM,YAAY,KAAK,kBAAkB;AACzC,YAAM,mBAAmB,aAAa,SAAS,KAAK,SAAS;AAE7D,UAAI,KAAK,gBAAgB;AACvB,cAAM,aAAa,KAAK,gBAAgB,KAAK,KAAK;AAClD,cAAM,cAAc,KAAK,QAAQ,KAAK,gBAAgB,KAAK,MAAM,SAAS;AAC1E,YAAI,cAAc;AAClB,YAAI,eAAe;AAInB,YAAI,WAAW;AACb,cAAI,kBAAkB;AACpB,0BAAc,MAAM,MAAM;AAC1B,2BAAe,MAAM,KAAK;iBACrB;AACL,0BAAc,MAAM,MAAM;AAC1B,2BAAe,MAAM,KAAK;;mBAEnB,UAAU,SAAS;AAC5B,yBAAe,KAAK;mBACX,UAAU,OAAO;AAC1B,wBAAc,MAAM;mBACX,UAAU,SAAS;AAC5B,wBAAc,MAAM,QAAQ;AAC5B,yBAAe,KAAK,QAAQ;;AAI9B,aAAK,cAAc,KAAK,IAAK,eAAc,aAAa,WAAW,KAAK,QAAS,MAAK,QAAQ,aAAa;AAC3G,aAAK,eAAe,KAAK,IAAK,gBAAe,cAAc,WAAW,KAAK,QAAS,MAAK,QAAQ,cAAc;aAC1G;AACL,YAAI,aAAa,KAAK,SAAS;AAC/B,YAAI,gBAAgB,MAAM,SAAS;AAEnC,YAAI,UAAU,SAAS;AACrB,uBAAa;AACb,0BAAgB,MAAM;mBACb,UAAU,OAAO;AAC1B,uBAAa,KAAK;AAClB,0BAAgB;;AAGlB,aAAK,aAAa,aAAa;AAC/B,aAAK,gBAAgB,gBAAgB;;;IAQzC,iBAAiB;AACf,UAAI,KAAK,UAAU;AACjB,aAAK,SAAS,OAAO,KAAK,IAAI,KAAK,aAAa,KAAK,SAAS;AAC9D,aAAK,SAAS,MAAM,KAAK,IAAI,KAAK,YAAY,KAAK,SAAS;AAC5D,aAAK,SAAS,QAAQ,KAAK,IAAI,KAAK,cAAc,KAAK,SAAS;AAChE,aAAK,SAAS,SAAS,KAAK,IAAI,KAAK,eAAe,KAAK,SAAS;;;IAItE,WAAW;AACT,eAAK,KAAK,QAAQ,UAAU;QAAC;;;IAO/B,eAAe;AACb,YAAM,EAAC,MAAM,aAAY,KAAK;AAC9B,aAAO,aAAa,SAAS,aAAa,YAAY,SAAS;;IAKjE,aAAa;AACX,aAAO,KAAK,QAAQ;;IAOtB,sBAAsB,OAAO;AAC3B,WAAK;AAEL,WAAK,mBAAmB;AAGxB,UAAI,GAAG;AACP,WAAK,IAAI,GAAG,OAAO,MAAM,QAAQ,IAAI,MAAM,KAAK;AAC9C,YAAI,cAAc,MAAM,GAAG,QAAQ;AACjC,gBAAM,OAAO,GAAG;AAChB;AACA;;;AAIJ,WAAK;;IAOP,iBAAiB;AACf,UAAI,aAAa,KAAK;AAEtB,UAAI,CAAC,YAAY;AACf,cAAM,aAAa,KAAK,QAAQ,MAAM;AACtC,YAAI,QAAQ,KAAK;AACjB,YAAI,aAAa,MAAM,QAAQ;AAC7B,kBAAQ,OAAO,OAAO;;AAGxB,aAAK,cAAc,aAAa,KAAK,mBAAmB,OAAO,MAAM,QAAQ,KAAK,QAAQ,MAAM;;AAGlG,aAAO;;IAST,mBAAmB,OAAO,QAAQ,eAAe;AAC/C,YAAM,EAAC,KAAK,mBAAmB,WAAU;AACzC,YAAM,SAAS;AACf,YAAM,UAAU;AAChB,YAAM,YAAY,KAAK,MAAM,SAAS,cAAc,QAAQ;AAC5D,UAAI,kBAAkB;AACtB,UAAI,mBAAmB;AACvB,UAAI,GAAG,IAAG,MAAM,OAAO,UAAU,YAAY,OAAO,YAAY,OAAO,QAAQ;AAE/E,WAAK,IAAI,GAAG,IAAI,QAAQ,KAAK,WAAW;AACtC,gBAAQ,MAAM,GAAG;AACjB,mBAAW,KAAK,wBAAwB;AACxC,YAAI,OAAO,aAAa,SAAS;AACjC,gBAAQ,OAAO,cAAc,OAAO,eAAe;UAAC,MAAM;UAAI,IAAI;;AAClE,qBAAa,SAAS;AACtB,gBAAQ,SAAS;AAEjB,YAAI,CAAC,cAAc,UAAU,CAAC,SAAQ,QAAQ;AAC5C,kBAAQ,aAAa,KAAK,MAAM,MAAM,MAAM,IAAI,OAAO;AACvD,mBAAS;mBACA,SAAQ,QAAQ;AAEzB,eAAK,KAAI,GAAG,OAAO,MAAM,QAAQ,KAAI,MAAM,EAAE,IAAG;AAC9C,0BAAqC,MAAM;AAE3C,gBAAI,CAAC,cAAc,gBAAgB,CAAC,SAAQ,cAAc;AACxD,sBAAQ,aAAa,KAAK,MAAM,MAAM,MAAM,IAAI,OAAO;AACvD,wBAAU;;;;AAIhB,eAAO,KAAK;AACZ,gBAAQ,KAAK;AACb,0BAAkB,KAAK,IAAI,OAAO;AAClC,2BAAmB,KAAK,IAAI,QAAQ;;AAEtC,qBAAe,QAAQ;AAEvB,YAAM,SAAS,OAAO,QAAQ;AAC9B,YAAM,UAAU,QAAQ,QAAQ;AAEhC,YAAM,UAAU,CAAC,QAAS;QAAC,OAAO,OAAO,QAAQ;QAAG,QAAQ,QAAQ,QAAQ;;AAE5E,aAAO;QACL,OAAO,QAAQ;QACf,MAAM,QAAQ,SAAS;QACvB,QAAQ,QAAQ;QAChB,SAAS,QAAQ;QACjB;QACA;;;IASJ,iBAAiB,OAAO;AACtB,aAAO;;IAUT,iBAAiB,OAAO,QAAO;AAC7B,aAAO;;IAST,iBAAiB,OAAO;;IAQxB,gBAAgB,QAAO;AACrB,YAAM,QAAQ,KAAK;AACnB,UAAI,SAAQ,KAAK,SAAQ,MAAM,SAAS,GAAG;AACzC,eAAO;;AAET,aAAO,KAAK,iBAAiB,MAAM,QAAO;;IAS5C,mBAAmB,SAAS;AAC1B,UAAI,KAAK,gBAAgB;AACvB,kBAAU,IAAI;;AAGhB,YAAM,QAAQ,KAAK,cAAc,UAAU,KAAK;AAChD,aAAO,YAAY,KAAK,iBAAiB,YAAY,KAAK,OAAO,OAAO,KAAK;;IAO/E,mBAAmB,OAAO;AACxB,YAAM,UAAW,SAAQ,KAAK,eAAe,KAAK;AAClD,aAAO,KAAK,iBAAiB,IAAI,UAAU;;IAQ7C,eAAe;AACb,aAAO,KAAK,iBAAiB,KAAK;;IAMpC,eAAe;AACb,YAAM,EAAC,KAAK,QAAO;AAEnB,aAAO,MAAM,KAAK,MAAM,IAAI,MAC1B,MAAM,KAAK,MAAM,IAAI,MACrB;;IAMJ,WAAW,QAAO;AAChB,YAAM,QAAQ,KAAK,SAAS;AAE5B,UAAI,UAAS,KAAK,SAAQ,MAAM,QAAQ;AACtC,cAAM,OAAO,MAAM;AACnB,eAAO,KAAK,YACb,MAAK,WAAW,kBAAkB,KAAK,cAAc,QAAO;;AAE7D,aAAO,KAAK,YACZ,MAAK,WAAW,mBAAmB,KAAK,MAAM,cAAc;;IAO9D,YAAY;AACV,YAAM,cAAc,KAAK,QAAQ;AAGjC,YAAM,MAAM,UAAU,KAAK;AAC3B,YAAM,MAAM,KAAK,IAAI,KAAK,IAAI;AAC9B,YAAM,MAAM,KAAK,IAAI,KAAK,IAAI;AAE9B,YAAM,aAAa,KAAK;AACxB,YAAM,UAAU,YAAY,mBAAmB;AAC/C,YAAM,IAAI,aAAa,WAAW,OAAO,QAAQ,UAAU;AAC3D,YAAM,KAAI,aAAa,WAAW,QAAQ,SAAS,UAAU;AAG7D,aAAO,KAAK,iBACR,KAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAI,MAClC,KAAI,MAAM,IAAI,MAAM,KAAI,MAAM,IAAI;;IAOxC,aAAa;AACX,YAAM,UAAU,KAAK,QAAQ;AAE7B,UAAI,YAAY,QAAQ;AACtB,eAAO,CAAC,CAAC;;AAGX,aAAO,KAAK,0BAA0B,SAAS;;IAMjD,sBAAsB,WAAW;AAC/B,YAAM,OAAO,KAAK;AAClB,YAAM,QAAQ,KAAK;AACnB,YAAM,UAAU,KAAK;AACrB,YAAM,EAAC,MAAM,UAAU,WAAU;AACjC,YAAM,SAAS,KAAK;AACpB,YAAM,eAAe,KAAK;AAC1B,YAAM,QAAQ,KAAK;AACnB,YAAM,cAAc,MAAM,SAAU,UAAS,IAAI;AACjD,YAAM,MAAK,kBAAkB;AAC7B,YAAM,QAAQ;AAEd,YAAM,aAAa,OAAO,WAAW,KAAK;AAC1C,YAAM,YAAY,WAAW,UAAU,WAAW,QAAQ;AAC1D,YAAM,gBAAgB,YAAY;AAClC,YAAM,mBAAmB,SAAS,OAAO;AACvC,eAAO,YAAY,OAAO,OAAO;;AAEnC,UAAI,aAAa,GAAG,WAAW;AAC/B,UAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI;AAEpC,UAAI,aAAa,OAAO;AACtB,sBAAc,iBAAiB,KAAK;AACpC,cAAM,KAAK,SAAS;AACpB,cAAM,cAAc;AACpB,aAAK,iBAAiB,UAAU,OAAO;AACvC,aAAK,UAAU;iBACN,aAAa,UAAU;AAChC,sBAAc,iBAAiB,KAAK;AACpC,aAAK,UAAU;AACf,aAAK,iBAAiB,UAAU,UAAU;AAC1C,cAAM,cAAc;AACpB,cAAM,KAAK,MAAM;iBACR,aAAa,QAAQ;AAC9B,sBAAc,iBAAiB,KAAK;AACpC,cAAM,KAAK,QAAQ;AACnB,cAAM,cAAc;AACpB,aAAK,iBAAiB,UAAU,QAAQ;AACxC,aAAK,UAAU;iBACN,aAAa,SAAS;AAC/B,sBAAc,iBAAiB,KAAK;AACpC,aAAK,UAAU;AACf,aAAK,iBAAiB,UAAU,SAAS;AACzC,cAAM,cAAc;AACpB,cAAM,KAAK,OAAO;iBACT,SAAS,KAAK;AACvB,YAAI,aAAa,UAAU;AACzB,wBAAc,iBAAkB,WAAU,MAAM,UAAU,UAAU,IAAI;mBAC/D,UAAS,WAAW;AAC7B,gBAAM,iBAAiB,OAAO,KAAK,UAAU;AAC7C,gBAAM,QAAQ,SAAS;AACvB,wBAAc,iBAAiB,KAAK,MAAM,OAAO,gBAAgB,iBAAiB;;AAGpF,aAAK,UAAU;AACf,aAAK,UAAU;AACf,cAAM,cAAc;AACpB,cAAM,MAAM;iBACH,SAAS,KAAK;AACvB,YAAI,aAAa,UAAU;AACzB,wBAAc,iBAAkB,WAAU,OAAO,UAAU,SAAS;mBAC3D,UAAS,WAAW;AAC7B,gBAAM,iBAAiB,OAAO,KAAK,UAAU;AAC7C,gBAAM,QAAQ,SAAS;AACvB,wBAAc,iBAAiB,KAAK,MAAM,OAAO,gBAAgB,iBAAiB;;AAGpF,cAAM,cAAc;AACpB,cAAM,MAAM;AACZ,aAAK,UAAU;AACf,aAAK,UAAU;;AAGjB,YAAM,QAAQ,eAAe,QAAQ,MAAM,eAAe;AAC1D,YAAM,OAAO,KAAK,IAAI,GAAG,KAAK,KAAK,cAAc;AACjD,WAAK,IAAI,GAAG,IAAI,aAAa,KAAK,MAAM;AACtC,cAAM,WAAU,KAAK,WAAW;AAChC,cAAM,cAAc,KAAK,WAAW;AACpC,cAAM,oBAAoB,OAAO,WAAW;AAE5C,cAAM,YAAY,YAAY;AAC9B,cAAM,YAAY,YAAY;AAC9B,cAAM,aAAa,kBAAkB,QAAQ;AAC7C,cAAM,mBAAmB,kBAAkB;AAE3C,cAAM,YAAY,YAAY;AAC9B,cAAM,YAAY,YAAY;AAC9B,cAAM,iBAAiB,YAAY,kBAAkB;AACrD,cAAM,uBAAuB,YAAY;AAEzC,oBAAY,oBAAoB,MAAM,GAAG;AAGzC,YAAI,cAAc,QAAW;AAC3B;;AAGF,2BAAmB,YAAY,OAAO,WAAW;AAEjD,YAAI,cAAc;AAChB,gBAAM,MAAM,KAAK,KAAK;eACjB;AACL,gBAAM,MAAM,KAAK,KAAK;;AAGxB,cAAM,KAAK;UACT;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA,OAAO;UACP,OAAO;UACP;UACA;UACA;UACA;UACA;UACA;;;AAIJ,WAAK,eAAe;AACpB,WAAK,eAAe;AAEpB,aAAO;;IAMT,mBAAmB,WAAW;AAC5B,YAAM,OAAO,KAAK;AAClB,YAAM,UAAU,KAAK;AACrB,YAAM,EAAC,UAAU,OAAO,gBAAe;AACvC,YAAM,eAAe,KAAK;AAC1B,YAAM,QAAQ,KAAK;AACnB,YAAM,EAAC,OAAO,YAAY,SAAS,WAAU;AAC7C,YAAM,MAAK,kBAAkB,QAAQ;AACrC,YAAM,iBAAiB,MAAK;AAC5B,YAAM,kBAAkB,SAAS,CAAC,UAAU;AAC5C,YAAM,WAAW,CAAC,UAAU,KAAK;AACjC,YAAM,QAAQ;AACd,UAAI,GAAG,MAAM,MAAM,OAAO,GAAG,IAAG,WAAW,OAAO,MAAM,YAAY,WAAW;AAC/E,UAAI,eAAe;AAEnB,UAAI,aAAa,OAAO;AACtB,aAAI,KAAK,SAAS;AAClB,oBAAY,KAAK;iBACR,aAAa,UAAU;AAChC,aAAI,KAAK,MAAM;AACf,oBAAY,KAAK;iBACR,aAAa,QAAQ;AAC9B,cAAM,MAAM,KAAK,wBAAwB;AACzC,oBAAY,IAAI;AAChB,YAAI,IAAI;iBACC,aAAa,SAAS;AAC/B,cAAM,MAAM,KAAK,wBAAwB;AACzC,oBAAY,IAAI;AAChB,YAAI,IAAI;iBACC,SAAS,KAAK;AACvB,YAAI,aAAa,UAAU;AACzB,eAAM,WAAU,MAAM,UAAU,UAAU,IAAK;mBACtC,UAAS,WAAW;AAC7B,gBAAM,iBAAiB,OAAO,KAAK,UAAU;AAC7C,gBAAM,QAAQ,SAAS;AACvB,eAAI,KAAK,MAAM,OAAO,gBAAgB,iBAAiB,SAAS;;AAElE,oBAAY,KAAK;iBACR,SAAS,KAAK;AACvB,YAAI,aAAa,UAAU;AACzB,cAAM,WAAU,OAAO,UAAU,SAAS,IAAK;mBACtC,UAAS,WAAW;AAC7B,gBAAM,iBAAiB,OAAO,KAAK,UAAU;AAC7C,gBAAM,QAAQ,SAAS;AACvB,cAAI,KAAK,MAAM,OAAO,gBAAgB,iBAAiB;;AAEzD,oBAAY,KAAK,wBAAwB,KAAI;;AAG/C,UAAI,SAAS,KAAK;AAChB,YAAI,UAAU,SAAS;AACrB,yBAAe;mBACN,UAAU,OAAO;AAC1B,yBAAe;;;AAInB,YAAM,aAAa,KAAK;AACxB,WAAK,IAAI,GAAG,OAAO,MAAM,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC9C,eAAO,MAAM;AACb,gBAAQ,KAAK;AAEb,cAAM,cAAc,YAAY,WAAW,KAAK,WAAW;AAC3D,gBAAQ,KAAK,gBAAgB,KAAK,YAAY;AAC9C,eAAO,KAAK,wBAAwB;AACpC,qBAAa,KAAK;AAClB,oBAAY,SAAQ,SAAS,MAAM,SAAS;AAC5C,cAAM,YAAY,YAAY;AAC9B,cAAM,UAAQ,YAAY;AAC1B,cAAM,cAAc,YAAY;AAChC,cAAM,cAAc,YAAY;AAChC,YAAI,gBAAgB;AAEpB,YAAI,cAAc;AAChB,cAAI;AAEJ,cAAI,cAAc,SAAS;AACzB,gBAAI,MAAM,OAAO,GAAG;AAClB,8BAAgB,CAAC,KAAK,QAAQ,UAAU,UAAU;uBACzC,MAAM,GAAG;AAClB,8BAAgB,CAAC,KAAK,QAAQ,UAAU,SAAS;mBAC5C;AACL,8BAAgB;;;AAIpB,cAAI,aAAa,OAAO;AACtB,gBAAI,eAAe,UAAU,aAAa,GAAG;AAC3C,2BAAa,CAAC,YAAY,aAAa,aAAa;uBAC3C,eAAe,UAAU;AAClC,2BAAa,CAAC,WAAW,QAAQ,SAAS,IAAI,YAAY,aAAa;mBAClE;AACL,2BAAa,CAAC,WAAW,QAAQ,SAAS,aAAa;;iBAEpD;AAEL,gBAAI,eAAe,UAAU,aAAa,GAAG;AAC3C,2BAAa,aAAa;uBACjB,eAAe,UAAU;AAClC,2BAAa,WAAW,QAAQ,SAAS,IAAI,YAAY;mBACpD;AACL,2BAAa,WAAW,QAAQ,SAAS,YAAY;;;AAGzD,cAAI,QAAQ;AACV,0BAAc;;AAEhB,cAAI,aAAa,KAAK,CAAC,YAAY,mBAAmB;AACpD,iBAAK,aAAc,IAAK,KAAK,IAAI;;eAE9B;AACL,eAAI;AACJ,uBAAc,KAAI,aAAa,aAAa;;AAG9C,YAAI;AAEJ,YAAI,YAAY,mBAAmB;AACjC,gBAAM,eAAe,UAAU,YAAY;AAC3C,gBAAM,SAAS,WAAW,QAAQ;AAClC,gBAAM,QAAQ,WAAW,OAAO;AAEhC,cAAI,OAAM,aAAa,aAAa;AACpC,cAAI,OAAO,IAAI,aAAa;AAE5B,kBAAQ;iBACH;AACH,sBAAO,SAAS;AAChB;iBACG;AACH,sBAAO;AACP;;AAKF,kBAAQ;iBACH;AACH,sBAAQ,QAAQ;AAChB;iBACG;AACH,sBAAQ;AACR;iBACG;AACH,kBAAI,MAAM,OAAO,GAAG;AAClB,wBAAQ;yBACC,IAAI,GAAG;AAChB,wBAAQ,QAAQ;;AAElB;;AAKF,qBAAW;YACT;YACA;YACA,OAAO,QAAQ,aAAa;YAC5B,QAAQ,SAAS,aAAa;YAE9B,OAAO,YAAY;;;AAIvB,cAAM,KAAK;UACT;UACA;UACA;UACA,SAAS;YACP;YACA;YACA;YACA;YACA,WAAW;YACX;YACA,aAAa;cAAC;cAAG;;YACjB;;;;AAKN,aAAO;;IAGT,0BAA0B;AACxB,YAAM,EAAC,UAAU,UAAS,KAAK;AAC/B,YAAM,WAAW,CAAC,UAAU,KAAK;AAEjC,UAAI,UAAU;AACZ,eAAO,aAAa,QAAQ,SAAS;;AAGvC,UAAI,QAAQ;AAEZ,UAAI,MAAM,UAAU,SAAS;AAC3B,gBAAQ;iBACC,MAAM,UAAU,OAAO;AAChC,gBAAQ;iBACC,MAAM,UAAU,SAAS;AAClC,gBAAQ;;AAGV,aAAO;;IAGT,wBAAwB,KAAI;AAC1B,YAAM,EAAC,UAAU,OAAO,EAAC,YAAY,QAAQ,cAAY,KAAK;AAC9D,YAAM,aAAa,KAAK;AACxB,YAAM,iBAAiB,MAAK;AAC5B,YAAM,SAAS,WAAW,OAAO;AAEjC,UAAI;AACJ,UAAI;AAEJ,UAAI,aAAa,QAAQ;AACvB,YAAI,QAAQ;AACV,cAAI,KAAK,QAAQ;AAEjB,cAAI,eAAe,QAAQ;AACzB,wBAAY;qBACH,eAAe,UAAU;AAClC,wBAAY;AACZ,iBAAM,SAAS;iBACV;AACL,wBAAY;AACZ,iBAAK;;eAEF;AACL,cAAI,KAAK,QAAQ;AAEjB,cAAI,eAAe,QAAQ;AACzB,wBAAY;qBACH,eAAe,UAAU;AAClC,wBAAY;AACZ,iBAAM,SAAS;iBACV;AACL,wBAAY;AACZ,gBAAI,KAAK;;;iBAGJ,aAAa,SAAS;AAC/B,YAAI,QAAQ;AACV,cAAI,KAAK,OAAO;AAEhB,cAAI,eAAe,QAAQ;AACzB,wBAAY;qBACH,eAAe,UAAU;AAClC,wBAAY;AACZ,iBAAM,SAAS;iBACV;AACL,wBAAY;AACZ,iBAAK;;eAEF;AACL,cAAI,KAAK,OAAO;AAEhB,cAAI,eAAe,QAAQ;AACzB,wBAAY;qBACH,eAAe,UAAU;AAClC,wBAAY;AACZ,iBAAK,SAAS;iBACT;AACL,wBAAY;AACZ,gBAAI,KAAK;;;aAGR;AACL,oBAAY;;AAGd,aAAO;QAAC;QAAW;;;IAMrB,oBAAoB;AAClB,UAAI,KAAK,QAAQ,MAAM,QAAQ;AAC7B;;AAGF,YAAM,QAAQ,KAAK;AACnB,YAAM,WAAW,KAAK,QAAQ;AAE9B,UAAI,aAAa,UAAU,aAAa,SAAS;AAC/C,eAAO;UAAC,KAAK;UAAG,MAAM,KAAK;UAAM,QAAQ,MAAM;UAAQ,OAAO,KAAK;;;AACnE,UAAI,aAAa,SAAS,aAAa,UAAU;AACjD,eAAO;UAAC,KAAK,KAAK;UAAK,MAAM;UAAG,QAAQ,KAAK;UAAQ,OAAO,MAAM;;;;IAOtE,iBAAiB;AACf,YAAM,EAAC,KAAK,SAAS,EAAC,mBAAkB,MAAM,WAAK,OAAO,WAAU;AACpE,UAAI,iBAAiB;AACnB,YAAI;AACJ,YAAI,YAAY;AAChB,YAAI,SAAS,MAAM,MAAK,OAAO;AAC/B,YAAI;;;IAIR,qBAAqB,OAAO;AAC1B,YAAM,OAAO,KAAK,QAAQ;AAC1B,UAAI,CAAC,KAAK,gBAAgB,CAAC,KAAK,SAAS;AACvC,eAAO;;AAET,YAAM,QAAQ,KAAK;AACnB,YAAM,SAAQ,MAAM,UAAU,CAAA,OAAK,GAAE,UAAU;AAC/C,UAAI,UAAS,GAAG;AACd,cAAM,OAAO,KAAK,WAAW,KAAK,WAAW;AAC7C,eAAO,KAAK;;AAEd,aAAO;;IAMT,SAAS,WAAW;AAClB,YAAM,OAAO,KAAK,QAAQ;AAC1B,YAAM,MAAM,KAAK;AACjB,YAAM,QAAQ,KAAK,kBAAmB,MAAK,iBAAiB,KAAK,sBAAsB;AACvF,UAAI,GAAG;AAEP,YAAM,WAAW,CAAC,IAAI,IAAI,UAAU;AAClC,YAAI,CAAC,MAAM,SAAS,CAAC,MAAM,OAAO;AAChC;;AAEF,YAAI;AACJ,YAAI,YAAY,MAAM;AACtB,YAAI,cAAc,MAAM;AACxB,YAAI,YAAY,MAAM,cAAc;AACpC,YAAI,iBAAiB,MAAM;AAE3B,YAAI;AACJ,YAAI,OAAO,GAAG,GAAG,GAAG;AACpB,YAAI,OAAO,GAAG,GAAG,GAAG;AACpB,YAAI;AACJ,YAAI;;AAGN,UAAI,KAAK,SAAS;AAChB,aAAK,IAAI,GAAG,OAAO,MAAM,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC9C,gBAAM,OAAO,MAAM;AAEnB,cAAI,KAAK,iBAAiB;AACxB,qBACE;cAAC,GAAG,KAAK;cAAI,GAAG,KAAK;eACrB;cAAC,GAAG,KAAK;cAAI,GAAG,KAAK;eACrB;;AAIJ,cAAI,KAAK,WAAW;AAClB,qBACE;cAAC,GAAG,KAAK;cAAK,GAAG,KAAK;eACtB;cAAC,GAAG,KAAK;cAAK,GAAG,KAAK;eACtB;cACE,OAAO,KAAK;cACZ,OAAO,KAAK;cACZ,YAAY,KAAK;cACjB,kBAAkB,KAAK;;;;;;IAWnC,aAAa;AACX,YAAM,EAAC,OAAO,KAAK,SAAS,EAAC,QAAQ,WAAS;AAC9C,YAAM,aAAa,OAAO,WAAW,KAAK;AAC1C,YAAM,YAAY,OAAO,UAAU,WAAW,QAAQ;AACtD,UAAI,CAAC,WAAW;AACd;;AAEF,YAAM,gBAAgB,KAAK,WAAW,KAAK,WAAW,IAAI;AAC1D,YAAM,cAAc,KAAK;AACzB,UAAI,IAAI,IAAI,IAAI;AAEhB,UAAI,KAAK,gBAAgB;AACvB,aAAK,YAAY,OAAO,KAAK,MAAM,aAAa,YAAY;AAC5D,aAAK,YAAY,OAAO,KAAK,OAAO,iBAAiB,gBAAgB;AACrE,aAAK,KAAK;aACL;AACL,aAAK,YAAY,OAAO,KAAK,KAAK,aAAa,YAAY;AAC3D,aAAK,YAAY,OAAO,KAAK,QAAQ,iBAAiB,gBAAgB;AACtE,aAAK,KAAK;;AAEZ,UAAI;AACJ,UAAI,YAAY,WAAW;AAC3B,UAAI,cAAc,WAAW;AAE7B,UAAI;AACJ,UAAI,OAAO,IAAI;AACf,UAAI,OAAO,IAAI;AACf,UAAI;AAEJ,UAAI;;IAMN,WAAW,WAAW;AACpB,YAAM,cAAc,KAAK,QAAQ;AAEjC,UAAI,CAAC,YAAY,SAAS;AACxB;;AAGF,YAAM,MAAM,KAAK;AAEjB,YAAM,OAAO,KAAK;AAClB,UAAI,MAAM;AACR,iBAAS,KAAK;;AAGhB,YAAM,QAAQ,KAAK,cAAc;AACjC,iBAAW,QAAQ,OAAO;AACxB,cAAM,oBAAoB,KAAK;AAC/B,cAAM,WAAW,KAAK;AACtB,cAAM,QAAQ,KAAK;AACnB,cAAM,KAAI,KAAK;AACf,mBAAW,KAAK,OAAO,GAAG,IAAG,UAAU;;AAGzC,UAAI,MAAM;AACR,mBAAW;;;IAOf,YAAY;AACV,YAAM,EAAC,KAAK,SAAS,EAAC,UAAU,OAAO,cAAY;AAEnD,UAAI,CAAC,MAAM,SAAS;AAClB;;AAGF,YAAM,OAAO,OAAO,MAAM;AAC1B,YAAM,UAAU,UAAU,MAAM;AAChC,YAAM,QAAQ,MAAM;AACpB,UAAI,SAAS,KAAK,aAAa;AAE/B,UAAI,aAAa,YAAY,aAAa,YAAY,UAAS,WAAW;AACxE,kBAAU,QAAQ;AAClB,YAAI,SAAQ,MAAM,OAAO;AACvB,oBAAU,KAAK,aAAc,OAAM,KAAK,SAAS;;aAE9C;AACL,kBAAU,QAAQ;;AAGpB,YAAM,EAAC,QAAQ,QAAQ,UAAU,aAAY,UAAU,MAAM,QAAQ,UAAU;AAE/E,iBAAW,KAAK,MAAM,MAAM,GAAG,GAAG,MAAM;QACtC,OAAO,MAAM;QACb;QACA;QACA,WAAW,WAAW,OAAO,UAAU;QACvC,cAAc;QACd,aAAa;UAAC;UAAQ;;;;IAI1B,KAAK,WAAW;AACd,UAAI,CAAC,KAAK,cAAc;AACtB;;AAGF,WAAK;AACL,WAAK,SAAS;AACd,WAAK;AACL,WAAK;AACL,WAAK,WAAW;;IAOlB,UAAU;AACR,YAAM,OAAO,KAAK;AAClB,YAAM,KAAK,KAAK,SAAS,KAAK,MAAM,KAAK;AACzC,YAAM,KAAK,eAAe,KAAK,QAAQ,KAAK,KAAK,GAAG;AACpD,YAAM,KAAK,eAAe,KAAK,UAAU,KAAK,OAAO,GAAG;AAExD,UAAI,CAAC,KAAK,gBAAgB,KAAK,SAAS,OAAM,UAAU,MAAM;AAE5D,eAAO;UAAC;YACN,GAAG;YACH,MAAM,CAAC,cAAc;AACnB,mBAAK,KAAK;;;;;AAKhB,aAAO;QAAC;UACN,GAAG;UACH,MAAM,CAAC,cAAc;AACnB,iBAAK;AACL,iBAAK,SAAS;AACd,iBAAK;;;QAEN;UACD,GAAG;UACH,MAAM,MAAM;AACV,iBAAK;;;QAEN;UACD,GAAG;UACH,MAAM,CAAC,cAAc;AACnB,iBAAK,WAAW;;;;;IAUtB,wBAAwB,MAAM;AAC5B,YAAM,QAAQ,KAAK,MAAM;AACzB,YAAM,SAAS,KAAK,OAAO;AAC3B,YAAM,SAAS;AACf,UAAI,GAAG;AAEP,WAAK,IAAI,GAAG,OAAO,MAAM,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC9C,cAAM,QAAO,MAAM;AACnB,YAAI,MAAK,YAAY,KAAK,MAAO,EAAC,QAAQ,MAAK,SAAS,OAAO;AAC7D,iBAAO,KAAK;;;AAGhB,aAAO;;IAQT,wBAAwB,QAAO;AAC7B,YAAM,OAAO,KAAK,QAAQ,MAAM,WAAW,KAAK,WAAW;AAC3D,aAAO,OAAO,KAAK;;IAMrB,aAAa;AACX,YAAM,WAAW,KAAK,wBAAwB,GAAG;AACjD,aAAQ,MAAK,iBAAiB,KAAK,QAAQ,KAAK,UAAU;;;ACrqD/C,4BAAM;IACnB,YAAY,MAAM,OAAO,UAAU;AACjC,WAAK,OAAO;AACZ,WAAK,QAAQ;AACb,WAAK,WAAW;AAChB,WAAK,QAAQ,OAAO,OAAO;;IAG7B,UAAU,MAAM;AACd,aAAO,OAAO,UAAU,cAAc,KAAK,KAAK,KAAK,WAAW,KAAK;;IAOvE,SAAS,MAAM;AACb,YAAM,QAAQ,OAAO,eAAe;AACpC,UAAI;AAEJ,UAAI,kBAAkB,QAAQ;AAE5B,sBAAc,KAAK,SAAS;;AAG9B,YAAM,QAAQ,KAAK;AACnB,YAAM,MAAK,KAAK;AAChB,YAAM,QAAQ,KAAK,QAAQ,MAAM;AAEjC,UAAI,CAAC,KAAI;AACP,cAAM,IAAI,MAAM,6BAA6B;;AAG/C,UAAI,OAAM,OAAO;AAEf,eAAO;;AAGT,YAAM,OAAM;AACZ,uBAAiB,MAAM,OAAO;AAC9B,UAAI,KAAK,UAAU;AACjB,kBAAS,SAAS,KAAK,IAAI,KAAK;;AAGlC,aAAO;;IAOT,IAAI,KAAI;AACN,aAAO,KAAK,MAAM;;IAMpB,WAAW,MAAM;AACf,YAAM,QAAQ,KAAK;AACnB,YAAM,MAAK,KAAK;AAChB,YAAM,QAAQ,KAAK;AAEnB,UAAI,OAAM,OAAO;AACf,eAAO,MAAM;;AAGf,UAAI,SAAS,OAAM,UAAS,QAAQ;AAClC,eAAO,UAAS,OAAO;AACvB,YAAI,KAAK,UAAU;AACjB,iBAAO,WAAU;;;;;AAMzB,4BAA0B,MAAM,OAAO,aAAa;AAElD,UAAM,eAAe,MAAM,OAAO,OAAO,OAAO;MAC9C,cAAc,UAAS,IAAI,eAAe;MAC1C,UAAS,IAAI;MACb,KAAK;;AAGP,cAAS,IAAI,OAAO;AAEpB,QAAI,KAAK,eAAe;AACtB,oBAAc,OAAO,KAAK;;AAG5B,QAAI,KAAK,aAAa;AACpB,gBAAS,SAAS,OAAO,KAAK;;;AAIlC,yBAAuB,OAAO,QAAQ;AACpC,WAAO,KAAK,QAAQ,QAAQ,CAAA,aAAY;AACtC,YAAM,gBAAgB,SAAS,MAAM;AACrC,YAAM,aAAa,cAAc;AACjC,YAAM,cAAc;QAAC;QAAO,OAAO,eAAe,KAAK;AACvD,YAAM,QAAQ,OAAO,UAAU,MAAM;AACrC,YAAM,aAAa,MAAM;AACzB,YAAM,cAAc,MAAM,KAAK;AAC/B,gBAAS,MAAM,aAAa,YAAY,aAAa;;;AAIzD,6BAA2B,OAAO;AAChC,WAAO,QAAQ,SAAS,cAAc;;ACzGjC,uBAAM;IACX,cAAc;AACZ,WAAK,cAAc,IAAI,cAAc,mBAAmB,YAAY;AACpE,WAAK,WAAW,IAAI,cAAc,UAAS;AAC3C,WAAK,UAAU,IAAI,cAAc,QAAQ;AACzC,WAAK,SAAS,IAAI,cAAc,QAAO;AAGvC,WAAK,mBAAmB;QAAC,KAAK;QAAa,KAAK;QAAQ,KAAK;;;IAM/D,OAAO,MAAM;AACX,WAAK,MAAM,YAAY;;IAGzB,UAAU,MAAM;AACd,WAAK,MAAM,cAAc;;IAM3B,kBAAkB,MAAM;AACtB,WAAK,MAAM,YAAY,MAAM,KAAK;;IAMpC,eAAe,MAAM;AACnB,WAAK,MAAM,YAAY,MAAM,KAAK;;IAMpC,cAAc,MAAM;AAClB,WAAK,MAAM,YAAY,MAAM,KAAK;;IAMpC,aAAa,MAAM;AACjB,WAAK,MAAM,YAAY,MAAM,KAAK;;IAOpC,cAAc,KAAI;AAChB,aAAO,KAAK,KAAK,KAAI,KAAK,aAAa;;IAOzC,WAAW,KAAI;AACb,aAAO,KAAK,KAAK,KAAI,KAAK,UAAU;;IAOtC,UAAU,KAAI;AACZ,aAAO,KAAK,KAAK,KAAI,KAAK,SAAS;;IAOrC,SAAS,KAAI;AACX,aAAO,KAAK,KAAK,KAAI,KAAK,QAAQ;;IAMpC,qBAAqB,MAAM;AACzB,WAAK,MAAM,cAAc,MAAM,KAAK;;IAMtC,kBAAkB,MAAM;AACtB,WAAK,MAAM,cAAc,MAAM,KAAK;;IAMtC,iBAAiB,MAAM;AACrB,WAAK,MAAM,cAAc,MAAM,KAAK;;IAMtC,gBAAgB,MAAM;AACpB,WAAK,MAAM,cAAc,MAAM,KAAK;;IAMtC,MAAM,QAAQ,MAAM,eAAe;AACjC;QAAI,GAAA;QAAM,QAAQ,CAAA,QAAO;AACvB,cAAM,MAAM,iBAAiB,KAAK,oBAAoB;AACtD,YAAI,iBAAiB,IAAI,UAAU,QAAS,QAAQ,KAAK,WAAW,IAAI,IAAK;AAC3E,eAAK,MAAM,QAAQ,KAAK;eACnB;AAKL,eAAK,KAAK,CAAA,SAAQ;AAOhB,kBAAM,UAAU,iBAAiB,KAAK,oBAAoB;AAC1D,iBAAK,MAAM,QAAQ,SAAS;;;;;IASpC,MAAM,QAAQ,WAAU,WAAW;AACjC,YAAM,cAAc,YAAY;AAChC,eAAK,UAAU,WAAW,cAAc,IAAI;AAC5C,gBAAS,QAAQ;AACjB,eAAK,UAAU,UAAU,cAAc,IAAI;;IAM7C,oBAAoB,MAAM;AACxB,eAAS,IAAI,GAAG,IAAI,KAAK,iBAAiB,QAAQ,KAAK;AACrD,cAAM,MAAM,KAAK,iBAAiB;AAClC,YAAI,IAAI,UAAU,OAAO;AACvB,iBAAO;;;AAIX,aAAO,KAAK;;IAMd,KAAK,KAAI,eAAe,MAAM;AAC5B,YAAM,OAAO,cAAc,IAAI;AAC/B,UAAI,SAAS,QAAW;AACtB,cAAM,IAAI,MAAM,MAAM,MAAK,2BAA2B,OAAO;;AAE/D,aAAO;;;AAMX,MAAA,WAA+B,oBAAI;ACtKpB,4BAAM;IACnB,cAAc;AACZ,WAAK,QAAQ;;IAaf,OAAO,OAAO,MAAM,MAAM,QAAQ;AAChC,UAAI,SAAS,cAAc;AACzB,aAAK,QAAQ,KAAK,mBAAmB,OAAO;AAC5C,aAAK,QAAQ,KAAK,OAAO,OAAO;;AAGlC,YAAM,eAAc,SAAS,KAAK,aAAa,OAAO,OAAO,UAAU,KAAK,aAAa;AACzF,YAAM,SAAS,KAAK,QAAQ,cAAa,OAAO,MAAM;AAEtD,UAAI,SAAS,gBAAgB;AAC3B,aAAK,QAAQ,cAAa,OAAO;AACjC,aAAK,QAAQ,KAAK,OAAO,OAAO;;AAElC,aAAO;;IAMT,QAAQ,cAAa,OAAO,MAAM,MAAM;AACtC,aAAO,QAAQ;AACf,iBAAW,cAAc,cAAa;AACpC,cAAM,SAAS,WAAW;AAC1B,cAAM,SAAS,OAAO;AACtB,cAAM,SAAS;UAAC;UAAO;UAAM,WAAW;;AACxC,YAAI,SAAa,QAAQ,QAAQ,YAAY,SAAS,KAAK,YAAY;AACrE,iBAAO;;;AAIX,aAAO;;IAGT,aAAa;AAMX,UAAI,CAAC,cAAc,KAAK,SAAS;AAC/B,aAAK,YAAY,KAAK;AACtB,aAAK,SAAS;;;IAQlB,aAAa,OAAO;AAClB,UAAI,KAAK,QAAQ;AACf,eAAO,KAAK;;AAGd,YAAM,eAAc,KAAK,SAAS,KAAK,mBAAmB;AAE1D,WAAK,oBAAoB;AAEzB,aAAO;;IAGT,mBAAmB,OAAO,KAAK;AAC7B,YAAM,SAAS,SAAS,MAAM;AAC9B,YAAM,UAAU,eAAe,OAAO,WAAW,OAAO,QAAQ,SAAS;AACzE,YAAM,WAAU,WAAW;AAE3B,aAAO,YAAY,SAAS,CAAC,MAAM,KAAK,kBAAkB,OAAO,UAAS,SAAS;;IAOrF,oBAAoB,OAAO;AACzB,YAAM,sBAAsB,KAAK,aAAa;AAC9C,YAAM,eAAc,KAAK;AACzB,YAAM,OAAO,CAAC,GAAG,MAAM,EAAE,OAAO,CAAA,MAAK,CAAC,EAAE,KAAK,CAAA,OAAK,EAAE,OAAO,OAAO,GAAE,OAAO;AAC3E,WAAK,QAAQ,KAAK,qBAAqB,eAAc,OAAO;AAC5D,WAAK,QAAQ,KAAK,cAAa,sBAAsB,OAAO;;;AAOhE,sBAAoB,QAAQ;AAC1B,UAAM,WAAW;AACjB,UAAM,WAAU;AAChB,UAAM,OAAO,OAAO,KAAK,SAAS,QAAQ;AAC1C,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,eAAQ,KAAK,SAAS,UAAU,KAAK;;AAGvC,UAAM,QAAQ,OAAO,WAAW;AAChC,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,YAAM,SAAS,MAAM;AAErB,UAAI,SAAQ,QAAQ,YAAY,IAAI;AAClC,iBAAQ,KAAK;AACb,iBAAS,OAAO,MAAM;;;AAI1B,WAAO;MAAC;MAAS;;;AAGnB,mBAAiB,SAAS,KAAK;AAC7B,QAAI,CAAC,OAAO,YAAY,OAAO;AAC7B,aAAO;;AAET,QAAI,YAAY,MAAM;AACpB,aAAO;;AAET,WAAO;;AAGT,6BAA2B,OAAO,EAAC,mBAAS,YAAW,SAAS,KAAK;AACnE,UAAM,SAAS;AACf,UAAM,WAAU,MAAM;AAEtB,eAAW,UAAU,UAAS;AAC5B,YAAM,MAAK,OAAO;AAClB,YAAM,OAAO,QAAQ,QAAQ,MAAK;AAClC,UAAI,SAAS,MAAM;AACjB;;AAEF,aAAO,KAAK;QACV;QACA,SAAS,WAAW,MAAM,QAAQ;UAAC;UAAQ,OAAO,SAAS;WAAM,MAAM;;;AAI3E,WAAO;;AAGT,sBAAoB,QAAQ,EAAC,QAAQ,SAAQ,MAAM,UAAS;AAC1D,UAAM,OAAO,OAAO,gBAAgB;AACpC,UAAM,SAAS,OAAO,gBAAgB,MAAM;AAC5C,QAAI,SAAS,OAAO,UAAU;AAE5B,aAAO,KAAK,OAAO;;AAErB,WAAO,OAAO,eAAe,QAAQ,UAAS;MAAC;OAAK;MAElD,YAAY;MACZ,WAAW;MACX,SAAS;;;AChLN,wBAAsB,MAAM,SAAS;AAC1C,UAAM,kBAAkB,UAAS,SAAS,SAAS;AACnD,UAAM,iBAAkB,SAAQ,YAAY,IAAI,SAAS;AACzD,WAAO,eAAe,aAAa,QAAQ,aAAa,gBAAgB,aAAa;;AAGvF,qCAAmC,KAAI,WAAW;AAChD,QAAI,OAAO;AACX,QAAI,QAAO,WAAW;AACpB,aAAO;eACE,QAAO,WAAW;AAC3B,aAAO,cAAc,MAAM,MAAM;;AAEnC,WAAO;;AAGT,qCAAmC,MAAM,WAAW;AAClD,WAAO,SAAS,YAAY,YAAY;;AAG1C,yBAAuB,KAAI;AACzB,QAAI,QAAO,OAAO,QAAO,OAAO,QAAO,KAAK;AAC1C,aAAO;;;AAIX,4BAA0B,UAAU;AAClC,QAAI,aAAa,SAAS,aAAa,UAAU;AAC/C,aAAO;;AAET,QAAI,aAAa,UAAU,aAAa,SAAS;AAC/C,aAAO;;;AAIJ,yBAAuB,QAAO,cAAc;AACjD,QAAI,cAAc,MAAK;AACrB,aAAO;;AAET,eAAW,QAAQ,cAAc;AAC/B,YAAM,OAAO,KAAK,QACb,iBAAiB,KAAK,aACtB,IAAG,SAAS,KAAK,cAAc,IAAG,GAAG;AAC1C,UAAI,MAAM;AACR,eAAO;;;AAGX,UAAM,IAAI,MAAM,6BAA6B;;AAG/C,8BAA4B,KAAI,MAAM,SAAS;AAC7C,QAAI,QAAQ,OAAO,cAAc,KAAI;AACnC,aAAO;QAAC;;;;AAIZ,oCAAkC,KAAI,QAAQ;AAC5C,QAAI,OAAO,QAAQ,OAAO,KAAK,UAAU;AACvC,YAAM,UAAU,OAAO,KAAK,SAAS,OAAO,CAAC,OAAM,GAAE,YAAY,OAAM,GAAE,YAAY;AACrF,UAAI,QAAQ,QAAQ;AAClB,eAAO,mBAAmB,KAAI,KAAK,QAAQ,OAAO,mBAAmB,KAAI,KAAK,QAAQ;;;AAG1F,WAAO;;AAGT,4BAA0B,QAAQ,SAAS;AACzC,UAAM,gBAAgB,WAAU,OAAO,SAAS;MAAC,QAAQ;;AACzD,UAAM,eAAe,QAAQ,UAAU;AACvC,UAAM,iBAAiB,aAAa,OAAO,MAAM;AACjD,UAAM,UAAS,OAAO,OAAO;AAG7B,WAAO,KAAK,cAAc,QAAQ,CAAA,QAAM;AACtC,YAAM,YAAY,aAAa;AAC/B,UAAI,CAAC,UAAS,YAAY;AACxB,eAAO,QAAQ,MAAM,0CAA0C;;AAEjE,UAAI,UAAU,QAAQ;AACpB,eAAO,QAAQ,KAAK,kDAAkD;;AAExE,YAAM,OAAO,cAAc,KAAI,WAAW,yBAAyB,KAAI,SAAS,UAAS,OAAO,UAAU;AAC1G,YAAM,YAAY,0BAA0B,MAAM;AAClD,YAAM,sBAAsB,cAAc,UAAU;AACpD,cAAO,OAAM,QAAQ,OAAO,OAAO,OAAO;QAAC;UAAC;;QAAO;QAAW,oBAAoB;QAAO,oBAAoB;;;AAI/G,WAAO,KAAK,SAAS,QAAQ,CAAA,YAAW;AACtC,YAAM,OAAO,QAAQ,QAAQ,OAAO;AACpC,YAAM,YAAY,QAAQ,aAAa,aAAa,MAAM;AAC1D,YAAM,kBAAkB,WAAU,SAAS;AAC3C,YAAM,sBAAsB,gBAAgB,UAAU;AACtD,aAAO,KAAK,qBAAqB,QAAQ,CAAA,cAAa;AACpD,cAAM,OAAO,0BAA0B,WAAW;AAClD,cAAM,MAAK,QAAQ,OAAO,aAAa;AACvC,gBAAO,OAAM,QAAO,QAAO,OAAO,OAAO;AACzC,gBAAQ,QAAO,MAAK;UAAC;YAAC;;UAAO,aAAa;UAAK,oBAAoB;;;;AAKvE,WAAO,KAAK,SAAQ,QAAQ,CAAA,QAAO;AACjC,YAAM,QAAQ,QAAO;AACrB,cAAQ,OAAO;QAAC,UAAS,OAAO,MAAM;QAAO,UAAS;;;AAGxD,WAAO;;AAGT,uBAAqB,QAAQ;AAC3B,UAAM,UAAU,OAAO,WAAY,QAAO,UAAU;AAEpD,YAAQ,UAAU,eAAe,QAAQ,SAAS;AAClD,YAAQ,SAAS,iBAAiB,QAAQ;;AAG5C,oBAAkB,MAAM;AACtB,WAAO,QAAQ;AACf,SAAK,WAAW,KAAK,YAAY;AACjC,SAAK,SAAS,KAAK,UAAU;AAC7B,WAAO;;AAGT,sBAAoB,QAAQ;AAC1B,aAAS,UAAU;AACnB,WAAO,OAAO,SAAS,OAAO;AAE9B,gBAAY;AAEZ,WAAO;;AAGT,MAAM,WAAW,IAAI;AACrB,MAAM,aAAa,IAAI;AAEvB,sBAAoB,UAAU,UAAU;AACtC,QAAI,OAAO,SAAS,IAAI;AACxB,QAAI,CAAC,MAAM;AACT,aAAO;AACP,eAAS,IAAI,UAAU;AACvB,iBAAW,IAAI;;AAEjB,WAAO;;AAGT,MAAM,aAAa,CAAC,MAAK,KAAK,QAAQ;AACpC,UAAM,OAAO,iBAAiB,KAAK;AACnC,QAAI,SAAS,QAAW;AACtB,WAAI,IAAI;;;AAIG,qBAAM;IACnB,YAAY,QAAQ;AAClB,WAAK,UAAU,WAAW;AAC1B,WAAK,cAAc,IAAI;AACvB,WAAK,iBAAiB,IAAI;;QAGxB,WAAW;AACb,aAAO,KAAK,QAAQ;;QAGlB,OAAO;AACT,aAAO,KAAK,QAAQ;;QAGlB,KAAK,MAAM;AACb,WAAK,QAAQ,OAAO;;QAGlB,OAAO;AACT,aAAO,KAAK,QAAQ;;QAGlB,KAAK,MAAM;AACb,WAAK,QAAQ,OAAO,SAAS;;QAG3B,UAAU;AACZ,aAAO,KAAK,QAAQ;;QAGlB,QAAQ,SAAS;AACnB,WAAK,QAAQ,UAAU;;QAGrB,UAAU;AACZ,aAAO,KAAK,QAAQ;;IAGtB,SAAS;AACP,YAAM,SAAS,KAAK;AACpB,WAAK;AACL,kBAAY;;IAGd,aAAa;AACX,WAAK,YAAY;AACjB,WAAK,eAAe;;IAStB,iBAAiB,aAAa;AAC5B,aAAO,WAAW,aAChB,MAAM;QAAC;UACL,YAAY;UACZ;;;;IAWN,0BAA0B,aAAa,YAAY;AACjD,aAAO,WAAW,GAAG,0BAA0B,cAC7C,MAAM;QACJ;UACE,YAAY,2BAA2B;UACvC,eAAe;;QAGjB;UACE,YAAY;UACZ;;;;IAaR,wBAAwB,aAAa,aAAa;AAChD,aAAO,WAAW,GAAG,eAAe,eAClC,MAAM;QAAC;UACL,YAAY,wBAAwB;UACpC,YAAY;UACZ,YAAY;UACZ;;;;IASN,gBAAgB,QAAQ;AACtB,YAAM,MAAK,OAAO;AAClB,YAAM,OAAO,KAAK;AAClB,aAAO,WAAW,GAAG,eAAe,OAClC,MAAM;QAAC;UACL,WAAW;aACR,OAAO,0BAA0B;;;;IAO1C,cAAc,WAAW,YAAY;AACnC,YAAM,cAAc,KAAK;AACzB,UAAI,QAAQ,YAAY,IAAI;AAC5B,UAAI,CAAC,SAAS,YAAY;AACxB,gBAAQ,IAAI;AACZ,oBAAY,IAAI,WAAW;;AAE7B,aAAO;;IAST,gBAAgB,WAAW,UAAU,YAAY;AAC/C,YAAM,EAAC,SAAS,SAAQ;AACxB,YAAM,QAAQ,KAAK,cAAc,WAAW;AAC5C,YAAM,SAAS,MAAM,IAAI;AACzB,UAAI,QAAQ;AACV,eAAO;;AAGT,YAAM,SAAS,IAAI;AAEnB,eAAS,QAAQ,CAAA,SAAQ;AACvB,YAAI,WAAW;AACb,iBAAO,IAAI;AACX,eAAK,QAAQ,CAAA,QAAO,WAAW,QAAQ,WAAW;;AAEpD,aAAK,QAAQ,CAAA,QAAO,WAAW,QAAQ,SAAS;AAChD,aAAK,QAAQ,CAAA,QAAO,WAAW,QAAQ,WAAU,SAAS,IAAI;AAC9D,aAAK,QAAQ,CAAA,QAAO,WAAW,QAAQ,WAAU;AACjD,aAAK,QAAQ,CAAA,QAAO,WAAW,QAAQ,aAAa;;AAGtD,YAAM,QAAQ,MAAM,KAAK;AACzB,UAAI,MAAM,WAAW,GAAG;AACtB,cAAM,KAAK,OAAO,OAAO;;AAE3B,UAAI,WAAW,IAAI,WAAW;AAC5B,cAAM,IAAI,UAAU;;AAEtB,aAAO;;IAOT,oBAAoB;AAClB,YAAM,EAAC,SAAS,SAAQ;AAExB,aAAO;QACL;QACA,WAAU,SAAS;QACnB,UAAS,SAAS,SAAS;QAC3B;UAAC;;QACD;QACA;;;IAWJ,oBAAoB,QAAQ,QAAO,UAAS,WAAW;MAAC;OAAK;AAC3D,YAAM,SAAS;QAAC,SAAS;;AACzB,YAAM,EAAC,UAAU,gBAAe,YAAY,KAAK,gBAAgB,QAAQ;AACzE,UAAI,UAAU;AACd,UAAI,YAAY,UAAU,SAAQ;AAChC,eAAO,UAAU;AACjB,mBAAU,YAAW,YAAW,aAAY;AAE5C,cAAM,cAAc,KAAK,eAAe,QAAQ,UAAS;AACzD,kBAAU,eAAe,UAAU,UAAS;;AAG9C,iBAAW,QAAQ,QAAO;AACxB,eAAO,QAAQ,QAAQ;;AAEzB,aAAO;;IAST,eAAe,QAAQ,UAAS,WAAW;MAAC;OAAK,oBAAoB;AACnE,YAAM,EAAC,aAAY,YAAY,KAAK,gBAAgB,QAAQ;AAC5D,aAAO,UAAS,YACZ,eAAe,UAAU,UAAS,QAAW,sBAC7C;;;AAIR,uBAAqB,eAAe,QAAQ,UAAU;AACpD,QAAI,QAAQ,cAAc,IAAI;AAC9B,QAAI,CAAC,OAAO;AACV,cAAQ,IAAI;AACZ,oBAAc,IAAI,QAAQ;;AAE5B,UAAM,WAAW,SAAS;AAC1B,QAAI,SAAS,MAAM,IAAI;AACvB,QAAI,CAAC,QAAQ;AACX,YAAM,WAAW,gBAAgB,QAAQ;AACzC,eAAS;QACP;QACA,aAAa,SAAS,OAAO,CAAA,MAAK,CAAC,EAAE,cAAc,SAAS;;AAE9D,YAAM,IAAI,UAAU;;AAEtB,WAAO;;AAGT,MAAM,cAAc,CAAA,UAAS,UAAS,UACjC,OAAO,oBAAoB,OAAO,KAAK,CAAC,QAAQ,YAAW,MAAM;AAEtE,uBAAqB,OAAO,QAAO;AACjC,UAAM,EAAC,cAAc,gBAAe,aAAa;AAEjD,eAAW,QAAQ,QAAO;AACxB,YAAM,aAAa,aAAa;AAChC,YAAM,YAAY,YAAY;AAC9B,YAAM,QAAS,cAAa,eAAe,MAAM;AACjD,UAAK,cAAe,aAAW,UAAU,YAAY,WAC/C,aAAa,SAAQ,QAAS;AAClC,eAAO;;;AAGX,WAAO;;;AC5YT,MAAM,kBAAkB;IAAC;IAAO;IAAU;IAAQ;IAAS;;AAC3D,gCAA8B,UAAU,MAAM;AAC5C,WAAO,aAAa,SAAS,aAAa,YAAa,gBAAgB,QAAQ,cAAc,MAAM,SAAS;;AAG9G,yBAAuB,IAAI,IAAI;AAC7B,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,EAAE,QAAQ,EAAE,MACf,EAAE,MAAM,EAAE,MACV,EAAE,MAAM,EAAE;;;AAIlB,gCAA8B,UAAS;AACrC,UAAM,QAAQ,SAAQ;AACtB,UAAM,mBAAmB,MAAM,QAAQ;AAEvC,UAAM,cAAc;AACpB,aAAa,oBAAoB,iBAAiB,YAAY;MAAC;OAAU;;AAG3E,+BAA6B,UAAS;AACpC,UAAM,QAAQ,SAAQ;AACtB,UAAM,mBAAmB,MAAM,QAAQ;AACvC,aAAa,oBAAoB,iBAAiB,YAAY;MAAC;OAAU;;AAO3E,qBAAmB,MAAM;AACvB,QAAI,qBAAqB,OAAO,SAAS,UAAU;AACjD,aAAO,SAAS,eAAe;eACtB,QAAQ,KAAK,QAAQ;AAE9B,aAAO,KAAK;;AAGd,QAAI,QAAQ,KAAK,QAAQ;AAEvB,aAAO,KAAK;;AAEd,WAAO;;AAGT,MAAM,YAAY;AAClB,MAAM,WAAW,CAAC,QAAQ;AACxB,UAAM,SAAS,UAAU;AACzB,WAAO,OAAO,OAAO,WAAW,OAAO,CAAC,OAAM,GAAE,WAAW,QAAQ;;AAGrE,2BAAyB,KAAK,QAAO,MAAM;AACzC,UAAM,OAAO,OAAO,KAAK;AACzB,eAAW,OAAO,MAAM;AACtB,YAAM,SAAS,CAAC;AAChB,UAAI,UAAU,QAAO;AACnB,cAAM,QAAQ,IAAI;AAClB,eAAO,IAAI;AACX,YAAI,OAAO,KAAK,SAAS,QAAO;AAC9B,cAAI,SAAS,QAAQ;;;;;AAa7B,8BAA4B,GAAG,WAAW,aAAa,SAAS;AAC9D,QAAI,CAAC,eAAe,EAAE,SAAS,YAAY;AACzC,aAAO;;AAET,QAAI,SAAS;AACX,aAAO;;AAET,WAAO;;AAGT,0BAAwB,OAAO,WAAW,OAAO;AAC/C,WAAO,MAAM,QAAQ,OAAO,MAAM,SAAS,UAAU;;AAGvD,0BAAwB,OAAM,WAAW;AACvC,UAAM,EAAC,QAAQ,WAAU;AACzB,QAAI,UAAU,QAAQ;AACpB,aAAO;QACL,MAAM,eAAe,QAAQ,WAAW;QACxC,OAAO,eAAe,QAAQ,WAAW;QACzC,KAAK,eAAe,QAAQ,WAAW;QACvC,QAAQ,eAAe,QAAQ,WAAW;;;AAG9C,WAAO;;AAGT,oBAAM;WASG,YAAY,OAAO;AACxB,eAAS,IAAO,GAAA;AAChB;;WAGK,cAAc,OAAO;AAC1B,eAAS,OAAU,GAAA;AACnB;;IAIF,YAAY,MAAM,YAAY;AAC5B,YAAM,SAAS,KAAK,SAAS,IAAI,OAAO;AACxC,YAAM,gBAAgB,UAAU;AAChC,YAAM,gBAAgB,SAAS;AAC/B,UAAI,eAAe;AACjB,cAAM,IAAI,MACR,8CAA+C,cAAc,KAAK,oDAClB,cAAc,OAAO,KAAK;;AAI9E,YAAM,UAAU,OAAO,eAAe,OAAO,qBAAqB,KAAK;AAEvE,WAAK,WAAW,IAAK,QAAO,YAAY,gBAAgB;AACxD,WAAK,SAAS,aAAa;AAE3B,YAAM,WAAU,KAAK,SAAS,eAAe,eAAe,QAAQ;AACpE,YAAM,SAAS,YAAW,SAAQ;AAClC,YAAM,SAAS,UAAU,OAAO;AAChC,YAAM,QAAQ,UAAU,OAAO;AAE/B,WAAK,KAAK;AACV,WAAK,MAAM;AACX,WAAK,SAAS;AACd,WAAK,QAAQ;AACb,WAAK,SAAS;AACd,WAAK,WAAW;AAIhB,WAAK,eAAe,KAAK;AACzB,WAAK,UAAU;AACf,WAAK,YAAY;AACjB,WAAK,UAAU;AACf,WAAK,QAAQ;AACb,WAAK,0BAA0B;AAC/B,WAAK,YAAY;AACjB,WAAK,UAAU;AACf,WAAK,aAAa;AAClB,WAAK,aAAa;AAElB,WAAK,uBAAuB;AAC5B,WAAK,kBAAkB;AACvB,WAAK,SAAS;AACd,WAAK,WAAW,IAAI;AACpB,WAAK,WAAW;AAChB,WAAK,iBAAiB;AACtB,WAAK,WAAW;AAChB,WAAK,sBAAsB;AAC3B,WAAK,WAAW;AAChB,WAAK,YAAY,UAAS,CAAA,SAAQ,KAAK,OAAO,OAAO,QAAQ,eAAe;AAC5E,WAAK,eAAe;AAGpB,gBAAU,KAAK,MAAM;AAErB,UAAI,CAAC,YAAW,CAAC,QAAQ;AAKvB,gBAAQ,MAAM;AACd;;AAGF,eAAS,OAAO,MAAM,YAAY;AAClC,eAAS,OAAO,MAAM,YAAY;AAElC,WAAK;AACL,UAAI,KAAK,UAAU;AACjB,aAAK;;;QAIL,cAAc;AAChB,YAAM,EAAC,SAAS,EAAC,aAAa,uBAAsB,OAAO,QAAQ,iBAAgB;AACnF,UAAI,CAAC,cAAc,cAAc;AAE/B,eAAO;;AAGT,UAAI,uBAAuB,cAAc;AAEvC,eAAO;;AAIT,aAAO,SAAS,QAAQ,SAAS;;QAG/B,OAAO;AACT,aAAO,KAAK,OAAO;;QAGjB,KAAK,MAAM;AACb,WAAK,OAAO,OAAO;;QAGjB,UAAU;AACZ,aAAO,KAAK;;QAGV,QAAQ,SAAS;AACnB,WAAK,OAAO,UAAU;;QAGpB,WAAW;AACb,aAAO;;IAMT,cAAc;AAEZ,WAAK,cAAc;AAEnB,UAAI,KAAK,QAAQ,YAAY;AAC3B,aAAK;aACA;AACL,oBAAY,MAAM,KAAK,QAAQ;;AAGjC,WAAK;AAGL,WAAK,cAAc;AAEnB,aAAO;;IAGT,QAAQ;AACN,kBAAY,KAAK,QAAQ,KAAK;AAC9B,aAAO;;IAGT,OAAO;AACL,eAAS,KAAK;AACd,aAAO;;IAQT,OAAO,OAAO,QAAQ;AACpB,UAAI,CAAC,SAAS,QAAQ,OAAO;AAC3B,aAAK,QAAQ,OAAO;aACf;AACL,aAAK,oBAAoB;UAAC;UAAO;;;;IAIrC,QAAQ,OAAO,QAAQ;AACrB,YAAM,UAAU,KAAK;AACrB,YAAM,SAAS,KAAK;AACpB,YAAM,cAAc,QAAQ,uBAAuB,KAAK;AACxD,YAAM,UAAU,KAAK,SAAS,eAAe,QAAQ,OAAO,QAAQ;AACpE,YAAM,WAAW,QAAQ,oBAAoB,KAAK,SAAS;AAC3D,YAAM,OAAO,KAAK,QAAQ,WAAW;AAErC,WAAK,QAAQ,QAAQ;AACrB,WAAK,SAAS,QAAQ;AACtB,WAAK,eAAe,KAAK;AACzB,UAAI,CAAC,YAAY,MAAM,UAAU,OAAO;AACtC;;AAGF,WAAK,cAAc,UAAU;QAAC,MAAM;;AAEpC,eAAa,QAAQ,UAAU;QAAC;QAAM;SAAU;AAEhD,UAAI,KAAK,UAAU;AACjB,YAAI,KAAK,UAAU,OAAO;AAExB,eAAK;;;;IAKX,sBAAsB;AACpB,YAAM,UAAU,KAAK;AACrB,YAAM,gBAAgB,QAAQ,UAAU;AAExC,WAAK,eAAe,CAAC,aAAa,WAAW;AAC3C,oBAAY,KAAK;;;IAOrB,sBAAsB;AACpB,YAAM,UAAU,KAAK;AACrB,YAAM,YAAY,QAAQ;AAC1B,YAAM,UAAS,KAAK;AACpB,YAAM,UAAU,OAAO,KAAK,SAAQ,OAAO,CAAC,KAAK,QAAO;AACtD,YAAI,OAAM;AACV,eAAO;SACN;AACH,UAAI,QAAQ;AAEZ,UAAI,WAAW;AACb,gBAAQ,MAAM,OACZ,OAAO,KAAK,WAAW,IAAI,CAAC,QAAO;AACjC,gBAAM,eAAe,UAAU;AAC/B,gBAAM,OAAO,cAAc,KAAI;AAC/B,gBAAM,WAAW,SAAS;AAC1B,gBAAM,eAAe,SAAS;AAC9B,iBAAO;YACL,SAAS;YACT,WAAW,WAAW,cAAc,eAAe,WAAW;YAC9D,OAAO,WAAW,iBAAiB,eAAe,aAAa;;;;AAMvE,WAAK,OAAO,CAAC,SAAS;AACpB,cAAM,eAAe,KAAK;AAC1B,cAAM,MAAK,aAAa;AACxB,cAAM,OAAO,cAAc,KAAI;AAC/B,cAAM,YAAY,eAAe,aAAa,MAAM,KAAK;AAEzD,YAAI,aAAa,aAAa,UAAa,qBAAqB,aAAa,UAAU,UAAU,qBAAqB,KAAK,YAAY;AACrI,uBAAa,WAAW,KAAK;;AAG/B,gBAAQ,OAAM;AACd,YAAI,QAAQ;AACZ,YAAI,OAAM,WAAU,QAAO,KAAI,SAAS,WAAW;AACjD,kBAAQ,QAAO;eACV;AACL,gBAAM,aAAa,SAAS,SAAS;AACrC,kBAAQ,IAAI,WAAW;YACrB;YACA,MAAM;YACN,KAAK,KAAK;YACV,OAAO;;AAET,kBAAO,MAAM,MAAM;;AAGrB,cAAM,KAAK,cAAc;;AAG3B,WAAK,SAAS,CAAC,YAAY,QAAO;AAChC,YAAI,CAAC,YAAY;AACf,iBAAO,QAAO;;;AAIlB,WAAK,SAAQ,CAAC,UAAU;AACtB,gBAAQ,UAAU,MAAM,OAAO,MAAM;AACrC,gBAAQ,OAAO,MAAM;;;IAOzB,kBAAkB;AAChB,YAAM,WAAW,KAAK;AACtB,YAAM,UAAU,KAAK,KAAK,SAAS;AACnC,YAAM,UAAU,SAAS;AAEzB,eAAS,KAAK,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE;AACpC,UAAI,UAAU,SAAS;AACrB,iBAAS,IAAI,SAAS,IAAI,SAAS,EAAE,GAAG;AACtC,eAAK,oBAAoB;;AAE3B,iBAAS,OAAO,SAAS,UAAU;;AAErC,WAAK,kBAAkB,SAAS,MAAM,GAAG,KAAK,cAAc,SAAS;;IAMvE,8BAA8B;AAC5B,YAAM,EAAC,WAAW,UAAU,MAAM,EAAC,eAAa;AAChD,UAAI,SAAS,SAAS,SAAS,QAAQ;AACrC,eAAO,KAAK;;AAEd,eAAS,QAAQ,CAAC,OAAM,WAAU;AAChC,YAAI,SAAS,OAAO,CAAA,MAAK,MAAM,MAAK,UAAU,WAAW,GAAG;AAC1D,eAAK,oBAAoB;;;;IAK/B,2BAA2B;AACzB,YAAM,iBAAiB;AACvB,YAAM,WAAW,KAAK,KAAK;AAC3B,UAAI,GAAG;AAEP,WAAK;AAEL,WAAK,IAAI,GAAG,OAAO,SAAS,QAAQ,IAAI,MAAM,KAAK;AACjD,cAAM,UAAU,SAAS;AACzB,YAAI,QAAO,KAAK,eAAe;AAC/B,cAAM,OAAO,QAAQ,QAAQ,KAAK,OAAO;AAEzC,YAAI,MAAK,QAAQ,MAAK,SAAS,MAAM;AACnC,eAAK,oBAAoB;AACzB,kBAAO,KAAK,eAAe;;AAE7B,cAAK,OAAO;AACZ,cAAK,YAAY,QAAQ,aAAa,aAAa,MAAM,KAAK;AAC9D,cAAK,QAAQ,QAAQ,SAAS;AAC9B,cAAK,QAAQ;AACb,cAAK,QAAQ,KAAK,QAAQ;AAC1B,cAAK,UAAU,KAAK,iBAAiB;AAErC,YAAI,MAAK,YAAY;AACnB,gBAAK,WAAW,YAAY;AAC5B,gBAAK,WAAW;eACX;AACL,gBAAM,kBAAkB,SAAS,cAAc;AAC/C,gBAAM,EAAC,oBAAoB,oBAAmB,UAAS,SAAS;AAChE,iBAAO,OAAO,iBAAiB;YAC7B,iBAAiB,SAAS,WAAW;YACrC,oBAAoB,sBAAsB,SAAS,WAAW;;AAEhE,gBAAK,aAAa,IAAI,gBAAgB,MAAM;AAC5C,yBAAe,KAAK,MAAK;;;AAI7B,WAAK;AACL,aAAO;;IAOT,iBAAiB;AACf,WAAK,KAAK,KAAK,UAAU,CAAC,SAAS,iBAAiB;AAClD,aAAK,eAAe,cAAc,WAAW;SAC5C;;IAML,QAAQ;AACN,WAAK;AACL,WAAK,cAAc;;IAGrB,OAAO,MAAM;AACX,YAAM,SAAS,KAAK;AAEpB,aAAO;AACP,YAAM,UAAU,KAAK,WAAW,OAAO,eAAe,OAAO,qBAAqB,KAAK;AACvF,YAAM,gBAAgB,KAAK,sBAAsB,CAAC,QAAQ;AAE1D,WAAK;AACL,WAAK;AACL,WAAK;AAIL,WAAK,SAAS;AAEd,UAAI,KAAK,cAAc,gBAAgB;QAAC;QAAM,YAAY;aAAW,OAAO;AAC1E;;AAIF,YAAM,iBAAiB,KAAK;AAE5B,WAAK,cAAc;AAGnB,UAAI,aAAa;AACjB,eAAS,IAAI,GAAG,OAAO,KAAK,KAAK,SAAS,QAAQ,IAAI,MAAM,KAAK;AAC/D,cAAM,EAAC,eAAc,KAAK,eAAe;AACzC,cAAM,QAAQ,CAAC,iBAAiB,eAAe,QAAQ,gBAAgB;AAGvE,mBAAW,sBAAsB;AACjC,qBAAa,KAAK,IAAI,CAAC,WAAW,kBAAkB;;AAEtD,mBAAa,KAAK,cAAc,QAAQ,OAAO,cAAc,aAAa;AAC1E,WAAK,cAAc;AAGnB,UAAI,CAAC,eAAe;AAGlB,aAAK,gBAAgB,CAAC,eAAe;AACnC,qBAAW;;;AAIf,WAAK,gBAAgB;AAGrB,WAAK,cAAc,eAAe;QAAC;;AAEnC,WAAK,QAAQ,KAAK,cAAc,KAAK;AAGrC,YAAM,EAAC,SAAS,eAAc;AAC9B,UAAI,YAAY;AACd,aAAK,cAAc,YAAY;iBACtB,QAAQ,QAAQ;AACzB,aAAK,mBAAmB,SAAS,SAAS;;AAG5C,WAAK;;IAMP,gBAAgB;AACd,WAAK,KAAK,QAAQ,CAAC,UAAU;AAC3B,gBAAQ,UAAU,MAAM;;AAG1B,WAAK;AACL,WAAK;;IAMP,sBAAsB;AACpB,YAAM,UAAU,KAAK;AACrB,YAAM,iBAAiB,IAAI,IAAI,OAAO,KAAK,KAAK;AAChD,YAAM,YAAY,IAAI,IAAI,QAAQ;AAElC,UAAI,CAAC,UAAU,gBAAgB,cAAc,CAAC,CAAC,KAAK,yBAAyB,QAAQ,YAAY;AAE/F,aAAK;AACL,aAAK;;;IAOT,uBAAuB;AACrB,YAAM,EAAC,mBAAkB;AACzB,YAAM,UAAU,KAAK,4BAA4B;AACjD,iBAAW,EAAC,QAAQ,eAAO,WAAU,SAAS;AAC5C,cAAM,OAAO,WAAW,oBAAoB,CAAC,QAAQ;AACrD,wBAAgB,gBAAgB,QAAO;;;IAO3C,yBAAyB;AACvB,YAAM,eAAe,KAAK;AAC1B,UAAI,CAAC,gBAAgB,CAAC,aAAa,QAAQ;AACzC;;AAGF,WAAK,eAAe;AACpB,YAAM,eAAe,KAAK,KAAK,SAAS;AACxC,YAAM,UAAU,CAAC,QAAQ,IAAI,IAC3B,aACG,OAAO,CAAA,OAAK,GAAE,OAAO,KACrB,IAAI,CAAC,IAAG,MAAM,IAAI,MAAM,GAAE,OAAO,GAAG,KAAK;AAG9C,YAAM,YAAY,QAAQ;AAC1B,eAAS,IAAI,GAAG,IAAI,cAAc,KAAK;AACrC,YAAI,CAAC,UAAU,WAAW,QAAQ,KAAK;AACrC;;;AAGJ,aAAO,MAAM,KAAK,WACf,IAAI,CAAA,OAAK,GAAE,MAAM,MACjB,IAAI,CAAA,MAAM;QAAC,QAAQ,EAAE;QAAI,OAAO,CAAC,EAAE;QAAI,OAAO,CAAC,EAAE;;;IAQtD,cAAc,YAAY;AACxB,UAAI,KAAK,cAAc,gBAAgB;QAAC,YAAY;aAAW,OAAO;AACpE;;AAGF,cAAQ,OAAO,MAAM,KAAK,OAAO,KAAK,QAAQ;AAE9C,YAAM,OAAO,KAAK;AAClB,YAAM,SAAS,KAAK,SAAS,KAAK,KAAK,UAAU;AAEjD,WAAK,UAAU;AACf,WAAK,KAAK,OAAO,CAAC,QAAQ;AACxB,YAAI,UAAU,IAAI,aAAa,aAAa;AAE1C;;AAKF,YAAI,IAAI,WAAW;AACjB,cAAI;;AAEN,aAAK,QAAQ,KAAI,GAAI,IAAI;SACxB;AAEH,WAAK,QAAQ,QAAQ,CAAC,MAAM,WAAU;AACpC,aAAK,OAAO;;AAGd,WAAK,cAAc;;IAQrB,gBAAgB,MAAM;AACpB,UAAI,KAAK,cAAc,wBAAwB;QAAC;QAAM,YAAY;aAAW,OAAO;AAClF;;AAGF,eAAS,IAAI,GAAG,OAAO,KAAK,KAAK,SAAS,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC/D,aAAK,eAAe,GAAG,WAAW;;AAGpC,eAAS,IAAI,GAAG,OAAO,KAAK,KAAK,SAAS,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC/D,aAAK,eAAe,GAAG,YAAW,QAAQ,KAAK;UAAC,cAAc;aAAM;;AAGtE,WAAK,cAAc,uBAAuB;QAAC;;;IAQ7C,eAAe,QAAO,MAAM;AAC1B,YAAM,QAAO,KAAK,eAAe;AACjC,YAAM,OAAO;QAAC;QAAM;QAAO;QAAM,YAAY;;AAE7C,UAAI,KAAK,cAAc,uBAAuB,UAAU,OAAO;AAC7D;;AAGF,YAAK,WAAW,QAAQ;AAExB,WAAK,aAAa;AAClB,WAAK,cAAc,sBAAsB;;IAG3C,SAAS;AACP,UAAI,KAAK,cAAc,gBAAgB;QAAC,YAAY;aAAW,OAAO;AACpE;;AAGF,UAAI,SAAS,IAAI,OAAO;AACtB,YAAI,KAAK,YAAY,CAAC,SAAS,QAAQ,OAAO;AAC5C,mBAAS,MAAM;;aAEZ;AACL,aAAK;AACL,6BAAqB;UAAC,OAAO;;;;IAIjC,OAAO;AACL,UAAI;AACJ,UAAI,KAAK,mBAAmB;AAC1B,cAAM,EAAC,OAAO,WAAU,KAAK;AAC7B,aAAK,QAAQ,OAAO;AACpB,aAAK,oBAAoB;;AAE3B,WAAK;AAEL,UAAI,KAAK,SAAS,KAAK,KAAK,UAAU,GAAG;AACvC;;AAGF,UAAI,KAAK,cAAc,cAAc;QAAC,YAAY;aAAW,OAAO;AAClE;;AAMF,YAAM,SAAS,KAAK;AACpB,WAAK,IAAI,GAAG,IAAI,OAAO,UAAU,OAAO,GAAG,KAAK,GAAG,EAAE,GAAG;AACtD,eAAO,GAAG,KAAK,KAAK;;AAGtB,WAAK;AAGL,aAAO,IAAI,OAAO,QAAQ,EAAE,GAAG;AAC7B,eAAO,GAAG,KAAK,KAAK;;AAGtB,WAAK,cAAc;;IAMrB,uBAAuB,eAAe;AACpC,YAAM,WAAW,KAAK;AACtB,YAAM,SAAS;AACf,UAAI,GAAG;AAEP,WAAK,IAAI,GAAG,OAAO,SAAS,QAAQ,IAAI,MAAM,EAAE,GAAG;AACjD,cAAM,QAAO,SAAS;AACtB,YAAI,CAAC,iBAAiB,MAAK,SAAS;AAClC,iBAAO,KAAK;;;AAIhB,aAAO;;IAOT,+BAA+B;AAC7B,aAAO,KAAK,uBAAuB;;IAQrC,gBAAgB;AACd,UAAI,KAAK,cAAc,sBAAsB;QAAC,YAAY;aAAW,OAAO;AAC1E;;AAGF,YAAM,WAAW,KAAK;AACtB,eAAS,IAAI,SAAS,SAAS,GAAG,KAAK,GAAG,EAAE,GAAG;AAC7C,aAAK,aAAa,SAAS;;AAG7B,WAAK,cAAc;;IAQrB,aAAa,OAAM;AACjB,YAAM,MAAM,KAAK;AACjB,YAAM,QAAO,MAAK;AAClB,YAAM,UAAU,CAAC,MAAK;AACtB,YAAM,OAAO,eAAe,OAAM,KAAK;AACvC,YAAM,OAAO;QACX;QACA,OAAO,MAAK;QACZ,YAAY;;AAGd,UAAI,KAAK,cAAc,qBAAqB,UAAU,OAAO;AAC3D;;AAGF,UAAI,SAAS;AACX,iBAAS,KAAK;UACZ,MAAM,MAAK,SAAS,QAAQ,IAAI,KAAK,OAAO,MAAK;UACjD,OAAO,MAAK,UAAU,QAAQ,KAAK,QAAQ,KAAK,QAAQ,MAAK;UAC7D,KAAK,MAAK,QAAQ,QAAQ,IAAI,KAAK,MAAM,MAAK;UAC9C,QAAQ,MAAK,WAAW,QAAQ,KAAK,SAAS,KAAK,SAAS,MAAK;;;AAIrE,YAAK,WAAW;AAEhB,UAAI,SAAS;AACX,mBAAW;;AAGb,WAAK,aAAa;AAClB,WAAK,cAAc,oBAAoB;;IAQzC,cAAc,OAAO;AACnB,aAAO,eAAe,OAAO,KAAK,WAAW,KAAK;;IAGpD,0BAA0B,GAAG,MAAM,SAAS,kBAAkB;AAC5D,YAAM,SAAS,YAAY,MAAM;AACjC,UAAI,OAAO,WAAW,YAAY;AAChC,eAAO,OAAO,MAAM,GAAG,SAAS;;AAGlC,aAAO;;IAGT,eAAe,cAAc;AAC3B,YAAM,UAAU,KAAK,KAAK,SAAS;AACnC,YAAM,WAAW,KAAK;AACtB,UAAI,QAAO,SAAS,OAAO,CAAA,MAAK,KAAK,EAAE,aAAa,SAAS;AAE7D,UAAI,CAAC,OAAM;AACT,gBAAO;UACL,MAAM;UACN,MAAM;UACN,SAAS;UACT,YAAY;UACZ,QAAQ;UACR,SAAS;UACT,SAAS;UACT,OAAO,WAAW,QAAQ,SAAS;UACnC,OAAO;UACP,UAAU;UACV,SAAS;UACT,SAAS;;AAEX,iBAAS,KAAK;;AAGhB,aAAO;;IAGT,aAAa;AACX,aAAO,KAAK,YAAa,MAAK,WAAW,cAAc,MAAM;QAAC,OAAO;QAAM,MAAM;;;IAGnF,yBAAyB;AACvB,aAAO,KAAK,+BAA+B;;IAG7C,iBAAiB,cAAc;AAC7B,YAAM,UAAU,KAAK,KAAK,SAAS;AACnC,UAAI,CAAC,SAAS;AACZ,eAAO;;AAGT,YAAM,QAAO,KAAK,eAAe;AAIjC,aAAO,OAAO,MAAK,WAAW,YAAY,CAAC,MAAK,SAAS,CAAC,QAAQ;;IAGpE,qBAAqB,cAAc,SAAS;AAC1C,YAAM,QAAO,KAAK,eAAe;AACjC,YAAK,SAAS,CAAC;;IAGjB,qBAAqB,QAAO;AAC1B,WAAK,eAAe,UAAS,CAAC,KAAK,eAAe;;IAGpD,kBAAkB,QAAO;AACvB,aAAO,CAAC,KAAK,eAAe;;IAM9B,kBAAkB,cAAc,WAAW,SAAS;AAClD,YAAM,OAAO,UAAU,SAAS;AAChC,YAAM,QAAO,KAAK,eAAe;AACjC,YAAM,QAAQ,MAAK,WAAW,mBAAmB,QAAW;AAE5D,UAAI,QAAQ,YAAY;AACtB,cAAK,KAAK,WAAW,SAAS,CAAC;AAC/B,aAAK;aACA;AACL,aAAK,qBAAqB,cAAc;AAExC,cAAM,OAAO,OAAM;UAAC;;AACpB,aAAK,OAAO,CAAC,QAAQ,IAAI,iBAAiB,eAAe,OAAO;;;IAIpE,KAAK,cAAc,WAAW;AAC5B,WAAK,kBAAkB,cAAc,WAAW;;IAGlD,KAAK,cAAc,WAAW;AAC5B,WAAK,kBAAkB,cAAc,WAAW;;IAMlD,oBAAoB,cAAc;AAChC,YAAM,QAAO,KAAK,UAAU;AAC5B,UAAI,SAAQ,MAAK,YAAY;AAC3B,cAAK,WAAW;;AAElB,aAAO,KAAK,UAAU;;IAGxB,QAAQ;AACN,UAAI,GAAG;AACP,WAAK;AACL,eAAS,OAAO;AAEhB,WAAK,IAAI,GAAG,OAAO,KAAK,KAAK,SAAS,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC3D,aAAK,oBAAoB;;;IAI7B,UAAU;AACR,WAAK,cAAc;AACnB,YAAM,EAAC,QAAQ,QAAO;AAEtB,WAAK;AACL,WAAK,OAAO;AAEZ,UAAI,QAAQ;AACV,aAAK;AACL,oBAAY,QAAQ;AACpB,aAAK,SAAS,eAAe;AAC7B,aAAK,SAAS;AACd,aAAK,MAAM;;AAGb,aAAO,UAAU,KAAK;AAEtB,WAAK,cAAc;;IAGrB,iBAAiB,MAAM;AACrB,aAAO,KAAK,OAAO,UAAa,GAAA;;IAMlC,aAAa;AACX,WAAK;AACL,UAAI,KAAK,QAAQ,YAAY;AAC3B,aAAK;aACA;AACL,aAAK,WAAW;;;IAOpB,iBAAiB;AACf,YAAM,YAAY,KAAK;AACvB,YAAM,WAAW,KAAK;AAEtB,YAAM,OAAO,CAAC,MAAM,cAAa;AAC/B,iBAAS,iBAAiB,MAAM,MAAM;AACtC,kBAAU,QAAQ;;AAGpB,YAAM,WAAW,CAAC,GAAG,GAAG,OAAM;AAC5B,UAAE,UAAU;AACZ,UAAE,UAAU;AACZ,aAAK,cAAc;;AAGrB,WAAK,KAAK,QAAQ,QAAQ,CAAC,SAAS,KAAK,MAAM;;IAMjD,uBAAuB;AACrB,UAAI,CAAC,KAAK,sBAAsB;AAC9B,aAAK,uBAAuB;;AAE9B,YAAM,YAAY,KAAK;AACvB,YAAM,WAAW,KAAK;AAEtB,YAAM,OAAO,CAAC,MAAM,cAAa;AAC/B,iBAAS,iBAAiB,MAAM,MAAM;AACtC,kBAAU,QAAQ;;AAEpB,YAAM,UAAU,CAAC,MAAM,cAAa;AAClC,YAAI,UAAU,OAAO;AACnB,mBAAS,oBAAoB,MAAM,MAAM;AACzC,iBAAO,UAAU;;;AAIrB,YAAM,WAAW,CAAC,OAAO,WAAW;AAClC,YAAI,KAAK,QAAQ;AACf,eAAK,OAAO,OAAO;;;AAIvB,UAAI;AACJ,YAAM,WAAW,MAAM;AACrB,gBAAQ,UAAU;AAElB,aAAK,WAAW;AAChB,aAAK;AAEL,aAAK,UAAU;AACf,aAAK,UAAU;;AAGjB,iBAAW,MAAM;AACf,aAAK,WAAW;AAEhB,gBAAQ,UAAU;AAGlB,aAAK;AACL,aAAK,QAAQ,GAAG;AAEhB,aAAK,UAAU;;AAGjB,UAAI,SAAS,WAAW,KAAK,SAAS;AACpC;aACK;AACL;;;IAOJ,eAAe;AACb,WAAK,KAAK,YAAY,CAAC,UAAU,SAAS;AACxC,aAAK,SAAS,oBAAoB,MAAM,MAAM;;AAEhD,WAAK,aAAa;AAElB,WAAK,KAAK,sBAAsB,CAAC,UAAU,SAAS;AAClD,aAAK,SAAS,oBAAoB,MAAM,MAAM;;AAEhD,WAAK,uBAAuB;;IAG9B,iBAAiB,OAAO,MAAM,SAAS;AACrC,YAAM,SAAS,UAAU,QAAQ;AACjC,UAAI,OAAM,MAAM,GAAG;AAEnB,UAAI,SAAS,WAAW;AACtB,gBAAO,KAAK,eAAe,MAAM,GAAG;AACpC,cAAK,WAAW,MAAM,SAAS;;AAGjC,WAAK,IAAI,GAAG,OAAO,MAAM,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC9C,eAAO,MAAM;AACb,cAAM,aAAa,QAAQ,KAAK,eAAe,KAAK,cAAc;AAClE,YAAI,YAAY;AACd,qBAAW,SAAS,cAAc,KAAK,SAAS,KAAK,cAAc,KAAK;;;;IAS9E,oBAAoB;AAClB,aAAO,KAAK,WAAW;;IAOzB,kBAAkB,gBAAgB;AAChC,YAAM,aAAa,KAAK,WAAW;AACnC,YAAM,SAAS,eAAe,IAAI,CAAC,EAAC,cAAc,oBAAW;AAC3D,cAAM,QAAO,KAAK,eAAe;AACjC,YAAI,CAAC,OAAM;AACT,gBAAM,IAAI,MAAM,+BAA+B;;AAGjD,eAAO;UACL;UACA,SAAS,MAAK,KAAK;UACnB;;;AAGJ,YAAM,UAAU,CAAC,eAAe,QAAQ;AAExC,UAAI,SAAS;AACX,aAAK,UAAU;AAEf,aAAK,aAAa;AAClB,aAAK,mBAAmB,QAAQ;;;IAapC,cAAc,MAAM,MAAM,QAAQ;AAChC,aAAO,KAAK,SAAS,OAAO,MAAM,MAAM,MAAM;;IAQhD,gBAAgB,UAAU;AACxB,aAAO,KAAK,SAAS,OAAO,OAAO,CAAA,MAAK,EAAE,OAAO,OAAO,UAAU,WAAW;;IAM/E,mBAAmB,QAAQ,YAAY,QAAQ;AAC7C,YAAM,eAAe,KAAK,QAAQ;AAClC,YAAM,OAAO,CAAC,GAAG,MAAM,EAAE,OAAO,CAAA,MAAK,CAAC,EAAE,KAAK,CAAA,OAAK,EAAE,iBAAiB,GAAE,gBAAgB,EAAE,UAAU,GAAE;AACrG,YAAM,cAAc,KAAK,YAAY;AACrC,YAAM,YAAY,SAAS,SAAS,KAAK,QAAQ;AAEjD,UAAI,YAAY,QAAQ;AACtB,aAAK,iBAAiB,aAAa,aAAa,MAAM;;AAGxD,UAAI,UAAU,UAAU,aAAa,MAAM;AACzC,aAAK,iBAAiB,WAAW,aAAa,MAAM;;;IAOxD,cAAc,GAAG,QAAQ;AACvB,YAAM,OAAO;QACX,OAAO;QACP;QACA,YAAY;QACZ,aAAa,KAAK,cAAc;;AAElC,YAAM,cAAc,CAAC,WAAY,QAAO,QAAQ,UAAU,KAAK,QAAQ,QAAQ,SAAS,EAAE,OAAO;AAEjG,UAAI,KAAK,cAAc,eAAe,MAAM,iBAAiB,OAAO;AAClE;;AAGF,YAAM,UAAU,KAAK,aAAa,GAAG,QAAQ,KAAK;AAElD,WAAK,aAAa;AAClB,WAAK,cAAc,cAAc,MAAM;AAEvC,UAAI,WAAW,KAAK,SAAS;AAC3B,aAAK;;AAGP,aAAO;;IAWT,aAAa,GAAG,QAAQ,aAAa;AACnC,YAAM,EAAC,SAAS,aAAa,IAAI,YAAW;AAe5C,YAAM,mBAAmB;AACzB,YAAM,SAAS,KAAK,mBAAmB,GAAG,YAAY,aAAa;AACnE,YAAM,UAAU,cAAc;AAC9B,YAAM,YAAY,mBAAmB,GAAG,KAAK,YAAY,aAAa;AAEtE,UAAI,aAAa;AAGf,aAAK,aAAa;AAGlB,iBAAa,QAAQ,SAAS;UAAC;UAAG;UAAQ;WAAO;AAEjD,YAAI,SAAS;AACX,mBAAa,QAAQ,SAAS;YAAC;YAAG;YAAQ;aAAO;;;AAIrD,YAAM,UAAU,CAAC,eAAe,QAAQ;AACxC,UAAI,WAAW,QAAQ;AACrB,aAAK,UAAU;AACf,aAAK,mBAAmB,QAAQ,YAAY;;AAG9C,WAAK,aAAa;AAElB,aAAO;;IAWT,mBAAmB,GAAG,YAAY,aAAa,kBAAkB;AAC/D,UAAI,EAAE,SAAS,YAAY;AACzB,eAAO;;AAGT,UAAI,CAAC,aAAa;AAEhB,eAAO;;AAGT,YAAM,eAAe,KAAK,QAAQ;AAClC,aAAO,KAAK,0BAA0B,GAAG,aAAa,MAAM,cAAc;;;AAxoCrE,gBAFT,OAES,YAAW;AACX,gBAHT,OAGS,aAAY;AACZ,gBAJT,OAIS,aAAY;AACZ,gBALT,OAKS,YAAW;AACX,gBANT,OAMS,WAAU;AACV,gBAPT,OAOS,YAAW;AAwoCpB,+BAA6B;AAC3B,WAAO,KAAK,MAAM,WAAW,CAAC,UAAU,MAAM,SAAS;;ACjwCzD,mBAAiB,KAA+B,SAAqB,UAAkB;AACrF,UAAM,EAAC,YAAY,aAAa,GAAG,OAAG,aAAa,gBAAe;AAClE,QAAI,cAAc,cAAc;AAIhC,QAAI;AACJ,QAAI,IAAI,GAAG,IAAG,aAAa,aAAa,aAAa,WAAW;AAChE,QAAI,cAAc,aAAa;AAC7B,oBAAc,cAAc;AAC5B,UAAI,IAAI,GAAG,IAAG,aAAa,WAAW,aAAa,aAAa,aAAa;WACxE;AACL,UAAI,IAAI,GAAG,IAAG,aAAa,WAAW,SAAS,aAAa;;AAE9D,QAAI;AACJ,QAAI;;AAGN,2BAAyB,OAAO;AAC9B,WAAO,kBAAkB,OAAO;MAAC;MAAc;MAAY;MAAc;;;AAM3E,+BAA2B,KAAiB,aAAqB,aAAqB,YAAoB;AACxG,UAAM,IAAI,gBAAgB,IAAI,QAAQ;AACtC,UAAM,gBAAiB,eAAc,eAAe;AACpD,UAAM,aAAa,KAAK,IAAI,eAAe,aAAa,cAAc;AAStE,UAAM,oBAAoB,CAAC,QAAQ;AACjC,YAAM,gBAAiB,eAAc,KAAK,IAAI,eAAe,QAAQ,aAAa;AAClF,aAAO,YAAY,KAAK,GAAG,KAAK,IAAI,eAAe;;AAGrD,WAAO;MACL,YAAY,kBAAkB,EAAE;MAChC,UAAU,kBAAkB,EAAE;MAC9B,YAAY,YAAY,EAAE,YAAY,GAAG;MACzC,UAAU,YAAY,EAAE,UAAU,GAAG;;;AAOzC,sBAAoB,GAAW,OAAe,GAAW,IAAW;AAClE,WAAO;MACL,GAAG,IAAI,IAAI,KAAK,IAAI;MACpB,GAAG,KAAI,IAAI,KAAK,IAAI;;;AAmBxB,mBACE,KACA,SACA,QACA,SACA,KACA,UACA;AACA,UAAM,EAAC,GAAG,OAAG,YAAY,QAAO,aAAa,aAAa,WAAU;AAEpE,UAAM,cAAc,KAAK,IAAI,QAAQ,cAAc,UAAU,SAAS,aAAa;AACnF,UAAM,cAAc,SAAS,IAAI,SAAS,UAAU,SAAS,cAAc;AAE3E,QAAI,gBAAgB;AACpB,UAAM,SAAQ,MAAM;AAEpB,QAAI,SAAS;AAIX,YAAM,uBAAuB,SAAS,IAAI,SAAS,UAAU;AAC7D,YAAM,uBAAuB,cAAc,IAAI,cAAc,UAAU;AACvE,YAAM,qBAAsB,wBAAuB,wBAAwB;AAC3E,YAAM,gBAAgB,uBAAuB,IAAI,SAAS,qBAAuB,sBAAqB,WAAW;AACjH,sBAAiB,UAAQ,iBAAiB;;AAG5C,UAAM,OAAO,KAAK,IAAI,MAAO,SAAQ,cAAc,SAAS,MAAM;AAClE,UAAM,cAAe,UAAQ,QAAQ;AACrC,UAAM,aAAa,SAAQ,cAAc;AACzC,UAAM,WAAW,MAAM,cAAc;AACrC,UAAM,EAAC,YAAY,UAAU,YAAY,aAAY,oBAAkB,SAAS,aAAa,aAAa,WAAW;AAErH,UAAM,2BAA2B,cAAc;AAC/C,UAAM,yBAAyB,cAAc;AAC7C,UAAM,0BAA0B,aAAa,aAAa;AAC1D,UAAM,wBAAwB,WAAW,WAAW;AAEpD,UAAM,2BAA2B,cAAc;AAC/C,UAAM,yBAAyB,cAAc;AAC7C,UAAM,0BAA0B,aAAa,aAAa;AAC1D,UAAM,wBAAwB,WAAW,WAAW;AAEpD,QAAI;AAEJ,QAAI,UAAU;AAEZ,YAAM,wBAAyB,2BAA0B,yBAAyB;AAClF,UAAI,IAAI,GAAG,IAAG,aAAa,yBAAyB;AACpD,UAAI,IAAI,GAAG,IAAG,aAAa,uBAAuB;AAGlD,UAAI,WAAW,GAAG;AAChB,cAAM,UAAU,WAAW,wBAAwB,uBAAuB,GAAG;AAC7E,YAAI,IAAI,QAAQ,GAAG,QAAQ,GAAG,UAAU,uBAAuB,WAAW;;AAI5E,YAAM,KAAK,WAAW,wBAAwB,UAAU,GAAG;AAC3D,UAAI,OAAO,GAAG,GAAG,GAAG;AAGpB,UAAI,WAAW,GAAG;AAChB,cAAM,UAAU,WAAW,wBAAwB,uBAAuB,GAAG;AAC7E,YAAI,IAAI,QAAQ,GAAG,QAAQ,GAAG,UAAU,WAAW,SAAS,wBAAwB,KAAK;;AAI3F,YAAM,wBAA0B,YAAY,WAAW,cAAiB,cAAc,aAAa,gBAAiB;AACpH,UAAI,IAAI,GAAG,IAAG,aAAa,WAAY,WAAW,aAAc,uBAAuB;AACvF,UAAI,IAAI,GAAG,IAAG,aAAa,uBAAuB,aAAc,aAAa,aAAc;AAG3F,UAAI,aAAa,GAAG;AAClB,cAAM,UAAU,WAAW,0BAA0B,yBAAyB,GAAG;AACjF,YAAI,IAAI,QAAQ,GAAG,QAAQ,GAAG,YAAY,0BAA0B,KAAK,IAAI,aAAa;;AAI5F,YAAM,KAAK,WAAW,0BAA0B,YAAY,GAAG;AAC/D,UAAI,OAAO,GAAG,GAAG,GAAG;AAGpB,UAAI,aAAa,GAAG;AAClB,cAAM,UAAU,WAAW,0BAA0B,yBAAyB,GAAG;AACjF,YAAI,IAAI,QAAQ,GAAG,QAAQ,GAAG,YAAY,aAAa,SAAS;;WAE7D;AACL,UAAI,OAAO,GAAG;AAEd,YAAM,cAAc,KAAK,IAAI,2BAA2B,cAAc;AACtE,YAAM,cAAc,KAAK,IAAI,2BAA2B,cAAc;AACtE,UAAI,OAAO,aAAa;AAExB,YAAM,YAAY,KAAK,IAAI,yBAAyB,cAAc;AAClE,YAAM,YAAY,KAAK,IAAI,yBAAyB,cAAc;AAClE,UAAI,OAAO,WAAW;;AAGxB,QAAI;;AAGN,mBACE,KACA,SACA,QACA,SACA,UACA;AACA,UAAM,EAAC,aAAa,YAAY,kBAAiB;AACjD,QAAI,WAAW,QAAQ;AACvB,QAAI,aAAa;AACf,cAAQ,KAAK,SAAS,QAAQ,SAAS,UAAU;AACjD,eAAS,IAAI,GAAG,IAAI,aAAa,EAAE,GAAG;AACpC,YAAI;;AAEN,UAAI,CAAC,MAAM,gBAAgB;AACzB,mBAAW,aAAc,iBAAgB,OAAO;;;AAGpD,YAAQ,KAAK,SAAS,QAAQ,SAAS,UAAU;AACjD,QAAI;AACJ,WAAO;;AAGT,sBACE,KACA,SACA,QACA,SACA,UACA;AACA,UAAM,EAAC,aAAa,YAAY,eAAe,YAAW;AAC1D,UAAM,EAAC,aAAa,iBAAiB,YAAY,qBAAoB;AACrE,UAAM,QAAQ,QAAQ,gBAAgB;AAEtC,QAAI,CAAC,aAAa;AAChB;;AAGF,QAAI,YAAY,cAAc;AAC9B,QAAI,iBAAiB;AAErB,QAAI,OAAO;AACT,UAAI,YAAY,cAAc;AAC9B,UAAI,WAAW,mBAAmB;WAC7B;AACL,UAAI,YAAY;AAChB,UAAI,WAAW,mBAAmB;;AAGpC,QAAI,WAAW,QAAQ;AACvB,QAAI,aAAa;AACf,cAAQ,KAAK,SAAS,QAAQ,SAAS,UAAU;AACjD,eAAS,IAAI,GAAG,IAAI,aAAa,EAAE,GAAG;AACpC,YAAI;;AAEN,UAAI,CAAC,MAAM,gBAAgB;AACzB,mBAAW,aAAc,iBAAgB,OAAO;;;AAIpD,QAAI,OAAO;AACT,cAAQ,KAAK,SAAS;;AAGxB,QAAI,CAAC,aAAa;AAChB,cAAQ,KAAK,SAAS,QAAQ,SAAS,UAAU;AACjD,UAAI;;;AAYO,iCAAyB,SAAA;IAmCtC,YAAY,KAAK;AACf;AATF;AACA;AACA;AACA;AACA;AACA;AACA;AAKE,WAAK,UAAU;AACf,WAAK,gBAAgB;AACrB,WAAK,aAAa;AAClB,WAAK,WAAW;AAChB,WAAK,cAAc;AACnB,WAAK,cAAc;AACnB,WAAK,cAAc;AACnB,WAAK,cAAc;AAEnB,UAAI,KAAK;AACP,eAAO,OAAO,MAAM;;;IAIxB,QAAQ,QAAgB,QAAgB,kBAA2B;AACjE,YAAM,QAAQ,KAAK,SAAS;QAAC;QAAK;SAAM;AACxC,YAAM,EAAC,OAAO,aAAY,kBAAkB,OAAO;QAAC,GAAG;QAAQ,GAAG;;AAClE,YAAM,EAAC,YAAY,UAAU,aAAa,aAAa,kBAAiB,KAAK,SAAS;QACpF;QACA;QACA;QACA;QACA;SACC;AACH,YAAM,UAAW,MAAK,QAAQ,UAAU,KAAK,QAAQ,eAAe;AACpE,YAAM,iBAAiB,eAAe,eAAe,WAAW;AAChE,YAAM,gBAAgB,kBAAkB,OAAO,cAAc,OAAO,YAAY;AAChF,YAAM,eAAe,WAAW,UAAU,cAAc,SAAS,cAAc;AAE/E,aAAQ,iBAAiB;;IAG3B,eAAe,kBAA2B;AACxC,YAAM,EAAC,GAAG,OAAG,YAAY,UAAU,aAAa,gBAAe,KAAK,SAAS;QAC3E;QACA;QACA;QACA;QACA;QACA;SACC;AACH,YAAM,EAAC,QAAQ,YAAW,KAAK;AAC/B,YAAM,YAAa,cAAa,YAAY;AAC5C,YAAM,aAAc,eAAc,cAAc,UAAU,UAAU;AACpE,aAAO;QACL,GAAG,IAAI,KAAK,IAAI,aAAa;QAC7B,GAAG,KAAI,KAAK,IAAI,aAAa;;;IAIjC,gBAAgB,kBAA2B;AACzC,aAAO,KAAK,eAAe;;IAG7B,KAAK,KAA+B;AAClC,YAAM,EAAC,SAAS,kBAAiB;AACjC,YAAM,SAAU,SAAQ,UAAU,KAAK;AACvC,YAAM,UAAW,SAAQ,WAAW,KAAK;AACzC,YAAM,WAAW,QAAQ;AACzB,WAAK,cAAe,QAAQ,gBAAgB,UAAW,OAAO;AAC9D,WAAK,cAAc,gBAAgB,MAAM,KAAK,MAAM,gBAAgB,OAAO;AAE3E,UAAI,kBAAkB,KAAK,KAAK,cAAc,KAAK,KAAK,cAAc,GAAG;AACvE;;AAGF,UAAI;AAEJ,YAAM,YAAa,MAAK,aAAa,KAAK,YAAY;AACtD,UAAI,UAAU,KAAK,IAAI,aAAa,QAAQ,KAAK,IAAI,aAAa;AAClE,YAAM,MAAM,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,iBAAiB;AACvD,YAAM,eAAe,SAAS;AAE9B,UAAI,YAAY,QAAQ;AACxB,UAAI,cAAc,QAAQ;AAE1B,cAAQ,KAAK,MAAM,cAAc,SAAS;AAC1C,iBAAW,KAAK,MAAM,cAAc,SAAS;AAE7C,UAAI;;;AAnHC,gBAFM,YAEN,MAAK;AAEL,gBAJM,YAIN,YAAW;IAChB,aAAa;IACb,aAAa;IACb,YAAY;IACZ,kBAAkB;IAClB,iBAAiB;IACjB,cAAc;IACd,aAAa;IACb,QAAQ;IACR,SAAS;IACT,OAAO;IACP,UAAU;;AAGL,gBAlBM,YAkBN,iBAAgB;IACrB,iBAAiB;;AAGZ,gBAtBM,YAsBN,eAAc;IACnB,aAAa;IACb,YAAY,CAAC,UAAS,UAAS;;ACnRnC,oBAAkB,KAAK,SAAS,QAAQ,SAAS;AAC/C,QAAI,UAAU,eAAe,MAAM,gBAAgB,QAAQ;AAC3D,QAAI,YAAY,eAAe,MAAM,YAAY,QAAQ;AACzD,QAAI,iBAAiB,eAAe,MAAM,kBAAkB,QAAQ;AACpE,QAAI,WAAW,eAAe,MAAM,iBAAiB,QAAQ;AAC7D,QAAI,YAAY,eAAe,MAAM,aAAa,QAAQ;AAC1D,QAAI,cAAc,eAAe,MAAM,aAAa,QAAQ;;AAG9D,kBAAgB,KAAK,UAAU,QAAQ;AACrC,QAAI,OAAO,OAAO,GAAG,OAAO;;AAM9B,yBAAuB,SAAS;AAC9B,QAAI,QAAQ,SAAS;AACnB,aAAO;;AAGT,QAAI,QAAQ,WAAW,QAAQ,2BAA2B,YAAY;AACpE,aAAO;;AAGT,WAAO;;AAGT,oBAAkB,QAAQ,SAAS,SAAS,IAAI;AAC9C,UAAM,QAAQ,OAAO;AACrB,UAAM,EAAC,OAAO,cAAc,GAAG,KAAK,YAAY,QAAQ,MAAK;AAC7D,UAAM,EAAC,OAAO,cAAc,KAAK,eAAc;AAC/C,UAAM,SAAQ,KAAK,IAAI,aAAa;AACpC,UAAM,MAAM,KAAK,IAAI,WAAW;AAChC,UAAM,UAAU,cAAc,gBAAgB,YAAY,gBAAgB,cAAc,cAAc,YAAY;AAElH,WAAO;MACL;MACA;MACA,MAAM,QAAQ;MACd,MAAM,MAAM,UAAS,CAAC,UAAU,QAAQ,MAAM,SAAQ,MAAM;;;AAmBhE,uBAAqB,KAAK,MAAM,SAAS,QAAQ;AAC/C,UAAM,EAAC,QAAQ,YAAW;AAC1B,UAAM,EAAC,OAAO,eAAO,MAAM,SAAQ,SAAS,QAAQ,SAAS;AAC7D,UAAM,aAAa,cAAc;AAEjC,QAAI,EAAC,OAAO,MAAM,YAAW,UAAU;AACvC,QAAI,GAAG,OAAO;AAEd,SAAK,IAAI,GAAG,KAAK,MAAM,EAAE,GAAG;AAC1B,cAAQ,OAAQ,UAAS,WAAU,OAAO,IAAI,MAAM;AAEpD,UAAI,MAAM,MAAM;AAEd;iBACS,MAAM;AACf,YAAI,OAAO,MAAM,GAAG,MAAM;AAC1B,eAAO;aACF;AACL,mBAAW,KAAK,MAAM,OAAO,SAAS,QAAQ;;AAGhD,aAAO;;AAGT,QAAI,MAAM;AACR,cAAQ,OAAQ,UAAS,WAAU,OAAO,MAAM;AAChD,iBAAW,KAAK,MAAM,OAAO,SAAS,QAAQ;;AAGhD,WAAO,CAAC,CAAC;;AAkBX,2BAAyB,KAAK,MAAM,SAAS,QAAQ;AACnD,UAAM,SAAS,KAAK;AACpB,UAAM,EAAC,OAAO,eAAO,SAAQ,SAAS,QAAQ,SAAS;AACvD,UAAM,EAAC,OAAO,MAAM,YAAW,UAAU;AACzC,QAAI,OAAO;AACX,QAAI,SAAS;AACb,QAAI,GAAG,OAAO,OAAO,MAAM,MAAM;AAEjC,UAAM,aAAa,CAAC,WAAW,UAAS,WAAU,OAAO,SAAQ,WAAU;AAC3E,UAAM,QAAQ,MAAM;AAClB,UAAI,SAAS,MAAM;AAEjB,YAAI,OAAO,MAAM;AACjB,YAAI,OAAO,MAAM;AAGjB,YAAI,OAAO,MAAM;;;AAIrB,QAAI,MAAM;AACR,cAAQ,OAAO,WAAW;AAC1B,UAAI,OAAO,MAAM,GAAG,MAAM;;AAG5B,SAAK,IAAI,GAAG,KAAK,MAAM,EAAE,GAAG;AAC1B,cAAQ,OAAO,WAAW;AAE1B,UAAI,MAAM,MAAM;AAEd;;AAGF,YAAM,IAAI,MAAM;AAChB,YAAM,KAAI,MAAM;AAChB,YAAM,SAAS,IAAI;AAEnB,UAAI,WAAW,OAAO;AAEpB,YAAI,KAAI,MAAM;AACZ,iBAAO;mBACE,KAAI,MAAM;AACnB,iBAAO;;AAGT,eAAQ,UAAS,OAAO,KAAK,EAAE;aAC1B;AACL;AAGA,YAAI,OAAO,GAAG;AAEd,gBAAQ;AACR,iBAAS;AACT,eAAO,OAAO;;AAGhB,cAAQ;;AAEV;;AAQF,6BAA2B,MAAM;AAC/B,UAAM,OAAO,KAAK;AAClB,UAAM,aAAa,KAAK,cAAc,KAAK,WAAW;AACtD,UAAM,cAAc,CAAC,KAAK,cAAc,CAAC,KAAK,SAAS,CAAC,KAAK,WAAW,KAAK,2BAA2B,cAAc,CAAC,KAAK,WAAW,CAAC;AACxI,WAAO,cAAc,kBAAkB;;AAMzC,mCAAiC,SAAS;AACxC,QAAI,QAAQ,SAAS;AACnB,aAAO;;AAGT,QAAI,QAAQ,WAAW,QAAQ,2BAA2B,YAAY;AACpE,aAAO;;AAGT,WAAO;;AAGT,+BAA6B,KAAK,MAAM,QAAO,OAAO;AACpD,QAAI,OAAO,KAAK;AAChB,QAAI,CAAC,MAAM;AACT,aAAO,KAAK,QAAQ,IAAI;AACxB,UAAI,KAAK,KAAK,MAAM,QAAO,QAAQ;AACjC,aAAK;;;AAGT,aAAS,KAAK,KAAK;AACnB,QAAI,OAAO;;AAGb,4BAA0B,KAAK,MAAM,QAAO,OAAO;AACjD,UAAM,EAAC,UAAU,YAAW;AAC5B,UAAM,gBAAgB,kBAAkB;AAExC,eAAW,WAAW,UAAU;AAC9B,eAAS,KAAK,SAAS,QAAQ;AAC/B,UAAI;AACJ,UAAI,cAAc,KAAK,MAAM,SAAS;QAAC;QAAO,KAAK,SAAQ,QAAQ;UAAK;AACtE,YAAI;;AAEN,UAAI;;;AAIR,MAAM,YAAY,OAAO,WAAW;AAEpC,gBAAc,KAAK,MAAM,QAAO,OAAO;AACrC,QAAI,aAAa,CAAC,KAAK,QAAQ,SAAS;AACtC,0BAAoB,KAAK,MAAM,QAAO;WACjC;AACL,uBAAiB,KAAK,MAAM,QAAO;;;AAIxB,kCAA0B,SAAA;IAoCvC,YAAY,KAAK;AACf;AAEA,WAAK,WAAW;AAChB,WAAK,UAAU;AACf,WAAK,SAAS;AACd,WAAK,QAAQ;AACb,WAAK,YAAY;AACjB,WAAK,QAAQ;AACb,WAAK,UAAU;AACf,WAAK,YAAY;AACjB,WAAK,aAAa;AAClB,WAAK,iBAAiB;AACtB,WAAK,gBAAgB;AAErB,UAAI,KAAK;AACP,eAAO,OAAO,MAAM;;;IAIxB,oBAAoB,WAAW,WAAW;AACxC,YAAM,UAAU,KAAK;AACrB,UAAK,SAAQ,WAAW,QAAQ,2BAA2B,eAAe,CAAC,QAAQ,WAAW,CAAC,KAAK,gBAAgB;AAClH,cAAM,OAAO,QAAQ,WAAW,KAAK,QAAQ,KAAK;AAClD,mCAA2B,KAAK,SAAS,SAAS,WAAW,MAAM;AACnE,aAAK,iBAAiB;;;QAItB,OAAO,QAAQ;AACjB,WAAK,UAAU;AACf,aAAO,KAAK;AACZ,aAAO,KAAK;AACZ,WAAK,iBAAiB;;QAGpB,SAAS;AACX,aAAO,KAAK;;QAGV,WAAW;AACb,aAAO,KAAK,aAAc,MAAK,YAAY,iBAAiB,MAAM,KAAK,QAAQ;;IAOjF,QAAQ;AACN,YAAM,WAAW,KAAK;AACtB,YAAM,SAAS,KAAK;AACpB,aAAO,SAAS,UAAU,OAAO,SAAS,GAAG;;IAO/C,OAAO;AACL,YAAM,WAAW,KAAK;AACtB,YAAM,SAAS,KAAK;AACpB,YAAM,QAAQ,SAAS;AACvB,aAAO,SAAS,OAAO,SAAS,QAAQ,GAAG;;IAU7C,YAAY,OAAO,UAAU;AAC3B,YAAM,UAAU,KAAK;AACrB,YAAM,QAAQ,MAAM;AACpB,YAAM,SAAS,KAAK;AACpB,YAAM,WAAW,eAAe,MAAM;QAAC;QAAU,OAAO;QAAO,KAAK;;AAEpE,UAAI,CAAC,SAAS,QAAQ;AACpB;;AAGF,YAAM,SAAS;AACf,YAAM,eAAe,wBAAwB;AAC7C,UAAI,GAAG;AACP,WAAK,IAAI,GAAG,OAAO,SAAS,QAAQ,IAAI,MAAM,EAAE,GAAG;AACjD,cAAM,EAAC,eAAO,QAAO,SAAS;AAC9B,cAAM,KAAK,OAAO;AAClB,cAAM,KAAK,OAAO;AAClB,YAAI,OAAO,IAAI;AACb,iBAAO,KAAK;AACZ;;AAEF,cAAM,KAAI,KAAK,IAAK,SAAQ,GAAG,aAAc,IAAG,YAAY,GAAG;AAC/D,cAAM,eAAe,aAAa,IAAI,IAAI,IAAG,QAAQ;AACrD,qBAAa,YAAY,MAAM;AAC/B,eAAO,KAAK;;AAEd,aAAO,OAAO,WAAW,IAAI,OAAO,KAAK;;IAiB3C,YAAY,KAAK,SAAS,QAAQ;AAChC,YAAM,gBAAgB,kBAAkB;AACxC,aAAO,cAAc,KAAK,MAAM,SAAS;;IAU3C,KAAK,KAAK,QAAO,OAAO;AACtB,YAAM,WAAW,KAAK;AACtB,YAAM,gBAAgB,kBAAkB;AACxC,UAAI,OAAO,KAAK;AAEhB,eAAQ,UAAS;AACjB,cAAQ,SAAU,KAAK,OAAO,SAAS;AAEvC,iBAAW,WAAW,UAAU;AAC9B,gBAAQ,cAAc,KAAK,MAAM,SAAS;UAAC;UAAO,KAAK,SAAQ,QAAQ;;;AAEzE,aAAO,CAAC,CAAC;;IAUX,KAAK,KAAK,WAAW,QAAO,OAAO;AACjC,YAAM,UAAU,KAAK,WAAW;AAChC,YAAM,SAAS,KAAK,UAAU;AAE9B,UAAI,OAAO,UAAU,QAAQ,aAAa;AACxC,YAAI;AAEJ,aAAK,KAAK,MAAM,QAAO;AAEvB,YAAI;;AAGN,UAAI,KAAK,UAAU;AAEjB,aAAK,iBAAiB;AACtB,aAAK,QAAQ;;;;AArMV,gBAFM,aAEN,MAAK;AAKL,gBAPM,aAON,YAAW;IAChB,gBAAgB;IAChB,YAAY;IACZ,kBAAkB;IAClB,iBAAiB;IACjB,aAAa;IACb,iBAAiB;IACjB,wBAAwB;IACxB,MAAM;IACN,UAAU;IACV,SAAS;IACT,SAAS;;AAMJ,gBAxBM,aAwBN,iBAAgB;IACrB,iBAAiB;IACjB,aAAa;;AAIR,gBA9BM,aA8BN,eAAc;IACnB,aAAa;IACb,YAAY,CAAC,UAAS,UAAS,gBAAgB,UAAS;;ACxQ5D,qBAAiB,KAAkB,KAAa,MAAiB,kBAA4B;AAC3F,UAAM,UAAU,IAAG;AACnB,UAAM,GAAE,OAAO,UAAS,IAAG,SAAS;MAAC;OAAO;AAE5C,WAAQ,KAAK,IAAI,MAAM,SAAS,QAAQ,SAAS,QAAQ;;AAK5C,mCAA2B,SAAA;IA6BxC,YAAY,KAAK;AACf;AA1BF;AACA;AACA;AA0BE,WAAK,UAAU;AACf,WAAK,SAAS;AACd,WAAK,OAAO;AACZ,WAAK,OAAO;AAEZ,UAAI,KAAK;AACP,eAAO,OAAO,MAAM;;;IAIxB,QAAQ,QAAgB,QAAgB,kBAA4B;AAClE,YAAM,UAAU,KAAK;AACrB,YAAM,EAAC,GAAG,UAAK,KAAK,SAAS;QAAC;QAAK;SAAM;AACzC,aAAS,KAAK,IAAI,SAAS,GAAG,KAAK,KAAK,IAAI,SAAS,IAAG,KAAM,KAAK,IAAI,QAAQ,YAAY,QAAQ,QAAQ;;IAG7G,SAAS,QAAgB,kBAA4B;AACnD,aAAO,UAAQ,MAAM,QAAQ,KAAK;;IAGpC,SAAS,QAAgB,kBAA4B;AACnD,aAAO,UAAQ,MAAM,QAAQ,KAAK;;IAGpC,eAAe,kBAA4B;AACzC,YAAM,EAAC,GAAG,UAAK,KAAK,SAAS;QAAC;QAAK;SAAM;AACzC,aAAO;QAAC;QAAG;;;IAGb,KAAK,SAAqD;AACxD,gBAAU,WAAW,KAAK,WAAW;AACrC,UAAI,SAAS,QAAQ,UAAU;AAC/B,eAAS,KAAK,IAAI,QAAQ,UAAU,QAAQ,eAAe;AAC3D,YAAM,cAAc,UAAU,QAAQ,eAAe;AACrD,aAAQ,UAAS,eAAe;;IAGlC,KAAK,KAA+B,MAAiB;AACnD,YAAM,UAAU,KAAK;AAErB,UAAI,KAAK,QAAQ,QAAQ,SAAS,OAAO,CAAC,eAAe,MAAM,MAAM,KAAK,KAAK,WAAW,IAAI;AAC5F;;AAGF,UAAI,cAAc,QAAQ;AAC1B,UAAI,YAAY,QAAQ;AACxB,UAAI,YAAY,QAAQ;AACxB,gBAAU,KAAK,SAAS,KAAK,GAAG,KAAK;;IAGvC,WAAW;AACT,YAAM,UAAU,KAAK,WAAW;AAEhC,aAAO,QAAQ,SAAS,QAAQ;;;AAnF3B,gBAFM,cAEN,MAAK;AASL,gBAXM,cAWN,YAAW;IAChB,aAAa;IACb,WAAW;IACX,kBAAkB;IAClB,aAAa;IACb,YAAY;IACZ,QAAQ;IACR,UAAU;;AAML,gBAxBM,cAwBN,iBAAgB;IACrB,iBAAiB;IACjB,aAAa;;AC/BjB,wBAAsB,KAAK,kBAAkB;AAC3C,UAAM,EAAC,GAAG,OAAG,aAAM,OAAO,WAAmC,IAAI,SAAS;MAAC;MAAK;MAAK;MAAQ;MAAS;OAAW;AAEjH,QAAI,MAAM,OAAO,MAAK,QAAQ;AAE9B,QAAI,IAAI,YAAY;AAClB,aAAO,SAAS;AAChB,aAAO,KAAK,IAAI,GAAG;AACnB,cAAQ,KAAK,IAAI,GAAG;AACpB,aAAM,KAAI;AACV,eAAS,KAAI;WACR;AACL,aAAO,QAAQ;AACf,aAAO,IAAI;AACX,cAAQ,IAAI;AACZ,aAAM,KAAK,IAAI,IAAG;AAClB,eAAS,KAAK,IAAI,IAAG;;AAGvB,WAAO;MAAC;MAAM;MAAK;MAAO;;;AAG5B,uBAAqB,OAAM,OAAO,KAAK,KAAK;AAC1C,WAAO,QAAO,IAAI,YAAY,OAAO,KAAK;;AAG5C,4BAA0B,KAAK,MAAM,MAAM;AACzC,UAAM,QAAQ,IAAI,QAAQ;AAC1B,UAAM,QAAO,IAAI;AACjB,UAAM,IAAI,OAAO;AAEjB,WAAO;MACL,GAAG,YAAY,MAAK,KAAK,EAAE,KAAK,GAAG;MACnC,GAAG,YAAY,MAAK,OAAO,EAAE,OAAO,GAAG;MACvC,GAAG,YAAY,MAAK,QAAQ,EAAE,QAAQ,GAAG;MACzC,GAAG,YAAY,MAAK,MAAM,EAAE,MAAM,GAAG;;;AAIzC,6BAA2B,KAAK,MAAM,MAAM;AAC1C,UAAM,EAAC,uBAAsB,IAAI,SAAS;MAAC;;AAC3C,UAAM,QAAQ,IAAI,QAAQ;AAC1B,UAAM,IAAI,cAAc;AACxB,UAAM,OAAO,KAAK,IAAI,MAAM;AAC5B,UAAM,QAAO,IAAI;AAIjB,UAAM,eAAe,sBAAsB,UAAS;AAEpD,WAAO;MACL,SAAS,YAAY,CAAC,gBAAgB,MAAK,OAAO,MAAK,MAAM,EAAE,SAAS,GAAG;MAC3E,UAAU,YAAY,CAAC,gBAAgB,MAAK,OAAO,MAAK,OAAO,EAAE,UAAU,GAAG;MAC9E,YAAY,YAAY,CAAC,gBAAgB,MAAK,UAAU,MAAK,MAAM,EAAE,YAAY,GAAG;MACpF,aAAa,YAAY,CAAC,gBAAgB,MAAK,UAAU,MAAK,OAAO,EAAE,aAAa,GAAG;;;AAI3F,yBAAuB,KAAK;AAC1B,UAAM,SAAS,aAAa;AAC5B,UAAM,QAAQ,OAAO,QAAQ,OAAO;AACpC,UAAM,SAAS,OAAO,SAAS,OAAO;AACtC,UAAM,SAAS,iBAAiB,KAAK,QAAQ,GAAG,SAAS;AACzD,UAAM,SAAS,kBAAkB,KAAK,QAAQ,GAAG,SAAS;AAE1D,WAAO;MACL,OAAO;QACL,GAAG,OAAO;QACV,GAAG,OAAO;QACV,GAAG;QACH,GAAG;QACH;;MAEF,OAAO;QACL,GAAG,OAAO,OAAO,OAAO;QACxB,GAAG,OAAO,MAAM,OAAO;QACvB,GAAG,QAAQ,OAAO,IAAI,OAAO;QAC7B,GAAG,SAAS,OAAO,IAAI,OAAO;QAC9B,QAAQ;UACN,SAAS,KAAK,IAAI,GAAG,OAAO,UAAU,KAAK,IAAI,OAAO,GAAG,OAAO;UAChE,UAAU,KAAK,IAAI,GAAG,OAAO,WAAW,KAAK,IAAI,OAAO,GAAG,OAAO;UAClE,YAAY,KAAK,IAAI,GAAG,OAAO,aAAa,KAAK,IAAI,OAAO,GAAG,OAAO;UACtE,aAAa,KAAK,IAAI,GAAG,OAAO,cAAc,KAAK,IAAI,OAAO,GAAG,OAAO;;;;;AAMhF,mBAAiB,KAAK,GAAG,IAAG,kBAAkB;AAC5C,UAAM,QAAQ,MAAM;AACpB,UAAM,QAAQ,OAAM;AACpB,UAAM,WAAW,SAAS;AAC1B,UAAM,SAAS,OAAO,CAAC,YAAY,aAAa,KAAK;AAErD,WAAO,UACH,UAAS,WAAW,GAAG,OAAO,MAAM,OAAO,WAC3C,UAAS,WAAW,IAAG,OAAO,KAAK,OAAO;;AAGhD,qBAAmB,QAAQ;AACzB,WAAO,OAAO,WAAW,OAAO,YAAY,OAAO,cAAc,OAAO;;AAQ1E,6BAA2B,KAAK,MAAM;AACpC,QAAI,KAAK,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK;;AAGxC,uBAAqB,MAAM,QAAQ,UAAU,IAAI;AAC/C,UAAM,IAAI,KAAK,MAAM,QAAQ,IAAI,CAAC,SAAS;AAC3C,UAAM,KAAI,KAAK,MAAM,QAAQ,IAAI,CAAC,SAAS;AAC3C,UAAM,IAAK,MAAK,IAAI,KAAK,MAAM,QAAQ,IAAI,QAAQ,IAAI,SAAS,KAAK;AACrE,UAAM,KAAK,MAAK,IAAI,KAAK,MAAM,QAAQ,IAAI,QAAQ,IAAI,SAAS,KAAK;AACrE,WAAO;MACL,GAAG,KAAK,IAAI;MACZ,GAAG,KAAK,IAAI;MACZ,GAAG,KAAK,IAAI;MACZ,GAAG,KAAK,IAAI;MACZ,QAAQ,KAAK;;;AAIF,iCAAyB,SAAA;IAuBtC,YAAY,KAAK;AACf;AAEA,WAAK,UAAU;AACf,WAAK,aAAa;AAClB,WAAK,OAAO;AACZ,WAAK,QAAQ;AACb,WAAK,SAAS;AACd,WAAK,gBAAgB;AAErB,UAAI,KAAK;AACP,eAAO,OAAO,MAAM;;;IAIxB,KAAK,KAAK;AACR,YAAM,EAAC,eAAe,SAAS,EAAC,aAAa,sBAAoB;AACjE,YAAM,EAAC,OAAO,UAAS,cAAc;AACrC,YAAM,cAAc,UAAU,MAAM,UAAU,qBAAqB;AAEnE,UAAI;AAEJ,UAAI,MAAM,MAAM,MAAM,KAAK,MAAM,MAAM,MAAM,GAAG;AAC9C,YAAI;AACJ,oBAAY,KAAK,YAAY,OAAO,eAAe;AACnD,YAAI;AACJ,oBAAY,KAAK,YAAY,OAAO,CAAC,eAAe;AACpD,YAAI,YAAY;AAChB,YAAI,KAAK;;AAGX,UAAI;AACJ,kBAAY,KAAK,YAAY,OAAO;AACpC,UAAI,YAAY;AAChB,UAAI;AAEJ,UAAI;;IAGN,QAAQ,QAAQ,QAAQ,kBAAkB;AACxC,aAAO,QAAQ,MAAM,QAAQ,QAAQ;;IAGvC,SAAS,QAAQ,kBAAkB;AACjC,aAAO,QAAQ,MAAM,QAAQ,MAAM;;IAGrC,SAAS,QAAQ,kBAAkB;AACjC,aAAO,QAAQ,MAAM,MAAM,QAAQ;;IAGrC,eAAe,kBAAkB;AAC/B,YAAM,EAAC,GAAG,OAAG,aAAM,eAAuC,KAAK,SAAS;QAAC;QAAK;QAAK;QAAQ;SAAe;AAC1G,aAAO;QACL,GAAG,aAAc,KAAI,SAAQ,IAAI;QACjC,GAAG,aAAa,KAAK,MAAI,SAAQ;;;IAIrC,SAAS,MAAM;AACb,aAAO,SAAS,MAAM,KAAK,QAAQ,IAAI,KAAK,SAAS;;;AAjFhD,gBAFM,YAEN,MAAK;AAKL,gBAPM,YAON,YAAW;IAChB,eAAe;IACf,aAAa;IACb,cAAc;IACd,eAAe;IACf,YAAY;;AAMP,gBAlBM,YAkBN,iBAAgB;IACrB,iBAAiB;IACjB,aAAa;;;;;;;;;ACnJjB,MAAM,gBAAgB;IACpB;IACA;IACA;IACA;IACA;IACA;IACA;;AAIF,MAAM,oBAAoC,8BAAc,IAAI,CAAA,YAAS,QAAM,QAAQ,QAAQ,SAAS,QAAQ,KAAK;AAEjH,0BAAwB,GAAW;AACjC,WAAO,cAAc,IAAI,cAAc;;AAGzC,8BAA4B,GAAW;AACrC,WAAO,kBAAkB,IAAI,kBAAkB;;AAGjD,kCAAgC,SAAuB,GAAW;AAChE,YAAQ,cAAc,eAAe;AACrC,YAAQ,kBAAkB,mBAAmB;AAE7C,WAAO,EAAE;;AAGX,mCAAiC,SAAuB,GAAW;AACjE,YAAQ,kBAAkB,QAAQ,KAAK,IAAI,MAAM,eAAe;AAEhE,WAAO;;AAGT,oCAAkC,SAAuB,GAAW;AAClE,YAAQ,kBAAkB,QAAQ,KAAK,IAAI,MAAM,mBAAmB;AAEpE,WAAO;;AAGT,wBAAsB,OAAc;AAClC,QAAI,IAAI;AAER,WAAO,CAAC,SAAuB,iBAAyB;AACtD,YAAM,aAAa,MAAM,eAAe,cAAc;AAEtD,UAAI,sBAAsB,oBAAoB;AAC5C,YAAI,wBAAwB,SAAS;iBAC5B,sBAAsB,qBAAqB;AACpD,YAAI,yBAAyB,SAAS;iBAC7B,YAAY;AACrB,YAAI,uBAAuB,SAAS;;;;AAK1C,qCACE,cACA;AACA,QAAI;AAEJ,SAAK,KAAK,cAAa;AACrB,UAAI,aAAY,GAAG,eAAe,aAAY,GAAG,iBAAiB;AAChE,eAAO;;;AAIX,WAAO;;AAGT,oCACE,YACA;AACA,WAAO,cAAe,YAAW,eAAe,WAAW;;AAG7D,MAAA,gBAAe;IACb,IAAI;IAEJ,UAAU;MACR,SAAS;MACT,eAAe;;IAGjB,aAAa,OAAc,OAAO,SAA8B;AAC9D,UAAI,CAAC,QAAQ,SAAS;AACpB;;AAGF,YAAM,EACJ,MAAM,EAAC,YACP,SAAS,iBACP,MAAM;AACV,YAAM,EAAC,wBAAY;AAEnB,UAAI,CAAC,QAAQ,iBAAkB,2BAA0B,aAAa,yBAAyB,iBAAkB,aAAY,0BAA0B,aAAa;AAClK;;AAGF,YAAM,YAAY,aAAa;AAE/B,eAAS,QAAQ;;;AChHrB,0BAAwB,MAAM,QAAO,OAAO,gBAAgB,SAAS;AASnE,UAAM,UAAU,QAAQ,WAAW;AAEnC,QAAI,WAAW,OAAO;AACpB,aAAO,KAAK,MAAM,QAAO,SAAQ;;AAGnC,UAAM,YAAY;AAElB,UAAM,cAAe,SAAQ,KAAM,WAAU;AAC7C,QAAI,eAAe;AACnB,UAAM,WAAW,SAAQ,QAAQ;AAEjC,QAAI,IAAI;AACR,QAAI,GAAG,cAAc,SAAS,MAAM;AAEpC,cAAU,kBAAkB,KAAK;AAEjC,SAAK,IAAI,GAAG,IAAI,UAAU,GAAG,KAAK;AAChC,UAAI,OAAO;AACX,UAAI,OAAO;AACX,UAAI;AAGJ,YAAM,gBAAgB,KAAK,MAAO,KAAI,KAAK,eAAe,IAAI;AAC9D,YAAM,cAAc,KAAK,IAAI,KAAK,MAAO,KAAI,KAAK,eAAe,GAAG,SAAS;AAC7E,YAAM,iBAAiB,cAAc;AAErC,WAAK,KAAI,eAAe,KAAI,aAAa,MAAK;AAC5C,gBAAQ,KAAK,IAAG;AAChB,gBAAQ,KAAK,IAAG;;AAGlB,cAAQ;AACR,cAAQ;AAGR,YAAM,YAAY,KAAK,MAAM,IAAI,eAAe,IAAI;AACpD,YAAM,UAAU,KAAK,IAAI,KAAK,MAAO,KAAI,KAAK,eAAe,GAAG,SAAS;AACzE,YAAM,EAAC,GAAG,SAAS,GAAG,YAAW,KAAK;AAOtC,gBAAU,OAAO;AAEjB,WAAK,KAAI,WAAW,KAAI,SAAS,MAAK;AACpC,eAAO,MAAM,KAAK,IACf,WAAU,QAAS,MAAK,IAAG,IAAI,WAC/B,WAAU,KAAK,IAAG,KAAM,QAAO;AAGlC,YAAI,OAAO,SAAS;AAClB,oBAAU;AACV,yBAAe,KAAK;AACpB,kBAAQ;;;AAIZ,gBAAU,kBAAkB;AAC5B,UAAI;;AAIN,cAAU,kBAAkB,KAAK;AAEjC,WAAO;;AAGT,4BAA0B,MAAM,QAAO,OAAO,gBAAgB;AAC5D,QAAI,OAAO;AACX,QAAI,SAAS;AACb,QAAI,GAAG,OAAO,GAAG,IAAG,OAAO,UAAU,UAAU,YAAY,MAAM;AACjE,UAAM,YAAY;AAClB,UAAM,WAAW,SAAQ,QAAQ;AAEjC,UAAM,OAAO,KAAK,QAAO;AACzB,UAAM,OAAO,KAAK,UAAU;AAC5B,UAAM,KAAK,OAAO;AAElB,SAAK,IAAI,QAAO,IAAI,SAAQ,OAAO,EAAE,GAAG;AACtC,cAAQ,KAAK;AACb,UAAK,OAAM,IAAI,QAAQ,KAAK;AAC5B,WAAI,MAAM;AACV,YAAM,SAAS,IAAI;AAEnB,UAAI,WAAW,OAAO;AAEpB,YAAI,KAAI,MAAM;AACZ,iBAAO;AACP,qBAAW;mBACF,KAAI,MAAM;AACnB,iBAAO;AACP,qBAAW;;AAIb,eAAQ,UAAS,OAAO,MAAM,KAAK,EAAE;aAChC;AAEL,cAAM,YAAY,IAAI;AAEtB,YAAI,CAAC,cAAc,aAAa,CAAC,cAAc,WAAW;AAKxD,gBAAM,qBAAqB,KAAK,IAAI,UAAU;AAC9C,gBAAM,qBAAqB,KAAK,IAAI,UAAU;AAE9C,cAAI,uBAAuB,cAAc,uBAAuB,WAAW;AACzE,sBAAU,KAAK,iCACV,KAAK,sBADK;cAEb,GAAG;;;AAGP,cAAI,uBAAuB,cAAc,uBAAuB,WAAW;AACzE,sBAAU,KAAK,iCACV,KAAK,sBADK;cAEb,GAAG;;;;AAOT,YAAI,IAAI,KAAK,cAAc,YAAY;AAErC,oBAAU,KAAK,KAAK;;AAItB,kBAAU,KAAK;AACf,gBAAQ;AACR,iBAAS;AACT,eAAO,OAAO;AACd,mBAAW,WAAW,aAAa;;;AAIvC,WAAO;;AAGT,iCAA+B,SAAS;AACtC,QAAI,QAAQ,YAAY;AACtB,YAAM,OAAO,QAAQ;AACrB,aAAO,QAAQ;AACf,aAAO,QAAQ;AACf,aAAO,eAAe,SAAS,QAAQ;QACrC,cAAc;QACd,YAAY;QACZ,UAAU;QACV,OAAO;;;;AAKb,8BAA4B,OAAO;AACjC,UAAM,KAAK,SAAS,QAAQ,CAAC,YAAY;AACvC,4BAAsB;;;AAI1B,qDAAmD,OAAM,QAAQ;AAC/D,UAAM,aAAa,OAAO;AAE1B,QAAI,SAAQ;AACZ,QAAI;AAEJ,UAAM,EAAC,WAAU;AACjB,UAAM,EAAC,KAAK,KAAK,YAAY,eAAc,OAAO;AAElD,QAAI,YAAY;AACd,eAAQ,YAAY,aAAa,QAAQ,OAAO,MAAM,KAAK,IAAI,GAAG,aAAa;;AAEjF,QAAI,YAAY;AACd,cAAQ,YAAY,aAAa,QAAQ,OAAO,MAAM,KAAK,KAAK,GAAG,QAAO,cAAc;WACnF;AACL,cAAQ,aAAa;;AAGvB,WAAO;MAAC;MAAO;;;AAGjB,MAAA,oBAAe;IACb,IAAI;IAEJ,UAAU;MACR,WAAW;MACX,SAAS;;IAGX,sBAAsB,CAAC,OAAO,MAAM,YAAY;AAC9C,UAAI,CAAC,QAAQ,SAAS;AAEpB,2BAAmB;AACnB;;AAIF,YAAM,iBAAiB,MAAM;AAE7B,YAAM,KAAK,SAAS,QAAQ,CAAC,SAAS,iBAAiB;AACrD,cAAM,EAAC,OAAO,cAAa;AAC3B,cAAM,QAAO,MAAM,eAAe;AAClC,cAAM,OAAO,SAAS,QAAQ;AAE9B,YAAI,QAAQ;UAAC;UAAW,MAAM,QAAQ;eAAgB,KAAK;AAEzD;;AAGF,YAAI,CAAC,MAAK,WAAW,oBAAoB;AAEvC;;AAGF,cAAM,QAAQ,MAAM,OAAO,MAAK;AAChC,YAAI,MAAM,SAAS,YAAY,MAAM,SAAS,QAAQ;AAEpD;;AAGF,YAAI,MAAM,QAAQ,SAAS;AAEzB;;AAGF,YAAI,EAAC,eAAO,UAAS,0CAA0C,OAAM;AACrE,cAAM,YAAY,QAAQ,aAAa,IAAI;AAC3C,YAAI,SAAS,WAAW;AAEtB,gCAAsB;AACtB;;AAGF,YAAI,cAAc,QAAQ;AAIxB,kBAAQ,QAAQ;AAChB,iBAAO,QAAQ;AACf,iBAAO,eAAe,SAAS,QAAQ;YACrC,cAAc;YACd,YAAY;YACZ,KAAK,WAAW;AACd,qBAAO,KAAK;;YAEd,KAAK,SAAS,IAAG;AACf,mBAAK,QAAQ;;;;AAMnB,YAAI;AACJ,gBAAQ,QAAQ;eACX;AACH,wBAAY,eAAe,MAAM,QAAO,OAAO,gBAAgB;AAC/D;eACG;AACH,wBAAY,iBAAiB,MAAM,QAAO,OAAO;AACjD;;AAEA,kBAAM,IAAI,MAAM,qCAAqC,QAAQ;;AAG/D,gBAAQ,aAAa;;;IAIzB,QAAQ,OAAO;AACb,yBAAmB;;;AC1RhB,qBAAmB,MAAM,QAAQ,UAAU;AAChD,UAAM,WAAW,KAAK;AACtB,UAAM,SAAS,KAAK;AACpB,UAAM,UAAU,OAAO;AACvB,UAAM,QAAQ;AAEd,eAAW,WAAW,UAAU;AAC9B,UAAI,EAAC,eAAO,QAAO;AACnB,YAAM,gBAAgB,QAAO,KAAK;AAElC,YAAM,SAAS,WAAW,UAAU,OAAO,SAAQ,OAAO,MAAM,QAAQ;AAExE,UAAI,CAAC,OAAO,UAAU;AAGpB,cAAM,KAAK;UACT,QAAQ;UACR,QAAQ;UACR,OAAO,OAAO;UACd,KAAK,OAAO;;AAEd;;AAIF,YAAM,iBAAiB,eAAe,QAAQ;AAE9C,iBAAW,OAAO,gBAAgB;AAChC,cAAM,YAAY,WAAW,UAAU,QAAQ,IAAI,QAAQ,QAAQ,IAAI,MAAM,IAAI;AACjF,cAAM,cAAc,cAAc,SAAS,QAAQ;AAEnD,mBAAW,cAAc,aAAa;AACpC,gBAAM,KAAK;YACT,QAAQ;YACR,QAAQ;YACR,OAAO;eACJ,WAAW,SAAS,QAAQ,WAAW,SAAS,KAAK;;YAExD,KAAK;eACF,WAAW,SAAS,QAAQ,WAAW,OAAO,KAAK;;;;;;AAM9D,WAAO;;AAGF,sBAAoB,UAAU,OAAO,MAAM,MAAM;AACtD,QAAI,MAAM;AACR;;AAEF,QAAI,SAAQ,MAAM;AAClB,QAAI,MAAM,KAAK;AAEf,QAAI,aAAa,SAAS;AACxB,eAAQ,gBAAgB;AACxB,YAAM,gBAAgB;;AAExB,WAAO;MAAC;MAAU;MAAO;;;AAGpB,+BAA6B,UAAU,MAAM;AAClD,UAAM,EAAC,IAAI,MAAM,QAAI,SAAQ,YAAY;AACzC,UAAM,aAAa,KAAK;AACxB,UAAM,SAAS;AACf,SAAK,SAAS,QAAQ,CAAC,EAAC,eAAO,UAAS;AACtC,YAAM,gBAAgB,QAAO,KAAK;AAClC,YAAM,QAAQ,WAAW;AACzB,YAAM,OAAO,WAAW;AACxB,UAAI,OAAM,MAAM;AACd,eAAO,KAAK;UAAC,GAAG,MAAM;UAAG;;AACzB,eAAO,KAAK;UAAC,GAAG,KAAK;UAAG;;iBACf,MAAM,MAAM;AACrB,eAAO,KAAK;UAAC;UAAG,GAAG,MAAM;;AACzB,eAAO,KAAK;UAAC;UAAG,GAAG,KAAK;;;;AAG5B,WAAO;;AAGF,2BAAyB,QAAO,KAAK,QAAQ;AAClD,WAAM,MAAM,QAAO,OAAO;AACxB,YAAM,QAAQ,OAAO;AACrB,UAAI,CAAC,MAAM,MAAM,MAAM,CAAC,MAAM,MAAM,IAAI;AACtC;;;AAGJ,WAAO;;AAGT,oBAAkB,GAAG,GAAG,MAAM,KAAI;AAChC,QAAI,KAAK,GAAG;AACV,aAAO,IAAG,EAAE,OAAO,EAAE;;AAEvB,WAAO,IAAI,EAAE,QAAQ,IAAI,EAAE,QAAQ;;AClF9B,+BAA6B,UAAU,MAAM;AAClD,QAAI,SAAS;AACb,QAAI,QAAQ;AAEZ,QAAI,SAAQ,WAAW;AACrB,cAAQ;AAER,eAAS;WACJ;AACL,eAAS,oBAAoB,UAAU;;AAGzC,WAAO,OAAO,SAAS,IAAI,YAAY;MACrC;MACA,SAAS;QAAC,SAAS;;MACnB;MACA,WAAW;SACR;;AAGA,4BAA0B,QAAQ;AACvC,WAAO,UAAU,OAAO,SAAS;;AC3B5B,0BAAwB,SAAS,QAAO,WAAW;AACxD,UAAM,SAAS,QAAQ;AACvB,QAAI,QAAO,OAAO;AAClB,UAAM,UAAU;MAAC;;AACjB,QAAI;AAEJ,QAAI,CAAC,WAAW;AACd,aAAO;;AAGT,WAAO,UAAS,SAAS,QAAQ,QAAQ,WAAU,IAAI;AACrD,UAAI,CAAC,eAAS,QAAO;AACnB,eAAO;;AAGT,eAAS,QAAQ;AACjB,UAAI,CAAC,QAAQ;AACX,eAAO;;AAGT,UAAI,OAAO,SAAS;AAClB,eAAO;;AAGT,cAAQ,KAAK;AACb,cAAO,OAAO;;AAGhB,WAAO;;AAQF,uBAAqB,MAAM,QAAO,OAAO;AAE9C,UAAM,QAAO,gBAAgB;AAE7B,QAAI,UAAS,QAAO;AAClB,aAAO,MAAM,MAAK,SAAS,QAAQ;;AAGrC,QAAI,SAAS,WAAW;AAExB,QAAI,eAAS,WAAW,KAAK,MAAM,YAAY,QAAQ;AACrD,aAAO,kBAAkB,MAAK,IAAI,QAAO,QAAQ;;AAGnD,WAAO;MAAC;MAAU;MAAS;MAAO;MAAS;MAAS,QAAQ,UAAS,KAAK;;AAG5E,6BAA2B,SAAS,QAAO,QAAQ,OAAO;AACxD,QAAI,YAAY,OAAO,YAAY,KAAK;AACtC,eAAS,SAAQ;;AAGnB,QAAI,WAAW,UAAS,SAAS,KAAK,UAAU,OAAO;AACrD,aAAO;;AAGT,WAAO;;AAQF,2BAAyB,OAAM,OAAO;AAC3C,QAAI,QAAQ;AACZ,QAAI,UAAS,SAAS;AACpB,cAAQ,MAAM;eACL,UAAS,OAAO;AACzB,cAAQ,MAAM;eACL,UAAS,QAAO;AAEzB,cAAQ,MAAM,iBAAiB,MAAK;eAC3B,MAAM,cAAc;AAC7B,cAAQ,MAAM;;AAEhB,WAAO;;AASF,2BAAyB,OAAM,OAAO,YAAY;AACvD,QAAI;AAEJ,QAAI,UAAS,SAAS;AACpB,cAAQ;eACC,UAAS,OAAO;AACzB,cAAQ,MAAM,QAAQ,UAAU,MAAM,MAAM,MAAM;eACzC,UAAS,QAAO;AAEzB,cAAQ,MAAK;WACR;AACL,cAAQ,MAAM;;AAEhB,WAAO;;AAMT,2BAAyB,MAAM;AAC7B,UAAM,UAAU,KAAK;AACrB,UAAM,aAAa,QAAQ;AAC3B,QAAI,QAAO,eAAe,cAAc,WAAW,QAAQ;AAE3D,QAAI,UAAS,QAAW;AACtB,cAAO,CAAC,CAAC,QAAQ;;AAGnB,QAAI,UAAS,SAAS,UAAS,MAAM;AACnC,aAAO;;AAGT,QAAI,UAAS,MAAM;AACjB,aAAO;;AAET,WAAO;;ACzHF,2BAAyB,QAAQ;AACtC,UAAM,EAAC,OAAO,eAAO,SAAQ;AAC7B,UAAM,SAAS;AACf,UAAM,WAAW,KAAK;AACtB,UAAM,eAAe,KAAK;AAC1B,UAAM,aAAa,cAAc,OAAO;AACxC,eAAW,KAAK,oBAAoB;MAAC,GAAG;MAAM,GAAG,MAAM;OAAS;AAEhE,aAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACxC,YAAM,UAAU,SAAS;AACzB,eAAS,KAAI,QAAQ,OAAO,MAAK,QAAQ,KAAK,MAAK;AACjD,uBAAe,QAAQ,aAAa,KAAI;;;AAG5C,WAAO,IAAI,YAAY;MAAC;MAAQ,SAAS;;;AAQ3C,yBAAuB,OAAO,QAAO;AACnC,UAAM,QAAQ;AACd,UAAM,QAAQ,MAAM,wBAAwB;AAE5C,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,YAAM,QAAO,MAAM;AACnB,UAAI,MAAK,UAAU,QAAO;AACxB;;AAEF,UAAI,CAAC,MAAK,QAAQ;AAChB,cAAM,QAAQ,MAAK;;;AAGvB,WAAO;;AAQT,0BAAwB,QAAQ,aAAa,YAAY;AACvD,UAAM,YAAY;AAClB,aAAS,KAAI,GAAG,KAAI,WAAW,QAAQ,MAAK;AAC1C,YAAM,OAAO,WAAW;AACxB,YAAM,EAAC,OAAO,MAAM,UAAS,UAAU,MAAM,aAAa;AAE1D,UAAI,CAAC,SAAU,SAAS,MAAO;AAC7B;;AAEF,UAAI,OAAO;AAGT,kBAAU,QAAQ;aACb;AACL,eAAO,KAAK;AACZ,YAAI,CAAC,MAAM;AAET;;;;AAIN,WAAO,KAAQ,GAAA;;AASjB,qBAAmB,MAAM,aAAa,UAAU;AAC9C,UAAM,QAAQ,KAAK,YAAY,aAAa;AAC5C,QAAI,CAAC,OAAO;AACV,aAAO;;AAGT,UAAM,aAAa,MAAM;AACzB,UAAM,WAAW,KAAK;AACtB,UAAM,aAAa,KAAK;AACxB,QAAI,QAAQ;AACZ,QAAI,OAAO;AACX,aAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACxC,YAAM,UAAU,SAAS;AACzB,YAAM,aAAa,WAAW,QAAQ,OAAO;AAC7C,YAAM,YAAY,WAAW,QAAQ,KAAK;AAC1C,UAAI,WAAW,YAAY,YAAY,YAAY;AACjD,gBAAQ,eAAe;AACvB,eAAO,eAAe;AACtB;;;AAGJ,WAAO;MAAC;MAAO;MAAM;;;ACzGhB,wBAAM;IACX,YAAY,MAAM;AAChB,WAAK,IAAI,KAAK;AACd,WAAK,IAAI,KAAK;AACd,WAAK,SAAS,KAAK;;IAGrB,YAAY,KAAK,QAAQ,MAAM;AAC7B,YAAM,EAAC,GAAG,OAAG,WAAU;AACvB,eAAS,UAAU;QAAC,OAAO;QAAG,KAAK;;AACnC,UAAI,IAAI,GAAG,IAAG,QAAQ,OAAO,KAAK,OAAO,OAAO;AAChD,aAAO,CAAC,KAAK;;IAGf,YAAY,OAAO;AACjB,YAAM,EAAC,GAAG,OAAG,WAAU;AACvB,YAAM,QAAQ,MAAM;AACpB,aAAO;QACL,GAAG,IAAI,KAAK,IAAI,SAAS;QACzB,GAAG,KAAI,KAAK,IAAI,SAAS;QACzB;;;;ACXC,sBAAoB,QAAQ;AACjC,UAAM,EAAC,OAAO,aAAM,SAAQ;AAE5B,QAAI,eAAS,QAAO;AAClB,aAAO,eAAe,OAAO;;AAG/B,QAAI,UAAS,SAAS;AACpB,aAAO,gBAAgB;;AAGzB,QAAI,UAAS,SAAS;AACpB,aAAO;;AAGT,UAAM,WAAW,gBAAgB;AAEjC,QAAI,oBAAoB,WAAW;AACjC,aAAO;;AAGT,WAAO,oBAAoB,UAAU;;AAOvC,0BAAwB,OAAO,QAAO;AACpC,UAAM,QAAO,MAAM,eAAe;AAClC,UAAM,UAAU,SAAQ,MAAM,iBAAiB;AAC/C,WAAO,UAAU,MAAK,UAAU;;AAGlC,2BAAyB,QAAQ;AAC/B,UAAM,QAAQ,OAAO,SAAS;AAE9B,QAAI,MAAM,0BAA0B;AAClC,aAAO,wBAAwB;;AAEjC,WAAO,sBAAsB;;AAI/B,iCAA+B,QAAQ;AACrC,UAAM,EAAC,QAAQ,IAAI,gBAAQ;AAC3B,UAAM,QAAQ,gBAAgB,OAAM;AAEpC,QAAI,eAAS,QAAQ;AACnB,YAAM,aAAa,MAAM;AAEzB,aAAO;QACL,GAAG,aAAa,QAAQ;QACxB,GAAG,aAAa,OAAO;;;AAI3B,WAAO;;AAGT,mCAAiC,QAAQ;AACvC,UAAM,EAAC,OAAO,gBAAQ;AACtB,UAAM,UAAU,MAAM;AACtB,UAAM,SAAS,MAAM,YAAY;AACjC,UAAM,SAAQ,QAAQ,UAAU,MAAM,MAAM,MAAM;AAClD,UAAM,QAAQ,gBAAgB,OAAM,OAAO;AAC3C,UAAM,SAAS;AAEf,QAAI,QAAQ,KAAK,UAAU;AACzB,YAAM,SAAS,MAAM,yBAAyB,GAAG;AACjD,aAAO,IAAI,UAAU;QACnB,GAAG,OAAO;QACV,GAAG,OAAO;QACV,QAAQ,MAAM,8BAA8B;;;AAIhD,aAAS,IAAI,GAAG,IAAI,QAAQ,EAAE,GAAG;AAC/B,aAAO,KAAK,MAAM,yBAAyB,GAAG;;AAEhD,WAAO;;ACxFF,qBAAmB,KAAK,QAAQ,MAAM;AAC3C,UAAM,SAAS,WAAW;AAC1B,UAAM,EAAC,MAAM,OAAO,SAAQ;AAC5B,UAAM,WAAW,KAAK;AACtB,UAAM,aAAa,SAAS;AAC5B,UAAM,UAAQ,SAAS;AACvB,UAAM,EAAC,QAAQ,SAAO,QAAQ,YAAS,cAAc;AACrD,QAAI,UAAU,KAAK,OAAO,QAAQ;AAChC,eAAS,KAAK;AACd,aAAO,KAAK;QAAC;QAAM;QAAQ;QAAO;QAAO;QAAM;QAAO;;AACtD,iBAAW;;;AAIf,kBAAgB,KAAK,KAAK;AACxB,UAAM,EAAC,MAAM,QAAQ,OAAO,OAAO,MAAM,UAAS;AAClD,UAAM,WAAW,KAAK,QAAQ,UAAU,IAAI;AAE5C,QAAI;AAEJ,QAAI,aAAa,OAAO,UAAU,OAAO;AACvC,mBAAa,KAAK,QAAQ,KAAK;AAC/B,WAAK,KAAK;QAAC;QAAM;QAAQ,OAAO;QAAO;QAAO;;AAC9C,UAAI;AACJ,UAAI;AACJ,mBAAa,KAAK,QAAQ,KAAK;;AAEjC,SAAK,KAAK;MAAC;MAAM;MAAQ,OAAO;MAAO;MAAO;;AAE9C,QAAI;;AAGN,wBAAsB,KAAK,QAAQ,OAAO;AACxC,UAAM,EAAC,UAAU,WAAU;AAC3B,QAAI,QAAQ;AACZ,QAAI,WAAW;AAEf,QAAI;AACJ,eAAW,WAAW,UAAU;AAC9B,YAAM,EAAC,eAAO,QAAO;AACrB,YAAM,aAAa,OAAO;AAC1B,YAAM,YAAY,OAAO,gBAAgB,QAAO,KAAK;AACrD,UAAI,OAAO;AACT,YAAI,OAAO,WAAW,GAAG,WAAW;AACpC,gBAAQ;aACH;AACL,YAAI,OAAO,WAAW,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG,WAAW;;AAEtC,iBAAW,CAAC,CAAC,OAAO,YAAY,KAAK,SAAS;QAAC,MAAM;;AACrD,UAAI,UAAU;AACZ,YAAI;aACC;AACL,YAAI,OAAO,UAAU,GAAG;;;AAI5B,QAAI,OAAO,OAAO,QAAQ,GAAG;AAC7B,QAAI;AACJ,QAAI;;AAGN,gBAAc,KAAK,KAAK;AACtB,UAAM,EAAC,MAAM,QAAQ,UAAU,gBAAO,UAAS;AAC/C,UAAM,WAAW,UAAU,MAAM,QAAQ;AAEzC,eAAW,EAAC,QAAQ,KAAK,QAAQ,KAAK,eAAO,SAAQ,UAAU;AAC7D,YAAM,EAAC,OAAO,EAAC,kBAAkB,YAAS,OAAM;AAChD,YAAM,WAAW,WAAW;AAE5B,UAAI;AACJ,UAAI,YAAY;AAEhB,iBAAW,KAAK,OAAO,YAAY,WAAW,UAAU,QAAO;AAE/D,UAAI;AAEJ,YAAM,WAAW,CAAC,CAAC,KAAK,YAAY,KAAK;AAEzC,UAAI;AACJ,UAAI,UAAU;AACZ,YAAI,UAAU;AACZ,cAAI;eACC;AACL,6BAAmB,KAAK,QAAQ,KAAK;;AAGvC,cAAM,aAAa,CAAC,CAAC,OAAO,YAAY,KAAK,KAAK;UAAC,MAAM;UAAU,SAAS;;AAC5E,eAAO,YAAY;AACnB,YAAI,CAAC,MAAM;AACT,6BAAmB,KAAK,QAAQ,QAAO;;;AAI3C,UAAI;AACJ,UAAI,KAAK,OAAO,YAAY;AAE5B,UAAI;;;AAIR,sBAAoB,KAAK,OAAO,QAAQ;AACtC,UAAM,EAAC,WAAK,WAAU,MAAM,MAAM;AAClC,UAAM,EAAC,UAAU,eAAO,QAAO,UAAU;AACzC,QAAI,aAAa,KAAK;AACpB,UAAI;AACJ,UAAI,KAAK,QAAO,MAAK,MAAM,QAAO,SAAS;AAC3C,UAAI;;;AAIR,8BAA4B,KAAK,QAAQ,OAAO,UAAU;AACxD,UAAM,oBAAoB,OAAO,YAAY,OAAO;AACpD,QAAI,mBAAmB;AACrB,UAAI,OAAO,kBAAkB,GAAG,kBAAkB;;;AC3GtD,MAAA,SAAe;IACb,IAAI;IAEJ,oBAAoB,OAAO,OAAO,SAAS;AACzC,YAAM,QAAS,OAAM,KAAK,YAAY,IAAI;AAC1C,YAAM,UAAU;AAChB,UAAI,OAAM,GAAG,MAAM;AAEnB,WAAK,IAAI,GAAG,IAAI,OAAO,EAAE,GAAG;AAC1B,gBAAO,MAAM,eAAe;AAC5B,eAAO,MAAK;AACZ,iBAAS;AAET,YAAI,QAAQ,KAAK,WAAW,gBAAgB,aAAa;AACvD,mBAAS;YACP,SAAS,MAAM,iBAAiB;YAChC,OAAO;YACP,MAAM,YAAY,MAAM,GAAG;YAC3B;YACA,MAAM,MAAK,WAAW,QAAQ;YAC9B,OAAO,MAAK;YACZ;;;AAIJ,cAAK,UAAU;AACf,gBAAQ,KAAK;;AAGf,WAAK,IAAI,GAAG,IAAI,OAAO,EAAE,GAAG;AAC1B,iBAAS,QAAQ;AACjB,YAAI,CAAC,UAAU,OAAO,SAAS,OAAO;AACpC;;AAGF,eAAO,OAAO,eAAe,SAAS,GAAG,QAAQ;;;IAIrD,WAAW,OAAO,OAAO,SAAS;AAChC,YAAM,QAAO,QAAQ,aAAa;AAClC,YAAM,WAAW,MAAM;AACvB,YAAM,OAAO,MAAM;AACnB,eAAS,IAAI,SAAS,SAAS,GAAG,KAAK,GAAG,EAAE,GAAG;AAC7C,cAAM,SAAS,SAAS,GAAG;AAC3B,YAAI,CAAC,QAAQ;AACX;;AAGF,eAAO,KAAK,oBAAoB,MAAM,OAAO;AAC7C,YAAI,SAAQ,OAAO,MAAM;AACvB,oBAAU,MAAM,KAAK,QAAQ;;;;IAKnC,mBAAmB,OAAO,OAAO,SAAS;AACxC,UAAI,QAAQ,aAAa,sBAAsB;AAC7C;;AAGF,YAAM,WAAW,MAAM;AACvB,eAAS,IAAI,SAAS,SAAS,GAAG,KAAK,GAAG,EAAE,GAAG;AAC7C,cAAM,SAAS,SAAS,GAAG;AAE3B,YAAI,iBAAiB,SAAS;AAC5B,oBAAU,MAAM,KAAK,QAAQ,MAAM;;;;IAKzC,kBAAkB,OAAO,MAAM,SAAS;AACtC,YAAM,SAAS,KAAK,KAAK;AAEzB,UAAI,CAAC,iBAAiB,WAAW,QAAQ,aAAa,qBAAqB;AACzE;;AAGF,gBAAU,MAAM,KAAK,QAAQ,MAAM;;IAGrC,UAAU;MACR,WAAW;MACX,UAAU;;;ACvEd,MAAM,aAAa,CAAC,WAAW,aAAa;AAC1C,QAAI,EAAC,YAAY,UAAU,WAAW,aAAY;AAElD,QAAI,UAAU,eAAe;AAC3B,kBAAY,KAAK,IAAI,WAAW;AAChC,iBAAW,UAAU,mBAAmB,KAAK,IAAI,UAAU;;AAG7D,WAAO;MACL;MACA;MACA,YAAY,KAAK,IAAI,UAAU;;;AAInC,MAAM,aAAa,CAAC,GAAG,MAAM,MAAM,QAAQ,MAAM,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE;AAErG,6BAAqB,SAAA;IAK1B,YAAY,QAAQ;AAClB;AAEA,WAAK,SAAS;AAGd,WAAK,iBAAiB;AAKtB,WAAK,eAAe;AAGpB,WAAK,eAAe;AAEpB,WAAK,QAAQ,OAAO;AACpB,WAAK,UAAU,OAAO;AACtB,WAAK,MAAM,OAAO;AAClB,WAAK,cAAc;AACnB,WAAK,cAAc;AACnB,WAAK,aAAa;AAClB,WAAK,YAAY;AACjB,WAAK,WAAW;AAChB,WAAK,MAAM;AACX,WAAK,SAAS;AACd,WAAK,OAAO;AACZ,WAAK,QAAQ;AACb,WAAK,SAAS;AACd,WAAK,QAAQ;AACb,WAAK,WAAW;AAChB,WAAK,WAAW;AAChB,WAAK,SAAS;AACd,WAAK,WAAW;;IAGlB,OAAO,UAAU,WAAW,SAAS;AACnC,WAAK,WAAW;AAChB,WAAK,YAAY;AACjB,WAAK,WAAW;AAEhB,WAAK;AACL,WAAK;AACL,WAAK;;IAGP,gBAAgB;AACd,UAAI,KAAK,gBAAgB;AACvB,aAAK,QAAQ,KAAK;AAClB,aAAK,OAAO,KAAK,SAAS;AAC1B,aAAK,QAAQ,KAAK;aACb;AACL,aAAK,SAAS,KAAK;AACnB,aAAK,MAAM,KAAK,SAAS;AACzB,aAAK,SAAS,KAAK;;;IAIvB,cAAc;AACZ,YAAM,YAAY,KAAK,QAAQ,UAAU;AACzC,UAAI,cAAc,SAAK,UAAU,gBAAgB;QAAC,KAAK;SAAQ,SAAS;AAExE,UAAI,UAAU,QAAQ;AACpB,sBAAc,YAAY,OAAO,CAAC,SAAS,UAAU,OAAO,MAAM,KAAK,MAAM;;AAG/E,UAAI,UAAU,MAAM;AAClB,sBAAc,YAAY,KAAK,CAAC,GAAG,MAAM,UAAU,KAAK,GAAG,GAAG,KAAK,MAAM;;AAG3E,UAAI,KAAK,QAAQ,SAAS;AACxB,oBAAY;;AAGd,WAAK,cAAc;;IAGrB,MAAM;AACJ,YAAM,EAAC,SAAS,QAAO;AAMvB,UAAI,CAAC,QAAQ,SAAS;AACpB,aAAK,QAAQ,KAAK,SAAS;AAC3B;;AAGF,YAAM,YAAY,QAAQ;AAC1B,YAAM,YAAY,OAAO,UAAU;AACnC,YAAM,WAAW,UAAU;AAC3B,YAAM,cAAc,KAAK;AACzB,YAAM,EAAC,UAAU,eAAc,WAAW,WAAW;AAErD,UAAI,OAAO;AAEX,UAAI,OAAO,UAAU;AAErB,UAAI,KAAK,gBAAgB;AACvB,gBAAQ,KAAK;AACb,iBAAS,KAAK,SAAS,aAAa,UAAU,UAAU,cAAc;aACjE;AACL,iBAAS,KAAK;AACd,gBAAQ,KAAK,SAAS,aAAa,WAAW,UAAU,cAAc;;AAGxE,WAAK,QAAQ,KAAK,IAAI,OAAO,QAAQ,YAAY,KAAK;AACtD,WAAK,SAAS,KAAK,IAAI,QAAQ,QAAQ,aAAa,KAAK;;IAM3D,SAAS,aAAa,UAAU,UAAU,YAAY;AACpD,YAAM,EAAC,KAAK,UAAU,SAAS,EAAC,QAAQ,EAAC,gBAAa;AACtD,YAAM,WAAW,KAAK,iBAAiB;AAEvC,YAAM,aAAa,KAAK,aAAa;QAAC;;AACtC,YAAM,aAAa,aAAa;AAChC,UAAI,cAAc;AAElB,UAAI,YAAY;AAChB,UAAI,eAAe;AAEnB,UAAI,MAAM;AACV,UAAI,OAAM,CAAC;AACX,WAAK,YAAY,QAAQ,CAAC,YAAY,MAAM;AAC1C,cAAM,YAAY,WAAY,WAAW,IAAK,IAAI,YAAY,WAAW,MAAM;AAE/E,YAAI,MAAM,KAAK,WAAW,WAAW,SAAS,KAAK,YAAY,IAAI,UAAU,UAAU;AACrF,yBAAe;AACf,qBAAW,WAAW,SAAU,KAAI,IAAI,IAAI,MAAM;AAClD,kBAAO;AACP;;AAGF,iBAAS,KAAK;UAAC,MAAM;UAAG;UAAK;UAAK,OAAO;UAAW,QAAQ;;AAE5D,mBAAW,WAAW,SAAS,MAAM,YAAY;;AAGnD,aAAO;;IAGT,SAAS,aAAa,WAAW,UAAU,aAAa;AACtD,YAAM,EAAC,KAAK,WAAW,SAAS,EAAC,QAAQ,EAAC,gBAAa;AACvD,YAAM,WAAW,KAAK,iBAAiB;AACvC,YAAM,cAAc,KAAK,cAAc;AACvC,YAAM,cAAc,YAAY;AAEhC,UAAI,aAAa;AACjB,UAAI,kBAAkB;AACtB,UAAI,mBAAmB;AAEvB,UAAI,OAAO;AACX,UAAI,MAAM;AAEV,WAAK,YAAY,QAAQ,CAAC,YAAY,MAAM;AAC1C,cAAM,EAAC,WAAW,eAAc,kBAAkB,UAAU,WAAW,KAAK,YAAY;AAGxF,YAAI,IAAI,KAAK,mBAAmB,aAAa,IAAI,UAAU,aAAa;AACtE,wBAAc,kBAAkB;AAChC,sBAAY,KAAK;YAAC,OAAO;YAAiB,QAAQ;;AAClD,kBAAQ,kBAAkB;AAC1B;AACA,4BAAkB,mBAAmB;;AAIvC,iBAAS,KAAK;UAAC;UAAM,KAAK;UAAkB;UAAK,OAAO;UAAW,QAAQ;;AAG3E,0BAAkB,KAAK,IAAI,iBAAiB;AAC5C,4BAAoB,aAAa;;AAGnC,oBAAc;AACd,kBAAY,KAAK;QAAC,OAAO;QAAiB,QAAQ;;AAElD,aAAO;;IAGT,iBAAiB;AACf,UAAI,CAAC,KAAK,QAAQ,SAAS;AACzB;;AAEF,YAAM,cAAc,KAAK;AACzB,YAAM,EAAC,gBAAgB,UAAU,SAAS,EAAC,OAAO,QAAQ,EAAC,WAAU,UAAQ;AAC7E,YAAM,YAAY,cAAc,KAAK,KAAK,MAAM,KAAK;AACrD,UAAI,KAAK,gBAAgB;AACvB,YAAI,MAAM;AACV,YAAI,OAAO,eAAe,OAAO,KAAK,OAAO,SAAS,KAAK,QAAQ,KAAK,WAAW;AACnF,mBAAW,UAAU,UAAU;AAC7B,cAAI,QAAQ,OAAO,KAAK;AACtB,kBAAM,OAAO;AACb,mBAAO,eAAe,OAAO,KAAK,OAAO,SAAS,KAAK,QAAQ,KAAK,WAAW;;AAEjF,iBAAO,OAAO,KAAK,MAAM,cAAc;AACvC,iBAAO,OAAO,UAAU,WAAW,UAAU,EAAE,OAAO,OAAO;AAC7D,kBAAQ,OAAO,QAAQ;;aAEpB;AACL,YAAI,MAAM;AACV,YAAI,OAAM,eAAe,OAAO,KAAK,MAAM,cAAc,SAAS,KAAK,SAAS,KAAK,YAAY,KAAK;AACtG,mBAAW,UAAU,UAAU;AAC7B,cAAI,OAAO,QAAQ,KAAK;AACtB,kBAAM,OAAO;AACb,mBAAM,eAAe,OAAO,KAAK,MAAM,cAAc,SAAS,KAAK,SAAS,KAAK,YAAY,KAAK;;AAEpG,iBAAO,MAAM;AACb,iBAAO,QAAQ,KAAK,OAAO;AAC3B,iBAAO,OAAO,UAAU,WAAW,UAAU,EAAE,OAAO,OAAO,OAAO;AACpE,kBAAO,OAAO,SAAS;;;;IAK7B,eAAe;AACb,aAAO,KAAK,QAAQ,aAAa,SAAS,KAAK,QAAQ,aAAa;;IAGtE,OAAO;AACL,UAAI,KAAK,QAAQ,SAAS;AACxB,cAAM,MAAM,KAAK;AACjB,iBAAS,KAAK;AAEd,aAAK;AAEL,mBAAW;;;IAOf,QAAQ;AACN,YAAM,EAAC,SAAS,MAAM,aAAa,YAAY,QAAO;AACtD,YAAM,EAAC,OAAO,QAAQ,cAAa;AACnC,YAAM,eAAe,UAAS;AAC9B,YAAM,YAAY,cAAc,KAAK,KAAK,KAAK,MAAM,KAAK;AAC1D,YAAM,YAAY,OAAO,UAAU;AACnC,YAAM,EAAC,YAAW;AAClB,YAAM,WAAW,UAAU;AAC3B,YAAM,eAAe,WAAW;AAChC,UAAI;AAEJ,WAAK;AAGL,UAAI,YAAY,UAAU,UAAU;AACpC,UAAI,eAAe;AACnB,UAAI,YAAY;AAChB,UAAI,OAAO,UAAU;AAErB,YAAM,EAAC,UAAU,WAAW,eAAc,WAAW,WAAW;AAGhE,YAAM,gBAAgB,SAAS,GAAG,IAAG,YAAY;AAC/C,YAAI,MAAM,aAAa,YAAY,KAAK,MAAM,cAAc,YAAY,GAAG;AACzE;;AAIF,YAAI;AAEJ,cAAM,YAAY,eAAe,WAAW,WAAW;AACvD,YAAI,YAAY,eAAe,WAAW,WAAW;AACrD,YAAI,UAAU,eAAe,WAAW,SAAS;AACjD,YAAI,iBAAiB,eAAe,WAAW,gBAAgB;AAC/D,YAAI,WAAW,eAAe,WAAW,UAAU;AACnD,YAAI,YAAY;AAChB,YAAI,cAAc,eAAe,WAAW,aAAa;AAEzD,YAAI,YAAY,eAAe,WAAW,UAAU;AAEpD,YAAI,UAAU,eAAe;AAG3B,gBAAM,cAAc;YAClB,QAAQ,YAAY,KAAK,QAAQ;YACjC,YAAY,WAAW;YACvB,UAAU,WAAW;YACrB,aAAa;;AAEf,gBAAM,UAAU,UAAU,MAAM,GAAG,WAAW;AAC9C,gBAAM,UAAU,KAAI;AAGpB,0BAAgB,KAAK,aAAa,SAAS,SAAS,UAAU,mBAAmB;eAC5E;AAGL,gBAAM,UAAU,KAAI,KAAK,IAAK,YAAW,aAAa,GAAG;AACzD,gBAAM,WAAW,UAAU,WAAW,GAAG;AACzC,gBAAM,eAAe,cAAc,WAAW;AAE9C,cAAI;AAEJ,cAAI,OAAO,OAAO,cAAc,KAAK,CAAA,MAAK,MAAM,IAAI;AAClD,+BAAmB,KAAK;cACtB,GAAG;cACH,GAAG;cACH,GAAG;cACH,GAAG;cACH,QAAQ;;iBAEL;AACL,gBAAI,KAAK,UAAU,SAAS,UAAU;;AAGxC,cAAI;AACJ,cAAI,cAAc,GAAG;AACnB,gBAAI;;;AAIR,YAAI;;AAGN,YAAM,WAAW,SAAS,GAAG,IAAG,YAAY;AAC1C,mBAAW,KAAK,WAAW,MAAM,GAAG,KAAK,aAAa,GAAI,WAAW;UACnE,eAAe,WAAW;UAC1B,WAAW,UAAU,UAAU,WAAW;;;AAK9C,YAAM,eAAe,KAAK;AAC1B,YAAM,cAAc,KAAK;AACzB,UAAI,cAAc;AAChB,iBAAS;UACP,GAAG,eAAe,OAAO,KAAK,OAAO,SAAS,KAAK,QAAQ,WAAW;UACtE,GAAG,KAAK,MAAM,UAAU;UACxB,MAAM;;aAEH;AACL,iBAAS;UACP,GAAG,KAAK,OAAO;UACf,GAAG,eAAe,OAAO,KAAK,MAAM,cAAc,SAAS,KAAK,SAAS,YAAY,GAAG;UACxF,MAAM;;;AAIV,4BAAsB,KAAK,KAAK,KAAK;AAErC,YAAM,aAAa,aAAa;AAChC,WAAK,YAAY,QAAQ,CAAC,YAAY,MAAM;AAC1C,YAAI,cAAc,WAAW;AAC7B,YAAI,YAAY,WAAW;AAE3B,cAAM,YAAY,IAAI,YAAY,WAAW,MAAM;AACnD,cAAM,YAAY,UAAU,UAAU,WAAW,aAAc,YAAW,YAAY,UAAU;AAChG,cAAM,QAAQ,WAAW,eAAe;AACxC,YAAI,IAAI,OAAO;AACf,YAAI,KAAI,OAAO;AAEf,kBAAU,SAAS,KAAK;AAExB,YAAI,cAAc;AAChB,cAAI,IAAI,KAAK,IAAI,QAAQ,UAAU,KAAK,OAAO;AAC7C,iBAAI,OAAO,KAAK;AAChB,mBAAO;AACP,gBAAI,OAAO,IAAI,eAAe,OAAO,KAAK,OAAO,SAAS,KAAK,QAAQ,WAAW,OAAO;;mBAElF,IAAI,KAAK,KAAI,aAAa,KAAK,QAAQ;AAChD,cAAI,OAAO,IAAI,IAAI,YAAY,OAAO,MAAM,QAAQ;AACpD,iBAAO;AACP,eAAI,OAAO,IAAI,eAAe,OAAO,KAAK,MAAM,cAAc,SAAS,KAAK,SAAS,YAAY,OAAO,MAAM;;AAGhH,cAAM,QAAQ,UAAU,EAAE;AAE1B,sBAAc,OAAO,IAAG;AAExB,YAAI,OAAO,WAAW,IAAI,WAAW,cAAc,eAAe,IAAI,QAAQ,KAAK,OAAO,KAAK;AAG/F,iBAAS,UAAU,EAAE,IAAI,IAAG;AAE5B,YAAI,cAAc;AAChB,iBAAO,KAAK,QAAQ;mBACX,OAAO,WAAW,SAAS,UAAU;AAC9C,gBAAM,iBAAiB,UAAU;AACjC,iBAAO,KAAK,0BAA0B,YAAY,kBAAkB;eAC/D;AACL,iBAAO,KAAK;;;AAIhB,2BAAqB,KAAK,KAAK,KAAK;;IAMtC,YAAY;AACV,YAAM,OAAO,KAAK;AAClB,YAAM,YAAY,KAAK;AACvB,YAAM,YAAY,OAAO,UAAU;AACnC,YAAM,eAAe,UAAU,UAAU;AAEzC,UAAI,CAAC,UAAU,SAAS;AACtB;;AAGF,YAAM,YAAY,cAAc,KAAK,KAAK,KAAK,MAAM,KAAK;AAC1D,YAAM,MAAM,KAAK;AACjB,YAAM,WAAW,UAAU;AAC3B,YAAM,eAAe,UAAU,OAAO;AACtC,YAAM,6BAA6B,aAAa,MAAM;AACtD,UAAI;AAIJ,UAAI,OAAO,KAAK;AAChB,UAAI,WAAW,KAAK;AAEpB,UAAI,KAAK,gBAAgB;AAEvB,mBAAW,KAAK,IAAO,GAAA,KAAK;AAC5B,aAAI,KAAK,MAAM;AACf,eAAO,eAAe,KAAK,OAAO,MAAM,KAAK,QAAQ;aAChD;AAEL,cAAM,YAAY,KAAK,YAAY,OAAO,CAAC,KAAK,SAAS,KAAK,IAAI,KAAK,KAAK,SAAS;AACrF,aAAI,6BAA6B,eAAe,KAAK,OAAO,KAAK,KAAK,KAAK,SAAS,YAAY,KAAK,OAAO,UAAU,KAAK;;AAK7H,YAAM,IAAI,eAAe,UAAU,MAAM,OAAO;AAGhD,UAAI,YAAY,UAAU,UAAU,mBAAmB;AACvD,UAAI,eAAe;AACnB,UAAI,cAAc,UAAU;AAC5B,UAAI,YAAY,UAAU;AAC1B,UAAI,OAAO,UAAU;AAErB,iBAAW,KAAK,UAAU,MAAM,GAAG,IAAG;;IAMxC,sBAAsB;AACpB,YAAM,YAAY,KAAK,QAAQ;AAC/B,YAAM,YAAY,OAAO,UAAU;AACnC,YAAM,eAAe,UAAU,UAAU;AACzC,aAAO,UAAU,UAAU,UAAU,aAAa,aAAa,SAAS;;IAM1E,iBAAiB,GAAG,IAAG;AACrB,UAAI,GAAG,QAAQ;AAEf,UAAI,WAAW,GAAG,KAAK,MAAM,KAAK,UAC7B,WAAW,IAAG,KAAK,KAAK,KAAK,SAAS;AAEzC,cAAK,KAAK;AACV,aAAK,IAAI,GAAG,IAAI,IAAG,QAAQ,EAAE,GAAG;AAC9B,mBAAS,IAAG;AAEZ,cAAI,WAAW,GAAG,OAAO,MAAM,OAAO,OAAO,OAAO,UAC/C,WAAW,IAAG,OAAO,KAAK,OAAO,MAAM,OAAO,SAAS;AAE1D,mBAAO,KAAK,YAAY;;;;AAK9B,aAAO;;IAOT,YAAY,GAAG;AACb,YAAM,OAAO,KAAK;AAClB,UAAI,CAAC,WAAW,EAAE,MAAM,OAAO;AAC7B;;AAIF,YAAM,cAAc,KAAK,iBAAiB,EAAE,GAAG,EAAE;AAEjD,UAAI,EAAE,SAAS,eAAe,EAAE,SAAS,YAAY;AACnD,cAAM,WAAW,KAAK;AACtB,cAAM,WAAW,WAAW,UAAU;AACtC,YAAI,YAAY,CAAC,UAAU;AACzB,mBAAK,KAAK,SAAS;YAAC;YAAG;YAAU;aAAO;;AAG1C,aAAK,eAAe;AAEpB,YAAI,eAAe,CAAC,UAAU;AAC5B,mBAAK,KAAK,SAAS;YAAC;YAAG;YAAa;aAAO;;iBAEpC,aAAa;AACtB,iBAAK,KAAK,SAAS;UAAC;UAAG;UAAa;WAAO;;;;AAKjD,6BAA2B,UAAU,WAAW,KAAK,YAAY,aAAa;AAC5E,UAAM,YAAY,mBAAmB,YAAY,UAAU,WAAW;AACtE,UAAM,aAAa,oBAAoB,aAAa,YAAY,UAAU;AAC1E,WAAO;MAAC;MAAW;;;AAGrB,8BAA4B,YAAY,UAAU,WAAW,KAAK;AAChE,QAAI,iBAAiB,WAAW;AAChC,QAAI,kBAAkB,OAAO,mBAAmB,UAAU;AACxD,uBAAiB,eAAe,OAAO,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE,SAAS,IAAI;;AAE7E,WAAO,WAAY,UAAU,OAAO,IAAK,IAAI,YAAY,gBAAgB;;AAG3E,+BAA6B,aAAa,YAAY,gBAAgB;AACpE,QAAI,aAAa;AACjB,QAAI,OAAO,WAAW,SAAS,UAAU;AACvC,mBAAa,0BAA0B,YAAY;;AAErD,WAAO;;AAGT,qCAAmC,YAAY,gBAAgB;AAC7D,UAAM,cAAc,WAAW,OAAO,WAAW,KAAK,SAAS;AAC/D,WAAO,iBAAiB;;AAG1B,sBAAoB,MAAM,MAAM;AAC9B,QAAK,UAAS,eAAe,SAAS,eAAgB,MAAK,WAAW,KAAK,UAAU;AACnF,aAAO;;AAET,QAAI,KAAK,WAAY,UAAS,WAAW,SAAS,YAAY;AAC5D,aAAO;;AAET,WAAO;;AAGT,MAAA,gBAAe;IACb,IAAI;IAMJ,UAAU;IAEV,MAAM,OAAO,OAAO,SAAS;AAC3B,YAAM,SAAS,MAAM,SAAS,IAAI,OAAO;QAAC,KAAK,MAAM;QAAK;QAAS;;AACnE,cAAQ,UAAU,OAAO,QAAQ;AACjC,cAAQ,OAAO,OAAO;;IAGxB,KAAK,OAAO;AACV,cAAQ,UAAU,OAAO,MAAM;AAC/B,aAAO,MAAM;;IAMf,aAAa,OAAO,OAAO,SAAS;AAClC,YAAM,SAAS,MAAM;AACrB,cAAQ,UAAU,OAAO,QAAQ;AACjC,aAAO,UAAU;;IAKnB,YAAY,OAAO;AACjB,YAAM,SAAS,MAAM;AACrB,aAAO;AACP,aAAO;;IAIT,WAAW,OAAO,MAAM;AACtB,UAAI,CAAC,KAAK,QAAQ;AAChB,cAAM,OAAO,YAAY,KAAK;;;IAIlC,UAAU;MACR,SAAS;MACT,UAAU;MACV,OAAO;MACP,UAAU;MACV,SAAS;MACT,QAAQ;MAGR,QAAQ,GAAG,YAAY,QAAQ;AAC7B,cAAM,SAAQ,WAAW;AACzB,cAAM,MAAK,OAAO;AAClB,YAAI,IAAG,iBAAiB,SAAQ;AAC9B,cAAG,KAAK;AACR,qBAAW,SAAS;eACf;AACL,cAAG,KAAK;AACR,qBAAW,SAAS;;;MAIxB,SAAS;MACT,SAAS;MAET,QAAQ;QACN,OAAO,CAAC,QAAQ,IAAI,MAAM,QAAQ;QAClC,UAAU;QACV,SAAS;QAYT,eAAe,OAAO;AACpB,gBAAM,WAAW,MAAM,KAAK;AAC5B,gBAAM,EAAC,QAAQ,EAAC,eAAe,YAAY,WAAW,gBAAO,iBAAiB,mBAAiB,MAAM,OAAO;AAE5G,iBAAO,MAAM,yBAAyB,IAAI,CAAC,UAAS;AAClD,kBAAM,QAAQ,MAAK,WAAW,SAAS,gBAAgB,IAAI;AAC3D,kBAAM,cAAc,UAAU,MAAM;AAEpC,mBAAO;cACL,MAAM,SAAS,MAAK,OAAO;cAC3B,WAAW,MAAM;cACjB,WAAW;cACX,QAAQ,CAAC,MAAK;cACd,SAAS,MAAM;cACf,UAAU,MAAM;cAChB,gBAAgB,MAAM;cACtB,UAAU,MAAM;cAChB,WAAY,aAAY,QAAQ,YAAY,UAAU;cACtD,aAAa,MAAM;cACnB,YAAY,cAAc,MAAM;cAChC,UAAU,MAAM;cAChB,WAAW,aAAa,MAAM;cAC9B,cAAc,mBAAoB,iBAAgB,MAAM;cAGxD,cAAc,MAAK;;aAEpB;;;MAIP,OAAO;QACL,OAAO,CAAC,QAAQ,IAAI,MAAM,QAAQ;QAClC,SAAS;QACT,UAAU;QACV,MAAM;;;IAIV,aAAa;MACX,aAAa,CAAC,UAAS,CAAC,MAAK,WAAW;MACxC,QAAQ;QACN,aAAa,CAAC,UAAS,CAAC;UAAC;UAAkB;UAAU;UAAQ,SAAS;;;;ACtsBrE,4BAAoB,SAAA;IAIzB,YAAY,QAAQ;AAClB;AAEA,WAAK,QAAQ,OAAO;AACpB,WAAK,UAAU,OAAO;AACtB,WAAK,MAAM,OAAO;AAClB,WAAK,WAAW;AAChB,WAAK,MAAM;AACX,WAAK,SAAS;AACd,WAAK,OAAO;AACZ,WAAK,QAAQ;AACb,WAAK,QAAQ;AACb,WAAK,SAAS;AACd,WAAK,WAAW;AAChB,WAAK,SAAS;AACd,WAAK,WAAW;;IAGlB,OAAO,UAAU,WAAW;AAC1B,YAAM,OAAO,KAAK;AAElB,WAAK,OAAO;AACZ,WAAK,MAAM;AAEX,UAAI,CAAC,KAAK,SAAS;AACjB,aAAK,QAAQ,KAAK,SAAS,KAAK,QAAQ,KAAK,SAAS;AACtD;;AAGF,WAAK,QAAQ,KAAK,QAAQ;AAC1B,WAAK,SAAS,KAAK,SAAS;AAE5B,YAAM,YAAY,SAAQ,KAAK,QAAQ,KAAK,KAAK,SAAS;AAC1D,WAAK,WAAW,UAAU,KAAK;AAC/B,YAAM,WAAW,YAAY,OAAO,KAAK,MAAM,aAAa,KAAK,SAAS;AAE1E,UAAI,KAAK,gBAAgB;AACvB,aAAK,SAAS;aACT;AACL,aAAK,QAAQ;;;IAIjB,eAAe;AACb,YAAM,MAAM,KAAK,QAAQ;AACzB,aAAO,QAAQ,SAAS,QAAQ;;IAGlC,UAAU,QAAQ;AAChB,YAAM,EAAC,WAAK,MAAM,QAAQ,OAAO,YAAW;AAC5C,YAAM,QAAQ,QAAQ;AACtB,UAAI,WAAW;AACf,UAAI,UAAU,QAAQ;AAEtB,UAAI,KAAK,gBAAgB;AACvB,iBAAS,eAAe,OAAO,MAAM;AACrC,iBAAS,OAAM;AACf,mBAAW,QAAQ;aACd;AACL,YAAI,QAAQ,aAAa,QAAQ;AAC/B,mBAAS,OAAO;AAChB,mBAAS,eAAe,OAAO,QAAQ;AACvC,qBAAW,KAAK;eACX;AACL,mBAAS,QAAQ;AACjB,mBAAS,eAAe,OAAO,MAAK;AACpC,qBAAW,KAAK;;AAElB,mBAAW,SAAS;;AAEtB,aAAO;QAAC;QAAQ;QAAQ;QAAU;;;IAGpC,OAAO;AACL,YAAM,MAAM,KAAK;AACjB,YAAM,OAAO,KAAK;AAElB,UAAI,CAAC,KAAK,SAAS;AACjB;;AAGF,YAAM,WAAW,OAAO,KAAK;AAC7B,YAAM,aAAa,SAAS;AAC5B,YAAM,SAAS,aAAa,IAAI,KAAK,SAAS;AAC9C,YAAM,EAAC,QAAQ,QAAQ,UAAU,aAAY,KAAK,UAAU;AAE5D,iBAAW,KAAK,KAAK,MAAM,GAAG,GAAG,UAAU;QACzC,OAAO,KAAK;QACZ;QACA;QACA,WAAW,mBAAmB,KAAK;QACnC,cAAc;QACd,aAAa;UAAC;UAAQ;;;;;AAK5B,uBAAqB,OAAO,WAAW;AACrC,UAAM,QAAQ,IAAI,MAAM;MACtB,KAAK,MAAM;MACX,SAAS;MACT;;AAGF,YAAQ,UAAU,OAAO,OAAO;AAChC,YAAQ,OAAO,OAAO;AACtB,UAAM,aAAa;;AAGrB,MAAA,eAAe;IACb,IAAI;IAMJ,UAAU;IAEV,MAAM,OAAO,OAAO,SAAS;AAC3B,kBAAY,OAAO;;IAGrB,KAAK,OAAO;AACV,YAAM,aAAa,MAAM;AACzB,cAAQ,UAAU,OAAO;AACzB,aAAO,MAAM;;IAGf,aAAa,OAAO,OAAO,SAAS;AAClC,YAAM,QAAQ,MAAM;AACpB,cAAQ,UAAU,OAAO,OAAO;AAChC,YAAM,UAAU;;IAGlB,UAAU;MACR,OAAO;MACP,SAAS;MACT,MAAM;QACJ,QAAQ;;MAEV,UAAU;MACV,SAAS;MACT,UAAU;MACV,MAAM;MACN,QAAQ;;IAGV,eAAe;MACb,OAAO;;IAGT,aAAa;MACX,aAAa;MACb,YAAY;;;AChKhB,MAAM,OAAM,IAAI;AAEhB,MAAA,kBAAe;IACb,IAAI;IAEJ,MAAM,OAAO,OAAO,SAAS;AAC3B,YAAM,QAAQ,IAAI,MAAM;QACtB,KAAK,MAAM;QACX;QACA;;AAGF,cAAQ,UAAU,OAAO,OAAO;AAChC,cAAQ,OAAO,OAAO;AACtB,WAAI,IAAI,OAAO;;IAGjB,KAAK,OAAO;AACV,cAAQ,UAAU,OAAO,KAAI,IAAI;AACjC,WAAI,OAAO;;IAGb,aAAa,OAAO,OAAO,SAAS;AAClC,YAAM,QAAQ,KAAI,IAAI;AACtB,cAAQ,UAAU,OAAO,OAAO;AAChC,YAAM,UAAU;;IAGlB,UAAU;MACR,OAAO;MACP,SAAS;MACT,MAAM;QACJ,QAAQ;;MAEV,UAAU;MACV,SAAS;MACT,UAAU;MACV,MAAM;MACN,QAAQ;;IAGV,eAAe;MACb,OAAO;;IAGT,aAAa;MACX,aAAa;MACb,YAAY;;;AClChB,MAAM,cAAc;IAIlB,QAAQ,OAAO;AACb,UAAI,CAAC,MAAM,QAAQ;AACjB,eAAO;;AAGT,UAAI,GAAG;AACP,UAAI,OAAO,IAAI;AACf,UAAI,KAAI;AACR,UAAI,QAAQ;AAEZ,WAAK,IAAI,GAAG,MAAM,MAAM,QAAQ,IAAI,KAAK,EAAE,GAAG;AAC5C,cAAM,MAAK,MAAM,GAAG;AACpB,YAAI,OAAM,IAAG,YAAY;AACvB,gBAAM,MAAM,IAAG;AACf,eAAK,IAAI,IAAI;AACb,gBAAK,IAAI;AACT,YAAE;;;AAIN,YAAM,WAAW;QAAI,GAAA;QAAM,OAAO,CAAC,GAAG,MAAM,IAAI,KAAK,KAAK;AAE1D,aAAO;QACL,GAAG;QACH,GAAG,KAAI;;;IAOX,QAAQ,OAAO,eAAe;AAC5B,UAAI,CAAC,MAAM,QAAQ;AACjB,eAAO;;AAGT,UAAI,IAAI,cAAc;AACtB,UAAI,KAAI,cAAc;AACtB,UAAI,cAAc,OAAO;AACzB,UAAI,GAAG,KAAK;AAEZ,WAAK,IAAI,GAAG,MAAM,MAAM,QAAQ,IAAI,KAAK,EAAE,GAAG;AAC5C,cAAM,MAAK,MAAM,GAAG;AACpB,YAAI,OAAM,IAAG,YAAY;AACvB,gBAAM,SAAS,IAAG;AAClB,gBAAM,KAAI,sBAAsB,eAAe;AAE/C,cAAI,KAAI,aAAa;AACnB,0BAAc;AACd,6BAAiB;;;;AAKvB,UAAI,gBAAgB;AAClB,cAAM,KAAK,eAAe;AAC1B,YAAI,GAAG;AACP,aAAI,GAAG;;AAGT,aAAO;QACL;QACA;;;;AAMN,wBAAsB,OAAM,QAAQ;AAClC,QAAI,QAAQ;AACV,UAAI,SAAQ,SAAS;AAEnB,cAAM,UAAU,KAAK,MAAM,OAAM;aAC5B;AACL,cAAK,KAAK;;;AAId,WAAO;;AAST,yBAAuB,KAAK;AAC1B,QAAK,QAAO,QAAQ,YAAY,eAAe,WAAW,IAAI,QAAQ,QAAQ,IAAI;AAChF,aAAO,IAAI,MAAM;;AAEnB,WAAO;;AAUT,6BAA2B,OAAO,MAAM;AACtC,UAAM,EAAC,SAAS,cAAc,kBAAS;AACvC,UAAM,aAAa,MAAM,eAAe,cAAc;AACtD,UAAM,EAAC,OAAO,UAAS,WAAW,iBAAiB;AAEnD,WAAO;MACL;MACA;MACA,QAAQ,WAAW,UAAU;MAC7B,KAAK,MAAM,KAAK,SAAS,cAAc,KAAK;MAC5C,gBAAgB;MAChB,SAAS,WAAW;MACpB,WAAW;MACX;MACA;;;AAOJ,0BAAwB,SAAS,SAAS;AACxC,UAAM,MAAM,QAAQ,MAAM;AAC1B,UAAM,EAAC,MAAM,QAAQ,UAAS;AAC9B,UAAM,EAAC,UAAU,cAAa;AAC9B,UAAM,WAAW,OAAO,QAAQ;AAChC,UAAM,YAAY,OAAO,QAAQ;AACjC,UAAM,aAAa,OAAO,QAAQ;AAClC,UAAM,iBAAiB,MAAM;AAC7B,UAAM,kBAAkB,OAAO;AAC/B,UAAM,oBAAoB,KAAK;AAE/B,UAAM,UAAU,UAAU,QAAQ;AAClC,QAAI,SAAS,QAAQ;AACrB,QAAI,QAAQ;AAGZ,QAAI,qBAAqB,KAAK,OAAO,CAAC,OAAO,aAAa,QAAQ,SAAS,OAAO,SAAS,SAAS,MAAM,SAAS,SAAS,MAAM,QAAQ;AAC1I,0BAAsB,QAAQ,WAAW,SAAS,QAAQ,UAAU;AAEpE,QAAI,gBAAgB;AAClB,gBAAU,iBAAiB,UAAU,aACnC,kBAAiB,KAAK,QAAQ,eAC/B,QAAQ;;AAEX,QAAI,oBAAoB;AAEtB,YAAM,iBAAiB,QAAQ,gBAAgB,KAAK,IAAI,WAAW,SAAS,cAAc,SAAS;AACnG,gBAAU,oBAAoB,iBAC5B,sBAAqB,qBAAqB,SAAS,aACnD,sBAAqB,KAAK,QAAQ;;AAEtC,QAAI,iBAAiB;AACnB,gBAAU,QAAQ,kBACjB,kBAAkB,WAAW,aAC5B,mBAAkB,KAAK,QAAQ;;AAInC,QAAI,eAAe;AACnB,UAAM,eAAe,SAAS,MAAM;AAClC,cAAQ,KAAK,IAAI,OAAO,IAAI,YAAY,MAAM,QAAQ;;AAGxD,QAAI;AAEJ,QAAI,OAAO,UAAU;AACrB,SAAK,QAAQ,OAAO;AAGpB,QAAI,OAAO,SAAS;AACpB,SAAK,QAAQ,WAAW,OAAO,QAAQ,YAAY;AAGnD,mBAAe,QAAQ,gBAAiB,WAAW,IAAI,QAAQ,aAAc;AAC7E,SAAK,MAAM,CAAC,aAAa;AACvB,WAAK,SAAS,QAAQ;AACtB,WAAK,SAAS,OAAO;AACrB,WAAK,SAAS,OAAO;;AAIvB,mBAAe;AAGf,QAAI,OAAO,WAAW;AACtB,SAAK,QAAQ,QAAQ;AAErB,QAAI;AAGJ,aAAS,QAAQ;AAEjB,WAAO;MAAC;MAAO;;;AAGjB,2BAAyB,OAAO,MAAM;AACpC,UAAM,EAAC,OAAG,WAAU;AAEpB,QAAI,KAAI,SAAS,GAAG;AAClB,aAAO;eACE,KAAK,MAAM,SAAS,SAAS,GAAI;AAC1C,aAAO;;AAET,WAAO;;AAGT,+BAA6B,QAAQ,OAAO,SAAS,MAAM;AACzD,UAAM,EAAC,GAAG,UAAS;AACnB,UAAM,QAAQ,QAAQ,YAAY,QAAQ;AAC1C,QAAI,WAAW,UAAU,IAAI,QAAQ,QAAQ,MAAM,OAAO;AACxD,aAAO;;AAGT,QAAI,WAAW,WAAW,IAAI,QAAQ,QAAQ,GAAG;AAC/C,aAAO;;;AAIX,2BAAyB,OAAO,SAAS,MAAM,QAAQ;AACrD,UAAM,EAAC,GAAG,UAAS;AACnB,UAAM,EAAC,OAAO,YAAY,WAAW,EAAC,MAAM,YAAU;AACtD,QAAI,SAAS;AAEb,QAAI,WAAW,UAAU;AACvB,eAAS,KAAM,QAAO,SAAS,IAAI,SAAS;eACnC,KAAK,QAAQ,GAAG;AACzB,eAAS;eACA,KAAK,aAAa,QAAQ,GAAG;AACtC,eAAS;;AAGX,QAAI,oBAAoB,QAAQ,OAAO,SAAS,OAAO;AACrD,eAAS;;AAGX,WAAO;;AAMT,8BAA4B,OAAO,SAAS,MAAM;AAChD,UAAM,SAAS,KAAK,UAAU,QAAQ,UAAU,gBAAgB,OAAO;AAEvE,WAAO;MACL,QAAQ,KAAK,UAAU,QAAQ,UAAU,gBAAgB,OAAO,SAAS,MAAM;MAC/E;;;AAIJ,kBAAgB,MAAM,QAAQ;AAC5B,QAAI,EAAC,GAAG,UAAS;AACjB,QAAI,WAAW,SAAS;AACtB,WAAK;eACI,WAAW,UAAU;AAC9B,WAAM,QAAQ;;AAEhB,WAAO;;AAGT,kBAAgB,MAAM,QAAQ,gBAAgB;AAE5C,QAAI,EAAC,OAAG,WAAU;AAClB,QAAI,WAAW,OAAO;AACpB,YAAK;eACI,WAAW,UAAU;AAC9B,YAAK,SAAS;WACT;AACL,YAAM,SAAS;;AAEjB,WAAO;;AAMT,8BAA4B,SAAS,MAAM,WAAW,OAAO;AAC3D,UAAM,EAAC,WAAW,cAAc,iBAAgB;AAChD,UAAM,EAAC,QAAQ,WAAU;AACzB,UAAM,iBAAiB,YAAY;AACnC,UAAM,EAAC,SAAS,UAAU,YAAY,gBAAe,cAAc;AAEnE,QAAI,IAAI,OAAO,MAAM;AACrB,UAAM,KAAI,OAAO,MAAM,QAAQ;AAE/B,QAAI,WAAW,UAAU;AACvB,UAAI,WAAW,QAAQ;AACrB,aAAK;iBACI,WAAW,SAAS;AAC7B,aAAK;;eAEE,WAAW,QAAQ;AAC5B,WAAK,KAAK,IAAI,SAAS,cAAc;eAC5B,WAAW,SAAS;AAC7B,WAAK,KAAK,IAAI,UAAU,eAAe;;AAGzC,WAAO;MACL,GAAG,YAAY,GAAG,GAAG,MAAM,QAAQ,KAAK;MACxC,GAAG,YAAY,IAAG,GAAG,MAAM,SAAS,KAAK;;;AAI7C,uBAAqB,SAAS,OAAO,SAAS;AAC5C,UAAM,UAAU,UAAU,QAAQ;AAElC,WAAO,UAAU,WACb,QAAQ,IAAI,QAAQ,QAAQ,IAC5B,UAAU,UACR,QAAQ,IAAI,QAAQ,QAAQ,QAAQ,QACpC,QAAQ,IAAI,QAAQ;;AAM5B,mCAAiC,WAAU;AACzC,WAAO,aAAa,IAAI,cAAc;;AAGxC,gCAA8B,QAAQ,SAAS,cAAc;AAC3D,WAAO,cAAc,QAAQ;MAC3B;MACA;MACA,MAAM;;;AAIV,6BAA2B,WAAW,UAAS;AAC7C,UAAM,WAAW,YAAW,SAAQ,WAAW,SAAQ,QAAQ,WAAW,SAAQ,QAAQ,QAAQ;AAClG,WAAO,WAAW,UAAU,SAAS,YAAY;;AAGnD,MAAM,mBAAmB;IAEvB,aAAa;IACb,MAAM,cAAc;AAClB,UAAI,aAAa,SAAS,GAAG;AAC3B,cAAM,OAAO,aAAa;AAC1B,cAAM,SAAS,KAAK,MAAM,KAAK;AAC/B,cAAM,aAAa,SAAS,OAAO,SAAS;AAE5C,YAAI,QAAQ,KAAK,WAAW,KAAK,QAAQ,SAAS,WAAW;AAC3D,iBAAO,KAAK,QAAQ,SAAS;mBACpB,KAAK,OAAO;AACrB,iBAAO,KAAK;mBACH,aAAa,KAAK,KAAK,YAAY,YAAY;AACxD,iBAAO,OAAO,KAAK;;;AAIvB,aAAO;;IAET,YAAY;IAGZ,YAAY;IAGZ,aAAa;IACb,MAAM,aAAa;AACjB,UAAI,QAAQ,KAAK,WAAW,KAAK,QAAQ,SAAS,WAAW;AAC3D,eAAO,YAAY,QAAQ,OAAO,YAAY,kBAAkB,YAAY;;AAG9E,UAAI,QAAQ,YAAY,QAAQ,SAAS;AAEzC,UAAI,OAAO;AACT,iBAAS;;AAEX,YAAM,QAAQ,YAAY;AAC1B,UAAI,CAAC,cAAc,QAAQ;AACzB,iBAAS;;AAEX,aAAO;;IAET,WAAW,aAAa;AACtB,YAAM,QAAO,YAAY,MAAM,eAAe,YAAY;AAC1D,YAAM,UAAU,MAAK,WAAW,SAAS,YAAY;AACrD,aAAO;QACL,aAAa,QAAQ;QACrB,iBAAiB,QAAQ;QACzB,aAAa,QAAQ;QACrB,YAAY,QAAQ;QACpB,kBAAkB,QAAQ;QAC1B,cAAc;;;IAGlB,iBAAiB;AACf,aAAO,KAAK,QAAQ;;IAEtB,gBAAgB,aAAa;AAC3B,YAAM,QAAO,YAAY,MAAM,eAAe,YAAY;AAC1D,YAAM,UAAU,MAAK,WAAW,SAAS,YAAY;AACrD,aAAO;QACL,YAAY,QAAQ;QACpB,UAAU,QAAQ;;;IAGtB,YAAY;IAGZ,WAAW;IAGX,cAAc;IACd,QAAQ;IACR,aAAa;;AAYf,sCAAoC,WAAW,OAAM,KAAK,KAAK;AAC7D,UAAM,SAAS,UAAU,OAAM,KAAK,KAAK;AAEzC,QAAI,OAAO,WAAW,aAAa;AACjC,aAAO,iBAAiB,OAAM,KAAK,KAAK;;AAG1C,WAAO;;AAGF,8BAAsB,SAAA;IAO3B,YAAY,QAAQ;AAClB;AAEA,WAAK,UAAU;AACf,WAAK,UAAU;AACf,WAAK,iBAAiB;AACtB,WAAK,QAAQ;AACb,WAAK,oBAAoB;AACzB,WAAK,gBAAgB;AACrB,WAAK,cAAc;AACnB,WAAK,WAAW;AAChB,WAAK,QAAQ,OAAO;AACpB,WAAK,UAAU,OAAO;AACtB,WAAK,aAAa;AAClB,WAAK,QAAQ;AACb,WAAK,aAAa;AAClB,WAAK,OAAO;AACZ,WAAK,YAAY;AACjB,WAAK,SAAS;AACd,WAAK,SAAS;AACd,WAAK,SAAS;AACd,WAAK,IAAI;AACT,WAAK,IAAI;AACT,WAAK,SAAS;AACd,WAAK,QAAQ;AACb,WAAK,SAAS;AACd,WAAK,SAAS;AAGd,WAAK,cAAc;AACnB,WAAK,mBAAmB;AACxB,WAAK,kBAAkB;;IAGzB,WAAW,SAAS;AAClB,WAAK,UAAU;AACf,WAAK,oBAAoB;AACzB,WAAK,WAAW;;IAMlB,qBAAqB;AACnB,YAAM,SAAS,KAAK;AAEpB,UAAI,QAAQ;AACV,eAAO;;AAGT,YAAM,QAAQ,KAAK;AACnB,YAAM,UAAU,KAAK,QAAQ,WAAW,KAAK;AAC7C,YAAM,OAAO,QAAQ,WAAW,MAAM,QAAQ,aAAa,QAAQ;AACnE,YAAM,aAAa,IAAI,WAAW,KAAK,OAAO;AAC9C,UAAI,KAAK,YAAY;AACnB,aAAK,oBAAoB,OAAO,OAAO;;AAGzC,aAAO;;IAMT,aAAa;AACX,aAAO,KAAK,YACZ,MAAK,WAAW,qBAAqB,KAAK,MAAM,cAAc,MAAM,KAAK;;IAG3E,SAAS,UAAS,SAAS;AACzB,YAAM,EAAC,cAAa;AAEpB,YAAM,cAAc,2BAA2B,WAAW,eAAe,MAAM;AAC/E,YAAM,QAAQ,2BAA2B,WAAW,SAAS,MAAM;AACnE,YAAM,aAAa,2BAA2B,WAAW,cAAc,MAAM;AAE7E,UAAI,QAAQ;AACZ,cAAQ,aAAa,OAAO,cAAc;AAC1C,cAAQ,aAAa,OAAO,cAAc;AAC1C,cAAQ,aAAa,OAAO,cAAc;AAE1C,aAAO;;IAGT,cAAc,cAAc,SAAS;AACnC,aAAO,wBACL,2BAA2B,QAAQ,WAAW,cAAc,MAAM;;IAItE,QAAQ,cAAc,SAAS;AAC7B,YAAM,EAAC,cAAa;AACpB,YAAM,YAAY;AAElB,WAAK,cAAc,CAAC,aAAY;AAC9B,cAAM,WAAW;UACf,QAAQ;UACR,OAAO;UACP,OAAO;;AAET,cAAM,SAAS,kBAAkB,WAAW;AAC5C,qBAAa,SAAS,QAAQ,cAAc,2BAA2B,QAAQ,eAAe,MAAM;AACpG,qBAAa,SAAS,OAAO,2BAA2B,QAAQ,SAAS,MAAM;AAC/E,qBAAa,SAAS,OAAO,cAAc,2BAA2B,QAAQ,cAAc,MAAM;AAElG,kBAAU,KAAK;;AAGjB,aAAO;;IAGT,aAAa,cAAc,SAAS;AAClC,aAAO,wBACL,2BAA2B,QAAQ,WAAW,aAAa,MAAM;;IAKrE,UAAU,cAAc,SAAS;AAC/B,YAAM,EAAC,cAAa;AAEpB,YAAM,eAAe,2BAA2B,WAAW,gBAAgB,MAAM;AACjF,YAAM,SAAS,2BAA2B,WAAW,UAAU,MAAM;AACrE,YAAM,cAAc,2BAA2B,WAAW,eAAe,MAAM;AAE/E,UAAI,QAAQ;AACZ,cAAQ,aAAa,OAAO,cAAc;AAC1C,cAAQ,aAAa,OAAO,cAAc;AAC1C,cAAQ,aAAa,OAAO,cAAc;AAE1C,aAAO;;IAMT,aAAa,SAAS;AACpB,YAAM,SAAS,KAAK;AACpB,YAAM,OAAO,KAAK,MAAM;AACxB,YAAM,cAAc;AACpB,YAAM,mBAAmB;AACzB,YAAM,kBAAkB;AACxB,UAAI,eAAe;AACnB,UAAI,GAAG;AAEP,WAAK,IAAI,GAAG,MAAM,OAAO,QAAQ,IAAI,KAAK,EAAE,GAAG;AAC7C,qBAAa,KAAK,kBAAkB,KAAK,OAAO,OAAO;;AAIzD,UAAI,QAAQ,QAAQ;AAClB,uBAAe,aAAa,OAAO,CAAC,SAAS,QAAO,UAAU,QAAQ,OAAO,SAAS,QAAO,OAAO;;AAItG,UAAI,QAAQ,UAAU;AACpB,uBAAe,aAAa,KAAK,CAAC,GAAG,MAAM,QAAQ,SAAS,GAAG,GAAG;;AAIpE,WAAK,cAAc,CAAC,aAAY;AAC9B,cAAM,SAAS,kBAAkB,QAAQ,WAAW;AACpD,oBAAY,KAAK,2BAA2B,QAAQ,cAAc,MAAM;AACxE,yBAAiB,KAAK,2BAA2B,QAAQ,mBAAmB,MAAM;AAClF,wBAAgB,KAAK,2BAA2B,QAAQ,kBAAkB,MAAM;;AAGlF,WAAK,cAAc;AACnB,WAAK,mBAAmB;AACxB,WAAK,kBAAkB;AACvB,WAAK,aAAa;AAClB,aAAO;;IAGT,OAAO,SAAS,QAAQ;AACtB,YAAM,UAAU,KAAK,QAAQ,WAAW,KAAK;AAC7C,YAAM,SAAS,KAAK;AACpB,UAAI;AACJ,UAAI,eAAe;AAEnB,UAAI,CAAC,OAAO,QAAQ;AAClB,YAAI,KAAK,YAAY,GAAG;AACtB,uBAAa;YACX,SAAS;;;aAGR;AACL,cAAM,WAAW,YAAY,QAAQ,UAAU,KAAK,MAAM,QAAQ,KAAK;AACvE,uBAAe,KAAK,aAAa;AAEjC,aAAK,QAAQ,KAAK,SAAS,cAAc;AACzC,aAAK,aAAa,KAAK,cAAc,cAAc;AACnD,aAAK,OAAO,KAAK,QAAQ,cAAc;AACvC,aAAK,YAAY,KAAK,aAAa,cAAc;AACjD,aAAK,SAAS,KAAK,UAAU,cAAc;AAE3C,cAAM,OAAO,KAAK,QAAQ,eAAe,MAAM;AAC/C,cAAM,kBAAkB,OAAO,OAAO,IAAI,UAAU;AACpD,cAAM,YAAY,mBAAmB,KAAK,OAAO,SAAS;AAC1D,cAAM,kBAAkB,mBAAmB,SAAS,iBAAiB,WAAW,KAAK;AAErF,aAAK,SAAS,UAAU;AACxB,aAAK,SAAS,UAAU;AAExB,qBAAa;UACX,SAAS;UACT,GAAG,gBAAgB;UACnB,GAAG,gBAAgB;UACnB,OAAO,KAAK;UACZ,QAAQ,KAAK;UACb,QAAQ,SAAS;UACjB,QAAQ,SAAS;;;AAIrB,WAAK,gBAAgB;AACrB,WAAK,WAAW;AAEhB,UAAI,YAAY;AACd,aAAK,qBAAqB,OAAO,MAAM;;AAGzC,UAAI,WAAW,QAAQ,UAAU;AAC/B,gBAAQ,SAAS,KAAK,MAAM;UAAC,OAAO,KAAK;UAAO,SAAS;UAAM;;;;IAInE,UAAU,cAAc,KAAK,MAAM,SAAS;AAC1C,YAAM,gBAAgB,KAAK,iBAAiB,cAAc,MAAM;AAEhE,UAAI,OAAO,cAAc,IAAI,cAAc;AAC3C,UAAI,OAAO,cAAc,IAAI,cAAc;AAC3C,UAAI,OAAO,cAAc,IAAI,cAAc;;IAG7C,iBAAiB,cAAc,MAAM,SAAS;AAC5C,YAAM,EAAC,QAAQ,WAAU;AACzB,YAAM,EAAC,WAAW,iBAAgB;AAClC,YAAM,EAAC,SAAS,UAAU,YAAY,gBAAe,cAAc;AACnE,YAAM,EAAC,GAAG,KAAK,GAAG,QAAO;AACzB,YAAM,EAAC,OAAO,WAAU;AACxB,UAAI,IAAI,IAAI,IAAI,IAAI,IAAI;AAExB,UAAI,WAAW,UAAU;AACvB,aAAK,MAAO,SAAS;AAErB,YAAI,WAAW,QAAQ;AACrB,eAAK;AACL,eAAK,KAAK;AAGV,eAAK,KAAK;AACV,eAAK,KAAK;eACL;AACL,eAAK,MAAM;AACX,eAAK,KAAK;AAGV,eAAK,KAAK;AACV,eAAK,KAAK;;AAGZ,aAAK;aACA;AACL,YAAI,WAAW,QAAQ;AACrB,eAAK,MAAM,KAAK,IAAI,SAAS,cAAe;mBACnC,WAAW,SAAS;AAC7B,eAAK,MAAM,QAAQ,KAAK,IAAI,UAAU,eAAe;eAChD;AACL,eAAK,KAAK;;AAGZ,YAAI,WAAW,OAAO;AACpB,eAAK;AACL,eAAK,KAAK;AAGV,eAAK,KAAK;AACV,eAAK,KAAK;eACL;AACL,eAAK,MAAM;AACX,eAAK,KAAK;AAGV,eAAK,KAAK;AACV,eAAK,KAAK;;AAEZ,aAAK;;AAEP,aAAO;QAAC;QAAI;QAAI;QAAI;QAAI;QAAI;;;IAG9B,UAAU,KAAI,KAAK,SAAS;AAC1B,YAAM,QAAQ,KAAK;AACnB,YAAM,SAAS,MAAM;AACrB,UAAI,WAAW,cAAc;AAE7B,UAAI,QAAQ;AACV,cAAM,YAAY,cAAc,QAAQ,KAAK,KAAK,GAAG,KAAK;AAE1D,YAAG,IAAI,YAAY,MAAM,QAAQ,YAAY;AAE7C,YAAI,YAAY,UAAU,UAAU,QAAQ;AAC5C,YAAI,eAAe;AAEnB,oBAAY,OAAO,QAAQ;AAC3B,uBAAe,QAAQ;AAEvB,YAAI,YAAY,QAAQ;AACxB,YAAI,OAAO,UAAU;AAErB,aAAK,IAAI,GAAG,IAAI,QAAQ,EAAE,GAAG;AAC3B,cAAI,SAAS,MAAM,IAAI,UAAU,EAAE,IAAG,IAAI,IAAG,IAAI,UAAU,aAAa;AACxE,cAAG,KAAK,UAAU,aAAa;AAE/B,cAAI,IAAI,MAAM,QAAQ;AACpB,gBAAG,KAAK,QAAQ,oBAAoB;;;;;IAS5C,cAAc,KAAK,KAAI,GAAG,WAAW,SAAS;AAC5C,YAAM,aAAa,KAAK,YAAY;AACpC,YAAM,kBAAkB,KAAK,iBAAiB;AAC9C,YAAM,EAAC,WAAW,aAAY;AAC9B,YAAM,WAAW,OAAO,QAAQ;AAChC,YAAM,SAAS,YAAY,MAAM,QAAQ;AACzC,YAAM,YAAY,UAAU,EAAE;AAC9B,YAAM,UAAU,YAAY,SAAS,aAAc,UAAS,aAAa,aAAa,IAAI;AAC1F,YAAM,SAAS,IAAG,IAAI;AAEtB,UAAI,QAAQ,eAAe;AACzB,cAAM,cAAc;UAClB,QAAQ,KAAK,IAAI,UAAU,aAAa;UACxC,YAAY,gBAAgB;UAC5B,UAAU,gBAAgB;UAC1B,aAAa;;AAIf,cAAM,UAAU,UAAU,WAAW,WAAW,YAAY,WAAW;AACvE,cAAM,UAAU,SAAS,YAAY;AAGrC,YAAI,cAAc,QAAQ;AAC1B,YAAI,YAAY,QAAQ;AACxB,kBAAU,KAAK,aAAa,SAAS;AAGrC,YAAI,cAAc,WAAW;AAC7B,YAAI,YAAY,WAAW;AAC3B,kBAAU,KAAK,aAAa,SAAS;aAChC;AAEL,YAAI,YAAY,UAAS,WAAW,eAAe,KAAK,IAAO,GAAA,OAAO,OAAO,WAAW,gBAAiB,WAAW,eAAe;AACnI,YAAI,cAAc,WAAW;AAC7B,YAAI,YAAY,WAAW,cAAc;AACzC,YAAI,iBAAiB,WAAW,oBAAoB;AAGpD,cAAM,SAAS,UAAU,WAAW,WAAW;AAC/C,cAAM,SAAS,UAAU,WAAW,UAAU,MAAM,WAAW,IAAI,WAAW;AAC9E,cAAM,eAAe,cAAc,WAAW;AAE9C,YAAI,OAAO,OAAO,cAAc,KAAK,CAAA,MAAK,MAAM,IAAI;AAClD,cAAI;AACJ,cAAI,YAAY,QAAQ;AACxB,6BAAmB,KAAK;YACtB,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,QAAQ;;AAEV,cAAI;AACJ,cAAI;AAGJ,cAAI,YAAY,WAAW;AAC3B,cAAI;AACJ,6BAAmB,KAAK;YACtB,GAAG;YACH,GAAG,SAAS;YACZ,GAAG,WAAW;YACd,GAAG,YAAY;YACf,QAAQ;;AAEV,cAAI;eACC;AAEL,cAAI,YAAY,QAAQ;AACxB,cAAI,SAAS,QAAQ,QAAQ,UAAU;AACvC,cAAI,WAAW,QAAQ,QAAQ,UAAU;AAEzC,cAAI,YAAY,WAAW;AAC3B,cAAI,SAAS,QAAQ,SAAS,GAAG,WAAW,GAAG,YAAY;;;AAK/D,UAAI,YAAY,KAAK,gBAAgB;;IAGvC,SAAS,KAAI,KAAK,SAAS;AACzB,YAAM,EAAC,SAAQ;AACf,YAAM,EAAC,aAAa,WAAW,eAAe,WAAW,UAAU,eAAc;AACjF,YAAM,WAAW,OAAO,QAAQ;AAChC,UAAI,iBAAiB,SAAS;AAC9B,UAAI,eAAe;AAEnB,YAAM,YAAY,cAAc,QAAQ,KAAK,KAAK,GAAG,KAAK;AAE1D,YAAM,iBAAiB,SAAS,MAAM;AACpC,YAAI,SAAS,MAAM,UAAU,EAAE,IAAG,IAAI,eAAe,IAAG,IAAI,iBAAiB;AAC7E,YAAG,KAAK,iBAAiB;;AAG3B,YAAM,0BAA0B,UAAU,UAAU;AACpD,UAAI,UAAU,WAAW,OAAO,GAAG,IAAG,MAAM;AAE5C,UAAI,YAAY;AAChB,UAAI,eAAe;AACnB,UAAI,OAAO,SAAS;AAEpB,UAAG,IAAI,YAAY,MAAM,yBAAyB;AAGlD,UAAI,YAAY,QAAQ;AACxB,WAAK,KAAK,YAAY;AAEtB,qBAAe,iBAAiB,4BAA4B,UACxD,cAAc,WAAY,WAAW,IAAI,aAAe,WAAW,IAAI,aACvE;AAGJ,WAAK,IAAI,GAAG,OAAO,KAAK,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC7C,mBAAW,KAAK;AAChB,oBAAY,KAAK,gBAAgB;AAEjC,YAAI,YAAY;AAChB,aAAK,SAAS,QAAQ;AAEtB,gBAAQ,SAAS;AAEjB,YAAI,iBAAiB,MAAM,QAAQ;AACjC,eAAK,cAAc,KAAK,KAAI,GAAG,WAAW;AAC1C,2BAAiB,KAAK,IAAI,SAAS,YAAY;;AAGjD,aAAK,KAAI,GAAG,OAAO,MAAM,QAAQ,KAAI,MAAM,EAAE,IAAG;AAC9C,yBAAe,MAAM;AAErB,2BAAiB,SAAS;;AAG5B,aAAK,SAAS,OAAO;;AAIvB,qBAAe;AACf,uBAAiB,SAAS;AAG1B,WAAK,KAAK,WAAW;AACrB,UAAG,KAAK;;IAGV,WAAW,KAAI,KAAK,SAAS;AAC3B,YAAM,SAAS,KAAK;AACpB,YAAM,SAAS,OAAO;AACtB,UAAI,YAAY;AAEhB,UAAI,QAAQ;AACV,cAAM,YAAY,cAAc,QAAQ,KAAK,KAAK,GAAG,KAAK;AAE1D,YAAG,IAAI,YAAY,MAAM,QAAQ,aAAa;AAC9C,YAAG,KAAK,QAAQ;AAEhB,YAAI,YAAY,UAAU,UAAU,QAAQ;AAC5C,YAAI,eAAe;AAEnB,qBAAa,OAAO,QAAQ;AAE5B,YAAI,YAAY,QAAQ;AACxB,YAAI,OAAO,WAAW;AAEtB,aAAK,IAAI,GAAG,IAAI,QAAQ,EAAE,GAAG;AAC3B,cAAI,SAAS,OAAO,IAAI,UAAU,EAAE,IAAG,IAAI,IAAG,IAAI,WAAW,aAAa;AAC1E,cAAG,KAAK,WAAW,aAAa,QAAQ;;;;IAK9C,eAAe,KAAI,KAAK,aAAa,SAAS;AAC5C,YAAM,EAAC,QAAQ,WAAU;AACzB,YAAM,EAAC,GAAG,UAAK;AACf,YAAM,EAAC,OAAO,WAAU;AACxB,YAAM,EAAC,SAAS,UAAU,YAAY,gBAAe,cAAc,QAAQ;AAE3E,UAAI,YAAY,QAAQ;AACxB,UAAI,cAAc,QAAQ;AAC1B,UAAI,YAAY,QAAQ;AAExB,UAAI;AACJ,UAAI,OAAO,IAAI,SAAS;AACxB,UAAI,WAAW,OAAO;AACpB,aAAK,UAAU,KAAI,KAAK,aAAa;;AAEvC,UAAI,OAAO,IAAI,QAAQ,UAAU;AACjC,UAAI,iBAAiB,IAAI,OAAO,IAAG,IAAI,OAAO,KAAI;AAClD,UAAI,WAAW,YAAY,WAAW,SAAS;AAC7C,aAAK,UAAU,KAAI,KAAK,aAAa;;AAEvC,UAAI,OAAO,IAAI,OAAO,KAAI,SAAS;AACnC,UAAI,iBAAiB,IAAI,OAAO,KAAI,QAAQ,IAAI,QAAQ,aAAa,KAAI;AACzE,UAAI,WAAW,UAAU;AACvB,aAAK,UAAU,KAAI,KAAK,aAAa;;AAEvC,UAAI,OAAO,IAAI,YAAY,KAAI;AAC/B,UAAI,iBAAiB,GAAG,KAAI,QAAQ,GAAG,KAAI,SAAS;AACpD,UAAI,WAAW,YAAY,WAAW,QAAQ;AAC5C,aAAK,UAAU,KAAI,KAAK,aAAa;;AAEvC,UAAI,OAAO,GAAG,KAAI;AAClB,UAAI,iBAAiB,GAAG,IAAG,IAAI,SAAS;AACxC,UAAI;AAEJ,UAAI;AAEJ,UAAI,QAAQ,cAAc,GAAG;AAC3B,YAAI;;;IAQR,uBAAuB,SAAS;AAC9B,YAAM,QAAQ,KAAK;AACnB,YAAM,QAAQ,KAAK;AACnB,YAAM,QAAQ,SAAS,MAAM;AAC7B,YAAM,QAAQ,SAAS,MAAM;AAC7B,UAAI,SAAS,OAAO;AAClB,cAAM,WAAW,YAAY,QAAQ,UAAU,KAAK,MAAM,KAAK,SAAS,KAAK;AAC7E,YAAI,CAAC,UAAU;AACb;;AAEF,cAAM,OAAO,KAAK,QAAQ,eAAe,MAAM;AAC/C,cAAM,kBAAkB,OAAO,OAAO,IAAI,UAAU,KAAK;AACzD,cAAM,YAAY,mBAAmB,OAAO,SAAS;AACrD,cAAM,QAAQ,mBAAmB,SAAS,iBAAiB,WAAW;AACtE,YAAI,MAAM,QAAQ,MAAM,KAAK,MAAM,QAAQ,MAAM,GAAG;AAClD,eAAK,SAAS,UAAU;AACxB,eAAK,SAAS,UAAU;AACxB,eAAK,QAAQ,KAAK;AAClB,eAAK,SAAS,KAAK;AACnB,eAAK,SAAS,SAAS;AACvB,eAAK,SAAS,SAAS;AACvB,eAAK,qBAAqB,OAAO,MAAM;;;;IAS7C,cAAc;AACZ,aAAO,CAAC,CAAC,KAAK;;IAGhB,KAAK,KAAK;AACR,YAAM,UAAU,KAAK,QAAQ,WAAW,KAAK;AAC7C,UAAI,UAAU,KAAK;AAEnB,UAAI,CAAC,SAAS;AACZ;;AAGF,WAAK,uBAAuB;AAE5B,YAAM,cAAc;QAClB,OAAO,KAAK;QACZ,QAAQ,KAAK;;AAEf,YAAM,MAAK;QACT,GAAG,KAAK;QACR,GAAG,KAAK;;AAIV,gBAAU,KAAK,IAAI,WAAW,OAAO,IAAI;AAEzC,YAAM,UAAU,UAAU,QAAQ;AAGlC,YAAM,oBAAoB,KAAK,MAAM,UAAU,KAAK,WAAW,UAAU,KAAK,KAAK,UAAU,KAAK,UAAU,UAAU,KAAK,OAAO;AAElI,UAAI,QAAQ,WAAW,mBAAmB;AACxC,YAAI;AACJ,YAAI,cAAc;AAGlB,aAAK,eAAe,KAAI,KAAK,aAAa;AAE1C,8BAAsB,KAAK,QAAQ;AAEnC,YAAG,KAAK,QAAQ;AAGhB,aAAK,UAAU,KAAI,KAAK;AAGxB,aAAK,SAAS,KAAI,KAAK;AAGvB,aAAK,WAAW,KAAI,KAAK;AAEzB,6BAAqB,KAAK,QAAQ;AAElC,YAAI;;;IAQR,oBAAoB;AAClB,aAAO,KAAK,WAAW;;IAQzB,kBAAkB,gBAAgB,eAAe;AAC/C,YAAM,aAAa,KAAK;AACxB,YAAM,SAAS,eAAe,IAAI,CAAC,EAAC,cAAc,oBAAW;AAC3D,cAAM,QAAO,KAAK,MAAM,eAAe;AAEvC,YAAI,CAAC,OAAM;AACT,gBAAM,IAAI,MAAM,oCAAoC;;AAGtD,eAAO;UACL;UACA,SAAS,MAAK,KAAK;UACnB;;;AAGJ,YAAM,UAAU,CAAC,eAAe,YAAY;AAC5C,YAAM,kBAAkB,KAAK,iBAAiB,QAAQ;AAEtD,UAAI,WAAW,iBAAiB;AAC9B,aAAK,UAAU;AACf,aAAK,iBAAiB;AACtB,aAAK,sBAAsB;AAC3B,aAAK,OAAO;;;IAWhB,YAAY,GAAG,QAAQ,cAAc,MAAM;AACzC,UAAI,UAAU,KAAK,qBAAqB;AACtC,eAAO;;AAET,WAAK,sBAAsB;AAE3B,YAAM,UAAU,KAAK;AACrB,YAAM,aAAa,KAAK,WAAW;AACnC,YAAM,SAAS,KAAK,mBAAmB,GAAG,YAAY,QAAQ;AAK9D,YAAM,kBAAkB,KAAK,iBAAiB,QAAQ;AAGtD,YAAM,UAAU,UAAU,CAAC,eAAe,QAAQ,eAAe;AAGjE,UAAI,SAAS;AACX,aAAK,UAAU;AAEf,YAAI,QAAQ,WAAW,QAAQ,UAAU;AACvC,eAAK,iBAAiB;YACpB,GAAG,EAAE;YACL,GAAG,EAAE;;AAGP,eAAK,OAAO,MAAM;;;AAItB,aAAO;;IAYT,mBAAmB,GAAG,YAAY,QAAQ,aAAa;AACrD,YAAM,UAAU,KAAK;AAErB,UAAI,EAAE,SAAS,YAAY;AACzB,eAAO;;AAGT,UAAI,CAAC,aAAa;AAGhB,eAAO,WAAW,OAAO,CAAA,MACvB,KAAK,MAAM,KAAK,SAAS,EAAE,iBAC3B,KAAK,MAAM,eAAe,EAAE,cAAc,WAAW,UAAU,EAAE,WAAW;;AAKhF,YAAM,SAAS,KAAK,MAAM,0BAA0B,GAAG,QAAQ,MAAM,SAAS;AAE9E,UAAI,QAAQ,SAAS;AACnB,eAAO;;AAGT,aAAO;;IAUT,iBAAiB,QAAQ,GAAG;AAC1B,YAAM,EAAC,QAAQ,QAAQ,YAAW;AAClC,YAAM,WAAW,YAAY,QAAQ,UAAU,KAAK,MAAM,QAAQ;AAClE,aAAO,aAAa,SAAU,YAAW,SAAS,KAAK,WAAW,SAAS;;;AArvBtE,gBALF,SAKE,eAAc;AAyvBvB,MAAA,iBAAe;IACb,IAAI;IACJ,UAAU;IACV;IAEA,UAAU,OAAO,OAAO,SAAS;AAC/B,UAAI,SAAS;AACX,cAAM,UAAU,IAAI,QAAQ;UAAC;UAAO;;;;IAIxC,aAAa,OAAO,OAAO,SAAS;AAClC,UAAI,MAAM,SAAS;AACjB,cAAM,QAAQ,WAAW;;;IAI7B,MAAM,OAAO,OAAO,SAAS;AAC3B,UAAI,MAAM,SAAS;AACjB,cAAM,QAAQ,WAAW;;;IAI7B,UAAU,OAAO;AACf,YAAM,UAAU,MAAM;AAEtB,UAAI,WAAW,QAAQ,eAAe;AACpC,cAAM,OAAO;UACX;;AAGF,YAAI,MAAM,cAAc,qBAAqB,iCAAI,OAAJ;UAAU,YAAY;gBAAW,OAAO;AACnF;;AAGF,gBAAQ,KAAK,MAAM;AAEnB,cAAM,cAAc,oBAAoB;;;IAI5C,WAAW,OAAO,MAAM;AACtB,UAAI,MAAM,SAAS;AAEjB,cAAM,mBAAmB,KAAK;AAC9B,YAAI,MAAM,QAAQ,YAAY,KAAK,OAAO,kBAAkB,KAAK,cAAc;AAE7E,eAAK,UAAU;;;;IAKrB,UAAU;MACR,SAAS;MACT,UAAU;MACV,UAAU;MACV,iBAAiB;MACjB,YAAY;MACZ,WAAW;QACT,QAAQ;;MAEV,cAAc;MACd,mBAAmB;MACnB,YAAY;MACZ,WAAW;MACX,aAAa;MACb,UAAU;MAEV,WAAW;MACX,aAAa;MACb,eAAe;MACf,iBAAiB;MACjB,YAAY;QACV,QAAQ;;MAEV,aAAa;MACb,SAAS;MACT,cAAc;MACd,WAAW;MACX,cAAc;MACd,WAAW,CAAC,KAAK,SAAS,KAAK,SAAS;MACxC,UAAU,CAAC,KAAK,SAAS,KAAK,SAAS;MACvC,oBAAoB;MACpB,eAAe;MACf,YAAY;MACZ,aAAa;MACb,aAAa;MACb,WAAW;QACT,UAAU;QACV,QAAQ;;MAEV,YAAY;QACV,SAAS;UACP,MAAM;UACN,YAAY;YAAC;YAAK;YAAK;YAAS;YAAU;YAAU;;;QAEtD,SAAS;UACP,QAAQ;UACR,UAAU;;;MAGd,WAAW;;IAGb,eAAe;MACb,UAAU;MACV,YAAY;MACZ,WAAW;;IAGb,aAAa;MACX,aAAa,CAAC,UAAS,UAAS,YAAY,UAAS,cAAc,UAAS;MAC5E,YAAY;MACZ,WAAW;QACT,aAAa;QACb,YAAY;;MAEd,WAAW;QACT,WAAW;;MAEb,YAAY;QACV,WAAW;;;IAKf,wBAAwB;MAAC;;;;;;;;;;;;;AC5zC3B,MAAM,cAAc,CAAC,QAAQ,KAAK,QAAO,gBAAgB;AACvD,QAAI,OAAO,QAAQ,UAAU;AAC3B,eAAQ,OAAO,KAAK,OAAO;AAC3B,kBAAY,QAAQ;QAAC;QAAO,OAAO;;eAC1B,MAAM,MAAM;AACrB,eAAQ;;AAEV,WAAO;;AAGT,0BAAwB,QAAQ,KAAK,QAAO,aAAa;AACvD,UAAM,QAAQ,OAAO,QAAQ;AAC7B,QAAI,UAAU,IAAI;AAChB,aAAO,YAAY,QAAQ,KAAK,QAAO;;AAEzC,UAAM,OAAO,OAAO,YAAY;AAChC,WAAO,UAAU,OAAO,SAAQ;;AAGlC,MAAM,aAAa,CAAC,QAAO,QAAQ,WAAU,OAAO,OAAO,YAAY,KAAK,MAAM,SAAQ,GAAG;AAE7F,6BAA2B,OAAO;AAChC,UAAM,SAAS,KAAK;AAEpB,QAAI,SAAS,KAAK,QAAQ,OAAO,QAAQ;AACvC,aAAO,OAAO;;AAEhB,WAAO;;AAGM,oCAA4B,OAAA;IAazC,YAAY,KAAK;AACf,YAAM;AAGN,WAAK,cAAc;AACnB,WAAK,cAAc;AACnB,WAAK,eAAe;;IAGtB,KAAK,cAAc;AACjB,YAAM,QAAQ,KAAK;AACnB,UAAI,MAAM,QAAQ;AAChB,cAAM,SAAS,KAAK;AACpB,mBAAW,EAAC,eAAO,WAAU,OAAO;AAClC,cAAI,OAAO,YAAW,OAAO;AAC3B,mBAAO,OAAO,QAAO;;;AAGzB,aAAK,eAAe;;AAEtB,YAAM,KAAK;;IAGb,MAAM,KAAK,QAAO;AAChB,UAAI,cAAc,MAAM;AACtB,eAAO;;AAET,YAAM,SAAS,KAAK;AACpB,eAAQ,SAAS,WAAU,OAAO,YAAW,MAAM,SAC/C,eAAe,QAAQ,KAAK,eAAe,QAAO,MAAM,KAAK;AACjE,aAAO,WAAW,QAAO,OAAO,SAAS;;IAG3C,sBAAsB;AACpB,YAAM,EAAC,YAAY,eAAc,KAAK;AACtC,UAAI,EAAC,KAAK,QAAO,KAAK,UAAU;AAEhC,UAAI,KAAK,QAAQ,WAAW,SAAS;AACnC,YAAI,CAAC,YAAY;AACf,gBAAM;;AAER,YAAI,CAAC,YAAY;AACf,gBAAM,KAAK,YAAY,SAAS;;;AAIpC,WAAK,MAAM;AACX,WAAK,MAAM;;IAGb,aAAa;AACX,YAAM,MAAM,KAAK;AACjB,YAAM,MAAM,KAAK;AACjB,YAAM,SAAS,KAAK,QAAQ;AAC5B,YAAM,QAAQ;AACd,UAAI,SAAS,KAAK;AAGlB,eAAS,QAAS,KAAK,QAAQ,OAAO,SAAS,IAAK,SAAS,OAAO,MAAM,KAAK,MAAM;AAErF,WAAK,cAAc,KAAK,IAAI,OAAO,SAAU,UAAS,IAAI,IAAI;AAC9D,WAAK,cAAc,KAAK,MAAO,UAAS,MAAM;AAE9C,eAAS,QAAQ,KAAK,SAAS,KAAK,SAAS;AAC3C,cAAM,KAAK;UAAC;;;AAEd,aAAO;;IAGT,iBAAiB,OAAO;AACtB,aAAO,kBAAkB,KAAK,MAAM;;IAMtC,YAAY;AACV,YAAM;AAEN,UAAI,CAAC,KAAK,gBAAgB;AAExB,aAAK,iBAAiB,CAAC,KAAK;;;IAKhC,iBAAiB,OAAO;AACtB,UAAI,OAAO,UAAU,UAAU;AAC7B,gBAAQ,KAAK,MAAM;;AAGrB,aAAO,UAAU,OAAO,MAAM,KAAK,mBAAoB,SAAQ,KAAK,eAAe,KAAK;;IAK1F,gBAAgB,QAAO;AACrB,YAAM,QAAQ,KAAK;AACnB,UAAI,SAAQ,KAAK,SAAQ,MAAM,SAAS,GAAG;AACzC,eAAO;;AAET,aAAO,KAAK,iBAAiB,MAAM,QAAO;;IAG5C,iBAAiB,OAAO;AACtB,aAAO,KAAK,MAAM,KAAK,cAAc,KAAK,mBAAmB,SAAS,KAAK;;IAG7E,eAAe;AACb,aAAO,KAAK;;;AAxHP,gBAFM,eAEN,MAAK;AAKL,gBAPM,eAON,YAAW;IAChB,OAAO;MACL,UAAU;;;AClBhB,2BAAuB,mBAAmB,WAAW;AACnD,UAAM,QAAQ;AAKd,UAAM,cAAc;AACpB,UAAM,EAAC,QAAQ,MAAM,KAAK,KAAK,WAAW,OAAO,UAAU,WAAW,kBAAiB;AACvF,UAAM,OAAO,QAAQ;AACrB,UAAM,YAAY,WAAW;AAC7B,UAAM,EAAC,KAAK,MAAM,KAAK,SAAQ;AAC/B,UAAM,aAAa,CAAC,cAAc;AAClC,UAAM,aAAa,CAAC,cAAc;AAClC,UAAM,eAAe,CAAC,cAAc;AACpC,UAAM,aAAc,QAAO,QAAS,aAAY;AAChD,QAAI,UAAU,QAAS,QAAO,QAAQ,YAAY,QAAQ;AAC1D,QAAI,QAAQ,SAAS,SAAS;AAI9B,QAAI,UAAU,eAAe,CAAC,cAAc,CAAC,YAAY;AACvD,aAAO;QAAC;UAAC,OAAO;;QAAO;UAAC,OAAO;;;;AAGjC,gBAAY,KAAK,KAAK,OAAO,WAAW,KAAK,MAAM,OAAO;AAC1D,QAAI,YAAY,WAAW;AAEzB,gBAAU,QAAQ,YAAY,UAAU,YAAY,QAAQ;;AAG9D,QAAI,CAAC,cAAc,YAAY;AAE7B,eAAS,KAAK,IAAI,IAAI;AACtB,gBAAU,KAAK,KAAK,UAAU,UAAU;;AAG1C,QAAI,WAAW,SAAS;AACtB,gBAAU,KAAK,MAAM,OAAO,WAAW;AACvC,gBAAU,KAAK,KAAK,OAAO,WAAW;WACjC;AACL,gBAAU;AACV,gBAAU;;AAGZ,QAAI,cAAc,cAAc,QAAQ,YAAa,OAAM,OAAO,MAAM,UAAU,MAAO;AAKvF,kBAAY,KAAK,MAAM,KAAK,IAAK,OAAM,OAAO,SAAS;AACvD,gBAAW,OAAM,OAAO;AACxB,gBAAU;AACV,gBAAU;eACD,cAAc;AAIvB,gBAAU,aAAa,MAAM;AAC7B,gBAAU,aAAa,MAAM;AAC7B,kBAAY,QAAQ;AACpB,gBAAW,WAAU,WAAW;WAC3B;AAEL,kBAAa,WAAU,WAAW;AAGlC,UAAI,aAAa,WAAW,KAAK,MAAM,YAAY,UAAU,MAAO;AAClE,oBAAY,KAAK,MAAM;aAClB;AACL,oBAAY,KAAK,KAAK;;;AAM1B,UAAM,gBAAgB,KAAK,IACzB,eAAe,UACf,eAAe;AAEjB,aAAS,KAAK,IAAI,IAAI,cAAc,aAAa,gBAAgB;AACjE,cAAU,KAAK,MAAM,UAAU,UAAU;AACzC,cAAU,KAAK,MAAM,UAAU,UAAU;AAEzC,QAAI,KAAI;AACR,QAAI,YAAY;AACd,UAAI,iBAAiB,YAAY,KAAK;AACpC,cAAM,KAAK;UAAC,OAAO;;AAEnB,YAAI,UAAU,KAAK;AACjB;;AAGF,YAAI,aAAa,KAAK,MAAO,WAAU,KAAI,WAAW,UAAU,QAAQ,KAAK,kBAAkB,KAAK,YAAY,qBAAqB;AACnI;;iBAEO,UAAU,KAAK;AACxB;;;AAIJ,WAAO,KAAI,WAAW,EAAE,IAAG;AACzB,YAAM,YAAY,KAAK,MAAO,WAAU,KAAI,WAAW,UAAU;AACjE,UAAI,cAAc,YAAY,KAAK;AACjC;;AAEF,YAAM,KAAK;QAAC,OAAO;;;AAGrB,QAAI,cAAc,iBAAiB,YAAY,KAAK;AAElD,UAAI,MAAM,UAAU,aAAa,MAAM,MAAM,SAAS,GAAG,OAAO,KAAK,kBAAkB,KAAK,YAAY,qBAAqB;AAC3H,cAAM,MAAM,SAAS,GAAG,QAAQ;aAC3B;AACL,cAAM,KAAK;UAAC,OAAO;;;eAEZ,CAAC,cAAc,YAAY,KAAK;AACzC,YAAM,KAAK;QAAC,OAAO;;;AAGrB,WAAO;;AAGT,6BAA2B,OAAO,YAAY,EAAC,YAAY,eAAc;AACvE,UAAM,MAAM,UAAU;AACtB,UAAM,QAAS,cAAa,KAAK,IAAI,OAAO,KAAK,IAAI,SAAS;AAC9D,UAAM,SAAS,OAAO,aAAc,MAAK,OAAO;AAChD,WAAO,KAAK,IAAI,aAAa,OAAO;;AAGvB,sCAA8B,OAAA;IAE3C,YAAY,KAAK;AACf,YAAM;AAGN,WAAK,QAAQ;AAEb,WAAK,MAAM;AAEX,WAAK,cAAc;AAEnB,WAAK,YAAY;AACjB,WAAK,cAAc;;IAGrB,MAAM,KAAK,QAAO;AAChB,UAAI,cAAc,MAAM;AACtB,eAAO;;AAET,UAAK,QAAO,QAAQ,YAAY,eAAe,WAAW,CAAC,SAAS,CAAC,MAAM;AACzE,eAAO;;AAGT,aAAO,CAAC;;IAGV,yBAAyB;AACvB,YAAM,EAAC,gBAAe,KAAK;AAC3B,YAAM,EAAC,YAAY,eAAc,KAAK;AACtC,UAAI,EAAC,KAAK,QAAO;AAEjB,YAAM,SAAS,CAAA,MAAM,MAAM,aAAa,MAAM;AAC9C,YAAM,SAAS,CAAA,MAAM,MAAM,aAAa,MAAM;AAE9C,UAAI,aAAa;AACf,cAAM,UAAU,KAAK;AACrB,cAAM,UAAU,KAAK;AAErB,YAAI,UAAU,KAAK,UAAU,GAAG;AAC9B,iBAAO;mBACE,UAAU,KAAK,UAAU,GAAG;AACrC,iBAAO;;;AAIX,UAAI,QAAQ,KAAK;AACf,YAAI,SAAS,QAAQ,IAAI,IAAI,KAAK,IAAI,MAAM;AAE5C,eAAO,MAAM;AAEb,YAAI,CAAC,aAAa;AAChB,iBAAO,MAAM;;;AAGjB,WAAK,MAAM;AACX,WAAK,MAAM;;IAGb,eAAe;AACb,YAAM,WAAW,KAAK,QAAQ;AAE9B,UAAI,EAAC,eAAe,aAAY;AAChC,UAAI;AAEJ,UAAI,UAAU;AACZ,mBAAW,KAAK,KAAK,KAAK,MAAM,YAAY,KAAK,MAAM,KAAK,MAAM,YAAY;AAC9E,YAAI,WAAW,KAAM;AACnB,kBAAQ,KAAK,UAAU,KAAK,sBAAsB,0CAA0C;AAC5F,qBAAW;;aAER;AACL,mBAAW,KAAK;AAChB,wBAAgB,iBAAiB;;AAGnC,UAAI,eAAe;AACjB,mBAAW,KAAK,IAAI,eAAe;;AAGrC,aAAO;;IAMT,mBAAmB;AACjB,aAAO,OAAO;;IAGhB,aAAa;AACX,YAAM,OAAO,KAAK;AAClB,YAAM,WAAW,KAAK;AAMtB,UAAI,WAAW,KAAK;AACpB,iBAAW,KAAK,IAAI,GAAG;AAEvB,YAAM,0BAA0B;QAC9B;QACA,QAAQ,KAAK;QACb,KAAK,KAAK;QACV,KAAK,KAAK;QACV,WAAW,SAAS;QACpB,MAAM,SAAS;QACf,OAAO,SAAS;QAChB,WAAW,KAAK;QAChB,YAAY,KAAK;QACjB,aAAa,SAAS,eAAe;QACrC,eAAe,SAAS,kBAAkB;;AAE5C,YAAM,YAAY,KAAK,UAAU;AACjC,YAAM,QAAQ,gBAAc,yBAAyB;AAIrD,UAAI,KAAK,WAAW,SAAS;AAC3B,2BAAmB,OAAO,MAAM;;AAGlC,UAAI,KAAK,SAAS;AAChB,cAAM;AAEN,aAAK,QAAQ,KAAK;AAClB,aAAK,MAAM,KAAK;aACX;AACL,aAAK,QAAQ,KAAK;AAClB,aAAK,MAAM,KAAK;;AAGlB,aAAO;;IAMT,YAAY;AACV,YAAM,QAAQ,KAAK;AACnB,UAAI,SAAQ,KAAK;AACjB,UAAI,MAAM,KAAK;AAEf,YAAM;AAEN,UAAI,KAAK,QAAQ,UAAU,MAAM,QAAQ;AACvC,cAAM,SAAU,OAAM,UAAS,KAAK,IAAI,MAAM,SAAS,GAAG,KAAK;AAC/D,kBAAS;AACT,eAAO;;AAET,WAAK,cAAc;AACnB,WAAK,YAAY;AACjB,WAAK,cAAc,MAAM;;IAG3B,iBAAiB,OAAO;AACtB,aAAO,cAAa,OAAO,KAAK,MAAM,QAAQ,QAAQ,KAAK,QAAQ,MAAM;;;ACjT9D,kCAA0B,gBAAA;IAcvC,sBAAsB;AACpB,YAAM,EAAC,KAAK,QAAO,KAAK,UAAU;AAElC,WAAK,MAAM,eAAS,OAAO,MAAM;AACjC,WAAK,MAAM,eAAS,OAAO,MAAM;AAGjC,WAAK;;IAOP,mBAAmB;AACjB,YAAM,aAAa,KAAK;AACxB,YAAM,SAAS,aAAa,KAAK,QAAQ,KAAK;AAC9C,YAAM,cAAc,UAAU,KAAK,QAAQ,MAAM;AACjD,YAAM,QAAS,cAAa,KAAK,IAAI,eAAe,KAAK,IAAI,iBAAiB;AAC9E,YAAM,WAAW,KAAK,wBAAwB;AAC9C,aAAO,KAAK,KAAK,SAAS,KAAK,IAAI,IAAI,SAAS,aAAa;;IAI/D,iBAAiB,OAAO;AACtB,aAAO,UAAU,OAAO,MAAM,KAAK,mBAAoB,SAAQ,KAAK,eAAe,KAAK;;IAG1F,iBAAiB,OAAO;AACtB,aAAO,KAAK,cAAc,KAAK,mBAAmB,SAAS,KAAK;;;AAzC3D,gBAFM,aAEN,MAAK;AAKL,gBAPM,aAON,YAAW;IAChB,OAAO;MACL,UAAU,MAAM,WAAW;;;ACPjC,MAAM,aAAa,CAAA,MAAK,KAAK,MAAM,MAAM;AACzC,MAAM,iBAAiB,CAAC,GAAG,MAAM,KAAK,IAAI,IAAI,WAAW,KAAK;AAE9D,mBAAiB,SAAS;AACxB,UAAM,SAAS,UAAW,KAAK,IAAI,IAAI,WAAW;AAClD,WAAO,WAAW;;AAGpB,iBAAe,KAAK,KAAK,UAAU;AACjC,UAAM,YAAY,KAAK,IAAI,IAAI;AAC/B,UAAM,SAAQ,KAAK,MAAM,MAAM;AAC/B,UAAM,MAAM,KAAK,KAAK,MAAM;AAC5B,WAAO,MAAM;;AAGf,oBAAkB,KAAK,KAAK;AAC1B,UAAM,UAAQ,MAAM;AACpB,QAAI,WAAW,WAAW;AAC1B,WAAO,MAAM,KAAK,KAAK,YAAY,IAAI;AACrC;;AAEF,WAAO,MAAM,KAAK,KAAK,YAAY,IAAI;AACrC;;AAEF,WAAO,KAAK,IAAI,UAAU,WAAW;;AAUvC,yBAAuB,mBAAmB,EAAC,KAAK,OAAM;AACpD,UAAM,gBAAgB,kBAAkB,KAAK;AAC7C,UAAM,QAAQ;AACd,UAAM,SAAS,WAAW;AAC1B,QAAI,MAAM,SAAS,KAAK;AACxB,QAAI,YAAY,MAAM,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,QAAQ;AACxD,UAAM,WAAW,KAAK,IAAI,IAAI;AAC9B,UAAM,QAAO,SAAS,MAAM,KAAK,IAAI,IAAI,UAAU;AACnD,UAAM,SAAQ,KAAK,MAAO,OAAM,SAAQ,aAAa;AACrD,UAAM,SAAS,KAAK,MAAO,OAAM,SAAQ,WAAW,MAAM,WAAW;AACrE,QAAI,cAAc,KAAK,MAAO,UAAQ,UAAU,KAAK,IAAI,IAAI;AAC7D,QAAI,QAAQ,gBAAgB,kBAAkB,KAAK,KAAK,MAAO,SAAO,SAAS,cAAc,KAAK,IAAI,IAAI,QAAQ,aAAa;AAC/H,WAAO,QAAQ,KAAK;AAClB,YAAM,KAAK;QAAC;QAAO,OAAO,QAAQ;QAAQ;;AAC1C,UAAI,eAAe,IAAI;AACrB,sBAAc,cAAc,KAAK,KAAK;aACjC;AACL;;AAEF,UAAI,eAAe,IAAI;AACrB;AACA,sBAAc;AACd,oBAAY,OAAO,IAAI,IAAI;;AAE7B,cAAQ,KAAK,MAAO,SAAO,SAAS,cAAc,KAAK,IAAI,IAAI,QAAQ,aAAa;;AAEtF,UAAM,WAAW,gBAAgB,kBAAkB,KAAK;AACxD,UAAM,KAAK;MAAC,OAAO;MAAU,OAAO,QAAQ;MAAW;;AAEvD,WAAO;;AAGM,uCAA+B,OAAA;IAiB5C,YAAY,KAAK;AACf,YAAM;AAGN,WAAK,QAAQ;AAEb,WAAK,MAAM;AAEX,WAAK,cAAc;AACnB,WAAK,cAAc;;IAGrB,MAAM,KAAK,QAAO;AAChB,YAAM,QAAQ,gBAAgB,UAAU,MAAM,MAAM,MAAM;QAAC;QAAK;;AAChE,UAAI,UAAU,GAAG;AACf,aAAK,QAAQ;AACb,eAAO;;AAET,aAAO,eAAS,UAAU,QAAQ,IAAI,QAAQ;;IAGhD,sBAAsB;AACpB,YAAM,EAAC,KAAK,QAAO,KAAK,UAAU;AAElC,WAAK,MAAM,eAAS,OAAO,KAAK,IAAI,GAAG,OAAO;AAC9C,WAAK,MAAM,eAAS,OAAO,KAAK,IAAI,GAAG,OAAO;AAE9C,UAAI,KAAK,QAAQ,aAAa;AAC5B,aAAK,QAAQ;;AAKf,UAAI,KAAK,SAAS,KAAK,QAAQ,KAAK,iBAAiB,CAAC,eAAS,KAAK,WAAW;AAC7E,aAAK,MAAM,QAAQ,eAAe,KAAK,KAAK,KAAK,eAAe,KAAK,KAAK,MAAM,eAAe,KAAK,KAAK;;AAG3G,WAAK;;IAGP,yBAAyB;AACvB,YAAM,EAAC,YAAY,eAAc,KAAK;AACtC,UAAI,MAAM,KAAK;AACf,UAAI,MAAM,KAAK;AAEf,YAAM,SAAS,CAAA,MAAM,MAAM,aAAa,MAAM;AAC9C,YAAM,SAAS,CAAA,MAAM,MAAM,aAAa,MAAM;AAE9C,UAAI,QAAQ,KAAK;AACf,YAAI,OAAO,GAAG;AACZ,iBAAO;AACP,iBAAO;eACF;AACL,iBAAO,eAAe,KAAK;AAC3B,iBAAO,eAAe,KAAK;;;AAG/B,UAAI,OAAO,GAAG;AACZ,eAAO,eAAe,KAAK;;AAE7B,UAAI,OAAO,GAAG;AAEZ,eAAO,eAAe,KAAK;;AAG7B,WAAK,MAAM;AACX,WAAK,MAAM;;IAGb,aAAa;AACX,YAAM,OAAO,KAAK;AAElB,YAAM,oBAAoB;QACxB,KAAK,KAAK;QACV,KAAK,KAAK;;AAEZ,YAAM,QAAQ,cAAc,mBAAmB;AAI/C,UAAI,KAAK,WAAW,SAAS;AAC3B,2BAAmB,OAAO,MAAM;;AAGlC,UAAI,KAAK,SAAS;AAChB,cAAM;AAEN,aAAK,QAAQ,KAAK;AAClB,aAAK,MAAM,KAAK;aACX;AACL,aAAK,QAAQ,KAAK;AAClB,aAAK,MAAM,KAAK;;AAGlB,aAAO;;IAOT,iBAAiB,OAAO;AACtB,aAAO,UAAU,SACb,MACA,cAAa,OAAO,KAAK,MAAM,QAAQ,QAAQ,KAAK,QAAQ,MAAM;;IAMxE,YAAY;AACV,YAAM,SAAQ,KAAK;AAEnB,YAAM;AAEN,WAAK,cAAc,MAAM;AACzB,WAAK,cAAc,MAAM,KAAK,OAAO,MAAM;;IAG7C,iBAAiB,OAAO;AACtB,UAAI,UAAU,UAAa,UAAU,GAAG;AACtC,gBAAQ,KAAK;;AAEf,UAAI,UAAU,QAAQ,MAAM,QAAQ;AAClC,eAAO;;AAET,aAAO,KAAK,mBAAmB,UAAU,KAAK,MAC1C,IACC,OAAM,SAAS,KAAK,eAAe,KAAK;;IAG/C,iBAAiB,OAAO;AACtB,YAAM,UAAU,KAAK,mBAAmB;AACxC,aAAO,KAAK,IAAI,IAAI,KAAK,cAAc,UAAU,KAAK;;;AApJjD,gBAFM,kBAEN,MAAK;AAKL,gBAPM,kBAON,YAAW;IAChB,OAAO;MACL,UAAU,MAAM,WAAW;MAC3B,OAAO;QACL,SAAS;;;;AC5EjB,iCAA+B,MAAM;AACnC,UAAM,WAAW,KAAK;AAEtB,QAAI,SAAS,WAAW,KAAK,SAAS;AACpC,YAAM,UAAU,UAAU,SAAS;AACnC,aAAO,eAAe,SAAS,QAAQ,SAAS,KAAK,MAAM,UAAS,KAAK,QAAQ,QAAQ;;AAE3F,WAAO;;AAGT,4BAA0B,KAAK,MAAM,OAAO;AAC1C,YAAQ,SAAQ,SAAS,QAAQ;MAAC;;AAClC,WAAO;MACL,GAAG,aAAa,KAAK,KAAK,QAAQ;MAClC,GAAG,MAAM,SAAS,KAAK;;;AAI3B,2BAAyB,OAAO,KAAK,MAAM,KAAK,KAAK;AACnD,QAAI,UAAU,OAAO,UAAU,KAAK;AAClC,aAAO;QACL,OAAO,MAAO,OAAO;QACrB,KAAK,MAAO,OAAO;;eAEZ,QAAQ,OAAO,QAAQ,KAAK;AACrC,aAAO;QACL,OAAO,MAAM;QACb,KAAK;;;AAIT,WAAO;MACL,OAAO;MACP,KAAK,MAAM;;;AAOf,8BAA4B,OAAO;AA8BjC,UAAM,OAAO;MACX,GAAG,MAAM,OAAO,MAAM,SAAS;MAC/B,GAAG,MAAM,QAAQ,MAAM,SAAS;MAChC,GAAG,MAAM,MAAM,MAAM,SAAS;MAC9B,GAAG,MAAM,SAAS,MAAM,SAAS;;AAEnC,UAAM,SAAS,OAAO,OAAO,IAAI;AACjC,UAAM,aAAa;AACnB,UAAM,UAAU;AAChB,UAAM,aAAa,MAAM,aAAa;AACtC,UAAM,iBAAiB,MAAM,QAAQ;AACrC,UAAM,kBAAkB,eAAe,oBAAoB,KAAK,aAAa;AAE7E,aAAS,IAAI,GAAG,IAAI,YAAY,KAAK;AACnC,YAAM,OAAO,eAAe,WAAW,MAAM,qBAAqB;AAClE,cAAQ,KAAK,KAAK;AAClB,YAAM,gBAAgB,MAAM,iBAAiB,GAAG,MAAM,cAAc,QAAQ,IAAI;AAChF,YAAM,SAAS,OAAO,KAAK;AAC3B,YAAM,WAAW,iBAAiB,MAAM,KAAK,QAAQ,MAAM,aAAa;AACxE,iBAAW,KAAK;AAEhB,YAAM,eAAe,gBAAgB,MAAM,cAAc,KAAK;AAC9D,YAAM,QAAQ,KAAK,MAAM,UAAU;AACnC,YAAM,UAAU,gBAAgB,OAAO,cAAc,GAAG,SAAS,GAAG,GAAG;AACvE,YAAM,UAAU,gBAAgB,OAAO,cAAc,GAAG,SAAS,GAAG,IAAI;AACxE,mBAAa,QAAQ,MAAM,cAAc,SAAS;;AAGpD,UAAM,eACJ,KAAK,IAAI,OAAO,GAChB,OAAO,IAAI,KAAK,GAChB,KAAK,IAAI,OAAO,GAChB,OAAO,IAAI,KAAK;AAIlB,UAAM,mBAAmB,qBAAqB,OAAO,YAAY;;AAGnE,wBAAsB,QAAQ,MAAM,OAAO,SAAS,SAAS;AAC3D,UAAM,MAAM,KAAK,IAAI,KAAK,IAAI;AAC9B,UAAM,MAAM,KAAK,IAAI,KAAK,IAAI;AAC9B,QAAI,IAAI;AACR,QAAI,KAAI;AACR,QAAI,QAAQ,QAAQ,KAAK,GAAG;AAC1B,UAAK,MAAK,IAAI,QAAQ,SAAS;AAC/B,aAAO,IAAI,KAAK,IAAI,OAAO,GAAG,KAAK,IAAI;eAC9B,QAAQ,MAAM,KAAK,GAAG;AAC/B,UAAK,SAAQ,MAAM,KAAK,KAAK;AAC7B,aAAO,IAAI,KAAK,IAAI,OAAO,GAAG,KAAK,IAAI;;AAEzC,QAAI,QAAQ,QAAQ,KAAK,GAAG;AAC1B,WAAK,MAAK,IAAI,QAAQ,SAAS;AAC/B,aAAO,IAAI,KAAK,IAAI,OAAO,GAAG,KAAK,IAAI;eAC9B,QAAQ,MAAM,KAAK,GAAG;AAC/B,WAAK,SAAQ,MAAM,KAAK,KAAK;AAC7B,aAAO,IAAI,KAAK,IAAI,OAAO,GAAG,KAAK,IAAI;;;AAI3C,gCAA8B,OAAO,QAAO,UAAU;AACpD,UAAM,gBAAgB,MAAM;AAC5B,UAAM,EAAC,OAAO,iBAAiB,SAAS,SAAQ;AAChD,UAAM,qBAAqB,MAAM,iBAAiB,QAAO,gBAAgB,QAAQ,SAAS;AAC1F,UAAM,QAAQ,KAAK,MAAM,UAAU,gBAAgB,mBAAmB,QAAQ;AAC9E,UAAM,KAAI,UAAU,mBAAmB,GAAG,KAAK,GAAG;AAClD,UAAM,YAAY,qBAAqB;AACvC,UAAM,OAAO,iBAAiB,mBAAmB,GAAG,KAAK,GAAG;AAC5D,WAAO;MAEL,SAAS;MAGT,GAAG,mBAAmB;MACtB;MAGA;MAGA;MACA,KAAK;MACL,OAAO,OAAO,KAAK;MACnB,QAAQ,KAAI,KAAK;;;AAIrB,2BAAyB,MAAM,MAAM;AACnC,QAAI,CAAC,MAAM;AACT,aAAO;;AAET,UAAM,EAAC,MAAM,WAAK,OAAO,WAAU;AACnC,UAAM,eAAe,eAAe;MAAC,GAAG;MAAM,GAAG;OAAM,SAAS,eAAe;MAAC,GAAG;MAAM,GAAG;OAAS,SACnG,eAAe;MAAC,GAAG;MAAO,GAAG;OAAM,SAAS,eAAe;MAAC,GAAG;MAAO,GAAG;OAAS;AACpF,WAAO,CAAC;;AAGV,gCAA8B,OAAO,YAAY,SAAS;AACxD,UAAM,QAAQ;AACd,UAAM,aAAa,MAAM,aAAa;AACtC,UAAM,OAAO,MAAM;AACnB,UAAM,EAAC,mBAAmB,YAAW,KAAK;AAC1C,UAAM,WAAW;MACf,OAAO,sBAAsB,QAAQ;MACrC,iBAAiB,oBAAoB,KAAK,aAAa;;AAEzD,QAAI;AAEJ,aAAS,IAAI,GAAG,IAAI,YAAY,KAAK;AACnC,eAAS,UAAU,QAAQ;AAC3B,eAAS,OAAO,WAAW;AAE3B,YAAM,OAAO,qBAAqB,OAAO,GAAG;AAC5C,YAAM,KAAK;AACX,UAAI,YAAY,QAAQ;AACtB,aAAK,UAAU,gBAAgB,MAAM;AACrC,YAAI,KAAK,SAAS;AAChB,iBAAO;;;;AAIb,WAAO;;AAGT,gCAA8B,OAAO;AACnC,QAAI,UAAU,KAAK,UAAU,KAAK;AAChC,aAAO;eACE,QAAQ,KAAK;AACtB,aAAO;;AAGT,WAAO;;AAGT,4BAA0B,GAAG,GAAG,OAAO;AACrC,QAAI,UAAU,SAAS;AACrB,WAAK;eACI,UAAU,UAAU;AAC7B,WAAM,IAAI;;AAEZ,WAAO;;AAGT,qBAAmB,IAAG,IAAG,OAAO;AAC9B,QAAI,UAAU,MAAM,UAAU,KAAK;AACjC,YAAM,KAAI;eACD,QAAQ,OAAO,QAAQ,IAAI;AACpC,YAAK;;AAEP,WAAO;;AAGT,6BAA2B,KAAK,MAAM,MAAM;AAC1C,UAAM,EAAC,MAAM,WAAK,OAAO,WAAU;AACnC,UAAM,EAAC,kBAAiB;AAExB,QAAI,CAAC,cAAc,gBAAgB;AACjC,YAAM,eAAe,cAAc,KAAK;AACxC,YAAM,UAAU,UAAU,KAAK;AAC/B,UAAI,YAAY;AAEhB,YAAM,eAAe,OAAO,QAAQ;AACpC,YAAM,cAAc,OAAM,QAAQ;AAClC,YAAM,gBAAgB,QAAQ,OAAO,QAAQ;AAC7C,YAAM,iBAAiB,SAAS,OAAM,QAAQ;AAE9C,UAAI,OAAO,OAAO,cAAc,KAAK,CAAA,MAAK,MAAM,IAAI;AAClD,YAAI;AACJ,2BAAmB,KAAK;UACtB,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,QAAQ;;AAEV,YAAI;aACC;AACL,YAAI,SAAS,cAAc,aAAa,eAAe;;;;AAK7D,2BAAyB,OAAO,YAAY;AAC1C,UAAM,EAAC,KAAK,SAAS,EAAC,kBAAgB;AAEtC,aAAS,IAAI,aAAa,GAAG,KAAK,GAAG,KAAK;AACxC,YAAM,OAAO,MAAM,iBAAiB;AACpC,UAAI,CAAC,KAAK,SAAS;AAEjB;;AAEF,YAAM,cAAc,YAAY,WAAW,MAAM,qBAAqB;AACtE,wBAAkB,KAAK,aAAa;AACpC,YAAM,SAAS,OAAO,YAAY;AAClC,YAAM,EAAC,GAAG,OAAG,cAAa;AAE1B,iBACE,KACA,MAAM,aAAa,IACnB,GACA,KAAK,OAAO,aAAa,GACzB,QACA;QACE,OAAO,YAAY;QACnB;QACA,cAAc;;;;AAMtB,0BAAwB,OAAO,QAAQ,UAAU,YAAY;AAC3D,UAAM,EAAC,QAAO;AACd,QAAI,UAAU;AAEZ,UAAI,IAAI,MAAM,SAAS,MAAM,SAAS,QAAQ,GAAG;WAC5C;AAEL,UAAI,gBAAgB,MAAM,iBAAiB,GAAG;AAC9C,UAAI,OAAO,cAAc,GAAG,cAAc;AAE1C,eAAS,IAAI,GAAG,IAAI,YAAY,KAAK;AACnC,wBAAgB,MAAM,iBAAiB,GAAG;AAC1C,YAAI,OAAO,cAAc,GAAG,cAAc;;;;AAKhD,0BAAwB,OAAO,cAAc,QAAQ,YAAY,YAAY;AAC3E,UAAM,MAAM,MAAM;AAClB,UAAM,WAAW,aAAa;AAE9B,UAAM,EAAC,gBAAO,cAAa;AAE3B,QAAK,CAAC,YAAY,CAAC,cAAe,CAAC,WAAS,CAAC,aAAa,SAAS,GAAG;AACpE;;AAGF,QAAI;AACJ,QAAI,cAAc;AAClB,QAAI,YAAY;AAChB,QAAI,YAAY,WAAW;AAC3B,QAAI,iBAAiB,WAAW;AAEhC,QAAI;AACJ,mBAAe,OAAO,QAAQ,UAAU;AACxC,QAAI;AACJ,QAAI;AACJ,QAAI;;AAGN,mCAAiC,QAAQ,QAAO,OAAO;AACrD,WAAO,cAAc,QAAQ;MAC3B;MACA;MACA,MAAM;;;AAIK,wCAAgC,gBAAA;IA0E7C,YAAY,KAAK;AACf,YAAM;AAGN,WAAK,UAAU;AAEf,WAAK,UAAU;AAEf,WAAK,cAAc;AAEnB,WAAK,eAAe;AACpB,WAAK,mBAAmB;;IAG1B,gBAAgB;AAEd,YAAM,UAAU,KAAK,WAAW,UAAU,sBAAsB,KAAK,WAAW;AAChF,YAAM,IAAI,KAAK,QAAQ,KAAK,WAAW,QAAQ;AAC/C,YAAM,KAAI,KAAK,SAAS,KAAK,YAAY,QAAQ;AACjD,WAAK,UAAU,KAAK,MAAM,KAAK,OAAO,IAAI,IAAI,QAAQ;AACtD,WAAK,UAAU,KAAK,MAAM,KAAK,MAAM,KAAI,IAAI,QAAQ;AACrD,WAAK,cAAc,KAAK,MAAM,KAAK,IAAI,GAAG,MAAK;;IAGjD,sBAAsB;AACpB,YAAM,EAAC,KAAK,QAAO,KAAK,UAAU;AAElC,WAAK,MAAM,eAAS,QAAQ,CAAC,MAAM,OAAO,MAAM;AAChD,WAAK,MAAM,eAAS,QAAQ,CAAC,MAAM,OAAO,MAAM;AAGhD,WAAK;;IAOP,mBAAmB;AACjB,aAAO,KAAK,KAAK,KAAK,cAAc,sBAAsB,KAAK;;IAGjE,mBAAmB,OAAO;AACxB,sBAAgB,UAAU,mBAAmB,KAAK,MAAM;AAGxD,WAAK,eAAe,KAAK,YACtB,IAAI,CAAC,OAAO,WAAU;AACrB,cAAM,QAAQ,SAAa,KAAK,QAAQ,YAAY,UAAU;UAAC;UAAO;WAAQ;AAC9E,eAAO,SAAS,UAAU,IAAI,QAAQ;SAEvC,OAAO,CAAC,GAAG,MAAM,KAAK,MAAM,kBAAkB;;IAGnD,MAAM;AACJ,YAAM,OAAO,KAAK;AAElB,UAAI,KAAK,WAAW,KAAK,YAAY,SAAS;AAC5C,2BAAmB;aACd;AACL,aAAK,eAAe,GAAG,GAAG,GAAG;;;IAIjC,eAAe,cAAc,eAAe,aAAa,gBAAgB;AACvE,WAAK,WAAW,KAAK,MAAO,gBAAe,iBAAiB;AAC5D,WAAK,WAAW,KAAK,MAAO,eAAc,kBAAkB;AAC5D,WAAK,eAAe,KAAK,IAAI,KAAK,cAAc,GAAG,KAAK,IAAI,cAAc,eAAe,aAAa;;IAGxG,cAAc,QAAO;AACnB,YAAM,kBAAkB,MAAO,MAAK,aAAa,UAAU;AAC3D,YAAM,aAAa,KAAK,QAAQ,cAAc;AAE9C,aAAO,gBAAgB,SAAQ,kBAAkB,UAAU;;IAG7D,8BAA8B,OAAO;AACnC,UAAI,cAAc,QAAQ;AACxB,eAAO;;AAIT,YAAM,gBAAgB,KAAK,cAAe,MAAK,MAAM,KAAK;AAC1D,UAAI,KAAK,QAAQ,SAAS;AACxB,eAAQ,MAAK,MAAM,SAAS;;AAE9B,aAAQ,SAAQ,KAAK,OAAO;;IAG9B,8BAA8B,UAAU;AACtC,UAAI,cAAc,WAAW;AAC3B,eAAO;;AAGT,YAAM,iBAAiB,WAAY,MAAK,cAAe,MAAK,MAAM,KAAK;AACvE,aAAO,KAAK,QAAQ,UAAU,KAAK,MAAM,iBAAiB,KAAK,MAAM;;IAGvE,qBAAqB,QAAO;AAC1B,YAAM,cAAc,KAAK,gBAAgB;AAEzC,UAAI,UAAS,KAAK,SAAQ,YAAY,QAAQ;AAC5C,cAAM,aAAa,YAAY;AAC/B,eAAO,wBAAwB,KAAK,cAAc,QAAO;;;IAI7D,iBAAiB,QAAO,oBAAoB,kBAAkB,GAAG;AAC/D,YAAM,QAAQ,KAAK,cAAc,UAAS,UAAU;AACpD,aAAO;QACL,GAAG,KAAK,IAAI,SAAS,qBAAqB,KAAK;QAC/C,GAAG,KAAK,IAAI,SAAS,qBAAqB,KAAK;QAC/C;;;IAIJ,yBAAyB,QAAO,OAAO;AACrC,aAAO,KAAK,iBAAiB,QAAO,KAAK,8BAA8B;;IAGzE,gBAAgB,QAAO;AACrB,aAAO,KAAK,yBAAyB,UAAS,GAAG,KAAK;;IAGxD,sBAAsB,QAAO;AAC3B,YAAM,EAAC,MAAM,WAAK,OAAO,WAAU,KAAK,iBAAiB;AACzD,aAAO;QACL;QACA;QACA;QACA;;;IAOJ,iBAAiB;AACf,YAAM,EAAC,iBAAiB,MAAM,EAAC,eAAa,KAAK;AACjD,UAAI,iBAAiB;AACnB,cAAM,MAAM,KAAK;AACjB,YAAI;AACJ,YAAI;AACJ,uBAAe,MAAM,KAAK,8BAA8B,KAAK,YAAY,UAAU,KAAK,aAAa;AACrG,YAAI;AACJ,YAAI,YAAY;AAChB,YAAI;AACJ,YAAI;;;IAOR,WAAW;AACT,YAAM,MAAM,KAAK;AACjB,YAAM,OAAO,KAAK;AAClB,YAAM,EAAC,YAAY,MAAM,WAAU;AACnC,YAAM,aAAa,KAAK,aAAa;AAErC,UAAI,GAAG,QAAQ;AAEf,UAAI,KAAK,YAAY,SAAS;AAC5B,wBAAgB,MAAM;;AAGxB,UAAI,KAAK,SAAS;AAChB,aAAK,MAAM,QAAQ,CAAC,MAAM,WAAU;AAClC,cAAI,WAAU,KAAM,WAAU,KAAK,KAAK,MAAM,GAAI;AAChD,qBAAS,KAAK,8BAA8B,KAAK;AACjD,kBAAM,WAAU,KAAK,WAAW;AAChC,kBAAM,cAAc,KAAK,WAAW;AACpC,kBAAM,oBAAoB,OAAO,WAAW;AAE5C,2BAAe,MAAM,aAAa,QAAQ,YAAY;;;;AAK5D,UAAI,WAAW,SAAS;AACtB,YAAI;AAEJ,aAAK,IAAI,aAAa,GAAG,KAAK,GAAG,KAAK;AACpC,gBAAM,cAAc,WAAW,WAAW,KAAK,qBAAqB;AACpE,gBAAM,EAAC,gBAAO,cAAa;AAE3B,cAAI,CAAC,aAAa,CAAC,SAAO;AACxB;;AAGF,cAAI,YAAY;AAChB,cAAI,cAAc;AAElB,cAAI,YAAY,YAAY;AAC5B,cAAI,iBAAiB,YAAY;AAEjC,mBAAS,KAAK,8BAA8B,KAAK,MAAM,UAAU,KAAK,MAAM,KAAK;AACjF,qBAAW,KAAK,iBAAiB,GAAG;AACpC,cAAI;AACJ,cAAI,OAAO,KAAK,SAAS,KAAK;AAC9B,cAAI,OAAO,SAAS,GAAG,SAAS;AAChC,cAAI;;AAGN,YAAI;;;IAOR,aAAa;;IAKb,aAAa;AACX,YAAM,MAAM,KAAK;AACjB,YAAM,OAAO,KAAK;AAClB,YAAM,WAAW,KAAK;AAEtB,UAAI,CAAC,SAAS,SAAS;AACrB;;AAGF,YAAM,aAAa,KAAK,cAAc;AACtC,UAAI,QAAQ;AAEZ,UAAI;AACJ,UAAI,UAAU,KAAK,SAAS,KAAK;AACjC,UAAI,OAAO;AACX,UAAI,YAAY;AAChB,UAAI,eAAe;AAEnB,WAAK,MAAM,QAAQ,CAAC,MAAM,WAAU;AAClC,YAAK,WAAU,KAAK,KAAK,OAAO,KAAM,CAAC,KAAK,SAAS;AACnD;;AAGF,cAAM,cAAc,SAAS,WAAW,KAAK,WAAW;AACxD,cAAM,WAAW,OAAO,YAAY;AACpC,iBAAS,KAAK,8BAA8B,KAAK,MAAM,QAAO;AAE9D,YAAI,YAAY,mBAAmB;AACjC,cAAI,OAAO,SAAS;AACpB,kBAAQ,IAAI,YAAY,KAAK,OAAO;AACpC,cAAI,YAAY,YAAY;AAE5B,gBAAM,UAAU,UAAU,YAAY;AACtC,cAAI,SACF,CAAC,QAAQ,IAAI,QAAQ,MACrB,CAAC,SAAS,SAAS,OAAO,IAAI,QAAQ,KACtC,QAAQ,QAAQ,OAChB,SAAS,OAAO,QAAQ;;AAI5B,mBAAW,KAAK,KAAK,OAAO,GAAG,CAAC,QAAQ,UAAU;UAChD,OAAO,YAAY;UACnB,aAAa,YAAY;UACzB,aAAa,YAAY;;;AAI7B,UAAI;;IAMN,YAAY;;;AAvVL,gBAFM,mBAEN,MAAK;AAKL,gBAPM,mBAON,YAAW;IAChB,SAAS;IAGT,SAAS;IACT,UAAU;IAEV,YAAY;MACV,SAAS;MACT,WAAW;MACX,YAAY;MACZ,kBAAkB;;IAGpB,MAAM;MACJ,UAAU;;IAGZ,YAAY;IAGZ,OAAO;MAEL,mBAAmB;MAEnB,UAAU,MAAM,WAAW;;IAG7B,aAAa;MACX,eAAe;MAGf,iBAAiB;MAGjB,SAAS;MAGT,MAAM;QACJ,MAAM;;MAIR,SAAS,OAAO;AACd,eAAO;;MAIT,SAAS;MAGT,mBAAmB;;;AAIhB,gBA9DM,mBA8DN,iBAAgB;IACrB,oBAAoB;IACpB,qBAAqB;IACrB,eAAe;;AAGV,gBApEM,mBAoEN,eAAc;IACnB,YAAY;MACV,WAAW;;;ACxYjB,MAAM,YAAY;IAChB,aAAa;MAAC,QAAQ;MAAM,MAAM;MAAG,OAAO;;IAC5C,QAAQ;MAAC,QAAQ;MAAM,MAAM;MAAM,OAAO;;IAC1C,QAAQ;MAAC,QAAQ;MAAM,MAAM;MAAO,OAAO;;IAC3C,MAAM;MAAC,QAAQ;MAAM,MAAM;MAAS,OAAO;;IAC3C,KAAK;MAAC,QAAQ;MAAM,MAAM;MAAU,OAAO;;IAC3C,MAAM;MAAC,QAAQ;MAAO,MAAM;MAAW,OAAO;;IAC9C,OAAO;MAAC,QAAQ;MAAM,MAAM;MAAS,OAAO;;IAC5C,SAAS;MAAC,QAAQ;MAAO,MAAM;MAAS,OAAO;;IAC/C,MAAM;MAAC,QAAQ;MAAM,MAAM;;;AAM7B,MAAM,QAA6C,uBAAO,KAAK;AAM/D,kBAAgB,GAAG,GAAG;AACpB,WAAO,IAAI;;AAQb,iBAAe,OAAO,QAAO;AAC3B,QAAI,cAAc,SAAQ;AACxB,aAAO;;AAGT,UAAM,UAAU,MAAM;AACtB,UAAM,EAAC,QAAQ,eAAO,eAAc,MAAM;AAC1C,QAAI,QAAQ;AAEZ,QAAI,OAAO,WAAW,YAAY;AAChC,cAAQ,OAAO;;AAIjB,QAAI,CAAC,eAAS,QAAQ;AACpB,cAAQ,OAAO,WAAW,WACtB,QAAQ,MAAM,OAA4B,UAC1C,QAAQ,MAAM;;AAGpB,QAAI,UAAU,MAAM;AAClB,aAAO;;AAGT,QAAI,QAAO;AACT,cAAQ,WAAU,UAAW,WAAS,eAAe,eAAe,QAChE,QAAQ,QAAQ,OAAO,WAAW,cAClC,QAAQ,QAAQ,OAAO;;AAG7B,WAAO,CAAC;;AAWV,qCAAmC,SAAS,KAAK,KAAK,UAAU;AAC9D,UAAM,OAAO,MAAM;AAEnB,aAAS,IAAI,MAAM,QAAQ,UAAU,IAAI,OAAO,GAAG,EAAE,GAAG;AACtD,YAAM,WAAW,UAAU,MAAM;AACjC,YAAM,SAAS,SAAS,QAAQ,SAAS,QAAQ,OAAO;AAExD,UAAI,SAAS,UAAU,KAAK,KAAM,OAAM,OAAQ,UAAS,SAAS,UAAU,UAAU;AACpF,eAAO,MAAM;;;AAIjB,WAAO,MAAM,OAAO;;AAYtB,sCAAoC,OAAO,UAAU,SAAS,KAAK,KAAK;AACtE,aAAS,IAAI,MAAM,SAAS,GAAG,KAAK,MAAM,QAAQ,UAAU,KAAK;AAC/D,YAAM,OAAO,MAAM;AACnB,UAAI,UAAU,MAAM,UAAU,MAAM,SAAS,KAAK,KAAK,KAAK,SAAS,WAAW,GAAG;AACjF,eAAO;;;AAIX,WAAO,MAAM,UAAU,MAAM,QAAQ,WAAW;;AAOlD,8BAA4B,MAAM;AAChC,aAAS,IAAI,MAAM,QAAQ,QAAQ,GAAG,OAAO,MAAM,QAAQ,IAAI,MAAM,EAAE,GAAG;AACxE,UAAI,UAAU,MAAM,IAAI,QAAQ;AAC9B,eAAO,MAAM;;;;AAUnB,mBAAiB,OAAO,MAAM,YAAY;AACxC,QAAI,CAAC,YAAY;AACf,YAAM,QAAQ;eACL,WAAW,QAAQ;AAC5B,YAAM,EAAC,SAAI,YAAM,QAAQ,YAAY;AACrC,YAAM,YAAY,WAAW,QAAO,OAAO,WAAW,OAAM,WAAW;AACvE,YAAM,aAAa;;;AAWvB,yBAAuB,OAAO,OAAO,MAAK,WAAW;AACnD,UAAM,UAAU,MAAM;AACtB,UAAM,QAAQ,CAAC,QAAQ,QAAQ,MAAM,GAAG,OAAO;AAC/C,UAAM,OAAO,MAAM,MAAM,SAAS,GAAG;AACrC,QAAI,OAAO;AAEX,SAAK,QAAQ,OAAO,SAAS,MAAM,QAAQ,CAAC,QAAQ,IAAI,OAAO,GAAG,YAAY;AAC5E,eAAQ,KAAI;AACZ,UAAI,UAAS,GAAG;AACd,cAAM,QAAO,QAAQ;;;AAGzB,WAAO;;AAST,+BAA6B,OAAO,QAAQ,WAAW;AACrD,UAAM,QAAQ;AAEd,UAAM,OAAM;AACZ,UAAM,OAAO,OAAO;AACpB,QAAI,GAAG;AAEP,SAAK,IAAI,GAAG,IAAI,MAAM,EAAE,GAAG;AACzB,cAAQ,OAAO;AACf,WAAI,SAAS;AAEb,YAAM,KAAK;QACT;QACA,OAAO;;;AAMX,WAAQ,SAAS,KAAK,CAAC,YAAa,QAAQ,cAAc,OAAO,OAAO,MAAK;;AAGhE,gCAAwB,OAAA;IAgDrC,YAAY,OAAO;AACjB,YAAM;AAGN,WAAK,SAAS;QACZ,MAAM;QACN,QAAQ;QACR,KAAK;;AAIP,WAAK,QAAQ;AAEb,WAAK,aAAa;AAClB,WAAK,WAAW;AAChB,WAAK,cAAc;AACnB,WAAK,aAAa;;IAGpB,KAAK,WAAW,OAAO,IAAI;AACzB,YAAM,OAAO,UAAU,QAAS,WAAU,OAAO;AAEjD,YAAM,UAAU,KAAK,WAAW,IAAI,SAAS,MAAM,UAAU,SAAS;AAEtE,cAAQ,KAAK;AAMb,cAAQ,KAAK,gBAAgB,QAAQ;AAErC,WAAK,aAAa;QAChB,QAAQ,KAAK;QACb,OAAO,KAAK;QACZ,YAAY,KAAK;;AAGnB,YAAM,KAAK;AAEX,WAAK,cAAc,KAAK;;IAQ1B,MAAM,KAAK,QAAO;AAChB,UAAI,QAAQ,QAAW;AACrB,eAAO;;AAET,aAAO,MAAM,MAAM;;IAGrB,eAAe;AACb,YAAM;AACN,WAAK,SAAS;QACZ,MAAM;QACN,QAAQ;QACR,KAAK;;;IAIT,sBAAsB;AACpB,YAAM,UAAU,KAAK;AACrB,YAAM,UAAU,KAAK;AACrB,YAAM,OAAO,QAAQ,KAAK,QAAQ;AAElC,UAAI,EAAC,KAAK,KAAK,YAAY,eAAc,KAAK;AAK9C,4BAAsB,QAAQ;AAC5B,YAAI,CAAC,cAAc,CAAC,MAAM,OAAO,MAAM;AACrC,gBAAM,KAAK,IAAI,KAAK,OAAO;;AAE7B,YAAI,CAAC,cAAc,CAAC,MAAM,OAAO,MAAM;AACrC,gBAAM,KAAK,IAAI,KAAK,OAAO;;;AAK/B,UAAI,CAAC,cAAc,CAAC,YAAY;AAE9B,qBAAa,KAAK;AAIlB,YAAI,QAAQ,WAAW,WAAW,QAAQ,MAAM,WAAW,UAAU;AACnE,uBAAa,KAAK,UAAU;;;AAIhC,YAAM,eAAS,QAAQ,CAAC,MAAM,OAAO,MAAM,CAAC,QAAQ,QAAQ,KAAK,OAAO;AACxE,YAAM,eAAS,QAAQ,CAAC,MAAM,OAAO,MAAM,CAAC,QAAQ,MAAM,KAAK,OAAO,QAAQ;AAG9E,WAAK,MAAM,KAAK,IAAI,KAAK,MAAM;AAC/B,WAAK,MAAM,KAAK,IAAI,MAAM,GAAG;;IAM/B,kBAAkB;AAChB,YAAM,MAAM,KAAK;AACjB,UAAI,MAAM,OAAO;AACjB,UAAI,MAAM,OAAO;AAEjB,UAAI,IAAI,QAAQ;AACd,cAAM,IAAI;AACV,cAAM,IAAI,IAAI,SAAS;;AAEzB,aAAO;QAAC;QAAK;;;IAMf,aAAa;AACX,YAAM,UAAU,KAAK;AACrB,YAAM,WAAW,QAAQ;AACzB,YAAM,WAAW,QAAQ;AACzB,YAAM,aAAa,SAAS,WAAW,WAAW,KAAK,uBAAuB,KAAK;AAEnF,UAAI,QAAQ,WAAW,WAAW,WAAW,QAAQ;AACnD,aAAK,MAAM,KAAK,YAAY,WAAW;AACvC,aAAK,MAAM,KAAK,YAAY,WAAW,WAAW,SAAS;;AAG7D,YAAM,MAAM,KAAK;AACjB,YAAM,MAAM,KAAK;AAEjB,YAAM,QAAQ,eAAe,YAAY,KAAK;AAK9C,WAAK,QAAQ,SAAS,QAAS,UAAS,WACpC,0BAA0B,SAAS,SAAS,KAAK,KAAK,KAAK,KAAK,KAAK,kBAAkB,QACvF,2BAA2B,MAAM,MAAM,QAAQ,SAAS,SAAS,KAAK,KAAK,KAAK;AACpF,WAAK,aAAa,CAAC,SAAS,MAAM,WAAW,KAAK,UAAU,SAAS,SACjE,mBAAmB,KAAK;AAC5B,WAAK,YAAY;AAEjB,UAAI,QAAQ,SAAS;AACnB,cAAM;;AAGR,aAAO,oBAAoB,MAAM,OAAO,KAAK;;IAG/C,gBAAgB;AAGd,UAAI,KAAK,QAAQ,qBAAqB;AACpC,aAAK,YAAY,KAAK,MAAM,IAAI,CAAA,SAAQ,CAAC,KAAK;;;IAYlD,YAAY,aAAa,IAAI;AAC3B,UAAI,SAAQ;AACZ,UAAI,MAAM;AACV,UAAI,OAAO;AAEX,UAAI,KAAK,QAAQ,UAAU,WAAW,QAAQ;AAC5C,gBAAQ,KAAK,mBAAmB,WAAW;AAC3C,YAAI,WAAW,WAAW,GAAG;AAC3B,mBAAQ,IAAI;eACP;AACL,mBAAS,MAAK,mBAAmB,WAAW,MAAM,SAAS;;AAE7D,eAAO,KAAK,mBAAmB,WAAW,WAAW,SAAS;AAC9D,YAAI,WAAW,WAAW,GAAG;AAC3B,gBAAM;eACD;AACL,gBAAO,QAAO,KAAK,mBAAmB,WAAW,WAAW,SAAS,OAAO;;;AAGhF,YAAM,QAAQ,WAAW,SAAS,IAAI,MAAM;AAC5C,eAAQ,YAAY,QAAO,GAAG;AAC9B,YAAM,YAAY,KAAK,GAAG;AAE1B,WAAK,WAAW;QAAC;QAAO;QAAK,QAAQ,IAAK,UAAQ,IAAI;;;IAUxD,YAAY;AACV,YAAM,UAAU,KAAK;AACrB,YAAM,MAAM,KAAK;AACjB,YAAM,MAAM,KAAK;AACjB,YAAM,UAAU,KAAK;AACrB,YAAM,WAAW,QAAQ;AAEzB,YAAM,QAAQ,SAAS,QAAQ,0BAA0B,SAAS,SAAS,KAAK,KAAK,KAAK,kBAAkB;AAC5G,YAAM,WAAW,eAAe,QAAQ,MAAM,UAAU;AACxD,YAAM,UAAU,UAAU,SAAS,SAAS,aAAa;AACzD,YAAM,aAAa,UAAS,YAAY,YAAY;AACpD,YAAM,QAAQ;AACd,UAAI,QAAQ;AACZ,UAAI,MAAM;AAGV,UAAI,YAAY;AACd,gBAAQ,CAAC,QAAQ,QAAQ,OAAO,WAAW;;AAI7C,cAAQ,CAAC,QAAQ,QAAQ,OAAO,aAAa,QAAQ;AAGrD,UAAI,QAAQ,KAAK,KAAK,KAAK,SAAS,MAAS,UAAU;AACrD,cAAM,IAAI,MAAM,MAAM,UAAU,MAAM,yCAAyC,WAAW,MAAM;;AAGlG,YAAM,aAAa,QAAQ,MAAM,WAAW,UAAU,KAAK;AAC3D,WAAK,OAAO,OAAO,QAAQ,GAAG,OAAO,KAAK,OAAO,CAAC,QAAQ,IAAI,MAAM,UAAU,QAAQ,SAAS;AAC7F,gBAAQ,OAAO,MAAM;;AAGvB,UAAI,SAAS,OAAO,QAAQ,WAAW,WAAW,UAAU,GAAG;AAC7D,gBAAQ,OAAO,MAAM;;AAIvB,aAAO,OAAO,KAAK,OAAO,KAAK,QAAQ,IAAI,CAAA,MAAK,CAAC;;IAOnD,iBAAiB,OAAO;AACtB,YAAM,UAAU,KAAK;AACrB,YAAM,WAAW,KAAK,QAAQ;AAE9B,UAAI,SAAS,eAAe;AAC1B,eAAO,QAAQ,OAAO,OAAO,SAAS;;AAExC,aAAO,QAAQ,OAAO,OAAO,SAAS,eAAe;;IAQvD,OAAO,OAAO,QAAQ;AACpB,YAAM,UAAU,KAAK;AACrB,YAAM,UAAU,QAAQ,KAAK;AAC7B,YAAM,OAAO,KAAK;AAClB,YAAM,MAAM,UAAU,QAAQ;AAC9B,aAAO,KAAK,SAAS,OAAO,OAAO;;IAYrC,oBAAoB,MAAM,QAAO,OAAO,QAAQ;AAC9C,YAAM,UAAU,KAAK;AACrB,YAAM,YAAY,QAAQ,MAAM;AAEhC,UAAI,WAAW;AACb,eAAO,SAAK,WAAW;UAAC;UAAM;UAAO;WAAQ;;AAG/C,YAAM,UAAU,QAAQ,KAAK;AAC7B,YAAM,OAAO,KAAK;AAClB,YAAM,YAAY,KAAK;AACvB,YAAM,cAAc,QAAQ,QAAQ;AACpC,YAAM,cAAc,aAAa,QAAQ;AACzC,YAAM,OAAO,MAAM;AACnB,YAAM,QAAQ,aAAa,eAAe,QAAQ,KAAK;AAEvD,aAAO,KAAK,SAAS,OAAO,MAAM,UAAW,SAAQ,cAAc;;IAMrE,mBAAmB,OAAO;AACxB,UAAI,GAAG,MAAM;AAEb,WAAK,IAAI,GAAG,OAAO,MAAM,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC9C,eAAO,MAAM;AACb,aAAK,QAAQ,KAAK,oBAAoB,KAAK,OAAO,GAAG;;;IAQzD,mBAAmB,OAAO;AACxB,aAAO,UAAU,OAAO,MAAO,SAAQ,KAAK,OAAQ,MAAK,MAAM,KAAK;;IAOtE,iBAAiB,OAAO;AACtB,YAAM,UAAU,KAAK;AACrB,YAAM,MAAM,KAAK,mBAAmB;AACpC,aAAO,KAAK,mBAAoB,SAAQ,QAAQ,OAAO,QAAQ;;IAOjE,iBAAiB,OAAO;AACtB,YAAM,UAAU,KAAK;AACrB,YAAM,MAAM,KAAK,mBAAmB,SAAS,QAAQ,SAAS,QAAQ;AACtE,aAAO,KAAK,MAAM,MAAO,MAAK,MAAM,KAAK;;IAQ3C,cAAc,OAAO;AACnB,YAAM,YAAY,KAAK,QAAQ;AAC/B,YAAM,iBAAiB,KAAK,IAAI,YAAY,OAAO;AACnD,YAAM,QAAQ,UAAU,KAAK,iBAAiB,UAAU,cAAc,UAAU;AAChF,YAAM,cAAc,KAAK,IAAI;AAC7B,YAAM,cAAc,KAAK,IAAI;AAC7B,YAAM,eAAe,KAAK,wBAAwB,GAAG;AAErD,aAAO;QACL,GAAI,iBAAiB,cAAgB,eAAe;QACpD,GAAI,iBAAiB,cAAgB,eAAe;;;IASxD,kBAAkB,aAAa;AAC7B,YAAM,WAAW,KAAK,QAAQ;AAC9B,YAAM,iBAAiB,SAAS;AAGhC,YAAM,SAAS,eAAe,SAAS,SAAS,eAAe;AAC/D,YAAM,eAAe,KAAK,oBAAoB,aAAa,GAAG,oBAAoB,MAAM;QAAC;SAAc,KAAK,aAAa;AACzH,YAAM,OAAO,KAAK,cAAc;AAGhC,YAAM,WAAW,KAAK,MAAM,KAAK,iBAAiB,KAAK,QAAQ,KAAK,IAAI,KAAK,SAAS,KAAK,KAAK;AAChG,aAAO,WAAW,IAAI,WAAW;;IAMnC,oBAAoB;AAClB,UAAI,aAAa,KAAK,OAAO,QAAQ;AACrC,UAAI,GAAG;AAEP,UAAI,WAAW,QAAQ;AACrB,eAAO;;AAGT,YAAM,QAAQ,KAAK;AAEnB,UAAI,KAAK,eAAe,MAAM,QAAQ;AACpC,eAAQ,KAAK,OAAO,OAAO,MAAM,GAAG,WAAW,mBAAmB;;AAGpE,WAAK,IAAI,GAAG,OAAO,MAAM,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC9C,qBAAa,WAAW,OAAO,MAAM,GAAG,WAAW,mBAAmB;;AAGxE,aAAQ,KAAK,OAAO,OAAO,KAAK,UAAU;;IAM5C,qBAAqB;AACnB,YAAM,aAAa,KAAK,OAAO,UAAU;AACzC,UAAI,GAAG;AAEP,UAAI,WAAW,QAAQ;AACrB,eAAO;;AAGT,YAAM,SAAS,KAAK;AACpB,WAAK,IAAI,GAAG,OAAO,OAAO,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC/C,mBAAW,KAAK,MAAM,MAAM,OAAO;;AAGrC,aAAQ,KAAK,OAAO,SAAS,KAAK,cAAc,aAAa,KAAK,UAAU;;IAO9E,UAAU,QAAQ;AAEhB,aAAO,aAAa,OAAO,KAAK;;;AAxd3B,gBAFM,WAEN,MAAK;AAKL,gBAPM,WAON,YAAW;IAQhB,QAAQ;IAER,UAAU;IACV,MAAM;MACJ,QAAQ;MACR,MAAM;MACN,OAAO;MACP,YAAY;MACZ,SAAS;MACT,gBAAgB;;IAElB,OAAO;MASL,QAAQ;MAER,UAAU;MAEV,OAAO;QACL,SAAS;;;;ACnOjB,wBAAqB,OAAO,KAAK,SAAS;AACxC,QAAI,MAAK;AACT,QAAI,MAAK,MAAM,SAAS;AACxB,QAAI,YAAY,YAAY,YAAY;AACxC,QAAI,SAAS;AACX,UAAI,OAAO,MAAM,KAAI,OAAO,OAAO,MAAM,KAAI,KAAK;AAC/C,QAAA,GAAC,SAAI,YAAM,aAAa,OAAO,OAAO;;AAExC,MAAA,GAAC,KAAK,YAAY,MAAM,eAAc,MAAM;AAC5C,MAAA,GAAC,KAAK,YAAY,MAAM,eAAc,MAAM;WACxC;AACL,UAAI,OAAO,MAAM,KAAI,QAAQ,OAAO,MAAM,KAAI,MAAM;AACjD,QAAA,GAAC,SAAI,YAAM,aAAa,OAAO,QAAQ;;AAEzC,MAAA,GAAC,MAAM,YAAY,KAAK,eAAc,MAAM;AAC5C,MAAA,GAAC,MAAM,YAAY,KAAK,eAAc,MAAM;;AAG/C,UAAM,OAAO,aAAa;AAC1B,WAAO,OAAO,aAAc,cAAa,cAAe,OAAM,cAAc,OAAO;;AAGrF,sCAA8B,UAAA;IAY5B,YAAY,OAAO;AACjB,YAAM;AAGN,WAAK,SAAS;AAEd,WAAK,UAAU;AAEf,WAAK,cAAc;;IAMrB,cAAc;AACZ,YAAM,aAAa,KAAK;AACxB,YAAM,QAAQ,KAAK,SAAS,KAAK,iBAAiB;AAClD,WAAK,UAAU,aAAY,OAAO,KAAK;AACvC,WAAK,cAAc,aAAY,OAAO,KAAK,OAAO,KAAK;AACvD,YAAM,YAAY;;IAcpB,iBAAiB,YAAY;AAC3B,YAAM,EAAC,KAAK,QAAO;AACnB,YAAM,QAAQ;AACd,YAAM,QAAQ;AACd,UAAI,GAAG,MAAM,MAAM,MAAM;AAEzB,WAAK,IAAI,GAAG,OAAO,WAAW,QAAQ,IAAI,MAAM,EAAE,GAAG;AACnD,eAAO,WAAW;AAClB,YAAI,QAAQ,OAAO,QAAQ,KAAK;AAC9B,gBAAM,KAAK;;;AAIf,UAAI,MAAM,SAAS,GAAG;AAEpB,eAAO;UACL;YAAC,MAAM;YAAK,KAAK;;UACjB;YAAC,MAAM;YAAK,KAAK;;;;AAIrB,WAAK,IAAI,GAAG,OAAO,MAAM,QAAQ,IAAI,MAAM,EAAE,GAAG;AAC9C,eAAO,MAAM,IAAI;AACjB,eAAO,MAAM,IAAI;AACjB,eAAO,MAAM;AAGb,YAAI,KAAK,MAAO,QAAO,QAAQ,OAAO,MAAM;AAC1C,gBAAM,KAAK;YAAC,MAAM;YAAM,KAAK,IAAK,QAAO;;;;AAG7C,aAAO;;IAST,YAAY;AACV,YAAM,MAAM,KAAK;AACjB,YAAM,MAAM,KAAK;AACjB,UAAI,aAAa,MAAM;AACvB,UAAI,CAAC,WAAW,SAAS,QAAQ,CAAC,WAAW,QAAQ;AACnD,mBAAW,OAAO,GAAG,GAAG;;AAE1B,UAAI,CAAC,WAAW,SAAS,QAAQ,WAAW,WAAW,GAAG;AACxD,mBAAW,KAAK;;AAElB,aAAO,WAAW,KAAK,CAAC,GAAG,MAAM,IAAI;;IAQvC,yBAAyB;AACvB,UAAI,aAAa,KAAK,OAAO,OAAO;AAEpC,UAAI,WAAW,QAAQ;AACrB,eAAO;;AAGT,YAAM,OAAO,KAAK;AAClB,YAAM,QAAQ,KAAK;AACnB,UAAI,KAAK,UAAU,MAAM,QAAQ;AAG/B,qBAAa,KAAK,UAAU,KAAK,OAAO;aACnC;AACL,qBAAa,KAAK,SAAS,OAAO;;AAEpC,mBAAa,KAAK,OAAO,MAAM;AAE/B,aAAO;;IAOT,mBAAmB,OAAO;AACxB,aAAQ,cAAY,KAAK,QAAQ,SAAS,KAAK,WAAW,KAAK;;IAOjE,iBAAiB,OAAO;AACtB,YAAM,UAAU,KAAK;AACrB,YAAM,UAAU,KAAK,mBAAmB,SAAS,QAAQ,SAAS,QAAQ;AAC1E,aAAO,aAAY,KAAK,QAAQ,UAAU,KAAK,cAAc,KAAK,SAAS;;;AAzItE,gBAFT,iBAES,MAAK;AAKL,gBAPT,iBAOS,YAAW,UAAU;;;;;;;;;;MCrBjB,gBAAgB;IAC3B;IACA;IACA;IACA;;;;ACtBK,gCAA8B,SAAkB;AACnD,QAAI,SAAS;AACT,QAAE,iBAAiB,YAAY;AAAA,WAC5B;AACH,QAAE,iBAAiB,SAAS;AAAA;AAAA;;;A7EUpC,MAAM,gBAAgB,IAAI;AAEnB,wBAAsB,mBAA2B;AACtD,UAAM,OAAQ,mBAAmB,IAAI,SAAU,YAAY;AACzD,QAAE,KAAK;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,MAAM,KAAK,UAAU;AAAA,UACnB,MAAM;AAAA;AAAA,QAER,aAAa;AAAA,QACb,UAAU;AAAA,SACT,KAAK,SAAS,UAAU;AACzB,eAAO,SAAS,WAAW,mCAAmC,SAAS;AAAA,SACtE,KAAK,SAAS,KAAK;AACpB,eAAO,MAAM,YAAY,IAAI;AAAA;AAAA;AAAA;AAK5B,wBAAsB,KAAY,mBAA2B;AAChE,UAAM,OAAQ,mBAAmB,IAAI,SAAU,YAAY;AACvD,QAAE,KAAK;AAAA,QACL,MAAM;AAAA,QACN,KAAK,YAAY;AAAA,QACjB,MAAM,KAAK,UAAU;AAAA,UACnB,MAAM;AAAA;AAAA,QAER,aAAa;AAAA,QACb,UAAU;AAAA,SACT,KAAK,WAAW;AACjB,iBAAS;AAAA,SACR,KAAK,SAAS,KAAK;AACpB,eAAO,MAAM,YAAY,IAAI;AAAA;AAAA;AAAA;AAKhC,2BAAyB,KAAY,iBAA2B,uBAA+B,QAAgB,eAAuB,IAAI;AAC/I,QAAI,mBAAmB,CAAC,cAAa;AACnC,YAAM,QAAQ,uBAAuB,WAAY;AAC/C,0BAAkB,KAAI,QAAQ,MAAM;AAAA,SACnC,WAAY;AACb,0BAAkB,KAAI,QAAQ,OAAO;AAAA;AAAA,WAElC;AACL,wBAAkB,KAAI,QAAQ,OAAO;AAAA;AAAA;AAIzC,6BAA2B,KAAY,QAAgB,gBAAyB,eAAuB,IAAI;AACvG,UAAM,OAAQ,QAAQ,cAAc,SAAU,YAAY;AAC1D,QAAE,KAAK;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,MAAM,KAAK,UAAU;AAAA,UACnB,IAAI;AAAA,UACJ,MAAM;AAAA,UACN;AAAA;AAAA,QAEF,aAAa;AAAA,QACb,UAAU;AAAA,SACT,KAAK,SAAS,UAAU;AACzB,YAAI,SAAS,mBAAmB,kBAAkB,MAAK;AACrD,qBAAW,iBAAiB,SAAS,iBAAiB;AACpD,cAAE,KAAK;AAAA,cACL,MAAM;AAAA,cACN,KAAK;AAAA,cACL,MAAM,KAAK,UAAU;AAAA,gBACnB,UAAU,cAAc;AAAA,gBACxB,UAAU,SAAS;AAAA;AAAA,cAErB,aAAa;AAAA,cACb,UAAU;AAAA,eACP,KAAK,SAAS,KAAK;AAClB,oBAAM,YAAY,IAAI;AAAA;AAAA;AAAA;AAIhC,iBAAS;AAAA,SACR,KAAK,SAAS,KAAK;AACpB,eAAO,MAAM,YAAY,IAAI;AAAA;AAAA;AAAA;AAK5B,wBAAsB,KAAY,QAAgB;AACvD,UAAM,QAAQ,QAAQ,WAAY;AAChC,QAAE,KAAK;AAAA,QACL,MAAM;AAAA,QACN,KAAK,YAAY;AAAA,QACjB,aAAa;AAAA,QACb,UAAU;AAAA,SACT,KAAK,WAAY;AAClB,iBAAS;AAAA,SACR,KAAK,SAAU,KAAK;AACrB,cAAM,YAAY,IAAI;AAAA;AAAA;AAAA;AAKrB,sBAAoB,KAAY,OAAc;AACnD,MAAE,KAAK;AAAA,MACH,MAAM;AAAA,MACN,KAAK;AAAA,MACL,aAAa;AAAA,MACb,MAAM,KAAK,UAAU;AAAA,QACnB,IAAI;AAAA,QACJ,MAAM;AAAA;AAAA,MAER,UAAU;AAAA,OACT,KAAK,WAAW;AACjB,aAAO,SAAS,WAAW;AAAA,OAC1B,KAAK,SAAS,KAAK;AACpB,UAAI,IAAI,UAAU,KAAK;AACpB,eAAO,MAAM,QAAS,IAAI,cAAc,WAAY;AACjD,uBAAa,QAAS,aAAa,KAAK,UAAW,EAAC,IAAI,KAAI,MAAM;AAClE,iBAAO,SAAS,WAAW;AAAA;AAAA,aAE1B;AACH,cAAM,YAAY,IAAI,gBAAgB,eAAe;AAAA;AAAA;AAAA;AAKxD,0BAAwB,UAAkB,QAAgB,MAAI,mBAAmB;AACpF,UAAM,OAAQ,QAAQ,IAAI,SAAU,UAAU;AAC5C,QAAE,KAAK;AAAA,QACH,MAAM;AAAA,QACN;AAAA,QACA,MAAM,KAAK,UAAU;AAAA,UACnB;AAAA,UACA;AAAA;AAAA,QAEF,aAAa;AAAA,QACb,UAAU;AAAA,SACX,KAAK,WAAW;AACf,iBAAS;AAAA,SACV,KAAK,SAAS,KAAK;AAClB,cAAM,YAAY,IAAI;AAAA;AAAA;AAAA;AAKzB,iCAA+B,UAAkB,UAAkB,QAAgB;AACxF,WAAO,MAAM,QAAS,QAAQ,WAAY;AACtC,QAAE,KAAK;AAAA,QACH,MAAM;AAAA,QACN,KAAK;AAAA,QACL,MAAM,KAAK,UAAU;AAAA,UACjB;AAAA,UACA;AAAA;AAAA,QAEJ,aAAa;AAAA,QACb,UAAU;AAAA,SACX,KAAK,WAAY;AAChB,iBAAS;AAAA,SACV,KAAK,SAAU,KAAK;AACnB,eAAO,MAAM,YAAY,IAAI;AAAA;AAAA;AAAA;AAKhC,0BAAwB,UAAkB,YAAoB,QAAgB;AACnF,UAAM,QAAS,QAAQ,WAAY;AACjC,QAAE,KAAK;AAAA,QACL,MAAM;AAAA,QACN,KAAK,YAAY,WAAW,cAAc;AAAA,QAC1C,aAAa;AAAA,QACb,UAAU;AAAA,SACT,KAAK,WAAW;AACjB,iBAAS;AAAA,SACR,KAAK,SAAS,KAAK;AAClB,cAAM,YAAY,IAAI;AAAA;AAAA;AAAA;AAK9B,iCAA+B,UAAiB,QAAkB,WAAkB;AAClF,UAAM,SAAS,IAAI;AACnB,UAAM,OAAO,OAAO,gBAAgB,UAAS;AAC7C,QAAI,WAAW;AACf,QAAI,OAAO,QAAQ;AACjB,iBAAW,KAAK,IAAI,GAAG,OAAO,IAAI,CAAC,QAAO,OAAO;AAAA;AAEnD,QAAI,WAAqB;AACzB,QAAI,oBAA8B;AAClC,QAAI,YAAqB;AACzB,QAAI,oBAA8B;AAElC,eAAW,OAAO,KAAK,qBAAqB,SAAS;AACnD,UAAI,IAAI,cAAc,mBAAmB;AACvC,iBAAS,KAAK,IAAI;AAAA,aACb;AACL,kBAAS,KAAK,IAAI;AAAA;AAAA;AAItB,eAAW,WAAW,UAAU;AAC9B,wBAAkB,KAAK,qBAAqB,SAAS,UAAU,aAAY;AAAA;AAG7E,eAAW,YAAW,WAAU;AAC9B,wBAAkB,KAAK,wBAAwB;AAAA;AAGjD,QAAI,IAAI;AACR,QAAI,KAAI;AACR,eAAW,OAAO,KAAK,qBAAqB,SAAS;AACnD,UAAI,IAAI,cAAc,mBAAmB;AACvC,YAAI,YAAY,kBAAkB;AAAA,aAC7B;AACL,YAAI,YAAY,kBAAkB;AAAA;AAAA;AAItC,UAAM,oBAAoB,KAAK,qBAAqB,QAAQ,GAAG,UAAU,QAAQ,SAAS;AAC1F,WAAO;AAAA;AAGT,+BAA6B,cAAsB;AAEjD,UAAM,iBAAiB,EAAE,0BAA0B;AACnD,UAAM,SAAU,SAAS,cAAc,oBAAmC;AAC1E,UAAM,UAAW,SAAS,cAAc,qBAAoC;AAC5E,UAAM,YAAY,SAAS,cAAc,uBAAsC,SAAS;AACxF,QAAG,OAAO,WAAW,GAAG;AACtB,YAAM,YAAY,eAAe;AACjC;AAAA;AAEF,UAAM,WAAU,0BAAU,SAAS,OAAO,SAAS;AACnD,UAAM,sBAAsB,0BAAU,SAAS,OAAO,iBAAiB;AAEvE,UAAM,oBAAoB,sBAAsB,UAAS,QAAQ;AACjE,UAAM,0BAA0B,sBAAsB,qBAAqB,QAAQ;AACnF,UAAM,eAAe,EAAE,iBAAiB,KAAK;AAE7C,MAAE,KAAK;AAAA,MACL,MAAM;AAAA,MACN,KAAK;AAAA,MACL,MAAM,KAAK,UAAU;AAAA,QACnB,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,SAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA,QAAQ;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA;AAAA,MAEF,aAAa;AAAA,MACb,UAAU;AAAA,OACT,KAAK,SAAU,UAAU;AAC1B,YAAM,cAAc,SAAS;AAAA,OAC5B,KAAK,SAAU,KAAK;AACrB,YAAM,YAAY,IAAI;AAAA;AAAA;AAInB,4BAA0B,cAAsB,YAAqB,QAAgB;AAC1F,QAAI,CAAC,YAAY;AACf,YAAM,QAAS,QAAQ,WAAY;AAC/B,4BAAoB;AAAA;AAAA,WAElB;AACH,0BAAoB;AAAA;AAAA;AAI3B,wBAAsB,UAAiB;AACnC,UAAM,QAAO,EAAE,0BAA0B;AACzC,QAAI,OAAO,UAAS,UAAU;AAAE,YAAM,IAAI,MAAM,oCAAoC;AAAA;AACpF,QAAI,SAAmB;AACvB,aAAS,iBAAiB,uCAAuC,QAAQ,CAAC,QAAO;AAC/E,aAAO,KAAK,IAAG,aAAa;AAAA;AAE9B,QAAI,OAAO,WAAW,UAAU;AAAE,YAAM,IAAI,MAAM,qCAAqC;AAAA;AAEvF,QAAI,YAAY,EAAE;AAClB,cAAU,SAAS;AACnB,cAAU,IAAI,eAAe;AAC7B,cAAU,IAAI,SAAS;AACvB,cAAU,KAAK;AAGf,UAAM,QAAQ,WAAW;AACzB,eAAW,WAAW,EAAE,gBAAgB,OAAO;AAC3C,QAAE,SAAS,SAAS;AACpB,YAAM,MAAM,EAAE,QAAQ,KAAK;AAC3B,YAAM,WAAW,QAAQ,cAAc;AACvC,UAAI;AAEJ,UAAG,UAAU;AACX,iBAAS,SAAS;AAClB,eAAO,SAAS;AAAA,aACX;AACL,eAAO,QAAQ,eAAe;AAC9B,gBAAQ,cAAc;AAAA;AAExB,YAAM,gBAAgB,cAAc,yBAAyB,SAAS;AACtE,oBAAc,WAAW,KAAK;AAC9B,iBAAW,UAAS,QAAQ;AAC1B,sBAAc,uBAAuB,SAAS,QAAO,KAAK;AAE1D;AAAA;AAAA;AAAA;AAKH,+BAA6B;AAChC,QAAI,WAAU,0BAAU,SAAiB,EAAE,6BAA6B;AACxE,QAAI,CAAC,UAAS;AACZ,iBAAU,OAAO,SAAS;AAAA;AAG5B,MAAE,KAAK;AAAA,MACL,MAAM;AAAA,MACN,KAAK;AAAA,MACL,MAAM,KAAK,UAAU;AAAA,QACjB,MAAM;AAAA;AAAA,MAEV,aAAa;AAAA,MACb,UAAU;AAAA,OACT,KAAK,SAAU,UAAU;AACxB,mBAAa,SAAS;AAAA,OACvB,KAAK,SAAU,KAAK;AACrB,YAAM,YAAY,IAAI;AAAA;AAAA;AAIrB,4BAA0B,cAAsB,QAAgB;AACrE,UAAM,QAAQ,QAAQ,WAAY;AAChC,QAAE,KAAK;AAAA,QACL,MAAM;AAAA,QACN,KAAK,uCAAuC;AAAA,QAC5C,aAAa;AAAA,QACb,UAAU;AAAA,SACT,KAAK,WAAY;AAClB,eAAO,SAAS,OAAO;AAAA,SACtB,KAAK,SAAU,KAAK;AACrB,cAAM,YAAY,IAAI;AAAA;AAAA;AAAA;AAKrB,mCAAiC,UAAkB,gBAAwB,iBAAyB;AACvG,UAAM,OAAS,iBAAiB,MAAM,WAAW,KAAK,IAAI,SAAU,UAAU;AAC1E,YAAM,QAAS,iBAAiB,WAAY;AACxC,UAAE,KAAK;AAAA,UACL,MAAM;AAAA,UACN,KAAK;AAAA,UACL,MAAM,KAAK,UAAU;AAAA,YACjB;AAAA,YACA;AAAA;AAAA,UAEJ,aAAa;AAAA,UACb,UAAU;AAAA,WACT,KAAK,SAAU,UAAU;AAC1B,gBAAM,cAAc,SAAS;AAAA,WAC5B,KAAK,SAAU,KAAK;AACrB,gBAAM,YAAY,IAAI;AAAA;AAAA;AAAA;AAAA;AAM7B,4BAA0B,aAAqB;AAEpD,MAAE,mBAAmB,KAAK,WAAU;AAC/B,UAAI,EAAE,MAAM,SAAS,aAAa;AAC9B,UAAE,MAAM,YAAY;AACpB,UAAE,MAAM,SAAS;AAAA;AAAA;AAGzB,QAAI,EAAG,cAAc,aAAa,GAAI,aAAa;AAC/C,QAAE,aAAa,aAAa,YAAY;AACxC,QAAE,aAAa,aAAa,SAAS;AACrC,QAAG,YAAY;AAAA,WACZ;AACL,QAAE,aAAa,aAAa,YAAY;AACxC,QAAE,aAAa,aAAa,SAAS;AACrC,QAAE,YAAY;AACd,QAAG,4BAA4B;AAC/B,QAAE,cAAc,aAAa;AAAA;AAAA;AAK3B,+BAA6B,UAAkB;AAClD,QAAI,SAAiC;AACrC,MAAE,uBAAuB,KAAK,WAAW;AACrC,UAAI,EAAE,MAAM,GAAG,aAAa;AACxB,eAAO,KAAa,EAAE,MAAM,KAAK;AAAA;AAAA;AAGzC,QAAI,iBAA2B;AAC/B,MAAE,4BAA4B,KAAK,WAAW;AAC1C,UAAI,EAAE,MAAM,KAAK,YAAY;AACzB,uBAAe,KAAa,EAAE,MAAM,KAAK;AAAA;AAAA;AAGjD,QAAI,mBAA2C;AAC/C,MAAE,6BAA6B,KAAK,WAAW;AAC3C,UAAI,EAAE,MAAM,SAAS,IAAI;AACrB,yBAAiB,EAAE,MAAM,KAAK,SAAmB,EAAE,MAAM;AAAA;AAAA;AAGjE,QAAI,gBAAwC;AAC5C,MAAE,6BAA6B,KAAK,WAAW;AAC7C,oBAAc,EAAE,MAAM,KAAK,YAAsB,EAAE,MAAM;AAAA;AAG3D,MAAE,KAAK;AAAA,MACL,MAAM;AAAA,MACN,KAAK,mCAAmC;AAAA,MACxC,MAAM,KAAK,UAAU;AAAA,QACjB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,MAEJ,aAAa;AAAA,MACb,UAAU;AAAA,OACT,KAAK,SAAU,UAAU;AAC1B,YAAM,cAAc,SAAS;AAC7B,QAAE,iCAAiC,YAAY;AAAA,OAC9C,KAAK,SAAU,KAAK;AACrB,YAAM,YAAY,IAAI;AAAA;AAAA;AAIrB,4CAA0C,QAAgB;AAC7D,UAAM,QAAS,QAAQ,iBAAkB;AAGvC,UAAI,kBAA2B,EAAE,gBAAgB,GAAG;AACpD,UAAI,eAAe,gBAAgB,MAAM,KAAK;AAC9C,UAAI;AACF,cAAM,KAAK,KACT,QACA,8CAA8C,gBAC9C;AAEF,UAAE,4BAA4B,KAAK,WAAW;AAE9C,UAAE,uBAAuB,KAAK,QAAQ,QACb,OACA,IAAI,IACJ,KAAK,YAAY,OACjB,KAAK,eAAe,eAAe,oBACnC,KAAK,WAAW;AACX,cAAG,EAAE,MAAM,SAAS,iBAAiB;AACnC,cAAE,MAAM,YAAY,gBACb,SAAS;AAAA;AAAA;AAIhD,UAAE,uBAAuB,KAAK,WAAW;AACzC,+BAAuB;AACvB,cAAM,cAAc,eAAe;AAAA,eAC5B,QAAP;AACA,gBAAQ,MAAM;AAAA;AAAA;AAAA;AAKf,wBAAsB,QAAe;AACxC,QAAI,EAAE,mBAAmB,QAAO,GAAG,aAAa;AAC9C,QAAE,yBAAyB,QAAO,KAAK,YAAY,OAClB,KAAK,QAAQ,QACb,KAAK,eAAe,eAAe,oBACnC,YAAY,gBACZ,SAAS;AAAA,WACrC;AACL,QAAE,yBAAyB,QAAO,KAAK,YAAY,MACjB,KAAK,QAAQ,QACb,KAAK,eAAe,eAAe,UACnC,IAAI;AAAA;AAGxC,QAAI,EAAE,YAAY,QAAO,GAAG,aAAa;AACvC,6BAAuB;AAAA;AAAA;AAItB,kCAAgC,QAAe;AACpD,QAAI,cAAuB,EAAE,yBAAyB,QAAO;AAC7D,QAAI,aAAa,IAAI,KAAK;AAC1B,QAAI,aAAa,IAAI;AACrB,QAAI,aAAa,YAAY;AAC3B,QAAE,yBAAyB,QAAO,YAAY,eACZ,SAAS;AAAA,WAEtC;AACL,QAAE,yBAAyB,QAAO,YAAY,gBACZ,SAAS;AAAA;AAG7C,QAAI,EAAE,YAAa,QAAO,GAAG,aAAa;AACxC,6BAAuB;AAAA;AAAA;AAIpB,qCAAmC;AAExC,UAAM,cAAc,EAAE,uBAAuB;AAC7C,gBAAY,YAAY;AACxB,gBAAY,KAAK,MAAM;AAGvB,oCAAgC,KAA0B,QAAe;AACrE,UAAI,KAAK,aAAa,KAAK,WAAW;AAClC,cAAM,YAAY,EAAE,MAAM,KAAK;AAC/B,YAAI,WAAW;AACX,gBAAM,QAAQ,UAAU,QAAQ,SAAS,IAAI;AAC7C,YAAE,MAAM,KAAK,WAAW;AAAA;AAAA;AAAA;AAMpC,UAAM,oBAAoB,EAAE,gBAAgB;AAG5C,aAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AACxB,YAAM,SAAS,YAAY;AAC3B,6BAAuB,QAAQ,oBAAoB,IAAI;AACvD,aAAO,SAAS;AAAA;AAAA;AAIf,yCAAuC;AAC1C,QAAI,EAAE,qBAAqB,GAAG,aAAa;AACvC,QAAE,kCAAkC;AACpC,QAAE,oCAAoC;AACtC,QAAE,oBAAoB;AACtB,QAAE,oBAAoB;AACtB,QAAE,mBAAmB;AACrB,QAAE,mBAAmB;AAAA,WAClB;AACH,QAAE,kCAAkC;AACpC,QAAE,oCAAoC;AACtC,QAAE,oBAAoB;AACtB,QAAE,oBAAoB;AACtB,QAAE,mBAAmB;AACrB,QAAE,mBAAmB;AAAA;AAAA;AAItB,yBAAuB,OAAe;AACzC,QAAI,QAAQ,SAAS,eAAe;AACpC,QAAI,YAAY,OAAO,KAAK;AAC5B,UAAM,OAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBZ,cAAU,SAAS,MAAM;AAAA;AAAA;AAAA,gBAGb;AAAA;AAAA;AAGZ,cAAU,SAAS,MAAM,gCAAO,aAAY;AAC5C,cAAU;AACV,cAAU;AAAA;AAGP,mCAAiC,QAAgB;AACpD,UAAM,aAAY,OAAO;AACzB,UAAM,QAAQ,SAAS,eAAe;AACtC,QAAI,cAAa,OAAO;AACpB,UAAI,UAAQ,SAAS;AACrB,iBAAU;AACV,cAAM,WAAW;AACjB,iBAAU,SAAS;AACnB,eAAS,YAAY;AACrB,iBAAU;AAEV,YAAM,cAAc;AAAA;AAAA;AAIrB,0BAAwB,QAAgB;AAC3C,UAAM,WAAW,EAAE,mBAAmB;AACtC,UAAM,mBAAmB,SAAS,MAAM,MAAM,OAAO,OAAK,EAAE,QAAQ;AACpE,UAAM,gBAAgB,OAAO,QAAQ,wBAAwB,iBAAiB;AAE9E,UAAM,QAAS,eAAe,WAAY;AACtC,YAAM,YAAY,EAAE,YAAY;AAChC,YAAM,oBAAoB,EAAE,qBAAqB,GAAG;AAEpD,2BAAqB;AAErB,QAAE,KAAK;AAAA,QACH,MAAM;AAAA,QACN,KAAK;AAAA,QACL,MAAM,KAAK,UAAU;AAAA,UACjB,OAAO;AAAA,UACP,oBAAoB;AAAA,UACpB;AAAA;AAAA,QAEJ,aAAa;AAAA,SACd,KAAK,SAAU,UAAU;AAExB,6BAAqB;AACrB,UAAE,kBAAkB;AACpB,UAAE,0BAA0B;AAE5B,UAAE,qBAAqB;AACvB,UAAE,2BAA2B;AAC7B,UAAE,cAAc;AAChB,cAAM,eAAe,2BAA2B,SAAS;AACzD,UAAE,mBAAmB,OAAO;AAAA,SAE7B,KAAK,SAAU,KAAK;AACnB,6BAAqB;AAErB,YAAI;AAEA,gBAAM,SAAS,KAAK,MAAM,IAAI;AAC9B,cAAI,OAAO,OAAO;AAGd,kBAAM,YAAY,OAAO,OAAO;AAChC;AAAA;AAAA,iBAEA,GAAN;AAAA;AAEF,cAAM,YAAY,IAAI;AAAA;AAAA;AAAA;AAKlC,sCAAoC,UAAsB;AACtD,QAAI,SAAS;AACb,aAAS,CAAC,QAAO,YAAY,SAAS,WAAW;AAC7C,gBAAU;AAAA,uBACM,SAAM,IAAI,aAAa;AAAA;AAAA,gDAEC,QAAQ;AAAA,gDACR,QAAQ;AAAA;AAAA;AAGpD,WAAO;AAAA;AAGX,mCAAiC;AAG7B,UAAM,gBAAgB,EAAE,mBAAmB;AAC3C,UAAM,cAAc,cAAc,QAAQ,OAAO;AACjD,MAAE,mBAAmB,IAAI;AAAA;AAGtB,0BAAwB,MAAc,UAAiB;AAE1D,QAAI,iBAAiB,SAAS,cAAc;AAC5C,aAAS,KAAK,YAAY;AAC1B,mBAAe,QAAQ;AACvB,mBAAe;AACf,aAAS,YAAY;AACrB,aAAS,KAAK,YAAY;AAC1B,UAAM,cAAc;AAAA;AAiBjB,iCAA+B,SAAuC;AAC3E,QAAI,QAAQ,iBAAiB;AAC3B,YAAM,cAAc,eAAe,iBAAiB;AAAA;AAEtD,QAAI,QAAQ,UAAU;AACpB;AAAA;AAAA;AAIJ,kCAAgC,QAAe;AAC7C,MAAE,gBAAgB,SAAS;AAE3B,QAAI,EAAE,yBAAyB,QAAO,GAAG,cAAc;AACrD,QAAE,mBAAmB,YAAY;AAAA,eACzB,EAAE,yBAAyB,QAAO,UAAU,IAAG;AACvD,QAAE,qBAAqB,YAAY;AAAA,WAC9B;AACL,UAAI,cAAuB,EAAE,yBAAyB,QAAO;AAC7D,UAAI,aAAa,IAAI,KAAK;AAC1B,UAAI,aAAa,IAAI;AACrB,UAAI,aAAa,YAAY;AAC3B,UAAE,iBAAiB,KAAK;AACxB,UAAE,iBAAiB,YAAY;AAAA,aAC1B;AACL,UAAE,qBAAqB,YAAY;AAAA;AAAA;AAAA;AASlC,wCAAsC,UAA+C;AAC1F,UAAM,gBAAgB,SAAS,eAAe;AAG9C,mDAAe,iBAAiB,SAAS,WAAW;AAChD,aAAO,WAAW,uBAAuB;AAAA;AAAA;AASxC,wCAAsC,SAA8C;AACzF,MAAE,UAAU,MAAM,WAAU;AACxB,QAAE,kBAAkB,GAAG,SAAS,MAAM;AACpC,eAAO,SAAS,OAAO,uBAAuB,QAAQ;AAAA;AAGxD,QAAE,6BAA6B,KAAK,WAAW;AAC7C,+BAAuB,EAAE,MAAM,KAAK;AAAA;AAGtC,QAAE,oBAAoB,GAAG,UAAU,WAAU;AACzC,YAAI,SAAQ,EAAE,MAAM;AACpB,+BAAuB;AAAA;AAM3B,eAAS,mBAAmB,MAAM,EAAC,WAAW,mBAAmB,SAAS;AAAA;AAAA;AAczE,uCAAqC,UAA8C;AACxF,MAAE,cAAc,OAAO,WAAY;AACjC,YAAM,YAAY,EAAE,MAAM,KAAK;AAC/B,UAAI,CAAE,KAA0B,SAAS;AACvC,UAAE,MAAM,YAAY,WAAW;AAC/B,UAAE,MAAM,YAAY,SAAS;AAAA,aACxB;AACL,UAAE,MAAM,YAAY,WAAW;AAC/B,UAAE,MAAM,YAAY,SAAS;AAAA;AAAA;AAIjC;AAIA,WAAO,iBAAkB,YAAY,SAAW,QAAQ;AACtD,UAAI,mBAAmB,OAAM,aACJ,OAAO,OAAO,eAAe,eAC1B,OAAO,YAAY,WAAW,SAAS;AACnE,UAAK,kBAAmB;AACtB,eAAO,SAAS,OAAO,OAAO,SAAS;AAAA;AAAA;AAAA;AAwB7C,MAAM,kBAAkB;AACxB,MAAM,kBAAkB;AAEjB,6BAA2B;AAChC,UAAM,eAAe,SAAS,eAAe;AAC7C,QAAI,iBAAiB,UAAa,iBAAiB;AAAM;AACzD,UAAM,YAAoC,KAAK,MAAM,aAAa,QAAQ,YAAY;AACtF,QAAI,MAAM;AACV,QAAI,MAAM;AACV,UAAM,WAAW,UAAU;AAC3B,eAAW,WAAW,UAAU;AAC9B,UAAI,QAAQ,kBAAkB,KAAK;AACjC,cAAM,QAAQ;AAAA,iBACL,QAAQ,kBAAkB,KAAK;AACxC,cAAM,QAAQ;AAAA;AAAA;AAGlB,QAAI,OAAO,GAAG;AACZ,YAAM;AAAA;AAER,QAAI,OAAoB,SAAS,IAAI,CAAC,YAAqB;AAC3D,YAAM,SAAW,SAAQ,kBAAkB,OAAQ,mBAAkB,mBAAoB,OAAM,OAAO;AACpG,aAAO;AAAA,QACL,GAAG,QAAQ;AAAA,QACX,GAAG,QAAQ;AAAA,QACX,GAAG;AAAA,QACH,iBAAiB,QAAQ;AAAA,QACzB,MAAM,QAAQ;AAAA;AAAA;AAGlB,QAAI,MACF,cACA;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,QACJ,UAAU;AAAA,UACR;AAAA,YACE,iBAAiB;AAAA,YACjB,aAAa;AAAA,YACb;AAAA;AAAA;AAAA;AAAA,MAIN,SAAS;AAAA,QACP,YAAY;AAAA,QACZ,qBAAqB;AAAA,QACrB,SAAS,CAAC,QAAO,iBAAiB;AAEhC,iBAAM,OAAO,OAAO,MAAM,SAAS,aAAa,KAAK,YAAY;AAAA;AAAA,QAEnE,aAAa;AAAA,UACX,MAAM;AAAA;AAAA,QAER,SAAS,CAAC,KAAI,cAAc,UAAU;AA53B9C;AA63BU,cAAI,aAAa,WAAW;AAAG;AAC/B,gBAAM,OAAkB,MAAM,KAAK,SAAS,GAAG,KAAK,aAAa,GAAG;AACpE,qBAAU,SAAS,cAAc;AAC/B,oBAAQ,IAAI,MAAM,KAAK,SAAS,GAAG,KAAK,MAAM;AAAA;AAEhD,0BAAS,eAAe,0BAAxB,oBAA+C,UAAU,OAAO;AAChE,eAAK,KACH,OACA,sCAAsC,KAAK,QAC3C;AAAA;AAAA,QAGJ,QAAQ;AAAA,UACN,GAAG;AAAA,YACD,OAAO;AAAA,cACL,SAAS;AAAA,cACT,MAAM,eAAe;AAAA,cACrB,MAAM;AAAA,gBACJ,MAAM;AAAA;AAAA;AAAA,YAGV,KAAK;AAAA;AAAA,UAEP,GAAG;AAAA,YACD,OAAO;AAAA,cACL,SAAS;AAAA,cACT,MAAM,eAAe;AAAA,cACrB,MAAM;AAAA,gBACJ,MAAM;AAAA;AAAA;AAAA,YAGV,cAAc;AAAA,YACd,cAAc;AAAA;AAAA;AAAA,QAGlB,SAAS;AAAA,UACP,OAAO;AAAA,YACL,SAAS;AAAA,YACT,MAAM,eAAe,eAAe,QAAQ,WAAW,UAAU,MAAM;AAAA,YACvE,MAAM;AAAA,cACJ,MAAM;AAAA;AAAA;AAAA,UAGV,QAAQ;AAAA,YACN,SAAS;AAAA;AAAA,UAEX,SAAS;AAAA,YACP,eAAe;AAAA,YACf,WAAW;AAAA,cACT,OAAO,CAAC,iBAAiB;AAEvB,sBAAM,SAAQ,aAAa,IAAI,CAAC,iBAAiB;AAC/C,wBAAM,OAAkB,aAAa,QAAQ,KAAK,aAAa;AAC/D,yBAAO,KAAK;AAAA;AAEd,uBAAO,OAAM,KAAK;AAAA;AAAA,cAEpB,OAAO,CAAC,gBAAgB;AACtB,sBAAM,OAAkB,YAAY,QAAQ,KAAK,YAAY;AAC7D,uBAAO;AAAA,kBACL,eAAe,wBAAwB,QAAQ,0BAA0B,KAAK,EAAE;AAAA,kBAChF,eAAe,oBAAoB,QAAQ,sBAAsB,KAAK,EAAE;AAAA,kBACxE,eAAe,mBAAmB,QAAQ,qBAAqB,KAAK,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAW/F,kCAAgC,WAAmB;AACxD,UAAM,OAAO,+BAA+B,cAAc,IAAI,SAAU,UAAU;AAChF,QAAE,KAAK;AAAA,QACH,MAAM;AAAA,QACN,KAAK;AAAA,QACL,MAAM,KAAK,UAAU;AAAA,UACnB,YAAY;AAAA,UACZ,YAAY;AAAA;AAAA,QAEd,aAAa;AAAA,QACb,UAAU;AAAA,SACX,KAAK,WAAW;AACf,iBAAS;AAAA,SACV,KAAK,SAAS,KAAK;AAClB,cAAM,YAAY,IAAI;AAAA;AAAA;AAAA;;;A8Ej9BvB,oBAAkB,KAAa,MAA0B;AAE9D,QAAI,OAAO,UAAU,QAAW;AAC9B,aAAO,mBAAmB,KAAK;AAAA;AAGjC,WAAO,IAAI,QAAQ,CAAC,IAAI,QAAO;AAC7B,QAAE,KAAK;AAAA,QACL,MAAM;AAAA,QACN;AAAA,SACI,OAAO,EAAE,MAAM,KAAK,UAAU,UAAU,KAHvC;AAAA,QAIL,aAAa;AAAA,QACb,UAAU;AAAA,UACT,KAAK,CAAC,aAAkB;AACzB,WAAG;AAAA,SACF,KAAK,CAAC,QAAQ;AACf,YAAG,UAAU;AAAA;AAAA;AAAA;AAYnB,oCAAkC,KAAa,MAA0B;AACvE,QAAI;AACJ,QAAI;AACF,iBAAW,MAAM,MAAM,KAAK;AAAA,QAC1B,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,WAAW;AAAA,SACP,OAAO,EAAE,MAAM,KAAK,UAAU,UAAU,KAJlB;AAAA,QAK1B,SAAS;AAAA,UACP,gBAAgB;AAAA,UAChB,UAAU;AAAA;AAAA;AAAA,aAGP,KAAP;AACA,YAAM,OAAO,OAAO,IAAI,MAAM,IAAI,UAAU;AAAA,QAC1C,eAAe;AAAA;AAAA;AAInB,QAAI,SAAS,UAAU,KAAK;AAK1B,UAAI,eAAe,MAAM,SAAS;AAElC,UAAI;AACF,cAAM,SAAS,KAAK,MAAM;AAC1B,YAAI,OAAO,OAAO;AAChB,yBAAe,OAAO;AAAA;AAAA,eAElB,GAAN;AAGA,YAAI,aAAa,SAAS,KAAK;AAC7B,yBAAe,uCAAuC,SAAS,UAAU,SAAS;AAAA;AAAA;AAItF,YAAM,OAAO,OAAO,IAAI,MAAM,eAAe;AAAA,QAC3C,cAAc;AAAA,QACd,QAAQ,SAAS;AAAA;AAAA;AAIrB,WAAO,SAAS;AAAA;AAGX,0BAAwB,KAAa,MAA2B;AACrE,WAAO,IAAI,QAAc,CAAC,IAAI,QAAO;AACnC,QAAE,KAAM;AAAA,QACN,MAAM;AAAA,QACN;AAAA,QACA,aAAa;AAAA,SACT,OAAO,EAAE,MAAM,KAAK,UAAU,UAAU,KAC3C,KAAM,MAAM;AACb;AAAA,SACC,KAAK,CAAC,QAAQ;AACf,YAAG,UAAU;AAAA;AAAA;AAAA;AAKnB,qBAAmB,KAAU;AAG3B,UAAM,SAAQ,IAAI,MAAM,IAAI;AAC5B,WAAO,OAAO,OAAO,QAAO;AAAA,MAC1B,cAAc,IAAI;AAAA,MAClB,QAAQ,IAAI;AAAA,MAEZ,eAAe,IAAI,aAAa;AAAA;AAAA;;;ACjGpC,MAAM,2BAA2B;AAa1B,kCAAgC;AACrC,MAAE,oBAAoB,GAAG,SAAS,MAAM;AACtC;AAAA;AAAA;AAKG,oCAAkC;AACvC,cAAU,0BAA0B;AAAA,MAClC,KAAK,OAAO,SAAS;AAAA;AAAA;AAIzB,2BAAyB,MAA2B;AAClD,QAAI,SAAqB;AACzB,MAAE,KAAK,EAAE,MAAM,kBAAkB,WAAW;AAC1C,UAAI,OAAO,KAAK,OAAO;AAErB,YAAI,EAAE,QAAQ,OAAe,KAAK,QAAQ;AACxC,iBAAO,KAAK,QAAQ,EAAE,MAAM,OAAO,KAAK,OAAO,MAAM,KAAK;AAAA,eACrD;AACL,iBAAO,KAAK,QAAQ,EAAE,MAAM,MAAM,OAAO,KAAK,QAAQ,MAAM,KAAK;AAAA;AAAA,aAE9D;AAEL,YAAK,KAAK,OAAQ;AAChB,iBAAO,KAAK,QAAQ,KAAK;AAAA;AAAA;AAAA;AAI/B,WAAO;AAAA;AAGT,oBAAkB,OAAe;AAC/B,YAAQ,MAAM;AACd,WAAO,SAAS,WAAW;AAAA;AAK7B,0BAA+B;AAC7B,UAAM,eAAe;AACrB,WAAO,SAAS;AAAA;AAKX,oBAAiB,cAAsB;AAC5C,UAAM,QAAS,cAAc,YAAY;AACvC,YAAM,eAAe;AACrB,eAAS;AAAA;AAAA;AAIN,0BAAwB,cAAsB;AACnD,UAAM,QAAS,cAAc,YAAY;AACvC,YAAM,eAAe;AACrB,eAAS;AAAA;AAAA;AAIb,6CAAkD;AAChD,kBAAc,YAAY;AACxB,YAAM,WAAW,MAAM,SAAS;AAChC,YAAM,cAAc,SAAS;AAC7B,iBAAY,WAAY;AAAE,iBAAS;AAAA,SAAmB;AAAA;AAAA;AAI1D,2CAAgD;AAC9C,kBAAc,YAAY;AACxB,YAAM,WAAW,MAAM,SAAS;AAChC,YAAM,cAAc,SAAS;AAC7B,QAAE,oBAAoB;AACtB,QAAE,qBAAqB;AAAA;AAAA;AAMpB,mCAAiC;AACtC,MAAE,eAAe,GAAG,UAAU,eAAgB,GAAG;AAC/C,QAAE;AACF,oBAAc,YAAY;AACxB,cAAM,OAAO,gBAAgB,EAAE;AAC/B,cAAM,eAAe,gBAAgB;AACrC,mBAAW,EAAC,cAAc,MAAM,cAAc,gBAAgB;AAAA;AAAA;AAIlE,MAAE,cAAc,GAAG,UAAU,SAAS,GAAG;AACvC,QAAE;AACF,oBAAc,YAAY;AACxB,cAAM,WAAW,MAAM,SAAS,eAAe,gBAAgB,EAAE;AACjE,YAAI,SAAS,eAAe;AAC1B,iBAAO,WAAW,EAAC,cAAc;AAAA;AAEnC,eAAO,WAAW,EAAC,SAAS,SAAS,YAAY,OAAO,WAAW,SAAS;AAAA;AAAA;AAIhF,MAAE,gBAAgB,GAAG,UAAU,SAAS,GAAG;AACzC,QAAE;AACF,oBAAc,YAAY;AACxB,cAAM,WAAW,MAAM,SAAS,YAAY,gBAAgB,EAAE;AAC9D,YAAI,SAAS,QAAQ;AACnB,gBAAM,cAAc,SAAS,SAAS;AACtC,qBAAY,WAAY;AAAC,qBAAS;AAAA,aAAY;AAAA,eACzC;AACL,gBAAM,cAAc,SAAS;AAAA;AAAA;AAAA;AAKnC,MAAE,wBAAwB,GAAG,UAAU,SAAS,GAAG;AACjD,QAAE;AACF,oBAAc,YAAY;AACxB,cAAM,WAAW,MAAM,SAAS,yBAAyB,gBAAgB,EAAE;AAC3E,cAAM,cAAc,SAAS;AAAA;AAAA;AAIjC,MAAE,gBAAgB,GAAG,UAAU,SAAS,GAAG;AACzC,QAAE;AACF,oBAAc,YAAY;AACxB,cAAM,WAAW,MAAM,SAAS,iBAAiB,gBAAgB,EAAE;AACnE,cAAM,cAAc,SAAS;AAC7B,UAAE,gBAAgB,QAAQ;AAAA;AAAA;AAI9B,MAAE,cAAc,GAAG,UAAU,SAAS,GAAG;AACvC,QAAE;AACF,oBAAc,YAAY;AACxB,cAAM,WAAW,MAAM,SAAS,eAAe,gBAAgB,EAAE;AACjE,cAAM,cAAc,SAAS,SAAS;AACtC,UAAE,cAAc,QAAQ;AACxB,mBAAW,WAAW;AACpB,mBAAU;AAAA,WACT;AAAA;AAAA;AAIP,MAAE,uBAAuB,GAAG,UAAU,SAAS,GAAG;AAChD,QAAE;AACF,oBAAc,YAAY;AACxB,cAAM,WAAW,MAAM,SAAS,wBAAwB,gBAAgB,EAAE;AAC1E,cAAM,cAAc,SAAS,SAAS;AACtC,mBAAW,WAAY;AACrB,mBAAS;AAAA,WACR;AAAA;AAAA;AAMP,MAAE,aAAa,GAAG,UAAU,WAAY;AACpC,YAAM,OAAO,EAAE,MAAM;AACrB,QAAE,qBAAqB,IAAI;AAC3B,UAAI,QAAQ,QAAQ,CAAE,EAAE,MAAM,OAAO,WAAW,QAAS;AACvD,UAAE,2BAA2B;AAAA,aACxB;AACL,UAAE,wBAAwB;AAC1B,UAAE,cAAc;AAChB,UAAE,MAAM,OAAO,WAAW;AAC1B,UAAE,2BAA2B;AAAA;AAAA;AAAA;AAQ9B,2BAAyB,UAAkB,OAAe;AAC/D,UAAM,OAAQ,oCAAoC,OAAO,eAAgB,gBAAgB;AACvF,UAAI,mBAAmB;AAAO;AAC9B,UAAI;AACF,cAAM,SAAS,0BAA0B;AAAA,UACvC;AAAA,UACA,OAAO;AAAA;AAET,iBAAS;AAAA,eACH,GAAN;AACA,cAAM,YAAY,CAAC,0CAA0C,UAAU,KAAM;AAAA;AAAA;AAAA;AAK5E,0BAAwB,UAAkB;AAC/C,kBAAc,YAAY;AACxB,YAAM,WAAW,MAAM,SAAS,sBAAsB;AAAA,QACpD;AAAA;AAEF,cAAQ,IAAI;AACZ,QAAE,eAAe;AACjB,QAAE,kBAAkB,KAAK;AACzB,QAAE,eAAe,KAAK,WAAW;AACjC,UAAI,SAAS,MAAM;AACjB,gBAAQ,IAAI,SAAS;AACrB,YAAI,OAAO,QAAQ,qBAAqB,SAAS,UAAU,IAAI;AAC7D,YAAE,wBAAwB,KAAK,WAAW;AAAA;AAE5C,YAAI,OAAO,QAAQ,sBAAsB,SAAS,UAAU,IAAI;AAC9D,YAAE,4BAA4B,KAAK,WAAW;AAAA;AAEhD,YAAI,OAAO,QAAQ,eAAe,SAAS,UAAU,IAAI;AACvD,YAAE,0BAA0B,KAAK,WAAW;AAAA;AAAA;AAGhD,QAAE,eAAe;AAAA;AAAA;AAId,8BAA4B;AACjC,kBAAc,YAAY;AACxB,YAAM,WAAW,EAAE,kBAAkB;AACrC,YAAM,YAAY,EAAE,wBAAwB,KAAK;AACjD,YAAM,gBAAgB,EAAE,4BAA4B,KAAK;AACzD,YAAM,cAAc,EAAE,0BAA0B,KAAK;AAErD,YAAM,SAAS,yBAAyB;AAAA,QACtC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAGF,QAAE,eAAe;AACjB,QAAE,eAAe;AACjB,YAAM,cAAc;AAAA;AAAA;AAWxB,4BAA0B,WAA0B;AAlQpD;AAmQE,UAAM,EAAE,QAAQ,qBAAc,8BAAd,aAA2C;AAC3D,QAAI,OAAO,CAAC,UAAU,eAAe;AACnC,aAAO,WAAW;AAClB;AAAA;AAGF,UAAM,kBAAkB,aAAa,QAAQ;AAC7C,UAAM,YAAY,kBAAkB,KAAK,MAAM,mBAAmB;AAClE,QAAI,WAAW;AACb,mBAAa,WAAW;AACxB,aAAO,WAAW,UAAU,IAAI,UAAU;AAAA;AAI5C,QAAI,UAAU,iBAAiB,UAAU,eAAe;AACtD,aAAO,SAAS;AAAA,eAER,UAAU,iBAAiB,CAAC,UAAU,eAAe;AAC7D,aAAO,SAAS;AAAA;AAGlB,QAAI,UAAU,UAAU;AACtB,aAAO,SAAS;AAAA;AAIlB,QAAI,UAAU,YAAY;AACxB,aAAO,SAAS;AAAA;AAGlB,aAAS;AAAA;;;AC9RX,MAAM,wBAAwB;AAK9B,MAAM,oBAAoB;AAK1B,MAAM,qBAAqB;AAKpB,+BAAuB;AAAA,IAM5B,cAAc;AALN,wBAAa;AACb,sBAAW;AACX,2BAAgB;AAItB,WAAK;AAAA;AAAA,IAMA,cAAc;AACnB,WAAK,WAAW;AAAA;AAAA,IAGX,WAAW;AAChB,WAAK,cAAc;AACnB,UAAI,KAAK,cAAc,uBAAuB;AAC5C,aAAK,QAAQ;AAAA;AAAA;AAAA,IAIV,iBAAiB,OAAe;AACrC,WAAK,gBAAgB;AAAA;AAAA,IAGhB,YAAY;AACjB,WAAK;AACL,YAAM,YAAY,KAAK;AAEvB,UAAI,KAAK,OAAO;AACd,sBAAc,KAAK;AAAA;AAErB,WAAK,QAAQ,YAAY,MAAM;AAC7B,YAAI,KAAK,iBAAiB,mBAAmB;AAC3C,eAAK,QAAQ;AAAA;AAEf,YAAI,KAAK,QAAQ,aAAa,qBAAqB,KAAQ;AACzD,eAAK,QAAQ;AAAA;AAAA,SAEd;AAAA;AAAA,IAGG,QAAQ;AACd,WAAK,aAAa;AAClB,WAAK,gBAAgB;AACrB,WAAK,QAAQ;AAAA;AAAA,IAGP,QAAQ,MAAe;AAC7B,UAAI,KAAK,UAAU;AAEjB;AAAA;AAEF,QAAE,0BAA0B,OAAO;AAAA;AAAA;;;ACzEhC,wBAAsB;AACzB,QAAI,SAAS,KAAK,QAAQ,aAAa;AACnC,aAAO,SAAS,SAAS,KAAK,QAAQ;AAAA;AAE1C,WAAO;AAAA;;;ACDX,MAAM,eAAe;AACrB,MAAM,mBAAmB;AAAA,IAErB;AAAA,IACA;AAAA,IAGA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAGA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAGA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAGA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAIA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAGA;AAAA,IACA;AAAA;AAEJ,MAAM,eAAe;AACrB,MAAM,cAAc;AACpB,MAAM,eAAe;AAGrB,MAAI,cAAc;AAClB,MAAI,yBAAyB;AAGtB,gCAA8B;AACjC,aAAS,iBAAiB,oBAAoB;AAAA;AAIlD,4BAA0B;AAEtB,aAAS,iBAAiB,SAAS;AACnC,aAAS,iBAAiB,UAAU;AAIpC,uBAAmB;AACnB,uBAAmB,aAAa,KAAK;AAErC,QAAI,cAAc;AACd;AACA;AAAA;AAAA;AAIR,oCAAkC;AAC9B,UAAM,aAAa,aAAa,QAAQ;AACxC,QAAI,YAAY;AACZ,UAAI;AACA,cAAM,aAAa,KAAK,MAAM;AAC9B,sBAAc,WAAW;AAAA,eAEpB,QAAP;AACE,gBAAQ,MAAM,yCAAyC;AAAA;AAAA;AAAA;AAMnE,iCAA+B;AAC7B,UAAM,UAAU,YAAY,mBAAmB;AAC/C,iBAAa,QAAQ,cAAc,KAAK,UAAU,EAAE,IAAI,SAAS,WAAW,KAAK;AAAA;AAInF,4BAA0B,QAAc;AAEpC,UAAM,cAAc,KAAK;AACzB,UAAM,iBAAiB,mBAAmB;AAC1C,UAAM,mBAAmB,cAAc;AACvC,QAAI,oBAAoB,KAAK;AACzB;AAAA;AAEJ,UAAM,SAAS,OAAM;AAErB,QAAI,OAAO,QAAQ,aAAa,OAAO,QAAQ,QAAQ,OAAO,QAAQ,YAAY,OAAO,QAAQ,aAAa,OAAO,QAAQ,QAAQ;AACjI,UAAI,kBAAkB,OAAO;AAE7B,UAAI,CAAC,mBAAmB,OAAO,aAAa,SAAS;AACjD,0BAAkB,OAAO,aAAa,WAAW;AAAA;AAGrD,UAAI,iBAAiB,SAAS,kBAAkB;AAC5C,cAAM,cAAc,mBAAmB;AAEvC,cAAM,OAAO,OAAO,SAAS;AAE7B,cAAM,QAAS,OAA4B,SAAS;AAEpD,oBAAY,KAAK,EAAC,MAAM,aAAa,IAAI,iBAAiB,MAAM,OAAO;AAIvE,2BAAmB;AAAA;AAAA;AAAA;AAM/B,8BAA4B,aAAkB;AAC1C,uBAAmB,aAAa,KAAK;AACrC,uBAAmB,cAAc;AACjC,kBAAc;AAAA;AAIlB,8BAA4B,MAAc,QAAa,QAAW;AAC9D,UAAM,gBAAgB,OAAO,aAAa,QAAQ;AAClD,QAAI,CAAC,iBAAiB,UAAU,QAAW;AACvC,cAAQ,SAAS;AACjB,aAAO,aAAa,QAAQ,MAAM,KAAK,UAAU;AAAA,WAC9C;AACH,UAAI,SAAS,cAAc;AACvB,gBAAQ,KAAK,MAAM;AAAA,iBACZ,SAAS,aAAa;AAC7B,gBAAQ,SAAS;AAAA;AAAA;AAGzB,WAAO;AAAA;AAIX,qCAAmC;AAC/B,QAAI,aAAa;AAMb;AAAA;AAEJ,UAAM,cAAc,KAAK;AACzB,UAAM,iBAAiB,mBAAmB;AAC1C,UAAM,mBAAmB,cAAc;AACvC,QAAI,oBAAoB,cAAc;AAClC;AAAA;AAAA;AAKR,uCAAqC;AACjC,QAAI;AACA,UAAI,OAAO,mBAAmB;AAC9B,UAAI,KAAK,QAAQ;AAEb,iCAAyB,KAAK;AAC9B,cAAM,SAAS,aAAa;AAE5B,eAAO,mBAAmB;AAC1B,aAAK,OAAO,GAAG;AACf,2BAAmB;AACnB,sBAAc;AAAA;AAAA,aAEb,QAAP;AACE,cAAQ,MAAM;AAAA;AAAA;AAOtB,WAAS,iBAAiB,oBAAoB,MAAM;AAChD,QAAI,cAAc;AACd;AACA,UAAI,CAAC,SAAS,QAAQ;AAClB;AAAA,aACG;AACH;AAAA;AAAA;AAAA;;;ACvML,wBAAgB;AAAA,IASrB,YAAY,UAAoB,IAAI;AAR5B,yBAAsB;AAGtB,uBAAY,IAAI,aAAwB;AAAA,QAC9C,cAAc;AAAA,QACd,aAAa;AAAA;AAIb,WAAK,gBAAgB,QAAQ;AAE7B,QAAE,eAAe,GAAG,SAAS,CAAC,MAAM;AAClC,cAAM,MAAM,EAAE,EAAE;AAChB,cAAM,UAAU,IAAI,KAAK;AACzB,cAAM,SAAQ,IAAI,KAAK;AACvB,UAAE;AACF,YAAI,KAAK,iBAAiB,OAAO;AAC/B,eAAK,YAAY,SAAS,OAAO;AAAA;AAEjC,mBAAS,OAAO,UAAU,UAAS;AAAA;AAGvC,QAAE,mBAAmB,GAAG,SAAS,MAAM;AACrC,aAAK,qBAAqB;AAAA;AAG5B,QAAE,uBAAuB,GAAG,SAAS,MAAM;AACzC,aAAK,qBAAqB;AAAA;AAO5B,UAAI,aAAa,QAAQ;AACzB,UAAI,CAAC,cAAc,OAAO,SAAS,MAAM;AACvC,cAAM,eAAe,OAAO,SAAS,KAAK,QAAQ,MAAM;AACxD,qBAAa;AAAA;AAEf,UAAI,CAAC,YAAY;AACf,qBAAa,EAAE,cAAc,KAAK;AAAA;AAGpC,UAAI,cAAc,KAAK,eAAe;AACpC,aAAK,YAAY,YAAY,KAAK;AAAA;AAAA;AAAA,IAI/B,YAAY,SAAiB,QAAe;AACjD,YAAM,WAAW,MAAM;AArF3B;AAsFM,cAAM,SAAS,KAAK;AACpB,aAAK,cAAc;AAGnB,cAAM,eAAe,YAAY,UAAU,UAAU;AACrD,YAAI,OAAO,SAAS;AAAE,iBAAO,QAAQ,aAAa,MAAM,IAAI,MAAM;AAAA;AAGlE,cAAM,MAAM,EAAE,eAAe,yBAAyB;AACtD,cAAM,UAAU,IAAI,SAAS;AAG7B,cAAM,SAAS,EAAE,uBAAuB,UAAU;AAClD,cAAM,aAAa,OAAO,SAAS;AAEnC,gBAAQ,YAAY;AACpB,gBAAQ,SAAS;AACjB,YAAI,YAAY;AAChB,YAAI,SAAS;AACb,YAAI,YAAY,SAAS,eAAe;AACxC,YAAI,wBAAwB,SAAS,eAAe;AACpD,kBAAU,cAAc,IAAI,OAAO;AACnC,cAAM,OAAO,IAAI,KAAK;AACtB,uEAAuB,UAAU,OAAO,oBAAoB,oBAAoB,mBAAmB;AACnG,YAAI,QAAQ,WAAW;AACrB,yEAAuB,UAAU,IAAI;AAAA,mBAC7B,QAAQ,WAAW;AAC3B,yEAAuB,UAAU,IAAI;AAAA,mBAC5B,QAAQ,WAAW;AAC5B,yEAAuB,UAAU,IAAI;AAAA,eAChC;AACL,yEAAuB,UAAU,IAAI;AAAA;AAKvC,cAAM,WAA+B,SAAS,cAAc,gBAAgB,IAAI,KAAK,wBAAwB,OAAO,IAAI,KAAK,eAAe;AAC5I,YAAI,UAAU;AACZ,UAAC,SAAS,cAAc,2BAA2C,YAAY,SAAS,UAAU;AAAA;AAEpG,uBAAS,eAAe,kBAAxB,mBAAuC,UAAU,OAAO,UAAU,IAAI,KAAK,gBAAgB,OAAQ,aAAK,kBAAL,aAAsB,OAAO;AAChI,wBAAS,eAAe,0BAAxB,oBAA+C,UAAU,OAAO,UAAU,IAAI,KAAK,gBAAgB;AAEnG,cAAM,OAA2B,SAAS,cAAc,gBAAgB,IAAI,KAAK,wBAAwB,OAAO,IAAI,KAAK,eAAe;AACxI,YAAI,MAAM;AACR,UAAC,SAAS,cAAc,uBAAuC,YAAY,KAAK,UAAU;AAAA;AAE5F,wBAAS,eAAe,sBAAxB,oBAA2C,UAAU,OAAO,UAAU,SAAS;AAC/E,uBAAS,eAAe,kBAAxB,mBAAuC,UAAU,OAAO,UAAU,SAAS,QAAS,aAAK,kBAAL,aAAsB,MAAM,MAAM,IAAI,KAAK,WAAW;AAE1I,mBAAW,SAAS;AACpB,eAAO,YAAY;AAEnB,aAAK,UAAU,KAAK,eAAe,EAAE,QAAQ,QAAQ;AAAA;AAIvD,UAAI,KAAK,eAAe,IAAI;AAC1B,cAAM,SAAQ,KAAK,UAAU,KAAK,gBAAgB,EAAE,QAAQ,KAAK,aAAa,QAAQ;AACtF,eAAM,KAAK;AAAA,aACN;AACL;AAAA;AAAA;AAAA,IAII,qBAAqB,QAAiB;AAvJhD;AAwJI,YAAM,WAAW,SAAS,cAAc;AACxC,YAAM,IAAI,SAAS,sCAAU,aAAa,gBAAe;AACzD,YAAM,OAAO,SAAS,cAAc,gBAAgB,IAAK,UAAS,IAAI,qBAAsB,SAAS,QAAQ;AAE7G,WAAK,YAAY,KAAK,QAAQ,QAAS,OAAO,KAAK,QAAQ;AAC3D,sBAAS,eAAe,cAAxB,oBAAmC,eAAe,EAAC,UAAU;AAAA;AAAA,QAGpD,aAAa;AACtB,aAAO,KAAK;AAAA;AAAA,IAGP,GAAG,KAA8C,UAAkD;AACxG,YAAM,MAAM,KAAK,UAAU,GAAG,KAAK;AAEnC,UAAI,QAAQ,eAAe;AACzB,aAAK,UAAU,KAAK,eAAe,EAAE,QAAQ,IAAI,QAAQ,KAAK;AAAA;AAEhE,aAAO;AAAA;AAAA;AAIJ,qBAAmB;AACxB,UAAM,WAAW,SAAS,cAAc;AACxC,QAAI,CAAC;AAAU,aAAO;AACtB,UAAM,IAAI,SAAS,SAAS,aAAa,eAAe;AACxD,UAAM,OAAO,SAAS,cAAc,gBAAgB,IAAE;AACtD,WAAO;AAAA;AAGF,2BAAyB;AAtLhC;AAuLE,UAAM,kBAAkB,SAAS,cAAc;AAC/C,QAAI,iBAAiB;AACnB,aAAO,6BAAgB,gBAAhB,oBAA6B,WAA7B,YAAuC;AAAA;AAEhD,WAAO;AAAA;;;A9dhKF,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAM,sBAAsB,IAAI;AACvC,MAAM,iBAA6C,IAAI;AACvD,MAAI;AAKJ,MAAI,gBAAgB;AAIpB,MAAI,eAAe;AAInB,MAAI,gBAA2C;AACxC,MAAI,WAAmB;AACvB,MAAI,eAAsB;AAC1B,MAAI,qBAA6B;AACxC,MAAI,gBAAwB;AAC5B,MAAI;AACJ,MAAI;AACJ,MAAI;AAIJ,MAAM,QAAQ,IAAS,UAAe,OAAO;AAE7C,MAAM,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0EjB,yBAAuB,SAA+B;AArI7D;AAsIE,eAAW,QAAQ;AACnB,yBAAqB,QAAQ;AAC7B,oBAAgB,eAAQ,eAAR,aAAsB;AAEtC,oBAAgB,kBAAkB,MAAM,KAAK;AAC7C;AAGA,MAAE,UAAU,GAAG,SAAS,SAAS,QAAM;AAErC,UAAI,CAAC,EAAE,OAAM,QAAQ,QAAQ,aAAa,QAAQ;AAChD,UAAE,kBAAkB,QAAQ;AAC5B,UAAE,oBAAoB,QAAQ;AAC9B;AAAA;AAGF,YAAM,eAAe,EAAE;AACvB,iBAAW,OAAM,cAAc;AAE7B,cAAM,KAAI,EAAE,KAAI,QAAQ,aAAa;AAErC,YAAI,CAAC,EAAE,OAAM,QAAQ,QAAQ,IAAG,QAAQ;AACtC,YAAE,KAAI,QAAQ;AAAA;AAAA;AAAA;AAKpB,MAAE,oBAAoB,GAAG,SAAS,WAAW;AAC3C,UAAI,eAAgB,EAAE,oBAAoB,MAAiB;AAC3D,QAAE,aAAa,KAAK,WAAU;AAC5B,YAAI,eAAe,EAAE,MAAM,OAAO;AAClC,YAAI,cAAc,EAAE,MAAM,KAAK;AAC/B,YAAI,gBAAgB,UAAc,cAAa,SAAS,iBAAiB,YAAY,cAAc,SAAS,gBAAgB;AACxH,YAAE,MAAM;AAAA,eACH;AACL,YAAE,MAAM;AACR,YAAE,qBAAqB;AAAA;AAAA;AAAA;AAM/B,MAAE,6BAA6B,GAAG,UAAU,CAAC,OAAO;AAClD,QAAE,GAAG,QAAQ,QAAQ,QAAQ,QAAQ;AAAA;AAGvC;AAEA;AAAA;AAkBK,8BAA4B,SAAoC;AAxMvE;AAyME,wBAAoB,CAAC,CAAC,QAAQ;AAC9B,QAAI,mBAAmB;AACrB,0BAAoB;AAAA;AAGtB,oBAAgB,OAAO,YAAa,gBAAQ,eAAR,aAAsB,IAAI,IAAI,OAAK,CAAC,EAAE,YAAY;AAGtF,QAAI,YAAY,QAAQ,OAAO;AAC7B,YAAM,IAAI,MAAM,8BAA8B,KAAK,UAAU,+CAA+C,KAAK,UAAU,QAAQ;AAAA;AAErI,mBAAc,QAAQ;AAGtB,UAAM,WAAU,EAAE;AAClB,QAAI,SAAQ,QAAQ;AAClB,YAAM,MAAM,EAAE,QAAQ,KAAK;AAC3B,wBAAkB,eAAc,2BAA2B,UAAS,WAAW,MAAM;AACrF,6BAAuB;AACvB,yBAAmB;AAAA,QACjB,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,UAAU;AAAA,QACV,iBAAiB;AAAA;AAAA;AAIrB,UAAM,SAAS,OAAO,SAAS,KAAK,UAAU;AAE9C,UAAM,cAAc,CAAC,GAAG,OAAO,KAAK,gBAAgB,WAAW,QAAQ,SAAS,UAAU,SAAS;AACnG,QAAI;AACJ,UAAM,cAAc,QAAQ,QAAQ;AACpC,QAAI,aAAa;AACf,aAAO,IAAI,UAAU;AAAA,QAGnB,YAAY,oCAAe,QAAQ;AAAA,QACnC,OAAO,QAAQ;AAAA;AAAA,WAEZ;AACL,aAAO,IAAI,KAAK;AAAA,QAGd,YAAY,oCAAe,QAAQ;AAAA;AAAA;AAIvC,SAAK,GAAG,gBAAgB,MAAM;AAE5B;AAAA;AAGF,SAAK,GAAG,eAAe,CAAC,OAA+C;AACrE,mBAAa,GAAG;AAChB,YAAM,YAAY,cAAc;AAEhC,UAAI,CAAC,QAAQ,mCAAmC;AAE9C,cAAM,gBAAgB,UAAU;AAEhC,YAAI,iBAAiB,WAAW;AAC9B,oBAAU,kBAAkB,cAAc;AAC1C,oBAAU,YAAY,cAAc;AACpC,oBAAU,YAAY;AAAA;AAAA;AAG1B,gCAA0B,aAAa,QAAQ;AAC/C;AACA,0BAAoB;AAAA;AAGtB,qBAAiB,QAAQ,SAAS;AAElC,QAAI,QAAQ,gBAAgB;AAC1B;AAAA;AAIF,MAAE,yBAAyB,GAAG,SAAS,MAAM,EAAE,gBAAgB;AAC/D,MAAE,mBAAmB,GAAG,SAAS,MAAM,EAAE,kBAAkB;AAC3D;AACA;AAEA,QAAI,QAAQ,mCAAmC;AAC7C;AAAA;AAIF,WAAO,iBAAiB,gBAAgB,MAAM,mBAAmB,EAAE,SAAS;AAG5E,MAAE,iBAAiB,GAAG,QAAQ,MAAM;AAGpC,mBAAS,eAAe,SAAS,QAAQ,oBAAzC,mBAA0D,eAAe,EAAC,OAAO;AAAA;AAGnF,kCAAgC,QAAoB;AAElD,WAAO,GAAG,UAAU,MAAM;AACxB,0BAAoB,iBAAiB,gBAAgB,SAAS,MAAM,MAAM;AAAA;AAI5E,WAAO,GAAG,UAAU,WAAW;AAC7B,UAAI,eAAe;AACjB;AACA,wBAAgB;AAAA;AAElB,UAAI,EAAE,cAAc,GAAG;AAAa,UAAE,iBAAiB;AACvD,sBAAgB;AAChB,QAAE,UAAU,IAAI,oBAAoB;AACpC,sBAAgB;AAChB,sBAAgB;AAEhB;AAAA;AAGF,WAAO,GAAG,SAAS,CAAC,WAAsB;AACxC,aAAO,kBAAkB;AAAA;AAI3B,QAAI;AAEJ,WAAO,iBAAkB,WAAW,SAAU,IAAI;AAChD,YAAM,UAAU,GAAG;AACnB,UAAI,YAAY,IAAI;AAClB,qBAAa;AACb;AAAA;AAEF,UAAI,YAAY,MAAM,YAAY;AAChC,YAAI,CAAC,YAAY,CAAC,cAAa;AAC7B,gBAAM,IAAI,MAAM;AAAA;AAElB,cAAO,UAAU,cAAa,OAAO,IAAI,OAAM,WAAY;AACzD,YAAG,WAAW;AAAA;AAAA;AAIlB,UAAI,YAAY,MAAM,SAAS,kBAAkB,SAAS,eAAgB,WAAW;AACnF,wBAAgB;AAChB,wBAAgB;AAAA;AAAA;AAGpB,WAAO,iBAAkB,SAAS,SAAU,IAAI;AAC9C;AACA,YAAM,UAAU,GAAG;AACnB,UAAI,YAAY,IAAI;AAClB,qBAAa;AACb;AAAA;AAAA;AAAA;AAYC,qCAAmC,SAA2C;AACnF,eAAW,QAAQ;AACnB,mBAAc,QAAQ;AAGtB,UAAM,MAAM,EAAE,QAAQ,KAAK;AAC3B,sBAAkB,eAAc,2BAA2B,EAAE,YAAY,WAAW,MAAM;AAC1F,2BAAuB;AACvB,oBAAgB,WAAW,QAAQ;AACnC,uBAAmB;AAAA,MACjB,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,MACV,iBAAiB;AAAA;AAAA;AAId,2CAAyC,OAAgB,eAAyB;AACvF,UAAM,MAAM,EAAE,QAAQ,KAAK;AAC3B;AAGA,eAAW,aAAa,EAAE,OAAO,KAAK,sBAAsB,OAAO;AACjE,iBAAW,WAAW,EAAE,WAAW,KAAK,OAAO,OAAO;AACpD,UAAE,SACC,SAAS,8CAET,KAAK,aAAa;AAEnB,YAAI,eAAe;AACjB,iCAAuB,SAAS,WAAW;AAAA,eACtC;AAGP,kCAAwB,SAAS,MAAM;AACrC,mCAAuB,SAAS,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAOrD,kCAAgC,SAAyB,WAAwB,KAAc;AArZ/F;AAsZE,UAAM,WAAW,QAAQ,cAAc;AACvC,QAAI;AAEJ,QAAI,UAAU;AACZ,eAAS,SAAS;AAClB,aAAO,SAAS;AAAA,WACX;AACL,aAAO,QAAQ,eAAe;AAC9B,cAAQ,cAAc;AAAA;AAIxB,UAAM,gBAAgB,eAAc,yBAAyB,SAAS;AAEtE,kBAAc,WAAW;AACzB,kBAAc,WAAW,cAAc,SAAS;AAGhD,QAAI,EAAE,SAAS,SAAS,uBAAuB,EAAE,WAAW,SAAS,qBAAqB;AACxF,YAAM,YAAY,iBAAU,QAAQ,wBAAlB,oBAAuC,aAAa;AACtE,YAAM,kBAAkB,EAAE,SAAS,SAAS,mDAAmD,SAAS;AACxG,UAAI,SAAS;AACb,UAAI,QAAQ,OAAO;AACjB,iBAAS;AAAA;AAEX,QAAE,YAAY,IAAI,EAAE,YAAY,gBAAgB,SAAS,cAAc,KAAK,WAAW,sBAAsB,aAAa,KAAK,QAAQ,SAAS,iBAAiB,MAAM,WAAW;AAChL,YAAI,CAAC,oDAAiB,aAAY;AAChC,0BAAgB,WAAW,cAAc,WAAW;AAAA;AAEtD,oBAAY,gCAAwC,EAAE,SAAS,KAAK;AACpE;AACA;AAAA;AAAA;AASJ,UAAM,WAAW,QAAE,SAAS,KAAK,aAAhB,YAA4B,EAAE,SAAS,QAAQ,gBAAgB,KAAK;AACrF,UAAM,SAAS,SAAE,SAAS,KAAK,YAAhB,aAA2B,EAAE,SAAS,QAAQ,iBAAiB,KAAK;AACnF,QAAI,UAAU;AACZ,YAAM,SAAQ,SAAS,UAAU;AACjC,oBAAc,uBAAuB,QAAO,0BAAU;AAAA;AAAA;AAInD,0BAAwB,QAAe;AAC5C,WAAO,iBAAiB;AAAA;AAGnB,oBAAkB;AAEvB,OAAG,YAAY;AACf;AACA,MAAE,WAAW;AACb,MAAE,UAAU;AACZ,MAAE,cAAc;AAChB,aAAS,YAAY;AACrB,MAAE,qBAAqB;AACvB,MAAE,gBAAgB;AAElB,QAAI,cAAc;AAChB,qBAAe;AAAA;AAGjB,oBAAgB;AAAA;AAGlB,yBAAuB;AACrB,UAAM,YAAY,EAAE;AAEpB,UAAM,iBAAiB,UAAU,KAAK;AACtC,UAAM,YAAY,UAAU,KAAK;AACjC,cAAU;AAEV,cAAU,SAAS;AACnB,cAAU,OAAO;AACjB,cAAU,OAAO;AACjB,UAAM;AACN,YAAQ;AAGR,UAAM,aAAa,EAAE;AACrB,eAAW;AACX,eAAW;AAAA;AAGb,uBAA4B,QAAe,MAAc,KAAc,iBAAyB,UAAwC,KAAgB;AAGtJ,UAAM,gBAAgB;AAEtB,QAAI,eAAe;AAEjB,UAAI,iBAAiB;AACnB,eAAO,MAAM,YAAY;AAAA;AAE3B;AAAA;AAGF,wBAAoB;AAGpB,OAAG,YAAY;AACf,MAAE,UAAU;AACZ,MAAE,WAAW;AACb,MAAE,yBAAyB;AAE3B,QAAI,aAAa,YAAY;AAC3B;AAAA;AAGF,QAAI;AACF,UAAI,SAAS;AACb,UAAI,OAAO;AACX,UAAI,EAAE,sBAAsB,GAAG,aAAa;AAC1C,eAAO;AAEP,YAAI,CAAC,MAAM;AACT,iBAAO;AACP;AACA;AAAA,eACK;AAEL,cAAI,EAAE,uBAAuB,KAAK,YAAY;AAC5C,cAAE,uBAAuB;AAAA;AAAA;AAAA,aAGxB;AACL,eAAO;AACP,YAAI,KAAK,UAAU,GAAG;AACpB,iBAAO;AACP;AACA;AAAA;AAAA;AAIJ,aAAO;AACP;AAGA,YAAM,YAAY,cAAc;AAChC,UAAI;AAEJ,UAAI,aAAa,SAAS,aAAa,SAAS;AAC9C,YAAI;AACF;AACA,cAAI,OAAO;AAAA,YACT,OAAO,GAAG;AAAA,YACV;AAAA,YACA;AAAA,YACA,aAAa;AAAA,YACb,UAAU,aAAa;AAAA,YACvB,UAAU,EAAE,gBAAgB,SAAS;AAAA,YACrC,YAAa,CAAC,CAAC,EAAE,mBAAmB;AAAA,YACpC,gBAAgB;AAAA,YAChB,YAAY,YAAY,UAAU,aAAa;AAAA,YAC/C;AAAA,YAGA,YAAY,iBAAiB,uCAAW,aAAa,UAAU,UAAU,KAAK;AAAA,YAC9E,WAAW;AAAA;AAGb,cAAI,WAAW,MAAM,SAAS,UAAU;AACxC,yBAAe;AACf,kBAAQ,IAAI,YAAY;AACxB,cAAI,SAAS,WAAW,EAAE,WAAW,GAAG,aAAa;AAEnD,kBAAM,YAAY,SAAS;AAAA;AAI7B,cAAI,aAAa,SAAS,WAAW;AACnC,sBAAU,YAAY,SAAS;AAC/B,sBAAU,kBAAkB;AAAA;AAG9B,cAAI,SAAS,OAAO;AAClB,kBAAM,KAAK,IAAI,SAAS;AACxB,gBAAI,SAAS,YAAY,SAAS,SAAS,MAAM,KAAK;AAGpD,8BAAgB,eAAe,SAAS,SAAS,IAAI,SAAS,SAAS;AAAA;AAEzE,cAAE,WAAW;AACb,cAAE,UAAU;AACZ;AAAA;AAAA,iBAEK,GAAP;AACA,kBAAQ,MAAM;AACd,cAAI,EAAE,eAAe;AACnB,kBAAM,KAAK,eAAe,qBAAqB,eAAe;AAAA,iBACzD;AACL,kBAAM,KAAK,eAAe,gBAAgB,eAAe;AAAA;AAAA;AAAA,aAGxD;AACL,uBAAe,kBAAkB;AAAA;AAGnC,uBAAiB,aAAa,MAAM,aAAa,YAAY,aAAa,YAAY,aAAa,aAAa,aAAa,WAAW,aAAa,WAAW,aAAa,WAAW,aAAa,SAAS,aAAa,WAAW,aAAa,aAAa,KAAI,UAAU,MAAM,SAAS,KAAU;AAErS,YAAI,OAAO,MAAM;AACf,gBAAM,KAAK,eAAe,kBAAkB,IAAI;AAChD,4BAAkB,QAAO,MAAM,IAAI;AAAA;AAAA;AAAA,aAKhC,GAAP;AACA,YAAM,YAAY,EAAE;AAAA;AAAA;AAIxB,oCAAyC;AACvC,UAAM,WAAW,MAAM,SAAS,2BAA2B;AAAA,MACzD,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA;AAGR,QAAI,SAAS,UAAU;AAErB,aAAO,SAAS,QAAQ,6BAA6B,SAAS;AAAA;AAAA;AAIlE,wBAAqB;AACjB,UAAM,gBAAgB,EAAE;AACxB,kBAAc;AAAA;AAMX,0BAAwB,aAAqB;AAClD,QAAI,mDAAiB,YAAY;AAC/B;AAAA;AAEF,UAAM,QAAQ,gBAAgB,SAAS,MAAM;AAC7C,QAAI,MAAM,MAAM,SAAO,OAAO,IAAI;AAChC,sBAAgB,YAAY,OAAO;AAAA,WAC9B;AACL,sBAAgB,YAAY;AAAA;AAAA;AAIzB,2BAAyB,WAAmB;AACjD,WAAO,OAAO,SAAS,SAAS,WAAW,YAAY;AAAA;AAGzD,gCAA8B;AAC5B,UAAM,kBAAkB,EAAE;AAC1B,UAAM,YAAY,gBAAgB;AAClC,UAAM,QAAQ;AACd,UAAM,QAAQ,UAAU,MAAM;AAE9B,QAAI,SAAS,MAAM,SAAS,GAAG;AAC7B,YAAM,eAAe,SAAS,MAAM;AACpC,YAAM,WAAW,eAAe;AAChC,YAAM,UAAU,UAAU,QAAQ,OAAO,SAAS;AAClD,sBAAgB,KAAK;AAAA;AAAA;AAIzB,+BAA6B,YAAoB;AAC/C,QAAI,eAAyB;AAC7B,UAAM,SAAS,EAAE,gBAAgB;AAGjC,MAAE,gBAAgB,gBAAgB,KAAK,WAAW;AAC9C,YAAM,OAAO,EAAE,MAAM,OAAO;AAC1B,UAAI,cAAc,SAAQ;AACxB,cAAM,UAAS,KAAK,MAAM;AAC1B,YAAI,WAAU,CAAC,aAAa,SAAS,QAAO,KAAK;AAC/C,uBAAa,KAAK,QAAO;AAAA;AAAA,iBAElB,CAAC,aAAa,SAAS,OAAM;AACtC,qBAAa,KAAK;AAAA;AAAA;AAI1B,QAAI,cAAc,SAAQ;AACxB,mBAAa;AAAA;AAGf,UAAM,cAAc,OAAO,KAAK,gBAAgB,OAAO;AACvD,iBAAa,QAAQ;AAErB,WAAO;AACP,iBAAa,QAAQ,gBAAc;AACjC,YAAM,UAAS,EAAE,qBAAqB,KAAK;AAC3C,aAAO,OAAO;AAAA;AAAA;AAIlB,gCAAqC,KAAY,QAAgB;AAC/D,UAAM,MAAM,SAAS;AACrB,UAAM,cAAc,YAAY;AAC9B,QAAE,cAAc,KAAI;AAEpB,0BAAoB;AACpB,0BAAoB;AAEpB;AACA,YAAM,WAAW,MAAM,SAAS,oBAAoB,EAAE;AAGtD,YAAM,cAAc,SAAS;AAAA;AAAA;AAIjC,yBAAuB,KAAY,MAAc;AAC7C,MAAE,gCAAgC,YAAY;AAC9C,MAAE,gCAAgC,SAAS;AAC3C,MAAE,gCAAgC,KAAK,gBAAgB;AAEvD,QAAI,MAAK;AACL,QAAE,kCAAkC,KAAI,YAAY;AACpD,QAAE,kCAAkC,KAAI,SAAS;AAAA;AAErD,MAAE,kCAAkC,KAAI,KAAK,gBAAgB,KAAK,UAAU;AAAA;AAGhF,uCAA4C,KAAY,WAAmB,aAAqB;AA7tBhG;AA8tBE,QAAI,OAAM,KAAK,MAAM,UAAE,kCAAkC,KAAI,KAAK,oBAA7C,oBAA8D,kBAAiB;AACpG,UAAM,MAAM,SAAS,OAAM,cAAc;AACzC,UAAM,cAAc,YAAY;AAC9B,YAAM,WAAW,MAAM,SAAS,2BAA2B,EAAE,SAAI,KAAK,CAAC;AAEvE,oBAAc,KAAI,CAAC;AACnB,YAAM,cAAc,SAAS;AAAA;AAAA;AAIjC,+BAA8B,KAAY;AAGtC,MAAE,qCAAqC,KAAI;AAC3C,MAAE,iCAAiC,KAAI;AACvC,MAAE,uBAAuB,KAAI;AAC7B,MAAE,cAAc,KAAI,YAAY;AAChC,MAAE,cAAc,KAAI,SAAS;AAAA;AAG1B,0BAAyB,KAAY;AAC1C,kBAAc,YAAY;AACxB,YAAM,SAAS,oBAAoB,EAAE;AACrC,0BAAoB;AAAA;AAAA;AAIxB,mCAAkC;AAC9B,MAAE,4BAA4B;AAC9B,MAAE,4BAA4B;AAC9B,MAAE,8BAA8B;AAAA;AAGpC,kCAAwC,KAAY,QAAgB;AAClE,UAAM,MAAM,SAAS;AACrB,kBAAc,YAAY;AACxB,YAAM,WAAW,MAAM,SAAS,sBAAsB,EAAE;AACxD,YAAM,cAAc,SAAS;AAC7B;AAAA;AAAA;AAIJ,uCAA4C,KAAY,WAAmB;AACzE,QAAI,SAAS;AACb,QAAI,WAAW;AACb,eAAS;AAAA;AAEX,UAAM,MAAM,SAAS;AAErB,UAAM,cAAc,YAAY;AAC9B,YAAM,WAAW,MAAM,SAAS,6BAA6B;AAAA,QAC3D,IAAI;AAAA,QACJ;AAAA;AAGF,YAAM,cAAc,SAAS;AAC7B,QAAE,MAAM,KAAI,YAAY,cAAc,cAAc;AACpD,QAAE,MAAM,KAAI,YAAY,mBAAmB,cAAc;AAAA;AAAA;AAItD,0BAAwB,QAAgB,KAAY;AACzD,kBAAc,YAAY;AACxB,YAAM,MAAM,SAAS;AACrB,YAAM,WAAW,MAAM,SAAS,oBAAoB,EAAE;AACtD,YAAM,cAAc,SAAS;AAAA;AAAA;AAI1B,6BAA4B,SAAgB,QAAgB;AAnyBnE;AAqyBE,QAAI,MAAK,SAAS,cAAe;AACjC,QAAG,QAAQ;AACX,QAAG,aAAc,YAAY;AAC7B,QAAG,MAAM,WAAW;AACpB,QAAG,MAAM,OAAO;AAChB,aAAS,KAAK,YAAa;AAE3B,UAAM,aAAY,SAAS;AAC3B,UAAM,oBAAoB,cAAa,WAAU,aAAa,IAAI,WAAU,WAAW,KAAK;AAE5F,QAAG;AACH,aAAS,YAAa;AACtB,aAAS,KAAK,YAAa;AAC3B,QAAI,mBAAmB;AACpB,sBAAS,mBAAT,oBAAyB;AACzB,qBAAS,mBAAT,mBAAyB,SAAU;AAAA;AAItC,UAAM;AACN,UAAM,cAAc,QAAQ;AAAA;AAM9B,6BAA2B,QAAe,MAAc,cAAsB;AAC5E,aAAS,iBAAiB;AAAA,MACxB,OAAO,GAAG;AAAA,MACV;AAAA,MACA,MAAM,OAAO,SAAS;AAAA,MACtB;AAAA;AAAA;AAIJ,SAAO,UAAU,+BAA+B,SAAS,QAAQ,aAAa,eAAe,QAAO;AAClG,aAAS,qBAAqB;AAAA,MAC5B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP,KAAK,OAAO,SAAS;AAAA,MACrB,YAAY,UAAU;AAAA;AAAA;AAInB,4BAAqC,MAAc,WAAgB,WAAoB,YAAqB,UAAoB,UAAmB,UAAmB,aAAsB,WAAgB,YAAqB,KAAgB,UAAwC;AAE9R,QAAI,YAAY,EAAE;AAClB,QAAI,2BAA2B;AAC/B,QAAI,oBAAoB;AAExB,QAAI,WAAU;AACZ,2BAAqB;AAErB,iBAAW,UAAS,WAAW;AAC7B,cAAM,OAAM,UAAU;AAEtB,cAAM,UAAQ;AAAA,UACZ,WAAW,KAAI,WAAW;AAAA,UAC1B,aAAa,KAAI,WAAW;AAAA,UAC5B,SAAS,KAAI,WAAW;AAAA,UACxB,WAAW,KAAI,WAAW;AAAA;AAG5B,YAAI,KAAI,SAAS,MAAM;AACrB,qCAA2B;AAC3B,0BAAgB,iBAAiB,SAAO,OAAO;AAAA;AAIjD,YAAI,4BAA4B,CAAC,mBAAmB;AAClD,gBAAM,kBAAkB,eAAe;AACvC,8BAAoB;AAAA;AAAA;AAAA;AAK1B,QAAI,0BAAgD;AAAA,MAChD,mBAAmB;AAAA,QACjB,MAAM,gBAAgB;AAAA;AAAA;AAI5B,OAAG,MAAM;AACT,UAAM,eAAgB,GAAG,kBAAmB,IAAG,iBAAiB;AAChE,iBAAa,SAAS;AAEtB,QAAI,EAAE,mBAAmB,GAAG,YAAY;AACpC,mBAAa,SAAS;AACtB,mBAAa,cAAc;AAAA,eACpB,EAAE,iBAAiB,KAAK,UAAU,OAAM;AAC/C,mBAAa,SAAS;AACtB,mBAAa,cAAc;AAAA,WAE1B;AACD,mBAAa,SAAS;AACtB,mBAAa,cAAc;AAAA;AAG/B,iBAAa,QAAQ,UAAU;AAC/B,iBAAa,aAAa,UAAU;AAEpC,QAAI,cAAc;AAElB,QAAI,CAAC,WAAW;AAGd,QAAE,iBAAiB;AAAA;AAGrB,QAAI,WAAW;AACb,qBAAe;AACf,QAAE,iBAAiB;AAAA;AAGrB,QAAI,YAAY;AACd,qBAAe;AAAA;AAGjB,QAAI,UAAU;AACZ,qBAAe;AACf,QAAE,iBAAiB;AAAA;AAGrB,QAAI,YAAY,WAAW,GAAG;AAC5B,UAAS,mBAAT,SAA0B,QAAe;AACvC,eAAO,IAAI,QAAQ,CAAC,UAAS,WAAW;AACtC,cAAI,UAAS,SAAS,QAAQ;AAC5B,qBAAQ;AACR;AAAA;AAGF,gBAAM,YAAY,SAAS;AAC3B,cAAI,WAAW;AACb,cAAE,gBAAgB;AAClB,2BAAe;AACf,uBAAW,MAAM;AACf,gBAAE,gBAAgB;AAClB,6BAAe;AACf,yBAAW,MAAM;AACf,yBAAQ;AAAA,iBACP;AAAA,eACD,YAAY,MAAQ;AAAA,iBACnB;AACL,uBAAW,MAAM;AACf,uBAAQ;AAAA,eACP;AAAA;AAAA;AAAA;AAKT,wCAAkC;AAChC,iBAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACxC,gBAAM,iBAAiB;AAAA;AAAA;AAG3B;AAAA;AAGF,WAAO,cAAc;AAErB,IAAC,GAAW,SAAS,OAAO,IAAI,GAAG,QAAQ,KAAK,CAAC,UAAc;AAE7D,YAAM,YAAY,MAAM;AAGxB,YAAM,qBAAqB,WAAW;AAAA;AAGxC,QAAI,aAAa,OAAO;AACtB,QAAE,kBAAkB;AACpB;AACA,SAAG,UAAU;AAAA,QACX,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,UAAU;AAAA,QACV,qBAAqB;AAAA,QACrB,YAAY;AAAA,QACZ,YAAY,GAAG;AAAA,QACf,YAAY,WAAY;AAEtB,YAAE,WAAW;AACb,YAAE,UAAU;AACZ,YAAE,UAAU;AACZ,cAAI,GAAG,aAAa,GAAG;AACrB,mBAAO,eAAgB;AAAA,iBAClB;AACL,mBAAO;AAAA;AAAA;AAAA,QAMX,WAAY,WAAY;AACtB,gBAAM,SAAQ;AACd,cAAI,aAAa,cAAc,UAAU;AAEvC,mBAAQ;AAAA;AAEV,cAAI,SAAQ,GAAG;AAEb,mBAAQ;AAAA;AAGV,iBAAS,WAAY,MAAQ;AAAA;AAAA;AAIjC,YAAM,iBAAyB,OAAO,eAAe,QAAQ,qBAAqB,KAAK;AACvF,qBAAe,QAAQ,kBAAkB,eAAe;AAExD,aAAO,GAAG,SAAS,eAAe,MAChC,GAAG,mBAAmB,WAAW,OAAO,MAAM,OAAO;AAAA,QACnD,KAAK,MAAM;AAAA;AAAA,SAIb,gBACC,KAAK,SAAS,MAAM;AACrB,gBAAQ,IAAI;AACZ,cAAM,kBAAkB,GAAG;AAC3B,uBAAe;AACf,UAAE,WAAW;AACb,UAAE,UAAU;AAEZ,iBAAS,YAAY;AACrB,UAAE,qBAAqB;AAEvB,YAAI,WAAW;AACb,YAAE,yBAAyB;AAAA;AAI7B,YAAK,CAAC,YAAa,EAAE,WAAW,GAAG,aAAa,EAAE,iBAAiB,GAAG,aAAa,CAAC,UAAU;AAC5F,gBAAM,YAAY,eAAe;AACjC;AAAA;AAEF,YAAI,CAAC,eAAe,SAAS,WAAW;AACpC,6BAAmB;AACnB,sBAAY;AAAA;AAEhB,YAAI;AAAI;AAAA,SACP,MAAM,SAAS,KAAK;AACrB,cAAM,eAAe,4BAA4B,QAAQ;AACzD,YAAI,CAAC,cAAc;AACjB,gBAAM;AAAA;AAER,cAAM,IAAI,MAAM;AAAA;AAAA,eAGT,aAAa,SAAS;AAE/B,0BAAoB,IAAI,GAAG,SAAS,WAAW,oBAAoB;AACnE,2BAAqB;AAErB,SAAG,UAAU;AAAA,QACX,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,UAAU;AAAA,QACV,qBAAqB;AAAA,QACrB,YAAY,GAAG;AAAA,QACf,WAAW;AAAA,QACX,aAAa,kBAAkB,kBAAkB,KAAK;AAAA,QACtD,WAAW;AAAA;AAGb,UAAI,QAAQ,KAAK,MAAM;AACvB,eAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AAErC,YAAI,MAAM,GAAG,SAAS,uBAAuB,CAAC,MAAM,GAAG,SAAS,eAAe;AAE7E,4BAAkB,eAAe,cAAc,IAAI,GAAG,KAAK;AAAA;AAAA;AAK/D,UAAI,CAAC,eAAe,SAAS,aAAa,CAAC,0BAA0B;AACjE,oBAAY;AAAA;AAGhB,wBAAkB,uBAAuB,YAAY,MAAM,MAAM,SAAS;AAC1E,wBAAkB,eAAe,KAAK,MAAM;AAC5C,wBAAkB,iBAAiB;AAAA,QACjC,MAAM;AAAA,QACN,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,WAAW;AAAA,QACX,WAAW;AAAA,QACX,SAAS;AAAA,QACT;AAAA;AAGF;AAEA,aAAO,kBAAkB,cACvB,MAAM,GAAG,mBAAmB,WAAW,OAAO,MAAM,OACpD,mBACA,KACA,WAAY;AACV,gBAAQ,IAAI;AAEZ,UAAE,WAAW;AACb,UAAE,UAAU;AAEZ;AAEA,iBAAS,YAAY;AACrB,UAAE,qBAAqB;AAEvB,YAAI,WAAW;AACb,YAAE,yBAAyB;AAAA;AAG7B,YAAI;AAAI;AAAA,SAEV,MAAM,SAAS,KAAU;AACzB,cAAM,eAAe,4BAA4B,QAAQ;AACzD,YAAI,CAAC,cAAc;AACjB,gBAAM;AAAA;AAER,cAAM,IAAI,MAAM;AAAA;AAAA,WAGb;AAGL,eAAS,eAAe,kBAAmB,aAAa,YAAY;AAEpE,aAAO,kBAAkB,kBACtB,MAAM,SAAS,KAAU;AACxB,gBAAQ,MAAM;AACd,cAAM,eAAe,4BAA4B,QAAQ;AACzD,YAAI,CAAC,cAAc;AACjB,gBAAM;AAAA;AAER,cAAM,IAAI,MAAM;AAAA;AAAA;AAatB,yCAAqC,KAAU;AAC7C,YAAM,UAAU,IAAI,QAAQ,IAAI,KAAK,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,KAAK,EAAE,GAAG;AACzE,aAAO;AAAA;AAGT,yBAAqB,MAAc,SAAe;AAChD,QAAE,UAAU,KAAK,MAAM,IAAI,EAAE,kBAAS,SAAS;AAC/C;AAAA;AAKF,kBAAc,MAAc;AAC1B,kBAAY,MAAM;AAClB,YAAM;AAAA;AAGR,yBAAqB,GAAW;AAC9B,UAAI,KAAK,yBAAyB;AAChC,cAAM,UAAU,wBAAwB,GAAG;AAE3C,YAAI,UAAU,IAAI;AAClB,gBAAQ,KAAK,OAAO,SAAS;AAC7B,gBAAQ;AAER,YAAI,QAAQ,WAAW,KAAK;AAC1B,iBAAO;AAAA;AAGT,eAAO,QAAQ;AAAA;AAGjB,UAAI,GAAG,iBAAiB,UAAa,GAAG,aAAa,SAAS,OAAO;AACjE,cAAM,sBAAsB,IAAI;AACpC,aAAO,GAAG,aAAa,SAAS;AAAA;AAIlC,kCAA8B,QAAgB;AAE5C,UAAI,UAAU,OAAO;AACrB,UAAI,QAAQ,QAAQ,QAAQ;AAC5B,UAAI,QAAQ,QAAQ,YAAY,WAAW,MAAM;AACjD,WAAG,YAAY,IAAI,KAAK,IAAI,OAAO,YAAY,MAAO,KAAK,KAAK,KAAK;AACrE,iBAAS,YAAY;AACrB,UAAE,qBAAqB;AAEvB,eAAO,IAAI,QAAQ,SAAS,IAAI;AAC9B,0BAAgB;AAEhB,gBAAM,SAAQ,EAAE;AAChB,YAAE,uBAAuB,KAAK;AAC9B,iBAAM,IAAI;AACV,iBAAM,KAAK,eAAe;AAC1B,gBAAM;AAEN,qBAAW,WAAW;AACpB,mBAAM;AAAA,aACL;AACH,YAAE,mBAAmB,IAAI,UAAU,SAAS,QAAO;AACjD,4BAAgB;AAChB,mBAAM;AACN,cAAE,cAAc;AAEhB,gBAAI,WAAW;AACb,gBAAE,iBAAiB;AAAA;AAIrB,eAAG,YAAY,IAAI;AAInB,uBAAY,WAAY;AACrB,iBAAG,OAAM;AACT,kBAAI,SAAS,MAAM;AAChB,wBAAQ,QAAQ,YAAY,QAAQ,OAAM,MAAO;AAAA;AAEpD,gBAAG,WAAW;AAAA,eACd;AAED,mBAAO;AAAA;AAET,YAAE,cAAc;AAGhB;AAAA;AAAA,aAEG;AACL,eAAO,IAAI,QAAQ,SAAU,IAAI;AAC/B,aAAG,QAAQ,QAAQ,YAAY;AAAA;AAAA;AAAA;AAAA;AAMvC,iBAAe,MAAc;AAC3B,QAAI,eAAc,EAAE,mBAAmB;AACvC,QAAI,CAAC,cAAa;AAAE;AAAA;AACpB,QAAI,QAAQ,OAAO,gBAAgB,YAAY,OAAO,OAAK,EAAE,aAAa,cAAa;AAEvF,QAAI,OAAO;AACT,UAAI,YAAY,IAAI,yBAAyB;AAC7C,gBAAU,QAAQ;AAClB,gBAAU,OAAO;AACjB,sBAAgB,MAAM;AAAA;AAAA;AAI1B,4BAA0B,SAAmB;AAI3C,UAAM,gBAAgB,CAAC,CAAE,OAAe;AAExC,QAAI,CAAC,OAAO,mBAAmB,CAAC,eAAe;AAAE;AAAA;AACjD,QAAI,CAAC,cAAa;AAAE;AAAA;AAWpB,QAAI,WAAW;AACf,UAAM,QAAQ,YAAY,WAAW;AACnC,kBAAY;AAEZ,YAAM,SAAS,WAAW;AAE1B,UAAI,OAAO,SAAS,KAAK,eAAe;AACtC,mBAAW,SAAS,QAAQ;AAC1B,cAAI,SAAS;AACX,cAAE,mBAAmB,OACnB,EAAE,YACC,KAAK,MAAM,gBAAgB,MAAM,QACjC,KAAK,WAAW,2CAChB,KAAK,SAAS,MAAM,UACpB,SAAS,qGACT,IAAI,SAAS,QACb,KAAK,MAAM,MACX,GAAG,SAAS,WAAY;AACvB,kBAAI,aAAY;AACd,4BAAY,KAAK,QAAQ;AAAA;AAE3B,4BAAc,EAAE;AAChB,gBAAE,MAAM,OAAO;AAAA;AAAA,iBAGhB;AACL,cAAE,mBAAmB,OAAO,EAAE,YAAY,KAAK,SAAS,MAAM,UAAU,KAAK,eAAQ,MAAM;AAAA;AAAA;AAG/F,UAAE,oBAAoB;AAEtB,sBAAc;AAAA;AAEhB,UAAI,YAAY,IAAI;AAElB,sBAAc;AAAA;AAAA,OAEf;AAEH,wBAAoB,MAAc;AAEhC,YAAM,IAAI,KAAK,MAAM;AACrB,UAAI,CAAC,GAAG;AAAE,eAAO;AAAA;AACjB,YAAM,aAAa,EAAE;AAGrB,UAAI,CAAC,OAAO,iBAAiB;AAAE,eAAO;AAAA;AACtC,aAAO,OAAO,gBAAgB,YAAY,OAAO,WAAS,MAAM,KAAK,WAAW;AAAA;AAAA;AAI7E,qBAAmB,QAAe;AACvC,MAAE,4BAA4B,KAAM,2EAA2E,SAAQ;AAAA;AAGzH,uCAA4C,OAAsB,SAAkB;AAClF,QAAI;AACF,YAAM,SAAS,wBAAwB;AAAA,QACrC,OAAO;AAAA,QACP,UAAU,EAAE,uBAAuB,KAAK;AAAA,QACxC;AAAA,QACA;AAAA;AAAA,aAEK,GAAP;AAEA,cAAQ,MAAM;AAAA;AACf;AAAA;AAGI,yCAAuC;AAC5C,oBAAgB;AAChB,UAAM,UAAU,OAAO;AACvB,UAAM,aAAY,QAAQ,QAAQ;AAClC,WAAO,gBAAgB,kBAAkB;AAAA;AAGpC,+BAA6B;AAClC,WAAO,gBAAgB;AAAA;AAGlB,6BAA0B;AAC/B,UAAM,SAAS,SAAS,eAAe;AACvC,QAAI,QAAQ;AACV,aAAO,UAAU,OAAO;AAExB,YAAM,aAAa,IAAI,WAAW,EAAC;AAEnC,iBAAW,WAAU;AAAC,eAAO,UAAU,IAAI;AAAA,SAAY;AACvD,UAAI,aAAa,EAAE;AACnB,UAAI,mBAAmB,EAAE,YAAY,KAAK,iBAAiB,KAAK;AAChE,UAAI,eAAe,CAAC,UAAU,QAAQ,WAAW,cAAc,WAAW,SAAS;AAEnF,UAAG,aAAa,SAAS,mBAAmB;AAC1C,YAAI,2BAA2B,wBAAwB,8CAAoB;AAE3E,mBAAW,YAAY;AAAA,UACrB,QAAQ;AAAA,UACR,WAAW;AAAA,UACX,gBAAgB;AAAA;AAAA,aAGf;AACH,mBAAW;AAAA;AAGb,YAAM,iBAAiB,SAAS,eAAe;AAC/C,UAAI,gBAAgB;AAClB,uBAAe,UAAU,IAAI;AAAA;AAAA;AAAA;AAKnC,mCAAiC,WAAsB;AACrD,QAAI,eAAe,YAAY;AAC7B,aAAO,MAAM,KAAK,eAAe,YAAY,OAAO,OAAK,MAAM,OAAO,MAAM;AAAA;AAE9E,WAAO,CAAC,CAAC,cAAO,CAAC,iBAAO,CAAC,cAAO,CAAC,WAAM,CAAC;AAAA;AAM1C,kCAAgC;AAC9B,UAAM,YAAY,EAAE;AACpB,cAAU,UAAU,UAAU,KAAK;AAAA;AAG9B,wBAAsB,QAAc;AACzC,gBAAY;AACZ,QAAI,eAAe,EAAE;AACrB,QAAI,aAAa,QAAQ;AACvB,YAAM,MAAM,EAAE,QAAQ,KAAK;AAC3B,uBAAiB,eAAc,2BAA2B,cAAc,WAAW,OAAO;AAAA;AAAA;AAI9F,8BAA4B,YAAoB;AAC9C;AACA,QAAI,qBAAqB,eAAe,qBAAqB,MAAM;AACnE,QAAI,YAAoB,KAAK,MAAM,KAAK,WAAW,mBAAmB;AACtE,YAAQ,KAAK,mBAAmB,YAAY;AAAA;AAG9C,uBAAqB,QAAc;AACjC,QAAI,SAAS,wGAA0G,QAAQ,WAAW,OAAM;AAChJ,QAAI,QAAQ,eAAe;AAC3B,UAAM,OAAO,QAAQ,GAAG;AAAA;AAInB,6BAA2B,SAAM,SAAS,gBAAyB;AACxE,QAAI,SAAkB;AACtB,YAAQ;AAAA,WACD;AACH,cAAM,gBAAgB,OAAO,aAAa,QAAQ,sBAAsB;AACxE,iBAAS,kBAAkB;AAC3B,UAAE,sBAAsB,KAAK,WAAW;AACxC;AAAA,WAEG;AAEH,iBAAS,EAAE,sBAAsB,KAAK;AACtC;AAAA;AAEJ,QAAI,CAAC;AAAgB,aAAO,aAAa,QAAQ,kBAAkB,GAAG;AACtE,yBAAqB,CAAC,CAAC;AAAA;AAIzB,gCAA8B,gBAAyB;AACrD,UAAM,SAAS,OAAO,aAAa,QAAQ,sBAAsB,UAAU;AAI3E,MAAE,mBAAmB,OAAO,CAAC,UAAU,eAAe,UAAU,eAAe;AAE/E,MAAE,eAAe,OAAO,CAAC,UAAU,eAAe,UAAU,eAAe;AAE3E,QAAI,eAAe;AAAW;AAE9B,MAAE,uBAAuB,KAAK,CAAC,GAAG,QAAO;AACvC,YAAM,UAAU,EAAE,KAAI,KAAK,gBAAgB,MAAM;AACjD,QAAE,KAAI,IAAI,UAAU,QAAQ,SAAS,IAAI;AAAA;AAAA;AAItC,+BAA6B,OAAe;AACjD,QAAI,aAAa,OAAO,aAAa,QAAQ;AAC7C,WAAO,aAAa,QAAQ,OAAQ,gBAAe,QAAQ;AAC3D,UAAM,QAAQ,SAAS,cAAc,MAAM,QAAQ;AACnD,UAAM,YAAY,SAAS,eAAe;AAC1C,UAAM,aAAa,SAAS,eAAe,QAAQ;AACnD,UAAM,aAAa,SAAS,eAAe,QAAQ;AACnD,cAAU,UAAU,OAAO;AAC3B,eAAW,UAAU,OAAO;AAC5B,eAAW,UAAU,OAAO;AAC5B,UAAM,UAAU,OAAO;AAAA;AAGlB,8BAA4B,OAAe;AAChD,QAAI,aAAa,OAAO,aAAa,QAAQ;AAC7C,UAAM,YAAY,SAAS,eAAe;AAC1C,UAAM,QAAQ,SAAS,eAAe,QAAQ;AAC9C,UAAM,aAAa,SAAS,eAAe,QAAQ;AACnD,UAAM,aAAa,SAAS,eAAe,QAAQ;AAEnD,cAAU,UAAU,OAAO,UAAU,eAAe;AACpD,eAAW,UAAU,OAAO,UAAU,eAAe;AACrD,eAAW,UAAU,OAAO,UAAU,eAAe;AACrD,UAAM,UAAU,OAAO,cAAc,eAAe;AAAA;AAMtD,kCAAuC,KAAgC;AACrE,QAAI;AACF,aAAO,MAAM;AAAA,aACN,GAAP;AACA,cAAQ,IAAI,SAAS;AACrB,YAAM,KAAK,IAAI,EAAE;AAAA;AAAA;AAId,mCAAiC,cAAsB,UAAkB;AAC9E,qBAAiB,YAAY;AAC3B,YAAM,WAAW,MAAM,SAAS,uBAAuB;AAAA,QACrD,MAAM,gBAAgB;AAAA,QACtB,YAAY;AAAA,QACZ,WAAW;AAAA,QACX,OAAO;AAAA;AAET,UAAI,UAAU;AACZ,cAAM,OAAO,SAAS;AACtB,wBAAgB,WAAW;AAC3B,cAAM,WAAW;AAIjB,kBAAU,mBAAmB,EAAE,UAAU;AACzC,UAAE,WAAW,KAAK,aAAa;AAG/B,cAAM,OAAO,OAAO,SAAS;AAC7B,cAAM,cAAc,OAAO,SAAS;AACpC,cAAM,YAAY,IAAI,gBAAgB;AACtC,kBAAU,IAAI,oBAAoB;AAClC,eAAO,SAAS,SAAS,UAAU;AACnC,eAAO,KAAK,MAAM;AAGlB,YAAI,OAAO,OAAO,CAAE,OAAe,SAAS;AAC1C,iBAAO,IAAI,SAAS;AAAA;AAAA;AAAA;AAAA;AAOrB,8BAA4B;AAEjC,MAAE,gBAAgB;AAGlB,QAAI,EAAE,WAAW,KAAK,cAAc,QAAQ;AAC1C,QAAE,WAAW,IAAI,UAAU;AAC3B,QAAE,WAAW,IAAI,kBAAkB;AACnC,QAAE,WAAW,KAAK,WAAW;AAAA,WACxB;AACL,QAAE,WAAW,IAAI,UAAU;AAC3B,QAAE,WAAW,IAAI,kBAAkB;AACnC,QAAE,WAAW,KAAK,WAAW;AAAA;AAAA;AAIjC,iCAAsC,MAAc;AAClD,UAAM,cAAc,YAAY;AAC9B,YAAM,WAAW,MAAM,SAAS,oBAAoB,EAAE;AACtD,UAAI,UAAU;AACZ,cAAM,cAAc,OAAO,SAAS;AACpC,cAAM,YAAY,IAAI,gBAAgB;AAEtC,YAAI,SAAS,QAAQ,UAAU,IAAI,gBAAgB,MAAM;AACvD,oBAAU,IAAI,YAAY;AAC1B,oBAAU,IAAI,oBAAoB;AAClC,iBAAO,SAAS,SAAS,UAAU;AAAA,eAC9B;AACL,mBAAS;AAAA;AAAA;AAAA;AAAA;AAMjB,uBAAqB,oBAA4B,UAAkB;AACjE,MAAE,MAAM,qBAAqB,UAAU,IAAI,WAAW;AACpD,UAAI,EAAE,MAAM,KAAK,gBAAgB,UAAU;AACzC,UAAE,MAAM;AAAA,aACH;AACL,UAAE,MAAM;AAAA;AAAA;AAAA;AAKP,gCAA8B,OAAe;AAClD,MAAE,kBAAkB,YAAY;AAChC,MAAE,oBAAoB,OAAO,SAAS;AACtC,MAAE,UAAU,IAAI;AAAA;AAGX,yBAAuB;AAC5B,MAAE,6BAA6B;AAC/B,MAAE,gBAAgB;AAClB,MAAE,gBAAgB,SAAS;AAC3B,MAAE,gBAAgB,SAAS;AAC3B,MAAE,gBAAgB;AAClB,MAAE,8BAA8B;AAAA;AAG3B,yBAAuB;AAC5B,MAAE,8BAA8B;AAChC,MAAE,gBAAgB;AAClB,MAAE,gBAAgB,YAAY;AAC9B,MAAE,gBAAgB,YAAY;AAC9B,MAAE,gBAAgB;AAClB,MAAE,6BAA6B;AAAA;AAKjC,MAAI,SAAmB;AAEvB,MAAM,UAAU,CAAC,MAAkB,UAAkB;AACnD,QAAI;AACJ,UAAM,UAAU,MAAM;AACpB,UAAI,MAAM,OAAO,QAAQ;AACzB,UAAI,MAAM,IAAI;AACZ,eAAO,OAAO,KAAK;AAAA;AAErB;AAAA;AAEF,UAAK,OAAO,WAAW,SAAS;AAChC,WAAO,KAAK;AAAA;AAGd,MAAM,gBAAgB,MAAM;AAC1B,WAAO,QAAQ;AACf,aAAS;AAAA;AAGJ,0BAAwB,QAAe;AAC5C,QAAI,SAAe,SAAS,eAAe,SAAS;AACpD,WAAO,aAAa,OAAM,WAAW;AACrC,MAAE,UAAU,iBAAgB,GAAG,QAAQ,WAAW;AAChD,UAAI,WAAW,OAAO,mBAAmB,OAAO,cAAc;AAC9D,UAAI,SAAS,SAAS,qBAAqB;AAC3C,UAAI,aAAa;AACjB,eAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,YAAI,cAAc,OAAO,GAAG,qBAAqB;AACjD,iBAAS,KAAI,GAAG,KAAI,YAAY,QAAQ,MAAK;AAC3C,cAAI,IAAI,SAAS,cAAc;AAC/B,YAAE,OAAO,yBAAyB,YAAY,IAAG,aAAa;AAC9D,YAAE,YAAY,SAAS,eAAe,EAAE;AACxC,iBAAO,GAAG,YAAY;AACtB,iBAAO,GAAG,YAAY,YAAY;AAAA;AAEpC,sBAAc,OAAM,OAAO,GAAG;AAAA;AAGhC,UAAI,WAAW,gBAAgB,QAAQ,aAAa;AACpD,UAAI,MAAM;AACV,UAAI,KAAK,cAAc;AACvB,UAAI,OAAO;AACX,UAAI,OAAO,cAAc;AACzB,UAAI,cAAc,EAAC,MAAM,UACrB,KAAK,SAAS,UAAc;AAC1B,iBAAS,UAAS,cAAc,cAAa;AAAA;AAAA;AAAA;AAKvD,oBAAkB,MAAW,UAAe,MAAW;AACrD,QAAI,OAAO,IAAI,KAAK,CAAC,OAAO,EAAC;AAC7B,QAAI,IAAI,SAAS,cAAc,MAC/B,MAAM,IAAI,gBAAgB;AAC1B,MAAE,OAAO;AACT,MAAE,WAAW;AACb,aAAS,KAAK,YAAY;AAC1B,MAAE;AACF,eAAW,WAAW;AACpB,eAAS,KAAK,YAAY;AAC1B,aAAO,IAAI,gBAAgB;AAAA,OAC1B;AAAA;AAQL,yBAAuB;AACrB,MAAE,eAAe;AACjB,MAAE,aAAa;AACf,MAAE,UAAU;AACZ,MAAE,kBAAkB;AACpB,UAAM,SAAS,EAAE;AACjB,UAAM,kBAAkB,EAAE,QAAQ,KAAK;AACvC,UAAM,YAAY,EAAE,QAAQ,KAAK;AACjC,WAAO;AACP,MAAE,iBAAiB;AACnB,WAAO,OAAO;AACd,WAAO,OAAO;AACd,uDAAiB;AACjB,uDAAiB;AAAA;AAMnB,gCAA8B;AApqD9B;AAqqDE,UAAM,eAAe,eAAe;AACpC,UAAM,YAAY,CAAE,gBAAe,UAAU;AAI7C,MAAE,mBAAmB,OAAO,CAAE,cAAa,EAAE,sBAAsB,GAAG;AACtE,MAAE,gCAAgC,OAAO;AAEzC,MAAE,eAAe,OAAO;AACxB,MAAE,uBAAuB,OAAO;AAChC,MAAE,2BAA2B,OAAO,eAAe;AACnD,MAAE,gBAAgB,OAAO,aAAa,eAAe;AACrD,MAAE,WAAW,OAAO;AACpB,MAAE,oBAAoB,OAAO;AAC7B,MAAE,2BAA2B,OAAO;AACpC,oBAAgB,aAAa;AAE7B,UAAM,YAAY,cAAc;AAChC,QAAI,WAAW;AACb,YAAM,WAA2B,iBAAiB,UAAU,aACxD,UAAU,YACV,EAAE,IAAK;AAIX,YAAM,WAAW,CAAC,CAAC,SAAS;AAC5B,QAAE,yBACC,YAAY,sBAAsB;AACrC,QAAE,UAAU,WAAW,WAAW,aAAa,KAAK,WAAW;AAG/D,QAAE,2BAA2B,OAAO;AACpC,QAAE,+BAA+B,OAAO,CAAC,CAAC,SAAS;AACnD,QAAE,iCAAiC,IAAI,gBAAS,eAAT,aAAuB;AAG9D,YAAM,cAAc,CAAC,CAAC,SAAS;AAE/B,QAAE,mBACC,YAAY,sBAAsB;AAGrC,QAAE,8BAA8B,OAAO;AACvC,QAAE,kCAAkC,OAAO,CAAC;AAE5C,sBAAgB,aAAa;AAE7B,QAAE,iBAAiB;AACnB,QAAE,2BAA2B;AAC7B,QAAE,yBAAyB;AAC3B,QAAE,kCAAkC;AACpC,QAAE,kCAAkC;AACpC,QAAE,gCAAgC;AAClC,QAAE,mBAAmB;AAAA;AAEvB,QAAI,eAAe,WAAU;AAC3B,QAAE,yBAAyB;AAC3B,QAAE,kCAAkC;AACpC,QAAE,kCAAkC;AACpC,QAAE,gCAAgC;AAClC,QAAE,mBAAmB;AACrB,QAAE,UAAU;AAAA;AAEd,QAAI,eAAe,QAAO;AACxB,QAAE,yBAAyB;AAC3B,QAAE,kCAAkC;AACpC,QAAE,kCAAkC;AACpC,QAAE,gCAAgC;AAClC,QAAE,mBAAmB;AAAA;AAAA;AAOzB,6BAA2B;AACzB,wBAAoB,UAAU;AAE9B,aAAS,eAAe,eAAgB,MAAM,SAAS;AACvD,aAAS,eAAe,eAAgB,MAAM,SAAS;AAAA;AAMzD,qCAAmC,aAAuB,gBAA0B;AAClF;AACA;AAEA,QAAI,eAAe,WAAW;AAC5B;AACA;AACA,QAAE,6BAA6B;AAAA,WAC1B;AACL,UAAI,aAAa;AACf,UAAE,uBAAuB,KAAK,CAAC,GAAG,QAAO;AACvC,gBAAM,SAAS,EAAE,KAAI,KAAK;AAC1B,YAAE,KAAI,IAAI,UAAU;AAAA;AAAA,aAEjB;AACL,6BAAqB,CAAC,CAAC;AAAA;AAEzB,QAAE,6BAA6B;AAAA;AAGjC,UAAM,YAAY,cAAc;AAChC,QAAI,WAAW;AACb,QAAG,iBAAiB,IAAI,UAAU;AAClC,sBAAgB,WAAW,UAAU;AAAA;AAAA;AAWlC,gCAA8B,QAAqB;AACxD,MAAE,QAAQ,QAAQ,uBAAuB;AAAA;AAG3C,2CAAyC;AACvC,MAAE,sCAAsC,GAAG,UAAU,CAAC,OAAO;AAC3D,UAAK,GAAG,OAA4B,SAAS;AAE3C,cAAM,YAAY,cAAc;AAEhC,sBAAc,YAAY;AACxB,gBAAM;AAEN,gBAAM,WAAW,iBAAiB,uCAAW,aAAa,uCAAW,YAAY;AACjF,cAAI,CAAC,UAAU;AACb,kBAAM,IAAI,MAAM;AAAA;AAElB,gBAAM,eAAe,mBAAmB,SAAS,MAAM;AAAA;AAAA;AAAA;AAAA;AAM/D,oCAAkC;AAChC,MAAE,sBAAsB,GAAG,SAAS,MAAM;AAEtC,YAAM,YAAY,cAAc;AAEhC,oBAAc,YAAY;AACxB,cAAM;AAEN,cAAM,WAAW,iBAAiB,uCAAW,aAAa,UAAU,YAAY;AAChF,YAAI,CAAC,UAAU;AACb,gBAAM,IAAI,MAAM;AAAA;AAElB,cAAM,WAAW,MAAM,SAAS,oBAAoB;AAAA,UAClD,IAAI,SAAS;AAAA;AAGf,cAAM,cAAc,SAAS;AAC7B,YAAI,SAAS,WAAW;AACtB,oBAAU,YAAY,SAAS;AAAA;AAEjC;AAAA;AAAA;AAAA;AAWR,uCAAqC;AACnC,MAAE,qCAAqC,GAAG,SAAS,CAAC,OAAO;AACzD,YAAM,OAAO,EAAE,GAAG,QAAQ,QAAQ,2BAA2B,KAAK,SAAS;AAC3E,UAAI,OAAO,SAAS,UAAU;AAC5B,0BAAkB,MAAM,eAAe;AAAA;AAAA;AAAA;AAK7C,+BAAqC;AACnC,WAAO,EAAE,iBAAiB;AAAA;AAG5B,8BAA4B,eAAuB;AACjD,UAAM,YAAY,cAAc;AAChC,QAAI,CAAC,WAAW;AACd,aAAO;AAAA;AAMT,UAAM,iBAAiB,gBAAgB,aAAa,UAAU;AAC9D,UAAM,cAAc,EAAE,iBAAiB,UAAU,UAAU;AAC3D,UAAM,iCAAiC,qBAAqB,UAAU,cAAc;AACpF,UAAM,iBAAiB,iBAAiB,UAAU,aAAa,UAAU,UAAU,YAAY;AAK/F,UAAM,iBAAiB,UAAU,cAAc;AAC/C,UAAM,4BAA4B;AAClC,UAAM,4BAA4B,kBAAkB,gBAAgB,SAAS,SAAS,UAAU,gBAAgB,SAAS;AAEzH,WAAQ,mBAAkB,eAAe,mCAAmC,CAAC,kBAAkB,CAAC;AAAA;AAMlG,MAAI;AACG,kCAAgC;AACrC,UAAM,cAAc;AACpB;AACA,gBAAY,OAAO,WAAW,MAAM,mBAAmB,cAAc;AAAA;AAGvE,wCAAsC;AACpC,QAAI,WAAW;AACb,aAAO,aAAa;AAAA;AAAA;AAKxB,MAAI,kBAAkB;AAEtB,oCAAkC;AAChC,sBAAkB;AAAA;AAGpB,mCAAiC;AAC/B,QAAI,CAAC,iBAAiB;AACpB;AAAA;AAIF,UAAM,gBAAgB;AACtB,UAAM,YAAY,cAAc;AAChC,QAAI,CAAC,mBAAmB,kBAAkB,CAAC,WAAW;AACpD;AAAA;AAGF,YAAQ,KAAK;AAEb,UAAM,OAAO,gBAAgB;AAC7B,UAAM,WAAW;AAGjB,QAAI,qBAAqB,UAAU;AACjC,YAAM,WAAW,iBAAiB,UAAU,aAAa,UAAU,YAAY;AAC/E,YAAM,WAAW,MAAM,SAAS,aAAa;AAAA,QAC3C,OAAO;AAAA,QACP,MAAO;AAAA,QACP,MAAO;AAAA,QACP;AAAA,QACA,gBAAgB;AAAA,QAChB,YAAY,qCAAU;AAAA,QAEtB,OAAO,qCAAU;AAAA,QACjB,YAAY,UAAU;AAAA;AAIxB,gBAAU,kBAAkB;AAC5B,UAAI,SAAS,WAAW;AACtB,kBAAU,YAAY,SAAS;AAAA;AAEjC,kBAAY;AAAA,WACP;AACL,gBAAU,mBAAmB,EAAE,UAAU;AACzC,gBAAU,kBAAkB;AAAA;AAAA;AAIhC,6BAA2B;AACzB,WAAO,QAAQ,cAAc;AAAA;AAGxB,qBAAmB,QAAY;AACpC,UAAM,OAAO,OAAO,SAAS;AAC7B,QAAI,UAAU,OAAO,SAAS,SAAS,QAAQ,SAAS,IAAI;AAC5D,QAAI,CAAC,QAAQ,SAAS,SAAQ;AAC5B,gBAAU,OAAO,SAAS,WAAW,IAAI;AAAA;AAE3C,WAAO,SAAS,WAAW;AAC3B,WAAO,SAAS,OAAO;AAAA;AAGlB,yBAAuB;AAC5B,oBAAgB,WAAW;AAAA;;;A+dz7D7B,OAAK,gBAAgB,mBAAmB;AAAA,IACtC,SAAS,SAAU,OAAM,KAAK;AAjBhC;AAkBM,UAAI,MAAM,IAAI,OAAO;AACrB,UAAI,CAAC,IAAI,cAAc;AACrB;AAAA;AAGF,UAAI,SAAS,WAAI,aAAa,0BAAjB,aAA0C;AACvD,UAAI,gBAAiB,UAAU,SAAU,MAAM,SAAS,cAAc;AAEtE,UAAI,UAAS,wBAAwB,eAAe;AAChD,sBAAc,WAAW;AAAA,iBAClB,SAAQ,uBAAuB,eAAe;AACrD,sBAAc,WAAW;AAAA;AAAA;AAAA;AAenC,OAAK,OAAO,CAAC,aAAY;AACrB,oCAAgC,UAAS;AACzC,QAAI,KAAK,EAAE,OAAO;AAElB,MAAE,UAAS,KAAK,qBAAqB,UAAU;AAE/C,QAAI,aAAa,SAAQ,iBAAiB;AAC1C,aAAS,IAAI,GAAG,IAAI,WAAU,QAAQ,KAAK;AACvC,UAAI,WAAW,WAAU;AACzB,UAAI,qBAAS,UAAU;AAAA,QACnB,WAAW;AAAA,QACX,YAAY;AAAA;AAAA;AAAA;AAaxB,OAAK,GAAG,sBAAsB,CAAC,OAAO;AAClC,UAAM,SAAQ;AACd,UAAM,MAAsB,OAAM,OAAO;AACzC,UAAM,eAAe,OAAM,OAAO;AAClC,UAAM,YAAY,IAAI,aAAa,SAAS,MAAO,IAAI,eAAe;AAAA;AAG1E,OAAK,GAAG,kBAAkB,MAAM;AAC5B,UAAM,YAAY,GAAG,eAAe,oBAAoB,eAAe;AAAA;AAG3E,OAAK,GAAG,gBAAgB,SAAS,GAAQ;AACrC,MAAE;AACF,UAAM,cAAc,EAAE,OAAO,aAAa;AAE1C,QAAI,CAAC,aAAa;AAEd,QAAE,OAAO,aAAa;AACtB;AAAA;AAEJ,UAAM,QAAQ,aAAa,MAAM;AAC7B,QAAE,OAAO,gBAAgB;AACzB,QAAE,OAAO,aAAa;AAAA;AAAA;;;ACxF9B,MAAI,eAAe;AACjB,UAAM,SAAS,GAAG;AAAA;AAIb,2BAAyB,UAAkB,UAAkB,QAAgB;AAClF,UAAM,QAAQ,QAAQ,WAAU;AAC9B,QAAE,KAAK;AAAA,QACL,MAAM;AAAA,QACN,KAAK,uBAAuB,WAAW,YAAY;AAAA,QACnD,aAAa;AAAA,QACb,UAAU;AAAA,SACT,KAAK,WAAW;AACjB,iBAAS;AAAA,SACR,KAAK,SAAS,KAAK;AAClB,cAAM,YAAY,IAAI;AAAA;AAAA;AAAA;AAKvB,yBAAuB,MAAa,QAAc;AACvD,UAAM,MAAM,SAAS,eAAe;AACpC,QAAI,MAAM,KAAK;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,QACJ,QAAQ,OAAO,IAAI;AAAA,QACnB,UAAU,CAAC;AAAA,UACT;AAAA,UACA,MAAM;AAAA,UACN,sBAAsB,SAAS,UAAS;AAC5B,gBAAI,SAAQ,SAAQ;AACpB,gBAAI,QAAQ,SAAQ,QAAQ,KAAK;AACjC,gBAAI,UAAU,GAAG;AACjB,qBAAO;AAAA,uBAEE,UAAU,GAAE;AACnB,qBAAO;AAAA;AAET,mBAAO;AAAA;AAAA,UAGnB,aAAa;AAAA,UACb,aAAa;AAAA;AAAA;AAAA,MAGjB,SAAS;AAAA,QACP,QAAQ;AAAA,UACF,GAAG;AAAA,YACD,OAAO;AAAA,cACL,UAAU,SAAS,QAAO;AAExB,oBAAI,WAAU,GAAG;AACf,yBAAO;AAAA,2BAEA,WAAU,GAAE;AACnB,yBAAO;AAAA;AAET,uBAAO;AAAA;AAAA;AAAA;AAAA;AAAA,QAKnB,SAAS;AAAA,UACP,QAAQ;AAAA,YACJ,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAOd,+CAA6C,WAAmB;AACrE,QAAI,kBAAkB,6BAA6B,YAAY;AAC/D,QAAI,EAAE,iBAAiB,SAAS,WAAW;AACzC,QAAE,iBAAiB,YAAY;AAC/B,QAAE,iBAAiB,SAAS;AAAA,WACvB;AACL,QAAE,iBAAiB,YAAY;AAC/B,QAAE,iBAAiB,SAAS;AAAA;AAAA;AAIzB,MAAM,UAAQ,CAAC,QAAe,IAAI,QAAQ,CAAC,MAAM,WAAW,GAAG;;;ACpF/D,MAAM,OAAO;AAAA,IAElB,YAAY,WAAW;AAErB,QAAE,iBAAiB;AACnB,QAAE,2BAA2B;AAC7B,QAAE,0BAA0B;AAE5B,YAAM,QAAQ,IAAI,OAAO,cAAc,MAAM,KAAK;AAClD,QAAE,oBAAoB,IAAI,QAAQ;AAClC,QAAE,kBAAkB,IAAI,QAAQ;AAAA;AAAA,IAGlC,mBAAmB,SAAU,SAAiB;AAC5C,UAAI,WAAW,EAAE,qBAAqB;AACtC,UAAI,UAAe;AACnB,QAAE,IAAI,UAAU,SAAS,GAAE;AACvB,gBAAQ,EAAE,WAAW,EAAE;AAAA;AAE3B,cAAQ,cAAc;AAEtB,QAAE,0BAA0B;AAC5B,QAAE,2BAA2B;AAC7B,QAAE,iBAAiB;AACnB,QAAE,mBAAmB;AACrB,QAAE,uBAAuB,KAAK,YAAY;AAC1C,QAAE,4BAA4B,KAAK;AAEnC,YAAM,QAAO;AACb,QAAE,KAAM,EAAC,MAAM,QAAQ,KAAK,eAAe,MAAM,KAAK,UAAW,UAAU,aAAa,qCAAoC,KAAM,SAAU,UAAU;AAClJ,YAAI,SAAS,oBAAoB,aAAa;AAC5C,gBAAK,uBAAuB,SAAS;AACrC,gBAAK,gBAAgB;AACrB,gBAAK;AAAA,eACA;AACL,YAAE,2BAA2B;AAAA;AAAA,SAE9B,KAAM,SAAU,QAAO;AACxB,UAAE,2BAA2B;AAC7B,gBAAQ,IAAI;AAAA,SACX,OAAO,WAAW;AACnB,UAAE,iBAAiB;AACnB,UAAE,uBAAuB,KAAK,YAAY;AAAA;AAG9C,aAAO;AAAA;AAAA,IAGT,sBAAsB;AAAA,IACtB,eAAe;AAAA,IAEf,yBAAyB,WAAW;AAClC,QAAE,iBAAiB;AACnB,QAAE,0BAA0B;AAC5B,QAAE,mBAAmB;AAErB,YAAM,OAAO;AAAA,QACX,oBAAoB,KAAK;AAAA,QACzB,YAAY,KAAK,gBAAgB,KAAK,gBAAgB;AAAA;AAGxD,YAAM,QAAO;AACb,QAAE,IAAI,iBAAiB,MAAM,KAAM,SAAU,UAAU;AACrD,cAAM,aAAa,EAAE;AAErB,iBAAS,KAAK,QAAS,CAAC,MAAW;AACjC,qBAAW,OAAO,0CACU,EAAE,+CACF,EAAE,gDACF,EAAE,QAAQ,yDACE,EAAE,YAAY,yDACd,EAAE,aAAa,gNAGxB,EAAE;AAAA;AAInC,YAAI,SAAS,KAAK,UAAU,GAAG;AAC7B,YAAE,0BAA0B;AAAA;AAG9B,cAAK,gBAAgB,SAAS;AAAA,SAE7B,KAAM,SAAU,QAAO;AACxB,gBAAQ,IAAI;AAAA,SACX,OAAO,WAAW;AACnB,UAAE,iBAAiB;AACnB,YAAI,MAAK,eAAe;AACtB,YAAE,mBAAmB;AAAA;AAAA;AAIzB,aAAO;AAAA;AAAA,IAGT,UAAU,SAAS,KAAS;AAC1B,YAAM,aAAa,EAAE;AACrB,UAAI,UAAU,cAAc,QAAW;AACrC,6BAAqB,YAAY;AAAA,aAC5B;AACL,kBAAU,UAAU,UAAU,WAAW,OAAO,QAAQ,KAAK,WAAW;AACtE,+BAAqB,YAAY;AAAA,WAChC,WAAW;AACZ,+BAAqB,YAAY;AAAA;AAAA;AAGrC,aAAO;AAAA;AAAA;AAIX,gCAA8B,SAAc,MAAc;AACxD,YAAQ,KAAK;AACb,eAAW,WAAW;AAAC,cAAQ,KAAK;AAAA,OAAO;AAAA;;;AC7GtC,mCAAiC,UAA2C;AACjF,MAAE,cAAc,OAAO,WAAW;AAC9B,YAAM,YAAY,EAAE,MAAM,KAAK;AAC/B,UAAG,CAAE,KAA0B,SAAS;AACpC,UAAE,MAAM,YAAY,WAAW;AAC/B,UAAE,MAAM,YAAY,SAAS;AAAA,aAC1B;AACH,UAAE,MAAM,YAAY,WAAW;AAC/B,UAAE,MAAM,YAAY,SAAS;AAAA;AAAA;AAIrC,MAAE,0BAA0B,OAAO,WAAW;AAC1C,QAAE,iBAAiB;AACnB,UAAI,EAAE,0BAA0B,SAAS,WAAW,EAAE,0BAA0B,SAAS,YAAY;AACjG,UAAE,uBAAuB;AAAA,iBAClB,EAAE,0BAA0B,SAAS,YAAY;AACxD,UAAE,0BAA0B;AAAA,iBACrB,EAAE,0BAA0B,SAAS,oBAAoB;AAChE,UAAE,kCAAkC;AAAA,aACjC;AACH,UAAE,sBAAsB;AAAA;AAAA;AAIhC,MAAE,yBAAyB,MAAM,SAAS,IAAI;AAE1C,UAAI,QAAQ,EAAE,GAAG,QAAQ,KAAK;AAC9B,cAAQ,IAAI;AACZ,QAAE,sBAAsB,KAAK,SAAS;AACtC,QAAE,eAAe;AAAA;AAAA;AAIhB,0BAAwB;AAC3B,UAAM,SAA8B;AAEpC,UAAM,SAAS,EAAE,0BAA0B;AAC3C,WAAO,YAAY;AAEnB,QAAI,EAAE,sBAAsB,OAAO;AACjC,aAAO,UAAU,EAAE,sBAAsB;AAAA;AAG3C,YAAQ;AAAA,WACD;AAAA,WACA;AACH,eAAO,eAAe,EAAE,uBAAuB;AAC/C;AAAA,WACG;AACH,eAAO,cAAc,EAAE,0BAA0B;AACjD;AAAA,WACG;AACH,eAAO,sBAAsB,EAAE,kCAAkC;AACjE;AAAA;AAEA,eAAO,WAAW,EAAE,qBAAqB;AACzC,eAAO,SAAS,EAAE,mBAAmB;AACrC;AAAA;AAGJ,UAAM,cAAc,OAAO,QAAQ,QAAQ,IAAI,CAAC,CAAC,GAAG,OAAO,IAAI,MAAM,mBAAmB,IAAI,KAAK;AACjG,WAAO,KAAK,MAAM,aAAa;AAAA;;;AC5D5B,mCAAiC,UAAmC;AAEnE,aAAS;AAAA;;;AC0DV,sBAAoB,SAA4B;AAlEvD;AAmEE,6BAAyB,QAAQ;AAEjC,QAAI,SAAQ,QAAQ;AAEpB,QAAI,CAAC,UAAS,gBAAQ,0BAAR,oBAA+B,SAAQ,uBAAuB;AAC1E,eAAQ,QAAQ,sBAAsB;AAAA;AAGxC,kBAAc;AAAA,MACZ,OAAO;AAAA,MACP,iBAAiB,QAAQ;AAAA,MACzB,YAAY,QAAQ;AAAA;AAEtB;AACA;AAGA,YAAQ,cAAQ,0BAAR,mBAA+B;AAAA,WAChC;AACH,2BAAmB,QAAQ;AAC3B;AAAA,WAEG;AACH,qCAA6B,QAAQ;AACrC;AAAA,WAEG;AACH,8BAAsB,QAAQ;AAC9B;AAAA,WAEG;AACH,qCAA6B,QAAQ;AACrC;AAAA,WAEG;AACH,oCAA4B,QAAQ;AACpC;AAAA,WAEG;AACH,kCAA0B,QAAQ;AAClC;AAAA,WAEG;AACH,gCAAwB,QAAQ;AAChC;AAAA,WAEG;AACH,sCAA8B,QAAQ;AACtC;AAAA,WAEG;AACH,gCAAwB,QAAQ;AAChC;AAAA,WAEG;AACH,2BAAmB,QAAQ;AAAA;AAI/B,QAAI,QAAQ,MAAM;AAChB,WAAK;AAAA;AAAA;;;AC9FH,MAAA,KAAK,OAAW;AACd,UAAA,IAAA;AAGF,QAAA,KAAA;AACA,WAAA;MAKD,IAAA,GAAA,GAAA,GAAA;AACD,eAAO,EAAS,KAAK,OAAA,GAAA,KAAA;UACnB,KAAI;UACF,IAAA;WAGF,OAAM,EAAgB,EAAW,GAAA,MAAA;;MAKlC,IAAA,GAAA,GAAA;AACL,YAAA,CAAA,KAAA,OAAA,EAAA,KAAA;AAGM,iBAAO;AACX,cAAQ,IAAe,EAAA;AACrB,eAAY,EAAU,QAAS,IAAA,EAAA,EAAA,MAAA;;MAEjC,OAAQ,GAAU,GAAK;AACrB,YAAA,OAAe,EAAI,KAAa;AACjC;AACD,cAAA,IAAqB,EAAA;AACnB,UAAQ,QAAO,KAAa,QAAA,EAAA,EAAA,KAAA,OAAA,EAAA;;;;AAjC1B,MCCJ,IAAA;IACE,QAAU,GAAA,IAAK,GAAA;AAA6B,SAAA,IACrC,GAAA,IAAA;;IAGX,QAEqB,GAAA,IAAY;AAC/B,aAAe,GAAQ,IAAA,GAAA;;IAGrB,WAAe,GAAQ,IAAA;AAMvB,SAAA,OAAkB,GAAU;;;ADlB1B,MCuBF,KAAa;ADvBX,MCuBW,KAAY;ADvBvB,MCuB4B,KAAU;ADvBtC,MCuBoD,KACzC,CAAA,MAAa,KAAM,OAAM,GAAA,MAG3B,GAAA,SAAyB,KAAM,GAAS,MAAM,eAAG,GAAA;AD3B1D,MC2B0D,KAAA,CAAA,MAAA;AAAA;AAG9D,WAAO,KAAA,MAAA,KAAA,WAAA;WAGuB,SAAY,eAAA;AAC1C,WAAM;;ADlCF,MCoCJ,KAAA,CAAI,MACK;AAIX,QAEM,KAA0B,EAAA,aAAY;AAC1C,QAAA,CAAA,MAAiB,OAAmB,KAAA;AAEpC,UAAA,IAAO,EAAW,aAAS;AAGvB,UAAmC,CAAC,KAAA,CAAY,EAAA,SAAA,QAAA,CAAA,EAAA,WAAA;AAChD,eAAC;AACH,QAAA,SAAO,QAAA,CAAA,EAAA,WAAA,QAAA,KAAA,IAAA,EAAA,MAAA,KAAA,OAAA,KAAA,KAAA,MAAA,MAAA,EAAA,SAAA;;AAOT,WAAM;;AD1DF,MC8DJ,KAAA,CAAI,MAA4B;AAalC,UAE6B,KAAC,GAAY;AACxC,WAAQ,MAAA,SAAkB,cAAqB,MAAA,KAAA;;AD9E3C,MCiFA,KAAY,CAAC,MACb;AA2CJ,UAAA,KAAO,GAAgB;AACrB,WAAA,KAAM,SACA,cACY,MAAS;;ADhIzB,MCkIF,KAAI,CAAC,MAAI;AACP,QAAA,CAAA;AAAU,aACL;AAEqB,QAChC,EAAA,oBAAA,IAAA,iBAAA,MAAA,OAAA,iBAAA;AAEA,UAAG,IAAA,OAAA,WAAA,KAAA,IAAA,OAAA,WAAA;AACH,WAEmB,CAAA,KAAY,CAAA,IAAA,IAAA,MAAA,GAAA,MAAA,KAAA,IAAA,IAAA,EAAA,MAAA,KAAA,IAAA,QAAA,WAAA,MAAA,OAAA,WAAA,MAAA;;AD5IzB,MC6IJ,KAAK,CAAA,MAAmB;AACtB,MAAA,cAAO,IAAA,MAAA;;AD9IL,MCiJJ,KAAY,CAAA,MAAA,CAAA,KAAiB,OAAA,KAAc,WAAQ,QAAW,QAAO,EAAA,SAAA,OAAA,KAAA,EAAA,KAAA,OAAA,EAAA,WAAA;ADjJjE,MCiJiE,MAAA,CAAA,MAAA,GAAA,KAAA,EAAA,SAAA,EAAA,KAAA,IAAA,OAAA,KAAA,YAAA,EAAA,SAAA,IAAA,SAAA,cAAA,KAAA;ADjJjE,MCiJiE,IAAA,CAAA,GAAA,IAAA,MAAA;AACnE,WAAA,KAAqB,GAAA,QAAA,CAAA,MAAwB;AAG7C,YAAA,IACE,EAAA,IAAA,IAAA,GAAA,IAAwB,IAAE,KAAA,GAAA,KAAA,YAAiB,GAAY;AAGzB,UAAA,CAAA,IAAA,OAAA,GAAA,KAAA;AAIlC,cAAO,IAAA,MAGU,GAAC,EAAA,0BACmB,qBAIzB,yBAAmB;;;ADrK3B,MCyLJ,KAAI,CAAA,MAAe;AACjB,QAAA,CAAA,KAAM,EAAO,iBAAQ,WAAA;AACrB,aAAO;AAAoC,QAAA,EAAA,SAAA,EAAA,cAAA,EAAA,WAAA,OAAA;AAG7C,YAAI,KAAA,iBAAmB,IACd,IAIJ,iBAIE,EAAe;AAGlB,aAAO,iBAAkB,GAAA,iBAAA,kBAAA,aAAA,GAAA,YAAA,UAAA,EAAA,YAAA,UAAA,GAAA,eAAA;;AAY7B,WAAQ;;ADtNJ,MCyNA,KAAY,CAAA,MAAM,CAAA,KAAA,EAAA,aAAA,KAAA,gBAAA,EAAA,UAAA,SAAA,cAAA,OAAA,OAAA,EAAA,WAAA,MAAA,EAAA,WAAA,EAAA,aAAA,eAAA,EAAA,aAAA,gBAAA;ADzNlB,MCyNkB,KAAA,CAAA,MAAA;AACtB,QAAA,CAAA,SAAQ,gBAAW;AAEnB,aAAI;AAKN,QAEM,OAEA,EAAA,eAAmC,YAAA;AACnC,YAAA,KAAS,EAAA;AAIP,aAA0B,cAAgC,aAAA,KAAA;;AAQlE,WAEc,aAAe,aAAA,IAAgB,EAAA,aAEvC,GAAA,EAAS,cACA;;ADvPT,MCgRA,MAAA,MAAoB,WAAA;;ADhRpB,MC2RF,KAAgB,MAAA;AAChB,UAAA,EAAA,QAAA,MAAA;AAAA,WAAA,KAAA,CAAA,SAAA,KAAA,aAAA,uBAAA,IAAA;;AD5RE,MC+RJ,KAAM;AD/RF,MC+RoB,KAClB,CAAA,MAC8C;AAEpD,aAAa,eAAA,YAAA,IAAA,UAAA,SAAA,iBAAA,oBAAA,MAAA;AAEb,SAAA,QAAmB,CAAA,OAAA;QACb,GAAA,KAAW,MAIN;;AD1SP,MC6SN,IAAA,MAAA,SAAA,gBAAA,QAAA;AD7SM,MC6SN,KAAA,CAAA,MAAA,SAAA,cAAA;AD7SM,MC6SN,KAAA,CAAA,MAAA;AAEE,WAAkB,KAAA,cAAwC;;AD/StD,MCiTF,KAAK,CACH,GAAqB,IAAiB,IAAA,SAAA;AAEzC,QAAkB,CAAA,GAAA;AAYf,SAAA;AAMJ;;AAIE,UAAA,IAAO,GAAM,IAAiB,GAAA,MAAsB;AAGtD,QAAA,IAAM;AAEN,UAAA,IAAA,CAAA,EAAS,QAAoB,QAEzB;AC/VA,YAAiB,MAAA,KAAA,MAAA,GAAA,oBAEjB,IAAgB,IAAA,GAAA;;AAGtB,OAAA,iBAAqB,IAAA,IAAA,WAAA,MAAA;AACnB,WAAA,GAAA;OACA;;AFOI,MEEJ,KAAA;AFFI,MEEJ,KAAA;AFFI,MEEJ,KAAA;AFFI,MEEJ,KAAA;AAAA,MACA,KAAA;AAAA,MACA,KAAA;IACA,YAAA;IACA,YAAA;;AAHA,MAIA,KAAA;AAJA,MAIA,KAAA,oBAAA,IAAA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACD;IAQD;IACE;IACF;IAEA;IACE;IAEA;IAIF;IAEA;IACE;IACE;;AAQJ,cAAA,GAAA,IAAA;AAEA,WAAS,MAA2B,GAAS,OAAc,UAAA,EAAA,YAAA;;AAEvD,cAAM,GAAc;AAEpB,UAAA,KAAA,GACQ;AAIN,WAAA,EAAA,WAAyB,IAAA,GAAA,MAAQ,GAAK,OAAA,IAAA,GAAA;;AAElC,cAAA,GAAA,IAAA;AAYN,WAAA,WAAO,GAAA;AACX,aAAA,EAAA,iBAAA,GAAA,EAAA,UAAA,EAAA,IAAA,GAAA,EAAA,MAAA,KAAA,GAAA,MAAA,GAAA,CAAA;;;AAIE,cAAqB,GAAA,IAAA,GAAO;AAE5B,WAAA,WAAgB,GAAM;AACpB,YAAM,IAAQ,EAAO,iBAAe;AAEpC,eACQ,EAAA,QAAA,MAAA,GAAoB,KACpB,MAAA,MAAA,IAAA,EAAA;AAEN,iBAAO,IAAA,EAAA,QAAA,KAAA;AAAA,cAAA,EAAA,OAAA;AAIJ,mBAAA,EAAA,iBAAA,GAAA,EAAA,UAAA,EAAA,IAAA,GAAA,EAAA,MAAA,IAAA,EAAA,MAAA,GAAA,CAAA;AACT,aAAA;;;AAME,cAAgB,GAA8B,IAAA,IAAA,MAAA;AAG9C,UAAA,IAF8B,OAAa,KAGzC;AAIJ,aAAA,IAAA,GAAA,IAAA,EAAA,QAAA,IAAA,GAAA,KAAA;AAEA,YAAS,IAAW,EAAS,EAAmB;AAC9C,UAAI,EAAA,oBAAyC,MAAC,EAAA,uBAAA;AAC5C,eAAA;;AAWA,WAAA;;AAOM,cAAA,GAAO,IAAG,GAAA;AAAgB,UAEpC,IAAA,OAAA,MAAA,UAAA,IAAA,IAAA,IAAA;AAGI,QAAI,IACF,GAAe;AAES,WAAA,GAAA,IAAA,MAAA,KAAA,IAAA,CAAA,GAAA,GAAA;;AAIqB,cAC/C,GAAA,IAAA,GAAA,GAAA,GAAA;AAAA,QACA,OAAA,MAAA,YAAA,CAAA;AACA;AACJ,QACQ,KAAkB,KAClB,GAAA,IAA2B,OAAM,GAAgB,KAAI,KACrD;AACJ,YAAA,IAAA,CAAA,MAAA,SAAA,GAAA;AACA,YAAA,CAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,CAAA,EAAA,eAAA,SAAA,EAAA;AACa,iBAAU,EAAA,KAAA,MAAA;;AAGzB,UAAI,IAAY,EAAA,KAAA,IAAA,EAAA;;AAGd,UAAA,CAAA,GAAA,GAAA,KAAA,GAAA,IAGF,GACE,IACA,IAAkB,GAAA,IAAQ,IAAkB,EAAA,MAAA,GAAA,KAAA,KAAA,IAAA,GAChD,GAKK,GAOL,IAAA,IAAA;AASE,QAAA,GAAM;AAED,QAAA,SAIG,EAAA,UAAA;AAEV;;AAGE,UAAM,IAAoB,GAE1B,GACE,GAAA,QAAe,IAAA,MACb,IAAA,IAAM,GAAQ,GAA4B,GAAA,KAAA,GAAA,GAAA;AAE1C,MAAA,qBAAA,IAAA,IAAA,MAAA,EAAA,kBAAA,GAAA,EAAA,SAAA,GAAA,EAAA,WAAA,GAAA,EAAA,KAAA,GAAA,EAAA,iBAAA,GAAA,GAAA;;AACE,cACA,GAAA,IAAA,GAAA,GAAA,GAAA;AAAA,UACA,IAAA,GAAA,GAAA,IAAA,GAAA;AAAA,SACA,GAAM,oBAAA,GAAA,GAAA,CAAA,CAAA,IAAA,OAAA,GAAA,GAAA,EAAA;;AACA,cACd,GAAA,IAAA,GAAA,GAAA;AAAA,UAAA,IAAA,GAAA,MAAA;AAEA,WAAG,KAAA,GAAA,QAAA,CAAA,MAAA;AACH,UAAA,EAAA,SAAA,IAAA;AAEA,cAAsB,IAAO,EAAA;AAE3B,WAEF,GAEM,IACQ,GACC,EAAS,iBACrB,EAAA;;;;AAOC,cAAI,GAAO;AACT,WAAA,IAAA,EAAA,QAAA,IAAA,KAAA,GAAA,MAAA;;AAG+C,MAC/C,IAAA;IAAA,GAAA,GACA,IAAA,GAAA,GAAA;AAAA,SACA,GAAA,IAAA,GAAA,GAAA;;IAMF,IAAA,GAAI,IAAA,GAAO,GAAA;AAET,SAAA,GAAI,IAAC,GAAU,GAAQ;;IAIvB,IAAA,GAAA,IAAA,GAAA,GAAA;AAAA,UACE,OAAA,MAAA,YAAA,CAAA;AAAA;AACA,YACA,CAAA,GAAA,GAAA,KAAA,GAAA,IACA,GAER,IACM,IAAA,MAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,WAAA;AAAA,UAAA,OAAA,IAAA,KAAA;AAGE,YACF,CAAA,KAAO,CAAA,EAAA;AACL;AAAA,WAEE,GACA,GACA,GACV,GACO,IAAA,IAAA;AAIH;;AAGE,WAAA,OAAoB,KAAkB,GAAA,QAAsB,CAAA,MAAA;AAC1D,WAEA,GAAA,GACE,GACA,GACA,MAAA;;AAEM,YAChB,IAAA,EAAA,MAAA;AAAA,aAAA,KAAA,GAAA,QAAA,CAAA,MAAA;AAEK,cAAA,IAAA,EAAA,QAAA,IAAA;AACF,YAAA,CAAA,KAAA,GAAA,SAAA,IAAA;AAED,gBAAiB,IAAO,EAAM;AACxB,aACF,GAGI,GAKF,GAMJ,EAAI,iBAcA,EAAA;;;;IAUI,QAAA,GAAA,IAAA,GAAY;AAAG,UAChB,OAAA,MAAA,YAAA,CAAA;AACX,eAAS;AACT,YAGQ,IACF,MAAI,IAAA,GAAA,KAAc,IAGhB,OACM,GAAA,IAAA,GAAA,IAAiB;AAQ5B,UAAA,GAAA,IAAA,MAAA,IAAA,MAAA,IAAA,OAAA,IAAA;AAGU,aAAoB,KAAA,KAAA,KAAA,EAAA,MAAA,IAAA,IAAA,EAAA,GAAA,QAAA,IAAA,IAAA,CAAA,EAAA,wBAAA,IAAA,CAAA,EAAA,iCAAA,IAAA,EAAA,uBAAA,IAAA,KAAA,SAAA,YAAA,eAAA,EAAA,UAAA,GAAA,GAAA,SAAA,IAAA,IAAA,YAAA,IAAA;QAC5B,SAA8B;QAC/B,YAA0B;UAE1B,OAAS,IAAI,OAAc,OAAA,KAAQ,GAAA,QAAA,CAAA,MAAA;AACjC,eAAgB,eAAyC,GAAA,GAAA;UAE5D,MAAA;AACY,mBAA4B,EAAc;;;UAItC,KAAI,EAAS,kBAAgC,KAAA,EAAA,cAAA,IAAA,EAAA,oBAAA,OAAA,IAAA,OAAA,EAAA,kBAAA;;;AAhIX,MCrPjD,KAAuB;AAA6B,iBACrD;IAAA,YAAA,IAAA;AAID,WAAA,IAAO,KAAA,MAAY,MAAS,WAAA,IAAA,EAAA,QAAA,KAAA,UAAA,KAAA,YAAA,UAAA;;IAE3B,UAAA;AAED,QAAA,WAAO,KAAA,UAA6B,KAAS,YAAI,WAAA,EAAA,IAAA,KAAA,UAAA,KAAA,YAAA,YAAA,OAAA,oBAAA,MAAA,QAAA,CAAA,OAAA;AAC/C,aACE,MAAK;;;IAMP,eAAO,IAAA,GAAA,IAAA,MAAA;AACR,SAAA,IAAA,GAAA;;WAIG,YAAA,IAAA;AACN,aAAA,EAAA,QAAA,IAAA,KAAA,KAAA;;WAGE,oBAAsB,IAAA,IAAA,IAAA;AACpB,aAAO,KAAA,YAAW,OAAA,IAAA,KAAA,IAAA,OAAA,KAAA,WAAA,IAAA;;eAGT,UAAA;AACT,aAAO;;eAEX,OAAA;AC3DA,YAAM,IAAO,MAUP;;eAIK,WAAA;AACR,aAAA,MAAA,KAAA;;eAIQ,YAAA;AAEP,aAAK,IAAA,KAAS;;;AGnChB,MAAA,IAAS;AAAT,MAAS,KAAU;AAAnB,MAAwB,KAAA;AAAxB,MAA2C,IAAA;AAA3C,MAA2C,KAAA;AAA3C,MAA2C,KAAA,CAAA,GAAA,IAAA,IAAA;AAA3C,MAA2C,KAAA;AAA3C,MAA2C,KAAA;AAA3C,MAA2C,KAAA;AAA3C,MAA2C,KAAA;AAA3C,MAA2C,KAAA;AAA3C,MAA2C,KAAA;AAA3C,MAA2C,KAAA,mBAAA,OAAA,SAAA,GAAA,IAAA;AACzC,WAAI,EAAA,OAAqB,CAAA,KAAA,MAAA,IAAA,KAAA,MAAA;KACzB;AAFF,MAEE,KAAqC,mBAAA,OAAe,IAAA,CAAA,KAAA,OAAA,SAAA,GAAA,IAAA;AAAA,WAAA,EAAA,OAAA,CAAA,IAAA,KAAA,MAAA,IAAA,KAAA,MAAA;KAGtD;AALA,MAKA,KAAO;AALP,MAKO,KAAA;AALP,MAKO,KAAA;AALP,MAKO,KAAA;AALP,MAKO,KAAA;AALP,MAKO,KAAA;AALP,MAKO,KAAA;AALP,MAKO,KAAA;AALP,MAKO,KAAA;AALP,MAKO,MAAA,CAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA;AACT,cAAA,GAAA;ACTA,WAAS,IAAU,GAAM,YAAA,IAAA,gBAAA;;AAEvB,cAAO,GAAA;AACT,QAAA,KAAA;AAEA,aAAS;AACP,QAAI,EAAA,eAA6B,mBAAA;AACjC,UAAA,KAAO,EAAA;AACT,aAAA,MAAA,GAAA,eAAA;;AAIE,WAAI;;AAIJ,cAAiB,GAAc;AAC/B,QAAA,KAAO,GAAA,GAAA;AACT,WAAA,aAAA,MAAA,aAAA;;ACfE,cAAiB,GAAA;AACjB,QAAA,KAAO,GAAA,GAAW;AAChB,WAAI,aAAyB,MAAK,aACX;;AAYrB,cAAI,GAAQ;AAEZ,QAAI,OAAU,aACJ;AAIhB,aAAK;AACL,QAAG,KAAA,GAAA,GAAA;AACH,WAAA,aAAA,MAAA,aAAA;;AAGE,cAAkB,GAAA;AACE,QAClB,KAAA,EAAQ;AAAA,WACN,KAAA,GAAU,UAAc,QAAA,SAAA,GAAA;AAAA,UACxB,IAAM,GAAA,OAAA,MAAA,IAAA,IAAA,GAAA,WAAA,MAAA,IAAA,IAAA,GAAA,SAAA;AAAA,OAAA,GACN,MAAK,CAAA,GAAA,MAAA,QAAA,OAAA,EAAA,OAAA,IAAA,OAAA,KAAA,GAAA,QAAA,SAAA,GAAA;AACL,YAAA,IAAQ,EAAA;AACT,cAAA,QAAA,EAAA,gBAAA,KAAA,EAAA,aAAA,GAAA,MAAA,OAAA,KAAA;;;;AAGA,cACD,GAAW;AACf,QAAA,KAAA,EAAA,OAAA,IAAA;MACE,QAAA;QAQE,UAAY,GAAM,QAAQ;QACxB,MAAI;QAKF,KAAA;QAED,QAAI;;MAQH,OAAQ;QAChB,UAAO;;MAEP,WAAA;;AAIA,WAAe,OAAA,OAAA,GAAA,SAAA,OAAA,OAAA,EAAA,SAAA,GAAA,SAAA,GAAA,GAAA,SAAA,SAAA,OAAA,OAAA,GAAA,SAAA,MAAA,OAAA,EAAA,QAAA,WAAA;AACb,aAAM,KAAA,GAAA,UAAA,QAAA,SAAA,GAAA;AACN,YAAA,IAAS,GAAA,SAAA,IAAA,IAAA,GAAA,WAAA,MAAA,IAAA,IAAA,OAAA,KAAA,GAAA,OAAA,eAAA,KAAA,GAAA,OAAA,KAAA,EAAA,KAAA,IAAA,EAAA,OAAA,SAAA,GAAA,GAAA;AACT,iBAAO,EAAA,KAAA,IAAA;WACH;AACJ,SAAA,GAAQ,MAAA,CAAA,GAAA,MAAA,QAAA,OAAA,EAAA,OAAA,IAAA,OAAA,KAAA,GAAA,QAAA,SAAA,GAAA;AACR,YAAA,gBAAW;;;;;AElFN,MAAI,MAAM;ICAF,MAAA;IACb,SAAa;IAEb,OAAI;IAEA,IAAA;IACN,QAAY;IAIZ,UAAA,CAAA;;ACRE,cAAQ,GAAA;AACV,WAAA,EAAA,MAAA,KAAA;;ACEE,MAAI,KAAiB,KAAA;AAArB,MACE,KAAe,KAGb;AAJJ,MAIwB,KAAA,KAAA;AAIxB,gBAAyB;AAIrB,QAAA,IAA8B,UAChC;AAIF,WAAI,KAAwB,QAAqB,EAAA,UAC7C,MAAsB,QAAA,EAAA,UAEH,EAAC,OAAsB,IAC1C,SAAgB,IAAA;AAIpB,aAAO,GAAA,QAAA,MAAA,GAAA;OACL,KAAA,OAAO,UAAA;;AACC,gBACH;AAAA,WACL,CAAA,iCAAW,KAAA;;AACC,cACN,GAAA,IAAA,GAAA;AAAA,WACH,UAAA,MAAA,QAAA,MAAA,UAAA,KAAA;AAAA,QACH,IAAG,EAAA,yBAAA,IAAA,GAAA,IAAA;AACP,UAAA,GAAA,MAAA,KAAA,EAAA,cAAA,KAAA,GAAA,EAAA,SAAA,EAAA,eAAA,GAAA,IAAA,EAAA,eAAA,KAAA,GAAA,EAAA,UAAA,EAAA,gBAAA;AACA,QAAA,IAAA,GAAA,KAAA,GAAA,KAAA,QAAA,IAAA,EAAA,gBAAA,IAAA,CAAA,QAAA,GAAA,IAAA,GAAA,OAAA,MAAA,IAAA,EAAA,aAAA,MAAA,GAAA,IAAA,GAAA,MAAA,MAAA,IAAA,EAAA,YAAA,MAAA,GAAA,IAAA,EAAA,QAAA,GAAA,IAAA,EAAA,SAAA;ACrCe,WAAS;MACtB,OAAiB;MAMjB,QAAI;MASF,KAAW;MACX,OAAW,IAAA;MACX,QAAO,IAAA;MACP,MAAA;MACJ,GAAA;MACA,GAAA;;;ACpBE,cAAW,GAAA;AACT,QAAA,KAAA,GAAO,IAAA,IAAA,EAAA,aAAA,IAAA,EAAA;AAEJ,WAAI,KAAyB,IAAW,GAAA,QAAA,MAAA,KAAA,KAAA,GAAA,QAAA,KAAA,IAAA,GAAA,SAAA,MAAA,KAAA,KAAA,GAAA,SAAA;MACzC,GAAA,EAAI;MAEJ,GAAG,EAAA;MACD,OAAI;MACF,QAAA;;;AAKK,cAAA,GAAA,IAAA;AAIb,QAAA,IAAO,GAAA,eAAA,GAAA;AACT,QAAA,EAAA,SAAA;ACrBe,aAAS;AACtB,QAAA,KAAO,GAAiB,IAAE;AAC5B,UAAA,IAAA;ACFe,SAAA;AACb,YAAQ,KAAA,EAAA,WAAe;AACzB,iBAAA;ACFe,YAAS,EAAmB,cAAS,EAAA;eAEzC;;AAA6B,WAC9B;;AACV,cAAA,GAAA;ACFe,WAAS,GAAc,GAAS,iBAAA;;AAEpC,cAAA,GAAA;AAAA,WAAA,CAAA,SAAA,MAAA,MAAA,QAAA,GAAA,OAAA;;AAAA,cAMC,GAAA;AAAA,WACA,KAAA,KAAA,EAAA,gBAC+B,EAAA,aAEb,OAAA,UAAA;;AAG9B,cAAA,GAAA;ACVA,WAAS,GAAoB,OAAS,SAAA,IAWtC,EAAA,gBACE,EAAI,cAGJ,IAAI,KAAQ,EAAqB,OAAG,SAIlC,GAAA;;AAKF,cAAkB,GAAqB;AAMvC,WAJI,CAAa,GAAW,MAK1B,GAAA,GAAI,aAAkC,UAAA,OAAA,EAAA;;AAKpC,cAAA,GAAO;AAEP,QAAA,KAA0B,WAAA,KAAA,OAAA,IAAA,WAAA,KAAA;AAAA,QAAA,KAAA,GAAA,IAAA;AAI9B,UAAA,IAAO,GAAA;AACT,UAAA,EAAA,aAAA;AAIe,eAAyB;;AAKpC,QAAA,IAAe,GAAgC;AAGjD,SAAA,GAAI,MAAiB,KAAwB,EAAA,OAAM,GAAA,MAAkC,CAAA,QAAM,QAAU,QAA+B,GAAA,MAAA,KAAa;AAKnJ,UAAA,IAAA,GAAA;ACpEe,UAAA,EAAS,cAAoC,UAAA,EAAA,gBAAA,UAAA,EAAA,YAAA,WAAA,CAAA,aAAA,eAAA,QAAA,EAAA,gBAAA,MAAA,MAAA,EAAA,eAAA,YAAA,MAAA,EAAA,UAAA,EAAA,WAAA;AAC1D,eAAQ;AACV,UAAA,EAAA;;ACAE,WAAO;;AAEF,cAAwB,GAAK;AAClC,aAAQ,KAAO,GAAK,IAAU,IAAA,GAAA,IAAA,KAAA,GAAA,MAAA,GAAA,GAAA,aAAA;AAC9B,UAAA,GAAO;AACT,WAAA,KAAA,IAAA,OAAA,UAAA,GAAA,OAAA,UAAA,GAAA,GAAA,aAAA,YAAA,KAAA,KAAA,GAAA,MAAA;;ACNE,cAAO,GAAA;AAAA,WACA,CAAA,OAAA,UAAA,QAAA,MAAA,IAAA,MAAA;;AACE,cACC,GAAA,IAAA,GAAA;AAAA,WACR,GAAM,GAAA,GAAA,IAAA;;AAEV,cAAA,GAAA,IAAA,GAAA;ACNe,QAAA,IAAS,GAAmB,GAAe,IAAA;AACxD,WAAO,IAAA,IAAO,IAAA;;ACFD,gBAAyB;AACtC,WAAO;MACL,KAAA;MAED,OAAI;MACP,QAAA;MCMI,MAAkB;;;AAED,cAEZ,GAAmB;AAC5B,WAAA,OAAA,OAAA,IAAA,MAAA;;AAGE,cAEI,GAAa,IAAA;AAUjB,WAAK,GAAA,OAAiB,SAItB,GAAA,GAAA;AAAA,aAAI,EAAgB,KAAwB,GAAA;OAiB5C;;AACF,MAAA,KAAA,SAAA,IAAA,GAAA;AAEA,WAAS,KAAO,OAAO,MAAA,aAAA,GAAA,OAAA,OAAA,IAAA,EAAA,OAAA;MACrB,WAAkB,EAAA;UAKd,IAAgB,GAAA,OAKhB,MAAA,WAAwB,KAAA,GAAA,IAC1B;;AAcA,cAAgB,GAAA;AAIhB,QAAA,IAAA,IAAA,EAAA,OAAA,IAAA,EAAA,MAAA,IAAA,EAAA,SAAA,IAAA,EAAA,SAAA,OAAA,IAAA,EAAA,cAAA,eAAA,IAAA,GAAA,EAAA,YAAA,IAAA,GAAA,IAAA,IAAA,CAAA,GAAA,IAAA,QAAA,MAAA,GAAA,IAAA,IAAA,WAAA;AAAA,QAAA,CAAA,EAAA,KAAA,CAAA,IAAA;AAGF,UAAM,IAAA,GAAS,EAAA,SAAQ,IAAA,IAAA,GAAA,IAAA,IAAA,MAAA,MAAA,IAAA,GAAA,IAAA,MAAA,MAAA,KAAA,IAAA,IAAA,EAAA,MAAA,UAAA,KAAA,EAAA,MAAA,UAAA,KAAA,EAAA,KAAA,EAAA,MAAA,OAAA,IAAA,IAAA,EAAA,KAAA,EAAA,MAAA,UAAA,IAAA,KAAA,GAAA,IAAA,IAAA,KAAA,MAAA,MAAA,GAAA,gBAAA,IAAA,GAAA,eAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,EAAA,IAAA,IAAA,IAAA,EAAA,KAAA,EAAA,IAAA,IAAA,IAAA,IAAA,EAAA,KAAA,IAAA,GAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA;AAAA,QAAA,cAAA,KAAA,MAAA,IAAA,GAAA,KAAA,GAAA,GAAA,eAAA,IAAA,GAAA;;;AAIV,cACP,GAAA;AACN,QAAA,KAAA,EAAS,OAAA,IAAA,EAAA,SAAA,IAAA,EAAA,SAAA,IAAA,MAAA,SAAA,wBAAA;AACT,QAAA,KAAO,QAAA,CAAA,QAAA,KAAA,YAAA,KAAA,GAAA,SAAA,OAAA,cAAA,IAAA,CAAA,KAAA;AACP,UAAI,GAAA,aAAA,gBAAA,IAAA,MAAA,QAAA,MAAA,CAAA,uEAAA,uEAAA,cAAA,KAAA,QAAA,CAAA,GAAA,GAAA,SAAA,QAAA,IAAA;AACJ,QAAA,KAAQ,aAAA,gBAAA,QAAA,MAAA,CAAA,uEAAA,YAAA,KAAA;AACR;;AAEF,SAAA,SAAA,QAAA;;;AClGA,MAAA,KAAA;ICOA,MAAI;IACF,SAAK;IACL,OAAO;IACP,IAAA;IACA,QAAM;IACR,UAAA,CAAA;IAIA,kBAAsC,CAAA;;AAIpC,cAAO,GAAA;AAAA,WACF,EAAM,MAAO,KAAI;;AACO,MAC/B,KAAA;IACA,KAAA;IAEO,OAAS;IACd,QAEI;IAe0D,MACzD;;AACA,cACA,GAAA,IAAA;AAAA,QACH,IAAG,EAAA,GAAA,IAAA,EAAA,GAAA,IAAA,GAAA,oBAAA;AAAA,WACA;MACP,GAAA,GAAA,IAAA,KAAA,KAAA;MAEE,GAAI,GAAM,IACV,KAAU,KAAA;;;AAQR,cAAmB,GAAgB;AAgBnC,QAAA,IAZI,IAAA,EAAiB,QAAgB,IACnC,EAAe,YAEoB,IAAA,EAAA,WAAa,IAAA,EAAA,WAAyB,IAAA,EAAA,SACvE,IAAa,EAAA,UAAA,IACb,EAAY,iBAKhB,IAAe,EAEX,UAAc,IAAQ,EAAA,cAAoC,IAAA,EAAU,SAAc,IAAK,EAAA,GAAA,IAAA,MAAA,SAAA,IAAA,GAAA,IAAA,EAAA,GAAA,IAAA,MAAA,SAAA,IAAA,GAAA,IAAA,OAAA,KAAA,aAAA,EAAA;MACzF,GAAA;MACA,GAAA;SAAyF;MAAA,GAAA;MAClE,GAAA;;AAEI,QAAA,EAAA,GAAA,IAAA,EAAA;AAG7B,QAAA,KAAI,EAAA,eAAqC,MAAO,IAAc,EAAA,eAA8B,MAAA,IAAA,GAAA,IAAA,GAAA,IAAA;AAC1F,QAAA,GAAA;AACA,UAAA,IAAI,GAAU,IAAW,IAAA,gBAA4B,IAAA;AAAoC,UAAA,MAAA,GAAA,MAAA,KAAA,GAAA,IAAA,GAAA,GAAA,aAAA,YAAA,MAAA,cAAA,KAAA,gBAAA,IAAA,iBAAA,IAAA,GAAA,MAAA,KAAA,OAAA,KAAA,MAAA,OAAA,MAAA,IAAA;AAAA,YAC5E;AAAS,YAAA,IAAA,KAAA,MAAA,KAAA,EAAA,iBAAA,EAAA,eAAA,SAEK,EAAA;AAI3B,aAAe,IAAA,EAAO,QAAO,KAAA,IAAA,IAAA;;AAEnC,UAAK,MAAsB,KAEb,OAAiB,KAAO,MAAkB,OAAA,MAAA,IAAA;AACpD,YAAG;AACH,YAAG,IAAA,KAAA,MAAA,KAAA,EAAA,iBAAA,EAAA,eAAA,QAEA,EAAA;AAEP,aAAA,IAAA,EAAA,OAAA,KAAA,IAAA,IAAA;;;AAQI,QAAA,IAAA,OAAO,OAAO;;OAGhB,KAAO,KAAA,IAAO,MAAS,OAAE,GAAe;MAC1C,GAAA;MAEA,GAAA;OACE,GAAI,MAAc;MASlB,GAAe;MACb,GAAA;;AAGE,QAAA,IAAA,EAAA,GAA0B,IAAA,EAAA,GAAgB,GAAA;AAChD,UAAK;AACsJ,aAAA,OAAA,OAAA,IAAA,GAAA,KAAA,IAAA,EAAA,KAAA,IAAA,MAAA,IAAA,EAAA,KAAA,KAAA,MAAA,IAAA,EAAA,YAAA,GAAA,oBAAA,MAAA,IAAA,eAAA,IAAA,SAAA,IAAA,QAAA,iBAAA,IAAA,SAAA,IAAA,UAAA;;AAAmQ,WAAA,OAAA,OAAA,IAAA,GAAA,MAAA,IAAA,GAAA,KAAA,IAAA,IAAA,OAAA,IAAA,GAAA,KAAA,KAAA,IAAA,OAAA,IAAA,GAAA,YAAA,IAAA;;AAA8J,cAAA,GAAA;AAI1jB,QAAI,KAAe,EAAA,OAAA,IAAA,EAAA,SAAA,IAAA,EAAA,iBAAA,IAAA,MAAA,SAAA,OAAA,GAAA,IAAA,EAAA,UAAA,IAAA,MAAA,SAAA,OAAA,GAAA,IAAA,EAAA,cAAA,IAAA,MAAA,SAAA,OAAA;AAAA,QACjB,GAAA,aAAkC,cAAS;AAC3C,UAAA,IAAA,GAAW,GAAA,SAAmB,QAAS,sBAAA;AACvC,WAAA,CAAA,aAAuB,OAAA,SAAA,UAAA,QAAA,KAAA,SAAA,GAAA;AACvB,eAAA,EAAA,QAAkB,MAAM;YACxB,QAAA,KAAiB,CAAA,qEAAA,kEAAA;;GAErB,sEAAA,mEAAA,sEAAA,4CAAA;;GAG6G,sEAC1E,uEAAA,KAAA;;AACL,QACxB,IAAA;MACA,WAAA,GAAc,GAAA;MACd,WAGM,GAAA,GAAA;MAEN,QAAA,GAAS,SAAM;MACf,YAAU,GAAA,MAAA;MACV,iBAAU;MACV,SAAA,GAAA,QAAc,aAAA;;AAImD,OACnE,cAAA,iBAA+B,QAAA,IAAA,OAAA,SAAA,OAAA,OAAA,IAAA,GAAA,OAAA,QAAA,GAAA,OAAA,OAAA,IAAA,GAAA;MAChC,SAAA,GAAA,cAAA;MACH,UAAA,GAAA,QAAA;MAGA,UAAe;MACb,cAAM;WACN,GAAS,cAAA,SAAA,QAAA,IAAA,OAAA,QAAA,OAAA,OAAA,IAAA,GAAA,OAAA,OAAA,GAAA,OAAA,OAAA,IAAA,GAAA;MACT,SAAO,GAAA,cAAA;MACP,UAAI;MACJ,UAAQ;MACV,cAAA;WCjLc,GAAA,WAAA,SAAA,OAAA,OAAA,IAAA,GAAA,WAAA,QAAA;MACZ,yBAAS,GAAA;;;AAIT,MAAI,MAAQ;IAUZ,MAAA;IAEI,SAAa;IACnB,OAGM;IAKF,IAAI;IAEA,MAAa;;AAK8C,MAEnE,KAAA;IACA,SAAA;;AAGe,cACP,GAAA;AACN,QAAA,KAAA,EAAS,OAAA,IAAA,EAAA,UAAA,IAAA,EAAA,SAAA,IAAA,EAAA,QAAA,IAAA,MAAA,SAAA,OAAA,GAAA,IAAA,EAAA,QAAA,IAAA,MAAA,SAAA,OAAA,GAAA,IAAA,GAAA,GAAA,SAAA,SAAA,IAAA,GAAA,OAAA,GAAA,cAAA,WAAA,GAAA,cAAA;AACT,WAAO,KAAA,EAAA,QAAA,SAAA,GAAA;AACP,QAAI,iBAAc,UAAA,EAAA,QAAA;QAAE,KAAA,EAAA,iBAAA,UAAA,EAAA,QAAA,KAAA,WAAA;AACpB,WAAA,EAAQ,QAAA,SAAA,GAAA;AACR,UAAM,oBAAE,UAAA,EAAA,QAAA;UACV,KAAA,EAAA,oBAAA,UAAA,EAAA,QAAA;;;AC/CQ,MACN,KAAO;IACP,MAAA;IACA,SAAK;IACP,OAAA;IACe,IAAA,WAAyC;;IAEpD,QAAA;IACJ,MAAG;;ACTH,MAAI,KAAO;IACT,MAAA;IACA,OAAK;IACP,QAAA;IACe,KAAA;;AAEX,cAAO,GAAY;AACvB,WAAG,EAAA,QAAA,0BAAA,SAAA,IAAA;AACH,aAAA,GAAA;;;ACHE,MAAA,KAAO;IAAA,OACL;IAAY,KACZ;;AAEJ,cAAA,GAAA;ACNe,WAAS,EAAA,QAA6B,cAAA,SAAA,IAAA;AAQnD,aAAO,GAAsB;;;ACN7B,eAAU,GAAiB;AAQ3B,QAAI,KAAgB,GAAA,IAAA,IAAA,GAAA,aAAA,IAAA,GAAA;AAClB,WAAQ;MAER,YAAqB;MAErB,WAAuB;;;AAMlB,cACE,GAAA;AAAA,WACP,GAAQ,GAAA,IAAA,OAAA,IAAA,GAAA;;AAC0B,cAC/B,GAAA,IAAA;AACP,QAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,EAAA,gBAAA,IAAA,EAAA,aAAA,IAAA,EAAA,cAAA,IAAA,GAAA,IAAA;AACA,QAAA,GAAA;ACvBe,UAAA,EAAS,OAAyB,IAAA,EAAA;AAC/C,UAAI,IAEA;AAQJ,MAAA,MAAI,CAAA,KAAiB,OAAc,YAAc,KAAA,EAAA,YACtC,IAAK,EAAA;;AAIP,WACP;MACA,OAAG;MACH,QAAG;MACP,GAAA,IAAA,GAAA;MACA,GAAA;;;ACpBE,cAAO,GAAA;AACT,QAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,MAAA,EAAA,kBAAA,OAAA,SAAA,GAAA,MAAA,IAAA,GAAA,EAAA,aAAA,EAAA,aAAA,IAAA,EAAA,cAAA,GAAA,IAAA,EAAA,cAAA,IAAA,IAAA,GAAA,EAAA,cAAA,EAAA,cAAA,IAAA,EAAA,eAAA,GAAA,IAAA,EAAA,eAAA,IAAA,IAAA,CAAA,EAAA,aAAA,GAAA,IAAA,IAAA,CAAA,EAAA;ACLe,WAAS,GAAgB,KAAM,GAAA,cAAA,SAAA,MAAA,GAAA,EAAA,aAAA,IAAA,EAAA,cAAA,KAAA,IAAA;MAC5C,OAAK;MAUP,QAAA;MCJe,GAAA;MACb,GAAI;;;AAWJ,eAAO,GAAS;AAAA,QAAA,KAAA,GAAA,IAAA,IAAA,GAAA,UAAA,IAAA,GAAA,WAAA,IAAA,GAAA;AAAA,WACJ,6BAA+C,KAAA,IAAA,IAAA;;AAC7D,cAAA,GAAA;ACzBe,WAAS,CAAA,QAAuB,QAAA,aAAA,QAAA,GAAA,OAAA,IAAA,EAAA,cAAA,OAAA,GAAA,MAAA,IAAA,KAAA,IAAA,GAAA,GAAA;;AACd,cAClB,GAAA,IAAA;AAAA,QACX;AAAU,WACV,UAAqB,MAAA;AAAA,QACrB,IAAA,GAAQ,IAAK,IAAS,MAAA,MAAA,EAAA,kBAAA,OAAA,SAAA,EAAA,OAAA,IAAA,GAAA,IAAA,IAAA,IAAA,CAAA,GAAA,OAAA,EAAA,kBAAA,IAAA,IAAA,KAAA,IAAA,MAAA,GAAA,IAAA,GAAA,OAAA;AAC1B,WAAG,IAAA,ICSH,EAAA,OAAoC,GAAS,GAAU;;AAWvD,cAAA,GAAA;AAEA,WAAS,OAAoC,OAA0B,IAAA,GAAA;MACrE,MAAO,EAAA;MACT,KAAA,EAAA;MAKA,OAAS,EAAmB,IAAS,EAAA;MACnC,QAAsB,EAAkB,IAAsB,EAAA;;;AAUoD,cALzG,GAAA,IAAA;AAOX,QAAA,IAAA,GAAA,GAAA,OAAA,OAAA;AAIe,WAAS,EAAA,MAAyB,EAAU,MAAwB,EAAA,WAAA,EAAA,OAAA,EAAA,OAAA,EAAA,YAAA,EAAA,SAAA,EAAA,MAAA,EAAA,cAAA,EAAA,QAAA,EAAA,OAAA,EAAA,aAAA,EAAA,QAAA,EAAA,aAAA,EAAA,SAAA,EAAA,cAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,KAAA;;AAK/E,cAAW,GAA2B,IAAS,GAAgB;AAC/D,WAAA,OAAQ,KAAM,GAAI,GAAK,GAAK,MAAW,GACvC,MAAQ,GAAA,IAAQ,KAAS,GAAA,GAAO,GAAQ;;AAK1C,cAAa,GAAA;AAKf,QAAA,KAAA,GAAA,GAAA,KAAA,IAAA,CAAA,YAAA,SAAA,QAAA,GAAA,GAAA,aAAA,GAAA,IAAA,KAAA,GAAA,KAAA,GAAA,KAAA;ACjEe,WAAS,GAAe,KAAM,GAAA,OAAA,SAAA,GAAA;AAC3C,aAAgB,GAAK,MAAA,GACjB,GAAA,MAAe,GAAA,OACH;SAOhB;;AAEI,cAAU,GAAA,IAAA,GAAA,GAAA;AAAA,QAAA,IACR,OAAG,oBAAA,GAAA,KAAA,GAAA,OAAA,KAAA,IAAA,GAAA,OAAA,GAAA,CAAA,KAAA,IAAA,EAAA,IAAA,IAAA,EAAA,OAAA,SAAA,GAAA,GAAA;AAAA,UACH,IAAG,GAAU,GAAI,GAAQ;AAAA,aACjC,EAAA,MAAA,GAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,GAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,GAAA,EAAA,QAAA,EAAA,SAAA,EAAA,OAAA,GAAA,EAAA,MAAA,EAAA,OAAA;OACM,GAAA,GAAA,GAAA;AAAA,WAEG,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,SAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,KAAA;;AACO,cACL,GAAA;AAAA,QAAA,KACH,EAAG,WAAwB,IAAA,EAAA,SAAA,IAAA,EAAA,WAAA,IAAA,IAAA,GAAA,KAAA,MAAA,IAAA,IAAA,GAAA,KAAA,MAAA,IAAA,GAAA,IAAA,GAAA,QAAA,IAAA,EAAA,QAAA,GAAA,IAAA,GAAA,IAAA,GAAA,SAAA,IAAA,EAAA,SAAA,GAAA;AAAA,YACnC;WACM;AAEF,YAAK;UACH,GAAU;UACR,GAAG,GAAU,IAAI,EAAU;;AAEnC;WACM;AAEF,YAAK;UACH,GAAU;UACR,GAAG,GAAU,IAAI,GAAQ;;AAEjC;WACM;AAEF,YAAA;UACE,GAAU,GAAA,IAAA,GAAA;UACR,GAAG;;AAEX;WACG;AAEG,YAAW;UAEX,GAAY,GAAA,IAAM,EAAA;UAChB,GAAA;;AAGF;;AAEE,YAAA;UAEF,GAAK,GAAA;UACH,GAAgB,GAAA;;;AAInB,QAAA,IAAA,IAAA,GAAA,KAAA;AAGH,QAAA,KAAO,MAAA;AACT,UAAA,IAAA,MAAA,MAAA,WAAA;AC3De,cAAwB;aACrB;AAIZ,YAAW,KACX,EAAqB,KAAS,IAAA,KAC9B,IAAY,EAAA,KAAuB;AAoBrC;aACA;AACA,YAAA,KAAU,EAAA,KAAA,IAAA,KAAA,IAAA,EAAA,KAAA;AACV;;;AAOoE,WACpE;;AACuE,cAChE,GAAkB,IAAA;AAC7B,WACM,UAAmB,MAAA;AAEvB,QAAI,IAAA,IAAmB,IAAA,EAAU,WAAY,IAAA,MAAA,SAAA,EAAA,YAAA,GAAA,IAAA,EAAA,UAAA,IAAA,MAAA,SAAA,EAAA,WAAA,GAAA,IAAA,EAAA,UAAA,IAAA,MAAA,SAAA,KAAA,GAAA,IAAA,EAAA,cAAA,IAAA,MAAA,SAAA,KAAA,GAAA,IAAA,EAAA,gBAAA,IAAA,MAAA,SAAA,KAAA,GAAA,IAAA,EAAA,aAAA,IAAA,MAAA,SAAA,QAAA,GAAA,IAAA,EAAA,SAAA,IAAA,MAAA,SAAA,IAAA,GAAA,KAAA,GAAA,OAAA,KAAA,WAAA,IAAA,GAAA,GAAA,MAAA,IAAA,MAAA,KAAA,KAAA,IAAA,IAAA,EAAA,MAAA,QAAA,IAAA,EAAA,SAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,KAAA,IAAA,EAAA,kBAAA,GAAA,EAAA,SAAA,SAAA,GAAA,GAAA,IAAA,IAAA,GAAA,EAAA,SAAA,YAAA,IAAA,GAAA;MAC3C,WAAiC;MACjC,SAAO;MACL,UAAI;MAEJ,WAAwB;QACzB,IAAA,GAAA,OAAA,OAAA,IAAA,GAAA,KAAA,IAAA,MAAA,KAAA,IAAA,GAAA,IAAA;MAAA,KAAA,EAAA,MAAA,EAAA,MAAA,GAAA;MAGH,QAAO,EAAA,SAAA,EAAA,SAAA,GAAA;MACT,MAAA,EAAA,OAAA,EAAA,OAAA,GAAA;MC5De,OAAS,EAAqB,QAAgB,EAAA,QAAA,GAAA;OACvD,IAAY,EAAA,cACJ;AAGZ,QAAI,MAAW,MACC,GAAS;AASvB,UAAA,IAAO,EAAa;AACrB,aACG,KAAoB,GAAW,QAAO,SAAqB,GAAA;AAC7D,YAAA,KAA6B,CAAA,IAAA,IAAiB,QAAK,MAAA,IAAA,IAAA,IAAA,MAAA,CAAA,GAAA,IAAA,QAAA,MAAA,IAAA,MAAA;AACpD,UAAA,MAAA,EAAA,OAAA;;;AAYC,WAAA;;AACa,cACX,GAAA,IAAU;AAAA,WACV,UAAA,MAAc;AAAA,QACd,IAAA,IAAA,IAAS,EAAA,WAAA,IAAA,EAAA,UAAA,IAAA,EAAA,cAAA,IAAA,EAAA,SAAA,IAAA,EAAA,gBAAA,IAAA,EAAA,uBAAA,IAAA,MAAA,SAAA,KAAA,GAAA,IAAA,GAAA,IAAA,IAAA,IAAA,IAAA,KAAA,GAAA,OAAA,SAAA,GAAA;AACf,aAAiC,GAAC,OACvB;SACJ,IAAA,IAAA,EAAA,OAAA,SAAA,GAAA;AACL,aAAO,EAAA,QAAY,MAAW;;AAEhC,MAAG,WAAA,KAAA,KAAA,GAAA,GAAA,aAAA,gBAAA,QAAA,MAAA,CAAA,gEAAA,mEAAA,8BAAA,+DAAA,6BAAA,KAAA;AACH,QAAA,IAAA,EAAA,OAAA,SAAA,GAAA,GAAA;ACtCA,aAAS,EAA8B,KAAW,GAAA,GAAA;QAC5C,WAAgC;QAClC,UAAO;QAGL,cAAkD;QACtD,SAA+C;SACjD,GAAA,KAAA;OAEA;AACE,WAAI,OAAa,KACb,GAAU,KAAK,SACR,GAAK,GAAA;AAEhB,aAAU,EAAA,KAAA,EAAA;;;AAqB6E,cACnF,GAAA;AAAW,QAAA,GACX,OAAA;AAAU,aACV;AAAc,QAAA,KACd,GAAA;AAAS,WACT,CAAA,GAAA,IAAA,IAAA,GAAA;;AACuB,cACpB,GAAS;AAAA,QACf,KAAI,EACD,OAAsB,IAAA,EAAM,SAAA,IAC5B,EAAa;AAMf,QAAA,CAAA,GAAA,cAEI,GAAiB,OAEjB;AAGiC,eACnC,IAAA,EAAW,UAAA,IAAA,MAAA,SAAA,OAAA,GAAA,IAAA,EAAA,SAAA,IAAA,MAAA,SAAA,OAAA,GAAA,IAAA,EAAA,oBAAA,IAAA,EAAA,SAAA,IAAA,EAAA,UAAA,IAAA,EAAA,cAAA,IAAA,EAAA,aAAA,IAAA,EAAA,gBAAA,IAAA,MAAA,SAAA,OAAA,GAAA,IAAA,EAAA,uBAAA,IAAA,GAAA,QAAA,WAAA,KAAA,GAAA,IAAA,IAAA,OAAA,GAAA,IAAA,KAAA,MAAA,CAAA,IAAA,CAAA,GAAA,MAAA,GAAA,KAAA,IAAA,CAAA,GAAA,OAAA,GAAA,OAAA,SAAA,IAAA,IAAA;AAAA,eACX,GAAA,OAAU,GAAA,QAAA,KAAA,GAAA,IAAA;UACV,WAAA;UACA,UAAA;UACA,cAAS;UACV,SACuB;UAEN,gBAChB;UAGF,uBACa;aAET;SASF,KAAA,IAAO,GAAA,MAAA,WAAA,IAAA,GAAA,MAAA,QAAA,IAAA,oBAAA,OAAA,IAAA,MAAA,IAAA,EAAA,IAAA,IAAA,GAAA,IAAA,EAAA,QAAA,KAAA;AACb,YAAQ,IAAA,EAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,OAAA,IAAA,KAAA,CAAA,GAAA,IAAA,QAAA,MAAA,GAAA,MAAA,KAAA,UAAA,UAAA,IAAA,GAAA,IAAA;UACF,WACqB;UACrB,UAAA;UAAA,cAAA;UAGQ,aAAqB;UAAA,SAAA;YAG7B,KAAA,KAAA,IAAA,KAAA,IAAA,IAAA,KAAA;AAqBF,UAAA,OAAA,EAnBI,QAAkC,MAAI,GAEtC;AACF,YAAA,KAAI,GAAmB,KAAW,KAAK;AACrC,YAAA,KAAI,GAAA,KAAmB,EAAI,MAAS,IAAA,KAAA,GAAA,KAAA,EAAA,OAAA,GAAA,EAAA,OAAA,IAAA,GAAA,MAAA,SAAA,IAAA;AAEpC,iBAAI;YACF;AACE,cAAA,GAAA,IAAA;AAAO;;AAKb,UAAA,IAAI,GAAA;;AAEK,UAEf;AAGM,iBAAI,KAAa,IAAE,IAAA,GAAA,KAAA,SAAA,IAAA;AAEnB,cAAI,KAAA,EAAS,KAAA,SAAA,IAAA;AAAS,gBAAA,MAAA,EAAA,IAAA;AAAA,gBAAA;AAIhB,qBAAA,IAAc,MAChB,GAAA,IAAA,MAAA,SAAoB,IAAQ;AAEpB,uBAAA;;;AAMV,cAAA;AACN,mBAAS,IAAA,IAAA;WACF,KAAA,IAAA,KAAA,GAAA,MAAA;AACH,cAAA,KAAA,GAAA;AACJ,cAAA,OAAA;AACM;;AAEL,SAAA,cAAA,KAAA,IAAA,cAAA,GAAA,QAAA,MAAA,GAAA,YAAA,GAAA,GAAA,QAAA;;;AC7ID,MAAA,KAAI;IACiB,MACd;IAAA,SACA;IACT,OAGS;IAAA,IACL;IAAmD,kBACnC,CAAQ;IAA8B,MACtD;MACA,OAAM;;;AAIV,cAA+B,GAAU,IAAA,GAAA;AACvC,WAAO,MAAM,UAAqB,KAAK;MACrC,GAAA;MACD,GAAA;QACH;MAEA,KAAS,EAAA,MAAW,GAAA,SAAA,EAAA;MAClB,OAAY,EAAK,QACb,GAAO,QACP,EAAA;MAIF,QAAA,EAAA,SAAgB,GAAA,SAAA,EAAA;MACjB,MACuB,EAAA,OAAsB,GAAA,QAAA,EAAA;;;AAO9C,cAAM,GAAA;AAAsB,WAC1B,CAAA,GAAA,IAAA,IAAA,GAAA,KAAA,SAA0B,IAAA;AAC1B,aAAA,EAAA,OAAA;;;AAEkB,cAEd,GAAA;AAA+D,QACnE,KAAA,EAAA,OAAA,IAAA,EAAA,MAAA,IAAA,GAAgC,MAAA,WAAA,IAAA,GAAA,MAAA,QAAA,IAAA,GAAA,cAAA,iBAAA,IAAA,GAAA,IAAA;MAChC,gBAAA;QACD,IAAA,GAAA,IAAA;MACH,aAAA;QAGe,IAAA,GAAA,GAAA,IAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA;AACb,OAAA,cAAM,KAAA;MACN,0BAAS;MACT,qBAAO;MACP,mBAAmB;MACnB,kBAAI;OACN,GAAA,WAAA,SAAA,OAAA,OAAA,IAAA,GAAA,WAAA,QAAA;MCzDO,gCAA2D;MAChE,uBAC+B;;;AAQ/B,MAAA,KAAA;IAEmD,MAC9C;IAAA,SACA;IACP,OAAM;IAAA,kBACC,CAAA;IAAA,IACH;;AAEJ,cAAA,GAAA,IAAA,GAAA;AAEA,QAAA,IAAS,GAAO,IAAO,IAAA,CAAA,GAAA,GAAA,QAAA,MAAA,IAAA,KAAA,GAAA,IAAA,OAAA,KAAA,aAAA,EAAA,OAAA,OAAA,IAAA,IAAA;MACrB,WAAkB;UAMhB,GAAA,IAAa,EAAA,IAA4B,IAAW,EAAM;AAE3D,WAAI,IACD,KAAmC,GAAA,IAAA,MACnC,KAA0B,GAC1B,CAAA,GAAI,IAAsB,QAAA,MAAA,IAAA;MAEpB,GAAA;MAMZ,GAAA;QAGe;MACb,GAAA;MACA,GAAA;;;AAE0B,cACtB,GAAA;AACN,QAAA,KAAA,EAAA,OAAA,IAAA,EAAA,SAAA,IAAA,EAAA,MAAA,IAAA,EAAA,QAAA,IAAA,MAAA,SAAA,CAAA,GAAA,KAAA,GAAA,IAAA,GAAA,OAAA,SAAA,GAAA,GAAA;ACnDA,aAAS,EAAc,KAAM,GAAA,GAAA,GAAA,OAAA,IAAA;OAC3B,KAAY,IAAK,EAAA,GAAA,YACD,IAAA,EAAA,GAAA,IAAA,EAAA;AAKhB,OAAM,cAAc,iBAAuB,QAAA,IAAA,cAAA,cAAA,KAAA,GAAA,GAAA,cAAA,cAAA,KAAA,IAAA,GAAA,cAAA,KAAA;;AAClB,MACvB,KAAA;IAAqB,MACrB;IAAU,SACV;IACJ,OAAG;IACH,UAAA,CAAA;IAGA,IAAe;;AACP,cACG,GAAA;AACT,QAAA,KAAO,EAAA,OAAA,IAAA,EAAA;AACP,OAAA,cAAI,KAAA,GAAA;MACJ,WAAQ,GAAA,MAAA;MACV,SAAA,GAAA,MAAA;MCxBe,UAAoB;MACjC,WAAgB,GAAA;;;ACYhB,MAAI,KAAQ;IAeyB,MACnC;IAAU,SACV;IAAc,OACd;IAAS,IACT;IACJ,MACM;;AASe,cAEf,GAA8B;AAAwC,WACxE,MAAU,MAAA,MAAA;;AACD,cACP,GAAO;AAAO,QAChB,KAAA,EAAA,OAAU,IAAA,EAAA,SAAA,IAAA,EAAA,MAAA,IAAA,EAAA,UAAA,IAAA,MAAA,SAAA,OAAA,GAAA,IAAA,EAAA,SAAA,IAAA,MAAA,SAAA,QAAA,GAAA,IAAA,EAAA,UAAA,IAAA,EAAA,cAAA,IAAA,EAAA,aAAA,IAAA,EAAA,SAAA,IAAA,EAAA,QAAA,IAAA,MAAA,SAAA,OAAA,GAAA,IAAA,EAAA,cAAA,IAAA,MAAA,SAAA,IAAA,GAAA,IAAA,GAAA,IAAA;MACV,UAAS;MACV,cAC+B;MAE9B,SAAG;MACH,aAAG;QACP,KAAA,GAAA,GAAA,YAAA,IAAA,GAAA,GAAA,YAAA,IAAA,CAAA,GAAA,IAAA,GAAA,KAAA,IAAA,GAAA,IAAA,IAAA,GAAA,cAAA,eAAA,IAAA,GAAA,MAAA,WAAA,IAAA,GAAA,MAAA,QAAA,IAAA,OAAA,KAAA,aAAA,EAAA,OAAA,OAAA,IAAA,GAAA,OAAA;MAEE,WAIA,GAAA;UAAI,GAAe,IAAA,OAAA,KAAA,WAAA;MACjB,UAEI;MAYmE,SACrE;QAAO,OACP,OAAQ;MAAA,UAEe;MAiBzB,SAA0B;OACS,IAAA,IAAA,GAAA,cAAA,SAAA,GAAA,cAAA,OAAA,GAAA,aAAA,MAAA,IAAA;MAGrC,GAAA;MACE,GAAA;;AAyBmC,QAAA,GAAA;AAGrC,UAAM,GAAA;AAAsB,YAAA,GAAA,KAAA,MAAA,MAAA,IAAA,GAAA,MAAA,MAAA,MAAA,KAAA,IAAA,IAAA,MAAA,MAAA,WAAA,SAAA,KAAA,EAAA,IAAA,KAAA,KAAA,EAAA,KAAA,KAAA,KAAA,EAAA,MAAA,KAAA,IAAA,CAAA,EAAA,KAAA,IAAA,GAAA,KAAA,MAAA,KAAA,EAAA,KAAA,EAAA,IAAA,KAAA,MAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,IAAA,KAAA,GAAA,SAAA,OAAA,KAAA,KAAA,KAAA,GAAA,MAAA;UAC9B,OAAA;UAGe,QAAA;WACP,KAAA,GAAA,cAAA,sBAAA,GAAA,cAAA,oBAAA,UAAA,MAAA,KAAA,GAAA,KAAA,KAAA,GAAA,MAAA,MAAA,GAAA,GAAA,EAAA,IAAA,GAAA,KAAA,KAAA,IAAA,EAAA,KAAA,IAAA,KAAA,MAAA,KAAA,EAAA,WAAA,KAAA,MAAA,KAAA,EAAA,UAAA,KAAA,IAAA,CAAA,EAAA,KAAA,IAAA,KAAA,MAAA,KAAA,EAAA,WAAA,KAAA,MAAA,KAAA,EAAA,UAAA,MAAA,GAAA,SAAA,SAAA,GAAA,GAAA,SAAA,QAAA,KAAA,MAAA,MAAA,MAAA,IAAA,aAAA,IAAA,IAAA,cAAA,IAAA,GAAA,KAAA,KAAA,KAAA,OAAA,SAAA,EAAA,OAAA,OAAA,IAAA,GAAA,KAAA,KAAA,KAAA,KAAA,IAAA,KAAA,KAAA,KAAA,IAAA,KAAA,GAAA,IAAA,GAAA,IAAA,MAAA,IAAA,IAAA,IAAA,GAAA,IAAA,MAAA;AACN,UAAA,KAAS,IAAA,EAAA,KAAA,KAAA;;AAET,UAAI,GAAA;AACJ,YAAA,IAAA,KAAA,MAAmB,MAAQ,IAAA,GAAA,KAAA,MAAA,MAAA,KAAA,IAAA,KAAA,EAAA,IAAA,KAAA,MAAA,MAAA,WAAA,SAAA,KAAA,KAAA,EAAA,KAAA,KAAA,KAAA,EAAA,KAAA,KAAA,CAAA,GAAA,GAAA,QAAA,QAAA,IAAA,KAAA,MAAA,KAAA,OAAA,SAAA,EAAA,OAAA,OAAA,KAAA,GAAA,KAAA,KAAA,KAAA,KAAA,EAAA,MAAA,EAAA,MAAA,KAAA,EAAA,SAAA,KAAA,KAAA,KAAA,EAAA,MAAA,EAAA,MAAA,KAAA,EAAA,UAAA,IAAA,KAAA,KAAA,KAAA,GAAA,IAAA,IAAA,MAAA,GAAA,IAAA,KAAA,IAAA,IAAA,IAAA,KAAA;AAC7B,UAAA,KAAA,IAAA,EAAA,KAAA,KAAA;;AC5IE,SAAA,cAAO,KAAA;;;AAEc,MACvB,KAAA;IACA,MAAA;ICDe,SAAS;IACtB,OAAI;IAKN,IAAA;ICDA,kBAAkC,CAAA;;AAIhC,cAAO,GAAW;AACpB,WAAA;MAIe,YAAmD,EAAc;MAC1E,WAAY,EAAA;;;AASF,cACZ,GAAW;AACf,WACgB,MAAA,GAAA,MAAA,CAAA,GAAA,KAAA,IAAA,KAAA,GAAA;;AACT,cACA,GAAA;AACP,QAAA,KAAA,EAAA,yBAAA,IAAA,GAAA,GAAA,SAAA,EAAA,eAAA,GAAA,IAAA,GAAA,GAAA,UAAA,EAAA,gBAAA;AAEE,WAAA,MAA+B,KAAC,MAA4B;;AAerD,cACG,GAAA,IAAc,GAAA;AAAqB,UACxC,UAAkB,KAAA;AAAoB,QACzC,IAAA,GAAY,KAAA,IAAA,GAAA,OAAA,GAAA,KAAA,IAAA,GAAA,KAAA,IAAA,GAAA,GAAA,GAAA,IAAA,IAAA;MACZ,YAAa;MACjB,WAAA;OACA,IAAA;MCvDA,GAAA;MACE,GAAI;;AAIF,WAAQ,MAAS,CAAA,KAAc,CAAA,MAAA,KAAA,QAAA,UACnC,IAAG,OAAA,KAAA,GAAA,MAAA,GAAA,MAAA,KAAA,GAAA,IAAA,OAAA,EAAA,KAAA,GAAA,YAAA,EAAA,KAAA,GAAA,aAAA,KAAA,GAAA,IAAA,GAAA,MAAA;MAED,GAAA,EAAA,OAAwB,EAAA,aAAA,EAAA;MACtB,GAAQ,EAAA,MAAa,EAAI,YAAA,EAAA;MACzB,OAAI,EAAW;MACf,QAAS,EAAQ;;;AAIb,cAAI,GACG;AAAW,QAAA,KAAA,oBAAA,OAAA,IAAA,oBAAA,OAAA,IAAA;AAAA,MAG1B,QACW,SAAa,GAAA;AACrB,SAAA,IAAA,EAAA,MAAA;;AAGC,eAA0B,GAAI;AAI/B,QACM,IAAA,EAAA;AACT,UAAA,IAAA,GAAA,OAAA,EAAA,YAAA,IAAA,EAAA,oBAAA;AAEe,QAAA,QAAwB,SAAW,GAAA;AAE5C,YAAmB,CAAA,EAAM,IAAS,IAAA;AAEtC,cAAsB,IAAA,GAAA,IAAO;AAC3B,eAAW,EAAA;;UAET,EAAA,KAAA;;AAEN,WAAA,EAAA,QAAA,SAAA,GAAA;AC3Ce,QAAA,IAAS,EAAS,SAAI,EAAA;QAC/B;;AAEF,cAAK,GAAA;AAED,QAAA,KAAA,GAAA;AACE,WAAA,IAAU,OAAA,SACE,GAAA,GAAA;AAAA,aACb,EAAA,OAAA,GAAA,OAAA,SAAA,GAAA;AACF,eAGI,EAAA,UAAA;;OAEX;;ACbE,cAAS,GAAO;AACd,QAAK;AAGP,WAAO,WAAc;AACnB,aAAO,MAAE,MAAQ,IAAA,QAAO,SAAA,GAAA;AACpB,gBAAA,UAAA,KAAA,WAAA;AACR,eAAA,QAAA,EAAA;;WCHwB;;;AAIlB,cAAA,GAAY;AAAmB,aAC9B,KAAQ,UAAU,QAAK,IAAA,IAAA,MAAA,KAAA,IAAA,KAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA;AACxB,QAAA,IAAA,KAAQ,UAAG;AAAA,WACT,GAAA,OAAK,GAAA,OAAA,SAAA,GAAA,GAAA;AACH,aAAI,EAAA,QAAgB,MAAS;OAI7B;;AAGA,MAAA,KAAA;AAAA,MAC2E,KAAA;AAD3E,MAC+H,KAAA,CAAA,QAAA,WAAA,SAAA,MAAA,UAAA,YAAA;AAG/H,cAAA,GAAA;AAAA,MAAA,QAEF,SAAK,IAAA;AACH,SAAA,OAAmB,OAAQ,KAAS,KAAK,IAAI,OAC3C,SAAQ,GAAM,GAAO,GAAwB;AAG/C,eAAA,EAAA,QAAA,OAAA;SAAA,QAEG,SAAA,GAAA;AACH,gBAAI;eAIJ;AAEF,mBAAK,GAAA,QAAA,YAAA,QAAA,MAAA,GAAA,IAAA,OAAA,GAAA,OAAA,UAAA,YAAA,MAAA,OAAA,GAAA,QAAA;AACC;eAIJ;AAEF,mBAAK,GAAA,WAAA,aAAA,QAAA,MAAA,GAAA,IAAA,GAAA,MAAA,aAAA,aAAA,MAAA,OAAA,GAAA,WAAA;AACC;eAIJ;AAEF,gBAAK,QAAA,GAAA,SAAA,KAAA,QAAA,MAAA,GAAA,IAAA,GAAA,MAAA,WAAA,YAAA,IAAA,KAAA,OAAA,MAAA,OAAA,GAAA,SAAA;AACE;eAIL;AAEF,mBAAK,GAAA,MAAA,cAAA,QAAA,MAAA,GAAA,IAAA,GAAA,MAAA,QAAA,cAAA,MAAA,OAAA,GAAA,MAAA;AACL;eACE;AAEF,eAAA,UAAA,QAAA,OAAA,GAAA,UAAA,cAAA,QAAA,MAAA,GAAA,IAAA,GAAA,MAAA,YAAA,cAAA,MAAA,OAAA,GAAA,MAAA;AACE;eACE;AACZ,eAAW,YAAW,QAAI,CAAA,MAAa,QAAM,GAAA,aAAkB,QAAA,MAAA,GAAA,IAAA,GAAA,MAAA,cAAA,WAAA,MAAA,OAAA,GAAA,YAAA;AACxD;eAEQ;AACO,kBAAK,QAAU,GAAA,qBAAK,QAAA,MAAA,GAAA,IAAA,GAAA,MAAA,sBAAA,WAAA,MAAA,OAAA,GAAA,oBAAA;AAChC;eACD;eAGF;AACF;;AAEL,oBAAA,MAAA,6DAAA,GAAA,OAAA,sCAAA,GAAA,IAAA,SAAA,GAAA;AChFiC,qBAAS,MAAA,IAAA;eACtB,KAAA,QAAA,YAAI,IAAA;;AAEpB,WAAI,YAAoB,GAAA,SAAA,QAAA,SAAA,GAAA;AAEpB,YAAC,KAAgB,SAAU,GAAA;AAC7B,mBAAY,EAAI,SACT;gBAEV,QAAA,QAAA,MAAA,GAAA,IAAA,OAAA,GAAA,OAAA,GAAA;;;;;ACNC,cAAA,GAAe,IAAA;AAAwD,QACrE,IAAgB,oBAAO;AAAqC,WAC5D,EAAA,OAAM,SAAc,GAAI;AACzB,UAAA,IACM,GAAA;AACR,UAAI,CAAA,EAAA,IAAA;AAEL,eAAO,EAAA,IAAO,IAAW;;;AAG3B,cAAA,GAAA;ACCA,QAAI,KAAwB,EAAA,OAAA,SAAA,GAAA,GAAA;AAG1B,UAAA,IAAA,EAAW,EAAA;AACX,aAAA,EAAW,EAAE,QAAA,IAAA,OAAA,OAAA,IAAA,GAAA,GAAA;QACb,SAAU,OAAA,OAAA,IAAA,EAAA,SAAA,EAAA;QACZ,MAAA,OAAA,OAAA,IAAA,EAAA,MAAA,EAAA;WAES,GAAA;OACP;AACE,WAAS,OAAI,KAAU,IAAI,IAAA,SAAA,GAAA;AAG7B,aAAQ,GAAK;;;AAGf,MAAA,KAAA;AAAA,MAAA,KAAA;AAAA,MAAA,KAAA;IAEO,WAAyB;IAC1B,WAAqB;IAIzB,UAAwB;;AAMtB,gBAAgB;AAIhB,aAAI,IAAQ,UAAA,QAAA,KAAA,IAAA,MAAA,IAAA,IAAA,GAAA,IAAA,GAAA;AAAA,SACV,KAAA,UAAW;AAAA,WACX,CAAA,GAAA,KAAA,SAAoB,GAAA;AAAA,aACpB,CAAA,MAAS,OAAO,EAAA,yBAA0C;;;AAEhD,cACR,GAAA;AAAW,UACX,UAAQ,KAAA;AAAA,QACT,KAAA,GAAA,IAAA,GAAA,kBAAA,IAAA,MAAA,SAAA,KAAA,GAAA,IAAA,GAAA,gBAAA,IAAA,MAAA,SAAA,KAAA;AAAA,WACD,SAAY,GAAE,GAAA,GAAA;AAAA,YACd,UAAU,KAAA;AAChB,UACQ,IAAmB;QAGrB,WAAO;QACP,kBAAY;QACV,SAAI,OAAU,OAA4B,IAAA,IAAA;QAC1C,eACM;QACgB,UACpB;UAA4I,WACpI;UAClB,QAAA;;QAUQ,YALM;QACJ,QAAA;SAAS,IACV,IAGe,IAAA,OAAA,IAAA;QACd,OAAA;QACE,YAAI,SAAY,IAAA;AAChB,cAAA,IAAA,OAAO,MAAA,aAAA,GAAA,EAAA,WAAA;AAAA,eACR,EAAA,UAAA,OAAA,OAAA,IAAA,GAAA,EAAA,SAAA,IAAA,EAAA,gBAAA;YAGD,WAAI,GAAiB,KAAM,GAAA,KAAQ,EAAA,iBAAqB,GAAA,EAAA,kBAAA;YACtD,QAAI,GAAe;;AAEjB,cAAA,IAAA,GAAA,GAAO,GAAA,OAAS,GAAA,EAAA,QAAA;AAAA,cAC9B,EAAa,mBAAA,EAAA,OAAA,SAAA,GAAA;AAED,mBACE,EAAA;cAAoH,GAAA,aAAA,cAAA;AAIxH,gBAAI,IAAoB,GAAiB,GAAM,OACb,GAAA,EAAA,QAC9B,YAAgC,SACjB,GAAkB;AAKhC,kBAAW,IAA2B,EAAU;AACnD,qBAAO;;AAEoR,gBAAA,GAAA,IAAA,GAAA,EAAA,QAAA,eAAA,IAAA;AAI/R,kBAAA,IACO,EAAS,iBAAA,KAAA,SAAA,GAAA;AACjB,oBAAA,IAAA,EAAA;AAAA,uBAAA,MAAA;;AAAA,mBAAA,QAAA,MAAA,CAAA,4DAAA,gCAAA,KAAA;;AAAA,gBAAA,IAAA,GAAA,IAAA,IAAA,EAAA,WAAA,IAAA,EAAA,aAAA,IAAA,EAAA,cAAA,IAAA,EAAA;AAMD,aAAA,GAAA,GAAA,GAAa,GAAA,KAAA,SAAuB,GAAA;AAC9B,qBAIJ,WAAA;kBAAI,QAAwB,KAAA,CACxB,+DACyB,6DAAA,8DAAA,4DAAA,cAAA,KAAA;;AAI3B,iBAAe,KAAC,EAAA;;QAwBhB,aAAO,WAAM;AAA8D,cAC5E,CAAA,GAAA;AAGD,gBAAA,KAAA,EAFI,UAEa,IAAG,GAAA,WAAc,IAAA,GAAA;AAChC,gBAAA,CAAA,GAAe,GAAC,IAAA;AAIZ,cAAA,KAAA,aAAiC,gBAAA,QAAA,MAAA;AACjC;;AAIJ,cAAA,QAAU;cACR,WAAM,GAAQ,GACd,GAAQ,IAAA,EAAA,QAAA,aAAA;cACR,QAAA,GAAA;eAAA,EAAA,QAAA,OAAA,EAAA,YAAA,EAAA,QAAA,WAAA,EAAA,iBAAA,QAAA,SAAA,GAAA;AAGF,qBAAI,EAAwB,cAAM,EAAA,QAC9B,OAA2B,OACoB,IAAA,EAAA;;AAKtC,qBACT,IAAO,GAAA,IAAA,GAAA,IAAA,EAAA,iBAAA,QAAA,KAAA;AAAA,kBACP,GAAA,aAAS,gBAAA,MAAA,GAAA,IAAA,MAAA;AACT,wBAAM,MAAA;AACN;;AACI,kBAAA,EAAA,UAAA,MAAA;AAAA,kBAAA,QAAA,OAAA,IAAA;AAGX;;AAAA,kBAAA,IAAA,EAAA,iBAAA,IAAA,IAAA,EAAA,IAAA,IAAA,EAAA,SAAA,IAAA,MAAA,SAAA,KAAA,GAAA,IAAA,EAAA;AAGD,qBAAiB,KAAA,cAAY,KAAA,EAAA;gBAC3B,OAAW;gBACA,SAAA;gBAEV,MAAA;gBACF,UAAA;oBACQ;;;;QAcF,QAAA,GAAW,WAAc;AAC3B,iBAAuB,IAAA,QAAA,SAClB,GAAA;AAEX,cAAA,eAAA,EAAA;;;QAQG,SAAI,WACA;AAIJ,eAAI,IAAA;;;AAEO,UAAA,CAAA,GACP,GAAA;AAAM,eACN,GAAA,aAAU,gBAAA,QAAA,MAAA,KAAA;AAAA,QAAA,WACV,GAAA,KAAS,SAAA,GAAA;AAAA,SAAA,KACV,EAEG,iBAA2B,EAAA,cAAA;;AAE/B,mBAAsB;AAAmB,UAAA,iBAAA,QAAA,SAAA,GAAA;AAE5C,cAAA,KAAA,EAAA,MAAA,IAAA,EAAA,SAAA,IAAA,MAAA,SAAA,KAAA,GAAA,IAAA,EAAA;AACF,cAAA,OAAA,KAAA,YAAA;AAED,gBAAS,IAAyB,EAAA;cACf,OAAQ;cACvB,MAAS;cAEX,UAAmB;cACpB,SAAA;gBAEM,IAAA,WAAA;;AAEX,cAAA,KAAA,KAAA;;;;AEnPE,mBAAA;AACD,UAAA,QAAA,SAAA,GAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICFD,eAA4B;IAC1B,iBAAY;IAiBd,MAAA;IAEA,WAA0B;IACxB,OAAO;IACT,OAAA;IAEA,KAAM;IACJ,qBAA0B;IACxB,UAAQ;IACT,OAAA;KAED,OAAA,aAAoB,EAAS,OAAK;AAChC,cAAQ,GAAA;AACT,WAAA,MAAA,SAAA,OAAA,MAAA,UAAA,QAAA,MAAA,OAAA,GAAA,aAAA,OAAA,KAAA,MAAA,MAAA,MAAA,SAAA,OAAA;;AAGC,cAAK,GAAA;AACH,WAAA,EAAA,QAAO,UAAA,CAAA,OAAA,IAAA,GAAA;;AAKT,MAAA,IAAA;IAGI,iBAAQ,GAAA,IAAW,GAAA;AACjB,QAAA,aAAA,WAAA,GAAA,OAAA;;IAIF,oBACoB,GAAA,IAAA;AAE5B,QAAO,gBAEI,WAAA,GAAA;;IAGT,kBAAA,GAAA;AACE,UAAI,CAAC;AACH,eAAO;AAGT,YAAM,KAAa;AAAA,aACN,OAAA,KAAA,EAAA,SAAA,OAAA,CAAA,MAAA,EAAA,WAAA,OAAA,QAAA,CAAA,MAAA;AACjB,YAAA,EAAA,WAAA;AAEI;AAGI,YAAI,IAAU,EAAI,QAAQ,OAAA;AAC1B,YACE,EAAQ,OAAO,GAAG,gBAAgB,EAAQ,MAAM,GAAG,EAAQ,SAC7D,GAAW,KAAW,GAAc,EAAW,QAAI;UAGhD;;IAGT,uBAA+B,GAAA;AAC7B,UAAA,CAAA;AACE,eAAQ;AACd,YAAA,KAAA,mBACG,EAAA;AAGC,aAAM,OAAe,KAAA,IAAA,OAAA,CAAA,MAAA,EAAA,WAAA,YAAA,QAAA,CAAA,MAAA;AAErB,YAAA,IAAO,EAAA,QAAA,YAAA;AACL,YAAA,EAAK,OAAW,GAAA,gBAAc,EAAA,MAAA,GAAA,EAAA,SAAA,GAAA,KAAA,GAAA,GAAA;UAC9B;;IAEH,iBAAA,GAAA,IAAA;AAED,aAAS,GACP,EAAA,aAAO,WAAA,GAAA;;IAES,OACpB,GAAA;AACG,YAAA,KAAA,EAAA;AAED,aAAe;QACb,KAAO,GAAA,MAAO,SAAoB,KAAA;QACnC,MAAA,GAAA,OAAA,SAAA,KAAA;;;IAQG,SAAY,GAAA;AAKlB,aAAK;QACF,KAAA,EAAA;QAED,MAAS,EAAS;;;IAImB,MACvC,GAAA,IAAA;AACG,aAAA,OAAA,EAAA,OAAA;;IAGC,YAAO,GAAU,IAAE;AACjB,WAAQ,GAAA,IAAc,QAAkB,CAAA,MAAA;AACzC,UAAA,UAAA,SAAA,KAAA,EAAA,UAAA,OAAA,KAAA,EAAA,UAAA,IAAA;;;IAID,SAAyC,GAAA,IAAA;AAAA,SACtC,IAAA,QAGP,CAAA,MAAA,CAAA,EAAA,UAAA,SAAA,MAAA,EAAA,UAAA,IAAA;;IAII,SAAO,GAAQ,IAAA;AAChB,aAAA,KAAA,IAAA,QAAA,CAAA,MAAA;AAED,UAAA,MAAU,KAAS,GAAA;;;IAGV,YAEE,GAAA,IACL;AAAK,SAAA,IACH,QAAc,CAAA,MACd,EAAA,UAAS,SAAgB,MAAA,EAAA,UAAA,OAAA;;IAE1B,SACH,GACO,IAAA;AACA,aACH,EAAA,UAAc,SAAA;;IACW,UACzB,GAAO;AAAA,YACR,KAAA,EAAA;AACT,aAAA;QACG,KAAA,GAAA,MAAA,KAAA,IACH,SAAA,KAAA,WAEA,SAAkD,gBAAA,WAChD,OAAI;QC9JA,MAAY,GAEZ,OAAiB,KAAA,IACrB,SAA2B,KAAA,YACzB,SAAe,gBAAgB,YAChC,OAAA;;;;AAOC,cAAS,GAAC;AAAA,WACL,OAAA,KAAQ,WAAU,EAAA,MAAA,OAAiB,MAAsB,QAAA,KAAA,IAAA;;AAClE,MACG,KAAA;AADH,MACG,IAAA;IAED,QAAQ,GAAU,IAAA;AAChB,aAAO,EAAA,QAAQ;;IAGjB,QAAA,GAAS,IAAS;AAGhB,aAFiB,EAAA,QAAU;;IAK7B,KAAA,GAAQ,KAAS,SAAU,iBAAA;AACzB,aAAM,GAAU,OAEhB,GAAI,QAAmB,UAAA,iBAAA,KAAA,IAAA;;IAcvB,QAAA,GAAO,KAAA,SAAA,iBAAA;AACR,aAAA,QAAA,UAAA,cAAA,KAAA,IAAA;;IAGC,SAAI,GAAmB,IAAA;AAEvB,aAAO,GAAA,OAAU,GAAA,EAAA,UAAA,OAAA,CAAA,MAAA,EAAA,QAAA;;IAEb,QAAA,GAAA,IAAQ;AAGV,YAAW,IAAS;AAAA,UAAA,IAAA,EAAA;AAGtB,aAAO,KAAA,EAAA,aAAA,KAAA,gBAAA,EAAA,aAAA;AACR,aAAA,QAAA,GAAA,OAAA,EAAA,KAAA,IAAA,IAAA,EAAA;AAED,aAAc;;IAGZ,KAAA,GAAA,IAAO;AACL,UAAA,IAAI,EAAA;AACF,aAAA,KAAQ;AAGV,YAAO,EAAK,QAAA;AAAA,iBAAA,CAAA;AAGd,YAAA,EAAO;;AAGT,aAAA;;IACqB,KACjB,GAAA,IAAA;AAAA,UACA,IAAA,EAAA;AAAA,aACA,KAAA;AACA,YAAA,KAAA,QAAA,GAAA;AACA,iBAAA,CAAA;AACA,YAAA,EAAA;;AACA,aACA;;IAKF,kBAAY,GAAK;AAAqB,YACnC,KAAQ;QACf;QACG;QC7EG;QAaD;QAGC;QA+BJ;QACA;QACA;QACA,IAAM,CAAA,MAAA,GAAA,0BAAA,KAAA;AAGF,aAAU,KAAA,KAAA,IAAA,GAAA,OACd,CAAA,MAAS,CAAG,GAAC,MAAA,GAAA;;;ADvDf,MC0DW,KAAA;AD1DX,MC0DW,KAAA,IAAA;AD1DX,MC0DW,KAAA;AD1DX,MC0DW,KAAA;AD1DX,MC0DW,KAAA;AD1DX,MC0DW,KAAA;AD1DX,MC0DW,KAAA,IAAA,OACT,GAAA,MAAA,MAAc;AD3DhB,MC4DE,KAAA,OAAW;AD5Db,MC4Da,KAAA,SAAA;AD5Db,MC4Da,KAAA,OAAA;AD5Db,MC4Da,KAAA,QAAA;AD5Db,MC4Da,KAAA,QAAA,KAAA;AD5Db,MC4Da,KAAA,UAAA,KAAA;AD5Db,MC4Da,KAAA,QAAA,KAAA;AD5Db,MC4Da,KAAA,MAAA,YAAA;AD5Db,MC4Da,MAAA,MAAA,cAAA;AD5Db,MC4Da,KAAA,MAAA,eAAA;AD5Db,MC4Da,KAAA,MAAA,iBAAA;AD5Db,MC4Da,KAAA,MAAA,eAAA;AD5Db,MC4Da,KAAA,MAAA,gBAAA;ACxBT,MACF,KACE;AAFA,MAEA,KAAA,IAAA;AAFA,MAUF,KAAA,OAAA;AAVE,MAUF,KAAsB,QAAA;AAVpB,MAUoB,KAAA,OAAA;AAVpB,MAUoB,KAAA,SAAA;AAVpB,MAUoB,KAAA;AAVpB,MAUoB,KAAA,WAAA,QAAA;AEhDV,MA2BV,KAAA;AA3BU,MA2BmB,KAAA,gBAAQ;AEdjC,MCqBC,KAAA;ADrBD,MCqBgB,KAAiB,IACrC;ADtBI,MCsBC,KAAA;ADtBD,MCuBC,KAAA,OAAY,KAAK;ADvBlB,MCsCL,KAAA,OAAA;ADtCK,MCsCL,KAAA,QAAA;ADtCK,MCsCL,KAAA,OAAA;ADtCK,MCsCL,KAAA,SAAA;ADtCK,MCsCL,KAAA,kBAAA;ACjCH,MAE2B,KAAA;AAF3B,MAE2B,KAAA,IAAA;AAF3B,MAE2B,KAAA,QAAA;AAF3B,MAE2B,KAAA,SAAA;ACEnB,MACC,KAAA;AADD,MACC,KAAA,IAAA;AADD,MACC,KAAA;AADD,MACC,KAAA;AADD,MACC,KAAA;AADD,MA2GL,KAAA;AA3GK,MA2GL,MAAA;AA3GK,MA2GL,KAAA;KAID,KAAA;KACE,KAAA;;AAhHI,MAiHL,KAAA,QAAA;AAjHK,MAiHL,KAAA,OAAA;AAjHK,MAiHL,KAAA,UAAA;AAjHK,MAiHL,KAAA,aAAA;AAjHK,MAiHL,KAAA,aAAA;AAjHK,MAiHL,KAAA,aAAA;AAjHK,MAiHL,KAAA,YAAA;AAjHK,MAiHL,KAAA,WAAA;AAjHK,MAiHL,KAAA,cAAA;AAjHK,MAiHL,KAAA,YAAA;AAjHK,MAiHL,KAAA,YAAA;AAjHK,MAiHL,KAAA,OAAA,KAAA;AAjHK,MAiHL,KAAA,QAAA,KAAA;AAjHK,MAiHL,KAAA;AAjHK,MAiHL,KAAA;AAjHK,MAiHL,KAAA,GAAA,KAAA;AAjHK,MAiHL,KAAA,GAAA;ACvHoB,MACf,KAAA;AADe,MACf,KAAA,IAAA;AADe,MA6DpB,KAAA,OAAA;AA7DoB,MA6DpB,KAAA,gBAAA;AA7DoB,MA6DpB,KAAA,SAAA;AA7DoB,MA6DpB,KAAA,OAAA;AA7DoB,MA6DpB,KAAA,QAAA;AA7DoB,MA6DpB,KAAA,SAAA;AA7DoB,MA6DpB,KAAA,gBAAA;AA7DoB,MA6DpB,KAAA,kBAAA;AA7DoB,MA6DpB,KAAA,kBAAA;AA7DoB,MA6DpB,KAAA,oBAAA;ACjED,MAAI,KAA2C,oBAAA,IAAA;IAC7C;IAUF;IAAoC;IAEtC;IAGE;IACE;IACE;IAIJ;;AAtBA,MAyBW,KAAmB;AAzB9B,MAyB8B,KAAA;AAzB9B,MAyB8B,KAAA;AAzB9B,MAyB8B,KAAA,CAAA,GAAA,OAAA;AAAA,UAAA,IAAA,EAAA,SAAA;AAE9B,QAAA,GAAM,SAAS;AACf,aAAI,GAAA,IAAU,KAAA,CAAQ,CAAA,IAAA,KAAS,EAAA,cAAK,GAAA,KAAA,EAAA,cAAA;AACpC,UAAM,IAAE,GAAA,OACR,CAAG,MAAE,aAAA;AAEL,aAAO,IAAA,GAAA,IAAA,EAAA,QAAA,IAAA,GAAA;AACP,UAAM,EAAE,GAAA,KAAA;AACR,eAAO;AACP,WAAM;;AAnCN,MAoCA,KAAM;IAEN,KAAM,CAAA,SAAA,OAAA,MAAA,QAAA,QAAA;IACN,GAAA,CAAI,UAAE,QAAA,SAAA;IACN,MAAM;IACN,GAAA;IACA,IAAI;IACJ,KAAK;IACL,MAAM;IACN,KAAM;IACN,IAAI;IACJ,IAAK;IACL,IAAA;IACA,IAAK;IACL,IAAA;IACA,IAAA;IACA,IAAA;IACA,IAAA;IACA,GAAA;IACA,KAAK,CAAA,OAAA,UAAA,OAAA,SAAA,SAAA;IACL,IAAI;IACN,IAAA;IAEO,GAAA;IACL,KAAK;IACH,GAAA;IAGF,OAAI;IACF,MAAA;IAIF,KAAA;IAGA,KAAA;IACE,QAAM;IAGN,GAAA;IACE,IAAA;;AAEA,cAAA,GAAA,IAAA,GAAA;AAGF,QAAA,CAAA,EAAA;AAC6B,aACd;AAAO,QACpB,KAAqB,OAAO,KAAA;AAClC,aAAA,EAAA;AAEI,UAAc,IAAA,IAAS,OAAc,YAAA,gBAAA,GAAA,cAAA,IAAA,GAAA,OAAA,GAAA,EAAA,KAAA,iBAAA;AACnC,aAAsB,IAA4B,GAChD,IAAQ,EAAA,QAAA,IAAgB,GAAU,KAAA;AAE1C,YAAK,IAAA,EAAA,IAAA,IAAA,EAAA,SAAA;AAAA,UAAA,CAAA,OAAA,KAAA,IAAA,SAAA,IAAA;AAGH,UAAA;AACF;;ACjGE,YAAA,IAAW,GAAA,OAAA,GAAA,EAAA,aAAA,IAAA,GAAA,OACX,GAAA,QAAU,IACV,GAAA,MAAO;AAEP,QAAA,QAAO,CAAA,MAAA;AACP,WAAM,GAAA,MAAA,EAAA,gBAAA,EAAA;;;AAGN,WAAA,EAAQ,KAAA;;AACG,MACX,MAAA;AADW,MACS,KAAA;AADT,MACS,KAAA,IAAA;AADT,MACS,KAAA;AADT,MACS,KAAA,oBAAA,IAAA,CAAA,YAAA,aAAA;AADT,MACS,KAAA;IACpB,WAAU;IACV,UAAA;IACA,OAAA;IACA,SAAA;IACA,OAAA;IACA,MAAA;IACF,UAEsB;IACpB,WAAM;IACN,QAAK;IACL,WAAO;IACP,oBAAQ;IACR,UAAM;IACR,aAEgB;IACd,UAAA;IACA,YACE;IAGF,WAAS;IACT,cAAO;;AAzBI,MA0BX,KAAA;IACA,MAAM;IACN,KAAA;IACA,OAAA,MAAW,SAAA;IACX,QAAQ;IACR,MAAA,MAAW,UAAA;;AA/BA,MAgCX,KAAA;IACA,WAAU;IACV,UAAA;IACA,SAAA;IACA,OAAA;IACA,OAAA;IACA,MAAA;IACF,UAEc;IACZ,WAAM;IACN,QAAQ,CAAA,GAAA;IACR,WAAM;IACN,oBAAe,CAAA,OAAA,SAAA,UAAA;IACf,UAAU;IACV,aAAO;IACP,UAAS;IACT,YAAU;IACV,WAAA;IACA,cAAY,EAAA,MAAA;;AAnDD,MAsDP,KAAkB;IAuBxB,MAAM,OAAA;IACJ,QAAA,SAAqB;IACnB,MAAI,OAAO;IACT,OAAA,QAAU;IAAA,UACR,WAAA;IAAA,OACR,QAAA;IAGI,SAAa,UAGR;IAWN,UAAA,WAAA;IAAA,YAAA,aAAA;IAID,YAAW,aAAU;;AAvGV,MAwGT,KAAA;AAxGS,MAwGF,KAAA;AAxGE,MAwGF,KAAA;AAxGE,MAwGF,KAAA;AAxGE,MAwGF,KAAA;AAxGE,MAwGF,KAAA;AAxGE,MAwGF,KAAA,IAAA;AAxGE,MAwGF,MAAA;AAxGE,MAwGF,MAAA;AAxGE,MAwGF,KAAA;AAxGE,MAwGF,KAAA;AAxGE,MAwGF,KAAA;AAAA,yBACR,GAAA;IAED,YAAW,IAAA,GAAO;AAChB,UAAA,OAAO,KAAA;AACR,cAAA,IAAA,UAED;AAEC,YAAA,KAAA,KAAA,aAAA,MAAA,KAAA,WAAA,GAAA,KAAA,cAAA,IAAA,KAAA,iBAAA,IAAA,KAAA,UAAA,MAAA,KAAA,UAAA,KAAA,WAAA,IAAA,KAAA,MAAA,MAAA,KAAA;;eAIA,UAAA;AAAA,aAAA;;eAKM,OAAA;AACN,aAAA;;eAGM,QAAA;AACN,aAAA;;eAGM,cAAc;AACpB,aAAA;;IAOC,SAAI;AACF,WAAA,aAAgB;;IAOc,UAAA;AAG9B,WAAA,aAAS;;IAEP,gBAAA;AAAA,WAAA,aAAA,CAAA,KAAA;;IAGoB,OAAA,IAAA;AAEzB,UAAA,KAAA;AAED,YAAA,IAAU;AACR,gBAAA,IAAa,KAAK,6BAEL;AACX,YAAA,eAAc,QAAsB,CAAA,EAAA,eAAA,OAAA,EAAA,yBAAA,EAAA,OAAA,MAAA,KAAA,EAAA,OAAA,MAAA;eACpC;AACA,cAAK,KAAA,gBAAA,UAAA,SAAA,KAAA;AAGH,iBAAK,OACP,MAAS;AAKZ;;AAGK,eAAK,OAAA,MAAS;;;IAKhB,UAAA;AAGF,mBAA+B,KAAA,WAAA,EAAA,IAC7B,KAAK,SAAA,QAAA,KACL,KACN,KACuB,oBAMnB,KAAc,OAAA,KAAA,IAAA,UAAqB,KAAA,kBAAA,MAAA;;IAMnC,OACO;AAUP,UAAA,KAAM,SAAW,MAAA,YACH;AAEV,cAAA,IAAA,MAAa;AAKb,UAAA,CAAA,MAAS,mBAAc,KAAA;AAExB;AAGH,YAAM,KACJ,EAAA,QAKF,KAAK,UAEL,KAAM,YAAE,MAAc,OAmBtB,IAlBK,GAAA,KAAQ,WAAU,IAAA,MAAY,OAAA,KAAc,SAEvC,cAAS,gBAAc,SAAgB,KAAA,YAAiB,EAAA,SACtD,KAAU;AAOL,UACb,GAAA,oBAAK,CAAA;AACL;AAAA,WACA,YAAK,SAA2B,aAAA,KAAA,OAAA,KAAA,eAAA,KAAA,IAAA,cAAA,IAAA,aAAA,MAAA,kBAAA,KAAA,IAAA,UAAA,KAAA,MAAA;AACxC,YAG2B,IAAA,KAAA,iBAAmB,IAAS,GAAA,KAAS,YAAA;AAE1D,QAAA,aAAiB,MAAA,IAAA,KAAA,SAAA,aAAA,oBAAA,IAAA,KAAA,QAAA,aAAA,WAAA,MAAA;AAAA,aACf,IAAK,UAAA,IAAA,gBAAA,KAAA,IAAA,UAAA,OAAA;SACH;AACA,YAAA,IAAA,OAAA,KAAA,QAAA,aAAA,aAAA,KAAA,QAAA,UAAA,KAAA,MAAA,GAAA,KAAA,YAAA,KAAA,QAAA,WAAA,IAAA,KAAA,eAAA;AAAA,WACF,oBAAK;AACH,YAAA,EAAI,WAAU,MAAI,KAAA;AAClB,UAAA,EAAA,QAAA,GAAA,KAAA,YAAA,UAAA,OAAA,KAAA,SAAA,cAAA,gBAAA,SAAA,KAAA,QAAA,GAAA,OAAA,IAAA,EAAA,QAAA,KAAA,UAAA,KAAA,YAAA,MAAA,YAAA,KAAA,UAAA,KAAA,QAAA,WAAA,KAAA,UAAA,GAAA,KACF,UACE,GACA,KAAA,iBAAA,KAAA,EAEF,aAAA,MAAA,SAAA;AACE,gBAAI;eACJ;AACH,cAAA,UAAA,IAAA;AAGG;eAEA;AASW,cAAG,UAAS,IAAA;AAC1B;eAGG;AACJ,cAAM,UAAsB,IAAA;AAE5B;;AASG,cAAA,UAAA,IAAe;AACrB;;AAGC,YAAK,IAAK,KAAA,yBAAA,KAAA,QAAA;AACR,WAAA,EAAA,UAAA,IAAA,GAAA,EAAA,MAAA,OAAA,kBAAA,SAAA,mBAAA,GAAA,OAAA,GAAA,SAAA,KAAA,UAAA,QAAA,CAAA,MAAA;AAGF,UAAA,GAAM,GAAM,aAAK;;AAerB,YAAA,IAAA,MAAA;AAMI,cAJ+B,IAAA,KAAA;AAC7B,aAAK,cAAA,MAAA,EAAA,QAAA,KAAA,UAAA,KAAA,YAAA,MAAA,QAAA,MAAA,MAAA,KAAA,OAAA,MAAA;SACL,IAAK,KAAA,IAAA,UAAkB,SAAA;AAC7B,WACkB,eAAA,GAAA,KAAA,KAAA;;IAId,OAAI;AAeJ,UAAA,CAAA,KAAmB;AACnB;AAED,YAAA,KAAA,KAAA,iBAAA,IAAA,MAAA;AAED,aAAS,0BAAA,MAAA,gBAAA,MAAA,GAAA,UAAA,KAAA,kBAAA,KAAA,SAAA,gBAAA,qBAAA,EAAA,QAAA,KAAA,UAAA,KAAA,YAAA,MAAA,SAAA,KAAA;;AAIR,UAAA,EAAA,QAAA,KAAA,UAID,KAAA,YAAgB,MAAA,MACd;AACD;AAED,SAAA,UAAA,IAAgB,cAAA,GAAA,UAAA,OAAA,gBAAA,kBAAA,SAAA,mBAAA,GAAA,OAAA,GAAA,SAAA,KAAA,UAAA,QAAA,CAAA,MAAA,EAAA,IAAA,GAAA,aAAA,OAAA,KAAA,eAAA,MAAA,OAAA,KAAA,eAAA,MAAA,OAAA,KAAA,eAAA,OAAA;AACd,YAAI,IAAK,KAAA,IAAA,UAAA,SAAA;AACP,WAAA,eAAY,GAAA,KAAA,KAAA,IAAA,KAAA,cAAA;;IAId,SAAQ;AAER,WAAA,YAAoB,QAAU,KAAA,QAAA;;IAQhC,gBAAgB;AACd,aAAK,CAAA,CAAA,KAAA;;IAGP,gBAAA;AACE,UAAA,KAAM;AAEN,eAAK,KAA4B;AAC/B,YAAgB,KAAA,SAAM,cAAA;AACtB,SAAA,YAAA,KAAA,QAAA;AAAA,YAAA,IAAA,GAAA,SAAA;AAIF,aAAK,KAAA,WAAkB,IAAwB,EAAA,UAAA,OAAA,IAAA,KAAA,KAAA,MAAA,GAAA,KAAA;;IAGjD,WAAA,IAAA;AACE,WAAI,uBAIJ,IAAA,KAAA,YAAA;;IACE,uBAGS,IAAA,GAAA,GAAQ;AASjB,YAAA,IAAA,EAAA,QAAA,GAAA;AAAA,UAAA,CAAA,KAAA,GAAA;AAGE,UAAA;AAEU;;AAEK,WACb,kBAAa,GAAA;;IAMK,kBAAA,IAAA,GAAA;AAEzB,UAAA,OAAA,MAAA;AAED,YAAA,GAAW,IAAA;AACT,cAAM,IACJ,IAAK,KAAA,QAAS,OAAA,EAAa,eAAA,MAAA,IAAA,YACtB,IAAA,GAAA,OAAQ,MAAA,GAAA,cAAA,EAAA;AAEf;;AAGF,aAAA,QAAiB,OAAY,MAAA,QAAA,YAAA,KAAA,GAC3B,GASD,KAAA,QAAA,WAAA,KAAA,QAAA,cAID,GAAA,YAAA,KAAA,GAA6B,cAAgB;;;IAIjC,WACD;AACN,YAAA,KAAA,KAAA,SAAA,aAAA,6BAAA,KAAA,QAAA;AAEJ,aAAA,KAAA,yBAAA;;IAGC,iBAAQ,IAAM;AAEd,aAAI,OAAA,UAAkB,QACb,OAAO,SAAW,UAAa;;IAWxC,6BAA0B,IAAA,GACtB;AAEL,aAAA,KAAA,KAAA,YAAA,oBAED,GAAA,gBACE,KAAM;;IAEO,aACT;AAAA,YACE,EAAA,QAAM,OAAA,KAAA;AAAA,aACN,OAAA,MAAS,WAAA,GAAA,MAAA,KAAA,IAAA,CAAA,MAAA,OAAA,SAAA,GAAA,OAAA,OAAA,MAAA,aAAA,CAAA,MAAA,GAAA,GAAA,KAAA,YAAA;;IAC0B,yBAClC,IAAA;AAAA,aACF,OAAA,MAAA,aAAA,GAAA,KAAA,KAAA,YAAA;;IACD,iBACQ,IAAA;AAAA,YACN,IAAA;QAAS,WACP;QAAyB,WAC1B;UACF;YACD,MAAA;YACE,SAAM;cACN,oBAAS,KAAA,QAAA;;;UAGV;YACD,MAAA;YACE,SAAM;cACN,QAAS,KAAA;;;UAGV;YACD,MAAA;YACE,SAAM;cACN,UAAS,KAAA,QAAA;;;UAGV;YACF,MAAA;YACD,SAAA;cACW,SAAQ,IAAA,KAAA,YAAmB;;;UAMxC;YACK,MAAA;YACC,SAAO;YAGjB,OAAA;YACG,IAAA,CAAA,MAAA,KAAA,6BAAA;;;QAIG,eAAQ,CAAA,MAAA;AACd,YAAA,QAAA,cAAA,EAAA,aAAA,KAAA,6BAAA;;;AAII,aAAO,kCACR,IAED,OAAA,KAAgB,QAAA,gBAAA,aAAA,KAAA,QAAA,aAAA,KAAA,KAAA,QAAA;;IAKV,oBAAa,IAAA;AAAA,WAAA,gBACN,UAAA,IAAA,GAAA,KACL,0BAAuB,KAAA,iBAAA;;IAEK,eACtC,IAAA;AAAA,aAAA,GAAA,GACiB;;IAUT,gBAAa;AAAA,WAAA,QACN,QAAA,MAAA,KAAA,QAAA,CAAA,MAAA;AAAA,YACL,MAAA;AAAA,YACA,GACA,KAAC,UACX,KACqB,YAAA,MAAA,OACX,KAAK,QAAA,UACL,CAAA,MAAA,KAAA,OAAA;iBAEC,MAAU,IAAK;AAC1B,gBAAA,IAAA,MAAA,MAAA,KAAA,YAAA,MAAA,aAAA,KAAA,YAAA,MAAA,SAAA,IAAA,MAAA,MAAA,KAAA,YAAA,MAAA,aAAA,KAAA,YAAA,MAAA;AAAA,YAAA,GAII,KAAK,UACC,GAKO,KAAA,QAAA,UACX,CAAK,MAAA,KAAS,OAAQ,KACtB,EAAA,GACA,KAAK,UAGH,GAEG,KAAK,QAAA,UACR,CAAA,MAAS,KAAA,OAAA;;UAMd,KAAA,oBAAA,MAAA;AAED,aAAA,YAAY,KAAA;SACV,EAAA,GAEE,KAAA,SAAA,QAAA,KACN,KAEQ,KAAS,oBAYd,KAAA,QAAA,WAAA,KAAA,UAAA,iCAEM,KAAO,UAFb;QAWC,SARU;QAYR,UAAQ;WACR,KAAA;;IAOF,YAJA;AAKE,YAAQ,KAAI,KAAA,SAAA,aAAA,UAAA,IAAA,OAAA,KAAA,SAAA,aACZ;AAGF,MAAA,OAAQ,MAAA,aAAsB,MAAM,SAAA,aAAA,0BAAA,MAAA,KAAA,MAAA,CAAA,KAAA,SAAA,aAAA,iBAAA,CAAA,KAAA,SAAA,eAAA,KAAA,SAAA,aAAA,cAAA,KAAA,KAAA,SAAA,aAAA,SAAA;;IAEpB,OAEL,IAAA,GAAA;AACZ,UAAA,IAAA,KAAA,6BAAA,IAAA,IAAA,MAAA,GAAA,eAAA,GAAA,SAAA,YAAA,KAAA,OAAA,OAAA,EAAA,gBAAA,UAAA,SAAA,OAAA,EAAA,gBAAA,IAAA;AAED,UAAA,cAAuB;AASrB;;AASE,UAAA,aAAY,EAAA,WAAA,EAAA,cAAA,IAAA,CAAA,EAAA,QAAA,SAAA,CAAA,EAAA,QAAA,MAAA,MAAA;AACZ,UAAA;AAAA;;AAIA,QAAA,WAAY,WAAgB,MAClB;AAEX,UAAA,gBAAkB,MAAU,EAAA;SAAA,EAAA,QAAA,MAAA;;IAG/B,OAAA,IAAA,GAAA;AACE,UAAA,IAAA,KAAW,6BAAgB,IAAA,IAAA,MAAA,GAAA,eAAA,GAAA,SAAA,aAAA,KAAA,OAAA,EAAA,SAAA,SAAA,GAAA,iBAAA,CAAA,EAAA,wBAAA;AACzB,YAAI,aAAK,EAAA,WAAsB,EAAA,cAAA,IAAA,CAAA,EAAA,QAAA,SAAA,CAAA,EAAA,QAAA,MAAA,MAAA;AAC7B,YAAA;AAIJ;;AAGF,UAAA,WAAmB,WAAA,MAAA;AACjB,YAAM,gBAA6B,MAAA,EAAkB;WAErD,EAAA,QAAO,MAAmB;;;IAMjB,uBACC;AAAY,iBACjB,MAAA,KAAA;AACH,YAAI,KAAA,eAAkB;AAGxB,iBAAO;AAIU,aACb;;IACa,WAIb,IAAO;AAWS,YACT,IAAA,EAAA,kBAAA,KAAA;AAAA,aACA,OAAA,KAAA,GAAA,QAAA,CAAA,MAAA;AACP,WAAO,IAAA,MAAA,OAAA,EAAA;UAIJ,KAAA,iDACR,KAAA,YAAA,UAED,IACE,OAAe,MAAA,YAAA,KAAA,KAAA,KAEf,GAAA,YAAkB,GAAA,cAAK,QAAA,SAAA,OAAA,IAAA,GAAA,YAAA,OAAA,GAAA,SAAA,YAAA,IAAA,QAAA;QACjB,MAAK,GAAA;QAQX,MAAO,GAAA;UACR,OAAA,GAAA,SAAA,YAAA,IAAA,QAAA,GAAA,MAAA,aAAA,OAAA,GAAA,WAAA,YAAA,IAAA,UAAA,GAAA,QAAA,aAAA,EAAA,KAAA,IAAA,KAAA,YAAA,cAAA,GAAA,YAAA,IAAA,WAAA,GAED,GAAA,UACE,GAAA,WAEE,GAAA,cACA;;IAGF,qBAAkC;AAKnC,YAAA,KAAA;AAED,iBAAA,KAAA,KAAuB;AACrB,aAAO,YAAA,QAAA,OAAA,KAAA,QAAA,MAAA,IAAA,KAAA,KAAA,QAAA;AACR,aAAA;;IAGC,iBAAQ;AAEH,YAIL,KAAA,KAAK,iBAAqB,IAC1B,IAAA,OAED,UAAA,KAAA,8BAED,MACM,IAAK,GAAA,aACF,SAAQ,MAAA;AAGhB,YAAA,QAAA,EAAA,SAAA,KAAA,EAAA,IAAA,CAAA,MAAA,EAAA,QAAA,QAAA,CAAA,MAAA,GAAA,UAAA,OAAA;;IAID,uBAAuB;AACrB,aAAO;;IAGL,6BAAsB,IAAU;AAC9B,YAAA,EAAI,OAAO,MAAW;AACpB,WAAA,MAAA,MAAU,EAAA,SAAU,QAAA,KAAA,kBAA6B,KAAA,oBAAA,KAAA,eAAA,EAAA;;;AAK3D,WAAK,WAAA,MAAA,QAAA,WAAA,KAAA,UAAA;;WCn0BC,gBACA,IAAW;AAKf,aAAW,KAAA,KAAA,WAAA;AACX,cAAA,IAAW,GAAA,oBAAA,MAAA;AACX,YAAQ,OAAK,MAAA,UAAA;AACb,cAAS,OAAA,EAAA,MAAA;AACT,kBAAS,IAAA,UAAA,oBAAA;AACT,YAAA;;;;;AAYY,MACC,KAAA;AADD,MACC,KAAA,IAAA;AADD,MACC,KAAA,iCACb,GAAA,UADa;IAEb,WAAM;IACN,QAAO,CAAA,GAAA;IACP,SAAA;IACA,SAAO;IACP,UAAS;;AAPG,MAQZ,KAAA,iCACA,GAAA,cADA;IAEA,SAAA;;AAVY,MAaR,KAAiB;IASvB,MAAM,OAAA;IAAwB,QAAA,SAAA;IAG5B,MAAA,OAAW;IACT,OAAA,QAAO;IACR,UAAA,WAAA;IAED,OAAA,QAAW;IACT,SAAO,UAAA;IACR,UAAA,WAAA;IAED,YAAW,aAAQ;IACjB,YAAO,aAAA;;AC3BgB,MACjB,KAAA;AADiB,MACjB,MAAA,IAAA;AADiB,MAoDxB,KAAA,WAAA;AApDwB,MAoDxB,KAAA,SAAA;AApDwB,MAoDxB,KAAA;AApDwB,MAoDxB,KAAA;AApDwB,MAoDxB,KAAA;AApDwB,MAoDxB,KAAA,GAAA,OAAA,OAAA;ACpCA,MAAA,KAAA;AAAA,MAAA,KAAA,IAAA;AAAA,MAAA,KAAA,OAAA;AAAA,MAAA,KAAA,SAAA;AAAA,MAAA,KAAA,OAAA;AAAA,MAAA,KAAA,QAAA;AAAA,MAAA,KAAA;AAAA,MAAA,KAAA;AAAA,MAAA,KAAA,IAAA;AAAA,MAAA,KAAA,IAAA;ACRH,MAE2B,KAAA;AAF3B,MAE2B,MAAA,IAAA;AAF3B,MAE2B,KAAA,YAAA;AAF3B,MAE2B,KAAA,WAAA;AAF3B,MAE2B,KAAA,UAAA;AAF3B,MAE2B,KAAA,WAAA;AAF3B,MAE2B,KAAA,OAAA;AAF3B,MAE2B,KAAA,SAAA;AAF3B,MAE2B,KAAA,OAAA;AAF3B,MAE2B,KAAA,QAAA;AC3Dkc,EAAA,OAAA;AAA6B,QAAA,IAAA,EAAA,KAAO,CAAA,GAAK,GAAK,MAAA;AAAY,QAAA,EAAA,GAAA,EAAA,GAAI,MAAK;AAAE,UAAA,IAAA,EAAA,MAAU,IAAE,EAAA,EAAA,KAAA,SAAiB,GAAG;AAAsB,eAAK,EAAA;;AAA8B,QAAA,KAAU,CAAA,EAAA,IAAO,gSAAkB;AAAG,YAAA,IAAI;OAAK,KAAA,CAAA,MAAG;AAAE,QAAA,UAAA,SAAU,GAAE;AAAmB,YAAA,IAAA;AAAiB,eAAM,EAAA,WAAI,WAAK;AAAA,iBAAA,KAAA,IAAA,SAAA,GAAA;AAAI,gBAAA,IAAQ,EAAA;AAAoB,mBAAI,EAAE,KAAG,UAAW,OAAA,EAAA,IAAA,MAAA,OAAA,GAAA,OAAA;aAAE,KAAG;WAA0E,EAAA,IAAA,SAAA,GAAA,GAAA,GAAA;AAAG,iBAAE,KAAA,YAAA,KAAA,CAAA,CAAA,MAAA,GAAA;AAAC,cAAA,IAAA;AAAG,cAAI;AAAM,qBAAU,IAAA,GAAA,IAAA,KAAA,QAAA,KAAA;AAAiB,kBAAA,IAAO,KAAA,GAApB;AAA8B,mBAAA,QAAA,GAAA,KAAA;;AAAsD,mBAAK,IAAA,GAAA,IAAA,EAAA,QAAwB,KAAA;AAAiB,gBAAA,IAAM,GAAA,OAAU,EAAA;AAA4B,iBAAA,EAAC,EAAA,OAAA,MAAA,GAAA,KAAA,EAAA,KAAA,GAAA,OAAA,GAAA,SAAA,OAAA,EAAA,MAAA,EAAA,KAAA,IAAA,EAAA,KAAA;;WAA6B;;OAAkN,KAAA,MAAE;AAAW,MAAA,YAAA;AAAI,YAAA,OAAA,SAAO;AAAuD,cAAA;AAAM,gBAAA,IAAG,IAAC,OAAA,YAAA,QAAA,EAAA,YAAA;AAAA,gBAAC,EAAA,kBAAC,EAAA,qBAAA;AAAS,oBAAA,IAAK,MAAA;mBAAmB,IAAF;AAAE,gBAAC,IAAE,SAAA,GAAA,GAAA;AAAC,kBAAA,GAAA;AAAI,qBAAA,KAAU,KAAA,IAAO,UAAM,CAAA,CAAA,EAAA,SAAiB,EAAA,aAAY,CAAA,CAAA,EAAA,YAAA,KAAA,SAAA,YAAA,gBAAA,gBAAA,GAAA,EAAA,SAAA,EAAA,YAAA,EAAA,SAAA,IAAA,EAAA,gBAAA,EAAA,iBAAA,WAAA;AAAC,kBAAA,KAAA;AAAE,oBAAA;AAAW,yBAAM,eAAA,MAAA,oBAAA,EAAA,KAAA,WAAA;AAAsB,2BAAA;;yBAAoC,IAAT;AAA2B,uBAAZ,mBAAc;;iBAAoC;;AAAoE,cAAA,YAAI,OAAA,MAAgB,WAAA,OAAA,cAAA;;;OAAgB,KAAA,CAAA,GAAI,GAAA,MAAA;AAAC,UAAA,GAAA,IAAG,WAAE;AAAA,YAAA,IAAA;AAAE,eAAA,SAAU,GAAA;AAAC,cAAA,EAAA,OAAA,QAAA;AAAK,gBAAI,IAAA,SAAA,cAAA;AAAC,gBAAS,OAAI,qBAAA,aAAA,OAAA;AAAC,kBAAQ;AAA6B,oBAAG,EAAA,gBAAe;uBAAG,IAAA;AAAE,oBAAA;;AAAM,cAAA,KAAO;;AAAE,iBAAW,EAAA;;WAA2C,IAAI;AAAwE,iBAAK,GAAA;AAAI,iBAAI,IAAK,IAAE,IAAE,GAAC,IAAI,EAAG,QAAE;AAAgC,cAAA,EAAL,GAAA,eAAa,GAAA;AAAyF,gBAAA;AAAE;;AAAS,eAAS;;AAA8D,iBAAc,GAAA,GAAA;AAAO,iBAAI,IAAI,IAAA,IAAA,IAAA,IAAA,GAAA,IAAA,EAAA,QAAA,KAAA;AAAG,cAAA,IAAM,EAAA,IAAA,IAAM,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,IAAA,EAAA,MAAA,GAAA,IAAA,GAAA,OAAA,GAAA,KAAA,OAAA;AAAA,YAAA,KAAA,IAAA;AAAG,cAAG,IAAA,EAAO,IAAK,IAAG,EAAA,KAAS,EAAA,IAAA,OAAW,EAAA,IAAA,WAAA,EAAA;AAAC,gBAAE,KAAA,GAAA,GAAa,cAAM,EAAA,GAAA,QAAA,MAAA,EAAA,KAAA,EAAA,YAAA,GAAA,SAAA,EAAA,GAAA,IAAA,YAAA,MAAA,EAAA,KAAA;;AAAiC,eAAE;;AAAe,iBAAI,GAAI;AAAkB,YAAA,IAAI,SAAA,cAAA,UAAA,IAAA,EAAA,cAAA;AAAE,YAAA,EAAA,UAAU,QAAM;AAA2G,cAAE,IAAA,EAAA;AAAa,eAAA,GAAA,QAAA;;AAAU,YAAA,OAAA,KAAA,GAAA,QAAA,SAAA,GAAA;AAAK,YAAA,aAAO,GAAG,EAAA;YAAc,OAAU,EAAA,UAAM;AAAyB,YAAA,OAAA;aAAC;AAAG,cAAA,IAAW,EAAE,EAAA,UAAM;AAAC,cAAI,CAAA;AAAyE,kBAAE,IAAA,MAAA;AAAW,YAAE,YAAW;;AAAoB,eAAI;;AAAqH,UAAA,GAAA,IAAA,KAAA,IAAA,SAAA,GAAA,GAAA;AAAE,eAAA,EAAA,KAAA,GAAA,EAAA,OAAA,SAAA,KAAA;;;AAAuD,iBAAK,GAAE,GAAA,GAAA,GAAA;AAAoF,YAAA,IAAA,IAAA,KAAA,EAAA,QAAA,UAAA,OAAA,EAAuD,OAAO,MAAK,OAAA,EAAS,KAAA,OAAA,EAAA;AAA6D,YAAE,EAAA;AAAmB,YAAA,WAAM,UAAA,EAAA,GAAA;aAAC;AAAmB,cAAE,IAAA,SAAY,eAAY,IAAA,IAAA,EAAA;AAAE,YAAE,MAAA,EAAA,YAAY,EAAS,KAAA,EAAA,SAAiB,EAAA,aAAA,GAAA,EAAA,MAAA,EAAA,YAAA;;;AAAG,iBAAM,GAAK,GAAA,GAAE;AAAE,YAAA,IAAS,EAAE,KAAI,IAAA,EAAA,OAAA,IAAA,EAAA;AAAC,YAAI,IAAE,EAAE,aAAA,SAAA,KAAA,EAAA,gBAAA,UAAA,KAAA,OAAA,OAAA,OAAA,MAAA;oDAAiB,OAAA,KAAA,SAAA,mBAAA,KAAA,UAAA,OAAA,SAAA,EAAA;AAAC,YAAA,WAAM,UAAA;aAAI;AAAwD,iBAAA,EAAA;AAAO,cAAE,YAAS,EAAA;AAA4B,YAAA,YAAU,SAAE,eAAA;;;AAAiC,UAAA,IAAA,MAAE,KAAA;AAAwB,iBAAI,GAAA,GAAA;AAAA,YAAC,GAAA,GAAA;AAAE,YAAA,EAAA,WAAY;AAAY,cAAG,IAAE;AAAC,cAAA,KAAK,KAAA,EAAM,KAAE,IAAK,EAAE,KAAA,MAAQ,GAAE,GAAA,QAAO,IAAE,EAAA,KAAA,MAAc,GAAA,GAAA;;AAAiB,cAAE,EAAA,IAAG,IAAA,EAAA,KAAA,MAAA,GAAA,IAAA,IAAA,WAAA;AAAA,YAAA,UAAA,GAAA;AAAQ,kBAAA,EAAA,eAAA;AAAE,uBAAA;AAAC,gBAAA,WAAA,YAAA;eAAG;;AAAkK,eAAI,EAAE,IAAE,SAAO,GAAE;AAAE,cAAA,GAAO;AAAY,gBAAG,EAAE,QAAG,EAAsB,OAAO,EAAA,UAAU,EAAA,SAAc,EAAC,cAAnD,EAAA;AAAsD;AAA4B,cAAA,IAAI;;AAAe;;;AAAgE,QAAA,UAAO,SAAE,GAAA,GAAA;AAAwC,QAAA,KAAA,KAAA,IAAA,aAAA,OAAA,EAAA,aAAA,aAAA,GAAA,YAAA,OAAA,UAAA,KAAA,CAAA,CAAA,WAAA,YAAA,SAAA,OAAA,CAAA,OAAA,QAAA;AAAG,YAAA,IAAE,EAAA,IAAA,KAAA,IAAA;AAAA,eAAA,SAAA,GAAA;AAAE,cAAA,IAAA,KAAA,IAAA,OAAA,UAAA,SAAA,KAAA,OAAA,kBAAA;AAAC,qBAAA,IAAA,GAAA,IAAA,EAAA,QAAA,KAAA;AAAM,kBAAA,IAAA,EAAA,EAAA;AAAY,gBAAE,GAAE;;AAAwB,qBAAT,IAAA,EAAA,GAAA,IAAA,IAAA,GAAA,IAAA,EAAA,QAAA,KAAA;AAAW,kBAAS,IAAA,EAAA,EAAA;AAAc,gBAAE,GAAC,eAAQ,KAAQ,GAAE,GAAA,WAAA,EAAA,OAAA,GAAA;;AAAsC,gBAAA;;;;SAA4E,KAAE;AAAQ,eAAQ,GAAA;AAAO,UAAE,IAAE,GAAG;AAAiE,UAAI,MAAG;AAAmE,eAAM,EAAE;AAAuB,UAAA,IAAA,GAAS,KAAI,EAAA,IAAA,GAAA,SAAA;AAAC,aAAI,EAAE,GAAA,GAAA,EAAA,SAAa,IAAA,EAAA;;AAAqD,MAAA,IAAA,CAAA,MAAI;AAAkF,UAAA,IAAE,KAAA,EAAA,aAAmB,MAAE,EAAA,UAAM,MAAA;AAAA,aAAA,EAAA,EAAA,GAAA,EAAA,GAAA,MAAA;OAAI,EAAA,IAAA,CAAA,GAAA,MAAA;AAAC,eAAS,KAAI;AAAC,UAAE,EAAA,GAAA,MAAA,CAAA,EAAa,EAAA,GAAA,MAAA,OAAe,eAAM,GAAA,GAAgB,EAAA,YAAe,MAAE,KAAE,EAAA;OAA+F,EAAA,IAAA,CAAA,GAAA,MAAA,OAAA,UAAA,eAAA,KAAA,GAAA,IAAA,OAAA;AAAC,UAAI,IAAE,EAAE,MAAC,IAAO,EAAA,EAAA,IAAO,IAAA,EAAA;AAAyF,iBAAsB,GAAA;AAAqC,YAAK,CAAA,EAAE,aAAS,kBAAiB;AAAiD,YAAA,aAA5B,iBAAA;AAA4E,cAAE,IAAA,IAAA,OAAA,YAAA,kBAAA,EAAA,SAAA,MAAA,YAAA,MAAA,QAAA;AAAE,YAAA,cAAA,MAAA,GAAA,QAAA;;;AC8CpmK,iBAAA,GAAgB;AAGZ,UAAc,aAAA,oBAAA,GAAA,gBAAA,kBAAA,EAAA,cAAA,IAAA,OAAA,YAAA,kBAAA,EAAA,SAAA,MAAA,YAAA,OAAA,QAAA;;AAIP,UAAiB,EAAA,GAAA,EAAA,QAAA,QAAA,WAAA,UAAA,EAAA,EAAA,QAAA,EAAA,MAAA,SAAA,iBAAA,kBAAA,SAAA,GAAA;AAC5B,UAAA,kBACE,oBAAA,EAAA,EAAA,UAAA,EAAA,EAAA;SACF,OAAA,SACE,iBAAA,SAAA,SAAA,GAAA;AACF,UAAA,cACE,2BAAA,UAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA;SACF;;;AAKE,MACF,KAAA;AADE,MAEA,KAAA;AAFA,MAEA,KAAA;AAFA,MAEA,KAAA;AAFA,MAEA,KAAA;AAFA,MAEA,KAAA;AAFA,MAEA,KAAA;AAFA,MAEA,KAAA;AAFA,MAEA,KAAA;AAFA,MAEA,KAAA;AAFA,MAEA,KAAA;AAFA,MAEA,KAAA;AAFA,MAEA,MAAA,IAAA;AAFA,MAEA,KAAA,IAAA;AAFA,MAEA,KAAA,IAAA;AAFA,MAEA,KAAA,IAAA;AAFA,MAEA,KAAA,IAAA;AAFA,MAEA,KAAA,IAAA;AAFA,MAEA,KAAA;IACF,gBACE;;AAJA,MAKF,KAAA;IAEA,gBAAA;;AAPE,MASF,KAAA;IACF,OAE2B;IACzB,cAAO;IACP,oBAAc;IACd,mBAAA;IACA,aAAA;IACA,mBAAa;IACb,kBAAA;IACA,eAAA;IACA,qBAAe;IACf,oBAAA;IACA,SAAA;;AAtBE,MAuBF,KAAA;IACF,OAAA;IAQA,cAAY;IACV,oBAA6B;IAC3B,mBAAe;IAmBhB,aAAA;IAAA,mBAAA;IAGD,kBAAkB;IAChB,eAAO;IACR,qBAAA;IAED,oBAAY;IAIV,SAFE;;AAGH,gBAAA;IAGD,YAAO,IAAA,GAAA,GAAA;AACD,WAAK,UAAA,KAGT,WAAK,GAAA,KAAA,KACL,WAAK,IAAA,KACL,WAAK,KAAW,YACX,IAAA,KACL,SAAK,MAAA,KACL,cAAK,GAAW,KAChB,mBACA,GAAK,KAAA,gBAAa,MAAA,KAAA,eAAA,MAAA,KAAA,iBAAA,MAAA,KAAA,aAAA,OAAA,KAAA,UAAA,MAAA,KAAA,WAAA,OAAA,KAAA,kBAAA,MAAA,KAAA,aAAA,GAAA,KAAA,eAAA,MAAA,KAAA,YAAA,GAAA,QAAA,IAAA,IAAA,OAAA,KAAA;;eAIb,OAAA;AAMN,aAAA;;QAGC,QAAK;AAEyD,aAC5D,EAAA,QAAA,SAAA,KAAA,aAAA,EAAA,QAAA,YAAA,KAAA;;IAGH,OAAA;AAED,WAAA,cAAgB,MAAA,iBAAA,KAAA,cAAA,KAAA,eAAA,KAAA,aAAA,KAAA,cAAA,KAAA,eAAA,KAAA,cAAA,KAAA,aAAA;;IAGC,SACb;AAAA,WACA,iBAAW,KAAA,iBAAA,KAAA,eAAA,KAAA,aAAA,KAAA,cAAA,KAAA;;IAEd,cAAA;AAED,WAAA,MAAU,aAAA,IAAA,KAAA,EAAA,QAAA,IAAA,KAAA,MAAA,YAAA,aACR,IAID;;IAKC,gBAAS;AAAA,WACJ,MAAA,gBAAA,KAAA,EAAA,QACH,IACA,KAAI,MAAO,YACjB,gBAEW;;IAGT,UAAA;AACE,WAAA,iBAAmC,EAAA,WAAuB,KAAK,UAAQ,KAAA,KAAA,WAAA;;IAGlE,WACA,IAAA,GAAA;AAAA,aACA,KAAA,iDAGW,KAGjB,EAAA,kBAAA,KAED,OAAA,MAAgB,WAAA,KAAA,KACd,EAAK,IAAA,IAAA,KAAwB;;IAW/B,YAAA,IAAa;AACX,YAAK,IAAA,EAAA,uBAAuD,KAAA;AAC7D,aAAA,KAAA,iDAED,KACO,IACH,KACA,EAAA,IAAA,IAAA,KAAA;;IAMH,gBAAA;AAED,WAAA,SAAa,EAAA,QAAA,SAAA,KAAA,WAAA,KAAA,WAAA,OAAA,KAAA,qBAAA,MAAA,kBAAA,KAAA,iCAAA,KAAA;;IACE,aACX;AAAA,WACA,UAAA,EAAA,QAAA,IAAA,KAAA;;IACA,cACM;AACZ,WACiB,WAAA,EAAA,iBACX,KAAA,OACA,qBACA,KAAA,YAAA,MAAA,aAAA,KAAA,MAAA,WAAA,KAAA;;IAC0B,aAEf;AAAA,QACX,GACA,UACA,SACA,KACN,EAEI,SAAa,IAAA,OACX,EAAA,GACA,UACA,SACA,KACN,EACI,SAAa,IAAA,OACX,EAAA,GACA,UACA,QACA,KACN,EACI,WAAa,IAAA,OACX,EAAA,GACA,UACA,SACA,IACN,EAEI,SAAgB,IAAQ,OACtB,EAAe,GAAuC,UAElD,SACA,IAGe,EAChB,SAAA,IAAA,OACT,EACM,GAAyD,UAErD,QACA,IAGe,EAChB,WAAA,IAAA,OACT,EAAA,GAAA,QAAA,kBAAA,CAAA,OAAA;AACK,UAED,KAAgB,KAAA,GAAA,QAAQ,QACtB,CAAA,MAAM;AACJ,gBAAA,IAAA,EAAA,YAAA,EAAA;AACR,eAAA,EAAA;YAGW,EAAA,KAAY,IAAA,GAAA,QAAA,QACX,CAAA,MAAA;AACK,gBAGL,IAAS,EAAA,YAAM,EAAA;AAChB,eAAA,EAAA;;UAIC,EAAA,GAAA,QAAiB,qBAA0B,CAAA,OAAU;AACrD,cAAK,IAGL,GAAS,OAAM,WAAA,cAChB;AAGN,aAEY,GAAG,KAAA,KAAQ,GAAA,QACtB,CAAA,MAAI;AAEE,gBAAO,IAAA,EACX,YAAa,EAAO;AAGlB,eAAA,EAAA;YAIJ,EAAA,KAAe,IAAe,GAAA,QACf,CAAA,MAAK;AAClB,gBAAM,IAAiB,EAAA,YAAoB,EAAA;AACtC,eAGI,EAAA;;UAIP,EAAA,GAAA,QAAiB,gBAA0B,CAAA,OAAA;AAC3C,YAAK;AAGU,WAChB,OAAA,OAAA,IAAA,GAAA,OAAA,KAAA,MAAA,KAAA,KAAA,IAAA,EAAA,iBAAA,GAAA,QAAA,UAAA,MACT,KAII;AACE,cAAe,IAAK,EAAwB,QAAQ,IAAE;AAAA,UACpD,KAAC,KAAY,GAAA,QAAA,CAAA,MAAA;AACX,gBAAA,IAAM,EAAW,YAAM,EAAY;AACnC,eAAK,EAGL;YACD,EAAA,KAAA,IAAA,GAAA,QACT,CACM,MAAe;AACZ,gBAAY,IAAA,EAAA,YAAA,EAAA;AACX,eAAA,EAAM;;UAMhB,EAAA,GAAA,QAAA,SAAA,CAAA,OAAA;AACK,UAGD,KAAgB,KAAA,GAAA,QAAQ,QACtB,CAAA,MAAM;AACD,gBAAe,IAAA,EAAA,YAGX,EAAA;AACV,eAAA,EAAA;YAGH,EAAA,KAAA,IAAe,GAAA,QAAA,QACI,CAAA,MAAe;AAC1B,gBAAA,IAAA,EAAA,YAAA,EAAA;AACJ,eAAK,EAAA;;UAKP,EAAK,GAAA,QAAA,kBAA2B,CAAA,OAAA;AAGhC,cAAM,IAAe,EAAA,YAAW,GAAM,OAAA;AACtC,SAAA,KAAK,CAAA,GAAA,cAAgB,EAAA;;;IAMrB,eAAqB;AACnB,UAAA,EAAA,KACA,IAAA,OACD,KAAA,UACF,SAAA;AAED;AAEE,WAAI,kBADkC,SAAM,cAAM,QAAA,EAAA,SAAA,KAAA,iBAAA,KAAA,SAAA,UAAA,KAAA,gBAAA,aAAA,IAAA;AAEhD,YAAA,IAAA,KAAA,MAAA,MAAA;AAIE,WAFmB,gBAAS,YAAkB,GAE1B,OAAM,KACtB,cAAM,KAAU,QAEhB,YAAgB,KAAA,kBAAA,KAAA;;IAI1B,eAAA;AACE,QAAA,GAAK,KAAA,OAAM,SAAa,MAA2B;AACpD,cAAA,KAAA,KAAA,MAAA,MAAA;AAED,aAAA,gBAAgB,YAAA,GAAA,QAAA,KAAA;;;IAEZ,8BACK,KAAA,KAAA,OAAA;AACX,UACI,CAAA,IAAK,aAAA,YAA+B;AAClC;AAAA,OACA,UAAK,kBAAA,OAAA,CAAA,GAAA,QAAA,GAAA,MAAA,UAAA,IAAA,GAAA,MAAA,UAAA;;IAER,mBAAA;AAED,WAAA,MAAA,aAAiB,IAAA;;IAEhB,gBAAA;AAED,WAAA,eAAA,EAAA,QAEE,IAA4D,KAAA,WAC5D,KAAM,gBACA,EAAS,QACb,IACA,KAAA;;IAOH,iBAAA;AAED,WAAA,cAAa,KAAA,OAAA,cAAA,MAAA;;IAoCX,gCAvBiD;AAIrC,UACV,KAAK,mBAAA,GAAA,CAAA,KAAA,SAAA,aAAA;AACL;AACN,YACI,KAAK,KAAA,OAAc,IAAA,EAAA,KAIjB,IACA,kCACN;AAIgB,YACV,SAAK,KAAA,mBAAA,IAAA,KAAA,mBAAA,EAAA,cAAA;;IAC6B,aAE/B;AAQN,YAAA,KAAA,KAAA,QAAA,iBAAA,KAAA,SAAA,oBAAA,KAAA,SAAA,oBAAA,IAAA,KAAA,QAAA,iBAAA,KAAA,SAAA,mBAAA,KAAA,SAAA,mBAAA,IAAA,KAAA,QAAA,iBAAA,KAAA,SAAA,qBAAA,KAAA,SAAA,qBAAA,IAAA,EAAA,KAAA,IAAA,KAAA,WAAA,IAAA,GAAA;AAED,QAAA,SAAA,GAAc,KAAA,SAAA,QAAA,EAAA,aAAA,IAAA,KAAA,KAAA,gBAAA,GAAA,QAAA,EAAA,SACZ,KAAK,eAKN,GAAA,KAAA,SAAA,gBAAA,OAED,KAAA,cAAgB,aAAA,IAAA,KAAA,KAAA,eAAA,GAAA,QAAA,EAAA,SACd,KAAM,cACF,GAAQ,KAAO,SAAA,eAAA,MACpB,KAAA,aAAA,aAAA,IAAA,KAAA,KAAA,iBAAA,GAAA,QAAA,EAAA,SAED,KAAA,gBACE,GAAmB,KAAM,SAAA,iBAAA,MACvB,KAAK,eAAkB,aAAA,IAAA,KAAA,CAAA,GAAA,UAAA,MAAA,GAAA,OAAA,KAAA,gBAAA,EAAA,OAAA,KAAA,eAAA,EAAA,OAAA,KAAA,iBAAA,KAAA,SAAA,OAAA;;IAEa,cAClC;AAAA,WACA,aAAK,MAAA,QAAA,GAAA,KAAA,iBAAA,KAAA,cAAA,MAAA,QAAA,GAAA,KAAA,mBAAA,OAAA,KAAA,WAAA,QAAA,MAAA,OAAA,MAAA,aAAA,GAAA,KAAA;;IAGP,gBAAmB;AASzB,YAAK,KAAA,EAAA,QAAA,IAAA,KAAA;AACF,YAAA,GAAA;;IAQC,UALI,IACF;AAKA,SAAA,MAAM;AACN,aAAK,aAAA;AAGgC,cACjC,IAAA,KAAA,GAAA,SAAA,KAAA,OAAA,IAAA,EAAA,QACA,IACV,KACQ;AACE,cACM,GAAA,SAAO,WAAA,KAAA,EAAA,aAAA,IAAA,KAAA,EAAA,UAAA,MAAA,GAAA,aAAA,IAAA,KAAA,KAAA,EAAA,aAAA,IAAA,MAAA,KAAA,8BAAA;;;IAKpB,aAAA,IAAA;AAED,UAAA,MAAY,MAAO,WAAA,GAAA,OAAA,YAAA,KAAA,SAAA,EAAA,QAAA,SAAA,KAAA,YAAA,MAAA,KAAA,QAAA;AACjB,cAAM,IAAQ,KAAc;AAE1B,aAAA,iBAAA,MAAA,KAAA,eAAA,MAAA,eAAA,EAAA,QACM,IACZ,GAAA,OAAA,aACiB,KAAA,gBAEH,EAAA,QAKX,IAED,GAAO,OAAA,aACL,KAAO;;;IAGR,YAAA,IAAA;AAED,YAAO,IAAA,KAAA,GAAW,SAAU,KAAA,OAAA,IAAA,EAAA,QAC1B,IACE,EAAS;AAEZ,QAAA,gBAAA,KAAA,EAAA,UAAA,MAAA,GAAA,gBAAA,KAAA,EAAA,gBAAA,MAAA,KAAA,8BAAA;;WAGC,SAAY,IAAK;AACf,aAAI,SAAY,GAAA;AAChB,WAAA,UAAgB;;;WASZ,WAAU,IAAA;AAEZ,aAAW,SAAS,GAAA;AAAA,WAAA,YAAA;;;WAKnB,gBAAqB,IAAA,GAAA;AAC1B,aAAO,KAAK,KAAQ,WAAiB;AACtC,YAAA,IAAA,EAAA,QAAA,MAAA;AAED,cAAO,IAAA,OAAA,MAAA,YAA0C;AAC/C,YAAA,CACE,EAAA,KAAK,UAAY,KAAO,QACpB,MAAc,KAAA,IAAO,EAAA,MAAW,KAAA,OAAoB,MAAI,WAAA;AAE/D,cAAA,OAAA,EAAA,MAAA;AACH,kBAAA,IAAA,UAAA,oBAAA;AC9kBM,YAAA,IAAO;;;;WAOX,YAAS,IAAA;AACT,aAAO,EAAA,QAAA,IAAA;;WAEP,oBAAQ,IAAA,IAAA,IAAA;AACR,aAAA,KAAA,YAAmB,OAAA,IAAA,KAAA,IAAA,OAAA,KAAA,WAAA,IAAA;;;AKuIjB,MACA,OAAA;AADA,MACA,IAAA;AADA,MACA,KAAA;AADA,MACA,KAAA;AADA,MACA,KAAA;AADA,MACA,KAAA;AADA,MACA,KAAA;AADA,MACA,KAAA;AADA,MACA,KAAA,IAAA;AADA,MACA,KAAA;AADA,MACA,KAAA,QAAA;AADA,MACA,KAAA,OAAA;AADA,MACA,KAAA,aAAA;AADA,MACA,KAAA,QAAA,KAAA;AADA,MACA,KAAA;AADA,MACA,KAAA;AADA,MACA,KAAA,IAAA;AADA,MACA,KAAA,IAAA;ACpJA,MEuGQ,KAAA;AFvGR,MEuGQ,IAAA,WAAA;AFvGR,MEuGQ,KAAA,MAAA;AFvGR,MEuGQ,KAAA,IAAA;AFvGR,MEuGQ,KAAA;AFvGR,MEuGQ,KAAA,QAAA,KAAA;AFvGR,MEuGQ,KAAA,UAAA,KAAA;AFvGR,MEuGQ,KAAA,YAAA,KAAA;AFvGR,MEuGQ,KAAA,UAAA,KAAA;AFvGR,MEuGQ,KAAA,YAAA,KAAA;AFvGR,MEuGQ,KAAA,aAAA,KAAA;AFvGR,MEuGQ,KAAA,YAAA,KAAA;AFvGR,MEuGQ,MAAA,YAAA,KAAA;AFvGR,MEuGQ,KAAA,WAAA,KAAA;AFvGR,MEuGQ,KAAA,aAAA,KAAA;AFvGR,MEuGQ,KAAA,IAAA;AFvGR,MEuGQ,KAAA,IAAA;AFvGR,MEuGQ,KAAA,IAAA;AFvGR,MEuGQ,KAAA,IAAA;AFvGR,MEuGQ,MAAA,IAAA;AFvGR,MEuGQ,KAAA,IAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,IAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,MAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,MAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,IAAA,GAAA;AFvGR,MEuGQ,IAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AFvGR,MEuGQ,KAAA,GAAA;AG9DK,MACF,KAAA,MAAA,MAAA;AADE,MACF,KAAA,MAAA,OAAA;ACXf,MAEM,KAAU;AAFhB,MAEgB,KAAA;AAFhB,MAEgB,KAAA,IAAA;AAFhB,MAEgB,KAAA,WAAA;AAFhB,MAiDG,KAAA,YAAA;AAjDH,MAiDG,MAAA,UAAA;AAjDH,MAiDG,KAAA,QAAA;AAjDH,MAiDG,MAAA,SAAA;AAjDH,MAiDG,KAAA,IAAA;AAjDH,MAiDG,IAAA,IAAA;AAjDH,MAiDG,KAAA,IAAA;AAjDH,MAiDG,KAAA,IAAA;AAjDH,MAiDG,KAAA,IAAA;ACpCA,MAED,MAAA;AAFC,MAEiB,KAAA;AAFjB,MAEiB,MAAA;AAFjB,MAEiB,KAAA;AAChB,iBAAK;IACH,YAAM,IAAW,GAAe,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA;AAAA,WAC9B,KAAA,IAAA,KAAA,eAAA,GAAA,KAAA,WAAA,GAAA,KAAA,QAAA,GAAA,KAAA,QAAA,GAAA,KAAA,WAAA,GAAA,KAAA,WAAA,GAAA,KAAA,SAAA,GAAA,KAAA,gBAAA,GAAA,KAAA,UAAA,GAAA,KAAA,OAAA,GAAA,KAAA,OAAA,MAAA,KAAA,SAAA;;IACK,SACb;AACM,WAAS,WAAU,KACnB,oBAAuB,KAAe;;IASzC,gBAAA;AAED,WAAA,YAAW,MAAA,KAAA,aAAA,IAAA,KAAA,KAAA,KAAA,aAAA,iBAAA,OAAA,KAAA,WAAA,MAAA,KAAA,gBAAA,MAAA,aAAA,WAAA;;IAMV,kBAAA;AAED,UAAA,CAAA,KAAA,UAAkB;AACZ,cAAK,KAAA,EAAA,QAUV,IAED,KAAA;AAEI,WAAA,UAAgC,MAAA,KAAA,KAAA,aAAA,IAAA,KAAA,KAAA,KAAA,aAAA,iBAAA,OAAA,KAAA,WAAA,MAAA,KAAA,gBAAA,MAAA,aAAA,WAAA;;;IAEzB,WACb;AACM,WAAS,WAAU,KACnB,sBAAU,KAA6B;;IAS1C,kBAAA;AAED,WAAA,YAAc,MAAA,KAAA,gBAAA,KAAA,KAAA,KAAA,aAAA,iBAAA,QAAA,KAAA,WAAA,OAAA,KAAA,gBAAA,MAAA,aAAA,WAAA;;IAEb,oBAAA;AAED,UAAA,KAAA,UAAkB;AAChB,cAAK,KAAK,EAAA,QACR,IACE,KAAK;AACL,WAAA,UAAA,OAAA,KAAA,KAAA,gBAAA,KAAA,KAAA,KAAA,aAAA,iBAAA,QAAA,KAAA,WAAA,OAAA,KAAA,gBAAA,MAAA,aAAA,WAAA;;;IAKL,QAAA,IAAA;AAED,WAAA,OAAA;;IAQC,kBAAA;AACH,UAAA,CAAA,KAAA,QAAA;AC1IM,YAAe,KAAA,UAAA;AACnB,eAAA,KAAuB,aAAO,KAAA;AAC5B;;AAIF,aAAO,SAAQ,MAAA,KAAA,KAAA,aAAA,KAAA;;;IAQf,qBAAiB;AACf,WAAI,UAAK,MAAW,SAAA,OAAA,KAAA,KAAA,gBAAA,OAAA,KAAA,YAAA,KAAA,KAAA,gBAAA;;;AAEU,iBAClC;IACM,YAAK,KAAA,OAAA;AAAiC,WAAA,YAAA,IAAA,KAAA,cAAA;;IAIzC,OAAA,IAAA;AAED,WAAA,YAAQ,KAAA,YAAA,KAAA,MAAA,KAAA,cAAA,CAAA;;IAEP,SAAA,IAAA;AAED,UAAI,KAAA,WAAY;AACd,cAAO,IAAK,KAAA,YAAa,UAC1B,CAAA,MAAA,OAAA;AAGC,aAAO,YAAK,OAAA,GAAA;;AAGV,aAAA,cAAQ;;IAEX,QAAA;AAED,WAAI,cAAS;;QAEZ,YAAA;AAED,aAAI,KAAQ,YAAA;;QAEX,aAAA;AAED,aAAI,KAAS;;QAEZ,QAAA;AACH,aAAA,KAAA,YAAA,MAAA,KAAA,UAAA;;QCnDE,SACG;AAIL,aAAA,KAAA,YAAA,IAAA,CAAA,OAAA,GAAA,OAAA,KAAA;;QCgBwB,QAAA;AAAA,aAAA,KAAA,WAAA,MAAA,KAAA,UAAA;;QAMlB,SAA4B;AACtB,aAAA,KAAS,YAAe,IAAA,CAAS,OAAA,GAAA;;;AAQ3C,cAAW,GAAA;AAWb,WAAA,EAAA,OAAA,CAAA,OAAA,CAAA,GAAA,UAAA,MAAA,CAAA,OAAA,GAAA;;AAGE,MAAA,KAAM;AAAN,MAA4C,KAAA;AAA5C,MAA4C,KAAA;AAA5C,MAA4C,KAAA;AAA5C,MAA4C,KAAA;AAA5C,MAA4C,KAAA;AAA5C,MAA4C,KAAA;AAA5C,MAA4C,KAAA;AAA5C,MAA4C,KAAA;AAA5C,MAA4C,KAAA;AAA5C,MAA4C,KAAA;AAA5C,MAA4C,KAAA;AAA5C,MAA4C,KAAA;AAA5C,MAA4C,KAAA;AAA5C,MAA4C,KAAA;AAA5C,MAA4C,MAAA;AAA5C,MAA4C,KAAA;;;;;AAA5C,MAQA,KAAM,CAAA,MAAgB;AAItB,MAAM,SAAA,SAAgC,EAAE,SAC5B,SAAwB,EAAA;;AAGlC,cACA,GAAA,IAAA,GAAA,GAAA,GAAA;AAAA,OACA,eAAQ,aAAA,EAAA,SAAA,GAAA,IAAA,GAAA,eAAA,QAAA,EAAA,SAAA,GAAA,IAAA,GAAA,eAAA,QAAA,EAAA,SAAA,GAAA;;AACA,cACA,GAAA,IAAA,GAAA,GAAA,GAAA;AACZ,UAEa,IAAA,SAAA,cACG;AAwBgB,MAC1B,aAAA,MAAkB,IAAA,EAAA,aAAA,IAAA;AAAA,UAClB,IAAA,GAAA;AACN,MAAK,aACoB,IAAa,KAAE,EAAA,SAAQ,GAAW,EAAA;AAWzD,UAAM,IAAgB,GAAQ,UAAK,IAAA,GAAA,eAAA,aAAA,WAAA,IAAA,GAAA,WAAA,SAAA,SAAA,IAAA,GAAA,WAAA,SAAA;AACnC,MAAY,aAAwB,IAAQ,KAAA,EAAA,SAAA,GAAqB,EAAA,cAAA,GAEjE,GACE,IACJ,EAAA,wBACgB,EAAA,mBAEd,EAAA,oBACY,GAAA,mBAAkC,EAAA,SAAA,GAAA,EAAuB,mBAAA,EAAA,aAAA,QAAA,SAAA,EAAA,aAAA,QAAA,IAAA,EAAA,aAAA,wBAAA,IAAA,EAAA,aAAA,iBAAA,IAAA,EAAA,aAAA,iBAAA,SAAA,EAAA,aAAA,iBAAA,QAAA,EAAA,OAAA,GAAA,GAAA,YAAA,EAAA,aAAA,YAAA,GAAA,WAAA,GAAA,YAAA,EAAA,aAAA,YAAA,KAAA,GAAA,sBAAA,MAAA,EAAA,aAAA,eAAA,GAAA,oBAAA,GAAA,mBAAA,GAAA,SAAA,GAAA;MAErE,kBAAqC;MACnC,eAAU;QACd,EAAA,SAAA,GAAA,EAAA,QAAA,gBAAA,EAAA,aAAA,YAAA,SAAA,GAAA,oBAAA,GAAA,aAAA,YAAA,SAAA,EAAA,aAAA,iBAAA,SAAA,EAAA,iBAAA,WAAA;AACE,UAAgB,IAAA,GAAA;AAEhB,MAAA,SAAiB,GAAQ,EAAA;AACzB,UAAS,IAAA,SAAgC,eAKvC,GAAA,GAAA;AACA,MACA,YAAQ;AAAA,UACA,IAAA,GAAA;AAAA,MACR,SAAQ,GAAA,EAAA;AACZ,UAEa,IAAA,SAAA,eAIX,GAAA,GAAM;AAIN,MAAA,YAAsB;AACtB,UAAA,IAAY,GAAA;AAEZ,MACE,aAAA,IAAA,KAAA,EAAA,SAAA,GAAA,EAAA,iBAAA,GACA,GACA,IACA,EAAQ,uBACR,EAAQ,kBACZ,EAEM,mBAYA,GAAA,mBAAA,EAAA,SAAA,GAAA,EAAA;AAAA,UACA,IAAA,SAAA,eAAA;AAAA,MACA,YAAQ,IAAA,EAAA,aAAA,YAAA;AAAA,UACA,KAAA,GAAA;AAAA,WACA,EAAA,SAAA,IAAA,EAAA,cAAA,GACd,IAsBA,IAEO,EAAA,oBAUL,EAAA,eACkB,EAAA,gBAMlB,GAAA,mBAA0B,EAAA,SAAc,IAAK,EAAA,mBAAA,GAAA,YAAA,IAAA,EAAA,YAAA,IAAA,KAAA,GAAA,SAAA,GAAA,EAAA,cAAA,GACpC,GAIT,IACe,EAAA,wBAKf,EAAA,mBACE,EAAA,oBACA,GAAA,mBAAA,EAAA,SAAA,GAAA,EAAA,mBAAA,EAAA,YAAA,KAAA,GAAA,oBAAA,GAAA,YAAA,IAAA,EAAA,YAAA,KAAA,GAAA,qBAAA,EAAA,YAAA,IAAA,EAAA,YAAA,KAAA,EAAA,YAAA,IAAA;;AACA,cACA,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA;AACJ,UAAA,IAAA,SAAA,cAAA;AAEE,MAAA,aAAe,IAAA,KAAuB,EAElC,SAAO,GAAA,EAAA,0BACA,EAAA,aAAA,MAAA,GAAA,MAAA,EAAA,MAAA,QAAA,GAAA;AAAA,UACW,IAAO,SAAA,cAAgC;AAC/D,MAAA,aAGW,YAEP,IAAS,EAAA,aAGO,IAAA,KAAA,EAAA,SAEX,GAAA,EAAA;AACT,UAAA,IAAA,GAAA;AAEO,MAAA,aAEL,IAEA,KACA,EAAA,SAAA,GAAA,EAAA,iBAAA,EAAA,SAAA,GAAA,EAAA,0BAAA,EAAA,MAAA,YAAA,GAAA;AACA,UAAM,IAAc,GACR,GAGZ,GAEA,IAEI;AACA,WACA,EAAA,YAAA,IAAA,GAAA,gBAAA,EAAA,YACA,GAAA,GAAA,yBAAA,KACN,EAEI,YAAsD,IAGxD,KAAa,EAAA,YAAkB,IAAA,EAAA,YAAA,IAAA;;AACD,cAGvB,GAAA,IAAA,GAAA,GAAA;AACT,UAAA,IAAA,GAAA;AAEO,MAAA,aAAwC,IAAS,KAAA,EAAA,SAAA,GAAA,EAAA;AACtD,QAAA;AACA,WAAY,EAAA,WAA6B,IAAA,GAEzC,GAEA,IASF,GAEA,KAEE,IADc,GAAgB,GAAS,GAAe,IAAA,EAAA,QAAA,CAAA,MAAA;AAExD,QAAA,YAAA;QAEA;;AAGE,cAAW,GAAA,IACT;AAAgB,UACd,IAAA,GAAA;AAAA,MACA,SAAA,GAAA,GAAA;AAAA,UACA,IAAA,GAAA;AAAA,WACA,EAAA,aAAA,IAAA,KAAA,EAAA,SAAA,GAAA,GAAA,oBAAA,EAAA,cAAA,GAAA,EAAA,aAAA,QAAA,cAAA,EAAA,aAAA,QAAA,SAAA,EAAA,YAAA,IAAA;;AAGJ,cAAqB,GAAgB,IAAS,GAAQ;AAEtD,WADc,GAAA,GAAiB,IAAe;;AAIhD,cAAyB,GAAS,IAAQ,GAAS,GAAA;AACjD,QAAA,IAAM;AAEN,MAAA,aAAQ,KAAS,GAKf,IAJsD,GACpD,GAEN;AAGM,UAAM,IAAA,GAAU,GAAA,GAAA;AAAA,WAAA,IAAA,CAAA,GAAA,GAAA,KAAA;;AAEwC,cAIrD,GAAA,IAAA,GAAA;AACT,UAAA,IAAA;AAEA,WAAS,EAAA,QAAqC,CAAA,MAAiB;AAC7D,UAAM,OAAgC,UACX,eAAK,KAChC,GAIE,YAEF;AAWF,cAAA,IAAA,GAAA,GAAA,IAAA;AAEA,UAAA,KAA8B;;AAE1B,UAAA,KAAc,GAAA,GAAA,IAAA;QAEhB;;AAIiC,cACvB,GAAG,IAAO,GAAA,GAAA;AACtB,UACc,IAAA,GAAA,KAAA,IAAA,GAAiB;AA0B/B,WAAA,EAAA,aAAA,IAAA,KAAA,EAAA,SAAA,GAAA,EAAA,eAAA,EAAA,aAAA,IAAA,KAAA,EAAA,SAAA,GAAA;MAEA,QAAkC,GAAQ,EAAA;QACxC,EAAM,aAAwB,QAAA,WAAA,EAAA,aAAA,iBAAA,IAAA,KAAA,EAAA,aAAA,KAAA,KAAA,EAAA,YAAA,GAAA,GAAA,GAAA,KAAA,EAAA,QAAA,IAAA;;AAI9B,cAAc,GAAA,IAAA,GAAS;AAEvB,QAAA,EAAA;AAOI,aAAgC,EAAA;AACtC,UAGS,IAAA,GAAA;AACT,WAAA,EAAA,aAAA,IAAA,KAAA,EAAA,SAAA,GAAA,EAAA,eAAA,EAAA,SAAA,GAAA;MAEA,QAAkC,GAAM,GAAA;QACtC,EAAM,iBAAqB,GAAA,MAAA,EAAA,KAAA,EAAA,aAAA,QAAA,WAAA,EAAA,aAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,iBAAA,EAAA,WAAA,EAAA,YAAA,EAAA,aAAA,KAAA,KAAA,EAAA,YAAA,EAAA,aAAA,kCAAA,OAAA,EAAA,UAAA,EAAA,SAAA,GAAA,WAAA,EAAA,YAAA,GAAA,GAAA,IAAA,KAAA,EAAA,QAAA,EAAA,YAAA,GAAA,GAAA,KAAA,EAAA,QAAA,IAAA;;AAE3B,cAAoB,GAAA,IAAA,GAAS;AAC7B,UAAA,IAAK,GAAA;AAEP,MAAA,aAAA,IAAA,KAAA,EAAA,SAAA,GAAA,EAAA;AAEA,UAAA,IAA6B,SAAiB,eAAA,EAAA;AAC5C,WAAM,GAAA,YAA0B,EAAA,YAAA,GAAA,GAAA,KAAA,EAAA,YAAA,IAAA,GAAA,iBAAA,OAAA,EAAA,iBAAA,aAAA,EAAA,YACvB,GAAA,EAAA,eAAa,KAItB;;AAYF,cAAA,GAAA,IAAA;AAEA,UAAA,IAA+B,GAAA;AAC7B,MAAA,SAAkB,GAAQ,GAAA;AAE1B,UAAA,IAAY,SAAS,eAAe;AAMtC,WAAA,EAAA,YAAA,IAAA;;AAGE,cAAc,GAAQ,IAAA;AAEtB,UAAM,IAAA,GAAA;AAUN,MAAA,aAAsB,QAAO,aAAA,EAAA,SAAA,GAAA,GAAA,iBAAA,EAAA,aAAA,IAAA;AAC7B,UAAA,IAAM,GAAA;AAUJ,WAAM,EAAA,YAAiC,EAAQ,aAAgB,WAAA,OAAA,EAAA,YAAA,EAAA,aAAA,YAAA,OAAA,EAAA,YAAA,IAAA;;AAInE,cAAA,GAAA,IAAA;AAEO,UAAA,IAA8B,GAAA,SAAgB,IAAA,GAAA;AACnD,WAAM,EAAA,SAAyB,GAAA,GAAA,mBAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,IAAA;;AAOjC,cAAA,GAAA,IAAA,GAAA;AC5dA,UAAM,IAAO,GAAA;AAsCX,MAAA,aAAA,IAAkB,KAAA,EAAA,SAAA,GAAA,EAAA,oBAAA,EAAA,aAAA,QAAA,UAAA,EAAA,aAAA,MAAA,EAAA,KAAA,EAAA,UAAA,EAAA,SAAA,GAAA;AAClB,UAAA,IAAA,GAAA;AACA,WAAA,EAAA,aAAmB,IAAA,KAAA,EAAA,SAAA,GAAA,EAAA,yBAAA,EAAA,SAAA,GAAA,EAAA,QAAA,GAAA,GAAA,2BAAA,EAAA,aAAA,OAAA,EAAA,KAAA,EAAA,cAAA,EAAA,OAAA,EAAA,YAAA,IAAA,EAAA,QAAA,QAAA,CAAA,MAAA;AACnB,QAAA,YAAU,GAAA,GAAA,IAAA;QACV;;AACiB,cACP,GAAA,IAAA;AACV,UAAA,IAAA,GAAA;AACA,WAAA,EAAA,YAAoB,GAAA,EAAA,SAAA,GAAA,GAAA,cAAA,EAAA,SAAA,GAAA,GAAA,kBAAA;;AACT,MACX,KAAA;AADW,MACK,MAAA;AADL,MACK,KAAA,IAAA;AADL,MACK,KAAA,QAAA;AADL,MACK,KAAA,OAAA;AADL,MACK,KAAA,eAAA;AADL,MACK,KAAA,iBAAA;AADL,MACK,KAAA,cAAA;AADL,MACK,KAAA;AADL,MACK,KAAA;AADL,MACK,KAAA;AADL,MACK,KAAA;AADL,MACK,IAAA;AADL,MACK,KAAA;AADL,MACK,MAAA;AADL,MACK,KAAA;AADL,MACK,KAAA;AADL,MACK,KAAA;AADL,MACK,KAAA;AADL,MACK,KAAA;AADL,MACK,KAAA;AADL,MACK,KAAA;AADL,MACK,KAAA;AADL,MACK,MAAA;AADL,MACK,KAAA;AADL,MACK,KAAA;AADL,MACK,KAAA;AADL,MACK,KAAA,IAAA;AADL,MACK,KAAA;AADL,MACK,KAAA;AADL,MACK,KAAA;AADL,MACK,KAAA;AADL,MACK,KAAA;IAChB,kBAAA;IACA,iBAAY;IACZ,mBAAA;IACA,UAAA;IACA,uBAAsB;IACtB,iBAAA;IACA,UAAA;IACA,4BAAqB;IACrB,oBAAA;IACA,WAAA;IACF,gBAEoB;IAClB,yBAAkB;IAClB,YAAA;IACA,sBAAmB;IACnB,cAAU;IACV,sBAAA;IACA,oBAAiB;IACjB,kBAAU;IACV,qBAAA;IACA,uBAAoB;IACpB,mBAAW;;AAxBA,MAyBX,KAAA;IACA,kBAAA;IACA,iBAAY;IACZ,mBAAA;IACA,UAAA;IACA,uBAAsB;IACtB,iBAAA;IACA,UAAA;IACA,4BAAqB;IACrB,oBAAA;IACA,WAAA;IACF,gBAEuB;IACrB,yBACE;IACF,YAAA;IAEA,sBAAa;IACb,cAAa;IACb,sBACE;IACF,oBAAU;IACV,kBAAa;IACb,qBAAgB;IAChB,uBAAA;IAEA,mBACE;;AArDS,MAsDX,KAAA;IAEA,UAAA;IACA,gBAAe;IACf,aAAA;IACA,aAAA;IAEA,YAAA;IACA,UAAA;IACA,aAAA;IACA,gBAAA;IACA,yBAAyB;IACzB,aAAA;IACA,kBAAA;IAEA,oBACE;IACF,eAAA;IACA,eAAA;IACA,gBAAA;IACA,qBAAmB;IACnB,uBACE;IACF,kBAAkB;IAClB,kBAAA;IAEA,yBACE;IACF,iBAAA;IAEA,mBACE;IACF,aAAA;IACA,kBAAA;IAEA,wBAAkB;IAClB,mBAAA;IAEA,mBAAkB;IAClB,aAAA;IAEA,kBAAA;IAEF,wBAE2B;IACzB,mBAAU;IACV,mBAAgB;IAChB,cAAa;IACb,mBAAa;IACb,wBAAY;IACZ,kBAAU;IACV,2BAAa;IACb,kBAAgB;IAChB,uBAAA;IACA,yBAAa;;AA7GF,MA8GX,KAAA;IACA,UAAA;IACA,gBAAe;IACf,aAAA;IACA,aAAA;IACA,YAAA;IACA,UAAA;IACA,aAAA;IACA,gBAAA;IACA,yBAAmB;IACnB,aAAa;IACb,oBAAA;IACA,eAAA;IACA,eAAA;IACA,gBAAa;IACb,uBAAA;IACA,kBAAA;IACA,kBAAA;IACA,yBAAc;IACd,iBAAA;IACA,mBAAA;IACA,aAAA;IACA,wBAAA;IACA,mBAAkB;IACpB,mBAAA;IAEA,aAAa;IACX,wBAAsC;IACpC,mBAAgB;IAmCqB,mBACnC;IAAA,cACA;IAAA,mBAGG;IAmBN,wBAAA;IAED,kBAAkB;IAChB,2BAAO;IACR,kBAAA;;AAGC,iBAAA;IAAsB,YACpB,IAAA,GAAA,GAAA;AAAA,WACA,WAAK,IAAA,KAAA,UAAA,KAAA,WAAA,IAAA,KAAA,WAAA,KAAA,YAAA,IAAA,KAAA,QAAA,qBAAA,CAAA,KAAA,QAAA,YAAA,KAAA,yBAAA,KAAA,mBAAA,KAAA,oBAAA,KAAA,KAAA,gBAAA,KAAA,iBAAA,KAAA,mBAAA,KAAA,uBAAA,MAAA,KAAA,kBAAA,IAAA,GAAA,KAAA,WAAA,KAAA,qBAAA,IAAA,KAAA,gBAAA,MAAA,KAAA,aAAA,GAAA,oBAAA,KAAA,uBAAA,GAAA,+BAAA,KAAA,eAAA,GAAA,gBAAA,KAAA,qBAAA,MAAA,KAAA,kBAAA,KAAA,QAAA,qBAAA,KAAA,QAAA,sBAAA,KAAA,UAAA,MAAA,KAAA,SAAA,MAAA,KAAA,SAAA,EAAA,KAAA,KAAA,UAAA,IAAA,IAAA,KAAA,SAAA,MAAA,KAAA,aAAA,MAAA,KAAA,qBAAA,OAAA,KAAA,iBAAA,EAAA,KACX,IACG,IAEG,IAAA,KAAA,gBAAW,MAAA,KAAA,iBAAA,MAAA,KAAA,WAAA,MAAA,KAAA,WAAA,MAAA,KAAA,qBAAA,MAAA,KAAA,aAAA,MAAA,KAAA,mBAAA,MAAA,KAAA,SAAA,KAAA,oBAAA,MAAA,KAAA,UAAA,OAAA,KAAA,wBAAA,KAAA,YAAA,EAAA,QAAA,IAAA,KAAA;;eAEd,OAAA;AAED,aAAI;;QAEA,cAAA;AAAA,aACK,EAAA,QACX,IACG,KAAA;;QAIG,WAAA;AAAA,aACK,EAAA,QAAA,IAAA,KAAA;;QAER,cAAA;AAED,aAAI,EAAA,QACF,KACD,KAAA;;QAMA,iBAAA;AAED,aAAI,EAAA,QACF,IAGD,KAAA;;QAIA,cAAA;AAED,aAAI,EAAA,QAAe,IAAA,KAAA;;QAElB,UAAA;AAED,aAAI,KAAA,uBAAe,KAAA,uBAAA,KAAA;;QAKlB,QAAA;AAED,aAAA,KAAmB,WAAA,KAAA,gBAAA,SAAA,KAAA,gBAAA;;QAGjB,WAAS;AAAA,aACJ,KAAA,QAAA;;QAEH,eAAG;AACT,aAEQ,KAAK,YAAS,KAAA,QAAa;;QAiBjC,eAAqB;AACnB,aAAM,KAA6B,gBAAA,aAA4B,KAAA,gBAAQ,WAAA,SAAA;;IAE7D,WACL,IAAA;AAAA,YACA,IAAA,EAAA,kBAAA,KAAA;AAAA,aACA,KAAA,iDAGW,KAGjB,IAED,KACE,KAAM,SAAwB,aAAe,eAAU,IAAA,WAAA,OAAA,KAAA,SAAA,aAAA,eAAA,IAAA,WAAA,OAAA,KAAA,SAAA,YAAA,IAAA,WAAA,KAAA,SAAA,aAAA,cAAA,EAAA,IAAA,IAAA,KAAA;;IAKxD,YAAA,IAAA;AAED,YAAA,IAAA,EAAA,uBAA4B,KAAA;AAC1B,aAAM,KAAU,iDAIhB,KACE,IACE,KAAoB,EAAA,IAClB,IAAI,KAAO;;IACC,wBACG;AAAuB,YACtC,KAAA,IAAQ,OAAK,IAAA,IAAa,MAAA;AAAQ,SAAA,SAClC,MAAS,GAAE,WAAA,MAAA,KAAA,SAAA,QAAA;;IAGb,oBAAa,IAAA;AACX,YAAI,IAAO;AACW,aAAA,GAClB,WAAK,QAAA,CAAA,MAAoB;AAAmB,YAC1D,EAAA,aAAA,YAAA;AAEA,gBACgB,IAAA;YAAgB,IAAA,GAAA;YACV,OAAA,EAAA;YAIX,UAAA,EAAA,aAAA;YACR,QAAA,EAAA,aAAA;YAED,SAAiB;;AAIb,YAAA,WAAO,QAAA,CAAA,MAAA;AAGH,cAAA,aAAU,YAAA,EAAA,QAAA,KAEhB,KAAgB,oBAAoB,GAAA;cAEhC,EAAA,KAAA;;AAER,YAGQ,aAAe,YAA0B,EAAA,KAAA,KAAA,oBAAA;UACvC;;IAGiB,iBAIhB,IAAA;AACR,UAAA,CAAA,EAAA,QAAA,YAAA,KAAA;AAED,eAAA;AACE,YAAM,IAAK;AAWuB,aAChC,GAAA,QAAA,CAAA,MAAA;AACA,eAAA,UAAA,eAAA,KAEI,GACN,aACE,EAAA,QAAA,QAAA,CAAA,MAAA;AACA,YAAA,KAAA;aACA,EAAA,KAAA;UACA;;IACA,oBACA,IAAA,IAAA,IAAA;AAAA,YACA,IAAA,GAAA,YAAA,IAAA,EAAA,KAAA,EAAA,KAAA,MAAA,IAAA,EAAA,WAAA,EAAA,WAAA,OAAA,IAAA,GAAA,YAAA,GAAA,aAAA,KAAA,IAAA,GAAA,aAAA,eAAA,GAAA,IAAA,GAAA,aAAA,aAAA,KAAA,EAAA,QAAA,IAAA,KAAA,UAAA,IAAA,GAAA,OAAA,IAAA,GAAA,OAAA,IAAA,EAAA,iBACA,IACA,wBACA,IAAA,EAAA,iBAAA,IAAA;AAAA,aACA,IAAA,GACN,GACG,IAED,GACE,GAEA,GAGD,GAED,GACE,GAMA,GAEI,GAqBF;;IAEY,wBACP;AAAA,YACL,KAAK,KAAA,QAAA,OAAA,CAAA,MAAA,CAAA,EAAA;AAAA,aACA,KAAA,eAAA,CAAA,KAAA,kBAAA,GAAA,MAAA;;IACA,QACL;AACN,WAEI,0BAA0B,KAC1B,WAAK,EAAA,QAAA,IAAoB,KAAA,eAAA,KAAA,SAAA,EAAA,QAAA,IAAA,KAAA,WAAA,KAAA,QAAA,YAAA,KAAA,OAAA,aAAA,KAAA;AAC1B,YAAA,KAAA,KAAA,QAAA;AAED,aAAA,SAAA,KAAA,aAAyB,SAAA,OAAA,KAAA,aAAA,EAAA,QAAA,KAAA,KAAA,qBAAA,KAAA,yBAAA,KAAA,qBAAA,KAAA,oBAAA,KAAA,4BAAA,KAAA,wBAAA,KAAA,gCAAA,KAAA,wBAAA,KAAA,gBAAA,MAAA,mBAAA,KAAA,2BAAA,KAAA,qBAAA,GACvB,KAAM,sBACJ,KAAK,SACL,KAAK,OAAA,aACL,KAAK,iBACL,KAAK,kBACL,KAAK,kBACX,KAAA,gBACI,KAAK,WAGN,KAAA,yBAAA,KAAA;;IAGC,yBAAoC;AAAA,YAClC,KAAA,GACA,KAAK,YACX,KAAA,SACyB,KAAI,QACvB,KAAA,UACA,KAAA,SAAA;AAC+B,WAC9B,SAAA,WAAA,aAAA,IAAA,KAAA,WAAA,EAAA,SAAA,KAAA,UAAA,KAAA,SAAA,cAAA,GAAA,YAAA,KAAA;;IACI,oBAGF;AACN,YAAA,KAAA,EAAA,QAED,IACE,KAAK;AAMP,UAAA,EACE,IACM;QAGL,gBAAA,KAAA,QAAA;SAGH,KAAA,UACe,QAAQ,KAAA,SAAU,EAAA,QAAW,IAAK,KAAA;;IAGjD,uBAAsB;AAChB,WAAK,6BAAyB,KAAA,yBAC3B,KAAmB,0BAEnB,KAAqB;;IAI9B,wBAA0B;AACxB,WAAA,QAAkB,QACZ,CAAA,OACJ;AAMF,WAJI,YAAe,KAAK,gBAAQ,OAAA;;;IAO9B,4BAAA;AAGF,QAAA,GAAA,KAAQ,UAAG,WAAA,KAAA,eAAA,KAAA;;IAEP,eAAK,IAAA;AAEL,WAAA,WAAA,CAAA,KAAA,QAAA,eAAA,KAAA,mBAAA,MAAA,KAAA,qBAAA;;IAEA,mBAAK,IAAA;AAEL,YAAA,IAAA,GAAA,SAAA,IAAA,MAAA,MAAA,MAAA,QAAA,GAAA,UAAA,MAAA;AAAA,UACF,MAAK,MAAA,KAAA,QAAA,oBAAA,CAAA,KAAA,YAAA,KAAA,qBAAA,KAAA,gBAAA,GAAA;AACH,aAAA,SAAK,KAAA,OAAA;AAEL;;AAEA,cAAA;aAEA;AACF,eAAK,wBAAA,KAAA,gBAAA,KAAA;AACH;aAQA;AACF,eAAA,4BAAA,KAAA,gBAAA,KAAA;AACE;aACH;AAEK,eAAA,yBAAc,KAAA,gBAAA,KAAA;AACrB;aAED;AACE,eAAM,wBAAY,KAAA,gBAAA,KAAA;AACd;aAkCF;AACE,aAAA,kBAAK,KAAA,iBAAA,MAAA,gBAAA,KAAA,uBAAA,IAAA,KAAA,qBAAA,KAAA,iBAAA,KAAA;AACH;;AAEF;;AAEE,SAAA;;IAEA,qBAAA,IAAA;AAAA,YACH,IAAA,GAAA;AAAA,UAAA,MAAA,MAAA,GAAA,kBAAA,OAAA,MAAA,MAAA,KAAA,GAAA,UAAA,MAAA,KAAA,KAAA,aAAA,KAAA,QAAA,KAAA;AA9BD,gBAAQ;eACD;AACH,iBAAK;AAEL;eACG;AACH,iBAAK;AAEL;;AAEA;;;AAIA,gBAAA;eAEA;AACF,iBAAA,wBAAA,KAAA,iBAAA,KAAA;AACE;eACH;AAcG,iBAAA,4BAAc,KAAA,iBAAA,KAAA;AACrB;eAED;AACO,iBAAA,yBAAA,KAAA,iBAAA,KAAA;AACH;eAGE;AAEE,iBAAiB,wBAAqB,KAAmB,iBAAM,KAAA;AAE5D;;AAeL;;AAKF,SAFgB;;IAUnB,gBAAA,IAAA;AAED,UAAA,CAAA;AACE;AAGA,UAAI;AAEJ,YAAA,IAAS,KAAI,QAAQ,OAAO,CAAA,MAAA,CAAA,EAAA;AAC1B,WACe,eACF,IAAY,EACvB,QAAyB,MACb,IAAG,IAAA,EAAA,QAAmC;AAMtD,YAAA,IAAO,KAAA,+BAAA,IAAA,IAAA,IAAA,GAAA,IAAA,KAAA,gBAAA,IAAA,EAAA,cAAA,IAAA,KAAA,QAAA,oBAAA,IAAA,EAAA;AACR,UAAA,IAAA,IAAA;AAED,cAAA,IAAA,IAAA,GAAA,IAAuB,IAAA,IAAA,IAAA;AACrB,YAAI,IAAQ,EAAA,YAAK,IAAA,IAAA,EAAqB,YAAA,IAAA,IAAA,IAAA,EAAA,YAAA;;;IAOtC,+BAAsB,IAAA;AAGpB,YAAA,IAFA,KAAS,QAES,OAAA,CAAA,MAAA,CAAA,EAAA,SAAA,IAAA,KAAA,iBAAA,OAAA,CAAA,MAAA,CAAA,EAAA,SAAA,IAAA,KAAA,eAAA,KAAA,IAAA;AAChB,UAAA,IAAA;AAIJ,eAAK,IAAA,GAAA,KAAA,GAAA;AAAyC,UAAA,GAAA,WAAA,EAAA,MAAA,EAAA,GAAA,MAAA,EAAA,GAAA,YAAA,EAAA,GAAA,MAAA;AAC/C,aAAA;;IAGC,uBAAiB;AACjB,UAAA,KAAM,KAAU,qBAAK;AAErB,YAAa,IAIb,KAAA;AAAA,UAAA,EAAA,KAAO;AAGL,eAFA,EAAA,IAAS;AAGP,cAAA,MAAA,GAAA,CAAA,EAAA;AAIJ;AAA8C,aAAA,oBAAA,EAAA,KAAA;;;IAK9C,2BAAqB;AAErB,UAAA,KAAK,KAAA,qBAAyC;AAC/C,YAAA,IAAA,KAAA;AAED,UAAA,EAAA,KAAA;AACE,eAAM,EAAU,IAAA;AAGhB,cAAK,MAAA,GAAA,CAAA,EAAA;AACN;AAED,aAAA,oBAA4C,EAAA,KAAA;;;IAU3C,wBAAA;AAED,YAAA,IAAA,KAAA;AACE,WAAgB,oBAAe,EAAA,IAAS;;IAC3B,uBACZ;AACF,YAAA,KAAA,KAAA,yBAAA,IAAA,GAAA,SAAA;AAED,WAAA,oBAAyB,GAAA,IAAA;;IAErB,oBAAM,IAAc,GACd;AAEZ,YAAK,IAAA,KAAA;AACF,WAAA,EAAA,sBAAA,GAAA,mBAAA,KAAA,qBAAA,GAAA,KAAA,gBAAA;;IAGC,wBAAqB;AACnB,QAAI,GAAM,KAAA,UAAY,SACf,MAAA;AAIR,aAAA;;;IAID,yBAAS;AACP,QAAA,GAAA,KAAK,aAAgB,SACrB,CAAA,OAAK;AAGuB,WAAA,kBAEvB,GAAA,mBAAA,KAAA;;;IAGY,2BAAA;AAEnB,QAAA,GAAK,KAAA,aAAW,WAChB,CAAA,OAAK;AAON,WAAA,YAAA,MAAA,MAAA,gBAAA,GAAA,kBAAA,GAAA;;;IAQG,eAJ+B;AAAO,UACpC,KAAA;AACR,aAAA,gBAAA,SAAA,KAAA,oBAAA,KAAA,UAAA,KAAA,gBAAA,KAAA;WAGQ;AAGF,cAAM,KACJ,KAAM,gBAAO;AAMf,aAFwB,gBAAmC,SAEtC,GAAA;;AAEnB,WAAA,WAAA,YAAA,IAAA,KAAA,qBAAA,KAAA,4BAAA,KAAA,wBAAA,KAAA,gCAAA,KAAA,sBAAA,OAAA,KAAA;;IAGF,wBAA0B;AAG1B,QAAI,GAAA,KAAkB,gBACpB,SAAK,CAAA,OAAA;AAER,YAAA,GAAA,OAAA,aACF;AAGkB;AAiBlB,cAAA,IAAA,GAAA,OAAA,aAAA,QAAA,GAAA,SAAA,EAAA,QAAA,GAAA,QAAA;AAED,YAAA,EAAA,aAA2B,KAAA;AACjB,eAAA;AACD;;AAKR,cAAA,IAAA,EAAA,QAAA,MAAA,IAAA,KAAA,QAAA,KAAA,CAAA,MAAA,EAAA,OAAA;AAED,aAAA,CAAA,EAAA,YAA6B,KAAA,iBAAA;;;IAIR,mBAElB;AACF,WAAA,iBAAA,WAAA,MAAA,oBAAA,KAAA,UAAA,KAAA,iBAAA,cAAA,MAAA,kBAAA,KAAA,UAAA,KAAA,iBAAA,WAAA,KAAA,qBAAA,KAAA,4BAAA,KAAA,wBAAA,KAAA,gCAAA,KAAA,sBAAA,KAAA,QAAA,KAAA;;IAGC,kBAAS,IACP;AAaH,SAAA,QAAA,CAAA,MAAA;AAED,SAAA,EAAA,YAAA,CAAA,EAAqB,YAAQ,MAAA,gBAAA,OAAA,IAAA,EAAA;;;IAQ7B,oBAAA,IAAuB;AACrB,SAAA,QAAK,CAAA,MAAA;AAGN,UAAA,YAAA,CAAA,EAAA,YAAA,MAAA,gBAAA,SAAA,IAAA,EAAA;;;IAKC,iBAA2C,IACzC;AAGoD,WAClD,WAAuB,MAAA,sBAAA,KAAA,KAAA,gBAAA,KAAA,2BAAA,KAAA,uBAAA,KAAA,KAAA,qBAAA,KAAA,4BAAA,KAAA,wBAAA,KAAA;;IAQyB,qBAClC,IAAA;AACtB,WACM,oBAAK,KAAA,KAAsB,qBACtB,KAAA,4BAAsB,KAAA,wBAAA,KAAA;;IAI/B,uBAAsB,IAAQ;AACxB,WAAO,oBACJ,KAAA,KAAA,SAAgB,KACrB,OAAO;;IAGS,oBAGX,IAAA;AAG6C,YAChD,IAAO,KAAO,gBAAA,WAAA;AACtB,WAGI,MAAK,MAAA,MAAA,gBAA2B,SAChC,IAAK,EAAA,YAAA,EAAA,KAAA,aAAsB,IAAA,QAAA,EAAA,QAAA,KAAA,UAAA,IAAA;QAC5B,OAAA,EAAA;WAED,EAAA,KAAA,KAAA,OAA6B,MAAA,MAAA,gBAAA,OAAA,KAAA,GAAA,UAAA,GAAA,KAAA,aAAA,IAAA,OAAA,EAAA,QAAA,KAAA,UAAA,IAAA;QACd,OAAA,GAAQ;UACtB,KAAA,sBAAA,KAAA,QAAA,KAAA;;IAGC,sBAA0B,IAAA;AAC3B,SAAA,WAAA,MAAA,gBAAA,SAAA,KAAA,GAAA,YAAA,GAAA,KAAA,aAAA,IAAA,QAAA,EAAA,QAAA,KAAA,UAAA,IAAA;QAED,OAAA,GAAA;YACQ,MAAS,gBACX,OAAK,KAAA,GAAA,UAAgB,GAAA,KACrB,aAAK,IAAA,OAAgB,EAAA,QAAA,KAAA,UAAA,IAAA;QACzB,OAAI,GAAA;WAGG,KAAA,sBACQ,KAAA,QAAA,KAAA;;IAyBjB,sBAA6B,IAAA;AAC3B,QAAA,QAAI,KAAc,UAAU,IAAY,EAAU,OAAA;;IAOpD,yBAAyB;AACvB,QAAA,QAAI,KAAa,UAAU;;IAO7B,oBAAmB;AACjB,YAAK,KAAK,KAAA,WAAgB,KAAA,gBAAkB,SAAA,KAAgB,gBAAA;AAC1D,UAAA;AAGF,WAAA,YAAmB,KAAA,QAAA,0BAA0B,MAAA,KAAA,gBAAA,WAAA,SAAA,KAAA,QAAA,wBAAA,IAAA,GAAA,KAAA,gBAAA,WAAA,UAAA,KAAA,QAAA,+BAAA,IAAA,IAAA,CAAA,KAAA,YAAA,CAAA,KAAA,kBAAA,KAAA,gBAAA,aAAA,KAAA,OAAA,QAAA,KAAA,KAAA,cAAA,KAAA,gBAAA,aAAA,KAAA,OAAA,QAAA,MAAA,IAAA,KAAA,OAAA,QAAA,IAAA,KAAA,YAAA,CAAA,KAAA,iBAAA,KAAA,KAAA,OAAA,QAAA,KAAA,KAAA,OAAA,QAAA,KAAA,iBAAA,GAAA;;IAET,kBAClC,IAAA;AAAA,aACK,CAAA,OAAA,IAAA,YAAA,GAAA,UAAA;;IAGR,cAAA,IAAA;AAED,aAAA,CAAA,CAAA,OAAA,GAAA,UAAuB;;IAIrB,mBAKE;AASH,UAAA,CAAA,KAAA,gBAAA,aAAA,KAAA,gBAAA;AAED;AACO,YAAK,KAAA,KAAA,gBAIM,UAAU;AAO3B,WAAA,aAAA,GAAA,IAAA,KAAA,WAAA,EAAA,QAED,IACO,KAAK,UAeX,YAAA,KAAA;;IAGC,uBAAU;AACR,YAAA,KAAA,KAAA,SAAA,aAAA,KAAA,IAAA,KAAA,OAAA,UAAA;AAIA,WAAK,UAAA,OAAgB,MAAA,KAAA,WAChB,KAAA,sBAA2B,MAAS,OAG7B,aAAc,GAAA,KAAA,KAAa,OAAE,aAAkB,GAE3D,OAAY,MAAS,OAAK,gBAAe,IAAS,KAAA,OAAQ,gBAAA,GAAA;;IAI9D,mCAAwB;AACtB,WAAA,UAA+B,MAAA,OAAA,UAAiB,MAC1C,KAAiC,qBAAY,MAAA,OAAA,aAAA,GAAA,KAAA,KAAA,OAAA,aAAA,GAAA,OAAA,MAAA,OAAA,gBAAA,IAAA,KAAA,OAAA,gBAAA;;IAMpD,2BAAA;AAED,WAAA,cAAS,MAAA,OAAA,UAAA,MAAA,KAAA,WAAA,cAAA,MAAA,CAAA,KAAA,QAAA,oBAAA,MAAA,qBAAA,MAAA,KAAA,WAAA,aAAA,GAAA,OAAA,MAAA,qBAAA,OAAA,KAAA,WAAA,gBAAA;;IAMR,+BAAA;AAED,UAAA,CAAO,KAAA;AACL;AAGI,WAAK,gBAAyB,aAAU,KAAA,gBAIvC,WACL,SAAK,IAAA,EAAA,SAAA,KACL,aAAK,EAAA,SAAA,aACA,EAAA,SAAA,KAAgB,aAAK,EAAA,SAEjB;;4BAQF;AAiBR,YAAA,KAAA,KAAA,iBAAA,UAAA,IAAA,GAAA,KAAA;AAED,OAAA,KAAA,KAAA,KAAgB,iBAAA,aAAA,KAAA,CAAA,MAAA,KAAA,iBAAA;;IACoD,SAChE;AAAW,WACX,UAAW,KAAA,UAAA,KAAA;;IACT,OAAA;AACQ,YACN,KAAA,KAAS,QAAA,UAAA,IAAA,EAAA,QAAA,KAAA,UAAA;AAAA,WAAA,WACC,MAAK,EAAA,oBAAA,MAAA,iBAAA,KAAA,wBAAA,KAAA,yBAAA,KAAA,gBAAA,KAAA,gBAAA,KAAA,QAAA,gBAAA,YAAA,MAAA;AAAA,aACd,YAAA;SAAA,IACF,KAAA,yBAAA,KAAA,6BAAA,KAAA,yBAAA,KAAA,yBAAA,KAAA,yBAAA,KAAA,UAAA,MAAA,KAAA,wBAAA,KAAA;;IACF,gBAEE;AAKH,WAAA,UAAK,GAAS,KAAA,QAAa,KAAa,oBAAA;QACzC,WAAG;QACL,WAAA;UAED;YACQ,MAAa;YACP,SAAS;cACtB,QAAA,CAAA,GAAA;;;;UAUC,KAAM,WAAqB,YAClB,KAAA,qBAA2B,WAC3B,MAAA;AAEL,aACF,SAAK,aACL,IAAc;SAEX;;IAMN,uBAAA;AAED,YAAA,KAAA,KAAA,OAAwB;AACtB,QAAA,SAAK,KAAO,oBACG,EAAA,OAAQ,GAAgB;;IACrC,wBACA;AACN,YAAA,KAAA,KAAA,yBAAA,IAAA,KAAA;AACG,WAAA,EAAA;AAED,YAAA,IAAA,KAAA,WAAwB,KAAA,gBAAA,WAAA,KAAA,KAAA,gBAAA;AACtB,UAAgB,MAAA,gBAAkB,GAAK,EAAA,mBAAoB,KAAK,qBAAK,GAAA,UACtE,CAAA,MAAA,MAAA,MAED,MAAA,gBAAsB,MAAA,KAAA,qBAAA;;IAIrB,wBAAA;AAED,WAAA,OAAA,aAAwB,IAAA,KAAA,EAAA,QAAA,IAAA,KAAA,UAAA,aACtB,IACE;;IAIH,wBAAA;AAED,QAAA,GAAA,QAAA,UAA0C,KAAA,oBAAA,KAAA;;IAMtC,sBAAK;AACN,WAAc,sBAAA,KAAA;;IAGjB,wBAA2B;AACzB,WAAA,YAAiB,iBAAA,SAAA,CAAA,OAAA;AAEjB,cAAK,IAAA,GAAA,OAAA,OAAiB,IAAS,KAAW,QAAA;AACxC,aAAA,gBAA6B,GAAA;;;IAE3B,gBAIC,IACM,GAAA;AAGT,WAAI,sBAEF,aAAgB,KAAK,qBAAkC,KAE7C,qBACR,WAIA,MACF;AAEH,aAAA,eAAA;SAED;;IAIE,eAAK,IAAA;AAQqB,YAAA,IAChB;AACV,WAAA,iBAA+B,QAAA,CAAA,MAAA;AAC/B,cAAK,IAAA,OAAA,UAAe,eAAY,KAAA,GAEnC,YAED,IAAA,CAAA,KAAA,EAAA,MAAA,cAA4C,SAAA,GAAA,gBAAA,IAAA;AAC1C,aAAM,GACJ,QAAe,EAAQ,OAAuB,EAAK,UAAA,KAAA,QACnD,IAAe,EAAA,UAA6B,EAAA,QAAK,SAAA,KAAkB,EAE/D,KAAsB,KAAA,KAAA,EAAA,KAAA;;AAC1B,YACA,IAAK,KAAA,QAAA,uBAAA,IAAA,IAAA,EAAA,WAAA;AAAA,UACL;AACA,aAAK,2BAAA,IAAA,KAAA,QAAA,eAAA,KAAA,uBAAA,KAAA,iBAAA,IAAA,KAAA,gBAAA,KAAA,yBAAA,KAAA;eACX,CAAA,KAAA,GAAA;AAEI,cAAK,IAAA,KAAA;AAEN,aAAA,eAAA,YAAA;;;IAIA,2BAAA,IAAA;AAED,YAAQ,IAAO,EAAS,QAAA,KAAA,KAAA,uBAAA,EAAA,QAAA,IAAA,KAAA,qBAAA,IAAA,GACtB,IACA,KAAO,kBAAe,KAAC,SAE3B,KAAA;AAGE,WAAA,eAAA,YAA2B,IAAA,KAAA,eAAA,YAAA;;IACZ,uBACN;AAAA,aACL,eAAA,KAAA,SAAA,aAAA,qBAAA,KAAA,QAAA,yBAAA,KAAA,QAAA;;IACiC,QACvC,IAAA,GAAA;AACG,YAAA,IAAA,GAAA;AAED,aAAA,EAAA,OACE,CAAA,MAAK,EAAA,MAAA,cAAqB,SAAA;;IAK1B,2BAAmB;AACjB,QAAA,GAAa,KAAI,UAAK,WAAQ,KAAS,mBACzB,KAAA;;IAGQ,wBAAQ;AAAA,WAAQ,gBAC/B,KAAO,oBAA4B,KAAA,OAAA,EAAA,GAAA,UAAA,SAAA,KAAA;;IAE1C,qBAAA,KAAA,MAAA;AAAA,UAAA,OAAA,OAAA;AAEW,UAAA,IAAG,KAAK,QAAQ,SAAS,MACpC,KAAK,OAAO,aAAa,IAAgB,MAG9B,EAAA,IAAG,KAAK,QAAQ,QAAQ,MACnC,KAAK,OAAO,gBAA4B;AAE3C;;AAGC,QAAA,GAMA,KAAI,QACC,SAKD,MAAM,KAAa,OAAY,aAAA,IAAA,MAAA,EAC7B,GAAA,KACA,QACV,QACQ,MACE,KAAe,OAAK,gBACf;;IAab,oBAAQ,IAAA;AACN,YAAM,IAAa,KAAa,YAAa,KAAA,SAAqB,SAAA,GAAA,SAAA,IAAA,GAAA,WAAA,KAAA,oBAAA,IAAA,KAAA,sBAAA,KAAA,mBAAA,SAAA,GAAA;AAE9D,UAAC;AAiBH,WAAA,iBAAY,MAAA,iBACP,EAAO,KAAA,MAEG,KAAA,kBAA6B,KAAU,eAAA,QAAA,CAAA,MAAA;AAAA,cACpD,IAAA,EAAA,iBACR,GASQ;AAYH,QAAE,OAAyB,KAAA,SAAA,MAAA,KAAA,SAAA,UAAA,SAAA,OAAA,MAAA,gBAAA,GAAA,IAAA,KAAA,cAAA,SAAA,GAAA;UAC7B,CAAA,KAAA,CAAA,KAAA,CAAA,KAAA,CAAA,KAAA,KAAA;;IAGC,QAAK;AAEN,YAAA,KAAA,EAAA,QAAA,KAAA,UAAA;AAED,OAAA,KAAA,WAAA,GAAA,oBAAwB,MAAA,QAAA,gBAAA,KAAA,gBAAA,MAAA,qBAAA,KAAA,2BAAA,KAAA,mBAAA,KAAA,QAAA,YAAA,KAAA,0BAAA,KAAA,yBAAA,KAAA,SAAA,gBAAA,KAAA,WAAA,MAAA;AACT,aAAI,OAAA,gBAAwB,KAAA,KAAA,OAErC,QAAK,EAAA,QAAQ,IAAA,KAAA,UACE,gBAIpB,KAED,KAAA,UAAA,CAAuB,KAAA,gBAAA,MAAA,OAAA,gBAAA,IAAA,KAAA,OAAA,aAAA,GAAA,KAAA,KAAA,OAAA,gBAAA,IAAA,KAAA,OAAA,gBAAA,KAAA,KAAA;SACrB,IAAK,WAAA,MAAA;AACC,aAAK,cACP,KAAK,mBAAiB,eACjB,KAAA,cAAoB,KAAA,WAAA,YAAA,KAAA,qBAAA,KAAA,QAAA,WAAA,KAAA,UAAA,OAAA,EAAA,IAAA,KAAA,UAAA;SAE5B;;IAKH,oBAAoB;AAClB,WAAK,YAAA,QAAmB,IAAK,KAAA,uBAAyB;;IAgBtD,wBACE;AAM0B,QACxB,IAAA,UAAK,SAAA,KAAA,gBAAA,KAAA,QAAA,gBAAA,EAAA,IAAA,KAAA,UAAA,YAAA,EAAA,IAAA,KAAA,gBAAA;;IACA,uBACO;AAAA,WACZ,oBAAK,IAAA,iBAAA,MAAA;AACL,aAAK,YAAA,MAAA,qBAAA,KAAA;UACL,KAAK;;IACA,oBACA;AACb,WAAA,mBAAA,KAAA,oBAAA,KAAA,WAAA,KAAA,gBAAA,KAAA,iBAAA,KAAA,mBAAA,KAAA,gBAAA,SAAA,KAAA,yBAAA,KAAA,qBAAA,KAAA,4BAAA,KAAA,wBAAA,KAAA,gCAAA,KAAA,gBAAA,KAAA;AAEG,YAAA,KAAA,KAAA,QAAA,UAAA,KAAA,eAAA,KAAA,YAAA;AAED,WAAA,WAAA,CAAA,KAAuB,MAAA,2BAAA,KAAA,mBAAA,KAAA,2BAAA,KAAA,WAAA,KAAA,MAAA,eAAA,KAAA,YAAA,QAAA,KAAA,2BAAA,KAAA,qBAAA,GACrB,KAAM,sBAEF,KAAK,SASV,KAAA,OAAA,aAED,KAAA,iBACO,KAAK,kBAKR,KAAA,kBACA,KAAA,gBACA,KAAA;;IAGH,uBAAA;AAED,YAAA,KAAA,EAAA,QAAA,IAAA,KAA8B;AACxB,WAAK,SAAA,aACP,cAAK,MAAA,QAAkB,WACvB,MAAK,GAAA,aAAA,YAAoB,KAAA,GAAA,aAAA,KAAA,OAAA,MAAA,QAAA,WAAA,OAAA,GAAA,gBAAA,aAAA,GAAA,gBAAA;;IAI7B,2BAAyB;AACvB,WAAA,qBAAgB,KACV,kBAEA,QAAQ,KAAA,UACA;QAQd,YAAW;QACT,WAAA;QACA,eAAA;QACA,SAAA;;;IAEA,8BACA;AAAA,WACA,oBAAA,MAAA,kBAAA,cAAA,KAAA,oBAAA;;IACA,yBACA;AAAA,YACA,KAAA,KAAA,cAAA,IAAA,MAAA,IAAA,MAAA,IAAA,cAAA,IAAA,KAAA,QAAA,gBAAA,IAAA,GAAA,KAAA,UAAA,IAAA,OAAA,IAAA,OAAA,IAAA,MAAA,IAAA,MAAA,IAAA;AAAA,aACA,IAAA,GACN,IACG,GAED,GACE,GAMD,GAED,GACe,GAKd,GAED,GACM,GAKL;;IAMC,UAAc;AAEZ,WAAc,0BAAiB,KAAA,0BAAA,KAAA,qBAAA,QAAA,EAAA,WAAA,KAAA,UAAA;;IAI/B,yBAAiC;AACvC,QAAK,IACW,KAAA,OAAY,UAAK,EAAA,IAAU,KAAK,SAAS,KAAA,eAChD,KAAA,QAAS,EAAA,IAAA,KAAgB,aAEhB,UAAiB,EAAA,IAAA,KAAQ,aAAA,YAAA,EAAA,IAAA,QAAA,UAAA,KAAA,oBAAA,KAAA;;IAGzC,yBAAgB;AACd,WAAK,WACF,KAAQ,SAAkB,KAAA;;IAOS,2BAGhB;AAIvB,YAAA,KAAA,KAAA,SAAA,YAAA,IAAA,EAAA,KAAA,SAAA,KAAA;AAED,SAAA,YAAe,KAAO,WAAA,EAAA,QAAA,CAAA,MAAA;AACpB,WAAA,YAAiC;UAC9B,EAAA,QAAkB,CAAA,MAAU;AACnC,UAAA,gBAAA;UACI,EAAA,YAGoB,KAAA,UAAa,KAAW,SACrC,cAHE,KAAA,SAAA,gBAAA,KAAA,GAAA,YAAA,KAAA;;IAMX,SAAO,IAAA;AACL,WAAA,QAAY,OAAK,CAAA,MAAA,EAAY,UAAA,QAAA,CAAA,MAAA,EAAA,aAAA,WAAA,QAAA,MAAA,QAAA,MAAA,GAAA,QAAA,CAAA,MAAA;AAC3B,aAAI,eAAoB;WACxB,KAAM,eAA4B,KAAA,KAAA;;IAWhC,eAAI,IAAO;AACT,YAAA,IAAA,KAAM,QAAI,KAGZ,CAAA,MAAa,EAAO,UAAA;AAE5B,aAAK,IAAA,GAAA,aAAA,WAAA,MAAA,QAAA;;WAGI,gBAAqB,IAAA,GAAA;AAC1B,aAAO,KAAK,KAAQ,WAAiB;AACtC,YAAA,IAAA,EAAA,QAAA,MAAA;AAED,cAAO,IAAA,OAAA,MAAA,YAA0C;AAC/C,YAAA,CACE,EAAA,KAAK,UAAY,KAAO,QACpB,MAAc,KAAA,IAAO,GAAW,MAAA,KAAW,OAAS,MAAI,WAAA;AAE/D,cAAA,OAAA,EAAA,MAAA;AACH,kBAAA,IAAA,UAAA,oBAAA;AC7pDa,YAAA,IAAiB;;;;WAIH,YACX,IAAA;AAAA,aAAA,EAAA,QAAA,IAAA;;WAAA,oBAGC,IAAA,IAAA,IAAA;AAAA,aAAA,KAAA,YACU,OAAA,IAAA,KAAA,IAAA,OAAA,KAAA,WAAA,IAAA;;;AACd,MC+BL,KAAA;AD/BK,MC+BL,KAAA,MAAA;AD/BK,MC+BL,KAAA;AD/BK,MC+BL,KAAA,IAAA;ACkCU,MAChB,KAAA;AADgB,MACE,KAAK,WAAW;AADlB,MACoB,KAAK,MAAS;AADlC,MACkC,KAAA,GAAA;AADlC,MACkC,KAAA,GAAA;AADlC,MACkC,MAAA,GAAA;AADlC,MACkC,KAAA,GAAA;AADlC,MACkC,KAAA,GAAA;AADlC,MACkC,KAAA;AADlC,MACkC,KAAA;AADlC,MACkC,KAAA;AADlC,MACkC,KAAA,IAAA;AADlC,MACkC,KAAA,IAAA;AADlC,MACkC,KAAA,GAAA,KAAA;AADlC,MACkC,KAAA,IAAA;AADlC,MACkC,KAAA,IAAA;AADlC,MACkC,KAAA,IAAA;AADlC,MACkC,KAAA,IAAA;AADlC,MACkC,KAAA;AADlC,MACkC,KAAA;AADlC,MACkC,KAAA,IAAA;AADlC,MACkC,KAAA,IAAA;AADlC,MAWhB,KAAA;IAEA,SAAA,GAAA;IACA,gBAAA;IAEA,eACE,CAAA,EAAA,KAAA,WAAA,EAAA,KAAA;IACF,UAAA;IAEF,WAE2B;IACzB,cAAS;IACT,cAAA;;ACtFW,MACP,KAAG;IAAA,SACH;MAAU,QACR;QAAM,QACJ;UAAiB,OACjB;;;;;AALG,MAQJ,KACD;IAAO,MAAA;MACQ,SACb,iCACD,KADC;QAEH,UAAA;UACD,MAAA;YACA,iBAAQ;YACN,aAAS;YACV,aAAA;YACD,SAAU;;UAER,OAAM;YACP,aAAA;YACD,iBAAU;;;QAGV,YAAQ;QAAA,QACH;UAAA,SACD;;QACM,UACJ;UAAS,WACV;UAAA,MACD;;QACa,UACZ;UACF,aAAA;;QACE,QACD;UAAS,GACT;YAAM,SACJ;YAAc,MACd;cACA,SAAA;;YACsB,OACtB;cACD,WAAA;;;UAEY,GACZ;YACF,SAAA;YACF,MAAA;cACF,YAAA,CAAA;cACF,YAAA;cACI,eAAA;cACH,oBAAS,CAAA;cACJ,0BAAA,CAAA;;YAEH,OAAA;cACA,WAAY;;;;;;IAKC,KAAA;MACL,SACP,iCACD,KADC;QACO,iBACH;QAAA,aACQ;QAAA,YACH;QAAA,QACJ;UAAS,SACV;;QACM,UACL;UAAW,WACZ;UACF,MAAA;;QACE,QACD;UAAS,GACT;YAAM,SACJ;YAAc,MACd;cACA,SAAA;;YACsB,OACtB;cACD,WAAA;;;UAEY,GACZ;YACF,SAAA;YACF,MAAA;cACF,YAAA,CAAA;cACF,YAAA;cACI,eAAA;cACH,oBAAS,CAAA;cACJ,0BAAA,CAAA;;YAED,OAAO;cACR,WAAA;;;;;;IAMJ,KAAA;MACD,SAAU,iCACR,KADQ;QAEN,UAAG;UACH,KAAA,EAAA,iBAAU;;QAET,YAAA;QACD,QAAA;UACA,SAAQ;;;;IAIX,UAAA;MACD,SAAW,iCACT,KADS;QAEP,UAAG;UACH,KAAA,EAAA,iBAAU;;QAET,YAAA;QACD,QAAA;UACA,SAAQ;;;;IAIX,WAAA;MACD,SAAO,iCACL,KADK;QAEH,UAAG;UACH,KAAA,EAAA,iBAAU;;QACF,YACJ;QAAiB,QACjB;UAAa,SACb;;;;IAGa,OAAA;MACI,SAClB,iCACF,KADE;QAEH,UAAA;UACA,MAAQ;YACN,iBAAS;YACV,aAAA;YACF,aAAA;;UAEH,OAAS;YACP,aAAS;YACJ,iBAAA;;;QAEK,YACJ;QAAiB,QACjB;UAAa,SACb;;;;IAGK,SACL;MAAa,SACb,iCACD,KADC;QAEH,UAAA;UACD,MAAA;YACA,iBAAQ;YACN,aAAS;YACV,aAAA;YACD,SAAU;;UAER,OAAM;YACP,aAAA;YACD,iBAAU;;;QAGV,YAAQ;QAAA,QACH;UAAA,SACD;;QACM,UACJ;UAAS,WACV;UAAA,MACD;;QACa,UACZ;UACF,aAAA;;QACE,QACD;UAAS,GACT;YAAM,SACJ;YAAc,MACd;cACA,SAAA;;YACsB,OACtB;cACD,WAAA;;;UAEY,GACZ;YACF,SAAA;YACF,MAAA;cACF,YAAA,CAAA;cACF,YAAA;cACO,eAAA;cACN,oBAAS,CAAA;cACJ,0BAAA,CAAA;;YAED,OAAO;cACL,WAAa;;;;;;IAKT,QACN;MAAS,SACV,iCACD,KADC;QACO,UACH;UAAA,OACD;YAAM,aACK;YACV,iBAAA;;;QAEY,YACZ;QAAA,QACF;UACD,SAAG;;QACK,QACJ;UAAc,GAAA;YACF,MACZ;cACA,SAAA;;YAED,OAAA;cACD,WAAO;;;UAGR,GAAA;YACF,MAAA;cACF,YAAA,CAAA;cACF,YAAA;cACH,eAAA;cCjQwB,oBAAkC,CAAA;cAClC,0BACH,CAAA;;YAGZ,OAAuB;cACtB,WAAgB;;;;;;;AAe1B,MAAA,KAAS,SAAsB,IAAA;AAC9B,WAAO,GAAM,OAAA,CAAA,GAAA;;AAGd,cAAqB,GAAK;AACzB,WAAO,CAAA,CAAA,KAAM,OAAQ,KAAO;;AAG7B,cAAuC,GAAO;AAC7C,QAAA,KAAQ,OAAQ,UAAmB,SAAQ,KAAA;AAG5C,WAAA,OAAA,qBAAA,OAAA,mBAAA,GAAA;;AAGC,MAAA,KAAO,OAAO,UAAmB,cAAkB,OAAA;AAAnD,MAAmD,KAAA,KAAA,OAAA,IAAA,mBAAA;AAClD,cAAO,GAA8B;AACvC,WAAE,EAAA,aAAA;;AAGF,cAA0B,GAAK;AAC9B,WAAa,MAAA,QAAA,KAAA,KAAA;;AAGb,cAA0B,GAAA,IAAA;AAC1B,WAAO,GAAA,UAAuB,SAAA,GAAA,kBAA2B,KAAA,GAAA,GAAA,IAAA,GAAA,MAAA;;AAG1D,cAAyC,GAAQ,IAAA,GAAA;AAChD,WAAO,EAAA,OAAO,IAAA,IAAA,SAAA,GAAA;AAEZ,aAAO,GAAA,GAAA;;;AAKV,cAAiB,GAAQ,IAAA;AACxB,QAAA,CAAA,GAAO;AACR,aAAA;AAEA,QAAA,IAAS,GAAmB,YAAkB;AAC7C,WAAI,OAAA,KAAA,aAAA,IAAA;;AACgB,cAClB,GAAA;AACD,WAAA,OAAO,wBAAA,OAAA,sBAAA,GAAA,OAAA,SAAA,IAAA;AACP,aAAA,OAAA,qBAAA,KAAA,GAAA;SACF;;AAIC,cAA0B,GAAQ;AAGnC,WAAA,OAAA,KAAA,GAAA,OAAA,GAAA;;AAGC,cAAkB,GAAA,IAAA;AAClB,QAAA;AAEE,aAAmB,MAAqC;aAG5C,GAFZ;AAGG,aAA4B;;;AAalC,cAAmB,GAAQ,IAAQ;AAClC,WAAU,GAAW,GACrB,OAAQ,CAAA,QAAa,eAAQ,KAC7B,GAAQ,OAAA,OAAA,qBAA4B,KAAA,GAAqB;;AASzD,cAAK,GAEM,IACH,GAAQ;AAIjB,QAAA,IAAA;AAEA,WAAgB,EAAA,kBAAsC,MAAA,GAAA,GAAA,QAAA,SAAA,GAAA;AACrD,QAAI,KAAC,GAAM,EAAA,IAAA;QACV,GAAA,IAAM,QAAU,SAAA,GAAA;AAGjB,SAAA,GAAO,MAAM,IAAO,GAAA,MAAS,EAAM,kBAAM,GAAA,MAAA,EAAA,KAAA,GAAA,GAAA,GAAA,EAAA,IAAA,GAAA,IAAA,KAAA,EAAA,KAAA,GAAA,GAAA,IAAA;QACxC;;AAEF,cAAA,GAAA,IAAA,GAAA;AAEA,QAAI,KAAc,IAElB,EAAA,aAAiB,EAAA,cAAA,IAAA,EAAA,oBAAA,EAAA,qBAAA,IAAA,EAAA,gCAAA;AC7GjB,QAAM,IAAA,MAAO,QACP,KAAW,IAAA,MACX,QAAmB,IAAA,IAEnB,MAA0B;AAC9B,WAAM,IAAgB,IAAQ,EAAQ,WAAY,GAAA,IAAA,KAAA,GAAA,GAAA,IAAA,KAAA,GAAA,IAAA;;AAEhD,KAAA,MAAA,SAAO,IAAQ,GAAC;AACd,QAAI,CAAA,MAAO,QAAuB;AACH,YAC3B,IAAA,MAAA;AAAA,WACA,GAAA,OAAA,SAAA,GAAA,GAAA;AAAA,aAEO,GAAQ,GAAA,GAAA;OAKpB;;AC5BD,AASF,cAAU,GAAA;AACV,WAAA,iBACO;;AAGT,cACE,GAAA,IAAO;AAMT,aAAS,KAAiB,IAAO;AAC/B,UAAK,IAAA,GAAA;AACH,aAAM,KAAI,YAAM,KAAA,IAAA,OAAA,EAAA,MAAA,KAAA;;AAIpB,WAAA;;AAGE,cAAY,GACF;AAMZ,QAAA,KAAA,SAAA,cAAA;AAEA,WAAS,GAAA,YAAiC,GAAA;;AACV,MAAK,KAAQ,OAAA,UAAA,OAAA,SAAA,UAAA,WAAA,QAAA,UAAA,yBAAA,QAAA,UAAA,sBAAA,QAAA,UAAA;AAAA,cAAU,GAAU,IAAO;AAAE,QAAA,CAAA;AAAkC,YAAA,IAAA,MAAA;AAC5G,WAAA,GAAA,KAAA,GAAA;;AAGA,cAAU,GAAA;AACR,MAAA,SAAM,EAAA,WAAA,EAAA,cAAA,EAAA,WAAA,YAAA;;AACD,cACI,GAAA,IAAA;AAAA,WACP,MAAO,UAAa,OAAA,KAAE,EAAA,UAA4B,SAAA,GAAA;AAClD,aAAM,GAAA,GAAU;;;AACL,MACZ,IAAA;IACD,MAAA;IAAO,KACL;IAAO,SACP;MACA,OAAA,SAAQ,GAAU;AAAK,eAAQ,eAAA;;MAC/B,MAAA,SAAW,GAAA;AAAe,eAAQ,cAAA;;MACnC,WAAA;;IAQH,OAAS;MACP,OAAgB;MAGF,UAAkB;MAKlC,QAAA,SAAA,GAAA;AAEA,eAA8B,gBAAM;;MAEhC,WAAY,SAAA,GAAA;AAAE,eAAO,mBAAe;;;;AA5BzB,MA8Bf,KAAA,EAAA,GAAA,MAAA,GAAA;AACA,cAAA,GAAA,IAAA;AAEA,QAAA,IAAS,EAA2B,QAAM,WAAA,IAAA,EAAA,MAAA,UAAA;AACxC,MAAA,SACA,KAAwB,aAAC,GAAA,OAAA,EAAA,IAAA;;AAG3B,cAAmB,GAAA,IAAsB;AACvC,OAAA,MAAK,WAIH,WAAuB;AAEd,aAAU,EAAA,WAAO,EAAA,QAAmC,UAAA,OAAA,EAAA,MAAA,UAAA;OAMjE,EAAA,SAAA;;AAKE,cAAK,GAAA,IAAkB;AACrB,OAAA,GAAA,KAAI,GAAA,GAAU;;AAMlB,MAAA,KAAA,SAAA,IAAA;AAEA,SAAa,UAAU,IAAA,KAAY,WAAsB;;AAFzD,MAGE,KAAA,EAAA,SAAiB,EAAK,cAAA;AACpB,KAAA,UAAK,OAAW,SAAA,IAAA,GAAA;AAEpB,WAAA,KAAA,SAAA,MAAA,OAAA,MAAA,SAAA,MAAA,KAAA,KAAA,SAAA,IAAA,KAAA,IAAA,KAAA,QAAA,iBAAA,IAAA,GAAA;;AAGI,KAAA,UAAa,SAAA,SAAA,IAAA,GAAA;AAEf,QAAA,IAAO;AAA2B,SAChC,SAAe,MAAA,KAAA,SAAA,IAAA,OAAA,SAAA,GAAA;AAAE,aAAA,KAAc,MAAA,IAAY,OAAE,GAAA,QAAW,oBAAA,IAAA,GAAA,QAAA;;;AAE5D,KAAA,UAAA,YAAA,WAAA;AAEA,aAAO,MAAA,KAAA;AAEH,WAAe,OAAA;;AAEnB,KAAA,QAAA,MAAA,WAAA;AAEA,QAAa,IAAA;AACX,WAAI,OAAU,KAAA,KAAA,UAAqB,MAAgB,SAAU,IAAA;AAAyB,aAAA,EAAA,SAAA,IAAA,WAAA;;;AAStF,SAAK,iBAAsB,GAAA,WAAuB;AACpD,MAAA,KAAA,WAAA;AAEA,SAAa,gBAAmB;;AAE9B,KAAA,UAAU,eAEH,SAEA,IAAA;AAET,QAAA,IAAA,KAAA,cAAA,OAAA,SAAA,GAAA;AAEa,aAAA,EAAU,YAAY;OACjC;AAA0C,WAAA,KAAS,KAAA,IAAA,GAAA,KAAA,KAAA,cAAA,KAAA,KAAA;;AAErD,KAAA,UAAA,OAAA,SAAA,IAAA,GAAA,GAAA;AAEA,SAAa,aAAiB,IAAA,KAAA,GAAe;;AAGzC,KAAA,UAAU,SACF,SAAG,IAAA,GAAA,GAAA;AACf,QAAA,IAAA,KAAA,aAAA;AACE,MAAG,OAAK,GAAsB,IAAA,EAAA,WAAA,KAAA,cAAA,OAAA,KAAA,cAAA,QAAA,IAAA;;AAGhC,KAAA,UAAqB,YAAM,WAAA;AACzB,SAAI,cAAc,QAAA,SAAgB,IAAA;AAChC,aAAO,GAAA;QAEH,KAAM,gBAAS;;AAIvB,KAAA,UAAA,OAAA,SAAA,IAAA,GAAA,GAAA;AAEA,QAAA,IAAS,KAEP,aAIA,KAAA,IAAA,SAAA,GAAA;AACK,QAAA,OAAsB,GAAA,IAAS,EAAA;;AAIpC,MAAA,KAAI,GAAS;;AACF,cACP,GAAA;AAAA,QACA,OAAA,OAAA,eAAA;AAAA,aACA,IAAA,YAAA;AAAA,QACA,KAAA,SAAA,YAAA;AAAA,WACA,GAAA,gBAAA,GAAA,OAAA,OAAA,SAAA;;AACA,eAAA,GAAA,IAAA,GAAA,GAAA,GAAA;oBACgB,KAAA,OAAA,MAAA,UAAA,KAAA;AAClB,QAAA;AAAS,QACP,OAAA;AAAA,UACA;QACA;QACA;QACA;QACA;QAAA;;;aAKyB,OAA2B;AAC1D,UAAA;QAEA;QAOM;QAMC;QAGD;QAGF;QA6BJ;;;AAIA,YAAA,IAAA,MAAA;AAEA,OAAA,GAAA,GAAS,GAAW,GAAI;;AAOxB,cAAA,GAAA,IAAA,GAAA,GAAA,GAAA;AAEA,QAAA,IAAS,EAAW,IAAS,IAAA,EAAA,IAAA,IAAA,EAAA,IAAA,IAAA,EAAA,IAAA,IAAA,EAAA,IAAA,IAAA,EAAA;AAC3B,UAAI,UAAoB,KAAA,OAAA,MAAA,UAAA,KAAA;AACxB,QAAA,IACE,EAAM;AAMV,MAAA,MAAA,KAAA,MAAA,EAAA,KAAA,KAAA,GAAA,MAAA,KAAA,UAAA,EAAA,KAAA,EAAA,KAAA,EAAA,KAAA,KAAA,GAAA,MAAA,KAAA,QAAA,MAAA,GAAA,cAAA,GAAA,eAAA,KAAA,KAAA,IAAA,EAAA,cAAA,GAAA,eAAA,MAAA,KAAA,KAAA,EAAA,cAAA,GAAA,eAAA,KAAA,KAAA,GAAA,GAAA,KAAA,EAAA,MAAA,MAAA,OAAA,MAAA,EAAA,cAAA,GAAA,QAAA,IAAA,YAAA,EAAA,MAAA;;AAEU,aACR,GACE;AAEF,WAAA,SACE,GAAA,OAAO;;AAMuC,cAE9C,GAAA;AAEJ,WAAA,GAAA,GAAA,8BAAA,GAAA,GAAA,+BAAA,GAAA,GAAA,iCAAA,GAAA,GAAA;;AAGE,cAAgB,GAAA;AAIhB,QAAE,KAAA,GAAA;AAQ8C,WAAQ,EAAA,GAAU,SAAI,EAAA,GAAA,eAAA,EAAA,GAAA,gBAAA,EAAA,GAAA,mBAAA,EAAA,GAAA;;AAAkB,MAAI,KAAA;IAC9F,UACY,OAAY,WAAE,OAAc,sBAEd,SAAc,gBAET;IAAmB,eAAsB,OAAA,SAAA,OAAA,mBAAA,UAAA,oBAAA,OAAA,aAAA,OAAA,UAAA,iBAAA,KAAA,OAAA,iBAAA,oBAAA,OAAA;IAAE,mBAAgB,OAAA,YAAA,OAAA,UAAA;IAAA,UAAI,OAAA,YAAA,OAAA,UAAA,KAAA,aAAA,UAAA;;AAYtE,cAClB,GAAA;AAAA,QACO,KAAE,EAAA,SAAa,IAAE,KAAA,MAAA,GAAA,YAAoB,IAAY,GAAA;AAC9D,MAAA,iBACM,KAAiB,MAAA,EAAA,QAAA,EAAA,kBAAA,KAAA,MAAA,EAAA,SAAA,EAAA,eAAA,GAAA,aAAA,EAAA,gBAAA,GAAA,cAAA,GAAA,SAAA,EAAA,mBAAA,IAAA,IAAA,EAAA,QAAA,KAAA,MAAA,QAAA,SACb,GAAA;AAGV,aAEM,GAAA;QAYA,GAAO,YAAE,EAAA,kBAAgB,GAAA,SAAqB,EAAA,mBAAa,IAAA,IAAA,EAAA,QAAA,KAAA,MAAA,QACjE,SACM,GAAA;AACC,aAAsB,GAAA;QAgC7B,GAAA,YAAA,EAAA,kBAAA,CAAA,EAAA,SAAA,mBAAA,EAAA,iBAAA,EAAA,SAAA,sBAAA,EAAA,eAAA,GAAA,mBAAA,MAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,kBAAA,GAEA,GACE,EAAA,EAAA,aAAe,EAAA,iBAAA,EAAA,gBAOjB,EAAA,iBAAA,EAEA,GAAA,2BAA+B,GAAA,cAAA,GAAA,aAAA,EAAA,mBAAA,GAAA,eAAA,EAAA,oBACzB,EAAA,mBAAyB,OAAU,CAAA,EACnC,SAAwB,mBAAuB,EAAA,kBAAA,EAAA,SAAA,sBAAA,EAAA,gBAAA,GAAA,mBAAA,MAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,mBAAA,GAE7C,GAgBN,EAAI,EAAA,cAAuC,EAAA,kBAAU,EAAA,iBAC/C,EAAA,gBAAA,EA2BJ,IAAA,GAAM,cAAE,EAAA,oBAAA,GAAA,gBAAA,EAAA,qBACR,EAAA,mBAAS,OAAkB,EAAE,kBAAA,EAAA,aAAA,EAAA,mBAAA,GAAA,iBAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,oBAAA,GAAA,gBAAA,EAAA,cAAA,EAAA,mBAAA,GAAA,IAAA,IAAA,EAAA,mBAAA,GAAA,UAAA,IAAA,EAAA,MAAA,OAAA,QAAA,IAAA,UAAA,OAAA,EAAA,MAAA,OAAA,OAAA,EAAA,kBAAA,GAAA,EAAA,iBAAA,GAAA,GAAA,aAAA,EAAA,UAAA,OAAA,EAAA,eAAA,IAAA,EAAA,mBAAA,GAAA,UAAA,IAAA,EAAA,MAAA,OAAA,QAAA,IAAA,UAAA,OAAA,EAAA,MAAA,OAAA,OAAA,EAAA,mBAAA,GAAA,EAAA,gBAAA,GAAA,GAAA,YAAA;;AAEb,cACT,GAAA,IAAA;AAAA,WACP,EAAA,SAAU,sBAAqB,MAAA,KAAA,IAAA,IAAA,EAAA,SAAA,sBAAA,EAAA,SAAA,sBAAA,MAAA,KAAA,IAAA,IAAA,EAAA,SAAA,sBAAA;;AAEnC,cAAA,GAAA,IAAA;AAEA,QAAA,IAAS,EAAU,OAAG,GAAA,cAAA,IAAA,KAAA,MAAA,EAAA;AACN,OAAE,QAAA,EAEhB,OAAQ,GAAA,2BAAmB,EAAA,aAA0B,GAAA,iBAAA,GAAA,eAAA,EAAA,OAAA,EAAA,YAAA,GAAA,0BAAA,EAAA,SAAA,GAAA,mBAAA,IAAA,EAAA,MAAA,GAAA,gBAAA,GAAA,GAAA,GAAA,gBAAA;AAAE,QAAA,IAAA,EAAO,KAAE,GAAA,QAAA,GAAiB;AAAG,OAAA,yBACrE,GAAA,QAAgB,EAAA,QAAA,GAAa,eAAa,IAAA,2BAAA,EAAA,cAAA,GAAA,kBAAA,GAAA,uBAAA,IAAA,EAAA,QAAA,GAAA,kBAAA,EAAA,aAAA,GAAA,QAAA,EAAA,OAAA,GAAA,2BAAA,EAAA,aAAA,GAAA,iBAAA,IAAA,GAAA,eAAA,GAAA,iBAAA,GAAA,uBAAA,EAAA,OAAA,GAAA,iBAAA,EAAA,YAAA,GAAA,GAAA,gBAAA,IAAA,GAAA,GAAA,YAAA;MACvD,MAAI,GACF;MAKF,OAAE,GAAA,kBAAiC,GAAE;QAMvC,GAAE,GAAA,YAAa;MAAwC,KAAA,GAAO;MAAsB,QAClF,GAAM,mBAAO,GAAA;;;AAUI,cAClB,GAAA;AACH,MAAA,SAAA,EAAA,MAAA,KAAA,EAAA,YAAA,aAAA,SAAA,IAAA;AAEA,aAAS,GAAU;QACM,EAAG,MAAA,KAAA,EAAA,gBAAA,aAAA,SAAA,IAAA;AACxB,UAAA,IAAA,GAAA,QAAA,OAAA,cAAA,EAAA,eAAA,wBAAA,KAAA,IAAA,IAAA,EAAA,gBAAA,IAAA;AACA,QAAA,QAAA,aAAA,IAAA,EAAA,iBAAA,GAAA,IAAA,GAAA;QACA,EAAA,MAAA,KAAA,EAAA,YAAA,aAAA,SAAA,IAAA;AACA,aAAA,GAAA;QACA,EAAA,MAAA,KAAA,EAAA,gBAAA,aAAA,SAAA,IAAA;AACA,UAAA,IAAA,GAAA,QAAA,OAAA,cAAA,EAAA,eAAA,wBAAA,MAAA,IAAA,IAAA,EAAA,iBAAA,IAAA;AACA,QAAA,QAAA,cAAA,IAAA,EAAA,gBAAA,GAAA,IAAA,GAAA;;;AAEA,cACwB,GAAA;AAAA,OACxB,GAAA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MAAkB;QACtB,GAAA,GAAA;MAEA;MAIE;MAgBA;MACM;MAYL;MAED;MACE;MAGD;MAED;;;AAsBA,cAAQ,GAAK,IAAY;AACvB,QAAU,IAAC,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,GAAA,IAAA,IAAA,EAAA,SAAA,IAAA,MAAA,IAAA,MAAA,IAAA;AACf,eACI,GAAM;AACN,QAAU,WAAO,EAAA,QAAA,MAAA,GAAA,KAAA,EAAA,QAAA,GAAA,QAAA,EAAA,KAAA,IAAA,IAAA,GAAA,KAAA,IAAA,GAAA,GAAA,IAAA,GAAA,IAAA,EAAA,mBAAA,EAAA,KAAA,WAAA,YAAA,EAAA,eAAA,SAAA,KAAA,EAAA;;AAErB,iBAAA;AAEA,SAAA,GAAS,IAAS,EAAG,GAAA,UAAA,OAAA,EAAA,MAAA,WAAA,EAAA,MAAA,OAAA,EAAA,eAAA,aAAA;;AAGgB,gBAAO,GAAQ,GAAS;AAAQ,UAC/D,EAAmB,IAAA,KAAA,EAAY,WAAA,GAAA,KAAA,EAAA,QAAA,GAAA,QAAA,IAAA,EAAA,IAAA,IAAA,GAAA,KAAA,EAAA,MAAA,GAAA,KAAA,EAAA,KAAA,IAAA,EAAA,MAAA,KAAA,EAAA,eAAA,aAAA,KAAA,GAAA,MAAA,KAAA,EAAA,eAAA,aAAA,IAAA,EAAA,MAAA,KAAA,EAAA,eAAA,WAAA,IAAA,EAAA,mBAAA,EAAA,GAAA,UAAA,IAAA,EAAA,MAAA,WAAA,EAAA;;AAA4E,MAAA,MAAA,KAAA,EAAA,IAAA,aAAA,SAAA,GAAA;AAE/G,SAAA;QACE,EAAI,MAAY,KAAK,EAAA,IAAc,cAAS,SAAA,GAAA;AAC5C,SAAA,GAAI;;;AAIF,cACG,GAAA;AAGD,QAAA,KAAA,EAAA,SAAU,IAAA,WAAS;AAAA,aAAA,GAAA,IAAA;OAIvB,IAAI,WAAqB;AACzB,aAAI,GAAW,EAAA,YAAG,aAAA,GAAA,EAAA,YAAA;;AAEd,eAAA,GAAO,GAAA;AAET,UAAA,IACG,KAAe,MAAK,GAAS;AAG9B,UAAA,MAAA,GAAQ;AAAW,YAAA,CAAA,EAAA;AAGvB,iBAAO;AACR,YAAA,MAAA,KAAA,IAAA,KAAA,KAAA,EAAA,gBAAA,EAAA,mBAAA,IAAA;AAEC,iBAAW,CAAA,EAAE,SAAA;;AAYb,UAAA,IAAI,GAAgB;AAGpB,UAAA,MAAmB,GAAA;AACjB,YAAA,CAAA,EAAI;AACF,iBAAgB;AAA8B,YAAA,MAAA,KAAA,IAAA,KAAA,KAAA,EAAA,eAAA,EAAA,kBAAA,IAAA;AAG9C,iBAAA,CAAA,EAAO,SAAc;;AAIvB,aAAA;;AACE,MAAA,MAAA,KAAA,EAAA,eAAA,WAAA,SAAA,GAAA;AAIJ,UAAA,CAAI,GAAA,sBACS,EAAA,wBAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,CAAA,MAAA;AAEb,YAAA,IAAQ,SAAO,gBAAA,SAAA,gBAAA,EAAA,cAAA;AAAA,YACb,GAAK;AACH,cAAM,EAAA,YACK;AAMX,gBAAA,EAAA,gBAAA;;AAEI,mBAAE,EAAA;AAON,kBAAA,EAAA,WAAA;AACF,cAAA,GAAK;AACC;;AAOJ,YACF,IAAK,GAAA,IAAA;AACH,gBAAM,EAAA;eAON;AACF,cAAA,UAAK,IAAA,CAAA,EAAA,eAAA,EAAA,SAAA,IAAA,CAAA,EAAA,iBAAA,IAAA;AACC;eAKJ;AACF,cAAA,UAAK,IAAA,EAAA,gBAAA,EAAA,SAAA,IAAA,EAAA,kBAAA,IAAA;AACH;eACA;AACF,cAAA,UAAK,IAAA,EAAA,eAAA,EAAA,SAAA,IAAA,EAAA,iBAAA,IAAA;AACH;eACA;AACF,cAAA,UAAK,IAAA,CAAA,EAAA,gBAAA,EAAA,SAAA,IAAA,CAAA,EAAA,kBAAA,IAAA;AACH;eACA;AACF,cAAA,WAAK,IAAA,EAAA,kBAAA,IAAA,CAAA,EAAA;AACH;eACA;AACF,gBAAA,EAAA;AACE;eACH;AAEK,gBAAA,CAAA,EAAS;AAYG;eAEnB;AACH,gBAAA,EAAA;AAES;eACS;AAEhB,gBAA8B,CAAA,EAAQ;AAChC;;AAkBL;;AAGC,UAAI,SAAW,mBACK,MAAA,KAAA,EAAA,SAAA,mBAAA,MAAA,KAAA,IAAA,aAAA,GAAA,GAAA,cAAA,GAAA,GAAA,IAAA,EAAA,GAAA,MAAA,EAAA;;;;AA6BpB,cAAS,GAAA;AACP,QAAA,KAAA,EAAA;AAGF,eAAa,GAAA,GAAA;AACX,UAAA,IAAA,KAAO,MAAA,GAAA,YAAA,IAAA,GAAA,cAAA,GAAA,IAAA,IAAA,GAAA,iBAAA,GAAA,cAAA,IAAA,GAAA,eAAA,GAAA,IAAA,GAAA,aAAA,GAAA,gBAAA,GAAA,aAAA;AAKT,aAAA,KAFI,IAEG,KAAU,KAAA,IAAW,KAAS,IAAA,KAAA,IAAA,IAAA,KAAA,GAAA,IAAA,CAAA,EAAA,SAAA,mBAAA;;AAEjC,eAAA,GAAO;AAGT,UAAA,IAAI,EAAQ,QAAU,IAAA,KAAA,EAAA;AAGtB,aAAI,QAAgB,IAAA,OAAU,OAAM,IAAA,QAAe,KAAG,KAAA,EAAA,cAAA,GAAA,IAAA,EAAA,cAAA,IAAA,EAAA,aAAA,EAAA,cAAA,KAAA,MAAA,IAAA,KAAA,KAAA,MAAA,KAAA,MAAA,KAAA,KAAA,GAAA,IAAA,EAAA,aAAA,EAAA,WAAA,CAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA;;AAEpD,eAAI,GAAe,GAAA,GAEd;AAGD,UAAA,CAAA,GAAA,YAAO,GAAA,cAAA;AAAA,eAAA;AAKb,UAAA,CAAA,GAAI,SAAgB;AAClB,eAAI;AACJ,eAAI,IAAgB,GAAA,KAER,MAAA,MAAA;AAGR,YAAA,EAAA,UAAO,SAAA,EAAA,QAAA;AAAA,iBAAA;AAKb,YAAS,IAAO,GAAA;AAAA,YAAA,KAAA,EAAA,UAAA,MAAA,kBAAA;AAGlB,cAAO,IAAA,EAAA,eAAA,EAAA;AACR,cAAA,IAAA,KAAA,GAAA,YAAA,KAAA,IAAA,KAAA,EAAA,YAAA,KAAA,IAAA;AAED,mBAA8B;;AAK5B,YAAI,KAA0B,EAAA,UAAsB,MAIpD,kBAAA;AAAA,cAAI,IAAgB,EAAA,cAAA,EAAA;AACb,cAAA,IAAA,KAAS,GAAA,aAKL,KAAE,IAAA,KAAA,EAAA,aAAuB,KAAA,IAAA;AAyBlB,mBAAA;;AAIhB,YAAO,EAAA;;AAOb,aAAS;;AAEL,eAAA,GAAA;AAGF,UAAI,IAAY,EAAA,IAAA,IAAA,EAAA,IAAA,IAAA,EAAA;AAEhB,UAAA,CAAA,EAAS,EAAc,QAAgB,GAAA,IAAA;AACrC,YAAI,IAAY;AAKhB,UAAI,SAAa,mBAAA,EAAA,oBAAA,CAAA,EAAA,mBAAA,KAAA,GAAA,aAAA,IAAA,EAAA,SAAA,aAAA,GAAA,aAAA,IAAA,EAAA,SAAA,YAAA,IAAA,QAAA,EAAA,oBAAA,CAAA,EAAA,oBAAA,KAAA,GAAA,cAAA,IAAA,EAAA,SAAA,aAAA,GAAA,cAAA,IAAA,EAAA,SAAA,YAAA,IAAA,QAAA,IAAA,aAAA,IAAA,EAAA,SAAA,YAAA,GAAA,cAAA,IAAA,EAAA,SAAA,aAAA,GAAA,IAAA,IAAA,KAAA,EAAA,GAAA,IAAA,KAAA,CAAA,EAAA,WAAA,GAAA,mBAAA,EAAA;;;AAQoC,WAAA,OAE1C,UAIN,MAAS,EAAK,MAAe,KAAE,IAAA,SAAe,KAAE,OAAA,OAAA,eAClC,OAAe,EAAA,MAAA,KAAA,IAAA,cAAA;;AAMlC,cAAO,GAAA;AACR,QAAA,CAAA,GAAA,iBAAA,CAAA,GAAA;AAED;AACE,QAAQ,KAAA,EAAA;AAIT,eAAA,GAAA,GAAA;AAED,UAAI,IAAc,KACd,MACA,GAAQ,YACK,KAAA,GAAA,YAAA,IAAA,KAAA,IAAA,IAAA,IAAA,KAAA,IAAA;AAEjB,UAAA,IAAS,GAAS;AAChB,YAAA,IAAM,KAAA,MAAA,EAAA,gBACK,EAAc,mBAGhB,IAAA,KAAA,MAAA;AAEV,iBAAA,OAAA,YAAA,KAAA,IAAA,KAAA,GAAA;iBAEqB,IAAG,KAAA,KAAA,KAAA,OAAA,EAAA,eAAA,EAAA,kBAAA,IAAA,KAAA,OAAA;AACvB,eAAM;AAcP,aAAA;;AAGC,eAAmB,GAInB,GAAA;AAAA,SAAA,aAAsB,GAAA,GAAA,cAAA,GAAA,GAAA;;AAQI,QAAA,IAAA,IAAA,IAAA,GAAA,IAAA,IAAA,IAAA;AAE3B,eAAA,GAAA;AAED,aAAS,EAAwB,gBAAwB,EAAA,cAAA,KAAA;;AAErD,eAAO,GAAA;AAKT,aAAA,EAFI,eAEa,EAAA,gBAAoB,SAAA,EAAA,YAAA,IAAA,QAAA,CAAA,CAAA,GAAA,iBAAA,EAAA,cAAA,WAAA,KAAA,EAAA,eAAA,EAAA,gBAAA,WAAA,EAAA,gBAAA,EAAA;;AAEjC,eAAA,GAAO;AAGT,UAAA,EAAI,IAAQ;AAGZ,YAAI,IAAA,EAAU;AACZ,UAAA,QAAmB,EAAO,OAAA,EAAA,QAAsB,EAAA,OAAA,IAAA,qBAAA,QAAA,WAAA,MAAA,QAAA,cAAA;;;AAMrC,eAAA,GAAA,GAAA,GAAA;AAKb,UAAA,CAAA,GAAI,SAAgB;AAClB,eAAI;AACJ,eAAI,KAAgB,GAAA,MAER,OAAA,MAAA;AAGR,YAAA,GAAA,UAAO,SAAA,EAAA,QAAA;AAAA,iBAAA;AAKb,YAAS,IAAO,GAAA;AAAA,YAAA,KAAA,EAAA,UAAA,MAAA,kBAAA;AAGlB,cAAO,IAAA,GAAA,eAAA,GAAA;AACR,cAAA,IAAA,KAAA,IAAA,YAAA,KAAA,IAAA,KAAA,GAAA,YAAA,KAAA,IAAA;AAED,mBAAsB;;AAElB,YAAI,KAAQ,EAAU,UAEA,MAAO,kBAA0B;AAKvD,cAA4B,IAAE,GAAA,cAAgC,GAAA;AAC5D,cAAA,IAAA,KAAA,IAAA,aAAA,KAAA,IAAA,KAAA,GAAA,aAAA,KAAA,IAAA;AAGa,mBACf;;AAKI,aAAU,GAAA;;AAUjB,aAAA;;AAEC,eAAM,GAAS;AAGX,UAAA,EAAI,IAAE;AACJ,YAAA,IAAA,EAAA,IAAA,IAAwB,EAAA,OAAA,EAAA,OAAA,OAAA,EAAA,SAAA,KAAA,EAAA,QAAA,EAAA,OAAA,IAAA,EAAA,QAAA,EAAA;AACxB,YAAA,EAAA,EAAA,QAAA,IAAA;AAAA;AAGF,UAAA,IAAK,IAAM,IAAM;AACf,YAAA,IAAwB,qBAAA,QAAA,WAAA,IAAA,IAAA;AACxB,YAAA,KAAA,GAAA,IAAA,KAAA,GAAA,EAAA,IAAA,IAAA,GAAA,IAAA,IAAA,EAAA,IAAA,MAAA,EAAA;;;AAIA,iBAAA;AACA,QAAA,SAAA,eAAA,eAAA,IAAA,IAAA,YAAA,WAAA;AAAA,YAAA,EAAA,eAAA;AAGF,wBAAgB;AACd;;AACA,YAAA,CAAA,EAAA,KAAA,CAAA,EAAA,GAAA;AAGa,wBAAoB;AAIlC;;AAIC,YAAA,KAAA,IAAA,EAAA,KACJ,QAAM,KAAc,IAAA,EAAA,KAAA,MACtB;AAaJ,wBAAA;AAEI;;AACF,YAAA,CAAA,EAAA,SAAW;AACX,wBAAA;AACA;;AAEA,UAAA,EAAA,IAAA,IAAA,EAAA,IAAA,KAAqB,EAAA,KAAA,KAAA,EAAA,KAAA;SACrB;;AACiB,OACjB,gBAAiB,GAAA,MAAA,KAAA,IAAA,cAAA,IAAA,EAAA,MAAA,KAAA,IAAA,aAAA,IAAA,EAAA,MAAA,KAAA,IAAA,YAAA,MAAA,GAAA,qBAAA,QAAA,eAAA,GAAA,MAAA,KAAA,IAAA,eAAA,IAAA,EAAA,MAAA,KAAA,IAAA,eAAA,IAAA,EAAA,MAAA,KAAA,IAAA,aAAA,MAAA,OAAA,kBAAA,GAAA,MAAA,KAAA,IAAA,iBAAA,IAAA,EAAA,MAAA,KAAA,IAAA,iBAAA,IAAA,EAAA,MAAA,KAAA,IAAA,eAAA;;AACJ,MACb,KAAA,WAAA;AAAkB,WAClB;MACA,UAAA,CAAA,cAAY,cAAA,YAAA,SAAA;MACd,oBAAA;MAEI,oBAAW;MACb,oBAAc;MACd,qBAAc;MACd,qBAAU;MACV,iBAAO;MACP,iBAAO;MAGL,aAA6C;MAC/C,kBAAa;MAOb,kBANsB;MAOpB,YAAU;;;AAvBC,MA+Bb,KAAA;IACE,cAAK;IAGP,cAAK;IAKL,UAAY;IAAc,OAAA;IAA4C,OAC3D;;AAzCE,MAyCY,KAAA,SAAe,IAAA,GAAU;AAAsB,QAAA,IAAA;AAExE,QAAA,MAAK,UAAqB,KAAA,KAAA,OAAc,MACpC,YAAe,MAAA,SACT,cAAqB,MAE/B,CAAA,MAAK,CAAA,GAAA;AACH,YAAI,IAA6B,MAAA;AAEjC,SAAA,UAAQ,IAAA,GAAA,UACR,IAAiB,EAAA,OAAA,KAAa,WACtB;AAEZ,aACE,KAAK;AAgBL,WAAI,SAAsB,KAAA,EAAA;AAC1B,SAAK,iBAAA,MAAmB,KAAS,kBAC7B,MAAM,KAAK,eAAgB,MAC7B,KAAK,gBAAA;AAyBP,QAAI,IAAa,WAAS;AAC1B,aAAK,GAAA,UAAA,IAAkB,EAAA,MAAS;OAkB9B,IACU,WAAA;AAKV,aACU,GAAA,UAAa,OACjB,EAAA,MACQ;;AAOwC,SAAA,QAA2B,GAAQ,IAAA,cAAA,OAAA,KAAA,UAAA,QAAA,GAAA,UAAA,IAAA,EAAA,MAAA,KAAA,mBAAA,WAAA;AAAI,UAE/F,IAAK,GAAA,YAAA,IAAgB;AAEkC,aAAO,GAAO,aAAU,IAAA,IAAA,GAAA,aAAA,GAAA,GAAA,aAAA,GAAA;SAC/E,KAAe,2BAAI,KAAA,mBAAA,GAAA,cAAA,GAAA,cAAA,GAAA,KAAA,QAAA,IAAA,MAAA,KAAA,gBAAA,GAAA,iBAAA,UAAA,KAAA,iBAAA,GAAA,EAAA,QAAA,KAAA,OAAA,GAAA,YAAA,KAAA,iBAAA,KAAA,aAAA,GAAA,EAAA,QAAA,MAAA,OAAA,KAAA,eAAA,YAAA,KAAA,aAAA,KAAA,WAAA,aAAA,YAAA,IAAA,KAAA,MAAA,KAAA,KAAA,YAAA,SAAA,IAAA,KAAA,MAAA,KAAA,KAAA,YAAA,QAAA,IAAA,KAAA,mBAAA,MAAA,KAAA,kBAAA,MAAA,KAAA,iBAAA;AACrB,QAAA,IAAA,GAAA,KAAA;AAEA,SAAiB,mBAAmB,SAAmB,EAAA,QAAA,KAAA,MAAA,KAAA,oBAAA,MAAA,0BAAA,OAAA,KAAA,gBAAA,EAAA,EAAA,QAAA,KAAA,0BAAA,MAAA,KAAA,mBAAA,EAAA,EAAA,mBAAA,EAAA,EAAA,mBAAA,GAAA,KAAA,gBAAA,EAAA,SAAA,YAAA,KAAA,mBAAA,EAAA,EAAA,cAAA,EAAA,EAAA,cAAA,GAAA,KAAA,gBAAA,EAAA,SAAA,OAAA,KAAA,aAAA,MAAA,KAAA,aAAA,MAAA,KAAA,iBAAA,GAAA,EAAA,QAAA,KAAA,OAAA,GAAA,YAAA,KAAA,iBAAA,KAAA,aAAA,GAAA,EAAA,QAAA,MAAA,OAAA,KAAA,eAAA,YAAA,KAAA,aAAA,KAAA,WAAA,aAAA,YAAA,IAAA,KAAA,MAAA,KAAA,KAAA,YAAA,SAAA,IAAA,KAAA,MAAA,KAAA,KAAA,YAAA,QAAA,IAAA,KAAA,mBAAA,MAAA,KAAA,mBAAA,MAAA,KAAA,gBAAA;AAChD,QAAA,IAAK,GAAA,KAAA;AA8BZ,SAAA,kBAAA,SAAA,EAAA,OAAA,KAAA,MAAA,KAAA,mBAAA,MAAA,yBAAA,OAAA,KAAA,iBAAA,EAAA,EAAA,SAAA,KAAA,yBAAA,MAAA,KAAA,uBAAA,KAAA,QAAA,GAAA,KAAA,cAAA,MAAA,KAAA,mBAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,oBAAA,GAAA,KAAA,gBAAA,EAAA,SAAA,YAAA,KAAA,oBAAA,EAAA,EAAA,aAAA,EAAA,EAAA,eAAA,GAAA,KAAA,gBAAA,EAAA,SAAA,OAAA,KAAA,cAAA,MAAA,KAAA,aAAA,MAAA,KAAA,QAAA;MAEiB,GAAA,GAAA,cAAU,IAAW,UAAsB,GAAA,cAAA,KAAA,eAAA,KAAA,iBAAA,QAAA;MACrD,GAAK,GAAA,aAIK,IAAI,UACD,GAAM,aAAY,KAAA,gBAAoB,KAAK,kBAC7D,QAAA;OACE,KAAA,UAAA,MAAA,KAAA,SAAA,SAAA,QAAA,SAAA,GAAA;AACA,aAAA,GAAA,GAAA;QACA,KAAK,gBAAQ,KAAa,MAAK,GAAA,YAAA,KAAA,iBAAA,GAAA,YAAA,KAAA,MAAA,KAAA,KAAA,SAAA,UAAA,SAAA,GAAA;AACnC,aAEO,EAAA,SAAA;QAEP,GAAA;;AAGE,KAAK,UAAK,SAIV,WAAW;AAeb,SAAA,WAAA,MAAA,2BAAA,KAAA,mBAAA,KAAA,QAAA,cAAA,KAAA,QAAA,cAAA,GAAA,GAAA,KAAA,gBAAA,EAAA,SAAA,YAAA,GAAA,KAAA,gBAAA,EAAA,SAAA,YAAA,KAAA,mBAAA,EAAA,GAAA,KAAA,gBAAA,cAAA,EAAA,GAAA,KAAA,gBAAA,cAAA,KAAA,oBAAA,EAAA,GAAA,KAAA,gBAAA,aAAA,EAAA,GAAA,KAAA,gBAAA,eAAA,GAAA,KAAA,gBAAA,EAAA,SAAA,WAAA,GAAA,KAAA,gBAAA,EAAA,SAAA,WAAA,GAAA,OAAA,IAAA,MAAA,OAAA,GAAA,OAAA,OAAA,IAAA,MAAA,QAAA,GAAA,OAAA,OAAA,GAAA,KAAA,gBAAA,EAAA,SAAA,OAAA,GAAA,KAAA,gBAAA,EAAA,SAAA;;AAGE,KAAA,UAAK,WAAQ,SAAiB,IAAA;AAEF,SAAA,WAAa,IAAM,OAAA,IAAA,MAAe,OAAA,KAAA,QAAA,YAAA,KAAA,gBAAA,IAAI,MAEpE,QC7yCA,KAAM,QAAO,aAAA,KACP,iBAMF,KAAI,gBAAsB,KAAW,MAAI,KAAA,QAAe,YAAA,KAAA,iBAAA,KAAA,QAAA;;AACA,KAC1D,UAAM,UAAY,WAAsB;AACxC,SAAE,WAAI,MAAc,MAAW,aAAe,GAAA,KAAA,aAAkB,GAAA,KAAA,aAAA,GAAA,KAAA,iBAAA,GAAA,KAAA,iBAAA,KAAA,mBAAA,KAAA,UAAA,MAAA,KAAA,aAAA,MAAA,KAAA,aAAA,MAAA,KAAA,iBAAA,MAAA,KAAA,iBAAA,MAAA,KAAA,UAAA;;AACA,KAChE,UAAM,kBAA0B,WAAe;AAC/C,SAAE,QAAI,YAAc,KAAW,QAAe,UAAA,MAAkB,KAAA,OAAA,SAAA,IAAA;AAC9D,aAAI,CAAA,GAAA,MAAA;OACJ,KAAI;;AAER,MAEgB,KAAA;AAFhB,MAEgB,KAAA;AAFhB,MAEgB,KAAA;IACd,EAAA,IAAA,WAAW,MAAA,MAAc,IAAA;IACzB,EAAA,IAAA,WAAY,MAAA,MAAA,IAAA;IACZ,EAAA,IAAA,YAAkB,MAAA,MAAA,IAAA;IAClB,EAAA,IAAA,cAAa,MAAA,MAAA,IAAA;IACb,EAAA,IAAA,cAAoB,MAAA,MAAA,IAAA;IACpB,EAAA,IAAA,eAAoB,MAAA,MAAA,IAAA;IACpB,EAAA,IAAA,cAAoB,MAAA,MAAA,IAAA;IACpB,EAAA,IAAA,cAAkB,MAAA,MAAA,IAAA;IAClB,EAAA,IAAA,gBAAiB,MAAA,MAAA,IAAA;IACjB,EAAA,IAAA,gBAAiB,MAAA,MAAA,IAAA;;ACnBf,MK2GF,KAAA;AL3GE,MK2GQ,KAAA,WAAA;AL3GR,MK2GQ,KAAA,MAAA;AL3GR,MK2GQ,KAAA,IAAA;AL3GR,MK2GQ,KAAA,IAAA;AL3GR,MK2GQ,KAAA,IAAA;AL3GR,MK2GQ,KAAA,IAAA;AL3GR,MK2GQ,KAAA,IAAA;AL3GR,MK2GQ,KAAA,IAAA;AL3GR,MK2GQ,KAAA,IAAA;AL3GR,MK2GQ,KAAA,IAAA;AL3GR,MK2GQ,KAAA,IAAA;AL3GR,MK2GQ,KAAA,IAAA;AL3GR,MK2GQ,KAAA,IAAA;AL3GR,MK2GQ,KAAA,IAAA;AL3GR,MK2GQ,MAAA,IAAA;AL3GR,MK2GQ,KAAA,IAAA;AL3GR,MK2GQ,KAAA,aAAA;AL3GR,MK2GQ,KAAA,SAAA;AL3GR,MK2GQ,KAAA,WAAA;AL3GR,MK2GQ,KAAA,SAAA;AC5FH,MACG,KAAA;AADH,MACG,KAAA,IAAA;AADH,MAsDD,KAAa,WAAuB;AAtDnC,MAuDE,KAAA,UAAA;AAvDF,MAuDsB,KAAA,QAAc;AAvDpC,MAuD6C,KAAA,WAC9C;AAxDC,MAwDW,KAAA,UAAgB;AAxD3B,MAwD2B,KAAA,YAAgB;AChElC,MACP,KAAA;AADO,MACP,KAAA,IAAA;AADO,MACP,KAAA,SAAA;AADO,MACP,KAAA,UAAA;ACSwB,MAAA,KAAA;AAAA,MAAA,KAAA,IAAA;AAAA,MAAA,KAAA;AAAA,MAAA,KAAA,QAAA,KAAA;AAAA,MAAA,KAAA;AAAA,MAAA,KAAA,GAAA;ACrCzB,MACR,KAAA;IACA,YAAA;IACF,SAEuB;IACrB,cAAa;IAQb,eAAiB;IASjB,WAAA;IASA,SAAA;IASA,UAAA;IAOA,UAAU;IAMV,WAAW;IAOX,QAAA;IAOA,aAAY;IAOZ,aAAgB;;AA3ER,MA4EN,KAAA;IAGA,YAFmB,CAAA,GAAA,OAGV,MAGF,OAAA,SAAA,EAAA,UAAA,OAAA;IACR,SAAA,CAAA,GAAA,OAAA,mDAAA,KAAA,KAAA,OAAA;IACD,cAAc,CAAA,GAAO,IAAA,MAAY,EAAA,SAAA,IAAA,OAAA,GAAA,QAAA,YAAA;IAC/B,eAAgB,CAAA,GAAA,IAAA,MAAA,EAAA,SAAA,IAAA,OAAA,GAAA,QAAA,YAAA;IAGhB,WAFmB,CAAA,MAAa,IAGvB,OAGF;IACR,SAAA,CAAA,GAAA,OAAA,EAAA,WAAA,IAAA,OAAA;IACD,UAAA,CAAA,GAAc,OAAO,KAAY,CAAA,MAAA,OAAA,MAAA,OAAA;IAC/B,UAAM,CAAA,GAAU,OAAA,OAAA,KAAA,WAAA,OAAA;IAGhB,WAFmB,CAAA,GAAA,OAAa,OAMzB,KAAA,YAAA,OAAA;IACR,QAAA,CAAA,GAAA,OAAA;ACxFG,YAAO,IAAA;AAyBX,aAAA,EAAA,MAAe,KAAA,OAAA;;IAEf,aAAA,CAAA,GAAiB,OAAA;AACjB,YAAA,IAAA;AACA,aAAA,EAAA,MAAA,KAAqB,OAAA;;IAErB,aAAA,CAAA,GAAgB,OAAA;AAGZ,YAAU,IAAA;AACd,aAAA,EAAA,MAAe,KAAA,OAAA;;;ADnDP,MCqDR,KAAA;ADrDQ,MCqDS,KAAA;ADrDT,MCqDS,KAAA,IAAA;ADrDT,MCqDS,KAAA;ADrDT,MCqDS,KAAA;ADrDT,MCqDS,KAAA;ADrDT,MCqDS,KAAA;ADrDT,MCqDS,KAAA;ADrDT,MCqDS,KAAA;ADrDT,MCqDS,KAAA;ADrDT,MCqDS,KAAA;ADrDT,MCqDS,KAAA,IAAA;ADrDT,MCqDS,KAAA;ADrDT,MCqDS,KAAA,IAAA;ADrDT,MCqDS,KAAA,YAAA;ADrDT,MCqDS,KAAA,QAAA;ADrDT,MCqDS,KAAA,UAAA;ADrDT,MCqDS,KAAA,UAAA;ADrDT,MCqDS,KAAA;IACjB,eAAe;IACf,iBAAA;IACA,iBAAA;IACA,aAAA;IACF,qBAEuB;IAAA,kBAAA;IAErB,gBAAA;;AD9DQ,MCgER,KAAA;IAEA,eAAA;IAEA,iBAAA;IAEA,iBAAA;IAEA,aAAA;IACE,qBAAA;IAGF,kBACE;IACF,gBAAA;;AD9EQ,MC+EN,KAAA;IAMF,mBACE;IAEF,kBAAY;IACZ,oBAAc;IAAA,qBAAA;IAGd,oBAAY;IACZ,sBAAc;IAGd,iBACE;IACF,mBACE;IAGF,eAAA;IACF,iBAE2B;IACzB,YAAA;IACA,cAAA;IAEA,YAAA;IACA,cAAA;IAEA,eAAA;IACA,iBAAA;IAEA,kBAAiB;;ADnHT,MCoHR,KAAA;IACA,mBAAc;IACd,kBAAY;IACZ,oBAAc;IACd,qBAAe;IACf,oBAAiB;IACjB,sBAAkB;IACpB,iBAAA;IAQA,mBAAuC;IACrC,eAAqB;IACnB,iBACK;IAYiB,YACjB;IAAA,cACK;IAAQ,YAGb;IAGH,cAAK;IAAqC,eAGvC;IAON,iBAAA;IAAA,kBAAA;;AAIC,yBAAO,GAAA;IACR,YAAA,IAAA,GAAA,GAAA;AAED,YAAA,KAAW,KAAA,WAAU,IAAA,KAAA,YAAA,EAAA,QAAA,IAAA,IAAA,OAAA,KAAA,UAAA,KAAA,WAAA,IAAA,KAAA,WAAA,KAAA,YAAA,IAAA,KAAA,WAAA,MAAA,KAAA,0BAAA,MAAA,KAAA,kBAAA,MAAA,KAAA,iBAAA,kCACnB,KACD,KAAA,QAAA,sBAED,KAAA,sBAAkB,KAAA,0BAAA,KAAA,oBAAA,QAAA,CAAA,EAAA,SAAA,GAAA,OAAA,QAAA;AAChB,aAAO,uBAAA,GAAA;UACR,KAAA,sBAAA,KAAA,8BAAA,KAAA,oBAAA,QAAA,KAAA,UAAA,EAAA,YAAA,SAAA,KAAA,gBAAA,MAAA,KAAA,uBAAA,KAAA,oBAAA;;evH3LH,cAAA;AuH+LI,aAAA;;eAeqB,UAAc;AACvC,aAEM;;eAEH,OAAA;AAGD,aAAA;;IAS+C,UAG7C;AACD,UAAA;AAED,MAAA,MAAA,KAAA,wBAAyB,QAAA,GAAA,cAAA,KAAA,sBAAA,MAAA,KAAA,kBAAA,MAAA,KAAA,SAAA,gBAAA,KAAA,KAAA,2BAAA,KAAA,oBAAA,IAAA,KAAA,iBAAA,EAAA,IAAA,KAAA,eAAA,UAAA,KAAA,QAAA,oBAAA,MAAA,oBAAA,QAAA,CAAA,MAAA;AAKvB,cAJiB,EAAe,OAAA,MAAA;AAC9B,UAAA,IAAA,GAAA;UACA,KAAK,0BAAA;;IAOL,0BAAO;AAAA,WACL,0BAAqC,KAAA,oBAAa,QAAA,CAAA,EAAA,SAAA,IAAA,SAAA,GAAA,aAAA,QAAA;AAAA,WAClD,YAAA,GAAA,GAAA,YAAA,GAAA,GAAA,gBAAA,KAAA,GAAA,gBAAA,KAAA,GAAA,gBAAA;UACA,KAAA,sBAAmD;;IACnD,yBACuB;AAAgC,aACvD,EAAA,KAA2D,IAC1C,KACjB,UAAqB,IACrB,CAAA,MAAS;AACjB,cAAA,IAAA,EAAA,QAAA,SAAA,MAAA,EAAA,QAAA,YAAA;AACK,eAAA;UACF,IAAA,EAAA,QAAA,EAAA,MAAA,GAAA;UAED,SAAA;UACM,MAAQ,EAAA,aAAiB;UAC3B,OAAA;UAGF,eAAsB,EAAA,aAAc;UAC/B,iBAAyC,EAAA,aACxC;UACP,SAAA,EAAA;UAED,aAAA,EAAA;UAC0C,SAAA,EAAA,aAAA;;;;IAMtC,uBAAc,IAAA,GAAA;AACpB,UAAK,GAAA,iBAAA,IAAA,OAAA,SAAA;AACF;AAED,YAAA,IAAA,SAAA,cAA6B;AAa3B,QAAA,aAZqB,IAAA,KAAA,EAAA,WAAgC,YAAA;;IAEjD,yBAAQ;AACR,QAAA,KAOR,IAAO,OACF,KAAA,UAEF,QAAA,CAAA,MAAA;AAED,UAAA;;;IAQiD,6BAGzB;AAKvB,aAAA,IAAA,iBAAA,CAAA,MAAA;AAED,UAAA,QAAA,CAAA,MAAA;AvHpTF,gBAAA,EAAA,eAAA,MAAA;AuHqTI,gBAAQ,MAAA,MAAS,qBAAa,KAAA,QAAS,oBAAO,KAAA,2BAAA,KAAA;;;;IAS5C,oBAAA;AAGF,WAAA,SAAqD,aAAA,OAAA,MAAA,oBAAA,IAAA,KAAA,WAAA,MAAA,KAAA,oBAAA,QACnD,CAAA,OAAiB,KAAQ,uBAAA,MACzB,KAAiB,YAAU,KAAA,WAAa,KAAA,mBAAA,KAAA,gBAAA,KAAA;;IAG1C,uBACE,IAAK;AAqBuD,UAC5D;AAAO,YACL,EAAA,SAAM,GAAA,MAAA,GAAA,OAAA,GAAA,SAAA,GAAA,IAAA,MAAA;AAAA,WACN,KAAA,mBAAQ;AAAA,YACR,IAAA,EAAA,aAAY;AAA4B,UACzC,MAAA,WAAA,MAAA;AACF;AACF,YAAA,IAAA,EAAA,QAED,EAAA,OAAA,IACE,EAAA,OAAgB,GAAA;AAGd,YAAA,WAAA,KAAA,gBAAA,GAAA,IAAA,MAAA,WAAA,KAAA,oBAAA,GAAA,IAAA,OAAA,cAAA,MAAA,YAAA,KAAA,mBAAA,GAAA,GAAA,IAAA,KAAA,eAAA,GAAA,IAAA,MAAA,aAAA,MAAA,WAAA,QAAA,KAAA,QAAA,mBAAA,KAAA,eAAA,GAAA,IAAA,EAAA,QAAA,KAAA,UAAA,IAAA;QAGF,OAAM;UAGF,MAAiB;UAGrB,QAAW;UACT,YAAwB,KAAA,KAAA,kBAAA,OAAA,OAAA,SAAA,EAAA;;;;IAGjB,mBACb,EAAA,SAAA,IAAA,MAAA,GAAA,iBAAA,GAAA,OAAA,GAAA,IAAA,KAAA;AACM,YAAW,IAAK,KAAA,YAAA;AAAA,UACd,CAAA,EAAA;AAAuB;AACZ,YACX,IAAA,MAAe,cAAA,MAAA,UAAA,EAAA,UAAA,EAAA;AAAA,UAChB,IAEG,IAAA,IAAO;AACQ,iBAAA,KAAA,GAAA;AAMrB,cAFA,IAAK,EAAA,SAGK,GACR,KAAA,eAAA,EAAA,SAAA,KAAA,QAAA,iBAAA,EAAA;AAQH,UAAA,KAAA;UAED,QAAA,MAAmB;UACjB,MAAK,EAAA;UACN,UAAA,EAAA;YAED,OAAqB,KAAA,YAAA,CAAA,KAAA,KAAA;;AAKnB,UAAI,KAAe,kBAAA,KAAA,EAAA,SAAA,IAAA,YAAA,KAAA,CAAA,GAAA;AAEnB,WAAA,aAAkB,IAAA;AAChB;;AAEN,SAAA,aAAA,IAAA,YAAA,KAAA,GAAA,aAAA,IAAA;;IAGM,mBAAsB,IAAA;AACtB,WAAa,uBAGX;;IAKL,YAAA,IAAA;AAED,YAAA,IAAA,GAAa,aAAiB,IAAA,MAAA;AAC5B,UAAA,IAAM;AACN,YAAA,IAAO,kCACL,KACA,KAAA,QAAkB;AACL,aACb,EAAA,QAAU,CAAA,MAAA;AAChB,cAAA,IAAA,KAAA,aAAA,GAAA;AACG,UAAA,WAAA,EAAA,KAAA,KAAA,QAAA,KAAA,QAAA;UAED;;IACkC,aAC1B,IAAA,GAAA;AAAA,YACJ,IAAA,GAAA,MAAA;AACN,aAGM;QAKU,UAAS,EAAS,EAAA;QAM/B,WAAA,EAAA,KAAA,EAAA,GAAA,MAAA,KAAA,KAAA;QAED,MAAA,EAAA;QACc,UAAA;;;IAOZ,eAAY,IAAY,GAAO;AAIhC,YAAA,IAAA,EAAA,QAED,IAAA,OACiC,KAE7B,IAAI,GAAA,aACS,OAAA,KAAA,QAAiB,eAAW,IAAA,GAAgB,aAAA,OAAA,KAAA,QAAA;AAEzD,QAAA,SAAM,IAAA,KAAY,SACN,mBAED,EAAA,cACU,MAAY,UAAgB,IAAC,GAAA,EAAA,YAAA,KAAA,SAAA,MAAA,UAAA,kBAAA;;IAErD,mBAAA,IAAA,GAAA,GAAA;AAED,QAAA,YAAe,IAAS,KAAQ,SAAA,gBAAA,EAAA,YAAA,IAAA,KAAA,SAAA,kBAAA,EAAA,SAAA,IAAA,KAAA,SAAA,GAAA,IAAA;;IAG9B,oBAIO,IAAA,GAAS;AACd,QAAA,YAAY,IAAY,KAAO,SAAK,kBACxB,EAAA,YAAmB,IAAA,KAAK,SAAS,oBAEjC,EAAA,SAAqB,IAAA,KAAA,SAAiB,aAAS;;IAE9D,gBAAA,IAAA,GAAA;AAED,QAAA,KAAA,IAAY,IAAS,QAAA,CAAA,GAAA,MAAA;AAGnB,YAFa,IAAA,MAAQ,IAAK,iBAEb,MAAA,IAAA,gBAAA;AACX,UAAa,YAAQ,IAAK,EAAA,SAAkC,GAAA,GAAA,KAAA,KAAA,GAAA,EAAA,SAAA,GAAA,KAAA,SAAA;;;IAG5D,eAAA,IAAA,GAAA;AAAA,YAAA,IAAA,EAAA,KAAA,SAAA;AAEF,QAAa,UAAQ,EAAA,QAAK,CAAA,MAAoC;AAC5D,UAAA,YAAY,GAAA,KAAA,SAAA,aAAA,EAAA,YAAA,GAAA,KAAA,SAAA,eAAA,EAAA,SAAA,GAAA,KAAA,SAAA,QAAA;;;IAIhB,YAAA,IAAA;AACE,UAAA,EAAK,QAAA,KAAA,UAAoB,KAAS,IAAA;AAChC,UAAA,QAAQ,KAAA,UAAU,IAAA;UACL,OAAA,KAAA;;AAAG;;AACuB,QAC7C,QAAA,KAAA,UAAA,IAAA;QACK,OAEI,KAAA;;;IASL,oBALK;AAA+B,WAClC,oBAAA,QAAA,CAAA,OAAA;AACA,cAAK,EAAA,OAAA,MAAA;AACX,UAES,GAIW,GAAoB,SAAU,MAC5C,KAAK,mBAAA;UAER,KAAA,0BAAA;;IAKC,sBAFc;AAGZ,WAAA,gBAAK,EAAA,QACL,IAAA,KAAA,WAEH,KAAA,iBAAA,EAAA,GAED,KAAA,eACE,SACE,CAAA,OAAG,KAAA,yBAAA;;IAEiD,yBAGnB,IAAA;AAGpC,UAAA,KAAA,SAAA,aAAA,IAAA,OAAA,KAAA,QAAA,gBAAA;AAED,aAAA,kBAAqB,CAAA,MAAA,KAAA,QAAA,eAAA,IAAA;AACnB;;;IAGK,WACA,IAAA;AAAA,aACA,KAAA,iDAGW,KAGjB,EAAA,kBAAA,KAAA,YAAA,OAAA,MAAA,YAAA,KAAA,KAAA,KAGD,EAAO,IAAA,IAAA,KAAY,YAAS,cAAA;;IAE3B,YAAA,IAAA;AAED,YAAO,IAAA,EAAA,uBAAsC,KAAI;AAC/C,aACE,KAAA,iDAGH,KAEM,IACL,KACE,EAAA,IAAM,IAAO,KAAW;;WAWtB,YAAU,IAAA;AAGZ,aAAW,EAAE,QAAI,IAAA;;WAClB,oBAAA,IAAA,IAAA,IAAA;AACF,aAAA,KAAA,YAAA,OAAA,IAAA,KAAA,IAAA,OAAA,KAAA,WAAA,IAAA;;WCplBa,gBAAA,IAAA;AACd,aAAA,KAAA,KAAmB,WAAA;AACjB,cAAY,IAAI,GAAE,oBAAA;AAElB,YAAA,OAAO,MAAA,UAAA;AACL,cAAS,EAAA,QAAA,UAAA,GAAA,WAAA,QAAA,OAAA;AACN,kBAAM,IAAA,UAAA,oBAAA;AACf,YAAA,IAAA;;;;;AGmBI,MAAA,KAAA;AAAA,MACK,KAAA,GAAA;AADL,MAEK,KAAA,GAAA;AAFL,MAEqB,KAAA,GAAA;ACEtB,MAAA,KAAA;AAAA,MAAA,KAAA,GAAA;AAAA,MAAA,KAAA,GAAA;AAAA,MAAA,KAAA,GAAA;AEJA,MAAA,KAAA;AAAA,MAAA,KAAA,GAAA;AAAA,MAAA,KAAA,GAAA;ACiCC,MAAA,KAAO;AAAP,MAAO,KAAA,MAAA;AC/BX,MAAM,KAAa;AAAnB,MAAmB,KAAA,MAAA;AAAnB,MAAmB,MAAA,IAAA;AAAnB,MAsBG,KAAA,cAAA;AAtBH,MAsBG,KAAA,YAAA;AAtBH,MAsBG,KAAA,eAAA;AEDC,MAAO,KAAA;AAAP,MAAO,KAAA,IAAA;AAAP,MAIe,KACb,OAAG;ACdL,MAAA,KAAO;AAAP,MAAO,KAAA,MAAA;AEbC,MACV,KAAA;AADU,MACE,KAAA,MAAA;AADF,MACE,KAAA,WAAA;ACqCZ,MEGA,KAAA;AFHA,MEGY,KAAA,MAAA;AFHZ,MEGY,KAAA,IAAA;AFHZ,MEGY,KAAA;AFHZ,MEGY,KAAA;AFHZ,MEGY,KAAA;AFHZ,MEGY,KAAA;AFHZ,MEGY,KAAA,IAAA;AFHZ,MEGY,KAAA,IAAA;AFHZ,MEGY,KAAA,IAAA;AFHZ,MEGY,KAAA,IAAA;AFHZ,MEGY,KAAA,OAAA;AFHZ,MEGY,KAAA,QAAA;AFHZ,MEGY,KAAA,iBAAA;AFHZ,MEGY,KAAA,GAAA;ACrCM,MAClB,KAAA;AADkB,MAClB,KAAuB,MAAA;AADL,MACK,KAAA,IAAA;AADL,MACK,KAAA,SAAA;AADL,MACK,KAAA,WAAA;AEhCrB,MACA,KAAA,CAAA,MAAsB;AAAA,OACtB,MAAA;AACA,YAAA,KAAU;AACR,UAAM,IAAA;AAEP,cAAA,IAAA,EAAA,MAAA,IAAA,GAAA,GAAA;AACL,WAAA,GAAA,KAAA,EAAA,iBAAA,GAAA,GAAA,GAAA,cAAA,GAAA,GAAA,GAAA,GAAA,aAAA,MAAA,IAAA,GAAA,KAAA,GAAA,EAAA;;;;AAPI,MAWW,KACX,CAAA,GAAA,OAAA;AAAA,MACA,GACA,UACA,YAAiB,EAAA,QAKf,IACE,SAAA,GAAA;AAGW,QAAU,kBAAA,EAAoB,oBAClC,MAAA;;;AAzBX,MA8BE,KAAoB,CAAC,GAAW,OAAiB;AACrD,MAAa,GACX,UACA,YAAY,EAAU,iBACtB,IACA,SAAU,GAAO;AACf,UAAA,CAAA,KAAe,QAA2B,SAAA,KAAA,YAAA,EAAA,kBAAA,GAAA;AAM1C;AACE,QAAA,oBAAA,MAAA;;;AA3CJ,MAiDgB,KAEb,CAAA,GAAA,OAAA;AAGD,MAAA,GACA,UAMD,YAAA,EAAA,iBACL,IAGM,SAA6B,GAAA;AACpB,YAAA,IAAA,GAAA;AACX,UAAA,CAAA,KAAA,QAAA,SAAA,KAAA,YAAA,EAAA,kBAAA,GAAA;AACA;AACA,QAAA,IAAA,GAAA,EAAA,cAAA,MAAA;AACC,WAAU,SAAA,KAAA;;AAGT,YAAM,IAAS,EAAM,QAAO,EAAA;AACf,WAAU,MAAA,KAAA,EAAA,YAElB,GAAM,QAAA,EAAA,oBAAA,GAAA,OAAA;;;AA5Eb,MAiFE,KAAgB,CAAC,GAAW,OAAiB;AACjD,MAAa,GACX,UACA,YAAY,EAAU,QACtB,IACA,CAAA,MAAA;AACE,QAAA;AAEI,YAAM,IAAA,EAAM,OAAE,QAAS;AAKzB,QAAI,oBAAU,GAKd;;;AAnGJ,MAuGK,KACF,CAAA,GAAA,OAAA;AAGD,MAAA,GAAoC,UACpB,YACtB,EAAA,QACM,IAOD,SAAA,GAAA;AACL,YAAA,IAAA,GAAA;AAGM,OAAA,KAA6B,QAAiB,SAAA,KAAA,YAAA,EAAA,kBAAA,EAAA,IAAA,GAAA,EAAA,YAAA,CAAA,MAAA;AACrC,UAAA,oBAAA,EAAA,IAAA,GAAA,EAAA,cAAA,MAAA;AACX,aAAA,SAAA,KAAA;;;AAGU,YAAA,IAAA,EAAY,QAC1B,IAAA,EAAA;AAIe,WAAA,EAAA,YAAA,GAAA,QAAA,EAAA,oBAAA,GAAA,OAAA;;;AAnIX,MAqIsB,KACtB,CAAA,GAAA,OAAA;AAAA,MACA,IAEE,UAOA,aAGA,IACE,EAAA,YAAU,IAAA;;AApJd,MAqJG,KACF,CAAA,GAAA,OAAA;AACL,MAAA,GAGM,UACuB,YAAS,EAAA,iBAClC,IAEiB,SAAI,GAAA;AACrB,MAAA,GAAA,OAAW,YAA0B,OAAA,EAAA,kBAAA,EAAA,eAAA,YAAA,QAAA,EAAA;AACtC,YAAA,IAAA,GAAA;AAGG,QAAkB,KAAY,GAAA,QAAiB,CAAA,MAAA;AACrB,UAAA,oBAAM,GAAA,EAAA,QAAA,SAAA;;;;AApKlC,MAyKD,KAAA,CAAA,GAAA,OAAA;AACH,OAEM,MAAoB,KACT,SAAmB,iBAAqB,KACrD,IAAI,SAAiB,GAAA;AACtB,aACY,IAAA,EAAA;;;AAhLX,MAiLA,KACA,CAAA,GAAA,OAAsB;AAAA,OACtB,MAAG,KACH,SAAkB,iBAAA,KACtB,IAAA,SAAA,GAAA;AC5LM,aAAkB,IAAW,EAAA;;;ADO/B,MCWA,KAAA,CAAA,GAAM,OAAU;AAChB,MAAA,KAAA,IAAA,QAAO,CAAA,MAAW;AAChB,UAAA,EAAI;QACF,EAAA,GAIA,UAAyD,YAAA,EAAA,iBAEjE,GAAK,2CAEL,EAAA;;ADtBI,MCyBA,KACE,CAAA,GAAY,OAAA;AAGZ,UAAA,IAAM,CAAA,MAAsB,EAAA,OAAA,OAAA,EAAoB,EAAA,SAC/B,OAAA,OAAA,EAAA,OAAA,OAAA,EAAA,EAAA,SAAA,OAAA,KAAA,IAAA,CAAA,MAAA,OAAA,KAAA,WAAA,IAAA,EAAA,KAAA,KAAA,MAAA,EAAA,QAAA,MAAA,QAAA,GAAA,IAAA,CAAA,MAAA;AAAA,YACf,IAAM;AAAA,aACJ,OAAA,KAAsB,GAAQ,QAAA,CAAA,MAAA;AAAA,YAC/B,EAAA,MAAA,cAAA;AACT,gBAAA,IAAA,EAAA,MAAA,GAAA,GAAA,cAAA,OAAA,EAAA,MAAA;AACM,YAAA,KAAY,EAAA,EAAA;;UAQV;;AACD,MAAA,KAAA,IAAA,QAAA,CAAA,MAAA;AAEH,UAAA,EAAA,iBAAO,GAAA,aAAA,YAAA,EAAA,iBAAA,GAAA,aAAA,WAAA;AACR,cAAA,IAAA,EAAA,kBAAA,IAAA,IAAA;UACH,MAAA;YC3DmB,UAAA,CAAA,EAAA;;;AAGhB,eAAA,EAAA,SAAA,GAAA,OAAA,EAAA,QAAA,EAAA,UAAA,GAAA,KAAA,SAAA,KAAA,MAAA,EAAA,OAAA,QAAA,MAAA,QAAA,IAAA,EAAA,GAAA,kCAEG,IACK,GAAA,EAAK;;AAIZ,aAAO;;;AAIP,iBAAU;IAGX,cAAA;AACH,WAAA,QAAA;;QCME,cAAO;AACL,aAAM,KAAA;;IACI,SACV,IAAA;AACD,aAAA,KAAA,MAAA,SAAA;;IACU,IACT,IAAA;AACA,WAAA,SAAU,OAAA,KAAA,MAAA,KAAA;;;AAEX,MACD,KAAA,IAAU;AADT,MACS,KAAA;IAAA,OACR;MACA,MAAA;MACA,UAAA;MACD,WAAA;;IACM,WACC;MACN,MAAA;MACA,UAAA;MACD,WAAA;;IACK,UACE;MACN,MAAA;MACA,UAAA;MACA,WAAQ;;IAEV,OAAA;MACE,MAAM;MACN,UAAU;MACV,WAAW;;IAEb,MAAA;MACE,MAAM;MACN,UAAU;MACV,WAAW;MACZ,QAAA;;IACM,YACC;MACN,MAAA;MACA,UAAA;MACD,WAAA;;IACiB,gBACV;MACN,MAAA;MACA,UAAA;MACD,WAAA;;IACO,OACN;MACA,MAAA;MACA,UAAA;MACD,WAAA;;IACU,kBACH;MACN,MAAA;MACA,UAAA;MACD,WAAA;;IACO,QACA;MACN,MAAA;MACA,UAAA;MACD,WAAA;;IACQ,WACD;MACN,MAAA;MACA,UAAA;MACD,WAAA;;IACQ,QACD;MACN,MAAA;MACA,UAAA;MACD,WAAA;;IACW,SACJ;MACN,MAAA;MACA,UAAA;MACD,WAAA;;IACM,SACC;MACN,MAAA;MACA,UAAA;MACD,WAAA;;IACU,YACH;MACN,MAAA;MACD,UAAA;MACD,WAAY;;IACJ,OACN;MACD,MAAA;MACD,UAAY;MACV,WAAM;;IAEP,WAAA;MACD,MAAA;MACE,UAAM;;IAEP,YAAA;MACD,MAAA;MACE,UAAM;;IAEP,YAAA;MACD,MAAA;MACE,UAAM;;IAEP,cAAA;MACD,MAAA;MACE,UAAM;;IAEP,UAAA;MACD,MAAA;MACE,UAAM;;IAEP,WAAA;MACD,MAAQ;MACN,UAAM;;IAEP,gBAAA;MAAA,MAAA;MAGD,UAAO;;IACC,mBACI;MACV,MAAA;MACA,UAAU;;IACX,QAAA;MAGD,MAAQ;MACN,UAAM;;IAEK,OACX;MACD,MAAA;MACD,UAAU;MACR,WAAM;MACN,UAAU;;IAGX,QAAA;MACD,MAAA;MACE,UAAM;MACN,WAAU;MACV,UAAA;;IAED,UAAA;MACD,MAAO;MACL,UAAM;MACN,WAAU;MACV,UAAA;;IAED,UAAA;MACD,MAAQ;MACN,UAAM;MACN,WAAU;MACV,UAAA;;IAED,OAAA;MACD,MAAA;MACE,UAAM;MACN,WAAU;MACV,UAAA;;IAED,QAAA;MACD,MAAK;MACH,UAAM;MACN,WACE;MACF,UAAA;;IAED,WAAA;MACD,MAAA;MACE,UAAM;MACN,WAAU;MACV,UAAA;;IAED,KAAA;MACD,MAAA;MACE,UAAM;MACN,WAAU;MACV,UAAA;;IAED,SAAA;MACD,MAAA;MACE,UAAM;MACN,WAAU;MACV,UAAA;;IAED,SAAA;MACD,MAAO;MACL,UAAM;MACN,WAAU;MACX,UAAA;;IAQD,UAEG;MAED,MAAA;MAGF,UAAuB;MAEvB,WAAuC;MAKvC,UAAI;;IAEF,OAAA;MAAA,MAAA;MAGF,UAAe;;;AAjNd,MAoNC,KAAA,CAAA,MAAA,GAAA,EAAA,SAAA;AApND,MAoNC,KAAA,CAAA,GAAA,OAAA;AAAA,QAAA,CAAA,KAAA,CAAA,GAAA,gBAAA,GAAA,SAAA,EAAA;AAGa;AACb,OAAA,IAAI,EAAA;AACJ,UAAK,IACH,GAAW,IAAI,IACX,MAAA,OAAA,SAAe,EAAA,cACY;AAGrC,QAAG,GAAA,IAAA,KAAA,QAAA,EAAA,UAAA;AAGG,WAAQ,QAAY,EAAY,SAAA,GAAA,KAAA,OAAA,SAAA,EAAA;AACzB;;AAIX,QAAA,GAAA;AACA,WAAA,QAAA,EAAA,SAAmB,GAAA,KAAA,OAAA,SAAA,EAAA;AAGf;;AAGJ,MAAA,KAAM,KAAgB,OAAO,SAA2B,EAAI,UAAa,QAAA,CAAA,MAAA;AAIvE,UAHwB,IACtB,EAAA,YAAS;AAGT,WAAA,KAAM,IAAuB,EAAA,IAA8B,KAAI,QAAA,EAAA,UAAA,EAAA,EAAA;;;AAnPlE,MAyPa,KACN,CAAA,GAAA,OAAA;AAA+C,MAAA,QAG5C,CAAA,MAAA,GAAA,GAAA;;AA7PV,MA6PU,KAAA;IAEb,cAAG;IAED,mBAA2B;;AAjQ1B,MAkQH,KAAA,CAAA,GAAA,KAAA,OAAA;;;;;;;;;;;;AC5RA,KAAO,EAAE,gBAAY;;;ACLrB,WAAS,iBAAiB,gBAAgB,CAAC,MAAW;AAClD,YAAQ,IAAI,gBAAgB;AAC5B,UAAM,KAAK,EAAE;AACb,eAAW;AAAA,MACP,MAAM,GAAG;AAAA,MACT,OAAO,SAAS,GAAG;AAAA,MACnB,kBAAkB,GAAG;AAAA,MACrB,uBAAuB;AAAA;AAAA;;;ACN/B,8BAAmC,QAAa;AAE1C,UAAM,WAAW,MAAM,SAAS,4BAA2B;AAAA,MACvD;AAAA,MACA,MAAM;AAAA;AAEV,QAAI,SAAS,UAAU;AACnB,aAAO,SAAS,QAAQ;AAAA;AAAA;;;ACR3B,iCAAyB,YAAY;AAAA,IACxC,cAAc;AACV;AAAA;AAAA,IAEJ,oBAAoB;AAChB,YAAM,WAAW,SAAS,eAAe;AACzC,YAAM,SAAQ,SAAS,QAAQ,UAAU;AACzC,WAAK,YAAY;AACjB,YAAM,UAAU,KAAK,iBAAiB;AACtC,YAAM,QAAQ,KAAK,QAAQ,YAAY;AACvC,YAAM,eAAe,KAAK,cAAc;AACxC,UAAI,KAAK,QAAQ,YAAY,YAAY;AACrC,cAAM,SAAS,SAAS,cAAc;AACtC,eAAO,UAAU,IAAI;AACrB,eAAO,YAAY,eAAe;AAClC,eAAO,QAAQ,WAAW;AAC1B,qBAAa,YAAY;AACzB,eAAO,iBAAiB,SAAS,KAAK;AAAA;AAE1C,iBAAW,WAAU,SAAS;AAC1B,gBAAO,SAAS;AAChB,cAAM,SAAS,SAAS,cAAc;AACtC,eAAO,UAAU,IAAI;AACrB,eAAO,YAAY,QAAO;AAC1B,eAAO,QAAQ,WAAW,QAAO;AACjC,eAAO,UAAU,OAAO,YAAY,QAAO;AAC3C,qBAAa,YAAY;AACzB,eAAO,iBAAiB,SAAS,KAAK;AACtC,mBAAU,aAAa,QAAO,YAAY;AACtC,cAAG,UAAU,KAAK,SAAS,QAAQ;AAC/B,mBAAO,aAAa,UAAU,MAAM,UAAU;AAAA,qBACxC,UAAU,QAAQ,WAAW;AACnC,mBAAO,aAAa,UAAU,MAAM,UAAU;AAC9C,oBAAO,gBAAgB,UAAU;AAAA;AAAA;AAAA;AAI7C,YAAM,OAAO,KAAK,qBAAqB;AACvC,UAAI,KAAK,WAAW,GAAG;AACnB,cAAM,IAAI,MAAM;AAAA;AAEpB,WAAK,GAAG,QAAQ,WAAW;AAC3B,WAAK,GAAG,cAAc;AACtB,sBAAgB,KAAK,cAAc;AAAA;AAAA,IAGvC,cAAoC,QAAoB;AAhD5D;AAiDQ,YAAM,SAAS,KAAK,QAAQ;AAC5B,UAAI,CAAC,QAAQ;AACT;AAAA;AAEJ,YAAM,iBAAiB,kCAAQ,aAAa,kBAAiB;AAE7D,UAAI,kBAAkB,CAAC,KAAK,UAAU,SAAS,aAAa;AAExD,cAAM,eAAe,OAAO,iBAAiB;AAC7C,qBAAa,QAAQ,iBAAe,YAAY,UAAU,OAAO;AAAA;AAGrE,UAAI,CAAC,kBAAkB,KAAK,aAAa,kBAAkB,cAAc;AACrE,cAAM,WAAW,CAAC,KAAK,UAAU,SAAS;AAC1C,cAAM,eAAe,OAAO,iBAAiB;AAC7C,qBAAa,QAAQ,iBAAe;AAChC,cAAI,YAAY,aAAa,kBAAkB;AAAc;AAC7D,sBAAY,UAAU,OAAO,YAAY;AAAA;AAAA,aAE1C;AACH,sBAAO,cAAc,wCAArB,oBAA0D,UAAU,OAAO;AAAA;AAE/E,WAAK,UAAU,OAAO;AACtB,aAAO,cAAc,IAAI,MAAM,UAAU,EAAE,SAAS;AACpD,sBAAgB;AAChB;AAAA;AAAA,QAGA,WAAW;AACX,UAAI,WAAqB;AACzB,WAAK,iBAAiB,oBAAoB,QAAQ,CAAC,QAAO;AACtD,YAAI,IAAG,aAAa,kBAAkB,cAAc;AAChD,mBAAS,KAAK,IAAG,aAAa;AAAA;AAAA;AAGtC,aAAO;AAAA;AAAA;AAIf,8BAA4B,UAAmC;AAC3D,WAAO,MAAM,KAAK,UACb,OAAO,aAAU,QAAO,UAAU,SAAS,eAAe,QAAO,QAAQ,aAAa,cACtF,IAAI,aAAO;AA3FpB;AA2FuB,4BAAO,gBAAP,oBAAoB;AAAA;AAAA;AAG3C,2BAAyB,UAAmB;AACxC,UAAM,eAAe,SAAS,cAAc;AAC5C,UAAM,kBAAkB,SAAS,iBAAiB;AAClD,UAAM,QAAQ,aAAa,cAAc;AACzC,UAAM,kBAAkB,mBAAmB;AAC3C,QAAI;AACJ,QAAI,gBAAgB,WAAW,GAAG;AAC9B,aAAO,MAAM,aAAa;AAAA,eACnB,gBAAgB,SAAS,GAAG;AACnC,aAAO,gBAAgB,KAAK;AAAA,WACzB;AACH,aAAO,GAAG,gBAAgB,UAAU,eAAe;AAAA;AAEvD,UAAM,cAAc;AAAA;AAGjB,0BAAwB,QAAc;AA9G7C;AA+GI,QAAI,UAAU,OAAM;AACpB,QAAI,QAAQ,YAAY,QAAQ;AAC5B,gBAAU,QAAQ;AAAA;AAEtB,UAAM,WAAW,eAAQ,kBAAR,oBAAuB,cAAc;AACtD,QAAI,aAAa,UAAa,aAAa,MAAM;AAC7C,YAAM,IAAI,MAAM;AAAA;AAEpB,MAAE,UAAU,YAAY;AAAA;AAG5B,WAAS,iBAAiB,SAAS,CAAC,MAAM;AACtC,QAAI,YAAY,CAAC,GAAG,SAAS,uBAAuB;AACpD,QAAI,SAAS,EAAE;AACf,UAAM,WAAW,OAAO,QAAQ,qBAAqB,OAAO,QAAQ;AACpE,QAAI,CAAC,UAAU;AACX,gBAAU,QAAQ,CAAC,cAAa;AAC5B,YAAI,EAAE,WAAU,GAAG;AAAY;AAC/B,UAAE,WAAU,YAAY;AAAA;AAAA;AAAA;AAKpC,iBAAe,OAAO,iBAAiB;", - "names": [] + "sources": ["../../node_modules/jszip/dist/jszip.min.js", "../../node_modules/@babel/runtime/helpers/arrayWithHoles.js", "../../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js", "../../node_modules/@babel/runtime/helpers/arrayLikeToArray.js", "../../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js", "../../node_modules/@babel/runtime/helpers/nonIterableRest.js", "../../node_modules/@babel/runtime/helpers/slicedToArray.js", "../../node_modules/@babel/runtime/helpers/classCallCheck.js", "../../node_modules/@babel/runtime/helpers/typeof.js", "../../node_modules/@babel/runtime/helpers/toPrimitive.js", "../../node_modules/@babel/runtime/helpers/toPropertyKey.js", "../../node_modules/@babel/runtime/helpers/createClass.js", "../../node_modules/automation-events/build/es5/bundle.js", "../../node_modules/dompurify/src/utils.js", "../../node_modules/dompurify/src/tags.js", "../../node_modules/dompurify/src/attrs.js", "../../node_modules/dompurify/src/regexp.js", "../../node_modules/dompurify/src/purify.js", "ckeditor.js", "index.ts", "message-translations.ts", "client-messages.ts", "modal.ts", "app.ts", "../../node_modules/tone/Tone/version.ts", "../../node_modules/standardized-audio-context/src/module.ts", "../../node_modules/standardized-audio-context/src/factories/abort-error.ts", "../../node_modules/standardized-audio-context/src/factories/add-active-input-connection-to-audio-node.ts", "../../node_modules/standardized-audio-context/src/factories/add-audio-node-connections.ts", "../../node_modules/standardized-audio-context/src/factories/add-audio-param-connections.ts", "../../node_modules/standardized-audio-context/src/globals.ts", "../../node_modules/standardized-audio-context/src/helpers/is-constructible.ts", "../../node_modules/standardized-audio-context/src/helpers/split-import-statements.ts", "../../node_modules/standardized-audio-context/src/factories/add-audio-worklet-module.ts", "../../node_modules/standardized-audio-context/src/helpers/get-value-for-key.ts", "../../node_modules/standardized-audio-context/src/helpers/pick-element-from-set.ts", "../../node_modules/standardized-audio-context/src/helpers/delete-passive-input-connection-to-audio-node.ts", "../../node_modules/standardized-audio-context/src/helpers/get-event-listeners-of-audio-node.ts", "../../node_modules/standardized-audio-context/src/helpers/set-internal-state-to-active.ts", "../../node_modules/standardized-audio-context/src/guards/audio-worklet-node.ts", "../../node_modules/standardized-audio-context/src/helpers/set-internal-state-to-passive.ts", "../../node_modules/standardized-audio-context/src/helpers/set-internal-state-to-passive-when-necessary.ts", "../../node_modules/standardized-audio-context/src/factories/add-connection-to-audio-node.ts", "../../node_modules/standardized-audio-context/src/factories/add-passive-input-connection-to-audio-node.ts", "../../node_modules/standardized-audio-context/src/factories/add-silent-connection.ts", "../../node_modules/standardized-audio-context/src/factories/add-unrendered-audio-worklet-node.ts", "../../node_modules/standardized-audio-context/src/factories/analyser-node-constructor.ts", "../../node_modules/standardized-audio-context/src/helpers/is-owned-by-context.ts", "../../node_modules/standardized-audio-context/src/factories/analyser-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/helpers/test-audio-buffer-copy-channel-methods-out-of-bounds-support.ts", "../../node_modules/standardized-audio-context/src/factories/index-size-error.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-audio-buffer-get-channel-data-method.ts", "../../node_modules/standardized-audio-context/src/factories/audio-buffer-constructor.ts", "../../node_modules/standardized-audio-context/src/constants.ts", "../../node_modules/standardized-audio-context/src/helpers/is-active-audio-node.ts", "../../node_modules/standardized-audio-context/src/factories/audio-buffer-source-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/audio-buffer-source-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/guards/audio-buffer-source-node.ts", "../../node_modules/standardized-audio-context/src/guards/biquad-filter-node.ts", "../../node_modules/standardized-audio-context/src/guards/constant-source-node.ts", "../../node_modules/standardized-audio-context/src/guards/gain-node.ts", "../../node_modules/standardized-audio-context/src/guards/oscillator-node.ts", "../../node_modules/standardized-audio-context/src/guards/stereo-panner-node.ts", "../../node_modules/standardized-audio-context/src/helpers/get-audio-node-connections.ts", "../../node_modules/standardized-audio-context/src/helpers/get-audio-param-connections.ts", "../../node_modules/standardized-audio-context/src/helpers/deactivate-active-audio-node-input-connections.ts", "../../node_modules/standardized-audio-context/src/helpers/deactivate-audio-graph.ts", "../../node_modules/standardized-audio-context/src/helpers/is-valid-latency-hint.ts", "../../node_modules/standardized-audio-context/src/factories/audio-context-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/audio-destination-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/audio-destination-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/audio-listener-factory.ts", "../../node_modules/standardized-audio-context/src/guards/audio-node.ts", "../../node_modules/standardized-audio-context/src/guards/audio-node-output-connection.ts", "../../node_modules/standardized-audio-context/src/helpers/insert-element-in-set.ts", "../../node_modules/standardized-audio-context/src/helpers/add-active-input-connection-to-audio-param.ts", "../../node_modules/standardized-audio-context/src/helpers/add-passive-input-connection-to-audio-param.ts", "../../node_modules/standardized-audio-context/src/guards/native-audio-node-faker.ts", "../../node_modules/standardized-audio-context/src/helpers/connect-native-audio-node-to-native-audio-node.ts", "../../node_modules/standardized-audio-context/src/helpers/delete-active-input-connection.ts", "../../node_modules/standardized-audio-context/src/helpers/delete-active-input-connection-to-audio-param.ts", "../../node_modules/standardized-audio-context/src/helpers/delete-event-listeners-of-audio-node.ts", "../../node_modules/standardized-audio-context/src/helpers/delete-passive-input-connection-to-audio-param.ts", "../../node_modules/standardized-audio-context/src/helpers/disconnect-native-audio-node-from-native-audio-node.ts", "../../node_modules/standardized-audio-context/src/helpers/get-native-audio-node.ts", "../../node_modules/standardized-audio-context/src/helpers/get-native-audio-param.ts", "../../node_modules/standardized-audio-context/src/helpers/is-part-of-a-cycle.ts", "../../node_modules/standardized-audio-context/src/helpers/is-passive-audio-node.ts", "../../node_modules/standardized-audio-context/src/helpers/test-audio-node-disconnect-method-support.ts", "../../node_modules/standardized-audio-context/src/helpers/visit-each-audio-node-once.ts", "../../node_modules/standardized-audio-context/src/guards/native-audio-node.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-audio-node-disconnect-method.ts", "../../node_modules/standardized-audio-context/src/factories/audio-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/audio-param-factory.ts", "../../node_modules/standardized-audio-context/src/factories/audio-param-renderer.ts", "../../node_modules/standardized-audio-context/src/read-only-map.ts", "../../node_modules/standardized-audio-context/src/factories/audio-worklet-node-constructor.ts", "../../node_modules/standardized-audio-context/src/helpers/copy-from-channel.ts", "../../node_modules/standardized-audio-context/src/helpers/copy-to-channel.ts", "../../node_modules/standardized-audio-context/src/helpers/create-nested-arrays.ts", "../../node_modules/standardized-audio-context/src/helpers/get-audio-worklet-processor.ts", "../../node_modules/standardized-audio-context/src/factories/audio-worklet-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/base-audio-context-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/biquad-filter-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/biquad-filter-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/cache-test-result.ts", "../../node_modules/standardized-audio-context/src/factories/channel-merger-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/channel-merger-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/channel-splitter-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/channel-splitter-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/connect-audio-param.ts", "../../node_modules/standardized-audio-context/src/factories/connect-multiple-outputs.ts", "../../node_modules/standardized-audio-context/src/factories/connected-native-audio-buffer-source-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/constant-source-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/constant-source-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/convert-number-to-unsigned-long.ts", "../../node_modules/standardized-audio-context/src/factories/convolver-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/convolver-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/create-native-offline-audio-context.ts", "../../node_modules/standardized-audio-context/src/factories/data-clone-error.ts", "../../node_modules/standardized-audio-context/src/helpers/detach-array-buffer.ts", "../../node_modules/standardized-audio-context/src/factories/decode-audio-data.ts", "../../node_modules/standardized-audio-context/src/factories/decrement-cycle-counter.ts", "../../node_modules/standardized-audio-context/src/factories/delay-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/delay-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/delete-active-input-connection-to-audio-node.ts", "../../node_modules/standardized-audio-context/src/factories/delete-unrendered-audio-worklet-node.ts", "../../node_modules/standardized-audio-context/src/guards/delay-node.ts", "../../node_modules/standardized-audio-context/src/factories/detect-cycles.ts", "../../node_modules/standardized-audio-context/src/factories/disconnect-multiple-outputs.ts", "../../node_modules/standardized-audio-context/src/factories/dynamics-compressor-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/dynamics-compressor-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/encoding-error.ts", "../../node_modules/standardized-audio-context/src/factories/evaluate-source.ts", "../../node_modules/standardized-audio-context/src/factories/event-target-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/expose-current-frame-and-current-time.ts", "../../node_modules/standardized-audio-context/src/factories/fetch-source.ts", "../../node_modules/standardized-audio-context/src/factories/gain-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/gain-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/get-active-audio-worklet-node-inputs.ts", "../../node_modules/standardized-audio-context/src/factories/get-audio-node-renderer.ts", "../../node_modules/standardized-audio-context/src/factories/get-audio-node-tail-time.ts", "../../node_modules/standardized-audio-context/src/factories/get-audio-param-renderer.ts", "../../node_modules/standardized-audio-context/src/factories/get-backup-offline-audio-context.ts", "../../node_modules/standardized-audio-context/src/factories/invalid-state-error.ts", "../../node_modules/standardized-audio-context/src/factories/get-native-context.ts", "../../node_modules/standardized-audio-context/src/factories/get-or-create-backup-offline-audio-context.ts", "../../node_modules/standardized-audio-context/src/factories/get-unrendered-audio-worklet-nodes.ts", "../../node_modules/standardized-audio-context/src/factories/invalid-access-error.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-iir-filter-node-get-frequency-response-method.ts", "../../node_modules/standardized-audio-context/src/factories/iir-filter-node-constructor.ts", "../../node_modules/standardized-audio-context/src/helpers/filter-buffer.ts", "../../node_modules/standardized-audio-context/src/factories/iir-filter-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/increment-cycle-counter-factory.ts", "../../node_modules/standardized-audio-context/src/factories/is-any-audio-context.ts", "../../node_modules/standardized-audio-context/src/factories/is-any-audio-node.ts", "../../node_modules/standardized-audio-context/src/factories/is-any-audio-param.ts", "../../node_modules/standardized-audio-context/src/factories/is-any-offline-audio-context.ts", "../../node_modules/standardized-audio-context/src/factories/is-native-audio-context.ts", "../../node_modules/standardized-audio-context/src/factories/is-native-audio-node.ts", "../../node_modules/standardized-audio-context/src/factories/is-native-audio-param.ts", "../../node_modules/standardized-audio-context/src/factories/is-native-context.ts", "../../node_modules/standardized-audio-context/src/factories/is-native-offline-audio-context.ts", "../../node_modules/standardized-audio-context/src/factories/is-secure-context.ts", "../../node_modules/standardized-audio-context/src/factories/media-element-audio-source-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/media-stream-audio-destination-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/media-stream-audio-source-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/media-stream-track-audio-source-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/minimal-audio-context-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/minimal-base-audio-context-constructor.ts", "../../node_modules/standardized-audio-context/src/helpers/test-promise-support.ts", "../../node_modules/standardized-audio-context/src/factories/minimal-offline-audio-context-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/monitor-connections.ts", "../../node_modules/standardized-audio-context/src/helpers/assign-native-audio-node-option.ts", "../../node_modules/standardized-audio-context/src/helpers/assign-native-audio-node-options.ts", "../../node_modules/standardized-audio-context/src/helpers/test-analyser-node-get-float-time-domain-data-method-support.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-analyser-node-get-float-time-domain-data-method.ts", "../../node_modules/standardized-audio-context/src/factories/native-analyser-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-audio-buffer-constructor.ts", "../../node_modules/standardized-audio-context/src/helpers/assign-native-audio-node-audio-param-value.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-audio-buffer-source-node-start-method-consecutive-calls.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-audio-scheduled-source-node-start-method-negative-parameters.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-audio-scheduled-source-node-stop-method-negative-parameters.ts", "../../node_modules/standardized-audio-context/src/factories/native-audio-buffer-source-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-audio-context-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/native-audio-destination-node.ts", "../../node_modules/standardized-audio-context/src/factories/native-audio-worklet-node-constructor.ts", "../../node_modules/standardized-audio-context/src/helpers/test-clonability-of-audio-worklet-node-options.ts", "../../node_modules/standardized-audio-context/src/factories/native-audio-worklet-node-factory.ts", "../../node_modules/standardized-audio-context/src/helpers/compute-buffer-size.ts", "../../node_modules/standardized-audio-context/src/helpers/clone-audio-worklet-node-options.ts", "../../node_modules/standardized-audio-context/src/helpers/create-audio-worklet-processor-promise.ts", "../../node_modules/standardized-audio-context/src/helpers/create-audio-worklet-processor.ts", "../../node_modules/standardized-audio-context/src/factories/native-audio-worklet-node-faker-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-biquad-filter-node.ts", "../../node_modules/standardized-audio-context/src/factories/native-channel-merger-node-factory.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-channel-splitter-node.ts", "../../node_modules/standardized-audio-context/src/factories/native-channel-splitter-node.ts", "../../node_modules/standardized-audio-context/src/factories/native-constant-source-node-factory.ts", "../../node_modules/standardized-audio-context/src/helpers/intercept-connections.ts", "../../node_modules/standardized-audio-context/src/factories/native-constant-source-node-faker-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-convolver-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-delay-node.ts", "../../node_modules/standardized-audio-context/src/factories/native-dynamics-compressor-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-gain-node.ts", "../../node_modules/standardized-audio-context/src/factories/native-iir-filter-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-iir-filter-node-faker-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-media-element-audio-source-node.ts", "../../node_modules/standardized-audio-context/src/factories/native-media-stream-audio-destination-node.ts", "../../node_modules/standardized-audio-context/src/factories/native-media-stream-audio-source-node.ts", "../../node_modules/standardized-audio-context/src/factories/native-media-stream-track-audio-source-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-offline-audio-context-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/native-oscillator-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-panner-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-panner-node-faker-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-periodic-wave-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-script-processor-node.ts", "../../node_modules/standardized-audio-context/src/factories/native-stereo-panner-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-stereo-panner-node-faker-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-wave-shaper-node-factory.ts", "../../node_modules/standardized-audio-context/src/factories/native-wave-shaper-node-faker-factory.ts", "../../node_modules/standardized-audio-context/src/factories/not-supported-error.ts", "../../node_modules/standardized-audio-context/src/factories/offline-audio-context-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/oscillator-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/oscillator-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/panner-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/panner-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/periodic-wave-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/render-automation.ts", "../../node_modules/standardized-audio-context/src/factories/render-inputs-of-audio-node.ts", "../../node_modules/standardized-audio-context/src/factories/render-inputs-of-audio-param.ts", "../../node_modules/standardized-audio-context/src/factories/render-native-offline-audio-context.ts", "../../node_modules/standardized-audio-context/src/factories/set-active-audio-worklet-node-inputs.ts", "../../node_modules/standardized-audio-context/src/factories/set-audio-node-tail-time.ts", "../../node_modules/standardized-audio-context/src/factories/start-rendering.ts", "../../node_modules/standardized-audio-context/src/factories/stereo-panner-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/stereo-panner-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/test-audio-buffer-constructor-support.ts", "../../node_modules/standardized-audio-context/src/factories/test-audio-worklet-processor-post-message-support.ts", "../../node_modules/standardized-audio-context/src/factories/test-offline-audio-context-current-time-support.ts", "../../node_modules/standardized-audio-context/src/factories/unknown-error.ts", "../../node_modules/standardized-audio-context/src/factories/wave-shaper-node-constructor.ts", "../../node_modules/standardized-audio-context/src/factories/wave-shaper-node-renderer-factory.ts", "../../node_modules/standardized-audio-context/src/factories/window.ts", "../../node_modules/standardized-audio-context/src/factories/wrap-audio-buffer-copy-channel-methods.ts", "../../node_modules/standardized-audio-context/src/factories/wrap-audio-buffer-copy-channel-methods-out-of-bounds.ts", "../../node_modules/standardized-audio-context/src/factories/wrap-audio-buffer-source-node-stop-method-nullified-buffer.ts", "../../node_modules/standardized-audio-context/src/factories/wrap-channel-merger-node.ts", "../../node_modules/standardized-audio-context/src/helpers/get-first-sample.ts", "../../node_modules/standardized-audio-context/src/helpers/is-dc-curve.ts", "../../node_modules/standardized-audio-context/src/helpers/overwrite-accessors.ts", "../../node_modules/standardized-audio-context/src/helpers/sanitize-audio-worklet-node-options.ts", "../../node_modules/standardized-audio-context/src/helpers/sanitize-channel-splitter-options.ts", "../../node_modules/standardized-audio-context/src/helpers/sanitize-periodic-wave-options.ts", "../../node_modules/standardized-audio-context/src/helpers/set-value-at-time-until-possible.ts", "../../node_modules/standardized-audio-context/src/helpers/test-audio-buffer-source-node-start-method-consecutive-calls-support.ts", "../../node_modules/standardized-audio-context/src/helpers/test-audio-buffer-source-node-start-method-offset-clamping-support.ts", "../../node_modules/standardized-audio-context/src/helpers/test-audio-buffer-source-node-stop-method-nullified-buffer-support.ts", "../../node_modules/standardized-audio-context/src/helpers/test-audio-scheduled-source-node-start-method-negative-parameters-support.ts", "../../node_modules/standardized-audio-context/src/helpers/test-audio-scheduled-source-node-stop-method-consecutive-calls-support.ts", "../../node_modules/standardized-audio-context/src/helpers/test-audio-scheduled-source-node-stop-method-negative-parameters-support.ts", "../../node_modules/standardized-audio-context/src/helpers/test-audio-worklet-node-options-clonability.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-audio-buffer-source-node-start-method-offset-clamping.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-audio-scheduled-source-node-stop-method-consecutive-calls.ts", "../../node_modules/standardized-audio-context/src/helpers/wrap-event-listener.ts", "../../node_modules/tone/Tone/core/util/Debug.ts", "../../node_modules/tone/Tone/core/util/TypeCheck.ts", "../../node_modules/tone/Tone/core/context/AudioContext.ts", "../../node_modules/tslib/tslib.es6.mjs", "../../node_modules/tone/Tone/core/clock/Ticker.ts", "../../node_modules/tone/Tone/core/util/AdvancedTypeCheck.ts", "../../node_modules/tone/Tone/core/util/Defaults.ts", "../../node_modules/tone/Tone/core/Tone.ts", "../../node_modules/tone/Tone/core/util/Math.ts", "../../node_modules/tone/Tone/core/util/Timeline.ts", "../../node_modules/tone/Tone/core/context/ContextInitialization.ts", "../../node_modules/tone/Tone/core/util/Emitter.ts", "../../node_modules/tone/Tone/core/context/BaseContext.ts", "../../node_modules/tone/Tone/core/context/Context.ts", "../../node_modules/tone/Tone/core/context/DummyContext.ts", "../../node_modules/tone/Tone/core/util/Interface.ts", "../../node_modules/tone/Tone/core/context/ToneAudioBuffer.ts", "../../node_modules/tone/Tone/core/context/OfflineContext.ts", "../../node_modules/tone/Tone/core/Global.ts", "../../node_modules/tone/Tone/core/type/Conversions.ts", "../../node_modules/tone/Tone/core/type/TimeBase.ts", "../../node_modules/tone/Tone/core/type/Time.ts", "../../node_modules/tone/Tone/core/type/Frequency.ts", "../../node_modules/tone/Tone/core/type/TransportTime.ts", "../../node_modules/tone/Tone/core/context/ToneWithContext.ts", "../../node_modules/tone/Tone/core/util/StateTimeline.ts", "../../node_modules/tone/Tone/core/context/Param.ts", "../../node_modules/tone/Tone/core/context/ToneAudioNode.ts", "../../node_modules/tone/Tone/core/context/Gain.ts", "../../node_modules/tone/Tone/source/OneShotSource.ts", "../../node_modules/tone/Tone/signal/ToneConstantSource.ts", "../../node_modules/tone/Tone/signal/Signal.ts", "../../node_modules/tone/Tone/core/clock/TickParam.ts", "../../node_modules/tone/Tone/core/clock/TickSignal.ts", "../../node_modules/tone/Tone/core/clock/TickSource.ts", "../../node_modules/tone/Tone/core/clock/Clock.ts", "../../node_modules/tone/Tone/core/context/ToneAudioBuffers.ts", "../../node_modules/tone/Tone/core/type/Midi.ts", "../../node_modules/tone/Tone/core/type/Ticks.ts", "../../node_modules/tone/Tone/core/util/Draw.ts", "../../node_modules/tone/Tone/core/util/IntervalTimeline.ts", "../../node_modules/tone/Tone/component/channel/Volume.ts", "../../node_modules/tone/Tone/core/context/Destination.ts", "../../node_modules/tone/Tone/core/util/TimelineValue.ts", "../../node_modules/tone/Tone/core/clock/TransportEvent.ts", "../../node_modules/tone/Tone/core/clock/TransportRepeatEvent.ts", "../../node_modules/tone/Tone/core/clock/Transport.ts", "../../node_modules/tone/Tone/source/Source.ts", "../../node_modules/tone/Tone/source/buffer/ToneBufferSource.ts", "../../node_modules/tone/Tone/source/Noise.ts", "../../node_modules/tone/Tone/source/oscillator/OscillatorInterface.ts", "../../node_modules/tone/Tone/source/oscillator/ToneOscillatorNode.ts", "../../node_modules/tone/Tone/source/oscillator/Oscillator.ts", "../../node_modules/tone/Tone/signal/SignalOperator.ts", "../../node_modules/tone/Tone/signal/WaveShaper.ts", "../../node_modules/tone/Tone/signal/AudioToGain.ts", "../../node_modules/tone/Tone/signal/Multiply.ts", "../../node_modules/tone/Tone/source/oscillator/AMOscillator.ts", "../../node_modules/tone/Tone/source/oscillator/FMOscillator.ts", "../../node_modules/tone/Tone/source/oscillator/PulseOscillator.ts", "../../node_modules/tone/Tone/source/oscillator/FatOscillator.ts", "../../node_modules/tone/Tone/source/oscillator/PWMOscillator.ts", "../../node_modules/tone/Tone/source/oscillator/OmniOscillator.ts", "../../node_modules/tone/Tone/core/util/Decorator.ts", "../../node_modules/tone/Tone/source/buffer/Player.ts", "../../node_modules/tone/Tone/component/envelope/Envelope.ts", "../../node_modules/tone/Tone/instrument/Instrument.ts", "../../node_modules/tone/Tone/instrument/Monophonic.ts", "../../node_modules/tone/Tone/component/envelope/AmplitudeEnvelope.ts", "../../node_modules/tone/Tone/instrument/Synth.ts", "../../node_modules/tone/Tone/instrument/MembraneSynth.ts", "../../node_modules/tone/Tone/core/worklet/WorkletGlobalScope.ts", "../../node_modules/tone/Tone/core/worklet/ToneAudioWorkletProcessor.worklet.ts", "../../node_modules/tone/Tone/core/worklet/SingleIOProcessor.worklet.ts", "../../node_modules/tone/Tone/core/worklet/DelayLine.worklet.ts", "../../node_modules/tone/Tone/component/filter/FeedbackCombFilter.worklet.ts", "../../node_modules/tone/Tone/instrument/PolySynth.ts", "../../node_modules/tone/Tone/instrument/Sampler.ts", "../../node_modules/tone/Tone/component/channel/Panner.ts", "../../node_modules/tone/Tone/effect/BitCrusher.worklet.ts", "../../node_modules/tone/Tone/effect/Freeverb.ts", "../../node_modules/tone/Tone/effect/JCReverb.ts", "../../node_modules/tone/Tone/component/channel/Solo.ts", "../../node_modules/tone/Tone/component/channel/PanVol.ts", "../../node_modules/tone/Tone/component/channel/Channel.ts", "../../node_modules/tone/Tone/core/context/Listener.ts", "../../node_modules/tone/Tone/index.ts", "event-emitter.ts", "tabs.ts", "pythonPrefixes.ts", "types.ts", "../../node_modules/@codemirror/state/dist/index.js", "../../node_modules/style-mod/src/style-mod.js", "../../node_modules/w3c-keyname/index.js", "../../node_modules/@codemirror/view/dist/index.js", "../../node_modules/@lezer/common/dist/index.js", "../../node_modules/@lezer/highlight/dist/index.js", "../../node_modules/@codemirror/language/dist/index.js", "../../node_modules/@codemirror/commands/dist/index.js", "../../node_modules/crelt/index.js", "../../node_modules/@codemirror/search/dist/index.js", "cm-decorations.ts", "../../node_modules/@lezer/lr/dist/index.js", "lezer-parsers/level1-parser.terms.ts", "lezer-parsers/level2-parser.terms.ts", "lezer-parsers/level3-parser.terms.ts", "lezer-parsers/level4-parser.terms.ts", "lezer-parsers/level5-parser.terms.ts", "lezer-parsers/level6-parser.terms.ts", "lezer-parsers/level7-parser.terms.ts", "lezer-parsers/level8-parser.terms.ts", "lezer-parsers/level10-parser.terms.ts", "lezer-parsers/level11-parser.terms.ts", "lezer-parsers/level12-parser.terms.ts", "lezer-parsers/level13-parser.terms.ts", "lezer-parsers/level14-parser.terms.ts", "lezer-parsers/level15-parser.terms.ts", "lezer-parsers/level16-parser.terms.ts", "lezer-parsers/level17-parser.terms.ts", "lezer-parsers/level18-parser.terms.ts", "../../highlighting/highlighting-trad.json", "lezer-parsers/tokens.ts", "lezer-parsers/level1-parser.ts", "lezer-parsers/level2-parser.ts", "lezer-parsers/level3-parser.ts", "lezer-parsers/level4-parser.ts", "lezer-parsers/level5-parser.ts", "lezer-parsers/level6-parser.ts", "lezer-parsers/level7-parser.ts", "lezer-parsers/level8-parser.ts", "lezer-parsers/level9-parser.ts", "lezer-parsers/level10-parser.ts", "lezer-parsers/level11-parser.ts", "lezer-parsers/level12-parser.ts", "lezer-parsers/level13-parser.ts", "lezer-parsers/level14-parser.ts", "lezer-parsers/level15-parser.ts", "lezer-parsers/level16-parser.ts", "lezer-parsers/level17-parser.ts", "lezer-parsers/level18-parser.ts", "lezer-parsers/language-packages.ts", "cm-monokai-theme.ts", "cm-editor.ts", "../../node_modules/sortablejs/modular/sortable.esm.js", "parsons.ts", "browser-helpers/on-element-becomes-visible.ts", "debugging.ts", "local.ts", "teachers.ts", "adventure.ts", "autosave.ts", "../../node_modules/@kurkle/color/dist/color.esm.js", "../../node_modules/chart.js/src/helpers/helpers.core.ts", "../../node_modules/chart.js/src/helpers/helpers.math.ts", "../../node_modules/chart.js/src/helpers/helpers.collection.ts", "../../node_modules/chart.js/src/helpers/helpers.extras.ts", "../../node_modules/chart.js/src/helpers/helpers.easing.ts", "../../node_modules/chart.js/src/helpers/helpers.color.ts", "../../node_modules/chart.js/src/core/core.animations.defaults.js", "../../node_modules/chart.js/src/core/core.layouts.defaults.js", "../../node_modules/chart.js/src/helpers/helpers.intl.ts", "../../node_modules/chart.js/src/core/core.ticks.js", "../../node_modules/chart.js/src/core/core.scale.defaults.js", "../../node_modules/chart.js/src/core/core.defaults.js", "../../node_modules/chart.js/src/helpers/helpers.canvas.ts", "../../node_modules/chart.js/src/helpers/helpers.options.ts", "../../node_modules/chart.js/src/helpers/helpers.config.ts", "../../node_modules/chart.js/src/helpers/helpers.curve.ts", "../../node_modules/chart.js/src/helpers/helpers.dom.ts", "../../node_modules/chart.js/src/helpers/helpers.interpolation.ts", "../../node_modules/chart.js/src/helpers/helpers.rtl.ts", "../../node_modules/chart.js/src/helpers/helpers.segment.js", "../../node_modules/chart.js/src/core/core.animator.js", "../../node_modules/chart.js/src/core/core.animation.js", "../../node_modules/chart.js/src/core/core.animations.js", "../../node_modules/chart.js/src/core/core.datasetController.js", "../../node_modules/chart.js/src/controllers/controller.bar.js", "../../node_modules/chart.js/src/controllers/controller.bubble.js", "../../node_modules/chart.js/src/controllers/controller.doughnut.js", "../../node_modules/chart.js/src/controllers/controller.line.js", "../../node_modules/chart.js/src/controllers/controller.polarArea.js", "../../node_modules/chart.js/src/controllers/controller.pie.js", "../../node_modules/chart.js/src/controllers/controller.radar.js", "../../node_modules/chart.js/src/controllers/controller.scatter.js", "../../node_modules/chart.js/src/core/core.adapters.ts", "../../node_modules/chart.js/src/core/core.interaction.js", "../../node_modules/chart.js/src/core/core.layouts.js", "../../node_modules/chart.js/src/platform/platform.base.js", "../../node_modules/chart.js/src/platform/platform.basic.js", "../../node_modules/chart.js/src/platform/platform.dom.js", "../../node_modules/chart.js/src/platform/index.js", "../../node_modules/chart.js/src/core/core.element.ts", "../../node_modules/chart.js/src/core/core.scale.autoskip.js", "../../node_modules/chart.js/src/core/core.scale.js", "../../node_modules/chart.js/src/core/core.typedRegistry.js", "../../node_modules/chart.js/src/core/core.registry.js", "../../node_modules/chart.js/src/core/core.plugins.js", "../../node_modules/chart.js/src/core/core.config.js", "../../node_modules/chart.js/src/core/core.controller.js", "../../node_modules/chart.js/src/elements/element.arc.ts", "../../node_modules/chart.js/src/elements/element.line.js", "../../node_modules/chart.js/src/elements/element.point.ts", "../../node_modules/chart.js/src/elements/element.bar.js", "../../node_modules/chart.js/src/plugins/plugin.colors.ts", "../../node_modules/chart.js/src/plugins/plugin.decimation.js", "../../node_modules/chart.js/src/plugins/plugin.filler/filler.segment.js", "../../node_modules/chart.js/src/plugins/plugin.filler/filler.helper.js", "../../node_modules/chart.js/src/plugins/plugin.filler/filler.options.js", "../../node_modules/chart.js/src/plugins/plugin.filler/filler.target.stack.js", "../../node_modules/chart.js/src/plugins/plugin.filler/simpleArc.js", "../../node_modules/chart.js/src/plugins/plugin.filler/filler.target.js", "../../node_modules/chart.js/src/plugins/plugin.filler/filler.drawing.js", "../../node_modules/chart.js/src/plugins/plugin.filler/index.js", "../../node_modules/chart.js/src/plugins/plugin.legend.js", "../../node_modules/chart.js/src/plugins/plugin.title.js", "../../node_modules/chart.js/src/plugins/plugin.subtitle.js", "../../node_modules/chart.js/src/plugins/plugin.tooltip.js", "../../node_modules/chart.js/src/scales/scale.category.js", "../../node_modules/chart.js/src/scales/scale.linearbase.js", "../../node_modules/chart.js/src/scales/scale.linear.js", "../../node_modules/chart.js/src/scales/scale.logarithmic.js", "../../node_modules/chart.js/src/scales/scale.radialLinear.js", "../../node_modules/chart.js/src/scales/scale.time.js", "../../node_modules/chart.js/src/scales/scale.timeseries.js", "../../node_modules/chart.js/src/index.ts", "loading.ts", "comm.ts", "auth.ts", "local-save-warning.ts", "utils.ts", "user-activity.ts", "index-tabs.ts", "htmx-integration.ts", "statistics.ts", "logs.ts", "admin.ts", "profile.ts", "initialize.ts", "../../node_modules/tw-elements/src/js/dom/data.js", "../../node_modules/tw-elements/src/js/util/index.js", "../../node_modules/tw-elements/src/js/dom/event-handler.js", "../../node_modules/tw-elements/src/js/base-component.js", "../../node_modules/tw-elements/src/js/components/button.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/enums.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getWindow.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/modifiers/applyStyles.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/getBasePlacement.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/math.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/userAgent.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/contains.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/within.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/expandToHashMap.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/modifiers/arrow.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/getVariation.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/modifiers/computeStyles.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/modifiers/eventListeners.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/rectToClientRect.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/computeOffsets.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/detectOverflow.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/modifiers/flip.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/modifiers/hide.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/modifiers/offset.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/getAltAxis.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/orderModifiers.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/debounce.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/format.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/validateModifiers.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/uniqueBy.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/utils/mergeByName.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/createPopper.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/popper-lite.js", "../../node_modules/tw-elements/node_modules/@popperjs/core/lib/popper.js", "../../node_modules/tw-elements/src/js/dom/manipulator.js", "../../node_modules/tw-elements/src/js/dom/selector-engine.js", "../../node_modules/tw-elements/src/js/components/dropdown.js", "../../node_modules/tw-elements/src/js/components/collapse.js", "../../node_modules/tw-elements/src/js/util/scrollbar.js", "../../node_modules/tw-elements/src/js/util/backdrop.js", "../../node_modules/tw-elements/src/js/util/focusTrap.js", "../../node_modules/tw-elements/src/js/util/component-functions.js", "../../node_modules/tw-elements/src/js/components/offcanvas.js", "../../node_modules/tw-elements/src/js/components/alert.js", "../../node_modules/tw-elements/src/js/components/carousel.js", "../../node_modules/tw-elements/src/js/components/modal.js", "../../node_modules/tw-elements/src/js/util/sanitizer.js", "../../node_modules/tw-elements/src/js/components/tooltip.js", "../../node_modules/tw-elements/src/js/components/popover.js", "../../node_modules/tw-elements/src/js/navigation/scrollspy.js", "../../node_modules/tw-elements/src/js/navigation/tab.js", "../../node_modules/tw-elements/src/js/components/toast.js", "../../node_modules/tw-elements/node_modules/detect-autofill/dist/detect-autofill.js", "../../node_modules/tw-elements/src/js/forms/input.js", "../../node_modules/tw-elements/src/js/content-styles/animate.js", "../../node_modules/tw-elements/src/js/methods/ripple.js", "../../node_modules/tw-elements/src/js/forms/datepicker/date-utils.js", "../../node_modules/tw-elements/src/js/forms/datepicker/templates.js", "../../node_modules/tw-elements/src/js/util/keycodes.js", "../../node_modules/tw-elements/src/js/forms/datepicker/index.js", "../../node_modules/tw-elements/src/js/forms/timepicker/templates.js", "../../node_modules/tw-elements/src/js/forms/timepicker/utils.js", "../../node_modules/tw-elements/src/js/forms/timepicker/index.js", "../../node_modules/tw-elements/src/js/util/touch/swipe.js", "../../node_modules/tw-elements/src/js/util/touch/index.js", "../../node_modules/tw-elements/src/js/navigation/sidenav.js", "../../node_modules/tw-elements/src/js/components/stepper.js", "../../node_modules/tw-elements/src/js/forms/select/select-option.js", "../../node_modules/tw-elements/src/js/forms/select/selection-model.js", "../../node_modules/tw-elements/src/js/forms/select/util.js", "../../node_modules/tw-elements/src/js/forms/select/templates.js", "../../node_modules/tw-elements/src/js/forms/select/index.js", "../../node_modules/tw-elements/src/js/components/chips/templates.js", "../../node_modules/tw-elements/src/js/components/chips/chip.js", "../../node_modules/tw-elements/src/js/components/chips/index.js", "../../node_modules/tw-elements/src/js/data/chart/chartDefaults.js", "../../node_modules/tw-elements/node_modules/deepmerge/dist/cjs.js", "../../node_modules/tw-elements/src/js/data/chart/charts.js", "../../node_modules/tw-elements/node_modules/perfect-scrollbar/dist/perfect-scrollbar.esm.js", "../../node_modules/tw-elements/src/js/methods/perfect-scrollbar.js", "../../node_modules/tw-elements/src/js/data/datatables/html/pagination.js", "../../node_modules/tw-elements/src/js/data/datatables/html/columns.js", "../../node_modules/tw-elements/src/js/data/datatables/html/rows.js", "../../node_modules/tw-elements/src/js/data/datatables/html/table.js", "../../node_modules/tw-elements/src/js/data/datatables/util.js", "../../node_modules/tw-elements/src/js/data/datatables/index.js", "../../node_modules/tw-elements/src/js/components/rating.js", "../../node_modules/tw-elements/src/js/components/popconfirm.js", "../../node_modules/tw-elements/src/js/components/lightbox.js", "../../node_modules/tw-elements/src/js/forms/validation/rules.js", "../../node_modules/tw-elements/src/js/forms/validation/validation.js", "../../node_modules/tw-elements/src/js/methods/touch/touchUtil.js", "../../node_modules/tw-elements/src/js/methods/touch/press.js", "../../node_modules/tw-elements/src/js/methods/touch/swipe.js", "../../node_modules/tw-elements/src/js/methods/touch/pan.js", "../../node_modules/tw-elements/src/js/methods/touch/pinch.js", "../../node_modules/tw-elements/src/js/methods/touch/tap.js", "../../node_modules/tw-elements/src/js/methods/touch/rotate.js", "../../node_modules/tw-elements/src/js/methods/touch/index.js", "../../node_modules/tw-elements/src/js/methods/smooth-scroll.js", "../../node_modules/tw-elements/src/js/methods/lazy-load.js", "../../node_modules/tw-elements/src/js/methods/clipboard.js", "../../node_modules/tw-elements/src/js/methods/infinite-scroll.js", "../../node_modules/tw-elements/src/js/methods/loading-management/templates.js", "../../node_modules/tw-elements/src/js/methods/loading-management/index.js", "../../node_modules/tw-elements/src/js/forms/dateTimepicker/utils.js", "../../node_modules/tw-elements/src/js/forms/dateTimepicker/templates.js", "../../node_modules/tw-elements/src/js/forms/dateTimepicker/index.js", "../../node_modules/tw-elements/src/js/methods/sticky.js", "../../node_modules/tw-elements/src/js/autoinit/jqueryInit.js", "../../node_modules/tw-elements/src/js/autoinit/autoinitCallbacks.js", "../../node_modules/tw-elements/src/js/autoinit/chartsInit.js", "../../node_modules/tw-elements/src/js/autoinit/Register.js", "../../node_modules/tw-elements/src/js/autoinit/index.js", "tailwind.ts", "public-adventures.ts", "microbit.ts", "custom-elements.ts"], + "sourcesContent": ["/*!\n\nJSZip v3.10.1 - A JavaScript class for generating and reading zip files\n\n\n(c) 2009-2016 Stuart Knightley \nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/main/LICENSE\n*/\n\n!function(e){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).JSZip=e()}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t=\"function\"==typeof require&&require;if(!e&&t)return t(r,!0);if(l)return l(r,!0);var n=new Error(\"Cannot find module '\"+r+\"'\");throw n.code=\"MODULE_NOT_FOUND\",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l=\"function\"==typeof require&&require,e=0;e>2,s=(3&t)<<4|r>>4,a=1>6:64,o=2>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{\"./support\":30,\"./utils\":32}],2:[function(e,t,r){\"use strict\";var n=e(\"./external\"),i=e(\"./stream/DataWorker\"),s=e(\"./stream/Crc32Probe\"),a=e(\"./stream/DataLengthProbe\");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a(\"data_length\")),t=this;return e.on(\"end\",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error(\"Bug : uncompressed data size mismatch\")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\",this.compressedSize).withStreamInfo(\"uncompressedSize\",this.uncompressedSize).withStreamInfo(\"crc32\",this.crc32).withStreamInfo(\"compression\",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a(\"uncompressedSize\")).pipe(t.compressWorker(r)).pipe(new a(\"compressedSize\")).withStreamInfo(\"compression\",t)},t.exports=o},{\"./external\":6,\"./stream/Crc32Probe\":25,\"./stream/DataLengthProbe\":26,\"./stream/DataWorker\":27}],3:[function(e,t,r){\"use strict\";var n=e(\"./stream/GenericWorker\");r.STORE={magic:\"\\0\\0\",compressWorker:function(){return new n(\"STORE compression\")},uncompressWorker:function(){return new n(\"STORE decompression\")}},r.DEFLATE=e(\"./flate\")},{\"./flate\":7,\"./stream/GenericWorker\":28}],4:[function(e,t,r){\"use strict\";var n=e(\"./utils\");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?\"string\"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{\"./utils\":32}],5:[function(e,t,r){\"use strict\";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){\"use strict\";var n=null;n=\"undefined\"!=typeof Promise?Promise:e(\"lie\"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,i=e(\"pako\"),s=e(\"./utils\"),a=e(\"./stream/GenericWorker\"),o=n?\"uint8array\":\"array\";function h(e,t){a.call(this,\"FlateWorker/\"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic=\"\\b\\0\",s.inherits(h,a),h.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(e){return new h(\"Deflate\",e)},r.uncompressWorker=function(){return new h(\"Inflate\",{})}},{\"./stream/GenericWorker\":28,\"./utils\":32,pako:38}],8:[function(e,t,r){\"use strict\";function A(e,t){var r,n=\"\";for(r=0;r>>=8;return n}function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8encode,f=I.transformTo(\"string\",s(h.name)),c=I.transformTo(\"string\",O.utf8encode(h.name)),d=h.comment,p=I.transformTo(\"string\",s(d)),m=I.transformTo(\"string\",O.utf8encode(d)),_=c.length!==h.name.length,g=m.length!==d.length,b=\"\",v=\"\",y=\"\",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),\"UNIX\"===i?(C=798,z|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(e){return 63&(e||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+c,b+=\"up\"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+=\"uc\"+A(y.length,2)+y);var E=\"\";return E+=\"\\n\\0\",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+\"\\0\\0\\0\\0\"+A(z,4)+A(n,4)+f+b+p}}var I=e(\"../utils\"),i=e(\"../stream/GenericWorker\"),O=e(\"../utf8\"),B=e(\"../crc32\"),R=e(\"../signature\");function s(e,t,r,n){i.call(this,\"ZipFileWorker\"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,i),s.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},s.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return R.DATA_DESCRIPTOR+A(e.crc32,4)+A(e.compressedSize,4)+A(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo(\"string\",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{\"../utils\":32}],19:[function(e,t,r){\"use strict\";var n=e(\"./Uint8ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./Uint8ArrayReader\":21}],20:[function(e,t,r){\"use strict\";var n=e(\"./DataReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./DataReader\":18}],21:[function(e,t,r){\"use strict\";var n=e(\"./ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./ArrayReader\":17}],22:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"../support\"),s=e(\"./ArrayReader\"),a=e(\"./StringReader\"),o=e(\"./NodeBufferReader\"),h=e(\"./Uint8ArrayReader\");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),\"string\"!==t||i.uint8array?\"nodebuffer\"===t?new o(e):i.uint8array?new h(n.transformTo(\"uint8array\",e)):new s(n.transformTo(\"array\",e)):new a(e)}},{\"../support\":30,\"../utils\":32,\"./ArrayReader\":17,\"./NodeBufferReader\":19,\"./StringReader\":20,\"./Uint8ArrayReader\":21}],23:[function(e,t,r){\"use strict\";r.LOCAL_FILE_HEADER=\"PK\u0003\u0004\",r.CENTRAL_FILE_HEADER=\"PK\u0001\u0002\",r.CENTRAL_DIRECTORY_END=\"PK\u0005\u0006\",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR=\"PK\u0006\u0007\",r.ZIP64_CENTRAL_DIRECTORY_END=\"PK\u0006\u0006\",r.DATA_DESCRIPTOR=\"PK\u0007\\b\"},{}],24:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../utils\");function s(e){n.call(this,\"ConvertWorker to \"+e),this.destType=e}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],25:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../crc32\");function s(){n.call(this,\"Crc32Probe\"),this.withStreamInfo(\"crc32\",0)}e(\"../utils\").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{\"../crc32\":4,\"../utils\":32,\"./GenericWorker\":28}],26:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataLengthProbe for \"+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],27:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataWorker\");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type=\"\",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case\"string\":e=this.data.substring(this.index,t);break;case\"uint8array\":e=this.data.subarray(this.index,t);break;case\"array\":case\"nodebuffer\":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],28:[function(e,t,r){\"use strict\";function n(e){this.name=e||\"default\",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit(\"data\",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit(\"end\"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit(\"error\",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit(\"error\",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r \"+e:e}},t.exports=n},{}],29:[function(e,t,r){\"use strict\";var h=e(\"../utils\"),i=e(\"./ConvertWorker\"),s=e(\"./GenericWorker\"),u=e(\"../base64\"),n=e(\"../support\"),a=e(\"../external\"),o=null;if(n.nodestream)try{o=e(\"../nodejs/NodejsStreamOutputAdapter\")}catch(e){}function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._internalType,s=e._outputType,a=e._mimeType;e.on(\"data\",function(e,t){n.push(e),o&&o(t)}).on(\"error\",function(e){n=[],r(e)}).on(\"end\",function(){try{var e=function(e,t,r){switch(e){case\"blob\":return h.newBlob(h.transformTo(\"arraybuffer\",t),r);case\"base64\":return u.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return h.nodebuffer?o.transformTo(\"nodebuffer\",e).toString(\"utf-8\"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t>10&1023,a[r++]=56320|1023&n)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(h.uint8array?\"uint8array\":\"array\",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(h.uint8array?\"uint8array\":\"array\",e.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(h.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,n),l.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta})},s.Utf8EncodeWorker=l},{\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./support\":30,\"./utils\":32}],32:[function(e,t,a){\"use strict\";var o=e(\"./support\"),h=e(\"./base64\"),r=e(\"./nodejsUtils\"),u=e(\"./external\");function n(e){return e}function l(e,t){for(var r=0;r>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||\"/\"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new h.Buf8(e.length),r=0,n=t.length;r>10&1023,o[n++]=56320|1023&i)}return l(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}},{\"./common\":41}],43:[function(e,t,r){\"use strict\";t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){\"use strict\";var h,c=e(\"../utils/common\"),u=e(\"./trees\"),d=e(\"./adler32\"),p=e(\"./crc32\"),n=e(\"./messages\"),l=0,f=4,m=0,_=-2,g=-1,b=4,i=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(e,t){return e.msg=n[t],t}function T(e){return(e<<1)-(4e.avail_out&&(r=e.avail_out),0!==r&&(c.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm)}function U(e,t){e.pending_buf[e.pending++]=t}function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-z?e.strstart-(e.w_size-z):0,u=e.window,l=e.w_mask,f=e.prev,c=e.strstart+S,d=u[s+a-1],p=u[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(r=t)+a]===p&&u[r+a-1]===d&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&sh&&0!=--i);return a<=e.lookahead?a:e.lookahead}function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-z)){for(c.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=r=e.hash_size;n=e.head[--t],e.head[t]=f<=n?n-f:0,--r;);for(t=r=f;n=e.prev[--t],e.prev[t]=f<=n?n-f:0,--r;);i+=f}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,h=e.strstart+e.lookahead,u=i,l=void 0,l=a.avail_in,u=x)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<=x&&(e.ins_h=(e.ins_h<=x)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<=x&&(e.ins_h=(e.ins_h<=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(j(e),0===e.lookahead&&t===l)return A;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,N(e,!1),0===e.strm.avail_out))return A;if(e.strstart-e.block_start>=e.w_size-z&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(e,t){return Y(e,t,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,m):_},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5>8&255),U(n,n.gzhead.time>>16&255),U(n,n.gzhead.time>>24&255),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(U(n,255&n.gzhead.extra.length),U(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(U(n,0),U(n,0),U(n,0),U(n,0),U(n,0),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,3),n.status=E);else{var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=E,P(n,a),0!==n.strstart&&(P(n,e.adler>>>16),P(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending!==n.pending_buf_size));)U(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindexi&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindexi&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&F(e),n.pending+2<=n.pending_buf_size&&(U(n,255&e.adler),U(n,e.adler>>8&255),e.adler=0,n.status=E)):n.status=E),0!==n.pending){if(F(e),0===e.avail_out)return n.last_flush=-1,m}else if(0===e.avail_in&&T(t)<=T(r)&&t!==f)return R(e,-5);if(666===n.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==l&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(j(e),0===e.lookahead)){if(t===l)return A;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=S){if(j(e),e.lookahead<=S&&t===l)return A;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(r=u._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):h[n.level].func(n,t);if(o!==O&&o!==B||(n.status=666),o===A||o===O)return 0===e.avail_out&&(n.last_flush=-1),m;if(o===I&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(D(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),F(e),0===e.avail_out))return n.last_flush=-1,m}return t!==f?m:n.wrap<=0?1:(2===n.wrap?(U(n,255&e.adler),U(n,e.adler>>8&255),U(n,e.adler>>16&255),U(n,e.adler>>24&255),U(n,255&e.total_in),U(n,e.total_in>>8&255),U(n,e.total_in>>16&255),U(n,e.total_in>>24&255)):(P(n,e.adler>>>16),P(n,65535&e.adler)),F(e),0=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new c.Buf8(r.w_size),c.arraySet(u,t,l-r.w_size,r.w_size,0),t=u,l=r.w_size),a=e.avail_in,o=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,j(r);r.lookahead>=x;){for(n=r.strstart,i=r.lookahead-(x-1);r.ins_h=(r.ins_h<>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(d&(1<>>=y,p-=y),p<15&&(d+=z[n++]<>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<>>=y,p-=y,(y=s-a)>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg=\"\",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg=\"incorrect header check\",r.mode=30;break}if(8!=(15&u)){e.msg=\"unknown compression method\",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg=\"invalid window size\",r.mode=30;break}r.dmax=1<>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg=\"invalid block type\",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<>>16^65535)){e.msg=\"invalid stored block lengths\",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid code lengths set\",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l>>=_,l-=_,0===r.have){e.msg=\"invalid bit length repeat\",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l>>=_)),u>>>=3,l-=3}else{for(z=_+7;l>>=_)),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg=\"invalid bit length repeat\",r.mode=30;break}for(;d--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){e.msg=\"invalid code -- missing end-of-block\",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid literal/lengths set\",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg=\"invalid distances set\",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg=\"invalid literal/length code\",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg=\"invalid distance code\",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg=\"invalid distance too far back\",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=a-r.offset,d=r.length;for(hd?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]]}if(k>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o))}}function W(e){var t;for(t=0;t>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u>=7;n>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{\"../utils/common\":41}],53:[function(e,t,r){\"use strict\";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(e){!function(r,n){\"use strict\";if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i=\"[object process]\"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e)})}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1},r.postMessage(\"\",\"*\"),r.onmessage=t,e}}()?(a=\"setImmediate$\"+Math.random()+\"$\",r.addEventListener?r.addEventListener(\"message\",d,!1):r.attachEvent(\"onmessage\",d),function(e){r.postMessage(a+e,\"*\")}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data)},function(e){t.port2.postMessage(e)}):l&&\"onreadystatechange\"in l.createElement(\"script\")?(s=l.documentElement,function(e){var t=l.createElement(\"script\");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}):function(e){setTimeout(c,0,e)},e.setImmediate=function(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),r=0;r arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@babel/runtime/helpers/slicedToArray'), require('@babel/runtime/helpers/classCallCheck'), require('@babel/runtime/helpers/createClass')) :\n typeof define === 'function' && define.amd ? define(['exports', '@babel/runtime/helpers/slicedToArray', '@babel/runtime/helpers/classCallCheck', '@babel/runtime/helpers/createClass'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.automationEvents = {}, global._slicedToArray, global._classCallCheck, global._createClass));\n})(this, (function (exports, _slicedToArray, _classCallCheck, _createClass) { 'use strict';\n\n var createExtendedExponentialRampToValueAutomationEvent = function createExtendedExponentialRampToValueAutomationEvent(value, endTime, insertTime) {\n return {\n endTime: endTime,\n insertTime: insertTime,\n type: 'exponentialRampToValue',\n value: value\n };\n };\n\n var createExtendedLinearRampToValueAutomationEvent = function createExtendedLinearRampToValueAutomationEvent(value, endTime, insertTime) {\n return {\n endTime: endTime,\n insertTime: insertTime,\n type: 'linearRampToValue',\n value: value\n };\n };\n\n var createSetValueAutomationEvent = function createSetValueAutomationEvent(value, startTime) {\n return {\n startTime: startTime,\n type: 'setValue',\n value: value\n };\n };\n\n var createSetValueCurveAutomationEvent = function createSetValueCurveAutomationEvent(values, startTime, duration) {\n return {\n duration: duration,\n startTime: startTime,\n type: 'setValueCurve',\n values: values\n };\n };\n\n var getTargetValueAtTime = function getTargetValueAtTime(time, valueAtStartTime, _ref) {\n var startTime = _ref.startTime,\n target = _ref.target,\n timeConstant = _ref.timeConstant;\n return target + (valueAtStartTime - target) * Math.exp((startTime - time) / timeConstant);\n };\n\n var isExponentialRampToValueAutomationEvent = function isExponentialRampToValueAutomationEvent(automationEvent) {\n return automationEvent.type === 'exponentialRampToValue';\n };\n\n var isLinearRampToValueAutomationEvent = function isLinearRampToValueAutomationEvent(automationEvent) {\n return automationEvent.type === 'linearRampToValue';\n };\n\n var isAnyRampToValueAutomationEvent = function isAnyRampToValueAutomationEvent(automationEvent) {\n return isExponentialRampToValueAutomationEvent(automationEvent) || isLinearRampToValueAutomationEvent(automationEvent);\n };\n\n var isSetValueAutomationEvent = function isSetValueAutomationEvent(automationEvent) {\n return automationEvent.type === 'setValue';\n };\n\n var isSetValueCurveAutomationEvent = function isSetValueCurveAutomationEvent(automationEvent) {\n return automationEvent.type === 'setValueCurve';\n };\n\n var getValueOfAutomationEventAtIndexAtTime = function getValueOfAutomationEventAtIndexAtTime(automationEvents, index, time, defaultValue) {\n var automationEvent = automationEvents[index];\n return automationEvent === undefined ? defaultValue : isAnyRampToValueAutomationEvent(automationEvent) || isSetValueAutomationEvent(automationEvent) ? automationEvent.value : isSetValueCurveAutomationEvent(automationEvent) ? automationEvent.values[automationEvent.values.length - 1] : getTargetValueAtTime(time, getValueOfAutomationEventAtIndexAtTime(automationEvents, index - 1, automationEvent.startTime, defaultValue), automationEvent);\n };\n\n var getEndTimeAndValueOfPreviousAutomationEvent = function getEndTimeAndValueOfPreviousAutomationEvent(automationEvents, index, currentAutomationEvent, nextAutomationEvent, defaultValue) {\n return currentAutomationEvent === undefined ? [nextAutomationEvent.insertTime, defaultValue] : isAnyRampToValueAutomationEvent(currentAutomationEvent) ? [currentAutomationEvent.endTime, currentAutomationEvent.value] : isSetValueAutomationEvent(currentAutomationEvent) ? [currentAutomationEvent.startTime, currentAutomationEvent.value] : isSetValueCurveAutomationEvent(currentAutomationEvent) ? [currentAutomationEvent.startTime + currentAutomationEvent.duration, currentAutomationEvent.values[currentAutomationEvent.values.length - 1]] : [currentAutomationEvent.startTime, getValueOfAutomationEventAtIndexAtTime(automationEvents, index - 1, currentAutomationEvent.startTime, defaultValue)];\n };\n\n var isCancelAndHoldAutomationEvent = function isCancelAndHoldAutomationEvent(automationEvent) {\n return automationEvent.type === 'cancelAndHold';\n };\n\n var isCancelScheduledValuesAutomationEvent = function isCancelScheduledValuesAutomationEvent(automationEvent) {\n return automationEvent.type === 'cancelScheduledValues';\n };\n\n var getEventTime = function getEventTime(automationEvent) {\n if (isCancelAndHoldAutomationEvent(automationEvent) || isCancelScheduledValuesAutomationEvent(automationEvent)) {\n return automationEvent.cancelTime;\n }\n if (isExponentialRampToValueAutomationEvent(automationEvent) || isLinearRampToValueAutomationEvent(automationEvent)) {\n return automationEvent.endTime;\n }\n return automationEvent.startTime;\n };\n\n var getExponentialRampValueAtTime = function getExponentialRampValueAtTime(time, startTime, valueAtStartTime, _ref) {\n var endTime = _ref.endTime,\n value = _ref.value;\n if (valueAtStartTime === value) {\n return value;\n }\n if (0 < valueAtStartTime && 0 < value || valueAtStartTime < 0 && value < 0) {\n return valueAtStartTime * Math.pow(value / valueAtStartTime, (time - startTime) / (endTime - startTime));\n }\n return 0;\n };\n\n var getLinearRampValueAtTime = function getLinearRampValueAtTime(time, startTime, valueAtStartTime, _ref) {\n var endTime = _ref.endTime,\n value = _ref.value;\n return valueAtStartTime + (time - startTime) / (endTime - startTime) * (value - valueAtStartTime);\n };\n\n var interpolateValue = function interpolateValue(values, theoreticIndex) {\n var lowerIndex = Math.floor(theoreticIndex);\n var upperIndex = Math.ceil(theoreticIndex);\n if (lowerIndex === upperIndex) {\n return values[lowerIndex];\n }\n return (1 - (theoreticIndex - lowerIndex)) * values[lowerIndex] + (1 - (upperIndex - theoreticIndex)) * values[upperIndex];\n };\n\n var getValueCurveValueAtTime = function getValueCurveValueAtTime(time, _ref) {\n var duration = _ref.duration,\n startTime = _ref.startTime,\n values = _ref.values;\n var theoreticIndex = (time - startTime) / duration * (values.length - 1);\n return interpolateValue(values, theoreticIndex);\n };\n\n var isSetTargetAutomationEvent = function isSetTargetAutomationEvent(automationEvent) {\n return automationEvent.type === 'setTarget';\n };\n\n var AutomationEventList = /*#__PURE__*/function (_Symbol$iterator) {\n function AutomationEventList(defaultValue) {\n _classCallCheck(this, AutomationEventList);\n this._automationEvents = [];\n this._currenTime = 0;\n this._defaultValue = defaultValue;\n }\n _createClass(AutomationEventList, [{\n key: _Symbol$iterator,\n value: function value() {\n return this._automationEvents[Symbol.iterator]();\n }\n }, {\n key: \"add\",\n value: function add(automationEvent) {\n var eventTime = getEventTime(automationEvent);\n if (isCancelAndHoldAutomationEvent(automationEvent) || isCancelScheduledValuesAutomationEvent(automationEvent)) {\n var index = this._automationEvents.findIndex(function (currentAutomationEvent) {\n if (isCancelScheduledValuesAutomationEvent(automationEvent) && isSetValueCurveAutomationEvent(currentAutomationEvent)) {\n return currentAutomationEvent.startTime + currentAutomationEvent.duration >= eventTime;\n }\n return getEventTime(currentAutomationEvent) >= eventTime;\n });\n var removedAutomationEvent = this._automationEvents[index];\n if (index !== -1) {\n this._automationEvents = this._automationEvents.slice(0, index);\n }\n if (isCancelAndHoldAutomationEvent(automationEvent)) {\n var lastAutomationEvent = this._automationEvents[this._automationEvents.length - 1];\n if (removedAutomationEvent !== undefined && isAnyRampToValueAutomationEvent(removedAutomationEvent)) {\n if (lastAutomationEvent !== undefined && isSetTargetAutomationEvent(lastAutomationEvent)) {\n throw new Error('The internal list is malformed.');\n }\n var startTime = lastAutomationEvent === undefined ? removedAutomationEvent.insertTime : isSetValueCurveAutomationEvent(lastAutomationEvent) ? lastAutomationEvent.startTime + lastAutomationEvent.duration : getEventTime(lastAutomationEvent);\n var startValue = lastAutomationEvent === undefined ? this._defaultValue : isSetValueCurveAutomationEvent(lastAutomationEvent) ? lastAutomationEvent.values[lastAutomationEvent.values.length - 1] : lastAutomationEvent.value;\n var value = isExponentialRampToValueAutomationEvent(removedAutomationEvent) ? getExponentialRampValueAtTime(eventTime, startTime, startValue, removedAutomationEvent) : getLinearRampValueAtTime(eventTime, startTime, startValue, removedAutomationEvent);\n var truncatedAutomationEvent = isExponentialRampToValueAutomationEvent(removedAutomationEvent) ? createExtendedExponentialRampToValueAutomationEvent(value, eventTime, this._currenTime) : createExtendedLinearRampToValueAutomationEvent(value, eventTime, this._currenTime);\n this._automationEvents.push(truncatedAutomationEvent);\n }\n if (lastAutomationEvent !== undefined && isSetTargetAutomationEvent(lastAutomationEvent)) {\n this._automationEvents.push(createSetValueAutomationEvent(this.getValue(eventTime), eventTime));\n }\n if (lastAutomationEvent !== undefined && isSetValueCurveAutomationEvent(lastAutomationEvent) && lastAutomationEvent.startTime + lastAutomationEvent.duration > eventTime) {\n var duration = eventTime - lastAutomationEvent.startTime;\n var ratio = (lastAutomationEvent.values.length - 1) / lastAutomationEvent.duration;\n var length = Math.max(2, 1 + Math.ceil(duration * ratio));\n var fraction = duration / (length - 1) * ratio;\n var values = lastAutomationEvent.values.slice(0, length);\n if (fraction < 1) {\n for (var i = 1; i < length; i += 1) {\n var factor = fraction * i % 1;\n values[i] = lastAutomationEvent.values[i - 1] * (1 - factor) + lastAutomationEvent.values[i] * factor;\n }\n }\n this._automationEvents[this._automationEvents.length - 1] = createSetValueCurveAutomationEvent(values, lastAutomationEvent.startTime, duration);\n }\n }\n } else {\n var _index = this._automationEvents.findIndex(function (currentAutomationEvent) {\n return getEventTime(currentAutomationEvent) > eventTime;\n });\n var previousAutomationEvent = _index === -1 ? this._automationEvents[this._automationEvents.length - 1] : this._automationEvents[_index - 1];\n if (previousAutomationEvent !== undefined && isSetValueCurveAutomationEvent(previousAutomationEvent) && getEventTime(previousAutomationEvent) + previousAutomationEvent.duration > eventTime) {\n return false;\n }\n var persistentAutomationEvent = isExponentialRampToValueAutomationEvent(automationEvent) ? createExtendedExponentialRampToValueAutomationEvent(automationEvent.value, automationEvent.endTime, this._currenTime) : isLinearRampToValueAutomationEvent(automationEvent) ? createExtendedLinearRampToValueAutomationEvent(automationEvent.value, eventTime, this._currenTime) : automationEvent;\n if (_index === -1) {\n this._automationEvents.push(persistentAutomationEvent);\n } else {\n if (isSetValueCurveAutomationEvent(automationEvent) && eventTime + automationEvent.duration > getEventTime(this._automationEvents[_index])) {\n return false;\n }\n this._automationEvents.splice(_index, 0, persistentAutomationEvent);\n }\n }\n return true;\n }\n }, {\n key: \"flush\",\n value: function flush(time) {\n var index = this._automationEvents.findIndex(function (currentAutomationEvent) {\n return getEventTime(currentAutomationEvent) > time;\n });\n if (index > 1) {\n var remainingAutomationEvents = this._automationEvents.slice(index - 1);\n var firstRemainingAutomationEvent = remainingAutomationEvents[0];\n if (isSetTargetAutomationEvent(firstRemainingAutomationEvent)) {\n remainingAutomationEvents.unshift(createSetValueAutomationEvent(getValueOfAutomationEventAtIndexAtTime(this._automationEvents, index - 2, firstRemainingAutomationEvent.startTime, this._defaultValue), firstRemainingAutomationEvent.startTime));\n }\n this._automationEvents = remainingAutomationEvents;\n }\n }\n }, {\n key: \"getValue\",\n value: function getValue(time) {\n if (this._automationEvents.length === 0) {\n return this._defaultValue;\n }\n var indexOfNextEvent = this._automationEvents.findIndex(function (automationEvent) {\n return getEventTime(automationEvent) > time;\n });\n var nextAutomationEvent = this._automationEvents[indexOfNextEvent];\n var indexOfCurrentEvent = (indexOfNextEvent === -1 ? this._automationEvents.length : indexOfNextEvent) - 1;\n var currentAutomationEvent = this._automationEvents[indexOfCurrentEvent];\n if (currentAutomationEvent !== undefined && isSetTargetAutomationEvent(currentAutomationEvent) && (nextAutomationEvent === undefined || !isAnyRampToValueAutomationEvent(nextAutomationEvent) || nextAutomationEvent.insertTime > time)) {\n return getTargetValueAtTime(time, getValueOfAutomationEventAtIndexAtTime(this._automationEvents, indexOfCurrentEvent - 1, currentAutomationEvent.startTime, this._defaultValue), currentAutomationEvent);\n }\n if (currentAutomationEvent !== undefined && isSetValueAutomationEvent(currentAutomationEvent) && (nextAutomationEvent === undefined || !isAnyRampToValueAutomationEvent(nextAutomationEvent))) {\n return currentAutomationEvent.value;\n }\n if (currentAutomationEvent !== undefined && isSetValueCurveAutomationEvent(currentAutomationEvent) && (nextAutomationEvent === undefined || !isAnyRampToValueAutomationEvent(nextAutomationEvent) || currentAutomationEvent.startTime + currentAutomationEvent.duration > time)) {\n if (time < currentAutomationEvent.startTime + currentAutomationEvent.duration) {\n return getValueCurveValueAtTime(time, currentAutomationEvent);\n }\n return currentAutomationEvent.values[currentAutomationEvent.values.length - 1];\n }\n if (currentAutomationEvent !== undefined && isAnyRampToValueAutomationEvent(currentAutomationEvent) && (nextAutomationEvent === undefined || !isAnyRampToValueAutomationEvent(nextAutomationEvent))) {\n return currentAutomationEvent.value;\n }\n if (nextAutomationEvent !== undefined && isExponentialRampToValueAutomationEvent(nextAutomationEvent)) {\n var _getEndTimeAndValueOf = getEndTimeAndValueOfPreviousAutomationEvent(this._automationEvents, indexOfCurrentEvent, currentAutomationEvent, nextAutomationEvent, this._defaultValue),\n _getEndTimeAndValueOf2 = _slicedToArray(_getEndTimeAndValueOf, 2),\n startTime = _getEndTimeAndValueOf2[0],\n value = _getEndTimeAndValueOf2[1];\n return getExponentialRampValueAtTime(time, startTime, value, nextAutomationEvent);\n }\n if (nextAutomationEvent !== undefined && isLinearRampToValueAutomationEvent(nextAutomationEvent)) {\n var _getEndTimeAndValueOf3 = getEndTimeAndValueOfPreviousAutomationEvent(this._automationEvents, indexOfCurrentEvent, currentAutomationEvent, nextAutomationEvent, this._defaultValue),\n _getEndTimeAndValueOf4 = _slicedToArray(_getEndTimeAndValueOf3, 2),\n _startTime = _getEndTimeAndValueOf4[0],\n _value = _getEndTimeAndValueOf4[1];\n return getLinearRampValueAtTime(time, _startTime, _value, nextAutomationEvent);\n }\n return this._defaultValue;\n }\n }]);\n return AutomationEventList;\n }(Symbol.iterator);\n\n var createCancelAndHoldAutomationEvent = function createCancelAndHoldAutomationEvent(cancelTime) {\n return {\n cancelTime: cancelTime,\n type: 'cancelAndHold'\n };\n };\n\n var createCancelScheduledValuesAutomationEvent = function createCancelScheduledValuesAutomationEvent(cancelTime) {\n return {\n cancelTime: cancelTime,\n type: 'cancelScheduledValues'\n };\n };\n\n var createExponentialRampToValueAutomationEvent = function createExponentialRampToValueAutomationEvent(value, endTime) {\n return {\n endTime: endTime,\n type: 'exponentialRampToValue',\n value: value\n };\n };\n\n var createLinearRampToValueAutomationEvent = function createLinearRampToValueAutomationEvent(value, endTime) {\n return {\n endTime: endTime,\n type: 'linearRampToValue',\n value: value\n };\n };\n\n var createSetTargetAutomationEvent = function createSetTargetAutomationEvent(target, startTime, timeConstant) {\n return {\n startTime: startTime,\n target: target,\n timeConstant: timeConstant,\n type: 'setTarget'\n };\n };\n\n exports.AutomationEventList = AutomationEventList;\n exports.createCancelAndHoldAutomationEvent = createCancelAndHoldAutomationEvent;\n exports.createCancelScheduledValuesAutomationEvent = createCancelScheduledValuesAutomationEvent;\n exports.createExponentialRampToValueAutomationEvent = createExponentialRampToValueAutomationEvent;\n exports.createLinearRampToValueAutomationEvent = createLinearRampToValueAutomationEvent;\n exports.createSetTargetAutomationEvent = createSetTargetAutomationEvent;\n exports.createSetValueAutomationEvent = createSetValueAutomationEvent;\n exports.createSetValueCurveAutomationEvent = createSetValueCurveAutomationEvent;\n\n}));\n", "const {\n hasOwnProperty,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n} = Object;\n\nlet { freeze, seal, create } = Object; // eslint-disable-line import/no-mutable-exports\nlet { apply, construct } = typeof Reflect !== 'undefined' && Reflect;\n\nif (!apply) {\n apply = function (fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\n\nif (!freeze) {\n freeze = function (x) {\n return x;\n };\n}\n\nif (!seal) {\n seal = function (x) {\n return x;\n };\n}\n\nif (!construct) {\n construct = function (Func, args) {\n return new Func(...args);\n };\n}\n\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayIndexOf = unapply(Array.prototype.indexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySlice = unapply(Array.prototype.slice);\n\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\n\nconst regExpTest = unapply(RegExp.prototype.test);\n\nconst typeErrorCreate = unconstruct(TypeError);\n\nexport function numberIsNaN(x) {\n // eslint-disable-next-line unicorn/prefer-number-properties\n return typeof x === 'number' && isNaN(x);\n}\n\nexport function unapply(func) {\n return (thisArg, ...args) => apply(func, thisArg, args);\n}\n\nexport function unconstruct(func) {\n return (...args) => construct(func, args);\n}\n\n/* Add properties to a lookup table */\nexport function addToSet(set, array, transformCaseFunc) {\n transformCaseFunc = transformCaseFunc ?? stringToLowerCase;\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n}\n\n/* Shallow clone an object */\nexport function clone(object) {\n const newObject = create(null);\n\n let property;\n for (property in object) {\n if (apply(hasOwnProperty, object, [property]) === true) {\n newObject[property] = object[property];\n }\n }\n\n return newObject;\n}\n\n/* IE10 doesn't support __lookupGetter__ so lets'\n * simulate it. It also automatically checks\n * if the prop is function or getter and behaves\n * accordingly. */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue(element) {\n console.warn('fallback value for', element);\n return null;\n }\n\n return fallbackValue;\n}\n\nexport {\n // Array\n arrayForEach,\n arrayIndexOf,\n arrayPop,\n arrayPush,\n arraySlice,\n // Object\n freeze,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n hasOwnProperty,\n isFrozen,\n setPrototypeOf,\n seal,\n // RegExp\n regExpTest,\n // String\n stringIndexOf,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringToString,\n stringTrim,\n // Errors\n typeErrorCreate,\n // Other\n lookupGetter,\n};\n", "import { freeze } from './utils.js';\n\nexport const html = freeze([\n 'a',\n 'abbr',\n 'acronym',\n 'address',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'bdi',\n 'bdo',\n 'big',\n 'blink',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'center',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'content',\n 'data',\n 'datalist',\n 'dd',\n 'decorator',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'element',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'font',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hgroup',\n 'hr',\n 'html',\n 'i',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'map',\n 'mark',\n 'marquee',\n 'menu',\n 'menuitem',\n 'meter',\n 'nav',\n 'nobr',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'section',\n 'select',\n 'shadow',\n 'small',\n 'source',\n 'spacer',\n 'span',\n 'strike',\n 'strong',\n 'style',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'template',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'track',\n 'tt',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n]);\n\n// SVG\nexport const svg = freeze([\n 'svg',\n 'a',\n 'altglyph',\n 'altglyphdef',\n 'altglyphitem',\n 'animatecolor',\n 'animatemotion',\n 'animatetransform',\n 'circle',\n 'clippath',\n 'defs',\n 'desc',\n 'ellipse',\n 'filter',\n 'font',\n 'g',\n 'glyph',\n 'glyphref',\n 'hkern',\n 'image',\n 'line',\n 'lineargradient',\n 'marker',\n 'mask',\n 'metadata',\n 'mpath',\n 'path',\n 'pattern',\n 'polygon',\n 'polyline',\n 'radialgradient',\n 'rect',\n 'stop',\n 'style',\n 'switch',\n 'symbol',\n 'text',\n 'textpath',\n 'title',\n 'tref',\n 'tspan',\n 'view',\n 'vkern',\n]);\n\nexport const svgFilters = freeze([\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n]);\n\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nexport const svgDisallowed = freeze([\n 'animate',\n 'color-profile',\n 'cursor',\n 'discard',\n 'fedropshadow',\n 'font-face',\n 'font-face-format',\n 'font-face-name',\n 'font-face-src',\n 'font-face-uri',\n 'foreignobject',\n 'hatch',\n 'hatchpath',\n 'mesh',\n 'meshgradient',\n 'meshpatch',\n 'meshrow',\n 'missing-glyph',\n 'script',\n 'set',\n 'solidcolor',\n 'unknown',\n 'use',\n]);\n\nexport const mathMl = freeze([\n 'math',\n 'menclose',\n 'merror',\n 'mfenced',\n 'mfrac',\n 'mglyph',\n 'mi',\n 'mlabeledtr',\n 'mmultiscripts',\n 'mn',\n 'mo',\n 'mover',\n 'mpadded',\n 'mphantom',\n 'mroot',\n 'mrow',\n 'ms',\n 'mspace',\n 'msqrt',\n 'mstyle',\n 'msub',\n 'msup',\n 'msubsup',\n 'mtable',\n 'mtd',\n 'mtext',\n 'mtr',\n 'munder',\n 'munderover',\n]);\n\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nexport const mathMlDisallowed = freeze([\n 'maction',\n 'maligngroup',\n 'malignmark',\n 'mlongdiv',\n 'mscarries',\n 'mscarry',\n 'msgroup',\n 'mstack',\n 'msline',\n 'msrow',\n 'semantics',\n 'annotation',\n 'annotation-xml',\n 'mprescripts',\n 'none',\n]);\n\nexport const text = freeze(['#text']);\n", "import { freeze } from './utils.js';\n\nexport const html = freeze([\n 'accept',\n 'action',\n 'align',\n 'alt',\n 'autocapitalize',\n 'autocomplete',\n 'autopictureinpicture',\n 'autoplay',\n 'background',\n 'bgcolor',\n 'border',\n 'capture',\n 'cellpadding',\n 'cellspacing',\n 'checked',\n 'cite',\n 'class',\n 'clear',\n 'color',\n 'cols',\n 'colspan',\n 'controls',\n 'controlslist',\n 'coords',\n 'crossorigin',\n 'datetime',\n 'decoding',\n 'default',\n 'dir',\n 'disabled',\n 'disablepictureinpicture',\n 'disableremoteplayback',\n 'download',\n 'draggable',\n 'enctype',\n 'enterkeyhint',\n 'face',\n 'for',\n 'headers',\n 'height',\n 'hidden',\n 'high',\n 'href',\n 'hreflang',\n 'id',\n 'inputmode',\n 'integrity',\n 'ismap',\n 'kind',\n 'label',\n 'lang',\n 'list',\n 'loading',\n 'loop',\n 'low',\n 'max',\n 'maxlength',\n 'media',\n 'method',\n 'min',\n 'minlength',\n 'multiple',\n 'muted',\n 'name',\n 'nonce',\n 'noshade',\n 'novalidate',\n 'nowrap',\n 'open',\n 'optimum',\n 'pattern',\n 'placeholder',\n 'playsinline',\n 'poster',\n 'preload',\n 'pubdate',\n 'radiogroup',\n 'readonly',\n 'rel',\n 'required',\n 'rev',\n 'reversed',\n 'role',\n 'rows',\n 'rowspan',\n 'spellcheck',\n 'scope',\n 'selected',\n 'shape',\n 'size',\n 'sizes',\n 'span',\n 'srclang',\n 'start',\n 'src',\n 'srcset',\n 'step',\n 'style',\n 'summary',\n 'tabindex',\n 'title',\n 'translate',\n 'type',\n 'usemap',\n 'valign',\n 'value',\n 'width',\n 'xmlns',\n 'slot',\n]);\n\nexport const svg = freeze([\n 'accent-height',\n 'accumulate',\n 'additive',\n 'alignment-baseline',\n 'ascent',\n 'attributename',\n 'attributetype',\n 'azimuth',\n 'basefrequency',\n 'baseline-shift',\n 'begin',\n 'bias',\n 'by',\n 'class',\n 'clip',\n 'clippathunits',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'cx',\n 'cy',\n 'd',\n 'dx',\n 'dy',\n 'diffuseconstant',\n 'direction',\n 'display',\n 'divisor',\n 'dur',\n 'edgemode',\n 'elevation',\n 'end',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'filterunits',\n 'flood-color',\n 'flood-opacity',\n 'font-family',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-style',\n 'font-variant',\n 'font-weight',\n 'fx',\n 'fy',\n 'g1',\n 'g2',\n 'glyph-name',\n 'glyphref',\n 'gradientunits',\n 'gradienttransform',\n 'height',\n 'href',\n 'id',\n 'image-rendering',\n 'in',\n 'in2',\n 'k',\n 'k1',\n 'k2',\n 'k3',\n 'k4',\n 'kerning',\n 'keypoints',\n 'keysplines',\n 'keytimes',\n 'lang',\n 'lengthadjust',\n 'letter-spacing',\n 'kernelmatrix',\n 'kernelunitlength',\n 'lighting-color',\n 'local',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'markerheight',\n 'markerunits',\n 'markerwidth',\n 'maskcontentunits',\n 'maskunits',\n 'max',\n 'mask',\n 'media',\n 'method',\n 'mode',\n 'min',\n 'name',\n 'numoctaves',\n 'offset',\n 'operator',\n 'opacity',\n 'order',\n 'orient',\n 'orientation',\n 'origin',\n 'overflow',\n 'paint-order',\n 'path',\n 'pathlength',\n 'patterncontentunits',\n 'patterntransform',\n 'patternunits',\n 'points',\n 'preservealpha',\n 'preserveaspectratio',\n 'primitiveunits',\n 'r',\n 'rx',\n 'ry',\n 'radius',\n 'refx',\n 'refy',\n 'repeatcount',\n 'repeatdur',\n 'restart',\n 'result',\n 'rotate',\n 'scale',\n 'seed',\n 'shape-rendering',\n 'specularconstant',\n 'specularexponent',\n 'spreadmethod',\n 'startoffset',\n 'stddeviation',\n 'stitchtiles',\n 'stop-color',\n 'stop-opacity',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke',\n 'stroke-width',\n 'style',\n 'surfacescale',\n 'systemlanguage',\n 'tabindex',\n 'targetx',\n 'targety',\n 'transform',\n 'transform-origin',\n 'text-anchor',\n 'text-decoration',\n 'text-rendering',\n 'textlength',\n 'type',\n 'u1',\n 'u2',\n 'unicode',\n 'values',\n 'viewbox',\n 'visibility',\n 'version',\n 'vert-adv-y',\n 'vert-origin-x',\n 'vert-origin-y',\n 'width',\n 'word-spacing',\n 'wrap',\n 'writing-mode',\n 'xchannelselector',\n 'ychannelselector',\n 'x',\n 'x1',\n 'x2',\n 'xmlns',\n 'y',\n 'y1',\n 'y2',\n 'z',\n 'zoomandpan',\n]);\n\nexport const mathMl = freeze([\n 'accent',\n 'accentunder',\n 'align',\n 'bevelled',\n 'close',\n 'columnsalign',\n 'columnlines',\n 'columnspan',\n 'denomalign',\n 'depth',\n 'dir',\n 'display',\n 'displaystyle',\n 'encoding',\n 'fence',\n 'frame',\n 'height',\n 'href',\n 'id',\n 'largeop',\n 'length',\n 'linethickness',\n 'lspace',\n 'lquote',\n 'mathbackground',\n 'mathcolor',\n 'mathsize',\n 'mathvariant',\n 'maxsize',\n 'minsize',\n 'movablelimits',\n 'notation',\n 'numalign',\n 'open',\n 'rowalign',\n 'rowlines',\n 'rowspacing',\n 'rowspan',\n 'rspace',\n 'rquote',\n 'scriptlevel',\n 'scriptminsize',\n 'scriptsizemultiplier',\n 'selection',\n 'separator',\n 'separators',\n 'stretchy',\n 'subscriptshift',\n 'supscriptshift',\n 'symmetric',\n 'voffset',\n 'width',\n 'xmlns',\n]);\n\nexport const xml = freeze([\n 'xlink:href',\n 'xml:id',\n 'xlink:title',\n 'xml:space',\n 'xmlns:xlink',\n]);\n", "import { seal } from './utils.js';\n\n// eslint-disable-next-line unicorn/better-regex\nexport const MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nexport const ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nexport const TMPLIT_EXPR = seal(/\\${[\\w\\W]*}/gm);\nexport const DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\nexport const ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nexport const IS_ALLOWED_URI = seal(\n /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nexport const IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nexport const ATTR_WHITESPACE = seal(\n /[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nexport const DOCTYPE_NAME = seal(/^html$/i);\nexport const CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n", "import * as TAGS from './tags.js';\nimport * as ATTRS from './attrs.js';\nimport * as EXPRESSIONS from './regexp.js';\nimport {\n addToSet,\n clone,\n freeze,\n arrayForEach,\n arrayPop,\n arrayPush,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringToString,\n stringIndexOf,\n stringTrim,\n numberIsNaN,\n regExpTest,\n typeErrorCreate,\n lookupGetter,\n} from './utils.js';\n\nconst getGlobal = () => (typeof window === 'undefined' ? null : window);\n\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {Document} document The document object (to determine policy name suffix)\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported).\n */\nconst _createTrustedTypesPolicy = function (trustedTypes, document) {\n if (\n typeof trustedTypes !== 'object' ||\n typeof trustedTypes.createPolicy !== 'function'\n ) {\n return null;\n }\n\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (\n document.currentScript &&\n document.currentScript.hasAttribute(ATTR_NAME)\n ) {\n suffix = document.currentScript.getAttribute(ATTR_NAME);\n }\n\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n },\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn(\n 'TrustedTypes policy ' + policyName + ' could not be created.'\n );\n return null;\n }\n};\n\nfunction createDOMPurify(window = getGlobal()) {\n const DOMPurify = (root) => createDOMPurify(root);\n\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n DOMPurify.version = VERSION;\n\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n DOMPurify.removed = [];\n\n if (!window || !window.document || window.document.nodeType !== 9) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n\n return DOMPurify;\n }\n\n const originalDocument = window.document;\n\n let { document } = window;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes,\n } = window;\n\n const ElementPrototype = Element.prototype;\n\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n const trustedTypesPolicy = _createTrustedTypesPolicy(\n trustedTypes,\n originalDocument\n );\n const emptyHTML = trustedTypesPolicy ? trustedTypesPolicy.createHTML('') : '';\n\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName,\n } = document;\n const { importNode } = originalDocument;\n\n let documentMode = {};\n try {\n documentMode = clone(document).documentMode ? document.documentMode : {};\n } catch (_) {}\n\n let hooks = {};\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported =\n typeof getParentNode === 'function' &&\n implementation &&\n implementation.createHTMLDocument !== undefined &&\n documentMode !== 9;\n\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n CUSTOM_ELEMENT,\n } = EXPRESSIONS;\n\n let { IS_ALLOWED_URI } = EXPRESSIONS;\n\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [\n ...TAGS.html,\n ...TAGS.svg,\n ...TAGS.svgFilters,\n ...TAGS.mathMl,\n ...TAGS.text,\n ]);\n\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [\n ...ATTRS.html,\n ...ATTRS.svg,\n ...ATTRS.mathMl,\n ...ATTRS.xml,\n ]);\n\n /*\n * Configure how DOMPUrify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(\n Object.create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null,\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null,\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false,\n },\n })\n );\n\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n\n /* Decide if document with ... should be returned */\n let WHOLE_DOCUMENT = false;\n\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, [\n 'annotation-xml',\n 'audio',\n 'colgroup',\n 'desc',\n 'foreignobject',\n 'head',\n 'iframe',\n 'math',\n 'mi',\n 'mn',\n 'mo',\n 'ms',\n 'mtext',\n 'noembed',\n 'noframes',\n 'noscript',\n 'plaintext',\n 'script',\n 'style',\n 'svg',\n 'template',\n 'thead',\n 'title',\n 'video',\n 'xmp',\n ]);\n\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, [\n 'audio',\n 'video',\n 'img',\n 'source',\n 'image',\n 'track',\n ]);\n\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, [\n 'alt',\n 'class',\n 'for',\n 'id',\n 'label',\n 'name',\n 'pattern',\n 'placeholder',\n 'role',\n 'summary',\n 'title',\n 'value',\n 'style',\n 'xmlns',\n ]);\n\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet(\n {},\n [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE],\n stringToString\n );\n\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc;\n\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n\n /* Specify the maximum element nesting depth to prevent mXSS */\n const MAX_NESTING_DEPTH = 255;\n\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n\n const formElement = document.createElement('form');\n\n const isRegexOrFunction = function (testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function (cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1\n ? (PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE)\n : (PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE);\n\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc =\n PARSER_MEDIA_TYPE === 'application/xhtml+xml'\n ? stringToString\n : stringToLowerCase;\n\n /* Set configuration parameters */\n ALLOWED_TAGS =\n 'ALLOWED_TAGS' in cfg\n ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc)\n : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR =\n 'ALLOWED_ATTR' in cfg\n ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc)\n : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES =\n 'ALLOWED_NAMESPACES' in cfg\n ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString)\n : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES =\n 'ADD_URI_SAFE_ATTR' in cfg\n ? addToSet(\n clone(DEFAULT_URI_SAFE_ATTRIBUTES), // eslint-disable-line indent\n cfg.ADD_URI_SAFE_ATTR, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS =\n 'ADD_DATA_URI_TAGS' in cfg\n ? addToSet(\n clone(DEFAULT_DATA_URI_TAGS), // eslint-disable-line indent\n cfg.ADD_DATA_URI_TAGS, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS =\n 'FORBID_CONTENTS' in cfg\n ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc)\n : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS =\n 'FORBID_TAGS' in cfg\n ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc)\n : {};\n FORBID_ATTR =\n 'FORBID_ATTR' in cfg\n ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc)\n : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)\n ) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck =\n cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)\n ) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck =\n cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements ===\n 'boolean'\n ) {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements =\n cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, [...TAGS.text]);\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, TAGS.html);\n addToSet(ALLOWED_ATTR, ATTRS.html);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, TAGS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, TAGS.svgFilters);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, TAGS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n }\n\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, [\n 'mi',\n 'mo',\n 'mn',\n 'ms',\n 'mtext',\n ]);\n\n const HTML_INTEGRATION_POINTS = addToSet({}, [\n 'foreignobject',\n 'annotation-xml',\n ]);\n\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, [\n 'title',\n 'style',\n 'font',\n 'a',\n 'script',\n ]);\n\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, TAGS.svg);\n addToSet(ALL_SVG_TAGS, TAGS.svgFilters);\n addToSet(ALL_SVG_TAGS, TAGS.svgDisallowed);\n\n const ALL_MATHML_TAGS = addToSet({}, TAGS.mathMl);\n addToSet(ALL_MATHML_TAGS, TAGS.mathMlDisallowed);\n\n /**\n *\n *\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function (element) {\n let parent = getParentNode(element);\n\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template',\n };\n }\n\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return (\n tagName === 'svg' &&\n (parentTagName === 'annotation-xml' ||\n MATHML_TEXT_INTEGRATION_POINTS[parentTagName])\n );\n }\n\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n\n // The only way to switch from SVG to MathML is via\n // and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (\n parent.namespaceURI === SVG_NAMESPACE &&\n !HTML_INTEGRATION_POINTS[parentTagName]\n ) {\n return false;\n }\n\n if (\n parent.namespaceURI === MATHML_NAMESPACE &&\n !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]\n ) {\n return false;\n }\n\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return (\n !ALL_MATHML_TAGS[tagName] &&\n (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName])\n );\n }\n\n // For XHTML and XML documents that support custom namespaces\n if (\n PARSER_MEDIA_TYPE === 'application/xhtml+xml' &&\n ALLOWED_NAMESPACES[element.namespaceURI]\n ) {\n return true;\n }\n\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n const _forceRemove = function (node) {\n arrayPush(DOMPurify.removed, { element: node });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n node.parentNode.removeChild(node);\n } catch (_) {\n try {\n node.outerHTML = emptyHTML;\n } catch (_) {\n node.remove();\n }\n }\n };\n\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n const _removeAttribute = function (name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node,\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node,\n });\n }\n\n node.removeAttribute(name);\n\n // We void attribute values for unremovable \"is\"\" attributes\n if (name === 'is' && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node);\n } catch (_) {}\n } else {\n try {\n node.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n const _initDocument = function (dirty) {\n /* Create a HTML document */\n let doc;\n let leadingWhitespace;\n\n if (FORCE_BODY) {\n dirty = '' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n if (\n PARSER_MEDIA_TYPE === 'application/xhtml+xml' &&\n NAMESPACE === HTML_NAMESPACE\n ) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty =\n '' +\n dirty +\n '';\n }\n\n const dirtyPayload = trustedTypesPolicy\n ? trustedTypesPolicy.createHTML(dirty)\n : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT\n ? emptyHTML\n : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n\n const body = doc.body || doc.documentElement;\n\n if (dirty && leadingWhitespace) {\n body.insertBefore(\n document.createTextNode(leadingWhitespace),\n body.childNodes[0] || null\n );\n }\n\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(\n doc,\n WHOLE_DOCUMENT ? 'html' : 'body'\n )[0];\n }\n\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n\n /**\n * _createIterator\n *\n * @param {Document} root document/fragment to create iterator for\n * @return {Iterator} iterator instance\n */\n const _createIterator = function (root) {\n return createNodeIterator.call(\n root.ownerDocument || root,\n root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT |\n NodeFilter.SHOW_COMMENT |\n NodeFilter.SHOW_TEXT |\n NodeFilter.SHOW_PROCESSING_INSTRUCTION |\n NodeFilter.SHOW_CDATA_SECTION,\n null,\n false\n );\n };\n\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n const _isClobbered = function (elm) {\n return (\n elm instanceof HTMLFormElement &&\n ((typeof elm.__depth !== 'undefined' &&\n typeof elm.__depth !== 'number') ||\n (typeof elm.__removalCount !== 'undefined' &&\n typeof elm.__removalCount !== 'number') ||\n typeof elm.nodeName !== 'string' ||\n typeof elm.textContent !== 'string' ||\n typeof elm.removeChild !== 'function' ||\n !(elm.attributes instanceof NamedNodeMap) ||\n typeof elm.removeAttribute !== 'function' ||\n typeof elm.setAttribute !== 'function' ||\n typeof elm.namespaceURI !== 'string' ||\n typeof elm.insertBefore !== 'function' ||\n typeof elm.hasChildNodes !== 'function')\n );\n };\n\n /**\n * _isNode\n *\n * @param {Node} obj object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n const _isNode = function (object) {\n return typeof Node === 'object'\n ? object instanceof Node\n : object &&\n typeof object === 'object' &&\n typeof object.nodeType === 'number' &&\n typeof object.nodeName === 'string';\n };\n\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n const _executeHook = function (entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], (hook) => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n const _sanitizeElements = function (currentNode) {\n let content;\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeElements', currentNode, null);\n\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check if tagname contains Unicode */\n if (regExpTest(/[\\u0080-\\uFFFF]/, currentNode.nodeName)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n\n /* Execute a hook if present */\n _executeHook('uponSanitizeElement', currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS,\n });\n\n /* Detect mXSS attempts abusing namespace confusion */\n if (\n currentNode.hasChildNodes() &&\n !_isNode(currentNode.firstElementChild) &&\n (!_isNode(currentNode.content) ||\n !_isNode(currentNode.content.firstElementChild)) &&\n regExpTest(/<[/\\w]/g, currentNode.innerHTML) &&\n regExpTest(/<[/\\w]/g, currentNode.textContent)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Mitigate a problem with templates inside select */\n if (\n tagName === 'select' &&\n regExpTest(/