diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml index 28d434e..f7de390 100644 --- a/.forgejo/workflows/deploy.yml +++ b/.forgejo/workflows/deploy.yml @@ -4,6 +4,8 @@ on: push: branches: - main + schedule: + - cron: '27 1-23/2 * * *' jobs: deploy-prod: diff --git a/.gitmodules b/.gitmodules index 8982cc4..7c159cb 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "themes/internet-weblog"] path = themes/internet-weblog - url = https://git.hadan-it.com/stiebke/hugo-internet-weblog.git + url = https://git.hadan-it.com/public/hugo-internet-weblog.git diff --git a/.vscode/ltex.dictionary.de-DE.txt b/.vscode/ltex.dictionary.de-DE.txt new file mode 100644 index 0000000..a5556ad --- /dev/null +++ b/.vscode/ltex.dictionary.de-DE.txt @@ -0,0 +1,13 @@ +Premierenvideo +OpenTalk +OpenCloud +mailbox.org +Kiteworks-CEO +Collabora +datenschutzorientierte +EuroStack +Talentmangel +OpenProject +Meta-Angaben +Verhinderern +Updateversorgung diff --git a/.vscode/ltex.hiddenFalsePositives.de-DE.txt b/.vscode/ltex.hiddenFalsePositives.de-DE.txt new file mode 100644 index 0000000..ee2c31e --- /dev/null +++ b/.vscode/ltex.hiddenFalsePositives.de-DE.txt @@ -0,0 +1 @@ +{"rule":"DE_COMPOUND_COHERENCY","sentence":"^\\QEs ist an der Zeit, alte Gewohnheiten über Bord zu werfen und auf zukunftsweisende Technologien zu setzen – denn in der Welt der Cybersecurity zählt nicht die Häufigkeit des Passwortwechsels, sondern die Qualität und die intelligente Nutzung moderner Schutzmechanismen.\\E$"} diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..ed3e456 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1 @@ +27.04.2025 \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..7cdbe0b --- /dev/null +++ b/LICENSE @@ -0,0 +1,438 @@ +Attribution-NonCommercial-ShareAlike 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International +Public License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution-NonCommercial-ShareAlike 4.0 International Public License +("Public License"). To the extent this Public License may be +interpreted as a contract, You are granted the Licensed Rights in +consideration of Your acceptance of these terms and conditions, and the +Licensor grants You such rights in consideration of benefits the +Licensor receives from making the Licensed Material available under +these terms and conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. BY-NC-SA Compatible License means a license listed at + creativecommons.org/compatiblelicenses, approved by Creative + Commons as essentially the equivalent of this Public License. + + d. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + e. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + f. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + g. License Elements means the license attributes listed in the name + of a Creative Commons Public License. The License Elements of this + Public License are Attribution, NonCommercial, and ShareAlike. + + h. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + i. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + j. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + k. NonCommercial means not primarily intended for or directed towards + commercial advantage or monetary compensation. For purposes of + this Public License, the exchange of the Licensed Material for + other material subject to Copyright and Similar Rights by digital + file-sharing or similar means is NonCommercial provided there is + no payment of monetary compensation in connection with the + exchange. + + l. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + m. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + n. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part, for NonCommercial purposes only; and + + b. produce, reproduce, and Share Adapted Material for + NonCommercial purposes only. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. Additional offer from the Licensor -- Adapted Material. + Every recipient of Adapted Material from You + automatically receives an offer from the Licensor to + exercise the Licensed Rights in the Adapted Material + under the conditions of the Adapter's License You apply. + + c. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties, including when + the Licensed Material is used other than for NonCommercial + purposes. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + b. ShareAlike. + + In addition to the conditions in Section 3(a), if You Share + Adapted Material You produce, the following conditions also apply. + + 1. The Adapter's License You apply must be a Creative Commons + license with the same License Elements, this version or + later, or a BY-NC-SA Compatible License. + + 2. You must include the text of, or the URI or hyperlink to, the + Adapter's License You apply. You may satisfy this condition + in any reasonable manner based on the medium, means, and + context in which You Share Adapted Material. + + 3. You may not offer or impose any additional or different terms + or conditions on, or apply any Effective Technological + Measures to, Adapted Material that restrict exercise of the + rights granted under the Adapter's License You apply. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database for NonCommercial purposes + only; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material, + including for purposes of Section 3(b); and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + +======================================================================= + +Creative Commons is not a party to its public +licenses. Notwithstanding, Creative Commons may elect to apply one of +its public licenses to material it publishes and in those instances +will be considered the “Licensor.” The text of the Creative Commons +public licenses is dedicated to the public domain under the CC0 Public +Domain Dedication. Except for the limited purpose of indicating that +material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the +public licenses. + +Creative Commons may be contacted at creativecommons.org. + diff --git a/content/about.md b/content/about.md index caf9aea..e834af0 100644 --- a/content/about.md +++ b/content/about.md @@ -6,7 +6,7 @@ title = "Über mich"
- +
@@ -16,4 +16,4 @@ Hi, ich bin Stephan Hadan, ein System Engineer aus Pforzheim. Ich begeistere mic Auf meinem Microblog reaktionsfaehig.net veröffentliche ich kurze Beiträge über aktuelle Entwicklungen in der Technikwelt und was mir sonst noch so auffällt. Dazu gehören interessante Webfunde, Meinungen, lesenswerte Artikel und Hinweise auf neue Softwareveröffentlichungen.

-Der Name "reaktionsfaehig" soll wiederspiegeln schnell auf aktuelle Themen zu reagieren und diese zeitnah mit euch zu teilen. +Der Name "reaktionsfaehig" soll wiederspiegeln schnell auf aktuelle Themen zu reagieren und diese zeitnah mit euch zu teilen. Mir ist besonders wichtig den Fokus auf Digitale Souveränität in Europa 🇪🇺 und damit auf Projekte und Initiativen zu lenken, welche zu diesem Thema beitragen. Aber auch andere Themen wie Künstliche Intelligenz, Servicemanagement, Informationssicherheit und Datenschutz kommen hier nicht zu kurz. diff --git a/content/dataprivacy.md b/content/dataprivacy.md index 22d3817..b33d640 100644 --- a/content/dataprivacy.md +++ b/content/dataprivacy.md @@ -181,10 +181,8 @@ Zwecke der Verarbeitung: Kommunikation; Feedback (z. B. Sammeln von Feedback via **Weitere Hinweise zu Verarbeitungsprozessen, Verfahren und Diensten:** * **Bluesky:** Dezentralisiertes Social-Media-Netzwerk - ermöglicht das Erstellen, Teilen und Kommentieren von Inhalten sowie das Folgen von Nutzerprofilen; **Dienstanbieter:** Bluesky, PBLLC., Seattle, USA, support@bsky.app; **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO); **Website:** [https://bsky.social/](https://bsky.social/). **Datenschutzerklärung:** [https://bsky.social/about/support/privacy-policy](https://bsky.social/about/support/privacy-policy). -* **Instagram:** Soziales Netzwerk, ermöglicht das Teilen von Fotos und Videos, das Kommentieren und Favorisieren von Beiträgen, Nachrichtenversand, Abonnieren von Profilen und Seiten; **Dienstanbieter:** Meta Platforms Ireland Limited, Merrion Road, Dublin 4, D04 X2K5, Irland; **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO); **Website:** [https://www.instagram.com](https://www.instagram.com); **Datenschutzerklärung:** [https://privacycenter.instagram.com/policy/](https://privacycenter.instagram.com/policy/). Grundlage Drittlandtransfers: Data Privacy Framework (DPF). -* **Threads:** Soziales Netzwerk; **Dienstanbieter:** Meta Platforms Ireland Limited, Merrion Road, Dublin 4, D04 X2K5, Irland; **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO); Website: https://www.threads.net/. **Datenschutzerklärung:** [https://help.instagram.com/515230437301944](https://help.instagram.com/515230437301944). -* **X:** Soziales Netzwerk; **Dienstanbieter:** Twitter International Company, One Cumberland Place, Fenian Street, Dublin 2 D02 AX07, Irland; **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO); **Website:** [https://x.com](https://x.com). **Datenschutzerklärung:** [https://x.com/de/privacy](https://x.com/de/privacy). -* **YouTube:** Soziales Netzwerk und Videoplattform; **Dienstanbieter:** Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Irland; **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO); **Datenschutzerklärung:** [https://policies.google.com/privacy](https://policies.google.com/privacy); Grundlage Drittlandtransfers: Data Privacy Framework (DPF). **Widerspruchsmöglichkeit (Opt-Out):** [https://myadcenter.google.com/personalizationoff](https://myadcenter.google.com/personalizationoff). +* **Mastodon:** Dezentralisiertes Social-Media-Netzwerk - ermöglicht das Erstellen, Teilen und Kommentieren von Inhalten sowie das Folgen von Nutzerprofilen; **Dienstanbieter:** [freiburg.social e.V.](https://wir.freiburg.social/), Freiburg im Breisgau, Bundesrepublik Deutschland mastodon@freiburg.social; **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO); **Website:** [https://freiburg.social/](https://freiburg.social/). **Datenschutzerklärung:** [https://freiburg.social/privacy-policy](https://freiburg.social/privacy-policy). +* **Pixelfed:** Dezentralisiertes Social-Media-Netzwerk - ermöglicht das Erstellen, Teilen und Kommentieren von Bild-Inhalten sowie das Folgen von Nutzerprofilen; **Dienstanbieter:** Christoph Gebhardt, c/o CCCHH eV, Hamburg, Bundesrepublik Deutschland, legal@pixelfed.de; **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO); **Website:** [https://pixelfed.de/](https://pixelfed.de/). **Datenschutzerklärung:** [https://pixelfed.de/site/privacy](https://pixelfed.de/site/privacy). ## Plug-ins und eingebettete Funktionen sowie Inhalte @@ -204,9 +202,8 @@ Hinweise zu Rechtsgrundlagen: Sofern wir die Nutzer um ihre Einwilligung in den * **Google Fonts (Bereitstellung auf eigenem Server):** Bereitstellung von Schriftarten-Dateien zwecks einer nutzerfreundlichen Darstellung unseres Onlineangebotes; **Dienstanbieter:** Die Google Fonts werden auf unserem Server gehostet, es werden keine Daten an Google übermittelt; **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO). * **Font Awesome (Bereitstellung auf eigenem Server):** Darstellung von Schriftarten und Symbolen; **Dienstanbieter:** Die Font Awesome Icons werden auf unserem Server gehostet, es werden keine Daten an den Anbieter von Font Awesome übermittelt; **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO). +* **Simple Icons (Bereitstellung auf eigenem Server):** Darstellung von Schriftarten und Symbolen; **Dienstanbieter:** Die Simple Icons werden auf unserem Server gehostet, es werden keine Daten an den Anbieter von Simple Icons übermittelt; **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO). * **OpenStreetMap:** Wir binden die Landkarten des Dienstes "OpenStreetMap" ein, die auf Grundlage der Open Data Commons Open Database Lizenz (ODbL) durch die OpenStreetMap Foundation (OSMF) angeboten werden. Die Daten der Nutzer werden durch OpenStreetMap ausschließlich zu Zwecken der Darstellung der Kartenfunktionen und zur Zwischenspeicherung der gewählten Einstellungen verwendet. Zu diesen Daten können insbesondere IP-Adressen und Standortdaten der Nutzer gehören, die jedoch nicht ohne deren Einwilligung (im Regelfall im Rahmen der Einstellungen ihrer Endgeräte oder Browser vollzogen) erhoben werden; **Dienstanbieter:** OpenStreetMap Foundation (OSMF); **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO); Website: [https://www.openstreetmap.de](https://www.openstreetmap.de). **Datenschutzerklärung:** [https://osmfoundation.org/wiki/Privacy_Policy](https://osmfoundation.org/wiki/Privacy_Policy). -* **X-Plugins und -Inhalte:** Plugins und -Schaltflächen der Plattform "X" - hierzu können z. B. Inhalte wie Bilder, Videos oder Texte und Schaltflächen gehören, mit denen Nutzer Inhalte dieses Onlineangebotes innerhalb von X teilen können; **Dienstanbieter:** Twitter International Company, One Cumberland Place, Fenian Street, Dublin 2 D02 AX07, Irland; **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO); Website: https://x.com/de; **Datenschutzerklärung:** https://x.com/de/privacy, (Settings: https://x.com/personalization); **Auftragsverarbeitungsvertrag:** https://privacy.x.com/en/for-our-partners/global-dpa; Grundlage Drittlandtransfers: Standardvertragsklauseln (https://privacy.x.com/en/for-our-partners/global-dpa). -* **YouTube-Videos:** Innerhalb unseres Onlineangebotes sind Videos eingebettet, die bei YouTube gespeichert sind. Die Integration dieser YouTube-Videos erfolgt über eine spezielle Domain mithilfe der Komponente „youtube-nocookie" im sogenannten „erweiterten Datenschutzmodus". Im „erweiterten Datenschutzmodus" können bis zum Start des Videos lediglich Informationen, zu denen Ihre IP-Adresse sowie Angaben zum Browser und Ihrem Endgerät gehören, auf Ihrem Endgerät in Cookies oder mittels vergleichbarer Verfahren gespeichert werden, die YouTube für die Ausgabe, Steuerung und Optimierung der Videoanzeige benötigt. Sobald Sie die Videos abspielen, können zusätzlich Informationen zur Analyse des Nutzungsverhaltens sowie zur Speicherung im Nutzerprofil und zur Personalisierung von Inhalten und Anzeigen durch YouTube verarbeitet werden. Die Speicherdauer für die Cookies kann bis zu zwei Jahre betragen; **Dienstanbieter:** Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Irland; **Rechtsgrundlagen:** Einwilligung (Art. 6 Abs. 1 S. 1 lit. a) DSGVO); Website: [https://www.youtube.com](https://www.youtube.com); **Datenschutzerklärung:** [https://policies.google.com/privacy](https://policies.google.com/privacy); **Grundlage Drittlandtransfers:** Data Privacy Framework (DPF). Weitere Informationen: [https://support.google.com/youtube/answer/171780?hl=de-DE#zippy=%2Cturn-on-privacy-enhanced-mode%2Cerweiterten-datenschutzmodus-aktivieren](https://support.google.com/youtube/answer/171780?hl=de-DE#zippy=%2Cturn-on-privacy-enhanced-mode%2Cerweiterten-datenschutzmodus-aktivieren). ## Änderung und Aktualisierung diff --git a/content/imprint.md b/content/imprint.md index 7b235a8..aa8606b 100644 --- a/content/imprint.md +++ b/content/imprint.md @@ -20,23 +20,25 @@ Inhaltlich verantwortlich: Stephan Hadan (Adresse wie oben) Dieses Impressum gilt auch für die folgenden Social-Media-Präsenzen, Webseiten und Onlineprofile: -* [https://x.com/hadan72](https://x.com/hadan72) -* [https://bsky.app/profile/stiebke.bsky.social](https://bsky.app/profile/stiebke.bsky.social) -* [https://freiburg.social/@stiebke](https://freiburg.social/@stiebke) -* [https://www.threads.net/@stiebke](https://www.threads.net/@stiebke) +* [https://hadan.social/@stiebke](https://hadan.social/@stiebke) +* [https://bsky.app/profile/stiebke.de](https://bsky.app/profile/stiebke.de) * [https://github.com/stiebke](https://github.com/stiebke) -* [https://dev.to/stiebke](https://dev.to/stiebke) -* [https://www.xing.com/profile/Stephan_Hadan](https://www.xing.com/profile/Stephan_Hadan) -* [https://de.linkedin.com/in/stiebke](https://de.linkedin.com/in/stiebke) -* [https://www.facebook.com/people/Reaktionsfaehignet/61572534932893/](https://www.facebook.com/people/Reaktionsfaehignet/61572534932893/) +* [https://codeberg.org/stiebke25](https://codeberg.org/stiebke25) +* [https://pixelfed.de/users/stiebke](https://pixelfed.de/users/stiebke) +* [https://discuss.hadan.social/u/stiebke](https://discuss.hadan.social/u/stiebke) * [https://iamstephan.info](https://iamstephan.info) * [https://techstack.hadan.de](https://techstack.hadan.de) * [https://reaktionsfaehig.net](https://reaktionsfaehig.net) * [https://status.hadan-it.com/status/reaktionsfaehig](https://status.hadan-it.com/status/reaktionsfaehig) +* [https://status.hadan-it.com/status/myprivatepage](https://status.hadan-it.com/status/myprivatepage) -## Vorbehalt der Nutzung für Text und Data-Mining +## Vorbehalt der Nutzung für Text und Data-Mining (Opt-out-Erklärung) -Der Inhaber dieser Website gestattet die Nutzung oder das Herunterladen von Inhalten dieser Website durch Dritte für die Entwicklung, das Training oder den Betrieb von künstlicher Intelligenz oder anderen maschinellen Lernsystemen ("Text und Data-Mining") ausschließlich mit ausdrücklicher schriftlicher Zustimmung des Inhabers. Ohne eine solche Zustimmung ist es untersagt, die Inhalte für Text und Data-Mining zu verwenden. Dies gilt auch, wenn auf der Website keine Meta-Angaben vorhanden sind, die entsprechende Verfahren aussperren, und selbst dann, wenn Bots, die den Zweck haben, die Website zu Zwecken des Textes und Data-Mining auszulesen, nicht ausgesperrt werden. +Dies ist eine Opt-out-Erklärung für die EU-Richtlinie 2019/790 des Europäischen Parlaments über Urheberrecht und verwandte Schutzrechte im digitalen Binnenmarkt in Bezug auf Text- und Data-Mining für kommerzielle Zwecke. + +Wenn urheberrechtlich geschützte Inhalte von dieser Website in den Trainingssatz von maschinellen Lernmodellen oder anderen Data-Mining-Methoden aufgenommen werden, gelten die Bedingungen für die Namensnennung und die gemeinsame Nutzung in vollem Umfang. Alle Ergebnisse oder Ausgaben, die unter Verwendung von Daten von dieser Website erstellt werden, müssen einen eindeutigen Hinweis auf den ursprünglichen Autor enthalten und die Wiederverwendung solcher Ausgaben unter denselben Bedingungen erlauben. + +Eine Ausnahme für die rein wissenschaftliche Nutzung wird ausdrücklich gewährt. Wenn Inhalte dieser Website für Data-Mining, Analysen, das Training von Modellen des maschinellen Lernens oder verwandte Methoden mit dem Endziel einer frei zugänglichen Veröffentlichung einschließlich der trainierten Modelle oder anderer Zwischenergebnisse verwendet werden, ist die Einbeziehung der Daten ohne Namensnennung zulässig. Diese Ausnahme gilt jedoch nur für die akademische Nutzung mit dem Ziel, das öffentliche Wissen der Menschen zu erweitern. Data-Mining im Rahmen einer akademischen Tochtergesellschaft oder andere seltsame Umgehungskonstruktionen mit der Absicht, die trainierten Modelle in einem proprietären, kommerziellen oder militärischen Umfeld weiterzuverwenden, fallen nicht unter diese akademische Ausnahme und sind ausdrücklich verboten. ## Haftungs- und Schutzrechtshinweise diff --git a/content/license.md b/content/license.md new file mode 100644 index 0000000..ea1322e --- /dev/null +++ b/content/license.md @@ -0,0 +1,177 @@ +# Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International + +![CC BY NC SA 4.0](/assets/images/by-nc-sa.png) + +Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. + +## Using Creative Commons Public Licenses + + +Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. + +* __Considerations for licensors:__ Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. [More considerations for licensors](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensors). + +* __Considerations for the public:__ By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. [More considerations for the public](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees). + +## Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License + + +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. + +### Section 1 – Definitions. + +a. __Adapted Material__ means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + +b. __Adapter's License__ means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. + +c. __BY-NC-SA Compatible License__ means a license listed at [creativecommons.org/compatiblelicenses](http://creativecommons.org/compatiblelicenses), approved by Creative Commons as essentially the equivalent of this Public License. + +d. __Copyright and Similar Rights__ means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + +e. __Effective Technological Measures__ means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. + +f. __Exceptions and Limitations__ means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + +g. __License Elements__ means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution, NonCommercial, and ShareAlike. + +h. __Licensed Material__ means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + +i. __Licensed Rights__ means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. + +j. __Licensor__ means the individual(s) or entity(ies) granting rights under this Public License. + +k. __NonCommercial__ means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange. + +l. __Share__ means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. + +m. __Sui Generis Database Rights__ means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. + +n. __You__ means the individual or entity exercising the Licensed Rights under this Public License. __Your__ has a corresponding meaning. + +### Section 2 – Scope. + +a. ___License grant.___ + + 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + + A. reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and + + B. produce, reproduce, and Share Adapted Material for NonCommercial purposes only. + + 2. __Exceptions and Limitations.__ For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. + + 3. __Term.__ The term of this Public License is specified in Section 6(a). + + 4. __Media and formats; technical modifications allowed.__ The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. + + 5. __Downstream recipients.__ + + A. __Offer from the Licensor – Licensed Material.__ Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. + + B. __Additional offer from the Licensor – Adapted Material.__ Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply. + + C. __No downstream restrictions.__ You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. + + 6. __No endorsement.__ Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). + +b. ___Other rights.___ + + 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this Public License. + + 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes. + +### Section 3 – License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + +a. ___Attribution.___ + + 1. If You Share the Licensed Material (including in modified form), You must: + + A. retain the following if it is supplied by the Licensor with the Licensed Material: + + i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of warranties; + + v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + + B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and + + C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. + + 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. + +b. ___ShareAlike.___ + +In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. + +1. The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-NC-SA Compatible License. + +2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. + +3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. + +### Section 4 – Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + +a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only; + +b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and + +c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. + +### Section 5 – Disclaimer of Warranties and Limitation of Liability. + +a. __Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.__ + +b. __To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.__ + +c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. + +### Section 6 – Term and Termination. + +a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. + +b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. + +c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. + +d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. + +### Section 7 – Other Terms and Conditions. + +a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. + +b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. + +### Section 8 – Interpretation. + +a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. + +b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. + +c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. + +d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. + +> Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. +> +> Creative Commons may be contacted at creativecommons.org diff --git a/content/microposts/2025-01-28-apple-updates.md b/content/microposts/2025-01-28-apple-updates.md deleted file mode 100644 index b78535e..0000000 --- a/content/microposts/2025-01-28-apple-updates.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: iOS 18.3, macOS 15.3, 13.7.3, 14.7.3, iPadOS 17.7.4 -date: 2025-01-28T10:52:00.000Z -description: iOS 18.3, macOS 15.3, 13.7.3, 14.7.3, iPadOS 17.7.4 ---- -Apple hat neben iOS 18.3 und macOS 15.3 auch macOS 13.7.3, 14.7.3 und iPadOS 17.7.4 publiziert und stopft damit manche Lücken. iOS 17 wird nicht mehr bedacht. diff --git a/content/microposts/2025-02-01-straeter-streberg-der-podcast-folge-1.md b/content/microposts/2025-02-01-straeter-streberg-der-podcast-folge-1.md new file mode 100644 index 0000000..9e0be89 --- /dev/null +++ b/content/microposts/2025-02-01-straeter-streberg-der-podcast-folge-1.md @@ -0,0 +1,6 @@ +--- +title: "Sträter & Streberg - Der Podcast: Folge 01" +date: 2025-02-01T19:05:00.000Z +description: "Sträter & Streberg - Der Podcast: Folge 01" +--- +Sträter & Streberg - Der Podcast: [Folge 01](https://www.youtube.com/watch?v=_stGpemLyzc) ... auch ohne Hennes Bender weiterhin auf hohem Niveau! \ No newline at end of file diff --git a/content/microposts/2025-02-11-open-source-modell-zonos-v0-1-auf-hugging-face-veröffentlicht.md b/content/microposts/2025-02-11-open-source-modell-zonos-v0-1-auf-hugging-face-veröffentlicht.md new file mode 100644 index 0000000..2849083 --- /dev/null +++ b/content/microposts/2025-02-11-open-source-modell-zonos-v0-1-auf-hugging-face-veröffentlicht.md @@ -0,0 +1,6 @@ +--- +title: Open-Source-Modell Zonos-v0.1 auf Hugging Face veröffentlicht +date: 2025-02-11T16:15:00.000Z +description: Open-Source-Modell Zonos-v0.1 auf Hugging Face veröffentlicht +--- +Gerade auf [THE DECODER](https://the-decoder.de/zonos-kann-eure-stimme-klonen-und-ist-ein-open-source/) gesehen: Open-Source-Modell Zonos-v0.1 auf Hugging Face veröffentlicht. Generierung natürlich klingender Sprache aus Texteingaben und Voice Cloning mit nur 5-30 Sekunden Sprachdaten. 👀 diff --git a/content/microposts/2025-02-14-kokoro-ein-neues-tts-modell.md b/content/microposts/2025-02-14-kokoro-ein-neues-tts-modell.md new file mode 100644 index 0000000..81f92a8 --- /dev/null +++ b/content/microposts/2025-02-14-kokoro-ein-neues-tts-modell.md @@ -0,0 +1,6 @@ +--- +title: Kokoro - ein neues TTS-Modell +date: 2025-02-13T23:10:00.000Z +description: Kokoro - ein neues TTS-Modell +--- +[**Kokoro**](https://huggingface.co/hexgrad/Kokoro-82M) ist ein neues TTS-Modell. Trotz seiner leichtgewichtigen Architektur liefert es eine vergleichbare Qualität wie größere Modelle und ist dabei deutlich schneller und kosteneffizienter. Aufgrund Apache 2.0-Lizenz kann Kokoro überall eingesetzt werden, von Produktionsumgebungen bis hin zu persönlichen Projekten. Hört sich wirklich gut an! diff --git a/content/microposts/2025-02-15-macos-window-manager-macsyszones.md b/content/microposts/2025-02-15-macos-window-manager-macsyszones.md new file mode 100644 index 0000000..5b59432 --- /dev/null +++ b/content/microposts/2025-02-15-macos-window-manager-macsyszones.md @@ -0,0 +1,6 @@ +--- +title: macOS-Window-Manager MacsyZones +date: 2025-02-15T12:15:00.000Z +description: macOS-Window-Manager MacsysZones +--- +macOS-Window-Manager MacsyZones: Gestalte Deinen Arbeitsablauf effizienter mit MacsyZones. Organisiere Deine Fenster mit Leichtigkeit. FOSS mit [Quellcode](https://github.com/rohanrhu/MacsyZones) - [macsyzones.com](https://macsyzones.com/) diff --git a/content/microposts/2025-02-18-openai-chef-sam-altman-kündigt-per-x-umfrage-rückkehr-zu-open-source-an.md b/content/microposts/2025-02-18-openai-chef-sam-altman-kündigt-per-x-umfrage-rückkehr-zu-open-source-an.md new file mode 100644 index 0000000..1341f59 --- /dev/null +++ b/content/microposts/2025-02-18-openai-chef-sam-altman-kündigt-per-x-umfrage-rückkehr-zu-open-source-an.md @@ -0,0 +1,6 @@ +--- +title: OpenAI-Chef Sam Altman kündigt per X-Umfrage Rückkehr zu Open Source an +date: 2025-02-18T14:35:00.000Z +description: OpenAI-Chef Sam Altman kündigt per X-Umfrage Rückkehr zu Open Source an +--- +THE DECODER: [OpenAI-Chef Sam Altman kündigt per X-Umfrage Rückkehr zu Open Source an](https://the-decoder.de/openai-chef-sam-altman-kuendigt-per-x-umfrage-rueckkehr-zu-open-source-an/) diff --git a/content/microposts/2025-02-19-heise-online-news-konkurrent-fürs-smartphone-gescheitert-hp-kauft-humane-ai-pin-wird-stillgelegt.md b/content/microposts/2025-02-19-heise-online-news-konkurrent-fürs-smartphone-gescheitert-hp-kauft-humane-ai-pin-wird-stillgelegt.md new file mode 100644 index 0000000..47658d7 --- /dev/null +++ b/content/microposts/2025-02-19-heise-online-news-konkurrent-fürs-smartphone-gescheitert-hp-kauft-humane-ai-pin-wird-stillgelegt.md @@ -0,0 +1,8 @@ +--- +title: "heise online News: Konkurrent fürs Smartphone gescheitert: HP kauft + Humane, AI Pin wird stillgelegt" +date: 2025-02-19T07:17:00.000Z +description: "heise online News: Konkurrent fürs Smartphone gescheitert: HP + kauft Humane, AI Pin wird stillgelegt" +--- +heise online News: [Konkurrent fürs Smartphone gescheitert: HP kauft Humane, AI Pin wird stillgelegt](https://www.heise.de/news/Konkurrent-fuers-Smartphone-gescheitert-HP-kauft-Humane-AI-Pin-wird-stillgelegt-10287378.html) diff --git a/content/microposts/2025-02-19-perplexity-ai-entfernt-chinesische-zensur-aus-open-source-sprachmodell-deepseek-r1.md b/content/microposts/2025-02-19-perplexity-ai-entfernt-chinesische-zensur-aus-open-source-sprachmodell-deepseek-r1.md new file mode 100644 index 0000000..21d14e9 --- /dev/null +++ b/content/microposts/2025-02-19-perplexity-ai-entfernt-chinesische-zensur-aus-open-source-sprachmodell-deepseek-r1.md @@ -0,0 +1,8 @@ +--- +title: "Perplexity AI entfernt chinesische Zensur aus Open-Source-Sprachmodell + Deepseek R1! " +date: 2025-02-19T16:20:00.000Z +description: "Perplexity AI entfernt chinesische Zensur aus + Open-Source-Sprachmodell Deepseek R1! " +--- +Perplexity AI entfernt chinesische Zensur aus Open-Source-Sprachmodell Deepseek R1! 🚀✨ #KI #Zensur - Artikel von [THE DECODER](https://the-decoder.de/perplexity-ai-entfernt-chinesische-zensur-aus-open-source-sprachmodell-deepseek-r1/) diff --git a/content/microposts/2025-02-21-amazon-chime-wird-eingestellt.md b/content/microposts/2025-02-21-amazon-chime-wird-eingestellt.md new file mode 100644 index 0000000..c4cd7cd --- /dev/null +++ b/content/microposts/2025-02-21-amazon-chime-wird-eingestellt.md @@ -0,0 +1,6 @@ +--- +title: Amazon Chime wird eingestellt +date: 2025-02-21T07:45:00.000Z +description: Amazon Chime wird eingestellt +--- +Amazon Web Services (AWS) stellt den Kommunikationsdienst **Amazon Chime** am 20. Februar 2026 ein. Dies gab AWS in einem ihrer [Blogs](https://aws.amazon.com/de/blogs/messaging-and-targeting/update-on-support-for-amazon-chime/) bekannt. diff --git a/content/microposts/2025-02-25-claude-3-7-sonnet-und-claude-code.md b/content/microposts/2025-02-25-claude-3-7-sonnet-und-claude-code.md new file mode 100644 index 0000000..b81679c --- /dev/null +++ b/content/microposts/2025-02-25-claude-3-7-sonnet-und-claude-code.md @@ -0,0 +1,6 @@ +--- +title: Claude 3.7 Sonnet und Claude Code +date: 2025-02-25T11:55:00.000Z +description: Claude 3.7 Sonnet und Claude Code +--- +Anthropic stellt zwei neue KI-Modelle vor: [Claude 3.7 Sonnet und Claude Code](https://www.anthropic.com/news/claude-3-7-sonnet) diff --git a/content/microposts/2025-02-25-sicherheitslücke-in-parallels-desktop.md b/content/microposts/2025-02-25-sicherheitslücke-in-parallels-desktop.md new file mode 100644 index 0000000..c64b1e5 --- /dev/null +++ b/content/microposts/2025-02-25-sicherheitslücke-in-parallels-desktop.md @@ -0,0 +1,6 @@ +--- +title: Sicherheitslücke in Parallels Desktop +date: 2025-02-25T19:55:00.000Z +description: Sicherheitslücke in Parallels Desktop +--- +Eine unzureichend gepatchte Sicherheitslücke in Parallels Desktop könnte es Angreifern ermöglichen, Root-Rechte in macOS zu erlangen. [Artikel auf heise online](https://www.heise.de/news/Parallels-Desktop-Sicherheitsforscher-veroeffentlicht-Zero-Day-Exploit-10295644.html) diff --git a/content/microposts/2025-02-25-stilles-album-als-protest-gegen-den-ausverkauf-des-britischen-urheberrechts.md b/content/microposts/2025-02-25-stilles-album-als-protest-gegen-den-ausverkauf-des-britischen-urheberrechts.md new file mode 100644 index 0000000..3bf97df --- /dev/null +++ b/content/microposts/2025-02-25-stilles-album-als-protest-gegen-den-ausverkauf-des-britischen-urheberrechts.md @@ -0,0 +1,6 @@ +--- +title: Stilles Album als Protest gegen den Ausverkauf des britischen Urheberrechts +date: 2025-02-25T12:25:00.000Z +description: Stilles Album als Protest gegen den Ausverkauf des britischen Urheberrechts +--- +1.000 Künstler veröffentlichen ein [„stilles“ Album](https://open.spotify.com/intl-de/album/1yUbRSEsj5ng38IpHpcLJt?si=W1c0okS1QD6oKphAQR5QBA&nd=1&dlsi=a44204189149472c), um gegen den Ausverkauf des britischen Urheberrechts an AI zu protestieren. Eine Petition kann [hier](https://www.aitrainingstatement.org/) unterzeichnet werden. diff --git a/content/microposts/2025-02-26-exo-betreibe-eigenen-ki-cluster-zu-hause-mit-alltagsgeräten.md b/content/microposts/2025-02-26-exo-betreibe-eigenen-ki-cluster-zu-hause-mit-alltagsgeräten.md new file mode 100644 index 0000000..e57d741 --- /dev/null +++ b/content/microposts/2025-02-26-exo-betreibe-eigenen-ki-cluster-zu-hause-mit-alltagsgeräten.md @@ -0,0 +1,6 @@ +--- +title: "exo: Betreibe eigenen KI-Cluster zu Hause mit Alltagsgeräten." +date: 2025-02-26T11:19:00.000Z +description: "exo: Betreibe eigenen KI-Cluster zu Hause mit Alltagsgeräten." +--- +[exo](https://github.com/exo-explore/exo): Betreibe eigenen KI-Cluster zu Hause mit Alltagsgeräten 🖥️⌚. diff --git a/content/microposts/2025-02-27-drohnen-als-neue-cyberbedrohung.md b/content/microposts/2025-02-27-drohnen-als-neue-cyberbedrohung.md new file mode 100644 index 0000000..74c312f --- /dev/null +++ b/content/microposts/2025-02-27-drohnen-als-neue-cyberbedrohung.md @@ -0,0 +1,9 @@ +--- +title: Drohnen als neue Cyberbedrohung +date: 2025-02-27T15:33:00.000Z +description: Drohnen als neue Cyberbedrohung +--- +🚨 BSI: Drohnen als neue Cyberbedrohung – Wie Unternehmen sich schützen können 🚨 + +* [Pressemitteilung](https://www.bsi.bund.de/DE/Service-Navi/Presse/Pressemitteilungen/Presse2025/250227_Drohnen_Cyberbedrohung.html) +* [Arbeitspapier](https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/Drohnen/drone_cyber_threats_defence.pdf?__blob=publicationFile&v=9) diff --git a/content/microposts/2025-02-27-raspberry-pi-official-magazine.md b/content/microposts/2025-02-27-raspberry-pi-official-magazine.md new file mode 100644 index 0000000..6d3b384 --- /dev/null +++ b/content/microposts/2025-02-27-raspberry-pi-official-magazine.md @@ -0,0 +1,6 @@ +--- +title: Raspberry Pi Official Magazine +date: 2025-02-27T15:04:00.000Z +description: Raspberry Pi Official Magazine +--- +Das MagPi-Magazin, einschließlich HackSpace heißt nun: [Raspberry Pi Official Magazine](https://magazine.raspberrypi.com/). Oder kurz RPOM (ar-pom). diff --git a/content/microposts/2025-02-28-openai-hat-das-ki-videotool-sora-in-der-eu-freigegeben.md b/content/microposts/2025-02-28-openai-hat-das-ki-videotool-sora-in-der-eu-freigegeben.md new file mode 100644 index 0000000..2f3adb0 --- /dev/null +++ b/content/microposts/2025-02-28-openai-hat-das-ki-videotool-sora-in-der-eu-freigegeben.md @@ -0,0 +1,6 @@ +--- +title: OpenAI hat das KI-Videotool Sora in der EU freigegeben +date: 2025-02-28T13:10:00.000Z +description: OpenAI hat das KI-Videotool Sora in der EU freigegeben +--- +OpenAI hat das KI-Videotool Sora in der EU freigegeben 👉🏼 [Artikel bei Golem](https://www.golem.de/news/openai-ki-videotool-sora-startet-in-deutschland-2502-193822.html) diff --git a/content/microposts/2025-02-28-skype-abschaltung.md b/content/microposts/2025-02-28-skype-abschaltung.md new file mode 100644 index 0000000..0e574cf --- /dev/null +++ b/content/microposts/2025-02-28-skype-abschaltung.md @@ -0,0 +1,6 @@ +--- +title: Skype-Abschaltung +date: 2025-02-28T16:29:00.000Z +description: Skype-Abschaltung +--- +[Microsoft bestätigt](https://www.bleepingcomputer.com/news/microsoft/microsoft-confirms-its-killing-off-skype-in-may-after-14-years/), dass Skype nach 14 Jahren im Mai abgeschaltet wird. diff --git a/content/microposts/2025-03-04-vmware-vulnerabilities.md b/content/microposts/2025-03-04-vmware-vulnerabilities.md new file mode 100644 index 0000000..d7a3e96 --- /dev/null +++ b/content/microposts/2025-03-04-vmware-vulnerabilities.md @@ -0,0 +1,6 @@ +--- +title: VMware Vulnerabilities +date: 2025-03-04T16:07:00.000Z +description: VMware Vulnerabilities +--- +Broadcom [meldet](https://support.broadcom.com/web/ecx/support-content-notification/-/external/content/SecurityAdvisories/0/25390) verschiedene Sicherheitslücken in den Produkten VMware ESXi, Workstation und Fusion. diff --git a/content/microposts/2025-03-05-mein-usa-boykott.md b/content/microposts/2025-03-05-mein-usa-boykott.md new file mode 100644 index 0000000..52889e9 --- /dev/null +++ b/content/microposts/2025-03-05-mein-usa-boykott.md @@ -0,0 +1,25 @@ +--- +title: Mein USA-Boykott +date: 2025-03-05T03:21:00.000Z +description: Mein USA-Boykott +--- +Lieber Donald Trump, danke für die Klarstellung! Es gibt anderweitige Alternativen mein Geld unters Volk zu bringen. Goodbye Amazon, Apple, Facebook, X, Paypal, Microsoft, Disney+, Netflix ... ;-). Es gibt ausreichend europäische und/oder freie Alternativen. + +Nailed it: + +* Amazon Prime (inkl. Video) - gekündigt ✅ +* Apple - sukzessive Umstellung, Abos gekündigt ✅ +* Disney+ - gekündigt ✅ +* Facebook - Account gelöscht ✅ +* Instagram - Account gelöscht ✅ +* Threads - Account gelöscht ✅ +* Microsoft 365 Home - gekündigt ✅ +* Netflix - gekündigt ✅ +* Paypal - Umstellung auf Alternative läuft ✅ +* X - Account gelöscht ✅ +* YouTube - Premium gekündigt ✅ + +Ongoing: + +* GitHub -> Codeberg ⌛ +* LinkedIn -> Xing ⌛ \ No newline at end of file diff --git a/content/microposts/2025-03-06-ccc-digitale-brandmauer.md b/content/microposts/2025-03-06-ccc-digitale-brandmauer.md new file mode 100644 index 0000000..6e7c674 --- /dev/null +++ b/content/microposts/2025-03-06-ccc-digitale-brandmauer.md @@ -0,0 +1,11 @@ +--- +title: CCC fordert digitale Brandmauer +date: 2025-03-06T13:21:00.000Z +description: CCC fordert digitale Brandmauer +--- +👉 Ich unterstütze die Forderung nach einer digitalen Brandmauer durch den CCC - [https://www.ccc.de/de/updates/2025/ccc-fordert-digitale-brandmauer](https://www.ccc.de/de/updates/2025/ccc-fordert-digitale-brandmauer) ✅, insbesondere: + +☝️ "Privater Machtmissbrauch von Big-Tech-Unternehmen wird durch durchsetzungsstarke, unabhängige und grundsätzlich föderale Aufsichtsstrukturen bekämpft, insbesondere in den Bereichen der Plattformregulierung, des Datenschutzrechts und des Kartellrechts." + +Kleines Update hierzu: Netzpolitik.org hat ebenso einen wirklich guten Artikel mit Forderungen aus der Zivilgesellschaft zusammengestellt, mit der Forderung, diese digitalpolitischen Ziele in den Koalitionsvertrag aufzunehmen. 🔗 [https://netzpolitik.org/2025/forderungen-aus-der-zivilgesellschaft-diese-digitalpolitischen-ziele-muessen-in-den-koalitionsvertrag/](https://netzpolitik.org/2025/forderungen-aus-der-zivilgesellschaft-diese-digitalpolitischen-ziele-muessen-in-den-koalitionsvertrag/) + diff --git a/content/microposts/2025-03-10-musk-macht-cyberangriff-fur-x-ausfall-verantwortlich.md b/content/microposts/2025-03-10-musk-macht-cyberangriff-fur-x-ausfall-verantwortlich.md new file mode 100644 index 0000000..5d7ab10 --- /dev/null +++ b/content/microposts/2025-03-10-musk-macht-cyberangriff-fur-x-ausfall-verantwortlich.md @@ -0,0 +1,10 @@ +--- +title: Musk macht Cyberangriff für X-Ausfall verantwortlich +date: 2025-03-10T21:14:00.000Z +description: Musk macht Cyberangriff für X-Ausfall verantwortlich +--- +👉 Musk macht Cyberangriff für X-Ausfall verantwortlich. + +☝️ "There was (still is) a massive cyberattack against X. We get attacked every day, but this was done with a lot of resources. Either a large, coordinated group and/or a country is involved," Musk said in a post on the platform. + +🔗 [https://www.reuters.com/technology/social-media-platform-x-down-thousands-users-downdetector-shows-2025-03-10/](https://www.reuters.com/technology/social-media-platform-x-down-thousands-users-downdetector-shows-2025-03-10/) diff --git a/content/microposts/2025-03-11-darkstorm-x-ausfaelle.md b/content/microposts/2025-03-11-darkstorm-x-ausfaelle.md new file mode 100644 index 0000000..a24426b --- /dev/null +++ b/content/microposts/2025-03-11-darkstorm-x-ausfaelle.md @@ -0,0 +1,10 @@ +--- +title: Hackergruppierung „Dark Storm Team“ bekennt sich zu Angriff auf X +date: 2025-03-11T10:12:00.000Z +description: Hackergruppierung „Dark Storm Team“ bekennt sich zu Angriff auf X +--- +👉 „Das Dark Storm Team hat sich zu dem Angriff auf X bekannt“, erklärte Check Point Research. + +☝️ Hat also erst einmal nix, wie von Herrn Musk gesagt, mit der Ukraine zu tun. Der hat nur die Chance gerochen um wieder Fake News zu verbreiten... + +🔗 [https://www.it-daily.net/shortnews/darkstorm-x-ausfaelle](https://www.it-daily.net/shortnews/darkstorm-x-ausfaelle) diff --git a/content/microposts/2025-03-11-musk-macht-ukraine-fur-x-ausfall-verantwortlich.md b/content/microposts/2025-03-11-musk-macht-ukraine-fur-x-ausfall-verantwortlich.md new file mode 100644 index 0000000..f0d3474 --- /dev/null +++ b/content/microposts/2025-03-11-musk-macht-ukraine-fur-x-ausfall-verantwortlich.md @@ -0,0 +1,8 @@ +--- +title: Musk macht Ukraine für X-Ausfall verantwortlich +date: 2025-03-11T09:25:00.000Z +description: Musk macht Ukraine für X-Ausfall verantwortlich +--- +👉 Elon Musk hat einen "massiven" Cyberangriff auf seine Plattform X gemeldet. Es sei von einem Angriff von IP-Adressen in der Ukraine auszugehen, sagte Musk in einem Interview mit Fox Business Network. + +☝️ Ich so: Lieber Herr Musk, IP-Adressen, die Computer beim Zugang zum Internet bekommen, sind sehr leicht zu fälschen oder zu verschleiern. IT-Sicherheitsexperten verlassen sich deshalb nie darauf, wenn sie die Herkunft einer Cyberattacke feststellen wollen. diff --git a/content/microposts/2025-03-17-byd-stellt-neues-batteriesystem-fur-e-autos-vor.md b/content/microposts/2025-03-17-byd-stellt-neues-batteriesystem-fur-e-autos-vor.md new file mode 100644 index 0000000..ddf51a2 --- /dev/null +++ b/content/microposts/2025-03-17-byd-stellt-neues-batteriesystem-fur-e-autos-vor.md @@ -0,0 +1,9 @@ +--- +title: "BYD stellt neues Batteriesystem für E-Autos vor" +date: 2025-03-17T22:19:00.000Z +description: "BYD stellt neues Batteriesystem für E-Autos vor" +--- +💥 [Von heise Online](https://www.heise.de/news/Fuenf-Minuten-Ladezeit-BYD-stellt-neues-Batteriesystem-fuer-E-Autos-vor-10318760.html?wt_mc=rss.red.ho.ho.atom.beitrag.beitrag): Fünf Minuten Ladezeit: BYD stellt neues Batteriesystem für E-Autos vor. 🤔 + +Wir hinken so hinterher ... 💣 ... wir müssen jetzt massiv investieren und für ein starkes Europa sorgen! + diff --git a/content/microposts/2025-03-17-debian-12-10-erschienen.md b/content/microposts/2025-03-17-debian-12-10-erschienen.md new file mode 100644 index 0000000..1a3628b --- /dev/null +++ b/content/microposts/2025-03-17-debian-12-10-erschienen.md @@ -0,0 +1,6 @@ +--- +title: "Debian GNU/Linux 12.10 Bookworm ist erschienen" +date: 2025-03-17T08:36:00.000Z +description: "Debian GNU/Linux 12.10 Bookworm ist erschienen" +--- +Debian GNU/Linux 12.10 Bookworm ist erschienen. 🔗 [https://www.debian.org/News/2025/20250315](https://www.debian.org/News/2025/20250315) \ No newline at end of file diff --git a/content/microposts/2025-03-17-risc-v-gpu.md b/content/microposts/2025-03-17-risc-v-gpu.md new file mode 100644 index 0000000..6817c67 --- /dev/null +++ b/content/microposts/2025-03-17-risc-v-gpu.md @@ -0,0 +1,12 @@ +--- +title: "RISC-V-Revolution bei GPUs?" +date: 2025-03-17T08:31:00.000Z +description: "RISC-V-Revolution bei GPUs?" +--- +RISC-V-Revolution bei GPUs? 🤯 + +Bolt Graphics' Zeus will Nvidia's RTX 5090 in bestimmten Bereichen schlagen! + +💥 Stark bei Path Tracing & FP64, schwächer bei Games. Kommt da Konkurrenz? 🤔 + +🔗 [https://winfuture.de/news,149613.html](https://winfuture.de/news,149613.html) diff --git a/content/microposts/2025-03-19-openproject-1540-veroffentlicht.md b/content/microposts/2025-03-19-openproject-1540-veroffentlicht.md new file mode 100644 index 0000000..f99167e --- /dev/null +++ b/content/microposts/2025-03-19-openproject-1540-veroffentlicht.md @@ -0,0 +1,6 @@ +--- +title: "OpenProject 15.4.0 veröffentlicht" +date: 2025-03-19T11:27:00.000Z +description: "OpenProject 15.4.0 veröffentlicht" +--- +💥 OpenProject 15.4.0 veröffentlicht 🔗 [Release Notes](https://www.openproject.org/docs/release-notes/15-4-0/) diff --git a/content/microposts/2025-03-22-ki-forscher-geld-in-sackgasse.md b/content/microposts/2025-03-22-ki-forscher-geld-in-sackgasse.md new file mode 100644 index 0000000..41ed6a5 --- /dev/null +++ b/content/microposts/2025-03-22-ki-forscher-geld-in-sackgasse.md @@ -0,0 +1,6 @@ +--- +title: "Mehrheit der KI-Forscher sagt, die Tech-Industrie steckt Milliarden in eine Sackgasse" +date: 2025-03-22T16:23:00.000Z +description: "Mehrheit der KI-Forscher sagt, die Tech-Industrie steckt Milliarden in eine Sackgasse" +--- +😲 Mehrheit der KI-Forscher sagt, die Tech-Industrie steckt Milliarden in eine Sackgasse 🔗 [Bericht auf Slashdot (🇬🇧)](https://slashdot.org/story/25/03/22/0341222/majority-of-ai-researchers-say-tech-industry-is-pouring-billions-into-a-dead-end?utm_source=rss1.0mainlinkanon) diff --git a/content/posts/2025-01-23-kcs-wissen-effizient-nutzen-und-teilen copy.md b/content/posts/2025-01-23-kcs-wissen-effizient-nutzen-und-teilen copy.md index 68eaf00..1c15948 100644 --- a/content/posts/2025-01-23-kcs-wissen-effizient-nutzen-und-teilen copy.md +++ b/content/posts/2025-01-23-kcs-wissen-effizient-nutzen-und-teilen copy.md @@ -2,6 +2,11 @@ title: Neuer Blogartikel - KCS® – Wissen effizient nutzen und teilen date: 2025-01-23T01:00:00.000Z description: Revolutionäres Wissensmanagement mit KCS® - Aktive Nutzung und Weiterentwicklung von Wissen für effiziente Arbeitsprozesse und besseren Kundenservice. +categories: [ + "KCS", + "Servicemanagement", + "Privates Blog" +] externalurl: https://stephan.hadan.de/blog/2025/01/23/kcs--wissen-effizient-nutzen-und-teilen/ --- In meinen Tech-Blog habe ich einen neuen ausführlichen Artikel zum Thema KCS® veröffentlicht. diff --git a/content/posts/2025-01-23-neue-review-zu-localsend-die-plattformubergreifende-alternative-zu-airdrop--co.md b/content/posts/2025-01-23-neue-review-zu-localsend-die-plattformubergreifende-alternative-zu-airdrop--co.md index 53314d9..873afd6 100644 --- a/content/posts/2025-01-23-neue-review-zu-localsend-die-plattformubergreifende-alternative-zu-airdrop--co.md +++ b/content/posts/2025-01-23-neue-review-zu-localsend-die-plattformubergreifende-alternative-zu-airdrop--co.md @@ -1,6 +1,11 @@ --- title: Neue Review zu LocalSend - Die plattformübergreifende Alternative zu AirDrop & Co. date: 2025-01-23T00:30:00.000Z +categories: [ + "Review", + "Software", + "Privates Blog" +] description: LocalSend - Kostenlose Open-Source-App für sicheren Datei- und Nachrichtenaustausch im lokalen Netzwerk – plattformübergreifend, ohne Internetverbindung. externalurl: https://stephan.hadan.de/blog/2025/01/23/localsend-die-plattform%C3%BCbergreifende-alternative-zu-airdrop--co/ --- diff --git a/content/posts/2025-01-28-erste-erfahrungen-mit-decap-cms-ein-neues-tool-für-reaktionsfaehig-net.md b/content/posts/2025-01-28-erste-erfahrungen-mit-decap-cms-ein-neues-tool-für-reaktionsfaehig-net.md index e881b90..30f81be 100644 --- a/content/posts/2025-01-28-erste-erfahrungen-mit-decap-cms-ein-neues-tool-für-reaktionsfaehig-net.md +++ b/content/posts/2025-01-28-erste-erfahrungen-mit-decap-cms-ein-neues-tool-für-reaktionsfaehig-net.md @@ -1,6 +1,9 @@ --- title: "Erste Erfahrungen mit Decap CMS: Ein neues Tool für reaktionsfaehig.net" date: 2025-01-28T12:11:00.000Z +categories: [ + "Technische Umsetzung", +] description: " ChatGPT: ChatGPT Erste Erfahrungen mit Decap CMS: Ein benutzerfreundliches, Open-Source-Content-Management-System für statische Seiten, das einfache Inhaltsverwaltung über Git ermöglicht – perfekt für diff --git a/content/posts/2025-01-28-kennt-jemand-noch-pebble.md b/content/posts/2025-01-28-kennt-jemand-noch-pebble.md index a885a98..e784477 100644 --- a/content/posts/2025-01-28-kennt-jemand-noch-pebble.md +++ b/content/posts/2025-01-28-kennt-jemand-noch-pebble.md @@ -1,6 +1,10 @@ --- title: Kennt jemand noch Pebble? date: 2025-01-28T08:47:00.000Z +categories: [ + "New Hotness", + "Nostalgie" +] description: Neue Informationen vom Pebble-Gründer - Pebble-Revival --- Pebble ist eine E-Paper-Smartwatch mit einfacher Funktionalität, langer Akkulaufzeit und witzigem, skurrilem Design. Sie wurde 2012 auf Kickstarter vorgestellt und über 2 Millionen Mal verkauft, bevor das geistige Eigentum des Unternehmens 2016 an Fitbit verkauft wurde. Pebble-Gründer Eric Migicovsky möchte wieder Pebble-kompatible vernetzte Armbanduhren auf den Markt bringen. Eine Website hierzu existiert bereits: [https://repebble.com/](https://repebble.com/). Hier kann man sich auch anmelden, um sein [Interesse an einer neuen Pebble zu bekunden](https://repebble.com/signup.html). Google hat den Quellcode des Betriebssystems auf [Github](https://github.com/google/pebble) veröffentlicht. Die Smartwatches sind auch heute noch in Betrieb. Eine tolle Nachricht, ich liebte diese Smartwatch. diff --git a/content/posts/2025-01-28-um-nochmal-auf-pebble-zurückzukommen.md b/content/posts/2025-01-28-um-nochmal-auf-pebble-zurückzukommen.md index b198daf..8cefdec 100644 --- a/content/posts/2025-01-28-um-nochmal-auf-pebble-zurückzukommen.md +++ b/content/posts/2025-01-28-um-nochmal-auf-pebble-zurückzukommen.md @@ -1,6 +1,10 @@ --- title: Um nochmal auf Pebble zurückzukommen ... date: 2025-01-28T09:26:00.000Z +categories: [ + "New Hotness", + "Nostalgie" +] description: Rebble lässt alte Pebble-Watches wieder aufleben... --- Da fällt mir noch etwas ein: falls ihr noch eine funktionfähige Pebble in der Schublade liegen habt, könnt ihr mit [Rebble](https://rebble.io/) diese wieder zum Leben erwecken. Die alten Pebble-Dienste wurden ja 2016 deaktiviert. Rebble hat sich ebenso bereits [positioniert](https://rebble.io/2025/01/27/the-future-of-rebble.html) bzgl. Zukunft der Pebble-Community. diff --git a/content/posts/2025-02-01-andere-dein-passwort-tag.md b/content/posts/2025-02-01-andere-dein-passwort-tag.md new file mode 100644 index 0000000..2432a77 --- /dev/null +++ b/content/posts/2025-02-01-andere-dein-passwort-tag.md @@ -0,0 +1,49 @@ +--- +title: Ändere-Dein-Passwort-Tag – Zeit für einen neuen Blick auf unsere Passwortsicherheit +date: 2025-02-01T21:15:00.000Z +categories: [ + "Meinung", + "Sicherheit" +] +description: In den letzten Jahren hat sich viel im Bereich der digitalen Sicherheit verändert – und das auch, was wir über Passwörter denken. Der klassische „Ändere-Dein-Passwort-Tag“, an dem regelmäßig erzwungen wird, das Passwort zu wechseln, gehört inzwischen für viele zum digitalen Relikt der Vergangenheit. Aber warum eigentlich? Und welche Alternativen gibt es? +--- +In den letzten Jahren hat sich viel im Bereich der digitalen Sicherheit verändert – und das auch, was wir über Passwörter denken. Der klassische „Ändere-Dein-Passwort-Tag“, an dem regelmäßig erzwungen wird, das Passwort zu wechseln, gehört inzwischen für viele zum digitalen Relikt der Vergangenheit. Aber warum eigentlich? Und welche Alternativen gibt es? Lass uns das Ganze mal genauer anschauen. + +## Der Irrglaube der regelmäßigen Passwort-Wechsel + +Viele Unternehmen und Organisationen haben lange darauf bestanden, dass Nutzer ihre Passwörter in regelmäßigen Abständen ändern. Die Logik dahinter schien zunächst simpel: Wenn jemand dein Passwort geknackt hat, kann er es nicht ewig nutzen, wenn du es ständig änderst. Doch die Realität sieht oft anders aus. + +**Häufige erzwungene Passwort-Wechsel führen oft zu einfachen und leicht zu knackenden Passwörtern.** + +Wenn man gezwungen ist, alle paar Monate ein neues Passwort zu erstellen, wird oft der einfache Weg gewählt: Ein simpler Anhang, eine kleine Variation oder gar eine Wiederholung ähnlicher Muster. Dies hat einen paradoxen Effekt: Statt komplexer und sicherer Passwörter entstehen oft simple und vorhersehbare Codes, die Hacker leicht knacken können. Die ständige Veränderung drängt uns dazu, Passwörter zu wählen, die wir uns schnell merken können – und das sind oft die, die auch leicht zu erraten sind. + +## Wann sollte man das Passwort wirklich wechseln? + +Der altbekannte "Passwort-Wechsel alle 90 Tage" ist mittlerweile für viele Experten nicht mehr zeitgemäß. + +**Passwörter sollten nur gewechselt werden, wenn sie zu schwach sind, geknackt wurden oder Teil eines Datenlecks sind.** + +Warum? Weil ein zwanghafter Wechsel oft zu unsichereren Entscheidungen führt. Es ist effektiver, von Anfang an ein starkes Passwort zu wählen und es nur dann zu ändern, wenn es tatsächlich Anlass zur Sorge gibt. Ein ständiger Wechsel ohne konkreten Anlass bietet Hackern zwar nur eine kurze Zeitspanne, in der das Passwort gültig ist, aber er setzt auch den Nutzer unter zusätzlichen Druck und führt häufig zu Fehlern oder Sicherheitslücken. + +## Die Rolle von Passwort-Managern und Mehr-Faktor-Authentifizierung + +Eine der besten Strategien, um sich im digitalen Dschungel zurechtzufinden, ist der Einsatz von **Passwort-Managern**. Diese Tools ermöglichen es dir, komplexe und einzigartige Passwörter für jede Website zu generieren und zu speichern – und das ganz sicher. Du musst dir nur noch ein starkes Master-Passwort merken. So wird das Risiko minimiert, dasselbe oder ähnliche Passwörter mehrfach zu verwenden, was eines der häufigsten Sicherheitsrisiken darstellt. + +Doch es hört nicht bei starken Passwörtern auf: **Mehr-Faktor-Authentifizierung (MFA)** ist ein weiterer entscheidender Schritt in Richtung erhöhter Sicherheit. Selbst wenn dein Passwort einmal in die falschen Hände geraten sollte, bietet MFA eine zusätzliche Schutzschicht. Ob per App oder biometrischen Daten – diese zusätzliche Verifikation macht es Hackern erheblich schwerer, sich Zugang zu deinem Account zu verschaffen. + +## Die Luxuslösung: Passkeys statt Passwörter + +Ein weiterer spannender Trend, der die Zukunft der Authentifizierung prägen könnte, sind **Passkeys**. Anstatt sich an komplexe Passwörter zu erinnern, verwendet man dabei kryptografische Schlüssel, die auf deinem Gerät gespeichert werden. Diese Methode ist nicht nur benutzerfreundlicher, sondern auch wesentlich sicherer. Da Passkeys auf modernen Technologien wie der Public-Key-Kryptografie basieren, wird das Risiko von Phishing und anderen Angriffen erheblich reduziert. + +Passkeys bieten den großen Vorteil, dass sie gegen gängige Angriffe nahezu immun sind. Während Passwörter oft das Ziel von Brute-Force-Angriffen oder Datenlecks werden, machen Passkeys diesen Angriffsvektor praktisch unschädlich. Der Umstieg mag anfangs eine Umstellung sein, doch langfristig ist es eine Investition in die Sicherheit deiner digitalen Identität. + +## Fazit + +Der traditionelle „Ändere-Dein-Passwort-Tag“ ist für die heutige digitale Welt einfach nicht mehr zeitgemäß. Anstatt uns ständig zu stressen und zu schwachen Passwort-Entscheidungen zu zwingen, sollten wir uns auf echte Sicherheitsstrategien konzentrieren: + +- **Nur dann Passwörter wechseln**, wenn es wirklich nötig ist. +- **Passwort-Manager nutzen**, um starke und einzigartige Passwörter zu generieren und zu speichern. +- **Mehr-Faktor-Authentifizierung einführen**, um zusätzliche Sicherheitsebenen zu schaffen. +- Den Blick in die Zukunft richten und **Passkeys als Premiumlösung** in Erwägung ziehen. + +Indem wir auf diese modernen Sicherheitsansätze setzen, machen wir es Hackern deutlich schwerer und sichern unsere digitalen Identitäten langfristig ab. Es ist an der Zeit, alte Gewohnheiten über Bord zu werfen und auf zukunftsweisende Technologien zu setzen – denn in der Welt der Cybersecurity zählt nicht die Häufigkeit des Passwortwechselns, sondern die Qualität und die intelligente Nutzung moderner Schutzmechanismen. diff --git a/content/posts/2025-02-10-apple-veroeffentlicht-macos-sequoia-1531.md b/content/posts/2025-02-10-apple-veroeffentlicht-macos-sequoia-1531.md new file mode 100644 index 0000000..6eebe17 --- /dev/null +++ b/content/posts/2025-02-10-apple-veroeffentlicht-macos-sequoia-1531.md @@ -0,0 +1,15 @@ +--- +title: Apple veröffentlicht macOS Sequoia 15.3.1 +date: 2025-02-10T18:45:00.000Z +categories: [ + "macOS", + "Sicherheit" +] +description: Apple hat heute macOS Sequoia 15.3.1 veröffentlicht, ein kleineres Update für das Betriebssystem macOS Sequoia, das im vergangenen September erschienen ist. Das Update folgt wenige Wochen nach der Veröffentlichung von macOS Sequoia 15.3. +--- + +Apple hat heute macOS Sequoia 15.3.1 veröffentlicht, ein kleineres Update für das Betriebssystem macOS Sequoia, das im vergangenen September erschienen ist. Das Update folgt wenige Wochen nach der Veröffentlichung von macOS Sequoia 15.3. + +Mac-Nutzer können das macOS Sequoia Update über den Bereich "Softwareupdate" in den Systemeinstellungen herunterladen. Für Anwender älterer macOS-Versionen hat Apple außerdem macOS 13.7.4 und macOS 14.7.4 bereitgestellt. + +Laut den Veröffentlichungshinweisen von Apple enthält macOS Sequoia 15.3.1 wichtige Sicherheitsupdates und wird allen Nutzern empfohlen. \ No newline at end of file diff --git a/content/posts/2025-02-10-mach-dein-business-smarter.md b/content/posts/2025-02-10-mach-dein-business-smarter.md new file mode 100644 index 0000000..128fd34 --- /dev/null +++ b/content/posts/2025-02-10-mach-dein-business-smarter.md @@ -0,0 +1,57 @@ +--- +title: Mach dein Business smarter – mit kostenlosen KI-Tools! +date: 2025-02-10T15:15:00.000Z +categories: [ + "AI", + "Business" +] +description: Künstliche Intelligenz (KI) klingt nach Zukunftsmusik? Nope – sie ist längst da und kann dein Business aufs nächste Level bringen! Dieser Artikel zeigt dir, wie du ohne großes Budget von KI profitieren kannst. Von smarter Finanzplanung über automatisierte Kundenbetreuung bis hin zu cleveren Datenanalysen – mit Open-Source-Tools und günstigen Cloud-Lösungen kannst du KI einfach in deinen Alltag integrieren. Hier bekommst du die besten Tipps, Tools und Strategien, um mit wenig Geld viel KI-Power zu nutzen. +--- + +Künstliche Intelligenz (KI) klingt nach Zukunftsmusik? Nope – sie ist längst da und kann dein Business aufs nächste Level bringen! Dieser Artikel zeigt dir, wie du **ohne großes Budget** von KI profitieren kannst. Von smarter Finanzplanung über automatisierte Kundenbetreuung bis hin zu cleveren Datenanalysen – mit Open-Source-Tools und günstigen Cloud-Lösungen kannst du KI einfach in deinen Alltag integrieren. Hier bekommst du die besten **Tipps, Tools und Strategien**, um mit wenig Geld **viel KI-Power** zu nutzen. + +## Wie KI dein Business voranbringen kann + +KI verändert, wie Unternehmen arbeiten – und das nicht nur für die Big Player. Auch **kleine Unternehmen und Solo-Selbstständige** können mit smarten, kostenlosen oder günstigen KI-Tools **effizienter arbeiten und bessere Entscheidungen treffen**. Hier sind die wichtigsten Vorteile: + +**Finanzen im Griff – mit KI-Unterstützung** + +- **Schlaue Budgetplanung** mit Tools wie **Fiskal IQ** oder **PlanGuru**, die Einnahmen und Ausgaben analysieren und dir zeigen, wo du sparen kannst. +- **Bessere Kreditentscheidungen** dank maschinellem Lernen – Banken und Finanzdienstleister nutzen KI, um Kreditrisiken und Chancen **viel genauer** zu bewerten. +- **Echtzeit-Finanzüberblick** mit smarten Buchhaltungstools wie **Xero AI** oder **QuickBooks AI**, die automatisch Anomalien aufspüren und dir helfen, dein Budget zu optimieren. + +**Kundenservice, der nie schläft** + +- **Chatbots & virtuelle Assistenten** wie **Drift AI** oder **ChatGPT** beantworten Routinefragen rund um die Uhr – das spart Zeit und verbessert die Kundenzufriedenheit. +- **Personalisierte Empfehlungen**, die deinen Kunden genau das zeigen, was sie interessiert – so wie es große Online-Shops bereits mit **Google Analytics AI** oder **Shopify AI** machen. + +**Bessere Entscheidungen mit datengetriebenen Insights** + +- **Automatisierte Marktanalysen** mit **Power BI AI** oder **Tableau AI**, damit du immer weißt, was gerade gefragt ist. +- **Echtzeit-Trendanalysen**, die dir helfen, **rechtzeitig** auf neue Entwicklungen zu reagieren – sei es im Marketing, in der Produktion oder im Vertrieb. + +## Kostenlose KI? Kein Problem! Open-Source & günstige Alternativen + +Wenn du unabhängig von großen Cloud-Anbietern bleiben willst, sind **lokale KI-Modelle** eine spannende Alternative. + +- **Ollama** – Damit kannst du KI-Modelle **direkt auf deinem eigenen Rechner laufen lassen**, ohne teure Cloud-Kosten. Ideal für Unternehmen, die Datenschutz und Kontrolle über ihre KI-Anwendungen behalten wollen. +- **Fast.ai** – Perfekt für Startups, weil es maschinelles Lernen super einfach macht. +- **Hugging Face Transformers** – Falls du Chatbots oder smarte Textanalysen brauchst. +- **Stable Diffusion** – Für kreative Köpfe: KI-generierte Bilder für Werbung oder Social Media. + +Und wenn du KI-Agenten oder Automationen bauen willst: + +- **n8n** – Eine **Open-Source-Alternative zu Zapier**, mit der du KI-Agenten und Workflows verbinden kannst. Du kannst zum Beispiel einen **GPT-basierten Kundensupport-Agenten mit deinem CRM** verknüpfen oder automatisch E-Mails generieren lassen. + +## KI ohne großes Budget – so klappt’s + +✅ **Nutze Open-Source-Tools** wie **Ollama**, um KI **lokal** zu betreiben, ohne Cloud-Kosten. +✅ **Automatisiere Prozesse mit n8n** – z. B. für **E-Mail-Marketing, Datenauswertung oder KI-gestützte Kundeninteraktionen**. +✅ **Teste KI-Cloud-Dienste** mit kostenlosen Testphasen – zum Beispiel für smarte Datenanalysen. +✅ **Starte mit kleinen Projekten**, z. B. einem Chatbot oder automatisierten Berichten mit n8n. +✅ **Arbeite mit Partnern zusammen** – ein KI-Startup könnte genau die Lösung bieten, die du brauchst. +✅ **Lerne ständig dazu** – es gibt viele **kostenlose Kurse auf Coursera, edX oder Udacity**, die dich fit für KI machen. + +## Fazit: Jetzt ist die beste Zeit, KI zu nutzen! + +Künstliche Intelligenz ist **kein Luxus mehr** – selbst mit wenig Budget kannst du sie clever für dein Business einsetzen. Egal, ob für Finanzen, Kundenservice oder Marktanalysen – mit **kostenlosen Open-Source-Tools, Cloud-Diensten und ein paar smarten Tricks** kannst du KI nutzen, um effizienter zu arbeiten und dein Unternehmen voranzubringen. Also, worauf wartest du? **Let’s go KI! 🚀** diff --git a/content/posts/2025-02-10-wichtiges-update-ios-ipados-1775-und-1831.md b/content/posts/2025-02-10-wichtiges-update-ios-ipados-1775-und-1831.md new file mode 100644 index 0000000..ee39c50 --- /dev/null +++ b/content/posts/2025-02-10-wichtiges-update-ios-ipados-1775-und-1831.md @@ -0,0 +1,27 @@ +--- +title: Wichtiges Update - iOS 18.3.1 behebt aktiv ausgenutzte Sicherheitslücke +date: 2025-02-10T19:15:00.000Z +categories: [ + "iOS", + "iPadOS", + "Sicherheit" +] +description: Apple hat heute ein wichtiges Sicherheitsupdate für iOS 18.3.1 und iPadOS 18.3.1 veröffentlicht, das schnellstmöglich installiert werden sollte. Der Grund - eine Sicherheitslücke wurde bereits aktiv von Angreifern ausgenutzt. +--- + +Apple hat heute ein wichtiges Sicherheitsupdate für iOS 18.3.1 und iPadOS 18.3.1 veröffentlicht, das schnellstmöglich installiert werden sollte. Der Grund: Eine Sicherheitslücke wurde bereits aktiv von Angreifern ausgenutzt. + +Laut Apples Sicherheitsdokument betrifft die Schwachstelle eine Accessibility-Funktion, die es ermöglicht, den USB-Restricted Mode an gesperrten Geräten zu deaktivieren. Für die Ausnutzung dieser Sicherheitslücke ist zwar ein physischer Zugriff auf das Gerät erforderlich, dennoch wurde sie bereits gezielt gegen bestimmte Personen eingesetzt. + +## Auswirkungen + +Ein physischer Angriff könnte den USB-Restricted Mode an einem gesperrten Gerät deaktivieren. Apple bestätigt, dass diese Schwachstelle bereits in einem hochkomplexen Angriff gegen gezielt ausgewählte Personen ausgenutzt wurde. + +## Die Lösung + +Apple hat die Sicherheitslücke durch ein verbessertes Zustandsmanagement behoben. Für ältere Geräte, die iOS 18 nicht unterstützen, wurde außerdem iPadOS 17.7.5 mit demselben Sicherheitsfix bereitgestellt. + +### Handlungsempfehlung + +* Besitzer eines iPhones, das mit iOS 18 kompatibel ist, sollten umgehend auf iOS 18.3.1 aktualisieren +* iPad-Nutzer sollten je nach Modell entweder iPadOS 18.3.1 oder iPadOS 17.7.5 installieren \ No newline at end of file diff --git a/content/posts/2025-02-11-duckduckgo-ai-chat.md b/content/posts/2025-02-11-duckduckgo-ai-chat.md new file mode 100644 index 0000000..804a660 --- /dev/null +++ b/content/posts/2025-02-11-duckduckgo-ai-chat.md @@ -0,0 +1,32 @@ +--- +title: DuckDuckGo AI Chat - Anonym, kostenlos und vielseitig +date: 2025-02-11T10:05:00.000Z +categories: [ + "AI", + "Ankündigung" +] +description: Der DuckDuckGo AI Chat ist eine kostenlose Beta-Funktion, die es ermöglicht, anonym mit verschiedenen KI-Chatmodellen zu interagieren. +--- + +Der DuckDuckGo AI Chat ist eine kostenlose Beta-Funktion, die es ermöglicht, anonym mit verschiedenen KI-Chatmodellen zu interagieren. Nutzer können Fragen stellen, E-Mails verfassen, Texte zusammenfassen oder einfach interessante Gespräche führen – ohne Registrierung und mit vollem Datenschutz. + +Aktuell unterstützt der DuckDuckGo AI Chat folgende Modelle: + +* Anthropic’s Claude 3 Haiku +* Mistral AI’s Mixtral 8x7B +* OpenAI’s GPT-4o mini +* Meta’s Llama 3.1 70B (entwickelt mit Llama) +* OpenAI’s o3-mini + +Jedes Modell basiert auf unterschiedlichen Algorithmen und Datensätzen, wodurch die Antworten je nach gewählter KI variieren. Die Funktion ist nahtlos in den DuckDuckGo-Browser integriert und kann dort optional aktiviert werden: + +![Screenshot DuckDuckGo-Browser mit markiertem AI-Chat-Button](/assets/images/20250211/duckduckgobrowser.png) + +Aber fragen wir doch einfach mal das o3-mini-Modell, was der Duck AI-Chat ist: + +![o3-mini-llm beantwortet die Frage was er eigentlich ist](/assets/images/20250211/o3-mini-llm-selbstauskunft.png) + +Berücksichtigt werden muss, dass es ein [Tageslimit](https://duckduckgo.com/duckduckgo-help-pages/aichat/usage-limits/) gibt, welcher die Nutzung entsprechend limitiert. In der Dokumentation werden sämtliche Fragen beantwortet u.a. auch zur Wahrung der Privatsphäre deiner Anfragen. + +🔗 [DuckDuckGo](https://duckduckgo.com/)
+🔗 [Link zur Duck AI Chat Dokumentation](https://duckduckgo.com/duckduckgo-help-pages/aichat/) \ No newline at end of file diff --git a/content/posts/2025-02-11-europa-setzt-auf-eigene-ki-strategie-–-und-investiert-massiv.md b/content/posts/2025-02-11-europa-setzt-auf-eigene-ki-strategie-–-und-investiert-massiv.md new file mode 100644 index 0000000..06c28a3 --- /dev/null +++ b/content/posts/2025-02-11-europa-setzt-auf-eigene-ki-strategie-–-und-investiert-massiv.md @@ -0,0 +1,24 @@ +--- +title: Europa setzt auf eigene KI-Strategie – und investiert massiv +date: 2025-02-11T16:12:00.000Z +categories: [ + "AI", + "IT-News" +] +description: "Beim AI Action Summit in Paris machte Ursula von der Leyen klar: + Europa will bei KI nicht nur mitspielen, sondern eine führende Rolle + übernehmen. " +--- +Beim AI Action Summit in Paris machte Ursula von der Leyen klar: Europa will bei KI nicht nur mitspielen, sondern eine führende Rolle übernehmen. Statt den USA oder China hinterherzulaufen, setzt die EU auf einen eigenen Weg – mit Fokus auf industrielle Anwendungen, Open-Source-Technologien und internationale Kooperation. + +**Das steckt drin:** + +✅ KI für die Industrie: Effizienz steigern und Innovation vorantreiben
+✅ Zusammenarbeit & Open Source: Wissen teilen, Fortschritt beschleunigen
+✅ Massive Investitionen: 200 Mrd. Euro für europäische KI-Projekte
+✅ KI-Fabriken & Gigafabriken: Hochleistungsrechenzentren für zukunftsfähige Modelle
+✅ Der AI Act: Einheitliche Regeln für sichere und vertrauenswürdige KI
+ +Europa will nicht nur für sich selbst entwickeln – mit der AI Foundation soll KI auch global, besonders im Globalen Süden, als „Kraft für das Gute“ genutzt werden. + +**Fazit:** Die KI-Zukunft ist offen – und Europa setzt alles daran, an vorderster Front mitzuspielen. diff --git a/content/posts/2025-02-11-ki-agenten-selbst-bauen.md b/content/posts/2025-02-11-ki-agenten-selbst-bauen.md new file mode 100644 index 0000000..24ba1cd --- /dev/null +++ b/content/posts/2025-02-11-ki-agenten-selbst-bauen.md @@ -0,0 +1,18 @@ +--- +title: 🚀 Neue Artikelserie - KI-Agenten selbst bauen natürlich Open Source & lokal! +date: 2025-02-11T09:52:00.000Z +categories: [ + "AI", + "Automation", + "Privates Blog" +] +description: Ihr wollt eure eigenen smarten Assistenten erstellen, die euch den Alltag erleichtern? In meiner neuen Artikelserie zeige ich Schritt für Schritt, wie ihr mit Open-Source-Tools wie n8n, Ollama & Co. eure eigenen KI-Agenten entwickelt – ganz ohne Cloud-Zwang! +externalurl: https://hadan.li/7ZwbEF +--- + +Ihr wollt eure eigenen smarten Assistenten erstellen, die euch den Alltag erleichtern? In meiner neuen 🔗 [Artikelserie](https://hadan.li/7ZwbEF) zeige ich Schritt für Schritt, wie ihr mit Open-Source-Tools wie n8n, Ollama & Co. eure eigenen KI-Agenten entwickelt – ganz ohne Cloud-Zwang! + +🔍 Automatisierte Recherchen
+📩 Intelligente E-Mail-Verarbeitung
+🎙️ Sprachnachrichten transkribieren
+📄 Dokumente zusammenfassen \ No newline at end of file diff --git a/content/posts/2025-02-12-iris----das-zukunftsweisende-europ--ische-satellitennetzwerk.md b/content/posts/2025-02-12-iris----das-zukunftsweisende-europ--ische-satellitennetzwerk.md new file mode 100644 index 0000000..fb0c20e --- /dev/null +++ b/content/posts/2025-02-12-iris----das-zukunftsweisende-europ--ische-satellitennetzwerk.md @@ -0,0 +1,37 @@ +--- +title: IRIS² – das zukunftsweisende europäische Satellitennetzwerk +date: 2025-02-12T04:52:00.000Z +categories: [ + "IT-News" +] +description: Europa macht sich auf den Weg in eine neue Ära der digitalen Kommunikation - Mit IRIS² baut die Europäische Union ein satellitengestütztes Netzwerk auf, das nicht nur zivilen Nutzern, sondern auch Sicherheitsbehörden und der Verteidigung zugutekommen soll. +feature: /assets/images/20250211/iris2.jpeg +--- + +Europa macht sich auf den Weg in eine neue Ära der digitalen Kommunikation: Mit IRIS² baut die Europäische Union ein satellitengestütztes Netzwerk auf, das nicht nur zivilen Nutzern, sondern auch Sicherheitsbehörden und der Verteidigung zugutekommen soll. Anders als herkömmliche Kommunikationssysteme bietet IRIS² ein ganz neues Maß an Konnektivität, Redundanz und Sicherheit – und das in einer Zeit, in der globale Cyber- und Kommunikationskrisen immer wahrscheinlicher erscheinen. + +## Worum geht es genau? + +Es handelt sich um ein europaweites Satellitennetzwerk, das verschiedene Anwendungen – von der Breitbandversorgung bis hin zu sicherheitsrelevanten Kommunikationsdiensten – unterbringen soll. Ein zentrales Ziel ist es, die digitale Souveränität Europas zu stärken und eine zuverlässige Alternative zu nicht-europäischen Systemen bereitzustellen. + +## Internationale Beachtung und politische Unterstützung + +Die Bedeutung von IRIS² wird auch in internationalen Medien und bei politischen Institutionen hervorgehoben. So berichtet ORF in einem Artikel, dass das Projekt als strategischer Meilenstein angesehen wird. Die Initiative unterstreicht Europas Ambitionen, sich von technisch überlegenen Wettbewerbern unabhängiger zu machen und dabei innovative Technologien, vor allem im Kontext der digitalen Kommunikation, voranzutreiben. + +Aus dieser Perspektive hat auch die Europäische Kommission das Projekt in einem offiziellen Statement veröffentlicht. Es wird betont, wie wichtig das Vorhaben für die digitale Transformation ist und welche Chancen es insbesondere im zivilen Sektor eröffnet. Hierbei geht es nicht allein um die Versorgung mit Internetdiensten, sondern auch um die Absicherung kritischer Infrastrukturen und den Schutz vor Cyberangriffen. + +## Digitale Kommunikation und Verteidigung Hand in Hand + +Ein weiterer interessanter Aspekt, der von Security Insider beleuchtet wird, ist der Einsatz von IRIS² auch im Bereich der Sicherheit und Verteidigung. Die Fähigkeit, Kommunikationsnetzwerke auch in Krisensituationen zuverlässig zu betreiben, spielt eine immer größere Rolle – sei es zur Koordination von Rettungsdiensten oder zur Unterstützung militärischer Operationen. Die Integration in die europäische Sicherheitsarchitektur könnte Europas Reaktionsfähigkeit bei außergewöhnlichen Ereignissen deutlich verbessern und macht IRIS² zu einem wichtigen Baustein für die Zukunft. + +## Fazit + +![IRIS²-Logo der EU](/assets/images/20250212/iris2.jpeg) + +Mit IRIS² betritt Europa Neuland: Ein flexibles, leistungsstarkes Kommunikationssystem, das sowohl den Bedürfnissen der Zivilgesellschaft als auch den Erfordernissen von Sicherheit und Verteidigung gerecht wird. Die verschiedenen Berichte und offiziellen Stellungnahmen zeigen, dass hier nicht nur technisch, sondern auch strategisch eine wichtige Weichenstellung vorgenommen wird. Egal, ob als verlässlicher Breitbandanbieter in abgelegenen Regionen oder als kritisches Rückgrat in Krisenzeiten – IRIS² könnte sich als essenzielles Instrument für Europas digitale Zukunft etablieren. + +Damit ist IRIS² ein Paradebeispiel dafür, wie Technologie, Politik und Sicherheit in Europa Hand in Hand gehen können. Dran bleiben – die nächsten Jahre versprechen, die digitale Landschaft nachhaltig zu verändern. + +Der Start ist für 2030 vorgesehen. + +**Neueste Pressemitteilung**: [Commission takes next step to deploy the IRIS² secure satellite system](https://defence-industry-space.ec.europa.eu/commission-takes-next-step-deploy-iris2-secure-satellite-system-2024-12-16_en?prefLang=de) diff --git a/content/posts/2025-02-15-apple-konto-migration.md b/content/posts/2025-02-15-apple-konto-migration.md new file mode 100644 index 0000000..eaeb11d --- /dev/null +++ b/content/posts/2025-02-15-apple-konto-migration.md @@ -0,0 +1,29 @@ +--- +title: Apple-Konto-Migration +date: 2025-02-15T12:59:00.000Z +categories: [ + "Apple", + "IT-News" +] +description: Eine Apple-Konto-Migration kann eine relevante Option für + Unternehmensbenutzer sein, die eine Firmen-E-Mail für ihr persönliches, nicht + verwaltetes Apple-Konto verwendet haben und davon wegziehen müssen, wenn Ihre + Organisation anfängt, diese E-Mail-Domäne für verwaltete Apple-Konten zu + beanspruchen. +--- +Welcher Admin kennt das Problem nicht: Apple-Konten in Unternehmen müssen laut den Geschäftsbedingungen von Apple als „Business-Konten“ angelegt werden. Nun ist es so, dass seit Jahren Apple-Konten in Unternehmen einfach mit der Firmenadresse angelegt wurden, dies ist jedoch kein „Business-Konto“ und verstößt gegen die Bedingungen von Apple – von dem damit verbundenen Verwaltungs- und Sicherheitsalbtraum ganz zu schweigen. + +Eine Umstellung von Consumer- auf ein Business-Konto inkl. der Käufe war bisher nicht möglich. Damit waren Umstellungen, die Unternehmens-E-Mail-Adresse als Business-Konto bereitzustellen, nicht möglich. + +Jetzt bessert Apple nach und hat zumindest in den USA eine Migrationsoption eingeführt. Bleibt zu hoffen, dass diese Option schnellstmöglich in Europa nachgezogen wird. + +Die Verknüpfung vom Apple Business Manager mit der Unternehmens-E-Mail-Adresse bietet viele Möglichkeiten, die User-Experience bspw. beim Onboarding nachhaltig zu verbessern und die Apple-ID mit der Unternehmens-ID zu verknüpfen. Somit können die Informationen, welche im Apple-Universum unternehmensseitig abgelegt werden, zentral gesteuert und Apple-Dienste via Single-Sign-On bereitgestellt werden. + +Hier die entsprechenden Links: + +- [About migrating Apple Account purchases between accounts](https://cur.at/ka2EhfS?m=web&sid=3ogS60x) +- [Migrate purchases from one Apple Account to another Apple Account](https://cur.at/unjffaE?m=web&sid=3ogS60x) +- [Undo a migration of Apple Account purchases between accounts](https://cur.at/Xfc22S9?m=web&sid=3ogS60x) +- [Michael Tsai: Migrating Apple Account Purchases Between Accounts](https://cur.at/LodkjEr?m=web&sid=3ogS60x) + +Mac-Sysadmins sollten das auf jeden Fall im Blick halten! diff --git a/content/posts/2025-02-18-künstliche-intelligenz-und-kritisches-denken-gefahr-der-verdummung.md b/content/posts/2025-02-18-künstliche-intelligenz-und-kritisches-denken-gefahr-der-verdummung.md new file mode 100644 index 0000000..c8a29d3 --- /dev/null +++ b/content/posts/2025-02-18-künstliche-intelligenz-und-kritisches-denken-gefahr-der-verdummung.md @@ -0,0 +1,39 @@ +--- +title: "Künstliche Intelligenz und Kritisches Denken: Gefahr der Verdummung?" +date: 2025-02-18T13:38:00.000Z +categories: [ + "AI", + "IT-News" +] +description: Die Nutzung von KI steigert die Effizienz, kann jedoch das + kritische Denken schwächen. Warum es wichtig ist, bewusst mit KI-Tools + umzugehen und welche Risiken bestehen. +feature: /assets/images/20250218/aistudy.png +--- +### Effizienz versus Reflexion – Wie beeinflusst KI unser Denken? + +Künstliche Intelligenz (KI) revolutioniert den Arbeitsalltag: Routinetätigkeiten werden automatisiert, Prozesse effizienter gestaltet. Doch eine aktuelle Studie, durchgeführt von Microsoft und der Carnegie Mellon University, warnt vor einem Schatteneffekt. Die Untersuchung mit 319 Wissensarbeitern ergab, dass ein zu großes Vertrauen in generative KI (wie ChatGPT, Google Gemini oder Copilot) dazu führt, dass kritische Denkprozesse weniger stark gefordert werden. Nutzer berichten, sie würden – gerade beim Überprüfen der KI-Ergebnisse – weniger eigene Analysen durchführen, weil sie den Ergebnissen zu sehr vertrauen. + +### Die Studie im Überblick + +Die Forscher baten Teilnehmer, Beispiele ihrer KI-Nutzung zu schildern und zu bewerten, inwieweit sie die Resultate kritisch hinterfragten. Das Ergebnis: Wer der KI uneingeschränkt vertraut, neigt dazu, Routineaufgaben komplett an die Maschine zu delegieren. Dies kann langfristig dazu führen, dass wichtige kognitive Fähigkeiten – wie das unabhängige Problemlösen und analytische Denken – verkümmern. + +### Neue Erkenntnisse und kritische Stimmen + +Neuere Berichte, unter anderem von TechRadar und Forbes, untermauern diese Befürchtungen. So wird diskutiert, ob KI den menschlichen Denkprozess „atrophiert“ oder ob sie einfach nur Routineaufgaben übernimmt und so Ressourcen für komplexere Aufgaben freisetzt. + +Kritiker weisen jedoch auch darauf hin, dass viele Studien auf Selbsteinschätzungen beruhen und objektive Messungen noch fehlen. Einige Stimmen betonen, dass es ebenso sein könnte, dass Menschen, die weniger kritisch denken, von vornherein stärker auf KI zurückgreifen. + +### Wie können wir kritisches Denken bewahren? + +Die zentrale Botschaft lautet: KI sollte als Werkzeug und nicht als Denkersatz genutzt werden. Praktische Empfehlungen sind: + +* **Bewusstes Hinterfragen**: Nutze KI-Ergebnisse als Ausgangspunkt, prüfe sie auf Plausibilität und beziehe alternative Informationsquellen ein. +* **Gezielte Weiterbildung**: Schulen, Unternehmen und Organisationen sollten Programme anbieten, die den verantwortungsvollen Einsatz von KI fördern und gleichzeitig das eigene analytische Denken stärken. +* **Neue Denkstrategien entwickeln**: Setze KI ein, um Routineaufgaben zu übernehmen – und fokussiere dich dann auf kreative, strategische und kritische Fragestellungen. + +### Fazit + +![KI als Werkzeug oder Denkersatz? – Die richtige Balance zwischen Effizienz und kritischem Denken ist entscheidend.](/assets/images/20250218/aistudy.png) + +Die Balance zwischen Effizienz und kognitiver Aktivität ist entscheidend. KI bietet enormes Potenzial, die Produktivität zu steigern – birgt aber auch die Gefahr, dass wir uns zu sehr auf automatisierte Prozesse verlassen. Ein bewusster und reflektierter Umgang mit diesen Technologien ist daher unerlässlich, um die eigene geistige Schärfe zu erhalten und weiterzuentwickeln. diff --git a/content/posts/2025-02-18-livestream-zu-grok-3.md b/content/posts/2025-02-18-livestream-zu-grok-3.md new file mode 100644 index 0000000..0e5d1b3 --- /dev/null +++ b/content/posts/2025-02-18-livestream-zu-grok-3.md @@ -0,0 +1,27 @@ +--- +title: ✨ Livestream zu Grok 3 +date: 2025-02-18T04:39:00.000Z +categories: [ + "AI", + "IT-News" +] +description: Zusammenfassung zum Livestream zu Grok 3 +feature: /assets/images/20250218/logo-xai-grok.png +--- +Der Livestream der Veröffentlichung von Grok 3 durch xAI, geleitet von Elon Musk, hat die Einführung einer neuen Ära in der Künstlichen Intelligenz markiert. Anbei zusammengefasst die wichtigsten Punkte. + +Grok 3 wurde mit einer Live-Demo vorgestellt, die seine Fortschritte in Bezug auf Komplexität, Geschwindigkeit und Präzision der Antworten zeigte. Die KI konnte komplexe Fragen in Echtzeit beantworten, was auf erhebliche Verbesserungen im Vergleich zu früheren Versionen hinweist. + +Musk betonte die Fähigkeit von Grok 3, logische Konsistenz zu erreichen und Fehler durch Rückbesinnung auf die Trainingsdaten zu korrigieren. Dies umfasst auch die Handhabung von synthetischen Daten zur Verbesserung der Antwortqualität. + +Es wurde gezeigt, wie Grok 3 auf natürliche Sprache reagiert, was Hinweise auf eine mögliche Integration in Tesla-Fahrzeuge für Sprachbefehle gibt. Außerdem wurde ein neuer Live-Sprachmodus vorgestellt, der eine natürlichere Interaktion ermöglicht. + +Grok 3 wurde als die „klügste KI der Welt“ bezeichnet, was darauf hinweist, dass xAI sich als Spitzenreiter im AI-Markt positioniert sieht, insbesondere im Wettbewerb mit anderen führenden AI-Modellen wie denen von OpenAI und Google. + +![Grok-Logo von xAI](/assets/images/20250218/logo-xai-grok.png) + +Posts auf X (ehemals Twitter) und andere soziale Medien reflektieren eine Mischung aus Begeisterung und Skepsis. Viele Nutzer sind gespannt auf die praktische Anwendung und den wahren Einfluss von Grok 3 auf den Alltag. + +Nach der Demonstration wurde angekündigt, dass Grok 3 in den kommenden Tagen für Benutzer verfügbar sein wird, zunächst mit einer kostenlosen Zugangsmöglichkeit auf der Plattform X. + +Die genauen Ergebnisse in Bezug auf die technischen Leistungsdaten oder die spezifischen Vergleiche zu anderen Modellen wurden nicht detailliert aufgeführt, aber der allgemeine Tenor des Livestreams war, dass Grok 3 ein bedeutender Schritt nach vorne in der Entwicklung von KI darstellt. diff --git a/content/posts/2025-02-18-metas-llama-license-die-anhaltende-open-source-kontroverse.md b/content/posts/2025-02-18-metas-llama-license-die-anhaltende-open-source-kontroverse.md new file mode 100644 index 0000000..74cf89c --- /dev/null +++ b/content/posts/2025-02-18-metas-llama-license-die-anhaltende-open-source-kontroverse.md @@ -0,0 +1,116 @@ +--- +title: "Meta's LLaMa License: Die anhaltende Open-Source-Kontroverse" +date: 2025-02-18T14:14:00.000Z +categories: [ + "AI", + "IT-News" +] +description: Die Diskussion um Meta's LLaMa-Modelle und deren Lizenzierung + erreicht einen neuen Höhepunkt. Während Meta seine LLaMa-Modelle weiterhin als + "Open Source" bewirbt, weist die Open Source Initiative (OSI) deutlich darauf + hin, dass die Lizenzierung nicht den grundlegenden Anforderungen der + Open-Source-Definition entspricht. +--- +Die Diskussion um Meta’s LLaMa-Modelle und deren Lizenzierung erreicht einen neuen Höhepunkt. Während Meta seine LLaMa-Modelle weiterhin als „Open Source“ bewirbt, weist die Open Source Initiative (OSI) deutlich darauf hin, dass die Lizenzierung nicht den grundlegenden Anforderungen der Open-Source-Definition entspricht. + +### Die Kernproblematik + +Die aktuelle LLaMa 3.x-Lizenz verstößt gegen mehrere fundamentale Prinzipien der Open-Source-Definition: + +* **Eingeschränkte Nutzungsfreiheit**: Die Lizenz erlaubt keine uneingeschränkte Nutzung des Modells für beliebige Zwecke (Freedom 0). +* **Diskriminierung von Nutzern**: Die Lizenz verstößt gegen Punkt 5 der Open-Source-Definition, indem sie bestimmte Nutzergruppen ausschließt. +* **Einschränkung der Einsatzgebiete**: Entgegen Punkt 6 der Open-Source-Definition werden bestimmte Anwendungsbereiche ausgeschlossen. + +### Detaillierte Analyse der Open-Source-Verstöße + +#### Freedom 0 - Die fundamentale Nutzungsfreiheit + +Freedom 0 ist das grundlegendste Prinzip freier Software und wurde ursprünglich von der Free Software Foundation definiert. Es besagt: + +„Die Freiheit, das Programm für jeden Zweck auszuführen.“ + +Diese fundamentale Freiheit bedeutet: + +* keine Einschränkungen des Verwendungszwecks +* keine Notwendigkeit, um Erlaubnis zu bitten +* keine Berichtspflicht über die Nutzung +* keine Einschränkungen bezüglich der Art der Nutzung (kommerziell oder nicht-kommerziell) + +LLaMa verletzt dieses Prinzip durch verschiedene Nutzungseinschränkungen und Berichtspflichten. + +#### Punkt 5 der Open-Source-Definition – keine Diskriminierung von Personen oder Gruppen + +Dieser Punkt besagt, dass die Lizenz niemanden aufgrund seiner Person oder Gruppenzugehörigkeit diskriminieren darf. Die LLaMa-Lizenz verstößt hiergegen mehrfach: + +* Expliziter Ausschluss von EU-Bürgern +* Einschränkungen für bestimmte Organisationsformen +* Spezielle Anforderungen an bestimmte Nutzergruppen + +Dies widerspricht dem Grundgedanken von Open Source, dass Software für alle gleichermaßen zugänglich sein sollte, unabhängig von ihrer Herkunft oder ihrem Status. + +#### Punkt 6 der Open-Source-Definition – Keine Einschränkung der Einsatzgebiete + +Dieser Punkt verbietet Einschränkungen bezüglich der Einsatzgebiete der Software. Die LLaMa-Lizenz verstößt dagegen durch: + +* Verbot der Nutzung für bestimmte Anwendungsfälle +* Einschränkungen bei der Integration in andere Produkte +* Spezifische Verbote für bestimmte Industriezweige oder Anwendungsbereiche + +### Verschärfung statt Verbesserung + +Statt die bereits bei LLaMa 2 kritisierten Einschränkungen zu lockern, hat Meta mit den neueren Versionen der Community-Lizenz sogar noch strengere Restriktionen eingeführt. Dies steht in direktem Widerspruch zu den Grundprinzipien der Open-Source-Bewegung. + +### Praktische Konsequenzen für Anwender + +Die restriktive Lizenzierung von LLaMa hat weitreichende Auswirkungen für potenzielle Nutzer: + +* **Kommerzielle Einschränkungen**: Unternehmen müssen sehr genau prüfen, ob ihre geplante Nutzung unter die Lizenzbestimmungen fällt. Besonders kritisch ist dies bei: + * Wettbewerbsprodukten zu Meta + * kommerziellen KI-Diensten + * integrierten Geschäftslösungen + +* **Geografische Beschränkungen**: Die Ausgrenzung von EU-Nutzern macht das Modell für viele europäische Projekte und Unternehmen praktisch unnutzbar. + +* **Rechtliche Unsicherheit**: Die komplexen Lizenzbedingungen schaffen eine erhebliche rechtliche Grauzone, die besonders für kleinere Unternehmen und Start-ups ein Risiko darstellt. + +### Alternative Optionen + +Glücklicherweise gibt es mehrere Alternativen zu LLaMa, die verschiedene Lizenzmodelle und Einsatzmöglichkeiten bieten: + +* **Truly Open Source Modelle**: + * Mistral AI’s Modelle mit Apache 2.0 Lizenz + * Falcon Modelle von Technology Innovation Institute + * BLOOM von Hugging Face + +* **Commercial Open Source**: + * OpenAI’s Whisper (für Spracherkennung) + * verschiedene Stability AI Modelle + +* **Proprietäre Alternativen mit klaren Nutzungsbedingungen**: + * Claude von Anthropic + * GPT-4 von OpenAI + * PaLM von Google + +### Entscheidungshilfe für Organisationen + +Bei der Wahl des richtigen Modells sollten Organisationen folgende Faktoren berücksichtigen: + +* **Nutzungszweck**: Klar definieren, ob das Modell für Forschung, kommerzielle Anwendungen oder interne Entwicklung gedacht ist +* **Rechtliche Anforderungen**: Besonders im EU-Raum die Kompatibilität mit DSGVO und AI Act prüfen +* **Ressourcen**: Abwägen zwischen gehosteten Lösungen und Self-Hosting +* **Langfristige Strategie**: Evaluation der Abhängigkeit von einzelnen Anbietern + +### Die Position der Open Source Initiative + +Die OSI hat sich klar positioniert und fordert Meta auf, entweder: + +* die Lizenzierung an die Open-Source-Definition anzupassen, oder +* die irreführende Bezeichnung „Open Source“ nicht länger zu verwenden + +Die Organisation betont, dass diese Problematik bereits vor der Einführung der Open Source AI Definition (OSAID) bestand und unabhängig davon zu betrachten ist. + +## Fazit und Ausblick + +Die Debatte um Meta’s LLaMa-Lizenz zeigt exemplarisch die Spannungen zwischen kommerziellen Interessen und den Prinzipien der Open-Source-Bewegung im Bereich der KI-Entwicklung. Während die Einschränkungen von LLaMa für viele Anwendungsfälle problematisch sind, hat dies auch zu einer Diversifizierung des Marktes geführt, mit mehreren vielversprechenden Alternativen. + +Für Organisationen ist es wichtiger denn je, ihre KI-Strategie sorgfältig zu planen und dabei nicht nur technische, sondern auch rechtliche und ethische Aspekte zu berücksichtigen. Die Entwicklung von wahrhaft offenen Alternativen zu proprietären Modellen wird voraussichtlich weiter zunehmen, was langfristig zu mehr Wahlmöglichkeiten und besserer Transparenz führen könnte. diff --git a/content/posts/2025-02-18-mistral-ai-investiert-milliarden-in-französisches-rechenzentrum.md b/content/posts/2025-02-18-mistral-ai-investiert-milliarden-in-französisches-rechenzentrum.md new file mode 100644 index 0000000..bc17f88 --- /dev/null +++ b/content/posts/2025-02-18-mistral-ai-investiert-milliarden-in-französisches-rechenzentrum.md @@ -0,0 +1,33 @@ +--- +title: Mistral AI investiert Milliarden in französisches Rechenzentrum +date: 2025-02-18T19:04:00.000Z +categories: [ + "AI", + "IT-News" +] +description: "Das französische KI-Startup Mistral AI hat einen bedeutenden + Schritt zur Stärkung seiner technologischen Unabhängigkeit angekündigt: Das + Unternehmen wird mehrere Milliarden Euro in den Bau eines eigenen + Rechenzentrums in Frankreich investieren. Die Anlage wird in Essonne, auf der + Hochebene von Saclay im Süden von Paris, entstehen und soll bereits in den + kommenden Monaten betriebsbereit sein." +feature: /assets/images/20250218/rz-ai.jpeg +--- +Das französische KI-Startup Mistral AI hat einen bedeutenden Schritt zur Stärkung seiner technologischen Unabhängigkeit angekündigt: Das Unternehmen wird mehrere Milliarden Euro in den Bau eines eigenen Rechenzentrums in Frankreich investieren. Die Anlage wird in Essonne, auf der Hochebene von [Saclay](https://www.openstreetmap.org/relation/23773) im Süden von Paris, entstehen und soll bereits in den kommenden Monaten betriebsbereit sein. + +![Lage von Saclay in Bezug zu Paris](/assets/images/20250218/saclay.png) + +„Wir haben uns dafür entschieden, die Kontrolle über die gesamte Wertschöpfungskette zu behalten, von der Maschine bis zur Software“, erklärt Mistral-Mitbegründer und CEO Arthur Mensch im Gespräch mit dem französischen Fernsehsender TF1. Bislang trainiert und betreibt Mistral seine Modelle auf der Infrastruktur amerikanischer Tech-Giganten wie AWS und Microsoft. Mit dem eigenen Rechenzentrum will das Unternehmen diese Abhängigkeit reduzieren. + +Die strategische Entscheidung für den Standort Frankreich basiert auf mehreren Faktoren. Besonders hervorzuheben ist dabei der französische Energiemix: Das Rechenzentrum soll vollständig mit kohlenstofffreier Energie betrieben werden, was durch Frankreichs starke Nutzung von Kernenergie ermöglicht wird. „Wir haben uns aufgrund der Energie-Effizienz und der Qualität des Energiemixes im Hinblick auf die Kohlendioxidemissionen für Frankreich entschieden“, betont Mensch. + +Die Investition von Mistral AI reiht sich in eine Serie bedeutender Ankündigungen im Vorfeld des „AI Action Summit“ in Paris ein. Erst kürzlich verkündete der französische Präsident Emmanuel Macron eine Investition der Vereinigten Arabischen Emirate in Höhe von 30 bis 50 Milliarden Euro für den Bau eines KI-Rechenzentrums in Frankreich. Auch das schwedische Start-up [Evroc](https://evroc.com/) plant den [Bau eines Hyperscale-Rechenzentrums](https://evroc.com/news/evroc-mougins-datacenter) im Land. + +
+ +
Created by AI
+
+ +Diese Entwicklungen unterstreichen Frankreichs Ambitionen, sich als zentraler Standort für KI-Infrastruktur in Europa zu etablieren. Für Mistral AI bedeutet das eigene Rechenzentrum nicht nur größere Unabhängigkeit, sondern auch die Möglichkeit, durch Zugang zu Hochleistungschips ihre KI-Modelle effizienter zu gestalten und weiterzuentwickeln. + +In einer Zeit, in der Prognosen zufolge künstliche Intelligenz innerhalb von fünf Jahren bis zu 15 Prozent des weltweiten Vermögens ausmachen könnte, positioniert sich Frankreich damit strategisch im globalen KI-Wettbewerb. diff --git a/content/posts/2025-02-19-einführung-in-togaf-das-open-group-architecture-framework.md b/content/posts/2025-02-19-einführung-in-togaf-das-open-group-architecture-framework.md new file mode 100644 index 0000000..84e0a34 --- /dev/null +++ b/content/posts/2025-02-19-einführung-in-togaf-das-open-group-architecture-framework.md @@ -0,0 +1,15 @@ +--- +title: "Einführung in TOGAF®: Das Open Group Architecture Framework" +date: 2025-02-19T06:03:00.000Z +categories: [ + "EA", + "Enterprise Architecture", + "Knowledge" +] +description: Erfahre, was TOGAF ist, welche Vorteile es bietet und wie Du es in Deinem Unternehmen implementierst. Inklusive Praxisbeispiele, neueste Erkenntnisse zur 10th Edition und Online-Kurse für die Zertifizierung. +feature: /assets/images/20250219/TOGAF10-banner.png +externalurl: https://stephan.hadan.de/blog/2025/02/19/einf%C3%BChrung-in-togaf-das-open-group-architecture-framework/ +--- +In meinem Tech-Blog habe ich einen Artikel zu TOGAF® verfasst. + +Erfahre, was TOGAF® ist, welche Vorteile es bietet und wie Du es in Deinem Unternehmen implementierst. Inklusive Praxisbeispiele, neueste Erkenntnisse zur 10ten Edition und Online-Kurse für die Zertifizierung. diff --git a/content/posts/2025-02-19-kritische-openssh-schwachstellen-ermöglichen-mitm-und-dos-angriffe.md b/content/posts/2025-02-19-kritische-openssh-schwachstellen-ermöglichen-mitm-und-dos-angriffe.md new file mode 100644 index 0000000..4967dda --- /dev/null +++ b/content/posts/2025-02-19-kritische-openssh-schwachstellen-ermöglichen-mitm-und-dos-angriffe.md @@ -0,0 +1,12 @@ +--- +title: Kritische OpenSSH-Schwachstellen ermöglichen MiTM- und DoS-Angriffe +date: 2025-02-19T11:58:00.000Z +categories: [ + "Security", + "IT-News" +] +description: Kritische OpenSSH-Schwachstellen ermöglichen MiTM- und DoS-Angriffe +--- +Kürzlich wurden zwei schwerwiegende Sicherheitslücken in OpenSSH, einem weit verbreiteten sicheren Netzwerkdienstprogramm, entdeckt. Diese Schwachstellen, die als CVE-2025-26465 und CVE-2025-26466 identifiziert wurden, können Man-in-the-Middle- (MitM) bzw. Denial-of-Service-Angriffe (DoS) ermöglichen. Die MitM-Schwachstelle (CVE-2025-26465) tritt auf, wenn die Option „VerifyHostKeyDNS“ aktiviert ist. Diese Einstellung ist nicht standardmäßig vorhanden, war aber zwischen September 2013 und März 2023 auf FreeBSD-Systemen üblich. + +CVE-2025-26466, ist ein Denial-of-Service-Fehler vor der Authentifizierung, der in OpenSSH 9.5p1 eingeführt wurde. Die gute Nachricht ist, dass OpenSSH bereits Version 9.9p2 veröffentlicht hat, um diese Probleme zu beheben. Systemadministratoren sollten vorrangig auf diese neueste Version aktualisieren, um ihre Systeme zu schützen. Da eine Ausnutzung der Schwachstelle es böswilligen Akteuren ermöglichen könnte, SSH-Sitzungen abzufangen oder Verfügbarkeitsprobleme zu verursachen, ist eine rechtzeitige Schadensbegrenzung von entscheidender Bedeutung. diff --git a/content/posts/2025-02-20-microsofts-majorana-1-chip-ein-durchbruch-für-die-quantencomputing-revolution.md b/content/posts/2025-02-20-microsofts-majorana-1-chip-ein-durchbruch-für-die-quantencomputing-revolution.md new file mode 100644 index 0000000..b8cfbda --- /dev/null +++ b/content/posts/2025-02-20-microsofts-majorana-1-chip-ein-durchbruch-für-die-quantencomputing-revolution.md @@ -0,0 +1,44 @@ +--- +title: "Microsofts Majorana-1-Chip: Ein Durchbruch für die + Quantencomputing-Revolution" +date: 2025-02-20T20:50:00.000Z +categories: [ + "IT-News" +] +description: Microsofts Majorana-1-Chip revolutioniert das Quantencomputing mit + neuartigen Materialien und bahnbrechenden Anwendungen. Erfahren Sie mehr über + die Zukunft der Technologie. +feature: /assets/images/20250220/chip-ai.png +--- +In der Welt der Technologie geht es schneller voran als gedacht: Microsoft hat soeben den Majorana-1-Chip vorgestellt, der als Meilenstein im Bereich des Quantencomputings gilt. Dieser Chip könnte nicht nur die Art und Weise, wie wir Probleme lösen, revolutionieren, sondern auch bahnbrechende Fortschritte in Bereichen wie Medizin, Umweltschutz und Materialwissenschaft ermöglichen. + +## Was macht den Majorana-1-Chip so revolutionär? + +Der Majorana-1-Chip basiert auf einer völlig neuen Architektur, die als Topological Core bezeichnet wird. Diese Technologie ermöglicht es, Quantencomputer zu entwickeln, die nicht nur leistungsfähiger, sondern auch stabiler und skalierbarer sind als bisherige Modelle. Der Chip verwendet sogenannte Topokonduktoren, eine neue Klasse von Materialien, die es ermöglichen, Majorana-Teilchen zu kontrollieren und so zuverlässigere Qubits zu generieren. + +## Welche Möglichkeiten eröffnet der Majorana-1-Chip? + +Die Möglichkeiten, die der Majorana-1-Chip bietet, sind vielfältig und vielversprechend. Einige der wichtigsten Anwendungsgebiete sind: + +- **Medizinische Forschung:** Quantencomputer könnten dabei helfen, neue Medikamente zu entwickeln und komplexe biologische Prozesse zu verstehen. +- **Umweltschutz:** Der Chip könnte Lösungen für die Bekämpfung von Umweltproblemen wie der Zerstörung von Mikroplastik liefern. +- **Materialwissenschaft:** Die Entwicklung von selbstheilenden Materialien für die Bau-, Automobil- und Healthcare-Industrie könnte revolutioniert werden. + +## Wie positioniert sich Microsoft im Wettbewerb? + +Microsoft ist nicht der einzige Player im Quantum-Rennen. Google und IBM haben bereits beeindruckende Fortschritte in dieser Technologie gezeigt. Dennoch könnte der Majorana-1-Chip Microsoft einen entscheidenden Vorteil verschaffen. Die Firma betont, dass sie durch die Partnerschaft mit Unternehmen wie Quantinuum und Atom Computing weiterhin an der Spitze der Forschung bleibt. + +## Fazit + +
+ +
Created by AI
+
+ +Der Majorana-1-Chip von Microsoft markiert einen bedeutenden Schritt in der Entwicklung praktischer Quantencomputer. Mit seiner einzigartigen Architektur und den vielfältigen Anwendungsmöglichkeiten könnte er die Welt in den nächsten Jahren maßgeblich verändern. Tech-Enthusiasten haben allen Grund, aufmerksam zu bleiben – die Zukunft des Computings könnte näher sein, als viele gedacht haben. + +## Drei zentrale Punkte + +- Der Majorana-1-Chip verwendet eine neue Materialklasse namens Topokonduktoren, die zuverlässigere Qubits ermöglichen. +- Er bietet das Potenzial, in Bereichen wie Medizin, Umweltschutz und Materialwissenschaft bahnbrechende Fortschritte zu ermöglichen. +- Microsoft positioniert sich mit diesem Chip als ernsthafter Konkurrent in der Quantencomputing-Industrie. diff --git a/content/posts/2025-02-20-sicherheitsupdates-für-chrome-133-und-weitere-chromium-basierte-browser.md b/content/posts/2025-02-20-sicherheitsupdates-für-chrome-133-und-weitere-chromium-basierte-browser.md new file mode 100644 index 0000000..d8e9a8b --- /dev/null +++ b/content/posts/2025-02-20-sicherheitsupdates-für-chrome-133-und-weitere-chromium-basierte-browser.md @@ -0,0 +1,13 @@ +--- +title: Sicherheitsupdates für Chrome 133 und weitere Chromium basierte Browser +date: 2025-02-20T08:47:00.000Z +categories: [ + "Security", + "IT-News" +] +description: Google hat kürzlich mehrere Sicherheitsupdates für Chrome 133 + veröffentlicht, die eine Reihe schwerwiegender Schwachstellen beheben. +--- +Google hat kürzlich mehrere Sicherheitsupdates für Chrome 133 veröffentlicht, die eine Reihe schwerwiegender Schwachstellen beheben. Diese Updates sind für Windows, macOS und Linux verfügbar und adressieren Probleme wie Use-after-free-Bugs und Heap-Pufferüberläufe in der JavaScript-Engine V8 und anderen Browserkomponenten. Für Systemadministratoren ist es entscheidend, diese Updates umgehend zu installieren, um die Netzwerksicherheit zu gewährleisten und das Risiko von Remote-Codeausführungen zu minimieren. + +Die Updates, einschließlich der Versionen 133.0.6943.126/.127 für Windows und macOS sowie 133.0.6943.126 für Linux, werden automatisch über die Chrome-Update-Funktion verteilt. Es wird jedoch empfohlen, die Aktualisierung manuell über „Über Google Chrome“ in den Browsereinstellungen anzustoßen. Zusätzlich haben auch Chromium-basierte Browser wie Brave, Edge und Vivaldi Updates veröffentlicht, um diese Sicherheitslücken zu schließen, was die Bedeutung einer umfassenden und zeitnahen Update-Strategie für alle Browser unterstreicht. diff --git a/content/posts/2025-02-25-kritische-fallstricke-erfolgreicher-enterprise-architekturen.md b/content/posts/2025-02-25-kritische-fallstricke-erfolgreicher-enterprise-architekturen.md new file mode 100644 index 0000000..e93f8f0 --- /dev/null +++ b/content/posts/2025-02-25-kritische-fallstricke-erfolgreicher-enterprise-architekturen.md @@ -0,0 +1,15 @@ +--- +title: Kritische Fallstricke erfolgreicher Enterprise Architekturen +date: 2025-02-25T10:32:00.000Z +categories: [ + "EA", + "Enterprise Architecture", + "Knowledge" +] +description: Vermeide diverse kritische Fallstricke der Enterprise Architecture, um IT-Strategie zum Erfolg zu führen. Von Datenmanagement bis hin zu messbaren KPIs – erfahre, was für eine erfolgreiche EA wirklich entscheidend ist. +feature: https://stephan.hadan.de/blog/images/250226-mit-ki-zur-modernen-unternehmensarchitektur/ea-ki.png +externalurl: https://stephan.hadan.de/blog/2025/02/25/kritische-fallstricke-erfolgreicher-enterprise-architekturen/ +--- +In meinem Tech-Blog habe ich einen neuen Folge-Artikel zum Thema Enterprise Architecture verfasst. + +Vermeide diverse kritische Fallstricke der Enterprise Architecture, um IT-Strategie zum Erfolg zu führen. Von Datenmanagement bis hin zu messbaren KPIs – erfahre, was für eine erfolgreiche EA wirklich entscheidend ist. \ No newline at end of file diff --git a/content/posts/2025-02-25-neu-entdeckt-hintergrundgeräusche-funktion-macos.md b/content/posts/2025-02-25-neu-entdeckt-hintergrundgeräusche-funktion-macos.md new file mode 100644 index 0000000..9b1721b --- /dev/null +++ b/content/posts/2025-02-25-neu-entdeckt-hintergrundgeräusche-funktion-macos.md @@ -0,0 +1,68 @@ +--- +title: "Neu entdeckt: Hintergrundgeräusche-Funktion macOS" +date: 2025-02-25T11:29:00.000Z +categories: [ + "macOS", + "Entdeckung" +] +description: Verbessere Fokus und Produktivität mit macOS Hintergrundgeräuschen. Einfache Aktivierung, vielfältige Klänge. Ideal für Arbeit und Entspannung. +feature: /assets/images/20250225/background-sounds.png +--- +Hintergrundgeräusche können helfen, sich zu entspannen, zu konzentrieren und die Produktivität zu steigern. Seit macOS Ventura gibt es eine integrierte Funktion, mit der man ganz einfach verschiedene beruhigende Klänge abspielen kann. Dieser Artikel erklärt, wie man diese Funktion aktivieren und optimal nutzen kann. + +
+ +
Created by AI
+
+ +## Was sind Hintergrundgeräusche? + +Hintergrundgeräusche sind Umgebungsgeräusche, die dazu beitragen können, eine beruhigende und fokussierte Arbeitsumgebung zu schaffen. Sie können von Naturgeräuschen wie Regen oder Meeresrauschen bis hin zu weißem Rauschen oder instrumental Musik reichen. Diese Geräusche können störende Umgebungsgeräusche überdecken und so die Konzentration verbessern. + +## Aktivieren der Hintergrundgeräusche in macOS + +Das Aktivieren der Hintergrundgeräusche in macOS ist ein einfacher Vorgang: + +1. **Systemeinstellungen öffnen:** Klicke auf das Apple-Logo in der oberen linken Ecke Deines Bildschirms und wähle „Systemeinstellungen...“. +2. **Bedienungshilfen:** Klicke auf „Bedienungshilfen“. +3. **Audio:** Wähle rechts „Audio“. +4. **Hintergrundgeräusche aktivieren:** Aktiviere den Schalter neben „Hintergrundgeräusche“. +5. **Ton auswählen:** Klicke auf „Auswählen“ und lade den gewünschten Ton herunter. Man kann zwischen verschiedenen Optionen wählen, darunter: + - Ausgewogenes Rauschen + - Helles Rauschen + - Dunkles Rauschen + - Ozean + - Regen + - Fluss + - Nacht + - Feuer +6. **Lautstärke anpassen:** Verwende den Schieberegler, um die Lautstärke der Hintergrundgeräusche anzupassen. + +Du kannst auch die Option „Hintergrundgeräusche deaktivieren, wenn der Mac nicht verwendet wird“ aktivieren, um die Geräusche automatisch zu stoppen, wenn Du Deinen Mac sperrst oder den Bildschirm schließt. + +## Hinzufügen von Hintergrundgeräuschen zum Kontrollzentrum + +Um schnell auf die Hintergrundgeräusche zugreifen zu können, füge sie zum Kontrollzentrum hinzu: + +1. **Systemeinstellungen öffnen:** Gehe zu „Systemeinstellungen“. +2. **Kontrollzentrum:** Wähle „Kontrollzentrum“. +3. Aktiviere dann „In Menüleiste anzeigen“ oder „Im Kontrollzentrum anzeigen“ unter dem Punkt „Hören“. + +Jetzt kann man die Hintergrundgeräusche direkt über das Kontrollzentrum (das Lautsprechersymbol) oder die Menüleiste ein- und ausschalten. + +## Vorteile der Verwendung von Hintergrundgeräuschen + +- **Verbesserte Konzentration:** Hintergrundgeräusche können ablenkende Geräusche ausblenden und die Konzentration fördern. +- **Erhöhte Produktivität:** Eine ruhige und entspannende Arbeitsumgebung kann die Produktivität steigern. +- **Stressreduktion:** Das Hören von beruhigenden Geräuschen wie Naturklängen kann Stress und Angst reduzieren. +- **Schlafverbesserung:** White noise kann auch genutzt werden, um ablenkende Geräusche zu überdecken und so den Schlaf zu verbessern. + +## Fazit + +Die Hintergrundgeräusche-Funktion in macOS ist ein einfaches, aber wirkungsvolles Werkzeug zur Verbesserung der Konzentration, Produktivität und Entspannung. Durch die einfache Aktivierung und Anpassung kann man eine individuell angepasste Klangumgebung schaffen, die den eigenen Bedürfnissen entspricht. + +## Die wichtigsten Punkte + +- macOS bietet eine integrierte Funktion für Hintergrundgeräusche. +- Diese Funktion kann über die Systemeinstellungen unter „Bedienungshilfen“ > „Audio“ aktiviert werden. +- Hintergrundgeräusche können helfen, die Konzentration zu verbessern, Stress zu reduzieren und die Produktivität zu steigern. diff --git a/content/posts/2025-02-25-nextcloud-hub-10-die-leistungsstarke-open-source-alternative-zu-microsoft-365.md b/content/posts/2025-02-25-nextcloud-hub-10-die-leistungsstarke-open-source-alternative-zu-microsoft-365.md new file mode 100644 index 0000000..28e678d --- /dev/null +++ b/content/posts/2025-02-25-nextcloud-hub-10-die-leistungsstarke-open-source-alternative-zu-microsoft-365.md @@ -0,0 +1,101 @@ +--- +title: "Nextcloud Hub 10: Die leistungsstarke Open-Source-Alternative zu Microsoft 365" +date: 2025-02-25T15:27:00.000Z +categories: [ + "Digitale Souveränität", + "Europa", + "FOSS", + "IT-News" +] +description: "Nextcloud Hub 10: Die führende Open-Source-Alternative zu Microsoft 365 mit neuem KI-Agenten, verbesserter Ende-zu-Ende-Verschlüsselung und 6-fach schnelleren Dateiuploads. Selbst hostbar & datenschutzkonform." +feature: /assets/images/20250225/nextcloud.png +--- +Mit der Veröffentlichung von Nextcloud Hub 10 präsentiert der Open-Source-Spezialist ein umfassendes Update seiner Kollaborationsplattform, die sich als vollwertige Alternative zu Microsoft 365 positioniert. Die neue Version bringt zahlreiche Verbesserungen bei Sicherheit, KI-Funktionen und Integration und unterstreicht damit Nextclouds Engagement für digitale Souveränität und Datenschutz. + +![Nextcloud Screenshot](/assets/images/20250225/nextcloud.png) + +## Ein umfassendes Kollaborations-Ökosystem + +Nextcloud Hub 10 folgt dem modernen Ansatz einer vollständig integrierten Kollaborationsplattform. Statt zwischen verschiedenen isolierten Anwendungen zu wechseln, bietet Hub 10 eine einheitliche Lösung, in der Dateiablage, Kommunikation und Office-Funktionen nahtlos zusammenarbeiten. Frank Karlitschek, CEO von Nextcloud, betont: „Nutzer wollen nicht zwischen verschiedenen Apps hin- und herwechseln – sie wünschen sich eine einheitliche Lösung.“ + +Die Plattform vereint Kalender, Mail, Kontakte und Talk in einer Umgebung, sodass beispielsweise Meetings direkt aus dem Kalender organisiert werden können und Chat-Verläufe mit E-Mails synchronisiert sind. Besonders bemerkenswert ist die Modularität: Unternehmen können frei entscheiden, welche Komponenten sie nutzen möchten oder ob sie alternativ Drittanbieter-Tools integrieren wollen. + +## Innovative KI-Funktionen mit Fokus auf Datenschutz + +Eine der herausragendsten Neuerungen in Hub 10 ist der erste Open-Source-KI-Agent für den Nextcloud Assistant. Im Gegensatz zu proprietären KI-Tools großer Technologieunternehmen kann dieser vollständig selbst gehostet werden, sodass sensible Daten unter der Kontrolle des Nutzers bleiben – ein entscheidender Vorteil für Unternehmen, die Wert auf Datenschutz und Compliance legen. + +Der KI-Agent kann: + +- E-Mails senden und Konversationen zusammenfassen +- Kalendereinträge erstellen +- mit externen Diensten kommunizieren (z. B. Wettervorhersage) +- Informationen aus Dateien, Chats und Kontakten zusammentragen +- Chatnachrichten und Meeting-Inhalte zusammenfassen +- Texte auf Fehler prüfen und den Tonfall anpassen + +## Verbesserte Sicherheit und Datenschutz + +Nextcloud Hub 10 setzt neue Maßstäbe in Sachen Sicherheit. Die Ende-zu-Ende-Verschlüsselung (E2EE) wurde deutlich erweitert und umfasst nun auch: + +- verschlüsselte Videoanrufe in Nextcloud Talk +- Webzugriff auf verschlüsselte Dateien +- verschlüsselte Dateiübertragungen direkt in der Web-App + +Administratoren erhalten zudem mehr Kontrolle über Sicherheitseinstellungen, können die Anzahl der Anmeldeversuche anpassen und zusätzliche Sicherheitsfunktionen wie Face-ID aktivieren. + +## Leistungssteigerungen und optimierte Arbeitsabläufe + +Hub 10 bringt signifikante Performance-Verbesserungen. Der Upload von Dateien erfolgt nun in Blöcken und ist bis zu sechsmal schneller als zuvor. Bei Unterbrechungen wird der Upload an der entsprechenden Stelle fortgesetzt. Weitere praktische Funktionen umfassen: + +- direkte Dateikonvertierung (z. B. Word zu PDF) über das Kontextmenü +- verbesserte mobile Nutzung mit erweiterten Offline-Funktionen +- optimierte Skalierbarkeit für große Unternehmen mit verteilten Standorten +- optimierte Webinar-Funktionen in Nextcloud Talk +- direkte Kommentarfunktion in Dokumenten mit @-Erwähnungen + +## Integration und Erweiterbarkeit + +Die neue AppAPI ist direkt in die Nextcloud-Anwendungen integriert und ermöglicht Entwicklern, eigene Apps anzubinden. Zudem gibt es neue Integrationen für: + +- Documenso (eine DocuSign-Alternative) +- XWiki +- Zulip +- OpenProject (Projektmanagement-Tool) + +Die überarbeitete Benutzeroberfläche bietet kompakte Chats und farbige Datei-Schlagworte für ein verbessertes Nutzererlebnis. + +## Ein Beweis für europäische Innovationskraft + +Nextcloud Hub 10 widerlegt den Mythos, dass der europäische Technologiesektor nicht mit den großen US-Anbietern konkurrieren kann. Als vollständig datenschutzkonforme und selbst hostbare Lösung bietet Nextcloud eine echte Alternative zu den Angeboten von Big Tech und unterstützt Unternehmen dabei, digitale Souveränität zu erlangen. + +## Fazit + +Nextcloud Hub 10 ist ein beeindruckendes Update, das die Position der Plattform als führende Open-Source-Alternative zu Microsoft 365 festigt. Die neue Version vereint umfassende Kollaborationsfunktionen mit fortschrittlichen Sicherheitsfeatures und innovativen KI-Komponenten – alles unter der Prämisse vollständiger Datenkontrolle und -souveränität. + +Die wichtigsten Vorteile im Überblick: + +- **Umfassende Integration**: Nahtlose Verzahnung aller Komponenten für effiziente Arbeitsabläufe bei voller Modularität und Anpassbarkeit. +- **Führende Sicherheit**: Ende-zu-Ende-Verschlüsselung für Videoanrufe und Dateien sowie umfassende Kontrolle über Sicherheitsrichtlinien. +- **Datenschutzkonforme KI**: Der erste Open-Source-KI-Agent, der vollständig selbst gehostet werden kann und Produktivität steigert, ohne Kompromisse beim Datenschutz einzugehen. + +Nextcloud Hub 10 steht ab sofort zum Download bereit und bietet Unternehmen eine leistungsstarke, sichere und datenschutzkonforme Alternative zu etablierten Cloud-Diensten. + +## Die Änderungen auf einen Blick + +Neu in Nextcloud Hub 10 🚀 sind folgende Topics: + +- 🔒 Ende-zu-Ende-Verschlüsselung bei Anrufen und im Internet +- ⚡ Leistungsverbesserungen bei allen Produkten +- ⚙️ Tausende von Optimierungen für verbesserte Benutzerfreundlichkeit und Stabilität +- ✨ Dein eigener neuer persönlicher Assistent +- 🔄 Nahtlose Dateikonvertierung +- 👥 Bessere Teamfreigabe mit Teamordnern +- 💬 Besprechungen direkt in Talk planen +- 📧 E-Mail, die Du wieder liebst: Übersetzungen, Zusammenfassungen und Erwähnungen + +## Premierenvideo auf YouTube + +Auf YouTube ist ein offizielles Video mit dem Titel "Get ready for the Nextcloud Hub 10 premiere! 🔥" eingestellt worden, dort wird auf alle neuen Features ausführlich eingegangen. So wird bspw. eingehenden das Thema Skalierbarkeit besprochen. + +Das Video ist zu empfehlen. Da es weiterhin keine vernünftige Möglichkeit gibt, wirklich datenschutzkonform YouTube-Videos einzubinden, verzichte ich an dieser Stelle darauf. + diff --git a/content/posts/2025-02-25-sesterce-investiert-450-millionen-euro-in-ki-rechenzentrum-in-valence.md b/content/posts/2025-02-25-sesterce-investiert-450-millionen-euro-in-ki-rechenzentrum-in-valence.md new file mode 100644 index 0000000..17fe3ca --- /dev/null +++ b/content/posts/2025-02-25-sesterce-investiert-450-millionen-euro-in-ki-rechenzentrum-in-valence.md @@ -0,0 +1,46 @@ +--- +title: Sesterce investiert 450 Millionen Euro in KI-Rechenzentrum in Valence +date: 2025-02-25T08:41:00.000Z +categories: [ + "IT-News", + "AI" +] +description: Sesterce investiert 450 Mio. € in ein KI-Rechenzentrum in Valence, + Frankreich. 40.000 GPUs, Nachhaltigkeit und digitale Souveränität stehen im + Fokus dieses strategischen Projekts. +feature: /assets/images/20250225/sesterce-rz.png +--- +Der französische Cloud-Anbieter Sesterce hat den Bau eines neuen KI-Rechenzentrums in Valence, Frankreich, angekündigt. Dieses Projekt, mit einer Investitionssumme von 450 Millionen Euro, soll die wachsende Nachfrage nach Rechenleistung für Künstliche Intelligenz (KI) in Frankreich und Europa decken. + +## Ein strategisches Projekt für Frankreichs KI-Ambitionen + +Das geplante Rechenzentrum wird mit 40.000 Grafikprozessoren (GPUs) ausgestattet sein, die speziell für das Training und den Einsatz von KI-Anwendungen konzipiert sind. Es ist Teil eines größeren Plans von Sesterce, bis 2030 insgesamt 1,5 GW Rechenleistung in Frankreich zu entwickeln, einschließlich der Bereitstellung von 1,2 Millionen GPUs. + +## Standortvorteile und Nachhaltigkeit + +Der Standort in Valence wurde aufgrund seines dynamischen Ökosystems und seiner strategischen Lage gewählt. Das Rechenzentrum wird ein geschlossenes Wasserkühlungssystem nutzen, um die Abwärme wiederzuverwenden, was die Nachhaltigkeit des Projekts unterstreicht. + +## Einbindung in nationale und europäische KI-Strategien + +Dieses Projekt steht im Einklang mit den nationalen Bestrebungen Frankreichs, eine führende Rolle im Bereich der KI einzunehmen. Es unterstützt auch das Konzept der digitalen Souveränität Europas, indem es eine lokale Alternative zu den großen amerikanischen und asiatischen Anbietern bietet. + +Das Rechenzentrum ist auch ein wichtiger Schritt in Richtung eines „KI-Clouds“, mit dem Ziel, europäische Unternehmen mit KI-Lösungen zu versorgen. Die Nähe zu Rechenzentren in der Region Grand Est und einem geplanten Supercomputer in Südfrankreich unterstreicht die Synergie. + +## Wirtschaftliche Auswirkungen und Herausforderungen + +Neben der Schaffung von Arbeitsplätzen wird erwartet, dass das Projekt das lokale digitale Ökosystem stärkt und weitere Unternehmen anzieht. Die Herausforderungen umfassen die technische Komplexität, die Notwendigkeit qualifizierter Arbeitskräfte und die Sicherstellung der Cybersicherheit. + +## Fazit + +
+ +
Created by AI
+
+ +Die Investition von Sesterce in Valence ist ein bedeutender Schritt für die Entwicklung der KI-Infrastruktur in Frankreich. Sie zeigt das Potenzial des Landes, im globalen Wettbewerb um die KI-Vorherrschaft eine wichtige Rolle zu spielen, und unterstützt gleichzeitig die Ziele der digitalen Souveränität und Nachhaltigkeit. + +## Key Takeaways + +- Sesterce investiert 450 Millionen Euro in ein KI-Rechenzentrum in Valence, Frankreich. +- Das Projekt umfasst 40.000 GPUs und ist Teil eines größeren Plans zur Entwicklung von 1,5 GW Rechenleistung bis 2030. +- Es unterstützt Frankreichs Ambitionen im Bereich KI und fördert die digitale Souveränität Europas. diff --git a/content/posts/2025-02-25-sicherheitslücke-in-aws-ec2-was-ist-zu-tun.md b/content/posts/2025-02-25-sicherheitslücke-in-aws-ec2-was-ist-zu-tun.md new file mode 100644 index 0000000..0dabb4d --- /dev/null +++ b/content/posts/2025-02-25-sicherheitslücke-in-aws-ec2-was-ist-zu-tun.md @@ -0,0 +1,44 @@ +--- +title: "Sicherheitslücke in AWS EC2: was ist zu tun?" +date: 2025-02-25T07:50:00.000Z +categories: [ + "IT-News", + "Security" +] +description: Eine Sicherheitslücke in AWS EC2 ermöglichte Angriffe auf Cloud-Instanzen. Erfahre, wie Systeme geschützt werden können. +feature: /assets/images/20250225/aws-ec2.png +--- +Amazon Web Services (AWS) bildet für zahlreiche Unternehmen das Rückgrat ihrer digitalen Infrastruktur. Mit einem globalen Marktanteil von 33 Prozent spielt AWS eine zentrale Rolle im Cloud-Computing. Doch eine kürzlich entdeckte Sicherheitslücke im EC2-Dienst zeigt, wie anfällig selbst etablierte Systeme sein können. + +
+ +
Created by AI
+
+ +## Was ist die Sicherheitslücke? + +Die Schwachstelle betrifft Amazon Machine Images (AMIs), die zur Bereitstellung virtueller Server (EC2-Instanzen) verwendet werden. Wenn ein AMI keiner klar definierten Besitzerschaft zugeordnet ist, können Angreifer manipulierte Images einschleusen, die sich als offizielle Amazon-Images tarnen. Dies ermöglicht es ihnen, Schadcode auszuführen und die Kontrolle über betroffene Instanzen zu übernehmen. + +## Der Name-Confusion-Angriff + +Beim Name-Confusion-Angriff wird die Tatsache ausgenutzt, dass AMIs ohne eindeutige Besitzerangabe anfällig für Manipulationen sind. So können Angreifer unbemerkt Schadcode in Systeme einschleusen, was gravierende Konsequenzen für Unternehmen nach sich ziehen kann. + +## Entdeckung und Behebung + +Die Sicherheitslücke wurde im August 2024 von Datadog entdeckt und im Februar 2025 [öffentlich](https://securitylabs.datadoghq.com/articles/whoami-a-cloud-image-name-confusion-attack/) gemacht. AWS reagierte prompt und führte eine neue Schutzfunktion ein, die ausschließlich vertrauenswürdige AMI-Quellen zulässt. Zusätzlich stellt Datadog ein Open-Source-Tool namens **[whoAMI-scanner](https://github.com/DataDog/whoAMI-scanner)** bereit, mit dem Unternehmen überprüfen können, ob sie von der Schwachstelle betroffen sind. + +## Empfehlungen für die Sicherheit + +1. **Nur vertrauenswürdige AMIs nutzen**: Verwenden Sie ausschließlich AMIs aus bekannten und verifizierten Quellen. +2. **Aktivierung der „Allowed AMIs“-Funktion**: Diese AWS-Funktion beschränkt den Zugriff auf vertrauenswürdige AMIs und verhindert das Einschleusen manipulierter Images. +3. **Regelmäßige Überprüfung mit dem [whoAMI-scanner](https://github.com/DataDog/whoAMI-scanner)**: Nutzen Sie das Tool von Datadog, um sicherzustellen, dass keine unautorisierten Änderungen an Ihren AMIs vorgenommen wurden. + +## Fazit + +Die Sicherheitslücke in AWS EC2 verdeutlicht, wie wichtig es ist, auch in der Cloud kontinuierlich wachsam zu bleiben. Durch den Einsatz neuer Schutzfunktionen und Tools wie dem [whoAMI-scanner](https://github.com/DataDog/whoAMI-scanner) können Unternehmen ihre Systeme effektiv vor Angriffen schützen und die mit der Cloud verbundenen Risiken minimieren. + +## Zusammenfassung + +- Die Schwachstelle ermöglichte es Angreifern, manipulierte AMIs einzuschleusen und die Kontrolle über EC2-Instanzen zu übernehmen. +- AWS hat die Lücke bereits geschlossen und eine neue Schutzfunktion eingeführt. +- Unternehmen sollten ihre AMIs regelmäßig überprüfen und ausschließlich vertrauenswürdige Quellen nutzen. diff --git a/content/posts/2025-02-26-neuer-blogpost-mit-ki-zur-modernen-unternehmensarchitektur.md b/content/posts/2025-02-26-neuer-blogpost-mit-ki-zur-modernen-unternehmensarchitektur.md new file mode 100644 index 0000000..61b11fd --- /dev/null +++ b/content/posts/2025-02-26-neuer-blogpost-mit-ki-zur-modernen-unternehmensarchitektur.md @@ -0,0 +1,13 @@ +--- +title: Neuer Blogpost - Mit KI zur modernen Unternehmensarchitektur +date: 2025-02-26T02:00:00.000Z +categories: [ + "EA", + "Enterprise Architecture", + "KI" +] +description: Neuer Blogpost - Mit KI zur modernen Unternehmensarchitektur +feature: https://stephan.hadan.de/blog/images/250226-mit-ki-zur-modernen-unternehmensarchitektur/ea-ki.png +externalurl: https://stephan.hadan.de/blog/2025/02/26/mit-ki-zur-modernen-unternehmensarchitektur-vorteile-und-implementierungsempfehlungen/ +--- +🚀 KI verändert alles: Entdecke in unserem neuen Artikel, wie künstliche Intelligenz deine Unternehmensarchitektur revolutionieren kann! Wir zeigen dir die wichtigsten Vorteile, spannende Anwendungsfälle und geben konkrete Tipps für eine erfolgreiche Integration. Erfahre, warum strukturiertes Vorgehen und Datenqualität so entscheidend sind - für mehr Effizienz und Innovation in deinem Business! 💡 diff --git a/content/posts/2025-02-26-opencloud-1-0-ist-da-eine-neue-open-source-alternative-für-filemanagement-und-collaboration.md b/content/posts/2025-02-26-opencloud-1-0-ist-da-eine-neue-open-source-alternative-für-filemanagement-und-collaboration.md new file mode 100644 index 0000000..e73b02d --- /dev/null +++ b/content/posts/2025-02-26-opencloud-1-0-ist-da-eine-neue-open-source-alternative-für-filemanagement-und-collaboration.md @@ -0,0 +1,54 @@ +--- +title: "OpenCloud 1.0 ist da: Eine neue Open-Source-Alternative für + Filemanagement und Collaboration" +date: 2025-02-26T11:00:00.000Z +categories: [ + "Digitale Souveränität", + "Europa", + "FOSS", + "IT-News" +] +description: OpenCloud 1.0 ist da! Entdecke die neue Open-Source-Plattform für sicheres Filemanagement, Filesharing & Collaboration. DSGVO-konform, flexibel & leistungsstark. +feature: /assets/images/20250226/opencloud_logo.png +--- +Die [OpenCloud GmbH](https://opencloud.eu/de) hat kürzlich OpenCloud 1.0 veröffentlicht, eine neue Open-Source-Plattform für Dateiverwaltung, Filesharing und Zusammenarbeit. Dieser Artikel beleuchtet die Funktionen, Vorteile und die Zukunftsperspektiven dieser vielversprechenden Lösung. + +![OpenCloud Logo](/assets/images/20250226/opencloud_logo.png) + +## Was ist OpenCloud? + +OpenCloud ist eine quelloffene Software, die eine datenschutzkonforme und flexible Alternative zu etablierten Diensten wie Microsoft SharePoint, Google Drive und Dropbox bietet. Sie wurde in der Programmiersprache Go entwickelt und zeichnet sich durch eine Cloud-native Architektur aus, die hohe Leistung und Skalierbarkeit ermöglicht. OpenCloud ist unter Apache 2.0 und AGPL-3.0 lizenziert und zielt darauf ab, digitale Souveränität für IT-Infrastrukturen in Europa zu gewährleisten. + +## Die wichtigsten Funktionen von OpenCloud 1.0 + +Die erste Version von OpenCloud bietet bereits eine Reihe wichtiger Funktionen: + +- **Sichere Dateispeicherung:** Dateien werden sicher und skalierbar gespeichert. +- **Collabora Online-Integration:** Ermöglicht die Bearbeitung von Office-Dokumenten direkt im Browser, inklusive Echtzeit-Zusammenarbeit. +- **Kollaborationstools:** Funktionen für die nahtlose Zusammenarbeit an Dateien. +- **Benutzer- und Rechteverwaltung:** Detaillierte Kontrolle über Zugriffsrechte. +- **Ressourcenschonende Synchronisation:** Effiziente Dateisynchronisation und benutzerfreundliche Freigabefunktionen. + +## Open Source und Community-Beteiligung + +OpenCloud lädt die Open-Source-Community aktiv zur Teilnahme ein. Nutzer können Fehler melden, Vorschläge einreichen und durch Code, Übersetzungen oder Themes zur Entwicklung beitragen. Regelmäßige Updates (derzeit alle drei Wochen) werden als Rolling Releases veröffentlicht. + +## Zukunftsperspektiven und kommerzielles Angebot + +Im März 2025 plant OpenCloud die Veröffentlichung einer neuen Version mit erweiterten Enterprise-Funktionen und Support-Paketen für Geschäftskunden. Dies markiert den offiziellen Start des kommerziellen Angebots. OpenCloud wird sowohl als Dienstleistung (SaaS) über Drittanbieter als auch für den Betrieb auf eigener Hardware verfügbar sein. + +Einige Angestelle wechselten von ownCloud zu OpenCloud. Obwohl es rechtliche Schritte von Kiteworks-CEO Jonathan Yaron geben könnte, wird die Entwicklung von OpenCloud fortgesetzt. + +## OpenCloud und die Heinlein Gruppe + +OpenCloud ist Teil der Heinlein Gruppe, zu der auch OpenTalk (Videokonferenzen) und mailbox.org (E-Mail-Dienste) gehören. Die Heinlein Gruppe engagiert sich seit über 30 Jahren für sichere und digital souveräne IT-Infrastrukturen in Europa. + +## Fazit + +OpenCloud 1.0 stellt einen wichtigen Schritt in Richtung einer unabhängigen und datenschutzkonformen Cloud-Lösung für Unternehmen, Behörden und Bildungseinrichtungen dar. Die aktive Einbindung der Community und die geplante Erweiterung um Enterprise-Funktionen machen OpenCloud zu einer vielversprechenden Alternative im Bereich Filemanagement und Collaboration. + +## Key Takeaways + +- OpenCloud 1.0 ist eine neue, quelloffene Plattform für Filemanagement, Filesharing und Collaboration, die eine DSGVO-konforme Alternative zu proprietären Lösungen bietet. +- Die Software zeichnet sich durch eine moderne, Cloud-native Architektur, hohe Performance und die Integration von Collabora Online aus. +- OpenCloud setzt auf die aktive Beteiligung der Open-Source-Community und plant für März 2025 die Einführung eines kommerziellen Angebots mit Enterprise-Funktionen. diff --git a/content/posts/2025-02-27-neuer-blogartikel-künstliche-intelligenz-am-arbeitsplatz-ursachen-auswirkungen-und-strategien-zur-stressbewältigung.md b/content/posts/2025-02-27-neuer-blogartikel-künstliche-intelligenz-am-arbeitsplatz-ursachen-auswirkungen-und-strategien-zur-stressbewältigung.md new file mode 100644 index 0000000..2d9e1ed --- /dev/null +++ b/content/posts/2025-02-27-neuer-blogartikel-künstliche-intelligenz-am-arbeitsplatz-ursachen-auswirkungen-und-strategien-zur-stressbewältigung.md @@ -0,0 +1,15 @@ +--- +title: "Neuer Blogartikel - Künstliche Intelligenz am Arbeitsplatz: Ursachen, + Auswirkungen und Strategien zur Stressbewältigung" +date: 2025-02-27T07:12:00.000Z +categories: [ + "Arbeitswelt", + "KI" +] +description: "KI am Arbeitsplatz: Wie Unternehmen Stress durch neue Technologien + reduzieren können. Erfahren Sie Ursachen, Auswirkungen und praktische + Strategien für eine erfolgreiche KI-Integration." +feature: https://stephan.preview.hadan.de/blog/images/250227-kuenstliche-intelligenz-am-arbeitsplatz/office-ki.png +externalurl: https://stephan.hadan.de/blog/2025/02/27/k%C3%BCnstliche-intelligenz-am-arbeitsplatz-ursachen-auswirkungen-und-strategien-zur-stressbew%C3%A4ltigung/ +--- +Ich habe soeben einen neuen Artikel in meinem persönlichen Blog veröffentlicht zum Thema KI am Arbeitsplatz: Wie Unternehmen Stress durch neue Technologien reduzieren können. Erfahre Ursachen, Auswirkungen und praktische Strategien für eine erfolgreiche KI-Integration. diff --git a/content/posts/2025-02-28-eurostack-europas-weg-zur-digitalen-souveränität.md b/content/posts/2025-02-28-eurostack-europas-weg-zur-digitalen-souveränität.md new file mode 100644 index 0000000..4cfe9b2 --- /dev/null +++ b/content/posts/2025-02-28-eurostack-europas-weg-zur-digitalen-souveränität.md @@ -0,0 +1,46 @@ +--- +title: "EuroStack: Europas Weg zur digitalen Souveränität" +date: 2025-02-28T15:54:00.000Z +categories: [ + "Digitale Souveränität", + "Europa" +] +description: "EuroStack: Europas Initiative für digitale Souveränität und + technologische Unabhängigkeit. Erfahre mehr über Ziele, Strategien und + Investitionen." +--- +[EuroStack](https://www.euro-stack.info/) ist eine Initiative, die Europas technologische Unabhängigkeit fördern soll. Angesichts der hohen Abhängigkeit von nicht-europäischen Technologielieferanten, insbesondere aus den USA und China, zielt EuroStack darauf ab, nachhaltige und datenschutzorientierte Lösungen zu entwickeln. + +## Die Herausforderungen + +Mehr als 80 Prozent der digitalen Technologien und Infrastrukturen in Europa werden importiert. 70 Prozent der weltweit eingesetzten KI-Grundmodelle stammen aus den USA, und nur 7 Prozent der globalen Forschungsausgaben im Bereich Software und Internet werden von europäischen Unternehmen getragen. + +## Die Vision von EuroStack + +EuroStack soll der Schlüssel zur digitalen Souveränität der Europäischen Union werden. Die Initiative bringt führende Unternehmen, Wissenschaftler, politische Entscheidungsträger und die Zivilgesellschaft zusammen, um die digitale Unabhängigkeit Europas voranzutreiben. + +### Ziele der Initiative + +- **Wettbewerbsfähigkeit:** Steigerung der Wettbewerbsfähigkeit der europäischen Industrie. +- **Innovation:** Förderung von Innovationen in Schlüsseltechnologien wie KI, Cloud Computing und Quantentechnologie. +- **Souveräne Infrastrukturen:** Aufbau widerstandsfähiger, souveräner Infrastrukturen. + +## Strategien und Maßnahmen + +Um die Ziele zu erreichen, sieht EuroStack Investitionen in Höhe von 300 Milliarden Euro über einen Zeitraum von zehn Jahren vor. Ein erster Schritt ist die Einrichtung eines europäischen Technologiefonds mit einem Volumen von 10 Milliarden Euro, der innovative und skalierbare digitale Produkte „Made in Europe“ fördern soll. + +### Schwerpunkte der Initiative + +- **Chiptechnologie:** Aufbau eigener Kapazitäten in der Halbleiterproduktion. +- **Netzinfrastruktur:** Ausbau von 5G und Glasfasernetzen. +- **KI und Daten:** Entwicklung von europäischen KI-Modellen und Datenschutzlösungen. + +## Fazit + +EuroStack ist eine ehrgeizige Initiative, die Europas digitale Souveränität stärken und die globale Wettbewerbsfähigkeit verbessern soll. Erfolgreich umgesetzt, könnte sie Europa zu einem führenden Standort für digitale Innovationen machen. + +## Zusammenfassung + +- EuroStack zielt auf die technologische Unabhängigkeit Europas ab. +- Die Initiative fördert Innovationen und den Aufbau souveräner Infrastrukturen. +- Geplante Investitionen belaufen sich auf 300 Milliarden Euro. diff --git a/content/posts/2025-02-28-gpt-4-5-openais-neues-ki-modell-setzt-maßstäbe-in-natürlicher-kommunikation.md b/content/posts/2025-02-28-gpt-4-5-openais-neues-ki-modell-setzt-maßstäbe-in-natürlicher-kommunikation.md new file mode 100644 index 0000000..694302d --- /dev/null +++ b/content/posts/2025-02-28-gpt-4-5-openais-neues-ki-modell-setzt-maßstäbe-in-natürlicher-kommunikation.md @@ -0,0 +1,34 @@ +--- +title: "GPT-4.5: OpenAIs neues KI-Modell setzt Maßstäbe in natürlicher Kommunikation" +date: 2025-02-28T12:43:00.000Z +categories: [ + "AI", + "IT-News" +] +description: GPT-4.5 setzt neue Standards in natürlicher KI-Kommunikation mit + verbesserter emotionaler Intelligenz und reduzierten Halluzinationen. Erfahre + hier mehr über OpenAIs neuestes Modell. +--- +OpenAI hat mit GPT-4.5 ein neues KI-Modell vorgestellt, das in puncto natürliche Kommunikation, emotionale Intelligenz und Präzision neue Maßstäbe setzt. Dieses Modell markiert einen bedeutenden Schritt in der Entwicklung von KI-Systemen, die sich menschenähnlicher verhalten. + +## Natürlichere und empathischere Interaktion + +GPT-4.5 verfügt über eine verbesserte emotionale Intelligenz, die es der KI ermöglicht, Nuancen in der Kommunikation besser zu verstehen. Dies führt zu Gesprächen, die sich warmer und intuitiver anfühlen, wie OpenAI-Forscher Raphael Gontijo Lopes betont. + +## Reduzierte Halluzinationen und präzisere Antworten + +Ein großer Fortschritt von GPT-4.5 ist die Reduzierung von Halluzinationen. Das Modell generiert seltener falsche oder erfundene Informationen, was es zuverlässiger für Anwendungen wie kreatives Schreiben, Programmierung und Problemlösungen macht. + +## Technische Neuerungen und Verfügbarkeit + +GPT-4.5 ist mehr als zehnmal leistungsfähiger als sein Vorgänger GPT-4 und wurde auf den Azure AI Supercomputern von Microsoft trainiert. Das Modell wird schrittweise für ChatGPT Pro-, Plus- und Team-Nutzer eingeführt, ist jedoch aufgrund seiner Rechenintensität teurer. + +## Schlußfolgerung + +GPT-4.5 stellt einen bedeutenden Fortschritt in der KI-Entwicklung dar, indem es natürlichere, empathischere und präzisere Interaktionen ermöglicht. Obwohl es noch nicht in allen Bereichen führend ist, zeigt es die Richtung für zukünftige KI-Systeme wie GPT-5 auf. + +## Zusammenfassung + +* GPT-4.5 bietet eine verbesserte emotionale Intelligenz für natürlichere Gespräche. +* Das Modell generiert weniger Halluzinationen und liefert präzisere Antworten. +* Die Verfügbarkeit ist auf ChatGPT Pro-, Plus- und Team-Nutzer beschränkt. diff --git a/content/posts/2025-02-28-neuer-blogpost-warum-ich-auf-static-site-generators-setze-eine-persönliche-präferenz.md b/content/posts/2025-02-28-neuer-blogpost-warum-ich-auf-static-site-generators-setze-eine-persönliche-präferenz.md new file mode 100644 index 0000000..10cea42 --- /dev/null +++ b/content/posts/2025-02-28-neuer-blogpost-warum-ich-auf-static-site-generators-setze-eine-persönliche-präferenz.md @@ -0,0 +1,18 @@ +--- +title: "Neuer Blogpost - Warum ich auf Static Site Generators setze: Eine persönliche Präferenz" +date: 2025-02-28T00:30:00.000Z +categories: [ + "Dokumentation", + "Entwicklung", + "KI", + "Static Site Generators" +] +description: "🚀 Schnell, sicher & KI-freundlich: Warum ich auf Static Site Generators setze und welche Tools meinen Workflow optimieren. Jetzt mehr erfahren! 📄✨" +feature: https://stephan.hadan.de/blog/images/250228-warum-ich-auf-static-site-generators-setze/title.png +externalurl: https://stephan.hadan.de/blog/2025/02/28/warum-ich-auf-static-site-generators-setze-eine-pers%C3%B6nliche-pr%C3%A4ferenz/ +--- +**Warum ich lieber Static Site Generators als klassische CMS nutze?** + +Mein neuer Beitrag zeigt, warum SSGs für Dokus, Blogs & Automatisierung unschlagbar sind – und wie KI das Ganze noch besser macht. + +👉 Lies mehr darüber: [https://hadan.li/BwA6bV](https://hadan.li/BwA6bV) diff --git a/content/posts/2025-03-01-neuer-blogpost-die-suche-nach-digitaler-souveränität-ein-leitfaden-für-europas-zukunft.md b/content/posts/2025-03-01-neuer-blogpost-die-suche-nach-digitaler-souveränität-ein-leitfaden-für-europas-zukunft.md new file mode 100644 index 0000000..011148c --- /dev/null +++ b/content/posts/2025-03-01-neuer-blogpost-die-suche-nach-digitaler-souveränität-ein-leitfaden-für-europas-zukunft.md @@ -0,0 +1,13 @@ +--- +title: "Neuer Blogpost - Die Suche nach digitaler Souveränität: Ein Leitfaden + für Europas Zukunft" +date: 2025-03-01T00:30:00.000Z +categories: [ + "Digitale Souveränität", + "Europa" +] +description: Europas digitale Souveränität ist mehr als ein Ziel – sie ist eine Notwendigkeit. Wie können wir Unabhängigkeit in Technologie, KI & Cybersicherheit erreichen? Ein Leitfaden für die Zukunft. +feature: http://stephan.hadan.de/blog/images/250301-die-suche-nach-digitaler-souveraenitaet/eu-green-it-landscape.png +externalurl: https://hadan.li/mqes5M +--- +In einer Welt, die von rasanten technologischen Entwicklungen geprägt ist, steht Europa vor der Herausforderung, seine digitale Souveränität zu sichern. 🌐🔒 In meinem neuesten Artikel untersuche ich die notwendigen Schritte, um unsere technologische Unabhängigkeit zu stärken. Von der Förderung eigener Infrastrukturen über die Entwicklung europäischer KI-Lösungen bis hin zur Anwerbung internationaler Talente – es liegt an uns, Europas digitale Zukunft aktiv zu gestalten. Lese [hier](https://hadan.li/mqes5M) weiter, um zu erfahren, wie wir gemeinsam dieses Ziel erreichen können. diff --git a/content/posts/2025-03-04-eu-ai-champions-initiative.md b/content/posts/2025-03-04-eu-ai-champions-initiative.md new file mode 100644 index 0000000..c205b8c --- /dev/null +++ b/content/posts/2025-03-04-eu-ai-champions-initiative.md @@ -0,0 +1,54 @@ +--- +title: "EU AI Champions: Europas Antwort auf den globalen KI-Wettbewerb" +date: 2025-03-04T09:51:00.000Z +categories: [ + "Digitale Souveränität", + "Europa" +] +description: Die EU AI Champions Initiative will Europa im globalen KI-Wettbewerb nach vorne bringen – mit Investitionen, Kooperationen und Hightech. Wird sie zum Gamechanger? 🚀🇪🇺 +feature: /assets/images/20250304/aichampions.png +--- +Die „EU AI Champions Initiative“ wurde auf einem Branchengipfel in Paris präsentiert und verfolgt das ambitionierte Ziel, europäische Unternehmen in der künstlichen Intelligenz (KI) global wettbewerbsfähig zu machen. Die Initiative setzt auf gezielte Investitionen, verstärkte Kooperationen und die Schaffung einer starken, kohärenten KI-Allianz in Europa. Doch kann dieses Vorhaben die Herausforderungen überwinden, die bislang andere europäische Digitalprojekte wie Gaia-X behindert haben? + +
+ +
Image created by AI
+
+ +## Hintergrund und Ziele der Initiative + +Die EU strebt mit dieser Initiative an, den Rückstand gegenüber den USA und China in der KI-Entwicklung aufzuholen. Der Fokus liegt auf der Stärkung europäischer Unternehmen durch überregionale Zusammenarbeit, Zugang zu Kapital sowie die Nutzung europäischer Werte wie Datenschutz und Ethik als Wettbewerbsvorteil. Unternehmen aus verschiedenen Branchen sollen durch gemeinsame Forschung, den Austausch von Best Practices und strategische Partnerschaften gefördert werden. + +## Unterstützer + +
+ +
Quelle: https://aichampions.eu/
+
+ +## Herausforderungen der Initiative + +Trotz der vielversprechenden Ansätze gibt es erhebliche Herausforderungen: + +* **Bürokratie und Regulierung:** Europa hat vielfach bewiesen, dass ambitionierte Digitalprojekte an uneinheitlichen Regularien und überbordender Bürokratie scheitern. Die Initiative muss daher pragmatische und anwendungsorientierte Regulierung ermöglichen. +* **Finanzierung und Investitionen:** Im Vergleich zu den USA oder China sind europäische Investitionen in KI deutlich geringer. Private und öffentliche Investitionen müssen gebündelt und effizient eingesetzt werden. +* **Marktfragmentierung:** Unterschiedliche Vorschriften in den Mitgliedsstaaten erschweren eine einheitliche Umsetzung und Skalierbarkeit von KI-Lösungen. +* **Talentmangel:** Europa muss in die Aus- und Weiterbildung von KI-Spezialisten investieren, um langfristig wettbewerbsfähig zu bleiben. + +## Fazit: Kann die Initiative Europa an die Spitze bringen? + +Die „EU AI Champions Initiative“ ist ein ehrgeiziges Projekt, das europäische Unternehmen in der KI-Branche stärken soll. Die bisherigen Anwendungsbeispiele zeigen, dass es viele vielversprechende Innovationen gibt, doch die Umsetzung wird entscheidend sein. Damit die Initiative ein Erfolg wird, braucht es neben visionären Zielen vor allem entschlossene politische und finanzielle Unterstützung. Sollte es gelingen, die regulatorischen und finanziellen Herausforderungen zu bewältigen, könnte die Initiative tatsächlich ein Gamechanger für die europäische KI-Industrie sein. + +Eine spannende Übersicht über derzeitige AI-Projekte bietet der lesenswerte [Report „An ambitious agenda for European AI“](https://files.elfsightcdn.com/eafe4a4d-3436-495d-b748-5bdce62d911d/ef6fcf8b-10e9-437c-99b0-62833cfacf2e/An-Ambitious-Agenda-for-European-AI.pdf) auf der Webseite der Initiative. + +## Kernpunkte zusammengefasst + +* Die **EU AI Champions Initiative** soll europäische Unternehmen in der KI-Entwicklung und -Anwendung stärken, um im globalen Wettbewerb mit den USA und China aufzuholen. +* Praxisbeispiele aus Automobilindustrie, Gesundheitswesen, Finanzsektor und Logistik zeigen das Potenzial von KI in Europa, wobei Skalierung und Kooperation entscheidend sind. +* Die größten Herausforderungen sind Bürokratie, mangelnde Investitionen, Marktfragmentierung und ein Talentmangel – die Überwindung dieser Hürden ist entscheidend für den Erfolg der Initiative. + +## Weiterführende Links + +* [Webseite der Initiative](https://aichampions.eu/) +* [Mein Blogartikel: Die Suche nach digitaler Souveränität](http://stephan.hadan.de/blog/images/250301-die-suche-nach-digitaler-souveraenitaet/eu-green-it-landscape.png) +* [Ankündigung der Europäischen Kommission zur Initiative](https://ec.europa.eu/commission/presscorner/detail/de/ac_25_481) \ No newline at end of file diff --git a/content/posts/2025-03-04-openproject.md b/content/posts/2025-03-04-openproject.md new file mode 100644 index 0000000..f2c8dea --- /dev/null +++ b/content/posts/2025-03-04-openproject.md @@ -0,0 +1,55 @@ +--- +title: "OpenProject: Europäische Open-Source-Software für sicheres Projektmanagement" +date: 2025-03-04T10:51:00.000Z +categories: [ + "Digitale Souveränität", + "Europa", + "FOSS", + "IT-News" +] +description: "OpenProject: Europäische Open-Source-Software für sicheres Projektmanagement. DSGVO-konform, self-hosted & mit Nextcloud integrierbar – für digitale Souveränität!" +feature: /assets/images/20250304/openproject-logo-centered-blue-background.png +--- +In der heutigen digitalen Welt spielt das Thema Datensicherheit eine immer größere Rolle. Unternehmen und Organisationen stehen vor der Herausforderung, effiziente Projektmanagement-Tools zu nutzen, ohne dabei ihre Datenhoheit zu verlieren. Eine Lösung, die all diese Anforderungen erfüllt, ist OpenProject – eine in Deutschland entwickelte Open-Source-Software für professionelles Projektmanagement. + +## Was ist OpenProject? + +![OpenProject Logo](/assets/images/20250304/openproject-logo.png) + +OpenProject ist eine leistungsstarke, webbasierte Open-Source-Software, die es Teams ermöglicht, Projekte strukturiert zu planen, durchzuführen und zu überwachen. Mit Funktionen wie Aufgabenverwaltung, Gantt-Diagrammen, agilen Boards, Zeiterfassung und Dokumentenmanagement bietet OpenProject eine vielseitige Lösung für klassisches, agiles und hybrides Projektmanagement. + +## Europäische Open-Source-Software: Digitale Souveränität + +Ein besonderer Vorteil von OpenProject ist seine europäische Herkunft. Die Software wird in Deutschland entwickelt und unterliegt damit den strengen Datenschutz- und Sicherheitsstandards der EU. Dies bedeutet für Unternehmen und Behörden, dass ihre Daten nicht in die Hände von außereuropäischen Anbietern gelangen und sie somit ihre digitale Souveränität wahren können. Zudem bietet die Open-Source-Natur der Software volle Transparenz über den Quellcode, was Sicherheit und Vertrauen zusätzlich stärkt. + +## Datenschutzvorteile: DSGVO-konform und sicher + +Da OpenProject den Datenschutzrichtlinien der EU entspricht, insbesondere der Datenschutz-Grundverordnung (DSGVO), profitieren Nutzer von höchstem Schutz sensibler Daten. Im Gegensatz zu vielen kommerziellen Cloud-Lösungen, die möglicherweise Daten außerhalb Europas speichern, ermöglicht OpenProject volle Kontrolle darüber, wo und wie die Daten verarbeitet werden. + +## Self-Hosting: Maximale Kontrolle über die eigene IT-Infrastruktur + +Ein entscheidendes Merkmal von OpenProject ist die Möglichkeit des Self-Hostings. Unternehmen und Organisationen können die Software auf ihren eigenen Servern betreiben, wodurch sie die volle Kontrolle über ihre IT-Infrastruktur und Daten behalten. Dies ist besonders für sicherheitskritische Branchen wie den öffentlichen Sektor, Gesundheitswesen oder Finanzdienstleister von Bedeutung. Durch Self-Hosting können Risiken durch externe Cloud-Anbieter minimiert und Compliance-Anforderungen einfacher erfüllt werden. + +## Integration mit Nextcloud: Zwei europäische Open-Source-Lösungen verbinden + +Ein weiterer Vorteil von OpenProject ist die Möglichkeit der Integration mit Nextcloud, einer ebenfalls in Europa entwickelten Open-Source-Lösung für Dateisynchronisation und -freigabe. Durch diese Kombination können Teams ihre Projektmanagement- und Dokumentenverwaltungssysteme nahtlos miteinander verbinden und so einen ganzheitlichen, sicheren und flexiblen digitalen Arbeitsplatz schaffen – komplett unter eigener Kontrolle und ohne Abhängigkeit von US-amerikanischen Cloud-Diensten. + +## Professioneller Support für Unternehmen + +Neben der kostenlosen Community-Edition bietet OpenProject auch kostenpflichtige Supportoptionen für Unternehmen an. Organisationen, die professionellen technischen Support, regelmäßige Updates und zusätzliche Sicherheitsfeatures benötigen, können auf verschiedene Support- und Hosting-Pakete zurückgreifen. Dies gewährleistet eine stabile, zuverlässige Nutzung und stellt sicher, dass Unternehmen bei technischen Herausforderungen schnelle und kompetente Unterstützung erhalten. + +## Fazit: OpenProject als sichere und flexible Alternative + +OpenProject vereint leistungsstarkes Projektmanagement mit höchsten Datenschutzstandards und digitaler Souveränität. Als Open-Source-Lösung mit Self-Hosting-Option bietet es Unternehmen und öffentlichen Einrichtungen eine sichere Alternative zu proprietären Tools. Dank der Integration mit Nextcloud und den verfügbaren Supportoptionen stellt OpenProject eine zukunftssichere, europäische Lösung dar, die sowohl Flexibilität als auch Datensicherheit bietet. + +## Zusammenfassung + +- OpenProject ist eine europäische Open-Source-Projektmanagement-Software, die höchste Datenschutzstandards erfüllt und digitale Souveränität gewährleistet. +- Dank der Self-Hosting-Option behalten Unternehmen die vollständige Kontrolle über ihre IT-Infrastruktur und sensiblen Daten. +- Die Integration mit Nextcloud sowie professionelle Supportoptionen machen OpenProject zu einer flexiblen, sicheren und nachhaltigen Lösung für Organisationen jeder Größe. + +## Weiterführende Links + +* [Webseite von OpenProject](https://www.openproject.org/) +* [Nextcloud-Integration](https://www.openproject.org/docs/system-admin-guide/integrations/nextcloud/) +* [Support-Optionen, Enterprise-Addons, Cloud-Hosting](https://www.openproject.org/pricing/?users=25¤cy=eur&mode=cloud&period=12&support=basic&edition=classic) \ No newline at end of file diff --git a/content/posts/2025-03-10-alternative-suchmaschinen.md b/content/posts/2025-03-10-alternative-suchmaschinen.md new file mode 100644 index 0000000..5b74a9b --- /dev/null +++ b/content/posts/2025-03-10-alternative-suchmaschinen.md @@ -0,0 +1,20 @@ +--- +title: "Neuer Blogpost - Alternative Suchmaschinen: Mehr Vielfalt und Datenschutz im Netz" +date: 2025-03-10T16:00:00.000Z +categories: [ + "Digitale Souveränität", + "Europa", + "Alternative Suchmaschinen" +] +description: "Entdecke datenschutzfreundliche Alternativen zu Google: europäische Suchmaschinen, Self-Hosted-Lösungen und KI-gestützte Ansätze für mehr digitale Souveränität." +externalurl: https://stephan.hadan.de/blog/2025/03/10/alternative-suchmaschinen-mehr-vielfalt-und-datenschutz-im-netz/ +feature: /assets/images/20250310/searxng-mockup.png +--- +In der digitalen Welt dominiert Google den Suchmaschinenmarkt mit einem Anteil von etwa 88 % in Deutschland. Diese Monopolstellung führt zu Abhängigkeiten und Datenschutzbedenken. + +Europäische und internationale Alternativen setzen hier an, um mehr Vielfalt und Schutz der Privatsphäre zu bieten. Ich habe zu dem Thema auf meinem persönlichen Blog eine [Übersicht](https://stephan.hadan.de/blog/2025/03/10/alternative-suchmaschinen-mehr-vielfalt-und-datenschutz-im-netz/) geschaffen, was es gibt und was möglich ist. Ebenso gehe ich auf europäische Initiativen ein und zeige, was im Bereich Self-Hosting so möglich ist. Viel Spaß beim Lesen! + +
+ +
Self-hosted SearXNG-Instanz
+
\ No newline at end of file diff --git a/content/posts/2025-03-10-xwiki.md b/content/posts/2025-03-10-xwiki.md new file mode 100644 index 0000000..1c90bc2 --- /dev/null +++ b/content/posts/2025-03-10-xwiki.md @@ -0,0 +1,63 @@ +--- +title: "XWiki: Europäische Open-Source-Software für effektives Wissensmanagement" +date: 2025-03-10T8:18:00.000Z +categories: [ + "Digitale Souveränität", + "Europa", + "FOSS", + "IT-News" +] +description: "XWiki ist eine in Frankreich entwickelte Open-Source-Wiki-Software, die flexible Self-Hosting-Optionen, DSGVO-Konformität und professionelle Unterstützung bietet." +feature: /assets/images/20250310/xwiki-logo.png +--- +In der heutigen digitalen Ära ist effizientes Wissensmanagement für Unternehmen von entscheidender Bedeutung. XWiki, eine in Frankreich entwickelte Open-Source-Software, bietet hierfür eine flexible und anpassbare Lösung. + +### Was ist XWiki? + +![XWiki-Logo](/assets/images/20250310/xwiki-logo.png) + +XWiki ist eine leistungsstarke, webbasierte Open-Source-Wiki-Software, die es Teams ermöglicht, Wissen zu erstellen, zu teilen und gemeinsam zu bearbeiten. Mit Funktionen wie WYSIWYG-Editor, Seitenhierarchie, Dashboard, Makros, Blog und Forum bietet XWiki eine vielseitige Plattform für kollaboratives Arbeiten. + +### Europäische Open-Source-Software: Digitale Souveränität + +Als in Frankreich entwickelte Open-Source-Software unterliegt XWiki den strengen Datenschutz- und Sicherheitsstandards der EU. Unternehmen und Behörden können somit ihre digitale Souveränität wahren und sicherstellen, dass ihre Daten nicht in die Hände von außereuropäischen Anbietern gelangen. Die Open-Source-Natur der Software bietet zudem volle Transparenz über den Quellcode, was Sicherheit und Vertrauen zusätzlich stärkt. + +### Datenschutzvorteile: DSGVO-konform und sicher + +XWiki entspricht den Datenschutzrichtlinien der EU, insbesondere der Datenschutz-Grundverordnung (DSGVO), und bietet somit höchsten Schutz für sensible Daten. Im Gegensatz zu vielen kommerziellen Cloud-Lösungen, die Daten möglicherweise außerhalb Europas speichern, ermöglicht XWiki volle Kontrolle darüber, wo und wie die Daten verarbeitet werden. + +### Self-Hosting: Maximale Kontrolle über die eigene IT-Infrastruktur + +Ein entscheidendes Merkmal von XWiki ist die Möglichkeit des Self-Hostings. Unternehmen und Organisationen können die Software auf ihren eigenen Servern betreiben, wodurch sie die volle Kontrolle über ihre IT-Infrastruktur und Daten behalten. Dies ist besonders für sicherheitskritische Branchen wie den öffentlichen Sektor, das Gesundheitswesen oder Finanzdienstleister von Bedeutung. + +### Integration mit anderen Systemen + +XWiki bietet zahlreiche Erweiterungen, die eine Integration mit verschiedenen Systemen ermöglichen, wie beispielsweise Jira oder GitLab. Zur Authentifizierung von Usern existieren unter anderem Erweiterungen für OpenID Connect und LDAP. + +### Migrationsmöglichkeiten: Von Confluence zu XWiki + +Für Unternehmen, die von Atlassians Confluence zu XWiki migrieren möchten, bietet XWiki spezielle Migrationswerkzeuge an. Der *Confluence Migrator* ermöglicht eine einfache Übertragung von Inhalten, einschließlich Seiten, Blogs und Anhängen, von Confluence zu XWiki. Dieser Prozess stellt sicher, dass vorhandene Daten nahtlos in die neue Umgebung übernommen werden können. + +### Professioneller Support für Unternehmen + +Neben der kostenlosen Community-Edition bietet XWiki auch kostenpflichtige Supportoptionen für Unternehmen an. Organisationen, die professionellen technischen Support, regelmäßige Updates und zusätzliche Sicherheitsfeatures benötigen, können auf verschiedene Support- und Hosting-Pakete zurückgreifen. Dies gewährleistet eine stabile, zuverlässige Nutzung und stellt sicher, dass Unternehmen bei technischen Herausforderungen schnelle und kompetente Unterstützung erhalten. citeturn0search5 + +### Erfahrungen aus der Praxis: Wichtige Hinweise für Systemintegratoren + +Bei der Implementierung von XWiki ist eine gründliche Einarbeitung als Systemintegrator erforderlich. Es ist wichtig, die Grundeinstellungen zu verstehen, wie beispielsweise das Ausblenden der Selbstregistrierung. Zudem ist zu beachten, dass Benutzernamen mit einem Punkt ("Dot") standardmäßig nicht möglich sind, außer in Verbindung mit LDAP. + +### Fazit: XWiki als sichere und flexible Alternative + +XWiki vereint leistungsstarkes Wissensmanagement mit höchsten Datenschutzstandards und digitaler Souveränität. Als Open-Source-Lösung mit Self-Hosting-Option bietet es Unternehmen und öffentlichen Einrichtungen eine sichere Alternative zu proprietären Tools. Dank der zahlreichen Erweiterungen, der Migrationsmöglichkeiten von Confluence und der verfügbaren Supportoptionen stellt XWiki eine zukunftssichere, europäische Lösung dar, die sowohl Flexibilität als auch Datensicherheit bietet. + +## Kernaussagen + +- XWiki ist eine in Frankreich entwickelte Open-Source-Wissensmanagement-Software, die höchste Datenschutzstandards erfüllt und digitale Souveränität gewährleistet. +- Dank der Self-Hosting-Option behalten Unternehmen die vollständige Kontrolle über ihre IT-Infrastruktur und sensiblen Daten. +- Die zahlreichen Erweiterungen, die Migrationsmöglichkeiten von Confluence sowie professionellen Supportoptionen machen XWiki zu einer flexiblen, sicheren und nachhaltigen Lösung für Organisationen jeder Größe. + +## Weiterführende Links + +* [Webseite von XWiki](https://www.xwiki.org/) +* [Confluence Migrator](https://store.xwiki.com/xwiki/bin/view/Extension/Confluence%20Migrator/) +* [Kommerzielle Angebote](https://xwiki.com/en/) \ No newline at end of file diff --git a/content/posts/2025-03-12-apple-veroeffentlicht-macos-sequoia-1531 copy.md b/content/posts/2025-03-12-apple-veroeffentlicht-macos-sequoia-1531 copy.md new file mode 100644 index 0000000..0964e75 --- /dev/null +++ b/content/posts/2025-03-12-apple-veroeffentlicht-macos-sequoia-1531 copy.md @@ -0,0 +1,16 @@ +--- +title: "Dringendes Update: Apple schließt kritische Sicherheitslücke in iOS 18.3.2 und macOS 15.3.2" +date: 2025-03-12T12:21:00.000Z +categories: [ + "macOS", + "Sicherheit" +] +description: "Apple veröffentlicht iOS 18.3.2 und macOS 15.3.2 mit wichtigen Sicherheitsfixes. Aktualisiere jetzt, um Deine Geräte zu schützen." +--- +Apple hat kürzlich Updates für mehrere Betriebssysteme veröffentlicht, darunter iOS 18.3.2, iPadOS 18.3.2, macOS Sequoia 15.3.2, tvOS 18.3.1 und visionOS 2.3.2. Diese Updates konzentrieren sich hauptsächlich auf Fehlerbehebungen und Sicherheitsverbesserungen. + +Ein zentrales Anliegen dieser Aktualisierungen ist die Behebung eines Problems, das die Wiedergabe bestimmter Streaming-Inhalte verhinderte. Apple gibt an, dass dieses Problem durch die Updates behoben wurde. + +Darüber hinaus schließen die Updates eine Sicherheitslücke in der Browser-Engine WebKit, die von Safari und anderen Browsern auf iOS und iPadOS genutzt wird. Diese Schwachstelle, identifiziert als [CVE-2025-24201](https://nvd.nist.gov/vuln/detail/CVE-2025-24201), ermöglichte es Angreifern, über manipulierte Websites aus der Web-Content-Sandbox auszubrechen. Apple hat diese Lücke intern entdeckt und berichtet, dass sie bereits in iOS 17.2 teilweise behoben wurde. Es gab Berichte über Angriffe durch staatlich unterstützte Hacker, die auf spezifische Zielpersonen abzielten. Warum Apple die Lücke erst jetzt vollständig schließt, bleibt unklar. + +Es wird dringend empfohlen, diese Updates zeitnah zu installieren, um potenzielle Sicherheitsrisiken zu minimieren. Die Aktualisierungen sind über die jeweiligen Softwareaktualisierungsfunktionen der Geräte verfügbar. diff --git a/content/posts/2025-03-13-wekan-vs-trello.md b/content/posts/2025-03-13-wekan-vs-trello.md new file mode 100644 index 0000000..59f80cb --- /dev/null +++ b/content/posts/2025-03-13-wekan-vs-trello.md @@ -0,0 +1,102 @@ +--- +title: "WeKan als Alternative zu Trello: Ein Vergleich" +date: 2025-03-13T14:45:00.000Z +categories: [ + "Digitale Souveränität", + "Europa", + "FOSS", + "IT-News" +] +description: "Die Open-Source-Kanban-Alternative zu Trello mit Self-Hosting, kommerziellem Support und Sponsoring-Möglichkeiten für maximale digitale Souveränität." +feature: /assets/images/20250313/wekan-logo.png +--- + +
+
+ +
+
+ +In der heutigen digitalen Arbeitswelt sind effiziente Projektmanagement-Tools unerlässlich, um Teams bei der Organisation und Verfolgung ihrer Aufgaben zu unterstützen. Trello hat sich als beliebtes Werkzeug etabliert, doch es gibt auch Open-Source-Alternativen wie WeKan, die insbesondere durch Self-Hosting-Möglichkeiten und die Förderung digitaler Souveränität überzeugen. In diesem Artikel möchten wir Ihnen einen Überblick über die Kanban-Methode geben, WeKan ausführlich vorstellen und es mit Trello vergleichen, wobei wir besonders auf die Aspekte des Self-Hostings, der digitalen Souveränität sowie der verfügbaren kommerziellen Unterstützungs- und Sponsoring-Optionen eingehen. + +## Einführung in Kanban + +Kanban ist eine Methode des Projektmanagements, die ihren Ursprung in der Produktionssteuerung von Toyota hat. Der Begriff "Kanban" stammt aus dem Japanischen und bedeutet so viel wie "Signalkarte". Im Kontext des Projektmanagements dient Kanban dazu, Arbeitsprozesse zu visualisieren, Engpässe zu identifizieren und den Workflow kontinuierlich zu verbessern. Durch die Verwendung von Karten und Spalten können Teams den Status ihrer Aufgaben leicht nachvollziehen und flexibel auf Veränderungen reagieren. + +## Vorstellung von WeKan + +WeKan ist ein Open-Source-Kanban-Board, das als Alternative zu kommerziellen Lösungen wie Trello entwickelt wurde. Es ermöglicht Benutzern, Aufgaben in Form von Karten zu erstellen, diese in verschiedenen Listen zu organisieren und den Fortschritt visuell darzustellen. Zu den Hauptfunktionen von WeKan gehören: + +- **Boards**: Erstellung mehrerer Boards für unterschiedliche Projekte oder Teams. +- **Listen**: Anordnung von Aufgaben in Listen wie "To Do", "In Bearbeitung" und "Erledigt". +- **Karten**: Detaillierte Aufgaben mit Beschreibungen, Fälligkeitsdaten und Anhängen. +- **Labels**: Farbige Markierungen zur Kategorisierung und Priorisierung von Aufgaben. +- **Kommentare**: Diskussionen und Feedback direkt auf den Karten. +- **Swimlanes**: Dies sind horizontale Bahnen auf dem Board, die helfen, den Arbeitsablauf zu trennen und weiter zu definieren. + +Daneben gibt es noch einige weitere interessante Features wie: + +- **Automatisierung**: Mit Kanban sind Automatisierungen mit [n8n](https://n8n.io) umsetzbar. +- **Anhänge zu Karten**: Es können Anhänge zu Karten hinzugefügt werden. +- **Bilder zu Karten**: Es können Bilder zu Karten hinzugefügt werden. +- **Planning Poker / Scrum Poker** +- **Filtern und Suchen** + +Eine Übersicht über die Features ist im [WeKan-Wiki](https://github.com/wekan/wekan/wiki/Deep-Dive-Into-WeKan#meteor-wekan-features) zu finden. + +Ein herausragendes Merkmal von WeKan ist die Möglichkeit zum Self-Hosting. Das bedeutet, dass Unternehmen und Einzelpersonen WeKan auf ihren eigenen Servern installieren und betreiben können, wodurch sie die volle Kontrolle über ihre Daten behalten. Dies ist besonders im Hinblick auf die digitale Souveränität und den Datenschutz von großer Bedeutung. + +![Wekan-Screenshot](/assets/images/20250313/wekan-screenshot.png) + +## Vergleich zwischen WeKan und Trello + +Sowohl WeKan als auch Trello bieten ähnliche Grundfunktionen eines Kanban-Boards. Allerdings gibt es einige Unterschiede, die je nach Bedarf entscheidend sein können: + +- **Self-Hosting**: Während Trello ausschließlich als Cloud-Dienst verfügbar ist, ermöglicht WeKan das Hosting auf eigenen Servern. Dies bietet Vorteile in Bezug auf Datenschutz und Kontrolle über die eigenen Daten. +- **Open Source**: WeKan ist unter der [MIT-Lizenz](https://raw.githubusercontent.com/wekan/wekan/refs/heads/main/LICENSE) als Open-Source-Software verfügbar, was bedeutet, dass der Quellcode frei zugänglich ist und bei Bedarf angepasst werden kann. Trello hingegen ist proprietär. +- **Funktionalität**: Beide Tools bieten grundlegende Kanban-Funktionen. Trello verfügt über eine Vielzahl von Power-Ups (Erweiterungen), während WeKan durch seine offene Architektur individuell erweitert werden kann. +- **Kosten**: Trello bietet sowohl kostenlose als auch kostenpflichtige Pläne an, wobei bestimmte Funktionen nur in den Premium-Versionen verfügbar sind. WeKan selbst ist kostenlos nutzbar; Kosten können lediglich durch das Hosting entstehen. + +## Kommerzieller Support und Sponsoring bei WeKan + +Obwohl WeKan eine Open-Source-Lösung ist, bietet es dennoch kommerziellen Support für Unternehmen und Einzelpersonen an, die professionelle Unterstützung benötigen. Dieser Support wird von der finnischen Non-Profit-Organisation hinter WeKan bereitgestellt, wobei alle Einnahmen direkt in die Wartung und Weiterentwicklung des Projekts fließen. Der kommerzielle Support umfasst verschiedene Dienstleistungen, darunter: + +- **Benutzerfreundlicher, technischer und Enterprise-Support**: Verfügbar in Englisch und Finnisch, mit einem Stundensatz von 100 Euro. +- **Jährliche Supportpläne**: Diese Pläne bieten Supportstunden für Features, Fehlerbehebungen, Hosting und mehr. Sie beinhalten auch einen privaten Support-Chat-Kanal. Beispiele für Supportpläne sind: + + - 3 Jahre: 5.000 Euro für 50 Stunden Support + - 2 Jahre: 4.000 Euro für 40 Stunden Support + - 1 Jahr: 2.000 Euro für 20 Stunden Support; 1.000 Euro für 10 Stunden Support; 500 Euro für 5 Stunden Support + +- **Feature- und Fehlerentwicklung**: Unternehmen können spezifische Funktionen oder Fehlerbehebungen in Auftrag geben. +- **Managed Hosting**: Angeboten auf verschiedenen Plattformen, einschließlich öffentlicher und privater Clouds sowie privaten Servern mit unterschiedlichen CPU-Architekturen. +- **SaaS-Hosting**: 50 Euro/Jahr, mit Bereitstellung unter einer Subdomain subdomainname.yourcompany.com + +Zusätzlich zum kommerziellen Support bietet WeKan auch Sponsoring-Optionen an. Unternehmen oder Einzelpersonen können die Entwicklung von WeKan durch monatliche oder jährliche Beiträge unterstützen. Abhängig vom Sponsoring-Level können Sponsoren ihr Firmenlogo mit einem Link auf der Sponsorenseite von WeKan platzieren lassen. Beispiele für Sponsoring-Pläne sind: + +- **Sponsor**: 50 Euro/Monat oder 500 Euro/Jahr (20% Rabatt) +- **Silber-Sponsor**: 100 Euro/Monat oder 1.000 Euro/Jahr (20% Rabatt) +- **Gold-Sponsor**: 200 Euro/Monat oder 2.000 Euro/Jahr (20% Rabatt) +- **Platin-Sponsor**: 400 Euro/Monat oder 4.000 Euro/Jahr (20% Rabatt) + +Diese Sponsoring-Beiträge unterstützen die kontinuierliche Entwicklung und Verbesserung von WeKan und bieten gleichzeitig eine Plattform für Unternehmen, ihre Unterstützung der Open-Source-Community zu zeigen. + +## Zusammenfassung + +WeKan stellt eine leistungsfähige Open-Source-Alternative zu Trello dar, insbesondere für Nutzer, die Wert auf Self-Hosting, digitale Souveränität sowie die Möglichkeit von kommerziellem Support und Sponsoring legen. Durch die Option, die Software auf eigenen Servern zu betreiben, behalten Organisationen die volle Kontrolle über ihre Daten und können das Tool flexibel an ihre Bedürfnisse anpassen. Der angebotene kommerzielle Support und die Sponsoring-Optionen ermöglichen es Unternehmen zudem, professionelle Unterstützung zu erhalten und die Weiterentwicklung von WeKan aktiv zu fördern. + +Ich selbst verwende WeKan mittlerweile seit 8 Jahren und bin begeistert über die Funktionalität, die Erweiterungsmöglichkeiten, die Möglichkeit des Self-Hostings und die Arbeit, welche das Team um [Lauri Ojansivu](https://github.com/xet7) leistet. + +**Keyfacts:** + +- **Self-Hosting**: WeKan kann auf eigenen Servern betrieben werden, was volle Datenkontrolle ermöglicht. +- **Kommerzieller Support**: Verfügbarkeit von professioneller Unterstützung für Unternehmen. +- **Sponsoring**: Möglichkeit, die Entwicklung von WeKan finanziell zu unterstützen und als Sponsor sichtbar zu werden. + +## Weiterführende Links + +* [Webseite von WeKan](https://wekan.team/) + * [Kommerzielle Angebote](https://wekan.team/commercial-support/) + * [Sponsoring](https://wekan.team/sponsor/) +* [WeKan-GitHub-Projekt](https://github.com/wekan/wekan) +* [WeKan-Wiki](https://github.com/wekan/wekan/wiki) diff --git a/content/posts/2025-03-14-update-alternative-suchmaschinen.md b/content/posts/2025-03-14-update-alternative-suchmaschinen.md new file mode 100644 index 0000000..86194b8 --- /dev/null +++ b/content/posts/2025-03-14-update-alternative-suchmaschinen.md @@ -0,0 +1,19 @@ +--- +title: "Update zu Blogpost - Alternative Suchmaschinen: Mehr Vielfalt und Datenschutz im Netz" +date: 2025-03-14T16:00:00.000Z +categories: [ + "Digitale Souveränität", + "Europa", + "Alternative Suchmaschinen" +] +description: "Entdecke unsere neuesten Ergänzungen: Brave Search als neuen Suchmaschinenanbieter, aktualisierte Screenshots von YaCy und Whoogle Search sowie Informationen zu den mobilen Apps von Swisscows und Mojeek." +externalurl: https://stephan.hadan.de/blog/2025/03/10/alternative-suchmaschinen-mehr-vielfalt-und-datenschutz-im-netz/ +feature: /assets/images/20250314/brave_color_darkbackground.png +--- +Wir haben spannende Updates für euch: + +- **Brave Search hinzugefügt:** Unsere Liste der Suchmaschinenanbieter wurde um [*Brave Search*](https://brave.com/de/search/) erweitert. +- **Screenshots aktualisiert:** Ab sofort findet ihr aktuelle Screenshots von *YaCy* und *Whoogle Search*, um euch einen besseren Eindruck dieser Suchmaschinen zu vermitteln. +- **Mobile Apps ergänzt:** Für *Swisscows* und *Mojeek* haben wir Informationen zu den verfügbaren mobilen Apps in unsere Übersicht aufgenommen. + +Den aktualisierten Blogpost findet ihr [hier](https://stephan.hadan.de/blog/2025/03/10/alternative-suchmaschinen-mehr-vielfalt-und-datenschutz-im-netz/). \ No newline at end of file diff --git a/content/posts/2025-03-15-auswirkungen-der-neuen-us-ki-politik-auf-europa--eine-nalyse.md b/content/posts/2025-03-15-auswirkungen-der-neuen-us-ki-politik-auf-europa--eine-nalyse.md new file mode 100644 index 0000000..44956bf --- /dev/null +++ b/content/posts/2025-03-15-auswirkungen-der-neuen-us-ki-politik-auf-europa--eine-nalyse.md @@ -0,0 +1,44 @@ +--- +title: "Auswirkungen der neuen US-KI-Politik auf Europa: Eine Analyse" +date: 2025-03-15T01:34:00.000Z +categories: [ + "Digitale Souveränität", + "Europa", + "KI", + "America First" +] +description: "Die Neuausrichtung der US-KI-Politik unter der Trump-Administration erhöht den Druck auf Europa, seine KI-Strategien anzupassen, um wettbewerbsfähig zu bleiben und ethische Standards zu wahren." +feature: /assets/images/20250315/ki-usa-eu.png +--- +Die Trump-Administration hat [kürzlich](https://www.wired.com/story/ai-safety-institute-new-directive-america-first/) eine bedeutende Neuausrichtung der US-amerikanischen KI-Politik vorgenommen, die den globalen KI-Markt beeinflusst. Diese Veränderungen haben auch erhebliche Auswirkungen auf Europa, das eigene Strategien entwickeln muss, um in diesem dynamischen Umfeld wettbewerbsfähig zu bleiben. + +
+ +
Image created by AI
+
+ +## Hintergrund der US-KI-Politikänderungen + +Unter der Trump-Regierung wurde die US-KI-Politik neu ausgerichtet, wobei der Schwerpunkt auf Deregulierung und der Förderung von freiem Marktinnovationen liegt. Diese Strategie zielt darauf ab, die Dominanz der USA im KI-Sektor zu stärken, indem regulatorische Hürden abgebaut und ethische Auflagen reduziert werden. + +## Auswirkungen auf Europa + +Die Neuausrichtung der US-KI-Politik hat für Europa mehrere Konsequenzen: + +- **Wettbewerbsdruck:** Die aggressive Förderung von KI-Innovationen in den USA könnte europäischen Unternehmen unter Druck setzen, ihre eigenen Entwicklungs- und Investitionsstrategien zu überdenken, um nicht ins Hintertreffen zu geraten. +- **Regulatorische Divergenz:** Während die USA auf Deregulierung setzen, verfolgt Europa mit dem [**Artificial Intelligence Act (AI Act)**](https://artificialintelligenceact.eu/de/ai-act-explorer/) einen strengeren, risikobasierten Ansatz zur Regulierung von KI. Diese unterschiedlichen Ansätze könnten zu Spannungen in der transatlantischen Zusammenarbeit führen. +- **Technologische Abhängigkeit:** US-Exportkontrollen für KI-Technologien könnten Europas Zugang zu wichtigen Ressourcen einschränken. Obwohl die EU ihre eigene Chipindustrie stärkt, bleibt sie in einigen Bereichen von US-Technologien abhängig, was die technologische Souveränität beeinträchtigen könnte. +- **Internationale Spannungen:** Die aggressive Haltung der USA gegenüber europäischen Regulierungen könnte die transatlantische Zusammenarbeit im digitalen Sektor erschweren. Es besteht die Gefahr, dass Europa als "überseeischer Erpresser" wahrgenommen wird, was die Notwendigkeit unterstreicht, die Abhängigkeit von amerikanischen Tech-Giganten zu reduzieren. +- **Globale KI-Governance:** Die unterschiedlichen regulatorischen Ansätze könnten die Bemühungen um eine einheitliche globale KI-Governance behindern. Während die EU strenge Regeln einführt, könnten die USA versuchen, ihren deregulierten Ansatz international durchzusetzen, was zu einem regulatorischen Wettlauf nach unten führen könnte. + +## Fazit + +Die Neuausrichtung der US-KI-Politik stellt Europa vor erhebliche Herausforderungen. Um wettbewerbsfähig zu bleiben und gleichzeitig ethische Standards zu wahren, muss Europa seine Investitionen in KI erhöhen, regulatorische Rahmenbedingungen flexibel gestalten und die technologische Souveränität stärken. Eine enge Zusammenarbeit innerhalb der EU und mit internationalen Partnern ist entscheidend, um den globalen KI-Markt verantwortungsvoll und nachhaltig zu gestalten. + +## Zusammenfassung der wichtigsten Punkte + +- **Wettbewerbsdruck:** US-Deregulierung erhöht den Innovationsdruck auf europäische Unternehmen. +- **Regulatorische Divergenz:** Unterschiedliche Ansätze in den USA und der EU könnten die Zusammenarbeit erschweren. +- **Technologische Abhängigkeit:** US-Exportkontrollen könnten Europas Zugang zu KI-Technologien einschränken. +- **Internationale Spannungen:** US-Aggressivität gegenüber EU-Regulierungen könnte die transatlantische Beziehung belasten. +- **Globale KI-Governance:** Divergierende Regulierungen könnten eine einheitliche globale KI-Politik behindern. diff --git a/content/posts/2025-03-15-green-ai-hub-mittelstand.md b/content/posts/2025-03-15-green-ai-hub-mittelstand.md new file mode 100644 index 0000000..74346be --- /dev/null +++ b/content/posts/2025-03-15-green-ai-hub-mittelstand.md @@ -0,0 +1,42 @@ +--- +title: "Green-AI Hub Mittelstand: Wie Künstliche Intelligenz den deutschen Mittelstand nachhaltiger macht" +date: 2025-03-15T00:01:00.000Z +categories: [ + "Digitale Souveränität", + "Europa", + "KI", + "Mittelstand" +] +description: "Entdecke, wie der Green-AI Hub Mittelstand kleine und mittlere Unternehmen dabei unterstützt, durch den Einsatz von Künstlicher Intelligenz ihre Ressourceneffizienz zu steigern, welche Ziele verfolgt werden, welche Beispiele es gibt und wie dies im europäischen Kontext bewertet wird." +feature: /assets/images/20250315/green-ai-hub-mittelstand-logo.png +--- +Der **[Green-AI Hub Mittelstand](https://www.green-ai-hub.de/)** ist eine Initiative des Bundesministeriums für Umwelt, Naturschutz, nukleare Sicherheit und Verbraucherschutz (BMUV), die darauf abzielt, kleine und mittlere Unternehmen (KMU) bei der Implementierung von Künstlicher Intelligenz (KI) zur Steigerung der Ressourceneffizienz und Materialeinsparung zu unterstützen. + +![Green-AI Hub Mittelstand](/assets/images/20250315/green-ai-hub-mittelstand.svg) + +## Ziele des Green-AI Hub Mittelstand + +Das Hauptziel des Green-AI Hubs besteht darin, KMU praxisnahe und ressourcenschonende KI-Lösungen bereitzustellen. Bis Ende 2025 sollen bis zu 20 Pilotanwendungen entwickelt werden, die anderen KMU als Open-Source-Lösungen zur Verfügung stehen und idealerweise branchenübergreifend nutzbar sind. Zudem sensibilisiert der Hub Unternehmen für den Einsatz von KI und bietet Arbeits- und Hilfsmittel an. Ein mobiles Test- und Demonstrationszentrum bringt KI-Verfahren direkt in die Betriebe, und es werden Online-Workshops angeboten, die Vorteile, Grundlagen und Praxisbeispiele von KI-Anwendungen vorstellen sowie Möglichkeiten zur Vernetzung bieten. + +## Beispiele für umgesetzte Projekte + +Seit dem Start der Initiative wurden mehrere Pilotprojekte erfolgreich umgesetzt. Beispielsweise präsentierte das Unternehmen 4Packaging gemeinsam mit dem Deutschen Forschungsinstitut für Künstliche Intelligenz (DFKI) eine KI-Anwendung, die die Zusammensetzung von galvanischen Bädern misst, was entscheidend für die produktionsdatenbasierte und visuelle Qualitätsbestimmung ist. Durch den Einsatz solcher KI-Anwendungen konnten Materialeinsparungen von über 70 % erzielt werden. + +## Bereitstellung von Fördergeldern + +Der Green-AI Hub Mittelstand unterstützt KMU durch direkte Finanzierung, wie z. B. Zuschüsse, um die Implementierung von KI-Lösungen zu fördern. Die Initiative richtet sich an KMU, die bereit sind, KI zu implementieren und bereits über einen gewissen Digitalisierungsgrad verfügen, mit dem Fokus auf Ressourceneffizienz. + +## Kritische Betrachtung im EU-Kontext + +Die Förderung von KI zur Steigerung der Ressourceneffizienz ist nicht nur in Deutschland, sondern auch auf europäischer Ebene ein zentrales Thema. Die EU-Kommission betont in ihrer KI-Strategie die Bedeutung von Nachhaltigkeit und Ressourceneffizienz. Initiativen wie der Green-AI Hub Mittelstand können als Vorbild für ähnliche Projekte in anderen EU-Ländern dienen und zur Erreichung gemeinsamer Nachhaltigkeitsziele beitragen. Allerdings ist es wichtig, sicherzustellen, dass solche nationalen Initiativen mit den übergeordneten EU-Strategien harmonieren, um Doppelarbeit zu vermeiden und Synergien optimal zu nutzen. Eine enge Zusammenarbeit und der Austausch bewährter Verfahren zwischen den Mitgliedstaaten sind daher essenziell. + +## Fazit + +Der Green-AI Hub Mittelstand stellt einen bedeutenden Schritt dar, um KMU bei der Implementierung von KI zur Steigerung der Ressourceneffizienz zu unterstützen. Durch praxisnahe Pilotprojekte und die Bereitstellung von Fördermitteln wird der Mittelstand befähigt, nachhaltiger und wettbewerbsfähiger zu agieren. Im EU-Kontext kann diese Initiative als Modell dienen, wobei eine enge Abstimmung mit europäischen Strategien notwendig ist, um maximale Effizienz und Wirkung zu erzielen. + +**Zusammenfassung:** + +- Der Green-AI Hub Mittelstand fördert den Einsatz von KI in KMU zur Steigerung der Ressourceneffizienz. +- Bis Ende 2025 sollen bis zu 20 Pilotprojekte umgesetzt und als Open-Source-Lösungen bereitgestellt werden. +- Erfolgreiche Beispiele zeigen erhebliche Materialeinsparungen durch den Einsatz von KI. +- Eine enge Abstimmung mit EU-Strategien ist notwendig, um Synergien zu nutzen und Doppelarbeit zu vermeiden. \ No newline at end of file diff --git a/content/posts/2025-03-15-neuer-blogpost--digitale-souveranitat-durch-freie-hypervisoren.md b/content/posts/2025-03-15-neuer-blogpost--digitale-souveranitat-durch-freie-hypervisoren.md new file mode 100644 index 0000000..f9b509f --- /dev/null +++ b/content/posts/2025-03-15-neuer-blogpost--digitale-souveranitat-durch-freie-hypervisoren.md @@ -0,0 +1,19 @@ +--- +title: "Neuer Blogpost: Digitale Souveränität durch freie Hypervisoren" +date: 2025-03-15T14:36:00.000Z +categories: [ + "Digitale Souveränität", + "Europa", + "Virtualisierung" +] +description: "Freie Hypervisoren (KVM, Xen, Proxmox, XCP-ng) als Schlüssel zur digitalen Souveränität. Migration von VMware, Kostenersparnis & EU-Alternativen!" +feature: /assets/images/20250315/datacenter.jpg +externalurl: https://hadan.li/rcTZVM +--- +💻🚀 [Entdecke](https://hadan.li/rcTZVM), wie freie Hypervisoren wie KVM, Xen, Proxmox VE und XCP-ng deine IT unabhängiger machen! 🛡️💰 Schluss mit teuren Lizenzen und Vendor Lock-in. Erfahre, wie du von VMware migrierst und die volle Kontrolle über deine Server zurückgewinnst. Plus: Ein Blick auf die europäische 🇪🇺 Open-Source-Virtualisierung! + +
+ +
Foto von Taylor Vick auf Unsplash +
+
diff --git a/content/posts/2025-03-17-loops--eine-dezentrale-alternative-zu-tiktok.md b/content/posts/2025-03-17-loops--eine-dezentrale-alternative-zu-tiktok.md new file mode 100644 index 0000000..e2a4238 --- /dev/null +++ b/content/posts/2025-03-17-loops--eine-dezentrale-alternative-zu-tiktok.md @@ -0,0 +1,45 @@ +--- +title: "Loops: Eine dezentrale Alternative zu TikTok" +date: 2025-03-17T06:52:00.000Z +categories: [ + "Digitale Souveränität", + "Europa", + "FOSS", + "IT-News" +] +description: "Entdecke Loops, die dezentrale Plattform für kurze Videos. Mit ActivityPub-Unterstützung ermöglicht Loops plattformübergreifende Interaktionen im Fediverse und legt besonderen Wert auf Datenschutz." +feature: /assets/images/20250317/new_logo.png +--- +
+
+ +
+
+ +In der heutigen digitalen Landschaft dominieren Plattformen wie TikTok das Teilen von Kurzvideos. Doch mit dem Aufkommen von [**Loops**](https://loops.video), einer neuen, dezentralen Video-Sharing-Plattform, erhalten Nutzer eine alternative Möglichkeit, Inhalte zu teilen und zu konsumieren. + +## Was ist Loops? + +Loops ist eine Open-Source-Plattform zum Teilen von kurzen, sich wiederholenden Videos, entwickelt von [Daniel Supernault](https://github.com/dansup/), dem Gründer von [Pixelfed](https://pixelfed.org/). Die Plattform befindet sich derzeit in der Beta-Phase und hat kürzlich die Registrierung für neue Nutzer eröffnet. Mit Loops können Nutzer Videos von bis zu 60 Sekunden Länge erstellen und teilen. + +## Vergleich zwischen Loops und TikTok + +Während TikTok eine zentralisierte Plattform ist, die von einem Unternehmen betrieben wird, verfolgt Loops einen dezentralen Ansatz. Durch die Implementierung des [ActivityPub](https://de.wikipedia.org/wiki/ActivityPub)-Protokolls ermöglicht Loops die Interoperabilität mit anderen Plattformen im [Fediverse](https://de.wikipedia.org/wiki/Fediverse), wie [Mastodon](https://joinmastodon.org/) oder Pixelfed. Dies bedeutet, dass Nutzer von Loops mit Nutzern anderer Plattformen interagieren können, ohne die Plattform wechseln zu müssen. Die Implementierung von ActivityPub ist derzeit noch in Arbeit. + +## Vorteile von Loops + +1. **Dezentralisierung und Interoperabilität**: Durch die zukünftige Nutzung des ActivityPub-Protokolls können Inhalte plattformübergreifend geteilt und diskutiert werden, was die Reichweite und Interaktion erhöht. +2. **Datenschutz und Kontrolle**: Loops legt großen Wert auf die Privatsphäre seiner Nutzer. Die Plattform verkauft keine Nutzerdaten an Dritte und verwendet Inhalte nicht zum Training von KI-Modellen. Zudem behalten Nutzer die vollständigen Rechte an ihren Beiträgen. +3. **Offene Entwicklung und Transparenz**: Als Open-Source-Projekt plant Loops, den Quellcode nach Erreichen eines stabilen Zustands zu veröffentlichen. Dies fördert Transparenz und ermöglicht der Community, zur Weiterentwicklung beizutragen. + +## Fazit + +Loops stellt eine vielversprechende Alternative zu zentralisierten Plattformen wie TikTok dar, insbesondere für Nutzer, die Wert auf Datenschutz, Kontrolle über ihre Inhalte und Interoperabilität legen. Durch die dezentrale Struktur und die Einbindung in das Fediverse bietet Loops eine flexible und transparente Umgebung für das Teilen von Kurzvideos. + +## Wichtigste Keyfacts + +- **Dezentrale Struktur**: Ermöglicht plattformübergreifende Interaktionen im Fediverse. +- **Hoher Datenschutz**: Keine Weitergabe von Nutzerdaten an Dritte; volle Kontrolle über eigene Inhalte. +- **Open-Source-Entwicklung**: Fördert Transparenz und Community-Beteiligung. + +Für weitere Informationen und zur Teilnahme an der Beta-Version besuche die [offizielle Website von Loops](https://loops.video). diff --git a/content/posts/2025-03-18-neuer-blogpost--wenn-maschinen-traeumen-und-programmieren.md b/content/posts/2025-03-18-neuer-blogpost--wenn-maschinen-traeumen-und-programmieren.md new file mode 100644 index 0000000..f715be6 --- /dev/null +++ b/content/posts/2025-03-18-neuer-blogpost--wenn-maschinen-traeumen-und-programmieren.md @@ -0,0 +1,22 @@ +--- +title: "Neuer Blogpost: Wenn Maschinen träumen und programmieren" +date: 2025-03-18T00:30:00.000Z +categories: [ + "Informationssicherheit", + "Datenschutz", + "KI" +] +description: "KI-generierter Code & Texte: Halluzinationen, Desinformation, Sicherheitslücken. Erfahre, wie Du die Risiken erkennst und KI verantwortungsvoll einsetzt. Jetzt lesen!" +feature: /assets/images/20250318/title-image.png +externalurl: https://hadan.li/8KrSug +--- +KI schreibt Code, erfindet Fakten – und wird manipuliert! 🤯 + +Mein neuer Artikel taucht tief in die Welt der KI-Halluzinationen, Desinformation und der Risiken bei der Code-Generierung. Erfahrt, wie ihr euch schützt und KI verantwortungsvoll nutzt. Jetzt lesen und mitdiskutieren! 🔗 [https://hadan.li/8KrSug](https://hadan.li/8KrSug) + +#KI #Sicherheit #Desinformation #Coding + +
+ +
Wenn Maschinen träumen und programmieren: Die Grenzen zwischen menschlicher und künstlicher Intelligenz verschwimmen, und es entstehen neue Risiken (Image created by AI)
+
diff --git a/content/posts/2025-03-21-hardware-alternativen.md b/content/posts/2025-03-21-hardware-alternativen.md new file mode 100644 index 0000000..5feee05 --- /dev/null +++ b/content/posts/2025-03-21-hardware-alternativen.md @@ -0,0 +1,95 @@ +--- +title: "Hardware-Alternativen: Nachhaltige und unabhängige Technik-Lösungen" +date: 2025-03-21T09:13:00.000Z +categories: [ + "Digitale Souveränität", + "Europa", + "Nachhaltigkeit", + "Alternative Hardware" +] +description: "Entdecke nachhaltige Hardware-Alternativen zu Big Tech: modulare Systeme, reparierbare Geräte und europäische Anbieter für mehr Unabhängigkeit und Nachhaltigkeit in der digitalen Welt." +feature: /assets/images/20250321/title-image.png +--- +In einer Welt, in der Big-Tech-Unternehmen den Markt dominieren und geplante Obsoleszenz zum Geschäftsmodell gehört, suchen immer mehr Menschen nach Alternativen. Auch ich habe mich intensiv mit diesem Thema auseinandergesetzt und möchte meine Erkenntnisse zu nachhaltigen und unabhängigen Hardware-Optionen teilen. + +
+ +
Nachhaltige Technik neu gedacht: Modulare, reparierbare und unabhängige Hardware für eine digitale Zukunft abseits von Big Tech
(Image created by AI)
+
+ +## Warum alternative Hardware? + +Bei der Auswahl meiner technischen Geräte sind mir folgende Aspekte besonders wichtig geworden: + +### Unabhängigkeit + +- Alternativen zu Big-Tech-Unternehmen finden +- Keine Zwangsanmeldung bei Herstellerkonten und Vermeidung von Vendor-Lock-in + +### Nachhaltigkeit + +- Ressourcenschonende Herstellung mit recycelten Materialien +- Niedriger Energieverbrauch im täglichen Betrieb +- Einfaches Recycling am Ende der Nutzungsdauer +- Faire Produktionsbedingungen für Arbeiter + +### Langlebigkeit + +- Langfristige Update-Unterstützung (mindestens 6 Jahre) +- Einfache Reparierbarkeit mit austauschbaren Komponenten +- Verfügbarkeit von Ersatzteilen über lange Zeiträume (mehr als 5 Jahre) + +### Autonomie und Offenheit + +- Kompatibilität mit offenen Standards +- Möglichkeit, auch gebrauchte Hardware zu nutzen +- Bevorzugung europäischer Lieferanten +- Einsatz von Open-Source-Betriebssystemen (Linux, BSD-Derivate, etc.) + +## Meine Alternative Hardware-Auswahl + +Nach ausführlicher Recherche habe ich einige vielversprechende Alternativen gefunden, die meine Kriterien erfüllen: + +### Desktop-Systeme + +- **Framework Desktop** mit Prozessoren der AMD Ryzen™ AI Max 300 Serie + - Hersteller: Framework® Computer BV (Niederlande) + - Besonderheit: Modulares Design für einfache Upgrades und Reparaturen + +- **Raspberry Pi 500** mit 8GB RAM und 2,4GHz Quad-Core 64-bit ARM Cortex-A76 CPU + - Hersteller: Raspberry Pi Trading (Vereinigtes Königreich) + - Besonderheit: Inklusive 32 GB Class A2 microSD, energieeffizient + +### Desktop/Server-Lösungen + +- **Raspberry Pi 5 (16 GB)** + - Hersteller: Raspberry Pi Trading (Vereinigtes Königreich) + - Besonderheit: Vielseitig einsetzbar, große Community-Unterstützung + +### Laptops + +- **Framework Laptop 13** mit Prozessoren der AMD Ryzen™ AI 300 Serie + - Hersteller: Framework® Computer BV (Niederlande) + - Besonderheit: Modulares Design, austauschbare Komponenten, hohe Reparierbarkeit + +### Netzwerk-Hardware + +- **Banana Pi BPI-R4** WiFi 7 Router Board mit MTK MT7988A Design + - Hersteller: Banana Pi team (China) + - Besonderheit: 4GB RAM und 8GB eMMC onboard, Open-Source-freundlich + +### Smartphones + +- **Fairphone 5 mit /e/OS** + - Hersteller: Fairphone B.V. (Niederlande) + - Besonderheit: 8 GB RAM, 256 GB interner Speicher, faire Produktionsbedingungen + +- **SHIFTphone 8.1** + - Hersteller: SHIFT GmbH (Deutschland) + - Besonderheit: 12 GB RAM, 256 GB interner Speicher, nachhaltige Produktion + +## Fazit + +Die Entscheidung für alternative Hardware-Lösungen ist mehr als nur ein technologisches Statement – es ist eine Entscheidung für mehr Nachhaltigkeit, Unabhängigkeit und Selbstbestimmung in der digitalen Welt. Mit den vorgestellten Optionen lässt sich ein vollständiges Ökosystem aufbauen, das die Abhängigkeit von Big-Tech reduziert und gleichzeitig umweltfreundlichere Alternativen bietet. + +Besonders erfreulich ist, dass viele dieser Alternativen aus Europa stammen, was kürzere Lieferwege und oftmals bessere Arbeitsbedingungen bedeutet. Die Kombination aus modularer Bauweise, langfristiger Updateversorgung und der Möglichkeit, Open-Source-Betriebssysteme zu nutzen, macht diese Geräte zu einer ernstzunehmenden Alternative zu konventionellen Produkten. diff --git a/content/posts/2025-03-28-spd--keine-koalition-ohne-informationsfreiheit.md b/content/posts/2025-03-28-spd--keine-koalition-ohne-informationsfreiheit.md new file mode 100644 index 0000000..49c9b0f --- /dev/null +++ b/content/posts/2025-03-28-spd--keine-koalition-ohne-informationsfreiheit.md @@ -0,0 +1,18 @@ +--- +title: "SPD, keine Koalition ohne Informationsfreiheit!" +date: 2025-03-28T09:58:00.000Z +categories: [ + "Informationsfreiheit", + "Petition" +] +description: "SPD, keine Koalition ohne Informationsfreiheit!" +--- +Liebe Freund*innen, + +ich habe gerade die Petition 'SPD, keine Koalition ohne Informationsfreiheit!' auf WeAct unterschrieben und würde mich sehr freuen, wenn ihr auch mitmacht. + +Je mehr Menschen die Petition unterstützen, desto größer ist die Wahrscheinlichkeit, dass sie Erfolg hat. Hier könnt ihr mehr erfahren und unterzeichnen: + +[https://weact.campact.de/petitions/spd-keine-koalition-ohne-informationsfreiheit?share=61528f6a-53a9-4d5b-a43e-b500304aca65&source=copy_email&utm_medium=recommendation&utm_source=copy_email](https://weact.campact.de/petitions/spd-keine-koalition-ohne-informationsfreiheit?share=61528f6a-53a9-4d5b-a43e-b500304aca65&source=copy_email&utm_medium=recommendation&utm_source=copy_email) + +Vielen Dank! diff --git a/content/posts/2025-03-28-warum-ich-mich-von-zentralisierten-social-media-plattformen-verabschiedet-habe.md b/content/posts/2025-03-28-warum-ich-mich-von-zentralisierten-social-media-plattformen-verabschiedet-habe.md new file mode 100644 index 0000000..0241aa8 --- /dev/null +++ b/content/posts/2025-03-28-warum-ich-mich-von-zentralisierten-social-media-plattformen-verabschiedet-habe.md @@ -0,0 +1,46 @@ +--- +title: "Warum ich mich von zentralisierten Social Media-Plattformen verabschiedet habe" +date: 2025-03-28T10:12:00.000Z +categories: [ + "Social Media Plattformen", + "Exit" +] +description: "Warum ich Facebook, X & Co. den Rücken gekehrt habe und auf dezentrale Netzwerke setze – für mehr Kontrolle, echten Austausch und weniger toxische Inhalte." +feature: /assets/images/20250328/title-image.png +--- +In den letzten Monaten habe ich meine Nutzung von sozialen Netzwerken wie X (ehemals Twitter), Facebook, Instagram, Threads und TikTok stark reduziert – und schließlich ganz aufgegeben. Stattdessen setze ich jetzt auf dezentralisierte Alternativen wie Mastodon und Bluesky. Dieser Schritt hat mir persönlich viele Vorteile gebracht, die ich in diesem Blogpost teilen möchte. + +
+ +
Seitdem ich mich von den mit Hate-Speech und Desinformation gefluteten Plattformen entfernt, die Accounts gelöscht und die Kontrolle über die Inhalte zurückgewonnen habe, empfinde ich den Online-Austausch wieder als angenehm
(Image created by AI)
+
+ +## 1. Kontrolle über meine Daten + +Einer der größten Kritikpunkte an zentralisierten Social-Media-Plattformen ist der Umgang mit Nutzerdaten. Die Daten werden von wenigen großen Konzernen verwaltet, analysiert und oft für Werbezwecke verkauft. Auf dezentralisierten Plattformen wie Mastodon habe ich mehr Kontrolle über meine Daten. Ich kann wählen, welchem Server ich beitrete, und in vielen Fällen sind diese Server von gemeinnützigen Organisationen oder Einzelpersonen betrieben, die kein wirtschaftliches Interesse daran haben, meine Informationen zu monetarisieren. + +## 2. Weniger Algorithmus, mehr echte Interaktion + +Auf Plattformen wie Instagram oder TikTok bestimmt ein undurchsichtiger Algorithmus, welche Inhalte ich sehe. Oft werden reizauslösende oder polarisierende Inhalte bevorzugt, um meine Verweildauer zu maximieren. Bei Mastodon oder Bluesky gibt es keine versteckten Algorithmen, die meine Aufmerksamkeit steuern. Ich sehe Beiträge in chronologischer Reihenfolge von den Menschen, denen ich folge – das sorgt für eine authentischere und angenehmere Erfahrung. Der Austausch steht wieder im Mittelpunkt und fühlt sich echter an. + +## 3. Bessere Online-Kultur und gesundheitliche Vorteile + +Ein weiteres Problem vieler zentralisierter Plattformen ist das aggressive und oft toxische Verhalten, das durch Algorithmen verstärkt wird. Besonders X (ehemals Twitter) hat sich in den letzten Jahren zu einem Ort entwickelt, an dem Hassrede und Desinformation oft ungefiltert bleiben. Studien zeigen, dass der dauerhafte Konsum solcher Inhalte Stress, Angst und depressive Verstimmungen fördern kann. Dezentrale Netzwerke setzen auf Gemeinschaftsmoderation und kleinere, spezialisierte Communities, die oft respektvoller und konstruktiver miteinander umgehen. Ich habe festgestellt, dass Diskussionen auf Mastodon häufig tiefgründiger und wertschätzender sind, da es keine Like-Zahlen oder virale Anreize gibt, die zu oberflächlichen Interaktionen führen. + +## 4. Weniger Werbung, mehr Fokus + +Die meisten großen Social-Media-Plattformen sind auf Werbung angewiesen, um ihre Einnahmen zu generieren. Das bedeutet, dass mein Feed nicht nur mit Inhalten von Freunden und Interessensgruppen gefüllt wird, sondern auch mit gesponserten Beiträgen, die mich oft nicht interessieren. Auf Mastodon oder Bluesky gibt es keine oder kaum Werbung – das macht das Scrollen viel entspannter und weniger ablenkend. + +## 5. Mehr Nachhaltigkeit, Unabhängigkeit und demokratische Werte + +Dezentrale Plattformen basieren auf offenen Standards und sind nicht an einzelne Unternehmen gebunden. Dadurch sind sie unabhängiger von wirtschaftlichen Interessen und weniger anfällig für plötzliche Richtungswechsel, wie sie bei kommerziellen Plattformen häufig vorkommen (z. B. Änderungen im Algorithmus oder das Schließen von Diensten). Zudem wird der Betrieb großer Social-Media-Konzerne von Personen wie Elon Musk oder Mark Zuckerberg bestimmt, deren Entscheidungen oft kontrovers sind und demokratische Prinzipien nicht immer fördern. Musk hat beispielsweise nach der Übernahme von X zahlreiche Moderationsregeln gelockert, was zu einem Anstieg von Hassrede führte. Zuckerberg hat in der Vergangenheit immer wieder wegen seines Umgangs mit Datenschutz und Fehlinformationen auf Facebook für Kritik gesorgt. Diese monopolartigen Strukturen widersprechen meinem Wunsch nach einer offeneren und demokratischeren Online-Welt. + +## Mein Fazit + +Der Wechsel von zentralisierten zu dezentralisierten sozialen Netzwerken hat meine Online-Erfahrung deutlich verbessert. Ich fühle mich insgesamt besser, weniger gestresst und kann meine Zeit bewusster nutzen. Die toxische Atmosphäre vieler großer Plattformen hat mich oft negativ beeinflusst – ein Problem, das ich auf Mastodon oder Bluesky nicht in dieser Form erlebe. Die bereichernden Interaktionen mit anderen Nutzern sind für mich ein echter Gewinn. + +Natürlich ist der Umstieg nicht immer einfach – es gibt weniger bekannte Gesichter, und manche Funktionen fehlen vielleicht. Aber für mich überwiegen die Vorteile eindeutig. + +Wenn du dich auch nach einer Alternative zu den großen Social-Media-Plattformen sehnst, kann ich nur empfehlen, Mastodon oder Bluesky auszuprobieren. Vielleicht wirst du, wie ich, feststellen, dass ein digitaler Neuanfang unglaublich befreiend sein kann. + +Darüber hinaus schaue ich mich auch nach Alternativen zu LinkedIn um, da ich zunehmend den Eindruck habe, dass auch diese Plattform immer stärker auf Werbeinhalte, Algorithmen und Eigeninteressen des Betreibers ausgerichtet ist. Eine weniger kommerzialisierte Umgebung für berufliche Netzwerke könnte langfristig ebenfalls von Vorteil sein. diff --git a/content/posts/2025-03-31-world-backup-day--warum-backups-unverzichtbar-sind.md b/content/posts/2025-03-31-world-backup-day--warum-backups-unverzichtbar-sind.md new file mode 100644 index 0000000..54917f3 --- /dev/null +++ b/content/posts/2025-03-31-world-backup-day--warum-backups-unverzichtbar-sind.md @@ -0,0 +1,51 @@ +--- +title: "World Backup Day: Warum Backups unverzichtbar sind" +date: 2025-03-31T10:06:00.000Z +categories: [ + "Backups", + "Sicherheit" +] +description: "Schütze Deine Daten! Erfahre am World Backup Day, warum regelmäßige Backups wichtig sind und wie Du sie richtig erstellst und testest." +feature: /assets/images/20250331/title-image.jpeg +--- +Der **World Backup Day** am 31. März erinnert Dich jedes Jahr daran, wie wichtig es ist, Deine Daten regelmäßig zu sichern. In einer zunehmend digitalen Welt sind Backups unverzichtbar, um Datenverlust zu vermeiden und die Kontinuität Deiner Arbeit zu gewährleisten. + +
+ +
Image created by AI
+
+ +## Was ist der World Backup Day? + +Der World Backup Day ist ein globaler Aktionstag, der das Bewusstsein für die Bedeutung von Datensicherungen schärfen soll. Er wurde ins Leben gerufen, um Dich und Unternehmen daran zu erinnern, dass Datenverlust jeden treffen kann – sei es durch technische Defekte, menschliche Fehler oder Cyberangriffe. + +## Warum sind Backups so wichtig? + +- **Datenverlust vermeiden:** Ein einziger Hardware-Fehler oder ein versehentliches Löschen kann wertvolle Daten unwiederbringlich zerstören. +- **Schutz vor Cyberangriffen:** Ransomware und andere Malware können Deine Daten verschlüsseln oder beschädigen. Ein aktuelles Backup ist oft die einzige Möglichkeit, Deine Daten wiederherzustellen. +- **Geschäftskontinuität:** Für Unternehmen bedeutet Datenverlust oft Stillstand. Regelmäßige Backups sorgen dafür, dass der Betrieb schnell wieder aufgenommen werden kann. +- **Schutz persönlicher Erinnerungen:** Fotos, Videos und wichtige Dokumente sind oft unwiederbringlich, wenn sie nicht gesichert wurden. + +## Was ist beim Erstellen von Backups zu beachten? + +- **Regelmäßigkeit:** Backups sollten automatisiert und in festgelegten Intervallen erstellt werden, um sicherzustellen, dass immer die aktuellsten Daten gesichert sind. +- **Mehrere Speicherorte:** Bewahre Deine Backups an mehreren Orten auf – lokal, auf externen Festplatten und in der Cloud –, um das Risiko eines Totalverlusts zu minimieren. +- **Verschlüsselung:** Schütze Deine Backups durch Verschlüsselung, um unbefugten Zugriff zu verhindern. +- **Versionierung:** Nutze Backup-Lösungen, die mehrere Versionen Deiner Dateien speichern, um versehentliche Änderungen oder Löschungen rückgängig machen zu können. + +## Warum sind regelmäßige Restore-Tests wichtig? + +Ein Backup ist nur so gut wie seine Wiederherstellbarkeit. Regelmäßige Tests stellen sicher, dass Deine Backups im Ernstfall auch wirklich funktionieren und vollständig sind. Nur so kannst Du sicher sein, dass Deine Daten im Notfall schnell und zuverlässig wiederhergestellt werden können. + +## Fazit + +Der World Backup Day ist eine wichtige Erinnerung daran, dass Datensicherung kein Luxus, sondern eine Notwendigkeit ist. Indem Du regelmäßig Backups erstellst und diese auf ihre Funktionalität testest, schützt Du Dich vor Datenverlust und stellst sicher, dass Du im Ernstfall schnell wieder handlungsfähig bist. + +## Keyfacts + +1. **Regelmäßige Backups** sind essenziell, um Datenverlust zu vermeiden. +2. **Mehrere Speicherorte** und **Verschlüsselung** erhöhen die Sicherheit Deiner Backups. +3. **Restore-Tests** stellen sicher, dass Deine Backups im Ernstfall funktionieren. +4. **Nutze Versionierung**, um versehentliche Änderungen rückgängig machen zu können. + +Lass den World Backup Day zum Anlass werden, Deine Backup-Strategie zu überprüfen und zu optimieren! diff --git a/hugo.toml b/hugo.toml index f55e0a1..ff989b8 100644 --- a/hugo.toml +++ b/hugo.toml @@ -1,16 +1,22 @@ baseURL = 'https://reaktionsfaehig.net/' -languageCode = 'de' +defaultContentLanguage = 'de' title = 'tech weblog' theme = 'internet-weblog' [markup.goldmark.renderer] unsafe=true +[privacy] + [privacy.youTube] + disable = false + privacyEnhanced = true + [params.author] Handle = "reaktionsfaehig" + Email = "stephan@hadan.de" FirstName = "Stephan" LastName = "Hadan" - AboutPage = "/about/" + AboutPage = "about/" Location = "Pforzheim, Germany" FlickrID = "202172509@N02" @@ -21,12 +27,17 @@ unsafe=true EnablePreferredDarkAppearance = true RSSMicropostTitles = false mainSections = [ "Posts", "Microposts" ] + statuspageenabled = true statuspage = "https://status.hadan-it.com/status/reaktionsfaehig" statuspagename = "Statusseite" umamienabled = true umamiurl = "https://analytics.hadan-it.com/" - umamisrihash = "sha384-/WQteTtaLX4nU22mvCeTi4Yz3iK/J3yZ2rKq5jDxPMlizEQGzgJOlSofJxh+bx4B" + umamisrihash = "sha384-q6BX6At4CnPxi1irWTLEV0m+RYSC74RoYMZ5FDoo5xSqAuXe5KaKa62bb5nw+ZQ6" umamiid = "3b3d9b22-25d3-476e-b21a-81b3a1f1835f" + showlicense = true + licensepage = "https://reaktionsfaehig.net/license/" + tdmurl = "https://reaktionsfaehig.net/imprint/" + license= "CC BY NC SA 4.0" [taxonomies] tag = "tags" @@ -56,3 +67,9 @@ unsafe=true weight = 4 identifier = "imprint" url = "/imprint/" + +[[menu.main]] + name = "Lizenz" + weight = 5 + identifier = "license" + url = "/license/" diff --git a/layouts/partials/bio.html b/layouts/partials/bio.html index 6da014c..7280cf4 100644 --- a/layouts/partials/bio.html +++ b/layouts/partials/bio.html @@ -1,4 +1,4 @@ -Ich bin als System Engineer in Pforzheim tätig. In meiner Freizeit beschäftige ich mit Fotografie, Heimautomation, schreibe auf meinem Blog über Technikthemen und supporte die Open-Source-Community. Zudem bin ich leidenschaftlicher Malta-Reisender. +Ich bin als IT Project Manager in Karlsruhe tätig. In meiner Freizeit beschäftige ich mich mit Fotografie, Heimautomation, schreibe auf meinem Blog über Technikthemen und supporte die Open-Source-Community. Ich mache mich stark für digitale Souveränität in Europa 🇪🇺 . Zudem bin ich leidenschaftlicher Malta-Reisender.

-Folge mir auf Mastodon, Bluesky oder Github +Folge mir auf Mastodon, Bluesky oder Codeberg diff --git a/layouts/partials/custom_stylesheets.html b/layouts/partials/custom_stylesheets.html index 034c85e..e62d2eb 100644 --- a/layouts/partials/custom_stylesheets.html +++ b/layouts/partials/custom_stylesheets.html @@ -1,5 +1,5 @@ - - - + + + diff --git a/static/admin/config.yml b/static/admin/config.yml index 081430e..786360c 100644 --- a/static/admin/config.yml +++ b/static/admin/config.yml @@ -6,8 +6,8 @@ backend: api_root: https://git.hadan-it.com/api/v1 # API URL of your Gitea instance base_url: https://git.hadan-it.com # Root URL of your Gitea instance auth_endpoint: https://git.hadan-it.com/login/oauth/authorize -media_folder: static/img -public_folder: /img +media_folder: static/assets/images +public_folder: /assets/images collections: - name: 'posts' label: 'Posts' diff --git a/static/admin/index.html b/static/admin/index.html index a9aea87..7b51c70 100644 --- a/static/admin/index.html +++ b/static/admin/index.html @@ -8,6 +8,6 @@ - + diff --git a/static/assets/images/20250211/duckduckgobrowser.png b/static/assets/images/20250211/duckduckgobrowser.png new file mode 100644 index 0000000..56ee946 Binary files /dev/null and b/static/assets/images/20250211/duckduckgobrowser.png differ diff --git a/static/assets/images/20250211/o3-mini-llm-selbstauskunft.png b/static/assets/images/20250211/o3-mini-llm-selbstauskunft.png new file mode 100644 index 0000000..1a1e7ad Binary files /dev/null and b/static/assets/images/20250211/o3-mini-llm-selbstauskunft.png differ diff --git a/static/assets/images/20250212/iris2.jpeg b/static/assets/images/20250212/iris2.jpeg new file mode 100644 index 0000000..a85441c Binary files /dev/null and b/static/assets/images/20250212/iris2.jpeg differ diff --git a/static/assets/images/20250218/aistudy.png b/static/assets/images/20250218/aistudy.png new file mode 100644 index 0000000..62b310f Binary files /dev/null and b/static/assets/images/20250218/aistudy.png differ diff --git a/static/assets/images/20250218/logo-xai-grok.png b/static/assets/images/20250218/logo-xai-grok.png new file mode 100644 index 0000000..1299468 Binary files /dev/null and b/static/assets/images/20250218/logo-xai-grok.png differ diff --git a/static/assets/images/20250218/rz-ai.jpeg b/static/assets/images/20250218/rz-ai.jpeg new file mode 100644 index 0000000..4646a88 Binary files /dev/null and b/static/assets/images/20250218/rz-ai.jpeg differ diff --git a/static/assets/images/20250218/saclay.png b/static/assets/images/20250218/saclay.png new file mode 100644 index 0000000..e801402 Binary files /dev/null and b/static/assets/images/20250218/saclay.png differ diff --git a/static/assets/images/20250219/464px-Architecture_Development_Method.png b/static/assets/images/20250219/464px-Architecture_Development_Method.png new file mode 100644 index 0000000..74d81fa Binary files /dev/null and b/static/assets/images/20250219/464px-Architecture_Development_Method.png differ diff --git a/static/assets/images/20250219/TOGAF-library-final-01_0_1.png b/static/assets/images/20250219/TOGAF-library-final-01_0_1.png new file mode 100644 index 0000000..73d8e59 Binary files /dev/null and b/static/assets/images/20250219/TOGAF-library-final-01_0_1.png differ diff --git a/static/assets/images/20250219/TOGAF10-banner.png b/static/assets/images/20250219/TOGAF10-banner.png new file mode 100644 index 0000000..c7e55dd Binary files /dev/null and b/static/assets/images/20250219/TOGAF10-banner.png differ diff --git a/static/assets/images/20250219/togaf-standard-10thlogo.png b/static/assets/images/20250219/togaf-standard-10thlogo.png new file mode 100644 index 0000000..b5b8d4d Binary files /dev/null and b/static/assets/images/20250219/togaf-standard-10thlogo.png differ diff --git a/static/assets/images/20250220/chip-ai.png b/static/assets/images/20250220/chip-ai.png new file mode 100644 index 0000000..5cf72a6 Binary files /dev/null and b/static/assets/images/20250220/chip-ai.png differ diff --git a/static/assets/images/20250225/aws-ec2.png b/static/assets/images/20250225/aws-ec2.png new file mode 100644 index 0000000..600abfe Binary files /dev/null and b/static/assets/images/20250225/aws-ec2.png differ diff --git a/static/assets/images/20250225/background-sounds.png b/static/assets/images/20250225/background-sounds.png new file mode 100644 index 0000000..ae81ee5 Binary files /dev/null and b/static/assets/images/20250225/background-sounds.png differ diff --git a/static/assets/images/20250225/ea.png b/static/assets/images/20250225/ea.png new file mode 100644 index 0000000..30fe9ff Binary files /dev/null and b/static/assets/images/20250225/ea.png differ diff --git a/static/assets/images/20250225/nextcloud.png b/static/assets/images/20250225/nextcloud.png new file mode 100644 index 0000000..1cce4ec Binary files /dev/null and b/static/assets/images/20250225/nextcloud.png differ diff --git a/static/assets/images/20250225/sesterce-rz.png b/static/assets/images/20250225/sesterce-rz.png new file mode 100644 index 0000000..777d2d6 Binary files /dev/null and b/static/assets/images/20250225/sesterce-rz.png differ diff --git a/static/assets/images/20250226/opencloud_logo.png b/static/assets/images/20250226/opencloud_logo.png new file mode 100644 index 0000000..049b3d1 Binary files /dev/null and b/static/assets/images/20250226/opencloud_logo.png differ diff --git a/static/assets/images/20250304/aichampions.png b/static/assets/images/20250304/aichampions.png new file mode 100644 index 0000000..8152c4f Binary files /dev/null and b/static/assets/images/20250304/aichampions.png differ diff --git a/static/assets/images/20250304/openproject-logo-centered-blue-background.png b/static/assets/images/20250304/openproject-logo-centered-blue-background.png new file mode 100644 index 0000000..4ef87bc Binary files /dev/null and b/static/assets/images/20250304/openproject-logo-centered-blue-background.png differ diff --git a/static/assets/images/20250304/openproject-logo.png b/static/assets/images/20250304/openproject-logo.png new file mode 100644 index 0000000..b59523e Binary files /dev/null and b/static/assets/images/20250304/openproject-logo.png differ diff --git a/static/assets/images/20250304/supporter.png b/static/assets/images/20250304/supporter.png new file mode 100644 index 0000000..568cb01 Binary files /dev/null and b/static/assets/images/20250304/supporter.png differ diff --git a/static/assets/images/20250310/bsi-google-cloud.png b/static/assets/images/20250310/bsi-google-cloud.png new file mode 100644 index 0000000..197cd43 Binary files /dev/null and b/static/assets/images/20250310/bsi-google-cloud.png differ diff --git a/static/assets/images/20250310/searxng-mockup.png b/static/assets/images/20250310/searxng-mockup.png new file mode 100644 index 0000000..13838db Binary files /dev/null and b/static/assets/images/20250310/searxng-mockup.png differ diff --git a/static/assets/images/20250310/xwiki-logo.png b/static/assets/images/20250310/xwiki-logo.png new file mode 100644 index 0000000..2e3333d Binary files /dev/null and b/static/assets/images/20250310/xwiki-logo.png differ diff --git a/static/assets/images/20250313/green-hub-ai.jpeg b/static/assets/images/20250313/green-hub-ai.jpeg new file mode 100644 index 0000000..0f5d531 Binary files /dev/null and b/static/assets/images/20250313/green-hub-ai.jpeg differ diff --git a/static/assets/images/20250313/wekan-logo.png b/static/assets/images/20250313/wekan-logo.png new file mode 100644 index 0000000..acdff9d Binary files /dev/null and b/static/assets/images/20250313/wekan-logo.png differ diff --git a/static/assets/images/20250313/wekan-screenshot.png b/static/assets/images/20250313/wekan-screenshot.png new file mode 100644 index 0000000..b70cf19 Binary files /dev/null and b/static/assets/images/20250313/wekan-screenshot.png differ diff --git a/static/assets/images/20250314/brave_color_darkbackground.png b/static/assets/images/20250314/brave_color_darkbackground.png new file mode 100644 index 0000000..e65620c Binary files /dev/null and b/static/assets/images/20250314/brave_color_darkbackground.png differ diff --git a/static/assets/images/20250315/datacenter.jpg b/static/assets/images/20250315/datacenter.jpg new file mode 100644 index 0000000..9468d7e Binary files /dev/null and b/static/assets/images/20250315/datacenter.jpg differ diff --git a/static/assets/images/20250315/green-ai-hub-mittelstand-logo.png b/static/assets/images/20250315/green-ai-hub-mittelstand-logo.png new file mode 100644 index 0000000..9cefe15 Binary files /dev/null and b/static/assets/images/20250315/green-ai-hub-mittelstand-logo.png differ diff --git a/static/assets/images/20250315/green-ai-hub-mittelstand.svg b/static/assets/images/20250315/green-ai-hub-mittelstand.svg new file mode 100644 index 0000000..85d52fc --- /dev/null +++ b/static/assets/images/20250315/green-ai-hub-mittelstand.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/assets/images/20250315/ki-usa-eu.png b/static/assets/images/20250315/ki-usa-eu.png new file mode 100644 index 0000000..1b6e27a Binary files /dev/null and b/static/assets/images/20250315/ki-usa-eu.png differ diff --git a/static/assets/images/20250317/new_logo.png b/static/assets/images/20250317/new_logo.png new file mode 100644 index 0000000..95e2da3 Binary files /dev/null and b/static/assets/images/20250317/new_logo.png differ diff --git a/static/assets/images/20250318/title-image.png b/static/assets/images/20250318/title-image.png new file mode 100644 index 0000000..b9cf138 Binary files /dev/null and b/static/assets/images/20250318/title-image.png differ diff --git a/static/assets/images/20250321/title-image.png b/static/assets/images/20250321/title-image.png new file mode 100644 index 0000000..2bbf6c8 Binary files /dev/null and b/static/assets/images/20250321/title-image.png differ diff --git a/static/assets/images/20250328/title-image.png b/static/assets/images/20250328/title-image.png new file mode 100644 index 0000000..6777d61 Binary files /dev/null and b/static/assets/images/20250328/title-image.png differ diff --git a/static/assets/images/20250331/title-image.jpeg b/static/assets/images/20250331/title-image.jpeg new file mode 100644 index 0000000..f9804fe Binary files /dev/null and b/static/assets/images/20250331/title-image.jpeg differ diff --git a/static/assets/images/by-nc-sa.png b/static/assets/images/by-nc-sa.png new file mode 100644 index 0000000..b9a5553 Binary files /dev/null and b/static/assets/images/by-nc-sa.png differ diff --git a/static/js/decap-cms.js b/static/js/decap-cms.js new file mode 100644 index 0000000..9d74544 --- /dev/null +++ b/static/js/decap-cms.js @@ -0,0 +1,492 @@ +/*! For license information please see decap-cms.js.LICENSE.txt */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("DecapCms",[],t):"object"==typeof exports?exports.DecapCms=t():e.DecapCms=t()}(window,(()=>(()=>{var __webpack_modules__={55034:(e,t,n)=>{"use strict";const r=n(11976),i=n.g.Date;class o extends i{constructor(e){super(e),this.isDate=!0}toISOString(){return`${this.getUTCFullYear()}-${r(2,this.getUTCMonth()+1)}-${r(2,this.getUTCDate())}`}}e.exports=e=>{const t=new o(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},59697:(e,t,n)=>{"use strict";const r=n(11976);class i extends Date{constructor(e){super(e+"Z"),this.isFloating=!0}toISOString(){return`${this.getUTCFullYear()}-${r(2,this.getUTCMonth()+1)}-${r(2,this.getUTCDate())}T${r(2,this.getUTCHours())}:${r(2,this.getUTCMinutes())}:${r(2,this.getUTCSeconds())}.${r(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new i(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},12446:e=>{"use strict";e.exports=e=>{const t=new Date(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},70256:(e,t,n)=>{"use strict";const r=n(11976);class i extends Date{constructor(e){super(`0000-01-01T${e}Z`),this.isTime=!0}toISOString(){return`${r(2,this.getUTCHours())}:${r(2,this.getUTCMinutes())}:${r(2,this.getUTCSeconds())}.${r(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new i(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},11976:e=>{"use strict";e.exports=(e,t)=>{for(t=String(t);t.length{"use strict";const t=1114112;class n extends Error{constructor(e,t,r){super("[ParserError] "+e,t,r),this.name="ParserError",this.code="ParserError",Error.captureStackTrace&&Error.captureStackTrace(this,n)}}class r{constructor(e){this.parser=e,this.buf="",this.returned=null,this.result=null,this.resultTable=null,this.resultArr=null}}class i{constructor(){this.pos=0,this.col=0,this.line=0,this.obj={},this.ctx=this.obj,this.stack=[],this._buf="",this.char=null,this.ii=0,this.state=new r(this.parseStart)}parse(e){if(0===e.length||null==e.length)return;let t;for(this._buf=String(e),this.ii=-1,this.char=-1;!1===t||this.nextChar();)t=this.runOne();this._buf=null}nextChar(){return 10===this.char&&(++this.line,this.col=-1),++this.ii,this.char=this._buf.codePointAt(this.ii),++this.pos,++this.col,this.haveBuffer()}haveBuffer(){return this.ii{"use strict";module.exports=makeParserClass(__webpack_require__(86056)),module.exports.makeParserClass=makeParserClass;class TomlError extends Error{constructor(e){super(e),this.name="TomlError",Error.captureStackTrace&&Error.captureStackTrace(this,TomlError),this.fromTOML=!0,this.wrapped=null}}TomlError.wrap=e=>{const t=new TomlError(e.message);return t.code=e.code,t.wrapped=e,t},module.exports.TomlError=TomlError;const createDateTime=__webpack_require__(12446),createDateTimeFloat=__webpack_require__(59697),createDate=__webpack_require__(55034),createTime=__webpack_require__(70256),CTRL_I=9,CTRL_J=10,CTRL_M=13,CTRL_CHAR_BOUNDARY=31,CHAR_SP=32,CHAR_QUOT=34,CHAR_NUM=35,CHAR_APOS=39,CHAR_PLUS=43,CHAR_COMMA=44,CHAR_HYPHEN=45,CHAR_PERIOD=46,CHAR_0=48,CHAR_1=49,CHAR_7=55,CHAR_9=57,CHAR_COLON=58,CHAR_EQUALS=61,CHAR_A=65,CHAR_E=69,CHAR_F=70,CHAR_T=84,CHAR_U=85,CHAR_Z=90,CHAR_LOWBAR=95,CHAR_a=97,CHAR_b=98,CHAR_e=101,CHAR_f=102,CHAR_i=105,CHAR_l=108,CHAR_n=110,CHAR_o=111,CHAR_r=114,CHAR_s=115,CHAR_t=116,CHAR_u=117,CHAR_x=120,CHAR_z=122,CHAR_LCUB=123,CHAR_RCUB=125,CHAR_LSQB=91,CHAR_BSOL=92,CHAR_RSQB=93,CHAR_DEL=127,SURROGATE_FIRST=55296,SURROGATE_LAST=57343,escapes={[CHAR_b]:"\b",[CHAR_t]:"\t",[CHAR_n]:"\n",[CHAR_f]:"\f",[CHAR_r]:"\r",[CHAR_QUOT]:'"',[CHAR_BSOL]:"\\"};function isDigit(e){return e>=CHAR_0&&e<=CHAR_9}function isHexit(e){return e>=CHAR_A&&e<=CHAR_F||e>=CHAR_a&&e<=CHAR_f||e>=CHAR_0&&e<=CHAR_9}function isBit(e){return e===CHAR_1||e===CHAR_0}function isOctit(e){return e>=CHAR_0&&e<=CHAR_7}function isAlphaNumQuoteHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_APOS||e===CHAR_QUOT||e===CHAR_LOWBAR||e===CHAR_HYPHEN}function isAlphaNumHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_LOWBAR||e===CHAR_HYPHEN}const _type=Symbol("type"),_declared=Symbol("declared"),hasOwnProperty=Object.prototype.hasOwnProperty,defineProperty=Object.defineProperty,descriptor={configurable:!0,enumerable:!0,writable:!0,value:void 0};function hasKey(e,t){return!!hasOwnProperty.call(e,t)||("__proto__"===t&&defineProperty(e,"__proto__",descriptor),!1)}const INLINE_TABLE=Symbol("inline-table");function InlineTable(){return Object.defineProperties({},{[_type]:{value:INLINE_TABLE}})}function isInlineTable(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_TABLE}const TABLE=Symbol("table");function Table(){return Object.defineProperties({},{[_type]:{value:TABLE},[_declared]:{value:!1,writable:!0}})}function isTable(e){return null!==e&&"object"==typeof e&&e[_type]===TABLE}const _contentType=Symbol("content-type"),INLINE_LIST=Symbol("inline-list");function InlineList(e){return Object.defineProperties([],{[_type]:{value:INLINE_LIST},[_contentType]:{value:e}})}function isInlineList(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_LIST}const LIST=Symbol("list");function List(){return Object.defineProperties([],{[_type]:{value:LIST}})}function isList(e){return null!==e&&"object"==typeof e&&e[_type]===LIST}let _custom;try{const utilInspect=eval("require('util').inspect");_custom=utilInspect.custom}catch(e){}const _inspect=_custom||"inspect";class BoxedBigInt{constructor(e){try{this.value=__webpack_require__.g.BigInt.asIntN(64,e)}catch(e){this.value=null}Object.defineProperty(this,_type,{value:INTEGER})}isNaN(){return null===this.value}toString(){return String(this.value)}[_inspect](){return`[BigInt: ${this.toString()}]}`}valueOf(){return this.value}}const INTEGER=Symbol("integer");function Integer(e){let t=Number(e);return Object.is(t,-0)&&(t=0),__webpack_require__.g.BigInt&&!Number.isSafeInteger(t)?new BoxedBigInt(e):Object.defineProperties(new Number(t),{isNaN:{value:function(){return isNaN(this)}},[_type]:{value:INTEGER},[_inspect]:{value:()=>`[Integer: ${e}]`}})}function isInteger(e){return null!==e&&"object"==typeof e&&e[_type]===INTEGER}const FLOAT=Symbol("float");function Float(e){return Object.defineProperties(new Number(e),{[_type]:{value:FLOAT},[_inspect]:{value:()=>`[Float: ${e}]`}})}function isFloat(e){return null!==e&&"object"==typeof e&&e[_type]===FLOAT}function tomlType(e){const t=typeof e;if("object"===t){if(null===e)return"null";if(e instanceof Date)return"datetime";if(_type in e)switch(e[_type]){case INLINE_TABLE:return"inline-table";case INLINE_LIST:return"inline-list";case TABLE:return"table";case LIST:return"list";case FLOAT:return"float";case INTEGER:return"integer"}}return t}function makeParserClass(e){return class extends e{constructor(){super(),this.ctx=this.obj=Table()}atEndOfWord(){return this.char===CHAR_NUM||this.char===CTRL_I||this.char===CHAR_SP||this.atEndOfLine()}atEndOfLine(){return this.char===e.END||this.char===CTRL_J||this.char===CTRL_M}parseStart(){if(this.char===e.END)return null;if(this.char===CHAR_LSQB)return this.call(this.parseTableOrList);if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(isAlphaNumQuoteHyphen(this.char))return this.callNow(this.parseAssignStatement);throw this.error(new TomlError(`Unknown character "${this.char}"`))}parseWhitespaceToEOL(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(this.char===CHAR_NUM)return this.goto(this.parseComment);if(this.char===e.END||this.char===CTRL_J)return this.return();throw this.error(new TomlError("Unexpected character, expected only whitespace or comments till end of line"))}parseAssignStatement(){return this.callNow(this.parseAssign,this.recordAssignStatement)}recordAssignStatement(e){let t=this.ctx,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseWhitespaceToEOL)}parseAssign(){return this.callNow(this.parseKeyword,this.recordAssignKeyword)}recordAssignKeyword(e){return this.state.resultTable?this.state.resultTable.push(e):this.state.resultTable=[e],this.goto(this.parseAssignKeywordPreDot)}parseAssignKeywordPreDot(){return this.char===CHAR_PERIOD?this.next(this.parseAssignKeywordPostDot):this.char!==CHAR_SP&&this.char!==CTRL_I?this.goto(this.parseAssignEqual):void 0}parseAssignKeywordPostDot(){if(this.char!==CHAR_SP&&this.char!==CTRL_I)return this.callNow(this.parseKeyword,this.recordAssignKeyword)}parseAssignEqual(){if(this.char===CHAR_EQUALS)return this.next(this.parseAssignPreValue);throw this.error(new TomlError('Invalid character, expected "="'))}parseAssignPreValue(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseValue,this.recordAssignValue)}recordAssignValue(e){return this.returnNow({key:this.state.resultTable,value:e})}parseComment(){do{if(this.char===e.END||this.char===CTRL_J)return this.return()}while(this.nextChar())}parseTableOrList(){if(this.char!==CHAR_LSQB)return this.goto(this.parseTable);this.next(this.parseList)}parseTable(){return this.ctx=this.obj,this.goto(this.parseTableNext)}parseTableNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseTableMore)}parseTableMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)&&(!isTable(this.ctx[e])||this.ctx[e][_declared]))throw this.error(new TomlError("Can't redefine existing key"));return this.ctx=this.ctx[e]=this.ctx[e]||Table(),this.ctx[_declared]=!0,this.next(this.parseWhitespaceToEOL)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e))if(isTable(this.ctx[e]))this.ctx=this.ctx[e];else{if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine existing key"));this.ctx=this.ctx[e][this.ctx[e].length-1]}else this.ctx=this.ctx[e]=Table();return this.next(this.parseTableNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseList(){return this.ctx=this.obj,this.goto(this.parseListNext)}parseListNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseListMore)}parseListMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)||(this.ctx[e]=List()),isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));{const t=Table();this.ctx[e].push(t),this.ctx=t}return this.next(this.parseListEnd)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e)){if(isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(isInlineTable(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline table"));if(isList(this.ctx[e]))this.ctx=this.ctx[e][this.ctx[e].length-1];else{if(!isTable(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));this.ctx=this.ctx[e]}}else this.ctx=this.ctx[e]=Table();return this.next(this.parseListNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseListEnd(e){if(this.char===CHAR_RSQB)return this.next(this.parseWhitespaceToEOL);throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseValue(){if(this.char===e.END)throw this.error(new TomlError("Key without value"));if(this.char===CHAR_QUOT)return this.next(this.parseDoubleString);if(this.char===CHAR_APOS)return this.next(this.parseSingleString);if(this.char===CHAR_HYPHEN||this.char===CHAR_PLUS)return this.goto(this.parseNumberSign);if(this.char===CHAR_i)return this.next(this.parseInf);if(this.char===CHAR_n)return this.next(this.parseNan);if(isDigit(this.char))return this.goto(this.parseNumberOrDateTime);if(this.char===CHAR_t||this.char===CHAR_f)return this.goto(this.parseBoolean);if(this.char===CHAR_LSQB)return this.call(this.parseInlineList,this.recordValue);if(this.char===CHAR_LCUB)return this.call(this.parseInlineTable,this.recordValue);throw this.error(new TomlError("Unexpected character, expecting string, number, datetime, boolean, inline array or inline table"))}recordValue(e){return this.returnNow(e)}parseInf(){if(this.char===CHAR_n)return this.next(this.parseInf2);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseInf2(){if(this.char===CHAR_f)return"-"===this.state.buf?this.return(-1/0):this.return(1/0);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseNan(){if(this.char===CHAR_a)return this.next(this.parseNan2);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseNan2(){if(this.char===CHAR_n)return this.return(NaN);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseKeyword(){return this.char===CHAR_QUOT?this.next(this.parseBasicString):this.char===CHAR_APOS?this.next(this.parseLiteralString):this.goto(this.parseBareKey)}parseBareKey(){do{if(this.char===e.END)throw this.error(new TomlError("Key ended without value"));if(!isAlphaNumHyphen(this.char)){if(0===this.state.buf.length)throw this.error(new TomlError("Empty bare keys are not allowed"));return this.returnNow()}this.consume()}while(this.nextChar())}parseSingleString(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiStringMaybe):this.goto(this.parseLiteralString)}parseLiteralString(){do{if(this.char===CHAR_APOS)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiStringMaybe(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiString):this.returnNow()}parseLiteralMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseLiteralMultiStringContent):this.goto(this.parseLiteralMultiStringContent)}parseLiteralMultiStringContent(){do{if(this.char===CHAR_APOS)return this.next(this.parseLiteralMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiEnd(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiEnd2):(this.state.buf+="'",this.goto(this.parseLiteralMultiStringContent))}parseLiteralMultiEnd2(){return this.char===CHAR_APOS?this.return():(this.state.buf+="''",this.goto(this.parseLiteralMultiStringContent))}parseDoubleString(){return this.char===CHAR_QUOT?this.next(this.parseMultiStringMaybe):this.goto(this.parseBasicString)}parseBasicString(){do{if(this.char===CHAR_BSOL)return this.call(this.parseEscape,this.recordEscapeReplacement);if(this.char===CHAR_QUOT)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}recordEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseBasicString)}parseMultiStringMaybe(){return this.char===CHAR_QUOT?this.next(this.parseMultiString):this.returnNow()}parseMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseMultiStringContent):this.goto(this.parseMultiStringContent)}parseMultiStringContent(){do{if(this.char===CHAR_BSOL)return this.call(this.parseMultiEscape,this.recordMultiEscapeReplacement);if(this.char===CHAR_QUOT)return this.next(this.parseMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}errorControlCharInString(){let e="\\u00";return this.char<16&&(e+="0"),e+=this.char.toString(16),this.error(new TomlError(`Control characters (codes < 0x1f and 0x7f) are not allowed in strings, use ${e} instead`))}recordMultiEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseMultiStringContent)}parseMultiEnd(){return this.char===CHAR_QUOT?this.next(this.parseMultiEnd2):(this.state.buf+='"',this.goto(this.parseMultiStringContent))}parseMultiEnd2(){return this.char===CHAR_QUOT?this.return():(this.state.buf+='""',this.goto(this.parseMultiStringContent))}parseMultiEscape(){return this.char===CTRL_M||this.char===CTRL_J?this.next(this.parseMultiTrim):this.char===CHAR_SP||this.char===CTRL_I?this.next(this.parsePreMultiTrim):this.goto(this.parseEscape)}parsePreMultiTrim(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CTRL_M||this.char===CTRL_J)return this.next(this.parseMultiTrim);throw this.error(new TomlError("Can't escape whitespace"))}parseMultiTrim(){return this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M?null:this.returnNow()}parseEscape(){if(this.char in escapes)return this.return(escapes[this.char]);if(this.char===CHAR_u)return this.call(this.parseSmallUnicode,this.parseUnicodeReturn);if(this.char===CHAR_U)return this.call(this.parseLargeUnicode,this.parseUnicodeReturn);throw this.error(new TomlError("Unknown escape character: "+this.char))}parseUnicodeReturn(e){try{const t=parseInt(e,16);if(t>=SURROGATE_FIRST&&t<=SURROGATE_LAST)throw this.error(new TomlError("Invalid unicode, character in range 0xD800 - 0xDFFF is reserved"));return this.returnNow(String.fromCodePoint(t))}catch(e){throw this.error(TomlError.wrap(e))}}parseSmallUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=4)return this.return()}parseLargeUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=8)return this.return()}parseNumberSign(){return this.consume(),this.next(this.parseMaybeSignedInfOrNan)}parseMaybeSignedInfOrNan(){return this.char===CHAR_i?this.next(this.parseInf):this.char===CHAR_n?this.next(this.parseNan):this.callNow(this.parseNoUnder,this.parseNumberIntegerStart)}parseNumberIntegerStart(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberIntegerExponentOrDecimal)):this.goto(this.parseNumberInteger)}parseNumberIntegerExponentOrDecimal(){return this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Integer(this.state.buf))}parseNumberInteger(){if(!isDigit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnder);if(this.char===CHAR_E||this.char===CHAR_e)return this.consume(),this.next(this.parseNumberExponentSign);if(this.char===CHAR_PERIOD)return this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseNoUnder(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD||this.char===CHAR_E||this.char===CHAR_e)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNoUnderHexOctBinLiteral(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNumberFloat(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberFloat):isDigit(this.char)?void this.consume():this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Float(this.state.buf))}parseNumberExponentSign(){if(isDigit(this.char))return this.goto(this.parseNumberExponent);if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS)throw this.error(new TomlError("Unexpected character, expected -, + or digit"));this.consume(),this.call(this.parseNoUnder,this.parseNumberExponent)}parseNumberExponent(){if(!isDigit(this.char))return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder):this.returnNow(Float(this.state.buf));this.consume()}parseNumberOrDateTime(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberBaseOrDateTime)):this.goto(this.parseNumberOrDateTimeOnly)}parseNumberOrDateTimeOnly(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberInteger):isDigit(this.char)?(this.consume(),void(this.state.buf.length>4&&this.next(this.parseNumberInteger))):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_HYPHEN?this.goto(this.parseDateTime):this.char===CHAR_COLON?this.goto(this.parseOnlyTimeHour):this.returnNow(Integer(this.state.buf))}parseDateTimeOnly(){if(this.state.buf.length<4){if(isDigit(this.char))return this.consume();if(this.char===CHAR_COLON)return this.goto(this.parseOnlyTimeHour);throw this.error(new TomlError("Expected digit while parsing year part of a date"))}if(this.char===CHAR_HYPHEN)return this.goto(this.parseDateTime);throw this.error(new TomlError("Expected hyphen (-) while parsing year part of date"))}parseNumberBaseOrDateTime(){return this.char===CHAR_b?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerBin)):this.char===CHAR_o?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerOct)):this.char===CHAR_x?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerHex)):this.char===CHAR_PERIOD?this.goto(this.parseNumberInteger):isDigit(this.char)?this.goto(this.parseDateTimeOnly):this.returnNow(Integer(this.state.buf))}parseIntegerHex(){if(!isHexit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerOct(){if(!isOctit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerBin(){if(!isBit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseDateTime(){if(this.state.buf.length<4)throw this.error(new TomlError("Years less than 1000 must be zero padded to four characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseDateMonth)}parseDateMonth(){if(this.char===CHAR_HYPHEN){if(this.state.buf.length<2)throw this.error(new TomlError("Months less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseDateDay)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseDateDay(){if(this.char===CHAR_T||this.char===CHAR_SP){if(this.state.buf.length<2)throw this.error(new TomlError("Days less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseStartTimeHour)}if(this.atEndOfWord())return this.returnNow(createDate(this.state.result+"-"+this.state.buf));if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseStartTimeHour(){return this.atEndOfWord()?this.returnNow(createDate(this.state.result)):this.goto(this.parseTimeHour)}parseTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result+="T"+this.state.buf,this.state.buf="",this.next(this.parseTimeMin)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeSec);throw this.error(new TomlError("Incomplete datetime"))}this.consume()}parseTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));if(this.consume(),2===this.state.buf.length)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeZoneOrFraction)}parseOnlyTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeMin)}throw this.error(new TomlError("Incomplete time"))}parseOnlyTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeSec);throw this.error(new TomlError("Incomplete time"))}this.consume()}parseOnlyTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete time"));if(this.consume(),2===this.state.buf.length)return this.next(this.parseOnlyTimeFractionMaybe)}parseOnlyTimeFractionMaybe(){if(this.state.result+=":"+this.state.buf,this.char!==CHAR_PERIOD)return this.return(createTime(this.state.result));this.state.buf="",this.next(this.parseOnlyTimeFraction)}parseOnlyTimeFraction(){if(!isDigit(this.char)){if(this.atEndOfWord()){if(0===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));return this.returnNow(createTime(this.state.result+"."+this.state.buf))}throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume()}parseTimeZoneOrFraction(){if(this.char===CHAR_PERIOD)this.consume(),this.next(this.parseDateTimeFraction);else{if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseDateTimeFraction(){if(isDigit(this.char))this.consume();else{if(1===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseTimeZoneHour(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.next(this.parseTimeZoneSep)}parseTimeZoneSep(){if(this.char!==CHAR_COLON)throw this.error(new TomlError("Unexpected character in datetime, expected colon"));this.consume(),this.next(this.parseTimeZoneMin)}parseTimeZoneMin(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.return(createDateTime(this.state.result+this.state.buf))}parseBoolean(){return this.char===CHAR_t?(this.consume(),this.next(this.parseTrue_r)):this.char===CHAR_f?(this.consume(),this.next(this.parseFalse_a)):void 0}parseTrue_r(){if(this.char===CHAR_r)return this.consume(),this.next(this.parseTrue_u);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_u(){if(this.char===CHAR_u)return this.consume(),this.next(this.parseTrue_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_e(){if(this.char===CHAR_e)return this.return(!0);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_a(){if(this.char===CHAR_a)return this.consume(),this.next(this.parseFalse_l);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_l(){if(this.char===CHAR_l)return this.consume(),this.next(this.parseFalse_s);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_s(){if(this.char===CHAR_s)return this.consume(),this.next(this.parseFalse_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_e(){if(this.char===CHAR_e)return this.return(!1);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseInlineList(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===e.END)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_NUM?this.call(this.parseComment):this.char===CHAR_RSQB?this.return(this.state.resultArr||InlineList()):this.callNow(this.parseValue,this.recordInlineListValue)}recordInlineListValue(e){if(this.state.resultArr){const t=this.state.resultArr[_contentType],n=tomlType(e);if(t!==n)throw this.error(new TomlError(`Inline lists must be a single type, not a mix of ${t} and ${n}`))}else this.state.resultArr=InlineList(tomlType(e));return isFloat(e)||isInteger(e)?this.state.resultArr.push(e.valueOf()):this.state.resultArr.push(e),this.goto(this.parseInlineListNext)}parseInlineListNext(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CHAR_COMMA)return this.next(this.parseInlineList);if(this.char===CHAR_RSQB)return this.goto(this.parseInlineList);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}parseInlineTable(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_RCUB?this.return(this.state.resultTable||InlineTable()):(this.state.resultTable||(this.state.resultTable=InlineTable()),this.callNow(this.parseAssign,this.recordInlineTableValue))}recordInlineTableValue(e){let t=this.state.resultTable,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseInlineTableNext)}parseInlineTableNext(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));if(this.char===CHAR_COMMA)return this.next(this.parseInlineTable);if(this.char===CHAR_RCUB)return this.goto(this.parseInlineTable);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}}}},66615:(e,t,n)=>{"use strict";e.exports=function(e,t){t||(t={});const n=t.blocksize||40960,o=new r;return new Promise(((e,t)=>{setImmediate(a,0,n,e,t)}));function a(t,n,r,s){if(t>=e.length)try{return r(o.finish())}catch(t){return s(i(t,e))}try{o.parse(e.slice(t,t+n)),setImmediate(a,t+n,n,r,s)}catch(t){s(i(t,e))}}};const r=n(77146),i=n(53146)},53146:e=>{"use strict";e.exports=function(e,t){if(null==e.pos||null==e.line)return e;let n=e.message;if(n+=` at row ${e.line+1}, col ${e.col+1}, pos ${e.pos}:\n`,t&&t.split){const r=t.split(/\n/),i=String(Math.min(r.length,e.line+3)).length;let o=" ";for(;o.length "+r[t]+"\n",n+=o+" ";for(let t=0;t{"use strict";e.exports=function(e){return e?function(e){const t=new i;return e.setEncoding("utf8"),new Promise(((n,r)=>{let i,o=!1,a=!1;function s(){if(o=!0,!i)try{n(t.finish())}catch(e){r(e)}}function l(e){a=!0,r(e)}e.once("end",s),e.once("error",l),function n(){let r;for(i=!0;null!==(r=e.read());)try{t.parse(r)}catch(e){return l(e)}if(i=!1,o)return s();a||e.once("readable",n)}()}))}(e):function(){const e=new i;return new r.Transform({objectMode:!0,transform(t,n,r){try{e.parse(t.toString(n))}catch(e){this.emit("error",e)}r()},flush(t){try{this.push(e.finish())}catch(e){this.emit("error",e)}t()}})}()};const r=n(54851),i=n(77146)},13475:(e,t,n)=>{"use strict";e.exports=function(e){n.g.Buffer&&n.g.Buffer.isBuffer(e)&&(e=e.toString("utf8"));const t=new r;try{return t.parse(e),t.finish()}catch(t){throw i(t,e)}};const r=n(77146),i=n(53146)},53279:(e,t,n)=>{"use strict";e.exports=n(13475),e.exports.async=n(66615),e.exports.stream=n(24312),e.exports.prettyError=n(53146)},57573:e=>{"use strict";function t(e){return new Error("Can only stringify objects, not "+e)}function n(e){return Object.keys(e).filter((t=>o(e[t])))}function r(e){let t=Array.isArray(e)?[]:Object.prototype.hasOwnProperty.call(e,"__proto__")?{["__proto__"]:void 0}:{};for(let n of Object.keys(e))e[n]&&"function"==typeof e[n].toJSON&&!("toISOString"in e[n])?t[n]=e[n].toJSON():t[n]=e[n];return t}function i(e,l,u){var d,p;d=n(u=r(u)),p=function(e){return Object.keys(e).filter((t=>!o(e[t])))}(u);var h=[],m=l||"";d.forEach((e=>{var t=a(u[e]);"undefined"!==t&&"null"!==t&&h.push(m+s(e)+" = "+c(u[e],!0))})),h.length>0&&h.push("");var g=e&&d.length>0?l+" ":"";return p.forEach((o=>{h.push(function(e,o,l,u){var c=a(u);if("array"===c)return function(e,n,o,l){f(l=r(l));var u=a(l[0]);if("table"!==u)throw t(u);var c=e+s(o),d="";return l.forEach((e=>{d.length>0&&(d+="\n"),d+=n+"[["+c+"]]\n",d+=i(c+".",n,e)})),d}(e,o,l,u);if("table"===c)return function(e,t,r,o){var a=e+s(r),l="";return n(o).length>0&&(l+=t+"["+a+"]\n"),l+i(a+".",t,o)}(e,o,l,u);throw t(c)}(e,g,o,u[o]))})),h.join("\n")}function o(e){switch(a(e)){case"undefined":case"null":case"integer":case"nan":case"float":case"boolean":case"string":case"datetime":return!0;case"array":return 0===e.length||"table"!==a(e[0]);case"table":return 0===Object.keys(e).length;default:return!1}}function a(e){return void 0===e?"undefined":null===e?"null":"bigint"==typeof e||Number.isInteger(e)&&!Object.is(e,-0)?"integer":"number"==typeof e?"float":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"toISOString"in e?isNaN(e)?"undefined":"datetime":Array.isArray(e)?"array":"table"}function s(e){var t=String(e);return/^[-A-Za-z0-9_]+$/.test(t)?t:l(t)}function l(e){return'"'+u(e).replace(/"/g,'\\"')+'"'}function u(e){return e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/([\u0000-\u001f\u007f])/,(e=>"\\u"+function(e,t){for(;t.length<4;)t="0"+t;return t}(0,e.codePointAt(0).toString(16))))}function c(e,t){let n=a(e);return"string"===n&&(t&&/\n/.test(e)?n="string-multiline":!/[\b\t\n\f\r']/.test(e)&&/"/.test(e)&&(n="string-literal")),d(e,n)}function d(e,n){switch(n||(n=a(e)),n){case"string-multiline":return function(e){let t=e.split(/\n/).map((e=>u(e).replace(/"(?="")/g,'\\"'))).join("\n");return'"'===t.slice(-1)&&(t+="\\\n"),'"""\n'+t+'"""'}(e);case"string":return l(e);case"string-literal":return"'"+e+"'";case"integer":return p(e);case"float":return function(e){if(e===1/0)return"inf";if(e===-1/0)return"-inf";if(Object.is(e,NaN))return"nan";if(Object.is(e,-0))return"-0.0";var t=String(e).split("."),n=t[0],r=t[1]||0;return p(n)+"."+r}(e);case"boolean":return function(e){return String(e)}(e);case"datetime":return function(e){return e.toISOString()}(e);case"array":return function(e){const t=f(e=r(e));var n="[",i=e.map((e=>d(e,t)));return i.join(", ").length>60||/\n/.test(i)?n+="\n "+i.join(",\n ")+"\n":n+=" "+i.join(", ")+(i.length>0?" ":""),n+"]"}(e.filter((e=>"null"!==a(e)&&"undefined"!==a(e)&&"nan"!==a(e))));case"table":return function(e){e=r(e);var t=[];return Object.keys(e).forEach((n=>{t.push(s(n)+" = "+c(e[n],!1))})),"{ "+t.join(", ")+(t.length>0?" ":"")+"}"}(e);default:throw t(n)}}function p(e){return String(e).replace(/\B(?=(\d{3})+(?!\d))/g,"_")}function f(e){const t=function(e){var t=a(e[0]);return e.every((e=>a(e)===t))?t:e.every((e=>{return"float"===(t=a(e))||"integer"===t;var t}))?"float":"mixed"}(e);if("mixed"===t)throw new Error("Array values can't have mixed types");return t}e.exports=function(e){if(null===e)throw t("null");if(void 0===e)throw t("undefined");if("object"!=typeof e)throw t(typeof e);if("function"==typeof e.toJSON&&(e=e.toJSON()),null==e)return null;const n=a(e);if("table"!==n)throw t(n);return i("","",e)},e.exports.value=d},6901:(e,t,n)=>{"use strict";t.parse=n(53279),t.stringify=n(57573)},47988:(e,t,n)=>{"use strict";var r,i=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["fill","width","height","style"]);return o.default.createElement("svg",i({viewBox:"0 0 24 24",style:i({fill:n,width:a,height:l},c)},d),o.default.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))}},16331:(e,t,n)=>{"use strict";var r,i=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["fill","width","height","style"]);return o.default.createElement("svg",i({viewBox:"0 0 24 24",style:i({fill:n,width:a,height:l},c)},d),o.default.createElement("path",{d:"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"}))}},16336:e=>{e.exports={__schema:{types:[{kind:"INTERFACE",name:"Node",possibleTypes:[{name:"AddedToProjectEvent"},{name:"App"},{name:"AssignedEvent"},{name:"BaseRefChangedEvent"},{name:"BaseRefForcePushedEvent"},{name:"Blob"},{name:"Bot"},{name:"BranchProtectionRule"},{name:"ClosedEvent"},{name:"CodeOfConduct"},{name:"CommentDeletedEvent"},{name:"Commit"},{name:"CommitComment"},{name:"CommitCommentThread"},{name:"ConvertedNoteToIssueEvent"},{name:"CrossReferencedEvent"},{name:"DemilestonedEvent"},{name:"DeployKey"},{name:"DeployedEvent"},{name:"Deployment"},{name:"DeploymentEnvironmentChangedEvent"},{name:"DeploymentStatus"},{name:"ExternalIdentity"},{name:"Gist"},{name:"GistComment"},{name:"HeadRefDeletedEvent"},{name:"HeadRefForcePushedEvent"},{name:"HeadRefRestoredEvent"},{name:"Issue"},{name:"IssueComment"},{name:"Label"},{name:"LabeledEvent"},{name:"Language"},{name:"License"},{name:"LockedEvent"},{name:"Mannequin"},{name:"MarketplaceCategory"},{name:"MarketplaceListing"},{name:"MentionedEvent"},{name:"MergedEvent"},{name:"Milestone"},{name:"MilestonedEvent"},{name:"MovedColumnsInProjectEvent"},{name:"Organization"},{name:"OrganizationIdentityProvider"},{name:"OrganizationInvitation"},{name:"PinnedEvent"},{name:"Project"},{name:"ProjectCard"},{name:"ProjectColumn"},{name:"PublicKey"},{name:"PullRequest"},{name:"PullRequestCommit"},{name:"PullRequestCommitCommentThread"},{name:"PullRequestReview"},{name:"PullRequestReviewComment"},{name:"PullRequestReviewThread"},{name:"PushAllowance"},{name:"Reaction"},{name:"ReadyForReviewEvent"},{name:"Ref"},{name:"ReferencedEvent"},{name:"RegistryPackage"},{name:"RegistryPackageDependency"},{name:"RegistryPackageFile"},{name:"RegistryPackageTag"},{name:"RegistryPackageVersion"},{name:"Release"},{name:"ReleaseAsset"},{name:"RemovedFromProjectEvent"},{name:"RenamedTitleEvent"},{name:"ReopenedEvent"},{name:"Repository"},{name:"RepositoryInvitation"},{name:"RepositoryTopic"},{name:"ReviewDismissalAllowance"},{name:"ReviewDismissedEvent"},{name:"ReviewRequest"},{name:"ReviewRequestRemovedEvent"},{name:"ReviewRequestedEvent"},{name:"SavedReply"},{name:"SecurityAdvisory"},{name:"SponsorsListing"},{name:"Sponsorship"},{name:"Status"},{name:"StatusContext"},{name:"SubscribedEvent"},{name:"Tag"},{name:"Team"},{name:"Topic"},{name:"TransferredEvent"},{name:"Tree"},{name:"UnassignedEvent"},{name:"UnlabeledEvent"},{name:"UnlockedEvent"},{name:"UnpinnedEvent"},{name:"UnsubscribedEvent"},{name:"User"},{name:"UserBlockedEvent"},{name:"UserContentEdit"},{name:"UserStatus"}]},{kind:"INTERFACE",name:"UniformResourceLocatable",possibleTypes:[{name:"Bot"},{name:"ClosedEvent"},{name:"Commit"},{name:"CrossReferencedEvent"},{name:"Gist"},{name:"Issue"},{name:"Mannequin"},{name:"MergedEvent"},{name:"Milestone"},{name:"Organization"},{name:"PullRequest"},{name:"PullRequestCommit"},{name:"ReadyForReviewEvent"},{name:"Release"},{name:"Repository"},{name:"RepositoryTopic"},{name:"ReviewDismissedEvent"},{name:"User"}]},{kind:"INTERFACE",name:"Actor",possibleTypes:[{name:"Bot"},{name:"Mannequin"},{name:"Organization"},{name:"User"}]},{kind:"INTERFACE",name:"RegistryPackageOwner",possibleTypes:[{name:"Organization"},{name:"Repository"},{name:"User"}]},{kind:"INTERFACE",name:"ProjectOwner",possibleTypes:[{name:"Organization"},{name:"Repository"},{name:"User"}]},{kind:"INTERFACE",name:"Closable",possibleTypes:[{name:"Issue"},{name:"Milestone"},{name:"Project"},{name:"PullRequest"}]},{kind:"INTERFACE",name:"Updatable",possibleTypes:[{name:"CommitComment"},{name:"GistComment"},{name:"Issue"},{name:"IssueComment"},{name:"Project"},{name:"PullRequest"},{name:"PullRequestReview"},{name:"PullRequestReviewComment"}]},{kind:"UNION",name:"ProjectCardItem",possibleTypes:[{name:"Issue"},{name:"PullRequest"}]},{kind:"INTERFACE",name:"Assignable",possibleTypes:[{name:"Issue"},{name:"PullRequest"}]},{kind:"INTERFACE",name:"Comment",possibleTypes:[{name:"CommitComment"},{name:"GistComment"},{name:"Issue"},{name:"IssueComment"},{name:"PullRequest"},{name:"PullRequestReview"},{name:"PullRequestReviewComment"}]},{kind:"INTERFACE",name:"UpdatableComment",possibleTypes:[{name:"CommitComment"},{name:"GistComment"},{name:"Issue"},{name:"IssueComment"},{name:"PullRequest"},{name:"PullRequestReview"},{name:"PullRequestReviewComment"}]},{kind:"INTERFACE",name:"Labelable",possibleTypes:[{name:"Issue"},{name:"PullRequest"}]},{kind:"INTERFACE",name:"Lockable",possibleTypes:[{name:"Issue"},{name:"PullRequest"}]},{kind:"INTERFACE",name:"RegistryPackageSearch",possibleTypes:[{name:"Organization"},{name:"User"}]},{kind:"INTERFACE",name:"RepositoryOwner",possibleTypes:[{name:"Organization"},{name:"User"}]},{kind:"INTERFACE",name:"MemberStatusable",possibleTypes:[{name:"Organization"},{name:"Team"}]},{kind:"INTERFACE",name:"ProfileOwner",possibleTypes:[{name:"Organization"},{name:"User"}]},{kind:"UNION",name:"PinnableItem",possibleTypes:[{name:"Gist"},{name:"Repository"}]},{kind:"INTERFACE",name:"Starrable",possibleTypes:[{name:"Gist"},{name:"Repository"},{name:"Topic"}]},{kind:"INTERFACE",name:"RepositoryInfo",possibleTypes:[{name:"Repository"}]},{kind:"INTERFACE",name:"GitObject",possibleTypes:[{name:"Blob"},{name:"Commit"},{name:"Tag"},{name:"Tree"}]},{kind:"INTERFACE",name:"RepositoryNode",possibleTypes:[{name:"CommitComment"},{name:"CommitCommentThread"},{name:"Issue"},{name:"IssueComment"},{name:"PullRequest"},{name:"PullRequestCommitCommentThread"},{name:"PullRequestReview"},{name:"PullRequestReviewComment"}]},{kind:"INTERFACE",name:"Subscribable",possibleTypes:[{name:"Commit"},{name:"Issue"},{name:"PullRequest"},{name:"Repository"},{name:"Team"}]},{kind:"INTERFACE",name:"Deletable",possibleTypes:[{name:"CommitComment"},{name:"GistComment"},{name:"IssueComment"},{name:"PullRequestReview"},{name:"PullRequestReviewComment"}]},{kind:"INTERFACE",name:"Reactable",possibleTypes:[{name:"CommitComment"},{name:"Issue"},{name:"IssueComment"},{name:"PullRequest"},{name:"PullRequestReview"},{name:"PullRequestReviewComment"}]},{kind:"INTERFACE",name:"GitSignature",possibleTypes:[{name:"GpgSignature"},{name:"SmimeSignature"},{name:"UnknownSignature"}]},{kind:"UNION",name:"RequestedReviewer",possibleTypes:[{name:"User"},{name:"Team"},{name:"Mannequin"}]},{kind:"UNION",name:"PullRequestTimelineItem",possibleTypes:[{name:"Commit"},{name:"CommitCommentThread"},{name:"PullRequestReview"},{name:"PullRequestReviewThread"},{name:"PullRequestReviewComment"},{name:"IssueComment"},{name:"ClosedEvent"},{name:"ReopenedEvent"},{name:"SubscribedEvent"},{name:"UnsubscribedEvent"},{name:"MergedEvent"},{name:"ReferencedEvent"},{name:"CrossReferencedEvent"},{name:"AssignedEvent"},{name:"UnassignedEvent"},{name:"LabeledEvent"},{name:"UnlabeledEvent"},{name:"MilestonedEvent"},{name:"DemilestonedEvent"},{name:"RenamedTitleEvent"},{name:"LockedEvent"},{name:"UnlockedEvent"},{name:"DeployedEvent"},{name:"DeploymentEnvironmentChangedEvent"},{name:"HeadRefDeletedEvent"},{name:"HeadRefRestoredEvent"},{name:"HeadRefForcePushedEvent"},{name:"BaseRefForcePushedEvent"},{name:"ReviewRequestedEvent"},{name:"ReviewRequestRemovedEvent"},{name:"ReviewDismissedEvent"},{name:"UserBlockedEvent"}]},{kind:"UNION",name:"Closer",possibleTypes:[{name:"Commit"},{name:"PullRequest"}]},{kind:"UNION",name:"ReferencedSubject",possibleTypes:[{name:"Issue"},{name:"PullRequest"}]},{kind:"UNION",name:"Assignee",possibleTypes:[{name:"Bot"},{name:"Mannequin"},{name:"Organization"},{name:"User"}]},{kind:"UNION",name:"MilestoneItem",possibleTypes:[{name:"Issue"},{name:"PullRequest"}]},{kind:"UNION",name:"RenamedTitleSubject",possibleTypes:[{name:"Issue"},{name:"PullRequest"}]},{kind:"UNION",name:"PullRequestTimelineItems",possibleTypes:[{name:"PullRequestCommit"},{name:"PullRequestCommitCommentThread"},{name:"PullRequestReview"},{name:"PullRequestReviewThread"},{name:"PullRequestRevisionMarker"},{name:"BaseRefChangedEvent"},{name:"BaseRefForcePushedEvent"},{name:"DeployedEvent"},{name:"DeploymentEnvironmentChangedEvent"},{name:"HeadRefDeletedEvent"},{name:"HeadRefForcePushedEvent"},{name:"HeadRefRestoredEvent"},{name:"MergedEvent"},{name:"ReviewDismissedEvent"},{name:"ReviewRequestedEvent"},{name:"ReviewRequestRemovedEvent"},{name:"ReadyForReviewEvent"},{name:"IssueComment"},{name:"CrossReferencedEvent"},{name:"AddedToProjectEvent"},{name:"AssignedEvent"},{name:"ClosedEvent"},{name:"CommentDeletedEvent"},{name:"ConvertedNoteToIssueEvent"},{name:"DemilestonedEvent"},{name:"LabeledEvent"},{name:"LockedEvent"},{name:"MentionedEvent"},{name:"MilestonedEvent"},{name:"MovedColumnsInProjectEvent"},{name:"PinnedEvent"},{name:"ReferencedEvent"},{name:"RemovedFromProjectEvent"},{name:"RenamedTitleEvent"},{name:"ReopenedEvent"},{name:"SubscribedEvent"},{name:"TransferredEvent"},{name:"UnassignedEvent"},{name:"UnlabeledEvent"},{name:"UnlockedEvent"},{name:"UserBlockedEvent"},{name:"UnpinnedEvent"},{name:"UnsubscribedEvent"}]},{kind:"UNION",name:"IssueOrPullRequest",possibleTypes:[{name:"Issue"},{name:"PullRequest"}]},{kind:"UNION",name:"IssueTimelineItem",possibleTypes:[{name:"Commit"},{name:"IssueComment"},{name:"CrossReferencedEvent"},{name:"ClosedEvent"},{name:"ReopenedEvent"},{name:"SubscribedEvent"},{name:"UnsubscribedEvent"},{name:"ReferencedEvent"},{name:"AssignedEvent"},{name:"UnassignedEvent"},{name:"LabeledEvent"},{name:"UnlabeledEvent"},{name:"UserBlockedEvent"},{name:"MilestonedEvent"},{name:"DemilestonedEvent"},{name:"RenamedTitleEvent"},{name:"LockedEvent"},{name:"UnlockedEvent"},{name:"TransferredEvent"}]},{kind:"UNION",name:"IssueTimelineItems",possibleTypes:[{name:"IssueComment"},{name:"CrossReferencedEvent"},{name:"AddedToProjectEvent"},{name:"AssignedEvent"},{name:"ClosedEvent"},{name:"CommentDeletedEvent"},{name:"ConvertedNoteToIssueEvent"},{name:"DemilestonedEvent"},{name:"LabeledEvent"},{name:"LockedEvent"},{name:"MentionedEvent"},{name:"MilestonedEvent"},{name:"MovedColumnsInProjectEvent"},{name:"PinnedEvent"},{name:"ReferencedEvent"},{name:"RemovedFromProjectEvent"},{name:"RenamedTitleEvent"},{name:"ReopenedEvent"},{name:"SubscribedEvent"},{name:"TransferredEvent"},{name:"UnassignedEvent"},{name:"UnlabeledEvent"},{name:"UnlockedEvent"},{name:"UserBlockedEvent"},{name:"UnpinnedEvent"},{name:"UnsubscribedEvent"}]},{kind:"UNION",name:"ReviewDismissalAllowanceActor",possibleTypes:[{name:"User"},{name:"Team"}]},{kind:"UNION",name:"PushAllowanceActor",possibleTypes:[{name:"User"},{name:"Team"}]},{kind:"UNION",name:"PermissionGranter",possibleTypes:[{name:"Organization"},{name:"Repository"},{name:"Team"}]},{kind:"INTERFACE",name:"Sponsorable",possibleTypes:[{name:"User"}]},{kind:"INTERFACE",name:"Contribution",possibleTypes:[{name:"CreatedCommitContribution"},{name:"CreatedIssueContribution"},{name:"CreatedPullRequestContribution"},{name:"CreatedPullRequestReviewContribution"},{name:"CreatedRepositoryContribution"},{name:"JoinedGitHubContribution"},{name:"RestrictedContribution"}]},{kind:"UNION",name:"CreatedRepositoryOrRestrictedContribution",possibleTypes:[{name:"CreatedRepositoryContribution"},{name:"RestrictedContribution"}]},{kind:"UNION",name:"CreatedIssueOrRestrictedContribution",possibleTypes:[{name:"CreatedIssueContribution"},{name:"RestrictedContribution"}]},{kind:"UNION",name:"CreatedPullRequestOrRestrictedContribution",possibleTypes:[{name:"CreatedPullRequestContribution"},{name:"RestrictedContribution"}]},{kind:"UNION",name:"SearchResultItem",possibleTypes:[{name:"Issue"},{name:"PullRequest"},{name:"Repository"},{name:"User"},{name:"Organization"},{name:"MarketplaceListing"},{name:"App"}]},{kind:"UNION",name:"CollectionItemContent",possibleTypes:[{name:"Repository"},{name:"Organization"},{name:"User"}]}]}}},87683:e=>{"use strict";e.exports=function(e){if(e)throw e}},82294:e=>{"use strict";function t(e,t,i){e instanceof RegExp&&(e=n(e,i)),t instanceof RegExp&&(t=n(t,i));var o=r(e,t,i);return o&&{start:o[0],end:o[1],pre:i.slice(0,o[0]),body:i.slice(o[0]+e.length,o[1]),post:i.slice(o[1]+t.length)}}function n(e,t){var n=t.match(e);return n?n[0]:null}function r(e,t,n){var r,i,o,a,s,l=n.indexOf(e),u=n.indexOf(t,l+1),c=l;if(l>=0&&u>0){if(e===t)return[l,u];for(r=[],o=n.length;c>=0&&!s;)c==l?(r.push(c),l=n.indexOf(e,c+1)):1==r.length?s=[r.pop(),u]:((i=r.pop())=0?l:u;r.length&&(s=[o,a])}return s}e.exports=t,t.range=r},95766:(e,t)=>{"use strict";t.byteLength=function(e){var t=s(e),n=t[0],r=t[1];return 3*(n+r)/4-r},t.toByteArray=function(e){var t,n,o=s(e),a=o[0],l=o[1],u=new i(function(e,t,n){return 3*(t+n)/4-n}(0,a,l)),c=0,d=l>0?a-4:a;for(n=0;n>16&255,u[c++]=t>>8&255,u[c++]=255&t;return 2===l&&(t=r[e.charCodeAt(n)]<<2|r[e.charCodeAt(n+1)]>>4,u[c++]=255&t),1===l&&(t=r[e.charCodeAt(n)]<<10|r[e.charCodeAt(n+1)]<<4|r[e.charCodeAt(n+2)]>>2,u[c++]=t>>8&255,u[c++]=255&t),u},t.fromByteArray=function(e){for(var t,r=e.length,i=r%3,o=[],a=16383,s=0,u=r-i;su?u:s+a));return 1===i?(t=e[r-1],o.push(n[t>>2]+n[t<<4&63]+"==")):2===i&&(t=(e[r-2]<<8)+e[r-1],o.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),o.join("")};for(var n=[],r=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0;a<64;++a)n[a]=o[a],r[o.charCodeAt(a)]=a;function s(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function l(e,t,r){for(var i,o,a=[],s=t;s>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},48834:(e,t,n)=>{"use strict";const r=n(95766),i=n(62333),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50;const a=2147483647;function s(e){if(e>a)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return d(e)}return u(e,t,n)}function u(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const n=0|m(e,t);let r=s(n);const i=r.write(e,t);return i!==n&&(r=r.slice(0,i)),r}(e,t);if(ArrayBuffer.isView(e))return function(e){if(Y(e,Uint8Array)){const t=new Uint8Array(e);return f(t.buffer,t.byteOffset,t.byteLength)}return p(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Y(e,ArrayBuffer)||e&&Y(e.buffer,ArrayBuffer))return f(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(Y(e,SharedArrayBuffer)||e&&Y(e.buffer,SharedArrayBuffer)))return f(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const r=e.valueOf&&e.valueOf();if(null!=r&&r!==e)return l.from(r,t,n);const i=function(e){if(l.isBuffer(e)){const t=0|h(e.length),n=s(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||Z(e.length)?s(0):p(e):"Buffer"===e.type&&Array.isArray(e.data)?p(e.data):void 0}(e);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function c(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function d(e){return c(e),s(e<0?0:0|h(e))}function p(e){const t=e.length<0?0:0|h(e.length),n=s(t);for(let r=0;r=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function m(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Y(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const n=e.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return V(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return G(e).length;default:if(i)return r?-1:V(e).length;t=(""+t).toLowerCase(),i=!0}}function g(e,t,n){let r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return P(this,t,n);case"utf8":case"utf-8":return S(this,t,n);case"ascii":return T(this,t,n);case"latin1":case"binary":return O(this,t,n);case"base64":return C(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return D(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function v(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function y(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),Z(n=+n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=l.from(t,r)),l.isBuffer(t))return 0===t.length?-1:b(e,t,n,r,i);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):b(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function b(e,t,n,r,i){let o,a=1,s=e.length,l=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,n/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){let r=-1;for(o=n;os&&(n=s-l),o=n;o>=0;o--){let n=!0;for(let r=0;ri&&(r=i):r=i;const o=t.length;let a;for(r>o/2&&(r=o/2),a=0;a>8,i=n%256,o.push(i),o.push(r);return o}(t,e.length-n),e,n,r)}function C(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function S(e,t,n){n=Math.min(e.length,n);const r=[];let i=t;for(;i239?4:t>223?3:t>191?2:1;if(i+a<=n){let n,r,s,l;switch(a){case 1:t<128&&(o=t);break;case 2:n=e[i+1],128==(192&n)&&(l=(31&t)<<6|63&n,l>127&&(o=l));break;case 3:n=e[i+1],r=e[i+2],128==(192&n)&&128==(192&r)&&(l=(15&t)<<12|(63&n)<<6|63&r,l>2047&&(l<55296||l>57343)&&(o=l));break;case 4:n=e[i+1],r=e[i+2],s=e[i+3],128==(192&n)&&128==(192&r)&&128==(192&s)&&(l=(15&t)<<18|(63&n)<<12|(63&r)<<6|63&s,l>65535&&l<1114112&&(o=l))}}null===o?(o=65533,a=1):o>65535&&(o-=65536,r.push(o>>>10&1023|55296),o=56320|1023&o),r.push(o),i+=a}return function(e){const t=e.length;if(t<=A)return String.fromCharCode.apply(String,e);let n="",r=0;for(;rr.length?(l.isBuffer(t)||(t=l.from(t)),t.copy(r,i)):Uint8Array.prototype.set.call(r,t,i);else{if(!l.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(r,i)}i+=t.length}return r},l.byteLength=m,l.prototype._isBuffer=!0,l.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tn&&(e+=" ... "),""},o&&(l.prototype[o]=l.prototype.inspect),l.prototype.compare=function(e,t,n,r,i){if(Y(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;let o=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0);const s=Math.min(o,a),u=this.slice(r,i),c=e.slice(t,n);for(let e=0;e>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}const i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");let o=!1;for(;;)switch(r){case"hex":return w(this,e,t,n);case"utf8":case"utf-8":return _(this,e,t,n);case"ascii":case"latin1":case"binary":return x(this,e,t,n);case"base64":return k(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const A=4096;function T(e,t,n){let r="";n=Math.min(e.length,n);for(let i=t;ir)&&(n=r);let i="";for(let r=t;rn)throw new RangeError("Trying to access beyond buffer length")}function I(e,t,n,r,i,o){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function M(e,t,n,r,i){q(t,r,i,e,n,7);let o=Number(t&BigInt(4294967295));e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=a,a>>=8,e[n++]=a,a>>=8,e[n++]=a,a>>=8,e[n++]=a,n}function L(e,t,n,r,i){q(t,r,i,e,n,7);let o=Number(t&BigInt(4294967295));e[n+7]=o,o>>=8,e[n+6]=o,o>>=8,e[n+5]=o,o>>=8,e[n+4]=o;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=a,a>>=8,e[n+2]=a,a>>=8,e[n+1]=a,a>>=8,e[n]=a,n+8}function N(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function j(e,t,n,r,o){return t=+t,n>>>=0,o||N(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function F(e,t,n,r,o){return t=+t,n>>>=0,o||N(e,0,n,8),i.write(e,t,n,r,52,8),n+8}l.prototype.slice=function(e,t){const n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||R(e,t,this.length);let r=this[e],i=1,o=0;for(;++o>>=0,t>>>=0,n||R(e,t,this.length);let r=this[e+--t],i=1;for(;t>0&&(i*=256);)r+=this[e+--t]*i;return r},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readBigUInt64LE=Q((function(e){$(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||W(e,this.length-8);const r=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,i=this[++e]+256*this[++e]+65536*this[++e]+n*2**24;return BigInt(r)+(BigInt(i)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||W(e,this.length-8);const r=t*2**24+65536*this[++e]+256*this[++e]+this[++e],i=this[++e]*2**24+65536*this[++e]+256*this[++e]+n;return(BigInt(r)<>>=0,t>>>=0,n||R(e,t,this.length);let r=this[e],i=1,o=0;for(;++o=i&&(r-=Math.pow(2,8*t)),r},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||R(e,t,this.length);let r=t,i=1,o=this[e+--r];for(;r>0&&(i*=256);)o+=this[e+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o},l.prototype.readInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readBigInt64LE=Q((function(e){$(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||W(e,this.length-8);const r=this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24);return(BigInt(r)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||W(e,this.length-8);const r=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(r)<>>=0,t||R(e,4,this.length),i.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||R(e,4,this.length),i.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||R(e,8,this.length),i.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||R(e,8,this.length),i.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,n,r){e=+e,t>>>=0,n>>>=0,r||I(this,e,t,n,Math.pow(2,8*n)-1,0);let i=1,o=0;for(this[t]=255&e;++o>>=0,n>>>=0,r||I(this,e,t,n,Math.pow(2,8*n)-1,0);let i=n-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigUInt64LE=Q((function(e,t=0){return M(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeBigUInt64BE=Q((function(e,t=0){return L(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t>>>=0,!r){const r=Math.pow(2,8*n-1);I(this,e,t,n,r-1,-r)}let i=0,o=1,a=0;for(this[t]=255&e;++i>0)-a&255;return t+n},l.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t>>>=0,!r){const r=Math.pow(2,8*n-1);I(this,e,t,n,r-1,-r)}let i=n-1,o=1,a=0;for(this[t+i]=255&e;--i>=0&&(o*=256);)e<0&&0===a&&0!==this[t+i+1]&&(a=1),this[t+i]=(e/o>>0)-a&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigInt64LE=Q((function(e,t=0){return M(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeBigInt64BE=Q((function(e,t=0){return L(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeFloatLE=function(e,t,n){return j(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return j(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return F(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return F(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,r){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(i=t;i=r+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function q(e,t,n,r,i,o){if(e>n||e3?0===t||t===BigInt(0)?`>= 0${r} and < 2${r} ** ${8*(o+1)}${r}`:`>= -(2${r} ** ${8*(o+1)-1}${r}) and < 2 ** ${8*(o+1)-1}${r}`:`>= ${t}${r} and <= ${n}${r}`,new B.ERR_OUT_OF_RANGE("value",i,e)}!function(e,t,n){$(t,"offset"),void 0!==e[t]&&void 0!==e[t+n]||W(t,e.length-(n+1))}(r,i,o)}function $(e,t){if("number"!=typeof e)throw new B.ERR_INVALID_ARG_TYPE(t,"number",e)}function W(e,t,n){if(Math.floor(e)!==e)throw $(e,n),new B.ERR_OUT_OF_RANGE(n||"offset","an integer",e);if(t<0)throw new B.ERR_BUFFER_OUT_OF_BOUNDS;throw new B.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}z("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),z("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),z("ERR_OUT_OF_RANGE",(function(e,t,n){let r=`The value of "${e}" is out of range.`,i=n;return Number.isInteger(n)&&Math.abs(n)>2**32?i=U(String(n)):"bigint"==typeof n&&(i=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(i=U(i)),i+="n"),r+=` It must be ${t}. Received ${i}`,r}),RangeError);const H=/[^+/0-9A-Za-z-_]/g;function V(e,t){let n;t=t||1/0;const r=e.length;let i=null;const o=[];for(let a=0;a55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function G(e){return r.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(H,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function K(e,t,n,r){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function Y(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Z(e){return e!=e}const X=function(){const e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){const r=16*n;for(let i=0;i<16;++i)t[r+i]=e[n]+e[i]}return t}();function Q(e){return"undefined"==typeof BigInt?J:e}function J(){throw new Error("BigInt not supported")}},62680:(e,t,n)=>{"use strict";var r=n(67286),i=n(89429),o=i(r("String.prototype.indexOf"));e.exports=function(e,t){var n=r(e,!!t);return"function"==typeof n&&o(e,".prototype.")>-1?i(n):n}},89429:(e,t,n)=>{"use strict";var r=n(4090),i=n(67286),o=n(47669),a=n(5408),s=i("%Function.prototype.apply%"),l=i("%Function.prototype.call%"),u=i("%Reflect.apply%",!0)||r.call(l,s),c=n(70999),d=i("%Math.max%");e.exports=function(e){if("function"!=typeof e)throw new a("a function is required");var t=u(r,l,arguments);return o(t,1+d(0,e.length-(arguments.length-1)),!0)};var p=function(){return u(r,s,arguments)};c?c(e.exports,"apply",{value:p}):e.exports.apply=p},53404:e=>{"use strict";e.exports=function(e,t){var n,r=String(e),i=0;if("string"!=typeof t)throw new Error("Expected character");for(n=r.indexOf(t);-1!==n;)i++,n=r.indexOf(t,n+t.length);return i}},15971:(e,t,n)=>{!function(e){function t(t,n,r){var i,o=t.getWrapperElement();return(i=o.appendChild(document.createElement("div"))).className=r?"CodeMirror-dialog CodeMirror-dialog-bottom":"CodeMirror-dialog CodeMirror-dialog-top","string"==typeof n?i.innerHTML=n:i.appendChild(n),e.addClass(o,"dialog-opened"),i}function n(e,t){e.state.currentNotificationClose&&e.state.currentNotificationClose(),e.state.currentNotificationClose=t}e.defineExtension("openDialog",(function(r,i,o){o||(o={}),n(this,null);var a=t(this,r,o.bottom),s=!1,l=this;function u(t){if("string"==typeof t)d.value=t;else{if(s)return;s=!0,e.rmClass(a.parentNode,"dialog-opened"),a.parentNode.removeChild(a),l.focus(),o.onClose&&o.onClose(a)}}var c,d=a.getElementsByTagName("input")[0];return d?(d.focus(),o.value&&(d.value=o.value,!1!==o.selectValueOnOpen&&d.select()),o.onInput&&e.on(d,"input",(function(e){o.onInput(e,d.value,u)})),o.onKeyUp&&e.on(d,"keyup",(function(e){o.onKeyUp(e,d.value,u)})),e.on(d,"keydown",(function(t){o&&o.onKeyDown&&o.onKeyDown(t,d.value,u)||((27==t.keyCode||!1!==o.closeOnEnter&&13==t.keyCode)&&(d.blur(),e.e_stop(t),u()),13==t.keyCode&&i(d.value,t))})),!1!==o.closeOnBlur&&e.on(a,"focusout",(function(e){null!==e.relatedTarget&&u()}))):(c=a.getElementsByTagName("button")[0])&&(e.on(c,"click",(function(){u(),l.focus()})),!1!==o.closeOnBlur&&e.on(c,"blur",u),c.focus()),u})),e.defineExtension("openConfirm",(function(r,i,o){n(this,null);var a=t(this,r,o&&o.bottom),s=a.getElementsByTagName("button"),l=!1,u=this,c=1;function d(){l||(l=!0,e.rmClass(a.parentNode,"dialog-opened"),a.parentNode.removeChild(a),u.focus())}s[0].focus();for(var p=0;p{!function(e){var t=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),n=e.Pos,r={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function i(e){return e&&e.bracketRegex||/[(){}[\]]/}function o(e,t,o){var s=e.getLineHandle(t.line),l=t.ch-1,u=o&&o.afterCursor;null==u&&(u=/(^| )cm-fat-cursor($| )/.test(e.getWrapperElement().className));var c=i(o),d=!u&&l>=0&&c.test(s.text.charAt(l))&&r[s.text.charAt(l)]||c.test(s.text.charAt(l+1))&&r[s.text.charAt(++l)];if(!d)return null;var p=">"==d.charAt(1)?1:-1;if(o&&o.strict&&p>0!=(l==t.ch))return null;var f=e.getTokenTypeAt(n(t.line,l+1)),h=a(e,n(t.line,l+(p>0?1:0)),p,f,o);return null==h?null:{from:n(t.line,l),to:h&&h.pos,match:h&&h.ch==d.charAt(0),forward:p>0}}function a(e,t,o,a,s){for(var l=s&&s.maxScanLineLength||1e4,u=s&&s.maxScanLines||1e3,c=[],d=i(s),p=o>0?Math.min(t.line+u,e.lastLine()+1):Math.max(e.firstLine()-1,t.line-u),f=t.line;f!=p;f+=o){var h=e.getLine(f);if(h){var m=o>0?0:h.length-1,g=o>0?h.length:-1;if(!(h.length>l))for(f==t.line&&(m=t.ch-(o<0?1:0));m!=g;m+=o){var v=h.charAt(m);if(d.test(v)&&(void 0===a||(e.getTokenTypeAt(n(f,m+1))||"")==(a||""))){var y=r[v];if(y&&">"==y.charAt(1)==o>0)c.push(v);else{if(!c.length)return{pos:n(f,m),ch:v};c.pop()}}}}}return f-o!=(o>0?e.lastLine():e.firstLine())&&null}function s(e,r,i){for(var a=e.state.matchBrackets.maxHighlightLineLength||1e3,s=i&&i.highlightNonMatching,l=[],u=e.listSelections(),c=0;c{!function(e){"use strict";e.multiplexingMode=function(t){var n=Array.prototype.slice.call(arguments,1);function r(e,t,n,r){if("string"==typeof t){var i=e.indexOf(t,n);return r&&i>-1?i+t.length:i}var o=t.exec(n?e.slice(n):e);return o?o.index+n+(r?o[0].length:0):-1}return{startState:function(){return{outer:e.startState(t),innerActive:null,inner:null,startingInner:!1}},copyState:function(n){return{outer:e.copyState(t,n.outer),innerActive:n.innerActive,inner:n.innerActive&&e.copyState(n.innerActive.mode,n.inner),startingInner:n.startingInner}},token:function(i,o){if(o.innerActive){var a=o.innerActive;if(u=i.string,!a.close&&i.sol())return o.innerActive=o.inner=null,this.token(i,o);if((d=a.close&&!o.startingInner?r(u,a.close,i.pos,a.parseDelimiters):-1)==i.pos&&!a.parseDelimiters)return i.match(a.close),o.innerActive=o.inner=null,a.delimStyle&&a.delimStyle+" "+a.delimStyle+"-close";d>-1&&(i.string=u.slice(0,d));var s=a.mode.token(i,o.inner);return d>-1?i.string=u:i.pos>i.start&&(o.startingInner=!1),d==i.pos&&a.parseDelimiters&&(o.innerActive=o.inner=null),a.innerStyle&&(s=s?s+" "+a.innerStyle:a.innerStyle),s}for(var l=1/0,u=i.string,c=0;c{!function(e){"use strict";e.overlayMode=function(t,n,r){return{startState:function(){return{base:e.startState(t),overlay:e.startState(n),basePos:0,baseCur:null,overlayPos:0,overlayCur:null,streamSeen:null}},copyState:function(r){return{base:e.copyState(t,r.base),overlay:e.copyState(n,r.overlay),basePos:r.basePos,baseCur:null,overlayPos:r.overlayPos,overlayCur:null}},token:function(e,i){return(e!=i.streamSeen||Math.min(i.basePos,i.overlayPos){!function(e){"use strict";function t(e,t){if(!e.hasOwnProperty(t))throw new Error("Undefined state "+t+" in simple mode")}function n(e,t){if(!e)return/(?:)/;var n="";return e instanceof RegExp?(e.ignoreCase&&(n="i"),e.unicode&&(n+="u"),e=e.source):e=String(e),new RegExp((!1===t?"":"^")+"(?:"+e+")",n)}function r(e,r){(e.next||e.push)&&t(r,e.next||e.push),this.regex=n(e.regex),this.token=function(e){if(!e)return null;if(e.apply)return e;if("string"==typeof e)return e.replace(/\./g," ");for(var t=[],n=0;n2&&c.token&&"string"!=typeof c.token){for(var f=2;f-1)return e.Pass;var a=r.indent.length-1,s=t[r.state];e:for(;;){for(var l=0;l{!function(e){"use strict";var t,n,r=e.Pos;function i(e,t){for(var n=function(e){var t=e.flags;return null!=t?t:(e.ignoreCase?"i":"")+(e.global?"g":"")+(e.multiline?"m":"")}(e),r=n,i=0;ic);d++){var p=e.getLine(u++);s=null==s?p:s+"\n"+p}l*=2,t.lastIndex=n.ch;var f=t.exec(s);if(f){var h=s.slice(0,f.index).split("\n"),m=f[0].split("\n"),g=n.line+h.length-1,v=h[h.length-1].length;return{from:r(g,v),to:r(g+m.length-1,1==m.length?v+m[0].length:m[m.length-1].length),match:f}}}}function l(e,t,n){for(var r,i=0;i<=e.length;){t.lastIndex=i;var o=t.exec(e);if(!o)break;var a=o.index+o[0].length;if(a>e.length-n)break;(!r||a>r.index+r[0].length)&&(r=o),i=o.index+1}return r}function u(e,t,n){t=i(t,"g");for(var o=n.line,a=n.ch,s=e.firstLine();o>=s;o--,a=-1){var u=e.getLine(o),c=l(u,t,a<0?0:u.length-a);if(c)return{from:r(o,c.index),to:r(o,c.index+c[0].length),match:c}}}function c(e,t,n){if(!o(t))return u(e,t,n);t=i(t,"gm");for(var a,s=1,c=e.getLine(n.line).length-n.ch,d=n.line,p=e.firstLine();d>=p;){for(var f=0;f=p;f++){var h=e.getLine(d--);a=null==a?h:h+"\n"+a}s*=2;var m=l(a,t,c);if(m){var g=a.slice(0,m.index).split("\n"),v=m[0].split("\n"),y=d+g.length,b=g[g.length-1].length;return{from:r(y,b),to:r(y+v.length-1,1==v.length?b+v[0].length:v[v.length-1].length),match:m}}}}function d(e,t,n,r){if(e.length==t.length)return n;for(var i=0,o=n+Math.max(0,e.length-t.length);;){if(i==o)return i;var a=i+o>>1,s=r(e.slice(0,a)).length;if(s==n)return a;s>n?o=a:i=a+1}}function p(e,i,o,a){if(!i.length)return null;var s=a?t:n,l=s(i).split(/\r|\n\r?/);e:for(var u=o.line,c=o.ch,p=e.lastLine()+1-l.length;u<=p;u++,c=0){var f=e.getLine(u).slice(c),h=s(f);if(1==l.length){var m=h.indexOf(l[0]);if(-1==m)continue e;return o=d(f,h,m,s)+c,{from:r(u,d(f,h,m,s)+c),to:r(u,d(f,h,m+l[0].length,s)+c)}}var g=h.length-l[0].length;if(h.slice(g)==l[0]){for(var v=1;v=p;u--,c=-1){var f=e.getLine(u);c>-1&&(f=f.slice(0,c));var h=s(f);if(1==l.length){var m=h.lastIndexOf(l[0]);if(-1==m)continue e;return{from:r(u,d(f,h,m,s)),to:r(u,d(f,h,m+l[0].length,s))}}var g=l[l.length-1];if(h.slice(0,g.length)==g){var v=1;for(o=u-l.length+1;v(this.doc.getLine(n.line)||"").length&&(n.ch=0,n.line++)),0!=e.cmpPos(n,this.doc.clipPos(n))))return this.atOccurrence=!1;var i=this.matches(t,n);if(this.afterEmptyMatch=i&&0==e.cmpPos(i.from,i.to),i)return this.pos=i,this.atOccurrence=!0,this.pos.match||!0;var o=r(t?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:o,to:o},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(t,n){if(this.atOccurrence){var i=e.splitLines(t);this.doc.replaceRange(i,this.pos.from,this.pos.to,n),this.pos.to=r(this.pos.from.line+i.length-1,i[i.length-1].length+(1==i.length?this.pos.from.ch:0))}}},e.defineExtension("getSearchCursor",(function(e,t,n){return new h(this.doc,e,t,n)})),e.defineDocExtension("getSearchCursor",(function(e,t,n){return new h(this,e,t,n)})),e.defineExtension("selectMatches",(function(t,n){for(var r=[],i=this.getSearchCursor(t,this.getCursor("from"),n);i.findNext()&&!(e.cmpPos(i.to(),this.getCursor("to"))>0);)r.push({anchor:i.from(),head:i.to()});r.length&&this.setSelections(r,0)}))}(n(23326))},83280:(e,t,n)=>{!function(e){"use strict";var t=e.commands,n=e.Pos;function r(e,t){return e.line==t.line&&e.ch==t.ch}var i=[];function o(e){i.push(e),i.length>50&&i.shift()}function a(e){return i[i.length-(e?Math.min(e,1):1)]||""}var s=null;function l(e,t,n,a,l){null==l&&(l=e.getRange(t,n)),"grow"==a&&s&&s.cm==e&&r(t,s.pos)&&e.isClean(s.gen)?function(e){if(!i.length)return o(e);i[i.length-1]+=e}(l):!1!==a&&o(l),e.replaceRange("",t,n,"+delete"),s="grow"==a?{cm:e,pos:t,gen:e.changeGeneration()}:null}function u(e,t,n){return e.findPosH(t,n,"char",!0)}function c(e,t,n){return e.findPosH(t,n,"word",!0)}function d(e,t,n){return e.findPosV(t,n,"line",e.doc.sel.goalColumn)}function p(e,t,n){return e.findPosV(t,n,"page",e.doc.sel.goalColumn)}function f(e,t,r){for(var i=t.line,o=e.getLine(i),a=/\S/.test(r<0?o.slice(0,t.ch):o.slice(t.ch)),s=e.firstLine(),l=e.lastLine();;){if((i+=r)l)return e.clipPos(n(i-r,r<0?0:null));if(o=e.getLine(i),/\S/.test(o))a=!0;else if(a)return n(i,0)}}function h(e,t,r){for(var i=t.line,o=t.ch,a=e.getLine(t.line),s=!1;;){var l=a.charAt(o+(r<0?-1:0));if(l){if(s&&/[!?.]/.test(l))return n(i,o+(r>0?1:0));s||(s=/\w/.test(l)),o+=r}else{if(i==(r<0?e.firstLine():e.lastLine()))return n(i,o);if(a=e.getLine(i+r),!/\S/.test(a))return n(i,o);i+=r,o=r<0?a.length:0}}}function m(e,t,i){var o;if(e.findMatchingBracket&&(o=e.findMatchingBracket(t,{strict:!0}))&&o.match&&(o.forward?1:-1)==i)return i>0?n(o.to.line,o.to.ch+1):o.to;for(var a=!0;;a=!1){var s=e.getTokenAt(t),l=n(t.line,i<0?s.start:s.end);if(!(a&&i>0&&s.end==t.ch)&&/\w/.test(s.string))return l;var u=e.findPosH(l,i,"char");if(r(l,u))return t;t=u}}function g(e,t){var n=e.state.emacsPrefix;return n?(C(e),"-"==n?-1:Number(n)):t?null:1}function v(e){var t="string"==typeof e?function(t){t.execCommand(e)}:e;return function(e){var n=g(e);t(e);for(var r=1;r1&&"+input"==t.origin){for(var r=t.text.join("\n"),i="",o=1;o1&&i.pop(),a()),"around","paste")},t.forwardChar=b(u,1),t.backwardChar=b(u,-1),t.deleteChar=function(e){w(e,u,1,!1)},t.deleteForwardChar=function(e){_(e,!1)||w(e,u,1,!1)},t.deleteBackwardChar=function(e){_(e,!1)||w(e,u,-1,!1)},t.forwardWord=b(c,1),t.backwardWord=b(c,-1),t.killWord=function(e){w(e,c,1,"grow")},t.backwardKillWord=function(e){w(e,c,-1,"grow")},t.nextLine=b(d,1),t.previousLine=b(d,-1),t.scrollDownCommand=b(p,-1),t.scrollUpCommand=b(p,1),t.backwardParagraph=b(f,-1),t.forwardParagraph=b(f,1),t.backwardSentence=b(h,-1),t.forwardSentence=b(h,1),t.killSentence=function(e){w(e,h,1,"grow")},t.backwardKillSentence=function(e){l(e,e.getCursor(),h(e,e.getCursor(),1),"grow")},t.killSexp=function(e){w(e,m,1,"grow")},t.backwardKillSexp=function(e){w(e,m,-1,"grow")},t.forwardSexp=b(m,1),t.backwardSexp=b(m,-1),t.markSexp=function(e){var t=e.getCursor();e.setSelection(y(e,t,m,1),t)},t.transposeSexps=function(e){var t=m(e,e.getCursor(),-1),n=m(e,t,1),r=m(e,n,1),i=m(e,r,-1);e.replaceRange(e.getRange(i,r)+e.getRange(n,i)+e.getRange(t,n),t,r)},t.backwardUpList=v((function(e){for(var t=e.getCursor(),r=t.line,i=t.ch,o=[];r>=e.firstLine();){for(var a=e.getLine(r),s=null==i?a.length:i;s>0;)if(")"==(i=a.charAt(--s)))o.push("(");else if("]"==i)o.push("[");else if("}"==i)o.push("{");else if(/[\(\{\[]/.test(i)&&(!o.length||o.pop()!=i))return e.extendSelection(n(r,s));--r,i=null}})),t.justOneSpace=function(e){for(var t=e.getCursor(),r=t.ch,i=t.ch,o=e.getLine(t.line);r&&/\s/.test(o.charAt(r-1));)--r;for(;i0)return e.setCursor(t-1);O(e,"Goto line",(function(t){var n;t&&!isNaN(n=Number(t))&&n==(0|n)&&n>0&&e.setCursor(n-1)}))},t.indentRigidly=function(e){e.indentSelection(g(e,!0)||e.getOption("indentUnit"))},t.exchangePointAndMark=function(e){e.setSelection(e.getCursor("head"),e.getCursor("anchor"))},t.quotedInsertTab=v("insertTab"),t.universalArgument=function(e){e.state.emacsPrefixMap=!0,e.addKeyMap(R),e.on("keyHandled",A),e.on("inputRead",A)},e.emacs={kill:l,killRegion:_,repeated:v};var D=e.keyMap.emacs=e.normalizeKeyMap({"Ctrl-W":"killRegion","Ctrl-K":"killLineEmacs","Alt-W":"killRingSave","Ctrl-Y":"yank","Alt-Y":"yankPop","Ctrl-Space":"setMark","Ctrl-Shift-2":"setMark","Ctrl-F":"forwardChar","Ctrl-B":"backwardChar",Right:"forwardChar",Left:"backwardChar","Ctrl-D":"deleteChar",Delete:"deleteForwardChar","Ctrl-H":"deleteBackwardChar",Backspace:"deleteBackwardChar","Alt-F":"forwardWord","Alt-B":"backwardWord","Alt-Right":"forwardWord","Alt-Left":"backwardWord","Alt-D":"killWord","Alt-Backspace":"backwardKillWord","Ctrl-N":"nextLine","Ctrl-P":"previousLine",Down:"nextLine",Up:"previousLine","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd",End:"goLineEnd",Home:"goLineStart","Alt-V":"scrollDownCommand","Ctrl-V":"scrollUpCommand",PageUp:"scrollDownCommand",PageDown:"scrollUpCommand","Ctrl-Up":"backwardParagraph","Ctrl-Down":"forwardParagraph","Alt-{":"backwardParagraph","Alt-}":"forwardParagraph","Alt-A":"backwardSentence","Alt-E":"forwardSentence","Alt-K":"killSentence","Ctrl-X Delete":"backwardKillSentence","Ctrl-Alt-K":"killSexp","Ctrl-Alt-Backspace":"backwardKillSexp","Ctrl-Alt-F":"forwardSexp","Ctrl-Alt-B":"backwardSexp","Shift-Ctrl-Alt-2":"markSexp","Ctrl-Alt-T":"transposeSexps","Ctrl-Alt-U":"backwardUpList","Alt-Space":"justOneSpace","Ctrl-O":"openLine","Ctrl-T":"transposeCharsRepeatable","Alt-C":"capitalizeWord","Alt-U":"upcaseWord","Alt-L":"downcaseWord","Alt-;":"toggleComment","Ctrl-/":"undoRepeatable","Shift-Ctrl--":"undoRepeatable","Ctrl-Z":"undoRepeatable","Cmd-Z":"undoRepeatable","Ctrl-X U":"undoRepeatable","Shift-Ctrl-Z":"redo","Shift-Alt-,":"goDocStart","Shift-Alt-.":"goDocEnd","Ctrl-S":"findPersistentNext","Ctrl-R":"findPersistentPrev","Ctrl-G":"keyboardQuit","Shift-Alt-5":"replace","Alt-/":"autocomplete",Enter:"newlineAndIndent","Ctrl-J":"newline",Tab:"indentAuto","Alt-G G":"gotoLine","Ctrl-X Tab":"indentRigidly","Ctrl-X Ctrl-X":"exchangePointAndMark","Ctrl-X Ctrl-S":"save","Ctrl-X Ctrl-W":"save","Ctrl-X S":"saveAll","Ctrl-X F":"open","Ctrl-X K":"close","Ctrl-X H":"selectAll","Ctrl-Q Tab":"quotedInsertTab","Ctrl-U":"universalArgument",fallthrough:"default"}),R={"Ctrl-G":C};function I(e){R[e]=function(t){x(t,e)},D["Ctrl-"+e]=function(t){x(t,e)},k["Ctrl-"+e]=!0}for(var M=0;M<10;++M)I(String(M));I("-")}(n(23326))},94521:(e,t,n)=>{!function(e){"use strict";var t=e.commands,n=e.Pos;function r(t,r){t.extendSelectionsBy((function(i){return t.display.shift||t.doc.extend||i.empty()?function(t,r,i){if(i<0&&0==r.ch)return t.clipPos(n(r.line-1));var o=t.getLine(r.line);if(i>0&&r.ch>=o.length)return t.clipPos(n(r.line+1,0));for(var a,s="start",l=r.ch,u=l,c=i<0?0:o.length,d=0;u!=c;u+=i,d++){var p=o.charAt(i<0?u-1:u),f="_"!=p&&e.isWordChar(p)?"w":"o";if("w"==f&&p.toUpperCase()==p&&(f="W"),"start"==s)"o"!=f?(s="in",a=f):l=u+i;else if("in"==s&&a!=f){if("w"==a&&"W"==f&&i<0&&u--,"W"==a&&"w"==f&&i>0){if(u==l+1){a="w";continue}u--}break}}return n(r.line,u)}(t.doc,i.head,r):r<0?i.from():i.to()}))}function i(t,r){if(t.isReadOnly())return e.Pass;t.operation((function(){for(var e=t.listSelections().length,i=[],o=-1,a=0;a=n&&e.execCommand("goLineUp")}e.scrollTo(null,t.top-e.defaultTextHeight())},t.scrollLineDown=function(e){var t=e.getScrollInfo();if(!e.somethingSelected()){var n=e.lineAtHeight(t.top,"local")+1;e.getCursor().line<=n&&e.execCommand("goLineDown")}e.scrollTo(null,t.top+e.defaultTextHeight())},t.splitSelectionByLine=function(e){for(var t=e.listSelections(),r=[],i=0;io.line&&s==a.line&&0==a.ch||r.push({anchor:s==o.line?o:n(s,0),head:s==a.line?a:n(s)});e.setSelections(r,0)},t.singleSelectionTop=function(e){var t=e.listSelections()[0];e.setSelection(t.anchor,t.head,{scroll:!1})},t.selectLine=function(e){for(var t=e.listSelections(),r=[],i=0;i=0;s--){var u=r[i[s]];if(!(l&&e.cmpPos(u.head,l)>0)){var c=o(t,u.head);l=c.from,t.replaceRange(n(c.word),c.from,c.to)}}}))}function p(t){var n=t.getCursor("from"),r=t.getCursor("to");if(0==e.cmpPos(n,r)){var i=o(t,n);if(!i.word)return;n=i.from,r=i.to}return{from:n,to:r,query:t.getRange(n,r),word:i}}function f(e,t){var r=p(e);if(r){var i=r.query,o=e.getSearchCursor(i,t?r.to:r.from);(t?o.findNext():o.findPrevious())?e.setSelection(o.from(),o.to()):(o=e.getSearchCursor(i,t?n(e.firstLine(),0):e.clipPos(n(e.lastLine()))),(t?o.findNext():o.findPrevious())?e.setSelection(o.from(),o.to()):r.word&&e.setSelection(r.from,r.to))}}t.selectScope=function(e){l(e)||e.execCommand("selectAll")},t.selectBetweenBrackets=function(t){if(!l(t))return e.Pass},t.goToBracket=function(t){t.extendSelectionsBy((function(r){var i=t.scanForBracket(r.head,1,u(t.getTokenTypeAt(r.head)));if(i&&0!=e.cmpPos(i.pos,r.head))return i.pos;var o=t.scanForBracket(r.head,-1,u(t.getTokenTypeAt(n(r.head.line,r.head.ch+1))));return o&&n(o.pos.line,o.pos.ch+1)||r.head}))},t.swapLineUp=function(t){if(t.isReadOnly())return e.Pass;for(var r=t.listSelections(),i=[],o=t.firstLine()-1,a=[],s=0;so?i.push(u,c):i.length&&(i[i.length-1]=c),o=c}t.operation((function(){for(var e=0;et.lastLine()?t.replaceRange("\n"+s,n(t.lastLine()),null,"+swapLine"):t.replaceRange(s+"\n",n(o,0),null,"+swapLine")}t.setSelections(a),t.scrollIntoView()}))},t.swapLineDown=function(t){if(t.isReadOnly())return e.Pass;for(var r=t.listSelections(),i=[],o=t.lastLine()+1,a=r.length-1;a>=0;a--){var s=r[a],l=s.to().line+1,u=s.from().line;0!=s.to().ch||s.empty()||l--,l=0;e-=2){var r=i[e],o=i[e+1],a=t.getLine(r);r==t.lastLine()?t.replaceRange("",n(r-1),n(r),"+swapLine"):t.replaceRange("",n(r,0),n(r+1,0),"+swapLine"),t.replaceRange(a+"\n",n(o,0),null,"+swapLine")}t.scrollIntoView()}))},t.toggleCommentIndented=function(e){e.toggleComment({indent:!0})},t.joinLines=function(e){for(var t=e.listSelections(),r=[],i=0;i=0;o--){var a=r[o].head,s=t.getRange({line:a.line,ch:0},a),l=e.countColumn(s,null,t.getOption("tabSize")),u=t.findPosH(a,-1,"char",!1);if(s&&!/\S/.test(s)&&l%i==0){var c=new n(a.line,e.findColumn(s,l-i,i));c.ch!=a.ch&&(u=c)}t.replaceRange("",u,a,"+delete")}}))},t.delLineRight=function(e){e.operation((function(){for(var t=e.listSelections(),r=t.length-1;r>=0;r--)e.replaceRange("",t[r].anchor,n(t[r].to().line),"+delete");e.scrollIntoView()}))},t.upcaseAtCursor=function(e){d(e,(function(e){return e.toUpperCase()}))},t.downcaseAtCursor=function(e){d(e,(function(e){return e.toLowerCase()}))},t.setSublimeMark=function(e){e.state.sublimeMark&&e.state.sublimeMark.clear(),e.state.sublimeMark=e.setBookmark(e.getCursor())},t.selectToSublimeMark=function(e){var t=e.state.sublimeMark&&e.state.sublimeMark.find();t&&e.setSelection(e.getCursor(),t)},t.deleteToSublimeMark=function(t){var n=t.state.sublimeMark&&t.state.sublimeMark.find();if(n){var r=t.getCursor(),i=n;if(e.cmpPos(r,i)>0){var o=i;i=r,r=o}t.state.sublimeKilled=t.getRange(r,i),t.replaceRange("",r,i)}},t.swapWithSublimeMark=function(e){var t=e.state.sublimeMark&&e.state.sublimeMark.find();t&&(e.state.sublimeMark.clear(),e.state.sublimeMark=e.setBookmark(e.getCursor()),e.setCursor(t))},t.sublimeYank=function(e){null!=e.state.sublimeKilled&&e.replaceSelection(e.state.sublimeKilled,null,"paste")},t.showInCenter=function(e){var t=e.cursorCoords(null,"local");e.scrollTo(null,(t.top+t.bottom)/2-e.getScrollInfo().clientHeight/2)},t.findUnder=function(e){f(e,!0)},t.findUnderPrevious=function(e){f(e,!1)},t.findAllUnder=function(e){var t=p(e);if(t){for(var n=e.getSearchCursor(t.query),r=[],i=-1;n.findNext();)r.push({anchor:n.from(),head:n.to()}),n.from().line<=t.from.line&&n.from().ch<=t.from.ch&&i++;e.setSelections(r,i)}};var h=e.keyMap;h.macSublime={"Cmd-Left":"goLineStartSmart","Shift-Tab":"indentLess","Shift-Ctrl-K":"deleteLine","Alt-Q":"wrapLines","Ctrl-Left":"goSubwordLeft","Ctrl-Right":"goSubwordRight","Ctrl-Alt-Up":"scrollLineUp","Ctrl-Alt-Down":"scrollLineDown","Cmd-L":"selectLine","Shift-Cmd-L":"splitSelectionByLine",Esc:"singleSelectionTop","Cmd-Enter":"insertLineAfter","Shift-Cmd-Enter":"insertLineBefore","Cmd-D":"selectNextOccurrence","Shift-Cmd-Space":"selectScope","Shift-Cmd-M":"selectBetweenBrackets","Cmd-M":"goToBracket","Cmd-Ctrl-Up":"swapLineUp","Cmd-Ctrl-Down":"swapLineDown","Cmd-/":"toggleCommentIndented","Cmd-J":"joinLines","Shift-Cmd-D":"duplicateLine",F5:"sortLines","Shift-F5":"reverseSortLines","Cmd-F5":"sortLinesInsensitive","Shift-Cmd-F5":"reverseSortLinesInsensitive",F2:"nextBookmark","Shift-F2":"prevBookmark","Cmd-F2":"toggleBookmark","Shift-Cmd-F2":"clearBookmarks","Alt-F2":"selectBookmarks",Backspace:"smartBackspace","Cmd-K Cmd-D":"skipAndSelectNextOccurrence","Cmd-K Cmd-K":"delLineRight","Cmd-K Cmd-U":"upcaseAtCursor","Cmd-K Cmd-L":"downcaseAtCursor","Cmd-K Cmd-Space":"setSublimeMark","Cmd-K Cmd-A":"selectToSublimeMark","Cmd-K Cmd-W":"deleteToSublimeMark","Cmd-K Cmd-X":"swapWithSublimeMark","Cmd-K Cmd-Y":"sublimeYank","Cmd-K Cmd-C":"showInCenter","Cmd-K Cmd-G":"clearBookmarks","Cmd-K Cmd-Backspace":"delLineLeft","Cmd-K Cmd-1":"foldAll","Cmd-K Cmd-0":"unfoldAll","Cmd-K Cmd-J":"unfoldAll","Ctrl-Shift-Up":"addCursorToPrevLine","Ctrl-Shift-Down":"addCursorToNextLine","Cmd-F3":"findUnder","Shift-Cmd-F3":"findUnderPrevious","Alt-F3":"findAllUnder","Shift-Cmd-[":"fold","Shift-Cmd-]":"unfold","Cmd-I":"findIncremental","Shift-Cmd-I":"findIncrementalReverse","Cmd-H":"replace",F3:"findNext","Shift-F3":"findPrev",fallthrough:"macDefault"},e.normalizeKeyMap(h.macSublime),h.pcSublime={"Shift-Tab":"indentLess","Shift-Ctrl-K":"deleteLine","Alt-Q":"wrapLines","Ctrl-T":"transposeChars","Alt-Left":"goSubwordLeft","Alt-Right":"goSubwordRight","Ctrl-Up":"scrollLineUp","Ctrl-Down":"scrollLineDown","Ctrl-L":"selectLine","Shift-Ctrl-L":"splitSelectionByLine",Esc:"singleSelectionTop","Ctrl-Enter":"insertLineAfter","Shift-Ctrl-Enter":"insertLineBefore","Ctrl-D":"selectNextOccurrence","Shift-Ctrl-Space":"selectScope","Shift-Ctrl-M":"selectBetweenBrackets","Ctrl-M":"goToBracket","Shift-Ctrl-Up":"swapLineUp","Shift-Ctrl-Down":"swapLineDown","Ctrl-/":"toggleCommentIndented","Ctrl-J":"joinLines","Shift-Ctrl-D":"duplicateLine",F9:"sortLines","Shift-F9":"reverseSortLines","Ctrl-F9":"sortLinesInsensitive","Shift-Ctrl-F9":"reverseSortLinesInsensitive",F2:"nextBookmark","Shift-F2":"prevBookmark","Ctrl-F2":"toggleBookmark","Shift-Ctrl-F2":"clearBookmarks","Alt-F2":"selectBookmarks",Backspace:"smartBackspace","Ctrl-K Ctrl-D":"skipAndSelectNextOccurrence","Ctrl-K Ctrl-K":"delLineRight","Ctrl-K Ctrl-U":"upcaseAtCursor","Ctrl-K Ctrl-L":"downcaseAtCursor","Ctrl-K Ctrl-Space":"setSublimeMark","Ctrl-K Ctrl-A":"selectToSublimeMark","Ctrl-K Ctrl-W":"deleteToSublimeMark","Ctrl-K Ctrl-X":"swapWithSublimeMark","Ctrl-K Ctrl-Y":"sublimeYank","Ctrl-K Ctrl-C":"showInCenter","Ctrl-K Ctrl-G":"clearBookmarks","Ctrl-K Ctrl-Backspace":"delLineLeft","Ctrl-K Ctrl-1":"foldAll","Ctrl-K Ctrl-0":"unfoldAll","Ctrl-K Ctrl-J":"unfoldAll","Ctrl-Alt-Up":"addCursorToPrevLine","Ctrl-Alt-Down":"addCursorToNextLine","Ctrl-F3":"findUnder","Shift-Ctrl-F3":"findUnderPrevious","Alt-F3":"findAllUnder","Shift-Ctrl-[":"fold","Shift-Ctrl-]":"unfold","Ctrl-I":"findIncremental","Shift-Ctrl-I":"findIncrementalReverse","Ctrl-H":"replace",F3:"findNext","Shift-F3":"findPrev",fallthrough:"pcDefault"},e.normalizeKeyMap(h.pcSublime);var m=h.default==h.macDefault;h.sublime=m?h.macSublime:h.pcSublime}(n(23326),n(19757),n(32407))},50832:(e,t,n)=>{!function(e){"use strict";function t(e){var t=e.Pos;function n(e,n){var r=e.state.vim;if(!r||r.insertMode)return n.head;var i=r.sel.head;return i?r.visualBlock&&n.head.line!=i.line?void 0:n.from()!=n.anchor||n.empty()||n.head.line!=i.line||n.head.ch==i.ch?n.head:new t(n.head.line,n.head.ch-1):n.head}var r=[{keys:"",type:"keyToKey",toKeys:"h"},{keys:"",type:"keyToKey",toKeys:"l"},{keys:"",type:"keyToKey",toKeys:"k"},{keys:"",type:"keyToKey",toKeys:"j"},{keys:"g",type:"keyToKey",toKeys:"gk"},{keys:"g",type:"keyToKey",toKeys:"gj"},{keys:"",type:"keyToKey",toKeys:"l"},{keys:"",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"",type:"keyToKey",toKeys:"x",context:"normal"},{keys:"",type:"keyToKey",toKeys:"W"},{keys:"",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"",type:"keyToKey",toKeys:"w"},{keys:"",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"",type:"keyToKey",toKeys:"j"},{keys:"",type:"keyToKey",toKeys:"k"},{keys:"",type:"keyToKey",toKeys:""},{keys:"",type:"keyToKey",toKeys:""},{keys:"",type:"keyToKey",toKeys:"",context:"insert"},{keys:"",type:"keyToKey",toKeys:"",context:"insert"},{keys:"",type:"keyToKey",toKeys:""},{keys:"",type:"keyToKey",toKeys:"",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"",type:"keyToKey",toKeys:"0"},{keys:"",type:"keyToKey",toKeys:"$"},{keys:"",type:"keyToKey",toKeys:""},{keys:"",type:"keyToKey",toKeys:""},{keys:"",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"",type:"keyToKey",toKeys:"i",context:"normal"},{keys:"",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"(",type:"motion",motion:"moveBySentence",motionArgs:{forward:!1}},{keys:")",type:"motion",motion:"moveBySentence",motionArgs:{forward:!0}},{keys:"",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"g$",type:"motion",motion:"moveToEndOfDisplayLine"},{keys:"g^",type:"motion",motion:"moveToStartOfDisplayLine"},{keys:"g0",type:"motion",motion:"moveToStartOfDisplayLine"},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:"=",type:"operator",operator:"indentAuto"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"gn",type:"motion",motion:"findAndSelectNextInclusive",motionArgs:{forward:!0}},{keys:"gN",type:"motion",motion:"findAndSelectNextInclusive",motionArgs:{forward:!1}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"",type:"operatorMotion",operator:"delete",motion:"moveToStartOfLine",context:"insert"},{keys:"",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"",type:"idle",context:"normal"},{keys:"",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"gi",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"lastEdit"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"gI",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"bol"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"gJ",type:"action",action:"joinLines",actionArgs:{keepSpaces:!0},isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r",type:"action",action:"replace",isEdit:!0},{keys:"@",type:"action",action:"replayMacro"},{keys:"q",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0},context:"normal"},{keys:"R",type:"operator",operator:"change",operatorArgs:{linewise:!0,fullLine:!0},context:"visual",exitVisualBlock:!0},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"",type:"action",action:"redo"},{keys:"m",type:"action",action:"setMark"},{keys:'"',type:"action",action:"setRegister"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a",type:"motion",motion:"textObjectManipulation"},{keys:"i",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],i=r.length,o=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"unmap"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"vglobal",shortName:"v"},{name:"global",shortName:"g"}];function a(t){t.setOption("disableInput",!0),t.setOption("showCursorWhenSelecting",!1),e.signal(t,"vim-mode-change",{mode:"normal"}),t.on("cursorActivity",nt),F(t),e.on(t.getInputField(),"paste",p(t))}function s(t,n){this==e.keyMap.vim&&(t.options.$customCursor=null,e.rmClass(t.getWrapperElement(),"cm-fat-cursor")),n&&n.attach==l||function(t){t.setOption("disableInput",!1),t.off("cursorActivity",nt),e.off(t.getInputField(),"paste",p(t)),t.state.vim=null,Ue&&clearTimeout(Ue)}(t)}function l(t,r){this==e.keyMap.vim&&(t.curOp&&(t.curOp.selectionChanged=!0),t.options.$customCursor=n,e.addClass(t.getWrapperElement(),"cm-fat-cursor")),r&&r.attach==l||a(t)}function u(t,n){if(n){if(this[t])return this[t];var r=function(e){if("'"==e.charAt(0))return e.charAt(1);var t=e.split(/-(?!$)/),n=t[t.length-1];if(1==t.length&&1==t[0].length)return!1;if(2==t.length&&"Shift"==t[0]&&1==n.length)return!1;for(var r=!1,i=0;i")}(t);if(!r)return!1;var i=z.findKey(n,r);return"function"==typeof i&&e.signal(n,"vim-keypress",r),i}}e.defineOption("vimMode",!1,(function(t,n,r){n&&"vim"!=t.getOption("keyMap")?t.setOption("keyMap","vim"):!n&&r!=e.Init&&/^vim/.test(t.getOption("keyMap"))&&t.setOption("keyMap","default")}));var c={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A",CapsLock:""},d={Enter:"CR",Backspace:"BS",Delete:"Del",Insert:"Ins"};function p(e){var t=e.state.vim;return t.onPasteFn||(t.onPasteFn=function(){t.insertMode||(e.setCursor(J(e.getCursor(),0,1)),Z.enterInsertMode(e,{},t))}),t.onPasteFn}var f=/[\d]/,h=[e.isWordChar,function(t){return t&&!e.isWordChar(t)&&!/\s/.test(t)}],m=[function(e){return/\S/.test(e)}];function g(e,t){for(var n=[],r=e;r"]),x=[].concat(y,b,w,["-",'"',".",":","_","/"]);try{v=new RegExp("^[\\p{Lu}]$","u")}catch(e){v=/^[A-Z]$/}function k(e,t){return t>=e.firstLine()&&t<=e.lastLine()}function E(e){return/^[a-z]$/.test(e)}function C(e){return v.test(e)}function S(e){return/^\s*$/.test(e)}function A(e){return-1!=".?!".indexOf(e)}function T(e,t){for(var n=0;nn?t=n:t0?1:-1,c=o.getCursor();do{if((s=i[(e+(t+=u))%e])&&(l=s.find())&&!re(c,l))break}while(tr)}return s}return{cachedCursor:void 0,add:function(o,a,s){var l=i[t%e];function u(n){var r=++t%e,a=i[r];a&&a.clear(),i[r]=o.setBookmark(n)}if(l){var c=l.find();c&&!re(c,a)&&u(a)}else u(a);u(s),n=t,(r=t-e+1)<0&&(r=0)},find:function(e,n){var r=t,i=o(e,n);return t=r,i&&i.find()},move:o}},N=function(e){return e?{changes:e.changes,expectCursorActivityForChange:e.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};function j(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=N()}function F(e){return e.state.vim||(e.state.vim={inputState:new U,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),e.state.vim}function B(){for(var e in I={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:L(),macroModeState:new j,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new W({}),searchHistoryController:new H,exCommandHistoryController:new H},O){var t=O[e];t.value=t.defaultValue}}j.prototype={exitMacroRecordMode:function(){var e=I.macroModeState;e.onRecordingDone&&e.onRecordingDone(),e.onRecordingDone=void 0,e.isRecording=!1},enterMacroRecordMode:function(e,t){var n=I.registerController.getRegister(t);if(n){if(n.clear(),this.latestRegister=t,e.openDialog){var r=je("span",{class:"cm-vim-message"},"recording @"+t);this.onRecordingDone=e.openDialog(r,null,{bottom:!0})}this.isRecording=!0}}};var z={enterVimMode:a,buildKeyMap:function(){},getRegisterController:function(){return I.registerController},resetVimGlobalState_:B,getVimGlobalState_:function(){return I},maybeInitVimState_:F,suppressErrorLogging:!1,InsertModeKey:it,map:function(e,t,n){Xe.map(e,t,n)},unmap:function(e,t){return Xe.unmap(e,t)},noremap:function(e,t,n){function o(e){return e?[e]:["normal","insert","visual"]}for(var a=o(n),s=r.length,l=s-i;l=0;a--){var s=o[a];if(e!==s.context)if(s.context)this._mapCommand(s);else{var l=["normal","insert","visual"];for(var u in l)if(l[u]!==e){var c={};for(var d in s)c[d]=s[d];c.context=l[u],this._mapCommand(c)}}}},setOption:D,getOption:R,defineOption:P,defineEx:function(e,t,n){if(t){if(0!==e.indexOf(t))throw new Error('(Vim.defineEx) "'+t+'" is not a prefix of "'+e+'", command not registered')}else t=e;Ze[e]=n,Xe.commandMap_[t]={name:e,shortName:t,type:"api"}},handleKey:function(e,t,n){var r=this.findKey(e,t,n);if("function"==typeof r)return r()},multiSelectHandleKey:function(e,t,n){var r=!1,i=z.maybeInitVimState_(e),o=i.visualBlock||i.wasInVisualBlock,a=e.isInMultiSelectMode();if(i.wasInVisualBlock&&!a?i.wasInVisualBlock=!1:a&&i.visualBlock&&(i.wasInVisualBlock=!0),""!=t||i.insertMode||i.visualMode||!a||""!=i.status)if(o||!a||e.inVirtualSelectionMode)r=z.handleKey(e,t,n);else{var s=lt(i);e.operation((function(){e.curOp.isVimOp=!0,e.forEachSelection((function(){var i=e.getCursor("head"),o=e.getCursor("anchor"),a=ie(i,o)?0:-1,l=ie(i,o)?-1:0;i=J(i,0,a),o=J(o,0,l),e.state.vim.sel.head=i,e.state.vim.sel.anchor=o,r=z.handleKey(e,t,n),e.virtualSelection&&(e.state.vim=lt(s))})),e.curOp.cursorActivity&&!r&&(e.curOp.cursorActivity=!1),e.state.vim=i}),!0)}else q(e);return!r||i.visualMode||i.insert||i.visualMode==e.somethingSelected()||rt(e,i),r},findKey:function(e,t,n){var i,o=F(e);function a(){var r=I.macroModeState;if(r.isRecording){if("q"==t)return r.exitMacroRecordMode(),q(e),!0;"mapping"!=n&&function(e,t){if(!e.isPlaying){var n=e.latestRegister,r=I.registerController.getRegister(n);r&&r.pushText(t)}}(r,t)}}function s(){if(""==t){if(o.visualMode)ge(e);else{if(!o.insertMode)return;Qe(e)}return q(e),!0}}return!1===(i=o.insertMode?function(){if(s())return!0;for(var n=o.inputState.keyBuffer=o.inputState.keyBuffer+t,i=1==t.length,a=V.matchCommand(n,r,o.inputState,"insert");n.length>1&&"full"!=a.type;){n=o.inputState.keyBuffer=n.slice(1);var l=V.matchCommand(n,r,o.inputState,"insert");"none"!=l.type&&(a=l)}if("none"==a.type)return q(e),!1;if("partial"==a.type)return M&&window.clearTimeout(M),M=window.setTimeout((function(){o.insertMode&&o.inputState.keyBuffer&&q(e)}),R("insertModeEscKeysTimeout")),!i;if(M&&window.clearTimeout(M),i){for(var u=e.listSelections(),c=0;c|<\w+>|./.exec(n),t=r[0],n=n.substring(r.index+t.length),z.handleKey(e,t,"mapping")}(i.toKeys):V.processCommand(e,o,i)}catch(t){throw e.state.vim=void 0,F(e),z.suppressErrorLogging||console.log(t),t}return!0}))}},handleEx:function(e,t){Xe.processCommand(e,t)},defineMotion:function(e,t){G[e]=t},defineAction:function(e,t){Z[e]=t},defineOperator:function(e,t){Y[e]=t},mapCommand:function(e,t,n,r,i){var o={keys:e,type:t};for(var a in o[t]=n,o[t+"Args"]=r,i)o[a]=i[a];Je(o)},_mapCommand:Je,defineRegister:function(e,t){var n=I.registerController.registers;if(!e||1!=e.length)throw Error("Register name must be 1 character");if(n[e])throw Error("Register already defined "+e);n[e]=t,x.push(e)},exitVisualMode:ge,exitInsertMode:Qe};function U(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function q(t,n){t.state.vim.inputState=new U,e.signal(t,"vim-command-done",n)}function $(e,t,n){this.clear(),this.keyBuffer=[e||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!t,this.blockwise=!!n}function W(e){this.registers=e,this.unnamedRegister=e['"']=new $,e["."]=new $,e[":"]=new $,e["/"]=new $}function H(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}U.prototype.pushRepeatDigit=function(e){this.operator?this.motionRepeat=this.motionRepeat.concat(e):this.prefixRepeat=this.prefixRepeat.concat(e)},U.prototype.getRepeat=function(){var e=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(e=1,this.prefixRepeat.length>0&&(e*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(e*=parseInt(this.motionRepeat.join(""),10))),e},$.prototype={setText:function(e,t,n){this.keyBuffer=[e||""],this.linewise=!!t,this.blockwise=!!n},pushText:function(e,t){t&&(this.linewise||this.keyBuffer.push("\n"),this.linewise=!0),this.keyBuffer.push(e)},pushInsertModeChanges:function(e){this.insertModeChanges.push(N(e))},pushSearchQuery:function(e){this.searchQueries.push(e)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},W.prototype={pushText:function(e,t,n,r,i){if("_"!==e){r&&"\n"!==n.charAt(n.length-1)&&(n+="\n");var o=this.isValidRegister(e)?this.getRegister(e):null;if(o)C(e)?o.pushText(n,r):o.setText(n,r,i),this.unnamedRegister.setText(o.toString(),r);else{switch(t){case"yank":this.registers[0]=new $(n,r,i);break;case"delete":case"change":-1==n.indexOf("\n")?this.registers["-"]=new $(n,r):(this.shiftNumericRegisters_(),this.registers[1]=new $(n,r))}this.unnamedRegister.setText(n,r,i)}}},getRegister:function(e){return this.isValidRegister(e)?(e=e.toLowerCase(),this.registers[e]||(this.registers[e]=new $),this.registers[e]):this.unnamedRegister},isValidRegister:function(e){return e&&T(e,x)},shiftNumericRegisters_:function(){for(var e=9;e>=2;e--)this.registers[e]=this.getRegister(""+(e-1))}},H.prototype={nextMatch:function(e,t){var n=this.historyBuffer,r=t?-1:1;null===this.initialPrefix&&(this.initialPrefix=e);for(var i=this.iterator+r;t?i>=0:i=n.length?(this.iterator=n.length,this.initialPrefix):i<0?e:void 0},pushInput:function(e){var t=this.historyBuffer.indexOf(e);t>-1&&this.historyBuffer.splice(t,1),e.length&&this.historyBuffer.push(e)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var V={matchCommand:function(e,t,n,r){var i,o=function(e,t,n,r){for(var i,o=[],a=[],s=0;s"==i.keys.slice(-11)){var l=function(e){var t=/^.*(<[^>]+>)$/.exec(e),n=t?t[1]:e.slice(-1);if(n.length>1)switch(n){case"":n="\n";break;case"":n=" ";break;default:n=""}return n}(e);if(!l||l.length>1)return{type:"clear"};n.selectedCharacter=l}return{type:"full",command:i}},processCommand:function(e,t,n){switch(t.inputState.repeatOverride=n.repeatOverride,n.type){case"motion":this.processMotion(e,t,n);break;case"operator":this.processOperator(e,t,n);break;case"operatorMotion":this.processOperatorMotion(e,t,n);break;case"action":this.processAction(e,t,n);break;case"search":this.processSearch(e,t,n);break;case"ex":case"keyToEx":this.processEx(e,t,n)}},processMotion:function(e,t,n){t.inputState.motion=n.motion,t.inputState.motionArgs=Q(n.motionArgs),this.evalInput(e,t)},processOperator:function(e,t,n){var r=t.inputState;if(r.operator){if(r.operator==n.operator)return r.motion="expandToLine",r.motionArgs={linewise:!0},void this.evalInput(e,t);q(e)}r.operator=n.operator,r.operatorArgs=Q(n.operatorArgs),n.keys.length>1&&(r.operatorShortcut=n.keys),n.exitVisualBlock&&(t.visualBlock=!1,he(e)),t.visualMode&&this.evalInput(e,t)},processOperatorMotion:function(e,t,n){var r=t.visualMode,i=Q(n.operatorMotionArgs);i&&r&&i.visualLine&&(t.visualLine=!0),this.processOperator(e,t,n),r||this.processMotion(e,t,n)},processAction:function(e,t,n){var r=t.inputState,i=r.getRepeat(),o=!!i,a=Q(n.actionArgs)||{};r.selectedCharacter&&(a.selectedCharacter=r.selectedCharacter),n.operator&&this.processOperator(e,t,n),n.motion&&this.processMotion(e,t,n),(n.motion||n.operator)&&this.evalInput(e,t),a.repeat=i||1,a.repeatIsExplicit=o,a.registerName=r.registerName,q(e),t.lastMotion=null,n.isEdit&&this.recordLastEdit(t,r,n),Z[n.action](e,a,t)},processSearch:function(t,n,r){if(t.getSearchCursor){var i=r.searchArgs.forward,o=r.searchArgs.wholeWordOnly;De(t).setReversed(!i);var a=i?"/":"?",s=De(t).getQuery(),l=t.getScrollInfo();switch(r.searchArgs.querySrc){case"prompt":var u=I.macroModeState;u.isPlaying?f(p=u.replaySearchQueries.shift(),!0,!1):Be(t,{onClose:function(e){t.scrollTo(l.left,l.top),f(e,!0,!0);var n=I.macroModeState;n.isRecording&&function(e,t){if(!e.isPlaying){var n=e.latestRegister,r=I.registerController.getRegister(n);r&&r.pushSearchQuery&&r.pushSearchQuery(t)}}(n,e)},prefix:a,desc:"(JavaScript regexp)",onKeyUp:function(n,r,o){var a,s,u,c=e.keyName(n);"Up"==c||"Down"==c?(a="Up"==c,s=n.target?n.target.selectionEnd:0,o(r=I.searchHistoryController.nextMatch(r,a)||""),s&&n.target&&(n.target.selectionEnd=n.target.selectionStart=Math.min(s,n.target.value.length))):"Left"!=c&&"Right"!=c&&"Ctrl"!=c&&"Alt"!=c&&"Shift"!=c&&I.searchHistoryController.reset();try{u=ze(t,r,!0,!0)}catch(n){}u?t.scrollIntoView($e(t,!i,u),30):(We(t),t.scrollTo(l.left,l.top))},onKeyDown:function(n,r,i){var o=e.keyName(n);"Esc"==o||"Ctrl-C"==o||"Ctrl-["==o||"Backspace"==o&&""==r?(I.searchHistoryController.pushInput(r),I.searchHistoryController.reset(),ze(t,s),We(t),t.scrollTo(l.left,l.top),e.e_stop(n),q(t),i(),t.focus()):"Up"==o||"Down"==o?e.e_stop(n):"Ctrl-U"==o&&(e.e_stop(n),i(""))}});break;case"wordUnderCursor":var c=ye(t,!1,0,!1,!0),d=!0;if(c||(c=ye(t,!1,0,!1,!1),d=!1),!c)return;var p=t.getLine(c.start.line).substring(c.start.ch,c.end.ch);p=d&&o?"\\b"+p+"\\b":p.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1"),I.jumpList.cachedCursor=t.getCursor(),t.setCursor(c.start),f(p,!0,!1)}}function f(e,i,o){I.searchHistoryController.pushInput(e),I.searchHistoryController.reset();try{ze(t,e,i,o)}catch(n){return Fe(t,"Invalid regex: "+e),void q(t)}V.processMotion(t,n,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:r.searchArgs.toJumplist}})}},processEx:function(t,n,r){function i(e){I.exCommandHistoryController.pushInput(e),I.exCommandHistoryController.reset(),Xe.processCommand(t,e),q(t)}function o(n,r,i){var o,a,s=e.keyName(n);("Esc"==s||"Ctrl-C"==s||"Ctrl-["==s||"Backspace"==s&&""==r)&&(I.exCommandHistoryController.pushInput(r),I.exCommandHistoryController.reset(),e.e_stop(n),q(t),i(),t.focus()),"Up"==s||"Down"==s?(e.e_stop(n),o="Up"==s,a=n.target?n.target.selectionEnd:0,i(r=I.exCommandHistoryController.nextMatch(r,o)||""),a&&n.target&&(n.target.selectionEnd=n.target.selectionStart=Math.min(a,n.target.value.length))):"Ctrl-U"==s?(e.e_stop(n),i("")):"Left"!=s&&"Right"!=s&&"Ctrl"!=s&&"Alt"!=s&&"Shift"!=s&&I.exCommandHistoryController.reset()}"keyToEx"==r.type?Xe.processCommand(t,r.exArgs.input):n.visualMode?Be(t,{onClose:i,prefix:":",value:"'<,'>",onKeyDown:o,selectValueOnOpen:!1}):Be(t,{onClose:i,prefix:":",onKeyDown:o})},evalInput:function(e,n){var r,i,o,a=n.inputState,s=a.motion,l=a.motionArgs||{},u=a.operator,c=a.operatorArgs||{},d=a.registerName,p=n.sel,f=ne(n.visualMode?X(e,p.head):e.getCursor("head")),h=ne(n.visualMode?X(e,p.anchor):e.getCursor("anchor")),m=ne(f),g=ne(h);if(u&&this.recordLastEdit(n,a),(o=void 0!==a.repeatOverride?a.repeatOverride:a.getRepeat())>0&&l.explicitRepeat?l.repeatIsExplicit=!0:(l.noRepeat||!l.explicitRepeat&&0===o)&&(o=1,l.repeatIsExplicit=!1),a.selectedCharacter&&(l.selectedCharacter=c.selectedCharacter=a.selectedCharacter),l.repeat=o,q(e),s){var v=G[s](e,f,l,n,a);if(n.lastMotion=G[s],!v)return;if(l.toJumplist){var y=I.jumpList,b=y.cachedCursor;b?(be(e,b,v),delete y.cachedCursor):be(e,f,v)}v instanceof Array?(i=v[0],r=v[1]):r=v,r||(r=ne(f)),n.visualMode?(n.visualBlock&&r.ch===1/0||(r=X(e,r)),i&&(i=X(e,i)),i=i||g,p.anchor=i,p.head=r,he(e),Se(e,n,"<",ie(i,r)?i:r),Se(e,n,">",ie(i,r)?r:i)):u||(r=X(e,r),e.setCursor(r.line,r.ch))}if(u){if(c.lastSel){i=g;var w=c.lastSel,_=Math.abs(w.head.line-w.anchor.line),x=Math.abs(w.head.ch-w.anchor.ch);r=w.visualLine?new t(g.line+_,g.ch):w.visualBlock?new t(g.line+_,g.ch+x):w.head.line==w.anchor.line?new t(g.line,g.ch+x):new t(g.line+_,g.ch),n.visualMode=!0,n.visualLine=w.visualLine,n.visualBlock=w.visualBlock,p=n.sel={anchor:i,head:r},he(e)}else n.visualMode&&(c.lastSel={anchor:ne(p.anchor),head:ne(p.head),visualBlock:n.visualBlock,visualLine:n.visualLine});var k,E,C,A,T;if(n.visualMode){if(k=oe(p.head,p.anchor),E=ae(p.head,p.anchor),C=n.visualLine||c.linewise,T=me(e,{anchor:k,head:E},A=n.visualBlock?"block":C?"line":"char"),C){var O=T.ranges;if("block"==A)for(var P=0;P0&&o&&S(o);o=i.pop())n.line--,n.ch=0;o?(n.line--,n.ch=le(e,n.line)):n.ch=0}}(e,k,E),T=me(e,{anchor:k,head:E},A="char",!l.inclusive||C)}e.setSelections(T.ranges,T.primary),n.lastMotion=null,c.repeat=o,c.registerName=d,c.linewise=C;var R=Y[u](e,c,T.ranges,g,r);n.visualMode&&ge(e,null!=R),R&&e.setCursor(R)}},recordLastEdit:function(e,t,n){var r=I.macroModeState;r.isPlaying||(e.lastEditInputState=t,e.lastEditActionCommand=n,r.lastInsertModeChanges.changes=[],r.lastInsertModeChanges.expectCursorActivityForChange=!1,r.lastInsertModeChanges.visualBlock=e.visualBlock?e.sel.head.line-e.sel.anchor.line:0)}},G={moveToTopLine:function(e,n,r){var i=Ve(e).top+r.repeat-1;return new t(i,ve(e.getLine(i)))},moveToMiddleLine:function(e){var n=Ve(e),r=Math.floor(.5*(n.top+n.bottom));return new t(r,ve(e.getLine(r)))},moveToBottomLine:function(e,n,r){var i=Ve(e).bottom-r.repeat+1;return new t(i,ve(e.getLine(i)))},expandToLine:function(e,n,r){return new t(n.line+r.repeat-1,1/0)},findNext:function(e,t,n){var r=De(e),i=r.getQuery();if(i){var o=!n.forward;return o=r.isReversed()?!o:o,qe(e,i),$e(e,o,i,n.repeat)}},findAndSelectNextInclusive:function(n,r,i,o,a){var s=De(n),l=s.getQuery();if(l){var u=!i.forward,c=function(e,n,r,i,o){return void 0===i&&(i=1),e.operation((function(){var a=e.getCursor(),s=e.getSearchCursor(r,a),l=s.find(!n);!o.visualMode&&l&&re(s.from(),a)&&s.find(!n);for(var u=0;ul:d.linec&&o.line==c?Ee(e,n,r,i,!0):(r.toFirstChar&&(a=ve(e.getLine(l)),i.lastHPos=a),i.lastHSPos=e.charCoords(new t(l,a),"div").left,new t(l,a))},moveByDisplayLines:function(e,n,r,i){var o=n;switch(i.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:i.lastHSPos=e.charCoords(o,"div").left}var a=r.repeat;if((l=e.findPosV(o,r.forward?a:-a,"line",i.lastHSPos)).hitSide)if(r.forward)var s={top:e.charCoords(l,"div").top+8,left:i.lastHSPos},l=e.coordsChar(s,"div");else{var u=e.charCoords(new t(e.firstLine(),0),"div");u.left=i.lastHSPos,l=e.coordsChar(u,"div")}return i.lastHPos=l.ch,l},moveByPage:function(e,t,n){var r=t,i=n.repeat;return e.findPosV(r,n.forward?i:-i,"page")},moveByParagraph:function(e,t,n){var r=n.forward?1:-1;return Te(e,t,n.repeat,r)},moveBySentence:function(e,n,r){var i=r.forward?1:-1;return function(e,n,r,i){function o(e,t){if(t.pos+t.dir<0||t.pos+t.dir>=t.line.length){if(t.ln+=t.dir,!k(e,t.ln))return t.line=null,t.ln=null,void(t.pos=null);t.line=e.getLine(t.ln),t.pos=t.dir>0?0:t.line.length-1}else t.pos+=t.dir}function a(e,t,n,r){var i=""===(u=e.getLine(t)),a={line:u,ln:t,pos:n,dir:r},s={ln:a.ln,pos:a.pos},l=""===a.line;for(o(e,a);null!==a.line;){if(s.ln=a.ln,s.pos=a.pos,""===a.line&&!l)return{ln:a.ln,pos:a.pos};if(i&&""!==a.line&&!S(a.line[a.pos]))return{ln:a.ln,pos:a.pos};!A(a.line[a.pos])||i||a.pos!==a.line.length-1&&!S(a.line[a.pos+1])||(i=!0),o(e,a)}var u=e.getLine(s.ln);s.pos=0;for(var c=u.length-1;c>=0;--c)if(!S(u[c])){s.pos=c;break}return s}function s(e,t,n,r){var i={line:l=e.getLine(t),ln:t,pos:n,dir:r},a={ln:i.ln,pos:null},s=""===i.line;for(o(e,i);null!==i.line;){if(""===i.line&&!s)return null!==a.pos?a:{ln:i.ln,pos:i.pos};if(A(i.line[i.pos])&&null!==a.pos&&(i.ln!==a.ln||i.pos+1!==a.pos))return a;""===i.line||S(i.line[i.pos])||(s=!1,a={ln:i.ln,pos:i.pos}),o(e,i)}var l=e.getLine(a.ln);a.pos=0;for(var u=0;u0;)l=i<0?s(e,l.ln,l.pos,i):a(e,l.ln,l.pos,i),r--;return new t(l.ln,l.pos)}(e,n,r.repeat,i)},moveByScroll:function(e,t,n,r){var i,o=e.getScrollInfo(),a=n.repeat;a||(a=o.clientHeight/(2*e.defaultTextHeight()));var s=e.charCoords(t,"local");if(n.repeat=a,!(i=G.moveByDisplayLines(e,t,n,r)))return null;var l=e.charCoords(i,"local");return e.scrollTo(null,o.top+l.top-s.top),i},moveByWords:function(e,n,r){return function(e,n,r,i,o,a){var s=ne(n),l=[];(i&&!o||!i&&o)&&r++;for(var u=!(i&&o),c=0;c0)d.index=0;else{var m=d.lineText.length;d.index=m>0?m-1:0}d.nextCh=d.lineText.charAt(d.index)}h(d)&&(o.line=u,o.ch=d.index,n--)}return d.nextCh||d.curMoveThrough?new t(u,d.index):o}(e,r.repeat,r.forward,r.selectedCharacter)||n},moveToColumn:function(e,n,r,i){var o=r.repeat;return i.lastHPos=o-1,i.lastHSPos=e.charCoords(n,"div").left,function(e,n){var r=e.getCursor().line;return X(e,new t(r,n-1))}(e,o)},moveToEol:function(e,t,n,r){return Ee(e,t,n,r,!1)},moveToFirstNonWhiteSpaceCharacter:function(e,n){var r=n;return new t(r.line,ve(e.getLine(r.line)))},moveToMatchedSymbol:function(e,n){for(var r,i=n,o=i.line,a=i.ch,s=e.getLine(o);a"===a?/[(){}[\]<>]/:/[(){}[\]]/;return e.findMatchingBracket(new t(o,a),{bracketRegex:u}).to}return i},moveToStartOfLine:function(e,n){return new t(n.line,0)},moveToLineOrEdgeOfDocument:function(e,n,r){var i=r.forward?e.lastLine():e.firstLine();return r.repeatIsExplicit&&(i=r.repeat-e.getOption("firstLineNumber")),new t(i,ve(e.getLine(i)))},moveToStartOfDisplayLine:function(e){return e.execCommand("goLineLeft"),e.getCursor()},moveToEndOfDisplayLine:function(e){e.execCommand("goLineRight");var t=e.getCursor();return"before"==t.sticky&&t.ch--,t},textObjectManipulation:function(n,r,i,o){var a=i.selectedCharacter;"b"==a?a="(":"B"==a&&(a="{");var s,l=!i.textObjectInner;if({"(":")",")":"(","{":"}","}":"{","[":"]","]":"[","<":">",">":"<"}[a])s=function(e,n,r,i){var o,a,s=n,l={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/,"<":/[<>]/,">":/[<>]/}[r],u={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{","<":"<",">":"<"}[r],c=e.getLine(s.line).charAt(s.ch)===u?1:0;if(o=e.scanForBracket(new t(s.line,s.ch+c),-1,void 0,{bracketRegex:l}),a=e.scanForBracket(new t(s.line,s.ch+c),1,void 0,{bracketRegex:l}),!o||!a)return{start:s,end:s};if(o=o.pos,a=a.pos,o.line==a.line&&o.ch>a.ch||o.line>a.line){var d=o;o=a,a=d}return i?a.ch+=1:o.ch+=1,{start:o,end:a}}(n,r,a,l);else if({"'":!0,'"':!0,"`":!0}[a])s=function(e,n,r,i){var o,a,s,l,u=ne(n),c=e.getLine(u.line).split(""),d=c.indexOf(r);if(u.ch-1&&!o;s--)c[s]==r&&(o=s+1);else o=u.ch+1;if(o&&!a)for(s=o,l=c.length;s0&&A(c[r.ch])&&(r.ch-=1);var d=Oe(n,r,i.repeat,1,l),p=Oe(n,r,i.repeat,-1,l);S(n.getLine(p.line)[p.ch])&&S(n.getLine(d.line)[d.ch-1])&&(p={line:p.line,ch:p.ch+1}),s={start:p,end:d}}return n.state.vim.visualMode?function(e,n,r){var i,o=e.state.vim.sel,a=o.head,s=o.anchor;return ie(r,n)&&(i=r,r=n,n=i),ie(a,s)?(a=oe(n,a),s=ae(s,r)):(s=oe(n,s),-1==(a=J(a=ae(a,r),0,-1)).ch&&a.line!=e.firstLine()&&(a=new t(a.line-1,le(e,a.line-1)))),[s,a]}(n,s.start,s.end):[s.start,s.end]},repeatLastCharacterSearch:function(e,t,n){var r=I.lastCharacterSearch,i=n.repeat,o=n.forward===r.forward,a=(r.increment?1:0)*(o?-1:1);e.moveH(-a,"char"),n.inclusive=!!o;var s=Ce(e,i,o,r.selectedCharacter);return s?(s.ch+=a,s):(e.moveH(a,"char"),t)}};function K(e,t){for(var n=[],r=0;rn.lastLine()&&r.linewise&&!h?n.replaceRange("",f,u):n.replaceRange("",l,u),r.linewise&&(h||(n.setCursor(f),e.commands.newlineAndIndent(n)),l.ch=Number.MAX_VALUE),o=l}I.registerController.pushText(r.registerName,"change",a,r.linewise,i.length>1),Z.enterInsertMode(n,{head:o},n.state.vim)},delete:function(e,n,r){var i,o,a=e.state.vim;if(a.visualBlock){o=e.getSelection();var s=K("",r.length);e.replaceSelections(s),i=oe(r[0].head,r[0].anchor)}else{var l=r[0].anchor,u=r[0].head;n.linewise&&u.line!=e.firstLine()&&l.line==e.lastLine()&&l.line==u.line-1&&(l.line==e.firstLine()?l.ch=0:l=new t(l.line-1,le(e,l.line-1))),o=e.getRange(l,u),e.replaceRange("",l,u),i=l,n.linewise&&(i=G.moveToFirstNonWhiteSpaceCharacter(e,l))}return I.registerController.pushText(n.registerName,"delete",o,n.linewise,a.visualBlock),X(e,i)},indent:function(e,t,n){var r=e.state.vim;if(e.indentMore)for(var i=r.visualMode?t.repeat:1,o=0;ou.top?(l.line+=(s-u.top)/i,l.line=Math.ceil(l.line),e.setCursor(l),u=e.charCoords(l,"local"),e.scrollTo(null,u.top)):e.scrollTo(null,s);else{var c=s+e.getScrollInfo().clientHeight;c=a.anchor.line?J(a.head,0,1):new t(a.anchor.line,0)}else if("inplace"==o){if(i.visualMode)return}else"lastEdit"==o&&(s=Ke(n)||s);n.setOption("disableInput",!1),r&&r.replace?(n.toggleOverwrite(!0),n.setOption("keyMap","vim-replace"),e.signal(n,"vim-mode-change",{mode:"replace"})):(n.toggleOverwrite(!1),n.setOption("keyMap","vim-insert"),e.signal(n,"vim-mode-change",{mode:"insert"})),I.macroModeState.isPlaying||(n.on("change",tt),e.on(n.getInputField(),"keydown",ot)),i.visualMode&&ge(n),pe(n,s,l)}},toggleVisualMode:function(n,r,i){var o,a=r.repeat,s=n.getCursor();i.visualMode?i.visualLine^r.linewise||i.visualBlock^r.blockwise?(i.visualLine=!!r.linewise,i.visualBlock=!!r.blockwise,e.signal(n,"vim-mode-change",{mode:"visual",subMode:i.visualLine?"linewise":i.visualBlock?"blockwise":""}),he(n)):ge(n):(i.visualMode=!0,i.visualLine=!!r.linewise,i.visualBlock=!!r.blockwise,o=X(n,new t(s.line,s.ch+a-1)),i.sel={anchor:s,head:o},e.signal(n,"vim-mode-change",{mode:"visual",subMode:i.visualLine?"linewise":i.visualBlock?"blockwise":""}),he(n),Se(n,i,"<",oe(s,o)),Se(n,i,">",ae(s,o)))},reselectLastSelection:function(t,n,r){var i=r.lastSelection;if(r.visualMode&&fe(t,r),i){var o=i.anchorMark.find(),a=i.headMark.find();if(!o||!a)return;r.sel={anchor:o,head:a},r.visualMode=!0,r.visualLine=i.visualLine,r.visualBlock=i.visualBlock,he(t),Se(t,r,"<",oe(o,a)),Se(t,r,">",ae(o,a)),e.signal(t,"vim-mode-change",{mode:"visual",subMode:r.visualLine?"linewise":r.visualBlock?"blockwise":""})}},joinLines:function(e,n,r){var i,o;if(r.visualMode){if(i=e.getCursor("anchor"),ie(o=e.getCursor("head"),i)){var a=o;o=i,i=a}o.ch=le(e,o.line)-1}else{var s=Math.max(n.repeat,2);i=e.getCursor(),o=X(e,new t(i.line+s-1,1/0))}for(var l=0,u=i.line;u1&&(f=Array(n.repeat+1).join(f));var h,m,g=o.linewise,v=o.blockwise;if(v){f=f.split("\n"),g&&f.pop();for(var y=0;ye.lastLine()&&e.replaceRange("\n",new t(S,0)),le(e,S)c.length&&(o=c.length),a=new t(l.line,o)}if("\n"==s)i.visualMode||n.replaceRange("",l,a),(e.commands.newlineAndIndentContinueComment||e.commands.newlineAndIndent)(n);else{var d=n.getRange(l,a);if(d=d.replace(/[^\n]/g,s),i.visualBlock){var p=new Array(n.getOption("tabSize")+1).join(" ");d=(d=n.getSelection()).replace(/\t/g,p).replace(/[^\n]/g,s).split("\n"),n.replaceSelections(d)}else n.replaceRange(d,l,a);i.visualMode?(l=ie(u[0].anchor,u[0].head)?u[0].anchor:u[0].head,n.setCursor(l),ge(n,!1)):n.setCursor(J(a,0,-1))}},incrementNumberToken:function(e,n){for(var r,i,o,a,s=e.getCursor(),l=e.getLine(s.line),u=/(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi;null!==(r=u.exec(l))&&(o=(i=r.index)+r[0].length,!(s.ch"==t.slice(-11)){var n=t.length-11,r=e.slice(0,n),i=t.slice(0,n);return r==i&&e.length>n?"full":0==i.indexOf(r)&&"partial"}return e==t?"full":0==t.indexOf(e)&&"partial"}function te(e,t,n){return function(){for(var r=0;r2&&(t=oe.apply(void 0,Array.prototype.slice.call(arguments,1))),ie(e,t)?e:t}function ae(e,t){return arguments.length>2&&(t=ae.apply(void 0,Array.prototype.slice.call(arguments,1))),ie(e,t)?t:e}function se(e,t,n){var r=ie(e,t),i=ie(t,n);return r&&i}function le(e,t){return e.getLine(t).length}function ue(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function ce(e,n,r){var i=le(e,n),o=new Array(r-i+1).join(" ");e.setCursor(new t(n,i)),e.replaceRange(o,e.getCursor())}function de(e,n){var r=[],i=e.listSelections(),o=ne(e.clipPos(n)),a=!re(n,o),s=function(e,t,n){for(var r=0;rs?u:0,d=i[c].anchor,p=Math.min(d.line,o.line),f=Math.max(d.line,o.line),h=d.ch,m=o.ch,g=i[c].head.ch-h,v=m-h;g>0&&v<=0?(h++,a||m--):g<0&&v>=0?(h--,l||m++):g<0&&-1==v&&(h--,m++);for(var y=p;y<=f;y++){var b={anchor:new t(y,h),head:new t(y,m)};r.push(b)}return e.setSelections(r),n.ch=m,d.ch=h,d}function pe(e,t,n){for(var r=[],i=0;iu&&(o.line=u),o.ch=le(e,o.line)}return{ranges:[{anchor:a,head:o}],primary:0}}if("block"==r){var c=Math.min(a.line,o.line),d=a.ch,p=Math.max(a.line,o.line),f=o.ch;d=s.length)return null;i?u=m[0]:(u=h[0])(s.charAt(l))||(u=h[1]);for(var c=l,d=l;u(s.charAt(c))&&c=0;)d--;if(d++,n){for(var p=c;/\s/.test(s.charAt(c))&&c0;)d--;d||(d=f)}}return{start:new t(a.line,d),end:new t(a.line,c)}}function be(e,t,n){re(t,n)||I.jumpList.add(e,t,n)}function we(e,t){I.lastCharacterSearch.increment=e,I.lastCharacterSearch.forward=t.forward,I.lastCharacterSearch.selectedCharacter=t.selectedCharacter}var _e={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},xe={bracket:{isComplete:function(e){if(e.nextCh===e.symb){if(e.depth++,e.depth>=1)return!0}else e.nextCh===e.reverseSymb&&e.depth--;return!1}},section:{init:function(e){e.curMoveThrough=!0,e.symb=(e.forward?"]":"[")===e.symb?"{":"}"},isComplete:function(e){return 0===e.index&&e.nextCh===e.symb}},comment:{isComplete:function(e){var t="*"===e.lastCh&&"/"===e.nextCh;return e.lastCh=e.nextCh,t}},method:{init:function(e){e.symb="m"===e.symb?"{":"}",e.reverseSymb="{"===e.symb?"}":"{"},isComplete:function(e){return e.nextCh===e.symb}},preprocess:{init:function(e){e.index=0},isComplete:function(e){if("#"===e.nextCh){var t=e.lineText.match(/^#(\w+)/)[1];if("endif"===t){if(e.forward&&0===e.depth)return!0;e.depth++}else if("if"===t){if(!e.forward&&0===e.depth)return!0;e.depth--}if("else"===t&&0===e.depth)return!0}return!1}}};function ke(e,t,n,r,i){var o=t.line,a=t.ch,s=e.getLine(o),l=n?1:-1,u=r?m:h;if(i&&""==s){if(o+=l,s=e.getLine(o),!k(e,o))return null;a=n?0:s.length}for(;;){if(i&&""==s)return{from:0,to:0,line:o};for(var c=l>0?s.length:-1,d=c,p=c;a!=c;){for(var f=!1,g=0;g0?0:s.length}}function Ee(e,n,r,i,o){var a=new t(n.line+r.repeat-1,1/0),s=e.clipPos(a);return s.ch--,o||(i.lastHPos=1/0,i.lastHSPos=e.charCoords(s,"div").left),a}function Ce(e,n,r,i){for(var o,a=e.getCursor(),s=a.ch,l=0;l0;)p(c,i)&&r--,c+=i;return new t(c,0)}var f=e.state.vim;if(f.visualLine&&p(s,1,!0)){var h=f.sel.anchor;p(h.line,-1,!0)&&(o&&h.line==s||(s+=1))}var m=d(s);for(c=s;c<=u&&r;c++)p(c,1,!0)&&(o&&d(c)==m||r--);for(a=new t(c,0),c>u&&!m?m=!0:o=!1,c=s;c>l&&(o&&d(c)!=m&&c!=s||!p(c,-1,!0));c--);return{start:new t(c,0),end:a}}function Oe(e,n,r,i,o){function a(e){e.pos+e.dir<0||e.pos+e.dir>=e.line.length?e.line=null:e.pos+=e.dir}function s(e,t,n,r){var i={line:e.getLine(t),ln:t,pos:n,dir:r};if(""===i.line)return{ln:i.ln,pos:i.pos};var s=i.pos;for(a(i);null!==i.line;){if(s=i.pos,A(i.line[i.pos])){if(o){for(a(i);null!==i.line&&S(i.line[i.pos]);)s=i.pos,a(i);return{ln:i.ln,pos:s+1}}return{ln:i.ln,pos:i.pos+1}}a(i)}return{ln:i.ln,pos:s+1}}function l(e,t,n,r){var i=e.getLine(t),s={line:i,ln:t,pos:n,dir:r};if(""===s.line)return{ln:s.ln,pos:s.pos};var l=s.pos;for(a(s);null!==s.line;){if(S(s.line[s.pos])||A(s.line[s.pos])){if(A(s.line[s.pos]))return o&&S(s.line[s.pos+1])?{ln:s.ln,pos:s.pos+1}:{ln:s.ln,pos:l}}else l=s.pos;a(s)}return s.line=i,o&&S(s.line[s.pos])?{ln:s.ln,pos:s.pos}:{ln:s.ln,pos:l}}for(var u={ln:n.line,pos:n.ch};r>0;)u=i<0?l(e,u.ln,u.pos,i):s(e,u.ln,u.pos,i),r--;return new t(u.ln,u.pos)}function Pe(){}function De(e){var t=e.state.vim;return t.searchState_||(t.searchState_=new Pe)}function Re(e,t){var n=Ie(e,t)||[];if(!n.length)return[];var r=[];if(0===n[0]){for(var i=0;i=t&&e<=n:e==t}function Ve(e){var t=e.getScrollInfo(),n=e.coordsChar({left:0,top:6+t.top},"local"),r=t.clientHeight-10+t.top,i=e.coordsChar({left:0,top:r},"local");return{top:n.line,bottom:i.line}}function Ge(e,n,r){if("'"==r||"`"==r)return I.jumpList.find(e,-1)||new t(0,0);if("."==r)return Ke(e);var i=n.marks[r];return i&&i.find()}function Ke(e){for(var t=e.doc.history.done,n=t.length;n--;)if(t[n].changes)return ne(t[n].changes[0].to)}var Ye=function(){this.buildCommandMap_()};Ye.prototype={processCommand:function(e,t,n){var r=this;e.operation((function(){e.curOp.isVimOp=!0,r._processCommand(e,t,n)}))},_processCommand:function(t,n,r){var i=t.state.vim,o=I.registerController.getRegister(":"),a=o.toString();i.visualMode&&ge(t);var s=new e.StringStream(n);o.setText(n);var l,u,c=r||{};c.input=n;try{this.parseInput_(t,s,c)}catch(e){throw Fe(t,e.toString()),e}if(c.commandName){if(l=this.matchCommand_(c.commandName)){if(u=l.name,l.excludeFromCommandHistory&&o.setText(a),this.parseCommandArgs_(s,c,l),"exToKey"==l.type){for(var d=0;d@~])/);return n.commandName=r?r[1]:t.match(/.*/)[0],n},parseLineSpec_:function(e,t){var n=t.match(/^(\d+)/);if(n)return parseInt(n[1],10)-1;switch(t.next()){case".":return this.parseLineSpecOffset_(t,e.getCursor().line);case"$":return this.parseLineSpecOffset_(t,e.lastLine());case"'":var r=t.next(),i=Ge(e,e.state.vim,r);if(!i)throw new Error("Mark not set");return this.parseLineSpecOffset_(t,i.line);case"-":case"+":return t.backUp(1),this.parseLineSpecOffset_(t,e.getCursor().line);default:return void t.backUp(1)}},parseLineSpecOffset_:function(e,t){var n=e.match(/^([+-])?(\d+)/);if(n){var r=parseInt(n[2],10);"-"==n[1]?t-=r:t+=r}return t},parseCommandArgs_:function(e,t,n){if(!e.eol()){t.argString=e.match(/.*/)[0];var r=n.argDelimiter||/\s+/,i=ue(t.argString).split(r);i.length&&i[0]&&(t.args=i)}},matchCommand_:function(e){for(var t=e.length;t>0;t--){var n=e.substring(0,t);if(this.commandMap_[n]){var r=this.commandMap_[n];if(0===r.name.indexOf(e))return r}}return null},buildCommandMap_:function(){this.commandMap_={};for(var e=0;e1)return"Invalid arguments";s=(u?"decimal":c&&"hex")||d&&"octal"}n[2]&&(l=new RegExp(n[2].substr(1,n[2].length-2),o?"i":""))}}();if(u)Fe(n,u+": "+r.argString);else{var c=r.line||n.firstLine(),d=r.lineEnd||r.line||n.lastLine();if(c!=d){var p=new t(c,0),f=new t(d,le(n,d)),h=n.getRange(p,f).split("\n"),m=l||("decimal"==s?/(-?)([\d]+)/:"hex"==s?/(-?)(?:0x)?([0-9a-f]+)/i:"octal"==s?/([0-7]+)/:null),g="decimal"==s?10:"hex"==s?16:"octal"==s?8:null,v=[],y=[];if(s||l)for(var b=0;b=c)return void Fe(t,"Invalid argument: "+n.argString.substring(o));for(var d=0;d<=c-u;d++){var p=String.fromCharCode(u+d);delete r.marks[p]}}else delete r.marks[a]}else Fe(t,"Argument required")}},Xe=new Ye;function Qe(t){var n=t.state.vim,r=I.macroModeState,i=I.registerController.getRegister("."),o=r.isPlaying,a=r.lastInsertModeChanges;o||(t.off("change",tt),e.off(t.getInputField(),"keydown",ot)),!o&&n.insertModeRepeat>1&&(at(t,n,n.insertModeRepeat-1,!0),n.lastEditInputState.repeatOverride=n.insertModeRepeat),delete n.insertModeRepeat,n.insertMode=!1,t.setCursor(t.getCursor().line,t.getCursor().ch-1),t.setOption("keyMap","vim"),t.setOption("disableInput",!0),t.toggleOverwrite(!1),i.setText(a.changes.join("")),e.signal(t,"vim-mode-change",{mode:"normal"}),r.isRecording&&function(e){if(!e.isPlaying){var t=e.latestRegister,n=I.registerController.getRegister(t);n&&n.pushInsertModeChanges&&n.pushInsertModeChanges(e.lastInsertModeChanges)}}(r)}function Je(e){r.unshift(e)}function et(e,t,n,r){var i=I.registerController.getRegister(r);if(":"==r)return i.keyBuffer[0]&&Xe.processCommand(e,i.keyBuffer[0]),void(n.isPlaying=!1);var o=i.keyBuffer,a=0;n.isPlaying=!0,n.replaySearchQueries=i.searchQueries.slice(0);for(var s=0;s|<\w+>|./.exec(c))[0],c=c.substring(l.index+u.length),z.handleKey(e,u,"macro"),t.insertMode){var d=i.insertModeChanges[a++].changes;I.macroModeState.lastInsertModeChanges.changes=d,st(e,d,1),Qe(e)}n.isPlaying=!1}function tt(e,t){var n=I.macroModeState,r=n.lastInsertModeChanges;if(!n.isPlaying)for(;t;){if(r.expectCursorActivityForChange=!0,r.ignoreCount>1)r.ignoreCount--;else if("+input"==t.origin||"paste"==t.origin||void 0===t.origin){var i=e.listSelections().length;i>1&&(r.ignoreCount=i);var o=t.text.join("\n");r.maybeReset&&(r.changes=[],r.maybeReset=!1),o&&(e.state.overwrite&&!/\n/.test(o)?r.changes.push([o]):r.changes.push(o))}t=t.next}}function nt(e){var t=e.state.vim;if(t.insertMode){var n=I.macroModeState;if(n.isPlaying)return;var r=n.lastInsertModeChanges;r.expectCursorActivityForChange?r.expectCursorActivityForChange=!1:r.maybeReset=!0}else e.curOp.isVimOp||rt(e,t)}function rt(t,n){var r=t.getCursor("anchor"),i=t.getCursor("head");if(n.visualMode&&!t.somethingSelected()?ge(t,!1):n.visualMode||n.insertMode||!t.somethingSelected()||(n.visualMode=!0,n.visualLine=!1,e.signal(t,"vim-mode-change",{mode:"visual"})),n.visualMode){var o=ie(i,r)?0:-1,a=ie(i,r)?-1:0;i=J(i,0,o),r=J(r,0,a),n.sel={anchor:r,head:i},Se(t,n,"<",oe(i,r)),Se(t,n,">",ae(i,r))}else n.insertMode||(n.lastHPos=t.getCursor().ch)}function it(e){this.keyName=e}function ot(t){var n=I.macroModeState.lastInsertModeChanges,r=e.keyName(t);r&&(-1==r.indexOf("Delete")&&-1==r.indexOf("Backspace")||e.lookupKey(r,"vim-insert",(function(){return n.maybeReset&&(n.changes=[],n.maybeReset=!1),n.changes.push(new it(r)),!0})))}function at(e,t,n,r){var i=I.macroModeState;i.isPlaying=!0;var o=!!t.lastEditActionCommand,a=t.inputState;function s(){o?V.processAction(e,t,t.lastEditActionCommand):V.evalInput(e,t)}function l(n){if(i.lastInsertModeChanges.changes.length>0){n=t.lastEditActionCommand?n:1;var r=i.lastInsertModeChanges;st(e,r.changes,n)}}if(t.inputState=t.lastEditInputState,o&&t.lastEditActionCommand.interlaceInsertRepeat)for(var u=0;u2),v=/Android/.test(e),y=g||v||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),b=g||/Mac/.test(t),w=/\bCrOS\b/.test(e),_=/win/i.test(t),x=p&&e.match(/Version\/(\d*\.\d*)/);x&&(x=Number(x[1])),x&&x>=15&&(p=!1,l=!0);var k=b&&(u||p&&(null==x||x<12.11)),E=n||a&&s>=9;function C(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var S,A=function(e,t){var n=e.className,r=C(t).exec(n);if(r){var i=n.slice(r.index+r[0].length);e.className=n.slice(0,r.index)+(i?r[1]+i:"")}};function T(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function O(e,t){return T(e).appendChild(t)}function P(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),"string"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o=t)return a+(t-o);a+=s-o,a+=n-a%n,o=s+1}}g?N=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:a&&(N=function(e){try{e.select()}catch(e){}});var q=function(){this.id=null,this.f=null,this.time=0,this.handler=B(this.onTimeout,this)};function $(e,t){for(var n=0;n=t)return r+Math.min(a,t-i);if(i+=o-r,r=o+1,(i+=n-i%n)>=t)return r}}var Z=[""];function X(e){for(;Z.length<=e;)Z.push(Q(Z)+" ");return Z[e]}function Q(e){return e[e.length-1]}function J(e,t){for(var n=[],r=0;r"€"&&(e.toUpperCase()!=e.toLowerCase()||ne.test(e))}function ie(e,t){return t?!!(t.source.indexOf("\\w")>-1&&re(e))||t.test(e):re(e)}function oe(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var ae=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function se(e){return e.charCodeAt(0)>=768&&ae.test(e)}function le(e,t,n){for(;(n<0?t>0:tn?-1:1;;){if(t==n)return t;var i=(t+n)/2,o=r<0?Math.ceil(i):Math.floor(i);if(o==t)return e(o)?t:n;e(o)?n=o:t=o+r}}var ce=null;function de(e,t,n){var r;ce=null;for(var i=0;it)return i;o.to==t&&(o.from!=o.to&&"before"==n?r=i:ce=i),o.from==t&&(o.from!=o.to&&"before"!=n?r=i:ce=i)}return null!=r?r:ce}var pe=function(){var e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,t=/[stwN]/,n=/[LRr]/,r=/[Lb1n]/,i=/[1n]/;function o(e,t,n){this.level=e,this.from=t,this.to=n}return function(a,s){var l,u="ltr"==s?"L":"R";if(0==a.length||"ltr"==s&&!e.test(a))return!1;for(var c=a.length,d=[],p=0;p-1&&(r[t]=i.slice(0,o).concat(i.slice(o+1)))}}}function ye(e,t){var n=ge(e,t);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i0}function xe(e){e.prototype.on=function(e,t){me(this,e,t)},e.prototype.off=function(e,t){ve(this,e,t)}}function ke(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function Ee(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Ce(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function Se(e){ke(e),Ee(e)}function Ae(e){return e.target||e.srcElement}function Te(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),b&&e.ctrlKey&&1==t&&(t=3),t}var Oe,Pe,De=function(){if(a&&s<9)return!1;var e=P("div");return"draggable"in e||"dragDrop"in e}();function Re(e){if(null==Oe){var t=P("span","​");O(e,P("span",[t,document.createTextNode("x")])),0!=e.firstChild.offsetHeight&&(Oe=t.offsetWidth<=1&&t.offsetHeight>2&&!(a&&s<8))}var n=Oe?P("span","​"):P("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}function Ie(e){if(null!=Pe)return Pe;var t=O(e,document.createTextNode("AخA")),n=S(t,0,1).getBoundingClientRect(),r=S(t,1,2).getBoundingClientRect();return T(e),!(!n||n.left==n.right)&&(Pe=r.right-n.right<3)}var Me,Le=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,n=[],r=e.length;t<=r;){var i=e.indexOf("\n",t);-1==i&&(i=e.length);var o=e.slice(t,"\r"==e.charAt(i-1)?i-1:i),a=o.indexOf("\r");-1!=a?(n.push(o.slice(0,a)),t+=a+1):(n.push(o),t=i+1)}return n}:function(e){return e.split(/\r\n?|\n/)},Ne=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(e){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints("StartToEnd",t)},je="oncopy"in(Me=P("div"))||(Me.setAttribute("oncopy","return;"),"function"==typeof Me.oncopy),Fe=null;var Be={},ze={};function Ue(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Be[e]=t}function qe(e){if("string"==typeof e&&ze.hasOwnProperty(e))e=ze[e];else if(e&&"string"==typeof e.name&&ze.hasOwnProperty(e.name)){var t=ze[e.name];"string"==typeof t&&(t={name:t}),(e=te(t,e)).name=t.name}else{if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return qe("application/xml");if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return qe("application/json")}return"string"==typeof e?{name:e}:e||{name:"null"}}function $e(e,t){t=qe(t);var n=Be[t.name];if(!n)return $e(e,"text/plain");var r=n(e,t);if(We.hasOwnProperty(t.name)){var i=We[t.name];for(var o in i)i.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r["_"+o]=r[o]),r[o]=i[o])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var a in t.modeProps)r[a]=t.modeProps[a];return r}var We={};function He(e,t){z(t,We.hasOwnProperty(e)?We[e]:We[e]={})}function Ve(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function Ge(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function Ke(e,t,n){return!e.startState||e.startState(t,n)}var Ye=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function Ze(e,t){if((t-=e.first)<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(t=e.first&&tn?it(n,Ze(e,n).text.length):function(e,t){var n=e.ch;return null==n||n>t?it(e.line,t):n<0?it(e.line,0):e}(t,Ze(e,t.line).text.length)}function pt(e,t){for(var n=[],r=0;r=this.string.length},Ye.prototype.sol=function(){return this.pos==this.lineStart},Ye.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},Ye.prototype.next=function(){if(this.post},Ye.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},Ye.prototype.skipToEnd=function(){this.pos=this.string.length},Ye.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},Ye.prototype.backUp=function(e){this.pos-=e},Ye.prototype.column=function(){return this.lastColumnPos0?null:(r&&!1!==t&&(this.pos+=r[0].length),r)}var i=function(e){return n?e.toLowerCase():e};if(i(this.string.substr(this.pos,e.length))==i(e))return!1!==t&&(this.pos+=e.length),!0},Ye.prototype.current=function(){return this.string.slice(this.start,this.pos)},Ye.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},Ye.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},Ye.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var ft=function(e,t){this.state=e,this.lookAhead=t},ht=function(e,t,n,r){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};function mt(e,t,n,r){var i=[e.state.modeGen],o={};Et(e,t.text,e.doc.mode,n,(function(e,t){return i.push(e,t)}),o,r);for(var a=n.state,s=function(r){n.baseTokens=i;var s=e.state.overlays[r],l=1,u=0;n.state=!0,Et(e,t.text,s.mode,n,(function(e,t){for(var n=l;ue&&i.splice(l,1,e,i[l+1],r),l+=2,u=Math.min(e,r)}if(t)if(s.opaque)i.splice(n,l-n,e,"overlay "+t),l=n+2;else for(;ne.options.maxHighlightLength&&Ve(e.doc.mode,r.state),o=mt(e,t,r);i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function vt(e,t,n){var r=e.doc,i=e.display;if(!r.mode.startState)return new ht(r,!0,t);var o=function(e,t,n){for(var r,i,o=e.doc,a=n?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;s>a;--s){if(s<=o.first)return o.first;var l=Ze(o,s-1),u=l.stateAfter;if(u&&(!n||s+(u instanceof ft?u.lookAhead:0)<=o.modeFrontier))return s;var c=U(l.text,null,e.options.tabSize);(null==i||r>c)&&(i=s-1,r=c)}return i}(e,t,n),a=o>r.first&&Ze(r,o-1).stateAfter,s=a?ht.fromSaved(r,a,o):new ht(r,Ke(r.mode),o);return r.iter(o,t,(function(n){yt(e,n.text,s);var r=s.line;n.stateAfter=r==t-1||r%5==0||r>=i.viewFrom&&rt.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}ht.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},ht.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},ht.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},ht.fromSaved=function(e,t,n){return t instanceof ft?new ht(e,Ve(e.mode,t.state),n,t.lookAhead):new ht(e,Ve(e.mode,t),n)},ht.prototype.save=function(e){var t=!1!==e?Ve(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ft(t,this.maxLookAhead):t};var _t=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function xt(e,t,n,r){var i,o,a=e.doc,s=a.mode,l=Ze(a,(t=dt(a,t)).line),u=vt(e,t.line,n),c=new Ye(l.text,e.options.tabSize,u);for(r&&(o=[]);(r||c.pose.options.maxHighlightLength?(s=!1,a&&yt(e,t,r,d.pos),d.pos=t.length,l=null):l=kt(wt(n,d,r.state,p),o),p){var f=p[0].name;f&&(l="m-"+(l?f+" "+l:f))}if(!s||c!=l){for(;u=t:o.to>t);(r||(r=[])).push(new At(a,o.from,s?null:o.to))}}return r}(n,i,a),l=function(e,t,n){var r;if(e)for(var i=0;i=t:o.to>t)||o.from==t&&"bookmark"==a.type&&(!n||o.marker.insertLeft)){var s=null==o.from||(a.inclusiveLeft?o.from<=t:o.from0&&s)for(var b=0;bt)&&(!n||Nt(n,o.marker)<0)&&(n=o.marker)}return n}function Ut(e,t,n,r,i){var o=Ze(e,t),a=St&&o.markedSpans;if(a)for(var s=0;s=0&&d<=0||c<=0&&d>=0)&&(c<=0&&(l.marker.inclusiveRight&&i.inclusiveLeft?ot(u.to,n)>=0:ot(u.to,n)>0)||c>=0&&(l.marker.inclusiveRight&&i.inclusiveLeft?ot(u.from,r)<=0:ot(u.from,r)<0)))return!0}}}function qt(e){for(var t;t=Ft(e);)e=t.find(-1,!0).line;return e}function $t(e,t){var n=Ze(e,t),r=qt(n);return n==r?t:et(r)}function Wt(e,t){if(t>e.lastLine())return t;var n,r=Ze(e,t);if(!Ht(e,r))return t;for(;n=Bt(r);)r=n.find(1,!0).line;return et(r)+1}function Ht(e,t){var n=St&&t.markedSpans;if(n)for(var r=void 0,i=0;it.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)}))}var Zt=function(e,t,n){this.text=e,It(this,t),this.height=n?n(this):1};function Xt(e){e.parent=null,Rt(e)}Zt.prototype.lineNo=function(){return et(this)},xe(Zt);var Qt={},Jt={};function en(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?Jt:Qt;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function tn(e,t){var n=D("span",null,null,l?"padding-right: .1px":null),r={pre:D("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var o=i?t.rest[i-1]:t.line,a=void 0;r.pos=0,r.addToken=rn,Ie(e.display.measure)&&(a=fe(o,e.doc.direction))&&(r.addToken=on(r.addToken,a)),r.map=[],sn(o,r,gt(e,o,t!=e.display.externalMeasured&&et(o))),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=L(o.styleClasses.bgClass,r.bgClass||"")),o.styleClasses.textClass&&(r.textClass=L(o.styleClasses.textClass,r.textClass||""))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(Re(e.display.measure))),0==i?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(l){var s=r.content.lastChild;(/\bcm-tab\b/.test(s.className)||s.querySelector&&s.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return ye(e,"renderLine",e,t.line,r.pre),r.pre.className&&(r.textClass=L(r.pre.className,r.textClass||"")),r}function nn(e){var t=P("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function rn(e,t,n,r,i,o,l){if(t){var u,c=e.splitSpaces?function(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,r="",i=0;iu&&d.from<=u);p++);if(d.to>=c)return e(n,r,i,o,a,s,l);e(n,r.slice(0,d.to-u),i,o,null,s,l),o=null,r=r.slice(d.to-u),u=d.to}}}function an(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",n.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function sn(e,t,n){var r=e.markedSpans,i=e.text,o=0;if(r)for(var a,s,l,u,c,d,p,f=i.length,h=0,m=1,g="",v=0;;){if(v==h){l=u=c=s="",p=null,d=null,v=1/0;for(var y=[],b=void 0,w=0;wh||x.collapsed&&_.to==h&&_.from==h)){if(null!=_.to&&_.to!=h&&v>_.to&&(v=_.to,u=""),x.className&&(l+=" "+x.className),x.css&&(s=(s?s+";":"")+x.css),x.startStyle&&_.from==h&&(c+=" "+x.startStyle),x.endStyle&&_.to==v&&(b||(b=[])).push(x.endStyle,_.to),x.title&&((p||(p={})).title=x.title),x.attributes)for(var k in x.attributes)(p||(p={}))[k]=x.attributes[k];x.collapsed&&(!d||Nt(d.marker,x)<0)&&(d=_)}else _.from>h&&v>_.from&&(v=_.from)}if(b)for(var E=0;E=f)break;for(var S=Math.min(f,v);;){if(g){var A=h+g.length;if(!d){var T=A>S?g.slice(0,S-h):g;t.addToken(t,T,a?a+l:l,c,h+T.length==v?u:"",s,p)}if(A>=S){g=g.slice(S-h),h=S;break}h=A,c=""}g=i.slice(o,o=n[m++]),a=en(n[m++],t.cm.options)}}else for(var O=1;On)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}}function Mn(e,t,n,r){return jn(e,Nn(e,t),n,r)}function Ln(e,t){if(t>=e.display.viewFrom&&t=n.lineN&&t2&&o.push((l.bottom+u.top)/2-n.top)}}o.push(n.bottom-n.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,n,r){var i,o=zn(t.map,n,r),l=o.node,u=o.start,c=o.end,d=o.collapse;if(3==l.nodeType){for(var p=0;p<4;p++){for(;u&&se(t.line.text.charAt(o.coverStart+u));)--u;for(;o.coverStart+c1}(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,r=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*r,bottom:t.bottom*r}}(e.display.measure,i))}else{var f;u>0&&(d=r="right"),i=e.options.lineWrapping&&(f=l.getClientRects()).length>1?f["right"==r?f.length-1:0]:l.getBoundingClientRect()}if(a&&s<9&&!u&&(!i||!i.left&&!i.right)){var h=l.parentNode.getClientRects()[0];i=h?{left:h.left,right:h.left+lr(e.display),top:h.top,bottom:h.bottom}:Bn}for(var m=i.top-t.rect.top,g=i.bottom-t.rect.top,v=(m+g)/2,y=t.view.measure.heights,b=0;bt)&&(i=(o=l-s)-1,t>=l&&(a="right")),null!=i){if(r=e[u+2],s==l&&n==(r.insertLeft?"left":"right")&&(a=n),"left"==n&&0==i)for(;u&&e[u-2]==e[u-3]&&e[u-1].insertLeft;)r=e[2+(u-=3)],a="left";if("right"==n&&i==l-s)for(;u=0&&(n=e[i]).left==n.right;i--);return n}function qn(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t=r.text.length?(l=r.text.length,u="before"):l<=0&&(l=0,u="after"),!s)return a("before"==u?l-1:l,"before"==u);function c(e,t,n){return a(n?e-1:e,1==s[t].level!=n)}var d=de(s,l,u),p=ce,f=c(l,d,"before"==u);return null!=p&&(f.other=c(l,p,"before"!=u)),f}function Qn(e,t){var n=0;t=dt(e.doc,t),e.options.lineWrapping||(n=lr(e.display)*t.ch);var r=Ze(e.doc,t.line),i=Gt(r)+An(e.display);return{left:n,right:n,top:i,bottom:i+r.height}}function Jn(e,t,n,r,i){var o=it(e,t,n);return o.xRel=i,r&&(o.outside=r),o}function er(e,t,n){var r=e.doc;if((n+=e.display.viewOffset)<0)return Jn(r.first,0,null,-1,-1);var i=tt(r,n),o=r.first+r.size-1;if(i>o)return Jn(r.first+r.size-1,Ze(r,o).text.length,null,1,1);t<0&&(t=0);for(var a=Ze(r,i);;){var s=ir(e,a,i,t,n),l=zt(a,s.ch+(s.xRel>0||s.outside>0?1:0));if(!l)return s;var u=l.find(1);if(u.line==i)return u;a=Ze(r,i=u.line)}}function tr(e,t,n,r){r-=Gn(t);var i=t.text.length,o=ue((function(t){return jn(e,n,t-1).bottom<=r}),i,0);return{begin:o,end:i=ue((function(t){return jn(e,n,t).top>r}),o,i)}}function nr(e,t,n,r){return n||(n=Nn(e,t)),tr(e,t,n,Kn(e,t,jn(e,n,r),"line").top)}function rr(e,t,n,r){return!(e.bottom<=n)&&(e.top>n||(r?e.left:e.right)>t)}function ir(e,t,n,r,i){i-=Gt(t);var o=Nn(e,t),a=Gn(t),s=0,l=t.text.length,u=!0,c=fe(t,e.doc.direction);if(c){var d=(e.options.lineWrapping?ar:or)(e,t,n,o,c,r,i);s=(u=1!=d.level)?d.from:d.to-1,l=u?d.to:d.from-1}var p,f,h=null,m=null,g=ue((function(t){var n=jn(e,o,t);return n.top+=a,n.bottom+=a,!!rr(n,r,i,!1)&&(n.top<=i&&n.left<=r&&(h=t,m=n),!0)}),s,l),v=!1;if(m){var y=r-m.left=w.bottom?1:0}return Jn(n,g=le(t.text,g,1),f,v,r-p)}function or(e,t,n,r,i,o,a){var s=ue((function(s){var l=i[s],u=1!=l.level;return rr(Xn(e,it(n,u?l.to:l.from,u?"before":"after"),"line",t,r),o,a,!0)}),0,i.length-1),l=i[s];if(s>0){var u=1!=l.level,c=Xn(e,it(n,u?l.from:l.to,u?"after":"before"),"line",t,r);rr(c,o,a,!0)&&c.top>a&&(l=i[s-1])}return l}function ar(e,t,n,r,i,o,a){var s=tr(e,t,r,a),l=s.begin,u=s.end;/\s/.test(t.text.charAt(u-1))&&u--;for(var c=null,d=null,p=0;p=u||f.to<=l)){var h=jn(e,r,1!=f.level?Math.min(u,f.to)-1:Math.max(l,f.from)).right,m=hm)&&(c=f,d=m)}}return c||(c=i[i.length-1]),c.fromu&&(c={from:c.from,to:u,level:c.level}),c}function sr(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==Fn){Fn=P("pre",null,"CodeMirror-line-like");for(var t=0;t<49;++t)Fn.appendChild(document.createTextNode("x")),Fn.appendChild(P("br"));Fn.appendChild(document.createTextNode("x"))}O(e.measure,Fn);var n=Fn.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),T(e.measure),n||1}function lr(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=P("span","xxxxxxxxxx"),n=P("pre",[t],"CodeMirror-line-like");O(e.measure,n);var r=t.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function ur(e){for(var t=e.display,n={},r={},i=t.gutters.clientLeft,o=t.gutters.firstChild,a=0;o;o=o.nextSibling,++a){var s=e.display.gutterSpecs[a].className;n[s]=o.offsetLeft+o.clientLeft+i,r[s]=o.clientWidth}return{fixedPos:cr(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function cr(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function dr(e){var t=sr(e.display),n=e.options.lineWrapping,r=n&&Math.max(5,e.display.scroller.clientWidth/lr(e.display)-3);return function(i){if(Ht(e.doc,i))return 0;var o=0;if(i.widgets)for(var a=0;a0&&(l=Ze(e.doc,u.line).text).length==u.ch){var c=U(l,l.length,e.options.tabSize)-l.length;u=it(u.line,Math.max(0,Math.round((o-On(e.display).left)/lr(e.display))-c))}return u}function hr(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,r=0;rt)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)St&&$t(e.doc,t)i.viewFrom?vr(e):(i.viewFrom+=r,i.viewTo+=r);else if(t<=i.viewFrom&&n>=i.viewTo)vr(e);else if(t<=i.viewFrom){var o=yr(e,n,n+r,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=r):vr(e)}else if(n>=i.viewTo){var a=yr(e,t,t,-1);a?(i.view=i.view.slice(0,a.index),i.viewTo=a.lineN):vr(e)}else{var s=yr(e,t,t,-1),l=yr(e,n,n+r,1);s&&l?(i.view=i.view.slice(0,s.index).concat(un(e,s.lineN,l.lineN)).concat(i.view.slice(l.index)),i.viewTo+=r):vr(e)}var u=i.externalMeasured;u&&(n=i.lineN&&t=r.viewTo)){var o=r.view[hr(e,t)];if(null!=o.node){var a=o.changes||(o.changes=[]);-1==$(a,n)&&a.push(n)}}}function vr(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function yr(e,t,n,r){var i,o=hr(e,t),a=e.display.view;if(!St||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var s=e.display.viewFrom,l=0;l0){if(o==a.length-1)return null;i=s+a[o].size-t,o++}else i=s-t;t+=i,n+=i}for(;$t(e.doc,n)!=n;){if(o==(r<0?0:a.length-1))return null;n+=r*a[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:n}}function br(e){for(var t=e.display.view,n=0,r=0;r=e.display.viewTo||l.to().line0?a:e.defaultCharWidth())+"px"}if(r.other){var s=n.appendChild(P("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));s.style.display="",s.style.left=r.other.left+"px",s.style.top=r.other.top+"px",s.style.height=.85*(r.other.bottom-r.other.top)+"px"}}function kr(e,t){return e.top-t.top||e.left-t.left}function Er(e,t,n){var r=e.display,i=e.doc,o=document.createDocumentFragment(),a=On(e.display),s=a.left,l=Math.max(r.sizerWidth,Dn(e)-r.sizer.offsetLeft)-a.right,u="ltr"==i.direction;function c(e,t,n,r){t<0&&(t=0),t=Math.round(t),r=Math.round(r),o.appendChild(P("div",null,"CodeMirror-selected","position: absolute; left: "+e+"px;\n top: "+t+"px; width: "+(null==n?l-e:n)+"px;\n height: "+(r-t)+"px"))}function d(t,n,r){var o,a,d=Ze(i,t),p=d.text.length;function f(n,r){return Zn(e,it(t,n),"div",d,r)}function h(t,n,r){var i=nr(e,d,null,t),o="ltr"==n==("after"==r)?"left":"right";return f("after"==r?i.begin:i.end-(/\s/.test(d.text.charAt(i.end-1))?2:1),o)[o]}var m=fe(d,i.direction);return function(e,t,n,r){if(!e)return r(t,n,"ltr",0);for(var i=!1,o=0;ot||t==n&&a.to==t)&&(r(Math.max(a.from,t),Math.min(a.to,n),1==a.level?"rtl":"ltr",o),i=!0)}i||r(t,n,"ltr")}(m,n||0,null==r?p:r,(function(e,t,i,d){var g="ltr"==i,v=f(e,g?"left":"right"),y=f(t-1,g?"right":"left"),b=null==n&&0==e,w=null==r&&t==p,_=0==d,x=!m||d==m.length-1;if(y.top-v.top<=3){var k=(u?w:b)&&x,E=(u?b:w)&&_?s:(g?v:y).left,C=k?l:(g?y:v).right;c(E,v.top,C-E,v.bottom)}else{var S,A,T,O;g?(S=u&&b&&_?s:v.left,A=u?l:h(e,i,"before"),T=u?s:h(t,i,"after"),O=u&&w&&x?l:y.right):(S=u?h(e,i,"before"):s,A=!u&&b&&_?l:v.right,T=!u&&w&&x?s:y.left,O=u?h(t,i,"after"):l),c(S,v.top,A-S,v.bottom),v.bottom0?t.blinker=setInterval((function(){e.hasFocus()||Or(e),t.cursorDiv.style.visibility=(n=!n)?"":"hidden"}),e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function Sr(e){e.hasFocus()||(e.display.input.focus(),e.state.focused||Tr(e))}function Ar(e){e.state.delayingBlurEvent=!0,setTimeout((function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,e.state.focused&&Or(e))}),100)}function Tr(e,t){e.state.delayingBlurEvent&&!e.state.draggingText&&(e.state.delayingBlurEvent=!1),"nocursor"!=e.options.readOnly&&(e.state.focused||(ye(e,"focus",e,t),e.state.focused=!0,M(e.display.wrapper,"CodeMirror-focused"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),l&&setTimeout((function(){return e.display.input.reset(!0)}),20)),e.display.input.receivedFocus()),Cr(e))}function Or(e,t){e.state.delayingBlurEvent||(e.state.focused&&(ye(e,"blur",e,t),e.state.focused=!1,A(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout((function(){e.state.focused||(e.display.shift=!1)}),150))}function Pr(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=Math.max(0,t.scroller.getBoundingClientRect().top),i=t.lineDiv.getBoundingClientRect().top,o=0,l=0;l.005||m<-.005)&&(ie.display.sizerWidth){var v=Math.ceil(p/lr(e.display));v>e.display.maxLineLength&&(e.display.maxLineLength=v,e.display.maxLine=u.line,e.display.maxLineChanged=!0)}}}Math.abs(o)>2&&(t.scroller.scrollTop+=o)}function Dr(e){if(e.widgets)for(var t=0;t=a&&(o=tt(t,Gt(Ze(t,l))-e.wrapper.clientHeight),a=l)}return{from:o,to:Math.max(a,o+1)}}function Ir(e,t){var n=e.display,r=sr(e.display);t.top<0&&(t.top=0);var i=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:n.scroller.scrollTop,o=Rn(e),a={};t.bottom-t.top>o&&(t.bottom=t.top+o);var s=e.doc.height+Tn(n),l=t.tops-r;if(t.topi+o){var c=Math.min(t.top,(u?s:t.bottom)-o);c!=i&&(a.scrollTop=c)}var d=e.options.fixedGutter?0:n.gutters.offsetWidth,p=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft-d,f=Dn(e)-n.gutters.offsetWidth,h=t.right-t.left>f;return h&&(t.right=t.left+f),t.left<10?a.scrollLeft=0:t.leftf+p-3&&(a.scrollLeft=t.right+(h?0:10)-f),a}function Mr(e,t){null!=t&&(jr(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function Lr(e){jr(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Nr(e,t,n){null==t&&null==n||jr(e),null!=t&&(e.curOp.scrollLeft=t),null!=n&&(e.curOp.scrollTop=n)}function jr(e){var t=e.curOp.scrollToPos;t&&(e.curOp.scrollToPos=null,Fr(e,Qn(e,t.from),Qn(e,t.to),t.margin))}function Fr(e,t,n,r){var i=Ir(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-r,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+r});Nr(e,i.scrollLeft,i.scrollTop)}function Br(e,t){Math.abs(e.doc.scrollTop-t)<2||(n||fi(e,{top:t}),zr(e,t,!0),n&&fi(e),si(e,100))}function zr(e,t,n){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),(e.display.scroller.scrollTop!=t||n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Ur(e,t,n,r){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r||(e.doc.scrollLeft=t,gi(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function qr(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+Tn(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+Pn(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var $r=function(e,t,n){this.cm=n;var r=this.vert=P("div",[P("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=P("div",[P("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");r.tabIndex=i.tabIndex=-1,e(r),e(i),me(r,"scroll",(function(){r.clientHeight&&t(r.scrollTop,"vertical")})),me(i,"scroll",(function(){i.clientWidth&&t(i.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,a&&s<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};$r.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,r=e.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=t?r+"px":"0";var i=e.viewHeight-(t?r:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+"px"}else this.vert.scrollTop=0,this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=n?r+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(n?r:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==r&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:t?r:0}},$r.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},$r.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},$r.prototype.zeroWidthHack=function(){var e=b&&!h?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.visibility=this.vert.style.visibility="hidden",this.disableHoriz=new q,this.disableVert=new q},$r.prototype.enableZeroWidthBar=function(e,t,n){e.style.visibility="",t.set(1e3,(function r(){var i=e.getBoundingClientRect();("vert"==n?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1))!=e?e.style.visibility="hidden":t.set(1e3,r)}))},$r.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var Wr=function(){};function Hr(e,t){t||(t=qr(e));var n=e.display.barWidth,r=e.display.barHeight;Vr(e,t);for(var i=0;i<4&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&Pr(e),Vr(e,qr(e)),n=e.display.barWidth,r=e.display.barHeight}function Vr(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+"px",n.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=r.bottom+"px",n.scrollbarFiller.style.width=r.right+"px"):n.scrollbarFiller.style.display="",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=r.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}Wr.prototype.update=function(){return{bottom:0,right:0}},Wr.prototype.setScrollLeft=function(){},Wr.prototype.setScrollTop=function(){},Wr.prototype.clear=function(){};var Gr={native:$r,null:Wr};function Kr(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&A(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new Gr[e.options.scrollbarStyle]((function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),me(t,"mousedown",(function(){e.state.focused&&setTimeout((function(){return e.display.input.focus()}),0)})),t.setAttribute("cm-not-content","true")}),(function(t,n){"horizontal"==n?Ur(e,t):Br(e,t)}),e),e.display.scrollbars.addClass&&M(e.display.wrapper,e.display.scrollbars.addClass)}var Yr=0;function Zr(e){var t;e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Yr,markArrays:null},t=e.curOp,cn?cn.ops.push(t):t.ownsGroup=cn={ops:[t],delayedCallbacks:[]}}function Xr(e){var t=e.curOp;t&&function(e,t){var n=e.ownsGroup;if(n)try{!function(e){var t=e.delayedCallbacks,n=0;do{for(;n=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new ui(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function Jr(e){e.updatedDisplay=e.mustUpdate&&di(e.cm,e.update)}function ei(e){var t=e.cm,n=t.display;e.updatedDisplay&&Pr(t),e.barMeasure=qr(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=Mn(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+Pn(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-Dn(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function ti(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft(o.defaultView.innerHeight||o.documentElement.clientHeight)&&(i=!1),null!=i&&!m){var a=P("div","​",null,"position: absolute;\n top: "+(t.top-n.viewOffset-An(e.display))+"px;\n height: "+(t.bottom-t.top+Pn(e)+n.barHeight)+"px;\n left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(a),a.scrollIntoView(i),e.display.lineSpace.removeChild(a)}}}(t,function(e,t,n,r){var i;null==r&&(r=0),e.options.lineWrapping||t!=n||(n="before"==t.sticky?it(t.line,t.ch+1,"before"):t,t=t.ch?it(t.line,"before"==t.sticky?t.ch-1:t.ch,"after"):t);for(var o=0;o<5;o++){var a=!1,s=Xn(e,t),l=n&&n!=t?Xn(e,n):s,u=Ir(e,i={left:Math.min(s.left,l.left),top:Math.min(s.top,l.top)-r,right:Math.max(s.left,l.left),bottom:Math.max(s.bottom,l.bottom)+r}),c=e.doc.scrollTop,d=e.doc.scrollLeft;if(null!=u.scrollTop&&(Br(e,u.scrollTop),Math.abs(e.doc.scrollTop-c)>1&&(a=!0)),null!=u.scrollLeft&&(Ur(e,u.scrollLeft),Math.abs(e.doc.scrollLeft-d)>1&&(a=!0)),!a)break}return i}(t,dt(r,e.scrollToPos.from),dt(r,e.scrollToPos.to),e.scrollToPos.margin));var i=e.maybeHiddenMarkers,o=e.maybeUnhiddenMarkers;if(i)for(var a=0;a=e.display.viewTo)){var n=+new Date+e.options.workTime,r=vt(e,t.highlightFrontier),i=[];t.iter(r.line,Math.min(t.first+t.size,e.display.viewTo+500),(function(o){if(r.line>=e.display.viewFrom){var a=o.styles,s=o.text.length>e.options.maxHighlightLength?Ve(t.mode,r.state):null,l=mt(e,o,r,!0);s&&(r.state=s),o.styles=l.styles;var u=o.styleClasses,c=l.classes;c?o.styleClasses=c:u&&(o.styleClasses=null);for(var d=!a||a.length!=o.styles.length||u!=c&&(!u||!c||u.bgClass!=c.bgClass||u.textClass!=c.textClass),p=0;!d&&pn)return si(e,e.options.workDelay),!0})),t.highlightFrontier=r.line,t.modeFrontier=Math.max(t.modeFrontier,r.line),i.length&&ri(e,(function(){for(var t=0;t=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==br(e))return!1;vi(e)&&(vr(e),t.dims=ur(e));var i=r.first+r.size,o=Math.max(t.visible.from-e.options.viewportMargin,r.first),a=Math.min(i,t.visible.to+e.options.viewportMargin);n.viewFroma&&n.viewTo-a<20&&(a=Math.min(i,n.viewTo)),St&&(o=$t(e.doc,o),a=Wt(e.doc,a));var s=o!=n.viewFrom||a!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;(function(e,t,n){var r=e.display;0==r.view.length||t>=r.viewTo||n<=r.viewFrom?(r.view=un(e,t,n),r.viewFrom=t):(r.viewFrom>t?r.view=un(e,t,r.viewFrom).concat(r.view):r.viewFromn&&(r.view=r.view.slice(0,hr(e,n)))),r.viewTo=n})(e,o,a),n.viewOffset=Gt(Ze(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px";var u=br(e);if(!s&&0==u&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var c=ci(e);return u>4&&(n.lineDiv.style.display="none"),function(e,t,n){var r=e.display,i=e.options.lineNumbers,o=r.lineDiv,a=o.firstChild;function s(t){var n=t.nextSibling;return l&&b&&e.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t),n}for(var u=r.view,c=r.viewFrom,d=0;d-1&&(f=!1),hn(e,p,c,n)),f&&(T(p.lineNumber),p.lineNumber.appendChild(document.createTextNode(rt(e.options,c)))),a=p.node.nextSibling}else{var h=_n(e,p,c,n);o.insertBefore(h,a)}c+=p.size}for(;a;)a=s(a)}(e,n.updateLineNumbers,t.dims),u>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,function(e){if(e&&e.activeElt&&e.activeElt!=I(e.activeElt.ownerDocument)&&(e.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(e.activeElt.nodeName)&&e.anchorNode&&R(document.body,e.anchorNode)&&R(document.body,e.focusNode))){var t=e.activeElt.ownerDocument,n=t.defaultView.getSelection(),r=t.createRange();r.setEnd(e.anchorNode,e.anchorOffset),r.collapse(!1),n.removeAllRanges(),n.addRange(r),n.extend(e.focusNode,e.focusOffset)}}(c),T(n.cursorDiv),T(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,s&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,si(e,400)),n.updateLineNumbers=null,!0}function pi(e,t){for(var n=t.viewport,r=!0;;r=!1){if(r&&e.options.lineWrapping&&t.oldDisplayWidth!=Dn(e))r&&(t.visible=Rr(e.display,e.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(e.doc.height+Tn(e.display)-Rn(e),n.top)}),t.visible=Rr(e.display,e.doc,n),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break;if(!di(e,t))break;Pr(e);var i=qr(e);wr(e),Hr(e,i),mi(e,i),t.force=!1}t.signal(e,"update",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function fi(e,t){var n=new ui(e,t);if(di(e,n)){Pr(e),pi(e,n);var r=qr(e);wr(e),Hr(e,r),mi(e,r),n.finish()}}function hi(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px",pn(e,"gutterChanged",e)}function mi(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+Pn(e)+"px"}function gi(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var r=cr(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=r+"px",a=0;a=105&&(o.wrapper.style.clipPath="inset(0px)"),o.wrapper.setAttribute("translate","no"),a&&s<8&&(o.gutters.style.zIndex=-1,o.scroller.style.paddingRight=0),l||n&&y||(o.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(o.wrapper):e(o.wrapper)),o.viewFrom=o.viewTo=t.first,o.reportedViewFrom=o.reportedViewTo=t.first,o.view=[],o.renderedView=null,o.externalMeasured=null,o.viewOffset=0,o.lastWrapHeight=o.lastWrapWidth=0,o.updateLineNumbers=null,o.nativeBarWidth=o.barHeight=o.barWidth=0,o.scrollbarsClipped=!1,o.lineNumWidth=o.lineNumInnerWidth=o.lineNumChars=null,o.alignWidgets=!1,o.cachedCharWidth=o.cachedTextHeight=o.cachedPaddingH=null,o.maxLine=null,o.maxLineLength=0,o.maxLineChanged=!1,o.wheelDX=o.wheelDY=o.wheelStartX=o.wheelStartY=null,o.shift=!1,o.selForContextMenu=null,o.activeTouch=null,o.gutterSpecs=yi(i.gutters,i.lineNumbers),bi(o),r.init(o)}ui.prototype.signal=function(e,t){_e(e,t)&&this.events.push(arguments)},ui.prototype.finish=function(){for(var e=0;eu.clientWidth,h=u.scrollHeight>u.clientHeight;if(i&&f||o&&h){if(o&&b&&l)e:for(var m=t.target,g=s.view;m!=u;m=m.parentNode)for(var v=0;v=0&&ot(e,r.to())<=0)return n}return-1};var Ti=function(e,t){this.anchor=e,this.head=t};function Oi(e,t,n){var r=e&&e.options.selectionsMayTouch,i=t[n];t.sort((function(e,t){return ot(e.from(),t.from())})),n=$(t,i);for(var o=1;o0:l>=0){var u=ut(s.from(),a.from()),c=lt(s.to(),a.to()),d=s.empty()?a.from()==a.head:s.from()==s.head;o<=n&&--n,t.splice(--o,2,new Ti(d?c:u,d?u:c))}}return new Ai(t,n)}function Pi(e,t){return new Ai([new Ti(e,t||e)],0)}function Di(e){return e.text?it(e.from.line+e.text.length-1,Q(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function Ri(e,t){if(ot(e,t.from)<0)return e;if(ot(e,t.to)<=0)return Di(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=Di(t).ch-t.to.ch),it(n,r)}function Ii(e,t){for(var n=[],r=0;r1&&e.remove(s.line+1,h-1),e.insert(s.line+1,v)}pn(e,"change",e,t)}function Bi(e,t,n){!function e(r,i,o){if(r.linked)for(var a=0;as-(e.cm?e.cm.options.historyEventDelay:500)||"*"==t.origin.charAt(0)))&&(o=function(e,t){return t?(Wi(e.done),Q(e.done)):e.done.length&&!Q(e.done).ranges?Q(e.done):e.done.length>1&&!e.done[e.done.length-2].ranges?(e.done.pop(),Q(e.done)):void 0}(i,i.lastOp==r)))a=Q(o.changes),0==ot(t.from,t.to)&&0==ot(t.from,a.to)?a.to=Di(t):o.changes.push($i(e,t));else{var l=Q(i.done);for(l&&l.ranges||Gi(e.sel,i.done),o={changes:[$i(e,t)],generation:i.generation},i.done.push(o);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=s,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=t.origin,a||ye(e,"historyAdded")}function Vi(e,t,n,r){var i=e.history,o=r&&r.origin;n==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||function(e,t,n,r){var i=t.charAt(0);return"*"==i||"+"==i&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}(e,o,Q(i.done),t))?i.done[i.done.length-1]=t:Gi(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=n,r&&!1!==r.clearRedo&&Wi(i.undone)}function Gi(e,t){var n=Q(t);n&&n.ranges&&n.equals(e)||t.push(e)}function Ki(e,t,n,r){var i=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,r),(function(n){n.markedSpans&&((i||(i=t["spans_"+e.id]={}))[o]=n.markedSpans),++o}))}function Yi(e){if(!e)return null;for(var t,n=0;n-1&&(Q(s)[d]=u[d],delete u[d])}}}return r}function Qi(e,t,n,r){if(r){var i=e.anchor;if(n){var o=ot(t,i)<0;o!=ot(n,i)<0?(i=t,t=n):o!=ot(t,n)<0&&(t=n)}return new Ti(i,t)}return new Ti(n||t,t)}function Ji(e,t,n,r,i){null==i&&(i=e.cm&&(e.cm.display.shift||e.extend)),io(e,new Ai([Qi(e.sel.primary(),t,n,i)],0),r)}function eo(e,t,n){for(var r=[],i=e.cm&&(e.cm.display.shift||e.extend),o=0;o=t.ch:s.to>t.ch))){if(i&&(ye(l,"beforeCursorEnter"),l.explicitlyCleared)){if(o.markedSpans){--a;continue}break}if(!l.atomic)continue;if(n){var d=l.find(r<0?1:-1),p=void 0;if((r<0?c:u)&&(d=po(e,d,-r,d&&d.line==t.line?o:null)),d&&d.line==t.line&&(p=ot(d,n))&&(r<0?p<0:p>0))return uo(e,d,t,r,i)}var f=l.find(r<0?-1:1);return(r<0?u:c)&&(f=po(e,f,r,f.line==t.line?o:null)),f?uo(e,f,t,r,i):null}}return t}function co(e,t,n,r,i){var o=r||1;return uo(e,t,n,o,i)||!i&&uo(e,t,n,o,!0)||uo(e,t,n,-o,i)||!i&&uo(e,t,n,-o,!0)||(e.cantEdit=!0,it(e.first,0))}function po(e,t,n,r){return n<0&&0==t.ch?t.line>e.first?dt(e,it(t.line-1)):null:n>0&&t.ch==(r||Ze(e,t.line)).text.length?t.line0)){var c=[l,1],d=ot(u.from,s.from),p=ot(u.to,s.to);(d<0||!a.inclusiveLeft&&!d)&&c.push({from:u.from,to:s.from}),(p>0||!a.inclusiveRight&&!p)&&c.push({from:s.to,to:u.to}),i.splice.apply(i,c),l+=c.length-3}}return i}(e,t.from,t.to);if(r)for(var i=r.length-1;i>=0;--i)go(e,{from:r[i].from,to:r[i].to,text:i?[""]:t.text,origin:t.origin});else go(e,t)}}function go(e,t){if(1!=t.text.length||""!=t.text[0]||0!=ot(t.from,t.to)){var n=Ii(e,t);Hi(e,t,n,e.cm?e.cm.curOp.id:NaN),bo(e,t,n,Pt(e,t));var r=[];Bi(e,(function(e,n){n||-1!=$(r,e.history)||(ko(e.history,t),r.push(e.history)),bo(e,t,null,Pt(e,t))}))}}function vo(e,t,n){var r=e.cm&&e.cm.state.suppressEdits;if(!r||n){for(var i,o=e.history,a=e.sel,s="undo"==t?o.done:o.undone,l="undo"==t?o.undone:o.done,u=0;u=0;--f){var h=p(f);if(h)return h.v}}}}function yo(e,t){if(0!=t&&(e.first+=t,e.sel=new Ai(J(e.sel.ranges,(function(e){return new Ti(it(e.anchor.line+t,e.anchor.ch),it(e.head.line+t,e.head.ch))})),e.sel.primIndex),e.cm)){mr(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;re.lastLine())){if(t.from.lineo&&(t={from:t.from,to:it(o,Ze(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=Xe(e,t.from,t.to),n||(n=Ii(e,t)),e.cm?function(e,t,n){var r=e.doc,i=e.display,o=t.from,a=t.to,s=!1,l=o.line;e.options.lineWrapping||(l=et(qt(Ze(r,o.line))),r.iter(l,a.line+1,(function(e){if(e==i.maxLine)return s=!0,!0}))),r.sel.contains(t.from,t.to)>-1&&we(e),Fi(r,t,n,dr(e)),e.options.lineWrapping||(r.iter(l,o.line+t.text.length,(function(e){var t=Kt(e);t>i.maxLineLength&&(i.maxLine=e,i.maxLineLength=t,i.maxLineChanged=!0,s=!1)})),s&&(e.curOp.updateMaxLine=!0)),function(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontiern;r--){var i=Ze(e,r).stateAfter;if(i&&(!(i instanceof ft)||r+i.lookAhead1||!(this.children[0]instanceof Co))){var s=[];this.collapse(s),this.children=[new Co(s)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t50){for(var a=i.lines.length%25+25,s=a;s10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=0;r0||0==a&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=D("span",[o.replacedWith],"CodeMirror-widget"),r.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),r.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Ut(e,t.line,t,n,o)||t.line!=n.line&&Ut(e,n.line,t,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");St=!0}o.addToHistory&&Hi(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var s,l=t.line,u=e.cm;if(e.iter(l,n.line+1,(function(r){u&&o.collapsed&&!u.options.lineWrapping&&qt(r)==u.display.maxLine&&(s=!0),o.collapsed&&l!=t.line&&Je(r,0),function(e,t,n){var r=n&&window.WeakSet&&(n.markedSpans||(n.markedSpans=new WeakSet));r&&e.markedSpans&&r.has(e.markedSpans)?e.markedSpans.push(t):(e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],r&&r.add(e.markedSpans)),t.marker.attachLine(e)}(r,new At(o,l==t.line?t.ch:null,l==n.line?n.ch:null),e.cm&&e.cm.curOp),++l})),o.collapsed&&e.iter(t.line,n.line+1,(function(t){Ht(e,t)&&Je(t,0)})),o.clearOnEnter&&me(o,"beforeCursorEnter",(function(){return o.clear()})),o.readOnly&&(Ct=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++Oo,o.atomic=!0),u){if(s&&(u.curOp.updateMaxLine=!0),o.collapsed)mr(u,t.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var c=t.line;c<=n.line;c++)gr(u,c,"text");o.atomic&&so(u.doc),pn(u,"markerAdded",u,o)}return o}Po.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&Zr(e),_e(this,"clear")){var n=this.find();n&&pn(this,"clear",n.from,n.to)}for(var r=null,i=null,o=0;oe.display.maxLineLength&&(e.display.maxLine=u,e.display.maxLineLength=c,e.display.maxLineChanged=!0)}null!=r&&e&&this.collapsed&&mr(e,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&so(e.doc)),e&&pn(e,"markerCleared",e,this,r,i),t&&Xr(e),this.parent&&this.parent.clear()}},Po.prototype.find=function(e,t){var n,r;null==e&&"bookmark"==this.type&&(e=1);for(var i=0;i=0;l--)mo(this,r[l]);s?ro(this,s):this.cm&&Lr(this.cm)})),undo:ai((function(){vo(this,"undo")})),redo:ai((function(){vo(this,"redo")})),undoSelection:ai((function(){vo(this,"undo",!0)})),redoSelection:ai((function(){vo(this,"redo",!0)})),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,n){e=dt(this,e),t=dt(this,t);var r=[],i=e.line;return this.iter(e.line,t.line+1,(function(o){var a=o.markedSpans;if(a)for(var s=0;s=l.to||null==l.from&&i!=e.line||null!=l.from&&i==t.line&&l.from>=t.ch||n&&!n(l.marker)||r.push(l.marker.parent||l.marker)}++i})),r},getAllMarks:function(){var e=[];return this.iter((function(t){var n=t.markedSpans;if(n)for(var r=0;re)return t=e,!0;e-=o,++n})),dt(this,it(n,t))},indexFromPos:function(e){var t=(e=dt(this,e)).ch;if(e.linet&&(t=e.from),null!=e.to&&e.to-1)return t.state.draggingText(e),void setTimeout((function(){return t.display.input.focus()}),20);try{var d=e.dataTransfer.getData("Text");if(d){var p;if(t.state.draggingText&&!t.state.draggingText.copy&&(p=t.listSelections()),oo(t.doc,Pi(n,n)),p)for(var f=0;f=0;t--)wo(e.doc,"",r[t].from,r[t].to,"+delete");Lr(e)}))}function ra(e,t,n){var r=le(e.text,t+n,n);return r<0||r>e.text.length?null:r}function ia(e,t,n){var r=ra(e,t.ch,n);return null==r?null:new it(t.line,r,n<0?"after":"before")}function oa(e,t,n,r,i){if(e){"rtl"==t.doc.direction&&(i=-i);var o=fe(n,t.doc.direction);if(o){var a,s=i<0?Q(o):o[0],l=i<0==(1==s.level)?"after":"before";if(s.level>0||"rtl"==t.doc.direction){var u=Nn(t,n);a=i<0?n.text.length-1:0;var c=jn(t,u,a).top;a=ue((function(e){return jn(t,u,e).top==c}),i<0==(1==s.level)?s.from:s.to-1,a),"before"==l&&(a=ra(n,a,1))}else a=i<0?s.to:s.from;return new it(r,a,l)}}return new it(r,i<0?n.text.length:0,i<0?"before":"after")}Ko.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Ko.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Ko.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Ko.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Ko.default=b?Ko.macDefault:Ko.pcDefault;var aa={selectAll:fo,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),V)},killLine:function(e){return na(e,(function(t){if(t.empty()){var n=Ze(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line0)i=new it(i.line,i.ch+1),e.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),it(i.line,i.ch-2),i,"+transpose");else if(i.line>e.doc.first){var a=Ze(e.doc,i.line-1).text;a&&(i=new it(i.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+a.charAt(a.length-1),it(i.line-1,a.length-1),i,"+transpose"))}n.push(new Ti(i,i))}e.setSelections(n)}))},newlineAndIndent:function(e){return ri(e,(function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,"+input");t=e.listSelections();for(var r=0;r-1&&(ot((i=u.ranges[i]).from(),t)<0||t.xRel>0)&&(ot(i.to(),t)>0||t.xRel<0)?function(e,t,n,r){var i=e.display,o=!1,u=ii(e,(function(t){l&&(i.scroller.draggable=!1),e.state.draggingText=!1,e.state.delayingBlurEvent&&(e.hasFocus()?e.state.delayingBlurEvent=!1:Ar(e)),ve(i.wrapper.ownerDocument,"mouseup",u),ve(i.wrapper.ownerDocument,"mousemove",c),ve(i.scroller,"dragstart",d),ve(i.scroller,"drop",u),o||(ke(t),r.addNew||Ji(e.doc,n,null,null,r.extend),l&&!f||a&&9==s?setTimeout((function(){i.wrapper.ownerDocument.body.focus({preventScroll:!0}),i.input.focus()}),20):i.input.focus())})),c=function(e){o=o||Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)>=10},d=function(){return o=!0};l&&(i.scroller.draggable=!0),e.state.draggingText=u,u.copy=!r.moveOnDrag,me(i.wrapper.ownerDocument,"mouseup",u),me(i.wrapper.ownerDocument,"mousemove",c),me(i.scroller,"dragstart",d),me(i.scroller,"drop",u),e.state.delayingBlurEvent=!0,setTimeout((function(){return i.input.focus()}),20),i.scroller.dragDrop&&i.scroller.dragDrop()}(e,r,t,o):function(e,t,n,r){a&&Ar(e);var i=e.display,o=e.doc;ke(t);var s,l,u=o.sel,c=u.ranges;if(r.addNew&&!r.extend?(l=o.sel.contains(n),s=l>-1?c[l]:new Ti(n,n)):(s=o.sel.primary(),l=o.sel.primIndex),"rectangle"==r.unit)r.addNew||(s=new Ti(n,n)),n=fr(e,t,!0,!0),l=-1;else{var d=xa(e,n,r.unit);s=r.extend?Qi(s,d.anchor,d.head,r.extend):d}r.addNew?-1==l?(l=c.length,io(o,Oi(e,c.concat([s]),l),{scroll:!1,origin:"*mouse"})):c.length>1&&c[l].empty()&&"char"==r.unit&&!r.extend?(io(o,Oi(e,c.slice(0,l).concat(c.slice(l+1)),0),{scroll:!1,origin:"*mouse"}),u=o.sel):to(o,l,s,G):(l=0,io(o,new Ai([s],0),G),u=o.sel);var p=n;function f(t){if(0!=ot(p,t))if(p=t,"rectangle"==r.unit){for(var i=[],a=e.options.tabSize,c=U(Ze(o,n.line).text,n.ch,a),d=U(Ze(o,t.line).text,t.ch,a),f=Math.min(c,d),h=Math.max(c,d),m=Math.min(n.line,t.line),g=Math.min(e.lastLine(),Math.max(n.line,t.line));m<=g;m++){var v=Ze(o,m).text,y=Y(v,f,a);f==h?i.push(new Ti(it(m,y),it(m,y))):v.length>y&&i.push(new Ti(it(m,y),it(m,Y(v,h,a))))}i.length||i.push(new Ti(n,n)),io(o,Oi(e,u.ranges.slice(0,l).concat(i),l),{origin:"*mouse",scroll:!1}),e.scrollIntoView(t)}else{var b,w=s,_=xa(e,t,r.unit),x=w.anchor;ot(_.anchor,x)>0?(b=_.head,x=ut(w.from(),_.anchor)):(b=_.anchor,x=lt(w.to(),_.head));var k=u.ranges.slice(0);k[l]=function(e,t){var n=t.anchor,r=t.head,i=Ze(e.doc,n.line);if(0==ot(n,r)&&n.sticky==r.sticky)return t;var o=fe(i);if(!o)return t;var a=de(o,n.ch,n.sticky),s=o[a];if(s.from!=n.ch&&s.to!=n.ch)return t;var l,u=a+(s.from==n.ch==(1!=s.level)?0:1);if(0==u||u==o.length)return t;if(r.line!=n.line)l=(r.line-n.line)*("ltr"==e.doc.direction?1:-1)>0;else{var c=de(o,r.ch,r.sticky),d=c-a||(r.ch-n.ch)*(1==s.level?-1:1);l=c==u-1||c==u?d<0:d>0}var p=o[u+(l?-1:0)],f=l==(1==p.level),h=f?p.from:p.to,m=f?"after":"before";return n.ch==h&&n.sticky==m?t:new Ti(new it(n.line,h,m),r)}(e,new Ti(dt(o,x),b)),io(o,Oi(e,k,l),G)}}var h=i.wrapper.getBoundingClientRect(),m=0;function g(t){var n=++m,a=fr(e,t,!0,"rectangle"==r.unit);if(a)if(0!=ot(a,p)){e.curOp.focus=I(j(e)),f(a);var s=Rr(i,o);(a.line>=s.to||a.lineh.bottom?20:0;l&&setTimeout(ii(e,(function(){m==n&&(i.scroller.scrollTop+=l,g(t))})),50)}}function v(t){e.state.selectingText=!1,m=1/0,t&&(ke(t),i.input.focus()),ve(i.wrapper.ownerDocument,"mousemove",y),ve(i.wrapper.ownerDocument,"mouseup",b),o.history.lastSelOrigin=null}var y=ii(e,(function(e){0!==e.buttons&&Te(e)?g(e):v(e)})),b=ii(e,v);e.state.selectingText=b,me(i.wrapper.ownerDocument,"mousemove",y),me(i.wrapper.ownerDocument,"mouseup",b)}(e,r,t,o)}(t,r,o,e):Ae(e)==n.scroller&&ke(e):2==i?(r&&Ji(t.doc,r),setTimeout((function(){return n.input.focus()}),20)):3==i&&(E?t.display.input.onContextMenu(e):Ar(t)))}}function xa(e,t,n){if("char"==n)return new Ti(t,t);if("word"==n)return e.findWordAt(t);if("line"==n)return new Ti(it(t.line,0),dt(e.doc,it(t.line+1,0)));var r=n(e,t);return new Ti(r.from,r.to)}function ka(e,t,n,r){var i,o;if(t.touches)i=t.touches[0].clientX,o=t.touches[0].clientY;else try{i=t.clientX,o=t.clientY}catch(e){return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&ke(t);var a=e.display,s=a.lineDiv.getBoundingClientRect();if(o>s.bottom||!_e(e,n))return Ce(t);o-=s.top-a.viewOffset;for(var l=0;l=i)return ye(e,n,e,tt(e.doc,o),e.display.gutterSpecs[l].className,t),Ce(t)}}function Ea(e,t){return ka(e,t,"gutterClick",!0)}function Ca(e,t){Sn(e.display,t)||function(e,t){return!!_e(e,"gutterContextMenu")&&ka(e,t,"gutterContextMenu",!1)}(e,t)||be(e,t,"contextmenu")||E||e.display.input.onContextMenu(t)}function Sa(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),Wn(e)}wa.prototype.compare=function(e,t,n){return this.time+400>e&&0==ot(t,this.pos)&&n==this.button};var Aa={toString:function(){return"CodeMirror.Init"}},Ta={},Oa={};function Pa(e,t,n){if(!t!=!(n&&n!=Aa)){var r=e.display.dragFunctions,i=t?me:ve;i(e.display.scroller,"dragstart",r.start),i(e.display.scroller,"dragenter",r.enter),i(e.display.scroller,"dragover",r.over),i(e.display.scroller,"dragleave",r.leave),i(e.display.scroller,"drop",r.drop)}}function Da(e){e.options.lineWrapping?(M(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(A(e.display.wrapper,"CodeMirror-wrap"),Yt(e)),pr(e),mr(e),Wn(e),setTimeout((function(){return Hr(e)}),100)}function Ra(e,t){var n=this;if(!(this instanceof Ra))return new Ra(e,t);this.options=t=t?z(t):{},z(Ta,t,!1);var r=t.value;"string"==typeof r?r=new No(r,t.mode,null,t.lineSeparator,t.direction):t.mode&&(r.modeOption=t.mode),this.doc=r;var i=new Ra.inputStyles[t.inputStyle](this),o=this.display=new _i(e,r,i,t);for(var u in o.wrapper.CodeMirror=this,Sa(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),Kr(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new q,keySeq:null,specialChars:null},t.autofocus&&!y&&o.input.focus(),a&&s<11&&setTimeout((function(){return n.display.input.reset(!0)}),20),function(e){var t=e.display;me(t.scroller,"mousedown",ii(e,_a)),me(t.scroller,"dblclick",a&&s<11?ii(e,(function(t){if(!be(e,t)){var n=fr(e,t);if(n&&!Ea(e,t)&&!Sn(e.display,t)){ke(t);var r=e.findWordAt(n);Ji(e.doc,r.anchor,r.head)}}})):function(t){return be(e,t)||ke(t)}),me(t.scroller,"contextmenu",(function(t){return Ca(e,t)})),me(t.input.getField(),"contextmenu",(function(n){t.scroller.contains(n.target)||Ca(e,n)}));var n,r={end:0};function i(){t.activeTouch&&(n=setTimeout((function(){return t.activeTouch=null}),1e3),(r=t.activeTouch).end=+new Date)}function o(e){if(1!=e.touches.length)return!1;var t=e.touches[0];return t.radiusX<=1&&t.radiusY<=1}function l(e,t){if(null==t.left)return!0;var n=t.left-e.left,r=t.top-e.top;return n*n+r*r>400}me(t.scroller,"touchstart",(function(i){if(!be(e,i)&&!o(i)&&!Ea(e,i)){t.input.ensurePolled(),clearTimeout(n);var a=+new Date;t.activeTouch={start:a,moved:!1,prev:a-r.end<=300?r:null},1==i.touches.length&&(t.activeTouch.left=i.touches[0].pageX,t.activeTouch.top=i.touches[0].pageY)}})),me(t.scroller,"touchmove",(function(){t.activeTouch&&(t.activeTouch.moved=!0)})),me(t.scroller,"touchend",(function(n){var r=t.activeTouch;if(r&&!Sn(t,n)&&null!=r.left&&!r.moved&&new Date-r.start<300){var o,a=e.coordsChar(t.activeTouch,"page");o=!r.prev||l(r,r.prev)?new Ti(a,a):!r.prev.prev||l(r,r.prev.prev)?e.findWordAt(a):new Ti(it(a.line,0),dt(e.doc,it(a.line+1,0))),e.setSelection(o.anchor,o.head),e.focus(),ke(n)}i()})),me(t.scroller,"touchcancel",i),me(t.scroller,"scroll",(function(){t.scroller.clientHeight&&(Br(e,t.scroller.scrollTop),Ur(e,t.scroller.scrollLeft,!0),ye(e,"scroll",e))})),me(t.scroller,"mousewheel",(function(t){return Si(e,t)})),me(t.scroller,"DOMMouseScroll",(function(t){return Si(e,t)})),me(t.wrapper,"scroll",(function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0})),t.dragFunctions={enter:function(t){be(e,t)||Se(t)},over:function(t){be(e,t)||(function(e,t){var n=fr(e,t);if(n){var r=document.createDocumentFragment();xr(e,n,r),e.display.dragCursor||(e.display.dragCursor=P("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),O(e.display.dragCursor,r)}}(e,t),Se(t))},start:function(t){return function(e,t){if(a&&(!e.state.draggingText||+new Date-jo<100))Se(t);else if(!be(e,t)&&!Sn(e.display,t)&&(t.dataTransfer.setData("Text",e.getSelection()),t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setDragImage&&!f)){var n=P("img",null,null,"position: fixed; left: 0; top: 0;");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",p&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),p&&n.parentNode.removeChild(n)}}(e,t)},drop:ii(e,Fo),leave:function(t){be(e,t)||Bo(e)}};var u=t.input.getField();me(u,"keyup",(function(t){return ga.call(e,t)})),me(u,"keydown",ii(e,ma)),me(u,"keypress",ii(e,va)),me(u,"focus",(function(t){return Tr(e,t)})),me(u,"blur",(function(t){return Or(e,t)}))}(this),qo(),Zr(this),this.curOp.forceUpdate=!0,zi(this,r),t.autofocus&&!y||this.hasFocus()?setTimeout((function(){n.hasFocus()&&!n.state.focused&&Tr(n)}),20):Or(this),Oa)Oa.hasOwnProperty(u)&&Oa[u](this,t[u],Aa);vi(this),t.finishInit&&t.finishInit(this);for(var c=0;c150)){if(!r)return;n="prev"}}else u=0,n="not";"prev"==n?u=t>o.first?U(Ze(o,t-1).text,null,a):0:"add"==n?u=l+e.options.indentUnit:"subtract"==n?u=l-e.options.indentUnit:"number"==typeof n&&(u=l+n),u=Math.max(0,u);var d="",p=0;if(e.options.indentWithTabs)for(var f=Math.floor(u/a);f;--f)p+=a,d+="\t";if(pa,l=Le(t),u=null;if(s&&r.ranges.length>1)if(La&&La.text.join("\n")==t){if(r.ranges.length%La.text.length==0){u=[];for(var c=0;c=0;p--){var f=r.ranges[p],h=f.from(),m=f.to();f.empty()&&(n&&n>0?h=it(h.line,h.ch-n):e.state.overwrite&&!s?m=it(m.line,Math.min(Ze(o,m.line).text.length,m.ch+Q(l).length)):s&&La&&La.lineWise&&La.text.join("\n")==l.join("\n")&&(h=m=it(h.line,0)));var g={from:h,to:m,text:u?u[p%u.length]:l,origin:i||(s?"paste":e.state.cutIncoming>a?"cut":"+input")};mo(e.doc,g),pn(e,"inputRead",e,g)}t&&!s&&Ba(e,t),Lr(e),e.curOp.updateInput<2&&(e.curOp.updateInput=d),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function Fa(e,t){var n=e.clipboardData&&e.clipboardData.getData("Text");if(n)return e.preventDefault(),t.isReadOnly()||t.options.disableInput||!t.hasFocus()||ri(t,(function(){return ja(t,n,0,null,"paste")})),!0}function Ba(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var o=e.getModeAt(i.head),a=!1;if(o.electricChars){for(var s=0;s-1){a=Ma(e,i.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(Ze(e.doc,i.head.line).text.slice(0,i.head.ch))&&(a=Ma(e,i.head.line,"smart"));a&&pn(e,"electricInput",e,i.head.line)}}}function za(e){for(var t=[],n=[],r=0;r0?0:-1));if(isNaN(u))a=null;else{var c=n>0?u>=55296&&u<56320:u>=56320&&u<57343;a=new it(t.line,Math.max(0,Math.min(s.text.length,t.ch+n*(c?2:1))),-n)}}else a=i?function(e,t,n,r){var i=fe(t,e.doc.direction);if(!i)return ia(t,n,r);n.ch>=t.text.length?(n.ch=t.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=de(i,n.ch,n.sticky),a=i[o];if("ltr"==e.doc.direction&&a.level%2==0&&(r>0?a.to>n.ch:a.from=a.from&&p>=c.begin)){var f=d?"before":"after";return new it(n.line,p,f)}}var h=function(e,t,r){for(var o=function(e,t){return t?new it(n.line,l(e,1),"before"):new it(n.line,e,"after")};e>=0&&e0==(1!=a.level),u=s?r.begin:l(r.end,-1);if(a.from<=u&&u0?c.end:l(c.begin,-1);return null==g||r>0&&g==t.text.length||!(m=h(r>0?0:i.length-1,r,u(g)))?null:m}(e.cm,s,t,n):ia(s,t,n);if(null==a){if(o||!function(){var n=t.line+l;return!(n=e.first+e.size)&&(t=new it(n,t.ch,t.sticky),s=Ze(e,n))}())return!1;t=oa(i,e.cm,s,t.line,l)}else t=a;return!0}if("char"==r||"codepoint"==r)u();else if("column"==r)u(!0);else if("word"==r||"group"==r)for(var c=null,d="group"==r,p=e.cm&&e.cm.getHelper(t,"wordChars"),f=!0;!(n<0)||u(!f);f=!1){var h=s.text.charAt(t.ch)||"\n",m=ie(h,p)?"w":d&&"\n"==h?"n":!d||/\s/.test(h)?null:"p";if(!d||f||m||(m="s"),c&&c!=m){n<0&&(n=1,u(),t.sticky="after");break}if(m&&(c=m),n>0&&!u(!f))break}var g=co(e,t,o,a,!0);return at(o,g)&&(g.hitSide=!0),g}function Wa(e,t,n,r){var i,o,a=e.doc,s=t.left;if("page"==r){var l=Math.min(e.display.wrapper.clientHeight,F(e).innerHeight||a(e).documentElement.clientHeight),u=Math.max(l-.5*sr(e.display),3);i=(n>0?t.bottom:t.top)+n*u}else"line"==r&&(i=n>0?t.bottom+3:t.top-3);for(;(o=er(e,s,i)).outside;){if(n<0?i<=0:i>=a.height){o.hitSide=!0;break}i+=5*n}return o}var Ha=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new q,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function Va(e,t){var n=Ln(e,t.line);if(!n||n.hidden)return null;var r=Ze(e.doc,t.line),i=In(n,r,t.line),o=fe(r,e.doc.direction),a="left";o&&(a=de(o,t.ch)%2?"right":"left");var s=zn(i.map,t.ch,a);return s.offset="right"==s.collapse?s.end:s.start,s}function Ga(e,t){return t&&(e.bad=!0),e}function Ka(e,t,n){var r;if(t==e.display.lineDiv){if(!(r=e.display.lineDiv.childNodes[n]))return Ga(e.clipPos(it(e.display.viewTo-1)),!0);t=null,n=0}else for(r=t;;r=r.parentNode){if(!r||r==e.display.lineDiv)return null;if(r.parentNode&&r.parentNode==e.display.lineDiv)break}for(var i=0;i=t.display.viewTo||o.line=t.display.viewFrom&&Va(t,i)||{node:l[0].measure.map[2],offset:0},c=o.liner.firstLine()&&(a=it(a.line-1,Ze(r.doc,a.line-1).length)),s.ch==Ze(r.doc,s.line).text.length&&s.linei.viewTo-1)return!1;a.line==i.viewFrom||0==(e=hr(r,a.line))?(t=et(i.view[0].line),n=i.view[0].node):(t=et(i.view[e].line),n=i.view[e-1].node.nextSibling);var l,u,c=hr(r,s.line);if(c==i.view.length-1?(l=i.viewTo-1,u=i.lineDiv.lastChild):(l=et(i.view[c+1].line)-1,u=i.view[c+1].node.previousSibling),!n)return!1;for(var d=r.doc.splitLines(function(e,t,n,r,i){var o="",a=!1,s=e.doc.lineSeparator(),l=!1;function u(){a&&(o+=s,l&&(o+=s),a=l=!1)}function c(e){e&&(u(),o+=e)}function d(t){if(1==t.nodeType){var n=t.getAttribute("cm-text");if(n)return void c(n);var o,p=t.getAttribute("cm-marker");if(p){var f=e.findMarks(it(r,0),it(i+1,0),(g=+p,function(e){return e.id==g}));return void(f.length&&(o=f[0].find(0))&&c(Xe(e.doc,o.from,o.to).join(s)))}if("false"==t.getAttribute("contenteditable"))return;var h=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;h&&u();for(var m=0;m1&&p.length>1;)if(Q(d)==Q(p))d.pop(),p.pop(),l--;else{if(d[0]!=p[0])break;d.shift(),p.shift(),t++}for(var f=0,h=0,m=d[0],g=p[0],v=Math.min(m.length,g.length);fa.ch&&y.charCodeAt(y.length-h-1)==b.charCodeAt(b.length-h-1);)f--,h++;d[d.length-1]=y.slice(0,y.length-h).replace(/^\u200b+/,""),d[0]=d[0].slice(f).replace(/\u200b+$/,"");var _=it(t,f),x=it(l,p.length?Q(p).length-h:0);return d.length>1||d[0]||ot(_,x)?(wo(r.doc,d,_,x,"+input"),!0):void 0},Ha.prototype.ensurePolled=function(){this.forceCompositionEnd()},Ha.prototype.reset=function(){this.forceCompositionEnd()},Ha.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Ha.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()}),80))},Ha.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||ri(this.cm,(function(){return mr(e.cm)}))},Ha.prototype.setUneditable=function(e){e.contentEditable="false"},Ha.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||ii(this.cm,ja)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},Ha.prototype.readOnlyChanged=function(e){this.div.contentEditable=String("nocursor"!=e)},Ha.prototype.onContextMenu=function(){},Ha.prototype.resetPosition=function(){},Ha.prototype.needsContentAttribute=!0;var Za=function(e){this.cm=e,this.prevInput="",this.pollingFast=!1,this.polling=new q,this.hasSelection=!1,this.composing=null,this.resetting=!1};Za.prototype.init=function(e){var t=this,n=this,r=this.cm;this.createField(e);var i=this.textarea;function o(e){if(!be(r,e)){if(r.somethingSelected())Na({lineWise:!1,text:r.getSelections()});else{if(!r.options.lineWiseCopyCut)return;var t=za(r);Na({lineWise:!0,text:t.text}),"cut"==e.type?r.setSelections(t.ranges,null,V):(n.prevInput="",i.value=t.text.join("\n"),N(i))}"cut"==e.type&&(r.state.cutIncoming=+new Date)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),g&&(i.style.width="0px"),me(i,"input",(function(){a&&s>=9&&t.hasSelection&&(t.hasSelection=null),n.poll()})),me(i,"paste",(function(e){be(r,e)||Fa(e,r)||(r.state.pasteIncoming=+new Date,n.fastPoll())})),me(i,"cut",o),me(i,"copy",o),me(e.scroller,"paste",(function(t){if(!Sn(e,t)&&!be(r,t)){if(!i.dispatchEvent)return r.state.pasteIncoming=+new Date,void n.focus();var o=new Event("paste");o.clipboardData=t.clipboardData,i.dispatchEvent(o)}})),me(e.lineSpace,"selectstart",(function(t){Sn(e,t)||ke(t)})),me(i,"compositionstart",(function(){var e=r.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:e,range:r.markText(e,r.getCursor("to"),{className:"CodeMirror-composing"})}})),me(i,"compositionend",(function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)}))},Za.prototype.createField=function(e){this.wrapper=qa(),this.textarea=this.wrapper.firstChild;var t=this.cm.options;Ua(this.textarea,t.spellcheck,t.autocorrect,t.autocapitalize)},Za.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute("aria-label",e):this.textarea.removeAttribute("aria-label")},Za.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,r=_r(e);if(e.options.moveInputWithCursor){var i=Xn(e,n.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),a=t.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+a.top-o.top)),r.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+a.left-o.left))}return r},Za.prototype.showSelection=function(e){var t=this.cm.display;O(t.cursorDiv,e.cursors),O(t.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},Za.prototype.reset=function(e){if(!(this.contextMenuPending||this.composing&&e)){var t=this.cm;if(this.resetting=!0,t.somethingSelected()){this.prevInput="";var n=t.getSelection();this.textarea.value=n,t.state.focused&&N(this.textarea),a&&s>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value="",a&&s>=9&&(this.hasSelection=null));this.resetting=!1}},Za.prototype.getField=function(){return this.textarea},Za.prototype.supportsTouch=function(){return!1},Za.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!y||I(this.textarea.ownerDocument)!=this.textarea))try{this.textarea.focus()}catch(e){}},Za.prototype.blur=function(){this.textarea.blur()},Za.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Za.prototype.receivedFocus=function(){this.slowPoll()},Za.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){e.poll(),e.cm.state.focused&&e.slowPoll()}))},Za.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0,t.polling.set(20,(function n(){t.poll()||e?(t.pollingFast=!1,t.slowPoll()):(e=!0,t.polling.set(60,n))}))},Za.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||this.resetting||!t.state.focused||Ne(n)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=n.value;if(i==r&&!t.somethingSelected())return!1;if(a&&s>=9&&this.hasSelection===i||b&&/[\uf700-\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=i.charCodeAt(0);if(8203!=o||r||(r="​"),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var l=0,u=Math.min(r.length,i.length);l1e3||i.indexOf("\n")>-1?n.value=e.prevInput="":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},Za.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Za.prototype.onKeyPress=function(){a&&s>=9&&(this.hasSelection=null),this.fastPoll()},Za.prototype.onContextMenu=function(e){var t=this,n=t.cm,r=n.display,i=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=fr(n,e),u=r.scroller.scrollTop;if(o&&!p){n.options.resetSelectionOnContextMenu&&-1==n.doc.sel.contains(o)&&ii(n,io)(n.doc,Pi(o),V);var c,d=i.style.cssText,f=t.wrapper.style.cssText,h=t.wrapper.offsetParent.getBoundingClientRect();if(t.wrapper.style.cssText="position: static",i.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(e.clientY-h.top-5)+"px; left: "+(e.clientX-h.left-5)+"px;\n z-index: 1000; background: "+(a?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",l&&(c=i.ownerDocument.defaultView.scrollY),r.input.focus(),l&&i.ownerDocument.defaultView.scrollTo(null,c),r.input.reset(),n.somethingSelected()||(i.value=t.prevInput=" "),t.contextMenuPending=v,r.selForContextMenu=n.doc.sel,clearTimeout(r.detectingSelectAll),a&&s>=9&&g(),E){Se(e);var m=function(){ve(window,"mouseup",m),setTimeout(v,20)};me(window,"mouseup",m)}else setTimeout(v,50)}function g(){if(null!=i.selectionStart){var e=n.somethingSelected(),o="​"+(e?i.value:"");i.value="⇚",i.value=o,t.prevInput=e?"":"​",i.selectionStart=1,i.selectionEnd=o.length,r.selForContextMenu=n.doc.sel}}function v(){if(t.contextMenuPending==v&&(t.contextMenuPending=!1,t.wrapper.style.cssText=f,i.style.cssText=d,a&&s<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=u),null!=i.selectionStart)){(!a||a&&s<9)&&g();var e=0,o=function(){r.selForContextMenu==n.doc.sel&&0==i.selectionStart&&i.selectionEnd>0&&"​"==t.prevInput?ii(n,fo)(n):e++<10?r.detectingSelectAll=setTimeout(o,500):(r.selForContextMenu=null,r.input.reset())};r.detectingSelectAll=setTimeout(o,200)}}},Za.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled="nocursor"==e,this.textarea.readOnly=!!e},Za.prototype.setUneditable=function(){},Za.prototype.needsContentAttribute=!1,function(e){var t=e.optionHandlers;function n(n,r,i,o){e.defaults[n]=r,i&&(t[n]=o?function(e,t,n){n!=Aa&&i(e,t,n)}:i)}e.defineOption=n,e.Init=Aa,n("value","",(function(e,t){return e.setValue(t)}),!0),n("mode",null,(function(e,t){e.doc.modeOption=t,Li(e)}),!0),n("indentUnit",2,Li,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,(function(e){Ni(e),Wn(e),mr(e)}),!0),n("lineSeparator",null,(function(e,t){if(e.doc.lineSep=t,t){var n=[],r=e.doc.first;e.doc.iter((function(e){for(var i=0;;){var o=e.text.indexOf(t,i);if(-1==o)break;i=o+t.length,n.push(it(r,o))}r++}));for(var i=n.length-1;i>=0;i--)wo(e.doc,t,n[i],it(n[i].line,n[i].ch+t.length))}})),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\u202d\u202e\u2066\u2067\u2069\ufeff\ufff9-\ufffc]/g,(function(e,t,n){e.state.specialChars=new RegExp(t.source+(t.test("\t")?"":"|\t"),"g"),n!=Aa&&e.refresh()})),n("specialCharPlaceholder",nn,(function(e){return e.refresh()}),!0),n("electricChars",!0),n("inputStyle",y?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),n("spellcheck",!1,(function(e,t){return e.getInputField().spellcheck=t}),!0),n("autocorrect",!1,(function(e,t){return e.getInputField().autocorrect=t}),!0),n("autocapitalize",!1,(function(e,t){return e.getInputField().autocapitalize=t}),!0),n("rtlMoveVisually",!_),n("wholeLineUpdateBefore",!0),n("theme","default",(function(e){Sa(e),wi(e)}),!0),n("keyMap","default",(function(e,t,n){var r=ta(t),i=n!=Aa&&ta(n);i&&i.detach&&i.detach(e,r),r.attach&&r.attach(e,i||null)})),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,Da,!0),n("gutters",[],(function(e,t){e.display.gutterSpecs=yi(t,e.options.lineNumbers),wi(e)}),!0),n("fixedGutter",!0,(function(e,t){e.display.gutters.style.left=t?cr(e.display)+"px":"0",e.refresh()}),!0),n("coverGutterNextToScrollbar",!1,(function(e){return Hr(e)}),!0),n("scrollbarStyle","native",(function(e){Kr(e),Hr(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)}),!0),n("lineNumbers",!1,(function(e,t){e.display.gutterSpecs=yi(e.options.gutters,t),wi(e)}),!0),n("firstLineNumber",1,wi,!0),n("lineNumberFormatter",(function(e){return e}),wi,!0),n("showCursorWhenSelecting",!1,wr,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,(function(e,t){"nocursor"==t&&(Or(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)})),n("screenReaderLabel",null,(function(e,t){t=""===t?null:t,e.display.input.screenReaderLabelChanged(t)})),n("disableInput",!1,(function(e,t){t||e.display.input.reset()}),!0),n("dragDrop",!0,Pa),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,wr,!0),n("singleCursorHeightPerLine",!0,wr,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,Ni,!0),n("addModeClass",!1,Ni,!0),n("pollInterval",100),n("undoDepth",200,(function(e,t){return e.doc.history.undoDepth=t})),n("historyEventDelay",1250),n("viewportMargin",10,(function(e){return e.refresh()}),!0),n("maxHighlightLength",1e4,Ni,!0),n("moveInputWithCursor",!0,(function(e,t){t||e.display.input.resetPosition()})),n("tabindex",null,(function(e,t){return e.display.input.getField().tabIndex=t||""})),n("autofocus",null),n("direction","ltr",(function(e,t){return e.doc.setDirection(t)}),!0),n("phrases",null)}(Ra),function(e){var t=e.optionHandlers,n=e.helpers={};e.prototype={constructor:e,focus:function(){F(this).focus(),this.display.input.focus()},setOption:function(e,n){var r=this.options,i=r[e];r[e]==n&&"mode"!=e||(r[e]=n,t.hasOwnProperty(e)&&ii(this,t[e])(this,n,i),ye(this,"optionChange",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"](ta(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;nn&&(Ma(this,i.head.line,e,!0),n=i.head.line,r==this.doc.sel.primIndex&&Lr(this));else{var o=i.from(),a=i.to(),s=Math.max(n,o.line);n=Math.min(this.lastLine(),a.line-(a.ch?0:1))+1;for(var l=s;l0&&to(this.doc,r,new Ti(o,u[r].to()),V)}}})),getTokenAt:function(e,t){return xt(this,e,t)},getLineTokens:function(e,t){return xt(this,it(e),t,!0)},getTokenTypeAt:function(e){e=dt(this.doc,e);var t,n=gt(this,Ze(this.doc,e.line)),r=0,i=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var a=r+i>>1;if((a?n[2*a-1]:0)>=o)i=a;else{if(!(n[2*a+1]o&&(e=o,i=!0),r=Ze(this.doc,e)}else r=e;return Kn(this,r,{top:0,left:0},t||"page",n||i).top+(i?this.doc.height-Gt(r):0)},defaultTextHeight:function(){return sr(this.display)},defaultCharWidth:function(){return lr(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,r,i){var o,a,s,l=this.display,u=(e=Xn(this,dt(this.doc,e))).bottom,c=e.left;if(t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(t),l.sizer.appendChild(t),"over"==r)u=e.top;else if("above"==r||"near"==r){var d=Math.max(l.wrapper.clientHeight,this.doc.height),p=Math.max(l.sizer.clientWidth,l.lineSpace.clientWidth);("above"==r||e.bottom+t.offsetHeight>d)&&e.top>t.offsetHeight?u=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=d&&(u=e.bottom),c+t.offsetWidth>p&&(c=p-t.offsetWidth)}t.style.top=u+"px",t.style.left=t.style.right="","right"==i?(c=l.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==i?c=0:"middle"==i&&(c=(l.sizer.clientWidth-t.offsetWidth)/2),t.style.left=c+"px"),n&&(o=this,a={left:c,top:u,right:c+t.offsetWidth,bottom:u+t.offsetHeight},null!=(s=Ir(o,a)).scrollTop&&Br(o,s.scrollTop),null!=s.scrollLeft&&Ur(o,s.scrollLeft))},triggerOnKeyDown:oi(ma),triggerOnKeyPress:oi(va),triggerOnKeyUp:ga,triggerOnMouseDown:oi(_a),execCommand:function(e){if(aa.hasOwnProperty(e))return aa[e].call(null,this)},triggerElectric:oi((function(e){Ba(this,e)})),findPosH:function(e,t,n,r){var i=1;t<0&&(i=-1,t=-t);for(var o=dt(this.doc,e),a=0;a0&&a(t.charAt(n-1));)--n;for(;r.5||this.options.lineWrapping)&&pr(this),ye(this,"refresh",this)})),swapDoc:oi((function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),zi(this,e),Wn(this),this.display.input.reset(),Nr(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,pn(this,"swapDoc",this,t),t})),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},xe(e),e.registerHelper=function(t,r,i){n.hasOwnProperty(t)||(n[t]=e[t]={_global:[]}),n[t][r]=i},e.registerGlobalHelper=function(t,r,i,o){e.registerHelper(t,r,o),n[t]._global.push({pred:i,val:o})}}(Ra);var Xa="iter insert remove copy getEditor constructor".split(" ");for(var Qa in No.prototype)No.prototype.hasOwnProperty(Qa)&&$(Xa,Qa)<0&&(Ra.prototype[Qa]=function(e){return function(){return e.apply(this.doc,arguments)}}(No.prototype[Qa]));return xe(No),Ra.inputStyles={textarea:Za,contenteditable:Ha},Ra.defineMode=function(e){Ra.defaults.mode||"null"==e||(Ra.defaults.mode=e),Ue.apply(this,arguments)},Ra.defineMIME=function(e,t){ze[e]=t},Ra.defineMode("null",(function(){return{token:function(e){return e.skipToEnd()}}})),Ra.defineMIME("text/plain","null"),Ra.defineExtension=function(e,t){Ra.prototype[e]=t},Ra.defineDocExtension=function(e,t){No.prototype[e]=t},Ra.fromTextArea=function(e,t){if((t=t?z(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var n=I(e.ownerDocument);t.autofocus=n==e||null!=e.getAttribute("autofocus")&&n==document.body}function r(){e.value=s.getValue()}var i;if(e.form&&(me(e.form,"submit",r),!t.leaveSubmitMethodAlone)){var o=e.form;i=o.submit;try{var a=o.submit=function(){r(),o.submit=i,o.submit(),o.submit=a}}catch(e){}}t.finishInit=function(n){n.save=r,n.getTextArea=function(){return e},n.toTextArea=function(){n.toTextArea=isNaN,r(),e.parentNode.removeChild(n.getWrapperElement()),e.style.display="",e.form&&(ve(e.form,"submit",r),t.leaveSubmitMethodAlone||"function"!=typeof e.form.submit||(e.form.submit=i))}},e.style.display="none";var s=Ra((function(t){return e.parentNode.insertBefore(t,e.nextSibling)}),t);return s},function(e){e.off=ve,e.on=me,e.wheelEventPixels=Ci,e.Doc=No,e.splitLines=Le,e.countColumn=U,e.findColumn=Y,e.isWordChar=re,e.Pass=H,e.signal=ye,e.Line=Zt,e.changeEnd=Di,e.scrollbarModel=Gr,e.Pos=it,e.cmpPos=ot,e.modes=Be,e.mimeModes=ze,e.resolveMode=qe,e.getMode=$e,e.modeExtensions=We,e.extendMode=He,e.copyState=Ve,e.startState=Ke,e.innerMode=Ge,e.commands=aa,e.keyMap=Ko,e.keyName=ea,e.isModifierKey=Qo,e.lookupKey=Xo,e.normalizeKeyMap=Zo,e.StringStream=Ye,e.SharedTextMarker=Ro,e.TextMarker=Po,e.LineWidget=Ao,e.e_preventDefault=ke,e.e_stopPropagation=Ee,e.e_stop=Se,e.addClass=M,e.contains=R,e.rmClass=A,e.keyNames=Wo}(Ra),Ra.version="5.65.15",Ra}()},66317:(e,t,n)=>{!function(e){"use strict";e.defineMode("apl",(function(){var e={".":"innerProduct","\\":"scan","/":"reduce","⌿":"reduce1Axis","⍀":"scan1Axis","¨":"each","⍣":"power"},t={"+":["conjugate","add"],"−":["negate","subtract"],"×":["signOf","multiply"],"÷":["reciprocal","divide"],"⌈":["ceiling","greaterOf"],"⌊":["floor","lesserOf"],"∣":["absolute","residue"],"⍳":["indexGenerate","indexOf"],"?":["roll","deal"],"⋆":["exponentiate","toThePowerOf"],"⍟":["naturalLog","logToTheBase"],"○":["piTimes","circularFuncs"],"!":["factorial","binomial"],"⌹":["matrixInverse","matrixDivide"],"<":[null,"lessThan"],"≤":[null,"lessThanOrEqual"],"=":[null,"equals"],">":[null,"greaterThan"],"≥":[null,"greaterThanOrEqual"],"≠":[null,"notEqual"],"≡":["depth","match"],"≢":[null,"notMatch"],"∈":["enlist","membership"],"⍷":[null,"find"],"∪":["unique","union"],"∩":[null,"intersection"],"∼":["not","without"],"∨":[null,"or"],"∧":[null,"and"],"⍱":[null,"nor"],"⍲":[null,"nand"],"⍴":["shapeOf","reshape"],",":["ravel","catenate"],"⍪":[null,"firstAxisCatenate"],"⌽":["reverse","rotate"],"⊖":["axis1Reverse","axis1Rotate"],"⍉":["transpose",null],"↑":["first","take"],"↓":[null,"drop"],"⊂":["enclose","partitionWithAxis"],"⊃":["diclose","pick"],"⌷":[null,"index"],"⍋":["gradeUp",null],"⍒":["gradeDown",null],"⊤":["encode",null],"⊥":["decode",null],"⍕":["format","formatByExample"],"⍎":["execute",null],"⊣":["stop","left"],"⊢":["pass","right"]},n=/[\.\/⌿⍀¨⍣]/,r=/⍬/,i=/[\+−×÷⌈⌊∣⍳\?⋆⍟○!⌹<≤=>≥≠≡≢∈⍷∪∩∼∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⌷⍋⍒⊤⊥⍕⍎⊣⊢]/,o=/←/,a=/[⍝#].*$/;return{startState:function(){return{prev:!1,func:!1,op:!1,string:!1,escape:!1}},token:function(s,l){var u,c,d,p;return s.eatSpace()?null:'"'===(u=s.next())||"'"===u?(s.eatWhile((d=u,p=!1,function(e){return p=e,e!==d||"\\"===p})),s.next(),l.prev=!0,"string"):/[\[{\(]/.test(u)?(l.prev=!1,null):/[\]}\)]/.test(u)?(l.prev=!0,null):r.test(u)?(l.prev=!1,"niladic"):/[¯\d]/.test(u)?(l.func?(l.func=!1,l.prev=!1):l.prev=!0,s.eatWhile(/[\w\.]/),"number"):n.test(u)?"operator apl-"+e[u]:o.test(u)?"apl-arrow":i.test(u)?(c="apl-",null!=t[u]&&(l.prev?c+=t[u][1]:c+=t[u][0]),l.func=!0,l.prev=!1,"function "+c):a.test(u)?(s.skipToEnd(),"comment"):"∘"===u&&"."===s.peek()?(s.next(),"function jot-dot"):(s.eatWhile(/[\w\$_]/),l.prev=!0,"keyword")}}})),e.defineMIME("text/apl","apl")}(n(23326))},64617:(e,t,n)=>{!function(e){"use strict";function t(e){var t=e.match(/^\s*\S/);return e.skipToEnd(),t?"error":null}e.defineMode("asciiarmor",(function(){return{token:function(e,n){var r;if("top"==n.state)return e.sol()&&(r=e.match(/^-----BEGIN (.*)?-----\s*$/))?(n.state="headers",n.type=r[1],"tag"):t(e);if("headers"==n.state){if(e.sol()&&e.match(/^\w+:/))return n.state="header","atom";var i=t(e);return i&&(n.state="body"),i}return"header"==n.state?(e.skipToEnd(),n.state="headers","string"):"body"==n.state?e.sol()&&(r=e.match(/^-----END (.*)?-----\s*$/))?r[1]!=n.type?"error":(n.state="end","tag"):e.eatWhile(/[A-Za-z0-9+\/=]/)?null:(e.next(),"error"):"end"==n.state?t(e):void 0},blankLine:function(e){"headers"==e.state&&(e.state="body")},startState:function(){return{state:"top",type:null}}}})),e.defineMIME("application/pgp","asciiarmor"),e.defineMIME("application/pgp-encrypted","asciiarmor"),e.defineMIME("application/pgp-keys","asciiarmor"),e.defineMIME("application/pgp-signature","asciiarmor")}(n(23326))},34474:(e,t,n)=>{!function(e){"use strict";function t(e){for(var t={},n=e.split(" "),r=0;r{!function(e){"use strict";e.defineMode("asterisk",(function(){var e=["exten","same","include","ignorepat","switch"],t=["#include","#exec"],n=["addqueuemember","adsiprog","aelsub","agentlogin","agentmonitoroutgoing","agi","alarmreceiver","amd","answer","authenticate","background","backgrounddetect","bridge","busy","callcompletioncancel","callcompletionrequest","celgenuserevent","changemonitor","chanisavail","channelredirect","chanspy","clearhash","confbridge","congestion","continuewhile","controlplayback","dahdiacceptr2call","dahdibarge","dahdiras","dahdiscan","dahdisendcallreroutingfacility","dahdisendkeypadfacility","datetime","dbdel","dbdeltree","deadagi","dial","dictate","directory","disa","dumpchan","eagi","echo","endwhile","exec","execif","execiftime","exitwhile","extenspy","externalivr","festival","flash","followme","forkcdr","getcpeid","gosub","gosubif","goto","gotoif","gotoiftime","hangup","iax2provision","ices","importvar","incomplete","ivrdemo","jabberjoin","jabberleave","jabbersend","jabbersendgroup","jabberstatus","jack","log","macro","macroexclusive","macroexit","macroif","mailboxexists","meetme","meetmeadmin","meetmechanneladmin","meetmecount","milliwatt","minivmaccmess","minivmdelete","minivmgreet","minivmmwi","minivmnotify","minivmrecord","mixmonitor","monitor","morsecode","mp3player","mset","musiconhold","nbscat","nocdr","noop","odbc","odbc","odbcfinish","originate","ospauth","ospfinish","osplookup","ospnext","page","park","parkandannounce","parkedcall","pausemonitor","pausequeuemember","pickup","pickupchan","playback","playtones","privacymanager","proceeding","progress","queue","queuelog","raiseexception","read","readexten","readfile","receivefax","receivefax","receivefax","record","removequeuemember","resetcdr","retrydial","return","ringing","sayalpha","saycountedadj","saycountednoun","saycountpl","saydigits","saynumber","sayphonetic","sayunixtime","senddtmf","sendfax","sendfax","sendfax","sendimage","sendtext","sendurl","set","setamaflags","setcallerpres","setmusiconhold","sipaddheader","sipdtmfmode","sipremoveheader","skel","slastation","slatrunk","sms","softhangup","speechactivategrammar","speechbackground","speechcreate","speechdeactivategrammar","speechdestroy","speechloadgrammar","speechprocessingsound","speechstart","speechunloadgrammar","stackpop","startmusiconhold","stopmixmonitor","stopmonitor","stopmusiconhold","stopplaytones","system","testclient","testserver","transfer","tryexec","trysystem","unpausemonitor","unpausequeuemember","userevent","verbose","vmauthenticate","vmsayname","voicemail","voicemailmain","wait","waitexten","waitfornoise","waitforring","waitforsilence","waitmusiconhold","waituntil","while","zapateller"];return{startState:function(){return{blockComment:!1,extenStart:!1,extenSame:!1,extenInclude:!1,extenExten:!1,extenPriority:!1,extenApplication:!1}},token:function(r,i){var o="";return r.eatSpace()?null:i.extenStart?(r.eatWhile(/[^\s]/),o=r.current(),/^=>?$/.test(o)?(i.extenExten=!0,i.extenStart=!1,"strong"):(i.extenStart=!1,r.skipToEnd(),"error")):i.extenExten?(i.extenExten=!1,i.extenPriority=!0,r.eatWhile(/[^,]/),i.extenInclude&&(r.skipToEnd(),i.extenPriority=!1,i.extenInclude=!1),i.extenSame&&(i.extenPriority=!1,i.extenSame=!1,i.extenApplication=!0),"tag"):i.extenPriority?(i.extenPriority=!1,i.extenApplication=!0,r.next(),i.extenSame?null:(r.eatWhile(/[^,]/),"number")):i.extenApplication?(r.eatWhile(/,/),","===(o=r.current())?null:(r.eatWhile(/\w/),o=r.current().toLowerCase(),i.extenApplication=!1,-1!==n.indexOf(o)?"def strong":null)):function(n,r){var i="",o=n.next();if(r.blockComment)return"-"==o&&n.match("-;",!0)?r.blockComment=!1:n.skipTo("--;")?(n.next(),n.next(),n.next(),r.blockComment=!1):n.skipToEnd(),"comment";if(";"==o)return n.match("--",!0)&&!n.match("-",!1)?(r.blockComment=!0,"comment"):(n.skipToEnd(),"comment");if("["==o)return n.skipTo("]"),n.eat("]"),"header";if('"'==o)return n.skipTo('"'),"string";if("'"==o)return n.skipTo("'"),"string-2";if("#"==o&&(n.eatWhile(/\w/),i=n.current(),-1!==t.indexOf(i)))return n.skipToEnd(),"strong";if("$"==o&&"{"==n.peek())return n.skipTo("}"),n.eat("}"),"variable-3";if(n.eatWhile(/\w/),i=n.current(),-1!==e.indexOf(i)){switch(r.extenStart=!0,i){case"same":r.extenSame=!0;break;case"include":case"switch":case"ignorepat":r.extenInclude=!0}return"atom"}}(r,i)},blockCommentStart:";--",blockCommentEnd:"--;",lineComment:";"}})),e.defineMIME("text/x-asterisk","asterisk")}(n(23326))},91352:(e,t,n)=>{!function(e){"use strict";var t="><+-.,[]".split("");e.defineMode("brainfuck",(function(){return{startState:function(){return{commentLine:!1,left:0,right:0,commentLoop:!1}},token:function(e,n){if(e.eatSpace())return null;e.sol()&&(n.commentLine=!1);var r=e.next().toString();return-1===t.indexOf(r)?(n.commentLine=!0,e.eol()&&(n.commentLine=!1),"comment"):!0===n.commentLine?(e.eol()&&(n.commentLine=!1),"comment"):"]"===r||"["===r?("["===r?n.left++:n.right++,"bracket"):"+"===r||"-"===r?"keyword":"<"===r||">"===r?"atom":"."===r||","===r?"def":void(e.eol()&&(n.commentLine=!1))}}})),e.defineMIME("text/x-brainfuck","brainfuck")}(n(23326))},80011:(e,t,n)=>{!function(e){"use strict";function t(e,t,n,r,i,o){this.indented=e,this.column=t,this.type=n,this.info=r,this.align=i,this.prev=o}function n(e,n,r,i){var o=e.indented;return e.context&&"statement"==e.context.type&&"statement"!=r&&(o=e.context.indented),e.context=new t(o,n,r,i,null,e.context)}function r(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}function i(e,t,n){return"variable"==t.prevToken||"type"==t.prevToken||!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(e.string.slice(0,n))||!(!t.typeAtEndOfLine||e.column()!=e.indentation())||void 0}function o(e){for(;;){if(!e||"top"==e.type)return!0;if("}"==e.type&&"namespace"!=e.prev.info)return!1;e=e.prev}}function a(e){for(var t={},n=e.split(" "),r=0;r!?|\/]/,O=l.isIdentifierChar||/[\w\$_\xa1-\uffff]/,P=l.isReservedIdentifier||!1;function D(e,t){var n,r=e.next();if(w[r]){var i=w[r](e,t);if(!1!==i)return i}if('"'==r||"'"==r)return t.tokenize=(n=r,function(e,t){for(var r,i=!1,o=!1;null!=(r=e.next());){if(r==n&&!i){o=!0;break}i=!i&&"\\"==r}return(o||!i&&!_)&&(t.tokenize=null),"string"}),t.tokenize(e,t);if(S.test(r)){if(e.backUp(1),e.match(A))return"number";e.next()}if(C.test(r))return u=r,null;if("/"==r){if(e.eat("*"))return t.tokenize=R,R(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(T.test(r)){for(;!e.match(/^\/[\/*]/,!1)&&e.eat(T););return"operator"}if(e.eatWhile(O),E)for(;e.match(E);)e.eatWhile(O);var o=e.current();return s(h,o)?(s(v,o)&&(u="newstatement"),s(y,o)&&(c=!0),"keyword"):s(m,o)?"type":s(g,o)||P&&P(o)?(s(v,o)&&(u="newstatement"),"builtin"):s(b,o)?"atom":"variable"}function R(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=null;break}r="*"==n}return"comment"}function I(e,t){l.typeFirstDefinitions&&e.eol()&&o(t.context)&&(t.typeAtEndOfLine=i(e,t,e.pos))}return{startState:function(e){return{tokenize:null,context:new t((e||0)-d,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(e,t){var a=t.context;if(e.sol()&&(null==a.align&&(a.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return I(e,t),null;u=c=null;var s=(t.tokenize||D)(e,t);if("comment"==s||"meta"==s)return s;if(null==a.align&&(a.align=!0),";"==u||":"==u||","==u&&e.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==t.context.type;)r(t);else if("{"==u)n(t,e.column(),"}");else if("["==u)n(t,e.column(),"]");else if("("==u)n(t,e.column(),")");else if("}"==u){for(;"statement"==a.type;)a=r(t);for("}"==a.type&&(a=r(t));"statement"==a.type;)a=r(t)}else u==a.type?r(t):x&&(("}"==a.type||"top"==a.type)&&";"!=u||"statement"==a.type&&"newstatement"==u)&&n(t,e.column(),"statement",e.current());if("variable"==s&&("def"==t.prevToken||l.typeFirstDefinitions&&i(e,t,e.start)&&o(t.context)&&e.match(/^\s*\(/,!1))&&(s="def"),w.token){var d=w.token(e,t,s);void 0!==d&&(s=d)}return"def"==s&&!1===l.styleDefs&&(s="variable"),t.startOfLine=!1,t.prevToken=c?"def":s||u,I(e,t),s},indent:function(t,n){if(t.tokenize!=D&&null!=t.tokenize||t.typeAtEndOfLine&&o(t.context))return e.Pass;var r=t.context,i=n&&n.charAt(0),a=i==r.type;if("statement"==r.type&&"}"==i&&(r=r.prev),l.dontIndentStatements)for(;"statement"==r.type&&l.dontIndentStatements.test(r.info);)r=r.prev;if(w.indent){var s=w.indent(t,r,n,d);if("number"==typeof s)return s}var u=r.prev&&"switch"==r.prev.info;if(l.allmanIndentation&&/[{(]/.test(i)){for(;"top"!=r.type&&"}"!=r.type;)r=r.prev;return r.indented}return"statement"==r.type?r.indented+("{"==i?0:p):!r.align||f&&")"==r.type?")"!=r.type||a?r.indented+(a?0:d)+(a||!u||/^(?:case|default)\b/.test(n)?0:d):r.indented+p:r.column+(a?0:1)},electricInput:k?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}}));var l="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran",u="alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq",c="bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available",d="FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT",p=a("int long char short double float unsigned signed void bool"),f=a("SEL instancetype id Class Protocol BOOL");function h(e){return s(p,e)||/.+_t$/.test(e)}function m(e){return h(e)||s(f,e)}var g="case do else for if switch while struct enum union",v="struct enum union";function y(e,t){if(!t.startOfLine)return!1;for(var n,r=null;n=e.peek();){if("\\"==n&&e.match(/^.$/)){r=y;break}if("/"==n&&e.match(/^\/[\/\*]/,!1))break;e.next()}return t.tokenize=r,"meta"}function b(e,t){return"type"==t.prevToken&&"type"}function w(e){return!(!e||e.length<2||"_"!=e[0]||"_"!=e[1]&&e[1]===e[1].toLowerCase())}function _(e){return e.eatWhile(/[\w\.']/),"number"}function x(e,t){if(e.backUp(1),e.match(/^(?:R|u8R|uR|UR|LR)/)){var n=e.match(/^"([^\s\\()]{0,16})\(/);return!!n&&(t.cpp11RawStringDelim=n[1],t.tokenize=C,C(e,t))}return e.match(/^(?:u8|u|U|L)/)?!!e.match(/^["']/,!1)&&"string":(e.next(),!1)}function k(e){var t=/(\w+)::~?(\w+)$/.exec(e);return t&&t[1]==t[2]}function E(e,t){for(var n;null!=(n=e.next());)if('"'==n&&!e.eat('"')){t.tokenize=null;break}return"string"}function C(e,t){var n=t.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&");return e.match(new RegExp(".*?\\)"+n+'"'))?t.tokenize=null:e.skipToEnd(),"string"}function S(t,n){"string"==typeof t&&(t=[t]);var r=[];function i(e){if(e)for(var t in e)e.hasOwnProperty(t)&&r.push(t)}i(n.keywords),i(n.types),i(n.builtin),i(n.atoms),r.length&&(n.helperType=t[0],e.registerHelper("hintWords",t[0],r));for(var o=0;o!?|\/#:@]/,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,t){return!!e.match('""')&&(t.tokenize=A,t.tokenize(e,t))},"'":function(e){return e.match(/^(\\[^'\s]+|[^\\'])'/)?"string-2":(e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(e,n){var r=n.context;return!("}"!=r.type||!r.align||!e.eat(">"))&&(n.context=new t(r.indented,r.column,r.type,r.info,null,r.prev),"operator")},"/":function(e,t){return!!e.eat("*")&&(t.tokenize=T(1),t.tokenize(e,t))}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}}),S("text/x-kotlin",{name:"clike",keywords:a("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam value"),types:a("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:a("catch class do else finally for if where try while enum"),defKeywords:a("class val var object interface fun"),atoms:a("true false null this"),hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},"*":function(e,t){return"."==t.prevToken?"variable":"operator"},'"':function(e,t){return t.tokenize=(n=e.match('""'),function(e,t){for(var r,i=!1,o=!1;!e.eol();){if(!n&&!i&&e.match('"')){o=!0;break}if(n&&e.match('"""')){o=!0;break}r=e.next(),!i&&"$"==r&&e.match("{")&&e.skipTo("}"),i=!i&&"\\"==r&&!n}return!o&&n||(t.tokenize=null),"string"}),t.tokenize(e,t);var n},"/":function(e,t){return!!e.eat("*")&&(t.tokenize=T(1),t.tokenize(e,t))},indent:function(e,t,n,r){var i=n&&n.charAt(0);return"}"!=e.prevToken&&")"!=e.prevToken||""!=n?"operator"==e.prevToken&&"}"!=n&&"}"!=e.context.type||"variable"==e.prevToken&&"."==i||("}"==e.prevToken||")"==e.prevToken)&&"."==i?2*r+t.indented:t.align&&"}"==t.type?t.indented+(e.context.type==(n||"").charAt(0)?0:r):void 0:e.indented}},modeProps:{closeBrackets:{triples:'"'}}}),S(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:a("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:a("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:a("for while do if else struct"),builtin:a("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:a("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":y},modeProps:{fold:["brace","include"]}}),S("text/x-nesc",{name:"clike",keywords:a(l+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:h,blockKeywords:a(g),atoms:a("null true false"),hooks:{"#":y},modeProps:{fold:["brace","include"]}}),S("text/x-objectivec",{name:"clike",keywords:a(l+" "+c),types:m,builtin:a(d),blockKeywords:a(g+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:a(v+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:a("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:w,hooks:{"#":y,"*":b},modeProps:{fold:["brace","include"]}}),S("text/x-objectivec++",{name:"clike",keywords:a(l+" "+c+" "+u),types:m,builtin:a(d),blockKeywords:a(g+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:a(v+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:a("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:w,hooks:{"#":y,"*":b,u:x,U:x,L:x,R:x,0:_,1:_,2:_,3:_,4:_,5:_,6:_,7:_,8:_,9:_,token:function(e,t,n){if("variable"==n&&"("==e.peek()&&(";"==t.prevToken||null==t.prevToken||"}"==t.prevToken)&&k(e.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),S("text/x-squirrel",{name:"clike",keywords:a("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:h,blockKeywords:a("case catch class else for foreach if switch try while"),defKeywords:a("function local class"),typeFirstDefinitions:!0,atoms:a("true false null"),hooks:{"#":y},modeProps:{fold:["brace","include"]}});var O=null;function P(e){return function(t,n){for(var r,i=!1,o=!1;!t.eol();){if(!i&&t.match('"')&&("single"==e||t.match('""'))){o=!0;break}if(!i&&t.match("``")){O=P(e),o=!0;break}r=t.next(),i="single"==e&&!i&&"\\"==r}return o&&(n.tokenize=null),"string"}}S("text/x-ceylon",{name:"clike",keywords:a("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(e){var t=e.charAt(0);return t===t.toUpperCase()&&t!==t.toLowerCase()},blockKeywords:a("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:a("class dynamic function interface module object package value"),builtin:a("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:a("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,t){return t.tokenize=P(e.match('""')?"triple":"single"),t.tokenize(e,t)},"`":function(e,t){return!(!O||!e.match("`"))&&(t.tokenize=O,O=null,t.tokenize(e,t))},"'":function(e){return e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(e,t,n){if(("variable"==n||"type"==n)&&"."==t.prevToken)return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})}(n(23326))},3463:(e,t,n)=>{!function(e){"use strict";e.defineMode("clojure",(function(t){var n=["false","nil","true"],r=[".","catch","def","do","if","monitor-enter","monitor-exit","new","quote","recur","set!","throw","try","var"],i=["*","*'","*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-namespace-maps*","*print-readably*","*read-eval*","*reader-resolver*","*source-path*","*suppress-read*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","+","+'","-","-'","->","->>","->ArrayChunk","->Eduction","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods","..","/","<","<=","=","==",">",">=","EMPTY-NODE","Inst","StackTraceElement->vec","Throwable->map","accessor","aclone","add-classpath","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","amap","ancestors","and","any?","apply","areduce","array-map","as->","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assert","assoc","assoc!","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","binding","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","boolean?","booleans","bound-fn","bound-fn*","bound?","bounded-count","butlast","byte","byte-array","bytes","bytes?","case","cast","cat","char","char-array","char-escape-string","char-name-string","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","coll?","comment","commute","comp","comparator","compare","compare-and-set!","compile","complement","completing","concat","cond","cond->","cond->>","condp","conj","conj!","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","declare","dedupe","default-data-readers","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","delay","delay?","deliver","denominator","deref","derive","descendants","destructure","disj","disj!","dissoc","dissoc!","distinct","distinct?","doall","dorun","doseq","dosync","dotimes","doto","double","double-array","double?","doubles","drop","drop-last","drop-while","eduction","empty","empty?","ensure","ensure-reduced","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-data","ex-info","extend","extend-protocol","extend-type","extenders","extends?","false?","ffirst","file-seq","filter","filterv","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn","fn?","fnext","fnil","for","force","format","frequencies","future","future-call","future-cancel","future-cancelled?","future-done?","future?","gen-class","gen-interface","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","halt-when","hash","hash-combine","hash-map","hash-ordered-coll","hash-set","hash-unordered-coll","ident?","identical?","identity","if-let","if-not","if-some","ifn?","import","in-ns","inc","inc'","indexed?","init-proxy","inst-ms","inst-ms*","inst?","instance?","int","int-array","int?","integer?","interleave","intern","interpose","into","into-array","ints","io!","isa?","iterate","iterator-seq","juxt","keep","keep-indexed","key","keys","keyword","keyword?","last","lazy-cat","lazy-seq","let","letfn","line-seq","list","list*","list?","load","load-file","load-reader","load-string","loaded-libs","locking","long","long-array","longs","loop","macroexpand","macroexpand-1","make-array","make-hierarchy","map","map-entry?","map-indexed","map?","mapcat","mapv","max","max-key","memfn","memoize","merge","merge-with","meta","method-sig","methods","min","min-key","mix-collection-hash","mod","munge","name","namespace","namespace-munge","nat-int?","neg-int?","neg?","newline","next","nfirst","nil?","nnext","not","not-any?","not-empty","not-every?","not=","ns","ns-aliases","ns-imports","ns-interns","ns-map","ns-name","ns-publics","ns-refers","ns-resolve","ns-unalias","ns-unmap","nth","nthnext","nthrest","num","number?","numerator","object-array","odd?","or","parents","partial","partition","partition-all","partition-by","pcalls","peek","persistent!","pmap","pop","pop!","pop-thread-bindings","pos-int?","pos?","pr","pr-str","prefer-method","prefers","primitives-classnames","print","print-ctor","print-dup","print-method","print-simple","print-str","printf","println","println-str","prn","prn-str","promise","proxy","proxy-call-with-super","proxy-mappings","proxy-name","proxy-super","push-thread-bindings","pvalues","qualified-ident?","qualified-keyword?","qualified-symbol?","quot","rand","rand-int","rand-nth","random-sample","range","ratio?","rational?","rationalize","re-find","re-groups","re-matcher","re-matches","re-pattern","re-seq","read","read-line","read-string","reader-conditional","reader-conditional?","realized?","record?","reduce","reduce-kv","reduced","reduced?","reductions","ref","ref-history-count","ref-max-history","ref-min-history","ref-set","refer","refer-clojure","reify","release-pending-sends","rem","remove","remove-all-methods","remove-method","remove-ns","remove-watch","repeat","repeatedly","replace","replicate","require","reset!","reset-meta!","reset-vals!","resolve","rest","restart-agent","resultset-seq","reverse","reversible?","rseq","rsubseq","run!","satisfies?","second","select-keys","send","send-off","send-via","seq","seq?","seqable?","seque","sequence","sequential?","set","set-agent-send-executor!","set-agent-send-off-executor!","set-error-handler!","set-error-mode!","set-validator!","set?","short","short-array","shorts","shuffle","shutdown-agents","simple-ident?","simple-keyword?","simple-symbol?","slurp","some","some->","some->>","some-fn","some?","sort","sort-by","sorted-map","sorted-map-by","sorted-set","sorted-set-by","sorted?","special-symbol?","spit","split-at","split-with","str","string?","struct","struct-map","subs","subseq","subvec","supers","swap!","swap-vals!","symbol","symbol?","sync","tagged-literal","tagged-literal?","take","take-last","take-nth","take-while","test","the-ns","thread-bound?","time","to-array","to-array-2d","trampoline","transduce","transient","tree-seq","true?","type","unchecked-add","unchecked-add-int","unchecked-byte","unchecked-char","unchecked-dec","unchecked-dec-int","unchecked-divide-int","unchecked-double","unchecked-float","unchecked-inc","unchecked-inc-int","unchecked-int","unchecked-long","unchecked-multiply","unchecked-multiply-int","unchecked-negate","unchecked-negate-int","unchecked-remainder-int","unchecked-short","unchecked-subtract","unchecked-subtract-int","underive","unquote","unquote-splicing","unreduced","unsigned-bit-shift-right","update","update-in","update-proxy","uri?","use","uuid?","val","vals","var-get","var-set","var?","vary-meta","vec","vector","vector-of","vector?","volatile!","volatile?","vreset!","vswap!","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn","xml-seq","zero?","zipmap"];e.registerHelper("hintWords","clojure",[].concat(n,r,i));var o=g(n),a=g(r),s=g(i),l=g(["->","->>","as->","binding","bound-fn","case","catch","comment","cond","cond->","cond->>","condp","def","definterface","defmethod","defn","defmacro","defprotocol","defrecord","defstruct","deftype","do","doseq","dotimes","doto","extend","extend-protocol","extend-type","fn","for","future","if","if-let","if-not","if-some","let","letfn","locking","loop","ns","proxy","reify","struct-map","some->","some->>","try","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn"]),u=/^(?:[\\\[\]\s"(),;@^`{}~]|$)/,c=/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,d=/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,p=/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/;function f(e,t){if(e.eatSpace()||e.eat(","))return["space",null];if(e.match(c))return[null,"number"];if(e.match(d))return[null,"string-2"];if(e.eat(/^"/))return(t.tokenize=h)(e,t);if(e.eat(/^[(\[{]/))return["open","bracket"];if(e.eat(/^[)\]}]/))return["close","bracket"];if(e.eat(/^;/))return e.skipToEnd(),["space","comment"];if(e.eat(/^[#'@^`~]/))return[null,"meta"];var n=e.match(p),r=n&&n[0];return r?"comment"===r&&"("===t.lastToken?(t.tokenize=m)(e,t):v(r,o)||":"===r.charAt(0)?["symbol","atom"]:v(r,a)||v(r,s)?["symbol","keyword"]:"("===t.lastToken?["symbol","builtin"]:["symbol","variable"]:(e.next(),e.eatWhile((function(e){return!v(e,u)})),[null,"error"])}function h(e,t){for(var n,r=!1;n=e.next();){if('"'===n&&!r){t.tokenize=f;break}r=!r&&"\\"===n}return[null,"string"]}function m(e,t){for(var n,r=1;n=e.next();)if(")"===n&&r--,"("===n&&r++,0===r){e.backUp(1),t.tokenize=f;break}return["space","comment"]}function g(e){for(var t={},n=0;n{!function(e){"use strict";e.defineMode("cmake",(function(){var e=/({)?[a-zA-Z0-9_]+(})?/;function t(e,t){for(var n,r,i=!1;!e.eol()&&(n=e.next())!=t.pending;){if("$"===n&&"\\"!=r&&'"'==t.pending){i=!0;break}r=n}return i&&e.backUp(1),n==t.pending?t.continueString=!1:t.continueString=!0,"string"}return{startState:function(){return{inDefinition:!1,inInclude:!1,continueString:!1,pending:!1}},token:function(n,r){return n.eatSpace()?null:function(n,r){var i=n.next();return"$"===i?n.match(e)?"variable-2":"variable":r.continueString?(n.backUp(1),t(n,r)):n.match(/(\s+)?\w+\(/)||n.match(/(\s+)?\w+\ \(/)?(n.backUp(1),"def"):"#"==i?(n.skipToEnd(),"comment"):"'"==i||'"'==i?(r.pending=i,t(n,r)):"("==i||")"==i?"bracket":i.match(/[0-9]/)?"number":(n.eatWhile(/[\w-]/),null)}(n,r)}}})),e.defineMIME("text/x-cmake","cmake")}(n(23326))},25619:(e,t,n)=>{!function(e){"use strict";e.defineMode("cobol",(function(){var e="string",t="atom";function n(e){for(var t={},n=e.split(" "),r=0;r >= "),a={digit:/\d/,digit_or_colon:/[\d:]/,hex:/[0-9a-f]/i,sign:/[+-]/,exponent:/e/i,keyword_char:/[^\s\(\[\;\)\]]/,symbol:/[\w*+\-]/};return{startState:function(){return{indentStack:null,indentation:0,mode:!1}},token:function(n,s){if(null==s.indentStack&&n.sol()&&(s.indentation=6),n.eatSpace())return null;var l=null;if("string"===s.mode){for(var u=!1;null!=(u=n.next());)if(('"'==u||"'"==u)&&!n.match(/['"]/,!1)){s.mode=!1;break}l=e}else{var c=n.next(),d=n.column();if(d>=0&&d<=5)l="def";else if(d>=72&&d<=79)n.skipToEnd(),l="header";else if("*"==c&&6==d)n.skipToEnd(),l="comment";else if('"'==c||"'"==c)s.mode="string",l=e;else if("'"!=c||a.digit_or_colon.test(n.peek()))if("."==c)l="link";else if(function(e,t){return"0"===e&&t.eat(/x/i)?(t.eatWhile(a.hex),!0):("+"!=e&&"-"!=e||!a.digit.test(t.peek())||(t.eat(a.sign),e=t.next()),!!a.digit.test(e)&&(t.eat(e),t.eatWhile(a.digit),"."==t.peek()&&(t.eat("."),t.eatWhile(a.digit)),t.eat(a.exponent)&&(t.eat(a.sign),t.eatWhile(a.digit)),!0))}(c,n))l="number";else{if(n.current().match(a.symbol))for(;d<71&&void 0!==n.eat(a.symbol);)d++;l=i&&i.propertyIsEnumerable(n.current().toUpperCase())?"keyword":o&&o.propertyIsEnumerable(n.current().toUpperCase())?"builtin":r&&r.propertyIsEnumerable(n.current().toUpperCase())?t:null}else l=t}return l},indent:function(e){return null==e.indentStack?e.indentation:e.indentStack.indent}}})),e.defineMIME("text/x-cobol","cobol")}(n(23326))},86386:(e,t,n)=>{!function(e){"use strict";e.defineMode("coffeescript",(function(e,t){var n="error";function r(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var i=/^(?:->|=>|\+[+=]?|-[\-=]?|\*[\*=]?|\/[\/=]?|[=!]=|<[><]?=?|>>?=?|%=?|&=?|\|=?|\^=?|\~|!|\?|(or|and|\|\||&&|\?)=)/,o=/^(?:[()\[\]{},:`=;]|\.\.?\.?)/,a=/^[_A-Za-z$][_A-Za-z$0-9]*/,s=/^@[_A-Za-z$][_A-Za-z$0-9]*/,l=r(["and","or","not","is","isnt","in","instanceof","typeof"]),u=["for","while","loop","if","unless","else","switch","try","catch","finally","class"],c=r(u.concat(["break","by","continue","debugger","delete","do","in","of","new","return","then","this","@","throw","when","until","extends"]));u=r(u);var d=/^('{3}|\"{3}|['\"])/,p=/^(\/{3}|\/)/,f=r(["Infinity","NaN","undefined","null","true","false","on","off","yes","no"]);function h(e,t){if(e.sol()){null===t.scope.align&&(t.scope.align=!1);var r=t.scope.offset;if(e.eatSpace()){var u=e.indentation();return u>r&&"coffee"==t.scope.type?"indent":u0&&y(e,t)}if(e.eatSpace())return null;var h=e.peek();if(e.match("####"))return e.skipToEnd(),"comment";if(e.match("###"))return t.tokenize=g,t.tokenize(e,t);if("#"===h)return e.skipToEnd(),"comment";if(e.match(/^-?[0-9\.]/,!1)){var v=!1;if(e.match(/^-?\d*\.\d+(e[\+\-]?\d+)?/i)&&(v=!0),e.match(/^-?\d+\.\d*/)&&(v=!0),e.match(/^-?\.\d+/)&&(v=!0),v)return"."==e.peek()&&e.backUp(1),"number";var b=!1;if(e.match(/^-?0x[0-9a-f]+/i)&&(b=!0),e.match(/^-?[1-9]\d*(e[\+\-]?\d+)?/)&&(b=!0),e.match(/^-?0(?![\dx])/i)&&(b=!0),b)return"number"}if(e.match(d))return t.tokenize=m(e.current(),!1,"string"),t.tokenize(e,t);if(e.match(p)){if("/"!=e.current()||e.match(/^.*\//,!1))return t.tokenize=m(e.current(),!0,"string-2"),t.tokenize(e,t);e.backUp(1)}return e.match(i)||e.match(l)?"operator":e.match(o)?"punctuation":e.match(f)?"atom":e.match(s)||t.prop&&e.match(a)?"property":e.match(c)?"keyword":e.match(a)?"variable":(e.next(),n)}function m(e,r,i){return function(o,a){for(;!o.eol();)if(o.eatWhile(/[^'"\/\\]/),o.eat("\\")){if(o.next(),r&&o.eol())return i}else{if(o.match(e))return a.tokenize=h,i;o.eat(/['"\/]/)}return r&&(t.singleLineStringErrors?i=n:a.tokenize=h),i}}function g(e,t){for(;!e.eol();){if(e.eatWhile(/[^#]/),e.match("###")){t.tokenize=h;break}e.eatWhile("#")}return"comment"}function v(t,n,r){r=r||"coffee";for(var i=0,o=!1,a=null,s=n.scope;s;s=s.prev)if("coffee"===s.type||"}"==s.type){i=s.offset+e.indentUnit;break}"coffee"!==r?(o=null,a=t.column()+t.current().length):n.scope.align&&(n.scope.align=!1),n.scope={offset:i,type:r,prev:n.scope,align:o,alignOffset:a}}function y(e,t){if(t.scope.prev){if("coffee"===t.scope.type){for(var n=e.indentation(),r=!1,i=t.scope;i;i=i.prev)if(n===i.offset){r=!0;break}if(!r)return!0;for(;t.scope.prev&&t.scope.offset!==n;)t.scope=t.scope.prev;return!1}return t.scope=t.scope.prev,!1}}return{startState:function(e){return{tokenize:h,scope:{offset:e||0,type:"coffee",prev:null,align:!1},prop:!1,dedent:0}},token:function(e,t){var r=null===t.scope.align&&t.scope;r&&e.sol()&&(r.align=!1);var i=function(e,t){var r=t.tokenize(e,t),i=e.current();"return"===i&&(t.dedent=!0),(("->"===i||"=>"===i)&&e.eol()||"indent"===r)&&v(e,t);var o="[({".indexOf(i);if(-1!==o&&v(e,t,"])}".slice(o,o+1)),u.exec(i)&&v(e,t),"then"==i&&y(e,t),"dedent"===r&&y(e,t))return n;if(-1!==(o="])}".indexOf(i))){for(;"coffee"==t.scope.type&&t.scope.prev;)t.scope=t.scope.prev;t.scope.type==i&&(t.scope=t.scope.prev)}return t.dedent&&e.eol()&&("coffee"==t.scope.type&&t.scope.prev&&(t.scope=t.scope.prev),t.dedent=!1),r}(e,t);return i&&"comment"!=i&&(r&&(r.align=!0),t.prop="punctuation"==i&&"."==e.current()),i},indent:function(e,t){if(e.tokenize!=h)return 0;var n=e.scope,r=t&&"])}".indexOf(t.charAt(0))>-1;if(r)for(;"coffee"==n.type&&n.prev;)n=n.prev;var i=r&&n.type===t.charAt(0);return n.align?n.alignOffset-(i?1:0):(i?n.prev:n).offset},lineComment:"#",fold:"indent"}})),e.defineMIME("application/vnd.coffeescript","coffeescript"),e.defineMIME("text/x-coffeescript","coffeescript"),e.defineMIME("text/coffeescript","coffeescript")}(n(23326))},98824:(e,t,n)=>{!function(e){"use strict";e.defineMode("commonlisp",(function(e){var t,n=/^(block|let*|return-from|catch|load-time-value|setq|eval-when|locally|symbol-macrolet|flet|macrolet|tagbody|function|multiple-value-call|the|go|multiple-value-prog1|throw|if|progn|unwind-protect|labels|progv|let|quote)$/,r=/^with|^def|^do|^prog|case$|^cond$|bind$|when$|unless$/,i=/^(?:[+\-]?(?:\d+|\d*\.\d+)(?:[efd][+\-]?\d+)?|[+\-]?\d+(?:\/[+\-]?\d+)?|#b[+\-]?[01]+|#o[+\-]?[0-7]+|#x[+\-]?[\da-f]+)/,o=/[^\s'`,@()\[\]";]/;function a(e){for(var t;t=e.next();)if("\\"==t)e.next();else if(!o.test(t)){e.backUp(1);break}return e.current()}function s(e,o){if(e.eatSpace())return t="ws",null;if(e.match(i))return"number";var s;if("\\"==(s=e.next())&&(s=e.next()),'"'==s)return(o.tokenize=l)(e,o);if("("==s)return t="open","bracket";if(")"==s||"]"==s)return t="close","bracket";if(";"==s)return e.skipToEnd(),t="ws","comment";if(/['`,@]/.test(s))return null;if("|"==s)return e.skipTo("|")?(e.next(),"symbol"):(e.skipToEnd(),"error");if("#"==s)return"("==(s=e.next())?(t="open","bracket"):/[+\-=\.']/.test(s)||/\d/.test(s)&&e.match(/^\d*#/)?null:"|"==s?(o.tokenize=u)(e,o):":"==s?(a(e),"meta"):"\\"==s?(e.next(),a(e),"string-2"):"error";var c=a(e);return"."==c?null:(t="symbol","nil"==c||"t"==c||":"==c.charAt(0)?"atom":"open"==o.lastType&&(n.test(c)||r.test(c))?"keyword":"&"==c.charAt(0)?"variable-2":"variable")}function l(e,t){for(var n,r=!1;n=e.next();){if('"'==n&&!r){t.tokenize=s;break}r=!r&&"\\"==n}return"string"}function u(e,n){for(var r,i;r=e.next();){if("#"==r&&"|"==i){n.tokenize=s;break}i=r}return t="ws","comment"}return{startState:function(){return{ctx:{prev:null,start:0,indentTo:0},lastType:null,tokenize:s}},token:function(n,i){n.sol()&&"number"!=typeof i.ctx.indentTo&&(i.ctx.indentTo=i.ctx.start+1),t=null;var o=i.tokenize(n,i);return"ws"!=t&&(null==i.ctx.indentTo?"symbol"==t&&r.test(n.current())?i.ctx.indentTo=i.ctx.start+e.indentUnit:i.ctx.indentTo="next":"next"==i.ctx.indentTo&&(i.ctx.indentTo=n.column()),i.lastType=t),"open"==t?i.ctx={prev:i.ctx,start:n.column(),indentTo:null}:"close"==t&&(i.ctx=i.ctx.prev||i.ctx),o},indent:function(e,t){var n=e.ctx.indentTo;return"number"==typeof n?n:e.ctx.start+1},closeBrackets:{pairs:'()[]{}""'},lineComment:";;",fold:"brace-paren",blockCommentStart:"#|",blockCommentEnd:"|#"}})),e.defineMIME("text/x-common-lisp","commonlisp")}(n(23326))},67400:(e,t,n)=>{!function(e){"use strict";e.defineMode("crystal",(function(e){function t(e,t){return new RegExp((t?"":"^")+"(?:"+e.join("|")+")"+(t?"$":"\\b"))}function n(e,t,n){return n.tokenize.push(e),e(t,n)}var r=/^(?:[-+/%|&^]|\*\*?|[<>]{2})/,i=/^(?:[=!]~|===|<=>|[<>=!]=?|[|&]{2}|~)/,o=/^(?:\[\][?=]?)/,a=/^(?:\.(?:\.{2})?|->|[?:])/,s=/^[a-z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,l=/^[A-Z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,u=t(["abstract","alias","as","asm","begin","break","case","class","def","do","else","elsif","end","ensure","enum","extend","for","fun","if","include","instance_sizeof","lib","macro","module","next","of","out","pointerof","private","protected","rescue","return","require","select","sizeof","struct","super","then","type","typeof","uninitialized","union","unless","until","when","while","with","yield","__DIR__","__END_LINE__","__FILE__","__LINE__"]),c=t(["true","false","nil","self"]),d=t(["def","fun","macro","class","module","struct","lib","enum","union","do","for"]),p=t(["if","unless","case","while","until","begin","then"]),f=["end","else","elsif","rescue","ensure"],h=t(f),m=["\\)","\\}","\\]"],g=new RegExp("^(?:"+m.join("|")+")$"),v={def:x,fun:x,macro:function(e,t){if(e.eatSpace())return null;var n;if(n=e.match(s)){if("def"==n)return"keyword";e.eat(/[?!]/)}return t.tokenize.pop(),"def"},class:k,module:k,struct:k,lib:k,enum:k,union:k},y={"[":"]","{":"}","(":")","<":">"};function b(e,t){if(e.eatSpace())return null;if("\\"!=t.lastToken&&e.match("{%",!1))return n(_("%","%"),e,t);if("\\"!=t.lastToken&&e.match("{{",!1))return n(_("{","}"),e,t);if("#"==e.peek())return e.skipToEnd(),"comment";var f;if(e.match(s))return e.eat(/[?!]/),f=e.current(),e.eat(":")?"atom":"."==t.lastToken?"property":u.test(f)?(d.test(f)?"fun"==f&&t.blocks.indexOf("lib")>=0||"def"==f&&"abstract"==t.lastToken||(t.blocks.push(f),t.currentIndent+=1):"operator"!=t.lastStyle&&t.lastStyle||!p.test(f)?"end"==f&&(t.blocks.pop(),t.currentIndent-=1):(t.blocks.push(f),t.currentIndent+=1),v.hasOwnProperty(f)&&t.tokenize.push(v[f]),"keyword"):c.test(f)?"atom":"variable";if(e.eat("@"))return"["==e.peek()?n(w("[","]","meta"),e,t):(e.eat("@"),e.match(s)||e.match(l),"variable-2");if(e.match(l))return"tag";if(e.eat(":"))return e.eat('"')?n(E('"',"atom",!1),e,t):e.match(s)||e.match(l)||e.match(r)||e.match(i)||e.match(o)?"atom":(e.eat(":"),"operator");if(e.eat('"'))return n(E('"',"string",!0),e,t);if("%"==e.peek()){var h,m="string",g=!0;if(e.match("%r"))m="string-2",h=e.next();else if(e.match("%w"))g=!1,h=e.next();else if(e.match("%q"))g=!1,h=e.next();else if(h=e.match(/^%([^\w\s=])/))h=h[1];else{if(e.match(/^%[a-zA-Z_\u009F-\uFFFF][\w\u009F-\uFFFF]*/))return"meta";if(e.eat("%"))return"operator"}return y.hasOwnProperty(h)&&(h=y[h]),n(E(h,m,g),e,t)}return(f=e.match(/^<<-('?)([A-Z]\w*)\1/))?n(function(e,t){return function(n,r){if(n.sol()&&(n.eatSpace(),n.match(e)))return r.tokenize.pop(),"string";for(var i=!1;n.peek();)if(i)n.next(),i=!1;else{if(n.match("{%",!1))return r.tokenize.push(_("%","%")),"string";if(n.match("{{",!1))return r.tokenize.push(_("{","}")),"string";if(t&&n.match("#{",!1))return r.tokenize.push(w("#{","}","meta")),"string";i=t&&"\\"==n.next()}return"string"}}(f[2],!f[1]),e,t):e.eat("'")?(e.match(/^(?:[^']|\\(?:[befnrtv0'"]|[0-7]{3}|u(?:[0-9a-fA-F]{4}|\{[0-9a-fA-F]{1,6}\})))/),e.eat("'"),"atom"):e.eat("0")?(e.eat("x")?e.match(/^[0-9a-fA-F_]+/):e.eat("o")?e.match(/^[0-7_]+/):e.eat("b")&&e.match(/^[01_]+/),"number"):e.eat(/^\d/)?(e.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+-]?\d+)?/),"number"):e.match(r)?(e.eat("="),"operator"):e.match(i)||e.match(a)?"operator":(f=e.match(/[({[]/,!1))?n(w(f=f[0],y[f],null),e,t):e.eat("\\")?(e.next(),"meta"):(e.next(),null)}function w(e,t,n,r){return function(i,o){if(!r&&i.match(e))return o.tokenize[o.tokenize.length-1]=w(e,t,n,!0),o.currentIndent+=1,n;var a=b(i,o);return i.current()===t&&(o.tokenize.pop(),o.currentIndent-=1,a=n),a}}function _(e,t,n){return function(r,i){return!n&&r.match("{"+e)?(i.currentIndent+=1,i.tokenize[i.tokenize.length-1]=_(e,t,!0),"meta"):r.match(t+"}")?(i.currentIndent-=1,i.tokenize.pop(),"meta"):b(r,i)}}function x(e,t){return e.eatSpace()?null:(e.match(s)?e.eat(/[!?]/):e.match(r)||e.match(i)||e.match(o),t.tokenize.pop(),"def")}function k(e,t){return e.eatSpace()?null:(e.match(l),t.tokenize.pop(),"def")}function E(e,t,n){return function(r,i){for(var o=!1;r.peek();)if(o)r.next(),o=!1;else{if(r.match("{%",!1))return i.tokenize.push(_("%","%")),t;if(r.match("{{",!1))return i.tokenize.push(_("{","}")),t;if(n&&r.match("#{",!1))return i.tokenize.push(w("#{","}","meta")),t;var a=r.next();if(a==e)return i.tokenize.pop(),t;o=n&&"\\"==a}return t}}return{startState:function(){return{tokenize:[b],currentIndent:0,lastToken:null,lastStyle:null,blocks:[]}},token:function(e,t){var n=t.tokenize[t.tokenize.length-1](e,t),r=e.current();return n&&"comment"!=n&&(t.lastToken=r,t.lastStyle=n),n},indent:function(t,n){return n=n.replace(/^\s*(?:\{%)?\s*|\s*(?:%\})?\s*$/g,""),h.test(n)||g.test(n)?e.indentUnit*(t.currentIndent-1):e.indentUnit*t.currentIndent},fold:"indent",electricInput:t(m.concat(f),!0),lineComment:"#"}})),e.defineMIME("text/x-crystal","crystal")}(n(23326))},98627:(e,t,n)=>{!function(e){"use strict";function t(e){for(var t={},n=0;n*\/]/.test(n)?x(null,"select-op"):"."==n&&e.match(/^-?[_a-z][_a-z0-9-]*/i)?x("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(n)?x(null,n):e.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(e.current())&&(t.tokenize=C),x("variable callee","variable")):/[\w\\\-]/.test(n)?(e.eatWhile(/[\w\\\-]/),x("property","word")):x(null,null):/[\d.]/.test(e.peek())?(e.eatWhile(/[\w.%]/),x("number","unit")):e.match(/^-[\w\\\-]*/)?(e.eatWhile(/[\w\\\-]/),e.match(/^\s*:/,!1)?x("variable-2","variable-definition"):x("variable-2","variable")):e.match(/^\w+-/)?x("meta","meta"):void 0}function E(e){return function(t,n){for(var r,i=!1;null!=(r=t.next());){if(r==e&&!i){")"==e&&t.backUp(1);break}i=!i&&"\\"==r}return(r==e||!i&&")"!=e)&&(n.tokenize=null),x("string","string")}}function C(e,t){return e.next(),e.match(/^\s*[\"\')]/,!1)?t.tokenize=null:t.tokenize=E(")"),x(null,"(")}function S(e,t,n){this.type=e,this.indent=t,this.prev=n}function A(e,t,n,r){return e.context=new S(n,t.indentation()+(!1===r?0:a),e.context),n}function T(e){return e.context.prev&&(e.context=e.context.prev),e.context.type}function O(e,t,n){return R[n.context.type](e,t,n)}function P(e,t,n,r){for(var i=r||1;i>0;i--)n.context=n.context.prev;return O(e,t,n)}function D(e){var t=e.current().toLowerCase();o=v.hasOwnProperty(t)?"atom":g.hasOwnProperty(t)?"keyword":"variable"}var R={top:function(e,t,n){if("{"==e)return A(n,t,"block");if("}"==e&&n.context.prev)return T(n);if(w&&/@component/i.test(e))return A(n,t,"atComponentBlock");if(/^@(-moz-)?document$/i.test(e))return A(n,t,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(e))return A(n,t,"atBlock");if(/^@(font-face|counter-style)/i.test(e))return n.stateArg=e,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(e))return"keyframes";if(e&&"@"==e.charAt(0))return A(n,t,"at");if("hash"==e)o="builtin";else if("word"==e)o="tag";else{if("variable-definition"==e)return"maybeprop";if("interpolation"==e)return A(n,t,"interpolation");if(":"==e)return"pseudo";if(y&&"("==e)return A(n,t,"parens")}return n.context.type},block:function(e,t,n){if("word"==e){var r=t.current().toLowerCase();return p.hasOwnProperty(r)?(o="property","maybeprop"):f.hasOwnProperty(r)?(o=_?"string-2":"property","maybeprop"):y?(o=t.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(o+=" error","maybeprop")}return"meta"==e?"block":y||"hash"!=e&&"qualifier"!=e?R.top(e,t,n):(o="error","block")},maybeprop:function(e,t,n){return":"==e?A(n,t,"prop"):O(e,t,n)},prop:function(e,t,n){if(";"==e)return T(n);if("{"==e&&y)return A(n,t,"propBlock");if("}"==e||"{"==e)return P(e,t,n);if("("==e)return A(n,t,"parens");if("hash"!=e||/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(t.current())){if("word"==e)D(t);else if("interpolation"==e)return A(n,t,"interpolation")}else o+=" error";return"prop"},propBlock:function(e,t,n){return"}"==e?T(n):"word"==e?(o="property","maybeprop"):n.context.type},parens:function(e,t,n){return"{"==e||"}"==e?P(e,t,n):")"==e?T(n):"("==e?A(n,t,"parens"):"interpolation"==e?A(n,t,"interpolation"):("word"==e&&D(t),"parens")},pseudo:function(e,t,n){return"meta"==e?"pseudo":"word"==e?(o="variable-3",n.context.type):O(e,t,n)},documentTypes:function(e,t,n){return"word"==e&&l.hasOwnProperty(t.current())?(o="tag",n.context.type):R.atBlock(e,t,n)},atBlock:function(e,t,n){if("("==e)return A(n,t,"atBlock_parens");if("}"==e||";"==e)return P(e,t,n);if("{"==e)return T(n)&&A(n,t,y?"block":"top");if("interpolation"==e)return A(n,t,"interpolation");if("word"==e){var r=t.current().toLowerCase();o="only"==r||"not"==r||"and"==r||"or"==r?"keyword":u.hasOwnProperty(r)?"attribute":c.hasOwnProperty(r)?"property":d.hasOwnProperty(r)?"keyword":p.hasOwnProperty(r)?"property":f.hasOwnProperty(r)?_?"string-2":"property":v.hasOwnProperty(r)?"atom":g.hasOwnProperty(r)?"keyword":"error"}return n.context.type},atComponentBlock:function(e,t,n){return"}"==e?P(e,t,n):"{"==e?T(n)&&A(n,t,y?"block":"top",!1):("word"==e&&(o="error"),n.context.type)},atBlock_parens:function(e,t,n){return")"==e?T(n):"{"==e||"}"==e?P(e,t,n,2):R.atBlock(e,t,n)},restricted_atBlock_before:function(e,t,n){return"{"==e?A(n,t,"restricted_atBlock"):"word"==e&&"@counter-style"==n.stateArg?(o="variable","restricted_atBlock_before"):O(e,t,n)},restricted_atBlock:function(e,t,n){return"}"==e?(n.stateArg=null,T(n)):"word"==e?(o="@font-face"==n.stateArg&&!h.hasOwnProperty(t.current().toLowerCase())||"@counter-style"==n.stateArg&&!m.hasOwnProperty(t.current().toLowerCase())?"error":"property","maybeprop"):"restricted_atBlock"},keyframes:function(e,t,n){return"word"==e?(o="variable","keyframes"):"{"==e?A(n,t,"top"):O(e,t,n)},at:function(e,t,n){return";"==e?T(n):"{"==e||"}"==e?P(e,t,n):("word"==e?o="tag":"hash"==e&&(o="builtin"),"at")},interpolation:function(e,t,n){return"}"==e?T(n):"{"==e||";"==e?P(e,t,n):("word"==e?o="variable":"variable"!=e&&"("!=e&&")"!=e&&(o="error"),"interpolation")}};return{startState:function(e){return{tokenize:null,state:r?"block":"top",stateArg:null,context:new S(r?"block":"top",e||0,null)}},token:function(e,t){if(!t.tokenize&&e.eatSpace())return null;var n=(t.tokenize||k)(e,t);return n&&"object"==typeof n&&(i=n[1],n=n[0]),o=n,"comment"!=i&&(t.state=R[t.state](i,e,t)),o},indent:function(e,t){var n=e.context,r=t&&t.charAt(0),i=n.indent;return"prop"!=n.type||"}"!=r&&")"!=r||(n=n.prev),n.prev&&("}"!=r||"block"!=n.type&&"top"!=n.type&&"interpolation"!=n.type&&"restricted_atBlock"!=n.type?(")"!=r||"parens"!=n.type&&"atBlock_parens"!=n.type)&&("{"!=r||"at"!=n.type&&"atBlock"!=n.type)||(i=Math.max(0,n.indent-a)):i=(n=n.prev).indent),i},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:b,fold:"brace"}}));var n=["domain","regexp","url","url-prefix"],r=t(n),i=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],o=t(i),a=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover","prefers-color-scheme","dynamic-range","video-dynamic-range"],s=t(a),l=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive","dark","light","standard","high"],u=t(l),c=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","all","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","binding","bleed","block-size","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-content","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","left","letter-spacing","line-break","line-height","line-height-step","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotate","rotation","rotation-point","row-gap","ruby-align","ruby-overhang","ruby-position","ruby-span","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-type","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-orientation","text-outline","text-overflow","text-rendering","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","touch-action","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","paint-order","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],d=t(c),p=["accent-color","aspect-ratio","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","content-visibility","margin-block","margin-block-end","margin-block-start","margin-inline","margin-inline-end","margin-inline-start","overflow-anchor","overscroll-behavior","padding-block","padding-block-end","padding-block-start","padding-inline","padding-inline-end","padding-inline-start","scroll-snap-stop","scrollbar-3d-light-color","scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-track-color","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","shape-inside","zoom"],f=t(p),h=t(["font-display","font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"]),m=t(["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"]),g=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","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","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","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","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],v=t(g),y=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","blur","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","brightness","bullets","button","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","conic-gradient","contain","content","contents","content-box","context-menu","continuous","contrast","copy","counter","counters","cover","crop","cross","crosshair","cubic-bezier","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","drop-shadow","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","grayscale","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","hue-rotate","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","manipulation","match","matrix","matrix3d","media-play-button","media-slider","media-sliderthumb","media-volume-slider","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiple_mask_images","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","opacity","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeating-conic-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturate","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","self-start","self-end","semi-condensed","semi-expanded","separate","sepia","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","square-button","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],b=t(y),w=n.concat(i).concat(a).concat(l).concat(c).concat(p).concat(g).concat(y);function _(e,t){for(var n,r=!1;null!=(n=e.next());){if(r&&"/"==n){t.tokenize=null;break}r="*"==n}return["comment","comment"]}e.registerHelper("hintWords","css",w),e.defineMIME("text/css",{documentTypes:r,mediaTypes:o,mediaFeatures:s,mediaValueKeywords:u,propertyKeywords:d,nonStandardPropertyKeywords:f,fontProperties:h,counterDescriptors:m,colorKeywords:v,valueKeywords:b,tokenHooks:{"/":function(e,t){return!!e.eat("*")&&(t.tokenize=_,_(e,t))}},name:"css"}),e.defineMIME("text/x-scss",{mediaTypes:o,mediaFeatures:s,mediaValueKeywords:u,propertyKeywords:d,nonStandardPropertyKeywords:f,colorKeywords:v,valueKeywords:b,fontProperties:h,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(e,t){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(t.tokenize=_,_(e,t)):["operator","operator"]},":":function(e){return!!e.match(/^\s*\{/,!1)&&[null,null]},$:function(e){return e.match(/^[\w-]+/),e.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(e){return!!e.eat("{")&&[null,"interpolation"]}},name:"css",helperType:"scss"}),e.defineMIME("text/x-less",{mediaTypes:o,mediaFeatures:s,mediaValueKeywords:u,propertyKeywords:d,nonStandardPropertyKeywords:f,colorKeywords:v,valueKeywords:b,fontProperties:h,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(e,t){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(t.tokenize=_,_(e,t)):["operator","operator"]},"@":function(e){return e.eat("{")?[null,"interpolation"]:!e.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i,!1)&&(e.eatWhile(/[\w\\\-]/),e.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"}),e.defineMIME("text/x-gss",{documentTypes:r,mediaTypes:o,mediaFeatures:s,propertyKeywords:d,nonStandardPropertyKeywords:f,fontProperties:h,counterDescriptors:m,colorKeywords:v,valueKeywords:b,supportsAtComponent:!0,tokenHooks:{"/":function(e,t){return!!e.eat("*")&&(t.tokenize=_,_(e,t))}},name:"css",helperType:"gss"})}(n(23326))},28320:(e,t,n)=>{!function(e){"use strict";var t=function(e){return new RegExp("^(?:"+e.join("|")+")$","i")};e.defineMode("cypher",(function(n){var r,i=function(e){r=null;var t=e.next();if('"'===t)return e.match(/^[^"]*"/),"string";if("'"===t)return e.match(/^[^']*'/),"string";if(/[{}\(\),\.;\[\]]/.test(t))return r=t,"node";if("/"===t&&e.eat("/"))return e.skipToEnd(),"comment";if(p.test(t))return e.eatWhile(p),null;if(e.eatWhile(/[_\w\d]/),e.eat(":"))return e.eatWhile(/[\w\d_\-]/),"atom";var n=e.current();return l.test(n)?"builtin":u.test(n)?"def":c.test(n)||d.test(n)?"keyword":"variable"},o=function(e,t,n){return e.context={prev:e.context,indent:e.indent,col:n,type:t}},a=function(e){return e.indent=e.context.indent,e.context=e.context.prev},s=n.indentUnit,l=t(["abs","acos","allShortestPaths","asin","atan","atan2","avg","ceil","coalesce","collect","cos","cot","count","degrees","e","endnode","exp","extract","filter","floor","haversin","head","id","keys","labels","last","left","length","log","log10","lower","ltrim","max","min","node","nodes","percentileCont","percentileDisc","pi","radians","rand","range","reduce","rel","relationship","relationships","replace","reverse","right","round","rtrim","shortestPath","sign","sin","size","split","sqrt","startnode","stdev","stdevp","str","substring","sum","tail","tan","timestamp","toFloat","toInt","toString","trim","type","upper"]),u=t(["all","and","any","contains","exists","has","in","none","not","or","single","xor"]),c=t(["as","asc","ascending","assert","by","case","commit","constraint","create","csv","cypher","delete","desc","descending","detach","distinct","drop","else","end","ends","explain","false","fieldterminator","foreach","from","headers","in","index","is","join","limit","load","match","merge","null","on","optional","order","periodic","profile","remove","return","scan","set","skip","start","starts","then","true","union","unique","unwind","using","when","where","with","call","yield"]),d=t(["access","active","assign","all","alter","as","catalog","change","copy","create","constraint","constraints","current","database","databases","dbms","default","deny","drop","element","elements","exists","from","grant","graph","graphs","if","index","indexes","label","labels","management","match","name","names","new","node","nodes","not","of","on","or","password","populated","privileges","property","read","relationship","relationships","remove","replace","required","revoke","role","roles","set","show","start","status","stop","suspended","to","traverse","type","types","user","users","with","write"]),p=/[*+\-<>=&|~%^]/;return{startState:function(){return{tokenize:i,context:null,indent:0,col:0}},token:function(e,t){if(e.sol()&&(t.context&&null==t.context.align&&(t.context.align=!1),t.indent=e.indentation()),e.eatSpace())return null;var n=t.tokenize(e,t);if("comment"!==n&&t.context&&null==t.context.align&&"pattern"!==t.context.type&&(t.context.align=!0),"("===r)o(t,")",e.column());else if("["===r)o(t,"]",e.column());else if("{"===r)o(t,"}",e.column());else if(/[\]\}\)]/.test(r)){for(;t.context&&"pattern"===t.context.type;)a(t);t.context&&r===t.context.type&&a(t)}else"."===r&&t.context&&"pattern"===t.context.type?a(t):/atom|string|variable/.test(n)&&t.context&&(/[\}\]]/.test(t.context.type)?o(t,"pattern",e.column()):"pattern"!==t.context.type||t.context.align||(t.context.align=!0,t.context.col=e.column()));return n},indent:function(t,n){var r=n&&n.charAt(0),i=t.context;if(/[\]\}]/.test(r))for(;i&&"pattern"===i.type;)i=i.prev;var o=i&&r===i.type;return i?"keywords"===i.type?e.commands.newlineAndIndent:i.align?i.col+(o?0:1):i.indent+(o?0:s):0}}})),e.modeExtensions.cypher={autoFormatLineBreaks:function(e){for(var t=e.split("\n"),n=/\s+\b(return|where|order by|match|with|skip|limit|create|delete|set)\b\s/g,r=0;r{!function(e){"use strict";function t(e){for(var t={},n=e.split(" "),r=0;r!?|\/]/;function f(e,t){var n,i=e.next();if(c[i]){var o=c[i](e,t);if(!1!==o)return o}if('"'==i||"'"==i||"`"==i)return t.tokenize=(n=i,function(e,t){for(var r,i=!1,o=!1;null!=(r=e.next());){if(r==n&&!i){o=!0;break}i=!i&&"\\"==r}return(o||!i&&!d)&&(t.tokenize=null),"string"}),t.tokenize(e,t);if(/[\[\]{}\(\),;\:\.]/.test(i))return r=i,null;if(/\d/.test(i))return e.eatWhile(/[\w\.]/),"number";if("/"==i){if(e.eat("+"))return t.tokenize=m,m(e,t);if(e.eat("*"))return t.tokenize=h,h(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(p.test(i))return e.eatWhile(p),"operator";e.eatWhile(/[\w\$_\xa1-\uffff]/);var f=e.current();return a.propertyIsEnumerable(f)?(l.propertyIsEnumerable(f)&&(r="newstatement"),"keyword"):s.propertyIsEnumerable(f)?(l.propertyIsEnumerable(f)&&(r="newstatement"),"builtin"):u.propertyIsEnumerable(f)?"atom":"variable"}function h(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=null;break}r="*"==n}return"comment"}function m(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=null;break}r="+"==n}return"comment"}function g(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function v(e,t,n){var r=e.indented;return e.context&&"statement"==e.context.type&&(r=e.context.indented),e.context=new g(r,t,n,null,e.context)}function y(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}return{startState:function(e){return{tokenize:null,context:new g((e||0)-i,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;r=null;var i=(t.tokenize||f)(e,t);if("comment"==i||"meta"==i)return i;if(null==n.align&&(n.align=!0),";"!=r&&":"!=r&&","!=r||"statement"!=n.type)if("{"==r)v(t,e.column(),"}");else if("["==r)v(t,e.column(),"]");else if("("==r)v(t,e.column(),")");else if("}"==r){for(;"statement"==n.type;)n=y(t);for("}"==n.type&&(n=y(t));"statement"==n.type;)n=y(t)}else r==n.type?y(t):(("}"==n.type||"top"==n.type)&&";"!=r||"statement"==n.type&&"newstatement"==r)&&v(t,e.column(),"statement");else y(t);return t.startOfLine=!1,i},indent:function(t,n){if(t.tokenize!=f&&null!=t.tokenize)return e.Pass;var r=t.context,a=n&&n.charAt(0);"statement"==r.type&&"}"==a&&(r=r.prev);var s=a==r.type;return"statement"==r.type?r.indented+("{"==a?0:o):r.align?r.column+(s?0:1):r.indented+(s?0:i)},electricChars:"{}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}}));var n="body catch class do else enum for foreach foreach_reverse if in interface mixin out scope struct switch try union unittest version while with";e.defineMIME("text/x-d",{name:"d",keywords:t("abstract alias align asm assert auto break case cast cdouble cent cfloat const continue debug default delegate delete deprecated export extern final finally function goto immutable import inout invariant is lazy macro module new nothrow override package pragma private protected public pure ref return shared short static super synchronized template this throw typedef typeid typeof volatile __FILE__ __LINE__ __gshared __traits __vector __parameters "+n),blockKeywords:t(n),builtin:t("bool byte char creal dchar double float idouble ifloat int ireal long real short ubyte ucent uint ulong ushort wchar wstring void size_t sizediff_t"),atoms:t("exit failure success true false null"),hooks:{"@":function(e,t){return e.eatWhile(/[\w\$_]/),"meta"}}})}(n(23326))},31061:(e,t,n)=>{!function(e){"use strict";var t="this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline".split(" "),n="try catch finally do else for if switch while".split(" "),r="true false null".split(" "),i="void bool num int double dynamic var String Null Never".split(" ");function o(e){for(var t={},n=0;n0&&(t.tokenize=s(t),null)},"/":function(e,t){return!!e.eat("*")&&(t.tokenize=d(1),t.tokenize(e,t))},token:function(e,t,n){if("variable"==n&&RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g").test(e.current()))return"variable-2"}}}),e.registerHelper("hintWords","application/dart",t.concat(r).concat(i)),e.defineMode("dart",(function(t){return e.getMode(t,"application/dart")}),"clike")}(n(23326),n(80011))},16357:(e,t,n)=>{!function(e){"use strict";e.defineMode("diff",(function(){var e={"+":"positive","-":"negative","@":"meta"};return{token:function(t){var n=t.string.search(/[\t ]+?$/);if(!t.sol()||0===n)return t.skipToEnd(),("error "+(e[t.string.charAt(0)]||"")).replace(/ $/,"");var r=e[t.peek()]||t.skipToEnd();return-1===n?t.skipToEnd():t.pos=n,r}}})),e.defineMIME("text/x-diff","diff")}(n(23326))},51872:(e,t,n)=>{!function(e){"use strict";e.defineMode("django:inner",(function(){var e=["block","endblock","for","endfor","true","false","filter","endfilter","loop","none","self","super","if","elif","endif","as","else","import","with","endwith","without","context","ifequal","endifequal","ifnotequal","endifnotequal","extends","include","load","comment","endcomment","empty","url","static","trans","blocktrans","endblocktrans","now","regroup","lorem","ifchanged","endifchanged","firstof","debug","cycle","csrf_token","autoescape","endautoescape","spaceless","endspaceless","ssi","templatetag","verbatim","endverbatim","widthratio"],t=["add","addslashes","capfirst","center","cut","date","default","default_if_none","dictsort","dictsortreversed","divisibleby","escape","escapejs","filesizeformat","first","floatformat","force_escape","get_digit","iriencode","join","last","length","length_is","linebreaks","linebreaksbr","linenumbers","ljust","lower","make_list","phone2numeric","pluralize","pprint","random","removetags","rjust","safe","safeseq","slice","slugify","stringformat","striptags","time","timesince","timeuntil","title","truncatechars","truncatechars_html","truncatewords","truncatewords_html","unordered_list","upper","urlencode","urlize","urlizetrunc","wordcount","wordwrap","yesno"],n=["==","!=","<",">","<=",">="],r=["in","not","or","and"];function i(e,t){if(e.match("{{"))return t.tokenize=a,"tag";if(e.match("{%"))return t.tokenize=s,"tag";if(e.match("{#"))return t.tokenize=l,"comment";for(;null!=e.next()&&!e.match(/\{[{%#]/,!1););return null}function o(e,t){return function(n,r){return!r.escapeNext&&n.eat(e)?r.tokenize=t:(r.escapeNext&&(r.escapeNext=!1),"\\"==n.next()&&(r.escapeNext=!0)),"string"}}function a(e,n){if(n.waitDot){if(n.waitDot=!1,"."!=e.peek())return"null";if(e.match(/\.\W+/))return"error";if(e.eat("."))return n.waitProperty=!0,"null";throw Error("Unexpected error while waiting for property.")}if(n.waitPipe){if(n.waitPipe=!1,"|"!=e.peek())return"null";if(e.match(/\.\W+/))return"error";if(e.eat("|"))return n.waitFilter=!0,"null";throw Error("Unexpected error while waiting for filter.")}return n.waitProperty&&(n.waitProperty=!1,e.match(/\b(\w+)\b/))?(n.waitDot=!0,n.waitPipe=!0,"property"):n.waitFilter&&(n.waitFilter=!1,e.match(t))?"variable-2":e.eatSpace()?(n.waitProperty=!1,"null"):e.match(/\b\d+(\.\d+)?\b/)?"number":e.match("'")?(n.tokenize=o("'",n.tokenize),"string"):e.match('"')?(n.tokenize=o('"',n.tokenize),"string"):e.match(/\b(\w+)\b/)&&!n.foundVariable?(n.waitDot=!0,n.waitPipe=!0,"variable"):e.match("}}")?(n.waitProperty=null,n.waitFilter=null,n.waitDot=null,n.waitPipe=null,n.tokenize=i,"tag"):(e.next(),"null")}function s(a,s){if(s.waitDot){if(s.waitDot=!1,"."!=a.peek())return"null";if(a.match(/\.\W+/))return"error";if(a.eat("."))return s.waitProperty=!0,"null";throw Error("Unexpected error while waiting for property.")}if(s.waitPipe){if(s.waitPipe=!1,"|"!=a.peek())return"null";if(a.match(/\.\W+/))return"error";if(a.eat("|"))return s.waitFilter=!0,"null";throw Error("Unexpected error while waiting for filter.")}if(s.waitProperty&&(s.waitProperty=!1,a.match(/\b(\w+)\b/)))return s.waitDot=!0,s.waitPipe=!0,"property";if(s.waitFilter&&(s.waitFilter=!1,a.match(t)))return"variable-2";if(a.eatSpace())return s.waitProperty=!1,"null";if(a.match(/\b\d+(\.\d+)?\b/))return"number";if(a.match("'"))return s.tokenize=o("'",s.tokenize),"string";if(a.match('"'))return s.tokenize=o('"',s.tokenize),"string";if(a.match(n))return"operator";if(a.match(r))return"keyword";var l=a.match(e);return l?("comment"==l[0]&&(s.blockCommentTag=!0),"keyword"):a.match(/\b(\w+)\b/)?(s.waitDot=!0,s.waitPipe=!0,"variable"):a.match("%}")?(s.waitProperty=null,s.waitFilter=null,s.waitDot=null,s.waitPipe=null,s.blockCommentTag?(s.blockCommentTag=!1,s.tokenize=u):s.tokenize=i,"tag"):(a.next(),"null")}function l(e,t){return e.match(/^.*?#\}/)?t.tokenize=i:e.skipToEnd(),"comment"}function u(e,t){return e.match(/\{%\s*endcomment\s*%\}/,!1)?(t.tokenize=s,e.match("{%"),"tag"):(e.next(),"comment")}return e=new RegExp("^\\b("+e.join("|")+")\\b"),t=new RegExp("^\\b("+t.join("|")+")\\b"),n=new RegExp("^\\b("+n.join("|")+")\\b"),r=new RegExp("^\\b("+r.join("|")+")\\b"),{startState:function(){return{tokenize:i}},token:function(e,t){return t.tokenize(e,t)},blockCommentStart:"{% comment %}",blockCommentEnd:"{% endcomment %}"}})),e.defineMode("django",(function(t){var n=e.getMode(t,"text/html"),r=e.getMode(t,"django:inner");return e.overlayMode(n,r)})),e.defineMIME("text/x-django","django")}(n(23326),n(38425),n(19962))},72694:(e,t,n)=>{!function(e){"use strict";var t="from",n=new RegExp("^(\\s*)\\b("+t+")\\b","i"),r=["run","cmd","entrypoint","shell"],i=new RegExp("^(\\s*)("+r.join("|")+")(\\s+\\[)","i"),o="expose",a=new RegExp("^(\\s*)("+o+")(\\s+)","i"),s="("+[t,o].concat(r).concat(["arg","from","maintainer","label","env","add","copy","volume","user","workdir","onbuild","stopsignal","healthcheck","shell"]).join("|")+")",l=new RegExp("^(\\s*)"+s+"(\\s*)(#.*)?$","i"),u=new RegExp("^(\\s*)"+s+"(\\s+)","i");e.defineSimpleMode("dockerfile",{start:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:n,token:[null,"keyword"],sol:!0,next:"from"},{regex:l,token:[null,"keyword",null,"error"],sol:!0},{regex:i,token:[null,"keyword",null],sol:!0,next:"array"},{regex:a,token:[null,"keyword",null],sol:!0,next:"expose"},{regex:u,token:[null,"keyword",null],sol:!0,next:"arguments"},{regex:/./,token:null}],from:[{regex:/\s*$/,token:null,next:"start"},{regex:/(\s*)(#.*)$/,token:[null,"error"],next:"start"},{regex:/(\s*\S+\s+)(as)/i,token:[null,"keyword"],next:"start"},{token:null,next:"start"}],single:[{regex:/(?:[^\\']|\\.)/,token:"string"},{regex:/'/,token:"string",pop:!0}],double:[{regex:/(?:[^\\"]|\\.)/,token:"string"},{regex:/"/,token:"string",pop:!0}],array:[{regex:/\]/,token:null,next:"start"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"}],expose:[{regex:/\d+$/,token:"number",next:"start"},{regex:/[^\d]+$/,token:null,next:"start"},{regex:/\d+/,token:"number"},{regex:/[^\d]+/,token:null},{token:null,next:"start"}],arguments:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:/"(?:[^\\"]|\\.)*"?$/,token:"string",next:"start"},{regex:/"/,token:"string",push:"double"},{regex:/'(?:[^\\']|\\.)*'?$/,token:"string",next:"start"},{regex:/'/,token:"string",push:"single"},{regex:/[^#"']+[\\`]$/,token:null},{regex:/[^#"']+$/,token:null,next:"start"},{regex:/[^#"']+/,token:null},{token:null,next:"start"}],meta:{lineComment:"#"}}),e.defineMIME("text/x-dockerfile","dockerfile")}(n(23326),n(81094))},39974:(e,t,n)=>{!function(e){"use strict";e.defineMode("dtd",(function(e){var t,n=e.indentUnit;function r(e,n){return t=n,e}function i(e,t){var n,a,s,l=e.next();if("<"!=l||!e.eat("!")){if("<"==l&&e.eat("?"))return t.tokenize=(a="meta",s="?>",function(e,t){for(;!e.eol();){if(e.match(s)){t.tokenize=i;break}e.next()}return a}),r("meta",l);if("#"==l&&e.eatWhile(/[\w]/))return r("atom","tag");if("|"==l)return r("keyword","separator");if(l.match(/[\(\)\[\]\-\.,\+\?>]/))return r(null,l);if(l.match(/[\[\]]/))return r("rule",l);if('"'==l||"'"==l)return t.tokenize=(n=l,function(e,t){for(var o,a=!1;null!=(o=e.next());){if(o==n&&!a){t.tokenize=i;break}a=!a&&"\\"==o}return r("string","tag")}),t.tokenize(e,t);if(e.eatWhile(/[a-zA-Z\?\+\d]/)){var u=e.current();return null!==u.substr(u.length-1,u.length).match(/\?|\+/)&&e.backUp(1),r("tag","tag")}return"%"==l||"*"==l?r("number","number"):(e.eatWhile(/[\w\\\-_%.{,]/),r(null,null))}return e.eatWhile(/[\-]/)?(t.tokenize=o,o(e,t)):e.eatWhile(/[\w]/)?r("keyword","doindent"):void 0}function o(e,t){for(var n,o=0;null!=(n=e.next());){if(o>=2&&">"==n){t.tokenize=i;break}o="-"==n?o+1:0}return r("comment","comment")}return{startState:function(e){return{tokenize:i,baseIndent:e||0,stack:[]}},token:function(e,n){if(e.eatSpace())return null;var r=n.tokenize(e,n),i=n.stack[n.stack.length-1];return"["==e.current()||"doindent"===t||"["==t?n.stack.push("rule"):"endtag"===t?n.stack[n.stack.length-1]="endtag":"]"==e.current()||"]"==t||">"==t&&"rule"==i?n.stack.pop():"["==t&&n.stack.push("["),r},indent:function(e,r){var i=e.stack.length;return"]"===r.charAt(0)?i--:">"===r.substr(r.length-1,r.length)&&("<"===r.substr(0,1)||"doindent"==t&&r.length>1||("doindent"==t?i--:">"==t&&r.length>1||"tag"==t&&">"!==r||("tag"==t&&"rule"==e.stack[e.stack.length-1]?i--:"tag"==t?i++:">"===r&&"rule"==e.stack[e.stack.length-1]&&">"===t?i--:">"===r&&"rule"==e.stack[e.stack.length-1]||("<"!==r.substr(0,1)&&">"===r.substr(0,1)?i-=1:">"===r||(i-=1)))),null!=t&&"]"!=t||i--),e.baseIndent+i*n},electricChars:"]>"}})),e.defineMIME("application/xml-dtd","dtd")}(n(23326))},49024:(e,t,n)=>{!function(e){"use strict";function t(e,t){for(var n=0;n",symbolGlobal:"\\*"+i+"\\*",symbolConstant:"\\$"+i},s={symbolKeyword:"atom",symbolClass:"tag",symbolGlobal:"variable-2",symbolConstant:"variable-3"};for(var l in a)a.hasOwnProperty(l)&&(a[l]=new RegExp("^"+a[l]));a.keyword=[/^with(?:out)?-[-_a-zA-Z?!*@<>$%]+/];var u={keyword:"keyword",definition:"def",simpleDefinition:"def",signalingCalls:"builtin"},c={},d={};function p(e,t,n){return t.tokenize=n,n(e,t)}function f(e,t){var r=e.peek();if("'"==r||'"'==r)return e.next(),p(e,t,m(r,"string"));if("/"==r){if(e.next(),e.eat("*"))return p(e,t,h);if(e.eat("/"))return e.skipToEnd(),"comment";e.backUp(1)}else if(/[+\-\d\.]/.test(r)){if(e.match(/^[+-]?[0-9]*\.[0-9]*([esdx][+-]?[0-9]+)?/i)||e.match(/^[+-]?[0-9]+([esdx][+-]?[0-9]+)/i)||e.match(/^[+-]?\d+/))return"number"}else{if("#"==r)return e.next(),'"'==(r=e.peek())?(e.next(),p(e,t,m('"',"string"))):"b"==r?(e.next(),e.eatWhile(/[01]/),"number"):"x"==r?(e.next(),e.eatWhile(/[\da-f]/i),"number"):"o"==r?(e.next(),e.eatWhile(/[0-7]/),"number"):"#"==r?(e.next(),"punctuation"):"["==r||"("==r?(e.next(),"bracket"):e.match(/f|t|all-keys|include|key|next|rest/i)?"atom":(e.eatWhile(/[-a-zA-Z]/),"error");if("~"==r)return e.next(),"="==(r=e.peek())?(e.next(),"="==(r=e.peek())?(e.next(),"operator"):"operator"):"operator";if(":"==r){if(e.next(),"="==(r=e.peek()))return e.next(),"operator";if(":"==r)return e.next(),"punctuation"}else{if(-1!="[](){}".indexOf(r))return e.next(),"bracket";if(-1!=".,".indexOf(r))return e.next(),"punctuation";if(e.match("end"))return"keyword"}}for(var i in a)if(a.hasOwnProperty(i)){var l=a[i];if(l instanceof Array&&n(l,(function(t){return e.match(t)}))||e.match(l))return s[i]}return/[+\-*\/^=<>&|]/.test(r)?(e.next(),"operator"):e.match("define")?"def":(e.eatWhile(/[\w\-]/),c.hasOwnProperty(e.current())?d[e.current()]:e.current().match(o)?"variable":(e.next(),"variable-2"))}function h(e,t){for(var n,r=!1,i=!1,o=0;n=e.next();){if("/"==n&&r){if(!(o>0)){t.tokenize=f;break}o--}else"*"==n&&i&&o++;r="*"==n,i="/"==n}return"comment"}function m(e,t){return function(n,r){for(var i,o=!1,a=!1;null!=(i=n.next());){if(i==e&&!o){a=!0;break}o=!o&&"\\"==i}return!a&&o||(r.tokenize=f),t}}return t(["keyword","definition","simpleDefinition","signalingCalls"],(function(e){t(r[e],(function(t){c[t]=e,d[t]=u[e]}))})),{startState:function(){return{tokenize:f,currentIndent:0}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},blockCommentStart:"/*",blockCommentEnd:"*/"}})),e.defineMIME("text/x-dylan","dylan")}(n(23326))},5807:(e,t,n)=>{!function(e){"use strict";e.defineMode("ebnf",(function(t){var n=0,r=1,i=0,o=1,a=2,s=null;return t.bracesMode&&(s=e.getMode(t,t.bracesMode)),{startState:function(){return{stringType:null,commentType:null,braced:0,lhs:!0,localState:null,stack:[],inDefinition:!1}},token:function(t,l){if(t){switch(0===l.stack.length&&('"'==t.peek()||"'"==t.peek()?(l.stringType=t.peek(),t.next(),l.stack.unshift(o)):t.match("/*")?(l.stack.unshift(i),l.commentType=n):t.match("(*")&&(l.stack.unshift(i),l.commentType=r)),l.stack[0]){case o:for(;l.stack[0]===o&&!t.eol();)t.peek()===l.stringType?(t.next(),l.stack.shift()):"\\"===t.peek()?(t.next(),t.next()):t.match(/^.[^\\\"\']*/);return l.lhs?"property string":"string";case i:for(;l.stack[0]===i&&!t.eol();)l.commentType===n&&t.match("*/")||l.commentType===r&&t.match("*)")?(l.stack.shift(),l.commentType=null):t.match(/^.[^\*]*/);return"comment";case a:for(;l.stack[0]===a&&!t.eol();)t.match(/^[^\]\\]+/)||t.match(".")||l.stack.shift();return"operator"}var u=t.peek();if(null!==s&&(l.braced||"{"===u)){null===l.localState&&(l.localState=e.startState(s));var c=s.token(t,l.localState),d=t.current();if(!c)for(var p=0;p>/))return"builtin"}return t.match("//")?(t.skipToEnd(),"comment"):t.match("return")?"operator":t.match(/^[a-zA-Z_][a-zA-Z0-9_]*/)?t.match(/(?=[\(.])/)?"variable":t.match(/(?=[\s\n]*[:=])/)?"def":"variable-2":-1!=["[","]","(",")"].indexOf(t.peek())?(t.next(),"bracket"):(t.eatSpace()||t.next(),null)}}}})),e.defineMIME("text/x-ebnf","ebnf")}(n(23326))},53002:(e,t,n)=>{!function(e){"use strict";e.defineMode("ecl",(function(e){function t(e){for(var t={},n=e.split(" "),r=0;r!?|\/]/;function f(e,t){var r,m=e.next();if(d[m]){var g=d[m](e,t);if(!1!==g)return g}if('"'==m||"'"==m)return t.tokenize=(r=m,function(e,t){for(var n,i=!1,o=!1;null!=(n=e.next());){if(n==r&&!i){o=!0;break}i=!i&&"\\"==n}return!o&&i||(t.tokenize=f),"string"}),t.tokenize(e,t);if(/[\[\]{}\(\),;\:\.]/.test(m))return n=m,null;if(/\d/.test(m))return e.eatWhile(/[\w\.]/),"number";if("/"==m){if(e.eat("*"))return t.tokenize=h,h(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(p.test(m))return e.eatWhile(p),"operator";e.eatWhile(/[\w\$_]/);var v=e.current().toLowerCase();if(i.propertyIsEnumerable(v))return u.propertyIsEnumerable(v)&&(n="newstatement"),"keyword";if(o.propertyIsEnumerable(v))return u.propertyIsEnumerable(v)&&(n="newstatement"),"variable";if(a.propertyIsEnumerable(v))return u.propertyIsEnumerable(v)&&(n="newstatement"),"variable-2";if(s.propertyIsEnumerable(v))return u.propertyIsEnumerable(v)&&(n="newstatement"),"variable-3";if(l.propertyIsEnumerable(v))return u.propertyIsEnumerable(v)&&(n="newstatement"),"builtin";for(var y=v.length-1;y>=0&&(!isNaN(v[y])||"_"==v[y]);)--y;if(y>0){var b=v.substr(0,y+1);if(s.propertyIsEnumerable(b))return u.propertyIsEnumerable(b)&&(n="newstatement"),"variable-3"}return c.propertyIsEnumerable(v)?"atom":null}function h(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=f;break}r="*"==n}return"comment"}function m(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function g(e,t,n){return e.context=new m(e.indented,t,n,null,e.context)}function v(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}return{startState:function(e){return{tokenize:null,context:new m((e||0)-r,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var r=t.context;if(e.sol()&&(null==r.align&&(r.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;n=null;var i=(t.tokenize||f)(e,t);if("comment"==i||"meta"==i)return i;if(null==r.align&&(r.align=!0),";"!=n&&":"!=n||"statement"!=r.type)if("{"==n)g(t,e.column(),"}");else if("["==n)g(t,e.column(),"]");else if("("==n)g(t,e.column(),")");else if("}"==n){for(;"statement"==r.type;)r=v(t);for("}"==r.type&&(r=v(t));"statement"==r.type;)r=v(t)}else n==r.type?v(t):("}"==r.type||"top"==r.type||"statement"==r.type&&"newstatement"==n)&&g(t,e.column(),"statement");else v(t);return t.startOfLine=!1,i},indent:function(e,t){if(e.tokenize!=f&&null!=e.tokenize)return 0;var n=e.context,i=t&&t.charAt(0);"statement"==n.type&&"}"==i&&(n=n.prev);var o=i==n.type;return"statement"==n.type?n.indented+("{"==i?0:r):n.align?n.column+(o?0:1):n.indented+(o?0:r)},electricChars:"{}"}})),e.defineMIME("text/x-ecl","ecl")}(n(23326))},57921:(e,t,n)=>{!function(e){"use strict";e.defineMode("eiffel",(function(){function e(e){for(var t={},n=0,r=e.length;n>"]);function r(e,t){if(e.eatSpace())return null;var n,r,i,o=e.next();return'"'==o||"'"==o?function(e,t,n){return n.tokenize.push(e),e(t,n)}((n=o,r="string",function(e,t){for(var o,a=!1;null!=(o=e.next());){if(o==n&&(i||!a)){t.tokenize.pop();break}a=!a&&"%"==o}return r}),e,t):"-"==o&&e.eat("-")?(e.skipToEnd(),"comment"):":"==o&&e.eat("=")?"operator":/[0-9]/.test(o)?(e.eatWhile(/[xXbBCc0-9\.]/),e.eat(/[\?\!]/),"ident"):/[a-zA-Z_0-9]/.test(o)?(e.eatWhile(/[a-zA-Z_0-9]/),e.eat(/[\?\!]/),"ident"):/[=+\-\/*^%<>~]/.test(o)?(e.eatWhile(/[=+\-\/*^%<>~]/),"operator"):null}return{startState:function(){return{tokenize:[r]}},token:function(e,r){var i=r.tokenize[r.tokenize.length-1](e,r);if("ident"==i){var o=e.current();i=t.propertyIsEnumerable(e.current())?"keyword":n.propertyIsEnumerable(e.current())?"operator":/^[A-Z][A-Z_0-9]*$/g.test(o)?"tag":/^0[bB][0-1]+$/g.test(o)||/^0[cC][0-7]+$/g.test(o)||/^0[xX][a-fA-F0-9]+$/g.test(o)||/^([0-9]+\.[0-9]*)|([0-9]*\.[0-9]+)$/g.test(o)||/^[0-9]+$/g.test(o)?"number":"variable"}return i},lineComment:"--"}})),e.defineMIME("text/x-eiffel","eiffel")}(n(23326))},12589:(e,t,n)=>{!function(e){"use strict";e.defineMode("elm",(function(){function e(e,t,n){return t(n),n(e,t)}var t=/[a-z]/,n=/[A-Z]/,r=/[a-zA-Z0-9_]/,i=/[0-9]/,o=/[0-9A-Fa-f]/,a=/[-&*+.\\/<>=?^|:]/,s=/[(),[\]{}]/,l=/[ \v\f]/;function u(){return function(u,m){if(u.eatWhile(l))return null;var g=u.next();if(s.test(g))return"{"===g&&u.eat("-")?e(u,m,c(1)):"["===g&&u.match("glsl|")?e(u,m,h):"builtin";if("'"===g)return e(u,m,f);if('"'===g)return u.eat('"')?u.eat('"')?e(u,m,d):"string":e(u,m,p);if(n.test(g))return u.eatWhile(r),"variable-2";if(t.test(g)){var v=1===u.pos;return u.eatWhile(r),v?"def":"variable"}if(i.test(g)){if("0"===g){if(u.eat(/[xX]/))return u.eatWhile(o),"number"}else u.eatWhile(i);return u.eat(".")&&u.eatWhile(i),u.eat(/[eE]/)&&(u.eat(/[-+]/),u.eatWhile(i)),"number"}return a.test(g)?"-"===g&&u.eat("-")?(u.skipToEnd(),"comment"):(u.eatWhile(a),"keyword"):"_"===g?"keyword":"error"}}function c(e){return 0==e?u():function(t,n){for(;!t.eol();){var r=t.next();if("{"==r&&t.eat("-"))++e;else if("-"==r&&t.eat("}")&&0==--e)return n(u()),"comment"}return n(c(e)),"comment"}}function d(e,t){for(;!e.eol();)if('"'===e.next()&&e.eat('"')&&e.eat('"'))return t(u()),"string";return"string"}function p(e,t){for(;e.skipTo('\\"');)e.next(),e.next();return e.skipTo('"')?(e.next(),t(u()),"string"):(e.skipToEnd(),t(u()),"error")}function f(e,t){for(;e.skipTo("\\'");)e.next(),e.next();return e.skipTo("'")?(e.next(),t(u()),"string"):(e.skipToEnd(),t(u()),"error")}function h(e,t){for(;!e.eol();)if("|"===e.next()&&e.eat("]"))return t(u()),"string";return"string"}var m={case:1,of:1,as:1,if:1,then:1,else:1,let:1,in:1,type:1,alias:1,module:1,where:1,import:1,exposing:1,port:1};return{startState:function(){return{f:u()}},copyState:function(e){return{f:e.f}},lineComment:"--",token:function(e,t){var n=t.f(e,(function(e){t.f=e})),r=e.current();return m.hasOwnProperty(r)?"keyword":n}}})),e.defineMIME("text/x-elm","elm")}(n(23326))},93710:(e,t,n)=>{!function(e){"use strict";e.defineMIME("text/x-erlang","erlang"),e.defineMode("erlang",(function(t){var n=["-type","-spec","-export_type","-opaque"],r=["after","begin","catch","case","cond","end","fun","if","let","of","query","receive","try","when"],i=/[\->,;]/,o=["->",";",","],a=["and","andalso","band","bnot","bor","bsl","bsr","bxor","div","not","or","orelse","rem","xor"],s=/[\+\-\*\/<>=\|:!]/,l=["=","+","-","*","/",">",">=","<","=<","=:=","==","=/=","/=","||","<-","!"],u=/[<\(\[\{]/,c=["<<","(","[","{"],d=/[>\)\]\}]/,p=["}","]",")",">>"],f=["is_atom","is_binary","is_bitstring","is_boolean","is_float","is_function","is_integer","is_list","is_number","is_pid","is_port","is_record","is_reference","is_tuple","atom","binary","bitstring","boolean","function","integer","list","number","pid","port","record","reference","tuple"],h=["abs","adler32","adler32_combine","alive","apply","atom_to_binary","atom_to_list","binary_to_atom","binary_to_existing_atom","binary_to_list","binary_to_term","bit_size","bitstring_to_list","byte_size","check_process_code","contact_binary","crc32","crc32_combine","date","decode_packet","delete_module","disconnect_node","element","erase","exit","float","float_to_list","garbage_collect","get","get_keys","group_leader","halt","hd","integer_to_list","internal_bif","iolist_size","iolist_to_binary","is_alive","is_atom","is_binary","is_bitstring","is_boolean","is_float","is_function","is_integer","is_list","is_number","is_pid","is_port","is_process_alive","is_record","is_reference","is_tuple","length","link","list_to_atom","list_to_binary","list_to_bitstring","list_to_existing_atom","list_to_float","list_to_integer","list_to_pid","list_to_tuple","load_module","make_ref","module_loaded","monitor_node","node","node_link","node_unlink","nodes","notalive","now","open_port","pid_to_list","port_close","port_command","port_connect","port_control","pre_loaded","process_flag","process_info","processes","purge_module","put","register","registered","round","self","setelement","size","spawn","spawn_link","spawn_monitor","spawn_opt","split_binary","statistics","term_to_binary","time","throw","tl","trunc","tuple_size","tuple_to_list","unlink","unregister","whereis"],m=/[\w@Ø-ÞÀ-Öß-öø-ÿ]/,g=/[0-7]{1,3}|[bdefnrstv\\"']|\^[a-zA-Z]|x[0-9a-zA-Z]{2}|x{[0-9a-zA-Z]+}/;function v(e,t,n){if(1==e.current().length&&t.test(e.current())){for(e.backUp(1);t.test(e.peek());)if(e.next(),x(e.current(),n))return!0;e.backUp(e.current().length-1)}return!1}function y(e,t,n){if(1==e.current().length&&t.test(e.current())){for(;t.test(e.peek());)e.next();for(;01&&"fun"===e[t].type&&"fun"===e[t-1].token)return e.slice(0,t-1);switch(e[t].token){case"}":return A(e,{g:["{"]});case"]":return A(e,{i:["["]});case")":return A(e,{i:["("]});case">>":return A(e,{i:["<<"]});case"end":return A(e,{i:["begin","case","fun","if","receive","try"]});case",":return A(e,{e:["begin","try","when","->",",","(","[","{","<<"]});case"->":return A(e,{r:["when"],m:["try","if","case","receive"]});case";":return A(e,{E:["case","fun","if","receive","try","when"]});case"catch":return A(e,{e:["try"]});case"of":return A(e,{e:["case"]});case"after":return A(e,{e:["receive","try"]});default:return e}}(e.tokenStack))}(e,function(e,t){return E(t.current(),t.column(),t.indentation(),e)}(n,t)),n){case"atom":case"boolean":return"atom";case"attribute":return"attribute";case"builtin":return"builtin";case"close_paren":case"colon":case"dot":case"open_paren":case"separator":default:return null;case"comment":return"comment";case"error":return"error";case"fun":return"meta";case"function":return"tag";case"guard":return"property";case"keyword":return"keyword";case"macro":return"variable-2";case"number":return"number";case"operator":return"operator";case"record":return"bracket";case"string":return"string";case"type":return"def";case"variable":return"variable"}}function E(e,t,n,r){return{token:e,column:t,indent:n,type:r}}function C(e){return E(e,0,0,e)}function S(e,t){var n=e.tokenStack.length,r=t||1;return!(n>|\|+|\(/))&&0===o.index?o[0]:"",l=S(n,1),u=S(n,2);return n.in_string||n.in_atom?e.Pass:u?"when"==l.token?l.column+a:"when"===s&&"function"===u.type?u.indent+a:"("===s&&"fun"===l.token?l.column+3:"catch"===s&&(i=O(n,["try"]))?i.column:x(s,["end","after","of"])?(i=O(n,["begin","case","fun","if","receive","try"]))?i.column:e.Pass:x(s,p)?(i=O(n,c))?i.column:e.Pass:x(l.token,[",","|","||"])||x(s,[",","|","||"])?(i=function(e){var t=e.tokenStack.slice(0,-1),n=P(t,"type",["open_paren"]);return!!D(t[n])&&t[n]}(n))?i.column+i.token.length:a:"->"==l.token?x(u.token,["receive","case","if","try"])?u.column+a+a:u.column+a:x(l.token,c)?l.column+l.token.length:D(i=function(e){var t=e.tokenStack,n=P(t,"type",["open_paren","separator","keyword"]),r=P(t,"type",["operator"]);return D(n)&&D(r)&&n{!function(e){"use strict";e.defineSimpleMode("factor",{start:[{regex:/#?!.*/,token:"comment"},{regex:/"""/,token:"string",next:"string3"},{regex:/(STRING:)(\s)/,token:["keyword",null],next:"string2"},{regex:/\S*?"/,token:"string",next:"string"},{regex:/(?:0x[\d,a-f]+)|(?:0o[0-7]+)|(?:0b[0,1]+)|(?:\-?\d+.?\d*)(?=\s)/,token:"number"},{regex:/((?:GENERIC)|\:?\:)(\s+)(\S+)(\s+)(\()/,token:["keyword",null,"def",null,"bracket"],next:"stack"},{regex:/(M\:)(\s+)(\S+)(\s+)(\S+)/,token:["keyword",null,"def",null,"tag"]},{regex:/USING\:/,token:"keyword",next:"vocabulary"},{regex:/(USE\:|IN\:)(\s+)(\S+)(?=\s|$)/,token:["keyword",null,"tag"]},{regex:/(\S+\:)(\s+)(\S+)(?=\s|$)/,token:["keyword",null,"def"]},{regex:/(?:;|\\|t|f|if|loop|while|until|do|PRIVATE>|\.\*\?]+(?=\s|$)/,token:"builtin"},{regex:/[\)><]+\S+(?=\s|$)/,token:"builtin"},{regex:/(?:[\+\-\=\/\*<>])(?=\s|$)/,token:"keyword"},{regex:/\S+/,token:"variable"},{regex:/\s+|./,token:null}],vocabulary:[{regex:/;/,token:"keyword",next:"start"},{regex:/\S+/,token:"tag"},{regex:/\s+|./,token:null}],string:[{regex:/(?:[^\\]|\\.)*?"/,token:"string",next:"start"},{regex:/.*/,token:"string"}],string2:[{regex:/^;/,token:"keyword",next:"start"},{regex:/.*/,token:"string"}],string3:[{regex:/(?:[^\\]|\\.)*?"""/,token:"string",next:"start"},{regex:/.*/,token:"string"}],stack:[{regex:/\)/,token:"bracket",next:"start"},{regex:/--/,token:"bracket"},{regex:/\S+/,token:"meta"},{regex:/\s+|./,token:null}],meta:{dontIndentStates:["start","vocabulary","string","string3","stack"],lineComment:"!"}}),e.defineMIME("text/x-factor","factor")}(n(23326),n(81094))},5801:(e,t,n)=>{!function(e){"use strict";e.defineMode("fcl",(function(e){var t=e.indentUnit,n={term:!0,method:!0,accu:!0,rule:!0,then:!0,is:!0,and:!0,or:!0,if:!0,default:!0},r={var_input:!0,var_output:!0,fuzzify:!0,defuzzify:!0,function_block:!0,ruleblock:!0},i={end_ruleblock:!0,end_defuzzify:!0,end_function_block:!0,end_fuzzify:!0,end_var:!0},o={true:!0,false:!0,nan:!0,real:!0,min:!0,max:!0,cog:!0,cogs:!0},a=/[+\-*&^%:=<>!|\/]/;function s(e,t){var s=e.next();if(/[\d\.]/.test(s))return"."==s?e.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):"0"==s?e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^0[0-7]+/):e.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if("/"==s||"("==s){if(e.eat("*"))return t.tokenize=l,l(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(a.test(s))return e.eatWhile(a),"operator";e.eatWhile(/[\w\$_\xa1-\uffff]/);var u=e.current().toLowerCase();return n.propertyIsEnumerable(u)||r.propertyIsEnumerable(u)||i.propertyIsEnumerable(u)?"keyword":o.propertyIsEnumerable(u)?"atom":"variable"}function l(e,t){for(var n,r=!1;n=e.next();){if(("/"==n||")"==n)&&r){t.tokenize=s;break}r="*"==n}return"comment"}function u(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}return{startState:function(e){return{tokenize:null,context:new u((e||0)-t,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;var o=(t.tokenize||s)(e,t);if("comment"==o)return o;null==n.align&&(n.align=!0);var a=e.current().toLowerCase();return r.propertyIsEnumerable(a)?function(e,t,n){e.context=new u(e.indented,t,n,null,e.context)}(t,e.column(),"end_block"):i.propertyIsEnumerable(a)&&function(e){if(e.context.prev)"end_block"==e.context.type&&(e.indented=e.context.indented),e.context=e.context.prev}(t),t.startOfLine=!1,o},indent:function(e,n){if(e.tokenize!=s&&null!=e.tokenize)return 0;var r=e.context,o=i.propertyIsEnumerable(n);return r.align?r.column+(o?0:1):r.indented+(o?0:t)},electricChars:"ryk",fold:"brace",blockCommentStart:"(*",blockCommentEnd:"*)",lineComment:"//"}})),e.defineMIME("text/x-fcl","fcl")}(n(23326))},45729:(e,t,n)=>{!function(e){"use strict";function t(e){var t=[];return e.split(" ").forEach((function(e){t.push({name:e})})),t}var n=t("INVERT AND OR XOR 2* 2/ LSHIFT RSHIFT 0= = 0< < > U< MIN MAX 2DROP 2DUP 2OVER 2SWAP ?DUP DEPTH DROP DUP OVER ROT SWAP >R R> R@ + - 1+ 1- ABS NEGATE S>D * M* UM* FM/MOD SM/REM UM/MOD */ */MOD / /MOD MOD HERE , @ ! CELL+ CELLS C, C@ C! CHARS 2@ 2! ALIGN ALIGNED +! ALLOT CHAR [CHAR] [ ] BL FIND EXECUTE IMMEDIATE COUNT LITERAL STATE ; DOES> >BODY EVALUATE SOURCE >IN <# # #S #> HOLD SIGN BASE >NUMBER HEX DECIMAL FILL MOVE . CR EMIT SPACE SPACES TYPE U. .R U.R ACCEPT TRUE FALSE <> U> 0<> 0> NIP TUCK ROLL PICK 2>R 2R@ 2R> WITHIN UNUSED MARKER I J TO COMPILE, [COMPILE] SAVE-INPUT RESTORE-INPUT PAD ERASE 2LITERAL DNEGATE D- D+ D0< D0= D2* D2/ D< D= DMAX DMIN D>S DABS M+ M*/ D. D.R 2ROT DU< CATCH THROW FREE RESIZE ALLOCATE CS-PICK CS-ROLL GET-CURRENT SET-CURRENT FORTH-WORDLIST GET-ORDER SET-ORDER PREVIOUS SEARCH-WORDLIST WORDLIST FIND ALSO ONLY FORTH DEFINITIONS ORDER -TRAILING /STRING SEARCH COMPARE CMOVE CMOVE> BLANK SLITERAL"),r=t("IF ELSE THEN BEGIN WHILE REPEAT UNTIL RECURSE [IF] [ELSE] [THEN] ?DO DO LOOP +LOOP UNLOOP LEAVE EXIT AGAIN CASE OF ENDOF ENDCASE");e.defineMode("forth",(function(){function e(e,t){var n;for(n=e.length-1;n>=0;n--)if(e[n].name===t.toUpperCase())return e[n]}return{startState:function(){return{state:"",base:10,coreWordList:n,immediateWordList:r,wordList:[]}},token:function(t,n){var r;if(t.eatSpace())return null;if(""===n.state){if(t.match(/^(\]|:NONAME)(\s|$)/i))return n.state=" compilation","builtin compilation";if(r=t.match(/^(\:)\s+(\S+)(\s|$)+/))return n.wordList.push({name:r[2].toUpperCase()}),n.state=" compilation","def"+n.state;if(r=t.match(/^(VARIABLE|2VARIABLE|CONSTANT|2CONSTANT|CREATE|POSTPONE|VALUE|WORD)\s+(\S+)(\s|$)+/i))return n.wordList.push({name:r[2].toUpperCase()}),"def"+n.state;if(r=t.match(/^(\'|\[\'\])\s+(\S+)(\s|$)+/))return"builtin"+n.state}else{if(t.match(/^(\;|\[)(\s)/))return n.state="",t.backUp(1),"builtin compilation";if(t.match(/^(\;|\[)($)/))return n.state="","builtin compilation";if(t.match(/^(POSTPONE)\s+\S+(\s|$)+/))return"builtin"}return(r=t.match(/^(\S+)(\s+|$)/))?void 0!==e(n.wordList,r[1])?"variable"+n.state:"\\"===r[1]?(t.skipToEnd(),"comment"+n.state):void 0!==e(n.coreWordList,r[1])?"builtin"+n.state:void 0!==e(n.immediateWordList,r[1])?"keyword"+n.state:"("===r[1]?(t.eatWhile((function(e){return")"!==e})),t.eat(")"),"comment"+n.state):".("===r[1]?(t.eatWhile((function(e){return")"!==e})),t.eat(")"),"string"+n.state):'S"'===r[1]||'."'===r[1]||'C"'===r[1]?(t.eatWhile((function(e){return'"'!==e})),t.eat('"'),"string"+n.state):r[1]-68719476735?"number"+n.state:"atom"+n.state:void 0}}})),e.defineMIME("text/x-forth","forth")}(n(23326))},81640:(e,t,n)=>{!function(e){"use strict";e.defineMode("fortran",(function(){function e(e){for(var t={},n=0;n\/\:]/,o=/^\.(and|or|eq|lt|le|gt|ge|ne|not|eqv|neqv)\./i;function a(e,a){if(e.match(o))return"operator";var s,l=e.next();if("!"==l)return e.skipToEnd(),"comment";if('"'==l||"'"==l)return a.tokenize=(s=l,function(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if(n==s&&!r){i=!0;break}r=!r&&"\\"==n}return!i&&r||(t.tokenize=null),"string"}),a.tokenize(e,a);if(/[\[\]\(\),]/.test(l))return null;if(/\d/.test(l))return e.eatWhile(/[\w\.]/),"number";if(i.test(l))return e.eatWhile(i),"operator";e.eatWhile(/[\w\$_]/);var u=e.current().toLowerCase();return t.hasOwnProperty(u)?"keyword":n.hasOwnProperty(u)||r.hasOwnProperty(u)?"builtin":"variable"}return{startState:function(){return{tokenize:null}},token:function(e,t){return e.eatSpace()?null:(t.tokenize||a)(e,t)}}})),e.defineMIME("text/x-fortran","fortran")}(n(23326))},37471:(e,t,n)=>{!function(e){"use strict";e.defineMode("gas",(function(e,t){var n=[],r="",i={".abort":"builtin",".align":"builtin",".altmacro":"builtin",".ascii":"builtin",".asciz":"builtin",".balign":"builtin",".balignw":"builtin",".balignl":"builtin",".bundle_align_mode":"builtin",".bundle_lock":"builtin",".bundle_unlock":"builtin",".byte":"builtin",".cfi_startproc":"builtin",".comm":"builtin",".data":"builtin",".def":"builtin",".desc":"builtin",".dim":"builtin",".double":"builtin",".eject":"builtin",".else":"builtin",".elseif":"builtin",".end":"builtin",".endef":"builtin",".endfunc":"builtin",".endif":"builtin",".equ":"builtin",".equiv":"builtin",".eqv":"builtin",".err":"builtin",".error":"builtin",".exitm":"builtin",".extern":"builtin",".fail":"builtin",".file":"builtin",".fill":"builtin",".float":"builtin",".func":"builtin",".global":"builtin",".gnu_attribute":"builtin",".hidden":"builtin",".hword":"builtin",".ident":"builtin",".if":"builtin",".incbin":"builtin",".include":"builtin",".int":"builtin",".internal":"builtin",".irp":"builtin",".irpc":"builtin",".lcomm":"builtin",".lflags":"builtin",".line":"builtin",".linkonce":"builtin",".list":"builtin",".ln":"builtin",".loc":"builtin",".loc_mark_labels":"builtin",".local":"builtin",".long":"builtin",".macro":"builtin",".mri":"builtin",".noaltmacro":"builtin",".nolist":"builtin",".octa":"builtin",".offset":"builtin",".org":"builtin",".p2align":"builtin",".popsection":"builtin",".previous":"builtin",".print":"builtin",".protected":"builtin",".psize":"builtin",".purgem":"builtin",".pushsection":"builtin",".quad":"builtin",".reloc":"builtin",".rept":"builtin",".sbttl":"builtin",".scl":"builtin",".section":"builtin",".set":"builtin",".short":"builtin",".single":"builtin",".size":"builtin",".skip":"builtin",".sleb128":"builtin",".space":"builtin",".stab":"builtin",".string":"builtin",".struct":"builtin",".subsection":"builtin",".symver":"builtin",".tag":"builtin",".text":"builtin",".title":"builtin",".type":"builtin",".uleb128":"builtin",".val":"builtin",".version":"builtin",".vtable_entry":"builtin",".vtable_inherit":"builtin",".warning":"builtin",".weak":"builtin",".weakref":"builtin",".word":"builtin"},o={};var a=(t.architecture||"x86").toLowerCase();function s(e,t){for(var n,r=!1;null!=(n=e.next());){if("/"===n&&r){t.tokenize=null;break}r="*"===n}return"comment"}return"x86"===a?(r="#",o.al="variable",o.ah="variable",o.ax="variable",o.eax="variable-2",o.rax="variable-3",o.bl="variable",o.bh="variable",o.bx="variable",o.ebx="variable-2",o.rbx="variable-3",o.cl="variable",o.ch="variable",o.cx="variable",o.ecx="variable-2",o.rcx="variable-3",o.dl="variable",o.dh="variable",o.dx="variable",o.edx="variable-2",o.rdx="variable-3",o.si="variable",o.esi="variable-2",o.rsi="variable-3",o.di="variable",o.edi="variable-2",o.rdi="variable-3",o.sp="variable",o.esp="variable-2",o.rsp="variable-3",o.bp="variable",o.ebp="variable-2",o.rbp="variable-3",o.ip="variable",o.eip="variable-2",o.rip="variable-3",o.cs="keyword",o.ds="keyword",o.ss="keyword",o.es="keyword",o.fs="keyword",o.gs="keyword"):"arm"!==a&&"armv6"!==a||(r="@",i.syntax="builtin",o.r0="variable",o.r1="variable",o.r2="variable",o.r3="variable",o.r4="variable",o.r5="variable",o.r6="variable",o.r7="variable",o.r8="variable",o.r9="variable",o.r10="variable",o.r11="variable",o.r12="variable",o.sp="variable-2",o.lr="variable-2",o.pc="variable-2",o.r13=o.sp,o.r14=o.lr,o.r15=o.pc,n.push((function(e,t){if("#"===e)return t.eatWhile(/\w/),"number"}))),{startState:function(){return{tokenize:null}},token:function(e,t){if(t.tokenize)return t.tokenize(e,t);if(e.eatSpace())return null;var a,l,u=e.next();if("/"===u&&e.eat("*"))return t.tokenize=s,s(e,t);if(u===r)return e.skipToEnd(),"comment";if('"'===u)return function(e,t){for(var n,r=!1;null!=(n=e.next());){if(n===t&&!r)return!1;r=!r&&"\\"===n}}(e,'"'),"string";if("."===u)return e.eatWhile(/\w/),l=e.current().toLowerCase(),(a=i[l])||null;if("="===u)return e.eatWhile(/\w/),"tag";if("{"===u)return"bracket";if("}"===u)return"bracket";if(/\d/.test(u))return"0"===u&&e.eat("x")?(e.eatWhile(/[0-9a-fA-F]/),"number"):(e.eatWhile(/\d/),"number");if(/\w/.test(u))return e.eatWhile(/\w/),e.eat(":")?"tag":(l=e.current().toLowerCase(),(a=o[l])||null);for(var c=0;c{!function(e){"use strict";var t=/^((?:(?:aaas?|about|acap|adiumxtra|af[ps]|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|cap|chrome(?:-extension)?|cid|coap|com-eventbrite-attendee|content|crid|cvs|data|dav|dict|dlna-(?:playcontainer|playsingle)|dns|doi|dtn|dvb|ed2k|facetime|feed|file|finger|fish|ftp|geo|gg|git|gizmoproject|go|gopher|gtalk|h323|hcp|https?|iax|icap|icon|im|imap|info|ipn|ipp|irc[6s]?|iris(?:\.beep|\.lwz|\.xpc|\.xpcs)?|itms|jar|javascript|jms|keyparc|lastfm|ldaps?|magnet|mailto|maps|market|message|mid|mms|ms-help|msnim|msrps?|mtqp|mumble|mupdate|mvn|news|nfs|nih?|nntp|notes|oid|opaquelocktoken|palm|paparazzi|platform|pop|pres|proxy|psyc|query|res(?:ource)?|rmi|rsync|rtmp|rtsp|secondlife|service|session|sftp|sgn|shttp|sieve|sips?|skype|sm[bs]|snmp|soap\.beeps?|soldat|spotify|ssh|steam|svn|tag|teamspeak|tel(?:net)?|tftp|things|thismessage|tip|tn3270|tv|udp|unreal|urn|ut2004|vemmi|ventrilo|view-source|webcal|wss?|wtai|wyciwyg|xcon(?:-userid)?|xfire|xmlrpc\.beeps?|xmpp|xri|ymsgr|z39\.50[rs]?):(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]|\([^\s()<>]*\))+(?:\([^\s()<>]*\)|[^\s`*!()\[\]{};:'".,<>?«»“”‘’]))/i;e.defineMode("gfm",(function(n,r){var i=0;var o={startState:function(){return{code:!1,codeBlock:!1,ateSpace:!1}},copyState:function(e){return{code:e.code,codeBlock:e.codeBlock,ateSpace:e.ateSpace}},token:function(e,n){if(n.combineTokens=null,n.codeBlock)return e.match(/^```+/)?(n.codeBlock=!1,null):(e.skipToEnd(),null);if(e.sol()&&(n.code=!1),e.sol()&&e.match(/^```+/))return e.skipToEnd(),n.codeBlock=!0,null;if("`"===e.peek()){e.next();var o=e.pos;e.eatWhile("`");var a=1+e.pos-o;return n.code?a===i&&(n.code=!1):(i=a,n.code=!0),null}if(n.code)return e.next(),null;if(e.eatSpace())return n.ateSpace=!0,null;if((e.sol()||n.ateSpace)&&(n.ateSpace=!1,!1!==r.gitHubSpice)){if(e.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+@)?(?=.{0,6}\d)(?:[a-f0-9]{7,40}\b)/))return n.combineTokens=!0,"link";if(e.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+)?#[0-9]+\b/))return n.combineTokens=!0,"link"}return e.match(t)&&"]("!=e.string.slice(e.start-2,e.start)&&(0==e.start||/\W/.test(e.string.charAt(e.start-1)))?(n.combineTokens=!0,"link"):(e.next(),null)},blankLine:function(e){return e.code=!1,null}},a={taskLists:!0,strikethrough:!0,emoji:!0};for(var s in r)a[s]=r[s];return a.name="markdown",e.overlayMode(e.getMode(n,a),o)}),"markdown"),e.defineMIME("text/x-gfm","gfm")}(n(23326),n(48033),n(19962))},41028:(e,t,n)=>{!function(e){"use strict";e.defineMode("gherkin",(function(){return{startState:function(){return{lineNumber:0,tableHeaderLine:!1,allowFeature:!0,allowBackground:!1,allowScenario:!1,allowSteps:!1,allowPlaceholders:!1,allowMultilineArgument:!1,inMultilineString:!1,inMultilineTable:!1,inKeywordLine:!1}},token:function(e,t){if(e.sol()&&(t.lineNumber++,t.inKeywordLine=!1,t.inMultilineTable&&(t.tableHeaderLine=!1,e.match(/\s*\|/,!1)||(t.allowMultilineArgument=!1,t.inMultilineTable=!1))),e.eatSpace(),t.allowMultilineArgument){if(t.inMultilineString)return e.match('"""')?(t.inMultilineString=!1,t.allowMultilineArgument=!1):e.match(/.*/),"string";if(t.inMultilineTable)return e.match(/\|\s*/)?"bracket":(e.match(/[^\|]*/),t.tableHeaderLine?"header":"string");if(e.match('"""'))return t.inMultilineString=!0,"string";if(e.match("|"))return t.inMultilineTable=!0,t.tableHeaderLine=!0,"bracket"}return e.match(/#.*/)?"comment":!t.inKeywordLine&&e.match(/@\S+/)?"tag":!t.inKeywordLine&&t.allowFeature&&e.match(/(機能|功能|フィーチャ|기능|โครงหลัก|ความสามารถ|ความต้องการทางธุรกิจ|ಹೆಚ್ಚಳ|గుణము|ਮੁਹਾਂਦਰਾ|ਨਕਸ਼ ਨੁਹਾਰ|ਖਾਸੀਅਤ|रूप लेख|وِیژگی|خاصية|תכונה|Функціонал|Функция|Функционалност|Функционал|Үзенчәлеклелек|Свойство|Особина|Мөмкинлек|Могућност|Λειτουργία|Δυνατότητα|Właściwość|Vlastnosť|Trajto|Tính năng|Savybė|Pretty much|Požiadavka|Požadavek|Potrzeba biznesowa|Özellik|Osobina|Ominaisuus|Omadus|OH HAI|Mogućnost|Mogucnost|Jellemző|Hwæt|Hwaet|Funzionalità|Funktionalitéit|Funktionalität|Funkcja|Funkcionalnost|Funkcionalitāte|Funkcia|Fungsi|Functionaliteit|Funcționalitate|Funcţionalitate|Functionalitate|Funcionalitat|Funcionalidade|Fonctionnalité|Fitur|Fīča|Feature|Eiginleiki|Egenskap|Egenskab|Característica|Caracteristica|Business Need|Aspekt|Arwedd|Ahoy matey!|Ability):/)?(t.allowScenario=!0,t.allowBackground=!0,t.allowPlaceholders=!1,t.allowSteps=!1,t.allowMultilineArgument=!1,t.inKeywordLine=!0,"keyword"):!t.inKeywordLine&&t.allowBackground&&e.match(/(背景|배경|แนวคิด|ಹಿನ್ನೆಲೆ|నేపథ్యం|ਪਿਛੋਕੜ|पृष्ठभूमि|زمینه|الخلفية|רקע|Тарих|Предыстория|Предистория|Позадина|Передумова|Основа|Контекст|Кереш|Υπόβαθρο|Założenia|Yo\-ho\-ho|Tausta|Taust|Situācija|Rerefons|Pozadina|Pozadie|Pozadí|Osnova|Latar Belakang|Kontext|Konteksts|Kontekstas|Kontekst|Háttér|Hannergrond|Grundlage|Geçmiş|Fundo|Fono|First off|Dis is what went down|Dasar|Contexto|Contexte|Context|Contesto|Cenário de Fundo|Cenario de Fundo|Cefndir|Bối cảnh|Bakgrunnur|Bakgrunn|Bakgrund|Baggrund|Background|B4|Antecedents|Antecedentes|Ær|Aer|Achtergrond):/)?(t.allowPlaceholders=!1,t.allowSteps=!0,t.allowBackground=!1,t.allowMultilineArgument=!1,t.inKeywordLine=!0,"keyword"):!t.inKeywordLine&&t.allowScenario&&e.match(/(場景大綱|场景大纲|劇本大綱|剧本大纲|テンプレ|シナリオテンプレート|シナリオテンプレ|シナリオアウトライン|시나리오 개요|สรุปเหตุการณ์|โครงสร้างของเหตุการณ์|ವಿವರಣೆ|కథనం|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ|ਪਟਕਥਾ ਢਾਂਚਾ|परिदृश्य रूपरेखा|سيناريو مخطط|الگوی سناریو|תבנית תרחיש|Сценарийның төзелеше|Сценарий структураси|Структура сценарію|Структура сценария|Структура сценарија|Скица|Рамка на сценарий|Концепт|Περιγραφή Σεναρίου|Wharrimean is|Template Situai|Template Senario|Template Keadaan|Tapausaihio|Szenariogrundriss|Szablon scenariusza|Swa hwær swa|Swa hwaer swa|Struktura scenarija|Structură scenariu|Structura scenariu|Skica|Skenario konsep|Shiver me timbers|Senaryo taslağı|Schema dello scenario|Scenariomall|Scenariomal|Scenario Template|Scenario Outline|Scenario Amlinellol|Scenārijs pēc parauga|Scenarijaus šablonas|Reckon it's like|Raamstsenaarium|Plang vum Szenario|Plan du Scénario|Plan du scénario|Osnova scénáře|Osnova Scenára|Náčrt Scenáru|Náčrt Scénáře|Náčrt Scenára|MISHUN SRSLY|Menggariskan Senario|Lýsing Dæma|Lýsing Atburðarásar|Konturo de la scenaro|Koncept|Khung tình huống|Khung kịch bản|Forgatókönyv vázlat|Esquema do Cenário|Esquema do Cenario|Esquema del escenario|Esquema de l'escenari|Esbozo do escenario|Delineação do Cenário|Delineacao do Cenario|All y'all|Abstrakt Scenario|Abstract Scenario):/)?(t.allowPlaceholders=!0,t.allowSteps=!0,t.allowMultilineArgument=!1,t.inKeywordLine=!0,"keyword"):t.allowScenario&&e.match(/(例子|例|サンプル|예|ชุดของเหตุการณ์|ชุดของตัวอย่าง|ಉದಾಹರಣೆಗಳು|ఉదాహరణలు|ਉਦਾਹਰਨਾਂ|उदाहरण|نمونه ها|امثلة|דוגמאות|Үрнәкләр|Сценарији|Примеры|Примери|Приклади|Мисоллар|Мисаллар|Σενάρια|Παραδείγματα|You'll wanna|Voorbeelden|Variantai|Tapaukset|Se þe|Se the|Se ðe|Scenarios|Scenariji|Scenarijai|Przykłady|Primjeri|Primeri|Příklady|Príklady|Piemēri|Példák|Pavyzdžiai|Paraugs|Örnekler|Juhtumid|Exemplos|Exemples|Exemple|Exempel|EXAMPLZ|Examples|Esempi|Enghreifftiau|Ekzemploj|Eksempler|Ejemplos|Dữ liệu|Dead men tell no tales|Dæmi|Contoh|Cenários|Cenarios|Beispiller|Beispiele|Atburðarásir):/)?(t.allowPlaceholders=!1,t.allowSteps=!0,t.allowBackground=!1,t.allowMultilineArgument=!0,"keyword"):!t.inKeywordLine&&t.allowScenario&&e.match(/(場景|场景|劇本|剧本|シナリオ|시나리오|เหตุการณ์|ಕಥಾಸಾರಾಂಶ|సన్నివేశం|ਪਟਕਥਾ|परिदृश्य|سيناريو|سناریو|תרחיש|Сценарій|Сценарио|Сценарий|Пример|Σενάριο|Tình huống|The thing of it is|Tapaus|Szenario|Swa|Stsenaarium|Skenario|Situai|Senaryo|Senario|Scenaro|Scenariusz|Scenariu|Scénario|Scenario|Scenarijus|Scenārijs|Scenarij|Scenarie|Scénář|Scenár|Primer|MISHUN|Kịch bản|Keadaan|Heave to|Forgatókönyv|Escenario|Escenari|Cenário|Cenario|Awww, look mate|Atburðarás):/)?(t.allowPlaceholders=!1,t.allowSteps=!0,t.allowBackground=!1,t.allowMultilineArgument=!1,t.inKeywordLine=!0,"keyword"):!t.inKeywordLine&&t.allowSteps&&e.match(/(那麼|那么|而且|當|当|并且|同時|同时|前提|假设|假設|假定|假如|但是|但し|並且|もし|ならば|ただし|しかし|かつ|하지만|조건|먼저|만일|만약|단|그리고|그러면|และ |เมื่อ |แต่ |ดังนั้น |กำหนดให้ |ಸ್ಥಿತಿಯನ್ನು |ಮತ್ತು |ನೀಡಿದ |ನಂತರ |ಆದರೆ |మరియు |చెప్పబడినది |కాని |ఈ పరిస్థితిలో |అప్పుడు |ਪਰ |ਤਦ |ਜੇਕਰ |ਜਿਵੇਂ ਕਿ |ਜਦੋਂ |ਅਤੇ |यदि |परन्तु |पर |तब |तदा |तथा |जब |चूंकि |किन्तु |कदा |और |अगर |و |هنگامی |متى |لكن |عندما |ثم |بفرض |با فرض |اما |اذاً |آنگاه |כאשר |וגם |בהינתן |אזי |אז |אבל |Якщо |Һәм |Унда |Тоді |Тогда |То |Также |Та |Пусть |Припустимо, що |Припустимо |Онда |Но |Нехай |Нәтиҗәдә |Лекин |Ләкин |Коли |Когда |Когато |Када |Кад |К тому же |І |И |Задато |Задати |Задате |Если |Допустим |Дано |Дадено |Вә |Ва |Бирок |Әмма |Әйтик |Әгәр |Аммо |Али |Але |Агар |А також |А |Τότε |Όταν |Και |Δεδομένου |Αλλά |Þurh |Þegar |Þa þe |Þá |Þa |Zatati |Zakładając |Zadato |Zadate |Zadano |Zadani |Zadan |Za předpokladu |Za predpokladu |Youse know when youse got |Youse know like when |Yna |Yeah nah |Y'know |Y |Wun |Wtedy |When y'all |When |Wenn |WEN |wann |Ve |Và |Und |Un |ugeholl |Too right |Thurh |Thì |Then y'all |Then |Tha the |Tha |Tetapi |Tapi |Tak |Tada |Tad |Stel |Soit |Siis |Și |Şi |Si |Sed |Se |Så |Quando |Quand |Quan |Pryd |Potom |Pokud |Pokiaľ |Però |Pero |Pak |Oraz |Onda |Ond |Oletetaan |Og |Och |O zaman |Niin |Nhưng |När |Når |Mutta |Men |Mas |Maka |Majd |Mając |Mais |Maar |mä |Ma |Lorsque |Lorsqu'|Logo |Let go and haul |Kun |Kuid |Kui |Kiedy |Khi |Ketika |Kemudian |Keď |Když |Kaj |Kai |Kada |Kad |Jeżeli |Jeśli |Ja |It's just unbelievable |Ir |I CAN HAZ |I |Ha |Givun |Givet |Given y'all |Given |Gitt |Gegeven |Gegeben seien |Gegeben sei |Gdy |Gangway! |Fakat |Étant donnés |Etant donnés |Étant données |Etant données |Étant donnée |Etant donnée |Étant donné |Etant donné |Et |És |Entonces |Entón |Então |Entao |En |Eğer ki |Ef |Eeldades |E |Ðurh |Duota |Dun |Donitaĵo |Donat |Donada |Do |Diyelim ki |Diberi |Dengan |Den youse gotta |DEN |De |Dato |Dați fiind |Daţi fiind |Dati fiind |Dati |Date fiind |Date |Data |Dat fiind |Dar |Dann |dann |Dan |Dados |Dado |Dadas |Dada |Ða ðe |Ða |Cuando |Cho |Cando |Când |Cand |Cal |But y'all |But at the end of the day I reckon |BUT |But |Buh |Blimey! |Biết |Bet |Bagi |Aye |awer |Avast! |Atunci |Atesa |Atès |Apabila |Anrhegedig a |Angenommen |And y'all |And |AN |An |an |Amikor |Amennyiben |Ama |Als |Alors |Allora |Ali |Aleshores |Ale |Akkor |Ak |Adott |Ac |Aber |A zároveň |A tiež |A taktiež |A také |A |a |7 |\* )/)?(t.inStep=!0,t.allowPlaceholders=!0,t.allowMultilineArgument=!0,t.inKeywordLine=!0,"keyword"):e.match(/"[^"]*"?/)?"string":t.allowPlaceholders&&e.match(/<[^>]*>?/)?"variable":(e.next(),e.eatWhile(/[^@"<#]/),null)}}})),e.defineMIME("text/x-feature","gherkin")}(n(23326))},68459:(e,t,n)=>{!function(e){"use strict";e.defineMode("go",(function(t){var n,r=t.indentUnit,i={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},o={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},a=/[+\-*&^%:=<>!|\/]/;function s(e,t){var r,u=e.next();if('"'==u||"'"==u||"`"==u)return t.tokenize=(r=u,function(e,t){for(var n,i=!1,o=!1;null!=(n=e.next());){if(n==r&&!i){o=!0;break}i=!i&&"`"!=r&&"\\"==n}return(o||!i&&"`"!=r)&&(t.tokenize=s),"string"}),t.tokenize(e,t);if(/[\d\.]/.test(u))return"."==u?e.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):"0"==u?e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^0[0-7]+/):e.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(u))return n=u,null;if("/"==u){if(e.eat("*"))return t.tokenize=l,l(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(a.test(u))return e.eatWhile(a),"operator";e.eatWhile(/[\w\$_\xa1-\uffff]/);var c=e.current();return i.propertyIsEnumerable(c)?("case"!=c&&"default"!=c||(n="case"),"keyword"):o.propertyIsEnumerable(c)?"atom":"variable"}function l(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=s;break}r="*"==n}return"comment"}function u(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function c(e,t,n){return e.context=new u(e.indented,t,n,null,e.context)}return{startState:function(e){return{tokenize:null,context:new u((e||0)-r,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var r=t.context;if(e.sol()&&(null==r.align&&(r.align=!1),t.indented=e.indentation(),t.startOfLine=!0,"case"==r.type&&(r.type="}")),e.eatSpace())return null;n=null;var i=(t.tokenize||s)(e,t);return"comment"==i||(null==r.align&&(r.align=!0),"{"==n?c(t,e.column(),"}"):"["==n?c(t,e.column(),"]"):"("==n?c(t,e.column(),")"):"case"==n?r.type="case":("}"==n&&"}"==r.type||n==r.type)&&function(e){if(e.context.prev){var t=e.context.type;")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}}(t),t.startOfLine=!1),i},indent:function(t,n){if(t.tokenize!=s&&null!=t.tokenize)return e.Pass;var i=t.context,o=n&&n.charAt(0);if("case"==i.type&&/^(?:case|default)\b/.test(n))return t.context.type="}",i.indented;var a=o==i.type;return i.align?i.column+(a?0:1):i.indented+(a?0:r)},electricChars:"{}):",closeBrackets:"()[]{}''\"\"``",fold:"brace",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//"}})),e.defineMIME("text/x-go","go")}(n(23326))},36275:(e,t,n)=>{!function(e){"use strict";e.defineMode("groovy",(function(t){function n(e){for(var t={},n=e.split(" "),r=0;r"))return r="->",null;if(/[+\-*&%=<>!?|\/~]/.test(n))return e.eatWhile(/[+\-*&%=<>|~]/),"operator";if(e.eatWhile(/[\w\$_]/),"@"==n)return e.eatWhile(/[\w\$_\.]/),"meta";if("."==t.lastToken)return"property";if(e.eat(":"))return r="proplabel","property";var l=e.current();return s.propertyIsEnumerable(l)?"atom":i.propertyIsEnumerable(l)?(o.propertyIsEnumerable(l)?r="newstatement":a.propertyIsEnumerable(l)&&(r="standalone"),"keyword"):"variable"}function u(e,t,n){var r=!1;if("/"!=e&&t.eat(e)){if(!t.eat(e))return"string";r=!0}function i(t,n){for(var i,o=!1,a=!r;null!=(i=t.next());){if(i==e&&!o){if(!r)break;if(t.match(e+e)){a=!0;break}}if('"'==e&&"$"==i&&!o){if(t.eat("{"))return n.tokenize.push(c()),"string";if(t.match(/^\w/,!1))return n.tokenize.push(d),"string"}o=!o&&"\\"==i}return a&&n.tokenize.pop(),"string"}return n.tokenize.push(i),i(t,n)}function c(){var e=1;function t(t,n){if("}"==t.peek()){if(0==--e)return n.tokenize.pop(),n.tokenize[n.tokenize.length-1](t,n)}else"{"==t.peek()&&e++;return l(t,n)}return t.isBase=!0,t}function d(e,t){var n=e.match(/^(\.|[\w\$_]+)/);return n?"."==n[0]?null:"variable":(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t))}function p(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize.pop();break}r="*"==n}return"comment"}function f(e,t){return!e||"operator"==e||"->"==e||/[\.\[\{\(,;:]/.test(e)||"newstatement"==e||"keyword"==e||"proplabel"==e||"standalone"==e&&!t}function h(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function m(e,t,n){return e.context=new h(e.indented,t,n,null,e.context)}function g(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}return l.isBase=!0,{startState:function(e){return{tokenize:[l],context:new h((e||0)-t.indentUnit,0,"top",!1),indented:0,startOfLine:!0,lastToken:null}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0,"statement"!=n.type||f(t.lastToken,!0)||(g(t),n=t.context)),e.eatSpace())return null;r=null;var i=t.tokenize[t.tokenize.length-1](e,t);if("comment"==i)return i;if(null==n.align&&(n.align=!0),";"!=r&&":"!=r||"statement"!=n.type)if("->"==r&&"statement"==n.type&&"}"==n.prev.type)g(t),t.context.align=!1;else if("{"==r)m(t,e.column(),"}");else if("["==r)m(t,e.column(),"]");else if("("==r)m(t,e.column(),")");else if("}"==r){for(;"statement"==n.type;)n=g(t);for("}"==n.type&&(n=g(t));"statement"==n.type;)n=g(t)}else r==n.type?g(t):("}"==n.type||"top"==n.type||"statement"==n.type&&"newstatement"==r)&&m(t,e.column(),"statement");else g(t);return t.startOfLine=!1,t.lastToken=r||i,i},indent:function(n,r){if(!n.tokenize[n.tokenize.length-1].isBase)return e.Pass;var i=r&&r.charAt(0),o=n.context;"statement"!=o.type||f(n.lastToken,!0)||(o=o.prev);var a=i==o.type;return"statement"==o.type?o.indented+("{"==i?0:t.indentUnit):o.align?o.column+(a?0:1):o.indented+(a?0:t.indentUnit)},electricChars:"{}",closeBrackets:{triples:"'\""},fold:"brace",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//"}})),e.defineMIME("text/x-groovy","groovy")}(n(23326))},88099:(e,t,n)=>{!function(e){"use strict";e.defineMode("haml",(function(t){var n=e.getMode(t,{name:"htmlmixed"}),r=e.getMode(t,"ruby");function i(e){return function(t,n){return t.peek()==e&&1==n.rubyState.tokenize.length?(t.next(),n.tokenize=a,"closeAttributeTag"):o(t,n)}}function o(e,t){return e.match("-#")?(e.skipToEnd(),"comment"):r.token(e,t.rubyState)}function a(e,t){var r=e.peek();if("comment"==t.previousToken.style&&t.indented>t.previousToken.indented)return e.skipToEnd(),"commentLine";if(t.startOfLine){if("!"==r&&e.match("!!"))return e.skipToEnd(),"tag";if(e.match(/^%[\w:#\.]+=/))return t.tokenize=o,"hamlTag";if(e.match(/^%[\w:]+/))return"hamlTag";if("/"==r)return e.skipToEnd(),"comment"}if((t.startOfLine||"hamlTag"==t.previousToken.style)&&("#"==r||"."==r))return e.match(/[\w-#\.]*/),"hamlAttribute";if(t.startOfLine&&!e.match("--\x3e",!1)&&("="==r||"-"==r))return t.tokenize=o,t.tokenize(e,t);if("hamlTag"==t.previousToken.style||"closeAttributeTag"==t.previousToken.style||"hamlAttribute"==t.previousToken.style){if("("==r)return t.tokenize=i(")"),t.tokenize(e,t);if("{"==r&&!e.match(/^\{%.*/))return t.tokenize=i("}"),t.tokenize(e,t)}return n.token(e,t.htmlState)}return{startState:function(){return{htmlState:e.startState(n),rubyState:e.startState(r),indented:0,previousToken:{style:null,indented:0},tokenize:a}},copyState:function(t){return{htmlState:e.copyState(n,t.htmlState),rubyState:e.copyState(r,t.rubyState),indented:t.indented,previousToken:t.previousToken,tokenize:t.tokenize}},token:function(e,t){if(e.sol()&&(t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;var n=t.tokenize(e,t);if(t.startOfLine=!1,n&&"commentLine"!=n&&(t.previousToken={style:n,indented:t.indented}),e.eol()&&t.tokenize==o){e.backUp(1);var r=e.peek();e.next(),r&&","!=r&&(t.tokenize=a)}return"hamlTag"==n?n="tag":"commentLine"==n?n="comment":"hamlAttribute"==n?n="attribute":"closeAttributeTag"==n&&(n=null),n}}}),"htmlmixed","ruby"),e.defineMIME("text/x-haml","haml")}(n(23326),n(38425),n(53019))},16791:(e,t,n)=>{!function(e){"use strict";e.defineSimpleMode("handlebars-tags",{start:[{regex:/\{\{\{/,push:"handlebars_raw",token:"tag"},{regex:/\{\{!--/,push:"dash_comment",token:"comment"},{regex:/\{\{!/,push:"comment",token:"comment"},{regex:/\{\{/,push:"handlebars",token:"tag"}],handlebars_raw:[{regex:/\}\}\}/,pop:!0,token:"tag"}],handlebars:[{regex:/\}\}/,pop:!0,token:"tag"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"},{regex:/'(?:[^\\']|\\.)*'?/,token:"string"},{regex:/>|[#\/]([A-Za-z_]\w*)/,token:"keyword"},{regex:/(?:else|this)\b/,token:"keyword"},{regex:/\d+/i,token:"number"},{regex:/=|~|@|true|false/,token:"atom"},{regex:/(?:\.\.\/)*(?:[A-Za-z_][\w\.]*)+/,token:"variable-2"}],dash_comment:[{regex:/--\}\}/,pop:!0,token:"comment"},{regex:/./,token:"comment"}],comment:[{regex:/\}\}/,pop:!0,token:"comment"},{regex:/./,token:"comment"}],meta:{blockCommentStart:"{{--",blockCommentEnd:"--}}"}}),e.defineMode("handlebars",(function(t,n){var r=e.getMode(t,"handlebars-tags");return n&&n.base?e.multiplexingMode(e.getMode(t,n.base),{open:"{{",close:/\}\}\}?/,mode:r,parseDelimiters:!0}):r})),e.defineMIME("text/x-handlebars-template","handlebars")}(n(23326),n(81094),n(15718))},93476:(e,t,n)=>{!function(e){"use strict";e.defineMode("haskell-literate",(function(t,n){var r=e.getMode(t,n&&n.base||"haskell");return{startState:function(){return{inCode:!1,baseState:e.startState(r)}},token:function(e,t){return e.sol()&&(t.inCode=e.eat(">"))?"meta":t.inCode?r.token(e,t.baseState):(e.skipToEnd(),"comment")},innerMode:function(e){return e.inCode?{state:e.baseState,mode:r}:null}}}),"haskell"),e.defineMIME("text/x-literate-haskell","haskell-literate")}(n(23326),n(88216))},88216:(e,t,n)=>{!function(e){"use strict";e.defineMode("haskell",(function(e,t){function n(e,t,n){return t(n),n(e,t)}var r=/[a-z_]/,i=/[A-Z]/,o=/\d/,a=/[0-9A-Fa-f]/,s=/[0-7]/,l=/[a-z_A-Z0-9'\xa1-\uffff]/,u=/[-!#$%&*+.\/<=>?@\\^|~:]/,c=/[(),;[\]`{}]/,d=/[ \t\v\f]/;function p(e,t){if(e.eatWhile(d))return null;var p=e.next();if(c.test(p)){if("{"==p&&e.eat("-")){var m="comment";return e.eat("#")&&(m="meta"),n(e,t,f(m,1))}return null}if("'"==p)return e.eat("\\"),e.next(),e.eat("'")?"string":"string error";if('"'==p)return n(e,t,h);if(i.test(p))return e.eatWhile(l),e.eat(".")?"qualifier":"variable-2";if(r.test(p))return e.eatWhile(l),"variable";if(o.test(p)){if("0"==p){if(e.eat(/[xX]/))return e.eatWhile(a),"integer";if(e.eat(/[oO]/))return e.eatWhile(s),"number"}return e.eatWhile(o),m="number",e.match(/^\.\d+/)&&(m="number"),e.eat(/[eE]/)&&(m="number",e.eat(/[-+]/),e.eatWhile(o)),m}return"."==p&&e.eat(".")?"keyword":u.test(p)?"-"==p&&e.eat(/-/)&&(e.eatWhile(/-/),!e.eat(u))?(e.skipToEnd(),"comment"):(m="variable",":"==p&&(m="variable-2"),e.eatWhile(u),m):"error"}function f(e,t){return 0==t?p:function(n,r){for(var i=t;!n.eol();){var o=n.next();if("{"==o&&n.eat("-"))++i;else if("-"==o&&n.eat("}")&&0==--i)return r(p),e}return r(f(e,i)),e}}function h(e,t){for(;!e.eol();){var n=e.next();if('"'==n)return t(p),"string";if("\\"==n){if(e.eol()||e.eat(d))return t(m),"string";e.eat("&")||e.next()}}return t(p),"string error"}function m(e,t){return e.eat("\\")?n(e,t,h):(e.next(),t(p),"error")}var g=function(){var e={};function n(t){return function(){for(var n=0;n","@","~","=>"),n("builtin")("!!","$!","$","&&","+","++","-",".","/","/=","<","<*","<=","<$>","<*>","=<<","==",">",">=",">>",">>=","^","^^","||","*","*>","**"),n("builtin")("Applicative","Bool","Bounded","Char","Double","EQ","Either","Enum","Eq","False","FilePath","Float","Floating","Fractional","Functor","GT","IO","IOError","Int","Integer","Integral","Just","LT","Left","Maybe","Monad","Nothing","Num","Ord","Ordering","Rational","Read","ReadS","Real","RealFloat","RealFrac","Right","Show","ShowS","String","True"),n("builtin")("abs","acos","acosh","all","and","any","appendFile","asTypeOf","asin","asinh","atan","atan2","atanh","break","catch","ceiling","compare","concat","concatMap","const","cos","cosh","curry","cycle","decodeFloat","div","divMod","drop","dropWhile","either","elem","encodeFloat","enumFrom","enumFromThen","enumFromThenTo","enumFromTo","error","even","exp","exponent","fail","filter","flip","floatDigits","floatRadix","floatRange","floor","fmap","foldl","foldl1","foldr","foldr1","fromEnum","fromInteger","fromIntegral","fromRational","fst","gcd","getChar","getContents","getLine","head","id","init","interact","ioError","isDenormalized","isIEEE","isInfinite","isNaN","isNegativeZero","iterate","last","lcm","length","lex","lines","log","logBase","lookup","map","mapM","mapM_","max","maxBound","maximum","maybe","min","minBound","minimum","mod","negate","not","notElem","null","odd","or","otherwise","pi","pred","print","product","properFraction","pure","putChar","putStr","putStrLn","quot","quotRem","read","readFile","readIO","readList","readLn","readParen","reads","readsPrec","realToFrac","recip","rem","repeat","replicate","return","reverse","round","scaleFloat","scanl","scanl1","scanr","scanr1","seq","sequence","sequence_","show","showChar","showList","showParen","showString","shows","showsPrec","significand","signum","sin","sinh","snd","span","splitAt","sqrt","subtract","succ","sum","tail","take","takeWhile","tan","tanh","toEnum","toInteger","toRational","truncate","uncurry","undefined","unlines","until","unwords","unzip","unzip3","userError","words","writeFile","zip","zip3","zipWith","zipWith3");var r=t.overrideKeywords;if(r)for(var i in r)r.hasOwnProperty(i)&&(e[i]=r[i]);return e}();return{startState:function(){return{f:p}},copyState:function(e){return{f:e.f}},token:function(e,t){var n=t.f(e,(function(e){t.f=e})),r=e.current();return g.hasOwnProperty(r)?g[r]:n},blockCommentStart:"{-",blockCommentEnd:"-}",lineComment:"--"}})),e.defineMIME("text/x-haskell","haskell")}(n(23326))},45930:(e,t,n)=>{!function(e){"use strict";e.defineMode("haxe",(function(e,t){var n=e.indentUnit;function r(e){return{type:e,style:"keyword"}}var i,o=r("keyword a"),a=r("keyword b"),s=r("keyword c"),l=r("operator"),u={type:"atom",style:"atom"},c={type:"attribute",style:"attribute"},d=r("typedef"),p={if:o,while:o,else:a,do:a,try:a,return:s,break:s,continue:s,new:s,throw:s,var:r("var"),inline:c,static:c,using:r("import"),public:c,private:c,cast:r("cast"),import:r("import"),macro:r("macro"),function:r("function"),catch:r("catch"),untyped:r("untyped"),callback:r("cb"),for:r("for"),switch:r("switch"),case:r("case"),default:r("default"),in:l,never:r("property_access"),trace:r("trace"),class:d,abstract:d,enum:d,interface:d,typedef:d,extends:d,implements:d,dynamic:d,true:u,false:u,null:u},f=/[+\-*&%=<>!?|]/;function h(e,t,n){return t.tokenize=n,n(e,t)}function m(e,t){for(var n,r=!1;null!=(n=e.next());){if(n==t&&!r)return!0;r=!r&&"\\"==n}}function g(e,t,n){return d=e,i=n,t}function v(e,t){var n,r=e.next();if('"'==r||"'"==r)return h(e,t,(n=r,function(e,t){return m(e,n)&&(t.tokenize=v),g("string","string")}));if(/[\[\]{}\(\),;\:\.]/.test(r))return g(r);if("0"==r&&e.eat(/x/i))return e.eatWhile(/[\da-f]/i),g("number","number");if(/\d/.test(r)||"-"==r&&e.eat(/\d/))return e.match(/^\d*(?:\.\d*(?!\.))?(?:[eE][+\-]?\d+)?/),g("number","number");if(t.reAllowed&&"~"==r&&e.eat(/\//))return m(e,"/"),e.eatWhile(/[gimsu]/),g("regexp","string-2");if("/"==r)return e.eat("*")?h(e,t,y):e.eat("/")?(e.skipToEnd(),g("comment","comment")):(e.eatWhile(f),g("operator",null,e.current()));if("#"==r)return e.skipToEnd(),g("conditional","meta");if("@"==r)return e.eat(/:/),e.eatWhile(/[\w_]/),g("metadata","meta");if(f.test(r))return e.eatWhile(f),g("operator",null,e.current());if(/[A-Z]/.test(r))return e.eatWhile(/[\w_<>]/),g("type","variable-3",i=e.current());e.eatWhile(/[\w_]/);var i=e.current(),o=p.propertyIsEnumerable(i)&&p[i];return o&&t.kwAllowed?g(o.type,o.style,i):g("variable","variable",i)}function y(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=v;break}r="*"==n}return g("comment","comment")}var b={atom:!0,number:!0,variable:!0,string:!0,regexp:!0};function w(e,t,n,r,i,o){this.indented=e,this.column=t,this.type=n,this.prev=i,this.info=o,null!=r&&(this.align=r)}function _(e,t){for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0}function x(e,t){if(/[a-z]/.test(t.charAt(0)))return!1;for(var n=e.importedtypes.length,r=0;r=0;e--)E.cc.push(arguments[e])}function S(){return C.apply(null,arguments),!0}function A(e,t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}function T(e){var t=E.state;if(t.context){if(E.marked="def",A(e,t.localVars))return;t.localVars={name:e,next:t.localVars}}else if(t.globalVars){if(A(e,t.globalVars))return;t.globalVars={name:e,next:t.globalVars}}}var O={name:"this",next:null};function P(){E.state.context||(E.state.localVars=O),E.state.context={prev:E.state.context,vars:E.state.localVars}}function D(){E.state.localVars=E.state.context.vars,E.state.context=E.state.context.prev}function R(e,t){var n=function(){var n=E.state;n.lexical=new w(n.indented,E.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function I(){var e=E.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function M(e){return function t(n){return n==e?S():";"==e?C():S(t)}}function L(e){return"@"==e?S(z):"var"==e?S(R("vardef"),Y,M(";"),I):"keyword a"==e?S(R("form"),N,L,I):"keyword b"==e?S(R("form"),L,I):"{"==e?S(R("}"),P,K,I,D):";"==e?S():"attribute"==e?S(B):"function"==e?S(J):"for"==e?S(R("form"),M("("),R(")"),X,M(")"),I,L,I):"variable"==e?S(R("stat"),W):"switch"==e?S(R("form"),N,R("}","switch"),M("{"),K,I,I):"case"==e?S(N,M(":")):"default"==e?S(M(":")):"catch"==e?S(R("form"),P,M("("),re,M(")"),L,I,D):"import"==e?S(q,M(";")):"typedef"==e?S($):C(R("stat"),N,M(";"),I)}function N(e){return b.hasOwnProperty(e)||"type"==e?S(F):"function"==e?S(J):"keyword c"==e?S(j):"("==e?S(R(")"),j,M(")"),I,F):"operator"==e?S(N):"["==e?S(R("]"),G(j,"]"),I,F):"{"==e?S(R("}"),G(V,"}"),I,F):S()}function j(e){return e.match(/[;\}\)\],]/)?C():C(N)}function F(e,t){return"operator"==e&&/\+\+|--/.test(t)?S(F):"operator"==e||":"==e?S(N):";"!=e?"("==e?S(R(")"),G(N,")"),I,F):"."==e?S(H,F):"["==e?S(R("]"),N,M("]"),I,F):void 0:void 0}function B(e){return"attribute"==e?S(B):"function"==e?S(J):"var"==e?S(Y):void 0}function z(e){return":"==e||"variable"==e?S(z):"("==e?S(R(")"),G(U,")"),I,L):void 0}function U(e){if("variable"==e)return S()}function q(e,t){return"variable"==e&&/[A-Z]/.test(t.charAt(0))?(k(t),S()):"variable"==e||"property"==e||"."==e||"*"==t?S(q):void 0}function $(e,t){return"variable"==e&&/[A-Z]/.test(t.charAt(0))?(k(t),S()):"type"==e&&/[A-Z]/.test(t.charAt(0))?S():void 0}function W(e){return":"==e?S(I,L):C(F,M(";"),I)}function H(e){if("variable"==e)return E.marked="property",S()}function V(e){if("variable"==e&&(E.marked="property"),b.hasOwnProperty(e))return S(M(":"),N)}function G(e,t){function n(r){return","==r?S(e,n):r==t?S():S(M(t))}return function(r){return r==t?S():C(e,n)}}function K(e){return"}"==e?S():C(L,K)}function Y(e,t){return"variable"==e?(T(t),S(ee,Z)):S()}function Z(e,t){return"="==t?S(N,Z):","==e?S(Y):void 0}function X(e,t){return"variable"==e?(T(t),S(Q,N)):C()}function Q(e,t){if("in"==t)return S()}function J(e,t){return"variable"==e||"type"==e?(T(t),S(J)):"new"==t?S(J):"("==e?S(R(")"),P,G(re,")"),I,ee,L,D):void 0}function ee(e){if(":"==e)return S(te)}function te(e){return"type"==e||"variable"==e?S():"{"==e?S(R("}"),G(ne,"}"),I):void 0}function ne(e){if("variable"==e)return S(ee)}function re(e,t){if("variable"==e)return T(t),S(ee)}return D.lex=!0,I.lex=!0,{startState:function(e){var r={tokenize:v,reAllowed:!0,kwAllowed:!0,cc:[],lexical:new w((e||0)-n,0,"block",!1),localVars:t.localVars,importedtypes:["Int","Float","String","Void","Std","Bool","Dynamic","Array"],context:t.localVars&&{vars:t.localVars},indented:0};return t.globalVars&&"object"==typeof t.globalVars&&(r.globalVars=t.globalVars),r},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation()),e.eatSpace())return null;var n=t.tokenize(e,t);return"comment"==d?n:(t.reAllowed=!("operator"!=d&&"keyword c"!=d&&!d.match(/^[\[{}\(,;:]$/)),t.kwAllowed="."!=d,function(e,t,n,r,i){var o=e.cc;for(E.state=e,E.stream=i,E.marked=null,E.cc=o,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;)if((o.length?o.pop():L)(n,r)){for(;o.length&&o[o.length-1].lex;)o.pop()();return E.marked?E.marked:"variable"==n&&_(e,r)?"variable-2":"variable"==n&&x(e,r)?"variable-3":t}}(t,n,d,i,e))},indent:function(e,t){if(e.tokenize!=v)return 0;var r=t&&t.charAt(0),i=e.lexical;"stat"==i.type&&"}"==r&&(i=i.prev);var o=i.type,a=r==o;return"vardef"==o?i.indented+4:"form"==o&&"{"==r?i.indented:"stat"==o||"form"==o?i.indented+n:"switch"!=i.info||a?i.align?i.column+(a?0:1):i.indented+(a?0:n):i.indented+(/^(?:case|default)\b/.test(t)?n:2*n)},electricChars:"{}",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//"}})),e.defineMIME("text/x-haxe","haxe"),e.defineMode("hxml",(function(){return{startState:function(){return{define:!1,inString:!1}},token:function(e,t){var n=e.peek(),r=e.sol();if("#"==n)return e.skipToEnd(),"comment";if(r&&"-"==n){var i="variable-2";return e.eat(/-/),"-"==e.peek()&&(e.eat(/-/),i="keyword a"),"D"==e.peek()&&(e.eat(/[D]/),i="keyword c",t.define=!0),e.eatWhile(/[A-Z]/i),i}return n=e.peek(),0==t.inString&&"'"==n&&(t.inString=!0,e.next()),1==t.inString?(e.skipTo("'")||e.skipToEnd(),"'"==e.peek()&&(e.next(),t.inString=!1),"string"):(e.next(),null)},lineComment:"#"}})),e.defineMIME("text/x-hxml","hxml")}(n(23326))},39119:(e,t,n)=>{!function(e){"use strict";e.defineMode("htmlembedded",(function(t,n){var r=n.closeComment||"--%>";return e.multiplexingMode(e.getMode(t,"htmlmixed"),{open:n.openComment||"<%--",close:r,delimStyle:"comment",mode:{token:function(e){return e.skipTo(r)||e.skipToEnd(),"comment"}}},{open:n.open||n.scriptStartRegex||"<%",close:n.close||n.scriptEndRegex||"%>",mode:e.getMode(t,n.scriptingModeSpec)})}),"htmlmixed"),e.defineMIME("application/x-ejs",{name:"htmlembedded",scriptingModeSpec:"javascript"}),e.defineMIME("application/x-aspx",{name:"htmlembedded",scriptingModeSpec:"text/x-csharp"}),e.defineMIME("application/x-jsp",{name:"htmlembedded",scriptingModeSpec:"text/x-java"}),e.defineMIME("application/x-erb",{name:"htmlembedded",scriptingModeSpec:"ruby"})}(n(23326),n(38425),n(15718))},38425:(e,t,n)=>{!function(e){"use strict";var t={script:[["lang",/(javascript|babel)/i,"javascript"],["type",/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i,"javascript"],["type",/./,"text/plain"],[null,null,"javascript"]],style:[["lang",/^css$/i,"css"],["type",/^(text\/)?(x-)?(stylesheet|css)$/i,"css"],["type",/./,"text/plain"],[null,null,"css"]]};var n={};function r(e,t){var r=e.match(function(e){return n[e]||(n[e]=new RegExp("\\s+"+e+"\\s*=\\s*('|\")?([^'\"]+)('|\")?\\s*"))}(t));return r?/^\s*(.*?)\s*$/.exec(r[2])[1]:""}function i(e,t){return new RegExp((t?"^":"")+"","i")}function o(e,t){for(var n in e)for(var r=t[n]||(t[n]=[]),i=e[n],o=i.length-1;o>=0;o--)r.unshift(i[o])}e.defineMode("htmlmixed",(function(n,a){var s=e.getMode(n,{name:"xml",htmlMode:!0,multilineTagIndentFactor:a.multilineTagIndentFactor,multilineTagIndentPastTag:a.multilineTagIndentPastTag,allowMissingTagName:a.allowMissingTagName}),l={},u=a&&a.tags,c=a&&a.scriptTypes;if(o(t,l),u&&o(u,l),c)for(var d=c.length-1;d>=0;d--)l.script.unshift(["type",c[d].matches,c[d].mode]);function p(t,o){var a,u=s.token(t,o.htmlState),c=/\btag\b/.test(u);if(c&&!/[<>\s\/]/.test(t.current())&&(a=o.htmlState.tagName&&o.htmlState.tagName.toLowerCase())&&l.hasOwnProperty(a))o.inTag=a+" ";else if(o.inTag&&c&&/>$/.test(t.current())){var d=/^([\S]+) (.*)/.exec(o.inTag);o.inTag=null;var f=">"==t.current()&&function(e,t){for(var n=0;n-1?e.backUp(r.length-i):r.match(/<\/?$/)&&(e.backUp(r.length),e.match(t,!1)||e.match(r)),n}(e,g,t.localMode.token(e,t.localState))},o.localMode=h,o.localState=e.startState(h,s.indent(o.htmlState,"",""))}else o.inTag&&(o.inTag+=t.current(),t.eol()&&(o.inTag+=" "));return u}return{startState:function(){return{token:p,inTag:null,localMode:null,localState:null,htmlState:e.startState(s)}},copyState:function(t){var n;return t.localState&&(n=e.copyState(t.localMode,t.localState)),{token:t.token,inTag:t.inTag,localMode:t.localMode,localState:n,htmlState:e.copyState(s,t.htmlState)}},token:function(e,t){return t.token(e,t)},indent:function(t,n,r){return!t.localMode||/^\s*<\//.test(n)?s.indent(t.htmlState,n,r):t.localMode.indent?t.localMode.indent(t.localState,n,r):e.Pass},innerMode:function(e){return{state:e.localState||e.htmlState,mode:e.localMode||s}}}}),"xml","javascript","css"),e.defineMIME("text/html","htmlmixed")}(n(23326),n(9812),n(49055),n(98627))},58527:(e,t,n)=>{!function(e){"use strict";e.defineMode("http",(function(){function e(e,t){return e.skipToEnd(),t.cur=a,"error"}function t(t,r){return t.match(/^HTTP\/\d\.\d/)?(r.cur=n,"keyword"):t.match(/^[A-Z]+/)&&/[ \t]/.test(t.peek())?(r.cur=i,"keyword"):e(t,r)}function n(t,n){var i=t.match(/^\d+/);if(!i)return e(t,n);n.cur=r;var o=Number(i[0]);return o>=100&&o<200?"positive informational":o>=200&&o<300?"positive success":o>=300&&o<400?"positive redirect":o>=400&&o<500?"negative client-error":o>=500&&o<600?"negative server-error":"error"}function r(e,t){return e.skipToEnd(),t.cur=a,null}function i(e,t){return e.eatWhile(/\S/),t.cur=o,"string-2"}function o(t,n){return t.match(/^HTTP\/\d\.\d$/)?(n.cur=a,"keyword"):e(t,n)}function a(e){return e.sol()&&!e.eat(/[ \t]/)?e.match(/^.*?:/)?"atom":(e.skipToEnd(),"error"):(e.skipToEnd(),"string")}function s(e){return e.skipToEnd(),null}return{token:function(e,t){var n=t.cur;return n!=a&&n!=s&&e.eatSpace()?null:n(e,t)},blankLine:function(e){e.cur=s},startState:function(){return{cur:t}}}})),e.defineMIME("message/http","http")}(n(23326))},63647:(e,t,n)=>{!function(e){"use strict";function t(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}var n=["a_correlate","abs","acos","adapt_hist_equal","alog","alog2","alog10","amoeba","annotate","app_user_dir","app_user_dir_query","arg_present","array_equal","array_indices","arrow","ascii_template","asin","assoc","atan","axis","axis","bandpass_filter","bandreject_filter","barplot","bar_plot","beseli","beselj","beselk","besely","beta","biginteger","bilinear","bin_date","binary_template","bindgen","binomial","bit_ffs","bit_population","blas_axpy","blk_con","boolarr","boolean","boxplot","box_cursor","breakpoint","broyden","bubbleplot","butterworth","bytarr","byte","byteorder","bytscl","c_correlate","calendar","caldat","call_external","call_function","call_method","call_procedure","canny","catch","cd","cdf","ceil","chebyshev","check_math","chisqr_cvf","chisqr_pdf","choldc","cholsol","cindgen","cir_3pnt","clipboard","close","clust_wts","cluster","cluster_tree","cmyk_convert","code_coverage","color_convert","color_exchange","color_quan","color_range_map","colorbar","colorize_sample","colormap_applicable","colormap_gradient","colormap_rotation","colortable","comfit","command_line_args","common","compile_opt","complex","complexarr","complexround","compute_mesh_normals","cond","congrid","conj","constrained_min","contour","contour","convert_coord","convol","convol_fft","coord2to3","copy_lun","correlate","cos","cosh","cpu","cramer","createboxplotdata","create_cursor","create_struct","create_view","crossp","crvlength","ct_luminance","cti_test","cursor","curvefit","cv_coord","cvttobm","cw_animate","cw_animate_getp","cw_animate_load","cw_animate_run","cw_arcball","cw_bgroup","cw_clr_index","cw_colorsel","cw_defroi","cw_field","cw_filesel","cw_form","cw_fslider","cw_light_editor","cw_light_editor_get","cw_light_editor_set","cw_orient","cw_palette_editor","cw_palette_editor_get","cw_palette_editor_set","cw_pdmenu","cw_rgbslider","cw_tmpl","cw_zoom","db_exists","dblarr","dcindgen","dcomplex","dcomplexarr","define_key","define_msgblk","define_msgblk_from_file","defroi","defsysv","delvar","dendro_plot","dendrogram","deriv","derivsig","determ","device","dfpmin","diag_matrix","dialog_dbconnect","dialog_message","dialog_pickfile","dialog_printersetup","dialog_printjob","dialog_read_image","dialog_write_image","dictionary","digital_filter","dilate","dindgen","dissolve","dist","distance_measure","dlm_load","dlm_register","doc_library","double","draw_roi","edge_dog","efont","eigenql","eigenvec","ellipse","elmhes","emboss","empty","enable_sysrtn","eof","eos","erase","erf","erfc","erfcx","erode","errorplot","errplot","estimator_filter","execute","exit","exp","expand","expand_path","expint","extract","extract_slice","f_cvf","f_pdf","factorial","fft","file_basename","file_chmod","file_copy","file_delete","file_dirname","file_expand_path","file_gunzip","file_gzip","file_info","file_lines","file_link","file_mkdir","file_move","file_poll_input","file_readlink","file_same","file_search","file_tar","file_test","file_untar","file_unzip","file_which","file_zip","filepath","findgen","finite","fix","flick","float","floor","flow3","fltarr","flush","format_axis_values","forward_function","free_lun","fstat","fulstr","funct","function","fv_test","fx_root","fz_roots","gamma","gamma_ct","gauss_cvf","gauss_pdf","gauss_smooth","gauss2dfit","gaussfit","gaussian_function","gaussint","get_drive_list","get_dxf_objects","get_kbrd","get_login_info","get_lun","get_screen_size","getenv","getwindows","greg2jul","grib","grid_input","grid_tps","grid3","griddata","gs_iter","h_eq_ct","h_eq_int","hanning","hash","hdf","hdf5","heap_free","heap_gc","heap_nosave","heap_refcount","heap_save","help","hilbert","hist_2d","hist_equal","histogram","hls","hough","hqr","hsv","i18n_multibytetoutf8","i18n_multibytetowidechar","i18n_utf8tomultibyte","i18n_widechartomultibyte","ibeta","icontour","iconvertcoord","idelete","identity","idl_base64","idl_container","idl_validname","idlexbr_assistant","idlitsys_createtool","idlunit","iellipse","igamma","igetcurrent","igetdata","igetid","igetproperty","iimage","image","image_cont","image_statistics","image_threshold","imaginary","imap","indgen","int_2d","int_3d","int_tabulated","intarr","interpol","interpolate","interval_volume","invert","ioctl","iopen","ir_filter","iplot","ipolygon","ipolyline","iputdata","iregister","ireset","iresolve","irotate","isa","isave","iscale","isetcurrent","isetproperty","ishft","isocontour","isosurface","isurface","itext","itranslate","ivector","ivolume","izoom","journal","json_parse","json_serialize","jul2greg","julday","keyword_set","krig2d","kurtosis","kw_test","l64indgen","la_choldc","la_cholmprove","la_cholsol","la_determ","la_eigenproblem","la_eigenql","la_eigenvec","la_elmhes","la_gm_linear_model","la_hqr","la_invert","la_least_square_equality","la_least_squares","la_linear_equation","la_ludc","la_lumprove","la_lusol","la_svd","la_tridc","la_trimprove","la_triql","la_trired","la_trisol","label_date","label_region","ladfit","laguerre","lambda","lambdap","lambertw","laplacian","least_squares_filter","leefilt","legend","legendre","linbcg","lindgen","linfit","linkimage","list","ll_arc_distance","lmfit","lmgr","lngamma","lnp_test","loadct","locale_get","logical_and","logical_or","logical_true","lon64arr","lonarr","long","long64","lsode","lu_complex","ludc","lumprove","lusol","m_correlate","machar","make_array","make_dll","make_rt","map","mapcontinents","mapgrid","map_2points","map_continents","map_grid","map_image","map_patch","map_proj_forward","map_proj_image","map_proj_info","map_proj_init","map_proj_inverse","map_set","matrix_multiply","matrix_power","max","md_test","mean","meanabsdev","mean_filter","median","memory","mesh_clip","mesh_decimate","mesh_issolid","mesh_merge","mesh_numtriangles","mesh_obj","mesh_smooth","mesh_surfacearea","mesh_validate","mesh_volume","message","min","min_curve_surf","mk_html_help","modifyct","moment","morph_close","morph_distance","morph_gradient","morph_hitormiss","morph_open","morph_thin","morph_tophat","multi","n_elements","n_params","n_tags","ncdf","newton","noise_hurl","noise_pick","noise_scatter","noise_slur","norm","obj_class","obj_destroy","obj_hasmethod","obj_isa","obj_new","obj_valid","objarr","on_error","on_ioerror","online_help","openr","openu","openw","oplot","oploterr","orderedhash","p_correlate","parse_url","particle_trace","path_cache","path_sep","pcomp","plot","plot3d","plot","plot_3dbox","plot_field","ploterr","plots","polar_contour","polar_surface","polyfill","polyshade","pnt_line","point_lun","polarplot","poly","poly_2d","poly_area","poly_fit","polyfillv","polygon","polyline","polywarp","popd","powell","pref_commit","pref_get","pref_set","prewitt","primes","print","printf","printd","pro","product","profile","profiler","profiles","project_vol","ps_show_fonts","psafm","pseudo","ptr_free","ptr_new","ptr_valid","ptrarr","pushd","qgrid3","qhull","qromb","qromo","qsimp","query_*","query_ascii","query_bmp","query_csv","query_dicom","query_gif","query_image","query_jpeg","query_jpeg2000","query_mrsid","query_pict","query_png","query_ppm","query_srf","query_tiff","query_video","query_wav","r_correlate","r_test","radon","randomn","randomu","ranks","rdpix","read","readf","read_ascii","read_binary","read_bmp","read_csv","read_dicom","read_gif","read_image","read_interfile","read_jpeg","read_jpeg2000","read_mrsid","read_pict","read_png","read_ppm","read_spr","read_srf","read_sylk","read_tiff","read_video","read_wav","read_wave","read_x11_bitmap","read_xwd","reads","readu","real_part","rebin","recall_commands","recon3","reduce_colors","reform","region_grow","register_cursor","regress","replicate","replicate_inplace","resolve_all","resolve_routine","restore","retall","return","reverse","rk4","roberts","rot","rotate","round","routine_filepath","routine_info","rs_test","s_test","save","savgol","scale3","scale3d","scatterplot","scatterplot3d","scope_level","scope_traceback","scope_varfetch","scope_varname","search2d","search3d","sem_create","sem_delete","sem_lock","sem_release","set_plot","set_shading","setenv","sfit","shade_surf","shade_surf_irr","shade_volume","shift","shift_diff","shmdebug","shmmap","shmunmap","shmvar","show3","showfont","signum","simplex","sin","sindgen","sinh","size","skewness","skip_lun","slicer3","slide_image","smooth","sobel","socket","sort","spawn","sph_4pnt","sph_scat","spher_harm","spl_init","spl_interp","spline","spline_p","sprsab","sprsax","sprsin","sprstp","sqrt","standardize","stddev","stop","strarr","strcmp","strcompress","streamline","streamline","stregex","stretch","string","strjoin","strlen","strlowcase","strmatch","strmessage","strmid","strpos","strput","strsplit","strtrim","struct_assign","struct_hide","strupcase","surface","surface","surfr","svdc","svdfit","svsol","swap_endian","swap_endian_inplace","symbol","systime","t_cvf","t_pdf","t3d","tag_names","tan","tanh","tek_color","temporary","terminal_size","tetra_clip","tetra_surface","tetra_volume","text","thin","thread","threed","tic","time_test2","timegen","timer","timestamp","timestamptovalues","tm_test","toc","total","trace","transpose","tri_surf","triangulate","trigrid","triql","trired","trisol","truncate_lun","ts_coef","ts_diff","ts_fcast","ts_smooth","tv","tvcrs","tvlct","tvrd","tvscl","typename","uindgen","uint","uintarr","ul64indgen","ulindgen","ulon64arr","ulonarr","ulong","ulong64","uniq","unsharp_mask","usersym","value_locate","variance","vector","vector_field","vel","velovect","vert_t3d","voigt","volume","voronoi","voxel_proj","wait","warp_tri","watershed","wdelete","wf_draw","where","widget_base","widget_button","widget_combobox","widget_control","widget_displaycontextmenu","widget_draw","widget_droplist","widget_event","widget_info","widget_label","widget_list","widget_propertysheet","widget_slider","widget_tab","widget_table","widget_text","widget_tree","widget_tree_move","widget_window","wiener_filter","window","window","write_bmp","write_csv","write_gif","write_image","write_jpeg","write_jpeg2000","write_nrif","write_pict","write_png","write_ppm","write_spr","write_srf","write_sylk","write_tiff","write_video","write_wav","write_wave","writeu","wset","wshow","wtn","wv_applet","wv_cwt","wv_cw_wavelet","wv_denoise","wv_dwt","wv_fn_coiflet","wv_fn_daubechies","wv_fn_gaussian","wv_fn_haar","wv_fn_morlet","wv_fn_paul","wv_fn_symlet","wv_import_data","wv_import_wavelet","wv_plot3d_wps","wv_plot_multires","wv_pwt","wv_tool_denoise","xbm_edit","xdisplayfile","xdxf","xfont","xinteranimate","xloadct","xmanager","xmng_tmpl","xmtool","xobjview","xobjview_rotate","xobjview_write_image","xpalette","xpcolor","xplot3d","xregistered","xroi","xsq_test","xsurface","xvaredit","xvolume","xvolume_rotate","xvolume_write_image","xyouts","zlib_compress","zlib_uncompress","zoom","zoom_24"],r=t(n),i=["begin","end","endcase","endfor","endwhile","endif","endrep","endforeach","break","case","continue","for","foreach","goto","if","then","else","repeat","until","switch","while","do","pro","function"],o=t(i);e.registerHelper("hintWords","idl",n.concat(i));var a=new RegExp("^[_a-z¡-￿][_a-z0-9¡-￿]*","i"),s=/[+\-*&=<>\/@#~$]/,l=new RegExp("(and|or|eq|lt|le|gt|ge|ne|not)","i");e.defineMode("idl",(function(){return{token:function(e){return function(e){if(e.eatSpace())return null;if(e.match(";"))return e.skipToEnd(),"comment";if(e.match(/^[0-9\.+-]/,!1)){if(e.match(/^[+-]?0x[0-9a-fA-F]+/))return"number";if(e.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?/))return"number";if(e.match(/^[+-]?\d+([EeDd][+-]?\d+)?/))return"number"}return e.match(/^"([^"]|(""))*"/)||e.match(/^'([^']|(''))*'/)?"string":e.match(o)?"keyword":e.match(r)?"builtin":e.match(a)?"variable":e.match(s)||e.match(l)?"operator":(e.next(),null)}(e)}}})),e.defineMIME("text/x-idl","idl")}(n(23326))},49055:(e,t,n)=>{!function(e){"use strict";e.defineMode("javascript",(function(t,n){var r,i,o=t.indentUnit,a=n.statementIndent,s=n.jsonld,l=n.json||s,u=!1!==n.trackScope,c=n.typescript,d=n.wordCharacters||/[\w$\xa1-\uffff]/,p=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),n=e("keyword b"),r=e("keyword c"),i=e("keyword d"),o=e("operator"),a={type:"atom",style:"atom"};return{if:e("if"),while:t,with:t,else:n,do:n,try:n,finally:n,return:i,break:i,continue:i,new:e("new"),delete:r,void:r,throw:r,debugger:e("debugger"),var:e("var"),const:e("var"),let:e("var"),function:e("function"),catch:e("catch"),for:e("for"),switch:e("switch"),case:e("case"),default:e("default"),in:o,typeof:o,instanceof:o,true:a,false:a,null:a,undefined:a,NaN:a,Infinity:a,this:e("this"),class:e("class"),super:e("atom"),yield:r,export:e("export"),import:e("import"),extends:r,await:r}}(),f=/[+\-*&%=<>!?|~^@]/,h=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function m(e,t,n){return r=e,i=n,t}function g(e,t){var n,r=e.next();if('"'==r||"'"==r)return t.tokenize=(n=r,function(e,t){var r,i=!1;if(s&&"@"==e.peek()&&e.match(h))return t.tokenize=g,m("jsonld-keyword","meta");for(;null!=(r=e.next())&&(r!=n||i);)i=!i&&"\\"==r;return i||(t.tokenize=g),m("string","string")}),t.tokenize(e,t);if("."==r&&e.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return m("number","number");if("."==r&&e.match(".."))return m("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(r))return m(r);if("="==r&&e.eat(">"))return m("=>","operator");if("0"==r&&e.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return m("number","number");if(/\d/.test(r))return e.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),m("number","number");if("/"==r)return e.eat("*")?(t.tokenize=v,v(e,t)):e.eat("/")?(e.skipToEnd(),m("comment","comment")):et(e,t,1)?(function(e){for(var t,n=!1,r=!1;null!=(t=e.next());){if(!n){if("/"==t&&!r)return;"["==t?r=!0:r&&"]"==t&&(r=!1)}n=!n&&"\\"==t}}(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),m("regexp","string-2")):(e.eat("="),m("operator","operator",e.current()));if("`"==r)return t.tokenize=y,y(e,t);if("#"==r&&"!"==e.peek())return e.skipToEnd(),m("meta","meta");if("#"==r&&e.eatWhile(d))return m("variable","property");if("<"==r&&e.match("!--")||"-"==r&&e.match("->")&&!/\S/.test(e.string.slice(0,e.start)))return e.skipToEnd(),m("comment","comment");if(f.test(r))return">"==r&&t.lexical&&">"==t.lexical.type||(e.eat("=")?"!"!=r&&"="!=r||e.eat("="):/[<>*+\-|&?]/.test(r)&&(e.eat(r),">"==r&&e.eat(r))),"?"==r&&e.eat(".")?m("."):m("operator","operator",e.current());if(d.test(r)){e.eatWhile(d);var i=e.current();if("."!=t.lastType){if(p.propertyIsEnumerable(i)){var o=p[i];return m(o.type,o.style,i)}if("async"==i&&e.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return m("async","keyword",i)}return m("variable","variable",i)}}function v(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=g;break}r="*"==n}return m("comment","comment")}function y(e,t){for(var n,r=!1;null!=(n=e.next());){if(!r&&("`"==n||"$"==n&&e.eat("{"))){t.tokenize=g;break}r=!r&&"\\"==n}return m("quasi","string-2",e.current())}var b="([{}])";function w(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var n=e.string.indexOf("=>",e.start);if(!(n<0)){if(c){var r=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,n));r&&(n=r.index)}for(var i=0,o=!1,a=n-1;a>=0;--a){var s=e.string.charAt(a),l=b.indexOf(s);if(l>=0&&l<3){if(!i){++a;break}if(0==--i){"("==s&&(o=!0);break}}else if(l>=3&&l<6)++i;else if(d.test(s))o=!0;else if(/["'\/`]/.test(s))for(;;--a){if(0==a)return;if(e.string.charAt(a-1)==s&&"\\"!=e.string.charAt(a-2)){a--;break}}else if(o&&!i){++a;break}}o&&!i&&(t.fatArrowAt=a)}}var _={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function x(e,t,n,r,i,o){this.indented=e,this.column=t,this.type=n,this.prev=i,this.info=o,null!=r&&(this.align=r)}function k(e,t){if(!u)return!1;for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0;for(var r=e.context;r;r=r.prev)for(n=r.vars;n;n=n.next)if(n.name==t)return!0}function E(e,t,n,r,i){var o=e.cc;for(C.state=e,C.stream=i,C.marked=null,C.cc=o,C.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;)if((o.length?o.pop():l?$:U)(n,r)){for(;o.length&&o[o.length-1].lex;)o.pop()();return C.marked?C.marked:"variable"==n&&k(e,r)?"variable-2":t}}var C={state:null,column:null,marked:null,cc:null};function S(){for(var e=arguments.length-1;e>=0;e--)C.cc.push(arguments[e])}function A(){return S.apply(null,arguments),!0}function T(e,t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}function O(e){var t=C.state;if(C.marked="def",u){if(t.context)if("var"==t.lexical.info&&t.context&&t.context.block){var r=P(e,t.context);if(null!=r)return void(t.context=r)}else if(!T(e,t.localVars))return void(t.localVars=new I(e,t.localVars));n.globalVars&&!T(e,t.globalVars)&&(t.globalVars=new I(e,t.globalVars))}}function P(e,t){if(t){if(t.block){var n=P(e,t.prev);return n?n==t.prev?t:new R(n,t.vars,!0):null}return T(e,t.vars)?t:new R(t.prev,new I(e,t.vars),!1)}return null}function D(e){return"public"==e||"private"==e||"protected"==e||"abstract"==e||"readonly"==e}function R(e,t,n){this.prev=e,this.vars=t,this.block=n}function I(e,t){this.name=e,this.next=t}var M=new I("this",new I("arguments",null));function L(){C.state.context=new R(C.state.context,C.state.localVars,!1),C.state.localVars=M}function N(){C.state.context=new R(C.state.context,C.state.localVars,!0),C.state.localVars=null}function j(){C.state.localVars=C.state.context.vars,C.state.context=C.state.context.prev}function F(e,t){var n=function(){var n=C.state,r=n.indented;if("stat"==n.lexical.type)r=n.lexical.indented;else for(var i=n.lexical;i&&")"==i.type&&i.align;i=i.prev)r=i.indented;n.lexical=new x(r,C.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function B(){var e=C.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function z(e){return function t(n){return n==e?A():";"==e||"}"==n||")"==n||"]"==n?S():A(t)}}function U(e,t){return"var"==e?A(F("vardef",t),Ce,z(";"),B):"keyword a"==e?A(F("form"),H,U,B):"keyword b"==e?A(F("form"),U,B):"keyword d"==e?C.stream.match(/^\s*$/,!1)?A():A(F("stat"),G,z(";"),B):"debugger"==e?A(z(";")):"{"==e?A(F("}"),N,ue,B,j):";"==e?A():"if"==e?("else"==C.state.lexical.info&&C.state.cc[C.state.cc.length-1]==B&&C.state.cc.pop()(),A(F("form"),H,U,B,De)):"function"==e?A(Le):"for"==e?A(F("form"),N,Re,U,j,B):"class"==e||c&&"interface"==t?(C.marked="keyword",A(F("form","class"==e?e:t),ze,B)):"variable"==e?c&&"declare"==t?(C.marked="keyword",A(U)):c&&("module"==t||"enum"==t||"type"==t)&&C.stream.match(/^\s*\w/,!1)?(C.marked="keyword","enum"==t?A(Qe):"type"==t?A(je,z("operator"),he,z(";")):A(F("form"),Se,z("{"),F("}"),ue,B,B)):c&&"namespace"==t?(C.marked="keyword",A(F("form"),$,U,B)):c&&"abstract"==t?(C.marked="keyword",A(U)):A(F("stat"),ne):"switch"==e?A(F("form"),H,z("{"),F("}","switch"),N,ue,B,B,j):"case"==e?A($,z(":")):"default"==e?A(z(":")):"catch"==e?A(F("form"),L,q,U,B,j):"export"==e?A(F("stat"),We,B):"import"==e?A(F("stat"),Ve,B):"async"==e?A(U):"@"==t?A($,U):S(F("stat"),$,z(";"),B)}function q(e){if("("==e)return A(Fe,z(")"))}function $(e,t){return V(e,t,!1)}function W(e,t){return V(e,t,!0)}function H(e){return"("!=e?S():A(F(")"),G,z(")"),B)}function V(e,t,n){if(C.state.fatArrowAt==C.stream.start){var r=n?J:Q;if("("==e)return A(L,F(")"),se(Fe,")"),B,z("=>"),r,j);if("variable"==e)return S(L,Se,z("=>"),r,j)}var i=n?Y:K;return _.hasOwnProperty(e)?A(i):"function"==e?A(Le,i):"class"==e||c&&"interface"==t?(C.marked="keyword",A(F("form"),Be,B)):"keyword c"==e||"async"==e?A(n?W:$):"("==e?A(F(")"),G,z(")"),B,i):"operator"==e||"spread"==e?A(n?W:$):"["==e?A(F("]"),Xe,B,i):"{"==e?le(ie,"}",null,i):"quasi"==e?S(Z,i):"new"==e?A(function(e){return function(t){return"."==t?A(e?te:ee):"variable"==t&&c?A(xe,e?Y:K):S(e?W:$)}}(n)):A()}function G(e){return e.match(/[;\}\)\],]/)?S():S($)}function K(e,t){return","==e?A(G):Y(e,t,!1)}function Y(e,t,n){var r=0==n?K:Y,i=0==n?$:W;return"=>"==e?A(L,n?J:Q,j):"operator"==e?/\+\+|--/.test(t)||c&&"!"==t?A(r):c&&"<"==t&&C.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?A(F(">"),se(he,">"),B,r):"?"==t?A($,z(":"),i):A(i):"quasi"==e?S(Z,r):";"!=e?"("==e?le(W,")","call",r):"."==e?A(re,r):"["==e?A(F("]"),G,z("]"),B,r):c&&"as"==t?(C.marked="keyword",A(he,r)):"regexp"==e?(C.state.lastType=C.marked="operator",C.stream.backUp(C.stream.pos-C.stream.start-1),A(i)):void 0:void 0}function Z(e,t){return"quasi"!=e?S():"${"!=t.slice(t.length-2)?A(Z):A(G,X)}function X(e){if("}"==e)return C.marked="string-2",C.state.tokenize=y,A(Z)}function Q(e){return w(C.stream,C.state),S("{"==e?U:$)}function J(e){return w(C.stream,C.state),S("{"==e?U:W)}function ee(e,t){if("target"==t)return C.marked="keyword",A(K)}function te(e,t){if("target"==t)return C.marked="keyword",A(Y)}function ne(e){return":"==e?A(B,U):S(K,z(";"),B)}function re(e){if("variable"==e)return C.marked="property",A()}function ie(e,t){return"async"==e?(C.marked="property",A(ie)):"variable"==e||"keyword"==C.style?(C.marked="property","get"==t||"set"==t?A(oe):(c&&C.state.fatArrowAt==C.stream.start&&(n=C.stream.match(/^\s*:\s*/,!1))&&(C.state.fatArrowAt=C.stream.pos+n[0].length),A(ae))):"number"==e||"string"==e?(C.marked=s?"property":C.style+" property",A(ae)):"jsonld-keyword"==e?A(ae):c&&D(t)?(C.marked="keyword",A(ie)):"["==e?A($,ce,z("]"),ae):"spread"==e?A(W,ae):"*"==t?(C.marked="keyword",A(ie)):":"==e?S(ae):void 0;var n}function oe(e){return"variable"!=e?S(ae):(C.marked="property",A(Le))}function ae(e){return":"==e?A(W):"("==e?S(Le):void 0}function se(e,t,n){function r(i,o){if(n?n.indexOf(i)>-1:","==i){var a=C.state.lexical;return"call"==a.info&&(a.pos=(a.pos||0)+1),A((function(n,r){return n==t||r==t?S():S(e)}),r)}return i==t||o==t?A():n&&n.indexOf(";")>-1?S(e):A(z(t))}return function(n,i){return n==t||i==t?A():S(e,r)}}function le(e,t,n){for(var r=3;r"),he):"quasi"==e?S(ye,_e):void 0}function me(e){if("=>"==e)return A(he)}function ge(e){return e.match(/[\}\)\]]/)?A():","==e||";"==e?A(ge):S(ve,ge)}function ve(e,t){return"variable"==e||"keyword"==C.style?(C.marked="property",A(ve)):"?"==t||"number"==e||"string"==e?A(ve):":"==e?A(he):"["==e?A(z("variable"),de,z("]"),ve):"("==e?S(Ne,ve):e.match(/[;\}\)\],]/)?void 0:A()}function ye(e,t){return"quasi"!=e?S():"${"!=t.slice(t.length-2)?A(ye):A(he,be)}function be(e){if("}"==e)return C.marked="string-2",C.state.tokenize=y,A(ye)}function we(e,t){return"variable"==e&&C.stream.match(/^\s*[?:]/,!1)||"?"==t?A(we):":"==e?A(he):"spread"==e?A(we):S(he)}function _e(e,t){return"<"==t?A(F(">"),se(he,">"),B,_e):"|"==t||"."==e||"&"==t?A(he):"["==e?A(he,z("]"),_e):"extends"==t||"implements"==t?(C.marked="keyword",A(he)):"?"==t?A(he,z(":"),he):void 0}function xe(e,t){if("<"==t)return A(F(">"),se(he,">"),B,_e)}function ke(){return S(he,Ee)}function Ee(e,t){if("="==t)return A(he)}function Ce(e,t){return"enum"==t?(C.marked="keyword",A(Qe)):S(Se,ce,Oe,Pe)}function Se(e,t){return c&&D(t)?(C.marked="keyword",A(Se)):"variable"==e?(O(t),A()):"spread"==e?A(Se):"["==e?le(Te,"]"):"{"==e?le(Ae,"}"):void 0}function Ae(e,t){return"variable"!=e||C.stream.match(/^\s*:/,!1)?("variable"==e&&(C.marked="property"),"spread"==e?A(Se):"}"==e?S():"["==e?A($,z("]"),z(":"),Ae):A(z(":"),Se,Oe)):(O(t),A(Oe))}function Te(){return S(Se,Oe)}function Oe(e,t){if("="==t)return A(W)}function Pe(e){if(","==e)return A(Ce)}function De(e,t){if("keyword b"==e&&"else"==t)return A(F("form","else"),U,B)}function Re(e,t){return"await"==t?A(Re):"("==e?A(F(")"),Ie,B):void 0}function Ie(e){return"var"==e?A(Ce,Me):"variable"==e?A(Me):S(Me)}function Me(e,t){return")"==e?A():";"==e?A(Me):"in"==t||"of"==t?(C.marked="keyword",A($,Me)):S($,Me)}function Le(e,t){return"*"==t?(C.marked="keyword",A(Le)):"variable"==e?(O(t),A(Le)):"("==e?A(L,F(")"),se(Fe,")"),B,pe,U,j):c&&"<"==t?A(F(">"),se(ke,">"),B,Le):void 0}function Ne(e,t){return"*"==t?(C.marked="keyword",A(Ne)):"variable"==e?(O(t),A(Ne)):"("==e?A(L,F(")"),se(Fe,")"),B,pe,j):c&&"<"==t?A(F(">"),se(ke,">"),B,Ne):void 0}function je(e,t){return"keyword"==e||"variable"==e?(C.marked="type",A(je)):"<"==t?A(F(">"),se(ke,">"),B):void 0}function Fe(e,t){return"@"==t&&A($,Fe),"spread"==e?A(Fe):c&&D(t)?(C.marked="keyword",A(Fe)):c&&"this"==e?A(ce,Oe):S(Se,ce,Oe)}function Be(e,t){return"variable"==e?ze(e,t):Ue(e,t)}function ze(e,t){if("variable"==e)return O(t),A(Ue)}function Ue(e,t){return"<"==t?A(F(">"),se(ke,">"),B,Ue):"extends"==t||"implements"==t||c&&","==e?("implements"==t&&(C.marked="keyword"),A(c?he:$,Ue)):"{"==e?A(F("}"),qe,B):void 0}function qe(e,t){return"async"==e||"variable"==e&&("static"==t||"get"==t||"set"==t||c&&D(t))&&C.stream.match(/^\s+#?[\w$\xa1-\uffff]/,!1)?(C.marked="keyword",A(qe)):"variable"==e||"keyword"==C.style?(C.marked="property",A($e,qe)):"number"==e||"string"==e?A($e,qe):"["==e?A($,ce,z("]"),$e,qe):"*"==t?(C.marked="keyword",A(qe)):c&&"("==e?S(Ne,qe):";"==e||","==e?A(qe):"}"==e?A():"@"==t?A($,qe):void 0}function $e(e,t){if("!"==t)return A($e);if("?"==t)return A($e);if(":"==e)return A(he,Oe);if("="==t)return A(W);var n=C.state.lexical.prev;return S(n&&"interface"==n.info?Ne:Le)}function We(e,t){return"*"==t?(C.marked="keyword",A(Ze,z(";"))):"default"==t?(C.marked="keyword",A($,z(";"))):"{"==e?A(se(He,"}"),Ze,z(";")):S(U)}function He(e,t){return"as"==t?(C.marked="keyword",A(z("variable"))):"variable"==e?S(W,He):void 0}function Ve(e){return"string"==e?A():"("==e?S($):"."==e?S(K):S(Ge,Ke,Ze)}function Ge(e,t){return"{"==e?le(Ge,"}"):("variable"==e&&O(t),"*"==t&&(C.marked="keyword"),A(Ye))}function Ke(e){if(","==e)return A(Ge,Ke)}function Ye(e,t){if("as"==t)return C.marked="keyword",A(Ge)}function Ze(e,t){if("from"==t)return C.marked="keyword",A($)}function Xe(e){return"]"==e?A():S(se(W,"]"))}function Qe(){return S(F("form"),Se,z("{"),F("}"),se(Je,"}"),B,B)}function Je(){return S(Se,Oe)}function et(e,t,n){return t.tokenize==g&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(n||0)))}return L.lex=N.lex=!0,j.lex=!0,B.lex=!0,{startState:function(e){var t={tokenize:g,lastType:"sof",cc:[],lexical:new x((e||0)-o,0,"block",!1),localVars:n.localVars,context:n.localVars&&new R(null,null,!1),indented:e||0};return n.globalVars&&"object"==typeof n.globalVars&&(t.globalVars=n.globalVars),t},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation(),w(e,t)),t.tokenize!=v&&e.eatSpace())return null;var n=t.tokenize(e,t);return"comment"==r?n:(t.lastType="operator"!=r||"++"!=i&&"--"!=i?r:"incdec",E(t,n,r,i,e))},indent:function(t,r){if(t.tokenize==v||t.tokenize==y)return e.Pass;if(t.tokenize!=g)return 0;var i,s=r&&r.charAt(0),l=t.lexical;if(!/^\s*else\b/.test(r))for(var u=t.cc.length-1;u>=0;--u){var c=t.cc[u];if(c==B)l=l.prev;else if(c!=De&&c!=j)break}for(;("stat"==l.type||"form"==l.type)&&("}"==s||(i=t.cc[t.cc.length-1])&&(i==K||i==Y)&&!/^[,\.=+\-*:?[\(]/.test(r));)l=l.prev;a&&")"==l.type&&"stat"==l.prev.type&&(l=l.prev);var d=l.type,p=s==d;return"vardef"==d?l.indented+("operator"==t.lastType||","==t.lastType?l.info.length+1:0):"form"==d&&"{"==s?l.indented:"form"==d?l.indented+o:"stat"==d?l.indented+(function(e,t){return"operator"==e.lastType||","==e.lastType||f.test(t.charAt(0))||/[,.]/.test(t.charAt(0))}(t,r)?a||o:0):"switch"!=l.info||p||0==n.doubleIndentSwitch?l.align?l.column+(p?0:1):l.indented+(p?0:o):l.indented+(/^(?:case|default)\b/.test(r)?o:2*o)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:l?null:"/*",blockCommentEnd:l?null:"*/",blockCommentContinue:l?null:" * ",lineComment:l?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:l?"json":"javascript",jsonldMode:s,jsonMode:l,expressionAllowed:et,skipExpression:function(t){E(t,"atom","atom","true",new e.StringStream("",2,null))}}})),e.registerHelper("wordChars","javascript",/[\w$]/),e.defineMIME("text/javascript","javascript"),e.defineMIME("text/ecmascript","javascript"),e.defineMIME("application/javascript","javascript"),e.defineMIME("application/x-javascript","javascript"),e.defineMIME("application/ecmascript","javascript"),e.defineMIME("application/json",{name:"javascript",json:!0}),e.defineMIME("application/x-json",{name:"javascript",json:!0}),e.defineMIME("application/manifest+json",{name:"javascript",json:!0}),e.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),e.defineMIME("text/typescript",{name:"javascript",typescript:!0}),e.defineMIME("application/typescript",{name:"javascript",typescript:!0})}(n(23326))},81032:(e,t,n)=>{!function(e){"use strict";e.defineMode("jinja2",(function(){var e=["and","as","block","endblock","by","cycle","debug","else","elif","extends","filter","endfilter","firstof","do","for","endfor","if","endif","ifchanged","endifchanged","ifequal","endifequal","ifnotequal","set","raw","endraw","endifnotequal","in","include","load","not","now","or","parsed","regroup","reversed","spaceless","call","endcall","macro","endmacro","endspaceless","ssi","templatetag","openblock","closeblock","openvariable","closevariable","without","context","openbrace","closebrace","opencomment","closecomment","widthratio","url","with","endwith","get_current_language","trans","endtrans","noop","blocktrans","endblocktrans","get_available_languages","get_current_language_bidi","pluralize","autoescape","endautoescape"],t=/^[+\-*&%=<>!?|~^]/,n=/^[:\[\(\{]/,r=["true","false"],i=/^(\d[+\-\*\/])?\d+(\.\d+)?/;function o(o,a){var s=o.peek();if(a.incomment)return o.skipTo("#}")?(o.eatWhile(/\#|}/),a.incomment=!1):o.skipToEnd(),"comment";if(a.intag){if(a.operator){if(a.operator=!1,o.match(r))return"atom";if(o.match(i))return"number"}if(a.sign){if(a.sign=!1,o.match(r))return"atom";if(o.match(i))return"number"}if(a.instring)return s==a.instring&&(a.instring=!1),o.next(),"string";if("'"==s||'"'==s)return a.instring=s,o.next(),"string";if(a.inbraces>0&&")"==s)o.next(),a.inbraces--;else if("("==s)o.next(),a.inbraces++;else if(a.inbrackets>0&&"]"==s)o.next(),a.inbrackets--;else if("["==s)o.next(),a.inbrackets++;else{if(!a.lineTag&&(o.match(a.intag+"}")||o.eat("-")&&o.match(a.intag+"}")))return a.intag=!1,"tag";if(o.match(t))return a.operator=!0,"operator";if(o.match(n))a.sign=!0;else{if(1==o.column()&&a.lineTag&&o.match(e))return"keyword";if(o.eat(" ")||o.sol()){if(o.match(e))return"keyword";if(o.match(r))return"atom";if(o.match(i))return"number";o.sol()&&o.next()}else o.next()}}return"variable"}if(o.eat("{")){if(o.eat("#"))return a.incomment=!0,o.skipTo("#}")?(o.eatWhile(/\#|}/),a.incomment=!1):o.skipToEnd(),"comment";if(s=o.eat(/\{|%/))return a.intag=s,a.inbraces=0,a.inbrackets=0,"{"==s&&(a.intag="}"),o.eat("-"),"tag"}else if(o.eat("#")){if("#"==o.peek())return o.skipToEnd(),"comment";if(!o.eol())return a.intag=!0,a.lineTag=!0,a.inbraces=0,a.inbrackets=0,"tag"}o.next()}return e=new RegExp("(("+e.join(")|(")+"))\\b"),r=new RegExp("(("+r.join(")|(")+"))\\b"),{startState:function(){return{tokenize:o,inbrackets:0,inbraces:0}},token:function(e,t){var n=t.tokenize(e,t);return e.eol()&&t.lineTag&&!t.instring&&0==t.inbraces&&0==t.inbrackets&&(t.intag=!1,t.lineTag=!1),n},blockCommentStart:"{#",blockCommentEnd:"#}",lineComment:"##"}})),e.defineMIME("text/jinja2","jinja2")}(n(23326))},27968:(e,t,n)=>{!function(e){"use strict";function t(e,t,n,r){this.state=e,this.mode=t,this.depth=n,this.prev=r}function n(r){return new t(e.copyState(r.mode,r.state),r.mode,r.depth,r.prev&&n(r.prev))}e.defineMode("jsx",(function(r,i){var o=e.getMode(r,{name:"xml",allowMissing:!0,multilineTagIndentPastTag:!1,allowMissingTagName:!0}),a=e.getMode(r,i&&i.base||"javascript");function s(e){var t=e.tagName;e.tagName=null;var n=o.indent(e,"","");return e.tagName=t,n}function l(n,i){return i.context.mode==o?function(n,i,u){if(2==u.depth)return n.match(/^.*?\*\//)?u.depth=1:n.skipToEnd(),"comment";if("{"==n.peek()){o.skipAttribute(u.state);var c=s(u.state),d=u.state.context;if(d&&n.match(/^[^>]*>\s*$/,!1)){for(;d.prev&&!d.startOfLine;)d=d.prev;d.startOfLine?c-=r.indentUnit:u.prev.state.lexical&&(c=u.prev.state.lexical.indented)}else 1==u.depth&&(c+=r.indentUnit);return i.context=new t(e.startState(a,c),a,0,i.context),null}if(1==u.depth){if("<"==n.peek())return o.skipAttribute(u.state),i.context=new t(e.startState(o,s(u.state)),o,0,i.context),null;if(n.match("//"))return n.skipToEnd(),"comment";if(n.match("/*"))return u.depth=2,l(n,i)}var p,f=o.token(n,u.state),h=n.current();return/\btag\b/.test(f)?/>$/.test(h)?u.state.context?u.depth=0:i.context=i.context.prev:/^-1&&n.backUp(h.length-p),f}(n,i,i.context):function(n,r,i){if("<"==n.peek()&&a.expressionAllowed(n,i.state))return r.context=new t(e.startState(o,a.indent(i.state,"","")),o,0,r.context),a.skipExpression(i.state),null;var s=a.token(n,i.state);if(!s&&null!=i.depth){var l=n.current();"{"==l?i.depth++:"}"==l&&0==--i.depth&&(r.context=r.context.prev)}return s}(n,i,i.context)}return{startState:function(){return{context:new t(e.startState(a),a)}},copyState:function(e){return{context:n(e.context)}},token:l,indent:function(e,t,n){return e.context.mode.indent(e.context.state,t,n)},innerMode:function(e){return e.context}}}),"xml","javascript"),e.defineMIME("text/jsx","jsx"),e.defineMIME("text/typescript-jsx",{name:"jsx",base:{name:"javascript",typescript:!0}})}(n(23326),n(9812),n(49055))},38519:(e,t,n)=>{!function(e){"use strict";e.defineMode("julia",(function(t,n){function r(e,t,n){return void 0===n&&(n=""),void 0===t&&(t="\\b"),new RegExp("^"+n+"(("+e.join(")|(")+"))"+t)}var i=["[<>]:","[<>=]=","<<=?",">>>?=?","=>","--?>","<--[->]?","\\/\\/","\\.{2,3}","[\\.\\\\%*+\\-<>!\\/^|&]=?","\\?","\\$","~",":"],o=n.operators||r(["[<>]:","[<>=]=","[!=]==","<<=?",">>>?=?","=>?","--?>","<--[->]?","\\/\\/","[\\\\%*+\\-<>!\\/^|&\\u00F7\\u22BB]=?","\\?","\\$","~",":","\\u00D7","\\u2208","\\u2209","\\u220B","\\u220C","\\u2218","\\u221A","\\u221B","\\u2229","\\u222A","\\u2260","\\u2264","\\u2265","\\u2286","\\u2288","\\u228A","\\u22C5","\\b(in|isa)\\b(?!.?\\()"],""),a=n.delimiters||/^[;,()[\]{}]/,s=n.identifiers||/^[_A-Za-z\u00A1-\u2217\u2219-\uFFFF][\w\u00A1-\u2217\u2219-\uFFFF]*!*/,l=r(["\\\\[0-7]{1,3}","\\\\x[A-Fa-f0-9]{1,2}","\\\\[abefnrtv0%?'\"\\\\]","([^\\u0027\\u005C\\uD800-\\uDFFF]|[\\uD800-\\uDFFF][\\uDC00-\\uDFFF])"],"'"),u=["if","else","elseif","while","for","begin","let","end","do","try","catch","finally","return","break","continue","global","local","const","export","import","importall","using","function","where","macro","module","baremodule","struct","type","mutable","immutable","quote","typealias","abstract","primitive","bitstype"],c=["true","false","nothing","NaN","Inf"];e.registerHelper("hintWords","julia",u.concat(c));var d=r(["begin","function","type","struct","immutable","let","macro","for","while","quote","if","else","elseif","try","finally","catch","do"]),p=r(["end","else","elseif","catch","finally"]),f=r(u),h=r(c),m=/^@[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/,g=/^:[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/,v=/^(`|([_A-Za-z\u00A1-\uFFFF]*"("")?))/,y=r(i,"","@"),b=r(i,"",":");function w(e){return e.nestedArrays>0}function _(e,t){return void 0===t&&(t=0),e.scopes.length<=t?null:e.scopes[e.scopes.length-(t+1)]}function x(e,t){if(e.match("#=",!1))return t.tokenize=E,t.tokenize(e,t);var n=t.leavingExpr;if(e.sol()&&(n=!1),t.leavingExpr=!1,n&&e.match(/^'+/))return"operator";if(e.match(/\.{4,}/))return"error";if(e.match(/\.{1,3}/))return"operator";if(e.eatSpace())return null;var r,i=e.peek();if("#"===i)return e.skipToEnd(),"comment";if("["===i&&(t.scopes.push("["),t.nestedArrays++),"("===i&&(t.scopes.push("("),t.nestedGenerators++),w(t)&&"]"===i){for(;t.scopes.length&&"["!==_(t);)t.scopes.pop();t.scopes.pop(),t.nestedArrays--,t.leavingExpr=!0}if(function(e){return e.nestedGenerators>0}(t)&&")"===i){for(;t.scopes.length&&"("!==_(t);)t.scopes.pop();t.scopes.pop(),t.nestedGenerators--,t.leavingExpr=!0}if(w(t)){if("end"==t.lastToken&&e.match(":"))return"operator";if(e.match("end"))return"number"}if((r=e.match(d,!1))&&t.scopes.push(r[0]),e.match(p,!1)&&t.scopes.pop(),e.match(/^::(?![:\$])/))return t.tokenize=k,t.tokenize(e,t);if(!n&&(e.match(g)||e.match(b)))return"builtin";if(e.match(o))return"operator";if(e.match(/^\.?\d/,!1)){var l=RegExp(/^im\b/),u=!1;if(e.match(/^0x\.[0-9a-f_]+p[\+\-]?[_\d]+/i)&&(u=!0),e.match(/^0x[0-9a-f_]+/i)&&(u=!0),e.match(/^0b[01_]+/i)&&(u=!0),e.match(/^0o[0-7_]+/i)&&(u=!0),e.match(/^(?:(?:\d[_\d]*)?\.(?!\.)(?:\d[_\d]*)?|\d[_\d]*\.(?!\.)(?:\d[_\d]*))?([Eef][\+\-]?[_\d]+)?/i)&&(u=!0),e.match(/^\d[_\d]*(e[\+\-]?\d+)?/i)&&(u=!0),u)return e.match(l),t.leavingExpr=!0,"number"}if(e.match("'"))return t.tokenize=C,t.tokenize(e,t);if(e.match(v))return t.tokenize=function(e){function t(t,n){if(t.eat("\\"))t.next();else{if(t.match(e))return n.tokenize=x,n.leavingExpr=!0,"string";t.eat(/[`"]/)}return t.eatWhile(/[^\\`"]/),"string"}return'"""'===e.substr(-3)?e='"""':'"'===e.substr(-1)&&(e='"'),t}(e.current()),t.tokenize(e,t);if(e.match(m)||e.match(y))return"meta";if(e.match(a))return null;if(e.match(f))return"keyword";if(e.match(h))return"builtin";var c=t.isDefinition||"function"==t.lastToken||"macro"==t.lastToken||"type"==t.lastToken||"struct"==t.lastToken||"immutable"==t.lastToken;return e.match(s)?c?"."===e.peek()?(t.isDefinition=!0,"variable"):(t.isDefinition=!1,"def"):(t.leavingExpr=!0,"variable"):(e.next(),"error")}function k(e,t){return e.match(/.*?(?=[,;{}()=\s]|$)/),e.match("{")?t.nestedParameters++:e.match("}")&&t.nestedParameters>0&&t.nestedParameters--,t.nestedParameters>0?e.match(/.*?(?={|})/)||e.next():0==t.nestedParameters&&(t.tokenize=x),"builtin"}function E(e,t){return e.match("#=")&&t.nestedComments++,e.match(/.*?(?=(#=|=#))/)||e.skipToEnd(),e.match("=#")&&(t.nestedComments--,0==t.nestedComments&&(t.tokenize=x)),"comment"}function C(e,t){var n,r=!1;if(e.match(l))r=!0;else if(n=e.match(/\\u([a-f0-9]{1,4})(?=')/i))((i=parseInt(n[1],16))<=55295||i>=57344)&&(r=!0,e.next());else if(n=e.match(/\\U([A-Fa-f0-9]{5,8})(?=')/)){var i;(i=parseInt(n[1],16))<=1114111&&(r=!0,e.next())}return r?(t.leavingExpr=!0,t.tokenize=x,"string"):(e.match(/^[^']+(?=')/)||e.skipToEnd(),e.match("'")&&(t.tokenize=x),"error")}return{startState:function(){return{tokenize:x,scopes:[],lastToken:null,leavingExpr:!1,isDefinition:!1,nestedArrays:0,nestedComments:0,nestedGenerators:0,nestedParameters:0,firstParenPos:-1}},token:function(e,t){var n=t.tokenize(e,t),r=e.current();return r&&n&&(t.lastToken=r),n},indent:function(e,n){var r=0;return("]"===n||")"===n||/^end\b/.test(n)||/^else/.test(n)||/^catch\b/.test(n)||/^elseif\b/.test(n)||/^finally/.test(n))&&(r=-1),(e.scopes.length+r)*t.indentUnit},electricInput:/\b(end|else|catch|finally)\b/,blockCommentStart:"#=",blockCommentEnd:"=#",lineComment:"#",closeBrackets:'()[]{}""',fold:"indent"}})),e.defineMIME("text/x-julia","julia")}(n(23326))},70688:(e,t,n)=>{!function(e){"use strict";e.defineMode("livescript",(function(){var e=function(e,t){var n=t.next||"start";if(n){t.next=t.next;var r=o[n];if(r.splice){for(var i=0;i|\\b(?:e(?:lse|xport)|d(?:o|efault)|t(?:ry|hen)|finally|import(?:\\s*all)?|const|var|let|new|catch(?:\\s*"+t+")?))\\s*$"),r="(?![$\\w]|-[A-Za-z]|\\s*:(?![:=]))",i={token:"string",regex:".+"},o={start:[{token:"comment.doc",regex:"/\\*",next:"comment"},{token:"comment",regex:"#.*"},{token:"keyword",regex:"(?:t(?:h(?:is|row|en)|ry|ypeof!?)|c(?:on(?:tinue|st)|a(?:se|tch)|lass)|i(?:n(?:stanceof)?|mp(?:ort(?:\\s+all)?|lements)|[fs])|d(?:e(?:fault|lete|bugger)|o)|f(?:or(?:\\s+own)?|inally|unction)|s(?:uper|witch)|e(?:lse|x(?:tends|port)|val)|a(?:nd|rguments)|n(?:ew|ot)|un(?:less|til)|w(?:hile|ith)|o[fr]|return|break|let|var|loop)"+r},{token:"constant.language",regex:"(?:true|false|yes|no|on|off|null|void|undefined)"+r},{token:"invalid.illegal",regex:"(?:p(?:ackage|r(?:ivate|otected)|ublic)|i(?:mplements|nterface)|enum|static|yield)"+r},{token:"language.support.class",regex:"(?:R(?:e(?:gExp|ferenceError)|angeError)|S(?:tring|yntaxError)|E(?:rror|valError)|Array|Boolean|Date|Function|Number|Object|TypeError|URIError)"+r},{token:"language.support.function",regex:"(?:is(?:NaN|Finite)|parse(?:Int|Float)|Math|JSON|(?:en|de)codeURI(?:Component)?)"+r},{token:"variable.language",regex:"(?:t(?:hat|il|o)|f(?:rom|allthrough)|it|by|e)"+r},{token:"identifier",regex:t+"\\s*:(?![:=])"},{token:"variable",regex:t},{token:"keyword.operator",regex:"(?:\\.{3}|\\s+\\?)"},{token:"keyword.variable",regex:"(?:@+|::|\\.\\.)",next:"key"},{token:"keyword.operator",regex:"\\.\\s*",next:"key"},{token:"string",regex:"\\\\\\S[^\\s,;)}\\]]*"},{token:"string.doc",regex:"'''",next:"qdoc"},{token:"string.doc",regex:'"""',next:"qqdoc"},{token:"string",regex:"'",next:"qstring"},{token:"string",regex:'"',next:"qqstring"},{token:"string",regex:"`",next:"js"},{token:"string",regex:"<\\[",next:"words"},{token:"string.regex",regex:"//",next:"heregex"},{token:"string.regex",regex:"\\/(?:[^[\\/\\n\\\\]*(?:(?:\\\\.|\\[[^\\]\\n\\\\]*(?:\\\\.[^\\]\\n\\\\]*)*\\])[^[\\/\\n\\\\]*)*)\\/[gimy$]{0,4}",next:"key"},{token:"constant.numeric",regex:"(?:0x[\\da-fA-F][\\da-fA-F_]*|(?:[2-9]|[12]\\d|3[0-6])r[\\da-zA-Z][\\da-zA-Z_]*|(?:\\d[\\d_]*(?:\\.\\d[\\d_]*)?|\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[\\w$]*)"},{token:"lparen",regex:"[({[]"},{token:"rparen",regex:"[)}\\]]",next:"key"},{token:"keyword.operator",regex:"\\S+"},{token:"text",regex:"\\s+"}],heregex:[{token:"string.regex",regex:".*?//[gimy$?]{0,4}",next:"start"},{token:"string.regex",regex:"\\s*#{"},{token:"comment.regex",regex:"\\s+(?:#.*)?"},{token:"string.regex",regex:"\\S+"}],key:[{token:"keyword.operator",regex:"[.?@!]+"},{token:"identifier",regex:t,next:"start"},{token:"text",regex:"",next:"start"}],comment:[{token:"comment.doc",regex:".*?\\*/",next:"start"},{token:"comment.doc",regex:".+"}],qdoc:[{token:"string",regex:".*?'''",next:"key"},i],qqdoc:[{token:"string",regex:'.*?"""',next:"key"},i],qstring:[{token:"string",regex:"[^\\\\']*(?:\\\\.[^\\\\']*)*'",next:"key"},i],qqstring:[{token:"string",regex:'[^\\\\"]*(?:\\\\.[^\\\\"]*)*"',next:"key"},i],js:[{token:"string",regex:"[^\\\\`]*(?:\\\\.[^\\\\`]*)*`",next:"key"},i],words:[{token:"string",regex:".*?\\]>",next:"key"},i]};for(var a in o){var s=o[a];if(s.splice)for(var l=0,u=s.length;l{!function(e){"use strict";e.defineMode("lua",(function(e,t){var n=e.indentUnit;function r(e){return new RegExp("^(?:"+e.join("|")+")$","i")}var i=r(t.specials||[]),o=r(["_G","_VERSION","assert","collectgarbage","dofile","error","getfenv","getmetatable","ipairs","load","loadfile","loadstring","module","next","pairs","pcall","print","rawequal","rawget","rawset","require","select","setfenv","setmetatable","tonumber","tostring","type","unpack","xpcall","coroutine.create","coroutine.resume","coroutine.running","coroutine.status","coroutine.wrap","coroutine.yield","debug.debug","debug.getfenv","debug.gethook","debug.getinfo","debug.getlocal","debug.getmetatable","debug.getregistry","debug.getupvalue","debug.setfenv","debug.sethook","debug.setlocal","debug.setmetatable","debug.setupvalue","debug.traceback","close","flush","lines","read","seek","setvbuf","write","io.close","io.flush","io.input","io.lines","io.open","io.output","io.popen","io.read","io.stderr","io.stdin","io.stdout","io.tmpfile","io.type","io.write","math.abs","math.acos","math.asin","math.atan","math.atan2","math.ceil","math.cos","math.cosh","math.deg","math.exp","math.floor","math.fmod","math.frexp","math.huge","math.ldexp","math.log","math.log10","math.max","math.min","math.modf","math.pi","math.pow","math.rad","math.random","math.randomseed","math.sin","math.sinh","math.sqrt","math.tan","math.tanh","os.clock","os.date","os.difftime","os.execute","os.exit","os.getenv","os.remove","os.rename","os.setlocale","os.time","os.tmpname","package.cpath","package.loaded","package.loaders","package.loadlib","package.path","package.preload","package.seeall","string.byte","string.char","string.dump","string.find","string.format","string.gmatch","string.gsub","string.len","string.lower","string.match","string.rep","string.reverse","string.sub","string.upper","table.concat","table.insert","table.maxn","table.remove","table.sort"]),a=r(["and","break","elseif","false","nil","not","or","return","true","function","end","if","then","else","do","while","repeat","until","for","in","local"]),s=r(["function","if","repeat","do","\\(","{"]),l=r(["end","until","\\)","}"]),u=new RegExp("^(?:"+["end","until","\\)","}","else","elseif"].join("|")+")","i");function c(e){for(var t=0;e.eat("=");)++t;return e.eat("["),t}function d(e,t){var n,r=e.next();return"-"==r&&e.eat("-")?e.eat("[")&&e.eat("[")?(t.cur=p(c(e),"comment"))(e,t):(e.skipToEnd(),"comment"):'"'==r||"'"==r?(t.cur=(n=r,function(e,t){for(var r,i=!1;null!=(r=e.next())&&(r!=n||i);)i=!i&&"\\"==r;return i||(t.cur=d),"string"}))(e,t):"["==r&&/[\[=]/.test(e.peek())?(t.cur=p(c(e),"string"))(e,t):/\d/.test(r)?(e.eatWhile(/[\w.%]/),"number"):/[\w_]/.test(r)?(e.eatWhile(/[\w\\\-_.]/),"variable"):null}function p(e,t){return function(n,r){for(var i,o=null;null!=(i=n.next());)if(null==o)"]"==i&&(o=0);else if("="==i)++o;else{if("]"==i&&o==e){r.cur=d;break}o=null}return t}}return{startState:function(e){return{basecol:e||0,indentDepth:0,cur:d}},token:function(e,t){if(e.eatSpace())return null;var n=t.cur(e,t),r=e.current();return"variable"==n&&(a.test(r)?n="keyword":o.test(r)?n="builtin":i.test(r)&&(n="variable-2")),"comment"!=n&&"string"!=n&&(s.test(r)?++t.indentDepth:l.test(r)&&--t.indentDepth),n},indent:function(e,t){var r=u.test(t);return e.basecol+n*(e.indentDepth-(r?1:0))},electricInput:/^\s*(?:end|until|else|\)|\})$/,lineComment:"--",blockCommentStart:"--[[",blockCommentEnd:"]]"}})),e.defineMIME("text/x-lua","lua")}(n(23326))},48033:(e,t,n)=>{!function(e){"use strict";e.defineMode("markdown",(function(t,n){var r=e.getMode(t,"text/html"),i="null"==r.name;void 0===n.highlightFormatting&&(n.highlightFormatting=!1),void 0===n.maxBlockquoteDepth&&(n.maxBlockquoteDepth=0),void 0===n.taskLists&&(n.taskLists=!1),void 0===n.strikethrough&&(n.strikethrough=!1),void 0===n.emoji&&(n.emoji=!1),void 0===n.fencedCodeBlockHighlighting&&(n.fencedCodeBlockHighlighting=!0),void 0===n.fencedCodeBlockDefaultMode&&(n.fencedCodeBlockDefaultMode="text/plain"),void 0===n.xml&&(n.xml=!0),void 0===n.tokenTypeOverrides&&(n.tokenTypeOverrides={});var o={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"image",imageAltText:"image-alt-text",imageMarker:"image-marker",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough",emoji:"builtin"};for(var a in o)o.hasOwnProperty(a)&&n.tokenTypeOverrides[a]&&(o[a]=n.tokenTypeOverrides[a]);var s=/^([*\-_])(?:\s*\1){2,}\s*$/,l=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,u=/^\[(x| )\](?=\s)/i,c=n.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,d=/^ {0,3}(?:\={1,}|-{2,})\s*$/,p=/^[^#!\[\]*_\\<>` "'(~:]+/,f=/^(~~~+|```+)[ \t]*([\w\/+#-]*)[^\n`]*$/,h=/^\s*\[[^\]]+?\]:.*$/,m=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/;function g(e,t,n){return t.f=t.inline=n,n(e,t)}function v(e,t,n){return t.f=t.block=n,n(e,t)}function y(t){if(t.linkTitle=!1,t.linkHref=!1,t.linkText=!1,t.em=!1,t.strong=!1,t.strikethrough=!1,t.quote=0,t.indentedCode=!1,t.f==w){var n=i;if(!n){var o=e.innerMode(r,t.htmlState);n="xml"==o.mode.name&&null===o.state.tagStart&&!o.state.context&&o.state.tokenize.isInText}n&&(t.f=E,t.block=b,t.htmlState=null)}return t.trailingSpace=0,t.trailingSpaceNewLine=!1,t.prevLine=t.thisLine,t.thisLine={stream:null},null}function b(r,i){var a,p=r.column()===i.indentation,m=!(a=i.prevLine.stream)||!/\S/.test(a.string),v=i.indentedCode,y=i.prevLine.hr,b=!1!==i.list,w=(i.listStack[i.listStack.length-1]||0)+3;i.indentedCode=!1;var k=i.indentation;if(null===i.indentationDiff&&(i.indentationDiff=i.indentation,b)){for(i.list=null;k=4&&(v||i.prevLine.fencedCodeEnd||i.prevLine.header||m))return r.skipToEnd(),i.indentedCode=!0,o.code;if(r.eatSpace())return null;if(p&&i.indentation<=w&&(S=r.match(c))&&S[1].length<=6)return i.quote=0,i.header=S[1].length,i.thisLine.header=!0,n.highlightFormatting&&(i.formatting="header"),i.f=i.inline,x(i);if(i.indentation<=w&&r.eat(">"))return i.quote=p?1:i.quote+1,n.highlightFormatting&&(i.formatting="quote"),r.eatSpace(),x(i);if(!C&&!i.setext&&p&&i.indentation<=w&&(S=r.match(l))){var A=S[1]?"ol":"ul";return i.indentation=k+r.current().length,i.list=!0,i.quote=0,i.listStack.push(i.indentation),i.em=!1,i.strong=!1,i.code=!1,i.strikethrough=!1,n.taskLists&&r.match(u,!1)&&(i.taskList=!0),i.f=i.inline,n.highlightFormatting&&(i.formatting=["list","list-"+A]),x(i)}return p&&i.indentation<=w&&(S=r.match(f,!0))?(i.quote=0,i.fencedEndRE=new RegExp(S[1]+"+ *$"),i.localMode=n.fencedCodeBlockHighlighting&&function(n){if(e.findModeByName){var r=e.findModeByName(n);r&&(n=r.mime||r.mimes[0])}var i=e.getMode(t,n);return"null"==i.name?null:i}(S[2]||n.fencedCodeBlockDefaultMode),i.localMode&&(i.localState=e.startState(i.localMode)),i.f=i.block=_,n.highlightFormatting&&(i.formatting="code-block"),i.code=-1,x(i)):i.setext||!(E&&b||i.quote||!1!==i.list||i.code||C||h.test(r.string))&&(S=r.lookAhead(1))&&(S=S.match(d))?(i.setext?(i.header=i.setext,i.setext=0,r.skipToEnd(),n.highlightFormatting&&(i.formatting="header")):(i.header="="==S[0].charAt(0)?1:2,i.setext=i.header),i.thisLine.header=!0,i.f=i.inline,x(i)):C?(r.skipToEnd(),i.hr=!0,i.thisLine.hr=!0,o.hr):"["===r.peek()?g(r,i,T):g(r,i,i.inline)}function w(t,n){var o=r.token(t,n.htmlState);if(!i){var a=e.innerMode(r,n.htmlState);("xml"==a.mode.name&&null===a.state.tagStart&&!a.state.context&&a.state.tokenize.isInText||n.md_inside&&t.current().indexOf(">")>-1)&&(n.f=E,n.block=b,n.htmlState=null)}return o}function _(e,t){var r,i=t.listStack[t.listStack.length-1]||0,a=t.indentation=e.quote?t.push(o.formatting+"-"+e.formatting[r]+"-"+e.quote):t.push("error"))}if(e.taskOpen)return t.push("meta"),t.length?t.join(" "):null;if(e.taskClosed)return t.push("property"),t.length?t.join(" "):null;if(e.linkHref?t.push(o.linkHref,"url"):(e.strong&&t.push(o.strong),e.em&&t.push(o.em),e.strikethrough&&t.push(o.strikethrough),e.emoji&&t.push(o.emoji),e.linkText&&t.push(o.linkText),e.code&&t.push(o.code),e.image&&t.push(o.image),e.imageAltText&&t.push(o.imageAltText,"link"),e.imageMarker&&t.push(o.imageMarker)),e.header&&t.push(o.header,o.header+"-"+e.header),e.quote&&(t.push(o.quote),!n.maxBlockquoteDepth||n.maxBlockquoteDepth>=e.quote?t.push(o.quote+"-"+e.quote):t.push(o.quote+"-"+n.maxBlockquoteDepth)),!1!==e.list){var i=(e.listStack.length-1)%3;i?1===i?t.push(o.list2):t.push(o.list3):t.push(o.list1)}return e.trailingSpaceNewLine?t.push("trailing-space-new-line"):e.trailingSpace&&t.push("trailing-space-"+(e.trailingSpace%2?"a":"b")),t.length?t.join(" "):null}function k(e,t){if(e.match(p,!0))return x(t)}function E(t,i){var a=i.text(t,i);if(void 0!==a)return a;if(i.list)return i.list=null,x(i);if(i.taskList)return" "===t.match(u,!0)[1]?i.taskOpen=!0:i.taskClosed=!0,n.highlightFormatting&&(i.formatting="task"),i.taskList=!1,x(i);if(i.taskOpen=!1,i.taskClosed=!1,i.header&&t.match(/^#+$/,!0))return n.highlightFormatting&&(i.formatting="header"),x(i);var s=t.next();if(i.linkTitle){i.linkTitle=!1;var l=s;"("===s&&(l=")");var c="^\\s*(?:[^"+(l=(l+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1"))+"\\\\]+|\\\\\\\\|\\\\.)"+l;if(t.match(new RegExp(c),!0))return o.linkHref}if("`"===s){var d=i.formatting;n.highlightFormatting&&(i.formatting="code"),t.eatWhile("`");var p=t.current().length;if(0!=i.code||i.quote&&1!=p){if(p==i.code){var f=x(i);return i.code=0,f}return i.formatting=d,x(i)}return i.code=p,x(i)}if(i.code)return x(i);if("\\"===s&&(t.next(),n.highlightFormatting)){var h=x(i),g=o.formatting+"-escape";return h?h+" "+g:g}if("!"===s&&t.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return i.imageMarker=!0,i.image=!0,n.highlightFormatting&&(i.formatting="image"),x(i);if("["===s&&i.imageMarker&&t.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return i.imageMarker=!1,i.imageAltText=!0,n.highlightFormatting&&(i.formatting="image"),x(i);if("]"===s&&i.imageAltText){n.highlightFormatting&&(i.formatting="image");h=x(i);return i.imageAltText=!1,i.image=!1,i.inline=i.f=S,h}if("["===s&&!i.image)return i.linkText&&t.match(/^.*?\]/)||(i.linkText=!0,n.highlightFormatting&&(i.formatting="link")),x(i);if("]"===s&&i.linkText){n.highlightFormatting&&(i.formatting="link");h=x(i);return i.linkText=!1,i.inline=i.f=t.match(/\(.*?\)| ?\[.*?\]/,!1)?S:E,h}if("<"===s&&t.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1))return i.f=i.inline=C,n.highlightFormatting&&(i.formatting="link"),(h=x(i))?h+=" ":h="",h+o.linkInline;if("<"===s&&t.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1))return i.f=i.inline=C,n.highlightFormatting&&(i.formatting="link"),(h=x(i))?h+=" ":h="",h+o.linkEmail;if(n.xml&&"<"===s&&t.match(/^(!--|\?|!\[CDATA\[|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*(?:>|$))/i,!1)){var y=t.string.indexOf(">",t.pos);if(-1!=y){var b=t.string.substring(t.start,y);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(b)&&(i.md_inside=!0)}return t.backUp(1),i.htmlState=e.startState(r),v(t,i,w)}if(n.xml&&"<"===s&&t.match(/^\/\w*?>/))return i.md_inside=!1,"tag";if("*"===s||"_"===s){for(var _=1,k=1==t.pos?" ":t.string.charAt(t.pos-2);_<3&&t.eat(s);)_++;var A=t.peek()||" ",T=!/\s/.test(A)&&(!m.test(A)||/\s/.test(k)||m.test(k)),O=!/\s/.test(k)&&(!m.test(k)||/\s/.test(A)||m.test(A)),P=null,D=null;if(_%2&&(i.em||!T||"*"!==s&&O&&!m.test(k)?i.em!=s||!O||"*"!==s&&T&&!m.test(A)||(P=!1):P=!0),_>1&&(i.strong||!T||"*"!==s&&O&&!m.test(k)?i.strong!=s||!O||"*"!==s&&T&&!m.test(A)||(D=!1):D=!0),null!=D||null!=P)return n.highlightFormatting&&(i.formatting=null==P?"strong":null==D?"em":"strong em"),!0===P&&(i.em=s),!0===D&&(i.strong=s),f=x(i),!1===P&&(i.em=!1),!1===D&&(i.strong=!1),f}else if(" "===s&&(t.eat("*")||t.eat("_"))){if(" "===t.peek())return x(i);t.backUp(1)}if(n.strikethrough)if("~"===s&&t.eatWhile(s)){if(i.strikethrough)return n.highlightFormatting&&(i.formatting="strikethrough"),f=x(i),i.strikethrough=!1,f;if(t.match(/^[^\s]/,!1))return i.strikethrough=!0,n.highlightFormatting&&(i.formatting="strikethrough"),x(i)}else if(" "===s&&t.match("~~",!0)){if(" "===t.peek())return x(i);t.backUp(2)}if(n.emoji&&":"===s&&t.match(/^(?:[a-z_\d+][a-z_\d+-]*|\-[a-z_\d+][a-z_\d+-]*):/)){i.emoji=!0,n.highlightFormatting&&(i.formatting="emoji");var R=x(i);return i.emoji=!1,R}return" "===s&&(t.match(/^ +$/,!1)?i.trailingSpace++:i.trailingSpace&&(i.trailingSpaceNewLine=!0)),x(i)}function C(e,t){if(">"===e.next()){t.f=t.inline=E,n.highlightFormatting&&(t.formatting="link");var r=x(t);return r?r+=" ":r="",r+o.linkInline}return e.match(/^[^>]+/,!0),o.linkInline}function S(e,t){if(e.eatSpace())return null;var r,i=e.next();return"("===i||"["===i?(t.f=t.inline=(r="("===i?")":"]",function(e,t){if(e.next()===r){t.f=t.inline=E,n.highlightFormatting&&(t.formatting="link-string");var i=x(t);return t.linkHref=!1,i}return e.match(A[r]),t.linkHref=!0,x(t)}),n.highlightFormatting&&(t.formatting="link-string"),t.linkHref=!0,x(t)):"error"}var A={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/};function T(e,t){return e.match(/^([^\]\\]|\\.)*\]:/,!1)?(t.f=O,e.next(),n.highlightFormatting&&(t.formatting="link"),t.linkText=!0,x(t)):g(e,t,E)}function O(e,t){if(e.match("]:",!0)){t.f=t.inline=P,n.highlightFormatting&&(t.formatting="link");var r=x(t);return t.linkText=!1,r}return e.match(/^([^\]\\]|\\.)+/,!0),o.linkText}function P(e,t){return e.eatSpace()?null:(e.match(/^[^\s]+/,!0),void 0===e.peek()?t.linkTitle=!0:e.match(/^(?:\s+(?:"(?:[^"\\]|\\.)+"|'(?:[^'\\]|\\.)+'|\((?:[^)\\]|\\.)+\)))?/,!0),t.f=t.inline=E,o.linkHref+" url")}var D={startState:function(){return{f:b,prevLine:{stream:null},thisLine:{stream:null},block:b,htmlState:null,indentation:0,inline:E,text:k,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,setext:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,emoji:!1,fencedEndRE:null}},copyState:function(t){return{f:t.f,prevLine:t.prevLine,thisLine:t.thisLine,block:t.block,htmlState:t.htmlState&&e.copyState(r,t.htmlState),indentation:t.indentation,localMode:t.localMode,localState:t.localMode?e.copyState(t.localMode,t.localState):null,inline:t.inline,text:t.text,formatting:!1,linkText:t.linkText,linkTitle:t.linkTitle,linkHref:t.linkHref,code:t.code,em:t.em,strong:t.strong,strikethrough:t.strikethrough,emoji:t.emoji,header:t.header,setext:t.setext,hr:t.hr,taskList:t.taskList,list:t.list,listStack:t.listStack.slice(0),quote:t.quote,indentedCode:t.indentedCode,trailingSpace:t.trailingSpace,trailingSpaceNewLine:t.trailingSpaceNewLine,md_inside:t.md_inside,fencedEndRE:t.fencedEndRE}},token:function(e,t){if(t.formatting=!1,e!=t.thisLine.stream){if(t.header=0,t.hr=!1,e.match(/^\s*$/,!0))return y(t),null;if(t.prevLine=t.thisLine,t.thisLine={stream:e},t.taskList=!1,t.trailingSpace=0,t.trailingSpaceNewLine=!1,!t.localState&&(t.f=t.block,t.f!=w)){var n=e.match(/^\s*/,!0)[0].replace(/\t/g," ").length;if(t.indentation=n,t.indentationDiff=null,n>0)return null}}return t.f(e,t)},innerMode:function(e){return e.block==w?{state:e.htmlState,mode:r}:e.localState?{state:e.localState,mode:e.localMode}:{state:e,mode:D}},indent:function(t,n,i){return t.block==w&&r.indent?r.indent(t.htmlState,n,i):t.localState&&t.localMode.indent?t.localMode.indent(t.localState,n,i):e.Pass},blankLine:y,getType:x,blockCommentStart:"\x3c!--",blockCommentEnd:"--\x3e",closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return D}),"xml"),e.defineMIME("text/markdown","markdown"),e.defineMIME("text/x-markdown","markdown")}(n(23326),n(9812),n(2312))},87448:(e,t,n)=>{!function(e){"use strict";e.defineMode("mathematica",(function(e,t){var n="[a-zA-Z\\$][a-zA-Z0-9\\$]*",r="(?:\\.\\d+|\\d+\\.\\d*|\\d+)",i="(?:`(?:`?"+r+")?)",o=new RegExp("(?:(?:\\d+)(?:\\^\\^(?:\\.\\w+|\\w+\\.\\w*|\\w+)"+i+"?(?:\\*\\^[+-]?\\d+)?))"),a=new RegExp("(?:"+r+i+"?(?:\\*\\^[+-]?\\d+)?)"),s=new RegExp("(?:`?)(?:"+n+")(?:`(?:"+n+"))*(?:`?)");function l(e,t){var n;return'"'===(n=e.next())?(t.tokenize=u,t.tokenize(e,t)):"("===n&&e.eat("*")?(t.commentLevel++,t.tokenize=c,t.tokenize(e,t)):(e.backUp(1),e.match(o,!0,!1)||e.match(a,!0,!1)?"number":e.match(/(?:In|Out)\[[0-9]*\]/,!0,!1)?"atom":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::usage)/,!0,!1)?"meta":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::[a-zA-Z\$][a-zA-Z0-9\$]*):?/,!0,!1)?"string-2":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*\s*:)(?:(?:[a-zA-Z\$][a-zA-Z0-9\$]*)|(?:[^:=>~@\^\&\*\)\[\]'\?,\|])).*/,!0,!1)||e.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)||e.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+/,!0,!1)||e.match(/_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)?"variable-2":e.match(/\\\[[a-zA-Z\$][a-zA-Z0-9\$]*\]/,!0,!1)?"variable-3":e.match(/(?:\[|\]|{|}|\(|\))/,!0,!1)?"bracket":e.match(/(?:#[a-zA-Z\$][a-zA-Z0-9\$]*|#+[0-9]?)/,!0,!1)?"variable-2":e.match(s,!0,!1)?"keyword":e.match(/(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%)/,!0,!1)?"operator":(e.next(),"error"))}function u(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if('"'===n&&!i){r=!0;break}i=!i&&"\\"===n}return r&&!i&&(t.tokenize=l),"string"}function c(e,t){for(var n,r;t.commentLevel>0&&null!=(r=e.next());)"("===n&&"*"===r&&t.commentLevel++,"*"===n&&")"===r&&t.commentLevel--,n=r;return t.commentLevel<=0&&(t.tokenize=l),"comment"}return{startState:function(){return{tokenize:l,commentLevel:0}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},blockCommentStart:"(*",blockCommentEnd:"*)"}})),e.defineMIME("text/x-mathematica",{name:"mathematica"})}(n(23326))},80704:(e,t,n)=>{!function(e){"use strict";var t=["From","Sender","Reply-To","To","Cc","Bcc","Message-ID","In-Reply-To","References","Resent-From","Resent-Sender","Resent-To","Resent-Cc","Resent-Bcc","Resent-Message-ID","Return-Path","Received"],n=["Date","Subject","Comments","Keywords","Resent-Date"];e.registerHelper("hintWords","mbox",t.concat(n));var r=/^[ \t]/,i=/^From /,o=new RegExp("^("+t.join("|")+"): "),a=new RegExp("^("+n.join("|")+"): "),s=/^[^:]+:/,l=/^[^ ]+@[^ ]+/,u=/^.*?(?=[^ ]+?@[^ ]+)/,c=/^<.*?>/,d=/^.*?(?=<.*>)/;function p(e,t){if(e.sol()){if(t.inSeparator=!1,t.inHeader&&e.match(r))return null;if(t.inHeader=!1,t.header=null,e.match(i))return t.inHeaders=!0,t.inSeparator=!0,"atom";var n,p=!1;return(n=e.match(a))||(p=!0)&&(n=e.match(o))?(t.inHeaders=!0,t.inHeader=!0,t.emailPermitted=p,t.header=n[1],"atom"):t.inHeaders&&(n=e.match(s))?(t.inHeader=!0,t.emailPermitted=!0,t.header=n[1],"atom"):(t.inHeaders=!1,e.skipToEnd(),null)}if(t.inSeparator)return e.match(l)?"link":(e.match(u)||e.skipToEnd(),"atom");if(t.inHeader){var f=function(e){return"Subject"===e?"header":"string"}(t.header);if(t.emailPermitted){if(e.match(c))return f+" link";if(e.match(d))return f}return e.skipToEnd(),f}return e.skipToEnd(),null}e.defineMode("mbox",(function(){return{startState:function(){return{inSeparator:!1,inHeader:!1,emailPermitted:!1,header:null,inHeaders:!1}},token:p,blankLine:function(e){e.inHeaders=e.inSeparator=e.inHeader=!1}}})),e.defineMIME("application/mbox","mbox")}(n(23326))},2312:(e,t,n)=>{!function(e){"use strict";e.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy","cbl"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp","cs"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists\.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded JavaScript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90","f95"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history)\.md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"text/jinja2",mode:"jinja2",ext:["j2","jinja","jinja2"]},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"],alias:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb","wl","wls"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m"],alias:["objective-c","objc"]},{name:"Objective-C++",mime:"text/x-objectivec++",mode:"clike",ext:["mm"],alias:["objective-c++","objc++"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PostgreSQL",mime:"text/x-pgsql",mode:"sql"},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]},{name:"WebAssembly",mime:"text/webassembly",mode:"wast",ext:["wat","wast"]}];for(var t=0;t-1&&t.substring(i+1,t.length);if(o)return e.findModeByExtension(o)},e.findModeByName=function(t){t=t.toLowerCase();for(var n=0;n{!function(e){"use strict";e.defineMIME("text/mirc","mirc"),e.defineMode("mirc",(function(){function e(e){for(var t={},n=e.split(" "),r=0;r!?^\/\|]/;function o(e,t,n){return t.tokenize=n,n(e,t)}function a(e,a){var u=a.beforeParams;a.beforeParams=!1;var c=e.next();if(/[\[\]{}\(\),\.]/.test(c))return"("==c&&u?a.inParams=!0:")"==c&&(a.inParams=!1),null;if(/\d/.test(c))return e.eatWhile(/[\w\.]/),"number";if("\\"==c)return e.eat("\\"),e.eat(/./),"number";if("/"==c&&e.eat("*"))return o(e,a,s);if(";"==c&&e.match(/ *\( *\(/))return o(e,a,l);if(";"!=c||a.inParams){if('"'==c)return e.eat(/"/),"keyword";if("$"==c)return e.eatWhile(/[$_a-z0-9A-Z\.:]/),t&&t.propertyIsEnumerable(e.current().toLowerCase())?"keyword":(a.beforeParams=!0,"builtin");if("%"==c)return e.eatWhile(/[^,\s()]/),a.beforeParams=!0,"string";if(i.test(c))return e.eatWhile(i),"operator";e.eatWhile(/[\w\$_{}]/);var d=e.current().toLowerCase();return n&&n.propertyIsEnumerable(d)?"keyword":r&&r.propertyIsEnumerable(d)?(a.beforeParams=!0,"keyword"):null}return e.skipToEnd(),"comment"}function s(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=a;break}r="*"==n}return"comment"}function l(e,t){for(var n,r=0;n=e.next();){if(";"==n&&2==r){t.tokenize=a;break}")"==n?r++:" "!=n&&(r=0)}return"meta"}return{startState:function(){return{tokenize:a,beforeParams:!1,inParams:!1}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)}}}))}(n(23326))},65994:(e,t,n)=>{!function(e){"use strict";e.defineMode("mllike",(function(t,n){var r={as:"keyword",do:"keyword",else:"keyword",end:"keyword",exception:"keyword",fun:"keyword",functor:"keyword",if:"keyword",in:"keyword",include:"keyword",let:"keyword",of:"keyword",open:"keyword",rec:"keyword",struct:"keyword",then:"keyword",type:"keyword",val:"keyword",while:"keyword",with:"keyword"},i=n.extraWords||{};for(var o in i)i.hasOwnProperty(o)&&(r[o]=n.extraWords[o]);var a=[];for(var s in r)a.push(s);function l(e,t){var i=e.next();if('"'===i)return t.tokenize=u,t.tokenize(e,t);if("{"===i&&e.eat("|"))return t.longString=!0,t.tokenize=d,t.tokenize(e,t);if("("===i&&e.match(/^\*(?!\))/))return t.commentLevel++,t.tokenize=c,t.tokenize(e,t);if("~"===i||"?"===i)return e.eatWhile(/\w/),"variable-2";if("`"===i)return e.eatWhile(/\w/),"quote";if("/"===i&&n.slashComments&&e.eat("/"))return e.skipToEnd(),"comment";if(/\d/.test(i))return"0"===i&&e.eat(/[bB]/)&&e.eatWhile(/[01]/),"0"===i&&e.eat(/[xX]/)&&e.eatWhile(/[0-9a-fA-F]/),"0"===i&&e.eat(/[oO]/)?e.eatWhile(/[0-7]/):(e.eatWhile(/[\d_]/),e.eat(".")&&e.eatWhile(/[\d]/),e.eat(/[eE]/)&&e.eatWhile(/[\d\-+]/)),"number";if(/[+\-*&%=<>!?|@\.~:]/.test(i))return"operator";if(/[\w\xa1-\uffff]/.test(i)){e.eatWhile(/[\w\xa1-\uffff]/);var o=e.current();return r.hasOwnProperty(o)?r[o]:"variable"}return null}function u(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if('"'===n&&!i){r=!0;break}i=!i&&"\\"===n}return r&&!i&&(t.tokenize=l),"string"}function c(e,t){for(var n,r;t.commentLevel>0&&null!=(r=e.next());)"("===n&&"*"===r&&t.commentLevel++,"*"===n&&")"===r&&t.commentLevel--,n=r;return t.commentLevel<=0&&(t.tokenize=l),"comment"}function d(e,t){for(var n,r;t.longString&&null!=(r=e.next());)"|"===n&&"}"===r&&(t.longString=!1),n=r;return t.longString||(t.tokenize=l),"string"}return e.registerHelper("hintWords","mllike",a),{startState:function(){return{tokenize:l,commentLevel:0,longString:!1}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},blockCommentStart:"(*",blockCommentEnd:"*)",lineComment:n.slashComments?"//":null}})),e.defineMIME("text/x-ocaml",{name:"mllike",extraWords:{and:"keyword",assert:"keyword",begin:"keyword",class:"keyword",constraint:"keyword",done:"keyword",downto:"keyword",external:"keyword",function:"keyword",initializer:"keyword",lazy:"keyword",match:"keyword",method:"keyword",module:"keyword",mutable:"keyword",new:"keyword",nonrec:"keyword",object:"keyword",private:"keyword",sig:"keyword",to:"keyword",try:"keyword",value:"keyword",virtual:"keyword",when:"keyword",raise:"builtin",failwith:"builtin",true:"builtin",false:"builtin",asr:"builtin",land:"builtin",lor:"builtin",lsl:"builtin",lsr:"builtin",lxor:"builtin",mod:"builtin",or:"builtin",raise_notrace:"builtin",trace:"builtin",exit:"builtin",print_string:"builtin",print_endline:"builtin",int:"type",float:"type",bool:"type",char:"type",string:"type",unit:"type",List:"builtin"}}),e.defineMIME("text/x-fsharp",{name:"mllike",extraWords:{abstract:"keyword",assert:"keyword",base:"keyword",begin:"keyword",class:"keyword",default:"keyword",delegate:"keyword","do!":"keyword",done:"keyword",downcast:"keyword",downto:"keyword",elif:"keyword",extern:"keyword",finally:"keyword",for:"keyword",function:"keyword",global:"keyword",inherit:"keyword",inline:"keyword",interface:"keyword",internal:"keyword",lazy:"keyword","let!":"keyword",match:"keyword",member:"keyword",module:"keyword",mutable:"keyword",namespace:"keyword",new:"keyword",null:"keyword",override:"keyword",private:"keyword",public:"keyword","return!":"keyword",return:"keyword",select:"keyword",static:"keyword",to:"keyword",try:"keyword",upcast:"keyword","use!":"keyword",use:"keyword",void:"keyword",when:"keyword","yield!":"keyword",yield:"keyword",atomic:"keyword",break:"keyword",checked:"keyword",component:"keyword",const:"keyword",constraint:"keyword",constructor:"keyword",continue:"keyword",eager:"keyword",event:"keyword",external:"keyword",fixed:"keyword",method:"keyword",mixin:"keyword",object:"keyword",parallel:"keyword",process:"keyword",protected:"keyword",pure:"keyword",sealed:"keyword",tailcall:"keyword",trait:"keyword",virtual:"keyword",volatile:"keyword",List:"builtin",Seq:"builtin",Map:"builtin",Set:"builtin",Option:"builtin",int:"builtin",string:"builtin",not:"builtin",true:"builtin",false:"builtin",raise:"builtin",failwith:"builtin"},slashComments:!0}),e.defineMIME("text/x-sml",{name:"mllike",extraWords:{abstype:"keyword",and:"keyword",andalso:"keyword",case:"keyword",datatype:"keyword",fn:"keyword",handle:"keyword",infix:"keyword",infixr:"keyword",local:"keyword",nonfix:"keyword",op:"keyword",orelse:"keyword",raise:"keyword",withtype:"keyword",eqtype:"keyword",sharing:"keyword",sig:"keyword",signature:"keyword",structure:"keyword",where:"keyword",true:"keyword",false:"keyword",int:"builtin",real:"builtin",string:"builtin",char:"builtin",bool:"builtin"},slashComments:!0})}(n(23326))},51755:(e,t,n)=>{!function(e){"use strict";function t(e){for(var t={},n=e.split(" "),r=0;r+\-\/^\[\]]/,l=/(:=|<=|>=|==|<>|\.\+|\.\-|\.\*|\.\/|\.\^)/,u=/[0-9]/,c=/[_a-zA-Z]/;function d(e,t){return e.skipToEnd(),t.tokenize=null,"comment"}function p(e,t){for(var n,r=!1;n=e.next();){if(r&&"/"==n){t.tokenize=null;break}r="*"==n}return"comment"}function f(e,t){for(var n,r=!1;null!=(n=e.next());){if('"'==n&&!r){t.tokenize=null,t.sol=!1;break}r=!r&&"\\"==n}return"string"}function h(e,t){for(e.eatWhile(u);e.eat(u)||e.eat(c););var n=e.current();return!t.sol||"package"!=n&&"model"!=n&&"when"!=n&&"connector"!=n?t.sol&&"end"==n&&t.level>0&&t.level--:t.level++,t.tokenize=null,t.sol=!1,i.propertyIsEnumerable(n)?"keyword":o.propertyIsEnumerable(n)?"builtin":a.propertyIsEnumerable(n)?"atom":"variable"}function m(e,t){for(;e.eat(/[^']/););return t.tokenize=null,t.sol=!1,e.eat("'")?"variable":"error"}function g(e,t){return e.eatWhile(u),e.eat(".")&&e.eatWhile(u),(e.eat("e")||e.eat("E"))&&(e.eat("-")||e.eat("+"),e.eatWhile(u)),t.tokenize=null,t.sol=!1,"number"}return{startState:function(){return{tokenize:null,level:0,sol:!0}},token:function(e,t){if(null!=t.tokenize)return t.tokenize(e,t);if(e.sol()&&(t.sol=!0),e.eatSpace())return t.tokenize=null,null;var n=e.next();if("/"==n&&e.eat("/"))t.tokenize=d;else if("/"==n&&e.eat("*"))t.tokenize=p;else{if(l.test(n+e.peek()))return e.next(),t.tokenize=null,"operator";if(s.test(n))return t.tokenize=null,"operator";if(c.test(n))t.tokenize=h;else if("'"==n&&e.peek()&&"'"!=e.peek())t.tokenize=m;else if('"'==n)t.tokenize=f;else{if(!u.test(n))return t.tokenize=null,"error";t.tokenize=g}}return t.tokenize(e,t)},indent:function(t,n){if(null!=t.tokenize)return e.Pass;var i=t.level;return/(algorithm)/.test(n)&&i--,/(equation)/.test(n)&&i--,/(initial algorithm)/.test(n)&&i--,/(initial equation)/.test(n)&&i--,/(end)/.test(n)&&i--,i>0?r*i:0},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//"}}));!function(t,n){"string"==typeof t&&(t=[t]);var r=[];function i(e){if(e)for(var t in e)e.hasOwnProperty(t)&&r.push(t)}i(n.keywords),i(n.builtin),i(n.atoms),r.length&&(n.helperType=t[0],e.registerHelper("hintWords",t[0],r));for(var o=0;o{!function(e){"use strict";var t={mscgen:{keywords:["msc"],options:["hscale","width","arcgradient","wordwraparcs"],constants:["true","false","on","off"],attributes:["label","idurl","id","url","linecolor","linecolour","textcolor","textcolour","textbgcolor","textbgcolour","arclinecolor","arclinecolour","arctextcolor","arctextcolour","arctextbgcolor","arctextbgcolour","arcskip"],brackets:["\\{","\\}"],arcsWords:["note","abox","rbox","box"],arcsOthers:["\\|\\|\\|","\\.\\.\\.","---","--","<->","==","<<=>>","<=>","\\.\\.","<<>>","::","<:>","->","=>>","=>",">>",":>","<-","<<=","<=","<<","<:","x-","-x"],singlecomment:["//","#"],operators:["="]},xu:{keywords:["msc","xu"],options:["hscale","width","arcgradient","wordwraparcs","wordwrapentities","watermark"],constants:["true","false","on","off","auto"],attributes:["label","idurl","id","url","linecolor","linecolour","textcolor","textcolour","textbgcolor","textbgcolour","arclinecolor","arclinecolour","arctextcolor","arctextcolour","arctextbgcolor","arctextbgcolour","arcskip","title","deactivate","activate","activation"],brackets:["\\{","\\}"],arcsWords:["note","abox","rbox","box","alt","else","opt","break","par","seq","strict","neg","critical","ignore","consider","assert","loop","ref","exc"],arcsOthers:["\\|\\|\\|","\\.\\.\\.","---","--","<->","==","<<=>>","<=>","\\.\\.","<<>>","::","<:>","->","=>>","=>",">>",":>","<-","<<=","<=","<<","<:","x-","-x"],singlecomment:["//","#"],operators:["="]},msgenny:{keywords:null,options:["hscale","width","arcgradient","wordwraparcs","wordwrapentities","watermark"],constants:["true","false","on","off","auto"],attributes:null,brackets:["\\{","\\}"],arcsWords:["note","abox","rbox","box","alt","else","opt","break","par","seq","strict","neg","critical","ignore","consider","assert","loop","ref","exc"],arcsOthers:["\\|\\|\\|","\\.\\.\\.","---","--","<->","==","<<=>>","<=>","\\.\\.","<<>>","::","<:>","->","=>>","=>",">>",":>","<-","<<=","<=","<<","<:","x-","-x"],singlecomment:["//","#"],operators:["="]}};function n(e){return new RegExp("^\\b(?:"+e.join("|")+")\\b","i")}function r(e){return new RegExp("^(?:"+e.join("|")+")","i")}function i(){return{inComment:!1,inString:!1,inAttributeList:!1,inScript:!1}}function o(e){return{inComment:e.inComment,inString:e.inString,inAttributeList:e.inAttributeList,inScript:e.inScript}}e.defineMode("mscgen",(function(e,a){return{startState:i,copyState:o,token:(s=t[a&&a.language||"mscgen"],function(e,t){if(e.match(r(s.brackets),!0,!0))return"bracket";if(!t.inComment){if(e.match(/\/\*[^\*\/]*/,!0,!0))return t.inComment=!0,"comment";if(e.match(r(s.singlecomment),!0,!0))return e.skipToEnd(),"comment"}if(t.inComment)return e.match(/[^\*\/]*\*\//,!0,!0)?t.inComment=!1:e.skipToEnd(),"comment";if(!t.inString&&e.match(/\"(\\\"|[^\"])*/,!0,!0))return t.inString=!0,"string";if(t.inString)return e.match(/[^\"]*\"/,!0,!0)?t.inString=!1:e.skipToEnd(),"string";if(s.keywords&&e.match(n(s.keywords),!0,!0))return"keyword";if(e.match(n(s.options),!0,!0))return"keyword";if(e.match(n(s.arcsWords),!0,!0))return"keyword";if(e.match(r(s.arcsOthers),!0,!0))return"keyword";if(s.operators&&e.match(r(s.operators),!0,!0))return"operator";if(s.constants&&e.match(r(s.constants),!0,!0))return"variable";if(!s.inAttributeList&&s.attributes&&e.match("[",!0,!0))return s.inAttributeList=!0,"bracket";if(s.inAttributeList){if(null!==s.attributes&&e.match(n(s.attributes),!0,!0))return"attribute";if(e.match("]",!0,!0))return s.inAttributeList=!1,"bracket"}return e.next(),"base"}),lineComment:"#",blockCommentStart:"/*",blockCommentEnd:"*/"};var s})),e.defineMIME("text/x-mscgen","mscgen"),e.defineMIME("text/x-xu",{name:"mscgen",language:"xu"}),e.defineMIME("text/x-msgenny",{name:"mscgen",language:"msgenny"})}(n(23326))},81482:(e,t,n)=>{!function(e){"use strict";e.defineMode("mumps",(function(){function e(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}var t=new RegExp("^[\\+\\-\\*/&#!_?\\\\<>=\\'\\[\\]]"),n=new RegExp("^(('=)|(<=)|(>=)|('>)|('<)|([[)|(]])|(^$))"),r=new RegExp("^[\\.,:]"),i=new RegExp("[()]"),o=new RegExp("^[%A-Za-z][A-Za-z0-9]*"),a=e(["\\$ascii","\\$char","\\$data","\\$ecode","\\$estack","\\$etrap","\\$extract","\\$find","\\$fnumber","\\$get","\\$horolog","\\$io","\\$increment","\\$job","\\$justify","\\$length","\\$name","\\$next","\\$order","\\$piece","\\$qlength","\\$qsubscript","\\$query","\\$quit","\\$random","\\$reverse","\\$select","\\$stack","\\$test","\\$text","\\$translate","\\$view","\\$x","\\$y","\\$a","\\$c","\\$d","\\$e","\\$ec","\\$es","\\$et","\\$f","\\$fn","\\$g","\\$h","\\$i","\\$j","\\$l","\\$n","\\$na","\\$o","\\$p","\\$q","\\$ql","\\$qs","\\$r","\\$re","\\$s","\\$st","\\$t","\\$tr","\\$v","\\$z"]),s=e(["break","close","do","else","for","goto","halt","hang","if","job","kill","lock","merge","new","open","quit","read","set","tcommit","trollback","tstart","use","view","write","xecute","b","c","d","e","f","g","h","i","j","k","l","m","n","o","q","r","s","tc","tro","ts","u","v","w","x"]);return{startState:function(){return{label:!1,commandMode:0}},token:function(e,l){var u=function(e,l){e.sol()&&(l.label=!0,l.commandMode=0);var u=e.peek();return" "==u||"\t"==u?(l.label=!1,0==l.commandMode?l.commandMode=1:(l.commandMode<0||2==l.commandMode)&&(l.commandMode=0)):"."!=u&&l.commandMode>0&&(l.commandMode=":"==u?-1:2),"("!==u&&"\t"!==u||(l.label=!1),";"===u?(e.skipToEnd(),"comment"):e.match(/^[-+]?\d+(\.\d+)?([eE][-+]?\d+)?/)?"number":'"'==u?e.skipTo('"')?(e.next(),"string"):(e.skipToEnd(),"error"):e.match(n)||e.match(t)?"operator":e.match(r)?null:i.test(u)?(e.next(),"bracket"):l.commandMode>0&&e.match(s)?"variable-2":e.match(a)?"builtin":e.match(o)?"variable":"$"===u||"^"===u?(e.next(),"builtin"):"@"===u?(e.next(),"string-2"):/[\w%]/.test(u)?(e.eatWhile(/[\w%]/),"variable"):(e.next(),"error")}(e,l);return l.label?"tag":u}}})),e.defineMIME("text/x-mumps","mumps")}(n(23326))},77549:(e,t,n)=>{!function(e){"use strict";e.defineMode("nginx",(function(e){function t(e){for(var t={},n=e.split(" "),r=0;r*\/]/.test(d)?s(null,"select-op"):/[;{}:\[\]]/.test(d)?s(null,d):(e.eatWhile(/[\w\\\-]/),s("variable","variable")):s(null,"compare"):void s(null,"compare")}function u(e,t){for(var n,r=!1;null!=(n=e.next());){if(r&&"/"==n){t.tokenize=l;break}r="*"==n}return s("comment","comment")}function c(e,t){for(var n,r=0;null!=(n=e.next());){if(r>=2&&">"==n){t.tokenize=l;break}r="-"==n?r+1:0}return s("comment","comment")}return{startState:function(e){return{tokenize:l,baseIndent:e||0,stack:[]}},token:function(e,t){if(e.eatSpace())return null;n=null;var r=t.tokenize(e,t),i=t.stack[t.stack.length-1];return"hash"==n&&"rule"==i?r="atom":"variable"==r&&("rule"==i?r="number":i&&"@media{"!=i||(r="tag")),"rule"==i&&/^[\{\};]$/.test(n)&&t.stack.pop(),"{"==n?"@media"==i?t.stack[t.stack.length-1]="@media{":t.stack.push("{"):"}"==n?t.stack.pop():"@media"==n?t.stack.push("@media"):"{"==i&&"comment"!=n&&t.stack.push("rule"),r},indent:function(e,t){var n=e.stack.length;return/^\}/.test(t)&&(n-="rule"==e.stack[e.stack.length-1]?2:1),e.baseIndent+n*a},electricChars:"}"}})),e.defineMIME("text/x-nginx-conf","nginx")}(n(23326))},13939:(e,t,n)=>{!function(e){"use strict";e.defineSimpleMode("nsis",{start:[{regex:/(?:[+-]?)(?:0x[\d,a-f]+)|(?:0o[0-7]+)|(?:0b[0,1]+)|(?:\d+.?\d*)/,token:"number"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"},{regex:/'(?:[^\\']|\\.)*'?/,token:"string"},{regex:/`(?:[^\\`]|\\.)*`?/,token:"string"},{regex:/^\s*(?:\!(addincludedir|addplugindir|appendfile|assert|cd|define|delfile|echo|error|execute|finalize|getdllversion|gettlbversion|include|insertmacro|macro|macroend|makensis|packhdr|pragma|searchparse|searchreplace|system|tempfile|undef|uninstfinalize|verbose|warning))\b/i,token:"keyword"},{regex:/^\s*(?:\!(if(?:n?def)?|ifmacron?def|macro))\b/i,token:"keyword",indent:!0},{regex:/^\s*(?:\!(else|endif|macroend))\b/i,token:"keyword",dedent:!0},{regex:/^\s*(?:Abort|AddBrandingImage|AddSize|AllowRootDirInstall|AllowSkipFiles|AutoCloseWindow|BGFont|BGGradient|BrandingText|BringToFront|Call|CallInstDLL|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|CreateDirectory|CreateFont|CreateShortCut|Delete|DeleteINISec|DeleteINIStr|DeleteRegKey|DeleteRegValue|DetailPrint|DetailsButtonText|DirText|DirVar|DirVerify|EnableWindow|EnumRegKey|EnumRegValue|Exch|Exec|ExecShell|ExecShellWait|ExecWait|ExpandEnvStrings|File|FileBufSize|FileClose|FileErrorText|FileOpen|FileRead|FileReadByte|FileReadUTF16LE|FileReadWord|FileWriteUTF16LE|FileSeek|FileWrite|FileWriteByte|FileWriteWord|FindClose|FindFirst|FindNext|FindWindow|FlushINI|GetCurInstType|GetCurrentAddress|GetDlgItem|GetDLLVersion|GetDLLVersionLocal|GetErrorLevel|GetFileTime|GetFileTimeLocal|GetFullPathName|GetFunctionAddress|GetInstDirError|GetKnownFolderPath|GetLabelAddress|GetTempFileName|GetWinVer|Goto|HideWindow|Icon|IfAbort|IfErrors|IfFileExists|IfRebootFlag|IfRtlLanguage|IfShellVarContextAll|IfSilent|InitPluginsDir|InstallButtonText|InstallColors|InstallDir|InstallDirRegKey|InstProgressFlags|InstType|InstTypeGetText|InstTypeSetText|Int64Cmp|Int64CmpU|Int64Fmt|IntCmp|IntCmpU|IntFmt|IntOp|IntPtrCmp|IntPtrCmpU|IntPtrOp|IsWindow|LangString|LicenseBkColor|LicenseData|LicenseForceSelection|LicenseLangString|LicenseText|LoadAndSetImage|LoadLanguageFile|LockWindow|LogSet|LogText|ManifestDPIAware|ManifestLongPathAware|ManifestMaxVersionTested|ManifestSupportedOS|MessageBox|MiscButtonText|Name|Nop|OutFile|Page|PageCallbacks|PEAddResource|PEDllCharacteristics|PERemoveResource|PESubsysVer|Pop|Push|Quit|ReadEnvStr|ReadINIStr|ReadRegDWORD|ReadRegStr|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|SectionGetFlags|SectionGetInstTypes|SectionGetSize|SectionGetText|SectionIn|SectionSetFlags|SectionSetInstTypes|SectionSetSize|SectionSetText|SendMessage|SetAutoClose|SetBrandingImage|SetCompress|SetCompressor|SetCompressorDictSize|SetCtlColors|SetCurInstType|SetDatablockOptimize|SetDateSave|SetDetailsPrint|SetDetailsView|SetErrorLevel|SetErrors|SetFileAttributes|SetFont|SetOutPath|SetOverwrite|SetRebootFlag|SetRegView|SetShellVarContext|SetSilent|ShowInstDetails|ShowUninstDetails|ShowWindow|SilentInstall|SilentUnInstall|Sleep|SpaceTexts|StrCmp|StrCmpS|StrCpy|StrLen|SubCaption|Target|Unicode|UninstallButtonText|UninstallCaption|UninstallIcon|UninstallSubCaption|UninstallText|UninstPage|UnRegDLL|Var|VIAddVersionKey|VIFileVersion|VIProductVersion|WindowIcon|WriteINIStr|WriteRegBin|WriteRegDWORD|WriteRegExpandStr|WriteRegMultiStr|WriteRegNone|WriteRegStr|WriteUninstaller|XPStyle)\b/i,token:"keyword"},{regex:/^\s*(?:Function|PageEx|Section(?:Group)?)\b/i,token:"keyword",indent:!0},{regex:/^\s*(?:(Function|PageEx|Section(?:Group)?)End)\b/i,token:"keyword",dedent:!0},{regex:/\b(?:ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HIDDEN|HKCC|HKCR(32|64)?|HKCU(32|64)?|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM(32|64)?|HKPD|HKU|IDABORT|IDCANCEL|IDD_DIR|IDD_INST|IDD_INSTFILES|IDD_LICENSE|IDD_SELCOM|IDD_UNINST|IDD_VERIFY|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|MB_YESNOCANCEL|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SW_HIDE|SW_SHOWDEFAULT|SW_SHOWMAXIMIZED|SW_SHOWMINIMIZED|SW_SHOWNORMAL|SYSTEM|TEMPORARY)\b/i,token:"atom"},{regex:/\b(?:admin|all|amd64-unicode|auto|both|bottom|bzip2|components|current|custom|directory|false|force|hide|highest|ifdiff|ifnewer|instfiles|lastused|leave|left|license|listonly|lzma|nevershow|none|normal|notset|off|on|right|show|silent|silentlog|textonly|top|true|try|un\.components|un\.custom|un\.directory|un\.instfiles|un\.license|uninstConfirm|user|Win10|Win7|Win8|WinVista|x-86-(ansi|unicode)|zlib)\b/i,token:"builtin"},{regex:/\$\{(?:And(?:If(?:Not)?|Unless)|Break|Case(?:2|3|4|5|Else)?|Continue|Default|Do(?:Until|While)?|Else(?:If(?:Not)?|Unless)?|End(?:If|Select|Switch)|Exit(?:Do|For|While)|For(?:Each)?|If(?:Cmd|Not(?:Then)?|Then)?|Loop(?:Until|While)?|Or(?:If(?:Not)?|Unless)|Select|Switch|Unless|While)\}/i,token:"variable-2",indent:!0},{regex:/\$\{(?:BannerTrimPath|DirState|DriveSpace|Get(BaseName|Drives|ExeName|ExePath|FileAttributes|FileExt|FileName|FileVersion|Options|OptionsS|Parameters|Parent|Root|Size|Time)|Locate|RefreshShellIcons)\}/i,token:"variable-2",dedent:!0},{regex:/\$\{(?:Memento(?:Section(?:Done|End|Restore|Save)?|UnselectedSection))\}/i,token:"variable-2",dedent:!0},{regex:/\$\{(?:Config(?:Read|ReadS|Write|WriteS)|File(?:Join|ReadFromEnd|Recode)|Line(?:Find|Read|Sum)|Text(?:Compare|CompareS)|TrimNewLines)\}/i,token:"variable-2",dedent:!0},{regex:/\$\{(?:(?:At(?:Least|Most)|Is)(?:ServicePack|Win(?:7|8|10|95|98|200(?:0|3|8(?:R2)?)|ME|NT4|Vista|XP))|Is(?:NT|Server))\}/i,token:"variable",dedent:!0},{regex:/\$\{(?:StrFilterS?|Version(?:Compare|Convert)|Word(?:AddS?|Find(?:(?:2|3)X)?S?|InsertS?|ReplaceS?))\}/i,token:"variable-2",dedent:!0},{regex:/\$\{(?:RunningX64)\}/i,token:"variable",dedent:!0},{regex:/\$\{(?:Disable|Enable)X64FSRedirection\}/i,token:"variable-2",dedent:!0},{regex:/(#|;).*/,token:"comment"},{regex:/\/\*/,token:"comment",next:"comment"},{regex:/[-+\/*=<>!]+/,token:"operator"},{regex:/\$\w[\w\.]*/,token:"variable"},{regex:/\${[\!\w\.:-]+}/,token:"variable-2"},{regex:/\$\([\!\w\.:-]+\)/,token:"variable-3"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],meta:{electricInput:/^\s*((Function|PageEx|Section|Section(Group)?)End|(\!(endif|macroend))|\$\{(End(If|Unless|While)|Loop(Until)|Next)\})$/i,blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:["#",";"]}}),e.defineMIME("text/x-nsis","nsis")}(n(23326),n(81094))},53921:(e,t,n)=>{!function(e){"use strict";e.defineMode("ntriples",(function(){var e=0,t=1,n=2,r=3,i=4,o=5,a=6,s=7,l=8,u=9,c=10,d=11,p=12;function f(f,h){var m,g=f.location;m=g==e&&"<"==h?t:g==e&&"_"==h?n:g==r&&"<"==h?i:g==o&&"<"==h?a:g==o&&"_"==h?s:g==o&&'"'==h?l:g==t&&">"==h||g==n&&" "==h?r:g==i&&">"==h?o:g==a&&">"==h||g==s&&" "==h||g==l&&'"'==h||g==u&&" "==h||g==c&&">"==h?d:g==l&&"@"==h?u:g==l&&"^"==h?c:" "!=h||g!=e&&g!=r&&g!=o&&g!=d?g==d&&"."==h?e:p:g,f.location=m}return{startState:function(){return{location:e,uris:[],anchors:[],bnodes:[],langs:[],types:[]}},token:function(e,t){var n=e.next();if("<"==n){f(t,n);var r="";return e.eatWhile((function(e){return"#"!=e&&">"!=e&&(r+=e,!0)})),t.uris.push(r),e.match("#",!1)||(e.next(),f(t,">")),"variable"}if("#"==n){var i="";return e.eatWhile((function(e){return">"!=e&&" "!=e&&(i+=e,!0)})),t.anchors.push(i),"variable-2"}if(">"==n)return f(t,">"),"variable";if("_"==n){f(t,n);var o="";return e.eatWhile((function(e){return" "!=e&&(o+=e,!0)})),t.bnodes.push(o),e.next(),f(t," "),"builtin"}if('"'==n)return f(t,n),e.eatWhile((function(e){return'"'!=e})),e.next(),"@"!=e.peek()&&"^"!=e.peek()&&f(t,'"'),"string";if("@"==n){f(t,"@");var a="";return e.eatWhile((function(e){return" "!=e&&(a+=e,!0)})),t.langs.push(a),e.next(),f(t," "),"string-2"}if("^"==n){e.next(),f(t,"^");var s="";return e.eatWhile((function(e){return">"!=e&&(s+=e,!0)})),t.types.push(s),e.next(),f(t,">"),"variable"}" "==n&&f(t,n),"."==n&&f(t,n)}}})),e.defineMIME("application/n-triples","ntriples"),e.defineMIME("application/n-quads","ntriples"),e.defineMIME("text/n-triples","ntriples")}(n(23326))},55118:(e,t,n)=>{!function(e){"use strict";e.defineMode("octave",(function(){function e(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var t=new RegExp("^[\\+\\-\\*/&|\\^~<>!@'\\\\]"),n=new RegExp("^[\\(\\[\\{\\},:=;\\.]"),r=new RegExp("^((==)|(~=)|(<=)|(>=)|(<<)|(>>)|(\\.[\\+\\-\\*/\\^\\\\]))"),i=new RegExp("^((!=)|(\\+=)|(\\-=)|(\\*=)|(/=)|(&=)|(\\|=)|(\\^=))"),o=new RegExp("^((>>=)|(<<=))"),a=new RegExp("^[\\]\\)]"),s=new RegExp("^[_A-Za-z¡-￿][_A-Za-z0-9¡-￿]*"),l=e(["error","eval","function","abs","acos","atan","asin","cos","cosh","exp","log","prod","sum","log10","max","min","sign","sin","sinh","sqrt","tan","reshape","break","zeros","default","margin","round","ones","rand","syn","ceil","floor","size","clear","zeros","eye","mean","std","cov","det","eig","inv","norm","rank","trace","expm","logm","sqrtm","linspace","plot","title","xlabel","ylabel","legend","text","grid","meshgrid","mesh","num2str","fft","ifft","arrayfun","cellfun","input","fliplr","flipud","ismember"]),u=e(["return","case","switch","else","elseif","end","endif","endfunction","if","otherwise","do","for","while","try","catch","classdef","properties","events","methods","global","persistent","endfor","endwhile","printf","sprintf","disp","until","continue","pkg"]);function c(e,t){return e.sol()||"'"!==e.peek()?(t.tokenize=p,p(e,t)):(e.next(),t.tokenize=p,"operator")}function d(e,t){return e.match(/^.*%}/)?(t.tokenize=p,"comment"):(e.skipToEnd(),"comment")}function p(f,h){if(f.eatSpace())return null;if(f.match("%{"))return h.tokenize=d,f.skipToEnd(),"comment";if(f.match(/^[%#]/))return f.skipToEnd(),"comment";if(f.match(/^[0-9\.+-]/,!1)){if(f.match(/^[+-]?0x[0-9a-fA-F]+[ij]?/))return f.tokenize=p,"number";if(f.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?[ij]?/))return"number";if(f.match(/^[+-]?\d+([EeDd][+-]?\d+)?[ij]?/))return"number"}if(f.match(e(["nan","NaN","inf","Inf"])))return"number";var m=f.match(/^"(?:[^"]|"")*("|$)/)||f.match(/^'(?:[^']|'')*('|$)/);return m?m[1]?"string":"string error":f.match(u)?"keyword":f.match(l)?"builtin":f.match(s)?"variable":f.match(t)||f.match(r)?"operator":f.match(n)||f.match(i)||f.match(o)?null:f.match(a)?(h.tokenize=c,null):(f.next(),"error")}return{startState:function(){return{tokenize:p}},token:function(e,t){var n=t.tokenize(e,t);return"number"!==n&&"variable"!==n||(t.tokenize=c),n},lineComment:"%",fold:"indent"}})),e.defineMIME("text/x-octave","octave")}(n(23326))},46768:(e,t,n)=>{!function(e){"use strict";e.defineMode("oz",(function(e){function t(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var n,r=/[\^@!\|<>#~\.\*\-\+\\/,=]/,i=/(<-)|(:=)|(=<)|(>=)|(<=)|(<:)|(>:)|(=:)|(\\=)|(\\=:)|(!!)|(==)|(::)/,o=/(:::)|(\.\.\.)|(=<:)|(>=:)/,a=["in","then","else","of","elseof","elsecase","elseif","catch","finally","with","require","prepare","import","export","define","do"],s=["end"],l=t(["true","false","nil","unit"]),u=t(["andthen","at","attr","declare","feat","from","lex","mod","div","mode","orelse","parser","prod","prop","scanner","self","syn","token"]),c=t(["local","proc","fun","case","class","if","cond","or","dis","choice","not","thread","try","raise","lock","for","suchthat","meth","functor"]),d=t(a),p=t(s);function f(e,t){if(e.eatSpace())return null;if(e.match(/[{}]/))return"bracket";if(e.match("[]"))return"keyword";if(e.match(o)||e.match(i))return"operator";if(e.match(l))return"atom";var n=e.match(c);if(n)return t.doInCurrentLine?t.doInCurrentLine=!1:t.currentIndent++,"proc"==n[0]||"fun"==n[0]?t.tokenize=g:"class"==n[0]?t.tokenize=h:"meth"==n[0]&&(t.tokenize=m),"keyword";if(e.match(d)||e.match(u))return"keyword";if(e.match(p))return t.currentIndent--,"keyword";var a,s=e.next();if('"'==s||"'"==s)return t.tokenize=(a=s,function(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if(n==a&&!r){i=!0;break}r=!r&&"\\"==n}return!i&&r||(t.tokenize=f),"string"}),t.tokenize(e,t);if(/[~\d]/.test(s)){if("~"==s){if(!/^[0-9]/.test(e.peek()))return null;if("0"==e.next()&&e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^[0-9]*(\.[0-9]+)?([eE][~+]?[0-9]+)?/))return"number"}return"0"==s&&e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^[0-9]*(\.[0-9]+)?([eE][~+]?[0-9]+)?/)?"number":null}return"%"==s?(e.skipToEnd(),"comment"):"/"==s&&e.eat("*")?(t.tokenize=v,v(e,t)):r.test(s)?"operator":(e.eatWhile(/\w/),"variable")}function h(e,t){return e.eatSpace()?null:(e.match(/([A-Z][A-Za-z0-9_]*)|(`.+`)/),t.tokenize=f,"variable-3")}function m(e,t){return e.eatSpace()?null:(e.match(/([a-zA-Z][A-Za-z0-9_]*)|(`.+`)/),t.tokenize=f,"def")}function g(e,t){return e.eatSpace()?null:!t.hasPassedFirstStage&&e.eat("{")?(t.hasPassedFirstStage=!0,"bracket"):t.hasPassedFirstStage?(e.match(/([A-Z][A-Za-z0-9_]*)|(`.+`)|\$/),t.hasPassedFirstStage=!1,t.tokenize=f,"def"):(t.tokenize=f,null)}function v(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=f;break}r="*"==n}return"comment"}return{startState:function(){return{tokenize:f,currentIndent:0,doInCurrentLine:!1,hasPassedFirstStage:!1}},token:function(e,t){return e.sol()&&(t.doInCurrentLine=0),t.tokenize(e,t)},indent:function(t,n){var r=n.replace(/^\s+|\s+$/g,"");return r.match(p)||r.match(d)||r.match(/(\[])/)?e.indentUnit*(t.currentIndent-1):t.currentIndent<0?0:t.currentIndent*e.indentUnit},fold:"indent",electricInput:(n=a.concat(s),new RegExp("[\\[\\]]|("+n.join("|")+")$")),lineComment:"%",blockCommentStart:"/*",blockCommentEnd:"*/"}})),e.defineMIME("text/x-oz","oz")}(n(23326))},44199:(e,t,n)=>{!function(e){"use strict";e.defineMode("pascal",(function(){var e=function(e){for(var t={},n=e.split(" "),r=0;r!?|\/]/;function r(r,a){var s,l=r.next();if("#"==l&&a.startOfLine)return r.skipToEnd(),"meta";if('"'==l||"'"==l)return a.tokenize=(s=l,function(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if(n==s&&!r){i=!0;break}r=!r&&"\\"==n}return!i&&r||(t.tokenize=null),"string"}),a.tokenize(r,a);if("("==l&&r.eat("*"))return a.tokenize=i,i(r,a);if("{"==l)return a.tokenize=o,o(r,a);if(/[\[\]\(\),;\:\.]/.test(l))return null;if(/\d/.test(l))return r.eatWhile(/[\w\.]/),"number";if("/"==l&&r.eat("/"))return r.skipToEnd(),"comment";if(n.test(l))return r.eatWhile(n),"operator";r.eatWhile(/[\w\$_]/);var u=r.current();return e.propertyIsEnumerable(u)?"keyword":t.propertyIsEnumerable(u)?"atom":"variable"}function i(e,t){for(var n,r=!1;n=e.next();){if(")"==n&&r){t.tokenize=null;break}r="*"==n}return"comment"}function o(e,t){for(var n;n=e.next();)if("}"==n){t.tokenize=null;break}return"comment"}return{startState:function(){return{tokenize:null}},token:function(e,t){return e.eatSpace()?null:(t.tokenize||r)(e,t)},electricChars:"{}"}})),e.defineMIME("text/x-pascal","pascal")}(n(23326))},6575:(e,t,n)=>{!function(e){"use strict";e.defineMode("pegjs",(function(t){var n=e.getMode(t,"javascript");return{startState:function(){return{inString:!1,stringType:null,inComment:!1,inCharacterClass:!1,braced:0,lhs:!0,localState:null}},token:function(t,r){if(r.inString||r.inComment||'"'!=t.peek()&&"'"!=t.peek()||(r.stringType=t.peek(),t.next(),r.inString=!0),r.inString||r.inComment||!t.match("/*")||(r.inComment=!0),r.inString){for(;r.inString&&!t.eol();)t.peek()===r.stringType?(t.next(),r.inString=!1):"\\"===t.peek()?(t.next(),t.next()):t.match(/^.[^\\\"\']*/);return r.lhs?"property string":"string"}if(r.inComment){for(;r.inComment&&!t.eol();)t.match("*/")?r.inComment=!1:t.match(/^.[^\*]*/);return"comment"}if(r.inCharacterClass)for(;r.inCharacterClass&&!t.eol();)t.match(/^[^\]\\]+/)||t.match(/^\\./)||(r.inCharacterClass=!1);else{if("["===t.peek())return t.next(),r.inCharacterClass=!0,"bracket";if(t.match("//"))return t.skipToEnd(),"comment";if(r.braced||"{"===t.peek()){null===r.localState&&(r.localState=e.startState(n));var i=n.token(t,r.localState),o=t.current();if(!i)for(var a=0;a{!function(e){"use strict";function t(e,t){return e.string.charAt(e.pos+(t||0))}function n(e,t){if(t){var n=e.pos-t;return e.string.substr(n>=0?n:0,t)}return e.string.substr(0,e.pos-1)}function r(e,t){var n=e.string.length,r=n-e.pos+1;return e.string.substr(e.pos,t&&t=(n=e.string.length-1)?e.pos=n:e.pos=r}e.defineMode("perl",(function(){var e={"->":4,"++":4,"--":4,"**":4,"=~":4,"!~":4,"*":4,"/":4,"%":4,x:4,"+":4,"-":4,".":4,"<<":4,">>":4,"<":4,">":4,"<=":4,">=":4,lt:4,gt:4,le:4,ge:4,"==":4,"!=":4,"<=>":4,eq:4,ne:4,cmp:4,"~~":4,"&":4,"|":4,"^":4,"&&":4,"||":4,"//":4,"..":4,"...":4,"?":4,":":4,"=":4,"+=":4,"-=":4,"*=":4,",":4,"=>":4,"::":4,not:4,and:4,or:4,xor:4,BEGIN:[5,1],END:[5,1],PRINT:[5,1],PRINTF:[5,1],GETC:[5,1],READ:[5,1],READLINE:[5,1],DESTROY:[5,1],TIE:[5,1],TIEHANDLE:[5,1],UNTIE:[5,1],STDIN:5,STDIN_TOP:5,STDOUT:5,STDOUT_TOP:5,STDERR:5,STDERR_TOP:5,$ARG:5,$_:5,"@ARG":5,"@_":5,$LIST_SEPARATOR:5,'$"':5,$PROCESS_ID:5,$PID:5,$$:5,$REAL_GROUP_ID:5,$GID:5,"$(":5,$EFFECTIVE_GROUP_ID:5,$EGID:5,"$)":5,$PROGRAM_NAME:5,$0:5,$SUBSCRIPT_SEPARATOR:5,$SUBSEP:5,"$;":5,$REAL_USER_ID:5,$UID:5,"$<":5,$EFFECTIVE_USER_ID:5,$EUID:5,"$>":5,$a:5,$b:5,$COMPILING:5,"$^C":5,$DEBUGGING:5,"$^D":5,"${^ENCODING}":5,$ENV:5,"%ENV":5,$SYSTEM_FD_MAX:5,"$^F":5,"@F":5,"${^GLOBAL_PHASE}":5,"$^H":5,"%^H":5,"@INC":5,"%INC":5,$INPLACE_EDIT:5,"$^I":5,"$^M":5,$OSNAME:5,"$^O":5,"${^OPEN}":5,$PERLDB:5,"$^P":5,$SIG:5,"%SIG":5,$BASETIME:5,"$^T":5,"${^TAINT}":5,"${^UNICODE}":5,"${^UTF8CACHE}":5,"${^UTF8LOCALE}":5,$PERL_VERSION:5,"$^V":5,"${^WIN32_SLOPPY_STAT}":5,$EXECUTABLE_NAME:5,"$^X":5,$1:5,$MATCH:5,"$&":5,"${^MATCH}":5,$PREMATCH:5,"$`":5,"${^PREMATCH}":5,$POSTMATCH:5,"$'":5,"${^POSTMATCH}":5,$LAST_PAREN_MATCH:5,"$+":5,$LAST_SUBMATCH_RESULT:5,"$^N":5,"@LAST_MATCH_END":5,"@+":5,"%LAST_PAREN_MATCH":5,"%+":5,"@LAST_MATCH_START":5,"@-":5,"%LAST_MATCH_START":5,"%-":5,$LAST_REGEXP_CODE_RESULT:5,"$^R":5,"${^RE_DEBUG_FLAGS}":5,"${^RE_TRIE_MAXBUF}":5,$ARGV:5,"@ARGV":5,ARGV:5,ARGVOUT:5,$OUTPUT_FIELD_SEPARATOR:5,$OFS:5,"$,":5,$INPUT_LINE_NUMBER:5,$NR:5,"$.":5,$INPUT_RECORD_SEPARATOR:5,$RS:5,"$/":5,$OUTPUT_RECORD_SEPARATOR:5,$ORS:5,"$\\":5,$OUTPUT_AUTOFLUSH:5,"$|":5,$ACCUMULATOR:5,"$^A":5,$FORMAT_FORMFEED:5,"$^L":5,$FORMAT_PAGE_NUMBER:5,"$%":5,$FORMAT_LINES_LEFT:5,"$-":5,$FORMAT_LINE_BREAK_CHARACTERS:5,"$:":5,$FORMAT_LINES_PER_PAGE:5,"$=":5,$FORMAT_TOP_NAME:5,"$^":5,$FORMAT_NAME:5,"$~":5,"${^CHILD_ERROR_NATIVE}":5,$EXTENDED_OS_ERROR:5,"$^E":5,$EXCEPTIONS_BEING_CAUGHT:5,"$^S":5,$WARNING:5,"$^W":5,"${^WARNING_BITS}":5,$OS_ERROR:5,$ERRNO:5,"$!":5,"%OS_ERROR":5,"%ERRNO":5,"%!":5,$CHILD_ERROR:5,"$?":5,$EVAL_ERROR:5,"$@":5,$OFMT:5,"$#":5,"$*":5,$ARRAY_BASE:5,"$[":5,$OLD_PERL_VERSION:5,"$]":5,if:[1,1],elsif:[1,1],else:[1,1],while:[1,1],unless:[1,1],for:[1,1],foreach:[1,1],abs:1,accept:1,alarm:1,atan2:1,bind:1,binmode:1,bless:1,bootstrap:1,break:1,caller:1,chdir:1,chmod:1,chomp:1,chop:1,chown:1,chr:1,chroot:1,close:1,closedir:1,connect:1,continue:[1,1],cos:1,crypt:1,dbmclose:1,dbmopen:1,default:1,defined:1,delete:1,die:1,do:1,dump:1,each:1,endgrent:1,endhostent:1,endnetent:1,endprotoent:1,endpwent:1,endservent:1,eof:1,eval:1,exec:1,exists:1,exit:1,exp:1,fcntl:1,fileno:1,flock:1,fork:1,format:1,formline:1,getc:1,getgrent:1,getgrgid:1,getgrnam:1,gethostbyaddr:1,gethostbyname:1,gethostent:1,getlogin:1,getnetbyaddr:1,getnetbyname:1,getnetent:1,getpeername:1,getpgrp:1,getppid:1,getpriority:1,getprotobyname:1,getprotobynumber:1,getprotoent:1,getpwent:1,getpwnam:1,getpwuid:1,getservbyname:1,getservbyport:1,getservent:1,getsockname:1,getsockopt:1,given:1,glob:1,gmtime:1,goto:1,grep:1,hex:1,import:1,index:1,int:1,ioctl:1,join:1,keys:1,kill:1,last:1,lc:1,lcfirst:1,length:1,link:1,listen:1,local:2,localtime:1,lock:1,log:1,lstat:1,m:null,map:1,mkdir:1,msgctl:1,msgget:1,msgrcv:1,msgsnd:1,my:2,new:1,next:1,no:1,oct:1,open:1,opendir:1,ord:1,our:2,pack:1,package:1,pipe:1,pop:1,pos:1,print:1,printf:1,prototype:1,push:1,q:null,qq:null,qr:null,quotemeta:null,qw:null,qx:null,rand:1,read:1,readdir:1,readline:1,readlink:1,readpipe:1,recv:1,redo:1,ref:1,rename:1,require:1,reset:1,return:1,reverse:1,rewinddir:1,rindex:1,rmdir:1,s:null,say:1,scalar:1,seek:1,seekdir:1,select:1,semctl:1,semget:1,semop:1,send:1,setgrent:1,sethostent:1,setnetent:1,setpgrp:1,setpriority:1,setprotoent:1,setpwent:1,setservent:1,setsockopt:1,shift:1,shmctl:1,shmget:1,shmread:1,shmwrite:1,shutdown:1,sin:1,sleep:1,socket:1,socketpair:1,sort:1,splice:1,split:1,sprintf:1,sqrt:1,srand:1,stat:1,state:1,study:1,sub:1,substr:1,symlink:1,syscall:1,sysopen:1,sysread:1,sysseek:1,system:1,syswrite:1,tell:1,telldir:1,tie:1,tied:1,time:1,times:1,tr:null,truncate:1,uc:1,ucfirst:1,umask:1,undef:1,unlink:1,unpack:1,unshift:1,untie:1,use:1,utime:1,values:1,vec:1,wait:1,waitpid:1,wantarray:1,warn:1,when:1,write:1,y:null},o="string-2",a=/[goseximacplud]/;function s(e,t,n,r,i){return t.chain=null,t.style=null,t.tail=null,t.tokenize=function(e,t){for(var o,a=!1,s=0;o=e.next();){if(o===n[s]&&!a)return void 0!==n[++s]?(t.chain=n[s],t.style=r,t.tail=i):i&&e.eatWhile(i),t.tokenize=u,r;a=!a&&"\\"==o}return r},t.tokenize(e,t)}function l(e,t,n){return t.tokenize=function(e,t){return e.string==n&&(t.tokenize=u),e.skipToEnd(),"string"},t.tokenize(e,t)}function u(u,c){if(u.eatSpace())return null;if(c.chain)return s(u,c,c.chain,c.style,c.tail);if(u.match(/^(\-?((\d[\d_]*)?\.\d+(e[+-]?\d+)?|\d+\.\d*)|0x[\da-fA-F_]+|0b[01_]+|\d[\d_]*(e[+-]?\d+)?)/))return"number";if(u.match(/^<<(?=[_a-zA-Z])/))return u.eatWhile(/\w/),l(u,c,u.current().substr(2));if(u.sol()&&u.match(/^\=item(?!\w)/))return l(u,c,"=cut");var d=u.next();if('"'==d||"'"==d){if(n(u,3)=="<<"+d){var p=u.pos;u.eatWhile(/\w/);var f=u.current().substr(1);if(f&&u.eat(d))return l(u,c,f);u.pos=p}return s(u,c,[d],"string")}if(!("q"!=d||(h=t(u,-2))&&/\w/.test(h)))if("x"==(h=t(u,0))){if("("==(h=t(u,1)))return i(u,2),s(u,c,[")"],o,a);if("["==h)return i(u,2),s(u,c,["]"],o,a);if("{"==h)return i(u,2),s(u,c,["}"],o,a);if("<"==h)return i(u,2),s(u,c,[">"],o,a);if(/[\^'"!~\/]/.test(h))return i(u,1),s(u,c,[u.eat(h)],o,a)}else if("q"==h){if("("==(h=t(u,1)))return i(u,2),s(u,c,[")"],"string");if("["==h)return i(u,2),s(u,c,["]"],"string");if("{"==h)return i(u,2),s(u,c,["}"],"string");if("<"==h)return i(u,2),s(u,c,[">"],"string");if(/[\^'"!~\/]/.test(h))return i(u,1),s(u,c,[u.eat(h)],"string")}else if("w"==h){if("("==(h=t(u,1)))return i(u,2),s(u,c,[")"],"bracket");if("["==h)return i(u,2),s(u,c,["]"],"bracket");if("{"==h)return i(u,2),s(u,c,["}"],"bracket");if("<"==h)return i(u,2),s(u,c,[">"],"bracket");if(/[\^'"!~\/]/.test(h))return i(u,1),s(u,c,[u.eat(h)],"bracket")}else if("r"==h){if("("==(h=t(u,1)))return i(u,2),s(u,c,[")"],o,a);if("["==h)return i(u,2),s(u,c,["]"],o,a);if("{"==h)return i(u,2),s(u,c,["}"],o,a);if("<"==h)return i(u,2),s(u,c,[">"],o,a);if(/[\^'"!~\/]/.test(h))return i(u,1),s(u,c,[u.eat(h)],o,a)}else if(/[\^'"!~\/(\[{<]/.test(h)){if("("==h)return i(u,1),s(u,c,[")"],"string");if("["==h)return i(u,1),s(u,c,["]"],"string");if("{"==h)return i(u,1),s(u,c,["}"],"string");if("<"==h)return i(u,1),s(u,c,[">"],"string");if(/[\^'"!~\/]/.test(h))return s(u,c,[u.eat(h)],"string")}if("m"==d&&(!(h=t(u,-2))||!/\w/.test(h))&&(h=u.eat(/[(\[{<\^'"!~\/]/))){if(/[\^'"!~\/]/.test(h))return s(u,c,[h],o,a);if("("==h)return s(u,c,[")"],o,a);if("["==h)return s(u,c,["]"],o,a);if("{"==h)return s(u,c,["}"],o,a);if("<"==h)return s(u,c,[">"],o,a)}if("s"==d&&!(h=/[\/>\]})\w]/.test(t(u,-2)))&&(h=u.eat(/[(\[{<\^'"!~\/]/)))return s(u,c,"["==h?["]","]"]:"{"==h?["}","}"]:"<"==h?[">",">"]:"("==h?[")",")"]:[h,h],o,a);if("y"==d&&!(h=/[\/>\]})\w]/.test(t(u,-2)))&&(h=u.eat(/[(\[{<\^'"!~\/]/)))return s(u,c,"["==h?["]","]"]:"{"==h?["}","}"]:"<"==h?[">",">"]:"("==h?[")",")"]:[h,h],o,a);if("t"==d&&!(h=/[\/>\]})\w]/.test(t(u,-2)))&&(h=u.eat("r"))&&(h=u.eat(/[(\[{<\^'"!~\/]/)))return s(u,c,"["==h?["]","]"]:"{"==h?["}","}"]:"<"==h?[">",">"]:"("==h?[")",")"]:[h,h],o,a);if("`"==d)return s(u,c,[d],"variable-2");if("/"==d)return/~\s*$/.test(n(u))?s(u,c,[d],o,a):"operator";if("$"==d){if(p=u.pos,u.eatWhile(/\d/)||u.eat("{")&&u.eatWhile(/\d/)&&u.eat("}"))return"variable-2";u.pos=p}if(/[$@%]/.test(d)){if(p=u.pos,u.eat("^")&&u.eat(/[A-Z]/)||!/[@$%&]/.test(t(u,-2))&&u.eat(/[=|\\\-#?@;:&`~\^!\[\]*'"$+.,\/<>()]/)){var h=u.current();if(e[h])return"variable-2"}u.pos=p}if(/[$@%&]/.test(d)&&(u.eatWhile(/[\w$]/)||u.eat("{")&&u.eatWhile(/[\w$]/)&&u.eat("}")))return h=u.current(),e[h]?"variable-2":"variable";if("#"==d&&"$"!=t(u,-2))return u.skipToEnd(),"comment";if(/[:+\-\^*$&%@=<>!?|\/~\.]/.test(d)){if(p=u.pos,u.eatWhile(/[:+\-\^*$&%@=<>!?|\/~\.]/),e[u.current()])return"operator";u.pos=p}if("_"==d&&1==u.pos){if("_END__"==r(u,6))return s(u,c,["\0"],"comment");if("_DATA__"==r(u,7))return s(u,c,["\0"],"variable-2");if("_C__"==r(u,7))return s(u,c,["\0"],"string")}if(/\w/.test(d)){if(p=u.pos,"{"==t(u,-2)&&("}"==t(u,0)||u.eatWhile(/\w/)&&"}"==t(u,0)))return"string";u.pos=p}if(/[A-Z]/.test(d)){var m=t(u,-2);if(p=u.pos,u.eatWhile(/[A-Z_]/),!/[\da-z]/.test(t(u,0)))return(h=e[u.current()])?(h[1]&&(h=h[0]),":"!=m?1==h?"keyword":2==h?"def":3==h?"atom":4==h?"operator":5==h?"variable-2":"meta":"meta"):"meta";u.pos=p}return/[a-zA-Z_]/.test(d)?(m=t(u,-2),u.eatWhile(/\w/),(h=e[u.current()])?(h[1]&&(h=h[0]),":"!=m?1==h?"keyword":2==h?"def":3==h?"atom":4==h?"operator":5==h?"variable-2":"meta":"meta"):"meta"):null}return{startState:function(){return{tokenize:u,chain:null,style:null,tail:null}},token:function(e,t){return(t.tokenize||u)(e,t)},lineComment:"#"}})),e.registerHelper("wordChars","perl",/[\w$]/),e.defineMIME("text/x-perl","perl")}(n(23326))},17134:(e,t,n)=>{!function(e){"use strict";function t(e){for(var t={},n=e.split(" "),r=0;r\w/,!1)&&(t.tokenize=n([[["->",null]],[[/[\w]+/,"variable"]]],r,i)),"variable-2";for(var o=!1;!e.eol()&&(o||!1===i||!e.match("{$",!1)&&!e.match(/^(\$[a-zA-Z_][a-zA-Z0-9_]*|\$\{)/,!1));){if(!o&&e.match(r)){t.tokenize=null,t.tokStack.pop(),t.tokStack.pop();break}o="\\"==e.next()&&!o}return"string"}(r,i,e,t)}}var i="abstract and array as break case catch class clone const continue declare default do else elseif enddeclare endfor endforeach endif endswitch endwhile enum extends final for foreach function global goto if implements interface instanceof namespace new or private protected public static switch throw trait try use var while xor die echo empty exit eval include include_once isset list require require_once return print unset __halt_compiler self static parent yield insteadof finally readonly match",o="true false null TRUE FALSE NULL __CLASS__ __DIR__ __FILE__ __LINE__ __METHOD__ __FUNCTION__ __NAMESPACE__ __TRAIT__",a="func_num_args func_get_arg func_get_args strlen strcmp strncmp strcasecmp strncasecmp each error_reporting define defined trigger_error user_error set_error_handler restore_error_handler get_declared_classes get_loaded_extensions extension_loaded get_extension_funcs debug_backtrace constant bin2hex hex2bin sleep usleep time mktime gmmktime strftime gmstrftime strtotime date gmdate getdate localtime checkdate flush wordwrap htmlspecialchars htmlentities html_entity_decode md5 md5_file crc32 getimagesize image_type_to_mime_type phpinfo phpversion phpcredits strnatcmp strnatcasecmp substr_count strspn strcspn strtok strtoupper strtolower strpos strrpos strrev hebrev hebrevc nl2br basename dirname pathinfo stripslashes stripcslashes strstr stristr strrchr str_shuffle str_word_count strcoll substr substr_replace quotemeta ucfirst ucwords strtr addslashes addcslashes rtrim str_replace str_repeat count_chars chunk_split trim ltrim strip_tags similar_text explode implode setlocale localeconv parse_str str_pad chop strchr sprintf printf vprintf vsprintf sscanf fscanf parse_url urlencode urldecode rawurlencode rawurldecode readlink linkinfo link unlink exec system escapeshellcmd escapeshellarg passthru shell_exec proc_open proc_close rand srand getrandmax mt_rand mt_srand mt_getrandmax base64_decode base64_encode abs ceil floor round is_finite is_nan is_infinite bindec hexdec octdec decbin decoct dechex base_convert number_format fmod ip2long long2ip getenv putenv getopt microtime gettimeofday getrusage uniqid quoted_printable_decode set_time_limit get_cfg_var magic_quotes_runtime set_magic_quotes_runtime get_magic_quotes_gpc get_magic_quotes_runtime import_request_variables error_log serialize unserialize memory_get_usage memory_get_peak_usage var_dump var_export debug_zval_dump print_r highlight_file show_source highlight_string ini_get ini_get_all ini_set ini_alter ini_restore get_include_path set_include_path restore_include_path setcookie header headers_sent connection_aborted connection_status ignore_user_abort parse_ini_file is_uploaded_file move_uploaded_file intval floatval doubleval strval gettype settype is_null is_resource is_bool is_long is_float is_int is_integer is_double is_real is_numeric is_string is_array is_object is_scalar ereg ereg_replace eregi eregi_replace split spliti join sql_regcase dl pclose popen readfile rewind rmdir umask fclose feof fgetc fgets fgetss fread fopen fpassthru ftruncate fstat fseek ftell fflush fwrite fputs mkdir rename copy tempnam tmpfile file file_get_contents file_put_contents stream_select stream_context_create stream_context_set_params stream_context_set_option stream_context_get_options stream_filter_prepend stream_filter_append fgetcsv flock get_meta_tags stream_set_write_buffer set_file_buffer set_socket_blocking stream_set_blocking socket_set_blocking stream_get_meta_data stream_register_wrapper stream_wrapper_register stream_set_timeout socket_set_timeout socket_get_status realpath fnmatch fsockopen pfsockopen pack unpack get_browser crypt opendir closedir chdir getcwd rewinddir readdir dir glob fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype file_exists is_writable is_writeable is_readable is_executable is_file is_dir is_link stat lstat chown touch clearstatcache mail ob_start ob_flush ob_clean ob_end_flush ob_end_clean ob_get_flush ob_get_clean ob_get_length ob_get_level ob_get_status ob_get_contents ob_implicit_flush ob_list_handlers ksort krsort natsort natcasesort asort arsort sort rsort usort uasort uksort shuffle array_walk count end prev next reset current key min max in_array array_search extract compact array_fill range array_multisort array_push array_pop array_shift array_unshift array_splice array_slice array_merge array_merge_recursive array_keys array_values array_count_values array_reverse array_reduce array_pad array_flip array_change_key_case array_rand array_unique array_intersect array_intersect_assoc array_diff array_diff_assoc array_sum array_filter array_map array_chunk array_key_exists array_intersect_key array_combine array_column pos sizeof key_exists assert assert_options version_compare ftok str_rot13 aggregate session_name session_module_name session_save_path session_id session_regenerate_id session_decode session_register session_unregister session_is_registered session_encode session_start session_destroy session_unset session_set_save_handler session_cache_limiter session_cache_expire session_set_cookie_params session_get_cookie_params session_write_close preg_match preg_match_all preg_replace preg_replace_callback preg_split preg_quote preg_grep overload ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_lower ctype_graph ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit virtual apache_request_headers apache_note apache_lookup_uri apache_child_terminate apache_setenv apache_response_headers apache_get_version getallheaders mysql_connect mysql_pconnect mysql_close mysql_select_db mysql_create_db mysql_drop_db mysql_query mysql_unbuffered_query mysql_db_query mysql_list_dbs mysql_list_tables mysql_list_fields mysql_list_processes mysql_error mysql_errno mysql_affected_rows mysql_insert_id mysql_result mysql_num_rows mysql_num_fields mysql_fetch_row mysql_fetch_array mysql_fetch_assoc mysql_fetch_object mysql_data_seek mysql_fetch_lengths mysql_fetch_field mysql_field_seek mysql_free_result mysql_field_name mysql_field_table mysql_field_len mysql_field_type mysql_field_flags mysql_escape_string mysql_real_escape_string mysql_stat mysql_thread_id mysql_client_encoding mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql mysql_fieldname mysql_fieldtable mysql_fieldlen mysql_fieldtype mysql_fieldflags mysql_selectdb mysql_createdb mysql_dropdb mysql_freeresult mysql_numfields mysql_numrows mysql_listdbs mysql_listtables mysql_listfields mysql_db_name mysql_dbname mysql_tablename mysql_table_name pg_connect pg_pconnect pg_close pg_connection_status pg_connection_busy pg_connection_reset pg_host pg_dbname pg_port pg_tty pg_options pg_ping pg_query pg_send_query pg_cancel_query pg_fetch_result pg_fetch_row pg_fetch_assoc pg_fetch_array pg_fetch_object pg_fetch_all pg_affected_rows pg_get_result pg_result_seek pg_result_status pg_free_result pg_last_oid pg_num_rows pg_num_fields pg_field_name pg_field_num pg_field_size pg_field_type pg_field_prtlen pg_field_is_null pg_get_notify pg_get_pid pg_result_error pg_last_error pg_last_notice pg_put_line pg_end_copy pg_copy_to pg_copy_from pg_trace pg_untrace pg_lo_create pg_lo_unlink pg_lo_open pg_lo_close pg_lo_read pg_lo_write pg_lo_read_all pg_lo_import pg_lo_export pg_lo_seek pg_lo_tell pg_escape_string pg_escape_bytea pg_unescape_bytea pg_client_encoding pg_set_client_encoding pg_meta_data pg_convert pg_insert pg_update pg_delete pg_select pg_exec pg_getlastoid pg_cmdtuples pg_errormessage pg_numrows pg_numfields pg_fieldname pg_fieldsize pg_fieldtype pg_fieldnum pg_fieldprtlen pg_fieldisnull pg_freeresult pg_result pg_loreadall pg_locreate pg_lounlink pg_loopen pg_loclose pg_loread pg_lowrite pg_loimport pg_loexport http_response_code get_declared_traits getimagesizefromstring socket_import_stream stream_set_chunk_size trait_exists header_register_callback class_uses session_status session_register_shutdown echo print global static exit array empty eval isset unset die include require include_once require_once json_decode json_encode json_last_error json_last_error_msg curl_close curl_copy_handle curl_errno curl_error curl_escape curl_exec curl_file_create curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_multi_setopt curl_multi_strerror curl_pause curl_reset curl_setopt_array curl_setopt curl_share_close curl_share_init curl_share_setopt curl_strerror curl_unescape curl_version mysqli_affected_rows mysqli_autocommit mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect_errno mysqli_connect_error mysqli_connect mysqli_data_seek mysqli_debug mysqli_dump_debug_info mysqli_errno mysqli_error_list mysqli_error mysqli_fetch_all mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field_direct mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_lengths mysqli_fetch_object mysqli_fetch_row mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_charset mysqli_get_client_info mysqli_get_client_stats mysqli_get_client_version mysqli_get_connection_stats mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_info mysqli_init mysqli_insert_id mysqli_kill mysqli_more_results mysqli_multi_query mysqli_next_result mysqli_num_fields mysqli_num_rows mysqli_options mysqli_ping mysqli_prepare mysqli_query mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reap_async_query mysqli_refresh mysqli_rollback mysqli_select_db mysqli_set_charset mysqli_set_local_infile_default mysqli_set_local_infile_handler mysqli_sqlstate mysqli_ssl_set mysqli_stat mysqli_stmt_init mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count";e.registerHelper("hintWords","php",[i,o,a].join(" ").split(" ")),e.registerHelper("wordChars","php",/[\w$]/);var s={name:"clike",helperType:"php",keywords:t(i),blockKeywords:t("catch do else elseif for foreach if switch try while finally"),defKeywords:t("class enum function interface namespace trait"),atoms:t(o),builtin:t(a),multiLineStrings:!0,hooks:{$:function(e){return e.eatWhile(/[\w\$_]/),"variable-2"},"<":function(e,t){var n;if(n=e.match(/^<<\s*/)){var i=e.eat(/['"]/);e.eatWhile(/[\w\.]/);var o=e.current().slice(n[0].length+(i?2:1));if(i&&e.eat(i),o)return(t.tokStack||(t.tokStack=[])).push(o,0),t.tokenize=r(o,"'"!=i),"string"}return!1},"#":function(e){for(;!e.eol()&&!e.match("?>",!1);)e.next();return"comment"},"/":function(e){if(e.eat("/")){for(;!e.eol()&&!e.match("?>",!1);)e.next();return"comment"}return!1},'"':function(e,t){return(t.tokStack||(t.tokStack=[])).push('"',0),t.tokenize=r('"'),"string"},"{":function(e,t){return t.tokStack&&t.tokStack.length&&t.tokStack[t.tokStack.length-1]++,!1},"}":function(e,t){return t.tokStack&&t.tokStack.length>0&&! --t.tokStack[t.tokStack.length-1]&&(t.tokenize=r(t.tokStack[t.tokStack.length-2])),!1}}};e.defineMode("php",(function(t,n){var r=e.getMode(t,n&&n.htmlMode||"text/html"),i=e.getMode(t,s);return{startState:function(){var t=e.startState(r),o=n.startOpen?e.startState(i):null;return{html:t,php:o,curMode:n.startOpen?i:r,curState:n.startOpen?o:t,pending:null}},copyState:function(t){var n,o=t.html,a=e.copyState(r,o),s=t.php,l=s&&e.copyState(i,s);return n=t.curMode==r?a:l,{html:a,php:l,curMode:t.curMode,curState:n,pending:t.pending}},token:function(t,n){var o=n.curMode==i;if(t.sol()&&n.pending&&'"'!=n.pending&&"'"!=n.pending&&(n.pending=null),o)return o&&null==n.php.tokenize&&t.match("?>")?(n.curMode=r,n.curState=n.html,n.php.context.prev||(n.php=null),"meta"):i.token(t,n.curState);if(t.match(/^<\?\w*/))return n.curMode=i,n.php||(n.php=e.startState(i,r.indent(n.html,"",""))),n.curState=n.php,"meta";if('"'==n.pending||"'"==n.pending){for(;!t.eol()&&t.next()!=n.pending;);var a="string"}else n.pending&&t.pos/.test(l)?n.pending=s[0]:n.pending={end:t.pos,style:a},t.backUp(l.length-u)),a},indent:function(e,t,n){return e.curMode!=i&&/^\s*<\//.test(t)||e.curMode==i&&/^\?>/.test(t)?r.indent(e.html,t,n):e.curMode.indent(e.curState,t,n)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",innerMode:function(e){return{state:e.curState,mode:e.curMode}}}}),"htmlmixed","clike"),e.defineMIME("application/x-httpd-php","php"),e.defineMIME("application/x-httpd-php-open",{name:"php",startOpen:!0}),e.defineMIME("text/x-php",s)}(n(23326),n(38425),n(80011))},20997:(e,t,n)=>{!function(e){"use strict";e.defineMode("pig",(function(e,t){var n=t.keywords,r=t.builtins,i=t.types,o=t.multiLineStrings,a=/[*+\-%<>=&?:\/!|]/;function s(e,t,n){return t.tokenize=n,n(e,t)}function l(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=u;break}r="*"==n}return"comment"}function u(e,t){var c,d=e.next();return'"'==d||"'"==d?s(e,t,(c=d,function(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if(n==c&&!r){i=!0;break}r=!r&&"\\"==n}return(i||!r&&!o)&&(t.tokenize=u),"error"})):/[\[\]{}\(\),;\.]/.test(d)?null:/\d/.test(d)?(e.eatWhile(/[\w\.]/),"number"):"/"==d?e.eat("*")?s(e,t,l):(e.eatWhile(a),"operator"):"-"==d?e.eat("-")?(e.skipToEnd(),"comment"):(e.eatWhile(a),"operator"):a.test(d)?(e.eatWhile(a),"operator"):(e.eatWhile(/[\w\$_]/),n&&n.propertyIsEnumerable(e.current().toUpperCase())&&!e.eat(")")&&!e.eat(".")?"keyword":r&&r.propertyIsEnumerable(e.current().toUpperCase())?"variable-2":i&&i.propertyIsEnumerable(e.current().toUpperCase())?"variable-3":"variable")}return{startState:function(){return{tokenize:u,startOfLine:!0}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)}}})),function(){function t(e){for(var t={},n=e.split(" "),r=0;r{!function(e){"use strict";var t;(t=n(23326)).defineMode("powershell",(function(){function e(e,t){for(var n=void 0!==(t=t||{}).prefix?t.prefix:"^",r=void 0!==t.suffix?t.suffix:"\\b",i=0;i/],{suffix:""}),a=e([/Add-(Computer|Content|History|Member|PSSnapin|Type)/,/Checkpoint-Computer/,/Clear-(Content|EventLog|History|Host|Item(Property)?|Variable)/,/Compare-Object/,/Complete-Transaction/,/Connect-PSSession/,/ConvertFrom-(Csv|Json|SecureString|StringData)/,/Convert-Path/,/ConvertTo-(Csv|Html|Json|SecureString|Xml)/,/Copy-Item(Property)?/,/Debug-Process/,/Disable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/,/Disconnect-PSSession/,/Enable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/,/(Enter|Exit)-PSSession/,/Export-(Alias|Clixml|Console|Counter|Csv|FormatData|ModuleMember|PSSession)/,/ForEach-Object/,/Format-(Custom|List|Table|Wide)/,new RegExp("Get-(Acl|Alias|AuthenticodeSignature|ChildItem|Command|ComputerRestorePoint|Content|ControlPanelItem|Counter|Credential|Culture|Date|Event|EventLog|EventSubscriber|ExecutionPolicy|FormatData|Help|History|Host|HotFix|Item|ItemProperty|Job|Location|Member|Module|PfxCertificate|Process|PSBreakpoint|PSCallStack|PSDrive|PSProvider|PSSession|PSSessionConfiguration|PSSnapin|Random|Service|TraceSource|Transaction|TypeData|UICulture|Unique|Variable|Verb|WinEvent|WmiObject)"),/Group-Object/,/Import-(Alias|Clixml|Counter|Csv|LocalizedData|Module|PSSession)/,/ImportSystemModules/,/Invoke-(Command|Expression|History|Item|RestMethod|WebRequest|WmiMethod)/,/Join-Path/,/Limit-EventLog/,/Measure-(Command|Object)/,/Move-Item(Property)?/,new RegExp("New-(Alias|Event|EventLog|Item(Property)?|Module|ModuleManifest|Object|PSDrive|PSSession|PSSessionConfigurationFile|PSSessionOption|PSTransportOption|Service|TimeSpan|Variable|WebServiceProxy|WinEvent)"),/Out-(Default|File|GridView|Host|Null|Printer|String)/,/Pause/,/(Pop|Push)-Location/,/Read-Host/,/Receive-(Job|PSSession)/,/Register-(EngineEvent|ObjectEvent|PSSessionConfiguration|WmiEvent)/,/Remove-(Computer|Event|EventLog|Item(Property)?|Job|Module|PSBreakpoint|PSDrive|PSSession|PSSnapin|TypeData|Variable|WmiObject)/,/Rename-(Computer|Item(Property)?)/,/Reset-ComputerMachinePassword/,/Resolve-Path/,/Restart-(Computer|Service)/,/Restore-Computer/,/Resume-(Job|Service)/,/Save-Help/,/Select-(Object|String|Xml)/,/Send-MailMessage/,new RegExp("Set-(Acl|Alias|AuthenticodeSignature|Content|Date|ExecutionPolicy|Item(Property)?|Location|PSBreakpoint|PSDebug|PSSessionConfiguration|Service|StrictMode|TraceSource|Variable|WmiInstance)"),/Show-(Command|ControlPanelItem|EventLog)/,/Sort-Object/,/Split-Path/,/Start-(Job|Process|Service|Sleep|Transaction|Transcript)/,/Stop-(Computer|Job|Process|Service|Transcript)/,/Suspend-(Job|Service)/,/TabExpansion2/,/Tee-Object/,/Test-(ComputerSecureChannel|Connection|ModuleManifest|Path|PSSessionConfigurationFile)/,/Trace-Command/,/Unblock-File/,/Undo-Transaction/,/Unregister-(Event|PSSessionConfiguration)/,/Update-(FormatData|Help|List|TypeData)/,/Use-Transaction/,/Wait-(Event|Job|Process)/,/Where-Object/,/Write-(Debug|Error|EventLog|Host|Output|Progress|Verbose|Warning)/,/cd|help|mkdir|more|oss|prompt/,/ac|asnp|cat|cd|chdir|clc|clear|clhy|cli|clp|cls|clv|cnsn|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|dnsn|ebp/,/echo|epal|epcsv|epsn|erase|etsn|exsn|fc|fl|foreach|ft|fw|gal|gbp|gc|gci|gcm|gcs|gdr|ghy|gi|gjb|gl|gm|gmo|gp|gps/,/group|gsn|gsnp|gsv|gu|gv|gwmi|h|history|icm|iex|ihy|ii|ipal|ipcsv|ipmo|ipsn|irm|ise|iwmi|iwr|kill|lp|ls|man|md/,/measure|mi|mount|move|mp|mv|nal|ndr|ni|nmo|npssc|nsn|nv|ogv|oh|popd|ps|pushd|pwd|r|rbp|rcjb|rcsn|rd|rdr|ren|ri/,/rjb|rm|rmdir|rmo|rni|rnp|rp|rsn|rsnp|rujb|rv|rvpa|rwmi|sajb|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls/,/sort|sp|spjb|spps|spsv|start|sujb|sv|swmi|tee|trcm|type|where|wjb|write/],{prefix:"",suffix:""}),s=e([/[$?^_]|Args|ConfirmPreference|ConsoleFileName|DebugPreference|Error|ErrorActionPreference|ErrorView|ExecutionContext/,/FormatEnumerationLimit|Home|Host|Input|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount/,/MaximumHistoryCount|MaximumVariableCount|MyInvocation|NestedPromptLevel|OutputEncoding|Pid|Profile|ProgressPreference/,/PSBoundParameters|PSCommandPath|PSCulture|PSDefaultParameterValues|PSEmailServer|PSHome|PSScriptRoot|PSSessionApplicationName/,/PSSessionConfigurationName|PSSessionOption|PSUICulture|PSVersionTable|Pwd|ShellId|StackTrace|VerbosePreference/,/WarningPreference|WhatIfPreference/,/Event|EventArgs|EventSubscriber|Sender/,/Matches|Ofs|ForEach|LastExitCode|PSCmdlet|PSItem|PSSenderInfo|This/,/true|false|null/],{prefix:"\\$",suffix:""}),l={keyword:r,number:/^((0x[\da-f]+)|((\d+\.\d+|\d\.|\.\d+|\d+)(e[\+\-]?\d+)?))[ld]?([kmgtp]b)?/i,operator:o,builtin:e([/[A-Z]:|%|\?/i,a,s],{suffix:t}),punctuation:/[\[\]{},;`\\\.]|@[({]/,identifier:/^[A-Za-z\_][A-Za-z\-\_\d]*\b/};function u(e,t){var r=t.returnStack[t.returnStack.length-1];if(r&&r.shouldReturnFrom(t))return t.tokenize=r.tokenize,t.returnStack.pop(),t.tokenize(e,t);if(e.eatSpace())return null;if(e.eat("("))return t.bracketNesting+=1,"punctuation";if(e.eat(")"))return t.bracketNesting-=1,"punctuation";for(var i in l)if(e.match(l[i]))return i;var o=e.next();if("'"===o)return function(e,t){for(var n;null!=(n=e.peek());)if(e.next(),"'"===n&&!e.eat("'"))return t.tokenize=u,"string";return"error"}(e,t);if("$"===o)return g(e,t);if('"'===o)return c(e,t);if("<"===o&&e.eat("#"))return t.tokenize=m,m(e,t);if("#"===o)return e.skipToEnd(),"comment";if("@"===o){var a=e.eat(/["']/);if(a&&e.eol())return t.tokenize=y,t.startQuote=a[0],y(e,t);if(e.eol())return"error";if(e.peek().match(/[({]/))return"punctuation";if(e.peek().match(n))return g(e,t)}return"error"}function c(e,t){for(var n;null!=(n=e.peek());){if("$"===n)return t.tokenize=d,"string";if(e.next(),"`"!==n){if('"'===n&&!e.eat('"'))return t.tokenize=u,"string"}else e.next()}return"error"}function d(e,t){return h(e,t,c)}function p(e,t){return t.tokenize=y,t.startQuote='"',y(e,t)}function f(e,t){return h(e,t,p)}function h(e,t,n){if(e.match("$(")){var r=t.bracketNesting;return t.returnStack.push({shouldReturnFrom:function(e){return e.bracketNesting===r},tokenize:n}),t.tokenize=u,t.bracketNesting+=1,"punctuation"}return e.next(),t.returnStack.push({shouldReturnFrom:function(){return!0},tokenize:n}),t.tokenize=g,t.tokenize(e,t)}function m(e,t){for(var n,r=!1;null!=(n=e.next());){if(r&&">"==n){t.tokenize=u;break}r="#"===n}return"comment"}function g(e,t){var r=e.peek();return e.eat("{")?(t.tokenize=v,v(e,t)):null!=r&&r.match(n)?(e.eatWhile(n),t.tokenize=u,"variable-2"):(t.tokenize=u,"error")}function v(e,t){for(var n;null!=(n=e.next());)if("}"===n){t.tokenize=u;break}return"variable-2"}function y(e,t){var n=t.startQuote;if(e.sol()&&e.match(new RegExp(n+"@")))t.tokenize=u;else if('"'===n)for(;!e.eol();){var r=e.peek();if("$"===r)return t.tokenize=f,"string";e.next(),"`"===r&&e.next()}else e.skipToEnd();return"string"}return{startState:function(){return{returnStack:[],bracketNesting:0,tokenize:u}},token:function(e,t){return t.tokenize(e,t)},blockCommentStart:"<#",blockCommentEnd:"#>",lineComment:"#",fold:"brace"}})),t.defineMIME("application/x-powershell","powershell")}()},16557:(e,t,n)=>{!function(e){"use strict";e.defineMode("properties",(function(){return{token:function(e,t){var n=e.sol()||t.afterSection,r=e.eol();if(t.afterSection=!1,n&&(t.nextMultiline?(t.inMultiline=!0,t.nextMultiline=!1):t.position="def"),r&&!t.nextMultiline&&(t.inMultiline=!1,t.position="def"),n)for(;e.eatSpace(););var i=e.next();return!n||"#"!==i&&"!"!==i&&";"!==i?n&&"["===i?(t.afterSection=!0,e.skipTo("]"),e.eat("]"),"header"):"="===i||":"===i?(t.position="quote",null):("\\"===i&&"quote"===t.position&&e.eol()&&(t.nextMultiline=!0),t.position):(t.position="comment",e.skipToEnd(),"comment")},startState:function(){return{position:"def",nextMultiline:!1,inMultiline:!1,afterSection:!1}}}})),e.defineMIME("text/x-properties","properties"),e.defineMIME("text/x-ini","properties")}(n(23326))},38487:(e,t,n)=>{!function(e){"use strict";var t=["package","message","import","syntax","required","optional","repeated","reserved","default","extensions","packed","bool","bytes","double","enum","float","string","int32","int64","uint32","uint64","sint32","sint64","fixed32","fixed64","sfixed32","sfixed64","option","service","rpc","returns"],n=new RegExp("^(("+t.join(")|(")+"))\\b","i");e.registerHelper("hintWords","protobuf",t);var r=new RegExp("^[_A-Za-z¡-￿][_A-Za-z0-9¡-￿]*");function i(e){if(e.eatSpace())return null;if(e.match("//"))return e.skipToEnd(),"comment";if(e.match(/^[0-9\.+-]/,!1)){if(e.match(/^[+-]?0x[0-9a-fA-F]+/))return"number";if(e.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?/))return"number";if(e.match(/^[+-]?\d+([EeDd][+-]?\d+)?/))return"number"}return e.match(/^"([^"]|(""))*"/)||e.match(/^'([^']|(''))*'/)?"string":e.match(n)?"keyword":e.match(r)?"variable":(e.next(),null)}e.defineMode("protobuf",(function(){return{token:i,fold:"brace"}})),e.defineMIME("text/x-protobuf","protobuf")}(n(23326))},12904:(e,t,n)=>{!function(e){"use strict";e.defineMode("pug",(function(t){var n="keyword",r="meta",i="builtin",o="qualifier",a={"{":"}","(":")","[":"]"},s=e.getMode(t,"javascript");function l(){this.javaScriptLine=!1,this.javaScriptLineExcludesColon=!1,this.javaScriptArguments=!1,this.javaScriptArgumentsDepth=0,this.isInterpolating=!1,this.interpolationNesting=0,this.jsState=e.startState(s),this.restOfLine="",this.isIncludeFiltered=!1,this.isEach=!1,this.lastTag="",this.scriptType="",this.isAttrs=!1,this.attrsNest=[],this.inAttributeName=!0,this.attributeIsType=!1,this.attrValue="",this.indentOf=1/0,this.indentToken="",this.innerMode=null,this.innerState=null,this.innerModeForLine=!1}function u(e,t){if(e.match("#{"))return t.isInterpolating=!0,t.interpolationNesting=0,"punctuation"}function c(n,r){var i;if(n.match(/^:([\w\-]+)/))return t&&t.innerModes&&(i=t.innerModes(n.current().substring(1))),i||(i=n.current().substring(1)),"string"==typeof i&&(i=e.getMode(t,i)),p(n,r,i),"atom"}function d(t,n){if(n.isAttrs){if(a[t.peek()]&&n.attrsNest.push(a[t.peek()]),n.attrsNest[n.attrsNest.length-1]===t.peek())n.attrsNest.pop();else if(t.eat(")"))return n.isAttrs=!1,"punctuation";if(n.inAttributeName&&t.match(/^[^=,\)!]+/))return"="!==t.peek()&&"!"!==t.peek()||(n.inAttributeName=!1,n.jsState=e.startState(s),"script"===n.lastTag&&"type"===t.current().trim().toLowerCase()?n.attributeIsType=!0:n.attributeIsType=!1),"attribute";var r=s.token(t,n.jsState);if(n.attributeIsType&&"string"===r&&(n.scriptType=t.current().toString()),0===n.attrsNest.length&&("string"===r||"variable"===r||"keyword"===r))try{return Function("","var x "+n.attrValue.replace(/,\s*$/,"").replace(/^!/,"")),n.inAttributeName=!0,n.attrValue="",t.backUp(t.current().length),d(t,n)}catch(e){}return n.attrValue+=t.current(),r||!0}}function p(n,r,i){i=e.mimeModes[i]||i,i=t.innerModes&&t.innerModes(i)||i,i=e.mimeModes[i]||i,i=e.getMode(t,i),r.indentOf=n.indentation(),i&&"null"!==i.name?r.innerMode=i:r.indentToken="string"}function f(t,n,r){if(t.indentation()>n.indentOf||n.innerModeForLine&&!t.sol()||r)return n.innerMode?(n.innerState||(n.innerState=n.innerMode.startState?e.startState(n.innerMode,t.indentation()):{}),t.hideFirstChars(n.indentOf+2,(function(){return n.innerMode.token(t,n.innerState)||!0}))):(t.skipToEnd(),n.indentToken);t.sol()&&(n.indentOf=1/0,n.indentToken=null,n.innerMode=null,n.innerState=null)}return l.prototype.copy=function(){var t=new l;return t.javaScriptLine=this.javaScriptLine,t.javaScriptLineExcludesColon=this.javaScriptLineExcludesColon,t.javaScriptArguments=this.javaScriptArguments,t.javaScriptArgumentsDepth=this.javaScriptArgumentsDepth,t.isInterpolating=this.isInterpolating,t.interpolationNesting=this.interpolationNesting,t.jsState=e.copyState(s,this.jsState),t.innerMode=this.innerMode,this.innerMode&&this.innerState&&(t.innerState=e.copyState(this.innerMode,this.innerState)),t.restOfLine=this.restOfLine,t.isIncludeFiltered=this.isIncludeFiltered,t.isEach=this.isEach,t.lastTag=this.lastTag,t.scriptType=this.scriptType,t.isAttrs=this.isAttrs,t.attrsNest=this.attrsNest.slice(),t.inAttributeName=this.inAttributeName,t.attributeIsType=this.attributeIsType,t.attrValue=this.attrValue,t.indentOf=this.indentOf,t.indentToken=this.indentToken,t.innerModeForLine=this.innerModeForLine,t},{startState:function(){return new l},copyState:function(e){return e.copy()},token:function(e,t){var a=f(e,t)||function(e,t){if(e.sol()&&(t.restOfLine=""),t.restOfLine){e.skipToEnd();var n=t.restOfLine;return t.restOfLine="",n}}(e,t)||function(e,t){if(t.isInterpolating){if("}"===e.peek()){if(t.interpolationNesting--,t.interpolationNesting<0)return e.next(),t.isInterpolating=!1,"punctuation"}else"{"===e.peek()&&t.interpolationNesting++;return s.token(e,t.jsState)||!0}}(e,t)||function(e,t){if(t.isIncludeFiltered){var n=c(e,t);return t.isIncludeFiltered=!1,t.restOfLine="string",n}}(e,t)||function(e,t){if(t.isEach){if(e.match(/^ in\b/))return t.javaScriptLine=!0,t.isEach=!1,n;if(e.sol()||e.eol())t.isEach=!1;else if(e.next()){for(;!e.match(/^ in\b/,!1)&&e.next(););return"variable"}}}(e,t)||d(e,t)||function(e,t){if(e.sol()&&(t.javaScriptLine=!1,t.javaScriptLineExcludesColon=!1),t.javaScriptLine){if(t.javaScriptLineExcludesColon&&":"===e.peek())return t.javaScriptLine=!1,void(t.javaScriptLineExcludesColon=!1);var n=s.token(e,t.jsState);return e.eol()&&(t.javaScriptLine=!1),n||!0}}(e,t)||function(e,t){if(t.javaScriptArguments)return 0===t.javaScriptArgumentsDepth&&"("!==e.peek()?void(t.javaScriptArguments=!1):("("===e.peek()?t.javaScriptArgumentsDepth++:")"===e.peek()&&t.javaScriptArgumentsDepth--,0===t.javaScriptArgumentsDepth?void(t.javaScriptArguments=!1):s.token(e,t.jsState)||!0)}(e,t)||function(e,t){if(t.mixinCallAfter)return t.mixinCallAfter=!1,e.match(/^\( *[-\w]+ *=/,!1)||(t.javaScriptArguments=!0,t.javaScriptArgumentsDepth=0),!0}(e,t)||function(e){if(e.match(/^yield\b/))return"keyword"}(e)||function(e){if(e.match(/^(?:doctype) *([^\n]+)?/))return r}(e)||u(e,t)||function(e,t){if(e.match(/^case\b/))return t.javaScriptLine=!0,n}(e,t)||function(e,t){if(e.match(/^when\b/))return t.javaScriptLine=!0,t.javaScriptLineExcludesColon=!0,n}(e,t)||function(e){if(e.match(/^default\b/))return n}(e)||function(e,t){if(e.match(/^extends?\b/))return t.restOfLine="string",n}(e,t)||function(e,t){if(e.match(/^append\b/))return t.restOfLine="variable",n}(e,t)||function(e,t){if(e.match(/^prepend\b/))return t.restOfLine="variable",n}(e,t)||function(e,t){if(e.match(/^block\b *(?:(prepend|append)\b)?/))return t.restOfLine="variable",n}(e,t)||function(e,t){if(e.match(/^include\b/))return t.restOfLine="string",n}(e,t)||function(e,t){if(e.match(/^include:([a-zA-Z0-9\-]+)/,!1)&&e.match("include"))return t.isIncludeFiltered=!0,n}(e,t)||function(e,t){if(e.match(/^mixin\b/))return t.javaScriptLine=!0,n}(e,t)||function(e,t){return e.match(/^\+([-\w]+)/)?(e.match(/^\( *[-\w]+ *=/,!1)||(t.javaScriptArguments=!0,t.javaScriptArgumentsDepth=0),"variable"):e.match("+#{",!1)?(e.next(),t.mixinCallAfter=!0,u(e,t)):void 0}(e,t)||function(e,t){if(e.match(/^(if|unless|else if|else)\b/))return t.javaScriptLine=!0,n}(e,t)||function(e,t){if(e.match(/^(- *)?(each|for)\b/))return t.isEach=!0,n}(e,t)||function(e,t){if(e.match(/^while\b/))return t.javaScriptLine=!0,n}(e,t)||function(e,t){var n;if(n=e.match(/^(\w(?:[-:\w]*\w)?)\/?/))return t.lastTag=n[1].toLowerCase(),"script"===t.lastTag&&(t.scriptType="application/javascript"),"tag"}(e,t)||c(e,t)||function(e,t){if(e.match(/^(!?=|-)/))return t.javaScriptLine=!0,"punctuation"}(e,t)||function(e){if(e.match(/^#([\w-]+)/))return i}(e)||function(e){if(e.match(/^\.([\w-]+)/))return o}(e)||function(e,t){if("("==e.peek())return e.next(),t.isAttrs=!0,t.attrsNest=[],t.inAttributeName=!0,t.attrValue="",t.attributeIsType=!1,"punctuation"}(e,t)||function(e,t){if(e.match(/^&attributes\b/))return t.javaScriptArguments=!0,t.javaScriptArgumentsDepth=0,"keyword"}(e,t)||function(e){if(e.sol()&&e.eatSpace())return"indent"}(e)||function(e,t){return e.match(/^(?:\| ?| )([^\n]+)/)?"string":e.match(/^(<[^\n]*)/,!1)?(p(e,t,"htmlmixed"),t.innerModeForLine=!0,f(e,t,!0)):void 0}(e,t)||function(e,t){if(e.match(/^ *\/\/(-)?([^\n]*)/))return t.indentOf=e.indentation(),t.indentToken="comment","comment"}(e,t)||function(e){if(e.match(/^: */))return"colon"}(e)||function(e,t){if(e.eat(".")){var n=null;return"script"===t.lastTag&&-1!=t.scriptType.toLowerCase().indexOf("javascript")?n=t.scriptType.toLowerCase().replace(/"|'/g,""):"style"===t.lastTag&&(n="css"),p(e,t,n),"dot"}}(e,t)||function(e){return e.next(),null}(e);return!0===a?null:a}}}),"javascript","css","htmlmixed"),e.defineMIME("text/x-pug","pug"),e.defineMIME("text/x-jade","pug")}(n(23326),n(49055),n(98627),n(38425))},47912:(e,t,n)=>{!function(e){"use strict";e.defineMode("puppet",(function(){var e={},t=/({)?([a-z][a-z0-9_]*)?((::[a-z][a-z0-9_]*)*::)?[a-zA-Z0-9_]+(})?/;function n(t,n){for(var r=n.split(" "),i=0;i.*/,!1),s=n.match(/(\s+)?[\w:_]+(\s+)?{/,!1),l=n.match(/(\s+)?[@]{1,2}[\w:_]+(\s+)?{/,!1),u=n.next();if("$"===u)return n.match(t)?i.continueString?"variable-2":"variable":"error";if(i.continueString)return n.backUp(1),r(n,i);if(i.inDefinition){if(n.match(/(\s+)?[\w:_]+(\s+)?/))return"def";n.match(/\s+{/),i.inDefinition=!1}return i.inInclude?(n.match(/(\s+)?\S+(\s+)?/),i.inInclude=!1,"def"):n.match(/(\s+)?\w+\(/)?(n.backUp(1),"def"):a?(n.match(/(\s+)?\w+/),"tag"):o&&e.hasOwnProperty(o)?(n.backUp(1),n.match(/[\w]+/),n.match(/\s+\S+\s+{/,!1)&&(i.inDefinition=!0),"include"==o&&(i.inInclude=!0),e[o]):/(^|\s+)[A-Z][\w:_]+/.test(o)?(n.backUp(1),n.match(/(^|\s+)[A-Z][\w:_]+/),"def"):s?(n.match(/(\s+)?[\w:_]+/),"def"):l?(n.match(/(\s+)?[@]{1,2}/),"special"):"#"==u?(n.skipToEnd(),"comment"):"'"==u||'"'==u?(i.pending=u,r(n,i)):"{"==u||"}"==u?"bracket":"/"==u?(n.match(/^[^\/]*\//),"variable-3"):u.match(/[0-9]/)?(n.eatWhile(/[0-9]+/),"number"):"="==u?(">"==n.peek()&&n.next(),"operator"):(n.eatWhile(/[\w-]/),null)}(n,i)}}})),e.defineMIME("text/x-puppet","puppet")}(n(23326))},56141:(e,t,n)=>{!function(e){"use strict";function t(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var n=t(["and","or","not","is"]),r=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield","in","False","True"],i=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"];function o(e){return e.scopes[e.scopes.length-1]}e.registerHelper("hintWords","python",r.concat(i).concat(["exec","print"])),e.defineMode("python",(function(a,s){for(var l="error",u=s.delimiters||s.singleDelimiters||/^[\(\)\[\]\{\}@,:`=;\.\\]/,c=[s.singleOperators,s.doubleOperators,s.doubleDelimiters,s.tripleDelimiters,s.operators||/^([-+*/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@]|\.\.\.)/],d=0;dr?x(t):i0&&k(e,t)&&(a+=" "+l),a}return _(e,t)}function _(e,t,r){if(e.eatSpace())return null;if(!r&&e.match(/^#.*/))return"comment";if(e.match(/^[0-9\.]/,!1)){var i=!1;if(e.match(/^[\d_]*\.\d+(e[\+\-]?\d+)?/i)&&(i=!0),e.match(/^[\d_]+\.\d*/)&&(i=!0),e.match(/^\.\d+/)&&(i=!0),i)return e.eat(/J/i),"number";var o=!1;if(e.match(/^0x[0-9a-f_]+/i)&&(o=!0),e.match(/^0b[01_]+/i)&&(o=!0),e.match(/^0o[0-7_]+/i)&&(o=!0),e.match(/^[1-9][\d_]*(e[\+\-]?[\d_]+)?/)&&(e.eat(/J/i),o=!0),e.match(/^0(?![\dx])/i)&&(o=!0),o)return e.eat(/L/i),"number"}if(e.match(v))return-1!==e.current().toLowerCase().indexOf("f")?(t.tokenize=function(e,t){for(;"rubf".indexOf(e.charAt(0).toLowerCase())>=0;)e=e.substr(1);var n=1==e.length,r="string";function i(e){return function(t,n){var r=_(t,n,!0);return"punctuation"==r&&("{"==t.current()?n.tokenize=i(e+1):"}"==t.current()&&(n.tokenize=e>1?i(e-1):o)),r}}function o(o,a){for(;!o.eol();)if(o.eatWhile(/[^'"\{\}\\]/),o.eat("\\")){if(o.next(),n&&o.eol())return r}else{if(o.match(e))return a.tokenize=t,r;if(o.match("{{"))return r;if(o.match("{",!1))return a.tokenize=i(0),o.current()?r:a.tokenize(o,a);if(o.match("}}"))return r;if(o.match("}"))return l;o.eat(/['"]/)}if(n){if(s.singleLineStringErrors)return l;a.tokenize=t}return r}return o.isString=!0,o}(e.current(),t.tokenize),t.tokenize(e,t)):(t.tokenize=function(e,t){for(;"rubf".indexOf(e.charAt(0).toLowerCase())>=0;)e=e.substr(1);var n=1==e.length,r="string";function i(i,o){for(;!i.eol();)if(i.eatWhile(/[^'"\\]/),i.eat("\\")){if(i.next(),n&&i.eol())return r}else{if(i.match(e))return o.tokenize=t,r;i.eat(/['"]/)}if(n){if(s.singleLineStringErrors)return l;o.tokenize=t}return r}return i.isString=!0,i}(e.current(),t.tokenize),t.tokenize(e,t));for(var a=0;a1&&o(t).offset>n;){if("py"!=o(t).type)return!0;t.scopes.pop()}return o(t).offset!=n}function E(e,t){e.sol()&&(t.beginningOfLine=!0,t.dedent=!1);var n=t.tokenize(e,t),r=e.current();if(t.beginningOfLine&&"@"==r)return e.match(g,!1)?"meta":m?"operator":l;if(/\S/.test(r)&&(t.beginningOfLine=!1),"variable"!=n&&"builtin"!=n||"meta"!=t.lastToken||(n="meta"),"pass"!=r&&"return"!=r||(t.dedent=!0),"lambda"==r&&(t.lambda=!0),":"==r&&!t.lambda&&"py"==o(t).type&&e.match(/^\s*(?:#|$)/,!1)&&x(t),1==r.length&&!/string|comment/.test(n)){var i="[({".indexOf(r);if(-1!=i&&function(e,t,n){var r=e.match(/^[\s\[\{\(]*(?:#|$)/,!1)?null:e.column()+1;t.scopes.push({offset:t.indent+p,type:n,align:r})}(e,t,"])}".slice(i,i+1)),-1!=(i="])}".indexOf(r))){if(o(t).type!=r)return l;t.indent=t.scopes.pop().offset-p}}return t.dedent&&e.eol()&&"py"==o(t).type&&t.scopes.length>1&&t.scopes.pop(),n}return{startState:function(e){return{tokenize:w,scopes:[{offset:e||0,type:"py",align:null}],indent:e||0,lastToken:null,lambda:!1,dedent:0}},token:function(e,t){var n=t.errorToken;n&&(t.errorToken=!1);var r=E(e,t);return r&&"comment"!=r&&(t.lastToken="keyword"==r||"punctuation"==r?e.current():r),"punctuation"==r&&(r=null),e.eol()&&t.lambda&&(t.lambda=!1),n?r+" "+l:r},indent:function(t,n){if(t.tokenize!=w)return t.tokenize.isString?e.Pass:0;var r=o(t),i=r.type==n.charAt(0)||"py"==r.type&&!t.dedent&&/^(else:|elif |except |finally:)/.test(n);return null!=r.align?r.align-(i?1:0):r.offset-(i?p:0)},electricInput:/^\s*([\}\]\)]|else:|elif |except |finally:)$/,closeBrackets:{triples:"'\""},lineComment:"#",fold:"indent"}})),e.defineMIME("text/x-python","python");var a;e.defineMIME("text/x-cython",{name:"python",extra_keywords:(a="by cdef cimport cpdef ctypedef enum except extern gil include nogil property public readonly struct union DEF IF ELIF ELSE",a.split(" "))})}(n(23326))},68106:(e,t,n)=>{!function(e){"use strict";e.defineMode("q",(function(e){var t,n=e.indentUnit,r=new RegExp("^("+["abs","acos","aj","aj0","all","and","any","asc","asin","asof","atan","attr","avg","avgs","bin","by","ceiling","cols","cor","cos","count","cov","cross","csv","cut","delete","deltas","desc","dev","differ","distinct","div","do","each","ej","enlist","eval","except","exec","exit","exp","fby","fills","first","fkeys","flip","floor","from","get","getenv","group","gtime","hclose","hcount","hdel","hopen","hsym","iasc","idesc","if","ij","in","insert","inter","inv","key","keys","last","like","list","lj","load","log","lower","lsq","ltime","ltrim","mavg","max","maxs","mcount","md5","mdev","med","meta","min","mins","mmax","mmin","mmu","mod","msum","neg","next","not","null","or","over","parse","peach","pj","plist","prd","prds","prev","prior","rand","rank","ratios","raze","read0","read1","reciprocal","reverse","rload","rotate","rsave","rtrim","save","scan","select","set","setenv","show","signum","sin","sqrt","ss","ssr","string","sublist","sum","sums","sv","system","tables","tan","til","trim","txf","type","uj","ungroup","union","update","upper","upsert","value","var","view","views","vs","wavg","where","where","while","within","wj","wj1","wsum","xasc","xbar","xcol","xcols","xdesc","xexp","xgroup","xkey","xlog","xprev","xrank"].join("|")+")$"),i=/[|/&^!+:\\\-*%$=~#;@><,?_\'\"\[\(\]\)\s{}]/;function o(e,n){var s=e.sol(),c=e.next();if(t=null,s){if("/"==c)return(n.tokenize=a)(e,n);if("\\"==c)return e.eol()||/\s/.test(e.peek())?(e.skipToEnd(),/^\\\s*$/.test(e.current())?(n.tokenize=l)(e):n.tokenize=o,"comment"):(n.tokenize=o,"builtin")}if(/\s/.test(c))return"/"==e.peek()?(e.skipToEnd(),"comment"):"whitespace";if('"'==c)return(n.tokenize=u)(e,n);if("`"==c)return e.eatWhile(/[A-Za-z\d_:\/.]/),"symbol";if("."==c&&/\d/.test(e.peek())||/\d/.test(c)){var d=null;return e.backUp(1),e.match(/^\d{4}\.\d{2}(m|\.\d{2}([DT](\d{2}(:\d{2}(:\d{2}(\.\d{1,9})?)?)?)?)?)/)||e.match(/^\d+D(\d{2}(:\d{2}(:\d{2}(\.\d{1,9})?)?)?)/)||e.match(/^\d{2}:\d{2}(:\d{2}(\.\d{1,9})?)?/)||e.match(/^\d+[ptuv]{1}/)?d="temporal":(e.match(/^0[NwW]{1}/)||e.match(/^0x[\da-fA-F]*/)||e.match(/^[01]+[b]{1}/)||e.match(/^\d+[chijn]{1}/)||e.match(/-?\d*(\.\d*)?(e[+\-]?\d+)?(e|f)?/))&&(d="number"),!d||(c=e.peek())&&!i.test(c)?(e.next(),"error"):d}return/[A-Za-z]|\./.test(c)?(e.eatWhile(/[A-Za-z._\d]/),r.test(e.current())?"keyword":"variable"):/[|/&^!+:\\\-*%$=~#;@><\.,?_\']/.test(c)||/[{}\(\[\]\)]/.test(c)?null:"error"}function a(e,t){return e.skipToEnd(),/\/\s*$/.test(e.current())?(t.tokenize=s)(e,t):t.tokenize=o,"comment"}function s(e,t){var n=e.sol()&&"\\"==e.peek();return e.skipToEnd(),n&&/^\\\s*$/.test(e.current())&&(t.tokenize=o),"comment"}function l(e){return e.skipToEnd(),"comment"}function u(e,t){for(var n,r=!1,i=!1;n=e.next();){if('"'==n&&!r){i=!0;break}r=!r&&"\\"==n}return i&&(t.tokenize=o),"string"}function c(e,t,n){e.context={prev:e.context,indent:e.indent,col:n,type:t}}function d(e){e.indent=e.context.indent,e.context=e.context.prev}return{startState:function(){return{tokenize:o,context:null,indent:0,col:0}},token:function(e,n){e.sol()&&(n.context&&null==n.context.align&&(n.context.align=!1),n.indent=e.indentation());var r=n.tokenize(e,n);if("comment"!=r&&n.context&&null==n.context.align&&"pattern"!=n.context.type&&(n.context.align=!0),"("==t)c(n,")",e.column());else if("["==t)c(n,"]",e.column());else if("{"==t)c(n,"}",e.column());else if(/[\]\}\)]/.test(t)){for(;n.context&&"pattern"==n.context.type;)d(n);n.context&&t==n.context.type&&d(n)}else"."==t&&n.context&&"pattern"==n.context.type?d(n):/atom|string|variable/.test(r)&&n.context&&(/[\}\]]/.test(n.context.type)?c(n,"pattern",e.column()):"pattern"!=n.context.type||n.context.align||(n.context.align=!0,n.context.col=e.column()));return r},indent:function(e,t){var r=t&&t.charAt(0),i=e.context;if(/[\]\}]/.test(r))for(;i&&"pattern"==i.type;)i=i.prev;var o=i&&r==i.type;return i?"pattern"==i.type?i.col:i.align?i.col+(o?0:1):i.indent+(o?0:n):0}}})),e.defineMIME("text/x-q","q")}(n(23326))},32848:(e,t,n)=>{!function(e){"use strict";e.registerHelper("wordChars","r",/[\w.]/),e.defineMode("r",(function(t){function n(e){for(var t={},n=0;n=!&|~$:]/;function p(e,t){a=null;var n,r=e.next();if("#"==r)return e.skipToEnd(),"comment";if("0"==r&&e.eat("x"))return e.eatWhile(/[\da-f]/i),"number";if("."==r&&e.eat(/\d/))return e.match(/\d*(?:e[+\-]?\d+)?/),"number";if(/\d/.test(r))return e.match(/\d*(?:\.\d+)?(?:e[+\-]\d+)?L?/),"number";if("'"==r||'"'==r)return t.tokenize=(n=r,function(e,t){if(e.eat("\\")){var r=e.next();return"x"==r?e.match(/^[a-f0-9]{2}/i):("u"==r||"U"==r)&&e.eat("{")&&e.skipTo("}")?e.next():"u"==r?e.match(/^[a-f0-9]{4}/i):"U"==r?e.match(/^[a-f0-9]{8}/i):/[0-7]/.test(r)&&e.match(/^[0-7]{1,2}/),"string-2"}for(var i;null!=(i=e.next());){if(i==n){t.tokenize=p;break}if("\\"==i){e.backUp(1);break}}return"string"}),"string";if("`"==r)return e.match(/[^`]+`/),"variable-3";if("."==r&&e.match(/.(?:[.]|\d+)/))return"keyword";if(/[a-zA-Z\.]/.test(r)){e.eatWhile(/[\w\.]/);var i=e.current();return s.propertyIsEnumerable(i)?"atom":u.propertyIsEnumerable(i)?(c.propertyIsEnumerable(i)&&!e.match(/\s*if(\s+|$)/,!1)&&(a="block"),"keyword"):l.propertyIsEnumerable(i)?"builtin":"variable"}return"%"==r?(e.skipTo("%")&&e.next(),"operator variable-2"):"<"==r&&e.eat("-")||"<"==r&&e.match("<-")||"-"==r&&e.match(/>>?/)?"operator arrow":"="==r&&t.ctx.argList?"arg-is":d.test(r)?"$"==r?"operator dollar":(e.eatWhile(d),"operator"):/[\(\){}\[\];]/.test(r)?(a=r,";"==r?"semi":null):null}function f(e,t,n){e.ctx={type:t,indent:e.indent,flags:0,column:n.column(),prev:e.ctx}}function h(e,t){var n=e.ctx;e.ctx={type:n.type,indent:n.indent,flags:n.flags|t,column:n.column,prev:n.prev}}function m(e){e.indent=e.ctx.indent,e.ctx=e.ctx.prev}return{startState:function(){return{tokenize:p,ctx:{type:"top",indent:-t.indentUnit,flags:2},indent:0,afterIdent:!1}},token:function(e,t){if(e.sol()&&(0==(3&t.ctx.flags)&&(t.ctx.flags|=2),4&t.ctx.flags&&m(t),t.indent=e.indentation()),e.eatSpace())return null;var n=t.tokenize(e,t);return"comment"!=n&&0==(2&t.ctx.flags)&&h(t,1),";"!=a&&"{"!=a&&"}"!=a||"block"!=t.ctx.type||m(t),"{"==a?f(t,"}",e):"("==a?(f(t,")",e),t.afterIdent&&(t.ctx.argList=!0)):"["==a?f(t,"]",e):"block"==a?f(t,"block",e):a==t.ctx.type?m(t):"block"==t.ctx.type&&"comment"!=n&&h(t,4),t.afterIdent="variable"==n||"keyword"==n,n},indent:function(e,n){if(e.tokenize!=p)return 0;var r=n&&n.charAt(0),i=e.ctx,o=r==i.type;return 4&i.flags&&(i=i.prev),"block"==i.type?i.indent+("{"==r?0:t.indentUnit):1&i.flags?i.column+(o?0:1):i.indent+(o?0:t.indentUnit)},lineComment:"#"}})),e.defineMIME("text/x-rsrc","r")}(n(23326))},87660:(e,t,n)=>{!function(e){"use strict";e.defineMode("rpm-changes",(function(){var e=/^-+$/,t=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ?\d{1,2} \d{2}:\d{2}(:\d{2})? [A-Z]{3,4} \d{4} - /,n=/^[\w+.-]+@[\w.-]+/;return{token:function(r){if(r.sol()){if(r.match(e))return"tag";if(r.match(t))return"tag"}return r.match(n)?"string":(r.next(),null)}}})),e.defineMIME("text/x-rpm-changes","rpm-changes"),e.defineMode("rpm-spec",(function(){var e=/^(i386|i586|i686|x86_64|ppc64le|ppc64|ppc|ia64|s390x|s390|sparc64|sparcv9|sparc|noarch|alphaev6|alpha|hppa|mipsel)/,t=/^[a-zA-Z0-9()]+:/,n=/^%(debug_package|package|description|prep|build|install|files|clean|changelog|preinstall|preun|postinstall|postun|pretrans|posttrans|pre|post|triggerin|triggerun|verifyscript|check|triggerpostun|triggerprein|trigger)/,r=/^%(ifnarch|ifarch|if)/,i=/^%(else|endif)/,o=/^(\!|\?|\<\=|\<|\>\=|\>|\=\=|\&\&|\|\|)/;return{startState:function(){return{controlFlow:!1,macroParameters:!1,section:!1}},token:function(a,s){if("#"==a.peek())return a.skipToEnd(),"comment";if(a.sol()){if(a.match(t))return"header";if(a.match(n))return"atom"}if(a.match(/^\$\w+/))return"def";if(a.match(/^\$\{\w+\}/))return"def";if(a.match(i))return"keyword";if(a.match(r))return s.controlFlow=!0,"keyword";if(s.controlFlow){if(a.match(o))return"operator";if(a.match(/^(\d+)/))return"number";a.eol()&&(s.controlFlow=!1)}if(a.match(e))return a.eol()&&(s.controlFlow=!1),"number";if(a.match(/^%[\w]+/))return a.match("(")&&(s.macroParameters=!0),"keyword";if(s.macroParameters){if(a.match(/^\d+/))return"number";if(a.match(")"))return s.macroParameters=!1,"keyword"}return a.match(/^%\{\??[\w \-\:\!]+\}/)?(a.eol()&&(s.controlFlow=!1),"def"):(a.next(),null)}}})),e.defineMIME("text/x-rpm-spec","rpm-spec")}(n(23326))},93315:(e,t,n)=>{!function(e){"use strict";e.defineMode("rst",(function(t,n){var r=/^\*\*[^\*\s](?:[^\*]*[^\*\s])?\*\*/,i=/^\*[^\*\s](?:[^\*]*[^\*\s])?\*/,o=/^``[^`\s](?:[^`]*[^`\s])``/,a=/^(?:[\d]+(?:[\.,]\d+)*)/,s=/^(?:\s\+[\d]+(?:[\.,]\d+)*)/,l=/^(?:\s\-[\d]+(?:[\.,]\d+)*)/,u=new RegExp("^[Hh][Tt][Tt][Pp][Ss]?://(?:[\\d\\w.-]+)\\.(?:\\w{2,6})(?:/[\\d\\w\\#\\%\\&\\-\\.\\,\\/\\:\\=\\?\\~]+)*"),c={token:function(e){if(e.match(r)&&e.match(/\W+|$/,!1))return"strong";if(e.match(i)&&e.match(/\W+|$/,!1))return"em";if(e.match(o)&&e.match(/\W+|$/,!1))return"string-2";if(e.match(a))return"number";if(e.match(s))return"positive";if(e.match(l))return"negative";if(e.match(u))return"link";for(;!(null==e.next()||e.match(r,!1)||e.match(i,!1)||e.match(o,!1)||e.match(a,!1)||e.match(s,!1)||e.match(l,!1)||e.match(u,!1)););return null}},d=e.getMode(t,n.backdrop||"rst-base");return e.overlayMode(d,c,!0)}),"python","stex"),e.defineMode("rst-base",(function(t){function n(e){var t=Array.prototype.slice.call(arguments,1);return e.replace(/{(\d+)}/g,(function(e,n){return void 0!==t[n]?t[n]:e}))}var r=e.getMode(t,"python"),i=e.getMode(t,"stex"),o="\\s+",a="(?:\\s*|\\W|$)",s=new RegExp(n("^{0}",a)),l="(?:[^\\W\\d_](?:[\\w!\"#$%&'()\\*\\+,\\-\\./:;<=>\\?]*[^\\W_])?)",u=new RegExp(n("^{0}",l)),c=n("(?:{0}|`{1}`)",l,"(?:[^\\W\\d_](?:[\\w\\s!\"#$%&'()\\*\\+,\\-\\./:;<=>\\?]*[^\\W_])?)"),d="(?:[^\\s\\|](?:[^\\|]*[^\\s\\|])?)",p="(?:[^\\`]+)",f=new RegExp(n("^{0}",p)),h=new RegExp("^([!'#$%&\"()*+,-./:;<=>?@\\[\\\\\\]^_`{|}~])\\1{3,}\\s*$"),m=new RegExp(n("^\\.\\.{0}",o)),g=new RegExp(n("^_{0}:{1}|^__:{1}",c,a)),v=new RegExp(n("^{0}::{1}",c,a)),y=new RegExp(n("^\\|{0}\\|{1}{2}::{3}",d,o,c,a)),b=new RegExp(n("^\\[(?:\\d+|#{0}?|\\*)]{1}",c,a)),w=new RegExp(n("^\\[{0}\\]{1}",c,a)),_=new RegExp(n("^\\|{0}\\|",d)),x=new RegExp(n("^\\[(?:\\d+|#{0}?|\\*)]_",c)),k=new RegExp(n("^\\[{0}\\]_",c)),E=new RegExp(n("^{0}__?",c)),C=new RegExp(n("^`{0}`_",p)),S=new RegExp(n("^:{0}:`{1}`{2}",l,p,a)),A=new RegExp(n("^`{1}`:{0}:{2}",l,p,a)),T=new RegExp(n("^:{0}:{1}",l,a)),O=new RegExp(n("^{0}",c)),P=new RegExp(n("^::{0}",a)),D=new RegExp(n("^\\|{0}\\|",d)),R=new RegExp(n("^{0}",o)),I=new RegExp(n("^{0}",c)),M=new RegExp(n("^::{0}",a)),L=new RegExp("^_"),N=new RegExp(n("^{0}|_",c)),j=new RegExp(n("^:{0}",a)),F=new RegExp("^::\\s*$"),B=new RegExp("^\\s+(?:>>>|In \\[\\d+\\]:)\\s");function z(t,n){var o=null;if(t.sol()&&t.match(B,!1))G(n,H,{mode:r,local:e.startState(r)});else if(t.sol()&&t.match(m))G(n,U),o="meta";else if(t.sol()&&t.match(h))G(n,z),o="header";else if(Y(n)==S||t.match(S,!1))switch(K(n)){case 0:G(n,z,V(S,1)),t.match(/^:/),o="meta";break;case 1:G(n,z,V(S,2)),t.match(u),o="keyword",t.current().match(/^(?:math|latex)/)&&(n.tmp_stex=!0);break;case 2:G(n,z,V(S,3)),t.match(/^:`/),o="meta";break;case 3:if(n.tmp_stex&&(n.tmp_stex=void 0,n.tmp={mode:i,local:e.startState(i)}),n.tmp){if("`"==t.peek()){G(n,z,V(S,4)),n.tmp=void 0;break}o=n.tmp.mode.token(t,n.tmp.local);break}G(n,z,V(S,4)),t.match(f),o="string";break;case 4:G(n,z,V(S,5)),t.match(/^`/),o="meta";break;case 5:G(n,z,V(S,6)),t.match(s);break;default:G(n,z)}else if(Y(n)==A||t.match(A,!1))switch(K(n)){case 0:G(n,z,V(A,1)),t.match(/^`/),o="meta";break;case 1:G(n,z,V(A,2)),t.match(f),o="string";break;case 2:G(n,z,V(A,3)),t.match(/^`:/),o="meta";break;case 3:G(n,z,V(A,4)),t.match(u),o="keyword";break;case 4:G(n,z,V(A,5)),t.match(/^:/),o="meta";break;case 5:G(n,z,V(A,6)),t.match(s);break;default:G(n,z)}else if(Y(n)==T||t.match(T,!1))switch(K(n)){case 0:G(n,z,V(T,1)),t.match(/^:/),o="meta";break;case 1:G(n,z,V(T,2)),t.match(u),o="keyword";break;case 2:G(n,z,V(T,3)),t.match(/^:/),o="meta";break;case 3:G(n,z,V(T,4)),t.match(s);break;default:G(n,z)}else if(Y(n)==_||t.match(_,!1))switch(K(n)){case 0:G(n,z,V(_,1)),t.match(D),o="variable-2";break;case 1:G(n,z,V(_,2)),t.match(/^_?_?/)&&(o="link");break;default:G(n,z)}else if(t.match(x))G(n,z),o="quote";else if(t.match(k))G(n,z),o="quote";else if(t.match(E))G(n,z),t.peek()&&!t.peek().match(/^\W$/)||(o="link");else if(Y(n)==C||t.match(C,!1))switch(K(n)){case 0:!t.peek()||t.peek().match(/^\W$/)?G(n,z,V(C,1)):t.match(C);break;case 1:G(n,z,V(C,2)),t.match(/^`/),o="link";break;case 2:G(n,z,V(C,3)),t.match(f);break;case 3:G(n,z,V(C,4)),t.match(/^`_/),o="link";break;default:G(n,z)}else t.match(F)?G(n,$):t.next()&&G(n,z);return o}function U(t,n){var o=null;if(Y(n)==y||t.match(y,!1))switch(K(n)){case 0:G(n,U,V(y,1)),t.match(D),o="variable-2";break;case 1:G(n,U,V(y,2)),t.match(R);break;case 2:G(n,U,V(y,3)),t.match(I),o="keyword";break;case 3:G(n,U,V(y,4)),t.match(M),o="meta";break;default:G(n,z)}else if(Y(n)==v||t.match(v,!1))switch(K(n)){case 0:G(n,U,V(v,1)),t.match(O),o="keyword",t.current().match(/^(?:math|latex)/)?n.tmp_stex=!0:t.current().match(/^python/)&&(n.tmp_py=!0);break;case 1:G(n,U,V(v,2)),t.match(P),o="meta",(t.match(/^latex\s*$/)||n.tmp_stex)&&(n.tmp_stex=void 0,G(n,H,{mode:i,local:e.startState(i)}));break;case 2:G(n,U,V(v,3)),(t.match(/^python\s*$/)||n.tmp_py)&&(n.tmp_py=void 0,G(n,H,{mode:r,local:e.startState(r)}));break;default:G(n,z)}else if(Y(n)==g||t.match(g,!1))switch(K(n)){case 0:G(n,U,V(g,1)),t.match(L),t.match(N),o="link";break;case 1:G(n,U,V(g,2)),t.match(j),o="meta";break;default:G(n,z)}else t.match(b)||t.match(w)?(G(n,z),o="quote"):(t.eatSpace(),t.eol()?G(n,z):(t.skipToEnd(),G(n,q),o="comment"));return o}function q(e,t){return W(e,t,"comment")}function $(e,t){return W(e,t,"meta")}function W(e,t,n){return e.eol()||e.eatSpace()?(e.skipToEnd(),n):(G(t,z),null)}function H(e,t){return t.ctx.mode&&t.ctx.local?e.sol()?(e.eatSpace()||G(t,z),null):t.ctx.mode.token(e,t.ctx.local):(G(t,z),null)}function V(e,t,n,r){return{phase:e,stage:t,mode:n,local:r}}function G(e,t,n){e.tok=t,e.ctx=n||{}}function K(e){return e.ctx.stage||0}function Y(e){return e.ctx.phase}return{startState:function(){return{tok:z,ctx:V(void 0,0)}},copyState:function(t){var n=t.ctx,r=t.tmp;return n.local&&(n={mode:n.mode,local:e.copyState(n.mode,n.local)}),r&&(r={mode:r.mode,local:e.copyState(r.mode,r.local)}),{tok:t.tok,ctx:n,tmp:r}},innerMode:function(e){return e.tmp?{state:e.tmp.local,mode:e.tmp.mode}:e.ctx.mode?{state:e.ctx.local,mode:e.ctx.mode}:null},token:function(e,t){return t.tok(e,t)}}}),"python","stex"),e.defineMIME("text/x-rst","rst")}(n(23326),n(56141),n(38234),n(19962))},53019:(e,t,n)=>{!function(e){"use strict";function t(e){for(var t={},n=0,r=e.length;n-1)r++;else if("]})".indexOf(t)>-1){if(--r<0)break}else if("/"==t&&0==r){i=!0;break}o="\\"==t}return e.backUp(e.pos-n),i}(e)?l(p(s,"string-2",!0),e,t):"operator";if("%"==s){var u="string",c=!0;e.eat("s")?u="atom":e.eat(/[WQ]/)?u="string":e.eat(/[r]/)?u="string-2":e.eat(/[wxq]/)&&(u="string",c=!1);var d=e.eat(/[^\w\s=]/);return d?(a.propertyIsEnumerable(d)&&(d=a[d]),l(p(d,u,c,!0),e,t)):"operator"}if("#"==s)return e.skipToEnd(),"comment";if("<"==s&&(r=e.match(/^<([-~])[\`\"\']?([a-zA-Z_?]\w*)[\`\"\']?(?:;|$)/)))return l((i=r[2],o=r[1],function(e,t){return o&&e.eatSpace(),e.match(i)?t.tokenize.pop():e.skipToEnd(),"string"}),e,t);if("0"==s)return e.eat("x")?e.eatWhile(/[\da-fA-F]/):e.eat("b")?e.eatWhile(/[01]/):e.eatWhile(/[0-7]/),"number";if(/\d/.test(s))return e.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+\-]?[\d_]+)?/),"number";if("?"==s){for(;e.match(/^\\[CM]-/););return e.eat("\\")?e.eatWhile(/\w/):e.next(),"string"}if(":"==s)return e.eat("'")?l(p("'","atom",!1),e,t):e.eat('"')?l(p('"',"atom",!0),e,t):e.eat(/[\<\>]/)?(e.eat(/[\<\>]/),"atom"):e.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":e.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(e.eatWhile(/[\w$\xa1-\uffff]/),e.eat(/[\?\!\=]/),"atom"):"operator";if("@"==s&&e.match(/^@?[a-zA-Z_\xa1-\uffff]/))return e.eat("@"),e.eatWhile(/[\w\xa1-\uffff]/),"variable-2";if("$"==s)return e.eat(/[a-zA-Z_]/)?e.eatWhile(/[\w]/):e.eat(/\d/)?e.eat(/\d/):e.next(),"variable-3";if(/[a-zA-Z_\xa1-\uffff]/.test(s))return e.eatWhile(/[\w\xa1-\uffff]/),e.eat(/[\?\!]/),e.eat(":")?"atom":"ident";if("|"!=s||!t.varList&&"{"!=t.lastTok&&"do"!=t.lastTok){if(/[\(\)\[\]{}\\;]/.test(s))return n=s,null;if("-"==s&&e.eat(">"))return"arrow";if(/[=+\-\/*:\.^%<>~|]/.test(s)){var h=e.eatWhile(/[=+\-\/*:\.^%<>~|]/);return"."!=s||h||(n="."),"operator"}return null}return n="|",null}function c(e){return e||(e=1),function(t,n){if("}"==t.peek()){if(1==e)return n.tokenize.pop(),n.tokenize[n.tokenize.length-1](t,n);n.tokenize[n.tokenize.length-1]=c(e-1)}else"{"==t.peek()&&(n.tokenize[n.tokenize.length-1]=c(e+1));return u(t,n)}}function d(){var e=!1;return function(t,n){return e?(n.tokenize.pop(),n.tokenize[n.tokenize.length-1](t,n)):(e=!0,u(t,n))}}function p(e,t,n,r){return function(i,o){var a,s=!1;for("read-quoted-paused"===o.context.type&&(o.context=o.context.prev,i.eat("}"));null!=(a=i.next());){if(a==e&&(r||!s)){o.tokenize.pop();break}if(n&&"#"==a&&!s){if(i.eat("{")){"}"==e&&(o.context={prev:o.context,type:"read-quoted-paused"}),o.tokenize.push(c());break}if(/[@\$]/.test(i.peek())){o.tokenize.push(d());break}}s=!s&&"\\"==a}return t}}function f(e,t){return e.sol()&&e.match("=end")&&e.eol()&&t.tokenize.pop(),e.skipToEnd(),"comment"}return{startState:function(){return{tokenize:[u],indented:0,context:{type:"top",indented:-t.indentUnit},continuedLine:!1,lastTok:null,varList:!1}},token:function(e,t){n=null,e.sol()&&(t.indented=e.indentation());var a,s=t.tokenize[t.tokenize.length-1](e,t),l=n;if("ident"==s){var u=e.current();"keyword"==(s="."==t.lastTok?"property":r.propertyIsEnumerable(e.current())?"keyword":/^[A-Z]/.test(u)?"tag":"def"==t.lastTok||"class"==t.lastTok||t.varList?"def":"variable")&&(l=u,i.propertyIsEnumerable(u)?a="indent":o.propertyIsEnumerable(u)?a="dedent":"if"!=u&&"unless"!=u||e.column()!=e.indentation()?"do"==u&&t.context.indented{!function(e){"use strict";e.defineSimpleMode("rust",{start:[{regex:/b?"/,token:"string",next:"string"},{regex:/b?r"/,token:"string",next:"string_raw"},{regex:/b?r#+"/,token:"string",next:"string_raw_hash"},{regex:/'(?:[^'\\]|\\(?:[nrt0'"]|x[\da-fA-F]{2}|u\{[\da-fA-F]{6}\}))'/,token:"string-2"},{regex:/b'(?:[^']|\\(?:['\\nrt0]|x[\da-fA-F]{2}))'/,token:"string-2"},{regex:/(?:(?:[0-9][0-9_]*)(?:(?:[Ee][+-]?[0-9_]+)|\.[0-9_]+(?:[Ee][+-]?[0-9_]+)?)(?:f32|f64)?)|(?:0(?:b[01_]+|(?:o[0-7_]+)|(?:x[0-9a-fA-F_]+))|(?:[0-9][0-9_]*))(?:u8|u16|u32|u64|i8|i16|i32|i64|isize|usize)?/,token:"number"},{regex:/(let(?:\s+mut)?|fn|enum|mod|struct|type|union)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)/,token:["keyword",null,"def"]},{regex:/(?:abstract|alignof|as|async|await|box|break|continue|const|crate|do|dyn|else|enum|extern|fn|for|final|if|impl|in|loop|macro|match|mod|move|offsetof|override|priv|proc|pub|pure|ref|return|self|sizeof|static|struct|super|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,token:"keyword"},{regex:/\b(?:Self|isize|usize|char|bool|u8|u16|u32|u64|f16|f32|f64|i8|i16|i32|i64|str|Option)\b/,token:"atom"},{regex:/\b(?:true|false|Some|None|Ok|Err)\b/,token:"builtin"},{regex:/\b(fn)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)/,token:["keyword",null,"def"]},{regex:/#!?\[.*\]/,token:"meta"},{regex:/\/\/.*/,token:"comment"},{regex:/\/\*/,token:"comment",next:"comment"},{regex:/[-+\/*=<>!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"variable-3"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],meta:{dontIndentStates:["comment"],electricInput:/^\s*\}$/,blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",fold:"brace"}}),e.defineMIME("text/x-rustsrc","rust"),e.defineMIME("text/rust","rust")}(n(23326),n(81094))},17547:(e,t,n)=>{!function(e){"use strict";e.defineMode("sas",(function(){var e={},t={eq:"operator",lt:"operator",le:"operator",gt:"operator",ge:"operator",in:"operator",ne:"operator",or:"operator"},n=/(<=|>=|!=|<>)/,r=/[=\(:\),{}.*<>+\-\/^\[\]]/;function i(t,n,r){if(r)for(var i=n.split(" "),o=0;o{!function(e){"use strict";e.defineMode("sass",(function(t){var n=e.mimeModes["text/css"],r=n.propertyKeywords||{},i=n.colorKeywords||{},o=n.valueKeywords||{},a=n.fontProperties||{};var s,l=new RegExp("^"+["true","false","null","auto"].join("|")),u=new RegExp("^"+["\\(","\\)","=",">","<","==",">=","<=","\\+","-","\\!=","/","\\*","%","and","or","not",";","\\{","\\}",":"].join("|")),c=/^::?[a-zA-Z_][\w\-]*/;function d(e){return!e.peek()||e.match(/\s+$/,!1)}function p(e,t){var n=e.peek();return")"===n?(e.next(),t.tokenizer=y,"operator"):"("===n?(e.next(),e.eatSpace(),"operator"):"'"===n||'"'===n?(t.tokenizer=h(e.next()),"string"):(t.tokenizer=h(")",!1),"string")}function f(e,t){return function(n,r){return n.sol()&&n.indentation()<=e?(r.tokenizer=y,y(n,r)):(t&&n.skipTo("*/")?(n.next(),n.next(),r.tokenizer=y):n.skipToEnd(),"comment")}}function h(e,t){return null==t&&(t=!0),function n(r,i){var o=r.next(),a=r.peek(),s=r.string.charAt(r.pos-2);return"\\"!==o&&a===e||o===e&&"\\"!==s?(o!==e&&t&&r.next(),d(r)&&(i.cursorHalf=0),i.tokenizer=y,"string"):"#"===o&&"{"===a?(i.tokenizer=m(n),r.next(),"operator"):"string"}}function m(e){return function(t,n){return"}"===t.peek()?(t.next(),n.tokenizer=e,"operator"):y(t,n)}}function g(e){if(0==e.indentCount){e.indentCount++;var n=e.scopes[0].offset+t.indentUnit;e.scopes.unshift({offset:n})}}function v(e){1!=e.scopes.length&&e.scopes.shift()}function y(e,t){var n=e.peek();if(e.match("/*"))return t.tokenizer=f(e.indentation(),!0),t.tokenizer(e,t);if(e.match("//"))return t.tokenizer=f(e.indentation(),!1),t.tokenizer(e,t);if(e.match("#{"))return t.tokenizer=m(y),"operator";if('"'===n||"'"===n)return e.next(),t.tokenizer=h(n),"string";if(t.cursorHalf){if("#"===n&&(e.next(),e.match(/[0-9a-fA-F]{6}|[0-9a-fA-F]{3}/)))return d(e)&&(t.cursorHalf=0),"number";if(e.match(/^-?[0-9\.]+/))return d(e)&&(t.cursorHalf=0),"number";if(e.match(/^(px|em|in)\b/))return d(e)&&(t.cursorHalf=0),"unit";if(e.match(l))return d(e)&&(t.cursorHalf=0),"keyword";if(e.match(/^url/)&&"("===e.peek())return t.tokenizer=p,d(e)&&(t.cursorHalf=0),"atom";if("$"===n)return e.next(),e.eatWhile(/[\w-]/),d(e)&&(t.cursorHalf=0),"variable-2";if("!"===n)return e.next(),t.cursorHalf=0,e.match(/^[\w]+/)?"keyword":"operator";if(e.match(u))return d(e)&&(t.cursorHalf=0),"operator";if(e.eatWhile(/[\w-]/))return d(e)&&(t.cursorHalf=0),s=e.current().toLowerCase(),o.hasOwnProperty(s)?"atom":i.hasOwnProperty(s)?"keyword":r.hasOwnProperty(s)?(t.prevProp=e.current().toLowerCase(),"property"):"tag";if(d(e))return t.cursorHalf=0,null}else{if("-"===n&&e.match(/^-\w+-/))return"meta";if("."===n){if(e.next(),e.match(/^[\w-]+/))return g(t),"qualifier";if("#"===e.peek())return g(t),"tag"}if("#"===n){if(e.next(),e.match(/^[\w-]+/))return g(t),"builtin";if("#"===e.peek())return g(t),"tag"}if("$"===n)return e.next(),e.eatWhile(/[\w-]/),"variable-2";if(e.match(/^-?[0-9\.]+/))return"number";if(e.match(/^(px|em|in)\b/))return"unit";if(e.match(l))return"keyword";if(e.match(/^url/)&&"("===e.peek())return t.tokenizer=p,"atom";if("="===n&&e.match(/^=[\w-]+/))return g(t),"meta";if("+"===n&&e.match(/^\+[\w-]+/))return"variable-3";if("@"===n&&e.match("@extend")&&(e.match(/\s*[\w]/)||v(t)),e.match(/^@(else if|if|media|else|for|each|while|mixin|function)/))return g(t),"def";if("@"===n)return e.next(),e.eatWhile(/[\w-]/),"def";if(e.eatWhile(/[\w-]/)){if(e.match(/ *: *[\w-\+\$#!\("']/,!1)){s=e.current().toLowerCase();var b=t.prevProp+"-"+s;return r.hasOwnProperty(b)?"property":r.hasOwnProperty(s)?(t.prevProp=s,"property"):a.hasOwnProperty(s)?"property":"tag"}return e.match(/ *:/,!1)?(g(t),t.cursorHalf=1,t.prevProp=e.current().toLowerCase(),"property"):(e.match(/ *,/,!1)||g(t),"tag")}if(":"===n)return e.match(c)?"variable-3":(e.next(),t.cursorHalf=1,"operator")}return e.match(u)?"operator":(e.next(),null)}return{startState:function(){return{tokenizer:y,scopes:[{offset:0,type:"sass"}],indentCount:0,cursorHalf:0,definedVars:[],definedMixins:[]}},token:function(e,n){var r=function(e,n){e.sol()&&(n.indentCount=0);var r=n.tokenizer(e,n),i=e.current();if("@return"!==i&&"}"!==i||v(n),null!==r){for(var o=e.pos-i.length+t.indentUnit*n.indentCount,a=[],s=0;s{!function(e){"use strict";e.defineMode("scheme",(function(){var e="comment",t="string",n="symbol",r="atom",i="number",o="bracket";function a(e){for(var t={},n=e.split(" "),r=0;rinteger char-alphabetic? char-ci<=? char-ci=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt #f floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string=? string>? string? substring symbol->string symbol? #t tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"),l=a("define let letrec let* lambda define-macro defmacro let-syntax letrec-syntax let-values let*-values define-syntax syntax-rules define-values when unless");function u(e,t,n){this.indent=e,this.type=t,this.prev=n}function c(e,t,n){e.indentStack=new u(t,n,e.indentStack)}var d=new RegExp(/^(?:[-+]i|[-+][01]+#*(?:\/[01]+#*)?i|[-+]?[01]+#*(?:\/[01]+#*)?@[-+]?[01]+#*(?:\/[01]+#*)?|[-+]?[01]+#*(?:\/[01]+#*)?[-+](?:[01]+#*(?:\/[01]+#*)?)?i|[-+]?[01]+#*(?:\/[01]+#*)?)(?=[()\s;"]|$)/i),p=new RegExp(/^(?:[-+]i|[-+][0-7]+#*(?:\/[0-7]+#*)?i|[-+]?[0-7]+#*(?:\/[0-7]+#*)?@[-+]?[0-7]+#*(?:\/[0-7]+#*)?|[-+]?[0-7]+#*(?:\/[0-7]+#*)?[-+](?:[0-7]+#*(?:\/[0-7]+#*)?)?i|[-+]?[0-7]+#*(?:\/[0-7]+#*)?)(?=[()\s;"]|$)/i),f=new RegExp(/^(?:[-+]i|[-+][\da-f]+#*(?:\/[\da-f]+#*)?i|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?@[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?[-+](?:[\da-f]+#*(?:\/[\da-f]+#*)?)?i|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?)(?=[()\s;"]|$)/i),h=new RegExp(/^(?:[-+]i|[-+](?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)i|[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)@[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)|[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)[-+](?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)?i|(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*))(?=[()\s;"]|$)/i);function m(e){return e.match(d)}function g(e){return e.match(p)}function v(e,t){return!0===t&&e.backUp(1),e.match(h)}function y(e){return e.match(f)}function b(e,t){for(var n,r=!1;null!=(n=e.next());){if(n==t.token&&!r){t.state.mode=!1;break}r=!r&&"\\"==n}}return{startState:function(){return{indentStack:null,indentation:0,mode:!1,sExprComment:!1,sExprQuote:!1}},token:function(a,u){if(null==u.indentStack&&a.sol()&&(u.indentation=a.indentation()),a.eatSpace())return null;var d=null;switch(u.mode){case"string":b(a,{token:'"',state:u}),d=t;break;case"symbol":b(a,{token:"|",state:u}),d=n;break;case"comment":for(var p,f=!1;null!=(p=a.next());){if("#"==p&&f){u.mode=!1;break}f="|"==p}d=e;break;case"s-expr-comment":if(u.mode=!1,"("!=a.peek()&&"["!=a.peek()){a.eatWhile(/[^\s\(\)\[\]]/),d=e;break}u.sExprComment=0;default:var h=a.next();if('"'==h)u.mode="string",d=t;else if("'"==h)"("==a.peek()||"["==a.peek()?("number"!=typeof u.sExprQuote&&(u.sExprQuote=0),d=r):(a.eatWhile(/[\w_\-!$%&*+\.\/:<=>?@\^~]/),d=r);else if("|"==h)u.mode="symbol",d=n;else if("#"==h)if(a.eat("|"))u.mode="comment",d=e;else if(a.eat(/[tf]/i))d=r;else if(a.eat(";"))u.mode="s-expr-comment",d=e;else{var w=null,_=!1,x=!0;a.eat(/[ei]/i)?_=!0:a.backUp(1),a.match(/^#b/i)?w=m:a.match(/^#o/i)?w=g:a.match(/^#x/i)?w=y:a.match(/^#d/i)?w=v:a.match(/^[-+0-9.]/,!1)?(x=!1,w=v):_||a.eat("#"),null!=w&&(x&&!_&&a.match(/^#[ei]/i),w(a)&&(d=i))}else if(/^[-+0-9.]/.test(h)&&v(a,!0))d=i;else if(";"==h)a.skipToEnd(),d=e;else if("("==h||"["==h){for(var k,E="",C=a.column();null!=(k=a.eat(/[^\s\(\[\;\)\]]/));)E+=k;E.length>0&&l.propertyIsEnumerable(E)?c(u,C+2,h):(a.eatSpace(),a.eol()||";"==a.peek()?c(u,C+1,h):c(u,C+a.current().length,h)),a.backUp(a.current().length-1),"number"==typeof u.sExprComment&&u.sExprComment++,"number"==typeof u.sExprQuote&&u.sExprQuote++,d=o}else")"==h||"]"==h?(d=o,null!=u.indentStack&&u.indentStack.type==(")"==h?"(":"[")&&(function(e){e.indentStack=e.indentStack.prev}(u),"number"==typeof u.sExprComment&&0==--u.sExprComment&&(d=e,u.sExprComment=!1),"number"==typeof u.sExprQuote&&0==--u.sExprQuote&&(d=r,u.sExprQuote=!1))):(a.eatWhile(/[\w_\-!$%&*+\.\/:<=>?@\^~]/),d=s&&s.propertyIsEnumerable(a.current())?"builtin":"variable")}return"number"==typeof u.sExprComment?e:"number"==typeof u.sExprQuote?r:d},indent:function(e){return null==e.indentStack?e.indentation:e.indentStack.indent},fold:"brace-paren",closeBrackets:{pairs:'()[]{}""'},lineComment:";;"}})),e.defineMIME("text/x-scheme","scheme")}(n(23326))},25397:(e,t,n)=>{!function(e){"use strict";e.defineMode("shell",(function(){var t={};function n(e,n){for(var r=0;r1&&e.eat("$");var n=e.next();return/['"({]/.test(n)?(t.tokens[0]=s(n,"("==n?"quote":"{"==n?"def":"string"),c(e,t)):(/\d/.test(n)||e.eatWhile(/\w/),t.tokens.shift(),"def")};function c(e,t){return(t.tokens[0]||a)(e,t)}return{startState:function(){return{tokens:[]}},token:function(e,t){return c(e,t)},closeBrackets:"()[]{}''\"\"``",lineComment:"#",fold:"brace"}})),e.defineMIME("text/x-sh","shell"),e.defineMIME("application/x-sh","shell")}(n(23326))},84712:(e,t,n)=>{!function(e){"use strict";e.defineMode("sieve",(function(e){function t(e){for(var t={},n=e.split(" "),r=0;r{!function(e){"use strict";e.defineMode("slim",(function(t){var n=e.getMode(t,{name:"htmlmixed"}),r=e.getMode(t,"ruby"),i={html:n,ruby:r},o={ruby:"ruby",javascript:"javascript",css:"text/css",sass:"text/x-sass",scss:"text/x-scss",less:"text/x-less",styl:"text/x-styl",coffee:"coffeescript",asciidoc:"text/x-asciidoc",markdown:"text/x-markdown",textile:"text/x-textile",creole:"text/x-creole",wiki:"text/x-wiki",mediawiki:"text/x-mediawiki",rdoc:"text/x-rdoc",builder:"text/x-builder",nokogiri:"text/x-nokogiri",erb:"application/x-erb"},a=function(e){var t=[];for(var n in e)t.push(n);return new RegExp("^("+t.join("|")+"):")}(o),s={commentLine:"comment",slimSwitch:"operator special",slimTag:"tag",slimId:"attribute def",slimClass:"attribute qualifier",slimAttribute:"attribute",slimSubmode:"keyword special",closeAttributeTag:null,slimDoctype:null,lineContinuation:null},l={"{":"}","[":"]","(":")"},u="_a-zA-ZÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�",c=u+"\\-0-9·̀-ͯ‿-⁀",d=new RegExp("^[:"+u+"](?::["+c+"]|["+c+"]*)"),p=new RegExp("^[:"+u+"][:\\."+c+"]*(?=\\s*=)"),f=new RegExp("^[:"+u+"][:\\."+c+"]*"),h=/^\.-?[_a-zA-Z]+[\w\-]*/,m=/^#[_a-zA-Z]+[\w\-]*/;function g(e,t){e.stack={parent:e.stack,style:"continuation",indented:t,tokenize:e.line},e.line=e.tokenize}function v(e){e.line==e.tokenize&&(e.line=e.stack.tokenize,e.stack=e.stack.parent)}function y(e,t){return function(n,r){return n.peek()==e&&1==r.rubyState.tokenize.length?(n.next(),r.tokenize=t,"closeAttributeTag"):w(n,r)}}function b(t){var n,i=function(e,r){if(1==r.rubyState.tokenize.length&&!r.rubyState.context.prev){if(e.backUp(1),e.eatSpace())return r.rubyState=n,r.tokenize=t,t(e,r);e.next()}return w(e,r)};return function(t,o){return n=o.rubyState,o.rubyState=e.startState(r),o.tokenize=i,w(t,o)}}function w(e,t){return r.token(e,t.rubyState)}function _(e,t){return e.match(/^#\{/)?(t.tokenize=y("}",t.tokenize),null):function(e,t,n,r,i){var o=e.current(),a=o.search(n);return a>-1&&(t.tokenize=function(e,t,n){var r=function(r,i){return i.tokenize=t,r.pos]?)/))return n.tokenize=function(e,t){return function(n,r){if(v(r),n.match(/^\\$/))return g(r,e),"lineContinuation";var i=t(n,r);return n.eol()&&n.current().match(/(?:^|[^\\])(?:\\\\)*\\$/)&&n.backUp(1),i}}(t.column(),(r=t.column(),i=w,function(e,t){v(t);var n=i(e,t);return e.eol()&&e.current().match(/,$/)&&g(t,r),n})),"slimSwitch";var r,i;if(t.match(/^doctype\b/))return n.tokenize=D,"keyword";var o=t.match(a);return o?function(t,n){var r=P(t),i=e.startState(r);return n.subMode=r,n.subState=i,n.stack={parent:n.stack,style:"sub",indented:n.indented+1,tokenize:n.line},n.line=n.tokenize=O,"slimSubmode"}(o[1],n):M(t,n)}function I(e,t){return t.startOfLine?R(e,t):M(e,t)}function M(e,t){return e.eat("*")?(t.tokenize=b(L),null):e.match(d)?(t.tokenize=L,"slimTag"):N(e,t)}function L(e,t){return e.match(/^(<>?|>t.indented&&"slimSubmode"!=t.last;)t.line=t.tokenize=t.stack.tokenize,t.stack=t.stack.parent,t.subMode=null,t.subState=null;if(e.eatSpace())return null;var n=t.tokenize(e,t);return t.startOfLine=!1,n&&(t.last=n),s.hasOwnProperty(n)?s[n]:n},blankLine:function(e){if(e.subMode&&e.subMode.blankLine)return e.subMode.blankLine(e.subState)},innerMode:function(e){return e.subMode?{state:e.subState,mode:e.subMode}:{state:e,mode:$}}};return $}),"htmlmixed","ruby"),e.defineMIME("text/x-slim","slim"),e.defineMIME("application/x-slim","slim")}(n(23326),n(38425),n(53019))},57434:(e,t,n)=>{!function(e){"use strict";e.defineMode("smalltalk",(function(e){var t=/[+\-\/\\*~<>=@%|&?!.,:;^]/,n=/true|false|nil|self|super|thisContext/,r=function(e,t){this.next=e,this.parent=t},i=function(e,t,n){this.name=e,this.context=t,this.eos=n},o=function(){this.context=new r(a,null),this.expectVariable=!0,this.indentation=0,this.userIndentationDelta=0};o.prototype.userIndent=function(t){this.userIndentationDelta=t>0?t/e.indentUnit-this.indentation:0};var a=function(e,o,a){var d=new i(null,o,!1),p=e.next();return'"'===p?d=s(e,new r(s,o)):"'"===p?d=l(e,new r(l,o)):"#"===p?"'"===e.peek()?(e.next(),d=u(e,new r(u,o))):e.eatWhile(/[^\s.{}\[\]()]/)?d.name="string-2":d.name="meta":"$"===p?("<"===e.next()&&(e.eatWhile(/[^\s>]/),e.next()),d.name="string-2"):"|"===p&&a.expectVariable?d.context=new r(c,o):/[\[\]{}()]/.test(p)?(d.name="bracket",d.eos=/[\[{(]/.test(p),"["===p?a.indentation++:"]"===p&&(a.indentation=Math.max(0,a.indentation-1))):t.test(p)?(e.eatWhile(t),d.name="operator",d.eos=";"!==p):/\d/.test(p)?(e.eatWhile(/[\w\d]/),d.name="number"):/[\w_]/.test(p)?(e.eatWhile(/[\w\d_]/),d.name=a.expectVariable?n.test(e.current())?"keyword":"variable":null):d.eos=a.expectVariable,d},s=function(e,t){return e.eatWhile(/[^"]/),new i("comment",e.eat('"')?t.parent:t,!0)},l=function(e,t){return e.eatWhile(/[^']/),new i("string",e.eat("'")?t.parent:t,!1)},u=function(e,t){return e.eatWhile(/[^']/),new i("string-2",e.eat("'")?t.parent:t,!1)},c=function(e,t){var n=new i(null,t,!1);return"|"===e.next()?(n.context=t.parent,n.eos=!0):(e.eatWhile(/[^|]/),n.name="variable"),n};return{startState:function(){return new o},token:function(e,t){if(t.userIndent(e.indentation()),e.eatSpace())return null;var n=t.context.next(e,t.context,t);return t.context=n.context,t.expectVariable=n.eos,n.name},blankLine:function(e){e.userIndent(0)},indent:function(t,n){var r=t.context.next===a&&n&&"]"===n.charAt(0)?-1:t.userIndentationDelta;return(t.indentation+r)*e.indentUnit},electricChars:"]"}})),e.defineMIME("text/x-stsrc",{name:"smalltalk"})}(n(23326))},69595:(e,t,n)=>{!function(e){"use strict";e.defineMode("smarty",(function(t,n){var r,i=n.rightDelimiter||"}",o=n.leftDelimiter||"{",a=n.version||2,s=e.getMode(t,n.baseMode||"null"),l=["debug","extends","function","include","literal"],u={operatorChars:/[+\-*&%=<>!?]/,validIdentifier:/[a-zA-Z0-9_]/,stringChar:/['"]/};function c(e,t){return r=t,e}function d(e,t){return null==t&&(t=e.pos),3===a&&"{"==o&&(t==e.string.length||/\s/.test(e.string.charAt(t)))}function p(e,t){for(var n=e.string,a=e.pos;;){var l=n.indexOf(o,a);if(a=l+o.length,-1==l||!d(e,l+o.length))break}if(l==e.pos)return e.match(o),e.eat("*")?function(e,t,n){return t.tokenize=n,n(e,t)}(e,t,(u="comment",c="*"+i,function(e,t){for(;!e.eol();){if(e.match(c)){t.tokenize=p;break}e.next()}return u})):(t.depth++,t.tokenize=f,r="startTag","tag");var u,c;l>-1&&(e.string=n.slice(0,l));var h=s.token(e,t.base);return l>-1&&(e.string=n),h}function f(e,t){if(e.match(i,!0))return 3===a?(t.depth--,t.depth<=0&&(t.tokenize=p)):t.tokenize=p,c("tag",null);if(e.match(o,!0))return t.depth++,c("tag","startTag");var n,s=e.next();if("$"==s)return e.eatWhile(u.validIdentifier),c("variable-2","variable");if("|"==s)return c("operator","pipe");if("."==s)return c("operator","property");if(u.stringChar.test(s))return t.tokenize=(n=s,function(e,t){for(var r=null,i=null;!e.eol();){if(i=e.peek(),e.next()==n&&"\\"!==r){t.tokenize=f;break}r=i}return"string"}),c("string","string");if(u.operatorChars.test(s))return e.eatWhile(u.operatorChars),c("operator","operator");if("["==s||"]"==s)return c("bracket","bracket");if("("==s||")"==s)return c("bracket","operator");if(/\d/.test(s))return e.eatWhile(/\d/),c("number","number");if("variable"==t.last){if("@"==s)return e.eatWhile(u.validIdentifier),c("property","property");if("|"==s)return e.eatWhile(u.validIdentifier),c("qualifier","modifier")}else{if("pipe"==t.last)return e.eatWhile(u.validIdentifier),c("qualifier","modifier");if("whitespace"==t.last)return e.eatWhile(u.validIdentifier),c("attribute","modifier")}if("property"==t.last)return e.eatWhile(u.validIdentifier),c("property",null);if(/\s/.test(s))return r="whitespace",null;var d="";"/"!=s&&(d+=s);for(var h=null;h=e.eat(u.validIdentifier);)d+=h;for(var m=0,g=l.length;m{!function(e){"use strict";e.defineMode("solr",(function(){var e=/[^\s\|\!\+\-\*\?\~\^\&\:\(\)\[\]\{\}\"\\]/,t=/[\|\!\+\-\*\?\~\^\&]/,n=/^(OR|AND|NOT|TO)$/i;function r(t){return function(r,o){for(var a=t;(t=r.peek())&&null!=t.match(e);)a+=r.next();return o.tokenize=i,n.test(a)?"operator":function(e){return parseFloat(e).toString()===e}(a)?"number":":"==r.peek()?"field":"string"}}function i(n,o){var a,s,l=n.next();return'"'==l?o.tokenize=(s=l,function(e,t){for(var n,r=!1;null!=(n=e.next())&&(n!=s||r);)r=!r&&"\\"==n;return r||(t.tokenize=i),"string"}):t.test(l)?o.tokenize=(a=l,function(e,t){var n="operator";return"+"==a?n+=" positive":"-"==a?n+=" negative":"|"==a?e.eat(/\|/):"&"==a?e.eat(/\&/):"^"==a&&(n+=" boost"),t.tokenize=i,n}):e.test(l)&&(o.tokenize=r(l)),o.tokenize!=i?o.tokenize(n,o):null}return{startState:function(){return{tokenize:i}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)}}})),e.defineMIME("text/x-solr","solr")}(n(23326))},34785:(e,t,n)=>{!function(e){"use strict";var t={noEndTag:!0,soyState:"param-def"},n={alias:{noEndTag:!0},delpackage:{noEndTag:!0},namespace:{noEndTag:!0,soyState:"namespace-def"},"@attribute":t,"@attribute?":t,"@param":t,"@param?":t,"@inject":t,"@inject?":t,"@state":t,template:{soyState:"templ-def",variableScope:!0},extern:{soyState:"param-def"},export:{soyState:"export"},literal:{},msg:{},fallbackmsg:{noEndTag:!0,reduceIndent:!0},select:{},plural:{},let:{soyState:"var-def"},if:{},javaimpl:{},jsimpl:{},elseif:{noEndTag:!0,reduceIndent:!0},else:{noEndTag:!0,reduceIndent:!0},switch:{},case:{noEndTag:!0,reduceIndent:!0},default:{noEndTag:!0,reduceIndent:!0},foreach:{variableScope:!0,soyState:"for-loop"},ifempty:{noEndTag:!0,reduceIndent:!0},for:{variableScope:!0,soyState:"for-loop"},call:{soyState:"templ-ref"},param:{soyState:"param-ref"},print:{noEndTag:!0},deltemplate:{soyState:"templ-def",variableScope:!0},delcall:{soyState:"templ-ref"},log:{},element:{variableScope:!0},velog:{},const:{soyState:"const-def"}},r=Object.keys(n).filter((function(e){return!n[e].noEndTag||n[e].reduceIndent}));e.defineMode("soy",(function(t){var i=e.getMode(t,"text/plain"),o={html:e.getMode(t,{name:"text/html",multilineTagIndentFactor:2,multilineTagIndentPastTag:!1,allowMissingTagName:!0}),attributes:i,text:i,uri:i,trusted_resource_uri:i,css:e.getMode(t,"text/css"),js:e.getMode(t,{name:"text/javascript",statementIndent:2*t.indentUnit})};function a(e){return e[e.length-1]}function s(e,t,n){if(e.sol()){for(var r=0;r]=?)/)?"operator":(n=e.match(/^\$([\w]+)/))?c(t.variables,n[1],!t.lookupVariables):(n=e.match(/^\w+/))?/^(?:as|and|or|not|in|if)$/.test(n[0])?"keyword":null:(e.next(),null)}return{startState:function(){return{soyState:[],variables:l(null,"ij"),scopes:null,indent:0,quoteKind:null,context:null,lookupVariables:!0,localStates:[{mode:o.html,state:e.startState(o.html)}]}},copyState:function(t){return{tag:t.tag,soyState:t.soyState.concat([]),variables:t.variables,context:t.context,indent:t.indent,quoteKind:t.quoteKind,lookupVariables:t.lookupVariables,localStates:t.localStates.map((function(t){return{mode:t.mode,state:e.copyState(t.mode,t.state)}}))}},token:function(i,f){switch(a(f.soyState)){case"comment":if(i.match(/^.*?\*\//)?f.soyState.pop():i.skipToEnd(),!f.context||!f.context.scope)for(var h=/@param\??\s+(\S+)/g,m=i.current();g=h.exec(m);)f.variables=l(f.variables,g[1]);return"comment";case"string":var g;return(g=i.match(/^.*?(["']|\\[\s\S])/))?g[1]==f.quoteKind&&(f.quoteKind=null,f.soyState.pop()):i.skipToEnd(),"string"}if(!f.soyState.length||"literal"!=a(f.soyState)){if(i.match(/^\/\*/))return f.soyState.push("comment"),"comment";if(i.match(i.sol()?/^\s*\/\/.*/:/^\s+\/\/.*/))return"comment"}switch(a(f.soyState)){case"templ-def":return(g=i.match(/^\.?([\w]+(?!\.[\w]+)*)/))?(f.soyState.pop(),"def"):(i.next(),null);case"templ-ref":return(g=i.match(/(\.?[a-zA-Z_][a-zA-Z_0-9]+)+/))?(f.soyState.pop(),"."==g[0][0]?"variable-2":"variable"):(g=i.match(/^\$([\w]+)/))?(f.soyState.pop(),c(f.variables,g[1],!f.lookupVariables)):(i.next(),null);case"namespace-def":return(g=i.match(/^\.?([\w\.]+)/))?(f.soyState.pop(),"variable"):(i.next(),null);case"param-def":return(g=i.match(/^\*/))?(f.soyState.pop(),f.soyState.push("param-type"),"type"):(g=i.match(/^\w+/))?(f.variables=l(f.variables,g[0]),f.soyState.pop(),f.soyState.push("param-type"),"def"):(i.next(),null);case"param-ref":return(g=i.match(/^\w+/))?(f.soyState.pop(),"property"):(i.next(),null);case"open-parentheses":return i.match(/[)]/)?(f.soyState.pop(),null):p(i,f);case"param-type":var v=i.peek();return-1!="}]=>,".indexOf(v)?(f.soyState.pop(),null):"["==v?(f.soyState.push("param-type-record"),null):"("==v?(f.soyState.push("param-type-template"),null):"<"==v?(f.soyState.push("param-type-parameter"),null):(g=i.match(/^([\w]+|[?])/))?"type":(i.next(),null);case"param-type-record":return"]"==(v=i.peek())?(f.soyState.pop(),null):i.match(/^\w+/)?(f.soyState.push("param-type"),"property"):(i.next(),null);case"param-type-parameter":return i.match(/^[>]/)?(f.soyState.pop(),null):i.match(/^[<,]/)?(f.soyState.push("param-type"),null):(i.next(),null);case"param-type-template":return i.match(/[>]/)?(f.soyState.pop(),f.soyState.push("param-type"),null):i.match(/^\w+/)?(f.soyState.push("param-type"),"def"):(i.next(),null);case"var-def":return(g=i.match(/^\$([\w]+)/))?(f.variables=l(f.variables,g[1]),f.soyState.pop(),"def"):(i.next(),null);case"for-loop":return i.match(/\bin\b/)?(f.soyState.pop(),"keyword"):"$"==i.peek()?(f.soyState.push("var-def"),null):(i.next(),null);case"record-literal":return i.match(/^[)]/)?(f.soyState.pop(),null):i.match(/[(,]/)?(f.soyState.push("map-value"),f.soyState.push("record-key"),null):(i.next(),null);case"map-literal":return i.match(/^[)]/)?(f.soyState.pop(),null):i.match(/[(,]/)?(f.soyState.push("map-value"),f.soyState.push("map-value"),null):(i.next(),null);case"list-literal":return i.match("]")?(f.soyState.pop(),f.lookupVariables=!0,u(f),null):i.match(/\bfor\b/)?(f.lookupVariables=!0,f.soyState.push("for-loop"),"keyword"):p(i,f);case"record-key":return i.match(/[\w]+/)?"property":i.match(/^[:]/)?(f.soyState.pop(),null):(i.next(),null);case"map-value":return")"==i.peek()||","==i.peek()||i.match(/^[:)]/)?(f.soyState.pop(),null):p(i,f);case"import":return i.eat(";")?(f.soyState.pop(),f.indent-=2*t.indentUnit,null):i.match(/\w+(?=\s+as\b)/)?"variable":(g=i.match(/\w+/))?/\b(from|as)\b/.test(g[0])?"keyword":"def":(g=i.match(/^["']/))?(f.soyState.push("string"),f.quoteKind=g[0],"string"):(i.next(),null);case"tag":void 0===f.tag?(k=!0,C=""):C=(k="/"==f.tag[0])?f.tag.substring(1):f.tag;var y=n[C];if(i.match(/^\/?}/)){var b="/}"==i.current();return b&&!k&&u(f),"/template"==f.tag||"/deltemplate"==f.tag?(f.variables=l(null,"ij"),f.indent=0):f.indent-=t.indentUnit*(b||-1==r.indexOf(f.tag)?2:1),f.soyState.pop(),"keyword"}if(i.match(/^([\w?]+)(?==)/)){if(f.context&&f.context.tag==C&&"kind"==i.current()&&(g=i.match(/^="([^"]+)/,!1))){var w=g[1];f.context.kind=w;var _=o[w]||o.html;(T=a(f.localStates)).mode.indent&&(f.indent+=T.mode.indent(T.state,"","")),f.localStates.push({mode:_,state:e.startState(_)})}return"attribute"}return p(i,f);case"template-call-expression":return i.match(/^([\w-?]+)(?==)/)?"attribute":i.eat(">")||i.eat("/>")?(f.soyState.pop(),"keyword"):p(i,f);case"literal":return i.match("{/literal}",!1)?(f.soyState.pop(),this.token(i,f)):s(i,f,/\{\/literal}/);case"export":if(g=i.match(/\w+/)){if(f.soyState.pop(),"const"==g)return f.soyState.push("const-def"),"keyword";if("extern"==g)return f.soyState.push("param-def"),"keyword"}else i.next();return null;case"const-def":return i.match(/^\w+/)?(f.soyState.pop(),"def"):(i.next(),null)}if(i.match("{literal}"))return f.indent+=t.indentUnit,f.soyState.push("literal"),f.context=new d(f.context,"literal",f.variables),"keyword";if(g=i.match(/^\{([/@\\]?\w+\??)(?=$|[\s}]|\/[/*])/)){var x=f.tag;f.tag=g[1];var k="/"==f.tag[0],E=!!n[f.tag],C=k?f.tag.substring(1):f.tag;y=n[C],"/switch"!=f.tag&&(f.indent+=((k||y&&y.reduceIndent)&&"switch"!=x?1:2)*t.indentUnit),f.soyState.push("tag");var S=!1;if(y)if(k||y.soyState&&f.soyState.push(y.soyState),y.noEndTag||!E&&k){if(k){var A="extern"==C&&f.context&&"export"==f.context.tag;if(!f.context||f.context.tag!=C&&!A)S=!0;else if(f.context){var T;f.context.kind&&(f.localStates.pop(),(T=a(f.localStates)).mode.indent&&(f.indent-=T.mode.indent(T.state,"",""))),u(f)}}}else f.context=new d(f.context,f.tag,y.variableScope?f.variables:null);else k&&(S=!0);return(S?"error ":"")+"keyword"}return i.eat("{")?(f.tag="print",f.indent+=2*t.indentUnit,f.soyState.push("tag"),"keyword"):!f.context&&i.sol()&&i.match(/import\b/)?(f.soyState.push("import"),f.indent+=2*t.indentUnit,"keyword"):(g=i.match("<{"))?(f.soyState.push("template-call-expression"),f.indent+=2*t.indentUnit,f.soyState.push("tag"),"keyword"):(g=i.match(""))?(f.indent-=1*t.indentUnit,"keyword"):s(i,f,/\{|\s+\/\/|\/\*/)},indent:function(n,r,i){var o=n.indent,s=a(n.soyState);if("comment"==s)return e.Pass;if("literal"==s)/^\{\/literal}/.test(r)&&(o-=t.indentUnit);else{if(/^\s*\{\/(template|deltemplate)\b/.test(r))return 0;/^\{(\/|(fallbackmsg|elseif|else|ifempty)\b)/.test(r)&&(o-=t.indentUnit),"switch"!=n.tag&&/^\{(case|default)\b/.test(r)&&(o-=t.indentUnit),/^\{\/switch\b/.test(r)&&(o-=t.indentUnit)}var l=a(n.localStates);return o&&l.mode.indent&&(o+=l.mode.indent(l.state,r,i)),o},innerMode:function(e){return e.soyState.length&&"literal"!=a(e.soyState)?null:a(e.localStates)},electricInput:/^\s*\{(\/|\/template|\/deltemplate|\/switch|fallbackmsg|elseif|else|case|default|ifempty|\/literal\})$/,lineComment:"//",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",useInnerComments:!1,fold:"indent"}}),"htmlmixed"),e.registerHelper("wordChars","soy",/[\w$]/),e.registerHelper("hintWords","soy",Object.keys(n).concat(["css","debugger"])),e.defineMIME("text/x-soy","soy")}(n(23326),n(38425))},16683:(e,t,n)=>{!function(e){"use strict";e.defineMode("sparql",(function(e){var t,n=e.indentUnit;function r(e){return new RegExp("^(?:"+e.join("|")+")$","i")}var i=r(["str","lang","langmatches","datatype","bound","sameterm","isiri","isuri","iri","uri","bnode","count","sum","min","max","avg","sample","group_concat","rand","abs","ceil","floor","round","concat","substr","strlen","replace","ucase","lcase","encode_for_uri","contains","strstarts","strends","strbefore","strafter","year","month","day","hours","minutes","seconds","timezone","tz","now","uuid","struuid","md5","sha1","sha256","sha384","sha512","coalesce","if","strlang","strdt","isnumeric","regex","exists","isblank","isliteral","a","bind"]),o=r(["base","prefix","select","distinct","reduced","construct","describe","ask","from","named","where","order","limit","offset","filter","optional","graph","by","asc","desc","as","having","undef","values","group","minus","in","not","service","silent","using","insert","delete","union","true","false","with","data","copy","to","move","add","create","drop","clear","load","into"]),a=/[*+\-<>=&|\^\/!\?]/,s="[A-Za-z_\\-0-9]",l=new RegExp("[A-Za-z]"),u=new RegExp("(("+s+"|\\.)*("+s+"))?:");function c(e,n){var r,s=e.next();if(t=null,"$"==s||"?"==s)return"?"==s&&e.match(/\s/,!1)?"operator":(e.match(/^[A-Za-z0-9_\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][A-Za-z0-9_\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]*/),"variable-2");if("<"==s&&!e.match(/^[\s\u00a0=]/,!1))return e.match(/^[^\s\u00a0>]*>?/),"atom";if('"'==s||"'"==s)return n.tokenize=(r=s,function(e,t){for(var n,i=!1;null!=(n=e.next());){if(n==r&&!i){t.tokenize=c;break}i=!i&&"\\"==n}return"string"}),n.tokenize(e,n);if(/[{}\(\),\.;\[\]]/.test(s))return t=s,"bracket";if("#"==s)return e.skipToEnd(),"comment";if(a.test(s))return"operator";if(":"==s)return d(e),"atom";if("@"==s)return e.eatWhile(/[a-z\d\-]/i),"meta";if(l.test(s)&&e.match(u))return d(e),"atom";e.eatWhile(/[_\w\d]/);var p=e.current();return i.test(p)?"builtin":o.test(p)?"keyword":"variable"}function d(e){e.match(/(\.(?=[\w_\-\\%])|[:\w_-]|\\[-\\_~.!$&'()*+,;=/?#@%]|%[a-f\d][a-f\d])+/i)}function p(e,t,n){e.context={prev:e.context,indent:e.indent,col:n,type:t}}function f(e){e.indent=e.context.indent,e.context=e.context.prev}return{startState:function(){return{tokenize:c,context:null,indent:0,col:0}},token:function(e,n){if(e.sol()&&(n.context&&null==n.context.align&&(n.context.align=!1),n.indent=e.indentation()),e.eatSpace())return null;var r=n.tokenize(e,n);if("comment"!=r&&n.context&&null==n.context.align&&"pattern"!=n.context.type&&(n.context.align=!0),"("==t)p(n,")",e.column());else if("["==t)p(n,"]",e.column());else if("{"==t)p(n,"}",e.column());else if(/[\]\}\)]/.test(t)){for(;n.context&&"pattern"==n.context.type;)f(n);n.context&&t==n.context.type&&(f(n),"}"==t&&n.context&&"pattern"==n.context.type&&f(n))}else"."==t&&n.context&&"pattern"==n.context.type?f(n):/atom|string|variable/.test(r)&&n.context&&(/[\}\]]/.test(n.context.type)?p(n,"pattern",e.column()):"pattern"!=n.context.type||n.context.align||(n.context.align=!0,n.context.col=e.column()));return r},indent:function(e,t){var r=t&&t.charAt(0),i=e.context;if(/[\]\}]/.test(r))for(;i&&"pattern"==i.type;)i=i.prev;var o=i&&r==i.type;return i?"pattern"==i.type?i.col:i.align?i.col+(o?0:1):i.indent+(o?0:n):0},lineComment:"#"}})),e.defineMIME("application/sparql-query","sparql")}(n(23326))},77977:(e,t,n)=>{!function(e){"use strict";e.defineMode("spreadsheet",(function(){return{startState:function(){return{stringType:null,stack:[]}},token:function(e,t){if(e){switch(0===t.stack.length&&('"'!=e.peek()&&"'"!=e.peek()||(t.stringType=e.peek(),e.next(),t.stack.unshift("string"))),t.stack[0]){case"string":for(;"string"===t.stack[0]&&!e.eol();)e.peek()===t.stringType?(e.next(),t.stack.shift()):"\\"===e.peek()?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return"string";case"characterClass":for(;"characterClass"===t.stack[0]&&!e.eol();)e.match(/^[^\]\\]+/)||e.match(/^\\./)||t.stack.shift();return"operator"}var n=e.peek();switch(n){case"[":return e.next(),t.stack.unshift("characterClass"),"bracket";case":":return e.next(),"operator";case"\\":return e.match(/\\[a-z]+/)?"string-2":(e.next(),"atom");case".":case",":case";":case"*":case"-":case"+":case"^":case"<":case"/":case"=":return e.next(),"atom";case"$":return e.next(),"builtin"}return e.match(/\d+/)?e.match(/^\w+/)?"error":"number":e.match(/^[a-zA-Z_]\w*/)?e.match(/(?=[\(.])/,!1)?"keyword":"variable-2":-1!=["[","]","(",")","{","}"].indexOf(n)?(e.next(),"bracket"):(e.eatSpace()||e.next(),null)}}}})),e.defineMIME("text/x-spreadsheet","spreadsheet")}(n(23326))},14149:(e,t,n)=>{!function(e){"use strict";function t(e){for(var t;null!=(t=e.next());)if("`"==t&&!e.eat("`"))return"variable-2";return e.backUp(e.current().length-1),e.eatWhile(/\w/)?"variable-2":null}function n(e){return e.eat("@")&&(e.match("session."),e.match("local."),e.match("global.")),e.eat("'")?(e.match(/^.*'/),"variable-2"):e.eat('"')?(e.match(/^.*"/),"variable-2"):e.eat("`")?(e.match(/^.*`/),"variable-2"):e.match(/^[0-9a-zA-Z$\.\_]+/)?"variable-2":null}function r(e){return e.eat("N")?"atom":e.match(/^[a-zA-Z.#!?]/)?"variable-2":null}e.defineMode("sql",(function(t,n){var r=n.client||{},s=n.atoms||{false:!0,true:!0,null:!0},l=n.builtin||o(a),u=n.keywords||o(i),c=n.operatorChars||/^[*+\-%<>!=&|~^\/]/,d=n.support||{},p=n.hooks||{},f=n.dateSQL||{date:!0,time:!0,timestamp:!0},h=!1!==n.backslashStringEscapes,m=n.brackets||/^[\{}\(\)\[\]]/,g=n.punctuation||/^[;.,:]/;function v(e,t){var n=e.next();if(p[n]){var i=p[n](e,t);if(!1!==i)return i}if(d.hexNumber&&("0"==n&&e.match(/^[xX][0-9a-fA-F]+/)||("x"==n||"X"==n)&&e.match(/^'[0-9a-fA-F]*'/)))return"number";if(d.binaryNumber&&(("b"==n||"B"==n)&&e.match(/^'[01]*'/)||"0"==n&&e.match(/^b[01]+/)))return"number";if(n.charCodeAt(0)>47&&n.charCodeAt(0)<58)return e.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),d.decimallessFloat&&e.match(/^\.(?!\.)/),"number";if("?"==n&&(e.eatSpace()||e.eol()||e.eat(";")))return"variable-3";if("'"==n||'"'==n&&d.doubleQuote)return t.tokenize=y(n),t.tokenize(e,t);if((d.nCharCast&&("n"==n||"N"==n)||d.charsetCast&&"_"==n&&e.match(/[a-z][a-z0-9]*/i))&&("'"==e.peek()||'"'==e.peek()))return"keyword";if(d.escapeConstant&&("e"==n||"E"==n)&&("'"==e.peek()||'"'==e.peek()&&d.doubleQuote))return t.tokenize=function(e,t){return(t.tokenize=y(e.next(),!0))(e,t)},"keyword";if(d.commentSlashSlash&&"/"==n&&e.eat("/"))return e.skipToEnd(),"comment";if(d.commentHash&&"#"==n||"-"==n&&e.eat("-")&&(!d.commentSpaceRequired||e.eat(" ")))return e.skipToEnd(),"comment";if("/"==n&&e.eat("*"))return t.tokenize=b(1),t.tokenize(e,t);if("."!=n){if(c.test(n))return e.eatWhile(c),"operator";if(m.test(n))return"bracket";if(g.test(n))return e.eatWhile(g),"punctuation";if("{"==n&&(e.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||e.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";e.eatWhile(/^[_\w\d]/);var o=e.current().toLowerCase();return f.hasOwnProperty(o)&&(e.match(/^( )+'[^']*'/)||e.match(/^( )+"[^"]*"/))?"number":s.hasOwnProperty(o)?"atom":l.hasOwnProperty(o)?"type":u.hasOwnProperty(o)?"keyword":r.hasOwnProperty(o)?"builtin":null}return d.zerolessFloat&&e.match(/^(?:\d+(?:e[+-]?\d+)?)/i)?"number":e.match(/^\.+/)?null:e.match(/^[\w\d_$#]+/)?"variable-2":void 0}function y(e,t){return function(n,r){for(var i,o=!1;null!=(i=n.next());){if(i==e&&!o){r.tokenize=v;break}o=(h||t)&&!o&&"\\"==i}return"string"}}function b(e){return function(t,n){var r=t.match(/^.*?(\/\*|\*\/)/);return r?"/*"==r[1]?n.tokenize=b(e+1):n.tokenize=e>1?b(e-1):v:t.skipToEnd(),"comment"}}function w(e,t,n){t.context={prev:t.context,indent:e.indentation(),col:e.column(),type:n}}return{startState:function(){return{tokenize:v,context:null}},token:function(e,t){if(e.sol()&&t.context&&null==t.context.align&&(t.context.align=!1),t.tokenize==v&&e.eatSpace())return null;var n=t.tokenize(e,t);if("comment"==n)return n;t.context&&null==t.context.align&&(t.context.align=!0);var r=e.current();return"("==r?w(e,t,")"):"["==r?w(e,t,"]"):t.context&&t.context.type==r&&function(e){e.indent=e.context.indent,e.context=e.context.prev}(t),n},indent:function(n,r){var i=n.context;if(!i)return e.Pass;var o=r.charAt(0)==i.type;return i.align?i.col+(o?0:1):i.indent+(o?0:t.indentUnit)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:d.commentSlashSlash?"//":d.commentHash?"#":"--",closeBrackets:"()[]{}''\"\"``",config:n}}));var i="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function o(e){for(var t={},n=e.split(" "),r=0;r!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:o("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":n}}),e.defineMIME("text/x-mysql",{name:"sql",client:o("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:o(i+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:o("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:o("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:o("date time timestamp"),support:o("decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":n,"`":t,"\\":r}}),e.defineMIME("text/x-mariadb",{name:"sql",client:o("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:o(i+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:o("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:o("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:o("date time timestamp"),support:o("decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":n,"`":t,"\\":r}}),e.defineMIME("text/x-sqlite",{name:"sql",client:o("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:o(i+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:o("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:o("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:o("date time timestamp datetime"),support:o("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":n,":":n,"?":n,$:n,'"':function(e){for(var t;null!=(t=e.next());)if('"'==t&&!e.eat('"'))return"variable-2";return e.backUp(e.current().length-1),e.eatWhile(/\w/)?"variable-2":null},"`":t}}),e.defineMIME("text/x-cassandra",{name:"sql",client:{},keywords:o("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:o("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:o("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:o("commentSlashSlash decimallessFloat"),hooks:{}}),e.defineMIME("text/x-plsql",{name:"sql",client:o("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:o("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:o("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:o("date time timestamp"),support:o("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),e.defineMIME("text/x-hive",{name:"sql",keywords:o("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:o("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:o("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:o("date timestamp"),support:o("doubleQuote binaryNumber hexNumber")}),e.defineMIME("text/x-pgsql",{name:"sql",client:o("source"),keywords:o(i+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:o("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time zone timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:o("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:o("date time timestamp"),support:o("decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),e.defineMIME("text/x-gql",{name:"sql",keywords:o("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:o("false true"),builtin:o("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),e.defineMIME("text/x-gpsql",{name:"sql",client:o("source"),keywords:o("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:o("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:o("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:o("date time timestamp"),support:o("decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),e.defineMIME("text/x-sparksql",{name:"sql",keywords:o("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:o("abs acos acosh add_months aggregate and any approx_count_distinct approx_percentile array array_contains array_distinct array_except array_intersect array_join array_max array_min array_position array_remove array_repeat array_sort array_union arrays_overlap arrays_zip ascii asin asinh assert_true atan atan2 atanh avg base64 between bigint bin binary bit_and bit_count bit_get bit_length bit_or bit_xor bool_and bool_or boolean bround btrim cardinality case cast cbrt ceil ceiling char char_length character_length chr coalesce collect_list collect_set concat concat_ws conv corr cos cosh cot count count_if count_min_sketch covar_pop covar_samp crc32 cume_dist current_catalog current_database current_date current_timestamp current_timezone current_user date date_add date_format date_from_unix_date date_part date_sub date_trunc datediff day dayofmonth dayofweek dayofyear decimal decode degrees delimited dense_rank div double e element_at elt encode every exists exp explode explode_outer expm1 extract factorial filter find_in_set first first_value flatten float floor forall format_number format_string from_csv from_json from_unixtime from_utc_timestamp get_json_object getbit greatest grouping grouping_id hash hex hour hypot if ifnull in initcap inline inline_outer input_file_block_length input_file_block_start input_file_name inputformat instr int isnan isnotnull isnull java_method json_array_length json_object_keys json_tuple kurtosis lag last last_day last_value lcase lead least left length levenshtein like ln locate log log10 log1p log2 lower lpad ltrim make_date make_dt_interval make_interval make_timestamp make_ym_interval map map_concat map_entries map_filter map_from_arrays map_from_entries map_keys map_values map_zip_with max max_by md5 mean min min_by minute mod monotonically_increasing_id month months_between named_struct nanvl negative next_day not now nth_value ntile nullif nvl nvl2 octet_length or outputformat overlay parse_url percent_rank percentile percentile_approx pi pmod posexplode posexplode_outer position positive pow power printf quarter radians raise_error rand randn random rank rcfile reflect regexp regexp_extract regexp_extract_all regexp_like regexp_replace repeat replace reverse right rint rlike round row_number rpad rtrim schema_of_csv schema_of_json second sentences sequence sequencefile serde session_window sha sha1 sha2 shiftleft shiftright shiftrightunsigned shuffle sign signum sin sinh size skewness slice smallint some sort_array soundex space spark_partition_id split sqrt stack std stddev stddev_pop stddev_samp str_to_map string struct substr substring substring_index sum tan tanh textfile timestamp timestamp_micros timestamp_millis timestamp_seconds tinyint to_csv to_date to_json to_timestamp to_unix_timestamp to_utc_timestamp transform transform_keys transform_values translate trim trunc try_add try_divide typeof ucase unbase64 unhex uniontype unix_date unix_micros unix_millis unix_seconds unix_timestamp upper uuid var_pop var_samp variance version weekday weekofyear when width_bucket window xpath xpath_boolean xpath_double xpath_float xpath_int xpath_long xpath_number xpath_short xpath_string xxhash64 year zip_with"),atoms:o("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:o("date time timestamp"),support:o("doubleQuote zerolessFloat")}),e.defineMIME("text/x-esper",{name:"sql",client:o("source"),keywords:o("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:o("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:o("time"),support:o("decimallessFloat zerolessFloat binaryNumber hexNumber")}),e.defineMIME("text/x-trino",{name:"sql",keywords:o("abs absent acos add admin after all all_match alter analyze and any any_match approx_distinct approx_most_frequent approx_percentile approx_set arbitrary array_agg array_distinct array_except array_intersect array_join array_max array_min array_position array_remove array_sort array_union arrays_overlap as asc asin at at_timezone atan atan2 authorization avg bar bernoulli beta_cdf between bing_tile bing_tile_at bing_tile_coordinates bing_tile_polygon bing_tile_quadkey bing_tile_zoom_level bing_tiles_around bit_count bitwise_and bitwise_and_agg bitwise_left_shift bitwise_not bitwise_or bitwise_or_agg bitwise_right_shift bitwise_right_shift_arithmetic bitwise_xor bool_and bool_or both by call cardinality cascade case cast catalogs cbrt ceil ceiling char2hexint checksum chr classify coalesce codepoint column columns combinations comment commit committed concat concat_ws conditional constraint contains contains_sequence convex_hull_agg copartition corr cos cosh cosine_similarity count count_if covar_pop covar_samp crc32 create cross cube cume_dist current current_catalog current_date current_groups current_path current_role current_schema current_time current_timestamp current_timezone current_user data date_add date_diff date_format date_parse date_trunc day day_of_month day_of_week day_of_year deallocate default define definer degrees delete dense_rank deny desc describe descriptor distinct distributed dow doy drop e element_at else empty empty_approx_set encoding end error escape evaluate_classifier_predictions every except excluding execute exists exp explain extract false features fetch filter final first first_value flatten floor following for format format_datetime format_number from from_base from_base32 from_base64 from_base64url from_big_endian_32 from_big_endian_64 from_encoded_polyline from_geojson_geometry from_hex from_ieee754_32 from_ieee754_64 from_iso8601_date from_iso8601_timestamp from_iso8601_timestamp_nanos from_unixtime from_unixtime_nanos from_utf8 full functions geometric_mean geometry_from_hadoop_shape geometry_invalid_reason geometry_nearest_points geometry_to_bing_tiles geometry_union geometry_union_agg grant granted grants graphviz great_circle_distance greatest group grouping groups hamming_distance hash_counts having histogram hmac_md5 hmac_sha1 hmac_sha256 hmac_sha512 hour human_readable_seconds if ignore in including index infinity initial inner input insert intersect intersection_cardinality into inverse_beta_cdf inverse_normal_cdf invoker io is is_finite is_infinite is_json_scalar is_nan isolation jaccard_index join json_array json_array_contains json_array_get json_array_length json_exists json_extract json_extract_scalar json_format json_object json_parse json_query json_size json_value keep key keys kurtosis lag last last_day_of_month last_value lateral lead leading learn_classifier learn_libsvm_classifier learn_libsvm_regressor learn_regressor least left length level levenshtein_distance like limit line_interpolate_point line_interpolate_points line_locate_point listagg ln local localtime localtimestamp log log10 log2 logical lower lpad ltrim luhn_check make_set_digest map_agg map_concat map_entries map_filter map_from_entries map_keys map_union map_values map_zip_with match match_recognize matched matches materialized max max_by md5 measures merge merge_set_digest millisecond min min_by minute mod month multimap_agg multimap_from_entries murmur3 nan natural next nfc nfd nfkc nfkd ngrams no none none_match normal_cdf normalize not now nth_value ntile null nullif nulls numeric_histogram object objectid_timestamp of offset omit on one only option or order ordinality outer output over overflow parse_data_size parse_datetime parse_duration partition partitions passing past path pattern per percent_rank permute pi position pow power preceding prepare privileges properties prune qdigest_agg quarter quotes radians rand random range rank read recursive reduce reduce_agg refresh regexp_count regexp_extract regexp_extract_all regexp_like regexp_position regexp_replace regexp_split regr_intercept regr_slope regress rename render repeat repeatable replace reset respect restrict returning reverse revoke rgb right role roles rollback rollup round row_number rows rpad rtrim running scalar schema schemas second security seek select sequence serializable session set sets sha1 sha256 sha512 show shuffle sign simplify_geometry sin skewness skip slice some soundex spatial_partitioning spatial_partitions split split_part split_to_map split_to_multimap spooky_hash_v2_32 spooky_hash_v2_64 sqrt st_area st_asbinary st_astext st_boundary st_buffer st_centroid st_contains st_convexhull st_coorddim st_crosses st_difference st_dimension st_disjoint st_distance st_endpoint st_envelope st_envelopeaspts st_equals st_exteriorring st_geometries st_geometryfromtext st_geometryn st_geometrytype st_geomfrombinary st_interiorringn st_interiorrings st_intersection st_intersects st_isclosed st_isempty st_isring st_issimple st_isvalid st_length st_linefromtext st_linestring st_multipoint st_numgeometries st_numinteriorring st_numpoints st_overlaps st_point st_pointn st_points st_polygon st_relate st_startpoint st_symdifference st_touches st_union st_within st_x st_xmax st_xmin st_y st_ymax st_ymin start starts_with stats stddev stddev_pop stddev_samp string strpos subset substr substring sum system table tables tablesample tan tanh tdigest_agg text then ties timestamp_objectid timezone_hour timezone_minute to to_base to_base32 to_base64 to_base64url to_big_endian_32 to_big_endian_64 to_char to_date to_encoded_polyline to_geojson_geometry to_geometry to_hex to_ieee754_32 to_ieee754_64 to_iso8601 to_milliseconds to_spherical_geography to_timestamp to_unixtime to_utf8 trailing transaction transform transform_keys transform_values translate trim trim_array true truncate try try_cast type typeof uescape unbounded uncommitted unconditional union unique unknown unmatched unnest update upper url_decode url_encode url_extract_fragment url_extract_host url_extract_parameter url_extract_path url_extract_port url_extract_protocol url_extract_query use user using utf16 utf32 utf8 validate value value_at_quantile values values_at_quantiles var_pop var_samp variance verbose version view week week_of_year when where width_bucket wilson_interval_lower wilson_interval_upper window with with_timezone within without word_stem work wrapper write xxhash64 year year_of_week yow zip zip_with"),builtin:o("array bigint bingtile boolean char codepoints color date decimal double function geometry hyperloglog int integer interval ipaddress joniregexp json json2016 jsonpath kdbtree likepattern map model objectid p4hyperloglog precision qdigest re2jregexp real regressor row setdigest smallint sphericalgeography tdigest time timestamp tinyint uuid varbinary varchar zone"),atoms:o("false true null unknown"),operatorChars:/^[[\]|<>=!\-+*/%]/,dateSQL:o("date time timestamp zone"),support:o("decimallessFloat zerolessFloat hexNumber")})}(n(23326))},38234:(e,t,n)=>{!function(e){"use strict";e.defineMode("stex",(function(e,t){function n(e,t){e.cmdState.push(t)}function r(e){return e.cmdState.length>0?e.cmdState[e.cmdState.length-1]:null}function i(e,t,n){return function(){this.name=e,this.bracketNo=0,this.style=t,this.styles=n,this.argument=null,this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null},this.openBracket=function(){return this.bracketNo++,"bracket"},this.closeBracket=function(){}}}var o={};function a(e,t){e.f=t}function s(e,t){var i;if(e.match(/^\\[a-zA-Z@]+/)){var s=e.current().slice(1);return n(t,i=new(i=o.hasOwnProperty(s)?o[s]:o.DEFAULT)),a(t,u),i.style}if(e.match(/^\\[$&%#{}_]/))return"tag";if(e.match(/^\\[,;!\/\\]/))return"tag";if(e.match("\\["))return a(t,(function(e,t){return l(e,t,"\\]")})),"keyword";if(e.match("\\("))return a(t,(function(e,t){return l(e,t,"\\)")})),"keyword";if(e.match("$$"))return a(t,(function(e,t){return l(e,t,"$$")})),"keyword";if(e.match("$"))return a(t,(function(e,t){return l(e,t,"$")})),"keyword";var c=e.next();return"%"==c?(e.skipToEnd(),"comment"):"}"==c||"]"==c?(i=r(t))?(i.closeBracket(c),a(t,u),"bracket"):"error":"{"==c||"["==c?(n(t,i=new(i=o.DEFAULT)),"bracket"):/\d/.test(c)?(e.eatWhile(/[\w.%]/),"atom"):(e.eatWhile(/[\w\-_]/),"begin"==(i=function(e){for(var t=e.cmdState,n=t.length-1;n>=0;n--){var r=t[n];if("DEFAULT"!=r.name)return r}return{styleIdentifier:function(){return null}}}(t)).name&&(i.argument=e.current()),i.styleIdentifier())}function l(e,t,n){if(e.eatSpace())return null;if(n&&e.match(n))return a(t,s),"keyword";if(e.match(/^\\[a-zA-Z@]+/))return"tag";if(e.match(/^[a-zA-Z]+/))return"variable-2";if(e.match(/^\\[$&%#{}_]/))return"tag";if(e.match(/^\\[,;!\/]/))return"tag";if(e.match(/^[\^_&]/))return"tag";if(e.match(/^[+\-<>|=,\/@!*:;'"`~#?]/))return null;if(e.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";var r=e.next();return"{"==r||"}"==r||"["==r||"]"==r||"("==r||")"==r?"bracket":"%"==r?(e.skipToEnd(),"comment"):"error"}function u(e,t){var n=e.peek();return"{"==n||"["==n?(r(t).openBracket(n),e.eat(n),a(t,s),"bracket"):/[ \t\r]/.test(n)?(e.eat(n),null):(a(t,s),function(e){var t=e.cmdState.pop();t&&t.closeBracket()}(t),s(e,t))}return o.importmodule=i("importmodule","tag",["string","builtin"]),o.documentclass=i("documentclass","tag",["","atom"]),o.usepackage=i("usepackage","tag",["atom"]),o.begin=i("begin","tag",["atom"]),o.end=i("end","tag",["atom"]),o.label=i("label","tag",["atom"]),o.ref=i("ref","tag",["atom"]),o.eqref=i("eqref","tag",["atom"]),o.cite=i("cite","tag",["atom"]),o.bibitem=i("bibitem","tag",["atom"]),o.Bibitem=i("Bibitem","tag",["atom"]),o.RBibitem=i("RBibitem","tag",["atom"]),o.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}},{startState:function(){return{cmdState:[],f:t.inMathMode?function(e,t){return l(e,t)}:s}},copyState:function(e){return{cmdState:e.cmdState.slice(),f:e.f}},token:function(e,t){return t.f(e,t)},blankLine:function(e){e.f=s,e.cmdState.length=0},lineComment:"%"}})),e.defineMIME("text/x-stex","stex"),e.defineMIME("text/x-latex","stex")}(n(23326))},98660:(e,t,n)=>{!function(e){"use strict";e.defineMode("stylus",(function(e){for(var f,g,v,y,b=e.indentUnit,w="",_=m(t),x=/^(a|b|i|s|col|em)$/i,k=m(o),E=m(a),C=m(u),S=m(l),A=m(n),T=h(n),O=m(i),P=m(r),D=m(s),R=/^\s*([.]{2,3}|&&|\|\||\*\*|[?!=:]?=|[-+*\/%<>]=?|\?:|\~)/,I=h(c),M=m(d),L=new RegExp(/^\-(moz|ms|o|webkit)-/i),N=m(p),j="",F={};w.length|~|\/)?\s*[\w-]*([a-z0-9-]|\*|\/\*)(\(|,)?)/),t.context.line.firstWord=j?j[0].replace(/^\s*/,""):"",t.context.line.indent=e.indentation(),f=e.peek(),e.match("//"))return e.skipToEnd(),["comment","comment"];if(e.match("/*"))return t.tokenize=z,z(e,t);if('"'==f||"'"==f)return e.next(),t.tokenize=U(f),t.tokenize(e,t);if("@"==f)return e.next(),e.eatWhile(/[\w\\-]/),["def",e.current()];if("#"==f){if(e.next(),e.match(/^[0-9a-f]{3}([0-9a-f]([0-9a-f]{2}){0,2})?\b(?!-)/i))return["atom","atom"];if(e.match(/^[a-z][\w-]*/i))return["builtin","hash"]}return e.match(L)?["meta","vendor-prefixes"]:e.match(/^-?[0-9]?\.?[0-9]/)?(e.eatWhile(/[a-z%]/i),["number","unit"]):"!"==f?(e.next(),[e.match(/^(important|optional)/i)?"keyword":"operator","important"]):"."==f&&e.match(/^\.[a-z][\w-]*/i)?["qualifier","qualifier"]:e.match(T)?("("==e.peek()&&(t.tokenize=q),["property","word"]):e.match(/^[a-z][\w-]*\(/i)?(e.backUp(1),["keyword","mixin"]):e.match(/^(\+|-)[a-z][\w-]*\(/i)?(e.backUp(1),["keyword","block-mixin"]):e.string.match(/^\s*&/)&&e.match(/^[-_]+[a-z][\w-]*/)?["qualifier","qualifier"]:e.match(/^(\/|&)(-|_|:|\.|#|[a-z])/)?(e.backUp(1),["variable-3","reference"]):e.match(/^&{1}\s*$/)?["variable-3","reference"]:e.match(I)?["operator","operator"]:e.match(/^\$?[-_]*[a-z0-9]+[\w-]*/i)?e.match(/^(\.|\[)[\w-\'\"\]]+/i,!1)&&!G(e.current())?(e.match("."),["variable-2","variable-name"]):["variable-2","word"]:e.match(R)?["operator",e.current()]:/[:;,{}\[\]\(\)]/.test(f)?(e.next(),[null,f]):(e.next(),[null,null])}function z(e,t){for(var n,r=!1;null!=(n=e.next());){if(r&&"/"==n){t.tokenize=null;break}r="*"==n}return["comment","comment"]}function U(e){return function(t,n){for(var r,i=!1;null!=(r=t.next());){if(r==e&&!i){")"==e&&t.backUp(1);break}i=!i&&"\\"==r}return(r==e||!i&&")"!=e)&&(n.tokenize=null),["string","string"]}}function q(e,t){return e.next(),e.match(/\s*[\"\')]/,!1)?t.tokenize=null:t.tokenize=U(")"),[null,"("]}function $(e,t,n,r){this.type=e,this.indent=t,this.prev=n,this.line=r||{firstWord:"",indent:0}}function W(e,t,n,r){return r=r>=0?r:b,e.context=new $(n,t.indentation()+r,e.context),n}function H(e,t){var n=e.context.indent-b;return t=t||!1,e.context=e.context.prev,t&&(e.context.indent=n),e.context.type}function V(e,t,n,r){for(var i=r||1;i>0;i--)n.context=n.context.prev;return function(e,t,n){return F[n.context.type](e,t,n)}(e,t,n)}function G(e){return e.toLowerCase()in _}function K(e){return(e=e.toLowerCase())in k||e in D}function Y(e){return e.toLowerCase()in M}function Z(e){return e.toLowerCase().match(L)}function X(e){var t=e.toLowerCase(),n="variable-2";return G(e)?n="tag":Y(e)?n="block-keyword":K(e)?n="property":t in C||t in N?n="atom":"return"==t||t in S?n="keyword":e.match(/^[A-Z]/)&&(n="string"),n}function Q(e,t){return ne(t)&&("{"==e||"]"==e||"hash"==e||"qualifier"==e)||"block-mixin"==e}function J(e,t){return"{"==e&&t.match(/^\s*\$?[\w-]+/i,!1)}function ee(e,t){return":"==e&&t.match(/^[a-z-]+/,!1)}function te(e){return e.sol()||e.string.match(new RegExp("^\\s*"+e.current().replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")))}function ne(e){return e.eol()||e.match(/^\s*$/,!1)}function re(e){var t=/^\s*[-_]*[a-z0-9]+[\w-]*/i,n="string"==typeof e?e.match(t):e.string.match(t);return n?n[0].replace(/^\s*/,""):""}return F.block=function(e,t,n){if("comment"==e&&te(t)||","==e&&ne(t)||"mixin"==e)return W(n,t,"block",0);if(J(e,t))return W(n,t,"interpolation");if(ne(t)&&"]"==e&&!/^\s*(\.|#|:|\[|\*|&)/.test(t.string)&&!G(re(t)))return W(n,t,"block",0);if(Q(e,t))return W(n,t,"block");if("}"==e&&ne(t))return W(n,t,"block",0);if("variable-name"==e)return t.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/)||Y(re(t))?W(n,t,"variableName"):W(n,t,"variableName",0);if("="==e)return ne(t)||Y(re(t))?W(n,t,"block"):W(n,t,"block",0);if("*"==e&&(ne(t)||t.match(/\s*(,|\.|#|\[|:|{)/,!1)))return y="tag",W(n,t,"block");if(ee(e,t))return W(n,t,"pseudo");if(/@(font-face|media|supports|(-moz-)?document)/.test(e))return W(n,t,ne(t)?"block":"atBlock");if(/@(-(moz|ms|o|webkit)-)?keyframes$/.test(e))return W(n,t,"keyframes");if(/@extends?/.test(e))return W(n,t,"extend",0);if(e&&"@"==e.charAt(0))return t.indentation()>0&&K(t.current().slice(1))?(y="variable-2","block"):/(@import|@require|@charset)/.test(e)?W(n,t,"block",0):W(n,t,"block");if("reference"==e&&ne(t))return W(n,t,"block");if("("==e)return W(n,t,"parens");if("vendor-prefixes"==e)return W(n,t,"vendorPrefixes");if("word"==e){var r=t.current();if("property"==(y=X(r)))return te(t)?W(n,t,"block",0):(y="atom","block");if("tag"==y){if(/embed|menu|pre|progress|sub|table/.test(r)&&K(re(t)))return y="atom","block";if(t.string.match(new RegExp("\\[\\s*"+r+"|"+r+"\\s*\\]")))return y="atom","block";if(x.test(r)&&(te(t)&&t.string.match(/=/)||!te(t)&&!t.string.match(/^(\s*\.|#|\&|\[|\/|>|\*)/)&&!G(re(t))))return y="variable-2",Y(re(t))?"block":W(n,t,"block",0);if(ne(t))return W(n,t,"block")}if("block-keyword"==y)return y="keyword",t.current(/(if|unless)/)&&!te(t)?"block":W(n,t,"block");if("return"==r)return W(n,t,"block",0);if("variable-2"==y&&t.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/))return W(n,t,"block")}return n.context.type},F.parens=function(e,t,n){if("("==e)return W(n,t,"parens");if(")"==e)return"parens"==n.context.prev.type?H(n):t.string.match(/^[a-z][\w-]*\(/i)&&ne(t)||Y(re(t))||/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(re(t))||!t.string.match(/^-?[a-z][\w-\.\[\]\'\"]*\s*=/)&&G(re(t))?W(n,t,"block"):t.string.match(/^[\$-]?[a-z][\w-\.\[\]\'\"]*\s*=/)||t.string.match(/^\s*(\(|\)|[0-9])/)||t.string.match(/^\s+[a-z][\w-]*\(/i)||t.string.match(/^\s+[\$-]?[a-z]/i)?W(n,t,"block",0):ne(t)?W(n,t,"block"):W(n,t,"block",0);if(e&&"@"==e.charAt(0)&&K(t.current().slice(1))&&(y="variable-2"),"word"==e){var r=t.current();"tag"==(y=X(r))&&x.test(r)&&(y="variable-2"),"property"!=y&&"to"!=r||(y="atom")}return"variable-name"==e?W(n,t,"variableName"):ee(e,t)?W(n,t,"pseudo"):n.context.type},F.vendorPrefixes=function(e,t,n){return"word"==e?(y="property",W(n,t,"block",0)):H(n)},F.pseudo=function(e,t,n){return K(re(t.string))?V(e,t,n):(t.match(/^[a-z-]+/),y="variable-3",ne(t)?W(n,t,"block"):H(n))},F.atBlock=function(e,t,n){if("("==e)return W(n,t,"atBlock_parens");if(Q(e,t))return W(n,t,"block");if(J(e,t))return W(n,t,"interpolation");if("word"==e){var r=t.current().toLowerCase();if("tag"==(y=/^(only|not|and|or)$/.test(r)?"keyword":A.hasOwnProperty(r)?"tag":P.hasOwnProperty(r)?"attribute":O.hasOwnProperty(r)?"property":E.hasOwnProperty(r)?"string-2":X(t.current()))&&ne(t))return W(n,t,"block")}return"operator"==e&&/^(not|and|or)$/.test(t.current())&&(y="keyword"),n.context.type},F.atBlock_parens=function(e,t,n){if("{"==e||"}"==e)return n.context.type;if(")"==e)return ne(t)?W(n,t,"block"):W(n,t,"atBlock");if("word"==e){var r=t.current().toLowerCase();return y=X(r),/^(max|min)/.test(r)&&(y="property"),"tag"==y&&(y=x.test(r)?"variable-2":"atom"),n.context.type}return F.atBlock(e,t,n)},F.keyframes=function(e,t,n){return"0"==t.indentation()&&("}"==e&&te(t)||"]"==e||"hash"==e||"qualifier"==e||G(t.current()))?V(e,t,n):"{"==e?W(n,t,"keyframes"):"}"==e?te(t)?H(n,!0):W(n,t,"keyframes"):"unit"==e&&/^[0-9]+\%$/.test(t.current())?W(n,t,"keyframes"):"word"==e&&"block-keyword"==(y=X(t.current()))?(y="keyword",W(n,t,"keyframes")):/@(font-face|media|supports|(-moz-)?document)/.test(e)?W(n,t,ne(t)?"block":"atBlock"):"mixin"==e?W(n,t,"block",0):n.context.type},F.interpolation=function(e,t,n){return"{"==e&&H(n)&&W(n,t,"block"),"}"==e?t.string.match(/^\s*(\.|#|:|\[|\*|&|>|~|\+|\/)/i)||t.string.match(/^\s*[a-z]/i)&&G(re(t))?W(n,t,"block"):!t.string.match(/^(\{|\s*\&)/)||t.match(/\s*[\w-]/,!1)?W(n,t,"block",0):W(n,t,"block"):"variable-name"==e?W(n,t,"variableName",0):("word"==e&&"tag"==(y=X(t.current()))&&(y="atom"),n.context.type)},F.extend=function(e,t,n){return"["==e||"="==e?"extend":"]"==e?H(n):"word"==e?(y=X(t.current()),"extend"):H(n)},F.variableName=function(e,t,n){return"string"==e||"["==e||"]"==e||t.current().match(/^(\.|\$)/)?(t.current().match(/^\.[\w-]+/i)&&(y="variable-2"),"variableName"):V(e,t,n)},{startState:function(e){return{tokenize:null,state:"block",context:new $("block",e||0,null)}},token:function(e,t){return!t.tokenize&&e.eatSpace()?null:((g=(t.tokenize||B)(e,t))&&"object"==typeof g&&(v=g[1],g=g[0]),y=g,t.state=F[t.state](v,e,t),y)},indent:function(e,t,n){var r=e.context,i=t&&t.charAt(0),o=r.indent,a=re(t),s=n.match(/^\s*/)[0].replace(/\t/g,w).length,l=e.context.prev?e.context.prev.line.firstWord:"",u=e.context.prev?e.context.prev.line.indent:s;return r.prev&&("}"==i&&("block"==r.type||"atBlock"==r.type||"keyframes"==r.type)||")"==i&&("parens"==r.type||"atBlock_parens"==r.type)||"{"==i&&"at"==r.type)?o=r.indent-b:/(\})/.test(i)||(/@|\$|\d/.test(i)||/^\{/.test(t)||/^\s*\/(\/|\*)/.test(t)||/^\s*\/\*/.test(l)||/^\s*[\w-\.\[\]\'\"]+\s*(\?|:|\+)?=/i.test(t)||/^(\+|-)?[a-z][\w-]*\(/i.test(t)||/^return/.test(t)||Y(a)?o=s:/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(i)||G(a)?o=/\,\s*$/.test(l)?u:/^\s+/.test(n)&&(/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(l)||G(l))?s<=u?u:u+b:s:/,\s*$/.test(n)||!Z(a)&&!K(a)||(o=Y(l)?s<=u?u:u+b:/^\{/.test(l)?s<=u?s:u+b:Z(l)||K(l)?s>=u?u:s:/^(\.|#|:|\[|\*|&|@|\+|\-|>|~|\/)/.test(l)||/=\s*$/.test(l)||G(l)||/^\$[\w-\.\[\]\'\"]/.test(l)?u+b:s)),o},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"indent"}}));var t=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","bgsound","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","nobr","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","var","video"],n=["domain","regexp","url-prefix","url"],r=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],i=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","dynamic-range","video-dynamic-range"],o=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-position","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode","font-smoothing","osx-font-smoothing"],a=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],s=["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],l=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],u=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","column","compact","condensed","conic-gradient","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","high","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","matrix","matrix3d","media-play-button","media-slider","media-sliderthumb","media-volume-slider","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeating-conic-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scale","scale3d","scaleX","scaleY","scaleZ","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","spell-out","square","square-button","standard","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","x-large","x-small","xor","xx-large","xx-small","bicubic","optimizespeed","grayscale","row","row-reverse","wrap","wrap-reverse","column-reverse","flex-start","flex-end","space-between","space-around","unset"],c=["in","and","or","not","is not","is a","is","isnt","defined","if unless"],d=["for","if","else","unless","from","to"],p=["null","true","false","href","title","type","not-allowed","readonly","disabled"],f=t.concat(n,r,i,o,a,l,u,s,c,d,p,["@font-face","@keyframes","@media","@viewport","@page","@host","@supports","@block","@css"]);function h(e){return e=e.sort((function(e,t){return t>e})),new RegExp("^(("+e.join(")|(")+"))\\b")}function m(e){for(var t={},n=0;n{!function(e){"use strict";function t(e){for(var t={},n=0;n~^?!",s=":;,.(){}[]",l=/^\-?0b[01][01_]*/,u=/^\-?0o[0-7][0-7_]*/,c=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,d=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,p=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,f=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,h=/^\#[A-Za-z]+/,m=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function g(e,t,g){if(e.sol()&&(t.indented=e.indentation()),e.eatSpace())return null;var v,w=e.peek();if("/"==w){if(e.match("//"))return e.skipToEnd(),"comment";if(e.match("/*"))return t.tokenize.push(b),b(e,t)}if(e.match(h))return"builtin";if(e.match(m))return"attribute";if(e.match(l))return"number";if(e.match(u))return"number";if(e.match(c))return"number";if(e.match(d))return"number";if(e.match(f))return"property";if(a.indexOf(w)>-1)return e.next(),"operator";if(s.indexOf(w)>-1)return e.next(),e.match(".."),"punctuation";if(v=e.match(/("""|"|')/)){var _=y.bind(null,v[0]);return t.tokenize.push(_),_(e,t)}if(e.match(p)){var x=e.current();return o.hasOwnProperty(x)?"variable-2":i.hasOwnProperty(x)?"atom":n.hasOwnProperty(x)?(r.hasOwnProperty(x)&&(t.prev="define"),"keyword"):"define"==g?"def":"variable"}return e.next(),null}function v(){var e=0;return function(t,n,r){var i=g(t,n,r);if("punctuation"==i)if("("==t.current())++e;else if(")"==t.current()){if(0==e)return t.backUp(1),n.tokenize.pop(),n.tokenize[n.tokenize.length-1](t,n);--e}return i}}function y(e,t,n){for(var r,i=1==e.length,o=!1;r=t.peek();)if(o){if(t.next(),"("==r)return n.tokenize.push(v()),"string";o=!1}else{if(t.match(e))return n.tokenize.pop(),"string";t.next(),o="\\"==r}return i&&n.tokenize.pop(),"string"}function b(e,t){for(var n;n=e.next();)if("/"===n&&e.eat("*"))t.tokenize.push(b);else if("*"===n&&e.eat("/")){t.tokenize.pop();break}return"comment"}function w(e,t,n){this.prev=e,this.align=t,this.indented=n}function _(e,t){var n=t.match(/^\s*($|\/[\/\*])/,!1)?null:t.column()+1;e.context=new w(e.context,n,e.indented)}function x(e){e.context&&(e.indented=e.context.indented,e.context=e.context.prev)}e.defineMode("swift",(function(e){return{startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(e,t){var n=t.prev;t.prev=null;var r=(t.tokenize[t.tokenize.length-1]||g)(e,t,n);if(r&&"comment"!=r?t.prev||(t.prev=r):t.prev=n,"punctuation"==r){var i=/[\(\[\{]|([\]\)\}])/.exec(e.current());i&&(i[1]?x:_)(t,e)}return r},indent:function(t,n){var r=t.context;if(!r)return 0;var i=/^[\]\}\)]/.test(n);return null!=r.align?r.align-(i?1:0):r.indented+(i?0:e.indentUnit)},electricInput:/^\s*[\)\}\]]$/,lineComment:"//",blockCommentStart:"/*",blockCommentEnd:"*/",fold:"brace",closeBrackets:"()[]{}''\"\"``"}})),e.defineMIME("text/x-swift","swift")}(n(23326))},27220:(e,t,n)=>{!function(e){"use strict";e.defineMode("tcl",(function(){function e(e){for(var t={},n=e.split(" "),r=0;r!?^\/\|]/;function i(e,t,n){return t.tokenize=n,n(e,t)}function o(e,l){var u=l.beforeParams;l.beforeParams=!1;var c,d=e.next();if('"'!=d&&"'"!=d||!l.inParams){if(/[\[\]{}\(\),;\.]/.test(d))return"("==d&&u?l.inParams=!0:")"==d&&(l.inParams=!1),null;if(/\d/.test(d))return e.eatWhile(/[\w\.]/),"number";if("#"==d)return e.eat("*")?i(e,l,a):"#"==d&&e.match(/ *\[ *\[/)?i(e,l,s):(e.skipToEnd(),"comment");if('"'==d)return e.skipTo(/"/),"comment";if("$"==d)return e.eatWhile(/[$_a-z0-9A-Z\.{:]/),e.eatWhile(/}/),l.beforeParams=!0,"builtin";if(r.test(d))return e.eatWhile(r),"comment";e.eatWhile(/[\w\$_{}\xa1-\uffff]/);var p=e.current().toLowerCase();return t&&t.propertyIsEnumerable(p)?"keyword":n&&n.propertyIsEnumerable(p)?(l.beforeParams=!0,"keyword"):null}return i(e,l,(c=d,function(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if(n==c&&!r){i=!0;break}r=!r&&"\\"==n}return i&&(t.tokenize=o),"string"}))}function a(e,t){for(var n,r=!1;n=e.next();){if("#"==n&&r){t.tokenize=o;break}r="*"==n}return"comment"}function s(e,t){for(var n,r=0;n=e.next();){if("#"==n&&2==r){t.tokenize=o;break}"]"==n?r++:" "!=n&&(r=0)}return"meta"}return{startState:function(){return{tokenize:o,beforeParams:!1,inParams:!1}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},lineComment:"#"}})),e.defineMIME("text/x-tcl","tcl")}(n(23326))},17028:(e,t,n)=>{!function(e){"use strict";var t={addition:"positive",attributes:"attribute",bold:"strong",cite:"keyword",code:"atom",definitionList:"number",deletion:"negative",div:"punctuation",em:"em",footnote:"variable",footCite:"qualifier",header:"header",html:"comment",image:"string",italic:"em",link:"link",linkDefinition:"link",list1:"variable-2",list2:"variable-3",list3:"keyword",notextile:"string-2",pre:"operator",p:"property",quote:"bracket",span:"quote",specialChar:"tag",strong:"strong",sub:"builtin",sup:"builtin",table:"variable-3",tableHeading:"operator"};function n(e,n,o){if("_"===o)return e.eat("_")?r(e,n,"italic",/__/,2):r(e,n,"em",/_/,1);if("*"===o)return e.eat("*")?r(e,n,"bold",/\*\*/,2):r(e,n,"strong",/\*/,1);if("["===o)return e.match(/\d+\]/)&&(n.footCite=!0),i(n);if("("===o&&e.match(/^(r|tm|c)\)/))return a(n,t.specialChar);if("<"===o&&e.match(/(\w+)[^>]+>[^<]+<\/\1>/))return a(n,t.html);if("?"===o&&e.eat("?"))return r(e,n,"cite",/\?\?/,2);if("="===o&&e.eat("="))return r(e,n,"notextile",/==/,2);if("-"===o&&!e.eat("-"))return r(e,n,"deletion",/-/,1);if("+"===o)return r(e,n,"addition",/\+/,1);if("~"===o)return r(e,n,"sub",/~/,1);if("^"===o)return r(e,n,"sup",/\^/,1);if("%"===o)return r(e,n,"span",/%/,1);if("@"===o)return r(e,n,"code",/@/,1);if("!"===o){var s=r(e,n,"image",/(?:\([^\)]+\))?!/,1);return e.match(/^:\S+/),s}return i(n)}function r(e,t,n,r,o){var a=e.pos>o?e.string.charAt(e.pos-o-1):null,s=e.peek();if(t[n]){if((!s||/\W/.test(s))&&a&&/\S/.test(a)){var l=i(t);return t[n]=!1,l}}else(!a||/\W/.test(a))&&s&&/\S/.test(s)&&e.match(new RegExp("^.*\\S"+r.source+"(?:\\W|$)"),!1)&&(t[n]=!0,t.mode=c.attributes);return i(t)}function i(e){var n=o(e);if(n)return n;var r=[];return e.layoutType&&r.push(t[e.layoutType]),r=r.concat(function(e){for(var n=[],r=1;r]+)?>(?:[^<]+<\/\1>)?/,link:/[^"]+":\S/,linkDefinition:/\[[^\s\]]+\]\S+/,list:/(?:#+|\*+)/,notextile:"notextile",para:"p",pre:"pre",table:"table",tableCellAttributes:/[\/\\]\d+/,tableHeading:/\|_\./,tableText:/[^"_\*\[\(\?\+~\^%@|-]+/,text:/[^!"_=\*\[\(<\?\+~\^%@-]+/},attributes:{align:/(?:<>|<|>|=)/,selector:/\([^\(][^\)]+\)/,lang:/\[[^\[\]]+\]/,pad:/(?:\(+|\)+){1,2}/,css:/\{[^\}]+\}/},createRe:function(e){switch(e){case"drawTable":return l.makeRe("^",l.single.drawTable,"$");case"html":return l.makeRe("^",l.single.html,"(?:",l.single.html,")*","$");case"linkDefinition":return l.makeRe("^",l.single.linkDefinition,"$");case"listLayout":return l.makeRe("^",l.single.list,u("allAttributes"),"*\\s+");case"tableCellAttributes":return l.makeRe("^",l.choiceRe(l.single.tableCellAttributes,u("allAttributes")),"+\\.");case"type":return l.makeRe("^",u("allTypes"));case"typeLayout":return l.makeRe("^",u("allTypes"),u("allAttributes"),"*\\.\\.?","(\\s+|$)");case"attributes":return l.makeRe("^",u("allAttributes"),"+");case"allTypes":return l.choiceRe(l.single.div,l.single.foot,l.single.header,l.single.bc,l.single.bq,l.single.notextile,l.single.pre,l.single.table,l.single.para);case"allAttributes":return l.choiceRe(l.attributes.selector,l.attributes.css,l.attributes.lang,l.attributes.align,l.attributes.pad);default:return l.makeRe("^",l.single[e])}},makeRe:function(){for(var e="",t=0;t{!function(e){"use strict";e.defineMode("tiddlywiki",(function(){var e={},t={allTags:!0,closeAll:!0,list:!0,newJournal:!0,newTiddler:!0,permaview:!0,saveChanges:!0,search:!0,slider:!0,tabs:!0,tag:!0,tagging:!0,tags:!0,tiddler:!0,timeline:!0,today:!0,version:!0,option:!0,with:!0,filter:!0},n=/[\w_\-]/i,r=/^\-\-\-\-+$/,i=/^\/\*\*\*$/,o=/^\*\*\*\/$/,a=/^<<<$/,s=/^\/\/\{\{\{$/,l=/^\/\/\}\}\}$/,u=/^$/,c=/^$/,d=/^\{\{\{$/,p=/^\}\}\}$/,f=/.*?\}\}\}/;function h(e,t,n){return t.tokenize=n,n(e,t)}function m(t,p){var f=t.sol(),m=t.peek();if(p.block=!1,f&&/[<\/\*{}\-]/.test(m)){if(t.match(d))return p.block=!0,h(t,p,y);if(t.match(a))return"quote";if(t.match(i)||t.match(o))return"comment";if(t.match(s)||t.match(l)||t.match(u)||t.match(c))return"comment";if(t.match(r))return"hr"}if(t.next(),f&&/[\/\*!#;:>|]/.test(m)){if("!"==m)return t.skipToEnd(),"header";if("*"==m)return t.eatWhile("*"),"comment";if("#"==m)return t.eatWhile("#"),"comment";if(";"==m)return t.eatWhile(";"),"comment";if(":"==m)return t.eatWhile(":"),"comment";if(">"==m)return t.eatWhile(">"),"quote";if("|"==m)return"header"}if("{"==m&&t.match("{{"))return h(t,p,y);if(/[hf]/i.test(m)&&/[ti]/i.test(t.peek())&&t.match(/\b(ttps?|tp|ile):\/\/[\-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i))return"link";if('"'==m)return"string";if("~"==m)return"brace";if(/[\[\]]/.test(m)&&t.match(m))return"brace";if("@"==m)return t.eatWhile(n),"link";if(/\d/.test(m))return t.eatWhile(/\d/),"number";if("/"==m){if(t.eat("%"))return h(t,p,g);if(t.eat("/"))return h(t,p,b)}if("_"==m&&t.eat("_"))return h(t,p,w);if("-"==m&&t.eat("-")){if(" "!=t.peek())return h(t,p,_);if(" "==t.peek())return"brace"}return"'"==m&&t.eat("'")?h(t,p,v):"<"==m&&t.eat("<")?h(t,p,x):(t.eatWhile(/[\w\$_]/),e.propertyIsEnumerable(t.current())?"keyword":null)}function g(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=m;break}r="%"==n}return"comment"}function v(e,t){for(var n,r=!1;n=e.next();){if("'"==n&&r){t.tokenize=m;break}r="'"==n}return"strong"}function y(e,t){var n=t.block;return n&&e.current()?"comment":!n&&e.match(f)||n&&e.sol()&&e.match(p)?(t.tokenize=m,"comment"):(e.next(),"comment")}function b(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=m;break}r="/"==n}return"em"}function w(e,t){for(var n,r=!1;n=e.next();){if("_"==n&&r){t.tokenize=m;break}r="_"==n}return"underlined"}function _(e,t){for(var n,r=!1;n=e.next();){if("-"==n&&r){t.tokenize=m;break}r="-"==n}return"strikethrough"}function x(e,n){if("<<"==e.current())return"macro";var r=e.next();return r?">"==r&&">"==e.peek()?(e.next(),n.tokenize=m,"macro"):(e.eatWhile(/[\w\$_]/),t.propertyIsEnumerable(e.current())?"keyword":null):(n.tokenize=m,null)}return{startState:function(){return{tokenize:m}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)}}})),e.defineMIME("text/x-tiddlywiki","tiddlywiki")}(n(23326))},19750:(e,t,n)=>{!function(e){"use strict";e.defineMode("tiki",(function(e){function t(e,t,n){return function(i,o){for(;!i.eol();){if(i.match(t)){o.tokenize=r;break}i.next()}return n&&(o.tokenize=n),e}}function n(e){return function(t,n){for(;!t.eol();)t.next();return n.tokenize=r,e}}function r(e,i){function o(t){return i.tokenize=t,t(e,i)}var a=e.sol(),s=e.next();switch(s){case"{":return e.eat("/"),e.eatSpace(),e.eatWhile(/[^\s\u00a0=\"\'\/?(}]/),i.tokenize=u,"tag";case"_":if(e.eat("_"))return o(t("strong","__",r));break;case"'":if(e.eat("'"))return o(t("em","''",r));break;case"(":if(e.eat("("))return o(t("variable-2","))",r));break;case"[":return o(t("variable-3","]",r));case"|":if(e.eat("|"))return o(t("comment","||"));break;case"-":if(e.eat("="))return o(t("header string","=-",r));if(e.eat("-"))return o(t("error tw-deleted","--",r));break;case"=":if(e.match("=="))return o(t("tw-underline","===",r));break;case":":if(e.eat(":"))return o(t("comment","::"));break;case"^":return o(t("tw-box","^"));case"~":if(e.match("np~"))return o(t("meta","~/np~"))}if(a)switch(s){case"!":return e.match("!!!!!")||e.match("!!!!")||e.match("!!!")||e.match("!!"),o(n("header string"));case"*":case"#":case"+":return o(n("tw-listitem bracket"))}return null}var i,o,a,s,l=e.indentUnit;function u(e,t){var n,i=e.next(),a=e.peek();return"}"==i?(t.tokenize=r,"tag"):"("==i||")"==i?"bracket":"="==i?(o="equals",">"==a&&(e.next(),a=e.peek()),/[\'\"]/.test(a)||(t.tokenize=function(e,t){for(;!e.eol();){var n=e.next(),r=e.peek();if(" "==n||","==n||/[ )}]/.test(r)){t.tokenize=u;break}}return"string"}),"operator"):/[\'\"]/.test(i)?(t.tokenize=(n=i,function(e,t){for(;!e.eol();)if(e.next()==n){t.tokenize=u;break}return"string"}),t.tokenize(e,t)):(e.eatWhile(/[^\s\u00a0=\"\'\/?]/),"keyword")}function c(){for(var e=arguments.length-1;e>=0;e--)a.cc.push(arguments[e])}function d(){return c.apply(null,arguments),!0}function p(e,t){var n=a.context&&a.context.noIndent;a.context={prev:a.context,pluginName:e,indent:a.indented,startOfLine:t,noIndent:n}}function f(){a.context&&(a.context=a.context.prev)}function h(e){if("openPlugin"==e)return a.pluginName=i,d(m,(t=a.startOfLine,function(e){return"selfclosePlugin"==e||"endPlugin"==e?d():"endPlugin"==e?(p(a.pluginName,t),d()):d()}));var t;if("closePlugin"==e){var n=!1;return a.context?(n=a.context.pluginName!=i,f()):n=!0,n&&(s="error"),d(function(e){return function(t){return e&&(s="error"),"endPlugin"==t?d():c()}}(n))}return"string"==e?(a.context&&"!cdata"==a.context.name||p("!cdata"),a.tokenize==r&&f(),d()):d()}function m(e){return"keyword"==e?(s="attribute",d(m)):"equals"==e?d(g,m):c()}function g(e){return"keyword"==e?(s="string",d()):"string"==e?d(v):c()}function v(e){return"string"==e?d(v):c()}return{startState:function(){return{tokenize:r,cc:[],indented:0,startOfLine:!0,pluginName:null,context:null}},token:function(e,t){if(e.sol()&&(t.startOfLine=!0,t.indented=e.indentation()),e.eatSpace())return null;s=o=i=null;var n=t.tokenize(e,t);if((n||o)&&"comment"!=n)for(a=t;!(t.cc.pop()||h)(o||n););return t.startOfLine=!1,s||n},indent:function(e,t){var n=e.context;if(n&&n.noIndent)return 0;for(n&&/^{\//.test(t)&&(n=n.prev);n&&!n.startOfLine;)n=n.prev;return n?n.indent+l:0},electricChars:"/"}})),e.defineMIME("text/tiki","tiki")}(n(23326))},218:(e,t,n)=>{!function(e){"use strict";e.defineMode("toml",(function(){return{startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(e,t){if(t.inString||'"'!=e.peek()&&"'"!=e.peek()||(t.stringType=e.peek(),e.next(),t.inString=!0),e.sol()&&0===t.inArray&&(t.lhs=!0),t.inString){for(;t.inString&&!e.eol();)e.peek()===t.stringType?(e.next(),t.inString=!1):"\\"===e.peek()?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return t.lhs?"property string":"string"}return t.inArray&&"]"===e.peek()?(e.next(),t.inArray--,"bracket"):t.lhs&&"["===e.peek()&&e.skipTo("]")?(e.next(),"]"===e.peek()&&e.next(),"atom"):"#"===e.peek()?(e.skipToEnd(),"comment"):e.eatSpace()?null:t.lhs&&e.eatWhile((function(e){return"="!=e&&" "!=e}))?"property":t.lhs&&"="===e.peek()?(e.next(),t.lhs=!1,null):!t.lhs&&e.match(/^\d\d\d\d[\d\-\:\.T]*Z/)?"atom":t.lhs||!e.match("true")&&!e.match("false")?t.lhs||"["!==e.peek()?!t.lhs&&e.match(/^\-?\d+(?:\.\d+)?/)?"number":(e.eatSpace()||e.next(),null):(t.inArray++,e.next(),"bracket"):"atom"}}})),e.defineMIME("text/x-toml","toml")}(n(23326))},87815:(e,t,n)=>{!function(e){"use strict";e.defineMode("tornado:inner",(function(){var e=["and","as","assert","autoescape","block","break","class","comment","context","continue","datetime","def","del","elif","else","end","escape","except","exec","extends","false","finally","for","from","global","if","import","in","include","is","json_encode","lambda","length","linkify","load","module","none","not","or","pass","print","put","raise","raw","return","self","set","squeeze","super","true","try","url_escape","while","with","without","xhtml_escape","yield"];function t(n,r){n.eatWhile(/[^\{]/);var i,o=n.next();if("{"==o&&(o=n.eat(/\{|%|#/)))return r.tokenize=("{"==(i=o)&&(i="}"),function(n,r){return n.next()==i&&n.eat("}")?(r.tokenize=t,"tag"):n.match(e)?"keyword":"#"==i?"comment":"string"}),"tag"}return e=new RegExp("^(("+e.join(")|(")+"))\\b"),{startState:function(){return{tokenize:t}},token:function(e,t){return t.tokenize(e,t)}}})),e.defineMode("tornado",(function(t){var n=e.getMode(t,"text/html"),r=e.getMode(t,"tornado:inner");return e.overlayMode(n,r)})),e.defineMIME("text/x-tornado","tornado")}(n(23326),n(38425),n(19962))},40957:(e,t,n)=>{!function(e){"use strict";e.defineMode("troff",(function(){var e={};function t(t){if(t.eatSpace())return null;var n=t.sol(),r=t.next();if("\\"===r)return t.match("fB")||t.match("fR")||t.match("fI")||t.match("u")||t.match("d")||t.match("%")||t.match("&")?"string":t.match("m[")?(t.skipTo("]"),t.next(),"string"):t.match("s+")||t.match("s-")?(t.eatWhile(/[\d-]/),"string"):t.match("(")||t.match("*(")?(t.eatWhile(/[\w-]/),"string"):"string";if(n&&("."===r||"'"===r)&&t.eat("\\")&&t.eat('"'))return t.skipToEnd(),"comment";if(n&&"."===r){if(t.match("B ")||t.match("I ")||t.match("R "))return"attribute";if(t.match("TH ")||t.match("SH ")||t.match("SS ")||t.match("HP "))return t.skipToEnd(),"quote";if(t.match(/[A-Z]/)&&t.match(/[A-Z]/)||t.match(/[a-z]/)&&t.match(/[a-z]/))return"attribute"}t.eatWhile(/[\w-]/);var i=t.current();return e.hasOwnProperty(i)?e[i]:null}function n(e,n){return(n.tokens[0]||t)(e,n)}return{startState:function(){return{tokens:[]}},token:function(e,t){return n(e,t)}}})),e.defineMIME("text/troff","troff"),e.defineMIME("text/x-troff","troff"),e.defineMIME("application/x-troff","troff")}(n(23326))},78175:(e,t,n)=>{!function(e){"use strict";function t(e){for(var t={},n=e.split(" "),r=0;r{!function(e){"use strict";function t(e){for(var t={},n=e.split(" "),r=0;r!\/]/;function _(e,t){var r,b=e.next();if('"'==b||"'"==b)return t.tokenize=(r=b,function(e,t){for(var n,i=!1,o=!1;null!=(n=e.next());){if(n==r&&!i){var a=e.peek();a&&("b"!=(a=a.toLowerCase())&&"h"!=a&&"o"!=a||e.next()),o=!0;break}i=!i&&"\\"==n}return(o||!i&&!y)&&(t.tokenize=null),"string"}),t.tokenize(e,t);if(/[\[\]{}\(\),;\\:\?\.]/.test(b))return n=b,"punctuation";if("#"==b)return e.skipToEnd(),"atom preprocessor";if("%"==b)return e.eatWhile(/\b/),"atom ttcn3Macros";if(/\d/.test(b))return e.eatWhile(/[\w\.]/),"number";if("/"==b){if(e.eat("*"))return t.tokenize=x,x(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(w.test(b))return"@"==b&&(e.match("try")||e.match("catch")||e.match("lazy"))?"keyword":(e.eatWhile(w),"operator");e.eatWhile(/[\w\$_\xa1-\uffff]/);var _=e.current();return i.propertyIsEnumerable(_)?"keyword":o.propertyIsEnumerable(_)?"builtin":a.propertyIsEnumerable(_)?"def timerOps":l.propertyIsEnumerable(_)?"def configOps":u.propertyIsEnumerable(_)?"def verdictOps":s.propertyIsEnumerable(_)?"def portOps":c.propertyIsEnumerable(_)?"def sutOps":d.propertyIsEnumerable(_)?"def functionOps":p.propertyIsEnumerable(_)?"string verdictConsts":f.propertyIsEnumerable(_)?"string booleanConsts":h.propertyIsEnumerable(_)?"string otherConsts":m.propertyIsEnumerable(_)?"builtin types":g.propertyIsEnumerable(_)?"builtin visibilityModifiers":v.propertyIsEnumerable(_)?"atom templateMatch":"variable"}function x(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=null;break}r="*"==n}return"comment"}function k(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function E(e,t,n){var r=e.indented;return e.context&&"statement"==e.context.type&&(r=e.context.indented),e.context=new k(r,t,n,null,e.context)}function C(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}return{startState:function(e){return{tokenize:null,context:new k((e||0)-r,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var r=t.context;if(e.sol()&&(null==r.align&&(r.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;n=null;var i=(t.tokenize||_)(e,t);if("comment"==i)return i;if(null==r.align&&(r.align=!0),";"!=n&&":"!=n&&","!=n||"statement"!=r.type)if("{"==n)E(t,e.column(),"}");else if("["==n)E(t,e.column(),"]");else if("("==n)E(t,e.column(),")");else if("}"==n){for(;"statement"==r.type;)r=C(t);for("}"==r.type&&(r=C(t));"statement"==r.type;)r=C(t)}else n==r.type?C(t):b&&(("}"==r.type||"top"==r.type)&&";"!=n||"statement"==r.type&&"newstatement"==n)&&E(t,e.column(),"statement");else C(t);return t.startOfLine=!1,i},electricChars:"{}",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",fold:"brace"}})),function(t,n){"string"==typeof t&&(t=[t]);var r=[];function i(e){if(e)for(var t in e)e.hasOwnProperty(t)&&r.push(t)}i(n.keywords),i(n.builtin),i(n.timerOps),i(n.portOps),r.length&&(n.helperType=t[0],e.registerHelper("hintWords",t[0],r));for(var o=0;o{!function(e){"use strict";e.defineMode("turtle",(function(e){var t,n=e.indentUnit;function r(e){return new RegExp("^(?:"+e.join("|")+")$","i")}r([]);var i=r(["@prefix","@base","a"]),o=/[*+\-<>=&|]/;function a(e,n){var r,s=e.next();if(t=null,"<"!=s||e.match(/^[\s\u00a0=]/,!1)){if('"'==s||"'"==s)return n.tokenize=(r=s,function(e,t){for(var n,i=!1;null!=(n=e.next());){if(n==r&&!i){t.tokenize=a;break}i=!i&&"\\"==n}return"string"}),n.tokenize(e,n);if(/[{}\(\),\.;\[\]]/.test(s))return t=s,null;if("#"==s)return e.skipToEnd(),"comment";if(o.test(s))return e.eatWhile(o),null;if(":"==s)return"operator";if(e.eatWhile(/[_\w\d]/),":"==e.peek())return"variable-3";var l=e.current();return i.test(l)?"meta":s>="A"&&s<="Z"?"comment":"keyword"}return e.match(/^[^\s\u00a0>]*>?/),"atom"}function s(e,t,n){e.context={prev:e.context,indent:e.indent,col:n,type:t}}function l(e){e.indent=e.context.indent,e.context=e.context.prev}return{startState:function(){return{tokenize:a,context:null,indent:0,col:0}},token:function(e,n){if(e.sol()&&(n.context&&null==n.context.align&&(n.context.align=!1),n.indent=e.indentation()),e.eatSpace())return null;var r=n.tokenize(e,n);if("comment"!=r&&n.context&&null==n.context.align&&"pattern"!=n.context.type&&(n.context.align=!0),"("==t)s(n,")",e.column());else if("["==t)s(n,"]",e.column());else if("{"==t)s(n,"}",e.column());else if(/[\]\}\)]/.test(t)){for(;n.context&&"pattern"==n.context.type;)l(n);n.context&&t==n.context.type&&l(n)}else"."==t&&n.context&&"pattern"==n.context.type?l(n):/atom|string|variable/.test(r)&&n.context&&(/[\}\]]/.test(n.context.type)?s(n,"pattern",e.column()):"pattern"!=n.context.type||n.context.align||(n.context.align=!0,n.context.col=e.column()));return r},indent:function(e,t){var r=t&&t.charAt(0),i=e.context;if(/[\]\}]/.test(r))for(;i&&"pattern"==i.type;)i=i.prev;var o=i&&r==i.type;return i?"pattern"==i.type?i.col:i.align?i.col+(o?0:1):i.indent+(o?0:n):0},lineComment:"#"}})),e.defineMIME("text/turtle","turtle")}(n(23326))},21649:(e,t,n)=>{!function(e){"use strict";e.defineMode("twig:inner",(function(){var e=["and","as","autoescape","endautoescape","block","do","endblock","else","elseif","extends","for","endfor","embed","endembed","filter","endfilter","flush","from","if","endif","in","is","include","import","not","or","set","spaceless","endspaceless","with","endwith","trans","endtrans","blocktrans","endblocktrans","macro","endmacro","use","verbatim","endverbatim"],t=/^[+\-*&%=<>!?|~^]/,n=/^[:\[\(\{]/,r=["true","false","null","empty","defined","divisibleby","divisible by","even","odd","iterable","sameas","same as"],i=/^(\d[+\-\*\/])?\d+(\.\d+)?/;return e=new RegExp("(("+e.join(")|(")+"))\\b"),r=new RegExp("(("+r.join(")|(")+"))\\b"),{startState:function(){return{}},token:function(o,a){return function(o,a){var s=o.peek();if(a.incomment)return o.skipTo("#}")?(o.eatWhile(/\#|}/),a.incomment=!1):o.skipToEnd(),"comment";if(a.intag){if(a.operator){if(a.operator=!1,o.match(r))return"atom";if(o.match(i))return"number"}if(a.sign){if(a.sign=!1,o.match(r))return"atom";if(o.match(i))return"number"}if(a.instring)return s==a.instring&&(a.instring=!1),o.next(),"string";if("'"==s||'"'==s)return a.instring=s,o.next(),"string";if(o.match(a.intag+"}")||o.eat("-")&&o.match(a.intag+"}"))return a.intag=!1,"tag";if(o.match(t))return a.operator=!0,"operator";if(o.match(n))a.sign=!0;else if(o.eat(" ")||o.sol()){if(o.match(e))return"keyword";if(o.match(r))return"atom";if(o.match(i))return"number";o.sol()&&o.next()}else o.next();return"variable"}if(o.eat("{")){if(o.eat("#"))return a.incomment=!0,o.skipTo("#}")?(o.eatWhile(/\#|}/),a.incomment=!1):o.skipToEnd(),"comment";if(s=o.eat(/\{|%/))return a.intag=s,"{"==s&&(a.intag="}"),o.eat("-"),"tag"}o.next()}(o,a)}}})),e.defineMode("twig",(function(t,n){var r=e.getMode(t,"twig:inner");return n&&n.base?e.multiplexingMode(e.getMode(t,n.base),{open:/\{[{#%]/,close:/[}#%]\}/,mode:r,parseDelimiters:!0}):r})),e.defineMIME("text/x-twig","twig")}(n(23326),n(15718))},35053:(e,t,n)=>{!function(e){"use strict";e.defineMode("vb",(function(t,n){var r="error";function i(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}var o=new RegExp("^[\\+\\-\\*/%&\\\\|\\^~<>!]"),a=new RegExp("^[\\(\\)\\[\\]\\{\\}@,:`=;\\.]"),s=new RegExp("^((==)|(<>)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\*\\*))"),l=new RegExp("^((\\+=)|(\\-=)|(\\*=)|(%=)|(/=)|(&=)|(\\|=)|(\\^=))"),u=new RegExp("^((//=)|(>>=)|(<<=)|(\\*\\*=))"),c=new RegExp("^[_A-Za-z][_A-Za-z0-9]*"),d=["class","module","sub","enum","select","while","if","function","get","set","property","try","structure","synclock","using","with"],p=["else","elseif","case","catch","finally"],f=["next","loop"],h=["and","andalso","or","orelse","xor","in","not","is","isnot","like"],m=i(h),g=["#const","#else","#elseif","#end","#if","#region","addhandler","addressof","alias","as","byref","byval","cbool","cbyte","cchar","cdate","cdbl","cdec","cint","clng","cobj","compare","const","continue","csbyte","cshort","csng","cstr","cuint","culng","cushort","declare","default","delegate","dim","directcast","each","erase","error","event","exit","explicit","false","for","friend","gettype","goto","handles","implements","imports","infer","inherits","interface","isfalse","istrue","lib","me","mod","mustinherit","mustoverride","my","mybase","myclass","namespace","narrowing","new","nothing","notinheritable","notoverridable","of","off","on","operator","option","optional","out","overloads","overridable","overrides","paramarray","partial","private","protected","public","raiseevent","readonly","redim","removehandler","resume","return","shadows","shared","static","step","stop","strict","then","throw","to","true","trycast","typeof","until","until","when","widening","withevents","writeonly"],v=["object","boolean","char","string","byte","sbyte","short","ushort","int16","uint16","integer","uinteger","int32","uint32","long","ulong","int64","uint64","decimal","single","double","float","date","datetime","intptr","uintptr"],y=i(g),b=i(v),w='"',_=i(d),x=i(p),k=i(f),E=i(["end"]),C=i(["do"]);function S(e,t){t.currentIndent++}function A(e,t){t.currentIndent--}function T(e,t){if(e.eatSpace())return null;if("'"===e.peek())return e.skipToEnd(),"comment";if(e.match(/^((&H)|(&O))?[0-9\.a-f]/i,!1)){var i=!1;if((e.match(/^\d*\.\d+F?/i)||e.match(/^\d+\.\d*F?/)||e.match(/^\.\d+F?/))&&(i=!0),i)return e.eat(/J/i),"number";var d=!1;if(e.match(/^&H[0-9a-f]+/i)||e.match(/^&O[0-7]+/i)?d=!0:e.match(/^[1-9]\d*F?/)?(e.eat(/J/i),d=!0):e.match(/^0(?![\dx])/i)&&(d=!0),d)return e.eat(/L/i),"number"}return e.match(w)?(t.tokenize=(p=e.current(),f=1==p.length,h="string",function(e,t){for(;!e.eol();){if(e.eatWhile(/[^'"]/),e.match(p))return t.tokenize=T,h;e.eat(/['"]/)}if(f){if(n.singleLineStringErrors)return r;t.tokenize=T}return h}),t.tokenize(e,t)):e.match(u)||e.match(l)?null:e.match(s)||e.match(o)||e.match(m)?"operator":e.match(a)?null:e.match(C)?(S(0,t),t.doInCurrentLine=!0,"keyword"):e.match(_)?(t.doInCurrentLine?t.doInCurrentLine=!1:S(0,t),"keyword"):e.match(x)?"keyword":e.match(E)?(A(0,t),A(0,t),"keyword"):e.match(k)?(A(0,t),"keyword"):e.match(b)||e.match(y)?"keyword":e.match(c)?"variable":(e.next(),r);var p,f,h}return e.registerHelper("hintWords","vb",d.concat(p).concat(f).concat(h).concat(g).concat(v)),{electricChars:"dDpPtTfFeE ",startState:function(){return{tokenize:T,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1}},token:function(e,t){e.sol()&&(t.currentIndent+=t.nextLineIndent,t.nextLineIndent=0,t.doInCurrentLine=0);var n=function(e,t){var n=t.tokenize(e,t),i=e.current();if("."===i)return"variable"===(n=t.tokenize(e,t))?"variable":r;var o="[({".indexOf(i);return-1!==o&&S(0,t),-1!==(o="])}".indexOf(i))&&A(0,t)?r:n}(e,t);return t.lastToken={style:n,content:e.current()},n},indent:function(e,n){var r=n.replace(/^\s+|\s+$/g,"");return r.match(k)||r.match(E)||r.match(x)?t.indentUnit*(e.currentIndent-1):e.currentIndent<0?0:e.currentIndent*t.indentUnit},lineComment:"'"}})),e.defineMIME("text/x-vb","vb")}(n(23326))},29048:(e,t,n)=>{!function(e){"use strict";e.defineMode("vbscript",(function(e,t){var n="error";function r(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}var i=new RegExp("^[\\+\\-\\*/&\\\\\\^<>=]"),o=new RegExp("^((<>)|(<=)|(>=))"),a=new RegExp("^[\\.,]"),s=new RegExp("^[\\(\\)]"),l=new RegExp("^[A-Za-z][_A-Za-z0-9]*"),u=r(["and","or","not","xor","is","mod","eqv","imp"]),c=["WScript","err","debug","RegExp"],d=["clear","execute","raise","replace","test","write","writeline","close","open","state","eof","update","addnew","end","createobject","quit"].concat(["description","firstindex","global","helpcontext","helpfile","ignorecase","length","number","pattern","source","value","count"]);c=c.concat(["vbBlack","vbRed","vbGreen","vbYellow","vbBlue","vbMagenta","vbCyan","vbWhite","vbBinaryCompare","vbTextCompare","vbSunday","vbMonday","vbTuesday","vbWednesday","vbThursday","vbFriday","vbSaturday","vbUseSystemDayOfWeek","vbFirstJan1","vbFirstFourDays","vbFirstFullWeek","vbGeneralDate","vbLongDate","vbShortDate","vbLongTime","vbShortTime","vbObjectError","vbOKOnly","vbOKCancel","vbAbortRetryIgnore","vbYesNoCancel","vbYesNo","vbRetryCancel","vbCritical","vbQuestion","vbExclamation","vbInformation","vbDefaultButton1","vbDefaultButton2","vbDefaultButton3","vbDefaultButton4","vbApplicationModal","vbSystemModal","vbOK","vbCancel","vbAbort","vbRetry","vbIgnore","vbYes","vbNo","vbCr","VbCrLf","vbFormFeed","vbLf","vbNewLine","vbNullChar","vbNullString","vbTab","vbVerticalTab","vbUseDefault","vbTrue","vbFalse","vbEmpty","vbNull","vbInteger","vbLong","vbSingle","vbDouble","vbCurrency","vbDate","vbString","vbObject","vbError","vbBoolean","vbVariant","vbDataObject","vbDecimal","vbByte","vbArray"]),e.isASP&&(c=c.concat(["server","response","request","session","application"]),d=d.concat(["addheader","appendtolog","binarywrite","end","flush","redirect","binaryread","remove","removeall","lock","unlock","abandon","getlasterror","htmlencode","mappath","transfer","urlencode"],["buffer","cachecontrol","charset","contenttype","expires","expiresabsolute","isclientconnected","pics","status","clientcertificate","cookies","form","querystring","servervariables","totalbytes","contents","staticobjects","codepage","lcid","sessionid","timeout","scripttimeout"]));var p=r(["dim","redim","then","until","randomize","byval","byref","new","property","exit","in","const","private","public","get","set","let","stop","on error resume next","on error goto 0","option explicit","call","me"]),f=r(["true","false","nothing","empty","null"]),h=r(["abs","array","asc","atn","cbool","cbyte","ccur","cdate","cdbl","chr","cint","clng","cos","csng","cstr","date","dateadd","datediff","datepart","dateserial","datevalue","day","escape","eval","execute","exp","filter","formatcurrency","formatdatetime","formatnumber","formatpercent","getlocale","getobject","getref","hex","hour","inputbox","instr","instrrev","int","fix","isarray","isdate","isempty","isnull","isnumeric","isobject","join","lbound","lcase","left","len","loadpicture","log","ltrim","rtrim","trim","maths","mid","minute","month","monthname","msgbox","now","oct","replace","rgb","right","rnd","round","scriptengine","scriptenginebuildversion","scriptenginemajorversion","scriptengineminorversion","second","setlocale","sgn","sin","space","split","sqr","strcomp","string","strreverse","tan","time","timer","timeserial","timevalue","typename","ubound","ucase","unescape","vartype","weekday","weekdayname","year"]),m=r(c),g=r(d),v='"',y=r(["class","sub","select","while","if","function","property","with","for"]),b=r(["else","elseif","case"]),w=r(["next","loop","wend"]),_=r(["end"]),x=r(["do"]),k=r(["on error resume next","exit"]),E=r(["rem"]);function C(e,t){t.currentIndent++}function S(e,t){t.currentIndent--}function A(e,r){if(e.eatSpace())return"space";if("'"===e.peek())return e.skipToEnd(),"comment";if(e.match(E))return e.skipToEnd(),"comment";if(e.match(/^((&H)|(&O))?[0-9\.]/i,!1)&&!e.match(/^((&H)|(&O))?[0-9\.]+[a-z_]/i,!1)){var c=!1;if((e.match(/^\d*\.\d+/i)||e.match(/^\d+\.\d*/)||e.match(/^\.\d+/))&&(c=!0),c)return e.eat(/J/i),"number";var d=!1;if(e.match(/^&H[0-9a-f]+/i)||e.match(/^&O[0-7]+/i)?d=!0:e.match(/^[1-9]\d*F?/)?(e.eat(/J/i),d=!0):e.match(/^0(?![\dx])/i)&&(d=!0),d)return e.eat(/L/i),"number"}return e.match(v)?(r.tokenize=(T=e.current(),O=1==T.length,P="string",function(e,r){for(;!e.eol();){if(e.eatWhile(/[^'"]/),e.match(T))return r.tokenize=A,P;e.eat(/['"]/)}if(O){if(t.singleLineStringErrors)return n;r.tokenize=A}return P}),r.tokenize(e,r)):e.match(o)||e.match(i)||e.match(u)?"operator":e.match(a)?null:e.match(s)?"bracket":e.match(k)?(r.doInCurrentLine=!0,"keyword"):e.match(x)?(C(0,r),r.doInCurrentLine=!0,"keyword"):e.match(y)?(r.doInCurrentLine?r.doInCurrentLine=!1:C(0,r),"keyword"):e.match(b)?"keyword":e.match(_)?(S(0,r),S(0,r),"keyword"):e.match(w)?(r.doInCurrentLine?r.doInCurrentLine=!1:S(0,r),"keyword"):e.match(p)?"keyword":e.match(f)?"atom":e.match(g)?"variable-2":e.match(h)?"builtin":e.match(m)?"variable-2":e.match(l)?"variable":(e.next(),n);var T,O,P}return{electricChars:"dDpPtTfFeE ",startState:function(){return{tokenize:A,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1,ignoreKeyword:!1}},token:function(e,t){e.sol()&&(t.currentIndent+=t.nextLineIndent,t.nextLineIndent=0,t.doInCurrentLine=0);var r=function(e,t){var r=t.tokenize(e,t),i=e.current();return"."===i?(r=t.tokenize(e,t),i=e.current(),!r||"variable"!==r.substr(0,8)&&"builtin"!==r&&"keyword"!==r?n:("builtin"!==r&&"keyword"!==r||(r="variable"),d.indexOf(i.substr(1))>-1&&(r="variable-2"),r)):r}(e,t);return t.lastToken={style:r,content:e.current()},"space"===r&&(r=null),r},indent:function(t,n){var r=n.replace(/^\s+|\s+$/g,"");return r.match(w)||r.match(_)||r.match(b)?e.indentUnit*(t.currentIndent-1):t.currentIndent<0?0:t.currentIndent*e.indentUnit}}})),e.defineMIME("text/vbscript","vbscript")}(n(23326))},8989:(e,t,n)=>{!function(e){"use strict";e.defineMode("velocity",(function(){function e(e){for(var t={},n=e.split(" "),r=0;r!?:\/|]/;function o(e,t,n){return t.tokenize=n,n(e,t)}function a(e,a){var c=a.beforeParams;a.beforeParams=!1;var d=e.next();if("'"==d&&!a.inString&&a.inParams)return a.lastTokenWasBuiltin=!1,o(e,a,s(d));if('"'!=d){if(/[\[\]{}\(\),;\.]/.test(d))return"("==d&&c?a.inParams=!0:")"==d&&(a.inParams=!1,a.lastTokenWasBuiltin=!0),null;if(/\d/.test(d))return a.lastTokenWasBuiltin=!1,e.eatWhile(/[\w\.]/),"number";if("#"==d&&e.eat("*"))return a.lastTokenWasBuiltin=!1,o(e,a,l);if("#"==d&&e.match(/ *\[ *\[/))return a.lastTokenWasBuiltin=!1,o(e,a,u);if("#"==d&&e.eat("#"))return a.lastTokenWasBuiltin=!1,e.skipToEnd(),"comment";if("$"==d)return e.eat("!"),e.eatWhile(/[\w\d\$_\.{}-]/),r&&r.propertyIsEnumerable(e.current())?"keyword":(a.lastTokenWasBuiltin=!0,a.beforeParams=!0,"builtin");if(i.test(d))return a.lastTokenWasBuiltin=!1,e.eatWhile(i),"operator";e.eatWhile(/[\w\$_{}@]/);var p=e.current();return t&&t.propertyIsEnumerable(p)?"keyword":n&&n.propertyIsEnumerable(p)||e.current().match(/^#@?[a-z0-9_]+ *$/i)&&"("==e.peek()&&(!n||!n.propertyIsEnumerable(p.toLowerCase()))?(a.beforeParams=!0,a.lastTokenWasBuiltin=!1,"keyword"):a.inString?(a.lastTokenWasBuiltin=!1,"string"):e.pos>p.length&&"."==e.string.charAt(e.pos-p.length-1)&&a.lastTokenWasBuiltin?"builtin":(a.lastTokenWasBuiltin=!1,null)}return a.lastTokenWasBuiltin=!1,a.inString?(a.inString=!1,"string"):a.inParams?o(e,a,s(d)):void 0}function s(e){return function(t,n){for(var r,i=!1,o=!1;null!=(r=t.next());){if(r==e&&!i){o=!0;break}if('"'==e&&"$"==t.peek()&&!i){n.inString=!0,o=!0;break}i=!i&&"\\"==r}return o&&(n.tokenize=a),"string"}}function l(e,t){for(var n,r=!1;n=e.next();){if("#"==n&&r){t.tokenize=a;break}r="*"==n}return"comment"}function u(e,t){for(var n,r=0;n=e.next();){if("#"==n&&2==r){t.tokenize=a;break}"]"==n?r++:" "!=n&&(r=0)}return"meta"}return{startState:function(){return{tokenize:a,beforeParams:!1,inParams:!1,inString:!1,lastTokenWasBuiltin:!1}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},blockCommentStart:"#*",blockCommentEnd:"*#",lineComment:"##",fold:"velocity"}})),e.defineMIME("text/velocity","velocity")}(n(23326))},24454:(e,t,n)=>{!function(e){"use strict";e.defineMode("verilog",(function(t,n){var r=t.indentUnit,i=n.statementIndentUnit||r,o=n.dontAlignCalls,a=n.compilerDirectivesUseRegularIndentation,s=n.noIndentKeywords||[],l=n.multiLineStrings,u=n.hooks||{};function c(e){for(var t={},n=e.split(" "),r=0;r]/,m=/[\[\]{}()]/,g=/\d[0-9_]*/,v=/\d*\s*'s?d\s*\d[0-9_]*/i,y=/\d*\s*'s?b\s*[xz01][xz01_]*/i,b=/\d*\s*'s?o\s*[xz0-7][xz0-7_]*/i,w=/\d*\s*'s?h\s*[0-9a-fxz?][0-9a-fxz?_]*/i,_=/(\d[\d_]*(\.\d[\d_]*)?E-?[\d_]+)|(\d[\d_]*\.\d[\d_]*)/i,x=/^((`?\w+)|[)}\]])/,k=/[)}\]]/,E=new RegExp("^(`(?:ifdef|ifndef|elsif|else|endif|undef|undefineall|define|include|begin_keywords|celldefine|default|nettype|end_keywords|endcelldefine|line|nounconnected_drive|pragma|resetall|timescale|unconnected_drive))\\b"),C=/^(`(?:ifdef|ifndef|elsif|else))\b/,S=/^(`(?:elsif|else|endif))\b/,A=c("case checker class clocking config function generate interface module package primitive program property specify sequence table task"),T={};for(var O in A)T[O]="end"+O;for(var P in T.begin="end",T.casex="endcase",T.casez="endcase",T.do="while",T.fork="join;join_any;join_none",T.covergroup="endgroup",T.macro_begin="macro_end",s)O=s[P],T[O]&&(T[O]=void 0);var D=c("always always_comb always_ff always_latch assert assign assume else export for foreach forever if import initial repeat while extern typedef");function R(e,t){var n,r,i=e.peek();if(u[i]&&0!=(n=u[i](e,t)))return n;if(u.tokenBase&&0!=(n=u.tokenBase(e,t)))return n;if(/[,;:\.]/.test(i))return d=e.next(),null;if(m.test(i))return d=e.next(),"bracket";if("`"==i){if(e.next(),e.eatWhile(/[\w\$_]/)){var o=e.current();if(p=o,o.startsWith("`uvm_")&&o.endsWith("_begin")){var a=p.substr(0,p.length-5)+"end";T[o]=a,d="newblock"}else{e.eatSpace(),"("==e.peek()&&(d="newmacro");var s=e.current();e.backUp(s.length-o.length)}return"def"}return null}if("$"==i)return e.next(),e.eatWhile(/[\w\$_]/)?"meta":null;if("#"==i)return e.next(),e.eatWhile(/[\d_.]/),"def";if("@"==i)return e.next(),e.eatWhile(/[@]/),"def";if('"'==i)return e.next(),t.tokenize=(r=i,function(e,t){for(var n,i=!1,o=!1;null!=(n=e.next());){if(n==r&&!i){o=!0;break}i=!i&&"\\"==n}return(o||!i&&!l)&&(t.tokenize=R),"string"}),t.tokenize(e,t);if("/"==i){if(e.next(),e.eat("*"))return t.tokenize=I,I(e,t);if(e.eat("/"))return e.skipToEnd(),"comment";e.backUp(1)}return e.match(_)||e.match(v)||e.match(y)||e.match(b)||e.match(w)||e.match(g)||e.match(_)?"number":e.eatWhile(h)?(d=e.current(),"meta"):e.eatWhile(/[\w\$_]/)?(o=e.current(),f[o]?(T[o]&&(d="newblock","fork"===o&&(e.eatSpace(),";"==e.peek()&&(d="newstatement"),e.backUp(e.current().length-o.length))),D[o]&&(d="newstatement"),p=o,"keyword"):"variable"):(e.next(),null)}function I(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=R;break}r="*"==n}return"comment"}function M(e,t,n,r,i,o){this.indented=e,this.column=t,this.type=n,this.scopekind=r,this.align=i,this.prev=o}function L(e,t,n,r){var i=new M(e.indented,t,n,r||"",null,e.context);return e.context=i}function N(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}function j(e,t){if(e==t)return!0;var n=t.split(";");for(var r in n)if(e==n[r])return!0;return!1}function F(e,t){return null!=e&&(e.scopekind===t||F(e.prev,t))}return{electricInput:function(){var e=[];for(var t in T)if(T[t]){var n=T[t].split(";");for(var r in n)e.push(n[r])}return new RegExp("[{}()\\[\\]]|("+e.join("|")+")$")}(),startState:function(e){var t={tokenize:null,context:new M((e||0)-r,0,"top","top",!1),indented:0,compilerDirectiveIndented:0,startOfLine:!0};return u.startState&&u.startState(t),t},token:function(e,t){var n,r=t.context;if(e.sol()&&(null==r.align&&(r.align=!1),t.indented=e.indentation(),t.startOfLine=!0),u.token&&void 0!==(n=u.token(e,t)))return n;if(e.eatSpace())return null;if(d=null,p=null,"comment"==(n=(t.tokenize||R)(e,t))||"meta"==n||"variable"==n)return"="!==d&&"<="!==d||F(r,"assignment")||(L(t,e.column()+d.length,"assignment","assignment"),null==r.align&&(r.align=!0)),n;null==r.align&&(r.align=!0);var o="assignment"==r.type&&k.test(d)&&r.prev&&r.prev.type===d;if(d==r.type||o){if(o&&(r=N(t)),r=N(t),")"==d){if(r&&"macro"===r.type)for(r=N(t);r&&("statement"==r.type||"assignment"==r.type);)r=N(t)}else if("}"==d&&r&&"statement"===r.type)for(;r&&"statement"==r.type;)r=N(t)}else if((";"==d||","==d)&&("statement"==r.type||"assignment"==r.type)||r.type&&j(p,r.type))for(r=N(t);r&&("statement"==r.type||"assignment"==r.type);)r=N(t);else if("{"==d)L(t,e.column(),"}");else if("["==d)L(t,e.column(),"]");else if("("==d)L(t,e.column(),")");else if(r&&"endcase"==r.type&&":"==d)L(t,e.column(),"statement","case");else if("newstatement"==d)L(t,e.column(),"statement",p);else if("newblock"==d){if("function"!=p||!r||"statement"!=r.type&&"endgroup"!=r.type)if("task"==p&&r&&"statement"==r.type);else if("class"==p&&r&&"statement"==r.type);else{var a=T[p];L(t,e.column(),a,p)}}else("newmacro"==d||p&&p.match(E))&&("newmacro"==d&&L(t,e.column(),"macro","macro"),p.match(S)&&(t.compilerDirectiveIndented-=i),p.match(C)&&(t.compilerDirectiveIndented+=i));return t.startOfLine=!1,n},indent:function(t,n){if(t.tokenize!=R&&null!=t.tokenize)return e.Pass;if(u.indent){var s=u.indent(t);if(s>=0)return s}var l=t.context,c=n&&n.charAt(0);"statement"==l.type&&"}"==c&&(l=l.prev);var d=!1,p=n.match(x);return p&&(d=j(p[0],l.type)),!a&&n.match(E)?n.match(S)?t.compilerDirectiveIndented-i:t.compilerDirectiveIndented:"statement"==l.type?l.indented+("{"==c?0:i):!k.test(l.type)&&"assignment"!=l.type||!l.align||o?")"!=l.type||d?l.indented+(d?0:r):l.indented+i:l.column+(d?0:1)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",fold:"indent"}})),e.defineMIME("text/x-verilog",{name:"verilog"}),e.defineMIME("text/x-systemverilog",{name:"verilog"});var t={"|":"link",">":"property",$:"variable",$$:"variable","?$":"qualifier","?*":"qualifier","-":"hr","/":"property","/-":"property","@":"variable-3","@-":"variable-3","@++":"variable-3","@+=":"variable-3","@+=-":"variable-3","@--":"variable-3","@-=":"variable-3","%+":"tag","%-":"tag","%":"tag",">>":"tag","<<":"tag","<>":"tag","#":"tag","^":"attribute","^^":"attribute","^!":"attribute","*":"variable-2","**":"variable-2","\\":"keyword",'"':"comment"},n={"/":"beh-hier",">":"beh-hier","-":"phys-hier","|":"pipe","?":"when","@":"stage","\\":"keyword"},r=/^([~!@#\$%\^&\*-\+=\?\/\\\|'"<>]+)([\d\w_]*)/,i=/^[! ] /,o=/^[! ] */,a=/^\/[\/\*]/;function s(e,t,n){var r=t/3;return"tlv-"+e.tlvIndentationStyle[r]+"-"+n}e.defineMIME("text/x-tlv",{name:"verilog",hooks:{electricInput:!1,token:function(e,l){var u=void 0;if(e.sol()&&!l.tlvInBlockComment){"\\"==e.peek()&&(u="def",e.skipToEnd(),e.string.match(/\\SV/)?l.tlvCodeActive=!1:e.string.match(/\\TLV/)&&(l.tlvCodeActive=!0)),l.tlvCodeActive&&0==e.pos&&0==l.indented&&(g=e.match(o,!1))&&(l.indented=g[0].length);var c=l.indented,d=c/3;if(d<=l.tlvIndentationStyle.length){var p=e.string.length==c,f=3*d;if(f0||(l.tlvIndentationStyle[d]=n[m],d++))}if(!p)for(;l.tlvIndentationStyle.length>d;)l.tlvIndentationStyle.pop()}l.tlvNextIndent=c}if(l.tlvCodeActive){var g,v=!1;if(void 0!==u)u+=" "+s(l,0,"scope-ident");else if(e.pos/30}(e)&&(u+=" "+s(l,e.pos,"before-scope-ident"));else if(l.tlvInBlockComment)e.match(/^.*?\*\//)?l.tlvInBlockComment=!1:e.skipToEnd(),u="comment";else if((g=e.match(a))&&!l.tlvInBlockComment)"//"==g[0]?e.skipToEnd():l.tlvInBlockComment=!0,u="comment";else if(g=e.match(r)){var y=g[1],b=g[2];t.hasOwnProperty(y)&&(b.length>0||e.eol())?(u=t[y],e.column()==l.indented&&(u+=" "+s(l,e.column(),"scope-ident"))):(e.backUp(e.current().length-1),u="tlv-default")}else e.match(/^\t+/)?u="tlv-tab":e.match(/^[\[\]{}\(\);\:]+/)?u="meta":(g=e.match(/^[mM]4([\+_])?[\w\d_]*/))?u="+"==g[1]?"tlv-m4-plus":"tlv-m4":e.match(/^ +/)?u=e.eol()?"error":"tlv-default":e.match(/^[\w\d_]+/)?u="number":(e.next(),u="tlv-default");v&&(u+=" tlv-statement")}else e.match(/^[mM]4([\w\d_]*)/)&&(u="tlv-m4");return u},indent:function(e){return 1==e.tlvCodeActive?e.tlvNextIndent:-1},startState:function(e){e.tlvIndentationStyle=[],e.tlvCodeActive=!0,e.tlvNextIndent=-1,e.tlvInBlockComment=!1}}})}(n(23326))},41838:(e,t,n)=>{!function(e){"use strict";function t(e){for(var t={},n=e.split(","),r=0;r{!function(e){"use strict";var t,r;t=n(23326),n(19962),n(9812),n(49055),n(86386),n(98627),n(67838),n(98660),n(12904),n(16791),r={script:[["lang",/coffee(script)?/,"coffeescript"],["type",/^(?:text|application)\/(?:x-)?coffee(?:script)?$/,"coffeescript"],["lang",/^babel$/,"javascript"],["type",/^text\/babel$/,"javascript"],["type",/^text\/ecmascript-\d+$/,"javascript"]],style:[["lang",/^stylus$/i,"stylus"],["lang",/^sass$/i,"sass"],["lang",/^less$/i,"text/x-less"],["lang",/^scss$/i,"text/x-scss"],["type",/^(text\/)?(x-)?styl(us)?$/i,"stylus"],["type",/^text\/sass/i,"sass"],["type",/^(text\/)?(x-)?scss$/i,"text/x-scss"],["type",/^(text\/)?(x-)?less$/i,"text/x-less"]],template:[["lang",/^vue-template$/i,"vue"],["lang",/^pug$/i,"pug"],["lang",/^handlebars$/i,"handlebars"],["type",/^(text\/)?(x-)?pug$/i,"pug"],["type",/^text\/x-handlebars-template$/i,"handlebars"],[null,null,"vue-template"]]},t.defineMode("vue-template",(function(e,n){return t.overlayMode(t.getMode(e,n.backdrop||"text/html"),{token:function(e){if(e.match(/^\{\{.*?\}\}/))return"meta mustache";for(;e.next()&&!e.match("{{",!1););return null}})})),t.defineMode("vue",(function(e){return t.getMode(e,{name:"htmlmixed",tags:r})}),"htmlmixed","xml","javascript","coffeescript","css","sass","stylus","pug","handlebars"),t.defineMIME("script/x-vue","vue"),t.defineMIME("text/x-vue","vue")}()},69693:(e,t,n)=>{!function(e){"use strict";e.defineSimpleMode("wast",{start:[{regex:/[+\-]?(?:nan(?::0x[0-9a-fA-F]+)?|infinity|inf|0x[0-9a-fA-F]+\.?[0-9a-fA-F]*p[+\/-]?\d+|\d+(?:\.\d*)?[eE][+\-]?\d*|\d+\.\d*|0x[0-9a-fA-F]+|\d+)/,token:"number"},{regex:new RegExp(["align","block","br(_if|_table|_on_(cast|data|func|i31|null))?","call(_indirect|_ref)?","current_memory","\\bdata\\b","catch(_all)?","delegate","drop","elem","else","end","export","\\bextern\\b","\\bfunc\\b","global(\\.(get|set))?","if","import","local(\\.(get|set|tee))?","loop","module","mut","nop","offset","param","result","rethrow","return(_call(_indirect|_ref)?)?","select","start","table(\\.(size|get|set|size|grow|fill|init|copy))?","then","throw","try","type","unreachable","unwind","i(32|64)\\.(store(8|16)|(load(8|16)_[su]))","i64\\.(load32_[su]|store32)","[fi](32|64)\\.(const|load|store)","f(32|64)\\.(abs|add|ceil|copysign|div|eq|floor|[gl][et]|max|min|mul|nearest|neg?|sqrt|sub|trunc)","i(32|64)\\.(a[dn]d|c[lt]z|(div|rem)_[su]|eqz?|[gl][te]_[su]|mul|ne|popcnt|rot[lr]|sh(l|r_[su])|sub|x?or)","i64\\.extend_[su]_i32","i32\\.wrap_i64","i(32|64)\\.trunc_f(32|64)_[su]","f(32|64)\\.convert_i(32|64)_[su]","f64\\.promote_f32","f32\\.demote_f64","f32\\.reinterpret_i32","i32\\.reinterpret_f32","f64\\.reinterpret_i64","i64\\.reinterpret_f64","memory(\\.((atomic\\.(notify|wait(32|64)))|grow|size))?","i64.atomic\\.(load32_u|store32|rmw32\\.(a[dn]d|sub|x?or|(cmp)?xchg)_u)","i(32|64)\\.atomic\\.(load((8|16)_u)?|store(8|16)?|rmw(\\.(a[dn]d|sub|x?or|(cmp)?xchg)|(8|16)\\.(a[dn]d|sub|x?or|(cmp)?xchg)_u))","v128\\.load(8x8|16x4|32x2)_[su]","v128\\.load(8|16|32|64)_splat","v128\\.(load|store)(8|16|32|64)_lane","v128\\.load(32|64)_zero","v128.(load|store|const|not|andnot|and|or|xor|bitselect|any_true)","i(8x16|16x8)\\.(extract_lane_[su]|(add|sub)_sat_[su]|avgr_u)","i(8x16|16x8|32x4|64x2)\\.(neg|add|sub|abs|shl|shr_[su]|all_true|bitmask|eq|ne|[lg][te]_s)","(i(8x16|16x8|32x4|64x2)|f(32x4|64x2)).(splat|replace_lane)","i(8x16|16x8|32x4)\\.(([lg][te]_u)|((min|max)_[su]))","f(32x4|64x2)\\.(neg|add|sub|abs|nearest|eq|ne|[lg][te]|sqrt|mul|div|min|max|ceil|floor|trunc)","[fi](32x4|64x2)\\.extract_lane","i8x16\\.(shuffle|swizzle|popcnt|narrow_i16x8_[su])","i16x8\\.(narrow_i32x4_[su]|mul|extadd_pairwise_i8x16_[su]|q15mulr_sat_s)","i16x8\\.(extend|extmul)_(low|high)_i8x16_[su]","i32x4\\.(mul|dot_i16x8_s|trunc_sat_f64x2_[su]_zero)","i32x4\\.((extend|extmul)_(low|high)_i16x8_|trunc_sat_f32x4_|extadd_pairwise_i16x8_)[su]","i64x2\\.(mul|(extend|extmul)_(low|high)_i32x4_[su])","f32x4\\.(convert_i32x4_[su]|demote_f64x2_zero)","f64x2\\.(promote_low_f32x4|convert_low_i32x4_[su])","\\bany\\b","array\\.len","(array|struct)(\\.(new_(default_)?with_rtt|get(_[su])?|set))?","\\beq\\b","field","i31\\.(new|get_[su])","\\bnull\\b","ref(\\.(([ai]s_(data|func|i31))|cast|eq|func|(is_|as_non_)?null|test))?","rtt(\\.(canon|sub))?"].join("|")),token:"keyword"},{regex:/\b((any|data|eq|extern|i31|func)ref|[fi](32|64)|i(8|16))\b/,token:"atom"},{regex:/\$([a-zA-Z0-9_`\+\-\*\/\\\^~=<>!\?@#$%&|:\.]+)/,token:"variable-2"},{regex:/"(?:[^"\\\x00-\x1f\x7f]|\\[nt\\'"]|\\[0-9a-fA-F][0-9a-fA-F])*"/,token:"string"},{regex:/\(;.*?/,token:"comment",next:"comment"},{regex:/;;.*$/,token:"comment"},{regex:/\(/,indent:!0},{regex:/\)/,dedent:!0}],comment:[{regex:/.*?;\)/,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],meta:{dontIndentStates:["comment"]}}),e.defineMIME("text/webassembly","wast")}(n(23326),n(81094))},29178:(e,t,n)=>{!function(e){"use strict";function t(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var n=["Clamp","Constructor","EnforceRange","Exposed","ImplicitThis","Global","PrimaryGlobal","LegacyArrayClass","LegacyUnenumerableNamedProperties","LenientThis","NamedConstructor","NewObject","NoInterfaceObject","OverrideBuiltins","PutForwards","Replaceable","SameObject","TreatNonObjectAsNull","TreatNullAs","EmptyString","Unforgeable","Unscopeable"],r=t(n),i=["unsigned","short","long","unrestricted","float","double","boolean","byte","octet","Promise","ArrayBuffer","DataView","Int8Array","Int16Array","Int32Array","Uint8Array","Uint16Array","Uint32Array","Uint8ClampedArray","Float32Array","Float64Array","ByteString","DOMString","USVString","sequence","object","RegExp","Error","DOMException","FrozenArray","any","void"],o=t(i),a=["attribute","callback","const","deleter","dictionary","enum","getter","implements","inherit","interface","iterable","legacycaller","maplike","partial","required","serializer","setlike","setter","static","stringifier","typedef","optional","readonly","or"],s=t(a),l=["true","false","Infinity","NaN","null"],u=t(l);e.registerHelper("hintWords","webidl",n.concat(i).concat(a).concat(l));var c=t(["callback","dictionary","enum","interface"]),d=t(["typedef"]),p=/^[:<=>?]/,f=/^-?([1-9][0-9]*|0[Xx][0-9A-Fa-f]+|0[0-7]*)/,h=/^-?(([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([Ee][+-]?[0-9]+)?|[0-9]+[Ee][+-]?[0-9]+)/,m=/^_?[A-Za-z][0-9A-Z_a-z-]*/,g=/^_?[A-Za-z][0-9A-Z_a-z-]*(?=\s*;)/,v=/^"[^"]*"/,y=/^\/\*.*?\*\//,b=/^\/\*.*/,w=/^.*?\*\//;e.defineMode("webidl",(function(){return{startState:function(){return{inComment:!1,lastToken:"",startDef:!1,endDef:!1}},token:function(e,t){var n=function(e,t){if(e.eatSpace())return null;if(t.inComment)return e.match(w)?(t.inComment=!1,"comment"):(e.skipToEnd(),"comment");if(e.match("//"))return e.skipToEnd(),"comment";if(e.match(y))return"comment";if(e.match(b))return t.inComment=!0,"comment";if(e.match(/^-?[0-9\.]/,!1)&&(e.match(f)||e.match(h)))return"number";if(e.match(v))return"string";if(t.startDef&&e.match(m))return"def";if(t.endDef&&e.match(g))return t.endDef=!1,"def";if(e.match(s))return"keyword";if(e.match(o)){var n=t.lastToken,i=(e.match(/^\s*(.+?)\b/,!1)||[])[1];return":"===n||"implements"===n||"implements"===i||"="===i?"builtin":"variable-3"}return e.match(r)?"builtin":e.match(u)?"atom":e.match(m)?"variable":e.match(p)?"operator":(e.next(),null)}(e,t);if(n){var i=e.current();t.lastToken=i,"keyword"===n?(t.startDef=c.test(i),t.endDef=t.endDef||d.test(i)):t.startDef=!1}return n}}})),e.defineMIME("text/x-webidl","webidl")}(n(23326))},9812:(e,t,n)=>{!function(e){"use strict";var t={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},n={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};e.defineMode("xml",(function(r,i){var o,a,s=r.indentUnit,l={},u=i.htmlMode?t:n;for(var c in u)l[c]=u[c];for(var c in i)l[c]=i[c];function d(e,t){function n(n){return t.tokenize=n,n(e,t)}var r=e.next();return"<"==r?e.eat("!")?e.eat("[")?e.match("CDATA[")?n(f("atom","]]>")):null:e.match("--")?n(f("comment","--\x3e")):e.match("DOCTYPE",!0,!0)?(e.eatWhile(/[\w\._\-]/),n(h(1))):null:e.eat("?")?(e.eatWhile(/[\w\._\-]/),t.tokenize=f("meta","?>"),"meta"):(o=e.eat("/")?"closeTag":"openTag",t.tokenize=p,"tag bracket"):"&"==r?(e.eat("#")?e.eat("x")?e.eatWhile(/[a-fA-F\d]/)&&e.eat(";"):e.eatWhile(/[\d]/)&&e.eat(";"):e.eatWhile(/[\w\.\-:]/)&&e.eat(";"))?"atom":"error":(e.eatWhile(/[^&<]/),null)}function p(e,t){var n,r,i=e.next();if(">"==i||"/"==i&&e.eat(">"))return t.tokenize=d,o=">"==i?"endTag":"selfcloseTag","tag bracket";if("="==i)return o="equals",null;if("<"==i){t.tokenize=d,t.state=b,t.tagName=t.tagStart=null;var a=t.tokenize(e,t);return a?a+" tag error":"tag error"}return/[\'\"]/.test(i)?(t.tokenize=(n=i,r=function(e,t){for(;!e.eol();)if(e.next()==n){t.tokenize=p;break}return"string"},r.isInAttribute=!0,r),t.stringStartCol=e.column(),t.tokenize(e,t)):(e.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function f(e,t){return function(n,r){for(;!n.eol();){if(n.match(t)){r.tokenize=d;break}n.next()}return e}}function h(e){return function(t,n){for(var r;null!=(r=t.next());){if("<"==r)return n.tokenize=h(e+1),n.tokenize(t,n);if(">"==r){if(1==e){n.tokenize=d;break}return n.tokenize=h(e-1),n.tokenize(t,n)}}return"meta"}}function m(e){return e&&e.toLowerCase()}function g(e,t,n){this.prev=e.context,this.tagName=t||"",this.indent=e.indented,this.startOfLine=n,(l.doNotIndent.hasOwnProperty(t)||e.context&&e.context.noIndent)&&(this.noIndent=!0)}function v(e){e.context&&(e.context=e.context.prev)}function y(e,t){for(var n;;){if(!e.context)return;if(n=e.context.tagName,!l.contextGrabbers.hasOwnProperty(m(n))||!l.contextGrabbers[m(n)].hasOwnProperty(m(t)))return;v(e)}}function b(e,t,n){return"openTag"==e?(n.tagStart=t.column(),w):"closeTag"==e?_:b}function w(e,t,n){return"word"==e?(n.tagName=t.current(),a="tag",E):l.allowMissingTagName&&"endTag"==e?(a="tag bracket",E(e,0,n)):(a="error",w)}function _(e,t,n){if("word"==e){var r=t.current();return n.context&&n.context.tagName!=r&&l.implicitlyClosed.hasOwnProperty(m(n.context.tagName))&&v(n),n.context&&n.context.tagName==r||!1===l.matchClosing?(a="tag",x):(a="tag error",k)}return l.allowMissingTagName&&"endTag"==e?(a="tag bracket",x(e,0,n)):(a="error",k)}function x(e,t,n){return"endTag"!=e?(a="error",x):(v(n),b)}function k(e,t,n){return a="error",x(e,0,n)}function E(e,t,n){if("word"==e)return a="attribute",C;if("endTag"==e||"selfcloseTag"==e){var r=n.tagName,i=n.tagStart;return n.tagName=n.tagStart=null,"selfcloseTag"==e||l.autoSelfClosers.hasOwnProperty(m(r))?y(n,r):(y(n,r),n.context=new g(n,r,i==n.indented)),b}return a="error",E}function C(e,t,n){return"equals"==e?S:(l.allowMissing||(a="error"),E(e,0,n))}function S(e,t,n){return"string"==e?A:"word"==e&&l.allowUnquoted?(a="string",E):(a="error",E(e,0,n))}function A(e,t,n){return"string"==e?A:E(e,0,n)}return d.isInText=!0,{startState:function(e){var t={tokenize:d,state:b,indented:e||0,tagName:null,tagStart:null,context:null};return null!=e&&(t.baseIndent=e),t},token:function(e,t){if(!t.tagName&&e.sol()&&(t.indented=e.indentation()),e.eatSpace())return null;o=null;var n=t.tokenize(e,t);return(n||o)&&"comment"!=n&&(a=null,t.state=t.state(o||n,e,t),a&&(n="error"==a?n+" error":a)),n},indent:function(t,n,r){var i=t.context;if(t.tokenize.isInAttribute)return t.tagStart==t.indented?t.stringStartCol+1:t.indented+s;if(i&&i.noIndent)return e.Pass;if(t.tokenize!=p&&t.tokenize!=d)return r?r.match(/^(\s*)/)[0].length:0;if(t.tagName)return!1!==l.multilineTagIndentPastTag?t.tagStart+t.tagName.length+2:t.tagStart+s*(l.multilineTagIndentFactor||1);if(l.alignCDATA&&/$/,blockCommentStart:"\x3c!--",blockCommentEnd:"--\x3e",configuration:l.htmlMode?"html":"xml",helperType:l.htmlMode?"html":"xml",skipAttribute:function(e){e.state==S&&(e.state=E)},xmlCurrentTag:function(e){return e.tagName?{name:e.tagName,close:"closeTag"==e.type}:null},xmlCurrentContext:function(e){for(var t=[],n=e.context;n;n=n.prev)t.push(n.tagName);return t.reverse()}}})),e.defineMIME("text/xml","xml"),e.defineMIME("application/xml","xml"),e.mimeModes.hasOwnProperty("text/html")||e.defineMIME("text/html",{name:"xml",htmlMode:!0})}(n(23326))},58757:(e,t,n)=>{!function(e){"use strict";e.defineMode("xquery",(function(){var e=function(){function e(e){return{type:e,style:"keyword"}}for(var t=e("operator"),n={type:"atom",style:"atom"},r={type:"axis_specifier",style:"qualifier"},i={",":{type:"punctuation",style:null}},o=["after","all","allowing","ancestor","ancestor-or-self","any","array","as","ascending","at","attribute","base-uri","before","boundary-space","by","case","cast","castable","catch","child","collation","comment","construction","contains","content","context","copy","copy-namespaces","count","decimal-format","declare","default","delete","descendant","descendant-or-self","descending","diacritics","different","distance","document","document-node","element","else","empty","empty-sequence","encoding","end","entire","every","exactly","except","external","first","following","following-sibling","for","from","ftand","ftnot","ft-option","ftor","function","fuzzy","greatest","group","if","import","in","inherit","insensitive","insert","instance","intersect","into","invoke","is","item","language","last","lax","least","let","levels","lowercase","map","modify","module","most","namespace","next","no","node","nodes","no-inherit","no-preserve","not","occurs","of","only","option","order","ordered","ordering","paragraph","paragraphs","parent","phrase","preceding","preceding-sibling","preserve","previous","processing-instruction","relationship","rename","replace","return","revalidation","same","satisfies","schema","schema-attribute","schema-element","score","self","sensitive","sentence","sentences","sequence","skip","sliding","some","stable","start","stemming","stop","strict","strip","switch","text","then","thesaurus","times","to","transform","treat","try","tumbling","type","typeswitch","union","unordered","update","updating","uppercase","using","validate","value","variable","version","weight","when","where","wildcards","window","with","without","word","words","xquery"],a=0,s=o.length;a",">=","<","<=",".","|","?","and","or","div","idiv","mod","*","/","+","-"];for(a=0,s=u.length;a\"\'\/?]/);)_+=w;return t(d,m,function(e,t){return function(r,i){return r.eatSpace(),t&&r.eat(">")?(h(i),i.tokenize=n,"tag"):(r.eat("/")||f(i,{type:"tag",name:e,tokenize:n}),r.eat(">")?(i.tokenize=n,"tag"):(i.tokenize=a,"tag"))}}(_,b))}if("{"==g)return f(m,{type:"codeblock"}),null;if("}"==g)return h(m),null;if(c(m))return">"==g?"tag":"/"==g&&d.eat(">")?(h(m),"tag"):"variable";if(/\d/.test(g))return d.match(/^\d*(?:\.\d*)?(?:E[+\-]?\d+)?/),"atom";if("("===g&&d.eat(":"))return f(m,{type:"comment"}),t(d,m,r);if(y||'"'!==g&&"'"!==g){if("$"===g)return t(d,m,o);if(":"===g&&d.eat("="))return"keyword";if("("===g)return f(m,{type:"paren"}),null;if(")"===g)return h(m),null;if("["===g)return f(m,{type:"bracket"}),null;if("]"===g)return h(m),null;var x=e.propertyIsEnumerable(g)&&e[g];if(y&&'"'===g)for(;'"'!==d.next(););if(y&&"'"===g)for(;"'"!==d.next(););x||d.eatWhile(/[\w\$_-]/);var k=d.eat(":");!d.eat(":")&&k&&d.eatWhile(/[\w\$_-]/),d.match(/^[ \t]*\(/,!1)&&(v=!0);var E=d.current();return x=e.propertyIsEnumerable(E)&&e[E],v&&!x&&(x={type:"function_call",style:"variable def"}),function(e){return p(e,"xmlconstructor")}(m)?(h(m),"variable"):("element"!=E&&"attribute"!=E&&"axis_specifier"!=x.type||f(m,{type:"xmlconstructor"}),x?x.style:"variable")}return t(d,m,i(g))}function r(e,t){for(var n,r=!1,i=!1,o=0;n=e.next();){if(")"==n&&r){if(!(o>0)){h(t);break}o--}else":"==n&&i&&o++;r=":"==n,i="("==n}return"comment"}function i(e,t){return function(r,o){var a;if(function(e){return p(e,"string")}(o)&&r.current()==e)return h(o),t&&(o.tokenize=t),"string";if(f(o,{type:"string",name:e,tokenize:i(e,t)}),r.match("{",!1)&&d(o))return o.tokenize=n,"string";for(;a=r.next();){if(a==e){h(o),t&&(o.tokenize=t);break}if(r.match("{",!1)&&d(o))return o.tokenize=n,"string"}return"string"}}function o(e,t){var r=/[\w\$_-]/;if(e.eat('"')){for(;'"'!==e.next(););e.eat(":")}else e.eatWhile(r),e.match(":=",!1)||e.eat(":");return e.eatWhile(r),t.tokenize=n,"variable"}function a(e,r){var o=e.next();return"/"==o&&e.eat(">")?(d(r)&&h(r),c(r)&&h(r),"tag"):">"==o?(d(r)&&h(r),"tag"):"="==o?null:'"'==o||"'"==o?t(e,r,i(o,a)):(d(r)||f(r,{type:"attribute",tokenize:a}),e.eat(/[a-zA-Z_:]/),e.eatWhile(/[-a-zA-Z0-9_:.]/),e.eatSpace(),(e.match(">",!1)||e.match("/",!1))&&(h(r),r.tokenize=n),"attribute")}function s(e,t){for(var r;r=e.next();)if("-"==r&&e.match("->",!0))return t.tokenize=n,"comment"}function l(e,t){for(var r;r=e.next();)if("]"==r&&e.match("]",!0))return t.tokenize=n,"comment"}function u(e,t){for(var r;r=e.next();)if("?"==r&&e.match(">",!0))return t.tokenize=n,"comment meta"}function c(e){return p(e,"tag")}function d(e){return p(e,"attribute")}function p(e,t){return e.stack.length&&e.stack[e.stack.length-1].type==t}function f(e,t){e.stack.push(t)}function h(e){e.stack.pop();var t=e.stack.length&&e.stack[e.stack.length-1].tokenize;e.tokenize=t||n}return{startState:function(){return{tokenize:n,cc:[],stack:[]}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},blockCommentStart:"(:",blockCommentEnd:":)"}})),e.defineMIME("application/xquery","xquery")}(n(23326))},82644:(e,t,n)=>{!function(e){"use strict";e.defineMode("yacas",(function(t,n){var r=function(e){for(var t={},n=e.split(" "),r=0;r|<|&|\||_|`|'|\^|\?|!|%|#)/,!0,!1)?"operator":"error"}function c(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if('"'===n&&!i){r=!0;break}i=!i&&"\\"===n}return r&&!i&&(t.tokenize=u),"string"}function d(e,t){for(var n,r;null!=(r=e.next());){if("*"===n&&"/"===r){t.tokenize=u;break}n=r}return"comment"}function p(e){var t=null;return e.scopes.length>0&&(t=e.scopes[e.scopes.length-1]),t}return{startState:function(){return{tokenize:u,scopes:[]}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},indent:function(n,r){if(n.tokenize!==u&&null!==n.tokenize)return e.Pass;var i=0;return"]"!==r&&"];"!==r&&"}"!==r&&"};"!==r&&");"!==r||(i=-1),(n.scopes.length+i)*t.indentUnit},electricChars:"{}[]();",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//"}})),e.defineMIME("text/x-yacas",{name:"yacas"})}(n(23326))},19515:(e,t,n)=>{var r;r=n(23326),n(35306),r.defineMode("yaml-frontmatter",(function(e,t){var n=r.getMode(e,"yaml"),i=r.getMode(e,t&&t.base||"gfm");function o(e){return 1==e.state?{mode:n,state:e.yaml}:{mode:i,state:e.inner}}return{startState:function(){return{state:0,yaml:null,inner:r.startState(i)}},copyState:function(e){return{state:e.state,yaml:e.yaml&&r.copyState(n,e.yaml),inner:r.copyState(i,e.inner)}},token:function(e,t){if(0==t.state)return e.match("---",!1)?(t.state=1,t.yaml=r.startState(n),n.token(e,t.yaml)):(t.state=2,i.token(e,t.inner));if(1==t.state){var o=e.sol()&&e.match(/(---|\.\.\.)/,!1),a=n.token(e,t.yaml);return o&&(t.state=2,t.yaml=null),a}return i.token(e,t.inner)},innerMode:o,indent:function(e,t,n){var i=o(e);return i.mode.indent?i.mode.indent(i.state,t,n):r.Pass},blankLine:function(e){var t=o(e);if(t.mode.blankLine)return t.mode.blankLine(t.state)}}}))},35306:(e,t,n)=>{!function(e){"use strict";e.defineMode("yaml",(function(){var e=new RegExp("\\b(("+["true","false","on","off","yes","no"].join(")|(")+"))$","i");return{token:function(t,n){var r=t.peek(),i=n.escaped;if(n.escaped=!1,"#"==r&&(0==t.pos||/\s/.test(t.string.charAt(t.pos-1))))return t.skipToEnd(),"comment";if(t.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(n.literal&&t.indentation()>n.keyCol)return t.skipToEnd(),"string";if(n.literal&&(n.literal=!1),t.sol()){if(n.keyCol=0,n.pair=!1,n.pairStart=!1,t.match("---"))return"def";if(t.match("..."))return"def";if(t.match(/\s*-\s+/))return"meta"}if(t.match(/^(\{|\}|\[|\])/))return"{"==r?n.inlinePairs++:"}"==r?n.inlinePairs--:"["==r?n.inlineList++:n.inlineList--,"meta";if(n.inlineList>0&&!i&&","==r)return t.next(),"meta";if(n.inlinePairs>0&&!i&&","==r)return n.keyCol=0,n.pair=!1,n.pairStart=!1,t.next(),"meta";if(n.pairStart){if(t.match(/^\s*(\||\>)\s*/))return n.literal=!0,"meta";if(t.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable-2";if(0==n.inlinePairs&&t.match(/^\s*-?[0-9\.\,]+\s?$/))return"number";if(n.inlinePairs>0&&t.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(t.match(e))return"keyword"}return!n.pair&&t.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^\s,\[\]{}#&*!|>'"%@`])[^#:]*(?=:($|\s))/)?(n.pair=!0,n.keyCol=t.indentation(),"atom"):n.pair&&t.match(/^:\s*/)?(n.pairStart=!0,"meta"):(n.pairStart=!1,n.escaped="\\"==r,t.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},lineComment:"#",fold:"indent"}})),e.defineMIME("text/x-yaml","yaml"),e.defineMIME("text/yaml","yaml")}(n(23326))},76215:(e,t,n)=>{!function(e){"use strict";e.defineMode("z80",(function(e,t){var n,r,i=t.ez80;i?(n=/^(exx?|(ld|cp)([di]r?)?|[lp]ea|pop|push|ad[cd]|cpl|daa|dec|inc|neg|sbc|sub|and|bit|[cs]cf|x?or|res|set|r[lr]c?a?|r[lr]d|s[lr]a|srl|djnz|nop|[de]i|halt|im|in([di]mr?|ir?|irx|2r?)|ot(dmr?|[id]rx|imr?)|out(0?|[di]r?|[di]2r?)|tst(io)?|slp)(\.([sl]?i)?[sl])?\b/i,r=/^(((call|j[pr]|rst|ret[in]?)(\.([sl]?i)?[sl])?)|(rs|st)mix)\b/i):(n=/^(exx?|(ld|cp|in)([di]r?)?|pop|push|ad[cd]|cpl|daa|dec|inc|neg|sbc|sub|and|bit|[cs]cf|x?or|res|set|r[lr]c?a?|r[lr]d|s[lr]a|srl|djnz|nop|rst|[de]i|halt|im|ot[di]r|out[di]?)\b/i,r=/^(call|j[pr]|ret[in]?|b_?(call|jump))\b/i);var o=/^(af?|bc?|c|de?|e|hl?|l|i[xy]?|r|sp)\b/i,a=/^(n?[zc]|p[oe]?|m)\b/i,s=/^([hl][xy]|i[xy][hl]|slia|sll)\b/i,l=/^([\da-f]+h|[0-7]+o|[01]+b|\d+d?)\b/i;return{startState:function(){return{context:0}},token:function(e,t){if(e.column()||(t.context=0),e.eatSpace())return null;var u;if(e.eatWhile(/\w/)){if(i&&e.eat(".")&&e.eatWhile(/\w/),u=e.current(),!e.indentation())return e.match(l)?"number":null;if((1==t.context||4==t.context)&&o.test(u))return t.context=4,"var2";if(2==t.context&&a.test(u))return t.context=4,"var3";if(n.test(u))return t.context=1,"keyword";if(r.test(u))return t.context=2,"keyword";if(4==t.context&&l.test(u))return"number";if(s.test(u))return"error"}else{if(e.eat(";"))return e.skipToEnd(),"comment";if(e.eat('"')){for(;(u=e.next())&&'"'!=u;)"\\"==u&&e.next();return"string"}if(e.eat("'")){if(e.match(/\\?.'/))return"number"}else if(e.eat(".")||e.sol()&&e.eat("#")){if(t.context=5,e.eatWhile(/\w/))return"def"}else if(e.eat("$")){if(e.eatWhile(/[\da-f]/i))return"number"}else if(e.eat("%")){if(e.eatWhile(/[01]/))return"number"}else e.next()}return null}}})),e.defineMIME("text/x-z80","z80"),e.defineMIME("text/x-ez80",{name:"z80",ez80:!0})}(n(23326))},52106:(e,t,n)=>{var r={"./apl/apl.js":66317,"./asciiarmor/asciiarmor.js":64617,"./asn.1/asn.1.js":34474,"./asterisk/asterisk.js":94147,"./brainfuck/brainfuck.js":91352,"./clike/clike.js":80011,"./clojure/clojure.js":3463,"./cmake/cmake.js":26055,"./cobol/cobol.js":25619,"./coffeescript/coffeescript.js":86386,"./commonlisp/commonlisp.js":98824,"./crystal/crystal.js":67400,"./css/css.js":98627,"./cypher/cypher.js":28320,"./d/d.js":76184,"./dart/dart.js":31061,"./diff/diff.js":16357,"./django/django.js":51872,"./dockerfile/dockerfile.js":72694,"./dtd/dtd.js":39974,"./dylan/dylan.js":49024,"./ebnf/ebnf.js":5807,"./ecl/ecl.js":53002,"./eiffel/eiffel.js":57921,"./elm/elm.js":12589,"./erlang/erlang.js":93710,"./factor/factor.js":20601,"./fcl/fcl.js":5801,"./forth/forth.js":45729,"./fortran/fortran.js":81640,"./gas/gas.js":37471,"./gfm/gfm.js":48239,"./gherkin/gherkin.js":41028,"./go/go.js":68459,"./groovy/groovy.js":36275,"./haml/haml.js":88099,"./handlebars/handlebars.js":16791,"./haskell-literate/haskell-literate.js":93476,"./haskell/haskell.js":88216,"./haxe/haxe.js":45930,"./htmlembedded/htmlembedded.js":39119,"./htmlmixed/htmlmixed.js":38425,"./http/http.js":58527,"./idl/idl.js":63647,"./javascript/javascript.js":49055,"./jinja2/jinja2.js":81032,"./jsx/jsx.js":27968,"./julia/julia.js":38519,"./livescript/livescript.js":70688,"./lua/lua.js":41574,"./markdown/markdown.js":48033,"./mathematica/mathematica.js":87448,"./mbox/mbox.js":80704,"./mirc/mirc.js":13038,"./mllike/mllike.js":65994,"./modelica/modelica.js":51755,"./mscgen/mscgen.js":88907,"./mumps/mumps.js":81482,"./nginx/nginx.js":77549,"./nsis/nsis.js":13939,"./ntriples/ntriples.js":53921,"./octave/octave.js":55118,"./oz/oz.js":46768,"./pascal/pascal.js":44199,"./pegjs/pegjs.js":6575,"./perl/perl.js":82193,"./php/php.js":17134,"./pig/pig.js":20997,"./powershell/powershell.js":50261,"./properties/properties.js":16557,"./protobuf/protobuf.js":38487,"./pug/pug.js":12904,"./puppet/puppet.js":47912,"./python/python.js":56141,"./q/q.js":68106,"./r/r.js":32848,"./rpm/rpm.js":87660,"./rst/rst.js":93315,"./ruby/ruby.js":53019,"./rust/rust.js":56987,"./sas/sas.js":17547,"./sass/sass.js":67838,"./scheme/scheme.js":84169,"./shell/shell.js":25397,"./sieve/sieve.js":84712,"./slim/slim.js":1051,"./smalltalk/smalltalk.js":57434,"./smarty/smarty.js":69595,"./solr/solr.js":83172,"./soy/soy.js":34785,"./sparql/sparql.js":16683,"./spreadsheet/spreadsheet.js":77977,"./sql/sql.js":14149,"./stex/stex.js":38234,"./stylus/stylus.js":98660,"./swift/swift.js":93251,"./tcl/tcl.js":27220,"./textile/textile.js":17028,"./tiddlywiki/tiddlywiki.js":2362,"./tiki/tiki.js":19750,"./toml/toml.js":218,"./tornado/tornado.js":87815,"./troff/troff.js":40957,"./ttcn-cfg/ttcn-cfg.js":78175,"./ttcn/ttcn.js":95655,"./turtle/turtle.js":42944,"./twig/twig.js":21649,"./vb/vb.js":35053,"./vbscript/vbscript.js":29048,"./velocity/velocity.js":8989,"./verilog/verilog.js":24454,"./vhdl/vhdl.js":41838,"./vue/vue.js":58568,"./wast/wast.js":69693,"./webidl/webidl.js":29178,"./xml/xml.js":9812,"./xquery/xquery.js":58757,"./yacas/yacas.js":82644,"./yaml-frontmatter/yaml-frontmatter.js":19515,"./yaml/yaml.js":35306,"./z80/z80.js":76215};function i(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}i.keys=function(){return Object.keys(r)},i.resolve=o,e.exports=i,i.id=52106},38925:e=>{"use strict";e.exports=function(e){return String(e).replace(/\s+/g," ")}},97327:(e,t)=>{"use strict";t.parse=function(e){for(var t,r=[],o=String(e||i),a=o.indexOf(n),s=0,l=!1;!l;)-1===a&&(a=o.length,l=!0),!(t=o.slice(s,a).trim())&&l||r.push(t),s=a+1,a=o.indexOf(n,s);return r},t.stringify=function(e,t){var o=t||{},a=!1===o.padLeft?i:r,s=o.padRight?r:i;return e[e.length-1]===i&&(e=e.concat(i)),e.join(s+n+a).trim()};var n=",",r=" ",i=""},64114:e=>{e.exports=function(e,n){for(var r=[],i=0;i{"use strict";var r=n(37320),i={};function o(e,t,n,r,i,o,a,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,i,o,a,s],c=0;(l=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}var a="mixins";e.exports=function(e,t,n){var s=[],l={mixins:"DEFINE_MANY",statics:"DEFINE_MANY",propTypes:"DEFINE_MANY",contextTypes:"DEFINE_MANY",childContextTypes:"DEFINE_MANY",getDefaultProps:"DEFINE_MANY_MERGED",getInitialState:"DEFINE_MANY_MERGED",getChildContext:"DEFINE_MANY_MERGED",render:"DEFINE_ONCE",componentWillMount:"DEFINE_MANY",componentDidMount:"DEFINE_MANY",componentWillReceiveProps:"DEFINE_MANY",shouldComponentUpdate:"DEFINE_ONCE",componentWillUpdate:"DEFINE_MANY",componentDidUpdate:"DEFINE_MANY",componentWillUnmount:"DEFINE_MANY",UNSAFE_componentWillMount:"DEFINE_MANY",UNSAFE_componentWillReceiveProps:"DEFINE_MANY",UNSAFE_componentWillUpdate:"DEFINE_MANY",updateComponent:"OVERRIDE_BASE"},u={getDerivedStateFromProps:"DEFINE_MANY_MERGED"},c={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n{"use strict";var r=n(2784),i=n(15592);if(void 0===r)throw Error("create-react-class could not find the React object. If you are using script tags, make sure that React is being loaded before create-react-class.");var o=(new r.Component).updater;e.exports=i(r.Component,r.isValidElement,o)},29764:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>s});var r=n(40272),i=n.n(r),o=n(82609),a=n.n(o)()(i());a.push([e.id,"/* BASICS */\n\n.CodeMirror {\n /* Set height, width, borders, and global font properties here */\n font-family: monospace;\n height: 300px;\n color: black;\n direction: ltr;\n}\n\n/* PADDING */\n\n.CodeMirror-lines {\n padding: 4px 0; /* Vertical padding around content */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n padding: 0 4px; /* Horizontal padding of content */\n}\n\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n background-color: white; /* The little square between H and V scrollbars */\n}\n\n/* GUTTER */\n\n.CodeMirror-gutters {\n border-right: 1px solid #ddd;\n background-color: #f7f7f7;\n white-space: nowrap;\n}\n.CodeMirror-linenumbers {}\n.CodeMirror-linenumber {\n padding: 0 3px 0 5px;\n min-width: 20px;\n text-align: right;\n color: #999;\n white-space: nowrap;\n}\n\n.CodeMirror-guttermarker { color: black; }\n.CodeMirror-guttermarker-subtle { color: #999; }\n\n/* CURSOR */\n\n.CodeMirror-cursor {\n border-left: 1px solid black;\n border-right: none;\n width: 0;\n}\n/* Shown when moving in bi-directional text */\n.CodeMirror div.CodeMirror-secondarycursor {\n border-left: 1px solid silver;\n}\n.cm-fat-cursor .CodeMirror-cursor {\n width: auto;\n border: 0 !important;\n background: #7e7;\n}\n.cm-fat-cursor div.CodeMirror-cursors {\n z-index: 1;\n}\n.cm-fat-cursor .CodeMirror-line::selection,\n.cm-fat-cursor .CodeMirror-line > span::selection, \n.cm-fat-cursor .CodeMirror-line > span > span::selection { background: transparent; }\n.cm-fat-cursor .CodeMirror-line::-moz-selection,\n.cm-fat-cursor .CodeMirror-line > span::-moz-selection,\n.cm-fat-cursor .CodeMirror-line > span > span::-moz-selection { background: transparent; }\n.cm-fat-cursor { caret-color: transparent; }\n@-moz-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@-webkit-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n\n/* Can style cursor different in overwrite (non-insert) mode */\n.CodeMirror-overwrite .CodeMirror-cursor {}\n\n.cm-tab { display: inline-block; text-decoration: inherit; }\n\n.CodeMirror-rulers {\n position: absolute;\n left: 0; right: 0; top: -50px; bottom: 0;\n overflow: hidden;\n}\n.CodeMirror-ruler {\n border-left: 1px solid #ccc;\n top: 0; bottom: 0;\n position: absolute;\n}\n\n/* DEFAULT THEME */\n\n.cm-s-default .cm-header {color: blue;}\n.cm-s-default .cm-quote {color: #090;}\n.cm-negative {color: #d44;}\n.cm-positive {color: #292;}\n.cm-header, .cm-strong {font-weight: bold;}\n.cm-em {font-style: italic;}\n.cm-link {text-decoration: underline;}\n.cm-strikethrough {text-decoration: line-through;}\n\n.cm-s-default .cm-keyword {color: #708;}\n.cm-s-default .cm-atom {color: #219;}\n.cm-s-default .cm-number {color: #164;}\n.cm-s-default .cm-def {color: #00f;}\n.cm-s-default .cm-variable,\n.cm-s-default .cm-punctuation,\n.cm-s-default .cm-property,\n.cm-s-default .cm-operator {}\n.cm-s-default .cm-variable-2 {color: #05a;}\n.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}\n.cm-s-default .cm-comment {color: #a50;}\n.cm-s-default .cm-string {color: #a11;}\n.cm-s-default .cm-string-2 {color: #f50;}\n.cm-s-default .cm-meta {color: #555;}\n.cm-s-default .cm-qualifier {color: #555;}\n.cm-s-default .cm-builtin {color: #30a;}\n.cm-s-default .cm-bracket {color: #997;}\n.cm-s-default .cm-tag {color: #170;}\n.cm-s-default .cm-attribute {color: #00c;}\n.cm-s-default .cm-hr {color: #999;}\n.cm-s-default .cm-link {color: #00c;}\n\n.cm-s-default .cm-error {color: #f00;}\n.cm-invalidchar {color: #f00;}\n\n.CodeMirror-composing { border-bottom: 2px solid; }\n\n/* Default styles for common addons */\n\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\n.CodeMirror-activeline-background {background: #e8f2ff;}\n\n/* STOP */\n\n/* The rest of this file contains styles related to the mechanics of\n the editor. You probably shouldn't touch them. */\n\n.CodeMirror {\n position: relative;\n overflow: hidden;\n background: white;\n}\n\n.CodeMirror-scroll {\n overflow: scroll !important; /* Things will break if this is overridden */\n /* 50px is the magic margin used to hide the element's real scrollbars */\n /* See overflow: hidden in .CodeMirror */\n margin-bottom: -50px; margin-right: -50px;\n padding-bottom: 50px;\n height: 100%;\n outline: none; /* Prevent dragging from highlighting the element */\n position: relative;\n z-index: 0;\n}\n.CodeMirror-sizer {\n position: relative;\n border-right: 50px solid transparent;\n}\n\n/* The fake, visible scrollbars. Used to force redraw during scrolling\n before actual scrolling happens, thus preventing shaking and\n flickering artifacts. */\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n position: absolute;\n z-index: 6;\n display: none;\n outline: none;\n}\n.CodeMirror-vscrollbar {\n right: 0; top: 0;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n.CodeMirror-hscrollbar {\n bottom: 0; left: 0;\n overflow-y: hidden;\n overflow-x: scroll;\n}\n.CodeMirror-scrollbar-filler {\n right: 0; bottom: 0;\n}\n.CodeMirror-gutter-filler {\n left: 0; bottom: 0;\n}\n\n.CodeMirror-gutters {\n position: absolute; left: 0; top: 0;\n min-height: 100%;\n z-index: 3;\n}\n.CodeMirror-gutter {\n white-space: normal;\n height: 100%;\n display: inline-block;\n vertical-align: top;\n margin-bottom: -50px;\n}\n.CodeMirror-gutter-wrapper {\n position: absolute;\n z-index: 4;\n background: none !important;\n border: none !important;\n}\n.CodeMirror-gutter-background {\n position: absolute;\n top: 0; bottom: 0;\n z-index: 4;\n}\n.CodeMirror-gutter-elt {\n position: absolute;\n cursor: default;\n z-index: 4;\n}\n.CodeMirror-gutter-wrapper ::selection { background-color: transparent }\n.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }\n\n.CodeMirror-lines {\n cursor: text;\n min-height: 1px; /* prevents collapsing before first draw */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n /* Reset some styles that the rest of the page might have set */\n -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\n border-width: 0;\n background: transparent;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n white-space: pre;\n word-wrap: normal;\n line-height: inherit;\n color: inherit;\n z-index: 2;\n position: relative;\n overflow: visible;\n -webkit-tap-highlight-color: transparent;\n -webkit-font-variant-ligatures: contextual;\n font-variant-ligatures: contextual;\n}\n.CodeMirror-wrap pre.CodeMirror-line,\n.CodeMirror-wrap pre.CodeMirror-line-like {\n word-wrap: break-word;\n white-space: pre-wrap;\n word-break: normal;\n}\n\n.CodeMirror-linebackground {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n z-index: 0;\n}\n\n.CodeMirror-linewidget {\n position: relative;\n z-index: 2;\n padding: 0.1px; /* Force widget margins to stay inside of the container */\n}\n\n.CodeMirror-widget {}\n\n.CodeMirror-rtl pre { direction: rtl; }\n\n.CodeMirror-code {\n outline: none;\n}\n\n/* Force content-box sizing for the elements where we expect it */\n.CodeMirror-scroll,\n.CodeMirror-sizer,\n.CodeMirror-gutter,\n.CodeMirror-gutters,\n.CodeMirror-linenumber {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\n\n.CodeMirror-measure {\n position: absolute;\n width: 100%;\n height: 0;\n overflow: hidden;\n visibility: hidden;\n}\n\n.CodeMirror-cursor {\n position: absolute;\n pointer-events: none;\n}\n.CodeMirror-measure pre { position: static; }\n\ndiv.CodeMirror-cursors {\n visibility: hidden;\n position: relative;\n z-index: 3;\n}\ndiv.CodeMirror-dragcursors {\n visibility: visible;\n}\n\n.CodeMirror-focused div.CodeMirror-cursors {\n visibility: visible;\n}\n\n.CodeMirror-selected { background: #d9d9d9; }\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\n.CodeMirror-crosshair { cursor: crosshair; }\n.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }\n.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }\n\n.cm-searching {\n background-color: #ffa;\n background-color: rgba(255, 255, 0, .4);\n}\n\n/* Used to force a border model for a node */\n.cm-force-border { padding-right: .1px; }\n\n@media print {\n /* Hide the cursor when printing */\n .CodeMirror div.CodeMirror-cursors {\n visibility: hidden;\n }\n}\n\n/* See issue #2901 */\n.cm-tab-wrap-hack:after { content: ''; }\n\n/* Help users use markselection to safely style text background */\nspan.CodeMirror-selectedtext { background: none; }\n","",{version:3,sources:["webpack://./../../node_modules/codemirror/lib/codemirror.css"],names:[],mappings:"AAAA,WAAW;;AAEX;EACE,gEAAgE;EAChE,sBAAsB;EACtB,aAAa;EACb,YAAY;EACZ,cAAc;AAChB;;AAEA,YAAY;;AAEZ;EACE,cAAc,EAAE,oCAAoC;AACtD;AACA;;EAEE,cAAc,EAAE,kCAAkC;AACpD;;AAEA;EACE,uBAAuB,EAAE,iDAAiD;AAC5E;;AAEA,WAAW;;AAEX;EACE,4BAA4B;EAC5B,yBAAyB;EACzB,mBAAmB;AACrB;AACA,yBAAyB;AACzB;EACE,oBAAoB;EACpB,eAAe;EACf,iBAAiB;EACjB,WAAW;EACX,mBAAmB;AACrB;;AAEA,2BAA2B,YAAY,EAAE;AACzC,kCAAkC,WAAW,EAAE;;AAE/C,WAAW;;AAEX;EACE,4BAA4B;EAC5B,kBAAkB;EAClB,QAAQ;AACV;AACA,6CAA6C;AAC7C;EACE,6BAA6B;AAC/B;AACA;EACE,WAAW;EACX,oBAAoB;EACpB,gBAAgB;AAClB;AACA;EACE,UAAU;AACZ;AACA;;2DAE2D,uBAAuB,EAAE;AACpF;;gEAEgE,uBAAuB,EAAE;AACzF,iBAAiB,wBAAwB,EAAE;AAC3C;EACE,IAAI;EACJ,MAAM,6BAA6B,EAAE;EACrC,MAAM;AACR;AACA;EACE,IAAI;EACJ,MAAM,6BAA6B,EAAE;EACrC,MAAM;AACR;AACA;EACE,IAAI;EACJ,MAAM,6BAA6B,EAAE;EACrC,MAAM;AACR;;AAEA,8DAA8D;AAC9D,0CAA0C;;AAE1C,UAAU,qBAAqB,EAAE,wBAAwB,EAAE;;AAE3D;EACE,kBAAkB;EAClB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS;EACxC,gBAAgB;AAClB;AACA;EACE,2BAA2B;EAC3B,MAAM,EAAE,SAAS;EACjB,kBAAkB;AACpB;;AAEA,kBAAkB;;AAElB,0BAA0B,WAAW,CAAC;AACtC,yBAAyB,WAAW,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,wBAAwB,iBAAiB,CAAC;AAC1C,QAAQ,kBAAkB,CAAC;AAC3B,UAAU,0BAA0B,CAAC;AACrC,mBAAmB,6BAA6B,CAAC;;AAEjD,2BAA2B,WAAW,CAAC;AACvC,wBAAwB,WAAW,CAAC;AACpC,0BAA0B,WAAW,CAAC;AACtC,uBAAuB,WAAW,CAAC;AACnC;;;4BAG4B;AAC5B,8BAA8B,WAAW,CAAC;AAC1C,sDAAsD,WAAW,CAAC;AAClE,2BAA2B,WAAW,CAAC;AACvC,0BAA0B,WAAW,CAAC;AACtC,4BAA4B,WAAW,CAAC;AACxC,wBAAwB,WAAW,CAAC;AACpC,6BAA6B,WAAW,CAAC;AACzC,2BAA2B,WAAW,CAAC;AACvC,2BAA2B,WAAW,CAAC;AACvC,uBAAuB,WAAW,CAAC;AACnC,6BAA6B,WAAW,CAAC;AACzC,sBAAsB,WAAW,CAAC;AAClC,wBAAwB,WAAW,CAAC;;AAEpC,yBAAyB,WAAW,CAAC;AACrC,iBAAiB,WAAW,CAAC;;AAE7B,wBAAwB,wBAAwB,EAAE;;AAElD,qCAAqC;;AAErC,gDAAgD,WAAW,CAAC;AAC5D,mDAAmD,WAAW,CAAC;AAC/D,0BAA0B,iCAAiC,EAAE;AAC7D,mCAAmC,mBAAmB,CAAC;;AAEvD,SAAS;;AAET;mDACmD;;AAEnD;EACE,kBAAkB;EAClB,gBAAgB;EAChB,iBAAiB;AACnB;;AAEA;EACE,2BAA2B,EAAE,4CAA4C;EACzE,wEAAwE;EACxE,wCAAwC;EACxC,oBAAoB,EAAE,mBAAmB;EACzC,oBAAoB;EACpB,YAAY;EACZ,aAAa,EAAE,mDAAmD;EAClE,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,kBAAkB;EAClB,oCAAoC;AACtC;;AAEA;;0BAE0B;AAC1B;EACE,kBAAkB;EAClB,UAAU;EACV,aAAa;EACb,aAAa;AACf;AACA;EACE,QAAQ,EAAE,MAAM;EAChB,kBAAkB;EAClB,kBAAkB;AACpB;AACA;EACE,SAAS,EAAE,OAAO;EAClB,kBAAkB;EAClB,kBAAkB;AACpB;AACA;EACE,QAAQ,EAAE,SAAS;AACrB;AACA;EACE,OAAO,EAAE,SAAS;AACpB;;AAEA;EACE,kBAAkB,EAAE,OAAO,EAAE,MAAM;EACnC,gBAAgB;EAChB,UAAU;AACZ;AACA;EACE,mBAAmB;EACnB,YAAY;EACZ,qBAAqB;EACrB,mBAAmB;EACnB,oBAAoB;AACtB;AACA;EACE,kBAAkB;EAClB,UAAU;EACV,2BAA2B;EAC3B,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,MAAM,EAAE,SAAS;EACjB,UAAU;AACZ;AACA;EACE,kBAAkB;EAClB,eAAe;EACf,UAAU;AACZ;AACA,yCAAyC,8BAA8B;AACvE,8CAA8C,8BAA8B;;AAE5E;EACE,YAAY;EACZ,eAAe,EAAE,0CAA0C;AAC7D;AACA;;EAEE,+DAA+D;EAC/D,qBAAqB,EAAE,wBAAwB,EAAE,gBAAgB;EACjE,eAAe;EACf,uBAAuB;EACvB,oBAAoB;EACpB,kBAAkB;EAClB,SAAS;EACT,gBAAgB;EAChB,iBAAiB;EACjB,oBAAoB;EACpB,cAAc;EACd,UAAU;EACV,kBAAkB;EAClB,iBAAiB;EACjB,wCAAwC;EACxC,0CAA0C;EAC1C,kCAAkC;AACpC;AACA;;EAEE,qBAAqB;EACrB,qBAAqB;EACrB,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;EAClB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS;EACpC,UAAU;AACZ;;AAEA;EACE,kBAAkB;EAClB,UAAU;EACV,cAAc,EAAE,yDAAyD;AAC3E;;AAEA,oBAAoB;;AAEpB,sBAAsB,cAAc,EAAE;;AAEtC;EACE,aAAa;AACf;;AAEA,iEAAiE;AACjE;;;;;EAKE,4BAA4B;EAC5B,uBAAuB;AACzB;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,gBAAgB;EAChB,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;EAClB,oBAAoB;AACtB;AACA,0BAA0B,gBAAgB,EAAE;;AAE5C;EACE,kBAAkB;EAClB,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,mBAAmB;AACrB;;AAEA;EACE,mBAAmB;AACrB;;AAEA,uBAAuB,mBAAmB,EAAE;AAC5C,2CAA2C,mBAAmB,EAAE;AAChE,wBAAwB,iBAAiB,EAAE;AAC3C,6GAA6G,mBAAmB,EAAE;AAClI,4HAA4H,mBAAmB,EAAE;;AAEjJ;EACE,sBAAsB;EACtB,uCAAuC;AACzC;;AAEA,4CAA4C;AAC5C,mBAAmB,mBAAmB,EAAE;;AAExC;EACE,kCAAkC;EAClC;IACE,kBAAkB;EACpB;AACF;;AAEA,oBAAoB;AACpB,0BAA0B,WAAW,EAAE;;AAEvC,iEAAiE;AACjE,+BAA+B,gBAAgB,EAAE",sourcesContent:["/* BASICS */\n\n.CodeMirror {\n /* Set height, width, borders, and global font properties here */\n font-family: monospace;\n height: 300px;\n color: black;\n direction: ltr;\n}\n\n/* PADDING */\n\n.CodeMirror-lines {\n padding: 4px 0; /* Vertical padding around content */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n padding: 0 4px; /* Horizontal padding of content */\n}\n\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n background-color: white; /* The little square between H and V scrollbars */\n}\n\n/* GUTTER */\n\n.CodeMirror-gutters {\n border-right: 1px solid #ddd;\n background-color: #f7f7f7;\n white-space: nowrap;\n}\n.CodeMirror-linenumbers {}\n.CodeMirror-linenumber {\n padding: 0 3px 0 5px;\n min-width: 20px;\n text-align: right;\n color: #999;\n white-space: nowrap;\n}\n\n.CodeMirror-guttermarker { color: black; }\n.CodeMirror-guttermarker-subtle { color: #999; }\n\n/* CURSOR */\n\n.CodeMirror-cursor {\n border-left: 1px solid black;\n border-right: none;\n width: 0;\n}\n/* Shown when moving in bi-directional text */\n.CodeMirror div.CodeMirror-secondarycursor {\n border-left: 1px solid silver;\n}\n.cm-fat-cursor .CodeMirror-cursor {\n width: auto;\n border: 0 !important;\n background: #7e7;\n}\n.cm-fat-cursor div.CodeMirror-cursors {\n z-index: 1;\n}\n.cm-fat-cursor .CodeMirror-line::selection,\n.cm-fat-cursor .CodeMirror-line > span::selection, \n.cm-fat-cursor .CodeMirror-line > span > span::selection { background: transparent; }\n.cm-fat-cursor .CodeMirror-line::-moz-selection,\n.cm-fat-cursor .CodeMirror-line > span::-moz-selection,\n.cm-fat-cursor .CodeMirror-line > span > span::-moz-selection { background: transparent; }\n.cm-fat-cursor { caret-color: transparent; }\n@-moz-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@-webkit-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n\n/* Can style cursor different in overwrite (non-insert) mode */\n.CodeMirror-overwrite .CodeMirror-cursor {}\n\n.cm-tab { display: inline-block; text-decoration: inherit; }\n\n.CodeMirror-rulers {\n position: absolute;\n left: 0; right: 0; top: -50px; bottom: 0;\n overflow: hidden;\n}\n.CodeMirror-ruler {\n border-left: 1px solid #ccc;\n top: 0; bottom: 0;\n position: absolute;\n}\n\n/* DEFAULT THEME */\n\n.cm-s-default .cm-header {color: blue;}\n.cm-s-default .cm-quote {color: #090;}\n.cm-negative {color: #d44;}\n.cm-positive {color: #292;}\n.cm-header, .cm-strong {font-weight: bold;}\n.cm-em {font-style: italic;}\n.cm-link {text-decoration: underline;}\n.cm-strikethrough {text-decoration: line-through;}\n\n.cm-s-default .cm-keyword {color: #708;}\n.cm-s-default .cm-atom {color: #219;}\n.cm-s-default .cm-number {color: #164;}\n.cm-s-default .cm-def {color: #00f;}\n.cm-s-default .cm-variable,\n.cm-s-default .cm-punctuation,\n.cm-s-default .cm-property,\n.cm-s-default .cm-operator {}\n.cm-s-default .cm-variable-2 {color: #05a;}\n.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}\n.cm-s-default .cm-comment {color: #a50;}\n.cm-s-default .cm-string {color: #a11;}\n.cm-s-default .cm-string-2 {color: #f50;}\n.cm-s-default .cm-meta {color: #555;}\n.cm-s-default .cm-qualifier {color: #555;}\n.cm-s-default .cm-builtin {color: #30a;}\n.cm-s-default .cm-bracket {color: #997;}\n.cm-s-default .cm-tag {color: #170;}\n.cm-s-default .cm-attribute {color: #00c;}\n.cm-s-default .cm-hr {color: #999;}\n.cm-s-default .cm-link {color: #00c;}\n\n.cm-s-default .cm-error {color: #f00;}\n.cm-invalidchar {color: #f00;}\n\n.CodeMirror-composing { border-bottom: 2px solid; }\n\n/* Default styles for common addons */\n\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\n.CodeMirror-activeline-background {background: #e8f2ff;}\n\n/* STOP */\n\n/* The rest of this file contains styles related to the mechanics of\n the editor. You probably shouldn't touch them. */\n\n.CodeMirror {\n position: relative;\n overflow: hidden;\n background: white;\n}\n\n.CodeMirror-scroll {\n overflow: scroll !important; /* Things will break if this is overridden */\n /* 50px is the magic margin used to hide the element's real scrollbars */\n /* See overflow: hidden in .CodeMirror */\n margin-bottom: -50px; margin-right: -50px;\n padding-bottom: 50px;\n height: 100%;\n outline: none; /* Prevent dragging from highlighting the element */\n position: relative;\n z-index: 0;\n}\n.CodeMirror-sizer {\n position: relative;\n border-right: 50px solid transparent;\n}\n\n/* The fake, visible scrollbars. Used to force redraw during scrolling\n before actual scrolling happens, thus preventing shaking and\n flickering artifacts. */\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n position: absolute;\n z-index: 6;\n display: none;\n outline: none;\n}\n.CodeMirror-vscrollbar {\n right: 0; top: 0;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n.CodeMirror-hscrollbar {\n bottom: 0; left: 0;\n overflow-y: hidden;\n overflow-x: scroll;\n}\n.CodeMirror-scrollbar-filler {\n right: 0; bottom: 0;\n}\n.CodeMirror-gutter-filler {\n left: 0; bottom: 0;\n}\n\n.CodeMirror-gutters {\n position: absolute; left: 0; top: 0;\n min-height: 100%;\n z-index: 3;\n}\n.CodeMirror-gutter {\n white-space: normal;\n height: 100%;\n display: inline-block;\n vertical-align: top;\n margin-bottom: -50px;\n}\n.CodeMirror-gutter-wrapper {\n position: absolute;\n z-index: 4;\n background: none !important;\n border: none !important;\n}\n.CodeMirror-gutter-background {\n position: absolute;\n top: 0; bottom: 0;\n z-index: 4;\n}\n.CodeMirror-gutter-elt {\n position: absolute;\n cursor: default;\n z-index: 4;\n}\n.CodeMirror-gutter-wrapper ::selection { background-color: transparent }\n.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }\n\n.CodeMirror-lines {\n cursor: text;\n min-height: 1px; /* prevents collapsing before first draw */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n /* Reset some styles that the rest of the page might have set */\n -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\n border-width: 0;\n background: transparent;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n white-space: pre;\n word-wrap: normal;\n line-height: inherit;\n color: inherit;\n z-index: 2;\n position: relative;\n overflow: visible;\n -webkit-tap-highlight-color: transparent;\n -webkit-font-variant-ligatures: contextual;\n font-variant-ligatures: contextual;\n}\n.CodeMirror-wrap pre.CodeMirror-line,\n.CodeMirror-wrap pre.CodeMirror-line-like {\n word-wrap: break-word;\n white-space: pre-wrap;\n word-break: normal;\n}\n\n.CodeMirror-linebackground {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n z-index: 0;\n}\n\n.CodeMirror-linewidget {\n position: relative;\n z-index: 2;\n padding: 0.1px; /* Force widget margins to stay inside of the container */\n}\n\n.CodeMirror-widget {}\n\n.CodeMirror-rtl pre { direction: rtl; }\n\n.CodeMirror-code {\n outline: none;\n}\n\n/* Force content-box sizing for the elements where we expect it */\n.CodeMirror-scroll,\n.CodeMirror-sizer,\n.CodeMirror-gutter,\n.CodeMirror-gutters,\n.CodeMirror-linenumber {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\n\n.CodeMirror-measure {\n position: absolute;\n width: 100%;\n height: 0;\n overflow: hidden;\n visibility: hidden;\n}\n\n.CodeMirror-cursor {\n position: absolute;\n pointer-events: none;\n}\n.CodeMirror-measure pre { position: static; }\n\ndiv.CodeMirror-cursors {\n visibility: hidden;\n position: relative;\n z-index: 3;\n}\ndiv.CodeMirror-dragcursors {\n visibility: visible;\n}\n\n.CodeMirror-focused div.CodeMirror-cursors {\n visibility: visible;\n}\n\n.CodeMirror-selected { background: #d9d9d9; }\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\n.CodeMirror-crosshair { cursor: crosshair; }\n.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }\n.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }\n\n.cm-searching {\n background-color: #ffa;\n background-color: rgba(255, 255, 0, .4);\n}\n\n/* Used to force a border model for a node */\n.cm-force-border { padding-right: .1px; }\n\n@media print {\n /* Hide the cursor when printing */\n .CodeMirror div.CodeMirror-cursors {\n visibility: hidden;\n }\n}\n\n/* See issue #2901 */\n.cm-tab-wrap-hack:after { content: ''; }\n\n/* Help users use markselection to safely style text background */\nspan.CodeMirror-selectedtext { background: none; }\n"],sourceRoot:""}]);const s=a},19467:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>s});var r=n(40272),i=n.n(r),o=n(82609),a=n.n(o)()(i());a.push([e.id,"/*\n Name: material\n Author: Mattia Astorino (http://github.com/equinusocio)\n Website: https://material-theme.site/\n*/\n\n.cm-s-material.CodeMirror {\n background-color: #263238;\n color: #EEFFFF;\n}\n\n.cm-s-material .CodeMirror-gutters {\n background: #263238;\n color: #546E7A;\n border: none;\n}\n\n.cm-s-material .CodeMirror-guttermarker,\n.cm-s-material .CodeMirror-guttermarker-subtle,\n.cm-s-material .CodeMirror-linenumber {\n color: #546E7A;\n}\n\n.cm-s-material .CodeMirror-cursor {\n border-left: 1px solid #FFCC00;\n}\n.cm-s-material.cm-fat-cursor .CodeMirror-cursor {\n background-color: #5d6d5c80 !important;\n}\n.cm-s-material .cm-animate-fat-cursor {\n background-color: #5d6d5c80 !important;\n}\n\n.cm-s-material div.CodeMirror-selected {\n background: rgba(128, 203, 196, 0.2);\n}\n\n.cm-s-material.CodeMirror-focused div.CodeMirror-selected {\n background: rgba(128, 203, 196, 0.2);\n}\n\n.cm-s-material .CodeMirror-line::selection,\n.cm-s-material .CodeMirror-line>span::selection,\n.cm-s-material .CodeMirror-line>span>span::selection {\n background: rgba(128, 203, 196, 0.2);\n}\n\n.cm-s-material .CodeMirror-line::-moz-selection,\n.cm-s-material .CodeMirror-line>span::-moz-selection,\n.cm-s-material .CodeMirror-line>span>span::-moz-selection {\n background: rgba(128, 203, 196, 0.2);\n}\n\n.cm-s-material .CodeMirror-activeline-background {\n background: rgba(0, 0, 0, 0.5);\n}\n\n.cm-s-material .cm-keyword {\n color: #C792EA;\n}\n\n.cm-s-material .cm-operator {\n color: #89DDFF;\n}\n\n.cm-s-material .cm-variable-2 {\n color: #EEFFFF;\n}\n\n.cm-s-material .cm-variable-3,\n.cm-s-material .cm-type {\n color: #f07178;\n}\n\n.cm-s-material .cm-builtin {\n color: #FFCB6B;\n}\n\n.cm-s-material .cm-atom {\n color: #F78C6C;\n}\n\n.cm-s-material .cm-number {\n color: #FF5370;\n}\n\n.cm-s-material .cm-def {\n color: #82AAFF;\n}\n\n.cm-s-material .cm-string {\n color: #C3E88D;\n}\n\n.cm-s-material .cm-string-2 {\n color: #f07178;\n}\n\n.cm-s-material .cm-comment {\n color: #546E7A;\n}\n\n.cm-s-material .cm-variable {\n color: #f07178;\n}\n\n.cm-s-material .cm-tag {\n color: #FF5370;\n}\n\n.cm-s-material .cm-meta {\n color: #FFCB6B;\n}\n\n.cm-s-material .cm-attribute {\n color: #C792EA;\n}\n\n.cm-s-material .cm-property {\n color: #C792EA;\n}\n\n.cm-s-material .cm-qualifier {\n color: #DECB6B;\n}\n\n.cm-s-material .cm-variable-3,\n.cm-s-material .cm-type {\n color: #DECB6B;\n}\n\n\n.cm-s-material .cm-error {\n color: rgba(255, 255, 255, 1.0);\n background-color: #FF5370;\n}\n\n.cm-s-material .CodeMirror-matchingbracket {\n text-decoration: underline;\n color: white !important;\n}\n","",{version:3,sources:["webpack://./../../node_modules/codemirror/theme/material.css"],names:[],mappings:"AAAA;;;;CAIC;;AAED;EACE,yBAAyB;EACzB,cAAc;AAChB;;AAEA;EACE,mBAAmB;EACnB,cAAc;EACd,YAAY;AACd;;AAEA;;;EAGE,cAAc;AAChB;;AAEA;EACE,8BAA8B;AAChC;AACA;EACE,sCAAsC;AACxC;AACA;EACE,sCAAsC;AACxC;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,oCAAoC;AACtC;;AAEA;;;EAGE,oCAAoC;AACtC;;AAEA;;;EAGE,oCAAoC;AACtC;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;;EAEE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;;EAEE,cAAc;AAChB;;;AAGA;EACE,+BAA+B;EAC/B,yBAAyB;AAC3B;;AAEA;EACE,0BAA0B;EAC1B,uBAAuB;AACzB",sourcesContent:["/*\n Name: material\n Author: Mattia Astorino (http://github.com/equinusocio)\n Website: https://material-theme.site/\n*/\n\n.cm-s-material.CodeMirror {\n background-color: #263238;\n color: #EEFFFF;\n}\n\n.cm-s-material .CodeMirror-gutters {\n background: #263238;\n color: #546E7A;\n border: none;\n}\n\n.cm-s-material .CodeMirror-guttermarker,\n.cm-s-material .CodeMirror-guttermarker-subtle,\n.cm-s-material .CodeMirror-linenumber {\n color: #546E7A;\n}\n\n.cm-s-material .CodeMirror-cursor {\n border-left: 1px solid #FFCC00;\n}\n.cm-s-material.cm-fat-cursor .CodeMirror-cursor {\n background-color: #5d6d5c80 !important;\n}\n.cm-s-material .cm-animate-fat-cursor {\n background-color: #5d6d5c80 !important;\n}\n\n.cm-s-material div.CodeMirror-selected {\n background: rgba(128, 203, 196, 0.2);\n}\n\n.cm-s-material.CodeMirror-focused div.CodeMirror-selected {\n background: rgba(128, 203, 196, 0.2);\n}\n\n.cm-s-material .CodeMirror-line::selection,\n.cm-s-material .CodeMirror-line>span::selection,\n.cm-s-material .CodeMirror-line>span>span::selection {\n background: rgba(128, 203, 196, 0.2);\n}\n\n.cm-s-material .CodeMirror-line::-moz-selection,\n.cm-s-material .CodeMirror-line>span::-moz-selection,\n.cm-s-material .CodeMirror-line>span>span::-moz-selection {\n background: rgba(128, 203, 196, 0.2);\n}\n\n.cm-s-material .CodeMirror-activeline-background {\n background: rgba(0, 0, 0, 0.5);\n}\n\n.cm-s-material .cm-keyword {\n color: #C792EA;\n}\n\n.cm-s-material .cm-operator {\n color: #89DDFF;\n}\n\n.cm-s-material .cm-variable-2 {\n color: #EEFFFF;\n}\n\n.cm-s-material .cm-variable-3,\n.cm-s-material .cm-type {\n color: #f07178;\n}\n\n.cm-s-material .cm-builtin {\n color: #FFCB6B;\n}\n\n.cm-s-material .cm-atom {\n color: #F78C6C;\n}\n\n.cm-s-material .cm-number {\n color: #FF5370;\n}\n\n.cm-s-material .cm-def {\n color: #82AAFF;\n}\n\n.cm-s-material .cm-string {\n color: #C3E88D;\n}\n\n.cm-s-material .cm-string-2 {\n color: #f07178;\n}\n\n.cm-s-material .cm-comment {\n color: #546E7A;\n}\n\n.cm-s-material .cm-variable {\n color: #f07178;\n}\n\n.cm-s-material .cm-tag {\n color: #FF5370;\n}\n\n.cm-s-material .cm-meta {\n color: #FFCB6B;\n}\n\n.cm-s-material .cm-attribute {\n color: #C792EA;\n}\n\n.cm-s-material .cm-property {\n color: #C792EA;\n}\n\n.cm-s-material .cm-qualifier {\n color: #DECB6B;\n}\n\n.cm-s-material .cm-variable-3,\n.cm-s-material .cm-type {\n color: #DECB6B;\n}\n\n\n.cm-s-material .cm-error {\n color: rgba(255, 255, 255, 1.0);\n background-color: #FF5370;\n}\n\n.cm-s-material .CodeMirror-matchingbracket {\n text-decoration: underline;\n color: white !important;\n}\n"],sourceRoot:""}]);const s=a},61077:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>s});var r=n(40272),i=n.n(r),o=n(82609),a=n.n(o)()(i());a.push([e.id,'.ol-box {\n box-sizing: border-box;\n border-radius: 2px;\n border: 1.5px solid rgb(179,197,219);\n background-color: rgba(255,255,255,0.4);\n}\n\n.ol-mouse-position {\n top: 8px;\n right: 8px;\n position: absolute;\n}\n\n.ol-scale-line {\n background: rgba(0,60,136,0.3);\n border-radius: 4px;\n bottom: 8px;\n left: 8px;\n padding: 2px;\n position: absolute;\n}\n.ol-scale-line-inner {\n border: 1px solid #eee;\n border-top: none;\n color: #eee;\n font-size: 10px;\n text-align: center;\n margin: 1px;\n will-change: contents, width;\n transition: all 0.25s;\n}\n.ol-scale-singlebar-even{\n background-color: #000000;\n}\n.ol-scale-singlebar-odd{\n background-color: #ffffff;\n}\n.ol-scale-bar {\n position: absolute;\n bottom: 8px;\n left: 8px;\n}\n.ol-scale-step-marker {\n width: 1px;\n height: 15px;\n background-color: #000000;\n float: right;\n z-index: 10;\n}\n.ol-scale-step-text {\n position: absolute;\n bottom: -5px;\n font-size: 12px;\n z-index: 11;\n color: #000000;\n text-shadow: -2px 0 #FFFFFF, 0 2px #FFFFFF, 2px 0 #FFFFFF, 0 -2px #FFFFFF;\n}\n.ol-scale-text {\n position: absolute;\n font-size: 14px;\n text-align: center;\n bottom: 25px;\n color: #000000;\n text-shadow: -2px 0 #FFFFFF, 0 2px #FFFFFF, 2px 0 #FFFFFF, 0 -2px #FFFFFF;\n}\n.ol-scale-singlebar {\n position: relative;\n height: 10px;\n z-index: 9;\n box-sizing: border-box;\n border: 1px solid black;\n}\n\n.ol-unsupported {\n display: none;\n}\n.ol-viewport, .ol-unselectable {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n.ol-viewport canvas {\n all: unset;\n}\n.ol-selectable {\n -webkit-touch-callout: default;\n -webkit-user-select: text;\n -moz-user-select: text;\n -ms-user-select: text;\n user-select: text;\n}\n.ol-grabbing {\n cursor: -webkit-grabbing;\n cursor: -moz-grabbing;\n cursor: grabbing;\n}\n.ol-grab {\n cursor: move;\n cursor: -webkit-grab;\n cursor: -moz-grab;\n cursor: grab;\n}\n.ol-control {\n position: absolute;\n background-color: rgba(255,255,255,0.4);\n border-radius: 4px;\n padding: 2px;\n}\n.ol-control:hover {\n background-color: rgba(255,255,255,0.6);\n}\n.ol-zoom {\n top: .5em;\n left: .5em;\n}\n.ol-rotate {\n top: .5em;\n right: .5em;\n transition: opacity .25s linear, visibility 0s linear;\n}\n.ol-rotate.ol-hidden {\n opacity: 0;\n visibility: hidden;\n transition: opacity .25s linear, visibility 0s linear .25s;\n}\n.ol-zoom-extent {\n top: 4.643em;\n left: .5em;\n}\n.ol-full-screen {\n right: .5em;\n top: .5em;\n}\n\n.ol-control button {\n display: block;\n margin: 1px;\n padding: 0;\n color: white;\n font-weight: bold;\n text-decoration: none;\n font-size: inherit;\n text-align: center;\n height: 1.375em;\n width: 1.375em;\n line-height: .4em;\n background-color: rgba(0,60,136,0.5);\n border: none;\n border-radius: 2px;\n}\n.ol-control button::-moz-focus-inner {\n border: none;\n padding: 0;\n}\n.ol-zoom-extent button {\n line-height: 1.4em;\n}\n.ol-compass {\n display: block;\n font-weight: normal;\n font-size: 1.2em;\n will-change: transform;\n}\n.ol-touch .ol-control button {\n font-size: 1.5em;\n}\n.ol-touch .ol-zoom-extent {\n top: 5.5em;\n}\n.ol-control button:hover,\n.ol-control button:focus {\n text-decoration: none;\n background-color: rgba(0,60,136,0.7);\n}\n.ol-zoom .ol-zoom-in {\n border-radius: 2px 2px 0 0;\n}\n.ol-zoom .ol-zoom-out {\n border-radius: 0 0 2px 2px;\n}\n\n\n.ol-attribution {\n text-align: right;\n bottom: .5em;\n right: .5em;\n max-width: calc(100% - 1.3em);\n display: flex;\n flex-flow: row-reverse;\n align-items: center;\n}\n.ol-attribution a {\n color: rgba(0,60,136,0.7);\n text-decoration: none;\n}\n.ol-attribution ul {\n margin: 0;\n padding: 1px .5em;\n color: #000;\n text-shadow: 0 0 2px #fff;\n font-size: 12px;\n}\n.ol-attribution li {\n display: inline;\n list-style: none;\n}\n.ol-attribution li:not(:last-child):after {\n content: " ";\n}\n.ol-attribution img {\n max-height: 2em;\n max-width: inherit;\n vertical-align: middle;\n}\n.ol-attribution button {\n flex-shrink: 0;\n}\n.ol-attribution.ol-collapsed ul {\n display: none;\n}\n.ol-attribution:not(.ol-collapsed) {\n background: rgba(255,255,255,0.8);\n}\n.ol-attribution.ol-uncollapsible {\n bottom: 0;\n right: 0;\n border-radius: 4px 0 0;\n}\n.ol-attribution.ol-uncollapsible img {\n margin-top: -.2em;\n max-height: 1.6em;\n}\n.ol-attribution.ol-uncollapsible button {\n display: none;\n}\n\n.ol-zoomslider {\n top: 4.5em;\n left: .5em;\n height: 200px;\n}\n.ol-zoomslider button {\n position: relative;\n height: 10px;\n}\n\n.ol-touch .ol-zoomslider {\n top: 5.5em;\n}\n\n.ol-overviewmap {\n left: 0.5em;\n bottom: 0.5em;\n}\n.ol-overviewmap.ol-uncollapsible {\n bottom: 0;\n left: 0;\n border-radius: 0 4px 0 0;\n}\n.ol-overviewmap .ol-overviewmap-map,\n.ol-overviewmap button {\n display: block;\n}\n.ol-overviewmap .ol-overviewmap-map {\n border: 1px solid #7b98bc;\n height: 150px;\n margin: 2px;\n width: 150px;\n}\n.ol-overviewmap:not(.ol-collapsed) button {\n bottom: 2px;\n left: 2px;\n position: absolute;\n}\n.ol-overviewmap.ol-collapsed .ol-overviewmap-map,\n.ol-overviewmap.ol-uncollapsible button {\n display: none;\n}\n.ol-overviewmap:not(.ol-collapsed) {\n background: rgba(255,255,255,0.8);\n}\n.ol-overviewmap-box {\n border: 2px dotted rgba(0,60,136,0.7);\n}\n\n.ol-overviewmap .ol-overviewmap-box:hover {\n cursor: move;\n}\n',"",{version:3,sources:["webpack://./../../node_modules/ol/ol.css"],names:[],mappings:"AAAA;EACE,sBAAsB;EACtB,kBAAkB;EAClB,oCAAoC;EACpC,uCAAuC;AACzC;;AAEA;EACE,QAAQ;EACR,UAAU;EACV,kBAAkB;AACpB;;AAEA;EACE,8BAA8B;EAC9B,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,YAAY;EACZ,kBAAkB;AACpB;AACA;EACE,sBAAsB;EACtB,gBAAgB;EAChB,WAAW;EACX,eAAe;EACf,kBAAkB;EAClB,WAAW;EACX,4BAA4B;EAC5B,qBAAqB;AACvB;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS;AACX;AACA;EACE,UAAU;EACV,YAAY;EACZ,yBAAyB;EACzB,YAAY;EACZ,WAAW;AACb;AACA;EACE,kBAAkB;EAClB,YAAY;EACZ,eAAe;EACf,WAAW;EACX,cAAc;EACd,yEAAyE;AAC3E;AACA;EACE,kBAAkB;EAClB,eAAe;EACf,kBAAkB;EAClB,YAAY;EACZ,cAAc;EACd,yEAAyE;AAC3E;AACA;EACE,kBAAkB;EAClB,YAAY;EACZ,UAAU;EACV,sBAAsB;EACtB,uBAAuB;AACzB;;AAEA;EACE,aAAa;AACf;AACA;EACE,2BAA2B;EAC3B,yBAAyB;EACzB,sBAAsB;EACtB,qBAAqB;EACrB,iBAAiB;EACjB,0CAA0C;AAC5C;AACA;EACE,UAAU;AACZ;AACA;EACE,8BAA8B;EAC9B,yBAAyB;EACzB,sBAAsB;EACtB,qBAAqB;EACrB,iBAAiB;AACnB;AACA;EACE,wBAAwB;EACxB,qBAAqB;EACrB,gBAAgB;AAClB;AACA;EACE,YAAY;EACZ,oBAAoB;EACpB,iBAAiB;EACjB,YAAY;AACd;AACA;EACE,kBAAkB;EAClB,uCAAuC;EACvC,kBAAkB;EAClB,YAAY;AACd;AACA;EACE,uCAAuC;AACzC;AACA;EACE,SAAS;EACT,UAAU;AACZ;AACA;EACE,SAAS;EACT,WAAW;EACX,qDAAqD;AACvD;AACA;EACE,UAAU;EACV,kBAAkB;EAClB,0DAA0D;AAC5D;AACA;EACE,YAAY;EACZ,UAAU;AACZ;AACA;EACE,WAAW;EACX,SAAS;AACX;;AAEA;EACE,cAAc;EACd,WAAW;EACX,UAAU;EACV,YAAY;EACZ,iBAAiB;EACjB,qBAAqB;EACrB,kBAAkB;EAClB,kBAAkB;EAClB,eAAe;EACf,cAAc;EACd,iBAAiB;EACjB,oCAAoC;EACpC,YAAY;EACZ,kBAAkB;AACpB;AACA;EACE,YAAY;EACZ,UAAU;AACZ;AACA;EACE,kBAAkB;AACpB;AACA;EACE,cAAc;EACd,mBAAmB;EACnB,gBAAgB;EAChB,sBAAsB;AACxB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,UAAU;AACZ;AACA;;EAEE,qBAAqB;EACrB,oCAAoC;AACtC;AACA;EACE,0BAA0B;AAC5B;AACA;EACE,0BAA0B;AAC5B;;;AAGA;EACE,iBAAiB;EACjB,YAAY;EACZ,WAAW;EACX,6BAA6B;EAC7B,aAAa;EACb,sBAAsB;EACtB,mBAAmB;AACrB;AACA;EACE,yBAAyB;EACzB,qBAAqB;AACvB;AACA;EACE,SAAS;EACT,iBAAiB;EACjB,WAAW;EACX,yBAAyB;EACzB,eAAe;AACjB;AACA;EACE,eAAe;EACf,gBAAgB;AAClB;AACA;EACE,YAAY;AACd;AACA;EACE,eAAe;EACf,kBAAkB;EAClB,sBAAsB;AACxB;AACA;EACE,cAAc;AAChB;AACA;EACE,aAAa;AACf;AACA;EACE,iCAAiC;AACnC;AACA;EACE,SAAS;EACT,QAAQ;EACR,sBAAsB;AACxB;AACA;EACE,iBAAiB;EACjB,iBAAiB;AACnB;AACA;EACE,aAAa;AACf;;AAEA;EACE,UAAU;EACV,UAAU;EACV,aAAa;AACf;AACA;EACE,kBAAkB;EAClB,YAAY;AACd;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,WAAW;EACX,aAAa;AACf;AACA;EACE,SAAS;EACT,OAAO;EACP,wBAAwB;AAC1B;AACA;;EAEE,cAAc;AAChB;AACA;EACE,yBAAyB;EACzB,aAAa;EACb,WAAW;EACX,YAAY;AACd;AACA;EACE,WAAW;EACX,SAAS;EACT,kBAAkB;AACpB;AACA;;EAEE,aAAa;AACf;AACA;EACE,iCAAiC;AACnC;AACA;EACE,qCAAqC;AACvC;;AAEA;EACE,YAAY;AACd",sourcesContent:['.ol-box {\n box-sizing: border-box;\n border-radius: 2px;\n border: 1.5px solid rgb(179,197,219);\n background-color: rgba(255,255,255,0.4);\n}\n\n.ol-mouse-position {\n top: 8px;\n right: 8px;\n position: absolute;\n}\n\n.ol-scale-line {\n background: rgba(0,60,136,0.3);\n border-radius: 4px;\n bottom: 8px;\n left: 8px;\n padding: 2px;\n position: absolute;\n}\n.ol-scale-line-inner {\n border: 1px solid #eee;\n border-top: none;\n color: #eee;\n font-size: 10px;\n text-align: center;\n margin: 1px;\n will-change: contents, width;\n transition: all 0.25s;\n}\n.ol-scale-singlebar-even{\n background-color: #000000;\n}\n.ol-scale-singlebar-odd{\n background-color: #ffffff;\n}\n.ol-scale-bar {\n position: absolute;\n bottom: 8px;\n left: 8px;\n}\n.ol-scale-step-marker {\n width: 1px;\n height: 15px;\n background-color: #000000;\n float: right;\n z-index: 10;\n}\n.ol-scale-step-text {\n position: absolute;\n bottom: -5px;\n font-size: 12px;\n z-index: 11;\n color: #000000;\n text-shadow: -2px 0 #FFFFFF, 0 2px #FFFFFF, 2px 0 #FFFFFF, 0 -2px #FFFFFF;\n}\n.ol-scale-text {\n position: absolute;\n font-size: 14px;\n text-align: center;\n bottom: 25px;\n color: #000000;\n text-shadow: -2px 0 #FFFFFF, 0 2px #FFFFFF, 2px 0 #FFFFFF, 0 -2px #FFFFFF;\n}\n.ol-scale-singlebar {\n position: relative;\n height: 10px;\n z-index: 9;\n box-sizing: border-box;\n border: 1px solid black;\n}\n\n.ol-unsupported {\n display: none;\n}\n.ol-viewport, .ol-unselectable {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n.ol-viewport canvas {\n all: unset;\n}\n.ol-selectable {\n -webkit-touch-callout: default;\n -webkit-user-select: text;\n -moz-user-select: text;\n -ms-user-select: text;\n user-select: text;\n}\n.ol-grabbing {\n cursor: -webkit-grabbing;\n cursor: -moz-grabbing;\n cursor: grabbing;\n}\n.ol-grab {\n cursor: move;\n cursor: -webkit-grab;\n cursor: -moz-grab;\n cursor: grab;\n}\n.ol-control {\n position: absolute;\n background-color: rgba(255,255,255,0.4);\n border-radius: 4px;\n padding: 2px;\n}\n.ol-control:hover {\n background-color: rgba(255,255,255,0.6);\n}\n.ol-zoom {\n top: .5em;\n left: .5em;\n}\n.ol-rotate {\n top: .5em;\n right: .5em;\n transition: opacity .25s linear, visibility 0s linear;\n}\n.ol-rotate.ol-hidden {\n opacity: 0;\n visibility: hidden;\n transition: opacity .25s linear, visibility 0s linear .25s;\n}\n.ol-zoom-extent {\n top: 4.643em;\n left: .5em;\n}\n.ol-full-screen {\n right: .5em;\n top: .5em;\n}\n\n.ol-control button {\n display: block;\n margin: 1px;\n padding: 0;\n color: white;\n font-weight: bold;\n text-decoration: none;\n font-size: inherit;\n text-align: center;\n height: 1.375em;\n width: 1.375em;\n line-height: .4em;\n background-color: rgba(0,60,136,0.5);\n border: none;\n border-radius: 2px;\n}\n.ol-control button::-moz-focus-inner {\n border: none;\n padding: 0;\n}\n.ol-zoom-extent button {\n line-height: 1.4em;\n}\n.ol-compass {\n display: block;\n font-weight: normal;\n font-size: 1.2em;\n will-change: transform;\n}\n.ol-touch .ol-control button {\n font-size: 1.5em;\n}\n.ol-touch .ol-zoom-extent {\n top: 5.5em;\n}\n.ol-control button:hover,\n.ol-control button:focus {\n text-decoration: none;\n background-color: rgba(0,60,136,0.7);\n}\n.ol-zoom .ol-zoom-in {\n border-radius: 2px 2px 0 0;\n}\n.ol-zoom .ol-zoom-out {\n border-radius: 0 0 2px 2px;\n}\n\n\n.ol-attribution {\n text-align: right;\n bottom: .5em;\n right: .5em;\n max-width: calc(100% - 1.3em);\n display: flex;\n flex-flow: row-reverse;\n align-items: center;\n}\n.ol-attribution a {\n color: rgba(0,60,136,0.7);\n text-decoration: none;\n}\n.ol-attribution ul {\n margin: 0;\n padding: 1px .5em;\n color: #000;\n text-shadow: 0 0 2px #fff;\n font-size: 12px;\n}\n.ol-attribution li {\n display: inline;\n list-style: none;\n}\n.ol-attribution li:not(:last-child):after {\n content: " ";\n}\n.ol-attribution img {\n max-height: 2em;\n max-width: inherit;\n vertical-align: middle;\n}\n.ol-attribution button {\n flex-shrink: 0;\n}\n.ol-attribution.ol-collapsed ul {\n display: none;\n}\n.ol-attribution:not(.ol-collapsed) {\n background: rgba(255,255,255,0.8);\n}\n.ol-attribution.ol-uncollapsible {\n bottom: 0;\n right: 0;\n border-radius: 4px 0 0;\n}\n.ol-attribution.ol-uncollapsible img {\n margin-top: -.2em;\n max-height: 1.6em;\n}\n.ol-attribution.ol-uncollapsible button {\n display: none;\n}\n\n.ol-zoomslider {\n top: 4.5em;\n left: .5em;\n height: 200px;\n}\n.ol-zoomslider button {\n position: relative;\n height: 10px;\n}\n\n.ol-touch .ol-zoomslider {\n top: 5.5em;\n}\n\n.ol-overviewmap {\n left: 0.5em;\n bottom: 0.5em;\n}\n.ol-overviewmap.ol-uncollapsible {\n bottom: 0;\n left: 0;\n border-radius: 0 4px 0 0;\n}\n.ol-overviewmap .ol-overviewmap-map,\n.ol-overviewmap button {\n display: block;\n}\n.ol-overviewmap .ol-overviewmap-map {\n border: 1px solid #7b98bc;\n height: 150px;\n margin: 2px;\n width: 150px;\n}\n.ol-overviewmap:not(.ol-collapsed) button {\n bottom: 2px;\n left: 2px;\n position: absolute;\n}\n.ol-overviewmap.ol-collapsed .ol-overviewmap-map,\n.ol-overviewmap.ol-uncollapsible button {\n display: none;\n}\n.ol-overviewmap:not(.ol-collapsed) {\n background: rgba(255,255,255,0.8);\n}\n.ol-overviewmap-box {\n border: 2px dotted rgba(0,60,136,0.7);\n}\n\n.ol-overviewmap .ol-overviewmap-box:hover {\n cursor: move;\n}\n'],sourceRoot:""}]);const s=a},82609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,i,o){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(r)for(var s=0;s0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=o),n&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=n):c[2]=n),i&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=i):c[4]="".concat(i)),t.push(c))}},t}},40272:e=>{"use strict";e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),i="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(r),o="/*# ".concat(i," */");return[t].concat([o]).join("\n")}return[t].join("\n")}},28879:function(e){e.exports=function(){"use strict";var e=6e4,t=36e5,n="millisecond",r="second",i="minute",o="hour",a="day",s="week",l="month",u="quarter",c="year",d="date",p="Invalid Date",f=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,m={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],n=e%100;return"["+e+(t[(n-20)%10]||t[n]||t[0])+"]"}},g=function(e,t,n){var r=String(e);return!r||r.length>=t?e:""+Array(t+1-r.length).join(n)+e},v={s:g,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?"+":"-")+g(r,2,"0")+":"+g(i,2,"0")},m:function e(t,n){if(t.date()1)return e(a[0])}else{var s=t.name;b[s]=t,i=s}return!r&&i&&(y=i),i||!r&&y},k=function(e,t){if(_(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new C(n)},E=v;E.l=x,E.i=_,E.w=function(e,t){return k(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var C=function(){function m(e){this.$L=x(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[w]=!0}var g=m.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(E.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(f);if(r){var i=r[2]-1||0,o=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,o)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,o)}}return new Date(t)}(e),this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return E},g.isValid=function(){return!(this.$d.toString()===p)},g.isSame=function(e,t){var n=k(e);return this.startOf(t)<=n&&n<=this.endOf(t)},g.isAfter=function(e,t){return k(e)68?1900:2e3)},s=function(e){return function(t){this[e]=+t}},l=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if("Z"===e)return 0;var t=e.match(/([+-]|\d\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:"+"===t[0]?-n:n}(e)}],u=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},c=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?"pm":"PM");return n},d={A:[i,function(e){this.afternoon=c(e,!1)}],a:[i,function(e){this.afternoon=c(e,!0)}],S:[/\d/,function(e){this.milliseconds=100*+e}],SS:[n,function(e){this.milliseconds=10*+e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[r,s("seconds")],ss:[r,s("seconds")],m:[r,s("minutes")],mm:[r,s("minutes")],H:[r,s("hours")],h:[r,s("hours")],HH:[r,s("hours")],hh:[r,s("hours")],D:[r,s("day")],DD:[n,s("day")],Do:[i,function(e){var t=o.ordinal,n=e.match(/\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\[|\]/g,"")===e&&(this.day=r)}],M:[r,s("month")],MM:[n,s("month")],MMM:[i,function(e){var t=u("months"),n=(u("monthsShort")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[i,function(e){var t=u("months").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\d+/,s("year")],YY:[n,function(e){this.year=a(e)}],YYYY:[/\d{4}/,s("year")],Z:l,ZZ:l};function p(n){var r,i;r=n,i=o&&o.formats;for(var a=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),s=a.length,l=0;l-1)return new Date(("X"===t?1e3:1)*e);var r=p(t)(e),i=r.year,o=r.month,a=r.day,s=r.hours,l=r.minutes,u=r.seconds,c=r.milliseconds,d=r.zone,f=new Date,h=a||(i||o?1:f.getDate()),m=i||f.getFullYear(),g=0;i&&!o||(g=o>0?o-1:f.getMonth());var v=s||0,y=l||0,b=u||0,w=c||0;return d?new Date(Date.UTC(m,g,h,v,y,b,w+60*d.offset*1e3)):n?new Date(Date.UTC(m,g,h,v,y,b,w)):new Date(m,g,h,v,y,b,w)}catch(e){return new Date("")}}(t,s,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),c&&t!=this.format(s)&&(this.$d=new Date("")),o={}}else if(s instanceof Array)for(var f=s.length,h=1;h<=f;h+=1){a[1]=s[h-1];var m=n.apply(this,a);if(m.isValid()){this.$d=m.$d,this.$L=m.$L,this.init();break}h===f&&(this.$d=new Date(""))}else i.call(this,e)}}}()},33147:function(e){e.exports=function(){"use strict";var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};return function(t,n,r){var i=n.prototype,o=i.format;r.en.formats=e,i.format=function(t){void 0===t&&(t="YYYY-MM-DDTHH:mm:ssZ");var n=this.$locale().formats,r=function(t,n){return t.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,r,i){var o=i&&i.toUpperCase();return r||n[i]||e[i]||n[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))}(t,void 0===n?{}:n);return o.call(this,r)}}}()},10264:function(e){e.exports=function(){"use strict";var e="minute",t=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(r,i,o){var a=i.prototype;o.utc=function(e){return new i({date:e,utc:!0,args:arguments})},a.utc=function(t){var n=o(this.toDate(),{locale:this.$L,utc:!0});return t?n.add(this.utcOffset(),e):n},a.local=function(){return o(this.toDate(),{locale:this.$L,utc:!1})};var s=a.parse;a.parse=function(e){e.utc&&(this.$u=!0),this.$utils().u(e.$offset)||(this.$offset=e.$offset),s.call(this,e)};var l=a.init;a.init=function(){if(this.$u){var e=this.$d;this.$y=e.getUTCFullYear(),this.$M=e.getUTCMonth(),this.$D=e.getUTCDate(),this.$W=e.getUTCDay(),this.$H=e.getUTCHours(),this.$m=e.getUTCMinutes(),this.$s=e.getUTCSeconds(),this.$ms=e.getUTCMilliseconds()}else l.call(this)};var u=a.utcOffset;a.utcOffset=function(r,i){var o=this.$utils().u;if(o(r))return this.$u?0:o(this.$offset)?u.call(this):this.$offset;if("string"==typeof r&&(r=function(e){void 0===e&&(e="");var r=e.match(t);if(!r)return null;var i=(""+r[0]).match(n)||["-",0,0],o=i[0],a=60*+i[1]+ +i[2];return 0===a?0:"+"===o?a:-a}(r),null===r))return this;var a=Math.abs(r)<=16?60*r:r,s=this;if(i)return s.$offset=a,s.$u=0===r,s;if(0!==r){var l=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(s=this.local().add(a+l,e)).$offset=a,s.$x.$localOffset=l}else s=this.utc();return s};var c=a.format;a.format=function(e){var t=e||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return c.call(this,t)},a.valueOf=function(){var e=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*e},a.isUTC=function(){return!!this.$u},a.toISOString=function(){return this.toDate().toISOString()},a.toString=function(){return this.toDate().toUTCString()};var d=a.toDate;a.toDate=function(e){return"s"===e&&this.$offset?o(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():d.call(this)};var p=a.diff;a.diff=function(e,t,n){if(e&&this.$u===e.$u)return p.call(this,e,t,n);var r=this.local(),i=o(e).local();return p.call(r,i,t,n)}}}()},39714:e=>{"use strict";var t=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===n}(e)}(e)},n="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function r(e,t){return!1!==t.clone&&t.isMergeableObject(e)?s((n=e,Array.isArray(n)?[]:{}),e,t):e;var n}function i(e,t,n){return e.concat(t).map((function(e){return r(e,n)}))}function o(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]}(e))}function a(e,t){try{return t in e}catch(e){return!1}}function s(e,n,l){(l=l||{}).arrayMerge=l.arrayMerge||i,l.isMergeableObject=l.isMergeableObject||t,l.cloneUnlessOtherwiseSpecified=r;var u=Array.isArray(n);return u===Array.isArray(e)?u?l.arrayMerge(e,n,l):function(e,t,n){var i={};return n.isMergeableObject(e)&&o(e).forEach((function(t){i[t]=r(e[t],n)})),o(t).forEach((function(o){(function(e,t){return a(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,o)||(a(e,o)&&n.isMergeableObject(t[o])?i[o]=function(e,t){if(!t.customMerge)return s;var n=t.customMerge(e);return"function"==typeof n?n:s}(o,n)(e[o],t[o],n):i[o]=r(t[o],n))})),i}(e,n,l):r(n,l)}s.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,n){return s(e,n,t)}),{})};var l=s;e.exports=l},75195:(e,t,n)=>{"use strict";var r=n(70999),i=n(48342),o=n(5408),a=n(50326);e.exports=function(e,t,n){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new o("`obj` must be an object or a function`");if("string"!=typeof t&&"symbol"!=typeof t)throw new o("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new o("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new o("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new o("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new o("`loose`, if provided, must be a boolean");var s=arguments.length>3?arguments[3]:null,l=arguments.length>4?arguments[4]:null,u=arguments.length>5?arguments[5]:null,c=arguments.length>6&&arguments[6],d=!!a&&a(e,t);if(r)r(e,t,{configurable:null===u&&d?d.configurable:!u,enumerable:null===s&&d?d.enumerable:!s,value:n,writable:null===l&&d?d.writable:!l});else{if(!c&&(s||l||u))throw new i("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");e[t]=n}}},14926:(e,t,n)=>{"use strict";var r=n(33464),i="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),o=Object.prototype.toString,a=Array.prototype.concat,s=n(75195),l=n(81181)(),u=function(e,t,n,r){if(t in e)if(!0===r){if(e[t]===n)return}else if("function"!=typeof(i=r)||"[object Function]"!==o.call(i)||!r())return;var i;l?s(e,t,n,!0):s(e,t,n)},c=function(e,t){var n=arguments.length>2?arguments[2]:{},o=r(t);i&&(o=a.call(o,Object.getOwnPropertySymbols(t)));for(var s=0;s{"use strict";e.exports=function(e,t){var n,o,a,s=t||4,l=[],u=0,c=0,d=-1;if("string"!=typeof e)throw new Error("detab expected string");for(;c{t.Od=function(e){return e.replace(/[^\u0000-\u007e]/g,(function(e){return r[e]||e}))};for(var n=[{base:" ",chars:" "},{base:"0",chars:"߀"},{base:"A",chars:"ⒶAÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",chars:"Ꜳ"},{base:"AE",chars:"ÆǼǢ"},{base:"AO",chars:"Ꜵ"},{base:"AU",chars:"Ꜷ"},{base:"AV",chars:"ꜸꜺ"},{base:"AY",chars:"Ꜽ"},{base:"B",chars:"ⒷBḂḄḆɃƁ"},{base:"C",chars:"ⒸCꜾḈĆCĈĊČÇƇȻ"},{base:"D",chars:"ⒹDḊĎḌḐḒḎĐƊƉᴅꝹ"},{base:"Dh",chars:"Ð"},{base:"DZ",chars:"DZDŽ"},{base:"Dz",chars:"DzDž"},{base:"E",chars:"ɛⒺEÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎᴇ"},{base:"F",chars:"ꝼⒻFḞƑꝻ"},{base:"G",chars:"ⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾɢ"},{base:"H",chars:"ⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",chars:"ⒾIÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ"},{base:"J",chars:"ⒿJĴɈȷ"},{base:"K",chars:"ⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",chars:"ⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",chars:"LJ"},{base:"Lj",chars:"Lj"},{base:"M",chars:"ⓂMḾṀṂⱮƜϻ"},{base:"N",chars:"ꞤȠⓃNǸŃÑṄŇṆŅṊṈƝꞐᴎ"},{base:"NJ",chars:"NJ"},{base:"Nj",chars:"Nj"},{base:"O",chars:"ⓄOÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ"},{base:"OE",chars:"Œ"},{base:"OI",chars:"Ƣ"},{base:"OO",chars:"Ꝏ"},{base:"OU",chars:"Ȣ"},{base:"P",chars:"ⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",chars:"ⓆQꝖꝘɊ"},{base:"R",chars:"ⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",chars:"ⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",chars:"ⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"Th",chars:"Þ"},{base:"TZ",chars:"Ꜩ"},{base:"U",chars:"ⓊUÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",chars:"ⓋVṼṾƲꝞɅ"},{base:"VY",chars:"Ꝡ"},{base:"W",chars:"ⓌWẀẂŴẆẄẈⱲ"},{base:"X",chars:"ⓍXẊẌ"},{base:"Y",chars:"ⓎYỲÝŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",chars:"ⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",chars:"ⓐaẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐɑ"},{base:"aa",chars:"ꜳ"},{base:"ae",chars:"æǽǣ"},{base:"ao",chars:"ꜵ"},{base:"au",chars:"ꜷ"},{base:"av",chars:"ꜹꜻ"},{base:"ay",chars:"ꜽ"},{base:"b",chars:"ⓑbḃḅḇƀƃɓƂ"},{base:"c",chars:"cⓒćĉċčçḉƈȼꜿↄ"},{base:"d",chars:"ⓓdḋďḍḑḓḏđƌɖɗƋᏧԁꞪ"},{base:"dh",chars:"ð"},{base:"dz",chars:"dzdž"},{base:"e",chars:"ⓔeèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇǝ"},{base:"f",chars:"ⓕfḟƒ"},{base:"ff",chars:"ff"},{base:"fi",chars:"fi"},{base:"fl",chars:"fl"},{base:"ffi",chars:"ffi"},{base:"ffl",chars:"ffl"},{base:"g",chars:"ⓖgǵĝḡğġǧģǥɠꞡꝿᵹ"},{base:"h",chars:"ⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",chars:"ƕ"},{base:"i",chars:"ⓘiìíîĩīĭïḯỉǐȉȋịįḭɨı"},{base:"j",chars:"ⓙjĵǰɉ"},{base:"k",chars:"ⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",chars:"ⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇɭ"},{base:"lj",chars:"lj"},{base:"m",chars:"ⓜmḿṁṃɱɯ"},{base:"n",chars:"ⓝnǹńñṅňṇņṋṉƞɲʼnꞑꞥлԉ"},{base:"nj",chars:"nj"},{base:"o",chars:"ⓞoòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿꝋꝍɵɔᴑ"},{base:"oe",chars:"œ"},{base:"oi",chars:"ƣ"},{base:"oo",chars:"ꝏ"},{base:"ou",chars:"ȣ"},{base:"p",chars:"ⓟpṕṗƥᵽꝑꝓꝕρ"},{base:"q",chars:"ⓠqɋꝗꝙ"},{base:"r",chars:"ⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",chars:"ⓢsśṥŝṡšṧṣṩșşȿꞩꞅẛʂ"},{base:"ss",chars:"ß"},{base:"t",chars:"ⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"th",chars:"þ"},{base:"tz",chars:"ꜩ"},{base:"u",chars:"ⓤuùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",chars:"ⓥvṽṿʋꝟʌ"},{base:"vy",chars:"ꝡ"},{base:"w",chars:"ⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",chars:"ⓧxẋẍ"},{base:"y",chars:"ⓨyỳýŷỹȳẏÿỷẙỵƴɏỿ"},{base:"z",chars:"ⓩzźẑżžẓẕƶȥɀⱬꝣ"}],r={},i=0;i{"use strict";e.exports=function(e){return e=String(e||""),r.test(e)?"rtl":i.test(e)?"ltr":"neutral"};var t="֑-߿יִ-﷽ﹰ-ﻼ",n="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ࠀ-῿‎Ⰰ-﬜︀-﹯﻽-￿",r=new RegExp("^[^"+n+"]*["+t+"]"),i=new RegExp("^[^"+t+"]*["+n+"]")},35368:function(e){e.exports=function(){"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,n){return t=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},t(e,n)}function n(e,r,i){return n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()?Reflect.construct:function(e,n,r){var i=[null];i.push.apply(i,n);var o=new(Function.bind.apply(e,i));return r&&t(o,r.prototype),o},n.apply(null,arguments)}function r(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?n-1:0),i=1;i/gm),H=d(/\${[\w\W]*}/gm),V=d(/^data-[\-\w.\u00B7-\uFFFF]/),G=d(/^aria-[\-\w]+$/),K=d(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Y=d(/^(?:\w+script|data):/i),Z=d(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),X=d(/^html$/i),Q=function(){return"undefined"==typeof window?null:window};return function t(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Q(),i=function(e){return t(e)};if(i.version="2.4.7",i.removed=[],!n||!n.document||9!==n.document.nodeType)return i.isSupported=!1,i;var o=n.document,a=n.document,s=n.DocumentFragment,l=n.HTMLTemplateElement,u=n.Node,d=n.Element,p=n.NodeFilter,f=n.NamedNodeMap,h=void 0===f?n.NamedNodeMap||n.MozNamedAttrMap:f,m=n.HTMLFormElement,g=n.DOMParser,T=n.trustedTypes,J=d.prototype,ee=D(J,"cloneNode"),te=D(J,"nextSibling"),ne=D(J,"childNodes"),re=D(J,"parentNode");if("function"==typeof l){var ie=a.createElement("template");ie.content&&ie.content.ownerDocument&&(a=ie.content.ownerDocument)}var oe=function(t,n){if("object"!==e(t)||"function"!=typeof t.createPolicy)return null;var r=null,i="data-tt-policy-suffix";n.currentScript&&n.currentScript.hasAttribute(i)&&(r=n.currentScript.getAttribute(i));var o="dompurify"+(r?"#"+r:"");try{return t.createPolicy(o,{createHTML:function(e){return e},createScriptURL:function(e){return e}})}catch(e){return console.warn("TrustedTypes policy "+o+" could not be created."),null}}(T,o),ae=oe?oe.createHTML(""):"",se=a,le=se.implementation,ue=se.createNodeIterator,ce=se.createDocumentFragment,de=se.getElementsByTagName,pe=o.importNode,fe={};try{fe=P(a).documentMode?a.documentMode:{}}catch(e){}var he={};i.isSupported="function"==typeof re&&le&&void 0!==le.createHTMLDocument&&9!==fe;var me,ge,ve=$,ye=W,be=H,we=V,_e=G,xe=Y,ke=Z,Ee=K,Ce=null,Se=O({},[].concat(r(R),r(I),r(M),r(N),r(F))),Ae=null,Te=O({},[].concat(r(B),r(z),r(U),r(q))),Oe=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Pe=null,De=null,Re=!0,Ie=!0,Me=!1,Le=!0,Ne=!1,je=!1,Fe=!1,Be=!1,ze=!1,Ue=!1,qe=!1,$e=!0,We=!1,He=!0,Ve=!1,Ge={},Ke=null,Ye=O({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Ze=null,Xe=O({},["audio","video","img","source","image","track"]),Qe=null,Je=O({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),et="http://www.w3.org/1998/Math/MathML",tt="http://www.w3.org/2000/svg",nt="http://www.w3.org/1999/xhtml",rt=nt,it=!1,ot=null,at=O({},[et,tt,nt],_),st=["application/xhtml+xml","text/html"],lt=null,ut=a.createElement("form"),ct=function(e){return e instanceof RegExp||e instanceof Function},dt=function(t){lt&<===t||(t&&"object"===e(t)||(t={}),t=P(t),me=me=-1===st.indexOf(t.PARSER_MEDIA_TYPE)?"text/html":t.PARSER_MEDIA_TYPE,ge="application/xhtml+xml"===me?_:w,Ce="ALLOWED_TAGS"in t?O({},t.ALLOWED_TAGS,ge):Se,Ae="ALLOWED_ATTR"in t?O({},t.ALLOWED_ATTR,ge):Te,ot="ALLOWED_NAMESPACES"in t?O({},t.ALLOWED_NAMESPACES,_):at,Qe="ADD_URI_SAFE_ATTR"in t?O(P(Je),t.ADD_URI_SAFE_ATTR,ge):Je,Ze="ADD_DATA_URI_TAGS"in t?O(P(Xe),t.ADD_DATA_URI_TAGS,ge):Xe,Ke="FORBID_CONTENTS"in t?O({},t.FORBID_CONTENTS,ge):Ye,Pe="FORBID_TAGS"in t?O({},t.FORBID_TAGS,ge):{},De="FORBID_ATTR"in t?O({},t.FORBID_ATTR,ge):{},Ge="USE_PROFILES"in t&&t.USE_PROFILES,Re=!1!==t.ALLOW_ARIA_ATTR,Ie=!1!==t.ALLOW_DATA_ATTR,Me=t.ALLOW_UNKNOWN_PROTOCOLS||!1,Le=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,Ne=t.SAFE_FOR_TEMPLATES||!1,je=t.WHOLE_DOCUMENT||!1,ze=t.RETURN_DOM||!1,Ue=t.RETURN_DOM_FRAGMENT||!1,qe=t.RETURN_TRUSTED_TYPE||!1,Be=t.FORCE_BODY||!1,$e=!1!==t.SANITIZE_DOM,We=t.SANITIZE_NAMED_PROPS||!1,He=!1!==t.KEEP_CONTENT,Ve=t.IN_PLACE||!1,Ee=t.ALLOWED_URI_REGEXP||Ee,rt=t.NAMESPACE||nt,Oe=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&ct(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Oe.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&ct(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Oe.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Oe.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Ne&&(Ie=!1),Ue&&(ze=!0),Ge&&(Ce=O({},r(F)),Ae=[],!0===Ge.html&&(O(Ce,R),O(Ae,B)),!0===Ge.svg&&(O(Ce,I),O(Ae,z),O(Ae,q)),!0===Ge.svgFilters&&(O(Ce,M),O(Ae,z),O(Ae,q)),!0===Ge.mathMl&&(O(Ce,N),O(Ae,U),O(Ae,q))),t.ADD_TAGS&&(Ce===Se&&(Ce=P(Ce)),O(Ce,t.ADD_TAGS,ge)),t.ADD_ATTR&&(Ae===Te&&(Ae=P(Ae)),O(Ae,t.ADD_ATTR,ge)),t.ADD_URI_SAFE_ATTR&&O(Qe,t.ADD_URI_SAFE_ATTR,ge),t.FORBID_CONTENTS&&(Ke===Ye&&(Ke=P(Ke)),O(Ke,t.FORBID_CONTENTS,ge)),He&&(Ce["#text"]=!0),je&&O(Ce,["html","head","body"]),Ce.table&&(O(Ce,["tbody"]),delete Pe.tbody),c&&c(t),lt=t)},pt=O({},["mi","mo","mn","ms","mtext"]),ft=O({},["foreignobject","desc","title","annotation-xml"]),ht=O({},["title","style","font","a","script"]),mt=O({},I);O(mt,M),O(mt,L);var gt=O({},N);O(gt,j);var vt=function(e){b(i.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){try{e.outerHTML=ae}catch(t){e.remove()}}},yt=function(e,t){try{b(i.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){b(i.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!Ae[e])if(ze||Ue)try{vt(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},bt=function(e){var t,n;if(Be)e=""+e;else{var r=x(e,/^[\r\n\t ]+/);n=r&&r[0]}"application/xhtml+xml"===me&&rt===nt&&(e=''+e+"");var i=oe?oe.createHTML(e):e;if(rt===nt)try{t=(new g).parseFromString(i,me)}catch(e){}if(!t||!t.documentElement){t=le.createDocument(rt,"template",null);try{t.documentElement.innerHTML=it?ae:i}catch(e){}}var o=t.body||t.documentElement;return e&&n&&o.insertBefore(a.createTextNode(n),o.childNodes[0]||null),rt===nt?de.call(t,je?"html":"body")[0]:je?t.documentElement:o},wt=function(e){return ue.call(e.ownerDocument||e,e,p.SHOW_ELEMENT|p.SHOW_COMMENT|p.SHOW_TEXT,null,!1)},_t=function(t){return"object"===e(u)?t instanceof u:t&&"object"===e(t)&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName},xt=function(e,t,n){he[e]&&v(he[e],(function(e){e.call(i,t,n,lt)}))},kt=function(e){var t,n;if(xt("beforeSanitizeElements",e,null),(n=e)instanceof m&&("string"!=typeof n.nodeName||"string"!=typeof n.textContent||"function"!=typeof n.removeChild||!(n.attributes instanceof h)||"function"!=typeof n.removeAttribute||"function"!=typeof n.setAttribute||"string"!=typeof n.namespaceURI||"function"!=typeof n.insertBefore||"function"!=typeof n.hasChildNodes))return vt(e),!0;if(S(/[\u0080-\uFFFF]/,e.nodeName))return vt(e),!0;var r=ge(e.nodeName);if(xt("uponSanitizeElement",e,{tagName:r,allowedTags:Ce}),e.hasChildNodes()&&!_t(e.firstElementChild)&&(!_t(e.content)||!_t(e.content.firstElementChild))&&S(/<[/\w]/g,e.innerHTML)&&S(/<[/\w]/g,e.textContent))return vt(e),!0;if("select"===r&&S(/